summary refs log tree commit diff
path: root/pkgs/development/compilers/llvm/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/compilers/llvm/default.nix')
-rw-r--r--pkgs/development/compilers/llvm/default.nix16
1 files changed, 13 insertions, 3 deletions
diff --git a/pkgs/development/compilers/llvm/default.nix b/pkgs/development/compilers/llvm/default.nix
index 4b5bbdc52584..59e2bdc5509a 100644
--- a/pkgs/development/compilers/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, perl, groff, cmake, python }:
+{ stdenv, fetchurl, perl, groff, cmake, python, libffi }:
 
 let version = "3.2"; in
 
@@ -10,11 +10,21 @@ stdenv.mkDerivation {
     sha256 = "0hv30v5l4fkgyijs56sr1pbrlzgd674pg143x7az2h37sb290l0j";
   };
 
-  buildInputs = [ perl groff cmake python ];
+  patches = [ ./set_soname.patch ]; # http://llvm.org/bugs/show_bug.cgi?id=12334
+  patchFlags = "-p0";
 
-  cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ];
+  preConfigure = "patchShebangs .";
+
+  propagatedBuildInputs = [ libffi ];
+  buildInputs = [ perl groff cmake python ]; # ToDo: polly, libc++; enable cxx11?
+
+  # created binaries need to be run before installation... I coudn't find a better way
+  preBuild = ''export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:"`pwd`/lib'';
+
+  cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" "-DBUILD_SHARED_LIBS=ON" ];
 
   enableParallelBuilding = true;
+  #doCheck = true; # tests are broken, don't know why
 
   meta = {
     homepage = http://llvm.org/;