about summary refs log tree commit diff
path: root/pkgs/misc/emulators
diff options
context:
space:
mode:
authorLluís Batlle i Rossell <viric@viric.name>2013-03-28 18:12:27 +0100
committerLluís Batlle i Rossell <viric@viric.name>2013-03-28 18:13:18 +0100
commit3abc3f4a6899e5cbb013a18e81ed9360910d0332 (patch)
tree4c4dcce6f854375712611a36d12a61e4ac0857ab /pkgs/misc/emulators
parentc98af108d00d0adbb2ff9549df54149fefd71f5e (diff)
downloadnixlib-3abc3f4a6899e5cbb013a18e81ed9360910d0332.tar
nixlib-3abc3f4a6899e5cbb013a18e81ed9360910d0332.tar.gz
nixlib-3abc3f4a6899e5cbb013a18e81ed9360910d0332.tar.bz2
nixlib-3abc3f4a6899e5cbb013a18e81ed9360910d0332.tar.lz
nixlib-3abc3f4a6899e5cbb013a18e81ed9360910d0332.tar.xz
nixlib-3abc3f4a6899e5cbb013a18e81ed9360910d0332.tar.zst
nixlib-3abc3f4a6899e5cbb013a18e81ed9360910d0332.zip
Updating mupen64plus, and adding a GUI for it.
I can't say the GUI works very well... it doesn't find the core properly,
but I couldn't find why.
Diffstat (limited to 'pkgs/misc/emulators')
-rw-r--r--pkgs/misc/emulators/mupen64plus/default.nix22
-rw-r--r--pkgs/misc/emulators/wxmupen64plus/default.nix28
2 files changed, 33 insertions, 17 deletions
diff --git a/pkgs/misc/emulators/mupen64plus/default.nix b/pkgs/misc/emulators/mupen64plus/default.nix
index d67121fe430a..0f59da272ff9 100644
--- a/pkgs/misc/emulators/mupen64plus/default.nix
+++ b/pkgs/misc/emulators/mupen64plus/default.nix
@@ -1,28 +1,16 @@
 {stdenv, fetchurl, which, pkgconfig, SDL, gtk, mesa, SDL_ttf}:
 
 stdenv.mkDerivation {
-  name = "mupen64plus-1.5";
+  name = "mupen64plus-1.99.5";
   src = fetchurl {
-    url = http://mupen64plus.googlecode.com/files/Mupen64Plus-1-5-src.tar.gz;
-    sha256 = "0gygfgyr2sg4yx77ijk133d1ra0v1yxi4xjxrg6kp3zdjmhdmcjq";
+    url = https://mupen64plus.googlecode.com/files/mupen64plus-bundle-src-1.99.5.tar.gz;
+    sha1 = "ca80ae446c9591e272e3ec93f0a2a8b01cfcd34e";
   };
   
   buildInputs = [ which pkgconfig SDL gtk mesa SDL_ttf ];
   
-  preConfigure = ''
-    # Some C++ incompatibility fixes
-    sed -i -e 's|char \* extstr = strstr|const char * extstr = strstr|' glide64/Main.cpp
-    sed -i -e 's|char \* extstr = strstr|const char * extstr = strstr|' glide64/Combine.cpp
-
-    # Fix some hardcoded paths
-    sed -i -e "s|/usr/local|$out|g" main/main.c
-
-    # Remove PATH environment variable from install script
-    sed -i -e "s|export PATH=|#export PATH=|" ./install.sh
-  '';
-  
-  buildPhase = "make all";
-  installPhase = "PREFIX=$out make install";
+  buildPhase = "./m64p_build.sh PREFIX=$out COREDIR=$out/lib/ PLUGINDIR=$out/lib/mupen64plus/ SHAREDIR=$out/share/mupen64plus/";
+  installPhase = "./m64p_install.sh PREFIX=$out";
   
   meta = {
     description = "A Nintendo 64 Emulator";
diff --git a/pkgs/misc/emulators/wxmupen64plus/default.nix b/pkgs/misc/emulators/wxmupen64plus/default.nix
new file mode 100644
index 000000000000..a85d0fb389e2
--- /dev/null
+++ b/pkgs/misc/emulators/wxmupen64plus/default.nix
@@ -0,0 +1,28 @@
+{stdenv, fetchurl, python, wxGTK29, mupen64plus, SDL, libX11, mesa}:
+
+stdenv.mkDerivation {
+  name = "wxmupen64plus-0.3";
+  src = fetchurl {
+    url = "https://bitbucket.org/auria/wxmupen64plus/get/0.3.tar.bz2";
+    sha256 = "1mnxi4k011dd300k35li2p6x4wccwi6im21qz8dkznnz397ps67c";
+  };
+  
+  buildInputs = [ python wxGTK29 SDL libX11 mesa ];
+
+  configurePhase = ''
+    tar xf ${mupen64plus.src}
+    APIDIR=$(eval echo `pwd`/mupen64plus*/source/mupen64plus-core/src/api)
+    export CXXFLAGS="-I${libX11}/include/X11 -DLIBDIR=\\\"${mupen64plus}/lib/\\\""
+    export LDFLAGS="-lwx_gtk2u_adv-2.9"
+    python waf configure --mupenapi=$APIDIR --wxconfig=`type -P wx-config` --prefix=$out
+  '';
+
+  buildPhase = "python waf";
+  installPhase = "python waf install";
+  
+  meta = {
+    description = "GUI for the Mupen64Plus 2.0 emulator";
+    license = "GPLv2+";
+    homepage = https://bitbucket.org/auria/wxmupen64plus/wiki/Home;
+  };
+}