summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuli Suominen <ssuominen@gentoo.org>2011-09-15 23:19:01 +0000
committerSamuli Suominen <ssuominen@gentoo.org>2011-09-15 23:19:01 +0000
commit618a3c189a0bfcc0a3677078249b9af452580ebe (patch)
tree71b3df2cac923966a47a36fe4887417366753402 /media-gfx
parentRevision bump. Use the system tinyxml library. (diff)
downloadgentoo-2-618a3c189a0bfcc0a3677078249b9af452580ebe.tar.gz
gentoo-2-618a3c189a0bfcc0a3677078249b9af452580ebe.tar.bz2
gentoo-2-618a3c189a0bfcc0a3677078249b9af452580ebe.zip
Fix building with libpng15 wrt #378467 by _AxS_ from Freenode
(Portage version: 2.2.0_alpha55/cvs/Linux x86_64)
Diffstat (limited to 'media-gfx')
-rw-r--r--media-gfx/metapixel/ChangeLog8
-rw-r--r--media-gfx/metapixel/files/metapixel-1.0.2-libpng15.patch141
-rw-r--r--media-gfx/metapixel/metapixel-1.0.2.ebuild22
3 files changed, 158 insertions, 13 deletions
diff --git a/media-gfx/metapixel/ChangeLog b/media-gfx/metapixel/ChangeLog
index d2d41fbf961e..75e533c53bda 100644
--- a/media-gfx/metapixel/ChangeLog
+++ b/media-gfx/metapixel/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for media-gfx/metapixel
-# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/metapixel/ChangeLog,v 1.4 2010/11/08 22:56:03 maekke Exp $
+# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/metapixel/ChangeLog,v 1.5 2011/09/15 23:19:01 ssuominen Exp $
+
+ 15 Sep 2011; Samuli Suominen <ssuominen@gentoo.org> metapixel-1.0.2.ebuild,
+ +files/metapixel-1.0.2-libpng15.patch:
+ Fix building with libpng15 wrt #378467 by _AxS_ from Freenode
08 Nov 2010; Markus Meier <maekke@gentoo.org> metapixel-1.0.2.ebuild:
change jpeg dep to virtual/jpeg
diff --git a/media-gfx/metapixel/files/metapixel-1.0.2-libpng15.patch b/media-gfx/metapixel/files/metapixel-1.0.2-libpng15.patch
new file mode 100644
index 000000000000..988437dea2af
--- /dev/null
+++ b/media-gfx/metapixel/files/metapixel-1.0.2-libpng15.patch
@@ -0,0 +1,141 @@
+--- rwimg/rwpng.c
++++ rwimg/rwpng.c
+@@ -42,6 +42,7 @@
+ open_png_file_reading (const char *filename, int *width, int *height)
+ {
+ png_data_t *data = (png_data_t*)malloc(sizeof(png_data_t));
++ int _bit_depth,_color_type,_interlace_type,_compression,_filter;
+
+ assert(data != 0);
+
+@@ -57,19 +58,20 @@
+ 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;
+-
+- 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);
++ png_get_IHDR(data->png_ptr,data->info_ptr,
++ (png_uint_32 *)width,(png_uint_32 *)height,
++ &_bit_depth,&_color_type,&_interlace_type,&_compression,&_filter);
++
++ assert(_bit_depth == 8 || _bit_depth == 16);
++ assert(_color_type == PNG_COLOR_TYPE_RGB || _color_type == PNG_COLOR_TYPE_RGB_ALPHA);
++ assert(_interlace_type == PNG_INTERLACE_NONE);
+
+ data->have_read = 0;
+
+@@ -83,30 +85,36 @@
+ int i;
+ int bps, spp;
+ unsigned char *row;
++ png_uint_32 _width,_height;
++ int _bit_depth,_color_type,_interlace_type,_compression,_filter;
+
+- if (setjmp(data->png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(data->png_ptr)))
+ assert(0);
+
+- if (data->info_ptr->color_type == PNG_COLOR_TYPE_RGB)
++ png_get_IHDR(data->png_ptr,data->info_ptr,
++ &_width,&_height,&_bit_depth,&_color_type,&_interlace_type,
++ &_compression,&_filter);
++
++ if (_color_type == PNG_COLOR_TYPE_RGB)
+ spp = 3;
+ else
+ spp = 4;
+
+- if (data->info_ptr->bit_depth == 16)
++ if (_bit_depth == 16)
+ bps = 2;
+ else
+ bps = 1;
+
+- row = (unsigned char*)malloc(data->info_ptr->width * spp * bps);
++ 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 +127,7 @@
+ {
+ 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)
+@@ -148,7 +156,7 @@
+ 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)
+@@ -156,18 +164,14 @@
+
+ png_init_io(data->png_ptr, data->file);
+
+- data->info_ptr->width = width;
+- data->info_ptr->height = height;
+- data->info_ptr->valid = 0;
++ 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);
++ /* setting these to 0 so just skipping ...
+ 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;
++ data->info_ptr->num_trans = 0; */
+
+ png_write_info(data->png_ptr, data->info_ptr);
+
+@@ -182,7 +186,7 @@
+ png_data_t *data = (png_data_t*)_data;
+ int i;
+
+- if (setjmp(data->png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(data->png_ptr)))
+ assert(0);
+
+ for (i = 0; i < num_lines; ++i)
+@@ -194,7 +198,7 @@
+ {
+ 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);
diff --git a/media-gfx/metapixel/metapixel-1.0.2.ebuild b/media-gfx/metapixel/metapixel-1.0.2.ebuild
index c6c8ff762df6..66ffeff99b88 100644
--- a/media-gfx/metapixel/metapixel-1.0.2.ebuild
+++ b/media-gfx/metapixel/metapixel-1.0.2.ebuild
@@ -1,8 +1,9 @@
-# Copyright 1999-2010 Gentoo Foundation
+# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/metapixel/metapixel-1.0.2.ebuild,v 1.4 2010/11/08 22:56:03 maekke Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/metapixel/metapixel-1.0.2.ebuild,v 1.5 2011/09/15 23:19:01 ssuominen Exp $
-inherit toolchain-funcs
+EAPI=4
+inherit eutils toolchain-funcs
DESCRIPTION="a program for generating photomosaics"
HOMEPAGE="http://www.complang.tuwien.ac.at/schani/metapixel"
@@ -15,20 +16,19 @@ IUSE=""
RDEPEND="dev-lang/perl
media-libs/giflib
- media-libs/libpng
+ >=media-libs/libpng-1.4
virtual/jpeg"
DEPEND="${RDEPEND}"
-src_unpack() {
- unpack ${A}
- cd "${S}"
- sed -i -e "s:/usr/X11R6:/usr:g" Makefile
- sed -i -e "s:ar:$(tc-getAR):" rwimg/Makefile
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-libpng15.patch
+
+ sed -i -e 's:/usr/X11R6:/usr:g' Makefile || die
+ sed -i -e 's:ar:$(AR):' rwimg/Makefile || die
}
src_compile() {
- emake CC="$(tc-getCC)" OPTIMIZE="${CFLAGS}" \
- LDOPTS="${LDFLAGS}" || die "emake failed."
+ emake AR="$(tc-getAR)" CC="$(tc-getCC)" OPTIMIZE="${CFLAGS}" LDOPTS="${LDFLAGS}"
}
src_install() {