forked from mirrors/nixpkgs
binutils: Modernize derivation
No hashes of any sort should be changed
This commit is contained in:
parent
0011f9065a
commit
200ac02d0f
|
@ -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";
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
|
Loading…
Reference in a new issue