Skip to content

Commit

Permalink
Merge #23860: llvmPackages_4: rc3 -> release
Browse files Browse the repository at this point in the history
(cherry picked from commit bfed19c)
  • Loading branch information
vcunat committed Mar 13, 2017
1 parent d4465f8 commit 1c6cb9c
Show file tree
Hide file tree
Showing 8 changed files with 33 additions and 17 deletions.
2 changes: 1 addition & 1 deletion pkgs/development/compilers/llvm/4/clang/default.nix
Expand Up @@ -6,7 +6,7 @@ let
name = "clang-${version}";

unpackPhase = ''
unpackFile ${fetch "cfe" "1lsdyrz82vyrsc7k0ah1zmzzan61s5kakxrkxgfbmklp3pclfkwp"}
unpackFile ${fetch "cfe" "12n99m60aa680cir3ql56s1jsv6lp61hq4w9rabf4c6vpn7gi9ff"}
mv cfe-${version}* clang
sourceRoot=$PWD/clang
unpackFile ${clang-tools-extra_src}
Expand Down
11 changes: 4 additions & 7 deletions pkgs/development/compilers/llvm/4/default.nix
Expand Up @@ -3,18 +3,15 @@ let
callPackage = newScope (self // { inherit stdenv isl release_version version fetch; });

release_version = "4.0.0";
rc = "rc3";
version = "${release_version}${rc}";
version = release_version; # differentiating these is important for rc's

fetch = name: sha256: fetchurl {
url = "http://llvm.org/pre-releases/${release_version}/${rc}/${name}-${version}.src.tar.xz";
# Once 4 is released, use this instead:
# url = "http://llvm.org/releases/${release-version}/${name}-${version}.src.tar.xz";
url = "http://llvm.org/releases/${release_version}/${name}-${version}.src.tar.xz";
inherit sha256;
};

compiler-rt_src = fetch "compiler-rt" "0jfqhz95cp15c5688c6l9mr12s0qp86milpcrjlc93dc2jy08ba5";
clang-tools-extra_src = fetch "clang-tools-extra" "1c9c507w3f5vm153rdd0kmzvv2ski6z439izk01zf5snfwkqxkq8";
compiler-rt_src = fetch "compiler-rt" "059ipqq27gd928ay06f1ck3vw6y5h5z4zd766x8k0k7jpqimpwnk";
clang-tools-extra_src = fetch "clang-tools-extra" "16bwckgcxfn56mbqjlxi7fxja0zm9hjfa6s3ncm3dz98n5zd7ds1";

self = {
llvm = callPackage ./llvm.nix {
Expand Down
2 changes: 1 addition & 1 deletion pkgs/development/compilers/llvm/4/libc++/default.nix
Expand Up @@ -3,7 +3,7 @@
stdenv.mkDerivation rec {
name = "libc++-${version}";

src = fetch "libcxx" "15l6bcmwczspbqcq4m2lmzb23g11axr9m8dayn25iys26nn00q43";
src = fetch "libcxx" "15ngfcjc3pjakpwfq7d4n546jj0rgfdv5rpb1qv9xgv9mp236kag";

postUnpack = ''
unpackFile ${libcxxabi.src}
Expand Down
2 changes: 1 addition & 1 deletion pkgs/development/compilers/llvm/4/libc++abi.nix
Expand Up @@ -3,7 +3,7 @@
stdenv.mkDerivation {
name = "libc++abi-${version}";

src = fetch "libcxxabi" "1frj1wz780xcwq77icfclnw6q4c8bkkdzkqsrmfjv9963kjylsy5";
src = fetch "libcxxabi" "1n416kv27anabg9jsw6331r28ic30xk46p381lx2vbb2jrhwpafw";

buildInputs = [ cmake ] ++ stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind;

Expand Down
2 changes: 1 addition & 1 deletion pkgs/development/compilers/llvm/4/lld.nix
Expand Up @@ -10,7 +10,7 @@
stdenv.mkDerivation {
name = "lld-${version}";

src = fetch "lld" "0kmyp7iyf4f76wgy87jczkyhvzhlwfydvxgggl74z0x89xgry745";
src = fetch "lld" "00km1qawk146pyjqa6aphcdzgkzrmg6cgk0ikg4661ffp5bn9q1k";

buildInputs = [ cmake llvm ];

Expand Down
2 changes: 1 addition & 1 deletion pkgs/development/compilers/llvm/4/lldb.nix
Expand Up @@ -17,7 +17,7 @@
stdenv.mkDerivation {
name = "lldb-${version}";

src = fetch "lldb" "1qr0ky7llwgjgx1pzkp3pnz32nb6f7lvg8qg6rp5axhgpkx54hz7";
src = fetch "lldb" "0g83hbw1r4gd0z8hlph9i34xs6dlcc69vz3h2bqwkhb2qq2qzg9d";

patchPhase = ''
# Fix up various paths that assume llvm and clang are installed in the same place
Expand Down
23 changes: 21 additions & 2 deletions pkgs/development/compilers/llvm/4/llvm.nix
Expand Up @@ -21,7 +21,7 @@
}:

let
src = fetch "llvm" "0ic3y9gaissi6ixyj9x1c0pq69wfbl2svhprp33av0b58f7wj9v7";
src = fetch "llvm" "1giklnw71wzsgbqg9wb5x7dxnbj39m6zpfvskvzvhwvfz4fm244d";
shlib = if stdenv.isDarwin then "dylib" else "so";

# Used when creating a version-suffixed symlink of libLLVM.dylib
Expand Down Expand Up @@ -50,12 +50,19 @@ in stdenv.mkDerivation rec {
# 10.9. This is a temporary measure until nixpkgs darwin support is
# updated.
postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
sed -i 's/os_trace(\(.*\)");$/printf(\1\\n");/g' ./projects/compiler-rt/lib/sanitizer_common/sanitizer_mac.cc
sed -i 's/os_trace(\(.*\)");$/printf(\1\\n");/g' ./projects/compiler-rt/lib/sanitizer_common/sanitizer_mac.cc
''
# Patch llvm-config to return correct library path based on --link-{shared,static}.
+ stdenv.lib.optionalString (enableSharedLibraries) ''
substitute '${./llvm-outputs.patch}' ./llvm-outputs.patch --subst-var lib
patch -p1 < ./llvm-outputs.patch
''
# Remove broken tests: (https://bugs.llvm.org//show_bug.cgi?id=31610)
+ ''
rm test/CodeGen/AMDGPU/invalid-opencl-version-metadata1.ll
rm test/CodeGen/AMDGPU/invalid-opencl-version-metadata2.ll
rm test/CodeGen/AMDGPU/invalid-opencl-version-metadata3.ll
rm test/CodeGen/AMDGPU/runtime-metadata.ll
'';

# hacky fix: created binaries need to be run before installation
Expand Down Expand Up @@ -85,6 +92,14 @@ in stdenv.mkDerivation rec {
rm -fR $out
paxmark m bin/{lli,llvm-rtdyld}
paxmark m unittests/ExecutionEngine/MCJIT/MCJITTests
paxmark m unittests/ExecutionEngine/Orc/OrcJITTests
paxmark m unittests/Support/SupportTests
paxmark m bin/lli-child-target
'';

preCheck = ''
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/lib
'';

postInstall = ""
Expand All @@ -103,6 +118,10 @@ in stdenv.mkDerivation rec {
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib
'';

doCheck = stdenv.isLinux;

checkTarget = "check-all";

enableParallelBuilding = true;

passthru.src = src;
Expand Down
6 changes: 3 additions & 3 deletions pkgs/top-level/all-packages.nix
Expand Up @@ -4755,7 +4755,7 @@ with pkgs;

clang = llvmPackages.clang;

clang_4 = lowPrio llvmPackages_4.clang;
clang_4 = llvmPackages_4.clang;
clang_39 = llvmPackages_39.clang;
clang_38 = llvmPackages_38.clang;
clang_37 = llvmPackages_37.clang;
Expand Down Expand Up @@ -5308,13 +5308,13 @@ with pkgs;

lizardfs = callPackage ../tools/filesystems/lizardfs { };

lld = lowPrio llvmPackages_4.lld;
lld = llvmPackages_4.lld;

lldb = llvmPackages.lldb;

llvm = llvmPackages.llvm;

llvm_4 = lowPrio llvmPackages_4.llvm;
llvm_4 = llvmPackages_4.llvm;
llvm_39 = llvmPackages_39.llvm;
llvm_38 = llvmPackages_38.llvm;
llvm_37 = llvmPackages_37.llvm;
Expand Down

0 comments on commit 1c6cb9c

Please sign in to comment.