Loading pkgs/games/steam/steam.nix +11 −10 Original line number Diff line number Diff line { lib, stdenv, fetchurl, runtimeShell, traceDeps ? false, bash }: let traceLog = "/tmp/steam-trace-dependencies.log"; version = "1.0.0.74"; in stdenv.mkDerivation { stdenv.mkDerivation (finalAttrs: { pname = "steam-original"; inherit version; version = "1.0.0.81"; src = fetchurl { # 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="; url = "https://repo.steampowered.com/steam/archive/stable/steam_${finalAttrs.version}.tar.gz"; hash = "sha256-Gia5182s4J4E3Ia1EeC5kjJX9mSltsr+b+1eRtEXtPk="; }; makeFlags = [ "DESTDIR=$(out)" "PREFIX=" ]; postInstall = '' postInstall = let traceLog = "/tmp/steam-trace-dependencies.log"; in '' rm $out/bin/steamdeps ${lib.optionalString traceDeps '' cat > $out/bin/steamdeps <<EOF Loading @@ -39,6 +38,8 @@ in stdenv.mkDerivation { sed -e 's,/usr/bin/steam,steam,g' steam.desktop > $out/share/applications/steam.desktop ''; passthru.updateScript = ./update-bootstrap.py; meta = with lib; { description = "Digital distribution platform"; longDescription = '' Loading @@ -51,4 +52,4 @@ in stdenv.mkDerivation { maintainers = with maintainers; [ jagajaga ]; mainProgram = "steam"; }; } }) pkgs/games/steam/update-bootstrap.py 0 → 100755 +31 −0 Original line number Diff line number Diff line #!/usr/bin/env nix-shell #!nix-shell --pure --keep NIX_PATH -i python3 -p git nix-update "python3.withPackages (ps: [ ps.beautifulsoup4 ps.requests ])" import sys import re import requests import subprocess from bs4 import BeautifulSoup VERSION_PATTERN = re.compile(r'^steam_(?P<ver>(\d+\.)+)tar.gz$') found_versions = [] response = requests.get("https://repo.steampowered.com/steam/archive/stable/") soup = BeautifulSoup (response.text, "html.parser") for a in soup.find_all("a"): href = a["href"] if not href.endswith(".tar.gz"): continue match = VERSION_PATTERN.match(href) if match is not None: version = match.groupdict()["ver"][0:-1] found_versions.append(version) if len(found_versions) == 0: print("Failed to find available versions!", file=sys.stderr) sys.exit(1) found_versions.sort() subprocess.run(["nix-update", "--version", found_versions[-1], "steamPackages.steam"]) found_versions[0] Loading
pkgs/games/steam/steam.nix +11 −10 Original line number Diff line number Diff line { lib, stdenv, fetchurl, runtimeShell, traceDeps ? false, bash }: let traceLog = "/tmp/steam-trace-dependencies.log"; version = "1.0.0.74"; in stdenv.mkDerivation { stdenv.mkDerivation (finalAttrs: { pname = "steam-original"; inherit version; version = "1.0.0.81"; src = fetchurl { # 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="; url = "https://repo.steampowered.com/steam/archive/stable/steam_${finalAttrs.version}.tar.gz"; hash = "sha256-Gia5182s4J4E3Ia1EeC5kjJX9mSltsr+b+1eRtEXtPk="; }; makeFlags = [ "DESTDIR=$(out)" "PREFIX=" ]; postInstall = '' postInstall = let traceLog = "/tmp/steam-trace-dependencies.log"; in '' rm $out/bin/steamdeps ${lib.optionalString traceDeps '' cat > $out/bin/steamdeps <<EOF Loading @@ -39,6 +38,8 @@ in stdenv.mkDerivation { sed -e 's,/usr/bin/steam,steam,g' steam.desktop > $out/share/applications/steam.desktop ''; passthru.updateScript = ./update-bootstrap.py; meta = with lib; { description = "Digital distribution platform"; longDescription = '' Loading @@ -51,4 +52,4 @@ in stdenv.mkDerivation { maintainers = with maintainers; [ jagajaga ]; mainProgram = "steam"; }; } })
pkgs/games/steam/update-bootstrap.py 0 → 100755 +31 −0 Original line number Diff line number Diff line #!/usr/bin/env nix-shell #!nix-shell --pure --keep NIX_PATH -i python3 -p git nix-update "python3.withPackages (ps: [ ps.beautifulsoup4 ps.requests ])" import sys import re import requests import subprocess from bs4 import BeautifulSoup VERSION_PATTERN = re.compile(r'^steam_(?P<ver>(\d+\.)+)tar.gz$') found_versions = [] response = requests.get("https://repo.steampowered.com/steam/archive/stable/") soup = BeautifulSoup (response.text, "html.parser") for a in soup.find_all("a"): href = a["href"] if not href.endswith(".tar.gz"): continue match = VERSION_PATTERN.match(href) if match is not None: version = match.groupdict()["ver"][0:-1] found_versions.append(version) if len(found_versions) == 0: print("Failed to find available versions!", file=sys.stderr) sys.exit(1) found_versions.sort() subprocess.run(["nix-update", "--version", found_versions[-1], "steamPackages.steam"]) found_versions[0]