diff options
author | Nicolas Mattia <nicolas@nmattia.com> | 2019-10-02 13:28:04 +0200 |
---|---|---|
committer | Nicolas Mattia <nicolas@nmattia.com> | 2019-10-04 10:51:10 +0200 |
commit | e494de20b3bde5d670a11f7f6d0e6c5beb2ee590 (patch) | |
tree | aa955e486a9ac0b43fc2549c480edd5a73bd5b2b /pkgs/development/compilers | |
parent | 761df21d6f6707e62caef0fb38ebc49d612515d2 (diff) | |
download | nixpkgs-e494de20b3bde5d670a11f7f6d0e6c5beb2ee590.tar nixpkgs-e494de20b3bde5d670a11f7f6d0e6c5beb2ee590.tar.gz nixpkgs-e494de20b3bde5d670a11f7f6d0e6c5beb2ee590.tar.bz2 nixpkgs-e494de20b3bde5d670a11f7f6d0e6c5beb2ee590.tar.lz nixpkgs-e494de20b3bde5d670a11f7f6d0e6c5beb2ee590.tar.xz nixpkgs-e494de20b3bde5d670a11f7f6d0e6c5beb2ee590.tar.zst nixpkgs-e494de20b3bde5d670a11f7f6d0e6c5beb2ee590.zip |
libcxxapi: don't produce shared libs on musl
Diffstat (limited to 'pkgs/development/compilers')
-rw-r--r-- | pkgs/development/compilers/llvm/7/libc++abi.nix | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/pkgs/development/compilers/llvm/7/libc++abi.nix b/pkgs/development/compilers/llvm/7/libc++abi.nix index 522c8d1a163..9067bf43a8f 100644 --- a/pkgs/development/compilers/llvm/7/libc++abi.nix +++ b/pkgs/development/compilers/llvm/7/libc++abi.nix @@ -1,4 +1,6 @@ -{ stdenv, cmake, fetch, libcxx, llvm, version }: +{ stdenv, cmake, fetch, libcxx, llvm, version + # on musl the shared objects don't build +, enableShared ? ! stdenv.hostPlatform.isMusl }: stdenv.mkDerivation { pname = "libc++abi"; @@ -11,13 +13,15 @@ stdenv.mkDerivation { postUnpack = '' unpackFile ${libcxx.src} unpackFile ${llvm.src} - export cmakeFlags="-DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*)" + cmakeFlagsArray=($cmakeFlagsArray -DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*) ) '' + stdenv.lib.optionalString stdenv.isDarwin '' export TRIPLE=x86_64-apple-darwin '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' patch -p1 -d $(ls -d libcxx-*) -i ${../libcxx-0001-musl-hacks.patch} ''; + cmakeFlags = stdenv.lib.optional (!enableShared) "-DLIBCXXABI_ENABLE_SHARED=OFF"; + installPhase = if stdenv.isDarwin then '' for file in lib/*.dylib; do @@ -34,10 +38,10 @@ stdenv.mkDerivation { else '' install -d -m 755 $out/include $out/lib install -m 644 lib/libc++abi.a $out/lib - install -m 644 lib/libc++abi.so.1.0 $out/lib + ${stdenv.lib.optionalString enableShared "install -m 644 lib/libc++abi.so.1.0 $out/lib"} install -m 644 ../include/cxxabi.h $out/include - ln -s libc++abi.so.1.0 $out/lib/libc++abi.so - ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1 + ${stdenv.lib.optionalString enableShared "ln -s libc++abi.so.1.0 $out/lib/libc++abi.so"} + ${stdenv.lib.optionalString enableShared "ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1"} ''; meta = { |