Merge pull request #232284 from K900/what-if-steam-but-no-steam

steam: build the fhsenv on Hydra

authored by

K900 and committed by
GitHub
d5c600d3 c11cd401

+19 -8
+5
pkgs/games/steam/default.nix
··· 25 inherit buildFHSEnv; 26 }; 27 steam-fhsenv-small = steam-fhsenv.override { withGameSpecificLibraries = false; }; 28 steamcmd = callPackage ./steamcmd.nix { }; 29 }; 30 keep = self: { };
··· 25 inherit buildFHSEnv; 26 }; 27 steam-fhsenv-small = steam-fhsenv.override { withGameSpecificLibraries = false; }; 28 + 29 + # This has to exist so Hydra tries to build all of Steam's dependencies. 30 + # FIXME: Maybe we should expose it as something more generic? 31 + steam-fhsenv-without-steam = steam-fhsenv.override { steam = null; }; 32 + 33 steamcmd = callPackage ./steamcmd.nix { }; 34 }; 35 keep = self: { };
+13 -7
pkgs/games/steam/fhsenv.nix
··· 62 name = "steam"; 63 64 targetPkgs = pkgs: with pkgs; [ 65 - steamPackages.steam 66 # License agreement 67 gnome.zenity 68 ] ++ commonTargetPkgs pkgs; ··· 207 libpsl 208 nghttp2.lib 209 rtmpdump 210 - ] ++ steamPackages.steam-runtime-wrapped.overridePkgs 211 ++ extraLibraries pkgs; 212 213 - extraInstallCommands = '' 214 mkdir -p $out/share/applications 215 ln -s ${steam}/share/icons $out/share 216 ln -s ${steam}/share/pixmaps $out/share ··· 262 exec steam ${extraArgs} "$@" 263 ''; 264 265 - meta = steam.meta // lib.optionalAttrs (!withGameSpecificLibraries) { 266 - description = steam.meta.description + " (without game specific libraries)"; 267 - }; 268 269 # allows for some gui applications to share IPC 270 # this fixes certain issues where they don't render correctly ··· 298 exec -- "$run" "$@" 299 ''; 300 301 - meta = steam.meta // { 302 description = "Run commands in the same FHS environment that is used for Steam"; 303 name = "steam-run"; 304 };
··· 62 name = "steam"; 63 64 targetPkgs = pkgs: with pkgs; [ 65 + steam 66 # License agreement 67 gnome.zenity 68 ] ++ commonTargetPkgs pkgs; ··· 207 libpsl 208 nghttp2.lib 209 rtmpdump 210 + ] ++ steam-runtime-wrapped.overridePkgs 211 ++ extraLibraries pkgs; 212 213 + extraInstallCommands = lib.optionalString (steam != null) '' 214 mkdir -p $out/share/applications 215 ln -s ${steam}/share/icons $out/share 216 ln -s ${steam}/share/pixmaps $out/share ··· 262 exec steam ${extraArgs} "$@" 263 ''; 264 265 + meta = 266 + if steam != null 267 + then 268 + steam.meta // lib.optionalAttrs (!withGameSpecificLibraries) { 269 + description = steam.meta.description + " (without game specific libraries)"; 270 + } 271 + else { 272 + description = "Steam dependencies (dummy package, do not use)"; 273 + }; 274 275 # allows for some gui applications to share IPC 276 # this fixes certain issues where they don't render correctly ··· 304 exec -- "$run" "$@" 305 ''; 306 307 + meta = (steam.meta or {}) // { 308 description = "Run commands in the same FHS environment that is used for Steam"; 309 name = "steam-run"; 310 };
+1 -1
pkgs/top-level/all-packages.nix
··· 36914 36915 stockfish = callPackage ../games/stockfish { }; 36916 36917 - steamPackages = dontRecurseIntoAttrs (callPackage ../games/steam { }); 36918 36919 steam = steamPackages.steam-fhsenv; 36920 steam-small = steamPackages.steam-fhsenv-small;
··· 36914 36915 stockfish = callPackage ../games/stockfish { }; 36916 36917 + steamPackages = recurseIntoAttrs (callPackage ../games/steam { }); 36918 36919 steam = steamPackages.steam-fhsenv; 36920 steam-small = steamPackages.steam-fhsenv-small;