diff options
Diffstat (limited to 'pkgs/misc/emulators')
-rw-r--r-- | pkgs/misc/emulators/cdemu/base.nix | 2 | ||||
-rw-r--r-- | pkgs/misc/emulators/cdemu/vhba.nix | 2 | ||||
-rw-r--r-- | pkgs/misc/emulators/desmume/default.nix | 2 | ||||
-rw-r--r-- | pkgs/misc/emulators/fceux/default.nix | 6 | ||||
-rw-r--r-- | pkgs/misc/emulators/pcsx2/default.nix | 71 | ||||
-rw-r--r-- | pkgs/misc/emulators/retroarch/cores.nix | 17 | ||||
-rw-r--r-- | pkgs/misc/emulators/retrofe/default.nix | 77 | ||||
-rw-r--r-- | pkgs/misc/emulators/retrofe/include-paths.patch | 11 | ||||
-rw-r--r-- | pkgs/misc/emulators/stella/default.nix | 2 | ||||
-rw-r--r-- | pkgs/misc/emulators/wine/sources.nix | 22 |
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; |