mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-06-05 21:03:40 +00:00
appendOverlays: preserve splicing on empty overlay list (#501313)
This commit is contained in:
@@ -64,4 +64,22 @@ lib.recurseIntoAttrs {
|
||||
assert lib.all (p: p.stdenv.buildPlatform == p.stdenv.hostPlatform) pkgsLocal;
|
||||
assert lib.all (p: p.stdenv.buildPlatform != p.stdenv.hostPlatform) pkgsCross;
|
||||
pkgs.emptyFile;
|
||||
|
||||
# appendOverlays must preserve splicing so that cross-compilation
|
||||
# works in NixOS modules (which go through appendOverlays via nixpkgs.nix).
|
||||
appendOverlaysPreservesSplicing =
|
||||
let
|
||||
cross = nixpkgsFun {
|
||||
localSystem = {
|
||||
system = "x86_64-linux";
|
||||
};
|
||||
crossSystem = {
|
||||
system = "aarch64-linux";
|
||||
};
|
||||
};
|
||||
appended = cross.appendOverlays [ ];
|
||||
in
|
||||
assert cross.makeWrapper ? __spliced;
|
||||
assert appended.makeWrapper ? __spliced;
|
||||
pkgs.emptyFile;
|
||||
}
|
||||
|
||||
@@ -272,7 +272,10 @@ let
|
||||
# in one go when calling Nixpkgs, for performance and simplicity.
|
||||
appendOverlays =
|
||||
extraOverlays:
|
||||
if extraOverlays == [ ] then self else nixpkgsFun { overlays = args.overlays ++ extraOverlays; };
|
||||
if extraOverlays == [ ] then
|
||||
self.__splicedPackages
|
||||
else
|
||||
nixpkgsFun { overlays = args.overlays ++ extraOverlays; };
|
||||
|
||||
# NOTE: each call to extend causes a full nixpkgs rebuild, adding ~130MB
|
||||
# of allocations. DO NOT USE THIS IN NIXPKGS.
|
||||
|
||||
Reference in New Issue
Block a user