summary refs log tree commit diff
path: root/pkgs/misc/emulators
diff options
context:
space:
mode:
authorCray Elliott <MP2E@archlinux.us>2014-10-09 20:11:54 -0700
committerMateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>2014-10-16 12:53:39 +0100
commite39bf7a7043a466761754c423b3d5783a320a6ce (patch)
treea1de9d9b29ee261d052f89c79ac1f114bc68110a /pkgs/misc/emulators
parent74fde7c388b58168e2a1464c31ed268893100580 (diff)
downloadnixpkgs-e39bf7a7043a466761754c423b3d5783a320a6ce.tar
nixpkgs-e39bf7a7043a466761754c423b3d5783a320a6ce.tar.gz
nixpkgs-e39bf7a7043a466761754c423b3d5783a320a6ce.tar.bz2
nixpkgs-e39bf7a7043a466761754c423b3d5783a320a6ce.tar.lz
nixpkgs-e39bf7a7043a466761754c423b3d5783a320a6ce.tar.xz
nixpkgs-e39bf7a7043a466761754c423b3d5783a320a6ce.tar.zst
nixpkgs-e39bf7a7043a466761754c423b3d5783a320a6ce.zip
Replaced retroarchBare with retroarchBareMaster, also added a few new libretro cores
retroarchBare was too old for any practical use at this point, so it was removed in favor
of fetching releases from git. RetroArch often recommends checkout out the latest git master
if you are on a desktop platform, so we are conforming with their recommendation. I plan on
bumping the git of retroarch and each core every month, and I plan on adding more libretro
cores in the future.

The libretro cores that were added are nestopia, quicknes, snes9x, and vba-m

planned next are : bsnes-accuracy, bsnes-balanced, bsnes-performance, a few libretro mame ports

Closes #4448
Diffstat (limited to 'pkgs/misc/emulators')
-rw-r--r--pkgs/misc/emulators/retroarch/cores.nix123
-rw-r--r--pkgs/misc/emulators/retroarch/default.nix40
-rw-r--r--pkgs/misc/emulators/retroarch/master.nix31
3 files changed, 106 insertions, 88 deletions
diff --git a/pkgs/misc/emulators/retroarch/cores.nix b/pkgs/misc/emulators/retroarch/cores.nix
index db412eb883d..a371e5ab771 100644
--- a/pkgs/misc/emulators/retroarch/cores.nix
+++ b/pkgs/misc/emulators/retroarch/cores.nix
@@ -9,7 +9,7 @@ let
   stdenv.lib.makeOverridable stdenv.mkDerivation rec {
 
     name = "libretro-${core}-${version}";
-    version = "20140902";
+    version = "20141009";
     inherit src;
 
     buildInputs = [ makeWrapper retroarch zlib ] ++ a.extraBuildInputs or [];
@@ -53,8 +53,8 @@ in
     core = "4do";
     src = fetchRetro {
       repo = core + "-libretro";
-      rev = "961812bc421f3fbfd83ea211783bb511a0b6d31c";
-      sha256 = "0217iq8sj8gn161c3mj632csl1da8ir2ffxxdillpcddv6ppsayl";
+      rev = "700e5c2b28252ed7d3fb086ab016b3b964a5030a";
+      sha256 = "0wxiapbp6i3r9ir75xgmah0jhrfvy9jgqr6i22grgmnga1qv5pcf";
     };
     description = "Port of 4DO/libfreedo to libretro";
   }).override {
@@ -65,30 +65,32 @@ in
     core = "bsnes-mercury";
     src = fetchRetro {
       repo = core;
-      rev = "cc44e91bfba6f7b3d1d3d51a9fa28b39a579f5e0";
-      sha256 = "0nzwjrbfvzywsimrvp4vbpj7zxf9iwpghd9z7f9f1q027l0vj42f";
+      rev = "5fa7c035a604cd207c5833af0fdd55d7cf68acb0";
+      sha256 = "19drxpspid0y3wi3zp3ls4jlhx1ndqmr51jici7w2vsajk9x9dyg";
     };
     description = "Fork of bsnes with HLE DSP emulation restored";
   }).override {
     buildPhase = "make && cd out";
   };
 
-  desmume = mkLibRetroCore rec {
+  desmume = (mkLibRetroCore rec {
     core = "desmume";
     src = fetchRetro {
-      repo = core + "-libretro";
-      rev = "1dd58e4a9fa375b6909cd8718165a429d4b8bd6d";
-      sha256 = "137bw9316qxm8s6p0bzyvk39dv5b5bn60fgllmyj9z5y8x5lrc9l";
+      repo = core;
+      rev = "57bbabfe71fb8e131fa14ab1504f1959937b8ce5";
+      sha256 = "19kbl361ggzhmmc5alsfwq9gcl0zc9zhz0nx562l6k2lj7fwwr0g";
     };
     description = "libretro wrapper for desmume NDS emulator";
+  }).override {
+    configurePhase = "cd desmume";
   };
 
   fceumm = mkLibRetroCore rec {
     core = "fceumm";
     src = fetchRetro {
       repo = "libretro-" + core;
-      rev = "17e081541c9d36d0658e7139afa5b085aa0316c9";
-      sha256 = "0cn74z976rgjh7hf0yb1sdjlm347157893s2z397rgjvks8xssb0";
+      rev = "1b27f5abafa4ace43badebea82a8374be3a5a96b";
+      sha256 = "04v0in7nazmkfsbvl0wn5klnz4f8rpjsar1v3c07j2qrma42k60w";
     };
     description = "FCEUmm libretro port";
   };
@@ -97,8 +99,8 @@ in
     core = "fba";
     src = fetchRetro {
       repo = core + "-libretro";
-      rev = "da6355526a9b02a642447994414baababe904c1e";
-      sha256 = "14kba506m9dnldmkpq3vgw416pm7cgc167hgm3f0l59ylp2592ff";
+      rev = "21a78df085a0d964828c5c0940c03e656e2ad808";
+      sha256 = "01ycszinral19ni22a3x8afiz23y9xw6idzx9a22xnc6zqvj0fjm";
     };
     description = "Port of Final Burn Alpha to libretro";
   }).override {
@@ -113,8 +115,8 @@ in
     core = "gambatte";
     src = fetchRetro {
       repo = core + "-libretro";
-      rev = "267a4e09bf8f0877483abdffde6295f29d7235ee";
-      sha256 = "1swx3mjb6qmlg6grcakhl17vrmy4vdvimxkv5gbv6gnj5riya4vl";
+      rev = "6f3c97d86483368ec446b6b08ae21b1cb644312c";
+      sha256 = "19kbisbl5lqxfsaff4knp2rrl17af21c1kgccxhgp5liqnqk92k5";
     };
     description = "Gambatte libretro port";
   }).override {
@@ -125,8 +127,8 @@ in
     core = "genesis-plus-gx";
     src = fetchRetro {
       repo = "Genesis-Plus-GX";
-      rev = "c0015e27e3ae607ea0490b2accfe31097ef3cbce";
-      sha256 = "1k4b5wib7nqzk53qwvhkh4a70gc4pq7vkrpvmfzp5f2c4vrbw1i7";
+      rev = "d634da83d29d39d293c1aba3c14f6259e13e525e";
+      sha256 = "0mhn2h2wr2kh5rgda5rj7xkmg4b6glg4rnd0f1ak6rp3sh8dfhv1";
     };
     description = "Enhanced Genesis Plus libretro port";
   };
@@ -135,8 +137,8 @@ in
     core = "mupen64plus";
     src = fetchRetro {
       repo = core + "-libretro";
-      rev = "2251b3aba2a5bb233ff49dd9b6472f2c0feb9b83";
-      sha256 = "04g93kj6n5vddbzfb30d8n711kg0yxfnl5v567aa854misn6gfxd";
+      rev = "021ab383e2ac44533e9babd3e7f5fed97a988225";
+      sha256 = "13hph19b24bbp9d6s8zm4a939dhy96n2fbkcknmsp473kfnm9mf6";
     };
     description = "Libretro port of Mupen64 Plus, GL only";
 
@@ -145,12 +147,24 @@ in
     buildPhase = "make WITH_DYNAREC=${if stdenv.system == "x86_64-linux" then "x86_64" else "x86"}";
   };
 
+  nestopia = (mkLibRetroCore rec {
+    core = "nestopia";
+    src = fetchRetro {
+      repo = core;
+      rev = "3468f3c16c80935e8c4078a5771e9379a981989c";
+      sha256 = "1k9kd25z4hyna48gwxb8rkm9q402xzhw18wmgbzkf8y6zqxn50j0";
+    };
+    description = "nestopia undead libretro port";
+  }).override {
+    buildPhase = "cd libretro && make";
+  };
+
   picodrive = (mkLibRetroCore rec {
     core = "picodrive";
     src = fetchRetro {
       repo = core;
-      rev = "d84817550ac064fbba7ee718fb3baeda7d5546da";
-      sha256 = "17zh9m2v7h1cifzz8dcwqm4wn94zyhz6g85gf0aw6xylxahza627";
+      rev = "3f4b091194d29dd90a3cb88fd6520f677ffece65";
+      sha256 = "0jb89g5xmq7nzx4gm1mam1hym20fcyzp95k9as0k2gnwxrd4ymxv";
     };
     description = "Fast MegaDrive/MegaCD/32X emulator";
 
@@ -164,8 +178,8 @@ in
     core = "prboom";
     src = fetchRetro {
       repo = "libretro-" + core;
-      rev = "de2f0a0fab1a73a28cd501fdb9291ffc7dc357f5";
-      sha256 = "01gxa6hh9vijic2n44q1lndhdyw0kdpmajabs0nizn7bni51b29c";
+      rev = "7c5e74a8f8a973278d46604f2816aae538e9cce7";
+      sha256 = "1mkxc7zcyc2nj7spsrasbnz6k182g8i1snahbbwj4qi41db6cjc9";
     };
     description = "Prboom libretro port";
   }).override {
@@ -176,13 +190,25 @@ in
     core = "ppsspp";
     src = fetchRetro {
       repo = "libretro-" + core;
-      rev = "6ee828171218b26e124c5e8fa7877e6ee1d5ff79";
-      sha256 = "1559d4k3h0a2dv3684j4w924p2dg8z2j1fwhy7w9mhb5z4kddjhk";
+      rev = "af5050be6b421e08be42d4edf0015693ceba1f06";
+      sha256 = "0h4crdq6n6npbv6sidp3bgz5g2z3ws6ikg37f0amshh3rj36p7q0";
     };
     description = "ppsspp libretro port";
 
     extraBuildInputs = [ mesa ffmpeg ];
-  }).override{
+  }).override {
+    buildPhase = "cd libretro && make";
+  };
+
+  quicknes = (mkLibRetroCore rec {
+    core = "quicknes";
+    src = fetchRetro {
+      repo = "QuickNES_Core";
+      rev = "3e8935cc937d3bf64dc44b63cef5d584ec2673fa";
+      sha256 = "003hrxkskrkqv5h39p4gd9mg2k3ki5l1cmm0kxq7c454yliljjxc";
+    };
+    description = "QuickNES libretro port";
+  }).override {
     buildPhase = "cd libretro && make";
   };
 
@@ -190,22 +216,34 @@ in
     core = "scummvm";
     src = fetchRetro {
       repo = core;
-      rev = "c00247171ba8201614e85556c638b8825dc9f225";
-      sha256 = "1wir3x928b37va6gn14bmwsydkpk4afma5hppmbivw4qp8mj25pa";
+      rev = "0a703f6546c5a0d8ef835aa624681f7877c36df6";
+      sha256 = "1v1a6zvc1sjvvnvcarcmdym7qwyqyvl4b6ianjgzbpaxwmw457g0";
     };
     description = "Libretro port of ScummVM";
 
     extraBuildInputs = [ fluidsynth libjpeg libvorbis mesa SDL ];
   }).override {
-    buildPhase = "cd backends/platform/libretro/build/;make";
+    buildPhase = "cd backends/platform/libretro/build && make";
+  };
+
+  snes9x = (mkLibRetroCore rec {
+    core = "snes9x";
+    src = fetchRetro {
+      repo = core;
+      rev = "0724786eb2ed1436946a2e2b42c77cddf8412a63";
+      sha256 = "15wnq12mkfz766dzafhlmmh8a8b463ybssj84fhijj8c1x75scd1";
+    };
+    description = " Port of SNES9x git to libretro";
+  }).override {
+    buildPhase = "cd libretro && make";
   };
 
   snes9x-next = mkLibRetroCore rec {
     core = "snes9x-next";
     src = fetchRetro {
       repo = core;
-      rev = "461d92be09e1857d215f51aeea448a8e180bbfdd";
-      sha256 = "0ci453qsyrv3brmy2szngis2xyvxilcv9yhc2qjz285mirg6fj57";
+      rev = "c701a1e4357bc80e46cae5bdfa0d359bcbce23ad";
+      sha256 = "0410dj7rxcadvyghc1yqwqidn1g3scm52i3gb9d8haymg9q1zbjs";
     };
     description = "Optimized port/rewrite of SNES9x 1.52+ to Libretro";
   };
@@ -214,22 +252,33 @@ in
     core = "stella";
     src = fetchRetro {
       repo = core + "-libretro";
-      rev = "c7ee7ca7e8a29c986f49306c75832972f5749f72";
-      sha256 = "15wy9h3a2qk66lh8x40b3a9il0zkdflqil1h51zjmhq2zzsq8p95";
+      rev = "394ef8c10b8057fe3f92ff9d7c73886ae2eefec2";
+      sha256 = "1a5m157fqpspi2zafmqhcd6864dvfpwh44d4n47ngswp6ii9bq0f";
     };
     description = "Port of Stella to libretro";
   }).override {
     buildPhase = "make";
   };
 
+  vba-m = (mkLibRetroCore rec {
+    core = "vbam";
+    src = fetchRetro {
+      repo = core + "-libretro";
+      rev = "26a030ce01a6473d35bac2a6db4f0a360989d72f";
+      sha256 = "065gljk2nijnjg2c2zbnpg25s5zam7x0z8lq7kbz9zb87sp73ha1";
+    };
+    description = "vanilla VBA-M libretro port";
+  }).override {
+    buildPhase = "cd src/libretro && make";
+  };
+
   vba-next = mkLibRetroCore rec {
     core = "vba-next";
     src = fetchRetro {
       repo = core;
-      rev = "fb095107f83df5f93b8ba4833eaf43901f42c0c0";
-      sha256 = "0fvq1dfll27vjbmyh4qsp2nw166jsd91sjmf1sl84z56ab3q3iw8";
+      rev = "136fe2020e941f27036754dd0524bfec750025dc";
+      sha256 = "17bvx2wp2r5lkgffvqrirhgic1bfy39m7c1v74z245hg6z1jvqcf";
     };
-    description = "VBA-M libretro port";
+    description = "VBA-M libretro port with modifications for speed";
   };
-
 }
\ No newline at end of file
diff --git a/pkgs/misc/emulators/retroarch/default.nix b/pkgs/misc/emulators/retroarch/default.nix
index d110f2b789e..616fab44d6f 100644
--- a/pkgs/misc/emulators/retroarch/default.nix
+++ b/pkgs/misc/emulators/retroarch/default.nix
@@ -1,31 +1,31 @@
-{ stdenv, fetchgit, pkgconfig, which
-, SDL, mesa, alsaLib
-, libXxf86vm, libXinerama, libXv
-}:
+{ stdenv, fetchgit, pkgconfig, ffmpeg, mesa, nvidia_cg_toolkit
+, freetype, libxml2, libv4l, coreutils, python34, which, udev, alsaLib
+, libX11, libXext, libXxf86vm, libXdmcp, SDL, pulseaudio ? null }:
 
 stdenv.mkDerivation rec {
-  name = "retroarch-bare-0.9.9.7";
+  name = "retroarch-bare-${version}";
+  version = "20141009";
 
   src = fetchgit {
-    url = "https://github.com/libretro/RetroArch.git";
-    rev = "ea0c4880556e0f9d1fe8253ddc713bc743b00e1b";
-    sha256 = "1jhyh7f8ijy67fxslxqsp8pjl2lwayjljp06hp4n5cn33yajpbd7";
+    url = git://github.com/libretro/RetroArch.git;
+    rev = "72f26dfb49f236294c52eb9cb4c9d5c15da4837a";
+    sha256 = "0dn9fh1frnbxykhw3q229ck50a800p8r4va8nssfcdxh8cys385w";
   };
 
-  buildInputs = [
-    pkgconfig which SDL mesa alsaLib
-    libXxf86vm libXinerama libXv
-  ];
+  buildInputs = [ pkgconfig ffmpeg mesa nvidia_cg_toolkit freetype libxml2 libv4l coreutils
+                  python34 which udev alsaLib libX11 libXext libXxf86vm libXdmcp SDL pulseaudio ];
 
-  preConfigure = ''
-    configureFlags="--global-config-dir=$out/etc"
+  patchPhase = ''
+    export GLOBAL_CONFIG_DIR=$out/etc
+    sed -e 's#/bin/true#${coreutils}/bin/true#' -i qb/qb.libs.sh
   '';
 
-  meta = {
-    description = "Modular multi-system game/emulator system";
-    homepage = "http://www.libretro.com/";
-    license = stdenv.lib.licenses.gpl3Plus;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ iyzsong ];
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://libretro.org/;
+    description = "Multi-platform emulator frontend for libretro cores";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ MP2E ];
   };
 }
diff --git a/pkgs/misc/emulators/retroarch/master.nix b/pkgs/misc/emulators/retroarch/master.nix
deleted file mode 100644
index 2efb43e5d5e..00000000000
--- a/pkgs/misc/emulators/retroarch/master.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchgit, pkgconfig, ffmpeg, mesa, nvidia_cg_toolkit
-, freetype, libxml2, libv4l, coreutils, python34, which, udev, alsaLib
-, libX11, libXext, libXxf86vm, libXdmcp, SDL, pulseaudio ? null }:
-
-stdenv.mkDerivation rec {
-  name = "retroarch-bare-${version}";
-  version = "20140902";
-
-  src = fetchgit {
-    url = git://github.com/libretro/RetroArch.git;
-    rev = "0856091296c2e47409f36e13007805d71db69483";
-    sha256 = "152dfp6jd7yzvasqrqw4ydjbdcwq4khisia2dax3gydvxkq87nl4";
-  };
-
-  buildInputs = [ pkgconfig ffmpeg mesa nvidia_cg_toolkit freetype libxml2 libv4l coreutils
-                  python34 which udev alsaLib libX11 libXext libXxf86vm libXdmcp SDL pulseaudio ];
-
-  patchPhase = ''
-    export GLOBAL_CONFIG_DIR=$out/etc
-    sed -e 's#/bin/true#${coreutils}/bin/true#' -i qb/qb.libs.sh
-  '';
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    homepage = http://libretro.org/;
-    description = "Multi-platform emulator frontend for libretro cores";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ MP2E ];
-  };
-}