git.iko.soy/typeable/nixpkgs
on master help sign in
Merge pull request #106409 from jonringer/fix-steam

steam: fix paradox launchers, and electron apps

commit6a4be92dd86dd589dd5c52145d7fe34353af8479 authorMartin Weinelt <mweinelt@users.noreply.github.com> dateWed 9 Dec 2020, 17:08 (6 years ago) parent253de1f2831a66
2 files changed+30−12
pkgs/build-support/build-fhs-userenv-bubblewrap/default.nix+22−11 pkgs/games/steam/fhsenv.nix+8−1
pkgs/build-support/build-fhs-userenv-bubblewrap/default.nix+22−11
@@ -1,20 +1,27 @@
1−{ callPackage, runCommandLocal, writeShellScriptBin, stdenv, coreutils, bubblewrap }:
2−
3−let buildFHSEnv = callPackage ./env.nix { }; in
1+{ lib, callPackage, runCommandLocal, writeShellScriptBin, stdenv, coreutils, bubblewrap }:
42
53args @ {
6− name,
7− runScript ? "bash",
8− extraInstallCommands ? "",
9− meta ? {},
10− passthru ? {},
11− ...
4+ name
5+, runScript ? "bash"
6+, extraInstallCommands ? ""
7+, meta ? {}
8+, passthru ? {}
9+, unshareUser ? true
10+, unshareIpc ? true
11+, unsharePid ? true
12+, unshareNet ? false
13+, unshareUts ? true
14+, unshareCgroup ? true
15+, ...
1216}:
1317
1418with builtins;
1519let
20+ buildFHSEnv = callPackage ./env.nix { };
21+
1622 env = buildFHSEnv (removeAttrs args [
1723 "runScript" "extraInstallCommands" "meta" "passthru"
24+ "unshareUser" "unshareCgroup" "unshareUts" "unshareNet" "unsharePid" "unshareIpc"
1825 ]);
1926
2027 chrootenv = callPackage ./chrootenv {};
@@ -92,8 +99,12 @@ let
9299 --dev-bind /dev /dev
93100 --proc /proc
94101 --chdir "$(pwd)"
95− --unshare-all
96− --share-net
102+ ${lib.optionalString unshareUser "--unshare-user"}
103+ ${lib.optionalString unshareIpc "--unshare-ipc"}
104+ ${lib.optionalString unsharePid "--unshare-pid"}
105+ ${lib.optionalString unshareNet "--unshare-net"}
106+ ${lib.optionalString unshareUts "--unshare-uts"}
107+ ${lib.optionalString unshareCgroup "--unshare-cgroup"}
97108 --die-with-parent
98109 --ro-bind /nix /nix
99110 ${etcBindFlags}
pkgs/games/steam/fhsenv.nix+8−1
@@ -35,6 +35,10 @@ let
3535 # Steam VR
3636 procps
3737 usbutils
38+
39+ # electron based launchers need newer versions of these libraries than what runtime provides
40+ mesa
41+ sqlite
3842 ] ++ lib.optional withJava jdk8 # TODO: upgrade https://github.com/NixOS/nixpkgs/pull/89731
3943 ++ lib.optional withPrimus primus
4044 ++ extraPkgs pkgs;
@@ -175,7 +179,6 @@ in buildFHSUserEnv rec {
175179 libidn
176180 tbb
177181 wayland
178− mesa
179182 libxkbcommon
180183
181184 # Other things from runtime
@@ -265,6 +268,10 @@ in buildFHSUserEnv rec {
265268 broken = nativeOnly;
266269 };
267270
271+ # allows for some gui applications to share IPC
272+ # this fixes certain issues where they don't render correctly
273+ unshareIpc = false;
274+
268275 passthru.run = buildFHSUserEnv {
269276 name = "steam-run";
270277