summary refs log tree commit diff
path: root/pkgs/top-level/splice.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/top-level/splice.nix')
-rw-r--r--pkgs/top-level/splice.nix32
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`.