aboutsummaryrefslogtreecommitdiff
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.scm517
1 files changed, 513 insertions, 4 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 2a1babde79..810918c6e5 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -51,6 +51,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages libevent)
#:use-module (gnu packages libffi)
#:use-module (gnu packages lisp)
#:use-module (gnu packages maths)
@@ -1668,7 +1669,7 @@ also be supported.")
(define-public sbcl-ironclad
(package
(name "sbcl-ironclad")
- (version "0.46")
+ (version "0.48")
(source
(origin
(method git-fetch)
@@ -1677,7 +1678,7 @@ also be supported.")
(commit (string-append "v" version))))
(sha256
(base32
- "1s391awi2lsl7m1dbjirgpkm4p9p8wd076pakgvsvpn1rrznisnd"))
+ "1wzczpgvgjc5h8ghz75kxi7iykmqxqchdhgdhkif9j99kyqvbyam"))
(file-name (git-file-name name version))))
(build-system asdf-build-system/sbcl)
(native-inputs
@@ -1685,8 +1686,7 @@ also be supported.")
`(("rt" ,sbcl-rt)))
(inputs
`(("bordeaux-threads" ,sbcl-bordeaux-threads)
- ("flexi-streams" ,sbcl-flexi-streams)
- ("nibbles" ,sbcl-nibbles)))
+ ("flexi-streams" ,sbcl-flexi-streams)))
(synopsis "Cryptographic toolkit written in Common Lisp")
(description
"Ironclad is a cryptography library written entirely in Common Lisp.
@@ -9200,3 +9200,512 @@ archives such as those generated by the tar and cpio programs on Unix.")
(define-public ecl-archive
(sbcl-package->ecl-package sbcl-archive))
+
+(define-public sbcl-misc-extensions
+ (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
+ (revision "1"))
+ (package
+ (name "sbcl-misc-extensions")
+ (version (git-version "3.3" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
+ (build-system asdf-build-system/sbcl)
+ (synopsis "Collection of small macros and extensions for Common Lisp")
+ (description
+ "This project is intended as a catchall for small, general-purpose
+extensions to Common Lisp. It contains:
+
+@itemize
+@item @code{new-let}, a macro that combines and generalizes @code{let},
+@code{let*} and @code{multiple-value-bind},
+@item @code{gmap}, an iteration macro that generalizes @code{map}.
+@end itemize\n")
+ (home-page "https://common-lisp.net/project/misc-extensions/")
+ (license license:public-domain))))
+
+(define-public cl-misc-extensions
+ (sbcl-package->cl-source-package sbcl-misc-extensions))
+
+(define-public ecl-misc-extensions
+ (sbcl-package->ecl-package sbcl-misc-extensions))
+
+(define-public sbcl-mt19937
+ (package
+ (name "sbcl-mt19937")
+ (version "1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
+ "mt19937-latest.tar.gz"))
+ (sha256
+ (base32
+ "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
+ (build-system asdf-build-system/sbcl)
+ (synopsis "Mersenne Twister pseudo-random number generator")
+ (description
+ "MT19937 is a portable Mersenne Twister pseudo-random number generator
+for Common Lisp.")
+ (home-page "https://www.cliki.net/mt19937")
+ (license license:public-domain)))
+
+(define-public cl-mt19937
+ (sbcl-package->cl-source-package sbcl-mt19937))
+
+(define-public ecl-mt19937
+ (sbcl-package->ecl-package sbcl-mt19937))
+
+(define-public sbcl-fset
+ (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
+ (revision "1"))
+ (package
+ (name "sbcl-fset")
+ (version (git-version "1.3.2" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/slburson/fset")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
+ (snippet '(begin
+ ;; Remove obsolete copy of system definition.
+ (delete-file "Code/fset.asd")
+ #t))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("misc-extensions" ,sbcl-misc-extensions)
+ ("mt19937" ,sbcl-mt19937)
+ ("named-readtables" ,sbcl-named-readtables)))
+ (synopsis "Functional set-theoretic collections library")
+ (description
+ "FSet is a functional set-theoretic collections library for Common Lisp.
+Functional means that all update operations return a new collection rather than
+modifying an existing one in place. Set-theoretic means that collections may
+be nested arbitrarily with no additional programmer effort; for instance, sets
+may contain sets, maps may be keyed by sets, etc.")
+ (home-page "https://common-lisp.net/project/fset/Site/index.html")
+ (license license:llgpl))))
+
+(define-public cl-fset
+ (sbcl-package->cl-source-package sbcl-fset))
+
+(define-public sbcl-cl-cont
+ (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-cont")
+ (version (git-version "0.3.8" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("closer-mop" ,sbcl-closer-mop)))
+ (native-inputs
+ `(("rt" ,sbcl-rt)))
+ (synopsis "Delimited continuations for Common Lisp")
+ (description
+ "This is a library that implements delimited continuations by
+transforming Common Lisp code to continuation passing style.")
+ (home-page "https://common-lisp.net/project/cl-cont/")
+ (license license:llgpl))))
+
+(define-public cl-cont
+ (sbcl-package->cl-source-package sbcl-cl-cont))
+
+(define-public ecl-cl-cont
+ (sbcl-package->ecl-package sbcl-cl-cont))
+
+(define-public sbcl-cl-coroutine
+ (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-coroutine")
+ (version (git-version "0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/takagi/cl-coroutine.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("cl-cont" ,sbcl-cl-cont)))
+ (native-inputs
+ `(("prove" ,sbcl-prove)))
+ (arguments
+ `(;; TODO: Fix the tests. They fail with:
+ ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-tests
+ (lambda _
+ (substitute* "cl-coroutine-test.asd"
+ (("cl-test-more")
+ "prove"))
+ #t)))))
+ (synopsis "Coroutine library for Common Lisp")
+ (description
+ "This is a coroutine library for Common Lisp implemented using the
+continuations of the @code{cl-cont} library.")
+ (home-page "https://github.com/takagi/cl-coroutine")
+ (license license:llgpl))))
+
+(define-public cl-coroutine
+ (sbcl-package->cl-source-package sbcl-cl-coroutine))
+
+(define-public ecl-cl-coroutine
+ (sbcl-package->ecl-package sbcl-cl-coroutine))
+
+(define-public sbcl-vom
+ (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
+ (revision "1"))
+ (package
+ (name "sbcl-vom")
+ (version (git-version "0.1.4" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/orthecreedence/vom.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
+ (build-system asdf-build-system/sbcl)
+ (synopsis "Tiny logging utility for Common Lisp")
+ (description
+ "Vom is a logging library for Common Lisp. It's goal is to be useful
+and small. It does not provide a lot of features as other loggers do, but
+has a small codebase that's easy to understand and use.")
+ (home-page "https://github.com/orthecreedence/vom")
+ (license license:expat))))
+
+(define-public cl-vom
+ (sbcl-package->cl-source-package sbcl-vom))
+
+(define-public ecl-vom
+ (sbcl-package->ecl-package sbcl-vom))
+
+(define-public sbcl-cl-libuv
+ (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-libuv")
+ (version (git-version "0.1.6" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/orthecreedence/cl-libuv.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("cffi" ,sbcl-cffi)
+ ("cffi-grovel" ,sbcl-cffi-grovel)
+ ("libuv" ,libuv)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "lib.lisp"
+ (("/usr/lib/libuv.so")
+ (string-append (assoc-ref inputs "libuv")
+ "/lib/libuv.so")))
+ #t))
+ (add-after 'fix-paths 'fix-system-definition
+ (lambda _
+ (substitute* "cl-libuv.asd"
+ (("#:cffi #:alexandria")
+ "#:cffi #:cffi-grovel #:alexandria"))
+ #t)))))
+ (synopsis "Common Lisp bindings to libuv")
+ (description
+ "This library provides low-level libuv bindings for Common Lisp.")
+ (home-page "https://github.com/orthecreedence/cl-libuv")
+ (license license:expat))))
+
+(define-public cl-libuv
+ (sbcl-package->cl-source-package sbcl-cl-libuv))
+
+(define-public ecl-cl-libuv
+ (sbcl-package->ecl-package sbcl-cl-libuv))
+
+(define-public sbcl-cl-async-base
+ (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-async-base")
+ (version (git-version "0.6.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/orthecreedence/cl-async.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("bordeaux-threads" ,sbcl-bordeaux-threads)
+ ("cffi" ,sbcl-cffi)
+ ("cl-libuv" ,sbcl-cl-libuv)))
+ (arguments
+ `(#:asd-file "cl-async.asd"))
+ (synopsis "Base system for cl-async")
+ (description
+ "Cl-async is a library for general purpose, non-blocking programming in
+Common Lisp. It uses the libuv library as backend.")
+ (home-page "https://orthecreedence.github.io/cl-async/")
+ (license license:expat))))
+
+(define-public cl-async-base
+ (sbcl-package->cl-source-package sbcl-cl-async-base))
+
+(define-public ecl-cl-async-base
+ (sbcl-package->ecl-package sbcl-cl-async-base))
+
+(define-public sbcl-cl-async-util
+ (package
+ (inherit sbcl-cl-async-base)
+ (name "sbcl-cl-async-util")
+ (inputs
+ `(("bordeaux-threads" ,sbcl-bordeaux-threads)
+ ("cffi" ,sbcl-cffi)
+ ("cl-async-base" ,sbcl-cl-async-base)
+ ("cl-libuv" ,sbcl-cl-libuv)
+ ("cl-ppcre" ,sbcl-cl-ppcre)
+ ("fast-io" ,sbcl-fast-io)
+ ("vom" ,sbcl-vom)))
+ (synopsis "Internal utilities for cl-async")))
+
+(define-public cl-async-util
+ (sbcl-package->cl-source-package sbcl-cl-async-util))
+
+(define-public ecl-cl-async-util
+ (sbcl-package->ecl-package sbcl-cl-async-util))
+
+(define-public sbcl-cl-async
+ (package
+ (inherit sbcl-cl-async-base)
+ (name "sbcl-cl-async")
+ (inputs
+ `(("babel" ,sbcl-babel)
+ ("cffi" ,sbcl-cffi)
+ ("cl-async-base" ,sbcl-cl-async-base)
+ ("cl-async-util" ,sbcl-cl-async-util)
+ ("cl-libuv" ,sbcl-cl-libuv)
+ ("cl-ppcre" ,sbcl-cl-ppcre)
+ ("static-vectors" ,sbcl-static-vectors)
+ ("trivial-features" ,sbcl-trivial-features)
+ ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
+ (synopsis "Asynchronous operations for Common Lisp")))
+
+(define-public cl-async
+ (sbcl-package->cl-source-package sbcl-cl-async))
+
+(define-public ecl-cl-async
+ (sbcl-package->ecl-package sbcl-cl-async))
+
+(define-public sbcl-cl-async-repl
+ (package
+ (inherit sbcl-cl-async-base)
+ (name "sbcl-cl-async-repl")
+ (inputs
+ `(("bordeaux-threads" ,sbcl-bordeaux-threads)
+ ("cl-async" ,sbcl-cl-async)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
+ ((#:asd-file _ "") "cl-async-repl.asd")))
+ (synopsis "REPL integration for cl-async")))
+
+(define-public cl-async-repl
+ (sbcl-package->cl-source-package sbcl-cl-async-repl))
+
+(define-public ecl-cl-async-repl
+ (sbcl-package->ecl-package sbcl-cl-async-repl))
+
+(define-public sbcl-cl-async-ssl
+ (package
+ (inherit sbcl-cl-async-base)
+ (name "sbcl-cl-async-ssl")
+ (inputs
+ `(("cffi" ,sbcl-cffi)
+ ("cl-async" ,sbcl-cl-async)
+ ("openssl" ,openssl)
+ ("vom" ,sbcl-vom)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
+ ((#:asd-file _ "") "cl-async-ssl.asd")
+ ((#:phases phases '%standard-phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/ssl/package.lisp"
+ (("libcrypto\\.so")
+ (string-append (assoc-ref inputs "openssl")
+ "/lib/libcrypto.so"))
+ (("libssl\\.so")
+ (string-append (assoc-ref inputs "openssl")
+ "/lib/libssl.so")))
+ #t))))))
+ (synopsis "SSL wrapper around cl-async socket implementation")))
+
+(define-public cl-async-ssl
+ (sbcl-package->cl-source-package sbcl-cl-async-ssl))
+
+(define-public ecl-cl-async-ssl
+ (sbcl-package->ecl-package sbcl-cl-async-ssl))
+
+(define-public sbcl-blackbird
+ (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
+ (revision "1"))
+ (package
+ (name "sbcl-blackbird")
+ (version (git-version "0.5.2" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/orthecreedence/blackbird.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("vom" ,sbcl-vom)))
+ (native-inputs
+ `(("cl-async" ,sbcl-cl-async)
+ ("fiveam" ,sbcl-fiveam)))
+ (synopsis "Promise implementation for Common Lisp")
+ (description
+ "This is a standalone promise implementation for Common Lisp. It is
+the successor to the now-deprecated cl-async-future project.")
+ (home-page "http://orthecreedence.github.io/blackbird/")
+ (license license:expat))))
+
+(define-public cl-blackbird
+ (sbcl-package->cl-source-package sbcl-blackbird))
+
+(define-public ecl-blackbird
+ (sbcl-package->ecl-package sbcl-blackbird))
+
+(define-public sbcl-cl-async-future
+ (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-async-future")
+ (version (git-version "0.4.4.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/orthecreedence/cl-async-future.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("blackbird" ,sbcl-blackbird)))
+ (native-inputs
+ `(("cl-async" ,sbcl-cl-async)
+ ("eos" ,sbcl-eos)))
+ (synopsis "Futures implementation for Common Lisp")
+ (description
+ "This is futures implementation for Common Lisp. It plugs in nicely
+to cl-async.")
+ (home-page "http://orthecreedence.github.io/cl-async/future")
+ (license license:expat))))
+
+(define-public cl-async-future
+ (sbcl-package->cl-source-package sbcl-cl-async-future))
+
+(define-public ecl-cl-async-future
+ (sbcl-package->ecl-package sbcl-cl-async-future))
+
+(define-public sbcl-green-threads
+ (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
+ (revision "1"))
+ (package
+ (name "sbcl-green-threads")
+ (version (git-version "0.3" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/thezerobit/green-threads.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("cl-async-future" ,sbcl-cl-async-future)
+ ("cl-cont" ,sbcl-cl-cont)))
+ (native-inputs
+ `(("prove" ,sbcl-prove)))
+ (arguments
+ `(;; TODO: Fix the tests. They fail with:
+ ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-tests
+ (lambda _
+ (substitute* "green-threads-test.asd"
+ (("cl-test-more")
+ "prove"))
+ #t)))))
+ (synopsis "Cooperative multitasking library for Common Lisp")
+ (description
+ "This library allows for cooperative multitasking with help of cl-cont
+for continuations. It tries to mimic the API of bordeaux-threads as much as
+possible.")
+ (home-page "https://github.com/thezerobit/green-threads")
+ (license license:bsd-3))))
+
+(define-public cl-green-threads
+ (sbcl-package->cl-source-package sbcl-green-threads))
+
+(define-public ecl-green-threads
+ (sbcl-package->ecl-package sbcl-green-threads))