diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2017-09-20 11:07:52 -0400 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2017-09-26 14:08:21 -0400 |
commit | d349f9a34006cc484b5e7509a3f227d52d6e2a5d (patch) | |
tree | 69d187767ba311e275115b767680081c2b9b5f96 /pkgs/stdenv | |
parent | 0d3d2a01d20d88dde3696ead43c557c1f3043ee7 (diff) |
cc-wrapper: Use stdenvNoCC to build
cc-wrapper may wrap a cc-compiler, but it doesn't need one to build itself. (c.f. expand-response-params is a separate derivation.) This helps avoid cycles on the cross stuff, in addition to removing a useless dependency edge. I could have been super careful with overrides in the stdenv to avoid the mass rebuild, but I don't think it's worth it.
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r-- | pkgs/stdenv/darwin/default.nix | 4 | ||||
-rw-r--r-- | pkgs/stdenv/freebsd/default.nix | 2 | ||||
-rw-r--r-- | pkgs/stdenv/linux/default.nix | 4 | ||||
-rw-r--r-- | pkgs/stdenv/native/default.nix | 3 | ||||
-rw-r--r-- | pkgs/stdenv/nix/default.nix | 13 |
5 files changed, 12 insertions, 14 deletions
diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix index b7f750508e8c6..a67ca53e1c541 100644 --- a/pkgs/stdenv/darwin/default.nix +++ b/pkgs/stdenv/darwin/default.nix @@ -77,7 +77,7 @@ in rec { cc = if isNull last then "/dev/null" else import ../../build-support/cc-wrapper { inherit shell; - inherit (last) stdenv; + inherit (last) stdenvNoCC; nativeTools = false; nativeLibc = false; @@ -324,7 +324,7 @@ in rec { shell = "${pkgs.bash}/bin/bash"; cc = lib.callPackageWith {} ../../build-support/cc-wrapper { - inherit (pkgs) stdenv; + inherit (pkgs) stdenvNoCC; inherit shell; nativeTools = false; nativeLibc = false; diff --git a/pkgs/stdenv/freebsd/default.nix b/pkgs/stdenv/freebsd/default.nix index c10d1515a3d57..6ab8bf217269f 100644 --- a/pkgs/stdenv/freebsd/default.nix +++ b/pkgs/stdenv/freebsd/default.nix @@ -77,7 +77,7 @@ let inherit (localSystem) system; in nativeTools = true; nativePrefix = "/usr"; nativeLibc = true; - inherit (prevStage) stdenv; + stdenvNoCC = prevStage.stdenv; cc = { name = "clang-9.9.9"; cc = "/usr"; diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index e79ec48e9f42d..a114ab609e6cf 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -84,7 +84,7 @@ let libc = prevStage.glibc; inherit (prevStage) binutils coreutils gnugrep; name = name; - stdenv = prevStage.ccWrapperStdenv; + stdenvNoCC = prevStage.ccWrapperStdenv; }; extraAttrs = { @@ -244,7 +244,7 @@ in }; cc = prevStage.gcc-unwrapped; libc = self.glibc; - inherit (self) stdenv binutils coreutils gnugrep; + inherit (self) stdenvNoCC binutils coreutils gnugrep; name = ""; shell = self.bash + "/bin/bash"; }; diff --git a/pkgs/stdenv/native/default.nix b/pkgs/stdenv/native/default.nix index 9ecb56028bc0b..558a77281edb4 100644 --- a/pkgs/stdenv/native/default.nix +++ b/pkgs/stdenv/native/default.nix @@ -117,6 +117,7 @@ in cc = null; fetchurl = null; }; + stdenvNoCC = stdenv; cc = import ../../build-support/cc-wrapper { name = "cc-native"; @@ -126,7 +127,7 @@ in "i686-solaris" = "/usr/gnu"; "x86_64-solaris" = "/opt/local/gcc47"; }.${system} or "/usr"; - inherit stdenv; + inherit stdenvNoCC; }; fetchurl = import ../../build-support/fetchurl { diff --git a/pkgs/stdenv/nix/default.nix b/pkgs/stdenv/nix/default.nix index c736442dc0a49..ffff8bdf51d48 100644 --- a/pkgs/stdenv/nix/default.nix +++ b/pkgs/stdenv/nix/default.nix @@ -1,5 +1,5 @@ { lib -, crossSystem, config +, crossSystem, config, overlays , bootStages , ... }: @@ -7,9 +7,7 @@ assert crossSystem == null; bootStages ++ [ - (prevStage: let - inherit (prevStage) stdenv; - in { + (prevStage: { inherit config overlays; stdenv = import ../generic rec { @@ -27,10 +25,9 @@ bootStages ++ [ cc = import ../../build-support/cc-wrapper { nativeTools = false; - nativePrefix = stdenv.lib.optionalString hostPlatform.isSunOS "/usr"; + nativePrefix = lib.optionalString hostPlatform.isSunOS "/usr"; nativeLibc = true; - inherit stdenv; - inherit (prevStage) binutils coreutils gnugrep; + inherit (prevStage) stdenvNoCC binutils coreutils gnugrep; cc = prevStage.gcc.cc; isGNU = true; shell = prevStage.bash + "/bin/sh"; @@ -38,7 +35,7 @@ bootStages ++ [ shell = prevStage.bash + "/bin/sh"; - fetchurlBoot = stdenv.fetchurlBoot; + fetchurlBoot = prevStage.stdenv.fetchurlBoot; overrides = self: super: { inherit cc; |