mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-08 22:45:43 +00:00
added extra/hplip
This commit is contained in:
parent
d450c3672d
commit
2fbccc6e1f
8 changed files with 487 additions and 0 deletions
|
@ -0,0 +1,50 @@
|
||||||
|
From b3a7fa4d4a573cfe0073ae50197f679af7e3a0ac Mon Sep 17 00:00:00 2001
|
||||||
|
From: Till Kamppeter <till.kamppeter@canonical.com>
|
||||||
|
Date: Sat, 24 Sep 2016 10:37:20 +0200
|
||||||
|
Subject: Add 'include <cups/ppd.h>' in various places as CUPS 2.2 moved some
|
||||||
|
definitions to ppd.h
|
||||||
|
|
||||||
|
---
|
||||||
|
configure.in | 2 +-
|
||||||
|
prnt/hpcups/HPCupsFilter.h | 2 ++
|
||||||
|
prnt/hpijs/hpcupsfax.cpp | 1 +
|
||||||
|
3 files changed, 4 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/configure.in b/configure.in
|
||||||
|
index d3a1ddb..eabe14a 100755
|
||||||
|
--- a/configure.in
|
||||||
|
+++ b/configure.in
|
||||||
|
@@ -554,7 +554,7 @@ fi
|
||||||
|
|
||||||
|
if test "$hpijs_only_build" = "no" && test "$hpcups_only_build" = "no"; then
|
||||||
|
AC_CHECK_LIB([cups], [cupsDoFileRequest], [LIBS="$LIBS"], [AC_MSG_ERROR([cannot find libcups support], 9)])
|
||||||
|
- AC_CHECK_HEADERS(cups/cups.h, ,[AC_MSG_ERROR([cannot find cups-devel support], 3)])
|
||||||
|
+ AC_CHECK_HEADERS(cups/cups.h cups/ppd.h, ,[AC_MSG_ERROR([cannot find cups-devel support], 3)])
|
||||||
|
if test "$libusb01_build" = "yes"; then
|
||||||
|
AC_CHECK_LIB([usb], [usb_init], [LIBS="$LIBS"], [AC_MSG_ERROR([cannot find libusb support], 2)])
|
||||||
|
AC_CHECK_HEADERS(usb.h, ,[AC_MSG_ERROR([cannot find libusb-devel support], 11)])
|
||||||
|
diff --git a/prnt/hpcups/HPCupsFilter.h b/prnt/hpcups/HPCupsFilter.h
|
||||||
|
index ff5548e..c517989 100644
|
||||||
|
--- a/prnt/hpcups/HPCupsFilter.h
|
||||||
|
+++ b/prnt/hpcups/HPCupsFilter.h
|
||||||
|
@@ -38,6 +38,8 @@
|
||||||
|
|
||||||
|
#include "dbuscomm.h"
|
||||||
|
|
||||||
|
+#include <cups/ppd.h>
|
||||||
|
+
|
||||||
|
#define DBITMAPFILEHEADER 14
|
||||||
|
#define DBITMAPINFOHEADER 40
|
||||||
|
|
||||||
|
diff --git a/prnt/hpijs/hpcupsfax.cpp b/prnt/hpijs/hpcupsfax.cpp
|
||||||
|
index 8514775..994e50f 100644
|
||||||
|
--- a/prnt/hpijs/hpcupsfax.cpp
|
||||||
|
+++ b/prnt/hpijs/hpcupsfax.cpp
|
||||||
|
@@ -43,6 +43,7 @@
|
||||||
|
#include <arpa/inet.h>
|
||||||
|
#include <math.h>
|
||||||
|
#include <cups/cups.h>
|
||||||
|
+#include <cups/ppd.h>
|
||||||
|
#include <cups/raster.h>
|
||||||
|
#include <string>
|
||||||
|
#ifdef FALSE
|
|
@ -0,0 +1,29 @@
|
||||||
|
From 04b5a1ddac1dd90c5a392f23aaf7df42eae32918 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gaurav Sood <gaurav-sood@invalid-email.launchpad.net>
|
||||||
|
Date: Thu, 4 May 2017 18:32:08 +0200
|
||||||
|
Subject: Fix handling of unicode filenames in sixext.py
|
||||||
|
|
||||||
|
LP: #1480152
|
||||||
|
Closes: #861731
|
||||||
|
---
|
||||||
|
base/sixext.py | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/base/sixext.py b/base/sixext.py
|
||||||
|
index 0bf4fc4f4..311bf72c6 100644
|
||||||
|
--- a/base/sixext.py
|
||||||
|
+++ b/base/sixext.py
|
||||||
|
@@ -110,11 +110,11 @@ if PY3:
|
||||||
|
|
||||||
|
|
||||||
|
def to_string_utf8(s):
|
||||||
|
- return s.decode("utf-8")
|
||||||
|
+ return s.decode("utf-8", 'ignore')
|
||||||
|
|
||||||
|
|
||||||
|
def to_string_latin(s):
|
||||||
|
- return s.decode("latin-1")
|
||||||
|
+ return s.decode("latin-1", 'ignore')
|
||||||
|
|
||||||
|
|
||||||
|
def to_unicode(s, enc=None):
|
47
extra/hplip/0028-Remove-ImageProcessor-binary-installs.patch
Normal file
47
extra/hplip/0028-Remove-ImageProcessor-binary-installs.patch
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
From: Didier Raboud <odyx@debian.org>
|
||||||
|
Date: Tue, 21 Aug 2018 18:18:10 +0200
|
||||||
|
Subject: Remove ImageProcessor binary installs
|
||||||
|
|
||||||
|
---
|
||||||
|
Makefile.am | 14 ++------------
|
||||||
|
1 file changed, 2 insertions(+), 12 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Makefile.am b/Makefile.am
|
||||||
|
index c707e1e..0d8b692 100644
|
||||||
|
--- a/Makefile.am
|
||||||
|
+++ b/Makefile.am
|
||||||
|
@@ -167,7 +167,7 @@ if !HPLIP_CLASS_DRIVER
|
||||||
|
dist_hplip_SCRIPTS = hpssd.py __init__.py hpdio.py
|
||||||
|
endif #HPLIP_CLASS_DRIVER
|
||||||
|
|
||||||
|
-dist_noinst_DATA += prnt/drv/hpijs.drv.in.template prnt/drv/hpcups.drv.in.template prnt/hpcups/libImageProcessor-x86_64.so prnt/hpcups/libImageProcessor-x86_32.so
|
||||||
|
+dist_noinst_DATA += prnt/drv/hpijs.drv.in.template prnt/drv/hpcups.drv.in.template
|
||||||
|
dist_noinst_SCRIPTS += dat2drv.py install.py hplip-install init-suse-firewall init-iptables-firewall class_rpm_build.sh hplipclassdriver.spec createPPD.sh Makefile_dat2drv hpijs-drv
|
||||||
|
|
||||||
|
if !HPLIP_CLASS_DRIVER
|
||||||
|
@@ -595,7 +595,7 @@ hpcups_SOURCES = prnt/hpcups/HPCupsFilter.cpp prnt/hpcups/HPCupsFilter.h prnt/hp
|
||||||
|
prnt/hpcups/ImageProcessor.h
|
||||||
|
|
||||||
|
hpcups_CXXFLAGS = $(APDK_ENDIAN_FLAG) $(DBUS_CFLAGS)
|
||||||
|
-hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lImageProcessor -lcups -lcupsimage -lz $(DBUS_LIBS)
|
||||||
|
+hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lcups -lcupsimage -lz $(DBUS_LIBS)
|
||||||
|
#else
|
||||||
|
#hpcupsdir = $(cupsfilterdir)
|
||||||
|
#hpcups_PROGRAMS = hpcups
|
||||||
|
@@ -687,16 +687,6 @@ endif #HPLIP_CLASS_DRIVER
|
||||||
|
|
||||||
|
install-data-hook:
|
||||||
|
if HPLIP_BUILD
|
||||||
|
- if [ \( "$(UNAME)" = "x86_64" -a -d "$(libdir)/" \) ]; then \
|
||||||
|
- cp prnt/hpcups/libImageProcessor-x86_64.so $(libdir)/ ; \
|
||||||
|
- chmod 775 $(libdir)/libImageProcessor-x86_64.so ; \
|
||||||
|
- ln -sf $(libdir)/libImageProcessor-x86_64.so $(libdir)/libImageProcessor.so ; \
|
||||||
|
- fi; \
|
||||||
|
- if [ \( \( "$(UNAME)" = "i686" -o "$(UNAME)" = "i386" \) -a -d "$(libdir)/" \) ]; then \
|
||||||
|
- cp prnt/hpcups/libImageProcessor-x86_32.so $(libdir)/ ; \
|
||||||
|
- chmod 775 $(libdir)/libImageProcessor-x86_32.so ; \
|
||||||
|
- ln -sf $(libdir)/libImageProcessor-x86_32.so $(libdir)/libImageProcessor.so ; \
|
||||||
|
- fi
|
||||||
|
if !HPLIP_CLASS_DRIVER
|
||||||
|
# If scanner build, add hpaio entry to sane dll.conf.
|
||||||
|
if [ "$(scan_build)" = "yes" ]; then \
|
110
extra/hplip/PKGBUILD
Normal file
110
extra/hplip/PKGBUILD
Normal file
|
@ -0,0 +1,110 @@
|
||||||
|
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
|
||||||
|
# Maintainer: Tom Gundersen <teg@jklm.no>
|
||||||
|
# Contributor : Rémy Oudompheng <remy@archlinux.org>
|
||||||
|
# Contributor: Morgan LEFIEUX <comete@archlinuxfr.org>
|
||||||
|
|
||||||
|
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||||
|
# - patch from debian to remove x86-only ImageProcessor
|
||||||
|
|
||||||
|
pkgname=hplip
|
||||||
|
pkgver=3.21.4
|
||||||
|
pkgrel=1
|
||||||
|
epoch=1
|
||||||
|
pkgdesc="Drivers for HP DeskJet, OfficeJet, Photosmart, Business Inkjet and some LaserJet"
|
||||||
|
arch=('x86_64')
|
||||||
|
url="https://hplipopensource.com"
|
||||||
|
license=('GPL2' 'custom')
|
||||||
|
depends=('python-dbus' 'python-distro' 'ghostscript' 'net-snmp' 'foomatic-db-engine' 'python-gobject' 'libxcrypt')
|
||||||
|
makedepends=('python-pyqt5' 'sane' 'rpcbind' 'cups' 'libusb')
|
||||||
|
optdepends=('cups: for printing support'
|
||||||
|
'sane: for scanner support'
|
||||||
|
'xsane: sane scanner frontend'
|
||||||
|
'python-pillow: for commandline scanning support'
|
||||||
|
'python-reportlab: for pdf output in hp-scan'
|
||||||
|
'rpcbind: for network support'
|
||||||
|
'python-pyqt5: for running GUI and hp-toolbox'
|
||||||
|
'libusb: for advanced usb support'
|
||||||
|
'wget: for network support')
|
||||||
|
# 'hplip-plugin: binary blobs for specific devices (AUR) or run hp-setup to download the plugin'
|
||||||
|
backup=('etc/hp/hplip.conf' 'etc/sane.d/dll.d/hpaio')
|
||||||
|
source=(https://downloads.sourceforge.net/${pkgname}/$pkgname-$pkgver.tar.gz{,.asc}
|
||||||
|
disable_upgrade.patch
|
||||||
|
0022-Add-include-cups-ppd.h-in-various-places-as-CUPS-2.2.patch
|
||||||
|
0023-Fix-handling-of-unicode-filenames-in-sixext.py.patch
|
||||||
|
0028-Remove-ImageProcessor-binary-installs.patch
|
||||||
|
# use the one from Fedora
|
||||||
|
hplip-configure-python.patch
|
||||||
|
python3.diff
|
||||||
|
reproducible-gzip.patch)
|
||||||
|
sha512sums=('3f22433b3d35013025b63163ccd879da203adcec821f9f90748ee8399b370a129ecdffb5889efa57da1dc5c3f45c42f7593d2198d9166240156baf839b55fce6'
|
||||||
|
'SKIP'
|
||||||
|
'ee0bd240568a7dbb4dc6ef64dba28ea84c4bedf7d688d054960c686666f8f0bc4562961c40845107ef0c936e60d3e676bffb2a1ba708039690bb0520cda3a525'
|
||||||
|
'22aeb5b851f78bc6bc62e0bc3da99fecaf42d7604af41e2f3343f8d3666541f7b06b7d1a7d0ddf24f1731ac7b12dfe582375a98e3b94dfa323d6ce954549ca67'
|
||||||
|
'763949a0bc460dcc9faefc86f2a91cf342781bfce696ed0c3826758572dd03ac266bbeb7b6a4f9376ac298d7d3c9c4def42d94921a8e1d1695e39396e36d95ff'
|
||||||
|
'43f6e66cba89b0b8e3dfd0d4d6e2bd6ed8fdaa9315222cefe6166606554d94dca4694ecda13251e38e5560662078d42cc7c895ec01be8e58686700a325d4eebf'
|
||||||
|
'089c102357ea5fd55d81ae76aaff62713f780fd84500c3b92ecd6b2bb11ccdc3a162978548e9a5f9e98a8354a5be3997e416c52daa18eda4621ed79a29d6fea8'
|
||||||
|
'5885b223f96706bc09a147b5c141d620846c9058563e986983ca2ab90922cabe891a651d90d5004d45549b3874c40f8a1570a8a79e067d66f1826681111c7e82'
|
||||||
|
'7bad907228b7c2f3c43128f087a2f8e03778760b7a26179ff441c1f60127e2fca08c94dff76baea2469d3a253a8f46b285d0af0f62a6d8738926caf7a10f670b')
|
||||||
|
validpgpkeys=('4ABA2F66DBD5A95894910E0673D770CDA59047B9') # HPLIP (HP Linux Imaging and Printing) <hplip@hp.com>
|
||||||
|
|
||||||
|
prepare() {
|
||||||
|
cd "$pkgname"-$pkgver
|
||||||
|
|
||||||
|
# disable insecure update - https://bugs.archlinux.org/task/38083
|
||||||
|
patch -Np0 -i "${srcdir}"/disable_upgrade.patch
|
||||||
|
# add missing 'include <cups/ppd.h>' at various places
|
||||||
|
patch -Np1 -i "${srcdir}"/0022-Add-include-cups-ppd.h-in-various-places-as-CUPS-2.2.patch
|
||||||
|
# fix some handling unicode file names FS#58412
|
||||||
|
patch -Np1 -i "${srcdir}"/0023-Fix-handling-of-unicode-filenames-in-sixext.py.patch
|
||||||
|
# Workaround patch for missing Python3 transition of the old
|
||||||
|
# (pre-USB-storage) photo memory card support (pcardext) - Debian patch
|
||||||
|
patch -Np1 -i "${srcdir}"/python3.diff
|
||||||
|
# remove imageprocessor
|
||||||
|
patch -Np1 -i "${srcdir}"/0028-Remove-ImageProcessor-binary-installs.patch
|
||||||
|
|
||||||
|
# https://bugs.launchpad.net/hplip/+bug/1879445
|
||||||
|
# broken scanning - https://bugs.archlinux.org/task/66704
|
||||||
|
patch -Np1 -i ../hplip-configure-python.patch
|
||||||
|
|
||||||
|
# make gzip creation reproducible by removing the timestamp
|
||||||
|
patch -Np1 -i ../reproducible-gzip.patch
|
||||||
|
|
||||||
|
export AUTOMAKE='automake --foreign'
|
||||||
|
autoreconf --force --install
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
cd "$pkgname"-$pkgver
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--enable-qt5 \
|
||||||
|
--disable-qt4 \
|
||||||
|
--enable-hpcups-install \
|
||||||
|
--enable-cups-drv-install \
|
||||||
|
--disable-imageProcessor-build \
|
||||||
|
--enable-pp-build #--help
|
||||||
|
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
|
||||||
|
make
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
cd "$pkgname"-$pkgver
|
||||||
|
make -j1 rulesdir=/usr/lib/udev/rules.d DESTDIR="$pkgdir/" install
|
||||||
|
|
||||||
|
# remove config provided by sane and autostart of hp-daemon
|
||||||
|
rm -rf "$pkgdir"/etc/{sane.d,xdg}
|
||||||
|
install -dm755 "${pkgdir}"/etc/sane.d/dll.d
|
||||||
|
echo hpaio > "${pkgdir}"/etc/sane.d/dll.d/hpaio
|
||||||
|
|
||||||
|
# remove HAL .fdi file because HAL is no longer used
|
||||||
|
rm -vrf "$pkgdir"/usr/share/hal
|
||||||
|
|
||||||
|
# remove rc script
|
||||||
|
rm -vrf "$pkgdir"/etc/init.d
|
||||||
|
|
||||||
|
# add mixed license file
|
||||||
|
install -Dt "${pkgdir}"/usr/share/licenses/${pkgname} -m644 COPYING
|
||||||
|
|
||||||
|
# Compile Python bytecode:
|
||||||
|
python -m compileall -d /usr/share "$pkgdir/usr/share"
|
||||||
|
python -O -m compileall -d /usr/share "$pkgdir/usr/share"
|
||||||
|
}
|
14
extra/hplip/disable_upgrade.patch
Normal file
14
extra/hplip/disable_upgrade.patch
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
--- upgrade.py.orig 2013-10-31 12:46:54.000000000 +0100
|
||||||
|
+++ upgrade.py 2013-12-04 14:58:03.000000000 +0100
|
||||||
|
@@ -134,6 +134,11 @@ except getopt.GetoptError, e:
|
||||||
|
if os.getenv("HPLIP_DEBUG"):
|
||||||
|
log.set_level('debug')
|
||||||
|
|
||||||
|
+
|
||||||
|
+log.error("HPLIP upgrade is disabled by Archlinux for security reasons, see https://bugs.archlinux.org/task/38083 - if you like to upgrade HPLIP, use the Archlinux software package manager pacman.")
|
||||||
|
+clean_exit(1)
|
||||||
|
+
|
||||||
|
+
|
||||||
|
for o, a in opts:
|
||||||
|
if o in ('-h', '--help'):
|
||||||
|
usage()
|
52
extra/hplip/hplip-configure-python.patch
Normal file
52
extra/hplip/hplip-configure-python.patch
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
diff -up hplip-3.20.9/configure.in.configure-python hplip-3.20.9/configure.in
|
||||||
|
--- hplip-3.20.9/configure.in.configure-python 2020-09-23 07:24:27.000000000 +0200
|
||||||
|
+++ hplip-3.20.9/configure.in 2020-10-02 07:27:09.082331431 +0200
|
||||||
|
@@ -604,17 +604,29 @@ if test "$class_driver" = "no" && test "
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
-SAVE_CPPFLAGS="$CPPFLAGS"
|
||||||
|
-CFLAGS=`python-config --includes`
|
||||||
|
-if [ $? -eq 0 ]
|
||||||
|
-then
|
||||||
|
- echo $FLAGS
|
||||||
|
-else
|
||||||
|
-CFLAGS=`python3-config --includes`
|
||||||
|
- if [ $? -eq 0 ]
|
||||||
|
- then
|
||||||
|
- echo $FLAGS
|
||||||
|
- fi
|
||||||
|
+AC_PATH_PROG(python3_config_path, python3-config, [AC_MSG_ERROR([python3-config not installed], 6)])
|
||||||
|
+
|
||||||
|
+PYTHON_INCLUDES=`$python3_config_path --includes`
|
||||||
|
+if test "X$PYTHON_INCLUDES" = "X" ; then
|
||||||
|
+ AC_MSG_ERROR([Cannot get Python includes via python3-config], 6)
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
+PYTHON_LIBS=`$python3_config_path --libs`
|
||||||
|
+if test "X$PYTHON_LIBS" = "X" ; then
|
||||||
|
+ AC_MSG_ERROR([Cannot get Python libs via python3-config], 6)
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
+SAVE_CFLAGS=$CFLAGS
|
||||||
|
+SAVE_LIBS=$LIBS
|
||||||
|
+
|
||||||
|
+CFLAGS="$CFLAGS $PYTHON_INCLUDES"
|
||||||
|
+LIBS="$LIBS $PYTHON_LIBS"
|
||||||
|
+
|
||||||
|
+AC_TRY_LINK(,[ ], AC_MSG_RESULT(yes); python_includes="ok", AC_MSG_ERROR([no: PYTHON DISABLED], 6))
|
||||||
|
+
|
||||||
|
+if test "X$python_includes" != "Xok" ; then
|
||||||
|
+ CFLAGS="$SAVE_CFLAGS"
|
||||||
|
+ LIBS="$SAVE_LIBS"
|
||||||
|
fi
|
||||||
|
|
||||||
|
#CFLAGS=`(python-config --includes)`
|
||||||
|
@@ -631,7 +643,6 @@ if test "$class_driver" = "no" && test "
|
||||||
|
AS_IF([test "x$FOUND_HEADER" != "xyes"],
|
||||||
|
[AC_MSG_ERROR([cannot find python-devel support], 6)])
|
||||||
|
fi
|
||||||
|
-CFLAGS="$save_CFLAGS"
|
||||||
|
|
||||||
|
if test "$hpijs_only_build" = "no" && test "$scan_build" = "yes" && test "$hpcups_only_build" = "no"; then
|
||||||
|
AC_CHECK_LIB([sane], [sane_open], [LIBS="$LIBS"], [AC_MSG_ERROR([cannot find sane-backends-devel support (or --disable-scan-build)], 12)])
|
147
extra/hplip/python3.diff
Normal file
147
extra/hplip/python3.diff
Normal file
|
@ -0,0 +1,147 @@
|
||||||
|
From: Till Kamppeter <till.kamppeter@gmail.com>
|
||||||
|
Date: Fri, 22 Jul 2016 09:33:04 +0200
|
||||||
|
Subject: Workaround patch for missing Python3 transition of the old
|
||||||
|
(pre-USB-storage) photo memory card support (pcardext) as this part builds
|
||||||
|
in Python3 environments but with pointer-related warnings which are fatal
|
||||||
|
errors for Ubuntu's build servers. The patch silences the warnings but the
|
||||||
|
memory card support is dropped in Python3 environments. This patch is
|
||||||
|
supplied by the HPLIP upstream developers and will be replaced by a more
|
||||||
|
proper solution in the next upstream release of HPLIP (see LP: #1275353)
|
||||||
|
|
||||||
|
---
|
||||||
|
pcard/pcardext/pcardext.c | 59 +++++++++++++++++++++++++++++++++++++----------
|
||||||
|
pcard/photocard.py | 2 +-
|
||||||
|
unload.py | 5 ++++
|
||||||
|
3 files changed, 53 insertions(+), 13 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/pcard/pcardext/pcardext.c b/pcard/pcardext/pcardext.c
|
||||||
|
index c1a8273..37d979b 100644
|
||||||
|
--- a/pcard/pcardext/pcardext.c
|
||||||
|
+++ b/pcard/pcardext/pcardext.c
|
||||||
|
@@ -20,7 +20,7 @@ pcardext - Python extension for HP photocard services
|
||||||
|
Requires:
|
||||||
|
Python 2.2+
|
||||||
|
|
||||||
|
-Author: Don Welch
|
||||||
|
+Author: Don Welch
|
||||||
|
|
||||||
|
\*****************************************************************************/
|
||||||
|
|
||||||
|
@@ -38,9 +38,37 @@ typedef int Py_ssize_t;
|
||||||
|
|
||||||
|
int verbose=0;
|
||||||
|
|
||||||
|
+#if PY_MAJOR_VERSION >= 3
|
||||||
|
+ #define MOD_ERROR_VAL NULL
|
||||||
|
+ #define MOD_SUCCESS_VAL(val) val
|
||||||
|
+ #define MOD_INIT(name) PyMODINIT_FUNC PyInit_##name(void)
|
||||||
|
+ #define PyInt_AS_LONG PyLong_AS_LONG
|
||||||
|
+ #define MOD_DEF(ob, name, doc, methods) \
|
||||||
|
+ static struct PyModuleDef moduledef = { \
|
||||||
|
+ PyModuleDef_HEAD_INIT, name, doc, -1, methods, }; \
|
||||||
|
+ ob = PyModule_Create(&moduledef);
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+ #define PY_String_Bytes PyBytes_FromStringAndSize
|
||||||
|
+ #define PY_AsString_Bytes PyBytes_AsStringAndSize
|
||||||
|
+
|
||||||
|
+#else
|
||||||
|
+ #define MOD_ERROR_VAL
|
||||||
|
+ #define MOD_SUCCESS_VAL(val)
|
||||||
|
+ #define MOD_INIT(name) void init##name(void)
|
||||||
|
+ #define MOD_DEF(ob, name, doc, methods) \
|
||||||
|
+ ob = Py_InitModule3(name, methods, doc);
|
||||||
|
+
|
||||||
|
+ #define PY_String_Bytes PyString_FromStringAndSize
|
||||||
|
+ #define PY_AsString_Bytes PyString_AsStringAndSize
|
||||||
|
+
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
PyObject * readsectorFunc = NULL;
|
||||||
|
PyObject * writesectorFunc = NULL;
|
||||||
|
|
||||||
|
+
|
||||||
|
+
|
||||||
|
int ReadSector(int sector, int nsector, void *buf, int size)
|
||||||
|
{
|
||||||
|
PyObject * result;
|
||||||
|
@@ -56,9 +84,13 @@ int ReadSector(int sector, int nsector, void *buf, int size)
|
||||||
|
if( result )
|
||||||
|
{
|
||||||
|
Py_ssize_t len = 0;
|
||||||
|
- PyString_AsStringAndSize( result, &result_str, &len );
|
||||||
|
+
|
||||||
|
+ //PyString_AsStringAndSize( result, &result_str, &len );
|
||||||
|
+ //PyBytes_AsStringAndSize( result, &result_str, &len );
|
||||||
|
+ PY_AsString_Bytes( result, &result_str, &len );
|
||||||
|
|
||||||
|
- if( len < nsector*FAT_HARDSECT )
|
||||||
|
+
|
||||||
|
+ if( len < nsector*FAT_HARDSECT )
|
||||||
|
{
|
||||||
|
goto abort;
|
||||||
|
}
|
||||||
|
@@ -205,7 +237,9 @@ PyObject * pcardext_read( PyObject * self, PyObject * args )
|
||||||
|
|
||||||
|
if( FatReadFileExt( name, offset, len, buffer ) == len )
|
||||||
|
{
|
||||||
|
- return PyString_FromStringAndSize( (char *)buffer, len );
|
||||||
|
+ // return PyString_FromStringAndSize( (char *)buffer, len );
|
||||||
|
+ return PY_String_Bytes( (char *)buffer, len );
|
||||||
|
+ // return PyBytes_FromStringAndSize( (char *)buffer, len );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
@@ -233,14 +267,15 @@ static PyMethodDef pcardext_methods[] =
|
||||||
|
|
||||||
|
static char pcardext_documentation[] = "Python extension for HP photocard services";
|
||||||
|
|
||||||
|
-void initpcardext( void )
|
||||||
|
-{
|
||||||
|
- PyObject * mod = Py_InitModule4( "pcardext", pcardext_methods,
|
||||||
|
- pcardext_documentation, (PyObject*)NULL,
|
||||||
|
- PYTHON_API_VERSION );
|
||||||
|
-
|
||||||
|
- if (mod == NULL)
|
||||||
|
- return;
|
||||||
|
+MOD_INIT(pcardext) {
|
||||||
|
+
|
||||||
|
+ PyObject* mod ;
|
||||||
|
+ MOD_DEF(mod, "pcardext", pcardext_documentation, pcardext_methods);
|
||||||
|
+ if (mod == NULL)
|
||||||
|
+ return MOD_ERROR_VAL;
|
||||||
|
+
|
||||||
|
+ return MOD_SUCCESS_VAL(mod);
|
||||||
|
+
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/pcard/photocard.py b/pcard/photocard.py
|
||||||
|
index 913dc4e..2c73158 100644
|
||||||
|
--- a/pcard/photocard.py
|
||||||
|
+++ b/pcard/photocard.py
|
||||||
|
@@ -30,7 +30,7 @@ from base.codes import *
|
||||||
|
from base import device, utils, exif
|
||||||
|
|
||||||
|
try:
|
||||||
|
- from . import pcardext
|
||||||
|
+ import pcardext
|
||||||
|
except ImportError:
|
||||||
|
if not os.getenv("HPLIP_BUILD"):
|
||||||
|
log.error("PCARDEXT could not be loaded. Please check HPLIP installation.")
|
||||||
|
diff --git a/unload.py b/unload.py
|
||||||
|
index 3fdd5a3..ce8b069 100755
|
||||||
|
--- a/unload.py
|
||||||
|
+++ b/unload.py
|
||||||
|
@@ -44,6 +44,11 @@ except ImportError:
|
||||||
|
|
||||||
|
# Local
|
||||||
|
from base.g import *
|
||||||
|
+from base.sixext import PY3
|
||||||
|
+if PY3:
|
||||||
|
+ log.error("This functionality is not spported in python3 environment.")
|
||||||
|
+ sys.exit(1)
|
||||||
|
+
|
||||||
|
from base import device, utils, tui, module
|
||||||
|
from prnt import cups
|
||||||
|
|
38
extra/hplip/reproducible-gzip.patch
Normal file
38
extra/hplip/reproducible-gzip.patch
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
--- hplip-3.20.5/createPPD.sh 2020-05-11 15:34:06.000000000 +0200
|
||||||
|
+++ hplip-3.20.5.old/createPPD.sh 2020-05-27 12:02:44.089477299 +0200
|
||||||
|
@@ -54,15 +54,15 @@
|
||||||
|
else
|
||||||
|
cp prnt/ps/hp-postscript*.ppd ppd/classppd/ps
|
||||||
|
for i in ppd/classppd/ps/*.ppd; do
|
||||||
|
- gzip -c "$i" > "$i.gz"
|
||||||
|
+ gzip -nc "$i" > "$i.gz"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
#cp prnt/ps/hp-postscript*.ppd.gz ppd/classppd/ps
|
||||||
|
for i in ppd/classppd/hpcups/*.ppd; do
|
||||||
|
- gzip -c "$i" > "$i.gz"
|
||||||
|
+ gzip -nc "$i" > "$i.gz"
|
||||||
|
done
|
||||||
|
#for i in ppd/classppd/ps/*.ppd; do
|
||||||
|
- # gzip -c "$i" > "$i.gz"
|
||||||
|
+ # gzip -nc "$i" > "$i.gz"
|
||||||
|
#done
|
||||||
|
|
||||||
|
cat > class_cups_drv.inc <<EOF
|
||||||
|
@@ -81,14 +81,14 @@
|
||||||
|
install -d ppd/hpcups
|
||||||
|
ppdc -d ppd/hpcups prnt/drv/hpcups.drv
|
||||||
|
for i in ppd/hpcups/*.ppd; do
|
||||||
|
- gzip -c "$i" > "$i.gz"
|
||||||
|
+ gzip -nc "$i" > "$i.gz"
|
||||||
|
done
|
||||||
|
|
||||||
|
install -d ppd/hpijs
|
||||||
|
ppdc -d ppd/hpijs prnt/drv/hpijs.drv
|
||||||
|
echo "gzip ppd files..."
|
||||||
|
for i in ppd/hpijs/*.ppd; do
|
||||||
|
- gzip -c "$i" > "$i.gz"
|
||||||
|
+ gzip -nc "$i" > "$i.gz"
|
||||||
|
done
|
||||||
|
echo "building foomatic_drv.inc..."
|
||||||
|
./hpijs-drv > foomatic_drv.inc $shadow
|
Loading…
Reference in a new issue