diff options
Diffstat (limited to 'main/imlib2')
-rw-r--r-- | main/imlib2/APKBUILD | 41 | ||||
-rw-r--r-- | main/imlib2/imlib2-png15.patch | 78 |
2 files changed, 119 insertions, 0 deletions
diff --git a/main/imlib2/APKBUILD b/main/imlib2/APKBUILD new file mode 100644 index 0000000000..127b193020 --- /dev/null +++ b/main/imlib2/APKBUILD @@ -0,0 +1,41 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=imlib2 +pkgver=1.4.4 +pkgrel=6 +pkgdesc="Library that does image file loading and saving as well as rendering, manipulation, arbitrary polygon support" +url="http://sourceforge.net/projects/enlightenment/" +arch="all" +license="BSD" +subpackages="$pkgname-dev $pkgname-doc" +depends= +makedepends="tiff-dev giflib-dev bzip2-dev freetype-dev libxext-dev + libpng-dev libid3tag-dev jpeg-dev libsm-dev zlib-dev util-linux-ng-dev" +source="http://downloads.sourceforge.net/enlightenment/$pkgname-$pkgver.tar.bz2 + imlib2-png15.patch" + +_builddir="$srcdir"/$pkgname-$pkgver +prepare() { + cd "$_builddir" + patch -p0 < "$srcdir"/imlib2-png15.patch +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc/imlib2 \ + --x-libraries=/usr/lib \ + --disable-mmx \ + --disable-amd64 \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR=$pkgdir install || return 1 + rm "$pkgdir"/usr/lib/*.la \ + "$pkgdir"/usr/lib/imlib2/*/*.la || return 1 + install -Dm644 COPYING $pkgdir/usr/share/licenses/$pkgname/COPYING +} +md5sums="b6de51879502e857d5b1f7622267a030 imlib2-1.4.4.tar.bz2 +8222a87235e8e0a17c01b81ea12c5184 imlib2-png15.patch" diff --git a/main/imlib2/imlib2-png15.patch b/main/imlib2/imlib2-png15.patch new file mode 100644 index 0000000000..d66b918000 --- /dev/null +++ b/main/imlib2/imlib2-png15.patch @@ -0,0 +1,78 @@ +# http://sourceforge.net/mailarchive/message.php?msg_id=26972342 + +$NetBSD: patch-af,v 1.4 2011/01/14 10:02:54 wiz Exp $ + +Fix build with png-1.5. + +--- src/modules/loaders/loader_png.c.orig 2010-02-08 00:29:06.000000000 -0800 ++++ src/modules/loaders/loader_png.c 2010-02-08 00:34:14.000000000 -0800 +@@ -58,7 +58,7 @@ + fclose(f); + return 0; + } +- if (setjmp(png_ptr->jmpbuf)) ++ if (setjmp(png_jmpbuf(png_ptr))) + { + png_destroy_read_struct(&png_ptr, &info_ptr, NULL); + fclose(f); +@@ -238,7 +238,7 @@ + png_structp png_ptr; + png_infop info_ptr; + DATA32 *ptr; +- int x, y, j; ++ int x, y, j, interlace; + png_bytep row_ptr, data = NULL; + png_color_8 sig_bit; + int pl = 0; +@@ -265,7 +265,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) & info_ptr); +@@ -274,11 +274,11 @@ + } + + /* check whether we should use interlacing */ ++ interlace = PNG_INTERLACE_NONE; + if ((tag = __imlib_GetTag(im, "interlacing")) && tag->val) + { + #ifdef PNG_WRITE_INTERLACING_SUPPORTED +- png_ptr->interlaced = PNG_INTERLACE_ADAM7; +- num_passes = png_set_interlace_handling(png_ptr); ++ interlace = PNG_INTERLACE_ADAM7; + #endif + } + +@@ -286,7 +286,7 @@ + if (im->flags & F_HAS_ALPHA) + { + png_set_IHDR(png_ptr, info_ptr, im->w, im->h, 8, +- PNG_COLOR_TYPE_RGB_ALPHA, png_ptr->interlaced, ++ PNG_COLOR_TYPE_RGB_ALPHA, interlace, + PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE); + #ifdef WORDS_BIGENDIAN + png_set_swap_alpha(png_ptr); +@@ -297,7 +297,7 @@ + else + { + png_set_IHDR(png_ptr, info_ptr, im->w, im->h, 8, PNG_COLOR_TYPE_RGB, +- png_ptr->interlaced, PNG_COMPRESSION_TYPE_BASE, ++ interlace, PNG_COMPRESSION_TYPE_BASE, + PNG_FILTER_TYPE_BASE); + data = malloc(im->w * 3 * sizeof(char)); + } +@@ -344,6 +344,10 @@ + png_set_shift(png_ptr, &sig_bit); + png_set_packing(png_ptr); + ++#ifdef PNG_WRITE_INTERLACING_SUPPORTED ++ num_passes = png_set_interlace_handling(png_ptr); ++#endif ++ + for (pass = 0; pass < num_passes; pass++) + { + ptr = im->data; |