about summary refs log tree commit diff
path: root/pkgs/misc/emulators
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/misc/emulators')
-rw-r--r--pkgs/misc/emulators/cdemu/base.nix2
-rw-r--r--pkgs/misc/emulators/cdemu/vhba.nix2
-rw-r--r--pkgs/misc/emulators/desmume/default.nix2
-rw-r--r--pkgs/misc/emulators/fceux/default.nix6
-rw-r--r--pkgs/misc/emulators/pcsx2/default.nix71
-rw-r--r--pkgs/misc/emulators/retroarch/cores.nix17
-rw-r--r--pkgs/misc/emulators/retrofe/default.nix77
-rw-r--r--pkgs/misc/emulators/retrofe/include-paths.patch11
-rw-r--r--pkgs/misc/emulators/stella/default.nix2
-rw-r--r--pkgs/misc/emulators/wine/sources.nix22
10 files changed, 197 insertions, 15 deletions
diff --git a/pkgs/misc/emulators/cdemu/base.nix b/pkgs/misc/emulators/cdemu/base.nix
index d7c91169ed3df..cfd2ad37cadf5 100644
--- a/pkgs/misc/emulators/cdemu/base.nix
+++ b/pkgs/misc/emulators/cdemu/base.nix
@@ -4,7 +4,7 @@ let name = "${pkgName}-${version}";
 in stdenv.mkDerivation ({
   inherit name buildInputs;
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/cdemu/${name}.tar.bz2";
+    url = "mirror://sourceforge/cdemu/${name}.tar.bz2";
     sha256 = pkgSha256;
   };
   nativeBuildInputs = [ pkgconfig cmake ];
diff --git a/pkgs/misc/emulators/cdemu/vhba.nix b/pkgs/misc/emulators/cdemu/vhba.nix
index d4596be03a690..2e163af1d5eb9 100644
--- a/pkgs/misc/emulators/cdemu/vhba.nix
+++ b/pkgs/misc/emulators/cdemu/vhba.nix
@@ -3,7 +3,7 @@ let version = "20140928";
 in stdenv.mkDerivation {
   name = "vhba-${version}";
   src  = fetchurl {
-    url = "http://downloads.sourceforge.net/cdemu/vhba-module-${version}.tar.bz2";
+    url = "mirror://sourceforge/cdemu/vhba-module-${version}.tar.bz2";
     sha256 = "18jmpg2kpx87f32b8aprr1pxla9dlhf901rkj1sp3ammf94nxxa5";
   };
   preBuild = ''
diff --git a/pkgs/misc/emulators/desmume/default.nix b/pkgs/misc/emulators/desmume/default.nix
index f322a96905fb8..97cd6a9ca798e 100644
--- a/pkgs/misc/emulators/desmume/default.nix
+++ b/pkgs/misc/emulators/desmume/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   version = "0.9.11";
 
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/project/desmume/desmume/${version}/${name}.tar.gz";
+    url = "mirror://sourceforge/project/desmume/desmume/${version}/${name}.tar.gz";
     sha256 = "15l8wdw3q61fniy3h93d84dnm6s4pyadvh95a0j6d580rjk4pcrs";
   };
 
diff --git a/pkgs/misc/emulators/fceux/default.nix b/pkgs/misc/emulators/fceux/default.nix
index 48860f17aaf2f..64d5dfd69a7b6 100644
--- a/pkgs/misc/emulators/fceux/default.nix
+++ b/pkgs/misc/emulators/fceux/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, scons, zlib, SDL, lua5, pkgconfig}:
+{stdenv, fetchurl, scons, zlib, SDL, lua5_1, pkgconfig}:
 
 stdenv.mkDerivation {
   name = "fceux-2.2.2";
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   };
 
   buildInputs = [
-    scons zlib SDL lua5 pkgconfig
+    scons zlib SDL lua5_1 pkgconfig
   ];
 
   phases = "unpackPhase buildPhase";
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
     export CC="gcc"
     export CXX="g++"
     mkdir -p "$out" "$out/share/applications" "$out/share/pixmaps"
-    scons --prefix="$out" OPENGL=false GTK=false CREATE_AVI=false LOGO=false SYSTEM_LUA=false install
+    scons --prefix="$out" OPENGL=false GTK=false CREATE_AVI=false LOGO=false install
   '';
 
   meta = {
diff --git a/pkgs/misc/emulators/pcsx2/default.nix b/pkgs/misc/emulators/pcsx2/default.nix
new file mode 100644
index 0000000000000..63b221c9a3dc0
--- /dev/null
+++ b/pkgs/misc/emulators/pcsx2/default.nix
@@ -0,0 +1,71 @@
+{ alsaLib, cmake, fetchFromGitHub, glib, gtk2, gettext, libaio, libpng
+, makeWrapper, perl, pkgconfig, portaudio, SDL2, soundtouch, stdenv
+, wxGTK30, zlib }:
+
+assert stdenv.isi686;
+
+stdenv.mkDerivation rec {
+  name = "pcsx2-${version}";
+  version = "1.4.0";
+
+  src = fetchFromGitHub {
+    owner = "PCSX2";
+    repo = "pcsx2";
+    rev = "v${version}";
+    sha256 = "0s7mxq2cgzwjfsq0vhpz6ljk7wr725nxg48128iyirf85585l691";
+  };
+
+  configurePhase = ''
+    mkdir -p build
+    cd build
+
+    cmake \
+      -DBIN_DIR="$out/bin" \
+      -DCMAKE_BUILD_PO=TRUE \
+      -DCMAKE_BUILD_TYPE=Release \
+      -DCMAKE_INSTALL_PREFIX="$out" \
+      -DDISABLE_PCSX2_WRAPPER=TRUE \
+      -DDOC_DIR="$out/share/doc/pcsx2" \
+      -DGAMEINDEX_DIR="$out/share/pcsx2" \
+      -DGLSL_SHADER_DIR="$out/share/pcsx2" \
+      -DGTK2_GLIBCONFIG_INCLUDE_DIR='${glib}/lib/glib-2.0/include' \
+      -DGTK2_GDKCONFIG_INCLUDE_DIR='${gtk2}/lib/gtk-2.0/include' \
+      -DGTK2_INCLUDE_DIRS='${gtk2}/include/gtk-2.0' \
+      -DPACKAGE_MODE=TRUE \
+      -DPLUGIN_DIR="$out/lib/pcsx2" \
+      -DREBUILD_SHADER=TRUE \
+      ..
+  '';
+
+  postFixup = ''
+    wrapProgram $out/bin/PCSX2 \
+      --set __GL_THREADED_OPTIMIZATIONS 1
+  '';
+
+  nativeBuildInputs = [ cmake perl pkgconfig ];
+
+  buildInputs = [
+    alsaLib glib gettext gtk2 libaio libpng makeWrapper portaudio SDL2
+    soundtouch wxGTK30 zlib
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Playstation 2 emulator";
+    longDescription= ''
+      PCSX2 is an open-source PlayStation 2 (AKA PS2) emulator. Its purpose
+      is to emulate the PS2 hardware, using a combination of MIPS CPU
+      Interpreters, Recompilers and a Virtual Machine which manages hardware
+      states and PS2 system memory. This allows you to play PS2 games on your
+      PC, with many additional features and benefits.
+    '';
+    homepage = http://pcsx2.net;
+    maintainers = with maintainers; [ hrdinka ];
+
+    # PCSX2's source code is released under LGPLv3+. It However ships
+    # additional data files and code that are licensed differently.
+    # This might be solved in future, for now we should stick with
+    # license.free
+    license = licenses.free;
+    platforms = platforms.i686;
+  };
+}
diff --git a/pkgs/misc/emulators/retroarch/cores.nix b/pkgs/misc/emulators/retroarch/cores.nix
index 219a04e4f0288..d7af32ec07220 100644
--- a/pkgs/misc/emulators/retroarch/cores.nix
+++ b/pkgs/misc/emulators/retroarch/cores.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchgit, pkgconfig, makeWrapper, python27, retroarch
-, fluidsynth, mesa, SDL, ffmpeg, libpng, libjpeg, libvorbis, zlib }:
+, alsaLib, fluidsynth, mesa, portaudio, SDL, ffmpeg, libpng, libjpeg
+, libvorbis, zlib }:
 
 let
 
@@ -33,7 +34,7 @@ let
       inherit description;
       homepage = "http://www.libretro.com/";
       license = licenses.gpl3Plus;
-      maintainers = with maintainers; [ edwtjo MP2E ];
+      maintainers = with maintainers; [ edwtjo hrdinka MP2E ];
       platforms = platforms.linux;
     };
   } // a);
@@ -133,6 +134,18 @@ in
     description = "Enhanced Genesis Plus libretro port";
   };
 
+  mame = mkLibRetroCore {
+    core = "mame";
+    src = fetchRetro {
+      repo = "mame";
+      rev = "8da2303292bb8530f9f4ffad8bf1df95ee4cab74";
+      sha256 = "0rzy5klp8vf9vc8fylbdnp2qcvl1nkgw5a55ljqc5vich4as5alq";
+    };
+    description = "Port of MAME to libretro";
+
+    extraBuildInputs = [ alsaLib portaudio python27 ];
+  };
+
   mednafen-pce-fast = (mkLibRetroCore rec {
     core = "mednafen-pce-fast";
     src = fetchRetro {
diff --git a/pkgs/misc/emulators/retrofe/default.nix b/pkgs/misc/emulators/retrofe/default.nix
new file mode 100644
index 0000000000000..a13cc49b5720c
--- /dev/null
+++ b/pkgs/misc/emulators/retrofe/default.nix
@@ -0,0 +1,77 @@
+{ stdenv, fetchhg, cmake, dos2unix, glib, gst_all_1, makeWrapper, pkgconfig
+, python, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf, sqlite, zlib
+}:
+
+stdenv.mkDerivation rec {
+  name = "retrofe-${version}";
+  version = "0.6.169";
+
+  src = fetchhg {
+    url = https://bitbucket.org/teamretro/retrofe;
+    rev = "8793e03";
+    sha256 = "0cvsg07ff0fdqh5zgiv2fs7s6c98hn150kpxmpw5fn6jilaszwkm";
+  };
+
+  nativeBuildInputs = [ cmake makeWrapper pkgconfig python ];
+
+  buildInputs = [
+    glib gst_all_1.gstreamer SDL2 SDL2_image SDL2_mixer SDL2_ttf sqlite zlib
+  ] ++ (with gst_all_1; [ gst-libav gst-plugins-base gst-plugins-good ]);
+
+  patches = [ ./include-paths.patch ];
+
+  configurePhase = ''
+    cmake RetroFE/Source -BRetroFE/Build -DCMAKE_BUILD_TYPE=Release \
+      -DVERSION_MAJOR=0 -DVERSION_MINOR=0 -DVERSION_BUILD=0 \
+      -DGSTREAMER_BASE_INCLUDE_DIRS='${gst_all_1.gst-plugins-base}/include/gstreamer-1.0'
+  '';
+
+  buildPhase = ''
+    cmake --build RetroFE/Build
+    python Scripts/Package.py --os=linux --build=full
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mkdir -p $out/share/retrofe
+    cp -r Artifacts/linux/RetroFE $out/share/retrofe/example
+    mv $out/share/retrofe/example/retrofe $out/bin/
+
+    cat > $out/bin/retrofe-init << EOF
+    #!/bin/sh
+
+    echo "This will install retrofe's example files into this directory"
+    echo "Example files location: $out/share/retrofe/example/"
+
+    while true; do
+        read -p "Do you want to proceed? [yn] " yn
+        case \$yn in
+            [Yy]* ) cp -r --no-preserve=all $out/share/retrofe/example/* .; break;;
+            [Nn]* ) exit;;
+            * ) echo "Please answer with yes or no.";;
+        esac
+    done
+    EOF
+
+    chmod +x $out/bin/retrofe-init
+
+    runHook postInstall
+  '';
+
+  # retrofe will look for config files in its install path ($out/bin).
+  # When set it will use $RETROFE_PATH instead. Sadly this behaviour isn't
+  # documented well. To make it behave more like as expected it's set to
+  # $PWD by default here.
+  postInstall = ''
+    wrapProgram "$out/bin/retrofe" \
+      --prefix GST_PLUGIN_PATH : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
+      --set    RETROFE_PATH      "\''${RETROFE_PATH:-\$PWD}"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A frontend for arcade cabinets and media PCs";
+    homepage = http://retrofe.com;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ hrdinka ];
+  };
+}
diff --git a/pkgs/misc/emulators/retrofe/include-paths.patch b/pkgs/misc/emulators/retrofe/include-paths.patch
new file mode 100644
index 0000000000000..02eef2594ea63
--- /dev/null
+++ b/pkgs/misc/emulators/retrofe/include-paths.patch
@@ -0,0 +1,11 @@
+diff -ur RetroFE.1/RetroFE/Source/CMakeLists.txt RetroFE.2/RetroFE/Source/CMakeLists.txt
+--- RetroFE.1/RetroFE/Source/CMakeLists.txt	2016-02-21 14:52:36.726070602 +0100
++++ RetroFE.2/RetroFE/Source/CMakeLists.txt	2016-02-21 14:38:43.036249029 +0100
+@@ -59,6 +59,7 @@
+ set(RETROFE_INCLUDE_DIRS

+ 	"${GLIB2_INCLUDE_DIRS}"

+ 	"${GSTREAMER_INCLUDE_DIRS}"

++	"${GSTREAMER_BASE_INCLUDE_DIRS}"

+ 	"${SDL2_INCLUDE_DIRS}"

+ 	"${SDL2_IMAGE_INCLUDE_DIRS}"

+ 	"${SDL2_MIXER_INCLUDE_DIRS}"

diff --git a/pkgs/misc/emulators/stella/default.nix b/pkgs/misc/emulators/stella/default.nix
index 04976a2bb8399..be872250d032e 100644
--- a/pkgs/misc/emulators/stella/default.nix
+++ b/pkgs/misc/emulators/stella/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   version = "4.6.1";
 
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/project/stella/stella/${version}/${name}-src.tar.gz";
+    url = "mirror://sourceforge/project/stella/stella/${version}/${name}-src.tar.gz";
     sha256 = "126jph21b70jlxapzmll8pq36i53lb304hbsiap25160vdqid4n1";
   };
 
diff --git a/pkgs/misc/emulators/wine/sources.nix b/pkgs/misc/emulators/wine/sources.nix
index b44693502d735..cd877403d3a00 100644
--- a/pkgs/misc/emulators/wine/sources.nix
+++ b/pkgs/misc/emulators/wine/sources.nix
@@ -30,23 +30,33 @@ in rec {
   };
 
   unstable = fetchurl rec {
-    version = "1.9.3";
+    version = "1.9.4";
     url = "mirror://sourceforge/wine/wine-${version}.tar.bz2";
-    sha256 = "0389xbs943iwdgv3a6pvcy2gxrwqzf20vrsbpd2yrj1lan2m8ps7";
-    inherit (stable) gecko32 gecko64 mono;
+    sha256 = "1f5v1gns0xs512a6ym785cn29j8dxdbnxnvkg8v0p1w0p6vfmhbm";
+    inherit (stable) mono;
+    gecko32 = fetchurl rec {
+      version = "2.44";
+      url = "http://dl.winehq.org/wine/wine-gecko/${version}/wine_gecko-${version}-x86.msi";
+      sha256 = "0fbd8pxkihhfxs5mcx8n0rcygdx43qdrp2x8hq1s1cvifp8lm9kp";
+    };
+    gecko64 = fetchurl rec {
+      version = "2.44";
+      url = "http://dl.winehq.org/wine/wine-gecko/${version}/wine_gecko-${version}-x86_64.msi";
+      sha256 = "0qb6zx4ycj37q26y2zn73w49bxifdvh9n4riy39cn1kl7c6mm3k2";
+    };
   };
 
   staging = fetchFromGitHub rec {
     inherit (unstable) version;
-    sha256 = "0r932caxlkdw36f36f8y4h2r3anpl61fmqr9payb83fj55gsiq4d";
+    sha256 = "0xjxbip0ab1lqgxrww08082ndsb8b5wjfwlf51zlr3f59c9bx9y5";
     owner = "wine-compholio";
     repo = "wine-staging";
     rev = "v${version}";
   };
 
   winetricks = fetchFromGitHub rec {
-    version = "20160109";
-    sha256 = "0pnl5362g5q7py368vj07swbdp1fqbpvpq4jv4l5ddyclps8ajg8";
+    version = "20160219";
+    sha256 = "1wqsbdh2qa5xxswilniki9wzbhlmkl6jqmryjd9f5smirr7ryy2r";
     owner = "Winetricks";
     repo = "winetricks";
     rev = version;