Hello community,

here is the log from the commit of package xemacs for openSUSE:Factory checked 
in at 2012-01-11 15:38:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xemacs (Old)
 and      /work/SRC/openSUSE:Factory/.xemacs.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

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

Changes:
--------
--- /work/SRC/openSUSE:Factory/xemacs/xemacs.changes    2012-01-05 
19:16:38.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.xemacs.new/xemacs.changes       2012-01-11 
15:39:04.000000000 +0100
@@ -1,0 +2,6 @@
+Fri Jan  6 09:49:17 UTC 2012 - [email protected]
+
+- build also against libpng15
+  * libpng15.patch
+
+-------------------------------------------------------------------

New:
----
  xemacs-libpng15.patch

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

Other differences:
------------------
++++++ xemacs.spec ++++++
--- /var/tmp/diff_new_pack.ruN7X2/_old  2012-01-11 15:39:05.000000000 +0100
+++ /var/tmp/diff_new_pack.ruN7X2/_new  2012-01-11 15:39:05.000000000 +0100
@@ -15,6 +15,7 @@
 # Please submit bugfixes or comments via http://bugs.opensuse.org/
 #
 
+
 Name:           xemacs
 BuildRequires:  autoconf
 BuildRequires:  canna-devel
@@ -98,6 +99,9 @@
 Patch52:        bnc502716-xft.patch
 Patch54:        bnc558764_avoid-xft-if-absent.patch
 Patch55:        changeset-dec62ca5a899.patch
+# PATCH-FIX-UPSTREAM pngtoico-libpng15.patch -- [email protected]; build with 
libpng15; didn't sent to upstream
+# build against libpng14 should not be affected, otherwise please let me know
+Patch56:        xemacs-libpng15.patch
 Patch292811:    bugzilla-292811-make-x-make-font-bold-italic-xft-work.patch
 Patch301352:    bugzilla-301352-fix-wrong-incrementing-in-macros.patch
 %define _default_patch_fuzz 2
@@ -187,6 +191,7 @@
 %endif
 %patch54 -p0
 %patch55 -p0
+%patch56 -p1
 %patch292811 -p1
 %patch301352 -p1
 %patch0 -p1

++++++ xemacs-libpng15.patch ++++++
Index: xemacs-beta-b604d235f028/src/glyphs-eimage.c
===================================================================
--- xemacs-beta-b604d235f028.orig/src/glyphs-eimage.c
+++ xemacs-beta-b604d235f028/src/glyphs-eimage.c
@@ -887,7 +887,8 @@ png_instantiate (Lisp_Object image_insta
   Lisp_Image_Instance *ii = XIMAGE_INSTANCE (image_instance);
   struct png_unwind_data unwind;
   int speccount = specpdl_depth ();
-  int height, width;
+  png_uint_32 height, width;
+  int bit_depth, color_type;
   struct png_memory_storage tbr;  /* Data to be read */
 
   /* PNG variables */
@@ -955,8 +956,7 @@ png_instantiate (Lisp_Object image_insta
     int y, padding;
     Binbyte **row_pointers;
     UINT_64_BIT pixels_sq;
-    height = info_ptr->height;
-    width = info_ptr->width;
+    png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type, 
NULL, NULL, NULL);
     pixels_sq = (UINT_64_BIT) width * (UINT_64_BIT) height;
     if (pixels_sq > ((size_t) -1) / 3)
       signal_image_error ("PNG image too large to instantiate", instantiator);
@@ -1018,29 +1018,29 @@ png_instantiate (Lisp_Object image_insta
     /* Now that we're using EImage, ask for 8bit RGB triples for any type
        of image*/
     /* convert palette images to RGB */
-    if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
+    if (color_type == PNG_COLOR_TYPE_PALETTE)
       png_set_palette_to_rgb (png_ptr);
     /* convert grayscale images to RGB */
-    else if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
-        info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
+    else if (color_type == PNG_COLOR_TYPE_GRAY ||
+        color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
       png_set_gray_to_rgb (png_ptr);
     /* pad images with depth < 8 bits */
-    else if (info_ptr->bit_depth < 8)
+    else if (bit_depth < 8)
       {
-       if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY)
+       if (color_type == PNG_COLOR_TYPE_GRAY)
          png_set_expand (png_ptr);
        else
          png_set_packing (png_ptr);
       }
     /* strip 16-bit depth files down to 8 bits */
-    if (info_ptr->bit_depth == 16)
+    if (bit_depth == 16)
       png_set_strip_16 (png_ptr);
     /* strip alpha channel
        #### shouldn't we handle this?
        first call png_read_update_info in case above transformations
        have generated an alpha channel */
     png_read_update_info(png_ptr, info_ptr);
-    if (info_ptr->color_type & PNG_COLOR_MASK_ALPHA)
+    if (color_type & PNG_COLOR_MASK_ALPHA)
       png_set_strip_alpha (png_ptr);
 
     png_read_image (png_ptr, row_pointers);
@@ -1050,19 +1050,22 @@ png_instantiate (Lisp_Object image_insta
      * into the glyph code, where you can get to it from lisp
      * anyway. - WMP */
     {
-      int i;
+      int i, num_text;
+      png_textp text_ptr;
       DECLARE_EISTRING (key);
       DECLARE_EISTRING (text);
-
-      for (i = 0 ; i < info_ptr->num_text ; i++)
+      
+      png_get_text(png_ptr, info_ptr, &text_ptr, &num_text);
+      
+      for (i = 0 ; i < num_text ; i++)
        {
          /* How paranoid do I have to be about no trailing NULLs, and
             using (int)info_ptr->text[i].text_length, and strncpy and a temp
             string somewhere? */
           eireset(key);
           eireset(text);
-          eicpy_ext(key, info_ptr->text[i].key, Qbinary);
-          eicpy_ext(text, info_ptr->text[i].text, Qbinary);
+          eicpy_ext(key, text_ptr[i].key, Qbinary);
+          eicpy_ext(text, text_ptr[i].text, Qbinary);
 
          warn_when_safe (Qpng, Qinfo, "%s - %s",
                          eidata(key), eidata(text));

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

Reply via email to