diff --git a/pkgs/development/compilers/llvm/3.7/fix-llvm-config.patch b/pkgs/development/compilers/llvm/3.7/fix-llvm-config.patch new file mode 100644 index 00000000000..772c4960927 --- /dev/null +++ b/pkgs/development/compilers/llvm/3.7/fix-llvm-config.patch @@ -0,0 +1,13 @@ +diff --git a/utils/llvm-build/llvmbuild/main.py b/utils/llvm-build/llvmbuild/main.py +index eacefdf60bf..40d25f5cef8 100644 +--- a/utils/llvm-build/llvmbuild/main.py ++++ b/utils/llvm-build/llvmbuild/main.py +@@ -412,7 +412,7 @@ subdirectories = %s + if library_name is None: + library_name_as_cstr = '0' + else: +- library_name_as_cstr = '"lib%s.a"' % library_name ++ library_name_as_cstr = '"lib%s.so"' % library_name + f.write(' { "%s", %s, %d, { %s } },\n' % ( + name, library_name_as_cstr, is_installed, + ', '.join('"%s"' % dep diff --git a/pkgs/development/compilers/llvm/3.7/llvm.nix b/pkgs/development/compilers/llvm/3.7/llvm.nix index d4e7c73ad0d..1bdefd214f9 100644 --- a/pkgs/development/compilers/llvm/3.7/llvm.nix +++ b/pkgs/development/compilers/llvm/3.7/llvm.nix @@ -53,6 +53,11 @@ in stdenv.mkDerivation rec { ln -sv $PWD/lib $out ''; + patches = stdenv.lib.optionals (!stdenv.isDarwin) [ + # llvm-config --libfiles returns (non-existing) static libs + ./fix-llvm-config.patch + ]; + cmakeFlags = with stdenv; [ "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}" "-DLLVM_INSTALL_UTILS=ON" # Needed by rustc