Skip to content

Commit

Permalink
Merge pull request #245955 from NixOS/revert-245824-pr/lib/customizat…
Browse files Browse the repository at this point in the history
…ion/makeScopeWithSplicing

Revert "lib.customisation: uncurry makeScopeWithSplicing"
  • Loading branch information
Adam Joseph authored Jul 28, 2023
2 parents 49b4b4e + a0b8caf commit 47d2593
Show file tree
Hide file tree
Showing 12 changed files with 67 additions and 60 deletions.
22 changes: 8 additions & 14 deletions lib/customisation.nix
Original file line number Diff line number Diff line change
Expand Up @@ -279,15 +279,7 @@ 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 ? (_self: {})
, extra ? (_spliced0: {})
, f
}:
makeScopeWithSplicing = splicePackages: newScope: otherSplices: keep: extra: f:
let
spliced0 = splicePackages {
pkgsBuildBuild = otherSplices.selfBuildBuild;
Expand All @@ -303,11 +295,13 @@ rec {
callPackage = newScope spliced; # == self.newScope {};
# N.B. the other stages of the package set spliced in are *not*
# overridden.
overrideScope = g: (makeScopeWithSplicing
{ inherit splicePackages newScope; }
{ inherit otherSplices keep extra;
f = lib.fixedPoints.extends g f;
});
overrideScope = g: makeScopeWithSplicing
splicePackages
newScope
otherSplices
keep
extra
(lib.fixedPoints.extends g f);
packages = f;
};
in self;
Expand Down
16 changes: 11 additions & 5 deletions pkgs/desktops/xfce/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,16 @@
, makeScopeWithSplicing
}:

makeScopeWithSplicing {
otherSplices = generateSplicesForMkScope "xfce";
f = (self:
let
keep = _self: { };
extra = _spliced0: { };

in
makeScopeWithSplicing
(generateSplicesForMkScope "xfce")
keep
extra
(self:
let
inherit (self) callPackage;
in
Expand Down Expand Up @@ -170,5 +177,4 @@ makeScopeWithSplicing {
thunar-bare = self.thunar.override { thunarPlugins = [ ]; }; # added 2019-11-04

xfce4-hardware-monitor-plugin = throw "xfce.xfce4-hardware-monitor-plugin has been removed: abandoned by upstream and does not build"; # added 2023-01-15
});
}
})
11 changes: 7 additions & 4 deletions pkgs/development/interpreters/lua-5/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -39,15 +39,18 @@ let
selfHostHost = luaOnHostForHost.pkgs;
selfTargetTarget = luaOnTargetForTarget.pkgs or {};
};
keep = self: { };
extra = spliced0: {};
extensions = lib.composeManyExtensions [
generatedPackages
overriddenPackages
overrides
];
in makeScopeWithSplicing {
inherit otherSplices;
f = lib.extends extensions luaPackagesFun;
})
in makeScopeWithSplicing
otherSplices
keep
extra
(lib.extends extensions luaPackagesFun))
{
overrides = packageOverrides;
lua = self;
Expand Down
11 changes: 7 additions & 4 deletions pkgs/development/interpreters/perl/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,13 @@ let
selfHostHost = perlOnHostForHost.pkgs;
selfTargetTarget = perlOnTargetForTarget.pkgs or {};
};
in makeScopeWithSplicing {
inherit otherSplices;
f = perlPackagesFun;
})
keep = self: { };
extra = spliced0: {};
in makeScopeWithSplicing
otherSplices
keep
extra
perlPackagesFun)
{
perl = self;
};
Expand Down
11 changes: 7 additions & 4 deletions pkgs/development/interpreters/python/passthrufun.nix
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
};
hooks = import ./hooks/default.nix;
keep = lib.extends hooks pythonPackagesFun;
extra = _: {};
optionalExtensions = cond: as: lib.optionals cond as;
pythonExtension = import ../../../top-level/python-packages.nix;
python2Extension = import ../../../top-level/python2-packages.nix;
Expand All @@ -59,10 +60,12 @@
overrides
]);
aliases = self: super: lib.optionalAttrs config.allowAliases (import ../../../top-level/python-aliases.nix lib self super);
in makeScopeWithSplicing {
inherit otherSplices keep;
f = lib.extends (lib.composeExtensions aliases extensions) keep;
}) {
in makeScopeWithSplicing
otherSplices
keep
extra
(lib.extends (lib.composeExtensions aliases extensions) keep))
{
overrides = packageOverrides;
python = self;
});
Expand Down
5 changes: 1 addition & 4 deletions pkgs/development/libraries/qt-5/5.15/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -334,7 +334,4 @@ let
overrideScope' = lib.warn "qt5 now uses makeScopeWithSplicing which does not have \"overrideScope'\", use \"overrideScope\"." self.overrideScope;
};

in makeScopeWithSplicing {
otherSplices = generateSplicesForMkScope "qt5";
f = addPackages;
}
in makeScopeWithSplicing (generateSplicesForMkScope "qt5") (_: {}) (_: {}) addPackages
7 changes: 3 additions & 4 deletions pkgs/games/steam/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ let

steamcmd = callPackage ./steamcmd.nix { };
};
in makeScopeWithSplicing {
otherSplices = generateSplicesForMkScope "steamPackages";
f = steamPackagesFun;
}
keep = self: { };
extra = spliced0: { };
in makeScopeWithSplicing (generateSplicesForMkScope "steamPackages") keep extra steamPackagesFun
11 changes: 6 additions & 5 deletions pkgs/os-specific/bsd/freebsd/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,11 @@ let
done
'';

in makeScopeWithSplicing {
otherSplices = generateSplicesForMkScope "freebsd";
f = (self: let
in makeScopeWithSplicing
(generateSplicesForMkScope "freebsd")
(_: {})
(_: {})
(self: let
inherit (self) mkDerivation;
in {
inherit freebsdSrc;
Expand Down Expand Up @@ -896,5 +898,4 @@ in makeScopeWithSplicing {
'';
});

});
}
})
11 changes: 6 additions & 5 deletions pkgs/os-specific/bsd/netbsd/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,11 @@ let
else "no"}"
];

in makeScopeWithSplicing {
otherSplices = generateSplicesForMkScope "netbsd";
f = (self: let
in makeScopeWithSplicing
(generateSplicesForMkScope "netbsd")
(_: {})
(_: {})
(self: let
inherit (self) mkDerivation;
in {

Expand Down Expand Up @@ -1009,5 +1011,4 @@ in makeScopeWithSplicing {
# END MISCELLANEOUS
#

});
}
})
12 changes: 8 additions & 4 deletions pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -27121,6 +27121,9 @@ with pkgs;
};

xorg = let
keep = _self: { };
extra = _spliced0: { };

# Use `lib.callPackageWith __splicedPackages` rather than plain `callPackage`
# so as not to have the newly bound xorg items already in scope, which would
# have created a cycle.
Expand All @@ -27135,10 +27138,11 @@ with pkgs;

generatedPackages = lib.callPackageWith __splicedPackages ../servers/x11/xorg/default.nix { };

xorgPackages = makeScopeWithSplicing {
otherSplices = generateSplicesForMkScope "xorg";
f = lib.extends overrides generatedPackages;
};
xorgPackages = makeScopeWithSplicing
(generateSplicesForMkScope "xorg")
keep
extra
(lib.extends overrides generatedPackages);

in recurseIntoAttrs xorgPackages;

Expand Down
8 changes: 2 additions & 6 deletions pkgs/top-level/darwin-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,7 @@ let
(stdenv.targetPlatform.config + "-");
in

makeScopeWithSplicing {
otherSplices = generateSplicesForMkScope "darwin";
extra = spliced: spliced.apple_sdk.frameworks;
f = (self: let
makeScopeWithSplicing (generateSplicesForMkScope "darwin") (_: {}) (spliced: spliced.apple_sdk.frameworks) (self: let
inherit (self) mkDerivation callPackage;

# Must use pkgs.callPackage to avoid infinite recursion.
Expand Down Expand Up @@ -254,5 +251,4 @@ impure-cmds // appleSourcePackages // chooseLibs // {

} // lib.optionalAttrs config.allowAliases {
builder = throw "'darwin.builder' has been changed and renamed to 'darwin.linux-builder'. The default ssh port is now 31022. Please update your configuration or override the port back to 22. See https://nixos.org/manual/nixpkgs/unstable/#sec-darwin-builder"; # added 2023-07-06
});
}
})
2 changes: 1 addition & 1 deletion pkgs/top-level/splice.nix
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ in
newScope = extra: lib.callPackageWith (splicedPackagesWithXorg // extra);

# prefill 2 fields of the function for convenience
makeScopeWithSplicing = lib.makeScopeWithSplicing { inherit splicePackages; inherit (pkgs) newScope; };
makeScopeWithSplicing = lib.makeScopeWithSplicing splicePackages pkgs.newScope;

# generate 'otherSplices' for 'makeScopeWithSplicing'
generateSplicesForMkScope = attr:
Expand Down

0 comments on commit 47d2593

Please sign in to comment.