Date: Sunday, March 2, 2014 @ 16:17:24 Author: schuay Revision: 106405
Revert metapixel-1.0.2-6 Added: metapixel/trunk/metapixel-1.0.2-giflib-5.0.patch (from rev 106401, metapixel/trunk/metapixel-1.0.2-giflib-5.0.patch) metapixel/trunk/metapixel-1.0.2-libpng-1.5.patch (from rev 106401, metapixel/trunk/metapixel-1.0.2-libpng-1.5.patch) Modified: metapixel/trunk/PKGBUILD ----------------------------------+ PKGBUILD | 27 ++--- metapixel-1.0.2-giflib-5.0.patch | 11 ++ metapixel-1.0.2-libpng-1.5.patch | 174 +++++++++++++++++++++++++++++++++++++ 3 files changed, 199 insertions(+), 13 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2014-03-02 14:55:16 UTC (rev 106404) +++ PKGBUILD 2014-03-02 15:17:24 UTC (rev 106405) @@ -4,31 +4,32 @@ pkgname=metapixel pkgver=1.0.2 -pkgrel=6 +pkgrel=5 pkgdesc='A program for generating photomosaics.' arch=('i686' 'x86_64') url='http://www.complang.tuwien.ac.at/schani/metapixel/' license=('GPL') -depends=('giflib' 'libjpeg' 'libpng' 'perl' 'glib2') -makedepends=('git' 'docbook-xsl') -source=("git://github.com/schuay/metapixel.git#commit=58c9607b02e4290f47d9cf06af2a3e443b8819fd") -md5sums=('SKIP') +depends=('giflib' 'libjpeg' 'libpng' 'perl') +source=("http://www.complang.tuwien.ac.at/schani/metapixel/files/${pkgname}-${pkgver}.tar.gz" + 'metapixel-1.0.2-libpng-1.5.patch' + 'metapixel-1.0.2-giflib-5.0.patch') +md5sums=('af5d77d38826756af213a08e3ada9941' + '1832a79790b07402735bfeb9f71f36e9' + 'f16abb33c545734eea36ec16c92a05e8') build() { - cd "${srcdir}/${pkgname}" + cd "${srcdir}/${pkgname}-${pkgver}" - git submodule init - git submodule update + patch -p1 -i ../metapixel-1.0.2-libpng-1.5.patch + patch -p0 -i ../metapixel-1.0.2-giflib-5.0.patch - # Build librwimg first, make dependencies seem to be bugged. - make librwimg - make MANPAGE_XSL="/usr/share/xml/docbook/xsl-stylesheets-1.78.1/manpages/docbook.xsl" + make } package() { - cd "${srcdir}/${pkgname}" + cd "${srcdir}/${pkgname}-${pkgver}" install -dm0755 "${pkgdir}/usr/share/man/man1" - make PREFIX="${pkgdir}/usr" MANDIR="${pkgdir}/usr/share/man/man1" install + make PREFIX="${pkgdir}/usr" install } Copied: metapixel/trunk/metapixel-1.0.2-giflib-5.0.patch (from rev 106401, metapixel/trunk/metapixel-1.0.2-giflib-5.0.patch) =================================================================== --- metapixel-1.0.2-giflib-5.0.patch (rev 0) +++ metapixel-1.0.2-giflib-5.0.patch 2014-03-02 15:17:24 UTC (rev 106405) @@ -0,0 +1,11 @@ +--- rwimg/rwgif.c.orig 2013-07-30 13:21:57.733602922 +0200 ++++ rwimg/rwgif.c 2013-07-30 13:21:01.827421262 +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); + Copied: metapixel/trunk/metapixel-1.0.2-libpng-1.5.patch (from rev 106401, metapixel/trunk/metapixel-1.0.2-libpng-1.5.patch) =================================================================== --- metapixel-1.0.2-libpng-1.5.patch (rev 0) +++ metapixel-1.0.2-libpng-1.5.patch 2014-03-02 15:17:24 UTC (rev 106405) @@ -0,0 +1,174 @@ +--- metapixel-1.0.2.orig/rwimg/rwpng.c ++++ metapixel-1.0.2/rwimg/rwpng.c +@@ -57,19 +57,39 @@ + data->end_info = png_create_info_struct(data->png_ptr); + assert(data->end_info != 0); + ++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4 ++ if (setjmp(png_jmpbuf((data->png_ptr)))) ++#else + if (setjmp(data->png_ptr->jmpbuf)) ++#endif + assert(0); + +- png_init_io(data->png_ptr, data->file); +- ++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4 ++ png_init_io(data->png_ptr, data->file); ++ png_read_info(data->png_ptr, data->info_ptr); ++#else ++ png_init_io(data->png_ptr, data->file); + png_read_info(data->png_ptr, data->info_ptr); ++#endif + ++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4 ++ *width = png_get_image_width(data->png_ptr, data->info_ptr); ++ *height = png_get_image_height(data->png_ptr, data->info_ptr); ++ { ++ png_byte value = png_get_bit_depth(data->png_ptr, data->info_ptr); ++ assert(value == 8 || value == 16); ++ value = png_get_color_type(data->png_ptr, data->info_ptr); ++ assert(value == PNG_COLOR_TYPE_RGB || value == PNG_COLOR_TYPE_RGB_ALPHA); ++ value = png_get_interlace_type(data->png_ptr, data->info_ptr); ++ assert(value == PNG_INTERLACE_NONE); ++ } ++#else + *width = data->info_ptr->width; + *height = data->info_ptr->height; +- + assert(data->info_ptr->bit_depth == 8 || data->info_ptr->bit_depth == 16); + assert(data->info_ptr->color_type == PNG_COLOR_TYPE_RGB || data->info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA); + assert(data->info_ptr->interlace_type == PNG_INTERLACE_NONE); ++#endif + + data->have_read = 0; + +@@ -81,32 +101,51 @@ + { + png_data_t *data = (png_data_t*)_data; + int i; +- int bps, spp; ++ int bps, spp, width; + unsigned char *row; + ++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4 ++ ++ if (setjmp(png_jmpbuf((data->png_ptr)))) ++#else + if (setjmp(data->png_ptr->jmpbuf)) ++#endif + assert(0); + ++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4 ++ if(png_get_color_type(data->png_ptr, data->info_ptr) == PNG_COLOR_TYPE_RGB) ++#else + if (data->info_ptr->color_type == PNG_COLOR_TYPE_RGB) ++#endif + spp = 3; + else + spp = 4; + ++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4 ++ if(png_get_bit_depth(data->png_ptr, data->info_ptr) == 16) ++#else + if (data->info_ptr->bit_depth == 16) ++#endif + bps = 2; + else + bps = 1; + +- row = (unsigned char*)malloc(data->info_ptr->width * spp * bps); ++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4 ++ width = png_get_image_width(data->png_ptr, data->info_ptr); ++#else ++ width = data->info_ptr->width: ++#endif ++ ++ row = (unsigned char*)malloc(width * spp * bps); + + for (i = 0; i < num_lines; ++i) + { + int j, channel; + + png_read_row(data->png_ptr, (png_bytep)row, 0); +- for (j = 0; j < data->info_ptr->width; ++j) ++ for (j = 0; j < width; ++j) + for (channel = 0; channel < 3; ++channel) +- lines[i * data->info_ptr->width * 3 + j * 3 + channel] = row[j * spp * bps + channel * bps]; ++ lines[i * width * 3 + j * 3 + channel] = row[j * spp * bps + channel * bps]; + } + + free(row); +@@ -119,7 +158,11 @@ + { + png_data_t *data = (png_data_t*)_data; + ++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4 ++ if (setjmp(png_jmpbuf((data->png_ptr)))) ++#else + if (setjmp(data->png_ptr->jmpbuf)) ++#endif + assert(0); + + if (data->have_read) +@@ -148,7 +191,11 @@ + data->info_ptr = png_create_info_struct(data->png_ptr); + assert(data->info_ptr != 0); + ++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4 ++ if (setjmp(png_jmpbuf((data->png_ptr)))) ++#else + if (setjmp(data->png_ptr->jmpbuf)) ++#endif + assert(0); + + if (pixel_stride == 4) +@@ -156,6 +203,16 @@ + + png_init_io(data->png_ptr, data->file); + ++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4 ++ 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); ++ ++ /* Maybe does not need following. */ ++ png_set_tRNS(data->png_ptr, data->info_ptr, NULL, 0, NULL); ++ png_set_PLTE(data->png_ptr, data->info_ptr, NULL, 0); ++ png_set_invalid(data->png_ptr, data->info_ptr, 0); ++#else + data->info_ptr->width = width; + data->info_ptr->height = height; + data->info_ptr->valid = 0; +@@ -168,6 +225,7 @@ + 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; ++#endif + + png_write_info(data->png_ptr, data->info_ptr); + +@@ -182,7 +240,11 @@ + png_data_t *data = (png_data_t*)_data; + int i; + ++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4 ++ if (setjmp(png_jmpbuf((data->png_ptr)))) ++#else + if (setjmp(data->png_ptr->jmpbuf)) ++#endif + assert(0); + + for (i = 0; i < num_lines; ++i) +@@ -194,7 +256,11 @@ + { + png_data_t *data = (png_data_t*)_data; + ++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4 ++ if (setjmp(png_jmpbuf((data->png_ptr)))) ++#else + if (setjmp(data->png_ptr->jmpbuf)) ++#endif + assert(0); + + png_write_end(data->png_ptr, data->info_ptr);