Fix building with libpng15 wrt #357167 by Lars Wendler
authorSamuli Suominen <ssuominen@gentoo.org>
Sun, 7 Aug 2011 16:43:23 +0000 (16:43 +0000)
committerSamuli Suominen <ssuominen@gentoo.org>
Sun, 7 Aug 2011 16:43:23 +0000 (16:43 +0000)
Package-Manager: portage-2.2.0_alpha47/cvs/Linux x86_64

media-libs/imlib/ChangeLog
media-libs/imlib/Manifest
media-libs/imlib/files/imlib-1.9.15-libpng15.patch [new file with mode: 0644]
media-libs/imlib/imlib-1.9.15-r3.ebuild

index 3699fce0994f06fca796814cea95face282a5566..ad38a777ae9bc42d9fcc4a83da7edd68eeeba51c 100644 (file)
@@ -1,6 +1,10 @@
 # ChangeLog for media-libs/imlib
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/imlib/ChangeLog,v 1.71 2011/03/28 17:54:43 ssuominen Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/imlib/ChangeLog,v 1.72 2011/08/07 16:43:23 ssuominen Exp $
+
+  07 Aug 2011; Samuli Suominen <ssuominen@gentoo.org> imlib-1.9.15-r3.ebuild,
+  +files/imlib-1.9.15-libpng15.patch:
+  Fix building with libpng15 wrt #357167 by Lars Wendler
 
 *imlib-1.9.15-r3 (28 Mar 2011)
 
index bb4264a44804bb76a115846433d002542f01008a..12e20c68bbd983c3addd28b75eb78236515eb0b9 100644 (file)
@@ -1,11 +1,22 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
 AUX imlib-1.9.15-asneeded.patch 1120 RMD160 14f2e712bbffe75db5e54dc77d979ca22f7e65c7 SHA1 231b4b00b0fbfc98e01c19b5513861b71a6ea68d SHA256 60f8a3f9bee11c0987b663ec86d48f208d7d96f35463f9babdd43389f466ce94
 AUX imlib-1.9.15-bpp16-CVE-2007-3568.patch 457 RMD160 7892bce6d9375befc0a322dd5870f10e5d41ceb5 SHA1 c3977dcb4d95ffab5cadb68bb3e3c7693c1e8be3 SHA256 f0097c1db200b19a3e8f06d85765dd8b8f757dd0bc6fd9bafa0c31cd9c14d8ec
 AUX imlib-1.9.15-fix-rendering.patch 3263 RMD160 2ec2c9bb864d64b588d3b786e9b256f4d3788436 SHA1 3b8cb97fd6918bddc70b78fc04e5a7b4a5395c0e SHA256 7f5f8967ec52658e776a0a60a3a3c93d367ccf877d92569a9313e78bbd510604
+AUX imlib-1.9.15-libpng15.patch 3785 RMD160 0640a788ece23f074eae36a98e66bd30096ece34 SHA1 33c3aaa43eb624f2a6ab0406285a8515903333e3 SHA256 0306f872438822888d436f9e151e4875ffa3ee1b261f7a092738ea87e4ca589b
 AUX imlib-1.9.15.patch 2253 RMD160 beb86753cc2024a9eb671acdc3886b7a5692b526 SHA1 29fb949680e5b2d95392b4c5efd1fdfa21f2df3d SHA256 43dd12dae7913475f968f35a4fa4b1ef4670451e58c712cbd6e5460f20fc9197
 AUX imlib-security.patch 13040 RMD160 432377938bd85f9974bff8f08aca6d93d310057c SHA1 ec1b47281c1a7fb21abe841f948ecc56ed13f310 SHA256 d67a7faa2dba8d361cf25b6fc8125c1da92f25b612bffe909daacdeda577dd57
 DIST gtk-1-for-imlib.m4.bz2 2742 RMD160 11e0016ec8f37b617198b9cfc6d7bc703b50a808 SHA1 c099fbc5dd80b9db81b4e89481422ab40c06dfef SHA256 e024d822d64819e23f7ad7c8283086ffd1e112b859b4669f1624dda1c56d8c47
 DIST imlib-1.9.15.tar.bz2 683242 RMD160 195b80833167134ba2d9a9574d420279f9cf55f4 SHA1 c9a732a354fbb3c7e1a426e5d19fc92d73f8f720 SHA256 4e6a270308a9ae16586bfc133c1a3dfb2e56f431edb66aaa3a80e36e5ed84ce0
 EBUILD imlib-1.9.15-r2.ebuild 1706 RMD160 32cf7930130705beb79da2bf9c83e15be6723d0c SHA1 65fb5b1a8fb2a53087039b4d33c6242fc39068c5 SHA256 c469065c4ec327d70178ae1a12eacbcf8a6e59dbc53bdefd2c5a335a04a159c8
-EBUILD imlib-1.9.15-r3.ebuild 1668 RMD160 ccb1c3cadd9b475b9e3c58e501e621db61575319 SHA1 f33d49139114ffa3d68f9602dc333bf24c20c852 SHA256 7d7a77e23a74d136d144d2cf3da807f5234559ef3c14e546b36b9f8da45ab96a
-MISC ChangeLog 9907 RMD160 5a8c656fc0fc1c4b4a06f9088e149c251f384e16 SHA1 01c19a7023bf558bd7ae67fcaed12f4422675087 SHA256 137ecb440d0cb2b5776fcab35563af73bab8cfbb06ac590b2245a68f233e8f8e
+EBUILD imlib-1.9.15-r3.ebuild 1718 RMD160 389dcad651c358bc6c79242307cfd233a2772755 SHA1 be1a1033b020e223c6a54bfc2da52f53823c19c1 SHA256 4d30e6b6d65460ebdae076ff4e79896baf37b4299af0e80a1085add361697365
+MISC ChangeLog 10081 RMD160 c66c25e8b2cbc6fe162758f99fec1fafd8fcf699 SHA1 a99ccc0310f6f419e077302fabb89f3c72e258f0 SHA256 ba6af4bd52270ca28b18e4141620a0eb3e21dac1197edf737b00e01f9f9126f3
 MISC metadata.xml 250 RMD160 26ecc4f7f424a15794ee06cb19ab93b11cf3d937 SHA1 df66486e314d9857f2ab3543655a40969a1b2a36 SHA256 2ed34a6973e57fed2c303880c124436cc1e74d7e2b38fe0575778d8b29d62fbb
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.17 (GNU/Linux)
+
+iF4EAREIAAYFAk4+v+MACgkQXkR9YqOcLPFutgD/Uve97MvcJibQChk8CYeoAD+R
+KeZaiIt5p8kI4f5Q1zwA/ixoD0+uzEYWV7h1t4QdxirU/b6sKPQrvlKnEOWOCXpt
+=ionG
+-----END PGP SIGNATURE-----
diff --git a/media-libs/imlib/files/imlib-1.9.15-libpng15.patch b/media-libs/imlib/files/imlib-1.9.15-libpng15.patch
new file mode 100644 (file)
index 0000000..7837cd4
--- /dev/null
@@ -0,0 +1,142 @@
+--- gdk_imlib/io-png.c
++++ gdk_imlib/io-png.c
+@@ -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
++++ Imlib/load.c
+@@ -197,12 +197,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;
+@@ -260,7 +260,8 @@
+   png_read_image(png_ptr, lines);
+   png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+   ptr = data;
+-  if (color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
++  if (color_type == PNG_COLOR_TYPE_GRAY
++      || color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
+     {
+       for (y = 0; y < *h; y++)
+       {
+@@ -285,6 +286,7 @@
+           }
+       }
+     }
++#if 0
+   else if (color_type == PNG_COLOR_TYPE_GRAY)
+     {
+       for (y = 0; y < *h; y++)
+@@ -300,6 +302,7 @@
+           }
+       }
+     }
++#endif
+   else
+     {
+       for (y = 0; y < *h; y++)
+--- Imlib/save.c
++++ Imlib/save.c
+@@ -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
++++ Imlib/utils.c
+@@ -1981,14 +1981,13 @@
+       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;
index 81e8e2a4df3cae1e7be726335bef8469fd23e4a2..5771a36881d3b48a41da73a935cb070ac79736eb 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/imlib/imlib-1.9.15-r3.ebuild,v 1.1 2011/03/28 17:54:43 ssuominen Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/imlib/imlib-1.9.15-r3.ebuild,v 1.2 2011/08/07 16:43:23 ssuominen Exp $
 
 EAPI=2
 inherit autotools eutils
@@ -34,6 +34,7 @@ src_prepare() {
        epatch "${FILESDIR}"/${P}-bpp16-CVE-2007-3568.patch # security #201887
        epatch "${FILESDIR}"/${P}-fix-rendering.patch #197489
        epatch "${FILESDIR}"/${P}-asneeded.patch #207638
+       epatch "${FILESDIR}"/${P}-libpng15.patch #357167
 
        mkdir m4 && cp "${WORKDIR}"/gtk-1-for-imlib.m4 m4