about summary refs log tree commit diff
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 0000000000000..1e5c7d4febc82
--- /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/;
+  };
+}