summary refs log tree commit diff
path: root/pkgs/stdenv/adapters.nix
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2014-02-04 17:18:38 +0100
committerEelco Dolstra <eelco.dolstra@logicblox.com>2014-02-05 19:18:33 +0100
commitc3d84d15ce29b3be3f55e3c5fded66998202595c (patch)
treeecf67167cf9a92b57b55748a78c1da8644577130 /pkgs/stdenv/adapters.nix
parent7703f04b751084aecca9eeda4517ce7c053a4000 (diff)
downloadnixpkgs-c3d84d15ce29b3be3f55e3c5fded66998202595c.tar
nixpkgs-c3d84d15ce29b3be3f55e3c5fded66998202595c.tar.gz
nixpkgs-c3d84d15ce29b3be3f55e3c5fded66998202595c.tar.bz2
nixpkgs-c3d84d15ce29b3be3f55e3c5fded66998202595c.tar.lz
nixpkgs-c3d84d15ce29b3be3f55e3c5fded66998202595c.tar.xz
nixpkgs-c3d84d15ce29b3be3f55e3c5fded66998202595c.tar.zst
nixpkgs-c3d84d15ce29b3be3f55e3c5fded66998202595c.zip
Apply makeOverridable to stdenv
This removes the need for hacks like stdenv.regenerate.  It also
ensures that overrideGCC is now stackable (so ‘stdenv = useGoldLinker
clangStdenv’ works).
Diffstat (limited to 'pkgs/stdenv/adapters.nix')
-rw-r--r--pkgs/stdenv/adapters.nix14
1 files changed, 4 insertions, 10 deletions
diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix
index 85063621815..da4e0691e43 100644
--- a/pkgs/stdenv/adapters.nix
+++ b/pkgs/stdenv/adapters.nix
@@ -8,20 +8,14 @@ rec {
 
 
   # Override the compiler in stdenv for specific packages.
-  overrideGCC = stdenv: gcc: stdenv //
-    { mkDerivation = args: stdenv.mkDerivation (args // { NIX_GCC = gcc; });
-      inherit gcc;
-    };
+  overrideGCC = stdenv: gcc: stdenv.override { inherit gcc; };
 
 
   # Add some arbitrary packages to buildInputs for specific packages.
   # Used to override packages in stdenv like Make.  Should not be used
   # for other dependencies.
-  overrideInStdenv = stdenv: pkgs: stdenv //
-    { mkDerivation = args: stdenv.mkDerivation (args //
-        { buildInputs = args.buildInputs or [] ++ pkgs; }
-      );
-    };
+  overrideInStdenv = stdenv: pkgs:
+    stdenv.override (prev: { extraBuildInputs = prev.extraBuildInputs or [] ++ pkgs; });
 
 
   # Override the setup script of stdenv.  Useful for testing new
@@ -32,7 +26,7 @@ rec {
   #   randomPkg = import ../bla { ...
   #     stdenv = overrideSetup stdenv ../stdenv/generic/setup-latest.sh;
   #   };
-  overrideSetup = stdenv: setup: stdenv.regenerate setup;
+  overrideSetup = stdenv: setupScript: stdenv.override { inherit setupScript; };
 
 
   # Return a modified stdenv that uses dietlibc to create small