mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-22 15:03:28 +00:00
binutilsCross: Remove and use binutils
instead always
See previous commit for what was done to `binutils` to make this possible. There were some uses of `forcedNativePackages` added. The combination of overrides with that attribute is highly spooky: it's often important that if an overridden package comes from it, the replaced arguments for that package come from it. Long term this package set and all the spookiness should be gone and irrelevant: "Move along, nothing to see here!" No hashes should be changed with this commit
This commit is contained in:
parent
85b4d30c0b
commit
295315cc87
@ -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])
|
||||
;
|
||||
|
@ -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])
|
||||
|
||||
|
@ -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])
|
||||
|
||||
|
@ -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" +
|
||||
@ -309,7 +308,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])
|
||||
|
||||
|
@ -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])
|
||||
|
||||
|
@ -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])
|
||||
|
||||
|
@ -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";
|
||||
};
|
||||
})
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
};
|
||||
|
@ -39,7 +39,7 @@ in bootStages ++ [
|
||||
binutils cc
|
||||
else buildPackages.makeStdenvCross
|
||||
buildPackages.stdenv crossSystem
|
||||
buildPackages.binutilsCross buildPackages.gccCrossStageFinal;
|
||||
buildPackages.binutils buildPackages.gccCrossStageFinal;
|
||||
})
|
||||
|
||||
]
|
||||
|
@ -4982,10 +4982,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;
|
||||
};
|
||||
|
||||
@ -4993,7 +4993,7 @@ with pkgs;
|
||||
gccCrossMingw2 = assert targetPlatform != buildPlatform; wrapGCCCross {
|
||||
gcc = gccCrossStageStatic.gcc;
|
||||
libc = windows.mingw_headers2;
|
||||
binutils = binutilsCross;
|
||||
inherit (forcedNativePackages) binutils;
|
||||
cross = targetPlatform;
|
||||
};
|
||||
|
||||
@ -5006,10 +5006,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;
|
||||
};
|
||||
|
||||
@ -6346,13 +6346,6 @@ with pkgs;
|
||||
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;
|
||||
@ -12305,7 +12298,7 @@ with pkgs;
|
||||
|
||||
w32api = callPackage ../os-specific/windows/w32api {
|
||||
gccCross = gccCrossStageStatic;
|
||||
binutilsCross = binutilsCross;
|
||||
binutils = binutils;
|
||||
};
|
||||
|
||||
w32api_headers = w32api.override {
|
||||
@ -12314,7 +12307,7 @@ with pkgs;
|
||||
|
||||
mingw_runtime = callPackage ../os-specific/windows/mingwrt {
|
||||
gccCross = gccCrossMingw2;
|
||||
binutilsCross = binutilsCross;
|
||||
binutils = binutils;
|
||||
};
|
||||
|
||||
mingw_runtime_headers = mingw_runtime.override {
|
||||
@ -12338,7 +12331,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 {
|
||||
|
Loading…
Reference in New Issue
Block a user