libretro: updates (#373856)
This commit is contained in:
@@ -1,48 +1,51 @@
|
||||
{
|
||||
lib,
|
||||
cmake,
|
||||
fetchFromGitHub,
|
||||
boost,
|
||||
ffmpeg_6,
|
||||
gcc12Stdenv,
|
||||
libGL,
|
||||
libGLU,
|
||||
libX11,
|
||||
mkLibretroCore,
|
||||
nasm,
|
||||
}:
|
||||
mkLibretroCore rec {
|
||||
mkLibretroCore {
|
||||
core = "citra";
|
||||
version = "0-unstable-2024-04-01";
|
||||
version = "0-unstable-2024-12-03";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "citra";
|
||||
# TODO: upstream migrated to cmake, this is the latest rev without it
|
||||
rev = "36b600692905ebd457cbc9321e2f521938eced16";
|
||||
hash = "sha256-ZJcsdFgLBda4xS4Z6I8Pu+6B9TYwak//0CbloDK3Yg0=";
|
||||
rev = "a31aff7e1a3a66f525b9ea61633d2c5e5b0c8b31";
|
||||
hash = "sha256-HlhY4AeFQSabrmPQWLygjPGTWkIh0U0Hv1Fv4YFu9xg=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
makefile = "Makefile";
|
||||
makeFlags = [
|
||||
"HAVE_FFMPEG_STATIC=0"
|
||||
# https://github.com/libretro/citra/blob/1a66174355b5ed948de48ef13c0ed508b6d6169f/Makefile#L87-L90
|
||||
"GIT_REV=${src.rev}"
|
||||
"GIT_DESC=${lib.substring 0 7 src.rev}"
|
||||
"GIT_BRANCH=master"
|
||||
"BUILD_DATE=01/01/1970_00:00"
|
||||
];
|
||||
|
||||
extraBuildInputs = [
|
||||
boost
|
||||
ffmpeg_6
|
||||
libGL
|
||||
libGLU
|
||||
nasm
|
||||
libX11
|
||||
];
|
||||
|
||||
# FIXME: build fail with GCC13:
|
||||
# error: 'mic_device_name' has incomplete type
|
||||
stdenv = gcc12Stdenv;
|
||||
extraNativeBuildInputs = [ cmake ];
|
||||
|
||||
# This changes `ir/opt` to `ir/var/empty` in `externals/dynarmic/src/dynarmic/CMakeLists.txt`
|
||||
# making the build fail, as that path does not exist
|
||||
dontFixCmake = true;
|
||||
|
||||
# https://github.com/libretro/citra/blob/a31aff7e1a3a66f525b9ea61633d2c5e5b0c8b31/.gitlab-ci.yml#L6
|
||||
cmakeFlags = [
|
||||
(lib.cmakeBool "ENABLE_TESTS" false)
|
||||
(lib.cmakeBool "ENABLE_DEDICATED_ROOM" false)
|
||||
(lib.cmakeBool "ENABLE_SDL2" false)
|
||||
(lib.cmakeBool "ENABLE_QT" false)
|
||||
(lib.cmakeBool "ENABLE_WEB_SERVICE" false)
|
||||
(lib.cmakeBool "ENABLE_SCRIPTING" false)
|
||||
(lib.cmakeBool "ENABLE_OPENAL" false)
|
||||
(lib.cmakeBool "ENABLE_LIBUSB" false)
|
||||
(lib.cmakeBool "CITRA_ENABLE_BUNDLE_TARGET" false)
|
||||
(lib.cmakeBool "CITRA_WARNINGS_AS_ERRORS" false)
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Port of Citra to libretro";
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "dosbox-pure";
|
||||
version = "0-unstable-2024-12-31";
|
||||
version = "0-unstable-2025-01-12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "schellingb";
|
||||
repo = "dosbox-pure";
|
||||
rev = "9e468f0087454c6c1b68975ead933977d5cf33b2";
|
||||
hash = "sha256-tiyDXxwZapu+Ol1icOeemVQ5oAjMMx2/M4nA0CiRkMY=";
|
||||
rev = "e69a36a83c09f6660f7683d64eb8077a2da9a487";
|
||||
hash = "sha256-QiwkWP6fHiGASN1SpLY+pSJVsu3TsENj7oAM4pCXnsk=";
|
||||
};
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "fbneo";
|
||||
version = "0-unstable-2025-01-06";
|
||||
version = "0-unstable-2025-01-13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "fbneo";
|
||||
rev = "b8780c057029db8768c9a057b0bc28f9a12609d8";
|
||||
hash = "sha256-cK3ILA0Ape6rHf5dPbXOMmQ69ZPZ/qrxeKYA1LniBEk=";
|
||||
rev = "274cdf95a16981c130015a8b4808a95ef5b46203";
|
||||
hash = "sha256-BS+Siam2jz6mFDz0mtvWH3+Is3Il78UbWkCh2f+DSAE=";
|
||||
};
|
||||
|
||||
makefile = "Makefile";
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "flycast";
|
||||
version = "0-unstable-2025-01-09";
|
||||
version = "0-unstable-2025-01-10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "flyinghead";
|
||||
repo = "flycast";
|
||||
rev = "3114344414dbd8fb08efe1d6a25dbae457a2ec44";
|
||||
hash = "sha256-UgH8L02WkAPaMMUnes6GYLjRbkuY8+9b6LCGaaQWhjQ=";
|
||||
rev = "2e8984804170afce31a6d85e10ee4e153bbfb5aa";
|
||||
hash = "sha256-jOOfYZ33SZM39vaJ/OqL7OpvIjuYoSewspOWNVTOBdk=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "mame2003-plus";
|
||||
version = "0-unstable-2025-01-10";
|
||||
version = "0-unstable-2025-01-13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "mame2003-plus-libretro";
|
||||
rev = "61305d60329d6a9abf7ddad1c3657b3253c5e64d";
|
||||
hash = "sha256-fLThBOHkX0dV0zjDuJIh1ILpWi2FNV9oOXRH4ApcGbs=";
|
||||
rev = "0fcccae96eb722d58be329977eb49173c5c97981";
|
||||
hash = "sha256-Dt9MVWSe9ykNUasEgANsKYuXdqD3cGuM5jQCyD1iSY0=";
|
||||
};
|
||||
|
||||
makefile = "Makefile";
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "mgba";
|
||||
version = "0-unstable-2024-11-12";
|
||||
version = "0-unstable-2025-01-14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "mgba";
|
||||
rev = "747362c02d2e71ee7c363e8dcb240925be8af906";
|
||||
hash = "sha256-dBhdS6C1H02iwdYDVvJmkPWob81vpmQJdHUHJFAq2vo=";
|
||||
rev = "72b5a9d3c4945c381d3230d59ea484729bcfe6c7";
|
||||
hash = "sha256-90APQtjwYh/KPrvvlnVU+3G45gaibpOEBf9MoVWOzDI=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "pcsx-rearmed";
|
||||
version = "0-unstable-2025-01-09";
|
||||
version = "0-unstable-2025-01-14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "pcsx_rearmed";
|
||||
rev = "c5d1f1dd5e304dfcba2adf0de8aa9188ca35fad3";
|
||||
hash = "sha256-4stYqeGrKtNtjbhoG8IriV41xq3urH9QMNnqYMQ7CxQ=";
|
||||
rev = "9fec7ce05906838a4682dd0a83d0e7d6ac0336fa";
|
||||
hash = "sha256-1t6mXucg2/2hqyM4Id5Ze2Ry5U2rWMw2ce9mPAJur8k=";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "pcsx2";
|
||||
version = "0-unstable-2025-01-09";
|
||||
version = "0-unstable-2025-01-12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "ps2";
|
||||
rev = "397b8f54b92aeffd2dd502c2c9b601305fb1de9d";
|
||||
hash = "sha256-zP4gOxAAWqgmGkilVijY2GF6awD7cbMICfxYSsI1wa0=";
|
||||
rev = "3fda2d1bb58564e2c814289036a7e4b10bf53357";
|
||||
hash = "sha256-06cbF/Mhq2Gf87EQBiptHzqayOm0BA1c2dx6fu795RI=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -14,13 +14,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "play";
|
||||
version = "0-unstable-2025-01-09";
|
||||
version = "0-unstable-2025-01-11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jpd002";
|
||||
repo = "Play-";
|
||||
rev = "2958fa6c5ada62a3150513e4d8b6c4343c1cfbb8";
|
||||
hash = "sha256-beo3tOUW62tiZISdAAGdeSVrS8w1l8x+JIi0nDDl5wA=";
|
||||
rev = "b35ef5663b809a449a4c89f6e9808fd0a63e7e49";
|
||||
hash = "sha256-P3R8gV4LxorfW0qo8HVOZunK58+/SO5pvlmij/HlnKw=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "ppsspp";
|
||||
version = "0-unstable-2025-01-10";
|
||||
version = "0-unstable-2025-01-14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hrydgard";
|
||||
repo = "ppsspp";
|
||||
rev = "aa752ade6c99ec6db4c7f7cbc6c1133738005c5f";
|
||||
hash = "sha256-zbDXAI3VnpPQbPMAN1ie5nPFCNzBQif1S1nZnar4fvg=";
|
||||
rev = "841eb115e224dcdaa4b97f33ee0126fa00149c2a";
|
||||
hash = "sha256-QnD13GxwW+B5ZdRRBhBwxUELwCwrlBsxBO0//elIfM4=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -1,42 +1,63 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
fluidsynth,
|
||||
libGL,
|
||||
libGLU,
|
||||
libjpeg,
|
||||
libvorbis,
|
||||
which,
|
||||
zip,
|
||||
mkLibretroCore,
|
||||
}:
|
||||
let
|
||||
# https://github.com/libretro/scummvm/blob/master/backends/platform/libretro/dependencies.mk#L8-L14
|
||||
libretro-common-src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "libretro-common";
|
||||
rev = "70ed90c42ddea828f53dd1b984c6443ddb39dbd6";
|
||||
hash = "sha256-ItsUNbJCK/m/3VprK/zHD2UF5MhPC8b7jM3qS/oHU2A=";
|
||||
};
|
||||
|
||||
libretro-deps-src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "libretro-deps";
|
||||
rev = "abf5246b016569759e7d1b0ea91bb98c2e34d160";
|
||||
hash = "sha256-tdGytbSNMCfMuXIAUunOSVw9qFq2rRaruELhZwEmhWE=";
|
||||
};
|
||||
in
|
||||
mkLibretroCore {
|
||||
core = "scummvm";
|
||||
version = "0-unstable-2022-04-06";
|
||||
version = "0-unstable-2024-12-03";
|
||||
|
||||
# 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
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro-mirrors";
|
||||
owner = "libretro";
|
||||
repo = "scummvm";
|
||||
rev = "2fb2e4c551c9c1510c56f6e890ee0300b7b3fca3";
|
||||
hash = "sha256-wrlFqu+ONbYH4xMFDByOgySobGrkhVc7kYWI4JzA4ew=";
|
||||
rev = "7310d4e9f5d11553c6c5499911bd2f9b8ff3db3b";
|
||||
hash = "sha256-h+tnwayBhzBQrg5x1rxIJASAS43SP8emTATDG2N3ePk=";
|
||||
};
|
||||
|
||||
extraBuildInputs = [
|
||||
fluidsynth
|
||||
libjpeg
|
||||
libvorbis
|
||||
libGLU
|
||||
libGL
|
||||
libGLU
|
||||
zip
|
||||
];
|
||||
|
||||
extraNativeBuildInputs = [ which ];
|
||||
|
||||
preConfigure = "cd backends/platform/libretro";
|
||||
|
||||
preBuild = ''
|
||||
mkdir -p deps/libretro-{common,deps}
|
||||
cp -a ${libretro-common-src}/* deps/libretro-common
|
||||
cp -a ${libretro-deps-src}/* deps/libretro-deps
|
||||
chmod -R u+w deps/
|
||||
|
||||
patchShebangs ./scripts/*
|
||||
'';
|
||||
|
||||
makefile = "Makefile";
|
||||
preConfigure = "cd backends/platform/libretro/build";
|
||||
|
||||
meta = {
|
||||
description = "Libretro port of ScummVM";
|
||||
homepage = "https://github.com/libretro-mirrors/scummvm";
|
||||
homepage = "https://github.com/libretro/scummvm";
|
||||
license = lib.licenses.gpl2Only;
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user