summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorkitsunyan2017-09-11 00:59:06 +0300
committerkitsunyan2017-09-11 00:59:06 +0300
commit82346adf61e058e5636bba7145b4203def9a3a11 (patch)
tree3fb3d88a0d963ad8d74ed7822217a95fe49509db
downloadaur-82346adf61e058e5636bba7145b4203def9a3a11.tar.gz
Initial commit
-rw-r--r--.SRCINFO25
-rw-r--r--PKGBUILD85
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}"
+}