From 5fe5afe8ee15ac06c83bd4ff446421d998f35831 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 24 Oct 2017 08:42:26 +0200 Subject: [PATCH] clasp-common-lisp: init at 0.4.99.20170801 --- pkgs/development/compilers/clasp/default.nix | 74 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 76 insertions(+) create mode 100644 pkgs/development/compilers/clasp/default.nix diff --git a/pkgs/development/compilers/clasp/default.nix b/pkgs/development/compilers/clasp/default.nix new file mode 100644 index 000000000000..6bfb71a9627d --- /dev/null +++ b/pkgs/development/compilers/clasp/default.nix @@ -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"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a5c7e0af0755..8a0280bcdf40 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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 { };