diff mbox series

[bug#36467,02/12] gnu: Add series.

Message ID 20190701223127.32222-2-glv@posteo.net
State Accepted
Headers show
Series gnu: Add some Common Lisp libraries | expand

Commit Message

Guillaume Le Vaillant July 1, 2019, 10:31 p.m. UTC
* gnu/packages/lisp.scm (sbcl-series, cl-series): New variables.
---
 gnu/packages/lisp.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)
diff mbox series

Patch

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 88dfa51e7a..76dd7a43c8 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -5997,6 +5997,41 @@  cookie headers, cookie creation, cookie jar creation and more.")
 cookie headers, cookie creation, cookie jar creation and more.")
       (license license:bsd-2))))
 
+(define-public sbcl-series
+  (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
+        (revision "1"))
+    (package
+      (name "sbcl-series")
+      (version (git-version "2.2.11" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "git://git.code.sf.net/p/series/series")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       ;; Disable the tests, they are apparently buggy and I didn't find
+       ;; a simple way to make them run and pass.
+       '(#:tests? #f))
+      (synopsis "Series data structure for Common Lisp")
+      (description
+       "This Common Lisp library provides a series data structure much like
+a sequence, with similar kinds of operations.  The difference is that in many
+situations, operations on series may be composed functionally and yet execute
+iteratively, without the need to construct intermediate series values
+explicitly.  In this manner, series provide both the clarity of a functional
+programming style and the efficiency of an iterative programming style.")
+      (home-page "http://series.sourceforge.net/")
+      (license license:expat))))
+
+(define-public cl-series
+  (sbcl-package->cl-source-package sbcl-series))
+
 (define-public sbcl-fprog
   (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
         (revision "1"))