summaryrefslogtreecommitdiff
path: root/libre/hplip/PKGBUILD
blob: e3f22034e2a631079d322ef714412beaea7c0481 (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
# $Id: PKGBUILD 284832 2016-12-27 06:46:54Z bpiotrowski $
# 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 (Hyperbola): André Silva <emulatorman@hyperbola.info>
# Contributor (Hyperbola): Márcio Silva <coadde@hyperbola.info>
# Contributor (Hyperbola): Jorge López <jorginho@hyperbola.info>
# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe>

pkgname=hplip
pkgver=3.18.6
pkgrel=1.parabola2
epoch=1
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' 'custom')
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
        0022-Add-include-cups-ppd.h-in-various-places-as-CUPS-2.2.patch
        0023-Fix-handling-of-unicode-filenames-in-sixext.py.patch
        fix_install.patch
        python.patch)
sha256sums=('0ecf3e68b09480f602de81798ac00774cf8ffe754692e784bbbe0f9b2e337b7d'
            'SKIP'
            'eca366677583122f2e1048103f0d4a2b002a18c1e6d17b0bc71f4067a221fd38'
            'a5ee6546d33db8f41ecea2b377355ce261b3e98d7f9988ee1652f0daebb6d0da'
            '85cd7fa2314f217cf8072a2635bff82831564f842dba245e0619e0630a8fc0f5'
            '6edaedfd3f0925b099632a7052e054f18549be25381689680e8374c869687dc6'
            '7116e9bb1bd9a01b6638dd705671f6e12076b143757edff3273c1cf89a1bbdd1')
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

 # 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
 # fix installation of missing library - FS#59548
# patch -Np1 -i ${srcdir}/fix_install.patch
 # fix python issue - FS#59548
# patch -Np1 -i ${srcdir}/python.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 \
             --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
}