diff options
author | Daiderd Jordan <daiderd@gmail.com> | 2019-05-04 13:16:10 +0200 |
---|---|---|
committer | Frederik Rietdijk <freddyrietdijk@fridh.nl> | 2019-05-04 17:32:43 +0200 |
commit | 807ba5f123bda28080eaefba46dc2b0af71a26fa (patch) | |
tree | d47bd9ff0b50373237ed5172ec96eb8939c181a2 /pkgs/development/compilers/llvm | |
parent | 0f10b72b5fba0b4b033f27b3d5020a4a60001c68 (diff) | |
download | nixlib-807ba5f123bda28080eaefba46dc2b0af71a26fa.tar nixlib-807ba5f123bda28080eaefba46dc2b0af71a26fa.tar.gz nixlib-807ba5f123bda28080eaefba46dc2b0af71a26fa.tar.bz2 nixlib-807ba5f123bda28080eaefba46dc2b0af71a26fa.tar.lz nixlib-807ba5f123bda28080eaefba46dc2b0af71a26fa.tar.xz nixlib-807ba5f123bda28080eaefba46dc2b0af71a26fa.tar.zst nixlib-807ba5f123bda28080eaefba46dc2b0af71a26fa.zip |
llvm: fix llvm-config on darwin
With 7.1 llvm-config looks for libLLVM-7.1.dylib, but the shortVersion was still 7 so only 7 and 7.1.0 where aliased before. $ llvm-config --link-shared llvm-config: error: libLLVM-7.1.dylib is missing
Diffstat (limited to 'pkgs/development/compilers/llvm')
-rw-r--r-- | pkgs/development/compilers/llvm/7/llvm.nix | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/pkgs/development/compilers/llvm/7/llvm.nix b/pkgs/development/compilers/llvm/7/llvm.nix index dcf3a38ec1be..c288fd3e2a5c 100644 --- a/pkgs/development/compilers/llvm/7/llvm.nix +++ b/pkgs/development/compilers/llvm/7/llvm.nix @@ -25,9 +25,10 @@ let src = fetch "llvm" "0r1p5didv4rkgxyvbkyz671xddg6i3dxvbpsi1xxipkla0l9pk0v"; polly_src = fetch "polly" "16qkns4ab4x0azrvhy4j7cncbyb2rrbdrqj87zphvqxm5pvm8m1h"; - # Used when creating a version-suffixed symlink of libLLVM.dylib - shortVersion = with stdenv.lib; - concatStringsSep "." (take 1 (splitString "." release_version)); + # Used when creating a versioned symlinks of libLLVM.dylib + versionSuffixes = with stdenv.lib; + let parts = splitString "." release_version; in + imap (i: _: concatStringsSep "." (take i parts)) parts; in stdenv.mkDerivation (rec { name = "llvm-${version}"; @@ -142,8 +143,9 @@ in stdenv.mkDerivation (rec { + optionalString (stdenv.isDarwin && enableSharedLibraries) '' substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \ --replace "\''${_IMPORT_PREFIX}/lib/libLLVM.dylib" "$lib/lib/libLLVM.dylib" - ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib - ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib + ${stdenv.lib.concatMapStringsSep "\n" (v: '' + ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${v}.dylib + '') versionSuffixes} ''; doCheck = stdenv.isLinux && (!stdenv.isx86_32); |