Skip to content

Commit 459e4b7

Browse files
committedNov 11, 2017
steam: add /steamrt/run.sh
This is needed for Steam Beta which expects run.sh to print runtime library paths. Fixes #31384.
1 parent cbfb586 commit 459e4b7

File tree

1 file changed

+26
-14
lines changed

1 file changed

+26
-14
lines changed
 

‎pkgs/games/steam/chrootenv.nix

+26-14
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,20 @@ let
3737
++ lib.optional withPrimus primus
3838
++ extraPkgs pkgs;
3939

40+
ldPath = map (x: "/steamrt/${steam-runtime-wrapped.arch}/" + x) steam-runtime-wrapped.libs
41+
++ lib.optionals (steam-runtime-wrapped-i686 != null) (map (x: "/steamrt/${steam-runtime-wrapped-i686.arch}/" + x) steam-runtime-wrapped-i686.libs);
42+
43+
runSh = writeScript "run.sh" ''
44+
#!${stdenv.shell}
45+
runtime_paths="${lib.concatStringsSep ":" ldPath}"
46+
if [ "$1" == "--print-steam-runtime-library-paths" ]; then
47+
echo "$runtime_paths"
48+
exit 0
49+
fi
50+
export LD_LIBRARY_PATH="$runtime_paths:$LD_LIBRARY_PATH"
51+
exec "$@"
52+
'';
53+
4054
in buildFHSUserEnv rec {
4155
name = "steam";
4256

@@ -74,6 +88,7 @@ in buildFHSUserEnv rec {
7488
${lib.optionalString (steam-runtime-wrapped-i686 != null) ''
7589
ln -s ../lib32/steam-runtime steamrt/${steam-runtime-wrapped-i686.arch}
7690
''}
91+
ln -s ${runSh} steamrt/run.sh
7792
'';
7893

7994
extraInstallCommands = ''
@@ -96,19 +111,16 @@ in buildFHSUserEnv rec {
96111
targetPkgs = commonTargetPkgs;
97112
inherit multiPkgs extraBuildCommands;
98113

99-
runScript =
100-
let ldPath = map (x: "/steamrt/${steam-runtime-wrapped.arch}/" + x) steam-runtime-wrapped.libs
101-
++ lib.optionals (steam-runtime-wrapped-i686 != null) (map (x: "/steamrt/${steam-runtime-wrapped-i686.arch}/" + x) steam-runtime-wrapped-i686.libs);
102-
in writeScript "steam-run" ''
103-
#!${stdenv.shell}
104-
run="$1"
105-
if [ "$run" = "" ]; then
106-
echo "Usage: steam-run command-to-run args..." >&2
107-
exit 1
108-
fi
109-
shift
110-
export LD_LIBRARY_PATH=${lib.concatStringsSep ":" ldPath}:$LD_LIBRARY_PATH
111-
exec "$run" "$@"
112-
'';
114+
runScript = writeScript "steam-run" ''
115+
#!${stdenv.shell}
116+
run="$1"
117+
if [ "$run" = "" ]; then
118+
echo "Usage: steam-run command-to-run args..." >&2
119+
exit 1
120+
fi
121+
shift
122+
export LD_LIBRARY_PATH=${lib.concatStringsSep ":" ldPath}:$LD_LIBRARY_PATH
123+
exec "$run" "$@"
124+
'';
113125
};
114126
}

0 commit comments

Comments
 (0)
Please sign in to comment.