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 ]; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9287b0eb310..a9f3c1cc84c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10670,13 +10670,17 @@ let ++ optional (cfg.enableGambatte or false) gambatte ++ optional (cfg.enableGenesisPlusGX or false) genesis-plus-gx ++ optional (cfg.enableMupen64Plus or false) mupen64plus + ++ optional (cfg.enableNestopia or false) nestopia ++ optional (cfg.enablePicodrive or false) picodrive ++ optional (cfg.enablePrboom or false) prboom ++ optional (cfg.enablePPSSPP or false) ppsspp + ++ optional (cfg.enableQuickNES or false) quicknes ++ optional (cfg.enableScummVM or false) scummvm + ++ optional (cfg.enableSnes9x or false) snes9x ++ optional (cfg.enableSnes9xNext or false) snes9x-next ++ optional (cfg.enableStella or false) stella ++ optional (cfg.enableVbaNext or false) vba-next + ++ optional (cfg.enableVbaM or false) vba-m ); wrapRetroArch = { retroarch }: import ../misc/emulators/retroarch/wrapper.nix { @@ -12053,12 +12057,10 @@ let retroarchBare = callPackage ../misc/emulators/retroarch { }; - retroarchBareMaster = callPackage ../misc/emulators/retroarch/master.nix { }; - - retroarch = wrapRetroArch { retroarch = retroarchBareMaster; }; + retroarch = wrapRetroArch { retroarch = retroarchBare; }; libretro = recurseIntoAttrs (callPackage ../misc/emulators/retroarch/cores.nix { - retroarch = retroarchBareMaster; + retroarch = retroarchBare; }); rssglx = callPackage ../misc/screensavers/rss-glx { };