[bug#73522,games-team,09/14] gnu: retroarch: Propagate core assets.
Commit Message
The RetroArch menus will not correctly render without its assets, the
plugins won't be usable without the core info files, and controllers won't be
usable without joypad-autoconfig files. Hence...
* gnu/packages/emulators.scm (retroarch-minimal): New variable, renamed from
previous retroarch.
(retroarch) [propagated-inputs]: New field.
Change-Id: I9dccf89da1f35acfa705de9ae02ae5f72a0b1825
---
gnu/packages/emulators.scm | 24 +++++++++++++++++++++---
1 file changed, 21 insertions(+), 3 deletions(-)
@@ -118,7 +118,8 @@ (define-module (gnu packages emulators)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
- #:use-module (guix build-system qt))
+ #:use-module (guix build-system qt)
+ #:use-module (guix build-system trivial))
(define-public vice
(package
@@ -1577,9 +1578,9 @@ (define-public retroarch-joypad-autoconfig
physical device and the RetroPad virtual controller.")
(license license:expat)))
-(define-public retroarch
+(define-public retroarch-minimal
(package
- (name "retroarch")
+ (name "retroarch-minimal")
(version "1.19.1")
(source
(origin
@@ -1737,6 +1738,23 @@ (define-public retroarch
license:bsd-3 ;feragamemode, ibxm
license:gpl2+)))) ;switchres
+(define-public retroarch
+ (package
+ (inherit retroarch-minimal)
+ (name "retroarch")
+ (source #f)
+ (build-system trivial-build-system)
+ (arguments (list #:builder #~(mkdir #$output)))
+ (propagated-inputs
+ (list retroarch-minimal
+ ;; We cannot simply hard-code the resource paths, as they'd written
+ ;; to ~/.config/retroarch.cfg and never updated (going stale),
+ ;; which is problematic. The environment variables overrides the
+ ;; configuration file values.
+ retroarch-assets
+ retroarch-core-info
+ retroarch-joypad-autoconfig))))
+
(define-public wasm4
(package
(name "wasm4")