summary refs log tree commit diff
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2017-11-16 15:00:28 -0500
committerJohn Ericson <John.Ericson@Obsidian.Systems>2017-11-16 17:45:41 -0500
commit652c2beda9a5351ddd07e422215100aca75412ae (patch)
treea7e4db9104cd019316909c19f7e77b6a17cbee4c
parent32a6838bc6cfd07b1a0e18368468ba825b4b18c2 (diff)
downloadnixpkgs-652c2beda9a5351ddd07e422215100aca75412ae.tar
nixpkgs-652c2beda9a5351ddd07e422215100aca75412ae.tar.gz
nixpkgs-652c2beda9a5351ddd07e422215100aca75412ae.tar.bz2
nixpkgs-652c2beda9a5351ddd07e422215100aca75412ae.tar.lz
nixpkgs-652c2beda9a5351ddd07e422215100aca75412ae.tar.xz
nixpkgs-652c2beda9a5351ddd07e422215100aca75412ae.tar.zst
nixpkgs-652c2beda9a5351ddd07e422215100aca75412ae.zip
cctools: Don't always bring in headers
 - Give cctools a dev output for the headers

 - Update Libsystem to grab the headers from that dev output

 - Don't include the headers in Darwin binutils, just as GNU Binutils no
   longer does.
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix2
-rw-r--r--pkgs/os-specific/darwin/binutils/default.nix4
-rw-r--r--pkgs/os-specific/darwin/cctools/port.nix2
3 files changed, 3 insertions, 5 deletions
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix
index 3d7e59f1554..28406c9751d 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix
@@ -23,7 +23,7 @@ appleDerivation rec {
       (cd $dep/include && find . -name '*.h' | cpio -pdm $out/include)
     done
 
-    (cd ${cctools}/include/mach-o && find . -name '*.h' | cpio -pdm $out/include/mach-o)
+    (cd ${cctools.dev}/include/mach-o && find . -name '*.h' | cpio -pdm $out/include/mach-o)
 
     cat <<EOF > $out/include/TargetConditionals.h
     #ifndef __TARGETCONDITIONALS__
diff --git a/pkgs/os-specific/darwin/binutils/default.nix b/pkgs/os-specific/darwin/binutils/default.nix
index e38272593d0..8ac93689373 100644
--- a/pkgs/os-specific/darwin/binutils/default.nix
+++ b/pkgs/os-specific/darwin/binutils/default.nix
@@ -37,10 +37,6 @@ stdenv.mkDerivation {
       ln -sf "${cctools}/bin/$i" "$out/bin/$i"
     done
 
-    for i in ${cctools}/include/*; do
-      ln -s "$i" "$out/include/$(basename $i)"
-    done
-
     # FIXME: this will give us incorrect man pages for bits of cctools
     ln -s ${binutils-raw.out}/share $out/share
 
diff --git a/pkgs/os-specific/darwin/cctools/port.nix b/pkgs/os-specific/darwin/cctools/port.nix
index 1f2e7c14378..8fd2cb715a0 100644
--- a/pkgs/os-specific/darwin/cctools/port.nix
+++ b/pkgs/os-specific/darwin/cctools/port.nix
@@ -29,6 +29,8 @@ let
       sha256 = "0l45mvyags56jfi24rawms8j2ihbc45mq7v13pkrrwppghqrdn52";
     };
 
+    outputs = [ "out" "dev" ];
+
     nativeBuildInputs = [ autoconf automake libtool_2 ];
     buildInputs = [ libuuid ] ++
       # Only need llvm and clang if the stdenv isn't already clang-based (TODO: just make a stdenv.cc.isClang)