Merge pull request #206707 from thiagokokada/retroarch-assets-init

retroarch: add with{Assets,CoreInfo} options, libretro: unstable-2022-11-21 -> unstable-2022-12-20
This commit is contained in:
Thiago Kenji Okada 2022-12-22 17:31:49 +00:00 committed by GitHub
commit 6f7c9f7d7c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 202 additions and 78 deletions

View File

@ -49,7 +49,7 @@ let
mkLibretroCore =
{ core
, src ? (getCoreSrc core)
, version ? "unstable-2022-11-21"
, version ? "unstable-2022-12-20"
, ...
}@args:
import ./mkLibretroCore.nix ({

View File

@ -2,6 +2,8 @@
, stdenv
, nixosTests
, enableNvidiaCgToolkit ? false
, withAssets ? false
, withCoreInfo ? false
, withGamemode ? stdenv.isLinux
, withVulkan ? stdenv.isLinux
, withWayland ? stdenv.isLinux
@ -25,11 +27,12 @@
, libxml2
, libXxf86vm
, makeWrapper
, mbedtls
, mbedtls_2
, mesa
, nvidia_cg_toolkit
, pkg-config
, python3
, retroarch-assets
, SDL2
, substituteAll
, udev
@ -54,12 +57,16 @@ stdenv.mkDerivation rec {
rev = "v${version}";
};
patches = [
patches = lib.optional withAssets
(substituteAll {
src = ./move-retroarch-assets-to-retroarch_assets_path.patch;
retroarch_assets_path = retroarch-assets;
})
++ lib.optional withCoreInfo
(substituteAll {
src = ./use-fixed-path-for-libretro_core_info.patch;
libretro_info_path = libretro-core-info;
})
];
});
nativeBuildInputs = [ pkg-config ] ++
lib.optional withWayland wayland ++
@ -72,7 +79,7 @@ stdenv.mkDerivation rec {
libGL
libGLU
libxml2
mbedtls
mbedtls_2
python3
SDL2
zlib
@ -100,9 +107,16 @@ stdenv.mkDerivation rec {
configureFlags = [
"--disable-update_cores"
"--disable-builtinmbedtls"
"--enable-systemmbedtls"
"--disable-builtinzlib"
"--disable-builtinflac"
] ++
lib.optionals withAssets [
"--disable-update_assets"
# TODO: investigate why we also need this patch:
# ./move-retroarch-assets-to-retroarch_assets_path.patch
"--with-assets_dir=${retroarch-assets}"
] ++
lib.optionals stdenv.isLinux [
"--enable-dbus"
"--enable-egl"

View File

@ -14,8 +14,8 @@
"beetle-lynx": {
"owner": "libretro",
"repo": "beetle-lynx-libretro",
"rev": "3d2fcc5a555bea748b76f92a082c40227dff8222",
"sha256": "PpFLi9DIvv8igtAqDPkLfH1CjkbeOumcpNCP7K9C1PY="
"rev": "9c48124dc15604b3eb6892e3616dfb77992a6fd6",
"sha256": "ZXFU4QmjVQVU5bE5TVmGm4gepZpuoS8+p60l+Ha4I9s="
},
"beetle-ngp": {
"owner": "libretro",
@ -26,26 +26,26 @@
"beetle-pce-fast": {
"owner": "libretro",
"repo": "beetle-pce-fast-libretro",
"rev": "cc248db4d2f47d0f255fbc1a3c651df4beb3d835",
"sha256": "euoNldhyEPfC9EgEX201mpSjns2qbCIAow0zmMKTnaE="
"rev": "d4fa4480f17f067c3aba25380717a5aee059f026",
"sha256": "t7OJuqEWec3GvNq9dsmrRhgz+GybBzt1ZO6FwZ9L5yE="
},
"beetle-pcfx": {
"owner": "libretro",
"repo": "beetle-pcfx-libretro",
"rev": "08632fcbc039f70dbd6da5810db9dcc304d7fbde",
"sha256": "G+OUs6k8dwH4BK+0X/g47wbY7Dpb3lT5TslLwPWq6g4="
"rev": "af16dfd8353ed6cf76ef381b98a6a9abf59051ec",
"sha256": "snAA5PCU2NRsCiQtBRYEzczPSGG9OT2jDTrGaPZqhic="
},
"beetle-psx": {
"owner": "libretro",
"repo": "beetle-psx-libretro",
"rev": "798fab9d5bc82dde26442d9b4861d377d4689e31",
"sha256": "wHCUSMdPbIudmNm4XXW/zH6TDz7x9DrMNV/L8H3aO/w="
"rev": "3827fb4bd0d36f0db7b59e0c220524c7daaf0430",
"sha256": "CGNzb6XDPsp+EitkgyvDha9DoZSy+e9JWye0nmCiOns="
},
"beetle-saturn": {
"owner": "libretro",
"repo": "beetle-saturn-libretro",
"rev": "054862a4ccb9b2f1bad9e5b075fc3d1116dc8055",
"sha256": "oL9YPvDGkUs0Tm/rNznnV+Tg5mcvqs1VcGVmz/fDHmw="
"rev": "19ce186783174b93b90845c3f0e1fa1694904912",
"sha256": "mEuv9lrDi/q2ASV9hxYptievupcv4PfUWPYlDcNzXQg="
},
"beetle-snes": {
"owner": "libretro",
@ -56,26 +56,26 @@
"beetle-supafaust": {
"owner": "libretro",
"repo": "supafaust",
"rev": "85b5527231a6ad6f9475c15c8ff1b9d16884cd30",
"sha256": "6ynxRfGYlp7Fuq3XT2uHsR9Uwu7WMIYjclLc0Pf/qNM="
"rev": "75c658cce454e58ae04ea252f53a31c60d61548e",
"sha256": "2fXarVfb5/SYXF8t25/fGNFvODpGas5Bi0hLIbXgB+0="
},
"beetle-supergrafx": {
"owner": "libretro",
"repo": "beetle-supergrafx-libretro",
"rev": "3cfafe8c684a2f4f4532bcf18e25d2f8760ca45d",
"sha256": "hIBUMpXgX5zPi/W1vAhkuxprGfZQ/K5ZrtiswV36EMQ="
"rev": "787772dff157c8fe54b2e16bb770f2c344c8932b",
"sha256": "i4SnjIqA0U88FnaT7fz5fqMyp8FyfNvxxhflOaAv1mA="
},
"beetle-vb": {
"owner": "libretro",
"repo": "beetle-vb-libretro",
"rev": "162918f06d9a705330b2ba128e0d3b65fd1a1bcc",
"sha256": "BtrdDob+B5g8Lq93LUhF7E0uWFUIMZneWFgH0VcsgPE="
"rev": "3e845666d7ce235a071eb306e94074f1a72633bf",
"sha256": "ukKzG+O2o6EAF0l7cmMQOkemJ1oweIpRH5rle1gqaFk="
},
"beetle-wswan": {
"owner": "libretro",
"repo": "beetle-wswan-libretro",
"rev": "16d96f64a32cbe1fa89c40b142298dbd007f2f4d",
"sha256": "LBtOQfVvP70OB6qMnFXtWdJUu7CkkMfSQ0iPGhe7xeI="
"rev": "cccee4217e53e164fd70196e56dfb24b967e5fd8",
"sha256": "RpGYQwDWkfYY0qnrTuAMzVuOSfTX5AZph7FD8ijUggc="
},
"blastem": {
"owner": "libretro",
@ -92,8 +92,8 @@
"bsnes": {
"owner": "libretro",
"repo": "bsnes-libretro",
"rev": "7679cb9618c37c9044158d5cf3da28ef25afa9af",
"sha256": "9ozzXvCAuafcZn9iq91tTq16e2mlYqjwauJUGSbFd+k="
"rev": "dabf6679024124b2f819c79f279dbb85a5263255",
"sha256": "iv8gxC48i8JMzby3vR4eYDViqCwSf8JGlPekQE6AF4c="
},
"bsnes-hd": {
"owner": "DerKoun",
@ -110,8 +110,8 @@
"citra": {
"owner": "libretro",
"repo": "citra",
"rev": "70bf7d8a63b0b501e8f5cff89a86a3e2d4083aa0",
"sha256": "uHWROH6/ZAZygkhEQGNyllncCp2XDCdYwy/CKgGKAcM=",
"rev": "f0b09a5c0cb3767d43f5f8ca12a783012298fd44",
"sha256": "v86R5TLmNNMhuTMCwU3mAAtLK5H0sP//soh4x+cFgTQ=",
"fetchSubmodules": true
},
"desmume": {
@ -129,8 +129,8 @@
"dolphin": {
"owner": "libretro",
"repo": "dolphin",
"rev": "a8188dbc4e63d6c0867ed2196f5125130955f012",
"sha256": "gf9OjeDazDPDnQ9S2+hV4CNxPAkCCaEhJDZF97a1//U="
"rev": "2f4b0f7902257d40a054f60b2c670d6e314f2a04",
"sha256": "9WYWbLehExYbPmGJpguhVFXqFJ9aR6VxzFVChd4QOEg="
},
"dosbox": {
"owner": "libretro",
@ -153,8 +153,8 @@
"fbneo": {
"owner": "libretro",
"repo": "fbneo",
"rev": "a12455af75e60765da134b83051700e0fbe3803a",
"sha256": "ujO9KVn7o6xueeEr5GHfOy7NimwNIvYxgMM9xJvtjvo="
"rev": "ef17049274a21239e5f21198b026dacbb38d7b90",
"sha256": "2N7c5L9grp+Rkhj25SoB9K9rVHq4H9IzU2KSeb1O7/E="
},
"fceumm": {
"owner": "libretro",
@ -189,8 +189,8 @@
"genesis-plus-gx": {
"owner": "libretro",
"repo": "Genesis-Plus-GX",
"rev": "3abf975785fe77267a399cc583ccf1469e081b86",
"sha256": "QdiWKS7j80Sw0L+hf6efmQ40lQi/f95pFLQfoohoUKg="
"rev": "74a2f6521aea975a51f99497b57c5db500d61ed9",
"sha256": "qTNbFXg5QFKSzMOWhDdDfc0FinF/D7n2OruG5zv+ANY="
},
"gpsp": {
"owner": "libretro",
@ -219,8 +219,8 @@
"mame": {
"owner": "libretro",
"repo": "mame",
"rev": "57622367cb780013690d6ef23b2066b500f6ce92",
"sha256": "0iR1JGAhwYXXLnv8BDW1bsxfFywEI82aov2+MHw5w6Q="
"rev": "85581d60bb24fea14542b154aef2c7b624f5b60f",
"sha256": "AUqJAXJCvddv9vPqXt5EZncKNdeLaXoc6xhYWqOMebY="
},
"mame2000": {
"owner": "libretro",
@ -231,14 +231,14 @@
"mame2003": {
"owner": "libretro",
"repo": "mame2003-libretro",
"rev": "dbdda8e7189d63061ac42f502c0cd2dc7f1f8651",
"sha256": "XED/gunYOc+NnQ8YORw/ALP2eCTyvRdIxPiFpNf5nuA="
"rev": "b1cc49cf1d8bbef88b890e1c2a315a39d009171b",
"sha256": "bc4uER92gHf20JjR/Qcetvlu89ZmldJ1DiQphJZt/EA="
},
"mame2003-plus": {
"owner": "libretro",
"repo": "mame2003-plus-libretro",
"rev": "5dd4a30500edc0b00c712750093aa287c9bb4ce2",
"sha256": "Nvm5U6rpsDZdUJONtvZ6YmztuupLaXz2QT0SBJtzO/4="
"rev": "3249de7ceaaa92ee18e93cbd8c2ace9f1ee34c08",
"sha256": "mBF1j4em4e/fKEmPA8MmAZrXXYQiqFfAloOHdMbVq+k="
},
"mame2010": {
"owner": "libretro",
@ -261,14 +261,14 @@
"melonds": {
"owner": "libretro",
"repo": "melonds",
"rev": "5e52c245fb38cabe881fbfa6513280ee44fc5bd8",
"sha256": "jWBZ5wg1dKEgoEV09VTGJ+I4+8uiivAHhpTiD9tPaYg="
"rev": "0e1f06da626cbe67215c3f06f6bdf510dd4e4649",
"sha256": "ax9Vu8+1pNAHWPXrx5QA0n5EsmaJ2T7KJ5Otz8DSZwM="
},
"mesen": {
"owner": "libretro",
"repo": "mesen",
"rev": "9b412c1533a6d7eec7b2904775cbd26c21f02119",
"sha256": "Tf+lWfSU7AuW6Um5TXkWNAeg35W08YkYQwW0Yx3iNTM="
"rev": "c89474c9d87df967d21b7b7d5971dc9475fec028",
"sha256": "cnPNBWXbnCpjgW/wJIboiRBzv3zrHWxpNM1kg09ShLU="
},
"mesen-s": {
"owner": "libretro",
@ -291,20 +291,20 @@
"mupen64plus": {
"owner": "libretro",
"repo": "mupen64plus-libretro-nx",
"rev": "1b67122ff6a923c93a56ff94273e3768a6da5dff",
"sha256": "qORxhy7hXVdGUkQumOmGVXnF1kW0BShMNBVlaRu3a1w="
"rev": "bc241538b9ef85d8b22c392d7699dc73f460e283",
"sha256": "eCosI2yL1HJpHWvZLYZQe6+1rmmyHLFYCY7bX+3hPec="
},
"neocd": {
"owner": "libretro",
"repo": "neocd_libretro",
"rev": "b7d96e794f2dfa500cba46c78cbc3c28349cfd05",
"sha256": "TG5xIqIM0MlHDNtPhyISqo/ctTqemKROwXgoqUsCQ0E="
"rev": "53f5453311a1ac43700fedb2317c810586f9ccf5",
"sha256": "BZBpojShHk+j5wz/d7FnykpX562TgH6PAqTUigE+zUU="
},
"nestopia": {
"owner": "libretro",
"repo": "nestopia",
"rev": "5c360e55d5437ecd3520568ee44cf1af63d4696a",
"sha256": "+1QQc4gVZ5ZHt/I0bjRkW+kbPaeGUNrjbrzUoVz4drM="
"rev": "d30c55052292826836f6dbaa2adc46fdf1a2d93c",
"sha256": "R2Kbtr2EqNUyx5eGBYyyw/ugSxVRM70TP/IsIsU0EZM="
},
"np2kai": {
"owner": "AZO234",
@ -340,34 +340,34 @@
"pcsx2": {
"owner": "libretro",
"repo": "pcsx2",
"rev": "ad7650949e6c8c87cd2c5e278af88e3722a321bc",
"sha256": "iqXCW28werxbZNo1hlDLiD3ywSZ9hvWmxwGPJ5bRZ+w="
"rev": "d2e37b80cfe6f6eecfe0356c7537d8e98bee7a8d",
"sha256": "rHXJG2wGoyNGvxxeZVF/I1CpaSBPUwZNERJtkG/z7MU="
},
"pcsx_rearmed": {
"owner": "libretro",
"repo": "pcsx_rearmed",
"rev": "a4e249a1373cf6269e1e4e0d60105e72210e67d3",
"sha256": "NOz2NQonVWEhEhAgSFHSWv6bmuTPcw0R9ihISlGwkb0="
"rev": "aced3eb3fcaa0fe13c44c4dd196cdab42555fd98",
"sha256": "RzcrSADagi3AIPINQxc36BfMjWjatP/JL6HY744XnZk="
},
"picodrive": {
"owner": "libretro",
"repo": "picodrive",
"rev": "0a4ec83cbfaebb65fb1c40f26ffaf28131f9003b",
"sha256": "NOMQoDmXGrxrquAcSLo6Otcz8bH4gnhqcG/zzet3Dtk=",
"rev": "62873cab5366999207c197e9f55987daee10be4a",
"sha256": "YErmanNczeh6BeanCGllwOoTjXO+9At8l/o4UhIek4o=",
"fetchSubmodules": true
},
"play": {
"owner": "jpd002",
"repo": "Play-",
"rev": "ad3b855c6d8cc62c85e2a5d2f659159fdfaa8d80",
"sha256": "+uTf/xv2JHuNGx0bxFNXf0akRzonzRMT7gSvT2n12+o=",
"rev": "0483fc43da01b5b29883acb2cf1d02d33bba1e30",
"sha256": "OxBQFTQP0L8k0lH88Ey6KWybW912Ehsv7XjWrvFivxo=",
"fetchSubmodules": true
},
"ppsspp": {
"owner": "hrydgard",
"repo": "ppsspp",
"rev": "e654f6937a02f4a2ac8cce3574ab4f2db99f77d4",
"sha256": "LTqRA3KMV/VuQH0eTWjpOqy0U944c4ofPNEsexf93Kc=",
"rev": "1fa2f7a97191d2a73f243bfc464edef69b26f652",
"sha256": "BDX2eHtFbsloC9XYORHwpix8tbRSQUbcoP7DKFIohW4=",
"fetchSubmodules": true
},
"prboom": {
@ -385,8 +385,8 @@
"puae": {
"owner": "libretro",
"repo": "libretro-uae",
"rev": "d9a8dfbde7f6967fea3cffe09cd87e1d79a1a3fd",
"sha256": "uMn9ejknjwGmbc0JOu/xl30z3ff7vpxtA3qr2sv0glI="
"rev": "af9e35383c00980aabb38c929e679704b624dee0",
"sha256": "hp4XOQUKktmUfLtRfVv1Oe1vqHUYu+vagxSSef55APs="
},
"quicknes": {
"owner": "libretro",
@ -439,8 +439,8 @@
"stella": {
"owner": "stella-emu",
"repo": "stella",
"rev": "fa49e034101a22344c7bd01648d514b6cc61ac7f",
"sha256": "Svv+j7/9PvZ6djk2kfpbr9iUC8xqX8B4Plnf43Hj62A="
"rev": "82da36dd685c68b09047d7c835175879edb68653",
"sha256": "y7AOSY2VUe4Jv+wteplvA1ul5iXHoeYQhgycD+nfIuc="
},
"stella2014": {
"owner": "libretro",
@ -451,8 +451,8 @@
"swanstation": {
"owner": "libretro",
"repo": "swanstation",
"rev": "27a224fc9e86e0f061504878d1c0cbf3fd6891af",
"sha256": "5kW9/4gMfyvo3ExlJVivx8LhW5as3Mq5fhlNrIFDUVM="
"rev": "f2e335bfd4751410dfb24d933f762b9a4fd7fdeb",
"sha256": "l3A1Xb6YD+OOTZEF6whst1Kr8fSRnXuIVIUN1BCa2Bw="
},
"tgbdual": {
"owner": "libretro",

View File

@ -0,0 +1,60 @@
From b3ccf05014f4a79800d8bed05b0dcfdc010e191c Mon Sep 17 00:00:00 2001
From: Thiago Kenji Okada <thiagokokada@gmail.com>
Date: Sun, 18 Dec 2022 22:06:48 +0000
Subject: [PATCH 2/2] Move retroarch assets path to @retroarch_assets_path@
---
configuration.c | 2 +-
frontend/drivers/platform_unix.c | 16 ++++++++--------
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/configuration.c b/configuration.c
index 06a99236c2..15b575d8a2 100644
--- a/configuration.c
+++ b/configuration.c
@@ -1539,7 +1539,7 @@ static struct config_path_setting *populate_settings_path(
SETTING_PATH("core_assets_directory",
settings->paths.directory_core_assets, true, NULL, true);
SETTING_PATH("assets_directory",
- settings->paths.directory_assets, true, NULL, true);
+ settings->paths.directory_assets, true, NULL, false);
SETTING_PATH("dynamic_wallpapers_directory",
settings->paths.directory_dynamic_wallpapers, true, NULL, true);
SETTING_PATH("thumbnails_directory",
diff --git a/frontend/drivers/platform_unix.c b/frontend/drivers/platform_unix.c
index 43ea5f80c9..01b6cccbcc 100644
--- a/frontend/drivers/platform_unix.c
+++ b/frontend/drivers/platform_unix.c
@@ -1778,21 +1778,21 @@ static void frontend_unix_get_env(int *argc,
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG], base_path,
"autoconfig", sizeof(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG]));
- if (path_is_directory("/usr/local/share/retroarch/assets"))
+ if (path_is_directory("@retroarch_assets_path@/local/share/retroarch/assets"))
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS],
- "/usr/local/share/retroarch",
+ "@retroarch_assets_path@/local/share/retroarch",
"assets", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS]));
- else if (path_is_directory("/usr/share/retroarch/assets"))
+ else if (path_is_directory("@retroarch_assets_path@/share/retroarch/assets"))
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS],
- "/usr/share/retroarch",
+ "@retroarch_assets_path@/share/retroarch",
"assets", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS]));
- else if (path_is_directory("/usr/local/share/games/retroarch/assets"))
+ else if (path_is_directory("@retroarch_assets_path@/local/share/games/retroarch/assets"))
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS],
- "/usr/local/share/games/retroarch",
+ "@retroarch_assets_path@/local/share/games/retroarch",
"assets", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS]));
- else if (path_is_directory("/usr/share/games/retroarch/assets"))
+ else if (path_is_directory("@retroarch_assets_path@/share/games/retroarch/assets"))
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS],
- "/usr/share/games/retroarch",
+ "@retroarch_assets_path@/share/games/retroarch",
"assets", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS]));
else
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS], base_path,
--
2.38.1

View File

@ -0,0 +1,33 @@
{ lib
, stdenvNoCC
, fetchFromGitHub
}:
stdenvNoCC.mkDerivation rec {
pname = "retroarch-assets";
version = "unstable-2022-10-24";
src = fetchFromGitHub {
owner = "libretro";
repo = "retroarch-assets";
rev = "4ec80faf1b5439d1654f407805bb66141b880826";
hash = "sha256-j1npVKEknq7hpFr/XfST2GNHI5KnEYjZAM0dw4tMsYk=";
};
makeFlags = [
"PREFIX=$(out)"
# By default install in $(PREFIX)/share/libretro/assets
# that is not in RetroArch's assets path
"INSTALLDIR=$(PREFIX)/share/retroarch/assets"
];
dontBuild = true;
meta = with lib; {
description = "Assets needed for RetroArch";
homepage = "https://libretro.com";
license = licenses.mit;
maintainers = with maintainers; teams.libretro.members ++ [ ];
platforms = platforms.all;
};
}

View File

@ -2,12 +2,15 @@
#!nix-shell -I nixpkgs=../../../../ -i python3 -p "python3.withPackages (ps: with ps; [ requests nix-prefetch-github ])" -p "git"
import json
import sys
import os
import subprocess
import sys
from pathlib import Path
from concurrent.futures import ThreadPoolExecutor
SCRIPT_PATH = Path(__file__).absolute().parent
HASHES_PATH = SCRIPT_PATH / "hashes.json"
GET_REPO_THREADS = int(os.environ.get("GET_REPO_THREADS", 8))
CORES = {
"atari800": {"repo": "libretro-atari800"},
"beetle-gba": {"repo": "beetle-gba-libretro"},
@ -27,7 +30,7 @@ CORES = {
"bsnes": {"repo": "bsnes-libretro"},
"bsnes-hd": {"repo": "bsnes-hd", "owner": "DerKoun"},
"bsnes-mercury": {"repo": "bsnes-mercury"},
"citra": { "repo": "citra", "fetch_submodules": True },
"citra": {"repo": "citra", "fetch_submodules": True},
"desmume": {"repo": "desmume"},
"desmume2015": {"repo": "desmume2015"},
"dolphin": {"repo": "dolphin"},
@ -141,16 +144,23 @@ def get_repo_hash(fetcher="fetchFromGitHub", **kwargs):
raise ValueError(f"Unsupported fetcher: {fetcher}")
def get_repo_hashes(cores_to_update=[]):
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())
for core, repo in CORES.items():
if core in cores_to_update:
info(f"Getting repo hash for '{core}'...")
repo_hashes[core] = get_repo_hash(**repo)
else:
info(f"Skipping '{core}'...")
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
@ -164,7 +174,8 @@ def main():
else:
cores_to_update = CORES.keys()
repo_hashes = get_repo_hashes(cores_to_update)
cores = {core: repo for core, repo in CORES.items() if core in cores_to_update}
repo_hashes = get_repo_hashes(cores)
info(f"Generating '{HASHES_PATH}'...")
with open(HASHES_PATH, "w") as f:
f.write(json.dumps(dict(sorted(repo_hashes.items())), indent=4))

View File

@ -3,7 +3,6 @@
, makeWrapper
, retroarch
, symlinkJoin
, writeTextDir
, cores ? [ ]
}:

View File

@ -2199,7 +2199,14 @@ with pkgs;
callPackage ../applications/emulators/retroarch/wrapper.nix
{ inherit retroarch; };
retroarch = wrapRetroArch { retroarch = retroarchBare; };
retroarch = wrapRetroArch {
retroarch = retroarchBare.override {
withAssets = true;
withCoreInfo = true;
};
};
retroarch-assets = callPackage ../applications/emulators/retroarch/retroarch-assets.nix { };
libretro = recurseIntoAttrs
(callPackage ../applications/emulators/retroarch/cores.nix {