summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorison <ison@airmail.cc>2020-10-11 06:23:49 -0600
committerPierre Neidhardt <mail@ambrevar.xyz>2020-10-12 15:22:48 +0200
commit3f4febd80b14d0ef85667372f51b393c2dbe322f (patch)
tree4b2ae194b1ada51e86c6f84926caf771f6feadf5
parentd7b56982b6fb645bb98c9659c388b2103baa59b7 (diff)
nongnu: steam: Add ldconfig comment.
* nongnu/packages/steam-client.scm: Add comment explaining why ldconfig must be re-enabled in glibc.
-rw-r--r--nongnu/packages/steam-client.scm18
1 files changed, 18 insertions, 0 deletions
diff --git a/nongnu/packages/steam-client.scm b/nongnu/packages/steam-client.scm
index 1b5a059..51bed53 100644
--- a/nongnu/packages/steam-client.scm
+++ b/nongnu/packages/steam-client.scm
@@ -94,6 +94,24 @@
(description ngc-description (default #f))
(license ngc-license (default #f)))
+;;; We must re-enable ldconfig in glibc for Steam to prefer our system libraries
+;;; over Steam's runtime (which has incompatible Mesa and gcc). This is because
+;;; the Steam script located at
+;;; Steam/ubuntu12_32/steam-runtime/run.sh
+;;; overrides $LD_LIBRARY_PATH with the following order enforced:
+
+;;; * "Pinned" libraries (pinned_libs_{32,64} directories containing symlinks)
+;;; * Output from `/sbin/ldconfig -XNv`
+;;; * steam-runtime paths
+;;; * Existing $LD_LIBRARY_PATH
+
+;;; Without ldconfig Steam's runtime will have priority over system libraries as
+;;; well as any paths supplied to Steam in the initial $LD_LIBRARY_PATH.
+;;; "Pinned" library directories are created after installation, so we can't
+;;; use those either.
+
+;;; Disabling Steam's runtime is another solution, however that will add over
+;;; 80 additional dependencies (see commit: @a12f42e6)
(define glibc-for-fhs
(package
(inherit glibc)