nixpkgs/pkgs/development/libraries/libc++abi/default.nix

50 lines
1.4 KiB
Nix
Raw Normal View History

{ lib, stdenv, fetchurl, libcxx, libunwind, coreutils, gnused }:
let rev = "199626"; in
stdenv.mkDerivation {
name = "libc++abi-${rev}";
src = fetchurl {
url = "http://tarballs.nixos.org/libcxxabi-${rev}.tar.bz2";
sha256 = "09wr6qwgmdzbmgfkdzfhph9giy0zd6fp3s017fcfy4g0prjn5s4c";
};
patches = [ ./no-stdc++.patch ./darwin.patch ];
NIX_CFLAGS_LINK = "-L${libunwind}/lib -lunwind";
2014-08-22 02:32:31 +00:00
buildInputs = [ coreutils ];
postUnpack = ''
unpackFile ${libcxx.src}
export NIX_CFLAGS_COMPILE="-I${libunwind}/include -I$PWD/include -I$(readlink -f libcxx-*)/include"
'' + lib.optionalString stdenv.isDarwin ''
2014-08-21 02:30:50 +00:00
export TRIPLE=x86_64-apple-darwin
'';
installPhase = if stdenv.isDarwin
then ''
install -d -m 755 $out/include $out/lib
install -m 644 lib/libc++abi.dylib $out/lib
install -m 644 include/cxxabi.h $out/include
''
else ''
install -d -m 755 $out/include $out/lib
install -m 644 lib/libc++abi.so.1.0 $out/lib
install -m 644 include/cxxabi.h $out/include
ln -s libc++abi.so.1.0 $out/lib/libc++abi.so
ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1
'';
buildPhase = "(cd lib; ./buildit)";
meta = {
homepage = http://libcxxabi.llvm.org/;
description = "A new implementation of low level support for a standard C++ library";
license = "BSD";
maintainers = [ stdenv.lib.maintainers.shlevy ];
2014-08-21 23:15:31 +00:00
platforms = stdenv.lib.platforms.unix;
};
}