From 6c51f01ad8583cbb1caa6ee194eafc5fe539cb7f Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Sun, 3 Sep 2023 22:34:47 -0400 Subject: [PATCH] nongnu: steam: Work around propagated libx11 profile collision. Fixes #281. Use the same fix as when this happened before with expat and fontconfig, as in commit 3df99d77698a79f3c1dfdaf1becb96956f9ec65d. * nongnu/packages/steam-client.scm (libxdamage-fixed, mesa-fixed): New variables. (steam-client-libs): Replace mesa with mesa-fixed. --- nongnu/packages/steam-client.scm | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/nongnu/packages/steam-client.scm b/nongnu/packages/steam-client.scm index 18543ec..b25a751 100644 --- a/nongnu/packages/steam-client.scm +++ b/nongnu/packages/steam-client.scm @@ -46,6 +46,7 @@ #:use-module (gnu packages python-xyz) #:use-module (gnu packages toolkits) #:use-module (gnu packages video) + #:use-module (gnu packages xorg) #:use-module (nonguix multiarch-container) #:use-module (nonguix utils)) @@ -104,6 +105,28 @@ (description "Steam is a digital software distribution platform created by Valve.") (license (license:nonfree "file:///share/doc/steam/steam_subscriber_agreement.txt")))) +;; After guix commit to add a replacement for libx11 (security fixes), +;; 5ff0c8997a2ddf71af477883584a5f9ccd9b757f, a profile collision happens with +;; the propagated libx11 (now grafted) from mesa and its propagated-input +;; libxdamage. See previous upstream report (when this occurred for expat and +;; fontconfig) at . So we define explicit +;; replacement packages to workaround this issue. +;; TODO: remove once upstream bug is fixed or libx11 is ungrafted. +(define libxdamage-fixed + (package + (inherit libxdamage) + (propagated-inputs + (modify-inputs (package-propagated-inputs libxdamage) + (replace "libx11" libx11-fixed))))) + +(define mesa-fixed + (package + (inherit mesa) + (propagated-inputs + (modify-inputs (package-propagated-inputs mesa) + (replace "libx11" libx11-fixed) + (replace "libxdamage" libxdamage-fixed))))) + (define steam-client-libs `(("bash" ,bash) ; Required for steam startup. ("coreutils" ,coreutils) @@ -126,7 +149,9 @@ ("libvdpau-va-gl" ,libvdpau-va-gl) ; Additional VDPAU support. ("llvm" ,llvm-for-mesa) ; Required for mesa. ("lsof" ,lsof) ; Required for some friend's list actions. - ("mesa" ,mesa) ; Required for steam startup. + ;; TODO: Set back to mesa once libx11 is ungrafted upstream or once + ;; is fixed. + ("mesa" ,mesa-fixed) ; Required for steam startup. ("nss-certs" ,nss-certs) ; Required for steam login. ("pciutils" ,pciutils) ; Tries to run lspci at steam startup. ("procps" ,procps)