Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at 17.09 39 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" "1k7f9qk5bgwa02ksh6yr9hccwcbhmcdzl1fpbdw6s2c89iwg7mvp"; 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 = lib.optional stdenv.isDarwin ./darwin.patch; 18 19 buildInputs = [ cmake libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames; 20 21 cmakeFlags = [ 22 "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib" 23 "-DLIBCXX_LIBCPPABI_VERSION=2" 24 "-DLIBCXX_CXX_ABI=libcxxabi" 25 ]; 26 27 enableParallelBuilding = true; 28 29 linkCxxAbi = stdenv.isLinux; 30 31 setupHook = ./setup-hook.sh; 32 33 meta = { 34 homepage = http://libcxx.llvm.org/; 35 description = "A new implementation of the C++ standard library, targeting C++11"; 36 license = with stdenv.lib.licenses; [ ncsa mit ]; 37 platforms = stdenv.lib.platforms.unix; 38 }; 39}