summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD66
1 files changed, 66 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..3c432da1efb8
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,66 @@
+# Maintainer: Danny Dutton <duttondj@vt.edu>
+
+pkgname="brother-mfc-j410w"
+_model="mfcj410w"
+pkgver="1.1.3"
+_pkgrel=1
+pkgrel=1
+pkgdesc="LPR and CUPS driver for the Brother MFC-J410W"
+arch=('i686' 'x86_64')
+url="http://solutions.brother.com/linux/en_us/"
+license=('custom:brother commercial license')
+depends=('cups')
+install="$pkgname.install"
+source=("http://download.brother.com/welcome/dlf006557/${_model}lpr-$pkgver-$_pkgrel.i386.rpm"
+ "http://download.brother.com/welcome/dlf006559/${_model}cupswrapper-$pkgver-$_pkgrel.i386.rpm")
+md5sums=("d6cdd0f1700253d1535215ca702df2f2"
+ "9ad51cde1a65d322d44e8dc6b28a88f9")
+
+if test "$CARCH" == x86_64; then
+ depends+=('lib32-glibc')
+fi
+
+prepare() {
+ cd "$srcdir"
+ filter_file="$srcdir/filter_file"
+ filter_wrapper="$srcdir/filter_wrapper"
+ ppd_file="$srcdir/ppd_file"
+
+ # extract filter from cupswrapper
+ cupswrapper="$(find $srcdir -iname cupswrapper${_model})"
+ limit_string="$(sed -n 's/cat <<\ *\([^\ ]*\)\ *>.*/\1/p' $cupswrapper)"
+ sed -n -e '/^printer_model/ p' \
+ -e '/^printer_name/ p' \
+ -e '/^device_name/ p' \
+ -e '/^device_model/ p' \
+ -e 's|>\ *\$tmp_filter||' \
+ -e '1,3 { /^#\! \/bin\/sh/ p }' \
+ -e 's|/model/Brother|/model|g' \
+ -e 's|/usr/local/Brother|/usr/share/brother|g' \
+ -e '/cat <<\s*'"$limit_string"'/,/'"$limit_string"'/ {
+ s/\(^[\ #]*brother print filter\)\ *>>.*/\1/I
+ p
+ }' \
+ "$cupswrapper" > "$filter_wrapper"
+ chmod 0755 "$filter_wrapper"
+ if "$filter_wrapper" > "$filter_file"; then
+ rm "$filter_wrapper"
+ rm "$cupswrapper"
+ fi
+
+ # move ppd file
+ mv "$(find -iname '*'$_model'*.ppd' -print -quit)" "$ppd_file"
+
+ # delete setupPrintcap
+ find "$srcdir" -type f -name 'setupPrintcap*' -delete
+}
+
+package() {
+ # install files in $pkgdir
+ cp -R $srcdir/usr $pkgdir
+ if [ -d $srcdir/opt ]; then cp -R $srcdir/opt $pkgdir; fi
+ install -m 644 -D "$srcdir/ppd_file" \
+ "${pkgdir}/usr/share/cups/model/brother_${_model}_printer_en.ppd"
+ install -m 755 -D "$srcdir/filter_file" \
+ "${pkgdir}/usr/lib/cups/filter/brlpdwrapper${_model}"
+}