summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2018-10-11 12:27:49 -0400
committerJohn Ericson <John.Ericson@Obsidian.Systems>2018-10-11 13:27:31 -0400
commitdc214ed99b1de1441a052752616ea1a9f1e1bf64 (patch)
treeb013544ae4d29f69c9900ec0077ea35d11fb4793 /pkgs
parentbfef8113f672eba8850772aa2422265b69bd2d73 (diff)
downloadnixlib-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.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`.