[97471] trunk/dports/graphics/imlib

ryandesign at macports.org ryandesign at macports.org
Fri Sep 7 00:22:39 PDT 2012


Revision: 97471
          https://trac.macports.org/changeset/97471
Author:   ryandesign at macports.org
Date:     2012-09-07 00:22:36 -0700 (Fri, 07 Sep 2012)
Log Message:
-----------
imlib: fix build with libpng 1.5 (#36023)

Modified Paths:
--------------
    trunk/dports/graphics/imlib/Portfile

Added Paths:
-----------
    trunk/dports/graphics/imlib/files/patch-libpng-1.5.diff

Modified: trunk/dports/graphics/imlib/Portfile
===================================================================
--- trunk/dports/graphics/imlib/Portfile	2012-09-07 05:51:40 UTC (rev 97470)
+++ trunk/dports/graphics/imlib/Portfile	2012-09-07 07:22:36 UTC (rev 97471)
@@ -31,7 +31,8 @@
                     path:include/gif_lib.h:giflib \
                     port:libpng
 
-patchfiles          patch-imlib.m4
+patchfiles          patch-imlib.m4 \
+                    patch-libpng-1.5.diff
 
 # build for correct archs; fix mandir
 use_autoreconf      yes

Added: trunk/dports/graphics/imlib/files/patch-libpng-1.5.diff
===================================================================
--- trunk/dports/graphics/imlib/files/patch-libpng-1.5.diff	                        (rev 0)
+++ trunk/dports/graphics/imlib/files/patch-libpng-1.5.diff	2012-09-07 07:22:36 UTC (rev 97471)
@@ -0,0 +1,116 @@
+Adapted from http://mailman.archlinux.org/pipermail/arch-commits/2012-January/157644.html
+--- gdk_imlib/io-png.c.orig	2002-03-04 11:06:29.000000000 -0600
++++ gdk_imlib/io-png.c	2012-09-06 21:56:55.000000000 -0500
+@@ -40,13 +40,13 @@
+       return NULL;
+     }
+ 
+-  if (setjmp(png_ptr->jmpbuf))
++  if (setjmp(png_jmpbuf(png_ptr)))
+     {
+       png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+       return NULL;
+     }
+ 
+-  if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
++  if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
+     {
+       png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+       return NULL;
+@@ -275,13 +275,13 @@
+       return NULL;
+     }
+   
+-  if (setjmp(png_ptr->jmpbuf))
++  if (setjmp(png_jmpbuf(png_ptr)))
+     {
+       png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+       return NULL;
+     }
+   
+-  if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
++  if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
+     {
+       png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+       return NULL;
+@@ -301,6 +301,9 @@
+   /* Setup Translators */
+   if (color_type == PNG_COLOR_TYPE_PALETTE)
+     png_set_expand(png_ptr);
++  if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8)
++    png_set_expand(png_ptr);
++
+   png_set_strip_16(png_ptr);
+   png_set_packing(png_ptr);
+   if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS))
+@@ -440,13 +443,13 @@
+ 		return NULL;
+ 	}
+ 	
+-	if (setjmp(png_ptr->jmpbuf))
++	if (setjmp(png_jmpbuf(png_ptr)))
+ 	{
+ 		png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ 		return NULL;
+ 	}
+ 	
+-	if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
++	if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
+ 	{
+ 		png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ 		return NULL;
+@@ -635,7 +638,7 @@
+ 	      png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
+ 	      return 0;
+ 	    }
+-	  if (setjmp(png_ptr->jmpbuf))
++	  if (setjmp(png_jmpbuf(png_ptr)))
+ 	    {
+ 	      fclose(f);
+ 	      png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
+--- Imlib/load.c.orig	2004-09-20 19:23:20.000000000 -0500
++++ Imlib/load.c	2012-09-06 21:29:39.000000000 -0500
+@@ -191,12 +191,12 @@
+       png_destroy_read_struct(&png_ptr, NULL, NULL);
+       return NULL;
+     }
+-  if (setjmp(png_ptr->jmpbuf))
++  if (setjmp(png_jmpbuf(png_ptr)))
+     {
+       png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+       return NULL;
+     }
+-  if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
++  if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
+     {
+       png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+       return NULL;
+--- Imlib/save.c.orig	2004-09-20 19:22:59.000000000 -0500
++++ Imlib/save.c	2012-09-06 21:29:39.000000000 -0500
+@@ -342,7 +342,7 @@
+ 	      png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
+ 	      return 0;
+ 	    }
+-	  if (setjmp(png_ptr->jmpbuf))
++	  if (setjmp(png_jmpbuf(png_ptr)))
+ 	    {
+ 	      fclose(f);
+ 	      png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
+--- Imlib/utils.c.orig	2004-09-20 19:22:59.000000000 -0500
++++ Imlib/utils.c	2012-09-06 21:29:39.000000000 -0500
+@@ -1959,13 +1959,13 @@
+       return NULL;
+     }
+   
+-  if (setjmp(png_ptr->jmpbuf))
++  if (setjmp(png_jmpbuf(png_ptr)))
+     {
+       png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+       return NULL;
+     }
+   
+-  if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
++  if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
+     {
+       png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+       return NULL;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20120907/84c41e61/attachment-0001.html>


More information about the macports-changes mailing list