From f9a29887fe5e8c6205a982ef3fed4b77553c43b9 Mon Sep 17 00:00:00 2001 From: "Nicolas B. Pierron" Date: Thu, 17 Mar 2016 21:03:22 +0000 Subject: [PATCH] Move pkgsOrig outside applyGlobalOverrides and provide it as argument. --- pkgs/top-level/all-packages.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0a80c5b48d2..1f8b04a8350 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -90,15 +90,18 @@ let # (un-overriden) set of packages, allowing packageOverrides # attributes to refer to the original attributes (e.g. "foo = # ... pkgs.foo ..."). - pkgs = applyGlobalOverrides (config.packageOverrides or (pkgs: {})); + pkgs = applyGlobalOverrides pkgsInit (config.packageOverrides or (pkgs: {})); mkOverrides = pkgsOrig: overrides: overrides // (lib.optionalAttrs (pkgsOrig.stdenv ? overrides && crossSystem == null) (pkgsOrig.stdenv.overrides pkgsOrig)); + # The un-overriden packages, passed to `overrider'. + pkgsInit = pkgsFun pkgs {}; + # Return the complete set of packages, after applying the overrides # returned by the `overrider' function (see above). Warning: this # function is very expensive! - applyGlobalOverrides = overrider: + applyGlobalOverrides = pkgsOrig: overrider: let # Call the overrider function. We don't want stdenv overrides # in the case of cross-building, or otherwise the basic @@ -106,9 +109,6 @@ let # adapter. overrides = mkOverrides pkgsOrig (overrider pkgsOrig); - # The un-overriden packages, passed to `overrider'. - pkgsOrig = pkgsFun pkgs {}; - # The overriden, final packages. pkgs = pkgsFun pkgs overrides; in pkgs;