about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2017-09-18 21:12:23 -0400
committerJohn Ericson <John.Ericson@Obsidian.Systems>2017-09-19 16:45:24 -0400
commit6c74ee68b9d985a9a5b26eb9e6ee1bfc06283bee (patch)
tree812917bd5e9d73d60b87768dc103e0bbb49a185f /pkgs
parent6d423da7cc696f6a307dca72ca9634ac1ee0ecc4 (diff)
downloadnixlib-6c74ee68b9d985a9a5b26eb9e6ee1bfc06283bee.tar
nixlib-6c74ee68b9d985a9a5b26eb9e6ee1bfc06283bee.tar.gz
nixlib-6c74ee68b9d985a9a5b26eb9e6ee1bfc06283bee.tar.bz2
nixlib-6c74ee68b9d985a9a5b26eb9e6ee1bfc06283bee.tar.lz
nixlib-6c74ee68b9d985a9a5b26eb9e6ee1bfc06283bee.tar.xz
nixlib-6c74ee68b9d985a9a5b26eb9e6ee1bfc06283bee.tar.zst
nixlib-6c74ee68b9d985a9a5b26eb9e6ee1bfc06283bee.zip
cc-wrapper, cc-wrapper-old: Simplify shell logic
1. `crossDrv` is now the default so we don't need to worry about that in
   build != host builds.

2. shell is the build time shell, so `wrapCCCross` doesn't need to
   worry, as build == host.

3. `shell.shellPath` will always be appended where useful.

4. Complicated `shell == ""` logic served no purpose.
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/build-support/cc-wrapper/default.nix7
-rw-r--r--pkgs/build-support/gcc-wrapper-old/default.nix10
-rw-r--r--pkgs/top-level/all-packages.nix4
3 files changed, 6 insertions, 15 deletions
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix
index 999faf756ed4..866be9cded9e 100644
--- a/pkgs/build-support/cc-wrapper/default.nix
+++ b/pkgs/build-support/cc-wrapper/default.nix
@@ -86,7 +86,8 @@ stdenv.mkDerivation {
 
   preferLocalBuild = true;
 
-  inherit cc shell libc_bin libc_dev libc_lib binutils_bin coreutils_bin;
+  inherit cc libc_bin libc_dev libc_lib binutils_bin coreutils_bin;
+  shell = getBin shell + shell.shellPath or "";
   gnugrep_bin = if nativeTools then "" else gnugrep;
 
   binPrefix = prefix;
@@ -384,10 +385,6 @@ stdenv.mkDerivation {
   # for substitution in utils.sh
   expandResponseParams = "${expand-response-params}/bin/expand-response-params";
 
-  crossAttrs = {
-    shell = shell.crossDrv + shell.crossDrv.shellPath;
-  };
-
   meta =
     let cc_ = if cc != null then cc else {}; in
     (if cc_ ? meta then removeAttrs cc.meta ["priority"] else {}) //
diff --git a/pkgs/build-support/gcc-wrapper-old/default.nix b/pkgs/build-support/gcc-wrapper-old/default.nix
index 8d28879fb06f..ae17989d932b 100644
--- a/pkgs/build-support/gcc-wrapper-old/default.nix
+++ b/pkgs/build-support/gcc-wrapper-old/default.nix
@@ -6,7 +6,7 @@
 # variables so that the compiler and the linker just "work".
 
 { name ? "", stdenv, lib, nativeTools, nativeLibc, nativePrefix ? ""
-, gcc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? ""
+, gcc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? stdenv.shell
 , zlib ? null
 , hostPlatform, targetPlatform
 }:
@@ -56,15 +56,9 @@ stdenv.mkDerivation {
   langAda = if nativeTools then false else gcc ? langAda && gcc.langAda;
   langVhdl = if nativeTools then false else gcc ? langVhdl && gcc.langVhdl;
   zlib = if gcc != null && gcc ? langVhdl then zlib else null;
-  shell = if shell == "" then stdenv.shell else
-    if builtins.isAttrs shell then (shell + shell.shellPath)
-    else shell;
+  shell = shell + shell.shellPath or "";
 
   crossAttrs = {
-    shell = shell.crossDrv + shell.crossDrv.shellPath;
-    coreutils = coreutils.crossDrv;
-    binutils = binutils.crossDrv;
-    gcc = gcc.crossDrv;
     #
     # This is not the best way to do this. I think the reference should be
     # the style in the gcc-cross-wrapper, but to keep a stable stdenv now I
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 5418ddc002f8..068fa3230d63 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6230,7 +6230,7 @@ with pkgs;
   };
 
   wrapCCCross =
-    {cc, libc, binutils, shell ? "", name ? "gcc-cross-wrapper"}:
+    {cc, libc, binutils, name ? "gcc-cross-wrapper"}:
 
     forcedNativePackages.ccWrapperFun {
       nativeTools = false;
@@ -6240,7 +6240,7 @@ with pkgs;
       isGNU = cc.isGNU or false;
       isClang = cc.isClang or false;
 
-      inherit cc binutils libc shell name;
+      inherit cc binutils libc name;
     };
 
   # prolog