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 3df99d7769.

* nongnu/packages/steam-client.scm (libxdamage-fixed, mesa-fixed): New
variables.
(steam-client-libs): Replace mesa with mesa-fixed.
This commit is contained in:
John Kehayias 2023-09-03 22:34:47 -04:00
parent 9ef308959e
commit 6c51f01ad8
No known key found for this signature in database
GPG key ID: 499097AE5EA815D9

View file

@ -46,6 +46,7 @@
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages toolkits) #:use-module (gnu packages toolkits)
#:use-module (gnu packages video) #:use-module (gnu packages video)
#:use-module (gnu packages xorg)
#:use-module (nonguix multiarch-container) #:use-module (nonguix multiarch-container)
#:use-module (nonguix utils)) #:use-module (nonguix utils))
@ -104,6 +105,28 @@
(description "Steam is a digital software distribution platform created by Valve.") (description "Steam is a digital software distribution platform created by Valve.")
(license (license:nonfree "file:///share/doc/steam/steam_subscriber_agreement.txt")))) (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 <https://issues.guix.gnu.org/53406>. 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 (define steam-client-libs
`(("bash" ,bash) ; Required for steam startup. `(("bash" ,bash) ; Required for steam startup.
("coreutils" ,coreutils) ("coreutils" ,coreutils)
@ -126,7 +149,9 @@
("libvdpau-va-gl" ,libvdpau-va-gl) ; Additional VDPAU support. ("libvdpau-va-gl" ,libvdpau-va-gl) ; Additional VDPAU support.
("llvm" ,llvm-for-mesa) ; Required for mesa. ("llvm" ,llvm-for-mesa) ; Required for mesa.
("lsof" ,lsof) ; Required for some friend's list actions. ("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
;; <https://issues.guix.gnu.org/53406> is fixed.
("mesa" ,mesa-fixed) ; Required for steam startup.
("nss-certs" ,nss-certs) ; Required for steam login. ("nss-certs" ,nss-certs) ; Required for steam login.
("pciutils" ,pciutils) ; Tries to run lspci at steam startup. ("pciutils" ,pciutils) ; Tries to run lspci at steam startup.
("procps" ,procps) ("procps" ,procps)