summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO22
-rw-r--r--PKGBUILD113
-rw-r--r--fix_configure.patch18
-rw-r--r--libpng15.patch20
-rw-r--r--scangearmp-mg4200.install15
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
+}