Build with media-libs/libpng-1.5 Bug #381121
authorAlfredo Tupone <tupone@gentoo.org>
Mon, 12 Sep 2011 12:44:05 +0000 (12:44 +0000)
committerAlfredo Tupone <tupone@gentoo.org>
Mon, 12 Sep 2011 12:44:05 +0000 (12:44 +0000)
Package-Manager: portage-2.1.10.15/cvs/Linux i686

games-strategy/scorched3d/ChangeLog
games-strategy/scorched3d/Manifest
games-strategy/scorched3d/files/scorched3d-43.2a-png15.patch [new file with mode: 0644]

index 64e072d5006d776dc5be96cc7247d02d01565af2..2a1dacaff746783dc7860a6c3173391439869af0 100644 (file)
@@ -1,6 +1,10 @@
 # ChangeLog for games-strategy/scorched3d
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/games-strategy/scorched3d/ChangeLog,v 1.81 2011/03/25 12:18:07 xarthisius Exp $
+# $Header: /var/cvsroot/gentoo-x86/games-strategy/scorched3d/ChangeLog,v 1.82 2011/09/12 12:44:05 tupone Exp $
+
+  12 Sep 2011; Tupone Alfredo <tupone@gentoo.org>
+  +files/scorched3d-43.2a-png15.patch:
+  Build with media-libs/libpng-1.5 Bug #381121 by Diego Elio Pettenò
 
   25 Mar 2011; Kacper Kowalik <xarthisius@gentoo.org> scorched3d-43.2a.ebuild:
   pp64 stable wrt #350765
index 98724ab6a83c6429fa68c9377c6bf41c1d71e4cf..f9511c903f0e4360e790c3791b999b0a9329858b 100644 (file)
@@ -4,17 +4,16 @@ Hash: SHA1
 AUX scorched3d-43.2a-fixups.patch 1967 RMD160 d06d0c20c5e65907a680ba39ebbbc57ee14a25cb SHA1 d13d821bca8c342bf04d5de0f5925649890c18c4 SHA256 7487d6708bfe250925cd7b425e200e5f566920c4fbb0376e3a5922bd60828934
 AUX scorched3d-43.2a-gcc43.patch 875 RMD160 b52c37c3210c5ea0629f5f00283a4a63fa5c3561 SHA1 6be351b7b56206d8540c0938e06759cc6ee0c0e2 SHA256 f139415a4deca70dc0ad087ce6714359d4076df89228e7ea1e61aa100e0558c8
 AUX scorched3d-43.2a-odbc.patch 665 RMD160 00d9966808a9b61a45223cce0ba50116774f243e SHA1 71b0f9308e743dd1630977467c12b3caf89bb446 SHA256 27e8af602e38579f87b83bc67afc7c3fde012e058f73dab7b5e63f22752bb1be
+AUX scorched3d-43.2a-png15.patch 2582 RMD160 7e93324f980fc7fa89021d6852c1073bdde465d4 SHA1 bdf57394119d81d7a84e14f9435de3c0cc482578 SHA256 654d3f1d55f514c7249215b6974c0d70777c9dbd7de6ef7ccbffd98cefcfa853
 AUX scorched3d-43.2a-win32.patch 625 RMD160 6170762627bb1094479eece1e07591e6e9703abf SHA1 9622d3d756999780da4385bd48a2cd12290d7aab SHA256 50c8cadae0476071f580983f8287e95ac15c45e865e4837b567493a97fcd4c5f
 DIST Scorched3D-43.2a-src.tar.gz 66822169 RMD160 f1d91afdb80220b85b82ecb87988033629c3d697 SHA1 d72e928512d4cc1c525161abd061318425a1ae40 SHA256 b13fa8b6862271efde2fb1f7d6c470ce180940cf8896f42a86a1f8b39cad61c3
 EBUILD scorched3d-43.2a.ebuild 1538 RMD160 27dfc52fd574993167d365c664c1d78ee172161c SHA1 15f2d769ba5fd5a449b153f1e3387f8153f2b641 SHA256 b17133cd6a44a5d0a0de9ad6923431d1ebc10da5983205e2ba3c53496049cab9
-MISC ChangeLog 12647 RMD160 3d8746db6b76e19b104c3db85622019547ddc491 SHA1 28de26dc7169921ae38bdb58ef84a9b12a62ef2f SHA256 78486a8bb29eba04490bc4d36bd05bfbf5e6366df7f7dd3dba6083a326435350
+MISC ChangeLog 12803 RMD160 9559108747332446aec04a88bcd423dd9d130811 SHA1 53062e4ee3774786d372da669172ea7a394f3bf3 SHA256 ea67f011c8938d3695064ea8315a4ccee69a381cf94e06ac08ffdd44b07872e9
 MISC metadata.xml 158 RMD160 cbd9984bb6b426c8c9cee5022fe0a26261612fea SHA1 be5251fa1dacef5c41b74761bb1c8c54fb633b9e SHA256 1423a4fdd4a79b1728a2056d9e300f7e1074253095d82726218d9e9b953888a3
 -----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.17 (GNU/Linux)
+Version: GnuPG v2.0.18 (GNU/Linux)
 
-iJwEAQECAAYFAk2MiAcACgkQIiMqcbOVdxQH/wQAli7tsGkEj3Mtz9FUxDEweh33
-SeKmLSXvG5FGDxFPmb4TanRT/Ewseb4Oy3I/C6QbwiwAMAau+z9UNVsyA1u/ERcP
-dQP9VKqM4Twvfst9VGaei7XieCAYcBBb5qjoDCDK3jKb31OHFlsZgN5aaHGyJJ31
-HR/u/sosfgJ3v5w4EnM=
-=DiAm
+iEYEARECAAYFAk5t/kIACgkQIY77eQFFFC2faQCcCEkEdUS+4VwzrH4ZiGYOVzT4
+d/4AoM+e+T8HtP3lDWuCLHn6mb9f3hmx
+=NPRg
 -----END PGP SIGNATURE-----
diff --git a/games-strategy/scorched3d/files/scorched3d-43.2a-png15.patch b/games-strategy/scorched3d/files/scorched3d-43.2a-png15.patch
new file mode 100644 (file)
index 0000000..4e8f003
--- /dev/null
@@ -0,0 +1,74 @@
+--- ./src/common/image/ImagePngFactory.cpp.old 2011-09-12 12:34:30.114461019 +0200
++++ ./src/common/image/ImagePngFactory.cpp     2011-09-12 12:39:28.566425593 +0200
+@@ -104,7 +104,7 @@
\r
+ static void user_png_error(png_structp png_ptr, png_const_charp msg) \r
+ {\r
+-      longjmp(png_ptr->jmpbuf,1);\r
++      longjmp(png_jmpbuf(png_ptr),1);\r
+ }\r
\r
+ static void user_png_warning(png_structp png_ptr, png_const_charp msg) \r
+--- ./src/client/client/LoadPNG.cpp.old        2011-09-12 12:45:49.167380419 +0200
++++ ./src/client/client/LoadPNG.cpp    2011-09-12 14:11:14.961772024 +0200
+@@ -28,6 +28,8 @@
+       int row, i;
+       volatile int ckey = -1;
+       png_color_16 *transv;
++      png_colorp  png_palette;
++      int         num_palette;
+       if ( !src ) {
+               /* The error message has been set in SDL_RWFromFile */
+@@ -58,7 +60,7 @@
+        * the normal method of doing things with libpng).  REQUIRED unless you
+        * set up your own error handlers in png_create_read_struct() earlier.
+        */
+-      if ( setjmp(png_ptr->jmpbuf) ) {
++      if ( setjmp(png_jmpbuf(png_ptr)) ) {
+               error = "Error reading the PNG file.";
+               goto done;
+       }
+@@ -127,9 +129,9 @@
+                       Rmask = 0x000000FF;
+                       Gmask = 0x0000FF00;
+                       Bmask = 0x00FF0000;
+-                      Amask = (info_ptr->channels == 4) ? 0xFF000000 : 0;
++                      Amask = (png_get_channels(png_ptr, info_ptr) == 4) ? 0xFF000000 : 0;
+               } else {
+-                      int s = (info_ptr->channels == 4) ? 0 : 8;
++                      int s = (png_get_channels(png_ptr, info_ptr) == 4) ? 0 : 8;
+                       Rmask = 0xFF000000 >> s;
+                       Gmask = 0x00FF0000 >> s;
+                       Bmask = 0x0000FF00 >> s;
+@@ -137,7 +139,7 @@
+               }
+       }
+       surface = SDL_AllocSurface(SDL_SWSURFACE, width, height,
+-                      bit_depth*info_ptr->channels, Rmask,Gmask,Bmask,Amask);
++                      bit_depth*png_get_channels(png_ptr, info_ptr), Rmask,Gmask,Bmask,Amask);
+       if ( surface == NULL ) {
+               error = "Out of memory";
+               goto done;
+@@ -185,12 +187,15 @@
+                   palette->colors[i].g = i;
+                   palette->colors[i].b = i;
+               }
+-          } else if (info_ptr->num_palette > 0 ) {
+-              palette->ncolors = info_ptr->num_palette; 
+-              for( i=0; i<info_ptr->num_palette; ++i ) {
+-                  palette->colors[i].b = info_ptr->palette[i].blue;
+-                  palette->colors[i].g = info_ptr->palette[i].green;
+-                  palette->colors[i].r = info_ptr->palette[i].red;
++          } else {
++              png_get_PLTE(png_ptr, info_ptr, &png_palette, &num_palette);
++              if (num_palette > 0 ) {
++                      palette->ncolors = num_palette; 
++                      for( i=0; i<num_palette; ++i ) {
++                          palette->colors[i].b = png_palette[i].blue;
++                          palette->colors[i].g = png_palette[i].green;
++                          palette->colors[i].r = png_palette[i].red;
++                      }
+               }
+           }
+       }