summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuli Suominen <ssuominen@gentoo.org>2011-09-17 16:50:03 +0000
committerSamuli Suominen <ssuominen@gentoo.org>2011-09-17 16:50:03 +0000
commita6891ca5f36fdc8ef456d56b24432162b228b66e (patch)
tree18739255cf06de84beed2b3b1f64e21377824cdf /games-engines
parentalpha/ia64/sparc stable wrt #382301 (diff)
downloadhistorical-a6891ca5f36fdc8ef456d56b24432162b228b66e.tar.gz
historical-a6891ca5f36fdc8ef456d56b24432162b228b66e.tar.bz2
historical-a6891ca5f36fdc8ef456d56b24432162b228b66e.zip
Fix building with libpng15 wrt #383197 by Diego Elio Pettenò
Package-Manager: portage-2.2.0_alpha55/cvs/Linux x86_64
Diffstat (limited to 'games-engines')
-rw-r--r--games-engines/stratagus/ChangeLog6
-rw-r--r--games-engines/stratagus/Manifest15
-rw-r--r--games-engines/stratagus/files/stratagus-2.2.5.5-libpng15.patch71
-rw-r--r--games-engines/stratagus/stratagus-2.2.5.5.ebuild5
4 files changed, 92 insertions, 5 deletions
diff --git a/games-engines/stratagus/ChangeLog b/games-engines/stratagus/ChangeLog
index e2ac95536fa7..1289793b6afe 100644
--- a/games-engines/stratagus/ChangeLog
+++ b/games-engines/stratagus/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for games-engines/stratagus
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/games-engines/stratagus/ChangeLog,v 1.20 2011/02/03 19:59:57 mr_bones_ Exp $
+# $Header: /var/cvsroot/gentoo-x86/games-engines/stratagus/ChangeLog,v 1.21 2011/09/17 16:50:03 ssuominen Exp $
+
+ 17 Sep 2011; Samuli Suominen <ssuominen@gentoo.org> stratagus-2.2.5.5.ebuild,
+ +files/stratagus-2.2.5.5-libpng15.patch:
+ Fix building with libpng15 wrt #383197 by Diego Elio Pettenò
03 Feb 2011; Michael Sterrett <mr_bones_@gentoo.org>
stratagus-2.2.5.5.ebuild:
diff --git a/games-engines/stratagus/Manifest b/games-engines/stratagus/Manifest
index 311a8491be48..ae6b34a7f05b 100644
--- a/games-engines/stratagus/Manifest
+++ b/games-engines/stratagus/Manifest
@@ -1,4 +1,15 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+AUX stratagus-2.2.5.5-libpng15.patch 2260 RMD160 e830d532aadcb7d849a5177ea7f8670778ded586 SHA1 b7f20472c1481223a36363579c4cfcc43b8898a9 SHA256 bf36f8f99da8cace616923f6fd3979a147bf201b462a82f3f059cec01487c61f
DIST stratagus_2.2.5.5.orig.tar.gz 976972 RMD160 371ded2944db34b930a337ed5a08eca32f772541 SHA1 c7b9ac70c96289ba964919fa9add93e93c879b0d SHA256 e0c8fe592ee3ad0c5806937aa950aad39019780de5344987366fe76901377285
-EBUILD stratagus-2.2.5.5.ebuild 1393 RMD160 c013c3f6a67e4094e556485fb7028d2404a7a7a3 SHA1 86274c3f1fb1bb9a8b9758433a57b0ffceb6402e SHA256 6740a409a8a31c4ce23c379c7d3fa9986ca93e60e3050766382cc28e62f2158b
-MISC ChangeLog 3097 RMD160 8bc594892403a25922c0dc8d0f07e98ecf87f0eb SHA1 480720e410649965168875c77115ed5b1a93f509 SHA256 fe5d1c83412fa4384c174fbb9fd85b5c576343f1f7f5a7640ea473b83bea5855
+EBUILD stratagus-2.2.5.5.ebuild 1442 RMD160 4798b414efdce299cc799b3bf9ebf74b921e7d28 SHA1 b1f6a59ed3b1ada3f6ce66b62a053ac59cebea81 SHA256 c3b6f0ac3ebbb95244867a7ab41efa9e6f5ceca6adf2f183c28de86fb14fe51e
+MISC ChangeLog 3285 RMD160 2812c0094a78858284107aa796b1fb63073f1928 SHA1 8dee38103335e15285053038b3ce92e4f6145de2 SHA256 d7fa2411d24cc80a46bc16173525161c250e0883ddcb03b9078fa610812db4c7
MISC metadata.xml 158 RMD160 cbd9984bb6b426c8c9cee5022fe0a26261612fea SHA1 be5251fa1dacef5c41b74761bb1c8c54fb633b9e SHA256 1423a4fdd4a79b1728a2056d9e300f7e1074253095d82726218d9e9b953888a3
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.18 (GNU/Linux)
+
+iF4EAREIAAYFAk50z/cACgkQXkR9YqOcLPGe9wD+NXfOVYCdqvwOgZDsFCWlYkUV
+jj6anNqgGzrao35ePboA/RuiswSrtfvlLLAcSh2JTIgywCjgINIgqbo0ifkulq2T
+=/0LH
+-----END PGP SIGNATURE-----
diff --git a/games-engines/stratagus/files/stratagus-2.2.5.5-libpng15.patch b/games-engines/stratagus/files/stratagus-2.2.5.5-libpng15.patch
new file mode 100644
index 000000000000..cc0a7380ce9b
--- /dev/null
+++ b/games-engines/stratagus/files/stratagus-2.2.5.5-libpng15.patch
@@ -0,0 +1,71 @@
+--- src/video/png.cpp
++++ src/video/png.cpp
+@@ -147,7 +147,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))) {
+ fprintf(stderr, "Error reading the PNG file.\n");
+ ret = -1;
+ goto done;
+@@ -227,11 +227,11 @@
+ 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;
+
+- s = (info_ptr->channels == 4) ? 0 : 8;
++ s = (png_get_channels(png_ptr, info_ptr) == 4) ? 0 : 8;
+ Rmask = 0xFF000000 >> s;
+ Gmask = 0x00FF0000 >> s;
+ Bmask = 0x0000FF00 >> s;
+@@ -239,7 +239,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) {
+ fprintf(stderr, "Out of memory");
+ goto done;
+@@ -276,6 +276,8 @@
+ png_read_end(png_ptr, info_ptr);
+
+ /* Load the palette, if any */
++ int png_num_palette;
++ png_colorp png_palette;
+ palette = surface->format->palette;
+ if (palette) {
+ if (color_type == PNG_COLOR_TYPE_GRAY) {
+@@ -285,12 +287,12 @@
+ 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 if (png_num_palette > 0) {
++ palette->ncolors = png_num_palette;
++ for (i = 0; i < png_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;
+ }
+ }
+ }
+@@ -343,7 +345,7 @@
+ return;
+ }
+
+- if (setjmp(png_ptr->jmpbuf)) {
++ if (setjmp(png_jmpbuf(png_ptr))) {
+ /* If we get here, we had a problem reading the file */
+ fclose(fp);
+ png_destroy_write_struct(&png_ptr, &info_ptr);
diff --git a/games-engines/stratagus/stratagus-2.2.5.5.ebuild b/games-engines/stratagus/stratagus-2.2.5.5.ebuild
index 16d9a0802e4d..c3cdfe952e56 100644
--- a/games-engines/stratagus/stratagus-2.2.5.5.ebuild
+++ b/games-engines/stratagus/stratagus-2.2.5.5.ebuild
@@ -1,9 +1,9 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/games-engines/stratagus/stratagus-2.2.5.5.ebuild,v 1.6 2011/03/09 22:54:42 mr_bones_ Exp $
+# $Header: /var/cvsroot/gentoo-x86/games-engines/stratagus/stratagus-2.2.5.5.ebuild,v 1.7 2011/09/17 16:50:03 ssuominen Exp $
EAPI=2
-inherit autotools games
+inherit autotools eutils games
DESCRIPTION="A realtime strategy game engine"
HOMEPAGE="http://stratagus.sourceforge.net/"
@@ -28,6 +28,7 @@ DEPEND="${RDEPEND}
doc? ( app-doc/doxygen )"
src_prepare() {
+ epatch "${FILESDIR}"/${P}-libpng15.patch
sed -i \
-e 's/-O.*\(-fsigned-char\).*/\1"/' \
configure.in \