summaryrefslogtreecommitdiff
path: root/gnu/packages/lisp-xyz.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/lisp-xyz.scm')
-rw-r--r--gnu/packages/lisp-xyz.scm101
1 files changed, 77 insertions, 24 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 2de9b84a1b..078f88a70f 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -5357,10 +5357,10 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.")
#t)))))
(synopsis "CFFI Groveller for IOLib, a Common Lisp I/O library")))
-(define-public sbcl-iolib
+(define sbcl-iolib+syscalls
(package
(inherit sbcl-iolib.asdf)
- (name "sbcl-iolib")
+ (name "sbcl-iolib+syscalls")
(inputs
`(("iolib.asdf" ,sbcl-iolib.asdf)
("iolib.conf" ,sbcl-iolib.conf)
@@ -5375,7 +5375,7 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.")
`(("fiveam" ,sbcl-fiveam)))
(arguments
'(#:asd-file "iolib.asd"
- #:asd-system-name "iolib"
+ #:asd-system-name "iolib/syscalls"
#:test-asd-file "iolib.tests.asd"
#:phases
(modify-phases %standard-phases
@@ -5392,41 +5392,58 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.")
"")))))))
(synopsis "Common Lisp I/O library")))
-(define-public cl-iolib
- (sbcl-package->cl-source-package sbcl-iolib))
-
(define sbcl-iolib+multiplex
(package
- (inherit sbcl-iolib)
+ (inherit sbcl-iolib+syscalls)
(name "sbcl-iolib+multiplex")
+ (inputs
+ `(("iolib+syscalls" ,sbcl-iolib+syscalls)
+ ,@(package-inputs sbcl-iolib+syscalls)))
(arguments
- (substitute-keyword-arguments (package-arguments sbcl-iolib)
+ (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
((#:asd-system-name _) "iolib/multiplex")))))
-(define sbcl-iolib+syscalls
- (package
- (inherit sbcl-iolib)
- (name "sbcl-iolib+syscalls")
- (arguments
- (substitute-keyword-arguments (package-arguments sbcl-iolib)
- ((#:asd-system-name _) "iolib/syscalls")))))
+
(define sbcl-iolib+streams
(package
- (inherit sbcl-iolib)
+ (inherit sbcl-iolib+syscalls)
(name "sbcl-iolib+streams")
+ (inputs
+ `(("iolib+multiplex" ,sbcl-iolib+multiplex)
+ ,@(package-inputs sbcl-iolib+syscalls)))
(arguments
- (substitute-keyword-arguments (package-arguments sbcl-iolib)
+ (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
((#:asd-system-name _) "iolib/streams")))))
(define sbcl-iolib+sockets
(package
- (inherit sbcl-iolib)
+ (inherit sbcl-iolib+syscalls)
(name "sbcl-iolib+sockets")
+ (inputs
+ `(("iolib+syscalls" ,sbcl-iolib+syscalls)
+ ("iolib+streams" ,sbcl-iolib+streams)
+ ,@(package-inputs sbcl-iolib+syscalls)))
(arguments
- (substitute-keyword-arguments (package-arguments sbcl-iolib)
+ (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
((#:asd-system-name _) "iolib/sockets")))))
+(define-public sbcl-iolib
+ (package
+ (inherit sbcl-iolib+syscalls)
+ (name "sbcl-iolib")
+ (inputs
+ `(("iolib+multiplex" ,sbcl-iolib+multiplex)
+ ("iolib+streams" ,sbcl-iolib+streams)
+ ("iolib+sockets" ,sbcl-iolib+sockets)
+ ,@(package-inputs sbcl-iolib+syscalls)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
+ ((#:asd-system-name _) "iolib")))))
+
+(define-public cl-iolib
+ (sbcl-package->cl-source-package sbcl-iolib))
+
(define-public sbcl-ieee-floats
(let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
(revision "1"))
@@ -6350,16 +6367,13 @@ power of CXML is available when necessary.")
(sha256
(base32
"0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
- ;; Inputs must be propagated or else packages depending on this won't have the necessary packages.
+ ;; Inputs must be propagated or else packages depending on this won't
+ ;; have the necessary packages.
(propagated-inputs
`(("alexandria" ,sbcl-alexandria)
("trivial-garbage" ,sbcl-trivial-garbage)
("babel" ,sbcl-babel)
("iolib" ,sbcl-iolib)
- ("iolib+multiplex" ,(@@ (gnu packages lisp-xyz) sbcl-iolib+multiplex))
- ("iolib+syscalls" ,(@@ (gnu packages lisp-xyz) sbcl-iolib+syscalls))
- ("iolib+streams" ,(@@ (gnu packages lisp-xyz) sbcl-iolib+streams))
- ("iolib+sockets" ,(@@ (gnu packages lisp-xyz) sbcl-iolib+sockets))
("ieee-floats" ,sbcl-ieee-floats)
("flexi-streams" ,sbcl-flexi-streams)
("cl-xmlspam" ,sbcl-cl-xmlspam)
@@ -11197,3 +11211,42 @@ interfaces as well as a functional and an object oriented interface.")
"-o" shared-lib)
#t)))))))
(synopsis "MySQL driver for Common Lisp SQL interface library")))
+
+(define-public sbcl-sycamore
+ (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
+ (package
+ (name "sbcl-sycamore")
+ (version "0.0.20120604")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ndantam/sycamore/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:asd-file "src/sycamore.asd"))
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("cl-ppcre" ,sbcl-cl-ppcre)))
+ (synopsis "Purely functional data structure library in Common Lisp")
+ (description
+ "Sycamore is a fast, purely functional data structure library in Common Lisp.
+If features:
+
+@itemize
+@item Fast, purely functional weight-balanced binary trees.
+@item Leaf nodes are simple-vectors, greatly reducing tree height.
+@item Interfaces for tree Sets and Maps (dictionaries).
+@item Ropes.
+@item Purely functional pairing heaps.
+@item Purely functional amortized queue.
+@end itemize\n")
+ (home-page "http://ndantam.github.io/sycamore/")
+ (license license:bsd-3))))
+
+(define-public cl-sycamore
+ (sbcl-package->cl-source-package sbcl-sycamore))