aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk2
-rw-r--r--gnu/packages/emulators.scm24
-rw-r--r--gnu/packages/patches/retroarch-LIBRETRO_DIRECTORY.patch32
-rw-r--r--gnu/packages/patches/retroarch-disable-online-updater.patch41
4 files changed, 44 insertions, 55 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index f8ff065242..76bb7ef1f0 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1592,7 +1592,7 @@ dist_patch_DATA = \
%D%/packages/patches/rtags-separate-rct.patch \
%D%/packages/patches/racket-store-checksum-override.patch \
%D%/packages/patches/remake-impure-dirs.patch \
- %D%/packages/patches/retroarch-disable-online-updater.patch \
+ %D%/packages/patches/retroarch-LIBRETRO_DIRECTORY.patch \
%D%/packages/patches/rnp-add-version.cmake.patch \
%D%/packages/patches/rnp-disable-ruby-rnp-tests.patch \
%D%/packages/patches/rnp-unbundle-googletest.patch \
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 6c044e3397..dcbffa0a28 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -1273,7 +1273,7 @@ as RetroArch.")
(define-public retroarch
(package
(name "retroarch")
- (version "1.8.1")
+ (version "1.9.0")
(source
(origin
(method git-fetch)
@@ -1282,18 +1282,9 @@ as RetroArch.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0y7rcpz7psf8k3agsrq277jdm651vbnn9xpqvmj2in1a786idya7"))
+ (base32 "1n0dcv85vqrdr79psnf009hi4r2mvsgsjbghrrc9pm5g7ywwwcvp"))
(patches
- (search-patches "retroarch-disable-online-updater.patch"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Don't suggest using the Online Updater if available: it never
- ;; is. This disables translation of this particular message.
- (substitute* (find-files "menu/drivers" "\\.c$")
- (("msg_hash_to_str\\(MSG_MISSING_ASSETS\\)")
- "\"Warning: Missing assets, go get some\""))
- #t))))
+ (search-patches "retroarch-LIBRETRO_DIRECTORY.patch"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
@@ -1328,7 +1319,9 @@ as RetroArch.")
'("--enable-neon" "--enable-floathard")
'())
(string-append "--prefix=" out)
- (string-append "--global-config-dir=" etc)
+ ;; Non-free software are available through the core updater,
+ ;; disable it. See <https://issues.guix.gnu.org/38360>.
+ "--disable-update_cores"
"--disable-builtinminiupnpc")))))))
(inputs
`(("alsa-lib" ,alsa-lib)
@@ -1354,6 +1347,11 @@ as RetroArch.")
`(("pkg-config" ,pkg-config)
("wayland-protocols" ,wayland-protocols)
("which" ,which)))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "LIBRETRO_DIRECTORY")
+ (separator #f) ; single entry
+ (files '("lib/libretro")))))
(home-page "https://www.libretro.com/")
(synopsis "Reference frontend for the libretro API")
(description
diff --git a/gnu/packages/patches/retroarch-LIBRETRO_DIRECTORY.patch b/gnu/packages/patches/retroarch-LIBRETRO_DIRECTORY.patch
new file mode 100644
index 0000000000..30515cbe48
--- /dev/null
+++ b/gnu/packages/patches/retroarch-LIBRETRO_DIRECTORY.patch
@@ -0,0 +1,32 @@
+From f308dc91660954ab88bb41868c0b9809592923e6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@member.fsf.org>
+Date: Sat, 20 Feb 2021 20:37:39 +0800
+Subject: [PATCH] Allow set libretro_directory via environment variable
+
+---
+ retroarch.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/retroarch.c b/retroarch.c
+index 6a88c3108e..6807c12b5b 100644
+--- a/retroarch.c
++++ b/retroarch.c
+@@ -36038,6 +36038,15 @@ static void retroarch_parse_input_and_config(
+ #endif
+ config_load(&p_rarch->g_extern);
+
++ /* Override settings via environment variables */
++ if (getenv("LIBRETRO_DIRECTORY")) {
++ settings_t *settings = p_rarch->configuration_settings;
++ retroarch_override_setting_set(RARCH_OVERRIDE_SETTING_LIBRETRO_DIRECTORY, NULL);
++ configuration_set_string(settings,
++ settings->paths.directory_libretro,
++ getenv("LIBRETRO_DIRECTORY"));
++ }
++
+ /* Second pass: All other arguments override the config file */
+ optind = 1;
+
+--
+2.30.0
+
diff --git a/gnu/packages/patches/retroarch-disable-online-updater.patch b/gnu/packages/patches/retroarch-disable-online-updater.patch
deleted file mode 100644
index ea74cc5409..0000000000
--- a/gnu/packages/patches/retroarch-disable-online-updater.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From: Tobias Geerinckx-Rice <me@tobias.gr>
-Date: Fri, 29 Nov 2019 20:32:54 +0100
-Subject: [PATCH]: gnu: retroarch: Disable the on-line updater.
-
-This disables the entire ‘Online Updater’ sub-menu to address
-<http://issues.guix.gnu.org/issue/38360>. Perhaps that is more than is
-necessary.
-
-diff -Naur a/menu/menu_displaylist.c b/menu/menu_displaylist.c
---- a/menu/menu_displaylist.c 1970-01-01 01:00:01.000000000 +0100
-+++ b/menu/menu_displaylist.c 2019-11-29 18:35:27.467948854 +0100
-@@ -8444,11 +8444,6 @@
- MENU_ENUM_LABEL_NETPLAY,
- PARSE_ACTION, false) == 0)
- count++;
-- if (settings->bools.menu_show_online_updater)
-- if (menu_displaylist_parse_settings_enum(info->list,
-- MENU_ENUM_LABEL_ONLINE_UPDATER,
-- PARSE_ACTION, false) == 0)
-- count++;
- if (menu_displaylist_parse_settings_enum(info->list,
- MENU_ENUM_LABEL_SETTINGS, PARSE_ACTION, false) == 0)
- count++;
-diff -Naur retroarch.a/menu/menu_setting.c retroarch.c/menu/menu_setting.c
---- a/menu/menu_setting.c 1970-01-01 01:00:01.000000000 +0100
-+++ b/menu/menu_setting.c 2019-11-29 18:35:35.753957312 +0100
-@@ -7291,14 +7291,6 @@
- &group_info,
- &subgroup_info,
- parent_group);
--
-- CONFIG_ACTION(
-- list, list_info,
-- MENU_ENUM_LABEL_ONLINE_UPDATER,
-- MENU_ENUM_LABEL_VALUE_ONLINE_UPDATER,
-- &group_info,
-- &subgroup_info,
-- parent_group);
- #endif
-
- CONFIG_ACTION(