Hello community,

here is the log from the commit of package xaos for openSUSE:Factory checked in 
at 2012-09-14 12:42:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xaos (Old)
 and      /work/SRC/openSUSE:Factory/.xaos.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xaos", Maintainer is "[email protected]"

Changes:
--------
--- /work/SRC/openSUSE:Factory/xaos/xaos.changes        2012-06-14 
21:12:26.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.xaos.new/xaos.changes   2012-09-14 
12:42:48.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Sep  4 15:58:27 UTC 2012 - [email protected]
+
+- builds also with libpng15
+  * libpng15.patch
+
+-------------------------------------------------------------------

New:
----
  xaos-libpng15.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xaos.spec ++++++
--- /var/tmp/diff_new_pack.bkbdfj/_old  2012-09-14 12:42:48.000000000 +0200
+++ /var/tmp/diff_new_pack.bkbdfj/_new  2012-09-14 12:42:48.000000000 +0200
@@ -29,6 +29,8 @@
 Source3:        %{name}.png
 Patch0:         %{name}-%{version}-strip.patch
 Patch1:         fix-prototypes.diff
+# libpng15.patch should be upstreamed yet
+Patch2:         xaos-libpng15.patch
 BuildRequires:  aalib-devel
 BuildRequires:  dos2unix
 BuildRequires:  fdupes
@@ -53,6 +55,7 @@
 %setup -q
 %patch0
 %patch1 -p1
+%patch2
 
 %build
 # convert all xpf-files to UNIX format

++++++ xaos-libpng15.patch ++++++
http://mailman.archlinux.org/pipermail/arch-commits/2012-January/156237.html
--- 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);


-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to