diff options
-rw-r--r-- | .SRCINFO | 22 | ||||
-rw-r--r-- | PKGBUILD | 113 | ||||
-rw-r--r-- | fix_configure.patch | 18 | ||||
-rw-r--r-- | libpng15.patch | 20 | ||||
-rw-r--r-- | scangearmp-mg4200.install | 15 |
5 files changed, 188 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..d73608007c99 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,22 @@ +pkgbase = scangearmp-mg4200 + pkgdesc = Canon Scanner Driver (for mg4200 series) + pkgver = 2.00 + pkgrel = 1 + url = http://support-my.canon-asia.com/contents/MY/EN/0100470802.html + install = scangearmp-mg4200.install + arch = i686 + arch = x86_64 + license = custom + depends = gtk2 + depends = sane + depends = libusb-compat + depends = gimp + source = http://gdlp01.c-wss.com/gds/8/0100004708/01/scangearmp-source-2.00-1.tar.gz + source = libpng15.patch + source = fix_configure.patch + md5sums = ccd538e1333bf34aa83900f093ecd9eb + md5sums = 5fd4f2f00aad11ff108a2c642cf1a7c1 + md5sums = 6ff76bfcfa4b4021e47677882772c895 + +pkgname = scangearmp-mg4200 + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..d0da8cc13f90 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,113 @@ +# Maintainer: Karol 'Kenji Takahashi' Woźniak @ kenji.sx +# Based on a scangearmp-mg3200 package by morris555 +# +# [Printer Model Name] [Printer Model ID] +# ------------------------------------------------------------------ +# mp230 401 +# mg2200 402 +# e510 403 +# mg3200 404 +# mg4200 405 +# ip7200 406 +# mg5400 407 +# mg6300 408 + +_name=mg4200 +_id=405 + +pkgname=scangearmp-${_name} +pkgver=2.00 +pkgrel=1 +_pkgver=2.00-1 +pkgdesc="Canon Scanner Driver (for ${_name} series)" +url="http://support-my.canon-asia.com/contents/MY/EN/0100470802.html" +arch=('i686' 'x86_64') +license=('custom') +depends=('gtk2' 'sane' 'libusb-compat' 'gimp') +install=scangearmp-mg4200.install +source=( + http://gdlp01.c-wss.com/gds/8/0100004708/01/scangearmp-source-${_pkgver}.tar.gz + 'libpng15.patch' + 'fix_configure.patch' +) +md5sums=( + 'ccd538e1333bf34aa83900f093ecd9eb' + '5fd4f2f00aad11ff108a2c642cf1a7c1' + '6ff76bfcfa4b4021e47677882772c895' +) + +build() { + if [ "$CARCH" == "x86_64" ]; then + libdir=libs_bin64 + else + libdir=libs_bin32 + fi + + # Patch for libpng>=1.5 + cd "${srcdir}"/scangearmp-source-${_pkgver} + patch -p1 -i ../libpng15.patch + patch -p1 -i ../fix_configure.patch + + cd ${srcdir}/scangearmp-source-${_pkgver}/scangearmp + ./autogen.sh --prefix=/usr --enable-libpath=/usr/lib LDFLAGS="-lm -L`pwd`/../com/${libdir}" + # Force the use of system's libtool + rm -f libtool + ln -s `which libtool` . + # Build package + make clean || return 1 + make || return 1 + # Install package + install -d -m 0755 $pkgdir/usr/lib/bjlib + make DESTDIR=${pkgdir} install || return 1 + + # Install SANE configuration file + install -d -m 0755 $pkgdir/etc/sane.d/ + install -m 0644 ${srcdir}/scangearmp-source-${_pkgver}/scangearmp/backend/canon_mfp.conf $pkgdir/etc/sane.d/canon_mfp.conf + + # Install common libraries + install -m 0755 ${srcdir}/scangearmp-source-${_pkgver}/com/${libdir}/libcncpcmcm.so.8.0.1 ${pkgdir}/usr/lib/ + install -m 0755 ${srcdir}/scangearmp-source-${_pkgver}/com/${libdir}/libcncpmsimg.so.1.0.2 ${pkgdir}/usr/lib/ + install -m 0755 ${srcdir}/scangearmp-source-${_pkgver}/com/${libdir}/libcncpmslld.so.1.0.1 ${pkgdir}/usr/lib/ + install -m 0755 ${srcdir}/scangearmp-source-${_pkgver}/com/${libdir}/libcncpmsui.so.2.0.0 ${pkgdir}/usr/lib/ + install -m 0755 ${srcdir}/scangearmp-source-${_pkgver}/com/${libdir}/libcncpnet.so.1.2.2 ${pkgdir}/usr/lib/ + + # Install specific libraries + install -m 0755 ${srcdir}/scangearmp-source-${_pkgver}/${_id}/${libdir}/libcncpmsimg${_id}.so.2.0.0 ${pkgdir}/usr/lib/ + install -m 0755 ${srcdir}/scangearmp-source-${_pkgver}/${_id}/${libdir}/libcncpmslld${_id}c.so.1.04.1 ${pkgdir}/usr/lib/ + install -m 0755 ${srcdir}/scangearmp-source-${_pkgver}/${_id}/${libdir}/libcncpmslld${_id}.so.2.0.0 ${pkgdir}/usr/lib/ + # Create symbolic links + cd ${pkgdir}/usr/lib/ + ln -s libcncpcmcm.so.8.0.1 libcncpcmcm.so + ln -s libcncpmsimg.so.1.0.2 libcncpmsimg.so + ln -s libcncpmslld.so.1.0.1 libcncpmslld.so + ln -s libcncpmsui.so.2.0.0 libcncpmsui.so + ln -s libcncpnet.so.1.2.2 libcncpnet.so + + ln -s libcncpmsimg${_id}.so.2.0.0 libcncpmsimg${_id}.so + ln -s libcncpmslld${_id}c.so.1.04.1 libcncpmslld${_id}c.so + ln -s libcncpmslld${_id}.so.2.0.0 libcncpmslld${_id}.so + + # Make scangearmp usable from gimp + install -d -m 0755 ${pkgdir}/usr/lib/gimp/2.0/plug-ins/ + ln -s /usr/bin/scangearmp ${pkgdir}/usr/lib/gimp/2.0/plug-ins/ + + # Install .tbl and .dat files + install -D -m 0755 ${srcdir}/scangearmp-source-${_pkgver}/${_id}/cnc*.tbl ${pkgdir}/usr/lib/bjlib/ + install -D -m 0755 ${srcdir}/scangearmp-source-${_pkgver}/${_id}/CNC_*.DAT ${pkgdir}/usr/lib/bjlib/ + + # Install udev rules + install -D -m 0644 ${srcdir}/scangearmp-source-${_pkgver}/scangearmp/etc/80-canon_mfp.rules ${pkgdir}/etc/udev/rules.d/80-canon_mfp.rules + + # Install .ini file + install -D -m 0666 ${srcdir}/scangearmp-source-${_pkgver}/com/ini/canon_mfp_net.ini ${pkgdir}/usr/lib/bjlib/ + + # Install license file + cd ${srcdir}/scangearmp-source-${_pkgver} + install -D LICENSE-scangearmp-${pkgver}EN.txt ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE-scangearmp-${pkgver}EN.txt + + # Remove unneeded files + rm ${pkgdir}/usr/lib/libsane-canon_mfp.a + rm ${pkgdir}/usr/lib/libsane-canon_mfp.la +} + +# vim:set ts=4 sw=4 et: diff --git a/fix_configure.patch b/fix_configure.patch new file mode 100644 index 000000000000..3159cb260b6d --- /dev/null +++ b/fix_configure.patch @@ -0,0 +1,18 @@ +diff -Naur a/scangearmp/configure.in b/scangearmp/configure.in +--- a/scangearmp/configure.in 2010-02-17 03:22:34.000000000 +0100 ++++ b/scangearmp/configure.in 2013-01-12 17:45:51.574334791 +0100 +@@ -21,14 +21,12 @@ + AC_SUBST(enable_libpath) + + AM_INIT_AUTOMAKE(scangearmp, 2.00-1) +-AM_CONFIG_HEADER(config.h) + AM_PROG_LIBTOOL + AC_PROG_LIBTOOL + AM_MAINTAINER_MODE + + AC_ISC_POSIX + AC_PROG_CC +-AM_PROG_CC_STDC + AC_HEADER_STDC + AC_PROG_RANLIB + diff --git a/libpng15.patch b/libpng15.patch new file mode 100644 index 000000000000..1fa140e6986a --- /dev/null +++ b/libpng15.patch @@ -0,0 +1,20 @@ +diff -aur scangearmp-source-1.80-1.old/scangearmp/src/scanfile.c scangearmp-source-1.80-1.new/scangearmp/src/scanfile.c +--- scangearmp-source-1.80-1.old/scangearmp/src/scanfile.c 2011-02-14 07:19:36.000000000 +0100 ++++ scangearmp-source-1.80-1.new/scangearmp/src/scanfile.c 2012-03-02 22:20:03.013463968 +0100 +@@ -34,6 +34,7 @@ + //#include <sys/types.h>
+ //#include <unistd.h>
+ #include <limits.h>
++#include <zlib.h>
+
+ #include "cnmsfunc.h"
+ #include "png.h"
+@@ -386,7 +387,7 @@ +
+ void write_data_for_png( png_structp png_ptr, png_bytep data, png_size_t length )
+ {
+- FileControlWriteFile( *( (int *)png_ptr->io_ptr ), (CNMSLPSTR)data, length );
++ FileControlWriteFile( *( (int *)png_get_io_ptr(png_ptr)), (CNMSLPSTR)data, length );
+
+ return;
+ }
diff --git a/scangearmp-mg4200.install b/scangearmp-mg4200.install new file mode 100644 index 000000000000..a684cda2fd7a --- /dev/null +++ b/scangearmp-mg4200.install @@ -0,0 +1,15 @@ +post_install() { + if [ -x /sbin/ldconfig ]; then + /sbin/ldconfig + fi +} +post_upgrade() { + if [ -x /sbin/ldconfig ]; then + /sbin/ldconfig + fi +} +post_remove() { + if [ -x /sbin/ldconfig ]; then + /sbin/ldconfig + fi +} |