diff options
author | kitsunyan | 2017-09-11 00:59:06 +0300 |
---|---|---|
committer | kitsunyan | 2017-09-11 00:59:06 +0300 |
commit | 82346adf61e058e5636bba7145b4203def9a3a11 (patch) | |
tree | 3fb3d88a0d963ad8d74ed7822217a95fe49509db | |
download | aur-82346adf61e058e5636bba7145b4203def9a3a11.tar.gz |
Initial commit
-rw-r--r-- | .SRCINFO | 25 | ||||
-rw-r--r-- | PKGBUILD | 85 |
2 files changed, 110 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..c6050551dc69 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,25 @@ +pkgbase = panasonic-mfp + pkgdesc = Minimal drivers pack for Panasonic multi-function printers + pkgver = 2.0.10.1.3.1 + pkgrel = 1 + url = https://panasonic.net/cns/pcc/support/fax/common/table/linuxdriver.html + arch = x86_64 + arch = i686 + license = custom:panasonic + makedepends = vim + depends = libusb-compat + optdepends = cups: printer support + optdepends = sane: scanner support + conflicts = mccgdi + conflicts = panamfs-scan + source_x86_64 = http://cs.psn-web.net/support/fax/common/file/Linux_PrnDriver/Driver_Install_files/mccgdi-2.0.10-x86_64.tar.gz + source_x86_64 = http://cs.psn-web.net/support/fax/common/file/Linux_ScanDriver/panamfs-scan-1.3.1-x86_64.tar.gz + sha256sums_x86_64 = e2532473a3843f859c0207f91483dd4a156a167e5244e7a7fd605578e85163a9 + sha256sums_x86_64 = 01829def2a8ea215c59d60327c085f382c88033054879f178559fa76293d6801 + source_i686 = http://cs.psn-web.net/support/fax/common/file/Linux_PrnDriver/Driver_Install_files/mccgdi-2.0.10-i686.tar.gz + source_i686 = http://cs.psn-web.net/support/fax/common/file/Linux_ScanDriver/panamfs-scan-1.3.1-i686.tar.gz + sha256sums_i686 = 536060e3cc75b54c1f08c1c02aa100a6ba9c82b2a60adc6c6ef939e0c73c72da + sha256sums_i686 = 4f3481370b94790431b71538e9d556f96272689f1da228f08245ffcd604175b8 + +pkgname = panasonic-mfp + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..9f09862efed0 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,85 @@ +# Maintainer: kitsunyan <kitsunyan@inbox.ru> + +pkgname=panasonic-mfp +_pkgname_print=mccgdi +_pkgver_print=2.0.10 +_pkgname_scan=panamfs-scan +_pkgver_scan=1.3.1 +pkgver=${_pkgver_print}.${_pkgver_scan} +pkgrel=1 +pkgdesc='Minimal drivers pack for Panasonic multi-function printers' +arch=('x86_64' 'i686') +url='https://panasonic.net/cns/pcc/support/fax/common/table/linuxdriver.html' +license=('custom:panasonic') +depends=(libusb-compat) +optdepends=('cups: printer support' + 'sane: scanner support') +makedepends=(vim) +conflicts=(mccgdi panamfs-scan) +source_x86_64=("http://cs.psn-web.net/support/fax/common/file/Linux_PrnDriver/Driver_Install_files/${_pkgname_print}-${_pkgver_print}-x86_64.tar.gz" + "http://cs.psn-web.net/support/fax/common/file/Linux_ScanDriver/${_pkgname_scan}-${_pkgver_scan}-x86_64.tar.gz") +source_i686=("http://cs.psn-web.net/support/fax/common/file/Linux_PrnDriver/Driver_Install_files/${_pkgname_print}-${_pkgver_print}-i686.tar.gz" + "http://cs.psn-web.net/support/fax/common/file/Linux_ScanDriver/${_pkgname_scan}-${_pkgver_scan}-i686.tar.gz") +sha256sums_x86_64=('e2532473a3843f859c0207f91483dd4a156a167e5244e7a7fd605578e85163a9' + '01829def2a8ea215c59d60327c085f382c88033054879f178559fa76293d6801') +sha256sums_i686=('536060e3cc75b54c1f08c1c02aa100a6ba9c82b2a60adc6c6ef939e0c73c72da' + '4f3481370b94790431b71538e9d556f96272689f1da228f08245ffcd604175b8') + +package() { + findhere() { find . -mindepth 1 -maxdepth 1 -name "$1"; } + tohex() { xxd -p -c 2147483647; } + hexstr() { printf '%s' "$1" | tohex; } + zeros() { for i in `seq 1 "$1"`; do echo -n '00'; done } + hexsed() { sed "s/`hexstr "$1"`/`hexstr "$2"``zeros $(("${#1}" - "${#2}"))`/g"; } + + cd "$srcdir/${_pkgname_print}-${_pkgver_print}-$arch" + + mkdir -p "$pkgdir/var/spool/.panamfs" + chmod 777 "$pkgdir/var/spool/.panamfs" + + for f in 'L_H0JDJCZAZ_2' 'L_H0JDJCZAZ'; do + install -Dm755 "lib/$f.so.1.0.0" "$pkgdir/usr/lib/$f.so.1.0.0" + ln -sf "$f.so.1.0.0" "$pkgdir/usr/lib/$f.so.1" + ln -sf "$f.so.1" "$pkgdir/usr/lib/$f.so" + done + + mkdir -p "$pkgdir/usr/lib/cups/filter/" + for f in 'L_H0JDGCZAZ'; do + # replace /usr/local path in binary file + cat "filter/$f" | tohex | + hexsed '/usr/local/share/panasonic/printer/data/' '/usr/share/mccgdi/' | + xxd -r -p > "$pkgdir/usr/lib/cups/filter/$f" + chmod 755 "$pkgdir/usr/lib/cups/filter/$f" + done + + for f in `cd ppd && findhere '*.ppd'`; do + install -Dm755 "ppd/$f" "$pkgdir/usr/share/cups/model/panasonic/$f" + done + + for f in `cd data && findhere '*.SPC' && findhere '*.TBL'`; do + install -Dm755 "data/$f" "$pkgdir/usr/share/mccgdi/$f" + done + + install -Dm644 'Version.html' "$pkgdir/usr/share/licenses/$pkgname/LICENSE-${_pkgname_print}" + + cd "$srcdir/${_pkgname_scan}-${_pkgver_scan}-$arch" + + install -Dm755 "sane-backend/libsane-panamfs.so.${_pkgver_scan}" "$pkgdir/usr/lib/sane/libsane-panamfs.so.${_pkgver_scan}" + ln -sf "libsane-panamfs.so.${_pkgver_scan}" "$pkgdir/usr/lib/sane/libsane-panamfs.so.${_pkgver_scan%%.*}" + ln -sf "libsane-panamfs.so.${_pkgver_scan%%.*}" "$pkgdir/usr/lib/sane/libsane-panamfs.so" + + install -Dm644 'sane-backend/panamfs.conf' "$pkgdir/etc/sane.d/panamfs.conf" + install -Dm644 <(echo panamfs) "$pkgdir/etc/sane.d/dll.d/panamfs.dll.conf" + + # generate udev rules based on panamfs.conf file + mkdir -p "$pkgdir/usr/lib/udev/rules.d/" + grep -Po '(?<=^usb )0x[0-9a-f]{4} 0x[0-9a-f]{4}$' 'sane-backend/panamfs.conf' | + sed 's/0x//g' | + while read -r device; do + device=($device) + echo "ATTRS{idVendor}==\"${device[0]}\", ATTRS{idProduct}==\"${device[1]}\", MODE=\"0664\", GROUP=\"scanner\", ENV{libsane_matched}=\"yes\"" + done \ + > "$pkgdir/usr/lib/udev/rules.d/49-sane-panamfs.rules" + + install -Dm644 'Version.html' "$pkgdir/usr/share/licenses/$pkgname/LICENSE-${_pkgname_scan}" +} |