summaryrefslogtreecommitdiff
path: root/extra/imlib
diff options
context:
space:
mode:
Diffstat (limited to 'extra/imlib')
-rw-r--r--extra/imlib/PKGBUILD34
-rw-r--r--extra/imlib/imlib-1.9.15-libpng15.patch142
2 files changed, 160 insertions, 16 deletions
diff --git a/extra/imlib/PKGBUILD b/extra/imlib/PKGBUILD
index 83746ce4f..09b69a401 100644
--- a/extra/imlib/PKGBUILD
+++ b/extra/imlib/PKGBUILD
@@ -1,32 +1,30 @@
-# $Id: PKGBUILD 134264 2011-08-02 18:15:21Z jgc $
-# Maintainer: Eric Belanger <eric@archlinux.org>
-# Contributor: Judd Vinet <jvinet@zeroflux.org>
+# $Id: PKGBUILD 148786 2012-02-05 11:50:28Z ibiru $
+# Maintainer: Eric BĂ©langer <eric@archlinux.org>
pkgname=imlib
pkgver=1.9.15
-pkgrel=10
+pkgrel=11
pkgdesc="General image handling library for X11 and Gtk"
arch=('i686' 'x86_64' 'mips64el')
url="http://freshmeat.net/projects/imlib/"
license=('GPL')
-depends=('gtk' 'giflib' 'libpng>=1.4.0' 'libtiff>=3.9.2-2' 'libjpeg>=8')
+depends=('gtk' 'giflib' 'libpng' 'libtiff')
makedepends=('libxt')
options=('!libtool')
source=(http://ftp.gnome.org/pub/GNOME/sources/imlib/1.9/${pkgname}-${pkgver}.tar.bz2
- debian-bug448360.patch CAN-2004-1026.patch aclocal-fixes.patch libpng14.patch)
-md5sums=('7db987e6c52e4daf70d7d0f471238eae' '5f9da697934b6bd3b497ac9160ce4f5c'\
- 'b273d36aa60adbfaacaf6062234e4c1f' '33b832f0dc6c9723cd0dfe9c8d0a6797'\
- '9d8a029f5fb05978db0dbcd4ff38fe23')
-sha1sums=('c9a732a354fbb3c7e1a426e5d19fc92d73f8f720' 'fe2fd9ce4d7bc62271e724153de39012de8ec5ee'\
- 'ec1b47281c1a7fb21abe841f948ecc56ed13f310' 'af54cb1ee0c8c6122b277284ebdd1022e31df3b5'\
- '20ed6063ba787ac7c2677bb4b135c0b7285c52af')
+ debian-bug448360.patch CAN-2004-1026.patch aclocal-fixes.patch imlib-1.9.15-libpng15.patch)
+sha1sums=('c9a732a354fbb3c7e1a426e5d19fc92d73f8f720'
+ 'fe2fd9ce4d7bc62271e724153de39012de8ec5ee'
+ 'ec1b47281c1a7fb21abe841f948ecc56ed13f310'
+ 'af54cb1ee0c8c6122b277284ebdd1022e31df3b5'
+ '33c3aaa43eb624f2a6ab0406285a8515903333e3')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- patch -Np1 -i "${srcdir}/debian-bug448360.patch"
- patch -Np1 -i "${srcdir}/CAN-2004-1026.patch"
- patch -Np0 -i "${srcdir}/aclocal-fixes.patch"
- patch -Np1 -i "${srcdir}/libpng14.patch"
+ patch -p1 -i "${srcdir}/debian-bug448360.patch"
+ patch -p1 -i "${srcdir}/CAN-2004-1026.patch"
+ patch -p0 -i "${srcdir}/aclocal-fixes.patch"
+ patch -p0 -i "${srcdir}/imlib-1.9.15-libpng15.patch"
sed '/AC_PATH_XTRA/d' -i configure.in
libtoolize --force
cp /usr/bin/libtool .
@@ -34,5 +32,9 @@ build() {
./configure --prefix=/usr --sysconfdir=/etc --mandir=/usr/share/man --enable-shm --disable-static
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
}
diff --git a/extra/imlib/imlib-1.9.15-libpng15.patch b/extra/imlib/imlib-1.9.15-libpng15.patch
new file mode 100644
index 000000000..7837cd488
--- /dev/null
+++ b/extra/imlib/imlib-1.9.15-libpng15.patch
@@ -0,0 +1,142 @@
+--- gdk_imlib/io-png.c
++++ gdk_imlib/io-png.c
+@@ -40,13 +40,13 @@
+ return NULL;
+ }
+
+- if (setjmp(png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
+ }
+
+- if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
+@@ -275,13 +275,13 @@
+ return NULL;
+ }
+
+- if (setjmp(png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
+ }
+
+- if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
+@@ -301,6 +301,9 @@
+ /* Setup Translators */
+ if (color_type == PNG_COLOR_TYPE_PALETTE)
+ png_set_expand(png_ptr);
++ if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8)
++ png_set_expand(png_ptr);
++
+ png_set_strip_16(png_ptr);
+ png_set_packing(png_ptr);
+ if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS))
+@@ -440,13 +443,13 @@
+ return NULL;
+ }
+
+- if (setjmp(png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
+ }
+
+- if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
+@@ -635,7 +638,7 @@
+ png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
+ return 0;
+ }
+- if (setjmp(png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ fclose(f);
+ png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
+--- Imlib/load.c
++++ Imlib/load.c
+@@ -197,12 +197,12 @@
+ png_destroy_read_struct(&png_ptr, NULL, NULL);
+ return NULL;
+ }
+- if (setjmp(png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
+ }
+- if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
+@@ -260,7 +260,8 @@
+ png_read_image(png_ptr, lines);
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ ptr = data;
+- if (color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
++ if (color_type == PNG_COLOR_TYPE_GRAY
++ || color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
+ {
+ for (y = 0; y < *h; y++)
+ {
+@@ -285,6 +286,7 @@
+ }
+ }
+ }
++#if 0
+ else if (color_type == PNG_COLOR_TYPE_GRAY)
+ {
+ for (y = 0; y < *h; y++)
+@@ -300,6 +302,7 @@
+ }
+ }
+ }
++#endif
+ else
+ {
+ for (y = 0; y < *h; y++)
+--- Imlib/save.c
++++ Imlib/save.c
+@@ -342,7 +342,7 @@
+ png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
+ return 0;
+ }
+- if (setjmp(png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ fclose(f);
+ png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
+--- Imlib/utils.c
++++ Imlib/utils.c
+@@ -1981,14 +1981,13 @@
+ png_destroy_read_struct(&png_ptr, NULL, NULL);
+ return NULL;
+ }
+-
+- if (setjmp(png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
+ }
+
+- if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;