2021-01-11 10:54:33 +03:00
|
|
|
{ lib, stdenv, fetchurl, runtimeShell, traceDeps ? false, bash }:
|
2015-08-23 18:17:15 +03:00
|
|
|
|
2015-12-04 00:37:28 +03:00
|
|
|
let
|
|
|
|
traceLog = "/tmp/steam-trace-dependencies.log";
|
2021-12-08 18:17:47 +03:00
|
|
|
version = "1.0.0.74";
|
2015-08-23 18:17:15 +03:00
|
|
|
|
2019-08-14 00:52:01 +03:00
|
|
|
in stdenv.mkDerivation {
|
2019-08-14 00:52:01 +03:00
|
|
|
pname = "steam-original";
|
|
|
|
inherit version;
|
2015-12-04 00:37:28 +03:00
|
|
|
|
2015-08-23 18:17:15 +03:00
|
|
|
src = fetchurl {
|
2021-12-08 18:17:47 +03:00
|
|
|
# use archive url so the tarball doesn't 404 on a new release
|
|
|
|
url = "https://repo.steampowered.com/steam/archive/stable/steam_${version}.tar.gz";
|
|
|
|
sha256 = "sha256-sO07g3j1Qejato2LWJ2FrW3AzfMCcBz46HEw7aKxojQ=";
|
2015-08-23 18:17:15 +03:00
|
|
|
};
|
|
|
|
|
2015-12-04 00:37:28 +03:00
|
|
|
makeFlags = [ "DESTDIR=$(out)" "PREFIX=" ];
|
2015-08-23 18:17:15 +03:00
|
|
|
|
2015-12-04 00:37:28 +03:00
|
|
|
postInstall = ''
|
2015-08-23 18:17:15 +03:00
|
|
|
rm $out/bin/steamdeps
|
2021-01-15 07:31:39 +03:00
|
|
|
${lib.optionalString traceDeps ''
|
2015-08-23 18:17:15 +03:00
|
|
|
cat > $out/bin/steamdeps <<EOF
|
2019-02-26 14:45:54 +03:00
|
|
|
#!${runtimeShell}
|
2015-08-23 18:17:15 +03:00
|
|
|
echo \$1 >> ${traceLog}
|
|
|
|
cat \$1 >> ${traceLog}
|
|
|
|
echo >> ${traceLog}
|
|
|
|
EOF
|
|
|
|
chmod +x $out/bin/steamdeps
|
|
|
|
''}
|
2020-12-21 02:32:01 +03:00
|
|
|
|
2020-12-23 19:54:18 +03:00
|
|
|
# install udev rules
|
|
|
|
mkdir -p $out/etc/udev/rules.d/
|
|
|
|
cp ./subprojects/steam-devices/*.rules $out/etc/udev/rules.d/
|
|
|
|
substituteInPlace $out/etc/udev/rules.d/60-steam-input.rules \
|
|
|
|
--replace "/bin/sh" "${bash}/bin/bash"
|
|
|
|
|
2020-12-21 02:32:01 +03:00
|
|
|
# this just installs a link, "steam.desktop -> /lib/steam/steam.desktop"
|
|
|
|
rm $out/share/applications/steam.desktop
|
|
|
|
sed -e 's,/usr/bin/steam,steam,g' steam.desktop > $out/share/applications/steam.desktop
|
2015-08-23 18:17:15 +03:00
|
|
|
'';
|
|
|
|
|
2021-01-11 10:54:33 +03:00
|
|
|
meta = with lib; {
|
2015-08-23 18:17:15 +03:00
|
|
|
description = "A digital distribution platform";
|
2023-03-21 20:24:34 +03:00
|
|
|
longDescription = ''
|
|
|
|
Steam is a video game digital distribution service and storefront from Valve.
|
|
|
|
|
|
|
|
To install on NixOS, please use the option `programs.steam.enable = true`.
|
|
|
|
'';
|
2021-10-06 08:09:21 +03:00
|
|
|
homepage = "https://store.steampowered.com/";
|
2015-12-04 00:37:28 +03:00
|
|
|
license = licenses.unfreeRedistributable;
|
2020-12-21 02:32:01 +03:00
|
|
|
maintainers = with maintainers; [ jagajaga jonringer ];
|
2023-08-04 13:32:10 +03:00
|
|
|
mainProgram = "steam";
|
2015-08-23 18:17:15 +03:00
|
|
|
};
|
|
|
|
}
|