2021-11-15 18:07:07 +01:00
|
|
|
{ lib
|
|
|
|
, stdenv
|
|
|
|
, SDL
|
|
|
|
, alsa-lib
|
|
|
|
, boost
|
|
|
|
, buildPackages
|
2021-12-06 22:10:30 +01:00
|
|
|
, bzip2
|
2021-11-15 18:07:07 +01:00
|
|
|
, cmake
|
|
|
|
, curl
|
|
|
|
, fetchFromGitHub
|
|
|
|
, ffmpeg
|
|
|
|
, fluidsynth
|
|
|
|
, gettext
|
|
|
|
, hexdump
|
|
|
|
, hidapi
|
|
|
|
, icu
|
2021-11-27 20:05:34 +01:00
|
|
|
, libaio
|
2021-11-15 18:07:07 +01:00
|
|
|
, libGL
|
|
|
|
, libGLU
|
|
|
|
, libevdev
|
|
|
|
, libjpeg
|
|
|
|
, libpcap
|
|
|
|
, libpng
|
|
|
|
, libvorbis
|
2021-11-27 20:05:34 +01:00
|
|
|
, libxml2
|
2021-11-15 18:07:07 +01:00
|
|
|
, libzip
|
|
|
|
, makeWrapper
|
|
|
|
, nasm
|
|
|
|
, openssl
|
|
|
|
, pcre
|
|
|
|
, pkg-config
|
|
|
|
, portaudio
|
|
|
|
, python3
|
|
|
|
, retroarch
|
|
|
|
, sfml
|
|
|
|
, snappy
|
|
|
|
, udev
|
|
|
|
, which
|
|
|
|
, xorg
|
2021-11-27 20:05:34 +01:00
|
|
|
, xxd
|
|
|
|
, xz
|
2021-11-15 18:07:07 +01:00
|
|
|
, 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
|
2021-11-17 15:06:26 +01:00
|
|
|
hashesFile = builtins.fromJSON (builtins.readFile ./hashes.json);
|
|
|
|
|
|
|
|
getCoreSrc = core:
|
|
|
|
fetchFromGitHub (builtins.getAttr core hashesFile);
|
|
|
|
|
2021-11-15 18:07:07 +01:00
|
|
|
mkLibRetroCore =
|
|
|
|
{ core
|
|
|
|
, description
|
2021-11-22 04:27:10 +01:00
|
|
|
# Check https://github.com/libretro/libretro-core-info for license information
|
2021-11-15 18:07:07 +01:00
|
|
|
, license
|
2022-01-02 21:50:52 +01:00
|
|
|
, src ? (getCoreSrc core)
|
2021-11-15 18:07:07 +01:00
|
|
|
, broken ? false
|
2022-01-21 22:40:38 +01:00
|
|
|
, version ? "unstable-2022-01-21"
|
2021-11-28 18:50:21 +01:00
|
|
|
, platforms ? retroarch.meta.platforms
|
2021-12-06 22:10:30 +01:00
|
|
|
# The resulting core file is based on core name
|
|
|
|
# Setting `normalizeCore` to `true` will convert `-` to `_` on the core filename
|
|
|
|
, normalizeCore ? true
|
2021-11-15 18:07:07 +01:00
|
|
|
, ...
|
|
|
|
}@args:
|
2022-01-02 21:50:52 +01:00
|
|
|
stdenv.mkDerivation (
|
2021-11-17 15:06:26 +01:00
|
|
|
let
|
2021-12-06 22:10:30 +01:00
|
|
|
d2u = if normalizeCore then (lib.replaceChars [ "-" ] [ "_" ]) else (x: x);
|
2021-11-17 15:06:26 +01:00
|
|
|
in
|
|
|
|
(rec {
|
|
|
|
pname = "libretro-${core}";
|
2022-01-02 21:50:52 +01:00
|
|
|
inherit version src;
|
2021-11-17 15:06:26 +01:00
|
|
|
|
|
|
|
buildInputs = [ zlib ] ++ args.extraBuildInputs or [ ];
|
|
|
|
nativeBuildInputs = [ makeWrapper ] ++ args.extraNativeBuildInputs or [ ];
|
|
|
|
|
|
|
|
makefile = "Makefile.libretro";
|
|
|
|
makeFlags = [
|
|
|
|
"platform=${{
|
|
|
|
linux = "unix";
|
|
|
|
darwin = "osx";
|
|
|
|
windows = "win";
|
|
|
|
}.${stdenv.hostPlatform.parsed.kernel.name} or stdenv.hostPlatform.parsed.kernel.name}"
|
|
|
|
"ARCH=${{
|
|
|
|
armv7l = "arm";
|
|
|
|
armv6l = "arm";
|
|
|
|
i686 = "x86";
|
|
|
|
}.${stdenv.hostPlatform.parsed.cpu.name} or stdenv.hostPlatform.parsed.cpu.name}"
|
|
|
|
] ++ (args.makeFlags or [ ]);
|
|
|
|
|
2021-11-22 18:02:42 +01:00
|
|
|
coreDir = "${placeholder "out"}/lib/retroarch/cores";
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
installPhase = ''
|
2021-11-22 18:02:42 +01:00
|
|
|
runHook preInstall
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
mkdir -p $out/bin
|
2021-11-22 18:02:42 +01:00
|
|
|
mkdir -p $coreDir
|
|
|
|
mv ${d2u args.core}_libretro${stdenv.hostPlatform.extensions.sharedLibrary} $coreDir
|
2021-11-17 15:06:26 +01:00
|
|
|
makeWrapper ${retroarch}/bin/retroarch $out/bin/retroarch-${core} \
|
2021-11-22 18:02:42 +01:00
|
|
|
--add-flags "-L $coreDir/${d2u core}_libretro${stdenv.hostPlatform.extensions.sharedLibrary} $@"
|
|
|
|
|
|
|
|
runHook postInstall
|
2021-11-17 15:06:26 +01:00
|
|
|
'';
|
|
|
|
|
2021-11-21 00:24:24 +01:00
|
|
|
enableParallelBuilding = true;
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
passthru = {
|
|
|
|
inherit core;
|
|
|
|
libretroCore = "/lib/retroarch/cores";
|
|
|
|
};
|
|
|
|
|
|
|
|
meta = with lib; {
|
2021-11-28 18:50:21 +01:00
|
|
|
inherit broken description license platforms;
|
2021-11-17 15:06:26 +01:00
|
|
|
homepage = "https://www.libretro.com/";
|
2021-11-17 16:09:57 +01:00
|
|
|
maintainers = with maintainers; [ edwtjo hrdinka MP2E thiagokokada ];
|
2021-11-17 15:06:26 +01:00
|
|
|
};
|
|
|
|
}) // builtins.removeAttrs args [ "core" "src" "description" "license" "makeFlags" ]
|
|
|
|
);
|
2021-11-15 18:07:07 +01:00
|
|
|
in
|
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
|
|
|
{
|
2021-11-22 03:23:39 +01:00
|
|
|
inherit mkLibRetroCore;
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
atari800 = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "atari800";
|
|
|
|
description = "Port of Atari800 to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Only;
|
2019-11-02 12:16:10 +01:00
|
|
|
makefile = "Makefile";
|
2020-03-22 03:54:01 +01:00
|
|
|
makeFlags = [ "GIT_VERSION=" ];
|
2019-11-02 12:16:10 +01:00
|
|
|
};
|
|
|
|
|
2020-03-22 03:54:01 +01:00
|
|
|
beetle-gba = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "mednafen-gba";
|
2021-11-15 18:07:07 +01:00
|
|
|
src = getCoreSrc "beetle-gba";
|
2019-11-02 12:16:10 +01:00
|
|
|
description = "Port of Mednafen's GameBoy Advance core to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Only;
|
2019-11-02 12:16:10 +01:00
|
|
|
makefile = "Makefile";
|
|
|
|
};
|
|
|
|
|
2020-03-22 03:54:01 +01:00
|
|
|
beetle-lynx = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "mednafen-lynx";
|
2021-11-15 18:07:07 +01:00
|
|
|
src = getCoreSrc "beetle-lynx";
|
2019-11-02 12:16:10 +01:00
|
|
|
description = "Port of Mednafen's Lynx core to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Only;
|
2019-11-02 12:16:10 +01:00
|
|
|
makefile = "Makefile";
|
|
|
|
};
|
|
|
|
|
2020-03-22 03:54:01 +01:00
|
|
|
beetle-ngp = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "mednafen-ngp";
|
2021-11-15 18:07:07 +01:00
|
|
|
src = getCoreSrc "beetle-ngp";
|
2019-11-02 12:16:10 +01:00
|
|
|
description = "Port of Mednafen's NeoGeo Pocket core to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Only;
|
2019-11-02 12:16:10 +01:00
|
|
|
makefile = "Makefile";
|
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
|
|
|
};
|
|
|
|
|
2021-11-17 13:56:08 +01:00
|
|
|
beetle-pce-fast = mkLibRetroCore {
|
|
|
|
core = "mednafen-pce-fast";
|
|
|
|
src = getCoreSrc "beetle-pce-fast";
|
|
|
|
description = "Port of Mednafen's PC Engine core to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Only;
|
2021-11-17 13:56:08 +01:00
|
|
|
makefile = "Makefile";
|
|
|
|
};
|
2019-11-07 17:29:26 +01:00
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
beetle-pcfx = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "mednafen-pcfx";
|
2021-11-15 18:07:07 +01:00
|
|
|
src = getCoreSrc "beetle-pcfx";
|
2019-11-02 12:16:10 +01:00
|
|
|
description = "Port of Mednafen's PCFX core to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Only;
|
2019-11-02 12:16:10 +01:00
|
|
|
makefile = "Makefile";
|
|
|
|
};
|
2017-02-25 16:14:35 +01:00
|
|
|
|
2021-11-17 13:56:08 +01:00
|
|
|
beetle-psx = mkLibRetroCore {
|
2017-02-25 16:14:35 +01:00
|
|
|
core = "mednafen-psx";
|
2021-11-15 18:07:07 +01:00
|
|
|
src = getCoreSrc "beetle-psx";
|
2017-02-25 16:14:35 +01:00
|
|
|
description = "Port of Mednafen's PSX Engine core to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Only;
|
2019-11-02 12:16:10 +01:00
|
|
|
makefile = "Makefile";
|
2020-03-15 06:48:14 +01:00
|
|
|
makeFlags = [ "HAVE_HW=0" "HAVE_LIGHTREC=1" ];
|
2021-11-17 13:56:08 +01:00
|
|
|
};
|
2017-02-25 16:14:35 +01:00
|
|
|
|
2021-11-17 13:56:08 +01:00
|
|
|
beetle-psx-hw = mkLibRetroCore {
|
2020-03-15 06:48:14 +01:00
|
|
|
core = "mednafen-psx-hw";
|
2021-11-15 18:07:07 +01:00
|
|
|
src = getCoreSrc "beetle-psx";
|
2020-03-15 06:48:14 +01:00
|
|
|
description = "Port of Mednafen's PSX Engine (with HW accel) core to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Only;
|
2020-03-15 06:48:14 +01:00
|
|
|
extraBuildInputs = [ libGL libGLU ];
|
|
|
|
makefile = "Makefile";
|
|
|
|
makeFlags = [ "HAVE_VULKAN=1" "HAVE_OPENGL=1" "HAVE_HW=1" "HAVE_LIGHTREC=1" ];
|
2021-11-17 13:56:08 +01:00
|
|
|
};
|
2020-03-15 06:48:14 +01:00
|
|
|
|
2021-11-17 13:56:08 +01:00
|
|
|
beetle-saturn = mkLibRetroCore {
|
2017-02-25 16:14:35 +01:00
|
|
|
core = "mednafen-saturn";
|
2021-11-15 18:07:07 +01:00
|
|
|
src = getCoreSrc "beetle-saturn";
|
2020-03-15 06:48:14 +01:00
|
|
|
description = "Port of Mednafen's Saturn core to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Only;
|
2020-03-15 06:48:14 +01:00
|
|
|
makefile = "Makefile";
|
2021-11-28 18:50:21 +01:00
|
|
|
platforms = [ "x86_64-linux" "aarch64-linux" ];
|
2021-11-17 13:56:08 +01:00
|
|
|
};
|
2019-11-07 17:29:26 +01:00
|
|
|
|
2021-11-22 03:14:17 +01:00
|
|
|
beetle-snes = mkLibRetroCore {
|
|
|
|
core = "mednafen-snes";
|
|
|
|
src = getCoreSrc "beetle-snes";
|
|
|
|
description = "Port of Mednafen's SNES core to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Only;
|
2019-11-02 12:16:10 +01:00
|
|
|
makefile = "Makefile";
|
|
|
|
};
|
|
|
|
|
2021-11-22 03:14:17 +01:00
|
|
|
beetle-supergrafx = mkLibRetroCore {
|
|
|
|
core = "mednafen-supergrafx";
|
|
|
|
src = getCoreSrc "beetle-supergrafx";
|
|
|
|
description = "Port of Mednafen's SuperGrafx core to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Only;
|
2019-11-02 12:16:10 +01:00
|
|
|
makefile = "Makefile";
|
|
|
|
};
|
|
|
|
|
2021-11-17 13:56:08 +01:00
|
|
|
beetle-vb = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "mednafen-vb";
|
2021-11-15 18:07:07 +01:00
|
|
|
src = getCoreSrc "beetle-vb";
|
2019-11-02 12:16:10 +01:00
|
|
|
description = "Port of Mednafen's VirtualBoy core to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Only;
|
2019-11-02 12:16:10 +01:00
|
|
|
makefile = "Makefile";
|
|
|
|
};
|
|
|
|
|
2021-11-22 03:14:17 +01:00
|
|
|
beetle-wswan = mkLibRetroCore {
|
|
|
|
core = "mednafen-wswan";
|
|
|
|
src = getCoreSrc "beetle-wswan";
|
|
|
|
description = "Port of Mednafen's WonderSwan core to libretro";
|
|
|
|
license = lib.licenses.gpl2Only;
|
|
|
|
makefile = "Makefile";
|
|
|
|
};
|
|
|
|
|
2021-11-23 01:14:04 +01:00
|
|
|
blastem = mkLibRetroCore {
|
|
|
|
core = "blastem";
|
|
|
|
description = "Port of BlastEm to libretro";
|
|
|
|
license = lib.licenses.gpl3Only;
|
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
bluemsx = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "bluemsx";
|
|
|
|
description = "Port of BlueMSX to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Only;
|
2017-02-25 16:14:35 +01:00
|
|
|
};
|
|
|
|
|
2021-11-22 22:14:27 +01:00
|
|
|
bsnes = mkLibRetroCore {
|
|
|
|
core = "bsnes";
|
|
|
|
description = "Port of bsnes to libretro";
|
|
|
|
license = lib.licenses.gpl3Only;
|
|
|
|
makefile = "Makefile";
|
|
|
|
};
|
|
|
|
|
2021-11-22 22:50:00 +01:00
|
|
|
bsnes-hd =
|
|
|
|
let
|
|
|
|
# linux = bsd
|
|
|
|
# https://github.com/DerKoun/bsnes-hd/blob/f0b6cf34e9780d53516977ed2de64137a8bcc3c5/bsnes/GNUmakefile#L37
|
|
|
|
platform = if stdenv.isDarwin then "macos" else "linux";
|
|
|
|
in
|
|
|
|
mkLibRetroCore {
|
|
|
|
core = "bsnes-hd-beta";
|
|
|
|
src = getCoreSrc "bsnes-hd";
|
|
|
|
description = "Port of bsnes-hd to libretro";
|
|
|
|
license = lib.licenses.gpl3Only;
|
|
|
|
makefile = "GNUmakefile";
|
|
|
|
makeFlags = [
|
|
|
|
"-C"
|
|
|
|
"bsnes"
|
|
|
|
"target=libretro"
|
|
|
|
"platform=${platform}"
|
|
|
|
];
|
|
|
|
extraBuildInputs = [ xorg.libX11 xorg.libXext ];
|
|
|
|
postBuild = "cd bsnes/out";
|
|
|
|
};
|
|
|
|
|
2021-11-17 13:56:08 +01:00
|
|
|
bsnes-mercury = mkLibRetroCore {
|
|
|
|
core = "bsnes-mercury-accuracy";
|
|
|
|
src = getCoreSrc "bsnes-mercury";
|
|
|
|
description = "Fork of bsnes with HLE DSP emulation restored";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl3Only;
|
2021-11-17 13:56:08 +01:00
|
|
|
makefile = "Makefile";
|
|
|
|
makeFlags = [ "PROFILE=accuracy" ];
|
|
|
|
};
|
2020-03-15 06:48:14 +01:00
|
|
|
|
2021-11-22 04:02:04 +01:00
|
|
|
bsnes-mercury-balanced = mkLibRetroCore {
|
|
|
|
core = "bsnes-mercury-balanced";
|
|
|
|
src = getCoreSrc "bsnes-mercury";
|
|
|
|
description = "Fork of bsnes with HLE DSP emulation restored";
|
|
|
|
license = lib.licenses.gpl3Only;
|
|
|
|
makefile = "Makefile";
|
|
|
|
makeFlags = [ "PROFILE=balanced" ];
|
|
|
|
};
|
|
|
|
|
|
|
|
bsnes-mercury-performance = mkLibRetroCore {
|
|
|
|
core = "bsnes-mercury-performance";
|
|
|
|
src = getCoreSrc "bsnes-mercury";
|
|
|
|
description = "Fork of bsnes with HLE DSP emulation restored";
|
|
|
|
license = lib.licenses.gpl3Only;
|
|
|
|
makefile = "Makefile";
|
|
|
|
makeFlags = [ "PROFILE=performance" ];
|
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
citra = mkLibRetroCore {
|
2020-03-15 06:48:14 +01:00
|
|
|
core = "citra";
|
|
|
|
description = "Port of Citra to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Plus;
|
2021-01-17 03:30:45 +01:00
|
|
|
extraNativeBuildInputs = [ cmake pkg-config ];
|
2020-03-22 03:54:01 +01:00
|
|
|
extraBuildInputs = [ libGLU libGL boost ];
|
2020-03-15 06:48:14 +01:00
|
|
|
makefile = "Makefile";
|
|
|
|
cmakeFlags = [
|
|
|
|
"-DENABLE_LIBRETRO=ON"
|
|
|
|
"-DENABLE_QT=OFF"
|
|
|
|
"-DENABLE_SDL2=OFF"
|
|
|
|
"-DENABLE_WEB_SERVICE=OFF"
|
|
|
|
"-DENABLE_DISCORD_PRESENCE=OFF"
|
|
|
|
];
|
|
|
|
preConfigure = "sed -e '77d' -i externals/cmake-modules/GetGitRevisionDescription.cmake";
|
|
|
|
postBuild = "cd src/citra_libretro";
|
2022-01-23 17:06:05 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
citra-canary = mkLibRetroCore {
|
|
|
|
core = "citra-canary";
|
|
|
|
description = "Port of Citra Canary/Experimental to libretro";
|
|
|
|
license = lib.licenses.gpl2Plus;
|
|
|
|
extraNativeBuildInputs = [ cmake pkg-config ];
|
|
|
|
extraBuildInputs = [ libGLU libGL boost ];
|
|
|
|
makefile = "Makefile";
|
|
|
|
cmakeFlags = [
|
|
|
|
"-DENABLE_LIBRETRO=ON"
|
|
|
|
"-DENABLE_QT=OFF"
|
|
|
|
"-DENABLE_SDL2=OFF"
|
|
|
|
"-DENABLE_WEB_SERVICE=OFF"
|
|
|
|
"-DENABLE_DISCORD_PRESENCE=OFF"
|
|
|
|
];
|
|
|
|
preConfigure = "sed -e '77d' -i externals/cmake-modules/GetGitRevisionDescription.cmake";
|
|
|
|
postBuild = "cd src/citra_libretro";
|
2014-09-19 22:42:41 +02:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
desmume = mkLibRetroCore {
|
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";
|
|
|
|
description = "libretro wrapper for desmume NDS emulator";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Plus;
|
2019-11-07 21:31:41 +01:00
|
|
|
extraBuildInputs = [ libpcap libGLU libGL xorg.libX11 ];
|
2020-03-22 03:54:01 +01:00
|
|
|
preBuild = "cd desmume/src/frontend/libretro";
|
2021-01-15 14:21:58 +01:00
|
|
|
makeFlags = lib.optional stdenv.hostPlatform.isAarch32 "platform=armv-unix"
|
2021-11-15 18:07:07 +01:00
|
|
|
++ lib.optional (!stdenv.hostPlatform.isx86) "DESMUME_JIT=0";
|
2019-11-02 12:16:10 +01:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
desmume2015 = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "desmume2015";
|
|
|
|
description = "libretro wrapper for desmume NDS emulator from 2015";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Plus;
|
2019-11-07 21:31:41 +01:00
|
|
|
extraBuildInputs = [ libpcap libGLU libGL xorg.libX11 ];
|
2021-01-15 14:21:58 +01:00
|
|
|
makeFlags = lib.optional stdenv.hostPlatform.isAarch32 "platform=armv-unix"
|
2021-11-15 18:07:07 +01:00
|
|
|
++ lib.optional (!stdenv.hostPlatform.isx86) "DESMUME_JIT=0";
|
2020-03-22 03:54:01 +01:00
|
|
|
preBuild = "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
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
dolphin = mkLibRetroCore {
|
2017-06-04 10:10:14 +02:00
|
|
|
core = "dolphin";
|
|
|
|
description = "Port of Dolphin to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Plus;
|
2017-06-04 10:10:14 +02:00
|
|
|
|
2021-01-17 03:30:45 +01:00
|
|
|
extraNativeBuildInputs = [ cmake curl pkg-config ];
|
2017-06-04 10:10:14 +02:00
|
|
|
extraBuildInputs = [
|
2021-11-15 18:07:07 +01:00
|
|
|
libGLU
|
|
|
|
libGL
|
|
|
|
pcre
|
|
|
|
sfml
|
|
|
|
gettext
|
|
|
|
hidapi
|
|
|
|
libevdev
|
|
|
|
udev
|
2019-11-02 12:16:10 +01:00
|
|
|
] ++ (with xorg; [ libSM libX11 libXi libpthreadstubs libxcb xcbutil libXext libXrandr libXinerama libXxf86vm ]);
|
2020-03-15 06:48:14 +01:00
|
|
|
makefile = "Makefile";
|
2017-06-04 10:10:14 +02:00
|
|
|
cmakeFlags = [
|
2019-11-02 12:16:10 +01:00
|
|
|
"-DLIBRETRO=ON"
|
|
|
|
"-DLIBRETRO_STATIC=1"
|
|
|
|
"-DENABLE_QT=OFF"
|
|
|
|
"-DENABLE_LTO=OFF"
|
|
|
|
"-DUSE_UPNP=OFF"
|
2019-11-07 17:29:26 +01:00
|
|
|
"-DUSE_DISCORD_PRESENCE=OFF"
|
2017-06-04 10:10:14 +02:00
|
|
|
];
|
2020-03-22 03:54:01 +01:00
|
|
|
dontUseCmakeBuildDir = true;
|
2019-11-02 12:16:10 +01:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
dosbox = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "dosbox";
|
|
|
|
description = "Port of DOSBox to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Only;
|
2017-06-04 10:10:14 +02:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
eightyone = mkLibRetroCore {
|
2020-03-15 06:48:14 +01:00
|
|
|
core = "81";
|
2021-11-15 18:07:07 +01:00
|
|
|
src = getCoreSrc "eightyone";
|
2020-03-15 06:48:14 +01:00
|
|
|
description = "Port of EightyOne to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl3Only;
|
2020-03-15 06:48:14 +01:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
fbalpha2012 = mkLibRetroCore {
|
2020-03-15 06:48:14 +01:00
|
|
|
core = "fbalpha2012";
|
|
|
|
description = "Port of Final Burn Alpha ~2012 to libretro";
|
|
|
|
license = "Non-commercial";
|
|
|
|
makefile = "makefile.libretro";
|
2020-03-22 03:54:01 +01:00
|
|
|
preBuild = "cd svn-current/trunk";
|
2020-03-15 06:48:14 +01:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
fbneo = mkLibRetroCore {
|
2020-03-15 06:48:14 +01:00
|
|
|
core = "fbneo";
|
|
|
|
description = "Port of FBNeo to libretro";
|
2018-03-02 01:11:16 +01:00
|
|
|
license = "Non-commercial";
|
2020-03-15 06:48:14 +01:00
|
|
|
makefile = "Makefile";
|
2020-03-22 03:54:01 +01:00
|
|
|
preBuild = "cd src/burner/libretro";
|
2014-09-19 22:42:41 +02:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
fceumm = mkLibRetroCore {
|
2015-11-20 15:49:45 +01:00
|
|
|
core = "fceumm";
|
|
|
|
description = "FCEUmm libretro port";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Only;
|
2015-11-20 15:49:45 +01:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
flycast = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "flycast";
|
|
|
|
description = "Flycast libretro port";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Only;
|
2019-11-07 17:29:26 +01:00
|
|
|
extraBuildInputs = [ libGL libGLU ];
|
2019-11-02 12:16:10 +01:00
|
|
|
makefile = "Makefile";
|
2021-01-15 14:21:58 +01:00
|
|
|
makeFlags = lib.optional stdenv.hostPlatform.isAarch64 [ "platform=arm64" ];
|
2021-11-28 18:50:21 +01:00
|
|
|
platforms = [ "aarch64-linux" "x86_64-linux" ];
|
2019-11-02 12:16:10 +01:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
fmsx = mkLibRetroCore {
|
2020-03-15 06:48:14 +01:00
|
|
|
core = "fmsx";
|
|
|
|
description = "FMSX libretro port";
|
2020-03-22 03:54:01 +01:00
|
|
|
license = "Non-commercial";
|
2020-03-15 06:48:14 +01:00
|
|
|
makefile = "Makefile";
|
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
freeintv = mkLibRetroCore {
|
2020-03-15 06:48:14 +01:00
|
|
|
core = "freeintv";
|
|
|
|
description = "FreeIntv libretro port";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl3Only;
|
2020-03-15 06:48:14 +01:00
|
|
|
makefile = "Makefile";
|
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
gambatte = mkLibRetroCore {
|
2014-09-19 22:42:41 +02:00
|
|
|
core = "gambatte";
|
|
|
|
description = "Gambatte libretro port";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Only;
|
2014-09-19 22:42:41 +02:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
genesis-plus-gx = mkLibRetroCore {
|
2014-09-19 22:42:41 +02:00
|
|
|
core = "genesis-plus-gx";
|
|
|
|
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
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
gpsp = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "gpsp";
|
|
|
|
description = "Port of gpSP to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Only;
|
2019-11-02 12:16:10 +01:00
|
|
|
makefile = "Makefile";
|
2020-03-15 06:48:14 +01:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
gw = mkLibRetroCore {
|
2020-03-15 06:48:14 +01:00
|
|
|
core = "gw";
|
|
|
|
description = "Port of Game and Watch to libretro";
|
2021-01-15 14:21:58 +01:00
|
|
|
license = lib.licenses.zlib;
|
2020-03-15 06:48:14 +01:00
|
|
|
makefile = "Makefile";
|
2019-11-02 12:16:10 +01:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
handy = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "handy";
|
|
|
|
description = "Port of Handy to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.zlib;
|
2019-11-02 12:16:10 +01:00
|
|
|
makefile = "Makefile";
|
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
hatari = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "hatari";
|
|
|
|
description = "Port of Hatari to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Only;
|
2020-03-22 03:54:01 +01:00
|
|
|
extraBuildInputs = [ SDL zlib ];
|
|
|
|
extraNativeBuildInputs = [ cmake which ];
|
|
|
|
dontUseCmakeConfigure = true;
|
2020-03-15 06:48:14 +01:00
|
|
|
dontConfigure = true;
|
2020-03-22 03:54:01 +01:00
|
|
|
makeFlags = [ "EXTERNAL_ZLIB=1" ];
|
|
|
|
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
2014-09-19 22:42:41 +02:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
mame = mkLibRetroCore {
|
2016-02-26 11:18:02 +01:00
|
|
|
core = "mame";
|
|
|
|
description = "Port of MAME to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = with lib.licenses; [ bsd3 gpl2Plus ];
|
2021-11-15 18:07:07 +01:00
|
|
|
extraBuildInputs = [ alsa-lib libGLU libGL portaudio python3 xorg.libX11 ];
|
2020-03-15 06:48:14 +01:00
|
|
|
makefile = "Makefile.libretro";
|
2019-11-02 12:16:10 +01:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
mame2000 = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "mame2000";
|
|
|
|
description = "Port of MAME ~2000 to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = "MAME";
|
2019-11-02 12:16:10 +01:00
|
|
|
makefile = "Makefile";
|
2021-01-15 14:21:58 +01:00
|
|
|
makeFlags = lib.optional (!stdenv.hostPlatform.isx86) "IS_X86=0";
|
2021-11-21 00:24:24 +01:00
|
|
|
enableParallelBuilding = false;
|
2019-11-02 12:16:10 +01:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
mame2003 = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "mame2003";
|
|
|
|
description = "Port of MAME ~2003 to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = "MAME";
|
2019-11-02 12:16:10 +01:00
|
|
|
makefile = "Makefile";
|
2021-11-21 00:24:24 +01:00
|
|
|
enableParallelBuilding = false;
|
2019-11-02 12:16:10 +01:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
mame2003-plus = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "mame2003-plus";
|
|
|
|
description = "Port of MAME ~2003+ to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = "MAME";
|
2019-11-02 12:16:10 +01:00
|
|
|
makefile = "Makefile";
|
2021-11-21 00:24:24 +01:00
|
|
|
enableParallelBuilding = false;
|
2019-11-02 12:16:10 +01:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
mame2010 = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "mame2010";
|
|
|
|
description = "Port of MAME ~2010 to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = "MAME";
|
2019-11-02 12:16:10 +01:00
|
|
|
makefile = "Makefile";
|
2021-01-15 14:21:58 +01:00
|
|
|
makeFlags = lib.optionals stdenv.hostPlatform.isAarch64 [ "PTR64=1" "ARM_ENABLED=1" "X86_SH2DRC=0" "FORCE_DRC_C_BACKEND=1" ];
|
2021-11-21 00:24:24 +01:00
|
|
|
enableParallelBuilding = false;
|
2019-11-02 12:16:10 +01:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
mame2015 = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "mame2015";
|
|
|
|
description = "Port of MAME ~2015 to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = "MAME";
|
2021-12-06 15:02:25 +01:00
|
|
|
makeFlags = [ "PYTHON=python3" ];
|
|
|
|
extraNativeBuildInputs = [ python3 ];
|
2021-06-10 04:57:09 +02:00
|
|
|
extraBuildInputs = [ alsa-lib ];
|
2019-11-02 12:16:10 +01:00
|
|
|
makefile = "Makefile";
|
2021-11-21 00:24:24 +01:00
|
|
|
enableParallelBuilding = false;
|
2019-11-02 12:16:10 +01:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
mame2016 = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "mame2016";
|
|
|
|
description = "Port of MAME ~2016 to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = with lib.licenses; [ bsd3 gpl2Plus ];
|
2021-12-06 15:02:25 +01:00
|
|
|
extraNativeBuildInputs = [ python3 ];
|
2021-06-10 04:57:09 +02:00
|
|
|
extraBuildInputs = [ alsa-lib ];
|
2021-12-06 15:02:25 +01:00
|
|
|
makeFlags = [ "PYTHON_EXECUTABLE=python3" ];
|
2019-11-02 12:16:10 +01:00
|
|
|
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
|
|
|
|
'';
|
2021-11-21 00:24:24 +01:00
|
|
|
enableParallelBuilding = false;
|
2019-11-02 12:16:10 +01:00
|
|
|
};
|
|
|
|
|
2021-11-22 17:45:32 +01:00
|
|
|
melonds = mkLibRetroCore {
|
|
|
|
core = "melonds";
|
|
|
|
description = "Port of MelonDS to libretro";
|
|
|
|
license = lib.licenses.gpl3Only;
|
|
|
|
extraBuildInputs = [ libGL libGLU ];
|
|
|
|
makefile = "Makefile";
|
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
mesen = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "mesen";
|
|
|
|
description = "Port of Mesen to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl3Only;
|
2020-03-15 06:48:14 +01:00
|
|
|
makefile = "Makefile";
|
2020-03-22 03:54:01 +01:00
|
|
|
preBuild = "cd Libretro";
|
2020-03-15 06:48:14 +01:00
|
|
|
};
|
|
|
|
|
2021-11-22 18:02:42 +01:00
|
|
|
mesen-s = mkLibRetroCore {
|
2021-12-06 22:10:30 +01:00
|
|
|
core = "mesen-s";
|
2021-11-22 18:02:42 +01:00
|
|
|
description = "Port of Mesen-S to libretro";
|
|
|
|
license = lib.licenses.gpl3Only;
|
|
|
|
makefile = "Makefile";
|
|
|
|
preBuild = "cd Libretro";
|
2021-12-06 22:10:30 +01:00
|
|
|
normalizeCore = false;
|
2021-11-22 18:02:42 +01:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
meteor = mkLibRetroCore {
|
2020-03-15 06:48:14 +01:00
|
|
|
core = "meteor";
|
|
|
|
description = "Port of Meteor to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl3Only;
|
2020-03-15 06:48:14 +01:00
|
|
|
makefile = "Makefile";
|
2020-03-22 03:54:01 +01:00
|
|
|
preBuild = "cd libretro";
|
2017-02-11 13:49:33 +01:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
mgba = mkLibRetroCore {
|
2017-02-10 12:03:14 +01:00
|
|
|
core = "mgba";
|
|
|
|
description = "Port of mGBA to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.mpl20;
|
2017-02-10 12:03:14 +01:00
|
|
|
};
|
|
|
|
|
2020-03-22 03:54:01 +01:00
|
|
|
mupen64plus = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "mupen64plus-next";
|
2021-11-15 18:07:07 +01:00
|
|
|
src = getCoreSrc "mupen64plus";
|
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";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl3Only;
|
2019-11-07 21:31:41 +01:00
|
|
|
extraBuildInputs = [ libGLU libGL libpng nasm xorg.libX11 ];
|
2019-11-02 12:16:10 +01:00
|
|
|
makefile = "Makefile";
|
2020-03-15 06:48:14 +01:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
neocd = mkLibRetroCore {
|
2020-03-15 06:48:14 +01:00
|
|
|
core = "neocd";
|
|
|
|
description = "NeoCD libretro port";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.lgpl3Only;
|
2020-03-15 06:48:14 +01:00
|
|
|
makefile = "Makefile";
|
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
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
nestopia = mkLibRetroCore {
|
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
|
|
|
core = "nestopia";
|
2020-03-15 06:48:14 +01:00
|
|
|
description = "Nestopia libretro port";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Only;
|
2020-03-15 06:48:14 +01:00
|
|
|
makefile = "Makefile";
|
2020-03-22 03:54:01 +01:00
|
|
|
preBuild = "cd libretro";
|
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
|
|
|
};
|
2019-11-07 17:29:26 +01:00
|
|
|
|
2020-04-08 17:41:37 +02:00
|
|
|
np2kai = mkLibRetroCore rec {
|
|
|
|
core = "np2kai";
|
2021-11-15 18:07:07 +01:00
|
|
|
src = getCoreSrc core;
|
2020-04-08 17:41:37 +02:00
|
|
|
description = "Neko Project II kai libretro port";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.mit;
|
2020-04-08 17:41:37 +02:00
|
|
|
makefile = "Makefile.libretro";
|
2021-11-15 18:07:07 +01:00
|
|
|
makeFlags = [
|
|
|
|
# See https://github.com/AZO234/NP2kai/tags
|
|
|
|
"NP2KAI_VERSION=rev.22"
|
|
|
|
"NP2KAI_HASH=${src.rev}"
|
|
|
|
];
|
|
|
|
preBuild = "cd sdl";
|
2020-04-08 17:41:37 +02:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
o2em = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "o2em";
|
|
|
|
description = "Port of O2EM to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.artistic1;
|
2019-11-02 12:16:10 +01:00
|
|
|
makefile = "Makefile";
|
2020-03-15 06:48:14 +01:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
opera = mkLibRetroCore {
|
2020-03-15 06:48:14 +01:00
|
|
|
core = "opera";
|
|
|
|
description = "Opera is a port of 4DO/libfreedo to libretro";
|
|
|
|
license = "Non-commercial";
|
|
|
|
makefile = "Makefile";
|
2020-03-22 03:54:01 +01:00
|
|
|
makeFlags = [ "CC_PREFIX=${stdenv.cc.targetPrefix}" ];
|
2019-11-02 12:16:10 +01:00
|
|
|
};
|
2019-11-07 17:29:26 +01:00
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
parallel-n64 = mkLibRetroCore {
|
2017-06-07 23:30:40 +02:00
|
|
|
core = "parallel-n64";
|
|
|
|
description = "Parallel Mupen64plus rewrite for libretro.";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl3Only;
|
2019-11-07 21:31:41 +01:00
|
|
|
extraBuildInputs = [ libGLU libGL libpng ];
|
2019-11-02 12:16:10 +01:00
|
|
|
makefile = "Makefile";
|
2021-01-15 14:21:58 +01:00
|
|
|
postPatch = lib.optionalString stdenv.hostPlatform.isAarch64 ''
|
2020-03-15 06:48:14 +01:00
|
|
|
sed -i -e '1 i\CPUFLAGS += -DARM_FIX -DNO_ASM -DARM_ASM -DDONT_WANT_ARM_OPTIMIZATIONS -DARM64' Makefile \
|
|
|
|
&& sed -i -e 's,CPUFLAGS :=,,g' Makefile
|
|
|
|
'';
|
2017-06-07 23:30:40 +02:00
|
|
|
};
|
|
|
|
|
2021-11-27 20:05:34 +01:00
|
|
|
pcsx2 = mkLibRetroCore {
|
|
|
|
core = "pcsx2";
|
|
|
|
description = "Port of PCSX2 to libretro";
|
|
|
|
license = lib.licenses.gpl3Plus;
|
|
|
|
extraNativeBuildInputs = [
|
|
|
|
cmake
|
|
|
|
gettext
|
|
|
|
pkg-config
|
|
|
|
];
|
|
|
|
extraBuildInputs = [
|
|
|
|
libaio
|
|
|
|
libGL
|
|
|
|
libGLU
|
|
|
|
libpcap
|
|
|
|
libpng
|
|
|
|
libxml2
|
|
|
|
xz
|
|
|
|
xxd
|
|
|
|
];
|
|
|
|
makefile = "Makefile";
|
|
|
|
cmakeFlags = [
|
|
|
|
"-DLIBRETRO=ON"
|
|
|
|
];
|
|
|
|
postPatch = ''
|
|
|
|
# remove ccache
|
|
|
|
substituteInPlace CMakeLists.txt --replace "ccache" ""
|
|
|
|
'';
|
|
|
|
postBuild = "cd /build/source/build/pcsx2";
|
2021-11-28 18:50:21 +01:00
|
|
|
platforms = lib.platforms.x86;
|
2021-11-27 20:05:34 +01:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
pcsx_rearmed = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "pcsx_rearmed";
|
2020-03-15 06:48:14 +01:00
|
|
|
description = "Port of PCSX ReARMed with GNU lightning to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Only;
|
2020-03-15 06:48:14 +01:00
|
|
|
dontConfigure = true;
|
2019-11-02 12:16:10 +01:00
|
|
|
};
|
2019-11-07 17:29:26 +01:00
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
picodrive = mkLibRetroCore {
|
2014-09-19 22:42:41 +02:00
|
|
|
core = "picodrive";
|
|
|
|
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 ];
|
2020-03-22 03:54:01 +01:00
|
|
|
SDL_CONFIG = "${SDL.dev}/bin/sdl-config";
|
|
|
|
dontAddPrefix = true;
|
2021-11-15 18:07:07 +01:00
|
|
|
configurePlatforms = [ ];
|
2021-01-15 14:21:58 +01:00
|
|
|
makeFlags = lib.optional stdenv.hostPlatform.isAarch64 [ "platform=aarch64" ];
|
2014-09-19 22:42:41 +02:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
play = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "play";
|
|
|
|
description = "Port of Play! to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.bsd2;
|
2021-12-06 22:10:30 +01:00
|
|
|
extraBuildInputs = [ boost bzip2 curl openssl icu libGL libGLU xorg.libX11 ];
|
|
|
|
extraNativeBuildInputs = [ cmake ];
|
2020-03-15 06:48:14 +01:00
|
|
|
makefile = "Makefile";
|
2021-12-06 22:10:30 +01:00
|
|
|
cmakeFlags = [ "-DBUILD_PLAY=OFF" "-DBUILD_LIBRETRO_CORE=ON" ];
|
|
|
|
postBuild = "cd Source/ui_libretro";
|
2019-11-02 12:16:10 +01:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
ppsspp = mkLibRetroCore {
|
2015-11-20 15:49:45 +01:00
|
|
|
core = "ppsspp";
|
|
|
|
description = "ppsspp libretro port";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Plus;
|
2021-05-20 23:51:05 +02:00
|
|
|
extraNativeBuildInputs = [ cmake pkg-config python3 ];
|
|
|
|
extraBuildInputs = [ libGLU libGL libzip ffmpeg snappy xorg.libX11 ];
|
2019-11-02 12:16:10 +01:00
|
|
|
makefile = "Makefile";
|
2021-12-06 22:10:30 +01:00
|
|
|
cmakeFlags = [
|
|
|
|
"-DLIBRETRO=ON"
|
|
|
|
"-DUSE_SYSTEM_FFMPEG=ON"
|
|
|
|
"-DUSE_SYSTEM_SNAPPY=ON"
|
|
|
|
"-DUSE_SYSTEM_LIBZIP=ON"
|
|
|
|
"-DOpenGL_GL_PREFERENCE=GLVND"
|
|
|
|
];
|
|
|
|
postBuild = "cd lib";
|
2014-09-19 22:42:41 +02:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
prboom = mkLibRetroCore {
|
2015-11-20 15:49:45 +01:00
|
|
|
core = "prboom";
|
|
|
|
description = "Prboom libretro port";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Only;
|
2020-03-15 06:48:14 +01:00
|
|
|
makefile = "Makefile";
|
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
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
prosystem = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "prosystem";
|
|
|
|
description = "Port of ProSystem to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Only;
|
2019-11-02 12:16:10 +01:00
|
|
|
makefile = "Makefile";
|
2014-09-19 22:42:41 +02:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
quicknes = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "quicknes";
|
|
|
|
description = "QuickNES libretro port";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.lgpl21Plus;
|
2019-11-02 12:16:10 +01:00
|
|
|
makefile = "Makefile";
|
2020-03-15 06:48:14 +01:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
sameboy = mkLibRetroCore {
|
2020-03-15 06:48:14 +01:00
|
|
|
core = "sameboy";
|
|
|
|
description = "SameBoy libretro port";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.mit;
|
2020-03-22 03:54:01 +01:00
|
|
|
extraNativeBuildInputs = [ which hexdump ];
|
|
|
|
preBuild = "cd libretro";
|
2020-03-15 06:48:14 +01:00
|
|
|
makefile = "Makefile";
|
2017-02-10 12:11:29 +01:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
scummvm = mkLibRetroCore {
|
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 = "scummvm";
|
|
|
|
description = "Libretro port of ScummVM";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Only;
|
2019-11-07 21:31:41 +01:00
|
|
|
extraBuildInputs = [ fluidsynth libjpeg libvorbis libGLU libGL SDL ];
|
2020-03-15 06:48:14 +01:00
|
|
|
makefile = "Makefile";
|
2020-03-22 03:54:01 +01:00
|
|
|
preConfigure = "cd backends/platform/libretro/build";
|
2020-03-15 06:48:14 +01:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
smsplus-gx = mkLibRetroCore {
|
2020-03-15 06:48:14 +01:00
|
|
|
core = "smsplus";
|
2021-11-15 18:07:07 +01:00
|
|
|
src = getCoreSrc "smsplus-gx";
|
2020-03-15 06:48:14 +01:00
|
|
|
description = "SMS Plus GX libretro port";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Plus;
|
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
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
snes9x = mkLibRetroCore {
|
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
|
|
|
core = "snes9x";
|
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";
|
2020-03-15 06:48:14 +01:00
|
|
|
makefile = "Makefile";
|
2020-03-22 03:54:01 +01:00
|
|
|
preBuild = "cd 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
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
snes9x2002 = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "snes9x2002";
|
|
|
|
description = "Optimized port/rewrite of SNES9x 1.39 to Libretro";
|
|
|
|
license = "Non-commercial";
|
|
|
|
makefile = "Makefile";
|
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
snes9x2005 = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "snes9x2005";
|
|
|
|
description = "Optimized port/rewrite of SNES9x 1.43 to Libretro";
|
|
|
|
license = "Non-commercial";
|
|
|
|
makefile = "Makefile";
|
2021-12-06 21:34:36 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
snes9x2005-plus = mkLibRetroCore {
|
|
|
|
core = "snes9x2005-plus";
|
|
|
|
src = getCoreSrc "snes9x2005";
|
|
|
|
description = "Optimized port/rewrite of SNES9x 1.43 to Libretro, with Blargg's APU";
|
|
|
|
license = "Non-commercial";
|
|
|
|
makefile = "Makefile";
|
2020-03-15 06:48:14 +01:00
|
|
|
makeFlags = [ "USE_BLARGG_APU=1" ];
|
2019-11-02 12:16:10 +01:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
snes9x2010 = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "snes9x2010";
|
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";
|
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
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
stella = mkLibRetroCore {
|
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 = "stella";
|
2020-03-15 06:48:14 +01:00
|
|
|
description = "Port of Stella to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Only;
|
2021-01-17 03:30:45 +01:00
|
|
|
extraBuildInputs = [ libpng pkg-config SDL ];
|
2020-03-15 06:48:14 +01:00
|
|
|
makefile = "Makefile";
|
2020-03-22 03:54:01 +01:00
|
|
|
preBuild = "cd src/libretro";
|
|
|
|
dontConfigure = true;
|
2020-03-15 06:48:14 +01:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
stella2014 = mkLibRetroCore {
|
2020-03-15 06:48:14 +01:00
|
|
|
core = "stella2014";
|
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";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Only;
|
2019-11-02 12:16:10 +01:00
|
|
|
makefile = "Makefile";
|
2020-03-15 06:48:14 +01:00
|
|
|
};
|
|
|
|
|
2021-11-22 03:14:17 +01:00
|
|
|
swanstation = mkLibRetroCore {
|
|
|
|
core = "swanstation";
|
|
|
|
description = "Port of SwanStation (a fork of DuckStation) to libretro";
|
|
|
|
license = lib.licenses.gpl3Only;
|
|
|
|
extraNativeBuildInputs = [ cmake ];
|
|
|
|
makefile = "Makefile";
|
|
|
|
cmakeFlags = [
|
|
|
|
"-DBUILD_LIBRETRO_CORE=ON"
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
tgbdual = mkLibRetroCore {
|
2020-03-15 06:48:14 +01:00
|
|
|
core = "tgbdual";
|
|
|
|
description = "Port of TGBDual to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Only;
|
2020-03-15 06:48:14 +01:00
|
|
|
makefile = "Makefile";
|
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
thepowdertoy = mkLibRetroCore {
|
2021-04-20 02:19:36 +02:00
|
|
|
core = "thepowdertoy";
|
|
|
|
description = "Port of The Powder Toy to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl3Only;
|
2021-04-20 02:19:36 +02:00
|
|
|
extraNativeBuildInputs = [ cmake ];
|
|
|
|
makefile = "Makefile";
|
2021-12-06 22:10:30 +01:00
|
|
|
postBuild = "cd src";
|
2021-04-20 02:19:36 +02:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
tic80 = mkLibRetroCore {
|
2020-03-15 06:48:14 +01:00
|
|
|
core = "tic80";
|
|
|
|
description = "Port of TIC-80 to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.mit;
|
2021-11-15 18:07:07 +01:00
|
|
|
extraNativeBuildInputs = [ cmake pkg-config libGL libGLU ];
|
2020-03-15 06:48:14 +01:00
|
|
|
makefile = "Makefile";
|
|
|
|
cmakeFlags = [
|
|
|
|
"-DBUILD_LIBRETRO=ON"
|
|
|
|
"-DBUILD_DEMO_CARTS=OFF"
|
|
|
|
"-DBUILD_PRO=OFF"
|
|
|
|
"-DBUILD_PLAYER=OFF"
|
|
|
|
"-DBUILD_SDL=OFF"
|
|
|
|
"-DBUILD_SOKOL=OFF"
|
|
|
|
];
|
2022-01-21 22:40:38 +01:00
|
|
|
preConfigure = "cd core";
|
2020-03-15 06:48:14 +01:00
|
|
|
postBuild = "cd lib";
|
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
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
vba-m = mkLibRetroCore {
|
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
|
|
|
core = "vbam";
|
2021-11-15 18:07:07 +01:00
|
|
|
src = getCoreSrc "vba-m";
|
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";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Only;
|
2020-03-15 06:48:14 +01:00
|
|
|
makefile = "Makefile";
|
2020-03-22 03:54:01 +01:00
|
|
|
preBuild = "cd src/libretro";
|
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
|
|
|
};
|
|
|
|
|
2021-11-22 03:14:17 +01:00
|
|
|
vba-next = mkLibRetroCore {
|
|
|
|
core = "vba-next";
|
|
|
|
description = "VBA-M libretro port with modifications for speed";
|
|
|
|
license = lib.licenses.gpl2Only;
|
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
vecx = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "vecx";
|
|
|
|
description = "Port of Vecx to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl3Only;
|
2021-11-15 18:07:07 +01:00
|
|
|
extraBuildInputs = [ libGL libGLU ];
|
2019-11-02 12:16:10 +01:00
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
virtualjaguar = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "virtualjaguar";
|
|
|
|
description = "Port of VirtualJaguar to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl3Only;
|
2019-11-02 12:16:10 +01:00
|
|
|
makefile = "Makefile";
|
|
|
|
};
|
|
|
|
|
2021-11-17 15:06:26 +01:00
|
|
|
yabause = mkLibRetroCore {
|
2019-11-02 12:16:10 +01:00
|
|
|
core = "yabause";
|
|
|
|
description = "Port of Yabause to libretro";
|
2021-11-17 15:52:40 +01:00
|
|
|
license = lib.licenses.gpl2Only;
|
2020-03-15 06:48:14 +01:00
|
|
|
makefile = "Makefile";
|
2021-12-06 22:10:30 +01:00
|
|
|
# Disable SSE for non-x86. DYNAREC doesn't build on aarch64.
|
2021-01-15 14:21:58 +01:00
|
|
|
makeFlags = lib.optional (!stdenv.hostPlatform.isx86) "HAVE_SSE=0";
|
2020-03-22 03:54:01 +01:00
|
|
|
preBuild = "cd yabause/src/libretro";
|
2019-11-02 12:16:10 +01:00
|
|
|
};
|
2014-10-28 10:08:43 +01:00
|
|
|
}
|