summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndrew Childs <lorne@cons.org.nz>2020-07-25 15:26:54 +0900
committerAndrew Childs <lorne@cons.org.nz>2020-08-21 01:09:42 +0900
commit630f5d30df4256991b2e72658eedeb954f7559f6 (patch)
tree5e312eed3018c6d74ecf1ee0ca2dc926c44878b7
parentb418d4c6a4a3b34e317327ff7e80ab7a8fc1c02a (diff)
downloadnixpkgs-630f5d30df4256991b2e72658eedeb954f7559f6.tar
nixpkgs-630f5d30df4256991b2e72658eedeb954f7559f6.tar.gz
nixpkgs-630f5d30df4256991b2e72658eedeb954f7559f6.tar.bz2
nixpkgs-630f5d30df4256991b2e72658eedeb954f7559f6.tar.lz
nixpkgs-630f5d30df4256991b2e72658eedeb954f7559f6.tar.xz
nixpkgs-630f5d30df4256991b2e72658eedeb954f7559f6.tar.zst
nixpkgs-630f5d30df4256991b2e72658eedeb954f7559f6.zip
stdenv/darwin: enable tapi support in cctools
-rw-r--r--pkgs/os-specific/darwin/libtapi/default.nix6
-rw-r--r--pkgs/stdenv/darwin/default.nix11
-rw-r--r--pkgs/stdenv/darwin/make-bootstrap-tools.nix2
3 files changed, 9 insertions, 10 deletions
diff --git a/pkgs/os-specific/darwin/libtapi/default.nix b/pkgs/os-specific/darwin/libtapi/default.nix
index 8d710b45b26..3252efb4236 100644
--- a/pkgs/os-specific/darwin/libtapi/default.nix
+++ b/pkgs/os-specific/darwin/libtapi/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, python3 }:
+{ lib, stdenv, fetchFromGitHub, cmake, python3, ncurses }:
 
 stdenv.mkDerivation {
   name = "libtapi-1000.10.8";
@@ -13,6 +13,10 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ cmake python3 ];
 
+  # ncurses is required here to avoid a reference to bootstrap-tools, which is
+  # not allowed for the stdenv.
+  buildInputs = [ ncurses ];
+
   cmakeFlags = [ "-DLLVM_INCLUDE_TESTS=OFF" ];
 
   # fixes: fatal error: 'clang/Basic/Diagnostic.h' file not found
diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix
index 9de6ef63bfe..3f06dec10af 100644
--- a/pkgs/stdenv/darwin/default.nix
+++ b/pkgs/stdenv/darwin/default.nix
@@ -198,12 +198,6 @@ in rec {
       python3 = super.python3Minimal;
 
       ninja = super.ninja.override { buildDocs = false; };
-
-      darwin = super.darwin // {
-        cctools = super.darwin.cctools.override {
-          enableTapiSupport = false;
-        };
-      };
     };
   in with prevStage; stageFun 1 prevStage {
     extraPreHook = "export NIX_CFLAGS_COMPILE+=\" -F${bootstrapTools}/Library/Frameworks\"";
@@ -305,7 +299,7 @@ in rec {
     persistent = self: super: with prevStage; {
       inherit
         gnumake gzip gnused bzip2 gawk ed xz patch bash python3
-        ncurses libffi zlib gmp pcre gnugrep
+        ncurses libffi zlib gmp pcre gnugrep cmake
         coreutils findutils diffutils patchutils ninja libxml2;
 
       # Hack to make sure we don't link ncurses in bootstrap tools. The proper
@@ -330,7 +324,6 @@ in rec {
       darwin = super.darwin // rec {
         inherit (darwin) dyld Libsystem libiconv locale;
 
-        cctools = super.darwin.cctools.override { enableTapiSupport = false; };
         CF = super.darwin.CF.override {
           inherit libxml2;
           python3 = prevStage.python3;
@@ -419,7 +412,7 @@ in rec {
       curl.out openssl.out libssh2.out nghttp2.lib libkrb5
       cc.expand-response-params libxml2.out
     ]) ++ (with pkgs.darwin; [
-      dyld Libsystem CF cctools ICU libiconv locale
+      dyld Libsystem CF cctools ICU libiconv locale libtapi
     ]);
 
     overrides = lib.composeExtensions persistent (self: super: {
diff --git a/pkgs/stdenv/darwin/make-bootstrap-tools.nix b/pkgs/stdenv/darwin/make-bootstrap-tools.nix
index a299879693c..31e12963937 100644
--- a/pkgs/stdenv/darwin/make-bootstrap-tools.nix
+++ b/pkgs/stdenv/darwin/make-bootstrap-tools.nix
@@ -100,6 +100,8 @@ in rec {
         cp ${cctools_}/bin/$i $out/bin
       done
 
+      cp -d ${darwin.libtapi}/lib/libtapi* $out/lib
+
       cp -rd ${pkgs.darwin.CF}/Library $out
 
       chmod -R u+w $out