Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at 17.09 42 lines 1.2 kB view raw
1{ lib, stdenv, fetch, cmake, libcxxabi, fixDarwinDylibNames, version }: 2 3stdenv.mkDerivation rec { 4 name = "libc++-${version}"; 5 6 src = fetch "libcxx" "0i7iyzk024krda5spfpfi8jksh83yp3bxqkal0xp76ffi11bszrm"; 7 8 postUnpack = '' 9 unpackFile ${libcxxabi.src} 10 ''; 11 12 preConfigure = '' 13 # Get headers from the cxxabi source so we can see private headers not installed by the cxxabi package 14 cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$NIX_BUILD_TOP/libcxxabi-${version}.src/include") 15 ''; 16 17 patches = [ 18 ./darwin.patch 19 ./r242056.patch 20 ]; 21 22 buildInputs = [ cmake libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames; 23 24 cmakeFlags = [ 25 "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib" 26 "-DLIBCXX_LIBCPPABI_VERSION=2" 27 "-DLIBCXX_CXX_ABI=libcxxabi" 28 ]; 29 30 enableParallelBuilding = true; 31 32 linkCxxAbi = stdenv.isLinux; 33 34 setupHook = ./setup-hook.sh; 35 36 meta = { 37 homepage = http://libcxx.llvm.org/; 38 description = "A new implementation of the C++ standard library, targeting C++11"; 39 license = with stdenv.lib.licenses; [ ncsa mit ]; 40 platforms = stdenv.lib.platforms.unix; 41 }; 42}