# $Id: PKGBUILD 279878 2016-11-06 09:09:08Z andyrtr $ # Maintainer (Arch): Andreas Radke # Maintainer (Arch): Tom Gundersen # Contributor (Arch): Rémy Oudompheng # Contributor (Arch): Morgan LEFIEUX # Maintainer: André Silva # Contributor: Jorge López # Contributor: Márcio Silva pkgname=hplip pkgver=3.16.10 pkgrel=2.parabola1 pkgdesc="Drivers for HP DeskJet, OfficeJet, Photosmart, Business Inkjet and some LaserJet, without printers with nonfree drivers support and hplip-plugin binary blobs recommendation (Parabola rebranded)" arch=('i686' 'x86_64' 'armv7h') url="http://hplipopensource.com" license=('GPL') depends=('python-dbus' 'ghostscript' 'net-snmp' 'foomatic-db-engine') makedepends=('python-pyqt5' 'python-gobject' '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' 'python-gobject: for running 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 fix_tabs.patch 0022-Add-include-cups-ppd.h-in-various-places-as-CUPS-2.2.patch) sha1sums=('e3bc9a0d135232eba412952ca58b63757783e22f' 'SKIP' '4ef1b506ff5930ab841945ae9178f28fca1997ad' 'bd18428ff1e378aa0a299331607eaed82021e34b' '2ef86972ab51c0fdcb8bfc653b9f6f69459449a5') 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 # fix tabs breaking printing; FS#50588 patch -Np0 -i ${srcdir}/fix_tabs.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 # https://bugs.archlinux.org/task/30085 - hack found in Gentoo # Use system foomatic-rip for hpijs driver instead of foomatic-rip-hplip # The hpcups driver does not use foomatic-rip local i for i in ppd/hpijs/*.ppd.gz ; do rm -f ${i}.temp gunzip -c ${i} | sed 's/foomatic-rip-hplip/foomatic-rip/g' | \ gzip > ${i}.temp || return 1 mv ${i}.temp ${i} done export AUTOMAKE='automake --foreign' autoreconf --force --install } build() { cd $pkgname-$pkgver ./configure --prefix=/usr \ --enable-qt5 \ --disable-qt4 \ --disable-foomatic-rip-hplip-install \ --enable-foomatic-ppd-install \ --enable-hpcups-install \ --enable-new-hpcups \ --enable-cups-ppd-install \ --enable-cups-drv-install \ --enable-hpijs-install \ --enable-foomatic-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 }