From 200ac02d0f9947cb997edfb9688818042fd52569 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Sat, 3 Jun 2017 20:28:05 -0400 Subject: [PATCH] binutils: Modernize derivation No hashes of any sort should be changed --- .../tools/misc/binutils/default.nix | 24 +++++++++++-------- pkgs/top-level/all-packages.nix | 1 - 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 6bfd933bf9b7..23ea7aed2511 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 8bca3cee8905..86130ada3e71 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 {