Compare commits

...

15 Commits

Author SHA1 Message Date
John Kehayias
2ed247c0c8
gnu: heroic-client: Fix .desktop file.
* nongnu/packages/game-client.scm (heroic-client)[arguments]<#:phases>: Add
fix-desktop-file phase to set the "Exec" line to "heroic" to run the correct
binary.  Remove setting the full store path in the .desktop file in the
setup-cwd phase.  Delete the patch-dot-desktop-files phase (not needed).
2025-02-16 18:50:04 -05:00
John Kehayias
8327932008
nongnu: steam-client-libs: Add fonts for emojis and CJK scripts.
The choice of fonts here is arbitrary, chosen as the google-noto set has fonts
for emoji and Chinese/Japanese/Korean and related scripts.  This fixes missing
emoji and characters from these languages in the Steam interface.  It would be
better to be able to use the font configuration and fonts from the host system
in the container, though.

* nongnu/packages/game-client.scm (steam-client-libs): Add font-google-noto,
font-google-noto-emoji, font-google-noto-sans-cjk, font-google-noto-serif-cjk.
2025-02-16 18:48:00 -05:00
John Kehayias
0d9c22d1c4
multiarch-container: make-internal-script: Add nss to LD_LIBRARY_PATH.
* nonguix/multiarch-container.scm (make-internal-script): Add nss to
LD_LIBRARY_PATH (as nss puts libraries in lib/nss).
2025-02-16 18:39:57 -05:00
John Kehayias
794aa4eff8
nongnu: heroic-client: Fix synopsis.
* nongnu/packages/game-client.scm (heroic-client): Fix synopsis to satisfy
guix lint.
2025-02-16 18:34:17 -05:00
John Kehayias
9f06b18aef
nongnu: linux-firmware: Update to 20250211.
* nongnu/packages/linux.scm (linux-firmware): Update to 20250211.
2025-02-14 10:55:16 -05:00
Hilton Chain
3df2e2ccc4
nongnu: linux-xanmod: Update to 6.12.13.
* nongnu/packages/linux.scm (linux-xanmod-version): Update to 6.12.13.
(linux-xanmod-source): Update hash.
2025-02-13 23:39:25 +08:00
Hilton Chain
c385e67f7d
nongnu: nvidia-driver-beta: Update to 570.86.16.
* nongnu/packages/nvidia.scm (nvidia-driver-snippet): Unbundle egl-x11.
(nvidia-driver-beta): Update to 570.86.16.
[inputs]: Add egl-x11.
[arguments]<#:install-plan>: Install its EGL external platform configurations.
Install sandboxutils-filelist.json.
<#:phases>: Adjust for egl-x11.
(nvidia-settings-beta): Update to 570.86.16.
2025-02-13 23:39:24 +08:00
John Kehayias
bd2f475ac6
nongnu: heroic-client: Reduce wrapper-plan.
Most entries were unneeded or didn't make sense (trying to wrap the
libraries).

* nongnu/packages/game-client.scm (heroic-client)[arguments]<#:wrapper-plan>:
Remove unneeded entries.
2025-02-09 14:11:52 -05:00
John Kehayias
9d4664b3d2
nongnu: vscodium: Update wrapper-plan to include binary path.
* nongnu/packages/editors.scm (vscodium)[arguments]<#:wrapper-plan>: Add the
path for codium to its wrapper-plan.
<#:phases>: Remove wrap-where-patchelf-does-not-work phase as it is no longer
needed.
2025-02-09 14:11:50 -05:00
John Kehayias
35d63ed31a
nongnu: element-desktop: Update wrapper-plan to include binary path.
* nongnu/packages/messaging.scm (element-desktop)[arguments]<#:wrapper-plan>:
Add the path for element-desktop to its wrapper-plan.
<#:phases>: Remove wrap-where-patchelf-does-not-work phase as it is no longer
needed.
2025-02-09 14:11:48 -05:00
John Kehayias
8c1658014a
nongnu: signal-desktop: Update wrapper-plan to include binary path.
* nongnu/packages/messaging.scm (signal-desktop)[arguments]<#:wrapper-plan>:
Add the path for signal-desktop to its wrapper-plan.
<#:phases>: Remove wrap-where-patchelf-does-not-work phase as it is no longer
needed.
2025-02-09 14:11:46 -05:00
John Kehayias
7197aec14c
nongnu: heroic-client: Update to 2.15.2.
* nongnu/packages/game-client.scm (heroic-client): Update to 2.15.2.
2025-02-09 14:11:44 -05:00
John Kehayias
1be22dfea3
nongnu: heroic-client: Update wrapper-plan to include binary path.
* nongnu/packages/game-client.scm (heroic-client)[arguments]<#:wrapper-plan>:
Add the path for heroic to its wrapper-plan.
<#:phases>: Remove wrap-where-patchelf-does-not-work phase as it is no longer
needed.
2025-02-09 14:11:42 -05:00
John Kehayias
26778f221b
nonguix: chromium-binary-build: Extend wrapper-plan syntax.
This commit is similar to a0079cf1bd which
allowed patchelf-plan to take entries with an optional path.  Here,
wrapper-plan is extended to allow for additional syntax (not just a list of
strings) similar to patchelf-plan.  Now, entries can be a list, with the first
the string for the file to be patched and the second a list which is added to
the patchelf-plan.

This allows, for example, to patch RPATH to effectively have $ORIGIN for
binaries that need it, with an entry like `("bin/binary" (("out"
"/lib/Binary")))` common for some chromium-based packages.  See followup
commits for these changes to reduce LD_LIBRARY_PATH wrapping in some packages.

* nonguix/build-system/chromium-binary.scm (build-patchelf-plan): Handle
entries in wrapper-plan which are a list so that the cdr is added to
patchelf-plan for the car.
(chromium-binary-build): Update doc string for this change and some basics
which were not documented.
2025-02-09 14:11:39 -05:00
Ashish SHUKLA
1df7887148
nongnu: signal-desktop: Update to 7.41.0.
* nongnu/packages/messaging.scm (signal-desktop): Update to 7.41.0.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2025-02-07 19:49:10 +01:00
7 changed files with 92 additions and 72 deletions

View File

@ -40,7 +40,7 @@
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files (list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
#:substitutable? #f #:substitutable? #f
#:wrapper-plan #:wrapper-plan
#~'("opt/vscodium/codium") #~'(("opt/vscodium/codium" (("out" "/opt/vscodium"))))
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(replace 'unpack (replace 'unpack
@ -83,15 +83,7 @@
#:startup-w-m-class "Code" #:startup-w-m-class "Code"
#:comment #:comment
'(("en" "Code Editing. Redefined.") '(("en" "Code Editing. Redefined.")
(#f "Code Editing. Redefined.")))))) (#f "Code Editing. Redefined.")))))))))
(add-after 'install-wrapper 'wrap-where-patchelf-does-not-work
(lambda _
(wrap-program (string-append #$output "/bin/codium")
`("LD_LIBRARY_PATH" ":"
prefix
(,(string-join
(list (string-append #$output "/opt/vscodium"))
":")))))))))
(supported-systems '("armhf-linux" "aarch64-linux" "x86_64-linux")) (supported-systems '("armhf-linux" "aarch64-linux" "x86_64-linux"))
(native-inputs (native-inputs
(list tar)) (list tar))

View File

@ -58,7 +58,7 @@
(define heroic-client (define heroic-client
(package (package
(name "heroic-client") (name "heroic-client")
(version "2.14.1") (version "2.15.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -67,19 +67,12 @@
version "/heroic_" version "_amd64.deb")) version "/heroic_" version "_amd64.deb"))
(sha256 (sha256
(base32 (base32
"17q8cylhyp48qmjrn6jx0fvpp84q4lb9qvgc99c9y7m31xp897nw")))) "1bzdb9nqmr9w092c22n57ldykm00n98d78rhqzypf430lrl0kzcj"))))
(build-system chromium-binary-build-system) (build-system chromium-binary-build-system)
(arguments (arguments
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files (list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
#:wrapper-plan #:wrapper-plan
#~'("lib/Heroic/heroic" #~'(("lib/Heroic/heroic" (("out" "/lib/Heroic"))))
"lib/Heroic/libEGL.so"
"lib/Heroic/libGLESv2.so"
"lib/Heroic/libvk_swiftshader.so"
"lib/Heroic/libvulkan.so.1"
"lib/Heroic/chrome-sandbox"
"lib/Heroic/chrome_crashpad_handler"
"lib/Heroic/libffmpeg.so")
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'binary-unpack 'setup-cwd (add-after 'binary-unpack 'setup-cwd
@ -88,26 +81,23 @@
;; Use the more standard lib directory for everything. ;; Use the more standard lib directory for everything.
(rename-file "opt/" "lib") (rename-file "opt/" "lib")
;; Remove unneeded files. ;; Remove unneeded files.
(delete-file-recursively "usr") (delete-file-recursively "usr")))
;; Fix the .desktop file binary location. ;; Fix the .desktop file "Exec" line to just be "heroic" in
(substitute* '("share/applications/heroic.desktop") ;; order for this desktop file to be useful to launch heroic in
(("/opt/Heroic/") ;; the container (heroic package) as well.
(string-append #$output "/bin/"))))) (add-after 'patch-dot-desktop-files 'fix-desktop-file
(lambda _
(substitute*
(string-append #$output "/share/applications/heroic.desktop")
(("Exec=.*/heroic") "Exec=heroic"))))
(delete 'patch-dot-desktop-files)
(add-after 'install 'symlink-binary-file (add-after 'install 'symlink-binary-file
(lambda _ (lambda _
(mkdir-p (string-append #$output "/bin")) (mkdir-p (string-append #$output "/bin"))
(symlink (string-append #$output "/lib/Heroic/heroic") (symlink (string-append #$output "/lib/Heroic/heroic")
(string-append #$output "/bin/heroic")))) (string-append #$output "/bin/heroic")))))))
(add-after 'install-wrapper 'wrap-where-patchelf-does-not-work
(lambda _
(wrap-program (string-append #$output "/lib/Heroic/heroic")
`("LD_LIBRARY_PATH" ":" prefix
(,(string-join
(list
(string-append #$output "/lib/Heroic"))
":")))))))))
(home-page "https://heroicgameslauncher.com") (home-page "https://heroicgameslauncher.com")
(synopsis "A Native GOG, Amazon and Epic Games Launcher") (synopsis "Native GOG, Amazon and Epic Games Launcher")
(description "Heroic is an Open Source Game Launcher. Right now it supports launching (description "Heroic is an Open Source Game Launcher. Right now it supports launching
games from the Epic Games Store using Legendary, GOG Games using our custom games from the Epic Games Store using Legendary, GOG Games using our custom
implementation with gogdl and Amazon Games using Nile.") implementation with gogdl and Amazon Games using Nile.")
@ -179,6 +169,12 @@ implementation with gogdl and Amazon Games using Nile.")
("fontconfig" ,fontconfig) ; Required for steam client. ("fontconfig" ,fontconfig) ; Required for steam client.
("file" ,file) ; Used for steam installation. ("file" ,file) ; Used for steam installation.
("find" ,findutils) ; Required at least for some logging. ("find" ,findutils) ; Required at least for some logging.
("font-google-noto" ,font-google-noto) ; Not required but to match following fonts.
;; These next three fonts are to cover emoji and Chinese/Japanese/Korean
;; and related scripts.
("font-google-noto-emoji" ,font-google-noto-emoji)
("font-google-noto-sans-cjk" ,font-google-noto-sans-cjk)
("font-google-noto-serif-cjk" ,font-google-noto-serif-cjk)
("freetype" ,freetype) ; Required for steam login. ("freetype" ,freetype) ; Required for steam login.
("gawk" ,gawk) ("gawk" ,gawk)
("gdk-pixbuf" ,gdk-pixbuf) ; Required for steam tray icon. ("gdk-pixbuf" ,gdk-pixbuf) ; Required for steam tray icon.

View File

@ -279,7 +279,7 @@ distribution with custom settings and new features. It's built to provide a
stable, responsive and smooth desktop experience."))) stable, responsive and smooth desktop experience.")))
;; Linux-XanMod sources ;; Linux-XanMod sources
(define-public linux-xanmod-version "6.12.10") (define-public linux-xanmod-version "6.12.13")
(define-public linux-xanmod-revision "xanmod1") (define-public linux-xanmod-revision "xanmod1")
(define-public linux-xanmod-source (define-public linux-xanmod-source
(make-linux-xanmod-source (make-linux-xanmod-source
@ -287,7 +287,7 @@ stable, responsive and smooth desktop experience.")))
linux-xanmod-revision linux-xanmod-revision
#:xanmod-branch "main" #:xanmod-branch "main"
#:kernel-hash (base32 "1sr58vsh39hdwk0z27lg14isqwn4g8m4r7a8z2rsyhkfwlmmd8mi") #:kernel-hash (base32 "1sr58vsh39hdwk0z27lg14isqwn4g8m4r7a8z2rsyhkfwlmmd8mi")
#:xanmod-hash (base32 "1szi250nhj5j9km8q0z32hdf38kkl6kry5jh71dpc1ar0x1b26bd"))) #:xanmod-hash (base32 "18a7hbm7gvf6b7wr84rszmpl1yb3mdgj2plv5627mv09dn87lvz2")))
(define-public linux-xanmod-lts-version "6.6.72") (define-public linux-xanmod-lts-version "6.6.72")
(define-public linux-xanmod-lts-revision "xanmod1") (define-public linux-xanmod-lts-revision "xanmod1")
@ -318,14 +318,14 @@ stable, responsive and smooth desktop experience.")))
(define-public linux-firmware (define-public linux-firmware
(package (package
(name "linux-firmware") (name "linux-firmware")
(version "20250109") (version "20250211")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://kernel.org/linux/kernel/firmware/" (uri (string-append "mirror://kernel.org/linux/kernel/firmware/"
"linux-firmware-" version ".tar.xz")) "linux-firmware-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0w0mclq20jcam6xl6jbil3n9vw74nqlvw0k7dkslnfck8y7v6b51")))) "0z998nxplnc22nbj3yzdyjjs433p92rzvq2x5i9rv0xzjxc39q9d"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list #:tests? #f (list #:tests? #f

View File

@ -4,6 +4,7 @@
;;; Copyright © 2022 Evgenii Lepikhin <johnlepikhin@gmail.com> ;;; Copyright © 2022 Evgenii Lepikhin <johnlepikhin@gmail.com>
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2023 Raven Hallsby <karl@hallsby.org> ;;; Copyright © 2023 Raven Hallsby <karl@hallsby.org>
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
(define-module (nongnu packages messaging) (define-module (nongnu packages messaging)
#:use-module (gnu packages base) #:use-module (gnu packages base)
@ -51,7 +52,7 @@
(arguments (arguments
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files (list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
#:wrapper-plan #:wrapper-plan
#~'("lib/Element/element-desktop") #~'(("lib/Element/element-desktop" (("out" "/lib/Element"))))
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'binary-unpack 'setup-cwd (add-after 'binary-unpack 'setup-cwd
@ -69,15 +70,7 @@
(lambda _ (lambda _
(mkdir-p (string-append #$output "/bin")) (mkdir-p (string-append #$output "/bin"))
(symlink (string-append #$output "/lib/Element/element-desktop") (symlink (string-append #$output "/lib/Element/element-desktop")
(string-append #$output "/bin/element-desktop")))) (string-append #$output "/bin/element-desktop")))))))
(add-after 'install-wrapper 'wrap-where-patchelf-does-not-work
(lambda _
(wrap-program (string-append #$output "/lib/Element/element-desktop")
`("LD_LIBRARY_PATH" ":" prefix
(,(string-join
(list
(string-append #$output "/lib/Element"))
":")))))))))
(home-page "https://github.com/vector-im/element-desktop") (home-page "https://github.com/vector-im/element-desktop")
(synopsis "Matrix collaboration client for desktop") (synopsis "Matrix collaboration client for desktop")
(description "Element Desktop is a Matrix client for desktop with Element Web at (description "Element Desktop is a Matrix client for desktop with Element Web at
@ -90,7 +83,7 @@ its core.")
(define-public signal-desktop (define-public signal-desktop
(package (package
(name "signal-desktop") (name "signal-desktop")
(version "7.39.0") (version "7.41.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -99,13 +92,13 @@ its core.")
"https://updates.signal.org/desktop/apt/pool/s/" name "/" name "_" version "https://updates.signal.org/desktop/apt/pool/s/" name "/" name "_" version
"_amd64.deb")) "_amd64.deb"))
(sha256 (sha256
(base32 "16xm74km0zmf1725knlzbl9j87ynzq7h37rqki6kmcnb3q7hgpf7")))) (base32 "1ainlhhzf427f0jqdh83m8519ywihnxyiw505n4msgyhpwgwj5n0"))))
(supported-systems '("x86_64-linux")) (supported-systems '("x86_64-linux"))
(build-system chromium-binary-build-system) (build-system chromium-binary-build-system)
(arguments (arguments
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files (list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
#:wrapper-plan #:wrapper-plan
#~'("lib/Signal/signal-desktop") #~'(("lib/Signal/signal-desktop" (("out" "/lib/Signal"))))
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'binary-unpack 'setup-cwd (add-after 'binary-unpack 'setup-cwd
@ -123,15 +116,7 @@ its core.")
(lambda _ (lambda _
(mkdir-p (string-append #$output "/bin")) (mkdir-p (string-append #$output "/bin"))
(symlink (string-append #$output "/lib/Signal/signal-desktop") (symlink (string-append #$output "/lib/Signal/signal-desktop")
(string-append #$output "/bin/signal-desktop")))) (string-append #$output "/bin/signal-desktop")))))))
(add-after 'install-wrapper 'wrap-where-patchelf-does-not-work
(lambda _
(wrap-program (string-append #$output "/lib/Signal/signal-desktop")
`("LD_LIBRARY_PATH" ":" prefix
(,(string-join
(list
(string-append #$output "/lib/Signal"))
":")))))))))
(home-page "https://signal.org/") (home-page "https://signal.org/")
(synopsis "Private messenger using the Signal protocol") (synopsis "Private messenger using the Signal protocol")
(description "Signal Desktop is an Electron application that links with Signal on Android (description "Signal Desktop is an Electron application that links with Signal on Android

View File

@ -89,6 +89,9 @@
"libnvidia-egl-gbm\\.so\\." "libnvidia-egl-gbm\\.so\\."
;; egl-wayland ;; egl-wayland
"libnvidia-egl-wayland\\.so\\." "libnvidia-egl-wayland\\.so\\."
;; egl-x11
"libnvidia-egl-xcb\\.so\\."
"libnvidia-egl-xlib\\.so\\."
;; libglvnd ;; libglvnd
"libEGL\\.so\\." "libEGL\\.so\\."
"libGL\\.so\\." "libGL\\.so\\."
@ -441,29 +444,60 @@ mainly used as a dependency of other packages. For user-facing purpose, use
(package (package
(inherit nvidia-driver) (inherit nvidia-driver)
(name "nvidia-driver-beta") (name "nvidia-driver-beta")
(version "565.57.01") (version "570.86.16")
(source (nvidia-source (source (nvidia-source
version "0yic33xx1b3jbgciphlwh6zqfj21vx9439zm0j45wf2yb17fksvf")) version "1mfbc59g5v1c6dqissg1mfawvaknqrr7r985214py92lnr5ylqs5"))
(arguments (arguments
(substitute-keyword-arguments (package-arguments nvidia-driver) (substitute-keyword-arguments (package-arguments nvidia-driver)
((#:install-plan plan) ((#:install-plan plan)
#~(cons '("nvidia_icd_vksc.json" "etc/vulkansc/icd.d/") #~(append
#$plan)) #$plan
'(("." "share/egl/egl_external_platform.d/" #:include-regexp ("(xcb|xlib)\\.json$"))
("nvidia_icd_vksc.json" "etc/vulkansc/icd.d/")
("sandboxutils-filelist.json" "share/nvidia/files.d/"))))
((#:phases phases) ((#:phases phases)
#~(modify-phases #$phases #~(modify-phases #$phases
(add-after 'create-misc-files 'create-misc-files-for-beta (add-after 'create-misc-files 'create-misc-files-for-beta
(lambda _ (lambda* (#:key inputs #:allow-other-keys)
;; EGL external platform configuraiton
(substitute* '("20_nvidia_xcb.json"
"20_nvidia_xlib.json")
(("libnvidia-egl-(xcb|xlib)\\.so\\.." all)
(search-input-file inputs (string-append "lib/" all))))
;; VulkanSC ICD configuration ;; VulkanSC ICD configuration
(substitute* "nvidia_icd_vksc.json" (substitute* "nvidia_icd_vksc.json"
(("libnvidia-vksc-core\\.so\\.." all) (("libnvidia-vksc-core\\.so\\.." all)
(string-append #$output "/lib/" all))))) (string-append #$output "/lib/" all)))))
(add-after 'add-architecture-to-filename 'add-architecture-to-filename-for-beta
(lambda _
(for-each
(lambda (path)
(let* ((out #$output)
(system #$(or (%current-target-system)
(%current-system)))
(dash (string-index system #\-))
(arch (string-take system dash))
(dot (string-index-right path #\.))
(base (string-take path dot))
(ext (string-drop path (+ 1 dot))))
;; <...>/nvidia.icd -> <...>/nvidia.x86_64.icd
;; <...>/nvidia_icd.json -> <...>/nvidia_icd.x86_64.json
(rename-file
(string-append out path)
(string-append out base "." arch "." ext))))
'("/share/egl/egl_external_platform.d/20_nvidia_xcb.json"
"/share/egl/egl_external_platform.d/20_nvidia_xlib.json"))))
(add-after 'install-commands 'install-commands-for-beta (add-after 'install-commands 'install-commands-for-beta
(lambda _ (lambda _
(when (string-match (when (string-match
"x86_64-linux" "x86_64-linux"
(or #$(%current-target-system) #$(%current-system))) (or #$(%current-target-system) #$(%current-system)))
(install-file "nvidia-pcc" (install-file "nvidia-pcc"
(string-append #$output "/bin"))))))))))) (string-append #$output "/bin")))))))))
(inputs
(modify-inputs (package-inputs nvidia-driver)
(prepend egl-x11)))))
(define-public nvidia-libs (define-public nvidia-libs
(deprecated-package "nvidia-libs" nvidia-driver)) (deprecated-package "nvidia-libs" nvidia-driver))
@ -686,10 +720,10 @@ configuration, creating application profiles, gpu monitoring and more.")
(package (package
(inherit nvidia-settings) (inherit nvidia-settings)
(name "nvidia-settings-beta") (name "nvidia-settings-beta")
(version "565.57.01") (version "570.86.16")
(source (nvidia-settings-source (source (nvidia-settings-source
name version name version
"006my5a69689wkzjcg3k1y35ifmizfyfj4n7f02naxhbgrxq9fqz")) "0gs5iml7yp5sd6vybj3alb6cg06ylljn4h7iwp2i1jhkms3nmfzn"))
(inputs (inputs
(modify-inputs (package-inputs nvidia-settings) (modify-inputs (package-inputs nvidia-settings)
(prepend vulkan-headers))))) (prepend vulkan-headers)))))

View File

@ -54,7 +54,12 @@
#~(let ((patchelf-inputs #~(let ((patchelf-inputs
(list #$@(map car inputs)))) (list #$@(map car inputs))))
(map (lambda (file) (map (lambda (file)
(cons file (list patchelf-inputs))) ;; Either an entry in WRAPPER-PLAN is just a string which can be
;; used directly, or it is a list where the second element is a
;; list of additional inputs for patchelf-plan.
(if (list? file)
(cons (car file) (list (append patchelf-inputs (cadr file))))
(cons file (list patchelf-inputs))))
#$wrapper-plan))) #$wrapper-plan)))
(define* (lower name (define* (lower name
@ -163,7 +168,13 @@
(substitutable? #t) (substitutable? #t)
allowed-references allowed-references
disallowed-references) disallowed-references)
"Build SOURCE using binary-build-system." "Build SOURCE using binary-build-system. WRAPPER-PLAN is a list of strings for
files which patchelf will add the INPUTS (which implicitly includes the base
packages needed for chromium-based binaries) to RPATH and wrap with needed
environment variables. Optionally, an entry can be a list with the first
entry the file to be patched and the second a list of additional inputs for
patchelf, like PATCHELF-PLAN in binary-build-system. PATCHELF-PLAN itself is
ignored if WRAPPER-PLAN is not '()."
(define builder (define builder
(with-imported-modules imported-modules (with-imported-modules imported-modules
#~(begin #~(begin

View File

@ -570,7 +570,9 @@ application."
;; games). Wait to set this inside the container to not cause ;; games). Wait to set this inside the container to not cause
;; issues on foreign distros, see ;; issues on foreign distros, see
;; <https://gitlab.com/nonguix/nonguix/-/issues/303> ;; <https://gitlab.com/nonguix/nonguix/-/issues/303>
(setenv "LD_LIBRARY_PATH" "/lib64:/lib:/lib64/vdpau:/lib/vdpau") (setenv "LD_LIBRARY_PATH"
(string-append "/lib64:/lib:/lib64/nss:/lib/nss:"
"/lib64/vdpau:/lib/vdpau"))
;; Process FHS-specific command line options. ;; Process FHS-specific command line options.
(let* ((options (getopt-long (or fhs-args '("")) fhs-option-spec)) (let* ((options (getopt-long (or fhs-args '("")) fhs-option-spec))