summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix24
-rw-r--r--pkgs/top-level/all-packages.nix1
2 files changed, 14 insertions, 11 deletions
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index 6bfd933bf9b..23ea7aed251 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -1,13 +1,17 @@
-{ stdenv, fetchurl, noSysDirs, zlib
-, cross ? null, gold ? true, bison ? null
+{ stdenv, buildPackages
+, fetchurl, zlib
+, buildPlatform, hostPlatform, targetPlatform
+, noSysDirs, gold ? true, bison ? null
 }:
 
-let basename = "binutils-2.28"; in
-
-let inherit (stdenv.lib) optional optionals optionalString; in
+let
+  version = "2.28";
+  basename = "binutils-${version}";
+  inherit (stdenv.lib) optional optionals optionalString;
+in
 
 stdenv.mkDerivation rec {
-  name = optionalString (cross != null) "${cross.config}-" + basename;
+  name = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-" + basename;
 
   src = fetchurl {
     url = "mirror://gnu/binutils/${basename}.tar.bz2";
@@ -42,9 +46,9 @@ stdenv.mkDerivation rec {
 
   # TODO: all outputs on all platform
   outputs = [ "out" ]
-    ++ optional (cross == null && !stdenv.isDarwin) "lib" # problems in Darwin stdenv
+    ++ optional (targetPlatform == hostPlatform && !hostPlatform.isDarwin) "lib" # problems in Darwin stdenv
     ++ [ "info" ]
-    ++ optional (cross == null) "dev";
+    ++ optional (targetPlatform == hostPlatform) "dev";
 
   nativeBuildInputs = [ bison ];
   buildInputs = [ zlib ];
@@ -69,14 +73,14 @@ stdenv.mkDerivation rec {
 
   # As binutils takes part in the stdenv building, we don't want references
   # to the bootstrap-tools libgcc (as uses to happen on arm/mips)
-  NIX_CFLAGS_COMPILE = if stdenv.isDarwin
+  NIX_CFLAGS_COMPILE = if hostPlatform.isDarwin
     then "-Wno-string-plus-int -Wno-deprecated-declarations"
     else "-static-libgcc";
 
   configureFlags =
     [ "--enable-shared" "--enable-deterministic-archives" "--disable-werror" ]
     ++ optional (stdenv.system == "mips64el-linux") "--enable-fix-loongson2f-nop"
-    ++ optional (cross != null) "--target=${cross.config}" # TODO: make this unconditional
+    ++ optional (targetPlatform != hostPlatform) "--target=${targetPlatform.config}" # TODO: make this unconditional
     ++ optionals gold [ "--enable-gold" "--enable-plugins" ]
     ++ optional (stdenv.system == "i686-linux") "--enable-targets=x86_64-linux-gnu";
 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 8bca3cee890..86130ada3e7 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6535,7 +6535,6 @@ with pkgs;
   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 (binutils-raw.override {