about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJohn Ericson <Ericson2314@yahoo.com>2017-04-26 09:09:06 -0400
committerGitHub <noreply@github.com>2017-04-26 09:09:06 -0400
commit761af147780c7dc68cbbfa93213cc73dd25f75ba (patch)
treef37d657fdd86df1b73b60c7f0c2a3c5e7d63fa8f
parentaea92575816296a3a83ba1335b510c06f4a48f51 (diff)
parent295315cc87acd13caa39ea87c1d8d010e7a587df (diff)
downloadnixlib-761af147780c7dc68cbbfa93213cc73dd25f75ba.tar
nixlib-761af147780c7dc68cbbfa93213cc73dd25f75ba.tar.gz
nixlib-761af147780c7dc68cbbfa93213cc73dd25f75ba.tar.bz2
nixlib-761af147780c7dc68cbbfa93213cc73dd25f75ba.tar.lz
nixlib-761af147780c7dc68cbbfa93213cc73dd25f75ba.tar.xz
nixlib-761af147780c7dc68cbbfa93213cc73dd25f75ba.tar.zst
nixlib-761af147780c7dc68cbbfa93213cc73dd25f75ba.zip
Merge pull request #25227 from obsidiansystems/cross-purge-binutilsCross
Purge binutilsCross
-rw-r--r--lib/systems/parse.nix2
-rw-r--r--pkgs/development/compilers/gcc/4.5/default.nix3
-rw-r--r--pkgs/development/compilers/gcc/4.8/default.nix7
-rw-r--r--pkgs/development/compilers/gcc/4.9/default.nix7
-rw-r--r--pkgs/development/compilers/gcc/5/default.nix7
-rw-r--r--pkgs/development/compilers/gcc/6/default.nix7
-rw-r--r--pkgs/development/compilers/gcc/snapshot/default.nix7
-rw-r--r--pkgs/development/compilers/ghc/head.nix12
-rw-r--r--pkgs/os-specific/windows/mingw-w64/default.nix4
-rw-r--r--pkgs/os-specific/windows/mingwrt/default.nix4
-rw-r--r--pkgs/os-specific/windows/w32api/default.nix4
-rw-r--r--pkgs/stdenv/adapters.nix6
-rw-r--r--pkgs/stdenv/cross/default.nix2
-rw-r--r--pkgs/stdenv/linux/make-bootstrap-tools-cross.nix12
-rw-r--r--pkgs/top-level/all-packages.nix32
15 files changed, 55 insertions, 61 deletions
diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix
index f6315b8ad2a9..26744322e9e4 100644
--- a/lib/systems/parse.nix
+++ b/lib/systems/parse.nix
@@ -89,6 +89,8 @@ rec {
     msvc = {};
     eabi = {};
     androideabi = {};
+    gnueabi = {};
+    gnueabihf = {};
     unknown = {};
   };
 
diff --git a/pkgs/development/compilers/gcc/4.5/default.nix b/pkgs/development/compilers/gcc/4.5/default.nix
index 7f5e4f8c9a2d..19a538e613ee 100644
--- a/pkgs/development/compilers/gcc/4.5/default.nix
+++ b/pkgs/development/compilers/gcc/4.5/default.nix
@@ -20,7 +20,6 @@
 , enableMultilib ? false
 , name ? "gcc"
 , cross ? null
-, binutilsCross ? null
 , libcCross ? null
 , crossStageStatic ? true
 , gnat ? null
@@ -225,7 +224,7 @@ stdenv.mkDerivation ({
     ++ (optional langJava boehmgc)
     ++ (optionals langJava [zip unzip])
     ++ (optionals javaAwtGtk ([gtk2 pkgconfig libart_lgpl] ++ xlibs))
-    ++ (optionals (cross != null) [binutilsCross])
+    ++ (optionals (cross != null) [binutils])
     ++ (optionals langAda [gnatboot])
     ++ (optionals langVhdl [gnat])
     ;
diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix
index 72c22544d1eb..714554019e4c 100644
--- a/pkgs/development/compilers/gcc/4.8/default.nix
+++ b/pkgs/development/compilers/gcc/4.8/default.nix
@@ -26,7 +26,6 @@
 , enablePlugin ? true             # whether to support user-supplied plug-ins
 , name ? "gcc"
 , cross ? null
-, binutilsCross ? null
 , libcCross ? null
 , crossStageStatic ? true
 , gnat ? null
@@ -171,8 +170,8 @@ let version = "4.8.5";
            else                " --with-headers=${libcCross.dev}/include") +
           # Ensure that -print-prog-name is able to find the correct programs.
           (stdenv.lib.optionalString (crossMingw || crossDarwin) (
-            " --with-as=${binutilsCross}/bin/${cross.config}-as" +
-            " --with-ld=${binutilsCross}/bin/${cross.config}-ld"
+            " --with-as=${binutils}/bin/${cross.config}-as" +
+            " --with-ld=${binutils}/bin/${cross.config}-ld"
           )) +
           " --enable-__cxa_atexit" +
           " --enable-long-long" +
@@ -294,7 +293,7 @@ stdenv.mkDerivation ({
     ++ (optional (zlib != null) zlib)
     ++ (optionals langJava [ boehmgc zip unzip ])
     ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
-    ++ (optionals (cross != null) [binutilsCross])
+    ++ (optionals (cross != null) [binutils])
     ++ (optionals langAda [gnatboot])
     ++ (optionals langVhdl [gnat])
 
diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix
index 594a61fdedfe..3bf279635aa3 100644
--- a/pkgs/development/compilers/gcc/4.9/default.nix
+++ b/pkgs/development/compilers/gcc/4.9/default.nix
@@ -26,7 +26,6 @@
 , enablePlugin ? true             # whether to support user-supplied plug-ins
 , name ? "gcc"
 , cross ? null
-, binutilsCross ? null
 , libcCross ? null
 , crossStageStatic ? true
 , gnat ? null
@@ -172,8 +171,8 @@ let version = "4.9.4";
            else                " --with-headers=${libcCross.dev}/include") +
           # Ensure that -print-prog-name is able to find the correct programs.
           (stdenv.lib.optionalString (crossMingw || crossDarwin) (
-            " --with-as=${binutilsCross}/bin/${cross.config}-as" +
-            " --with-ld=${binutilsCross}/bin/${cross.config}-ld"
+            " --with-as=${binutils}/bin/${cross.config}-as" +
+            " --with-ld=${binutils}/bin/${cross.config}-ld"
           )) +
           " --enable-__cxa_atexit" +
           " --enable-long-long" +
@@ -299,7 +298,7 @@ stdenv.mkDerivation ({
     ++ (optional (zlib != null) zlib)
     ++ (optionals langJava [ boehmgc zip unzip ])
     ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
-    ++ (optionals (cross != null) [binutilsCross])
+    ++ (optionals (cross != null) [binutils])
     ++ (optionals langAda [gnatboot])
     ++ (optionals langVhdl [gnat])
 
diff --git a/pkgs/development/compilers/gcc/5/default.nix b/pkgs/development/compilers/gcc/5/default.nix
index af9ffcffd291..79c5b805f453 100644
--- a/pkgs/development/compilers/gcc/5/default.nix
+++ b/pkgs/development/compilers/gcc/5/default.nix
@@ -26,7 +26,6 @@
 , enablePlugin ? true             # whether to support user-supplied plug-ins
 , name ? "gcc"
 , cross ? null
-, binutilsCross ? null
 , libcCross ? null
 , crossStageStatic ? true
 , gnat ? null
@@ -176,8 +175,8 @@ let version = "5.4.0";
            else                " --with-headers=${getDev libcCross}/include") +
           # Ensure that -print-prog-name is able to find the correct programs.
           (stdenv.lib.optionalString (crossMingw || crossDarwin) (
-            " --with-as=${binutilsCross}/bin/${cross.config}-as" +
-            " --with-ld=${binutilsCross}/bin/${cross.config}-ld"
+            " --with-as=${binutils}/bin/${cross.config}-as" +
+            " --with-ld=${binutils}/bin/${cross.config}-ld"
           )) +
           " --enable-__cxa_atexit" +
           " --enable-long-long" +
@@ -315,7 +314,7 @@ stdenv.mkDerivation ({
     ++ (optional (zlib != null) zlib)
     ++ (optionals langJava [ boehmgc zip unzip ])
     ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
-    ++ (optionals (cross != null) [binutilsCross])
+    ++ (optionals (cross != null) [binutils])
     ++ (optionals langAda [gnatboot])
     ++ (optionals langVhdl [gnat])
 
diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix
index 1496e910dd1c..57bb336ccbfe 100644
--- a/pkgs/development/compilers/gcc/6/default.nix
+++ b/pkgs/development/compilers/gcc/6/default.nix
@@ -26,7 +26,6 @@
 , enablePlugin ? true             # whether to support user-supplied plug-ins
 , name ? "gcc"
 , cross ? null
-, binutilsCross ? null
 , libcCross ? null
 , crossStageStatic ? true
 , gnat ? null
@@ -172,8 +171,8 @@ let version = "6.3.0";
            else                " --with-headers=${getDev libcCross}/include") +
           # Ensure that -print-prog-name is able to find the correct programs.
           (stdenv.lib.optionalString (crossMingw || crossDarwin) (
-            " --with-as=${binutilsCross}/bin/${cross.config}-as" +
-            " --with-ld=${binutilsCross}/bin/${cross.config}-ld"
+            " --with-as=${binutils}/bin/${cross.config}-as" +
+            " --with-ld=${binutils}/bin/${cross.config}-ld"
           )) +
           " --enable-__cxa_atexit" +
           " --enable-long-long" +
@@ -297,7 +296,7 @@ stdenv.mkDerivation ({
     ++ (optional (zlib != null) zlib)
     ++ (optionals langJava [ boehmgc zip unzip ])
     ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
-    ++ (optionals (cross != null) [binutilsCross])
+    ++ (optionals (cross != null) [binutils])
     ++ (optionals langAda [gnatboot])
     ++ (optionals langVhdl [gnat])
 
diff --git a/pkgs/development/compilers/gcc/snapshot/default.nix b/pkgs/development/compilers/gcc/snapshot/default.nix
index af48fdbd1598..6b08f2797903 100644
--- a/pkgs/development/compilers/gcc/snapshot/default.nix
+++ b/pkgs/development/compilers/gcc/snapshot/default.nix
@@ -26,7 +26,6 @@
 , enablePlugin ? true             # whether to support user-supplied plug-ins
 , name ? "gcc"
 , cross ? null
-, binutilsCross ? null
 , libcCross ? null
 , crossStageStatic ? true
 , gnat ? null
@@ -172,8 +171,8 @@ let version = "7-20170409";
            else                " --with-headers=${getDev libcCross}/include") +
           # Ensure that -print-prog-name is able to find the correct programs.
           (stdenv.lib.optionalString (crossMingw || crossDarwin) (
-            " --with-as=${binutilsCross}/bin/${cross.config}-as" +
-            " --with-ld=${binutilsCross}/bin/${cross.config}-ld"
+            " --with-as=${binutils}/bin/${cross.config}-as" +
+            " --with-ld=${binutils}/bin/${cross.config}-ld"
           )) +
           " --enable-__cxa_atexit" +
           " --enable-long-long" +
@@ -297,7 +296,7 @@ stdenv.mkDerivation ({
     ++ (optional (zlib != null) zlib)
     ++ (optionals langJava [ boehmgc zip unzip ])
     ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
-    ++ (optionals (cross != null) [binutilsCross])
+    ++ (optionals (cross != null) [binutils])
     ++ (optionals langAda [gnatboot])
     ++ (optionals langVhdl [gnat])
 
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index ed6f4717446d..006a9f8fbc46 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -99,17 +99,17 @@ in stdenv.mkDerivation (rec {
 
   configureFlags = [
     "CC=${stdenv.ccCross}/bin/${cross.config}-cc"
-    "LD=${stdenv.binutilsCross}/bin/${cross.config}-ld"
-    "AR=${stdenv.binutilsCross}/bin/${cross.config}-ar"
-    "NM=${stdenv.binutilsCross}/bin/${cross.config}-nm"
-    "RANLIB=${stdenv.binutilsCross}/bin/${cross.config}-ranlib"
+    "LD=${stdenv.binutils}/bin/${cross.config}-ld"
+    "AR=${stdenv.binutils}/bin/${cross.config}-ar"
+    "NM=${stdenv.binutils}/bin/${cross.config}-nm"
+    "RANLIB=${stdenv.binutils}/bin/${cross.config}-ranlib"
     "--target=${cross.config}"
     "--enable-bootstrap-with-devel-snapshot"
   ] ++
     # fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
     lib.optional (cross.config or null == "aarch64-apple-darwin14") "--disable-large-address-space";
 
-  buildInputs = commonBuildInputs ++ [ stdenv.ccCross stdenv.binutilsCross ];
+  buildInputs = commonBuildInputs ++ [ stdenv.ccCross stdenv.binutils ];
 
   dontSetConfigureCross = true;
 
@@ -118,6 +118,6 @@ in stdenv.mkDerivation (rec {
 
     cc = "${stdenv.ccCross}/bin/${cross.config}-cc";
 
-    ld = "${stdenv.binutilsCross}/bin/${cross.config}-ld";
+    ld = "${stdenv.binutils}/bin/${cross.config}-ld";
   };
 })
diff --git a/pkgs/os-specific/windows/mingw-w64/default.nix b/pkgs/os-specific/windows/mingw-w64/default.nix
index a9df0d29e09f..49612b0b4618 100644
--- a/pkgs/os-specific/windows/mingw-w64/default.nix
+++ b/pkgs/os-specific/windows/mingw-w64/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, binutilsCross ? null, gccCross ? null
+{ stdenv, fetchurl, binutils ? null, gccCross ? null
 , onlyHeaders ? false
 , onlyPthreads ? false
 }:
@@ -27,7 +27,7 @@ stdenv.mkDerivation ({
     cd mingw-w64-libraries/winpthreads
   '';
 } else {
-  buildInputs = [ gccCross binutilsCross ];
+  buildInputs = [ gccCross binutils ];
 
   crossConfig = gccCross.crossConfig;
 
diff --git a/pkgs/os-specific/windows/mingwrt/default.nix b/pkgs/os-specific/windows/mingwrt/default.nix
index 286c63d01637..98461d690d92 100644
--- a/pkgs/os-specific/windows/mingwrt/default.nix
+++ b/pkgs/os-specific/windows/mingwrt/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, binutilsCross ? null, gccCross ? null, onlyHeaders ? false}:
+{stdenv, fetchurl, binutils ? null, gccCross ? null, onlyHeaders ? false}:
 
 let
   name = "mingwrt-3.20";
@@ -20,7 +20,7 @@ stdenv.mkDerivation (rec {
     cp -R include $out
   '';
 } else {
-  buildInputs = [ gccCross binutilsCross ];
+  buildInputs = [ gccCross binutils ];
 
   crossConfig = gccCross.crossConfig;
 
diff --git a/pkgs/os-specific/windows/w32api/default.nix b/pkgs/os-specific/windows/w32api/default.nix
index 2a5af71b5eca..3443fff9668d 100644
--- a/pkgs/os-specific/windows/w32api/default.nix
+++ b/pkgs/os-specific/windows/w32api/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, xz, binutilsCross ? null
+{ stdenv, fetchurl, xz, binutils ? null
 , gccCross ? null, onlyHeaders ? false }:
 
 let
@@ -23,7 +23,7 @@ stdenv.mkDerivation ({
     cp -R include $out
   '';
 } else {
-  buildInputs = [ gccCross binutilsCross ];
+  buildInputs = [ gccCross binutils ];
 
   crossConfig = gccCross.crossConfig;
 
diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix
index 65a0bf98456c..7eab7ddb072c 100644
--- a/pkgs/stdenv/adapters.nix
+++ b/pkgs/stdenv/adapters.nix
@@ -56,7 +56,7 @@ rec {
 
   # Return a modified stdenv that adds a cross compiler to the
   # builds.
-  makeStdenvCross = stdenv: cross: binutilsCross: gccCross: stdenv // {
+  makeStdenvCross = stdenv: cross: binutils: gccCross: stdenv // {
 
     # Overrides are surely not valid as packages built with this run on a
     # different platform.
@@ -91,7 +91,7 @@ rec {
           name = name + "-" + cross.config;
           nativeBuildInputs = nativeBuildInputs
             ++ nativeInputsFromBuildInputs
-            ++ [ gccCross binutilsCross ]
+            ++ [ gccCross binutils ]
             ++ stdenv.lib.optional selfNativeBuildInput nativeDrv
               # without proper `file` command, libtool sometimes fails
               # to recognize 64-bit DLLs
@@ -110,7 +110,7 @@ rec {
           crossConfig = cross.config;
         } // args.crossAttrs or {});
 
-    inherit gccCross binutilsCross;
+    inherit gccCross binutils;
     ccCross = gccCross;
 
   };
diff --git a/pkgs/stdenv/cross/default.nix b/pkgs/stdenv/cross/default.nix
index dec4b0360925..7fe567251708 100644
--- a/pkgs/stdenv/cross/default.nix
+++ b/pkgs/stdenv/cross/default.nix
@@ -39,7 +39,7 @@ in bootStages ++ [
           binutils cc
       else buildPackages.makeStdenvCross
         buildPackages.stdenv crossSystem
-        buildPackages.binutilsCross buildPackages.gccCrossStageFinal;
+        buildPackages.binutils buildPackages.gccCrossStageFinal;
   })
 
 ]
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
index 8b166fb5b49f..47c61aaad818 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
+++ b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
@@ -70,8 +70,6 @@ let
 
   pkgs = pkgsFun ({inherit system;} // selectedCrossSystem);
 
-  inherit (pkgs.buildPackages) stdenv nukeReferences cpio binutilsCross;
-
   glibc = pkgs.buildPackages.libcCross;
   bash = pkgs.bash;
   findutils = pkgs.findutils;
@@ -126,11 +124,15 @@ rec {
 
   build =
 
-    stdenv.mkDerivation {
+    pkgs.buildPackages.stdenv.mkDerivation {
       name = "stdenv-bootstrap-tools-cross";
       crossConfig = pkgs.hostPlatform.config;
 
-      buildInputs = [nukeReferences cpio binutilsCross];
+      buildInputs = [
+        pkgs.buildPackages.nukeReferences
+        pkgs.buildPackages.cpio
+        pkgs.buildPackages.binutils
+      ];
 
       buildCommand = ''
         set -x
@@ -261,7 +263,7 @@ rec {
       allowedReferences = [];
     };
 
-  dist = stdenv.mkDerivation {
+  dist = pkgs.buildPackages.stdenv.mkDerivation {
     name = "stdenv-bootstrap-tools-cross";
 
     buildCommand = ''
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 666f6a454316..2f7d6ea92b57 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4988,10 +4988,10 @@ with pkgs;
         libcCross = libcCross1;
         enableShared = false;
         # Why is this needed?
-        inherit (forcedNativePackages) binutilsCross;
+        inherit (forcedNativePackages) binutils;
       };
       libc = libcCross1;
-      binutils = binutilsCross;
+      inherit (forcedNativePackages) binutils;
       cross = targetPlatform;
   };
 
@@ -4999,7 +4999,7 @@ with pkgs;
   gccCrossMingw2 = assert targetPlatform != buildPlatform; wrapGCCCross {
     gcc = gccCrossStageStatic.gcc;
     libc = windows.mingw_headers2;
-    binutils = binutilsCross;
+    inherit (forcedNativePackages) binutils;
     cross = targetPlatform;
   };
 
@@ -5012,10 +5012,10 @@ with pkgs;
       # <http://hydra.nixos.org/build/4268232>), so don't even try.
       langCC = targetPlatform.config != "i686-pc-mingw32";
       # Why is this needed?
-      inherit (forcedNativePackages) binutilsCross;
+      inherit (forcedNativePackages) binutils;
     };
     libc = libcCross;
-    binutils = binutilsCross;
+    inherit (forcedNativePackages) binutils;
     cross = targetPlatform;
   };
 
@@ -6342,20 +6342,16 @@ with pkgs;
 
   binutils = if stdenv.isDarwin then darwin.binutils else binutils-raw;
 
-  binutils-raw = callPackage ../development/tools/misc/binutils { inherit noSysDirs; };
+  binutils-raw = callPackage ../development/tools/misc/binutils {
+    # FHS sys dirs presumably only have stuff for the build platform
+    noSysDirs = (targetPlatform != buildPlatform) || noSysDirs;
+    cross = if targetPlatform != hostPlatform then targetPlatform else null;
+  };
 
-  binutils_nogold = lowPrio (callPackage ../development/tools/misc/binutils {
-    inherit noSysDirs;
+  binutils_nogold = lowPrio (binutils-raw.override {
     gold = false;
   });
 
-  binutilsCross = assert targetPlatform != buildPlatform; lowPrio (
-    if targetPlatform.libc == "libSystem" then darwin.cctools_cross
-    else forcedNativePackages.binutils.override {
-      noSysDirs = true;
-      cross = targetPlatform;
-    });
-
   bison2 = callPackage ../development/tools/parsing/bison/2.x.nix { };
   bison3 = callPackage ../development/tools/parsing/bison/3.x.nix { };
   bison = bison3;
@@ -12312,7 +12308,7 @@ with pkgs;
 
     w32api = callPackage ../os-specific/windows/w32api {
       gccCross = gccCrossStageStatic;
-      binutilsCross = binutilsCross;
+      binutils = binutils;
     };
 
     w32api_headers = w32api.override {
@@ -12321,7 +12317,7 @@ with pkgs;
 
     mingw_runtime = callPackage ../os-specific/windows/mingwrt {
       gccCross = gccCrossMingw2;
-      binutilsCross = binutilsCross;
+      binutils = binutils;
     };
 
     mingw_runtime_headers = mingw_runtime.override {
@@ -12345,7 +12341,7 @@ with pkgs;
 
     mingw_w64 = callPackage ../os-specific/windows/mingw-w64 {
       gccCross = gccCrossStageStatic;
-      binutilsCross = binutilsCross;
+      binutils = binutils;
     };
 
     mingw_w64_headers = callPackage ../os-specific/windows/mingw-w64 {