summaryrefslogtreecommitdiff
path: root/nongnu/packages/game-client.scm
diff options
context:
space:
mode:
authorJohn Kehayias <john.kehayias@protonmail.com>2025-02-02 17:53:09 -0500
committerJohn Kehayias <john.kehayias@protonmail.com>2025-02-03 15:57:36 -0500
commite65677969e7ba6afd6c327379e24da0bed2f3adc (patch)
treeba6c1f38ed2391d7c63781c5cd8d8e05e05598b0 /nongnu/packages/game-client.scm
parent5c6ef7cafdfabdacae8ce33410b41168a952d4ff (diff)
nonguix: binary-build-system: Use add-rpath instead of set-rpath.
Fixes #369. Previously we were using "patchelf --set-rpath" in binary-build-system for binaries to find dependencies in Guix. However, this will override any previous setting, including if "$ORIGIN" was in RUNPATH. For Electron applications specifically (like signal-desktop and heroic), bundled libraries were not found without wrapping with LD_LIBRARY_PATH. While this does work, it is not ideal and led to issues in child processes that inherit LD_LIBRARY_PATH, namely breaking games using Wine/Proton in Heroic. A possible consequence of this commit is that Guix added paths to RUNPATH are after what was originally set, perhaps leading to library loading/compatibility issues. However, we always try to replace all needed libraries with Guix packages (just that Electron applications seem to require bundled libraries in $ORIGIN). * nonguix/build/binary-build-system.scm (patchelf): Use add-rpath instead of set-rpath. * nongnu/packages/game-client.scm (heroic-client)[arguments]<#:phases>: Remove 'wrap-where-patchelf-does-not-work phase as it is no longer needed (needed libraries are found with $ORIGIN preserved in RUNPATH). * nongnu/packages/messaging.scm (element-desktop, signal-desktop): Likewise. * nongnu/packages/editors.scm (vscodium): Likewise.
Diffstat (limited to 'nongnu/packages/game-client.scm')
-rw-r--r--nongnu/packages/game-client.scm10
1 files changed, 1 insertions, 9 deletions
diff --git a/nongnu/packages/game-client.scm b/nongnu/packages/game-client.scm
index cb2730b..1f8b021 100644
--- a/nongnu/packages/game-client.scm
+++ b/nongnu/packages/game-client.scm
@@ -97,15 +97,7 @@
(lambda _
(mkdir-p (string-append #$output "/bin"))
(symlink (string-append #$output "/lib/Heroic/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"))
- ":")))))))))
+ (string-append #$output "/bin/heroic")))))))
(home-page "https://heroicgameslauncher.com")
(synopsis "A Native GOG, Amazon and Epic Games Launcher")
(description "Heroic is an Open Source Game Launcher. Right now it supports launching