New revision with some patches from the standalone glN64 ebuild. Infos taken from...
authorChristian Birchinger <joker@gentoo.org>
Wed, 28 Mar 2007 00:58:24 +0000 (00:58 +0000)
committerChristian Birchinger <joker@gentoo.org>
Wed, 28 Mar 2007 00:58:24 +0000 (00:58 +0000)
Package-Manager: portage-2.1.2.2

games-emulation/mupen64/ChangeLog
games-emulation/mupen64/Manifest
games-emulation/mupen64/files/digest-mupen64-0.5-r4 [new file with mode: 0644]
games-emulation/mupen64/files/mupen64-glN64-noasmfix.patch [new file with mode: 0644]
games-emulation/mupen64/files/mupen64-glN64-ucode.patch [new file with mode: 0644]
games-emulation/mupen64/mupen64-0.5-r4.ebuild [new file with mode: 0644]

index fd89841f5ad20c3783edceec943f76c23c2532ad..afcdf90fe58f66b2c791aa7d9de0a9ea31acb923 100644 (file)
@@ -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)
 
index d92257cdc05da4604fa717b9c552f2ed60bf64fc..da7666be6a8b1e87ab2bc7911b46fa05773df3d0 100644 (file)
@@ -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 (file)
index 0000000..f5e4ac0
--- /dev/null
@@ -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 (file)
index 0000000..5aee403
--- /dev/null
@@ -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 (file)
index 0000000..8dc9aab
--- /dev/null
@@ -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 (file)
index 0000000..b355f75
--- /dev/null
@@ -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
+}