clasp-common-lisp: init at 0.4.99.20170801

This commit is contained in:
Michael Raskin 2017-10-24 08:42:26 +02:00
parent 83d7fe0f0d
commit 5fe5afe8ee
2 changed files with 76 additions and 0 deletions

View File

@ -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";
};
}

View File

@ -5418,6 +5418,8 @@ with pkgs;
clang-sierraHack-stdenv = overrideCC stdenv clang-sierraHack;
libcxxStdenv = if stdenv.isDarwin then stdenv else lowPrio llvmPackages.libcxxStdenv;
clasp-common-lisp = callPackage ../development/compilers/clasp {};
clean = callPackage ../development/compilers/clean { };
closurecompiler = callPackage ../development/compilers/closure { };