Package Details: pixmaip1500 2.5-2

Package Base: pixmaip1500
Description: Printer driver for Canon Pixma ip1500
Upstream URL: http://www.canon.com/
Category: lib
Licenses: custom
Submitter: None
Maintainer: None
Last Packager: None
Votes: 4
First Submitted: 2006-03-24 22:03
Last Updated: 2007-11-05 06:09

Latest Comments

Comment by ewtoombs

2012-09-12 05:06

I got a build error:

gcc -DHAVE_CONFIG_H -I. -I.. -I../include/cncl -I../include/misc -O2 -MT bjfimage.o -MD -MP -MF .deps/bjfimage.Tpo -c -o bjfimage.o bjfimage.c
bjfimage.c: In function ‘png_image_init’:
bjfimage.c:1335:6: error: dereferencing pointer to incomplete type
bjfimage.c:1347:16: warning: passing argument 3 of ‘png_get_IHDR’ from incompatible pointer type [enabled by default]
In file included from bjfimage.c:44:0:
/usr/include/png.h:2187:1: note: expected ‘png_uint_32 *’ but argument is of type ‘long int *’
bjfimage.c:1347:16: warning: passing argument 4 of ‘png_get_IHDR’ from incompatible pointer type [enabled by default]
In file included from bjfimage.c:44:0:
/usr/include/png.h:2187:1: note: expected ‘png_uint_32 *’ but argument is of type ‘long int *’

It's because it is expecting an older version of libpng, libpng12.
This is what I did to the PKGBUILD:
# Contributor: Roman Abreu <romanlx at gmail.com>
pkgname=pixmaip1500
_casepkgname=iP1500Linux
pkgver=2.5
pkgrel=3
pkgdesc="Printer driver for Canon Pixma ip1500"
arch=('i686')
url="http://www.canon.com/"
license=('custom')
depends=('rpmextract' 'hplip' 'ghostscript' 'libpng12')
source=("http://software.canon-europe.com/files/soft22415/software/${_casepkgname}.tar.gz" 'bjfilter-switch-to-libpng12.patch')
md5sums=('a77599e93a334107eb003e656ff6893b'
'3849d67c44622c93db402ba864cedf89')
build() {
cd "$srcdir/iP1500"
rpmextract.sh bjfilter-common-2.50-2.src.rpm
tar xvf bjfilter-common-2.50-2.tar.gz
cd bjfilter-common-2.50
mkdir -p "$pkgdir/usr/share/cups/model"
cp ppd/canonpixmaip1500.ppd "$pkgdir/usr/share/cups/model"
mkdir -p "$pkgdir/usr/lib/bjlib"
cp 214/database/* "$pkgdir/usr/lib/bjlib"
cp -a 214/libs_bin/* "$pkgdir/usr/lib"

cd libs
./autogen.sh --prefix="$pkgdir/usr/local"
make
make install
cd ..

cd bjfilter
patch -p0 <"$srcdir/bjfilter-switch-to-libpng12.patch"
./autogen.sh --prefix="$pkgdir/usr/local" --program-suffix=pixmaip1500
make
make install
cd ..

cd pstocanonbj
mkdir -p "$pkgdir/usr/lib/cups/filter/"
./autogen.sh --prefix="$pkgdir/usr/local"
make
make install
cd ..
cp "$srcdir/iP1500/bjfilter-common-2.50/pstocanonbj/filter/pstocanonbj" "$pkgdir/usr/lib/cups/filter/"

}

and the patch, bjfilter-switch-to-libpng12.patch:
--- src/bjfimage.c.old 2012-09-11 23:51:09.312181009 -0400
+++ src/bjfimage.c 2012-09-11 23:51:32.205868378 -0400
@@ -41,7 +41,7 @@
#include <stdio.h>
#include <stdlib.h>

-#include <png.h>
+#include <libpng12/png.h>


#include "cpktypes.h"

Comment by ewtoombs

2012-09-12 03:35

'foomatic' is not a necessary dependency. It is pulled in automatically from hplip. In any case, it was spelt wrong. The package is called foomatic-db.

Anonymous comment

2012-08-12 12:52

Could you build the package for 64-bit systems?