diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix index 3bdb222b46f..de316d0e5e7 100644 --- a/pkgs/development/tools/misc/binutils/default.nix +++ b/pkgs/development/tools/misc/binutils/default.nix @@ -19,10 +19,11 @@ in stdenv.mkDerivation rec { name = targetPrefix + basename; - src = fetchurl { + # HACK to ensure that we preserve source from bootstrap binutils to not rebuild LLVM + src = stdenv.__bootPackages.binutils-unwrapped.src or (fetchurl { url = "mirror://gnu/binutils/${basename}.tar.bz2"; sha256 = "028cklfqaab24glva1ks2aqa1zxa6w6xmc8q34zs1sb7h22dxspg"; - }; + }); patches = [ # Turn on --enable-new-dtags by default to make the linker set diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index e9ae54811a2..2eac9e58daa 100644 --- a/pkgs/stdenv/generic/default.nix +++ b/pkgs/stdenv/generic/default.nix @@ -90,9 +90,14 @@ let '' + lib.optionalString hostPlatform.isDarwin '' export NIX_DONT_SET_RPATH=1 export NIX_NO_SELF_RPATH=1 - '' + lib.optionalString targetPlatform.isDarwin '' - export NIX_TARGET_DONT_SET_RPATH=1 - ''; + '' + # TODO this should be uncommented, but it causes stupid mass rebuilds. I + # think the best solution would just be to fixup linux RPATHs so we don't + # need to set `-rpath` anywhere. + # + lib.optionalString targetPlatform.isDarwin '' + # export NIX_TARGET_DONT_SET_RPATH=1 + # '' + ; inherit initialPath shell defaultNativeBuildInputs defaultBuildInputs;