Skip to content

Commit

Permalink
clasp-common-lisp: init at 0.4.99.20170801
Browse files Browse the repository at this point in the history
  • Loading branch information
7c6f434c committed Oct 24, 2017
1 parent 83d7fe0 commit 5fe5afe
Show file tree
Hide file tree
Showing 2 changed files with 76 additions and 0 deletions.
74 changes: 74 additions & 0 deletions 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";
};
}
2 changes: 2 additions & 0 deletions pkgs/top-level/all-packages.nix
Expand Up @@ -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 { };
Expand Down

5 comments on commit 5fe5afe

@7c6f434c
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hakuch by the way, maybe clasp would benefit from also having an alias that distinguishes it?

@hakuch
Copy link
Contributor

@hakuch hakuch commented on 5fe5afe Oct 30, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@7c6f434c, from what I understand the next version of opam will not require an external solver (and therefore clasp). I expect we will be able to remove these packages from nixpkgs when that times comes (hopefully soon!).

@7c6f434c
Copy link
Member Author

@7c6f434c 7c6f434c commented on 5fe5afe Oct 30, 2017 via email

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hakuch
Copy link
Contributor

@hakuch hakuch commented on 5fe5afe Oct 30, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since clasp was added as part of making opam work with an external solver, I assumed that there was limited interest for it alone. I have no objections to keeping it around.

Perhaps it makes more sense to rename the package (clasp-solver) than to give it an alias?

@7c6f434c
Copy link
Member Author

@7c6f434c 7c6f434c commented on 5fe5afe Oct 30, 2017 via email

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.