Addresses <http://issues.guix.gnu.org/issue/38360>.
* gnu/packages/emulators.scm (retroarch)[source]: Add patch and snippet. * packages/patches/retroarch-disable-online-updater.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/emulators.scm | 17 +++++++++++++++-- .../retroarch-disable-online-updater.patch | 19 +++++++++++++++++++ 3 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/retroarch-disable-online-updater.patch diff --git a/gnu/local.mk b/gnu/local.mk index 88b0f98aa0..b0036a52a0 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1330,6 +1330,7 @@ dist_patch_DATA = \ %D%/packages/patches/rpcbind-CVE-2017-8779.patch \ %D%/packages/patches/rtags-separate-rct.patch \ %D%/packages/patches/racket-store-checksum-override.patch \ + %D%/packages/patches/retroarch-disable-online-updater.patch \ %D%/packages/patches/ruby-rubygems-276-for-ruby24.patch \ %D%/packages/patches/ruby-rack-ignore-failing-test.patch \ %D%/packages/patches/ruby-safe-yaml-add-require-time.patch \ diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 7d3f7f019c..e622d2df4d 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -1062,7 +1062,18 @@ emulation community. It provides highly accurate emulation.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0y7rcpz7psf8k3agsrq277jdm651vbnn9xpqvmj2in1a786idya7")))) + (base32 "0y7rcpz7psf8k3agsrq277jdm651vbnn9xpqvmj2in1a786idya7")) + (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)))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests @@ -1074,7 +1085,7 @@ emulation community. It provides highly accurate emulation.") (etc (string-append out "/etc")) (vulkan (assoc-ref inputs "vulkan-loader")) (wayland-protocols (assoc-ref inputs "wayland-protocols"))) - ;; Hard-code the path to libvulkan.so. + ;; Hard-code some store file names. (substitute* "gfx/common/vulkan_common.c" (("libvulkan.so") (string-append vulkan "/lib/libvulkan.so"))) (substitute* "gfx/common/wayland/generate_wayland_protos.sh" @@ -1082,10 +1093,12 @@ emulation community. It provides highly accurate emulation.") (string-append wayland-protocols "/share/wayland-protocols"))) (substitute* "qb/qb.libs.sh" (("/bin/true") (which "true"))) + ;; Use shared zlib. (substitute* '("libretro-common/file/archive_file_zlib.c" "libretro-common/streams/trans_stream_zlib.c") (("<compat/zlib.h>") "<zlib.h>")) + ;; The configure script does not yet accept the extra arguments ;; (like ‘CONFIG_SHELL=’) passed by the default configure phase. (invoke diff --git a/gnu/packages/patches/retroarch-disable-online-updater.patch b/gnu/packages/patches/retroarch-disable-online-updater.patch new file mode 100644 index 0000000000..99af848f6a --- /dev/null +++ b/gnu/packages/patches/retroarch-disable-online-updater.patch @@ -0,0 +1,19 @@ +diff -Naur retroarch.a/menu/menu_setting.c retroarch.c/menu/menu_setting.c +--- retroarch.a/menu/menu_setting.c 1970-01-01 01:00:01.000000000 +0100 ++++ retroarch.c/menu/menu_setting.c 2019-11-29 18:13:05.999578841 +0100 +@@ -7292,6 +7292,7 @@ + &subgroup_info, + parent_group); + ++ /* + CONFIG_ACTION( + list, list_info, + MENU_ENUM_LABEL_ONLINE_UPDATER, +@@ -7299,6 +7300,7 @@ + &group_info, + &subgroup_info, + parent_group); ++ */ + #endif + + CONFIG_ACTION( -- 2.23.0