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-----
--- /dev/null
+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);