2015-12-03 22:57:54 +01:00
|
|
|
{ lib, buildFHSUserEnv, steam
|
2016-01-26 22:45:21 +01:00
|
|
|
, withJava ? false
|
2015-08-23 17:17:15 +02:00
|
|
|
, withPrimus ? false
|
2016-01-26 22:45:21 +01:00
|
|
|
, nativeOnly ? false
|
|
|
|
, runtimeOnly ? false
|
|
|
|
, newStdcpp ? false
|
2015-07-28 12:42:11 +02:00
|
|
|
}:
|
2013-09-13 23:58:59 +02:00
|
|
|
|
2015-02-05 16:16:02 +01:00
|
|
|
buildFHSUserEnv {
|
2013-09-13 23:58:59 +02:00
|
|
|
name = "steam";
|
2014-04-23 01:03:14 +02:00
|
|
|
|
2015-08-06 20:21:43 +02:00
|
|
|
targetPkgs = pkgs: with pkgs; [
|
2015-08-23 17:17:15 +02:00
|
|
|
steamPackages.steam
|
2015-10-15 14:17:28 +02:00
|
|
|
steamPackages.steam-fonts
|
2015-11-12 14:32:09 +01:00
|
|
|
# License agreement
|
|
|
|
gnome3.zenity
|
2015-06-12 01:01:23 +02:00
|
|
|
# Errors in output without those
|
2015-08-06 20:21:43 +02:00
|
|
|
pciutils
|
|
|
|
python2
|
2015-06-12 01:01:23 +02:00
|
|
|
# Games' dependencies
|
2015-08-06 20:21:43 +02:00
|
|
|
xlibs.xrandr
|
|
|
|
which
|
2015-10-15 13:52:43 +02:00
|
|
|
# Needed by gdialog, including in the steam-runtime
|
2015-08-06 20:21:43 +02:00
|
|
|
perl
|
2014-06-15 15:34:27 +02:00
|
|
|
]
|
2016-01-26 22:45:21 +01:00
|
|
|
++ lib.optional withJava jdk
|
2016-03-31 18:51:52 +02:00
|
|
|
++ lib.optional withPrimus (primus.override {
|
2016-04-01 13:36:59 +02:00
|
|
|
stdenv = overrideInStdenv stdenv [ useOldCXXAbi ];
|
|
|
|
stdenv_i686 = overrideInStdenv pkgsi686Linux.stdenv [ useOldCXXAbi ];
|
2016-03-31 18:51:52 +02:00
|
|
|
})
|
2014-06-15 15:34:27 +02:00
|
|
|
;
|
2014-04-23 01:03:14 +02:00
|
|
|
|
2015-08-06 20:21:43 +02:00
|
|
|
multiPkgs = pkgs: with pkgs; [
|
2015-07-28 12:42:11 +02:00
|
|
|
# These are required by steam with proper errors
|
2015-08-06 20:21:43 +02:00
|
|
|
xlibs.libXcomposite
|
|
|
|
xlibs.libXtst
|
|
|
|
xlibs.libXrandr
|
|
|
|
xlibs.libXext
|
|
|
|
xlibs.libX11
|
|
|
|
xlibs.libXfixes
|
|
|
|
|
2015-07-28 12:42:11 +02:00
|
|
|
# Not formally in runtime but needed by some games
|
2015-08-06 20:21:43 +02:00
|
|
|
gst_all_1.gstreamer
|
|
|
|
gst_all_1.gst-plugins-ugly
|
2015-09-08 19:40:58 +02:00
|
|
|
libdrm
|
2014-04-23 01:03:14 +02:00
|
|
|
|
2016-01-26 22:45:21 +01:00
|
|
|
(steamPackages.steam-runtime-wrapped.override {
|
|
|
|
inherit nativeOnly runtimeOnly newStdcpp;
|
|
|
|
})
|
2014-07-10 10:25:19 +02:00
|
|
|
];
|
2014-04-23 01:03:14 +02:00
|
|
|
|
2015-07-28 12:55:47 +02:00
|
|
|
extraBuildCommands = ''
|
2015-08-23 17:17:15 +02:00
|
|
|
mkdir -p steamrt
|
2015-08-06 20:21:43 +02:00
|
|
|
|
2015-08-23 17:17:15 +02:00
|
|
|
ln -s ../lib64/steam-runtime steamrt/amd64
|
2015-11-10 21:59:57 +01:00
|
|
|
ln -s ../lib32/steam-runtime steamrt/i386
|
2014-04-23 01:03:14 +02:00
|
|
|
'';
|
|
|
|
|
2015-12-03 22:57:54 +01:00
|
|
|
extraInstallCommands = ''
|
|
|
|
mkdir -p $out/share/applications
|
|
|
|
ln -s ${steam}/share/icons $out/share
|
|
|
|
ln -s ${steam}/share/pixmaps $out/share
|
|
|
|
sed "s,/usr/bin/steam,$out/bin/steam,g" ${steam}/share/applications/steam.desktop > $out/share/applications/steam.desktop
|
|
|
|
'';
|
|
|
|
|
2015-08-23 17:17:15 +02:00
|
|
|
profile = ''
|
|
|
|
export STEAM_RUNTIME=/steamrt
|
2013-09-13 23:58:59 +02:00
|
|
|
'';
|
2015-02-05 16:16:02 +01:00
|
|
|
|
2015-04-22 15:52:57 +02:00
|
|
|
runScript = "steam";
|
2013-09-13 23:58:59 +02:00
|
|
|
}
|