libretro.cores: clean-up, remove update_cores.py script
This commit is contained in:
parent
b57fd97854
commit
d8c5c5e001
@ -576,6 +576,7 @@ with lib.maintainers;
|
||||
members = [
|
||||
aanderse
|
||||
edwtjo
|
||||
hrdinka
|
||||
thiagokokada
|
||||
];
|
||||
scope = "Maintain Libretro, RetroArch and related packages.";
|
||||
|
@ -1,89 +1,11 @@
|
||||
{ lib
|
||||
, newScope
|
||||
, stdenv
|
||||
, gcc12Stdenv
|
||||
, alsa-lib
|
||||
, boost
|
||||
, bzip2
|
||||
, cmake
|
||||
, curl
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, ffmpeg_6
|
||||
, fluidsynth
|
||||
, fmt
|
||||
, freetype
|
||||
, gettext
|
||||
, harfbuzz
|
||||
, hexdump
|
||||
, hidapi
|
||||
, icu
|
||||
, libaio
|
||||
, libevdev
|
||||
, libGL
|
||||
, libGLU
|
||||
, libjpeg
|
||||
, liblcf
|
||||
, libpcap
|
||||
, libpng
|
||||
, libsndfile
|
||||
, libvorbis
|
||||
, libxml2
|
||||
, libxmp
|
||||
, libzip
|
||||
, mpg123
|
||||
, nasm
|
||||
, openssl
|
||||
, opusfile
|
||||
, pcre
|
||||
, pixman
|
||||
, pkg-config
|
||||
, portaudio
|
||||
, python3
|
||||
, sfml
|
||||
, snappy
|
||||
, speexdsp
|
||||
, udev
|
||||
, which
|
||||
, xorg
|
||||
, xxd
|
||||
, xz
|
||||
{
|
||||
lib,
|
||||
newScope,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
let
|
||||
hashesFile = lib.importJSON ./hashes.json;
|
||||
|
||||
getCore = repo: (lib.getAttr repo hashesFile);
|
||||
|
||||
getCoreSrc = repo:
|
||||
let
|
||||
inherit (getCore repo) src fetcher;
|
||||
fetcherFn = {
|
||||
inherit fetchFromGitHub;
|
||||
}.${fetcher} or (throw "Unknown fetcher: ${fetcher}");
|
||||
in
|
||||
fetcherFn src;
|
||||
|
||||
getCoreVersion = repo: (getCore repo).version;
|
||||
in
|
||||
lib.makeScope newScope (self: rec {
|
||||
mkLibretroCore =
|
||||
# Sometimes core name != repo name, so you may need to set them differently
|
||||
# when necessary:
|
||||
# - core: used by the resulting core library name, e.g.:
|
||||
# `${core}_libretro.so`. Needs to match their respectful core info file
|
||||
# (see https://github.com/libretro/libretro-core-info/)
|
||||
# - repo: the repository name on GitHub
|
||||
# See `update_cores.py` for instruction on how to add a new core.
|
||||
{ core
|
||||
, repo ? core
|
||||
, src ? (getCoreSrc repo)
|
||||
, version ? (getCoreVersion repo)
|
||||
, ...
|
||||
}@args:
|
||||
self.callPackage ./mkLibretroCore.nix ({
|
||||
inherit core repo src version;
|
||||
} // args);
|
||||
lib.makeScope newScope (self: {
|
||||
mkLibretroCore = self.callPackage ./mkLibretroCore.nix;
|
||||
|
||||
atari800 = self.callPackage ./cores/atari800.nix { };
|
||||
|
||||
@ -127,148 +49,148 @@ lib.makeScope newScope (self: rec {
|
||||
|
||||
bsnes-mercury-performance = self.bsnes-mercury.override { withProfile = "performance"; };
|
||||
|
||||
citra = self.callPackage ./cores/citra.nix { };
|
||||
citra = self.callPackage ./cores/citra.nix { };
|
||||
|
||||
desmume = self.callPackage ./cores/desmume.nix { };
|
||||
desmume = self.callPackage ./cores/desmume.nix { };
|
||||
|
||||
desmume2015 = self.callPackage ./cores/desmume2015.nix { };
|
||||
desmume2015 = self.callPackage ./cores/desmume2015.nix { };
|
||||
|
||||
dolphin = self.callPackage ./cores/dolphin.nix { };
|
||||
dolphin = self.callPackage ./cores/dolphin.nix { };
|
||||
|
||||
dosbox = self.callPackage ./cores/dosbox.nix { };
|
||||
dosbox = self.callPackage ./cores/dosbox.nix { };
|
||||
|
||||
dosbox-pure = self.callPackage ./cores/dosbox-pure.nix { };
|
||||
dosbox-pure = self.callPackage ./cores/dosbox-pure.nix { };
|
||||
|
||||
easyrpg = self.callPackage ./cores/easyrpg.nix { };
|
||||
easyrpg = self.callPackage ./cores/easyrpg.nix { };
|
||||
|
||||
eightyone = self.callPackage ./cores/eightyone.nix { };
|
||||
eightyone = self.callPackage ./cores/eightyone.nix { };
|
||||
|
||||
fbalpha2012 = self.callPackage ./cores/fbalpha2012.nix { };
|
||||
fbalpha2012 = self.callPackage ./cores/fbalpha2012.nix { };
|
||||
|
||||
fbneo = self.callPackage ./cores/fbneo.nix { };
|
||||
fbneo = self.callPackage ./cores/fbneo.nix { };
|
||||
|
||||
fceumm = self.callPackage ./cores/fceumm.nix { };
|
||||
fceumm = self.callPackage ./cores/fceumm.nix { };
|
||||
|
||||
flycast = self.callPackage ./cores/flycast.nix { };
|
||||
flycast = self.callPackage ./cores/flycast.nix { };
|
||||
|
||||
fmsx = self.callPackage ./cores/fmsx.nix { };
|
||||
fmsx = self.callPackage ./cores/fmsx.nix { };
|
||||
|
||||
freeintv = self.callPackage ./cores/freeintv.nix { };
|
||||
freeintv = self.callPackage ./cores/freeintv.nix { };
|
||||
|
||||
fuse = self.callPackage ./cores/fuse.nix { };
|
||||
fuse = self.callPackage ./cores/fuse.nix { };
|
||||
|
||||
gambatte = self.callPackage ./cores/gambatte.nix { };
|
||||
gambatte = self.callPackage ./cores/gambatte.nix { };
|
||||
|
||||
genesis-plus-gx = self.callPackage ./cores/genesis-plus-gx.nix { };
|
||||
genesis-plus-gx = self.callPackage ./cores/genesis-plus-gx.nix { };
|
||||
|
||||
gpsp = self.callPackage ./cores/gpsp.nix { };
|
||||
gpsp = self.callPackage ./cores/gpsp.nix { };
|
||||
|
||||
gw = self.callPackage ./cores/gw.nix { };
|
||||
gw = self.callPackage ./cores/gw.nix { };
|
||||
|
||||
handy = self.callPackage ./cores/handy.nix { };
|
||||
handy = self.callPackage ./cores/handy.nix { };
|
||||
|
||||
hatari = self.callPackage ./cores/hatari.nix { };
|
||||
hatari = self.callPackage ./cores/hatari.nix { };
|
||||
|
||||
mame = self.callPackage ./cores/mame.nix { };
|
||||
mame = self.callPackage ./cores/mame.nix { };
|
||||
|
||||
mame2000 = self.callPackage ./cores/mame2000.nix { };
|
||||
mame2000 = self.callPackage ./cores/mame2000.nix { };
|
||||
|
||||
mame2003 = self.callPackage ./cores/mame2003.nix { };
|
||||
mame2003 = self.callPackage ./cores/mame2003.nix { };
|
||||
|
||||
mame2003-plus = self.callPackage ./cores/mame2003-plus.nix { };
|
||||
mame2003-plus = self.callPackage ./cores/mame2003-plus.nix { };
|
||||
|
||||
mame2010 = self.callPackage ./cores/mame2010.nix { };
|
||||
mame2010 = self.callPackage ./cores/mame2010.nix { };
|
||||
|
||||
mame2015 = self.callPackage ./cores/mame2015.nix { };
|
||||
mame2015 = self.callPackage ./cores/mame2015.nix { };
|
||||
|
||||
mame2016 = self.callPackage ./cores/mame2016.nix { };
|
||||
mame2016 = self.callPackage ./cores/mame2016.nix { };
|
||||
|
||||
melonds = self.callPackage ./cores/melonds.nix { };
|
||||
melonds = self.callPackage ./cores/melonds.nix { };
|
||||
|
||||
mesen = self.callPackage ./cores/mesen.nix { };
|
||||
mesen = self.callPackage ./cores/mesen.nix { };
|
||||
|
||||
mesen-s = self.callPackage ./cores/mesen-s.nix { };
|
||||
mesen-s = self.callPackage ./cores/mesen-s.nix { };
|
||||
|
||||
meteor = self.callPackage ./cores/meteor.nix { };
|
||||
meteor = self.callPackage ./cores/meteor.nix { };
|
||||
|
||||
mgba = self.callPackage ./cores/mgba.nix { };
|
||||
mgba = self.callPackage ./cores/mgba.nix { };
|
||||
|
||||
mrboom = self.callPackage ./cores/mrboom.nix { };
|
||||
mrboom = self.callPackage ./cores/mrboom.nix { };
|
||||
|
||||
mupen64plus = self.callPackage ./cores/mupen64plus.nix { };
|
||||
mupen64plus = self.callPackage ./cores/mupen64plus.nix { };
|
||||
|
||||
neocd = self.callPackage ./cores/neocd.nix { };
|
||||
neocd = self.callPackage ./cores/neocd.nix { };
|
||||
|
||||
nestopia = self.callPackage ./cores/nestopia.nix { };
|
||||
nestopia = self.callPackage ./cores/nestopia.nix { };
|
||||
|
||||
np2kai = self.callPackage ./cores/np2kai.nix { };
|
||||
np2kai = self.callPackage ./cores/np2kai.nix { };
|
||||
|
||||
nxengine = self.callPackage ./cores/nxengine.nix { };
|
||||
nxengine = self.callPackage ./cores/nxengine.nix { };
|
||||
|
||||
o2em = self.callPackage ./cores/o2em.nix { };
|
||||
o2em = self.callPackage ./cores/o2em.nix { };
|
||||
|
||||
opera = self.callPackage ./cores/opera.nix { };
|
||||
opera = self.callPackage ./cores/opera.nix { };
|
||||
|
||||
parallel-n64 = self.callPackage ./cores/parallel-n64.nix { };
|
||||
parallel-n64 = self.callPackage ./cores/parallel-n64.nix { };
|
||||
|
||||
pcsx2 = self.callPackage ./cores/pcsx2.nix { };
|
||||
pcsx2 = self.callPackage ./cores/pcsx2.nix { };
|
||||
|
||||
pcsx-rearmed = self.callPackage ./cores/pcsx-rearmed.nix { };
|
||||
pcsx_rearmed = lib.lowPrio(self.pcsx-rearmed); # added 2024-11-20
|
||||
pcsx-rearmed = self.callPackage ./cores/pcsx-rearmed.nix { };
|
||||
pcsx_rearmed = lib.lowPrio (self.pcsx-rearmed); # added 2024-11-20
|
||||
|
||||
picodrive = self.callPackage ./cores/picodrive.nix { };
|
||||
picodrive = self.callPackage ./cores/picodrive.nix { };
|
||||
|
||||
play = self.callPackage ./cores/play.nix { };
|
||||
play = self.callPackage ./cores/play.nix { };
|
||||
|
||||
ppsspp = self.callPackage ./cores/ppsspp.nix { };
|
||||
ppsspp = self.callPackage ./cores/ppsspp.nix { };
|
||||
|
||||
prboom = self.callPackage ./cores/prboom.nix { };
|
||||
prboom = self.callPackage ./cores/prboom.nix { };
|
||||
|
||||
prosystem = self.callPackage ./cores/prosystem.nix { };
|
||||
prosystem = self.callPackage ./cores/prosystem.nix { };
|
||||
|
||||
puae = self.callPackage ./cores/puae.nix { };
|
||||
puae = self.callPackage ./cores/puae.nix { };
|
||||
|
||||
quicknes = self.callPackage ./cores/quicknes.nix { };
|
||||
quicknes = self.callPackage ./cores/quicknes.nix { };
|
||||
|
||||
same_cdi = self.callPackage ./cores/same_cdi.nix { }; # the name is not a typo
|
||||
same_cdi = self.callPackage ./cores/same_cdi.nix { }; # the name is not a typo
|
||||
|
||||
sameboy = self.callPackage ./cores/sameboy.nix { };
|
||||
sameboy = self.callPackage ./cores/sameboy.nix { };
|
||||
|
||||
scummvm = self.callPackage ./cores/scummvm.nix { };
|
||||
scummvm = self.callPackage ./cores/scummvm.nix { };
|
||||
|
||||
smsplus-gx = self.callPackage ./cores/smsplus-gx.nix { };
|
||||
smsplus-gx = self.callPackage ./cores/smsplus-gx.nix { };
|
||||
|
||||
snes9x = self.callPackage ./cores/snes9x.nix { };
|
||||
snes9x = self.callPackage ./cores/snes9x.nix { };
|
||||
|
||||
snes9x2002 = self.callPackage ./cores/snes9x2002.nix { };
|
||||
snes9x2002 = self.callPackage ./cores/snes9x2002.nix { };
|
||||
|
||||
snes9x2005 = self.callPackage ./cores/snes9x2005.nix { };
|
||||
snes9x2005 = self.callPackage ./cores/snes9x2005.nix { };
|
||||
|
||||
snes9x2005-plus = self.snes9x2005.override { withBlarggAPU = true; };
|
||||
|
||||
snes9x2010 = self.callPackage ./cores/snes9x2010.nix { };
|
||||
snes9x2010 = self.callPackage ./cores/snes9x2010.nix { };
|
||||
|
||||
stella = self.callPackage ./cores/stella.nix { };
|
||||
stella = self.callPackage ./cores/stella.nix { };
|
||||
|
||||
stella2014 = self.callPackage ./cores/stella2014.nix { };
|
||||
stella2014 = self.callPackage ./cores/stella2014.nix { };
|
||||
|
||||
swanstation = self.callPackage ./cores/swanstation.nix { };
|
||||
swanstation = self.callPackage ./cores/swanstation.nix { };
|
||||
|
||||
tgbdual = self.callPackage ./cores/tgbdual.nix { };
|
||||
tgbdual = self.callPackage ./cores/tgbdual.nix { };
|
||||
|
||||
thepowdertoy = self.callPackage ./cores/thepowdertoy.nix { };
|
||||
thepowdertoy = self.callPackage ./cores/thepowdertoy.nix { };
|
||||
|
||||
tic80 = self.callPackage ./cores/tic80.nix { };
|
||||
tic80 = self.callPackage ./cores/tic80.nix { };
|
||||
|
||||
twenty-fortyeight = self.callPackage ./cores/twenty-fortyeight.nix { };
|
||||
twenty-fortyeight = self.callPackage ./cores/twenty-fortyeight.nix { };
|
||||
|
||||
vba-m = self.callPackage ./cores/vba-m.nix { };
|
||||
vba-m = self.callPackage ./cores/vba-m.nix { };
|
||||
|
||||
vba-next = self.callPackage ./cores/vba-next.nix { };
|
||||
vba-next = self.callPackage ./cores/vba-next.nix { };
|
||||
|
||||
vecx = self.callPackage ./cores/vecx.nix { };
|
||||
vecx = self.callPackage ./cores/vecx.nix { };
|
||||
|
||||
virtualjaguar = self.callPackage ./cores/virtualjaguar.nix { };
|
||||
virtualjaguar = self.callPackage ./cores/virtualjaguar.nix { };
|
||||
|
||||
yabause = self.callPackage ./cores/yabause.nix { };
|
||||
yabause = self.callPackage ./cores/yabause.nix { };
|
||||
})
|
||||
|
@ -1,7 +1,6 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
unstableGitUpdater,
|
||||
mkLibretroCore,
|
||||
}:
|
||||
mkLibretroCore {
|
||||
@ -17,9 +16,6 @@ mkLibretroCore {
|
||||
|
||||
makefile = "Makefile";
|
||||
|
||||
# TODO: move this to mkLibretroCore
|
||||
passthru.updateScript = unstableGitUpdater { };
|
||||
|
||||
meta = {
|
||||
description = "Port of Mednafen's GameBoy Advance core to libretro";
|
||||
homepage = "https://github.com/libretro/beetle-gba-libretro";
|
||||
|
@ -1,903 +0,0 @@
|
||||
{
|
||||
"!comment": "Generated with update_cores.py script, do not edit!",
|
||||
"2048": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "libretro-2048",
|
||||
"rev": "5474ed1ab880b3296c9860d0943d7de1970c79dd",
|
||||
"hash": "sha256-i6bbxsLpSicDDGYKAxTMCMioHHfvBzVokun3PNYgDsc="
|
||||
},
|
||||
"version": "unstable-2024-06-28"
|
||||
},
|
||||
"atari800": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "libretro-atari800",
|
||||
"rev": "6a18cb23cc4a7cecabd9b16143d2d7332ae8d44b",
|
||||
"hash": "sha256-+cZXHtaXnpU/zCwiDtjkyNMFGDahiHzqV2FoTCRnUWE="
|
||||
},
|
||||
"version": "unstable-2024-10-31"
|
||||
},
|
||||
"beetle-gba": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "beetle-gba-libretro",
|
||||
"rev": "6cee80685f735ea6c2373db2622a1f1ee9f39d39",
|
||||
"hash": "sha256-a3XgExXVCUFw3GLCUkEl6now2L8qVdNOaXvrDMcT1ZE="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"beetle-lynx": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "beetle-lynx-libretro",
|
||||
"rev": "7fead71b49e0f08be5c4d4224fea73c6174763bf",
|
||||
"hash": "sha256-fYBx/bjbhRXoVIGnEg4/oMVm705ivL1os+FfVQLRSyI="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"beetle-ngp": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "beetle-ngp-libretro",
|
||||
"rev": "139fe34c8dfc5585d6ee1793a7902bca79d544de",
|
||||
"hash": "sha256-ruWnCgMxfpPHTWQ7vgNUczmGRzNKKhoZTNlUcNgm4T8="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"beetle-pce": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "beetle-pce-libretro",
|
||||
"rev": "af28fb0385d00e0292c4703b3aa7e72762b564d2",
|
||||
"hash": "sha256-W+74RTIidSUdviihLy926OvlSdqMECvOLEEiWMtB50w="
|
||||
},
|
||||
"version": "unstable-2024-11-15"
|
||||
},
|
||||
"beetle-pce-fast": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "beetle-pce-fast-libretro",
|
||||
"rev": "931586f0512663f625a6e981d3047a6620281ab5",
|
||||
"hash": "sha256-9Nne4upiQNSAlTZsyXcLNIwN8MMKUO1ycahowYW1sWg="
|
||||
},
|
||||
"version": "unstable-2024-11-15"
|
||||
},
|
||||
"beetle-pcfx": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "beetle-pcfx-libretro",
|
||||
"rev": "dd04cef9355286488a1d78ff18c4c848a1575540",
|
||||
"hash": "sha256-oFBuriCbJWjgPH9RRAM/XUvkW0gKXnvs7lmBpJpWewo="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"beetle-psx": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "beetle-psx-libretro",
|
||||
"rev": "1068cb8dbd6f312664ecf5901625cab4a6533204",
|
||||
"hash": "sha256-ioAnpz6OkHWPaYE0uTEvnHV+vGzq02bQ4oUP8jW6/YA="
|
||||
},
|
||||
"version": "unstable-2024-11-15"
|
||||
},
|
||||
"beetle-saturn": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "beetle-saturn-libretro",
|
||||
"rev": "0a78a9a5ab0088ba19f21e028dda9f4b4d7c9e48",
|
||||
"hash": "sha256-WNQhtaYBg7JqPdxcD0cLRjr2pSda6Xmx/WWYzyu5u9c="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"beetle-supafaust": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "supafaust",
|
||||
"rev": "e25f66765938d33f9ad5850e8d6cd597e55b7299",
|
||||
"hash": "sha256-ZgOXHhEHt54J2B1q6uA8v6uOK53g7idJlgoC4guTGow="
|
||||
},
|
||||
"version": "unstable-2024-10-01"
|
||||
},
|
||||
"beetle-supergrafx": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "beetle-supergrafx-libretro",
|
||||
"rev": "a776133c34ae8da5daf7d9ccb43e3e292e2b07b0",
|
||||
"hash": "sha256-FemWW4EPQCwhrS7YEytf6fEeimdTTfzaDdyRNDIBQyk="
|
||||
},
|
||||
"version": "unstable-2024-11-15"
|
||||
},
|
||||
"beetle-vb": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "beetle-vb-libretro",
|
||||
"rev": "8f837ebc077afdd6652efb2827fd8308a07113ca",
|
||||
"hash": "sha256-eAnBubNhj78G4r8OHVqwFXGOSA9wEYI6ZwNyiwDW8W8="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"beetle-wswan": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "beetle-wswan-libretro",
|
||||
"rev": "2aeb47d3a58bf0360c686f842d9bb5bd201306fe",
|
||||
"hash": "sha256-LrF9p5tPtUamVLC41bJxcYDKvHmhVfwMieyIAdHaGmU="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"blastem": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "blastem",
|
||||
"rev": "277e4a62668597d4f59cadda1cbafb844f981d45",
|
||||
"hash": "sha256-EHvKElPw8V5Z6LnMaQXBCdM4niLIlF3aBm8dRbeYXHs="
|
||||
},
|
||||
"version": "unstable-2022-07-26"
|
||||
},
|
||||
"bluemsx": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "bluemsx-libretro",
|
||||
"rev": "01ce142ccb85c302420cb962d1b6e6a68a6ce076",
|
||||
"hash": "sha256-h3Zpv+h6CbM1pdSOXsjN0pFUjXLn5T/R5W55VZXpMVM="
|
||||
},
|
||||
"version": "unstable-2024-10-22"
|
||||
},
|
||||
"bsnes": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "bsnes-libretro",
|
||||
"rev": "20c55eb6333a11395ba637df8583066483e58cb2",
|
||||
"hash": "sha256-IP00xtxS3wwnQSmYltrX8GEHZX/65xnx2EsmQlE1VZM="
|
||||
},
|
||||
"version": "unstable-2024-09-06"
|
||||
},
|
||||
"bsnes-hd": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "DerKoun",
|
||||
"repo": "bsnes-hd",
|
||||
"rev": "0bb7b8645e22ea2476cabd58f32e987b14686601",
|
||||
"hash": "sha256-YzWSZMn6v5hWIHnp6KmmpevCsf35Vi2BCcmFMnrFPH0="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"bsnes-mercury": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "bsnes-mercury",
|
||||
"rev": "0f35d044bf2f2b879018a0500e676447e93a1db1",
|
||||
"hash": "sha256-skVREKYITZn+gKKSZmwuBCWrG0jb/pifwIgat8VyQ8U="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"citra": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "citra",
|
||||
"rev": "2d67658e85de4767c0eefeb2829d710401c5c802",
|
||||
"hash": "sha256-u2XwAudFgI7j/k6Bq5fk874aI6KpZawlBoIs2+M+eZY=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"version": "unstable-2024-01-24"
|
||||
},
|
||||
"desmume": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "desmume",
|
||||
"rev": "7f05a8d447b00acd9e0798aee97b4f72eb505ef9",
|
||||
"hash": "sha256-BttWMunVbfPOTGx+DV+3QyOwW+55tgXKVIn99DZhbBI="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"desmume2015": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "desmume2015",
|
||||
"rev": "af397ff3d1f208c27f3922cc8f2b8e08884ba893",
|
||||
"hash": "sha256-kEb+og4g7rJvCinBZKcb42geZO6W8ynGsTG9yqYgI+U="
|
||||
},
|
||||
"version": "unstable-2022-04-05"
|
||||
},
|
||||
"dolphin": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "dolphin",
|
||||
"rev": "89a4df725d4eb24537728f7d655cddb1add25c18",
|
||||
"hash": "sha256-f9O3//EuoCSPQC7GWmf0EzAEpjoKof30kIDBCDw0dbs="
|
||||
},
|
||||
"version": "unstable-2024-04-19"
|
||||
},
|
||||
"dosbox": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "dosbox-libretro",
|
||||
"rev": "b7b24262c282c0caef2368c87323ff8c381b3102",
|
||||
"hash": "sha256-PG2eElenlEpu0U/NIh53p0uLqewnEdaq6Aoak5E1P3I="
|
||||
},
|
||||
"version": "unstable-2022-07-18"
|
||||
},
|
||||
"dosbox-pure": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "schellingb",
|
||||
"repo": "dosbox-pure",
|
||||
"rev": "39dd77adff71cd2ae17d80a0e48fad8583ade8e4",
|
||||
"hash": "sha256-ZC3JX4BG+FUR/lcEUupISz1s8Q0AdqkO4XVIPi1L5vg="
|
||||
},
|
||||
"version": "unstable-2024-11-16"
|
||||
},
|
||||
"easyrpg": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "EasyRPG",
|
||||
"repo": "Player",
|
||||
"rev": "f8e41f43b619413f95847536412b56f85307d378",
|
||||
"hash": "sha256-nvWM4czTv/GxY9raomBEn7dmKBeLtSA9nvjMJxc3Q8s=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"version": "unstable-2023-04-29"
|
||||
},
|
||||
"eightyone": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "81-libretro",
|
||||
"rev": "ffc99f27f092addc9ddd34dd0e3a3d4d1c053cbf",
|
||||
"hash": "sha256-3AIXk3LJHZHWIojMeo2BJHWYDHQ17WVbkwjFhXM14ZE="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"fbalpha2012": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "fbalpha2012",
|
||||
"rev": "77167cea72e808384c136c8c163a6b4975ce7a84",
|
||||
"hash": "sha256-giEV09dT/e82bmDlRkxpkW04JcsEZc/enIPecqYtg3c="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"fbneo": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "fbneo",
|
||||
"rev": "d72f49f4a45dbfc5a855956d1a75ce2d0601c1c5",
|
||||
"hash": "sha256-+T+HQo6IfY8+oE/mOg54Vn9NhasGYNCLXksFdSDT/xE="
|
||||
},
|
||||
"version": "unstable-2024-10-03"
|
||||
},
|
||||
"fceumm": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "libretro-fceumm",
|
||||
"rev": "9f53af4e332476ba99d0c056668fbb35cfb527c3",
|
||||
"hash": "sha256-sTzjIuEBTKt2rZfSadQa1pDLFclLL/vwjgkTMK1ZzPQ="
|
||||
},
|
||||
"version": "unstable-2024-10-16"
|
||||
},
|
||||
"flycast": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "flyinghead",
|
||||
"repo": "flycast",
|
||||
"rev": "d618abc3205fe185b26afe58eb5472b800ae0b42",
|
||||
"hash": "sha256-hlYu1RXfzDHJh5nqBQkcwjrLtFV5AIxdBw5PZn0SUNg=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"version": "unstable-2024-11-17"
|
||||
},
|
||||
"fmsx": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "fmsx-libretro",
|
||||
"rev": "9eb5f25df5397212a3e3088ca1a64db0740bbe5f",
|
||||
"hash": "sha256-Pac1tQvPxYETU+fYU17moBHGfjNtzZiOsOms1uFQAmE="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"freeintv": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "freeintv",
|
||||
"rev": "beab9af119fc117833d2d866d8d4ea0857ec0236",
|
||||
"hash": "sha256-+3hF7OZ2OD8K3OsvzJ3+Nn3DwC7PfD+Mr3Ku2/W/fDQ="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"fuse": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "fuse-libretro",
|
||||
"rev": "99df66eac096400d4d6d8fae2215192b6f03277e",
|
||||
"hash": "sha256-o8FbDxke2JCUlmDZEHxMBY4f/WyHm1J76R43w+LVJfM="
|
||||
},
|
||||
"version": "unstable-2024-11-18"
|
||||
},
|
||||
"gambatte": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "gambatte-libretro",
|
||||
"rev": "3eeb65e9bcf4b2a7ca24c5cebdfa7e342177ef0f",
|
||||
"hash": "sha256-tNGMR6GIyXen9+Ktg3IvYTcPidc+5Z8TpBQu1YgmqlY="
|
||||
},
|
||||
"version": "unstable-2024-10-04"
|
||||
},
|
||||
"genesis-plus-gx": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "Genesis-Plus-GX",
|
||||
"rev": "7de0f0b6cde9bda1235b448aa607044b3f80ab3c",
|
||||
"hash": "sha256-W06vSrGKbXMcXIouW9/fD93sBfwREqIL8HvB3kan0tM="
|
||||
},
|
||||
"version": "unstable-2024-09-18"
|
||||
},
|
||||
"gpsp": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "gpsp",
|
||||
"rev": "36061caf8cc5e15c3c92fb772b6b8560c7c59ec7",
|
||||
"hash": "sha256-o36OUdgm7p+rAMN6R2e2Lqi4oBLTyxziw7Lr20ERBg0="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"gw": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "gw-libretro",
|
||||
"rev": "435e5cfd4bf6aea03a84259e9b8dba3daf3ff5bd",
|
||||
"hash": "sha256-csaOqrZMSk9xZUlGAKgypV38q9XE7K6hLLdBC10g9Ao="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"handy": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "libretro-handy",
|
||||
"rev": "4e9e072796e5552a9d57f6ab83b3f85f27b17fb6",
|
||||
"hash": "sha256-ThzFEqLCX2JC06n6GZgkGzX5sFY5CxFDjkeekXRmbXY="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"hatari": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "hatari",
|
||||
"rev": "7008194d3f951a157997f67a820578f56f7feee0",
|
||||
"hash": "sha256-ZPzwUBaxs2ivE9n9cb5XB5mhixY9b6qIlq7OiVSLbqg="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"mame": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "mame",
|
||||
"rev": "a67797ad2f7516906ed7acef87569c6f35ca8739",
|
||||
"hash": "sha256-MF6MWQftHBYL1Uv3ZYKFqCH24nd1+M73rhUzkdftMzk=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"version": "unstable-2024-11-01"
|
||||
},
|
||||
"mame2000": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "mame2000-libretro",
|
||||
"rev": "2ec60f6e1078cf9ba173e80432cc28fd4eea200f",
|
||||
"hash": "sha256-AYZj7bvO9oc7wmEBbj6DPRzpQFHl8diIcunSSpD4Vok="
|
||||
},
|
||||
"version": "unstable-2024-07-01"
|
||||
},
|
||||
"mame2003": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "mame2003-libretro",
|
||||
"rev": "6d543115531fc96422b73c989a628600cacbea50",
|
||||
"hash": "sha256-jFzFQVB0uiSRa82sq1fiMEXyzzDJqRANNgq5hj/ZAl4="
|
||||
},
|
||||
"version": "unstable-2024-11-10"
|
||||
},
|
||||
"mame2003-plus": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "mame2003-plus-libretro",
|
||||
"rev": "b00ea1c9574126d75ae7b80c3b41e1186421fc1d",
|
||||
"hash": "sha256-Zq4P5UsZh3p9/zasfTC+pzWiLAo7T2qAgZw4bJ4ADdM="
|
||||
},
|
||||
"version": "unstable-2024-11-19"
|
||||
},
|
||||
"mame2010": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "mame2010-libretro",
|
||||
"rev": "c5b413b71e0a290c57fc351562cd47ba75bac105",
|
||||
"hash": "sha256-p+uEhxjr/07YJxInhW7oJDr8KurD36JxnSfJo17FOxM="
|
||||
},
|
||||
"version": "unstable-2024-10-23"
|
||||
},
|
||||
"mame2015": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "mame2015-libretro",
|
||||
"rev": "316cd06349f2b34b4719f04f7c0d07569a74c764",
|
||||
"hash": "sha256-CBN04Jf26SIk8mKWlui5spQGokBvgFUCvFiC8NoBGw0="
|
||||
},
|
||||
"version": "unstable-2023-11-01"
|
||||
},
|
||||
"mame2016": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "mame2016-libretro",
|
||||
"rev": "01058613a0109424c4e7211e49ed83ac950d3993",
|
||||
"hash": "sha256-IsM7f/zlzvomVOYlinJVqZllUhDfy4NNTeTPtNmdVak="
|
||||
},
|
||||
"version": "unstable-2022-04-06"
|
||||
},
|
||||
"melonds": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "melonds",
|
||||
"rev": "7a3c11ff970cd36ca806961fae6db94b30dd5401",
|
||||
"hash": "sha256-YGkRdth7qdATcZpJkBd5MGOJFG1AbeJhAnyir+ssZYA="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"mesen": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "mesen",
|
||||
"rev": "791c5e8153ee6e29691d45b5df2cf1151ff416f9",
|
||||
"hash": "sha256-PEEGJsyT+D/JwBxH2H9OY2MwaGt1i+1kmDZUT6zROic="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"mesen-s": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "mesen-s",
|
||||
"rev": "d4fca31a6004041d99b02199688f84c009c55967",
|
||||
"hash": "sha256-mGGTLBRJCsNJg57LWSFndIv/LLzEmVRnv6gNbllkV/Y="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"meteor": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "meteor-libretro",
|
||||
"rev": "e533d300d0561564451bde55a2b73119c768453c",
|
||||
"hash": "sha256-zMkgzUz2rk0SD5ojY4AqaDlNM4k4QxuUxVBRBcn6TqQ="
|
||||
},
|
||||
"version": "unstable-2020-12-28"
|
||||
},
|
||||
"mgba": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "mgba",
|
||||
"rev": "747362c02d2e71ee7c363e8dcb240925be8af906",
|
||||
"hash": "sha256-dBhdS6C1H02iwdYDVvJmkPWob81vpmQJdHUHJFAq2vo="
|
||||
},
|
||||
"version": "unstable-2024-11-12"
|
||||
},
|
||||
"mrboom": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "Javanaise",
|
||||
"repo": "mrboom-libretro",
|
||||
"rev": "22765ce7176d236d846f504318a51c448d2b469b",
|
||||
"hash": "sha256-hzdc4PM/EARNEtpeATo4VohXtkeBra6rCz3tdIgBfVw=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"version": "unstable-2024-07-01"
|
||||
},
|
||||
"mupen64plus": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "mupen64plus-libretro-nx",
|
||||
"rev": "4249e39b2c200e5f0895385f76d99928785f2bea",
|
||||
"hash": "sha256-nII/PMYo2xLznmAcKs6jDWGRS1DC3tiDeT6KJKRnaCI="
|
||||
},
|
||||
"version": "unstable-2024-10-29"
|
||||
},
|
||||
"neocd": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "neocd_libretro",
|
||||
"rev": "5eca2c8fd567b5261251c65ecafa8cf5b179d1d2",
|
||||
"hash": "sha256-72tmPCb7AXsamaQsMAPiYpgDR8DER2GTz4hcbN8wy7g="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"nestopia": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "nestopia",
|
||||
"rev": "b932740e8abbe2cda80d06b083fdd8115af1c5d5",
|
||||
"hash": "sha256-lIWk3V93vTKZM/jvfLkA06c7DDSEQtLmqRzJUi0TK/4="
|
||||
},
|
||||
"version": "unstable-2024-10-17"
|
||||
},
|
||||
"np2kai": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "AZO234",
|
||||
"repo": "NP2kai",
|
||||
"rev": "4b109eaac4f79b04065ff5025319fce51537e04d",
|
||||
"hash": "sha256-tRFvK8d5Y/umy/b1BKN85ZSaDWyK95hII4RVng7A5uU=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"version": "unstable-2024-11-03"
|
||||
},
|
||||
"nxengine": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "nxengine-libretro",
|
||||
"rev": "9adc032a5f6aa913d71d22042bb72cb11cf0f4a2",
|
||||
"hash": "sha256-8XjZp18lQU3xFNDjIuNsSHn7Mhba8Lze/IeRsy8/U1U="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"o2em": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "libretro-o2em",
|
||||
"rev": "c8f458d035392963823fbb50db0cec0033d9315f",
|
||||
"hash": "sha256-riqMXm+3BG4Gz0wrmVFxtVhuMRtZHZqCViAupp/Q42U="
|
||||
},
|
||||
"version": "unstable-2024-06-28"
|
||||
},
|
||||
"opera": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "opera-libretro",
|
||||
"rev": "67a29e60a4d194b675c9272b21b61eaa022f3ba3",
|
||||
"hash": "sha256-8896EWNbzVyr3MS1jtWD3pLur7ZvAhhJmrwkW3ayzkU="
|
||||
},
|
||||
"version": "unstable-2024-10-17"
|
||||
},
|
||||
"parallel-n64": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "parallel-n64",
|
||||
"rev": "e372c5e327dcd649e9d840ffc3d88480b6866eda",
|
||||
"hash": "sha256-q4octB5XDdl4PtLYVZfBgydVBNaOwzu9dPBY+Y68lVo="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"pcsx2": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "lrps2",
|
||||
"rev": "f3c8743d6a42fe429f703b476fecfdb5655a98a9",
|
||||
"hash": "sha256-0piCNWX7QbZ58KyTlWp4h1qLxXpi1z6ML8sBHMTvCY4="
|
||||
},
|
||||
"version": "unstable-2023-01-30"
|
||||
},
|
||||
"pcsx_rearmed": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "pcsx_rearmed",
|
||||
"rev": "e3d7ea45c75f2752e351d5c5b54cf7e79e66d26e",
|
||||
"hash": "sha256-dJqomyUHYQ+vpyu7/w2S/NidgYbHiGBWjebFQAXjzI0="
|
||||
},
|
||||
"version": "unstable-2024-11-17"
|
||||
},
|
||||
"picodrive": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "picodrive",
|
||||
"rev": "0daf92b57fba1fdbc124651573e88373eef28aa5",
|
||||
"hash": "sha256-rvgcGNpHhjHpg5q6qiu08lBn+Zjx87E5/Q98gPoffhE=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"version": "unstable-2024-10-19"
|
||||
},
|
||||
"play": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "jpd002",
|
||||
"repo": "Play-",
|
||||
"rev": "c3cba5418b4e5618befd9c2790498cf3cf88372a",
|
||||
"hash": "sha256-xO2Pgl1E0JFEsthTmG+Ka+NqOTWG/JeeAIa6wBWXJyc=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"version": "unstable-2024-11-14"
|
||||
},
|
||||
"ppsspp": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "hrydgard",
|
||||
"repo": "ppsspp",
|
||||
"rev": "2402eea4b16908ad59079bcf3fab06ba63531a3c",
|
||||
"hash": "sha256-bpeiZdcXkGWLFZOsxTGuVmo4xAiUb9v5Wf6pWkt5JV0=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"version": "unstable-2024-11-15"
|
||||
},
|
||||
"prboom": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "libretro-prboom",
|
||||
"rev": "d25ccfb9739069824d8fff99e3ae78a58a09df01",
|
||||
"hash": "sha256-IaMreS2MSkFdZ3Jff2FOZBvKIIa4KIkp41LIg3PLl44="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"prosystem": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "prosystem-libretro",
|
||||
"rev": "acae250da8d98b8b9707cd499e2a0bf6d8500652",
|
||||
"hash": "sha256-AGF3K3meZEEsnzHmMTCsFXBGNvWVELH8a8qET07kP0o="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"puae": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "libretro-uae",
|
||||
"rev": "c60e42ef9ad474518d4be859b7c1da2c0c7e1d6f",
|
||||
"hash": "sha256-WCkz7BUgYaI+yRhPmNuOKGJC/GxV+n2aeJVn8vhx0Ng="
|
||||
},
|
||||
"version": "unstable-2024-10-19"
|
||||
},
|
||||
"quicknes": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "QuickNES_Core",
|
||||
"rev": "dbf19f73e3eb9701d1c7f5898f57c097e05c9fbd",
|
||||
"hash": "sha256-oFQUMp1imc8JCsQYCy1BtIUmTC+u0VcoYHpWzUpKNb4="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"same_cdi": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "same_cdi",
|
||||
"rev": "54cf493c2dee4c46666059c452f8aaaa0bd7c8e0",
|
||||
"hash": "sha256-/+4coMzj/o82Q04Z65DQiPaykK6N56W6PRQLtyJOd8E="
|
||||
},
|
||||
"version": "unstable-2023-02-28"
|
||||
},
|
||||
"sameboy": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "sameboy",
|
||||
"rev": "51433012a871a44555492273fd22f29867d12655",
|
||||
"hash": "sha256-vPT2uRGbXmJ62yig/yk485/TxEEKHJeWdNrM2c0IjKw="
|
||||
},
|
||||
"version": "unstable-2024-06-28"
|
||||
},
|
||||
"scummvm": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro-mirrors",
|
||||
"repo": "scummvm",
|
||||
"rev": "2fb2e4c551c9c1510c56f6e890ee0300b7b3fca3",
|
||||
"hash": "sha256-wrlFqu+ONbYH4xMFDByOgySobGrkhVc7kYWI4JzA4ew="
|
||||
},
|
||||
"version": "unstable-2022-04-06"
|
||||
},
|
||||
"smsplus-gx": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "smsplus-gx",
|
||||
"rev": "c642bbd0680b5959180a420036108893d0aec961",
|
||||
"hash": "sha256-SHBrwzLyVZ4Tp/kVCnr4xj2B3pmdg+JUmZUM7hYao64="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"snes9x": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "snes9xgit",
|
||||
"repo": "snes9x",
|
||||
"rev": "fd05ca7df5259a2cd0aa9204f331e0b05126c376",
|
||||
"hash": "sha256-o/Rb1XQ7QoI0hKROMFZ9igyH8NN3bMryvyU4oNUqtRA="
|
||||
},
|
||||
"version": "unstable-2024-10-28"
|
||||
},
|
||||
"snes9x2002": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "snes9x2002",
|
||||
"rev": "a0709ec7dcd6de2fbebb43106bd757b649e3b7cf",
|
||||
"hash": "sha256-rrMPhXIsQ48fVvjgZgC3xeqm9k9kwe43oZNzs2d/h1Q="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"snes9x2005": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "snes9x2005",
|
||||
"rev": "74d871db9b4dba6dbe6c5ecebc88cbf255be5349",
|
||||
"hash": "sha256-YlRMjSEo9sdLVRzWGSJlnBeqg6wUhZi8l3ffzUaKQIQ="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"snes9x2010": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "snes9x2010",
|
||||
"rev": "f9ae8fd28b13070a945a829ccf41cbf90a21d0f7",
|
||||
"hash": "sha256-nsExAYnzDenPvXzeN60jGykRTrCGMi/mRPV+vgS8ZtE="
|
||||
},
|
||||
"version": "unstable-2024-11-18"
|
||||
},
|
||||
"stella": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "stella-emu",
|
||||
"repo": "stella",
|
||||
"rev": "0e2ce2771c7d0c9b2dd5c06e3a4746738d3c9e47",
|
||||
"hash": "sha256-axt5wvH7WENh1ALPYc+f5XpCv2xPm5jYx26zMhLEt3E="
|
||||
},
|
||||
"version": "unstable-2024-11-17"
|
||||
},
|
||||
"stella2014": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "stella2014-libretro",
|
||||
"rev": "3cc89f0d316d6c924a5e3f4011d17421df58e615",
|
||||
"hash": "sha256-2gnFWau7F45SdzoqDUlqYXfXVE1EUPozHZv7BhyRRIA="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"swanstation": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "swanstation",
|
||||
"rev": "37cd87e14ca09ac1b558e5b2c7db4ad256865bbb",
|
||||
"hash": "sha256-dNIxlTPoY4S6VMtTN22ti3DE4aU/8XN/XhAo3DMNR/E="
|
||||
},
|
||||
"version": "unstable-2024-07-24"
|
||||
},
|
||||
"tgbdual": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "tgbdual-libretro",
|
||||
"rev": "8d305769eebd67266c284558f9d3a30498894d3d",
|
||||
"hash": "sha256-3mlnTgp43qC3yifpr6pvtC4vslddcf6mephKA183vEk="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"thepowdertoy": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "ThePowderToy",
|
||||
"rev": "5d9c749780063b87bd62ddb025dee4241f196f26",
|
||||
"hash": "sha256-BYeQ2WZgyvjDH5+akrVP5TlLq6Go3NKXB7zeR9oaaJ8="
|
||||
},
|
||||
"version": "unstable-2024-10-01"
|
||||
},
|
||||
"tic80": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "tic-80",
|
||||
"rev": "6412f72d0f4725c153ce3d245729b829e713542e",
|
||||
"hash": "sha256-RFp8sTSRwD+cgW3EYk3nBeY+zVKgZVQI5mjtfe2a64Q=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"version": "unstable-2024-05-13"
|
||||
},
|
||||
"vba-m": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "vbam-libretro",
|
||||
"rev": "379dd97301458a51fb69dd93ba21b64f81e01ef2",
|
||||
"hash": "sha256-UbXSHdKfa91MpcYityo+aILbI0DfkLqZh8YfGcRx/BI="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"vba-next": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "vba-next",
|
||||
"rev": "2c726f25da75a5600ef5791ce904befe06c4dddd",
|
||||
"hash": "sha256-Elb6cOm2oO+3fNUaTXLN4kyhftoJ/oWXD571mXApybs="
|
||||
},
|
||||
"version": "unstable-2024-06-28"
|
||||
},
|
||||
"vecx": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "libretro-vecx",
|
||||
"rev": "0e48a8903bd9cc359da3f7db783f83e22722c0cf",
|
||||
"hash": "sha256-lB8NSaxDbN2qljhI0M/HFDuN0D/wMhFUQXhfSdGHsHU="
|
||||
},
|
||||
"version": "unstable-2024-06-28"
|
||||
},
|
||||
"virtualjaguar": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "virtualjaguar-libretro",
|
||||
"rev": "48096c1f6f8b98cfff048a5cb4e6a86686631072",
|
||||
"hash": "sha256-DLBQQARHqupGGQS8YznDSSMuxQliyt5apGA4Ku2jlYo="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
},
|
||||
"yabause": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "yabause",
|
||||
"rev": "c35712c5ed33e18d77097f2059a036e19d1d66f2",
|
||||
"hash": "sha256-4/gxWNPkGKBf4ti7ZF4GXgng6ZPyM9prrvK0S5tZ6V8="
|
||||
},
|
||||
"version": "unstable-2024-10-21"
|
||||
}
|
||||
}
|
@ -1,19 +1,22 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, core
|
||||
, repo ? null # TODO: remove
|
||||
, makeWrapper
|
||||
, retroarchBare
|
||||
, zlib
|
||||
, makefile ? "Makefile.libretro"
|
||||
, extraBuildInputs ? [ ]
|
||||
, extraNativeBuildInputs ? [ ]
|
||||
# Location of resulting RetroArch core on $out
|
||||
, libretroCore ? "/lib/retroarch/cores"
|
||||
# The core filename is derivated from the core name
|
||||
# Setting `normalizeCore` to `true` will convert `-` to `_` on the core filename
|
||||
, normalizeCore ? true
|
||||
, ...
|
||||
{
|
||||
# Deps
|
||||
lib,
|
||||
stdenv,
|
||||
makeWrapper,
|
||||
retroarchBare,
|
||||
unstableGitUpdater,
|
||||
zlib,
|
||||
# Params
|
||||
core,
|
||||
makefile ? "Makefile.libretro",
|
||||
extraBuildInputs ? [ ],
|
||||
extraNativeBuildInputs ? [ ],
|
||||
## Location of resulting RetroArch core on $out
|
||||
libretroCore ? "/lib/retroarch/cores",
|
||||
## The core filename is derivated from the core name
|
||||
## Setting `normalizeCore` to `true` will convert `-` to `_` on the core filename
|
||||
normalizeCore ? true,
|
||||
...
|
||||
}@args:
|
||||
|
||||
let
|
||||
@ -24,62 +27,74 @@ let
|
||||
extraArgs = builtins.removeAttrs args [
|
||||
"lib"
|
||||
"stdenv"
|
||||
"core"
|
||||
"makeWrapper"
|
||||
"retroarch"
|
||||
"retroarchBare"
|
||||
"unstableGitUpdater"
|
||||
"zlib"
|
||||
|
||||
"core"
|
||||
"makefile"
|
||||
"extraBuildInputs"
|
||||
"extraNativeBuildInputs"
|
||||
"libretroCore"
|
||||
"normalizeCore"
|
||||
"makeFlags"
|
||||
"meta"
|
||||
];
|
||||
in
|
||||
stdenv.mkDerivation ({
|
||||
pname = "libretro-${core}";
|
||||
stdenv.mkDerivation (
|
||||
{
|
||||
pname = "libretro-${core}";
|
||||
|
||||
buildInputs = [ zlib ] ++ extraBuildInputs;
|
||||
nativeBuildInputs = [ makeWrapper ] ++ extraNativeBuildInputs;
|
||||
buildInputs = [ zlib ] ++ extraBuildInputs;
|
||||
nativeBuildInputs = [ makeWrapper ] ++ extraNativeBuildInputs;
|
||||
|
||||
inherit makefile;
|
||||
inherit makefile;
|
||||
|
||||
makeFlags = [
|
||||
"platform=${{
|
||||
linux = "unix";
|
||||
darwin = "osx";
|
||||
windows = "win";
|
||||
}.${stdenv.hostPlatform.parsed.kernel.name} or stdenv.hostPlatform.parsed.kernel.name}"
|
||||
"ARCH=${{
|
||||
armv7l = "arm";
|
||||
armv6l = "arm";
|
||||
aarch64 = "arm64";
|
||||
i686 = "x86";
|
||||
}.${stdenv.hostPlatform.parsed.cpu.name} or stdenv.hostPlatform.parsed.cpu.name}"
|
||||
] ++ (args.makeFlags or [ ]);
|
||||
makeFlags = [
|
||||
"platform=${
|
||||
{
|
||||
linux = "unix";
|
||||
darwin = "osx";
|
||||
windows = "win";
|
||||
}
|
||||
.${stdenv.hostPlatform.parsed.kernel.name} or stdenv.hostPlatform.parsed.kernel.name
|
||||
}"
|
||||
"ARCH=${
|
||||
{
|
||||
armv7l = "arm";
|
||||
armv6l = "arm";
|
||||
aarch64 = "arm64";
|
||||
i686 = "x86";
|
||||
}
|
||||
.${stdenv.hostPlatform.parsed.cpu.name} or stdenv.hostPlatform.parsed.cpu.name
|
||||
}"
|
||||
] ++ (args.makeFlags or [ ]);
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -Dt ${coreDir} ${coreFilename}
|
||||
makeWrapper ${retroarchBare}/bin/retroarch $out/bin/${mainProgram} \
|
||||
--add-flags "-L ${coreDir}/${coreFilename}"
|
||||
install -Dt ${coreDir} ${coreFilename}
|
||||
makeWrapper ${retroarchBare}/bin/retroarch $out/bin/${mainProgram} \
|
||||
--add-flags "-L ${coreDir}/${coreFilename}"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru = {
|
||||
inherit core libretroCore;
|
||||
updateScript = lib.mkIf (repo != null) [ ./update_cores.py repo ];
|
||||
} // (args.passthru or { });
|
||||
passthru = {
|
||||
inherit core libretroCore;
|
||||
updateScript = unstableGitUpdater { };
|
||||
} // (args.passthru or { });
|
||||
|
||||
meta = with lib; {
|
||||
inherit mainProgram;
|
||||
inherit (retroarchBare.meta) platforms;
|
||||
homepage = "https://www.libretro.com/";
|
||||
maintainers = with maintainers; teams.libretro.members ++ [ hrdinka ];
|
||||
} // (args.meta or { });
|
||||
} // extraArgs)
|
||||
meta =
|
||||
with lib;
|
||||
{
|
||||
inherit mainProgram;
|
||||
inherit (retroarchBare.meta) platforms;
|
||||
homepage = "https://www.libretro.com/";
|
||||
maintainers = with maintainers; teams.libretro.members;
|
||||
}
|
||||
// (args.meta or { });
|
||||
}
|
||||
// extraArgs
|
||||
)
|
||||
|
@ -1,233 +0,0 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -I nixpkgs=./ -i python3 -p "python3.withPackages (ps: with ps; [ ])" -p git -p nix-prefetch-github -p nix-prefetch-git -p nix-prefetch-scripts
|
||||
|
||||
import json
|
||||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
from concurrent.futures import ThreadPoolExecutor
|
||||
from pathlib import Path
|
||||
|
||||
SCRIPT_PATH = Path(__file__).absolute().parent
|
||||
HASHES_PATH = SCRIPT_PATH / "hashes.json"
|
||||
GET_REPO_THREADS = int(os.environ.get("GET_REPO_THREADS", 8))
|
||||
# To add a new core, add it to the dictionary below. You need to set at least
|
||||
# `repo`, that is the repository name if the owner of the repository is
|
||||
# `libretro` itself, otherwise also set `owner`.
|
||||
# You may set `deep_clone`, `fetch_submodules` or `leave_dot_git` options to
|
||||
# `True` and they're similar to `fetchgit` options. Also if for some reason you
|
||||
# need to pin a specific revision, set `rev` to a commit.
|
||||
# There is also a `fetcher` option that for now only supports `fetchFromGitHub`
|
||||
# (see `get_repo_hash()`), but it may be extended in the future if there is a
|
||||
# need to support fetchers from other source hubs.
|
||||
# To generate the hash file for your new core, you can run
|
||||
# `<nixpkgs>/pkgs/applications/emulators/retroarch/update_cores.py <core>`. Do
|
||||
# not forget to add your core to `cores.nix` file with the proper overrides so
|
||||
# the core can be build.
|
||||
CORES = {
|
||||
"2048": {"repo": "libretro-2048"},
|
||||
"atari800": {"repo": "libretro-atari800"},
|
||||
"beetle-gba": {"repo": "beetle-gba-libretro"},
|
||||
"beetle-lynx": {"repo": "beetle-lynx-libretro"},
|
||||
"beetle-ngp": {"repo": "beetle-ngp-libretro"},
|
||||
"beetle-pce": {"repo": "beetle-pce-libretro"},
|
||||
"beetle-pce-fast": {"repo": "beetle-pce-fast-libretro"},
|
||||
"beetle-pcfx": {"repo": "beetle-pcfx-libretro"},
|
||||
"beetle-psx": {"repo": "beetle-psx-libretro"},
|
||||
"beetle-saturn": {"repo": "beetle-saturn-libretro"},
|
||||
"beetle-supafaust": {"repo": "supafaust"},
|
||||
"beetle-supergrafx": {"repo": "beetle-supergrafx-libretro"},
|
||||
"beetle-vb": {"repo": "beetle-vb-libretro"},
|
||||
"beetle-wswan": {"repo": "beetle-wswan-libretro"},
|
||||
"blastem": {"repo": "blastem"},
|
||||
"bluemsx": {"repo": "bluemsx-libretro"},
|
||||
"bsnes": {"repo": "bsnes-libretro"},
|
||||
"bsnes-hd": {"repo": "bsnes-hd", "owner": "DerKoun"},
|
||||
"bsnes-mercury": {"repo": "bsnes-mercury"},
|
||||
"citra": {"repo": "citra", "fetch_submodules": True},
|
||||
"desmume": {"repo": "desmume"},
|
||||
"desmume2015": {"repo": "desmume2015"},
|
||||
"dolphin": {"repo": "dolphin"},
|
||||
"dosbox": {"repo": "dosbox-libretro"},
|
||||
"dosbox-pure": {"repo": "dosbox-pure", "owner": "schellingb"},
|
||||
# The EasyRPG core is pinned to 0.8 since it depends on version 0.8 of liblcf, which
|
||||
# was released in April 2023.
|
||||
# Update the version when a compatible liblcf is available.
|
||||
# See pkgs/games/easyrpg-player/default.nix for details.
|
||||
"easyrpg": {"repo": "Player", "owner": "EasyRPG", "fetch_submodules": True, "rev": "0.8"},
|
||||
"eightyone": {"repo": "81-libretro"},
|
||||
"fbalpha2012": {"repo": "fbalpha2012"},
|
||||
"fbneo": {"repo": "fbneo"},
|
||||
"fceumm": {"repo": "libretro-fceumm"},
|
||||
"flycast": {"repo": "flycast", "owner": "flyinghead", "fetch_submodules": True},
|
||||
"fmsx": {"repo": "fmsx-libretro"},
|
||||
"freeintv": {"repo": "freeintv"},
|
||||
"fuse": {"repo": "fuse-libretro"},
|
||||
"gambatte": {"repo": "gambatte-libretro"},
|
||||
"genesis-plus-gx": {"repo": "Genesis-Plus-GX"},
|
||||
"gpsp": {"repo": "gpsp"},
|
||||
"gw": {"repo": "gw-libretro"},
|
||||
"handy": {"repo": "libretro-handy"},
|
||||
"hatari": {"repo": "hatari"},
|
||||
# Setting fetch_submodules=True since libretro/mame constantly gives
|
||||
# different hashes for its tarballs, see:
|
||||
# - https://github.com/NixOS/nixpkgs/issues/259488#issuecomment-1751768379
|
||||
# - https://github.com/NixOS/nixpkgs/pull/303494
|
||||
"mame": {"repo": "mame", "fetch_submodules": True},
|
||||
"mame2000": {"repo": "mame2000-libretro"},
|
||||
"mame2003": {"repo": "mame2003-libretro"},
|
||||
"mame2003-plus": {"repo": "mame2003-plus-libretro"},
|
||||
"mame2010": {"repo": "mame2010-libretro"},
|
||||
"mame2015": {"repo": "mame2015-libretro"},
|
||||
"mame2016": {"repo": "mame2016-libretro"},
|
||||
"melonds": {"repo": "melonds"},
|
||||
"mesen": {"repo": "mesen"},
|
||||
"mesen-s": {"repo": "mesen-s"},
|
||||
"meteor": {"repo": "meteor-libretro"},
|
||||
"mrboom": {"repo": "mrboom-libretro", "owner": "Javanaise", "fetch_submodules": True},
|
||||
"mgba": {"repo": "mgba"},
|
||||
"mupen64plus": {"repo": "mupen64plus-libretro-nx"},
|
||||
"neocd": {"repo": "neocd_libretro"},
|
||||
"nestopia": {"repo": "nestopia"},
|
||||
"nxengine": {"repo": "nxengine-libretro"},
|
||||
"np2kai": {"repo": "NP2kai", "owner": "AZO234", "fetch_submodules": True},
|
||||
"o2em": {"repo": "libretro-o2em"},
|
||||
"opera": {"repo": "opera-libretro"},
|
||||
"parallel-n64": {"repo": "parallel-n64"},
|
||||
# libretro/lrps2 is a hard-fork of pcsx2 with simplified code to target
|
||||
# only libretro, while libretro/pcsx2 is supposedly closer to upstream but
|
||||
# it is a WIP.
|
||||
# TODO: switch to libretro/pcsx2 when upstream switches to it.
|
||||
"pcsx2": {"repo": "lrps2"},
|
||||
"pcsx_rearmed": {"repo": "pcsx_rearmed"},
|
||||
"picodrive": {"repo": "picodrive", "fetch_submodules": True},
|
||||
"play": {"repo": "Play-", "owner": "jpd002", "fetch_submodules": True},
|
||||
"ppsspp": {"repo": "ppsspp", "owner": "hrydgard", "fetch_submodules": True},
|
||||
"prboom": {"repo": "libretro-prboom"},
|
||||
"prosystem": {"repo": "prosystem-libretro"},
|
||||
"puae": {"repo": "libretro-uae"},
|
||||
"quicknes": {"repo": "QuickNES_Core"},
|
||||
"sameboy": {"repo": "sameboy"},
|
||||
"same_cdi": {"repo": "same_cdi"},
|
||||
# This is the old source code before they upstreamed the source code,
|
||||
# so now the libretro related code lives in the scummvm/scummvm repository.
|
||||
# However this broke the old way we were doing builds, so for now point
|
||||
# to a mirror with the old source code until this issue is fixed.
|
||||
# TODO: switch to libretro/scummvm since this is more up-to-date
|
||||
"scummvm": {"repo": "scummvm", "owner": "libretro-mirrors"},
|
||||
"smsplus-gx": {"repo": "smsplus-gx"},
|
||||
"snes9x": {"repo": "snes9x", "owner": "snes9xgit"},
|
||||
"snes9x2002": {"repo": "snes9x2002"},
|
||||
"snes9x2005": {"repo": "snes9x2005"},
|
||||
"snes9x2010": {"repo": "snes9x2010"},
|
||||
"stella": {"repo": "stella", "owner": "stella-emu"},
|
||||
"stella2014": {"repo": "stella2014-libretro"},
|
||||
"swanstation": {"repo": "swanstation"},
|
||||
"tgbdual": {"repo": "tgbdual-libretro"},
|
||||
"thepowdertoy": {"repo": "ThePowderToy"},
|
||||
"tic80": {"repo": "tic-80", "fetch_submodules": True},
|
||||
"vba-m": {"repo": "vbam-libretro"},
|
||||
"vba-next": {"repo": "vba-next"},
|
||||
"vecx": {"repo": "libretro-vecx"},
|
||||
"virtualjaguar": {"repo": "virtualjaguar-libretro"},
|
||||
"yabause": {"repo": "yabause"},
|
||||
}
|
||||
|
||||
|
||||
def info(*msg):
|
||||
print(*msg, file=sys.stderr)
|
||||
|
||||
|
||||
def get_repo_hash_fetchFromGitHub(
|
||||
repo,
|
||||
owner="libretro",
|
||||
deep_clone=False,
|
||||
fetch_submodules=False,
|
||||
leave_dot_git=False,
|
||||
rev=None,
|
||||
):
|
||||
extra_args = []
|
||||
if deep_clone:
|
||||
extra_args.append("--deep-clone")
|
||||
else:
|
||||
extra_args.append("--no-deep-clone")
|
||||
if fetch_submodules:
|
||||
extra_args.append("--fetch-submodules")
|
||||
else:
|
||||
extra_args.append("--no-fetch-submodules")
|
||||
if leave_dot_git:
|
||||
extra_args.append("--leave-dot-git")
|
||||
else:
|
||||
extra_args.append("--no-leave-dot-git")
|
||||
if rev:
|
||||
extra_args.append("--rev")
|
||||
extra_args.append(rev)
|
||||
try:
|
||||
result = subprocess.run(
|
||||
["nix-prefetch-github", owner, repo, "--meta", *extra_args],
|
||||
check=True,
|
||||
capture_output=True,
|
||||
text=True,
|
||||
)
|
||||
except subprocess.CalledProcessError as ex:
|
||||
info(f"Error while updating {owner}/{repo}:", ex.stderr)
|
||||
raise ex
|
||||
|
||||
j = json.loads(result.stdout)
|
||||
return {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
# Remove False values
|
||||
"src": {k: v for k, v in j["src"].items() if v},
|
||||
"version": f"unstable-{j['meta']['commitDate']}",
|
||||
}
|
||||
|
||||
|
||||
def get_repo_hash(fetcher="fetchFromGitHub", **kwargs):
|
||||
if fetcher == "fetchFromGitHub":
|
||||
return get_repo_hash_fetchFromGitHub(**kwargs)
|
||||
else:
|
||||
raise ValueError(f"Unsupported fetcher: {fetcher}")
|
||||
|
||||
|
||||
def get_repo_hashes(cores={}):
|
||||
def get_repo_hash_from_core_def(core_def):
|
||||
core, repo = core_def
|
||||
info(f"Getting repo hash for '{core}'...")
|
||||
result = core, get_repo_hash(**repo)
|
||||
info(f"Got repo hash for '{core}'!")
|
||||
return result
|
||||
|
||||
with open(HASHES_PATH) as f:
|
||||
repo_hashes = json.loads(f.read())
|
||||
|
||||
info(f"Running with {GET_REPO_THREADS} threads!")
|
||||
with ThreadPoolExecutor(max_workers=GET_REPO_THREADS) as executor:
|
||||
new_repo_hashes = executor.map(get_repo_hash_from_core_def, cores.items())
|
||||
|
||||
for core, repo in new_repo_hashes:
|
||||
repo_hashes[core] = repo
|
||||
|
||||
return repo_hashes
|
||||
|
||||
|
||||
def main():
|
||||
# If you don't want to update all cores, pass the name of the cores you
|
||||
# want to update on the command line. E.g.:
|
||||
# $ ./update.py citra snes9x
|
||||
if len(sys.argv) > 1:
|
||||
cores_to_update = sys.argv[1:]
|
||||
else:
|
||||
cores_to_update = CORES.keys()
|
||||
|
||||
cores = {core: repo for core, repo in CORES.items() if core in cores_to_update}
|
||||
repo_hashes = get_repo_hashes(cores)
|
||||
repo_hashes["!comment"] = "Generated with update_cores.py script, do not edit!"
|
||||
info(f"Generating '{HASHES_PATH}'...")
|
||||
with open(HASHES_PATH, "w") as f:
|
||||
f.write(json.dumps(dict(sorted(repo_hashes.items())), indent=4))
|
||||
f.write("\n")
|
||||
info("Finished!")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
Reference in New Issue
Block a user