summaryrefslogtreecommitdiff
path: root/lib/customisation.nix
diff options
context:
space:
mode:
Diffstat (limited to 'lib/customisation.nix')
-rw-r--r--lib/customisation.nix8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/customisation.nix b/lib/customisation.nix
index 37a7951896b0..c17cb0d0f8e5 100644
--- a/lib/customisation.nix
+++ b/lib/customisation.nix
@@ -219,16 +219,17 @@ rec {
/* Like the above, but aims to support cross compilation. It's still ugly, but
hopefully it helps a little bit. */
- makeScopeWithSplicing = splicePackages: newScope: otherSplices: keep: f:
+ makeScopeWithSplicing = splicePackages: newScope: otherSplices: keep: extra: f:
let
- spliced = splicePackages {
+ spliced0 = splicePackages {
pkgsBuildBuild = otherSplices.selfBuildBuild;
pkgsBuildHost = otherSplices.selfBuildHost;
pkgsBuildTarget = otherSplices.selfBuildTarget;
pkgsHostHost = otherSplices.selfHostHost;
pkgsHostTarget = self; # Not `otherSplices.selfHostTarget`;
pkgsTargetTarget = otherSplices.selfTargetTarget;
- } // keep self;
+ };
+ spliced = extra spliced0 // spliced0 // keep self;
self = f self // {
newScope = scope: newScope (spliced // scope);
callPackage = newScope spliced; # == self.newScope {};
@@ -239,6 +240,7 @@ rec {
newScope
otherSplices
keep
+ extra
(lib.fixedPoints.extends g f);
packages = f;
};