top-level: Duplicate overlaying unless stdenvOverrides comes last
The stdenvOverrides overlay is used to bring packages forward during bootstrapping via stdenv.overrides. These packages have already had the overlays applied to them in the previous boostrapping stage. If stdenvOverrides is not last in the overlays stack, all remaining overlays will windup being applied again to these packages. closes #34086
This commit is contained in:
parent
afb87a66b3
commit
fefa9ef756
|
@ -116,7 +116,9 @@ let
|
|||
lib.optionalAttrs allowCustomOverrides
|
||||
((config.packageOverrides or (super: {})) super);
|
||||
|
||||
# The complete chain of package set builders, applied from top to bottom
|
||||
# The complete chain of package set builders, applied from top to bottom.
|
||||
# stdenvOverlays must be last as it brings package forward from the
|
||||
# previous bootstrapping phases which have already been overlayed.
|
||||
toFix = lib.foldl' (lib.flip lib.extends) (self: {}) ([
|
||||
stdenvBootstappingAndPlatforms
|
||||
platformCompat
|
||||
|
@ -125,9 +127,9 @@ let
|
|||
splice
|
||||
allPackages
|
||||
aliases
|
||||
stdenvOverrides
|
||||
configOverrides
|
||||
] ++ overlays);
|
||||
] ++ overlays ++ [
|
||||
stdenvOverrides ]);
|
||||
|
||||
in
|
||||
# Return the complete set of packages.
|
||||
|
|
Loading…
Reference in a new issue