diff options
author | Samuli Suominen <ssuominen@gentoo.org> | 2011-09-15 23:19:01 +0000 |
---|---|---|
committer | Samuli Suominen <ssuominen@gentoo.org> | 2011-09-15 23:19:01 +0000 |
commit | 618a3c189a0bfcc0a3677078249b9af452580ebe (patch) | |
tree | 71b3df2cac923966a47a36fe4887417366753402 /media-gfx | |
parent | Revision bump. Use the system tinyxml library. (diff) | |
download | gentoo-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/ChangeLog | 8 | ||||
-rw-r--r-- | media-gfx/metapixel/files/metapixel-1.0.2-libpng15.patch | 141 | ||||
-rw-r--r-- | media-gfx/metapixel/metapixel-1.0.2.ebuild | 22 |
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() { |