aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/lisp.scm47
1 files changed, 47 insertions, 0 deletions
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index a65eb19e0c..ddd2c37eca 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -687,6 +687,53 @@ interface.")
(license (list license:lgpl2.1
license:clarified-artistic)))) ;TRIVIAL-LDAP package
+(define-public ccl-1.12
+ ;; This is a development snapshot. The last stable version is from November
+ ;; 2017 and does not support package-local-nicknames, which prevents CCL
+ ;; from compiling some third-party packages.
+ ;; The main drawback of 1.12 is that ARM is not supported for now.
+ (package
+ (inherit ccl)
+ (version "1.12-dev.5")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Clozure/ccl/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "ccl" version))
+ (sha256
+ (base32
+ "1za5j4ll4hk1vi1i7v1bmqhaqbsgc16izn46qmry7dnbig0rdqm0"))))
+ ;; CCL consists of a "lisp kernel" and "heap image".
+ ;; See comment in `ccl' package.
+ (inputs
+ `(("ccl-bootstrap"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/Clozure/ccl/releases/download/v" version "/"
+ (match (%current-system)
+ ((or "i686-linux" "x86_64-linux") "linuxx86")
+ ;; Prevent errors when querying this package on unsupported
+ ;; platforms, e.g. when running "guix package --search="
+ (_ "UNSUPPORTED"))
+ ".tar.gz"))
+ (sha256
+ (base32
+ (match (%current-system)
+ ((or "i686-linux" "x86_64-linux")
+ "1pqiybxxv4wx5zlp1i60nim3njaczwl5321bdwq6frjsl3s95xmb")
+ (_ ""))))))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments ccl)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (replace 'unpack (assoc-ref %standard-phases 'unpack))
+ (add-after 'unpack 'unpack-image
+ (lambda* (#:key inputs #:allow-other-keys)
+ (invoke "tar" "xzvf" (assoc-ref inputs "ccl-bootstrap"))))))))
+ (supported-systems '("i686-linux" "x86_64-linux"))))
+
(define-public lush2
(package
(name "lush2")