From 1fa6edfba8d1e31ca1c0d59e8202cd3c62ccf393 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 6 Feb 2012 23:14:50 +0000 Subject: Mon Feb 6 23:14:50 UTC 2012 --- community/flam3/PKGBUILD | 10 ++-- community/flam3/flam3-3.0.1-libpng15.patch | 76 ++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+), 4 deletions(-) create mode 100644 community/flam3/flam3-3.0.1-libpng15.patch (limited to 'community/flam3') diff --git a/community/flam3/PKGBUILD b/community/flam3/PKGBUILD index 08759b92d..663f0f332 100644 --- a/community/flam3/PKGBUILD +++ b/community/flam3/PKGBUILD @@ -1,20 +1,22 @@ -# $Id: PKGBUILD 59890 2011-12-02 04:26:05Z ebelanger $ +# $Id: PKGBUILD 63556 2012-02-05 11:55:49Z ibiru $ # Maintainer: Eric BĂ©langer pkgname=flam3 pkgver=3.0.1 -pkgrel=1 +pkgrel=2 pkgdesc="Tools to create/display fractal flames: algorithmically generated images and animations" arch=('i686' 'x86_64') url="http://flam3.com/" license=('GPL3') depends=('libjpeg' 'libpng' 'libxml2') options=('!libtool') -source=(http://flam3.googlecode.com/files/${pkgname}-${pkgver}.tar.gz) -sha1sums=('8814515f2e49e034e47cf97e9d2c0e932844abb9') +source=(http://flam3.googlecode.com/files/${pkgname}-${pkgver}.tar.gz flam3-3.0.1-libpng15.patch) +sha1sums=('8814515f2e49e034e47cf97e9d2c0e932844abb9' + '17ece6cc00899e5135dad2bc79f97dfbd73107a6') build() { cd "${srcdir}/${pkgname}-${pkgver}/src" + patch -p1 -i ../../flam3-3.0.1-libpng15.patch ./configure --prefix=/usr --enable-shared make } diff --git a/community/flam3/flam3-3.0.1-libpng15.patch b/community/flam3/flam3-3.0.1-libpng15.patch new file mode 100644 index 000000000..61f905589 --- /dev/null +++ b/community/flam3/flam3-3.0.1-libpng15.patch @@ -0,0 +1,76 @@ +http://code.google.com/p/flam3/issues/detail?id=8 + +--- src/png.c ++++ src/png.c +@@ -142,7 +142,7 @@ + } + if (setjmp(png_jmpbuf(png_ptr))) { + if (png_image) { +- for (y = 0 ; y < info_ptr->height ; y++) ++ for (y = 0 ; y < png_get_image_height(png_ptr, info_ptr) ; y++) + free (png_image[y]); + free (png_image); + } +@@ -161,19 +161,19 @@ + png_set_sig_bytes (png_ptr, SIG_CHECK_SIZE); + png_read_info (png_ptr, info_ptr); + +- if (8 != info_ptr->bit_depth) { ++ if (8 != png_get_bit_depth(png_ptr, info_ptr)) { + fprintf(stderr, "bit depth type must be 8, not %d.\n", +- info_ptr->bit_depth); ++ png_get_bit_depth(png_ptr, info_ptr)); + return 0; + } + +- *width = info_ptr->width; +- *height = info_ptr->height; ++ *width = png_get_image_width(png_ptr, info_ptr); ++ *height = png_get_image_height(png_ptr, info_ptr); + p = q = malloc(4 * *width * *height); +- png_image = (png_byte **)malloc (info_ptr->height * sizeof (png_byte*)); ++ png_image = (png_byte **)malloc (png_get_image_height(png_ptr, info_ptr) * sizeof (png_byte*)); + +- linesize = info_ptr->width; +- switch (info_ptr->color_type) { ++ linesize = png_get_image_width(png_ptr, info_ptr); ++ switch (png_get_color_type(png_ptr, info_ptr)) { + case PNG_COLOR_TYPE_RGB: + linesize *= 3; + break; +@@ -182,21 +182,21 @@ + break; + default: + fprintf(stderr, "color type must be RGB or RGBA not %d.\n", +- info_ptr->color_type); ++ png_get_color_type(png_ptr, info_ptr)); + return 0; + } + +- for (y = 0 ; y < info_ptr->height ; y++) { ++ for (y = 0 ; y < png_get_image_height(png_ptr, info_ptr) ; y++) { + png_image[y] = malloc (linesize); + } + png_read_image (png_ptr, png_image); + png_read_end (png_ptr, info_ptr); + +- for (y = 0 ; y < info_ptr->height ; y++) { ++ for (y = 0 ; y < png_get_image_height(png_ptr, info_ptr) ; y++) { + unsigned char *s = png_image[y]; +- for (x = 0 ; x < info_ptr->width ; x++) { ++ for (x = 0 ; x < png_get_image_width(png_ptr, info_ptr) ; x++) { + +- switch (info_ptr->color_type) { ++ switch (png_get_color_type(png_ptr, info_ptr)) { + case PNG_COLOR_TYPE_RGB: + p[0] = s[0]; + p[1] = s[1]; +@@ -217,7 +217,7 @@ + } + } + +- for (y = 0 ; y < info_ptr->height ; y++) ++ for (y = 0 ; y < png_get_image_height(png_ptr, info_ptr) ; y++) + free (png_image[y]); + free (png_image); + png_destroy_read_struct (&png_ptr, &info_ptr, (png_infopp)NULL); -- cgit v1.2.3-54-g00ecf