diff mbox

[02/12] gnu: Add alexandria.

Message ID 20160927041532.27097-3-ajpatter@uwaterloo.ca
State New
Headers show

Commit Message

Andy Patterson Sept. 27, 2016, 4:15 a.m. UTC
* gnu/packages/lisp.scm (alexandria, alexandria-sbcl, alexandria-ecl):
  New variables.
---
 gnu/packages/lisp.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

Comments

Ludovic Courtès Oct. 8, 2016, 12:43 p.m. UTC | #1
Andy Patterson <ajpatter@uwaterloo.ca> skribis:

> * gnu/packages/lisp.scm (alexandria, alexandria-sbcl, alexandria-ecl):
>   New variables.

[...]

> +(define-public alexandria
> +  (let ((revision "1")
> +        (commit "926a066611b7b11cb71e26c827a271e500888c30"))
> +    (package
> +      (name "alexandria")
> +      (version (string-append "0.0.0-" revision "." (string-take commit 7)))
> +      (source (origin
> +                (method git-fetch)
> +                (uri
> +                 (git-reference
> +                  (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
> +                  (commit commit)))
> +                (sha256
> +                 (base32 "18yncicdkh294j05rhgm23gzi36y9qy6vrfba8vg69jrxjp1hx8l"))
> +                (file-name (string-append name "-" version "-checkout"))))
> +      (build-system asdf-build-system/source)
> +      (synopsis "Collection of portable utilities for Common Lisp")
> +      (description "Alexandria is a collection of portable utilities.  It does
> +not contain conceptual extensions to Common Lisp.  It is conservative in
> +scope, and portable between implementations.")
> +      (home-page "https://common-lisp.net/project/alexandria/")
> +      (license license:public-domain))))
> +
> +(define-public alexandria-sbcl
> +  (package
> +    (inherit alexandria)
> +    (name "alexandria-sbcl")
> +    (build-system asdf-build-system/sbcl)
> +    (inputs `(("alexandria" ,alexandria)))))
> +
> +(define-public alexandria-ecl
> +  (package
> +    (inherit alexandria)
> +    (name "alexandria-ecl")
> +    (build-system asdf-build-system/ecl)
> +    (inputs `(("alexandria" ,alexandria)))))

It’s unusual that the “alexandria” package provides the source and that
the others depend on it rather than have an ‘origin’ as their source.
But as you wrote in the build system code, the raw source can be
interpreted by CL implementations other than SBCL or ECL, right?

Otherwise LGTM.

Thanks,
Ludo’.
diff mbox

Patch

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index d1180a7..e6e69a2 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -33,6 +33,7 @@ 
   #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system asdf)
   #:use-module (gnu packages base)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages bdw-gc)
@@ -530,3 +531,40 @@  simple, elegant Scheme dialect.  It is a lisp-1 with lexical scope.
 The core is 12 builtin special forms and 33 builtin functions.")
       (home-page "https://github.com/JeffBezanson/femtolisp")
       (license license:bsd-3))))
+
+(define-public alexandria
+  (let ((revision "1")
+        (commit "926a066611b7b11cb71e26c827a271e500888c30"))
+    (package
+      (name "alexandria")
+      (version (string-append "0.0.0-" revision "." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri
+                 (git-reference
+                  (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
+                  (commit commit)))
+                (sha256
+                 (base32 "18yncicdkh294j05rhgm23gzi36y9qy6vrfba8vg69jrxjp1hx8l"))
+                (file-name (string-append name "-" version "-checkout"))))
+      (build-system asdf-build-system/source)
+      (synopsis "Collection of portable utilities for Common Lisp")
+      (description "Alexandria is a collection of portable utilities.  It does
+not contain conceptual extensions to Common Lisp.  It is conservative in
+scope, and portable between implementations.")
+      (home-page "https://common-lisp.net/project/alexandria/")
+      (license license:public-domain))))
+
+(define-public alexandria-sbcl
+  (package
+    (inherit alexandria)
+    (name "alexandria-sbcl")
+    (build-system asdf-build-system/sbcl)
+    (inputs `(("alexandria" ,alexandria)))))
+
+(define-public alexandria-ecl
+  (package
+    (inherit alexandria)
+    (name "alexandria-ecl")
+    (build-system asdf-build-system/ecl)
+    (inputs `(("alexandria" ,alexandria)))))