# Maintainer (Arch): Andreas Radke # Maintainer (Arch): Tom Gundersen # Contributor (Arch): Rémy Oudompheng # Contributor (Arch): Morgan LEFIEUX # Maintainer (Hyperbola): André Silva # Contributor (Hyperbola): Márcio Silva # Contributor (Hyperbola): Jorge López # Maintainer: Omar Vega Ramos # Maintainer: David P. pkgname=hplip pkgver=3.20.6 pkgrel=3 pkgrel+=.par1 epoch=1 pkgdesc="Drivers for HP DeskJet, OfficeJet, Photosmart, Business Inkjet and some LaserJet" pkgdesc+=", without printers with nonfree drivers support and hplip-plugin binary blobs recommendation (Parabola rebranded)" arch=('x86_64') arch+=('i686' 'armv7h') url="https://hplipopensource.com" license=('GPL' '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') replaces=(${pkgname}-libre) conflicts=(${pkgname}-libre) 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 0025-Remove-all-ImageProcessor-functionality-which-is-clo.patch https://launchpadlibrarian.net/480406888/hplip-configure-python.patch python3.diff reproducible-gzip.patch hplip-revert-plugins.patch) sha512sums=('ccd82112afb5ee73f5d027819ab89ba8f52ec36a4b061d314565f95d288be24e045050c3368332eeae50c0fb170f8cb015fdd8dde4b32a08e3758f0f0f4e8e96' 'SKIP' 'f0cf2774e53070406e89614b748e3c45079be889b83d5854340b92093643f6f8b332d6b6e617884d2bdcbef667a84ee5741b07c5fb080bb04925bb454af448d1' '22aeb5b851f78bc6bc62e0bc3da99fecaf42d7604af41e2f3343f8d3666541f7b06b7d1a7d0ddf24f1731ac7b12dfe582375a98e3b94dfa323d6ce954549ca67' '763949a0bc460dcc9faefc86f2a91cf342781bfce696ed0c3826758572dd03ac266bbeb7b6a4f9376ac298d7d3c9c4def42d94921a8e1d1695e39396e36d95ff' '8710e039626878270b8b7bc1569566274d935c84652d758e25ce8fe01c0f44d911148620bb494489e1238201c01f3ba255c19f7dc5c2ff0d45a5f2a79190286b' 'c41d5812ab9b5994e06f82acb0299c69edeaed548f5df2a3578c6c6428223e9cf7ec3b746f6e3071b6c858e2b0552417ba4695e1032ea41657bf852eb3ffc3fe' '5885b223f96706bc09a147b5c141d620846c9058563e986983ca2ab90922cabe891a651d90d5004d45549b3874c40f8a1570a8a79e067d66f1826681111c7e82' '7bad907228b7c2f3c43128f087a2f8e03778760b7a26179ff441c1f60127e2fca08c94dff76baea2469d3a253a8f46b285d0af0f62a6d8738926caf7a10f670b' '0dda7afaa96746a45c4720304338aea2315c983edeb8cdde4fbb98ea18421e64209947f87a374c6333ce777ea0e9565e7c5ad4c8f4c987f17d308466d02f475b') validpgpkeys=('4ABA2F66DBD5A95894910E0673D770CDA59047B9') # HPLIP prepare() { cd "$pkgname"-$pkgver echo "Removing printers not supported with free drivers from the database" # based on https://devel.trisquel.info/trisquel/package-helpers/raw/master/helpers/make-hplip # keep header license sed '/\[/,99999d' data/models/models.dat > mktemp for model in $(grep '\[' data/models/models.dat | sed 's/\[//; s/\]//'); do sed -n "/\[$model\]/,/^$/p;" data/models/models.dat > mktemp1 grep '^download=True' -q mktemp1 && continue grep '^plugin=1' -q mktemp1 && continue grep '^support-type=0' -q mktemp1 && continue cat mktemp1 >> mktemp done sed -i 's/plugin=2/plugin=0/g' mktemp cp mktemp data/models/models.dat rm -v mktemp{,1} # remove nonfree software recommendation - https://labs.parabola.nu/issues/893 sed -i 's/\, requires proprietary plugin//' $(grep -rlI '[,] requires proprietary plugin') echo "Preparing source" # disable insecure update - https://bugs.archlinux.org/task/38083 patch -Np0 -i "${srcdir}"/disable_upgrade.patch # add missing 'include ' 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 # remove binary blob libImageProcessor and all linking - FS#59681 patch -Np1 -i "${srcdir}"/0025-Remove-all-ImageProcessor-functionality-which-is-clo.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 # 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 # why do they disable the plugins for almost all printers??? - FS#67119 patch -Np1 -i ../hplip-revert-plugins.patch export AUTOMAKE='automake --foreign' autoreconf --force --install } build() { cd "$pkgname"-$pkgver #export CFLAGS+=" $(python3-config --includes)" # Fix build with python 3.8 ./configure --prefix=/usr \ --enable-qt5 \ --disable-qt4 \ --enable-hpcups-install \ --enable-cups-drv-install \ --enable-pp-build #--help 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" }