parent
83d7fe0f0d
commit
5fe5afe8ee
@ -0,0 +1,74 @@ |
||||
{stdenv, fetchFromGitHub |
||||
, llvmPackages |
||||
, cmake, boehmgc, gmp, zlib, ncurses, boost |
||||
, waf, python, git, sbcl |
||||
}: |
||||
stdenv.mkDerivation rec { |
||||
name = "${pname}-${version}"; |
||||
pname = "clasp"; |
||||
version = "0.4.99.20170801"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "drmeister"; |
||||
repo = "clasp"; |
||||
rev = "525ce1cffff39311e3e7df6d0b71fa267779bdf5"; |
||||
sha256 = "1jqya04wybgxnski341p5sycy2gysxad0s5q8d59z0f6ckj3v8k1"; |
||||
fetchSubmodules = true; |
||||
}; |
||||
|
||||
nativeBuildInputs = [ cmake python git sbcl ]; |
||||
|
||||
buildInputs = with llvmPackages; ( |
||||
builtins.map (x: stdenv.lib.overrideDerivation x |
||||
(x: {NIX_CFLAGS_COMPILE= (x.NIX_CFLAGS_COMPILE or "") + " -frtti"; })) |
||||
[ llvm clang clang-unwrapped clang ]) ++ |
||||
[ |
||||
gmp zlib ncurses |
||||
boost boehmgc |
||||
(boost.override {enableStatic = true; enableShared = false;}) |
||||
(stdenv.lib.overrideDerivation boehmgc |
||||
(x: {configureFlags = (x.configureFlags or []) ++ ["--enable-static"];})) |
||||
]; |
||||
|
||||
NIX_CFLAGS_COMPILE = " -frtti "; |
||||
|
||||
configurePhase = '' |
||||
runHook preConfigure |
||||
|
||||
export CXX=clang++ |
||||
export CC=clang |
||||
|
||||
echo " |
||||
INSTALL_PATH_PREFIX = '$out' |
||||
" | sed -e 's/^ *//' > wscript.config |
||||
|
||||
python ./waf configure update_submodules |
||||
|
||||
runHook postConfigure |
||||
''; |
||||
|
||||
buildPhase = '' |
||||
runHook preBuild |
||||
|
||||
python ./waf build_cboehm |
||||
|
||||
runHook postBuild |
||||
''; |
||||
|
||||
installPhase = '' |
||||
runHook preInstall |
||||
|
||||
python ./waf install_cboehm |
||||
|
||||
runHook postInstall |
||||
''; |
||||
|
||||
meta = { |
||||
inherit version; |
||||
description = ''A Common Lisp implementation based on LLVM with C++ integration''; |
||||
license = stdenv.lib.licenses.lgpl21Plus ; |
||||
maintainers = [stdenv.lib.maintainers.raskin]; |
||||
platforms = stdenv.lib.platforms.linux; |
||||
homepage = "https://github.com/drmeister/clasp"; |
||||
}; |
||||
} |
Loading…
Reference in new issue