1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-12-24 19:08:30 +00:00
nixpkgs/pkgs/games/steam/steam.nix
Profpatsch 4a7f99d55d treewide: with stdenv.lib; in meta -> with lib;
Part of: https://github.com/NixOS/nixpkgs/issues/108938

meta = with stdenv.lib;

is a widely used pattern. We want to slowly remove
the `stdenv.lib` indirection and encourage people
to use `lib` directly. Thus let’s start with the meta
field.

This used a rewriting script to mostly automatically
replace all occurances of this pattern, and add the
`lib` argument to the package header if it doesn’t
exist yet.

The script in its current form is available at
https://cs.tvl.fyi/depot@2f807d7f141068d2d60676a89213eaa5353ca6e0/-/blob/users/Profpatsch/nixpkgs-rewriter/default.nix
2021-01-11 10:38:22 +01:00

48 lines
1.4 KiB
Nix

{ lib, stdenv, fetchurl, runtimeShell, traceDeps ? false, bash }:
let
traceLog = "/tmp/steam-trace-dependencies.log";
version = "1.0.0.68";
in stdenv.mkDerivation {
pname = "steam-original";
inherit version;
src = fetchurl {
url = "https://repo.steampowered.com/steam/pool/steam/s/steam/steam_${version}.tar.gz";
sha256 = "sha256-ZeiCYjxnH0Ath5bB20QHmE8R3wU4/3RiAw2NUhrrKNM=";
};
makeFlags = [ "DESTDIR=$(out)" "PREFIX=" ];
postInstall = ''
rm $out/bin/steamdeps
${stdenv.lib.optionalString traceDeps ''
cat > $out/bin/steamdeps <<EOF
#!${runtimeShell}
echo \$1 >> ${traceLog}
cat \$1 >> ${traceLog}
echo >> ${traceLog}
EOF
chmod +x $out/bin/steamdeps
''}
# 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";
homepage = "http://store.steampowered.com/";
license = licenses.unfreeRedistributable;
maintainers = with maintainers; [ jagajaga jonringer ];
};
}