PKGBUILDs/extra/hplip/PKGBUILD
2022-03-16 16:22:10 -04:00

114 lines
5.3 KiB
Bash

# 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 to remove x86-only ImageProcessor
pkgname=hplip
pkgver=3.22.2
pkgrel=2
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
0024-fix-possible-stack-buffer.overflows.patch
0001-Remove-ImageProcessor.patch
# use the one from Fedora
hplip-configure-python.patch
python3.diff
reproducible-gzip.patch)
sha512sums=('9cde954a11bae2e2ad6120d8fe103ab52409c906dde4c1e82fa7a9e5e265e0a71e0578e3117a8b4508e2c7c87f05052d32b14b39b89e3e59baf7a4055ac5579f'
'SKIP'
'ee0bd240568a7dbb4dc6ef64dba28ea84c4bedf7d688d054960c686666f8f0bc4562961c40845107ef0c936e60d3e676bffb2a1ba708039690bb0520cda3a525'
'22aeb5b851f78bc6bc62e0bc3da99fecaf42d7604af41e2f3343f8d3666541f7b06b7d1a7d0ddf24f1731ac7b12dfe582375a98e3b94dfa323d6ce954549ca67'
'460f4447faf688981bafebda71b0f144e662368ad87e944cb01834750ae133b1aad2a1c50e6ee168adf972cfe04ca0857da6ff1124d176f93c342f2a1273b962'
'763949a0bc460dcc9faefc86f2a91cf342781bfce696ed0c3826758572dd03ac266bbeb7b6a4f9376ac298d7d3c9c4def42d94921a8e1d1695e39396e36d95ff'
'7f402ed13341ac9a01f28ecdb97effcd15f5fa9d123e554d4dd78e9f5ed01bcf7b4fe7400c53ddf5e7068f9ffd858d8fefe060e2fcacea0a0524145d78e315cc'
'089c102357ea5fd55d81ae76aaff62713f780fd84500c3b92ecd6b2bb11ccdc3a162978548e9a5f9e98a8354a5be3997e416c52daa18eda4621ed79a29d6fea8'
'b8a4c860e90a52ec566ca5a9c7f3a5ecb7386ae76e17b2c6c878073e60eeaf0cb63883b740b4725794be9914e1ab8fc91313efb288395f3095f599c07f54cf14'
'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
# address possible stack buffer overflows - FS#48112 / https://bugs.launchpad.net/hplip/+bug/1544099
patch -Np1 -i "${srcdir}"/0024-fix-possible-stack-buffer.overflows.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}"/0001-Remove-ImageProcessor.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"
}