diff options
Diffstat (limited to 'media-gfx')
-rw-r--r-- | media-gfx/pngtools/ChangeLog | 10 | ||||
-rw-r--r-- | media-gfx/pngtools/files/pngtools-0.4-libpng15-fixes.patch | 184 | ||||
-rw-r--r-- | media-gfx/pngtools/pngtools-0.4-r1.ebuild | 35 | ||||
-rw-r--r-- | media-gfx/pngtools/pngtools-0.4.ebuild | 7 |
4 files changed, 231 insertions, 5 deletions
diff --git a/media-gfx/pngtools/ChangeLog b/media-gfx/pngtools/ChangeLog index 96b34b8969fc..588893f15747 100644 --- a/media-gfx/pngtools/ChangeLog +++ b/media-gfx/pngtools/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for media-gfx/pngtools -# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-gfx/pngtools/ChangeLog,v 1.8 2010/03/08 22:43:31 ssuominen Exp $ +# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/media-gfx/pngtools/ChangeLog,v 1.9 2011/09/15 18:22:37 robbat2 Exp $ + +*pngtools-0.4-r1 (15 Sep 2011) + + 15 Sep 2011; Robin H. Johnson <robbat2@gentoo.org> +pngtools-0.4-r1.ebuild, + +files/pngtools-0.4-libpng15-fixes.patch: + Bug #378169: fixes for libpng15. 08 Mar 2010; Samuli Suominen <ssuominen@gentoo.org> pngtools-0.4.ebuild, +files/pngtools-0.4-libpng14.patch: diff --git a/media-gfx/pngtools/files/pngtools-0.4-libpng15-fixes.patch b/media-gfx/pngtools/files/pngtools-0.4-libpng15-fixes.patch new file mode 100644 index 000000000000..44965ab839af --- /dev/null +++ b/media-gfx/pngtools/files/pngtools-0.4-libpng15-fixes.patch @@ -0,0 +1,184 @@ +--- pngtools-0.4.orig/pnginfo.c 2008-11-27 01:14:17.000000000 +0200 ++++ pngtools-0.4.orig/pnginfo.c 2011-09-15 14:30:36.000000000 +0300 +@@ -187,18 +187,21 @@ + printf (" Image Width: %d Image Length: %d\n", width, height); + if(tiffnames == pnginfo_true){ + printf (" Bits/Sample: %d\n", bitdepth); +- printf (" Samples/Pixel: %d\n", info->channels); +- printf (" Pixel Depth: %d\n", info->pixel_depth); // Does this add value? ++ printf (" Samples/Pixel: %d\n", png_get_channels(png, info)); ++ printf (" Pixel Depth: %d\n", info->pixel_depth); // Does this add value? + } + else{ + printf (" Bitdepth (Bits/Sample): %d\n", bitdepth); +- printf (" Channels (Samples/Pixel): %d\n", info->channels); +- printf (" Pixel depth (Pixel Depth): %d\n", info->pixel_depth); // Does this add value? ++ printf (" Channels (Samples/Pixel): %d\n", png_get_channels(png, info)); ++ printf (" Pixel depth (Pixel Depth): %d\n", info->pixel_depth); // Does this add value? + } + + // Photometric interp packs a lot of information + printf (" Colour Type (Photometric Interpretation): "); + ++ int num_palette; ++ int num_trans; ++ + switch (colourtype) + { + case PNG_COLOR_TYPE_GRAY: +@@ -207,10 +210,10 @@ + + case PNG_COLOR_TYPE_PALETTE: + printf ("PALETTED COLOUR "); +- if (info->num_trans > 0) ++ if (num_trans > 0) + printf ("with alpha "); + printf ("(%d colours, %d transparent) ", +- info->num_palette, info->num_trans); ++ num_palette, num_trans); + break; + + case PNG_COLOR_TYPE_RGB: +@@ -232,7 +235,7 @@ + printf ("\n"); + + printf (" Image filter: "); +- switch (info->filter_type) ++ switch (png_get_filter_type(png, info)) + { + case PNG_FILTER_TYPE_BASE: + printf ("Single row per byte filter "); +@@ -249,7 +252,7 @@ + printf ("\n"); + + printf (" Interlacing: "); +- switch (info->interlace_type) ++ switch (png_get_interlace_type(png, info)) + { + case PNG_INTERLACE_NONE: + printf ("No interlacing "); +@@ -266,7 +269,7 @@ + printf ("\n"); + + printf (" Compression Scheme: "); +- switch (info->compression_type) ++ switch (png_get_compression_type(png, info)) + { + case PNG_COMPRESSION_TYPE_BASE: + printf ("Deflate method 8, 32k window"); +@@ -278,9 +281,13 @@ + } + printf ("\n"); + ++ png_uint_32 x_pixels_per_unit, y_pixels_per_unit; ++ int phys_unit_type; ++ png_get_pHYs (png, info, &x_pixels_per_unit, &y_pixels_per_unit, &phys_unit_type); ++ + printf (" Resolution: %d, %d ", +- info->x_pixels_per_unit, info->y_pixels_per_unit); +- switch (info->phys_unit_type) ++ x_pixels_per_unit, y_pixels_per_unit); ++ switch (phys_unit_type) + { + case PNG_RESOLUTION_UNKNOWN: + printf ("(unit unknown)"); +@@ -299,15 +306,18 @@ + // FillOrder is always msb-to-lsb, big endian + printf (" FillOrder: msb-to-lsb\n Byte Order: Network (Big Endian)\n"); + ++ png_textp text; ++ int num_text, max_text; ++ + // Text comments + printf (" Number of text strings: %d of %d\n", +- info->num_text, info->max_text); ++ num_text, max_text); + +- for (i = 0; i < info->num_text; i++) ++ for (i = 0; i < num_text; i++) + { +- printf (" %s ", info->text[i].key); ++ printf (" %s ", text[i].key); + +- switch (info->text[1].compression) ++ switch (text[1].compression) + { + case -1: + printf ("(tEXt uncompressed)"); +@@ -332,12 +342,12 @@ + + printf (": "); + j = 0; +- while (info->text[i].text[j] != '\0') ++ while (text[i].text[j] != '\0') + { +- if (info->text[i].text[j] == '\n') ++ if (text[i].text[j] == '\n') + printf ("\\n"); + else +- fputc (info->text[i].text[j], stdout); ++ fputc (text[i].text[j], stdout); + + j++; + } +@@ -385,14 +395,14 @@ + + printf ("Dumping the bitmap for this image:\n"); + printf ("(Expanded samples result in %d bytes per pixel, %d channels with %d bytes per channel)\n\n", +- info->channels * bytespersample, info->channels, bytespersample); ++ png_get_channels(png, info) * bytespersample, png_get_channels(png, info), bytespersample); + + // runlen is used to stop us displaying repeated byte patterns over and over -- + // I display them once, and then tell you how many times it occured in the file. + // This currently only applies to runs on zeros -- I should one day add an + // option to extend this to runs of other values as well + runlen = 0; +- for (i = 0; i < rowbytes * height / info->channels; i += info->channels * bytespersample) ++ for (i = 0; i < rowbytes * height / png_get_channels(png, info); i += png_get_channels(png, info) * bytespersample) + { + int scount, bcount, pixel; + +@@ -408,16 +418,16 @@ + + // Determine if this is a pixel whose entire value is zero + pixel = 0; +- for(scount = 0; scount < info->channels; scount++) ++ for(scount = 0; scount < png_get_channels(png, info); scount++) + for(bcount = 0; bcount < bytespersample; bcount++) + pixel += bitmap[i + scount * bytespersample + bcount]; + + if ((runlen == 0) && !pixel) + { + printf ("["); +- for(scount = 0; scount < info->channels; scount++){ ++ for(scount = 0; scount < png_get_channels(png, info); scount++){ + for(bcount = 0; bcount < bytespersample; bcount++) printf("00"); +- if(scount != info->channels - 1) printf(" "); ++ if(scount != png_get_channels(png, info) - 1) printf(" "); + } + printf ("] "); + runlen++; +@@ -425,10 +435,10 @@ + + if (runlen == 0){ + printf ("["); +- for(scount = 0; scount < info->channels; scount++){ ++ for(scount = 0; scount < png_get_channels(png, info); scount++){ + for(bcount = 0; bcount < bytespersample; bcount++) + printf("%02x", (unsigned char) bitmap[i + scount * bytespersample + bcount]); +- if(scount != info->channels - 1) printf(" "); ++ if(scount != png_get_channels(png, info) - 1) printf(" "); + } + printf("] "); + } +--- pngtools-0.4.orig/pngread.c 2008-11-27 01:14:17.000000000 +0200 ++++ pngtools-0.4.orig/pngread.c 2011-09-15 14:27:37.000000000 +0300 +@@ -68,7 +68,7 @@ + // palette is correctly reported... + //png_set_strip_alpha (png); + png_read_update_info (png, info); +- *channels = info->channels; ++ *channels = png_get_channels(png, info); + + rowbytes = png_get_rowbytes (png, info); + if((row_pointers = malloc (*height * sizeof (png_bytep))) == NULL){ diff --git a/media-gfx/pngtools/pngtools-0.4-r1.ebuild b/media-gfx/pngtools/pngtools-0.4-r1.ebuild new file mode 100644 index 000000000000..507d3e3ede8b --- /dev/null +++ b/media-gfx/pngtools/pngtools-0.4-r1.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-gfx/pngtools/pngtools-0.4-r1.ebuild,v 1.1 2011/09/15 18:22:37 robbat2 Exp $ + +EAPI=4 +inherit autotools eutils + +MY_PV=${PV/./_} + +DESCRIPTION="A series of tools for the PNG image format" +HOMEPAGE="http://www.stillhq.com/pngtools/" +SRC_URI="http://www.stillhq.com/pngtools/source/pngtools_${MY_PV}.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="" + +RDEPEND=">=media-libs/libpng-1.2.40" +DEPEND="${RDEPEND}" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-0.3-implicit-declarations.patch + epatch "${FILESDIR}"/${P}-libpng14.patch + epatch "${FILESDIR}"/${P}-libpng15-fixes.patch + + eautoreconf +} + +src_install() { + emake install DESTDIR="${D}" || die + dodoc ABOUT AUTHORS ChangeLog NEWS README chunks.txt + insinto /usr/share/doc/${PF}/examples + doins *.png +} diff --git a/media-gfx/pngtools/pngtools-0.4.ebuild b/media-gfx/pngtools/pngtools-0.4.ebuild index ba912110adeb..c8f2645bc0f1 100644 --- a/media-gfx/pngtools/pngtools-0.4.ebuild +++ b/media-gfx/pngtools/pngtools-0.4.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-gfx/pngtools/pngtools-0.4.ebuild,v 1.6 2010/03/08 22:43:31 ssuominen Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-gfx/pngtools/pngtools-0.4.ebuild,v 1.7 2011/09/15 18:22:38 robbat2 Exp $ EAPI=2 inherit autotools eutils @@ -16,7 +16,8 @@ SLOT="0" KEYWORDS="amd64 ppc x86" IUSE="" -DEPEND=">=media-libs/libpng-1.2.40" +RDEPEND=">=media-libs/libpng-1.2.40" +DEPEND="${RDEPEND}" src_prepare() { epatch "${FILESDIR}"/${PN}-0.3-implicit-declarations.patch \ @@ -26,7 +27,7 @@ src_prepare() { } src_install() { - emake -j1 install DESTDIR="${D}" || die + emake install DESTDIR="${D}" || die dodoc ABOUT AUTHORS ChangeLog NEWS README chunks.txt insinto /usr/share/doc/${PF}/examples doins *.png |