diff options
author | Andrew Childs <lorne@cons.org.nz> | 2020-07-26 17:27:15 +0900 |
---|---|---|
committer | Andrew Childs <lorne@cons.org.nz> | 2020-07-28 19:16:24 +0900 |
commit | b418d4c6a4a3b34e317327ff7e80ab7a8fc1c02a (patch) | |
tree | 8dacce799c453f7c339d8aabaa855e0b93538552 /pkgs/os-specific/darwin/libtapi/default.nix | |
parent | 1e6079d819259c185ccfbc17277783c32723f556 (diff) | |
download | nixpkgs-b418d4c6a4a3b34e317327ff7e80ab7a8fc1c02a.tar nixpkgs-b418d4c6a4a3b34e317327ff7e80ab7a8fc1c02a.tar.gz nixpkgs-b418d4c6a4a3b34e317327ff7e80ab7a8fc1c02a.tar.bz2 nixpkgs-b418d4c6a4a3b34e317327ff7e80ab7a8fc1c02a.tar.lz nixpkgs-b418d4c6a4a3b34e317327ff7e80ab7a8fc1c02a.tar.xz nixpkgs-b418d4c6a4a3b34e317327ff7e80ab7a8fc1c02a.tar.zst nixpkgs-b418d4c6a4a3b34e317327ff7e80ab7a8fc1c02a.zip |
libtapi: fix build, install phase and install name
installTarget looks like a typo for installTargets. This causes a lot of llvm and clang to be built and installed. Clang is not intended to be an external dependency. The source bundle includes llvm and clang. Adding include paths and building clangBasic first is sufficient to use the internal clang components.
Diffstat (limited to 'pkgs/os-specific/darwin/libtapi/default.nix')
-rw-r--r-- | pkgs/os-specific/darwin/libtapi/default.nix | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/pkgs/os-specific/darwin/libtapi/default.nix b/pkgs/os-specific/darwin/libtapi/default.nix index 182d1db3bfd..8d710b45b26 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 }: stdenv.mkDerivation { name = "libtapi-1000.10.8"; @@ -9,22 +9,32 @@ stdenv.mkDerivation { sha256 = "1a19h39a48agvnmal99n9j1fjadiqwib7hfzmn342wmgh9z3vk0g"; }; + sourceRoot = "source/src/llvm"; + nativeBuildInputs = [ cmake python3 ]; - buildInputs = [ clang_6.cc ]; + 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" ]; - installTarget = "install-libtapi"; + postInstall = '' + install_name_tool -id $out/lib/libtapi.dylib $out/lib/libtapi.dylib + ''; meta = with lib; { license = licenses.apsl20; maintainers = with maintainers; [ matthewbauer ]; }; - } |