nixpkgs/pkgs/games/steam/steam.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

55 lines
1.7 KiB
Nix
Raw Normal View History

{ lib, stdenv, fetchurl, runtimeShell, traceDeps ? false, bash }:
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";
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
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-12-04 00:37:28 +03:00
makeFlags = [ "DESTDIR=$(out)" "PREFIX=" ];
2015-12-04 00:37:28 +03:00
postInstall = ''
rm $out/bin/steamdeps
2021-01-15 07:31:39 +03:00
${lib.optionalString traceDeps ''
cat > $out/bin/steamdeps <<EOF
#!${runtimeShell}
echo \$1 >> ${traceLog}
cat \$1 >> ${traceLog}
echo >> ${traceLog}
EOF
chmod +x $out/bin/steamdeps
''}
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"
# 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
'';
meta = with lib; {
description = "A digital distribution platform";
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;
maintainers = with maintainers; [ jagajaga jonringer ];
mainProgram = "steam";
};
}