mirror of
https://github.com/SebastianWendel/nixpkgs.git
synced 2024-09-21 04:49:01 +02:00
Merge pull request #245955 from NixOS/revert-245824-pr/lib/customization/makeScopeWithSplicing
Revert "lib.customisation: uncurry makeScopeWithSplicing"
This commit is contained in:
commit
47d25939a1
|
@ -279,15 +279,7 @@ rec {
|
||||||
|
|
||||||
/* Like the above, but aims to support cross compilation. It's still ugly, but
|
/* Like the above, but aims to support cross compilation. It's still ugly, but
|
||||||
hopefully it helps a little bit. */
|
hopefully it helps a little bit. */
|
||||||
makeScopeWithSplicing =
|
makeScopeWithSplicing = splicePackages: newScope: otherSplices: keep: extra: f:
|
||||||
{ splicePackages
|
|
||||||
, newScope
|
|
||||||
}:
|
|
||||||
{ otherSplices
|
|
||||||
, keep ? (_self: {})
|
|
||||||
, extra ? (_spliced0: {})
|
|
||||||
, f
|
|
||||||
}:
|
|
||||||
let
|
let
|
||||||
spliced0 = splicePackages {
|
spliced0 = splicePackages {
|
||||||
pkgsBuildBuild = otherSplices.selfBuildBuild;
|
pkgsBuildBuild = otherSplices.selfBuildBuild;
|
||||||
|
@ -303,11 +295,13 @@ rec {
|
||||||
callPackage = newScope spliced; # == self.newScope {};
|
callPackage = newScope spliced; # == self.newScope {};
|
||||||
# N.B. the other stages of the package set spliced in are *not*
|
# N.B. the other stages of the package set spliced in are *not*
|
||||||
# overridden.
|
# overridden.
|
||||||
overrideScope = g: (makeScopeWithSplicing
|
overrideScope = g: makeScopeWithSplicing
|
||||||
{ inherit splicePackages newScope; }
|
splicePackages
|
||||||
{ inherit otherSplices keep extra;
|
newScope
|
||||||
f = lib.fixedPoints.extends g f;
|
otherSplices
|
||||||
});
|
keep
|
||||||
|
extra
|
||||||
|
(lib.fixedPoints.extends g f);
|
||||||
packages = f;
|
packages = f;
|
||||||
};
|
};
|
||||||
in self;
|
in self;
|
||||||
|
|
|
@ -5,9 +5,16 @@
|
||||||
, makeScopeWithSplicing
|
, makeScopeWithSplicing
|
||||||
}:
|
}:
|
||||||
|
|
||||||
makeScopeWithSplicing {
|
let
|
||||||
otherSplices = generateSplicesForMkScope "xfce";
|
keep = _self: { };
|
||||||
f = (self:
|
extra = _spliced0: { };
|
||||||
|
|
||||||
|
in
|
||||||
|
makeScopeWithSplicing
|
||||||
|
(generateSplicesForMkScope "xfce")
|
||||||
|
keep
|
||||||
|
extra
|
||||||
|
(self:
|
||||||
let
|
let
|
||||||
inherit (self) callPackage;
|
inherit (self) callPackage;
|
||||||
in
|
in
|
||||||
|
@ -170,5 +177,4 @@ makeScopeWithSplicing {
|
||||||
thunar-bare = self.thunar.override { thunarPlugins = [ ]; }; # added 2019-11-04
|
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
|
xfce4-hardware-monitor-plugin = throw "xfce.xfce4-hardware-monitor-plugin has been removed: abandoned by upstream and does not build"; # added 2023-01-15
|
||||||
});
|
})
|
||||||
}
|
|
||||||
|
|
|
@ -39,15 +39,18 @@ let
|
||||||
selfHostHost = luaOnHostForHost.pkgs;
|
selfHostHost = luaOnHostForHost.pkgs;
|
||||||
selfTargetTarget = luaOnTargetForTarget.pkgs or {};
|
selfTargetTarget = luaOnTargetForTarget.pkgs or {};
|
||||||
};
|
};
|
||||||
|
keep = self: { };
|
||||||
|
extra = spliced0: {};
|
||||||
extensions = lib.composeManyExtensions [
|
extensions = lib.composeManyExtensions [
|
||||||
generatedPackages
|
generatedPackages
|
||||||
overriddenPackages
|
overriddenPackages
|
||||||
overrides
|
overrides
|
||||||
];
|
];
|
||||||
in makeScopeWithSplicing {
|
in makeScopeWithSplicing
|
||||||
inherit otherSplices;
|
otherSplices
|
||||||
f = lib.extends extensions luaPackagesFun;
|
keep
|
||||||
})
|
extra
|
||||||
|
(lib.extends extensions luaPackagesFun))
|
||||||
{
|
{
|
||||||
overrides = packageOverrides;
|
overrides = packageOverrides;
|
||||||
lua = self;
|
lua = self;
|
||||||
|
|
|
@ -34,10 +34,13 @@ let
|
||||||
selfHostHost = perlOnHostForHost.pkgs;
|
selfHostHost = perlOnHostForHost.pkgs;
|
||||||
selfTargetTarget = perlOnTargetForTarget.pkgs or {};
|
selfTargetTarget = perlOnTargetForTarget.pkgs or {};
|
||||||
};
|
};
|
||||||
in makeScopeWithSplicing {
|
keep = self: { };
|
||||||
inherit otherSplices;
|
extra = spliced0: {};
|
||||||
f = perlPackagesFun;
|
in makeScopeWithSplicing
|
||||||
})
|
otherSplices
|
||||||
|
keep
|
||||||
|
extra
|
||||||
|
perlPackagesFun)
|
||||||
{
|
{
|
||||||
perl = self;
|
perl = self;
|
||||||
};
|
};
|
||||||
|
|
|
@ -48,6 +48,7 @@
|
||||||
};
|
};
|
||||||
hooks = import ./hooks/default.nix;
|
hooks = import ./hooks/default.nix;
|
||||||
keep = lib.extends hooks pythonPackagesFun;
|
keep = lib.extends hooks pythonPackagesFun;
|
||||||
|
extra = _: {};
|
||||||
optionalExtensions = cond: as: lib.optionals cond as;
|
optionalExtensions = cond: as: lib.optionals cond as;
|
||||||
pythonExtension = import ../../../top-level/python-packages.nix;
|
pythonExtension = import ../../../top-level/python-packages.nix;
|
||||||
python2Extension = import ../../../top-level/python2-packages.nix;
|
python2Extension = import ../../../top-level/python2-packages.nix;
|
||||||
|
@ -59,10 +60,12 @@
|
||||||
overrides
|
overrides
|
||||||
]);
|
]);
|
||||||
aliases = self: super: lib.optionalAttrs config.allowAliases (import ../../../top-level/python-aliases.nix lib self super);
|
aliases = self: super: lib.optionalAttrs config.allowAliases (import ../../../top-level/python-aliases.nix lib self super);
|
||||||
in makeScopeWithSplicing {
|
in makeScopeWithSplicing
|
||||||
inherit otherSplices keep;
|
otherSplices
|
||||||
f = lib.extends (lib.composeExtensions aliases extensions) keep;
|
keep
|
||||||
}) {
|
extra
|
||||||
|
(lib.extends (lib.composeExtensions aliases extensions) keep))
|
||||||
|
{
|
||||||
overrides = packageOverrides;
|
overrides = packageOverrides;
|
||||||
python = self;
|
python = self;
|
||||||
});
|
});
|
||||||
|
|
|
@ -334,7 +334,4 @@ let
|
||||||
overrideScope' = lib.warn "qt5 now uses makeScopeWithSplicing which does not have \"overrideScope'\", use \"overrideScope\"." self.overrideScope;
|
overrideScope' = lib.warn "qt5 now uses makeScopeWithSplicing which does not have \"overrideScope'\", use \"overrideScope\"." self.overrideScope;
|
||||||
};
|
};
|
||||||
|
|
||||||
in makeScopeWithSplicing {
|
in makeScopeWithSplicing (generateSplicesForMkScope "qt5") (_: {}) (_: {}) addPackages
|
||||||
otherSplices = generateSplicesForMkScope "qt5";
|
|
||||||
f = addPackages;
|
|
||||||
}
|
|
||||||
|
|
|
@ -32,7 +32,6 @@ let
|
||||||
|
|
||||||
steamcmd = callPackage ./steamcmd.nix { };
|
steamcmd = callPackage ./steamcmd.nix { };
|
||||||
};
|
};
|
||||||
in makeScopeWithSplicing {
|
keep = self: { };
|
||||||
otherSplices = generateSplicesForMkScope "steamPackages";
|
extra = spliced0: { };
|
||||||
f = steamPackagesFun;
|
in makeScopeWithSplicing (generateSplicesForMkScope "steamPackages") keep extra steamPackagesFun
|
||||||
}
|
|
||||||
|
|
|
@ -66,9 +66,11 @@ let
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
in makeScopeWithSplicing {
|
in makeScopeWithSplicing
|
||||||
otherSplices = generateSplicesForMkScope "freebsd";
|
(generateSplicesForMkScope "freebsd")
|
||||||
f = (self: let
|
(_: {})
|
||||||
|
(_: {})
|
||||||
|
(self: let
|
||||||
inherit (self) mkDerivation;
|
inherit (self) mkDerivation;
|
||||||
in {
|
in {
|
||||||
inherit freebsdSrc;
|
inherit freebsdSrc;
|
||||||
|
@ -896,5 +898,4 @@ in makeScopeWithSplicing {
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
})
|
||||||
}
|
|
||||||
|
|
|
@ -26,9 +26,11 @@ let
|
||||||
else "no"}"
|
else "no"}"
|
||||||
];
|
];
|
||||||
|
|
||||||
in makeScopeWithSplicing {
|
in makeScopeWithSplicing
|
||||||
otherSplices = generateSplicesForMkScope "netbsd";
|
(generateSplicesForMkScope "netbsd")
|
||||||
f = (self: let
|
(_: {})
|
||||||
|
(_: {})
|
||||||
|
(self: let
|
||||||
inherit (self) mkDerivation;
|
inherit (self) mkDerivation;
|
||||||
in {
|
in {
|
||||||
|
|
||||||
|
@ -1009,5 +1011,4 @@ in makeScopeWithSplicing {
|
||||||
# END MISCELLANEOUS
|
# END MISCELLANEOUS
|
||||||
#
|
#
|
||||||
|
|
||||||
});
|
})
|
||||||
}
|
|
||||||
|
|
|
@ -27121,6 +27121,9 @@ with pkgs;
|
||||||
};
|
};
|
||||||
|
|
||||||
xorg = let
|
xorg = let
|
||||||
|
keep = _self: { };
|
||||||
|
extra = _spliced0: { };
|
||||||
|
|
||||||
# Use `lib.callPackageWith __splicedPackages` rather than plain `callPackage`
|
# Use `lib.callPackageWith __splicedPackages` rather than plain `callPackage`
|
||||||
# so as not to have the newly bound xorg items already in scope, which would
|
# so as not to have the newly bound xorg items already in scope, which would
|
||||||
# have created a cycle.
|
# have created a cycle.
|
||||||
|
@ -27135,10 +27138,11 @@ with pkgs;
|
||||||
|
|
||||||
generatedPackages = lib.callPackageWith __splicedPackages ../servers/x11/xorg/default.nix { };
|
generatedPackages = lib.callPackageWith __splicedPackages ../servers/x11/xorg/default.nix { };
|
||||||
|
|
||||||
xorgPackages = makeScopeWithSplicing {
|
xorgPackages = makeScopeWithSplicing
|
||||||
otherSplices = generateSplicesForMkScope "xorg";
|
(generateSplicesForMkScope "xorg")
|
||||||
f = lib.extends overrides generatedPackages;
|
keep
|
||||||
};
|
extra
|
||||||
|
(lib.extends overrides generatedPackages);
|
||||||
|
|
||||||
in recurseIntoAttrs xorgPackages;
|
in recurseIntoAttrs xorgPackages;
|
||||||
|
|
||||||
|
|
|
@ -15,10 +15,7 @@ let
|
||||||
(stdenv.targetPlatform.config + "-");
|
(stdenv.targetPlatform.config + "-");
|
||||||
in
|
in
|
||||||
|
|
||||||
makeScopeWithSplicing {
|
makeScopeWithSplicing (generateSplicesForMkScope "darwin") (_: {}) (spliced: spliced.apple_sdk.frameworks) (self: let
|
||||||
otherSplices = generateSplicesForMkScope "darwin";
|
|
||||||
extra = spliced: spliced.apple_sdk.frameworks;
|
|
||||||
f = (self: let
|
|
||||||
inherit (self) mkDerivation callPackage;
|
inherit (self) mkDerivation callPackage;
|
||||||
|
|
||||||
# Must use pkgs.callPackage to avoid infinite recursion.
|
# Must use pkgs.callPackage to avoid infinite recursion.
|
||||||
|
@ -254,5 +251,4 @@ impure-cmds // appleSourcePackages // chooseLibs // {
|
||||||
|
|
||||||
} // lib.optionalAttrs config.allowAliases {
|
} // 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
|
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
|
||||||
});
|
})
|
||||||
}
|
|
||||||
|
|
|
@ -144,7 +144,7 @@ in
|
||||||
newScope = extra: lib.callPackageWith (splicedPackagesWithXorg // extra);
|
newScope = extra: lib.callPackageWith (splicedPackagesWithXorg // extra);
|
||||||
|
|
||||||
# prefill 2 fields of the function for convenience
|
# 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'
|
# generate 'otherSplices' for 'makeScopeWithSplicing'
|
||||||
generateSplicesForMkScope = attr:
|
generateSplicesForMkScope = attr:
|
||||||
|
|
Loading…
Reference in a new issue