Patch from Debian to fix crash on amd64, bug #196500; install menu entry
authorTristan Heaven <tristan@gentoo.org>
Sat, 3 Apr 2010 18:03:45 +0000 (18:03 +0000)
committerTristan Heaven <tristan@gentoo.org>
Sat, 3 Apr 2010 18:03:45 +0000 (18:03 +0000)
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64

games-puzzle/mirrormagic/ChangeLog
games-puzzle/mirrormagic/Manifest
games-puzzle/mirrormagic/files/mirrormagic-2.0.2-64bit.patch [new file with mode: 0644]
games-puzzle/mirrormagic/files/mirrormagic.xpm [new file with mode: 0644]
games-puzzle/mirrormagic/mirrormagic-2.0.2-r1.ebuild [new file with mode: 0644]

index ded0498f86e75d44b21e51e880026d5e563507f2..9420b5fcfd6a245f6b0141cb236a2c664fa17651 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for games-puzzle/mirrormagic
-# Copyright 2000-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/games-puzzle/mirrormagic/ChangeLog,v 1.12 2008/12/05 17:32:44 nyhm Exp $
+# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/games-puzzle/mirrormagic/ChangeLog,v 1.13 2010/04/03 18:03:45 nyhm Exp $
+
+*mirrormagic-2.0.2-r1 (03 Apr 2010)
+
+  03 Apr 2010; Tristan Heaven <nyhm@gentoo.org>
+  +mirrormagic-2.0.2-r1.ebuild, +files/mirrormagic-2.0.2-64bit.patch,
+  +files/mirrormagic.xpm:
+  Patch from Debian to fix crash on amd64, bug #196500; install menu entry
 
   05 Dec 2008; Tristan Heaven <nyhm@gentoo.org> mirrormagic-2.0.2.ebuild:
   Respect CC and LDFLAGS, bug #244100
index ff2249aef35e0c5f68a008f319761f57916704ae..3e087c1aaaaf071480b27b6ae825e0360ff9d6a7 100644 (file)
@@ -1,15 +1,18 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
+AUX mirrormagic-2.0.2-64bit.patch 888 RMD160 9de7b82dbc56933c685c448fca06250b656ee868 SHA1 1fd32ff1e1118c9d582fe26a81b4f23993749b7d SHA256 7ec4d6ec4c1ecc4b04053a47236ee77475282adbedd03631b15459b0b8b401b5
 AUX mirrormagic-2.0.2-gcc41.patch 339 RMD160 d7d8fe4004cf7360a99ddcdf0db2a56e2f55be3c SHA1 beb6a0170e2a749f7826c774c3ca0f2555ae6049 SHA256 ae5e1eee2ed2c37de5d2259d8150b0dace6e6744045989e83b1b0239b6fd0f4f
+AUX mirrormagic.xpm 6347 RMD160 fad9c381f9fec62f9d8a1c3f7c762ef8ae751e36 SHA1 cf68f03894639de631658e60a7867e7351bada74 SHA256 3c9f65ca677859140d34427d46ff9213c9f928f30157d028be2f590659671f5b
 DIST mirrormagic-2.0.2.tar.gz 1168098 RMD160 57de928f2b37575886ddb5cbafcababf9de765dc SHA1 bce7fbf163d5177f59ba4f516b06a3ebb7cc3927 SHA256 79b3f13d493523438eeb988beffc272c804bc7a4361b83167a082c77e74b3ce2
+EBUILD mirrormagic-2.0.2-r1.ebuild 1400 RMD160 2f48e0b6a87bafc15fe11196c4b78457e013a2f1 SHA1 d16e06cf6785d2542cb952e3799d18b567090e5e SHA256 7b12f34f471eddb9292e89eb0827ad89a025156adc54d1d4d3c418c1e71ae1a0
 EBUILD mirrormagic-2.0.2.ebuild 1290 RMD160 9ee0c026e7be694bf3e08de9fe94c4bc7f315b3b SHA1 c79c83debf3290466e8ec128b32f8c1edd96e294 SHA256 7cc8d9f877ac28bbd4a45ee70fc12da697a4252c79c5915799527b026abc2885
-MISC ChangeLog 1375 RMD160 ae25cad6b22e59d52cf5a441703dae6f3dd2436b SHA1 b3e0b314f7efda2627933ffc0074f0b59beaa5df SHA256 27dd1acc00c9edb9d35fd8003e261d90b169bbe3d5795bc7154bcc3dc22819e0
+MISC ChangeLog 1632 RMD160 938261309a0057790667bf47efd05ffaa8e34ea8 SHA1 584840eba72e130a450862af2226b27b1a7b5f82 SHA256 3aedfbfbf3c6abee2272951f335d4fe74aeeca4103369f331640222965f134ad
 MISC metadata.xml 158 RMD160 cbd9984bb6b426c8c9cee5022fe0a26261612fea SHA1 be5251fa1dacef5c41b74761bb1c8c54fb633b9e SHA256 1423a4fdd4a79b1728a2056d9e300f7e1074253095d82726218d9e9b953888a3
 -----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.9 (GNU/Linux)
+Version: GnuPG v2.0.14 (GNU/Linux)
 
-iEYEARECAAYFAkk5ZcMACgkQdz7hIScOURETDwCfZHXegOtm1c6WOteRp/aeC8Jz
-DZ8AnjluyBP/J3EyPkI/eU5zeY/0+e29
-=OXDN
+iEYEARECAAYFAku3gwcACgkQdz7hIScOUREG8gCeIsnvOKpTODyN7VQl+Z7VFHwv
+1/oAmQEIqcl8frUZ2tH9f6eaTQUK8vMk
+=agAD
 -----END PGP SIGNATURE-----
diff --git a/games-puzzle/mirrormagic/files/mirrormagic-2.0.2-64bit.patch b/games-puzzle/mirrormagic/files/mirrormagic-2.0.2-64bit.patch
new file mode 100644 (file)
index 0000000..e9b3134
--- /dev/null
@@ -0,0 +1,43 @@
+From Debian:
+
+In src/libgame/gadgets.c, check for 64bit when handling
+GDI_TYPE,GDI_STATE in HandleGadgetTags() and use int instead of
+unsigned long.  Should probably really be uint32_t but I'll leave
+that decision to upstream. Thanks Pelle Nilsson (and son).
+64bit check borrowed from bug #496863.  Closes: #498912.
+
+--- src/libgame/gadgets.c
++++ src/libgame/gadgets.c
+@@ -18,6 +18,12 @@
+ #include "text.h"
+ #include "misc.h"
+ 
++/* check for 64bit */
++#ifdef _LP64
++#ifndef L64
++#define L64 1
++#endif
++#endif
+ 
+ /* values for DrawGadget() */
+ #define DG_UNPRESSED          0
+@@ -301,11 +307,19 @@
+       break;
+ 
+       case GDI_TYPE:
++#ifdef L64
++      gi->type = va_arg(ap, int);
++#else
+       gi->type = va_arg(ap, unsigned long);
++#endif
+       break;
+ 
+       case GDI_STATE:
++#ifdef L64
++      gi->state = va_arg(ap, int);
++#else
+       gi->state = va_arg(ap, unsigned long);
++#endif
+       break;
+ 
+       case GDI_CHECKED:
diff --git a/games-puzzle/mirrormagic/files/mirrormagic.xpm b/games-puzzle/mirrormagic/files/mirrormagic.xpm
new file mode 100644 (file)
index 0000000..4e98696
--- /dev/null
@@ -0,0 +1,292 @@
+/* XPM */
+static char * mirrormagic_xpm[] = {
+"32 32 257 2",
+"      c None",
+".     c #000000",
+"+     c #999999",
+"@     c #77AAFF",
+"#     c #4C2208",
+"$     c #6E4C08",
+"%     c #7F7F7F",
+"&     c #AACCFF",
+"*     c #777777",
+"=     c #BB6622",
+"-     c #0000CC",
+";     c #994411",
+">     c #00FF00",
+",     c #EECC11",
+"'     c #5D5D5D",
+")     c #447F44",
+"!     c #555555",
+"~     c #0000AA",
+"{     c #3B3B3B",
+"]     c #009900",
+"^     c #990000",
+"/     c #007F00",
+"(     c #005500",
+"_     c #CCCCCC",
+":     c #CC0000",
+"<     c #7F0000",
+"[     c #19447F",
+"}     c #AAAAAA",
+"|     c #FF0000",
+"1     c #331900",
+"2     c #888888",
+"3     c #000055",
+"4     c #663300",
+"5     c #6E6E6E",
+"6     c #666666",
+"7     c #DD9911",
+"8     c #5D3311",
+"9     c #00337F",
+"0     c #FFFFFF",
+"a     c #00CC00",
+"b     c #4C4C4C",
+"c     c #FFFF00",
+"d     c #444444",
+"e     c #00AA00",
+"f     c #7F7F00",
+"g     c #DDDDDD",
+"h     c #0066FF",
+"i     c #006600",
+"j     c #004C00",
+"k     c #776608",
+"l     c #3388FF",
+"m     c #BBBBBB",
+"n     c #0000FF",
+"o     c #000000",
+"p     c #000000",
+"q     c #000000",
+"r     c #000000",
+"s     c #000000",
+"t     c #000000",
+"u     c #000000",
+"v     c #000000",
+"w     c #000000",
+"x     c #000000",
+"y     c #000000",
+"z     c #000000",
+"A     c #000000",
+"B     c #000000",
+"C     c #000000",
+"D     c #000000",
+"E     c #000000",
+"F     c #000000",
+"G     c #000000",
+"H     c #000000",
+"I     c #000000",
+"J     c #000000",
+"K     c #000000",
+"L     c #000000",
+"M     c #000000",
+"N     c #000000",
+"O     c #000000",
+"P     c #000000",
+"Q     c #000000",
+"R     c #000000",
+"S     c #000000",
+"T     c #000000",
+"U     c #000000",
+"V     c #000000",
+"W     c #000000",
+"X     c #000000",
+"Y     c #000000",
+"Z     c #000000",
+"`     c #000000",
+" .    c #000000",
+"..    c #000000",
+"+.    c #000000",
+"@.    c #000000",
+"#.    c #000000",
+"$.    c #000000",
+"%.    c #000000",
+"&.    c #000000",
+"*.    c #000000",
+"=.    c #000000",
+"-.    c #000000",
+";.    c #000000",
+">.    c #000000",
+",.    c #000000",
+"'.    c #000000",
+").    c #000000",
+"!.    c #000000",
+"~.    c #000000",
+"{.    c #000000",
+"].    c #000000",
+"^.    c #000000",
+"/.    c #000000",
+"(.    c #000000",
+"_.    c #000000",
+":.    c #000000",
+"<.    c #000000",
+"[.    c #000000",
+"}.    c #000000",
+"|.    c #000000",
+"1.    c #000000",
+"2.    c #000000",
+"3.    c #000000",
+"4.    c #000000",
+"5.    c #000000",
+"6.    c #000000",
+"7.    c #000000",
+"8.    c #000000",
+"9.    c #000000",
+"0.    c #000000",
+"a.    c #000000",
+"b.    c #000000",
+"c.    c #000000",
+"d.    c #000000",
+"e.    c #000000",
+"f.    c #000000",
+"g.    c #000000",
+"h.    c #000000",
+"i.    c #000000",
+"j.    c #000000",
+"k.    c #000000",
+"l.    c #000000",
+"m.    c #000000",
+"n.    c #000000",
+"o.    c #000000",
+"p.    c #000000",
+"q.    c #000000",
+"r.    c #000000",
+"s.    c #000000",
+"t.    c #000000",
+"u.    c #000000",
+"v.    c #000000",
+"w.    c #000000",
+"x.    c #000000",
+"y.    c #000000",
+"z.    c #000000",
+"A.    c #000000",
+"B.    c #000000",
+"C.    c #000000",
+"D.    c #000000",
+"E.    c #000000",
+"F.    c #000000",
+"G.    c #000000",
+"H.    c #000000",
+"I.    c #000000",
+"J.    c #000000",
+"K.    c #000000",
+"L.    c #000000",
+"M.    c #000000",
+"N.    c #000000",
+"O.    c #000000",
+"P.    c #000000",
+"Q.    c #000000",
+"R.    c #000000",
+"S.    c #000000",
+"T.    c #000000",
+"U.    c #000000",
+"V.    c #000000",
+"W.    c #000000",
+"X.    c #000000",
+"Y.    c #000000",
+"Z.    c #000000",
+"`.    c #000000",
+" +    c #000000",
+".+    c #000000",
+"++    c #000000",
+"@+    c #000000",
+"#+    c #000000",
+"$+    c #000000",
+"%+    c #000000",
+"&+    c #000000",
+"*+    c #000000",
+"=+    c #000000",
+"-+    c #000000",
+";+    c #000000",
+">+    c #000000",
+",+    c #000000",
+"'+    c #000000",
+")+    c #000000",
+"!+    c #000000",
+"~+    c #000000",
+"{+    c #000000",
+"]+    c #000000",
+"^+    c #000000",
+"/+    c #000000",
+"(+    c #000000",
+"_+    c #000000",
+":+    c #000000",
+"<+    c #000000",
+"[+    c #000000",
+"}+    c #000000",
+"|+    c #000000",
+"1+    c #000000",
+"2+    c #000000",
+"3+    c #000000",
+"4+    c #000000",
+"5+    c #000000",
+"6+    c #000000",
+"7+    c #000000",
+"8+    c #000000",
+"9+    c #000000",
+"0+    c #000000",
+"a+    c #000000",
+"b+    c #000000",
+"c+    c #000000",
+"d+    c #000000",
+"e+    c #000000",
+"f+    c #000000",
+"g+    c #000000",
+"h+    c #000000",
+"i+    c #000000",
+"j+    c #000000",
+"k+    c #000000",
+"l+    c #000000",
+"m+    c #000000",
+"n+    c #000000",
+"o+    c #000000",
+"p+    c #000000",
+"q+    c #000000",
+"r+    c #000000",
+"s+    c #000000",
+"t+    c #000000",
+"u+    c #000000",
+"v+    c #000000",
+"w+    c #000000",
+"x+    c #000000",
+"y+    c #000000",
+"z+    c #000000",
+"A+    c #000000",
+"B+    c #000000",
+"C+    c #000000",
+"D+    c #000000",
+"E+    c #000000",
+"F+    c #000000",
+"G+    c #000000",
+"H+    c #000000",
+"                                                                ",
+"                            - n n l h h : n - ~                 ",
+"                          n - - l l h n n n n -                 ",
+"        , 7             l l h h n : n n n n ~ ~ 7 ,             ",
+"        c 7 =         h l h h n n n n n - - ~ = 7 c             ",
+"        c , 7 , 7 ~ h h h n n n - - ~ ~ ~ 7 , 7 , c             ",
+"        , , 7 7 = ~ h h n n - - ~ ~ ~ ~ ~ = 7 7 , ,             ",
+"          , 7 = - ~ l _ } b 4 4 b b b ~ ~ - = 7 ,               ",
+"        ~ ~ 4 4 4 ~ m g 1 1 = = 1 1 d d h ~ 4 4 ~ ~             ",
+"    ~ ~ ~ ~ 4 4 4 l g g 7 7 , 7 ; ; d { @ h 4 4 4 ~ ~ ~         ",
+"    ~ ~ ~ ~ h h l l 0 g 7 7 , 7 ; ; d { @ @ h n 4 ~ ~ ~ n       ",
+"    @ @ @ @ @ @ l l 0 g } 7 , , ; d d { @ l h h n n n - -       ",
+"      @ @ | @ @ l 0 2 0 g } = = d d d { @ l h n n n n - -       ",
+"        @ @ & & @ @ l g + _ 2 2 6 6 ! @ @ l h n ^ n - -         ",
+"          @ & & @ @ l l } 2 _ _ 2 2 @ @ h h n n n n - -         ",
+"            @ @ @ | l l + _ _ } _ l @ h h h n n n - -           ",
+"            @ @ @ @ l l + _ _ _ } _ @ h h n n n n - -           ",
+"              @ @ @ l l h } _ _ } } h h h n n n - -             ",
+"              @ @ @ l l h h _ _ } } } h n ^ n - - -             ",
+"                @ n h h h h } _ _ } 2 2 n n - - -               ",
+"                @ n n h h h } _ _ _ 2 ~ n n ~ - -               ",
+"                n n n n | h ~ } } } ~ ~ - ~ ~ ~ -               ",
+"              h n n n h h h - ~ } } } - - ^ ~ ~ -               ",
+"              h n n h h h n - n - - * * ~ ~ ~ -                 ",
+"              h n h h h h n - n - - - - ~ ~ ~ - -               ",
+"            h l h h h l h h n n : - - - ~ ~ ~ ~ ^ -             ",
+"            h @ h | l l h n n n - - - ~ ~ ~ ~ ~ ~ -             ",
+"          n l @ l l l l h n n - ~ - - ~ ~ ~ ^ ~ ~ ~ -           ",
+"          n l @ l l l h n n - - ~ ~ - ~ ~ ~ ~ ~ ~ ~ -           ",
+"        n | h h h = ; ; 4 ~ - ~ ~ ~ - = ; ; 4 ~ ~ ~ ^ -         ",
+"        n - h h = = ; ; 4 4 ~ ~ ~ ~ = = ; ; 4 4 ~ ~ ~ -         ",
+"                                                                "};
diff --git a/games-puzzle/mirrormagic/mirrormagic-2.0.2-r1.ebuild b/games-puzzle/mirrormagic/mirrormagic-2.0.2-r1.ebuild
new file mode 100644 (file)
index 0000000..eb69921
--- /dev/null
@@ -0,0 +1,55 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/games-puzzle/mirrormagic/mirrormagic-2.0.2-r1.ebuild,v 1.1 2010/04/03 18:03:45 nyhm Exp $
+
+EAPI=2
+inherit eutils toolchain-funcs games
+
+DESCRIPTION="a game like Deflektor (C 64) or Mindbender (Amiga)"
+HOMEPAGE="http://www.artsoft.org/mirrormagic/"
+SRC_URI="http://www.artsoft.org/RELEASES/unix/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="sdl"
+
+RDEPEND="!sdl? ( x11-libs/libX11 )
+       sdl? (
+               media-libs/libsdl[video]
+               media-libs/sdl-mixer
+               media-libs/sdl-image
+       )"
+DEPEND="${RDEPEND}
+       !sdl? ( x11-libs/libXt )"
+
+src_prepare() {
+       epatch \
+               "${FILESDIR}"/${P}-gcc41.patch \
+               "${FILESDIR}"/${P}-64bit.patch
+       rm -f ${PN}
+}
+
+src_compile() {
+       emake \
+               -C src \
+               CC="$(tc-getCC)" \
+               AR="$(tc-getAR)" \
+               RANLIB="$(tc-getRANLIB)" \
+               OPTIONS="${CFLAGS}" \
+               EXTRA_LDFLAGS="${LDFLAGS}" \
+               RO_GAME_DIR="${GAMES_DATADIR}"/${PN} \
+               RW_GAME_DIR="${GAMES_STATEDIR}"/${PN} \
+               TARGET=$(use sdl && echo sdl || echo x11) \
+               || die "emake failed"
+}
+
+src_install() {
+       dogamesbin ${PN} || die "dogamesbin failed"
+       insinto "${GAMES_DATADIR}"/${PN}
+       doins -r graphics levels music sounds || die "doins failed"
+       doicon "${FILESDIR}"/${PN}.xpm
+       make_desktop_entry ${PN} "Mirror Magic II"
+       dodoc CHANGES CREDITS README TODO
+       prepgamesdirs
+}