diff options
author | V3n3RiX <venerix@rogentos.ro> | 2016-08-24 10:44:41 +0100 |
---|---|---|
committer | V3n3RiX <venerix@rogentos.ro> | 2016-08-24 10:44:41 +0100 |
commit | 3a1931e26fcf501e116352d43dc3930eed24710b (patch) | |
tree | 78e4d5882585c47989c4abfb7b7647a92b8e36c9 /net-print/cnijfilter-drivers | |
parent | 1aa2356255173f25dde005d0a8b8ab3374074df6 (diff) |
import a bit older cnijfilter from sabayon
Diffstat (limited to 'net-print/cnijfilter-drivers')
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> |