diff options
Diffstat (limited to 'gnu/packages/lisp-xyz.scm')
-rw-r--r-- | gnu/packages/lisp-xyz.scm | 101 |
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)) |