tclover,
Having now migrated my installation to abi_x86_32 multilib instead of emul-linux-x86-* multilib, I decided to try the ebuild cnijfilter-3.20.ebuild in your
overlay. I had to make some small changes to get it to install and work for my PIXMA MP560:
Code: Select all
$ cat cnijfilter-3.20.ebuild
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: net-print/cnijfilter/cnijfilter-3.20.ebuild,v 2.0 2015/04/07 02:00:00 -tclover Exp $
EAPI=5
MULTILIB_COMPAT=( abi_x86_32 )
PRINTER_USE=( "mp250" "mp270" "mp490" "mp550" "mp560" "ip4700" "mp640" )
PRINTER_ID=( "356" "357" "358" "359" "360" "361" "362" )
inherit ecnij
DESCRIPTION="Canon InkJet Printer Driver for Linux (Pixus/Pixma-Series)"
HOMEPAGE="http://support-asia.canon-asia.com/content/EN/0100084101.html"
SRC_URI="http://gdlp01.c-wss.com/gds/7/0100002367/01/${PN}-source-${PV}-1.tar.gz"
IUSE="+net"
SLOT="${PV:0:1}"
DEPEND=">=net-print/cups-1.1.14[${MULTILIB_USEDEP}]"
RDEPEND="${RDEPEND}"
RESTRICT="mirror"
S="${WORKDIR}"/${PN}-source-${PV}-1
PATCHES=(
"${FILESDIR}"/${PN}-3.70-1-libexec-cups.patch
"${FILESDIR}"/${PN}-3.70-1-libexec-backend.patch
"${FILESDIR}"/${PN}-${PV}-include_cups_ppd_h.patch
"${FILESDIR}"/${PN}-${PV}-ldl.patch
"${FILESDIR}"/${PN}-${PV}-libpng15.patch
)
Code: Select all
$ cat files/cnijfilter-3.20-include_cups_ppd_h.patch
diff -crb old/cnijfilter-source-3.20-1/backend/src/cnij_backend_common.c new/cnijfilter-source-3.20-1/backend/src/cnij_backend_common.c
*** old/cnijfilter-source-3.20-1/backend/src/cnij_backend_common.c 2009-05-27 06:46:41.000000000 +0100
--- new/cnijfilter-source-3.20-1/backend/src/cnij_backend_common.c 2012-05-07 18:26:02.159019411 +0100
***************
*** 38,43 ****
--- 38,44 ----
// CUPS Header
#include <cups/cups.h>
#include <cups/ipp.h>
+ #include <cups/ppd.h>
// Header file for CANON
#include "cnij_backend_common.h"
diff -crb old/cnijfilter-source-3.20-1/cngpijmon/src/bjcupsmon_cups.c new/cnijfilter-source-3.20-1/cngpijmon/src/bjcupsmon_cups.c
*** old/cnijfilter-source-3.20-1/cngpijmon/src/bjcupsmon_cups.c 2009-04-24 07:12:49.000000000 +0100
--- new/cnijfilter-source-3.20-1/cngpijmon/src/bjcupsmon_cups.c 2012-05-07 18:27:35.336019312 +0100
***************
*** 20,25 ****
--- 20,26 ----
/*** Includes ***/
#include <cups/cups.h>
#include <cups/language.h>
+ #include <cups/ppd.h>
#include <sys/types.h>
#include <unistd.h>
#include <pwd.h>
Code: Select all
$ cat files/cnijfilter-3.20-ldl.patch
diff -crb old/cnijfilter-source-3.20-1/cngpijmon/cnijnpr/cnijnpr/Makefile.am new/cnijfilter-source-3.20-1/cngpijmon/cnijnpr/cnijnpr/Makefile.am
*** old/cnijfilter-source-3.20-1/cngpijmon/cnijnpr/cnijnpr/Makefile.am 2009-04-24 07:12:49.000000000 +0100
--- new/cnijfilter-source-3.20-1/cngpijmon/cnijnpr/cnijnpr/Makefile.am 2012-05-07 19:05:32.308016869 +0100
***************
*** 5,11 ****
cnijnpr_SOURCES=\
cnijnpr.c
! cnijnpr_LDADD = -lcnnet -lbscc2sts
cnijnpr_LDFLAGS = -L../../../com/libs_bin -L../../../lgmon/src
#AM_CFLAGS= -O2 -Wall
--- 5,11 ----
cnijnpr_SOURCES=\
cnijnpr.c
! cnijnpr_LDADD = -lcnnet -lbscc2sts -ldl
cnijnpr_LDFLAGS = -L../../../com/libs_bin -L../../../lgmon/src
#AM_CFLAGS= -O2 -Wall
Code: Select all
$ cat files/cnijfilter-3.20-libpng15.patch
diff -crb old/cnijfilter-source-3.20-1/cnijfilter/src/bjfimage.c new/cnijfilter-source-3.20-1/cnijfilter/src/bjfimage.c
*** old/cnijfilter-source-3.20-1/cnijfilter/src/bjfimage.c 2009-03-26 05:11:05.000000000 +0000
--- new/cnijfilter-source-3.20-1/cnijfilter/src/bjfimage.c 2012-05-07 19:11:24.387016491 +0100
***************
*** 945,952 ****
short tmpformat;
short retbyte = 0;
short bpp = 3;
! long width = 0;
! long length = 0;
long maxvalue = 0;
long rstep = 0;
long RasterLength = 0;
--- 945,952 ----
short tmpformat;
short retbyte = 0;
short bpp = 3;
! png_uint_32 width = 0;
! png_uint_32 length = 0;
long maxvalue = 0;
long rstep = 0;
long RasterLength = 0;
***************
*** 1574,1580 ****
goto onErr;
}
! if (setjmp (png_p->jmpbuf))
{
png_destroy_read_struct(&png_p, &info_p, (png_infopp)NULL);
goto onErr;
--- 1574,1580 ----
goto onErr;
}
! if (setjmp (png_jmpbuf(png_p)))
{
png_destroy_read_struct(&png_p, &info_p, (png_infopp)NULL);
goto onErr;
Code: Select all
$ cat /etc/portage/package.use | grep cnijfilter-3.20
=net-print/cnijfilter-3.20 backends drivers mp560 -servicetools net -gtk abi_x86_32
Code: Select all
$ cat /etc/portage/package.use | grep libglade
gnome-base/libglade abi_x86_32
Code: Select all
$ eix -I cnijfilter
[I] net-print/cnijfilter
Available versions:
(3) (~)3.20^m[1]
(0) [m](~)3.80[2]
{backends debug +drivers gtk ip4700 mp250 mp270 mp490 mp550 mp560 mp640 +net (+)servicetools +usb ABI_X86="32"}
Installed versions: 3.20(3)^m[1](02:07:27 07/04/15)(backends drivers mp560 net usb -debug -gtk -ip4700 -mp250 -mp270 -mp490 -mp550 -mp640 -servicetools ABI_X86="32")
Homepage: http://support-sg.canon-asia.com/contents/SG/EN/0100469302.html
Description: Canon InkJet Printer Driver for Linux (Pixus/Pixma-Series).
[1] "local_overlay" /usr/local/portage
[2] "sabayon" /var/lib/layman/sabayon
As far as my PIXMA MP510 is concerned, I don't think I will be able to get your cnijfilter-2.70 ebuild to install, as it wants gtk+:1[abi_x86_32], which is not available in the Portage tree. So I will use the Gutenprint driver for the MP510.
You might need to update slightly the 3.20 ebuild and some of the patch files for the 3.20 ebuild as shown above. Thanks for your work on the ebuilds.