Fix building with libpng15 wrt #383211 by Diego Elio Pettenò
authorSamuli Suominen <ssuominen@gentoo.org>
Sat, 17 Sep 2011 11:10:27 +0000 (11:10 +0000)
committerSamuli Suominen <ssuominen@gentoo.org>
Sat, 17 Sep 2011 11:10:27 +0000 (11:10 +0000)
Package-Manager: portage-2.2.0_alpha55/cvs/Linux x86_64

x11-misc/xaos/ChangeLog
x11-misc/xaos/Manifest
x11-misc/xaos/files/xaos-3.5-libpng15.patch [new file with mode: 0644]
x11-misc/xaos/xaos-3.5-r1.ebuild

index 6ec03a651d52e1d5ea73916ed2c0e1ebc36effc8..b6564858ea88acccb30816c48d2eb46bba1f8ddb 100644 (file)
@@ -1,6 +1,10 @@
 # ChangeLog for x11-misc/xaos
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-misc/xaos/ChangeLog,v 1.40 2011/09/17 11:04:26 ssuominen Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-misc/xaos/ChangeLog,v 1.41 2011/09/17 11:10:27 ssuominen Exp $
+
+  17 Sep 2011; Samuli Suominen <ssuominen@gentoo.org> xaos-3.5-r1.ebuild,
+  +files/xaos-3.5-libpng15.patch:
+  Fix building with libpng15 wrt #383211 by Diego Elio Pettenò
 
   17 Sep 2011; Samuli Suominen <ssuominen@gentoo.org> -xaos-3.2.ebuild,
   -xaos-3.4-r1.ebuild, -files/xaos-3.4-makefile.patch,
index ce8528c49aa44d91da2259f8e76e0faaca54f4a9..25d2185163ab69f198c48797bd243ab3ec0380bf 100644 (file)
@@ -3,15 +3,16 @@ Hash: SHA256
 
 AUX xaos-3.4-include.patch 216 RMD160 9ee7b5e3222df188ec655d4e1a3e80af1a363e13 SHA1 281ca3e21fcf5d61404b9494be06c53b84f7c6d9 SHA256 5af6025bab16b6da5619d83aa7ef58688625bcb2ed5b1e1d22832c534675c078
 AUX xaos-3.4-png.patch 328 RMD160 8f399021e90abaeb6b5f7f8f31790bc844c23abe SHA1 282b1e4814557bb667e905961eaf6d3789cbfa43 SHA256 4e20fe771648e8fdbfacc3525dfa3341f05b93deacea790c23bb27a7a8d4c3f2
+AUX xaos-3.5-libpng15.patch 4260 RMD160 da1bb6ce7f76f44695808a407c9676ed9a7edb22 SHA1 6c51cb2ee1c5f28973680ffc3a040c2cea65fd33 SHA256 177ac125fe109a8326df3326df5b50f3a416fa8b9e9703202aefaf7e50bcbe8e
 DIST xaos-3.5.tar.gz 2930590 RMD160 193553818646fbf2d7c9f0c855ca3123446e16bc SHA1 6d16a58187fba7276e6bd0547cc2fd6bb073b801 SHA256 471fa752154a8e4c4687797fe1241df1b3f82400b2ef4e6a603969a27cd74842
 DIST xaos.png.tar 10240 RMD160 383ffd2e0e4fcd39c8a2d090ab06173b91eae207 SHA1 791fd2a0a1d974d736b8a450f3d1a991ff46ec0c SHA256 23806369fa304bf58439f39d9c672fe7f2b4293b3b1bfcccffd0c7994faeaa6a
-EBUILD xaos-3.5-r1.ebuild 1817 RMD160 1b6aee18a286325277a94ba3eb1465920285d14c SHA1 f0feda748e8b22d86098f1e53f06a3571c3d9bc4 SHA256 bc3d91a919ab49d9373b0328469f827d53683e7565c68744ebb0bceb4153f870
-MISC ChangeLog 5228 RMD160 e082f71cb3aa7417976bd0a02260770441b9c65a SHA1 da8d5bc3e9f5c8fa99d13909489eb06058894fa1 SHA256 c518a790dd3c9f4878fceb73fafa756ce26d0423802d35dc82e2bc822215dfca
+EBUILD xaos-3.5-r1.ebuild 1863 RMD160 da22a4b87d84e2251daee70be20d384b2146e830 SHA1 21eb4fa5621a7d2e02c3a903fd916379c8047815 SHA256 b2cffa87cf41a8fd839fe3f7d6a8a93869e88978a35342ded8cdd69cb3875f78
+MISC ChangeLog 5401 RMD160 fff48bc474619acabd4769ceaf708eecef55bef6 SHA1 afba76c42e9b9970f077ced66c693d68d0e86b09 SHA256 57c19276d8ce9bedb4b381c902187270b8ce5a17bfde001039f7eb088a14cced
 MISC metadata.xml 583 RMD160 5055148d95d127d29f4e963644eb666ac7e0c5eb SHA1 9f9eb601f2c7882611c1c0269b4e041c17335687 SHA256 2f0dd73d7c7fc6fd74d7a430ca50e03d390a200346bb9da765fefb8cb901bcf7
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.18 (GNU/Linux)
 
-iF4EAREIAAYFAk50fvYACgkQXkR9YqOcLPFORgD/Q6F7E2QNZC2lHRYLGgbUIqIi
-mm0wUsCJ/9wFeeIwzYQA/15LbWd0G3Hyjs3obWtvgr4HtXOOomCyV9xtn9uG4CjE
-=9sWy
+iF4EAREIAAYFAk50gF8ACgkQXkR9YqOcLPETCgD/Req4FnDxxQqyEPjPh/dqcazX
+KrqZiI+YlWpoBrRS2YIA+QG/wfQqWLU92VKo1QOto4Z5enBXmYYRt8ezMXWFl94e
+=nTHi
 -----END PGP SIGNATURE-----
diff --git a/x11-misc/xaos/files/xaos-3.5-libpng15.patch b/x11-misc/xaos/files/xaos-3.5-libpng15.patch
new file mode 100644 (file)
index 0000000..beece83
--- /dev/null
@@ -0,0 +1,131 @@
+http://code.google.com/p/gnuxaos/issues/detail?id=55
+
+--- src/util/png.c
++++ src/util/png.c
+@@ -3,6 +3,7 @@
+ #include <aconfig.h>
+ #ifdef USE_PNG
+ #include <png.h>
++#include <zlib.h>
+ #endif
+ #include <stdlib.h>
+ #include <stdio.h>
+@@ -31,6 +32,9 @@
+     png_structp png_ptr;
+     png_infop info_ptr;
+     png_color palette[256];
++    png_color_8 sig_bit;
++    int color_type;
++    int bit_depth;
+     volatile unsigned short a = 255;
+     volatile unsigned char *b = (volatile unsigned char *) &a;
+ #ifdef _undefined_
+@@ -59,7 +63,7 @@
+       png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
+       return "No memory to create png info structure";
+     }
+-    if (setjmp(png_ptr->jmpbuf)) {
++    if (setjmp(png_jmpbuf(png_ptr))) {
+       png_destroy_write_struct(&png_ptr, &info_ptr);
+       fclose(file);
+       return strerror(errno);
+@@ -78,57 +82,70 @@
+     png_set_compression_window_bits(png_ptr, 15);
+     png_set_compression_method(png_ptr, 8);
+-    info_ptr->width = image->width;
+-    info_ptr->height = image->height;
+-    /*info_ptr->gamma=1.0; */
+-    info_ptr->gamma = 0.5;
+-    info_ptr->valid |= PNG_INFO_gAMA | PNG_INFO_pHYs;
+-    info_ptr->x_pixels_per_unit = (png_uint_32) (100 / image->pixelwidth);
+-    info_ptr->y_pixels_per_unit = (png_uint_32) (100 / image->pixelheight);
++    switch (image->palette->type)
++    {
++    case C256:
++      color_type = PNG_COLOR_TYPE_PALETTE;
++      bit_depth = image->bytesperpixel * 8;
++      break;
++    case SMALLITER:
++    case LARGEITER:
++    case GRAYSCALE:
++      color_type = PNG_COLOR_TYPE_GRAY;
++      bit_depth = image->bytesperpixel * 8;
++      break;
++    case TRUECOLOR:
++    case TRUECOLOR24:
++    case TRUECOLOR16:
++      color_type = PNG_COLOR_TYPE_RGB;
++      bit_depth = 8;
++      break;
++    }
++    png_set_IHDR (png_ptr, info_ptr, image->width, image->height, bit_depth,
++                color_type, PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_BASE,
++                PNG_FILTER_TYPE_BASE);
+     switch (image->palette->type) {
+     case C256:
+       {
+           int i;
+-          info_ptr->color_type = PNG_COLOR_TYPE_PALETTE;
+-          info_ptr->bit_depth = image->bytesperpixel * 8;
+-          info_ptr->palette = palette;
+-          info_ptr->valid |= PNG_INFO_PLTE;
++          png_color png_palette[257];
++          int png_num_palette;
+           for (i = 0; i < image->palette->end; i++)
+-              info_ptr->palette[i].red = image->palette->rgb[i][0],
+-                  info_ptr->palette[i].green = image->palette->rgb[i][1],
+-                  info_ptr->palette[i].blue = image->palette->rgb[i][2],
+-                  info_ptr->num_palette = image->palette->end;
++              png_palette[i].red = image->palette->rgb[i][0],
++                  png_palette[i].green = image->palette->rgb[i][1],
++                  png_palette[i].blue = image->palette->rgb[i][2],
++                  png_num_palette = image->palette->end;
++          png_set_PLTE(png_ptr, info_ptr, png_palette, png_num_palette);
+       }
+       break;
+-    case SMALLITER:
+-    case LARGEITER:
+-    case GRAYSCALE:
+-      info_ptr->color_type = PNG_COLOR_TYPE_GRAY;
+-      info_ptr->bit_depth = image->bytesperpixel * 8;
+-      break;
+     case TRUECOLOR:
+     case TRUECOLOR24:
+     case TRUECOLOR16:
+-      info_ptr->color_type = PNG_COLOR_TYPE_RGB;
+-      info_ptr->bit_depth = 8;
+-      info_ptr->sig_bit.red = 8 - image->palette->info.truec.rprec;
+-      info_ptr->sig_bit.green = 8 - image->palette->info.truec.gprec;
+-      info_ptr->sig_bit.blue = 8 - image->palette->info.truec.bprec;
++      sig_bit.red = 8 - image->palette->info.truec.rprec;
++      sig_bit.green = 8 - image->palette->info.truec.gprec;
++      sig_bit.blue = 8 - image->palette->info.truec.bprec;
++      png_set_sBIT(png_ptr, info_ptr, &sig_bit);
+       break;
+     }
+-    info_ptr->interlace_type = 0;
++
++    png_write_info (png_ptr, info_ptr);
++
+ #ifdef _undefined_
+     png_set_text(png_ptr, info_ptr, comments,
+                sizeof(comments) / sizeof(png_text));
+ #endif
+-    png_write_info(png_ptr, info_ptr);
++    png_set_gAMA(png_ptr, info_ptr, 0.5 /* 1.0 */);
++    png_set_pHYs(png_ptr, info_ptr, (png_uint_32) (100 / image->pixelwidth),
++               (png_uint_32) (100 / image->pixelheight),
++               PNG_RESOLUTION_UNKNOWN);
++
+     /*png_set_filler(png_ptr,0,PNG_FILLER_AFTER); */
+     png_set_packing(png_ptr);
+     if (image->palette->type & (TRUECOLOR | TRUECOLOR24 | TRUECOLOR16))
+-      png_set_shift(png_ptr, &(info_ptr->sig_bit));
++      png_set_shift (png_ptr, &sig_bit);
+     if (*b == 255)
+       png_set_swap(png_ptr);
+     png_set_bgr(png_ptr);
index ad71ed551ef3c61e2fb5ad2ca08e026125114e79..8d104562aa6499b28b76f70e9d96adb7743cc90a 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-misc/xaos/xaos-3.5-r1.ebuild,v 1.7 2011/06/28 20:04:39 ranger Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-misc/xaos/xaos-3.5-r1.ebuild,v 1.8 2011/09/17 11:10:27 ssuominen Exp $
 
 EAPI=4
 
@@ -40,7 +40,8 @@ DEPEND="${RDEPEND}
 src_prepare() {
        epatch \
                "${FILESDIR}"/${PN}-3.4-png.patch \
-               "${FILESDIR}"/${PN}-3.4-include.patch
+               "${FILESDIR}"/${PN}-3.4-include.patch \
+               "${FILESDIR}"/${PN}-3.5-libpng15.patch
        sed -i -e 's/-s//' Makefile.in
        eautoreconf
 }