summaryrefslogtreecommitdiff
path: root/gnu/packages/lisp-xyz.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/lisp-xyz.scm')
-rw-r--r--gnu/packages/lisp-xyz.scm3622
1 files changed, 3302 insertions, 320 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index f340360dba..5faa69a037 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -22,10 +22,11 @@
;;; Copyright © 2020, 2021 Adam Kandur <[email protected]>
;;; Copyright © 2020, 2021 Sharlatan Hellseher <[email protected]>
;;; Copyright © 2021 Aurora <[email protected]>
-;;; Copyright © 2021 Matthew Kraai <[email protected]>
+;;; Copyright © 2021 Matthew James Kraai <[email protected]>
;;; Copyright © 2021 André A. Gomes <[email protected]>
;;; Copyright © 2021 Cage <[email protected]>
;;; Copyright © 2021 Cameron Chaparro <[email protected]>
+;;; Copyright © 2021 Charles Jackson <[email protected]>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -56,6 +57,7 @@
#:use-module (guix hg-download)
#:use-module (guix utils)
#:use-module (guix build-system asdf)
+ #:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (gnu packages base)
#:use-module (gnu packages c)
@@ -67,7 +69,9 @@
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libffi)
@@ -80,6 +84,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages sdl)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tls)
@@ -87,6 +92,8 @@
#:use-module (gnu packages web)
#:use-module (gnu packages webkit)
#:use-module (gnu packages xdisorg)
+ #:use-module (gnu packages xml)
+ #:use-module (gnu packages xorg)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-19))
@@ -94,7 +101,7 @@
(define-public sbcl-alexandria
(package
(name "sbcl-alexandria")
- (version "1.2")
+ (version "1.4")
(source
(origin
(method git-fetch)
@@ -103,7 +110,7 @@
(commit (string-append "v" version))))
(sha256
(base32
- "0bcqs0z9xlqgjz43qzgq9i07vdlnjllpm1wwa37wpkg0w975r712"))
+ "0r1adhvf98h0104vq14q7y99h0hsa8wqwqw92h7ghrjxmsvz2z6l"))
(file-name (git-file-name name version))))
(build-system asdf-build-system/sbcl)
(native-inputs
@@ -192,8 +199,8 @@ implementation with no external dependencies.")
(sbcl-package->ecl-package sbcl-bodge-queue))
(define-public sbcl-golden-utils
- (let ((commit "62a5cb948a011eb26e7a89f56d5839a3334b4100")
- (revision "2"))
+ (let ((commit "fe1898f9abbd302b0359f017637c063173cf73e1")
+ (revision "3"))
(package
(name "sbcl-golden-utils")
(version (git-version "0.0.0" revision commit))
@@ -205,7 +212,7 @@ implementation with no external dependencies.")
(commit commit)))
(file-name (git-file-name "golden-utils" version))
(sha256
- (base32 "13mvxqwd1nmpq8h5hb1s60wyqdj7ji4haxrqr0sy3csyqa8aq2j8"))))
+ (base32 "1ljc8yj32lmd1d60446rzl9m0r1ar15gdzacsf6blw1kny8xlrsr"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("alexandria" ,sbcl-alexandria)))
@@ -326,7 +333,7 @@ or cl-launch for portable processing of command-line arguments.")
(define-public sbcl-fiveam
(package
(name "sbcl-fiveam")
- (version "1.4.1")
+ (version "1.4.2")
(source
(origin
(method git-fetch)
@@ -335,7 +342,7 @@ or cl-launch for portable processing of command-line arguments.")
(commit (string-append "v" version))))
(file-name (git-file-name "fiveam" version))
(sha256
- (base32 "1q3d38pwafnwnw42clq0f8g5xw7pbzr287jl9jsqmb1vb0n1vrli"))))
+ (base32 "04mh5plmlb15jbq3dkd8b9jl1dmbbg4hnd3k7859vpf6s12k5p4j"))))
(inputs
`(("alexandria" ,sbcl-alexandria)
("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
@@ -541,7 +548,7 @@ logical continuation of Stefil. It focuses on interactive debugging.")
(define-public sbcl-flexi-streams
(package
(name "sbcl-flexi-streams")
- (version "1.0.18")
+ (version "1.0.19")
(source
(origin
(method git-fetch)
@@ -550,7 +557,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 "0bjv7fd2acknidc5dyi3h85pn10krxv5jyxs1xg8jya2rlfv7f1j"))))
+ (base32 "0v7lh4nrldzczd4mwylvmxfdxk7wfsli24iv1axd6mkb833llr70"))))
(build-system asdf-build-system/sbcl)
(arguments
`(#:phases
@@ -967,22 +974,20 @@ a sequence (or chain) of such elements.")
(sbcl-package->cl-source-package sbcl-flexichain))
(define-public sbcl-cl-pdf
- ;; There are no releases
- (let ((commit "752e337e6d6fc206f09d091a982e7f8e5c404e4e")
+ (let ((commit "dbafd62afcb2d2e9164054c72612763721297d59")
(revision "1"))
(package
(name "sbcl-cl-pdf")
- (version (git-version "0" revision commit))
+ (version (git-version "2.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mbattyani/cl-pdf")
(commit commit)))
- (file-name (git-file-name name version))
+ (file-name (git-file-name "cl-pdf" version))
(sha256
- (base32
- "1cg3k3m3r11ipb8j008y8ipynj97l3xjlpi2knqc9ndmx4r3kb1r"))))
+ (base32 "0w6igiav35a65h6r4p1g6dw2i7mw0s06mviw31768r6z62l1ny1v"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("iterate" ,sbcl-iterate)
@@ -1359,29 +1364,31 @@ utilities that make it even easier to manipulate text in Common Lisp. It has
(sbcl-package->ecl-package sbcl-cl-strings))
(define-public sbcl-trivial-features
- ;; No release since 2014.
- (let ((commit "870d03de0ed44067963350936856e17ee725153e"))
- (package
- (name "sbcl-trivial-features")
- (version (git-version "0.8" "1" commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/trivial-features/trivial-features")
- (commit commit)))
- (file-name (git-file-name "trivial-features" version))
- (sha256
- (base32 "14pcahr8r2j3idhyy216zyw8jnj1dnrx0qbkkbdqkvwzign1ah4j"))))
- (build-system asdf-build-system/sbcl)
- (arguments
- '(#:asd-files '("trivial-features.asd")
- #:tests? #f))
- (home-page "https://cliki.net/trivial-features")
- (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
- (description "Trivial-features ensures that @code{*FEATURES*} is
+ (package
+ (name "sbcl-trivial-features")
+ (version "1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/trivial-features/trivial-features")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "trivial-features" version))
+ (sha256
+ (base32 "0jsqah1znzqilxnw5vannb083ayk0d7phkackqzwwqkyg5hpn6pq"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ '(#:asd-files '("trivial-features.asd")
+ ;; FIXME: Tests disabled because of a circular dependency between
+ ;; trivial-features and cffi.
+ #:tests? #f))
+ ;; (native-inputs
+ ;; `(("cffi" ,sbcl-cffi)))
+ (home-page "https://cliki.net/trivial-features")
+ (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
+ (description "Trivial-features ensures that @code{*FEATURES*} is
consistent across multiple Common Lisp implementations.")
- (license license:expat))))
+ (license license:expat)))
(define-public cl-trivial-features
(sbcl-package->cl-source-package sbcl-trivial-features))
@@ -1806,8 +1813,8 @@ that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
(sbcl-package->ecl-package sbcl-eos))
(define-public sbcl-esrap
- (let ((commit "da6b24fb18bdb8e7e177bcf2820cdaf0b560deb6")
- (revision "1"))
+ (let ((commit "866f28fa7a2c1d3fb6d0d0423850d1f9d955750f")
+ (revision "2"))
(package
(name "sbcl-esrap")
(version (git-version "0.18" revision commit))
@@ -1818,13 +1825,15 @@ that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
(url "https://github.com/scymtym/esrap")
(commit commit)))
(sha256
- (base32 "12vf3bxwzf8icnf6rw1xalvm7493cfbb46r2vlhc09s59djkf39q"))
+ (base32 "19rb3dmpw3csqqagmrf80dpk5d2qn0l7fpfmxx5zwdnjk367kbwg"))
(file-name (git-file-name "esrap" version))))
(build-system asdf-build-system/sbcl)
(native-inputs
`(("fiveam" ,sbcl-fiveam)))
(inputs
- `(("alexandria" ,sbcl-alexandria)))
+ `(("alexandria" ,sbcl-alexandria)
+ ("trivial-with-current-source-form"
+ ,sbcl-trivial-with-current-source-form)))
(synopsis "Common Lisp packrat parser")
(description
"This is a packrat parser for Common Lisp.
@@ -1957,7 +1966,6 @@ C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
(file-name (git-file-name "3bmd" version))))
(build-system asdf-build-system/sbcl)
(arguments
- ;; FIXME: #41437 - Build fails when package name starts from a digit
`(#:asd-systems
'("3bmd"
"3bmd-ext-definition-lists"
@@ -2079,8 +2087,8 @@ than the body of the lambda.")
(define-public sbcl-nibbles
;; No tagged release since 2018.
- (let ((commit "8e6b9b42d9f69000f55e5c45ad974d9e376ffdbd")
- (revision "1"))
+ (let ((commit "dad25240928d5cf8f7df69c4398244e03570bb35")
+ (revision "2"))
(package
(name "sbcl-nibbles")
(version (git-version "0.14" revision commit))
@@ -2091,7 +2099,7 @@ than the body of the lambda.")
(url "https://github.com/sharplispers/nibbles/")
(commit commit)))
(sha256
- (base32 "15qlsm82h36pjgvfnbzdg60l21qxbaii4d049jc5y0dn56y93amb"))
+ (base32 "0r6ljlpgjmkf87pmvdwzva8qj15bhznc3ylgcjjqyy4frbx9lygz"))
(file-name (git-file-name "nibbles" version))))
(build-system asdf-build-system/sbcl)
(native-inputs
@@ -2126,7 +2134,7 @@ also be supported.")
(define-public sbcl-ironclad
(package
(name "sbcl-ironclad")
- (version "0.55")
+ (version "0.56")
(source
(origin
(method git-fetch)
@@ -2134,7 +2142,7 @@ also be supported.")
(url "https://github.com/sharplispers/ironclad/")
(commit (string-append "v" version))))
(sha256
- (base32 "1w4slnc4143w1gcff1wxsivzb8kcji0bpd7y9rld3sabay0qprwl"))
+ (base32 "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni"))
(file-name (git-file-name name version))))
(build-system asdf-build-system/sbcl)
(native-inputs
@@ -3038,7 +3046,7 @@ is statically typed so there are differences.")
(define-public sbcl-cffi
(package
(name "sbcl-cffi")
- (version "0.23.0")
+ (version "0.24.1")
(source
(origin
(method git-fetch)
@@ -3047,7 +3055,7 @@ is statically typed so there are differences.")
(commit (string-append "v" version))))
(file-name (git-file-name "cffi-bootstrap" version))
(sha256
- (base32 "03s98imc5niwnpj3hhrafl7dmxq45g74h96sm68976k7ahi3vl5b"))))
+ (base32 "17ryim4xilb1rzxydfr7595dnhqkk02lmrbkqrkvi9091shi4cj3"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("alexandria" ,sbcl-alexandria)
@@ -3449,43 +3457,57 @@ is a library for creating graphical user interfaces.")
(sbcl-package->ecl-package sbcl-cl-cffi-gtk))
(define-public sbcl-cl-webkit
- (let ((commit "db855639d4a13f6ba296959cf11635b6b67421bf"))
- (package
- (name "sbcl-cl-webkit")
- (version (git-version "2.4" "13" commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/joachifm/cl-webkit")
- (commit commit)))
- (file-name (git-file-name "cl-webkit" version))
- (sha256
- (base32
- "01alj5bfsh2983pwpdy0zpa2rvl4kl0mqzs08ff46is3cb8fqs0g"))))
- (build-system asdf-build-system/sbcl)
- (inputs
- `(("cffi" ,sbcl-cffi)
- ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
- ("webkitgtk" ,webkitgtk)))
- (arguments
- `(#:asd-systems '("cl-webkit2")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "webkit2/webkit2.init.lisp"
- (("libwebkit2gtk" all)
- (string-append
- (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
- (home-page "https://github.com/joachifm/cl-webkit")
- (synopsis "Binding to WebKitGTK+ for Common Lisp")
- (description
- "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
+ (package
+ (name "sbcl-cl-webkit")
+ (version "3.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/joachifm/cl-webkit")
+ (commit version)))
+ (file-name (git-file-name "cl-webkit" version))
+ (sha256
+ (base32
+ "015xry1cvbgspfzz35ifz2qscz946ljhj2z8rzjscy9v8fgnjsdk"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("cffi" ,sbcl-cffi)
+ ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
+ ("webkitgtk" ,webkitgtk)))
+ (native-inputs
+ `(;; Tests seem to need Xorg.
+ ;; ("xorg-server" ,xorg-server-for-tests)
+ ("calispel" ,sbcl-calispel)
+ ("fiveam" ,sbcl-fiveam)
+ ("float-features" ,sbcl-float-features)))
+ (arguments
+ `(#:asd-systems '("cl-webkit2")
+ #:tests? #f ; TODO: Tests hang, why?
+ #:phases
+ (modify-phases %standard-phases
+ ;; The following phase is needed for tests:
+ ;; (add-before 'check 'start-xorg-server
+ ;; (lambda* (#:key inputs #:allow-other-keys)
+ ;; ;; The test suite requires a running X server.
+ ;; (system (string-append (assoc-ref inputs "xorg-server")
+ ;; "/bin/Xvfb :1 &"))
+ ;; (setenv "DISPLAY" ":1")
+ ;; #t))
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "webkit2/webkit2.init.lisp"
+ (("libwebkit2gtk" all)
+ (string-append
+ (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
+ (home-page "https://github.com/joachifm/cl-webkit")
+ (synopsis "Binding to WebKitGTK+ for Common Lisp")
+ (description
+ "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
currently targeting WebKit version 2. The WebKitGTK+ library adds web
browsing capabilities to an application, leveraging the full power of the
WebKit browsing engine.")
- (license license:expat))))
+ (license license:expat)))
(define-public cl-webkit
(sbcl-package->cl-source-package sbcl-cl-webkit))
@@ -3589,6 +3611,48 @@ Lisp, featuring:
(define-public ecl-cl-markup
(sbcl-package->ecl-package sbcl-cl-markup))
+;;; The following package is renamed from "markup" to "markup-reader" in order
+;;; not to conflict with the "cl-markup" package.
+(define-public sbcl-markup-reader
+ (let ((commit "d2d4d7b073554f47c24223a9304452966608702e")
+ (revision "1"))
+ (package
+ (name "sbcl-markup-reader")
+ (version (git-version "0.0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/moderninterpreters/markup")
+ (commit commit)))
+ (file-name (git-file-name "markup-reader" version))
+ (sha256
+ (base32 "0i3v938j8zpzkd6p9j8gadp5zndjcdxhswj1qgsp592v6497rpzj"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ '(#:asd-systems '("markup")))
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("cl-str" ,sbcl-cl-str)
+ ("named-readtables" ,sbcl-named-readtables)
+ ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
+ (home-page "https://github.com/moderninterpreters/markup")
+ (synopsis "Reader-macro to read HTML tags inside of Common Lisp code")
+ (description
+ "Markup allows the use of HTML syntax with in Common Lisp code.
+This has the advantage of being able to copy HTML snippets and have them
+instantly be functional, less double quotes than a s-expression approach,
+and designers will be able to understand the embedded HTML.")
+ (license license:asl2.0))))
+
+(define-public ecl-markup-reader
+ (sbcl-package->ecl-package sbcl-markup-reader))
+
+(define-public cl-markup-reader
+ (sbcl-package->cl-source-package sbcl-markup-reader))
+
(define-public sbcl-cl-mustache
(package
(name "sbcl-cl-mustache")
@@ -3859,11 +3923,11 @@ client and server.")
(sbcl-package->ecl-package sbcl-trivial-clipboard))
(define-public sbcl-trivial-backtrace
- (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
+ (let ((commit "6eb65bde7229413040c81d42ea22f0e4c9c8cfc9")
(revision "1"))
(package
(name "sbcl-trivial-backtrace")
- (version (git-version "0.0.0" revision commit))
+ (version (git-version "1.1.0" revision commit))
(source
(origin
(method git-fetch)
@@ -3872,9 +3936,9 @@ client and server.")
(commit commit)))
(file-name (git-file-name "trivial-backtrace" version))
(sha256
- (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
+ (base32 "1mbaqiwj5034iw6jzw30jyhwzp1pvhnz1zcy0lns0z5j2h9ldapw"))))
(build-system asdf-build-system/sbcl)
- (inputs
+ (native-inputs
`(("sbcl-lift" ,sbcl-lift)))
(arguments
`(#:phases
@@ -4437,7 +4501,7 @@ addition, removal, and random selection.")
(define-public sbcl-quri
(package
(name "sbcl-quri")
- (version "0.3.0")
+ (version "0.4.0")
(source
(origin
(method git-fetch)
@@ -4446,7 +4510,7 @@ addition, removal, and random selection.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1pkvpiwwhx2fcknr7x47h7036ypkg8xzsskqbl5z315ipfmi8s2m"))))
+ (base32 "0ka5haq3g72hvaz4hdv7y1d6df9ncmx029wwixn4r413gll5yxy7"))))
(build-system asdf-build-system/sbcl)
(arguments
;; Test system must be loaded before, otherwise tests fail with:
@@ -4628,7 +4692,7 @@ Lisp.")
(define-public sbcl-static-vectors
(package
(name "sbcl-static-vectors")
- (version "1.8.6")
+ (version "1.8.9")
(source
(origin
(method git-fetch)
@@ -4637,7 +4701,7 @@ Lisp.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "01hwxzhyjkhsd3949g70120g7msw01byf0ia0pbj319q1a3cq7j9"))))
+ (base32 "079qa20lhanzsz1qf4iags91n0ziylbjgbcymm5a5qj7yryas4fw"))))
(native-inputs
`(("sbcl-fiveam" ,sbcl-fiveam)))
(inputs
@@ -5476,6 +5540,39 @@ the CFFI approach used by burgled-batteries, but has the same goal.")
(define-public ecl-py4cl
(sbcl-package->ecl-package sbcl-py4cl))
+(define-public sbcl-schemeish
+ (let ((commit "dff57bafae5d0cffa104c8fdc4146502f32d7f85")
+ (revision "1"))
+ (package
+ (name "sbcl-schemeish")
+ (version (git-version "0.0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/chebert/schemeish")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0q9b07spmhg1b576cnnacvkf7zr3mab2rdydfylbn92y9mms9vyj"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("trivial-arguments" ,sbcl-trivial-arguments)))
+ (synopsis "Scheme style syntax/macros/functions for Common Lisp")
+ (description
+ "Schemeish implements several useful Scheme constructs for Common Lisp.
+These include named-let, define, scheme argument lists, and a shortcut to
+FUNCALL with [] instead of ().")
+ (home-page "https://github.com/chebert/schemeish")
+ ;; MIT License
+ (license license:expat))))
+
+(define-public cl-schemeish
+ (sbcl-package->cl-source-package sbcl-schemeish))
+
+(define-public ecl-schemeish
+ (sbcl-package->ecl-package sbcl-schemeish))
+
(define-public sbcl-parse-declarations
(let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
(revision "1"))
@@ -5560,7 +5657,9 @@ high-level way. This library provides such operators.")
(file-name (git-file-name name version))
(sha256
(base32
- "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
+ "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))
+ (patches
+ (search-patches "sbcl-burgled-batteries3-fix-signals.patch"))))
(build-system asdf-build-system/sbcl)
(arguments
`(#:tests? #f
@@ -5682,6 +5781,79 @@ basic everyday functions and macros.")
(define-public ecl-fare-utils
(sbcl-package->ecl-package sbcl-fare-utils))
+(define-public sbcl-fare-mop
+ (let ((commit "538aa94590a0354f382eddd9238934763434af30")
+ (revision "1"))
+ (package
+ (name "sbcl-fare-mop")
+ (version (git-version "1.0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fare/fare-mop")
+ (commit commit)))
+ (file-name (git-file-name "fare-mop" version))
+ (sha256
+ (base32
+ "0maxs8392953fhnaa6zwnm2mdbhxjxipp4g4rvypm06ixr6pyv1c"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("close-mop" ,sbcl-closer-mop)
+ ("fare-utils" ,sbcl-fare-utils)))
+ (home-page "https://github.com/fare/fare-mop")
+ (synopsis "General purpose Common Lisp utilities using the MOP")
+ (description
+ "FARE-MOP is a small collection of utilities using the MetaObject
+Protocol. It notably contains a SIMPLE-PRINT-OBJECT method, and
+a SIMPLE-PRINT-OBJECT-MIXIN mixin that allow you to trivially define
+PRINT-OBJECT methods that print the interesting slots in your objects, which is
+great for REPL interaction and debugging.")
+ (license license:unlicense))))
+
+(define-public ecl-fare-mop
+ (sbcl-package->ecl-package sbcl-fare-mop))
+
+(define-public cl-fare-mop
+ (sbcl-package->cl-source-package sbcl-fare-mop))
+
+(define-public sbcl-inferior-shell
+ (let ((commit "15c2d04a7398db965ea1c3ba2d49efa7c851f2c2")
+ (revision "1"))
+ (package
+ (name "sbcl-inferior-shell")
+ (version (git-version "2.0.5" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fare/inferior-shell")
+ (commit commit)))
+ (file-name (git-file-name "inferior-shell" version))
+ (sha256
+ (base32 "02qx37zzk5j4xmwh77k2qa2wvnzvaj6qml5dh2q7b6b1ljvgcj4m"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
+ (inputs
+ `(("alexandira" ,sbcl-alexandria)
+ ("fare-mop" ,sbcl-fare-mop)
+ ("fare-quasiquote" ,sbcl-fare-quasiquote)
+ ("fare-utils" ,sbcl-fare-utils)
+ ("trivia" ,sbcl-trivia)))
+ (home-page "https://github.com/fare/inferior-shell")
+ (synopsis "Spawn local or remote processes and shell pipes")
+ (description
+ "This package provides a Common Lisp system helping in scripting, it
+uses @code{uiop:run-program} as a backend.")
+ (license license:expat))))
+
+(define-public ecl-inferior-shell
+ (sbcl-package->ecl-package sbcl-inferior-shell))
+
+(define-public cl-inferior-shell
+ (sbcl-package->cl-source-package sbcl-inferior-shell))
+
(define-public sbcl-trivial-utf-8
(let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
(revision "1"))
@@ -5783,57 +5955,56 @@ formats.")
(sbcl-package->ecl-package sbcl-swap-bytes))
(define-public sbcl-iolib
- ;; Latest release is from June 2017.
- (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
- (revision "2"))
- (package
- (name "sbcl-iolib")
- (version (git-version "0.8.3" revision commit))
- (home-page "https://github.com/sionescu/iolib")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url home-page)
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
- (build-system asdf-build-system/sbcl)
- (inputs
- `(("alexandria" ,sbcl-alexandria)
- ("bordeaux-threads" ,sbcl-bordeaux-threads)
- ("cffi" ,sbcl-cffi)
- ("idna" ,sbcl-idna)
- ("libfixposix" ,libfixposix)
- ("split-sequence" ,sbcl-split-sequence)
- ("swap-bytes" ,sbcl-swap-bytes)))
- (arguments
- '(#:asd-files '("iolib.asdf.asd"
- "iolib.conf.asd"
- "iolib.common-lisp.asd"
- "iolib.base.asd"
- "iolib.asd")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "src/syscalls/ffi-functions-unix.lisp"
- (("\\(:default \"libfixposix\"\\)")
- (string-append
- "(:default \""
- (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
- ;; Socket tests need Internet access, disable them.
- (substitute* "iolib.asd"
- (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
- "")))))))
- (synopsis "Common Lisp I/O library")
- (description "IOlib is to be a better and more modern I/O library than
+ (package
+ (name "sbcl-iolib")
+ (version "0.8.4")
+ (home-page "https://github.com/sionescu/iolib")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("bordeaux-threads" ,sbcl-bordeaux-threads)
+ ("cffi" ,sbcl-cffi)
+ ("idna" ,sbcl-idna)
+ ("libfixposix" ,libfixposix)
+ ("split-sequence" ,sbcl-split-sequence)
+ ("swap-bytes" ,sbcl-swap-bytes)))
+ (arguments
+ '(#:asd-files '("iolib.asdf.asd"
+ "iolib.conf.asd"
+ "iolib.common-lisp.asd"
+ "iolib.base.asd"
+ "iolib.asd")
+ #:asd-systems '("iolib"
+ "iolib/os")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/syscalls/ffi-functions-unix.lisp"
+ (("\\(:default \"libfixposix\"\\)")
+ (string-append
+ "(:default \""
+ (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
+ ;; Socket tests need Internet access, disable them.
+ (substitute* "iolib.asd"
+ (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
+ "")))))))
+ (synopsis "Common Lisp I/O library")
+ (description "IOlib is to be a better and more modern I/O library than
the standard Common Lisp library. It contains a socket library, a DNS
resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
and @code{kqueue(2)}), a pathname library and file-system utilities.")
- (license license:expat))))
+ (license license:expat)))
(define-public cl-iolib
(let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
@@ -6638,8 +6809,8 @@ extension-points via the concept of hooks.")
(sbcl-package->ecl-package sbcl-cl-hooks))
(define-public sbcl-cl-autowrap
- (let ((revision "1")
- (commit "ae846d6968fc0d000de0c541638929a157f3009e"))
+ (let ((revision "2")
+ (commit "a5d71ebd7c21b87f449db1e16ab815750d7c0ea4"))
;; no taged branches
(package
(name "sbcl-cl-autowrap")
@@ -6650,10 +6821,12 @@ extension-points via the concept of hooks.")
(uri (git-reference
(url "https://github.com/rpav/cl-autowrap")
(commit commit)))
- (file-name (git-file-name name version))
+ (file-name (git-file-name "cl-autowrap" version))
(sha256
- (base32 "1gisldp2zns92kdcaikghm7c38ldy2d884n8bfg0wcjvbz78p3ar"))))
+ (base32 "0795c817m1c41cz3ywzzg83z4pgkxdg6si553pay9mdgjvmrwmaw"))))
(build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:asd-systems '("cl-plus-c" "cl-autowrap")))
(inputs
`(("alexandria" ,sbcl-alexandria)
("cffi" ,sbcl-cffi)
@@ -7505,8 +7678,8 @@ implementation specific equivalent.")
(sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
(define-public sbcl-serapeum
- (let ((commit "263f415a350736b44e3878524ff3997e656fca32")
- (revision "4"))
+ (let ((commit "c29a52ff0c5f6e60b09919c3a0daa8df7599ddb9")
+ (revision "6"))
(package
(name "sbcl-serapeum")
(version (git-version "0.0.0" revision commit))
@@ -7519,8 +7692,7 @@ implementation specific equivalent.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32
- "1669yidvxq41s3g6hb2jk21bcb5s2bnfsacpyd5b0hdxbmc7knq3"))))
+ (base32 "0vij9jhji09way1rpd0r5sgjnh5amm3f2ymppnqkw0c6nnk2p0kd"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("alexandria" ,sbcl-alexandria)
@@ -8016,8 +8188,8 @@ functions for arrays and vectors. Originally from Plump.")
(sbcl-package->ecl-package sbcl-array-utils))
(define-public sbcl-plump
- (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
- (revision "1"))
+ (let ((commit "3584275f0be9d06c0c51b5c08f89005deafc4ada")
+ (revision "2"))
(package
(name "sbcl-plump")
(version (git-version "2.0.0" revision commit))
@@ -8031,7 +8203,7 @@ functions for arrays and vectors. Originally from Plump.")
(file-name (git-file-name name version))
(sha256
(base32
- "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
+ "1w4wz7f6dc2ckdq9wq9r5014bg2nxjifj9yz1zzn41r8h1h5xfcd"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("array-utils" ,sbcl-array-utils)
@@ -9224,6 +9396,79 @@ for reading and writing JPEG image files.")
(define-public ecl-cl-jpeg
(sbcl-package->ecl-package sbcl-cl-jpeg))
+(define-public sbcl-png
+ (let ((commit "11b965fe378fd0561abe3616b18ff03af5179648")
+ (revision "1"))
+ (package
+ (name "sbcl-png")
+ (version (git-version "0.6" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ljosa/cl-png")
+ (commit commit)))
+ (file-name (git-file-name "cl-png" version))
+ (sha256
+ (base32 "173hqwpd0rwqf95mfx1h9l9c3i8bb0gvnpspzmmz3g5x3440czy4"))
+ ;; Patch to fix compiling with SBCL >= 2.1.6.
+ (patches (search-patches "sbcl-png-fix-sbcl-compatibility.patch"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-lib-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "libpng.lisp"
+ (("\"libpng\"")
+ (string-append "\""
+ (assoc-ref inputs "libpng")
+ "/lib/libpng\""))))))))
+ (inputs
+ `(("cffi" ,sbcl-cffi)
+ ("libpng" ,libpng)))
+ (home-page "https://github.com/ljosa/cl-png")
+ (synopsis "Read and write PNG file format")
+ (description
+ "This package provides a @code{PNG} Common Lisp system to operate with
+Portable Network Graphics file format.")
+ (license license:lgpl2.1))))
+
+(define-public ecl-png
+ (sbcl-package->ecl-package sbcl-png))
+
+(define-public cl-png
+ (sbcl-package->cl-source-package sbcl-png))
+
+(define-public sbcl-cl-svg
+ (let ((commit "1e988ebd2d6e2ee7be4744208828ef1b59e5dcdc")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-svg")
+ (version (git-version "0.0.3" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/wmannis/cl-svg")
+ (commit commit)))
+ (file-name (git-file-name "cl-svg" version))
+ (sha256
+ (base32 "11rmzimy6j7ln7q5y1h2kw1225rsfb6fpn89qjcq7h5lc8fay0wz"))))
+ (build-system asdf-build-system/sbcl)
+ (home-page "https://github.com/wmannis/cl-svg")
+ (synopsis "Write SVG file format")
+ (description
+ "This package provides the @code{CL-SVG} Common Lisp system to produce
+Scalable Vector Graphics files.")
+ (license license:expat))))
+
+(define-public ecl-cl-svg
+ (sbcl-package->ecl-package sbcl-cl-svg))
+
+(define-public cl-svg
+ (sbcl-package->cl-source-package sbcl-cl-svg))
+
(define-public sbcl-nodgui
(let ((commit "4a9c2e7714b278fbe97d198c56f54ea87290001d")
(revision "1"))
@@ -9630,6 +9875,35 @@ caching based on arguments (an expanded form of memoization).")
(define-public ecl-function-cache
(sbcl-package->ecl-package sbcl-function-cache))
+(define-public sbcl-cache-while
+ (let ((commit "38e9ffbdb2c894670c366c1e5802ffcc8cfd43a7")
+ (revision "1"))
+ (package
+ (name "sbcl-cache-while")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/charje/cache-while")
+ (commit commit)))
+ (file-name (git-file-name "cache-while" version))
+ (sha256
+ (base32 "1qil68rfn5irmkb0jk1f6g1zy80wgc3skl8cr4rfgh7ywgm5izx3"))))
+ (build-system asdf-build-system/sbcl)
+ (home-page "https://github.com/charje/cache-while")
+ (synopsis "Temporary / one-time caching macro for Common Lisp")
+ (description
+ "This is a Common Lisp macro for defining temporary caches that
+invalidate based on expressions evaluating to different values.")
+ (license license:llgpl))))
+
+(define-public cl-cache-while
+ (sbcl-package->cl-source-package sbcl-cache-while))
+
+(define-public ecl-cache-while
+ (sbcl-package->ecl-package sbcl-cache-while))
+
(define-public sbcl-type-r
(let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
(revision "1"))
@@ -9709,21 +9983,63 @@ correctly.")
(define-public ecl-trivialib-type-unify
(sbcl-package->ecl-package sbcl-trivialib-type-unify))
+(define-public sbcl-cl-unification
+ (let ((commit "01079f34d197495880aa49ab727d63774d83035c")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-unification")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.common-lisp.net/cl-unification/cl-unification")
+ (commit commit)))
+ (file-name (git-file-name "cl-unification" version))
+ (sha256
+ (base32 "0nhqamn3qgg38i6aw2pshffdwr2hzslycg8ficmn333gw0h9rf4g"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("ptester" ,sbcl-ptester)))
+ (inputs
+ `(("cl-ppcre" ,sbcl-cl-ppcre)))
+ (home-page "https://common-lisp.net/project/cl-unification/")
+ (synopsis "Unification framework for Common Lisp")
+ (description
+ "This package provides a framework to unify arbitrary
+Common Lisp objects while constructing bindings for placeholders
+(unification variables) in a template sublanguage.")
+ (license license:bsd-0))))
+
+(define-public ecl-cl-unification
+ (let ((pkg (sbcl-package->ecl-package sbcl-cl-unification)))
+ (package
+ (inherit pkg)
+ (arguments
+ (substitute-keyword-arguments (package-arguments pkg)
+ ;; The tests fail on ECL with:
+ ;; "In MAKE-ARRAY: the elements in :INITIAL-CONTENTS do not match
+ ;; the array dimensions."
+ ((#:tests? _ #f) #f))))))
+
+(define-public cl-unification
+ (sbcl-package->cl-source-package sbcl-cl-unification))
+
(define-public sbcl-specialized-function
- (let ((commit "dee56d2d2b6ecd10500ad291c56217698604ec35")
- (revision "2"))
+ (let ((commit "5e2b04432bdf728496e6ff7227f210f845af7247")
+ (revision "3"))
(package
(name "sbcl-specialized-function")
- (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/numcl/specialized-function")
(commit commit)))
- (file-name (git-file-name name version))
+ (file-name (git-file-name "specialized-function" version))
(sha256
- (base32 "1mcc7mmpbnmgnr1cl2jl5r1ai54gn7fbisv2c14sh9za5w4sib82"))))
+ (base32 "19hfgc83b7as630r1w9r8yl0v6xq3dn01vcrl0bd4pza5hgjn4la"))))
(build-system asdf-build-system/sbcl)
(synopsis "Julia-like dispatch for Common Lisp")
(description
@@ -9734,21 +10050,17 @@ 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)
+ `(("alexandria" ,sbcl-alexandria)
("iterate" ,sbcl-iterate)
("lisp-namespace" ,sbcl-lisp-namespace)
- ("type-r" ,sbcl-type-r)
- ("trivial-cltl2" ,sbcl-trivial-cltl2)))
+ ("trivia" ,sbcl-trivia)
+ ("trivial-cltl2" ,sbcl-trivial-cltl2)
+ ("type-r" ,sbcl-type-r)))
(native-inputs
`(("fiveam" ,sbcl-fiveam)))
(arguments
`(#:asd-files '("specialized-function.asd")
- #:test-asd-file "specialized-function.test.asd"
- ;; Tests fail because they try to use an internal symbol of SBCL
- ;; that does not exists in recent versions:
- ;; "The variable SB-VM:COMPLEX-VECTOR-NIL-WIDETAG is unbound."
- #:tests? #f)))))
+ #:test-asd-file "specialized-function.test.asd")))))
(define-public cl-specialized-function
(sbcl-package->cl-source-package sbcl-specialized-function))
@@ -9844,8 +10156,8 @@ type correctness in Common Lisp. It is based on CLtL2 extensions.")
((#:tests? _ #f) #f))))))
(define-public sbcl-numcl
- (let ((commit "d19f36356be900c600ef08560c9e1af441a166cb")
- (revision "1"))
+ (let ((commit "3dcdb0e24a33943d6c3a188ecbb0c78003bf975c")
+ (revision "2"))
(package
(name "sbcl-numcl")
(version (git-version "0.2.0" revision commit))
@@ -9857,11 +10169,14 @@ type correctness in Common Lisp. It is based on CLtL2 extensions.")
(commit commit)))
(file-name (git-file-name "numcl" version))
(sha256
- (base32 "0q4ylfr7hl0gz2ynr0c15h09dmnli2x6ndnm5wr58wfplf1wfj31"))))
+ (base32 "17m1rx1gfjbbmgjsf33b8s4bygfsj1hb6kvmypkql21qzjvx60nl"))))
(build-system asdf-build-system/sbcl)
(arguments
`(#:test-asd-file "numcl.test.asd"
- #:asd-files '("numcl.asd")))
+ #:asd-files '("numcl.asd")
+ ;; Tests often fail because they require a dynamic-space-size much
+ ;; bigger than the default one. Disable them for now.
+ #:tests? #f))
(native-inputs
`(("fiveam" ,sbcl-fiveam)))
(inputs
@@ -9889,8 +10204,8 @@ type correctness in Common Lisp. It is based on CLtL2 extensions.")
(sbcl-package->ecl-package sbcl-numcl))
(define-public sbcl-pzmq
- (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
- (revision "1"))
+ (let ((commit "6f7b2ca02c23ea53510a9b0e0f181d5364ce9d32")
+ (revision "2"))
(package
(name "sbcl-pzmq")
(version (git-version "0.0.0" revision commit))
@@ -9902,7 +10217,7 @@ type correctness in Common Lisp. It is based on CLtL2 extensions.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
+ (base32 "19mdhxhzzghlmff1fic4chg5iz0psglkim09z6dgpijm26biny05"))))
(build-system asdf-build-system/sbcl)
(native-inputs
`(("bordeaux-threads" ,sbcl-bordeaux-threads)
@@ -10184,25 +10499,24 @@ database files (dbf and db3 files).")
(sbcl-package->cl-source-package sbcl-db3))
(define-public sbcl-dbi
- ;; Master includes a breaking change which other packages depend on since
- ;; Quicklisp decided to follow it:
- ;; https://github.com/fukamachi/cl-dbi/commit/31c46869722f77fd5292a81b5b101f1347d7fce1
- (let ((commit "31c46869722f77fd5292a81b5b101f1347d7fce1"))
+ (let ((commit "7ba050dea8d137c1f85b7e704d4fc945104bf283")
+ (revision "1"))
(package
(name "sbcl-dbi")
- (version (git-version "0.9.4" "1" commit))
+ (version (git-version "0.9.5" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fukamachi/cl-dbi")
(commit commit)))
- (file-name (git-file-name name version))
+ (file-name (git-file-name "cl-dbi" version))
(sha256
- (base32 "0r3n4rw12qqxad0cryym2ibm4ddl49gbq4ra227afibsr43nw5k3"))))
+ (base32 "0qkpsf8w7ig6chbf4r7j1j7fwa6kpi58ij4hbcxpa4irqdan8s9f"))))
(build-system asdf-build-system/sbcl)
(native-inputs
- `(("rove" ,sbcl-rove)
+ `(("alexandria" ,sbcl-alexandria)
+ ("rove" ,sbcl-rove)
("trivial-types" ,sbcl-trivial-types)))
(inputs
`(("bordeaux-threads" ,sbcl-bordeaux-threads)
@@ -10459,6 +10773,36 @@ If features:
(define-public ecl-sycamore
(sbcl-package->ecl-package sbcl-sycamore))
+(define-public sbcl-funds
+ (let ((commit "39d425818876b898c20780a678803df506df8424")
+ (revision "2"))
+ (package
+ (name "sbcl-funds")
+ (version (git-version "1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/charJe/funds")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "13y1jhvnpzrs9daz6f3z67w6h2y21ggb10j3j4vnc5p3m8i7ps4p"))))
+ (build-system asdf-build-system/sbcl)
+ (synopsis "Purely functional data structure library in Common Lisp")
+ (description
+ "Funds provides portable, purely functional data structures in Common
+Lisp. It includes tree based implementations for Array, Hash, Queue, Stack, and
+Heap.")
+ (home-page "https://common-lisp.net/project/funds/")
+ (license license:asl2.0))))
+
+(define-public cl-funds
+ (sbcl-package->cl-source-package sbcl-funds))
+
+(define-public ecl-funds
+ (sbcl-package->ecl-package sbcl-funds))
+
(define-public sbcl-trivial-package-local-nicknames
(package
(name "sbcl-trivial-package-local-nicknames")
@@ -10992,25 +11336,23 @@ learn about each of the parameters.")
(sbcl-package->ecl-package sbcl-exponential-backoff))
(define-public sbcl-sxql
- (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
+ (let ((commit "acdd183a4c38b4e0699a285f8a711c88f6b4302c"))
(package
(name "sbcl-sxql")
- (version (git-version "0.1.0" "1" commit))
+ (version (git-version "0.1.0" "2" commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fukamachi/sxql")
(commit commit)))
- (file-name (git-file-name name version))
+ (file-name (git-file-name "sqxl" version))
(sha256
- (base32
- "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
+ (base32 "1i1crdsf2nbyxxpvjgrwmwpjxn6a4drbcmqs4q4shfi8zyap7vng"))))
(build-system asdf-build-system/sbcl)
- (arguments
- `(#:test-asd-file "sxql-test.asd"))
(inputs
`(("alexandria" ,sbcl-alexandria)
+ ("cl-package-locks" ,sbcl-cl-package-locks)
("cl-syntax" ,sbcl-cl-syntax)
("iterate" ,sbcl-iterate)
("optima" ,sbcl-optima)
@@ -11045,8 +11387,6 @@ learn about each of the parameters.")
(base32
"05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
(build-system asdf-build-system/sbcl)
- (arguments
- `(#:asd-systems '("1am")))
(home-page "https://github.com/lmj/1am")
(synopsis "Minimal testing framework for Common Lisp")
(description "A minimal testing framework for Common Lisp.")
@@ -11821,9 +12161,6 @@ than a few Kb.")
("mmap" ,sbcl-mmap)
("nibbles" ,sbcl-nibbles)
("trivial-features" ,sbcl-trivial-features)))
- (arguments
- ;; FIXME: #41437 - Build fails when package name starts from a digit
- `(#:asd-systems '("3bz")))
(home-page "https://github.com/3b/3bz")
(synopsis "Deflate decompression for Common Lisp")
(description
@@ -12399,8 +12736,8 @@ can separate configuration system from an implementation.")
(sbcl-package->ecl-package sbcl-envy))
(define-public sbcl-mito
- (let ((commit "d3b9e375ef364a65692da2185085a08c969ac88a")
- (revision "1"))
+ (let ((commit "2fbfc8aa6f9e3e8029bf09888c74b9af98dad341")
+ (revision "2"))
(package
(name "sbcl-mito")
(version (git-version "0.1" revision commit))
@@ -12411,14 +12748,15 @@ can separate configuration system from an implementation.")
(uri (git-reference
(url home-page)
(commit commit)))
- (file-name (git-file-name name version))
+ (file-name (git-file-name "mito" version))
(sha256
- (base32 "08mncgzjnbbsf1a6am3l73iw4lyfvz5ldjg5g84awfaxml4p73mb"))))
+ (base32 "1a9kivpy9j2grf1c6gdjk7fwcdlvvq67p3m98jyfhiyzj7axjymd"))))
(build-system asdf-build-system/sbcl)
(native-inputs
`(("prove" ,sbcl-prove)))
(inputs
`(("alexandria" ,sbcl-alexandria)
+ ("cl-package-locks" ,sbcl-cl-package-locks)
("cl-ppcre" ,sbcl-cl-ppcre)
("cl-reexport" ,sbcl-cl-reexport)
("closer-mop" ,sbcl-closer-mop)
@@ -12426,8 +12764,8 @@ can separate configuration system from an implementation.")
("dissect" ,sbcl-dissect)
("esrap" ,sbcl-esrap)
("local-time" ,sbcl-local-time)
- ("optima" ,sbcl-optima)
("sxql" ,sbcl-sxql)
+ ("trivia" ,sbcl-trivia)
("uuid" ,sbcl-uuid)))
(arguments
'(#:phases
@@ -12788,7 +13126,13 @@ XML to Lisp structures or s-expressions and back.")
(sbcl-package->cl-source-package sbcl-xmls))
(define-public ecl-xmls
- (sbcl-package->ecl-package sbcl-xmls))
+ (let ((pkg (sbcl-package->ecl-package sbcl-xmls)))
+ (package
+ (inherit pkg)
+ (arguments
+ (substitute-keyword-arguments (package-arguments pkg)
+ ;; Upstream doesn't have a test suite adapted for ECL.
+ ((#:tests? _ #f) #f))))))
(define-public sbcl-geco
(package
@@ -12989,73 +13333,70 @@ collecting values easier.")
(sbcl-package->ecl-package sbcl-collectors))
(define-public sbcl-cl-environments
- (let ((commit "0b22154c5afefef23d1eba9a4fae11d73580ef41")) ; No version in 2 years.
- (package
- (name "sbcl-cl-environments")
- (version (git-version "0.2.3" "1" commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/alex-gutev/cl-environments")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "18r3wfarr7lgn78m6c66r0r9aazirv07gy7xgvqkl9pmrz1bc47m"))))
- (build-system asdf-build-system/sbcl)
- (inputs
- `(("alexandria" ,sbcl-alexandria)
- ("anaphora" ,sbcl-anaphora)
- ("collectors" ,sbcl-collectors)
- ("optima" ,sbcl-optima)))
- (native-inputs
- `(("prove" ,sbcl-prove)))
- (home-page "https://github.com/alex-gutev/cl-environments")
- (synopsis "Implements the Common Lisp standard environment access API")
- (description "This library provides a uniform API, as specified in Common
-Lisp the Language 2, for accessing information about variable and function
-bindings from implementation-defined lexical environment objects. All major
-Common Lisp implementations are supported, even those which don't support the
-CLTL2 environment access API.")
- (license license:expat))))
+ (package
+ (name "sbcl-cl-environments")
+ (version "0.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alex-gutev/cl-environments")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "cl-environments" version))
+ (sha256
+ (base32 "10jxj043d2dw5vc0i0lz0lsa4qszn8him5is8jdhl4nsyfcazmky"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("anaphora" ,sbcl-anaphora)
+ ("collectors" ,sbcl-collectors)
+ ("optima" ,sbcl-optima)))
+ (native-inputs
+ `(("prove" ,sbcl-prove)))
+ (home-page "https://github.com/alex-gutev/cl-environments")
+ (synopsis "Implements the Common Lisp standard environment access API")
+ (description
+ "This library provides a uniform API, as specified in Common Lisp the
+Language 2, for accessing information about variable and function bindings
+from implementation-defined lexical environment objects. All major Common
+Lisp implementations are supported, even those which don't support the CLTL2
+environment access API.")
+ (license license:expat)))
(define-public cl-environments
(sbcl-package->cl-source-package sbcl-cl-environments))
-(define-public ecl-environments
+(define-public ecl-cl-environments
(sbcl-package->ecl-package sbcl-cl-environments))
(define-public sbcl-static-dispatch
- (let ((commit "6243afcd152854c52ba33daef7394367b657d9c6")
- (revision "1"))
- (package
- (name "sbcl-static-dispatch")
- (version (git-version "0.3" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/alex-gutev/static-dispatch")
- (commit commit)))
- (file-name (git-file-name "static-dispatch" version))
- (sha256
- (base32 "1lli9ar1xbnhkgb5d01rlw4pvfylg2arrw68np2c07fpkkafimg7"))))
- (build-system asdf-build-system/sbcl)
- (native-inputs
- `(("prove" ,sbcl-prove)))
- (inputs
- `(("agutil" ,sbcl-agutil)
- ("alexandria" ,sbcl-alexandria)
- ("anaphora" ,sbcl-anaphora)
- ("arrows" ,sbcl-arrows)
- ("cl-environments" ,sbcl-cl-environments)
- ("closer-mop" ,sbcl-closer-mop)
- ("iterate" ,sbcl-iterate)
- ("trivia" ,sbcl-trivia)))
- (home-page "https://github.com/alex-gutev/static-dispatch")
- (synopsis "Static generic function dispatch for Common Lisp")
- (description "Static dispatch is a Common Lisp library, inspired by
+ (package
+ (name "sbcl-static-dispatch")
+ (version "0.5.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alex-gutev/static-dispatch")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "static-dispatch" version))
+ (sha256
+ (base32 "1602vx6ybp0n8mbrrp6q8397fkkyvhrqpahc302pjdb57qildajz"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (inputs
+ `(("agutil" ,sbcl-agutil)
+ ("alexandria" ,sbcl-alexandria)
+ ("anaphora" ,sbcl-anaphora)
+ ("arrows" ,sbcl-arrows)
+ ("cl-environments" ,sbcl-cl-environments)
+ ("closer-mop" ,sbcl-closer-mop)
+ ("iterate" ,sbcl-iterate)
+ ("optima" ,sbcl-optima)))
+ (home-page "https://github.com/alex-gutev/static-dispatch")
+ (synopsis "Static generic function dispatch for Common Lisp")
+ (description "Static dispatch is a Common Lisp library, inspired by
@code{inlined-generic-function}, which allows standard Common Lisp generic
function dispatch to be performed statically (at compile time) rather than
dynamically (runtime). This is similar to what is known as \"overloading\" in
@@ -13067,7 +13408,7 @@ functions, such as adding/removing methods at runtime are not required. An
example of such a case is a generic equality comparison function. Currently
generic functions are considered far too slow to implement generic arithmetic
and comparison operations when used heavily in numeric code.")
- (license license:expat))))
+ (license license:expat)))
(define-public cl-static-dispatch
(sbcl-package->cl-source-package sbcl-static-dispatch))
@@ -13075,45 +13416,87 @@ and comparison operations when used heavily in numeric code.")
(define-public ecl-static-dispatch
(sbcl-package->ecl-package sbcl-static-dispatch))
+(define-public sbcl-cl-form-types
+ (package
+ (name "sbcl-cl-form-types")
+ (version "0.3.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alex-gutev/cl-form-types")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "17kdjqmm2ib347b8lqm3k4kca2j53kr0azb6h7m0v5i157ibndsw"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("agutil" ,sbcl-agutil)
+ ("anaphora" ,sbcl-anaphora)
+ ("arrows" ,sbcl-arrows)
+ ("cl-environments" ,sbcl-cl-environments)
+ ("introspect-environment" ,sbcl-introspect-environment)
+ ("optima" ,sbcl-optima)))
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (home-page "https://github.com/alex-gutev/cl-form-types")
+ (synopsis "determining the types of Common Lisp forms")
+ (description "This library provides functions for determining the value
+types of Common Lisp forms, based on type information contained in the
+environment.
+
+In order for this library to work the values types of variables and return
+types of functions have to be declared.
+
+Macros and symbol-macros are fully expanded and all special forms, except
+@code{CATCH}, are supported.")
+ (license license:expat)))
+
+(define-public cl-form-types
+ (sbcl-package->cl-source-package sbcl-cl-form-types))
+
+(define-public ecl-cl-form-types
+ (sbcl-package->ecl-package sbcl-cl-form-types))
+
(define-public sbcl-generic-cl
- ;; Latest commit includes a necessary fix for our Guix build.
- (let ((commit "8e5a81487ee3c13fe5ffdc8bdda161d476639535"))
- (package
- (name "sbcl-generic-cl")
- (version (git-version "0.7.1" "1" commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/alex-gutev/generic-cl")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "11w0g79s4wmc78vmfng437rmsgnp5qn246zcyr540fp5nw0ad6ix"))))
- (build-system asdf-build-system/sbcl)
- (inputs
- `(("agutil" ,sbcl-agutil)
- ("alexandria" ,sbcl-alexandria)
- ("anaphora" ,sbcl-anaphora)
- ("arrows" ,sbcl-arrows)
- ("cl-custom-hash-table" ,sbcl-custom-hash-table)
- ("static-dispatch" ,sbcl-static-dispatch)
- ("trivia" ,sbcl-trivia)))
- (native-inputs
- `(("prove" ,sbcl-prove)))
- (arguments
- ;; Tests fail because SBCL head size is not high enough.
- ;; https://github.com/alex-gutev/generic-cl/issues/6
- `(#:tests? #f))
- (home-page "https://alex-gutev.github.io/generic-cl/")
- (synopsis "Generic function interface to standard Common Lisp functions")
- (description "@code{generic-cl} provides a generic function wrapper over
+ (package
+ (name "sbcl-generic-cl")
+ (version "0.9")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alex-gutev/generic-cl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1c40vqb49g0adfv17jxgk0ds1n6a2dph30cibq01sicmqdgrrbi8"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("agutil" ,sbcl-agutil)
+ ("alexandria" ,sbcl-alexandria)
+ ("anaphora" ,sbcl-anaphora)
+ ("arrows" ,sbcl-arrows)
+ ("cl-custom-hash-table" ,sbcl-custom-hash-table)
+ ("cl-form-types" ,sbcl-cl-form-types)
+ ("static-dispatch" ,sbcl-static-dispatch)
+ ("trivia" ,sbcl-trivia)))
+ (native-inputs
+ `(("prove" ,sbcl-prove)))
+ (arguments
+ ;; Tests fail because SBCL head size is not high enough.
+ ;; https://github.com/alex-gutev/generic-cl/issues/6
+ `(#:tests? #f))
+ (home-page "https://alex-gutev.github.io/generic-cl/")
+ (synopsis "Generic function interface to standard Common Lisp functions")
+ (description "@code{generic-cl} provides a generic function wrapper over
various functions in the Common Lisp standard, such as equality predicates and
sequence operations. The goal of this wrapper is to provide a standard
interface to common operations, such as testing for the equality of two
objects, which is extensible to user-defined types.")
- (license license:expat))))
+ (license license:expat)))
(define-public cl-generic-cl
(sbcl-package->cl-source-package sbcl-generic-cl))
@@ -14289,19 +14672,20 @@ determination library using @emph{magic} numbers.")
(sbcl-package->cl-source-package sbcl-magicffi))
(define-public sbcl-shlex
- (let ((commit "c5616dffca0d4d8ddbc1cd6f37a96d88477b2740"))
+ (let ((commit "3dee1cb7c0140fa7660ca7a3b2ac5e75d1218e5c")
+ (revision "2"))
(package
(name "sbcl-shlex")
- (version (git-version "0.0.0" "1" commit))
+ (version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ruricolist/cl-shlex")
(commit commit)))
- (file-name (git-file-name name version))
+ (file-name (git-file-name "cl-shlex" version))
(sha256
- (base32 "1nas024n4wv319bf40aal96g72bgi9nkapj2chywj2cc6r8hzkfg"))))
+ (base32 "16ag48sswgimr1fzr582vhym4s03idpd4lkydw5s58lv80ibpim8"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("alexandria" ,sbcl-alexandria)
@@ -14323,10 +14707,10 @@ standard library.")
(sbcl-package->cl-source-package sbcl-shlex))
(define-public sbcl-cmd
- (let ((commit "bc5a3bee8f22917126e4c3d05b33f766e562dbd8"))
+ (let ((commit "8ace7fb45f2ecf0eefae28583ee36c941d142179"))
(package
(name "sbcl-cmd")
- (version (git-version "0.0.1" "3" commit))
+ (version (git-version "0.0.1" "4" commit))
(source
(origin
(method git-fetch)
@@ -14335,7 +14719,7 @@ standard library.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "1sjlabrknw1kjb2y89vssjhcqh3slgly8wnr3152zgis8lsj2yc7"))))
+ (base32 "1da8sa0fsvsdivnx2s9m6jbb7yszrnkqqcxrn1sszp7k6iwnnkgi"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("alexandria" ,sbcl-alexandria)
@@ -14735,19 +15119,20 @@ and @code{doseq*}.")
(sbcl-package->cl-source-package sbcl-trivial-do))
(define-public sbcl-common-lisp-jupyter
- (let ((commit "011f60b69a3b8c70eefeafe7acb724cd00dd3e62"))
+ (let ((commit "ba9f0e746b9200d6fd6db647d7274448119ed01b")
+ (revision "3"))
(package
(name "sbcl-common-lisp-jupyter")
- (version (git-version "0.1" "2" commit))
+ (version (git-version "0.1.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/yitzchak/common-lisp-jupyter")
(commit commit)))
- (file-name (git-file-name name commit))
+ (file-name (git-file-name "common-lisp-jupyter" commit))
(sha256
- (base32 "10jdghlcmp9p6ygrvw7g49i8f9jy71ybzn29n544fzb6g47siqhw"))))
+ (base32 "0si69xfzi769dprwfy7gp1x3bl7lxz6d4n98sa26w9r41wvay5ja"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("alexandria" ,sbcl-alexandria)
@@ -14756,13 +15141,14 @@ and @code{doseq*}.")
("cl-base64" ,sbcl-cl-base64)
("cl-indentify" ,sbcl-cl-indentify)
("closer-mop" ,sbcl-closer-mop)
+ ("dissect" ,sbcl-dissect)
("eclector" ,sbcl-eclector)
("ironclad" ,sbcl-ironclad)
("iterate" ,sbcl-iterate)
- ("jsown" ,sbcl-jsown)
("multilang-documentation" ,sbcl-multilang-documentation)
- ("pzmq" ,sbcl-pzmq)
("puri" ,sbcl-puri)
+ ("pzmq" ,sbcl-pzmq)
+ ("shasht" ,sbcl-shasht)
("static-vectors" ,sbcl-static-vectors)
("trivial-do" ,sbcl-trivial-do)
("trivial-garbage" ,sbcl-trivial-garbage)
@@ -14774,7 +15160,7 @@ and @code{doseq*}.")
"This is a Common Lisp kernel for Jupyter along with a library for
building Jupyter kernels, based on Maxima-Jupyter which was based on
@code{cl-jupyter}.")
- (license license:zlib))))
+ (license license:expat))))
(define-public ecl-common-lisp-jupyter
(sbcl-package->ecl-package sbcl-common-lisp-jupyter))
@@ -14980,8 +15366,8 @@ HTML documents.")
(sbcl-package->cl-source-package sbcl-cl-html-diff))
(define-public sbcl-tooter
- (let ((commit "b8d4b245b1d946bc9da6f51a3d8c2dc43e4d3868")
- (revision "1"))
+ (let ((commit "b1639d8a58dfe8020c82ed36697b7a668ef41a09")
+ (revision "2"))
(package
(name "sbcl-tooter")
(version (git-version "1.0.0" revision commit))
@@ -14993,7 +15379,7 @@ HTML documents.")
(commit commit)))
(file-name (git-file-name "tooter" version))
(sha256
- (base32 "0g40dlis4dbw4p3zxz3scx27b9zm8zlzihywapf5zqrdqfx5hpq9"))))
+ (base32 "0842lbj9ml6qxdm5xvhdbm87wyrvrq7bxawa6i8wk80n8lnvmhdw"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
@@ -15014,8 +15400,8 @@ protocol for Mastodon.")
(sbcl-package->cl-source-package sbcl-tooter))
(define-public sbcl-croatoan
- (let ((commit "89ecd147cf1548f569f23353b3ab656cfb74de1f")
- (revision "1"))
+ (let ((commit "a577951d8dd607f828d6efb3290b4e8ac9f1e654")
+ (revision "3"))
(package
(name "sbcl-croatoan")
(version (git-version "0.0.1" revision commit))
@@ -15027,7 +15413,7 @@ protocol for Mastodon.")
(commit commit)))
(file-name (git-file-name "croatoan" version))
(sha256
- (base32 "0pk4mym88531jx0f1zmm6gmvrmdjzj2zcl2cdywdsxvjygr53zyx"))))
+ (base32 "1y7a13mzy0cz19pw0xvqwca1s7frfaqryaqwl1mrq7iz84sw0fcw"))))
(build-system asdf-build-system/sbcl)
(arguments
'(#:phases
@@ -15237,9 +15623,10 @@ Lisp.")
(sha256
(base32 "04if61wigylsmn996rbfl8ylsd0d9hzdmg7p2wiglncibjzcl5k9"))))
(build-system asdf-build-system/sbcl)
- (arguments
- '(#:tests? #f
- #:asd-systems '("cl-html5-parser")))
+ (native-inputs
+ `(("json-streams" ,sbcl-json-streams)
+ ("split-sequence" ,sbcl-split-sequence)
+ ("stefil" ,sbcl-stefil)))
(inputs
`(("cl-ppcre" ,sbcl-cl-ppcre)
("flexi-stream" ,sbcl-flexi-streams)
@@ -15398,7 +15785,7 @@ return the CPU count of the current system.")
(define-public sbcl-fof
(package
(name "sbcl-fof")
- (version "0.1.0")
+ (version "0.2.0")
(source
(origin
(method git-fetch)
@@ -15407,7 +15794,7 @@ return the CPU count of the current system.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1xdnlqrjfmgdgw58avkci881iwarv4am2vq09b14pfifmpxpzv10"))))
+ (base32 "0j64b7p40h8bq33hqkpgakm3vs1607vyx6n48d7qg3287v1akk6m"))))
(build-system asdf-build-system/sbcl)
(arguments
`(#:phases
@@ -15578,6 +15965,40 @@ immediately loaded.")
(define-public cl-bodge-math
(sbcl-package->cl-source-package sbcl-bodge-math))
+(define-public sbcl-bodge-blobs-support
+ (let ((commit "c5034ca5f4fc3a44dbadeba215a09afd59a404b0")
+ (revision "1"))
+ (package
+ (name "sbcl-bodge-blobs-support")
+ (version (git-version "1.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/borodust/bodge-blobs-support")
+ (commit commit)))
+ (file-name (git-file-name "bodge-blobs-support" version))
+ (sha256
+ (base32 "02nd1x6y1akp1ymv1y4z9ympwbnpd1drwi4f86xbjszxqff6jyj8"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("trivial-features" ,sbcl-trivial-features)))
+ (inputs
+ `(("cffi" ,sbcl-cffi)
+ ("sbcl-alexandria" ,sbcl-alexandria)))
+ (home-page "https://github.com/borodust/bodge-blobs-support")
+ (synopsis "Common Lisp utilities for blob packages")
+ (description
+ "This is a Common Lisp library for simplifying packaging and loading of
+compiled foreign library collection.")
+ (license license:unlicense))))
+
+(define-public cl-bodge-blobs-support
+ (sbcl-package->cl-source-package sbcl-bodge-blobs-support))
+
+(define-public ecl-bodge-blobs-support
+ (sbcl-package->ecl-package sbcl-bodge-blobs-support))
+
(define-public sbcl-cl-conspack
(let ((commit "fc8473bc6f929696b03b43820596b7c976c4678e")
(revision "1"))
@@ -15846,7 +16267,7 @@ allows one to gradually make their programs safer.")
"Clip is an attempt at a templating library that allows you to write
templates in a way that is both accessible to direct webdesign and
flexible. The main idea is to incorporate transformation commands into an HTML
-file through tags and attributes. Clip is heavily dependant on Plump and
+file through tags and attributes. Clip is heavily dependent on Plump and
lQuery.")
(license license:zlib))))
@@ -15855,3 +16276,2564 @@ lQuery.")
(define-public cl-clip
(sbcl-package->cl-source-package sbcl-clip))
+
+(define-public sbcl-pathname-utils
+ (let ((commit "70f517e44e13a38e0c8f296613236376d679fa8f")
+ (revision "1"))
+ (package
+ (name "sbcl-pathname-utils")
+ (version (git-version "1.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shinmera/pathname-utils")
+ (commit commit)))
+ (file-name (git-file-name "pathname-utils" version))
+ (sha256
+ (base32 "1zm4bf6gajpgmhr7zwf7600zlaf8fs1fcyzabqsh2ma2crkgqdxq"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("parachute" ,sbcl-parachute)))
+ (home-page "https://shinmera.github.io/pathname-utils/")
+ (synopsis "Collection of utilities to help with pathname operations")
+ (description
+ "This package provides a Common Lisp system a with collection of common
+tests and operations to help handling pathnames. It does not actually deal in
+handling the accessing of files on the underlying system however.")
+ (license license:zlib))))
+
+(define-public ecl-pathname-utils
+ (sbcl-package->ecl-package sbcl-pathname-utils))
+
+(define-public cl-pathname-utils
+ (sbcl-package->cl-source-package sbcl-pathname-utils))
+
+(define-public sbcl-terrable
+ (let ((commit "e4fe23ffa08e8d53a8168105b413861da59cc786")
+ (revision "1"))
+ (package
+ (name "sbcl-terrable")
+ (version (git-version "1.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shirakumo/terrable")
+ (commit commit)))
+ (file-name (git-file-name "terrable" version))
+ (sha256
+ (base32 "0pnqflgz410zydc1ivwnd8hcl24bgr7x12yjzr7g4lq3ibc8y97b"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("documentation-utils" ,sbcl-documentation-utils)
+ ("fast-io" ,sbcl-fast-io)
+ ("ieee-floats" ,sbcl-ieee-floats)
+ ("static-vectors" ,sbcl-static-vectors)
+ ("trivial-garbage" ,sbcl-trivial-garbage)))
+ (home-page "https://shirakumo.github.io/terrable/")
+ (synopsis "Parser library for Terragen TER terrain files")
+ (description
+ "This package provides Common Lisp support for reading the Terragen
+@code{.TER} format. The format specification can be found at
+@url{https://planetside.co.uk/wiki/index.php?title=Terragen_.TER_Format}")
+ (license license:zlib))))
+
+(define-public ecl-terrable
+ (sbcl-package->ecl-package sbcl-terrable))
+
+(define-public cl-terrable
+ (sbcl-package->cl-source-package sbcl-terrable))
+
+(define-public sbcl-simple-rgb
+ (let ((commit "ba9b0689362c28aa6a91c0636796c6c372657293")
+ (revision "1"))
+ (package
+ (name "sbcl-simple-rgb")
+ (version (git-version "0.01" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/wmannis/simple-rgb/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ggv0h2n4mvwnggjr1b40gw667gnyykzki2zadaczi38ydzyzlp1"))))
+ (build-system asdf-build-system/sbcl)
+ (home-page "https://github.com/wmannis/simple-rgb")
+ (synopsis "Manipulate colors in RGB format")
+ (description
+ "This Common Lisp library focuses on the small set of basic color
+manipulations (lightening, compliments, etc.) you might use to generate a
+color palette for a GUI or web page.")
+ (license license:bsd-2))))
+
+(define-public ecl-simple-rgb
+ (sbcl-package->ecl-package sbcl-simple-rgb))
+
+(define-public cl-simple-rgb
+ (sbcl-package->cl-source-package sbcl-simple-rgb))
+
+(define-public sbcl-cl-qprint
+ (let ((commit "bfe398551cbfb7ca84a9ba59a26a1116ac5c06eb")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-qprint")
+ (version (git-version "0.9.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/eugeneia/cl-qprint/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "099h0rrdzxnlmn8avi72mg2dl0kccp7w01b2p9nwyy4b8yr32cir"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("flexi-streams" ,sbcl-flexi-streams)))
+ (home-page "https://github.com/eugeneia/cl-qprint/")
+ (synopsis "Implementation of the quoted-printable encoding")
+ (description
+ "This Common Lisp library implements the quoted-printable encoding as
+described in RFC 2045 (see @url{http://tools.ietf.org/html/rfc2045}).")
+ (license license:lgpl2.1))))
+
+(define-public ecl-cl-qprint
+ (sbcl-package->ecl-package sbcl-cl-qprint))
+
+(define-public cl-qprint
+ (sbcl-package->cl-source-package sbcl-cl-qprint))
+
+(define-public sbcl-cl-mime
+ (let ((commit "d30a28e0a40393bd3af7d138daa05319ed2e9d07")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-mime")
+ ;; One commit says "update to cl-mime-0.5.3", even though the .asd is at 0.5.1.
+ (version (git-version "0.5.3" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ ;; Maintained fork according to http://www.cliki.net/CL-MIME:
+ (url "https://github.com/40ants/cl-mime")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0qn8if0fj6vzc897pqqqs0m1y107gmzqngpqhqmwrcsp1ckj5k0v"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("ppcre" ,sbcl-cl-ppcre)
+ ("cl-base64" ,sbcl-cl-base64)
+ ("cl-qprint" ,sbcl-cl-qprint)))
+ (native-inputs
+ `(("rove" ,sbcl-rove)))
+ (home-page "https://github.com/eugeneia/cl-qprint/")
+ (synopsis "Read and print MIME content in Common Lisp")
+ (description
+ "This is a Common Lisp library for reading and printing MIME content.
+It supports automatic conversion between 7-bit, quoted-printable and base64
+encodings.")
+ (license license:lgpl2.1))))
+
+(define-public ecl-cl-mime
+ (sbcl-package->ecl-package sbcl-cl-mime))
+
+(define-public cl-mime
+ (sbcl-package->cl-source-package sbcl-cl-mime))
+
+(define-public sbcl-lispbuilder-sdl
+ (let ((commit "589b3c6d552bbec4b520f61388117d6c7b3de5ab"))
+ (package
+ (name "sbcl-lispbuilder-sdl")
+ (version (git-version "0.9.8.2" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lispbuilder/lispbuilder")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0zga59fjlhq3mhwbf80qwqwpkjkxqnn2mhxajlb8563vhn3dbafp"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("cffi" ,sbcl-cffi)
+ ("trivial-garbage" ,sbcl-trivial-garbage)
+ ("sdl" ,sdl)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'cd-sdl
+ (lambda _
+ (chdir "lispbuilder-sdl")
+ #t))
+ (add-after 'cd-sdl 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "cffi/library.lisp"
+ (("libSDL[^\"]*" all)
+ (string-append (assoc-ref inputs "sdl") "/lib/" all)))
+ #t)))))
+ (home-page "https://github.com/lispbuilder/lispbuilder/wiki/LispbuilderSDL")
+ (synopsis "Common Lisp wrapper for SDL")
+ (description
+ "This library is an SDL wrapper as part of an umbrella project that
+provides cross-platform packages for building large, interactive applications
+in Common Lisp.")
+ (license license:expat))))
+
+(define-public ecl-lispbuilder-sdl
+ (sbcl-package->ecl-package sbcl-lispbuilder-sdl))
+
+(define-public cl-lispbuilder-sdl
+ (sbcl-package->cl-source-package sbcl-lispbuilder-sdl))
+
+(define-public sbcl-dufy
+ (package
+ (name "sbcl-dufy")
+ (version "0.4.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/privet-kitty/dufy")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "15vrp1kayhjb5c1vc9x8wlm8rimk73vpa7yc101cf0gsg1fjazl6"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("ppcre" ,sbcl-cl-ppcre)))
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)
+ ("cl-csv" ,sbcl-cl-csv)
+ ("parse-float" ,sbcl-parse-float)
+ ("lispbuilder-sdl" ,sbcl-lispbuilder-sdl)
+ ("lparallel" ,sbcl-lparallel)))
+ (home-page "https://github.com/privet-kitty/dufy")
+ (synopsis "Color library for Common Lisp")
+ (description
+ "Dufy is a library for exact color manipulation and conversion in various
+color spaces, which supports many color models.")
+ (license license:expat)))
+
+(define-public ecl-dufy
+ (sbcl-package->ecl-package sbcl-dufy))
+
+(define-public cl-dufy
+ (sbcl-package->cl-source-package sbcl-dufy))
+
+(define-public sbcl-unit-test
+ (let ((commit "266afaf4ac091fe0e8803bac2ae72d238144e735")
+ (revision "1"))
+ (package
+ (name "sbcl-unit-test")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hanshuebner/unit-test")
+ (commit commit)))
+ (file-name (git-file-name "unit-test" version))
+ (sha256
+ (base32 "11hpksz56iqkv7jw25p2a8r3n9dj922fyarn16d98589g6hdskj9"))))
+ (build-system asdf-build-system/sbcl)
+ (home-page "https://github.com/hanshuebner/unit-test")
+ (synopsis "Unit-testing framework for Common Lisp")
+ (description "This is a unit-testing framework for Common Lisp.")
+ (license license:unlicense))))
+
+(define-public ecl-unit-test
+ (sbcl-package->ecl-package sbcl-unit-test))
+
+(define-public cl-unit-test
+ (sbcl-package->cl-source-package sbcl-unit-test))
+
+(define-public sbcl-bknr-datastore
+ (let ((commit "c98d44f47cc88d19ff91ca3eefbd9719a8ace022")
+ (revision "1"))
+ (package
+ (name "sbcl-bknr-datastore")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hanshuebner/bknr-datastore")
+ (commit commit)))
+ (file-name (git-file-name "bknr-datastore" version))
+ (sha256
+ (base32 "1vi3w65fnczqvswkm381n6liqfrzjrg40y698qvj7skj28dm5vrm"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:asd-systems
+ '("bknr.datastore"
+ "bknr.impex"
+ "bknr.indices"
+ "bknr.skip-list"
+ "bknr.utils"
+ "bknr.xml")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'enter-source-directory
+ (lambda _
+ (chdir "src")
+ #t)))))
+ (native-inputs
+ `(("cl-store" ,sbcl-cl-store)
+ ("fiveam" ,sbcl-fiveam)
+ ("unit-test" ,sbcl-unit-test)))
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("bordeaux-threads" ,sbcl-bordeaux-threads)
+ ("closer-mop" ,sbcl-closer-mop)
+ ("cl-interpol" ,sbcl-cl-interpol)
+ ("cl-ppcre" ,sbcl-cl-ppcre)
+ ("cxml" ,sbcl-cxml)
+ ("flexi-streams" ,sbcl-flexi-streams)
+ ("md5" ,sbcl-md5)
+ ("trivial-utf-8" ,sbcl-trivial-utf-8)
+ ("yason" ,sbcl-yason)))
+ (home-page "https://github.com/hanshuebner/bknr-datastore")
+ (synopsis "In-memory database for Common Lisp")
+ (description
+ "BKNR.DATASTORE is an in-memory CLOS based database with transactions
+for Common Lisp.")
+ (license license:bsd-0))))
+
+;; NOTE: (Sharlatan-20210429T191426+0100):
+;; There is no port for ECL in upstream yet
+;; (define-public ecl-bknr-datastore
+;; (sbcl-package->ecl-package sbcl-bknr-datastore))
+
+(define-public cl-bknr-datastore
+ (sbcl-package->cl-source-package sbcl-bknr-datastore))
+
+(define-public sbcl-authentic
+ (let ((commit "4e9194dda227b98f56dda1c2a2480efcc2d1f973")
+ (revision "2"))
+ (package
+ (name "sbcl-authentic")
+ (version (git-version "0.1.2" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/charje/cl-authentic")
+ (commit commit)))
+ (file-name (git-file-name "cl-authentic" version))
+ (sha256
+ (base32 "0ncsxrybnx0pjsndv3j8w4lphlpcsld8sxg3c5b46fb3a8nd4ssf"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (inputs
+ `(("clsql" ,sbcl-clsql)
+ ("ironclad" ,sbcl-ironclad)))
+ (home-page "https://github.com/charje/cl-authentic")
+ (synopsis "User/password management for Common Lisp applications")
+ (description "Authentic provides a light-weight and extendible
+solution to user/password management for Common Lisp applications. It has
+features such as safe password storage in a database, password reset, user
+confirmation tokens, and user authentication.")
+ (license license:llgpl))))
+
+(define-public ecl-authentic
+ (sbcl-package->ecl-package sbcl-authentic))
+
+(define-public cl-authentic
+ (sbcl-package->cl-source-package sbcl-authentic))
+
+(define-public sbcl-3d-vectors
+ (let ((commit "29bb9684df803590deed344af63dbf7b712aabc0")
+ (revision "1"))
+ (package
+ (name "sbcl-3d-vectors")
+ (version (git-version "3.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shinmera/3d-vectors")
+ (commit commit)))
+ (file-name (git-file-name "3d-vectors" version))
+ (sha256
+ (base32 "0qc7m5brhpwi531rgmlaj1c609by533a1ia5hv8f90ilm8ksmw3l"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("parachute" ,sbcl-parachute)))
+ (inputs
+ `(("documentation-utils" ,sbcl-documentation-utils)))
+ (home-page "https://shinmera.github.io/3d-vectors/")
+ (synopsis "Utility library implementing 2D, 3D, and 4D vectors")
+ (description
+ "@code{3D-VECTORS} is a library for vector math in 3D space. It contains
+most of the vector operations one would usually expect out of such a library and
+offers them both in non-modifying and modifying versions where applicable.")
+ (license license:zlib))))
+
+(define-public ecl-3d-vectors
+ (sbcl-package->ecl-package sbcl-3d-vectors))
+
+(define-public cl-3d-vectors
+ (sbcl-package->cl-source-package sbcl-3d-vectors))
+
+(define-public sbcl-3d-matrices
+ (let ((commit "f453b521b8f2ceabb01eac94389119dece8c05f8")
+ (revision "1"))
+ (package
+ (name "sbcl-3d-matrices")
+ (version (git-version "1.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shinmera/3d-matrices")
+ (commit commit)))
+ (file-name (git-file-name "3d-matrices" version))
+ (sha256
+ (base32 "10q9c96gqzq6k8n89agy0khgimmnsn4s69171m3vhghqa2yv5n6v"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("parachute" ,sbcl-parachute)))
+ (inputs
+ `(("3d-vectors" ,sbcl-3d-vectors)
+ ("documentation-utils" ,sbcl-documentation-utils)))
+ (home-page "https://shinmera.github.io/3d-matrices/")
+ (synopsis "Utility library implementing 2x2, 3x3, 4x4 and NxM matrices")
+ (description
+ "@code{3D-MATRICES} is a library implementing common matrix operations,
+mainly intended as the counterpiece to @code{3d-vectors} and thus being aimed at
+operations in 3D space.")
+ (license license:zlib))))
+
+(define-public ecl-3d-matrices
+ (sbcl-package->ecl-package sbcl-3d-matrices))
+
+(define-public cl-3d-matrices
+ (sbcl-package->cl-source-package sbcl-3d-matrices))
+
+(define-public sbcl-messagebox
+ (let ((commit "ea3688d9a9954bee7079c0173bc7b3f327021e9f")
+ (revision "1"))
+ (package
+ (name "sbcl-messagebox")
+ (version (git-version "1.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shinmera/messagebox")
+ (commit commit)))
+ (file-name (git-file-name "messagebox" version))
+ (sha256
+ (base32 "0jkbzlca0wvspgsfj0b0hjwlyyy8jlywsldsbkp79q48fc3aa8jd"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-zenity-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "zenity.lisp"
+ (("\"zenity\"")
+ (string-append "\"" (assoc-ref inputs "zenity")
+ "/bin/zenity\""))))))))
+ (inputs
+ `(("documentation-utils" ,sbcl-documentation-utils)
+ ("trivial-features" ,sbcl-trivial-features)
+ ("zenity" ,zenity)))
+ (home-page "https://shinmera.github.io/messagebox/")
+ (synopsis "Display a native GUI message box")
+ (description
+ "This is a small library to display a native GUI message box. This can be
+useful to show error messages and other informational pieces should the
+application fail and be unable to do so using its standard UI.")
+ (license license:zlib))))
+
+(define-public ecl-messagebox
+ (sbcl-package->ecl-package sbcl-messagebox))
+
+(define-public cl-messagebox
+ (sbcl-package->cl-source-package sbcl-messagebox))
+
+(define-public sbcl-glsl-toolkit
+ (let ((commit "d00ba1906e3b5eb08ea346ac300a1e77bb999d04")
+ (revision "1"))
+ (package
+ (name "sbcl-glsl-toolkit")
+ (version (git-version "1.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shirakumo/glsl-toolkit")
+ (commit commit)))
+ (file-name (git-file-name "glsl-toolkit" version))
+ (sha256
+ (base32 "0as5796yazchq1qkna3srxlz5v7cf7ffny9cbqi41wsa2s20vbh9"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("cl-ppcre" ,sbcl-cl-ppcre)
+ ("documentation-utils" ,sbcl-documentation-utils)
+ ("parse-float" ,sbcl-parse-float)
+ ("trivial-indent" ,sbcl-trivial-indent)))
+ (home-page "https://shirakumo.github.io/glsl-toolkit/")
+ (synopsis "Parser for OpenGL Shader Language source files")
+ (description
+ "This package provides a Common Lisp system collecting tools written to
+allow to wrangle OpenGL Shader Language (GLSL) source files.")
+ (license license:zlib))))
+
+(define-public ecl-glsl-toolkit
+ (sbcl-package->ecl-package sbcl-glsl-toolkit))
+
+(define-public cl-glsl-toolkit
+ (sbcl-package->cl-source-package sbcl-glsl-toolkit))
+
+(define-public sbcl-simple-tasks
+ (let ((commit "745d4b54eac9bf5d6909792e63ecd2ef8d303cf2")
+ (revision "1"))
+ (package
+ (name "sbcl-simple-tasks")
+ (version (git-version "1.3.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shinmera/simple-tasks")
+ (commit commit)))
+ (file-name (git-file-name "simple-tasks" version))
+ (sha256
+ (base32 "1ls1pij7dvb65g4nam7nvik1218jvfk5iplr48vy290fw3lq7v98"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("array-utils" ,sbcl-array-utils)
+ ("bordeaux-threads" ,sbcl-bordeaux-threads)
+ ("dissect" ,sbcl-dissect)))
+ (home-page "https://shinmera.github.io/simple-tasks/")
+ (synopsis "Simple task scheduling framework")
+ (description "This is a task scheduling framework for Common Lisp.")
+ (license license:zlib))))
+
+(define-public ecl-simple-tasks
+ (sbcl-package->ecl-package sbcl-simple-tasks))
+
+(define-public cl-simple-tasks
+ (sbcl-package->cl-source-package sbcl-simple-tasks))
+
+(define-public sbcl-trivial-main-thread
+ (let ((commit "25f114973bb69eb63e01d0bbfead31f8e682846a")
+ (revision "1"))
+ (package
+ (name "sbcl-trivial-main-thread")
+ (version (git-version "1.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shinmera/trivial-main-thread")
+ (commit commit)))
+ (file-name (git-file-name "trivial-main-thread" version))
+ (sha256
+ (base32 "0bw1887i7396lqg75qvmgjfzz4xbiq9w5dp8wxdgrcsm0qwlraw7"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("bordeaux-threads" ,sbcl-bordeaux-threads)
+ ("simple-tasks" ,sbcl-simple-tasks)
+ ("trivial-features" ,sbcl-trivial-features)))
+ (home-page "https://shinmera.github.io/trivial-main-thread/")
+ (synopsis "Compatibility library to run things in the main thread")
+ (description
+ "This package provides a Common Lisp system which wraps the
+BORDEAUX-THREADS system to be able to run things in the main thread of the
+implementation, for example drawing calls of GUI applications.")
+ (license license:zlib))))
+
+(define-public ecl-trivial-main-thread
+ (sbcl-package->ecl-package sbcl-trivial-main-thread))
+
+(define-public cl-trivial-main-thread
+ (sbcl-package->cl-source-package sbcl-trivial-main-thread))
+
+(define-public sbcl-cl-package-locks
+ (let ((commit "96a358ede7cef416d61d2f699e724fe1d9de602c")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-package-locks")
+ (version (git-version "0.0.2" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/elliottjohnson/cl-package-locks")
+ (commit commit)))
+ (file-name (git-file-name "cl-package-locks" version))
+ (sha256
+ (base32 "0g3gfljnvpgd66ccd2sqawlkwqx4a0wsdrg5180va61w869cgxqq"))))
+ (build-system asdf-build-system/sbcl)
+ (home-page "https://github.com/elliottjohnson/cl-package-locks")
+ (synopsis "Compatibility layer for dealing with package locks")
+ (description
+ "This is a Common Lisp library providing a unified way to work with
+package locks across supported Common Lisp implementations.")
+ (license license:expat))))
+
+(define-public ecl-cl-package-locks
+ (sbcl-package->ecl-package sbcl-cl-package-locks))
+
+(define-public cl-package-locks
+ (sbcl-package->cl-source-package sbcl-cl-package-locks))
+
+(define-public sbcl-cl-typesetting
+ (let ((commit "86eba981fc4254addebecf765578ec350d6e3b75")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-typesetting")
+ (version (git-version "0.8.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mbattyani/cl-typesetting")
+ (commit commit)))
+ (file-name (git-file-name "cl-typesetting" version))
+ (sha256
+ (base32 "0fcs5mq0gxfczbrg7ay8r4bf5r4g6blvpdbjkhcl8dapcikyn35h"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ ;; NOTE: (Sharlatan-20210515T213014+0100): Circular dependencies with
+ ;; cl-typegraph
+ `(#:tests? #f))
+ (inputs
+ `(("cl-pdf" ,sbcl-cl-pdf)
+ ("xmls" ,sbcl-xmls)))
+ (home-page "https://github.com/mbattyani/cl-typesetting")
+ (synopsis "Stand-alone Common Lisp typesetting system")
+ (description
+ "CL-TYPESETTING is a cross-platform Common Lisp typesetting library for
+all kind of typesetting applications.")
+ (license license:bsd-2))))
+
+(define-public ecl-cl-typesetting
+ (sbcl-package->ecl-package sbcl-cl-typesetting))
+
+(define-public cl-typesetting
+ (sbcl-package->cl-source-package sbcl-cl-typesetting))
+
+(define-public sbcl-shasht
+ (let ((commit "4055327ef8e2aaa8627892ab256350ff3cb15e3c")
+ (revision "1"))
+ (package
+ (name "sbcl-shasht")
+ (version (git-version "0.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/yitzchak/shasht")
+ (commit commit)))
+ (file-name (git-file-name "shasht" version))
+ (sha256
+ (base32 "01mh20s5gj0lajq45anxji77ykq1wcg72mn1y9a1k8i7q1ainjlr"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("parachute" ,sbcl-parachute)))
+ (inputs
+ `(("trivial-do" ,sbcl-trivial-do)))
+ (home-page "https://yitzchak.github.io/shasht/")
+ (synopsis "Common Lisp JSON reading and writing library")
+ (description
+ "This package provides a Common Lisp library to work with the JSON file
+format.")
+ (license license:expat))))
+
+(define-public ecl-shasht
+ (sbcl-package->ecl-package sbcl-shasht))
+
+(define-public cl-shasht
+ (sbcl-package->cl-source-package sbcl-shasht))
+
+(define-public sbcl-cl-speedy-queue
+ (let ((commit "0425c7c62ad3b898a5ec58cd1b3e74f7d91eec4b")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-speedy-queue")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zkat/cl-speedy-queue")
+ (commit commit)))
+ (file-name (git-file-name "cl-speedy-queue" version))
+ (sha256
+ (base32 "0czhnvxn9lvbjz9h1lb7y18nqrsq3drq5icd3lqdaa07362alriq"))))
+ (build-system asdf-build-system/sbcl)
+ (home-page "https://github.com/zkat/cl-speedy-queue")
+ (synopsis "Lightweight optimized queue for Common Lisp")
+ (description
+ "This is a lightweight, non-consing, optimized queue implementation for
+Common Lisp.")
+ (license license:expat))))
+
+(define-public cl-speedy-queue
+ (sbcl-package->cl-source-package sbcl-cl-speedy-queue))
+
+(define-public ecl-cl-speedy-queue
+ (sbcl-package->ecl-package sbcl-cl-speedy-queue))
+
+(define-public sbcl-lev
+ (let ((commit "7d03c68dad44f1cc4ac2aeeab2d24eb525ad941a")
+ (revision "1"))
+ (package
+ (name "sbcl-lev")
+ (version (git-version "0.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fukamachi/lev")
+ (commit commit)))
+ (file-name (git-file-name "lev" version))
+ (sha256
+ (base32 "14lfnrvfyg2nnvlwck896p6vgarzc6g4kijmvhi2d8wra7gxzifh"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ ;; NOTE: (Sharlatan-20210520T163300+0100): No tests in upstream
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-libev-lib-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/lev.lisp"
+ (("libev.so" all)
+ (string-append (assoc-ref inputs "libev")
+ "/lib/" all))))))))
+ (inputs
+ `(("cffi" ,sbcl-cffi)
+ ("libev" ,libev)))
+ (home-page "https://github.com/fukamachi/lev")
+ (synopsis "Common Lisp bindings for libev")
+ (description "This package provides Common Lisp bindings for libev.")
+ (license license:bsd-2))))
+
+(define-public cl-lev
+ (sbcl-package->cl-source-package sbcl-lev))
+
+(define-public ecl-lev
+ (sbcl-package->ecl-package sbcl-lev))
+
+(define-public sbcl-woo
+ (let ((commit "fba3567be95ed6e782d98a4c1477d3a74b8ad124")
+ (revision "1"))
+ (package
+ (name "sbcl-woo")
+ (version (git-version "0.12.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fukamachi/woo")
+ (commit commit)))
+ (file-name (git-file-name "woo" version))
+ (sha256
+ (base32 "06f95x8s8v523gxmrkn9wwgw2pvc3bc66znbgrzhqb30y4aar5v5"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ ;; FIXME: Tests fail because they try to compile clack-test:
+ ;;
+ ;; Error opening #P"/gnu/store/...-sbcl-clack-2.0.0-1.e3e0328/
+ ;; lib/common-lisp/sbcl/clack/src/test-tmpGHU3ALSV.fasl":
+ ;;
+ ;; Permission denied
+ ;;
+ ;; clack-test should be compiled when building the sbcl-clack package,
+ ;; but it isn't right now because of the circular dependency between
+ ;; clack-test and dexador.
+ `(#:tests? #f))
+ (native-inputs
+ `(("clack" ,sbcl-clack)
+ ("rove" ,sbcl-rove)))
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("bordeaux-threads" ,sbcl-bordeaux-threads)
+ ("cffi" ,sbcl-cffi)
+ ("cl-speedy-queue" ,sbcl-cl-speedy-queue) ;; Required for ecl build
+ ("clack-socket" ,sbcl-clack)
+ ("fast-http" ,sbcl-fast-http)
+ ("fast-io" ,sbcl-fast-io)
+ ("lev" ,sbcl-lev)
+ ("quri" ,sbcl-quri)
+ ("rove" ,sbcl-rove)
+ ("smart-buffer" ,sbcl-smart-buffer)
+ ("static-vectors" ,sbcl-static-vectors)
+ ("swap-bytes" ,sbcl-swap-bytes)
+ ("trivial-utf-8" ,sbcl-trivial-utf-8)
+ ("vom" ,sbcl-vom)))
+ (home-page "https://github.com/fukamachi/woo")
+ (synopsis "Non-blocking HTTP server based on libev")
+ (description
+ "This package provides the Common Lisp HTTP server @code{WOO}, which
+is built on top of the @code{libev} event library.")
+ (license license:expat))))
+
+(define-public cl-woo
+ (sbcl-package->cl-source-package sbcl-woo))
+
+(define-public ecl-woo
+ (sbcl-package->ecl-package sbcl-woo))
+
+(define-public sbcl-json-streams
+ (let ((commit "5da012e8133affbf75024e7500feb37394690752")
+ (revision "1"))
+ (package
+ (name "sbcl-json-streams")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rotatef/json-streams")
+ (commit commit)))
+ (file-name (git-file-name "json-streams" version))
+ (sha256
+ (base32 "0cia3721im04q73dfkd688d8splgpz03qa4h8s3r39kar4w3xll2"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("cl-quickcheck" ,sbcl-cl-quickcheck)
+ ("flexi-streams" ,sbcl-flexi-streams)))
+ (home-page "https://github.com/rotatef/json-streams")
+ (synopsis "Common Lisp library for reading and writing JSON")
+ (description
+ "This package provides a stream based JSON parser/writer, well suited as
+building block for higher level libraries.")
+ (license license:gpl3+))))
+
+(define-public cl-json-streams
+ (sbcl-package->cl-source-package sbcl-json-streams))
+
+(define-public ecl-json-streams
+ (sbcl-package->ecl-package sbcl-json-streams))
+
+(define-public sbcl-arnesi
+ (let ((commit "1e7dc4cb2cad8599113c7492c78f4925e839522e")
+ (revision "1"))
+ (package
+ (name "sbcl-arnesi")
+ (version (git-version "2.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/AccelerationNet/arnesi")
+ (commit commit)))
+ (file-name (git-file-name "arnesi" version))
+ (sha256
+ (base32 "0jgj2xgd1gq6rf8ia43lkmbrbxnp8rgs053br9azfa25ygk3ikbh"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ ;; FIXME: (Sharlatan-20210523T190315+0100): Tests failed on
+ ;; special-lisp-var-rebount-in/cc
+ ;;
+ ;; ; processing (TEST SPECIAL-LISP-VAR-REBOUND-IN/CC ...)
+ ;; ; wrote .../sbcl/arnesi/t/call-cc-tmp5GEXGEG5.fasl
+ ;; ; compilation finished in 0:00:00.028
+ ;; Unhandled SIMPLE-ERROR in thread
+ ;; #<SB-THREAD:THREAD "main thread" RUNNING {100B768173}>:
+ ;; Sorry, No walker for the special operater DECLARE defined.
+ ;;
+ ;; Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {100B768173}>
+ ;; 0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<SIMPLE-ERROR "Sorry,
+ ;; No walker for the special operater ~S defined."
+ ;; {1001FAF9D3}> #<unused argument> :QUIT T)
+ ;;
+ `(#:tests? #f))
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (inputs
+ `(("cl-ppcre" ,sbcl-cl-ppcre)
+ ("collectors" ,sbcl-collectors)
+ ("swank" ,sbcl-slime-swank)))
+ (home-page "https://github.com/AccelerationNet/arnesi")
+ (synopsis "Common Lisp utility suite")
+ (description
+ "ARNESI is Common Lisp utilities library similar to ALEXANDRIA, ANAPHORA
+or GOLDEN-UTILS.")
+ (license license:bsd-3))))
+
+(define-public ecl-arnesi
+ (sbcl-package->ecl-package sbcl-arnesi))
+
+(define-public cl-arnesi
+ (sbcl-package->cl-source-package sbcl-arnesi))
+
+(define-public sbcl-gettext
+ (let ((commit "a432020cbad99fc22cbe6bb9aa8a83a35000d7aa")
+ (revision "1"))
+ (package
+ (name "sbcl-gettext")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rotatef/gettext")
+ (commit commit)))
+ (file-name (git-file-name "gettext" version))
+ (sha256
+ (base32 "1pzhamgni6k5hi6bbvlb3dm659pcllrrr3vhhn3rpjn238zxg5ar"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("stefil" ,sbcl-stefil)))
+ (inputs
+ `(("flexi-streams" ,sbcl-flexi-streams)
+ ("split-sequence" ,sbcl-split-sequence)
+ ("yacc" ,sbcl-cl-yacc)))
+ (home-page "https://github.com/rotatef/gettext")
+ (synopsis "Common Lisp implementation of Gettext")
+ (description
+ "This package provides GNU @code{gettext} completely implemented in
+Common Lisp without any C library bindings.")
+ (license license:lgpl3+))))
+
+(define-public ecl-gettext
+ (sbcl-package->ecl-package sbcl-gettext))
+
+(define-public cl-gettext
+ (sbcl-package->cl-source-package sbcl-gettext))
+
+(define-public sbcl-parser-combinators
+ (let ((commit "9c7569a4f6af5e60c0d3a51d9c15c16d1714c845")
+ (revision "1"))
+ (package
+ (name "sbcl-parser-combinators")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Ramarren/cl-parser-combinators")
+ (commit commit)))
+ (file-name (git-file-name "parser-combinators" version))
+ (sha256
+ (base32 "1k49vha5xm2cklayzpqwg73n4v93xwsbs5in6342pkkiimnidhs8"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ ;; FIXME: (Sharlatan-20210523T184237+0100): Tests require `femlisp', which
+ ;; is quite chunky not packaged system yet, enable them when it's packed.
+ `(#:tests? #f
+ #:test-asd-file "parser-combinators-tests.asd"))
+ ;; (native-inputs
+ ;; `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)
+ ;; ("infix" ,sbcl-femlisp)))
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("cl-containers" ,sbcl-cl-containers)
+ ("cl-ppcre" ,sbcl-cl-ppcre)
+ ("iterate" ,sbcl-iterate)))
+ (home-page "https://github.com/Ramarren/cl-parser-combinators")
+ (synopsis "Parser combinators in Common Lisp")
+ (description
+ "PARSER-COMBINATORS is a library implementing monadic parser
+combinators in Common Lisp, similar in concept to Haskell Parsec system.")
+ (license license:bsd-3))))
+
+(define-public ecl-parser-combinators
+ (sbcl-package->ecl-package sbcl-parser-combinators))
+
+(define-public cl-parser-combinators
+ (sbcl-package->cl-source-package sbcl-parser-combinators))
+
+(define-public sbcl-cl-locale
+ (let ((commit "0a36cc0dcf5e0a8c8bf97869cd6199980ca25eec")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-locale")
+ (version (git-version "0.1.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fukamachi/cl-locale")
+ (commit commit)))
+ (file-name (git-file-name "cl-locale" version))
+ (sha256
+ (base32 "1rhannhpsw1yg1fpflam483a3w9qb1izgyvmnmiddv3dn4qsmn9p"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ ;; FIXME: (Sharlatan-20210523T190658+0100): All tests passed ok but
+ ;; successfully failed in the end:
+ ;;
+ ;; Summary:
+ ;; All 1 file passed.
+ ;; Unhandled ASDF/FIND-COMPONENT:MISSING-DEPENDENCY
+ ;; in thread #<SB-THREAD:THREAD "main thread" RUNNING {100B6C8253}>:
+ ;; Component CL-LOCALE-ASD::CL-LOCALE-TEST not found, required by
+ ;; #<SYSTEM "cl-locale">
+ ;;
+ `(#:tests? #f))
+ (native-inputs
+ `(("prove" ,sbcl-prove)
+ ("flexi-streams" ,sbcl-flexi-streams)))
+ (inputs
+ `(("anaphora" ,sbcl-anaphora)
+ ("arnesi" ,sbcl-arnesi)
+ ("cl-annot" ,sbcl-cl-annot)
+ ("cl-syntax" ,sbcl-cl-syntax)))
+ (home-page "https://github.com/fukamachi/cl-locale")
+ (synopsis "Internalization library for Common Lisp")
+ (description
+ "This package provides a Common Lisp translation library similar to
+CL-I18N and CL-L10N.")
+ (license license:llgpl))))
+
+(define-public ecl-cl-locale
+ (sbcl-package->ecl-package sbcl-cl-locale))
+
+(define-public cl-locale
+ (sbcl-package->cl-source-package sbcl-cl-locale))
+
+(define-public sbcl-cl-slice
+ (let ((commit "c531683f287216aebbb0affbe090611fa1b5d697")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-slice")
+ (version (git-version "0.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tpapp/cl-slice")
+ (commit commit)))
+ (file-name (git-file-name "cl-slice" version))
+ (sha256
+ (base32 "1ybznf4y5lda6bn163jcvj281qzhm24dfcwhbgxmm5n6f27gdccl"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("clunit" ,sbcl-clunit)))
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("anaphora" ,sbcl-anaphora)
+ ("let-plus" ,sbcl-let-plus)))
+ (home-page "https://github.com/tpapp/cl-slice")
+ (synopsis "Array slices for Common Lisp")
+ (description
+ "This package provides a DSL for array slices in Common Lisp.")
+ (license license:expat))))
+
+(define-public ecl-cl-slice
+ (sbcl-package->ecl-package sbcl-cl-slice))
+
+(define-public cl-slice
+ (sbcl-package->cl-source-package sbcl-cl-slice))
+
+(define-public sbcl-djula
+ (let ((commit "5df7af35a21503d468a878fc6029caa527a7d204")
+ (revision "1"))
+ (package
+ (name "sbcl-djula")
+ (version (git-version "0.2.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mmontone/djula")
+ (commit commit)))
+ (file-name (git-file-name "djula" version))
+ (sha256
+ (base32 "1lk2ypm3sacf60h96a7hv9jwjlxkl4k40yzdalmqdg548vrd1jjm"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (inputs
+ `(("access" ,sbcl-access)
+ ("alexandria" ,sbcl-alexandria)
+ ("anaphora" ,sbcl-anaphora)
+ ("babel" ,sbcl-babel)
+ ("cl-locale" ,sbcl-cl-locale)
+ ("cl-ppcre" ,sbcl-cl-ppcre)
+ ("cl-slice" ,sbcl-cl-slice)
+ ("closer-mop" ,sbcl-closer-mop)
+ ("gettext" ,sbcl-gettext)
+ ("iterate" ,sbcl-iterate)
+ ("local-time" ,sbcl-local-time)
+ ("parser-combinators" ,sbcl-parser-combinators)
+ ("split-sequence" ,sbcl-split-sequence)
+ ("trivial-backtrace" ,sbcl-trivial-backtrace)))
+ (home-page "https://mmontone.github.io/djula/")
+ (synopsis "Common Lisp port of the Django templating language")
+ (description
+ "This package provides a Common Lisp templating system based on Python
+Django with a syntax similar to Python Jinja2.")
+ (license license:expat))))
+
+(define-public ecl-djula
+ (sbcl-package->ecl-package sbcl-djula))
+
+(define-public cl-djula
+ (sbcl-package->cl-source-package sbcl-djula))
+
+(define-public sbcl-for
+ (let ((commit "2e4fcfa0f9c1d2f4559c58cef20ccefa50ba180d")
+ (revision "1"))
+ (package
+ (name "sbcl-for")
+ (version (git-version "1.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shinmera/for")
+ (commit commit)))
+ (file-name (git-file-name "for" version))
+ (sha256
+ (base32 "1akz9ggh33x2cq3h0f1cd0p632v1mbagv3dzsb0r10bwg9lh3nmv"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("documentation-utils" ,sbcl-documentation-utils)
+ ("form-fiddle" ,sbcl-form-fiddle)
+ ("lambda-fiddle" ,sbcl-lambda-fiddle)))
+ (home-page "https://shinmera.github.io/for/")
+ (synopsis "Extensible iteration macro library")
+ (description
+ "For is a library for an extensible iteration macro. It allows you to write
+concise looping constructs similar to @code{loop} and @code{iterate}. Unlike
+loop however it is extensible and sensible, and unlike iterate it does not
+require code-walking and is easier to extend.")
+ (license license:zlib))))
+
+(define-public ecl-for
+ (sbcl-package->ecl-package sbcl-for))
+
+(define-public cl-for
+ (sbcl-package->cl-source-package sbcl-for))
+
+(define-public sbcl-flare
+ (let ((commit "4f9f17a4fc5b368c2a1988b9a20288695b8d8c48")
+ (revision "1"))
+ (package
+ (name "sbcl-flare")
+ (version (git-version "1.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shinmera/flare")
+ (commit commit)))
+ (file-name (git-file-name "flare" version))
+ (sha256
+ (base32 "00nm3sjngbflj2gd5q0xs2m136w4kix6krww23nk64pkkyq2fs86"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("3d-vectors" ,sbcl-3d-vectors)
+ ("array-utils" ,sbcl-array-utils)
+ ("documentation-utils" ,sbcl-documentation-utils)
+ ("for" ,sbcl-for)
+ ("lambda-fiddle" ,sbcl-lambda-fiddle)
+ ("trivial-garbage" ,sbcl-trivial-garbage)))
+ (home-page "https://shinmera.github.io/flare/")
+ (synopsis "Easy particle systems with fine grained control")
+ (description
+ "FLARE is a library designed to allow quick and precise particle effect
+creations. It does not concern itself with displaying and only with the
+management and movement of particles. As such, it can easily be integrated into
+any existing or future application.")
+ (license license:zlib))))
+
+(define-public ecl-flare
+ (sbcl-package->ecl-package sbcl-flare))
+
+(define-public cl-flare
+ (sbcl-package->cl-source-package sbcl-flare))
+
+(define-public sbcl-simple-inferiors
+ (let ((commit "deac886354e03f8a9502ce96f12a0459ce3be671"))
+ (package
+ (name "sbcl-simple-inferiors")
+ (version (git-version "1.1.0" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shinmera/simple-inferiors")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "08vsvqv3768bwb2y8mwxbw5wyqzzwqr7rd004r6gafdgf9p9mcx3"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("bordeaux-threads" ,sbcl-bordeaux-threads)
+ ("documentation-utils" ,sbcl-documentation-utils)))
+ (home-page "https://shinmera.github.io/simple-inferiors/")
+ (synopsis "Common Lisp library to use inferior processes")
+ (description
+ "This is a library to allow easy handling of external processes, and
+primarily to get their output. It handles proper copying of the standard and
+error outputs of the process simultaneously, both in a sequential and parallel
+fashion. It also features a lazy directory switching mechanism, to avoid
+running into parallelism problems when having to change directory.")
+ (license license:zlib))))
+
+(define-public ecl-simple-inferiors
+ (sbcl-package->ecl-package sbcl-simple-inferiors))
+
+(define-public cl-simple-inferiors
+ (sbcl-package->cl-source-package sbcl-simple-inferiors))
+
+(define-public sbcl-legit
+ (let ((commit "48d50a20d8dcbd941d119683463b7c8257ba6458"))
+ (package
+ (name "sbcl-legit")
+ (version (git-version "1.0.0" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shinmera/legit")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "181aqpj4zkfk1aavj5jw8rym6gw4ma3gd64z2h5fpryabgmwk236"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("simple-inferiors" ,sbcl-simple-inferiors)
+ ("lambda-fiddle" ,sbcl-lambda-fiddle)
+ ("cl-ppcre" ,sbcl-cl-ppcre)
+ ("documentation-utils" ,sbcl-documentation-utils)))
+ (home-page "https://shinmera.github.io/legit/")
+ (synopsis "Interface to the git binary")
+ (description
+ "This is an interface to the @code{git} binary to make controlling it
+from within Common Lisp much easier. It might not ever reach full coverage of
+all features given git's immense size, but features will be added as they are
+needed. The low-level command API is fully mapped however.")
+ (license license:zlib))))
+
+(define-public ecl-legit
+ (sbcl-package->ecl-package sbcl-legit))
+
+(define-public cl-legit
+ (sbcl-package->cl-source-package sbcl-legit))
+
+(define-public sbcl-flow
+ (let ((commit "6d925af009cdfe033650d7048197a5e6ee937d15")
+ (revision "1"))
+ (package
+ (name "sbcl-flow")
+ (version (git-version "1.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shinmera/flow")
+ (commit commit)))
+ (file-name (git-file-name "flow" version))
+ (sha256
+ (base32 "0ysw1kwiqlf8kzllhnz8v3q40dmvwf83fzq8bfkbmwy5hfjh3pxp"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ ;; FIXME: (Sharlatan-20210527T203118+0100): FLOW-VISUALIZER requires
+ ;; COMMONQT which is not packed yet and required tweaks with QT. Remove
+ ;; this when it's ready.
+ `(#:asd-files '("flow.asd")))
+ (inputs
+ `(("closer-mop" ,sbcl-closer-mop)
+ ("documentation-utils" ,sbcl-documentation-utils)))
+ (home-page "https://shinmera.github.io/flow/")
+ (synopsis "Tools for the representation of graphs and flowcharts")
+ (description
+ "FLOW is a flowchart graph library. Unlike other graphing libraries,
+this one focuses on nodes in a graph having distinct @code{ports} through which
+connections to other nodes are formed. This helps in many concrete scenarios
+where it is important to distinguish not only which nodes are connected, but
+also how they are connected to each other.
+
+Particularly, a lot of data flow and exchange problems can be reduced to such
+a @code{flowchart}. For example, an audio processing library may present its
+pipeline as a flowchart of segments that communicate with each other through
+audio sample buffers. Flow gives a convenient view onto this kind of problem,
+and even allows the generic visualisation of graphs in this format.")
+ (license license:zlib))))
+
+(define-public ecl-flow
+ (sbcl-package->ecl-package sbcl-flow))
+
+(define-public cl-flow
+ (sbcl-package->cl-source-package sbcl-flow))
+
+(define-public sbcl-cl-glfw3
+ (let ((commit "32c3f34d592d55ee7ce932ed85804c1a9c4158c6")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-glfw3")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/AlexCharlton/cl-glfw3")
+ (commit commit)))
+ (file-name (git-file-name "cl-glfw3" version))
+ (sha256
+ (base32 "1wzr43nckdx4rlgxzhm1r4kfc264q969mc43y0js9ramh7l8gba5"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-glfw-lib-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "glfw-bindings.lisp"
+ (("libglfw.so.3" all)
+ (string-append (assoc-ref inputs "glfw") "/lib/" all))))))))
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("cffi" ,sbcl-cffi)
+ ("cl-opengl" ,sbcl-cl-opengl)
+ ("glfw" ,glfw)
+ ("trivial-main-thread" ,sbcl-trivial-main-thread)))
+ (home-page "https://github.com/AlexCharlton/cl-glfw3")
+ (synopsis "Common Lisp bindings to GLFW version 3.x")
+ (description
+ "This package provides a Common Lisp bindings to @code{glfw}, an OpenGL
+application development library.")
+ (license license:bsd-2))))
+
+(define-public ecl-cl-glfw3
+ (sbcl-package->ecl-package sbcl-cl-glfw3))
+
+(define-public cl-glfw3
+ (sbcl-package->cl-source-package sbcl-cl-glfw3))
+
+(define-public sbcl-chirp
+ (let ((commit "01c79fa41939688216d1f86d0766a687becb0654")
+ (revision "1"))
+ (package
+ (name "sbcl-chirp")
+ (version (git-version "0.2.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shinmera/chirp")
+ (commit commit)))
+ (file-name (git-file-name "chirp" version))
+ (sha256
+ (base32 "10xlz1vwdv3jv48kmpndpnrg6672m0r5vsjgm2pksfl8bc05j2m0"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:asd-systems '("chirp-core" "chirp-dexador" "chirp-drakma" "chirp")))
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("babel" ,sbcl-babel)
+ ("cl-base64" ,sbcl-cl-base64)
+ ("cl-ppcre" ,sbcl-cl-ppcre)
+ ("dexador" ,sbcl-dexador)
+ ("drakma" ,sbcl-drakma)
+ ("flexi-streams" ,sbcl-flexi-streams)
+ ("ironclad" ,sbcl-ironclad)
+ ("local-time" ,sbcl-local-time)
+ ("split-sequence" ,sbcl-split-sequence)
+ ("uuid" ,sbcl-uuid)
+ ("yason" ,sbcl-yason)))
+ (home-page "https://shinmera.github.io/chirp/")
+ (synopsis "Twitter client library for Common Lisp")
+ (description
+ "This package provides a Common Lisp Twitter client featuring full API
+coverage.")
+ (license license:zlib))))
+
+(define-public ecl-chirp
+ (sbcl-package->ecl-package sbcl-chirp))
+
+(define-public cl-chirp
+ (sbcl-package->cl-source-package sbcl-chirp))
+
+(define-public sbcl-cepl
+ (let ((commit "d1a10b6c8f4cedc07493bf06aef3a56c7b6f8d5b")
+ (revision "1"))
+ (package
+ (name "sbcl-cepl")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cbaggers/cepl")
+ (commit commit)))
+ (file-name (git-file-name "cepl" version))
+ (sha256
+ (base32 "0izbw2advqm3wailj3dpq6zqfrfirwn14pw5qmqh8i71r51xwmm2"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:asd-files '("cepl.asd" "cepl.build.asd")))
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("bordeaux-threads" ,sbcl-bordeaux-threads)
+ ("cffi" ,sbcl-cffi)
+ ("cl-opengl" ,sbcl-cl-opengl)
+ ("cl-ppcre" ,sbcl-cl-ppcre)
+ ("documentation-utils" ,sbcl-documentation-utils)
+ ("float-features" ,sbcl-float-features)
+ ("ieee-floats" ,sbcl-ieee-floats)
+ ("split-sequence" ,sbcl-split-sequence)
+ ("varjo" ,sbcl-varjo)))
+ (propagated-inputs
+ `(("quickproject" ,sbcl-quickproject)))
+ (home-page "https://github.com/cbaggers/cepl")
+ (synopsis "Development playground to work with OpenGL")
+ (description
+ "CEPL (Code Evaluate Play Loop ) is a lispy and REPL-friendly Common Lisp
+library for working with OpenGL.
+
+Its definition of success is making the user feel that GPU programming has
+always been part of the languages standard.
+
+The usual approach to using CEPL is to start it at the beginning of your Lisp
+session and leave it open for the duration of your work. You can then treat the
+window it creates as just another output for your graphics, analogous to how
+@code{*standard-output*} is treated for text.")
+ (license license:bsd-2))))
+
+(define-public ecl-cepl
+ (sbcl-package->ecl-package sbcl-cepl))
+
+(define-public cl-cepl
+ (sbcl-package->cl-source-package sbcl-cepl))
+
+(define-public sbcl-stmx
+ ;; No release for years and recent commits contain fixes for revent SBCL versions.
+ (let ((commit "a7bb44082cd53ee968965adff03d4351750711a1")
+ (revision "1"))
+ (package
+ (name "sbcl-stmx")
+ (version (git-version "2.0.5" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cosmos72/stmx/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1hfmh4vj271jdilir97qs6nqbi5nmn5alyls0w3d3xxqwi6ffqjs"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("bordeaux-threads" ,sbcl-bordeaux-threads)
+ ("log4cl" ,sbcl-log4cl)
+ ("closer-mop" ,sbcl-closer-mop)
+ ("trivial-garbage" ,sbcl-trivial-garbage)))
+ (home-page "https://stmx.org/")
+ (synopsis "High performance Transactional Memory for Common Lisp")
+ (description
+ "STMX is a high-performance implementation of composable Transactional
+Memory, which is a concurrency control mechanism aimed at making concurrent
+programming easier to write and understand. Instead of traditional lock-based
+programming, one programs with atomic memory transactions, which can be
+composed together to make larger atomic memory transactions.
+
+A memory transaction gets committed if it returns normally, while it gets
+rolled back if it signals an error (and the error is propagated to the
+caller).
+
+Finally, memory transactions can safely run in parallel in different threads,
+are re-executed from the beginning in case of conflicts or if consistent reads
+cannot be guaranteed, and their effects are not visible from other threads
+until they commit.
+
+Memory transactions give freedom from deadlocks, are immune to thread-safety
+bugs and race conditions, provide automatic roll-back on failure, and aim at
+resolving the tension between granularity and concurrency.")
+ (license license:llgpl))))
+
+(define-public ecl-stmx
+ (sbcl-package->ecl-package sbcl-stmx))
+
+(define-public cl-stmx
+ (sbcl-package->cl-source-package sbcl-stmx))
+
+(define-public sbcl-binding-arrows
+ ;; Fork of sbcl-arrows that does not have a new tag.
+ (let ((commit "d19364ec8850880ed6e42078ccaa2ed9114dc83a")
+ (revision "1"))
+ (package
+ (name "sbcl-binding-arrows")
+ (version (git-version "1.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/phoe/binding-arrows")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0hqikgzic7kjq2n1d924yldfm30qz67cmsk6gghi9cbmxkwdlwp8"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
+ (home-page "https://github.com/phoe/binding-arrows")
+ (synopsis "Threading macros based on binding anonymous variables")
+ (description
+ "This system implements binding threading macros -- a kind of threading
+macros with different semantics than classical, Clojure core threading macros
+or their extension, swiss-arrows. Two Common Lisp implementations of those are
+@code{arrows} and @code{arrow-macros}.
+
+This system is a fork of @code{arrows} with changes in semantics that make it
+impossible to merge back upstream.")
+ (license license:expat))))
+
+(define-public ecl-binding-arrows
+ (sbcl-package->ecl-package sbcl-binding-arrows))
+
+(define-public cl-binding-arrows
+ (sbcl-package->cl-source-package sbcl-binding-arrows))
+
+(define-public sbcl-atomics
+ ;; No release in years.
+ (let ((commit "9ee0bdebcd2bb9b242671a75460db13fbf45454c")
+ (revision "1"))
+ (package
+ (name "sbcl-atomics")
+ (version (git-version "1.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shinmera/atomics")
+ (commit commit)))
+ (file-name (git-file-name "atomics" version))
+ (sha256
+ (base32 "0mp5jdqq0aamdhgnvw149cqqi3zg7dkkibp25qi4rafw1fnpd40z"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("documentation-utils" ,sbcl-documentation-utils)))
+ (native-inputs
+ `(("parachute" ,sbcl-parachute)))
+ (home-page "https://shinmera.github.io/atomics/")
+ (synopsis "Common Lisp portability layer for atomic operations")
+ (description
+ "This is a library for access to atomic operation primitives such as
+compare-and-swap. It aims to be a rather thin layer over what the
+implementations offer.")
+ (license license:zlib))))
+
+(define-public ecl-atomics
+ (sbcl-package->ecl-package sbcl-atomics))
+
+(define-public cl-atomics
+ (sbcl-package->cl-source-package sbcl-atomics))
+
+(define-public sbcl-cl-mock
+ ;; .asd version only got updated recently, despired the old GitHug "1.0.1" release.
+ (let ((commit "7988dca2093358911b67597a2cd1570c785dfe76"))
+ (package
+ (name "sbcl-cl-mock")
+ (version (git-version "1.0.1" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Ferada/cl-mock/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0f40wikcf783jx26ip0nnhwjjfjvjiw7njqsqrb6kaphc8bgw0i1"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("closer-mop" ,sbcl-closer-mop)
+ ("trivia" ,sbcl-trivia)))
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (home-page "https://github.com/Ferada/cl-mock")
+ (synopsis "Mocking functions for Common Lisp testing")
+ (description
+ "This small library provides a way to replace the actual implementation
+of either regular or generic functions with mocks.")
+ (license license:agpl3))))
+
+(define-public ecl-cl-mock
+ (sbcl-package->ecl-package sbcl-cl-mock))
+
+(define-public cl-mock
+ (sbcl-package->cl-source-package sbcl-cl-mock))
+
+(define-public sbcl-cl-murmurhash
+ ;; No release.
+ (let ((commit "5433f5e95f1cce63a81259a471150834c6a59364")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-murmurhash")
+ (version (git-version "0.0.0" revision commit))
+ (home-page "https://github.com/ruricolist/cl-murmurhash/")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0251r0mpjm0y3qsm4lm7ncvrkxvgwc53spdm1p2mpayhvkkqqsws"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("babel" ,sbcl-babel)))
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (synopsis "32-bit version of Murmurhash3 for Common Lisp")
+ (description
+ "This Common Lisp package offers an implementation of the 32-bit
+variant of MurmurHash3 (@url{https://github.com/aappleby/smhasher}), a fast
+non-crytographic hashing algorithm.")
+ (license license:expat))))
+
+(define-public ecl-cl-murmurhash
+ (sbcl-package->ecl-package sbcl-cl-murmurhash))
+
+(define-public cl-murmurhash
+ (sbcl-package->cl-source-package sbcl-cl-murmurhash))
+
+(define-public sbcl-cl-hamt
+ ;; No release
+ (let ((commit "7a99eaaca1f952029def9ad5a2b80a612a712208"))
+ (package
+ (name "sbcl-cl-hamt")
+ (version (git-version "0.0.0" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/danshapero/cl-hamt/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ycbd73ykfj5j9sdhlzamyv18qbjj6xqf7fhm4fa0nsyr6sr3rf5"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("cl-murmurhash" ,sbcl-cl-murmurhash)))
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (home-page "https://github.com/danshapero/cl-hamt")
+ (synopsis "Dictionary & set data structure using hash array-mapped tries")
+ (description
+ "This library provides purely functional dictionaries and sets in
+Common Lisp based on the hash array-mapped trie data structure.")
+ (license license:bsd-3))))
+
+(define-public ecl-cl-hamt
+ (sbcl-package->ecl-package sbcl-cl-hamt))
+
+(define-public cl-hamt
+ (sbcl-package->cl-source-package sbcl-cl-hamt))
+
+(define-public sbcl-cl-gserver
+ (package
+ (name "sbcl-cl-gserver")
+ (version "1.8.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mdbergmann/cl-gserver")
+ (commit version)))
+ (file-name (git-file-name "cl-gserver" version))
+ (sha256
+ (base32 "1bfz7z8v417dvsp1jz76ir3ihcs8g7zis2d56xx1dpzqzjd95g7z"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("bordeaux-threads" ,sbcl-bordeaux-threads)
+ ("lparallel" ,sbcl-lparallel)
+ ("cl-speedy-queue" ,sbcl-cl-speedy-queue)
+ ("log4cl" ,sbcl-log4cl)
+ ("str" ,sbcl-cl-str)
+ ("blackbird" ,sbcl-blackbird)
+ ("cl-hamt" ,sbcl-cl-hamt)
+ ("binding-arrows" ,sbcl-binding-arrows)
+ ("atomics" ,sbcl-atomics)))
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)
+ ("mock" ,sbcl-cl-mock)))
+ (home-page "https://mdbergmann.github.io/cl-gserver/index.html")
+ (synopsis "Actor framework for easy access to state and async operations")
+ (description
+ "@code{cl-gserver} is a 'message passing' library / framework with actors
+similar to Erlang or Akka. It supports creating reactive systems for parallel
+computing and event based message handling.")
+ (license license:agpl3)))
+
+(define-public ecl-cl-gserver
+ (sbcl-package->ecl-package sbcl-cl-gserver))
+
+(define-public cl-gserver
+ (sbcl-package->cl-source-package sbcl-cl-gserver))
+
+(define-public sbcl-cl-posix-mqueue
+ (let ((commit "8977370c7206d1f62bd1be80f4254af40654b83f")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-posix-mqueue")
+ (version (git-version "0.1.2" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xFA25E/cl-posix-mqueue")
+ (commit commit)))
+ (file-name (git-file-name "cl-posix-mqueue" version))
+ (sha256
+ (base32 "04519rg8vc782z097dzlb8nx0skab2fy2zd0m60r6mz2nw8xdvh6"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:test-asd-file "cl-posix-mqueue-tests.asd"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-librt-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/spec.lisp"
+ (("librt.so" all)
+ (string-append (assoc-ref inputs "glibc") "/lib/" all))))))))
+ (native-inputs
+ `(("cl-ppcre" ,sbcl-cl-ppcre)
+ ("rove" ,sbcl-rove)))
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("babel" ,sbcl-babel)
+ ("cffi" ,sbcl-cffi)
+ ("glibc" ,glibc)
+ ("local-time" ,sbcl-local-time)))
+ (home-page "https://github.com/xFA25E/cl-posix-mqueue")
+ (synopsis "Common Lisp binding to POSIX mqueue")
+ (description
+ "This package provides Common Lisp bindings to POSIX message queue, an
+@acronym{IPC, Inter-Process Communication} method that is easy to use and quick
+to setup.")
+ (license license:gpl3))))
+
+(define-public ecl-cl-posix-mqueue
+ (sbcl-package->ecl-package sbcl-cl-posix-mqueue))
+
+(define-public cl-posix-mqueue
+ (sbcl-package->cl-source-package sbcl-cl-posix-mqueue))
+
+(define-public sbcl-sdl2
+ (let ((commit "bb2aa2a41cf799e3bb1ddf50de41fe389c6db668")
+ (revision "1"))
+ (package
+ (name "sbcl-sdl2")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lispgames/cl-sdl2")
+ (commit commit)))
+ (file-name (git-file-name "cl-sdl2" version))
+ (sha256
+ (base32 "1a4904310z2wwq80grnlixmyz30452vgd4lh74y105j2yrr43z97"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/library.lisp"
+ (("libSDL2-2.0.so.0" all)
+ (string-append (assoc-ref inputs "libsdl2") "/lib/" all)))
+ #t)))))
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("cl-autowrap" ,sbcl-cl-autowrap)
+ ("cl-ppcre" ,sbcl-cl-ppcre)
+ ("libsdl2" ,sdl2)
+ ("trivial-channels" ,sbcl-trivial-channels)
+ ("trivial-features" ,sbcl-trivial-features)))
+ (home-page "https://github.com/lispgames/cl-sdl2")
+ (synopsis "Common Lisp bindings for SDL2 using C2FFI")
+ (description
+ "This package provides a Common Lisp wrapper system for the SDL 2.0
+C Library.")
+ (license license:expat))))
+
+(define-public ecl-sdl2
+ (sbcl-package->ecl-package sbcl-sdl2))
+
+(define-public cl-sdl2
+ (sbcl-package->cl-source-package sbcl-sdl2))
+
+(define-public sbcl-cl-gamepad
+ (let ((commit "7e12137927b42db064ffbf9ea34bd4790ad4bb33")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-gamepad")
+ (version (git-version "3.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shirakumo/cl-gamepad")
+ (commit commit)))
+ (file-name (git-file-name "cl-gamepad" version))
+ (sha256
+ (base32 "1gzx590i7s81qmramnjvfzrrq5yppas8yxqq1jl3yzqhhjwjfvkd"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-evdev-lib-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "evdev-cffi.lisp"
+ (("libevdev.so" all)
+ (string-append (assoc-ref inputs "libevdev")
+ "/lib/" all)))))
+ ;; Here we use a custom build phase to work around a compilation bug.
+ ;; Using 'asdf:compile-system' fails, but using 'asdf:load-system'
+ ;; succeeds (and also compiles the system).
+ ;; See https://github.com/Shirakumo/cl-gamepad/issues/8
+ (replace 'build
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (source-path (string-append out
+ "/share/common-lisp/"
+ (%lisp-type)))
+ (translations `((,source-path
+ :**/ :*.*.*)
+ (,(string-append out
+ "/lib/common-lisp/"
+ (%lisp-type))
+ :**/ :*.*.*))))
+ (setenv "ASDF_OUTPUT_TRANSLATIONS"
+ (format #f "~S" `(:output-translations
+ ,translations
+ :inherit-configuration)))
+ (setenv "HOME" (assoc-ref outputs "out"))
+ (with-directory-excursion (string-append source-path
+ "/cl-gamepad")
+ (invoke (%lisp-type)
+ "--eval" "(require :asdf)"
+ "--eval" "(asdf:load-asd (truename \"cl-gamepad.asd\"))"
+ "--eval" "(asdf:load-system :cl-gamepad)"
+ "--eval" "(quit)"))))))))
+ (inputs
+ `(("cffi" ,sbcl-cffi)
+ ("documentation-utils" ,sbcl-documentation-utils)
+ ("libevdev" ,libevdev)
+ ("trivial-features" ,sbcl-trivial-features)))
+ (home-page "https://shirakumo.github.io/cl-gamepad/")
+ (synopsis "Library for access to gamepads and joystick input devices")
+ (description
+ "This is a library to provide cross-platform access to gamepads,
+joysticks, and other such HID devices.")
+ (license license:zlib))))
+
+(define-public ecl-cl-gamepad
+ (sbcl-package->ecl-package sbcl-cl-gamepad))
+
+(define-public cl-gamepad
+ (sbcl-package->cl-source-package sbcl-cl-gamepad))
+
+(define-public sbcl-trial
+ (let ((commit "ba178cac3a5528c570c7e8dad66c58cc770db53a")
+ (revision "1"))
+ (package
+ (name "sbcl-trial")
+ (version (git-version "1.2.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shirakumo/trial")
+ (commit commit)))
+ (file-name (git-file-name "trial" version))
+ (sha256
+ (base32 "1vpv9nrpq93fz1c5cyi1hazaaz9ijbrf1l7zwp7gammndr5v028r"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("trivial-features" ,sbcl-trivial-features)))
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("3d-matrices" ,sbcl-3d-matrices)
+ ("3d-vectors" ,sbcl-3d-vectors)
+ ("bordeaux-threads" ,sbcl-bordeaux-threads)
+ ("cl-gamepad" ,sbcl-cl-gamepad)
+ ("cl-jpeg" ,sbcl-cl-jpeg)
+ ("cl-opengl" ,sbcl-cl-opengl)
+ ("cl-ppcre" ,sbcl-cl-ppcre)
+ ("cl-tga" ,sbcl-cl-tga)
+ ("closer-mop" ,sbcl-closer-mop)
+ ("deploy" ,sbcl-deploy)
+ ("fast-io" ,sbcl-fast-io)
+ ("flare" ,sbcl-flare)
+ ("float-features" ,sbcl-float-features)
+ ("flow" ,sbcl-flow)
+ ("for" ,sbcl-for)
+ ("form-fiddle" ,sbcl-form-fiddle)
+ ("glsl-toolkit" ,sbcl-glsl-toolkit)
+ ("ieee-floats" ,sbcl-ieee-floats)
+ ("jsown" ,sbcl-jsown)
+ ("lambda-fiddle" ,sbcl-lambda-fiddle)
+ ("lquery" ,sbcl-lquery)
+ ("messagebox" ,sbcl-messagebox)
+ ("mmap" ,sbcl-mmap)
+ ("pathname-utils" ,sbcl-pathname-utils)
+ ("pngload" ,sbcl-pngload)
+ ("retrospectiff" ,sbcl-retrospectiff)
+ ("static-vectors" ,sbcl-static-vectors)
+ ("terrable" ,sbcl-terrable)
+ ("trivial-garbage" ,sbcl-trivial-garbage)
+ ("trivial-indent" ,sbcl-trivial-indent)
+ ("verbose" ,sbcl-verbose)
+ ("zpng" ,sbcl-zpng)))
+ (home-page "https://github.com/Shirakumo/trial")
+ (synopsis "Common Lisp game engine")
+ (description
+ "Trial is a game engine written in Common Lisp. Unlike many other
+engines, it is meant to be more of a loose connection of components that can be
+fit together as required by any particular game.")
+ (license license:zlib))))
+
+(define-public ecl-trial
+ (sbcl-package->ecl-package sbcl-trial))
+
+(define-public cl-trial
+ (sbcl-package->cl-source-package sbcl-trial))
+
+(define-public sbcl-org-sampler
+ (let ((commit "ee135a417750e5b1d810bb9574eb85223cb3038a")
+ (revision "1"))
+ (package
+ (name "sbcl-org-sampler")
+ (version (git-version "0.2.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jphmrst/cl-org-sampler")
+ (commit commit)))
+ (file-name (git-file-name "cl-org-sampler" version))
+ (sha256
+ (base32 "1dg029in14928qfxvfshyxmdwhzskzhxx3na0zy98ybx69b21qla"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("iterate" ,sbcl-iterate)))
+ (home-page "https://github.com/jphmrst/cl-org-sampler")
+ (synopsis "Extracting Common Lisp docstrings as Emacs Org-mode documents")
+ (description
+ "ORG-SAMPLER allows using Lisp docstrings and reflection to make org-mode
+text for inclusion into a larger document.")
+ (license license:llgpl))))
+
+(define-public ecl-org-sampler
+ (sbcl-package->ecl-package sbcl-org-sampler))
+
+(define-public cl-org-sampler
+ (sbcl-package->cl-source-package sbcl-org-sampler))
+
+(define-public sbcl-acl-compat
+ ;; There does not seem to be proper releases.
+ (let ((commit "cac1d6920998ddcbee8310a873414732e707d8e5"))
+ (package
+ (name "sbcl-acl-compat")
+ (version (git-version "0.1.1" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://git.code.sf.net/p/portableaserve/git")
+ (commit commit)))
+ (file-name (git-file-name "acl-compat" version))
+ (sha256
+ (base32 "0ak6mqp84sjr0a7h5svr16vra4bf4fcx6wpir0n88dc1vjwy5xqa"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'cd-acl-compat
+ (lambda _
+ (chdir "acl-compat")
+ #t)))))
+ (inputs
+ `(("puri" ,sbcl-puri)
+ ("cl-ppcre" ,sbcl-cl-ppcre)
+ ("ironclad" ,sbcl-ironclad)
+ ("cl-fad" ,sbcl-cl-fad)))
+ (home-page "https://sourceforge.net/projects/portableaserve/")
+ (synopsis "AllegroServe, a web server written in Common Lisp")
+ (description
+ "The server part of AllegroServe can be used either as a standalone web
+server or a module loaded into an application to provide a user interface to
+the application. AllegroServe's proxy ability allows it to run on the gateway
+machine between some internal network and the Internet. AllegroServe's client
+functions allow Lisp programs to explore the web.")
+ (license license:llgpl))))
+
+(define-public cl-acl-compat
+ (sbcl-package->cl-source-package sbcl-acl-compat))
+
+(define-public sbcl-aserve
+ ;; There does not seem to be proper releases.
+ (let ((commit "cac1d6920998ddcbee8310a873414732e707d8e5"))
+ (package
+ (name "sbcl-aserve")
+ (version (git-version "1.2.50" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ ;; https://github.com/franzinc/aserve/ seems to be incompatible
+ ;; with SBCL, etc.
+ (url "git://git.code.sf.net/p/portableaserve/git")
+ (commit commit)))
+ (file-name (git-file-name "aserve" version))
+ (sha256
+ (base32 "0ak6mqp84sjr0a7h5svr16vra4bf4fcx6wpir0n88dc1vjwy5xqa"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'cd-aserve
+ (lambda _
+ (chdir "aserve")
+ #t))
+ (add-after 'cd-aserve 'fix-asd
+ (lambda _
+ (substitute* "aserve.asd"
+ ((" :force t") ""))
+ #t))
+ (add-after 'cd-aserve 'fix-tests
+ (lambda _
+ (substitute* "test/t-aserve.cl"
+ (("\\(asdf:oos 'asdf:load-op :ptester\\)") ""))
+ #t)))))
+ (inputs
+ `(("acl-compat" ,sbcl-acl-compat)))
+ (home-page "https://franz.com/support/documentation/current/doc/aserve/aserve.html")
+ (synopsis "AllegroServe, a web server written in Common Lisp")
+ (description
+ "The server part of AllegroServe can be used either as a standalone web
+server or a module loaded into an application to provide a user interface to
+the application. AllegroServe's proxy ability allows it to run on the gateway
+machine between some internal network and the Internet. AllegroServe's client
+functions allow Lisp programs to explore the web.")
+ (license license:llgpl))))
+
+(define-public cl-aserve
+ (sbcl-package->cl-source-package sbcl-aserve))
+
+(define-public sbcl-yxorp
+ (let ((commit "d2e8f9304549e47ae5c7fa35a6b114804603eac9")
+ (revision "1"))
+ (package
+ (name "sbcl-yxorp")
+ (version (git-version "0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/charJe/cl-yxorp")
+ (commit commit)))
+ (file-name (git-file-name "cl-yxorp" version))
+ (sha256
+ (base32 "1zz1j678vzwkf817h2z0pf0fcyf4mldv4hiv1wyam58hd4bcrjsw"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("cl+ssl" ,sbcl-cl+ssl)
+ ("cl-binding-arrows" ,sbcl-binding-arrows)
+ ("cl-str" ,sbcl-cl-str)
+ ("cl-usocket" ,sbcl-usocket)
+ ("flexi-streams" ,sbcl-flexi-streams)
+ ("trivial-garbage" ,sbcl-trivial-garbage)))
+ (home-page "https://github.com/charje/cl-yxorp")
+ (synopsis
+ "Reverse proxy server written in and configurable in Common Lisp")
+ (description
+ "This is a reverse proxy server written in and configurable in
+Common Lisp. It supports WebSocket, HTTP, HTTPS, HTTP to HTTPS
+redirecting, port and host forwarding configuration using a real programming
+language, HTTP header and body manipulation (also using a real programming
+language).")
+ (license license:agpl3))))
+
+(define-public ecl-yxorp
+ ;; Note that due to a bug in ECL this package does not build.
+ ;; The bug has already been fixed on the development branch,
+ ;; so this package will work work in the version after 21.2.1.
+ (sbcl-package->ecl-package sbcl-yxorp))
+
+(define-public cl-yxorp
+ (sbcl-package->cl-source-package sbcl-yxorp))
+
+(define-public cl-yxorp-cli
+ (package
+ (inherit sbcl-yxorp)
+ (name "cl-yxorp-cli")
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f
+ #:strip-binaries? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'set-home
+ (lambda _
+ (setenv "HOME" "/tmp")))
+ (replace 'build
+ (lambda _
+ (invoke
+ "sbcl" "--noinform"
+ "--non-interactive"
+ "--no-userinit"
+ "--eval" "(require :asdf)"
+ "--eval" "(pushnew (uiop:getcwd) asdf:*central-registry*)"
+ "--load" "build.lisp")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+ (mkdir-p bin)
+ (install-file "cl-yxorp" bin)))))))
+ (inputs (cons (list "sbcl" sbcl) (package-inputs sbcl-yxorp)))))
+
+(define-public sbcl-rss
+ ;; No release.
+ (let ((commit "51d0145e91b86327ae5c36364f9c3048052e7a58"))
+ (package
+ (name "sbcl-rss")
+ (version (git-version "0.9.1.1" "2" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "http://git.kpe.io/cl-rss.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0wv3j13fj73gigriw5r9vi920hz05ld7zllsvbxdxvmyfy9k1kly"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("aserve" ,sbcl-aserve)
+ ("kmrcl" ,sbcl-kmrcl)
+ ("xmls" ,sbcl-xmls)))
+ (home-page "https://github.com/nsrahmad/cl-rss")
+ (synopsis "Common Lisp RSS processor")
+ (description
+ "This package provides a Common Lisp library for fetching and parsing
+RSS feeds data via HTTP. Currently, it supports RSS versions 0.90,
+0.91, and 0.92 as well as RSS version 2.")
+ (license license:bsd-3))))
+
+(define-public cl-rss
+ (sbcl-package->cl-source-package sbcl-rss))
+
+(define-public sbcl-trivial-with-current-source-form
+ (let ((commit "9e343e043a77a5478c1f77bb626db22335fbbfb8")
+ (revision "1"))
+ (package
+ (name "sbcl-trivial-with-current-source-form")
+ (version (git-version "0.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url
+ "https://github.com/scymtym/trivial-with-current-source-form")
+ (commit commit)))
+ (file-name (git-file-name "trivial-with-current-source-form" version))
+ (sha256
+ (base32 "15zs7mc422ycp1cvcxmirif1dq15mlmv8vzd6l6nzn4qgmph9wz0"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)))
+ (home-page "https://github.com/scymtym/trivial-with-current-source-form")
+ (synopsis "Help producing better errors for macro users")
+ (description
+ "This library allows macro writers to provide better feedback to macro
+users when errors are signaled during macroexpansion. It uses the compiler's
+concept of a source-form to report where the error or warning is located.")
+ (license license:lgpl3))))
+
+(define-public ecl-trivial-with-current-source-form
+ ;; Trivial-with-current-source-form does not give any benefits on ECL.
+ ;; This package is so packages dependent on trivial-with-current-source-form
+ ;; can be loaded on ECL.
+ (sbcl-package->ecl-package sbcl-trivial-with-current-source-form))
+
+(define-public cl-trivial-with-current-source-form
+ (sbcl-package->cl-source-package sbcl-trivial-with-current-source-form))
+
+(define-public sbcl-tailrec
+ (let ((commit "6f882846d8f5bca9138df26510862e64bb15d92f")
+ (revision "2"))
+ (package
+ (name "sbcl-tailrec")
+ (version (git-version "0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/charje/tailrec")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1h8m2npdzd2cpnl75pvv4yvvfwxa7kl6qvalc9s0y4yws0kaih3i"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("alexandia" ,sbcl-alexandria)
+ ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)
+ ("trivial-with-current-source-form"
+ ,sbcl-trivial-with-current-source-form)))
+ (home-page "https://github.com/charje/tailrec")
+ (synopsis "Macro to optimize a Common Lisp function for tail recursion")
+ (description "Just wrap your Common Lisp function in this macro call and
+it will be optimized for tail recursion. You will be warned if the function
+is not tail recursive.")
+ (license license:llgpl))))
+
+(define-public ecl-tailrec
+ (sbcl-package->ecl-package sbcl-tailrec))
+
+(define-public cl-tailrec
+ (sbcl-package->cl-source-package sbcl-tailrec))
+
+(define-public sbcl-issr-core
+ (let ((commit "64e3b07a63a7ca3ad70ba42474f98ac4513580aa")
+ (revision "1"))
+ (package
+ (name "sbcl-issr-core")
+ (version (git-version "0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/interactive-ssr/core")
+ (commit commit)))
+ (file-name (git-file-name "issr-core" version))
+ (sha256
+ (base32 "1bajb09crzadkirdpd6jrpcc55irjd4sxzavygr25l85pafyhniw"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("cl-str" ,sbcl-cl-str)
+ ("global-vars" ,sbcl-global-vars)
+ ("plump" ,sbcl-plump)
+ ("tailrec" ,sbcl-tailrec)))
+ (home-page
+ "https://github.com/interactive-ssr/client/blob/master/main.org")
+ (synopsis "The core functionality for ISSR server modules")
+ (description
+ "ISSR core provides functions and variables for ISSR server modules so
+that different servers can behave similarly. The most important features are
+Document Object Model differencing to generate instructions to update a DOM,
+and DOM cleaning, to ensure that all remote DOMs are the same.")
+ (license license:llgpl))))
+
+(define-public ecl-issr-core
+ (sbcl-package->ecl-package sbcl-issr-core))
+
+(define-public cl-issr-core
+ (sbcl-package->cl-source-package sbcl-issr-core))
+
+(define-public sbcl-portal
+ (let ((commit "cc7ba6a54cea6ef63b17dcc6e653d91d9907f59e")
+ (revision "1"))
+ (package
+ (name "sbcl-portal")
+ (version (git-version "1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/charJe/portal")
+ (commit commit)))
+ (file-name (git-file-name "portal" version))
+ (sha256
+ (base32 "0fc81iwb4lpp8d2scdwafkixxwkfmq4gqns522zyb4bh6c1rfmwy"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("arrows" ,sbcl-arrows)
+ ("cl-base64" ,sbcl-cl-base64)
+ ("cl-str" ,sbcl-cl-str)
+ ("flexi-streams" ,sbcl-flexi-streams)
+ ("global-vars" ,sbcl-global-vars)
+ ("ironclad" ,sbcl-ironclad)
+ ("parse-float" ,sbcl-parse-float)
+ ("usocket" ,sbcl-usocket)))
+ (home-page "https://github.com/charJe/portal")
+ (synopsis "Portable Websocket Server for Common Lisp")
+ (description
+ "This is a websocket server for Common Lisp using usockets to be
+portable between implementations and operating systems. It has a programming
+interface that allows for multiple websocket apps per server using Common Lisp
+keywords for different websocket events. It has useful restarts and
+customizable errors.")
+ (license license:llgpl))))
+
+(define-public ecl-portal
+ (sbcl-package->ecl-package sbcl-portal))
+
+(define-public cl-portal
+ (sbcl-package->cl-source-package sbcl-portal))
+
+(define-public sbcl-hunchenissr
+ (let ((commit "7df702f2e110999a2f31c7ebad81bfc39ac06670")
+ (revision "1"))
+ (package
+ (name "sbcl-hunchenissr")
+ (version (git-version "1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/interactive-ssr/hunchenissr")
+ (commit commit)))
+ (file-name (git-file-name "hunchenissr" version))
+ (sha256
+ (base32 "0826qrvk64pjspdklns29dv3zhzfhd6k42fq030xajv8a7hkcxda"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("cl-base64" ,sbcl-cl-base64)
+ ("cl-str" ,sbcl-cl-str)
+ ("hunchentoot" ,sbcl-hunchentoot)
+ ("issr-core" ,sbcl-issr-core)
+ ("jonathan" ,sbcl-jonathan)
+ ("plump" ,sbcl-plump)
+ ("portal" ,sbcl-portal)))
+ (home-page "https://github.com/interactive-ssr/hunchenissr")
+ (synopsis "Interactive Server Side Rendering backend for Hunchentoot")
+ (description
+ "Hunchenissr works together with issr.js for the development of
+interactive (changing without page refreshes) websites making use of websocket
+and Common Lisp server HTML generation instead of mountains of convoluted
+Javascript.")
+ (license license:llgpl))))
+
+(define-public ecl-hunchenissr
+ (sbcl-package->ecl-package sbcl-hunchenissr))
+
+(define-public cl-hunchenissr
+ (sbcl-package->cl-source-package sbcl-hunchenissr))
+
+(define-public sbcl-hunchenissr-routes
+ (let ((commit "2e831975dc2a6c030f1b518747cf429be8484b31")
+ (revision "1"))
+ (package
+ (name "sbcl-hunchenissr-routes")
+ (version (git-version "0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/interactive-ssr/hunchenissr-routes")
+ (commit commit)))
+ (file-name (git-file-name "hunchenissr-routes" version))
+ (sha256
+ (base32 "1xyqacihxwk4vnffqlg93czmalscglp6sh3bwy3qwb7hdxv6yxz6"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("cl-ppcre" ,sbcl-cl-ppcre)
+ ("cl-unification" ,sbcl-cl-unification)
+ ("hunchenissr" ,sbcl-hunchenissr)))
+ (home-page "https://github.com/interactive-ssr/hunchenissr-routes")
+ (synopsis "Enable path variables when using Hunchenissr")
+ (description
+ "This library enables path variables in networking routes when using
+Hunchenissr for Common Lisp. If a part of the path (between two slashes)
+starts with a question mark (?), that symbol (without question mark) will be
+bound to whatever value was in the same place in the URL (as a string).")
+ (license license:llgpl))))
+
+(define-public ecl-hunchenissr-routes
+ (sbcl-package->ecl-package sbcl-hunchenissr-routes))
+
+(define-public cl-hunchenissr-routes
+ (sbcl-package->cl-source-package sbcl-hunchenissr-routes))
+
+(define-public sbcl-spinneret
+ ;; No release since 2019, no tags.
+ (let ((commit "02451b32648eda4e6e4022bbb7f91d9ea71bebbc"))
+ (package
+ (name "sbcl-spinneret")
+ (version (git-version "3.0" "4" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ruricolist/spinneret/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0jllnsi2ibw0gax9szpdrjxvw9qqibydpdbnkf683yfb1d5jlci1"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("global-vars" ,sbcl-global-vars)
+ ("parenscript" ,sbcl-parenscript)
+ ("cl-markdown" ,sbcl-cl-markdown)
+ ("ppcre" ,sbcl-cl-ppcre)
+ ("serapeum" ,sbcl-serapeum)
+ ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (home-page "https://github.com/ruricolist/spinneret")
+ (synopsis "Common Lisp HTML5 generator")
+ (description
+ "In the crowded space of Common Lisp HTML generators, Spinneret
+occupies the following coordinates:
+
+@itemize
+
+@item Modern. Targets HTML5. Does not treat XML and HTML as the same
+problem. Assumes you will be serving your documents as UTF-8.
+
+@item Composable. Makes it easy to refactor HTML generation into separate
+functions and macros.
+
+@item Pretty. Treats HTML as a document format, not a serialization. Output
+is idiomatic and readable, following the coding style of the HTML5
+specification.
+
+@item Aggressive. If something can be interpreted as HTML, then it will be,
+meaning that some Lisp forms can't be mixed with HTML syntax. In the
+trade-off between 90% convenience and 10% correctness Spinneret is on the side
+of convenience.
+
+@item Bilingual. Spinneret (after loading @code{spinneret/ps}) has the same
+semantics in Lisp and Parenscript.
+
+@end itemize\n")
+ (license license:expat))))
+
+(define-public ecl-spinneret
+ (sbcl-package->ecl-package sbcl-spinneret))
+
+(define-public cl-spinneret
+ (sbcl-package->cl-source-package sbcl-spinneret))
+
+(define-public sbcl-cl-libxml2
+ (let ((commit "8d03110c532c1a3fe15503fdfefe82f60669e4bd"))
+ (package
+ (name "sbcl-cl-libxml2")
+ (version (git-version "0.3.4" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/archimag/cl-libxml2")
+ (commit commit)))
+ (file-name (git-file-name "cl-libxml2" version))
+ (sha256
+ (base32 "09049c13cfp5sc6x9lrw762jd7a9qkfq5jgngqgrzn4kn9qscarw"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("cffi" ,sbcl-cffi)
+ ("flexi-streams" ,sbcl-flexi-streams)
+ ("garbage-pools" ,sbcl-garbage-pools)
+ ("iterate" ,sbcl-iterate)
+ ("metabang-bind" ,sbcl-metabang-bind)
+ ("puri" ,sbcl-puri)
+ ;; Non-Lisp inputs:
+ ("libxml2" ,libxml2)
+ ("libxslt" ,libxslt)))
+ (native-inputs
+ `(("lift" ,sbcl-lift)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* "tree/xtree.lisp"
+ (("libxml2.so.2")
+ (string-append (assoc-ref inputs "libxml2") "/lib/libxml2.so")))
+ (let ((libxslt (assoc-ref inputs "libxslt")))
+ (substitute* "xslt/xslt.lisp"
+ (("libxslt.so.1")
+ (string-append libxslt "/lib/libxslt.so"))
+ (("libexslt.so.0")
+ (string-append libxslt "/lib/libexslt.so"))
+ (("cllibxml2.so")
+ (string-append (assoc-ref outputs "out") "/lib/cllibxml2.so"))))
+ #t))
+ (add-before 'build 'build-helper-library
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((prefix-dir (string-append (assoc-ref outputs "out"))))
+ (mkdir-p (string-append prefix-dir "/lib"))
+ (invoke "make" "-C" "foreign" "install"
+ "INSOPTS="
+ (string-append "PREFIX=" prefix-dir))
+ #t)))
+ (add-after 'unpack 'fix-tests
+ (lambda _
+ (substitute* '("cl-libxml2.asd" "cl-libxslt.asd" "xfactory.asd")
+ ((" :force t") ""))
+ #t)))))
+ (home-page "https://web.archive.org/web/20160121073421/http://cl-libxml2.googlecode.com/svn/doc/index.html")
+ (synopsis "High-level wrapper around libxml2 and libxslt libraries")
+ (description
+ "cl-libxml2 is high-level Common Lisp wrapper around the @code{libxml2}
+and @code{libxslt} libraries.
+
+@itemize
+@item Interfaces for tree manipulation (like @code{cxml-stp}).
+@item Interface for HTML 4.0 non-validating parsers.
+@item Specific APIs to process HTML trees, especially serialization.
+@item XPath API.
+@item XSLT API.
+@item Custom URL resolvers.
+@item XPath extension functions.
+@item XSLT extension elements.
+@item Translates @code{libxml2} and @code{libxslt} errors to Lisp conditions.
+@item Extends the Common Lisp @code{iterate} library with custom drivers for
+child nodes enumeration, etc.
+@item The @code{XFACTORY} system provides a simple and compact syntax for XML generation.
+@end itemize\n")
+ (license license:llgpl))))
+
+(define-public ecl-cl-libxml2
+ (sbcl-package->ecl-package sbcl-cl-libxml2))
+
+(define-public cl-libxml2
+ (sbcl-package->cl-source-package sbcl-cl-libxml2))
+
+(define-public sbcl-feeder
+ ;; No release.
+ (let ((commit "b05f517d7729564575cc809e086c262646a94d34")
+ (revision "1"))
+ (package
+ (name "sbcl-feeder")
+ (version (git-version "1.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shinmera/feeder")
+ (commit commit)))
+ (file-name (git-file-name "feeder" version))
+ (sha256
+ (base32 "1dpbzhycg50snl3j01c8dh8gdvhfhz0hnfl54xy55a3wbr3m6rp7"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("documentation-utils" ,sbcl-documentation-utils)
+ ("local-time" ,sbcl-local-time)
+ ("plump" ,sbcl-plump)))
+ (home-page "https://shinmera.github.io/feeder/")
+ (synopsis "RSS, Atom and general feed parsing and generating")
+ (description
+ "Feeder is a syndication feed library. It presents a general protocol
+for representation of feed items, as well as a framework to translate these
+objects from and to external formats. It also implements the RSS 2.0 and Atom
+formats within this framework.")
+ (license license:zlib))))
+
+(define-public ecl-feeder
+ (sbcl-package->ecl-package sbcl-feeder))
+
+(define-public cl-feeder
+ (sbcl-package->cl-source-package sbcl-feeder))