summaryrefslogtreecommitdiff
path: root/net-print/cnijfilter-drivers
diff options
context:
space:
mode:
authorV3n3RiX <venerix@rogentos.ro>2016-08-24 10:44:41 +0100
committerV3n3RiX <venerix@rogentos.ro>2016-08-24 10:44:41 +0100
commit3a1931e26fcf501e116352d43dc3930eed24710b (patch)
tree78e4d5882585c47989c4abfb7b7647a92b8e36c9 /net-print/cnijfilter-drivers
parent1aa2356255173f25dde005d0a8b8ab3374074df6 (diff)
import a bit older cnijfilter from sabayon
Diffstat (limited to 'net-print/cnijfilter-drivers')
-rw-r--r--net-print/cnijfilter-drivers/Manifest1
-rw-r--r--net-print/cnijfilter-drivers/cnijfilter-drivers-3.80.ebuild167
-rw-r--r--net-print/cnijfilter-drivers/files/cnijfilter-3.70-libexec-backend.patch22
-rw-r--r--net-print/cnijfilter-drivers/files/cnijfilter-3.70-libexec-cups.patch9
-rw-r--r--net-print/cnijfilter-drivers/files/cnijfilter-3.70-png.patch22
-rw-r--r--net-print/cnijfilter-drivers/files/cnijfilter-3.70-ppd.patch11
-rw-r--r--net-print/cnijfilter-drivers/files/cnijfilter-3.70-ppd2.patch11
-rw-r--r--net-print/cnijfilter-drivers/files/cnijfilter-3.80-cups.patch10
8 files changed, 253 insertions, 0 deletions
diff --git a/net-print/cnijfilter-drivers/Manifest b/net-print/cnijfilter-drivers/Manifest
new file mode 100644
index 00000000..d445c620
--- /dev/null
+++ b/net-print/cnijfilter-drivers/Manifest
@@ -0,0 +1 @@
+DIST cnijfilter-source-3.80-1.tar.gz 8923054 SHA256 8b6d408f18191f19465ee8fc31aa08455e8bec186fdd3f02ee822f53a9b086a9 SHA512 95a16e3b4fc38ce0b7a12bd74466d97e726bc410b59bf6d1963fa52b16a8cc67f6a993a5ef945107201f860d8ac6734c462bc0bf6d2160d6c85c5f61aff040c1 WHIRLPOOL 2e27afa454ce1fa41700f65ace7ae7469464cc8685499c4927c559aef2fd79613297d1ec1e5cf1dd309da541c5b662a0c4d4d71fabf4b514e186eb2bceb80c5c
diff --git a/net-print/cnijfilter-drivers/cnijfilter-drivers-3.80.ebuild b/net-print/cnijfilter-drivers/cnijfilter-drivers-3.80.ebuild
new file mode 100644
index 00000000..45eb4b2a
--- /dev/null
+++ b/net-print/cnijfilter-drivers/cnijfilter-drivers-3.80.ebuild
@@ -0,0 +1,167 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+MY_PN="${PN/-drivers/}"
+
+inherit eutils autotools flag-o-matic multilib
+
+DESCRIPTION="Canon InkJet Printer Driver for Linux (Pixus/Pixma-Series)."
+HOMEPAGE="http://support-sg.canon-asia.com/contents/SG/EN/0100469302.html"
+SRC_URI="http://gdlp01.c-wss.com/gds/3/0100004693/01/${MY_PN}-source-${PV}-1.tar.gz"
+
+LICENSE="GPL-2 cnijfilter"
+SLOT="${PV}"
+KEYWORDS="amd64 x86"
+PRINTER_USE=( mp230 mg2200 e510 mg3200 mg4200 ip7200 mg5400 mg6300 )
+PRINTER_ID=( 401 402 403 404 405 406 407 408 )
+IUSE="${PRINTER_USE[@]} +servicetools"
+
+RDEPEND="
+ net-print/cnijfilter[servicetools?]
+ >=media-libs/libpng-1.5
+ >=media-libs/tiff-3.4
+ >=net-print/cups-1.4
+ servicetools? (
+ >=dev-libs/libxml2-2.7.3-r2
+ >=x11-libs/gtk+-2.6:2
+ )
+"
+DEPEND="${DEPEND}
+ sys-devel/gettext
+"
+
+REQUIRED_USE="|| ( ${PRINTER_USE[@]} )"
+
+S="${WORKDIR}/${MY_PN}-source-${PV}-1"
+
+_dir_build() {
+ local dirs=$1
+ local command=$2
+ local d
+
+ [[ $# -ne 2 ]] && die "Call as: _dir_build DIRS COMMAND"
+
+ for d in ${dirs}; do
+ local suffix=""
+ echo ">>> Working in: ${d}"
+ pushd ${d} >/dev/null
+ # progpath must be set otherwise we go for /usr/local/bin
+ if [[ ${command} == econf* ]]; then
+ ${command} --enable-progpath="${EPREFIX}/usr/bin"
+ else
+ ${command}
+ fi
+ popd > /dev/null
+ done
+}
+
+_printer_dir_build() {
+ local command=$1
+ local d
+
+ [[ $# -ne 1 ]] && die "Call as: _printer_dir_build COMMAND"
+
+ for (( i=0; i<${#PRINTER_USE[@]}; i++ )); do
+ local name="${PRINTER_USE[$i]}"
+ if use ${name}; then
+ for d in ${DIRS_PRINTER}; do
+ echo ">>> Working in: ${name}/${d}"
+ pushd ${name}/${d} > /dev/null
+ if [[ ${command} == econf* ]]; then
+ ${command} \
+ --enable-progpath="${EPREFIX}/usr/bin" \
+ --program-suffix=${name}
+ else
+ ${command}
+ fi
+ popd > /dev/null
+ done
+ fi
+ done
+}
+
+pkg_setup() {
+ [[ -z ${LINGUAS} ]] && LINGUAS="en"
+
+ DIRS_PRINTER="cnijfilter"
+ # lgmon must be first as it is required by cngpijmon
+ use servicetools && DIRS_PRINTER+=" lgmon cngpijmon maintenance"
+}
+
+src_prepare() {
+ local d i
+
+ # missing macros directory make aclocal fail
+ mkdir maintenance/m4 || die
+
+ epatch \
+ "${FILESDIR}/${MY_PN}"-3.70-png.patch \
+ "${FILESDIR}/${MY_PN}"-3.70-ppd.patch \
+ "${FILESDIR}/${MY_PN}"-3.70-ppd2.patch \
+ "${FILESDIR}/${MY_PN}"-3.70-libexec-cups.patch \
+ "${FILESDIR}/${MY_PN}"-3.70-libexec-backend.patch \
+ "${FILESDIR}/${MY_PN}"-3.80-cups.patch
+
+ _dir_build "${DIRS_PRINTER}" "eautoreconf"
+
+ for (( i=0; i<${#PRINTER_USE[@]}; i++ )); do
+ local name="${PRINTER_USE[$i]}"
+ local pid="${PRINTER_ID[$i]}"
+ if use ${name}; then
+ mkdir -p ${name} || die
+ ln -s "${S}"/${pid} ${name}/ || die
+ for d in ${DIRS_PRINTER}; do
+ cp -a ${d} ${name} || die
+ done
+ fi
+ done
+}
+
+src_configure() {
+ local d i
+
+ _printer_dir_build "econf"
+}
+
+src_compile() {
+ _printer_dir_build "emake"
+}
+
+src_install() {
+ local _libdir="${EPREFIX}/usr/$(get_libdir)"
+ local _libdir_pkg=libs_bin$(use amd64 && echo 64 || echo 32)
+ local _ppddir="${EPREFIX}/usr/share/cups/model"
+
+ _printer_dir_build "emake DESTDIR=${D} install"
+
+ for (( i=0; i<${#PRINTER_USE[@]}; i++ )); do
+ local name="${PRINTER_USE[$i]}"
+ local pid="${PRINTER_ID[$i]}"
+ if use ${name}; then
+ dodir ${_libdir}
+ # no doexe due to symlinks
+ cp -a "${pid}/${_libdir_pkg}"/* "${D}/${_libdir}" || die
+ exeinto ${_libdir}/cnijlib
+ doexe ${pid}/database/*
+ # create symlink for the cnijlib to bjlib as some formats need it
+ dosym ${_libdir}/cnijlib ${_libdir}/bjlib
+ insinto ${_ppddir}
+ doins ppd/canon${name}.ppd
+ fi
+ done
+}
+
+pkg_postinst() {
+ einfo ""
+ einfo "For installing a printer:"
+ einfo " * Restart CUPS: /etc/init.d/cupsd restart"
+ einfo " * Go to http://127.0.0.1:631/"
+ einfo " -> Printers -> Add Printer"
+ einfo ""
+ einfo "If you experience any problems, please visit:"
+ einfo " http://forums.gentoo.org/viewtopic-p-3217721.html"
+ einfo ""
+}
diff --git a/net-print/cnijfilter-drivers/files/cnijfilter-3.70-libexec-backend.patch b/net-print/cnijfilter-drivers/files/cnijfilter-3.70-libexec-backend.patch
new file mode 100644
index 00000000..ca2073a5
--- /dev/null
+++ b/net-print/cnijfilter-drivers/files/cnijfilter-3.70-libexec-backend.patch
@@ -0,0 +1,22 @@
+diff -urN cnijfilter-source-3.70-1.old/backend/src/Makefile.am cnijfilter-source-3.70-1/backend/src/Makefile.am
+--- cnijfilter-source-3.70-1.old/backend/src/Makefile.am 2012-12-22 11:09:21.674631729 +0100
++++ cnijfilter-source-3.70-1/backend/src/Makefile.am 2012-12-22 14:20:50.879566578 +0100
+@@ -1,6 +1,6 @@
+ ## Process this file with automake to produce Makefile.in
+
+-backend_bindir = /usr/lib/cups/backend
++backend_bindir = /usr/libexec/cups/backend
+ backend_bin_PROGRAMS = cnijusb
+ transform =
+
+diff -urN cnijfilter-source-3.70-1.old/backendnet/backend/Makefile.am cnijfilter-source-3.70-1/backendnet/backend/Makefile.am
+--- cnijfilter-source-3.70-1.old/backendnet/backend/Makefile.am 2012-12-22 11:09:21.673631729 +0100
++++ cnijfilter-source-3.70-1/backendnet/backend/Makefile.am 2012-12-22 14:20:20.176569425 +0100
+@@ -1,6 +1,6 @@
+ ## Process this file with automake to produce Makefile.in
+
+-backendnet_bindir = /usr/lib/cups/backend
++backendnet_bindir = /usr/libexec/cups/backend
+ backendnet_bin_PROGRAMS = cnijnet
+ transform =
+
diff --git a/net-print/cnijfilter-drivers/files/cnijfilter-3.70-libexec-cups.patch b/net-print/cnijfilter-drivers/files/cnijfilter-3.70-libexec-cups.patch
new file mode 100644
index 00000000..858343f4
--- /dev/null
+++ b/net-print/cnijfilter-drivers/files/cnijfilter-3.70-libexec-cups.patch
@@ -0,0 +1,9 @@
+diff -urN cnijfilter-source-3.70-1.old/pstocanonij/filter/Makefile.am cnijfilter-source-3.70-1/pstocanonij/filter/Makefile.am
+--- cnijfilter-source-3.70-1.old/pstocanonij/filter/Makefile.am 2012-12-21 17:27:54.370964561 +0100
++++ cnijfilter-source-3.70-1/pstocanonij/filter/Makefile.am 2012-12-21 18:22:48.804097963 +0100
+@@ -1,4 +1,4 @@
+-filterdir=$(libdir)/cups/filter
++filterdir=$(libexecdir)/cups/filter
+
+ filter_PROGRAMS= pstocanonij
+
diff --git a/net-print/cnijfilter-drivers/files/cnijfilter-3.70-png.patch b/net-print/cnijfilter-drivers/files/cnijfilter-3.70-png.patch
new file mode 100644
index 00000000..0e32f236
--- /dev/null
+++ b/net-print/cnijfilter-drivers/files/cnijfilter-3.70-png.patch
@@ -0,0 +1,22 @@
+--- cnijfilter-3.70/cnijfilter/src/bjfimage.c 2011-09-22 04:33:34.000000000 +0200
++++ cnijfilter-3.70/cnijfilter/src/bjfimage.c 2012-09-15 16:22:38.000000000 +0200
+@@ -1520,8 +1520,8 @@
+ short tmpformat;
+ short retbyte = 0;
+ short bpp = 3;
+- long width = 0;
+- long length = 0;
++ png_uint_32 width = 0;
++ png_uint_32 length = 0;
+ long rstep = 0;
+ long RasterLength = 0;
+ long i;
+@@ -1574,7 +1574,7 @@
+ goto onErr;
+ }
+
+- if (setjmp (png_p->jmpbuf))
++ if (setjmp (png_jmpbuf(png_p)))
+ {
+ png_destroy_read_struct(&png_p, &info_p, (png_infopp)NULL);
+ goto onErr;
diff --git a/net-print/cnijfilter-drivers/files/cnijfilter-3.70-ppd.patch b/net-print/cnijfilter-drivers/files/cnijfilter-3.70-ppd.patch
new file mode 100644
index 00000000..a1d1ad23
--- /dev/null
+++ b/net-print/cnijfilter-drivers/files/cnijfilter-3.70-ppd.patch
@@ -0,0 +1,11 @@
+diff -urN cnijfilter-source-3.70-1.old/cngpijmon/src/bjcupsmon_cups.c cnijfilter-source-3.70-1/cngpijmon/src/bjcupsmon_cups.c
+--- cnijfilter-source-3.70-1.old/cngpijmon/src/bjcupsmon_cups.c 2012-12-21 17:27:54.599964570 +0100
++++ cnijfilter-source-3.70-1/cngpijmon/src/bjcupsmon_cups.c 2012-12-21 17:28:42.076966493 +0100
+@@ -20,6 +20,7 @@
+ /*** Includes ***/
+ #include <cups/cups.h>
+ #include <cups/language.h>
++#include <cups/ppd.h>
+ #include <sys/types.h>
+ #include <unistd.h>
+ #include <pwd.h>
diff --git a/net-print/cnijfilter-drivers/files/cnijfilter-3.70-ppd2.patch b/net-print/cnijfilter-drivers/files/cnijfilter-3.70-ppd2.patch
new file mode 100644
index 00000000..8b1e6ae3
--- /dev/null
+++ b/net-print/cnijfilter-drivers/files/cnijfilter-3.70-ppd2.patch
@@ -0,0 +1,11 @@
+diff -urN cnijfilter-source-3.70-1.old/backend/src/cnij_backend_common.c cnijfilter-source-3.70-1/backend/src/cnij_backend_common.c
+--- cnijfilter-source-3.70-1.old/backend/src/cnij_backend_common.c 2012-12-22 11:09:21.674631729 +0100
++++ cnijfilter-source-3.70-1/backend/src/cnij_backend_common.c 2012-12-22 11:11:31.903619656 +0100
+@@ -38,6 +38,7 @@
+ // CUPS Header
+ #include <cups/cups.h>
+ #include <cups/ipp.h>
++#include <cups/ppd.h>
+
+ // Header file for CANON
+ #include "cnij_backend_common.h"
diff --git a/net-print/cnijfilter-drivers/files/cnijfilter-3.80-cups.patch b/net-print/cnijfilter-drivers/files/cnijfilter-3.80-cups.patch
new file mode 100644
index 00000000..ddaad73e
--- /dev/null
+++ b/net-print/cnijfilter-drivers/files/cnijfilter-3.80-cups.patch
@@ -0,0 +1,10 @@
+--- cnijfilter-source-3.80-1.old/cngpijmon/src/bjcupsmon_cups.c 2014-04-05 23:24:12.193048137 +0200
++++ cnijfilter-source-3.80-1/cngpijmon/src/bjcupsmon_cups.c 2014-04-05 23:11:35.748504996 +0200
+@@ -18,6 +18,7 @@
+ */
+
+ /*** Includes ***/
++#define _IPP_PRIVATE_STRUCTURES 1
+ #include <cups/cups.h>
+ #include <cups/ppd.h>
+ #include <cups/language.h>