summaryrefslogtreecommitdiff
path: root/extra/imlib
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-08-02 01:31:32 -0700
committerroot <root@rshg054.dnsready.net>2013-08-02 01:31:32 -0700
commitf7cd2a0a073da2373cd3f3c8e31515dd0b83b645 (patch)
treee28c5c379825afaf02a927a8f1d1b1fcb94c2362 /extra/imlib
parent70ec180b1cca6eda5576597c2bfff9171f7815bf (diff)
Fri Aug 2 01:30:56 PDT 2013
Diffstat (limited to 'extra/imlib')
-rw-r--r--extra/imlib/PKGBUILD11
-rw-r--r--extra/imlib/imlib-giflib5.patch110
2 files changed, 117 insertions, 4 deletions
diff --git a/extra/imlib/PKGBUILD b/extra/imlib/PKGBUILD
index 6b11188fb..d3c6cf8f0 100644
--- a/extra/imlib/PKGBUILD
+++ b/extra/imlib/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 184394 2013-05-06 19:37:57Z foutrelis $
+# $Id: PKGBUILD 191919 2013-08-01 06:59:48Z bpiotrowski $
# Maintainer: Eric BĂ©langer <eric@archlinux.org>
pkgname=imlib
pkgver=1.9.15
-pkgrel=12
+pkgrel=13
pkgdesc="General image handling library for X11 and Gtk"
arch=('i686' 'x86_64')
url="http://freshmeat.net/projects/imlib/"
@@ -12,12 +12,14 @@ 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 imlib-1.9.15-libpng15.patch)
+ debian-bug448360.patch CAN-2004-1026.patch aclocal-fixes.patch
+ imlib-1.9.15-libpng15.patch imlib-giflib5.patch)
sha1sums=('c9a732a354fbb3c7e1a426e5d19fc92d73f8f720'
'fe2fd9ce4d7bc62271e724153de39012de8ec5ee'
'ec1b47281c1a7fb21abe841f948ecc56ed13f310'
'af54cb1ee0c8c6122b277284ebdd1022e31df3b5'
- '33c3aaa43eb624f2a6ab0406285a8515903333e3')
+ '33c3aaa43eb624f2a6ab0406285a8515903333e3'
+ '56e9d65e05a347452fd608d2dfc8538f7ce09893')
prepare() {
cd ${pkgname}-${pkgver}
@@ -25,6 +27,7 @@ prepare() {
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"
+ patch -p1 -i "${srcdir}/imlib-giflib5.patch"
sed '/AC_PATH_XTRA/d' -i configure.in
libtoolize --force
cp /usr/bin/libtool .
diff --git a/extra/imlib/imlib-giflib5.patch b/extra/imlib/imlib-giflib5.patch
new file mode 100644
index 000000000..affd206fc
--- /dev/null
+++ b/extra/imlib/imlib-giflib5.patch
@@ -0,0 +1,110 @@
+diff -Naur imlib-1.9.15-orig/Imlib/load.c imlib-1.9.15/Imlib/load.c
+--- imlib-1.9.15-orig/Imlib/load.c 2013-07-29 17:33:54.656601713 -0400
++++ imlib-1.9.15/Imlib/load.c 2013-07-29 17:39:39.063991823 -0400
+@@ -444,6 +444,7 @@
+ int intjump[] = {8, 8, 4, 2};
+ int istransp, transp;
+ int fd;
++ int Error;
+
+ done = 0;
+ istransp = 0;
+@@ -454,7 +455,7 @@
+ fd = fileno(f);
+ /* Apparently rewind(f) isn't sufficient */
+ lseek(fd, (long) 0, 0);
+- gif = DGifOpenFileHandle(fd);
++ gif = DGifOpenFileHandle(fd, &Error);
+
+ if (!gif)
+ return NULL;
+diff -Naur imlib-1.9.15-orig/gdk_imlib/io-gif.c imlib-1.9.15/gdk_imlib/io-gif.c
+--- imlib-1.9.15-orig/gdk_imlib/io-gif.c 2013-07-29 17:33:54.656601713 -0400
++++ imlib-1.9.15/gdk_imlib/io-gif.c 2013-07-29 17:37:11.941783903 -0400
+@@ -23,6 +23,7 @@
+ int intjump[] = {8, 8, 4, 2};
+ int istransp, transp;
+ int fd;
++ int Error;
+
+ done = 0;
+ istransp = 0;
+@@ -30,7 +31,7 @@
+ fd = fileno(f);
+ /* Apparently rewind(f) isn't sufficient */
+ lseek(fd, (long) 0, 0);
+- gif = DGifOpenFileHandle(fd);
++ gif = DGifOpenFileHandle(fd, &Error);
+
+ transp = -1;
+ data = NULL;
+diff -Naur imlib-1.9.15-orig/Imlib/load.c imlib-1.9.15/Imlib/load.c
+--- imlib-1.9.15-orig/Imlib/load.c 2013-07-29 22:06:15.111285191 -0400
++++ imlib-1.9.15/Imlib/load.c 2013-07-29 22:07:36.926673905 -0400
+@@ -6,6 +6,14 @@
+
+ #define G_MAXINT ((int) 0x7fffffff)
+
++static void
++localPrintGifError(void)
++{
++ int ErrorCode=0;
++ GifErrorString(ErrorCode);
++ fprintf(stderr, "\nGIF-LIB error: %i.\n", ErrorCode);
++}
++
+ /* Split the ID - damages input */
+
+ static char *
+@@ -462,14 +470,14 @@
+ {
+ if (DGifGetRecordType(gif, &rec) == GIF_ERROR)
+ {
+- PrintGifError();
++ localPrintGifError();
+ rec = TERMINATE_RECORD_TYPE;
+ }
+ if ((rec == IMAGE_DESC_RECORD_TYPE) && (!done))
+ {
+ if (DGifGetImageDesc(gif) == GIF_ERROR)
+ {
+- PrintGifError();
++ localPrintGifError();
+ rec = TERMINATE_RECORD_TYPE;
+ }
+ *w = gif->Image.Width;
+diff -Naur imlib-1.9.15-orig/gdk_imlib/io-gif.c imlib-1.9.15/gdk_imlib/io-gif.c
+--- imlib-1.9.15-orig/gdk_imlib/io-gif.c 2013-07-29 22:06:15.111285191 -0400
++++ imlib-1.9.15/gdk_imlib/io-gif.c 2013-07-29 22:08:46.182265058 -0400
+@@ -10,6 +10,14 @@
+ #else
+ #include <gif_lib.h>
+
++static void
++localPrintGifError(void)
++{
++ int ErrorCode=0;
++ GifErrorString(ErrorCode);
++ fprintf(stderr, "\nGIF-LIB error: %i.\n", ErrorCode);
++}
++
+ unsigned char *
+ loader_gif(FILE *f, int *w, int *h, int *t)
+ {
+@@ -43,14 +51,14 @@
+ {
+ if (DGifGetRecordType(gif, &rec) == GIF_ERROR)
+ {
+- PrintGifError();
++ localPrintGifError();
+ rec = TERMINATE_RECORD_TYPE;
+ }
+ if ((rec == IMAGE_DESC_RECORD_TYPE) && (!done))
+ {
+ if (DGifGetImageDesc(gif) == GIF_ERROR)
+ {
+- PrintGifError();
++ localPrintGifError();
+ rec = TERMINATE_RECORD_TYPE;
+ }
+ *w = gif->Image.Width;