diff options
Diffstat (limited to 'gnu/packages/lisp-xyz.scm')
-rw-r--r-- | gnu/packages/lisp-xyz.scm | 827 |
1 files changed, 679 insertions, 148 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 85f8af31bb..3b8591fb4a 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -19,11 +19,11 @@ ;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net> ;;; Copyright © 2020 Dimakis Dimakakos <me@bendersteed.tech> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> -;;; Copyright © 2020, 2021 Adam Kandur <rndd@tuta.io> -;;; Copyright © 2020, 2021 Sharlatan Hellseher <sharlatanus@gmail.com> +;;; Copyright © 2020, 2021, 2022 Adam Kandur <rndd@tuta.io> +;;; Copyright © 2020, 2021, 2022 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2021, 2022 Aurora <rind38@disroot.org> ;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org> -;;; Copyright © 2021 André A. Gomes <andremegafone@gmail.com> +;;; Copyright © 2021, 2022 André A. Gomes <andremegafone@gmail.com> ;;; Copyright © 2021, 2022 Cage <cage-dev@twistfold.it> ;;; Copyright © 2021 Cameron Chaparro <cameron@cameronchaparro.com> ;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com> @@ -32,6 +32,9 @@ ;;; Copyright © 2021 Aleksandr Vityazev <avityazev@posteo.org> ;;; Copyright © 2021 Jacob MacDonald <jaccarmac@gmail.com> ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com> +;;; Copyright © 2022 Paul A. Patience <paul@apatience.com> +;;; Copyright © 2022 Thomas Albers Raviola <thomas@thomaslabs.org> +;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -55,6 +58,7 @@ (define-module (gnu packages lisp-xyz) #:use-module (gnu packages) + #:use-module (guix gexp) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) @@ -101,6 +105,7 @@ #:use-module (gnu packages statistics) #:use-module (gnu packages tcl) #:use-module (gnu packages tls) + #:use-module (gnu packages version-control) #:use-module (gnu packages video) #:use-module (gnu packages web) #:use-module (gnu packages webkit) @@ -664,6 +669,96 @@ expression library for Common Lisp. It is a non-recursive, backtracing VM.") (define-public cl-re (sbcl-package->cl-source-package sbcl-re)) +(define-public sbcl-boost-parse + (let ((commit "c8f7e536b950752f3e35003e7ee0446e0fd51b50") + (revision "0")) + (package + (name "sbcl-boost-parse") + (version (git-version "1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cl-boost/parse") + (commit commit))) + (file-name (git-file-name "cl-boost-parse" version)) + (sha256 + (base32 "0djnp392n9wgpr9r2ycnwkglad5mn285yvr53jx3g7anm2p8r0vf")))) + (build-system asdf-build-system/sbcl) + (home-page "https://github.com/cl-boost/parse") + (synopsis "Monadic parsing for Common Lisp") + (description + "BOOST-PARSE is a simple token parsing library for Common Lisp.") + (license license:asl2.0)))) + +(define-public cl-boost-parse + (sbcl-package->cl-source-package sbcl-boost-parse)) + +(define-public ecl-boost-parse + (sbcl-package->ecl-package sbcl-boost-parse)) + +(define-public sbcl-boost-re + (let ((commit "d279fc58abf76d0c40aa6cde42e17a0591bc2c5d") + (revision "0")) + (package + (name "sbcl-boost-re") + (version (git-version "1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cl-boost/re") + (commit commit))) + (file-name (git-file-name "cl-boost-re" version)) + (sha256 + (base32 "1h9c2rdhw6m1pm67gqbj46y2vb1kc3i1c9y3l4qhgfz14dbk80a2")))) + (build-system asdf-build-system/sbcl) + (inputs + (list sbcl-boost-parse)) + (home-page "https://github.com/cl-boost/re") + (synopsis "Lua-style string pattern matching for Common Lisp") + (description + "BOOST-RE is a small, portable, lightweight, and quick, regular +expression library for Common Lisp. It is a non-recursive, backtracking VM.") + (license license:asl2.0)))) + +(define-public cl-boost-re + (sbcl-package->cl-source-package sbcl-boost-re)) + +(define-public ecl-boost-re + (sbcl-package->ecl-package sbcl-boost-re)) + +(define-public sbcl-boost-lexer + (let ((commit "139ca9e9580f890698deec05061e495376b7735a") + (revision "0")) + (package + (name "sbcl-boost-lexer") + (version (git-version "1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cl-boost/lexer") + (commit commit))) + (file-name (git-file-name "cl-boost-lexer" version)) + (sha256 + (base32 "01vsczb5cn62k2hkkn39xwh5fjn2x0b507n7afia98jnhhk3d5x4")))) + (build-system asdf-build-system/sbcl) + (inputs + (list sbcl-boost-re)) + (home-page "https://github.com/cl-boost/lexer") + (synopsis "String tokenizing for Common Lisp") + (description + "BOOST-LEXER is a tokenizer for Common Lisp that makes heavy use of +BOOST-RE.") + (license license:asl2.0)))) + +(define-public cl-boost-lexer + (sbcl-package->cl-source-package sbcl-boost-lexer)) + +(define-public ecl-boost-lexer + (sbcl-package->ecl-package sbcl-boost-lexer)) + (define-public sbcl-ubiquitous (let ((commit "35eb7bd9e1b3daee1705f6b41260775180cce8af") (revision "1")) @@ -817,6 +912,40 @@ file.") (define-public cl-zpb-ttf (sbcl-package->cl-source-package sbcl-zpb-ttf)) +(define-public sbcl-zip + ;; named branch is outdated + (let ((commit "688b1545dd7a4fe355556768bb03f8bd9b847a87") + (revision "1")) + (package + (name "sbcl-zip") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bluelisp/zip") + (commit commit))) + (sha256 + (base32 "0s08a6fq182fzsbfyvihqbdllq6gxcwkvphxnrd9wwz65dhg5y66")) + (file-name (git-file-name "cl-zip" version)))) + (build-system asdf-build-system/sbcl) + (inputs + (list sbcl-babel + sbcl-cl-fad + sbcl-salza2 + sbcl-trivial-gray-streams)) + (synopsis "Zip library written in Common Lisp") + (description "This package provide a Common Lisp library for .zip-file +reading and writing.") + (home-page "https://zip.common-lisp.dev") + (license (list license:bsd-2 license:llgpl))))) + +(define-public ecl-zip + (sbcl-package->ecl-package sbcl-zip)) + +(define-public cl-zip + (sbcl-package->cl-source-package sbcl-zip)) + (define-public sbcl-cl-vectors (package (name "sbcl-cl-vectors") @@ -1025,10 +1154,11 @@ antialiased TrueType font rendering using CLX and XRender extension.") (sbcl-package->ecl-package sbcl-clx-truetype)) (define-public sbcl-slynk - (let ((commit "0470c0281498b9de072fcbf3718fc66720eeb3d0")) + (let ((commit "4513c382f07a2a2cedb3c046231b69eae2f5e6f0") + (revision "6")) (package (name "sbcl-slynk") - (version (git-version "1.0.43" "5" commit)) + (version (git-version "1.0.43" revision commit)) (source (origin (method git-fetch) @@ -1037,8 +1167,8 @@ antialiased TrueType font rendering using CLX and XRender extension.") (url "https://github.com/joaotavora/sly") (commit commit))) (sha256 - (base32 "1ws2a9azmdkkg47xnd4jggna45nf0bh54gyp0799b44c4bgjp029")) - (file-name (git-file-name "slynk" version)))) + (base32 "10bzxhi5d7h18hqclxqy2z857d0sfbsnyxvrhmfkdi0h75zz7m4n")) + (file-name (git-file-name "cl-slynk" version)))) (build-system asdf-build-system/sbcl) (outputs '("out" "image")) (arguments @@ -1524,6 +1654,41 @@ and macros, primarily for software projects written in CL by the author.") (define-public cl-piping (sbcl-package->cl-source-package sbcl-piping)) +(define-public sbcl-bobbin + (let ((commit "b454e8241b24ceab674eeeae464c8082b1b6d8ce") + (revision "0")) + (package + (name "sbcl-bobbin") + (version (git-version "1.0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sjl/bobbin") + (commit commit))) + (file-name (git-file-name "cl-bobbin" version)) + (sha256 + (base32 "02lw7w8cbvnxw5acbz405rb5lcqsf4fx7dvj5ldr0lhgbyv1mjnm")))) + (build-system asdf-build-system/sbcl) + (native-inputs + (list sbcl-1am)) + (inputs + (list sbcl-split-sequence)) + (home-page "https://docs.stevelosh.com/bobbin/") + (synopsis "Simple (word) wrapping utilities for strings") + (description + "Bobbin is a simple word-wrapping library for strings in Common Lisp. +It aims to be simple, work nicely for the majority of cases, and degrade +gracefully for edge cases. It is not particularly concerned with speed — if +you need very high-performance word wrapping, Bobbin is not for you.") + (license license:expat)))) + +(define-public cl-bobbin + (sbcl-package->cl-source-package sbcl-bobbin)) + +(define-public ecl-bobbin + (sbcl-package->ecl-package sbcl-bobbin)) + (define-public sbcl-cl-pcg (let ((commit "8263d85ab0ca17fb05637a4430c2d564456bce8f") (revision "1")) @@ -2800,8 +2965,7 @@ is statically typed so there are differences.") (lambda _ ;; This is apparently deprecated since libffi-3.3. (substitute* "libffi/libffi-types.lisp" - (("\\\(\\\(:unix64.*") ")\n")) - #t)) + (("\\\(\\\(:unix64.*") ")\n")))) (add-after 'unpack 'fix-paths (lambda* (#:key inputs #:allow-other-keys) (substitute* "libffi/libffi.lisp" @@ -3237,7 +3401,7 @@ is a library for creating graphical user interfaces.") (define-public sbcl-cl-webkit (package (name "sbcl-cl-webkit") - (version "3.5.0") + (version "3.5.1") (source (origin (method git-fetch) @@ -3247,7 +3411,7 @@ is a library for creating graphical user interfaces.") (file-name (git-file-name "cl-webkit" version)) (sha256 (base32 - "1a16dka15lqzpli0f0qd3afmi14vgdxnfkn9z9d1r4cw9p11s71l")))) + "1zfqwr6vmdd9a2nx3j3ihf8y9sah354wi2rgpq7dy4dkc6wxxd48")))) (build-system asdf-build-system/sbcl) (inputs `(("cffi" ,sbcl-cffi) @@ -3522,23 +3686,22 @@ Lisp (from GBBopen project).") (define-public sbcl-usocket (package (name "sbcl-usocket") - (version "0.8.3") + (version "0.8.4") (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)) + (file-name (git-file-name "cl-usocket" version)) (sha256 (base32 - "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826")))) + "0l5alk6nph6kxgd84pxq8d56pz3ywnpp0kpnlg4cadaics3hycg7")))) (build-system asdf-build-system/sbcl) (native-inputs (list sbcl-rt)) (inputs - `(("bordeaux-threads" ,sbcl-bordeaux-threads) - ("split-sequence" ,sbcl-split-sequence))) + (list sbcl-bordeaux-threads sbcl-split-sequence)) (arguments `(#:tests? #f ; FIXME: Tests need network access? #:asd-systems '("usocket" @@ -3968,8 +4131,8 @@ defined in RFC 2616.") (define-public sbcl-cl-who (let ((version "1.1.4") - (commit "0d3826475133271ee8c590937136c1bc41b8cbe0") - (revision "2")) + (commit "07dafe9b351c32326ce20b5804e798f10d4f273d") + (revision "3")) (package (name "sbcl-cl-who") (version (git-version version revision commit)) @@ -3982,7 +4145,7 @@ defined in RFC 2616.") (file-name (git-file-name "cl-who" version)) (sha256 (base32 - "0sc8nji9q1df04lhsiwsjy1a35996bibl31w5hp5sh8q6sa122dy")))) + "1rdvs113q6d46cblwhsv1vmm31p952wyzkyibqix0ypadpczlgp5")))) (build-system asdf-build-system/sbcl) (native-inputs (list sbcl-flexi-streams)) @@ -4079,44 +4242,44 @@ sockets, SSL, continuable uploads, file uploads, cookies, and more.") (sbcl-package->ecl-package sbcl-drakma)) (define-public sbcl-hunchentoot - (package - (name "sbcl-hunchentoot") - (version "1.3.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/edicl/hunchentoot") - (commit (string-append "v" version)))) - (file-name (git-file-name "hunchentoot" version)) - (sha256 - (base32 "1z0m45lp6rv59g69l44gj3q3d2bmjlhqzpii0vgkniam21dcimy9")))) - (build-system asdf-build-system/sbcl) - (native-inputs - (list sbcl-cl-who sbcl-drakma)) - (inputs - (list sbcl-chunga - sbcl-cl-base64 - sbcl-cl-fad - sbcl-cl-ppcre - sbcl-flexi-streams - sbcl-cl+ssl - sbcl-md5 - sbcl-rfc2388 - sbcl-trivial-backtrace - sbcl-usocket)) - (arguments - `(;; FIXME: Tests fail because they fail to open the file - ;; "/proc/sys/kernel/osrelease" - #:tests? #f)) - (home-page "https://edicl.github.io/hunchentoot/") - (synopsis "Web server written in Common Lisp") - (description - "Hunchentoot is a web server written in Common Lisp and at the same + ;; NOTE: (Sharlatan-20220520T213309+0100): The latest commit fixed tests, + ;; switch to the version tag when release is ready. + (let ((commit "76862391040c20255c7275e815c2175e46bfd080") + (revision "1")) + (package + (name "sbcl-hunchentoot") + (version (git-version "1.3.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/edicl/hunchentoot") + (commit commit))) + (file-name (git-file-name "cl-hunchentoot" version)) + (sha256 + (base32 "1h7ggmmzvgwr4p6j3ai0dqrw30q5309l13w4c03gqrapvwrb65l0")))) + (build-system asdf-build-system/sbcl) + (native-inputs + (list sbcl-cl-who sbcl-drakma)) + (inputs + (list sbcl-chunga + sbcl-cl-base64 + sbcl-cl-fad + sbcl-cl-ppcre + sbcl-flexi-streams + sbcl-cl+ssl + sbcl-md5 + sbcl-rfc2388 + sbcl-trivial-backtrace + sbcl-usocket)) + (home-page "https://edicl.github.io/hunchentoot/") + (synopsis "Web server written in Common Lisp") + (description + "Hunchentoot is a web server written in Common Lisp and at the same time a toolkit for building dynamic websites. As a stand-alone web server, Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent connections (keep-alive), and SSL.") - (license license:bsd-2))) + (license license:bsd-2)))) (define-public cl-hunchentoot (sbcl-package->cl-source-package sbcl-hunchentoot)) @@ -4826,8 +4989,8 @@ mime-type of a file.") (sbcl-package->ecl-package sbcl-trivial-mimes)) (define-public sbcl-ningle - (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad") - (revision "1")) + (let ((commit "2e85675bbb668d6ef341514fc9f22391a0f506b1") + (revision "2")) (package (name "sbcl-ningle") (version (git-version "0.3.0" revision commit)) @@ -4837,36 +5000,12 @@ mime-type of a file.") (uri (git-reference (url "https://github.com/fukamachi/ningle") (commit commit))) - (file-name (git-file-name name version)) + (file-name (git-file-name "cl-ningle" version)) (sha256 - (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw")))) + (base32 "0s9nn8ml1j4839rycvdjcbsynkqnhxw1zmrgpjz48smscwdf1f8p")))) (build-system asdf-build-system/sbcl) (arguments - ;; TODO: pull in clack-test - '(#:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'cleanup-files) - (delete 'cleanup) - (add-before 'cleanup 'combine-fasls - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (lib (string-append out "/lib/sbcl")) - (ningle-path (string-append lib "/ningle")) - (fasl-files (find-files out "\\.fasl$"))) - (mkdir-p ningle-path) - (let ((fasl-path (lambda (name) - (string-append ningle-path - "/" - (basename name) - "--system.fasl")))) - (for-each (lambda (file) - (rename-file file - (fasl-path - (basename file ".fasl")))) - fasl-files)) - fasl-files) - #t))))) + '(#:tests? #f)) ; TODO: pull in clack-test (native-inputs (list sbcl-prove)) (inputs @@ -4928,8 +5067,8 @@ mostly Common Lisp implementation.") (sbcl-package->ecl-package sbcl-cl-fastcgi)) (define-public sbcl-clack - (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0") - (revision "1")) + (let ((commit "6fd0279424f7ba5fd4f92d69a1970846b0b11222") + (revision "2")) (package (name "sbcl-clack") (version (git-version "2.0.0" revision commit)) @@ -4939,9 +5078,9 @@ mostly Common Lisp implementation.") (uri (git-reference (url "https://github.com/fukamachi/clack") (commit commit))) - (file-name (git-file-name name version)) + (file-name (git-file-name "cl-clack" version)) (sha256 - (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0")))) + (base32 "0sfmvqmsg9z13x0v77448rpdqgyprdq739nsbrjw9a28hv9jmkg9")))) (build-system asdf-build-system/sbcl) (inputs `(("alexandria" ,sbcl-alexandria) @@ -5174,10 +5313,41 @@ port within a range.") (define-public ecl-find-port (sbcl-package->ecl-package sbcl-find-port)) -(define-public sbcl-py4cl - (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136") +(define-public sbcl-numpy-file-format + (let ((commit "e97aef6c592a412fdd1afa9a5f09d0b1ce134510") (revision "1")) (package + (name "sbcl-numpy-file-format") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/marcoheisig/numpy-file-format") + (commit commit))) + (file-name (git-file-name "cl-numpy-file-format" version)) + (sha256 + (base32 "0j7jjcf6k3anvgpm4nf81g6gbhff44v0v9rai7kwm2bm3abzsjfd")))) + (build-system asdf-build-system/sbcl) + (inputs + (list sbcl-ieee-floats sbcl-trivial-features)) + (home-page "https://github.com/marcoheisig/numpy-file-format") + (synopsis "Read and write NumPy .npy and .npz files") + (description + "The NUMPY-FILE-FORMAT library is a Common Lisp library for reading and +writing NumPy @file{.npy} and @file{.npz} files.") + (license license:expat)))) + +(define-public cl-numpy-file-format + (sbcl-package->cl-source-package sbcl-numpy-file-format)) + +(define-public ecl-numpy-file-format + (sbcl-package->ecl-package sbcl-numpy-file-format)) + +(define-public sbcl-py4cl + (let ((commit "2f2a008dd6162d4446803971292fe1b323fe0dd5") + (revision "2")) + (package (name "sbcl-py4cl") (version (git-version "0.0.0" revision commit)) (source @@ -5189,21 +5359,27 @@ port within a range.") (file-name (git-file-name name version)) (sha256 (base32 - "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r")) + "1zx1kpfpd8mi1qaa7gr32mki6nvl6pqcs3437fvn4xa3yf7ybsha")) (modules '((guix build utils))))) (build-system asdf-build-system/sbcl) (native-inputs (list sbcl-clunit)) (inputs - (list sbcl-trivial-garbage)) + (list python sbcl-trivial-garbage)) (propagated-inputs - ;; This package doesn't do anything without python available - (list python - ;; For multi-dimensional array support + (list ;; For multi-dimensional array support python-numpy)) (arguments '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-python3-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/python-process.lisp" + (("\\*python-command\\* \"python\"") + (string-append "*python-command* " + "\"" + (search-input-file inputs "/bin/python3") + "\""))))) (add-after 'unpack 'replace-*base-directory*-var (lambda* (#:key outputs #:allow-other-keys) ;; In the ASD, the author makes an attempt to @@ -5211,12 +5387,14 @@ port within a range.") ;; source-code so lisp can call into "py4cl.py". We can ;; hard-code this since we know where this file will ;; reside. - (substitute* "src/callpython.lisp" + (substitute* "src/python-process.lisp" (("py4cl/config:\\*base-directory\\*") (string-append "\"" (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/py4cl/" + "/share/common-lisp/" + (%lisp-type) + "/py4cl/" "\"")))))))) (synopsis "Call python from Common Lisp") (description @@ -5317,7 +5495,7 @@ high-level way. This library provides such operators.") (uri (git-reference (url "https://github.com/snmsts/burgled-batteries3") (commit commit))) - (file-name (git-file-name name version)) + (file-name (git-file-name "cl-burgled-batteries3" version)) (sha256 (base32 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa")) @@ -5341,21 +5519,21 @@ high-level way. This library provides such operators.") (setenv "BB_PYTHON3_DYLIB" (string-append python "/lib/libpython3.so")) #t))) - (add-after 'unpack 'adjust-for-python-3.8 + (add-after 'unpack 'adjust-for-python-3.9 (lambda _ - ;; This method is no longer part of the public API. + ;; These methods are no longer part of the public API. (substitute* "ffi-interface.lisp" - ((".*PyEval_ReInitThreads.*") - "")) - #t))))) + ((".*PyEval_ReInitThreads.*") "") + ((".*\"PyErr_Warn\".*") "") + ((".*\"PyFloat_ClearFreeList\".*") ""))))))) (native-inputs (list sbcl-cl-fad sbcl-lift sbcl-cl-quickcheck)) (inputs - `(("python" ,python) - ("sbcl-cffi" ,sbcl-cffi) - ("sbcl-alexandria" , sbcl-alexandria) - ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations) - ("sbcl-trivial-garbage" ,sbcl-trivial-garbage))) + (list python + sbcl-alexandria + sbcl-cffi + sbcl-parse-declarations + sbcl-trivial-garbage)) (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)") (description "This package provides a shim between Python3 (specifically, the @@ -6201,27 +6379,27 @@ Trivia.") ;;; Split the trivia package in two to work around the circular dependency ;;; between guicho271828/trivia and guicho271828/type-i. (define-public sbcl-trivia.trivial - (let ((commit "7286d5d2a4f685f1cac8370816f95276c0851111") - (revision "3")) + (let ((commit "8b406c3f83521d290e97bb787d3f6c1eb3b716af") + (revision "0")) (package (name "sbcl-trivia.trivial") - (version (git-version "0.0.0" revision commit)) + (version (git-version "0.1" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/guicho271828/trivia") (commit commit))) - (file-name (git-file-name "trivia" version)) + (file-name (git-file-name "cl-trivia" version)) (sha256 (base32 - "0ln0sj3jry7kzbmxhnin66kpbqan1wp8wwgdbw4k29afbdblkcca")))) + "0fnnjnba07qrsf82jm4q6dini7z72xabcssy5y2bqy082r07l8l7")))) (build-system asdf-build-system/sbcl) (inputs - `(("alexandria" ,sbcl-alexandria) - ("closer-mop" ,sbcl-closer-mop) - ("lisp-namespace" ,sbcl-lisp-namespace) - ("trivial-cltl2" ,sbcl-trivial-cltl2))) + (list sbcl-alexandria + sbcl-closer-mop + sbcl-lisp-namespace + sbcl-trivial-cltl2)) (arguments '(#:phases (modify-phases %standard-phases @@ -6232,9 +6410,9 @@ Trivia.") "trivia.ppcre.asd" "trivia.quasiquote.asd" "trivia.cffi.asd" + "trivia.fset.asd" "trivia.asd" - "trivia.test.asd")) - #t))))) + "trivia.test.asd"))))))) (synopsis "Pattern matching in Common Lisp") (description "Trivia is a pattern matching compiler that is compatible with Optima, another pattern matching library for Common Lisp. It is meant to @@ -6253,21 +6431,23 @@ be faster and more extensible than Optima.") (inherit sbcl-trivia.trivial) (name "sbcl-trivia") (native-inputs - `(("fiveam" ,sbcl-fiveam) - ("optima" ,sbcl-optima))) + (list sbcl-fiveam + sbcl-optima)) (inputs - `(("alexandria" ,sbcl-alexandria) - ("cffi" ,sbcl-cffi) - ("cl-ppcre" ,sbcl-cl-ppcre) - ("fare-quasiquote" ,sbcl-fare-quasiquote) - ("iterate" ,sbcl-iterate) - ("trivia.trivial" ,sbcl-trivia.trivial) - ("type-i" ,sbcl-type-i))) + (list sbcl-alexandria + sbcl-cffi + sbcl-cl-ppcre + sbcl-fare-quasiquote + sbcl-fset + sbcl-iterate + sbcl-trivia.trivial + sbcl-type-i)) (arguments '(#:asd-systems '("trivia" "trivia.ppcre" "trivia.quasiquote" - "trivia.cffi") + "trivia.cffi" + "trivia.fset") #:test-asd-file "trivia.test.asd" #:phases (modify-phases %standard-phases @@ -6277,8 +6457,7 @@ be faster and more extensible than Optima.") '("trivia.level0.asd" "trivia.level1.asd" "trivia.level2.asd" - "trivia.trivial.asd")) - #t))))))) + "trivia.trivial.asd"))))))))) (define-public cl-trivia (sbcl-package->cl-source-package sbcl-trivia)) @@ -7832,6 +8011,39 @@ your own classes.") (define-public ecl-plump (sbcl-package->ecl-package sbcl-plump)) +(define-public sbcl-plump-sexp + (let ((commit "bbcf75e9ecda8fe7603098ab8c15828407bb4f08") + (revision "0")) + (package + (name "sbcl-plump-sexp") + (version (git-version "0.1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/Shinmera/plump-sexp") + (commit commit))) + (file-name (git-file-name "cl-plump-sexp" version)) + (sha256 + (base32 + "0zm9h0assjb8766z2v6l1k1s60y90y6f8smrl1dczwqlvc8xyln5")))) + (build-system asdf-build-system/sbcl) + (inputs + (list sbcl-plump)) + (synopsis "Convert S-expressions into a Plump DOM and back") + (description + "The Plump-SEXP library is a backend for Plump which can convert +between S-expressions and the Plump DOM.") + (home-page "https://github.com/Shinmera/plump-sexp") + (license license:zlib)))) + +(define-public cl-plump-sexp + (sbcl-package->cl-source-package sbcl-plump-sexp)) + +(define-public ecl-plump-sexp + (sbcl-package->ecl-package sbcl-plump-sexp)) + ;;; Split the antik package in two to work around the circular dependency ;;; between antik/antik and antik/gsll. (define-public sbcl-antik-base @@ -10022,8 +10234,8 @@ database files (dbf and db3 files).") (sbcl-package->cl-source-package sbcl-db3)) (define-public sbcl-dbi - (let ((commit "7ba050dea8d137c1f85b7e704d4fc945104bf283") - (revision "1")) + (let ((commit "738a74dd69adb2a7c21fa67e140d89c7df25b227") + (revision "2")) (package (name "sbcl-dbi") (version (git-version "0.9.5" revision commit)) @@ -10035,7 +10247,7 @@ database files (dbf and db3 files).") (commit commit))) (file-name (git-file-name "cl-dbi" version)) (sha256 - (base32 "0qkpsf8w7ig6chbf4r7j1j7fwa6kpi58ij4hbcxpa4irqdan8s9f")))) + (base32 "0f8z7an8ssg8mdf9k781r4ygdppv798v6f08ibgpd8mv8a6491fg")))) (build-system asdf-build-system/sbcl) (native-inputs `(("alexandria" ,sbcl-alexandria) @@ -10815,19 +11027,20 @@ learn about each of the parameters.") (sbcl-package->ecl-package sbcl-exponential-backoff)) (define-public sbcl-sxql - (let ((commit "acdd183a4c38b4e0699a285f8a711c88f6b4302c")) + (let ((commit "cc3478cacb0557475a59cf619dad66c5dc8080ba") + (revision "3")) (package (name "sbcl-sxql") - (version (git-version "0.1.0" "2" commit)) + (version (git-version "0.1.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/fukamachi/sxql") (commit commit))) - (file-name (git-file-name "sqxl" version)) + (file-name (git-file-name "cl-sqxl" version)) (sha256 - (base32 "1i1crdsf2nbyxxpvjgrwmwpjxn6a4drbcmqs4q4shfi8zyap7vng")))) + (base32 "011an993amy8q3gl4hyqrgnc93cgny3cv9gbp679rrmyyp8zmywr")))) (build-system asdf-build-system/sbcl) (inputs (list sbcl-alexandria @@ -10836,6 +11049,7 @@ learn about each of the parameters.") sbcl-iterate sbcl-optima sbcl-split-sequence + sbcl-trivia sbcl-trivial-types)) (native-inputs (list sbcl-prove)) @@ -11976,10 +12190,11 @@ LispWorks library that are used in software such as ContextL.") (define-public sbcl-contextl ;; No release since 2013. - (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9")) + (let ((commit "f4fb3f59b0844788613fc4d1cc0d2b08df9488bb") + (revision "2")) (package (name "sbcl-contextl") - (version (git-version "1.0.0" "1" commit)) + (version (git-version "1.0.0" revision commit)) (source (origin (method git-fetch) @@ -11988,7 +12203,7 @@ LispWorks library that are used in software such as ContextL.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226")))) + (base32 "0apgznz4g6lpmd86lq7w0xddfjgnirk83ig7p0j6i93xadhy9wh0")))) (build-system asdf-build-system/sbcl) (inputs (list sbcl-closer-mop sbcl-lw-compat)) @@ -16803,10 +17018,11 @@ running into parallelism problems when having to change directory.") (sbcl-package->cl-source-package sbcl-simple-inferiors)) (define-public sbcl-legit - (let ((commit "48d50a20d8dcbd941d119683463b7c8257ba6458")) + (let ((commit "5f8a2d4c4f5fb8e53340eeef600433ee20e03fbe") + (revision "2")) (package (name "sbcl-legit") - (version (git-version "1.0.0" "1" commit)) + (version (git-version "1.0.0" revision commit)) (source (origin (method git-fetch) @@ -16815,11 +17031,23 @@ running into parallelism problems when having to change directory.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "181aqpj4zkfk1aavj5jw8rym6gw4ma3gd64z2h5fpryabgmwk236")))) + (base32 "0crr7ya7dg15di7glk3w9sgf6j8dmny347gynmxxrdvjj9pa906m")))) (build-system asdf-build-system/sbcl) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-git-executable + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "process.lisp" + (("\"git") + (string-append "\"" (search-input-file inputs + "/bin/git"))))))))) (inputs - (list sbcl-simple-inferiors sbcl-lambda-fiddle sbcl-cl-ppcre - sbcl-documentation-utils)) + (list git + sbcl-cl-ppcre + sbcl-documentation-utils + sbcl-lambda-fiddle + sbcl-simple-inferiors)) (home-page "https://shinmera.github.io/legit/") (synopsis "Interface to the git binary") (description @@ -20592,22 +20820,23 @@ access lexicographic data from WordNet.") (define-public sbcl-nfiles (package (name "sbcl-nfiles") - (version "0.2.1") + (version "0.4.1") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/atlas-engineer/nfiles") (commit version))) - (file-name (git-file-name "nfiles" version)) + (file-name (git-file-name "cl-nfiles" version)) (sha256 (base32 - "1jdrqvxp4dxlkggx951rxp29lg7hm8zxq35pqq8hr9m9ydy088s7")))) + "05brlj99grcy2iz84dvl76inp10jxnvjyh2r262d1las112rlcrb")))) (build-system asdf-build-system/sbcl) (inputs (list gnupg sbcl-alexandria sbcl-hu.dwim.defclass-star + sbcl-quri sbcl-serapeum sbcl-trivial-garbage sbcl-trivial-package-local-nicknames @@ -20836,6 +21065,113 @@ implementation for Common Lisp.") (define-public ecl-websocket-driver (sbcl-package->ecl-package sbcl-websocket-driver)) +(define-public sbcl-jzon + (let ((commit "5364590f5d2e6d6f1932d1ea3acba1ee2a82f31e") + (revision "0")) + (package + (name "sbcl-jzon") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Zulu-Inuoe/jzon") + (commit commit))) + (file-name (git-file-name "cl-jzon" version)) + (sha256 + (base32 "1048f6prz2lp859nxwcgghn6n38pc2pb580azzxpdhfcdi0034mj")))) + (build-system asdf-build-system/sbcl) + (arguments + '(#:asd-files '("src/com.inuoe.jzon.asd" "test/com.inuoe.jzon-tests.asd") + #:asd-systems '("com.inuoe.jzon" "com.inuoe.jzon-tests"))) + (native-inputs + (list sbcl-alexandria + sbcl-fiveam + sbcl-flexi-streams)) + (inputs + (list sbcl-closer-mop + sbcl-flexi-streams)) + (home-page "https://github.com/Zulu-Inuoe/jzon/") + (synopsis "Correct and safe JSON parser") + (description + "@code{jzon} is a correct and safe JSON RFC 8259 parser for Common +Lisp.") + (license license:expat)))) + +(define-public cl-jzon + (sbcl-package->cl-source-package sbcl-jzon)) + +(define-public ecl-jzon + (sbcl-package->ecl-package sbcl-jzon)) + +(define-public sbcl-simple-routes + (let ((commit "6f88c38945a4de73e85786d3499c39cacb400598") + (revision "1")) + (package + (name "sbcl-simple-routes") + (version (git-version "0.3" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/vancan1ty/simple-routes") + (commit commit))) + (file-name (git-file-name "cl-simple-routes" version)) + (sha256 + (base32 "0zkjl69zf1ynmqmvwccdbip3wxfyi7xplivv70qwxzd27mc0kh3k")))) + (build-system asdf-build-system/sbcl) + (inputs + (list sbcl-cl-ppcre + sbcl-hunchentoot)) + (home-page "https://gitlab.com/vancan1ty/simple-routes") + (synopsis "URL routing library for Hunchentoot") + (description + "@code{simple-routes} is a simple Common Lisp RESTful routing facility +on top of Hunchentoot.") + (license license:bsd-2)))) + +(define-public cl-simple-routes + (sbcl-package->cl-source-package sbcl-simple-routes)) + +(define-public ecl-simple-routes + (sbcl-package->ecl-package sbcl-simple-routes)) + +(define-public sbcl-cl-ipfs-api2 + (let ((commit "3ee52c80023bcc662f7d01276ea0a5814bd0011b") + (revision "0")) + (package + (name "sbcl-cl-ipfs-api2") + (version (git-version "0.51" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JadedCtrl/cl-ipfs-api2") + (commit commit))) + (file-name (git-file-name "cl-ipfs-api2" version)) + (sha256 + (base32 "1h0csxk4db1hid793mk5kz3nbjyl7z4ic1zk2wy46k1vz5lnnsph")))) + (build-system asdf-build-system/sbcl) + (arguments + '(#:tests? #f)) ; There are no tests. + (inputs + (list sbcl-arnesi + sbcl-drakma + sbcl-yason)) + (home-page "https://github.com/JadedCtrl/cl-ipfs-api2/") + (synopsis "Bindings for the IPFS HTTP API") + (description + "@code{cl-sbcl-cl-ipfs-api2} is a pretty simple set of IPFS bindings +for Common Lisp, using the HTTP API for (almost) everything, except for pubsub +(which uses the locally installed go-ipfs program).") + (license license:lgpl3)))) + +(define-public cl-ipfs-api2 + (sbcl-package->cl-source-package sbcl-cl-ipfs-api2)) + +(define-public ecl-cl-ipfs-api2 + (sbcl-package->ecl-package sbcl-cl-ipfs-api2)) + (define-public sbcl-purgatory (let ((commit "ade0d60a14a1067b9cc8cf06d1f1a1ca8cecdb03") (revision "1")) @@ -20869,3 +21205,198 @@ the 9p network filesystem protocol.") (define-public cl-purgatory (sbcl-package->cl-source-package sbcl-purgatory)) + +(define-public sbcl-just-getopt-parser + (package + (name "sbcl-just-getopt-parser") + (version "2021.11") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tlikonen/cl-just-getopt-parser") + (commit version))) + (sha256 + (base32 "0ngh8b51ngh3bqacl40j6wwiinhwxswsy02d9k7qlzv9sbjxay4s")) + (file-name (git-file-name "cl-just-getopt-parser" version)))) + (build-system asdf-build-system/sbcl) + (synopsis "Getopt-like command-line parser for Common Lisp") + (description + "This package provides the @code{getopt} function to parse command-line +options. The options are organized in valid options, other arguments and +unknown arguments. Optional Lisp conditions for error situations are also +defined.") + (home-page "https://github.com/tlikonen/cl-just-getopt-parser") + (license license:cc0))) + +(define-public ecl-just-getopt-parser + (sbcl-package->ecl-package sbcl-just-getopt-parser)) + +(define-public cl-just-getopt-parser + (sbcl-package->cl-source-package sbcl-just-getopt-parser)) + +(define-public sbcl-formgrep + (let ((commit "91238cdbdd0ad815ff5d574d032b4a502febd190") + (revision "0")) + (package + (name "sbcl-formgrep") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/death/formgrep") + (commit commit))) + (file-name (git-file-name "cl-formgrep" version)) + (sha256 + (base32 "1rqzkmz6nddg5ywvs3v0k8cvxdwas38mfwgbr3rs4fdsbps90k9r")))) + (build-system asdf-build-system/sbcl) + (inputs + (list sbcl-alexandria + sbcl-babel + sbcl-cl-fad + sbcl-cl-ppcre + sbcl-eclector)) + (home-page "https://github.com/death/formgrep") + (synopsis "Find top-level Lisp forms matching an operator pattern") + (description + "This library provides the @code{FORMGREP} function and related +utilities which find top-level Lisp forms matching the regular expression +corresponding to an operator name, returning the matched forms and the names +of the files and the line numbers where they were found.") + (license license:expat)))) + +(define-public cl-formgrep + (sbcl-package->cl-source-package sbcl-formgrep)) + +(define-public ecl-formgrep + (sbcl-package->ecl-package sbcl-formgrep)) + +(define-public sbcl-lmdb + (let ((commit "f439b707939a52769dc9747838ff4a616fab14a3") + (revision "0")) + (package + (name "sbcl-lmdb") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/antimer/lmdb") + (commit commit))) + (file-name (git-file-name "cl-lmdb" version)) + (sha256 + (base32 "0akvimmvd4kcx6gh1j1dzvcclhc0jc4hc9vkh3ldgzb8wyf4vl8q")))) + (build-system asdf-build-system/sbcl) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/lmdb.lisp" + (("\"liblmdb.so\"") + (string-append + "\"" (search-input-file inputs "/lib/liblmdb.so") "\"")))))))) + (inputs + (list lmdb + sbcl-alexandria + sbcl-bordeaux-threads + sbcl-cl-reexport + sbcl-mgl-pax + sbcl-osicat + sbcl-trivial-features + sbcl-trivial-garbage + sbcl-trivial-utf-8)) + (native-inputs + (list sbcl-try)) + (home-page "https://github.com/antimer/lmdb") + (synopsis "LMDB bindings for Common Lisp") + (description + "LMDB, the Lightning Memory-mapped Database, is an ACID key-value +database with multiversion concurrency control. This package is a Common Lisp +wrapper around the C LMDB library. It covers most of C LMDB's functionality, +has a simplified API, much needed safety checks, and comprehensive +documentation.") + (license license:expat)))) + +(define-public cl-lmdb + (sbcl-package->cl-source-package sbcl-lmdb)) + +(define-public sbcl-listopia + (package + (name "sbcl-listopia") + (version "0.12.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Dimercel/listopia") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "07xa2s2s60h9f40az3zdacybl5pk1x8bhvga9phsra0czbv44lx2")))) + (build-system asdf-build-system/sbcl) + (native-inputs + (list sbcl-prove)) + (home-page "https://github.com/Dimercel/listopia") + (synopsis "List manipulation library for Common Lisp") + (description "This package is a list manipulation library for Common Lisp +inspired by Haskell package @code{Data.List}.") + (license license:llgpl))) + +(define-public cl-listopia + (sbcl-package->cl-source-package sbcl-listopia)) + +(define-public ecl-listopia + (sbcl-package->ecl-package sbcl-listopia)) + +(define-public sbcl-clog + (package + (name "sbcl-clog") + (version "1.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rabbibotton/clog") + (commit (string-append "v" version)))) + (file-name (git-file-name "cl-clog" version)) + (sha256 + (base32 "0f4i6571nm0j704zgnh60sc9slifs11byb2gs8gamqjcfh931dap")))) + (build-system asdf-build-system/sbcl) + (inputs + (list sbcl-3bmd + sbcl-alexandria + sbcl-bordeaux-threads + sbcl-cl-ppcre + sbcl-cl-sqlite + sbcl-cl-template + sbcl-clack + sbcl-closer-mop + sbcl-colorize + sbcl-dbi + sbcl-hunchentoot + sbcl-lack + sbcl-mgl-pax + sbcl-parse-float + sbcl-quri + sbcl-trivial-open-browser + sbcl-websocket-driver)) + (arguments + '(#:asd-systems '("clog" "clog/docs" "clog/tools"))) + (home-page "https://github.com/rabbibotton/clog") + (synopsis "Common Lisp Omnificent GUI") + (description + "This package provides a Common Lisp web framework for building GUI +applications. CLOG can take the place, or work along side, most cross platform +GUI frameworks and website frameworks. The CLOG package starts up the +connectivity to the browser or other websocket client (often a browser embedded +in a native template application).") + (license license:bsd-3))) + +(define-public cl-clog + (sbcl-package->cl-source-package sbcl-clog)) + +(define-public ecl-clog + (sbcl-package->ecl-package sbcl-clog)) |