summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Birchinger <joker@gentoo.org>2007-03-28 00:58:24 +0000
committerChristian Birchinger <joker@gentoo.org>2007-03-28 00:58:24 +0000
commit141db3ca735d3cbd81f91d25f140958eae4d0ea8 (patch)
treecb9cdbb952c5bc00070f6016baa789472292fc05 /games-emulation
parentVersion bump (diff)
downloadhistorical-141db3ca735d3cbd81f91d25f140958eae4d0ea8.tar.gz
historical-141db3ca735d3cbd81f91d25f140958eae4d0ea8.tar.bz2
historical-141db3ca735d3cbd81f91d25f140958eae4d0ea8.zip
New revision with some patches from the standalone glN64 ebuild. Infos taken from Bug #170763 and thanks to Sal Gonzalez <ghostx@optonline.net>.
Package-Manager: portage-2.1.2.2
Diffstat (limited to 'games-emulation')
-rw-r--r--games-emulation/mupen64/ChangeLog10
-rw-r--r--games-emulation/mupen64/Manifest23
-rw-r--r--games-emulation/mupen64/files/digest-mupen64-0.5-r43
-rw-r--r--games-emulation/mupen64/files/mupen64-glN64-noasmfix.patch11
-rw-r--r--games-emulation/mupen64/files/mupen64-glN64-ucode.patch121
-rw-r--r--games-emulation/mupen64/mupen64-0.5-r4.ebuild91
6 files changed, 254 insertions, 5 deletions
diff --git a/games-emulation/mupen64/ChangeLog b/games-emulation/mupen64/ChangeLog
index fd89841f5ad2..afcdf90fe58f 100644
--- a/games-emulation/mupen64/ChangeLog
+++ b/games-emulation/mupen64/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for games-emulation/mupen64
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/games-emulation/mupen64/ChangeLog,v 1.24 2007/03/27 15:17:01 joker Exp $
+# $Header: /var/cvsroot/gentoo-x86/games-emulation/mupen64/ChangeLog,v 1.25 2007/03/28 00:58:24 joker Exp $
+
+*mupen64-0.5-r4 (28 Mar 2007)
+
+ 28 Mar 2007; Christian Birchinger <joker@gentoo.org>
+ +files/mupen64-glN64-noasmfix.patch, +files/mupen64-glN64-ucode.patch,
+ +mupen64-0.5-r4.ebuild:
+ New revision with some patches from the standalone glN64 ebuild. Infos taken
+ from Bug #170763 and thanks to Sal Gonzalez <ghostx@optonline.net>.
*mupen64-0.5-r3 (27 Mar 2007)
diff --git a/games-emulation/mupen64/Manifest b/games-emulation/mupen64/Manifest
index d92257cdc05d..da7666be6a8b 100644
--- a/games-emulation/mupen64/Manifest
+++ b/games-emulation/mupen64/Manifest
@@ -14,6 +14,14 @@ AUX mupen64-0.5-sdl-ttf.patch 1036 RMD160 67a6a8f27b5a5b6d1bdf8997004bc4565add89
MD5 2f740d9ff20f547c6dfcd0c4dc22ac17 files/mupen64-0.5-sdl-ttf.patch 1036
RMD160 67a6a8f27b5a5b6d1bdf8997004bc4565add893f files/mupen64-0.5-sdl-ttf.patch 1036
SHA256 5dfc12b60b2068eb4a6c299e9a3bf4f5a419510bd3c16100b425b85829fea355 files/mupen64-0.5-sdl-ttf.patch 1036
+AUX mupen64-glN64-noasmfix.patch 434 RMD160 ad05e4ec5b2be7e6cd62d9ed6bbf6ff0f53a0b7f SHA1 fca5d07a155a77d65348e29d98d9383a1f8a5510 SHA256 5efc2720f222bdd1cb8980633719d653c31ad8ca892cd785906b316ceca49a40
+MD5 b0c33e3753683fb114b88170723aad42 files/mupen64-glN64-noasmfix.patch 434
+RMD160 ad05e4ec5b2be7e6cd62d9ed6bbf6ff0f53a0b7f files/mupen64-glN64-noasmfix.patch 434
+SHA256 5efc2720f222bdd1cb8980633719d653c31ad8ca892cd785906b316ceca49a40 files/mupen64-glN64-noasmfix.patch 434
+AUX mupen64-glN64-ucode.patch 3343 RMD160 1a9070c59b56e89579f0695d3da5503f80f5cd71 SHA1 426fd0abeef17790651cc982b31cf4663d509d3a SHA256 e54108cddf3e92f863e672e458b9bf776cbce672a34eee367032fcbd9ec5a9d5
+MD5 e0727b9a7c6d622eb66ecd5ea6d4ab1e files/mupen64-glN64-ucode.patch 3343
+RMD160 1a9070c59b56e89579f0695d3da5503f80f5cd71 files/mupen64-glN64-ucode.patch 3343
+SHA256 e54108cddf3e92f863e672e458b9bf776cbce672a34eee367032fcbd9ec5a9d5 files/mupen64-glN64-ucode.patch 3343
DIST mupen64_src-0.5.tar.bz2 1981046 RMD160 da916bc77f2f06ed92630332545dc3ee5ae1ff51 SHA1 fe1c9999fca780f2f8243d36ea7d8c42eca5659b SHA256 1b8e4188ab7a94d8125b77aed8725ee348c24818622b881adfe16be510487dfd
EBUILD mupen64-0.5-r2.ebuild 2315 RMD160 9db192afa0a5a19b54e63cbc80cbafc39877718e SHA1 cc06c12d1c5fbef6408b0b2dc30f92fec4fd87db SHA256 7b2f95ead8bc3f1399556df3bbf4d0b252ff35916a317efae205a781d8c38ece
MD5 4e95fc3a6c93c1f2a30adafe163b90aa mupen64-0.5-r2.ebuild 2315
@@ -23,10 +31,14 @@ EBUILD mupen64-0.5-r3.ebuild 2153 RMD160 f3c4d4ed79e70dda8f3eb95a7a20743d6620a63
MD5 beb26ec2933f73f52f3027d426c2e960 mupen64-0.5-r3.ebuild 2153
RMD160 f3c4d4ed79e70dda8f3eb95a7a20743d6620a631 mupen64-0.5-r3.ebuild 2153
SHA256 1faae6ea271ce1ddca3b5f11ad618ecc95c0c9b341154b333451c2fe7668cbb4 mupen64-0.5-r3.ebuild 2153
-MISC ChangeLog 4411 RMD160 ea2ce0bb966dee907643698cdd6d5e34d47432e0 SHA1 6276dc4d70b10b3be491b73f22ea9887ad4b1bee SHA256 959144cd1e832d3cc80e93f2091e34db5dd181f581491f43af58531d9db08d4e
-MD5 835c6dc17ef359fa1a28d5ebf6466c1e ChangeLog 4411
-RMD160 ea2ce0bb966dee907643698cdd6d5e34d47432e0 ChangeLog 4411
-SHA256 959144cd1e832d3cc80e93f2091e34db5dd181f581491f43af58531d9db08d4e ChangeLog 4411
+EBUILD mupen64-0.5-r4.ebuild 2240 RMD160 365fedbc16e8c9a036424649f8906fe8d25862bd SHA1 54f35f789d21f5a26a68de583d92db4771dfe70e SHA256 a1f7d17e2438177182983c7af83b37bb3dbe5199b9908b0dd0b84dc5c1f491f9
+MD5 c643c0c046fea5e40adbd4148d520f09 mupen64-0.5-r4.ebuild 2240
+RMD160 365fedbc16e8c9a036424649f8906fe8d25862bd mupen64-0.5-r4.ebuild 2240
+SHA256 a1f7d17e2438177182983c7af83b37bb3dbe5199b9908b0dd0b84dc5c1f491f9 mupen64-0.5-r4.ebuild 2240
+MISC ChangeLog 4746 RMD160 e24ee40b8da01e72cdc969449cc81a6c8fe1308b SHA1 958069a26c536e66e5465a095cc03f0f21f885be SHA256 29bff17d341a2488e4ff228364eb63a8fdef4441f7af5e23549c7508d2cac342
+MD5 3e297af7d7c20d9025ebc898a11aeb02 ChangeLog 4746
+RMD160 e24ee40b8da01e72cdc969449cc81a6c8fe1308b ChangeLog 4746
+SHA256 29bff17d341a2488e4ff228364eb63a8fdef4441f7af5e23549c7508d2cac342 ChangeLog 4746
MISC metadata.xml 158 RMD160 cbd9984bb6b426c8c9cee5022fe0a26261612fea SHA1 be5251fa1dacef5c41b74761bb1c8c54fb633b9e SHA256 1423a4fdd4a79b1728a2056d9e300f7e1074253095d82726218d9e9b953888a3
MD5 f17b9b8fa07a38914fe1c03268f51678 metadata.xml 158
RMD160 cbd9984bb6b426c8c9cee5022fe0a26261612fea metadata.xml 158
@@ -37,3 +49,6 @@ SHA256 d3dbd70b6d9bca726be6e4b697f985cd7a83e1bd494f7074e11052da1f3b07d9 files/di
MD5 0cdd256b3d2df86cac038aa9d538aedf files/digest-mupen64-0.5-r3 253
RMD160 f626935bb3e16eb360edde7e315583121ad7652c files/digest-mupen64-0.5-r3 253
SHA256 d3dbd70b6d9bca726be6e4b697f985cd7a83e1bd494f7074e11052da1f3b07d9 files/digest-mupen64-0.5-r3 253
+MD5 0cdd256b3d2df86cac038aa9d538aedf files/digest-mupen64-0.5-r4 253
+RMD160 f626935bb3e16eb360edde7e315583121ad7652c files/digest-mupen64-0.5-r4 253
+SHA256 d3dbd70b6d9bca726be6e4b697f985cd7a83e1bd494f7074e11052da1f3b07d9 files/digest-mupen64-0.5-r4 253
diff --git a/games-emulation/mupen64/files/digest-mupen64-0.5-r4 b/games-emulation/mupen64/files/digest-mupen64-0.5-r4
new file mode 100644
index 000000000000..f5e4ac023a01
--- /dev/null
+++ b/games-emulation/mupen64/files/digest-mupen64-0.5-r4
@@ -0,0 +1,3 @@
+MD5 11f994bed40e00fad5b82333b553e421 mupen64_src-0.5.tar.bz2 1981046
+RMD160 da916bc77f2f06ed92630332545dc3ee5ae1ff51 mupen64_src-0.5.tar.bz2 1981046
+SHA256 1b8e4188ab7a94d8125b77aed8725ee348c24818622b881adfe16be510487dfd mupen64_src-0.5.tar.bz2 1981046
diff --git a/games-emulation/mupen64/files/mupen64-glN64-noasmfix.patch b/games-emulation/mupen64/files/mupen64-glN64-noasmfix.patch
new file mode 100644
index 000000000000..5aee4032eedd
--- /dev/null
+++ b/games-emulation/mupen64/files/mupen64-glN64-noasmfix.patch
@@ -0,0 +1,11 @@
+--- glN64/convert.h.old 2005-04-23 16:32:44.000000000 -0700
++++ glN64/convert.h 2005-04-23 16:40:43.000000000 -0700
+@@ -442,7 +442,7 @@
+ while (numDWords--)
+ {
+ u32 dword = *(u32 *)src;
+- __asm__ volatile( "bswapl %0\n\t" : "=q"(dword) : "0"(dword) );
++ dword = ((dword<<24)|((dword<<8)&0x00FF0000)|((dword>>8)&0x0000FF00)|(dword>>24));
+ *(u32 *)dest = dword;
+ dest = (void *)((int)dest+4);
+ src = (void *)((int)src +4);
diff --git a/games-emulation/mupen64/files/mupen64-glN64-ucode.patch b/games-emulation/mupen64/files/mupen64-glN64-ucode.patch
new file mode 100644
index 000000000000..8dc9aab0a647
--- /dev/null
+++ b/games-emulation/mupen64/files/mupen64-glN64-ucode.patch
@@ -0,0 +1,121 @@
+diff -g glN64-old/GBI.cpp glN64/GBI.cpp
+*** glN64-old/GBI.cpp 2003-10-15 16:01:07.000000000 -0700
+--- glN64/GBI.cpp 2005-02-02 23:42:30.000000000 -0800
+***************
+*** 37,43 ****
+ { F3DDKR, FALSE, 0x8d91244f, "Diddy Kong Racing" },
+ { F3DDKR, FALSE, 0x6e6fc893, "Diddy Kong Racing" },
+ { F3DDKR, FALSE, 0xbde9d1fb, "Jet Force Gemini" },
+! { F3DPD, FALSE, 0x1c4f7869, "Perfect Dark" }
+ };
+
+ u32 G_RDPHALF_1, G_RDPHALF_2, G_RDPHALF_CONT;
+--- 37,44 ----
+ { F3DDKR, FALSE, 0x8d91244f, "Diddy Kong Racing" },
+ { F3DDKR, FALSE, 0x6e6fc893, "Diddy Kong Racing" },
+ { F3DDKR, FALSE, 0xbde9d1fb, "Jet Force Gemini" },
+! { F3DPD, FALSE, 0x1c4f7869, "Perfect Dark" },
+! { F3DEX, FALSE, 0x0ace4c3f, "Mario Kart" }
+ };
+
+ u32 G_RDPHALF_1, G_RDPHALF_2, G_RDPHALF_CONT;
+***************
+*** 264,274 ****
+
+ while (selectedMicrocode == -1)
+ {
+! // if( gtk_main_iteration() )
+! // break;
+ usleep( 10000 );
+ }
+ gdk_threads_leave();
+ return selectedMicrocode;
+ }
+ #endif // __LINUX__
+--- 265,276 ----
+
+ while (selectedMicrocode == -1)
+ {
+! if( gtk_main_iteration() )
+! break;
+ usleep( 10000 );
+ }
+ gdk_threads_leave();
++
+ return selectedMicrocode;
+ }
+ #endif // __LINUX__
+***************
+*** 435,441 ****
+ current->type = DialogBox( hInstance, MAKEINTRESOURCE( IDD_MICROCODEDLG ), hWnd, MicrocodeDlgProc );
+ #else // !__LINUX__
+ printf( "glN64: Warning - unknown ucode!!!\n" );
+! current->type = MicrocodeDialog();
+ #endif // __LINUX__
+ return current;
+ }
+--- 437,447 ----
+ current->type = DialogBox( hInstance, MAKEINTRESOURCE( IDD_MICROCODEDLG ), hWnd, MicrocodeDlgProc );
+ #else // !__LINUX__
+ printf( "glN64: Warning - unknown ucode!!!\n" );
+! if(last_good_ucode != -1) {
+! current->type=last_good_ucode;
+! } else {
+! current->type = MicrocodeDialog();
+! }
+ #endif // __LINUX__
+ return current;
+ }
+diff -g glN64-old/GBI.h glN64/GBI.h
+*** glN64-old/GBI.h 2003-10-15 16:01:07.000000000 -0700
+--- glN64/GBI.h 2005-02-02 23:37:36.000000000 -0800
+***************
+*** 736,741 ****
+--- 736,742 ----
+
+ void GBI_MakeCurrent( MicrocodeInfo *current );
+ MicrocodeInfo *GBI_DetectMicrocode( u32 uc_start, u32 uc_dstart, u16 uc_dsize );
++ extern u32 last_good_ucode;
+ void GBI_Init();
+ void GBI_Destroy();
+
+diff -g glN64-old/glN64.cpp glN64/glN64.cpp
+*** glN64-old/glN64.cpp 2003-10-15 16:09:00.000000000 -0700
+--- glN64/glN64.cpp 2005-02-02 23:36:47.000000000 -0800
+***************
+*** 29,35 ****
+
+ char pluginName[] = "glN64 v0.4.1-rc2";
+ char *screenDirectory;
+!
+ void (*CheckInterrupts)( void );
+
+ #ifndef __LINUX__
+--- 29,35 ----
+
+ char pluginName[] = "glN64 v0.4.1-rc2";
+ char *screenDirectory;
+! u32 last_good_ucode = -1;
+ void (*CheckInterrupts)( void );
+
+ #ifndef __LINUX__
+diff -g glN64-old/gSP.cpp glN64/gSP.cpp
+*** glN64-old/gSP.cpp 2003-10-15 16:01:07.000000000 -0700
+--- glN64/gSP.cpp 2005-02-02 23:41:58.000000000 -0800
+***************
+*** 60,66 ****
+ }
+
+ MicrocodeInfo *ucode = GBI_DetectMicrocode( uc_start, uc_dstart, uc_dsize );
+!
+ if (ucode->type != NONE)
+ GBI_MakeCurrent( ucode );
+ else
+--- 60,66 ----
+ }
+
+ MicrocodeInfo *ucode = GBI_DetectMicrocode( uc_start, uc_dstart, uc_dsize );
+! if (ucode->type != -1) last_good_ucode = ucode->type;
+ if (ucode->type != NONE)
+ GBI_MakeCurrent( ucode );
+ else
diff --git a/games-emulation/mupen64/mupen64-0.5-r4.ebuild b/games-emulation/mupen64/mupen64-0.5-r4.ebuild
new file mode 100644
index 000000000000..b355f75bd999
--- /dev/null
+++ b/games-emulation/mupen64/mupen64-0.5-r4.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/games-emulation/mupen64/mupen64-0.5-r4.ebuild,v 1.1 2007/03/28 00:58:24 joker Exp $
+
+inherit eutils multilib games
+
+MY_P=${PN}_src-${PV}
+DESCRIPTION="A Nintendo 64 (N64) emulator"
+HOMEPAGE="http://mupen64.emulation64.com/"
+SRC_URI="http://mupen64.emulation64.com/files/${PV}/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+IUSE=""
+
+RDEPEND="virtual/opengl
+ >=x11-libs/gtk+-2
+ media-libs/libsdl
+ media-libs/sdl-ttf
+ amd64? (
+ app-emulation/emul-linux-x86-gtklibs
+ >=app-emulation/emul-linux-x86-sdl-10.0
+ )"
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig
+ !games-emulation/mupen64-blight-input
+ !games-emulation/mupen64-glN64
+ !games-emulation/mupen64-jttl_sound"
+
+S=${WORKDIR}/${MY_P}
+
+pkg_setup() {
+ has_multilib_profile && multilib_toolchain_setup x86
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ rm -f plugins/empty blight_input/SDL_ttf*
+
+ epatch \
+ "${FILESDIR}"/${P}-anisotropic.patch \
+ "${FILESDIR}"/${P}-gentoo3.patch \
+ "${FILESDIR}"/${PN}-glN64-ucode.patch \
+ "${FILESDIR}"/${PN}-glN64-noasmfix.patch
+
+ sed -i \
+ -e "s:#undef WITH_HOME:#define WITH_HOME \"$(games_get_libdir)/\":" \
+ -e "s:#undef SHARE:#define SHARE \"$(games_get_libdir)/${PN}/\":" \
+ config.h \
+ || die "sed failed"
+}
+
+src_compile() {
+ local t
+ for t in \
+ mupen64 \
+ mupen64_nogui \
+ plugins/mupen64_input.so \
+ plugins/blight_input.so \
+ plugins/mupen64_hle_rsp_azimer.so \
+ plugins/dummyaudio.so \
+ plugins/mupen64_audio.so \
+ plugins/jttl_audio.so \
+ plugins/mupen64_soft_gfx.so \
+ plugins/glN64.so
+ do
+ emake ${t} || die "emake ${t} failed"
+ done
+}
+
+src_install() {
+ dogamesbin mupen64 mupen64_nogui || die "dogamesbin failed"
+
+ insinto "$(games_get_libdir)/${PN}"
+ doins -r mupen64.ini jttl_audio.conf lang roms plugins || die "doins failed"
+
+ dodoc *.txt doc/readme.pdf
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ echo
+ ewarn "If you are upgrading from a previous version of mupen64,"
+ ewarn "backup your saved games then run rm -rf on your"
+ ewarn ".mupen64 directory. After launching the new version, copy"
+ ewarn "your saved games to their original place."
+ echo
+}