summaryrefslogtreecommitdiffstats
path: root/pkgs/development/compilers/cmucl
diff options
context:
space:
mode:
authorMarco Maggesi <maggesi@math.unifi.it>2010-11-08 08:58:50 +0000
committerMarco Maggesi <maggesi@math.unifi.it>2010-11-08 08:58:50 +0000
commitcaf0e7209aeb40fd31284a0a91f201c2e69d907c (patch)
tree60d4c717c4233cca98d8a6ed9bb8a9f6d1241176 /pkgs/development/compilers/cmucl
parent5b79f27f5cb104270cecd323cce8560434eb0da4 (diff)
Add CMUCL Common Lisp compiler
svn path=/nixpkgs/trunk/; revision=24618
Diffstat (limited to 'pkgs/development/compilers/cmucl')
-rw-r--r--pkgs/development/compilers/cmucl/binary.nix45
1 files changed, 45 insertions, 0 deletions
diff --git a/pkgs/development/compilers/cmucl/binary.nix b/pkgs/development/compilers/cmucl/binary.nix
new file mode 100644
index 000000000000..1e5c7d4febc8
--- /dev/null
+++ b/pkgs/development/compilers/cmucl/binary.nix
@@ -0,0 +1,45 @@
+{stdenv, fetchurl}:
+
+let
+ inherit (stdenv) system;
+ version = "20b";
+ downloadUrl = arch:
+ "http://common-lisp.net/project/cmucl/downloads/release/" +
+ "${version}/cmucl-${version}-${arch}.tar.bz2";
+ fetchDist = {arch, sha256}: fetchurl {
+ url = downloadUrl arch;
+ inherit sha256;
+ };
+ dist =
+ if system == "i686-linux" then fetchDist {
+ arch = "x86-linux";
+ sha256 = "1s00r1kszk5zhmv7m8z5q2wcqjn2gn7fbqwji3hgnsdvbb1f3jdn";
+ }
+ else if system == "i686-darwin" then fetchDist {
+ arch = "x86-darwin";
+ sha256 = "0vd3zbp5zcp0hjd3y03k595hmri8hw884brjpwjiby3jpm3l40np";
+ }
+ else throw "Unsupported platform for cmucl.";
+in
+
+stdenv.mkDerivation {
+ name = "cmucl-binary-${version}";
+
+ buildCommand = ''
+ ensureDir $out
+ tar -C $out -xjf ${dist}
+ patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+ $out/bin/lisp
+ '';
+
+ meta = {
+ description = "The CMU implementation of Common Lisp";
+ longDescription = ''
+ CMUCL is a free implementation of the Common Lisp programming language
+ which runs on most major Unix platforms. It mainly conforms to the
+ ANSI Common Lisp standard.
+ '';
+ license = "free"; # public domain
+ homepage = http://www.cons.org/cmucl/;
+ };
+}