diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2018-10-11 12:27:49 -0400 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2018-10-11 13:27:31 -0400 |
commit | dc214ed99b1de1441a052752616ea1a9f1e1bf64 (patch) | |
tree | b013544ae4d29f69c9900ec0077ea35d11fb4793 /pkgs | |
parent | bfef8113f672eba8850772aa2422265b69bd2d73 (diff) | |
download | nixlib-dc214ed99b1de1441a052752616ea1a9f1e1bf64.tar nixlib-dc214ed99b1de1441a052752616ea1a9f1e1bf64.tar.gz nixlib-dc214ed99b1de1441a052752616ea1a9f1e1bf64.tar.bz2 nixlib-dc214ed99b1de1441a052752616ea1a9f1e1bf64.tar.lz nixlib-dc214ed99b1de1441a052752616ea1a9f1e1bf64.tar.xz nixlib-dc214ed99b1de1441a052752616ea1a9f1e1bf64.tar.zst nixlib-dc214ed99b1de1441a052752616ea1a9f1e1bf64.zip |
__splicedPackages: Don't include xorg
For historical reasons, callPackage has the xorg packages in scope. This unstable building block is more versatile without the xorg hack baked in.
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/top-level/splice.nix | 32 |
1 files changed, 14 insertions, 18 deletions
diff --git a/pkgs/top-level/splice.nix b/pkgs/top-level/splice.nix index 41fdc22d1477..82a781083e2c 100644 --- a/pkgs/top-level/splice.nix +++ b/pkgs/top-level/splice.nix @@ -24,15 +24,6 @@ lib: pkgs: actuallySplice: let - defaultBuildBuildScope = pkgs.buildPackages.buildPackages // pkgs.buildPackages.buildPackages.xorg; - defaultBuildHostScope = pkgs.buildPackages // pkgs.buildPackages.xorg; - defaultBuildTargetScope = - if pkgs.stdenv.targetPlatform == pkgs.stdenv.hostPlatform - then defaultBuildHostScope - else assert pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform; defaultHostTargetScope; - defaultHostHostScope = {}; # unimplemented - defaultHostTargetScope = pkgs // pkgs.xorg; - defaultTargetTargetScope = pkgs.targetPackages // pkgs.targetPackages.xorg or {}; spliceReal = { pkgsBuildBuild, pkgsBuildHost, pkgsBuildTarget , pkgsHostHost, pkgsHostTarget @@ -105,19 +96,24 @@ let } @ args: if actuallySplice then spliceReal args else pkgsHostTarget; - splicedPackages = splicePackages { - pkgsBuildBuild = defaultBuildBuildScope; - pkgsBuildHost = defaultBuildHostScope; - pkgsBuildTarget = defaultBuildTargetScope; - pkgsHostHost = defaultHostHostScope; - pkgsHostTarget = defaultHostTargetScope; - pkgsTargetTarget = defaultTargetTargetScope; + splicedPackages = splicePackages rec { + pkgsBuildBuild = pkgs.buildPackages.buildPackages; + pkgsBuildHost = pkgs.buildPackages; + pkgsBuildTarget = + if pkgs.stdenv.targetPlatform == pkgs.stdenv.hostPlatform + then pkgsBuildHost + else assert pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform; pkgsHostTarget; + pkgsHostHost = {}; # unimplemented + pkgsHostTarget = pkgs; + pkgsTargetTarget = pkgs.targetPackages; } // { # These should never be spliced under any circumstances inherit (pkgs) pkgs buildPackages targetPackages; inherit (pkgs.stdenv) buildPlatform targetPlatform hostPlatform; }; + splicedPackagesWithXorg = splicedPackages // splicedPackages.xorg; + in { @@ -128,9 +124,9 @@ in # `newScope' for sets of packages in `pkgs' (see e.g. `gnome' below). callPackage = pkgs.newScope {}; - callPackages = lib.callPackagesWith splicedPackages; + callPackages = lib.callPackagesWith splicedPackagesWithXorg; - newScope = extra: lib.callPackageWith (splicedPackages // extra); + newScope = extra: lib.callPackageWith (splicedPackagesWithXorg // extra); # Haskell package sets need this because they reimplement their own # `newScope`. |