summary refs log tree commit diff
path: root/pkgs/development/libraries/libc++/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/libc++/default.nix')
-rw-r--r--pkgs/development/libraries/libc++/default.nix45
1 files changed, 12 insertions, 33 deletions
diff --git a/pkgs/development/libraries/libc++/default.nix b/pkgs/development/libraries/libc++/default.nix
index 1d4ef158113a..964d3727f8f2 100644
--- a/pkgs/development/libraries/libc++/default.nix
+++ b/pkgs/development/libraries/libc++/default.nix
@@ -1,46 +1,26 @@
-{ stdenv, fetchsvn, cmake, libunwind }:
+{ stdenv, fetchurl, fetchsvn, cmake, libcxxabi }:
 
-let rev = "190100"; in
+let
+  version = "3.4";
 
-stdenv.mkDerivation rec {
-  name = "libc++-pre${rev}";
+in stdenv.mkDerivation rec {
+  name = "libc++-${version}";
 
-  src = fetchsvn {
-    url = "http://llvm.org/svn/llvm-project/libcxx/trunk";
-    inherit rev;
-    sha256 = "0hnfvzzrkj797kp9sk2yncvbmiyx0d72k8bys3z7l6i47d37xv03";
+  src = fetchurl {
+    url = "http://llvm.org/releases/${version}/libcxx-${version}.src.tar.gz";
+    sha256 = "1sqd5qhqj7qnn9zjxx9bv7ky4f7xgmh9sbgd53y1kszhg41217xx";
   };
 
-  cxxabi = fetchsvn {
-    url = "http://llvm.org/svn/llvm-project/libcxxabi/trunk";
-    inherit rev;
-    sha256 = "1kdyvngwd229cgmcqpawaf0qizas8bqc0g8s08fmbgwsrh1qrryp";
-  };
-
-  buildInputs = [ cmake ];
-
-  preConfigure = ''
-      sed -i 's/;cxa_demangle.h//' CMakeLists.txt
-      cp -R ${cxxabi} cxxabi
-      chmod u+w -R cxxabi # umm
-      (export NIX_CFLAGS_COMPILE="-I${libunwind}/include -I$PWD/include";
-       export NIX_CFLAGS_LINK="-L${libunwind}/lib -lunwind";
-       cd cxxabi/lib
-       sed -e s,-lstdc++,, -i buildit # do not link to libstdc++!
-       ./buildit
-       mkdir -p $out/lib && cp libc++abi.so.1.0 $out/lib
-       cd $out/lib
-       ln -s libc++abi.so.1.0 libc++abi.so
-       ln -s libc++abi.so.1.0 libc++abi.so.1)
-  '';
+  buildInputs = [ cmake libcxxabi ];
 
   cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release"
-                 "-DLIBCXX_LIBCXXABI_INCLUDE_PATHS=${cxxabi}/include"
+                 "-DLIBCXX_LIBCXXABI_INCLUDE_PATHS=${libcxxabi}/include"
                  "-DLIBCXX_CXX_ABI=libcxxabi" ];
-  buildPhase = ''NIX_CFLAGS_LINK="-L$out/lib -lc++abi" make'';
 
   enableParallelBuilding = true;
 
+  passthru.abi = libcxxabi;
+
   meta = {
     homepage = http://libcxx.llvm.org/;
     description = "A new implementation of the C++ standard library, targeting C++11";
@@ -49,4 +29,3 @@ stdenv.mkDerivation rec {
     platforms = stdenv.lib.platforms.all;
   };
 }
-