summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorgenstern2019-04-04 01:02:51 +1300
committerMorgenstern2019-04-04 01:02:51 +1300
commitd3e85ac640371e49f70617ff08d4f6b527f672cb (patch)
treed555763c3a4c29f490cb3ef47bbabc8ffbfa3829
parent96292fc1f01a45408e1637cb30bf9fef68d5fdd2 (diff)
downloadaur-d3e85ac640371e49f70617ff08d4f6b527f672cb.tar.gz
PKGBUILD rewrite
-rw-r--r--PKGBUILD100
-rw-r--r--canon-pixma-mx870-complete-scangearmp-icon.pngbin0 -> 5788 bytes
-rw-r--r--canon-pixma-mx870-complete-scangearmp.desktop7
-rw-r--r--canon-pixma-mx870-complete.install148
4 files changed, 207 insertions, 48 deletions
diff --git a/PKGBUILD b/PKGBUILD
index ce48a676758d..f04ba5dfee40 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,63 +1,67 @@
# Maintainer: Charles Wise <charles [at] charlesbwise [dot] com>
-# Contributor: Jeremy Sands <cto [at] jeremysands [dot] com>
+# Contributor: Jeremy Sands <cto [at] jeremysands [dot] com>
+# Contributor: Ryan Owens <ryanowens [at] linux [dot] com>
pkgname=canon-pixma-mx870-complete
pkgver=3.30
-pkgrel=1
+pkgrel=2
pkgdesc="Complete stand alone driver set (printing and scanning) for Canon Pixma MX870"
-url="http://support-sg.canon-asia.com/contents/SG/EN/0100272302.html"
+url="https://www.usa.canon.com/internet/portal/us/home/support/details/printers/support-inkjet-printer/mx-series/pixma-mx870"
arch=('i686' 'x86_64')
license=('custom')
-if [[ ${CARCH} = 'x86_64' ]]; then
- depends=('lib32-popt' 'lib32-libpng12' 'lib32-libusb-compat' 'lib32-libtiff4' 'lib32-libxml2' 'lib32-gtk2')
-elif [[ ${CARCH} = 'i686' ]]; then
- depends=('popt' 'libpng12' 'libusb-compat' 'libtiff4' 'libxml2' 'gtk2')
-fi
-makedepends=('binutils')
+depends_i686=('popt' 'libpng12' 'libusb-compat' 'libtiff4' 'libxml2' 'gtk2')
+depends_x86_64=('lib32-popt' 'lib32-libpng12' 'lib32-libusb-compat' 'lib32-libtiff4' 'lib32-libxml2' 'lib32-gtk2')
+options=('!strip' '!emptydirs')
+install=${pkgname}.install
source=('http://gdlp01.c-wss.com/gds/3/0100002723/01/cnijfilter-mx870series-3.30-1-i386-deb.tar.gz'
- 'http://gdlp01.c-wss.com/gds/0/0100002730/01/scangearmp-mx870series-1.50-1-i386-deb.tar.gz')
-md5sums=('2aae1637d5f4c1bf10095fb5473f18c2'
- 'e77cec72a640d1b350c53e483f8792dc')
-
-package(){
+ 'http://gdlp01.c-wss.com/gds/0/0100002730/01/scangearmp-mx870series-1.50-1-i386-deb.tar.gz'
+ "${pkgname}-scangearmp.desktop"
+ "${pkgname}-scangearmp-icon.png")
+sha256sums=('df3694f4cf60a63010a8a4fbefcb38195c895786a8edf3fc2dc452bea7b60a95'
+ 'ec70d28e830e927d7b05649e4102963dee08e579373cfab9e305f11399afa245'
+ 'ff51249c1b54ded7b7a12a5f49cb0a188754ba634c92c9fff9eaa300b4b3bbc5'
+ '29dbc682d3f22d79f580bda54801d1f4ef261d857c756eaf4db29e1313406bcc')
- cd ${srcdir}/cnijfilter-mx870series-3.30-1-i386-deb/packages/
- install cnijfilter-common_3.30-1_i386.deb ${pkgdir}
- install cnijfilter-mx870series_3.30-1_i386.deb ${pkgdir}
-
- cd ${srcdir}/scangearmp-mx870series-1.50-1-i386-deb/packages
- install scangearmp-common_1.50-1_i386.deb ${pkgdir}
- install scangearmp-mx870series_1.50-1_i386.deb ${pkgdir}
-
+_canondir='cnijfilter-mx870series-3.30-1-i386-deb'
+_scangearmpdir='scangearmp-mx870series-1.50-1-i386-deb'
+
+package() {
+ # Get the .deb files
+ cd ${srcdir}/${_canondir}/packages
+ find ./ -type f -iname '*.deb*' -exec install -m644 "{}" "${pkgdir}/{}" \;
+ cd ${srcdir}/${_scangearmpdir}/packages
+ find ./ -type f -iname '*.deb*' -exec install -m644 "{}" "${pkgdir}/{}" \;
+
+ # Extract data from .deb archives
cd ${pkgdir}
-
- ar -x cnijfilter-common_3.30-1_i386.deb data.tar.gz
- tar -xzf data.tar.gz
- rm cnijfilter-common_3.30-1_i386.deb
- rm data.tar.gz
-
- ar -x cnijfilter-mx870series_3.30-1_i386.deb data.tar.gz
- tar -xvf data.tar.gz
- rm cnijfilter-mx870series_3.30-1_i386.deb
- rm data.tar.gz
-
- ar -x scangearmp-common_1.50-1_i386.deb data.tar.gz
- tar -xvf data.tar.gz
- rm scangearmp-common_1.50-1_i386.deb
- rm data.tar.gz
-
- ar -x scangearmp-mx870series_1.50-1_i386.deb data.tar.gz
- tar -xvf data.tar.gz
- rm scangearmp-mx870series_1.50-1_i386.deb
- rm data.tar.gz
+ for debfile in $(find ./ -type f -iname '*.deb*'); do
+ ar x $debfile data.tar.gz
+ tar -xvzf data.tar.gz
+ rm $debfile
+ rm data.tar.gz
+ done
- mkdir ${pkgdir}/usr/share/licenses
- mkdir ${pkgdir}/usr/share/licenses/canon-pixma-mx870-complete
+ # Fix udev rules
+ sed -i -e s/SYSFS/ATTR/g ${pkgdir}/etc/udev/rules.d/80-canon_mfp.rules
+ sed -i -e s/'MODE="666"'/'TAG+="uaccess", TAG+="udev-acl"'/g ${pkgdir}/etc/udev/rules.d/80-canon_mfp.rules
+
+ # Licenses
cd ${pkgdir}/usr/share/doc
- mv cnijfilter-common cnijfilter-mx870series scangearmp-common scangearmp-mx870series ../licenses/canon-pixma-mx870-complete/
- rm -r ${pkgdir}/usr/share/doc
+ find ./ -type f -exec install -Dm644 "{}" "$pkgdir/usr/share/licenses/$pkgname/{}" \;
+
+ # Clean up
+ chmod 644 ${pkgdir}/usr/lib/bjlib/canon_mfp_net.ini
+ chown root. ${pkgdir}/usr/lib/bjlib/cnnet.ini
- cd ${pkgdir}/usr/lib/bjlib/
- chmod 644 canon_mfp_net.ini
+ # Install .desktop file and icon for scanner
+ install -Dm644 "${srcdir}/${pkgname}-scangearmp.desktop" "${pkgdir}/usr/share/applications/${pkgname}-scangearmp.desktop"
+ install -Dm644 "${srcdir}/${pkgname}-scangearmp-icon.png" "${pkgdir}/usr/share/pixmaps/${pkgname}-scangearmp-icon.png"
+ # Fix directory structure differences
+ cd ${pkgdir}
+ if [[ ${CARCH} == x86_64 ]]; then
+ mkdir usr/lib32 2> /dev/null
+ mv usr/lib/* usr/lib32
+ rm -rf usr/lib
+ fi
}
diff --git a/canon-pixma-mx870-complete-scangearmp-icon.png b/canon-pixma-mx870-complete-scangearmp-icon.png
new file mode 100644
index 000000000000..8a886cc53f7c
--- /dev/null
+++ b/canon-pixma-mx870-complete-scangearmp-icon.png
Binary files differ
diff --git a/canon-pixma-mx870-complete-scangearmp.desktop b/canon-pixma-mx870-complete-scangearmp.desktop
new file mode 100644
index 000000000000..1d5d7ece17f1
--- /dev/null
+++ b/canon-pixma-mx870-complete-scangearmp.desktop
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Type=Application
+Name=ScanGear MP
+Exec=/usr/bin/scangearmp
+Icon=/usr/share/pixmaps/canon-pixma-mx870-complete-scangearmp-icon.png
+Categories=Graphics;2DGraphics;
+Name[en_US]=canon-pixma-mx870-complete-scangearmp.desktop
diff --git a/canon-pixma-mx870-complete.install b/canon-pixma-mx870-complete.install
new file mode 100644
index 000000000000..47b7efe9f4c5
--- /dev/null
+++ b/canon-pixma-mx870-complete.install
@@ -0,0 +1,148 @@
+## Built with assistance from debtap --> https://aur.archlinux.org/packages/debtap/
+
+post_install() {
+## cnijfilter-mx870series section
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+
+ CNIJ_PKG_INFO=cnijfilter-mx870-367
+
+ model_name=$(echo ${CNIJ_PKG_INFO} | cut -d- -f2)
+ model_num=$(echo ${CNIJ_PKG_INFO} | cut -d- -f3)
+
+ _cups_path1=/usr/share/ppd
+ _cups_path2=/usr/share/cups/model
+ ppd_name=canon${model_name}.ppd
+
+ if [ -x /usr/bin/ldconfig ]; then
+ /sbin/ldconfig
+ fi
+ # Make symbolic link for the ppd file
+ if [ ! -d ${_cups_path2} ]; then
+ mkdir ${_cups_path2}
+ fi
+ ln -fs ${_cups_path1}/${ppd_name} ${_cups_path2}/${ppd_name}
+ update-desktop-database -q
+
+
+## scangearmp-common section
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+
+ _gimp2dir1=/usr/lib32/gimp/2.0/plug-ins
+ _gimp2dir2=/usr/lib/gimp/2.0/plug-ins
+
+ if [ -x /usr/bin/ldconfig ]; then
+ /sbin/ldconfig
+ fi
+ # Make symbolic link for GIMP-plug-in
+ if [ -d ${_gimp2dir1} ]; then
+ ln -fs /usr/bin/scangearmp ${_gimp2dir1}/scangearmp
+ elif [ -d ${_gimp2dir2} ]; then
+ ln -fs /usr/bin/scangearmp ${_gimp2dir2}/scangearmp
+ fi
+
+ # Reload udev rules
+ if [ -x /usr/bin/udevadm ]; then
+ /sbin/udevadm control --reload-rules 2> /dev/null
+ /sbin/udevadm trigger --action=add --subsystem-match=usb 2> /dev/null
+ fi
+
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+## cnijfilter-common section
+ if [ -x /usr/bin/ldconfig ]; then
+ /sbin/ldconfig
+ fi
+ # Remove cnbp* libs
+ for LIBS in libcnnet
+ do
+ if [ -h /usr/lib32/${LIBS}.so ]; then
+ rm -f /usr/lib32/${LIBS}.so
+ fi
+ done
+ if [ "$1" = 0 ] ; then
+ rmdir -p --ignore-fail-on-non-empty /usr/lib32/bjlib
+ fi
+
+
+## cnijfilter-mx870series section
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+
+ CNIJ_PKG_INFO=cnijfilter-mx870-367
+
+ model_name=$(echo ${CNIJ_PKG_INFO} | cut -d- -f2)
+ model_num=$(echo ${CNIJ_PKG_INFO} | cut -d- -f3)
+
+ _cups_path2=/usr/share/cups/model
+ ppd_name=canon${model_name}.ppd
+
+ if [ -x /usr/bin/ldconfig ]; then
+ /sbin/ldconfig
+ fi
+ # Remove cnbp* libs
+ for LIBS in libcnbpcmcm libcnbpcnclapi libcnbpcnclbjcmd libcnbpcnclui libcnbpess libcnbpo
+ do
+ if [ -h /usr/lib32/${LIBS}${model_num}.so ]; then
+ rm -f /usr/lib32/${LIBS}${model_num}.so
+ fi
+ done
+ # Remove directories
+ if [ "$1" = 0 ] ; then
+ rmdir -p --ignore-fail-on-non-empty /usr/share/locale/*/LC_MESSAGES
+ rmdir -p --ignore-fail-on-non-empty /usr/share/cngpijmon${model_name}
+ rmdir -p --ignore-fail-on-non-empty /usr/share/printui${model_name}
+ fi
+ # Remove symbolic link for ppd
+ rm -f ${_cups_path2}/${ppd_name}
+ update-desktop-database -q
+
+
+## scangearmp-common section
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+
+ _gimp2dir1=/usr/lib32/gimp/2.0/plug-ins
+ _gimp2dir2=/usr/lib/gimp/2.0/plug-ins
+
+ for LIBS in libcncpmsimg libcncpmslld libcncpcmcm libcncpmsui libcncpnet
+ do
+ if [ -h /usr/lib32/${LIBS}.so ]; then
+ rm -f /usr/lib32/${LIBS}.so
+ fi
+ done
+
+ # Remove symbolic link for GIMP-plug-in
+ if [ -d ${_gimp2dir1} ]; then
+ rm -f ${_gimp2dir1}/scangearmp
+ elif [ -d ${_gimp2dir2} ]; then
+ rm -f ${_gimp2dir2}/scangearmp
+ fi
+
+ # Remove sgmp_setting files
+ rm -f /tmp/canon_sgmp_setting*.*
+ update-desktop-database -q
+
+
+## scangearmp-mx870series section
+ SCAN_PKG_INFO=scangearmp-870-367
+
+ model_num=$(echo ${SCAN_PKG_INFO} | cut -d- -f3)
+
+ if [ -x /usr/bin/ldconfig ]; then
+ /sbin/ldconfig
+ fi
+ # Remove cncp* libs
+ for LIBS in libcncpmsimg libcncpmslld
+ do
+ if [ -h /usr/lib32/${LIBS}${model_num}.so ]; then
+ rm -f /usr/lib32/${LIBS}${model_num}.so
+ fi
+ if [ -h /usr/lib32/${LIBS}${model_num}c.so ]; then
+ rm -f /usr/lib32/${LIBS}${model_num}c.so
+ fi
+ done
+}