2018-03-04 06:39:18 +01:00
|
|
|
{ stdenv, fetchgit, fetchFromGitLab, cmake, pkgconfig, makeWrapper, python27, retroarch
|
2018-02-24 14:12:44 +01:00
|
|
|
, alsaLib, fluidsynth, curl, hidapi, libGLU_combined, gettext, glib, gtk2, portaudio, SDL
|
2017-06-04 10:10:14 +02:00
|
|
|
, ffmpeg, pcre, libevdev, libpng, libjpeg, libudev, libvorbis
|
|
|
|
, miniupnpc, sfml, xorg, zlib }:
|
libretro-cores:
- adding: 4do, desmume, fceumm, mame, mupen64plus, scummvm,
snes9x, stella, picodrive, ppsspp and vba
retroarch:
- added retroarch wrapper for configured cores
- changed attributes, old retroarch is now retroarchBare*
2014-08-26 19:32:35 +02:00
|
|
|
|
|
|
|
let
|
|
|
|
|
|
|
|
d2u = stdenv.lib.replaceChars ["-"] ["_"];
|
|
|
|
|
2018-03-02 01:11:16 +01:00
|
|
|
mkLibRetroCore = ({ core, src, description, license, ... }@a:
|
libretro-cores:
- adding: 4do, desmume, fceumm, mame, mupen64plus, scummvm,
snes9x, stella, picodrive, ppsspp and vba
retroarch:
- added retroarch wrapper for configured cores
- changed attributes, old retroarch is now retroarchBare*
2014-08-26 19:32:35 +02:00
|
|
|
stdenv.lib.makeOverridable stdenv.mkDerivation rec {
|
|
|
|
|
|
|
|
name = "libretro-${core}-${version}";
|
2017-06-04 03:24:18 +02:00
|
|
|
version = "2017-06-04";
|
libretro-cores:
- adding: 4do, desmume, fceumm, mame, mupen64plus, scummvm,
snes9x, stella, picodrive, ppsspp and vba
retroarch:
- added retroarch wrapper for configured cores
- changed attributes, old retroarch is now retroarchBare*
2014-08-26 19:32:35 +02:00
|
|
|
inherit src;
|
|
|
|
|
|
|
|
buildInputs = [ makeWrapper retroarch zlib ] ++ a.extraBuildInputs or [];
|
|
|
|
|
2017-11-26 21:12:23 +01:00
|
|
|
makefile = "Makefile.libretro";
|
|
|
|
|
libretro-cores:
- adding: 4do, desmume, fceumm, mame, mupen64plus, scummvm,
snes9x, stella, picodrive, ppsspp and vba
retroarch:
- added retroarch wrapper for configured cores
- changed attributes, old retroarch is now retroarchBare*
2014-08-26 19:32:35 +02:00
|
|
|
installPhase = ''
|
|
|
|
COREDIR="$out/lib/retroarch/cores"
|
|
|
|
mkdir -p $out/bin
|
|
|
|
mkdir -p $COREDIR
|
|
|
|
mv ${d2u core}_libretro.so $COREDIR/.
|
|
|
|
makeWrapper ${retroarch}/bin/retroarch $out/bin/retroarch-${core} \
|
|
|
|
--add-flags "-L $COREDIR/${d2u core}_libretro.so $@"
|
|
|
|
'';
|
|
|
|
|
2017-11-21 20:29:29 +01:00
|
|
|
enableParallelBuilding = true;
|
|
|
|
|
2014-10-02 20:09:18 +02:00
|
|
|
passthru = {
|
|
|
|
core = core;
|
|
|
|
libretroCore = "/lib/retroarch/cores";
|
|
|
|
};
|
libretro-cores:
- adding: 4do, desmume, fceumm, mame, mupen64plus, scummvm,
snes9x, stella, picodrive, ppsspp and vba
retroarch:
- added retroarch wrapper for configured cores
- changed attributes, old retroarch is now retroarchBare*
2014-08-26 19:32:35 +02:00
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
inherit description;
|
2017-08-02 23:50:51 +02:00
|
|
|
homepage = https://www.libretro.com/;
|
2018-03-02 01:11:16 +01:00
|
|
|
inherit license;
|
2016-02-26 11:18:02 +01:00
|
|
|
maintainers = with maintainers; [ edwtjo hrdinka MP2E ];
|
libretro-cores:
- adding: 4do, desmume, fceumm, mame, mupen64plus, scummvm,
snes9x, stella, picodrive, ppsspp and vba
retroarch:
- added retroarch wrapper for configured cores
- changed attributes, old retroarch is now retroarchBare*
2014-08-26 19:32:35 +02:00
|
|
|
platforms = platforms.linux;
|
|
|
|
};
|
|
|
|
} // a);
|
|
|
|
|
|
|
|
fetchRetro = { repo, rev, sha256 }:
|
|
|
|
fetchgit {
|
|
|
|
inherit rev sha256;
|
|
|
|
url = "https://github.com/libretro/${repo}.git";
|
|
|
|
fetchSubmodules = true;
|
|
|
|
};
|
|
|
|
|
2018-03-02 01:11:16 +01:00
|
|
|
in with stdenv.lib.licenses;
|
libretro-cores:
- adding: 4do, desmume, fceumm, mame, mupen64plus, scummvm,
snes9x, stella, picodrive, ppsspp and vba
retroarch:
- added retroarch wrapper for configured cores
- changed attributes, old retroarch is now retroarchBare*
2014-08-26 19:32:35 +02:00
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
_4do = (mkLibRetroCore rec {
|
|
|
|
core = "4do";
|
|
|
|
src = fetchRetro {
|
|
|
|
repo = core + "-libretro";
|
2017-06-04 03:24:18 +02:00
|
|
|
rev = "52d881743dd8614d96b4de8bd153cb725b87d474";
|
|
|
|
sha256 = "1n42f70vni2zavppayaq8xmsyx5cn40qi4zk4pgq1w3hh2q8mj72";
|
libretro-cores:
- adding: 4do, desmume, fceumm, mame, mupen64plus, scummvm,
snes9x, stella, picodrive, ppsspp and vba
retroarch:
- added retroarch wrapper for configured cores
- changed attributes, old retroarch is now retroarchBare*
2014-08-26 19:32:35 +02:00
|
|
|
};
|
|
|
|
description = "Port of 4DO/libfreedo to libretro";
|
2018-03-02 01:11:16 +01:00
|
|
|
license = "Non-commercial";
|
libretro-cores:
- adding: 4do, desmume, fceumm, mame, mupen64plus, scummvm,
snes9x, stella, picodrive, ppsspp and vba
retroarch:
- added retroarch wrapper for configured cores
- changed attributes, old retroarch is now retroarchBare*
2014-08-26 19:32:35 +02:00
|
|
|
}).override {
|
|
|
|
buildPhase = "make";
|
|
|
|
};
|
|
|
|
|
2017-02-25 16:14:35 +01:00
|
|
|
beetle-pce-fast = (mkLibRetroCore rec {
|
|
|
|
core = "mednafen-pce-fast";
|
|
|
|
src = fetchRetro {
|
|
|
|
repo = "beetle-pce-fast-libretro";
|
2017-06-04 03:24:18 +02:00
|
|
|
rev = "2954e645d668ee73d93803dc30da4462fc7a459b";
|
|
|
|
sha256 = "0p0k7kqfd6xg1qh6vgzgwp122miprb2bpzljgxd9kvigxihsl6f7";
|
2017-02-25 16:14:35 +01:00
|
|
|
};
|
|
|
|
description = "Port of Mednafen's PC Engine core to libretro";
|
2018-03-02 01:11:16 +01:00
|
|
|
license = gpl2;
|
2017-02-25 16:14:35 +01:00
|
|
|
}).override {
|
|
|
|
buildPhase = "make";
|
|
|
|
name = "beetle-pce-fast";
|
|
|
|
};
|
|
|
|
|
|
|
|
beetle-psx = (mkLibRetroCore rec {
|
|
|
|
core = "mednafen-psx";
|
|
|
|
src = fetchRetro {
|
|
|
|
repo = "beetle-psx-libretro";
|
2017-06-04 03:24:18 +02:00
|
|
|
rev = "76862abefdde9097561e2b795e75b49247deff17";
|
|
|
|
sha256 = "1k4b7g50ajzchjrm6d3v68hvri4k3hzvacn2l99i5yq3hxp7vs7x";
|
2017-02-25 16:14:35 +01:00
|
|
|
};
|
|
|
|
description = "Port of Mednafen's PSX Engine core to libretro";
|
2018-03-02 01:11:16 +01:00
|
|
|
license = gpl2;
|
2017-02-25 16:14:35 +01:00
|
|
|
}).override {
|
|
|
|
buildPhase = "make";
|
|
|
|
name = "beetle-psx";
|
|
|
|
};
|
|
|
|
|
|
|
|
beetle-saturn = (mkLibRetroCore rec {
|
|
|
|
core = "mednafen-saturn";
|
|
|
|
src = fetchRetro {
|
|
|
|
repo = "beetle-saturn-libretro";
|
2017-06-04 03:24:18 +02:00
|
|
|
rev = "3f1661b39ef249e105e6e2e655854ad0c87cd497";
|
|
|
|
sha256 = "1d1brysynwr6inlwfgv7gwkl3i9mf4lsaxd9wm2szw86g4diyn4c";
|
2017-02-25 16:14:35 +01:00
|
|
|
};
|
|
|
|
description = "Port of Mednafen's Saturn core to libretro";
|
2018-03-02 01:11:16 +01:00
|
|
|
license = gpl2;
|
2017-02-25 16:14:35 +01:00
|
|
|
}).override {
|
|
|
|
buildPhase = "make";
|
|
|
|
name = "beetle-saturn";
|
2017-02-28 15:15:54 +01:00
|
|
|
meta.platforms = [ "x86_64-linux" ];
|
2017-02-25 16:14:35 +01:00
|
|
|
};
|
|
|
|
|
2015-11-20 15:49:45 +01:00
|
|
|
bsnes-mercury = let bname = "bsnes-mercury"; in (mkLibRetroCore rec {
|
|
|
|
core = bname + "-accuracy";
|
2014-09-19 22:42:41 +02:00
|
|
|
src = fetchRetro {
|
2015-11-20 15:49:45 +01:00
|
|
|
repo = bname;
|
2017-06-04 03:24:18 +02:00
|
|
|
rev = "e89c9a2e0a12d588366ee4f5c76b7d75139d938b";
|
|
|
|
sha256 = "0vkn1f38vwazpp3kbvvv8c467ghak6yfx00s48wkxwvhmak74a3s";
|
2014-09-19 22:42:41 +02:00
|
|
|
};
|
|
|
|
description = "Fork of bsnes with HLE DSP emulation restored";
|
2018-03-02 01:11:16 +01:00
|
|
|
license = gpl3;
|
2014-09-19 22:42:41 +02:00
|
|
|
}).override {
|
|
|
|
buildPhase = "make && cd out";
|
|
|
|
};
|
|
|
|
|
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
2014-10-10 05:11:54 +02:00
|
|
|
desmume = (mkLibRetroCore rec {
|
libretro-cores:
- adding: 4do, desmume, fceumm, mame, mupen64plus, scummvm,
snes9x, stella, picodrive, ppsspp and vba
retroarch:
- added retroarch wrapper for configured cores
- changed attributes, old retroarch is now retroarchBare*
2014-08-26 19:32:35 +02:00
|
|
|
core = "desmume";
|
|
|
|
src = fetchRetro {
|
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
2014-10-10 05:11:54 +02:00
|
|
|
repo = core;
|
2017-06-04 03:24:18 +02:00
|
|
|
rev = "ce1f93abb4c3aa55099f56298e5438a03a3c2bbd";
|
|
|
|
sha256 = "064gzfbr7yizmvi91ry5y6bzikj633kdqhvzycb9f1g6kspf8yyl";
|
libretro-cores:
- adding: 4do, desmume, fceumm, mame, mupen64plus, scummvm,
snes9x, stella, picodrive, ppsspp and vba
retroarch:
- added retroarch wrapper for configured cores
- changed attributes, old retroarch is now retroarchBare*
2014-08-26 19:32:35 +02:00
|
|
|
};
|
|
|
|
description = "libretro wrapper for desmume NDS emulator";
|
2018-03-02 01:11:16 +01:00
|
|
|
license = gpl2;
|
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
2014-10-10 05:11:54 +02:00
|
|
|
}).override {
|
|
|
|
configurePhase = "cd desmume";
|
libretro-cores:
- adding: 4do, desmume, fceumm, mame, mupen64plus, scummvm,
snes9x, stella, picodrive, ppsspp and vba
retroarch:
- added retroarch wrapper for configured cores
- changed attributes, old retroarch is now retroarchBare*
2014-08-26 19:32:35 +02:00
|
|
|
};
|
|
|
|
|
2017-06-04 10:10:14 +02:00
|
|
|
dolphin = (mkLibRetroCore {
|
|
|
|
core = "dolphin";
|
|
|
|
src = fetchRetro {
|
|
|
|
repo = "dolphin";
|
|
|
|
rev = "a6ad451fdd4ac8753fd1a8e2234ec34674677754";
|
|
|
|
sha256 = "1cshlfmhph8dl3vgvn37imvp2b7xs2cx1r1ifp5js5psvhycrbz3";
|
|
|
|
};
|
|
|
|
description = "Port of Dolphin to libretro";
|
2018-03-02 01:11:16 +01:00
|
|
|
license = gpl2Plus;
|
2017-06-04 10:10:14 +02:00
|
|
|
|
|
|
|
extraBuildInputs = [
|
2018-02-24 14:12:44 +01:00
|
|
|
cmake curl libGLU_combined pcre pkgconfig sfml miniupnpc
|
2017-06-04 10:10:14 +02:00
|
|
|
gettext glib gtk2 hidapi
|
|
|
|
libevdev libudev
|
|
|
|
] ++ (with xorg; [ libSM libX11 libXi libpthreadstubs libxcb xcbutil ]);
|
|
|
|
}).override {
|
|
|
|
cmakeFlags = [
|
|
|
|
"-DLINUX_LOCAL_DEV=true"
|
|
|
|
"-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include"
|
|
|
|
"-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
|
|
|
|
"-DGTK2_INCLUDE_DIRS=${gtk2.dev}/include/gtk-2.0"
|
|
|
|
];
|
|
|
|
dontUseCmakeBuildDir = "yes";
|
|
|
|
buildPhase = ''
|
|
|
|
cd Source/Core/DolphinLibretro
|
|
|
|
make
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
2014-09-19 22:42:41 +02:00
|
|
|
fba = (mkLibRetroCore rec {
|
|
|
|
core = "fba";
|
|
|
|
src = fetchRetro {
|
|
|
|
repo = core + "-libretro";
|
2017-06-04 03:24:18 +02:00
|
|
|
rev = "9146c18ac989c619256d1cb8954d49e728e44ea3";
|
|
|
|
sha256 = "159dww8mxi95xz4ypw38vsn1g4k6z8sv415qqf0qriydwhw6mh2m";
|
2014-09-19 22:42:41 +02:00
|
|
|
};
|
|
|
|
description = "Port of Final Burn Alpha to libretro";
|
2018-03-02 01:11:16 +01:00
|
|
|
license = "Non-commercial";
|
2014-09-19 22:42:41 +02:00
|
|
|
}).override {
|
|
|
|
buildPhase = ''
|
|
|
|
cd svn-current/trunk \
|
|
|
|
&& make -f makefile.libretro \
|
2017-06-04 03:24:18 +02:00
|
|
|
&& mv fbalpha2012_libretro.so fba_libretro.so
|
2014-09-19 22:42:41 +02:00
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
2015-11-20 15:49:45 +01:00
|
|
|
fceumm = mkLibRetroCore rec {
|
|
|
|
core = "fceumm";
|
|
|
|
src = fetchRetro {
|
|
|
|
repo = "libretro-" + core;
|
2017-06-04 03:24:18 +02:00
|
|
|
rev = "45f773a1c221121746bbe2680e3aaaf92776a87e";
|
|
|
|
sha256 = "0jnwh1338q710x47bzrx319g5xbq9ipv35kyjlbkrzhqjq1blz0b";
|
2015-11-20 15:49:45 +01:00
|
|
|
};
|
|
|
|
description = "FCEUmm libretro port";
|
2018-03-02 01:11:16 +01:00
|
|
|
license = gpl2;
|
2015-11-20 15:49:45 +01:00
|
|
|
};
|
|
|
|
|
2017-06-04 03:24:18 +02:00
|
|
|
gambatte = mkLibRetroCore rec {
|
2014-09-19 22:42:41 +02:00
|
|
|
core = "gambatte";
|
|
|
|
src = fetchRetro {
|
|
|
|
repo = core + "-libretro";
|
2017-06-04 03:24:18 +02:00
|
|
|
rev = "db7af6cf6ea39fd5e39eea137ff752649599a4e4";
|
|
|
|
sha256 = "0h7hyj630nk1s32wx02y4q9x2lp6wbnh6nkc9ihf4pygcsignmwr";
|
2014-09-19 22:42:41 +02:00
|
|
|
};
|
|
|
|
description = "Gambatte libretro port";
|
2018-03-02 01:11:16 +01:00
|
|
|
license = gpl2;
|
2014-09-19 22:42:41 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
genesis-plus-gx = mkLibRetroCore rec {
|
|
|
|
core = "genesis-plus-gx";
|
|
|
|
src = fetchRetro {
|
|
|
|
repo = "Genesis-Plus-GX";
|
2017-06-04 03:24:18 +02:00
|
|
|
rev = "365a28c7349b691e6aaa3ad59b055261c42bd130";
|
|
|
|
sha256 = "0s11ddpnb44q4xjkl7dylldhi9y5zqywqavpk0bbwyj84r1cbz3c";
|
2014-09-19 22:42:41 +02:00
|
|
|
};
|
|
|
|
description = "Enhanced Genesis Plus libretro port";
|
2018-03-02 01:11:16 +01:00
|
|
|
license = "Non-commercial";
|
2014-09-19 22:42:41 +02:00
|
|
|
};
|
|
|
|
|
2018-03-04 06:39:18 +01:00
|
|
|
higan-sfc = (mkLibRetroCore rec {
|
|
|
|
core = "higan-sfc";
|
|
|
|
src = fetchFromGitLab {
|
|
|
|
owner = "higan";
|
|
|
|
repo = "higan";
|
|
|
|
rev = "d3f592013a27cb78f17d84f90a6be6cf6f6af1d1";
|
|
|
|
sha256 = "19d4cbwg8d085xq5lmql4v5l4ckgwqzc59ha5yfgv3w4qfp4dmij";
|
|
|
|
};
|
|
|
|
description = "Accurate SNES / Super Famicom emulator";
|
|
|
|
license = gpl3;
|
|
|
|
}).override {
|
|
|
|
makefile = "GNUmakefile";
|
|
|
|
buildPhase = "cd higan && make compiler=g++ target=libretro binary=library && cd out";
|
2014-09-19 22:42:41 +02:00
|
|
|
};
|
|
|
|
|
2017-11-29 11:53:01 +01:00
|
|
|
mame = (mkLibRetroCore {
|
2016-02-26 11:18:02 +01:00
|
|
|
core = "mame";
|
|
|
|
src = fetchRetro {
|
|
|
|
repo = "mame";
|
2017-06-04 03:24:18 +02:00
|
|
|
rev = "9f8a36adeb4dc54ec2ecac992ce91bcdb377519e";
|
|
|
|
sha256 = "0blfvq28hgv9kkpijd8c9d9sa5g2qr448clwi7wrj8kqfdnrr8m1";
|
2016-02-26 11:18:02 +01:00
|
|
|
};
|
|
|
|
description = "Port of MAME to libretro";
|
2018-03-02 01:11:16 +01:00
|
|
|
license = gpl2Plus;
|
2016-02-26 11:18:02 +01:00
|
|
|
|
2018-02-24 14:12:44 +01:00
|
|
|
extraBuildInputs = [ alsaLib libGLU_combined portaudio python27 xorg.libX11 ];
|
2017-11-29 11:53:01 +01:00
|
|
|
}).override {
|
|
|
|
postPatch = ''
|
|
|
|
# Prevent the failure during the parallel building of:
|
|
|
|
# make -C 3rdparty/genie/build/gmake.linux -f genie.make obj/Release/src/host/lua-5.3.0/src/lgc.o
|
|
|
|
mkdir -p 3rdparty/genie/build/gmake.linux/obj/Release/src/host/lua-5.3.0/src
|
|
|
|
'';
|
2017-02-11 13:49:33 +01:00
|
|
|
};
|
|
|
|
|
2017-02-10 12:03:14 +01:00
|
|
|
mgba = mkLibRetroCore rec {
|
|
|
|
core = "mgba";
|
|
|
|
src = fetchRetro {
|
|
|
|
repo = core;
|
2017-06-04 03:24:18 +02:00
|
|
|
rev = "fdaaaee661e59f28c94c7cfa4e82e70b71e24a9d";
|
|
|
|
sha256 = "1b30sa861r4bhbqkx6vkklh4iy625bpzki2ks4ivvjns1ijczvc7";
|
2017-02-10 12:03:14 +01:00
|
|
|
};
|
|
|
|
description = "Port of mGBA to libretro";
|
2018-03-02 01:11:16 +01:00
|
|
|
license = mpl20;
|
2017-02-10 12:03:14 +01:00
|
|
|
};
|
|
|
|
|
libretro-cores:
- adding: 4do, desmume, fceumm, mame, mupen64plus, scummvm,
snes9x, stella, picodrive, ppsspp and vba
retroarch:
- added retroarch wrapper for configured cores
- changed attributes, old retroarch is now retroarchBare*
2014-08-26 19:32:35 +02:00
|
|
|
mupen64plus = (mkLibRetroCore rec {
|
|
|
|
core = "mupen64plus";
|
|
|
|
src = fetchRetro {
|
|
|
|
repo = core + "-libretro";
|
2017-06-04 03:24:18 +02:00
|
|
|
rev = "407bcd40b3a42bff6b856a6d6f88a7d5d670bf9e";
|
|
|
|
sha256 = "0q5kvjz7rpk7mp75cdywqjgmy10c0h7ky26hh1x90d39y94idcd8";
|
libretro-cores:
- adding: 4do, desmume, fceumm, mame, mupen64plus, scummvm,
snes9x, stella, picodrive, ppsspp and vba
retroarch:
- added retroarch wrapper for configured cores
- changed attributes, old retroarch is now retroarchBare*
2014-08-26 19:32:35 +02:00
|
|
|
};
|
|
|
|
description = "Libretro port of Mupen64 Plus, GL only";
|
2018-03-02 01:11:16 +01:00
|
|
|
license = gpl2;
|
libretro-cores:
- adding: 4do, desmume, fceumm, mame, mupen64plus, scummvm,
snes9x, stella, picodrive, ppsspp and vba
retroarch:
- added retroarch wrapper for configured cores
- changed attributes, old retroarch is now retroarchBare*
2014-08-26 19:32:35 +02:00
|
|
|
|
2018-02-24 14:12:44 +01:00
|
|
|
extraBuildInputs = [ libGLU_combined libpng ];
|
libretro-cores:
- adding: 4do, desmume, fceumm, mame, mupen64plus, scummvm,
snes9x, stella, picodrive, ppsspp and vba
retroarch:
- added retroarch wrapper for configured cores
- changed attributes, old retroarch is now retroarchBare*
2014-08-26 19:32:35 +02:00
|
|
|
}).override {
|
|
|
|
buildPhase = "make WITH_DYNAREC=${if stdenv.system == "x86_64-linux" then "x86_64" else "x86"}";
|
|
|
|
};
|
|
|
|
|
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
2014-10-10 05:11:54 +02:00
|
|
|
nestopia = (mkLibRetroCore rec {
|
|
|
|
core = "nestopia";
|
|
|
|
src = fetchRetro {
|
|
|
|
repo = core;
|
2017-06-04 03:24:18 +02:00
|
|
|
rev = "ecfa170a582e5b8ec11225ca645843fa064955ca";
|
|
|
|
sha256 = "17ac7dhasch6f4lpill8c5scsvaix0jvbf1cp797qbll4hk84f2q";
|
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
2014-10-10 05:11:54 +02:00
|
|
|
};
|
|
|
|
description = "nestopia undead libretro port";
|
2018-03-02 01:11:16 +01:00
|
|
|
license = gpl2;
|
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
2014-10-10 05:11:54 +02:00
|
|
|
}).override {
|
|
|
|
buildPhase = "cd libretro && make";
|
|
|
|
};
|
|
|
|
|
2017-06-07 23:30:40 +02:00
|
|
|
parallel-n64 = (mkLibRetroCore rec {
|
|
|
|
core = "parallel-n64";
|
|
|
|
src = fetchRetro {
|
|
|
|
repo = core;
|
|
|
|
rev = "3276db27547bf7ca85896427f0b82d4658694d88";
|
|
|
|
sha256 = "19396v50azrb52ifjk298zgcbxn8dvfvp6zwrnzsk6mp8ff7qcqw";
|
|
|
|
};
|
|
|
|
description = "Parallel Mupen64plus rewrite for libretro.";
|
2018-03-02 01:11:16 +01:00
|
|
|
license = gpl2;
|
2017-06-07 23:30:40 +02:00
|
|
|
|
2018-02-24 14:12:44 +01:00
|
|
|
extraBuildInputs = [ libGLU_combined libpng ];
|
2017-06-07 23:30:40 +02:00
|
|
|
}).override {
|
|
|
|
buildPhase = "make WITH_DYNAREC=${if stdenv.system == "x86_64-linux" then "x86_64" else "x86"}";
|
|
|
|
};
|
|
|
|
|
2014-09-19 22:42:41 +02:00
|
|
|
picodrive = (mkLibRetroCore rec {
|
|
|
|
core = "picodrive";
|
|
|
|
src = fetchRetro {
|
|
|
|
repo = core;
|
2017-06-04 03:24:18 +02:00
|
|
|
rev = "cbc93b68dca1d72882d07b54bbe1ef25b980558a";
|
|
|
|
sha256 = "0fl9r6jj2x9231md5zc4scra79j5hfn1n2z67scff1375xg1k64h";
|
2014-09-19 22:42:41 +02:00
|
|
|
};
|
|
|
|
description = "Fast MegaDrive/MegaCD/32X emulator";
|
2018-03-02 01:11:16 +01:00
|
|
|
license = "MAME";
|
2014-09-19 22:42:41 +02:00
|
|
|
|
|
|
|
extraBuildInputs = [ libpng SDL ];
|
|
|
|
}).override {
|
2015-10-11 16:21:43 +02:00
|
|
|
patchPhase = "sed -i -e 's,SDL_CONFIG=\".*\",SDL_CONFIG=\"${SDL.dev}/bin/sdl-config\",' configure";
|
2014-09-19 22:42:41 +02:00
|
|
|
configurePhase = "./configure";
|
|
|
|
};
|
|
|
|
|
2015-11-20 15:49:45 +01:00
|
|
|
ppsspp = (mkLibRetroCore rec {
|
|
|
|
core = "ppsspp";
|
2014-09-19 22:42:41 +02:00
|
|
|
src = fetchRetro {
|
|
|
|
repo = "libretro-" + core;
|
2017-06-04 03:24:18 +02:00
|
|
|
rev = "5f7bcf7bfc15f83d405bcecd7a163a55ad1e7573";
|
|
|
|
sha256 = "06k1gzmypz61dslynrw4b5i161rhj43y6wnr2nhbzvwcv5bw8w8r";
|
2014-09-19 22:42:41 +02:00
|
|
|
};
|
2015-11-20 15:49:45 +01:00
|
|
|
description = "ppsspp libretro port";
|
2018-03-02 01:11:16 +01:00
|
|
|
license = gpl2;
|
2018-02-24 14:12:44 +01:00
|
|
|
extraBuildInputs = [ libGLU_combined ffmpeg ];
|
2014-09-19 22:42:41 +02:00
|
|
|
}).override {
|
2015-11-20 15:49:45 +01:00
|
|
|
buildPhase = "cd libretro && make";
|
2014-09-19 22:42:41 +02:00
|
|
|
};
|
|
|
|
|
2015-11-20 15:49:45 +01:00
|
|
|
prboom = (mkLibRetroCore rec {
|
|
|
|
core = "prboom";
|
2014-09-19 22:42:41 +02:00
|
|
|
src = fetchRetro {
|
|
|
|
repo = "libretro-" + core;
|
2017-06-04 03:24:18 +02:00
|
|
|
rev = "4c690eb6b569a276c5b2a87680718f715477eae2";
|
|
|
|
sha256 = "02vkl3y5dmyzifsviphspqv03a2rdyf36zpjpgfg7x0s226f56ja";
|
2014-09-19 22:42:41 +02:00
|
|
|
};
|
2015-11-20 15:49:45 +01:00
|
|
|
description = "Prboom libretro port";
|
2018-03-02 01:11:16 +01:00
|
|
|
license = gpl2;
|
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
2014-10-10 05:11:54 +02:00
|
|
|
}).override {
|
2015-11-20 15:49:45 +01:00
|
|
|
buildPhase = "make";
|
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
2014-10-10 05:11:54 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
quicknes = (mkLibRetroCore rec {
|
|
|
|
core = "quicknes";
|
|
|
|
src = fetchRetro {
|
|
|
|
repo = "QuickNES_Core";
|
2017-06-04 03:24:18 +02:00
|
|
|
rev = "8613b48cee97f1472145bbafa76e543854b2bbd5";
|
|
|
|
sha256 = "18lizdb9zjlfhh8ibvmcscldlf3mw4aj8nds3pah68cd2lw170w1";
|
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
2014-10-10 05:11:54 +02:00
|
|
|
};
|
|
|
|
description = "QuickNES libretro port";
|
2018-03-02 01:11:16 +01:00
|
|
|
license = lgpl21Plus;
|
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
2014-10-10 05:11:54 +02:00
|
|
|
}).override {
|
2015-11-20 15:49:45 +01:00
|
|
|
buildPhase = "make";
|
2014-09-19 22:42:41 +02:00
|
|
|
};
|
|
|
|
|
2017-02-10 12:11:29 +01:00
|
|
|
reicast = (mkLibRetroCore rec {
|
|
|
|
core = "reicast";
|
|
|
|
src = fetchRetro {
|
|
|
|
repo = core + "-emulator";
|
2017-06-04 03:24:18 +02:00
|
|
|
rev = "40d4e8af2dd67a3f317c14224873c8ec0e1f9d11";
|
|
|
|
sha256 = "0d8wzpv7pcyh437gmvi439vim26wyrjmi5hj97wvyvggywjwrx8m";
|
2017-02-10 12:11:29 +01:00
|
|
|
};
|
|
|
|
description = "Reicast libretro port";
|
2018-03-02 01:11:16 +01:00
|
|
|
license = gpl2;
|
2018-02-24 14:12:44 +01:00
|
|
|
extraBuildInputs = [ libGLU_combined ];
|
2017-02-10 12:11:29 +01:00
|
|
|
}).override {
|
|
|
|
buildPhase = "make";
|
|
|
|
};
|
|
|
|
|
libretro-cores:
- adding: 4do, desmume, fceumm, mame, mupen64plus, scummvm,
snes9x, stella, picodrive, ppsspp and vba
retroarch:
- added retroarch wrapper for configured cores
- changed attributes, old retroarch is now retroarchBare*
2014-08-26 19:32:35 +02:00
|
|
|
scummvm = (mkLibRetroCore rec {
|
|
|
|
core = "scummvm";
|
|
|
|
src = fetchRetro {
|
|
|
|
repo = core;
|
2017-06-04 03:24:18 +02:00
|
|
|
rev = "de8d7e58caa23f071ce9d1bc5133f45d16c3ff1c";
|
|
|
|
sha256 = "097i2dq3hw14hicsplrs36j1qa3r45vhzny5v4aw6qw4aj34hksy";
|
libretro-cores:
- adding: 4do, desmume, fceumm, mame, mupen64plus, scummvm,
snes9x, stella, picodrive, ppsspp and vba
retroarch:
- added retroarch wrapper for configured cores
- changed attributes, old retroarch is now retroarchBare*
2014-08-26 19:32:35 +02:00
|
|
|
};
|
|
|
|
description = "Libretro port of ScummVM";
|
2018-03-02 01:11:16 +01:00
|
|
|
license = gpl2;
|
2018-02-24 14:12:44 +01:00
|
|
|
extraBuildInputs = [ fluidsynth libjpeg libvorbis libGLU_combined SDL ];
|
libretro-cores:
- adding: 4do, desmume, fceumm, mame, mupen64plus, scummvm,
snes9x, stella, picodrive, ppsspp and vba
retroarch:
- added retroarch wrapper for configured cores
- changed attributes, old retroarch is now retroarchBare*
2014-08-26 19:32:35 +02:00
|
|
|
}).override {
|
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
2014-10-10 05:11:54 +02:00
|
|
|
buildPhase = "cd backends/platform/libretro/build && make";
|
|
|
|
};
|
|
|
|
|
|
|
|
snes9x = (mkLibRetroCore rec {
|
|
|
|
core = "snes9x";
|
|
|
|
src = fetchRetro {
|
|
|
|
repo = core;
|
2017-06-04 03:24:18 +02:00
|
|
|
rev = "db4bfaba3b0d5a067fe9aea323503656837a8d9a";
|
|
|
|
sha256 = "02f04ss45km32lp68diyfkix1gryx89qy8cc80189ipwnx80pgip";
|
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
2014-10-10 05:11:54 +02:00
|
|
|
};
|
2015-11-20 15:49:45 +01:00
|
|
|
description = "Port of SNES9x git to libretro";
|
2018-03-02 01:11:16 +01:00
|
|
|
license = "Non-commercial";
|
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
2014-10-10 05:11:54 +02:00
|
|
|
}).override {
|
|
|
|
buildPhase = "cd libretro && make";
|
libretro-cores:
- adding: 4do, desmume, fceumm, mame, mupen64plus, scummvm,
snes9x, stella, picodrive, ppsspp and vba
retroarch:
- added retroarch wrapper for configured cores
- changed attributes, old retroarch is now retroarchBare*
2014-08-26 19:32:35 +02:00
|
|
|
};
|
|
|
|
|
2017-06-04 03:24:18 +02:00
|
|
|
snes9x-next = (mkLibRetroCore rec {
|
libretro-cores:
- adding: 4do, desmume, fceumm, mame, mupen64plus, scummvm,
snes9x, stella, picodrive, ppsspp and vba
retroarch:
- added retroarch wrapper for configured cores
- changed attributes, old retroarch is now retroarchBare*
2014-08-26 19:32:35 +02:00
|
|
|
core = "snes9x-next";
|
|
|
|
src = fetchRetro {
|
|
|
|
repo = core;
|
2017-06-04 03:24:18 +02:00
|
|
|
rev = "b2a69de0df1eb39ed362806f9c9633f4544272af";
|
|
|
|
sha256 = "1vhgsrg9l562nincfvpj2h2dqkkblg1qmh0v47jqlqgmgl2b1zij";
|
libretro-cores:
- adding: 4do, desmume, fceumm, mame, mupen64plus, scummvm,
snes9x, stella, picodrive, ppsspp and vba
retroarch:
- added retroarch wrapper for configured cores
- changed attributes, old retroarch is now retroarchBare*
2014-08-26 19:32:35 +02:00
|
|
|
};
|
|
|
|
description = "Optimized port/rewrite of SNES9x 1.52+ to Libretro";
|
2018-03-02 01:11:16 +01:00
|
|
|
license = "Non-commercial";
|
2017-06-04 03:24:18 +02:00
|
|
|
}).override {
|
|
|
|
buildPhase = ''
|
|
|
|
make -f Makefile.libretro
|
|
|
|
mv snes9x2010_libretro.so snes9x_next_libretro.so
|
|
|
|
'';
|
libretro-cores:
- adding: 4do, desmume, fceumm, mame, mupen64plus, scummvm,
snes9x, stella, picodrive, ppsspp and vba
retroarch:
- added retroarch wrapper for configured cores
- changed attributes, old retroarch is now retroarchBare*
2014-08-26 19:32:35 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
stella = (mkLibRetroCore rec {
|
|
|
|
core = "stella";
|
|
|
|
src = fetchRetro {
|
|
|
|
repo = core + "-libretro";
|
2017-06-04 03:24:18 +02:00
|
|
|
rev = "bbe65db0e344dcb38905586bd853076b65963e5a";
|
|
|
|
sha256 = "18r1yyfzvjq2hq04d94y37kzsq6aywh1aim69a3imk8kh46gwrh0";
|
libretro-cores:
- adding: 4do, desmume, fceumm, mame, mupen64plus, scummvm,
snes9x, stella, picodrive, ppsspp and vba
retroarch:
- added retroarch wrapper for configured cores
- changed attributes, old retroarch is now retroarchBare*
2014-08-26 19:32:35 +02:00
|
|
|
};
|
|
|
|
description = "Port of Stella to libretro";
|
2018-03-02 01:11:16 +01:00
|
|
|
license = gpl2;
|
libretro-cores:
- adding: 4do, desmume, fceumm, mame, mupen64plus, scummvm,
snes9x, stella, picodrive, ppsspp and vba
retroarch:
- added retroarch wrapper for configured cores
- changed attributes, old retroarch is now retroarchBare*
2014-08-26 19:32:35 +02:00
|
|
|
}).override {
|
|
|
|
buildPhase = "make";
|
|
|
|
};
|
|
|
|
|
2015-11-20 15:49:45 +01:00
|
|
|
vba-next = mkLibRetroCore rec {
|
|
|
|
core = "vba-next";
|
|
|
|
src = fetchRetro {
|
|
|
|
repo = core;
|
2017-06-04 03:24:18 +02:00
|
|
|
rev = "e7734756d228ea604f8fa872cea1bba987780791";
|
|
|
|
sha256 = "03s4rh7dbbhbfc4pfdvr9jcbxrp4ijg8yp49s1xhr7sxsblj2vpv";
|
2015-11-20 15:49:45 +01:00
|
|
|
};
|
|
|
|
description = "VBA-M libretro port with modifications for speed";
|
2018-03-02 01:11:16 +01:00
|
|
|
license = gpl2;
|
2015-11-20 15:49:45 +01:00
|
|
|
};
|
|
|
|
|
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
2014-10-10 05:11:54 +02:00
|
|
|
vba-m = (mkLibRetroCore rec {
|
|
|
|
core = "vbam";
|
|
|
|
src = fetchRetro {
|
|
|
|
repo = core + "-libretro";
|
2017-06-04 03:24:18 +02:00
|
|
|
rev = "1b82fc2d761f027567632692f787482d1e287ec2";
|
|
|
|
sha256 = "043djmqvh2grc25hwjw4b5kfx57b89ryp6fcl8v632sm35l3dd6z";
|
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
2014-10-10 05:11:54 +02:00
|
|
|
};
|
|
|
|
description = "vanilla VBA-M libretro port";
|
2018-03-02 01:11:16 +01:00
|
|
|
license = gpl2;
|
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
2014-10-10 05:11:54 +02:00
|
|
|
}).override {
|
|
|
|
buildPhase = "cd src/libretro && make";
|
|
|
|
};
|
|
|
|
|
2014-10-28 10:08:43 +01:00
|
|
|
}
|