diff options
Diffstat (limited to 'pkgs/development/libraries/libc++/default.nix')
-rw-r--r-- | pkgs/development/libraries/libc++/default.nix | 45 |
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; }; } - |