summaryrefslogtreecommitdiff
path: root/libre/hplip/PKGBUILD
blob: d4774789bc320c55024b3fd603ecde797a5d6dc1 (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
113
114
115
116
117
118
119
120
121
122
123
# $Id: PKGBUILD 230306 2015-01-31 09:21:51Z 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: Jorge López <jorginho@lavabit.com>

pkgname=hplip
pkgver=3.14.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' 'mips64el')
url="http://hplipopensource.com"
license=('GPL')
depends=('python2' 'ghostscript>=8.64-6' 'net-snmp>=5.7.1' 'wget' 'foomatic-db-engine')
makedepends=('python2-pyqt4' 'python2-gobject2' 'sane' 'rpcbind' 'cups' 'libusb')
optdepends=('cups: for printing support'
            'python2-dbus: for dbus support'
            'sane: for scanner support'
            'python2-pillow: for commandline scanning support'
            'python2-notify: for Desktop notification support'
            'python2-reportlab: for pdf output in hp-scan'
            'rpcbind: for network support'
            'python2-pyqt4: for running GUI and hp-toolbox'
            'python2-gobject2: 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)
md5sums=('7af44ee1c4312b00d2269c1b25008f73'
         'SKIP'
         'a853ba0eb0883f4bcee00b4277128b29')
validpgpkeys=('4ABA2F66DBD5A95894910E0673D770CDA59047B9') # HPLIP <hplip@hp.com>

prepare() {
 cd $pkgname-$pkgver

 echo "Removing printers not supported with free drivers from the database"

 # based on http://devel.trisquel.info/gitweb/?p=package-helpers.git;a=blob_plain;f=helpers/make-hplip;hb=refs/heads/toutatis revision 4
 # keep header license
 sed  '/\[/,99999d' data/models/models.dat > mktemp

 for model in $(grep '\[' data/models/models.dat | /bin/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}

 echo "Preparing source"
 
 export PYTHON=python2
 
 find . -type f -exec sed -i 's~^#.*env python~#!/usr/bin/env python2~' {} +
 sed -i '1s|#!/usr/bin/python|#!/usr/bin/python2|' doctor.py setup.py makeuri.py logcapture.py base/magic.py
 sed -i '1s|#!/usr/bin/python|#!/usr/bin/python2|' ui/upgradeform.py uninstall.py upgrade.py config_usb_printer.py
 sed -i 's|python ./print.py|python2 ./print.py|' scan.py
 sed -i 's|python ./testpage.py|python2 ./testpage.py|' setup.py
 sed -i 's|python ./setup.py|python2 ./setup.py|' ui4/devmgr5.py ui4/nodevicesdialog.py 
 sed -i 's|python %HOME%|python2 %HOME%|' base/utils.py
 sed -i 's|python ./plugin.py|python2 ./plugin.py|' base/pkit.py
 sed -i 's|/usr/bin/python|/usr/bin/python2|' data/rules/hplip-printer@.service
 
 # 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 \
             --enable-udev-acl-rules #--help

 make
}

package() {
 #cd $pkgname-$pkgver
 cd $pkgname-${pkgver/.a/a}
 make 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
}