diff options
author | Gergely Risko <errge@nilcons.com> | 2014-08-23 20:45:32 +0200 |
---|---|---|
committer | Gergely Risko <errge@nilcons.com> | 2014-08-24 17:10:37 +0200 |
commit | 142970b9eb1925d67b4b9b41d060533fe249f2ec (patch) | |
tree | 44aab216693b4705cf96bdcb7ff415cd622768e7 | |
parent | 8a445f923710ff1a4885c268a16cb931e3b639f0 (diff) | |
download | nixlib-142970b9eb1925d67b4b9b41d060533fe249f2ec.tar nixlib-142970b9eb1925d67b4b9b41d060533fe249f2ec.tar.gz nixlib-142970b9eb1925d67b4b9b41d060533fe249f2ec.tar.bz2 nixlib-142970b9eb1925d67b4b9b41d060533fe249f2ec.tar.lz nixlib-142970b9eb1925d67b4b9b41d060533fe249f2ec.tar.xz nixlib-142970b9eb1925d67b4b9b41d060533fe249f2ec.tar.zst nixlib-142970b9eb1925d67b4b9b41d060533fe249f2ec.zip |
Refactor wrapGCC in stdenvLinux
Don't use default parameter values, to make the callsites more readable and for easier debuggability/changability. Also reordered the callsites' parameter ordering for consistency. In the final stdenv don't repeat the name of the shell. This commit doesn't change the outhash (or drvhash) of the stdenv.
-rw-r--r-- | pkgs/stdenv/linux/default.nix | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index 71b23a396d9a..d2c36b9dc0db 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -118,12 +118,12 @@ rec { # A helper function to call gcc-wrapper. wrapGCC = - { gcc ? bootstrapTools, libc, binutils, coreutils, shell ? "", name ? "bootstrap-gcc-wrapper" }: + { gcc, libc, binutils, coreutils, name }: lib.makeOverridable (import ../../build-support/gcc-wrapper) { nativeTools = false; nativeLibc = false; - inherit gcc binutils coreutils libc shell name; + inherit gcc binutils coreutils libc name; stdenv = stdenvLinuxBoot0; }; @@ -133,9 +133,11 @@ rec { # configure script happy. stdenvLinuxBoot1 = stdenvBootFun { gcc = wrapGCC { + gcc = bootstrapTools; libc = bootstrapGlibc; binutils = bootstrapTools; coreutils = bootstrapTools; + name = "bootstrap-gcc-wrapper"; }; }; @@ -155,9 +157,11 @@ rec { # 3) 2nd stdenv that we will use to build only Glibc. stdenvLinuxBoot2 = stdenvBootFun { gcc = wrapGCC { + gcc = bootstrapTools; libc = bootstrapGlibc; binutils = binutils1; coreutils = bootstrapTools; + name = "bootstrap-gcc-wrapper"; }; overrides = pkgs: { inherit (stdenvLinuxBoot1Pkgs) perl; @@ -183,9 +187,11 @@ rec { # binutils and rest of the bootstrap tools, including GCC. stdenvLinuxBoot3 = stdenvBootFun { gcc = wrapGCC { + gcc = bootstrapTools; + libc = stdenvLinuxGlibc; binutils = binutils1; coreutils = bootstrapTools; - libc = stdenvLinuxGlibc; + name = "bootstrap-gcc-wrapper"; }; overrides = pkgs: { glibc = stdenvLinuxGlibc; @@ -219,10 +225,10 @@ rec { # (e.g. coreutils) are still from the bootstrap tools. stdenvLinuxBoot4 = stdenvBootFun { gcc = wrapGCC rec { + gcc = stdenvLinuxBoot3Pkgs.gcc.gcc; + libc = stdenvLinuxGlibc; binutils = binutils1; coreutils = bootstrapTools; - libc = stdenvLinuxGlibc; - gcc = stdenvLinuxBoot3Pkgs.gcc.gcc; name = ""; }; extraPath = [ stdenvLinuxBoot3Pkgs.xz ]; @@ -262,15 +268,14 @@ rec { ((import ../common-path.nix) {pkgs = stdenvLinuxBoot4Pkgs;}) ++ [stdenvLinuxBoot4Pkgs.patchelf stdenvLinuxBoot4Pkgs.paxctl ]; - gcc = wrapGCC rec { - inherit (stdenvLinuxBoot4Pkgs) binutils coreutils; - libc = stdenvLinuxGlibc; + shell = stdenvLinuxBoot4Pkgs.bash + "/bin/bash"; + + gcc = (wrapGCC rec { gcc = stdenvLinuxBoot4.gcc.gcc; - shell = stdenvLinuxBoot4Pkgs.bash + "/bin/bash"; + libc = stdenvLinuxGlibc; + inherit (stdenvLinuxBoot4Pkgs) binutils coreutils; name = ""; - }; - - shell = stdenvLinuxBoot4Pkgs.bash + "/bin/bash"; + }).override { inherit shell; }; fetchurlBoot = stdenvLinuxBoot0.fetchurlBoot; |