From 07b884a7b1f019f427e4d17e0094326069152f40 Mon Sep 17 00:00:00 2001 From: Timo Wilken Date: Fri, 15 Dec 2023 21:04:24 +0100 Subject: nongnu: steam-nvidia: Fix launching .desktop files. Steam installs .desktop files that refer to an executable called `steam'. Installing steam-nvidia as the `steam-nvidia' executable breaks this, which means Steam cannot be launched from its desktop icon. This also applies to .desktop files for individual games generated by Steam, when they are copied from `/.local/share/applications/'. Fix this by always installing Steam's wrapper executable as `steam'. We add a new field using "binary" to keep things shorter. This has the downside that the `steam' and `steam-nvidia' packages cannot be installed in the same profile, but likely people wouldn't want to do this anyway. Fixes #294. * nongnu/packages/steam-client.scm (steam-nvidia-container)[binary-name]: Specify for compatibility with .desktop files. * nonguix/multiarch-container.scm ()[binary-name, ngc-binary-name]: New field and accessor. (nonguix-container->package): Use it to set correct executable name. (make-internal-script): Use it in message. Co-authored-by: John Kehayias Signed-off-by: John Kehayias --- nonguix/multiarch-container.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'nonguix') diff --git a/nonguix/multiarch-container.scm b/nonguix/multiarch-container.scm index b333b71..8d3bf70 100644 --- a/nonguix/multiarch-container.scm +++ b/nonguix/multiarch-container.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2023 Giacomo Leidi ;;; Copyright © 2023 Attila Lendvai ;;; Copyright © 2023 Elijah Malaby +;;; Copyright © 2023 Timo Wilken ;;; The script provided by this package may optionally be started as ;;; a shell instead of automatically launching the wrapped entrypoint by setting @@ -50,6 +51,7 @@ #:export (nonguix-container nonguix-container? ngc-name + ngc-binary-name ngc-version ngc-wrap-package ngc-run @@ -82,6 +84,7 @@ nonguix-container make-nonguix-container nonguix-container? this-nonguix-container (name ngc-name) + (binary-name ngc-binary-name (default (ngc-name this-nonguix-container)) (thunked)) (version ngc-version (default #f)) (wrap-package ngc-wrap-package) (run ngc-run) @@ -207,7 +210,7 @@ in a sandboxed FHS environment." (manifest-target (assoc-ref %build-inputs "fhs-manifest")) (manifest-dest (string-append out "/etc/" ,(ngc-manifest-name container))) (wrapper-target (assoc-ref %build-inputs "fhs-wrapper")) - (wrapper-dest (string-append out "/bin/" ,(ngc-name container))) + (wrapper-dest (string-append out "/bin/" ,(ngc-binary-name container))) (link-files ',(ngc-link-files container))) (mkdir-p (string-append out "/sbin")) (mkdir-p (string-append out "/etc")) @@ -528,7 +531,7 @@ application." (if asound32-opt (display "\n\n/etc/asound.conf configured for 32-bit.\n\n\n") (display (string-append "\n\n/etc/asound.conf configured for 64-bit.\nLaunch " - #$(ngc-name container) + #$(ngc-binary-name container) " with \"" (basename #$(ngc-run container)) " -- --asound32\" to use 32-bit instead.\n\n\n"))) -- cgit v1.2.3