summary refs log tree commit diff
path: root/pkgs/os-specific/darwin
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2018-12-18 10:00:24 -0600
committerGitHub <noreply@github.com>2018-12-18 10:00:24 -0600
commit59ec6b559d0af8ab790f533cc206363ebb34cf84 (patch)
tree69fd25d1cef2aa1b7ab3b49c7cf27f84148d6250 /pkgs/os-specific/darwin
parentc6aaeb3cc1b0ff202f2aa0236f120df7d3a533f6 (diff)
parent0a996c8ef31eb5ffb55d24dc4703fe0fe29589ff (diff)
downloadnixpkgs-59ec6b559d0af8ab790f533cc206363ebb34cf84.tar
nixpkgs-59ec6b559d0af8ab790f533cc206363ebb34cf84.tar.gz
nixpkgs-59ec6b559d0af8ab790f533cc206363ebb34cf84.tar.bz2
nixpkgs-59ec6b559d0af8ab790f533cc206363ebb34cf84.tar.lz
nixpkgs-59ec6b559d0af8ab790f533cc206363ebb34cf84.tar.xz
nixpkgs-59ec6b559d0af8ab790f533cc206363ebb34cf84.tar.zst
nixpkgs-59ec6b559d0af8ab790f533cc206363ebb34cf84.zip
Merge pull request #52256 from matthewbauer/52148-fix
Provide real dsymutil to darwin stdenv
Diffstat (limited to 'pkgs/os-specific/darwin')
-rw-r--r--pkgs/os-specific/darwin/binutils/default.nix12
-rw-r--r--pkgs/os-specific/darwin/cctools/port.nix7
2 files changed, 6 insertions, 13 deletions
diff --git a/pkgs/os-specific/darwin/binutils/default.nix b/pkgs/os-specific/darwin/binutils/default.nix
index bd10dde5572..db33b78a4ab 100644
--- a/pkgs/os-specific/darwin/binutils/default.nix
+++ b/pkgs/os-specific/darwin/binutils/default.nix
@@ -1,5 +1,4 @@
-{ stdenv, binutils-unwrapped, cctools
-}:
+{ stdenv, binutils-unwrapped, cctools, llvm }:
 
 # Make sure both underlying packages claim to have prepended their binaries
 # with the same targetPrefix.
@@ -8,12 +7,12 @@ assert binutils-unwrapped.targetPrefix == cctools.targetPrefix;
 let
   inherit (binutils-unwrapped) targetPrefix;
   cmds = [
-    "ar" "ranlib" "as" "dsymutil" "install_name_tool"
+    "ar" "ranlib" "as" "install_name_tool"
     "ld" "strip" "otool" "lipo" "nm" "strings" "size"
   ];
 in
 
-# TODO loop over targetPrefixed binaries too
+# TODO: loop over targetPrefixed binaries too
 stdenv.mkDerivation {
   name = "${targetPrefix}cctools-binutils-darwin";
   outputs = [ "out" "info" "man" ];
@@ -25,9 +24,8 @@ stdenv.mkDerivation {
     # We specifically need:
     # - ld: binutils doesn't provide it on darwin
     # - as: as above
-    # - ar: the binutils one prodices .a files that the cctools ld doesn't like
+    # - ar: the binutils one produces .a files that the cctools ld doesn't like
     # - ranlib: for compatibility with ar
-    # - dsymutil: soon going away once it goes into LLVM (this one is fake anyway)
     # - otool: we use it for some of our name mangling
     # - install_name_tool: we use it to rewrite stuff in our bootstrap tools
     # - strip: the binutils one seems to break mach-o files
@@ -37,6 +35,8 @@ stdenv.mkDerivation {
       ln -sf "${cctools}/bin/$i" "$out/bin/$i"
     done
 
+    ln -s ${llvm}/bin/llvm-dsymutil $out/bin/dsymutil
+
     ln -s ${binutils-unwrapped.out}/share $out/share
 
     ln -s ${cctools}/libexec $out/libexec
diff --git a/pkgs/os-specific/darwin/cctools/port.nix b/pkgs/os-specific/darwin/cctools/port.nix
index 864fdca7efa..d41f571cf97 100644
--- a/pkgs/os-specific/darwin/cctools/port.nix
+++ b/pkgs/os-specific/darwin/cctools/port.nix
@@ -90,13 +90,6 @@ let
       popd
     '';
 
-    postInstall = ''
-      cat >$out/bin/dsymutil << EOF
-      #!${stdenv.shell}
-      EOF
-      chmod +x $out/bin/dsymutil
-    '';
-
     passthru = {
       inherit targetPrefix;
     };