diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2017-08-31 23:07:41 -0400 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2017-09-01 11:44:56 -0400 |
commit | b64736a8e4eae4c3b5267c9f6a7e6d741c1165c2 (patch) | |
tree | cff60f568d85bbb098b35219293a035389e5de90 /pkgs/os-specific | |
parent | dbf6d20d64af8572ae4a24850244befc475eea9e (diff) | |
download | nixlib-b64736a8e4eae4c3b5267c9f6a7e6d741c1165c2.tar nixlib-b64736a8e4eae4c3b5267c9f6a7e6d741c1165c2.tar.gz nixlib-b64736a8e4eae4c3b5267c9f6a7e6d741c1165c2.tar.bz2 nixlib-b64736a8e4eae4c3b5267c9f6a7e6d741c1165c2.tar.lz nixlib-b64736a8e4eae4c3b5267c9f6a7e6d741c1165c2.tar.xz nixlib-b64736a8e4eae4c3b5267c9f6a7e6d741c1165c2.tar.zst nixlib-b64736a8e4eae4c3b5267c9f6a7e6d741c1165c2.zip |
darwin binutils: Unwrap GNU Binutils before splicing with cctools
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r-- | pkgs/os-specific/darwin/binutils/default.nix | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/pkgs/os-specific/darwin/binutils/default.nix b/pkgs/os-specific/darwin/binutils/default.nix index 933e7558dbbf..690fd93fcf8a 100644 --- a/pkgs/os-specific/darwin/binutils/default.nix +++ b/pkgs/os-specific/darwin/binutils/default.nix @@ -2,12 +2,15 @@ , hostPlatform, targetPlatform }: +# despite the name, binutils-raw is in fact wrapped. +let binutils-unwrapped = binutils-raw.binutils; in + # Make sure both underlying packages claim to have prepended their binaries # with the same prefix. -assert binutils-raw.prefix == cctools.prefix; +assert binutils-unwrapped.prefix == cctools.prefix; let - inherit (binutils-raw) prefix; + inherit (binutils-unwrapped) prefix; cmds = [ "ar" "ranlib" "as" "dsymutil" "install_name_tool" "ld" "strip" "otool" "lipo" "nm" "strings" "size" @@ -20,7 +23,7 @@ stdenv.mkDerivation { buildCommand = '' mkdir -p $out/bin $out/include - ln -s ${binutils-raw.out}/bin/${prefix}c++filt $out/bin/${prefix}c++filt + ln -s ${binutils-unwrapped.out}/bin/${prefix}c++filt $out/bin/${prefix}c++filt # We specifically need: # - ld: binutils doesn't provide it on darwin @@ -37,7 +40,7 @@ stdenv.mkDerivation { ln -sf "${cctools}/bin/$i" "$out/bin/$i" done - for i in ${binutils-raw.dev or binutils-raw.out}/include/*.h; do + for i in ${binutils-unwrapped.dev or binutils-unwrapped.out}/include/*.h; do ln -s "$i" "$out/include/$(basename $i)" done @@ -46,8 +49,8 @@ stdenv.mkDerivation { done # FIXME: this will give us incorrect man pages for bits of cctools - ln -s ${binutils-raw.out}/share $out/share - ln -s ${binutils-raw.out}/lib $out/lib + ln -s ${binutils-unwrapped.out}/share $out/share + ln -s ${binutils-unwrapped.out}/lib $out/lib ln -s ${cctools}/libexec $out/libexec ''; |