aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/lisp-xyz.scm
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-02-14 19:05:45 +0100
committerMarius Bakke <mbakke@fastmail.com>2020-02-14 19:05:45 +0100
commit7edafc884c2a21258541b17a231051702c458263 (patch)
treed4202c8d6516bacd32fa55ee23c54b069ef8abd6 /gnu/packages/lisp-xyz.scm
parent89da127035737bdf922bc566970c5506c2e01b00 (diff)
parent64fc4f3705423c83c680a95d8dea81a39fce9a70 (diff)
downloadpatches-7edafc884c2a21258541b17a231051702c458263.tar
patches-7edafc884c2a21258541b17a231051702c458263.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages/lisp-xyz.scm')
-rw-r--r--gnu/packages/lisp-xyz.scm767
1 files changed, 597 insertions, 170 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 737ab6cae9..dbb95ce387 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -16,6 +16,7 @@
;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com>
;;; Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
+;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -166,29 +167,27 @@ interactive development model in mind.")
(sbcl-package->ecl-package sbcl-fiveam))
(define-public sbcl-bordeaux-threads
- (let ((commit "5dce49fbc829f4d136a734f5ef4f5d599660984f")
- (revision "1"))
- (package
- (name "sbcl-bordeaux-threads")
- (version (git-version "0.8.6" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/sionescu/bordeaux-threads.git")
- (commit commit)))
- (sha256
- (base32 "1gkh9rz7zw57n3110ikcf4835950wr4hgp8l79id5ai6nd86x7wv"))
- (file-name
- (git-file-name "bordeaux-threads" version))))
- (inputs `(("alexandria" ,sbcl-alexandria)))
- (native-inputs `(("fiveam" ,sbcl-fiveam)))
- (build-system asdf-build-system/sbcl)
- (synopsis "Portable shared-state concurrency library for Common Lisp")
- (description "BORDEAUX-THREADS is a proposed standard for a minimal
+ (package
+ (name "sbcl-bordeaux-threads")
+ (version "0.8.7")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sionescu/bordeaux-threads.git")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "1whpfmyxp2fsw6viqj45fqgsifgr534c575bfh5vaqw5m84b6alp"))
+ (file-name
+ (git-file-name "bordeaux-threads" version))))
+ (inputs `(("alexandria" ,sbcl-alexandria)))
+ (native-inputs `(("fiveam" ,sbcl-fiveam)))
+ (build-system asdf-build-system/sbcl)
+ (synopsis "Portable shared-state concurrency library for Common Lisp")
+ (description "BORDEAUX-THREADS is a proposed standard for a minimal
MP/Threading interface. It is similar to the CLIM-SYS threading and lock
support.")
- (home-page "https://common-lisp.net/project/bordeaux-threads/")
- (license license:x11))))
+ (home-page "https://common-lisp.net/project/bordeaux-threads/")
+ (license license:x11)))
(define-public cl-bordeaux-threads
(sbcl-package->cl-source-package sbcl-bordeaux-threads))
@@ -267,7 +266,7 @@ logical continuation of Stefil. It focuses on interactive debugging.")
(define-public sbcl-flexi-streams
(package
(name "sbcl-flexi-streams")
- (version "1.0.16")
+ (version "1.0.18")
(source
(origin
(method git-fetch)
@@ -276,7 +275,7 @@ logical continuation of Stefil. It focuses on interactive debugging.")
(commit (string-append "v" version))))
(file-name (git-file-name "flexi-streams" version))
(sha256
- (base32 "0gvykjlmja060zqq6nn6aqxlshh6r6ijahmmgf20q0d839rwpgxc"))))
+ (base32 "0bjv7fd2acknidc5dyi3h85pn10krxv5jyxs1xg8jya2rlfv7f1j"))))
(build-system asdf-build-system/sbcl)
(arguments
`(#:phases
@@ -304,7 +303,7 @@ streams which are similar to string streams.")
(define-public sbcl-cl-ppcre
(package
(name "sbcl-cl-ppcre")
- (version "2.0.11")
+ (version "2.1.1")
(source
(origin
(method git-fetch)
@@ -313,7 +312,7 @@ streams which are similar to string streams.")
(commit (string-append "v" version))))
(file-name (git-file-name "cl-ppcre" version))
(sha256
- (base32 "0q3iany07vgqm144lw6pj0af2d3vsikpbkwcxr30fci3kzsq4f49"))))
+ (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
(build-system asdf-build-system/sbcl)
(native-inputs `(("flexi-streams" ,sbcl-flexi-streams)))
(synopsis "Portable regular expression library for Common Lisp")
@@ -330,32 +329,30 @@ compatible with ANSI-compliant Common Lisp implementations.")
(sbcl-package->ecl-package sbcl-cl-ppcre))
(define sbcl-cl-unicode-base
- (let ((revision "1")
- (commit "9fcd06fba1ddc9e66aed2f2d6c32dc9b764f03ea"))
- (package
- (name "sbcl-cl-unicode-base")
- (version (string-append "0.1.5-" revision "." (string-take commit 7)))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/edicl/cl-unicode.git")
- (commit commit)))
- (file-name (string-append "cl-unicode-" version "-checkout"))
- (sha256
- (base32
- "1jicprb5b3bv57dy1kg03572gxkcaqdjhak00426s76g0plmx5ki"))))
- (build-system asdf-build-system/sbcl)
- (arguments
- '(#:asd-file "cl-unicode.asd"
- #:asd-system-name "cl-unicode/base"))
- (inputs
- `(("cl-ppcre" ,sbcl-cl-ppcre)))
- (home-page "http://weitz.de/cl-unicode/")
- (synopsis "Portable Unicode library for Common Lisp")
- (description "CL-UNICODE is a portable Unicode library Common Lisp, which
+ (package
+ (name "sbcl-cl-unicode-base")
+ (version "0.1.6")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/edicl/cl-unicode.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ '(#:asd-file "cl-unicode.asd"
+ #:asd-system-name "cl-unicode/base"))
+ (inputs
+ `(("cl-ppcre" ,sbcl-cl-ppcre)))
+ (home-page "http://weitz.de/cl-unicode/")
+ (synopsis "Portable Unicode library for Common Lisp")
+ (description "CL-UNICODE is a portable Unicode library Common Lisp, which
is compatible with perl. It is pretty fast, thread-safe, and compatible with
ANSI-compliant Common Lisp implementations.")
- (license license:bsd-2))))
+ (license license:bsd-2)))
(define-public sbcl-cl-unicode
(package
@@ -629,6 +626,9 @@ from other CLXes around the net.")
`(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
("sbcl-cl-unicode" ,sbcl-cl-unicode)))))
+(define-public ecl-cl-ppcre-unicode
+ (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
+
;; The slynk that users expect to install includes all of slynk's contrib
;; modules. Therefore, we build the base module and all contribs first; then
;; we expose the union of these as `sbcl-slynk'. The following variable
@@ -1417,7 +1417,7 @@ In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
(define-public sbcl-split-sequence
(package
(name "sbcl-split-sequence")
- (version "1.4.1")
+ (version "2.0.0")
(source
(origin
(method git-fetch)
@@ -1426,13 +1426,11 @@ In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
(commit (string-append "v" version))))
(sha256
(base32
- "0c3zp6b7fmmp93sfhq112ind4zkld49ycw68z409xpnz3gc0wpf0"))
+ "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
(file-name (git-file-name "split-sequence" version))))
(build-system asdf-build-system/sbcl)
- (arguments
- ;; TODO: Tests seem to be broken.
- ;; https://github.com/sharplispers/split-sequence/issues/8
- `(#:tests? #f))
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
(synopsis "Member of the Common Lisp Utilities family of programs")
(description
"Splits sequence into a list of subsequences delimited by objects
@@ -1570,7 +1568,7 @@ with @command{colorize} support."))))
(define-public sbcl-cl-fad
(package
(name "sbcl-cl-fad")
- (version "0.7.5")
+ (version "0.7.6")
(source
(origin
(method git-fetch)
@@ -1579,7 +1577,7 @@ with @command{colorize} support."))))
(commit (string-append "v" version))))
(sha256
(base32
- "1l1qmk9z57q84bz5r04sxsksggsnd7dgkxlybzh9imz6ma7sm52m"))
+ "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
(file-name (string-append "cl-fad" version "-checkout"))))
(build-system asdf-build-system/sbcl)
(inputs
@@ -3180,44 +3178,43 @@ Lisp (from GBBopen project).")
(define-public ecl-portable-threada
(sbcl-package->ecl-package sbcl-portable-threads))
-(define-public sbcl-usocket-boot0
+(define sbcl-usocket-boot0
;; usocket's test rely on usocket-server which depends on usocket itself.
;; We break this cyclic dependency with -boot0 that packages usocket.
- (let ((commit "86e7efbfe50101931edf4b67cdcfa7e221ecfde9"))
- (package
- (name "sbcl-usocket-boot0")
- (version (git-version "0.7.1" "1" commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/usocket/usocket/")
- (commit commit)))
- (file-name (git-file-name "usocket" version))
- (sha256
- (base32
- "1lk6ipakrib7kdgzw44hrgmls9akp5pz4h35yynw0k5zwmmq6374"))))
- (build-system asdf-build-system/sbcl)
- (inputs
- `(("split-sequence" ,sbcl-split-sequence)))
- (arguments
- `(#:tests? #f
- #:asd-system-name "usocket"))
- (home-page "https://common-lisp.net/project/usocket/")
- (synopsis "Universal socket library for Common Lisp (server side)")
- (description
- "This library strives to provide a portable TCP/IP and UDP/IP socket
+ (package
+ (name "sbcl-usocket-boot0")
+ (version "0.8.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/usocket/usocket/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "usocket" version))
+ (sha256
+ (base32
+ "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("split-sequence" ,sbcl-split-sequence)))
+ (arguments
+ `(#:tests? #f
+ #:asd-system-name "usocket"))
+ (home-page "https://common-lisp.net/project/usocket/")
+ (synopsis "Universal socket library for Common Lisp (server side)")
+ (description
+ "This library strives to provide a portable TCP/IP and UDP/IP socket
interface for as many Common Lisp implementations as possible, while keeping
the abstraction and portability layer as thin as possible.")
- (license license:expat))))
+ (license license:expat)))
(define-public sbcl-usocket-server
(package
(inherit sbcl-usocket-boot0)
(name "sbcl-usocket-server")
(inputs
- `(("usocket" ,sbcl-usocket-boot0)
- ("portable-threads" ,sbcl-portable-threads)))
+ `(("bordeaux-threads" ,sbcl-bordeaux-threads)
+ ("usocket" ,sbcl-usocket-boot0)))
(arguments
'(#:asd-system-name "usocket-server"))
(synopsis "Universal socket library for Common Lisp (server side)")))
@@ -3243,7 +3240,7 @@ the abstraction and portability layer as thin as possible.")
(define-public cl-usocket
(sbcl-package->cl-source-package sbcl-usocket))
-(define-public ecl-socket
+(define-public ecl-usocket
(sbcl-package->ecl-package sbcl-usocket))
(define-public sbcl-s-xml
@@ -3666,45 +3663,45 @@ the format used by the popular compression tool bzip2.")
(sbcl-package->cl-source-package sbcl-chipz))
(define-public sbcl-drakma
- (let ((version "2.0.4")
- (commit "7647c0ae842ff2058624e53979c7f297760c97a7")
- (revision "1"))
- (package
- (name "sbcl-drakma")
- (version (git-version version revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/edicl/drakma.git")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1c4i9wakhj5pxfyyykxshdmv3180sbkrx6fcyynikmc0jd0rh84r"))))
- (build-system asdf-build-system/sbcl)
- (inputs
- `(("sbcl-puri" ,sbcl-puri)
- ("sbcl-cl-base64" ,sbcl-cl-base64)
- ("sbcl-chunga" ,sbcl-chunga)
- ("sbcl-flexi-streams" ,sbcl-flexi-streams)
- ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
- ("sbcl-chipz" ,sbcl-chipz)
- ("sbcl-usocket" ,sbcl-usocket)
- ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
- (native-inputs
- `(("sbcl-fiveam" ,sbcl-fiveam)))
- (home-page "https://edicl.github.io/drakma/")
- (synopsis "HTTP client written in Common Lisp")
- (description
- "Drakma is a full-featured HTTP client implemented in Common Lisp. It
+ (package
+ (name "sbcl-drakma")
+ (version "2.0.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/edicl/drakma.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("sbcl-puri" ,sbcl-puri)
+ ("sbcl-cl-base64" ,sbcl-cl-base64)
+ ("sbcl-chunga" ,sbcl-chunga)
+ ("sbcl-flexi-streams" ,sbcl-flexi-streams)
+ ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
+ ("sbcl-chipz" ,sbcl-chipz)
+ ("sbcl-usocket" ,sbcl-usocket)
+ ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
+ (native-inputs
+ `(("sbcl-fiveam" ,sbcl-fiveam)))
+ (home-page "https://edicl.github.io/drakma/")
+ (synopsis "HTTP client written in Common Lisp")
+ (description
+ "Drakma is a full-featured HTTP client implemented in Common Lisp. It
knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
sockets, SSL, continuable uploads, file uploads, cookies, and more.")
- (license license:bsd-2))))
+ (license license:bsd-2)))
(define-public cl-drakma
(sbcl-package->cl-source-package sbcl-drakma))
+(define-public ecl-drakma
+ (sbcl-package->ecl-package sbcl-drakma))
+
(define-public sbcl-hunchentoot
(package
(name "sbcl-hunchentoot")
@@ -4105,36 +4102,37 @@ Lisp.")
(sbcl-package->cl-source-package sbcl-fast-http))
(define-public sbcl-static-vectors
- (let ((commit "0681eac1f49370cde03e64b077251e8abf47d702")
- (revision "1"))
- (package
- (name "sbcl-static-vectors")
- (version (git-version "1.8.3" revision commit))
- (source
- (origin
+ (package
+ (name "sbcl-static-vectors")
+ (version "1.8.4")
+ (source
+ (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sionescu/static-vectors.git")
- (commit commit)))
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "138nlsq14hv8785ycjm6jw3i6ablhq8vcwys7q09y80arcgrg6r3"))))
- (native-inputs
- `(("sbcl-fiveam" ,sbcl-fiveam)))
- (inputs
- `(("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
- ("sbcl-cffi" ,sbcl-cffi)))
- (build-system asdf-build-system/sbcl)
- (home-page "http://common-lisp.net/projects/iolib/")
- (synopsis "Allocate SIMPLE-ARRAYs in static memory")
- (description
- "With @code{static-vectors}, you can create vectors allocated in static
+ (base32 "0qvf9z6bhwhm8n45fjwkm7j8dcb58szfvndky65cyn4lpdval7m1"))))
+ (native-inputs
+ `(("sbcl-fiveam" ,sbcl-fiveam)))
+ (inputs
+ `(("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
+ ("sbcl-cffi" ,sbcl-cffi)))
+ (build-system asdf-build-system/sbcl)
+ (home-page "https://github.com/sionescu/static-vectors")
+ (synopsis "Allocate SIMPLE-ARRAYs in static memory")
+ (description
+ "With @code{static-vectors}, you can create vectors allocated in static
memory.")
- (license license:expat))))
+ (license license:expat)))
(define-public cl-static-vectors
(sbcl-package->cl-source-package sbcl-static-vectors))
+(define-public ecl-static-vectors
+ (sbcl-package->ecl-package sbcl-static-vectors))
+
(define-public sbcl-marshal
(let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
(revision "1"))
@@ -5225,7 +5223,7 @@ decoding routines for IDNA, the International Domain Names in Applications.")
(package
(name "sbcl-swap-bytes")
(build-system asdf-build-system/sbcl)
- (version "1.1")
+ (version "1.2")
(home-page "https://github.com/sionescu/swap-bytes")
(source
(origin
@@ -5236,14 +5234,11 @@ decoding routines for IDNA, the International Domain Names in Applications.")
(file-name (git-file-name name version))
(sha256
(base32
- "1qysbv0jngdfkv53y874qjhcxc4qi8ixaqq6j8bzxh5z0931wv55"))))
+ "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
(inputs
`(("trivial-features" ,sbcl-trivial-features)))
(native-inputs
`(("fiveam" ,sbcl-fiveam)))
- (arguments
- ;; TODO: Tests fail, why?
- `(#:tests? #f))
(synopsis "Efficient endianness conversion for Common Lisp")
(description "This Common Lisp library provides optimized byte-swapping
primitives. The library can change endianness of unsigned integers of length
@@ -5970,6 +5965,42 @@ This package uses fare-quasiquote with named-readtable.")))
(sbcl-package->cl-source-package sbcl-fare-quasiquote-readtable))
;; TODO: Add support for component-less system in asdf-build-system/sbcl.
+(define-public sbcl-fare-quasiquote-extras
+ (package
+ (inherit sbcl-fare-quasiquote)
+ (name "sbcl-fare-quasiquote-extras")
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("fare-quasiquote-optima" ,sbcl-fare-quasiquote-optima)
+ ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'build
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (lib (string-append out "/lib/" (%lisp-type))))
+ (mkdir-p lib)
+ (install-file "fare-quasiquote-extras.asd" lib)
+ #t)))
+ (add-after 'create-asd-file 'fix-asd-file
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (lib (string-append out "/lib/" (%lisp-type)))
+ (asd (string-append lib "/fare-quasiquote-extras.asd")))
+ (substitute* asd
+ ((":class")
+ "")
+ (("asdf/bundle:prebuilt-system")
+ "")
+ ((":components")
+ "")
+ (("\\(\\(:compiled-file \"fare-quasiquote-extras--system\"\\)\\)")
+ "")))
+ #t)))))
+ (description "This library combines @code{fare-quasiquote-readtable} and
+@code{fare-quasiquote-optima}.")))
+
(define-public cl-fare-quasiquote-extras
(package
(inherit cl-fare-quasiquote)
@@ -5983,7 +6014,7 @@ This package uses fare-quasiquote with named-readtable.")))
@code{fare-quasiquote-optima}.")))
(define-public sbcl-trivia.level0
- (let ((commit "902e0c65602bbfe96ae82e679330b3771ddc7603")
+ (let ((commit "574901ac376ae54c9d37169fd5efab9b3b8fcc63")
(revision "1"))
(package
(name "sbcl-trivia.level0")
@@ -5999,7 +6030,7 @@ This package uses fare-quasiquote with named-readtable.")))
(file-name (git-file-name name version))
(sha256
(base32
- "11qbab30qqnfy9mx3x9fvgcw1jbvh1qn2cqv3p8xdn2m8981jvhr"))))
+ "0hf53n71xzr9sjwrxis5fivx3drclf4s39h5ck8vh21ndqj9zvdk"))))
(inputs
`(("alexandria" ,sbcl-alexandria)))
(synopsis "Pattern matching in Common Lisp")
@@ -6877,8 +6908,8 @@ compression/decompression using bindings to the lzlib C library.")
(sbcl-package->ecl-package sbcl-lzlib))
(define-public sbcl-chanl
- (let ((commit "2362b57550c2c9238cc882d03553aaa1040b7340")
- (revision "0"))
+ (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
+ (revision "1"))
(package
(name "sbcl-chanl")
(version (git-version "0.4.1" revision commit))
@@ -6891,7 +6922,7 @@ compression/decompression using bindings to the lzlib C library.")
(file-name (git-file-name name version))
(sha256
(base32
- "0ag3wz7yrqwp0s5069wwda98z3rrqd25spg8sa8rdqghj084w28w"))))
+ "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
(build-system asdf-build-system/sbcl)
(native-inputs
`(("fiveam" ,sbcl-fiveam)))
@@ -6909,26 +6940,7 @@ threads.")
(sbcl-package->cl-source-package sbcl-chanl))
(define-public ecl-chanl
- (let ((base (sbcl-package->ecl-package sbcl-chanl)))
- (package
- (inherit base)
- (arguments
- (substitute-keyword-arguments (package-arguments base)
- ;; The CHANL.ACTORS package uses the :ARGUMENTS option of
- ;; DEFINE-METHOD-COMBINATION, which is not implemented in ECL yet
- ;; (see https://gitlab.com/embeddable-common-lisp/ecl/issues/305).
- ;; So let's disable it for now, as it allows compiling the library
- ;; and using the rest of it.
- ((#:phases phases '%standard-phases)
- `(modify-phases ,phases
- (add-after 'unpack 'disable-chanl-actors
- (lambda _
- (substitute* "chanl.asd"
- (("\\(:file \"actors\"\\)") ""))
- #t))))
- ;; Disable the tests for now, as the SEND-SEQUENCE test seems to
- ;; never end.
- ((#:tests? _ #f) #f))))))
+ (sbcl-package->ecl-package sbcl-chanl))
(define-public sbcl-cl-store
(let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
@@ -7181,7 +7193,7 @@ implementation specific equivalent.")
("trivial-garbage" ,sbcl-trivial-garbage)
("bordeaux-threads" ,sbcl-bordeaux-threads)
("named-readtables" ,sbcl-named-readtables)
- ("fare-quasiquote-extras" ,cl-fare-quasiquote-extras)
+ ("fare-quasiquote-extras" ,sbcl-fare-quasiquote-extras)
("parse-declarations-1.0" ,sbcl-parse-declarations)
("global-vars" ,sbcl-global-vars)
("trivial-file-size" ,sbcl-trivial-file-size)
@@ -7543,6 +7555,9 @@ docstrings for your library.")
(define-public cl-documentation-utils
(sbcl-package->cl-source-package sbcl-documentation-utils))
+(define-public ecl-documentation-utils
+ (sbcl-package->ecl-package sbcl-documentation-utils))
+
(define-public sbcl-form-fiddle
(let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
(revision "0"))
@@ -10163,3 +10178,415 @@ them as PNG files.")
(define-public ecl-cl-qrencode
(sbcl-package->ecl-package sbcl-cl-qrencode))
+
+(define-public sbcl-hdf5-cffi
+ (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
+ (revision "1"))
+ (package
+ (name "sbcl-hdf5-cffi")
+ (version (git-version "1.8.18" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hdfgroup/hdf5-cffi.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
+ (build-system asdf-build-system/sbcl)
+ (synopsis "Common Lisp bindings for the HDF5 library")
+ (description
+ "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
+ (home-page "https://github.com/hdfgroup/hdf5-cffi")
+ (license (license:non-copyleft
+ (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
+ commit
+ "/LICENSE")))
+ (inputs
+ `(("cffi" ,sbcl-cffi)
+ ("cffi-grovel" ,sbcl-cffi-grovel)
+ ("hdf5" ,hdf5-1.10)))
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (arguments
+ `(#:asd-system-name "hdf5-cffi"
+ #:asd-file "hdf5-cffi.asd"
+ #:test-asd-file "hdf5-cffi.test.asd"
+ ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
+ ;; I don't know if there is a way to tell asdf-build-system to load
+ ;; an additional system first, so tests are disabled.
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/library.lisp"
+ (("libhdf5.so")
+ (string-append
+ (assoc-ref inputs "hdf5")
+ "/lib/libhdf5.so")))))
+ (add-after 'unpack 'fix-dependencies
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "hdf5-cffi.asd"
+ ((":depends-on \\(:cffi\\)")
+ ":depends-on (:cffi :cffi-grovel)"))
+ (substitute* "hdf5-cffi.test.asd"
+ ((":depends-on \\(:cffi :hdf5-cffi")
+ ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
+
+(define-public cl-hdf5-cffi
+ (sbcl-package->cl-source-package sbcl-hdf5-cffi))
+
+(define-public ecl-hdf5-cffi
+ (sbcl-package->ecl-package sbcl-hdf5-cffi))
+
+(define-public sbcl-cl-randist
+ (package
+ (name "sbcl-cl-randist")
+ (version "0.4.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lvaruzza/cl-randist.git")
+ (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
+ (build-system asdf-build-system/sbcl)
+ (synopsis "Random distributions for Common Lisp")
+ (description
+ "Manual translation from C to Common Lisp of some random number
+generation functions from the GSL library.")
+ (home-page "https://github.com/lvaruzza/cl-randist")
+ (license license:bsd-2)
+ (arguments
+ `(#:asd-system-name "cl-randist"
+ #:asd-file "cl-randist.asd"
+ #:tests? #f))))
+
+(define-public cl-randist
+ (sbcl-package->cl-source-package sbcl-cl-randist))
+
+(define-public ecl-cl-randist
+ (sbcl-package->ecl-package sbcl-cl-randist))
+
+(define-public sbcl-float-features
+ (package
+ (name "sbcl-float-features")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shinmera/float-features.git")
+ (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
+ (build-system asdf-build-system/sbcl)
+ (synopsis "Common Lisp IEEE float portability library")
+ (description
+ "Portability library for IEEE float features that are not
+covered by the Common Lisp standard.")
+ (home-page "https://github.com/Shinmera/float-features")
+ (license license:zlib)
+ (inputs
+ `(("documentation-utils" ,sbcl-documentation-utils)))
+ (arguments
+ `(#:asd-system-name "float-features"
+ #:asd-file "float-features.asd"
+ #:tests? #f))))
+
+(define-public cl-float-features
+ (sbcl-package->cl-source-package sbcl-float-features))
+
+(define-public ecl-float-features
+ (sbcl-package->ecl-package sbcl-float-features))
+
+(define-public sbcl-function-cache
+ (package
+ (name "sbcl-function-cache")
+ (version "1.0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/AccelerationNet/function-cache.git")
+ (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
+ (build-system asdf-build-system/sbcl)
+ (synopsis "Function caching / memoization library for Common Lisp")
+ (description
+ "A common lisp library that provides extensible function result
+caching based on arguments (an expanded form of memoization).")
+ (home-page "https://github.com/AccelerationNet/function-cache")
+ (license
+ (license:non-copyleft
+ "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("cl-interpol" ,sbcl-cl-interpol)
+ ("iterate" ,sbcl-iterate)
+ ("symbol-munger" ,sbcl-symbol-munger)
+ ("closer-mop" ,sbcl-closer-mop)))
+ (arguments
+ `(#:asd-system-name "function-cache"
+ #:asd-file "function-cache.asd"
+ #:tests? #f))))
+
+(define-public cl-function-cache
+ (sbcl-package->cl-source-package sbcl-function-cache))
+
+(define-public ecl-function-cache
+ (sbcl-package->ecl-package sbcl-function-cache))
+
+(define-public sbcl-type-r
+ (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
+ (revision "1"))
+ (package
+ (name "sbcl-type-r")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/guicho271828/type-r.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
+ (build-system asdf-build-system/sbcl)
+ (synopsis "Parser interface for Common Lisp built-in compound types")
+ (description
+ "Collections of accessor functions and patterns to access
+the elements in compound type specifier, e.g. @code{dimensions} in
+@code{(array element-type dimensions)}")
+ (home-page "https://github.com/guicho271828/type-r")
+ (license license:lgpl3+)
+ (inputs
+ `(("trivia" ,sbcl-trivia)
+ ("alexandria" ,sbcl-alexandria)))
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (arguments
+ `(#:asd-system-name "type-r"
+ #:asd-file "type-r.asd"
+ #:test-asd-file "type-r.test.asd")))))
+
+(define-public cl-type-r
+ (sbcl-package->cl-source-package sbcl-type-r))
+
+(define-public sbcl-trivialib-type-unify
+ (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
+ (revision "1"))
+ (package
+ (name "sbcl-trivialib-type-unify")
+ (version (git-version "0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/guicho271828/trivialib.type-unify.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
+ (build-system asdf-build-system/sbcl)
+ (synopsis "Common Lisp type unification")
+ (description
+ "Unifies a parametrized type specifier against an actual type specifier.
+Importantly, it handles complicated array-subtypes and number-related types
+correctly.")
+ (home-page "https://github.com/guicho271828/trivialib.type-unify")
+ (license license:lgpl3+)
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("trivia" ,sbcl-trivia)
+ ("introspect-environment" ,sbcl-introspect-environment)
+ ("type-r" ,sbcl-type-r)))
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (arguments
+ `(#:asd-system-name "trivialib.type-unify"
+ #:asd-file "trivialib.type-unify.asd"
+ #:test-asd-file "trivialib.type-unify.test.asd")))))
+
+(define-public cl-trivialib-type-unify
+ (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
+
+(define-public sbcl-specialized-function
+ (let ((commit "b96b6afaf8358bf91cc0703e62a5a4ee20d2b7bc")
+ (revision "1"))
+ (package
+ (name "sbcl-specialized-function")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/numcl/specialized-function.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "12j45ff0n26578vmfbhb9mfbdchw4wy023k0m2ppgl9s0z4bhjaj"))))
+ (build-system asdf-build-system/sbcl)
+ (synopsis "Julia-like dispatch for Common Lisp")
+ (description
+ "This library is part of NUMCL. It provides a macro
+@code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
+lazily compiling a type-specific version of the function from the same
+code. The main target of this macro is speed.")
+ (home-page "https://github.com/numcl/specialized-function")
+ (license license:lgpl3+)
+ (inputs
+ `(("trivia" ,sbcl-trivia)
+ ("alexandria" ,sbcl-alexandria)
+ ("iterate" ,sbcl-iterate)
+ ("lisp-namespace" ,sbcl-lisp-namespace)
+ ("type-r" ,sbcl-type-r)
+ ("trivial-cltl2" ,sbcl-trivial-cltl2)))
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (arguments
+ `(#:asd-system-name "specialized-function"
+ #:asd-file "specialized-function.asd"
+ #:test-asd-file "specialized-function.test.asd")))))
+
+(define-public cl-specialized-function
+ (sbcl-package->cl-source-package sbcl-specialized-function))
+
+(define-public sbcl-constantfold
+ (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
+ (revision "1"))
+ (package
+ (name "sbcl-constantfold")
+ (version (git-version "0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/numcl/constantfold.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
+ (build-system asdf-build-system/sbcl)
+ (synopsis "Support library for numcl")
+ (description
+ "Support library for numcl. Registers a function as an
+additional form that is considered as a candidate for a constant.")
+ (home-page "https://github.com/numcl/constantfold")
+ (license license:lgpl3+)
+ (inputs
+ `(("trivia" ,sbcl-trivia)
+ ("alexandria" ,sbcl-alexandria)
+ ("iterate" ,sbcl-iterate)
+ ("lisp-namespace" ,sbcl-lisp-namespace)))
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (arguments
+ `(#:asd-system-name "constantfold"
+ #:asd-file "constantfold.asd"
+ #:test-asd-file "constantfold.test.asd")))))
+
+(define-public cl-constantfold
+ (sbcl-package->cl-source-package sbcl-constantfold))
+
+(define-public sbcl-gtype
+ (let ((commit "42275e3606242ae91e9c8dfa30c18ced50a35b66")
+ (revision "1"))
+ (package
+ (name "sbcl-gtype")
+ (version (git-version "0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/numcl/gtype.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1f56dba998v945jcxhha391557n6md1ql25b7icfwwfivhmlaa9b"))))
+ (build-system asdf-build-system/sbcl)
+ (synopsis "C++/Julia-like parametric types in Common Lisp")
+ (description
+ "Support library for numcl that provides Julia-like runtime parametric
+type correctness in Common Lisp. It is based on CLtL2 extensions.")
+ (home-page "https://github.com/numcl/gtype")
+ (license license:lgpl3+)
+ (inputs
+ `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
+ ("trivial-cltl2" ,sbcl-trivial-cltl2)
+ ("trivia" ,sbcl-trivia)
+ ("alexandria" ,sbcl-alexandria)
+ ("iterate" ,sbcl-iterate)
+ ("type-r" ,sbcl-type-r)))
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (arguments
+ `(#:asd-system-name "gtype"
+ #:asd-file "gtype.asd"
+ #:test-asd-file "gtype.test.asd")))))
+
+(define-public cl-gtype
+ (sbcl-package->cl-source-package sbcl-gtype))
+
+(define-public sbcl-numcl
+ (let ((commit "1cf7dfa59f763a24a501092870e9c5ee745d0c17")
+ (revision "1"))
+ (package
+ (name "sbcl-numcl")
+ (version (git-version "0.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/numcl/numcl.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0i3jby9hf4ii7blivgyza80g0vmjfhk8537i5i7kqqk0i5sdnym2"))))
+ (build-system asdf-build-system/sbcl)
+ (synopsis "Numpy clone in Common Lisp")
+ (description
+ "This is a Numpy clone in Common Lisp. At the moment the
+library is written in pure Common Lisp, focusing more on correctness
+and usefulness, not speed. Track the progress at
+@url{https://github.com/numcl/numcl/projects/1}.")
+ (home-page "https://github.com/numcl/numcl")
+ (license license:lgpl3+)
+ (inputs
+ `(("trivia" ,sbcl-trivia)
+ ("alexandria" ,sbcl-alexandria)
+ ("iterate" ,sbcl-iterate)
+ ("lisp-namespace" ,sbcl-lisp-namespace)
+ ("type-r" ,sbcl-type-r)
+ ("constantfold" ,sbcl-constantfold)
+ ("cl-randist" ,sbcl-cl-randist)
+ ("float-features" ,sbcl-float-features)
+ ("function-cache" ,sbcl-function-cache)
+ ("specialized-function" ,sbcl-specialized-function)
+ ("gtype" ,sbcl-gtype)))
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (arguments
+ `(#:asd-system-name "numcl"
+ #:asd-file "numcl.asd"
+ #:test-asd-file "numcl.test.asd")))))
+
+(define-public cl-numcl
+ (sbcl-package->cl-source-package sbcl-numcl))