summaryrefslogtreecommitdiff
path: root/community/flam3
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-02-06 23:14:50 +0000
committerroot <root@rshg054.dnsready.net>2012-02-06 23:14:50 +0000
commit1fa6edfba8d1e31ca1c0d59e8202cd3c62ccf393 (patch)
tree8d7ccc2dc9d08a4c3cde26aa01c887e9a0fc2fa1 /community/flam3
parentbdb5b3e66f6afa586ea147f69af5e4ba388f7615 (diff)
Mon Feb 6 23:14:50 UTC 2012
Diffstat (limited to 'community/flam3')
-rw-r--r--community/flam3/PKGBUILD10
-rw-r--r--community/flam3/flam3-3.0.1-libpng15.patch76
2 files changed, 82 insertions, 4 deletions
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 <eric@archlinux.org>
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);