Bug#809833: xaos: diff for NMU version 3.5+ds1-3.1

Tobias Frost tobi at debian.org
Wed Jan 6 16:25:35 UTC 2016


Control: tags 809833 + patch

Dear maintainer,

I've prepared a patch for the libpng16.
Please check and apply if you're happy with it.

Thanks!


Regards.

-- 
tobi

diff -Nru xaos-3.5+ds1/debian/changelog xaos-3.5+ds1/debian/changelog
--- xaos-3.5+ds1/debian/changelog	2015-12-08 10:09:59.000000000 +0100
+++ xaos-3.5+ds1/debian/changelog	2016-01-06 14:52:06.000000000 +0100
@@ -1,3 +1,10 @@
+xaos (3.5+ds1-3.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Update B-D from libpng3-dev to libpng-dev (Closes: 809833)
+
+ -- Tobias Frost <tobi at debian.org>  Wed, 06 Jan 2016 14:51:30 +0100
+
 xaos (3.5+ds1-3) unstable; urgency=medium
 
   * Build-Depend on libgsl-dev instead of libgsl0-dev. (Closes: #807230)
diff -Nru xaos-3.5+ds1/debian/control xaos-3.5+ds1/debian/control
--- xaos-3.5+ds1/debian/control	2015-12-08 10:09:59.000000000 +0100
+++ xaos-3.5+ds1/debian/control	2016-01-06 14:52:22.000000000 +0100
@@ -1,7 +1,7 @@
 Source: xaos
 Section: graphics
 Priority: optional
-Build-Depends: debhelper (>= 7.0.50~), libaa1-dev, libx11-dev, libpng3-dev, zlib1g-dev, libxext-dev, x11proto-core-dev, autoconf (>= 2.63), autotools-dev, libtool, libgsl-dev
+Build-Depends: debhelper (>= 7.0.50~), libaa1-dev, libx11-dev, libpng-dev, zlib1g-dev, libxext-dev, x11proto-core-dev, autoconf (>= 2.63), autotools-dev, libtool, libgsl-dev
 Maintainer: Debian Games Team <pkg-games-devel at lists.alioth.debian.org>
 Uploaders: Ansgar Burchardt <ansgar at debian.org>
 Standards-Version: 3.8.4
diff -Nru xaos-3.5+ds1/debian/patches/libpng16.patch xaos-3.5+ds1/debian/patches/libpng16.patch
--- xaos-3.5+ds1/debian/patches/libpng16.patch	1970-01-01 01:00:00.000000000 +0100
+++ xaos-3.5+ds1/debian/patches/libpng16.patch	2016-01-06 17:16:17.000000000 +0100
@@ -0,0 +1,146 @@
+--- a/src/util/png.c
++++ b/src/util/png.c
+@@ -2,6 +2,8 @@
+ #ifndef _plan9_
+ #include <aconfig.h>
+ #ifdef USE_PNG
++#include <string.h>
++#include <zlib.h>
+ #include <png.h>
+ #endif
+ #include <stdlib.h>
+@@ -59,15 +61,48 @@
+ 	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);
+     }
+     png_init_io(png_ptr, file);
++
++    int bit_depth, color_type;
++
++   /*info_ptr->gamma=1.0; */
++    // GONE info_ptr->gamma = 0.5;
++    // ??? GONE info_ptr->valid |= PNG_INFO_gAMA | PNG_INFO_pHYs;
++    /// GONE info_ptr->x_pixels_per_unit = (png_uint_32) (100 / image->pixelwidth);
++    // GONE 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_IDHR must be set before calling the setters */
++    png_set_IHDR(png_ptr, info_ptr, image->width, image->height, bit_depth, color_type,
++	PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT);
++
+     png_set_filter(png_ptr, 0,
+ 		   PNG_FILTER_NONE | PNG_FILTER_SUB | PNG_FILTER_PAETH |
+ 		   PNG_FILTER_UP | PNG_FILTER_AVG);
++
+     /* set the zlib compression level */
+     /*png_set_compression_level(png_ptr, Z_BEST_COMPRESSION); */
+     png_set_compression_level(png_ptr, Z_DEFAULT_COMPRESSION);
+@@ -78,47 +113,39 @@
+     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);
+ 
++    png_set_gAMA(png_ptr, info_ptr, 0.5);
++    png_set_pHYs(png_ptr, info_ptr, (100 / image->pixelwidth),
++	(100 / image->pixelheight), PNG_RESOLUTION_UNKNOWN);
+ 
+     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;
+ 	    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;
++		palette[i].red = image->palette->rgb[i][0],
++		palette[i].green = image->palette->rgb[i][1],
++		palette[i].blue = image->palette->rgb[i][2];
++	    png_set_PLTE(png_ptr, info_ptr, palette, image->palette->end);
+ 	}
+ 	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;
++    	{
++ 	png_color_8 sigbits;
++	sigbits.red =  8 - image->palette->info.truec.rprec;
++	sigbits.green = 8 - image->palette->info.truec.gprec;
++	sigbits.blue =  8 - image->palette->info.truec.bprec;
++	png_set_sBIT(png_ptr, info_ptr, &sigbits);
+ 	break;
++    	}
+     }
+-    info_ptr->interlace_type = 0;
++
+ #ifdef _undefined_
+     png_set_text(png_ptr, info_ptr, comments,
+ 		 sizeof(comments) / sizeof(png_text));
+@@ -127,8 +154,11 @@
+     png_write_info(png_ptr, info_ptr);
+     /*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));
++    if (image->palette->type & (TRUECOLOR | TRUECOLOR24 | TRUECOLOR16)) {
++	png_color_8 *sigbits;
++	png_get_sBIT(png_ptr, info_ptr, &sigbits);
++	png_set_shift(png_ptr, sigbits);
++    }
+     if (*b == 255)
+ 	png_set_swap(png_ptr);
+     png_set_bgr(png_ptr);
+@@ -192,7 +222,6 @@
+ #endif
+     }
+     png_write_end(png_ptr, info_ptr);
+-    info_ptr->text = NULL; /* Do not try to free a static string */
+     png_destroy_write_struct(&png_ptr, &info_ptr);
+     fclose(file);
+     return NULL;
diff -Nru xaos-3.5+ds1/debian/patches/series xaos-3.5+ds1/debian/patches/series
--- xaos-3.5+ds1/debian/patches/series	2014-11-12 13:55:31.000000000 +0100
+++ xaos-3.5+ds1/debian/patches/series	2016-01-06 14:56:04.000000000 +0100
@@ -4,3 +4,4 @@
 window-size.patch
 spelling.patch
 engine-registers.patch
+libpng16.patch



More information about the Pkg-games-devel mailing list