summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorGuillaume LE VAILLANT <glv@posteo.net>2019-09-16 14:57:53 +0200
committerPierre Neidhardt <mail@ambrevar.xyz>2019-09-18 11:55:42 +0200
commitf5d1f58bcb26bb793514711a1ee28cbc400c6a1c (patch)
tree1d135bc40b71b36bfbbc746f3b3e6d991ea7114f /gnu
parent5f33f9aa641db7b6ef515c6d19934728e3075dfd (diff)
downloadguix-f5d1f58bcb26bb793514711a1ee28cbc400c6a1c.tar.gz
gnu: Add cl-containers.
* gnu/packages/lisp.scm (sbcl-cl-containers, cl-containers, ecl-containers):
  New variables.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/lisp.scm51
1 files changed, 51 insertions, 0 deletions
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index f076798e7a..40dba3b16c 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -7057,3 +7057,54 @@ which implements a set of utilities.")
 
 (define-public ecl-metatilities-base
   (sbcl-package->ecl-package sbcl-metatilities-base))
+
+(define-public sbcl-cl-containers
+  (let ((commit "810927e19d933bcf38ffeb7a23ce521efc432d45")
+        (revision "1"))
+    (package
+      (name "sbcl-cl-containers")
+      (version (git-version "0.12.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/gwkkwg/cl-containers.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "1s9faxw7svhbjpkhfrz2qxgjm3cvyjb8wpyb4m8dx4i5g7vvprkv"))))
+      (build-system asdf-build-system/sbcl)
+      (native-inputs
+       `(("lift" ,sbcl-lift)))
+      (inputs
+       `(("metatilities-base" ,sbcl-metatilities-base)))
+      (arguments
+       '(#:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'relax-version-checks
+             (lambda _
+               (substitute* "cl-containers.asd"
+                 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
+                  "\"metatilities-base\""))
+               (substitute* "cl-containers-test.asd"
+                 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
+                  "\"lift\""))
+               #t)))))
+      (synopsis "Container library for Common Lisp")
+      (description
+       "Common Lisp ships with a set of powerful built in data structures
+including the venerable list, full featured arrays, and hash-tables.
+CL-containers enhances and builds on these structures by adding containers
+that are not available in native Lisp (for example: binary search trees,
+red-black trees, sparse arrays and so on), and by providing a standard
+interface so that they are simpler to use and so that changing design
+decisions becomes significantly easier.")
+      (home-page "https://common-lisp.net/project/cl-containers/")
+      (license license:expat))))
+
+(define-public cl-containers
+  (sbcl-package->cl-source-package sbcl-cl-containers))
+
+(define-public ecl-cl-containers
+  (sbcl-package->ecl-package sbcl-cl-containers))