Skip to content

Commit

Permalink
Extract stdenvOverrides function out of mkOverrides function.
Browse files Browse the repository at this point in the history
  • Loading branch information
nbp committed Mar 18, 2016
1 parent 7a53665 commit e9e277f
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -92,8 +92,14 @@ let
# ... pkgs.foo ...").
pkgs = applyGlobalOverrides pkgsInit (self: config.packageOverrides or (super: {}));

mkOverrides = pkgsOrig: overrides: overrides //
(lib.optionalAttrs (pkgsOrig.stdenv ? overrides && crossSystem == null) (pkgsOrig.stdenv.overrides pkgsOrig));
mkOverrides = pkgs: overrides: overrides // stdenvOverrides pkgs;

# stdenvOverrides is used to avoid circular dependencies for building the
# standard build environment. This mechanism use the override mechanism to
# implement some staged compilation of the stdenv.
stdenvOverrides = pkgs:
lib.optionalAttrs (pkgs.stdenv ? overrides && crossSystem == null)
(pkgs.stdenv.overrides pkgs);

# The un-overriden packages, passed to `overrider'.
pkgsInit = pkgsFun pkgs {};
Expand Down

0 comments on commit e9e277f

Please sign in to comment.