mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-11-15 13:37:21 +03:00
Merge pull request #196623 from thiagokokada/bump-retroarch
retroarch: 1.11.0 -> 1.12.0
This commit is contained in:
commit
c6e757f7c9
@ -55,7 +55,7 @@ let
|
||||
, stdenvOverride ? stdenv
|
||||
, src ? (getCoreSrc core)
|
||||
, broken ? false
|
||||
, version ? "unstable-2022-10-01"
|
||||
, version ? "unstable-2022-10-18"
|
||||
, platforms ? retroarch.meta.platforms
|
||||
# The resulting core file is based on core name
|
||||
# Setting `normalizeCore` to `true` will convert `-` to `_` on the core filename
|
||||
|
@ -4,6 +4,7 @@
|
||||
, enableNvidiaCgToolkit ? false
|
||||
, withGamemode ? stdenv.isLinux
|
||||
, withVulkan ? stdenv.isLinux
|
||||
, withWayland ? stdenv.isLinux
|
||||
, alsa-lib
|
||||
, AppKit
|
||||
, dbus
|
||||
@ -33,19 +34,20 @@
|
||||
, udev
|
||||
, vulkan-loader
|
||||
, wayland
|
||||
, which
|
||||
}:
|
||||
|
||||
let
|
||||
version = "1.11.0";
|
||||
version = "1.12.0";
|
||||
libretroCoreInfo = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "libretro-core-info";
|
||||
sha256 = "sha256-46T87BpzWUQHD7CsCF2sZo065Sl8Y4Sj1zwzBWmCiiU=";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-9Sfp/JkMJIe34YGNRxf93fONOBuQxR2pduoJU+xtuF0=";
|
||||
# Upstream didn't tag a new libretro-core-info in 1.12.0 release
|
||||
rev = "v1.11.1";
|
||||
};
|
||||
runtimeLibs = lib.optional withVulkan vulkan-loader
|
||||
++ lib.optional withGamemode gamemode.lib;
|
||||
runtimeLibs =
|
||||
lib.optional withVulkan vulkan-loader ++
|
||||
lib.optional withGamemode (lib.getLib gamemode);
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "retroarch-bare";
|
||||
@ -54,60 +56,77 @@ stdenv.mkDerivation rec {
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "RetroArch";
|
||||
sha256 = "sha256-/rOf85TQTXbY9kIETaO5E58f2ZvKPqEFLsbNne/+/lw=";
|
||||
sha256 = "sha256-doLWNA8aTAllxx3zABtvZaegBQEPIi8276zbytPSdBU=";
|
||||
rev = "v${version}";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./disable-menu_show_core_updater.patch
|
||||
./use-fixed-paths-on-libretro_info_path.patch
|
||||
./use-fixed-paths.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace "frontend/drivers/platform_unix.c" \
|
||||
--replace "@libretro_directory@" "$out/lib" \
|
||||
--replace "@libretro_info_path@" "$out/share/libretro/info"
|
||||
--subst-var-by libretro_directory "$out/lib" \
|
||||
--subst-var-by libretro_info_path "$out/share/libretro/info" \
|
||||
--subst-var-by out "$out"
|
||||
substituteInPlace "frontend/drivers/platform_darwin.m" \
|
||||
--replace "@libretro_directory@" "$out/lib" \
|
||||
--replace "@libretro_info_path@" "$out/share/libretro/info"
|
||||
--subst-var-by libretro_directory "$out/lib" \
|
||||
--subst-var-by libretro_info_path "$out/share/libretro/info"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkg-config ] ++
|
||||
lib.optional stdenv.isLinux wayland ++
|
||||
lib.optional withWayland wayland ++
|
||||
lib.optional (runtimeLibs != [ ]) makeWrapper;
|
||||
|
||||
buildInputs = [ ffmpeg_4 freetype libxml2 libGLU libGL python3 SDL2 which ] ++
|
||||
lib.optional enableNvidiaCgToolkit nvidia_cg_toolkit ++
|
||||
lib.optional withVulkan vulkan-loader ++
|
||||
lib.optionals stdenv.isDarwin [ libobjc AppKit Foundation ] ++
|
||||
lib.optionals stdenv.isLinux [
|
||||
alsa-lib
|
||||
dbus
|
||||
libX11
|
||||
libXdmcp
|
||||
libXext
|
||||
libXxf86vm
|
||||
libdrm
|
||||
libpulseaudio
|
||||
libv4l
|
||||
libxkbcommon
|
||||
mesa
|
||||
udev
|
||||
wayland
|
||||
];
|
||||
buildInputs = [
|
||||
ffmpeg_4
|
||||
freetype
|
||||
libGL
|
||||
libGLU
|
||||
libxml2
|
||||
python3
|
||||
SDL2
|
||||
] ++
|
||||
lib.optional enableNvidiaCgToolkit nvidia_cg_toolkit ++
|
||||
lib.optional withVulkan vulkan-loader ++
|
||||
lib.optional withWayland wayland ++
|
||||
lib.optionals stdenv.isDarwin [ libobjc AppKit Foundation ] ++
|
||||
lib.optionals stdenv.isLinux [
|
||||
alsa-lib
|
||||
dbus
|
||||
libX11
|
||||
libXdmcp
|
||||
libXext
|
||||
libXxf86vm
|
||||
libdrm
|
||||
libpulseaudio
|
||||
libv4l
|
||||
libxkbcommon
|
||||
mesa
|
||||
udev
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
configureFlags = lib.optionals stdenv.isLinux [ "--enable-kms" "--enable-egl" "--enable-dbus" ];
|
||||
configureFlags = [
|
||||
"--disable-update_cores"
|
||||
] ++
|
||||
lib.optionals stdenv.isLinux [
|
||||
"--enable-dbus"
|
||||
"--enable-egl"
|
||||
"--enable-kms"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/libretro/info
|
||||
# TODO: ideally each core should have its own core information
|
||||
mkdir -p $out/share/libretro/info
|
||||
cp -r ${libretroCoreInfo}/* $out/share/libretro/info
|
||||
'' + lib.optionalString (runtimeLibs != [ ]) ''
|
||||
'' +
|
||||
lib.optionalString (runtimeLibs != [ ]) ''
|
||||
wrapProgram $out/bin/retroarch \
|
||||
--prefix LD_LIBRARY_PATH ':' ${lib.makeLibraryPath runtimeLibs}
|
||||
'' + lib.optionalString stdenv.isDarwin ''
|
||||
'' +
|
||||
lib.optionalString stdenv.isDarwin ''
|
||||
# https://github.com/libretro/RetroArch/blob/master/retroarch-apple-packaging.sh
|
||||
app=$out/Applications/RetroArch.app
|
||||
mkdir -p $app/Contents/MacOS
|
||||
|
@ -1,25 +0,0 @@
|
||||
From 546b343294209abbb193883ab76b679b7f99c6d3 Mon Sep 17 00:00:00 2001
|
||||
From: Thiago Kenji Okada <thiagokokada@gmail.com>
|
||||
Date: Sat, 20 Nov 2021 16:03:50 -0300
|
||||
Subject: [PATCH] Disable "menu_show_core_updater"
|
||||
|
||||
---
|
||||
retroarch.cfg | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/retroarch.cfg b/retroarch.cfg
|
||||
index cdcb199c9f..ab72f3920f 100644
|
||||
--- a/retroarch.cfg
|
||||
+++ b/retroarch.cfg
|
||||
@@ -681,7 +681,7 @@
|
||||
# menu_show_online_updater = true
|
||||
|
||||
# If disabled, will hide the ability to update cores (and core info files) inside the menu.
|
||||
-# menu_show_core_updater = true
|
||||
+menu_show_core_updater = false
|
||||
|
||||
# If disabled, the libretro core will keep running in the background when we
|
||||
# are in the menu.
|
||||
--
|
||||
2.31.1
|
||||
|
@ -1,26 +0,0 @@
|
||||
diff --git a/retroarch.cfg b/retroarch.cfg
|
||||
index cdcb199c9f..08b9b1cf10 100644
|
||||
--- a/retroarch.cfg
|
||||
+++ b/retroarch.cfg
|
||||
@@ -681,7 +681,7 @@
|
||||
# menu_show_online_updater = true
|
||||
|
||||
# If disabled, will hide the ability to update cores (and core info files) inside the menu.
|
||||
-# menu_show_core_updater = true
|
||||
+menu_show_core_updater = false
|
||||
|
||||
# If disabled, the libretro core will keep running in the background when we
|
||||
# are in the menu.
|
||||
@@ -823,10 +823,10 @@
|
||||
# rgui_browser_directory =
|
||||
|
||||
# Core directory for libretro core implementations.
|
||||
-# libretro_directory =
|
||||
+libretro_directory = @libretro_directory@
|
||||
|
||||
# Core info directory for libretro core information.
|
||||
-# libretro_info_path =
|
||||
+libretro_info_path = @libretro_info_path@
|
||||
|
||||
# Path to content database directory.
|
||||
# content_database_path =
|
@ -1,28 +0,0 @@
|
||||
diff --git a/configuration.c b/configuration.c
|
||||
index e6a3841324..afb1d6e2ce 100644
|
||||
--- a/configuration.c
|
||||
+++ b/configuration.c
|
||||
@@ -1456,7 +1456,7 @@ static struct config_path_setting *populate_settings_path(
|
||||
SETTING_PATH("core_options_path",
|
||||
settings->paths.path_core_options, false, NULL, true);
|
||||
SETTING_PATH("libretro_info_path",
|
||||
- settings->paths.path_libretro_info, false, NULL, true);
|
||||
+ settings->paths.path_libretro_info, false, NULL, false);
|
||||
SETTING_PATH("content_database_path",
|
||||
settings->paths.path_content_database, false, NULL, true);
|
||||
SETTING_PATH("cheat_database_path",
|
||||
diff --git a/frontend/drivers/platform_unix.c b/frontend/drivers/platform_unix.c
|
||||
index 722e1c595c..e7313ee038 100644
|
||||
--- a/frontend/drivers/platform_unix.c
|
||||
+++ b/frontend/drivers/platform_unix.c
|
||||
@@ -1825,8 +1825,8 @@ static void frontend_unix_get_env(int *argc,
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], base_path,
|
||||
"core_info", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
|
||||
#else
|
||||
- fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], base_path,
|
||||
- "cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
|
||||
+ fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], "@libretro_info_path@",
|
||||
+ "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
|
||||
#endif
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG], base_path,
|
||||
"autoconfig", sizeof(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG]));
|
@ -153,8 +153,8 @@
|
||||
"fbneo": {
|
||||
"owner": "libretro",
|
||||
"repo": "fbneo",
|
||||
"rev": "8678b0fcd02c4049c0cfa40a0ab87fded1bbedd8",
|
||||
"sha256": "MiLYaURj17Sq8V31SDFQ93XH4DAYMQQelVq+4EBmtro="
|
||||
"rev": "758f24740d81ff833c1868befd98ccd11909255f",
|
||||
"sha256": "VhfsvohRWICWqKWry0fgUS76kiXBsnjY9DytxEvulKA="
|
||||
},
|
||||
"fceumm": {
|
||||
"owner": "libretro",
|
||||
@ -219,8 +219,8 @@
|
||||
"mame": {
|
||||
"owner": "libretro",
|
||||
"repo": "mame",
|
||||
"rev": "fcacbc7811a9b69874fd09b91e7217e44c6a0980",
|
||||
"sha256": "WiBmqBcqxXmeQOmTN4FDDUv680uqAkpYUOnvJ7FXn4k="
|
||||
"rev": "0d935696dce53a13eaf0705f4a108ee348f3c613",
|
||||
"sha256": "HnJ3eHzTpR7Lsi1ATn3B314y0KNKJ0+qNGcDbFvmZEA="
|
||||
},
|
||||
"mame2000": {
|
||||
"owner": "libretro",
|
||||
@ -237,8 +237,8 @@
|
||||
"mame2003-plus": {
|
||||
"owner": "libretro",
|
||||
"repo": "mame2003-plus-libretro",
|
||||
"rev": "982db57b325b54aa90a60bd2e512b624d3b6642c",
|
||||
"sha256": "uyysUD/PULHyaOw42GJoBsT9fYdYuAl4eLCVNRU8/Sw="
|
||||
"rev": "d88d5c118e8d7075ec0a4e6deebb4cd3f18a8dd1",
|
||||
"sha256": "9offucQMCpMqo4StYscS6kivXCYHy4Sn+Cs/3MoNwsw="
|
||||
},
|
||||
"mame2010": {
|
||||
"owner": "libretro",
|
||||
@ -261,8 +261,8 @@
|
||||
"melonds": {
|
||||
"owner": "libretro",
|
||||
"repo": "melonds",
|
||||
"rev": "6a03f3f11a729dbf698ec53954c735a0680aca01",
|
||||
"sha256": "GH/G/UzwjNqHwtIwx6VohP4XsJKe+EFU2n+GX43IByM="
|
||||
"rev": "5e52c245fb38cabe881fbfa6513280ee44fc5bd8",
|
||||
"sha256": "jWBZ5wg1dKEgoEV09VTGJ+I4+8uiivAHhpTiD9tPaYg="
|
||||
},
|
||||
"mesen": {
|
||||
"owner": "libretro",
|
||||
@ -285,8 +285,8 @@
|
||||
"mgba": {
|
||||
"owner": "libretro",
|
||||
"repo": "mgba",
|
||||
"rev": "db7ace387cdc87d9f2bd4f9f5211c26ce0b07867",
|
||||
"sha256": "i/U5yrnGQBRHqBu8c/mQ7Eov43+6IOOs+H8pSKXNM1E="
|
||||
"rev": "199a03e719436018779fe9299706c597fb2e9231",
|
||||
"sha256": "3Q3MBzezCvl1Er45AeUM/QI0a+JiGn/PfYpqMaaiuds="
|
||||
},
|
||||
"mupen64plus": {
|
||||
"owner": "libretro",
|
||||
@ -346,28 +346,28 @@
|
||||
"pcsx_rearmed": {
|
||||
"owner": "libretro",
|
||||
"repo": "pcsx_rearmed",
|
||||
"rev": "5b406fd9567c0829171af44b3325dae6dd155732",
|
||||
"sha256": "V+z58fRSaLurDiu4Y/xQjndkMKPSmEGjay3foDkppM0="
|
||||
"rev": "5ced3945423cda0010597b27b7da6bce77b12baa",
|
||||
"sha256": "8O2XyEr40HqQf8mHxmvB6/UT837HZw8SrKBy/JH66p4="
|
||||
},
|
||||
"picodrive": {
|
||||
"owner": "libretro",
|
||||
"repo": "picodrive",
|
||||
"rev": "26719f348eb579a8372e2c58ef0132d95d9dc817",
|
||||
"sha256": "xD8RxFHeKOltIc35Zudj29x+vkq2AXfSKu0/ZzQQHi4=",
|
||||
"rev": "0a4ec83cbfaebb65fb1c40f26ffaf28131f9003b",
|
||||
"sha256": "NOMQoDmXGrxrquAcSLo6Otcz8bH4gnhqcG/zzet3Dtk=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"play": {
|
||||
"owner": "jpd002",
|
||||
"repo": "Play-",
|
||||
"rev": "1129440ab6ede8263275dc3a5eec1624d20442fb",
|
||||
"sha256": "nTJjxVPGOofnIZbjGe3GZDIj4YnC73IbSdGsSuVIjEA=",
|
||||
"rev": "1126c39cd8ebf56af347c475139d4db97fc7cc19",
|
||||
"sha256": "H/cYFWl8rA/ZdoygEjr7h1y6Z0n29Z+OCzzVMvIuVyo=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"ppsspp": {
|
||||
"owner": "hrydgard",
|
||||
"repo": "ppsspp",
|
||||
"rev": "16f93a26844b26e11cf9becfd275c4a637bfd1ab",
|
||||
"sha256": "k1URDPE4kRMY1LUeR2zcLJFGt0Gnt5N8gTQHpIxDdRw=",
|
||||
"rev": "4af4b0dddc638b00205d9943f17a2806e438fe83",
|
||||
"sha256": "5n+Mg2ZDTJd5fk1OZAiYnCT13G3LAWahXPA+MwaOF08=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"prboom": {
|
||||
@ -385,8 +385,8 @@
|
||||
"puae": {
|
||||
"owner": "libretro",
|
||||
"repo": "libretro-uae",
|
||||
"rev": "1b7dd443ff89d667d99f8c44454a91ed59bcabd9",
|
||||
"sha256": "YJiZEtB0rBFffEZj/hB7zEFBUp02kCzblq4CtCmygKo="
|
||||
"rev": "4d8ebafe3f91c4998e8d73940e9558d863ecf93b",
|
||||
"sha256": "dzfZFm7L+Qe3WwSYiMLp3cQm8zk0pWVB68nBe/H1Hvc="
|
||||
},
|
||||
"quicknes": {
|
||||
"owner": "libretro",
|
||||
@ -439,8 +439,8 @@
|
||||
"stella": {
|
||||
"owner": "stella-emu",
|
||||
"repo": "stella",
|
||||
"rev": "65115cc3a133d68979f3096bdecb067bcaedb493",
|
||||
"sha256": "letOnjaIGIjC9xwj5C156VkBhMPFtVq12FG7SuC5+OY="
|
||||
"rev": "7193c405327e0f2156d24d53836162f4b44af079",
|
||||
"sha256": "A9icQON+0WrknjGp/0wiFNSWs2ot2s0X5lucCdk4O/s="
|
||||
},
|
||||
"stella2014": {
|
||||
"owner": "libretro",
|
||||
@ -451,8 +451,8 @@
|
||||
"swanstation": {
|
||||
"owner": "libretro",
|
||||
"repo": "swanstation",
|
||||
"rev": "b6a18318bd7bf0d3b28b50d2b554810ea11b30cb",
|
||||
"sha256": "jZ6SfiHFJyaTFvINrEe61yhUtWYoqRzaAi0vLuDnMuo="
|
||||
"rev": "ff0b451a573885a5b3a4f291f7b22f3ffc667a17",
|
||||
"sha256": "jz8tkvgonc4icRt12tt1BBCCiwec0ucix7Hp7PNPl8E="
|
||||
},
|
||||
"tgbdual": {
|
||||
"owner": "libretro",
|
||||
@ -476,8 +476,8 @@
|
||||
"vba-m": {
|
||||
"owner": "libretro",
|
||||
"repo": "vbam-libretro",
|
||||
"rev": "7c25d64d6903c6d859cce781c52da0671c4f7d3e",
|
||||
"sha256": "U+jBM34sZxny9lpuegQ8YDKBwYrWOAyLBMKumoQCok4="
|
||||
"rev": "7e30b038893de63e674944f75581d57c7685ea3a",
|
||||
"sha256": "CmmiKiy0mFqAiagUHFV5wRSZ0MkzADrHRAG+h82dWAQ="
|
||||
},
|
||||
"vba-next": {
|
||||
"owner": "libretro",
|
||||
|
@ -1,84 +0,0 @@
|
||||
From 7bf021529ff15ca2580b15b3c0bfdc137d5beffe Mon Sep 17 00:00:00 2001
|
||||
From: Thiago Kenji Okada <thiagokokada@gmail.com>
|
||||
Date: Wed, 9 Mar 2022 18:24:15 +0000
|
||||
Subject: [PATCH] Use fixed paths on "libretro_info_path"
|
||||
|
||||
This patch sets "libretro_info_path" to `handle = false`, so instead of
|
||||
using the values from `retroarch.cfg`, it will always use the default.
|
||||
|
||||
Also, it patches the default "libretro_info_path" to the
|
||||
`@libretro_info_path` string, so we can substitute it with the full path
|
||||
to it during build.
|
||||
---
|
||||
configuration.c | 2 +-
|
||||
frontend/drivers/platform_darwin.m | 9 ++-------
|
||||
frontend/drivers/platform_unix.c | 12 ++++--------
|
||||
3 files changed, 7 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/configuration.c b/configuration.c
|
||||
index 7e346ff6e9..c4b2100203 100644
|
||||
--- a/configuration.c
|
||||
+++ b/configuration.c
|
||||
@@ -1466,7 +1466,7 @@ static struct config_path_setting *populate_settings_path(
|
||||
SETTING_PATH("core_options_path",
|
||||
settings->paths.path_core_options, false, NULL, true);
|
||||
SETTING_PATH("libretro_info_path",
|
||||
- settings->paths.path_libretro_info, false, NULL, true);
|
||||
+ settings->paths.path_libretro_info, false, NULL, false);
|
||||
SETTING_PATH("content_database_path",
|
||||
settings->paths.path_content_database, false, NULL, true);
|
||||
SETTING_PATH("cheat_database_path",
|
||||
diff --git a/frontend/drivers/platform_darwin.m b/frontend/drivers/platform_darwin.m
|
||||
index 6c5fdca400..552dcb7e2b 100644
|
||||
--- a/frontend/drivers/platform_darwin.m
|
||||
+++ b/frontend/drivers/platform_darwin.m
|
||||
@@ -388,14 +388,9 @@ static void frontend_darwin_get_env(int *argc, char *argv[],
|
||||
home_dir_buf, "shaders_glsl",
|
||||
sizeof(g_defaults.dirs[DEFAULT_DIR_SHADER]));
|
||||
#endif
|
||||
-#ifdef HAVE_UPDATE_CORES
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE],
|
||||
- home_dir_buf, "cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
|
||||
-#else
|
||||
- fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE],
|
||||
- bundle_path_buf, "modules", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
|
||||
-#endif
|
||||
- fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], home_dir_buf, "info", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
|
||||
+ "@libretro_directory@", "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
|
||||
+ fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], "@libretro_info_path@", "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY], home_dir_buf, "overlays", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY]));
|
||||
#ifdef HAVE_VIDEO_LAYOUT
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_LAYOUT], home_dir_buf, "layouts", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_LAYOUT]));
|
||||
diff --git a/frontend/drivers/platform_unix.c b/frontend/drivers/platform_unix.c
|
||||
index b3b5dad173..7f1561e523 100644
|
||||
--- a/frontend/drivers/platform_unix.c
|
||||
+++ b/frontend/drivers/platform_unix.c
|
||||
@@ -1820,12 +1820,8 @@ static void frontend_unix_get_env(int *argc,
|
||||
strcpy_literal(base_path, "retroarch");
|
||||
#endif
|
||||
|
||||
- if (!string_is_empty(libretro_directory))
|
||||
- strlcpy(g_defaults.dirs[DEFAULT_DIR_CORE], libretro_directory,
|
||||
- sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
|
||||
- else
|
||||
- fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE], base_path,
|
||||
- "cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
|
||||
+ fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE], "@libretro_directory@",
|
||||
+ "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
|
||||
#if defined(DINGUX)
|
||||
/* On platforms that require manual core installation/
|
||||
* removal, placing core info files in the same directory
|
||||
@@ -1834,8 +1830,8 @@ static void frontend_unix_get_env(int *argc,
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], base_path,
|
||||
"core_info", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
|
||||
#else
|
||||
- fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], base_path,
|
||||
- "cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
|
||||
+ fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], "@libretro_info_path@",
|
||||
+ "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
|
||||
#endif
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG], base_path,
|
||||
"autoconfig", sizeof(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG]));
|
||||
--
|
||||
2.32.0
|
||||
|
154
pkgs/applications/emulators/retroarch/use-fixed-paths.patch
Normal file
154
pkgs/applications/emulators/retroarch/use-fixed-paths.patch
Normal file
@ -0,0 +1,154 @@
|
||||
From 8a1cffebb23f9d2a28228cd8cbf4fd80836157e8 Mon Sep 17 00:00:00 2001
|
||||
From: Thiago Kenji Okada <thiagokokada@gmail.com>
|
||||
Date: Tue, 18 Oct 2022 17:41:33 +0100
|
||||
Subject: [PATCH] Use fixed paths
|
||||
|
||||
---
|
||||
configuration.c | 2 +-
|
||||
frontend/drivers/platform_darwin.m | 4 +--
|
||||
frontend/drivers/platform_unix.c | 56 +++++++++++++++---------------
|
||||
3 files changed, 31 insertions(+), 31 deletions(-)
|
||||
|
||||
diff --git a/configuration.c b/configuration.c
|
||||
index ac4779b2d7..d980892dda 100644
|
||||
--- a/configuration.c
|
||||
+++ b/configuration.c
|
||||
@@ -1468,7 +1468,7 @@ static struct config_path_setting *populate_settings_path(
|
||||
SETTING_PATH("core_options_path",
|
||||
settings->paths.path_core_options, false, NULL, true);
|
||||
SETTING_PATH("libretro_info_path",
|
||||
- settings->paths.path_libretro_info, false, NULL, true);
|
||||
+ settings->paths.path_libretro_info, false, NULL, false);
|
||||
SETTING_PATH("content_database_path",
|
||||
settings->paths.path_content_database, false, NULL, true);
|
||||
SETTING_PATH("cheat_database_path",
|
||||
diff --git a/frontend/drivers/platform_darwin.m b/frontend/drivers/platform_darwin.m
|
||||
index c771ec0f55..d5e21a1f4d 100644
|
||||
--- a/frontend/drivers/platform_darwin.m
|
||||
+++ b/frontend/drivers/platform_darwin.m
|
||||
@@ -400,9 +400,9 @@ static void frontend_darwin_get_env(int *argc, char *argv[],
|
||||
home_dir_buf, "cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
|
||||
#else
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE],
|
||||
- bundle_path_buf, "modules", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
|
||||
+ "@libretro_directory@", "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
|
||||
#endif
|
||||
- fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], home_dir_buf, "info", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
|
||||
+ fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], "@libretro_info_path@", "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY], home_dir_buf, "overlays", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY]));
|
||||
#ifdef HAVE_VIDEO_LAYOUT
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_LAYOUT], home_dir_buf, "layouts", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_LAYOUT]));
|
||||
diff --git a/frontend/drivers/platform_unix.c b/frontend/drivers/platform_unix.c
|
||||
index 29e9a0d633..dba8abe941 100644
|
||||
--- a/frontend/drivers/platform_unix.c
|
||||
+++ b/frontend/drivers/platform_unix.c
|
||||
@@ -1792,8 +1792,8 @@ static void frontend_unix_get_env(int *argc,
|
||||
strlcpy(g_defaults.dirs[DEFAULT_DIR_CORE], libretro_directory,
|
||||
sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
|
||||
else
|
||||
- fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE], base_path,
|
||||
- "cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
|
||||
+ fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE], "@libretro_directory@",
|
||||
+ "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
|
||||
#if defined(DINGUX)
|
||||
/* On platforms that require manual core installation/
|
||||
* removal, placing core info files in the same directory
|
||||
@@ -1802,27 +1802,27 @@ static void frontend_unix_get_env(int *argc,
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], base_path,
|
||||
"core_info", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
|
||||
#else
|
||||
- fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], base_path,
|
||||
- "cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
|
||||
+ fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], "@libretro_info_path@",
|
||||
+ "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
|
||||
#endif
|
||||
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("@out@/local/share/retroarch/assets"))
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS],
|
||||
- "/usr/local/share/retroarch",
|
||||
+ "@out@/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("@out@/share/retroarch/assets"))
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS],
|
||||
- "/usr/share/retroarch",
|
||||
+ "@out@/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("@out@/local/share/games/retroarch/assets"))
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS],
|
||||
- "/usr/local/share/games/retroarch",
|
||||
+ "@out@/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("@out@/share/games/retroarch/assets"))
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS],
|
||||
- "/usr/share/games/retroarch",
|
||||
+ "@out@/share/games/retroarch",
|
||||
"assets", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS]));
|
||||
else
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS], base_path,
|
||||
@@ -1834,41 +1834,41 @@ static void frontend_unix_get_env(int *argc,
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER], base_path,
|
||||
"filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER]));
|
||||
#else
|
||||
- if (path_is_directory("/usr/local/share/retroarch/filters/audio"))
|
||||
+ if (path_is_directory("@out@/local/share/retroarch/filters/audio"))
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER],
|
||||
- "/usr/local/share/retroarch",
|
||||
+ "@out@/local/share/retroarch",
|
||||
"filters/audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER]));
|
||||
- else if (path_is_directory("/usr/share/retroarch/filters/audio"))
|
||||
+ else if (path_is_directory("@out@/share/retroarch/filters/audio"))
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER],
|
||||
- "/usr/share/retroarch",
|
||||
+ "@out@/share/retroarch",
|
||||
"filters/audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER]));
|
||||
- else if (path_is_directory("/usr/local/share/games/retroarch/filters/audio"))
|
||||
+ else if (path_is_directory("@out@/local/share/games/retroarch/filters/audio"))
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER],
|
||||
- "/usr/local/share/games/retroarch",
|
||||
+ "@out@/local/share/games/retroarch",
|
||||
"filters/audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER]));
|
||||
- else if (path_is_directory("/usr/share/games/retroarch/filters/audio"))
|
||||
+ else if (path_is_directory("@out@/share/games/retroarch/filters/audio"))
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER],
|
||||
- "/usr/share/games/retroarch",
|
||||
+ "@out@/share/games/retroarch",
|
||||
"filters/audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER]));
|
||||
else
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER], base_path,
|
||||
"filters/audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER]));
|
||||
|
||||
- if (path_is_directory("/usr/local/share/retroarch/filters/video"))
|
||||
+ if (path_is_directory("@out@/local/share/retroarch/filters/video"))
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER],
|
||||
- "/usr/local/share/retroarch",
|
||||
+ "@out@/local/share/retroarch",
|
||||
"filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER]));
|
||||
- else if (path_is_directory("/usr/share/retroarch/filters/video"))
|
||||
+ else if (path_is_directory("@out@/share/retroarch/filters/video"))
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER],
|
||||
- "/usr/share/retroarch",
|
||||
+ "@out@/share/retroarch",
|
||||
"filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER]));
|
||||
- else if (path_is_directory("/usr/local/share/games/retroarch/filters/video"))
|
||||
+ else if (path_is_directory("@out@/local/share/games/retroarch/filters/video"))
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER],
|
||||
- "/usr/local/share/games/retroarch",
|
||||
+ "@out@/local/share/games/retroarch",
|
||||
"filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER]));
|
||||
- else if (path_is_directory("/usr/share/games/retroarch/filters/video"))
|
||||
+ else if (path_is_directory("@out@/share/games/retroarch/filters/video"))
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER],
|
||||
- "/usr/share/games/retroarch",
|
||||
+ "@out@/share/games/retroarch",
|
||||
"filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER]));
|
||||
else
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER], base_path,
|
||||
--
|
||||
2.37.3
|
||||
|
Loading…
Reference in New Issue
Block a user