summary refs log tree commit diff
path: root/pkgs/os-specific/darwin/libtapi
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2020-09-10 23:24:26 -0500
committerGitHub <noreply@github.com>2020-09-10 23:24:26 -0500
commit86d8c55470a0100e98b7c453c1cac16bc560e6f0 (patch)
tree5b993e0cc3e13e6f5e6d831f9ab7ef40607a2044 /pkgs/os-specific/darwin/libtapi
parent95eabdfd5f6197c83e9e5f53ddb65dbbea3c13fd (diff)
parent61517de024cc9e61c18f2434656c18067a2d68a4 (diff)
downloadnixpkgs-86d8c55470a0100e98b7c453c1cac16bc560e6f0.tar
nixpkgs-86d8c55470a0100e98b7c453c1cac16bc560e6f0.tar.gz
nixpkgs-86d8c55470a0100e98b7c453c1cac16bc560e6f0.tar.bz2
nixpkgs-86d8c55470a0100e98b7c453c1cac16bc560e6f0.tar.lz
nixpkgs-86d8c55470a0100e98b7c453c1cac16bc560e6f0.tar.xz
nixpkgs-86d8c55470a0100e98b7c453c1cac16bc560e6f0.tar.zst
nixpkgs-86d8c55470a0100e98b7c453c1cac16bc560e6f0.zip
Merge branch 'staging' into ios-13
Diffstat (limited to 'pkgs/os-specific/darwin/libtapi')
-rw-r--r--pkgs/os-specific/darwin/libtapi/default.nix28
1 files changed, 21 insertions, 7 deletions
diff --git a/pkgs/os-specific/darwin/libtapi/default.nix b/pkgs/os-specific/darwin/libtapi/default.nix
index 983499ccdbc..1f1e00d13f9 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, clang_6 }:
+{ lib, stdenv, fetchFromGitHub, cmake, python3, ncurses }:
 
 stdenv.mkDerivation {
   name = "libtapi-1000.10.8";
@@ -9,22 +9,36 @@ stdenv.mkDerivation {
     sha256 = "1zb10p6xkls8x7wsdwgy9c0v16z97rfkgidii9ffq5rfczgvrhjh";
   };
 
+  sourceRoot = "source/src/llvm";
+
   nativeBuildInputs = [ cmake python3 ];
-  buildInputs = [ clang_6.cc ];
 
+  # 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
+  # adapted from upstream
+  # https://github.com/tpoechtrager/apple-libtapi/blob/3cb307764cc5f1856c8a23bbdf3eb49dfc6bea48/build.sh#L58-L60
   preConfigure = ''
-    cd src/llvm
+    INCLUDE_FIX="-I $PWD/projects/clang/include"
+    INCLUDE_FIX+=" -I $PWD/build/projects/clang/include"
+
+    cmakeFlagsArray+=(-DCMAKE_CXX_FLAGS="$INCLUDE_FIX")
   '';
 
-  cmakeFlags = [ "-DLLVM_INCLUDE_TESTS=OFF" ];
+  buildFlags = [ "clangBasic" "libtapi" ];
 
-  buildFlags = [ "libtapi" ];
+  installTargets = [ "install-libtapi" "install-tapi-headers" ];
 
-  installTargets = [ "install-libtapi" "install-tapi-headers"];
+  postInstall = ''
+    install_name_tool -id $out/lib/libtapi.dylib $out/lib/libtapi.dylib
+  '';
 
   meta = with lib; {
     license = licenses.apsl20;
     maintainers = with maintainers; [ matthewbauer ];
   };
-
 }