summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Sterrett <mr_bones_@gentoo.org>2008-02-09 06:18:35 +0000
committerMichael Sterrett <mr_bones_@gentoo.org>2008-02-09 06:18:35 +0000
commit6ecf785e221c38940d29a6d477774892b4bc4b95 (patch)
tree37f9625f1ccd317d912df7cfbf56452d2d482926 /games-emulation
parentFix libcaca to work with slang 2.1.3. (diff)
downloadhistorical-6ecf785e221c38940d29a6d477774892b4bc4b95.tar.gz
historical-6ecf785e221c38940d29a6d477774892b4bc4b95.tar.bz2
historical-6ecf785e221c38940d29a6d477774892b4bc4b95.zip
version bump (bug #139347) with lots of patch work from Justin Blanchard
Package-Manager: portage-2.1.3.19
Diffstat (limited to 'games-emulation')
-rw-r--r--games-emulation/snes9x/ChangeLog12
-rw-r--r--games-emulation/snes9x/Manifest9
-rw-r--r--games-emulation/snes9x/files/snes9x-1.51-build.patch18
-rw-r--r--games-emulation/snes9x/files/snes9x-1.51-config.patch13
-rw-r--r--games-emulation/snes9x/files/snes9x-1.51-opengl.patch103
-rw-r--r--games-emulation/snes9x/files/snes9x-1.51-x11.patch176
-rw-r--r--games-emulation/snes9x/snes9x-1.51.ebuild (renamed from games-emulation/snes9x/snes9x-1.43-r1.ebuild)69
7 files changed, 361 insertions, 39 deletions
diff --git a/games-emulation/snes9x/ChangeLog b/games-emulation/snes9x/ChangeLog
index 380eb55a00ac..45127847f764 100644
--- a/games-emulation/snes9x/ChangeLog
+++ b/games-emulation/snes9x/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for games-emulation/snes9x
-# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/games-emulation/snes9x/ChangeLog,v 1.29 2007/10/09 14:40:41 angelos Exp $
+# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/games-emulation/snes9x/ChangeLog,v 1.30 2008/02/09 06:18:35 mr_bones_ Exp $
+
+*snes9x-1.51 (09 Feb 2008)
+
+ 09 Feb 2008; Michael Sterrett <mr_bones_@gentoo.org>
+ +files/snes9x-1.51-build.patch, +files/snes9x-1.51-config.patch,
+ +files/snes9x-1.51-opengl.patch, +files/snes9x-1.51-x11.patch,
+ -snes9x-1.43-r1.ebuild, +snes9x-1.51.ebuild:
+ version bump (bug #139347) with lots of patch work from Justin Blanchard
09 Oct 2007; Christoph Mende <angelos@gentoo.org> snes9x-1.43-r2.ebuild:
Stable on amd64 wrt bug #193120
diff --git a/games-emulation/snes9x/Manifest b/games-emulation/snes9x/Manifest
index e5861a6b9fed..ad59f10193b1 100644
--- a/games-emulation/snes9x/Manifest
+++ b/games-emulation/snes9x/Manifest
@@ -4,8 +4,13 @@ AUX snes9x-1.43-config.patch 371 RMD160 9d16c5ca51901b6c5abbdf1b025dfced4a9e96a7
AUX snes9x-1.43-gcc412.patch 627 RMD160 9dc49ebfb8f212633f672acf803f905e0fd9b475 SHA1 97ba7a8474c6d6b55ffe15892358c523378090e4 SHA256 e41de369da57997b1163d79af87d1e27b62aad389184887721b39554969c37e9
AUX snes9x-1.43-key-bindings-fix.patch 2526 RMD160 d1dd054cf8f7f637c759ed7cd82dfb7511a0629d SHA1 e9992f6550d9420d9e6da74be78828f366025ed8 SHA256 22a6df46d15438aaaeddc5f86564474988f810037d2810da4773ff365f907b77
AUX snes9x-1.43-porting.patch 1903 RMD160 b95939f656e669dcca1df0fb5bd584e40ba6eba2 SHA1 a057eb6493ee81d4720ee343b11e3aa17dfb76dd SHA256 a38fedbd355487ac0ff28a79a39e108bd0063446befc4d5081a707f944bed286
+AUX snes9x-1.51-build.patch 497 RMD160 6db003d87d71392e45aaf8388b89068f545af3f7 SHA1 a448d6ae07ce9455b069f5d269c07a4ef15f7853 SHA256 2e1c87802b9022c901f6ee7c940e767ddbcbdb300e532e75e77a6a02a6dfd6c8
+AUX snes9x-1.51-config.patch 299 RMD160 6e9c32e668e69625747e09149209f5aafd226ca8 SHA1 ecc4edd9d81d1f5c60043602ca235f96eb72e90f SHA256 9a9b0ebcb45ab9ca9aae1eaf81cee7503f534fb78d64796aefb3491fd325366d
+AUX snes9x-1.51-opengl.patch 3265 RMD160 372edbbdcad3091c7f3dbdc43bfa661da11df9ec SHA1 8ba87226b5e271768fd9e1f5d6106d7eef1df838 SHA256 3006fe29f027b8be2a8f0a9c8cd41392bfd1ae6999333edb0e4d1b5b9ada2a64
+AUX snes9x-1.51-x11.patch 4297 RMD160 40998bbd623779dd6160ebd98a542f7e1d3c97cb SHA1 464066c638d80168fb904544256150f66b6ec1df SHA256 edc568083e20ba99698f500f60bcb6f0ffe4c84dd772d6ec9aa0c47918ed8787
DIST snes9x-1.43-src.tar.gz 1016251 RMD160 d2003f7afb208109405b41f4eec586b93518f9b2 SHA1 c6883c451aeb442030862ec19a8dca25ee02d82c SHA256 cb60baaeabc28b68f7dfc8fd54453f6268b66aae33ea64eb1788c19df09be6f1
-EBUILD snes9x-1.43-r1.ebuild 2777 RMD160 dc12d299a38bbc323173a1b6120650d9ccd0f2f0 SHA1 6588770714f83967d20a019c30bbb6049fd7f20f SHA256 be5645335daa099731d31ad5bde356a0ea7d16c8ca482492b29a7b03ae49c3ba
+DIST snes9x-1.51-src.tar.bz2 1707256 RMD160 5813405b05f181224614f95e8ba3c309f79e1b36 SHA1 a0de23fb376463d27f4e8fc7f11424bd3c598585 SHA256 70c8f41fc7f1e000605127e0f4261e3eb52c72019b3cbf9bc8061b0b8ccdf687
EBUILD snes9x-1.43-r2.ebuild 2815 RMD160 153c03c36cef9511ea5b8db00a539e5bb8efc01b SHA1 94aa63240996daa48d10814d755f9de9348f9255 SHA256 8ed82e408ae0c49f52ac05a911c85ce7db11f52f0027062497a7445e10370144
-MISC ChangeLog 5401 RMD160 e06721b1923a5f297cb75e7dfbf9611d24f3ebc3 SHA1 a0aa9e492f84180351b0c93e77c26f5d6a6551b6 SHA256 9deb9437bf43b6ff3a5413d16003cc12cb4d781e0c79348d53de9644eeee0af0
+EBUILD snes9x-1.51.ebuild 2781 RMD160 86e25faae673c7bb4bf8afc59e334c7c66dc49f8 SHA1 35fe535328604a245d28a2d2f7013fa3a633913c SHA256 5f91e5f3f61de44d8556a6cba6f2c21434f3187d79b2a98af35a2adf2ab4adfe
+MISC ChangeLog 5741 RMD160 364985f3a2d4fb418cc264465868a41045ef0525 SHA1 5ad6efac68562a91ad470cfd5b40e44bba749927 SHA256 9ad2b9d920cef621e44f9f03fd4809ef251ece5227e770fc2a95237b78bc079b
MISC metadata.xml 158 RMD160 cbd9984bb6b426c8c9cee5022fe0a26261612fea SHA1 be5251fa1dacef5c41b74761bb1c8c54fb633b9e SHA256 1423a4fdd4a79b1728a2056d9e300f7e1074253095d82726218d9e9b953888a3
diff --git a/games-emulation/snes9x/files/snes9x-1.51-build.patch b/games-emulation/snes9x/files/snes9x-1.51-build.patch
new file mode 100644
index 000000000000..d3bde6661559
--- /dev/null
+++ b/games-emulation/snes9x/files/snes9x-1.51-build.patch
@@ -0,0 +1,18 @@
+Make sure the build process respects our LDFLAGS (so we can slip in -m32)
+and that the stupid custom OPTIMIZE flags arent used in favor of our own
+CFLAGS (so we can slip in -m32).
+
+--- snes9x-1.51-src/Makefile.in
++++ snes9x-1.51-src/Makefile.in
+@@ -17,4 +17,5 @@
+ CHEATS=1
+ 2XSAI=1
++EXTRALIBS=@LDFLAGS@
+
+ #Fairly good and special-char-safe descriptor of the os being built on.
+@@ -183,5 +184,5 @@
+ CPUFLAGS=-ml -m4-single-only
+ else
+-OPTIMISE = @OPTIMIZE@
++OPTIMISE = @OPTIMIZE@ @CFLAGS@
+ endif
diff --git a/games-emulation/snes9x/files/snes9x-1.51-config.patch b/games-emulation/snes9x/files/snes9x-1.51-config.patch
new file mode 100644
index 000000000000..1dd18a5446da
--- /dev/null
+++ b/games-emulation/snes9x/files/snes9x-1.51-config.patch
@@ -0,0 +1,13 @@
+--- configure.in.old
++++ configure.in
+@@ -506,9 +506,9 @@
+ fi
+ ])
+
++AC_CHECK_HEADERS(zlib.h)
+ if test x$with_zlib = xyes ; then
+ SNES9X_FEATURE_NODEP(Gz)
+- AC_CHECK_HEADERS(zlib.h)
+ if test $ac_cv_header_zlib_h = yes ; then
+ AC_MSG_CHECKING([if zlib.h is new enough])
+ AC_TRY_LINK([
diff --git a/games-emulation/snes9x/files/snes9x-1.51-opengl.patch b/games-emulation/snes9x/files/snes9x-1.51-opengl.patch
new file mode 100644
index 000000000000..d451f34a544e
--- /dev/null
+++ b/games-emulation/snes9x/files/snes9x-1.51-opengl.patch
@@ -0,0 +1,103 @@
+--- snes9x-1.51-src/gfx.h
++++ snes9x-1.51-src/gfx.h
+@@ -331,7 +331,7 @@
+
+ inline uint16 COLOR_SUB(uint16 C1, uint16 C2)
+ {
+- uint16 mC1, mC2, v = 0;
++ uint16 mC1, mC2, v = ALPHA_BITS_MASK;
+
+ mC1 = C1 & FIRST_COLOR_MASK;
+ mC2 = C2 & FIRST_COLOR_MASK;
+--- snes9x-1.51-src/unix/opengl.cpp
++++ snes9x-1.51-src/unix/opengl.cpp
+@@ -233,14 +233,14 @@
+
+ // Strip dots from the version string
+ char *ptr;
+- while (ptr = strchr (ver, '.'))
++ while ( (ptr = strchr (ver, '.')) != 0)
+ memmove (ptr, ptr + 1, strlen (ptr + 1) + 1);
+
+- // Pad the string with zeros to 4 digits
+- while (strlen (ver) < 4)
+- strcat (ver, "0");
+-
+ OpenGL.version = atoi (ver);
++
++ // Pad the number with zeros to 4 digits
++ while (OpenGL.version < 1000)
++ OpenGL.version *= 10;
+ }
+ else
+ OpenGL.version = 1100;
+@@ -400,7 +400,7 @@
+ int i = 0;
+ for (uint32 y = 0; y < pheight; y++)
+ {
+- uint16 *ptr = (uint16 *) (GFX.Screen + (y + startl) * GFX.Pitch) + startx;
++ uint16 *ptr = (uint16 *) (GFX.Screen + (y + startl) * GFX.Pitch/2) + startx;
+ for (uint32 x = 0; x < pwidth; x++)
+ {
+ int color = *ptr++;
+@@ -418,7 +418,7 @@
+ for (uint32 y = 0; y < pheight; y++)
+ {
+ memmove (basetexbuffer + sizeof (uint16) * texture_size * y,
+- (GFX.Screen + (y + startl) * GFX.Pitch) + startx,
++ (GFX.Screen + (y + startl) * GFX.Pitch/2) + startx,
+ sizeof (uint16) * texture_size);
+ }
+ data = basetexbuffer;
+--- snes9x-1.51-src/unix/x11.cpp
++++ snes9x-1.51-src/unix/x11.cpp
+@@ -572,15 +572,29 @@
+ }
+ delete[] color_diff;
+
++ GUI.cmap = XCreateColormap (GUI.display, RootWindowOfScreen (GUI.screen),
++ GUI.visual, GUI.pseudo ? AllocAll : AllocNone);
++ if (GUI.pseudo)
++ {
++ for (i = 0; i < 256; i++)
++ {
++ GUI.colors[i].red = GUI.colors[i].green = GUI.colors[i].blue = 0;
++ GUI.colors[i].pixel = i;
++ GUI.colors[i].flags = DoRed | DoGreen | DoBlue;
++ }
++ XStoreColors (GUI.display, GUI.cmap, GUI.colors, 256);
++ }
++
+ XSetWindowAttributes attrib;
+
+ attrib.background_pixel = BlackPixelOfScreen (GUI.screen);
++ attrib.colormap = GUI.cmap;
+ GUI.window = XCreateWindow (GUI.display, RootWindowOfScreen (GUI.screen),
+ (WidthOfScreen(GUI.screen) - GUI.window_width) / 2,
+ (HeightOfScreen(GUI.screen) - GUI.window_height) / 2,
+ GUI.window_width, GUI.window_height, 0,
+ GUI.depth, InputOutput, GUI.visual,
+- CWBackPixel, &attrib);
++ CWBackPixel | CWColormap, &attrib);
+
+ #ifdef USE_DGA_EXTENSION
+ CreateFullScreenWindow ();
+@@ -625,18 +639,6 @@
+ ButtonPressMask | ButtonReleaseMask);
+ #endif
+
+- if (GUI.pseudo)
+- {
+- GUI.cmap = XCreateColormap (GUI.display, GUI.window, GUI.visual, True);
+- XSetWindowColormap (GUI.display, GUI.window, GUI.cmap);
+- for (i = 0; i < 256; i++)
+- {
+- GUI.colors[i].red = GUI.colors[i].green = GUI.colors[i].blue = 0;
+- GUI.colors[i].pixel = i;
+- GUI.colors[i].flags = DoRed | DoGreen | DoBlue;
+- }
+- XStoreColors (GUI.display, GUI.cmap, GUI.colors, 256);
+- }
+ XMapRaised (GUI.display, GUI.window);
+ XClearWindow (GUI.display, GUI.window);
+ SetupImage ();
diff --git a/games-emulation/snes9x/files/snes9x-1.51-x11.patch b/games-emulation/snes9x/files/snes9x-1.51-x11.patch
new file mode 100644
index 000000000000..5dae40cf4594
--- /dev/null
+++ b/games-emulation/snes9x/files/snes9x-1.51-x11.patch
@@ -0,0 +1,176 @@
+diff -Naur snes9x-1.51-src/unix/unix.cpp snes9x-1.51-src/unix/unix.cpp
+--- snes9x-1.51-src/unix/unix.cpp 2007-05-11 01:51:58.000000000 -0700
++++ snes9x-1.51-src/unix/unix.cpp 2007-05-11 01:52:09.000000000 -0700
+@@ -574,8 +574,6 @@
+ S9xInitInputDevices ();
+
+ S9xInitDisplay (argc, argv);
+- if (!S9xGraphicsInit ())
+- OutOfMemory ();
+ S9xSetupDefaultKeymap();
+
+ S9xTextMode ();
+@@ -748,6 +746,7 @@
+ (*CleanUp7110)();
+
+ S9xSetSoundMute (TRUE);
++ S9xUnmapAllControls ();
+ S9xDeinitDisplay ();
+ Memory.SaveSRAM (S9xGetFilename (".srm", SRAM_DIR));
+ S9xSaveCheatFile (S9xGetFilename (".cht", PATCH_DIR));
+diff -Naur snes9x-1.51-src/unix/x11.cpp snes9x-1.51-src/unix/x11.cpp
+--- snes9x-1.51-src/unix/x11.cpp 2007-05-11 02:10:22.000000000 -0700
++++ snes9x-1.51-src/unix/x11.cpp 2007-05-11 02:10:31.000000000 -0700
+@@ -275,6 +275,7 @@
+ void Convert16To24 (int width, int height);
+ void Convert16To24Packed (int width, int height);
+ void SetupImage ();
++void TakedownImage ();
+ int ErrorHandler (Display *, XErrorEvent *);
+ void TVMode (int width, int height);
+
+@@ -314,36 +315,7 @@
+ #endif
+
+ S9xTextMode ();
+- uint32 i;
+-
+- for (i = 0; i < sizeof (GUI.to_free) / sizeof (GUI.to_free [0]); i++)
+- if (GUI.to_free [i])
+- {
+- free (GUI.to_free [i]);
+- GUI.to_free [i] = NULL;
+- }
+-
+- if (GUI.image)
+- {
+-#ifdef MITSHM
+- if (GUI.use_shared_memory)
+- {
+- XShmDetach (GUI.display, &GUI.sm_info);
+- GUI.image->data = NULL;
+- XDestroyImage (GUI.image);
+- if (GUI.sm_info.shmaddr)
+- shmdt (GUI.sm_info.shmaddr);
+- if (GUI.sm_info.shmid >= 0)
+- shmctl (GUI.sm_info.shmid, IPC_RMID, 0);
+- GUI.image = NULL;
+- }
+- else
+-#endif
+- {
+- XDestroyImage (GUI.image);
+- GUI.image = NULL;
+- }
+- }
++ TakedownImage ();
+ XSync (GUI.display, False);
+ XCloseDisplay (GUI.display);
+ }
+@@ -715,36 +687,7 @@
+ ;
+ }
+
+- uint32 i;
+-
+- for (i = 0; i < sizeof (GUI.to_free) / sizeof (GUI.to_free [0]); i++)
+- if (GUI.to_free [i])
+- {
+- free (GUI.to_free [i]);
+- GUI.to_free [i] = NULL;
+- }
+-
+- if (GUI.image)
+- {
+-#ifdef MITSHM
+- if (GUI.use_shared_memory)
+- {
+- XShmDetach (GUI.display, &GUI.sm_info);
+- GUI.image->data = NULL;
+- XDestroyImage (GUI.image);
+- if (GUI.sm_info.shmaddr)
+- shmdt (GUI.sm_info.shmaddr);
+- if (GUI.sm_info.shmid >= 0)
+- shmctl (GUI.sm_info.shmid, IPC_RMID, 0);
+- GUI.image = NULL;
+- }
+- else
+-#endif
+- {
+- XDestroyImage (GUI.image);
+- GUI.image = NULL;
+- }
+- }
++ TakedownImage ();
+
+ #ifdef MITSHM
+ GUI.use_shared_memory = 1;
+@@ -884,8 +827,47 @@
+ }
+ GUI.image_date = (uint8 *) GUI.image->data;
+ GUI.bytes_per_line = GUI.image->bytes_per_line;
++
++ S9xGraphicsInit ();
++}
++
++void TakedownImage ()
++{
++ uint32 i;
++
++ for (i = 0; i < sizeof (GUI.to_free) / sizeof (GUI.to_free [0]); i++)
++ if (GUI.to_free [i])
++ {
++ free (GUI.to_free [i]);
++ GUI.to_free [i] = NULL;
++ }
++
++ if (GUI.image)
++ {
++#ifdef MITSHM
++ if (GUI.use_shared_memory)
++ {
++ XShmDetach (GUI.display, &GUI.sm_info);
++ GUI.image->data = NULL;
++ XDestroyImage (GUI.image);
++ if (GUI.sm_info.shmaddr)
++ shmdt (GUI.sm_info.shmaddr);
++ if (GUI.sm_info.shmid >= 0)
++ shmctl (GUI.sm_info.shmid, IPC_RMID, 0);
++ GUI.image = NULL;
++ }
++ else
++#endif
++ {
++ XDestroyImage (GUI.image);
++ GUI.image = NULL;
++ }
++ }
++
++ S9xGraphicsDeinit ();
+ }
+
++
+ int ErrorHandler (Display *, XErrorEvent *)
+ {
+ #ifdef MITSHM
+@@ -1002,6 +984,8 @@
+ IPPU.RenderThisFrame = TRUE;
+ IPPU.FrameSkip = Settings.SkipFrames;
+ SetupImage ();
++ extern void S9xReRefresh();
++ S9xReRefresh ();
+ }
+ #ifdef USE_DGA_EXTENSION
+ if (XF86.start_full_screen)
+diff -Naur snes9x-1.51-src/unix/xf86.cpp snes9x-1.51-src/unix/xf86.cpp
+--- snes9x-1.51-src/unix/xf86.cpp 2007-05-11 01:51:58.000000000 -0700
++++ snes9x-1.51-src/unix/xf86.cpp 2007-05-11 01:52:09.000000000 -0700
+@@ -404,6 +404,8 @@
+ break;
+ }
+ ourvideo.scrnBegin = ourvideo.vidMemBegin + (320 - IMAGE_WIDTH) * ourvideo.screendepth / 2 + ourvideo.width * ourvideo.screendepth * 8;
++
++ S9xGraphicsInit ();
+ }
+
+ void S9xGraphicsMode ()
diff --git a/games-emulation/snes9x/snes9x-1.43-r1.ebuild b/games-emulation/snes9x/snes9x-1.51.ebuild
index afd819811a62..5101d98964c1 100644
--- a/games-emulation/snes9x/snes9x-1.43-r1.ebuild
+++ b/games-emulation/snes9x/snes9x-1.51.ebuild
@@ -1,26 +1,26 @@
-# Copyright 1999-2006 Gentoo Foundation
+# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/games-emulation/snes9x/snes9x-1.43-r1.ebuild,v 1.11 2006/11/01 22:50:44 nyhm Exp $
+# $Header: /var/cvsroot/gentoo-x86/games-emulation/snes9x/snes9x-1.51.ebuild,v 1.1 2008/02/09 06:18:35 mr_bones_ Exp $
# 3dfx support (glide) is disabled because it requires
# glide-v2 while we only provide glide-v3 in portage
# http://bugs.gentoo.org/show_bug.cgi?id=93097
-WANT_AUTOCONF=latest
inherit autotools eutils flag-o-matic multilib games
DESCRIPTION="Super Nintendo Entertainment System (SNES) emulator"
HOMEPAGE="http://www.snes9x.com/"
-SRC_URI="http://www.lysator.liu.se/snes9x/${PV}/snes9x-${PV}-src.tar.gz"
+SRC_URI="http://files.ipherswipsite.com/snes9x/${P}-src.tar.bz2
+ http://vincent.grigorieff.free.fr/snes9x/${P}-src.tar.bz2"
LICENSE="as-is"
SLOT="0"
-KEYWORDS="amd64 ppc x86"
-IUSE="debug dga joystick opengl zlib"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+IUSE="debug dga joystick netplay opengl zlib"
RDEPEND="x11-libs/libXext
dga? ( x11-libs/libXxf86dga
- x11-libs/libXxf86vm )
+ x11-libs/libXxf86vm )
media-libs/libpng
amd64? ( app-emulation/emul-linux-x86-xlibs )
opengl? ( virtual/opengl
@@ -34,52 +34,49 @@ DEPEND="${RDEPEND}
S=${WORKDIR}/${P}-src
+pkg_setup() {
+ use amd64 && [[ -z ${NATIVE_AMD64_BUILD_PLZ} ]] && has_multilib_profile && ABI=x86
+ games_pkg_setup
+}
+
src_unpack() {
unpack ${A}
- cd "${S}"/snes9x
- rm offsets # stupid prebuilt file
+ cd "${S}"
sed -i \
-e 's:-lXext -lX11::' Makefile.in \
|| die "sed failed"
epatch \
- "${FILESDIR}"/nojoy.patch \
- "${FILESDIR}"/${P}-porting.patch \
- "${FILESDIR}"/${P}-key-bindings-fix.patch \
"${FILESDIR}"/${P}-build.patch \
- "${FILESDIR}"/${P}-config.patch
-
- sed -i \
- -e 's:png_jmpbuf:png_write_info:g' \
- -e '/X_LDFLAGS=/d' \
- configure.in || die "sed failed"
+ "${FILESDIR}"/${P}-config.patch \
+ "${FILESDIR}"/${P}-opengl.patch \
+ "${FILESDIR}"/${P}-x11.patch
eautoconf
}
src_compile() {
- [[ -z ${NATIVE_AMD64_BUILD_PLZ} ]] && use amd64 && multilib_toolchain_setup x86
-
- local vidconf=
- local target=
- local vid=
+ local vidconf
+ local target
+ local vid
+ local nooffset
append-ldflags -Wl,-z,noexecstack
- mkdir mybins
+ mkdir "${WORKDIR}"/mybins
for vid in opengl fallback ; do
if [[ ${vid} != "fallback" ]] ; then
use ${vid} || continue
fi
- cd "${S}"/snes9x
+ cd "${S}"
case ${vid} in
# 3dfx)
-# vidconf="--with-glide --without-opengl --without-x"
+# vidconf="--with-glide --without-opengl"
# target=gsnes9x;;
opengl)
- vidconf="--with-opengl --without-glide --without-x"
+ vidconf="--with-opengl --without-glide"
target=osnes9x;;
fallback)
- vidconf="--with-x --without-glide --without-opengl"
+ vidconf="--without-glide --without-opengl"
target=snes9x;;
esac
# this stuff is ugly but hey the build process sucks ;)
@@ -89,21 +86,23 @@ src_compile() {
$(use_with joystick) \
$(use_with debug debugger) \
$(use_with zlib) \
- --with-screenshot \
$(use_with dga extensions) \
+ $(use_with netplay) \
|| die
- # Makefile doesnt quite support parallel builds
- emake -j1 offsets || die "making offsets"
+ # Makefile doesn't quite support parallel builds
emake ${target} || die "making ${target}"
- mv ${target} "${S}"/mybins/
+ mv ${target} "${WORKDIR}"/mybins/
cd "${WORKDIR}"
- rm -r "${S}"/snes9x
+ rm -r "${S}"
src_unpack
done
}
src_install() {
- dogamesbin mybins/* || die "dogamesbin failed"
- dodoc faqs.txt readme.txt readme.unix snes9x/*.txt
+ dogamesbin "${WORKDIR}"/mybins/* || die "dogamesbin failed"
+ dodoc doc/* unix/docs/*
prepgamesdirs
+ elog "Starting with version 1.50, snes9x's behavior is determined by a"
+ elog "configuration file. See readme_unix.txt and snes9x.conf.default"
+ elog "in /usr/share/doc/${PF} for details."
}