2023-01-11 07:51:40 +00:00
|
|
|
{ makeScopeWithSplicing, generateSplicesForMkScope
|
2023-04-29 16:46:19 +00:00
|
|
|
, stdenv, buildFHSEnv, pkgsi686Linux, glxinfo
|
2021-12-06 16:07:01 +00:00
|
|
|
}:
|
2020-04-24 23:36:52 +00:00
|
|
|
|
|
|
|
let
|
2021-12-06 16:07:01 +00:00
|
|
|
steamPackagesFun = self: let
|
|
|
|
inherit (self) callPackage;
|
2023-02-22 10:55:15 +00:00
|
|
|
in rec {
|
2021-12-06 16:07:01 +00:00
|
|
|
steamArch = if stdenv.hostPlatform.system == "x86_64-linux" then "amd64"
|
|
|
|
else if stdenv.hostPlatform.system == "i686-linux" then "i386"
|
|
|
|
else throw "Unsupported platform: ${stdenv.hostPlatform.system}";
|
2020-04-24 23:36:52 +00:00
|
|
|
|
|
|
|
steam-runtime = callPackage ./runtime.nix { };
|
|
|
|
steam-runtime-wrapped = callPackage ./runtime-wrapped.nix { };
|
|
|
|
steam = callPackage ./steam.nix { };
|
2020-08-20 17:08:02 +00:00
|
|
|
steam-fhsenv = callPackage ./fhsenv.nix {
|
2023-04-29 16:46:19 +00:00
|
|
|
glxinfo-i686 =
|
|
|
|
if self.steamArch == "amd64"
|
|
|
|
then pkgsi686Linux.glxinfo
|
|
|
|
else glxinfo;
|
2020-04-24 23:36:52 +00:00
|
|
|
steam-runtime-wrapped-i686 =
|
2021-12-06 16:07:01 +00:00
|
|
|
if self.steamArch == "amd64"
|
2023-01-11 07:51:40 +00:00
|
|
|
then pkgsi686Linux.steamPackages.steam-runtime-wrapped
|
2020-04-24 23:36:52 +00:00
|
|
|
else null;
|
2023-04-29 16:46:19 +00:00
|
|
|
inherit buildFHSEnv;
|
2020-04-24 23:36:52 +00:00
|
|
|
};
|
2023-02-22 10:55:15 +00:00
|
|
|
steam-fhsenv-small = steam-fhsenv.override { withGameSpecificLibraries = false; };
|
2023-05-24 13:37:59 +00:00
|
|
|
|
|
|
|
# This has to exist so Hydra tries to build all of Steam's dependencies.
|
|
|
|
# FIXME: Maybe we should expose it as something more generic?
|
|
|
|
steam-fhsenv-without-steam = steam-fhsenv.override { steam = null; };
|
|
|
|
|
2020-04-24 23:36:52 +00:00
|
|
|
steamcmd = callPackage ./steamcmd.nix { };
|
|
|
|
};
|
2021-12-06 16:07:01 +00:00
|
|
|
keep = self: { };
|
|
|
|
extra = spliced0: { };
|
2023-01-11 07:51:40 +00:00
|
|
|
in makeScopeWithSplicing (generateSplicesForMkScope "steamPackages") keep extra steamPackagesFun
|