blob: 1a84059207b633bbb4ed9e35952bc0b5971efd67 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
# $Id: PKGBUILD 262044 2016-03-18 13:46:11Z andyrtr $
# Maintainer (Arch): Andreas Radke <andyrtr@archlinux.org>
# Maintainer (Arch): Tom Gundersen <teg@jklm.no>
# Contributor (Arch): Rémy Oudompheng <remy@archlinux.org>
# Contributor (Arch): Morgan LEFIEUX <comete@archlinuxfr.org>
# Maintainer: André Silva <emulatorman@parabola.nu>
# Contributor: Jorge López <jorginho@parabola.nu>
# Contributor: Márcio Silva <coadde@parabola.nu>
pkgname=hplip
pkgver=3.16.3
pkgrel=1.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')
url="http://hplipopensource.com"
license=('GPL')
depends=('python-dbus' 'ghostscript>=8.64-6' 'net-snmp>=5.7.1' 'wget' 'foomatic-db-engine')
makedepends=('python-pyqt4' '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-pyqt4: for running GUI and hp-toolbox'
'python-gobject: for running hp-toolbox'
'libusb: for advanced usb support')
replaces=(${pkgname}-libre)
conflicts=(${pkgname}-libre)
install=hplip.install
source=(http://downloads.sourceforge.net/${pkgname}/$pkgname-$pkgver.tar.gz{,.asc}
disable_upgrade.patch)
sha1sums=('fad988c34fc070431cb3c9a73062073a7e6ba6a1'
'SKIP'
'4ef1b506ff5930ab841945ae9178f28fca1997ad')
validpgpkeys=('4ABA2F66DBD5A95894910E0673D770CDA59047B9') # HPLIP <hplip@hp.com>
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
# 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-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}
# 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
}
|