[arch-commits] Commit in gimp-plugin-mathmap/repos (10 files)

Felix Yan fyan at archlinux.org
Mon Dec 7 12:58:58 UTC 2015


    Date: Monday, December 7, 2015 @ 13:58:58
  Author: fyan
Revision: 149849

archrelease: copy trunk to community-staging-i686, community-staging-x86_64

Added:
  gimp-plugin-mathmap/repos/community-staging-i686/
  gimp-plugin-mathmap/repos/community-staging-i686/PKGBUILD
    (from rev 149847, gimp-plugin-mathmap/trunk/PKGBUILD)
  gimp-plugin-mathmap/repos/community-staging-i686/fix_libnoise_build.patch
    (from rev 149847, gimp-plugin-mathmap/trunk/fix_libnoise_build.patch)
  gimp-plugin-mathmap/repos/community-staging-i686/giflib-5.1.patch
    (from rev 149847, gimp-plugin-mathmap/trunk/giflib-5.1.patch)
  gimp-plugin-mathmap/repos/community-staging-i686/libpng15.patch
    (from rev 149847, gimp-plugin-mathmap/trunk/libpng15.patch)
  gimp-plugin-mathmap/repos/community-staging-x86_64/
  gimp-plugin-mathmap/repos/community-staging-x86_64/PKGBUILD
    (from rev 149848, gimp-plugin-mathmap/trunk/PKGBUILD)
  gimp-plugin-mathmap/repos/community-staging-x86_64/fix_libnoise_build.patch
    (from rev 149848, gimp-plugin-mathmap/trunk/fix_libnoise_build.patch)
  gimp-plugin-mathmap/repos/community-staging-x86_64/giflib-5.1.patch
    (from rev 149848, gimp-plugin-mathmap/trunk/giflib-5.1.patch)
  gimp-plugin-mathmap/repos/community-staging-x86_64/libpng15.patch
    (from rev 149848, gimp-plugin-mathmap/trunk/libpng15.patch)

---------------------------------------------------+
 community-staging-i686/PKGBUILD                   |   43 +++++
 community-staging-i686/fix_libnoise_build.patch   |   12 +
 community-staging-i686/giflib-5.1.patch           |   21 ++
 community-staging-i686/libpng15.patch             |  170 ++++++++++++++++++++
 community-staging-x86_64/PKGBUILD                 |   43 +++++
 community-staging-x86_64/fix_libnoise_build.patch |   12 +
 community-staging-x86_64/giflib-5.1.patch         |   21 ++
 community-staging-x86_64/libpng15.patch           |  170 ++++++++++++++++++++
 8 files changed, 492 insertions(+)

Copied: gimp-plugin-mathmap/repos/community-staging-i686/PKGBUILD (from rev 149847, gimp-plugin-mathmap/trunk/PKGBUILD)
===================================================================
--- community-staging-i686/PKGBUILD	                        (rev 0)
+++ community-staging-i686/PKGBUILD	2015-12-07 12:58:58 UTC (rev 149849)
@@ -0,0 +1,43 @@
+# $Id$
+# Maintainer: Lukas Jirkovsky <l.jirkovsky at gmail.com>
+# Contributor: Geoffroy Carrier <geoffroy.carrier at aur.archlinux.org>
+# Contributor: Serge Gielkens <gielkens.serge at mumeli.org>
+pkgname=gimp-plugin-mathmap
+pkgver=1.3.5
+pkgrel=6
+pkgdesc="A GIMP plug-in which allows distortion of images specified by mathematical formulae"
+arch=('i686' 'x86_64')
+url="http://www.complang.tuwien.ac.at/schani/mathmap/"
+license=('GPL')
+depends=('gimp' 'gsl' 'gtksourceview2' 'fftw' 'giflib')
+makedepends=('doxygen' 'unzip')
+provides=('gimp-mathmap')
+replaces=('gimp-mathmap')
+source=(http://www.complang.tuwien.ac.at/schani/mathmap/files/mathmap-${pkgver}.tar.gz \
+        fix_libnoise_build.patch libpng15.patch giflib-5.1.patch)
+md5sums=('6ff66d070ea410dee1a27283d05b8beb'
+         'eca40de0ba0e6b8d34b7d1f904bc3d18'
+         '9780d6354b7380b772c4616253ecee54'
+         'a4dae904ede98ee8d3104bcfd285cec5')
+
+prepare() {
+  cd "$srcdir/mathmap-$pkgver"
+
+  # fix problem with building libnoise
+  patch -Np1 < "$srcdir"/fix_libnoise_build.patch
+  # fix for libpng 1.5
+  patch -Np1 < "$srcdir"/libpng15.patch
+  # fix for giflib 5.1
+  patch -Np1 < "$srcdir"/giflib-5.1.patch
+}
+
+build() {
+  cd "$srcdir/mathmap-$pkgver"
+
+  make
+}
+
+package() {
+  cd "$srcdir/mathmap-$pkgver"
+  make DESTDIR="$pkgdir" install
+}

Copied: gimp-plugin-mathmap/repos/community-staging-i686/fix_libnoise_build.patch (from rev 149847, gimp-plugin-mathmap/trunk/fix_libnoise_build.patch)
===================================================================
--- community-staging-i686/fix_libnoise_build.patch	                        (rev 0)
+++ community-staging-i686/fix_libnoise_build.patch	2015-12-07 12:58:58 UTC (rev 149849)
@@ -0,0 +1,12 @@
+diff -rup mathmap-1.3.5/Makefile mathmap-1.3.5-fix//Makefile
+--- mathmap-1.3.5/Makefile	2009-08-23 13:56:14.000000000 +0200
++++ mathmap-1.3.5-fix//Makefile	2010-11-11 16:48:13.308941852 +0100
+@@ -178,7 +178,7 @@ backends/lazy_creator.o : backends/lazy_
+ 	$(CXX) $(MATHMAP_CXXFLAGS) $(FORMATDEFS) -o $@ -c backends/lazy_creator.cpp
+ 
+ builtins/libnoise.o : builtins/libnoise.cpp builtins/libnoise.h
+-	$(CXX) $(MATHMAP_CXXFLAGS) -Ilibnoise/noise/include -o $@ -c builtins/libnoise.cpp
++	$(CXX) $(MATHMAP_CXXFLAGS) -Ilibnoise/noise/include -Ilibnoise/noise/src -o $@ -c builtins/libnoise.cpp
+ 
+ new_builtins.c opdefs.h opfuncs.h compiler_types.h llvm-ops.h : builtins.lisp ops.lisp
+ 	clisp builtins.lisp

Copied: gimp-plugin-mathmap/repos/community-staging-i686/giflib-5.1.patch (from rev 149847, gimp-plugin-mathmap/trunk/giflib-5.1.patch)
===================================================================
--- community-staging-i686/giflib-5.1.patch	                        (rev 0)
+++ community-staging-i686/giflib-5.1.patch	2015-12-07 12:58:58 UTC (rev 149849)
@@ -0,0 +1,21 @@
+diff -rup mathmap-1.3.5/rwimg/rwgif.c mathmap-1.3.5.new/rwimg/rwgif.c
+--- mathmap-1.3.5/rwimg/rwgif.c	2009-08-23 13:56:14.000000000 +0200
++++ mathmap-1.3.5.new/rwimg/rwgif.c	2014-05-29 11:31:51.388388393 +0200
+@@ -54,7 +54,7 @@ open_gif_file (const char *filename, int
+     
+     assert(data != 0);
+     
+-    data->file = DGifOpenFileName(filename);
++    data->file = DGifOpenFileName(filename, NULL);
+     
+     assert(data->file !=0);
+         
+@@ -137,7 +137,7 @@ open_gif_file (const char *filename, int
+     }
+     free(buffer);
+     
+-    assert(DGifCloseFile(data->file) == GIF_OK);
++    assert(DGifCloseFile(data->file, NULL) == GIF_OK);
+     
+     return data;
+ }

Copied: gimp-plugin-mathmap/repos/community-staging-i686/libpng15.patch (from rev 149847, gimp-plugin-mathmap/trunk/libpng15.patch)
===================================================================
--- community-staging-i686/libpng15.patch	                        (rev 0)
+++ community-staging-i686/libpng15.patch	2015-12-07 12:58:58 UTC (rev 149849)
@@ -0,0 +1,170 @@
+diff -rup mathmap-1.3.5/rwimg/rwpng.c mathmap-1.3.5.new/rwimg/rwpng.c
+--- mathmap-1.3.5/rwimg/rwpng.c	2009-08-23 13:56:14.000000000 +0200
++++ mathmap-1.3.5.new/rwimg/rwpng.c	2012-01-27 13:02:29.708023734 +0100
+@@ -58,34 +58,34 @@ open_png_file_reading (const char *filen
+     data->end_info = png_create_info_struct(data->png_ptr);
+     assert(data->end_info != 0);
+ 
+-    if (setjmp(data->png_ptr->jmpbuf))
++    if (setjmp(png_jmpbuf(data->png_ptr)))
+ 	assert(0);
+ 
+     png_init_io(data->png_ptr, data->file);
+ 
+     png_read_info(data->png_ptr, data->info_ptr);
+ 
+-    *width = data->info_ptr->width;
+-    *height = data->info_ptr->height;
++    *width = png_get_image_width(data->png_ptr, data->info_ptr);
++    *height = png_get_image_height(data->png_ptr, data->info_ptr);
+ 
+-    if (data->info_ptr->bit_depth != 8 && data->info_ptr->bit_depth != 16)
++    if (png_get_bit_depth(data->png_ptr, data->info_ptr) != 8 && png_get_bit_depth(data->png_ptr, data->info_ptr) != 16)
+     {
+ 	fprintf(stderr, "PNG files are only supported with bit depths 8 and 16.\n");
+ 	/* FIXME: free stuff */
+ 	return 0;
+     }
+ 
+-    if (data->info_ptr->color_type != PNG_COLOR_TYPE_RGB
+-	&& data->info_ptr->color_type != PNG_COLOR_TYPE_RGB_ALPHA
+-	&& data->info_ptr->color_type != PNG_COLOR_TYPE_GRAY
+-	&& data->info_ptr->color_type != PNG_COLOR_TYPE_GRAY_ALPHA)
++    if (png_get_color_type(data->png_ptr, data->info_ptr) != PNG_COLOR_TYPE_RGB
++	&& png_get_color_type(data->png_ptr, data->info_ptr) != PNG_COLOR_TYPE_RGB_ALPHA
++	&& png_get_color_type(data->png_ptr, data->info_ptr) != PNG_COLOR_TYPE_GRAY
++	&& png_get_color_type(data->png_ptr, data->info_ptr) != PNG_COLOR_TYPE_GRAY_ALPHA)
+     {
+ 	fprintf(stderr, "PNG files are only supported in RGB and Gray, with or without alpha.\n");
+ 	/* FIXME: free stuff */
+ 	return 0;
+     }
+ 
+-    if (data->info_ptr->interlace_type != PNG_INTERLACE_NONE)
++    if (png_get_interlace_type(data->png_ptr, data->info_ptr) != PNG_INTERLACE_NONE)
+     {
+ 	fprintf(stderr, "Interlaced PNG files are not supported.\n");
+ 	/* FIXME: free stuff */
+@@ -105,24 +105,24 @@ png_read_lines (void *_data, unsigned ch
+     int bps, spp;
+     unsigned char *row;
+ 
+-    if (setjmp(data->png_ptr->jmpbuf))
++    if (setjmp(png_jmpbuf(data->png_ptr)))
+ 	assert(0);
+ 
+-    if (data->info_ptr->color_type == PNG_COLOR_TYPE_GRAY)
++    if (png_get_color_type(data->png_ptr, data->info_ptr) == PNG_COLOR_TYPE_GRAY)
+ 	spp = 1;
+-    else if (data->info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
++    else if (png_get_color_type(data->png_ptr, data->info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA)
+ 	spp = 2;
+-    else if (data->info_ptr->color_type == PNG_COLOR_TYPE_RGB)
++    else if (png_get_color_type(data->png_ptr, data->info_ptr) == PNG_COLOR_TYPE_RGB)
+ 	spp = 3;
+     else
+ 	spp = 4;
+ 
+-    if (data->info_ptr->bit_depth == 16)
++    if (png_get_bit_depth(data->png_ptr, data->info_ptr) == 16)
+ 	bps = 2;
+     else
+ 	bps = 1;
+ 
+-    row = (unsigned char*)malloc(data->info_ptr->width * spp * bps);
++    row = (unsigned char*)malloc(png_get_image_width(data->png_ptr, data->info_ptr) * spp * bps);
+ 
+     for (i = 0; i < num_lines; ++i)
+     {
+@@ -131,13 +131,13 @@ png_read_lines (void *_data, unsigned ch
+ 	png_read_row(data->png_ptr, (png_bytep)row, 0);
+ 
+ 	if (spp <= 2)
+-	    for (j = 0; j < data->info_ptr->width; ++j)
++	    for (j = 0; j < png_get_image_width(data->png_ptr, data->info_ptr); ++j)
+ 		for (channel = 0; channel < 3; ++channel)
+-		    lines[i * data->info_ptr->width * 3 + j * 3 + channel] = row[j * spp * bps];
++		    lines[i * png_get_image_width(data->png_ptr, data->info_ptr) * 3 + j * 3 + channel] = row[j * spp * bps];
+ 	else
+-	    for (j = 0; j < data->info_ptr->width; ++j)
++	    for (j = 0; j < png_get_image_width(data->png_ptr, data->info_ptr); ++j)
+ 		for (channel = 0; channel < 3; ++channel)
+-		    lines[i * data->info_ptr->width * 3 + j * 3 + channel]
++		    lines[i * png_get_image_width(data->png_ptr, data->info_ptr) * 3 + j * 3 + channel]
+ 			= row[j * spp * bps + channel * bps];
+     }
+ 
+@@ -151,7 +151,7 @@ png_free_reader_data (void *_data)
+ {
+     png_data_t *data = (png_data_t*)_data;
+ 
+-    if (setjmp(data->png_ptr->jmpbuf))
++    if (setjmp(png_jmpbuf(data->png_ptr)))
+ 	assert(0);
+ 
+     if (data->have_read)
+@@ -180,7 +180,7 @@ open_png_file_writing (const char *filen
+     data->info_ptr = png_create_info_struct(data->png_ptr);
+     assert(data->info_ptr != 0);
+ 
+-    if (setjmp(data->png_ptr->jmpbuf))
++    if (setjmp(png_jmpbuf(data->png_ptr)))
+ 	assert(0);
+ 
+     if (pixel_stride == 4)
+@@ -188,18 +188,9 @@ open_png_file_writing (const char *filen
+ 
+     png_init_io(data->png_ptr, data->file);
+ 
+-    data->info_ptr->width = width;
+-    data->info_ptr->height = height;
+-    data->info_ptr->valid = 0;
+-    data->info_ptr->rowbytes = width * 3;
+-    data->info_ptr->palette = 0;
+-    data->info_ptr->num_palette = 0;
+-    data->info_ptr->num_trans = 0;
+-    data->info_ptr->bit_depth = 8;
+-    data->info_ptr->color_type = PNG_COLOR_TYPE_RGB;
+-    data->info_ptr->compression_type = PNG_COMPRESSION_TYPE_DEFAULT;
+-    data->info_ptr->filter_type = PNG_FILTER_TYPE_DEFAULT;
+-    data->info_ptr->interlace_type = PNG_INTERLACE_NONE;
++    png_set_IHDR(data->png_ptr, data->info_ptr, width, height,
++    8, PNG_COLOR_TYPE_RGB, PNG_INTERLACE_NONE,
++    PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT);
+ 
+     png_write_info(data->png_ptr, data->info_ptr);
+ 
+@@ -216,12 +207,12 @@ png_write_lines (void *_data, unsigned c
+     unsigned char *packed_line;
+     int i;
+ 
+-    if (setjmp(data->png_ptr->jmpbuf))
++    if (setjmp(png_jmpbuf(data->png_ptr)))
+ 	assert(0);
+ 
+     if (data->pixel_stride != 3)
+     {
+-	packed_line = (unsigned char*)malloc(data->info_ptr->width * 3);
++	packed_line = (unsigned char*)malloc(png_get_image_width(data->png_ptr, data->info_ptr) * 3);
+ 	assert(packed_line != 0);
+     }
+     else
+@@ -235,7 +226,7 @@ png_write_lines (void *_data, unsigned c
+ 	{
+ 	    int j;
+ 
+-	    for (j = 0; j < data->info_ptr->width; ++j)
++	    for (j = 0; j < png_get_image_width(data->png_ptr, data->info_ptr); ++j)
+ 	    {
+ 		packed_line[j * 3 + 0] = p[j * data->pixel_stride + 0];
+ 		packed_line[j * 3 + 1] = p[j * data->pixel_stride + 1];
+@@ -257,7 +248,7 @@ png_free_writer_data (void *_data)
+ {
+     png_data_t *data = (png_data_t*)_data;
+ 
+-    if (setjmp(data->png_ptr->jmpbuf))
++    if (setjmp(png_jmpbuf(data->png_ptr)))
+ 	assert(0);
+ 
+     png_write_end(data->png_ptr, data->info_ptr);
+Only in mathmap-1.3.5.new/rwimg: rwpng.c.orig

Copied: gimp-plugin-mathmap/repos/community-staging-x86_64/PKGBUILD (from rev 149848, gimp-plugin-mathmap/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2015-12-07 12:58:58 UTC (rev 149849)
@@ -0,0 +1,43 @@
+# $Id$
+# Maintainer: Lukas Jirkovsky <l.jirkovsky at gmail.com>
+# Contributor: Geoffroy Carrier <geoffroy.carrier at aur.archlinux.org>
+# Contributor: Serge Gielkens <gielkens.serge at mumeli.org>
+pkgname=gimp-plugin-mathmap
+pkgver=1.3.5
+pkgrel=6
+pkgdesc="A GIMP plug-in which allows distortion of images specified by mathematical formulae"
+arch=('i686' 'x86_64')
+url="http://www.complang.tuwien.ac.at/schani/mathmap/"
+license=('GPL')
+depends=('gimp' 'gsl' 'gtksourceview2' 'fftw' 'giflib')
+makedepends=('doxygen' 'unzip')
+provides=('gimp-mathmap')
+replaces=('gimp-mathmap')
+source=(http://www.complang.tuwien.ac.at/schani/mathmap/files/mathmap-${pkgver}.tar.gz \
+        fix_libnoise_build.patch libpng15.patch giflib-5.1.patch)
+md5sums=('6ff66d070ea410dee1a27283d05b8beb'
+         'eca40de0ba0e6b8d34b7d1f904bc3d18'
+         '9780d6354b7380b772c4616253ecee54'
+         'a4dae904ede98ee8d3104bcfd285cec5')
+
+prepare() {
+  cd "$srcdir/mathmap-$pkgver"
+
+  # fix problem with building libnoise
+  patch -Np1 < "$srcdir"/fix_libnoise_build.patch
+  # fix for libpng 1.5
+  patch -Np1 < "$srcdir"/libpng15.patch
+  # fix for giflib 5.1
+  patch -Np1 < "$srcdir"/giflib-5.1.patch
+}
+
+build() {
+  cd "$srcdir/mathmap-$pkgver"
+
+  make
+}
+
+package() {
+  cd "$srcdir/mathmap-$pkgver"
+  make DESTDIR="$pkgdir" install
+}

Copied: gimp-plugin-mathmap/repos/community-staging-x86_64/fix_libnoise_build.patch (from rev 149848, gimp-plugin-mathmap/trunk/fix_libnoise_build.patch)
===================================================================
--- community-staging-x86_64/fix_libnoise_build.patch	                        (rev 0)
+++ community-staging-x86_64/fix_libnoise_build.patch	2015-12-07 12:58:58 UTC (rev 149849)
@@ -0,0 +1,12 @@
+diff -rup mathmap-1.3.5/Makefile mathmap-1.3.5-fix//Makefile
+--- mathmap-1.3.5/Makefile	2009-08-23 13:56:14.000000000 +0200
++++ mathmap-1.3.5-fix//Makefile	2010-11-11 16:48:13.308941852 +0100
+@@ -178,7 +178,7 @@ backends/lazy_creator.o : backends/lazy_
+ 	$(CXX) $(MATHMAP_CXXFLAGS) $(FORMATDEFS) -o $@ -c backends/lazy_creator.cpp
+ 
+ builtins/libnoise.o : builtins/libnoise.cpp builtins/libnoise.h
+-	$(CXX) $(MATHMAP_CXXFLAGS) -Ilibnoise/noise/include -o $@ -c builtins/libnoise.cpp
++	$(CXX) $(MATHMAP_CXXFLAGS) -Ilibnoise/noise/include -Ilibnoise/noise/src -o $@ -c builtins/libnoise.cpp
+ 
+ new_builtins.c opdefs.h opfuncs.h compiler_types.h llvm-ops.h : builtins.lisp ops.lisp
+ 	clisp builtins.lisp

Copied: gimp-plugin-mathmap/repos/community-staging-x86_64/giflib-5.1.patch (from rev 149848, gimp-plugin-mathmap/trunk/giflib-5.1.patch)
===================================================================
--- community-staging-x86_64/giflib-5.1.patch	                        (rev 0)
+++ community-staging-x86_64/giflib-5.1.patch	2015-12-07 12:58:58 UTC (rev 149849)
@@ -0,0 +1,21 @@
+diff -rup mathmap-1.3.5/rwimg/rwgif.c mathmap-1.3.5.new/rwimg/rwgif.c
+--- mathmap-1.3.5/rwimg/rwgif.c	2009-08-23 13:56:14.000000000 +0200
++++ mathmap-1.3.5.new/rwimg/rwgif.c	2014-05-29 11:31:51.388388393 +0200
+@@ -54,7 +54,7 @@ open_gif_file (const char *filename, int
+     
+     assert(data != 0);
+     
+-    data->file = DGifOpenFileName(filename);
++    data->file = DGifOpenFileName(filename, NULL);
+     
+     assert(data->file !=0);
+         
+@@ -137,7 +137,7 @@ open_gif_file (const char *filename, int
+     }
+     free(buffer);
+     
+-    assert(DGifCloseFile(data->file) == GIF_OK);
++    assert(DGifCloseFile(data->file, NULL) == GIF_OK);
+     
+     return data;
+ }

Copied: gimp-plugin-mathmap/repos/community-staging-x86_64/libpng15.patch (from rev 149848, gimp-plugin-mathmap/trunk/libpng15.patch)
===================================================================
--- community-staging-x86_64/libpng15.patch	                        (rev 0)
+++ community-staging-x86_64/libpng15.patch	2015-12-07 12:58:58 UTC (rev 149849)
@@ -0,0 +1,170 @@
+diff -rup mathmap-1.3.5/rwimg/rwpng.c mathmap-1.3.5.new/rwimg/rwpng.c
+--- mathmap-1.3.5/rwimg/rwpng.c	2009-08-23 13:56:14.000000000 +0200
++++ mathmap-1.3.5.new/rwimg/rwpng.c	2012-01-27 13:02:29.708023734 +0100
+@@ -58,34 +58,34 @@ open_png_file_reading (const char *filen
+     data->end_info = png_create_info_struct(data->png_ptr);
+     assert(data->end_info != 0);
+ 
+-    if (setjmp(data->png_ptr->jmpbuf))
++    if (setjmp(png_jmpbuf(data->png_ptr)))
+ 	assert(0);
+ 
+     png_init_io(data->png_ptr, data->file);
+ 
+     png_read_info(data->png_ptr, data->info_ptr);
+ 
+-    *width = data->info_ptr->width;
+-    *height = data->info_ptr->height;
++    *width = png_get_image_width(data->png_ptr, data->info_ptr);
++    *height = png_get_image_height(data->png_ptr, data->info_ptr);
+ 
+-    if (data->info_ptr->bit_depth != 8 && data->info_ptr->bit_depth != 16)
++    if (png_get_bit_depth(data->png_ptr, data->info_ptr) != 8 && png_get_bit_depth(data->png_ptr, data->info_ptr) != 16)
+     {
+ 	fprintf(stderr, "PNG files are only supported with bit depths 8 and 16.\n");
+ 	/* FIXME: free stuff */
+ 	return 0;
+     }
+ 
+-    if (data->info_ptr->color_type != PNG_COLOR_TYPE_RGB
+-	&& data->info_ptr->color_type != PNG_COLOR_TYPE_RGB_ALPHA
+-	&& data->info_ptr->color_type != PNG_COLOR_TYPE_GRAY
+-	&& data->info_ptr->color_type != PNG_COLOR_TYPE_GRAY_ALPHA)
++    if (png_get_color_type(data->png_ptr, data->info_ptr) != PNG_COLOR_TYPE_RGB
++	&& png_get_color_type(data->png_ptr, data->info_ptr) != PNG_COLOR_TYPE_RGB_ALPHA
++	&& png_get_color_type(data->png_ptr, data->info_ptr) != PNG_COLOR_TYPE_GRAY
++	&& png_get_color_type(data->png_ptr, data->info_ptr) != PNG_COLOR_TYPE_GRAY_ALPHA)
+     {
+ 	fprintf(stderr, "PNG files are only supported in RGB and Gray, with or without alpha.\n");
+ 	/* FIXME: free stuff */
+ 	return 0;
+     }
+ 
+-    if (data->info_ptr->interlace_type != PNG_INTERLACE_NONE)
++    if (png_get_interlace_type(data->png_ptr, data->info_ptr) != PNG_INTERLACE_NONE)
+     {
+ 	fprintf(stderr, "Interlaced PNG files are not supported.\n");
+ 	/* FIXME: free stuff */
+@@ -105,24 +105,24 @@ png_read_lines (void *_data, unsigned ch
+     int bps, spp;
+     unsigned char *row;
+ 
+-    if (setjmp(data->png_ptr->jmpbuf))
++    if (setjmp(png_jmpbuf(data->png_ptr)))
+ 	assert(0);
+ 
+-    if (data->info_ptr->color_type == PNG_COLOR_TYPE_GRAY)
++    if (png_get_color_type(data->png_ptr, data->info_ptr) == PNG_COLOR_TYPE_GRAY)
+ 	spp = 1;
+-    else if (data->info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
++    else if (png_get_color_type(data->png_ptr, data->info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA)
+ 	spp = 2;
+-    else if (data->info_ptr->color_type == PNG_COLOR_TYPE_RGB)
++    else if (png_get_color_type(data->png_ptr, data->info_ptr) == PNG_COLOR_TYPE_RGB)
+ 	spp = 3;
+     else
+ 	spp = 4;
+ 
+-    if (data->info_ptr->bit_depth == 16)
++    if (png_get_bit_depth(data->png_ptr, data->info_ptr) == 16)
+ 	bps = 2;
+     else
+ 	bps = 1;
+ 
+-    row = (unsigned char*)malloc(data->info_ptr->width * spp * bps);
++    row = (unsigned char*)malloc(png_get_image_width(data->png_ptr, data->info_ptr) * spp * bps);
+ 
+     for (i = 0; i < num_lines; ++i)
+     {
+@@ -131,13 +131,13 @@ png_read_lines (void *_data, unsigned ch
+ 	png_read_row(data->png_ptr, (png_bytep)row, 0);
+ 
+ 	if (spp <= 2)
+-	    for (j = 0; j < data->info_ptr->width; ++j)
++	    for (j = 0; j < png_get_image_width(data->png_ptr, data->info_ptr); ++j)
+ 		for (channel = 0; channel < 3; ++channel)
+-		    lines[i * data->info_ptr->width * 3 + j * 3 + channel] = row[j * spp * bps];
++		    lines[i * png_get_image_width(data->png_ptr, data->info_ptr) * 3 + j * 3 + channel] = row[j * spp * bps];
+ 	else
+-	    for (j = 0; j < data->info_ptr->width; ++j)
++	    for (j = 0; j < png_get_image_width(data->png_ptr, data->info_ptr); ++j)
+ 		for (channel = 0; channel < 3; ++channel)
+-		    lines[i * data->info_ptr->width * 3 + j * 3 + channel]
++		    lines[i * png_get_image_width(data->png_ptr, data->info_ptr) * 3 + j * 3 + channel]
+ 			= row[j * spp * bps + channel * bps];
+     }
+ 
+@@ -151,7 +151,7 @@ png_free_reader_data (void *_data)
+ {
+     png_data_t *data = (png_data_t*)_data;
+ 
+-    if (setjmp(data->png_ptr->jmpbuf))
++    if (setjmp(png_jmpbuf(data->png_ptr)))
+ 	assert(0);
+ 
+     if (data->have_read)
+@@ -180,7 +180,7 @@ open_png_file_writing (const char *filen
+     data->info_ptr = png_create_info_struct(data->png_ptr);
+     assert(data->info_ptr != 0);
+ 
+-    if (setjmp(data->png_ptr->jmpbuf))
++    if (setjmp(png_jmpbuf(data->png_ptr)))
+ 	assert(0);
+ 
+     if (pixel_stride == 4)
+@@ -188,18 +188,9 @@ open_png_file_writing (const char *filen
+ 
+     png_init_io(data->png_ptr, data->file);
+ 
+-    data->info_ptr->width = width;
+-    data->info_ptr->height = height;
+-    data->info_ptr->valid = 0;
+-    data->info_ptr->rowbytes = width * 3;
+-    data->info_ptr->palette = 0;
+-    data->info_ptr->num_palette = 0;
+-    data->info_ptr->num_trans = 0;
+-    data->info_ptr->bit_depth = 8;
+-    data->info_ptr->color_type = PNG_COLOR_TYPE_RGB;
+-    data->info_ptr->compression_type = PNG_COMPRESSION_TYPE_DEFAULT;
+-    data->info_ptr->filter_type = PNG_FILTER_TYPE_DEFAULT;
+-    data->info_ptr->interlace_type = PNG_INTERLACE_NONE;
++    png_set_IHDR(data->png_ptr, data->info_ptr, width, height,
++    8, PNG_COLOR_TYPE_RGB, PNG_INTERLACE_NONE,
++    PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT);
+ 
+     png_write_info(data->png_ptr, data->info_ptr);
+ 
+@@ -216,12 +207,12 @@ png_write_lines (void *_data, unsigned c
+     unsigned char *packed_line;
+     int i;
+ 
+-    if (setjmp(data->png_ptr->jmpbuf))
++    if (setjmp(png_jmpbuf(data->png_ptr)))
+ 	assert(0);
+ 
+     if (data->pixel_stride != 3)
+     {
+-	packed_line = (unsigned char*)malloc(data->info_ptr->width * 3);
++	packed_line = (unsigned char*)malloc(png_get_image_width(data->png_ptr, data->info_ptr) * 3);
+ 	assert(packed_line != 0);
+     }
+     else
+@@ -235,7 +226,7 @@ png_write_lines (void *_data, unsigned c
+ 	{
+ 	    int j;
+ 
+-	    for (j = 0; j < data->info_ptr->width; ++j)
++	    for (j = 0; j < png_get_image_width(data->png_ptr, data->info_ptr); ++j)
+ 	    {
+ 		packed_line[j * 3 + 0] = p[j * data->pixel_stride + 0];
+ 		packed_line[j * 3 + 1] = p[j * data->pixel_stride + 1];
+@@ -257,7 +248,7 @@ png_free_writer_data (void *_data)
+ {
+     png_data_t *data = (png_data_t*)_data;
+ 
+-    if (setjmp(data->png_ptr->jmpbuf))
++    if (setjmp(png_jmpbuf(data->png_ptr)))
+ 	assert(0);
+ 
+     png_write_end(data->png_ptr, data->info_ptr);
+Only in mathmap-1.3.5.new/rwimg: rwpng.c.orig



More information about the arch-commits mailing list