gnu: Add cl-authentic.
[jackhill/guix/guix.git] / gnu / packages / lisp-xyz.scm
CommitLineData
88f06fd0
PN
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2014 John Darrington <jmd@gnu.org>
3;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
4;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
5;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch>
3c986a7d 6;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
88f06fd0 7;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca>
92afa57b 8;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
a13063d6 9;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
88f06fd0
PN
10;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
11;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
12;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
caa22090 13;;; Copyright © 2018, 2020, 2021 Pierre Neidhardt <mail@ambrevar.xyz>
88f06fd0 14;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
20972e4e 15;;; Copyright © 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
88f06fd0 16;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com>
69c05267 17;;; Copyright © 2019, 2020, 2021 Guillaume Le Vaillant <glv@posteo.net>
7ae8c34b 18;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
c6397e3e 19;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
cfc9004e 20;;; Copyright © 2020 Dimakis Dimakakos <me@bendersteed.tech>
1fbd1b4c 21;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
b50a1442 22;;; Copyright © 2020, 2021 Adam Kandur <rndd@tuta.io>
288fe185 23;;; Copyright © 2020, 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
06ab8948 24;;; Copyright © 2021 Aurora <rind38@disroot.org>
0a04c254 25;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org>
073ae1b9 26;;; Copyright © 2021 André A. Gomes <andremegafone@gmail.com>
9e76de04 27;;; Copyright © 2021 Cage <cage-dev@twistfold.it>
8a625dd2 28;;; Copyright © 2021 Cameron Chaparro <cameron@cameronchaparro.com>
1afffdaa 29;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com>
88f06fd0
PN
30;;;
31;;; This file is part of GNU Guix.
32;;;
33;;; GNU Guix is free software; you can redistribute it and/or modify it
34;;; under the terms of the GNU General Public License as published by
35;;; the Free Software Foundation; either version 3 of the License, or (at
36;;; your option) any later version.
37;;;
38;;; GNU Guix is distributed in the hope that it will be useful, but
39;;; WITHOUT ANY WARRANTY; without even the implied warranty of
40;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
41;;; GNU General Public License for more details.
42;;;
43;;; You should have received a copy of the GNU General Public License
44;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
45
46;;; This file only contains Common Lisp libraries.
47;;; Common Lisp compilers and tooling go to lisp.scm.
48;;; Common Lisp applications should go to the most appropriate file,
49;;; e.g. StumpWM is in wm.scm.
50
51(define-module (gnu packages lisp-xyz)
52 #:use-module (gnu packages)
53 #:use-module ((guix licenses) #:prefix license:)
54 #:use-module (guix packages)
55 #:use-module (guix download)
56 #:use-module (guix git-download)
57 #:use-module (guix hg-download)
58 #:use-module (guix utils)
59 #:use-module (guix build-system asdf)
60 #:use-module (guix build-system trivial)
7f29d778 61 #:use-module (gnu packages base)
88f06fd0
PN
62 #:use-module (gnu packages c)
63 #:use-module (gnu packages compression)
8a6c0f55 64 #:use-module (gnu packages databases)
2fa04968 65 #:use-module (gnu packages enchant)
3bd8d045 66 #:use-module (gnu packages file)
1c5901ae 67 #:use-module (gnu packages fonts)
ec2c73b8 68 #:use-module (gnu packages fontutils)
83ecb381 69 #:use-module (gnu packages gl)
88f06fd0 70 #:use-module (gnu packages glib)
df07ecba 71 #:use-module (gnu packages gnome)
88f06fd0 72 #:use-module (gnu packages gtk)
1cef75fa 73 #:use-module (gnu packages image)
d3a2df68 74 #:use-module (gnu packages imagemagick)
37b48dc1 75 #:use-module (gnu packages libevent)
88f06fd0 76 #:use-module (gnu packages libffi)
af55e2aa 77 #:use-module (gnu packages linux)
88f06fd0 78 #:use-module (gnu packages lisp)
064dbb71 79 #:use-module (gnu packages maths)
9c8ed43d 80 #:use-module (gnu packages mp3)
8768df2e 81 #:use-module (gnu packages ncurses)
a3f6c410 82 #:use-module (gnu packages networking)
88f06fd0
PN
83 #:use-module (gnu packages pkg-config)
84 #:use-module (gnu packages python)
85 #:use-module (gnu packages python-xyz)
331c4988 86 #:use-module (gnu packages sdl)
88f06fd0 87 #:use-module (gnu packages sqlite)
d3a2df68 88 #:use-module (gnu packages tcl)
88f06fd0 89 #:use-module (gnu packages tls)
336088d5 90 #:use-module (gnu packages video)
0d1c7c97 91 #:use-module (gnu packages web)
88f06fd0
PN
92 #:use-module (gnu packages webkit)
93 #:use-module (gnu packages xdisorg)
d09184ce 94 #:use-module (gnu packages xorg)
88f06fd0 95 #:use-module (ice-9 match)
bdd3b1b2 96 #:use-module (srfi srfi-1)
88f06fd0
PN
97 #:use-module (srfi srfi-19))
98
99(define-public sbcl-alexandria
012bdf2e
GLV
100 (package
101 (name "sbcl-alexandria")
fcc9c5a5 102 (version "1.2")
012bdf2e
GLV
103 (source
104 (origin
105 (method git-fetch)
106 (uri (git-reference
107 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
108 (commit (string-append "v" version))))
109 (sha256
110 (base32
fcc9c5a5 111 "0bcqs0z9xlqgjz43qzgq9i07vdlnjllpm1wwa37wpkg0w975r712"))
012bdf2e
GLV
112 (file-name (git-file-name name version))))
113 (build-system asdf-build-system/sbcl)
114 (native-inputs
115 `(("rt" ,sbcl-rt)))
116 (synopsis "Collection of portable utilities for Common Lisp")
117 (description
118 "Alexandria is a collection of portable utilities. It does not contain
88f06fd0
PN
119conceptual extensions to Common Lisp. It is conservative in scope, and
120portable between implementations.")
012bdf2e
GLV
121 (home-page "https://common-lisp.net/project/alexandria/")
122 (license license:public-domain)))
88f06fd0
PN
123
124(define-public cl-alexandria
125 (sbcl-package->cl-source-package sbcl-alexandria))
126
127(define-public ecl-alexandria
128 (sbcl-package->ecl-package sbcl-alexandria))
129
f9c507bb
SH
130(define-public sbcl-bodge-utilities
131 (let ((commit "6304bac4abe06d53579e2c0fc4437d14ff077d9f")
132 (revision "1"))
133 (package
134 (name "sbcl-bodge-utilities")
135 (version (git-version "1.0.0" revision commit))
136 (source
137 (origin
138 (method git-fetch)
139 (uri (git-reference
140 (url "https://github.com/borodust/bodge-utilities")
141 (commit commit)))
142 (file-name (git-file-name "bodge-utilities" version))
143 (sha256
144 (base32 "1z1blj05q71vzh323qwyn9p3xs7v0mq2yhwfyzza5libp37wqm3c"))))
145 (build-system asdf-build-system/sbcl)
146 (inputs
147 `(("alexandria" ,sbcl-alexandria)
148 ("cffi" ,sbcl-cffi)
149 ("claw" ,sbcl-claw)
150 ("dissect" ,sbcl-dissect)
151 ("local-time" ,sbcl-local-time)
152 ("log4cl" ,sbcl-log4cl)
153 ("split-sequence" ,sbcl-split-sequence)
154 ("static-vectors" ,sbcl-static-vectors)
155 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
156 (home-page "https://github.com/borodust/bodge-utilities")
157 (synopsis "Common Lisp utilities library for CL-BODGE")
158 (description
159 "This Common Lisp library provides utilities for the @emph{Bodge} library
160collection.")
161 (license license:expat))))
162
163(define-public ecl-bodge-utilities
164 (sbcl-package->ecl-package sbcl-bodge-utilities))
165
166(define-public cl-bodge-utilities
167 (sbcl-package->cl-source-package sbcl-bodge-utilities))
168
c1ed3b04
AK
169(define-public sbcl-bodge-queue
170 (let ((commit "948c9a501dcd412689952d09eb7453ec2722336a")
171 (revision "0"))
172 (package
173 (name "sbcl-bodge-queue")
174 (version (git-version "0.0.0" revision commit))
175 (source
176 (origin
177 (method git-fetch)
178 (uri (git-reference
179 (url "https://github.com/borodust/bodge-queue")
180 (commit commit)))
181 (file-name (git-file-name "bodge-queue" version))
182 (sha256
183 (base32 "148hjikqk8v2m30mj15xh89zni6szf9z3prav580qk9dqr8djjdr"))))
184 (build-system asdf-build-system/sbcl)
185 (native-inputs
186 `(("fiveam" ,sbcl-fiveam)))
187 (home-page "https://github.com/borodust/bodge-queue")
188 (synopsis "Simple queue for Common Lisp")
189 (description "This Common Lisp library provides a simple FIFO
190implementation with no external dependencies.")
191 (license license:expat))))
192
193(define-public cl-bodge-queue
194 (sbcl-package->cl-source-package sbcl-bodge-queue))
195
196(define-public ecl-bodge-queue
197 (sbcl-package->ecl-package sbcl-bodge-queue))
198
ed39a7c1 199(define-public sbcl-golden-utils
f724e508
SH
200 (let ((commit "fe1898f9abbd302b0359f017637c063173cf73e1")
201 (revision "3"))
ed39a7c1
SH
202 (package
203 (name "sbcl-golden-utils")
204 (version (git-version "0.0.0" revision commit))
205 (source
206 (origin
207 (method git-fetch)
208 (uri (git-reference
209 (url "https://git.mfiano.net/mfiano/golden-utils")
210 (commit commit)))
b54fc8f5 211 (file-name (git-file-name "golden-utils" version))
ed39a7c1 212 (sha256
f724e508 213 (base32 "1ljc8yj32lmd1d60446rzl9m0r1ar15gdzacsf6blw1kny8xlrsr"))))
ed39a7c1
SH
214 (build-system asdf-build-system/sbcl)
215 (inputs
216 `(("alexandria" ,sbcl-alexandria)))
217 (home-page "https://git.mfiano.net/mfiano/golden-utils")
218 (synopsis "Common Lisp utility library")
219 (description
220 "This is a Common Lisp library providing various utilities.")
221 (license license:expat))))
222
223(define-public ecl-golden-utils
224 (sbcl-package->ecl-package sbcl-golden-utils))
225
226(define-public cl-golden-utils
227 (sbcl-package->cl-source-package sbcl-golden-utils))
228
14c00ab7
SH
229(define-public sbcl-asdf-finalizers
230 (let ((commit "7f537f6c598b662ae987c6acc268dd27c25977e0")
231 (revision "1"))
232 (package
233 (name "sbcl-asdf-finalizers")
234 (version (git-version "0.0.0" revision commit))
235 (source
236 (origin
237 (method git-fetch)
238 (uri (git-reference
239 (url "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
240 (commit commit)))
241 (file-name (git-file-name name version))
242 (sha256
243 (base32 "1w56c9yjjydjshsgqxz57qlp2v3r4ilbisnsgiqphvxnhvd41y0v"))))
244 (build-system asdf-build-system/sbcl)
245 (native-inputs
246 `(("fare-utils" ,sbcl-fare-utils)
247 ("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
248 (arguments
249 `(#:asd-files '("asdf-finalizers.asd"
250 "list-of.asd"
251 "asdf-finalizers-test.asd")
252 #:asd-systems '("asdf-finalizers"
253 "list-of")))
254 (home-page "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
255 (synopsis "Enforced calling of finalizers for Lisp code")
256 (description "This library allows you to implement and enforce proper
257finalization of compile-time constructs while building Lisp source files.
258
259It produces two systems: asdf-finalizers and list-of.")
260 (license license:expat))))
261
262(define-public ecl-asdf-finalizers
263 (sbcl-package->ecl-package sbcl-asdf-finalizers))
264
265(define-public cl-asdf-finalizers
266 (sbcl-package->cl-source-package sbcl-asdf-finalizers))
267
88f06fd0
PN
268(define-public sbcl-net.didierverna.asdf-flv
269 (package
270 (name "sbcl-net.didierverna.asdf-flv")
271 (version "2.1")
272 (source
273 (origin
274 (method git-fetch)
275 (uri (git-reference
276 (url "https://github.com/didierverna/asdf-flv")
277 (commit (string-append "version-" version))))
278 (file-name (git-file-name "asdf-flv" version))
279 (sha256
280 (base32 "1fi2y4baxan103jbg4idjddzihy03kwnj2mzbwrknw4d4x7xlgwj"))))
281 (build-system asdf-build-system/sbcl)
282 (synopsis "Common Lisp ASDF extension to provide support for file-local variables")
283 (description "ASDF-FLV provides support for file-local variables through
284ASDF. A file-local variable behaves like @code{*PACKAGE*} and
285@code{*READTABLE*} with respect to @code{LOAD} and @code{COMPILE-FILE}: a new
286dynamic binding is created before processing the file, so that any
287modification to the variable becomes essentially file-local.
288
289In order to make one or several variables file-local, use the macros
290@code{SET-FILE-LOCAL-VARIABLE(S)}.")
291 (home-page "https://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv")
292 (license (license:non-copyleft
293 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
294 "GNU All-Permissive License"))))
295
296(define-public cl-net.didierverna.asdf-flv
297 (sbcl-package->cl-source-package sbcl-net.didierverna.asdf-flv))
298
299(define-public ecl-net.didierverna.asdf-flv
300 (sbcl-package->ecl-package sbcl-net.didierverna.asdf-flv))
301
f42e54df
SH
302(define-public sbcl-command-line-arguments
303 (let ((commit "fbac862fb01c0e368141204f3f639920462c23fe")
304 (revision "1"))
305 (package
306 (name "sbcl-command-line-arguments")
307 (version (git-version "2.0.0" revision commit))
308 (source
309 (origin
310 (method git-fetch)
311 (uri (git-reference
312 (url "https://github.com/fare/command-line-arguments")
313 (commit commit)))
314 (file-name (git-file-name name version))
315 (sha256
316 (base32 "054m1ikndzqf72mb9ajaa64136cwr3bgag4yfbi1574a9vq75mjq"))))
317 (build-system asdf-build-system/sbcl)
318 (home-page "https://github.com/fare/command-line-arguments")
319 (synopsis "Trivial command-line argument parsing library for Common Lisp")
320 (description "This is a library to abstract away the parsing of
321Unix-style command-line arguments. Use it in conjunction with asdf:program-op
322or cl-launch for portable processing of command-line arguments.")
323 (license license:expat))))
324
325(define-public ecl-command-line-arguments
326 (sbcl-package->ecl-package sbcl-command-line-arguments))
327
328(define-public cl-command-line-arguments
329 (sbcl-package->cl-source-package sbcl-command-line-arguments))
330
88f06fd0
PN
331(define-public sbcl-fiveam
332 (package
333 (name "sbcl-fiveam")
f8238f96 334 (version "1.4.2")
88f06fd0
PN
335 (source
336 (origin
337 (method git-fetch)
338 (uri (git-reference
b0e7b699 339 (url "https://github.com/sionescu/fiveam")
88f06fd0
PN
340 (commit (string-append "v" version))))
341 (file-name (git-file-name "fiveam" version))
342 (sha256
f8238f96 343 (base32 "04mh5plmlb15jbq3dkd8b9jl1dmbbg4hnd3k7859vpf6s12k5p4j"))))
88f06fd0
PN
344 (inputs
345 `(("alexandria" ,sbcl-alexandria)
346 ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
347 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
348 (build-system asdf-build-system/sbcl)
349 (synopsis "Common Lisp testing framework")
350 (description "FiveAM is a simple (as far as writing and running tests
351goes) regression testing framework. It has been designed with Common Lisp's
352interactive development model in mind.")
353 (home-page "https://common-lisp.net/project/fiveam/")
354 (license license:bsd-3)))
355
356(define-public cl-fiveam
357 (sbcl-package->cl-source-package sbcl-fiveam))
358
359(define-public ecl-fiveam
360 (sbcl-package->ecl-package sbcl-fiveam))
361
3fef3cb8
A
362(define-public sbcl-cl-irc
363 (let ((commit "963823537c7bfcda2edd4c44d172192da6722175")
364 (revision "0"))
365 (package
366 (name "sbcl-cl-irc")
367 (version (git-version "0.9.2" revision commit))
368 (source
369 (origin
370 (method git-fetch)
371 (uri (git-reference
372 (url "https://salsa.debian.org/common-lisp-team/cl-irc.git")
373 (commit commit)))
374 (file-name (git-file-name "cl-irc" version))
375 (sha256
376 (base32 "1b3nqbb4pj377lxl47rfgrs82pidadnrc65l48bk553c2f59b52w"))))
377 (build-system asdf-build-system/sbcl)
378 (native-inputs
379 ;; Tests only.
380 `(("rt" ,sbcl-rt)))
381 (inputs
382 `(("cl+ssl" ,sbcl-cl+ssl)
383 ("flexi-streams" ,sbcl-flexi-streams)
384 ("split-sequence" ,sbcl-split-sequence)
385 ("usocket" ,sbcl-usocket)))
386 (arguments
387 `(#:asd-systems '("cl-irc") ;; Some inexisting "c" system is
388 ;; found by guix otherwise.
389 #:asd-files '("cl-irc.asd")
390 #:test-asd-file "test/cl-irc-test.asd"))
391 (synopsis "IRC client library for Common Lisp")
392 (description "@code{cl-irc} is a Common Lisp IRC client library that
393features (partial) DCC, CTCP and all relevant commands from the IRC
394RFCs (RFC2810, RFC2811 and RFC2812).
395
396Features:
397@itemize
398@item implements all commands in the RFCs
399@item extra convenience commands such as op/deop, ban, ignore, etc.
400@item partial DCC SEND/CHAT support
401@item event driven model with hooks makes interfacing easy
402@item the user can keep multiple connections
403@item all CTCP commands
404@end itemize\n")
405 (home-page "https://common-lisp.net/project/cl-irc/")
406 (license license:bsd-2))))
407
408(define-public cl-irc
409 (sbcl-package->cl-source-package sbcl-cl-irc))
410
411(define-public ecl-cl-irc
412 (sbcl-package->ecl-package sbcl-cl-irc))
413
102f668a
SH
414(define-public sbcl-trivial-timeout
415 (let ((commit "feb869357f40f5e109570fb40abad215fb370c6c")
416 (revision "1"))
417 (package
418 (name "sbcl-trivial-timeout")
419 (version (git-version "0.1.5" revision commit))
420 (source
421 (origin
422 (method git-fetch)
423 (uri (git-reference
424 (url "https://github.com/gwkkwg/trivial-timeout/")
425 (commit commit)))
426 (file-name (git-file-name "trivial-timeout" version))
427 (sha256
428 (base32 "1kninxwvvih9nhh7a9y8lfgi7pdr76675y1clw4ss17vz8fbim5p"))))
429 (build-system asdf-build-system/sbcl)
430 (native-inputs
431 `(("lift" ,sbcl-lift)))
432 (arguments
433 ;; NOTE: (Sharlatan-20210202T231437+0000): Due to the age of this library
434 ;; tests use some deprecated functionality and keep failing.
435 `(#:tests? #f))
436 (home-page "https://github.com/gwkkwg/trivial-timeout/")
437 (synopsis "Timeout library for Common Lisp")
438 (description
439 "This library provides an OS and implementation independent access to
440timeouts.")
441 (license license:expat))))
442
443(define-public ecl-trivial-timeout
444 (sbcl-package->ecl-package sbcl-trivial-timeout))
445
446(define-public cl-trivial-timeout
447 (sbcl-package->cl-source-package sbcl-trivial-timeout))
448
88f06fd0 449(define-public sbcl-bordeaux-threads
5a647850
GLV
450 (package
451 (name "sbcl-bordeaux-threads")
d2a34eba 452 (version "0.8.8")
5a647850
GLV
453 (source (origin
454 (method git-fetch)
455 (uri (git-reference
b0e7b699 456 (url "https://github.com/sionescu/bordeaux-threads")
5a647850
GLV
457 (commit (string-append "v" version))))
458 (sha256
d2a34eba 459 (base32 "19i443fz3488v1pbbr9x24y8h8vlyhny9vj6c9jk5prm702awrp6"))
5a647850
GLV
460 (file-name
461 (git-file-name "bordeaux-threads" version))))
462 (inputs `(("alexandria" ,sbcl-alexandria)))
463 (native-inputs `(("fiveam" ,sbcl-fiveam)))
464 (build-system asdf-build-system/sbcl)
465 (synopsis "Portable shared-state concurrency library for Common Lisp")
466 (description "BORDEAUX-THREADS is a proposed standard for a minimal
88f06fd0
PN
467MP/Threading interface. It is similar to the CLIM-SYS threading and lock
468support.")
5a647850
GLV
469 (home-page "https://common-lisp.net/project/bordeaux-threads/")
470 (license license:x11)))
88f06fd0
PN
471
472(define-public cl-bordeaux-threads
473 (sbcl-package->cl-source-package sbcl-bordeaux-threads))
474
475(define-public ecl-bordeaux-threads
476 (sbcl-package->ecl-package sbcl-bordeaux-threads))
477
478(define-public sbcl-trivial-gray-streams
479 (let ((revision "1")
f15cc738 480 (commit "ebd59b1afed03b9dc8544320f8f432fdf92ab010"))
88f06fd0
PN
481 (package
482 (name "sbcl-trivial-gray-streams")
483 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
484 (source
485 (origin
486 (method git-fetch)
487 (uri
488 (git-reference
b0e7b699 489 (url "https://github.com/trivial-gray-streams/trivial-gray-streams")
88f06fd0
PN
490 (commit commit)))
491 (sha256
f15cc738 492 (base32 "0b1pxlccmnagk9cbh4cy8s5k66g3x0gwib5shjwr24xvrji6lp94"))
88f06fd0
PN
493 (file-name
494 (string-append "trivial-gray-streams-" version "-checkout"))))
495 (build-system asdf-build-system/sbcl)
496 (synopsis "Compatibility layer for Gray streams implementations")
497 (description "Gray streams is an interface proposed for inclusion with
498ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most
499popular CL implementations implement it. This package provides an extremely
500thin compatibility layer for gray streams.")
0eecc9eb 501 (home-page "https://www.cliki.net/trivial-gray-streams")
88f06fd0
PN
502 (license license:x11))))
503
504(define-public cl-trivial-gray-streams
505 (sbcl-package->cl-source-package sbcl-trivial-gray-streams))
506
507(define-public ecl-trivial-gray-streams
508 (sbcl-package->ecl-package sbcl-trivial-gray-streams))
509
510(define-public sbcl-fiasco
511 (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
512 (revision "1"))
513 (package
514 (name "sbcl-fiasco")
515 (version (git-version "0.0.1" revision commit))
516 (source
517 (origin
518 (method git-fetch)
519 (uri (git-reference
b0e7b699 520 (url "https://github.com/joaotavora/fiasco")
88f06fd0
PN
521 (commit commit)))
522 (file-name (git-file-name "fiasco" version))
523 (sha256
524 (base32
525 "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
526 (build-system asdf-build-system/sbcl)
527 (inputs
528 `(("alexandria" ,sbcl-alexandria)
529 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
530 (synopsis "Simple and powerful test framework for Common Lisp")
531 (description "A Common Lisp test framework that treasures your failures,
532logical continuation of Stefil. It focuses on interactive debugging.")
533 (home-page "https://github.com/joaotavora/fiasco")
534 ;; LICENCE specifies this is public-domain unless the legislation
535 ;; doesn't allow or recognize it. In that case it falls back to a
536 ;; permissive licence.
537 (license (list license:public-domain
538 (license:x11-style "file://LICENCE"))))))
539
540(define-public cl-fiasco
541 (sbcl-package->cl-source-package sbcl-fiasco))
542
543(define-public ecl-fiasco
544 (sbcl-package->ecl-package sbcl-fiasco))
545
546(define-public sbcl-flexi-streams
547 (package
548 (name "sbcl-flexi-streams")
cb789cb4 549 (version "1.0.19")
88f06fd0
PN
550 (source
551 (origin
552 (method git-fetch)
553 (uri (git-reference
b0e7b699 554 (url "https://github.com/edicl/flexi-streams")
88f06fd0
PN
555 (commit (string-append "v" version))))
556 (file-name (git-file-name "flexi-streams" version))
557 (sha256
cb789cb4 558 (base32 "0v7lh4nrldzczd4mwylvmxfdxk7wfsli24iv1axd6mkb833llr70"))))
88f06fd0
PN
559 (build-system asdf-build-system/sbcl)
560 (arguments
561 `(#:phases
562 (modify-phases %standard-phases
563 (add-after 'unpack 'make-git-checkout-writable
564 (lambda _
565 (for-each make-file-writable (find-files "."))
566 #t)))))
567 (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
568 (synopsis "Implementation of virtual bivalent streams for Common Lisp")
569 (description "Flexi-streams is an implementation of \"virtual\" bivalent
570streams that can be layered atop real binary or bivalent streams and that can
571be used to read and write character data in various single- or multi-octet
572encodings which can be changed on the fly. It also supplies in-memory binary
573streams which are similar to string streams.")
574 (home-page "http://weitz.de/flexi-streams/")
575 (license license:bsd-3)))
576
577(define-public cl-flexi-streams
578 (sbcl-package->cl-source-package sbcl-flexi-streams))
579
580(define-public ecl-flexi-streams
581 (sbcl-package->ecl-package sbcl-flexi-streams))
582
2ae30334
SH
583(define-public sbcl-cl-abnf
584 ;; There are no releases
585 (let ((commit "ba1fbb104dedbdaddb1ef93d2e4da711bd96cd70")
586 (revision "1"))
587 (package
588 (name "sbcl-cl-abnf")
589 (version (git-version "0.0.0" revision commit))
590 (source
591 (origin
592 (method git-fetch)
593 (uri (git-reference
594 (url "https://github.com/dimitri/cl-abnf")
595 (commit commit)))
596 (file-name (git-file-name "cl-abnf" version))
597 (sha256
598 (base32 "0f09nsndxa90acm71zd4qdnp40v705a4sqm04mnv9x76h6dlggmz"))))
599 (build-system asdf-build-system/sbcl)
600 (inputs
601 `(("cl-ppcre" ,sbcl-cl-ppcre)
602 ("esrap" ,sbcl-esrap)))
603 (arguments
604 `(#:asd-systems '("abnf")))
605 (home-page "https://github.com/dimitri/cl-abnf")
606 (synopsis "ABNF parser generator for Common Lisp")
607 (description "This Common Lisp library implements a parser generator for
608the ABNF grammar format as described in RFC2234. The generated parser is a
609regular expression scanner provided by the cl-ppcre lib, which means that we
610can't parse recursive grammar definition. One such definition is the ABNF
611definition as given by the RFC. Fortunately, as you have this lib, you most
612probably don't need to generate another parser to handle that particular ABNF
613grammar.")
614 (license license:expat))))
615
616(define-public cl-abnf
617 (sbcl-package->cl-source-package sbcl-cl-abnf))
618
619(define-public ecl-cl-abnf
620 (sbcl-package->ecl-package sbcl-cl-abnf))
621
88f06fd0
PN
622(define-public sbcl-cl-ppcre
623 (package
624 (name "sbcl-cl-ppcre")
6c874425 625 (version "2.1.1")
88f06fd0
PN
626 (source
627 (origin
628 (method git-fetch)
629 (uri (git-reference
b0e7b699 630 (url "https://github.com/edicl/cl-ppcre")
88f06fd0
PN
631 (commit (string-append "v" version))))
632 (file-name (git-file-name "cl-ppcre" version))
633 (sha256
6c874425 634 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
88f06fd0 635 (build-system asdf-build-system/sbcl)
2ff8b5ba
GLV
636 (native-inputs
637 `(("flexi-streams" ,sbcl-flexi-streams)))
638 (arguments
639 `(#:phases
640 (modify-phases %standard-phases
641 (add-after 'unpack 'disable-ppcre-unicode
642 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
643 ;; to work around the circular dependency between edicl/cl-ppcre
644 ;; and edicl/cl-unicode.
645 (lambda _
646 (delete-file "cl-ppcre-unicode.asd")
647 #t)))))
88f06fd0
PN
648 (synopsis "Portable regular expression library for Common Lisp")
649 (description "CL-PPCRE is a portable regular expression library for Common
650Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
651compatible with ANSI-compliant Common Lisp implementations.")
652 (home-page "http://weitz.de/cl-ppcre/")
653 (license license:bsd-2)))
654
655(define-public cl-ppcre
656 (sbcl-package->cl-source-package sbcl-cl-ppcre))
657
658(define-public ecl-cl-ppcre
659 (sbcl-package->ecl-package sbcl-cl-ppcre))
660
62248987
SH
661(define-public sbcl-parse
662 (let ((commit "2351ee78acac065fcf10b8713d3f404e2e910786")
663 (revision "1"))
664 (package
665 (name "sbcl-parse")
666 (version (git-version "1.0" revision commit))
667 (source
668 (origin
669 (method git-fetch)
670 (uri (git-reference
671 (url "https://github.com/massung/parse")
672 (commit commit)))
673 (file-name (git-file-name "parse" version))
674 (sha256
675 (base32 "0l18yabyh7jizm5lgvra0jxi8s1cfwghidi6ix1pyixjkdbjlmvy"))))
676 (build-system asdf-build-system/sbcl)
677 (home-page "https://github.com/massung/parse")
678 (synopsis "Monadic parsing for Common Lisp")
679 (description
680 "PARSE is a simple token parsing library for Common Lisp.")
681 (license license:asl2.0))))
682
683(define-public ecl-parse
684 (sbcl-package->ecl-package sbcl-parse))
685
686(define-public cl-parse
687 (sbcl-package->cl-source-package sbcl-parse))
688
1cf22d47
SH
689(define-public sbcl-re
690 (let ((commit "cfbc1f482970221e80d445080a188fd5c755cd2c")
691 (revision "1"))
692 (package
693 (name "sbcl-re")
694 (version (git-version "1.0" revision commit))
695 (source
696 (origin
697 (method git-fetch)
698 (uri (git-reference
699 (url "https://github.com/massung/re")
700 (commit commit)))
701 (file-name (git-file-name "re" version))
702 (sha256
703 (base32 "1y2gq2sckspnq8118bix55p2j43dk9qn3p8a2rplp1ip2qxqbb1i"))))
704 (build-system asdf-build-system/sbcl)
705 (inputs
706 `(("parse" ,sbcl-parse)))
707 (home-page "https://github.com/massung/re")
708 (synopsis "Lua-style Pattern Matching for Common Lisp")
709 (description
710 "RE is a small, portable, lightweight, and quick, regular
711expression library for Common Lisp. It is a non-recursive, backtracing VM.")
712 (license license:asl2.0))))
713
714(define-public ecl-re
715 (sbcl-package->ecl-package sbcl-re))
716
717(define-public cl-re
718 (sbcl-package->cl-source-package sbcl-re))
719
582bc6a8
SH
720(define-public sbcl-ubiquitous
721 (let ((commit "35eb7bd9e1b3daee1705f6b41260775180cce8af")
722 (revision "1"))
723 (package
724 (name "sbcl-ubiquitous")
725 (version (git-version "2.0.0" revision commit))
726 (source
727 (origin
728 (method git-fetch)
729 (uri (git-reference
730 (url "https://github.com/Shinmera/ubiquitous")
731 (commit commit)))
732 (file-name (git-file-name "ubiquitous" version))
733 (sha256
734 (base32 "1xlkaqmjcpkiv2xl2s2pvvrv976dlc846wm16s1lj62iy1315i49"))))
735 (build-system asdf-build-system/sbcl)
736 (inputs
737 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
1b7be882
GLV
738 (arguments
739 '(#:asd-systems '("ubiquitous"
740 "ubiquitous-concurrent")))
582bc6a8
SH
741 (home-page "https://shinmera.github.io/ubiquitous/")
742 (synopsis "Application configuration mechanism for Common Lisp")
743 (description
744 "@code{UBIQUITOUS} is a very easy-to-use library for persistent
745configuration storage. It automatically takes care of finding a suitable place
746to save your data, and provides simple functions to access and modify the data
747within.")
748 (license license:zlib))))
749
750(define-public ecl-ubiquitous
751 (sbcl-package->ecl-package sbcl-ubiquitous))
752
753(define-public cl-ubiquitous
754 (sbcl-package->cl-source-package sbcl-ubiquitous))
755
14efb2f8 756(define-public sbcl-uax-15
064a7ea6
SH
757 (package
758 (name "sbcl-uax-15")
759 (version "0.1.1")
760 (source
761 (origin
762 (method git-fetch)
763 (uri (git-reference
764 (url "https://github.com/sabracrolleton/uax-15")
765 (commit (string-append "v" version))))
766 (file-name (git-file-name "uax-15" version))
767 (sha256
768 (base32 "0p2ckw7mzxhwa9vbwj2q2dzayz9dl94d9yqd2ynp0pc5v8i0n2fr"))))
769 (build-system asdf-build-system/sbcl)
770 (arguments
771 `(#:asd-systems
772 '("uax-15")))
773 (native-inputs
774 `(("fiveam" ,sbcl-fiveam)))
775 (inputs
776 `(("cl-ppcre" ,sbcl-cl-ppcre)
777 ("split-sequence" ,sbcl-split-sequence)))
778 (home-page "https://github.com/sabracrolleton/uax-15")
779 (synopsis "Common Lisp implementation of unicode normalization functions")
780 (description
781 "This package provides supports for unicode normalization, RFC8264 and
782RFC7564.")
783 (license license:expat)))
14efb2f8
SH
784
785(define-public cl-uax-15
786 (sbcl-package->cl-source-package sbcl-uax-15))
787
788(define-public ecl-uax-15
789 (sbcl-package->ecl-package sbcl-uax-15))
790
2ff8b5ba 791(define-public sbcl-cl-unicode
6fdfef66 792 (package
2ff8b5ba 793 (name "sbcl-cl-unicode")
6fdfef66
GLV
794 (version "0.1.6")
795 (source (origin
796 (method git-fetch)
797 (uri (git-reference
b0e7b699 798 (url "https://github.com/edicl/cl-unicode")
6fdfef66
GLV
799 (commit (string-append "v" version))))
800 (file-name (git-file-name name version))
801 (sha256
802 (base32
803 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
804 (build-system asdf-build-system/sbcl)
2ff8b5ba
GLV
805 (native-inputs
806 `(("flexi-streams" ,sbcl-flexi-streams)))
6fdfef66
GLV
807 (inputs
808 `(("cl-ppcre" ,sbcl-cl-ppcre)))
809 (home-page "http://weitz.de/cl-unicode/")
810 (synopsis "Portable Unicode library for Common Lisp")
811 (description "CL-UNICODE is a portable Unicode library Common Lisp, which
88f06fd0
PN
812is compatible with perl. It is pretty fast, thread-safe, and compatible with
813ANSI-compliant Common Lisp implementations.")
6fdfef66 814 (license license:bsd-2)))
88f06fd0 815
88f06fd0
PN
816(define-public ecl-cl-unicode
817 (sbcl-package->ecl-package sbcl-cl-unicode))
818
819(define-public cl-unicode
820 (sbcl-package->cl-source-package sbcl-cl-unicode))
821
2ff8b5ba
GLV
822(define-public sbcl-cl-ppcre-unicode
823 (package (inherit sbcl-cl-ppcre)
824 (name "sbcl-cl-ppcre-unicode")
825 (inputs
826 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
827 ("sbcl-cl-unicode" ,sbcl-cl-unicode)))
828 (arguments
829 `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found"
830 #:phases
831 (modify-phases %standard-phases
832 (add-after 'unpack 'disable-ppcre
833 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
834 ;; to work around the circular dependency between edicl/cl-ppcre
835 ;; and edicl/cl-unicode.
836 (lambda _
837 (delete-file "cl-ppcre.asd")
838 #t)))))))
839
3d8c8d15
GLV
840(define-public cl-ppcre-unicode
841 (sbcl-package->cl-source-package sbcl-cl-ppcre-unicode))
842
2ff8b5ba
GLV
843(define-public ecl-cl-ppcre-unicode
844 (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
845
92afa57b
RW
846(define-public sbcl-zpb-ttf
847 (package
848 (name "sbcl-zpb-ttf")
849 (version "1.0.3")
850 (source
851 (origin
852 (method git-fetch)
853 (uri (git-reference
b0e7b699 854 (url "https://github.com/xach/zpb-ttf")
92afa57b
RW
855 (commit (string-append "release-" version))))
856 (file-name (git-file-name name version))
857 (sha256
858 (base32
859 "1wh66vjijzqlydnrihynpwp6796917xwrh0i9li93c17kyxa74ih"))))
860 (build-system asdf-build-system/sbcl)
861 (home-page "https://github.com/xach/zpb-ttf")
862 (synopsis "TrueType font file access for Common Lisp")
863 (description
864 "ZPB-TTF is a TrueType font file parser that provides an interface for
865reading typographic metrics, glyph outlines, and other information from the
866file.")
867 (license license:bsd-2)))
868
869(define-public ecl-zpb-ttf
870 (sbcl-package->ecl-package sbcl-zpb-ttf))
871
872(define-public cl-zpb-ttf
873 (sbcl-package->cl-source-package sbcl-zpb-ttf))
874
2ff8b5ba 875(define-public sbcl-cl-vectors
64997728 876 (package
2ff8b5ba 877 (name "sbcl-cl-vectors")
64997728
RW
878 (version "0.1.5")
879 (source
880 (origin
881 (method url-fetch)
882 (uri (string-append "http://projects.tuxee.net/cl-vectors/"
883 "files/cl-vectors-" version ".tar.gz"))
884 (sha256
885 (base32
886 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh"))))
887 (build-system asdf-build-system/sbcl)
0dbd7c3c 888 (inputs
2ff8b5ba
GLV
889 `(("zpb-ttf" ,sbcl-zpb-ttf)))
890 (arguments
3f8bbf7c 891 '(#:asd-systems '("cl-vectors"
2ff8b5ba
GLV
892 "cl-paths-ttf")))
893 (home-page "http://projects.tuxee.net/cl-vectors/")
94c621bd
RW
894 (synopsis "Create, transform and render anti-aliased vectorial paths")
895 (description
896 "This is a pure Common Lisp library to create, transform and render
2ff8b5ba
GLV
897anti-aliased vectorial paths.")
898 (license license:expat)))
94c621bd
RW
899
900(define-public ecl-cl-vectors
901 (sbcl-package->ecl-package sbcl-cl-vectors))
902
903(define-public cl-vectors
904 (sbcl-package->cl-source-package sbcl-cl-vectors))
905
7c62d384
RW
906(define-public sbcl-spatial-trees
907 ;; There have been no releases.
908 (let ((commit "81fdad0a0bf109c80a53cc96eca2e093823400ba")
909 (revision "1"))
910 (package
911 (name "sbcl-spatial-trees")
912 (version (git-version "0" revision commit))
913 (source
914 (origin
915 (method git-fetch)
916 (uri (git-reference
b0e7b699 917 (url "https://github.com/rpav/spatial-trees")
7c62d384
RW
918 (commit commit)))
919 (file-name (git-file-name name version))
920 (sha256
921 (base32
922 "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"))))
923 (build-system asdf-build-system/sbcl)
924 (arguments
925 '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns
7c62d384
RW
926 #:test-asd-file "spatial-trees.test.asd"))
927 (native-inputs
928 `(("fiveam" ,sbcl-fiveam)))
929 (home-page "https://github.com/rpav/spatial-trees")
930 (synopsis "Dynamic index data structures for spatially-extended data")
931 (description
932 "Spatial-trees is a set of dynamic index data structures for
933spatially-extended data.")
934 (license license:bsd-3))))
935
936(define-public ecl-spatial-trees
937 (sbcl-package->ecl-package sbcl-spatial-trees))
938
939(define-public cl-spatial-trees
940 (sbcl-package->cl-source-package sbcl-spatial-trees))
941
5dfde3f5
RW
942(define-public sbcl-flexichain
943 ;; There are no releases.
944 (let ((commit "13d2a6c505ed0abfcd4c4ec7d7145059b06855d6")
945 (revision "1"))
946 (package
947 (name "sbcl-flexichain")
948 (version "1.5.1")
949 (source
950 (origin
951 (method git-fetch)
952 (uri (git-reference
b0e7b699 953 (url "https://github.com/robert-strandh/Flexichain")
5dfde3f5
RW
954 (commit commit)))
955 (file-name (git-file-name name version))
956 (sha256
957 (base32
958 "0pfyvhsfbjd2sjb30grfs52r51a428xglv7bwydvpg2lc117qimg"))))
959 (build-system asdf-build-system/sbcl)
960 (home-page "https://github.com/robert-strandh/Flexichain.git")
961 (synopsis "Dynamically add elements to or remove them from sequences")
962 (description
963 "This package provides an implementation of the flexichain protocol,
964allowing client code to dynamically add elements to, and delete elements from
965a sequence (or chain) of such elements.")
966 (license license:lgpl2.1+))))
967
968(define-public ecl-flexichain
969 (sbcl-package->ecl-package sbcl-flexichain))
970
971(define-public cl-flexichain
972 (sbcl-package->cl-source-package sbcl-flexichain))
973
e088a010 974(define-public sbcl-cl-pdf
199ae378 975 (let ((commit "dbafd62afcb2d2e9164054c72612763721297d59")
e088a010
RW
976 (revision "1"))
977 (package
978 (name "sbcl-cl-pdf")
199ae378 979 (version (git-version "2.0.0" revision commit))
e088a010
RW
980 (source
981 (origin
982 (method git-fetch)
983 (uri (git-reference
b0e7b699 984 (url "https://github.com/mbattyani/cl-pdf")
e088a010 985 (commit commit)))
199ae378 986 (file-name (git-file-name "cl-pdf" version))
e088a010 987 (sha256
199ae378 988 (base32 "0w6igiav35a65h6r4p1g6dw2i7mw0s06mviw31768r6z62l1ny1v"))))
e088a010
RW
989 (build-system asdf-build-system/sbcl)
990 (inputs
991 `(("iterate" ,sbcl-iterate)
992 ("zpb-ttf" ,sbcl-zpb-ttf)))
993 (home-page "https://github.com/mbattyani/cl-pdf")
994 (synopsis "Common Lisp library for generating PDF files")
995 (description
996 "CL-PDF is a cross-platform Common Lisp library for generating PDF
997files.")
998 (license license:bsd-2))))
999
1000(define-public ecl-cl-pdf
1001 (sbcl-package->ecl-package sbcl-cl-pdf))
1002
1003(define-public cl-pdf
1004 (sbcl-package->cl-source-package sbcl-cl-pdf))
1005
88f06fd0
PN
1006(define-public sbcl-clx
1007 (package
1008 (name "sbcl-clx")
1009 (version "0.7.5")
1010 (source
1011 (origin
1012 (method git-fetch)
1013 (uri
1014 (git-reference
b0e7b699 1015 (url "https://github.com/sharplispers/clx")
88f06fd0
PN
1016 (commit version)))
1017 (sha256
1018 (base32
1019 "1vi67z9hpj5rr4xcmfbfwzmlcc0ah7hzhrmfid6lqdkva238v2wf"))
1020 (file-name (string-append "clx-" version))))
1021 (build-system asdf-build-system/sbcl)
1022 (native-inputs
1023 `(("fiasco" ,sbcl-fiasco)))
f0db7779 1024 (home-page "https://www.cliki.net/portable-clx")
88f06fd0
PN
1025 (synopsis "X11 client library for Common Lisp")
1026 (description "CLX is an X11 client library for Common Lisp. The code was
1027originally taken from a CMUCL distribution, was modified somewhat in order to
1028make it compile and run under SBCL, then a selection of patches were added
1029from other CLXes around the net.")
1030 (license license:x11)))
1031
1032(define-public cl-clx
1033 (sbcl-package->cl-source-package sbcl-clx))
1034
1035(define-public ecl-clx
1036 (sbcl-package->ecl-package sbcl-clx))
1037
1fbd1b4c
OP
1038(define-public sbcl-clx-truetype
1039 (let ((commit "c6e10a918d46632324d5863a8ed067a83fc26de8")
1040 (revision "1"))
1041 (package
1042 (name "sbcl-clx-truetype")
1043 (version (git-version "0.0.1" revision commit))
1044 (source
1045 (origin
1046 (method git-fetch)
1047 (uri (git-reference
1048 (url "https://github.com/l04m33/clx-truetype")
1049 (commit commit)))
1050 (file-name (git-file-name name version))
1051 (sha256
1052 (base32
1053 "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37"))
1054 (modules '((guix build utils)))
1055 (snippet
1056 '(begin
1057 (substitute* "package.lisp"
1058 ((":export") ":export\n :+font-cache-filename+"))
1059 #t))))
1060 (build-system asdf-build-system/sbcl)
1061 (inputs
1062 `(("clx" ,sbcl-clx)
1063 ("zpb-ttf" ,sbcl-zpb-ttf)
1064 ("cl-vectors" ,sbcl-cl-vectors)
1fbd1b4c
OP
1065 ("cl-fad" ,sbcl-cl-fad)
1066 ("cl-store" ,sbcl-cl-store)
1067 ("trivial-features" ,sbcl-trivial-features)))
1068 (home-page "https://github.com/l04m33/clx-truetype")
1069 (synopsis "Antialiased TrueType font rendering using CLX and XRender")
1070 (description "CLX-TrueType is pure common lisp solution for
1071antialiased TrueType font rendering using CLX and XRender extension.")
1072 (license license:expat))))
1073
d9bdde74
GLV
1074(define-public cl-clx-truetype
1075 (sbcl-package->cl-source-package sbcl-clx-truetype))
1076
e7cbcf5a
GLV
1077(define-public ecl-clx-truetype
1078 (sbcl-package->ecl-package sbcl-clx-truetype))
1079
2ff8b5ba 1080(define-public sbcl-slynk
d9f1752c 1081 (let ((commit "fb84318c08f59bc786e047006fc81e2ace568309"))
e53dcaef
PN
1082 (package
1083 (name "sbcl-slynk")
d9f1752c 1084 (version (git-version "1.0.43" "4" commit))
e53dcaef
PN
1085 (source
1086 (origin
1087 (method git-fetch)
1088 (uri
1089 (git-reference
1090 (url "https://github.com/joaotavora/sly")
1091 (commit commit)))
1092 (sha256
d9f1752c 1093 (base32 "0z123k9ak7yjb9bxb5qx48f33ma8066rhkqh8xc14z7shk75jybj"))
09bba548 1094 (file-name (git-file-name "slynk" version))))
e53dcaef
PN
1095 (build-system asdf-build-system/sbcl)
1096 (outputs '("out" "image"))
1097 (arguments
09bba548 1098 `(#:phases
e53dcaef
PN
1099 (modify-phases %standard-phases
1100 (add-after 'create-asdf-configuration 'build-image
1101 (lambda* (#:key outputs #:allow-other-keys)
1102 (build-image (string-append
1103 (assoc-ref %outputs "image")
1104 "/bin/slynk")
1105 %outputs
1106 #:dependencies '("slynk"
1107 "slynk/arglists"
1108 "slynk/fancy-inspector"
1109 "slynk/package-fu"
1110 "slynk/mrepl"
1111 "slynk/trace-dialog"
1112 "slynk/profiler"
1113 "slynk/stickers"
1114 "slynk/indentation"
1115 "slynk/retro"))
1116 #t)))))
1117 (synopsis "Common Lisp IDE for Emacs")
1118 (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
88f06fd0 1119It also features a completely redesigned REPL based on Emacs's own
c3c63352 1120full-featured @code{comint-mode}, live code annotations, and a consistent interactive
88f06fd0
PN
1121button interface. Everything can be copied to the REPL. One can create
1122multiple inspectors with independent history.")
e53dcaef
PN
1123 (home-page "https://github.com/joaotavora/sly")
1124 (license license:public-domain)
1125 (properties `((cl-source-variant . ,(delay cl-slynk)))))))
88f06fd0
PN
1126
1127(define-public cl-slynk
b6c55a72 1128 (sbcl-package->cl-source-package sbcl-slynk))
88f06fd0 1129
88f06fd0 1130(define-public ecl-slynk
b6c55a72
GLV
1131 (let ((pkg (sbcl-package->ecl-package sbcl-slynk)))
1132 (package
1133 (inherit pkg)
1134 (outputs '("out"))
1135 (arguments
1136 (substitute-keyword-arguments (package-arguments pkg)
1137 ((#:phases phases)
1138 `(modify-phases ,phases
1139 (delete 'build-image))))))))
88f06fd0
PN
1140
1141(define-public sbcl-parse-js
1142 (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
1143 (revision "1"))
1144 (package
1145 (name "sbcl-parse-js")
1146 (version (string-append "0.0.0-" revision "." (string-take commit 9)))
1147 (source
1148 (origin
1149 (method git-fetch)
1150 (uri (git-reference
1151 (url "http://marijn.haverbeke.nl/git/parse-js")
1152 (commit commit)))
1153 (file-name (string-append name "-" commit "-checkout"))
1154 (sha256
1155 (base32
1156 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
1157 (build-system asdf-build-system/sbcl)
9ca4c654 1158 (home-page "https://marijnhaverbeke.nl/parse-js/")
88f06fd0
PN
1159 (synopsis "Parse JavaScript")
1160 (description "Parse-js is a Common Lisp package for parsing
1161JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
1162 (license license:zlib))))
1163
1164(define-public cl-parse-js
1165 (sbcl-package->cl-source-package sbcl-parse-js))
1166
e7cbcf5a
GLV
1167(define-public ecl-parse-js
1168 (sbcl-package->ecl-package sbcl-parse-js))
1169
88f06fd0
PN
1170(define-public sbcl-parse-number
1171 (package
1172 (name "sbcl-parse-number")
1173 (version "1.7")
1174 (source
1175 (origin
1176 (method git-fetch)
1177 (uri (git-reference
1178 (url "https://github.com/sharplispers/parse-number/")
1179 (commit (string-append "v" version))))
1180 (file-name (git-file-name name version))
1181 (sha256
1182 (base32
1183 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"))))
1184 (build-system asdf-build-system/sbcl)
fed4ff33 1185 (home-page "https://www.cliki.net/PARSE-NUMBER")
88f06fd0
PN
1186 (synopsis "Parse numbers")
1187 (description "@code{parse-number} is a library of functions for parsing
1188strings into one of the standard Common Lisp number types without using the
1189reader. @code{parse-number} accepts an arbitrary string and attempts to parse
1190the string into one of the standard Common Lisp number types, if possible, or
1191else @code{parse-number} signals an error of type @code{invalid-number}.")
1192 (license license:bsd-3)))
1193
1194(define-public cl-parse-number
1195 (sbcl-package->cl-source-package sbcl-parse-number))
1196
e7cbcf5a
GLV
1197(define-public ecl-parse-number
1198 (sbcl-package->ecl-package sbcl-parse-number))
1199
88f06fd0
PN
1200(define-public sbcl-iterate
1201 (package
1202 (name "sbcl-iterate")
f36ec871 1203 (version "1.5")
88f06fd0
PN
1204 (source
1205 (origin
1206 (method url-fetch)
f36ec871
GLV
1207 (uri (string-append "https://common-lisp.net/project/iterate/releases/"
1208 "iterate-" version ".tar.gz"))
88f06fd0
PN
1209 (sha256
1210 (base32
f36ec871 1211 "1lqsbhrkfl0yif46aymvb7l3nb9wdcmj4jyw485blj32jb4famzn"))))
88f06fd0
PN
1212 (build-system asdf-build-system/sbcl)
1213 (native-inputs
1214 `(("rt" ,sbcl-rt)))
1215 (home-page "https://common-lisp.net/project/iterate/")
1216 (synopsis "Iteration construct for Common Lisp")
1217 (description "@code{iterate} is an iteration construct for Common Lisp.
1218It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
1219
1220@itemize
1221@item it is extensible,
1222@item it helps editors like Emacs indent iterate forms by having a more
1223 lisp-like syntax, and
1224@item it isn't part of the ANSI standard for Common Lisp.
1225@end itemize\n")
1226 (license license:expat)))
1227
1228(define-public cl-iterate
1229 (sbcl-package->cl-source-package sbcl-iterate))
1230
1231(define-public ecl-iterate
1232 (sbcl-package->ecl-package sbcl-iterate))
1233
1234(define-public sbcl-cl-uglify-js
1235 ;; There have been many bug fixes since the 2010 release.
1236 (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
1237 (revision "1"))
1238 (package
1239 (name "sbcl-cl-uglify-js")
1240 (version (string-append "0.1-" revision "." (string-take commit 9)))
1241 (source
1242 (origin
1243 (method git-fetch)
1244 (uri (git-reference
b0e7b699 1245 (url "https://github.com/mishoo/cl-uglify-js")
88f06fd0
PN
1246 (commit commit)))
1247 (file-name (git-file-name name version))
1248 (sha256
1249 (base32
1250 "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"))))
1251 (build-system asdf-build-system/sbcl)
1252 (inputs
1253 `(("sbcl-parse-js" ,sbcl-parse-js)
1254 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
1255 ("sbcl-cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
1256 ("sbcl-parse-number" ,sbcl-parse-number)
1257 ("sbcl-iterate" ,sbcl-iterate)))
1258 (home-page "https://github.com/mishoo/cl-uglify-js")
1259 (synopsis "JavaScript compressor library for Common Lisp")
1260 (description "This is a Common Lisp version of UglifyJS, a JavaScript
1261compressor. It works on data produced by @code{parse-js} to generate a
1262@dfn{minified} version of the code. Currently it can:
1263
1264@itemize
1265@item reduce variable names (usually to single letters)
1266@item join consecutive @code{var} statements
1267@item resolve simple binary expressions
1268@item group most consecutive statements using the @code{sequence} operator (comma)
1269@item remove unnecessary blocks
1270@item convert @code{IF} expressions in various ways that result in smaller code
1271@item remove some unreachable code
1272@end itemize\n")
1273 (license license:zlib))))
1274
1275(define-public cl-uglify-js
1276 (sbcl-package->cl-source-package sbcl-cl-uglify-js))
1277
12df8b7b
GLV
1278(define-public ecl-cl-uglify-js
1279 (sbcl-package->ecl-package sbcl-cl-uglify-js))
1280
ba42da24
PN
1281(define-public uglify-js
1282 (package
1283 (inherit sbcl-cl-uglify-js)
1284 (name "uglify-js")
1285 (build-system trivial-build-system)
1286 (arguments
1287 `(#:modules ((guix build utils))
1288 #:builder
1289 (let* ((bin (string-append (assoc-ref %outputs "out") "/bin/"))
1290 (script (string-append bin "uglify-js")))
1291 (use-modules (guix build utils))
1292 (mkdir-p bin)
1293 (with-output-to-file script
1294 (lambda _
1295 (format #t "#!~a/bin/sbcl --script
2ff8b5ba 1296
ba42da24 1297 (require :asdf)
2ff8b5ba
GLV
1298 (asdf:initialize-source-registry
1299 #p\"~a/etc/common-lisp/source-registry.conf.d/\")
1300 (asdf:initialize-output-translations
1301 #p\"~a/etc/common-lisp/asdf-output-translations.conf.d/\")"
ba42da24 1302 (assoc-ref %build-inputs "sbcl")
2ff8b5ba 1303 (assoc-ref %build-inputs "sbcl-cl-uglify-js")
ba42da24
PN
1304 (assoc-ref %build-inputs "sbcl-cl-uglify-js"))
1305 ;; FIXME: cannot use progn here because otherwise it fails to
1306 ;; find cl-uglify-js.
1307 (for-each
1308 write
1309 '(;; Quiet, please!
1310 (let ((*standard-output* (make-broadcast-stream))
1311 (*error-output* (make-broadcast-stream)))
1312 (asdf:load-system :cl-uglify-js))
1313 (let ((file (cadr *posix-argv*)))
1314 (if file
1315 (format t "~a"
1316 (cl-uglify-js:ast-gen-code
1317 (cl-uglify-js:ast-mangle
1318 (cl-uglify-js:ast-squeeze
1319 (with-open-file (in file)
1320 (parse-js:parse-js in))))
1321 :beautify nil))
1322 (progn
1323 (format *error-output*
1324 "Please provide a JavaScript file.~%")
1325 (sb-ext:exit :code 1))))))))
1326 (chmod script #o755)
1327 #t)))
1328 (inputs
1329 `(("sbcl" ,sbcl)
1330 ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
1331 (synopsis "JavaScript compressor")))
1332
88f06fd0
PN
1333(define-public sbcl-cl-strings
1334 (let ((revision "1")
1335 (commit "c5c5cbafbf3e6181d03c354d66e41a4f063f00ae"))
1336 (package
1337 (name "sbcl-cl-strings")
1338 (version (git-version "0.0.0" revision commit))
1339 (source
1340 (origin
1341 (method git-fetch)
1342 (uri (git-reference
1343 (url "https://github.com/diogoalexandrefranco/cl-strings")
1344 (commit commit)))
1345 (sha256
1346 (base32
1347 "00754mfaqallj480lwd346nkfb6ra8pa8xcxcylf4baqn604zlmv"))
1348 (file-name (string-append "cl-strings-" version "-checkout"))))
1349 (build-system asdf-build-system/sbcl)
1350 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
1351 (description
1352 "@command{cl-strings} is a small, portable, dependency-free set of
1353utilities that make it even easier to manipulate text in Common Lisp. It has
1354100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
1355 (home-page "https://github.com/diogoalexandrefranco/cl-strings")
1356 (license license:expat))))
1357
1358(define-public cl-strings
1359 (sbcl-package->cl-source-package sbcl-cl-strings))
1360
1361(define-public ecl-cl-strings
1362 (sbcl-package->ecl-package sbcl-cl-strings))
1363
1364(define-public sbcl-trivial-features
d49402ab
SH
1365 (package
1366 (name "sbcl-trivial-features")
1367 (version "1.0")
1368 (source
1369 (origin
1370 (method git-fetch)
1371 (uri (git-reference
1372 (url "https://github.com/trivial-features/trivial-features")
1373 (commit (string-append "v" version))))
1374 (file-name (git-file-name "trivial-features" version))
1375 (sha256
1376 (base32 "0jsqah1znzqilxnw5vannb083ayk0d7phkackqzwwqkyg5hpn6pq"))))
1377 (build-system asdf-build-system/sbcl)
1378 (arguments
1379 '(#:asd-files '("trivial-features.asd")
1380 ;; FIXME: Tests disabled because of a circular dependency between
1381 ;; trivial-features and cffi.
1382 #:tests? #f))
1383 ;; (native-inputs
1384 ;; `(("cffi" ,sbcl-cffi)))
1385 (home-page "https://cliki.net/trivial-features")
1386 (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
1387 (description "Trivial-features ensures that @code{*FEATURES*} is
88f06fd0 1388consistent across multiple Common Lisp implementations.")
d49402ab 1389 (license license:expat)))
88f06fd0
PN
1390
1391(define-public cl-trivial-features
1392 (sbcl-package->cl-source-package sbcl-trivial-features))
1393
1394(define-public ecl-trivial-features
1395 (sbcl-package->ecl-package sbcl-trivial-features))
1396
1397(define-public sbcl-hu.dwim.asdf
4a9cb7a4
PN
1398 (let ((commit "67cdf84390e530af4303cc4bc815fdf2a5e48f59"))
1399 (package
1400 (name "sbcl-hu.dwim.asdf")
1401 (version "20200724")
1402 (source
1403 (origin
1404 (method git-fetch)
1405 (uri (git-reference
1406 (url "https://github.com/hu-dwim/hu.dwim.asdf")
1407 (commit commit)))
1408 (file-name (git-file-name name version))
1409 (sha256
1410 (base32
1411 "0p81jalilkaqw832a12s35q0z6rrarxjasm1jy6h4fvyj9pf0zkx"))))
1412 (build-system asdf-build-system/sbcl)
1413 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.asdf")
1414 (synopsis "Extensions to ASDF")
1415 (description "Various ASDF extensions such as attached test and
88f06fd0 1416documentation system, explicit development support, etc.")
4a9cb7a4 1417 (license license:public-domain))))
88f06fd0
PN
1418
1419(define-public cl-hu.dwim.asdf
1420 (sbcl-package->cl-source-package sbcl-hu.dwim.asdf))
1421
1422(define-public ecl-hu.dwim.asdf
1423 (sbcl-package->ecl-package sbcl-hu.dwim.asdf))
1424
1425(define-public sbcl-hu.dwim.stefil
f72caafc 1426 (let ((commit "414902c6f575818c39a8a156b8b61b1adfa73dad"))
88f06fd0
PN
1427 (package
1428 (name "sbcl-hu.dwim.stefil")
f72caafc 1429 (version (git-version "0.0.0" "2" commit))
88f06fd0
PN
1430 (source
1431 (origin
1432 (method git-fetch)
1433 (uri
1434 (git-reference
f72caafc 1435 (url "https://github.com/hu-dwim/hu.dwim.stefil")
88f06fd0
PN
1436 (commit commit)))
1437 (sha256
f72caafc 1438 (base32 "14izmjjim590rh74swrssavdmdznj2z8vhqixy780sjhpcr5pmkc"))
88f06fd0
PN
1439 (file-name (git-file-name "hu.dwim.stefil" version))))
1440 (build-system asdf-build-system/sbcl)
1441 (native-inputs
1442 `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
1443 (inputs
1444 `(("sbcl-alexandria" ,sbcl-alexandria)))
f72caafc 1445 (home-page "http://dwim.hu/project/hu.dwim.stefil")
88f06fd0
PN
1446 (synopsis "Simple test framework")
1447 (description "Stefil is a simple test framework for Common Lisp,
1448with a focus on interactive development.")
1449 (license license:public-domain))))
1450
1451(define-public cl-hu.dwim.stefil
1452 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
1453
1454(define-public ecl-hu.dwim.stefil
1455 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
1456
1457(define-public sbcl-babel
8e596809
PN
1458 ;; No release since 2014.
1459 (let ((commit "aeed2d1b76358db48e6b70a64399c05678a6b9ea"))
1460 (package
1461 (name "sbcl-babel")
1462 (version (git-version "0.5.0" "1" commit))
1463 (source
1464 (origin
1465 (method git-fetch)
1466 (uri (git-reference
b0e7b699 1467 (url "https://github.com/cl-babel/babel")
8e596809
PN
1468 (commit commit)))
1469 (file-name (git-file-name "babel" version))
1470 (sha256
1471 (base32 "0lkvv4xdpv4cv1y2bqillmabx8sdb2y4l6pbinq6mjh33w2brpvb"))))
1472 (build-system asdf-build-system/sbcl)
1473 (native-inputs
1474 `(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
1475 (inputs
1476 `(("sbcl-alexandria" ,sbcl-alexandria)
1477 ("sbcl-trivial-features" ,sbcl-trivial-features)))
1478 (home-page "https://common-lisp.net/project/babel/")
1479 (synopsis "Charset encoding and decoding library")
1480 (description "Babel is a charset encoding and decoding library, not unlike
88f06fd0 1481GNU libiconv, but completely written in Common Lisp.")
8e596809 1482 (license license:expat))))
88f06fd0
PN
1483
1484(define-public cl-babel
1485 (sbcl-package->cl-source-package sbcl-babel))
1486
1487(define-public ecl-babel
1488 (sbcl-package->ecl-package sbcl-babel))
1489
1490(define-public sbcl-cl-yacc
1491 (package
1492 (name "sbcl-cl-yacc")
1493 (version "0.3")
1494 (source
1495 (origin
1496 (method git-fetch)
1497 (uri (git-reference
1498 (url "https://github.com/jech/cl-yacc")
1499 (commit (string-append "cl-yacc-" version))))
1500 (sha256
1501 (base32
1502 "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib"))
1503 (file-name (string-append "cl-yacc-" version "-checkout"))))
1504 (build-system asdf-build-system/sbcl)
1505 (arguments
3f8bbf7c 1506 `(#:asd-systems '("yacc")))
88f06fd0
PN
1507 (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc")
1508 (description
1509 "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit
1510to AT&T Yacc, Berkeley Yacc, GNU Bison, Zebu, lalr.cl or lalr.scm.
1511
1512CL-Yacc uses the algorithm due to Aho and Ullman, which is the one also used
1513by AT&T Yacc, Berkeley Yacc and Zebu. It does not use the faster algorithm due
1514to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
1515 (home-page "https://www.irif.fr/~jch//software/cl-yacc/")
1516 (license license:expat)))
1517
1518(define-public cl-yacc
1519 (sbcl-package->cl-source-package sbcl-cl-yacc))
1520
1521(define-public ecl-cl-yacc
1522 (sbcl-package->ecl-package sbcl-cl-yacc))
1523
974b94ae
PN
1524(define-public sbcl-eager-future2
1525 (let ((commit "54df8effd9d9eccac917509590286b5ac5f9cb30"))
1526 (package
1527 (name "sbcl-eager-future2")
1528 (version (git-version "0.0.0" "1" commit))
1529 (source
1530 (origin
1531 (method git-fetch)
1532 (uri (git-reference
1533 (url "https://gitlab.common-lisp.net/vsedach/eager-future2.git")
1534 (commit commit)))
1535 (file-name (git-file-name name version))
1536 (sha256
1537 (base32
1538 "1qs1bv3m0ki8l5czhsflxcryh22r9d9g9a3a3b0cr0pl954q5rld"))))
1539 (build-system asdf-build-system/sbcl)
1540 (inputs
1541 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1542 ("trivial-garbage" ,sbcl-trivial-garbage)))
1543 (synopsis "Futures promises synchronization mechanism for Common Lisp")
1544 (description
1545 "Eager Future2 is a Common Lisp library that provides composable
1546concurrency primitives that unify parallel and lazy evaluation, are integrated
1547with the Common Lisp condition system, and have automatic resource
1548management.")
1549 (home-page "https://gitlab.common-lisp.net/vsedach/eager-future2")
1550 (license license:lgpl3+))))
1551
1552(define-public cl-eager-future2
1553 (sbcl-package->cl-source-package sbcl-eager-future2))
1554
1555(define-public ecl-eager-future2
1556 (sbcl-package->ecl-package sbcl-eager-future2))
1557
88f06fd0
PN
1558(define-public sbcl-jpl-util
1559 (let ((commit "0311ed374e19a49d43318064d729fe3abd9a3b62"))
1560 (package
1561 (name "sbcl-jpl-util")
1562 (version "20151005")
1563 (source
1564 (origin
1565 (method git-fetch)
1566 (uri (git-reference
1567 ;; Quicklisp uses this fork.
1568 (url "https://github.com/hawkir/cl-jpl-util")
1569 (commit commit)))
1570 (file-name
1571 (git-file-name "jpl-util" version))
1572 (sha256
1573 (base32
1574 "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"))))
1575 (build-system asdf-build-system/sbcl)
1576 (synopsis "Collection of Common Lisp utility functions and macros")
1577 (description
1578 "@command{cl-jpl-util} is a collection of Common Lisp utility functions
1579and macros, primarily for software projects written in CL by the author.")
1580 (home-page "https://www.thoughtcrime.us/software/cl-jpl-util/")
1581 (license license:isc))))
1582
1583(define-public cl-jpl-util
1584 (sbcl-package->cl-source-package sbcl-jpl-util))
1585
1586(define-public ecl-jpl-util
1587 (sbcl-package->ecl-package sbcl-jpl-util))
1588
f7174a28
SH
1589(define-public sbcl-piping
1590 (let ((commit "c7a4163c00dea7e72bf6ad33d6abac0d5826a656")
1591 (revision "1"))
1592 (package
1593 (name "sbcl-piping")
1594 (version (git-version "2.0.0" revision commit))
1595 (source
1596 (origin
1597 (method git-fetch)
1598 (uri (git-reference
1599 (url "https://github.com/Shinmera/piping/")
1600 (commit commit)))
1601 (file-name (git-file-name "piping" version))
1602 (sha256
1603 (base32 "0in84qnfkynm36d4n4d6v87vprpi27xrydnga462wfhplji6klv5"))))
1604 (build-system asdf-build-system/sbcl)
1605 (home-page "https://shinmera.github.io/piping/")
1606 (synopsis "Library to enable simple message pipelines")
1607 (description
1608 "This is a Common Lisp library to enable simple message pipelines.")
1609 (license license:zlib))))
1610
1611(define-public ecl-piping
1612 (sbcl-package->ecl-package sbcl-piping))
1613
1614(define-public cl-piping
1615 (sbcl-package->cl-source-package sbcl-piping))
1616
f65b1b52
SH
1617(define-public sbcl-cl-pcg
1618 (let ((commit "8263d85ab0ca17fb05637a4430c2d564456bce8f")
1619 (revision "1"))
1620 (package
1621 (name "sbcl-cl-pcg")
1622 (version (git-version "1.0.0" revision commit))
1623 (source
1624 (origin
1625 (method git-fetch)
1626 (uri (git-reference
1627 (url "https://github.com/sjl/cl-pcg")
1628 (commit commit)))
1629 (file-name (git-file-name "cl-pcg" version))
1630 (sha256
1631 (base32 "0s57wvvlvshp1gcp9i9d3qcmqhswnxps3i0y7wbb0v8i1a3p46m4"))))
1632 (build-system asdf-build-system/sbcl)
1633 (native-inputs
1634 `(("1am" ,sbcl-1am)))
1635 (home-page "https://github.com/sjl/cl-pcg")
1636 (synopsis "Permuted congruential generators in Common Lisp")
1637 (description
1638 "This is a bare-bones Permuted Congruential Generator implementation in
1639pure Common Lisp.")
1640 (license license:expat))))
1641
1642(define-public ecl-cl-pcg
1643 (sbcl-package->ecl-package sbcl-cl-pcg))
1644
1645(define-public cl-pcg
1646 (sbcl-package->cl-source-package sbcl-cl-pcg))
1647
9fcd3e4c
SH
1648(define-public sbcl-seedable-rng
1649 (let ((commit "aa1a1564b6e07e2698df37c7a98348c4f762cb15")
1650 (revision "1"))
1651 (package
1652 (name "sbcl-seedable-rng")
1653 (version (git-version "0.0.0" revision commit))
1654 (source
1655 (origin
1656 (method git-fetch)
1657 (uri (git-reference
1658 (url "https://git.mfiano.net/mfiano/seedable-rng")
1659 (commit commit)))
1660 (file-name (git-file-name "seedable-rng" version))
1661 (sha256
1662 (base32 "1ldpsbp3qrfzvknclsxj3sdyms1jf9ad20dvh4w0kw3zgahn2nr5"))))
1663 (build-system asdf-build-system/sbcl)
1664 (inputs
1665 `(("cl-pcg" ,sbcl-cl-pcg)
1666 ("golden-utils" ,sbcl-golden-utils)
1667 ("ironclad" ,sbcl-ironclad)))
1668 (home-page "https://git.mfiano.net/mfiano/seedable-rng")
1669 (synopsis "Common Lisp random number generator")
1670 (description
1671 "SEEDABLE-RNG provides a convenient means of generating random numbers
1672that are seedable with deterministic results across hardware and Common Lisp
1673implementations.")
1674 (license license:expat))))
1675
1676(define-public ecl-seedable-rng
1677 (sbcl-package->ecl-package sbcl-seedable-rng))
1678
1679(define-public cl-seedable-rng
1680 (sbcl-package->cl-source-package sbcl-seedable-rng))
1681
88f06fd0
PN
1682(define-public sbcl-jpl-queues
1683 (package
1684 (name "sbcl-jpl-queues")
1685 (version "0.1")
1686 (source
1687 (origin
1688 (method url-fetch)
1689 (uri (string-append
1690 "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-"
1691 version
1692 ".tar.gz"))
1693 (sha256
1694 (base32
1695 "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96"))))
1696 (build-system asdf-build-system/sbcl)
1697 (inputs
1698 `(("jpl-util" ,sbcl-jpl-util)
1699 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1700 (arguments
1701 ;; Tests seem to be broken.
1702 `(#:tests? #f))
1703 (synopsis "Common Lisp library implementing a few different kinds of queues")
1704 (description
1705 "A Common Lisp library implementing a few different kinds of queues:
1706
1707@itemize
1708@item Bounded and unbounded FIFO queues.
1709@item Lossy bounded FIFO queues that drop elements when full.
1710@item Unbounded random-order queues that use less memory than unbounded FIFO queues.
1711@end itemize
1712
1713Additionally, a synchronization wrapper is provided to make any queue
1714conforming to the @command{jpl-queues} API thread-safe for lightweight
1715multithreading applications. (See Calispel for a more sophisticated CL
1716multithreaded message-passing library with timeouts and alternation among
1717several blockable channels.)")
1718 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1719 (license license:isc)))
1720
1721(define-public cl-jpl-queues
1722 (sbcl-package->cl-source-package sbcl-jpl-queues))
1723
1724(define-public ecl-jpl-queues
1725 (sbcl-package->ecl-package sbcl-jpl-queues))
1726
5ff25d15
PN
1727(define-public sbcl-calispel
1728 (let ((commit "e9f2f9c1af97f4d7bb4c8ac25fb2a8f3e8fada7a"))
1729 (package
1730 (name "sbcl-calispel")
1731 (version (git-version "0.1" "1" commit))
1732 (source
1733 (origin
1734 (method git-fetch)
1735 (uri (git-reference
1736 ;; This fork replaces the dependency on the obsolete
1737 ;; eager-future with eager-future2.
1738 (url "https://github.com/hawkir/calispel")
1739 (commit commit)))
1740 (file-name (git-file-name name version))
1741 (sha256
1742 (base32
1743 "08bmf3pi7n5hadpmqqkg65cxcj6kbvm997wcs1f53ml1nb79d9z8"))))
1744 (build-system asdf-build-system/sbcl)
1745 (inputs
1746 `(("jpl-queues" ,sbcl-jpl-queues)
1747 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1748 (native-inputs
1749 `(("eager-future2" ,sbcl-eager-future2)))
1750 (synopsis "Thread-safe message-passing channels in Common Lisp")
1751 (description
1752 "Calispel is a Common Lisp library for thread-safe message-passing
1753channels, in the style of the occam programming language, also known as
1754communicating sequential processes (CSP). See
1755@url{https://en.wikipedia.org/wiki/Communicating_sequential_processes}.
1756
1757Calispel channels let one thread communicate with another, facilitating
1758unidirectional communication of any Lisp object. Channels may be unbuffered,
1759where a sender waits for a receiver (or vice versa) before either operation can
1760continue, or channels may be buffered with flexible policy options.
1761
1762Because sending and receiving on a channel may block, either operation can time
1763out after a specified amount of time.
1764
1765A syntax for alternation is provided (like @code{ALT} in occam, or Unix
1766@code{select()}): given a sequence of operations, any or all of which may
1767block, alternation selects the first operation that doesn't block and executes
1768associated code. Alternation can also time out, executing an \"otherwise\"
1769clause if no operation becomes available within a set amount of time.
1770
1771Calispel is a message-passing library, and as such leaves the role of
1772threading abstractions and utilities left to be filled by complementary
1773libraries such as Bordeaux-Threads and Eager Future.")
1774 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1775 (license license:isc))))
1776
1777(define-public cl-calispel
1778 (sbcl-package->cl-source-package sbcl-calispel))
1779
1780(define-public ecl-calispel
1781 (sbcl-package->ecl-package sbcl-calispel))
1782
88f06fd0 1783(define-public sbcl-eos
c203be27
GLV
1784 (let ((commit "b4413bccc4d142cbe1bf49516c3a0a22c9d99243")
1785 (revision "2"))
88f06fd0
PN
1786 (package
1787 (name "sbcl-eos")
c203be27 1788 (version (git-version "0.0.0" revision commit))
88f06fd0
PN
1789 (source
1790 (origin
1791 (method git-fetch)
1792 (uri (git-reference
1793 (url "https://github.com/adlai/Eos")
1794 (commit commit)))
1795 (sha256
c203be27 1796 (base32 "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk"))
88f06fd0
PN
1797 (file-name (git-file-name "eos" version))))
1798 (build-system asdf-build-system/sbcl)
1799 (synopsis "Unit Testing for Common Lisp")
1800 (description
1801 "Eos was a unit testing library for Common Lisp.
1802It began as a fork of FiveAM; however, FiveAM development has continued, while
1803that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
1804 (home-page "https://github.com/adlai/Eos")
1805 (license license:expat))))
1806
1807(define-public cl-eos
1808 (sbcl-package->cl-source-package sbcl-eos))
1809
1810(define-public ecl-eos
1811 (sbcl-package->ecl-package sbcl-eos))
1812
1813(define-public sbcl-esrap
85eaafaf
GLV
1814 (let ((commit "da6b24fb18bdb8e7e177bcf2820cdaf0b560deb6")
1815 (revision "1"))
88f06fd0
PN
1816 (package
1817 (name "sbcl-esrap")
85eaafaf 1818 (version (git-version "0.18" revision commit))
88f06fd0
PN
1819 (source
1820 (origin
1821 (method git-fetch)
1822 (uri (git-reference
85eaafaf 1823 (url "https://github.com/scymtym/esrap")
88f06fd0
PN
1824 (commit commit)))
1825 (sha256
85eaafaf 1826 (base32 "12vf3bxwzf8icnf6rw1xalvm7493cfbb46r2vlhc09s59djkf39q"))
88f06fd0
PN
1827 (file-name (git-file-name "esrap" version))))
1828 (build-system asdf-build-system/sbcl)
1829 (native-inputs
85eaafaf 1830 `(("fiveam" ,sbcl-fiveam)))
88f06fd0
PN
1831 (inputs
1832 `(("alexandria" ,sbcl-alexandria)))
1833 (synopsis "Common Lisp packrat parser")
1834 (description
85eaafaf 1835 "This is a packrat parser for Common Lisp.
88f06fd0
PN
1836In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
1837
1838@itemize
1839@item dynamic redefinition of nonterminals
1840@item inline grammars
1841@item semantic predicates
1842@item introspective facilities (describing grammars, tracing, setting breaks)
85eaafaf
GLV
1843@item left-recursive grammars
1844@item functions as terminals
1845@item accurate, customizable parse error reports
88f06fd0 1846@end itemize\n")
85eaafaf 1847 (home-page "https://scymtym.github.io/esrap/")
88f06fd0
PN
1848 (license license:expat))))
1849
1850(define-public cl-esrap
1851 (sbcl-package->cl-source-package sbcl-esrap))
1852
1853(define-public ecl-esrap
1854 (sbcl-package->ecl-package sbcl-esrap))
1855
1856(define-public sbcl-split-sequence
1857 (package
1858 (name "sbcl-split-sequence")
92da0588 1859 (version "2.0.0")
88f06fd0
PN
1860 (source
1861 (origin
1862 (method git-fetch)
1863 (uri (git-reference
1864 (url "https://github.com/sharplispers/split-sequence")
1865 (commit (string-append "v" version))))
1866 (sha256
1867 (base32
92da0588 1868 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
88f06fd0
PN
1869 (file-name (git-file-name "split-sequence" version))))
1870 (build-system asdf-build-system/sbcl)
92da0588
GLV
1871 (native-inputs
1872 `(("fiveam" ,sbcl-fiveam)))
88f06fd0
PN
1873 (synopsis "Member of the Common Lisp Utilities family of programs")
1874 (description
1875 "Splits sequence into a list of subsequences delimited by objects
1876satisfying the test.")
1877 (home-page "https://cliki.net/split-sequence")
1878 (license license:expat)))
1879
1880(define-public cl-split-sequence
1881 (sbcl-package->cl-source-package sbcl-split-sequence))
1882
1883(define-public ecl-split-sequence
1884 (sbcl-package->ecl-package sbcl-split-sequence))
1885
1886(define-public sbcl-html-encode
1887 (package
1888 (name "sbcl-html-encode")
1889 (version "1.2")
1890 (source
1891 (origin
1892 (method url-fetch)
1893 (uri (string-append
1894 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1895 version ".tgz"))
1896 (sha256
1897 (base32
1898 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1899 (file-name (string-append "colorize" version "-checkout"))))
1900 (build-system asdf-build-system/sbcl)
1901 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1902 (description
1903 "A library for encoding text in various web-savvy encodings.")
1904 (home-page "http://quickdocs.org/html-encode/")
1905 (license license:expat)))
1906
1907(define-public cl-html-encode
1908 (sbcl-package->cl-source-package sbcl-html-encode))
1909
1910(define-public ecl-html-encode
1911 (sbcl-package->ecl-package sbcl-html-encode))
1912
1913(define-public sbcl-colorize
1914 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1915 (package
1916 (name "sbcl-colorize")
1917 (version (git-version "0.0.0" "1" commit))
1918 (source
1919 (origin
1920 (method git-fetch)
1921 (uri (git-reference
1922 (url "https://github.com/kingcons/colorize")
1923 (commit commit)))
1924 (sha256
1925 (base32
1926 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1927 (file-name (git-file-name "colorize" version))))
1928 (build-system asdf-build-system/sbcl)
1929 (inputs
1930 `(("alexandria" ,sbcl-alexandria)
1931 ("split-sequence" ,sbcl-split-sequence)
1932 ("html-encode" ,sbcl-html-encode)))
1933 (synopsis "Common Lisp for syntax highlighting")
1934 (description
1935 "@command{colorize} is a Lisp library for syntax highlighting
1936supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1937C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1938 (home-page "https://github.com/kingcons/colorize")
1939 ;; TODO: Missing license?
1940 (license license:expat))))
1941
1942(define-public cl-colorize
1943 (sbcl-package->cl-source-package sbcl-colorize))
1944
1945(define-public ecl-colorize
1946 (sbcl-package->ecl-package sbcl-colorize))
1947
1948(define-public sbcl-3bmd
80546d54
SH
1949 (let ((commit "6fc5759448f6f6df6f6df556e020a289a2643288")
1950 (revision "2"))
88f06fd0
PN
1951 (package
1952 (name "sbcl-3bmd")
80546d54 1953 (version (git-version "0.0.0" revision commit))
88f06fd0
PN
1954 (source
1955 (origin
1956 (method git-fetch)
1957 (uri (git-reference
1958 (url "https://github.com/3b/3bmd")
1959 (commit commit)))
1960 (sha256
80546d54 1961 (base32 "1avmbp8xdjlbqpqk7p3vmj7abiw5p3vb5mrxp4wlvgql4sf6z3p4"))
88f06fd0
PN
1962 (file-name (git-file-name "3bmd" version))))
1963 (build-system asdf-build-system/sbcl)
1964 (arguments
80546d54
SH
1965 `(#:asd-systems
1966 '("3bmd"
1967 "3bmd-ext-definition-lists"
1968 "3bmd-ext-math"
1969 "3bmd-ext-tables"
1970 "3bmd-ext-wiki-links"
1971 "3bmd-youtube"
1972 "3bmd-ext-code-blocks")))
88f06fd0 1973 (inputs
80546d54
SH
1974 `(("alexandria" ,sbcl-alexandria)
1975 ("colorize" ,sbcl-colorize)
2ff8b5ba 1976 ("esrap" ,sbcl-esrap)
88f06fd0 1977 ("split-sequence" ,sbcl-split-sequence)))
80546d54 1978 (home-page "https://github.com/3b/3bmd")
88f06fd0
PN
1979 (synopsis "Markdown processor in Command Lisp using esrap parser")
1980 (description
80546d54
SH
1981 "This is a Common Lisp Markdown to HTML converter, using @command{esrap}
1982for parsing, and grammar based on @command{peg-markdown}.")
88f06fd0
PN
1983 (license license:expat))))
1984
1985(define-public cl-3bmd
1986 (sbcl-package->cl-source-package sbcl-3bmd))
1987
1988(define-public ecl-3bmd
1989 (sbcl-package->ecl-package sbcl-3bmd))
1990
88f06fd0
PN
1991(define-public sbcl-cl-fad
1992 (package
1993 (name "sbcl-cl-fad")
f0d9eaca 1994 (version "0.7.6")
88f06fd0
PN
1995 (source
1996 (origin
1997 (method git-fetch)
1998 (uri (git-reference
1999 (url "https://github.com/edicl/cl-fad/")
2000 (commit (string-append "v" version))))
2001 (sha256
2002 (base32
f0d9eaca 2003 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
88f06fd0
PN
2004 (file-name (string-append "cl-fad" version "-checkout"))))
2005 (build-system asdf-build-system/sbcl)
2006 (inputs
2007 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
2008 (synopsis "Portable pathname library for Common Lisp")
2009 (description
2010 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
2011Lisp's standard pathname functions. It is intended to provide some
2012unification between current CL implementations on Windows, OS X, Linux, and
2013Unix. Most of the code was written by Peter Seibel for his book Practical
2014Common Lisp.")
2015 (home-page "https://edicl.github.io/cl-fad/")
2016 (license license:bsd-2)))
2017
2018(define-public cl-fad
2019 (sbcl-package->cl-source-package sbcl-cl-fad))
2020
2021(define-public ecl-cl-fad
2022 (sbcl-package->ecl-package sbcl-cl-fad))
2023
84aef839
SH
2024(define-public sbcl-fn
2025 (let ((commit "8d8587d03a7b5e26b306fc90018e385d9e5acc2c")
2026 (revision "1"))
2027 (package
2028 (name "sbcl-fn")
2029 (version (git-version "0.0.0" revision commit))
2030 (source
2031 (origin
2032 (method git-fetch)
2033 (uri (git-reference
2034 (url "https://github.com/cbaggers/fn")
2035 (commit commit)))
2036 (file-name (git-file-name "fn" version))
2037 (sha256
2038 (base32 "0yyp9z6iwx476whz0n1rpjznjyqqhlylhzwpgg5xx92lxmskl752"))))
2039 (build-system asdf-build-system/sbcl)
2040 (inputs
2041 `(("named-readtables" ,sbcl-named-readtables)))
2042 (home-page "https://github.com/cbaggers/fn")
2043 (synopsis "Macros for lambda brevity")
2044 (description
2045 "This is a Common Lisp library providing lambda shorthand macros aiming
2046to be used in cases where the word @emph{lambda} and the arguments are longer
2047than the body of the lambda.")
2048 (license license:public-domain))))
2049
2050(define-public ecl-fn
2051 (sbcl-package->ecl-package sbcl-fn))
2052
2053(define-public cl-fn
2054 (sbcl-package->cl-source-package sbcl-fn))
2055
88f06fd0 2056(define-public sbcl-rt
e81b0719
GLV
2057 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
2058 (revision "1"))
2059 (package
2060 (name "sbcl-rt")
2061 (version (git-version "1990.12.19" revision commit))
2062 (source
2063 (origin
2064 (method git-fetch)
2065 (uri (git-reference
2066 (url "http://git.kpe.io/rt.git")
2067 (commit commit)))
2068 (file-name (git-file-name name version))
2069 (sha256
2070 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
2071 (build-system asdf-build-system/sbcl)
2072 (synopsis "MIT Regression Tester")
2073 (description
2074 "RT provides a framework for writing regression test suites.")
2075 (home-page "https://www.cliki.net/rt")
2076 (license license:expat))))
88f06fd0
PN
2077
2078(define-public cl-rt
2079 (sbcl-package->cl-source-package sbcl-rt))
2080
2081(define-public ecl-rt
2082 (sbcl-package->ecl-package sbcl-rt))
2083
2084(define-public sbcl-nibbles
b8d4568b 2085 ;; No tagged release since 2018.
4f773bc2
GLV
2086 (let ((commit "dad25240928d5cf8f7df69c4398244e03570bb35")
2087 (revision "2"))
b8d4568b
GLV
2088 (package
2089 (name "sbcl-nibbles")
2090 (version (git-version "0.14" revision commit))
2091 (source
2092 (origin
2093 (method git-fetch)
2094 (uri (git-reference
2095 (url "https://github.com/sharplispers/nibbles/")
2096 (commit commit)))
2097 (sha256
4f773bc2 2098 (base32 "0r6ljlpgjmkf87pmvdwzva8qj15bhznc3ylgcjjqyy4frbx9lygz"))
b8d4568b
GLV
2099 (file-name (git-file-name "nibbles" version))))
2100 (build-system asdf-build-system/sbcl)
2101 (native-inputs
2102 ;; Tests only.
2103 `(("rt" ,sbcl-rt)))
2104 (synopsis
2105 "Common Lisp library for accessing octet-addressed blocks of data")
2106 (description
2107 "When dealing with network protocols and file formats, it's common to
88f06fd0
PN
2108have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
2109flavors. Common Lisp sort of supports this by specifying :element-type for
2110streams, but that facility is underspecified and there's nothing similar for
2111read/write from octet vectors. What most people wind up doing is rolling their
2112own small facility for their particular needs and calling it a day.
2113
2114This library attempts to be comprehensive and centralize such
2115facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
2116vectors in signed or unsigned flavors are provided; these functions are also
2117SETFable. Since it's sometimes desirable to read/write directly from streams,
2118functions for doing so are also provided. On some implementations,
2119reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
2120also be supported.")
b8d4568b
GLV
2121 (home-page "https://github.com/sharplispers/nibbles")
2122 (license license:bsd-3))))
88f06fd0
PN
2123
2124(define-public cl-nibbles
2125 (sbcl-package->cl-source-package sbcl-nibbles))
2126
2127(define-public ecl-nibbles
2128 (sbcl-package->ecl-package sbcl-nibbles))
2129
2130(define-public sbcl-ironclad
2131 (package
2132 (name "sbcl-ironclad")
7c9016bb 2133 (version "0.55")
88f06fd0
PN
2134 (source
2135 (origin
2136 (method git-fetch)
2137 (uri (git-reference
2138 (url "https://github.com/sharplispers/ironclad/")
2139 (commit (string-append "v" version))))
2140 (sha256
7c9016bb 2141 (base32 "1w4slnc4143w1gcff1wxsivzb8kcji0bpd7y9rld3sabay0qprwl"))
88f06fd0
PN
2142 (file-name (git-file-name name version))))
2143 (build-system asdf-build-system/sbcl)
2144 (native-inputs
2145 ;; Tests only.
2146 `(("rt" ,sbcl-rt)))
2147 (inputs
2148 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
d2a9a39c 2149 ("flexi-streams" ,sbcl-flexi-streams)))
88f06fd0
PN
2150 (synopsis "Cryptographic toolkit written in Common Lisp")
2151 (description
2152 "Ironclad is a cryptography library written entirely in Common Lisp.
2153It includes support for several popular ciphers, digests, MACs and public key
2154cryptography algorithms. For several implementations that support Gray
2155streams, support is included for convenient stream wrappers.")
2156 (home-page "https://github.com/sharplispers/ironclad")
2157 (license license:bsd-3)))
2158
2159(define-public cl-ironclad
2160 (sbcl-package->cl-source-package sbcl-ironclad))
2161
2162(define-public ecl-ironclad
2163 (sbcl-package->ecl-package sbcl-ironclad))
2164
2165(define-public sbcl-named-readtables
905b6235
SH
2166 (let ((commit "585a28eee8b1b1999279b48cb7e9731187e14b66")
2167 (revision "3"))
88f06fd0
PN
2168 (package
2169 (name "sbcl-named-readtables")
438d8113 2170 (version (git-version "0.9" revision commit))
88f06fd0
PN
2171 (source
2172 (origin
2173 (method git-fetch)
2174 (uri (git-reference
b0e7b699 2175 (url "https://github.com/melisgl/named-readtables")
88f06fd0
PN
2176 (commit commit)))
2177 (sha256
905b6235 2178 (base32 "072p5djqq9pliw9r20rmpz5r5q5yn6rhbp98vkkp7gfcnp5ppj51"))
88f06fd0
PN
2179 (file-name (git-file-name "named-readtables" version))))
2180 (build-system asdf-build-system/sbcl)
88f06fd0
PN
2181 (home-page "https://github.com/melisgl/named-readtables/")
2182 (synopsis "Library that creates a namespace for named readtables")
905b6235
SH
2183 (description
2184 "Named readtables is a library that creates a namespace for named
2185readtables, which is akin to package namespacing in Common Lisp.")
88f06fd0
PN
2186 (license license:bsd-3))))
2187
2188(define-public cl-named-readtables
2189 (sbcl-package->cl-source-package sbcl-named-readtables))
2190
2191(define-public ecl-named-readtables
2192 (sbcl-package->ecl-package sbcl-named-readtables))
2193
288fe185
SH
2194(define-public sbcl-py-configparser
2195 ;; NOTE: (Sharlatan <2021-01-05 Tue> <19:52:19 UTC+0000>) Project updated last
2196 ;; time 8y ago, it looks like abandoned. VCS of the project:
2197 ;; https://svn.common-lisp.net/py-configparser/trunk
2198 (package
2199 (name "sbcl-py-configparser")
2200 (version "1.0.3")
2201 (source
2202 (origin
2203 (method url-fetch)
2204 (uri (string-append
2205 "https://common-lisp.net/project/py-configparser/releases/"
2206 "py-configparser-" version ".tar.gz"))
2207 (sha256
2208 (base32 "0i4rqz5cv7d7c2w81x5lwy05s6fbi3zikf4k5kpi3bkx3cabwdxj"))))
2209 (build-system asdf-build-system/sbcl)
2210 (inputs
2211 `(("parse-number" ,sbcl-parse-number)))
2212 (home-page "http://common-lisp.net/project/py-configparser/")
2213 (synopsis "ConfigParser Python module functionality for Common Lisp")
2214 (description "The py-configparser package implements the ConfigParser
2215Python module functionality in Common Lisp. In short, it implements reading
2216and writing of .INI-file style configuration files with sections containing
2217key/value pairs of configuration options. In line with the functionalities in
2218the python module, does this package implement basic interpolation of option
2219values in other options.")
2220 (license license:expat)))
2221
2222(define-public cl-py-configparser
2223 (sbcl-package->cl-source-package sbcl-py-configparser))
2224
2225(define-public ecl-py-configparser
2226 (sbcl-package->ecl-package sbcl-py-configparser))
2227
88f06fd0
PN
2228(define-public sbcl-pythonic-string-reader
2229 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
2230 (package
2231 (name "sbcl-pythonic-string-reader")
2232 (version (git-version "0.0.0" "1" commit))
2233 (source
2234 (origin
2235 (method git-fetch)
2236 (uri (git-reference
2237 (url "https://github.com/smithzvk/pythonic-string-reader/")
2238 (commit commit)))
2239 (sha256
2240 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
2241 (file-name (git-file-name "pythonic-string-reader" version))))
2242 (build-system asdf-build-system/sbcl)
2243 (inputs
2244 `(("named-readtables" ,sbcl-named-readtables)))
2245 (home-page "https://github.com/smithzvk/pythonic-string-reader")
2246 (synopsis "Read table modification inspired by Python's three quote strings")
2247 (description "This piece of code sets up some reader macros that make it
2248simpler to input string literals which contain backslashes and double quotes
2249This is very useful for writing complicated docstrings and, as it turns out,
2250writing code that contains string literals that contain code themselves.")
2251 (license license:bsd-3))))
2252
2253(define-public cl-pythonic-string-reader
2254 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
2255
2256(define-public ecl-pythonic-string-reader
2257 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
2258
2ff8b5ba 2259(define-public sbcl-slime-swank
88f06fd0 2260 (package
2ff8b5ba 2261 (name "sbcl-slime-swank")
c35403cc 2262 (version "2.26")
88f06fd0
PN
2263 (source
2264 (origin
2ff8b5ba 2265 (file-name (git-file-name "slime-swank" version))
88f06fd0
PN
2266 (method git-fetch)
2267 (uri (git-reference
2268 (url "https://github.com/slime/slime/")
2269 (commit (string-append "v" version))))
2270 (sha256
2271 (base32
c35403cc 2272 "0mxb1wnw19v0s72w2wkz5afdlzvpy5nn7pr4vav403qybac0sw5c"))))
2ff8b5ba
GLV
2273 (build-system asdf-build-system/sbcl)
2274 (arguments
3f8bbf7c 2275 '(#:asd-systems '("swank")))
88f06fd0
PN
2276 (home-page "https://github.com/slime/slime")
2277 (synopsis "Common Lisp Swank server")
2278 (description
2279 "This is only useful if you want to start a Swank server in a Lisp
2280processes that doesn't run under Emacs. Lisp processes created by
2281@command{M-x slime} automatically start the server.")
2282 (license (list license:gpl2+ license:public-domain))))
2283
2ff8b5ba
GLV
2284(define-public cl-slime-swank
2285 (sbcl-package->cl-source-package sbcl-slime-swank))
2286
2287(define-public ecl-slime-swank
2288 (sbcl-package->ecl-package sbcl-slime-swank))
88f06fd0
PN
2289
2290(define-public sbcl-mgl-pax
81c1d127
SH
2291 (let ((commit "4ada6eb26364e71addb169ce58e4ba83bc7a8eaa")
2292 (revision "2"))
88f06fd0
PN
2293 (package
2294 (name "sbcl-mgl-pax")
81c1d127 2295 (version (git-version "0.0.3" revision commit))
88f06fd0
PN
2296 (source
2297 (origin
2298 (method git-fetch)
2299 (uri (git-reference
2300 (url "https://github.com/melisgl/mgl-pax")
2301 (commit commit)))
2302 (sha256
81c1d127 2303 (base32 "1s38crgvmd9hgqwsscqpj6m6c10a074zjgg8k5sl15yih1wkpssm"))
88f06fd0
PN
2304 (file-name (git-file-name "mgl-pax" version))))
2305 (build-system asdf-build-system/sbcl)
2306 (inputs
2307 `(("3bmd" ,sbcl-3bmd)
88f06fd0
PN
2308 ("babel" ,sbcl-babel)
2309 ("cl-fad" ,sbcl-cl-fad)
2310 ("ironclad" ,sbcl-ironclad)
2311 ("named-readtables" ,sbcl-named-readtables)
2ff8b5ba
GLV
2312 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)
2313 ("swank" ,sbcl-slime-swank)))
88f06fd0
PN
2314 (synopsis "Exploratory programming environment and documentation generator")
2315 (description
2316 "PAX provides an extremely poor man's Explorable Programming
2317environment. Narrative primarily lives in so called sections that mix markdown
2318docstrings with references to functions, variables, etc, all of which should
2319probably have their own docstrings.
2320
2321The primary focus is on making code easily explorable by using SLIME's
2322@command{M-.} (@command{slime-edit-definition}). See how to enable some
2323fanciness in Emacs Integration. Generating documentation from sections and all
2324the referenced items in Markdown or HTML format is also implemented.
2325
2326With the simplistic tools provided, one may accomplish similar effects as with
2327Literate Programming, but documentation is generated from code, not vice versa
2328and there is no support for chunking yet. Code is first, code must look
2329pretty, documentation is code.")
2330 (home-page "http://quotenil.com/")
2331 (license license:expat))))
2332
2333(define-public cl-mgl-pax
2334 (sbcl-package->cl-source-package sbcl-mgl-pax))
2335
2336(define-public ecl-mgl-pax
81c1d127 2337 (sbcl-package->ecl-package sbcl-mgl-pax))
88f06fd0 2338
88eb5370
SH
2339(define-public sbcl-mssql
2340 (let ((commit "045602a19a32254108f2b75871049293f49731eb")
2341 (revision "1"))
2342 (package
2343 (name "sbcl-mssql")
2344 (version (git-version "0.0.3" revision commit))
2345 (source
2346 (origin
2347 (method git-fetch)
2348 (uri (git-reference
2349 (url "https://github.com/archimag/cl-mssql")
2350 (commit commit)))
2351 (file-name (git-file-name "cl-mssql" version))
2352 (sha256
2353 (base32 "09i50adppgc1ybm3ka9vbindhwa2x29f9n3n0jkrryymdhb8zknm"))))
2354 (build-system asdf-build-system/sbcl)
2355 (inputs
2356 `(("cffi" ,sbcl-cffi)
2357 ("freetds" ,freetds)
2358 ("garbage-pools" ,sbcl-garbage-pools)
2359 ("iterate" ,sbcl-iterate)
2360 ("parse-number" ,sbcl-parse-number)))
2361 (arguments
2362 `(#:phases
2363 (modify-phases %standard-phases
2364 (add-after 'unpack 'fix-paths
2365 (lambda* (#:key inputs #:allow-other-keys)
2366 (substitute* "src/mssql.lisp"
2367 (("libsybdb" all)
2368 (string-append (assoc-ref inputs "freetds") "/lib/" all)))
2369 #t)))))
2370 (home-page "https://github.com/archimag/cl-mssql")
2371 (synopsis "Common Lisp library to interact with MS SQL Server databases")
2372 (description
2373 "@code{cl-mssql} provides an interface to connect to Microsoft SQL
2374server. It uses the @code{libsybdb} foreign library provided by the FreeTDS
2375project.")
2376 (license license:llgpl))))
2377
2378(define-public ecl-mssql
2379 (sbcl-package->ecl-package sbcl-mssql))
2380
2381(define-public cl-mssql
2382 (sbcl-package->cl-source-package sbcl-mssql))
2383
88f06fd0
PN
2384(define-public sbcl-lisp-unit
2385 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
2386 (package
2387 (name "sbcl-lisp-unit")
2388 (version (git-version "0.0.0" "1" commit))
2389 (source
2390 (origin
2391 (method git-fetch)
2392 (uri (git-reference
2393 (url "https://github.com/OdonataResearchLLC/lisp-unit")
2394 (commit commit)))
2395 (sha256
2396 (base32
2397 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
2398 (file-name (git-file-name "lisp-unit" version))))
2399 (build-system asdf-build-system/sbcl)
2400 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
2401 (description
2402 "@command{lisp-unit} is a Common Lisp library that supports unit
2403testing. It is an extension of the library written by Chris Riesbeck.")
2404 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
2405 (license license:expat))))
2406
2407(define-public cl-lisp-unit
2408 (sbcl-package->cl-source-package sbcl-lisp-unit))
2409
2410(define-public ecl-lisp-unit
2411 (sbcl-package->ecl-package sbcl-lisp-unit))
2412
2413(define-public sbcl-anaphora
2414 (package
2415 (name "sbcl-anaphora")
2416 (version "0.9.6")
2417 (source
2418 (origin
2419 (method git-fetch)
2420 (uri (git-reference
2421 (url "https://github.com/tokenrove/anaphora")
2422 (commit version)))
2423 (sha256
2424 (base32
2425 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
2426 (file-name (git-file-name "anaphora" version))))
2427 (build-system asdf-build-system/sbcl)
2428 (native-inputs
2429 `(("rt" ,sbcl-rt)))
2430 (synopsis "The anaphoric macro collection from Hell")
2431 (description
2432 "Anaphora is the anaphoric macro collection from Hell: it includes many
2433new fiends in addition to old friends like @command{aif} and
2434@command{awhen}.")
2435 (home-page "https://github.com/tokenrove/anaphora")
2436 (license license:public-domain)))
2437
2438(define-public cl-anaphora
2439 (sbcl-package->cl-source-package sbcl-anaphora))
2440
2441(define-public ecl-anaphora
2442 (sbcl-package->ecl-package sbcl-anaphora))
2443
2444(define-public sbcl-lift
a6179f68
SH
2445 (let ((commit "2594160d6ca3a77d8750110dfa63214256aab852")
2446 (revision "2"))
88f06fd0
PN
2447 (package
2448 (name "sbcl-lift")
a6179f68 2449 (version (git-version "1.7.1" revision commit))
88f06fd0
PN
2450 (source
2451 (origin
2452 (method git-fetch)
2453 (uri (git-reference
2454 (url "https://github.com/gwkkwg/lift")
2455 (commit commit)))
2456 (sha256
a6179f68 2457 (base32 "01xvz9sl5l5lai4h9dabmcjnm659wf5zllaxqbs55lffskp6jwq3"))
88f06fd0
PN
2458 (file-name (git-file-name "lift" version))
2459 (modules '((guix build utils)))
2460 (snippet
2461 ;; Don't keep the bundled website
2462 `(begin
2463 (delete-file-recursively "website")
2464 #t))))
2465 (build-system asdf-build-system/sbcl)
2466 (arguments
2467 ;; The tests require a debugger, but we run with the debugger disabled.
2468 '(#:tests? #f))
2469 (synopsis "LIsp Framework for Testing")
2470 (description
2471 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
2472Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
2473testcases are organized into hierarchical testsuites each of which can have
2474its own fixture. When run, a testcase can succeed, fail, or error. LIFT
2475supports randomized testing, benchmarking, profiling, and reporting.")
2476 (home-page "https://github.com/gwkkwg/lift")
2477 (license license:expat))))
2478
2479(define-public cl-lift
2480 (sbcl-package->cl-source-package sbcl-lift))
2481
2482(define-public ecl-lift
2483 (sbcl-package->ecl-package sbcl-lift))
2484
2485(define-public sbcl-let-plus
2486 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
2487 (package
2488 (name "sbcl-let-plus")
2489 (version (git-version "0.0.0" "1" commit))
2490 (source
2491 (origin
2492 (method git-fetch)
2493 (uri (git-reference
2494 (url "https://github.com/sharplispers/let-plus")
2495 (commit commit)))
2496 (sha256
2497 (base32
2498 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
2499 (file-name (git-file-name "let-plus" version))))
2500 (build-system asdf-build-system/sbcl)
2501 (inputs
2502 `(("alexandria" ,sbcl-alexandria)
2503 ("anaphora" ,sbcl-anaphora)))
2504 (native-inputs
2505 `(("lift" ,sbcl-lift)))
2506 (synopsis "Destructuring extension of let*")
2507 (description
2508 "This library implements the let+ macro, which is a dectructuring
2509extension of let*. It features:
2510
2511@itemize
2512@item Clean, consistent syntax and small implementation (less than 300 LOC,
2513not counting tests)
2514@item Placeholder macros allow editor hints and syntax highlighting
2515@item @command{&ign} for ignored values (in forms where that makes sense)
2516@item Very easy to extend
2517@end itemize\n")
2518 (home-page "https://github.com/sharplispers/let-plus")
2519 (license license:boost1.0))))
2520
2521(define-public cl-let-plus
2522 (sbcl-package->cl-source-package sbcl-let-plus))
2523
2524(define-public ecl-let-plus
2525 (sbcl-package->ecl-package sbcl-let-plus))
2526
2527(define-public sbcl-cl-colors
2528 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
2529 (package
2530 (name "sbcl-cl-colors")
2531 (version (git-version "0.0.0" "1" commit))
2532 (source
2533 (origin
2534 (method git-fetch)
2535 (uri (git-reference
2536 (url "https://github.com/tpapp/cl-colors")
2537 (commit commit)))
2538 (sha256
2539 (base32
2540 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2541 (file-name (git-file-name "cl-colors" version))))
2542 (build-system asdf-build-system/sbcl)
2543 (inputs
2544 `(("alexandria" ,sbcl-alexandria)
2545 ("let-plus" ,sbcl-let-plus)))
2546 (synopsis "Simple color library for Common Lisp")
2547 (description
2548 "This is a very simple color library for Common Lisp, providing
2549
2550@itemize
2551@item Types for representing colors in HSV and RGB spaces.
2552@item Simple conversion functions between the above types (and also
2553hexadecimal representation for RGB).
2554@item Some predefined colors (currently X11 color names – of course the
2555library does not depend on X11).Because color in your terminal is nice.
2556@end itemize
2557
2558This library is no longer supported by its author.")
2559 (home-page "https://github.com/tpapp/cl-colors")
2560 (license license:boost1.0))))
2561
2562(define-public cl-colors
2563 (sbcl-package->cl-source-package sbcl-cl-colors))
2564
2565(define-public ecl-cl-colors
2566 (sbcl-package->ecl-package sbcl-cl-colors))
2567
2568(define-public sbcl-cl-ansi-text
2569 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2570 (package
2571 (name "sbcl-cl-ansi-text")
2572 (version (git-version "1.0.0" "1" commit))
2573 (source
2574 (origin
2575 (method git-fetch)
2576 (uri (git-reference
2577 (url "https://github.com/pnathan/cl-ansi-text")
2578 (commit commit)))
2579 (sha256
2580 (base32
2581 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2582 (file-name (git-file-name "cl-ansi-text" version))))
2583 (build-system asdf-build-system/sbcl)
2584 (inputs
2585 `(("alexandria" ,sbcl-alexandria)
2586 ("cl-colors" ,sbcl-cl-colors)))
2587 (native-inputs
2588 `(("fiveam" ,sbcl-fiveam)))
2589 (synopsis "ANSI terminal color implementation for Common Lisp")
2590 (description
2591 "@command{cl-ansi-text} provides utilities which enable printing to an
2592ANSI terminal with colored text. It provides the macro @command{with-color}
2593which causes everything printed in the body to be displayed with the provided
2594color. It further provides functions which will print the argument with the
2595named color.")
2596 (home-page "https://github.com/pnathan/cl-ansi-text")
2597 (license license:llgpl))))
2598
2599(define-public cl-ansi-text
2600 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2601
2602(define-public ecl-cl-ansi-text
2603 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2604
2ff8b5ba 2605(define-public sbcl-prove
88f06fd0
PN
2606 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2607 (package
2ff8b5ba 2608 (name "sbcl-prove")
88f06fd0
PN
2609 (version (git-version "1.0.0" "1" commit))
2610 (source
2611 (origin
2612 (method git-fetch)
2613 (uri (git-reference
2614 (url "https://github.com/fukamachi/prove")
2615 (commit commit)))
2616 (sha256
2617 (base32
2618 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2619 (file-name (git-file-name "prove" version))))
2620 (build-system asdf-build-system/sbcl)
2ff8b5ba
GLV
2621 (inputs
2622 `(("alexandria" ,sbcl-alexandria)
2623 ("cl-ppcre" ,sbcl-cl-ppcre)
2624 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2ff8b5ba 2625 (synopsis "Yet another unit testing framework for Common Lisp")
88f06fd0 2626 (description
2ff8b5ba 2627 "This project was originally called @command{cl-test-more}.
88f06fd0
PN
2628@command{prove} is yet another unit testing framework for Common Lisp. The
2629advantages of @command{prove} are:
2630
2631@itemize
2632@item Various simple functions for testing and informative error messages
2633@item ASDF integration
2634@item Extensible test reporters
2635@item Colorizes the report if it's available (note for SLIME)
2636@item Reports test durations
2ff8b5ba
GLV
2637@end itemize\n")
2638 (home-page "https://github.com/fukamachi/prove")
2639 (license license:expat))))
88f06fd0
PN
2640
2641(define-public cl-prove
2642 (sbcl-package->cl-source-package sbcl-prove))
2643
2644(define-public ecl-prove
2645 (sbcl-package->ecl-package sbcl-prove))
2646
2647(define-public sbcl-proc-parse
2648 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2649 (package
2650 (name "sbcl-proc-parse")
2651 (version (git-version "0.0.0" "1" commit))
2652 (source
2653 (origin
2654 (method git-fetch)
2655 (uri (git-reference
2656 (url "https://github.com/fukamachi/proc-parse")
2657 (commit commit)))
2658 (sha256
2659 (base32
2660 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2661 (file-name (git-file-name "proc-parse" version))))
2662 (build-system asdf-build-system/sbcl)
2663 (inputs
2664 `(("alexandria" ,sbcl-alexandria)
2665 ("babel" ,sbcl-babel)))
2666 (native-inputs
2ff8b5ba 2667 `(("prove" ,sbcl-prove)))
88f06fd0
PN
2668 (arguments
2669 ;; TODO: Tests don't find "proc-parse-test", why?
2670 `(#:tests? #f))
2671 (synopsis "Procedural vector parser")
2672 (description
2673 "This is a string/octets parser library for Common Lisp with speed and
2674readability in mind. Unlike other libraries, the code is not a
2675pattern-matching-like, but a char-by-char procedural parser.")
2676 (home-page "https://github.com/fukamachi/proc-parse")
2677 (license license:bsd-2))))
2678
2679(define-public cl-proc-parse
2680 (sbcl-package->cl-source-package sbcl-proc-parse))
2681
2682(define-public ecl-proc-parse
2683 (sbcl-package->ecl-package sbcl-proc-parse))
2684
2685(define-public sbcl-parse-float
65454c1c
SH
2686 (let ((commit "3074765101e41222b6b624a66aaf1e6416379f9c")
2687 (revision "2"))
88f06fd0
PN
2688 (package
2689 (name "sbcl-parse-float")
65454c1c 2690 (version (git-version "0.0.0" revision commit))
88f06fd0
PN
2691 (source
2692 (origin
2693 (method git-fetch)
2694 (uri (git-reference
2695 (url "https://github.com/soemraws/parse-float")
2696 (commit commit)))
2697 (sha256
65454c1c 2698 (base32 "0jd2spawc3v8vzqf8ky4cngl45jm65fhkrdf20mf6dcbn3mzpkmr"))
88f06fd0
PN
2699 (file-name (git-file-name "proc-parse" version))))
2700 (build-system asdf-build-system/sbcl)
88f06fd0 2701 (arguments
65454c1c
SH
2702 ;; FIXME: https://github.com/soemraws/parse-float/issues/12
2703 `(#:asd-systems '("parse-float" "parse-float-tests")))
2704 (native-inputs
2705 `(("lisp-unit" ,sbcl-lisp-unit)))
2706 (inputs
2707 `(("alexandria" ,sbcl-alexandria)))
2708 (home-page "https://github.com/soemraws/parse-float")
88f06fd0
PN
2709 (synopsis "Parse a floating point value from a string in Common Lisp")
2710 (description
2711 "This package exports the following function to parse floating-point
2712values from a string in Common Lisp.")
88f06fd0
PN
2713 (license license:public-domain))))
2714
2715(define-public cl-parse-float
2716 (sbcl-package->cl-source-package sbcl-parse-float))
2717
2718(define-public ecl-parse-float
2719 (sbcl-package->ecl-package sbcl-parse-float))
2720
2ff8b5ba 2721(define-public sbcl-cl-string-match
88f06fd0
PN
2722 (let ((revision "1")
2723 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2724 (package
2ff8b5ba
GLV
2725 (name "sbcl-cl-string-match")
2726 (version (git-version "0" revision changeset))
88f06fd0
PN
2727 (source
2728 (origin
2729 (method hg-fetch)
2730 (uri (hg-reference
2731 (url "https://bitbucket.org/vityok/cl-string-match/")
2732 (changeset changeset)))
2733 (sha256
2734 (base32
2735 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2736 (file-name (git-file-name "cl-string-match" version))))
2737 (build-system asdf-build-system/sbcl)
2738 (inputs
2739 `(("alexandria" ,sbcl-alexandria)
2ff8b5ba
GLV
2740 ("babel" ,sbcl-babel)
2741 ("iterate" ,sbcl-iterate)
2742 ("jpl-queues" ,sbcl-jpl-queues)
2743 ("jpl-util" ,sbcl-jpl-util)
2744 ("mgl-pax" ,sbcl-mgl-pax)
2745 ("parse-float" ,sbcl-parse-float)
2746 ("proc-parse" ,sbcl-proc-parse)
2747 ("yacc" ,sbcl-cl-yacc)))
2748 ;; TODO: Tests are not evaluated properly.
2749 (native-inputs
2750 ;; For testing:
2751 `(("lisp-unit" ,sbcl-lisp-unit)))
88f06fd0 2752 (arguments
3f8bbf7c 2753 `(#:tests? #f))
2ff8b5ba 2754 (synopsis "Set of utilities to manipulate strings in Common Lisp")
88f06fd0 2755 (description
2ff8b5ba
GLV
2756 "@command{cl-strings} is a small, portable, dependency-free set of
2757utilities that make it even easier to manipulate text in Common Lisp. It has
2758100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
88f06fd0
PN
2759 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2760 (license license:bsd-3))))
2761
88f06fd0
PN
2762(define-public cl-string-match
2763 (sbcl-package->cl-source-package sbcl-cl-string-match))
2764
2765(define-public ecl-cl-string-match
2766 (sbcl-package->ecl-package sbcl-cl-string-match))
2767
2768(define-public sbcl-ptester
d9d8e3c2
GLV
2769 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2770 (revision "1"))
2771 (package
2772 (name "sbcl-ptester")
2773 (version (git-version "2.1.3" revision commit))
2774 (source
2775 (origin
2776 (method git-fetch)
2777 (uri (git-reference
2778 (url "http://git.kpe.io/ptester.git")
2779 (commit commit)))
2780 (file-name (git-file-name name version))
2781 (sha256
2782 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2783 (build-system asdf-build-system/sbcl)
2784 (home-page "http://quickdocs.org/ptester/")
2785 (synopsis "Portable test harness package")
2786 (description
2787 "@command{ptester} is a portable testing framework based on Franz's
88f06fd0 2788tester module.")
d9d8e3c2 2789 (license license:llgpl))))
88f06fd0
PN
2790
2791(define-public cl-ptester
2792 (sbcl-package->cl-source-package sbcl-ptester))
2793
2794(define-public ecl-ptester
2795 (sbcl-package->ecl-package sbcl-ptester))
2796
2797(define-public sbcl-puri
e05a36a8
SH
2798 (let ((commit "4bbab89d9ccbb26346899d1f496c97604fec567b")
2799 (revision "2"))
ff6cf9fa
GLV
2800 (package
2801 (name "sbcl-puri")
2802 (version (git-version "1.5.7" revision commit))
2803 (source
2804 (origin
2805 (method git-fetch)
2806 (uri (git-reference
2807 (url "http://git.kpe.io/puri.git")
2808 (commit commit)))
e05a36a8 2809 (file-name (git-file-name "puri" version))
ff6cf9fa 2810 (sha256
e05a36a8 2811 (base32 "0gq2rsr0aihs0z20v4zqvmdl4szq53b52rh97pvnmwrlbn4mapmd"))))
ff6cf9fa
GLV
2812 (build-system asdf-build-system/sbcl)
2813 (native-inputs
2814 `(("ptester" ,sbcl-ptester)))
e05a36a8 2815 (home-page "http://puri.kpe.io/")
ff6cf9fa
GLV
2816 (synopsis "Portable URI Library")
2817 (description
2818 "This is a portable Universal Resource Identifier library for Common
2819Lisp programs. It parses URI according to the RFC 2396 specification.")
2820 (license license:llgpl))))
88f06fd0
PN
2821
2822(define-public cl-puri
2823 (sbcl-package->cl-source-package sbcl-puri))
2824
2825(define-public ecl-puri
2826 (sbcl-package->ecl-package sbcl-puri))
2827
10c06966
SH
2828(define-public sbcl-qmynd
2829 (let ((commit "7e56daf73f0ed5f49a931c01af75fb874bcf3445")
2830 (revision "1"))
2831 (package
2832 (name "sbcl-qmynd")
2833 (version (git-version "1.0.0" revision commit))
2834 (source
2835 (origin
2836 (method git-fetch)
2837 (uri (git-reference
2838 (url "https://github.com/qitab/qmynd")
2839 (commit commit)))
2840 (file-name (git-file-name name version))
2841 (sha256
2842 (base32
2843 "06gw5wxcpdclb6a5i5k9lbmdlyqsp182czrm9bm1cpklzbj0ihrl"))))
2844 (build-system asdf-build-system/sbcl)
2845 (inputs
2846 `(("asdf-finalizers" ,sbcl-asdf-finalizers)
2847 ("babel" ,sbcl-babel)
2848 ("chipz" ,sbcl-chipz)
2849 ("cl+ssl" ,sbcl-cl+ssl)
2850 ("flexi-streams" ,sbcl-flexi-streams)
2851 ("ironclad" ,sbcl-ironclad)
2852 ("salza2" ,sbcl-salza2)
2853 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
2854 ("usocket" ,sbcl-usocket)))
2855 (home-page "https://github.com/qitab/qmynd")
2856 (synopsis "QITAB MySQL Native Driver for Common Lisp")
2857 (description "QMyND, the QITAB MySQL Native Driver, is a MySQL client
2858library that directly talks to a MySQL server in its native network protocol.
2859
2860It's a part of QITAB umbrella project.")
2861 (license license:expat))))
2862
2863(define-public ecl-qmynd
2864 (sbcl-package->ecl-package sbcl-qmynd))
2865
2866(define-public cl-qmynd
2867 (sbcl-package->cl-source-package sbcl-qmynd))
2868
88f06fd0
PN
2869(define-public sbcl-queues
2870 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2871 (package
2872 (name "sbcl-queues")
2873 (version (git-version "0.0.0" "1" commit))
2874 (source
2875 (origin
2876 (method git-fetch)
2877 (uri (git-reference
2878 (url "https://github.com/oconnore/queues")
2879 (commit commit)))
2880 (file-name (git-file-name "queues" version))
2881 (sha256
2882 (base32
2883 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2884 (build-system asdf-build-system/sbcl)
2ff8b5ba
GLV
2885 (inputs
2886 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
2887 (arguments
3f8bbf7c 2888 '(#:asd-systems '("queues"
2ff8b5ba
GLV
2889 "queues.simple-queue"
2890 "queues.simple-cqueue"
2891 "queues.priority-queue"
2892 "queues.priority-cqueue")))
88f06fd0
PN
2893 (home-page "https://github.com/oconnore/queues")
2894 (synopsis "Common Lisp queue library")
2895 (description
2896 "This is a simple queue library for Common Lisp with features such as
2897non-consing thread safe queues and fibonacci priority queues.")
2898 (license license:expat))))
2899
2900(define-public cl-queues
2901 (sbcl-package->cl-source-package sbcl-queues))
2902
2903(define-public ecl-queues
2904 (sbcl-package->ecl-package sbcl-queues))
2905
0ce63d11
SH
2906(define-public sbcl-glsl-packing
2907 (let ((commit "03628159468a8e5b7f2a1d5e78b77053e136794a")
2908 (revision "1"))
2909 (package
2910 (name "sbcl-glsl-packing")
2911 (version (git-version "0.0.0" revision commit))
2912 (source
2913 (origin
2914 (method git-fetch)
2915 (uri (git-reference
2916 (url "https://github.com/3b/glsl-packing/")
2917 (commit commit)))
2918 (file-name (git-file-name "glsl-packing" version))
2919 (sha256
2920 (base32 "0k2f1771wd9kdrcasldy1r00k5bdgi9fd07in52zmjggc0i7dd80"))))
2921 (build-system asdf-build-system/sbcl)
2922 (inputs
2923 `(("alexandria" ,sbcl-alexandria)))
2924 (home-page "https://github.com/3b/glsl-packing/")
2925 (synopsis "Common Lisp utilities to calculate OpenGL layouts")
2926 (description
2927 "This is a Common Lisp library to calculate std140 or std430 layouts for
2928a glsl UBO/SSBO.")
2929 (license license:expat))))
2930
2931(define-public ecl-glsl-packing
2932 (sbcl-package->ecl-package sbcl-glsl-packing))
2933
2934(define-public cl-glsl-packing
2935 (sbcl-package->cl-source-package sbcl-glsl-packing))
2936
a1dd7c3b
SH
2937(define-public sbcl-glsl-spec
2938 (let ((commit "f04476f7da89355ae6856b33283c60ba95c6555d")
2939 (revision "1"))
2940 (package
2941 (name "sbcl-glsl-spec")
2942 (version (git-version "0.0.0" revision commit))
2943 (source
2944 (origin
2945 (method git-fetch)
2946 (uri (git-reference
2947 (url "https://github.com/cbaggers/glsl-spec")
2948 (commit commit)))
2949 (file-name (git-file-name "glsl-spec" version))
2950 (sha256
2951 (base32 "01ipspr22fgfj3w8wq2y81lzrjc4vpfiwnr3dqhjlpzzra46am8c"))))
2952 (build-system asdf-build-system/sbcl)
2953 (arguments
2954 `(#:asd-systems '("glsl-spec" "glsl-symbols" "glsl-docs")))
2955 (home-page "https://github.com/cbaggers/glsl-spec")
2956 (synopsis "Common Lisp GLSL specification as a datastructure")
2957 (description
2958 "This package contains the specification of all functions and variables
2959from GLSL as data.")
2960 (license license:unlicense))))
2961
2962(define-public ecl-glsl-spec
2963 (sbcl-package->ecl-package sbcl-glsl-spec))
2964
2965(define-public cl-glsl-spec
2966 (sbcl-package->cl-source-package sbcl-glsl-spec))
2967
4f4ea082
SH
2968(define-public sbcl-rtg-math
2969 (let ((commit "29fc5b3d0028a4a11a82355ecc8cca62662c69e0")
2970 (revision "1"))
2971 (package
2972 (name "sbcl-rtg-math")
2973 (version (git-version "0.0.0" revision commit))
2974 (source
2975 (origin
2976 (method git-fetch)
2977 (uri (git-reference
2978 (url "https://github.com/cbaggers/rtg-math")
2979 (commit commit)))
2980 (file-name (git-file-name "rtg-math" version))
2981 (sha256
2982 (base32 "0bhxxnv7ldkkb18zdxyz2rj2a3iawzq2kcp7cn5i91iby7n0082x"))))
2983 (build-system asdf-build-system/sbcl)
2984 (inputs
2985 `(("alexandria" ,sbcl-alexandria)
2986 ("documentation-utils" ,sbcl-documentation-utils)
2987 ("glsl-symbols" ,sbcl-glsl-spec)))
2988 (home-page "https://github.com/cbaggers/rtg-math")
2989 (synopsis "Common Lisp library of game-related math functions")
2990 (description
2991 "RTG-MATH provides a selection of the math routines most commonly needed
2992for making realtime graphics in Lisp.")
2993 (license license:bsd-2))))
2994
2995(define-public ecl-rtg-math
2996 (sbcl-package->ecl-package sbcl-rtg-math))
2997
2998(define-public cl-rtg-math
2999 (sbcl-package->cl-source-package sbcl-rtg-math))
3000
091ce05e
SH
3001(define-public sbcl-varjo
3002 (let ((commit "9e77f30220053155d2ef8870ceba157f75e538d4")
3003 (revision "1"))
3004 (package
3005 (name "sbcl-varjo")
3006 (version (git-version "0.0.0" revision commit))
3007 (source
3008 (origin
3009 (method git-fetch)
3010 (uri (git-reference
3011 (url "https://github.com/cbaggers/varjo")
3012 (commit commit)))
3013 (file-name (git-file-name "varjo" version))
3014 (sha256
3015 (base32 "1p9x1wj576x5d31yvls9r1avkjkyhri7kyxbjfkg9z93a1w18j9z"))))
3016 (build-system asdf-build-system/sbcl)
3017 (native-inputs
3018 `(("fiveam" ,sbcl-fiveam)))
3019 (inputs
3020 `(("alexandria" ,sbcl-alexandria)
3021 ("cl-ppcre" ,sbcl-cl-ppcre)
3022 ("documentation-utils" ,sbcl-documentation-utils)
3023 ("fn" ,sbcl-fn)
3024 ("glsl-spec" ,sbcl-glsl-spec)
3025 ("named-readtables" ,sbcl-named-readtables)
3026 ("parse-float" ,sbcl-parse-float)
3027 ("vas-string-metrics" ,sbcl-vas-string-metrics)))
3028 (home-page "https://github.com/cbaggers/varjo")
3029 (synopsis "Lisp to GLSL Language Translator")
3030 (description
3031 "Varjo is a Lisp to GLSL compiler. Vari is the dialect of lisp Varjo
3032compiles. It aims to be as close to Common Lisp as possible, but naturally it
3033is statically typed so there are differences.")
3034 (license license:bsd-2))))
3035
3036(define-public ecl-varjo
3037 (sbcl-package->ecl-package sbcl-varjo))
3038
3039(define-public cl-varjo
3040 (sbcl-package->cl-source-package sbcl-varjo))
3041
2ff8b5ba 3042(define-public sbcl-cffi
88f06fd0 3043 (package
2ff8b5ba 3044 (name "sbcl-cffi")
005730ea 3045 (version "0.24.1")
88f06fd0
PN
3046 (source
3047 (origin
3048 (method git-fetch)
3049 (uri (git-reference
b0e7b699 3050 (url "https://github.com/cffi/cffi")
88f06fd0
PN
3051 (commit (string-append "v" version))))
3052 (file-name (git-file-name "cffi-bootstrap" version))
3053 (sha256
005730ea 3054 (base32 "17ryim4xilb1rzxydfr7595dnhqkk02lmrbkqrkvi9091shi4cj3"))))
88f06fd0
PN
3055 (build-system asdf-build-system/sbcl)
3056 (inputs
2ff8b5ba 3057 `(("alexandria" ,sbcl-alexandria)
88f06fd0 3058 ("babel" ,sbcl-babel)
2ff8b5ba 3059 ("libffi" ,libffi)
88f06fd0
PN
3060 ("trivial-features" ,sbcl-trivial-features)))
3061 (native-inputs
2ff8b5ba
GLV
3062 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3063 ("pkg-config" ,pkg-config)
3064 ("rt" ,sbcl-rt)))
88f06fd0
PN
3065 (arguments
3066 '(#:phases
3067 (modify-phases %standard-phases
a13063d6
EF
3068 (add-after 'unpack 'fix-arm-support
3069 (lambda _
3070 ;; This is apparently deprecated since libffi-3.3.
3071 (substitute* "libffi/libffi-types.lisp"
3072 (("\\\(\\\(:unix64.*") ")\n"))
3073 #t))
88f06fd0
PN
3074 (add-after 'unpack 'fix-paths
3075 (lambda* (#:key inputs #:allow-other-keys)
3076 (substitute* "libffi/libffi.lisp"
25a2f2ef 3077 (("libffi.so.7" all) (string-append
88f06fd0
PN
3078 (assoc-ref inputs "libffi")
3079 "/lib/" all)))
3080 (substitute* "toolchain/c-toolchain.lisp"
2ff8b5ba
GLV
3081 (("\"cc\"") (format #f "~S" (which "gcc"))))))
3082 (add-after 'build 'install-headers
3083 (lambda* (#:key outputs #:allow-other-keys)
3084 (install-file "grovel/common.h"
3085 (string-append
3086 (assoc-ref outputs "out")
3087 "/include/grovel")))))
3088 #:asd-files '("cffi.asd"
3089 "cffi-toolchain.asd"
3090 "cffi-grovel.asd"
3091 "cffi-libffi.asd"
3092 "cffi-uffi-compat.asd")
3093 #:asd-systems '("cffi"
3094 "cffi-libffi"
3095 "cffi-uffi-compat")))
88f06fd0
PN
3096 (home-page "https://common-lisp.net/project/cffi/")
3097 (synopsis "Common Foreign Function Interface for Common Lisp")
3098 (description "The Common Foreign Function Interface (CFFI)
3099purports to be a portable foreign function interface for Common Lisp.
3100The CFFI library is composed of a Lisp-implementation-specific backend
3101in the CFFI-SYS package, and a portable frontend in the CFFI
3102package.")
3103 (license license:expat)))
3104
2ff8b5ba
GLV
3105(define-public cl-cffi
3106 (sbcl-package->cl-source-package sbcl-cffi))
88f06fd0 3107
2ff8b5ba
GLV
3108(define-public ecl-cffi
3109 (sbcl-package->ecl-package sbcl-cffi))
88f06fd0 3110
f9dd7683
AK
3111(define-public sbcl-cffi-c-ref
3112 (let ((commit "8123cbb6034c5f7921a0766107cfb8c4e8efd5ce")
3113 (revision "0"))
3114 (package
3115 (name "sbcl-cffi-c-ref")
3116 (version (git-version "1.0" revision commit))
3117 (source
3118 (origin
3119 (method git-fetch)
3120 (uri (git-reference
3121 (url "https://github.com/borodust/cffi-c-ref")
3122 (commit commit)))
3123 (sha256
3124 (base32 "1a3pp6xcisabqir3rp1gvvjfdxcvpm8yr35p38nri9azsinmmc7z"))
3125 (file-name (git-file-name "cffi-c-ref" version))))
3126 (build-system asdf-build-system/sbcl)
3127 (inputs
3128 `(("alexandria" ,sbcl-alexandria)
3129 ("cffi" ,sbcl-cffi)))
3130 (synopsis "Streamlined access to foreign memory")
3131 (description
3132 "This Common Lisp library provides macros to access foreign memory.")
3133 (home-page "https://github.com/borodust/cffi-c-ref")
3134 (license license:expat))))
3135
3136(define-public cl-cffi-c-ref
3137 (sbcl-package->cl-source-package sbcl-cffi-c-ref))
3138
3139(define-public ecl-cffi-c-ref
3140 (sbcl-package->ecl-package sbcl-cffi-c-ref))
3141
2ff8b5ba 3142(define-public sbcl-cl-sqlite
b7d974b3
PN
3143 (package
3144 (name "sbcl-cl-sqlite")
3145 (version "0.2.1")
3146 (source
3147 (origin
3148 (method git-fetch)
3149 (uri (git-reference
3150 (url "https://github.com/dmitryvk/cl-sqlite")
3151 (commit version)))
3152 (file-name (git-file-name "cl-sqlite" version))
3153 (sha256
3154 (base32
3155 "08iv7b4m0hh7qx2cvq4f510nrgdld0vicnvmqsh9w0fgrcgmyg4k"))))
3156 (build-system asdf-build-system/sbcl)
3157 (inputs
3158 `(("iterate" ,sbcl-iterate)
3159 ("cffi" ,sbcl-cffi)
3160 ("sqlite" ,sqlite)))
3161 (native-inputs
3162 `(("fiveam" ,sbcl-fiveam)
3163 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
3164 (arguments
3f8bbf7c 3165 `(#:asd-systems '("sqlite")
b7d974b3
PN
3166 #:phases
3167 (modify-phases %standard-phases
3168 (add-after 'unpack 'fix-paths
3169 (lambda* (#:key inputs #:allow-other-keys)
3170 (substitute* "sqlite-ffi.lisp"
3171 (("libsqlite3" all) (string-append
3172 (assoc-ref inputs "sqlite")"/lib/" all))))))))
3173 (home-page "https://common-lisp.net/project/cl-sqlite/")
3174 (synopsis "Common Lisp binding for SQLite")
3175 (description
3176 "The @command{cl-sqlite} package is an interface to the SQLite embedded
88f06fd0 3177relational database engine.")
b7d974b3 3178 (license license:public-domain)))
88f06fd0
PN
3179
3180(define-public cl-sqlite
3181 (sbcl-package->cl-source-package sbcl-cl-sqlite))
3182
12df8b7b
GLV
3183(define-public ecl-cl-sqlite
3184 (sbcl-package->ecl-package sbcl-cl-sqlite))
3185
88f06fd0 3186(define-public sbcl-parenscript
a84b7a4a
PN
3187 ;; Source archives are overwritten on every release, we use the Git repo instead.
3188 (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766"))
88f06fd0
PN
3189 (package
3190 (name "sbcl-parenscript")
a84b7a4a 3191 (version (git-version "2.7.1" "1" commit))
88f06fd0
PN
3192 (source
3193 (origin
3194 (method git-fetch)
3195 (uri (git-reference
3196 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
3197 (commit commit)))
3198 (file-name (git-file-name "parenscript" version))
3199 (sha256
3200 (base32
a84b7a4a 3201 "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf"))))
88f06fd0
PN
3202 (build-system asdf-build-system/sbcl)
3203 (inputs
3204 `(("cl-ppcre" ,sbcl-cl-ppcre)
3205 ("anaphora" ,sbcl-anaphora)
3206 ("named-readtables" ,sbcl-named-readtables)))
3207 (home-page "https://common-lisp.net/project/parenscript/")
3208 (synopsis "Translator from a subset of Common Lisp to JavaScript")
3209 (description
3210 "Parenscript is a translator from an extended subset of Common Lisp to
3211JavaScript. Parenscript code can run almost identically on both the
3212browser (as JavaScript) and server (as Common Lisp).
3213
3214Parenscript code is treated the same way as Common Lisp code, making the full
3215power of Lisp macros available for JavaScript. This provides a web
3216development environment that is unmatched in its ability to reduce code
3217duplication and provide advanced meta-programming facilities to web
3218developers.
3219
3220At the same time, Parenscript is different from almost all other \"language
3221X\" to JavaScript translators in that it imposes almost no overhead:
3222
3223@itemize
3224@item No run-time dependencies: Any piece of Parenscript code is runnable
3225as-is. There are no JavaScript files to include.
3226@item Native types: Parenscript works entirely with native JavaScript data
3227types. There are no new types introduced, and object prototypes are not
3228touched.
3229@item Native calling convention: Any JavaScript code can be called without the
3230need for bindings. Likewise, Parenscript can be used to make efficient,
3231self-contained JavaScript libraries.
3232@item Readable code: Parenscript generates concise, formatted, idiomatic
3233JavaScript code. Identifier names are preserved. This enables seamless
3234debugging in tools like Firebug.
3235@item Efficiency: Parenscript introduces minimal overhead for advanced Common
3236Lisp features. The generated code is almost as fast as hand-written
3237JavaScript.
3238@end itemize\n")
3239 (license license:bsd-3))))
3240
3241(define-public cl-parenscript
3242 (sbcl-package->cl-source-package sbcl-parenscript))
3243
3244(define-public ecl-parenscript
3245 (sbcl-package->ecl-package sbcl-parenscript))
3246
3247(define-public sbcl-cl-json
3248 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
3249 (package
3250 (name "sbcl-cl-json")
3251 (version (git-version "0.5" "1" commit))
3252 (source
3253 (origin
3254 (method git-fetch)
3255 (uri (git-reference
3256 (url "https://github.com/hankhero/cl-json")
3257 (commit commit)))
3258 (file-name (git-file-name "cl-json" version))
3259 (sha256
3260 (base32
3261 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
3262 (build-system asdf-build-system/sbcl)
3263 (native-inputs
3264 `(("fiveam" ,sbcl-fiveam)))
3265 (home-page "https://github.com/hankhero/cl-json")
3266 (synopsis "JSON encoder and decoder for Common-Lisp")
3267 (description
3268 "@command{cl-json} provides an encoder of Lisp objects to JSON format
3269and a corresponding decoder of JSON data to Lisp objects. Both the encoder
3270and the decoder are highly customizable; at the same time, the default
3271settings ensure a very simple mode of operation, similar to that provided by
3272@command{yason} or @command{st-json}.")
3273 (license license:expat))))
3274
3275(define-public cl-json
3276 (sbcl-package->cl-source-package sbcl-cl-json))
3277
3278(define-public ecl-cl-json
3279 (sbcl-package->ecl-package sbcl-cl-json))
3280
3281(define-public sbcl-unix-opts
3282 (package
3283 (name "sbcl-unix-opts")
3284 (version "0.1.7")
3285 (source
3286 (origin
3287 (method git-fetch)
3288 (uri (git-reference
3289 (url "https://github.com/libre-man/unix-opts")
3290 (commit version)))
3291 (file-name (git-file-name "unix-opts" version))
3292 (sha256
3293 (base32
3294 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
3295 (build-system asdf-build-system/sbcl)
3296 (home-page "https://github.com/hankhero/cl-json")
3297 (synopsis "Unix-style command line options parser")
3298 (description
3299 "This is a minimalistic parser of command line options. The main
3300advantage of the library is the ability to concisely define command line
3301options once and then use this definition for parsing and extraction of
3302command line arguments, as well as printing description of command line
3303options (you get --help for free). This way you don't need to repeat
102fc7bc
VC
3304yourself. Also, @command{unix-opts} doesn't depend on anything and
3305precisely controls the behavior of the parser via Common Lisp restarts.")
88f06fd0
PN
3306 (license license:expat)))
3307
3308(define-public cl-unix-opts
3309 (sbcl-package->cl-source-package sbcl-unix-opts))
3310
3311(define-public ecl-unix-opts
3312 (sbcl-package->ecl-package sbcl-unix-opts))
3313
3314(define-public sbcl-trivial-garbage
3315 (package
3316 (name "sbcl-trivial-garbage")
3317 (version "0.21")
3318 (source
3319 (origin
3320 (method git-fetch)
3321 (uri (git-reference
b0e7b699 3322 (url "https://github.com/trivial-garbage/trivial-garbage")
88f06fd0
PN
3323 (commit (string-append "v" version))))
3324 (file-name (git-file-name "trivial-garbage" version))
3325 (sha256
3326 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
3327 (build-system asdf-build-system/sbcl)
3328 (native-inputs
3329 `(("rt" ,sbcl-rt)))
3330 (home-page "https://common-lisp.net/project/trivial-garbage/")
3331 (synopsis "Portable GC-related APIs for Common Lisp")
3332 (description "@command{trivial-garbage} provides a portable API to
3333finalizers, weak hash-tables and weak pointers on all major implementations of
3334the Common Lisp programming language.")
3335 (license license:public-domain)))
3336
3337(define-public cl-trivial-garbage
3338 (sbcl-package->cl-source-package sbcl-trivial-garbage))
3339
3340(define-public ecl-trivial-garbage
3341 (sbcl-package->ecl-package sbcl-trivial-garbage))
3342
3343(define-public sbcl-closer-mop
d4c04565 3344 (let ((commit "19c9d33f576e10715fd79cc1d4f688dab0f241d6"))
88f06fd0
PN
3345 (package
3346 (name "sbcl-closer-mop")
d4c04565 3347 (version (git-version "1.0.0" "2" commit))
88f06fd0
PN
3348 (source
3349 (origin
3350 (method git-fetch)
3351 (uri (git-reference
3352 (url "https://github.com/pcostanza/closer-mop")
3353 (commit commit)))
3354 (sha256
d4c04565 3355 (base32 "1w3x087wvlwkd6swfdgbvjfs6kazf0la8ax4pjfzikwjch4snn2c"))
88f06fd0
PN
3356 (file-name (git-file-name "closer-mop" version ))))
3357 (build-system asdf-build-system/sbcl)
3358 (home-page "https://github.com/pcostanza/closer-mop")
3359 (synopsis "Rectifies absent or incorrect CLOS MOP features")
3360 (description "Closer to MOP is a compatibility layer that rectifies many
3361of the absent or incorrect CLOS MOP features across a broad range of Common
3362Lisp implementations.")
3363 (license license:expat))))
3364
3365(define-public cl-closer-mop
3366 (sbcl-package->cl-source-package sbcl-closer-mop))
3367
3368(define-public ecl-closer-mop
3369 (sbcl-package->ecl-package sbcl-closer-mop))
3370
2ff8b5ba 3371(define-public sbcl-cl-cffi-gtk
fd689a83 3372 (let ((commit "e9a46df65995d9a16e6c8dbdc1e09b775eb4a966"))
88f06fd0 3373 (package
2ff8b5ba 3374 (name "sbcl-cl-cffi-gtk")
fd689a83 3375 (version (git-version "0.11.2" "2" commit))
88f06fd0
PN
3376 (source
3377 (origin
3378 (method git-fetch)
3379 (uri (git-reference
3380 (url "https://github.com/Ferada/cl-cffi-gtk/")
3381 (commit commit)))
3382 (file-name (git-file-name "cl-cffi-gtk" version))
3383 (sha256
3384 (base32
fd689a83 3385 "04vix0gmqsj91lm975sx7jhlnz5gq1xf9jp873mp7c8frc5dk1jj"))))
88f06fd0 3386 (build-system asdf-build-system/sbcl)
2ff8b5ba
GLV
3387 (native-inputs
3388 `(("fiveam" ,sbcl-fiveam)))
88f06fd0 3389 (inputs
2ff8b5ba
GLV
3390 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3391 ("cairo" ,cairo)
88f06fd0 3392 ("cffi" ,sbcl-cffi)
2ff8b5ba
GLV
3393 ("closer-mop" ,sbcl-closer-mop)
3394 ("gdk-pixbuf" ,gdk-pixbuf)
0fadc00a 3395 ("glib" ,glib)
2ff8b5ba
GLV
3396 ("gtk" ,gtk+)
3397 ("iterate" ,sbcl-iterate)
0fadc00a 3398 ("pango" ,pango)
2ff8b5ba
GLV
3399 ("trivial-features" ,sbcl-trivial-features)
3400 ("trivial-garbage" ,sbcl-trivial-garbage)))
0fadc00a 3401 (arguments
2ff8b5ba
GLV
3402 `(#:asd-files '("gtk/cl-cffi-gtk.asd"
3403 "glib/cl-cffi-gtk-glib.asd"
3404 "gobject/cl-cffi-gtk-gobject.asd"
3405 "gio/cl-cffi-gtk-gio.asd"
3406 "cairo/cl-cffi-gtk-cairo.asd"
3407 "pango/cl-cffi-gtk-pango.asd"
3408 "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
3409 "gdk/cl-cffi-gtk-gdk.asd")
2ff8b5ba
GLV
3410 #:test-asd-file "test/cl-cffi-gtk-test.asd"
3411 ;; TODO: Tests fail with memory fault.
3412 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
3413 #:tests? #f
3414 #:phases
0fadc00a
PN
3415 (modify-phases %standard-phases
3416 (add-after 'unpack 'fix-paths
3417 (lambda* (#:key inputs #:allow-other-keys)
3418 (substitute* "glib/glib.init.lisp"
3419 (("libglib|libgthread" all)
3420 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3421 (substitute* "gobject/gobject.init.lisp"
3422 (("libgobject" all)
3423 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3424 (substitute* "gio/gio.init.lisp"
3425 (("libgio" all)
3426 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3427 (substitute* "cairo/cairo.init.lisp"
3428 (("libcairo" all)
3429 (string-append (assoc-ref inputs "cairo") "/lib/" all)))
3430 (substitute* "pango/pango.init.lisp"
3431 (("libpango" all)
3432 (string-append (assoc-ref inputs "pango") "/lib/" all)))
3433 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
3434 (("libgdk_pixbuf" all)
3435 (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))
3436 (substitute* "gdk/gdk.init.lisp"
3437 (("libgdk" all)
3438 (string-append (assoc-ref inputs "gtk") "/lib/" all)))
3439 (substitute* "gdk/gdk.package.lisp"
3440 (("libgtk" all)
3441 (string-append (assoc-ref inputs "gtk") "/lib/" all))))))))
88f06fd0
PN
3442 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
3443 (synopsis "Common Lisp binding for GTK+3")
3444 (description
3445 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
3446is a library for creating graphical user interfaces.")
3447 (license license:lgpl3))))
3448
88f06fd0
PN
3449(define-public cl-cffi-gtk
3450 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
3451
e7cbcf5a
GLV
3452(define-public ecl-cl-cffi-gtk
3453 (sbcl-package->ecl-package sbcl-cl-cffi-gtk))
3454
88f06fd0 3455(define-public sbcl-cl-webkit
41a7df0c 3456 (let ((commit "cfc4f01ee806169d824750b4014653a93af9353d"))
88f06fd0
PN
3457 (package
3458 (name "sbcl-cl-webkit")
41a7df0c 3459 (version (git-version "2.4" "16" commit))
88f06fd0
PN
3460 (source
3461 (origin
3462 (method git-fetch)
3463 (uri (git-reference
94aab844 3464 (url "https://github.com/joachifm/cl-webkit")
88f06fd0
PN
3465 (commit commit)))
3466 (file-name (git-file-name "cl-webkit" version))
3467 (sha256
3468 (base32
41a7df0c 3469 "18n90m33bi6arnjmwr3q3m0arwzr0kdnydlv4if82crvaagd6m89"))))
88f06fd0
PN
3470 (build-system asdf-build-system/sbcl)
3471 (inputs
3472 `(("cffi" ,sbcl-cffi)
3473 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3474 ("webkitgtk" ,webkitgtk)))
3475 (arguments
3f8bbf7c 3476 `(#:asd-systems '("cl-webkit2")
88f06fd0
PN
3477 #:phases
3478 (modify-phases %standard-phases
3479 (add-after 'unpack 'fix-paths
3480 (lambda* (#:key inputs #:allow-other-keys)
3481 (substitute* "webkit2/webkit2.init.lisp"
3482 (("libwebkit2gtk" all)
3483 (string-append
3484 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
94aab844 3485 (home-page "https://github.com/joachifm/cl-webkit")
88f06fd0
PN
3486 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3487 (description
3488 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3489currently targeting WebKit version 2. The WebKitGTK+ library adds web
3490browsing capabilities to an application, leveraging the full power of the
3491WebKit browsing engine.")
3492 (license license:expat))))
3493
3494(define-public cl-webkit
3495 (sbcl-package->cl-source-package sbcl-cl-webkit))
3496
12df8b7b
GLV
3497(define-public ecl-cl-webkit
3498 (sbcl-package->ecl-package sbcl-cl-webkit))
3499
88f06fd0
PN
3500(define-public sbcl-lparallel
3501 (package
3502 (name "sbcl-lparallel")
3503 (version "2.8.4")
3504 (source
3505 (origin
3506 (method git-fetch)
3507 (uri (git-reference
3508 (url "https://github.com/lmj/lparallel/")
3509 (commit (string-append "lparallel-" version))))
3510 (file-name (git-file-name "lparallel" version))
3511 (sha256
3512 (base32
3513 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3514 (build-system asdf-build-system/sbcl)
3515 (inputs
3516 `(("alexandria" ,sbcl-alexandria)
3517 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3518 ("trivial-garbage" ,sbcl-trivial-garbage)))
388a8975
KCB
3519 (arguments
3520 `(#:phases
3521 (modify-phases %standard-phases
3522 (add-after 'unpack 'fix-dependency
3523 ;; lparallel loads a SBCL specific system in its asd file. This is
3524 ;; not carried over into the fasl which is generated. In order for
3525 ;; it to be carried over, it needs to be listed as a dependency.
3526 (lambda _
3527 (substitute* "lparallel.asd"
3528 ((":depends-on \\(:alexandria" all)
3529 (string-append all " #+sbcl :sb-cltl2"))))))))
88f06fd0
PN
3530 (home-page "https://lparallel.org/")
3531 (synopsis "Parallelism for Common Lisp")
3532 (description
3533 "@command{lparallel} is a library for parallel programming in Common
3534Lisp, featuring:
3535
3536@itemize
3537@item a simple model of task submission with receiving queue,
3538@item constructs for expressing fine-grained parallelism,
3539@item asynchronous condition handling across thread boundaries,
3540@item parallel versions of map, reduce, sort, remove, and many others,
3541@item promises, futures, and delayed evaluation constructs,
3542@item computation trees for parallelizing interconnected tasks,
3543@item bounded and unbounded FIFO queues,
3544@item high and low priority tasks,
3545@item task killing by category,
3546@item integrated timeouts.
3547@end itemize\n")
3548 (license license:expat)))
3549
3550(define-public cl-lparallel
3551 (sbcl-package->cl-source-package sbcl-lparallel))
3552
3553(define-public ecl-lparallel
6ca66f64
GLV
3554 (package
3555 (inherit (sbcl-package->ecl-package sbcl-lparallel))
3556 (arguments
3557 ;; TODO: Find why the tests get stuck forever; disable them for now.
3558 `(#:tests? #f))))
88f06fd0
PN
3559
3560(define-public sbcl-cl-markup
3561 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3562 (package
3563 (name "sbcl-cl-markup")
3564 (version (git-version "0.1" "1" commit))
3565 (source
3566 (origin
3567 (method git-fetch)
3568 (uri (git-reference
3569 (url "https://github.com/arielnetworks/cl-markup/")
3570 (commit commit)))
3571 (file-name (git-file-name "cl-markup" version))
3572 (sha256
3573 (base32
3574 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3575 (build-system asdf-build-system/sbcl)
3576 (home-page "https://github.com/arielnetworks/cl-markup/")
3577 (synopsis "Markup generation library for Common Lisp")
3578 (description
3579 "A modern markup generation library for Common Lisp that features:
3580
3581@itemize
3582@item Fast (even faster through compiling the code)
3583@item Safety
3584@item Support for multiple document types (markup, xml, html, html5, xhtml)
3585@item Output with doctype
3586@item Direct output to stream
3587@end itemize\n")
3588 (license license:lgpl3+))))
3589
3590(define-public cl-markup
3591 (sbcl-package->cl-source-package sbcl-cl-markup))
3592
3593(define-public ecl-cl-markup
3594 (sbcl-package->ecl-package sbcl-cl-markup))
3595
1afffdaa
C
3596;;; The following package is renamed from "markup" to "markup-reader" in order
3597;;; not to conflict with the "cl-markup" package.
3598(define-public sbcl-markup-reader
3599 (let ((commit "d2d4d7b073554f47c24223a9304452966608702e")
3600 (revision "1"))
3601 (package
3602 (name "sbcl-markup-reader")
3603 (version (git-version "0.0.1" revision commit))
3604 (source
3605 (origin
3606 (method git-fetch)
3607 (uri (git-reference
3608 (url "https://github.com/moderninterpreters/markup")
3609 (commit commit)))
3610 (file-name (git-file-name "markup-reader" version))
3611 (sha256
3612 (base32 "0i3v938j8zpzkd6p9j8gadp5zndjcdxhswj1qgsp592v6497rpzj"))))
3613 (build-system asdf-build-system/sbcl)
3614 (arguments
3615 '(#:asd-systems '("markup")))
3616 (native-inputs
3617 `(("fiveam" ,sbcl-fiveam)))
3618 (inputs
3619 `(("alexandria" ,sbcl-alexandria)
3620 ("cl-str" ,sbcl-cl-str)
3621 ("named-readtables" ,sbcl-named-readtables)
3622 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3623 (home-page "https://github.com/moderninterpreters/markup")
3624 (synopsis "Reader-macro to read HTML tags inside of Common Lisp code")
3625 (description
3626 "Markup allows the use of HTML syntax with in Common Lisp code.
3627This has the advantage of being able to copy HTML snippets and have them
3628instantly be functional, less double quotes than a s-expression approach,
3629and designers will be able to understand the embeded HTML.")
3630 (license license:asl2.0))))
3631
3632(define-public ecl-markup-reader
3633 (sbcl-package->ecl-package sbcl-markup-reader))
3634
3635(define-public cl-markup-reader
3636 (sbcl-package->cl-source-package sbcl-markup-reader))
3637
c072887b
SH
3638(define-public sbcl-cl-mustache
3639 (package
3640 (name "sbcl-cl-mustache")
3641 (version "0.12.1")
3642 (source
3643 (origin
3644 (method git-fetch)
3645 (uri (git-reference
3646 (url "https://github.com/kanru/cl-mustache")
3647 (commit (string-append "v" version))))
3648 (file-name (git-file-name "cl-mustache" version))
3649 (sha256
3650 (base32 "149xbb6wxq1napliwm9cv729hwcgfnjli6y8hingfixz7f10lhks"))))
3651 (build-system asdf-build-system/sbcl)
3652 (home-page "https://github.com/kanru/cl-mustache")
3653 (synopsis "Common Lisp Mustache template renderer")
3654 (description "This is a Common Lisp implementation for the Mustache
3655template system. More details on the standard are available at
3656@url{https://mustache.github.io}.")
3657 (license license:expat)))
3658
3659(define-public cl-mustache
3660 (sbcl-package->cl-source-package sbcl-cl-mustache))
3661
3662(define-public ecl-cl-mustache
3663 (sbcl-package->ecl-package sbcl-cl-mustache))
3664
88f06fd0
PN
3665(define-public sbcl-cl-css
3666 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3667 (package
3668 (name "sbcl-cl-css")
3669 (version (git-version "0.1" "1" commit))
3670 (source
3671 (origin
3672 (method git-fetch)
3673 (uri (git-reference
3674 (url "https://github.com/inaimathi/cl-css/")
3675 (commit commit)))
3676 (file-name (git-file-name "cl-css" version))
3677 (sha256
3678 (base32
3679 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3680 (build-system asdf-build-system/sbcl)
3681 (home-page "https://github.com/inaimathi/cl-css/")
3682 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3683 (description
3684 "This is a dead-simple, non validating, inline CSS generator for Common
3685Lisp. Its goals are axiomatic syntax, simple implementation to support
3686portability, and boilerplate reduction in CSS.")
3687 (license license:expat))))
3688
3689(define-public cl-css
3690 (sbcl-package->cl-source-package sbcl-cl-css))
3691
3692(define-public ecl-cl-css
3693 (sbcl-package->ecl-package sbcl-cl-css))
3694
3695(define-public sbcl-portable-threads
cb92693e 3696 (let ((commit "aa26bf38338a6b068bf8bfb3375d8d8c3b0a28df"))
88f06fd0
PN
3697 (package
3698 (name "sbcl-portable-threads")
cb92693e 3699 (version (git-version "2.3" "2" commit))
88f06fd0
PN
3700 (source
3701 (origin
3702 (method git-fetch)
3703 (uri (git-reference
3704 (url "https://github.com/binghe/portable-threads/")
3705 (commit commit)))
3706 (file-name (git-file-name "portable-threads" version))
3707 (sha256
cb92693e 3708 (base32 "058ksi07vfdmhrf5mdlc833s82m1rcqfja2266520m3r8bzs8bvs"))))
88f06fd0
PN
3709 (build-system asdf-build-system/sbcl)
3710 (arguments
3711 `(;; Tests seem broken.
3712 #:tests? #f))
3713 (home-page "https://github.com/binghe/portable-threads")
cb92693e 3714 (synopsis "Portable threads API for Common Lisp")
88f06fd0
PN
3715 (description
3716 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3717Lisp (from GBBopen project).")
3718 (license license:asl2.0))))
3719
3720(define-public cl-portable-threads
3721 (sbcl-package->cl-source-package sbcl-portable-threads))
3722
2ff8b5ba 3723(define-public ecl-portable-threads
88f06fd0
PN
3724 (sbcl-package->ecl-package sbcl-portable-threads))
3725
2ff8b5ba 3726(define-public sbcl-usocket
b23e6f5d 3727 (package
2ff8b5ba 3728 (name "sbcl-usocket")
b23e6f5d
GLV
3729 (version "0.8.3")
3730 (source
3731 (origin
3732 (method git-fetch)
3733 (uri (git-reference
3734 (url "https://github.com/usocket/usocket/")
3735 (commit (string-append "v" version))))
3736 (file-name (git-file-name "usocket" version))
3737 (sha256
3738 (base32
3739 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3740 (build-system asdf-build-system/sbcl)
2ff8b5ba
GLV
3741 (native-inputs
3742 `(("rt" ,sbcl-rt)))
b23e6f5d 3743 (inputs
2ff8b5ba
GLV
3744 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3745 ("split-sequence" ,sbcl-split-sequence)))
b23e6f5d 3746 (arguments
2ff8b5ba 3747 `(#:tests? #f ; FIXME: Tests need network access?
2ff8b5ba
GLV
3748 #:asd-systems '("usocket"
3749 "usocket-server")))
b23e6f5d 3750 (home-page "https://common-lisp.net/project/usocket/")
2ff8b5ba 3751 (synopsis "Universal socket library for Common Lisp")
b23e6f5d
GLV
3752 (description
3753 "This library strives to provide a portable TCP/IP and UDP/IP socket
88f06fd0
PN
3754interface for as many Common Lisp implementations as possible, while keeping
3755the abstraction and portability layer as thin as possible.")
b23e6f5d 3756 (license license:expat)))
88f06fd0 3757
88f06fd0
PN
3758(define-public cl-usocket
3759 (sbcl-package->cl-source-package sbcl-usocket))
3760
b23e6f5d 3761(define-public ecl-usocket
88f06fd0
PN
3762 (sbcl-package->ecl-package sbcl-usocket))
3763
3764(define-public sbcl-s-xml
3765 (package
3766 (name "sbcl-s-xml")
3767 (version "3")
3768 (source
3769 (origin
3770 (method url-fetch)
3771 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3772 (sha256
3773 (base32
3774 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3775 (build-system asdf-build-system/sbcl)
3776 (home-page "https://common-lisp.net/project/s-xml/")
3777 (synopsis "Simple XML parser implemented in Common Lisp")
3778 (description
3779 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3780parser implementation has the following features:
3781
3782@itemize
3783@item It works (handling many common XML usages).
3784@item It is very small (the core is about 700 lines of code, including
3785comments and whitespace).
3786@item It has a core API that is simple, efficient and pure functional, much
3787like that from SSAX (see also http://ssax.sourceforge.net).
3788@item It supports different DOM models: an XSML-based one, an LXML-based one
3789and a classic xml-element struct based one.
3790@item It is reasonably time and space efficient (internally avoiding garbage
3791generatation as much as possible).
3792@item It does support CDATA.
3793@item It should support the same character sets as your Common Lisp
3794implementation.
3795@item It does support XML name spaces.
3796@end itemize
3797
3798This XML parser implementation has the following limitations:
3799
3800@itemize
3801@item It does not support any special tags (like processing instructions).
3802@item It is not validating, even skips DTD's all together.
3803@end itemize\n")
3804 (license license:lgpl3+)))
3805
3806(define-public cl-s-xml
3807 (sbcl-package->cl-source-package sbcl-s-xml))
3808
3809(define-public ecl-s-xml
3810 (sbcl-package->ecl-package sbcl-s-xml))
3811
3812(define-public sbcl-s-xml-rpc
3813 (package
3814 (name "sbcl-s-xml-rpc")
3815 (version "7")
3816 (source
3817 (origin
3818 (method url-fetch)
3819 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3820 (sha256
3821 (base32
3822 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3823 (build-system asdf-build-system/sbcl)
3824 (inputs
3825 `(("s-xml" ,sbcl-s-xml)))
3826 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3827 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3828 (description
3829 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3830client and server.")
3831 (license license:lgpl3+)))
3832
3833(define-public cl-s-xml-rpc
3834 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3835
3836(define-public ecl-s-xml-rpc
3837 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3838
538d9114
SH
3839(define-public sbcl-trivial-arguments
3840 (let ((commit "ecd84ed9cf9ef8f1e873d7409e6bd04979372aa7")
3841 (revision "1"))
3842 (package
3843 (name "sbcl-trivial-arguments")
3844 (version (git-version "1.1.0" revision commit))
3845 (source
3846 (origin
3847 (method git-fetch)
3848 (uri (git-reference
3849 (url "https://github.com/Shinmera/trivial-arguments")
3850 (commit commit)))
3851 (file-name (git-file-name "trivial-arguments" version))
3852 (sha256
3853 (base32 "02vaqfavhj8jqxnr68nnzvzshm8jbgcy6m9lvyv4daa6f7ihqf88"))))
3854 (build-system asdf-build-system/sbcl)
3855 (home-page "https://github.com/Shinmera/trivial-arguments")
3856 (synopsis "Common Lisp library to retrieve a function's lambda-list")
3857 (description
3858 "This is a simple library to retrieve the argument list of a function.")
3859 (license license:zlib))))
3860
3861(define-public ecl-trivial-arguments
3862 (sbcl-package->ecl-package sbcl-trivial-arguments))
3863
3864(define-public cl-trivial-arguments
3865 (sbcl-package->cl-source-package sbcl-trivial-arguments))
3866
88f06fd0 3867(define-public sbcl-trivial-clipboard
bdf72966 3868 (let ((commit "8a580cb97196be7cf096548eb1f46794cd22bb39"))
88f06fd0
PN
3869 (package
3870 (name "sbcl-trivial-clipboard")
bdf72966 3871 (version (git-version "0.0.0.0" "4" commit))
88f06fd0
PN
3872 (source
3873 (origin
3874 (method git-fetch)
3875 (uri (git-reference
3876 (url "https://github.com/snmsts/trivial-clipboard")
3877 (commit commit)))
3878 (file-name (git-file-name "trivial-clipboard" version))
3879 (sha256
3880 (base32
bdf72966 3881 "0apkgqrscylw3hhm5x2vs0z3hz6h7zd7dl5y3wr2zl8qjpvpc80k"))))
88f06fd0
PN
3882 (build-system asdf-build-system/sbcl)
3883 (inputs
3884 `(("xclip" ,xclip)))
3885 (native-inputs
3886 `(("fiveam" ,sbcl-fiveam)))
3887 (arguments
3888 `(#:phases
3889 (modify-phases %standard-phases
3890 (add-after 'unpack 'fix-paths
3891 (lambda* (#:key inputs #:allow-other-keys)
3892 (substitute* "src/text.lisp"
bdf72966
PN
3893 (("\"xclip\"")
3894 (string-append "\"" (assoc-ref inputs "xclip") "/bin/xclip\""))))))))
88f06fd0
PN
3895 (home-page "https://github.com/snmsts/trivial-clipboard")
3896 (synopsis "Access system clipboard in Common Lisp")
3897 (description
3898 "@command{trivial-clipboard} gives access to the system clipboard.")
3899 (license license:expat))))
3900
3901(define-public cl-trivial-clipboard
3902 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3903
3904(define-public ecl-trivial-clipboard
3905 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3906
3907(define-public sbcl-trivial-backtrace
4c2f810f 3908 (let ((commit "6eb65bde7229413040c81d42ea22f0e4c9c8cfc9")
88f06fd0
PN
3909 (revision "1"))
3910 (package
3911 (name "sbcl-trivial-backtrace")
4c2f810f 3912 (version (git-version "1.1.0" revision commit))
88f06fd0
PN
3913 (source
3914 (origin
3915 (method git-fetch)
3916 (uri (git-reference
b0e7b699 3917 (url "https://github.com/gwkkwg/trivial-backtrace")
88f06fd0
PN
3918 (commit commit)))
3919 (file-name (git-file-name "trivial-backtrace" version))
3920 (sha256
4c2f810f 3921 (base32 "1mbaqiwj5034iw6jzw30jyhwzp1pvhnz1zcy0lns0z5j2h9ldapw"))))
88f06fd0 3922 (build-system asdf-build-system/sbcl)
7ca996c3 3923 (native-inputs
88f06fd0 3924 `(("sbcl-lift" ,sbcl-lift)))
8dc2af3b
GLV
3925 (arguments
3926 `(#:phases
3927 (modify-phases %standard-phases
3928 (add-after 'check 'delete-test-results
3929 (lambda* (#:key outputs #:allow-other-keys)
3930 (let ((test-results (string-append (assoc-ref outputs "out")
3931 "/share/common-lisp/"
3136fda7 3932 (%lisp-type)
8dc2af3b
GLV
3933 "/trivial-backtrace"
3934 "/test-results")))
3935 (when (file-exists? test-results)
3936 (delete-file-recursively test-results)))
3937 #t)))))
88f06fd0
PN
3938 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3939 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3940 (description
d35a0f14 3941 "One of the many things that didn't quite get into the Common Lisp
88f06fd0
PN
3942standard was how to get a Lisp to output its call stack when something has
3943gone wrong. As such, each Lisp has developed its own notion of what to
3944display, how to display it, and what sort of arguments can be used to
3945customize it. @code{trivial-backtrace} is a simple solution to generating a
3946backtrace portably.")
3947 (license license:expat))))
3948
3949(define-public cl-trivial-backtrace
3950 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3951
12df8b7b
GLV
3952(define-public ecl-trivial-backtrace
3953 (sbcl-package->ecl-package sbcl-trivial-backtrace))
3954
88f06fd0
PN
3955(define-public sbcl-rfc2388
3956 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3957 (revision "1"))
3958 (package
3959 (name "sbcl-rfc2388")
3960 (version (git-version "0.0.0" revision commit))
3961 (source
3962 (origin
3963 (method git-fetch)
3964 (uri (git-reference
b0e7b699 3965 (url "https://github.com/jdz/rfc2388")
88f06fd0
PN
3966 (commit commit)))
3967 (file-name (git-file-name "rfc2388" version))
3968 (sha256
3969 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3970 (build-system asdf-build-system/sbcl)
3971 (home-page "https://github.com/jdz/rfc2388/")
3972 (synopsis "An implementation of RFC 2388 in Common Lisp")
3973 (description
3974 "This package contains an implementation of RFC 2388, which is used to
3975process form data posted with HTTP POST method using enctype
3976\"multipart/form-data\".")
3977 (license license:bsd-2))))
3978
3979(define-public cl-rfc2388
3980 (sbcl-package->cl-source-package sbcl-rfc2388))
3981
12df8b7b
GLV
3982(define-public ecl-rfc2388
3983 (sbcl-package->ecl-package sbcl-rfc2388))
3984
88f06fd0
PN
3985(define-public sbcl-md5
3986 (package
3987 (name "sbcl-md5")
3988 (version "2.0.4")
3989 (source
3990 (origin
fffe9a15
EF
3991 (method git-fetch)
3992 (uri (git-reference
3993 (url "https://github.com/pmai/md5")
3994 (commit (string-append "release-" version))))
3995 (file-name (git-file-name "md5" version))
88f06fd0 3996 (sha256
fffe9a15 3997 (base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
88f06fd0
PN
3998 (build-system asdf-build-system/sbcl)
3999 (home-page "https://github.com/pmai/md5")
4000 (synopsis
4001 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
4002 (description
4003 "This package implements The MD5 Message-Digest Algorithm, as defined in
4004RFC 1321 by R. Rivest, published April 1992.")
4005 (license license:public-domain)))
4006
4007(define-public cl-md5
4008 (sbcl-package->cl-source-package sbcl-md5))
4009
588a4492
PN
4010(define-public ecl-md5
4011 (package
4012 (inherit (sbcl-package->ecl-package sbcl-md5))
4013 (inputs
4014 `(("flexi-streams" ,ecl-flexi-streams)))))
4015
88f06fd0 4016(define-public sbcl-cl+ssl
14620ce7 4017 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
88f06fd0
PN
4018 (revision "1"))
4019 (package
4020 (name "sbcl-cl+ssl")
4021 (version (git-version "0.0.0" revision commit))
4022 (source
4023 (origin
4024 (method git-fetch)
4025 (uri (git-reference
b0e7b699 4026 (url "https://github.com/cl-plus-ssl/cl-plus-ssl")
88f06fd0
PN
4027 (commit commit)))
4028 (file-name (git-file-name "cl+ssl" version))
4029 (sha256
14620ce7 4030 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
88f06fd0
PN
4031 (build-system asdf-build-system/sbcl)
4032 (arguments
4033 '(#:phases
4034 (modify-phases %standard-phases
4035 (add-after 'unpack 'fix-paths
4036 (lambda* (#:key inputs #:allow-other-keys)
4037 (substitute* "src/reload.lisp"
4038 (("libssl.so" all)
4039 (string-append
4040 (assoc-ref inputs "openssl") "/lib/" all))))))))
4041 (inputs
4042 `(("openssl" ,openssl)
4043 ("sbcl-cffi" ,sbcl-cffi)
4044 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4045 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4046 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
4047 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
4048 ("sbcl-alexandria" ,sbcl-alexandria)
4049 ("sbcl-trivial-features" ,sbcl-trivial-features)))
113c9b97 4050 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
88f06fd0
PN
4051 (synopsis "Common Lisp bindings to OpenSSL")
4052 (description
4053 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
4054code was written by Eric Marsden and includes contributions by Jochen Schmidt.
4055Development into CL+SSL was done by David Lichteblau.")
4056 (license license:expat))))
4057
4058(define-public cl-cl+ssl
4059 (sbcl-package->cl-source-package sbcl-cl+ssl))
4060
e7cbcf5a
GLV
4061(define-public ecl-cl+ssl
4062 (sbcl-package->ecl-package sbcl-cl+ssl))
4063
88f06fd0 4064(define-public sbcl-kmrcl
23611680
PN
4065 (let ((version "1.111")
4066 (commit "4a27407aad9deb607ffb8847630cde3d041ea25a")
88f06fd0
PN
4067 (revision "1"))
4068 (package
4069 (name "sbcl-kmrcl")
4070 (version (git-version version revision commit))
4071 (source
4072 (origin
4073 (method git-fetch)
4074 (uri (git-reference
4075 (url "http://git.kpe.io/kmrcl.git/")
4076 (commit commit)))
4077 (file-name (git-file-name name version))
4078 (sha256
23611680 4079 (base32 "06gx04mah5nc8w78s0j8628divbf1s5w7af8w7pvzb2d5mgvrbd2"))))
88f06fd0 4080 (build-system asdf-build-system/sbcl)
88f06fd0
PN
4081 (inputs
4082 `(("sbcl-rt" ,sbcl-rt)))
4083 (home-page "http://files.kpe.io/kmrcl/")
4084 (synopsis "General utilities for Common Lisp programs")
4085 (description
4086 "KMRCL is a collection of utilities used by a number of Kevin
23611680 4087Rosenberg's Common Lisp packages.")
88f06fd0
PN
4088 (license license:llgpl))))
4089
4090(define-public cl-kmrcl
4091 (sbcl-package->cl-source-package sbcl-kmrcl))
4092
e7cbcf5a
GLV
4093(define-public ecl-kmrcl
4094 (sbcl-package->ecl-package sbcl-kmrcl))
4095
88f06fd0 4096(define-public sbcl-cl-base64
7cb44409
PN
4097 ;; 3.3.4 tests are broken, upstream fixes them.
4098 (let ((commit "577683b18fd880b82274d99fc96a18a710e3987a"))
4099 (package
4100 (name "sbcl-cl-base64")
4101 (version (git-version "3.3.4" "1" commit))
4102 (source
4103 (origin
4104 (method git-fetch)
4105 (uri (git-reference
4106 (url "http://git.kpe.io/cl-base64.git/")
4107 (commit commit)))
49ae5f79 4108 (file-name (git-file-name name version))
7cb44409
PN
4109 (sha256
4110 (base32 "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj"))))
4111 (build-system asdf-build-system/sbcl)
4112 (native-inputs ; For tests.
4113 `(("sbcl-ptester" ,sbcl-ptester)
4114 ("sbcl-kmrcl" ,sbcl-kmrcl)))
4115 (home-page "http://files.kpe.io/cl-base64/")
4116 (synopsis
4117 "Common Lisp package to encode and decode base64 with URI support")
4118 (description
4119 "This package provides highly optimized base64 encoding and decoding.
88f06fd0
PN
4120Besides conversion to and from strings, integer conversions are supported.
4121Encoding with Uniform Resource Identifiers is supported by using a modified
4122encoding table that uses only URI-compatible characters.")
7cb44409 4123 (license license:bsd-3))))
88f06fd0
PN
4124
4125(define-public cl-base64
4126 (sbcl-package->cl-source-package sbcl-cl-base64))
4127
e7cbcf5a
GLV
4128(define-public ecl-cl-base64
4129 (sbcl-package->ecl-package sbcl-cl-base64))
4130
88f06fd0
PN
4131(define-public sbcl-chunga
4132 (package
4133 (name "sbcl-chunga")
4134 (version "1.1.7")
4135 (source
4136 (origin
4137 (method git-fetch)
4138 (uri (git-reference
b0e7b699 4139 (url "https://github.com/edicl/chunga")
88f06fd0
PN
4140 (commit (string-append "v" version))))
4141 (file-name (git-file-name name version))
4142 (sha256
4143 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
4144 (build-system asdf-build-system/sbcl)
4145 (inputs
4146 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4147 (home-page "https://edicl.github.io/chunga/")
4148 (synopsis "Portable chunked streams for Common Lisp")
4149 (description
4150 "Chunga implements streams capable of chunked encoding on demand as
4151defined in RFC 2616.")
4152 (license license:bsd-2)))
4153
4154(define-public cl-chunga
4155 (sbcl-package->cl-source-package sbcl-chunga))
4156
e7cbcf5a
GLV
4157(define-public ecl-chunga
4158 (sbcl-package->ecl-package sbcl-chunga))
4159
88f06fd0
PN
4160(define-public sbcl-cl-who
4161 (let ((version "1.1.4")
4162 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
4163 (revision "1"))
4164 (package
4165 (name "sbcl-cl-who")
4166 (version (git-version version revision commit))
4167 (source
4168 (origin
4169 (method git-fetch)
4170 (uri (git-reference
b0e7b699 4171 (url "https://github.com/edicl/cl-who")
88f06fd0
PN
4172 (commit commit)))
4173 (file-name (git-file-name name version))
4174 (sha256
4175 (base32
4176 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
4177 (build-system asdf-build-system/sbcl)
4178 (native-inputs
4179 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4180 (home-page "https://edicl.github.io/cl-who/")
4181 (synopsis "Yet another Lisp markup language")
4182 (description
4183 "There are plenty of Lisp Markup Languages out there - every Lisp
4184programmer seems to write at least one during his career - and CL-WHO (where
4185WHO means \"with-html-output\" for want of a better acronym) is probably just
4186as good or bad as the next one.")
4187 (license license:bsd-2))))
4188
12df8b7b 4189(define-public cl-who
88f06fd0
PN
4190 (sbcl-package->cl-source-package sbcl-cl-who))
4191
12df8b7b
GLV
4192(define-public ecl-cl-who
4193 (sbcl-package->ecl-package sbcl-cl-who))
4194
88f06fd0
PN
4195(define-public sbcl-chipz
4196 (let ((version "0.8")
4197 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
4198 (revision "1"))
4199 (package
4200 (name "sbcl-chipz")
4201 (version (git-version version revision commit))
4202 (source
4203 (origin
4204 (method git-fetch)
4205 (uri (git-reference
b0e7b699 4206 (url "https://github.com/froydnj/chipz")
88f06fd0
PN
4207 (commit commit)))
4208 (file-name (git-file-name name version))
4209 (sha256
4210 (base32
4211 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
4212 (build-system asdf-build-system/sbcl)
4213 (native-inputs
4214 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4215 (home-page "http://method-combination.net/lisp/chipz/")
4216 (synopsis
4217 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
4218data")
4219 (description
4220 "DEFLATE data, defined in RFC1951, forms the core of popular
4221compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
4222Chipz also provides for decompressing data in those formats as well. BZIP2 is
4223the format used by the popular compression tool bzip2.")
4224 ;; The author describes it as "MIT-like"
4225 (license license:expat))))
4226
4227(define-public cl-chipz
4228 (sbcl-package->cl-source-package sbcl-chipz))
4229
e7cbcf5a
GLV
4230(define-public ecl-chipz
4231 (sbcl-package->ecl-package sbcl-chipz))
4232
88f06fd0 4233(define-public sbcl-drakma
a2b6b973
GLV
4234 (package
4235 (name "sbcl-drakma")
4236 (version "2.0.7")
4237 (source
4238 (origin
4239 (method git-fetch)
4240 (uri (git-reference
b0e7b699 4241 (url "https://github.com/edicl/drakma")
a2b6b973
GLV
4242 (commit (string-append "v" version))))
4243 (file-name (git-file-name name version))
4244 (sha256
4245 (base32
4246 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
4247 (build-system asdf-build-system/sbcl)
4248 (inputs
4249 `(("sbcl-puri" ,sbcl-puri)
4250 ("sbcl-cl-base64" ,sbcl-cl-base64)
4251 ("sbcl-chunga" ,sbcl-chunga)
4252 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4253 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4254 ("sbcl-chipz" ,sbcl-chipz)
4255 ("sbcl-usocket" ,sbcl-usocket)
4256 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
4257 (native-inputs
4258 `(("sbcl-fiveam" ,sbcl-fiveam)))
4259 (home-page "https://edicl.github.io/drakma/")
4260 (synopsis "HTTP client written in Common Lisp")
4261 (description
4262 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
88f06fd0
PN
4263knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
4264sockets, SSL, continuable uploads, file uploads, cookies, and more.")
a2b6b973 4265 (license license:bsd-2)))
88f06fd0
PN
4266
4267(define-public cl-drakma
4268 (sbcl-package->cl-source-package sbcl-drakma))
4269
10ac723b
GLV
4270(define-public ecl-drakma
4271 (sbcl-package->ecl-package sbcl-drakma))
4272
88f06fd0
PN
4273(define-public sbcl-hunchentoot
4274 (package
4275 (name "sbcl-hunchentoot")
4276 (version "1.2.38")
4277 (source
4278 (origin
4279 (method git-fetch)
4280 (uri (git-reference
b0e7b699 4281 (url "https://github.com/edicl/hunchentoot")
88f06fd0
PN
4282 (commit (string-append "v" version))))
4283 (file-name (git-file-name "hunchentoot" version))
4284 (sha256
4285 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
4286 (build-system asdf-build-system/sbcl)
4287 (native-inputs
4288 `(("sbcl-cl-who" ,sbcl-cl-who)
4289 ("sbcl-drakma" ,sbcl-drakma)))
4290 (inputs
4291 `(("sbcl-chunga" ,sbcl-chunga)
4292 ("sbcl-cl-base64" ,sbcl-cl-base64)
4293 ("sbcl-cl-fad" ,sbcl-cl-fad)
4294 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4295 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4296 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
4297 ("sbcl-md5" ,sbcl-md5)
4298 ("sbcl-rfc2388" ,sbcl-rfc2388)
4299 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
4300 ("sbcl-usocket" ,sbcl-usocket)))
4301 (home-page "https://edicl.github.io/hunchentoot/")
4302 (synopsis "Web server written in Common Lisp")
4303 (description
4304 "Hunchentoot is a web server written in Common Lisp and at the same
4305time a toolkit for building dynamic websites. As a stand-alone web server,
4306Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
4307connections (keep-alive), and SSL.")
4308 (license license:bsd-2)))
4309
4310(define-public cl-hunchentoot
4311 (sbcl-package->cl-source-package sbcl-hunchentoot))
4312
bdd3b1b2
GLV
4313(define-public ecl-hunchentoot
4314 (package
4315 (inherit (sbcl-package->ecl-package sbcl-hunchentoot))
4316 (arguments
4317 ;; Tests fail on ECL with 'Socket error in "socket": EINVAL'.
4318 '(#:tests? #f))))
4319
88f06fd0
PN
4320(define-public sbcl-trivial-types
4321 (package
4322 (name "sbcl-trivial-types")
4323 (version "0.0.1")
4324 (source
4325 (origin
4326 (method git-fetch)
4327 (uri (git-reference
b0e7b699 4328 (url "https://github.com/m2ym/trivial-types")
88f06fd0
PN
4329 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
4330 (file-name (git-file-name name version))
4331 (sha256
4332 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
4333 (build-system asdf-build-system/sbcl)
4334 (home-page "https://github.com/m2ym/trivial-types")
4335 (synopsis "Trivial type definitions for Common Lisp")
4336 (description
4337 "TRIVIAL-TYPES provides missing but important type definitions such as
4338PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
4339 (license license:llgpl)))
4340
4341(define-public cl-trivial-types
4342 (sbcl-package->cl-source-package sbcl-trivial-types))
4343
12df8b7b
GLV
4344(define-public ecl-trivial-types
4345 (sbcl-package->ecl-package sbcl-trivial-types))
4346
88f06fd0
PN
4347(define-public sbcl-cl-annot
4348 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
4349 (revision "1"))
4350 (package
4351 (name "sbcl-cl-annot")
4352 (version (git-version "0.0.0" revision commit))
4353 (source
4354 (origin
4355 (method git-fetch)
4356 (uri (git-reference
b0e7b699 4357 (url "https://github.com/m2ym/cl-annot")
88f06fd0
PN
4358 (commit commit)))
4359 (file-name (git-file-name name version))
4360 (sha256
4361 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
4362 (build-system asdf-build-system/sbcl)
88f06fd0
PN
4363 (inputs
4364 `(("sbcl-alexandria" ,sbcl-alexandria)))
4365 (home-page "https://github.com/m2ym/cl-annot")
4366 (synopsis "Python-like Annotation Syntax for Common Lisp.")
4367 (description
4368 "@code{cl-annot} is an general annotation library for Common Lisp.")
4369 (license license:llgpl))))
4370
4371(define-public cl-annot
4372 (sbcl-package->cl-source-package sbcl-cl-annot))
4373
e7cbcf5a
GLV
4374(define-public ecl-cl-annot
4375 (sbcl-package->ecl-package sbcl-cl-annot))
4376
2ff8b5ba 4377(define-public sbcl-cl-syntax
5b22df94 4378 (package
2ff8b5ba
GLV
4379 (name "sbcl-cl-syntax")
4380 (version "0.0.3")
4381 (source
4382 (origin
4383 (method git-fetch)
4384 (uri (git-reference
4385 (url "https://github.com/m2ym/cl-syntax")
4386 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
4387 (file-name (git-file-name "cl-syntax" version))
4388 (sha256
4389 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
4390 (build-system asdf-build-system/sbcl)
5b22df94 4391 (inputs
2ff8b5ba
GLV
4392 `(("cl-annot" ,sbcl-cl-annot)
4393 ("cl-interpol" ,sbcl-cl-interpol)
4394 ("named-readtables" ,sbcl-named-readtables)
4395 ("trivial-types" ,sbcl-trivial-types)))
4396 (arguments
3f8bbf7c 4397 '(#:asd-systems '("cl-syntax"
2ff8b5ba
GLV
4398 "cl-syntax-annot"
4399 "cl-syntax-interpol")))
4400 (home-page "https://github.com/m2ym/cl-syntax")
4401 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
5b22df94 4402 (description
2ff8b5ba
GLV
4403 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
4404 (license license:llgpl)))
5b22df94 4405
2ff8b5ba
GLV
4406(define-public cl-syntax
4407 (sbcl-package->cl-source-package sbcl-cl-syntax))
5b22df94 4408
12df8b7b
GLV
4409(define-public ecl-cl-syntax
4410 (sbcl-package->ecl-package sbcl-cl-syntax))
4411
88f06fd0
PN
4412(define-public sbcl-cl-utilities
4413 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
4414 (revision "1"))
4415 (package
4416 (name "sbcl-cl-utilities")
4417 (version (git-version "0.0.0" revision commit))
4418 (source
4419 (origin
4420 (method url-fetch)
4421 (uri
4422 (string-append
4423 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
4424 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
4425 (sha256
4426 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
4427 (build-system asdf-build-system/sbcl)
4428 (arguments
e765d9c9 4429 '(#:phases
88f06fd0
PN
4430 (modify-phases %standard-phases
4431 (add-after 'unpack 'fix-paths
4432 (lambda* (#:key inputs #:allow-other-keys)
4433 (substitute* "rotate-byte.lisp"
4434 (("in-package :cl-utilities)" all)
4435 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
4436 (home-page "http://common-lisp.net/project/cl-utilities")
4437 (synopsis "A collection of semi-standard utilities")
4438 (description
4439 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
4440is a collection of Common Lisp Utilities, things that everybody writes since
4441they're not part of the official standard. There are some very useful things
4442there; the only problems are that they aren't implemented as well as you'd
4443like (some aren't implemented at all) and they aren't conveniently packaged
4444and maintained. It takes quite a bit of work to carefully implement utilities
4445for common use, commented and documented, with error checking placed
4446everywhere some dumb user might make a mistake.")
4447 (license license:public-domain))))
4448
4449(define-public cl-utilities
4450 (sbcl-package->cl-source-package sbcl-cl-utilities))
4451
12df8b7b
GLV
4452(define-public ecl-cl-utilities
4453 (sbcl-package->ecl-package sbcl-cl-utilities))
4454
88f06fd0
PN
4455(define-public sbcl-map-set
4456 (let ((commit "7b4b545b68b8")
4457 (revision "1"))
4458 (package
4459 (name "sbcl-map-set")
4460 (version (git-version "0.0.0" revision commit))
4461 (source
4462 (origin
4463 (method url-fetch)
4464 (uri (string-append
4465 "https://bitbucket.org/tarballs_are_good/map-set/get/"
4466 commit ".tar.gz"))
4467 (sha256
4468 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
4469 (build-system asdf-build-system/sbcl)
4470 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
4471 (synopsis "Set-like data structure")
4472 (description
4473 "Implementation of a set-like data structure with constant time
4474addition, removal, and random selection.")
4475 (license license:bsd-3))))
4476
4477(define-public cl-map-set
4478 (sbcl-package->cl-source-package sbcl-map-set))
4479
e7cbcf5a
GLV
4480(define-public ecl-map-set
4481 (sbcl-package->ecl-package sbcl-map-set))
4482
88f06fd0 4483(define-public sbcl-quri
6e70211b
PN
4484 (package
4485 (name "sbcl-quri")
72a5095e 4486 (version "0.4.0")
6e70211b
PN
4487 (source
4488 (origin
4489 (method git-fetch)
4490 (uri (git-reference
4491 (url "https://github.com/fukamachi/quri")
4492 (commit version)))
4493 (file-name (git-file-name name version))
4494 (sha256
72a5095e 4495 (base32 "0ka5haq3g72hvaz4hdv7y1d6df9ncmx029wwixn4r413gll5yxy7"))))
6e70211b
PN
4496 (build-system asdf-build-system/sbcl)
4497 (arguments
4498 ;; Test system must be loaded before, otherwise tests fail with:
4499 ;; Component QURI-ASD::QURI-TEST not found, required by #<SYSTEM
4500 ;; "quri">.
4501 '(#:asd-systems '("quri-test"
4502 "quri")))
4503 (native-inputs `(("sbcl-prove" ,sbcl-prove)))
4504 (inputs `(("sbcl-babel" ,sbcl-babel)
4505 ("sbcl-split-sequence" ,sbcl-split-sequence)
4506 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
4507 ("sbcl-alexandria" ,sbcl-alexandria)))
4508 (home-page "https://github.com/fukamachi/quri")
4509 (synopsis "Yet another URI library for Common Lisp")
4510 (description
4511 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
88f06fd0 4512Lisp. It is intended to be a replacement of PURI.")
6e70211b 4513 (license license:bsd-3)))
88f06fd0
PN
4514
4515(define-public cl-quri
4516 (sbcl-package->cl-source-package sbcl-quri))
4517
e7cbcf5a
GLV
4518(define-public ecl-quri
4519 (sbcl-package->ecl-package sbcl-quri))
4520
88f06fd0
PN
4521(define-public sbcl-myway
4522 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
4523 (revision "1"))
4524 (package
4525 (name "sbcl-myway")
4526 (version (git-version "0.1.0" revision commit))
4527 (source
4528 (origin
4529 (method git-fetch)
4530 (uri (git-reference
b0e7b699 4531 (url "https://github.com/fukamachi/myway")
88f06fd0
PN
4532 (commit commit)))
4533 (file-name (git-file-name "myway" version))
4534 (sha256
4535 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
4536 (build-system asdf-build-system/sbcl)
4537 (arguments
4538 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
4539 ;; by #<SYSTEM "myway">. Why?
4540 '(#:tests? #f))
4541 (native-inputs
2ff8b5ba 4542 `(("sbcl-prove" ,sbcl-prove)))
88f06fd0
PN
4543 (inputs
4544 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4545 ("sbcl-quri" ,sbcl-quri)
4546 ("sbcl-map-set" ,sbcl-map-set)))
4547 (home-page "https://github.com/fukamachi/myway")
4548 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
4549 (description "My Way is a Sinatra-compatible URL routing library.")
4550 (license license:llgpl))))
4551
4552(define-public cl-myway
4553 (sbcl-package->cl-source-package sbcl-myway))
4554
e7cbcf5a
GLV
4555(define-public ecl-myway
4556 (sbcl-package->ecl-package sbcl-myway))
4557
88f06fd0
PN
4558(define-public sbcl-xsubseq
4559 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
4560 (revision "1"))
4561 (package
4562 (name "sbcl-xsubseq")
4563 (version (git-version "0.0.1" revision commit))
4564 (source
4565 (origin
4566 (method git-fetch)
4567 (uri (git-reference
4568 (url "https://github.com/fukamachi/xsubseq")
4569 (commit commit)))
4570 (file-name (git-file-name name version))
4571 (sha256
4572 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4573 (build-system asdf-build-system/sbcl)
4574 (arguments
4575 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4576 ;; required by #<SYSTEM "xsubseq">. Why?
4577 '(#:tests? #f))
4578 (native-inputs
2ff8b5ba 4579 `(("sbcl-prove" ,sbcl-prove)))
88f06fd0
PN
4580 (home-page "https://github.com/fukamachi/xsubseq")
4581 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4582 (description
4583 "XSubseq provides functions to be able to handle \"subseq\"s more
4584effieiently.")
4585 (license license:bsd-2))))
4586
4587(define-public cl-xsubseq
4588 (sbcl-package->cl-source-package sbcl-xsubseq))
4589
12df8b7b
GLV
4590(define-public ecl-xsubseq
4591 (sbcl-package->ecl-package sbcl-xsubseq))
4592
88f06fd0
PN
4593(define-public sbcl-smart-buffer
4594 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4595 (revision "1"))
4596 (package
4597 (name "sbcl-smart-buffer")
4598 (version (git-version "0.0.1" revision commit))
4599 (source
4600 (origin
4601 (method git-fetch)
4602 (uri (git-reference
4603 (url "https://github.com/fukamachi/smart-buffer")
4604 (commit commit)))
4605 (file-name (git-file-name name version))
4606 (sha256
4607 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4608 (build-system asdf-build-system/sbcl)
4609 (arguments
4610 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4611 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4612 `(#:tests? #f))
4613 (native-inputs
2ff8b5ba 4614 `(("sbcl-prove" ,sbcl-prove)))
88f06fd0
PN
4615 (inputs
4616 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4617 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4618 (home-page "https://github.com/fukamachi/smart-buffer")
4619 (synopsis "Smart octets buffer")
4620 (description
4621 "Smart-buffer provides an output buffer which changes the destination
4622depending on content size.")
4623 (license license:bsd-3))))
4624
4625(define-public cl-smart-buffer
4626 (sbcl-package->cl-source-package sbcl-smart-buffer))
4627
12df8b7b
GLV
4628(define-public ecl-smart-buffer
4629 (sbcl-package->ecl-package sbcl-smart-buffer))
4630
88f06fd0 4631(define-public sbcl-fast-http
47e73008
PN
4632 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
4633 (revision "2"))
88f06fd0
PN
4634 (package
4635 (name "sbcl-fast-http")
4636 (version (git-version "0.2.0" revision commit))
4637 (source
4638 (origin
4639 (method git-fetch)
4640 (uri (git-reference
4641 (url "https://github.com/fukamachi/fast-http")
4642 (commit commit)))
4643 (file-name (git-file-name name version))
4644 (sha256
47e73008 4645 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
88f06fd0
PN
4646 (build-system asdf-build-system/sbcl)
4647 (arguments
4648 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4649 ;; required by #<SYSTEM "fast-http">. Why?
4650 `(#:tests? #f))
4651 (native-inputs
2ff8b5ba
GLV
4652 `(("sbcl-prove" ,sbcl-prove)
4653 ("cl-syntax" ,sbcl-cl-syntax)))
88f06fd0
PN
4654 (inputs
4655 `(("sbcl-alexandria" ,sbcl-alexandria)
4656 ("sbcl-proc-parse" ,sbcl-proc-parse)
4657 ("sbcl-xsubseq" ,sbcl-xsubseq)
4658 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4659 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4660 (home-page "https://github.com/fukamachi/fast-http")
4661 (synopsis "HTTP request/response parser for Common Lisp")
4662 (description
4663 "@code{fast-http} is a HTTP request/response protocol parser for Common
4664Lisp.")
4665 ;; Author specified the MIT license
4666 (license license:expat))))
4667
4668(define-public cl-fast-http
4669 (sbcl-package->cl-source-package sbcl-fast-http))
4670
e7cbcf5a
GLV
4671(define-public ecl-fast-http
4672 (sbcl-package->ecl-package sbcl-fast-http))
4673
88f06fd0 4674(define-public sbcl-static-vectors
ba55cbda
GLV
4675 (package
4676 (name "sbcl-static-vectors")
f44b1f76 4677 (version "1.8.9")
ba55cbda
GLV
4678 (source
4679 (origin
88f06fd0
PN
4680 (method git-fetch)
4681 (uri (git-reference
b0e7b699 4682 (url "https://github.com/sionescu/static-vectors")
ba55cbda 4683 (commit (string-append "v" version))))
88f06fd0
PN
4684 (file-name (git-file-name name version))
4685 (sha256
f44b1f76 4686 (base32 "079qa20lhanzsz1qf4iags91n0ziylbjgbcymm5a5qj7yryas4fw"))))
ba55cbda
GLV
4687 (native-inputs
4688 `(("sbcl-fiveam" ,sbcl-fiveam)))
4689 (inputs
301f6323
SH
4690 `(("sbcl-alexandria" ,sbcl-alexandria)
4691 ("sbcl-cffi" ,sbcl-cffi)))
ba55cbda 4692 (build-system asdf-build-system/sbcl)
6b40dbff 4693 (home-page "https://github.com/sionescu/static-vectors")
ba55cbda
GLV
4694 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4695 (description
4696 "With @code{static-vectors}, you can create vectors allocated in static
88f06fd0 4697memory.")
ba55cbda 4698 (license license:expat)))
88f06fd0
PN
4699
4700(define-public cl-static-vectors
4701 (sbcl-package->cl-source-package sbcl-static-vectors))
4702
f6a6f085
GLV
4703(define-public ecl-static-vectors
4704 (sbcl-package->ecl-package sbcl-static-vectors))
4705
88f06fd0
PN
4706(define-public sbcl-marshal
4707 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4708 (revision "1"))
4709 (package
4710 (name "sbcl-marshal")
4711 (version (git-version "1.3.0" revision commit))
4712 (source
4713 (origin
4714 (method git-fetch)
4715 (uri (git-reference
b0e7b699 4716 (url "https://github.com/wlbr/cl-marshal")
88f06fd0
PN
4717 (commit commit)))
4718 (file-name (git-file-name name version))
4719 (sha256
4720 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4721 (build-system asdf-build-system/sbcl)
4722 (home-page "https://github.com/wlbr/cl-marshal")
4723 (synopsis "Simple (de)serialization of Lisp datastructures")
4724 (description
4725 "Simple and fast marshalling of Lisp datastructures. Convert any object
4726into a string representation, put it on a stream an revive it from there.
4727Only minimal changes required to make your CLOS objects serializable.")
4728 (license license:expat))))
4729
4730(define-public cl-marshal
4731 (sbcl-package->cl-source-package sbcl-marshal))
4732
e7cbcf5a
GLV
4733(define-public ecl-marshal
4734 (sbcl-package->ecl-package sbcl-marshal))
4735
88f06fd0
PN
4736(define-public sbcl-checkl
4737 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4738 (revision "1"))
4739 (package
4740 (name "sbcl-checkl")
4741 (version (git-version "0.0.0" revision commit))
4742 (source
4743 (origin
4744 (method git-fetch)
4745 (uri (git-reference
b0e7b699 4746 (url "https://github.com/rpav/CheckL")
88f06fd0
PN
4747 (commit commit)))
4748 (file-name (git-file-name name version))
4749 (sha256
4750 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4751 (build-system asdf-build-system/sbcl)
4752 (arguments
4753 ;; Error while trying to load definition for system checkl-test from
4754 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4755 ;; is undefined.
3f8bbf7c
GLV
4756 '(#:asd-files '("checkl.asd")
4757 #:tests? #f))
88f06fd0
PN
4758 (native-inputs
4759 `(("sbcl-fiveam" ,sbcl-fiveam)))
4760 (inputs
4761 `(("sbcl-marshal" ,sbcl-marshal)))
4762 (home-page "https://github.com/rpav/CheckL/")
4763 (synopsis "Dynamic testing for Common Lisp")
4764 (description
4765 "CheckL lets you write tests dynamically, it checks resulting values
4766against the last run.")
4767 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4768 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4769 ;; stronger of the two and so I think only listing this should suffice.
4770 (license license:llgpl))))
4771
4772(define-public cl-checkl
4773 (sbcl-package->cl-source-package sbcl-checkl))
4774
e7cbcf5a
GLV
4775(define-public ecl-checkl
4776 (sbcl-package->ecl-package sbcl-checkl))
4777
88f06fd0 4778(define-public sbcl-fast-io
481f41e3
PN
4779 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
4780 (revision "2"))
88f06fd0
PN
4781 (package
4782 (name "sbcl-fast-io")
4783 (version (git-version "1.0.0" revision commit))
4784 (source
4785 (origin
4786 (method git-fetch)
4787 (uri (git-reference
b0e7b699 4788 (url "https://github.com/rpav/fast-io")
88f06fd0
PN
4789 (commit commit)))
4790 (file-name (git-file-name name version))
4791 (sha256
481f41e3 4792 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
88f06fd0
PN
4793 (build-system asdf-build-system/sbcl)
4794 (arguments
4795 ;; Error while trying to load definition for system fast-io-test from
4796 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4797 ;; is undefined.
3f8bbf7c
GLV
4798 '(#:tests? #f
4799 #:asd-files '("fast-io.asd")))
88f06fd0
PN
4800 (native-inputs
4801 `(("sbcl-fiveam" ,sbcl-fiveam)
4802 ("sbcl-checkl" ,sbcl-checkl)))
4803 (inputs
4804 `(("sbcl-alexandria" ,sbcl-alexandria)
4805 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4806 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4807 (home-page "https://github.com/rpav/fast-io")
4808 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4809 (description
4810 "Fast-io is about improving performance to octet-vectors and octet
4811streams (though primarily the former, while wrapping the latter).")
4812 ;; Author specifies this as NewBSD which is an alias
4813 (license license:bsd-3))))
4814
4815(define-public cl-fast-io
4816 (sbcl-package->cl-source-package sbcl-fast-io))
4817
e7cbcf5a
GLV
4818(define-public ecl-fast-io
4819 (sbcl-package->ecl-package sbcl-fast-io))
4820
88f06fd0
PN
4821(define-public sbcl-jonathan
4822 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4823 (revision "1"))
4824 (package
4825 (name "sbcl-jonathan")
4826 (version (git-version "0.1.0" revision commit))
4827 (source
4828 (origin
4829 (method git-fetch)
4830 (uri (git-reference
b0e7b699 4831 (url "https://github.com/Rudolph-Miller/jonathan")
88f06fd0
PN
4832 (commit commit)))
4833 (file-name (git-file-name name version))
4834 (sha256
4835 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4836 (build-system asdf-build-system/sbcl)
4837 (arguments
4838 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4839 ;; required by #<SYSTEM "jonathan">. Why?
4840 `(#:tests? #f))
4841 (native-inputs
2ff8b5ba 4842 `(("sbcl-prove" ,sbcl-prove)))
88f06fd0
PN
4843 (inputs
4844 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
88f06fd0
PN
4845 ("sbcl-fast-io" ,sbcl-fast-io)
4846 ("sbcl-proc-parse" ,sbcl-proc-parse)
4847 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
46a5d07e 4848 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
88f06fd0
PN
4849 (synopsis "JSON encoder and decoder")
4850 (description
4851 "High performance JSON encoder and decoder. Currently support: SBCL,
4852CCL.")
4853 ;; Author specifies the MIT license
4854 (license license:expat))))
4855
4856(define-public cl-jonathan
4857 (sbcl-package->cl-source-package sbcl-jonathan))
4858
e7cbcf5a
GLV
4859(define-public ecl-jonathan
4860 (sbcl-package->ecl-package sbcl-jonathan))
4861
88f06fd0
PN
4862(define-public sbcl-http-body
4863 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4864 (revision "1"))
4865 (package
4866 (name "sbcl-http-body")
4867 (version (git-version "0.1.0" revision commit))
4868 (source
4869 (origin
4870 (method git-fetch)
4871 (uri (git-reference
4872 (url "https://github.com/fukamachi/http-body")
4873 (commit commit)))
4874 (file-name (git-file-name name version))
4875 (sha256
4876 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4877 (build-system asdf-build-system/sbcl)
4878 (arguments
4879 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4880 ;; found, required by #<SYSTEM "http-body">. Why?
4881 `(#:tests? #f))
4882 (native-inputs
2ff8b5ba 4883 `(("sbcl-prove" ,sbcl-prove)))
88f06fd0
PN
4884 (inputs
4885 `(("sbcl-fast-http" ,sbcl-fast-http)
4886 ("sbcl-jonathan" ,sbcl-jonathan)
4887 ("sbcl-quri" ,sbcl-quri)))
4888 (home-page "https://github.com/fukamachi/http-body")
4889 (synopsis "HTTP POST data parser")
4890 (description
4891 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4892supports application/x-www-form-urlencoded, application/json, and
4893multipart/form-data.")
4894 (license license:bsd-2))))
4895
4896(define-public cl-http-body
4897 (sbcl-package->cl-source-package sbcl-http-body))
4898
e7cbcf5a
GLV
4899(define-public ecl-http-body
4900 (sbcl-package->ecl-package sbcl-http-body))
4901
88f06fd0
PN
4902(define-public sbcl-circular-streams
4903 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4904 (revision "1"))
4905 (package
4906 (name "sbcl-circular-streams")
4907 (version (git-version "0.1.0" revision commit))
4908 (source
4909 (origin
4910 (method git-fetch)
4911 (uri (git-reference
4912 (url "https://github.com/fukamachi/circular-streams")
4913 (commit commit)))
4914 (file-name (git-file-name name version))
4915 (sha256
4916 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4917 (build-system asdf-build-system/sbcl)
4918 (arguments
4919 ;; The tests depend on cl-test-more which is now prove. Prove
4920 ;; tests aren't working for some reason.
4921 `(#:tests? #f))
4922 (inputs
4923 `(("sbcl-fast-io" ,sbcl-fast-io)
4924 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4925 (home-page "https://github.com/fukamachi/circular-streams")
4926 (synopsis "Circularly readable streams for Common Lisp")
4927 (description
4928 "Circular-Streams allows you to read streams circularly by wrapping real
4929streams. Once you reach end-of-file of a stream, it's file position will be
4930reset to 0 and you're able to read it again.")
4931 (license license:llgpl))))
4932
4933(define-public cl-circular-streams
4934 (sbcl-package->cl-source-package sbcl-circular-streams))
4935
e7cbcf5a
GLV
4936(define-public ecl-circular-streams
4937 (sbcl-package->ecl-package sbcl-circular-streams))
4938
2ff8b5ba 4939(define-public sbcl-lack
88f06fd0
PN
4940 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4941 (revision "1"))
4942 (package
2ff8b5ba
GLV
4943 (name "sbcl-lack")
4944 (version (git-version "0.1.0" revision commit))
4945 (source
4946 (origin
4947 (method git-fetch)
4948 (uri (git-reference
4949 (url "https://github.com/fukamachi/lack")
4950 (commit commit)))
4951 (file-name (git-file-name "lack" version))
4952 (sha256
4953 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4954 (build-system asdf-build-system/sbcl)
4955 (native-inputs
4956 `(("prove" ,sbcl-prove)))
4957 (inputs
4958 `(("circular-streams" ,sbcl-circular-streams)
4959 ("http-body" ,sbcl-http-body)
4960 ("ironclad" ,sbcl-ironclad)
4961 ("local-time" ,sbcl-local-time)
4962 ("quri" ,sbcl-quri)
4963 ("trivial-mimes" ,sbcl-trivial-mimes)))
4964 (arguments
3f8bbf7c 4965 '(#:asd-systems '("lack"
2ff8b5ba
GLV
4966 "lack-request"
4967 "lack-response"
4968 "lack-component"
4969 "lack-util"
4970 "lack-middleware-backtrace"
4971 "lack-middleware-static")
4972 #:test-asd-file "t-lack.asd"
4973 ;; XXX: Component :CLACK not found
4974 #:tests? #f))
4975 (home-page "https://github.com/fukamachi/lack")
4976 (synopsis "Lack, the core of Clack")
4977 (description
4978 "Lack is a Common Lisp library which allows web applications to be
88f06fd0
PN
4979constructed of modular components. It was originally a part of Clack, however
4980it's going to be rewritten as an individual project since Clack v2 with
4981performance and simplicity in mind.")
2ff8b5ba 4982 (license license:llgpl))))
88f06fd0 4983
2ff8b5ba
GLV
4984(define-public cl-lack
4985 (sbcl-package->cl-source-package sbcl-lack))
88f06fd0 4986
e7cbcf5a
GLV
4987(define-public ecl-lack
4988 (sbcl-package->ecl-package sbcl-lack))
4989
88f06fd0 4990(define-public sbcl-local-time
6c1982d4
SH
4991 (let ((commit "a177eb911c0e8116e2bfceb79049265a884b701b")
4992 (revision "2"))
88f06fd0
PN
4993 (package
4994 (name "sbcl-local-time")
4995 (version (git-version "1.0.6" revision commit))
4996 (source
4997 (origin
4998 (method git-fetch)
4999 (uri (git-reference
b0e7b699 5000 (url "https://github.com/dlowe-net/local-time")
88f06fd0
PN
5001 (commit commit)))
5002 (file-name (git-file-name name version))
5003 (sha256
6c1982d4 5004 (base32 "0wld28xx20k0ysgg6akic5lg4vkjd0iyhv86m388xfrv8xh87wii"))))
88f06fd0 5005 (build-system asdf-build-system/sbcl)
88f06fd0 5006 (native-inputs
6c1982d4 5007 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
88f06fd0
PN
5008 (home-page "https://common-lisp.net/project/local-time/")
5009 (synopsis "Time manipulation library for Common Lisp")
5010 (description
5011 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
5012dates and times. It is based almost entirely upon Erik Naggum's paper \"The
5013Long Painful History of Time\".")
5014 (license license:expat))))
5015
5016(define-public cl-local-time
5017 (sbcl-package->cl-source-package sbcl-local-time))
5018
e7cbcf5a
GLV
5019(define-public ecl-local-time
5020 (sbcl-package->ecl-package sbcl-local-time))
5021
1f3b7c02
SH
5022(define-public sbcl-chronicity
5023 (package
5024 (name "sbcl-chronicity")
5025 (version "0.4.1")
5026 (source
5027 (origin
5028 (method git-fetch)
5029 (uri (git-reference
5030 (url "https://github.com/chaitanyagupta/chronicity")
5031 (commit (string-append "v" version))))
5032 (file-name (git-file-name "chronicity" version))
5033 (sha256
5034 (base32 "0rzrl9is2v1aqbm0sym0qx3blnpd0bl13dkkmll6mb3983k2mkax"))))
5035 (build-system asdf-build-system/sbcl)
5036 (native-inputs
5037 `(("lisp-unit" ,sbcl-lisp-unit)))
5038 (inputs
5039 `(("cl-interpol" ,sbcl-cl-interpol)
5040 ("cl-ppcre" ,sbcl-cl-ppcre)
5041 ("local-time" ,sbcl-local-time)))
5042 (home-page "https://github.com/chaitanyagupta/chronicity")
5043 (synopsis "Natural language date and time parser for Common Lisp")
5044 (description
5045 "CHRONICITY is Common Lisp natural language date and time parser inspired
5046by Ruby's @code{Chronic}.")
5047 (license license:bsd-3)))
5048
5049(define-public ecl-chronicity
5050 (sbcl-package->ecl-package sbcl-chronicity))
5051
5052(define-public cl-chronicity
5053 (sbcl-package->cl-source-package sbcl-chronicity))
5054
2ff8b5ba 5055(define-public sbcl-trivial-mimes
30ec5e5a
PN
5056 (let ((commit "a741fc2f567a4f86b853fd4677d75e62c03e51d9")
5057 (revision "2"))
88f06fd0 5058 (package
2ff8b5ba
GLV
5059 (name "sbcl-trivial-mimes")
5060 (version (git-version "1.1.0" revision commit))
5061 (source
5062 (origin
5063 (method git-fetch)
5064 (uri (git-reference
5065 (url "https://github.com/Shinmera/trivial-mimes")
5066 (commit commit)))
5067 (file-name (git-file-name name version))
5068 (sha256
30ec5e5a 5069 (base32 "00kcm17q5plpzdj1qwg83ldhxksilgpcdkf3m9azxcdr968xs9di"))))
2ff8b5ba 5070 (build-system asdf-build-system/sbcl)
2ff8b5ba
GLV
5071 (native-inputs
5072 `(("stefil" ,sbcl-hu.dwim.stefil)))
5073 (inputs
5074 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
5075 (home-page "https://shinmera.github.io/trivial-mimes/")
5076 (synopsis "Tiny Common Lisp library to detect mime types in files")
5077 (description
5078 "This is a teensy library that provides some functions to determine the
5079mime-type of a file.")
30ec5e5a 5080 (license license:zlib))))
88f06fd0 5081
2ff8b5ba
GLV
5082(define-public cl-trivial-mimes
5083 (sbcl-package->cl-source-package sbcl-trivial-mimes))
88f06fd0 5084
2ff8b5ba
GLV
5085(define-public ecl-trivial-mimes
5086 (sbcl-package->ecl-package sbcl-trivial-mimes))
5087
5088(define-public sbcl-ningle
5089 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
88f06fd0
PN
5090 (revision "1"))
5091 (package
5092 (name "sbcl-ningle")
5093 (version (git-version "0.3.0" revision commit))
5094 (source
5095 (origin
5096 (method git-fetch)
5097 (uri (git-reference
b0e7b699 5098 (url "https://github.com/fukamachi/ningle")
88f06fd0
PN
5099 (commit commit)))
5100 (file-name (git-file-name name version))
5101 (sha256
5102 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
5103 (build-system asdf-build-system/sbcl)
5104 (arguments
5105 ;; TODO: pull in clack-test
5106 '(#:tests? #f
5107 #:phases
5108 (modify-phases %standard-phases
5109 (delete 'cleanup-files)
5110 (delete 'cleanup)
5111 (add-before 'cleanup 'combine-fasls
5112 (lambda* (#:key outputs #:allow-other-keys)
5113 (let* ((out (assoc-ref outputs "out"))
5114 (lib (string-append out "/lib/sbcl"))
5115 (ningle-path (string-append lib "/ningle"))
5116 (fasl-files (find-files out "\\.fasl$")))
5117 (mkdir-p ningle-path)
5118 (let ((fasl-path (lambda (name)
5119 (string-append ningle-path
5120 "/"
5121 (basename name)
5122 "--system.fasl"))))
5123 (for-each (lambda (file)
5124 (rename-file file
5125 (fasl-path
5126 (basename file ".fasl"))))
5127 fasl-files))
5128 fasl-files)
5129 #t)))))
5130 (native-inputs
2ff8b5ba 5131 `(("sbcl-prove" ,sbcl-prove)))
88f06fd0
PN
5132 (inputs
5133 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
88f06fd0 5134 ("sbcl-myway" ,sbcl-myway)
2ff8b5ba 5135 ("sbcl-lack" ,sbcl-lack)
88f06fd0
PN
5136 ("sbcl-alexandria" ,sbcl-alexandria)
5137 ("sbcl-babel" ,sbcl-babel)))
f13695ec 5138 (home-page "https://8arrow.org/ningle/")
88f06fd0
PN
5139 (synopsis "Super micro framework for Common Lisp")
5140 (description
5141 "Ningle is a lightweight web application framework for Common Lisp.")
5142 (license license:llgpl))))
5143
5144(define-public cl-ningle
5145 (sbcl-package->cl-source-package sbcl-ningle))
5146
e7cbcf5a
GLV
5147(define-public ecl-ningle
5148 (sbcl-package->ecl-package sbcl-ningle))
5149
0d1c7c97 5150(define-public sbcl-cl-fastcgi
d9010a35
PN
5151 (let ((commit "de8b49b26de9863996ec18db28af8ab7e8ac4e20")
5152 (revision "2"))
0d1c7c97
PN
5153 (package
5154 (name "sbcl-cl-fastcgi")
5155 (version (git-version "0.2" revision commit))
5156 (source
5157 (origin
5158 (method git-fetch)
5159 (uri (git-reference
5160 (url "https://github.com/KDr2/cl-fastcgi/")
5161 (commit commit)))
5162 (file-name (git-file-name name version))
5163 (sha256
d9010a35 5164 (base32 "0xgmhx766q4nmrvn5z7ag3ikpr9phlh8ypi8b14azshq9lqbq0m7"))))
0d1c7c97
PN
5165 (build-system asdf-build-system/sbcl)
5166 (inputs
5167 `(("usocket" ,sbcl-usocket)
5168 ("cffi" ,sbcl-cffi)
5169 ("fcgi" ,fcgi)))
5170 (arguments
5171 `(#:phases
5172 (modify-phases %standard-phases
5173 (add-after 'unpack 'fix-paths
5174 (lambda* (#:key inputs #:allow-other-keys)
5175 (substitute* "cl-fastcgi.lisp"
5176 (("\"libfcgi.so\"")
5177 (string-append
5178 "\""
5179 (assoc-ref inputs "fcgi") "/lib/libfcgi.so\""))))))))
5180 (home-page "https://kdr2.com/project/cl-fastcgi.html")
5181 (synopsis "FastCGI wrapper for Common Lisp")
5182 (description
5183 "CL-FastCGI is a generic version of SB-FastCGI, targeting to run on
5184mostly Common Lisp implementation.")
0d1c7c97
PN
5185 (license license:bsd-2))))
5186
5187(define-public cl-fastcgi
5188 (sbcl-package->cl-source-package sbcl-cl-fastcgi))
5189
5190(define-public ecl-cl-fastcgi
5191 (sbcl-package->ecl-package sbcl-cl-fastcgi))
5192
88f06fd0 5193(define-public sbcl-clack
2ff8b5ba
GLV
5194 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
5195 (revision "1"))
5196 (package
5197 (name "sbcl-clack")
5198 (version (git-version "2.0.0" revision commit))
5199 (source
5200 (origin
5201 (method git-fetch)
5202 (uri (git-reference
5203 (url "https://github.com/fukamachi/clack")
5204 (commit commit)))
5205 (file-name (git-file-name name version))
5206 (sha256
5207 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
5208 (build-system asdf-build-system/sbcl)
5209 (inputs
5210 `(("alexandria" ,sbcl-alexandria)
5211 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5212 ("cl-fastcgi" ,sbcl-cl-fastcgi)
5213 ("flexi-streams" ,sbcl-flexi-streams)
5214 ("hunchentoot" ,sbcl-hunchentoot)
5215 ("lack" ,sbcl-lack)
5216 ("split-sequence" ,sbcl-split-sequence)
5217 ("usocket" ,sbcl-usocket)
5218 ("quri" ,sbcl-quri)))
5219 (arguments
3f8bbf7c 5220 '(#:asd-systems '("clack"
2ff8b5ba
GLV
5221 "clack-handler-fcgi"
5222 "clack-socket"
5223 "clack-handler-hunchentoot")))
5224 (home-page "https://github.com/fukamachi/clack")
5225 (synopsis "Web Application Environment for Common Lisp")
5226 (description
5227 "Clack is a web application environment for Common Lisp inspired by
88f06fd0 5228Python's WSGI and Ruby's Rack.")
2ff8b5ba 5229 (license license:llgpl))))
88f06fd0
PN
5230
5231(define-public cl-clack
5232 (sbcl-package->cl-source-package sbcl-clack))
5233
bdd3b1b2
GLV
5234(define-public ecl-clack
5235 (sbcl-package->ecl-package sbcl-clack))
5236
65d3fab5
SH
5237(define-public sbcl-cl-log
5238 (let ((commit "8f4b766d51e02245c310526cf1e4534ce634f837")
5239 (revision "1"))
5240 (package
5241 (name "sbcl-cl-log")
5242 (version "1.0.1")
5243 (source
5244 (origin
5245 (method git-fetch)
5246 (uri (git-reference
5247 (url "https://github.com/nicklevine/cl-log")
5248 (commit commit)))
5249 (sha256
5250 (base32 "1r3z9swy1b59swvaa5b97is9ysrfmjvjjhhw56p7p5hqg93b92ak"))
5251 (file-name (git-file-name "cl-log" version))))
5252 (build-system asdf-build-system/sbcl)
5253 (synopsis "Common Lisp general purpose logging utility")
5254 (description "CL-LOG is a general purpose logging utility, loosely modelled
5255in some respects after Gary King's Log5. Its features include: logging to
5256several destinations at once, via \"messengers\", each messenger is tailored to
5257accept some log messages and reject others, and this tailoring can be changed
5258on-the-fly, very rapid processing of messages which are rejected by all
5259messengers, fully independent use of the utility by several different
5260sub-systems in an application, support for messengers which cl:format text to a
5261stream, support for messengers which do not invoke cl:format, timestamps in
5262theory accurate to internal-time-units-per-second.")
5263 (home-page "https://github.com/nicklevine/cl-log")
5264 (license license:expat))))
5265
5266(define-public cl-log
5267 (sbcl-package->cl-source-package sbcl-cl-log))
5268
5269(define-public ecl-cl-log
5270 (sbcl-package->ecl-package sbcl-cl-log))
5271
88f06fd0 5272(define-public sbcl-log4cl
cfaa1bec 5273 (let ((commit "8c48d6f41d3a1475d0a91eed0638b9eecc398e35")
88f06fd0
PN
5274 (revision "1"))
5275 (package
5276 (name "sbcl-log4cl")
cfaa1bec 5277 (version (git-version "1.1.3" revision commit))
88f06fd0
PN
5278 (source
5279 (origin
5280 (method git-fetch)
5281 (uri (git-reference
5282 (url "https://github.com/sharplispers/log4cl")
5283 (commit commit)))
cfaa1bec 5284 (file-name (git-file-name "log4cl" version))
88f06fd0 5285 (sha256
cfaa1bec
SH
5286 (base32 "0166d9aip366pbpdk5gsi2f6xad6q61lssxgbrypa8zslwjn8736"))))
5287 (build-system asdf-build-system/sbcl)
5288 (native-inputs
5289 `(("stefil" ,sbcl-stefil)))
5290 (inputs
5291 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
88f06fd0 5292 (home-page "https://github.com/7max/log4cl")
cfaa1bec
SH
5293 (synopsis "Common Lisp logging framework, modeled after Log4J")
5294 (description
5295 "This is a Common Lisp logging framework that can log at various levels
5296and mix text with expressions.")
88f06fd0
PN
5297 (license license:asl2.0))))
5298
5299(define-public cl-log4cl
5300 (sbcl-package->cl-source-package sbcl-log4cl))
5301
5302(define-public ecl-log4cl
5303 (sbcl-package->ecl-package sbcl-log4cl))
5304
8ff9cc8b
SH
5305(define-public sbcl-printv
5306 (let ((commit "646d31978dbbb460fffb160fd65bb2be9a5a434e")
5307 (revision "1"))
5308 (package
5309 (name "sbcl-printv")
5310 (version (git-version "0.1.0" revision commit))
5311 (source
5312 (origin
5313 (method git-fetch)
5314 (uri (git-reference
5315 (url "https://github.com/danlentz/printv")
5316 (commit commit)))
5317 (file-name (git-file-name "printv" version))
5318 (sha256
5319 (base32 "08jvy82abm7qi3wrxh6gvmwg9gy0zzhg4cfqajdwrggbah8mj5a6"))))
5320 (build-system asdf-build-system/sbcl)
5321 (home-page "https://github.com/danlentz/printv")
5322 (synopsis "Common Lisp tracing and debug-logging macro")
5323 (description
5324 "@code{PRINTV} is a \"batteries-included\" tracing and debug-logging
5325macro for Common Lisp.")
5326 (license license:asl2.0))))
5327
5328(define-public ecl-printv
5329 (sbcl-package->ecl-package sbcl-printv))
5330
5331(define-public cl-printv
5332 (sbcl-package->cl-source-package sbcl-printv))
5333
a0a2449d
SH
5334(define-public sbcl-cl-debug
5335 (let ((commit "b334280806104ee7f7d3aec666bf7e08d2f89b31")
5336 (revision "1"))
5337 (package
5338 (name "sbcl-cl-debug")
5339 (version (git-version "1.0.0" revision commit))
5340 (source
5341 (origin
5342 (method git-fetch)
5343 (uri (git-reference
5344 (url "https://github.com/kmx-io/cl-debug")
5345 (commit commit)))
5346 (file-name (git-file-name "cl-debug" version))
5347 (sha256
5348 (base32 "0w5vxbjsgr3zfpivdmghmhzxskfdvm1p34c8whwps2xlhypxsa78"))))
5349 (build-system asdf-build-system/sbcl)
5350 (home-page "https://github.com/kmx-io/cl-debug")
5351 (synopsis "Common Lisp cross-package debugging facility")
5352 (description
5353 "CL-DEBUG provides a unified way to enable or disable debug-specific code.
5354Debugging code can be enabled or disabled relative to program features denoted
5355by either a symbol or a keyword.")
5356 (license license:isc))))
5357
5358(define-public ecl-cl-debug
5359 (sbcl-package->ecl-package sbcl-cl-debug))
5360
5361(define-public cl-debug
5362 (sbcl-package->cl-source-package sbcl-cl-debug))
5363
67793f33
SH
5364(define-public sbcl-verbose
5365 (let ((commit "c5b7ecd465be61b35af17ef57564697b88397174")
5366 (revision "1"))
5367 (package
5368 (name "sbcl-verbose")
5369 (version (git-version "2.0.0" revision commit))
5370 (source
5371 (origin
5372 (method git-fetch)
5373 (uri (git-reference
5374 (url "https://github.com/Shinmera/verbose/")
5375 (commit commit)))
5376 (file-name (git-file-name "verbose" version))
5377 (sha256
5378 (base32 "0r51ydj5v7afi2jrlscbhxprv13d9vzg5316g1yzwaxc1kzsdsw6"))))
5379 (build-system asdf-build-system/sbcl)
5380 (inputs
5381 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
5382 ("dissect" ,sbcl-dissect)
5383 ("documentation-utils" ,sbcl-documentation-utils)
5384 ("local-time" ,sbcl-local-time)
5385 ("piping" ,sbcl-piping)))
5386 (home-page "https://shinmera.github.io/verbose/")
5387 (synopsis "Logging framework using the piping library")
5388 (description
5389 "This is a Common Lisp library providing logging faciltiy similar to
5390@code{CL-LOG} and @code{LOG4CL}.")
5391 (license license:zlib))))
5392
5393(define-public ecl-verbose
5394 (sbcl-package->ecl-package sbcl-verbose))
5395
5396(define-public cl-verbose
5397 (sbcl-package->cl-source-package sbcl-verbose))
5398
88f06fd0
PN
5399(define-public sbcl-find-port
5400 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
5401 (revision "1"))
5402 (package
5403 (name "sbcl-find-port")
5404 (build-system asdf-build-system/sbcl)
5405 (version "0.1")
5406 (home-page "https://github.com/eudoxia0/find-port")
5407 (source
5408 (origin
5409 (method git-fetch)
5410 (uri (git-reference
5411 (url home-page)
5412 (commit commit)))
5413 (file-name (git-file-name name version))
5414 (sha256
5415 (base32
5416 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
5417 (native-inputs
5418 `(("fiveam" ,sbcl-fiveam)))
5419 (inputs
5420 `(("sbcl-usocket" ,sbcl-usocket)))
5421 (synopsis "Find open ports programmatically in Common Lisp")
5422 (description "This is a small Common Lisp library that finds an open
5423port within a range.")
5424 (license license:expat))))
5425
5426(define-public cl-find-port
5427 (sbcl-package->cl-source-package sbcl-find-port))
5428
5429(define-public ecl-find-port
5430 (sbcl-package->ecl-package sbcl-find-port))
5431
5432(define-public sbcl-clunit
5433 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
5434 (revision "1"))
5435 (package
5436 (name "sbcl-clunit")
5437 (version (git-version "0.2.3" revision commit))
5438 (source
5439 (origin
5440 (method git-fetch)
5441 (uri (git-reference
b0e7b699 5442 (url "https://github.com/tgutu/clunit")
88f06fd0
PN
5443 (commit commit)))
5444 (file-name (git-file-name name version))
5445 (sha256
5446 (base32
5447 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
5448 (build-system asdf-build-system/sbcl)
5449 (synopsis "CLUnit is a Common Lisp unit testing framework")
5450 (description
5451 "CLUnit is a Common Lisp unit testing framework. It is designed
5452to be easy to use so that you can quickly start testing. CLUnit
5453provides a rich set of features aimed at improving your unit testing
5454experience.")
b4034d1b 5455 (home-page "https://tgutu.github.io/clunit/")
88f06fd0
PN
5456 ;; MIT License
5457 (license license:expat))))
5458
5459(define-public cl-clunit
5460 (sbcl-package->cl-source-package sbcl-clunit))
5461
5462(define-public ecl-clunit
5463 (sbcl-package->ecl-package sbcl-clunit))
5464
5465(define-public sbcl-py4cl
5466 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
5467 (revision "1"))
5468 (package
5469 (name "sbcl-py4cl")
5470 (version (git-version "0.0.0" revision commit))
5471 (source
5472 (origin
5473 (method git-fetch)
5474 (uri (git-reference
b0e7b699 5475 (url "https://github.com/bendudson/py4cl")
88f06fd0
PN
5476 (commit commit)))
5477 (file-name (git-file-name name version))
5478 (sha256
5479 (base32
5480 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
5481 (modules '((guix build utils)))))
5482 (build-system asdf-build-system/sbcl)
5483 (native-inputs
5484 `(("sbcl-clunit" ,sbcl-clunit)))
5485 (inputs
5486 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5487 (propagated-inputs
5488 ;; This package doesn't do anything without python available
5489 `(("python" ,python)
5490 ;; For multi-dimensional array support
5491 ("python-numpy" ,python-numpy)))
5492 (arguments
5493 '(#:phases
5494 (modify-phases %standard-phases
5495 (add-after 'unpack 'replace-*base-directory*-var
5496 (lambda* (#:key outputs #:allow-other-keys)
5497 ;; In the ASD, the author makes an attempt to
5498 ;; programatically determine the location of the
5499 ;; source-code so lisp can call into "py4cl.py". We can
5500 ;; hard-code this since we know where this file will
5501 ;; reside.
5502 (substitute* "src/callpython.lisp"
5503 (("py4cl/config:\\*base-directory\\*")
5504 (string-append
5505 "\""
5506 (assoc-ref outputs "out")
5507 "/share/common-lisp/sbcl-source/py4cl/"
5508 "\""))))))))
5509 (synopsis "Call python from Common Lisp")
5510 (description
5511 "Py4CL is a bridge between Common Lisp and Python, which enables Common
5512Lisp to interact with Python code. It uses streams to communicate with a
5513separate python process, the approach taken by cl4py. This is different to
5514the CFFI approach used by burgled-batteries, but has the same goal.")
5515 (home-page "https://github.com/bendudson/py4cl")
5516 ;; MIT License
5517 (license license:expat))))
5518
5519(define-public cl-py4cl
5520 (sbcl-package->cl-source-package sbcl-py4cl))
5521
5522(define-public ecl-py4cl
5523 (sbcl-package->ecl-package sbcl-py4cl))
5524
5525(define-public sbcl-parse-declarations
1fce78c4
GLV
5526 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
5527 (revision "1"))
5528 (package
5529 (name "sbcl-parse-declarations")
5530 (version (git-version "1.0.0" revision commit))
5531 (source
5532 (origin
5533 (method git-fetch)
5534 (uri (git-reference
5535 (url (string-append
5536 "https://gitlab.common-lisp.net/parse-declarations/"
5537 "parse-declarations.git"))
5538 (commit commit)))
5539 (file-name (git-file-name name version))
5540 (sha256
5541 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
5542 (build-system asdf-build-system/sbcl)
5543 (arguments
3f8bbf7c 5544 `(#:asd-systems '("parse-declarations-1.0")))
1fce78c4
GLV
5545 (home-page "https://common-lisp.net/project/parse-declarations/")
5546 (synopsis "Parse, filter, and build declarations")
5547 (description
5548 "Parse-Declarations is a Common Lisp library to help writing
88f06fd0
PN
5549macros which establish bindings. To be semantically correct, such
5550macros must take user declarations into account, as these may affect
5551the bindings they establish. Yet the ANSI standard of Common Lisp does
5552not provide any operators to work with declarations in a convenient,
5553high-level way. This library provides such operators.")
1fce78c4
GLV
5554 ;; MIT License
5555 (license license:expat))))
88f06fd0
PN
5556
5557(define-public cl-parse-declarations
5558 (sbcl-package->cl-source-package sbcl-parse-declarations))
5559
5560(define-public ecl-parse-declarations
5561 (sbcl-package->ecl-package sbcl-parse-declarations))
5562
5563(define-public sbcl-cl-quickcheck
5564 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5565 (revision "1"))
5566 (package
5567 (name "sbcl-cl-quickcheck")
5568 (version (git-version "0.0.4" revision commit))
5569 (source
5570 (origin
5571 (method git-fetch)
5572 (uri (git-reference
b0e7b699 5573 (url "https://github.com/mcandre/cl-quickcheck")
88f06fd0
PN
5574 (commit commit)))
5575 (file-name (git-file-name name version))
5576 (sha256
5577 (base32
5578 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5579 (build-system asdf-build-system/sbcl)
5580 (synopsis
5581 "Common Lisp port of the QuickCheck unit test framework")
5582 (description
5583 "Common Lisp port of the QuickCheck unit test framework")
5584 (home-page "https://github.com/mcandre/cl-quickcheck")
5585 ;; MIT
5586 (license license:expat))))
5587
2ff8b5ba 5588(define-public cl-quickcheck
88f06fd0
PN
5589 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5590
5591(define-public ecl-cl-quickcheck
5592 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5593
5594(define-public sbcl-burgled-batteries3
839fa4cd
MB
5595 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
5596 (revision "2"))
88f06fd0
PN
5597 (package
5598 (name "sbcl-burgled-batteries3")
5599 (version (git-version "0.0.0" revision commit))
5600 (source
5601 (origin
5602 (method git-fetch)
5603 (uri (git-reference
b0e7b699 5604 (url "https://github.com/snmsts/burgled-batteries3")
88f06fd0
PN
5605 (commit commit)))
5606 (file-name (git-file-name name version))
5607 (sha256
5608 (base32
839fa4cd 5609 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
88f06fd0
PN
5610 (build-system asdf-build-system/sbcl)
5611 (arguments
839fa4cd
MB
5612 `(#:tests? #f
5613 #:modules (((guix build python-build-system) #:select (python-version))
5614 ,@%asdf-build-system-modules)
5615 #:imported-modules ((guix build python-build-system)
5616 ,@%asdf-build-system-modules)
88f06fd0 5617 #:phases
839fa4cd 5618 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
88f06fd0
PN
5619 (add-after 'unpack 'set-*cpython-include-dir*-var
5620 (lambda* (#:key inputs #:allow-other-keys)
839fa4cd
MB
5621 (let ((python (assoc-ref inputs "python")))
5622 (setenv "BB_PYTHON3_INCLUDE_DIR"
5623 (string-append python "/include/python"
8c83069b 5624 (python-version python)))
839fa4cd
MB
5625 (setenv "BB_PYTHON3_DYLIB"
5626 (string-append python "/lib/libpython3.so"))
8c83069b
MB
5627 #t)))
5628 (add-after 'unpack 'adjust-for-python-3.8
5629 (lambda _
5630 ;; This method is no longer part of the public API.
5631 (substitute* "ffi-interface.lisp"
5632 ((".*PyEval_ReInitThreads.*")
5633 ""))
5634 #t)))))
88f06fd0 5635 (native-inputs
3d280dae 5636 `(("sbcl-cl-fad" ,sbcl-cl-fad)
88f06fd0
PN
5637 ("sbcl-lift" ,sbcl-lift)
5638 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5639 (inputs
3d280dae
MB
5640 `(("python" ,python)
5641 ("sbcl-cffi" ,sbcl-cffi)
88f06fd0
PN
5642 ("sbcl-alexandria" , sbcl-alexandria)
5643 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5644 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5645 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5646 (description
5647 "This package provides a shim between Python3 (specifically, the
5648CPython implementation of Python) and Common Lisp.")
5649 (home-page "https://github.com/snmsts/burgled-batteries3")
88f06fd0
PN
5650 (license license:expat))))
5651
5652(define-public cl-burgled-batteries3
5653 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5654
5655(define-public ecl-burgled-batteries3
5656 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5657
5658(define-public sbcl-metabang-bind
5659 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5660 (revision "1"))
5661 (package
5662 (name "sbcl-metabang-bind")
5663 (version (git-version "0.8.0" revision commit))
5664 (source
5665 (origin
5666 (method git-fetch)
5667 (uri (git-reference
b0e7b699 5668 (url "https://github.com/gwkkwg/metabang-bind")
88f06fd0
PN
5669 (commit commit)))
5670 (file-name (git-file-name name version))
5671 (sha256
5672 (base32
5673 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5674 (build-system asdf-build-system/sbcl)
5675 (native-inputs
5676 `(("sbcl-lift" ,sbcl-lift)))
5677 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5678 (description
5679 "Bind extends the idea of of let and destructing to provide a uniform
5680syntax for all your accessor needs. It combines @code{let},
5681@code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5682editing, property or association-lists, and @code{multiple-value-bind} and a
5683whole lot more into a single form.")
5684 (home-page "https://common-lisp.net/project/metabang-bind/")
5685 ;; MIT License
5686 (license license:expat))))
5687
5688(define-public cl-metabang-bind
5689 (sbcl-package->cl-source-package sbcl-metabang-bind))
5690
5691(define-public ecl-metabang-bind
5692 (sbcl-package->ecl-package sbcl-metabang-bind))
5693
5694(define-public sbcl-fare-utils
5695 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5696 (revision "1"))
5697 (package
5698 (name "sbcl-fare-utils")
5699 (version (git-version "1.0.0.5" revision commit))
5700 (source
5701 (origin
5702 (method git-fetch)
5703 (uri
5704 (git-reference
5705 (url
5706 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5707 (commit commit)))
5708 (file-name (git-file-name name version))
5709 (sha256
5710 (base32
5711 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5712 (build-system asdf-build-system/sbcl)
5713 (arguments
5714 `(#:test-asd-file "test/fare-utils-test.asd"))
5715 (native-inputs
5716 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5717 (synopsis "Collection of utilities and data structures")
5718 (description
5719 "fare-utils is a small collection of utilities. It contains a lot of
5720basic everyday functions and macros.")
5721 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5722 ;; MIT License
5723 (license license:expat))))
5724
5725(define-public cl-fare-utils
5726 (sbcl-package->cl-source-package sbcl-fare-utils))
5727
5728(define-public ecl-fare-utils
5729 (sbcl-package->ecl-package sbcl-fare-utils))
5730
9f084143
SH
5731(define-public sbcl-fare-mop
5732 (let ((commit "538aa94590a0354f382eddd9238934763434af30")
5733 (revision "1"))
5734 (package
5735 (name "sbcl-fare-mop")
5736 (version (git-version "1.0.1" revision commit))
5737 (source
5738 (origin
5739 (method git-fetch)
5740 (uri (git-reference
5741 (url "https://github.com/fare/fare-mop")
5742 (commit commit)))
5743 (file-name (git-file-name "fare-mop" version))
5744 (sha256
5745 (base32
5746 "0maxs8392953fhnaa6zwnm2mdbhxjxipp4g4rvypm06ixr6pyv1c"))))
5747 (build-system asdf-build-system/sbcl)
5748 (inputs
5749 `(("close-mop" ,sbcl-closer-mop)
5750 ("fare-utils" ,sbcl-fare-utils)))
5751 (home-page "https://github.com/fare/fare-mop")
5752 (synopsis "General purpose Common Lisp utilities using the MOP")
5753 (description
5754 "FARE-MOP is a small collection of utilities using the MetaObject
5755Protocol. It notably contains a SIMPLE-PRINT-OBJECT method, and
5756a SIMPLE-PRINT-OBJECT-MIXIN mixin that allow you to trivially define
5757PRINT-OBJECT methods that print the interesting slots in your objects, which is
5758great for REPL interaction and debugging.")
5759 (license license:unlicense))))
5760
5761(define-public ecl-fare-mop
5762 (sbcl-package->ecl-package sbcl-fare-mop))
5763
5764(define-public cl-fare-mop
5765 (sbcl-package->cl-source-package sbcl-fare-mop))
5766
bde6c43f
SH
5767(define-public sbcl-inferior-shell
5768 (let ((commit "15c2d04a7398db965ea1c3ba2d49efa7c851f2c2")
5769 (revision "1"))
5770 (package
5771 (name "sbcl-inferior-shell")
5772 (version (git-version "2.0.5" revision commit))
5773 (source
5774 (origin
5775 (method git-fetch)
5776 (uri (git-reference
5777 (url "https://github.com/fare/inferior-shell")
5778 (commit commit)))
5779 (file-name (git-file-name "inferior-shell" version))
5780 (sha256
5781 (base32 "02qx37zzk5j4xmwh77k2qa2wvnzvaj6qml5dh2q7b6b1ljvgcj4m"))))
5782 (build-system asdf-build-system/sbcl)
5783 (native-inputs
5784 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5785 (inputs
5786 `(("alexandira" ,sbcl-alexandria)
5787 ("fare-mop" ,sbcl-fare-mop)
5788 ("fare-quasiquote" ,sbcl-fare-quasiquote)
5789 ("fare-utils" ,sbcl-fare-utils)
5790 ("trivia" ,sbcl-trivia)))
5791 (home-page "https://github.com/fare/inferior-shell")
5792 (synopsis "Spawn local or remote processes and shell pipes")
5793 (description
5794 "This package provides a Common Lisp system helping in scripting, it
5795uses @code{uiop:run-program} as a backend.")
5796 (license license:expat))))
5797
5798(define-public ecl-inferior-shell
5799 (sbcl-package->ecl-package sbcl-inferior-shell))
5800
5801(define-public cl-inferior-shell
5802 (sbcl-package->cl-source-package sbcl-inferior-shell))
5803
88f06fd0
PN
5804(define-public sbcl-trivial-utf-8
5805 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5806 (revision "1"))
5807 (package
5808 (name "sbcl-trivial-utf-8")
5809 (version (git-version "0.0.0" revision commit))
5810 (source
5811 (origin
5812 (method git-fetch)
5813 (uri
5814 (git-reference
5815 (url (string-append "https://gitlab.common-lisp.net/"
5816 "trivial-utf-8/trivial-utf-8.git"))
5817 (commit commit)))
5818 (file-name (git-file-name name version))
5819 (sha256
5820 (base32
5821 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5822 (arguments
5823 ;; Guix incorrectly assumes the "8" is part of the version
5824 ;; number and lobs it off.
3f8bbf7c 5825 `(#:asd-systems '("trivial-utf-8")))
88f06fd0
PN
5826 (build-system asdf-build-system/sbcl)
5827 (synopsis "UTF-8 input/output library")
5828 (description
5829 "The Babel library solves a similar problem while understanding more
5830encodings. Trivial UTF-8 was written before Babel existed, but for new
5831projects you might be better off going with Babel. The one plus that Trivial
5832UTF-8 has is that it doesn't depend on any other libraries.")
5833 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5834 (license license:bsd-3))))
5835
5836(define-public cl-trivial-utf-8
5837 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5838
5839(define-public ecl-trivial-utf-8
5840 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5841
5842(define-public sbcl-idna
5843 (package
5844 (name "sbcl-idna")
5845 (build-system asdf-build-system/sbcl)
5846 (version "0.2.2")
5847 (home-page "https://github.com/antifuchs/idna")
5848 (source
5849 (origin
5850 (method git-fetch)
5851 (uri (git-reference
5852 (url home-page)
5853 (commit version)))
5854 (file-name (git-file-name name version))
5855 (sha256
5856 (base32
5857 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5858 (inputs
5859 `(("split-sequence" ,sbcl-split-sequence)))
5860 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5861 (description "This Common Lisp library provides string encoding and
5862decoding routines for IDNA, the International Domain Names in Applications.")
5863 (license license:expat)))
5864
5865(define-public cl-idna
5866 (sbcl-package->cl-source-package sbcl-idna))
5867
5868(define-public ecl-idna
5869 (sbcl-package->ecl-package sbcl-idna))
5870
5871(define-public sbcl-swap-bytes
5872 (package
5873 (name "sbcl-swap-bytes")
5874 (build-system asdf-build-system/sbcl)
dbf6de58 5875 (version "1.2")
88f06fd0
PN
5876 (home-page "https://github.com/sionescu/swap-bytes")
5877 (source
5878 (origin
5879 (method git-fetch)
5880 (uri (git-reference
5881 (url home-page)
5882 (commit (string-append "v" version))))
5883 (file-name (git-file-name name version))
5884 (sha256
5885 (base32
dbf6de58 5886 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
88f06fd0
PN
5887 (inputs
5888 `(("trivial-features" ,sbcl-trivial-features)))
5889 (native-inputs
5890 `(("fiveam" ,sbcl-fiveam)))
88f06fd0
PN
5891 (synopsis "Efficient endianness conversion for Common Lisp")
5892 (description "This Common Lisp library provides optimized byte-swapping
5893primitives. The library can change endianness of unsigned integers of length
58941/2/4/8. Very useful in implementing various network protocols and file
5895formats.")
5896 (license license:expat)))
5897
5898(define-public cl-swap-bytes
5899 (sbcl-package->cl-source-package sbcl-swap-bytes))
5900
5901(define-public ecl-swap-bytes
5902 (sbcl-package->ecl-package sbcl-swap-bytes))
5903
2ff8b5ba 5904(define-public sbcl-iolib
054ebbf7
PN
5905 (package
5906 (name "sbcl-iolib")
5907 (version "0.8.4")
5908 (home-page "https://github.com/sionescu/iolib")
5909 (source
5910 (origin
5911 (method git-fetch)
5912 (uri (git-reference
5913 (url home-page)
5914 (commit (string-append "v" version))))
5915 (file-name (git-file-name name version))
5916 (sha256
5917 (base32
5918 "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq"))))
5919 (build-system asdf-build-system/sbcl)
5920 (inputs
5921 `(("alexandria" ,sbcl-alexandria)
5922 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5923 ("cffi" ,sbcl-cffi)
5924 ("idna" ,sbcl-idna)
5925 ("libfixposix" ,libfixposix)
5926 ("split-sequence" ,sbcl-split-sequence)
5927 ("swap-bytes" ,sbcl-swap-bytes)))
5928 (arguments
5929 '(#:asd-files '("iolib.asdf.asd"
5930 "iolib.conf.asd"
5931 "iolib.common-lisp.asd"
5932 "iolib.base.asd"
5933 "iolib.asd")
5934 #:asd-systems '("iolib"
5935 "iolib/os")
5936 #:phases
5937 (modify-phases %standard-phases
5938 (add-after 'unpack 'fix-paths
5939 (lambda* (#:key inputs #:allow-other-keys)
5940 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5941 (("\\(:default \"libfixposix\"\\)")
5942 (string-append
5943 "(:default \""
5944 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5945 ;; Socket tests need Internet access, disable them.
5946 (substitute* "iolib.asd"
5947 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5948 "")))))))
5949 (synopsis "Common Lisp I/O library")
5950 (description "IOlib is to be a better and more modern I/O library than
88f06fd0
PN
5951the standard Common Lisp library. It contains a socket library, a DNS
5952resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5953and @code{kqueue(2)}), a pathname library and file-system utilities.")
054ebbf7 5954 (license license:expat)))
88f06fd0 5955
af5c4eff 5956(define-public cl-iolib
c6201ab9
PN
5957 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
5958 (package
5959 (inherit parent)
5960 (propagated-inputs
5961 ;; Need header to compile.
5962 `(("libfixposix" ,libfixposix)
5963 ,@(package-propagated-inputs parent))))))
af5c4eff 5964
e7cbcf5a
GLV
5965(define-public ecl-iolib
5966 (sbcl-package->ecl-package sbcl-iolib))
5967
88f06fd0
PN
5968(define-public sbcl-ieee-floats
5969 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5970 (revision "1"))
5971 (package
5972 (name "sbcl-ieee-floats")
5973 (build-system asdf-build-system/sbcl)
5974 (version (git-version "20170924" revision commit))
5975 (home-page "https://github.com/marijnh/ieee-floats/")
5976 (source
5977 (origin
5978 (method git-fetch)
5979 (uri (git-reference
5980 (url home-page)
5981 (commit commit)))
5982 (file-name (git-file-name name version))
5983 (sha256
5984 (base32
5985 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5986 (native-inputs
5987 `(("fiveam" ,sbcl-fiveam)))
5988 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
c05181a3 5989 (description "This is a Common Lisp library that converts
88f06fd0
PN
5990floating point values to IEEE 754 binary representation.")
5991 (license license:bsd-3))))
5992
5993(define-public cl-ieee-floats
5994 (sbcl-package->cl-source-package sbcl-ieee-floats))
5995
e7cbcf5a
GLV
5996(define-public ecl-ieee-floats
5997 (sbcl-package->ecl-package sbcl-ieee-floats))
5998
88f06fd0
PN
5999(define sbcl-closure-common
6000 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
6001 (revision "1"))
6002 (package
6003 (name "sbcl-closure-common")
6004 (build-system asdf-build-system/sbcl)
6005 (version (git-version "20101006" revision commit))
6006 (home-page "https://common-lisp.net/project/cxml/")
6007 (source
6008 (origin
6009 (method git-fetch)
6010 (uri (git-reference
6011 (url "https://github.com/sharplispers/closure-common")
6012 (commit commit)))
6013 (file-name (git-file-name name version))
6014 (sha256
6015 (base32
6016 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
6017 (inputs
6018 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
6019 ("babel" ,sbcl-babel)))
6020 (synopsis "Support Common Lisp library for CXML")
6021 (description "Closure-common is an internal helper library. The name
6022Closure is a reference to the web browser it was originally written for.")
6023 ;; TODO: License?
6024 (license #f))))
6025
2ff8b5ba 6026(define-public sbcl-cxml
88f06fd0
PN
6027 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
6028 (revision "1"))
6029 (package
2ff8b5ba 6030 (name "sbcl-cxml")
88f06fd0 6031 (version (git-version "0.0.0" revision commit))
88f06fd0
PN
6032 (source
6033 (origin
6034 (method git-fetch)
6035 (uri (git-reference
6036 (url "https://github.com/sharplispers/cxml")
6037 (commit commit)))
6038 (file-name (git-file-name name version))
6039 (sha256
6040 (base32
6041 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
2ff8b5ba 6042 (build-system asdf-build-system/sbcl)
88f06fd0
PN
6043 (inputs
6044 `(("closure-common" ,sbcl-closure-common)
6045 ("puri" ,sbcl-puri)
2ff8b5ba 6046 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
2ff8b5ba
GLV
6047 (synopsis "Common Lisp XML parser")
6048 (description "CXML implements a namespace-aware, validating XML 1.0
6049parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
6050offered, one SAX-like, the other similar to StAX.")
6051 (home-page "https://common-lisp.net/project/cxml/")
6052 (license license:llgpl))))
88f06fd0
PN
6053
6054(define-public cl-cxml
6055 (sbcl-package->cl-source-package sbcl-cxml))
6056
e7cbcf5a
GLV
6057(define-public ecl-cxml
6058 (sbcl-package->ecl-package sbcl-cxml))
6059
88f06fd0
PN
6060(define-public sbcl-cl-reexport
6061 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
6062 (revision "1"))
6063 (package
6064 (name "sbcl-cl-reexport")
6065 (build-system asdf-build-system/sbcl)
6066 (version (git-version "0.1" revision commit))
6067 (home-page "https://github.com/takagi/cl-reexport")
6068 (source
6069 (origin
6070 (method git-fetch)
6071 (uri (git-reference
6072 (url home-page)
6073 (commit commit)))
6074 (file-name (git-file-name name version))
6075 (sha256
6076 (base32
6077 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
6078 (inputs
6079 `(("alexandria" ,sbcl-alexandria)))
6080 (arguments
6081 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
6082 `(#:tests? #f))
6083 (synopsis "HTTP cookie manager for Common Lisp")
6084 (description "cl-cookie is a Common Lisp library featuring parsing of
6085cookie headers, cookie creation, cookie jar creation and more.")
6086 (license license:llgpl))))
6087
6088(define-public cl-reexport
6089 (sbcl-package->cl-source-package sbcl-cl-reexport))
6090
e7cbcf5a
GLV
6091(define-public ecl-cl-reexport
6092 (sbcl-package->ecl-package sbcl-cl-reexport))
6093
88f06fd0
PN
6094(define-public sbcl-cl-cookie
6095 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
6096 (revision "1"))
6097 (package
6098 (name "sbcl-cl-cookie")
6099 (build-system asdf-build-system/sbcl)
6100 (version (git-version "0.9.10" revision commit))
6101 (home-page "https://github.com/fukamachi/cl-cookie")
6102 (source
6103 (origin
6104 (method git-fetch)
6105 (uri (git-reference
6106 (url home-page)
6107 (commit commit)))
6108 (file-name (git-file-name name version))
6109 (sha256
6110 (base32
6111 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
6112 (inputs
6113 `(("proc-parse" ,sbcl-proc-parse)
6114 ("alexandria" ,sbcl-alexandria)
6115 ("quri" ,sbcl-quri)
6116 ("cl-ppcre" ,sbcl-cl-ppcre)
6117 ("local-time" ,sbcl-local-time)))
6118 (native-inputs
2ff8b5ba 6119 `(("prove" ,sbcl-prove)))
88f06fd0
PN
6120 (arguments
6121 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
6122 `(#:tests? #f))
6123 (synopsis "HTTP cookie manager for Common Lisp")
6124 (description "cl-cookie is a Common Lisp library featuring parsing of
6125cookie headers, cookie creation, cookie jar creation and more.")
6126 (license license:bsd-2))))
6127
6128(define-public cl-cookie
6129 (sbcl-package->cl-source-package sbcl-cl-cookie))
6130
e7cbcf5a
GLV
6131(define-public ecl-cl-cookie
6132 (sbcl-package->ecl-package sbcl-cl-cookie))
6133
88f06fd0 6134(define-public sbcl-dexador
e067ef95 6135 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
88f06fd0
PN
6136 (revision "1"))
6137 (package
6138 (name "sbcl-dexador")
6139 (build-system asdf-build-system/sbcl)
e067ef95 6140 (version "0.9.14" )
88f06fd0
PN
6141 (home-page "https://github.com/fukamachi/dexador")
6142 (source
6143 (origin
6144 (method git-fetch)
6145 (uri (git-reference
6146 (url home-page)
6147 (commit commit)))
6148 (file-name (git-file-name name version))
6149 (sha256
6150 (base32
e067ef95 6151 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
88f06fd0
PN
6152 (inputs
6153 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
6154 ("babel" ,sbcl-babel)
6155 ("usocket" ,sbcl-usocket)
6156 ("fast-http" ,sbcl-fast-http)
6157 ("quri" ,sbcl-quri)
6158 ("fast-io" ,sbcl-fast-io)
6159 ("chunga" ,sbcl-chunga)
6160 ("cl-ppcre" ,sbcl-cl-ppcre)
6161 ("cl-cookie" ,sbcl-cl-cookie)
6162 ("trivial-mimes" ,sbcl-trivial-mimes)
6163 ("chipz" ,sbcl-chipz)
6164 ("cl-base64" ,sbcl-cl-base64)
6165 ("cl-reexport" ,sbcl-cl-reexport)
6166 ("cl+ssl" ,sbcl-cl+ssl)
6167 ("bordeaux-threads" ,sbcl-bordeaux-threads)
6168 ("alexandria" ,sbcl-alexandria)))
6169 (native-inputs
6170 `(("prove" ,sbcl-prove)
2ff8b5ba 6171 ("lack" ,sbcl-lack)
88f06fd0
PN
6172 ("clack" ,sbcl-clack)
6173 ("babel" ,sbcl-babel)
6174 ("alexandria" ,sbcl-alexandria)
6175 ("cl-ppcre" ,sbcl-cl-ppcre)
e067ef95
PN
6176 ("local-time" ,sbcl-local-time)
6177 ("trivial-features" ,sbcl-trivial-features)))
88f06fd0
PN
6178 (arguments
6179 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
6180 `(#:tests? #f
6181 #:phases
6182 (modify-phases %standard-phases
6183 (add-after 'unpack 'fix-permissions
6184 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
6185 (synopsis "Yet another HTTP client for Common Lisp")
6186 (description "Dexador is yet another HTTP client for Common Lisp with
6187neat APIs and connection-pooling. It is meant to supersede Drakma.")
6188 (license license:expat))))
6189
6190(define-public cl-dexador
6191 (package
6192 (inherit (sbcl-package->cl-source-package sbcl-dexador))
6193 (arguments
6194 `(#:phases
6195 ;; asdf-build-system/source has its own phases and does not inherit
6196 ;; from asdf-build-system/sbcl phases.
6197 (modify-phases %standard-phases/source
09db7f39
PN
6198 ;; Already done in SBCL package.
6199 (delete 'reset-gzip-timestamps))))))
88f06fd0
PN
6200
6201(define-public ecl-dexador
6202 (sbcl-package->ecl-package sbcl-dexador))
6203
6204(define-public sbcl-lisp-namespace
6205 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
6206 (revision "1"))
6207 (package
6208 (name "sbcl-lisp-namespace")
6209 (build-system asdf-build-system/sbcl)
6210 (version (git-version "0.1" revision commit))
6211 (home-page "https://github.com/guicho271828/lisp-namespace")
6212 (source
6213 (origin
6214 (method git-fetch)
6215 (uri (git-reference
6216 (url home-page)
6217 (commit commit)))
6218 (file-name (git-file-name name version))
6219 (sha256
6220 (base32
6221 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
6222 (inputs
6223 `(("alexandria" ,sbcl-alexandria)))
6224 (native-inputs
6225 `(("fiveam" ,sbcl-fiveam)))
6226 (arguments
6227 `(#:test-asd-file "lisp-namespace.test.asd"
6228 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
6229 #:tests? #f))
6230 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
6231 (description "Common Lisp already has major 2 namespaces, function
6232namespace and value namespace (or variable namespace), but there are actually
6233more — e.g., class namespace.
6234This library offers macros to deal with symbols from any namespace.")
6235 (license license:llgpl))))
6236
6237(define-public cl-lisp-namespace
6238 (sbcl-package->cl-source-package sbcl-lisp-namespace))
6239
e7cbcf5a
GLV
6240(define-public ecl-lisp-namespace
6241 (sbcl-package->ecl-package sbcl-lisp-namespace))
6242
88f06fd0 6243(define-public sbcl-trivial-cltl2
36ceab7d
PN
6244 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
6245 (revision "2"))
88f06fd0
PN
6246 (package
6247 (name "sbcl-trivial-cltl2")
6248 (build-system asdf-build-system/sbcl)
6249 (version (git-version "0.1.1" revision commit))
6250 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
6251 (source
6252 (origin
6253 (method git-fetch)
6254 (uri (git-reference
6255 (url home-page)
6256 (commit commit)))
6257 (file-name (git-file-name name version))
6258 (sha256
6259 (base32
36ceab7d 6260 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
88f06fd0
PN
6261 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
6262 (description "This library is a portable compatibility layer around
6263\"Common Lisp the Language, 2nd
6264Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
6265and it exports symbols from implementation-specific packages.")
6266 (license license:llgpl))))
6267
6268(define-public cl-trivial-cltl2
6269 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
6270
12df8b7b
GLV
6271(define-public ecl-trivial-cltl2
6272 (sbcl-package->ecl-package sbcl-trivial-cltl2))
6273
88f06fd0
PN
6274(define-public sbcl-introspect-environment
6275 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
6276 (revision "1"))
6277 (package
6278 (name "sbcl-introspect-environment")
6279 (build-system asdf-build-system/sbcl)
6280 (version (git-version "0.1" revision commit))
6281 (home-page "https://github.com/Bike/introspect-environment")
6282 (source
6283 (origin
6284 (method git-fetch)
6285 (uri (git-reference
6286 (url home-page)
6287 (commit commit)))
6288 (file-name (git-file-name name version))
6289 (sha256
6290 (base32
6291 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
6292 (native-inputs
6293 `(("fiveam" ,sbcl-fiveam)))
6294 (synopsis "Common Lisp environment introspection portability layer")
6295 (description "This library is a small interface to portable but
6296nonstandard introspection of Common Lisp environments. It is intended to
6297allow a bit more compile-time introspection of environments in Common Lisp.
6298
6299Quite a bit of information is available at the time a macro or compiler-macro
6300runs; inlining info, type declarations, that sort of thing. This information
6301is all standard - any Common Lisp program can @code{(declare (integer x))} and
6302such.
6303
6304This info ought to be accessible through the standard @code{&environment}
6305parameters, but it is not. Several implementations keep the information for
6306their own purposes but do not make it available to user programs, because
6307there is no standard mechanism to do so.
6308
6309This library uses implementation-specific hooks to make information available
6310to users. This is currently supported on SBCL, CCL, and CMUCL. Other
6311implementations have implementations of the functions that do as much as they
6312can and/or provide reasonable defaults.")
6313 (license license:wtfpl2))))
6314
6315(define-public cl-introspect-environment
6316 (sbcl-package->cl-source-package sbcl-introspect-environment))
6317
e7cbcf5a
GLV
6318(define-public ecl-introspect-environment
6319 (sbcl-package->ecl-package sbcl-introspect-environment))
6320
88f06fd0 6321(define-public sbcl-type-i
758f32af
PN
6322 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
6323 (revision "2"))
88f06fd0
PN
6324 (package
6325 (name "sbcl-type-i")
6326 (build-system asdf-build-system/sbcl)
6327 (version (git-version "0.1" revision commit))
6328 (home-page "https://github.com/guicho271828/type-i")
6329 (source
6330 (origin
6331 (method git-fetch)
6332 (uri (git-reference
6333 (url home-page)
6334 (commit commit)))
6335 (file-name (git-file-name name version))
6336 (sha256
6337 (base32
758f32af 6338 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
88f06fd0
PN
6339 (inputs
6340 `(("alexandria" ,sbcl-alexandria)
6341 ("introspect-environment" ,sbcl-introspect-environment)
6342 ("trivia.trivial" ,sbcl-trivia.trivial)))
6343 (native-inputs
6344 `(("fiveam" ,sbcl-fiveam)))
6345 (arguments
6346 `(#:test-asd-file "type-i.test.asd"))
6347 (synopsis "Type inference utility on unary predicates for Common Lisp")
6348 (description "This library tries to provide a way to detect what kind of
6349type the given predicate is trying to check. This is different from inferring
6350the return type of a function.")
6351 (license license:llgpl))))
6352
6353(define-public cl-type-i
6354 (sbcl-package->cl-source-package sbcl-type-i))
6355
12df8b7b
GLV
6356(define-public ecl-type-i
6357 (package
6358 (inherit (sbcl-package->ecl-package sbcl-type-i))
6359 (arguments
6360 ;; The tests get stuck indefinitly
6361 '(#:tests? #f))))
6362
88f06fd0
PN
6363(define-public sbcl-optima
6364 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
6365 (revision "1"))
6366 (package
6367 (name "sbcl-optima")
6368 (build-system asdf-build-system/sbcl)
6369 (version (git-version "1.0" revision commit))
6370 (home-page "https://github.com/m2ym/optima")
6371 (source
6372 (origin
6373 (method git-fetch)
6374 (uri (git-reference
6375 (url home-page)
6376 (commit commit)))
6377 (file-name (git-file-name name version))
6378 (sha256
6379 (base32
6380 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
6381 (inputs
6382 `(("alexandria" ,sbcl-alexandria)
6383 ("closer-mop" ,sbcl-closer-mop)))
6384 (native-inputs
6385 `(("eos" ,sbcl-eos)))
6386 (arguments
6387 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
6388 `(#:tests? #f
6389 #:test-asd-file "optima.test.asd"))
6390 (synopsis "Optimized pattern matching library for Common Lisp")
6391 (description "Optima is a fast pattern matching library which uses
6392optimizing techniques widely used in the functional programming world.")
6393 (license license:expat))))
6394
6395(define-public cl-optima
6396 (sbcl-package->cl-source-package sbcl-optima))
6397
e7cbcf5a
GLV
6398(define-public ecl-optima
6399 (sbcl-package->ecl-package sbcl-optima))
6400
88f06fd0 6401(define-public sbcl-fare-quasiquote
639b47e6
GLV
6402 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
6403 (revision "1"))
6404 (package
6405 (name "sbcl-fare-quasiquote")
6406 (build-system asdf-build-system/sbcl)
6407 (version (git-version "1.0.1" revision commit))
6408 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
6409 (source
6410 (origin
6411 (method git-fetch)
6412 (uri (git-reference
6413 (url (string-append "https://gitlab.common-lisp.net/frideau/"
6414 "fare-quasiquote.git"))
6415 (commit commit)))
6416 (file-name (git-file-name name version))
6417 (sha256
6418 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
6419 (inputs
2ff8b5ba
GLV
6420 `(("fare-utils" ,sbcl-fare-utils)
6421 ("named-readtables" ,sbcl-named-readtables)
6422 ("optima" ,sbcl-optima)))
639b47e6
GLV
6423 (arguments
6424 ;; XXX: Circular dependencies: Tests depend on subsystems,
6425 ;; which depend on the main systems.
6426 `(#:tests? #f
2ff8b5ba
GLV
6427 #:asd-systems '("fare-quasiquote"
6428 "fare-quasiquote-extras")
639b47e6
GLV
6429 #:phases
6430 (modify-phases %standard-phases
6431 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
6432 ;; commits after 1.0.0.5, but ASDF fails to read the
6433 ;; "-REVISION-COMMIT" part generated by Guix.
6434 (add-after 'unpack 'patch-requirement
6435 (lambda _
6436 (substitute* "fare-quasiquote.asd"
6437 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
2ff8b5ba
GLV
6438 "\"fare-utils\""))
6439 (substitute* "fare-quasiquote-optima.asd"
6440 (("\\(:version \"optima\" \"1\\.0\"\\)")
6441 "\"optima\""))
6442 #t)))))
639b47e6
GLV
6443 (synopsis "Pattern-matching friendly implementation of quasiquote")
6444 (description "The main purpose of this n+2nd reimplementation of
88f06fd0
PN
6445quasiquote is enable matching of quasiquoted patterns, using Optima or
6446Trivia.")
639b47e6 6447 (license license:expat))))
88f06fd0
PN
6448
6449(define-public cl-fare-quasiquote
6450 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
6451
e7cbcf5a
GLV
6452(define-public ecl-fare-quasiquote
6453 (sbcl-package->ecl-package sbcl-fare-quasiquote))
6454
2ff8b5ba
GLV
6455;;; Split the trivia package in two to work around the circular dependency
6456;;; between guicho271828/trivia and guicho271828/type-i.
6457(define-public sbcl-trivia.trivial
e2140278
PN
6458 (let ((commit "7286d5d2a4f685f1cac8370816f95276c0851111")
6459 (revision "3"))
88f06fd0 6460 (package
2ff8b5ba 6461 (name "sbcl-trivia.trivial")
88f06fd0 6462 (version (git-version "0.0.0" revision commit))
88f06fd0
PN
6463 (source
6464 (origin
6465 (method git-fetch)
6466 (uri (git-reference
2ff8b5ba 6467 (url "https://github.com/guicho271828/trivia")
88f06fd0 6468 (commit commit)))
2ff8b5ba 6469 (file-name (git-file-name "trivia" version))
88f06fd0
PN
6470 (sha256
6471 (base32
e2140278 6472 "0ln0sj3jry7kzbmxhnin66kpbqan1wp8wwgdbw4k29afbdblkcca"))))
2ff8b5ba 6473 (build-system asdf-build-system/sbcl)
88f06fd0 6474 (inputs
2ff8b5ba
GLV
6475 `(("alexandria" ,sbcl-alexandria)
6476 ("closer-mop" ,sbcl-closer-mop)
6477 ("lisp-namespace" ,sbcl-lisp-namespace)
6478 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
6479 (arguments
e765d9c9 6480 '(#:phases
2ff8b5ba
GLV
6481 (modify-phases %standard-phases
6482 (add-after 'unpack 'fix-build
6483 (lambda _
6484 (for-each delete-file
6485 '("trivia.balland2006.asd"
6486 "trivia.ppcre.asd"
6487 "trivia.quasiquote.asd"
6488 "trivia.cffi.asd"
6489 "trivia.asd"
6490 "trivia.test.asd"))
6491 #t)))))
88f06fd0
PN
6492 (synopsis "Pattern matching in Common Lisp")
6493 (description "Trivia is a pattern matching compiler that is compatible
6494with Optima, another pattern matching library for Common Lisp. It is meant to
6495be faster and more extensible than Optima.")
2ff8b5ba 6496 (home-page "https://github.com/guicho271828/trivia")
88f06fd0
PN
6497 (license license:llgpl))))
6498
d9bdde74
GLV
6499(define-public cl-trivia.trivial
6500 (sbcl-package->cl-source-package sbcl-trivia.trivial))
6501
12df8b7b
GLV
6502(define-public ecl-trivia.trivial
6503 (sbcl-package->ecl-package sbcl-trivia.trivial))
6504
88f06fd0
PN
6505(define-public sbcl-trivia
6506 (package
2ff8b5ba 6507 (inherit sbcl-trivia.trivial)
88f06fd0 6508 (name "sbcl-trivia")
88f06fd0
PN
6509 (native-inputs
6510 `(("fiveam" ,sbcl-fiveam)
88f06fd0 6511 ("optima" ,sbcl-optima)))
2ff8b5ba
GLV
6512 (inputs
6513 `(("alexandria" ,sbcl-alexandria)
6514 ("cffi" ,sbcl-cffi)
6515 ("cl-ppcre" ,sbcl-cl-ppcre)
6516 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6517 ("iterate" ,sbcl-iterate)
6518 ("trivia.trivial" ,sbcl-trivia.trivial)
6519 ("type-i" ,sbcl-type-i)))
6520 (arguments
3f8bbf7c 6521 '(#:asd-systems '("trivia"
2ff8b5ba
GLV
6522 "trivia.ppcre"
6523 "trivia.quasiquote"
6524 "trivia.cffi")
6525 #:test-asd-file "trivia.test.asd"
6526 #:phases
6527 (modify-phases %standard-phases
6528 (add-after 'unpack 'fix-build
6529 (lambda _
6530 (for-each delete-file
6531 '("trivia.level0.asd"
6532 "trivia.level1.asd"
6533 "trivia.level2.asd"
6534 "trivia.trivial.asd"))
6535 #t)))))))
88f06fd0
PN
6536
6537(define-public cl-trivia
6538 (sbcl-package->cl-source-package sbcl-trivia))
6539
12df8b7b
GLV
6540(define-public ecl-trivia
6541 (sbcl-package->ecl-package sbcl-trivia))
6542
88f06fd0
PN
6543(define-public sbcl-mk-string-metrics
6544 (package
6545 (name "sbcl-mk-string-metrics")
6546 (version "0.1.2")
6547 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6548 (source (origin
6549 (method git-fetch)
6550 (uri (git-reference
6551 (url home-page)
6552 (commit version)))
6553 (sha256
6554 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6555 (file-name (git-file-name name version))))
6556 (build-system asdf-build-system/sbcl)
6557 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6558 (description "This library implements efficient algorithms that calculate
6559various string metrics in Common Lisp:
6560
6561@itemize
6562@item Damerau-Levenshtein distance
6563@item Hamming distance
6564@item Jaccard similarity coefficient
6565@item Jaro distance
6566@item Jaro-Winkler distance
6567@item Levenshtein distance
6568@item Normalized Damerau-Levenshtein distance
6569@item Normalized Levenshtein distance
6570@item Overlap coefficient
6571@end itemize\n")
6572 (license license:x11)))
6573
6574(define-public cl-mk-string-metrics
6575 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6576
e7cbcf5a
GLV
6577(define-public ecl-mk-string-metrics
6578 (sbcl-package->ecl-package sbcl-mk-string-metrics))
6579
88f06fd0 6580(define-public sbcl-cl-str
cc978955
PN
6581 (package
6582 (name "sbcl-cl-str")
6583 (version "0.19")
6584 (home-page "https://github.com/vindarel/cl-str")
6585 (source (origin
6586 (method git-fetch)
6587 (uri (git-reference
6588 (url home-page)
6589 (commit version)))
6590 (sha256
6591 (base32 "1jyza2jhn7w6fl4w87pv0m87z5ia48m6dqw12k0mdh7l3mgjq839"))
6592 (file-name (git-file-name name version))))
6593 (build-system asdf-build-system/sbcl)
6594 (inputs
6595 `(("cl-ppcre" ,sbcl-cl-ppcre)
6596 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
6597 ("cl-change-case" ,sbcl-cl-change-case)))
6598 (native-inputs
32787d65 6599 `(("prove" ,sbcl-prove)))
cc978955 6600 (arguments
32787d65 6601 `(#:asd-systems '("str")
cc978955
PN
6602 #:test-asd-file "str.test.asd"))
6603 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6604 (description "A modern and consistent Common Lisp string manipulation
88f06fd0
PN
6605library that focuses on modernity, simplicity and discoverability:
6606@code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6607@code{str:concat strings} instead of an unusual format construct; one
6608discoverable library instead of many; consistency and composability, where
6609@code{s} is always the last argument, which makes it easier to feed pipes and
6610arrows.")
cc978955 6611 (license license:expat)))
88f06fd0
PN
6612
6613(define-public cl-str
6614 (sbcl-package->cl-source-package sbcl-cl-str))
6615
12df8b7b
GLV
6616(define-public ecl-cl-str
6617 (sbcl-package->ecl-package sbcl-cl-str))
6618
88f06fd0
PN
6619(define-public sbcl-cl-xmlspam
6620 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6621 (package
6622 (name "sbcl-cl-xmlspam")
6623 (build-system asdf-build-system/sbcl)
6624 (version (git-version "0.0.0" "1" commit))
6625 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6626 (source
6627 (origin
6628 (method git-fetch)
6629 (uri (git-reference
6630 (url home-page)
6631 (commit commit)))
6632 (file-name (string-append name "-" version))
6633 (sha256
6634 (base32
6635 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6636 (inputs
6637 `(("cxml" ,sbcl-cxml)
6638 ("cl-ppcre" ,sbcl-cl-ppcre)))
6639 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6640 (description "CXML does an excellent job at parsing XML elements, but what
6641do you do when you have a XML file that's larger than you want to fit in
6642memory, and you want to extract some information from it? Writing code to deal
6643with SAX events, or even using Klacks, quickly becomes tedious.
6644@code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6645to write code that mirrors the structure of the XML that it's parsing. It
6646also makes it easy to shift paradigms when necessary - the usual Lisp control
6647constructs can be used interchangeably with pattern matching, and the full
6648power of CXML is available when necessary.")
6649 (license license:bsd-3))))
6650
d9bdde74
GLV
6651(define-public cl-xmlspam
6652 (sbcl-package->cl-source-package sbcl-cl-xmlspam))
6653
12df8b7b
GLV
6654(define-public ecl-cl-xmlspam
6655 (sbcl-package->ecl-package sbcl-cl-xmlspam))
6656
2ff8b5ba 6657(define-public sbcl-dbus
88f06fd0
PN
6658 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6659 (revision "1"))
6660 (package
2ff8b5ba 6661 (name "sbcl-dbus")
88f06fd0
PN
6662 (version (git-version "20190408" revision commit))
6663 (home-page "https://github.com/death/dbus")
6664 (source
6665 (origin
6666 (method git-fetch)
6667 (uri (git-reference
6668 (url home-page)
6669 (commit commit)))
6670 (file-name (git-file-name name version))
6671 (sha256
6672 (base32
6673 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
2ff8b5ba
GLV
6674 (build-system asdf-build-system/sbcl)
6675 (inputs
88f06fd0
PN
6676 `(("alexandria" ,sbcl-alexandria)
6677 ("trivial-garbage" ,sbcl-trivial-garbage)
6678 ("babel" ,sbcl-babel)
6679 ("iolib" ,sbcl-iolib)
88f06fd0
PN
6680 ("ieee-floats" ,sbcl-ieee-floats)
6681 ("flexi-streams" ,sbcl-flexi-streams)
6682 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6683 ("ironclad" ,sbcl-ironclad)))
6684 (synopsis "D-Bus client library for Common Lisp")
104b1bde 6685 (description "This is a Common Lisp library that publishes D-Bus
88f06fd0
PN
6686objects as well as send and notify other objects connected to a bus.")
6687 (license license:bsd-2))))
6688
2ff8b5ba
GLV
6689(define-public cl-dbus
6690 (sbcl-package->cl-source-package sbcl-dbus))
6691
e7cbcf5a
GLV
6692(define-public ecl-dbus
6693 (sbcl-package->ecl-package sbcl-dbus))
6694
88f06fd0
PN
6695(define-public sbcl-cl-hooks
6696 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6697 (revision "1"))
6698 (package
6699 (name "sbcl-cl-hooks")
6700 (build-system asdf-build-system/sbcl)
6701 (version (git-version "0.2.1" revision commit))
6702 (home-page "https://github.com/scymtym/architecture.hooks")
6703 (source
6704 (origin
6705 (method git-fetch)
6706 (uri (git-reference
6707 (url home-page)
6708 (commit commit)))
6709 (file-name (git-file-name name version))
6710 (sha256
6711 (base32
6712 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6713 (inputs
6714 `(("alexandria" ,sbcl-alexandria)
6715 ("let-plus" ,sbcl-let-plus)
6716 ("trivial-garbage" ,sbcl-trivial-garbage)
6717 ("closer-mop" ,sbcl-closer-mop)))
6718 (native-inputs
6719 `(("fiveam" ,sbcl-fiveam)))
6720 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6721 (description "A hook, in the present context, is a certain kind of
6722extension point in a program that allows interleaving the execution of
6723arbitrary code with the execution of a the program without introducing any
6724coupling between the two. Hooks are used extensively in the extensible editor
6725Emacs.
6726
6727In the Common LISP Object System (CLOS), a similar kind of extensibility is
6728possible using the flexible multi-method dispatch mechanism. It may even seem
6729that the concept of hooks does not provide any benefits over the possibilities
6730of CLOS. However, there are some differences:
6731
6732@itemize
6733
6734@item There can be only one method for each combination of specializers and
6735qualifiers. As a result this kind of extension point cannot be used by
6736multiple extensions independently.
6737@item Removing code previously attached via a @code{:before}, @code{:after} or
6738@code{:around} method can be cumbersome.
6739@item There could be other or even multiple extension points besides @code{:before}
6740and @code{:after} in a single method.
6741@item Attaching codes to individual objects using eql specializers can be
6742cumbersome.
6743@item Introspection of code attached a particular extension point is
6744cumbersome since this requires enumerating and inspecting the methods of a
6745generic function.
6746@end itemize
6747
6748This library tries to complement some of these weaknesses of method-based
6749extension-points via the concept of hooks.")
6750 (license license:llgpl))))
6751
6752(define-public cl-hooks
6753 (sbcl-package->cl-source-package sbcl-cl-hooks))
6754
6755(define-public ecl-cl-hooks
6756 (sbcl-package->ecl-package sbcl-cl-hooks))
6757
703cdbbd 6758(define-public sbcl-cl-autowrap
d2f29789
SH
6759 (let ((revision "2")
6760 (commit "a5d71ebd7c21b87f449db1e16ab815750d7c0ea4"))
703cdbbd
AK
6761 ;; no taged branches
6762 (package
6763 (name "sbcl-cl-autowrap")
6764 (version (git-version "1.0" revision commit))
6765 (source
6766 (origin
6767 (method git-fetch)
6768 (uri (git-reference
6769 (url "https://github.com/rpav/cl-autowrap")
6770 (commit commit)))
d2f29789 6771 (file-name (git-file-name "cl-autowrap" version))
703cdbbd 6772 (sha256
d2f29789 6773 (base32 "0795c817m1c41cz3ywzzg83z4pgkxdg6si553pay9mdgjvmrwmaw"))))
703cdbbd 6774 (build-system asdf-build-system/sbcl)
d2f29789
SH
6775 (arguments
6776 `(#:asd-systems '("cl-plus-c" "cl-autowrap")))
703cdbbd
AK
6777 (inputs
6778 `(("alexandria" ,sbcl-alexandria)
6779 ("cffi" ,sbcl-cffi)
6780 ("cl-json" ,sbcl-cl-json)
6781 ("cl-ppcre" ,sbcl-cl-ppcre)
6782 ("defpackage-plus" ,sbcl-defpackage-plus)
6783 ("trivial-features" ,sbcl-trivial-features)))
6784 (home-page "https://github.com/rpav/cl-autowrap")
6785 (synopsis "FFI wrapper generator for Common Lisp")
6786 (description "This is a c2ffi-based wrapper generator for Common Lisp.")
6787 (license license:bsd-2))))
6788
6789(define-public cl-autowrap
6790 (sbcl-package->cl-source-package sbcl-cl-autowrap))
6791
6792(define-public ecl-cl-autowrap
6793 (sbcl-package->ecl-package sbcl-cl-autowrap))
6794
88f06fd0 6795(define-public sbcl-s-sysdeps
bdfd1d18
PN
6796 ;; No release since 2013.
6797 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
6798 (revision "2"))
88f06fd0
PN
6799 (package
6800 (name "sbcl-s-sysdeps")
6801 (build-system asdf-build-system/sbcl)
6802 (version (git-version "1" revision commit))
6803 (home-page "https://github.com/svenvc/s-sysdeps")
6804 (source
6805 (origin
6806 (method git-fetch)
6807 (uri (git-reference
6808 (url home-page)
6809 (commit commit)))
6810 (file-name (git-file-name name version))
6811 (sha256
6812 (base32
bdfd1d18
PN
6813 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
6814 (inputs
6815 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2ff8b5ba 6816 ("usocket" ,sbcl-usocket)))
88f06fd0
PN
6817 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6818 (description "@code{s-sysdeps} is an abstraction layer over platform
6819dependent functionality. This simple package is used as a building block in a
6820number of other open source projects.
6821
6822@code{s-sysdeps} abstracts:
6823
6824@itemize
6825@item managing processes,
6826@item implementing a standard TCP/IP server,
6827@item opening a client TCP/IP socket stream,
6828@item working with process locks.
6829@end itemize\n")
6830 (license license:llgpl))))
6831
6832(define-public cl-s-sysdeps
6833 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6834
6835(define-public ecl-s-sysdeps
6836 (sbcl-package->ecl-package sbcl-s-sysdeps))
6837
6838(define-public sbcl-cl-prevalence
58de426e
PN
6839 (let ((commit "5a76be036092ed6c18cb695a9e03bce87e21b840")
6840 (revision "4"))
88f06fd0
PN
6841 (package
6842 (name "sbcl-cl-prevalence")
6843 (build-system asdf-build-system/sbcl)
6844 (version (git-version "5" revision commit))
6845 (home-page "https://github.com/40ants/cl-prevalence")
6846 (source
6847 (origin
6848 (method git-fetch)
6849 (uri (git-reference
6850 (url home-page)
6851 (commit commit)))
6852 (file-name (git-file-name name version))
6853 (sha256
6854 (base32
58de426e 6855 "050h6hwv8f16b5v6fzba8zmih92hgaaq27i2x9wv1iib41gbia3r"))))
88f06fd0
PN
6856 (inputs
6857 `(("s-sysdeps" ,sbcl-s-sysdeps)
6858 ("s-xml" ,sbcl-s-xml)))
419db900
PN
6859 (native-inputs
6860 `(("fiveam" ,sbcl-fiveam)))
88f06fd0
PN
6861 (synopsis "Implementation of object prevalence for Common Lisp")
6862 (description "This Common Lisp library implements object prevalence (see
6863@url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6864for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6865classes and cyclic data structures are supported.")
6866 (license license:llgpl))))
6867
6868(define-public cl-prevalence
6869 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6870
6871(define-public ecl-cl-prevalence
6872 (sbcl-package->ecl-package sbcl-cl-prevalence))
6873
6874(define-public sbcl-series
6875 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6876 (revision "1"))
6877 (package
6878 (name "sbcl-series")
6879 (version (git-version "2.2.11" revision commit))
6880 (source
6881 (origin
6882 (method git-fetch)
6883 (uri (git-reference
6884 (url "git://git.code.sf.net/p/series/series")
6885 (commit commit)))
6886 (file-name (git-file-name name version))
6887 (sha256
6888 (base32
6889 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6890 (build-system asdf-build-system/sbcl)
6891 (arguments
6892 ;; Disable the tests, they are apparently buggy and I didn't find
6893 ;; a simple way to make them run and pass.
6894 '(#:tests? #f))
6895 (synopsis "Series data structure for Common Lisp")
6896 (description
6897 "This Common Lisp library provides a series data structure much like
6898a sequence, with similar kinds of operations. The difference is that in many
6899situations, operations on series may be composed functionally and yet execute
6900iteratively, without the need to construct intermediate series values
6901explicitly. In this manner, series provide both the clarity of a functional
6902programming style and the efficiency of an iterative programming style.")
6903 (home-page "http://series.sourceforge.net/")
6904 (license license:expat))))
6905
6906(define-public cl-series
6907 (sbcl-package->cl-source-package sbcl-series))
6908
6909(define-public ecl-series
6910 (sbcl-package->ecl-package sbcl-series))
6911
6912(define-public sbcl-periods
ffd5ec05
PN
6913 (let ((commit "60383dcef88a1ac11f82804ae7a33c361dcd2949")
6914 (revision "2"))
88f06fd0
PN
6915 (package
6916 (name "sbcl-periods")
6917 (version (git-version "0.0.2" revision commit))
6918 (source
6919 (origin
6920 (method git-fetch)
6921 (uri (git-reference
b0e7b699 6922 (url "https://github.com/jwiegley/periods")
88f06fd0
PN
6923 (commit commit)))
6924 (file-name (git-file-name name version))
6925 (sha256
6926 (base32
ffd5ec05 6927 "1ym2j4an9ig2hl210jg91gpf7xfnp6mlhkw3n9kkdnwiji3ipqlk"))))
88f06fd0
PN
6928 (build-system asdf-build-system/sbcl)
6929 (inputs
2ff8b5ba
GLV
6930 `(("local-time" ,sbcl-local-time)
6931 ("series" ,sbcl-series)))
6932 (arguments
3f8bbf7c 6933 '(#:asd-systems '("periods"
2ff8b5ba 6934 "periods-series")))
88f06fd0
PN
6935 (synopsis "Common Lisp library for manipulating date/time objects")
6936 (description
6937 "Periods is a Common Lisp library providing a set of utilities for
6938manipulating times, distances between times, and both contiguous and
6939discontiguous ranges of time.")
6940 (home-page "https://github.com/jwiegley/periods")
6941 (license license:bsd-3))))
6942
6943(define-public cl-periods
6944 (sbcl-package->cl-source-package sbcl-periods))
6945
6946(define-public ecl-periods
6947 (sbcl-package->ecl-package sbcl-periods))
6948
88f06fd0
PN
6949(define-public sbcl-metatilities-base
6950 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6951 (revision "1"))
6952 (package
6953 (name "sbcl-metatilities-base")
6954 (version (git-version "0.6.6" revision commit))
6955 (source
6956 (origin
6957 (method git-fetch)
6958 (uri (git-reference
b0e7b699 6959 (url "https://github.com/gwkkwg/metatilities-base")
88f06fd0
PN
6960 (commit commit)))
6961 (file-name (git-file-name name version))
6962 (sha256
6963 (base32
6964 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6965 (build-system asdf-build-system/sbcl)
6966 (native-inputs
6967 `(("lift" ,sbcl-lift)))
6968 (synopsis "Core of the metatilities Common Lisp library")
6969 (description
6970 "Metatilities-base is the core of the metatilities Common Lisp library
6971which implements a set of utilities.")
6972 (home-page "https://common-lisp.net/project/metatilities-base/")
6973 (license license:expat))))
6974
6975(define-public cl-metatilities-base
6976 (sbcl-package->cl-source-package sbcl-metatilities-base))
6977
6978(define-public ecl-metatilities-base
6979 (sbcl-package->ecl-package sbcl-metatilities-base))
6980
6981(define-public sbcl-cl-containers
0ad6ecb8
PN
6982 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6983 (revision "3"))
88f06fd0
PN
6984 (package
6985 (name "sbcl-cl-containers")
6986 (version (git-version "0.12.1" revision commit))
6987 (source
6988 (origin
6989 (method git-fetch)
6990 (uri (git-reference
b0e7b699 6991 (url "https://github.com/gwkkwg/cl-containers")
88f06fd0
PN
6992 (commit commit)))
6993 (file-name (git-file-name name version))
6994 (sha256
6995 (base32
0ad6ecb8 6996 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
88f06fd0
PN
6997 (build-system asdf-build-system/sbcl)
6998 (native-inputs
6999 `(("lift" ,sbcl-lift)))
7000 (inputs
7001 `(("metatilities-base" ,sbcl-metatilities-base)))
7002 (arguments
3f8bbf7c
GLV
7003 '(#:asd-files '("cl-containers.asd")
7004 #:phases
88f06fd0
PN
7005 (modify-phases %standard-phases
7006 (add-after 'unpack 'relax-version-checks
7007 (lambda _
7008 (substitute* "cl-containers.asd"
7009 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
7010 "\"metatilities-base\""))
7011 (substitute* "cl-containers-test.asd"
7012 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
7013 "\"lift\""))
7014 #t)))))
7015 (synopsis "Container library for Common Lisp")
7016 (description
7017 "Common Lisp ships with a set of powerful built in data structures
7018including the venerable list, full featured arrays, and hash-tables.
7019CL-containers enhances and builds on these structures by adding containers
7020that are not available in native Lisp (for example: binary search trees,
7021red-black trees, sparse arrays and so on), and by providing a standard
7022interface so that they are simpler to use and so that changing design
7023decisions becomes significantly easier.")
7024 (home-page "https://common-lisp.net/project/cl-containers/")
7025 (license license:expat))))
7026
7027(define-public cl-containers
7028 (sbcl-package->cl-source-package sbcl-cl-containers))
7029
7030(define-public ecl-cl-containers
7031 (sbcl-package->ecl-package sbcl-cl-containers))
7032
7033(define-public sbcl-xlunit
7034 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
7035 (revision "1"))
7036 (package
7037 (name "sbcl-xlunit")
7038 (version (git-version "0.6.3" revision commit))
7039 (source
7040 (origin
7041 (method git-fetch)
7042 (uri (git-reference
7043 (url "http://git.kpe.io/xlunit.git")
7044 (commit commit)))
7045 (file-name (git-file-name name version))
7046 (sha256
7047 (base32
7048 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
7049 (build-system asdf-build-system/sbcl)
7050 (arguments
7051 '(#:phases
7052 (modify-phases %standard-phases
7053 (add-after 'unpack 'fix-tests
7054 (lambda _
7055 (substitute* "xlunit.asd"
7056 ((" :force t") ""))
7057 #t)))))
7058 (synopsis "Unit testing package for Common Lisp")
7059 (description
7060 "The XLUnit package is a toolkit for building test suites. It is based
7061on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
7062 (home-page "http://quickdocs.org/xlunit/")
7063 (license license:bsd-3))))
7064
7065(define-public cl-xlunit
7066 (sbcl-package->cl-source-package sbcl-xlunit))
7067
7068(define-public ecl-xlunit
7069 (sbcl-package->ecl-package sbcl-xlunit))
7070
2ff8b5ba 7071(define-public sbcl-cambl
88f06fd0
PN
7072 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
7073 (revision "1"))
7074 (package
2ff8b5ba
GLV
7075 (name "sbcl-cambl")
7076 (version (git-version "4.0.0" revision commit))
88f06fd0
PN
7077 (source
7078 (origin
7079 (method git-fetch)
7080 (uri (git-reference
b0e7b699 7081 (url "https://github.com/jwiegley/cambl")
88f06fd0 7082 (commit commit)))
2ff8b5ba 7083 (file-name (git-file-name "cambl" version))
88f06fd0 7084 (sha256
2ff8b5ba 7085 (base32 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
88f06fd0 7086 (build-system asdf-build-system/sbcl)
88f06fd0
PN
7087 (native-inputs
7088 `(("xlunit" ,sbcl-xlunit)))
7089 (inputs
7090 `(("alexandria" ,sbcl-alexandria)
7091 ("cl-containers" ,sbcl-cl-containers)
7092 ("local-time" ,sbcl-local-time)
2ff8b5ba
GLV
7093 ("periods" ,sbcl-periods)))
7094 (arguments
7095 '(#:asd-files '("fprog.asd"
e765d9c9 7096 "cambl.asd")))
88f06fd0
PN
7097 (synopsis "Commoditized amounts and balances for Common Lisp")
7098 (description
7099 "CAMBL is a Common Lisp library providing a convenient facility for
7100working with commoditized values. It does not allow compound units (and so is
7101not suited for scientific operations) but does work rather nicely for the
2ff8b5ba
GLV
7102purpose of financial calculations.")
7103 (home-page "https://github.com/jwiegley/cambl")
7104 (license license:bsd-3))))
88f06fd0
PN
7105
7106(define-public cl-cambl
7107 (sbcl-package->cl-source-package sbcl-cambl))
7108
7109(define-public ecl-cambl
7110 (sbcl-package->ecl-package sbcl-cambl))
7111
7112(define-public sbcl-cl-ledger
7113 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
7114 (revision "1"))
7115 (package
7116 (name "sbcl-cl-ledger")
7117 (version (git-version "4.0.0" revision commit))
7118 (source
7119 (origin
7120 (method git-fetch)
7121 (uri (git-reference
b0e7b699 7122 (url "https://github.com/ledger/cl-ledger")
88f06fd0
PN
7123 (commit commit)))
7124 (file-name (git-file-name name version))
7125 (sha256
7126 (base32
7127 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
7128 (build-system asdf-build-system/sbcl)
7129 (inputs
7130 `(("cambl" ,sbcl-cambl)
7131 ("cl-ppcre" ,sbcl-cl-ppcre)
7132 ("local-time" ,sbcl-local-time)
2ff8b5ba 7133 ("periods" ,sbcl-periods)))
88f06fd0
PN
7134 (arguments
7135 '(#:phases
7136 (modify-phases %standard-phases
7137 (add-after 'unpack 'fix-system-definition
7138 (lambda _
7139 (substitute* "cl-ledger.asd"
7140 ((" :build-operation program-op") "")
7141 ((" :build-pathname \"cl-ledger\"") "")
7142 ((" :entry-point \"ledger::main\"") ""))
7143 #t)))))
7144 (synopsis "Common Lisp port of the Ledger accounting system")
7145 (description
7146 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
7147system.")
7148 (home-page "https://github.com/ledger/cl-ledger")
7149 (license license:bsd-3))))
7150
7151(define-public cl-ledger
7152 (sbcl-package->cl-source-package sbcl-cl-ledger))
7153
7154(define-public ecl-cl-ledger
7155 (sbcl-package->ecl-package sbcl-cl-ledger))
7156
7157(define-public sbcl-bst
0ce02f67
GLV
7158 (let ((commit "8545aed0d504df2829ad139566feeabe22305388")
7159 (revision "0"))
88f06fd0
PN
7160 (package
7161 (name "sbcl-bst")
0ce02f67 7162 (version (git-version "2.0" revision commit))
88f06fd0
PN
7163 (source
7164 (origin
7165 (method git-fetch)
7166 (uri (git-reference
b0e7b699 7167 (url "https://github.com/glv2/bst")
88f06fd0
PN
7168 (commit commit)))
7169 (file-name (git-file-name name version))
7170 (sha256
0ce02f67 7171 (base32 "18ig7rvxcra69437g0i8sxyv7c5dg26jqnx1rc2f9pxmihdprgk8"))))
88f06fd0
PN
7172 (build-system asdf-build-system/sbcl)
7173 (native-inputs
7174 `(("alexandria" ,sbcl-alexandria)
7175 ("fiveam" ,sbcl-fiveam)))
7176 (synopsis "Binary search tree for Common Lisp")
7177 (description
7178 "BST is a Common Lisp library for working with binary search trees that
7179can contain any kind of values.")
7180 (home-page "https://github.com/glv2/bst")
7181 (license license:gpl3))))
7182
7183(define-public cl-bst
7184 (sbcl-package->cl-source-package sbcl-bst))
7185
7186(define-public ecl-bst
7187 (sbcl-package->ecl-package sbcl-bst))
7188
7189(define-public sbcl-cl-octet-streams
7190 (package
7191 (name "sbcl-cl-octet-streams")
dd4dff0c 7192 (version "1.2")
88f06fd0
PN
7193 (source
7194 (origin
7195 (method git-fetch)
7196 (uri (git-reference
b0e7b699 7197 (url "https://github.com/glv2/cl-octet-streams")
88f06fd0
PN
7198 (commit (string-append "v" version))))
7199 (file-name (git-file-name name version))
7200 (sha256
dd4dff0c 7201 (base32 "1hffh98bv4w5yrchagzwqrc43d2p473pvw7ka4kyyvhrr52dk2f8"))))
88f06fd0
PN
7202 (build-system asdf-build-system/sbcl)
7203 (native-inputs
7204 `(("fiveam" ,sbcl-fiveam)))
7205 (inputs
7206 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7207 (synopsis "In-memory octet streams for Common Lisp")
7208 (description
7209 "CL-octet-streams is a library implementing in-memory octet
7210streams for Common Lisp. It was inspired by the trivial-octet-streams and
7211cl-plumbing libraries.")
7212 (home-page "https://github.com/glv2/cl-octet-streams")
7213 (license license:gpl3+)))
7214
7215(define-public cl-octet-streams
7216 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
7217
7218(define-public ecl-cl-octet-streams
7219 (sbcl-package->ecl-package sbcl-cl-octet-streams))
7220
7221(define-public sbcl-lzlib
bfe2f67e
GLV
7222 (let ((commit "cad10f5becbcfebb44b9d311a257563778803452")
7223 (revision "2"))
88f06fd0
PN
7224 (package
7225 (name "sbcl-lzlib")
8ecec73d 7226 (version (git-version "1.1" revision commit))
88f06fd0
PN
7227 (source
7228 (origin
7229 (method git-fetch)
7230 (uri (git-reference
b0e7b699 7231 (url "https://github.com/glv2/cl-lzlib")
88f06fd0
PN
7232 (commit commit)))
7233 (file-name (git-file-name name version))
7234 (sha256
bfe2f67e 7235 (base32 "09lp7li35h4jkls0448fj1sh6pjslr1w7ranbc4szjr8g0c2bdry"))))
88f06fd0
PN
7236 (build-system asdf-build-system/sbcl)
7237 (native-inputs
7238 `(("fiveam" ,sbcl-fiveam)))
7239 (inputs
7240 `(("cffi" ,sbcl-cffi)
7241 ("cl-octet-streams" ,sbcl-cl-octet-streams)
8ecec73d 7242 ("lparallel" ,sbcl-lparallel)
88f06fd0
PN
7243 ("lzlib" ,lzlib)))
7244 (arguments
7245 '(#:phases
7246 (modify-phases %standard-phases
7247 (add-after 'unpack 'fix-paths
7248 (lambda* (#:key inputs #:allow-other-keys)
7249 (substitute* "src/lzlib.lisp"
7250 (("liblz\\.so")
7251 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
7252 #t)))))
7253 (synopsis "Common Lisp library for lzip (de)compression")
7254 (description
7255 "This Common Lisp library provides functions for lzip (LZMA)
7256compression/decompression using bindings to the lzlib C library.")
7257 (home-page "https://github.com/glv2/cl-lzlib")
7258 (license license:gpl3+))))
7259
7260(define-public cl-lzlib
7261 (sbcl-package->cl-source-package sbcl-lzlib))
7262
7263(define-public ecl-lzlib
7264 (sbcl-package->ecl-package sbcl-lzlib))
7265
7266(define-public sbcl-chanl
00a9a936
GLV
7267 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
7268 (revision "1"))
88f06fd0
PN
7269 (package
7270 (name "sbcl-chanl")
7271 (version (git-version "0.4.1" revision commit))
7272 (source
7273 (origin
7274 (method git-fetch)
7275 (uri (git-reference
b0e7b699 7276 (url "https://github.com/zkat/chanl")
88f06fd0
PN
7277 (commit commit)))
7278 (file-name (git-file-name name version))
7279 (sha256
7280 (base32
00a9a936 7281 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
88f06fd0
PN
7282 (build-system asdf-build-system/sbcl)
7283 (native-inputs
7284 `(("fiveam" ,sbcl-fiveam)))
7285 (inputs
7286 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
7287 (synopsis "Portable channel-based concurrency for Common Lisp")
7288 (description "Common Lisp library for channel-based concurrency. In
7289a nutshell, you create various threads sequentially executing tasks you need
7290done, and use channel objects to communicate and synchronize the state of these
7291threads.")
7292 (home-page "https://github.com/zkat/chanl")
7293 (license (list license:expat license:bsd-3)))))
7294
7295(define-public cl-chanl
7296 (sbcl-package->cl-source-package sbcl-chanl))
7297
7298(define-public ecl-chanl
00a9a936 7299 (sbcl-package->ecl-package sbcl-chanl))
88f06fd0
PN
7300
7301(define-public sbcl-cl-store
1896256d
BG
7302 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
7303 (revision "1"))
88f06fd0
PN
7304 (package
7305 (name "sbcl-cl-store")
7306 (version (git-version "0.8.11" revision commit))
7307 (source
7308 (origin
7309 (method git-fetch)
7310 (uri (git-reference
b0e7b699 7311 (url "https://github.com/skypher/cl-store")
88f06fd0
PN
7312 (commit commit)))
7313 (file-name (git-file-name name version))
7314 (sha256
7315 (base32
1896256d 7316 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
88f06fd0
PN
7317 (build-system asdf-build-system/sbcl)
7318 (native-inputs
7319 `(("rt" ,sbcl-rt)))
7320 (synopsis "Common Lisp library to serialize data")
7321 (description
7322 "CL-STORE is a portable serialization package which should give you the
7323ability to store all Common Lisp data types into streams.")
630a4b77 7324 (home-page "https://www.common-lisp.net/project/cl-store/")
88f06fd0
PN
7325 (license license:expat))))
7326
7327(define-public cl-store
7328 (sbcl-package->cl-source-package sbcl-cl-store))
7329
7330(define-public ecl-cl-store
7331 (sbcl-package->ecl-package sbcl-cl-store))
7332
68608dd4
SH
7333(define-public sbcl-specialization-store
7334 (let ((commit "8d39a866a6f24986aad3cc52349e9cb2653496f3")
7335 (revision "1"))
7336 (package
7337 (name "sbcl-specialization-store")
7338 (version (git-version "0.0.5" revision commit))
7339 (source
7340 (origin
7341 (method git-fetch)
7342 (uri (git-reference
7343 (url "https://github.com/markcox80/specialization-store")
7344 (commit commit)))
7345 (file-name (git-file-name "specialization-store" version))
7346 (sha256
7347 (base32 "0r0bgb46q4gy72l78s7djkxq8ibb4bb3yh9brsry5lih7br8lhi0"))))
7348 (build-system asdf-build-system/sbcl)
7349 (native-inputs
7350 `(("fiveam" ,sbcl-fiveam)))
7351 (inputs
7352 `(("alexandria" ,sbcl-alexandria)
7353 ("introspect-environment" ,sbcl-introspect-environment)))
7354 (home-page "https://github.com/markcox80/specialization-store")
7355 (synopsis "Different type of generic function for Common Lisp")
7356 (description
7357 "SPECIALIZATION-STORE system provides a new kind of function, called
7358a store function, whose behavior depends on the types of objects passed to the
7359function.")
7360 (license license:bsd-2))))
7361
7362(define-public ecl-specialization-store
7363 (package
7364 (inherit (sbcl-package->ecl-package sbcl-specialization-store))
7365 (arguments
7366 ;; TODO: Find why the tests get stuck forever; disable them for now.
7367 `(#:tests? #f))))
7368
7369(define-public cl-specialization-store
7370 (sbcl-package->cl-source-package sbcl-specialization-store))
7371
88f06fd0 7372(define-public sbcl-cl-gobject-introspection
f96a65eb
PN
7373 (let ((commit "d0136c8d9ade2560123af1fc55bbf70d2e3db539")
7374 (revision "1"))
88f06fd0
PN
7375 (package
7376 (name "sbcl-cl-gobject-introspection")
7377 (version (git-version "0.3" revision commit))
7378 (home-page "https://github.com/andy128k/cl-gobject-introspection")
7379 (source
7380 (origin
7381 (method git-fetch)
7382 (uri (git-reference
7383 (url home-page)
7384 (commit commit)))
7385 (file-name (git-file-name name version))
7386 (sha256
7387 (base32
f96a65eb 7388 "0dz0r73pq7yhz2iq2jnkq977awx2zws2qfxdcy33329sys1ii32p"))))
88f06fd0
PN
7389 (build-system asdf-build-system/sbcl)
7390 (inputs
7391 `(("alexandria" ,sbcl-alexandria)
7392 ("cffi" ,sbcl-cffi)
7393 ("iterate" ,sbcl-iterate)
7394 ("trivial-garbage" ,sbcl-trivial-garbage)
7395 ("glib" ,glib)
7396 ("gobject-introspection" ,gobject-introspection)))
7397 (native-inputs
7398 `(("fiveam" ,sbcl-fiveam)))
7399 (arguments
f96a65eb 7400 '(#:phases
88f06fd0 7401 (modify-phases %standard-phases
f96a65eb 7402 (add-after 'unpack 'fix-paths
88f06fd0
PN
7403 (lambda* (#:key inputs #:allow-other-keys)
7404 (substitute* "src/init.lisp"
7405 (("libgobject-2\\.0\\.so")
7406 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
7407 (("libgirepository-1\\.0\\.so")
7408 (string-append (assoc-ref inputs "gobject-introspection")
7409 "/lib/libgirepository-1.0.so")))
7410 #t)))))
7411 (synopsis "Common Lisp bindings to GObject Introspection")
7412 (description
7413 "This library is a bridge between Common Lisp and GObject
7414Introspection, which enables Common Lisp programs to access the full interface
7415of C+GObject libraries without the need of writing dedicated bindings.")
7416 (license (list license:bsd-3
7417 ;; Tests are under a different license.
7418 license:llgpl)))))
7419
7420(define-public cl-gobject-introspection
7421 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
7422
e7cbcf5a
GLV
7423(define-public ecl-cl-gobject-introspection
7424 (sbcl-package->ecl-package sbcl-cl-gobject-introspection))
7425
df484455
SH
7426(define-public sbcl-cl-slug
7427 (let ((commit "ffb229d10f0d3f7f54e706791725225e200bf749")
7428 (revision "1"))
7429 (package
7430 (name "sbcl-cl-slug")
7431 (version (git-version "0.4.1" revision commit))
7432 (source
7433 (origin
7434 (method git-fetch)
7435 (uri (git-reference
7436 (url "https://github.com/EuAndreh/cl-slug")
7437 (commit commit)))
7438 (file-name (git-file-name "cl-slug" version))
7439 (sha256
7440 (base32 "1asdq6xllmsvfw5fky9wblqcx9isac9jrrlkfl7vyxcq1wxrnflx"))))
7441 (build-system asdf-build-system/sbcl)
7442 (arguments
7443 `(#:asd-files '("cl-slug-test.asd" "cl-slug.asd")
7444 #:asd-systems '("cl-slug-test" "cl-slug")))
7445 (native-inputs
7446 `(("prove" ,sbcl-prove)))
7447 (inputs
7448 `(("ppcre" ,sbcl-cl-ppcre)))
7449 (home-page "https://github.com/EuAndreh/cl-slug")
214461ed 7450 (synopsis "Multi-language slug formatter")
df484455
SH
7451 (description
7452 "This is a small Common Lisp library to make slugs, mainly for URIs,
214461ed 7453from English and beyond.")
df484455
SH
7454 (license license:llgpl))))
7455
7456(define-public ecl-cl-slug
7457 (sbcl-package->ecl-package sbcl-cl-slug))
7458
7459(define-public cl-slug
7460 (sbcl-package->cl-source-package sbcl-cl-slug))
7461
88f06fd0
PN
7462(define-public sbcl-string-case
7463 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
7464 (revision "0"))
7465 (package
7466 (name "sbcl-string-case")
7467 (version (git-version "0.0.2" revision commit))
7468 (home-page "https://github.com/pkhuong/string-case")
7469 (source
7470 (origin
7471 (method git-fetch)
7472 (uri (git-reference
7473 (url home-page)
7474 (commit commit)))
7475 (file-name (git-file-name name version))
7476 (sha256
7477 (base32
7478 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7479 (build-system asdf-build-system/sbcl)
7480 (synopsis "Efficient string= case in Common Lisp")
7481 (description
7482 "@code{string-case} is a Common Lisp macro that generates specialised decision
7483trees to dispatch on string equality.")
7484 (license license:bsd-3))))
7485
7486(define-public cl-string-case
7487 (sbcl-package->cl-source-package sbcl-string-case))
7488
7489(define-public ecl-string-case
7490 (sbcl-package->ecl-package sbcl-string-case))
7491
df898f72
SH
7492(define-public sbcl-garbage-pools
7493 (let ((commit "9a7cb7f48b04197c0495df3b6d2e8395ad13f790")
7494 (revision "1"))
7495 (package
7496 (name "sbcl-garbage-pools")
7497 (version (git-version "0.1.2" revision commit))
7498 (source
7499 (origin
7500 (method git-fetch)
7501 (uri (git-reference
7502 (url "https://github.com/archimag/garbage-pools")
7503 (commit commit)))
7504 (file-name (git-file-name name version))
7505 (sha256
7506 (base32 "04jqwr6j138him6wc4nrwjzm4lvyj5j31xqab02nkf8h9hmsf5v1"))))
7507 (build-system asdf-build-system/sbcl)
7508 (home-page "https://github.com/archimag/garbage-pools")
7509 (synopsis "Resource management pools for Common Lisp")
7510 (description "GARBAGE-POOLS is Common Lisp re-implementation of the APR
7511Pools for resource management.")
7512 (license license:expat))))
7513
7514(define-public ecl-garbage-pools
7515 (sbcl-package->ecl-package sbcl-garbage-pools))
7516
7517(define-public cl-garbage-pools
7518 (sbcl-package->cl-source-package sbcl-garbage-pools))
7519
88f06fd0
PN
7520(define-public sbcl-global-vars
7521 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7522 (revision "0"))
7523 (package
7524 (name "sbcl-global-vars")
7525 (version (git-version "1.0.0" revision commit))
7526 (home-page "https://github.com/lmj/global-vars")
7527 (source
7528 (origin
7529 (method git-fetch)
7530 (uri (git-reference
7531 (url home-page)
7532 (commit commit)))
7533 (file-name (git-file-name name version))
7534 (sha256
7535 (base32
7536 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7537 (build-system asdf-build-system/sbcl)
7538 (synopsis "Efficient global variables in Common Lisp")
7539 (description
7540 "In Common Lisp, a special variable that is never dynamically bound
7541typically serves as a stand-in for a global variable. The @code{global-vars}
7542library provides true global variables that are implemented by some compilers.
7543An attempt to rebind a global variable properly results in a compiler error.
7544That is, a global variable cannot be dynamically bound.
7545
7546Global variables therefore allow us to communicate an intended usage that
7547differs from special variables. Global variables are also more efficient than
7548special variables, especially in the presence of threads.")
7549 (license license:expat))))
7550
7551(define-public cl-global-vars
7552 (sbcl-package->cl-source-package sbcl-global-vars))
7553
7554(define-public ecl-global-vars
7555 (sbcl-package->ecl-package sbcl-global-vars))
7556
7557(define-public sbcl-trivial-file-size
7558 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7559 (revision "0"))
7560 (package
7561 (name "sbcl-trivial-file-size")
7562 (version (git-version "0.0.0" revision commit))
7563 (home-page "https://github.com/ruricolist/trivial-file-size")
7564 (source
7565 (origin
7566 (method git-fetch)
7567 (uri (git-reference
7568 (url home-page)
7569 (commit commit)))
7570 (file-name (git-file-name name version))
7571 (sha256
7572 (base32
7573 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7574 (build-system asdf-build-system/sbcl)
7575 (native-inputs
7576 `(("fiveam" ,sbcl-fiveam)))
7577 (synopsis "Size of a file in bytes in Common Lisp")
7578 (description
7579 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7580is to open the file with an element type of (unsigned-byte 8) and then
7581calculate the length of the stream. This is less than ideal. In most cases
7582it is better to get the size of the file from its metadata, using a system
7583call.
7584
7585This library exports a single function, file-size-in-octets. It returns the
7586size of a file in bytes, using system calls when possible.")
7587 (license license:expat))))
7588
7589(define-public cl-trivial-file-size
7590 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7591
7592(define-public ecl-trivial-file-size
7593 (sbcl-package->ecl-package sbcl-trivial-file-size))
7594
7595(define-public sbcl-trivial-macroexpand-all
7596 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7597 (revision "0"))
7598 (package
7599 (name "sbcl-trivial-macroexpand-all")
7600 (version (git-version "0.0.0" revision commit))
7601 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7602 (source
7603 (origin
7604 (method git-fetch)
7605 (uri (git-reference
7606 (url home-page)
7607 (commit commit)))
7608 (file-name (git-file-name name version))
7609 (sha256
7610 (base32
7611 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7612 (build-system asdf-build-system/sbcl)
7613 (native-inputs
7614 `(("fiveam" ,sbcl-fiveam)))
7615 (synopsis "Portable macroexpand-all for Common Lisp")
7616 (description
7617 "This library provides a macroexpand-all function that calls the
7618implementation specific equivalent.")
7619 (license license:unlicense))))
7620
7621(define-public cl-trivial-macroexpand-all
7622 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7623
7624(define-public ecl-trivial-macroexpand-all
7625 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7626
7627(define-public sbcl-serapeum
a703c89f
PN
7628 (let ((commit "c29a52ff0c5f6e60b09919c3a0daa8df7599ddb9")
7629 (revision "6"))
88f06fd0
PN
7630 (package
7631 (name "sbcl-serapeum")
7632 (version (git-version "0.0.0" revision commit))
7633 (home-page "https://github.com/ruricolist/serapeum")
7634 (source
7635 (origin
7636 (method git-fetch)
7637 (uri (git-reference
7638 (url home-page)
7639 (commit commit)))
7640 (file-name (git-file-name name version))
7641 (sha256
a703c89f 7642 (base32 "0vij9jhji09way1rpd0r5sgjnh5amm3f2ymppnqkw0c6nnk2p0kd"))))
88f06fd0
PN
7643 (build-system asdf-build-system/sbcl)
7644 (inputs
7645 `(("alexandria" ,sbcl-alexandria)
7646 ("trivia" ,sbcl-trivia)
88f06fd0
PN
7647 ("split-sequence" ,sbcl-split-sequence)
7648 ("string-case" ,sbcl-string-case)
7649 ("parse-number" ,sbcl-parse-number)
7650 ("trivial-garbage" ,sbcl-trivial-garbage)
7651 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7652 ("named-readtables" ,sbcl-named-readtables)
2ff8b5ba 7653 ("fare-quasiquote" ,sbcl-fare-quasiquote)
88f06fd0
PN
7654 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7655 ("global-vars" ,sbcl-global-vars)
7656 ("trivial-file-size" ,sbcl-trivial-file-size)
7657 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7658 (native-inputs
7659 `(("fiveam" ,sbcl-fiveam)
7660 ("local-time" ,sbcl-local-time)))
7661 (arguments
7662 '(#:phases
7663 (modify-phases %standard-phases
7664 (add-after 'unpack 'disable-failing-tests
7665 (lambda* (#:key inputs #:allow-other-keys)
7666 (substitute* "serapeum.asd"
7667 ;; Guix does not have Quicklisp, and probably never will.
7668 (("\\(:file \"quicklisp\"\\)") ""))
7669 #t)))))
7670 (synopsis "Common Lisp utility library beyond Alexandria")
7671 (description
7672 "Serapeum is a conservative library of Common Lisp utilities. It is a
7673supplement, not a competitor, to Alexandria.")
7674 (license license:expat))))
7675
7676(define-public cl-serapeum
7677 (sbcl-package->cl-source-package sbcl-serapeum))
7678
12df8b7b
GLV
7679(define-public ecl-serapeum
7680 (sbcl-package->ecl-package sbcl-serapeum))
7681
88f06fd0
PN
7682(define-public sbcl-arrows
7683 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7684 (revision "0"))
7685 (package
7686 (name "sbcl-arrows")
7687 (version (git-version "0.2.0" revision commit))
7688 (source
7689 (origin
7690 (method git-fetch)
7691 (uri (git-reference
7692 (url "https://gitlab.com/Harleqin/arrows.git")
7693 (commit commit)))
7694 (file-name (git-file-name name version))
7695 (sha256
7696 (base32
7697 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7698 (build-system asdf-build-system/sbcl)
7699 (native-inputs
7700 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7701 (synopsis "Clojure-like arrow macros for Common Lisp")
7702 (description
7703 "This library implements the @code{->} and @code{->>} macros from
7704Clojure, as well as several expansions on the idea.")
7705 (home-page "https://gitlab.com/Harleqin/arrows")
7706 (license license:public-domain))))
7707
7708(define-public cl-arrows
7709 (sbcl-package->cl-source-package sbcl-arrows))
7710
7711(define-public ecl-arrows
7712 (sbcl-package->ecl-package sbcl-arrows))
7713
7714(define-public sbcl-simple-parallel-tasks
81108a98
GLV
7715 (let ((commit "ce7b60f788d8f68dfb69b24aac54c0e3b63379a6")
7716 (revision "1"))
88f06fd0
PN
7717 (package
7718 (name "sbcl-simple-parallel-tasks")
7719 (version (git-version "1.0" revision commit))
7720 (source
7721 (origin
7722 (method git-fetch)
7723 (uri (git-reference
b0e7b699 7724 (url "https://github.com/glv2/simple-parallel-tasks")
88f06fd0
PN
7725 (commit commit)))
7726 (file-name (git-file-name name version))
7727 (sha256
81108a98 7728 (base32 "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7"))))
88f06fd0
PN
7729 (build-system asdf-build-system/sbcl)
7730 (native-inputs
7731 `(("fiveam" ,sbcl-fiveam)))
7732 (inputs
7733 `(("chanl" ,sbcl-chanl)))
7734 (synopsis "Common Lisp library to evaluate some forms in parallel")
7735 (description "This is a simple Common Lisp library to evaluate some
7736forms in parallel.")
7737 (home-page "https://github.com/glv2/simple-parallel-tasks")
7738 (license license:gpl3))))
7739
7740(define-public cl-simple-parallel-tasks
7741 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7742
7743(define-public ecl-simple-parallel-tasks
7744 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7745
7746(define-public sbcl-cl-heap
7747 (package
7748 (name "sbcl-cl-heap")
7749 (version "0.1.6")
7750 (source
7751 (origin
7752 (method url-fetch)
7753 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7754 "cl-heap_" version ".tar.gz"))
7755 (sha256
7756 (base32
7757 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7758 (build-system asdf-build-system/sbcl)
7759 (native-inputs
7760 `(("xlunit" ,sbcl-xlunit)))
7761 (arguments
7762 `(#:test-asd-file "cl-heap-tests.asd"))
7763 (synopsis "Heap and priority queue data structures for Common Lisp")
7764 (description
7765 "CL-HEAP provides various implementations of heap data structures (a
7766binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7767 (home-page "https://common-lisp.net/project/cl-heap/")
7768 (license license:gpl3+)))
7769
7770(define-public cl-heap
7771 (sbcl-package->cl-source-package sbcl-cl-heap))
7772
7773(define-public ecl-cl-heap
7774 (sbcl-package->ecl-package sbcl-cl-heap))
7775
7776(define-public sbcl-curry-compose-reader-macros
7777 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7778 (revision "0"))
7779 (package
7780 (name "sbcl-curry-compose-reader-macros")
7781 (version (git-version "1.0.0" revision commit))
7782 (source
7783 (origin
7784 (method git-fetch)
7785 (uri
7786 (git-reference
b0e7b699 7787 (url "https://github.com/eschulte/curry-compose-reader-macros")
88f06fd0
PN
7788 (commit commit)))
7789 (file-name (git-file-name name version))
7790 (sha256
7791 (base32
7792 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7793 (build-system asdf-build-system/sbcl)
7794 (inputs
7795 `(("alexandria" ,sbcl-alexandria)
7796 ("named-readtables" ,sbcl-named-readtables)))
7797 (synopsis "Reader macros for partial application and composition")
7798 (description
7799 "This Common Lisp library provides reader macros for concise expression
7800of function partial application and composition.")
7801 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7802 (license license:public-domain))))
7803
7804(define-public cl-curry-compose-reader-macros
7805 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7806
7807(define-public ecl-curry-compose-reader-macros
7808 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7809
7810(define-public sbcl-yason
7811 (package
7812 (name "sbcl-yason")
7813 (version "0.7.7")
7814 (source
7815 (origin
7816 (method git-fetch)
7817 (uri (git-reference
b0e7b699 7818 (url "https://github.com/phmarek/yason")
88f06fd0
PN
7819 (commit (string-append "v" version))))
7820 (file-name (git-file-name name version))
7821 (sha256
7822 (base32
7823 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7824 (build-system asdf-build-system/sbcl)
7825 (inputs
7826 `(("alexandria" ,sbcl-alexandria)
7827 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7828 (synopsis "Common Lisp JSON parser/encoder")
7829 (description
7830 "YASON is a Common Lisp library for encoding and decoding data in the
7831JSON interchange format.")
7832 (home-page "https://github.com/phmarek/yason")
7833 (license license:bsd-3)))
7834
7835(define-public cl-yason
7836 (sbcl-package->cl-source-package sbcl-yason))
7837
7838(define-public ecl-yason
7839 (sbcl-package->ecl-package sbcl-yason))
7840
7841(define-public sbcl-stefil
7842 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7843 (revision "0"))
7844 (package
7845 (name "sbcl-stefil")
7846 (version (git-version "0.1" revision commit))
7847 (source
7848 (origin
7849 (method git-fetch)
7850 (uri (git-reference
7851 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7852 (commit commit)))
7853 (file-name (git-file-name name version))
7854 (sha256
7855 (base32
7856 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7857 (build-system asdf-build-system/sbcl)
7858 (inputs
7859 `(("alexandria" ,sbcl-alexandria)
7860 ("iterate" ,sbcl-iterate)
2ff8b5ba
GLV
7861 ("metabang-bind" ,sbcl-metabang-bind)
7862 ("swank" ,sbcl-slime-swank)))
88f06fd0
PN
7863 (arguments
7864 '(#:phases
7865 (modify-phases %standard-phases
7866 (add-after 'unpack 'drop-unnecessary-dependency
7867 (lambda _
7868 (substitute* "package.lisp"
7869 ((":stefil-system") ""))
7870 #t)))))
7871 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7872 (synopsis "Simple test framework")
7873 (description
7874 "Stefil is a simple test framework for Common Lisp, with a focus on
7875interactive development.")
7876 (license license:public-domain))))
7877
7878(define-public cl-stefil
7879 (sbcl-package->cl-source-package sbcl-stefil))
7880
12df8b7b
GLV
7881(define-public ecl-stefil
7882 (sbcl-package->ecl-package sbcl-stefil))
7883
88f06fd0
PN
7884(define-public sbcl-graph
7885 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7886 (revision "0"))
7887 (package
7888 (name "sbcl-graph")
7889 (version (git-version "0.0.0" revision commit))
7890 (source
7891 (origin
7892 (method git-fetch)
7893 (uri
7894 (git-reference
b0e7b699 7895 (url "https://github.com/eschulte/graph")
88f06fd0
PN
7896 (commit commit)))
7897 (file-name (git-file-name name version))
7898 (sha256
7899 (base32
2ff8b5ba 7900 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))))
88f06fd0
PN
7901 (build-system asdf-build-system/sbcl)
7902 (native-inputs
7903 `(("stefil" ,sbcl-stefil)))
7904 (inputs
7905 `(("alexandria" ,sbcl-alexandria)
7906 ("cl-heap" ,sbcl-cl-heap)
2ff8b5ba 7907 ("cl-ppcre" ,sbcl-cl-ppcre)
88f06fd0
PN
7908 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7909 ("metabang-bind" ,sbcl-metabang-bind)
2ff8b5ba
GLV
7910 ("named-readtables" ,sbcl-named-readtables)
7911 ("yason" ,sbcl-yason)))
88f06fd0 7912 (arguments
3f8bbf7c 7913 '(#:asd-systems '("graph"
2ff8b5ba
GLV
7914 "graph/dot"
7915 "graph/json")))
88f06fd0
PN
7916 (synopsis "Graph data structure and algorithms for Common Lisp")
7917 (description
7918 "The GRAPH Common Lisp library provides a data structures to represent
7919graphs, as well as some graph manipulation and analysis algorithms (shortest
7920path, maximum flow, minimum spanning tree, etc.).")
7921 (home-page "https://eschulte.github.io/graph/")
7922 (license license:gpl3+))))
7923
7924(define-public cl-graph
7925 (sbcl-package->cl-source-package sbcl-graph))
7926
e7cbcf5a
GLV
7927(define-public ecl-graph
7928 (sbcl-package->ecl-package sbcl-graph))
7929
3029b585
PN
7930(define-public sbcl-trivial-indent
7931 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7932 (revision "0"))
7933 (package
7934 (name "sbcl-trivial-indent")
7935 (version (git-version "1.0.0" revision commit))
7936 (source
7937 (origin
7938 (method git-fetch)
7939 (uri
7940 (git-reference
7941 (url "https://github.com/Shinmera/trivial-indent")
7942 (commit commit)))
7943 (file-name (git-file-name name version))
7944 (sha256
7945 (base32
7946 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7947 (build-system asdf-build-system/sbcl)
7948 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7949 (description
7950 "This library allows you to define custom indentation hints for your
7951macros if the one recognised by SLIME automatically produces unwanted
7952results.")
7953 (home-page "https://shinmera.github.io/trivial-indent/")
7954 (license license:zlib))))
7955
7956(define-public cl-trivial-indent
7957 (sbcl-package->cl-source-package sbcl-trivial-indent))
8dc5ff8f 7958
12df8b7b
GLV
7959(define-public ecl-trivial-indent
7960 (sbcl-package->ecl-package sbcl-trivial-indent))
7961
8dc5ff8f
PN
7962(define-public sbcl-documentation-utils
7963 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7964 (revision "0"))
7965 (package
7966 (name "sbcl-documentation-utils")
7967 (version (git-version "1.2.0" revision commit))
7968 (source
7969 (origin
7970 (method git-fetch)
7971 (uri
7972 (git-reference
b0e7b699 7973 (url "https://github.com/Shinmera/documentation-utils")
8dc5ff8f
PN
7974 (commit commit)))
7975 (file-name (git-file-name name version))
7976 (sha256
7977 (base32
7978 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7979 (build-system asdf-build-system/sbcl)
7980 (inputs
7981 `(("trivial-indent" ,sbcl-trivial-indent)))
7982 (synopsis "Few simple tools to document Common Lisp libraries")
7983 (description
7984 "This is a small library to help you with managing the Common Lisp
7985docstrings for your library.")
7986 (home-page "https://shinmera.github.io/documentation-utils/")
7987 (license license:zlib))))
7988
7989(define-public cl-documentation-utils
7990 (sbcl-package->cl-source-package sbcl-documentation-utils))
aa47c9e7 7991
281537f4
GLV
7992(define-public ecl-documentation-utils
7993 (sbcl-package->ecl-package sbcl-documentation-utils))
7994
0b1f5713
PN
7995(define-public sbcl-documentation-utils-extensions
7996 (let ((commit "f67f8a05d583174662a594b79356b201c1d9d750"))
7997 (package
7998 (name "sbcl-documentation-utils-extensions")
7999 (version (git-version "0.0.0" "1" commit))
8000 (source
8001 (origin
8002 (method git-fetch)
8003 (uri
8004 (git-reference
8005 (url "https://github.com/sirherrbatka/documentation-utils-extensions/")
8006 (commit commit)))
8007 (file-name (git-file-name name version))
8008 (sha256
8009 (base32
8010 "0pn45c9rbxlnhn5nvhqz6kyv0nlirwxpg4j27niwdq80yxzsn51f"))))
8011 (build-system asdf-build-system/sbcl)
8012 (inputs
8013 `(("documentation-utils" ,sbcl-documentation-utils)))
8014 (home-page "https://github.com/sirherrbatka/documentation-utils-extensions")
8015 (synopsis "Set of extensions for documentation-utils")
8016 (description
8017 "Use @code{rich-formatter} to format documentation with sections @code{:syntax},
8018@code{:arguments}, @code{:examples}, @code{:description}, @code{:returns},
8019@code{:side-effects}, @code{:thread-safety}, @code{:affected-by},
8020@code{:see-also} and @code{:notes}. Gather unformatted input by using
8021@code{rich-aggregating-formatter} and @code{*DOCUMENTATION*} variable. Find
8022gathered documentation with find-documentation function. Execute code stored
8023in documentation with @code{execute-documentation}. See the examples in the
8024@code{src/documentation.lisp} file. See the @code{documentation-utils} system
8025for more information.")
8026 (license license:expat))))
8027
8028(define-public cl-documentation-utils-extensions
8029 (sbcl-package->cl-source-package sbcl-documentation-utils-extensions))
8030
8031(define-public ecl-documentation-utils-extensions
8032 (sbcl-package->ecl-package sbcl-documentation-utils-extensions))
8033
aa47c9e7
PN
8034(define-public sbcl-form-fiddle
8035 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
8036 (revision "0"))
8037 (package
8038 (name "sbcl-form-fiddle")
8039 (version (git-version "1.1.0" revision commit))
8040 (source
8041 (origin
8042 (method git-fetch)
8043 (uri
8044 (git-reference
8045 (url "https://github.com/Shinmera/form-fiddle")
8046 (commit commit)))
8047 (file-name (git-file-name name version))
8048 (sha256
8049 (base32
8050 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
8051 (build-system asdf-build-system/sbcl)
8052 (inputs
8053 `(("documentation-utils" ,sbcl-documentation-utils)))
8054 (synopsis "Utilities to destructure Common Lisp lambda forms")
8055 (description
8056 "Often times we need to destructure a form definition in a Common Lisp
8057macro. This library provides a set of simple utilities to help with that.")
8058 (home-page "https://shinmera.github.io/form-fiddle/")
8059 (license license:zlib))))
8060
8061(define-public cl-form-fiddle
8062 (sbcl-package->cl-source-package sbcl-form-fiddle))
e0786d13 8063
e7cbcf5a
GLV
8064(define-public ecl-form-fiddle
8065 (sbcl-package->ecl-package sbcl-form-fiddle))
8066
e0786d13
PN
8067(define-public sbcl-parachute
8068 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
8069 (revision "0"))
8070 (package
8071 (name "sbcl-parachute")
8072 (version (git-version "1.1.1" revision commit))
8073 (source
8074 (origin
8075 (method git-fetch)
8076 (uri
8077 (git-reference
8078 (url "https://github.com/Shinmera/parachute")
8079 (commit commit)))
8080 (file-name (git-file-name name version))
8081 (sha256
8082 (base32
8083 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
8084 (build-system asdf-build-system/sbcl)
8085 (inputs
8086 `(("documentation-utils" ,sbcl-documentation-utils)
8087 ("form-fiddle" ,sbcl-form-fiddle)))
8088 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
8089 (description
8090 "Parachute is a simple-to-use and extensible testing framework.
8091In Parachute, things are organised as a bunch of named tests within a package.
8092Each test can contain a bunch of test forms that make up its body.")
8093 (home-page "https://shinmera.github.io/parachute/")
8094 (license license:zlib))))
8095
8096(define-public cl-parachute
8097 (sbcl-package->cl-source-package sbcl-parachute))
f5b1da68 8098
e7cbcf5a
GLV
8099(define-public ecl-parachute
8100 (sbcl-package->ecl-package sbcl-parachute))
8101
f5b1da68
PN
8102(define-public sbcl-array-utils
8103 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
8104 (revision "0"))
8105 (package
8106 (name "sbcl-array-utils")
8107 (version (git-version "1.1.1" revision commit))
8108 (source
8109 (origin
8110 (method git-fetch)
8111 (uri
8112 (git-reference
8113 (url "https://github.com/Shinmera/array-utils")
8114 (commit commit)))
8115 (file-name (git-file-name name version))
8116 (sha256
8117 (base32
8118 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
8119 (build-system asdf-build-system/sbcl)
8120 (native-inputs
8121 `(("parachute" ,sbcl-parachute)))
8122 (inputs
8123 `(("documentation-utils" ,sbcl-documentation-utils)))
8124 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
8125 (description
8126 "A miniature toolkit that contains some useful shifting/popping/pushing
8127functions for arrays and vectors. Originally from Plump.")
8128 (home-page "https://shinmera.github.io/array-utils/")
8129 (license license:zlib))))
8130
8131(define-public cl-array-utils
8132 (sbcl-package->cl-source-package sbcl-array-utils))
cbda07d4 8133
e7cbcf5a
GLV
8134(define-public ecl-array-utils
8135 (sbcl-package->ecl-package sbcl-array-utils))
8136
cbda07d4 8137(define-public sbcl-plump
ef4a5a85
PN
8138 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
8139 (revision "1"))
cbda07d4
PN
8140 (package
8141 (name "sbcl-plump")
8142 (version (git-version "2.0.0" revision commit))
8143 (source
8144 (origin
8145 (method git-fetch)
8146 (uri
8147 (git-reference
8148 (url "https://github.com/Shinmera/plump")
8149 (commit commit)))
8150 (file-name (git-file-name name version))
8151 (sha256
8152 (base32
ef4a5a85 8153 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
cbda07d4
PN
8154 (build-system asdf-build-system/sbcl)
8155 (inputs
8156 `(("array-utils" ,sbcl-array-utils)
8157 ("documentation-utils" ,sbcl-documentation-utils)))
8158 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
8159 (description
8160 "Plump is a parser for HTML/XML-like documents, focusing on being
8161lenient towards invalid markup. It can handle things like invalid attributes,
8162bad closing tag order, unencoded entities, inexistent tag types, self-closing
8163tags and so on. It parses documents to a class representation and offers a
8164small set of DOM functions to manipulate it. It can be extended to parse to
8165your own classes.")
8166 (home-page "https://shinmera.github.io/plump/")
8167 (license license:zlib))))
8168
8169(define-public cl-plump
8170 (sbcl-package->cl-source-package sbcl-plump))
20972e4e 8171
e7cbcf5a
GLV
8172(define-public ecl-plump
8173 (sbcl-package->ecl-package sbcl-plump))
8174
2ff8b5ba
GLV
8175;;; Split the antik package in two to work around the circular dependency
8176;;; between antik/antik and antik/gsll.
20972e4e
KCB
8177(define-public sbcl-antik-base
8178 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
8179 (revision "1"))
8180 (package
8181 (name "sbcl-antik-base")
8182 (version (git-version "0.0.0" revision commit))
8183 (source
8184 (origin
8185 (method git-fetch)
8186 (uri (git-reference
8187 (url "https://gitlab.common-lisp.net/antik/antik.git")
8188 (commit commit)))
8189 (file-name (git-file-name name version))
8190 (sha256
8191 (base32
8192 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
8193 (build-system asdf-build-system/sbcl)
8194 (inputs
8195 `(("alexandria" ,sbcl-alexandria)
2ff8b5ba 8196 ("cffi" ,sbcl-cffi)
20972e4e 8197 ("cl-ppcre" ,sbcl-cl-ppcre)
2ff8b5ba
GLV
8198 ("drakma" ,sbcl-drakma)
8199 ("fare-utils" ,sbcl-fare-utils)
20972e4e
KCB
8200 ("iterate" ,sbcl-iterate)
8201 ("metabang-bind" ,sbcl-metabang-bind)
8202 ("named-readtables" ,sbcl-named-readtables)
2ff8b5ba
GLV
8203 ("split-sequence" ,sbcl-split-sequence)
8204 ("static-vectors" ,sbcl-static-vectors)
8205 ("trivial-garbage" ,sbcl-trivial-garbage)
8206 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
20972e4e
KCB
8207 (native-inputs
8208 `(("lisp-unit" ,sbcl-lisp-unit)))
2ff8b5ba 8209 (arguments
3f8bbf7c 8210 '(#:asd-systems '("antik-base"
e1dda5dd 8211 "foreign-array")
2ff8b5ba
GLV
8212 #:phases
8213 (modify-phases %standard-phases
8214 (add-after 'unpack 'fix-build
8215 (lambda _
e1dda5dd
GLV
8216 (for-each delete-file
8217 '("antik.asd"
8218 "physical-dimension.asd"
8219 "science-data.asd"))
2ff8b5ba 8220 #t)))))
20972e4e
KCB
8221 (synopsis "Scientific and engineering computation in Common Lisp")
8222 (description
8223 "Antik provides a foundation for scientific and engineering
8224computation in Common Lisp. It is designed not only to facilitate
8225numerical computations, but to permit the use of numerical computation
8226libraries and the interchange of data and procedures, whether
8227foreign (non-Lisp) or Lisp libraries. It is named after the
8228Antikythera mechanism, one of the oldest examples of a scientific
8229computer known.")
8230 (home-page "https://common-lisp.net/project/antik/")
8231 (license license:gpl3))))
8232
d9bdde74
GLV
8233(define-public cl-antik-base
8234 (sbcl-package->cl-source-package sbcl-antik-base))
8235
e1dda5dd
GLV
8236(define-public ecl-antik-base
8237 (let ((pkg (sbcl-package->ecl-package sbcl-antik-base)))
8238 (package
8239 (inherit pkg)
8240 (arguments
8241 (substitute-keyword-arguments (package-arguments pkg)
8242 ((#:phases phases)
8243 `(modify-phases ,phases
8244 (add-after 'unpack 'fix-readtable
8245 (lambda _
8246 (substitute* "input-output/readtable.lisp"
8247 (("#-ccl")
8248 "#-(or ccl ecl)"))
8249 #t)))))))))
8250
064dbb71
KCB
8251(define-public sbcl-gsll
8252 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
8253 (revision "1"))
8254 (package
8255 (name "sbcl-gsll")
8256 (version (git-version "0.0.0" revision commit))
8257 (source
8258 (origin
8259 (method git-fetch)
8260 (uri (git-reference
8261 (url "https://gitlab.common-lisp.net/antik/gsll.git")
8262 (commit commit)))
8263 (file-name (git-file-name name version))
8264 (sha256
8265 (base32
8266 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
8267 (build-system asdf-build-system/sbcl)
8268 (native-inputs
8269 `(("lisp-unit" ,sbcl-lisp-unit)))
8270 (inputs
8271 `(("alexandria" ,sbcl-alexandria)
2ff8b5ba
GLV
8272 ("antik-base" ,sbcl-antik-base)
8273 ("cffi" ,sbcl-cffi)
064dbb71
KCB
8274 ("gsl" ,gsl)
8275 ("metabang-bind" ,sbcl-metabang-bind)
8276 ("trivial-features" ,sbcl-trivial-features)
8277 ("trivial-garbage" ,sbcl-trivial-garbage)))
8278 (arguments
8279 `(#:tests? #f
8280 #:phases
8281 (modify-phases %standard-phases
8282 (add-after 'unpack 'fix-cffi-paths
8283 (lambda* (#:key inputs #:allow-other-keys)
8284 (substitute* "gsll.asd"
8285 ((":depends-on \\(#:foreign-array")
8286 ":depends-on (#:foreign-array #:cffi-libffi"))
8287 (substitute* "init/init.lisp"
8288 (("libgslcblas.so" all)
8289 (string-append
8290 (assoc-ref inputs "gsl") "/lib/" all)))
8291 (substitute* "init/init.lisp"
8292 (("libgsl.so" all)
8293 (string-append
8294 (assoc-ref inputs "gsl") "/lib/" all))))))))
8295 (synopsis "GNU Scientific Library for Lisp")
8296 (description
8297 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
8298GNU Scientific Library (GSL) from Common Lisp. This library provides a
8299full range of common mathematical operations useful to scientific and
8300engineering applications. The design of the GSLL interface is such
8301that access to most of the GSL library is possible in a Lisp-natural
8302way; the intent is that the user not be hampered by the restrictions
8303of the C language in which GSL has been written. GSLL thus provides
8304interactive use of GSL for getting quick answers, even for someone not
8305intending to program in Lisp.")
8306 (home-page "https://common-lisp.net/project/gsll/")
8307 (license license:gpl3))))
8308
8309(define-public cl-gsll
8310 (sbcl-package->cl-source-package sbcl-gsll))
f1faf1ca 8311
e1dda5dd
GLV
8312(define-public ecl-gsll
8313 (sbcl-package->ecl-package sbcl-gsll))
8314
f1faf1ca
KCB
8315(define-public sbcl-antik
8316 (package
8317 (inherit sbcl-antik-base)
8318 (name "sbcl-antik")
8319 (inputs
2ff8b5ba
GLV
8320 `(("antik-base" ,sbcl-antik-base)
8321 ("gsll" ,sbcl-gsll)))
f1faf1ca 8322 (arguments
e1dda5dd
GLV
8323 '(#:asd-systems '("antik"
8324 "science-data")
8325 #:phases
2ff8b5ba
GLV
8326 (modify-phases %standard-phases
8327 (add-after 'unpack 'fix-build
8328 (lambda _
8329 (for-each delete-file
8330 '("antik-base.asd"
e1dda5dd 8331 "foreign-array.asd"))
2ff8b5ba 8332 #t)))))))
f1faf1ca
KCB
8333
8334(define-public cl-antik
8335 (sbcl-package->cl-source-package sbcl-antik))
7b0bb0d1
KCB
8336
8337(define-public sbcl-cl-interpol
875b0bf6 8338 (let ((commit "70a1137f41dd8889004dbab9536b1adeac2497aa")
7b0bb0d1
KCB
8339 (revision "1"))
8340 (package
8341 (name "sbcl-cl-interpol")
875b0bf6 8342 (version (git-version "0.2.7" revision commit))
7b0bb0d1
KCB
8343 (source
8344 (origin
8345 (method git-fetch)
8346 (uri (git-reference
b0e7b699 8347 (url "https://github.com/edicl/cl-interpol")
7b0bb0d1 8348 (commit commit)))
875b0bf6 8349 (file-name (git-file-name "cl-interpol" version))
7b0bb0d1
KCB
8350 (sha256
8351 (base32
875b0bf6 8352 "1kr00zf62m7la7rxa2m5w49r9cyzamc106hvjcc8ffmi7a4jw490"))))
7b0bb0d1
KCB
8353 (build-system asdf-build-system/sbcl)
8354 (inputs
8355 `(("cl-unicode" ,sbcl-cl-unicode)
8356 ("named-readtables" ,sbcl-named-readtables)))
8357 (native-inputs
8358 `(("flexi-streams" ,sbcl-flexi-streams)))
8359 (synopsis "String interpolation for Common Lisp")
8360 (description
8361 "CL-INTERPOL is a library for Common Lisp which modifies the
8362reader so that you can have interpolation within strings similar to
8363Perl or Unix Shell scripts. It also provides various ways to insert
8364arbitrary characters into literal strings even if your editor/IDE
8365doesn't support them.")
8366 (home-page "https://edicl.github.io/cl-interpol/")
8367 (license license:bsd-3))))
8368
8369(define-public cl-interpol
8370 (sbcl-package->cl-source-package sbcl-cl-interpol))
8371
8372(define-public ecl-cl-interpol
8373 (sbcl-package->ecl-package sbcl-cl-interpol))
14ef7a92 8374
2ff8b5ba
GLV
8375(define-public sbcl-symbol-munger
8376 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
14ef7a92
KCB
8377 (revision "1"))
8378 (package
2ff8b5ba 8379 (name "sbcl-symbol-munger")
14ef7a92
KCB
8380 (version (git-version "0.0.1" revision commit))
8381 (source
8382 (origin
8383 (method git-fetch)
8384 (uri (git-reference
b0e7b699 8385 (url "https://github.com/AccelerationNet/symbol-munger")
14ef7a92
KCB
8386 (commit commit)))
8387 (file-name (git-file-name name version))
8388 (sha256
8389 (base32
2ff8b5ba 8390 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
14ef7a92 8391 (build-system asdf-build-system/sbcl)
14ef7a92 8392 (inputs
2ff8b5ba
GLV
8393 `(("alexandria" ,sbcl-alexandria)
8394 ("iterate" ,sbcl-iterate)))
8395 (arguments
8396 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8397 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8398 '(#:tests? #f))
14ef7a92
KCB
8399 (synopsis
8400 "Capitalization and spacing conversion functions for Common Lisp")
8401 (description
8402 "This is a Common Lisp library to change the capitalization and spacing
8403of a string or a symbol. It can convert to and from Lisp, english, underscore
8404and camel-case rules.")
8405 (home-page "https://github.com/AccelerationNet/symbol-munger")
8406 ;; The package declares a BSD license, but all of the license
8407 ;; text is MIT.
8408 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8409 (license license:expat))))
8410
2ff8b5ba
GLV
8411(define-public cl-symbol-munger
8412 (sbcl-package->cl-source-package sbcl-symbol-munger))
8413
8414(define-public ecl-symbol-munger
8415 (sbcl-package->ecl-package sbcl-symbol-munger))
8416
8417(define-public sbcl-lisp-unit2
14ef7a92
KCB
8418 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8419 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8420 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
8421 (revision "1"))
8422 (package
2ff8b5ba 8423 (name "sbcl-lisp-unit2")
14ef7a92
KCB
8424 (version (git-version "0.2.0" revision commit))
8425 (source
8426 (origin
8427 (method git-fetch)
8428 (uri (git-reference
b0e7b699 8429 (url "https://github.com/AccelerationNet/lisp-unit2")
14ef7a92
KCB
8430 (commit commit)))
8431 (file-name (git-file-name name version))
8432 (sha256
8433 (base32
8434 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
8435 (build-system asdf-build-system/sbcl)
14ef7a92
KCB
8436 (inputs
8437 `(("alexandria" ,sbcl-alexandria)
8438 ("cl-interpol" ,sbcl-cl-interpol)
8439 ("iterate" ,sbcl-iterate)
2ff8b5ba 8440 ("symbol-munger" ,sbcl-symbol-munger)))
14ef7a92
KCB
8441 (synopsis "Test Framework for Common Lisp")
8442 (description
8443 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
8444style of JUnit for Java. It is a new version of the lisp-unit library written
8445by Chris Riesbeck.")
8446 (home-page "https://github.com/AccelerationNet/lisp-unit2")
8447 (license license:expat))))
edfa2261 8448
b97dbb64
KCB
8449(define-public cl-lisp-unit2
8450 (sbcl-package->cl-source-package sbcl-lisp-unit2))
8451
8452(define-public ecl-lisp-unit2
8453 (sbcl-package->ecl-package sbcl-lisp-unit2))
f4448e43
KCB
8454
8455(define-public sbcl-cl-csv
be0ebf33
PN
8456 (let ((commit "68ecb5d816545677513d7f6308d9e5e8d2265651")
8457 (revision "2"))
f4448e43
KCB
8458 (package
8459 (name "sbcl-cl-csv")
8460 (version (git-version "1.0.6" revision commit))
8461 (source
8462 (origin
8463 (method git-fetch)
8464 (uri (git-reference
b0e7b699 8465 (url "https://github.com/AccelerationNet/cl-csv")
f4448e43
KCB
8466 (commit commit)))
8467 (file-name (git-file-name name version))
8468 (sha256
8469 (base32
be0ebf33 8470 "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x"))))
f4448e43
KCB
8471 (build-system asdf-build-system/sbcl)
8472 (arguments
8473 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8474 `(#:tests? #f))
8475 (inputs
8476 `(("alexandria" ,sbcl-alexandria)
8477 ("cl-interpol" ,sbcl-cl-interpol)
8478 ("iterate" ,sbcl-iterate)))
8479 (native-inputs
8480 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8481 (synopsis "Common lisp library for comma-separated values")
8482 (description
8483 "This is a Common Lisp library providing functions to read/write CSV
8484from/to strings, streams and files.")
8485 (home-page "https://github.com/AccelerationNet/cl-csv")
8486 (license license:bsd-3))))
8487
8488(define-public cl-csv
8489 (sbcl-package->cl-source-package sbcl-cl-csv))
8490
8491(define-public ecl-cl-csv
8492 (sbcl-package->ecl-package sbcl-cl-csv))
6f0c2c95
KCB
8493
8494(define-public sbcl-external-program
8495 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8496 (revision "1"))
8497 (package
8498 (name "sbcl-external-program")
8499 (version (git-version "0.0.6" revision commit))
8500 (source
8501 (origin
8502 (method git-fetch)
8503 (uri (git-reference
b0e7b699 8504 (url "https://github.com/sellout/external-program")
6f0c2c95
KCB
8505 (commit commit)))
8506 (file-name (git-file-name name version))
8507 (sha256
8508 (base32
8509 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8510 (build-system asdf-build-system/sbcl)
8511 (inputs
8512 `(("trivial-features" ,sbcl-trivial-features)))
8513 (native-inputs
8514 `(("fiveam" ,sbcl-fiveam)))
8515 (synopsis "Common Lisp library for running external programs")
8516 (description
8517 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8518process. It is an attempt to make the RUN-PROGRAM functionality in
8519implementations like SBCL and CCL as portable as possible without
8520sacrificing much in the way of power.")
8521 (home-page "https://github.com/sellout/external-program")
8522 (license license:llgpl))))
8523
8524(define-public cl-external-program
8525 (sbcl-package->cl-source-package sbcl-external-program))
8526
8527(define-public ecl-external-program
8528 (sbcl-package->ecl-package sbcl-external-program))
710a2815 8529
2ff8b5ba 8530(define-public sbcl-cl-ana
710a2815
KCB
8531 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8532 (revision "1"))
8533 (package
2ff8b5ba 8534 (name "sbcl-cl-ana")
710a2815
KCB
8535 (version (git-version "0.0.0" revision commit))
8536 (source
8537 (origin
8538 (method git-fetch)
8539 (uri (git-reference
b0e7b699 8540 (url "https://github.com/ghollisjr/cl-ana")
710a2815
KCB
8541 (commit commit)))
8542 (file-name (git-file-name name version))
8543 (sha256
2ff8b5ba 8544 (base32 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
710a2815 8545 (build-system asdf-build-system/sbcl)
2ff8b5ba
GLV
8546 (native-inputs
8547 `(("cl-fad" ,sbcl-cl-fad)))
8548 (inputs
8549 `(("alexandria" ,sbcl-alexandria)
8550 ("antik" ,sbcl-antik)
8551 ("cffi" ,sbcl-cffi)
8552 ("cl-csv" ,sbcl-cl-csv)
8553 ("closer-mop" ,sbcl-closer-mop)
8554 ("external-program" ,sbcl-external-program)
8555 ("gsl" ,gsl)
8556 ("gsll" ,sbcl-gsll)
8557 ("hdf5" ,hdf5-parallel-openmpi)
8558 ("iterate" ,sbcl-iterate)
8559 ("libffi" ,libffi)
8560 ("split-sequence" ,sbcl-split-sequence)))
8561 (arguments
e765d9c9 8562 `(#:phases
2ff8b5ba
GLV
8563 (modify-phases %standard-phases
8564 (add-after 'unpack 'fix-paths
8565 (lambda* (#:key inputs #:allow-other-keys)
8566 (substitute* "hdf-cffi/hdf-cffi.lisp"
8567 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8568 (string-append (assoc-ref inputs "hdf5")
8569 "/lib/libhdf5.so")))
8570 (substitute* "gsl-cffi/gsl-cffi.lisp"
8571 (("define-foreign-library gsl-cffi" all)
8572 (string-append all " (:unix "
8573 (assoc-ref inputs "gsl")
8574 "/lib/libgsl.so)")))
8575 #t)))))
710a2815
KCB
8576 (synopsis "Common Lisp data analysis library")
8577 (description
8578 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8579binned data analysis along with nonlinear least squares fitting and
8580visualization.")
8581 (home-page "https://github.com/ghollisjr/cl-ana")
8582 (license license:gpl3))))
8583
2ff8b5ba
GLV
8584(define-public cl-ana
8585 (sbcl-package->cl-source-package sbcl-cl-ana))
6d69c5b4 8586
2ff8b5ba
GLV
8587(define-public sbcl-archive
8588 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
8589 (revision "1"))
8590 (package
8591 (name "sbcl-archive")
8592 (version (git-version "0.9" revision commit))
8593 (source (origin
8594 (method git-fetch)
8595 (uri (git-reference
8596 (url "https://github.com/sharplispers/archive")
8597 (commit commit)))
8598 (file-name (git-file-name name version))
8599 (sha256
8600 (base32
8601 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
8602 (build-system asdf-build-system/sbcl)
8603 (inputs
8604 `(("cl-fad" ,sbcl-cl-fad)
8605 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
8606 (synopsis "Common Lisp library for tar and cpio archives")
8607 (description
8608 "This is a Common Lisp library to read and write disk-based file
8609archives such as those generated by the tar and cpio programs on Unix.")
8610 (home-page "https://github.com/sharplispers/archive")
8611 (license license:bsd-3))))
39ba698b 8612
2ff8b5ba
GLV
8613(define-public cl-archive
8614 (sbcl-package->cl-source-package sbcl-archive))
39ba698b 8615
2ff8b5ba
GLV
8616(define-public ecl-archive
8617 (sbcl-package->ecl-package sbcl-archive))
39ba698b 8618
2ff8b5ba
GLV
8619(define-public sbcl-misc-extensions
8620 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
8621 (revision "1"))
8622 (package
8623 (name "sbcl-misc-extensions")
8624 (version (git-version "3.3" revision commit))
8625 (source
8626 (origin
8627 (method git-fetch)
8628 (uri (git-reference
8629 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
8630 (commit commit)))
8631 (file-name (git-file-name name version))
8632 (sha256
8633 (base32
8634 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
8635 (build-system asdf-build-system/sbcl)
8636 (synopsis "Collection of small macros and extensions for Common Lisp")
8637 (description
8638 "This project is intended as a catchall for small, general-purpose
8639extensions to Common Lisp. It contains:
ad09a96a 8640
2ff8b5ba
GLV
8641@itemize
8642@item @code{new-let}, a macro that combines and generalizes @code{let},
8643@code{let*} and @code{multiple-value-bind},
8644@item @code{gmap}, an iteration macro that generalizes @code{map}.
8645@end itemize\n")
8646 (home-page "https://common-lisp.net/project/misc-extensions/")
8647 (license license:public-domain))))
ad09a96a 8648
2ff8b5ba
GLV
8649(define-public cl-misc-extensions
8650 (sbcl-package->cl-source-package sbcl-misc-extensions))
ad09a96a 8651
2ff8b5ba
GLV
8652(define-public ecl-misc-extensions
8653 (sbcl-package->ecl-package sbcl-misc-extensions))
141d96e1 8654
2ff8b5ba 8655(define-public sbcl-mt19937
141d96e1 8656 (package
2ff8b5ba
GLV
8657 (name "sbcl-mt19937")
8658 (version "1.1")
8659 (source
8660 (origin
8661 (method url-fetch)
8662 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
8663 "mt19937-latest.tar.gz"))
8664 (sha256
8665 (base32
8666 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
8667 (build-system asdf-build-system/sbcl)
8668 (synopsis "Mersenne Twister pseudo-random number generator")
8669 (description
8670 "MT19937 is a portable Mersenne Twister pseudo-random number generator
8671for Common Lisp.")
8672 (home-page "https://www.cliki.net/mt19937")
8673 (license license:public-domain)))
141d96e1 8674
2ff8b5ba
GLV
8675(define-public cl-mt19937
8676 (sbcl-package->cl-source-package sbcl-mt19937))
141d96e1 8677
2ff8b5ba
GLV
8678(define-public ecl-mt19937
8679 (sbcl-package->ecl-package sbcl-mt19937))
7468ca3c 8680
2ff8b5ba
GLV
8681(define-public sbcl-fset
8682 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
8683 (revision "1"))
8684 (package
8685 (name "sbcl-fset")
8686 (version (git-version "1.3.2" revision commit))
8687 (source
8688 (origin
8689 (method git-fetch)
8690 (uri (git-reference
8691 (url "https://github.com/slburson/fset")
8692 (commit commit)))
8693 (file-name (git-file-name name version))
8694 (sha256
8695 (base32
8696 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
8697 (snippet '(begin
8698 ;; Remove obsolete copy of system definition.
8699 (delete-file "Code/fset.asd")
8700 #t))))
8701 (build-system asdf-build-system/sbcl)
8702 (inputs
8703 `(("misc-extensions" ,sbcl-misc-extensions)
8704 ("mt19937" ,sbcl-mt19937)
8705 ("named-readtables" ,sbcl-named-readtables)))
8706 (synopsis "Functional set-theoretic collections library")
8707 (description
8708 "FSet is a functional set-theoretic collections library for Common Lisp.
8709Functional means that all update operations return a new collection rather than
8710modifying an existing one in place. Set-theoretic means that collections may
8711be nested arbitrarily with no additional programmer effort; for instance, sets
8712may contain sets, maps may be keyed by sets, etc.")
8713 (home-page "https://common-lisp.net/project/fset/Site/index.html")
8714 (license license:llgpl))))
7468ca3c 8715
2ff8b5ba
GLV
8716(define-public cl-fset
8717 (sbcl-package->cl-source-package sbcl-fset))
7468ca3c 8718
bdd3b1b2
GLV
8719(define-public ecl-fset
8720 (package
8721 (inherit (sbcl-package->ecl-package sbcl-fset))
8722 (arguments
8723 ;; Tests fails on ECL with "The function FSET::MAKE-CHAR is undefined".
8724 '(#:tests? #f))))
8725
2ff8b5ba
GLV
8726(define-public sbcl-cl-cont
8727 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
8728 (revision "1"))
8729 (package
8730 (name "sbcl-cl-cont")
8731 (version (git-version "0.3.8" revision commit))
8732 (source
8733 (origin
8734 (method git-fetch)
8735 (uri (git-reference
8736 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
8737 (commit commit)))
8738 (file-name (git-file-name name version))
8739 (sha256
8740 (base32
8741 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
8742 (build-system asdf-build-system/sbcl)
8743 (inputs
8744 `(("alexandria" ,sbcl-alexandria)
8745 ("closer-mop" ,sbcl-closer-mop)))
8746 (native-inputs
8747 `(("rt" ,sbcl-rt)))
8748 (synopsis "Delimited continuations for Common Lisp")
8749 (description
8750 "This is a library that implements delimited continuations by
8751transforming Common Lisp code to continuation passing style.")
8752 (home-page "https://common-lisp.net/project/cl-cont/")
8753 (license license:llgpl))))
f69f0235 8754
2ff8b5ba
GLV
8755(define-public cl-cont
8756 (sbcl-package->cl-source-package sbcl-cl-cont))
f69f0235 8757
2ff8b5ba
GLV
8758(define-public ecl-cl-cont
8759 (sbcl-package->ecl-package sbcl-cl-cont))
4101c714
GLV
8760
8761(define-public sbcl-cl-coroutine
8762 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
8763 (revision "1"))
8764 (package
8765 (name "sbcl-cl-coroutine")
8766 (version (git-version "0.1" revision commit))
8767 (source
8768 (origin
8769 (method git-fetch)
8770 (uri (git-reference
b0e7b699 8771 (url "https://github.com/takagi/cl-coroutine")
4101c714
GLV
8772 (commit commit)))
8773 (file-name (git-file-name name version))
8774 (sha256
8775 (base32
8776 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
8777 (build-system asdf-build-system/sbcl)
8778 (inputs
8779 `(("alexandria" ,sbcl-alexandria)
8780 ("cl-cont" ,sbcl-cl-cont)))
8781 (native-inputs
8782 `(("prove" ,sbcl-prove)))
8783 (arguments
8784 `(;; TODO: Fix the tests. They fail with:
8785 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
8786 #:tests? #f
8787 #:phases
8788 (modify-phases %standard-phases
8789 (add-after 'unpack 'fix-tests
8790 (lambda _
8791 (substitute* "cl-coroutine-test.asd"
8792 (("cl-test-more")
8793 "prove"))
8794 #t)))))
8795 (synopsis "Coroutine library for Common Lisp")
8796 (description
8797 "This is a coroutine library for Common Lisp implemented using the
8798continuations of the @code{cl-cont} library.")
8799 (home-page "https://github.com/takagi/cl-coroutine")
8800 (license license:llgpl))))
8801
8802(define-public cl-coroutine
8803 (sbcl-package->cl-source-package sbcl-cl-coroutine))
8804
8805(define-public ecl-cl-coroutine
8806 (sbcl-package->ecl-package sbcl-cl-coroutine))
5b8bc813 8807
4b1e0f30
SH
8808(define-public sbcl-vas-string-metrics
8809 (let ((commit "f2e4500b180316123fbd549bd51c751ee2d6ba0f")
8810 (revision "1"))
8811 (package
8812 (name "sbcl-vas-string-metrics")
8813 (version (git-version "0.0.0" revision commit))
8814 (source
8815 (origin
8816 (method git-fetch)
8817 (uri (git-reference
8818 (url "https://github.com/vsedach/vas-string-metrics")
8819 (commit commit)))
8820 (file-name (git-file-name "vas-string-metrics" version))
8821 (sha256
8822 (base32 "11fcnd03ybzz37rkg3z0wsb727yqgcd9gn70sccfb34l89ia279k"))))
8823 (build-system asdf-build-system/sbcl)
8824 (arguments
8825 `(#:test-asd-file "test.vas-string-metrics.asd"))
8826 (home-page "https://github.com/vsedach/vas-string-metrics")
8827 (synopsis "String distance algorithms for Common Lisp")
8828 (description
8829 "VAS-STRING-METRICS provides the Jaro, Jaro-Winkler, Soerensen-Dice,
8830Levenshtein, and normalized Levenshtein string distance/similarity metrics
8831algorithms.")
8832 (license license:lgpl3+))))
8833
8834(define-public ecl-vas-string-metrics
8835 (sbcl-package->ecl-package sbcl-vas-string-metrics))
8836
8837(define-public cl-vas-string-metrics
8838 (sbcl-package->cl-source-package sbcl-vas-string-metrics))
8839
5b8bc813
GLV
8840(define-public sbcl-vom
8841 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
8842 (revision "1"))
8843 (package
8844 (name "sbcl-vom")
8845 (version (git-version "0.1.4" revision commit))
8846 (source
8847 (origin
8848 (method git-fetch)
8849 (uri (git-reference
b0e7b699 8850 (url "https://github.com/orthecreedence/vom")
5b8bc813
GLV
8851 (commit commit)))
8852 (file-name (git-file-name name version))
8853 (sha256
8854 (base32
8855 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
8856 (build-system asdf-build-system/sbcl)
8857 (synopsis "Tiny logging utility for Common Lisp")
8858 (description
8859 "Vom is a logging library for Common Lisp. It's goal is to be useful
8860and small. It does not provide a lot of features as other loggers do, but
8861has a small codebase that's easy to understand and use.")
8862 (home-page "https://github.com/orthecreedence/vom")
8863 (license license:expat))))
8864
8865(define-public cl-vom
8866 (sbcl-package->cl-source-package sbcl-vom))
8867
8868(define-public ecl-vom
8869 (sbcl-package->ecl-package sbcl-vom))
37b48dc1
GLV
8870
8871(define-public sbcl-cl-libuv
8872 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
8873 (revision "1"))
8874 (package
8875 (name "sbcl-cl-libuv")
8876 (version (git-version "0.1.6" revision commit))
8877 (source
8878 (origin
8879 (method git-fetch)
8880 (uri (git-reference
b0e7b699 8881 (url "https://github.com/orthecreedence/cl-libuv")
37b48dc1
GLV
8882 (commit commit)))
8883 (file-name (git-file-name name version))
8884 (sha256
8885 (base32
8886 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
8887 (build-system asdf-build-system/sbcl)
8888 (inputs
8889 `(("alexandria" ,sbcl-alexandria)
8890 ("cffi" ,sbcl-cffi)
37b48dc1
GLV
8891 ("libuv" ,libuv)))
8892 (arguments
8893 `(#:phases
8894 (modify-phases %standard-phases
8895 (add-after 'unpack 'fix-paths
8896 (lambda* (#:key inputs #:allow-other-keys)
8897 (substitute* "lib.lisp"
8898 (("/usr/lib/libuv.so")
8899 (string-append (assoc-ref inputs "libuv")
8900 "/lib/libuv.so")))
8901 #t))
8902 (add-after 'fix-paths 'fix-system-definition
8903 (lambda _
8904 (substitute* "cl-libuv.asd"
8905 (("#:cffi #:alexandria")
8906 "#:cffi #:cffi-grovel #:alexandria"))
8907 #t)))))
8908 (synopsis "Common Lisp bindings to libuv")
8909 (description
8910 "This library provides low-level libuv bindings for Common Lisp.")
8911 (home-page "https://github.com/orthecreedence/cl-libuv")
8912 (license license:expat))))
8913
8914(define-public cl-libuv
8915 (sbcl-package->cl-source-package sbcl-cl-libuv))
8916
8917(define-public ecl-cl-libuv
8918 (sbcl-package->ecl-package sbcl-cl-libuv))
1cc1dfbb 8919
2ff8b5ba 8920(define-public sbcl-cl-async
1cc1dfbb
GLV
8921 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
8922 (revision "1"))
8923 (package
2ff8b5ba 8924 (name "sbcl-cl-async")
1cc1dfbb
GLV
8925 (version (git-version "0.6.1" revision commit))
8926 (source
8927 (origin
8928 (method git-fetch)
8929 (uri (git-reference
b0e7b699 8930 (url "https://github.com/orthecreedence/cl-async")
1cc1dfbb
GLV
8931 (commit commit)))
8932 (file-name (git-file-name name version))
8933 (sha256
8934 (base32
8935 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
8936 (build-system asdf-build-system/sbcl)
8937 (inputs
2ff8b5ba
GLV
8938 `(("babel" ,sbcl-babel)
8939 ("bordeaux-threads" ,sbcl-bordeaux-threads)
1cc1dfbb 8940 ("cffi" ,sbcl-cffi)
2ff8b5ba
GLV
8941 ("cl-libuv" ,sbcl-cl-libuv)
8942 ("cl-ppcre" ,sbcl-cl-ppcre)
8943 ("fast-io" ,sbcl-fast-io)
8944 ("openssl" ,openssl)
8945 ("static-vectors" ,sbcl-static-vectors)
8946 ("trivial-features" ,sbcl-trivial-features)
8947 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
8948 ("vom" ,sbcl-vom)))
1cc1dfbb 8949 (arguments
3f8bbf7c 8950 `(#:asd-systems '("cl-async"
2ff8b5ba
GLV
8951 "cl-async-repl"
8952 "cl-async-ssl")
8953 #:phases
8954 (modify-phases %standard-phases
ae51aa91
GLV
8955 (add-after 'unpack 'fix-paths
8956 (lambda* (#:key inputs #:allow-other-keys)
8957 (substitute* "src/ssl/package.lisp"
8958 (("libcrypto\\.so")
8959 (string-append (assoc-ref inputs "openssl")
8960 "/lib/libcrypto.so"))
8961 (("libssl\\.so")
8962 (string-append (assoc-ref inputs "openssl")
8963 "/lib/libssl.so")))
2ff8b5ba
GLV
8964 #t)))))
8965 (synopsis "Asynchronous operations for Common Lisp")
8966 (description
8967 "Cl-async is a library for general purpose, non-blocking programming in
8968Common Lisp. It uses the libuv library as backend.")
8969 (home-page "https://orthecreedence.github.io/cl-async/")
8970 (license license:expat))))
ae51aa91 8971
2ff8b5ba
GLV
8972(define-public cl-async
8973 (sbcl-package->cl-source-package sbcl-cl-async))
ae51aa91 8974
2ff8b5ba
GLV
8975(define-public ecl-cl-async
8976 (sbcl-package->ecl-package sbcl-cl-async))
34f9b581
GLV
8977
8978(define-public sbcl-blackbird
8979 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
8980 (revision "1"))
8981 (package
8982 (name "sbcl-blackbird")
8983 (version (git-version "0.5.2" revision commit))
8984 (source
8985 (origin
8986 (method git-fetch)
8987 (uri (git-reference
b0e7b699 8988 (url "https://github.com/orthecreedence/blackbird")
34f9b581
GLV
8989 (commit commit)))
8990 (file-name (git-file-name name version))
8991 (sha256
8992 (base32
8993 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
8994 (build-system asdf-build-system/sbcl)
8995 (inputs
8996 `(("vom" ,sbcl-vom)))
8997 (native-inputs
8998 `(("cl-async" ,sbcl-cl-async)
8999 ("fiveam" ,sbcl-fiveam)))
9000 (synopsis "Promise implementation for Common Lisp")
9001 (description
9002 "This is a standalone promise implementation for Common Lisp. It is
9003the successor to the now-deprecated cl-async-future project.")
e0318062 9004 (home-page "https://orthecreedence.github.io/blackbird/")
34f9b581
GLV
9005 (license license:expat))))
9006
9007(define-public cl-blackbird
9008 (sbcl-package->cl-source-package sbcl-blackbird))
9009
9010(define-public ecl-blackbird
9011 (sbcl-package->ecl-package sbcl-blackbird))
c5eedf80
GLV
9012
9013(define-public sbcl-cl-async-future
9014 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
9015 (revision "1"))
9016 (package
9017 (name "sbcl-cl-async-future")
9018 (version (git-version "0.4.4.1" revision commit))
9019 (source
9020 (origin
9021 (method git-fetch)
9022 (uri (git-reference
b0e7b699 9023 (url "https://github.com/orthecreedence/cl-async-future")
c5eedf80
GLV
9024 (commit commit)))
9025 (file-name (git-file-name name version))
9026 (sha256
9027 (base32
9028 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
9029 (build-system asdf-build-system/sbcl)
9030 (inputs
9031 `(("blackbird" ,sbcl-blackbird)))
9032 (native-inputs
9033 `(("cl-async" ,sbcl-cl-async)
9034 ("eos" ,sbcl-eos)))
9035 (synopsis "Futures implementation for Common Lisp")
9036 (description
9037 "This is futures implementation for Common Lisp. It plugs in nicely
9038to cl-async.")
e0318062 9039 (home-page "https://orthecreedence.github.io/cl-async/future")
c5eedf80
GLV
9040 (license license:expat))))
9041
9042(define-public cl-async-future
9043 (sbcl-package->cl-source-package sbcl-cl-async-future))
9044
9045(define-public ecl-cl-async-future
9046 (sbcl-package->ecl-package sbcl-cl-async-future))
8ea00edf
GLV
9047
9048(define-public sbcl-green-threads
9049 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
9050 (revision "1"))
9051 (package
9052 (name "sbcl-green-threads")
9053 (version (git-version "0.3" revision commit))
9054 (source
9055 (origin
9056 (method git-fetch)
9057 (uri (git-reference
b0e7b699 9058 (url "https://github.com/thezerobit/green-threads")
8ea00edf
GLV
9059 (commit commit)))
9060 (file-name (git-file-name name version))
9061 (sha256
9062 (base32
9063 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
9064 (build-system asdf-build-system/sbcl)
9065 (inputs
9066 `(("cl-async-future" ,sbcl-cl-async-future)
9067 ("cl-cont" ,sbcl-cl-cont)))
9068 (native-inputs
9069 `(("prove" ,sbcl-prove)))
9070 (arguments
9071 `(;; TODO: Fix the tests. They fail with:
9072 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
9073 #:tests? #f
9074 #:phases
9075 (modify-phases %standard-phases
9076 (add-after 'unpack 'fix-tests
9077 (lambda _
9078 (substitute* "green-threads-test.asd"
9079 (("cl-test-more")
9080 "prove"))
9081 #t)))))
9082 (synopsis "Cooperative multitasking library for Common Lisp")
9083 (description
9084 "This library allows for cooperative multitasking with help of cl-cont
9085for continuations. It tries to mimic the API of bordeaux-threads as much as
9086possible.")
9087 (home-page "https://github.com/thezerobit/green-threads")
9088 (license license:bsd-3))))
9089
9090(define-public cl-green-threads
9091 (sbcl-package->cl-source-package sbcl-green-threads))
9092
9093(define-public ecl-green-threads
9094 (sbcl-package->ecl-package sbcl-green-threads))
3ac0e64d
GLV
9095
9096(define-public sbcl-cl-base32
9097 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
9098 (revision "1"))
9099 (package
9100 (name "sbcl-cl-base32")
9101 (version (git-version "0.1" revision commit))
9102 (source
9103 (origin
9104 (method git-fetch)
9105 (uri (git-reference
b0e7b699 9106 (url "https://github.com/hargettp/cl-base32")
3ac0e64d
GLV
9107 (commit commit)))
9108 (file-name (git-file-name name version))
9109 (sha256
9110 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
9111 (build-system asdf-build-system/sbcl)
9112 (native-inputs
9113 `(("lisp-unit" ,sbcl-lisp-unit)))
9114 (synopsis "Common Lisp library for base32 encoding and decoding")
9115 (description
9116 "This package provides functions for base32 encoding and decoding as
9117defined in RFC4648.")
9118 (home-page "https://github.com/hargettp/cl-base32")
9119 (license license:expat))))
9120
9121(define-public cl-base32
9122 (sbcl-package->cl-source-package sbcl-cl-base32))
9123
9124(define-public ecl-cl-base32
9125 (sbcl-package->ecl-package sbcl-cl-base32))
c5bbcb82
GLV
9126
9127(define-public sbcl-cl-z85
9128 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
9129 (revision "1"))
9130 (package
9131 (name "sbcl-cl-z85")
9132 (version (git-version "1.0" revision commit))
9133 (source
9134 (origin
9135 (method git-fetch)
9136 (uri (git-reference
b0e7b699 9137 (url "https://github.com/glv2/cl-z85")
c5bbcb82
GLV
9138 (commit commit)))
9139 (file-name (git-file-name name version))
9140 (sha256
9141 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
9142 (build-system asdf-build-system/sbcl)
9143 (native-inputs
9144 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
9145 ("fiveam" ,sbcl-fiveam)))
9146 (synopsis "Common Lisp library for Z85 encoding and decoding")
9147 (description
9148 "This package provides functions to encode or decode byte vectors or
9149byte streams using the Z85 format, which is a base-85 encoding used by
9150ZeroMQ.")
9151 (home-page "https://github.com/glv2/cl-z85")
9152 (license license:gpl3+))))
9153
9154(define-public cl-z85
9155 (sbcl-package->cl-source-package sbcl-cl-z85))
9156
9157(define-public ecl-cl-z85
9158 (sbcl-package->ecl-package sbcl-cl-z85))
d3a2df68
GLV
9159
9160(define-public sbcl-ltk
9161 (package
9162 (name "sbcl-ltk")
9163 (version "0.992")
9164 (source
9165 (origin
9166 (method git-fetch)
9167 (uri (git-reference
b0e7b699 9168 (url "https://github.com/herth/ltk")
d3a2df68
GLV
9169 (commit version)))
9170 (file-name (git-file-name name version))
9171 (sha256
9172 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
9173 (build-system asdf-build-system/sbcl)
9174 (inputs
9175 `(("imagemagick" ,imagemagick)
9176 ("tk" ,tk)))
9177 (arguments
3f8bbf7c 9178 `(#:asd-systems '("ltk"
2ff8b5ba
GLV
9179 "ltk-mw"
9180 "ltk-remote")
d3a2df68 9181 #:tests? #f
2ff8b5ba
GLV
9182 #:phases
9183 (modify-phases %standard-phases
9184 (add-after 'unpack 'fix-paths
9185 (lambda* (#:key inputs #:allow-other-keys)
9186 (substitute* "ltk/ltk.lisp"
9187 (("#-freebsd \"wish\"")
9188 (string-append "#-freebsd \""
9189 (assoc-ref inputs "tk")
9190 "/bin/wish\""))
9191 (("do-execute \"convert\"")
9192 (string-append "do-execute \""
9193 (assoc-ref inputs "imagemagick")
9194 "/bin/convert\"")))
9195 #t))
9196 (add-after 'unpack 'fix-build
9197 (lambda _
9198 (substitute* "ltk/ltk-remote.lisp"
9199 (("\\(:export")
9200 "(:shadow #:raise) (:export"))
9201 #t)))))
d3a2df68
GLV
9202 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9203 (description
9204 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
9205in pure Common Lisp and does not require any Tk knowledge for its usage.")
9206 (home-page "http://www.peter-herth.de/ltk/")
9207 (license license:llgpl)))
9208
9209(define-public cl-ltk
9210 (sbcl-package->cl-source-package sbcl-ltk))
9211
9212(define-public ecl-ltk
9213 (sbcl-package->ecl-package sbcl-ltk))
811747f9 9214
95abaafb
GLV
9215(define-public sbcl-cl-lex
9216 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
9217 (revision "1"))
9218 (package
9219 (name "sbcl-cl-lex")
9220 (version (git-version "1.1.3" revision commit))
9221 (source
9222 (origin
9223 (method git-fetch)
9224 (uri (git-reference
b0e7b699 9225 (url "https://github.com/djr7C4/cl-lex")
95abaafb
GLV
9226 (commit commit)))
9227 (file-name (git-file-name name version))
9228 (sha256
9229 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
9230 (build-system asdf-build-system/sbcl)
9231 (inputs
9232 `(("cl-ppcre" ,sbcl-cl-ppcre)))
9233 (synopsis "Common Lisp macros for generating lexical analyzers")
9234 (description
9235 "This is a Common Lisp library providing a set of macros for generating
9236lexical analyzers automatically. The lexers generated using @code{cl-lex} can
9237be used with @code{cl-yacc}.")
9238 (home-page "https://github.com/djr7C4/cl-lex")
9239 (license license:gpl3))))
9240
9241(define-public cl-lex
9242 (sbcl-package->cl-source-package sbcl-cl-lex))
9243
9244(define-public ecl-cl-lex
9245 (sbcl-package->ecl-package sbcl-cl-lex))
21a519fa
GLV
9246
9247(define-public sbcl-clunit2
9248 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
9249 (revision "1"))
9250 (package
9251 (name "sbcl-clunit2")
9252 (version (git-version "0.2.4" revision commit))
9253 (source
9254 (origin
9255 (method git-fetch)
9256 (uri (git-reference
9257 (url "https://notabug.org/cage/clunit2.git")
9258 (commit commit)))
9259 (file-name (git-file-name name version))
9260 (sha256
9261 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
9262 (build-system asdf-build-system/sbcl)
9263 (synopsis "Unit testing framework for Common Lisp")
9264 (description
9265 "CLUnit is a Common Lisp unit testing framework. It is designed to be
9266easy to use so that you can quickly start testing.")
9267 (home-page "https://notabug.org/cage/clunit2")
9268 (license license:expat))))
9269
9270(define-public cl-clunit2
9271 (sbcl-package->cl-source-package sbcl-clunit2))
9272
9273(define-public ecl-clunit2
9274 (sbcl-package->ecl-package sbcl-clunit2))
e9a36a74
GLV
9275
9276(define-public sbcl-cl-colors2
9277 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
9278 (revision "1"))
9279 (package
9280 (name "sbcl-cl-colors2")
9281 (version (git-version "0.2.1" revision commit))
9282 (source
9283 (origin
9284 (method git-fetch)
9285 (uri (git-reference
9286 (url "https://notabug.org/cage/cl-colors2.git")
9287 (commit commit)))
9288 (file-name (git-file-name name version))
9289 (sha256
9290 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
9291 (build-system asdf-build-system/sbcl)
9292 (native-inputs
9293 `(("clunit2" ,sbcl-clunit2)))
9294 (inputs
9295 `(("alexandria" ,sbcl-alexandria)
9296 ("cl-ppcre" ,sbcl-cl-ppcre)))
9297 (synopsis "Color library for Common Lisp")
9298 (description
9299 "This is a very simple color library for Common Lisp, providing:
9300
9301@itemize
9302@item Types for representing colors in HSV and RGB spaces.
9303@item Simple conversion functions between the above types (and also
9304hexadecimal representation for RGB).
9305@item Some predefined colors (currently X11 color names -- of course
9306the library does not depend on X11).
9307@end itemize\n")
9308 (home-page "https://notabug.org/cage/cl-colors2")
9309 (license license:boost1.0))))
9310
9311(define-public cl-colors2
9312 (sbcl-package->cl-source-package sbcl-cl-colors2))
9313
9314(define-public ecl-cl-colors2
9315 (sbcl-package->ecl-package sbcl-cl-colors2))
d5f63a73
GLV
9316
9317(define-public sbcl-cl-jpeg
9318 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
9319 (revision "1"))
9320 (package
9321 (name "sbcl-cl-jpeg")
9322 (version (git-version "2.8" revision commit))
9323 (source
9324 (origin
9325 (method git-fetch)
9326 (uri (git-reference
b0e7b699 9327 (url "https://github.com/sharplispers/cl-jpeg")
d5f63a73
GLV
9328 (commit commit)))
9329 (file-name (git-file-name name version))
9330 (sha256
9331 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
9332 (build-system asdf-build-system/sbcl)
9333 (synopsis "JPEG image library for Common Lisp")
9334 (description
9335 "This is a baseline JPEG codec written in Common Lisp. It can be used
9336for reading and writing JPEG image files.")
9337 (home-page "https://github.com/sharplispers/cl-jpeg")
9338 (license license:bsd-3))))
9339
9340(define-public cl-jpeg
9341 (sbcl-package->cl-source-package sbcl-cl-jpeg))
9342
9343(define-public ecl-cl-jpeg
9344 (sbcl-package->ecl-package sbcl-cl-jpeg))
227aeeb6 9345
1cef75fa
SH
9346(define-public sbcl-png
9347 (let ((commit "11b965fe378fd0561abe3616b18ff03af5179648")
9348 (revision "1"))
9349 (package
9350 (name "sbcl-png")
9351 (version (git-version "0.6" revision commit))
9352 (source
9353 (origin
9354 (method git-fetch)
9355 (uri (git-reference
9356 (url "https://github.com/ljosa/cl-png")
9357 (commit commit)))
9358 (file-name (git-file-name "cl-png" version))
9359 (sha256
9360 (base32 "173hqwpd0rwqf95mfx1h9l9c3i8bb0gvnpspzmmz3g5x3440czy4"))))
9361 (build-system asdf-build-system/sbcl)
9362 (arguments
9363 `(#:phases
9364 (modify-phases %standard-phases
9365 (add-after 'unpack 'fix-lib-paths
9366 (lambda* (#:key inputs #:allow-other-keys)
9367 (substitute* "libpng.lisp"
9368 (("\"libpng\"")
9369 (string-append "\""
9370 (assoc-ref inputs "libpng")
9371 "/lib/libpng\""))))))))
9372 (inputs
9373 `(("cffi" ,sbcl-cffi)
9374 ("libpng" ,libpng)))
9375 (home-page "https://github.com/ljosa/cl-png")
9376 (synopsis "Read and write PNG file format")
9377 (description
9378 "This package provides a @code{PNG} Common Lisp system to operate with
9379Portable Network Graphics file format.")
9380 (license license:lgpl2.1))))
9381
9382(define-public ecl-png
9383 (sbcl-package->ecl-package sbcl-png))
9384
9385(define-public cl-png
9386 (sbcl-package->cl-source-package sbcl-png))
9387
f7b45ede
SH
9388(define-public sbcl-cl-svg
9389 (let ((commit "1e988ebd2d6e2ee7be4744208828ef1b59e5dcdc")
9390 (revision "1"))
9391 (package
9392 (name "sbcl-cl-svg")
9393 (version (git-version "0.0.3" revision commit))
9394 (source
9395 (origin
9396 (method git-fetch)
9397 (uri (git-reference
9398 (url "https://github.com/wmannis/cl-svg")
9399 (commit commit)))
9400 (file-name (git-file-name "cl-svg" version))
9401 (sha256
9402 (base32 "11rmzimy6j7ln7q5y1h2kw1225rsfb6fpn89qjcq7h5lc8fay0wz"))))
9403 (build-system asdf-build-system/sbcl)
9404 (home-page "https://github.com/wmannis/cl-svg")
9405 (synopsis "Write SVG file format")
9406 (description
9407 "This package provides the @code{CL-SVG} Common Lisp system to produce
9408Scalable Vector Graphics files.")
9409 (license license:expat))))
9410
9411(define-public ecl-cl-svg
9412 (sbcl-package->ecl-package sbcl-cl-svg))
9413
9414(define-public cl-svg
9415 (sbcl-package->cl-source-package sbcl-cl-svg))
9416
227aeeb6 9417(define-public sbcl-nodgui
4c3a003a 9418 (let ((commit "4a9c2e7714b278fbe97d198c56f54ea87290001d")
227aeeb6
GLV
9419 (revision "1"))
9420 (package
9421 (name "sbcl-nodgui")
4c3a003a 9422 (version (git-version "0.1.1" revision commit))
227aeeb6
GLV
9423 (source
9424 (origin
9425 (method git-fetch)
9426 (uri (git-reference
9427 (url "https://notabug.org/cage/nodgui.git")
9428 (commit commit)))
4c3a003a 9429 (file-name (git-file-name "nodgui" version))
227aeeb6 9430 (sha256
4c3a003a 9431 (base32 "1vgzzw459h32v2mi41cia6i940jqmvxlc8w3xj3516hbc2mqkaib"))))
227aeeb6
GLV
9432 (build-system asdf-build-system/sbcl)
9433 (inputs
9434 `(("alexandria" ,sbcl-alexandria)
9435 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9436 ("cl-colors2" ,sbcl-cl-colors2)
9437 ("cl-jpeg" ,sbcl-cl-jpeg)
9438 ("cl-lex" ,sbcl-cl-lex)
9439 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
9440 ("cl-unicode" ,sbcl-cl-unicode)
9441 ("cl-yacc" ,sbcl-cl-yacc)
9442 ("clunit2" ,sbcl-clunit2)
9443 ("named-readtables" ,sbcl-named-readtables)
9444 ("parse-number" ,sbcl-parse-number)
9445 ("tk" ,tk)))
9446 (arguments
9447 `(#:phases (modify-phases %standard-phases
9448 (add-after 'unpack 'fix-paths
9449 (lambda* (#:key inputs #:allow-other-keys)
9450 (substitute* "src/wish-communication.lisp"
9451 (("#-freebsd \"wish\"")
9452 (string-append "#-freebsd \""
9453 (assoc-ref inputs "tk")
9454 "/bin/wish\"")))
9455 #t)))))
9456 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9457 (description
9458 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
9459toolkit. It also provides a few additional widgets more than the standard Tk
9460ones.")
9461 (home-page "https://www.autistici.org/interzona/nodgui.html")
9462 (license license:llgpl))))
9463
9464(define-public cl-nodgui
9465 (sbcl-package->cl-source-package sbcl-nodgui))
9466
9467(define-public ecl-nodgui
9468 (sbcl-package->ecl-package sbcl-nodgui))
46cc2a38
GLV
9469
9470(define-public sbcl-salza2
9471 (package
9472 (name "sbcl-salza2")
9473 (version "2.0.9")
9474 (source
9475 (origin
9476 (method git-fetch)
9477 (uri (git-reference
b0e7b699 9478 (url "https://github.com/xach/salza2")
46cc2a38
GLV
9479 (commit (string-append "release-" version))))
9480 (file-name (git-file-name name version))
9481 (sha256
9482 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
9483 (build-system asdf-build-system/sbcl)
9484 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
9485 (description
9486 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
9487deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
9488respectively.")
9489 (home-page "https://www.xach.com/lisp/salza2/")
9490 (license license:bsd-2)))
9491
9492(define-public cl-salza2
9493 (sbcl-package->cl-source-package sbcl-salza2))
9494
9495(define-public ecl-salza2
9496 (sbcl-package->ecl-package sbcl-salza2))
28b307b0
SH
9497
9498(define-public sbcl-origin
9499 (let ((commit "d646134302456408d6d43580bb05299f1695ab8e")
9500 (revision "1"))
9501 (package
9502 (name "sbcl-origin")
9503 (version (git-version "2.0.0" revision commit))
9504 (source
9505 (origin
9506 (method git-fetch)
9507 (uri (git-reference
9508 (url "https://git.mfiano.net/mfiano/origin")
9509 (commit commit)))
9510 (file-name (git-file-name "origin" version))
9511 (sha256
9512 (base32 "1n9aszaif3yh8prs5r8v51fbj4r5jd1a048mivd5yij3hplkm82b"))))
9513 (build-system asdf-build-system/sbcl)
9514 (native-inputs
9515 `(("parachute" ,sbcl-parachute)))
9516 (inputs
9517 `(("golden-utils" ,sbcl-golden-utils)
9518 ("specialization-store" ,sbcl-specialization-store)))
9519 (home-page "https://git.mfiano.net/mfiano/origin")
9520 (synopsis "Common Lisp graphics math library")
9521 (description
9522 "This is a native Common Lisp graphics math library with an emphasis on
9523performance and correctness.")
9524 (license license:expat))))
9525
9526(define-public ecl-origin
9527 (sbcl-package->ecl-package sbcl-origin))
9528
9529(define-public cl-origin
9530 (sbcl-package->cl-source-package sbcl-origin))
d165821e
GLV
9531
9532(define-public sbcl-png-read
9533 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
9534 (revision "1"))
9535 (package
9536 (name "sbcl-png-read")
9537 (version (git-version "0.3.1" revision commit))
9538 (source
9539 (origin
9540 (method git-fetch)
9541 (uri (git-reference
b0e7b699 9542 (url "https://github.com/Ramarren/png-read")
d165821e
GLV
9543 (commit commit)))
9544 (file-name (git-file-name name version))
9545 (sha256
9546 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
9547 (build-system asdf-build-system/sbcl)
9548 (inputs
9549 `(("babel" ,sbcl-babel)
9550 ("chipz" ,sbcl-chipz)
9551 ("iterate" ,sbcl-iterate)))
9552 (synopsis "PNG decoder for Common Lisp")
9553 (description "This is a Common Lisp library for reading PNG images.")
9554 (home-page "https://github.com/Ramarren/png-read")
9555 (license license:bsd-3))))
9556
9557(define-public cl-png-read
9558 (sbcl-package->cl-source-package sbcl-png-read))
9559
9560(define-public ecl-png-read
9561 (sbcl-package->ecl-package sbcl-png-read))
7b875e4e 9562
633e4416
SH
9563(define-public sbcl-3b-bmfont
9564 (let ((commit "d1b5bec0de580c2d08ec947a93c56b1400f2a37a")
9565 (revision "1"))
9566 (package
9567 (name "sbcl-3b-bmfont")
9568 (version (git-version "0.0.1" revision commit))
9569 (source
9570 (origin
9571 (method git-fetch)
9572 (uri (git-reference
9573 (url "https://github.com/3b/3b-bmfont/")
9574 (commit commit)))
9575 (file-name (git-file-name "3b-bmfont" version))
9576 (sha256
9577 (base32 "12sgf7m0h6fqzhvkas7vmci6mprj3j3fnz778jlbqbsydln6v2yc"))))
9578 (build-system asdf-build-system/sbcl)
9579 (arguments
9580 `(#:asd-systems
9581 '("3b-bmfont"
9582 "3b-bmfont/text"
9583 "3b-bmfont/common"
9584 "3b-bmfont/xml"
9585 "3b-bmfont/json")))
9586 (inputs
9587 `(("alexandria" ,sbcl-alexandria)
9588 ("cxml" ,sbcl-cxml)
9589 ("flexi-streams" ,sbcl-flexi-streams)
9590 ("jsown" ,sbcl-jsown)
9591 ("split-sequence" ,sbcl-split-sequence)))
9592 (home-page "https://github.com/3b/3b-bmfont/")
9593 (synopsis "Read/write bmfont metadata files")
9594 (description
9595 "This is a Common Lisp library which provides functionality to
9596read/write Bit Map Font (BMF) into text, JSON and XML.")
9597 (license license:expat))))
9598
9599(define-public ecl-3b-bmfont
9600 (sbcl-package->ecl-package sbcl-3b-bmfont))
9601
9602(define-public cl-3b-bmfont
9603 (sbcl-package->cl-source-package sbcl-3b-bmfont))
9604
7b875e4e
GLV
9605(define-public sbcl-zpng
9606 (package
9607 (name "sbcl-zpng")
9608 (version "1.2.2")
9609 (source
9610 (origin
9611 (method git-fetch)
9612 (uri (git-reference
b0e7b699 9613 (url "https://github.com/xach/zpng")
7b875e4e
GLV
9614 (commit (string-append "release-" version))))
9615 (file-name (git-file-name name version))
9616 (sha256
9617 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
9618 (build-system asdf-build-system/sbcl)
9619 (inputs
9620 `(("salza2" ,sbcl-salza2)))
9621 (synopsis "PNG encoder for Common Lisp")
9622 (description "This is a Common Lisp library for creating PNG images.")
9623 (home-page "https://www.xach.com/lisp/zpng/")
9624 (license license:bsd-2)))
9625
9626(define-public cl-zpng
9627 (sbcl-package->cl-source-package sbcl-zpng))
9628
9629(define-public ecl-zpng
9630 (sbcl-package->ecl-package sbcl-zpng))
5d4d4c01
GLV
9631
9632(define-public sbcl-cl-qrencode
9633 (package
9634 (name "sbcl-cl-qrencode")
9635 (version "0.1.2")
9636 (source
9637 (origin
9638 (method git-fetch)
9639 (uri (git-reference
b0e7b699 9640 (url "https://github.com/jnjcc/cl-qrencode")
5d4d4c01
GLV
9641 (commit (string-append "v" version))))
9642 (file-name (git-file-name name version))
9643 (sha256
9644 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
9645 (build-system asdf-build-system/sbcl)
9646 (native-inputs
9647 `(("lisp-unit" ,sbcl-lisp-unit)))
9648 (inputs
9649 `(("zpng" ,sbcl-zpng)))
9650 (synopsis "QR code encoder for Common Lisp")
9651 (description
9652 "This Common Lisp library provides function to make QR codes and to save
9653them as PNG files.")
9654 (home-page "https://github.com/jnjcc/cl-qrencode")
9655 (license license:gpl2+)))
9656
9657(define-public cl-qrencode
9658 (sbcl-package->cl-source-package sbcl-cl-qrencode))
9659
9660(define-public ecl-cl-qrencode
9661 (sbcl-package->ecl-package sbcl-cl-qrencode))
c6397e3e
KH
9662
9663(define-public sbcl-hdf5-cffi
9664 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
9665 (revision "1"))
9666 (package
9667 (name "sbcl-hdf5-cffi")
9668 (version (git-version "1.8.18" revision commit))
9669 (source
9670 (origin
9671 (method git-fetch)
9672 (uri (git-reference
b0e7b699 9673 (url "https://github.com/hdfgroup/hdf5-cffi")
c6397e3e
KH
9674 (commit commit)))
9675 (file-name (git-file-name name version))
9676 (sha256
9677 (base32
9678 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
9679 (build-system asdf-build-system/sbcl)
9680 (synopsis "Common Lisp bindings for the HDF5 library")
9681 (description
9682 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
9683 (home-page "https://github.com/hdfgroup/hdf5-cffi")
9684 (license (license:non-copyleft
9685 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
9686 commit
9687 "/LICENSE")))
9688 (inputs
9689 `(("cffi" ,sbcl-cffi)
c6397e3e
KH
9690 ("hdf5" ,hdf5-1.10)))
9691 (native-inputs
9692 `(("fiveam" ,sbcl-fiveam)))
9693 (arguments
e765d9c9 9694 `(#:test-asd-file "hdf5-cffi.test.asd"
c6397e3e
KH
9695 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
9696 ;; I don't know if there is a way to tell asdf-build-system to load
9697 ;; an additional system first, so tests are disabled.
9698 #:tests? #f
9699 #:phases
9700 (modify-phases %standard-phases
9701 (add-after 'unpack 'fix-paths
9702 (lambda* (#:key inputs #:allow-other-keys)
9703 (substitute* "src/library.lisp"
9704 (("libhdf5.so")
9705 (string-append
9706 (assoc-ref inputs "hdf5")
9707 "/lib/libhdf5.so")))))
9708 (add-after 'unpack 'fix-dependencies
9709 (lambda* (#:key inputs #:allow-other-keys)
9710 (substitute* "hdf5-cffi.asd"
9711 ((":depends-on \\(:cffi\\)")
9712 ":depends-on (:cffi :cffi-grovel)"))
9713 (substitute* "hdf5-cffi.test.asd"
9714 ((":depends-on \\(:cffi :hdf5-cffi")
9715 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
9716
9717(define-public cl-hdf5-cffi
9718 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
9719
9720(define-public ecl-hdf5-cffi
9721 (sbcl-package->ecl-package sbcl-hdf5-cffi))
c6e6254a
KH
9722
9723(define-public sbcl-cl-randist
9724 (package
9725 (name "sbcl-cl-randist")
9726 (version "0.4.2")
9727 (source
9728 (origin
9729 (method git-fetch)
9730 (uri (git-reference
b0e7b699 9731 (url "https://github.com/lvaruzza/cl-randist")
c6e6254a
KH
9732 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
9733 (file-name (git-file-name name version))
9734 (sha256
9735 (base32
9736 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
9737 (build-system asdf-build-system/sbcl)
9738 (synopsis "Random distributions for Common Lisp")
9739 (description
9740 "Manual translation from C to Common Lisp of some random number
9741generation functions from the GSL library.")
9742 (home-page "https://github.com/lvaruzza/cl-randist")
9743 (license license:bsd-2)
9744 (arguments
e765d9c9 9745 `(#:tests? #f))))
c6e6254a
KH
9746
9747(define-public cl-randist
9748 (sbcl-package->cl-source-package sbcl-cl-randist))
9749
9750(define-public ecl-cl-randist
9751 (sbcl-package->ecl-package sbcl-cl-randist))
41884bfa
KH
9752
9753(define-public sbcl-float-features
9754 (package
9755 (name "sbcl-float-features")
9756 (version "1.0.0")
9757 (source
9758 (origin
9759 (method git-fetch)
9760 (uri (git-reference
b0e7b699 9761 (url "https://github.com/Shinmera/float-features")
41884bfa
KH
9762 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
9763 (file-name (git-file-name name version))
9764 (sha256
9765 (base32
9766 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
9767 (build-system asdf-build-system/sbcl)
9768 (synopsis "Common Lisp IEEE float portability library")
9769 (description
9770 "Portability library for IEEE float features that are not
9771covered by the Common Lisp standard.")
9772 (home-page "https://github.com/Shinmera/float-features")
9773 (license license:zlib)
9774 (inputs
9775 `(("documentation-utils" ,sbcl-documentation-utils)))
9776 (arguments
e765d9c9 9777 `(#:tests? #f))))
41884bfa
KH
9778
9779(define-public cl-float-features
9780 (sbcl-package->cl-source-package sbcl-float-features))
9781
9782(define-public ecl-float-features
9783 (sbcl-package->ecl-package sbcl-float-features))
06327c30
KH
9784
9785(define-public sbcl-function-cache
9786 (package
9787 (name "sbcl-function-cache")
9788 (version "1.0.3")
9789 (source
9790 (origin
9791 (method git-fetch)
9792 (uri (git-reference
b0e7b699 9793 (url "https://github.com/AccelerationNet/function-cache")
06327c30
KH
9794 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
9795 (file-name (git-file-name name version))
9796 (sha256
9797 (base32
9798 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
9799 (build-system asdf-build-system/sbcl)
9800 (synopsis "Function caching / memoization library for Common Lisp")
9801 (description
9802 "A common lisp library that provides extensible function result
9803caching based on arguments (an expanded form of memoization).")
9804 (home-page "https://github.com/AccelerationNet/function-cache")
9805 (license
9806 (license:non-copyleft
9807 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
9808 (inputs
9809 `(("alexandria" ,sbcl-alexandria)
9810 ("cl-interpol" ,sbcl-cl-interpol)
9811 ("iterate" ,sbcl-iterate)
9812 ("symbol-munger" ,sbcl-symbol-munger)
9813 ("closer-mop" ,sbcl-closer-mop)))
9814 (arguments
e765d9c9 9815 `(#:tests? #f))))
06327c30
KH
9816
9817(define-public cl-function-cache
9818 (sbcl-package->cl-source-package sbcl-function-cache))
9819
9820(define-public ecl-function-cache
9821 (sbcl-package->ecl-package sbcl-function-cache))
e4f7ef87 9822
a1522f49
C
9823(define-public sbcl-cache-while
9824 (let ((commit "38e9ffbdb2c894670c366c1e5802ffcc8cfd43a7")
9825 (revision "1"))
9826 (package
9827 (name "sbcl-cache-while")
9828 (version (git-version "0.0.0" revision commit))
9829 (source
9830 (origin
9831 (method git-fetch)
9832 (uri (git-reference
9833 (url "https://github.com/charje/cache-while")
9834 (commit commit)))
9835 (file-name (git-file-name "cache-while" version))
9836 (sha256
9837 (base32 "1qil68rfn5irmkb0jk1f6g1zy80wgc3skl8cr4rfgh7ywgm5izx3"))))
9838 (build-system asdf-build-system/sbcl)
9839 (home-page "https://github.com/charje/cache-while")
9840 (synopsis "Temporary / one-time caching macro for Common Lisp")
9841 (description
9842 "This is a Common Lisp macro for defining temporary caches that
9843invalidate based on expressions evaluating to different values.")
9844 (license license:llgpl))))
9845
9846(define-public cl-cache-while
9847 (sbcl-package->cl-source-package sbcl-cache-while))
9848
9849(define-public ecl-cache-while
9850 (sbcl-package->ecl-package sbcl-cache-while))
9851
e4f7ef87
KH
9852(define-public sbcl-type-r
9853 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
9854 (revision "1"))
9855 (package
9856 (name "sbcl-type-r")
9857 (version (git-version "0.0.0" revision commit))
9858 (source
9859 (origin
9860 (method git-fetch)
9861 (uri (git-reference
b0e7b699 9862 (url "https://github.com/guicho271828/type-r")
e4f7ef87
KH
9863 (commit commit)))
9864 (file-name (git-file-name name version))
9865 (sha256
9866 (base32
9867 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
9868 (build-system asdf-build-system/sbcl)
9869 (synopsis "Parser interface for Common Lisp built-in compound types")
9870 (description
9871 "Collections of accessor functions and patterns to access
9872the elements in compound type specifier, e.g. @code{dimensions} in
9873@code{(array element-type dimensions)}")
9874 (home-page "https://github.com/guicho271828/type-r")
9875 (license license:lgpl3+)
9876 (inputs
9877 `(("trivia" ,sbcl-trivia)
9878 ("alexandria" ,sbcl-alexandria)))
9879 (native-inputs
9880 `(("fiveam" ,sbcl-fiveam)))
9881 (arguments
e765d9c9 9882 `(#:test-asd-file "type-r.test.asd")))))
e4f7ef87
KH
9883
9884(define-public cl-type-r
9885 (sbcl-package->cl-source-package sbcl-type-r))
8926866e 9886
12df8b7b
GLV
9887(define-public ecl-type-r
9888 (sbcl-package->ecl-package sbcl-type-r))
9889
8926866e
KH
9890(define-public sbcl-trivialib-type-unify
9891 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
9892 (revision "1"))
9893 (package
9894 (name "sbcl-trivialib-type-unify")
9895 (version (git-version "0.1" revision commit))
9896 (source
9897 (origin
9898 (method git-fetch)
9899 (uri (git-reference
b0e7b699 9900 (url "https://github.com/guicho271828/trivialib.type-unify")
8926866e
KH
9901 (commit commit)))
9902 (file-name (git-file-name name version))
9903 (sha256
9904 (base32
9905 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
9906 (build-system asdf-build-system/sbcl)
9907 (synopsis "Common Lisp type unification")
9908 (description
9909 "Unifies a parametrized type specifier against an actual type specifier.
9910Importantly, it handles complicated array-subtypes and number-related types
9911correctly.")
9912 (home-page "https://github.com/guicho271828/trivialib.type-unify")
9913 (license license:lgpl3+)
9914 (inputs
9915 `(("alexandria" ,sbcl-alexandria)
9916 ("trivia" ,sbcl-trivia)
9917 ("introspect-environment" ,sbcl-introspect-environment)
9918 ("type-r" ,sbcl-type-r)))
9919 (native-inputs
9920 `(("fiveam" ,sbcl-fiveam)))
9921 (arguments
2ff8b5ba 9922 `(#:asd-systems '("trivialib.type-unify")
8926866e
KH
9923 #:test-asd-file "trivialib.type-unify.test.asd")))))
9924
9925(define-public cl-trivialib-type-unify
9926 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
ca6c5c7f 9927
12df8b7b
GLV
9928(define-public ecl-trivialib-type-unify
9929 (sbcl-package->ecl-package sbcl-trivialib-type-unify))
9930
e2e17903
C
9931(define-public sbcl-cl-unification
9932 (let ((commit "01079f34d197495880aa49ab727d63774d83035c")
9933 (revision "1"))
9934 (package
9935 (name "sbcl-cl-unification")
9936 (version (git-version "0.0.0" revision commit))
9937 (source
9938 (origin
9939 (method git-fetch)
9940 (uri (git-reference
9941 (url "https://gitlab.common-lisp.net/cl-unification/cl-unification")
9942 (commit commit)))
9943 (file-name (git-file-name "cl-unification" version))
9944 (sha256
9945 (base32 "0nhqamn3qgg38i6aw2pshffdwr2hzslycg8ficmn333gw0h9rf4g"))))
9946 (build-system asdf-build-system/sbcl)
9947 (native-inputs
9948 `(("ptester" ,sbcl-ptester)))
9949 (inputs
9950 `(("cl-ppcre" ,sbcl-cl-ppcre)))
9951 (home-page "https://common-lisp.net/project/cl-unification/")
9952 (synopsis "Unification framework for Common Lisp")
9953 (description
9954 "This package provides a framework to unify arbitrary
9955Common Lisp objects while constructing bindings for placeholders
9956(unification variables) in a template sublanguage.")
9957 (license license:bsd-0))))
9958
9959(define-public ecl-cl-unification
9960 (let ((pkg (sbcl-package->ecl-package sbcl-cl-unification)))
9961 (package
9962 (inherit pkg)
9963 (arguments
9964 (substitute-keyword-arguments (package-arguments pkg)
9965 ;; The tests fail on ECL with:
9966 ;; "In MAKE-ARRAY: the elements in :INITIAL-CONTENTS do not match
9967 ;; the array dimensions."
9968 ((#:tests? _ #f) #f))))))
9969
9970(define-public cl-unification
9971 (sbcl-package->cl-source-package sbcl-cl-unification))
9972
ca6c5c7f 9973(define-public sbcl-specialized-function
cb5ba97e
SH
9974 (let ((commit "5e2b04432bdf728496e6ff7227f210f845af7247")
9975 (revision "3"))
ca6c5c7f
KH
9976 (package
9977 (name "sbcl-specialized-function")
cb5ba97e 9978 (version (git-version "0.1" revision commit))
ca6c5c7f
KH
9979 (source
9980 (origin
9981 (method git-fetch)
9982 (uri (git-reference
b0e7b699 9983 (url "https://github.com/numcl/specialized-function")
ca6c5c7f 9984 (commit commit)))
cb5ba97e 9985 (file-name (git-file-name "specialized-function" version))
ca6c5c7f 9986 (sha256
cb5ba97e 9987 (base32 "19hfgc83b7as630r1w9r8yl0v6xq3dn01vcrl0bd4pza5hgjn4la"))))
ca6c5c7f
KH
9988 (build-system asdf-build-system/sbcl)
9989 (synopsis "Julia-like dispatch for Common Lisp")
9990 (description
9991 "This library is part of NUMCL. It provides a macro
9992@code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
9993lazily compiling a type-specific version of the function from the same
9994code. The main target of this macro is speed.")
9995 (home-page "https://github.com/numcl/specialized-function")
9996 (license license:lgpl3+)
9997 (inputs
cb5ba97e 9998 `(("alexandria" ,sbcl-alexandria)
ca6c5c7f
KH
9999 ("iterate" ,sbcl-iterate)
10000 ("lisp-namespace" ,sbcl-lisp-namespace)
cb5ba97e
SH
10001 ("trivia" ,sbcl-trivia)
10002 ("trivial-cltl2" ,sbcl-trivial-cltl2)
10003 ("type-r" ,sbcl-type-r)))
ca6c5c7f
KH
10004 (native-inputs
10005 `(("fiveam" ,sbcl-fiveam)))
10006 (arguments
e765d9c9 10007 `(#:asd-files '("specialized-function.asd")
cb5ba97e 10008 #:test-asd-file "specialized-function.test.asd")))))
ca6c5c7f
KH
10009
10010(define-public cl-specialized-function
10011 (sbcl-package->cl-source-package sbcl-specialized-function))
6e0f2b95 10012
e95a6311
GLV
10013(define-public ecl-specialized-function
10014 (sbcl-package->ecl-package sbcl-specialized-function))
10015
6e0f2b95
KH
10016(define-public sbcl-constantfold
10017 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
10018 (revision "1"))
10019 (package
10020 (name "sbcl-constantfold")
10021 (version (git-version "0.1" revision commit))
10022 (source
10023 (origin
10024 (method git-fetch)
10025 (uri (git-reference
b0e7b699 10026 (url "https://github.com/numcl/constantfold")
6e0f2b95
KH
10027 (commit commit)))
10028 (file-name (git-file-name name version))
10029 (sha256
10030 (base32
10031 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
10032 (build-system asdf-build-system/sbcl)
10033 (synopsis "Support library for numcl")
10034 (description
10035 "Support library for numcl. Registers a function as an
10036additional form that is considered as a candidate for a constant.")
10037 (home-page "https://github.com/numcl/constantfold")
10038 (license license:lgpl3+)
10039 (inputs
10040 `(("trivia" ,sbcl-trivia)
10041 ("alexandria" ,sbcl-alexandria)
10042 ("iterate" ,sbcl-iterate)
10043 ("lisp-namespace" ,sbcl-lisp-namespace)))
10044 (native-inputs
10045 `(("fiveam" ,sbcl-fiveam)))
10046 (arguments
e765d9c9 10047 `(#:asd-files '("constantfold.asd")
6e0f2b95
KH
10048 #:test-asd-file "constantfold.test.asd")))))
10049
10050(define-public cl-constantfold
10051 (sbcl-package->cl-source-package sbcl-constantfold))
5ce7d186 10052
12df8b7b
GLV
10053(define-public ecl-constantfold
10054 (sbcl-package->ecl-package sbcl-constantfold))
10055
5ce7d186 10056(define-public sbcl-gtype
e4c03dd5
GLV
10057 (let ((commit "2442e32485635525af278ebd8fa69a27d5b8cf18")
10058 (revision "2"))
5ce7d186
KH
10059 (package
10060 (name "sbcl-gtype")
10061 (version (git-version "0.1" revision commit))
10062 (source
10063 (origin
10064 (method git-fetch)
10065 (uri (git-reference
b0e7b699 10066 (url "https://github.com/numcl/gtype")
5ce7d186
KH
10067 (commit commit)))
10068 (file-name (git-file-name name version))
10069 (sha256
e4c03dd5 10070 (base32 "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h"))))
5ce7d186
KH
10071 (build-system asdf-build-system/sbcl)
10072 (synopsis "C++/Julia-like parametric types in Common Lisp")
10073 (description
10074 "Support library for numcl that provides Julia-like runtime parametric
10075type correctness in Common Lisp. It is based on CLtL2 extensions.")
10076 (home-page "https://github.com/numcl/gtype")
10077 (license license:lgpl3+)
10078 (inputs
10079 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
10080 ("trivial-cltl2" ,sbcl-trivial-cltl2)
10081 ("trivia" ,sbcl-trivia)
10082 ("alexandria" ,sbcl-alexandria)
10083 ("iterate" ,sbcl-iterate)
10084 ("type-r" ,sbcl-type-r)))
10085 (native-inputs
10086 `(("fiveam" ,sbcl-fiveam)))
10087 (arguments
e765d9c9 10088 `(#:asd-files '("gtype.asd")
5ce7d186
KH
10089 #:test-asd-file "gtype.test.asd")))))
10090
10091(define-public cl-gtype
10092 (sbcl-package->cl-source-package sbcl-gtype))
7ad12200 10093
e4c03dd5
GLV
10094(define-public ecl-gtype
10095 (let ((pkg (sbcl-package->ecl-package sbcl-gtype)))
10096 (package
10097 (inherit pkg)
10098 (arguments
10099 (substitute-keyword-arguments (package-arguments pkg)
10100 ;; The tests fail on ECL with a COMPILE-FILE-ERROR for t/package.lisp.
10101 ((#:tests? _ #f) #f))))))
10102
7ad12200 10103(define-public sbcl-numcl
7b056654
SH
10104 (let ((commit "3dcdb0e24a33943d6c3a188ecbb0c78003bf975c")
10105 (revision "2"))
7ad12200
KH
10106 (package
10107 (name "sbcl-numcl")
75a4c831 10108 (version (git-version "0.2.0" revision commit))
7ad12200
KH
10109 (source
10110 (origin
10111 (method git-fetch)
10112 (uri (git-reference
b0e7b699 10113 (url "https://github.com/numcl/numcl")
7ad12200 10114 (commit commit)))
75a4c831 10115 (file-name (git-file-name "numcl" version))
7ad12200 10116 (sha256
7b056654 10117 (base32 "17m1rx1gfjbbmgjsf33b8s4bygfsj1hb6kvmypkql21qzjvx60nl"))))
7ad12200 10118 (build-system asdf-build-system/sbcl)
75a4c831
SH
10119 (arguments
10120 `(#:test-asd-file "numcl.test.asd"
17e0f825
GLV
10121 #:asd-files '("numcl.asd")
10122 ;; Tests often fail because they require a dynamic-space-size much
10123 ;; bigger than the default one. Disable them for now.
10124 #:tests? #f))
75a4c831
SH
10125 (native-inputs
10126 `(("fiveam" ,sbcl-fiveam)))
7ad12200 10127 (inputs
75a4c831 10128 `(("alexandria" ,sbcl-alexandria)
7ad12200 10129 ("cl-randist" ,sbcl-cl-randist)
75a4c831 10130 ("constantfold" ,sbcl-constantfold)
7ad12200
KH
10131 ("float-features" ,sbcl-float-features)
10132 ("function-cache" ,sbcl-function-cache)
75a4c831
SH
10133 ("gtype" ,sbcl-gtype)
10134 ("iterate" ,sbcl-iterate)
10135 ("lisp-namespace" ,sbcl-lisp-namespace)
7ad12200 10136 ("specialized-function" ,sbcl-specialized-function)
75a4c831
SH
10137 ("trivia" ,sbcl-trivia)
10138 ("type-r" ,sbcl-type-r)))
10139 (home-page "https://numcl.github.io/numcl/")
10140 (synopsis "Numpy clone in Common Lisp")
10141 (description
10142 "This package is a Python Numpy clone implemented in pure Common Lisp.")
10143 (license license:lgpl3+))))
7ad12200
KH
10144
10145(define-public cl-numcl
10146 (sbcl-package->cl-source-package sbcl-numcl))
a3f6c410 10147
4287ee69 10148(define-public ecl-numcl
bed78cde 10149 (sbcl-package->ecl-package sbcl-numcl))
4287ee69 10150
a3f6c410 10151(define-public sbcl-pzmq
ca23ba4f
SH
10152 (let ((commit "6f7b2ca02c23ea53510a9b0e0f181d5364ce9d32")
10153 (revision "2"))
a3f6c410
GLV
10154 (package
10155 (name "sbcl-pzmq")
10156 (version (git-version "0.0.0" revision commit))
10157 (source
10158 (origin
10159 (method git-fetch)
10160 (uri (git-reference
b0e7b699 10161 (url "https://github.com/orivej/pzmq")
a3f6c410
GLV
10162 (commit commit)))
10163 (file-name (git-file-name name version))
10164 (sha256
ca23ba4f 10165 (base32 "19mdhxhzzghlmff1fic4chg5iz0psglkim09z6dgpijm26biny05"))))
a3f6c410
GLV
10166 (build-system asdf-build-system/sbcl)
10167 (native-inputs
10168 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10169 ("fiveam" ,sbcl-fiveam)
10170 ("let-plus" ,sbcl-let-plus)))
10171 (inputs
10172 `(("cffi" ,sbcl-cffi)
a3f6c410
GLV
10173 ("zeromq" ,zeromq)))
10174 (arguments
10175 `(#:phases (modify-phases %standard-phases
10176 (add-after 'unpack 'fix-paths
10177 (lambda* (#:key inputs #:allow-other-keys)
10178 (substitute* "c-api.lisp"
10179 (("\"libzmq")
10180 (string-append "\""
10181 (assoc-ref inputs "zeromq")
10182 "/lib/libzmq")))
10183 #t)))))
10184 (synopsis "Common Lisp bindings for the ZeroMQ library")
10185 (description "This Common Lisp library provides bindings for the ZeroMQ
10186lightweight messaging kernel.")
10187 (home-page "https://github.com/orivej/pzmq")
10188 (license license:unlicense))))
10189
10190(define-public cl-pzmq
10191 (sbcl-package->cl-source-package sbcl-pzmq))
10192
10193(define-public ecl-pzmq
10194 (sbcl-package->ecl-package sbcl-pzmq))
cfc9004e
DD
10195
10196(define-public sbcl-clss
10197 (let ((revision "1")
10198 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
10199 (package
10200 (name "sbcl-clss")
10201 (version (git-version "0.3.1" revision commit))
10202 (source
10203 (origin
10204 (method git-fetch)
10205 (uri
10206 (git-reference
b0e7b699 10207 (url "https://github.com/Shinmera/clss")
cfc9004e
DD
10208 (commit commit)))
10209 (sha256
10210 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
10211 (file-name (git-file-name name version))))
10212 (inputs
10213 `(("array-utils" ,sbcl-array-utils)
10214 ("plump" ,sbcl-plump)))
10215 (build-system asdf-build-system/sbcl)
10216 (synopsis "DOM tree searching engine based on CSS selectors")
10217 (description "CLSS is a DOM traversal engine based on CSS
10218selectors. It makes use of the Plump-DOM and is used by lQuery.")
10219 (home-page "https://github.com/Shinmera/clss")
10220 (license license:zlib))))
10221
10222(define-public cl-clss
10223 (sbcl-package->cl-source-package sbcl-clss))
10224
10225(define-public ecl-clss
10226 (sbcl-package->ecl-package sbcl-clss))
eb859957
DD
10227
10228(define-public sbcl-lquery
10229 (let ((revision "1")
10230 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
10231 (package
10232 (name "sbcl-lquery")
10233 (version (git-version "3.2.1" revision commit))
10234 (source
10235 (origin
10236 (method git-fetch)
10237 (uri
10238 (git-reference
b0e7b699 10239 (url "https://github.com/Shinmera/lquery")
eb859957
DD
10240 (commit commit)))
10241 (sha256
10242 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
10243 (file-name (git-file-name name version))))
10244 (native-inputs
10245 `(("fiveam" ,sbcl-fiveam)))
10246 (inputs
10247 `(("array-utils" ,sbcl-array-utils)
10248 ("form-fiddle" ,sbcl-form-fiddle)
10249 ("plump" ,sbcl-plump)
10250 ("clss" ,sbcl-clss)))
10251 (build-system asdf-build-system/sbcl)
10252 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
10253 (description "@code{lQuery} is a DOM manipulation library written in
10254Common Lisp, inspired by and based on the jQuery syntax and
10255functions. It uses Plump and CLSS as DOM and selector engines. The
10256main idea behind lQuery is to provide a simple interface for crawling
10257and modifying HTML sites, as well as to allow for an alternative
10258approach to templating.")
10259 (home-page "https://github.com/Shinmera/lquery")
10260 (license license:zlib))))
10261
10262(define-public cl-lquery
10263 (sbcl-package->cl-source-package sbcl-lquery))
10264
10265(define-public ecl-lquery
10266 (sbcl-package->ecl-package sbcl-lquery))
8a6c0f55
GLV
10267
10268(define-public sbcl-cl-mysql
10269 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
10270 (revision "1"))
10271 (package
10272 (name "sbcl-cl-mysql")
10273 (version (git-version "0.1" revision commit))
10274 (source
10275 (origin
10276 (method git-fetch)
10277 (uri (git-reference
b0e7b699 10278 (url "https://github.com/hackinghat/cl-mysql")
8a6c0f55
GLV
10279 (commit commit)))
10280 (file-name (git-file-name name version))
10281 (sha256
10282 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
10283 (build-system asdf-build-system/sbcl)
10284 (native-inputs
10285 `(("stefil" ,sbcl-stefil)))
10286 (inputs
10287 `(("cffi" ,sbcl-cffi)
10288 ("mariadb-lib" ,mariadb "lib")))
10289 (arguments
10290 `(#:tests? #f ; TODO: Tests require a running server
10291 #:phases
10292 (modify-phases %standard-phases
10293 (add-after 'unpack 'fix-paths
10294 (lambda* (#:key inputs #:allow-other-keys)
10295 (substitute* "system.lisp"
10296 (("libmysqlclient_r" all)
10297 (string-append (assoc-ref inputs "mariadb-lib")
10298 "/lib/"
10299 all)))
10300 #t)))))
10301 (synopsis "Common Lisp wrapper for MySQL")
10302 (description
10303 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
10304 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
10305 (license license:expat))))
10306
10307(define-public cl-mysql
10308 (sbcl-package->cl-source-package sbcl-cl-mysql))
c79ea1a2 10309
e7cbcf5a
GLV
10310(define-public ecl-cl-mysql
10311 (sbcl-package->ecl-package sbcl-cl-mysql))
10312
2ff8b5ba 10313(define-public sbcl-postmodern
9717250d
SH
10314 (package
10315 (name "sbcl-postmodern")
3db4a00d 10316 (version "1.32.9")
9717250d
SH
10317 (source
10318 (origin
10319 (method git-fetch)
10320 (uri (git-reference
10321 (url "https://github.com/marijnh/Postmodern")
10322 (commit (string-append "v" version))))
10323 (file-name (git-file-name name version))
10324 (sha256
3db4a00d 10325 (base32 "137jci4hn4vlxf48y39k0di27kc89kvxy3brmn3vl9xq56sy6mhz"))))
9717250d
SH
10326 (build-system asdf-build-system/sbcl)
10327 (native-inputs
10328 `(("fiveam" ,sbcl-fiveam)))
10329 (inputs
10330 `(("alexandria" ,sbcl-alexandria)
10331 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10332 ("cl-base64" ,sbcl-cl-base64)
10333 ("cl-unicode" ,sbcl-cl-unicode)
10334 ("closer-mop" ,sbcl-closer-mop)
10335 ("global-vars" ,sbcl-global-vars)
10336 ("ironclad" ,sbcl-ironclad)
10337 ("local-time" ,sbcl-local-time)
10338 ("md5" ,sbcl-md5)
10339 ("split-sequence" ,sbcl-split-sequence)
10340 ("uax-15" ,sbcl-uax-15)
10341 ("usocket" ,sbcl-usocket)))
10342 (arguments
10343 ;; TODO: (Sharlatan-20210114T171037+0000) tests still failing but on other
10344 ;; step, some functionality in `local-time' prevents passing tests.
10345 ;; Error:
10346 ;;
10347 ;; Can't create directory
10348 ;; /gnu/store
10349 ;; /4f47agf1kyiz057ppy6x5p98i7mcbfsv-sbcl-local-time-1.0.6-2.a177eb9
10350 ;; /lib/common-lisp/sbcl/local-time/src/integration/
10351 ;;
82a9ed3e
SH
10352 ;; NOTE: (Sharlatan-20210124T191940+0000): When set env HOME to /tmp above
10353 ;; issue is resolved but it required live test database to connect to now.
10354 ;; Keep tests switched off.
9717250d
SH
10355 `(#:tests? #f
10356 #:asd-systems '("cl-postgres"
10357 "s-sql"
10358 "postmodern"
10359 "simple-date"
10360 "simple-date/postgres-glue")))
10361 (synopsis "Common Lisp library for interacting with PostgreSQL")
10362 (description
10363 "@code{postmodern} is a Common Lisp library for interacting with
add1a356
GLV
10364PostgreSQL databases. It provides the following features:
10365
10366@itemize
10367@item Efficient communication with the database server without need for
10368foreign libraries.
10369@item Support for UTF-8 on Unicode-aware Lisp implementations.
10370@item A syntax for mixing SQL and Lisp code.
10371@item Convenient support for prepared statements and stored procedures.
10372@item A metaclass for simple database-access objects.
9717250d
SH
10373@end itemize\n
10374
10375This package produces 4 systems: postmodern, cl-postgres, s-sql, simple-date
10376
10377@code{SIMPLE-DATE} is a very basic implementation of date and time objects, used
10378to support storing and retrieving time-related SQL types. It is not loaded by
10379default and you can use local-time (which has support for timezones) instead.
10380
10381@code{S-SQL} is used to compile s-expressions to strings of SQL code, escaping
10382any Lisp values inside, and doing as much as possible of the work at compile
10383time.
10384
10385@code{CL-POSTGRES} is the low-level library used for interfacing with a PostgreSQL
10386server over a socket.
10387
10388@code{POSTMODERN} itself is a wrapper around these packages and provides higher
10389level functions, a very simple data access object that can be mapped directly to
10390database tables and some convient utilities. It then tries to put all these
10391things together into a convenient programming interface")
10392 (home-page "https://marijnhaverbeke.nl/postmodern/")
10393 (license license:zlib)))
add1a356
GLV
10394
10395(define-public cl-postmodern
10396 (sbcl-package->cl-source-package sbcl-postmodern))
47a6cde0 10397
12df8b7b
GLV
10398(define-public ecl-postmodern
10399 (package
10400 (inherit (sbcl-package->ecl-package sbcl-postmodern))
10401 (arguments
10402 `(#:tests? #f
9717250d
SH
10403 #:asd-systems '("cl-postgres"
10404 "s-sql"
10405 "postmodern"
10406 "simple-date"
12df8b7b
GLV
10407 "simple-date/postgres-glue")
10408 #:phases
10409 (modify-phases %standard-phases
10410 (add-after 'unpack 'fix-build
10411 (lambda _
10412 (substitute* "cl-postgres.asd"
9717250d
SH
10413 ((":or :sbcl :allegro :ccl :clisp" all)
10414 (string-append all " :ecl")))
12df8b7b
GLV
10415 #t)))))))
10416
d005f809
SH
10417(define-public sbcl-db3
10418 (let ((commit "38e5ad35f025769fb7f8dcdc6e56df3e8efd8e6d")
10419 (revision "1"))
10420 (package
10421 (name "sbcl-db3")
10422 (version (git-version "0.0.0" revision commit))
10423 (source
10424 (origin
10425 (method git-fetch)
10426 (uri (git-reference
10427 (url "https://github.com/dimitri/cl-db3")
10428 (commit commit)))
10429 (file-name (git-file-name "cl-db3" version))
10430 (sha256
10431 (base32 "1i7j0mlri6kbklcx1lsm464s8kmyhhij5c4xh4aybrw8m4ixn1s5"))))
10432 (build-system asdf-build-system/sbcl)
10433 (home-page "https://github.com/dimitri/cl-db3")
10434 (synopsis "Common Lisp library to read dBase III database files")
10435 (description
10436 "This is a Common Lisp library for processing data found in dBase III
10437database files (dbf and db3 files).")
10438 (license license:public-domain))))
10439
10440(define-public ecl-db3
10441 (sbcl-package->ecl-package sbcl-db3))
10442
10443(define-public cl-db3
10444 (sbcl-package->cl-source-package sbcl-db3))
10445
47a6cde0 10446(define-public sbcl-dbi
404f3703
GLV
10447 (let ((commit "7ba050dea8d137c1f85b7e704d4fc945104bf283")
10448 (revision "1"))
dba8f523
PN
10449 (package
10450 (name "sbcl-dbi")
404f3703 10451 (version (git-version "0.9.5" revision commit))
dba8f523
PN
10452 (source
10453 (origin
10454 (method git-fetch)
10455 (uri (git-reference
10456 (url "https://github.com/fukamachi/cl-dbi")
10457 (commit commit)))
404f3703 10458 (file-name (git-file-name "cl-dbi" version))
dba8f523 10459 (sha256
404f3703 10460 (base32 "0qkpsf8w7ig6chbf4r7j1j7fwa6kpi58ij4hbcxpa4irqdan8s9f"))))
dba8f523 10461 (build-system asdf-build-system/sbcl)
2ff8b5ba 10462 (native-inputs
404f3703
GLV
10463 `(("alexandria" ,sbcl-alexandria)
10464 ("rove" ,sbcl-rove)
2ff8b5ba 10465 ("trivial-types" ,sbcl-trivial-types)))
dba8f523
PN
10466 (inputs
10467 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2ff8b5ba
GLV
10468 ("cl-mysql" ,sbcl-cl-mysql)
10469 ("cl-sqlite" ,sbcl-cl-sqlite)
dba8f523 10470 ("closer-mop" ,sbcl-closer-mop)
2ff8b5ba
GLV
10471 ("postmodern" ,sbcl-postmodern)
10472 ("split-sequence" ,sbcl-split-sequence)
10473 ("trivial-garbage" ,sbcl-trivial-garbage)))
dba8f523 10474 (arguments
3f8bbf7c 10475 `(#:asd-systems '("dbi"
2ff8b5ba
GLV
10476 "dbd-mysql"
10477 "dbd-postgres"
10478 "dbd-sqlite3")))
dba8f523
PN
10479 (synopsis "Database independent interface for Common Lisp")
10480 (description
10481 "@code{dbi} is a Common Lisp library providing a database independent
47a6cde0 10482interface for MySQL, PostgreSQL and SQLite.")
dba8f523
PN
10483 (home-page "https://github.com/fukamachi/cl-dbi")
10484 (license license:llgpl))))
47a6cde0
GLV
10485
10486(define-public cl-dbi
10487 (sbcl-package->cl-source-package sbcl-dbi))
903d0e81 10488
e7cbcf5a
GLV
10489(define-public ecl-dbi
10490 (sbcl-package->ecl-package sbcl-dbi))
10491
1aa7ad1f
GLV
10492(define-public sbcl-uffi
10493 (package
10494 (name "sbcl-uffi")
10495 (version "2.1.2")
10496 (source
10497 (origin
10498 (method git-fetch)
10499 (uri (git-reference
10500 (url "http://git.kpe.io/uffi.git")
10501 (commit (string-append "v" version))))
10502 (file-name (git-file-name name version))
10503 (sha256
10504 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
10505 (build-system asdf-build-system/sbcl)
10506 (arguments
10507 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
3f8bbf7c 10508 #:asd-files '("uffi.asd")
1aa7ad1f
GLV
10509 #:phases
10510 (modify-phases %standard-phases
10511 (add-after 'unpack 'fix-permissions
10512 (lambda _
10513 (make-file-writable "doc/html.tar.gz")
10514 #t)))))
10515 (synopsis "Universal foreign function library for Common Lisp")
10516 (description
10517 "UFFI provides a universal foreign function interface (FFI)
10518 for Common Lisp.")
10519 (home-page "http://quickdocs.org/uffi/")
10520 (license license:llgpl)))
10521
10522(define-public cl-uffi
10523 (package
10524 (inherit (sbcl-package->cl-source-package sbcl-uffi))
10525 (arguments
10526 `(#:phases
10527 ;; asdf-build-system/source has its own phases and does not inherit
10528 ;; from asdf-build-system/sbcl phases.
10529 (modify-phases %standard-phases/source
3b392074
GLV
10530 ;; Already done in SBCL package.
10531 (delete 'reset-gzip-timestamps))))))
5ae56f68
GLV
10532
10533(define-public sbcl-clsql
10534 (package
10535 (name "sbcl-clsql")
10536 (version "6.7.0")
10537 (source
10538 (origin
10539 (method git-fetch)
10540 (uri (git-reference
10541 (url "http://git.kpe.io/clsql.git")
10542 (commit (string-append "v" version))))
10543 (file-name (git-file-name name version))
10544 (sha256
10545 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
10546 (snippet
10547 '(begin
10548 ;; Remove precompiled libraries.
10549 (delete-file "db-mysql/clsql_mysql.dll")
10550 (delete-file "uffi/clsql_uffi.dll")
10551 (delete-file "uffi/clsql_uffi.lib")
10552 #t))))
10553 (build-system asdf-build-system/sbcl)
10554 (native-inputs
2ff8b5ba 10555 `(("rt" ,sbcl-rt)))
5ae56f68 10556 (inputs
2ff8b5ba
GLV
10557 `(("cffi" ,sbcl-cffi)
10558 ("md5" ,sbcl-md5)
10559 ("mysql" ,mysql)
5ae56f68 10560 ("postgresql" ,postgresql)
2ff8b5ba 10561 ("postmodern" ,sbcl-postmodern)
5ae56f68 10562 ("sqlite" ,sqlite)
2ff8b5ba 10563 ("uffi" ,sbcl-uffi)
5ae56f68 10564 ("zlib" ,zlib)))
5ae56f68 10565 (arguments
135bc7e3 10566 `(#:asd-files '("clsql.asd"
2ff8b5ba
GLV
10567 "clsql-uffi.asd"
10568 "clsql-sqlite3.asd"
10569 "clsql-postgresql.asd"
10570 "clsql-postgresql-socket3.asd"
10571 "clsql-mysql.asd")
10572 #:asd-systems '("clsql"
10573 "clsql-sqlite3"
135bc7e3 10574 "clsql-postgresql"
2ff8b5ba
GLV
10575 "clsql-postgresql-socket3"
10576 "clsql-mysql")
10577 #:phases
10578 (modify-phases %standard-phases
5ae56f68
GLV
10579 (add-after 'unpack 'fix-permissions
10580 (lambda _
10581 (make-file-writable "doc/html.tar.gz")
2ff8b5ba 10582 #t))
135bc7e3
GLV
10583 (add-after 'unpack 'fix-build
10584 (lambda _
10585 (substitute* "clsql-uffi.asd"
10586 (("\\(:version uffi \"2.0\"\\)")
10587 "uffi"))
10588 (substitute* "db-postgresql/postgresql-api.lisp"
10589 (("\\(data :cstring\\)")
10590 "(data :string)"))
10591 #t))
2ff8b5ba
GLV
10592 (add-after 'unpack 'fix-paths
10593 (lambda* (#:key inputs outputs #:allow-other-keys)
10594 (substitute* "db-sqlite3/sqlite3-loader.lisp"
10595 (("libsqlite3")
10596 (string-append (assoc-ref inputs "sqlite")
10597 "/lib/libsqlite3")))
10598 (substitute* "db-postgresql/postgresql-loader.lisp"
10599 (("libpq")
10600 (string-append (assoc-ref inputs "postgresql")
10601 "/lib/libpq")))
10602 (let ((lib (string-append "#p\""
10603 (assoc-ref outputs "out")
10604 "/lib/\"")))
10605 (substitute* "clsql-mysql.asd"
10606 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
10607 lib))
10608 (substitute* "db-mysql/mysql-loader.lisp"
10609 (("libmysqlclient" all)
10610 (string-append (assoc-ref inputs "mysql") "/lib/" all))
10611 (("clsql-mysql-system::\\*library-file-dir\\*")
10612 lib)))
10613 #t))
10614 (add-before 'build 'build-helper-library
10615 (lambda* (#:key inputs outputs #:allow-other-keys)
10616 (let* ((mysql (assoc-ref inputs "mysql"))
10617 (inc-dir (string-append mysql "/include/mysql"))
10618 (lib-dir (string-append mysql "/lib"))
10619 (shared-lib-dir (string-append (assoc-ref outputs "out")
10620 "/lib"))
10621 (shared-lib (string-append shared-lib-dir
10622 "/clsql_mysql.so")))
10623 (mkdir-p shared-lib-dir)
10624 (invoke "gcc" "-fPIC" "-shared"
10625 "-I" inc-dir
10626 "db-mysql/clsql_mysql.c"
10627 "-Wl,-soname=clsql_mysql"
10628 "-L" lib-dir "-lmysqlclient" "-lz"
10629 "-o" shared-lib)
10630 #t)))
10631 (add-after 'unpack 'fix-tests
10632 (lambda _
10633 (substitute* "clsql.asd"
10634 (("clsql-tests :force t")
10635 "clsql-tests"))
10636 #t)))))
10637 (synopsis "Common Lisp SQL Interface library")
10638 (description
10639 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
10640Xanalys CommonSQL interface for Lispworks. It provides low-level database
10641interfaces as well as a functional and an object oriented interface.")
10642 (home-page "http://clsql.kpe.io/")
10643 (license license:llgpl)))
079ee3b5 10644
2ff8b5ba 10645(define-public cl-clsql
079ee3b5 10646 (package
2ff8b5ba
GLV
10647 (inherit (sbcl-package->cl-source-package sbcl-clsql))
10648 (native-inputs
10649 `(("rt" ,cl-rt)))
079ee3b5
GLV
10650 (inputs
10651 `(("mysql" ,mysql)
2ff8b5ba
GLV
10652 ("postgresql" ,postgresql)
10653 ("sqlite" ,sqlite)
079ee3b5 10654 ("zlib" ,zlib)))
2ff8b5ba
GLV
10655 (propagated-inputs
10656 `(("cffi" ,cl-cffi)
10657 ("md5" ,cl-md5)
10658 ("postmodern" ,cl-postmodern)
10659 ("uffi" ,cl-uffi)))
079ee3b5 10660 (arguments
2ff8b5ba
GLV
10661 `(#:phases
10662 ;; asdf-build-system/source has its own phases and does not inherit
10663 ;; from asdf-build-system/sbcl phases.
10664 (modify-phases %standard-phases/source
10665 (add-after 'unpack 'fix-permissions
10666 (lambda _
10667 (make-file-writable "doc/html.tar.gz")
10668 #t)))))))
6dfc981a 10669
bdd3b1b2
GLV
10670(define-public ecl-clsql
10671 (let ((pkg (sbcl-package->ecl-package sbcl-clsql)))
10672 (package
10673 (inherit pkg)
10674 (inputs
10675 (alist-delete "uffi" (package-inputs pkg)))
10676 (arguments
10677 (substitute-keyword-arguments (package-arguments pkg)
10678 ((#:asd-files asd-files '())
10679 `(cons "clsql-cffi.asd" ,asd-files)))))))
10680
6dfc981a
PN
10681(define-public sbcl-sycamore
10682 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
10683 (package
10684 (name "sbcl-sycamore")
10685 (version "0.0.20120604")
10686 (source
10687 (origin
10688 (method git-fetch)
10689 (uri (git-reference
10690 (url "https://github.com/ndantam/sycamore/")
10691 (commit commit)))
10692 (file-name (git-file-name name version))
10693 (sha256
10694 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
10695 (build-system asdf-build-system/sbcl)
6dfc981a
PN
10696 (inputs
10697 `(("alexandria" ,sbcl-alexandria)
10698 ("cl-ppcre" ,sbcl-cl-ppcre)))
10699 (synopsis "Purely functional data structure library in Common Lisp")
10700 (description
10701 "Sycamore is a fast, purely functional data structure library in Common Lisp.
10702If features:
10703
10704@itemize
10705@item Fast, purely functional weight-balanced binary trees.
10706@item Leaf nodes are simple-vectors, greatly reducing tree height.
10707@item Interfaces for tree Sets and Maps (dictionaries).
10708@item Ropes.
10709@item Purely functional pairing heaps.
10710@item Purely functional amortized queue.
10711@end itemize\n")
10712 (home-page "http://ndantam.github.io/sycamore/")
10713 (license license:bsd-3))))
10714
10715(define-public cl-sycamore
10716 (sbcl-package->cl-source-package sbcl-sycamore))
eb5341c2 10717
12df8b7b
GLV
10718(define-public ecl-sycamore
10719 (sbcl-package->ecl-package sbcl-sycamore))
10720
eb5341c2
PN
10721(define-public sbcl-trivial-package-local-nicknames
10722 (package
10723 (name "sbcl-trivial-package-local-nicknames")
10724 (version "0.2")
10725 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
10726 (source
10727 (origin
10728 (method git-fetch)
10729 (uri (git-reference
10730 (url home-page)
10731 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
10732 (file-name (git-file-name name version))
10733 (sha256
10734 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
10735 (build-system asdf-build-system/sbcl)
10736 (synopsis "Common Lisp compatibility library for package local nicknames")
10737 (description
10738 "This library is a portable compatibility layer around package local nicknames (PLN).
10739This was done so there is a portability library for the PLN API not included
10740in DEFPACKAGE.")
10741 (license license:unlicense)))
10742
10743(define-public cl-trivial-package-local-nicknames
10744 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
2fa04968 10745
12df8b7b
GLV
10746(define-public ecl-trivial-package-local-nicknames
10747 (sbcl-package->ecl-package sbcl-trivial-package-local-nicknames))
10748
2fa04968
PN
10749(define-public sbcl-enchant
10750 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
10751 (package
10752 (name "sbcl-enchant")
10753 (version (git-version "0.0.0" "1" commit))
10754 (home-page "https://github.com/tlikonen/cl-enchant")
10755 (source
10756 (origin
10757 (method git-fetch)
10758 (uri (git-reference
10759 (url home-page)
10760 (commit commit)))
10761 (file-name (git-file-name name version))
10762 (sha256
10763 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
10764 (build-system asdf-build-system/sbcl)
10765 (inputs
10766 `(("enchant" ,enchant)
10767 ("cffi" ,sbcl-cffi)))
10768 (arguments
10769 `(#:phases
10770 (modify-phases %standard-phases
10771 (add-after 'unpack 'fix-paths
10772 (lambda* (#:key inputs #:allow-other-keys)
10773 (substitute* "load-enchant.lisp"
10774 (("libenchant")
10775 (string-append
10776 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
10777 (synopsis "Common Lisp interface for the Enchant spell-checker library")
10778 (description
10779 "Enchant is a Common Lisp interface for the Enchant spell-checker
10780library. The Enchant library is a generic spell-checker library which uses
10781other spell-checkers transparently as back-end. The library supports the
10782multiple checkers, including Aspell and Hunspell.")
10783 (license license:public-domain))))
10784
10785(define-public cl-enchant
10786 (sbcl-package->cl-source-package sbcl-enchant))
df95189d 10787
e7cbcf5a
GLV
10788(define-public ecl-enchant
10789 (sbcl-package->ecl-package sbcl-enchant))
10790
df95189d 10791(define-public sbcl-cl-change-case
fc284b73
SH
10792 (let ((commit "45c70b601125889689e0c1c37d7e727a3a0af022")
10793 (revision "1"))
df95189d
PN
10794 (package
10795 (name "sbcl-cl-change-case")
fc284b73 10796 (version (git-version "0.2.0" revision commit))
df95189d
PN
10797 (home-page "https://github.com/rudolfochrist/cl-change-case")
10798 (source
10799 (origin
10800 (method git-fetch)
10801 (uri (git-reference
10802 (url home-page)
10803 (commit commit)))
6cf3b1c2 10804 (file-name (git-file-name "cl-change-case" version))
df95189d 10805 (sha256
fc284b73 10806 (base32 "0qmk341zzcsbf8sq0w9ix3r080zg4ri6vzxym63lhdjfzwz3y8if"))))
df95189d
PN
10807 (build-system asdf-build-system/sbcl)
10808 (inputs
10809 `(("cl-ppcre" ,sbcl-cl-ppcre)
10810 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
10811 (native-inputs
10812 `(("fiveam" ,sbcl-fiveam)))
6cf3b1c2
GLV
10813 (synopsis
10814 "Convert Common Lisp strings between camelCase, PascalCase and more")
df95189d 10815 (description
6cf3b1c2
GLV
10816 "@code{cl-change-case} is a library to convert strings between
10817camelCase, PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
df95189d
PN
10818 (license license:llgpl))))
10819
10820(define-public cl-change-case
10821 (sbcl-package->cl-source-package sbcl-cl-change-case))
53c05faf 10822
e7cbcf5a
GLV
10823(define-public ecl-cl-change-case
10824 (sbcl-package->ecl-package sbcl-cl-change-case))
10825
f39d8d2c
SH
10826(define-public sbcl-modularize
10827 (let ((commit "86c5d9a11fbd2df9f0f03ac10b5d71837c8934ba")
10828 (revision "1"))
10829 (package
10830 (name "sbcl-modularize")
10831 (version (git-version "1.0.0" revision commit))
10832 (source
10833 (origin
10834 (method git-fetch)
10835 (uri (git-reference
10836 (url "https://github.com/Shinmera/modularize")
10837 (commit commit)))
10838 (file-name (git-file-name name version))
10839 (sha256
10840 (base32 "1zys29rfkb649rkgl3snxhajk8d5yf7ryxkrwy020kwdh7zdsg7d"))))
10841 (build-system asdf-build-system/sbcl)
10842 (arguments
10843 `(#:test-asd-file "modularize-test-module.asd"
10844 #:asd-files '("modularize.asd" "modularize-test-module.asd")
10845 #:asd-systems '("modularize" "modularize-test-module")))
10846 (inputs
10847 `(("documentation-utils" ,sbcl-documentation-utils)
10848 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)))
10849 (home-page "https://shinmera.github.io/modularize/")
10850 (synopsis "Common Lisp modularization framework")
10851 (description
10852 "@code{MODULARIZE} is an attempt at providing a common interface to
10853segregate major application components. This is achieved by adding special
10854treatment to packages. Each module is a package that is specially registered,
10855which allows it to interact and co-exist with other modules in better ways. For
10856instance, by adding module definition options you can introduce mechanisms to
10857tie modules together in functionality, hook into each other and so on.")
10858 (license license:zlib))))
10859
10860(define-public ecl-modularize
10861 (sbcl-package->ecl-package sbcl-modularize))
10862
10863(define-public cl-modularize
10864 (sbcl-package->cl-source-package sbcl-modularize))
10865
82f4d5d2
SH
10866(define-public sbcl-modularize-hooks
10867 (let ((commit "e0348ed3ffd59a9ec31ca4ab28289e748bfbf96a")
10868 (revision "1"))
10869 (package
10870 (name "sbcl-modularize-hooks")
10871 (version (git-version "1.0.2" revision commit))
10872 (source
10873 (origin
10874 (method git-fetch)
10875 (uri (git-reference
10876 (url "https://github.com/Shinmera/modularize-hooks")
10877 (commit commit)))
10878 (file-name (git-file-name "modularize-hooks" version))
10879 (sha256
10880 (base32 "12kjvin8hxidwkzfb7inqv5b6g5qzcssnj9wc497v2ixc56fqdz7"))))
10881 (build-system asdf-build-system/sbcl)
10882 (inputs
10883 `(("closer-mop" ,sbcl-closer-mop)
10884 ("lambda-fiddle" ,sbcl-lambda-fiddle)
10885 ("modularize" ,sbcl-modularize)
10886 ("trivial-arguments" ,sbcl-trivial-arguments)))
10887 (home-page "https://shinmera.github.io/modularize-hooks/")
eccdc91e 10888 (synopsis "Generic hooks and triggers extension for Modularize")
82f4d5d2
SH
10889 (description
10890 "This is a simple extension to @code{MODULARIZE} that allows modules to
10891define and trigger hooks, which other modules can hook on to.")
10892 (license license:zlib))))
10893
10894(define-public ecl-modularize-hooks
10895 (sbcl-package->ecl-package sbcl-modularize-hooks))
10896
10897(define-public cl-modularize-hooks
10898 (sbcl-package->cl-source-package sbcl-modularize-hooks))
10899
34200753
SH
10900(define-public sbcl-modularize-interfaces
10901 (let ((commit "96353657afb8c7aeba7ef5b51eb04c5ed3bcb6ef")
10902 (revision "1"))
10903 (package
10904 (name "sbcl-modularize-interfaces")
10905 (version (git-version "0.9.3" revision commit))
10906 (source
10907 (origin
10908 (method git-fetch)
10909 (uri (git-reference
10910 (url "https://github.com/Shinmera/modularize-interfaces")
10911 (commit commit)))
10912 (file-name (git-file-name "modularize-interfaces" version))
10913 (sha256
10914 (base32 "0bjf4wy39cwf75m7vh0r7mmcchs09yz2lrbyap98hnq8blq70fhc"))))
10915 (build-system asdf-build-system/sbcl)
10916 (inputs
10917 `(("lambda-fiddle" ,sbcl-lambda-fiddle)
10918 ("modularize" ,sbcl-modularize)
10919 ("trivial-arguments" ,sbcl-trivial-arguments)
10920 ("trivial-indent" ,sbcl-trivial-indent)))
10921 (home-page "https://shinmera.github.io/modularize-interfaces/")
10922 (synopsis "Programmatical interfaces extension for Modularize")
10923 (description
10924 "This is an extension to @code{MODULARIZE} that allows your application
10925to define interfaces in-code that serve both as a primary documentation and as
10926compliance control.")
10927 (license license:zlib))))
10928
10929(define-public ecl-modularize-interfaces
10930 (sbcl-package->ecl-package sbcl-modularize-interfaces))
10931
10932(define-public cl-modularize-interfaces
10933 (sbcl-package->cl-source-package sbcl-modularize-interfaces))
10934
53c05faf
PN
10935(define-public sbcl-moptilities
10936 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
10937 (package
10938 (name "sbcl-moptilities")
10939 (version (git-version "0.3.13" "1" commit))
10940 (home-page "https://github.com/gwkkwg/moptilities/")
10941 (source
10942 (origin
10943 (method git-fetch)
10944 (uri (git-reference
10945 (url home-page)
10946 (commit commit)))
10947 (file-name (git-file-name name version))
10948 (sha256
10949 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
10950 (build-system asdf-build-system/sbcl)
10951 (inputs
10952 `(("closer-mop" ,sbcl-closer-mop)))
10953 (native-inputs
10954 `(("lift" ,sbcl-lift)))
466bf553
GLV
10955 (arguments
10956 `(#:phases
10957 (modify-phases %standard-phases
10958 (add-after 'unpack 'fix-tests
10959 (lambda _
10960 (substitute* "lift-standard.config"
10961 ((":relative-to lift-test")
10962 ":relative-to moptilities-test"))
10963 #t)))))
53c05faf
PN
10964 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
10965 (description
10966 "MOP utilities provide a common interface between Lisps and make the
10967MOP easier to use.")
10968 (license license:expat))))
10969
10970(define-public cl-moptilities
10971 (sbcl-package->cl-source-package sbcl-moptilities))
8cf6d150
PN
10972
10973(define-public sbcl-osicat
10974 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
10975 (package
10976 (name "sbcl-osicat")
10977 (version (git-version "0.7.0" "1" commit))
10978 (home-page "http://www.common-lisp.net/project/osicat/")
10979 (source
10980 (origin
10981 (method git-fetch)
10982 (uri (git-reference
10983 (url "https://github.com/osicat/osicat")
10984 (commit commit)))
10985 (file-name (git-file-name name version))
10986 (sha256
10987 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
10988 (build-system asdf-build-system/sbcl)
8cf6d150
PN
10989 (inputs
10990 `(("alexandria" ,sbcl-alexandria)
10991 ("cffi" ,sbcl-cffi)
10992 ("trivial-features" ,sbcl-trivial-features)))
10993 (native-inputs
2ff8b5ba 10994 `(("rt" ,sbcl-rt)))
8cf6d150
PN
10995 (synopsis "Operating system interface for Common Lisp")
10996 (description
10997 "Osicat is a lightweight operating system interface for Common Lisp on
10998Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
10999accompaniment to the standard ANSI facilities.")
11000 (license license:expat))))
11001
11002(define-public cl-osicat
11003 (sbcl-package->cl-source-package sbcl-osicat))
b2eae0e1 11004
e7cbcf5a
GLV
11005(define-public ecl-osicat
11006 (sbcl-package->ecl-package sbcl-osicat))
11007
152d50d9
KCB
11008(define-public sbcl-clx-xembed
11009 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
11010 (revision "1"))
11011 (package
11012 (name "sbcl-clx-xembed")
11013 (version (git-version "0.1" revision commit))
11014 (home-page "https://github.com/laynor/clx-xembed")
11015 (source
11016 (origin
11017 (method git-fetch)
11018 (uri (git-reference
b0e7b699 11019 (url "https://github.com/laynor/clx-xembed")
152d50d9
KCB
11020 (commit commit)))
11021 (file-name (git-file-name name version))
11022 (sha256
11023 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
11024 (build-system asdf-build-system/sbcl)
11025 (arguments
2ff8b5ba 11026 `(#:asd-systems '("xembed")))
152d50d9
KCB
11027 (inputs
11028 `(("sbcl-clx" ,sbcl-clx)))
11029 (synopsis "CL(x) xembed protocol implementation ")
11030 (description "CL(x) xembed protocol implementation")
11031 ;; MIT License
11032 (license license:expat))))
11033
11034(define-public cl-clx-xembed
11035 (sbcl-package->cl-source-package sbcl-clx-xembed))
11036
11037(define-public ecl-clx-xembed
11038 (sbcl-package->ecl-package sbcl-clx-xembed))
11039
b2eae0e1
KCB
11040(define-public sbcl-quantile-estimator
11041 (package
11042 (name "sbcl-quantile-estimator")
11043 (version "0.0.1")
11044 (source
11045 (origin
11046 (method git-fetch)
11047 (uri (git-reference
11048 (url "https://github.com/deadtrickster/quantile-estimator.cl")
11049 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
11050 (file-name (git-file-name name version))
11051 (sha256
11052 (base32
11053 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
11054 (build-system asdf-build-system/sbcl)
11055 (arguments
e765d9c9 11056 '(#:asd-files '("quantile-estimator.asd")))
b2eae0e1
KCB
11057 (inputs
11058 `(("alexandria" ,sbcl-alexandria)))
11059 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
11060 (synopsis
11061 "Effective computation of biased quantiles over data streams")
11062 (description
11063 "Common Lisp implementation of Graham Cormode and S.
11064Muthukrishnan's Effective Computation of Biased Quantiles over Data
11065Streams in ICDE’05.")
11066 (license license:expat)))
11067
11068(define-public cl-quantile-estimator
11069 (sbcl-package->cl-source-package sbcl-quantile-estimator))
11070
11071(define-public ecl-quantile-estimator
11072 (sbcl-package->ecl-package sbcl-quantile-estimator))
4c7c3077
KCB
11073
11074(define-public sbcl-prometheus
11075 (package
11076 (name "sbcl-prometheus")
11077 (version "0.4.1")
11078 (source
11079 (origin
11080 (method git-fetch)
11081 (uri (git-reference
b0e7b699 11082 (url "https://github.com/deadtrickster/prometheus.cl")
4c7c3077
KCB
11083 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
11084 (file-name (git-file-name name version))
11085 (sha256
11086 (base32
11087 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
11088 (build-system asdf-build-system/sbcl)
11089 (inputs
11090 `(("alexandria" ,sbcl-alexandria)
11091 ("bordeaux-threads" ,sbcl-bordeaux-threads)
2ff8b5ba
GLV
11092 ("cffi" ,sbcl-cffi)
11093 ("cl-fad" ,sbcl-cl-fad)
4c7c3077 11094 ("cl-ppcre" ,sbcl-cl-ppcre)
2ff8b5ba
GLV
11095 ("drakma" ,sbcl-drakma)
11096 ("hunchentoot" ,sbcl-hunchentoot)
4c7c3077 11097 ("local-time" ,sbcl-local-time)
2ff8b5ba
GLV
11098 ("quantile-estimator" ,sbcl-quantile-estimator)
11099 ("salza2" ,sbcl-salza2)
11100 ("split-sequence" ,sbcl-split-sequence)
11101 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
11102 (arguments
11103 '(#:asd-files '("prometheus.asd"
11104 "prometheus.collectors.sbcl.asd"
11105 "prometheus.collectors.process.asd"
11106 "prometheus.formats.text.asd"
11107 "prometheus.exposers.hunchentoot.asd"
11108 "prometheus.pushgateway.asd")
11109 #:asd-systems '("prometheus"
11110 "prometheus.collectors.sbcl"
11111 "prometheus.collectors.process"
11112 "prometheus.formats.text"
11113 "prometheus.exposers.hunchentoot"
11114 "prometheus.pushgateway")))
4c7c3077
KCB
11115 (home-page "https://github.com/deadtrickster/prometheus.cl")
11116 (synopsis "Prometheus.io Common Lisp client")
11117 (description "Prometheus.io Common Lisp client.")
11118 (license license:expat)))
11119
11120(define-public cl-prometheus
11121 (sbcl-package->cl-source-package sbcl-prometheus))
11122
11123(define-public ecl-prometheus
11124 (sbcl-package->ecl-package sbcl-prometheus))
4e21f5bc 11125
59dda970
KCB
11126(define-public sbcl-uuid
11127 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
11128 (package
11129 (name "sbcl-uuid")
11130 (version (git-version "2012.12.26" "1" commit))
11131 (source
11132 (origin
11133 (method git-fetch)
11134 (uri (git-reference
b0e7b699 11135 (url "https://github.com/dardoria/uuid")
59dda970
KCB
11136 (commit commit)))
11137 (file-name (git-file-name name version))
11138 (sha256
11139 (base32
11140 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
11141 (build-system asdf-build-system/sbcl)
11142 (inputs
11143 `(("ironclad" ,sbcl-ironclad)
11144 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
11145 (home-page "https://github.com/dardoria/uuid")
11146 (synopsis
11147 "Common Lisp implementation of UUIDs according to RFC4122")
11148 (description
11149 "Common Lisp implementation of UUIDs according to RFC4122.")
11150 (license license:llgpl))))
11151
11152(define-public cl-uuid
11153 (sbcl-package->cl-source-package sbcl-uuid))
11154
11155(define-public ecl-uuid
11156 (sbcl-package->ecl-package sbcl-uuid))
adf70454
KCB
11157
11158(define-public sbcl-dissect
11159 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
11160 (package
11161 (name "sbcl-dissect")
11162 (version (git-version "1.0.0" "1" commit))
11163 (source
11164 (origin
11165 (method git-fetch)
11166 (uri (git-reference
b0e7b699 11167 (url "https://github.com/Shinmera/dissect")
adf70454
KCB
11168 (commit commit)))
11169 (file-name (git-file-name name version))
11170 (sha256
11171 (base32
11172 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
11173 (build-system asdf-build-system/sbcl)
11174 (inputs
11175 `(("cl-ppcre" ,sbcl-cl-ppcre)))
11176 (home-page "https://shinmera.github.io/dissect/")
11177 (synopsis
11178 "Introspection library for the call stack and restarts")
11179 (description
11180 "Dissect is a small Common Lisp library for introspecting the call stack
11181and active restarts.")
11182 (license license:zlib))))
11183
11184(define-public cl-dissect
11185 (sbcl-package->cl-source-package sbcl-dissect))
11186
11187(define-public ecl-dissect
11188 (sbcl-package->ecl-package sbcl-dissect))
38d738e9 11189
38d738e9
KCB
11190(define-public sbcl-rove
11191 (package
11192 (name "sbcl-rove")
11193 (version "0.9.6")
11194 (source
11195 (origin
11196 (method git-fetch)
11197 (uri (git-reference
b0e7b699 11198 (url "https://github.com/fukamachi/rove")
38d738e9
KCB
11199 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
11200 (file-name (git-file-name name version))
11201 (sha256
11202 (base32
11203 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
11204 (build-system asdf-build-system/sbcl)
11205 (inputs
11206 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11207 ("dissect" ,sbcl-dissect)
11208 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
11209 (home-page "https://github.com/fukamachi/rove")
11210 (synopsis
11211 "Yet another common lisp testing library")
11212 (description
11213 "Rove is a unit testing framework for Common Lisp applications.
11214This is intended to be a successor of Prove.")
11215 (license license:bsd-3)))
11216
11217(define-public cl-rove
11218 (sbcl-package->cl-source-package sbcl-rove))
11219
11220(define-public ecl-rove
11221 (sbcl-package->ecl-package sbcl-rove))
aae3df18
KCB
11222
11223(define-public sbcl-exponential-backoff
11224 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
11225 (package
11226 (name "sbcl-exponential-backoff")
11227 (version (git-version "0" "1" commit))
11228 (source
11229 (origin
11230 (method git-fetch)
11231 (uri (git-reference
b0e7b699 11232 (url "https://github.com/death/exponential-backoff")
aae3df18
KCB
11233 (commit commit)))
11234 (file-name (git-file-name name version))
11235 (sha256
11236 (base32
11237 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
11238 (build-system asdf-build-system/sbcl)
11239 (home-page "https://github.com/death/exponential-backoff")
11240 (synopsis "Exponential backoff algorithm in Common Lisp")
11241 (description
11242 "An implementation of the exponential backoff algorithm in Common Lisp.
11243Inspired by the implementation found in Chromium. Read the header file to
11244learn about each of the parameters.")
11245 (license license:expat))))
11246
11247(define-public cl-exponential-backoff
11248 (sbcl-package->cl-source-package sbcl-exponential-backoff))
11249
11250(define-public ecl-exponential-backoff
11251 (sbcl-package->ecl-package sbcl-exponential-backoff))
3e736218
KCB
11252
11253(define-public sbcl-sxql
b0872fb2 11254 (let ((commit "acdd183a4c38b4e0699a285f8a711c88f6b4302c"))
3e736218
KCB
11255 (package
11256 (name "sbcl-sxql")
b0872fb2 11257 (version (git-version "0.1.0" "2" commit))
3e736218
KCB
11258 (source
11259 (origin
11260 (method git-fetch)
11261 (uri (git-reference
b0e7b699 11262 (url "https://github.com/fukamachi/sxql")
3e736218 11263 (commit commit)))
b0872fb2 11264 (file-name (git-file-name "sqxl" version))
3e736218 11265 (sha256
b0872fb2 11266 (base32 "1i1crdsf2nbyxxpvjgrwmwpjxn6a4drbcmqs4q4shfi8zyap7vng"))))
3e736218 11267 (build-system asdf-build-system/sbcl)
3e736218
KCB
11268 (inputs
11269 `(("alexandria" ,sbcl-alexandria)
b0872fb2 11270 ("cl-package-locks" ,sbcl-cl-package-locks)
2ff8b5ba 11271 ("cl-syntax" ,sbcl-cl-syntax)
3e736218
KCB
11272 ("iterate" ,sbcl-iterate)
11273 ("optima" ,sbcl-optima)
11274 ("split-sequence" ,sbcl-split-sequence)
11275 ("trivial-types" ,sbcl-trivial-types)))
11276 (native-inputs
2ff8b5ba 11277 `(("prove" ,sbcl-prove)))
3e736218
KCB
11278 (home-page "https://github.com/fukamachi/sxql")
11279 (synopsis "SQL generator for Common Lisp")
11280 (description "SQL generator for Common Lisp.")
11281 (license license:bsd-3))))
11282
11283(define-public cl-sxql
11284 (sbcl-package->cl-source-package sbcl-sxql))
11285
11286(define-public ecl-sxql
11287 (sbcl-package->ecl-package sbcl-sxql))
1f9999df
KCB
11288
11289(define-public sbcl-1am
11290 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
11291 (package
11292 (name "sbcl-1am")
11293 (version (git-version "0.0" "1" commit))
11294 (source
11295 (origin
11296 (method git-fetch)
11297 (uri (git-reference
b0e7b699 11298 (url "https://github.com/lmj/1am")
1f9999df
KCB
11299 (commit commit)))
11300 (file-name (git-file-name name version))
11301 (sha256
11302 (base32
11303 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
11304 (build-system asdf-build-system/sbcl)
1f9999df
KCB
11305 (home-page "https://github.com/lmj/1am")
11306 (synopsis "Minimal testing framework for Common Lisp")
11307 (description "A minimal testing framework for Common Lisp.")
11308 (license license:expat))))
11309
11310(define-public cl-1am
11311 (sbcl-package->cl-source-package sbcl-1am))
11312
11313(define-public ecl-1am
11314 (sbcl-package->ecl-package sbcl-1am))
d7c60681
GLV
11315
11316(define-public sbcl-cl-ascii-table
11317 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
11318 (revision "1"))
11319 (package
11320 (name "sbcl-cl-ascii-table")
11321 (version (git-version "0.0.0" revision commit))
11322 (source
11323 (origin
11324 (method git-fetch)
11325 (uri (git-reference
b0e7b699 11326 (url "https://github.com/telephil/cl-ascii-table")
d7c60681
GLV
11327 (commit commit)))
11328 (file-name (git-file-name name version))
11329 (sha256
11330 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
11331 (build-system asdf-build-system/sbcl)
11332 (synopsis "Library to make ascii-art tables")
11333 (description
11334 "This is a Common Lisp library to present tabular data in ascii-art
11335tables.")
11336 (home-page "https://github.com/telephil/cl-ascii-table")
11337 (license license:expat))))
11338
11339(define-public cl-ascii-table
11340 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
11341
11342(define-public ecl-cl-ascii-table
11343 (sbcl-package->ecl-package sbcl-cl-ascii-table))
64174aff
KCB
11344
11345(define-public sbcl-cl-rdkafka
11346 (package
11347 (name "sbcl-cl-rdkafka")
ea6b4b90 11348 (version "1.1.0")
64174aff
KCB
11349 (source
11350 (origin
11351 (method git-fetch)
11352 (uri (git-reference
b0e7b699 11353 (url "https://github.com/SahilKang/cl-rdkafka")
64174aff
KCB
11354 (commit (string-append "v" version))))
11355 (file-name (git-file-name name version))
11356 (sha256
11357 (base32
ea6b4b90 11358 "0z2g0k0xy8k1p9g93h8dy9wbygaq7ziwagm4yz93zk67mhc0b84v"))))
64174aff
KCB
11359 (build-system asdf-build-system/sbcl)
11360 (arguments
11361 `(#:tests? #f ; Attempts to connect to locally running Kafka
11362 #:phases
11363 (modify-phases %standard-phases
11364 (add-after 'unpack 'fix-paths
11365 (lambda* (#:key inputs #:allow-other-keys)
11366 (substitute* "src/low-level/librdkafka-bindings.lisp"
11367 (("librdkafka" all)
11368 (string-append (assoc-ref inputs "librdkafka") "/lib/"
f596b476 11369 all))))))))
64174aff
KCB
11370 (inputs
11371 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11372 ("cffi" ,sbcl-cffi)
64174aff
KCB
11373 ("librdkafka" ,librdkafka)
11374 ("lparallel" ,sbcl-lparallel)
11375 ("trivial-garbage" ,sbcl-trivial-garbage)))
11376 (home-page "https://github.com/SahilKang/cl-rdkafka")
11377 (synopsis "Common Lisp client library for Apache Kafka")
11378 (description "A Common Lisp client library for Apache Kafka.")
11379 (license license:gpl3)))
11380
11381(define-public cl-rdkafka
11382 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
04dd8018 11383
e7cbcf5a
GLV
11384(define-public ecl-cl-rdkafka
11385 (sbcl-package->ecl-package sbcl-cl-rdkafka))
11386
04dd8018
PN
11387(define-public sbcl-acclimation
11388 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
11389 (package
11390 (name "sbcl-acclimation")
11391 (version (git-version "0.0.0" "1" commit))
11392 (source
11393 (origin
11394 (method git-fetch)
11395 (uri (git-reference
11396 (url "https://github.com/robert-strandh/Acclimation")
11397 (commit commit)))
11398 (file-name (git-file-name name version))
11399 (sha256
11400 (base32
11401 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
11402 (build-system asdf-build-system/sbcl)
11403 (home-page "https://github.com/robert-strandh/Acclimation")
11404 (synopsis "Internationalization library for Common Lisp")
11405 (description "This project is meant to provide tools for
11406internationalizing Common Lisp programs.
11407
11408One important aspect of internationalization is of course the language used in
11409error messages, documentation strings, etc. But with this project we provide
11410tools for all other aspects of internationalization as well, including dates,
11411weight, temperature, names of physical quantitites, etc.")
11412 (license license:bsd-2))))
11413
11414(define-public cl-acclimation
11415 (sbcl-package->cl-source-package sbcl-acclimation))
ba1727b0 11416
e7cbcf5a
GLV
11417(define-public ecl-acclimation
11418 (sbcl-package->ecl-package sbcl-acclimation))
11419
2ff8b5ba 11420(define-public sbcl-clump
ba1727b0
PN
11421 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
11422 (package
2ff8b5ba 11423 (name "sbcl-clump")
ba1727b0
PN
11424 (version (git-version "0.0.0" "1" commit))
11425 (source
11426 (origin
11427 (method git-fetch)
11428 (uri (git-reference
11429 (url "https://github.com/robert-strandh/Clump")
11430 (commit commit)))
11431 (file-name (git-file-name name version))
11432 (sha256
11433 (base32
11434 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
ba1727b0
PN
11435 (inputs
11436 `(("acclimation" ,sbcl-acclimation)))
11437 (build-system asdf-build-system/sbcl)
11438 (home-page "https://github.com/robert-strandh/Clump")
2ff8b5ba 11439 (synopsis "Collection of tree implementations for Common Lisp")
ba1727b0
PN
11440 (description "The purpose of this library is to provide a collection of
11441implementations of trees.
11442
11443In contrast to existing libraries such as cl-containers, it does not impose a
11444particular use for the trees. Instead, it aims for a stratified design,
11445allowing client code to choose between different levels of abstraction.
11446
11447As a consequence of this policy, low-level interfaces are provided where
11448the concrete representation is exposed, but also high level interfaces
11449where the trees can be used as search trees or as trees that represent
11450sequences of objects.")
11451 (license license:bsd-2))))
106354ea 11452
409fcee9
PN
11453(define-public cl-clump
11454 (sbcl-package->cl-source-package sbcl-clump))
19a1a98f 11455
e7cbcf5a
GLV
11456(define-public ecl-clump
11457 (sbcl-package->ecl-package sbcl-clump))
11458
2ff8b5ba 11459(define-public sbcl-cluffer
19a1a98f
PN
11460 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
11461 (package
2ff8b5ba 11462 (name "sbcl-cluffer")
19a1a98f
PN
11463 (version (git-version "0.0.0" "1" commit))
11464 (source
11465 (origin
11466 (method git-fetch)
11467 (uri (git-reference
11468 (url "https://github.com/robert-strandh/cluffer")
11469 (commit commit)))
11470 (file-name (git-file-name name version))
11471 (sha256
11472 (base32
11473 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
19a1a98f 11474 (build-system asdf-build-system/sbcl)
2ff8b5ba
GLV
11475 (inputs
11476 `(("acclimation" ,sbcl-acclimation)
11477 ("clump" ,sbcl-clump)))
19a1a98f
PN
11478 (home-page "https://github.com/robert-strandh/cluffer")
11479 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
11480 (description "Cluffer is a library for representing the buffer of a text
11481editor. As such, it defines a set of CLOS protocols for client code to
11482interact with the buffer contents in various ways, and it supplies different
11483implementations of those protocols for different purposes.")
11484 (license license:bsd-2))))
a4a24f66 11485
89c98c06
PN
11486(define-public cl-cluffer
11487 (sbcl-package->cl-source-package sbcl-cluffer))
8f1ab4fb 11488
e7cbcf5a
GLV
11489(define-public ecl-cluffer
11490 (sbcl-package->ecl-package sbcl-cluffer))
11491
8f1ab4fb
GLV
11492(define-public sbcl-cl-libsvm-format
11493 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
11494 (revision "0"))
11495 (package
11496 (name "sbcl-cl-libsvm-format")
11497 (version (git-version "0.1.0" revision commit))
11498 (source
11499 (origin
11500 (method git-fetch)
11501 (uri (git-reference
b0e7b699 11502 (url "https://github.com/masatoi/cl-libsvm-format")
8f1ab4fb
GLV
11503 (commit commit)))
11504 (file-name (git-file-name name version))
11505 (sha256
11506 (base32
11507 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
11508 (build-system asdf-build-system/sbcl)
11509 (native-inputs
2ff8b5ba 11510 `(("prove" ,sbcl-prove)))
8f1ab4fb
GLV
11511 (inputs
11512 `(("alexandria" ,sbcl-alexandria)))
11513 (synopsis "LibSVM data format reader for Common Lisp")
11514 (description
11515 "This Common Lisp library provides a fast reader for data in LibSVM
11516format.")
11517 (home-page "https://github.com/masatoi/cl-libsvm-format")
11518 (license license:expat))))
11519
11520(define-public cl-libsvm-format
11521 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
11522
11523(define-public ecl-cl-libsvm-format
11524 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
11525
11526(define-public sbcl-cl-online-learning
e11055f0
SH
11527 (let ((commit "87fbef8a340219e853adb3a5bf44a0470da76964")
11528 (revision "1"))
8f1ab4fb
GLV
11529 (package
11530 (name "sbcl-cl-online-learning")
11531 (version (git-version "0.5" revision commit))
11532 (source
11533 (origin
11534 (method git-fetch)
11535 (uri (git-reference
b0e7b699 11536 (url "https://github.com/masatoi/cl-online-learning")
8f1ab4fb 11537 (commit commit)))
e11055f0 11538 (file-name (git-file-name "cl-online-learning" version))
8f1ab4fb
GLV
11539 (sha256
11540 (base32
e11055f0 11541 "1lfq04lnxivx59nq5dd02glyqsqzf3vdn4s9b8wnaln5fs8g2ph9"))))
8f1ab4fb
GLV
11542 (build-system asdf-build-system/sbcl)
11543 (native-inputs
2ff8b5ba 11544 `(("prove" ,sbcl-prove)))
8f1ab4fb
GLV
11545 (inputs
11546 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11547 ("cl-store" ,sbcl-cl-store)))
11548 (arguments
e11055f0
SH
11549 `(#:test-asd-file "cl-online-learning-test.asd"
11550 #:asd-systems '("cl-online-learning-test"
11551 "cl-online-learning")))
11552 (home-page "https://github.com/masatoi/cl-online-learning")
8f1ab4fb
GLV
11553 (synopsis "Online Machine Learning for Common Lisp")
11554 (description
11555 "This library contains a collection of machine learning algorithms for
11556online linear classification written in Common Lisp.")
8f1ab4fb
GLV
11557 (license license:expat))))
11558
11559(define-public cl-online-learning
11560 (sbcl-package->cl-source-package sbcl-cl-online-learning))
11561
11562(define-public ecl-cl-online-learning
11563 (sbcl-package->ecl-package sbcl-cl-online-learning))
11564
b41d8a70
SH
11565(define-public sbcl-cl-mpg123
11566 (let ((commit "5f042c839d2ea4a2ff2a7b60c839d8633d64161d")
11567 (revision "1"))
11568 (package
11569 (name "sbcl-cl-mpg123")
11570 (version (git-version "1.0.0" revision commit))
11571 (source
11572 (origin
11573 (method git-fetch)
11574 (uri (git-reference
11575 (url "https://github.com/Shirakumo/cl-mpg123")
11576 (commit commit)))
11577 (file-name (git-file-name "cl-mpg123" version))
11578 (sha256
11579 (base32 "1hl721xaczxck008ax2y3jpkm509ry1sg3lklh2k76764m3ndrjf"))
11580 (modules '((guix build utils)))
11581 (snippet
11582 '(begin
11583 ;; Remove bundled pre-compiled libraries.
11584 (delete-file-recursively "static")
11585 #t))))
11586 (build-system asdf-build-system/sbcl)
11587 (arguments
11588 `(#:asd-files '("cl-mpg123.asd" "cl-mpg123-example.asd")
11589 #:asd-systems '("cl-mpg123" "cl-mpg123-example")
11590 #:phases
11591 (modify-phases %standard-phases
11592 (add-after 'unpack 'fix-paths
11593 (lambda* (#:key inputs #:allow-other-keys)
11594 (substitute* "low-level.lisp"
11595 (("libmpg123.so" all)
11596 (string-append (assoc-ref inputs "libmpg123")
11597 "/lib/" all))))))))
11598 (inputs
11599 `(("cffi" ,sbcl-cffi)
11600 ("cl-out123" ,sbcl-cl-out123)
11601 ("documentation-utils" ,sbcl-documentation-utils)
11602 ("libmpg123" ,mpg123)
11603 ("trivial-features" ,sbcl-trivial-features)
11604 ("trivial-garbage" ,sbcl-trivial-garbage)
11605 ("verbose" ,sbcl-verbose)))
11606 (home-page "https://shirakumo.github.io/cl-mpg123/")
11607 (synopsis "Common Lisp bindings to libmpg123")
11608 (description
11609 "This is a bindings and wrapper library to @code{libmpg123} allowing for
11610convenient, extensive, and fast decoding of MPEG1/2/3 (most prominently mp3)
11611files.")
11612 (license license:zlib))))
11613
11614(define-public ecl-cl-mpg123
11615 (sbcl-package->ecl-package sbcl-cl-mpg123))
11616
11617(define-public cl-mpg123
11618 (sbcl-package->cl-source-package sbcl-cl-mpg123))
11619
9c8ed43d
SH
11620(define-public sbcl-cl-out123
11621 (let ((commit "6b58d3f8c2a28ad09059ac4c60fb3c781b9b421b")
11622 (revision "1"))
11623 (package
11624 (name "sbcl-cl-out123")
11625 (version (git-version "1.0.0" revision commit))
11626 (source
11627 (origin
11628 (method git-fetch)
11629 (uri (git-reference
11630 (url "https://github.com/Shirakumo/cl-out123")
11631 (commit commit)))
11632 (file-name (git-file-name "cl-out123" version))
11633 (sha256
11634 (base32 "0mdwgfax6sq68wvdgjjp78i40ah7wqkpqnvaq8a1c509k7ghdgv1"))
11635 (modules '((guix build utils)))
11636 (snippet
11637 '(begin
11638 ;; Remove bundled pre-compiled libraries.
11639 (delete-file-recursively "static")
11640 #t))))
11641 (build-system asdf-build-system/sbcl)
11642 (arguments
11643 `(#:phases
11644 (modify-phases %standard-phases
11645 (add-after 'unpack 'fix-paths
11646 (lambda* (#:key inputs #:allow-other-keys)
11647 (substitute* "low-level.lisp"
11648 (("libout123.so" all)
11649 (string-append (assoc-ref inputs "libout123")
11650 "/lib/" all)))))
11651 ;; NOTE: (Sharlatan-20210129T134529+0000): ECL package `ext' has no
11652 ;; exported macro `without-interrupts' it's moved to `mp' package
11653 ;; https://github.com/Shirakumo/cl-out123/issues/2
11654 ;; https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/src/lsp/mp.lsp
11655 (add-after 'unpack 'fix-ecl-package-name
11656 (lambda _
11657 (substitute* "wrapper.lisp"
11658 (("ext:without-interrupts.*") "mp:without-interrupts\n"))
11659 #t)))))
11660 (inputs
11661 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11662 ("cffi" ,sbcl-cffi)
11663 ("documentation-utils" ,sbcl-documentation-utils)
11664 ("libout123" ,mpg123)
11665 ("trivial-features" ,sbcl-trivial-features)
11666 ("trivial-garbage" ,sbcl-trivial-garbage)))
11667 (home-page "https://shirakumo.github.io/cl-out123/")
11668 (synopsis "Common Lisp bindings to libout123")
11669 (description
11670 "This is a bindings library to @code{libout123} which allows easy
11671cross-platform audio playback.")
11672 (license license:zlib))))
11673
11674(define-public ecl-cl-out123
11675 (sbcl-package->ecl-package sbcl-cl-out123))
11676
11677(define-public cl-out123
11678 (sbcl-package->cl-source-package sbcl-cl-out123))
11679
8f1ab4fb 11680(define-public sbcl-cl-random-forest
4e7d5e32
GLV
11681 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
11682 (revision "1"))
8f1ab4fb
GLV
11683 (package
11684 (name "sbcl-cl-random-forest")
11685 (version (git-version "0.1" revision commit))
11686 (source
11687 (origin
11688 (method git-fetch)
11689 (uri (git-reference
b0e7b699 11690 (url "https://github.com/masatoi/cl-random-forest")
8f1ab4fb
GLV
11691 (commit commit)))
11692 (file-name (git-file-name name version))
11693 (sha256
11694 (base32
4e7d5e32 11695 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
8f1ab4fb
GLV
11696 (build-system asdf-build-system/sbcl)
11697 (native-inputs
11698 `(("prove" ,sbcl-prove)
8f1ab4fb
GLV
11699 ("trivial-garbage" ,sbcl-trivial-garbage)))
11700 (inputs
11701 `(("alexandria" ,sbcl-alexandria)
11702 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11703 ("cl-online-learning" ,sbcl-cl-online-learning)
11704 ("lparallel" ,sbcl-lparallel)))
11705 (arguments
11706 `(#:tests? #f)) ; The tests download data from the Internet
11707 (synopsis "Random Forest and Global Refinement for Common Lisp")
11708 (description
11709 "CL-random-forest is an implementation of Random Forest for multiclass
11710classification and univariate regression written in Common Lisp. It also
11711includes an implementation of Global Refinement of Random Forest.")
11712 (home-page "https://github.com/masatoi/cl-random-forest")
11713 (license license:expat))))
11714
11715(define-public cl-random-forest
11716 (sbcl-package->cl-source-package sbcl-cl-random-forest))
11717
11718(define-public ecl-cl-random-forest
11719 (sbcl-package->ecl-package sbcl-cl-random-forest))
5a2997e5
GLV
11720
11721(define-public sbcl-bordeaux-fft
11722 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
11723 (revision "0"))
11724 (package
11725 (name "sbcl-bordeaux-fft")
11726 (version (git-version "1.0.1" revision commit))
11727 (source
11728 (origin
11729 (method git-fetch)
11730 (uri (git-reference
b0e7b699 11731 (url "https://github.com/ahefner/bordeaux-fft")
5a2997e5
GLV
11732 (commit commit)))
11733 (file-name (git-file-name name version))
11734 (sha256
11735 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
11736 (build-system asdf-build-system/sbcl)
11737 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
11738 (synopsis "Fast Fourier Transform for Common Lisp")
11739 (description
11740 "The Bordeaux-FFT library provides a reasonably efficient implementation
11741of the Fast Fourier Transform and its inverse for complex-valued inputs, in
11742portable Common Lisp.")
11743 (license license:gpl2+))))
11744
11745(define-public cl-bordeaux-fft
11746 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
11747
11748(define-public ecl-bordeaux-fft
11749 (sbcl-package->ecl-package sbcl-bordeaux-fft))
c7ce30cd
GLV
11750
11751(define-public sbcl-napa-fft3
11752 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
11753 (revision "0"))
11754 (package
11755 (name "sbcl-napa-fft3")
11756 (version (git-version "0.0.1" revision commit))
11757 (source
11758 (origin
11759 (method git-fetch)
11760 (uri (git-reference
b0e7b699 11761 (url "https://github.com/pkhuong/Napa-FFT3")
c7ce30cd
GLV
11762 (commit commit)))
11763 (file-name (git-file-name name version))
11764 (sha256
11765 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
11766 (build-system asdf-build-system/sbcl)
11767 (home-page "https://github.com/pkhuong/Napa-FFT3")
11768 (synopsis "Fast Fourier Transform routines in Common Lisp")
11769 (description
11770 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
11771buildings blocks to express common operations that involve DFTs: filtering,
11772convolutions, etc.")
11773 (license license:bsd-3))))
11774
11775(define-public cl-napa-fft3
11776 (sbcl-package->cl-source-package sbcl-napa-fft3))
2020a056
GLV
11777
11778(define-public sbcl-cl-tga
11779 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
11780 (revision "0"))
11781 (package
11782 (name "sbcl-cl-tga")
11783 (version (git-version "0.0.0" revision commit))
11784 (source
11785 (origin
11786 (method git-fetch)
11787 (uri (git-reference
11788 (url "https://github.com/fisxoj/cl-tga")
11789 (commit commit)))
11790 (file-name (git-file-name name version))
11791 (sha256
11792 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
11793 (build-system asdf-build-system/sbcl)
11794 (home-page "https://github.com/fisxoj/cl-tga")
11795 (synopsis "TGA file loader for Common Lisp")
11796 (description
11797 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
11798programs. It's a very simple library, and, at the moment, only supports
11799non-RLE encoded forms of the files.")
11800 (license license:expat))))
11801
11802(define-public cl-tga
11803 (sbcl-package->cl-source-package sbcl-cl-tga))
11804
11805(define-public ecl-cl-tga
11806 (sbcl-package->ecl-package sbcl-cl-tga))
31c67a85
GLV
11807
11808(define-public sbcl-com.gigamonkeys.binary-data
11809 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
11810 (revision "0"))
11811 (package
11812 (name "sbcl-com.gigamonkeys.binary-data")
11813 (version (git-version "0.0.0" revision commit))
11814 (source
11815 (origin
11816 (method git-fetch)
11817 (uri (git-reference
11818 (url "https://github.com/gigamonkey/monkeylib-binary-data")
11819 (commit commit)))
11820 (file-name (git-file-name name version))
11821 (sha256
11822 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
11823 (build-system asdf-build-system/sbcl)
11824 (inputs
11825 `(("alexandria" ,sbcl-alexandria)))
11826 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
11827 (synopsis "Common Lisp library for reading and writing binary data")
11828 (description
11829 "This a Common Lisp library for reading and writing binary data. It is
11830based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
11831 (license license:bsd-3))))
11832
11833(define-public cl-com.gigamonkeys.binary-data
11834 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
11835
11836(define-public ecl-com.gigamonkeys.binary-data
11837 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
556daf64
GLV
11838
11839(define-public sbcl-deflate
11840 (package
11841 (name "sbcl-deflate")
11842 (version "1.0.3")
11843 (source
11844 (origin
11845 (method git-fetch)
11846 (uri (git-reference
11847 (url "https://github.com/pmai/Deflate")
11848 (commit (string-append "release-" version))))
11849 (file-name (git-file-name name version))
11850 (sha256
11851 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
11852 (build-system asdf-build-system/sbcl)
11853 (home-page "https://github.com/pmai/Deflate")
11854 (synopsis "Native deflate decompression for Common Lisp")
11855 (description
11856 "This library is an implementation of Deflate (RFC 1951) decompression,
11857with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
11858wrappers of deflate streams. It currently does not handle compression.")
11859 (license license:expat)))
11860
11861(define-public cl-deflate
11862 (sbcl-package->cl-source-package sbcl-deflate))
11863
11864(define-public ecl-deflate
11865 (sbcl-package->ecl-package sbcl-deflate))
7387c090
GLV
11866
11867(define-public sbcl-skippy
11868 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
11869 (revision "0"))
11870 (package
11871 (name "sbcl-skippy")
11872 (version (git-version "1.3.12" revision commit))
11873 (source
11874 (origin
11875 (method git-fetch)
11876 (uri (git-reference
11877 (url "https://github.com/xach/skippy")
11878 (commit commit)))
11879 (file-name (git-file-name name version))
11880 (sha256
11881 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
11882 (build-system asdf-build-system/sbcl)
11883 (home-page "https://xach.com/lisp/skippy/")
11884 (synopsis "Common Lisp library for GIF images")
11885 (description
11886 "Skippy is a Common Lisp library to read and write GIF image files.")
11887 (license license:bsd-2))))
11888
11889(define-public cl-skippy
11890 (sbcl-package->cl-source-package sbcl-skippy))
11891
11892(define-public ecl-skippy
11893 (sbcl-package->ecl-package sbcl-skippy))
ec2c73b8
GLV
11894
11895(define-public sbcl-cl-freetype2
11896 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
11897 (revision "0"))
11898 (package
11899 (name "sbcl-cl-freetype2")
11900 (version (git-version "1.1" revision commit))
11901 (source
11902 (origin
11903 (method git-fetch)
11904 (uri (git-reference
11905 (url "https://github.com/rpav/cl-freetype2")
11906 (commit commit)))
11907 (file-name (git-file-name name version))
11908 (sha256
11909 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
11910 (build-system asdf-build-system/sbcl)
11911 (native-inputs
11912 `(("fiveam" ,sbcl-fiveam)))
11913 (inputs
11914 `(("alexandria" ,sbcl-alexandria)
11915 ("cffi" ,sbcl-cffi)
ec2c73b8
GLV
11916 ("freetype" ,freetype)
11917 ("trivial-garbage" ,sbcl-trivial-garbage)))
11918 (arguments
11919 `(#:phases
11920 (modify-phases %standard-phases
11921 (add-after 'unpack 'fix-paths
11922 (lambda* (#:key inputs #:allow-other-keys)
11923 (substitute* "src/ffi/ft2-lib.lisp"
11924 (("\"libfreetype\"")
11925 (string-append "\"" (assoc-ref inputs "freetype")
11926 "/lib/libfreetype\"")))
11927 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
11928 (("-I/usr/include/freetype")
11929 (string-append "-I" (assoc-ref inputs "freetype")
11930 "/include/freetype")))
11931 #t)))))
11932 (home-page "https://github.com/rpav/cl-freetype2")
11933 (synopsis "Common Lisp bindings for Freetype 2")
11934 (description
11935 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
11936geared toward both using Freetype directly by providing a simplified API, as
11937well as providing access to the underlying C structures and functions for use
11938with other libraries which may also use Freetype.")
11939 (license license:bsd-3))))
11940
11941(define-public cl-freetype2
11942 (sbcl-package->cl-source-package sbcl-cl-freetype2))
11943
11944(define-public ecl-cl-freetype2
11945 (sbcl-package->ecl-package sbcl-cl-freetype2))
fc748ff0
GLV
11946
11947(define-public sbcl-opticl-core
11948 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
11949 (revision "0"))
11950 (package
11951 (name "sbcl-opticl-core")
11952 (version (git-version "0.0.0" revision commit))
11953 (source
11954 (origin
11955 (method git-fetch)
11956 (uri (git-reference
11957 (url "https://github.com/slyrus/opticl-core")
11958 (commit commit)))
11959 (file-name (git-file-name name version))
11960 (sha256
11961 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
11962 (build-system asdf-build-system/sbcl)
11963 (inputs
11964 `(("alexandria" ,sbcl-alexandria)))
11965 (home-page "https://github.com/slyrus/opticl-core")
11966 (synopsis "Core classes and pixel access macros for Opticl")
11967 (description
11968 "This Common Lisp library contains the core classes and pixel access
11969macros for the Opticl image processing library.")
11970 (license license:bsd-2))))
11971
11972(define-public cl-opticl-core
11973 (sbcl-package->cl-source-package sbcl-opticl-core))
11974
11975(define-public ecl-opticl-core
11976 (sbcl-package->ecl-package sbcl-opticl-core))
1c1b0532
GLV
11977
11978(define-public sbcl-retrospectiff
11979 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
11980 (revision "0"))
11981 (package
11982 (name "sbcl-retrospectiff")
11983 (version (git-version "0.2" revision commit))
11984 (source
11985 (origin
11986 (method git-fetch)
11987 (uri (git-reference
11988 (url "https://github.com/slyrus/retrospectiff")
11989 (commit commit)))
11990 (file-name (git-file-name name version))
11991 (sha256
11992 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
11993 (build-system asdf-build-system/sbcl)
11994 (native-inputs
11995 `(("fiveam" ,sbcl-fiveam)))
11996 (inputs
11997 `(("cl-jpeg" ,sbcl-cl-jpeg)
11998 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
11999 ("deflate" ,sbcl-deflate)
12000 ("flexi-streams" ,sbcl-flexi-streams)
12001 ("ieee-floats" ,sbcl-ieee-floats)
12002 ("opticl-core" ,sbcl-opticl-core)))
12003 (home-page "https://github.com/slyrus/retrospectiff")
12004 (synopsis "Common Lisp library for TIFF images")
12005 (description
12006 "Retrospectiff is a common lisp library for reading and writing images
12007in the TIFF (Tagged Image File Format) format.")
12008 (license license:bsd-2))))
12009
2ff8b5ba
GLV
12010(define-public cl-retrospectif
12011 (sbcl-package->cl-source-package sbcl-retrospectiff))
b0e7bc35 12012
2ff8b5ba
GLV
12013(define-public ecl-retrospectiff
12014 (sbcl-package->ecl-package sbcl-retrospectiff))
b736e9ba 12015
2ff8b5ba
GLV
12016(define-public sbcl-mmap
12017 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
b736e9ba
GLV
12018 (revision "0"))
12019 (package
2ff8b5ba
GLV
12020 (name "sbcl-mmap")
12021 (version (git-version "1.0.0" revision commit))
b736e9ba
GLV
12022 (source
12023 (origin
12024 (method git-fetch)
12025 (uri (git-reference
2ff8b5ba 12026 (url "https://github.com/Shinmera/mmap")
b736e9ba
GLV
12027 (commit commit)))
12028 (file-name (git-file-name name version))
12029 (sha256
2ff8b5ba 12030 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
b736e9ba
GLV
12031 (build-system asdf-build-system/sbcl)
12032 (native-inputs
b736e9ba 12033 `(("alexandria" ,sbcl-alexandria)
2ff8b5ba
GLV
12034 ("cffi" ,sbcl-cffi)
12035 ("parachute" ,sbcl-parachute)
12036 ("trivial-features" ,sbcl-trivial-features)))
12037 (inputs
12038 `(("cffi" ,sbcl-cffi)
12039 ("documentation-utils" ,sbcl-documentation-utils)))
12040 (home-page "https://shinmera.github.io/mmap/")
12041 (synopsis "File memory mapping for Common Lisp")
b736e9ba 12042 (description
2ff8b5ba
GLV
12043 "This is a utility library providing access to the @emph{mmap} family of
12044functions in a portable way. It allows you to directly map a file into the
12045address space of your process without having to manually read it into memory
12046sequentially. Typically this is much more efficient for files that are larger
12047than a few Kb.")
12048 (license license:zlib))))
b736e9ba 12049
2ff8b5ba
GLV
12050(define-public cl-mmap
12051 (sbcl-package->cl-source-package sbcl-mmap))
d0a6906d 12052
2ff8b5ba
GLV
12053(define-public ecl-mmap
12054 (sbcl-package->ecl-package sbcl-mmap))
12055
12056(define-public sbcl-3bz
13337a2f
SH
12057 (let ((commit "569614c40408f3aefc77ba233e0e4bd66d3850ad")
12058 (revision "1"))
d0a6906d 12059 (package
2ff8b5ba
GLV
12060 (name "sbcl-3bz")
12061 (version (git-version "0.0.0" revision commit))
d0a6906d
GLV
12062 (source
12063 (origin
12064 (method git-fetch)
12065 (uri (git-reference
2ff8b5ba 12066 (url "https://github.com/3b/3bz")
d0a6906d
GLV
12067 (commit commit)))
12068 (file-name (git-file-name name version))
12069 (sha256
13337a2f 12070 (base32 "0kvvlvf50jhhw1s510f3clpr1a68632bq6d698yxcrx722igcrg4"))))
d0a6906d
GLV
12071 (build-system asdf-build-system/sbcl)
12072 (inputs
12073 `(("alexandria" ,sbcl-alexandria)
2ff8b5ba
GLV
12074 ("babel" ,sbcl-babel)
12075 ("cffi" ,sbcl-cffi)
12076 ("mmap" ,sbcl-mmap)
12077 ("nibbles" ,sbcl-nibbles)
12078 ("trivial-features" ,sbcl-trivial-features)))
2ff8b5ba
GLV
12079 (home-page "https://github.com/3b/3bz")
12080 (synopsis "Deflate decompression for Common Lisp")
d0a6906d 12081 (description
2ff8b5ba
GLV
12082 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
12083with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
12084foreign pointers (for use with mmap and similar, etc), and from CL octet
12085vectors and streams.")
12086 (license license:expat))))
1a1b584b 12087
2ff8b5ba
GLV
12088(define-public cl-3bz
12089 (sbcl-package->cl-source-package sbcl-3bz))
efa88f90 12090
2ff8b5ba
GLV
12091(define-public ecl-3bz
12092 (sbcl-package->ecl-package sbcl-3bz))
9757de5d 12093
2ff8b5ba 12094(define-public sbcl-zpb-exif
9757de5d 12095 (package
2ff8b5ba
GLV
12096 (name "sbcl-zpb-exif")
12097 (version "1.2.4")
12098 (source
12099 (origin
12100 (method git-fetch)
12101 (uri (git-reference
12102 (url "https://github.com/xach/zpb-exif")
12103 (commit (string-append "release-" version))))
12104 (file-name (git-file-name name version))
12105 (sha256
12106 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
12107 (build-system asdf-build-system/sbcl)
12108 (home-page "https://xach.com/lisp/zpb-exif/")
12109 (synopsis "EXIF information extractor for Common Lisp")
12110 (description
12111 "This is a Common Lisp library to extract EXIF information from image
12112files.")
12113 (license license:bsd-2)))
000ee6e5 12114
2ff8b5ba
GLV
12115(define-public cl-zpb-exif
12116 (sbcl-package->cl-source-package sbcl-zpb-exif))
d92e2649 12117
2ff8b5ba
GLV
12118(define-public ecl-zpb-exif
12119 (sbcl-package->ecl-package sbcl-zpb-exif))
c93bd9f8 12120
2ff8b5ba 12121(define-public sbcl-pngload
6591e184
SH
12122 (let ((commit "91f1d703c65bb6a94d6fee06ddbbbbbc5778b71f")
12123 (revision "2"))
12124 (package
12125 (name "sbcl-pngload")
12126 (version (git-version "2.0.0" revision commit))
12127 (source
12128 (origin
12129 (method git-fetch)
12130 (uri (git-reference
12131 (url "https://git.mfiano.net/mfiano/pngload.git")
12132 (commit commit)))
12133 (file-name (git-file-name "pngload" version))
12134 (sha256
12135 (base32 "0s94fdbrbqj12qvgyn2g4lfwvz7qhhzbclrpz5ni7adwxgrmvxl1"))))
12136 (build-system asdf-build-system/sbcl)
12137 (inputs
12138 `(("3bz" ,sbcl-3bz)
12139 ("alexandria" ,sbcl-alexandria)
12140 ("cffi" ,sbcl-cffi)
12141 ("mmap" ,sbcl-mmap)
12142 ("parse-float" ,sbcl-parse-float)
12143 ("static-vectors" ,sbcl-static-vectors)
12144 ("swap-bytes" ,sbcl-swap-bytes)
12145 ("zpb-exif" ,sbcl-zpb-exif)))
12146 (arguments
12147 ;; Test suite disabled because of a dependency cycle.
12148 ;; pngload tests depend on opticl which depends on pngload.
12149 '(#:tests? #f))
12150 (home-page "https://git.mfiano.net/mfiano/pngload.git")
12151 (synopsis "PNG image decoder for Common Lisp")
12152 (description
12153 "This is a Common Lisp library to load images in the PNG image format,
2ff8b5ba 12154both from files on disk, or streams in memory.")
6591e184 12155 (license license:expat))))
92da537c 12156
2ff8b5ba
GLV
12157(define-public cl-pngload
12158 (sbcl-package->cl-source-package sbcl-pngload))
5d2abf9f 12159
2ff8b5ba
GLV
12160(define-public ecl-pngload
12161 (sbcl-package->ecl-package sbcl-pngload))
e8875462 12162
2ff8b5ba
GLV
12163(define-public sbcl-opticl
12164 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
12165 (revision "0"))
12166 (package
12167 (name "sbcl-opticl")
12168 (version (git-version "0.0.0" revision commit))
12169 (source
12170 (origin
12171 (method git-fetch)
12172 (uri (git-reference
12173 (url "https://github.com/slyrus/opticl")
12174 (commit commit)))
12175 (file-name (git-file-name name version))
12176 (sha256
12177 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
12178 (build-system asdf-build-system/sbcl)
12179 (native-inputs
12180 `(("fiveam" ,sbcl-fiveam)))
12181 (inputs
12182 `(("alexandria" ,sbcl-alexandria)
12183 ("cl-jpeg" ,sbcl-cl-jpeg)
12184 ("cl-tga" ,sbcl-cl-tga)
12185 ("png-read" ,sbcl-png-read)
12186 ("pngload" ,sbcl-pngload)
12187 ("retrospectiff" ,sbcl-retrospectiff)
12188 ("skippy" ,sbcl-skippy)
12189 ("zpng" ,sbcl-zpng)))
3f8bbf7c
GLV
12190 (arguments
12191 '(#:asd-files '("opticl.asd")))
2ff8b5ba
GLV
12192 (home-page "https://github.com/slyrus/opticl")
12193 (synopsis "Image processing library for Common Lisp")
12194 (description
12195 "Opticl is a Common Lisp library for representing, processing, loading,
12196and saving 2-dimensional pixel-based images.")
12197 (license license:bsd-2))))
8e0e7f35 12198
2ff8b5ba
GLV
12199(define-public cl-opticl
12200 (sbcl-package->cl-source-package sbcl-opticl))
8afd2d10 12201
e7cbcf5a
GLV
12202(define-public ecl-opticl
12203 (sbcl-package->ecl-package sbcl-opticl))
12204
8afd2d10 12205(define-public sbcl-mcclim
6af3d85a
GLV
12206 (let ((commit "04cc542dd4b461b9d56406e40681d1a8f080730f")
12207 (revision "1"))
0f935e95 12208 (package
2ff8b5ba
GLV
12209 (name "sbcl-mcclim")
12210 (version (git-version "0.9.7" revision commit))
12211 (source
12212 (origin
12213 (method git-fetch)
12214 (uri (git-reference
12215 (url "https://github.com/mcclim/mcclim")
12216 (commit commit)))
12217 (file-name (git-file-name name version))
12218 (sha256
6af3d85a 12219 (base32 "1xjly8i62z72hfhlnz5kjd9i8xhrwckc7avyizxvhih67pkjmsx0"))))
2ff8b5ba 12220 (build-system asdf-build-system/sbcl)
0f935e95 12221 (native-inputs
2ff8b5ba 12222 `(("fiveam" ,sbcl-fiveam)
0f935e95
GLV
12223 ("pkg-config" ,pkg-config)))
12224 (inputs
2ff8b5ba
GLV
12225 `(("alexandria" ,sbcl-alexandria)
12226 ("babel" ,sbcl-babel)
12227 ("bordeaux-threads" ,sbcl-bordeaux-threads)
12228 ("cl-freetype2" ,sbcl-cl-freetype2)
12229 ("cl-pdf" ,sbcl-cl-pdf)
12230 ("cffi" ,sbcl-cffi)
12231 ("cl-unicode" ,sbcl-cl-unicode)
12232 ("cl-vectors" ,sbcl-cl-vectors)
12233 ("closer-mop" ,sbcl-closer-mop)
12234 ("clx" ,sbcl-clx)
12235 ("flexi-streams" ,sbcl-flexi-streams)
12236 ("flexichain" ,sbcl-flexichain)
12237 ("font-dejavu" ,font-dejavu)
0f935e95
GLV
12238 ("fontconfig" ,fontconfig)
12239 ("freetype" ,freetype)
12240 ("harfbuzz" ,harfbuzz)
2ff8b5ba
GLV
12241 ("log4cl" ,sbcl-log4cl)
12242 ("opticl" ,sbcl-opticl)
12243 ("spatial-trees" ,sbcl-spatial-trees)
12244 ("swank" ,sbcl-slime-swank)
12245 ("trivial-features" ,sbcl-trivial-features)
12246 ("trivial-garbage" ,sbcl-trivial-garbage)
12247 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
12248 ("zpb-ttf" ,sbcl-zpb-ttf)))
12249 (arguments
3f8bbf7c 12250 '(#:asd-systems '("mcclim"
2ff8b5ba
GLV
12251 "clim-examples")
12252 #:phases
12253 (modify-phases %standard-phases
12254 (add-after 'unpack 'fix-paths
12255 (lambda* (#:key inputs #:allow-other-keys)
12256 ;; mcclim-truetype uses DejaVu as default font and
12257 ;; sets the path at build time.
12258 (substitute* "Extensions/fonts/fontconfig.lisp"
12259 (("/usr/share/fonts/truetype/dejavu/")
12260 (string-append (assoc-ref inputs "font-dejavu")
12261 "/share/fonts/truetype/")))
12262 (substitute* "Extensions/fontconfig/src/functions.lisp"
12263 (("libfontconfig\\.so")
12264 (string-append (assoc-ref inputs "fontconfig")
12265 "/lib/libfontconfig.so")))
12266 (substitute* "Extensions/harfbuzz/src/functions.lisp"
12267 (("libharfbuzz\\.so")
12268 (string-append (assoc-ref inputs "harfbuzz")
12269 "/lib/libharfbuzz.so")))
12270 #t))
12271 (add-after 'unpack 'fix-build
12272 (lambda _
12273 ;; The cffi-grovel system does not get loaded automatically,
12274 ;; so we load it explicitly.
12275 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
12276 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
12277 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
12278 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
12279 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
12280 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
12281 #t)))))
12282 (home-page "https://common-lisp.net/project/mcclim/")
12283 (synopsis "Common Lisp GUI toolkit")
12284 (description
12285 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
12286specification}, a toolkit for writing GUIs in Common Lisp.")
12287 (license license:lgpl2.1+))))
300b683f 12288
2ff8b5ba
GLV
12289(define-public cl-mcclim
12290 (sbcl-package->cl-source-package sbcl-mcclim))
4daa1218 12291
e7cbcf5a
GLV
12292(define-public ecl-mcclim
12293 (sbcl-package->ecl-package sbcl-mcclim))
12294
de681bdb
AK
12295(define-public sbcl-cl-inflector
12296 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
12297 (revision "1"))
12298 (package
12299 (name "sbcl-cl-inflector")
12300 (version (git-version "0.2" revision commit))
12301 (source
12302 (origin
12303 (method git-fetch)
12304 (uri (git-reference
12305 (url "https://github.com/AccelerationNet/cl-inflector")
12306 (commit commit)))
12307 (file-name (git-file-name name version))
12308 (sha256
12309 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
12310 (build-system asdf-build-system/sbcl)
12311 (native-inputs
12312 `(("lisp-unit2" ,sbcl-lisp-unit2)))
12313 (inputs
12314 `(("alexandria" ,sbcl-alexandria)
12315 ("cl-ppcre" ,sbcl-cl-ppcre)))
12316 (home-page "https://github.com/AccelerationNet/cl-inflector")
12317 (synopsis "Library to pluralize/singularize English and Portuguese words")
12318 (description
12319 "This is a common lisp library to easily pluralize and singularize
12320English and Portuguese words. This is a port of the ruby ActiveSupport
12321Inflector module.")
12322 (license license:expat))))
12323
12324(define-public cl-inflector
12325 (sbcl-package->cl-source-package sbcl-cl-inflector))
12326
12327(define-public ecl-cl-inflector
12328 (sbcl-package->ecl-package sbcl-cl-inflector))
a05edef2 12329
1fc9baee
SH
12330(define-public sbcl-ixf
12331 (let ((commit "ed26f87e4127e4a9e3aac4ff1e60d1f39cca5183")
12332 (revision "1"))
12333 (package
12334 (name "sbcl-ixf")
12335 (version (git-version "0.1.0" revision commit))
12336 (source
12337 (origin
12338 (method git-fetch)
12339 (uri (git-reference
12340 (url "https://github.com/dimitri/cl-ixf")
12341 (commit commit)))
12342 (file-name (git-file-name "cl-ixf" version))
12343 (sha256
12344 (base32 "1wjdnf4vr9z7lcfc49kl43g6l2i23q9n81siy494k17d766cdvqa"))))
12345 (build-system asdf-build-system/sbcl)
12346 (inputs
12347 `(("alexandria" ,sbcl-alexandria)
12348 ("babel" ,sbcl-babel)
12349 ("cl-ppcre" ,sbcl-cl-ppcre)
12350 ("ieee-floats" ,sbcl-ieee-floats)
12351 ("local-time" ,sbcl-local-time)
12352 ("md5" ,sbcl-md5)
12353 ("split-sequence" ,sbcl-split-sequence)))
12354 (home-page "https://github.com/dimitri/cl-ixf")
12355 (synopsis "Parse IBM IXF file format")
12356 (description
12357 "This is a Common Lisp library to handle the IBM PC version of the IXF
12358(Integration Exchange Format) file format.")
12359 (license license:public-domain))))
12360
12361(define-public ecl-ixf
12362 (sbcl-package->ecl-package sbcl-ixf))
12363
12364(define-public cl-ixf
12365 (sbcl-package->cl-source-package sbcl-ixf))
12366
a05edef2
AK
12367(define-public sbcl-qbase64
12368 (package
12369 (name "sbcl-qbase64")
12370 (version "0.3.0")
12371 (source
12372 (origin
12373 (method git-fetch)
12374 (uri (git-reference
12375 (url "https://github.com/chaitanyagupta/qbase64")
12376 (commit version)))
12377 (file-name (git-file-name name version))
12378 (sha256
12379 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
12380 (build-system asdf-build-system/sbcl)
12381 (inputs
12382 `(("metabang-bind" ,sbcl-metabang-bind)
12383 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
12384 (native-inputs
12385 `(("fiveam" ,sbcl-fiveam)))
12386 (home-page "https://github.com/chaitanyagupta/qbase64")
12387 (synopsis "Base64 encoder and decoder for Common Lisp")
12388 (description "@code{qbase64} provides a fast and flexible base64 encoder
12389and decoder for Common Lisp.")
12390 (license license:bsd-3)))
12391
12392(define-public cl-qbase64
12393 (sbcl-package->cl-source-package sbcl-qbase64))
12394
12395(define-public ecl-qbase64
12396 (sbcl-package->ecl-package sbcl-qbase64))
635e8b07 12397
ebabcf23
PN
12398(define-public sbcl-lw-compat
12399 ;; No release since 2013.
12400 (let ((commit "aabfe28c6c1a4949f9d7b3cb30319367c9fd1c0d"))
12401 (package
12402 (name "sbcl-lw-compat")
12403 (version (git-version "1.0.0" "1" commit))
12404 (source
12405 (origin
12406 (method git-fetch)
12407 (uri (git-reference
12408 (url "https://github.com/pcostanza/lw-compat/")
12409 (commit commit)))
12410 (file-name (git-file-name name version))
12411 (sha256
12412 (base32 "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav"))))
12413 (build-system asdf-build-system/sbcl)
12414 (home-page "https://github.com/pcostanza/lw-compat/")
12415 (synopsis "LispWorks utilities ported to other Common Lisp implementations")
12416 (description "This package contains a few utility functions from the
12417LispWorks library that are used in software such as ContextL.")
12418 (license license:expat))))
12419
12420(define-public cl-lw-compat
12421 (sbcl-package->cl-source-package sbcl-lw-compat))
12422
12423(define-public ecl-lw-compat
12424 (sbcl-package->ecl-package sbcl-lw-compat))
12425
94585fff
PN
12426(define-public sbcl-contextl
12427 ;; No release since 2013.
12428 (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9"))
12429 (package
12430 (name "sbcl-contextl")
12431 (version (git-version "1.0.0" "1" commit))
12432 (source
12433 (origin
12434 (method git-fetch)
12435 (uri (git-reference
12436 (url "https://github.com/pcostanza/contextl/")
12437 (commit commit)))
12438 (file-name (git-file-name name version))
12439 (sha256
12440 (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226"))))
12441 (build-system asdf-build-system/sbcl)
12442 (inputs
12443 `(("closer-mop" ,sbcl-closer-mop)
12444 ("lw-compat" ,sbcl-lw-compat)))
12445 (home-page "https://github.com/pcostanza/contextl")
12446 (synopsis "Context-oriented programming for Common Lisp")
12447 (description "ContextL is a CLOS extension for Context-Oriented
12448Programming (COP).
12449
12450Find overview of ContextL's features in an overview paper:
12451@url{http://www.p-cos.net/documents/contextl-soa.pdf}. See also this general
12452overview article about COP which also contains some ContextL examples:
12453@url{http://www.jot.fm/issues/issue_2008_03/article4/}.")
12454 (license license:expat))))
12455
12456(define-public cl-contextl
12457 (sbcl-package->cl-source-package sbcl-contextl))
12458
12459(define-public ecl-contextl
12460 (sbcl-package->ecl-package sbcl-contextl))
12461
635e8b07 12462(define-public sbcl-hu.dwim.common-lisp
8664eede
PN
12463 (let ((commit "90558195773383142a57a16687d5e7f4adea6418"))
12464 (package
12465 (name "sbcl-hu.dwim.common-lisp")
12466 (version "2021-01-27")
12467 (source
12468 (origin
12469 (method git-fetch)
12470 (uri (git-reference
12471 (url "https://github.com/hu-dwim/hu.dwim.common-lisp/")
12472 (commit commit)))
12473 (file-name (git-file-name name version))
12474 (sha256
12475 (base32 "06zkdw3scnaw0d4nmsgkv7pi7sw00dikdgfgsqmbqfbz2yrsdabk"))))
12476 (build-system asdf-build-system/sbcl)
12477 (native-inputs
12478 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12479 (home-page "http://dwim.hu/project/hu.dwim.common-lisp")
12480 (synopsis "Redefine some standard Common Lisp names")
12481 (description "This library is a redefinition of the standard Common Lisp
635e8b07 12482package that includes a number of renames and shadows. ")
8664eede 12483 (license license:public-domain))))
635e8b07
PN
12484
12485(define-public cl-hu.dwim.common-lisp
12486 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
12487
12488(define-public ecl-hu.dwim.common-lisp
12489 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
89a3fec5
PN
12490
12491(define-public sbcl-hu.dwim.common
12492 (package
12493 (name "sbcl-hu.dwim.common")
12494 (version "2015-07-09")
12495 (source
12496 (origin
12497 (method url-fetch)
12498 (uri (string-append
12499 "http://beta.quicklisp.org/archive/hu.dwim.common/"
12500 version "/hu.dwim.common-"
12501 (string-replace-substring version "-" "")
12502 "-darcs.tgz"))
12503 (sha256
12504 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
12505 (build-system asdf-build-system/sbcl)
12506 (native-inputs
12507 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12508 (inputs
12509 `(("alexandria" ,sbcl-alexandria)
12510 ("anaphora" ,sbcl-anaphora)
12511 ("closer-mop" ,sbcl-closer-mop)
12512 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
12513 ("iterate" ,sbcl-iterate)
12514 ("metabang-bind" ,sbcl-metabang-bind)))
12515 (home-page "http://dwim.hu/")
12516 (synopsis "Common Lisp library shared by other hu.dwim systems")
9e7b2658
PN
12517 (description "This package contains a support library for other
12518hu.dwim systems.")
89a3fec5
PN
12519 (license license:public-domain)))
12520
12521(define-public cl-hu.dwim.common
12522 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
12523
12524(define-public ecl-hu.dwim.common
12525 (sbcl-package->ecl-package sbcl-hu.dwim.common))
ec3c3aa7
PN
12526
12527(define-public sbcl-hu.dwim.defclass-star
c3e53066 12528 (let ((commit "3086878a485074f9b2913c58267a9b764cd632fd"))
174e3a0d
PN
12529 (package
12530 (name "sbcl-hu.dwim.defclass-star")
12531 ;; We used to set version from the date when it was a darcs repo, so we
12532 ;; keep the year so that package gets updated on previous installs.
c3e53066 12533 (version (git-version "2021" "2" commit))
174e3a0d
PN
12534 (source
12535 (origin
12536 (method git-fetch)
12537 (uri (git-reference
12538 (url "https://github.com/hu-dwim/hu.dwim.defclass-star")
12539 (commit commit)))
12540 (file-name (git-file-name name version))
12541 (sha256
c3e53066 12542 (base32 "19ipds9r71qymfdp4izg0l7zmvinp06adr8rdalhaq7v7mzpg83z"))))
174e3a0d
PN
12543 (build-system asdf-build-system/sbcl)
12544 (native-inputs
12545 `( ;; These 2 inputs are only needed tests which are disabled, see below.
12546 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
12547 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
12548 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
12549 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12550 (arguments
12551 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
12552 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
12553 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
12554 #:tests? #f))
12555 (home-page "https://github.com/hu-dwim/hu.dwim.defclass-star")
12556 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
12557 (description "@code{defclass-star} provides defclass* and defcondition* to
ec3c3aa7
PN
12558simplify class and condition declarations. Features include:
12559
12560@itemize
12561@item Automatically export all or select slots at compile time.
7230f6d5 12562@item Define the @code{:initarg} and @code{:accessor} automatically.
ec3c3aa7
PN
12563@item Specify a name transformer for both the @code{:initarg} and
12564@code{:accessor}, etc.
12565@item Specify the @code{:initform} as second slot value.
12566@end itemize
12567
12568See
12569@url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
12570for an example.")
174e3a0d 12571 (license license:public-domain))))
ec3c3aa7
PN
12572
12573(define-public cl-hu.dwim.defclass-star
12574 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
12575
12576(define-public ecl-hu.dwim.defclass-star
12577 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))
ca7eada9
AK
12578
12579(define-public sbcl-livesupport
12580 (let ((commit "71e6e412df9f3759ad8378fabb203913d82e228a")
12581 (revision "1"))
12582 (package
12583 (name "sbcl-livesupport")
12584 (version (git-version "0.0.0" revision commit))
12585 (source
12586 (origin
12587 (method git-fetch)
12588 (uri (git-reference
12589 (url "https://github.com/cbaggers/livesupport")
12590 (commit commit)))
12591 (file-name (git-file-name name version))
12592 (sha256
12593 (base32 "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"))))
12594 (build-system asdf-build-system/sbcl)
12595 (home-page "https://github.com/cbaggers/livesupport")
12596 (synopsis "Some helpers that make livecoding a little easier")
12597 (description "This package provides a macro commonly used in livecoding to
12598enable continuing when errors are raised. Simply wrap around a chunk of code
12599and it provides a restart called @code{continue} which ignores the error and
12600carrys on from the end of the body.")
12601 (license license:bsd-2))))
12602
12603(define-public cl-livesupport
12604 (sbcl-package->cl-source-package sbcl-livesupport))
12605
12606(define-public ecl-livesupport
12607 (sbcl-package->ecl-package sbcl-livesupport))
bfa78462
PN
12608
12609(define-public sbcl-envy
12610 (let ((commit "956321b2852d58ba71c6fe621f5c2924178e9f88")
12611 (revision "1"))
12612 (package
12613 (name "sbcl-envy")
12614 (version (git-version "0.1" revision commit))
12615 (home-page "https://github.com/fukamachi/envy")
12616 (source
12617 (origin
12618 (method git-fetch)
12619 (uri (git-reference
12620 (url home-page)
12621 (commit commit)))
12622 (file-name (git-file-name name version))
12623 (sha256
12624 (base32 "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg"))))
12625 (build-system asdf-build-system/sbcl)
12626 ;; (native-inputs ; Only for tests.
12627 ;; `(("prove" ,sbcl-prove)
12628 ;; ("osicat" ,sbcl-osicat)))
12629 (arguments
12630 '(#:phases
12631 (modify-phases %standard-phases
12632 (add-after 'unpack 'fix-tests
12633 (lambda _
12634 (substitute* "envy-test.asd"
12635 (("cl-test-more") "prove"))
12636 #t)))
12637 ;; Tests fail with
12638 ;; Component ENVY-ASD::ENVY-TEST not found, required by #<SYSTEM "envy">
12639 ;; like xsubseq. Why?
12640 #:tests? #f))
12641 (synopsis "Common Lisp configuration switcher inspired by Perl's Config::ENV.")
12642 (description "Envy is a configuration manager for various applications.
12643Envy uses an environment variable to determine a configuration to use. This
12644can separate configuration system from an implementation.")
12645 (license license:bsd-2))))
12646
12647(define-public cl-envy
12648 (sbcl-package->cl-source-package sbcl-envy))
12649
12650(define-public ecl-envy
12651 (sbcl-package->ecl-package sbcl-envy))
f5e31b1d 12652
2ff8b5ba 12653(define-public sbcl-mito
fbb099a4
GLV
12654 (let ((commit "2fbfc8aa6f9e3e8029bf09888c74b9af98dad341")
12655 (revision "2"))
f5e31b1d 12656 (package
2ff8b5ba 12657 (name "sbcl-mito")
f5e31b1d
PN
12658 (version (git-version "0.1" revision commit))
12659 (home-page "https://github.com/fukamachi/mito")
12660 (source
12661 (origin
12662 (method git-fetch)
12663 (uri (git-reference
12664 (url home-page)
12665 (commit commit)))
fbb099a4 12666 (file-name (git-file-name "mito" version))
f5e31b1d 12667 (sha256
fbb099a4 12668 (base32 "1a9kivpy9j2grf1c6gdjk7fwcdlvvq67p3m98jyfhiyzj7axjymd"))))
f5e31b1d 12669 (build-system asdf-build-system/sbcl)
2ff8b5ba
GLV
12670 (native-inputs
12671 `(("prove" ,sbcl-prove)))
f5e31b1d 12672 (inputs
2ff8b5ba 12673 `(("alexandria" ,sbcl-alexandria)
fbb099a4 12674 ("cl-package-locks" ,sbcl-cl-package-locks)
f5e31b1d 12675 ("cl-ppcre" ,sbcl-cl-ppcre)
2ff8b5ba 12676 ("cl-reexport" ,sbcl-cl-reexport)
f5e31b1d 12677 ("closer-mop" ,sbcl-closer-mop)
2ff8b5ba 12678 ("dbi" ,sbcl-dbi)
f5e31b1d 12679 ("dissect" ,sbcl-dissect)
2ff8b5ba 12680 ("esrap" ,sbcl-esrap)
f5e31b1d 12681 ("local-time" ,sbcl-local-time)
2ff8b5ba 12682 ("sxql" ,sbcl-sxql)
fbb099a4 12683 ("trivia" ,sbcl-trivia)
2ff8b5ba
GLV
12684 ("uuid" ,sbcl-uuid)))
12685 (arguments
e765d9c9 12686 '(#:phases
f5e31b1d
PN
12687 (modify-phases %standard-phases
12688 (add-after 'unpack 'remove-non-functional-tests
12689 (lambda _
12690 (substitute* "mito-test.asd"
f5e31b1d
PN
12691 (("\\(:test-file \"db/mysql\"\\)") "")
12692 (("\\(:test-file \"db/postgres\"\\)") "")
12693 (("\\(:test-file \"dao\"\\)") "")
12694 ;; TODO: migration/sqlite3 should work, re-enable once
12695 ;; upstream has fixed it:
12696 ;; https://github.com/fukamachi/mito/issues/70
12697 (("\\(:test-file \"migration/sqlite3\"\\)") "")
12698 (("\\(:test-file \"migration/mysql\"\\)") "")
12699 (("\\(:test-file \"migration/postgres\"\\)") "")
12700 (("\\(:test-file \"postgres-types\"\\)") "")
12701 (("\\(:test-file \"mixin\"\\)") ""))
12702 #t)))
12703 ;; TODO: While all enabled tests pass, the phase fails with:
12704 ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito">
2ff8b5ba
GLV
12705 #:tests? #f))
12706 (synopsis "ORM for Common Lisp with migrations and relationships support")
12707 (description "Mito is yet another object relational mapper, and it aims
12708to be a successor of Integral.
12709
12710@itemize
12711@item Support MySQL, PostgreSQL and SQLite3.
12712@item Add id (serial/uuid primary key), created_at and updated_at by default
12713like Ruby's ActiveRecord.
12714@item Migrations.
12715@item Database schema versioning.
12716@end itemize\n")
12717 (license license:llgpl))))
f5e31b1d
PN
12718
12719(define-public cl-mito
12720 (sbcl-package->cl-source-package sbcl-mito))
0bca68d9 12721
12df8b7b
GLV
12722(define-public ecl-mito
12723 (sbcl-package->ecl-package sbcl-mito))
12724
0bca68d9
PN
12725(define-public sbcl-kebab
12726 (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b")
12727 (revision "1"))
12728 (package
12729 (name "sbcl-kebab")
12730 (version (git-version "0.1" revision commit))
12731 (home-page "https://github.com/pocket7878/kebab")
12732 (source
12733 (origin
12734 (method git-fetch)
12735 (uri (git-reference
12736 (url home-page)
12737 (commit commit)))
12738 (file-name (git-file-name name version))
12739 (sha256
12740 (base32 "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"))))
12741 (build-system asdf-build-system/sbcl)
12742 (inputs
12743 `(("cl-ppcre" ,sbcl-cl-ppcre)
12744 ("alexandria" ,sbcl-alexandria)
12745 ("cl-interpol" ,sbcl-cl-interpol)
12746 ("split-sequence" ,sbcl-split-sequence)))
12747 (native-inputs
2ff8b5ba 12748 `(("prove" ,sbcl-prove)))
0bca68d9
PN
12749 (arguments
12750 ;; Tests passes but the phase fails with
12751 ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">.
12752 `(#:tests? #f))
12753 (synopsis "Common Lisp case converter")
12754 (description "This Common Lisp library converts strings, symbols and
12755keywords between any of the following typographical cases: PascalCase,
12756camelCase, snake_case, kebab-case (lisp-case).")
12757 (license license:llgpl))))
12758
12759(define-public cl-kebab
12760 (sbcl-package->cl-source-package sbcl-kebab))
12761
12762(define-public ecl-kebab
12763 (sbcl-package->ecl-package sbcl-kebab))
69006b0c
PN
12764
12765(define-public sbcl-datafly
12766 (let ((commit "adece27fcbc4b5ea39ad1a105048b6b7166e3b0d")
12767 (revision "1"))
12768 (package
12769 (name "sbcl-datafly")
12770 (version (git-version "0.1" revision commit))
12771 (home-page "https://github.com/fukamachi/datafly")
12772 (source
12773 (origin
12774 (method git-fetch)
12775 (uri (git-reference
12776 (url home-page)
12777 (commit commit)))
12778 (file-name (git-file-name name version))
12779 (sha256
12780 (base32 "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv"))))
12781 (build-system asdf-build-system/sbcl)
12782 (inputs
12783 `(("alexandria" ,sbcl-alexandria)
12784 ("iterate" ,sbcl-iterate)
12785 ("optima" ,sbcl-optima)
12786 ("trivial-types" ,sbcl-trivial-types)
12787 ("closer-mop" ,sbcl-closer-mop)
2ff8b5ba 12788 ("cl-syntax" ,sbcl-cl-syntax)
69006b0c
PN
12789 ("sxql" ,sbcl-sxql)
12790 ("dbi" ,sbcl-dbi)
12791 ("babel" ,sbcl-babel)
12792 ("local-time" ,sbcl-local-time)
12793 ("function-cache" ,sbcl-function-cache)
12794 ("jonathan" ,sbcl-jonathan)
12795 ("kebab" ,sbcl-kebab)
12796 ("log4cl" ,sbcl-log4cl)))
12797 (native-inputs
2ff8b5ba 12798 `(("prove" ,sbcl-prove)))
69006b0c
PN
12799 (arguments
12800 ;; TODO: Tests fail with
12801 ;; While evaluating the form starting at line 22, column 0
12802 ;; of #P"/tmp/guix-build-sbcl-datafly-0.1-1.adece27.drv-0/source/t/datafly.lisp":
12803 ;; Unhandled SQLITE:SQLITE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
12804 ;; {10009F8083}>:
12805 ;; Error when binding parameter 1 to value NIL.
12806 ;; Code RANGE: column index out of range.
12807 `(#:tests? #f))
12808 (synopsis "Lightweight database library for Common Lisp")
12809 (description "Datafly is a lightweight database library for Common Lisp.")
12810 (license license:bsd-3))))
12811
12812(define-public cl-datafly
12813 (sbcl-package->cl-source-package sbcl-datafly))
12814
12815(define-public ecl-datafly
12816 (sbcl-package->ecl-package sbcl-datafly))
56aeb1a4
PN
12817
12818(define-public sbcl-do-urlencode
12819 (let ((commit "199846441dad5dfac5478b8dee4b4e20d107af6a")
12820 (revision "1"))
12821 (package
12822 (name "sbcl-do-urlencode")
12823 (version (git-version "0.0.0" revision commit))
12824 (home-page "https://github.com/drdo/do-urlencode")
12825 (source
12826 (origin
12827 (method git-fetch)
12828 (uri (git-reference
12829 (url home-page)
12830 (commit commit)))
12831 (file-name (git-file-name name version))
12832 (sha256
12833 (base32 "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"))))
12834 (build-system asdf-build-system/sbcl)
12835 (inputs
12836 `(("alexandria" ,sbcl-alexandria)
12837 ("babel" ,sbcl-babel)))
12838 (synopsis "Percent Encoding (aka URL Encoding) Common Lisp library")
12839 (description "This library provides trivial percent encoding and
12840decoding functions for URLs.")
12841 (license license:isc))))
12842
12843(define-public cl-do-urlencode
12844 (sbcl-package->cl-source-package sbcl-do-urlencode))
12845
12846(define-public ecl-do-urlencode
12847 (sbcl-package->ecl-package sbcl-do-urlencode))
d2c9f349
PN
12848
12849(define-public sbcl-cl-emb
12850 (let ((commit "fd8652174d048d4525a81f38cdf42f4fa519f840")
12851 (revision "1"))
12852 (package
12853 (name "sbcl-cl-emb")
12854 (version (git-version "0.4.3" revision commit))
12855 (home-page "https://common-lisp.net/project/cl-emb/")
12856 (source
12857 (origin
12858 (method git-fetch)
12859 (uri (git-reference
12860 (url "https://github.com/38a938c2/cl-emb")
12861 (commit commit)))
12862 (file-name (git-file-name name version))
12863 (sha256
12864 (base32 "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"))))
12865 (build-system asdf-build-system/sbcl)
12866 (inputs
12867 `(("cl-ppcre" ,sbcl-cl-ppcre)))
12868 (synopsis "Templating system for Common Lisp")
12869 (description "A mixture of features from eRuby and HTML::Template. You
12870could name it \"Yet Another LSP\" (LispServer Pages) but it's a bit more than
12871that and not limited to a certain server or text format.")
12872 (license license:llgpl))))
12873
12874(define-public cl-emb
12875 (sbcl-package->cl-source-package sbcl-cl-emb))
12876
12877(define-public ecl-cl-emb
12878 (sbcl-package->ecl-package sbcl-cl-emb))
bc1f552b
PN
12879
12880(define-public sbcl-cl-project
12881 (let ((commit "151107014e534fc4666222d57fec2cc8549c8814")
12882 (revision "1"))
12883 (package
12884 (name "sbcl-cl-project")
12885 (version (git-version "0.3.1" revision commit))
12886 (home-page "https://github.com/fukamachi/cl-project")
12887 (source
12888 (origin
12889 (method git-fetch)
12890 (uri (git-reference
12891 (url home-page)
12892 (commit commit)))
12893 (file-name (git-file-name name version))
12894 (sha256
12895 (base32 "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y"))))
12896 (build-system asdf-build-system/sbcl)
12897 (inputs
12898 `(("cl-emb" ,sbcl-cl-emb)
12899 ("cl-ppcre" ,sbcl-cl-ppcre)
12900 ("local-time" ,sbcl-local-time)
12901 ("prove" ,sbcl-prove)))
12902 (arguments
12903 ;; Tests depend on caveman, which in turns depends on cl-project.
3f8bbf7c
GLV
12904 '(#:tests? #f
12905 #:asd-files '("cl-project.asd")))
bc1f552b
PN
12906 (synopsis "Generate a skeleton for modern Common Lisp projects")
12907 (description "This library provides a modern project skeleton generator.
12908In contract with other generators, CL-Project generates one package per file
12909and encourages unit testing by generating a system for unit testing, so you
12910can begin writing unit tests as soon as the project is generated.")
12911 (license license:llgpl))))
12912
12913(define-public cl-project
12914 (sbcl-package->cl-source-package sbcl-cl-project))
12915
12916(define-public ecl-cl-project
12917 (sbcl-package->ecl-package sbcl-cl-project))
f5ca844f
PN
12918
12919(define-public sbcl-caveman
12920 (let ((commit "faa5f7e3b364fd7e7096af9a7bb06728b8d80441") ; No release since 2012
12921 (revision "1"))
12922 (package
12923 (name "sbcl-caveman")
12924 (version (git-version "2.4.0" revision commit))
12925 (home-page "http://8arrow.org/caveman/")
12926 (source
12927 (origin
12928 (method git-fetch)
12929 (uri (git-reference
12930 (url "https://github.com/fukamachi/caveman/")
12931 (commit commit)))
12932 (file-name (git-file-name name version))
12933 (sha256
12934 (base32 "0kh0gx05pczk8f7r9qdi4zn1p3d0a2prps27k7jpgvc1dxkl8qhq"))))
12935 (build-system asdf-build-system/sbcl)
12936 (inputs
12937 `(("ningle" ,cl-ningle)
2ff8b5ba 12938 ("lack" ,sbcl-lack)
f5ca844f
PN
12939 ("cl-project" ,sbcl-cl-project)
12940 ("dbi" ,sbcl-dbi)
2ff8b5ba 12941 ("cl-syntax" ,sbcl-cl-syntax)
f5ca844f
PN
12942 ("myway" ,sbcl-myway)
12943 ("quri" ,sbcl-quri)))
12944 (native-inputs
12945 `(("usocket" ,sbcl-usocket)
12946 ("dexador" ,sbcl-dexador)))
12947 (arguments
2ff8b5ba
GLV
12948 `(#:asd-files '("caveman2.asd")
12949 #:asd-systems '("caveman2")
f5ca844f
PN
12950 #:phases
12951 (modify-phases %standard-phases
12952 (add-after 'unpack 'remove-v1
12953 (lambda _
12954 (delete-file-recursively "v1")
12955 (for-each delete-file
12956 '("README.v1.markdown" "caveman.asd" "caveman-test.asd")))))
12957 ;; TODO: Tests fail with:
d27afcc6 12958 ;; writing /gnu/store/...-sbcl-caveman-2.4.0-1.faa5f7e/share/common-lisp/sbcl-source/caveman2/v2/t/tmp/myapp573/tests/myapp573.lisp
f5ca844f
PN
12959 ;; While evaluating the form starting at line 38, column 0
12960 ;; of #P"/tmp/guix-build-sbcl-caveman-2.4.0-1.faa5f7e.drv-0/source/v2/t/caveman.lisp":
12961 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD "main thread" RUNNING
12962 ;; {10009F8083}>:
12963 ;; Component "myapp573" not found
12964 #:tests? #f))
12965 (synopsis "Lightweight web application framework in Common Lisp")
12966 (description "Caveman is intended to be a collection of common parts for
12967web applications. Caveman2 has three design goals:
12968
12969@itemize
12970@item Be extensible.
12971@item Be practical.
12972@item Don't force anything.
12973@end itemize\n")
12974 (license license:llgpl))))
12975
12976(define-public cl-caveman
12977 (package
12978 (inherit
12979 (sbcl-package->cl-source-package sbcl-caveman))
12980 (propagated-inputs
12981 `(("ningle" ,cl-ningle)))))
12982
12983(define-public ecl-caveman
12984 (sbcl-package->ecl-package sbcl-caveman))
582d0108
A
12985
12986(define-public sbcl-lambda-fiddle
12987 (let ((commit "d16bba55acf6065b412f64ab8fdff679a4a32b1e") ;; no tagged branch
12988 (revision "1"))
12989 (package
12990 (name "sbcl-lambda-fiddle")
12991 (version (git-version "1.0.0" revision commit))
12992 (source
12993 (origin
12994 (method git-fetch)
12995 (uri (git-reference
12996 (url "https://github.com/Shinmera/lambda-fiddle")
12997 (commit commit)))
12998 (file-name (git-file-name name version))
12999 (sha256
13000 (base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand"))))
13001 (build-system asdf-build-system/sbcl)
13002 (home-page "https://github.com/Shinmera/lambda-fiddle")
13003 (synopsis "Collection of utilities to process lambda-lists")
13004 (description "This collection of utilities is useful in contexts where
13005you want a macro that uses lambda-lists in some fashion but need more precise
13006processing.")
13007 (license license:zlib))))
13008
13009(define-public cl-lambda-fiddle
13010 (sbcl-package->cl-source-package sbcl-lambda-fiddle))
13011
13012(define-public ecl-lambda-fiddle
13013 (sbcl-package->ecl-package sbcl-lambda-fiddle))
7722c367
A
13014
13015(define-public sbcl-xmls
13016 (let ((commit "18546f0850b1338e03997ffd1696add1cb1800d1") ;; no tagged branch
13017 (revision "1"))
13018 (package
13019 (name "sbcl-xmls")
13020 (version (git-version "3.0.2" revision commit))
13021 (source
13022 (origin
13023 (method git-fetch)
13024 (uri (git-reference
13025 (url "https://github.com/rpgoldman/xmls")
13026 (commit commit)))
13027 (file-name (git-file-name name version))
13028 (sha256
13029 (base32 "1lmvfml2ldbb1wkhm25jqqk2bhwsz52hhcgljbnzj1xr8xhc3anp"))))
13030 (native-inputs
13031 `(("fiveam" ,sbcl-fiveam)))
13032 (build-system asdf-build-system/sbcl)
13033 (home-page "https://github.com/rpgoldman/xmls")
13034 (synopsis "Non-validating XML parser for Common Lisp")
13035 (description "Xmls is a self-contained, easily embedded parser that
13036recognizes a useful subset of the XML spec. It provides a simple mapping from
13037XML to Lisp structures or s-expressions and back.")
13038 (license license:bsd-2))))
13039
13040(define-public cl-xmls
13041 (sbcl-package->cl-source-package sbcl-xmls))
13042
13043(define-public ecl-xmls
9983dee6
GLV
13044 (let ((pkg (sbcl-package->ecl-package sbcl-xmls)))
13045 (package
13046 (inherit pkg)
13047 (arguments
13048 (substitute-keyword-arguments (package-arguments pkg)
13049 ;; Upstream doesn't have a test suite adapted for ECL.
13050 ((#:tests? _ #f) #f))))))
5a723527
GLV
13051
13052(define-public sbcl-geco
13053 (package
13054 (name "sbcl-geco")
6e301c3a 13055 (version "2.1.1")
5a723527
GLV
13056 (source
13057 (origin
6e301c3a
GLV
13058 (method git-fetch)
13059 (uri (git-reference
13060 (url "https://github.com/gpwwjr/GECO")
13061 (commit (string-append "v" version))))
13062 (file-name (git-file-name "geco" version))
5a723527 13063 (sha256
6e301c3a 13064 (base32 "1rc8a4mk40hjx5qy980hjylv6xxqdbq38hg8c4w30y93abfd519s"))))
5a723527 13065 (build-system asdf-build-system/sbcl)
6e301c3a 13066 (home-page "http://hiwaay.net/~gpw/geco/geco.html")
5a723527
GLV
13067 (synopsis "Genetic algorithm toolkit for Common Lisp")
13068 (description
13069 "GECO (Genetic Evolution through Combination of Objects) is an extensible,
13070object-oriented framework for prototyping genetic algorithms in Common Lisp.")
13071 (license license:lgpl2.1+)))
13072
13073(define-public cl-geco
13074 (sbcl-package->cl-source-package sbcl-geco))
13075
13076(define-public ecl-geco
13077 (sbcl-package->ecl-package sbcl-geco))
50ff091d
PN
13078
13079(define-public sbcl-html-entities
13080 (let ((commit "4af018048e891f41d77e7d680ed3aeb639e1eedb"))
13081 (package
13082 (name "sbcl-html-entities")
13083 (version (git-version "0.02" "1" commit))
13084 (source
13085 (origin
13086 (method git-fetch)
13087 (uri (git-reference
13088 (url "https://github.com/BnMcGn/html-entities/")
13089 (commit commit)))
13090 (file-name (git-file-name name version))
13091 (sha256
13092 (base32 "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"))))
13093 (build-system asdf-build-system/sbcl)
13094 (inputs
13095 `(("ppcre" ,sbcl-cl-ppcre)))
13096 (native-inputs
13097 `(("fiveam" ,sbcl-fiveam)))
13098 (home-page "https://github.com/BnMcGn/html-entities/")
13099 (synopsis "Encode and decode entities in HTML with Common Lisp")
13100 (description "Html-entities is a Common Lisp library that lets you
13101encode and decode entities in HTML.")
13102 (license license:expat))))
13103
13104(define-public cl-html-entities
13105 (sbcl-package->cl-source-package sbcl-html-entities))
13106
13107(define-public ecl-html-entities
13108 (sbcl-package->ecl-package sbcl-html-entities))
2631fc13
PN
13109
13110(define-public sbcl-quicksearch
13111 (let ((commit "fb02ecf7c876ec580ab18c7d2c8c7814c06af599"))
13112 (package
13113 (name "sbcl-quicksearch")
13114 (version (git-version "0.01.04" "1" commit))
13115 (source
13116 (origin
13117 (method git-fetch)
13118 (uri (git-reference
13119 (url "https://github.com/tkych/quicksearch/")
13120 (commit commit)))
13121 (file-name (git-file-name name version))
13122 (sha256
13123 (base32 "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps"))))
13124 (build-system asdf-build-system/sbcl)
13125 (inputs
13126 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13127 ("iterate" ,sbcl-iterate)
13128 ("alexandria" ,sbcl-alexandria)
13129 ("anaphora" ,sbcl-anaphora)
13130 ("ppcre" ,sbcl-cl-ppcre)
13131 ("drakma" ,sbcl-drakma)
13132 ("html-entities" ,sbcl-html-entities)
13133 ("yason" ,sbcl-yason)
13134 ("flexi-streams" ,sbcl-flexi-streams)
13135 ("do-urlencode" ,sbcl-do-urlencode)))
13136 (home-page "https://github.com/tkych/quicksearch/")
13137 (synopsis "Search Engine Interface for Common Lisp packages")
13138 (description "Quicksearch is a search-engine-interface for Common Lisp.
13139The goal of Quicksearch is to find the Common Lisp library quickly. For
13140example, if you will find the library about json, just type @code{(qs:?
13141'json)} at REPL.
13142
13143The function @code{quicksearch} searches for Common Lisp projects in
13144Quicklisp, Cliki, GitHub and BitBucket, then outputs results in REPL. The
13145function @code{?} is abbreviation wrapper for @code{quicksearch}.")
13146 (license license:expat))))
13147
13148(define-public cl-quicksearch
13149 (sbcl-package->cl-source-package sbcl-quicksearch))
13150
13151(define-public ecl-quicksearch
13152 (sbcl-package->ecl-package sbcl-quicksearch))
f66fbb7a
PN
13153
13154(define-public sbcl-agutil
13155 (let ((commit "df188d754d472da9faa1601a48f1f37bb7b34d68"))
13156 (package
13157 (name "sbcl-agutil")
13158 (version (git-version "0.0.1" "1" commit))
13159 (source
13160 (origin
13161 (method git-fetch)
13162 (uri (git-reference
13163 (url "https://github.com/alex-gutev/agutil/")
13164 (commit commit)))
13165 (file-name (git-file-name name version))
13166 (sha256
13167 (base32 "1xpnyzksk2xld64b6lw6rw0gn5zxlb77jwna59sd4yl7kxhxlfpf"))))
13168 (build-system asdf-build-system/sbcl)
13169 (inputs
13170 `(("alexandria" ,sbcl-alexandria)
13171 ("trivia" ,sbcl-trivia)))
13172 (home-page "https://github.com/alex-gutev/agutil/")
13173 (synopsis "Collection of Common Lisp utilities")
13174 (description "A collection of Common Lisp utility functions and macros
13175mostly not found in other utility packages.")
13176 (license license:expat))))
13177
13178(define-public cl-agutil
13179 (sbcl-package->cl-source-package sbcl-agutil))
13180
13181(define-public ecl-agutil
13182 (sbcl-package->ecl-package sbcl-agutil))
e60bbd9a
PN
13183
13184(define-public sbcl-custom-hash-table
13185 (let ((commit "f26983133940f5edf826ebbc8077acc04816ddfa"))
13186 (package
13187 (name "sbcl-custom-hash-table")
13188 (version (git-version "0.3" "1" commit))
13189 (source
13190 (origin
13191 (method git-fetch)
13192 (uri (git-reference
13193 (url "https://github.com/metawilm/cl-custom-hash-table")
13194 (commit commit)))
13195 (file-name (git-file-name name version))
13196 (sha256
13197 (base32 "1k4mvrpbqqds2fwjxp1bxmrfmr8ch4dkwhnkbw559knbqshvrlj5"))))
13198 (build-system asdf-build-system/sbcl)
13199 (arguments
a9a0d348
MB
13200 '(#:asd-files '("cl-custom-hash-table.asd")
13201 #:asd-systems '("cl-custom-hash-table")))
e60bbd9a
PN
13202 (home-page "https://github.com/metawilm/cl-custom-hash-table")
13203 (synopsis "Custom hash tables for Common Lisp")
13204 (description "This library allows creation of hash tables with arbitrary
13205@code{test}/@code{hash} functions, in addition to the @code{test} functions
13206allowed by the standard (@code{EQ}, @code{EQL}, @code{EQUAL} and
13207@code{EQUALP}), even in implementations that don't support this functionality
13208directly.")
13209 (license license:expat))))
13210
13211(define-public cl-custom-hash-table
13212 (sbcl-package->cl-source-package sbcl-custom-hash-table))
13213
13214(define-public ecl-custom-hash-table
13215 (sbcl-package->ecl-package sbcl-custom-hash-table))
e744328a
PN
13216
13217(define-public sbcl-collectors
13218 (let ((commit "13acef25d8422d1d82e067b1861e513587c166ee"))
13219 (package
13220 (name "sbcl-collectors")
13221 (version (git-version "0.1" "1" commit))
13222 (source
13223 (origin
13224 (method git-fetch)
13225 (uri (git-reference
13226 (url "https://github.com/AccelerationNet/collectors")
13227 (commit commit)))
13228 (file-name (git-file-name name version))
13229 (sha256
13230 (base32 "1si68n1j6rpns8jw6ksqjpb937pdl30v7xza8rld7j5vh0jhy2yi"))))
13231 (build-system asdf-build-system/sbcl)
13232 (inputs
13233 `(("alexandria" ,sbcl-alexandria)
13234 ("closer-mop" ,sbcl-closer-mop)
13235 ("symbol-munger" ,sbcl-symbol-munger)))
13236 (native-inputs
13237 `(("lisp-unit2" ,sbcl-lisp-unit2)))
13238 (home-page "https://github.com/AccelerationNet/collectors/")
13239 (synopsis "Common lisp library providing collector macros")
13240 (description "A small collection of common lisp macros to make
13241collecting values easier.")
13242 (license license:bsd-3))))
13243
13244(define-public cl-collectors
13245 (sbcl-package->cl-source-package sbcl-collectors))
13246
13247(define-public ecl-collectors
13248 (sbcl-package->ecl-package sbcl-collectors))
6b886891 13249
a7489847 13250(define-public sbcl-cl-environments
36d48770
SH
13251 (package
13252 (name "sbcl-cl-environments")
13253 (version "0.4")
13254 (source
13255 (origin
13256 (method git-fetch)
13257 (uri (git-reference
13258 (url "https://github.com/alex-gutev/cl-environments")
13259 (commit (string-append "v" version))))
13260 (file-name (git-file-name "cl-environments" version))
13261 (sha256
13262 (base32 "10jxj043d2dw5vc0i0lz0lsa4qszn8him5is8jdhl4nsyfcazmky"))))
13263 (build-system asdf-build-system/sbcl)
13264 (inputs
13265 `(("alexandria" ,sbcl-alexandria)
13266 ("anaphora" ,sbcl-anaphora)
13267 ("collectors" ,sbcl-collectors)
13268 ("optima" ,sbcl-optima)))
13269 (native-inputs
13270 `(("prove" ,sbcl-prove)))
13271 (home-page "https://github.com/alex-gutev/cl-environments")
13272 (synopsis "Implements the Common Lisp standard environment access API")
13273 (description
13274 "This library provides a uniform API, as specified in Common Lisp the
13275Language 2, for accessing information about variable and function bindings
13276from implementation-defined lexical environment objects. All major Common
13277Lisp implementations are supported, even those which don't support the CLTL2
13278environment access API.")
13279 (license license:expat)))
e22b88b6 13280
a7489847
PN
13281(define-public cl-environments
13282 (sbcl-package->cl-source-package sbcl-cl-environments))
13283
36d48770 13284(define-public ecl-cl-environments
a7489847
PN
13285 (sbcl-package->ecl-package sbcl-cl-environments))
13286
e22b88b6 13287(define-public sbcl-static-dispatch
f46b6d64
SH
13288 (package
13289 (name "sbcl-static-dispatch")
ce9c5fd6 13290 (version "0.5.1")
f46b6d64
SH
13291 (source
13292 (origin
13293 (method git-fetch)
13294 (uri (git-reference
13295 (url "https://github.com/alex-gutev/static-dispatch")
13296 (commit (string-append "v" version))))
13297 (file-name (git-file-name "static-dispatch" version))
13298 (sha256
ce9c5fd6 13299 (base32 "1602vx6ybp0n8mbrrp6q8397fkkyvhrqpahc302pjdb57qildajz"))))
f46b6d64
SH
13300 (build-system asdf-build-system/sbcl)
13301 (native-inputs
13302 `(("fiveam" ,sbcl-fiveam)))
13303 (inputs
13304 `(("agutil" ,sbcl-agutil)
13305 ("alexandria" ,sbcl-alexandria)
13306 ("anaphora" ,sbcl-anaphora)
13307 ("arrows" ,sbcl-arrows)
13308 ("cl-environments" ,sbcl-cl-environments)
13309 ("closer-mop" ,sbcl-closer-mop)
13310 ("iterate" ,sbcl-iterate)
ce9c5fd6 13311 ("optima" ,sbcl-optima)))
f46b6d64
SH
13312 (home-page "https://github.com/alex-gutev/static-dispatch")
13313 (synopsis "Static generic function dispatch for Common Lisp")
13314 (description "Static dispatch is a Common Lisp library, inspired by
e22b88b6
PN
13315@code{inlined-generic-function}, which allows standard Common Lisp generic
13316function dispatch to be performed statically (at compile time) rather than
13317dynamically (runtime). This is similar to what is known as \"overloading\" in
13318languages such as C++ and Java.
13319
13320The purpose of static dispatch is to provide an optimization in cases where
13321the usual dynamic dispatch is too slow, and the dynamic features of generic
13322functions, such as adding/removing methods at runtime are not required. An
13323example of such a case is a generic equality comparison function. Currently
13324generic functions are considered far too slow to implement generic arithmetic
13325and comparison operations when used heavily in numeric code.")
f46b6d64 13326 (license license:expat)))
e22b88b6
PN
13327
13328(define-public cl-static-dispatch
13329 (sbcl-package->cl-source-package sbcl-static-dispatch))
13330
13331(define-public ecl-static-dispatch
13332 (sbcl-package->ecl-package sbcl-static-dispatch))
7a34169f 13333
e1b53728
PN
13334(define-public sbcl-cl-form-types
13335 (package
13336 (name "sbcl-cl-form-types")
13337 (version "0.3.1")
13338 (source
13339 (origin
13340 (method git-fetch)
13341 (uri (git-reference
13342 (url "https://github.com/alex-gutev/cl-form-types")
13343 (commit (string-append "v" version))))
13344 (file-name (git-file-name name version))
13345 (sha256
13346 (base32
13347 "17kdjqmm2ib347b8lqm3k4kca2j53kr0azb6h7m0v5i157ibndsw"))))
13348 (build-system asdf-build-system/sbcl)
13349 (inputs
13350 `(("agutil" ,sbcl-agutil)
13351 ("anaphora" ,sbcl-anaphora)
13352 ("arrows" ,sbcl-arrows)
13353 ("cl-environments" ,sbcl-cl-environments)
13354 ("introspect-environment" ,sbcl-introspect-environment)
13355 ("optima" ,sbcl-optima)))
13356 (native-inputs
13357 `(("fiveam" ,sbcl-fiveam)))
13358 (home-page "https://github.com/alex-gutev/cl-form-types")
13359 (synopsis "determining the types of Common Lisp forms")
13360 (description "This library provides functions for determining the value
13361types of Common Lisp forms, based on type information contained in the
13362environment.
13363
13364In order for this library to work the values types of variables and return
13365types of functions have to be declared.
13366
13367Macros and symbol-macros are fully expanded and all special forms, except
13368@code{CATCH}, are supported.")
13369 (license license:expat)))
13370
13371(define-public cl-form-types
13372 (sbcl-package->cl-source-package sbcl-cl-form-types))
13373
13374(define-public ecl-cl-form-types
13375 (sbcl-package->ecl-package sbcl-cl-form-types))
13376
85821dcd 13377(define-public sbcl-generic-cl
45fdb035
PN
13378 (package
13379 (name "sbcl-generic-cl")
13380 (version "0.9")
13381 (source
13382 (origin
13383 (method git-fetch)
13384 (uri (git-reference
13385 (url "https://github.com/alex-gutev/generic-cl")
13386 (commit (string-append "v" version))))
13387 (file-name (git-file-name name version))
13388 (sha256
13389 (base32
13390 "1c40vqb49g0adfv17jxgk0ds1n6a2dph30cibq01sicmqdgrrbi8"))))
13391 (build-system asdf-build-system/sbcl)
13392 (inputs
13393 `(("agutil" ,sbcl-agutil)
13394 ("alexandria" ,sbcl-alexandria)
13395 ("anaphora" ,sbcl-anaphora)
13396 ("arrows" ,sbcl-arrows)
13397 ("cl-custom-hash-table" ,sbcl-custom-hash-table)
13398 ("cl-form-types" ,sbcl-cl-form-types)
13399 ("static-dispatch" ,sbcl-static-dispatch)
13400 ("trivia" ,sbcl-trivia)))
13401 (native-inputs
13402 `(("prove" ,sbcl-prove)))
13403 (arguments
13404 ;; Tests fail because SBCL head size is not high enough.
13405 ;; https://github.com/alex-gutev/generic-cl/issues/6
13406 `(#:tests? #f))
13407 (home-page "https://alex-gutev.github.io/generic-cl/")
13408 (synopsis "Generic function interface to standard Common Lisp functions")
13409 (description "@code{generic-cl} provides a generic function wrapper over
85821dcd
PN
13410various functions in the Common Lisp standard, such as equality predicates and
13411sequence operations. The goal of this wrapper is to provide a standard
13412interface to common operations, such as testing for the equality of two
13413objects, which is extensible to user-defined types.")
45fdb035 13414 (license license:expat)))
85821dcd
PN
13415
13416(define-public cl-generic-cl
13417 (sbcl-package->cl-source-package sbcl-generic-cl))
13418
13419(define-public ecl-generic-cl
13420 (sbcl-package->ecl-package sbcl-generic-cl))
13421
7a34169f
AK
13422(define-public sbcl-defpackage-plus
13423 (let ((revision "0")
13424 (commit "5492e27e0bdb7b75fa5177ea4388519dc7a75f11"))
13425 (package
13426 (name "sbcl-defpackage-plus")
13427 (version (git-version "1.0" revision commit))
13428 (source
13429 (origin
13430 (method git-fetch)
13431 (uri (git-reference
13432 (url "https://github.com/rpav/defpackage-plus")
13433 (commit commit)))
13434 (file-name (git-file-name name version))
13435 (sha256
13436 (base32 "0lzljvf343xb6mlh6lni2i27hpm5qd376522mk6hr2pa20vd6rdq"))))
13437 (build-system asdf-build-system/sbcl)
13438 (inputs
13439 `(("alexandria" ,sbcl-alexandria)))
13440 (home-page "https://github.com/rpav/defpackage-plus")
13441 (synopsis "Extensible @code{DEFPACKAGE} variant with version support")
13442 (description
13443 "@code{DEFPACKAGE-PLUS} is an extensible @code{DEFPACKAGE} variant with
13444predictable cross-platform behavior and some utilities useful for versioning.")
13445 (license license:bsd-2))))
13446
13447(define-public cl-defpackage-plus
13448 (sbcl-package->cl-source-package sbcl-defpackage-plus))
13449
13450(define-public ecl-defpackage-plus
13451 (sbcl-package->ecl-package sbcl-defpackage-plus))
0fac1f25
AK
13452
13453(define-public sbcl-deploy
f8d81093
SH
13454 (let ((commit "9b20e64fe924b9e31832304d87a3a72c383dc6d8")
13455 (revision "2"))
0fac1f25
AK
13456 (package
13457 (name "sbcl-deploy")
13458 (version (git-version "1.0.0" revision commit))
13459 (source
13460 (origin
13461 (method git-fetch)
13462 (uri (git-reference
13463 (url "https://github.com/Shinmera/deploy")
13464 (commit commit)))
f8d81093 13465 (file-name (git-file-name "deploy" version))
0fac1f25 13466 (sha256
f8d81093 13467 (base32 "07pfkibaridihg8lbq2czwa4iqifqk24n6rx7bfnv7i49p1ppja1"))))
0fac1f25 13468 (build-system asdf-build-system/sbcl)
f8d81093
SH
13469 (arguments
13470 `(#:test-asd-file "deploy-test.asd"
13471 #:asd-files '("deploy.asd"
13472 "deploy-test.asd")))
13473 (native-inputs
13474 `(("cl-mpg123" ,sbcl-cl-mpg123)
13475 ("cl-out123" ,sbcl-cl-out123)))
0fac1f25
AK
13476 (inputs
13477 `(("cffi" ,sbcl-cffi)
f8d81093
SH
13478 ("documentation-utils" ,sbcl-documentation-utils)
13479 ("trivial-features" ,sbcl-trivial-features)))
0fac1f25
AK
13480 (home-page "https://shinmera.github.io/deploy/")
13481 (synopsis "Deployment tools for standalone Common Lisp application")
13482 (description
13483 "This is a system to help you easily and quickly deploy standalone
13484common lisp applications as binaries. Specifically it is geared towards
13485applications with foreign library dependencies that run some kind of GUI.")
13486 (license license:artistic2.0))))
13487
13488(define-public cl-deploy
13489 (sbcl-package->cl-source-package sbcl-deploy))
13490
13491(define-public ecl-deploy
13492 (sbcl-package->ecl-package sbcl-deploy))
84811414
AK
13493
13494(define-public sbcl-deeds
13495 ;; taged branch is outdated
13496 (let ((revision "1")
13497 (commit "f5df54eac79b58a34030e0eb8acf3952c788410d"))
13498 (package
13499 (name "sbcl-deeds")
13500 (version (git-version "1.1.1" revision commit))
13501 (source
13502 (origin
13503 (method git-fetch)
13504 (uri (git-reference
13505 (url "https://github.com/Shinmera/deeds")
13506 (commit commit)))
13507 (file-name (git-file-name name version))
13508 (sha256
13509 (base32 "062cnb2dwli6pw3zvv46jfxyxdzcbzwsck5pa6nw03qf1j1hyg3k"))))
13510 (build-system asdf-build-system/sbcl)
13511 (inputs
13512 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13513 ("closer-mop" ,sbcl-closer-mop)
13514 ("form-fiddle" ,sbcl-form-fiddle)
13515 ("lambda-fiddle" ,sbcl-lambda-fiddle)))
13516 (home-page "https://github.com/Shinmera/deeds")
13517 (synopsis "Extensible Event Delivery System")
13518 (description
13519 "@code{deeds} allows for efficient event delivery to multiple handlers
13520with a complex event filtering system.")
13521 (license license:zlib))))
13522
13523(define-public cl-deeds
13524 (sbcl-package->cl-source-package sbcl-deeds))
13525
13526(define-public ecl-deeds
13527 (sbcl-package->ecl-package sbcl-deeds))
e3d5a206
AK
13528
13529(define-public sbcl-make-hash
13530 ;; no tagged branch
13531 (let ((revision "1")
13532 (commit "ae0909cd8e697520a1085fac6f54ac2b448ebd21"))
13533 (package
13534 (name "sbcl-make-hash")
13535 (version (git-version "1.0.2" revision commit))
13536 (source
13537 (origin
13538 (method git-fetch)
13539 (uri (git-reference
13540 (url "https://github.com/genovese/make-hash")
13541 (commit commit)))
13542 (file-name (git-file-name name version))
13543 (sha256
13544 (base32 "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8"))))
13545 (build-system asdf-build-system/sbcl)
13546 (home-page "https://github.com/genovese/make-hash")
13547 (synopsis "Common Lisp package for flexible hash table creation")
13548 (description
13549 "This is a Common Lisp package for hash table creation with flexible,
13550extensible initializers.")
13551 (license license:bsd-3))))
13552
13553(define-public cl-make-hash
13554 (sbcl-package->cl-source-package sbcl-make-hash))
13555
13556(define-public ecl-make-hash
13557 (sbcl-package->ecl-package sbcl-make-hash))
6e043dfc
AK
13558
13559(define-public sbcl-claw-support
13560 (package
13561 (name "sbcl-claw-support")
13562 (version "1.0.0")
13563 (source
13564 (origin
13565 (method git-fetch)
13566 (uri (git-reference
13567 (url "https://github.com/borodust/claw-support")
13568 (commit "9a15c8bed04585f45e6a461bcda1b475144dbd0b")))
13569 (file-name (git-file-name name version))
13570 (sha256
13571 (base32 "1my2ka7h72ipx5n3b465g6kjkasrhsvhqlijwcg6dhlzs5yygl23"))))
13572 (build-system asdf-build-system/sbcl)
13573 (home-page "https://github.com/borodust/claw-support")
13574 (synopsis "Support routines for claw")
13575 (description
8d8ecbfe 13576 "This package provides support routines for the @code{claw} Common Lisp
6e043dfc
AK
13577package.")
13578 (license license:expat)))
13579
13580(define-public cl-claw-support
13581 (sbcl-package->cl-source-package sbcl-claw-support))
13582
13583(define-public ecl-claw-support
13584 (sbcl-package->ecl-package sbcl-claw-support))
dec194bf 13585
b50a1442
AK
13586(define-public sbcl-claw
13587 (let ((revision "0")
13588 (commit "3cd4a96fca95eb9e8d5d069426694669f81b2250"))
13589 (package
13590 (name "sbcl-claw")
13591 (version (git-version "1.0" revision commit))
13592 (source
13593 (origin
13594 (method git-fetch)
13595 (uri (git-reference
13596 (url "https://github.com/borodust/claw")
13597 (commit commit)))
13598 (file-name (git-file-name "claw" version))
13599 (sha256
13600 (base32 "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d"))))
13601 (build-system asdf-build-system/sbcl)
13602 (inputs
13603 `(("alexandria" ,sbcl-alexandria)
13604 ("cffi" ,sbcl-cffi)
13605 ("cl-json" ,sbcl-cl-json)
13606 ("cl-ppcre" ,sbcl-cl-ppcre)
13607 ("claw-support" ,sbcl-claw-support)
13608 ("local-time" ,sbcl-local-time)
13609 ("trivial-features" ,sbcl-trivial-features)))
13610 (home-page "https://github.com/borodust/claw")
13611 (synopsis "Autowrapper for Common Lisp")
13612 (description
13613 "This is a Common Lisp autowrapping facility for quickly creating clean
13614and lean bindings to C libraries.")
13615 (license license:bsd-2))))
13616
13617(define-public cl-claw
13618 (sbcl-package->cl-source-package sbcl-claw))
13619
13620(define-public ecl-claw
13621 (sbcl-package->ecl-package sbcl-claw))
13622
ef9c5247
AK
13623(define-public sbcl-claw-utils
13624 (let ((revision "0")
13625 (commit "efe25016501973dc369f067a64c7d225802bc56f"))
13626 (package
13627 (name "sbcl-claw-utils")
13628 ;; version is not specified
13629 (version (git-version "0.0.0" revision commit))
13630 (source
13631 (origin
13632 (method git-fetch)
13633 (uri (git-reference
13634 (url "https://github.com/borodust/claw-utils")
13635 (commit commit)))
13636 (file-name (git-file-name "claw-utils" version))
13637 (sha256
13638 (base32 "01df3kyf2qs3czi332dnz2s35x2j0fq46vgmsw7wjrrvnqc22mk5"))))
13639 (build-system asdf-build-system/sbcl)
13640 (inputs
13641 `(("alexandria" ,sbcl-alexandria)
13642 ("cffi" ,sbcl-cffi)
13643 ("claw" ,sbcl-claw)))
13644 (home-page "https://github.com/borodust/claw-utils")
13645 (synopsis "Utilities for easier autowrapping")
13646 (description
3a2e1fa7 13647 "This Common Lisp library contains various handy utilities to help
ef9c5247
AK
13648autowrapping with @code{claw}.")
13649 (license license:expat))))
13650
13651(define-public cl-claw-utils
13652 (sbcl-package->cl-source-package sbcl-claw-utils))
13653
13654(define-public ecl-claw-utils
13655 (sbcl-package->ecl-package sbcl-claw-utils))
13656
dec194bf
GLV
13657(define-public sbcl-array-operations
13658 (let ((commit "75cbc3b1adb2e3ce2109489753d0f290b071e81b")
13659 (revision "0"))
13660 (package
13661 (name "sbcl-array-operations")
13662 (version (git-version "0.0.0" revision commit))
13663 (source
13664 (origin
13665 (method git-fetch)
13666 (uri (git-reference
13667 (url "https://github.com/bendudson/array-operations")
13668 (commit commit)))
13669 (file-name (git-file-name "array-operations" version))
13670 (sha256
13671 (base32 "0ip49hhq32w80qsc7jmspyda5r2rsszvw0mk2r3341cld78sz9ya"))))
13672 (build-system asdf-build-system/sbcl)
13673 (native-inputs
13674 `(("alexandria" ,sbcl-alexandria)
13675 ("clunit2" ,sbcl-clunit2)))
13676 (inputs
13677 `(("let-plus" ,sbcl-let-plus)))
13678 (synopsis "Simple array operations library for Common Lisp")
13679 (description
13680 "This library is a collection of functions and macros for manipulating
13681Common Lisp arrays and performing numerical calculations with them.")
13682 (home-page "https://github.com/bendudson/array-operations")
13683 (license license:expat))))
13684
13685(define-public cl-array-operations
13686 (sbcl-package->cl-source-package sbcl-array-operations))
13687
13688(define-public ecl-array-operations
13689 (sbcl-package->ecl-package sbcl-array-operations))
0809e4a4
GLV
13690
13691(define-public sbcl-clml
13692 (let ((commit "95505b54c8c7b4b27f500c3be97fa5732f4b51a8")
13693 (revision "0"))
13694 (package
13695 (name "sbcl-clml")
13696 (version (git-version "0.0.0" revision commit))
13697 (source
13698 (origin
13699 (method git-fetch)
13700 (uri (git-reference
13701 (url "https://github.com/mmaul/clml")
13702 (commit commit)))
13703 (file-name (git-file-name "clml" version))
13704 (sha256
13705 (base32 "006pii59nmpc61n7p7h8ha5vjg6x0dya327i58z0rnvxs249h345"))
13706 ;; TODO: Remove this when the patch has been merged upstream.
13707 (patches (search-patches "sbcl-clml-fix-types.patch"))))
13708 (build-system asdf-build-system/sbcl)
13709 (inputs
13710 `(("alexandia" ,sbcl-alexandria)
13711 ("array-operations" ,sbcl-array-operations)
13712 ("cl-fad" ,sbcl-cl-fad)
13713 ("cl-ppcre" ,sbcl-cl-ppcre)
13714 ("drakma" ,sbcl-drakma)
13715 ("introspect-environment" ,sbcl-introspect-environment)
13716 ("iterate" ,sbcl-iterate)
13717 ("lparallel" ,sbcl-lparallel)
13718 ("parse-number" ,sbcl-parse-number)
13719 ("split-sequence" ,sbcl-split-sequence)
13720 ("trivial-garbage" ,sbcl-trivial-garbage)))
13721 (synopsis "Common Lisp machine learning library")
13722 (description
13723 "CLML (Common Lisp Machine Learning) is a high performance and large
13724scale statistical machine learning package")
13725 (home-page "https://mmaul.github.io/clml/")
13726 (license license:llgpl))))
13727
13728(define-public cl-clml
13729 (sbcl-package->cl-source-package sbcl-clml))
fd994faa
GLV
13730
13731(define-public sbcl-utm-ups
b1ea2f05 13732 (let ((commit "ffcb7b6d5a56fb7d4b2b95b83bbd28ffe6e6961f")
fd994faa
GLV
13733 (revision "0"))
13734 (package
13735 (name "sbcl-utm-ups")
b1ea2f05 13736 (version (git-version "1.1" revision commit))
fd994faa
GLV
13737 (source
13738 (origin
13739 (method git-fetch)
13740 (uri (git-reference
13741 (url "https://github.com/glv2/utm-ups")
13742 (commit commit)))
13743 (file-name (git-file-name "utm-ups" version))
13744 (sha256
b1ea2f05 13745 (base32 "1rvyh0srgd81kvbzmq4ysd9y6c0qdwh23naqxc9asw1vh7fq08x1"))))
fd994faa
GLV
13746 (build-system asdf-build-system/sbcl)
13747 (native-inputs
13748 `(("fiveam" ,sbcl-fiveam)))
13749 (synopsis
13750 "Convert coordinates between latitude/longitude and UTM or UPS")
13751 (description
13752 "This a Common Lisp library to convert geographic coordinates between
13753latitude/longitude and UTM (Universal Transverse Mercator) or UPS (Universal
13754Polar Stereographic).")
13755 (home-page "https://github.com/glv2/utm-ups")
13756 (license license:gpl3+))))
13757
13758(define-public cl-utm-ups
13759 (sbcl-package->cl-source-package sbcl-utm-ups))
13760
13761(define-public ecl-utm-ups
13762 (sbcl-package->ecl-package sbcl-utm-ups))
291328b1
GLV
13763
13764(define-public sbcl-mgrs
13765 (let ((commit "00455460407b7e5509d1be3da09bf6152956761f")
13766 (revision "0"))
13767 (package
13768 (name "sbcl-mgrs")
13769 (version (git-version "1.0" revision commit))
13770 (source
13771 (origin
13772 (method git-fetch)
13773 (uri (git-reference
13774 (url "https://github.com/glv2/mgrs")
13775 (commit commit)))
13776 (file-name (git-file-name "mgrs" version))
13777 (sha256
13778 (base32 "0ckvn4hg3wwivzavhfashb6fap4a1q10l8krhbng8bdb54ac10sz"))))
13779 (build-system asdf-build-system/sbcl)
13780 (native-inputs
13781 `(("fiveam" ,sbcl-fiveam)))
13782 (inputs
13783 `(("utm-ups" ,sbcl-utm-ups)))
13784 (synopsis
13785 "Convert coordinates between latitude/longitude and MGRS")
13786 (description
13787 "This a Common Lisp library to convert geographic coordinates between
13788latitude/longitude and MGRS.")
13789 (home-page "https://github.com/glv2/mgrs")
13790 (license license:gpl3+))))
13791
13792(define-public cl-mgrs
13793 (sbcl-package->cl-source-package sbcl-mgrs))
13794
13795(define-public ecl-mgrs
13796 (sbcl-package->ecl-package sbcl-mgrs))
deed0161
GLV
13797
13798(define-public sbcl-maidenhead
13799 (let ((commit "b756d235c27b5d6798867aa240318af1a8f35d6d")
13800 (revision "0"))
13801 (package
13802 (name "sbcl-maidenhead")
13803 (version (git-version "1.0" revision commit))
13804 (source
13805 (origin
13806 (method git-fetch)
13807 (uri (git-reference
13808 (url "https://github.com/glv2/maidenhead")
13809 (commit commit)))
13810 (file-name (git-file-name "maidenhead" version))
13811 (sha256
13812 (base32 "02p990zprhjvifmsfk8yh3frvz6xyw26ikzxvzglqdixbal36nr3"))))
13813 (build-system asdf-build-system/sbcl)
13814 (native-inputs
13815 `(("fiveam" ,sbcl-fiveam)))
13816 (synopsis
13817 "Convert coordinates between latitude/longitude and Maidenhead")
13818 (description
13819 "This a Common Lisp library to convert geographic coordinates between
13820latitude/longitude and Maidenhead locator system.")
13821 (home-page "https://github.com/glv2/maidenhead")
13822 (license license:gpl3+))))
13823
13824(define-public cl-maidenhead
13825 (sbcl-package->cl-source-package sbcl-maidenhead))
13826
13827(define-public ecl-maidenhead
13828 (sbcl-package->ecl-package sbcl-maidenhead))
ad884c3b
GLV
13829
13830(define-public sbcl-olc
13831 (let ((commit "517e27fa57d9a119b00a29c4b6b31e553deff309")
13832 (revision "0"))
13833 (package
13834 (name "sbcl-olc")
13835 (version (git-version "1.0" revision commit))
13836 (source
13837 (origin
13838 (method git-fetch)
13839 (uri (git-reference
13840 (url "https://github.com/glv2/olc")
13841 (commit commit)))
13842 (file-name (git-file-name "olc" version))
13843 (sha256
13844 (base32 "1lnfhp6z6kc8l605zp4siyjiw74y1h4bdq3jfizi084v505wxhgr"))))
13845 (build-system asdf-build-system/sbcl)
13846 (native-inputs
13847 `(("fiveam" ,sbcl-fiveam)))
13848 (synopsis
13849 "Convert coordinates between latitude/longitude and Open Location Code")
13850 (description
13851 "This a Common Lisp library to convert geographic coordinates between
13852latitude/longitude and Open Location Code.")
13853 (home-page "https://github.com/glv2/olc")
13854 (license license:gpl3+))))
13855
13856(define-public cl-olc
13857 (sbcl-package->cl-source-package sbcl-olc))
13858
13859(define-public ecl-olc
13860 (sbcl-package->ecl-package sbcl-olc))
d13fb04b
PN
13861
13862(define-public sbcl-regex
13863 (let ((commit "fbc9a9f313b9edc1788f33d4b23a29151635ae22"))
13864 (package
13865 (name "sbcl-regex")
13866 (version (git-version "1" "1" commit))
13867 (source
13868 (origin
13869 (method git-fetch)
13870 (uri (git-reference
13871 (url "https://github.com/michaelw/regex/")
13872 (commit commit)))
13873 (file-name (git-file-name name version))
13874 (sha256
13875 (base32 "0wq5wlafrxv13wg28hg5b10sc48b88swsvznpy2zg7x37m4nmm6a"))))
13876 (build-system asdf-build-system/sbcl)
13877 (home-page "https://github.com/michaelw/regex/")
13878 (synopsis "Regular expression engine for Common Lisp")
13879 (description
13880 "This Common Lisp package provides a regular expression engine.")
13881 (license license:bsd-2))))
13882
13883(define-public cl-regex
13884 (sbcl-package->cl-source-package sbcl-regex))
13885
13886(define-public ecl-regex
13887 (sbcl-package->ecl-package sbcl-regex))
6ba21a2e
PN
13888
13889(define-public sbcl-clawk
13890 (let ((commit "3a91634df686417114044a98c063cbe76bfac7b6"))
13891 (package
13892 (name "sbcl-clawk")
13893 (version (git-version "4" "1" commit))
13894 (source
13895 (origin
13896 (method git-fetch)
13897 (uri (git-reference
13898 (url "https://github.com/sharplispers/clawk")
13899 (commit commit)))
13900 (file-name (git-file-name name version))
13901 (sha256
13902 (base32 "1ph3xjqilvinvgr9q3w47zxqyz1sqnq030nlx7kgkkv8j3bnqk7a"))))
13903 (build-system asdf-build-system/sbcl)
13904 (inputs
13905 `(("sbcl-regex" ,sbcl-regex)))
13906 (home-page "https://github.com/sharplispers/clawk")
13907 (synopsis "Common Lisp AWK")
13908 (description
13909 "CLAWK is an AWK implementation embedded into Common Lisp.")
13910 (license license:bsd-2))))
13911
13912(define-public cl-clawk
13913 (sbcl-package->cl-source-package sbcl-clawk))
13914
13915(define-public ecl-clawk
13916 (sbcl-package->ecl-package sbcl-clawk))
8ee3e783
PN
13917
13918(define-public sbcl-check-it
13919 (let ((commit "b79c9103665be3976915b56b570038f03486e62f"))
13920 (package
13921 (name "sbcl-check-it")
13922 (version (git-version "0.1.0" "1" commit))
13923 (source
13924 (origin
13925 (method git-fetch)
13926 (uri (git-reference
13927 (url "https://github.com/DalekBaldwin/check-it/")
13928 (commit commit)))
13929 (file-name (git-file-name name version))
13930 (sha256
13931 (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"))))
13932 (build-system asdf-build-system/sbcl)
13933 (inputs
13934 `(("alexandria" ,sbcl-alexandria)
13935 ("closer-mop" ,sbcl-closer-mop)
13936 ("optima" ,sbcl-optima)))
13937 (native-inputs
13938 `(("stefil" ,sbcl-stefil)))
13939 (home-page "https://github.com/arclanguage/Clamp")
13940 (synopsis "Randomized specification-based testing for Common Lisp")
13941 (description
13942 "This is a randomized property-based testing library for Common Lisp.
13943Rather than being a full-fledged general test framework in its own right, it's
13944designed to embed randomized tests in whatever framework you like.")
13945 (license license:llgpl))))
13946
13947(define-public cl-check-it
13948 (sbcl-package->cl-source-package sbcl-check-it))
13949
13950(define-public ecl-check-it
13951 (sbcl-package->ecl-package sbcl-check-it))
f8257207
PN
13952
13953(define-public sbcl-clamp
13954 (let ((commit "02b8f3953e5753cc61a719807c82f3795cd28fe1"))
13955 (package
13956 (name "sbcl-clamp")
13957 (version (git-version "0.3" "1" commit))
13958 (source
13959 (origin
13960 (method git-fetch)
13961 (uri (git-reference
13962 (url "https://github.com/arclanguage/Clamp")
13963 (commit commit)))
13964 (file-name (git-file-name name version))
13965 (sha256
13966 (base32 "0fdr9nqfmmpxm6hvjdxi1jkclya9xlnrw1yc3cn1m4ww3f50p31m"))))
13967 (build-system asdf-build-system/sbcl)
13968 (inputs
13969 `(("iterate" ,sbcl-iterate)
13970 ("cl-syntax" ,sbcl-cl-syntax)))
13971 (native-inputs
13972 `(("cl-unit" ,sbcl-clunit)
13973 ("check-it" ,sbcl-check-it)))
13974 (arguments
13975 `(#:phases
13976 (modify-phases %standard-phases
13977 (add-after 'unpack 'fix-build
13978 (lambda _
13979 (substitute* "clamp.asd"
13980 (("\\(:file \"read\" :depends-on \\(\"aliases\"\\)\\)")
13981 "(:file \"read\" :depends-on (\"aliases\" \"base\"))"))
13982 #t)))))
13983 (home-page "https://github.com/arclanguage/Clamp")
13984 (synopsis "Common Lisp with Arc macros and procedures")
13985 (description
13986 "Clamp is an attempt to bring the powerful, but verbose, language of
13987Common Lisp up to the terseness of Arc.
13988
13989There are two parts to Clamp. There is the core of Clamp, which implements
13990the utilities of Arc that are easily converted from Arc to Common Lisp. The
13991other part is the \"experimental\" part. It contains features of Arc that are
13992not so easy to copy (ssyntax, argument destructuring, etc.).")
13993 (license license:artistic2.0))))
13994
13995(define-public cl-clamp
13996 (sbcl-package->cl-source-package sbcl-clamp))
13997
13998(define-public ecl-clamp
13999 (sbcl-package->ecl-package sbcl-clamp))
91d59549
PN
14000
14001(define-public sbcl-trivial-shell
14002 (let ((commit "e02ec191b34b52deca5d1c4ee99d4fa13b8772e0"))
14003 (package
14004 (name "sbcl-trivial-shell")
14005 (version (git-version "0.2.0" "1" commit))
14006 (source
14007 (origin
14008 (method git-fetch)
14009 (uri (git-reference
14010 (url "https://github.com/gwkkwg/trivial-shell")
14011 (commit commit)))
14012 (file-name (git-file-name name version))
14013 (sha256
14014 (base32 "08mpkl5ij5sjfsyn8pq2kvsvpvyvr7ha1r8g1224fa667b8k2q85"))))
14015 (build-system asdf-build-system/sbcl)
14016 (native-inputs
14017 `(("lift" ,sbcl-lift)))
14018 (home-page "http://common-lisp.net/project/trivial-shell/")
14019 (synopsis "Common Lisp access to the shell")
14020 (description
14021 "A simple Common-Lisp interface to the underlying operating system.
14022It's independent of the implementation and operating system.")
14023 (license license:expat))))
14024
14025(define-public cl-trivial-shell
14026 (sbcl-package->cl-source-package sbcl-trivial-shell))
14027
14028(define-public ecl-trivial-shell
14029 (sbcl-package->ecl-package sbcl-trivial-shell))
65bf9f6b
PN
14030
14031(define-public sbcl-clesh
14032 (let ((commit "44e96e04a72e5bc006dc4eb02ce8962348dd4a11"))
14033 (package
14034 (name "sbcl-clesh")
14035 (version (git-version "0.0.0" "1" commit))
14036 (source
14037 (origin
14038 (method git-fetch)
14039 (uri (git-reference
14040 (url "https://github.com/Neronus/Clesh")
14041 (commit commit)))
14042 (file-name (git-file-name name version))
14043 (sha256
14044 (base32 "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318"))))
14045 (build-system asdf-build-system/sbcl)
14046 (inputs
14047 `(("trivial-shell" ,sbcl-trivial-shell)
14048 ("named-readtables" ,sbcl-named-readtables)))
14049 (home-page "https://github.com/Neronus/Clesh")
14050 (synopsis "Embed shell code in Common Lisp")
14051 (description
14052 "This is a very short and simple program, written in Common Lisp, that
14053extends Common Lisp to embed shell code in a manner similar to Perl's
14054backtick. It has been forked from SHELISP.")
14055 (license license:bsd-2))))
14056
14057(define-public cl-clesh
14058 (sbcl-package->cl-source-package sbcl-clesh))
14059
14060(define-public ecl-clesh
14061 (sbcl-package->ecl-package sbcl-clesh))
4f298eba 14062
dba6389c
SH
14063(define-public sbcl-trivial-channels
14064 (let ((commit "e2370118d8983ba69c0360a7695f8f2e2fd6a8a6")
14065 (revision "1"))
14066 (package
14067 (name "sbcl-trivial-channels")
14068 (version (git-version "1.0" revision commit))
14069 (source
14070 (origin
14071 (method git-fetch)
14072 (uri (git-reference
14073 (url "https://github.com/rpav/trivial-channels")
14074 (commit commit)))
14075 (file-name (git-file-name "trivial-channels" version))
14076 (sha256
14077 (base32 "04wnxcgk40x8p0gxnz9arv1a5wasdqrdxa8c4p5v7r2mycfps6jj"))))
14078 (build-system asdf-build-system/sbcl)
14079 (inputs
14080 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
14081 ("trivial-timeout" ,sbcl-trivial-timeout)))
14082 (home-page "https://github.com/rpav/trivial-channels")
14083 (synopsis "Common Lisp simple thread-safe channels with timeout")
14084 (description
14085 "It's very basic implementation of channels and queue for Common Lisp.")
14086 (license license:bsd-2))))
14087
14088(define-public ecl-trivial-channels
14089 (sbcl-package->ecl-package sbcl-trivial-channels))
14090
14091(define-public cl-trivial-channels
14092 (sbcl-package->cl-source-package sbcl-trivial-channels))
14093
4f298eba
PN
14094(define-public sbcl-trivial-download
14095 (let ((commit "d2472061d86b1cf3d32f388daacd4e32a13af699"))
14096 (package
14097 (name "sbcl-trivial-download")
14098 (version (git-version "0.3" "1" commit))
14099 (source
14100 (origin
14101 (method git-fetch)
14102 (uri (git-reference
14103 (url "https://github.com/eudoxia0/trivial-download/")
14104 (commit commit)))
14105 (file-name (git-file-name name version))
14106 (sha256
14107 (base32 "06f46zr3gp3wlm2kgxna24qd2gpr1v89x9fynh1x5vrw6c6hqjcv"))))
14108 (build-system asdf-build-system/sbcl)
14109 (inputs
14110 `(("drakma" ,sbcl-drakma)))
14111 (home-page "https://github.com/eudoxia0/trivial-download/")
14112 (synopsis "Download files from Common Lisp")
14113 (description
14114 "@code{trivial-download} allows you to download files from the Internet
14115from Common Lisp. It provides a progress bar.")
14116 (license license:bsd-2))))
14117
14118(define-public cl-trivial-download
14119 (sbcl-package->cl-source-package sbcl-trivial-download))
14120
14121(define-public ecl-trivial-download
14122 (sbcl-package->ecl-package sbcl-trivial-download))
52b81c32
PN
14123
14124(define-public sbcl-gtwiwtg
14125 (package
14126 (name "sbcl-gtwiwtg")
14127 (version "0.1.1")
14128 (source
14129 (origin
14130 (method git-fetch)
14131 (uri (git-reference
14132 (url "https://github.com/cbeo/gtwiwtg/")
14133 (commit version)))
14134 (file-name (git-file-name name version))
14135 (sha256
14136 (base32 "0lkraw0dwh4is4x5sp5rjrw6f93m0gr9849abrbi12s25ws7jbw4"))))
14137 (build-system asdf-build-system/sbcl)
14138 (native-inputs
14139 `(("osicat" ,sbcl-osicat)
14140 ("prove" ,sbcl-prove)))
14141 (home-page "https://github.com/cbeo/gtwiwtg/")
14142 (synopsis "Naive generators for Common Lisp")
14143 (description
14144 "The GTWIWTG library (Generators The Way I Want Them Generated --
14145technically not generators, but iterators) is meant to be small, explorable,
14146and understandable.")
14147 (license license:gpl3)))
14148
14149(define-public cl-gtwiwtg
14150 (sbcl-package->cl-source-package sbcl-gtwiwtg))
14151
14152(define-public ecl-gtwiwtg
14153 (sbcl-package->ecl-package sbcl-gtwiwtg))
40693b61
PN
14154
14155(define-public sbcl-cl-progress-bar
14156 (let ((commit "9374170858663c8fe829e9fb5a29bd2cb48d95ae"))
14157 (package
14158 (name "sbcl-cl-progress-bar")
14159 (version (git-version "0.0.0" "1" commit))
14160 (source
14161 (origin
14162 (method git-fetch)
14163 (uri (git-reference
14164 (url "https://github.com/sirherrbatka/cl-progress-bar/")
14165 (commit commit)))
14166 (file-name (git-file-name name version))
14167 (sha256
14168 (base32 "1ldb4qhmx431n3lsq71ynwb9ybazbfqd55icjbhi06mj52ngndir"))))
14169 (build-system asdf-build-system/sbcl)
14170 (inputs
14171 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
14172 ("documentation-utils-extensions" ,sbcl-documentation-utils-extensions)))
14173 (home-page "https://github.com/sirherrbatka/cl-progress-bar/")
14174 (synopsis "Progress bars in Common Lisp")
14175 (description
14176 "This library provides almost the same code as used inside Quicklisp
14177for drawning progress bars")
14178 (license license:expat))))
14179
14180(define-public cl-progress-bar
14181 (sbcl-package->cl-source-package sbcl-cl-progress-bar))
14182
14183(define-public ecl-cl-progress-bar
14184 (sbcl-package->ecl-package sbcl-cl-progress-bar))
e4c1818e
PN
14185
14186(define-public sbcl-repl-utilities
8aedb2f0 14187 (let ((commit "7e300df663177ea4581f4e7e9c601377881dd986"))
e4c1818e
PN
14188 (package
14189 (name "sbcl-repl-utilities")
14190 (version (git-version "0.0.0" "1" commit))
14191 (source
14192 (origin
14193 (method git-fetch)
14194 (uri (git-reference
14195 (url "https://github.com/m-n/repl-utilities/")
14196 (commit commit)))
14197 (file-name (git-file-name name version))
14198 (sha256
8aedb2f0 14199 (base32 "1hh56pq5nw3l4b83dzlyss69f06r038byj2cnjwvci4hfjhdfcc3"))))
e4c1818e
PN
14200 (build-system asdf-build-system/sbcl)
14201 (home-page "https://github.com/m-n/repl-utilities")
14202 (synopsis "Ease common tasks at the Common Lisp REPL")
14203 (description
14204 "@code{repl-utilities} is a set of utilities which ease life at the
14205REPL. It includes three sorts of features: introspective procedures,
14206miscellaneous utility functions, and, pulling them together, methods to
14207conveniently keep these symbols and optionally additional symbols available in
14208whichever package you switch to.")
14209 (license license:bsd-2))))
14210
14211(define-public cl-repl-utilities
14212 (sbcl-package->cl-source-package sbcl-repl-utilities))
14213
14214(define-public ecl-repl-utilities
14215 (sbcl-package->ecl-package sbcl-repl-utilities))
fc929639
PN
14216
14217(define-public sbcl-supertrace
14218 (let ((commit "66d22c3ff131ecd1c8048dfced1d62ed6024ecb0"))
14219 (package
14220 (name "sbcl-supertrace")
14221 (version (git-version "0.1.0" "1" commit))
14222 (source
14223 (origin
14224 (method git-fetch)
14225 (uri (git-reference
14226 (url "https://github.com/fukamachi/supertrace")
14227 (commit commit)))
14228 (file-name (git-file-name name version))
14229 (sha256
14230 (base32 "0n369n6b7y1m49biccnnr7svymjdsk8sksrkqrn3mj21vgv7s7bg"))))
14231 (build-system asdf-build-system/sbcl)
14232 (native-inputs
14233 `(("cffi-grovel" ,sbcl-cffi)
14234 ("rove" ,sbcl-rove)
14235 ("cl-ppcre" ,sbcl-cl-ppcre)
14236 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
14237 (inputs
14238 `(("cffi" ,sbcl-cffi)))
14239 (home-page "https://github.com/fukamachi/supertrace")
14240 (synopsis "Improved Common Lisp tracing for debugging and profiling")
14241 (description
14242 "Supertrace provides a superior Common Lisp @code{trace} functionality
14243for debugging and profiling real world applications.")
14244 (license license:bsd-2))))
14245
14246(define-public cl-supertrace
14247 (sbcl-package->cl-source-package sbcl-supertrace))
14248
14249(define-public ecl-supertrace
14250 (sbcl-package->ecl-package sbcl-supertrace))
1467ae64
PN
14251
14252(define-public sbcl-trivial-benchmark
14253 (let ((commit "42d76733dd2e873471c6f1e27d39113293f7dd5c"))
14254 (package
14255 (name "sbcl-trivial-benchmark")
14256 (version (git-version "2.0.0" "1" commit))
14257 (source
14258 (origin
14259 (method git-fetch)
14260 (uri (git-reference
14261 (url "https://github.com/Shinmera/trivial-benchmark/")
14262 (commit commit)))
14263 (file-name (git-file-name name version))
14264 (sha256
14265 (base32 "0fbzqbpm2ixz85555krl36kbbbjyn699vdj6k383khi3g9y629fa"))))
14266 (build-system asdf-build-system/sbcl)
14267 (inputs
14268 `(("alexandria" ,sbcl-alexandria)))
14269 (home-page "http://shinmera.github.io/trivial-benchmark/")
14270 (synopsis "Easy to use benchmarking system for Common Lisp")
14271 (description
14272 "Trivial-Benchmark runs a block of code many times and outputs some
14273statistical data for it. On SBCL this includes the data from @code{time}, for
14274all other implementations just the @code{real-time} and @code{run-time} data.
14275However, you can extend the system by adding your own @code{metrics} to it, or
14276even by adding additional statistical @code{compute}ations. ")
14277 (license license:zlib))))
14278
14279(define-public cl-trivial-benchmark
14280 (sbcl-package->cl-source-package sbcl-trivial-benchmark))
14281
14282(define-public ecl-trivial-benchmark
14283 (sbcl-package->ecl-package sbcl-trivial-benchmark))
c16628ea
PN
14284
14285(define-public sbcl-glyphs
14286 (let ((commit "1ff5714e8c1dca327bc604dfe3e3d1f4b7755373"))
14287 (package
14288 (name "sbcl-glyphs")
14289 (version (git-version "0.0.0" "1" commit))
14290 (source
14291 (origin
14292 (method git-fetch)
14293 (uri (git-reference
14294 (url "https://github.com/ahungry/glyphs/")
14295 (commit commit)))
14296 (file-name (git-file-name name version))
14297 (sha256
14298 (base32 "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf"))))
14299 (build-system asdf-build-system/sbcl)
14300 (inputs
14301 `(("cl-ppcre" ,sbcl-cl-ppcre)
14302 ("parenscript" ,sbcl-parenscript)
14303 ("named-readtables" ,sbcl-named-readtables)))
14304 (home-page "https://github.com/ahungry/glyphs/")
14305 (synopsis "Reduce Common Lisp verbosity")
14306 (description
14307 "This library is a little experiment in reducing verbosity in Common
14308Lisp, inspired by BODOL (@url{https://github.com/bodil/BODOL}).")
14309 (license license:gpl3))))
14310
14311(define-public cl-glyphs
14312 (sbcl-package->cl-source-package sbcl-glyphs))
14313
14314(define-public ecl-glyphs
14315 (sbcl-package->ecl-package sbcl-glyphs))
cebfb29a
SH
14316
14317(define-public sbcl-zs3
14318 (package
14319 (name "sbcl-zs3")
14320 (version "1.3.3")
14321 (source
14322 (origin
14323 (method git-fetch)
14324 (uri
14325 (git-reference
14326 (url "https://github.com/xach/zs3")
14327 (commit (string-append "release-" version))))
14328 (file-name (git-file-name "zs3" version))
14329 (sha256
14330 (base32 "186v95wgsj2hkxdw2jl9x1w4fddjclp7arp0rrd9vf5ly8h8sbf3"))))
14331 (build-system asdf-build-system/sbcl)
14332 (inputs
14333 `(("drakma" ,sbcl-drakma)
14334 ("alexandria" ,sbcl-alexandria)
14335 ("cxml" ,sbcl-cxml)
14336 ("ironclad" ,sbcl-ironclad)
14337 ("puri" ,sbcl-puri)
14338 ("cl-base64" ,sbcl-cl-base64)))
14339 (synopsis "Work with Amazon S3 and Amazon CloudFront from Common Lisp")
14340 (description "This is ZS3, a library for working with Amazon's Simple Storage
14341Service (S3) and CloudFront service from Common Lisp.")
14342 (home-page "https://github.com/xach/zs3")
14343 (license license:bsd-2)))
14344
14345(define-public cl-zs3
14346 (sbcl-package->cl-source-package sbcl-zs3))
14347
14348(define-public ecl-zs3
14349 (sbcl-package->ecl-package sbcl-zs3))
4a084c7a
GLV
14350
14351(define-public sbcl-simple-neural-network
14352 (package
14353 (name "sbcl-simple-neural-network")
14354 (version "3.1")
14355 (source
14356 (origin
14357 (method git-fetch)
14358 (uri (git-reference
14359 (url "https://github.com/glv2/simple-neural-network")
14360 (commit (string-append "v" version))))
14361 (file-name (git-file-name "simple-neural-network" version))
14362 (sha256
14363 (base32 "1jj1c90fr5clwka0jv32hv6xp1bkdlpa6x5jh19an13rhx8ll4zr"))))
14364 (build-system asdf-build-system/sbcl)
14365 (native-inputs
14366 `(("chipz" ,sbcl-chipz)
14367 ("fiveam" ,sbcl-fiveam)))
14368 (inputs
14369 `(("cl-store" ,sbcl-cl-store)
14370 ("lparallel" ,sbcl-lparallel)))
14371 (arguments
14372 `(#:phases
14373 (modify-phases %standard-phases
14374 (add-after 'check 'remove-test-data
14375 (lambda* (#:key outputs #:allow-other-keys)
14376 (let ((out (assoc-ref outputs "out")))
14377 (for-each delete-file (find-files out "\\.gz$"))))))))
14378 (synopsis "Simple neural network in Common Lisp")
14379 (description
14380 "@code{simple-neural-network} is a Common Lisp library for creating,
14381training and using basic neural networks. The networks created by this
14382library are feedforward neural networks trained using backpropagation.")
14383 (home-page "https://github.com/glv2/simple-neural-network")
14384 (license license:gpl3+)))
14385
14386(define-public cl-simple-neural-network
14387 (sbcl-package->cl-source-package sbcl-simple-neural-network))
14388
14389(define-public ecl-simple-neural-network
14390 (sbcl-package->ecl-package sbcl-simple-neural-network))
08c4dd51
GLV
14391
14392(define-public sbcl-zstd
14393 (let ((commit "d144582c581aaa52bac24d6686af27fa3e781e06")
14394 (revision "1"))
14395 (package
14396 (name "sbcl-zstd")
14397 (version (git-version "1.0" revision commit))
14398 (source
14399 (origin
14400 (method git-fetch)
14401 (uri (git-reference
14402 (url "https://github.com/glv2/cl-zstd")
14403 (commit commit)))
14404 (file-name (git-file-name "cl-zstd" version))
14405 (sha256
14406 (base32 "1774jy8hzbi6nih3sq6vchk66f7g8w86dwgpbvljyfzcnkcaz6ql"))))
14407 (build-system asdf-build-system/sbcl)
14408 (native-inputs
14409 `(("fiveam" ,sbcl-fiveam)))
14410 (inputs
14411 `(("cffi" ,sbcl-cffi)
14412 ("cl-octet-streams" ,sbcl-cl-octet-streams)
14413 ("zstd-lib" ,zstd "lib")))
14414 (arguments
14415 '(#:phases
14416 (modify-phases %standard-phases
14417 (add-after 'unpack 'fix-paths
14418 (lambda* (#:key inputs #:allow-other-keys)
14419 (substitute* "src/libzstd.lisp"
14420 (("libzstd\\.so")
14421 (string-append (assoc-ref inputs "zstd-lib")
14422 "/lib/libzstd.so")))
14423 #t)))))
14424 (synopsis "Common Lisp library for Zstandard (de)compression")
14425 (description
14426 "This Common Lisp library provides functions for Zstandard
14427compression/decompression using bindings to the libzstd C library.")
14428 (home-page "https://github.com/glv2/cl-zstd")
14429 (license license:gpl3+))))
14430
14431(define-public cl-zstd
14432 (sbcl-package->cl-source-package sbcl-zstd))
14433
14434(define-public ecl-zstd
14435 (sbcl-package->ecl-package sbcl-zstd))
caa22090
PN
14436
14437(define-public sbcl-agnostic-lizard
14438 (let ((commit "fe3a73719f05901c8819f8995a3ebae738257952")
14439 (revision "1"))
14440 (package
14441 (name "sbcl-agnostic-lizard")
14442 (version (git-version "0.0.0" revision commit))
14443 (source
14444 (origin
14445 (method git-fetch)
14446 (uri (git-reference
14447 (url "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
14448 (commit commit)))
14449 (file-name (git-file-name name version))
14450 (sha256
14451 (base32 "0ax78y8w4zlp5dcwyhz2nq7j3shi49qn31dkfg8lv2jlg7mkwh2d"))))
14452 (build-system asdf-build-system/sbcl)
14453 (synopsis "Almost correct portable code walker for Common Lisp")
14454 (description
14455 "Agnostic Lizard is a portable implementation of a code walker and in
14456particular of the macroexpand-all function (and macro) that makes a best
14457effort to be correct while not expecting much beyond what the Common Lisp
14458standard requires.
14459
14460It aims to be implementation-agnostic and to climb the syntax trees.")
69c05267 14461 (home-page "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
caa22090
PN
14462 (license license:gpl3+))))
14463
14464(define-public cl-agnostic-lizard
14465 (sbcl-package->cl-source-package sbcl-agnostic-lizard))
14466
14467(define-public ecl-agnostic-lizard
14468 (sbcl-package->ecl-package sbcl-agnostic-lizard))
b76ae073
SH
14469
14470(define-public sbcl-dynamic-classes
14471 (package
14472 (name "sbcl-dynamic-classes")
14473 (version "1.0.2")
14474 (source
14475 (origin
14476 (method git-fetch)
14477 (uri (git-reference
14478 (url "https://github.com/gwkkwg/dynamic-classes")
14479 (commit (string-append "version-" version))))
14480 (file-name (git-file-name "dynamic-classes" version))
14481 (sha256
14482 (base32 "1z3ag6w4ff0v6715xa9zhvwjqnp4i6zrjfmxdz8m115sklbwgm6c"))))
14483 (build-system asdf-build-system/sbcl)
14484 (inputs
14485 `(("metatilities-base" ,sbcl-metatilities-base)))
14486 (arguments
14487 ;; NOTE: (Sharlatan-20210106222900+0000) Circular dependencies and failing
14488 ;; test suites. lift-standard.config contains referances to deprecated
14489 ;; functionality.
14490 `(#:tests? #f))
14491 (home-page "https://common-lisp.net/project/dynamic-classes/")
14492 (synopsis "Dynamic class definition for Common Lisp")
14493 (description "Dynamic-Classes helps to ease the prototyping process by
14494bringing dynamism to class definition.")
14495 (license license:expat)))
14496
14497(define-public ecl-dynamic-classes
14498 (sbcl-package->ecl-package sbcl-dynamic-classes))
14499
14500(define-public cl-dynamic-classes
14501 (sbcl-package->cl-source-package sbcl-dynamic-classes))
375c44de
SH
14502
14503(define-public sbcl-cl-markdown
14504 ;; NOTE: (Sharlatan-20210106214629+0000) latest version tag
14505 ;; "version-0.10.6_version-0.10.6" is failing to build due to missing system
14506 ;; #:container-dynamic-classes
14507 (package
14508 (name "sbcl-cl-markdown")
14509 (version "0.10.4")
14510 (source
14511 (origin
14512 (method git-fetch)
14513 (uri (git-reference
14514 (url "https://github.com/gwkkwg/cl-markdown")
14515 (commit (string-append "version-" version))))
14516 (file-name (git-file-name "cl-markdown" version))
14517 (sha256
14518 (base32 "1wdjbdd1zyskxf7zlilcp6fmwkivybj0wjp64vvzb265d5xi7p8p"))))
14519 (build-system asdf-build-system/sbcl)
14520 (inputs
14521 `(("anaphora" ,sbcl-anaphora)
14522 ("cl-containers" ,sbcl-cl-containers)
14523 ("cl-ppcre" ,sbcl-cl-ppcre)
14524 ("dynamic-classes" ,sbcl-dynamic-classes)
14525 ("metabang-bind" ,sbcl-metabang-bind)
14526 ("metatilities-base" ,sbcl-metatilities-base)))
14527 (arguments
14528 ;; NOTE: (Sharlatan-20210107213629+0000) Tests depend on too many not
14529 ;; available systems, which themself are abandoned.
14530 `(#:tests? #f))
14531 (home-page "https://common-lisp.net/project/cl-markdown/")
14532 (synopsis "Common Lisp rewrite of Markdown")
14533 (description
14534 "This is an implementation of a Markdown parser in Common Lisp.")
14535 (license license:expat)))
14536
14537(define-public ecl-cl-markdown
14538 (sbcl-package->ecl-package sbcl-cl-markdown))
14539
14540(define-public cl-markdown
14541 (sbcl-package->cl-source-package sbcl-cl-markdown))
3bd8d045
PN
14542
14543(define-public sbcl-magicffi
14544 (let ((commit "d88f2f280c31f639e4e05be75215d8a8dce6aef2"))
14545 (package
14546 (name "sbcl-magicffi")
14547 (version (git-version "0.0.0" "1" commit))
14548 (source
14549 (origin
14550 (method git-fetch)
14551 (uri (git-reference
14552 (url "https://github.com/dochang/magicffi/")
14553 (commit commit)))
14554 (file-name (git-file-name name version))
14555 (sha256
14556 (base32 "0p6ysa92fk34bhxpw7bycbfgw150fv11z9x8jr9xb4lh8cm2hvp6"))))
14557 (build-system asdf-build-system/sbcl)
14558 (native-inputs
14559 `(("alexandria" ,sbcl-alexandria)))
14560 (inputs
14561 `(("cffi" ,sbcl-cffi)
14562 ("ppcre" ,sbcl-cl-ppcre)
14563 ("libmagic" ,file)))
14564 (arguments
14565 `(#:phases
14566 (modify-phases %standard-phases
14567 (add-after 'unpack 'fix-paths
14568 (lambda* (#:key inputs #:allow-other-keys)
14569 (let ((magic (assoc-ref inputs "libmagic")))
14570 (substitute* "grovel.lisp"
14571 (("/usr/include/magic.h")
14572 (string-append magic "/include/magic.h")))
14573 (substitute* "api.lisp"
14574 ((":default \"libmagic\"" all)
14575 (string-append ":default \"" magic "/lib/libmagic\"")))))))))
14576 (home-page "https://common-lisp.net/project/magicffi/")
14577 (synopsis "Common Lisp interface to libmagic based on CFFI")
14578 (description
14579 "MAGICFFI is a Common Lisp CFFI interface to libmagic(3), the file type
14580determination library using @emph{magic} numbers.")
14581 (license license:bsd-2))))
14582
14583(define-public ecl-magicffi
14584 (sbcl-package->ecl-package sbcl-magicffi))
14585
14586(define-public cl-magicffi
14587 (sbcl-package->cl-source-package sbcl-magicffi))
8142c550
PN
14588
14589(define-public sbcl-shlex
e118348a
GLV
14590 (let ((commit "3dee1cb7c0140fa7660ca7a3b2ac5e75d1218e5c")
14591 (revision "2"))
8142c550
PN
14592 (package
14593 (name "sbcl-shlex")
e118348a 14594 (version (git-version "0.0.0" revision commit))
8142c550
PN
14595 (source
14596 (origin
14597 (method git-fetch)
14598 (uri (git-reference
14599 (url "https://github.com/ruricolist/cl-shlex")
14600 (commit commit)))
e118348a 14601 (file-name (git-file-name "cl-shlex" version))
8142c550 14602 (sha256
e118348a 14603 (base32 "16ag48sswgimr1fzr582vhym4s03idpd4lkydw5s58lv80ibpim8"))))
8142c550
PN
14604 (build-system asdf-build-system/sbcl)
14605 (inputs
14606 `(("alexandria" ,sbcl-alexandria)
14607 ("serapeum" ,sbcl-serapeum)
14608 ("ppcre" ,sbcl-cl-ppcre)
14609 ("unicode" ,sbcl-cl-unicode)))
14610 (home-page "https://github.com/ruricolist/cl-shlex")
14611 (synopsis "Common Lisp lexical analyzer for shell-like syntaxes")
14612 (description
14613 "This library contains a lexer for syntaxes that use shell-like rules
14614for quoting and commenting. It is a port of the @code{shlex} module from Python’s
14615standard library.")
14616 (license license:expat))))
14617
14618(define-public ecl-shlex
14619 (sbcl-package->ecl-package sbcl-shlex))
14620
14621(define-public cl-shlex
14622 (sbcl-package->cl-source-package sbcl-shlex))
dc9c866f
PN
14623
14624(define-public sbcl-cmd
c128d4f9 14625 (let ((commit "8ace7fb45f2ecf0eefae28583ee36c941d142179"))
dc9c866f
PN
14626 (package
14627 (name "sbcl-cmd")
c128d4f9 14628 (version (git-version "0.0.1" "4" commit))
dc9c866f
PN
14629 (source
14630 (origin
14631 (method git-fetch)
14632 (uri (git-reference
14633 (url "https://github.com/ruricolist/cmd/")
14634 (commit commit)))
14635 (file-name (git-file-name name version))
14636 (sha256
c128d4f9 14637 (base32 "1da8sa0fsvsdivnx2s9m6jbb7yszrnkqqcxrn1sszp7k6iwnnkgi"))))
dc9c866f
PN
14638 (build-system asdf-build-system/sbcl)
14639 (inputs
14640 `(("alexandria" ,sbcl-alexandria)
7f29d778 14641 ("coreutils" ,coreutils)
af55e2aa 14642 ("procps" ,procps)
dc9c866f
PN
14643 ("serapeum" ,sbcl-serapeum)
14644 ("shlex" ,sbcl-shlex)
14645 ("trivia" ,sbcl-trivia)))
7f29d778
PN
14646 (arguments
14647 `(#:phases
14648 (modify-phases %standard-phases
14649 (add-after 'unpack 'fix-paths
14650 (lambda* (#:key inputs #:allow-other-keys)
af55e2aa
PN
14651 (let ((bin (string-append (assoc-ref inputs "coreutils") "/bin"))
14652 (ps-bin (string-append (assoc-ref inputs "procps") "/bin")))
60528f9b 14653 (substitute* "cmd.lisp"
af55e2aa
PN
14654 (("\\(def \\+env\\+ \"env\"\\)")
14655 (format #f "(def +env+ \"~a/env\")" bin))
14656 (("\\(def \\+kill\\+ \"kill\"\\)")
14657 (format #f "(def +kill+ \"~a/kill\")" bin))
14658 (("\\(def \\+ps\\+ \"ps\"\\)")
14659 (format #f "(def +ps+ \"~a/ps\")" ps-bin))
14660 (("\\(def \\+pwd\\+ \"pwd\"\\)")
14661 (format #f "(def +pwd+ \"~a/pwd\")" bin))
14662 (("\\(def \\+sh\\+ \"/bin/sh\"\\)")
14663 (format #f "(def +sh+ \"~a\")" (which "sh")))
14664 (("\\(def \\+tr\\+ \"tr\"\\)")
14665 (format #f "(def +tr+ \"~a/tr\")" bin)))))))))
dc9c866f
PN
14666 (home-page "https://github.com/ruricolist/cmd")
14667 (synopsis "Conveniently run external programs from Common Lisp")
14668 (description
14669 "A utility for running external programs, built on UIOP.
14670Cmd is designed to be natural to use, protect against shell interpolation and
14671be usable from multi-threaded programs.")
14672 (license license:expat))))
14673
14674(define-public ecl-cmd
14675 (sbcl-package->ecl-package sbcl-cmd))
14676
14677(define-public cl-cmd
b4e58e66 14678 (sbcl-package->cl-source-package sbcl-cmd))
833d220d
PN
14679
14680(define-public sbcl-ppath
14681 (let ((commit "eb1a8173b4d1d691ea9a7699412123462f58c3ce"))
14682 (package
14683 (name "sbcl-ppath")
14684 (version (git-version "0.1" "1" commit))
14685 (source
14686 (origin
14687 (method git-fetch)
14688 (uri (git-reference
14689 (url "https://github.com/fourier/ppath/")
14690 (commit commit)))
14691 (file-name (git-file-name name commit))
14692 (sha256
14693 (base32 "1c46q9lmzqv14z80d3fwdawgn3pn4922x31fyqvsvbcjm4hd16fb"))))
14694 (build-system asdf-build-system/sbcl)
14695 (inputs
14696 `(("alexandria" ,sbcl-alexandria)
14697 ("cffi" ,sbcl-cffi)
14698 ("osicat" ,sbcl-osicat)
14699 ("ppcre" ,sbcl-cl-ppcre)
14700 ("split-sequence" ,sbcl-split-sequence)
14701 ("trivial-features" ,sbcl-trivial-features)))
14702 (native-inputs
14703 `(("cl-fad" ,sbcl-cl-fad)
14704 ("prove" ,sbcl-prove)))
14705 (home-page "https://github.com/fourier/ppath")
14706 (synopsis "Common Lisp's implementation of the Python's os.path module")
14707 (description
14708 "This library is a path strings manipulation library inspired by
14709Python's @code{os.path}. All functionality from @code{os.path} is supported on
14710major operation systems.
14711
14712The philosophy behind is to use simple strings and \"dumb\" string
14713manipulation functions to handle paths and filenames. Where possible the
14714corresponding OS system functions are called.")
14715 (license license:bsd-2))))
14716
14717(define-public ecl-ppath
14718 (sbcl-package->ecl-package sbcl-ppath))
14719
14720(define-public cl-ppath
52ee15f0 14721 (sbcl-package->cl-source-package sbcl-ppath))
99e6365c
PN
14722
14723(define-public sbcl-trivial-escapes
14724 (let ((commit "1eca78da2078495d09893be58c28b3aa7b8cc4d1"))
14725 (package
14726 (name "sbcl-trivial-escapes")
14727 (version (git-version "1.2.0" "1" commit))
14728 (source
14729 (origin
14730 (method git-fetch)
14731 (uri (git-reference
14732 (url "https://github.com/williamyaoh/trivial-escapes")
14733 (commit commit)))
14734 (file-name (git-file-name name commit))
14735 (sha256
14736 (base32 "0v6h8lk17iqv1qkxgqjyzn8gi6v0hvq2vmfbb01md3zjvjqxn6lr"))))
14737 (build-system asdf-build-system/sbcl)
14738 (inputs
14739 `(("named-readtables" ,sbcl-named-readtables)))
14740 (native-inputs
14741 `(("fiveam" ,sbcl-fiveam)))
14742 (home-page "https://github.com/williamyaoh/trivial-escapes")
14743 (synopsis "C-style escape directives for Common Lisp")
14744 (description
14745 "This Common Lisp library interprets escape characters the same way that
14746most other programming language do.
14747It provides four readtables. The default one lets you write strings like this:
14748@code{#\"This string has\na newline in it!\"}.")
14749 (license license:public-domain))))
14750
14751(define-public ecl-trivial-escapes
14752 (sbcl-package->ecl-package sbcl-trivial-escapes))
14753
14754(define-public cl-trivial-escapes
14755 (sbcl-package->cl-source-package sbcl-trivial-escapes))
13e18b32
PN
14756
14757(define-public sbcl-cl-indentify
14758 (let ((commit "eb770f434defa4cd41d84bca822428dfd0dbac53"))
14759 (package
14760 (name "sbcl-cl-indentify")
14761 (version (git-version "0.1" "1" commit))
14762 (source
14763 (origin
14764 (method git-fetch)
14765 (uri (git-reference
14766 (url "https://github.com/yitzchak/cl-indentify")
14767 (commit commit)))
14768 (file-name (git-file-name name commit))
14769 (sha256
14770 (base32 "0ha36bhg474vr76vfhr13szc8cfdj1ickg92k1icz791bqaqg67p"))))
14771 (build-system asdf-build-system/sbcl)
14772 (inputs
14773 `(("alexandria" ,sbcl-alexandria)
14774 ("command-line-arguments" ,sbcl-command-line-arguments)
14775 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
14776 (native-inputs
14777 `(("trivial-escapes" ,sbcl-trivial-escapes)
14778 ("rove" ,sbcl-rove)))
14779 (home-page "https://github.com/yitzchak/cl-indentify")
14780 (synopsis "Code beautifier for Common Lisp")
14781 (description
14782 "A library and command line utility to automatically indent Common Lisp
14783source files.")
14784 (license license:expat))))
14785
14786(define-public ecl-cl-indentify
14787 (sbcl-package->ecl-package sbcl-cl-indentify))
14788
14789(define-public cl-indentify
14790 (sbcl-package->cl-source-package sbcl-cl-indentify))
bc14c6a4
PN
14791
14792(define-public sbcl-concrete-syntax-tree
14793 (let ((commit "abd242a59dadc5452aa9dbc1d313c83ec2c11f46"))
14794 (package
14795 (name "sbcl-concrete-syntax-tree")
14796 (version (git-version "0.0.0" "1" commit))
14797 (source
14798 (origin
14799 (method git-fetch)
14800 (uri (git-reference
14801 (url "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14802 (commit commit)))
14803 (file-name (git-file-name name commit))
14804 (sha256
14805 (base32 "1lyrglc3h1if44gxd9cwv90wa90nrdjvb7fry39b1xn8ywdfa7di"))))
14806 (build-system asdf-build-system/sbcl)
14807 (inputs
14808 `(("acclimation" ,sbcl-acclimation)))
14809 (home-page "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14810 (synopsis "Parse Common Lisp code into a concrete syntax tree")
14811 (description
14812 "This library is intended to solve the problem of source tracking for
14813Common Lisp code.
14814
14815By \"source tracking\", it is meant that code elements that have a known
14816origin in the form of a position in a file or in an editor buffer are
14817associated with some kind of information about this origin.
14818
14819Since the exact nature of such origin information depends on the Common Lisp
14820implementation and the purpose of wanting to track that origin, the library
14821does not impose a particular structure of this information. Instead, it
14822provides utilities for manipulating source code in the form of what is called
14823concrete syntax trees (CSTs for short) that preserve this information about
14824the origin.")
14825 (license license:bsd-2))))
14826
14827(define-public ecl-concrete-syntax-tree
14828 (sbcl-package->ecl-package sbcl-concrete-syntax-tree))
14829
14830(define-public cl-concrete-syntax-tree
14831 (sbcl-package->cl-source-package sbcl-concrete-syntax-tree))
cdd1023d
PN
14832
14833(define-public sbcl-eclector
14834 (package
14835 (name "sbcl-eclector")
14836 (version "0.5.0")
14837 (source
14838 (origin
14839 (method git-fetch)
14840 (uri (git-reference
14841 (url "https://github.com/s-expressionists/Eclector")
14842 (commit version)))
14843 (file-name (git-file-name name version))
14844 (sha256
14845 (base32 "0bwkla0jdp5bg0q1zca5wg22b0nbdmglgax345nrhsf8bdrh47wm"))))
14846 (build-system asdf-build-system/sbcl)
14847 (inputs
14848 `(("acclimation" ,sbcl-acclimation)
14849 ("alexandria" ,sbcl-alexandria)
14850 ("closer-mop" ,sbcl-closer-mop)
14851 ("concrete-syntax-tree" ,sbcl-concrete-syntax-tree)))
14852 (native-inputs
14853 `(("fiveam" ,sbcl-fiveam)))
14854 (arguments
14855 '(#:asd-systems '("eclector"
14856 "eclector-concrete-syntax-tree")))
14857 (home-page "https://s-expressionists.github.io/Eclector/")
14858 (synopsis "Highly customizable, portable Common Lisp reader")
14859 (description
14860 "Eclector is a portable Common Lisp reader that is highly customizable,
14861can recover from errors and can return concrete syntax trees.
14862
14863In contrast to many other reader implementations, eclector can recover from
14864most errors in the input supplied to it and continue reading. This capability
14865is realized as a restart.
14866
14867It can also produce instances of the concrete syntax tree classes provided by
14868the concrete syntax tree library.")
14869 (license license:bsd-2)))
14870
14871(define-public ecl-eclector
14872 (sbcl-package->ecl-package sbcl-eclector))
14873
14874(define-public cl-eclector
14875 (sbcl-package->cl-source-package sbcl-eclector))
4e0b0bf2
PN
14876
14877(define-public sbcl-jsown
14878 (let ((commit "744c4407bef58dfa876d9da0b5c0205d869e7977"))
14879 (package
14880 (name "sbcl-jsown")
14881 (version (git-version "1.0.1" "1" commit))
14882 (source
14883 (origin
14884 (method git-fetch)
14885 (uri (git-reference
14886 (url "https://github.com/madnificent/jsown")
14887 (commit commit)))
14888 (file-name (git-file-name name commit))
14889 (sha256
14890 (base32 "0gadvmf1d9bq35s61z76psrsnzwwk12svi66jigf491hv48wigw7"))))
14891 (build-system asdf-build-system/sbcl)
14892 (home-page "https://github.com/madnificent/jsown")
14893 (synopsis "Fast JSON reader / writer library for Common Lisp")
14894 (description
14895 "@code{jsown} is a high performance Common Lisp JSON parser. Its aim
14896is to allow for the fast parsing of JSON objects in Common Lisp. Recently,
14897functions and macros have been added to ease the burden of writing and editing
14898@code{jsown} objects.
14899
14900@code{jsown} allows you to parse JSON objects quickly to a modifiable Lisp
14901list and write them back. If you only need partial retrieval of objects,
14902@code{jsown} allows you to select the keys which you would like to see parsed.
14903@code{jsown} also has a JSON writer and some helper methods to alter the JSON
14904objects themselves.")
14905 (license license:expat))))
14906
14907(define-public ecl-jsown
14908 (sbcl-package->ecl-package sbcl-jsown))
14909
14910(define-public cl-jsown
14911 (sbcl-package->cl-source-package sbcl-jsown))
abf21b14
PN
14912
14913(define-public sbcl-system-locale
14914 (let ((commit "4b334bc2fa45651bcaa28ae7d9331095d6bf0a17"))
14915 (package
14916 (name "sbcl-system-locale")
14917 (version (git-version "1.0.0" "1" commit))
14918 (source
14919 (origin
14920 (method git-fetch)
14921 (uri (git-reference
14922 (url "https://github.com/Shinmera/system-locale/")
14923 (commit commit)))
14924 (file-name (git-file-name name commit))
14925 (sha256
14926 (base32 "00p5c053kmgq4ks6l9mxsqz6g3bjcybvkvj0bh3r90qgpkaawm1p"))))
14927 (build-system asdf-build-system/sbcl)
14928 (inputs
14929 `(("documentation-utils" ,sbcl-documentation-utils)))
14930 (home-page "https://shinmera.github.io/system-locale/")
14931 (synopsis "Get the system's locale and language settings in Common Lisp")
14932 (description
14933 "This library retrieves locale information configured on the
14934system. This is helpful if you want to write applications and libraries that
14935display messages in the user's native language.")
14936 (license license:zlib))))
14937
14938(define-public ecl-system-locale
14939 (sbcl-package->ecl-package sbcl-system-locale))
14940
14941(define-public cl-system-locale
14942 (sbcl-package->cl-source-package sbcl-system-locale))
4c518507
PN
14943
14944(define-public sbcl-language-codes
14945 (let ((commit "e7aa0e37cb97a3d37d6bc7316b479d01bff8f42e"))
14946 (package
14947 (name "sbcl-language-codes")
14948 (version (git-version "1.0.0" "1" commit))
14949 (source
14950 (origin
14951 (method git-fetch)
14952 (uri (git-reference
14953 (url "https://github.com/Shinmera/language-codes")
14954 (commit commit)))
14955 (file-name (git-file-name name commit))
14956 (sha256
14957 (base32 "0py176ibmsc01n5r0q1bs1ykqf5jwdbh8kx0j1a814l9y51241v0"))))
14958 (build-system asdf-build-system/sbcl)
14959 (inputs
14960 `(("documentation-utils" ,sbcl-documentation-utils)))
14961 (home-page "https://shinmera.github.io/language-codes/")
14962 (synopsis "Map ISO language codes to language names in Common Lisp")
14963 (description
14964 "This is a small library providing the ISO-639 language code to
14965language name mapping.")
14966 (license license:zlib))))
14967
14968(define-public ecl-language-codes
14969 (sbcl-package->ecl-package sbcl-language-codes))
14970
14971(define-public cl-language-codes
14972 (sbcl-package->cl-source-package sbcl-language-codes))
773ffd1f
PN
14973
14974(define-public sbcl-multilang-documentation
14975 (let ((commit "59e798a07e949e8957a20927f52aca425d84e4a0"))
14976 (package
14977 (name "sbcl-multilang-documentation")
14978 (version (git-version "1.0.0" "1" commit))
14979 (source
14980 (origin
14981 (method git-fetch)
14982 (uri (git-reference
14983 (url "https://github.com/Shinmera/multilang-documentation")
14984 (commit commit)))
14985 (file-name (git-file-name name commit))
14986 (sha256
14987 (base32 "13y5jskx8n2b7kimpfarr8v777w3b7zj5swg1b99nj3hk0843ixw"))))
14988 (build-system asdf-build-system/sbcl)
14989 (inputs
14990 `(("documentation-utils" ,sbcl-documentation-utils)
14991 ("language-codes" ,sbcl-language-codes)
14992 ("system-locale" ,sbcl-system-locale)))
14993 (home-page "https://shinmera.github.io/multilang-documentation/")
14994 (synopsis "Add multiple languages support to Common Lisp documentation")
14995 (description
14996 "This library provides a drop-in replacement function for
14997cl:documentation that supports multiple docstrings per-language, allowing you
14998to write documentation that can be internationalised.")
14999 (license license:zlib))))
15000
15001(define-public ecl-multilang-documentation
15002 (sbcl-package->ecl-package sbcl-multilang-documentation))
15003
15004(define-public cl-multilang-documentation
15005 (sbcl-package->cl-source-package sbcl-multilang-documentation))
c2fe94ab
PN
15006
15007(define-public sbcl-trivial-do
15008 (let ((commit "03a1729f1e71bad3ebcf6cf098a0cce52dfa1163"))
15009 (package
15010 (name "sbcl-trivial-do")
15011 (version (git-version "0.1" "1" commit))
15012 (source
15013 (origin
15014 (method git-fetch)
15015 (uri (git-reference
15016 (url "https://github.com/yitzchak/trivial-do")
15017 (commit commit)))
15018 (file-name (git-file-name name commit))
15019 (sha256
15020 (base32 "1ffva79nkicc7wc8c2ic5nayis3b2rk5sxzj74yjkymkjgbpcrgd"))))
15021 (build-system asdf-build-system/sbcl)
15022 (home-page "https://github.com/yitzchak/trivial-do")
15023 (synopsis "Additional dolist style macros for Common Lisp")
15024 (description
15025 "Additional dolist style macros for Common Lisp, such as
15026@code{doalist}, @code{dohash}, @code{dolist*}, @code{doplist}, @code{doseq}
15027and @code{doseq*}.")
15028 (license license:zlib))))
15029
15030(define-public ecl-trivial-do
15031 (sbcl-package->ecl-package sbcl-trivial-do))
15032
15033(define-public cl-trivial-do
15034 (sbcl-package->cl-source-package sbcl-trivial-do))
cc1c91c1
PN
15035
15036(define-public sbcl-common-lisp-jupyter
b905abfb
SH
15037 (let ((commit "ba9f0e746b9200d6fd6db647d7274448119ed01b")
15038 (revision "3"))
cc1c91c1
PN
15039 (package
15040 (name "sbcl-common-lisp-jupyter")
b905abfb 15041 (version (git-version "0.1.0" revision commit))
cc1c91c1
PN
15042 (source
15043 (origin
15044 (method git-fetch)
15045 (uri (git-reference
15046 (url "https://github.com/yitzchak/common-lisp-jupyter")
15047 (commit commit)))
b905abfb 15048 (file-name (git-file-name "common-lisp-jupyter" commit))
cc1c91c1 15049 (sha256
b905abfb 15050 (base32 "0si69xfzi769dprwfy7gp1x3bl7lxz6d4n98sa26w9r41wvay5ja"))))
cc1c91c1
PN
15051 (build-system asdf-build-system/sbcl)
15052 (inputs
15053 `(("alexandria" ,sbcl-alexandria)
15054 ("babel" ,sbcl-babel)
15055 ("bordeaux-threads" ,sbcl-bordeaux-threads)
15056 ("cl-base64" ,sbcl-cl-base64)
15057 ("cl-indentify" ,sbcl-cl-indentify)
15058 ("closer-mop" ,sbcl-closer-mop)
b905abfb 15059 ("dissect" ,sbcl-dissect)
cc1c91c1
PN
15060 ("eclector" ,sbcl-eclector)
15061 ("ironclad" ,sbcl-ironclad)
15062 ("iterate" ,sbcl-iterate)
cc1c91c1 15063 ("multilang-documentation" ,sbcl-multilang-documentation)
cc1c91c1 15064 ("puri" ,sbcl-puri)
b905abfb
SH
15065 ("pzmq" ,sbcl-pzmq)
15066 ("shasht" ,sbcl-shasht)
cc1c91c1
PN
15067 ("static-vectors" ,sbcl-static-vectors)
15068 ("trivial-do" ,sbcl-trivial-do)
15069 ("trivial-garbage" ,sbcl-trivial-garbage)
15070 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
15071 ("trivial-mimes" ,sbcl-trivial-mimes)))
15072 (home-page "https://yitzchak.github.io/common-lisp-jupyter/")
15073 (synopsis "Common Lisp kernel for Jupyter")
15074 (description
15075 "This is a Common Lisp kernel for Jupyter along with a library for
15076building Jupyter kernels, based on Maxima-Jupyter which was based on
15077@code{cl-jupyter}.")
b905abfb 15078 (license license:expat))))
cc1c91c1
PN
15079
15080(define-public ecl-common-lisp-jupyter
15081 (sbcl-package->ecl-package sbcl-common-lisp-jupyter))
15082
15083(define-public cl-common-lisp-jupyter
15084 (sbcl-package->cl-source-package sbcl-common-lisp-jupyter))
051c1271
SH
15085
15086(define-public sbcl-radiance
15087 (let ((commit "5ffbe1f157edd17a13194495099efd81e052df85")
15088 (revision "1"))
15089 (package
15090 (name "sbcl-radiance")
15091 (version (git-version "2.1.2" revision commit))
15092 (source
15093 (origin
15094 (method git-fetch)
15095 (uri (git-reference
15096 (url "https://github.com/Shirakumo/radiance")
15097 (commit commit)))
15098 (file-name (git-file-name "radiance" version))
15099 (sha256
15100 (base32 "0hbkcnmnlj1cqzbv18zmla2iwbl65kxilz9764hndf8x8as1539c"))))
15101 (build-system asdf-build-system/sbcl)
15102 (arguments
15103 `(#:tests? #f ; TODO: The tests require some configuration.
15104 #:phases
15105 (modify-phases %standard-phases
15106 (add-after 'unpack 'disable-quicklisp
15107 (lambda _
15108 ;; Disable the automatic installation of systems by Quicklisp.
15109 ;; (Maybe there would be a way to package Quicklisp and make it
15110 ;; install things in the user's directory instead of
15111 ;; /gnu/store/...).
15112 (substitute* "interfaces.lisp"
15113 (("\\(unless \\(asdf:find-system configured-implementation NIL\\)"
15114 all)
15115 (string-append "#+quicklisp " all))))))))
15116 (native-inputs
15117 `(("alexandria" ,sbcl-alexandria)
15118 ("dexador" ,sbcl-dexador)
15119 ("parachute" ,sbcl-parachute)
15120 ("verbose" ,sbcl-verbose)))
15121 (inputs
15122 `(("babel" ,sbcl-babel)
15123 ("bordeaux-threads" ,sbcl-bordeaux-threads)
15124 ("cl-ppcre" ,sbcl-cl-ppcre)
15125 ("closer-mop" ,sbcl-closer-mop)
15126 ("documentation-utils" ,sbcl-documentation-utils)
15127 ("deploy" ,sbcl-deploy)
15128 ("form-fiddle" ,sbcl-form-fiddle)
15129 ("lambda-fiddle" ,sbcl-lambda-fiddle)
15130 ("local-time" ,sbcl-local-time)
15131 ("modularize-hooks" ,sbcl-modularize-hooks)
15132 ("modularize-interfaces" ,sbcl-modularize-interfaces)
15133 ("puri" ,sbcl-puri)
15134 ("trivial-indent" ,sbcl-trivial-indent)
15135 ("trivial-mimes" ,sbcl-trivial-mimes)
15136 ("ubiquitous-concurrent" ,sbcl-ubiquitous)))
15137 (home-page "https://shirakumo.github.io/radiance/")
15138 (synopsis "Common Lisp web application environment")
15139 (description
15140 "Radiance is a web application environment, which is sort of like a web
15141framework, but more general, more flexible. It should let you write personal
15142websites and generally deployable applications easily and in such a way that
15143they can be used on practically any setup without having to undergo special
15144adaptations.")
15145 (license license:zlib))))
15146
15147(define-public ecl-radiance
15148 (sbcl-package->ecl-package sbcl-radiance))
15149
15150(define-public cl-radiance
15151 (sbcl-package->cl-source-package sbcl-radiance))
f35c9fd5
SH
15152
15153(define-public sbcl-daemon
15154 (let ((commit "d5652f4332c3cee21e9bf83b9237129605004597")
15155 (revision "1"))
15156 (package
15157 (name "sbcl-daemon")
15158 (version (git-version "0.0.4" revision commit))
15159 (source
15160 (origin
15161 (method git-fetch)
15162 (uri (git-reference
15163 (url "https://github.com/snmsts/daemon")
15164 (commit commit)))
15165 (file-name (git-file-name "daemon" version))
15166 (sha256
15167 (base32 "1kdxfnhh9fz34j8qs7pn7mwjz3v33q4v9nh0hqkyzraq5xs2j3f4"))))
15168 (build-system asdf-build-system/sbcl)
15169 (inputs
15170 `(("trivial-features" ,sbcl-trivial-features)))
15171 (home-page "https://github.com/snmsts/daemon")
15172 (synopsis "Daemonize Common Lisp processes")
15173 (description
15174 "DAEMON provides the functionality of daemonizing Common Lisp processes
15175on UNIX like platforms.")
15176 (license license:expat))))
15177
15178(define-public ecl-daemon
15179 (sbcl-package->ecl-package sbcl-daemon))
15180
15181(define-public cl-daemon
15182 (sbcl-package->cl-source-package sbcl-daemon))
14b32f62
PN
15183
15184(define-public sbcl-file-attributes
62418f3d 15185 (let ((commit "bbde396438f37d676de9775239115410bec4da2d"))
14b32f62
PN
15186 (package
15187 (name "sbcl-file-attributes")
62418f3d 15188 (version (git-version "1.0.0" "2" commit))
14b32f62
PN
15189 (source
15190 (origin
15191 (method git-fetch)
15192 (uri (git-reference
15193 (url "https://github.com/Shinmera/file-attributes/")
15194 (commit commit)))
15195 (file-name (git-file-name name version))
15196 (sha256
62418f3d 15197 (base32 "0n8q818ry2shggjfhp8gjby8v5mla9pg97c5g19pcglpnwim7a74"))))
14b32f62
PN
15198 (build-system asdf-build-system/sbcl)
15199 (inputs
15200 `(("cffi" ,sbcl-cffi)
15201 ("documentation-utils" ,sbcl-documentation-utils)
15202 ("trivial-features" ,sbcl-trivial-features)))
15203 (home-page "https://shinmera.github.io/file-attributes/")
15204 (synopsis "Access to common file attributes in Common Lisp")
15205 (description
15206 "This is a small OS portability library to retrieve and set file
15207attributes not supported by the Common Lisp standard functions.")
15208 (license license:zlib))))
b35dea1d
PN
15209
15210(define-public ecl-file-attributes
15211 (sbcl-package->ecl-package sbcl-file-attributes))
15212
15213(define-public cl-file-attributes
15214 (sbcl-package->cl-source-package sbcl-file-attributes))
073ae1b9
AAG
15215
15216(define-public sbcl-cl-difflib
15217 (let ((commit "98eb335c693f1881584b83ca7be4a0fe05355c4e")
15218 (revision "0"))
15219 (package
15220 (name "sbcl-cl-difflib")
15221 (version (git-version "0.2" revision commit))
15222 (source
15223 (origin
15224 (method git-fetch)
15225 (uri (git-reference
15226 (url "https://github.com/wiseman/cl-difflib")
15227 (commit commit)))
15228 (file-name
15229 (git-file-name name version))
15230 (sha256
15231 (base32 "08if0abhqg191xcz9s7xv8faqq51nswzp8hw423fkqjzr24pmq48"))))
15232 (build-system asdf-build-system/sbcl)
15233 ;; Due to the age of this library tests use some deprecated
15234 ;; functionality and keep failing.
15235 (arguments
15236 '(#:tests? #f
15237 #:asd-files '("cl-difflib.asd")))
15238 (home-page "https://github.com/wiseman/cl-difflib")
15239 (synopsis "Compute differences between pairs of sequences")
15240 (description
15241 "A Common Lisp library for computing differences between
15242sequences based on the Python difflib module.")
15243 (license license:expat))))
15244
15245(define-public ecl-cl-difflib
15246 (sbcl-package->ecl-package sbcl-cl-difflib))
15247
15248(define-public cl-difflib
15249 (sbcl-package->cl-source-package sbcl-cl-difflib))
db22d936
AAG
15250
15251(define-public sbcl-cl-html-diff
15252 (let ((commit "5a0b39d1c524278d6f60851d7786bb2585614310")
15253 (revision "0"))
15254 (package
15255 (name "sbcl-cl-html-diff")
15256 (version (git-version "0.1" revision commit))
15257 (source
15258 (origin
15259 (method git-fetch)
15260 (uri (git-reference
15261 (url "https://github.com/wiseman/cl-html-diff")
15262 (commit commit)))
15263 (file-name
15264 (git-file-name name version))
15265 (sha256
15266 (base32 "1varnijivzd4jpimn1cz8p5ks713zzha5cgl4vmb0xr8ahravwzb"))))
15267 (build-system asdf-build-system/sbcl)
15268 (inputs
15269 `(("cl-difflib" ,sbcl-cl-difflib)))
15270 (home-page "https://github.com/wiseman/cl-html-diff")
15271 (synopsis "Generate a human-readable diff of two HTML documents")
15272 (description
15273 "A Common Lisp library for generating a human-readable diff of two
15274HTML documents.")
15275 (license license:expat))))
15276
15277(define-public ecl-cl-html-diff
15278 (sbcl-package->ecl-package sbcl-cl-html-diff))
15279
15280(define-public cl-html-diff
15281 (sbcl-package->cl-source-package sbcl-cl-html-diff))
9e76de04 15282
15283(define-public sbcl-tooter
a3395a64 15284 (let ((commit "b1639d8a58dfe8020c82ed36697b7a668ef41a09")
15285 (revision "2"))
9e76de04 15286 (package
15287 (name "sbcl-tooter")
15288 (version (git-version "1.0.0" revision commit))
15289 (source
15290 (origin
15291 (method git-fetch)
15292 (uri (git-reference
15293 (url "https://github.com/Shinmera/tooter")
15294 (commit commit)))
15295 (file-name (git-file-name "tooter" version))
15296 (sha256
a3395a64 15297 (base32 "0842lbj9ml6qxdm5xvhdbm87wyrvrq7bxawa6i8wk80n8lnvmhdw"))))
9e76de04 15298 (build-system asdf-build-system/sbcl)
15299 (inputs
15300 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
15301 ("sbcl-documentation-utils" ,sbcl-documentation-utils)
15302 ("sbcl-drakma" ,sbcl-drakma)
15303 ("sbcl-yason" ,sbcl-yason)))
15304 (synopsis "Common Lisp client library for Mastodon instances")
15305 (description
15306 "This is a Common Lisp library implementing the full v1 REST API
15307protocol for Mastodon.")
15308 (home-page "https://shinmera.github.io/tooter/")
15309 (license license:zlib))))
15310
15311(define-public ecl-tooter
15312 (sbcl-package->ecl-package sbcl-tooter))
15313
15314(define-public cl-tooter
15315 (sbcl-package->cl-source-package sbcl-tooter))
8768df2e 15316
15317(define-public sbcl-croatoan
66bce3f2 15318 (let ((commit "a577951d8dd607f828d6efb3290b4e8ac9f1e654")
15319 (revision "3"))
8768df2e 15320 (package
15321 (name "sbcl-croatoan")
15322 (version (git-version "0.0.1" revision commit))
15323 (source
15324 (origin
15325 (method git-fetch)
15326 (uri (git-reference
15327 (url "https://github.com/McParen/croatoan")
15328 (commit commit)))
15329 (file-name (git-file-name "croatoan" version))
15330 (sha256
66bce3f2 15331 (base32 "1y7a13mzy0cz19pw0xvqwca1s7frfaqryaqwl1mrq7iz84sw0fcw"))))
8768df2e 15332 (build-system asdf-build-system/sbcl)
15333 (arguments
15334 '(#:phases
15335 (modify-phases %standard-phases
15336 (add-after 'unpack 'fix-paths
15337 (lambda* (#:key inputs #:allow-other-keys)
15338 (substitute* "ncurses/ncurses.lisp"
15339 (("libncursesw" all)
15340 (string-append (assoc-ref inputs "ncurses")
15341 "/lib/"
15342 all))))))))
15343 (inputs
15344 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
15345 ("cffi" ,sbcl-cffi)
15346 ("ncurses" ,ncurses)
15347 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
15348 (synopsis "Common Lisp bindings for the ncurses terminal library")
15349 (description "Croatoan provides high-level Common Lisp CLOS bindings for
15350the ncurses terminal library.")
15351 (home-page "https://github.com/McParen/croatoan")
15352 (license license:expat))))
15353
15354(define-public ecl-croatoan
15355 (sbcl-package->ecl-package sbcl-croatoan))
15356
15357(define-public cl-croatoan
15358 (sbcl-package->cl-source-package sbcl-croatoan))
c1b8219d 15359
15360(define-public sbcl-cl-spark
15361 (let ((commit "4e34bcebdcf8e45265986eb43ad4ad03bb41a581")
15362 (revision "1"))
15363 (package
15364 (name "sbcl-cl-spark")
15365 (version (git-version "0.1.13" revision commit))
15366 (source
15367 (origin
15368 (method git-fetch)
15369 (uri (git-reference
15370 (url "https://github.com/tkych/cl-spark")
15371 (commit commit)))
15372 (file-name (git-file-name "cl-spark" version))
15373 (sha256
15374 (base32 "0my1fsgi2rjaqkpk934f2bjy63pmnj7faza3fzvnk6k3l66y19nk"))))
15375 (build-system asdf-build-system/sbcl)
15376 (native-inputs
15377 `(("fiveam" ,sbcl-fiveam)))
15378 (synopsis "Common Lisp library to make histograms")
15379 (description "This is a Common Lisp library to make histograms using
15380UTF-8 block characters.")
15381 (home-page "https://github.com/tkych/cl-spark")
15382 (license license:expat))))
15383
15384(define-public ecl-cl-spark
15385 (sbcl-package->ecl-package sbcl-cl-spark))
15386
15387(define-public cl-spark
15388 (sbcl-package->cl-source-package sbcl-cl-spark))
c88de964 15389
15390(define-public sbcl-access
15391 (let ((commit "1b26db3760018cdc4624f880f0a1e0155d8f6c50")
15392 (revision "1"))
15393 (package
15394 (name "sbcl-access")
15395 (version (git-version "1.5.0" revision commit))
15396 (source
15397 (origin
15398 (method git-fetch)
15399 (uri (git-reference
15400 (url "https://github.com/sharplispers/access")
15401 (commit commit)))
15402 (file-name (git-file-name "access" version))
15403 (sha256
15404 (base32 "1knd3n4mpzkc97i1znbas32pscd30416isvmx2pjmgvar6k93pl5"))))
15405 (build-system asdf-build-system/sbcl)
15406 (native-inputs
15407 `(("lisp-unit2" ,sbcl-lisp-unit2)))
15408 (inputs
15409 `(("alexandria" ,sbcl-alexandria)
15410 ("anaphora" ,sbcl-anaphora)
15411 ("closer-mop" ,sbcl-closer-mop)
15412 ("interpol" ,sbcl-cl-interpol)
15413 ("iterate" ,sbcl-iterate)))
15414 (synopsis
15415 "Common lisp library to unify access to dictionary-like structures")
15416 (description
15417 "This is a Common lisp library to unify access to the most common
15418dictionary-like data structures.")
15419 (home-page "https://github.com/sharplispers/access")
15420 (license license:bsd-3))))
15421
15422(define-public ecl-access
15423 (sbcl-package->ecl-package sbcl-access))
15424
15425(define-public cl-access
15426 (sbcl-package->cl-source-package sbcl-access))
3c1cc499
GLV
15427
15428(define-public sbcl-sxql-composer
15429 (let ((commit "2b2230cb01ae1b68e28921d99e4814046867fb75")
15430 (revision "1"))
15431 (package
15432 (name "sbcl-sxql-composer")
15433 (version (git-version "0.1" revision commit))
15434 (source
15435 (origin
15436 (method git-fetch)
15437 (uri (git-reference
15438 (url "https://github.com/mmontone/sxql-composer")
15439 (commit commit)))
15440 (file-name (git-file-name "sxql-composer" version))
15441 (sha256
15442 (base32 "1agkrj3ymskzc3c7pxbrj123d1kygjqcls145m0ap3i07q96hh1r"))))
15443 (build-system asdf-build-system/sbcl)
15444 (inputs
15445 `(("sxql" ,sbcl-sxql)))
15446 (synopsis "Build and compose SXQL queries dynamically")
15447 (description
15448 "This is a Common Lisp library to build and compose SXQL queries
15449dynamically.")
15450 (home-page "https://github.com/mmontone/sxql-composer")
15451 (license license:expat))))
15452
15453(define-public ecl-sxql-composer
15454 (sbcl-package->ecl-package sbcl-sxql-composer))
15455
15456(define-public cl-sxql-composer
15457 (sbcl-package->cl-source-package sbcl-sxql-composer))
88d822c5 15458
15459(define-public sbcl-cl-i18n
15460 (let ((commit "fa0aa5bef8dfbdf2d72f7cc9f49e848ccbb567aa")
15461 (revision "1"))
15462 (package
15463 (name "sbcl-cl-i18n")
15464 (version (git-version "0.5.0" revision commit))
15465 (source
15466 (origin
15467 (method git-fetch)
15468 (uri (git-reference
15469 (url "https://notabug.org/cage/cl-i18n")
15470 (commit commit)))
15471 (file-name (git-file-name "cl-i18n" version))
15472 (sha256
15473 (base32 "1hpsdbb3hd79bzbrnbqgk2j3f0ispxvk91snp08fm2z3f1sds5as"))))
15474 (build-system asdf-build-system/sbcl)
15475 (inputs
15476 `(("alexandria" ,sbcl-alexandria)
15477 ("babel" ,sbcl-babel)
15478 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
15479 (synopsis "Internationalisation framework for Common Lisp")
15480 (description
15481 "This is a Gettext-style internationalisation framework for Common
15482Lisp.")
15483 (home-page "https://notabug.org/cage/cl-i18n")
15484 (license license:llgpl))))
15485
15486(define-public ecl-cl-i18n
15487 (sbcl-package->ecl-package sbcl-cl-i18n))
15488
15489(define-public cl-i18n
15490 (sbcl-package->cl-source-package sbcl-cl-i18n))
9e9c9a3a 15491
15492(define-public sbcl-crypto-shortcuts
15493 (let ((commit "7efd22d80e867cd8c9f8f363d4fe7b51ee2dadc0")
15494 (revision "1"))
15495 (package
15496 (name "sbcl-crypto-shortcuts")
15497 (version (git-version "2.0.0" revision commit))
15498 (source
15499 (origin
15500 (method git-fetch)
15501 (uri (git-reference
15502 (url "https://github.com/Shinmera/crypto-shortcuts")
15503 (commit commit)))
15504 (file-name (git-file-name "crypto-shortcuts" version))
15505 (sha256
15506 (base32 "0c0m0ar04jn7qf2v8c4sivamlzki03r13rnxy8b3n27rh9r6hgin"))))
15507 (build-system asdf-build-system/sbcl)
15508 (inputs
15509 `(("cl-base64" ,sbcl-cl-base64)
15510 ("flexi-stream" ,sbcl-flexi-streams)
15511 ("ironclad" ,sbcl-ironclad)))
15512 (synopsis "Collection of common cryptography functions")
15513 (description
15514 "This is a collection of common cryptography functions for Common
15515Lisp.")
15516 (home-page "https://shinmera.github.io/crypto-shortcuts/")
15517 (license license:zlib))))
15518
15519(define-public ecl-crypto-shortcuts
15520 (sbcl-package->ecl-package sbcl-crypto-shortcuts))
15521
15522(define-public cl-crypto-shortcuts
15523 (sbcl-package->cl-source-package sbcl-crypto-shortcuts))
f934892c 15524
15525(define-public sbcl-cl-html5-parser
15526 (let ((commit "74a92eb3a183a0afd089ea33350e816e6b9aeefa")
15527 (revision "1"))
15528 (package
15529 (name "sbcl-cl-html5-parser")
15530 (version (git-version "0.0.0" revision commit))
15531 (source
15532 (origin
15533 (method git-fetch)
15534 (uri (git-reference
15535 (url "https://github.com/rotatef/cl-html5-parser")
15536 (commit commit)))
15537 (file-name (git-file-name "cl-html5-parser" version))
15538 (sha256
15539 (base32 "04if61wigylsmn996rbfl8ylsd0d9hzdmg7p2wiglncibjzcl5k9"))))
15540 (build-system asdf-build-system/sbcl)
8b972bd5
SH
15541 (native-inputs
15542 `(("json-streams" ,sbcl-json-streams)
15543 ("split-sequence" ,sbcl-split-sequence)
15544 ("stefil" ,sbcl-stefil)))
f934892c 15545 (inputs
15546 `(("cl-ppcre" ,sbcl-cl-ppcre)
15547 ("flexi-stream" ,sbcl-flexi-streams)
15548 ("string-case" ,sbcl-string-case)))
15549 (synopsis "HTML5 parser for Common Lisp")
15550 (description "This a Common Lisp library to parse HTML5 documents.")
15551 (home-page "https://github.com/rotatef/cl-html5-parser")
15552 (license license:lgpl3+))))
15553
15554(define-public ecl-cl-html5-parser
15555 (sbcl-package->ecl-package sbcl-cl-html5-parser))
15556
15557(define-public cl-html5-parser
15558 (sbcl-package->cl-source-package sbcl-cl-html5-parser))
09f60f9e 15559
15560(define-public sbcl-percent-encoding
15561 (let ((commit "c1224e22bc8048fbd3ebbc9329715a0c1b673170")
15562 (revision "1"))
15563 (package
15564 (name "sbcl-percent-encoding")
15565 (version (git-version "0.1" revision commit))
15566 (source
15567 (origin
15568 (method git-fetch)
15569 (uri (git-reference
15570 (url "https://github.com/llibra/percent-encoding")
15571 (commit commit)))
15572 (file-name (git-file-name "percent-encoding" version))
15573 (sha256
15574 (base32 "0q1lh3sa6mkjr5gcdkgimkpc29rgf9cjhv90f61h8ridj28grq0h"))))
15575 (build-system asdf-build-system/sbcl)
15576 (native-inputs
15577 `(("fiveam" ,sbcl-fiveam)))
15578 (inputs
15579 `(("anaphora" ,sbcl-anaphora)
15580 ("babel" ,sbcl-babel)))
15581 (synopsis "RFC 3986 percent-encoding library")
15582 (description
15583 "This is a Common Lisp library providing RFC 3986 percent-encoding.")
15584 (home-page "https://github.com/llibra/percent-encoding")
15585 (license license:expat))))
15586
15587(define-public ecl-percent-encoding
15588 (sbcl-package->ecl-package sbcl-percent-encoding))
15589
15590(define-public cl-percent-encoding
15591 (sbcl-package->cl-source-package sbcl-percent-encoding))
3eec0e9b
SH
15592
15593(define-public sbcl-cl-mount-info
15594 (let ((commit "2024f5037a7f63db3e3587dc9972cd7b9318f06b")
15595 (revision "1"))
15596 (package
15597 (name "sbcl-cl-mount-info")
15598 (version (git-version "0.0.1" revision commit))
15599 (source
15600 (origin
15601 (method git-fetch)
15602 (uri (git-reference
15603 (url "https://notabug.org/cage/cl-mount-info.git")
15604 (commit commit)))
15605 (file-name (git-file-name "cl-mount-info" version))
15606 (sha256
15607 (base32 "0vza9gj9q42nzb5v8aj22lmn4aqx9vrddsb5a343nbwfz89hbh9x"))))
15608 (build-system asdf-build-system/sbcl)
15609 (inputs
15610 `(("alexandria" ,sbcl-alexandria)
15611 ("cffi" ,sbcl-cffi)
15612 ("cl-ppcre" ,sbcl-cl-ppcre)))
15613 (home-page "https://notabug.org/cage/cl-mount-info.git")
15614 (synopsis "Library to get information about mounted filesystems")
15615 (description
15616 "CL-MOUNT-INFO is a Common Lisp wrapper around @code{getmntent(3)} and
15617related C functions to get information about the mounted file system.")
15618 (license license:lgpl3))))
15619
15620(define-public ecl-cl-mount-info
15621 (sbcl-package->ecl-package sbcl-cl-mount-info))
15622
15623(define-public cl-mount-info
15624 (sbcl-package->cl-source-package sbcl-cl-mount-info))
d5a474be
SH
15625
15626(define-public sbcl-cl-diskspace
15627 (let ((commit "2dce2d0387d58221c452bd76c7b9b7a7de81ef55")
15628 (revision "1"))
15629 (package
15630 (name "sbcl-cl-diskspace")
15631 (version (git-version "0.3.1" revision commit))
15632 (source
15633 (origin
15634 (method git-fetch)
15635 (uri (git-reference
15636 (url "https://github.com/muyinliu/cl-diskspace")
15637 (commit commit)))
15638 (file-name (git-file-name "cl-diskspace" version))
15639 (sha256
15640 (base32 "0l19hxqw6b8i5i1jdbr45k1xib9axcwdagsp3y8wkb35g6wwc0s7"))))
15641 (build-system asdf-build-system/sbcl)
15642 (arguments
15643 `(#:phases
15644 (modify-phases %standard-phases
15645 (add-after 'unpack 'fix-paths
15646 (lambda* (#:key inputs #:allow-other-keys)
15647 (substitute* "src/unix/cl-diskspace-list-all-disks-with-df.lisp"
15648 (("grep")
15649 (string-append (assoc-ref inputs "grep") "/bin/grep")))
15650 (substitute* "src/unix/cl-diskspace-list-all-disks-with-df.lisp"
15651 (("/bin/df")
15652 (which "df")))
15653 #t)))))
15654 (inputs
15655 `(("cl-ppcre" ,sbcl-cl-ppcre)
15656 ("cffi" ,sbcl-cffi)
15657 ("grep" ,grep)))
15658 (home-page "https://github.com/muyinliu/cl-diskspace")
15659 (synopsis "Disk space information library for Common Lisp")
15660 (description
15661 "CL-DISKSPACE is a Common Lisp library to list disks with the command
15662line tool @code{df} and get disk space information using @code{statvfs}.")
15663 (license license:isc))))
15664
15665(define-public ecl-cl-diskspace
15666 (sbcl-package->ecl-package sbcl-cl-diskspace))
15667
15668(define-public cl-diskspace
15669 (sbcl-package->cl-source-package sbcl-cl-diskspace))
336088d5 15670
17c11ae9
SH
15671(define-public sbcl-cl-cpus
15672 (package
15673 (name "sbcl-cl-cpus")
15674 (version "0.0.3")
15675 (source
15676 (origin
15677 (method git-fetch)
15678 (uri (git-reference
15679 (url "https://github.com/muyinliu/cl-cpus")
15680 (commit (string-append "v" version))))
15681 (file-name (git-file-name "cl-cpus" version))
15682 (sha256
15683 (base32 "0sdaff9hpsx7bpkkkqavmxmrrlc2d61gmqjjgn8xchncng4a0rf8"))))
15684 (build-system asdf-build-system/sbcl)
15685 (inputs
15686 `(("cffi" ,sbcl-cffi)))
15687 (home-page "https://github.com/muyinliu/cl-cpus")
15688 (synopsis "Common Lisp feature to get number of CPUs")
15689 (description
15690 "This package provides a Common Lisp system which has only one function to
15691return the CPU count of the current system.")
15692 (license license:isc)))
15693
15694(define-public ecl-cl-cpus
15695 (sbcl-package->ecl-package sbcl-cl-cpus))
15696
15697(define-public cl-cpus
15698 (sbcl-package->cl-source-package sbcl-cl-cpus))
15699
336088d5
PN
15700(define-public sbcl-fof
15701 (package
15702 (name "sbcl-fof")
e3611cc4 15703 (version "0.2.0")
336088d5
PN
15704 (source
15705 (origin
15706 (method git-fetch)
15707 (uri (git-reference
15708 (url "https://gitlab.com/ambrevar/fof")
15709 (commit version)))
15710 (file-name (git-file-name name version))
15711 (sha256
e3611cc4 15712 (base32 "0j64b7p40h8bq33hqkpgakm3vs1607vyx6n48d7qg3287v1akk6m"))))
336088d5
PN
15713 (build-system asdf-build-system/sbcl)
15714 (arguments
15715 `(#:phases
15716 (modify-phases %standard-phases
15717 (add-after 'unpack 'fix-paths
15718 (lambda* (#:key inputs #:allow-other-keys)
15719 (substitute* "ffprobe.lisp"
15720 (("\\(defvar \\*ffprobe-command\\* \"ffprobe\"\\)")
15721 (format #f "(defvar *ffprobe-command* \"~a/bin/ffprobe\")"
15722 (assoc-ref inputs "ffmpeg") )))
15723 #t)))))
15724 (inputs
15725 `(("alexandria" ,sbcl-alexandria)
15726 ("hu.dwim.defclass-star" ,sbcl-hu.dwim.defclass-star)
15727 ("local-time" ,sbcl-local-time)
15728 ("magicffi" ,sbcl-magicffi)
15729 ("osicat" ,sbcl-osicat)
15730 ("serapeum" ,sbcl-serapeum)
15731 ("str" ,sbcl-cl-str)
15732 ("trivia" ,sbcl-trivia)
15733 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)
15734 ;; Non-CL deps:
15735 ("ffmpeg" ,ffmpeg)))
15736 (home-page "https://gitlab.com/ambrevar/fof")
15737 (synopsis "File object finder library for Common Lisp")
15738 (description
15739 "This library enable rapid file search, inspection and manipulation
15740straight from the REPL.
15741It aims at replacing Unix tools such as @code{find} or @code{du}.
15742It also offers a replacement to the @code{pathname} Common Lisp API.
15743Slot writers which commit changes to disk, e.g. permissions, modification
15744time, etc.")
15745 (license license:gpl3+)))
15746
15747(define-public ecl-fof
15748 (sbcl-package->ecl-package sbcl-fof))
15749
15750(define-public cl-fof
15751 (sbcl-package->cl-source-package sbcl-fof))
6dda2236
PN
15752
15753(define-public sbcl-computable-reals
15754 (let ((commit "fdc73d75e79d0a4ce6d01c822c950ae2eb137d39"))
15755 (package
15756 (name "sbcl-computable-reals")
15757 (version (git-version "1.1.0" "1" commit))
15758 (source
15759 (origin
15760 (method git-fetch)
15761 (uri (git-reference
15762 (url "https://github.com/stylewarning/computable-reals")
15763 (commit commit)))
15764 (file-name (git-file-name name version))
15765 (sha256
15766 (base32 "0f12axi53x14l12dgf4a1lfq3p1fx7fh7sjfc0db3lk88ph9qfwl"))))
15767 (build-system asdf-build-system/sbcl)
15768 (home-page "https://github.com/stylewarning/computable-reals")
15769 (synopsis "Arbitrary-precision, re-computing real-numbers in Common Lisp")
15770 (description
15771 "This library provides arbitrary precision (floating point) real
15772numbers in Common Lisp.")
15773 (license license:bsd-3))))
15774
15775(define-public ecl-computable-reals
15776 (sbcl-package->ecl-package sbcl-computable-reals))
15777
15778(define-public cl-computable-reals
15779 (sbcl-package->cl-source-package sbcl-computable-reals))
f445407d
PN
15780
15781(define-public sbcl-html-template
15782 (package
15783 (name "sbcl-html-template")
15784 (version "0.9.2")
15785 (source
15786 (origin
15787 (method git-fetch)
15788 (uri (git-reference
15789 (url "https://github.com/edicl/html-template")
15790 (commit (string-append "v" version))))
15791 (file-name (git-file-name name version))
15792 (sha256
15793 (base32 "0wz3czvjsn4x971dsiia9f9nvvcmbkablcl75zsvxndkimc93wxb"))))
15794 (build-system asdf-build-system/sbcl)
15795 (home-page "https://edicl.github.io/html-template/")
15796 (synopsis "HTML templates from Common Lisp")
15797 (description
15798 "HTML-TEMPLATE is a Common Lisp library which can be used to fill
15799templates with arbitrary (string) values at runtime. The result does not have
15800to be HTML.
15801
15802It is loosely modeled after the Perl module @code{HTML::Template} and
15803partially compatible with a its syntax, though both libraries contain some
15804extensions that the other does not support.
15805
15806HTML-TEMPLATE translates templates into efficient closures which can be
15807re-used as often as needed. It uses a cache mechanism so you can update
15808templates while your program is running and have the changes take effect
15809immediately.")
15810 (license license:bsd-2)))
15811
15812(define-public ecl-html-template
15813 (sbcl-package->ecl-package sbcl-html-template))
15814
15815(define-public cl-html-template
15816 (sbcl-package->cl-source-package sbcl-html-template))
8ee6bb91
PN
15817
15818(define-public sbcl-quickproject
15819 (package
15820 (name "sbcl-quickproject")
15821 (version "1.4.1")
15822 (source
15823 (origin
15824 (method git-fetch)
15825 (uri (git-reference
15826 (url "https://github.com/xach/quickproject")
15827 (commit (string-append "release-" version))))
15828 (file-name (git-file-name name version))
15829 (sha256
15830 (base32 "1szs8p2wr1yr9mjmj3h3557l6wxzzga0iszimb68z0hb1jj3lva6"))))
15831 (build-system asdf-build-system/sbcl)
15832 (inputs
15833 `(("cl-fad" ,sbcl-cl-fad)
15834 ("html-template" ,sbcl-html-template)))
15835 (arguments
15836 '(#:asd-files '("quickproject.asd")))
15837 (home-page "https://xach.com/lisp/quickproject/")
15838 (synopsis "Create Common Lisp project skeletons")
15839 (description
15840 "Quickproject provides a quick way to make a Common Lisp project. After
15841creating a project, it extends the ASDF registry so the project may be
15842immediately loaded.")
15843 (license license:expat)))
15844
15845(define-public ecl-quickproject
15846 (sbcl-package->ecl-package sbcl-quickproject))
15847
15848(define-public cl-quickproject
15849 (sbcl-package->cl-source-package sbcl-quickproject))
96df3fe7
SH
15850
15851(define-public sbcl-bodge-math
15852 (let ((commit "9159b7faf88d440024c07110dbef2abddb20b9af")
15853 (revision "1"))
15854 (package
15855 (name "sbcl-bodge-math")
15856 (version (git-version "1.0.0" revision commit))
15857 (source
15858 (origin
15859 (method git-fetch)
15860 (uri (git-reference
15861 (url "https://github.com/borodust/bodge-math")
15862 (commit commit)))
15863 (file-name (git-file-name "bodge-math" version))
15864 (sha256
15865 (base32 "0r3vnl9lywn4ksy34apcv6j825qp7l1naddawr14v4lwacndb80v"))))
15866 (build-system asdf-build-system/sbcl)
15867 (inputs
15868 `(("bodge-utilities" ,sbcl-bodge-utilities)
15869 ("rtg-math" ,sbcl-rtg-math)))
15870 (home-page "https://github.com/borodust/bodge-math")
15871 (synopsis "Common Lisp core math utilities of BODGE library collection")
15872 (description
15873 "This Common Lisp package contains the core math utilities of the
15874@emph{Bodge} library collection.")
15875 (license license:expat))))
15876
15877(define-public ecl-bodge-math
15878 (sbcl-package->ecl-package sbcl-bodge-math))
15879
15880(define-public cl-bodge-math
15881 (sbcl-package->cl-source-package sbcl-bodge-math))
a266c9fa 15882
4d7b6df5
AK
15883(define-public sbcl-bodge-blobs-support
15884 (let ((commit "c5034ca5f4fc3a44dbadeba215a09afd59a404b0")
15885 (revision "1"))
15886 (package
15887 (name "sbcl-bodge-blobs-support")
15888 (version (git-version "1.0.0" revision commit))
15889 (source
15890 (origin
15891 (method git-fetch)
15892 (uri (git-reference
15893 (url "https://github.com/borodust/bodge-blobs-support")
15894 (commit commit)))
15895 (file-name (git-file-name "bodge-blobs-support" version))
15896 (sha256
15897 (base32 "02nd1x6y1akp1ymv1y4z9ympwbnpd1drwi4f86xbjszxqff6jyj8"))))
15898 (build-system asdf-build-system/sbcl)
15899 (native-inputs
15900 `(("trivial-features" ,sbcl-trivial-features)))
15901 (inputs
15902 `(("cffi" ,sbcl-cffi)
15903 ("sbcl-alexandria" ,sbcl-alexandria)))
15904 (home-page "https://github.com/borodust/bodge-blobs-support")
15905 (synopsis "Common Lisp utilities for blob packages")
15906 (description
15907 "This is a Common Lisp library for simplifying packaging and loading of
15908compiled foreign library collection.")
15909 (license license:unlicense))))
15910
15911(define-public cl-bodge-blobs-support
15912 (sbcl-package->cl-source-package sbcl-bodge-blobs-support))
15913
15914(define-public ecl-bodge-blobs-support
15915 (sbcl-package->ecl-package sbcl-bodge-blobs-support))
15916
a266c9fa
SH
15917(define-public sbcl-cl-conspack
15918 (let ((commit "fc8473bc6f929696b03b43820596b7c976c4678e")
15919 (revision "1"))
15920 (package
15921 (name "sbcl-cl-conspack")
15922 (version (git-version "0.0.0" revision commit))
15923 (source
15924 (origin
15925 (method git-fetch)
15926 (uri (git-reference
15927 (url "https://github.com/conspack/cl-conspack")
15928 (commit commit)))
15929 (file-name (git-file-name "cl-conspack" version))
15930 (sha256
15931 (base32 "0b7qzvsrpvnw12hqhjmz0b02sigj0kdjy55j4k7xzmj8684cs8bx"))))
15932 (build-system asdf-build-system/sbcl)
15933 ;; FIXME: (Sharlatan-20210331T220652+0100): Test are disabled because of:
15934 ;;
15935 ;; Error while trying to load definition for system cl-conspack-test
15936 ;; from pathname .../cl-conspack/cl-conspack-test.asd:
15937 ;; Error opening .../checkl/formalize-tmpGHU3ALSV.fasl": Permission denied
15938 ;;
15939 ;; It looks like the issues is in CheckL itself as other packages keep
15940 ;; failing test where it's in use.
15941 (arguments
15942 '(#:tests? #f
15943 #:asd-files '("cl-conspack.asd")))
15944 (native-inputs
15945 `(("checkl" ,sbcl-checkl)))
15946 (inputs
15947 `(("alexandria" ,sbcl-alexandria)
15948 ("closer-mop" ,sbcl-closer-mop)
15949 ("fast-io" ,sbcl-fast-io)
15950 ("ieee-floats" ,sbcl-ieee-floats)
15951 ("trivial-garbage" ,sbcl-trivial-garbage)
15952 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
15953 (home-page "https://github.com/conspack/cl-conspack")
15954 (synopsis "CONSPACK implementation for Common Lisp")
15955 (description
15956 "This package provides a CONSPACK implementation for Common Lisp.")
15957 (license license:bsd-3))))
15958
15959(define-public ecl-cl-conspack
15960 (sbcl-package->ecl-package sbcl-cl-conspack))
15961
15962(define-public cl-conspack
15963 (sbcl-package->cl-source-package sbcl-cl-conspack))
83ecb381
SH
15964
15965(define-public sbcl-cl-opengl
15966 (let ((commit "e2d83e0977b7e7ac3f3d348d8ccc7ccd04e74d59")
15967 (revision "1"))
15968 (package
15969 (name "sbcl-cl-opengl")
15970 (version (git-version "0.1.0" revision commit))
15971 (source
15972 (origin
15973 (method git-fetch)
15974 (uri (git-reference
15975 (url "https://github.com/3b/cl-opengl")
15976 (commit commit)))
15977 (file-name (git-file-name "cl-opengl" version))
15978 (sha256
15979 (base32 "0mhqmll09f079pnd6mgswz9nvr6h5n27d4q7zpmm2igf1v460id7"))))
15980 (build-system asdf-build-system/sbcl)
15981 (arguments
15982 `(#:asd-systems '("cl-opengl" "cl-glu" "cl-glut")
15983 #:phases
15984 (modify-phases %standard-phases
15985 (add-after 'unpack 'patch-lib-path
15986 (lambda* (#:key inputs #:allow-other-keys)
15987 (substitute* "gl/library.lisp"
15988 (("libGL.so" all)
15989 (string-append (assoc-ref inputs "mesa") "/lib/" all)))
15990 (substitute* "glu/library.lisp"
15991 (("libGLU.so" all)
15992 (string-append (assoc-ref inputs "glu") "/lib/" all)))
15993 (substitute* "glut/library.lisp"
15994 (("libglut.so" all)
15995 (string-append (assoc-ref inputs "freeglut") "/lib/" all)))
15996 #t)))))
15997 (inputs
15998 `(("alexandria" ,sbcl-alexandria)
15999 ("cffi" ,sbcl-cffi)
16000 ("float-features" ,sbcl-float-features)
16001 ("freeglut" ,freeglut)
16002 ("glu" ,glu)
16003 ("mesa" ,mesa)))
16004 (home-page "https://github.com/3b/cl-opengl")
16005 (synopsis "Common Lisp bindings to OpenGL, GLU and GLUT APIs")
16006 (description
16007 "This package provides a set of bindings and utilities for accessing the
16008OpenGL (Mesa), GLU and GLUT (FreeGLUT) APIs using CFFI.")
16009 (license license:bsd-3))))
16010
16011(define-public ecl-cl-opengl
16012 (sbcl-package->ecl-package sbcl-cl-opengl))
16013
16014(define-public cl-opengl
16015 (sbcl-package->cl-source-package sbcl-cl-opengl))
acaf97ab
SH
16016
16017(define-public sbcl-shadow
16018 (let ((commit "b2031adbfba3579b48c9d39ad997e19b79b6852f")
16019 (revision "1"))
16020 (package
16021 (name "sbcl-shadow")
16022 (version (git-version "0.0.0" revision commit))
16023 (source
16024 (origin
16025 (method git-fetch)
16026 (uri (git-reference
16027 (url "https://git.mfiano.net/mfiano/shadow")
16028 (commit commit)))
16029 (file-name (git-file-name "shadow" version))
16030 (sha256
16031 (base32 "0w1i734gkdkziin74ql2nhx7jdjxx02ylssaa6qdrvnj4br1124a"))))
16032 (build-system asdf-build-system/sbcl)
16033 (inputs
16034 `(("cffi" ,sbcl-cffi)
16035 ("cl-opengl" ,sbcl-cl-opengl)
16036 ("glsl-packing" ,sbcl-glsl-packing)
16037 ("golden-utils" ,sbcl-golden-utils)
16038 ("static-vectors" ,sbcl-static-vectors)
16039 ("varjo" ,sbcl-varjo)))
16040 (home-page "https://git.mfiano.net/mfiano/shadow")
16041 (synopsis "Management system for OpenGL shader programs")
16042 (description
16043 "This package provides a Common Lisp library for defining OpenGL shader
16044programs. There are also functions for referencing shader programs by name,
16045querying for basic information about them, modifying uniform variables
16046throughout the lifecycle of an OpenGL application, and managing certain OpenGL
16047buffer object types (UBO, SSBO currently).")
16048 (license license:expat))))
16049
16050(define-public ecl-shadow
16051 (sbcl-package->ecl-package sbcl-shadow))
16052
16053(define-public cl-shadow
16054 (sbcl-package->cl-source-package sbcl-shadow))
49d40b9e
SH
16055
16056(define-public sbcl-umbra
16057 (let ((commit "d6ef2f6cbfa26180929061129eaf325bf17f73d8")
16058 (revision "1"))
16059 (package
16060 (name "sbcl-umbra")
16061 (version (git-version "0.0.0" revision commit))
16062 (source
16063 (origin
16064 (method git-fetch)
16065 (uri (git-reference
16066 (url "https://git.mfiano.net/mfiano/umbra")
16067 (commit commit)))
16068 (file-name (git-file-name "umbra" version))
16069 (sha256
16070 (base32 "04vyh2j00zdpb8ryxr8g81wjcmqlz9wrn55r3cypcj4qg970r5wi"))))
16071 (build-system asdf-build-system/sbcl)
16072 (inputs
16073 `(("golden-utils" ,sbcl-golden-utils)
16074 ("shadow" ,sbcl-shadow)
16075 ("varjo" ,sbcl-varjo)))
16076 (home-page "https://git.mfiano.net/mfiano/umbra")
16077 (synopsis "Common Lisp library of reusable GPU shader functions")
16078 (description
16079 "This is a Common Lisp library consisting of a collection of useful GPU
16080shader functions, written with @code{Shadow}.")
16081 (license license:expat))))
16082
16083(define-public ecl-umbra
16084 (sbcl-package->ecl-package sbcl-umbra))
16085
16086(define-public cl-umbra
16087 (sbcl-package->cl-source-package sbcl-umbra))
ea9b1e3b
SH
16088
16089(define-public sbcl-abstract-classes
16090 (let ((commit "7fa74f1e057f9ba7c1ffecff14f049f979e45267")
16091 (revision "1"))
16092 (package
16093 (name "sbcl-abstract-classes")
16094 (version (git-version "1.7.0" revision commit))
16095 (source
16096 (origin
16097 (method git-fetch)
16098 (uri (git-reference
16099 (url "https://bitbucket.org/eeeickythump/cl-abstract-classes")
16100 (commit commit)))
16101 (file-name (git-file-name "cl-abstract-classes" version))
16102 (sha256
16103 (base32 "06lby4i6xbbgs7kgb0f3fqybvyskyg6djhrf967lnysv7hn3zpg9"))))
16104 (build-system asdf-build-system/sbcl)
16105 (inputs
16106 `(("closer-mop" ,sbcl-closer-mop)))
16107 (arguments
16108 `(#:asd-systems '("abstract-classes" "singleton-classes")))
16109 (home-page "https://bitbucket.org/eeeickythump/cl-abstract-classes")
16110 (synopsis "Abstract, final, and singleton metaclasses for CLOS")
16111 (description
16112 "This package provides Common Lisp extension to the MOP to allow
16113abstract, final and singleton classes.")
16114 (license license:public-domain))))
16115
16116(define-public ecl-abstract-classes
16117 (sbcl-package->ecl-package sbcl-abstract-classes))
16118
16119(define-public cl-abstract-classes
16120 (sbcl-package->cl-source-package sbcl-abstract-classes))
b749462c
SH
16121
16122(define-public sbcl-coalton
16123 (let ((commit "4a42ffb4222fde3abfd1b50d96e455ff2eef9fe8")
16124 (revision "1"))
16125 (package
16126 (name "sbcl-coalton")
16127 (version (git-version "0.0.0" revision commit))
16128 (source
16129 (origin
16130 (method git-fetch)
16131 (uri (git-reference
16132 (url "https://github.com/stylewarning/coalton")
16133 (commit commit)))
16134 (file-name (git-file-name "coalton" version))
16135 (sha256
16136 (base32 "0aidwwam7cnhb3p9212zbv5w2dl6kr5iklzanypzr1a9lqaxwdlk"))))
16137 (build-system asdf-build-system/sbcl)
16138 (native-inputs
16139 `(("fiasco" ,sbcl-fiasco)))
16140 (inputs
16141 `(("abstract-classes" ,sbcl-abstract-classes)
16142 ("alexandria" ,sbcl-alexandria)
16143 ("global-vars" ,sbcl-global-vars)
16144 ("optima" ,sbcl-optima)
16145 ("trivial-garbage" ,sbcl-trivial-garbage)))
16146 (home-page "https://github.com/stylewarning/coalton")
16147 (synopsis "Dialect of ML in Common Lisp")
16148 (description
16149 "Coalton is a dialect of ML embedded in Common Lisp. It emphasizes
16150practicality and interoperability with Lisp, and is intended to be a DSL that
16151allows one to gradually make their programs safer.")
16152 (license license:expat))))
16153
16154(define-public ecl-coalton
16155 (sbcl-package->ecl-package sbcl-coalton))
16156
16157(define-public cl-coalton
16158 (sbcl-package->cl-source-package sbcl-coalton))
8a625dd2
CC
16159
16160(define-public sbcl-clip
16161 (let ((commit "7afa68702fbb99c47ed115ea0faccd97a29d9b2e")
16162 (revision "1"))
16163 (package
16164 (name "sbcl-clip")
16165 (version (git-version "0.7.0" revision commit))
16166 (source
16167 (origin
16168 (method git-fetch)
16169 (uri (git-reference
16170 (url "https://github.com/shinmera/clip")
16171 (commit commit)))
16172 (file-name (git-file-name "clip" version))
16173 (sha256
16174 (base32 "13kkajkva2shm19fvn4yashsw18l6imv2rmy3hmpcky7g5ay7bv3"))))
16175 (build-system asdf-build-system/sbcl)
16176 (inputs
16177 `(("array-utils" ,sbcl-array-utils)
16178 ("lquery" ,sbcl-lquery)))
16179 (home-page "https://shinmera.github.io/clip/")
16180 (synopsis "Common Lisp HTML templating engine")
16181 (description
16182 "Clip is an attempt at a templating library that allows you to write
16183templates in a way that is both accessible to direct webdesign and
16184flexible. The main idea is to incorporate transformation commands into an HTML
cf423a37 16185file through tags and attributes. Clip is heavily dependent on Plump and
8a625dd2
CC
16186lQuery.")
16187 (license license:zlib))))
16188
16189(define-public ecl-clip
16190 (sbcl-package->ecl-package sbcl-clip))
16191
16192(define-public cl-clip
16193 (sbcl-package->cl-source-package sbcl-clip))
3de01371
SH
16194
16195(define-public sbcl-pathname-utils
16196 (let ((commit "70f517e44e13a38e0c8f296613236376d679fa8f")
16197 (revision "1"))
16198 (package
16199 (name "sbcl-pathname-utils")
16200 (version (git-version "1.1.0" revision commit))
16201 (source
16202 (origin
16203 (method git-fetch)
16204 (uri (git-reference
16205 (url "https://github.com/Shinmera/pathname-utils")
16206 (commit commit)))
16207 (file-name (git-file-name "pathname-utils" version))
16208 (sha256
16209 (base32 "1zm4bf6gajpgmhr7zwf7600zlaf8fs1fcyzabqsh2ma2crkgqdxq"))))
16210 (build-system asdf-build-system/sbcl)
16211 (native-inputs
16212 `(("parachute" ,sbcl-parachute)))
16213 (home-page "https://shinmera.github.io/pathname-utils/")
16214 (synopsis "Collection of utilities to help with pathname operations")
16215 (description
16216 "This package provides a Common Lisp system a with collection of common
16217tests and operations to help handling pathnames. It does not actually deal in
16218handling the accessing of files on the underlying system however.")
16219 (license license:zlib))))
16220
16221(define-public ecl-pathname-utils
16222 (sbcl-package->ecl-package sbcl-pathname-utils))
16223
16224(define-public cl-pathname-utils
16225 (sbcl-package->cl-source-package sbcl-pathname-utils))
4bef55db
SH
16226
16227(define-public sbcl-terrable
16228 (let ((commit "e4fe23ffa08e8d53a8168105b413861da59cc786")
16229 (revision "1"))
16230 (package
16231 (name "sbcl-terrable")
16232 (version (git-version "1.0.0" revision commit))
16233 (source
16234 (origin
16235 (method git-fetch)
16236 (uri (git-reference
16237 (url "https://github.com/Shirakumo/terrable")
16238 (commit commit)))
16239 (file-name (git-file-name "terrable" version))
16240 (sha256
16241 (base32 "0pnqflgz410zydc1ivwnd8hcl24bgr7x12yjzr7g4lq3ibc8y97b"))))
16242 (build-system asdf-build-system/sbcl)
16243 (inputs
16244 `(("documentation-utils" ,sbcl-documentation-utils)
16245 ("fast-io" ,sbcl-fast-io)
16246 ("ieee-floats" ,sbcl-ieee-floats)
16247 ("static-vectors" ,sbcl-static-vectors)
16248 ("trivial-garbage" ,sbcl-trivial-garbage)))
16249 (home-page "https://shirakumo.github.io/terrable/")
16250 (synopsis "Parser library for Terragen TER terrain files")
16251 (description
16252 "This package provides Common Lisp support for reading the Terragen
16253@code{.TER} format. The format specification can be found at
16254@url{https://planetside.co.uk/wiki/index.php?title=Terragen_.TER_Format}")
16255 (license license:zlib))))
16256
16257(define-public ecl-terrable
16258 (sbcl-package->ecl-package sbcl-terrable))
16259
16260(define-public cl-terrable
16261 (sbcl-package->cl-source-package sbcl-terrable))
0581cd81
PN
16262
16263(define-public sbcl-simple-rgb
16264 (let ((commit "ba9b0689362c28aa6a91c0636796c6c372657293")
16265 (revision "1"))
16266 (package
16267 (name "sbcl-simple-rgb")
16268 (version (git-version "0.01" revision commit))
16269 (source
16270 (origin
16271 (method git-fetch)
16272 (uri (git-reference
16273 (url "https://github.com/wmannis/simple-rgb/")
16274 (commit commit)))
16275 (file-name (git-file-name name version))
16276 (sha256
16277 (base32 "0ggv0h2n4mvwnggjr1b40gw667gnyykzki2zadaczi38ydzyzlp1"))))
16278 (build-system asdf-build-system/sbcl)
16279 (home-page "https://github.com/wmannis/simple-rgb")
16280 (synopsis "Manipulate colors in RGB format")
16281 (description
16282 "This Common Lisp library focuses on the small set of basic color
16283manipulations (lightening, compliments, etc.) you might use to generate a
16284color palette for a GUI or web page.")
16285 (license license:bsd-2))))
16286
16287(define-public ecl-simple-rgb
16288 (sbcl-package->ecl-package sbcl-simple-rgb))
16289
16290(define-public cl-simple-rgb
16291 (sbcl-package->cl-source-package sbcl-simple-rgb))
6cd8361e
PN
16292
16293(define-public sbcl-cl-qprint
16294 (let ((commit "bfe398551cbfb7ca84a9ba59a26a1116ac5c06eb")
16295 (revision "1"))
16296 (package
16297 (name "sbcl-cl-qprint")
16298 (version (git-version "0.9.0" revision commit))
16299 (source
16300 (origin
16301 (method git-fetch)
16302 (uri (git-reference
16303 (url "https://github.com/eugeneia/cl-qprint/")
16304 (commit commit)))
16305 (file-name (git-file-name name version))
16306 (sha256
16307 (base32 "099h0rrdzxnlmn8avi72mg2dl0kccp7w01b2p9nwyy4b8yr32cir"))))
16308 (build-system asdf-build-system/sbcl)
16309 (inputs
16310 `(("flexi-streams" ,sbcl-flexi-streams)))
16311 (home-page "https://github.com/eugeneia/cl-qprint/")
16312 (synopsis "Implementation of the quoted-printable encoding")
16313 (description
16314 "This Common Lisp library implements the quoted-printable encoding as
16315described in RFC 2045 (see @url{http://tools.ietf.org/html/rfc2045}).")
16316 (license license:lgpl2.1))))
16317
16318(define-public ecl-cl-qprint
16319 (sbcl-package->ecl-package sbcl-cl-qprint))
16320
16321(define-public cl-qprint
16322 (sbcl-package->cl-source-package sbcl-cl-qprint))
e6bff480
PN
16323
16324(define-public sbcl-cl-mime
16325 (let ((commit "d30a28e0a40393bd3af7d138daa05319ed2e9d07")
16326 (revision "1"))
16327 (package
16328 (name "sbcl-cl-mime")
16329 ;; One commit says "update to cl-mime-0.5.3", even though the .asd is at 0.5.1.
16330 (version (git-version "0.5.3" revision commit))
16331 (source
16332 (origin
16333 (method git-fetch)
16334 (uri (git-reference
16335 ;; Maintained fork according to http://www.cliki.net/CL-MIME:
16336 (url "https://github.com/40ants/cl-mime")
16337 (commit commit)))
16338 (file-name (git-file-name name version))
16339 (sha256
16340 (base32 "0qn8if0fj6vzc897pqqqs0m1y107gmzqngpqhqmwrcsp1ckj5k0v"))))
16341 (build-system asdf-build-system/sbcl)
16342 (inputs
16343 `(("ppcre" ,sbcl-cl-ppcre)
16344 ("cl-base64" ,sbcl-cl-base64)
16345 ("cl-qprint" ,sbcl-cl-qprint)))
16346 (native-inputs
16347 `(("rove" ,sbcl-rove)))
16348 (home-page "https://github.com/eugeneia/cl-qprint/")
16349 (synopsis "Read and print MIME content in Common Lisp")
16350 (description
16351 "This is a Common Lisp library for reading and printing MIME content.
16352It supports automatic conversion between 7-bit, quoted-printable and base64
16353encodings.")
16354 (license license:lgpl2.1))))
16355
16356(define-public ecl-cl-mime
16357 (sbcl-package->ecl-package sbcl-cl-mime))
16358
16359(define-public cl-mime
16360 (sbcl-package->cl-source-package sbcl-cl-mime))
331c4988
PN
16361
16362(define-public sbcl-lispbuilder-sdl
16363 (let ((commit "589b3c6d552bbec4b520f61388117d6c7b3de5ab"))
16364 (package
16365 (name "sbcl-lispbuilder-sdl")
16366 (version (git-version "0.9.8.2" "1" commit))
16367 (source
16368 (origin
16369 (method git-fetch)
16370 (uri (git-reference
16371 (url "https://github.com/lispbuilder/lispbuilder")
16372 (commit commit)))
16373 (file-name (git-file-name name version))
16374 (sha256
16375 (base32 "0zga59fjlhq3mhwbf80qwqwpkjkxqnn2mhxajlb8563vhn3dbafp"))))
16376 (build-system asdf-build-system/sbcl)
16377 (inputs
16378 `(("cffi" ,sbcl-cffi)
16379 ("trivial-garbage" ,sbcl-trivial-garbage)
16380 ("sdl" ,sdl)))
16381 (arguments
16382 `(#:phases
16383 (modify-phases %standard-phases
16384 (add-after 'unpack 'cd-sdl
16385 (lambda _
16386 (chdir "lispbuilder-sdl")
16387 #t))
16388 (add-after 'cd-sdl 'fix-paths
16389 (lambda* (#:key inputs #:allow-other-keys)
16390 (substitute* "cffi/library.lisp"
16391 (("libSDL[^\"]*" all)
16392 (string-append (assoc-ref inputs "sdl") "/lib/" all)))
16393 #t)))))
16394 (home-page "https://github.com/lispbuilder/lispbuilder/wiki/LispbuilderSDL")
16395 (synopsis "Common Lisp wrapper for SDL")
16396 (description
16397 "This library is an SDL wrapper as part of an umbrella project that
16398provides cross-platform packages for building large, interactive applications
16399in Common Lisp.")
16400 (license license:expat))))
16401
16402(define-public ecl-lispbuilder-sdl
16403 (sbcl-package->ecl-package sbcl-lispbuilder-sdl))
16404
16405(define-public cl-lispbuilder-sdl
16406 (sbcl-package->cl-source-package sbcl-lispbuilder-sdl))
7a6e603a
PN
16407
16408(define-public sbcl-dufy
16409 (package
16410 (name "sbcl-dufy")
16411 (version "0.4.1")
16412 (source
16413 (origin
16414 (method git-fetch)
16415 (uri (git-reference
16416 (url "https://github.com/privet-kitty/dufy")
16417 (commit (string-append "v" version))))
16418 (file-name (git-file-name name version))
16419 (sha256
16420 (base32 "15vrp1kayhjb5c1vc9x8wlm8rimk73vpa7yc101cf0gsg1fjazl6"))))
16421 (build-system asdf-build-system/sbcl)
16422 (inputs
16423 `(("alexandria" ,sbcl-alexandria)
16424 ("ppcre" ,sbcl-cl-ppcre)))
16425 (native-inputs
16426 `(("fiveam" ,sbcl-fiveam)
16427 ("cl-csv" ,sbcl-cl-csv)
16428 ("parse-float" ,sbcl-parse-float)
16429 ("lispbuilder-sdl" ,sbcl-lispbuilder-sdl)
16430 ("lparallel" ,sbcl-lparallel)))
16431 (home-page "https://github.com/privet-kitty/dufy")
16432 (synopsis "Color library for Common Lisp")
16433 (description
16434 "Dufy is a library for exact color manipulation and conversion in various
16435color spaces, which supports many color models.")
16436 (license license:expat)))
16437
16438(define-public ecl-dufy
16439 (sbcl-package->ecl-package sbcl-dufy))
16440
16441(define-public cl-dufy
16442 (sbcl-package->cl-source-package sbcl-dufy))
c72c3e50
SH
16443
16444(define-public sbcl-unit-test
16445 (let ((commit "266afaf4ac091fe0e8803bac2ae72d238144e735")
16446 (revision "1"))
16447 (package
16448 (name "sbcl-unit-test")
16449 (version (git-version "0.0.0" revision commit))
16450 (source
16451 (origin
16452 (method git-fetch)
16453 (uri (git-reference
16454 (url "https://github.com/hanshuebner/unit-test")
16455 (commit commit)))
16456 (file-name (git-file-name "unit-test" version))
16457 (sha256
16458 (base32 "11hpksz56iqkv7jw25p2a8r3n9dj922fyarn16d98589g6hdskj9"))))
16459 (build-system asdf-build-system/sbcl)
16460 (home-page "https://github.com/hanshuebner/unit-test")
16461 (synopsis "Unit-testing framework for Common Lisp")
16462 (description "This is a unit-testing framework for Common Lisp.")
16463 (license license:unlicense))))
16464
16465(define-public ecl-unit-test
16466 (sbcl-package->ecl-package sbcl-unit-test))
16467
16468(define-public cl-unit-test
16469 (sbcl-package->cl-source-package sbcl-unit-test))
91ba4250
SH
16470
16471(define-public sbcl-bknr-datastore
16472 (let ((commit "c98d44f47cc88d19ff91ca3eefbd9719a8ace022")
16473 (revision "1"))
16474 (package
16475 (name "sbcl-bknr-datastore")
16476 (version (git-version "0.0.0" revision commit))
16477 (source
16478 (origin
16479 (method git-fetch)
16480 (uri (git-reference
16481 (url "https://github.com/hanshuebner/bknr-datastore")
16482 (commit commit)))
16483 (file-name (git-file-name "bknr-datastore" version))
16484 (sha256
16485 (base32 "1vi3w65fnczqvswkm381n6liqfrzjrg40y698qvj7skj28dm5vrm"))))
16486 (build-system asdf-build-system/sbcl)
16487 (arguments
16488 `(#:asd-systems
16489 '("bknr.datastore"
16490 "bknr.impex"
16491 "bknr.indices"
16492 "bknr.skip-list"
16493 "bknr.utils"
16494 "bknr.xml")
16495 #:phases
16496 (modify-phases %standard-phases
16497 (add-after 'unpack 'enter-source-directory
16498 (lambda _
16499 (chdir "src")
16500 #t)))))
16501 (native-inputs
16502 `(("cl-store" ,sbcl-cl-store)
16503 ("fiveam" ,sbcl-fiveam)
16504 ("unit-test" ,sbcl-unit-test)))
16505 (inputs
16506 `(("alexandria" ,sbcl-alexandria)
16507 ("bordeaux-threads" ,sbcl-bordeaux-threads)
16508 ("closer-mop" ,sbcl-closer-mop)
16509 ("cl-interpol" ,sbcl-cl-interpol)
16510 ("cl-ppcre" ,sbcl-cl-ppcre)
16511 ("cxml" ,sbcl-cxml)
16512 ("flexi-streams" ,sbcl-flexi-streams)
16513 ("md5" ,sbcl-md5)
16514 ("trivial-utf-8" ,sbcl-trivial-utf-8)
16515 ("yason" ,sbcl-yason)))
16516 (home-page "https://github.com/hanshuebner/bknr-datastore")
16517 (synopsis "In-memory database for Common Lisp")
16518 (description
16519 "BKNR.DATASTORE is an in-memory CLOS based database with transactions
16520for Common Lisp.")
16521 (license license:bsd-0))))
16522
16523;; NOTE: (Sharlatan-20210429T191426+0100):
16524;; There is no port for ECL in upstream yet
16525;; (define-public ecl-bknr-datastore
16526;; (sbcl-package->ecl-package sbcl-bknr-datastore))
16527
16528(define-public cl-bknr-datastore
16529 (sbcl-package->cl-source-package sbcl-bknr-datastore))
e961f150 16530
62b60ba0
C
16531(define-public sbcl-authentic
16532 (let ((commit "d5ff2f4666ce24e41fb4ca22476c782c070e6f6e")
16533 (revision "1"))
16534 (package
16535 (name "sbcl-authentic")
16536 (version (git-version "0.1.0" revision commit))
16537 (source
16538 (origin
16539 (method git-fetch)
16540 (uri (git-reference
16541 (url "https://github.com/charje/cl-authentic")
16542 (commit commit)))
16543 (file-name (git-file-name "cl-authentic" version))
16544 (sha256
16545 (base32 "1dmi9lw1ickx0i41lh9sfchalvy7km6wc9w3szfjlvny7svwf6qp"))))
16546 (build-system asdf-build-system/sbcl)
16547 (native-inputs
16548 `(("fiveam" ,sbcl-fiveam)))
16549 (inputs
16550 `(("clsql" ,sbcl-clsql)
16551 ("ironclad" ,sbcl-ironclad)))
16552 (home-page "https://github.com/charje/cl-authentic")
16553 (synopsis "User/password management for Common Lisp applications")
16554 (description "Authentic provides a light-weight and extendible
16555solution to user/password management for Common Lisp applications. It has
16556features such as safe password storage in a database, password reset, user
16557confirmation tokens, and user authentication.")
16558 (license license:llgpl))))
16559
16560(define-public ecl-authentic
16561 (sbcl-package->ecl-package sbcl-authentic))
16562
16563(define-public cl-authentic
16564 (sbcl-package->cl-source-package sbcl-authentic))
16565
e961f150
SH
16566(define-public sbcl-3d-vectors
16567 (let ((commit "29bb9684df803590deed344af63dbf7b712aabc0")
16568 (revision "1"))
16569 (package
16570 (name "sbcl-3d-vectors")
16571 (version (git-version "3.1.0" revision commit))
16572 (source
16573 (origin
16574 (method git-fetch)
16575 (uri (git-reference
16576 (url "https://github.com/Shinmera/3d-vectors")
16577 (commit commit)))
16578 (file-name (git-file-name "3d-vectors" version))
16579 (sha256
16580 (base32 "0qc7m5brhpwi531rgmlaj1c609by533a1ia5hv8f90ilm8ksmw3l"))))
16581 (build-system asdf-build-system/sbcl)
16582 (native-inputs
16583 `(("parachute" ,sbcl-parachute)))
16584 (inputs
16585 `(("documentation-utils" ,sbcl-documentation-utils)))
16586 (home-page "https://shinmera.github.io/3d-vectors/")
16587 (synopsis "Utility library implementing 2D, 3D, and 4D vectors")
16588 (description
16589 "@code{3D-VECTORS} is a library for vector math in 3D space. It contains
16590most of the vector operations one would usually expect out of such a library and
16591offers them both in non-modifying and modifying versions where applicable.")
16592 (license license:zlib))))
16593
16594(define-public ecl-3d-vectors
16595 (sbcl-package->ecl-package sbcl-3d-vectors))
16596
16597(define-public cl-3d-vectors
16598 (sbcl-package->cl-source-package sbcl-3d-vectors))
440217b1
SH
16599
16600(define-public sbcl-3d-matrices
16601 (let ((commit "f453b521b8f2ceabb01eac94389119dece8c05f8")
16602 (revision "1"))
16603 (package
16604 (name "sbcl-3d-matrices")
16605 (version (git-version "1.0.0" revision commit))
16606 (source
16607 (origin
16608 (method git-fetch)
16609 (uri (git-reference
16610 (url "https://github.com/Shinmera/3d-matrices")
16611 (commit commit)))
16612 (file-name (git-file-name "3d-matrices" version))
16613 (sha256
16614 (base32 "10q9c96gqzq6k8n89agy0khgimmnsn4s69171m3vhghqa2yv5n6v"))))
16615 (build-system asdf-build-system/sbcl)
16616 (native-inputs
16617 `(("parachute" ,sbcl-parachute)))
16618 (inputs
16619 `(("3d-vectors" ,sbcl-3d-vectors)
16620 ("documentation-utils" ,sbcl-documentation-utils)))
16621 (home-page "https://shinmera.github.io/3d-matrices/")
16622 (synopsis "Utility library implementing 2x2, 3x3, 4x4 and NxM matrices")
16623 (description
16624 "@code{3D-MATRICES} is a library implementing common matrix operations,
16625mainly intended as the counterpiece to @code{3d-vectors} and thus being aimed at
16626operations in 3D space.")
16627 (license license:zlib))))
16628
16629(define-public ecl-3d-matrices
16630 (sbcl-package->ecl-package sbcl-3d-matrices))
16631
16632(define-public cl-3d-matrices
16633 (sbcl-package->cl-source-package sbcl-3d-matrices))
df07ecba
SH
16634
16635(define-public sbcl-messagebox
16636 (let ((commit "ea3688d9a9954bee7079c0173bc7b3f327021e9f")
16637 (revision "1"))
16638 (package
16639 (name "sbcl-messagebox")
16640 (version (git-version "1.0.0" revision commit))
16641 (source
16642 (origin
16643 (method git-fetch)
16644 (uri (git-reference
16645 (url "https://github.com/Shinmera/messagebox")
16646 (commit commit)))
16647 (file-name (git-file-name "messagebox" version))
16648 (sha256
16649 (base32 "0jkbzlca0wvspgsfj0b0hjwlyyy8jlywsldsbkp79q48fc3aa8jd"))))
16650 (build-system asdf-build-system/sbcl)
16651 (arguments
16652 `(#:phases
16653 (modify-phases %standard-phases
16654 (add-after 'unpack 'patch-zenity-path
16655 (lambda* (#:key inputs #:allow-other-keys)
16656 (substitute* "zenity.lisp"
16657 (("\"zenity\"")
16658 (string-append "\"" (assoc-ref inputs "zenity")
16659 "/bin/zenity\""))))))))
16660 (inputs
16661 `(("documentation-utils" ,sbcl-documentation-utils)
16662 ("trivial-features" ,sbcl-trivial-features)
16663 ("zenity" ,zenity)))
16664 (home-page "https://shinmera.github.io/messagebox/")
16665 (synopsis "Display a native GUI message box")
16666 (description
16667 "This is a small library to display a native GUI message box. This can be
16668useful to show error messages and other informational pieces should the
16669application fail and be unable to do so using its standard UI.")
16670 (license license:zlib))))
16671
16672(define-public ecl-messagebox
16673 (sbcl-package->ecl-package sbcl-messagebox))
16674
16675(define-public cl-messagebox
16676 (sbcl-package->cl-source-package sbcl-messagebox))
a2aa8ac5
SH
16677
16678(define-public sbcl-glsl-toolkit
16679 (let ((commit "d00ba1906e3b5eb08ea346ac300a1e77bb999d04")
16680 (revision "1"))
16681 (package
16682 (name "sbcl-glsl-toolkit")
16683 (version (git-version "1.0.0" revision commit))
16684 (source
16685 (origin
16686 (method git-fetch)
16687 (uri (git-reference
16688 (url "https://github.com/Shirakumo/glsl-toolkit")
16689 (commit commit)))
16690 (file-name (git-file-name "glsl-toolkit" version))
16691 (sha256
16692 (base32 "0as5796yazchq1qkna3srxlz5v7cf7ffny9cbqi41wsa2s20vbh9"))))
16693 (build-system asdf-build-system/sbcl)
16694 (inputs
16695 `(("cl-ppcre" ,sbcl-cl-ppcre)
16696 ("documentation-utils" ,sbcl-documentation-utils)
16697 ("parse-float" ,sbcl-parse-float)
16698 ("trivial-indent" ,sbcl-trivial-indent)))
16699 (home-page "https://shirakumo.github.io/glsl-toolkit/")
16700 (synopsis "Parser for OpenGL Shader Language source files")
16701 (description
16702 "This package provides a Common Lisp system collecting tools written to
16703allow to wrangle OpenGL Shader Language (GLSL) source files.")
16704 (license license:zlib))))
16705
16706(define-public ecl-glsl-toolkit
16707 (sbcl-package->ecl-package sbcl-glsl-toolkit))
16708
16709(define-public cl-glsl-toolkit
16710 (sbcl-package->cl-source-package sbcl-glsl-toolkit))
4a1fd4a5
SH
16711
16712(define-public sbcl-simple-tasks
16713 (let ((commit "745d4b54eac9bf5d6909792e63ecd2ef8d303cf2")
16714 (revision "1"))
16715 (package
16716 (name "sbcl-simple-tasks")
16717 (version (git-version "1.3.0" revision commit))
16718 (source
16719 (origin
16720 (method git-fetch)
16721 (uri (git-reference
16722 (url "https://github.com/Shinmera/simple-tasks")
16723 (commit commit)))
16724 (file-name (git-file-name "simple-tasks" version))
16725 (sha256
16726 (base32 "1ls1pij7dvb65g4nam7nvik1218jvfk5iplr48vy290fw3lq7v98"))))
16727 (build-system asdf-build-system/sbcl)
16728 (inputs
16729 `(("array-utils" ,sbcl-array-utils)
16730 ("bordeaux-threads" ,sbcl-bordeaux-threads)
16731 ("dissect" ,sbcl-dissect)))
16732 (home-page "https://shinmera.github.io/simple-tasks/")
16733 (synopsis "Simple task scheduling framework")
16734 (description "This is a task scheduling framework for Common Lisp.")
16735 (license license:zlib))))
16736
16737(define-public ecl-simple-tasks
16738 (sbcl-package->ecl-package sbcl-simple-tasks))
16739
16740(define-public cl-simple-tasks
16741 (sbcl-package->cl-source-package sbcl-simple-tasks))
a232a40b
SH
16742
16743(define-public sbcl-trivial-main-thread
16744 (let ((commit "25f114973bb69eb63e01d0bbfead31f8e682846a")
16745 (revision "1"))
16746 (package
16747 (name "sbcl-trivial-main-thread")
16748 (version (git-version "1.0.0" revision commit))
16749 (source
16750 (origin
16751 (method git-fetch)
16752 (uri (git-reference
16753 (url "https://github.com/Shinmera/trivial-main-thread")
16754 (commit commit)))
16755 (file-name (git-file-name "trivial-main-thread" version))
16756 (sha256
16757 (base32 "0bw1887i7396lqg75qvmgjfzz4xbiq9w5dp8wxdgrcsm0qwlraw7"))))
16758 (build-system asdf-build-system/sbcl)
16759 (inputs
16760 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
16761 ("simple-tasks" ,sbcl-simple-tasks)
16762 ("trivial-features" ,sbcl-trivial-features)))
16763 (home-page "https://shinmera.github.io/trivial-main-thread/")
16764 (synopsis "Compatibility library to run things in the main thread")
16765 (description
16766 "This package provides a Common Lisp system which wraps the
16767BORDEAUX-THREADS system to be able to run things in the main thread of the
16768implementation, for example drawing calls of GUI applications.")
16769 (license license:zlib))))
16770
16771(define-public ecl-trivial-main-thread
16772 (sbcl-package->ecl-package sbcl-trivial-main-thread))
16773
16774(define-public cl-trivial-main-thread
16775 (sbcl-package->cl-source-package sbcl-trivial-main-thread))
7f96fb3f
SH
16776
16777(define-public sbcl-cl-package-locks
16778 (let ((commit "96a358ede7cef416d61d2f699e724fe1d9de602c")
16779 (revision "1"))
16780 (package
16781 (name "sbcl-cl-package-locks")
16782 (version (git-version "0.0.2" revision commit))
16783 (source
16784 (origin
16785 (method git-fetch)
16786 (uri (git-reference
16787 (url "https://github.com/elliottjohnson/cl-package-locks")
16788 (commit commit)))
16789 (file-name (git-file-name "cl-package-locks" version))
16790 (sha256
16791 (base32 "0g3gfljnvpgd66ccd2sqawlkwqx4a0wsdrg5180va61w869cgxqq"))))
16792 (build-system asdf-build-system/sbcl)
16793 (home-page "https://github.com/elliottjohnson/cl-package-locks")
16794 (synopsis "Compatibility layer for dealing with package locks")
16795 (description
16796 "This is a Common Lisp library providing a unified way to work with
16797package locks across supported Common Lisp implementations.")
16798 (license license:expat))))
16799
16800(define-public ecl-cl-package-locks
16801 (sbcl-package->ecl-package sbcl-cl-package-locks))
16802
16803(define-public cl-package-locks
16804 (sbcl-package->cl-source-package sbcl-cl-package-locks))
0d85c836
SH
16805
16806(define-public sbcl-cl-typesetting
16807 (let ((commit "86eba981fc4254addebecf765578ec350d6e3b75")
16808 (revision "1"))
16809 (package
16810 (name "sbcl-cl-typesetting")
16811 (version (git-version "0.8.0" revision commit))
16812 (source
16813 (origin
16814 (method git-fetch)
16815 (uri (git-reference
16816 (url "https://github.com/mbattyani/cl-typesetting")
16817 (commit commit)))
16818 (file-name (git-file-name "cl-typesetting" version))
16819 (sha256
16820 (base32 "0fcs5mq0gxfczbrg7ay8r4bf5r4g6blvpdbjkhcl8dapcikyn35h"))))
16821 (build-system asdf-build-system/sbcl)
16822 (arguments
16823 ;; NOTE: (Sharlatan-20210515T213014+0100): Circular dependencies with
16824 ;; cl-typegraph
16825 `(#:tests? #f))
16826 (inputs
16827 `(("cl-pdf" ,sbcl-cl-pdf)
16828 ("xmls" ,sbcl-xmls)))
16829 (home-page "https://github.com/mbattyani/cl-typesetting")
16830 (synopsis "Stand-alone Common Lisp typesetting system")
16831 (description
16832 "CL-TYPESETTING is a cross-platform Common Lisp typesetting library for
16833all kind of typesetting applications.")
16834 (license license:bsd-2))))
16835
16836(define-public ecl-cl-typesetting
16837 (sbcl-package->ecl-package sbcl-cl-typesetting))
16838
16839(define-public cl-typesetting
16840 (sbcl-package->cl-source-package sbcl-cl-typesetting))
ff11a9f4
SH
16841
16842(define-public sbcl-shasht
16843 (let ((commit "4055327ef8e2aaa8627892ab256350ff3cb15e3c")
16844 (revision "1"))
16845 (package
16846 (name "sbcl-shasht")
16847 (version (git-version "0.1.0" revision commit))
16848 (source
16849 (origin
16850 (method git-fetch)
16851 (uri (git-reference
16852 (url "https://github.com/yitzchak/shasht")
16853 (commit commit)))
16854 (file-name (git-file-name "shasht" version))
16855 (sha256
16856 (base32 "01mh20s5gj0lajq45anxji77ykq1wcg72mn1y9a1k8i7q1ainjlr"))))
16857 (build-system asdf-build-system/sbcl)
16858 (native-inputs
16859 `(("alexandria" ,sbcl-alexandria)
16860 ("parachute" ,sbcl-parachute)))
16861 (inputs
16862 `(("trivial-do" ,sbcl-trivial-do)))
16863 (home-page "https://yitzchak.github.io/shasht/")
16864 (synopsis "Common Lisp JSON reading and writing library")
16865 (description
16866 "This package provides a Common Lisp library to work with the JSON file
16867format.")
16868 (license license:expat))))
16869
16870(define-public ecl-shasht
16871 (sbcl-package->ecl-package sbcl-shasht))
16872
16873(define-public cl-shasht
16874 (sbcl-package->cl-source-package sbcl-shasht))
0195d904
SH
16875
16876(define-public sbcl-cl-speedy-queue
16877 (let ((commit "0425c7c62ad3b898a5ec58cd1b3e74f7d91eec4b")
16878 (revision "1"))
16879 (package
16880 (name "sbcl-cl-speedy-queue")
16881 (version (git-version "0.0.0" revision commit))
16882 (source
16883 (origin
16884 (method git-fetch)
16885 (uri (git-reference
16886 (url "https://github.com/zkat/cl-speedy-queue")
16887 (commit commit)))
16888 (file-name (git-file-name "cl-speedy-queue" version))
16889 (sha256
16890 (base32 "0czhnvxn9lvbjz9h1lb7y18nqrsq3drq5icd3lqdaa07362alriq"))))
16891 (build-system asdf-build-system/sbcl)
16892 (home-page "https://github.com/zkat/cl-speedy-queue")
16893 (synopsis "Lightweight optimized queue for Common Lisp")
16894 (description
16895 "This is a lightweight, non-consing, optimized queue implementation for
16896Common Lisp.")
16897 (license license:expat))))
16898
16899(define-public cl-speedy-queue
16900 (sbcl-package->cl-source-package sbcl-cl-speedy-queue))
16901
16902(define-public ecl-cl-speedy-queue
16903 (sbcl-package->ecl-package sbcl-cl-speedy-queue))
c4ebe659
SH
16904
16905(define-public sbcl-lev
16906 (let ((commit "7d03c68dad44f1cc4ac2aeeab2d24eb525ad941a")
16907 (revision "1"))
16908 (package
16909 (name "sbcl-lev")
16910 (version (git-version "0.1.0" revision commit))
16911 (source
16912 (origin
16913 (method git-fetch)
16914 (uri (git-reference
16915 (url "https://github.com/fukamachi/lev")
16916 (commit commit)))
16917 (file-name (git-file-name "lev" version))
16918 (sha256
16919 (base32 "14lfnrvfyg2nnvlwck896p6vgarzc6g4kijmvhi2d8wra7gxzifh"))))
16920 (build-system asdf-build-system/sbcl)
16921 (arguments
16922 ;; NOTE: (Sharlatan-20210520T163300+0100): No tests in upstream
16923 `(#:tests? #f
16924 #:phases
16925 (modify-phases %standard-phases
16926 (add-after 'unpack 'patch-libev-lib-path
16927 (lambda* (#:key inputs #:allow-other-keys)
16928 (substitute* "src/lev.lisp"
16929 (("libev.so" all)
16930 (string-append (assoc-ref inputs "libev")
16931 "/lib/" all))))))))
16932 (inputs
16933 `(("cffi" ,sbcl-cffi)
16934 ("libev" ,libev)))
16935 (home-page "https://github.com/fukamachi/lev")
16936 (synopsis "Common Lisp bindings for libev")
16937 (description "This package provides Common Lisp bindings for libev.")
16938 (license license:bsd-2))))
16939
16940(define-public cl-lev
16941 (sbcl-package->cl-source-package sbcl-lev))
16942
16943(define-public ecl-lev
16944 (sbcl-package->ecl-package sbcl-lev))
2a60770f
SH
16945
16946(define-public sbcl-woo
16947 (let ((commit "fba3567be95ed6e782d98a4c1477d3a74b8ad124")
16948 (revision "1"))
16949 (package
16950 (name "sbcl-woo")
16951 (version (git-version "0.12.0" revision commit))
16952 (source
16953 (origin
16954 (method git-fetch)
16955 (uri (git-reference
16956 (url "https://github.com/fukamachi/woo")
16957 (commit commit)))
16958 (file-name (git-file-name "woo" version))
16959 (sha256
16960 (base32 "06f95x8s8v523gxmrkn9wwgw2pvc3bc66znbgrzhqb30y4aar5v5"))))
16961 (build-system asdf-build-system/sbcl)
16962 (arguments
16963 ;; FIXME: Tests fail because they try to compile clack-test:
16964 ;;
16965 ;; Error opening #P"/gnu/store/...-sbcl-clack-2.0.0-1.e3e0328/
16966 ;; lib/common-lisp/sbcl/clack/src/test-tmpGHU3ALSV.fasl":
16967 ;;
16968 ;; Permission denied
16969 ;;
16970 ;; clack-test should be compiled when building the sbcl-clack package,
16971 ;; but it isn't right now because of the circular dependency between
16972 ;; clack-test and dexador.
16973 `(#:tests? #f))
16974 (native-inputs
16975 `(("clack" ,sbcl-clack)
16976 ("rove" ,sbcl-rove)))
16977 (inputs
16978 `(("alexandria" ,sbcl-alexandria)
16979 ("bordeaux-threads" ,sbcl-bordeaux-threads)
16980 ("cffi" ,sbcl-cffi)
16981 ("cl-speedy-queue" ,sbcl-cl-speedy-queue) ;; Required for ecl build
16982 ("clack-socket" ,sbcl-clack)
16983 ("fast-http" ,sbcl-fast-http)
16984 ("fast-io" ,sbcl-fast-io)
16985 ("lev" ,sbcl-lev)
16986 ("quri" ,sbcl-quri)
16987 ("rove" ,sbcl-rove)
16988 ("smart-buffer" ,sbcl-smart-buffer)
16989 ("static-vectors" ,sbcl-static-vectors)
16990 ("swap-bytes" ,sbcl-swap-bytes)
16991 ("trivial-utf-8" ,sbcl-trivial-utf-8)
16992 ("vom" ,sbcl-vom)))
16993 (home-page "https://github.com/fukamachi/woo")
16994 (synopsis "Non-blocking HTTP server based on libev")
16995 (description
16996 "This package provides the Common Lisp HTTP server @code{WOO}, which
16997is built on top of the @code{libev} event library.")
16998 (license license:expat))))
16999
17000(define-public cl-woo
17001 (sbcl-package->cl-source-package sbcl-woo))
17002
17003(define-public ecl-woo
17004 (sbcl-package->ecl-package sbcl-woo))
20eb41b6
SH
17005
17006(define-public sbcl-json-streams
17007 (let ((commit "5da012e8133affbf75024e7500feb37394690752")
17008 (revision "1"))
17009 (package
17010 (name "sbcl-json-streams")
17011 (version (git-version "0.0.0" revision commit))
17012 (source
17013 (origin
17014 (method git-fetch)
17015 (uri (git-reference
17016 (url "https://github.com/rotatef/json-streams")
17017 (commit commit)))
17018 (file-name (git-file-name "json-streams" version))
17019 (sha256
17020 (base32 "0cia3721im04q73dfkd688d8splgpz03qa4h8s3r39kar4w3xll2"))))
17021 (build-system asdf-build-system/sbcl)
17022 (native-inputs
17023 `(("cl-quickcheck" ,sbcl-cl-quickcheck)
17024 ("flexi-streams" ,sbcl-flexi-streams)))
17025 (home-page "https://github.com/rotatef/json-streams")
17026 (synopsis "Common Lisp library for reading and writing JSON")
17027 (description
17028 "This package provides a stream based JSON parser/writer, well suited as
17029building block for higher level libraries.")
17030 (license license:gpl3+))))
17031
17032(define-public cl-json-streams
17033 (sbcl-package->cl-source-package sbcl-json-streams))
17034
17035(define-public ecl-json-streams
17036 (sbcl-package->ecl-package sbcl-json-streams))
0e007842
SH
17037
17038(define-public sbcl-arnesi
17039 (let ((commit "1e7dc4cb2cad8599113c7492c78f4925e839522e")
17040 (revision "1"))
17041 (package
17042 (name "sbcl-arnesi")
17043 (version (git-version "2.0.0" revision commit))
17044 (source
17045 (origin
17046 (method git-fetch)
17047 (uri (git-reference
17048 (url "https://github.com/AccelerationNet/arnesi")
17049 (commit commit)))
17050 (file-name (git-file-name "arnesi" version))
17051 (sha256
17052 (base32 "0jgj2xgd1gq6rf8ia43lkmbrbxnp8rgs053br9azfa25ygk3ikbh"))))
17053 (build-system asdf-build-system/sbcl)
17054 (arguments
17055 ;; FIXME: (Sharlatan-20210523T190315+0100): Tests failed on
17056 ;; special-lisp-var-rebount-in/cc
17057 ;;
17058 ;; ; processing (TEST SPECIAL-LISP-VAR-REBOUND-IN/CC ...)
17059 ;; ; wrote .../sbcl/arnesi/t/call-cc-tmp5GEXGEG5.fasl
17060 ;; ; compilation finished in 0:00:00.028
17061 ;; Unhandled SIMPLE-ERROR in thread
17062 ;; #<SB-THREAD:THREAD "main thread" RUNNING {100B768173}>:
17063 ;; Sorry, No walker for the special operater DECLARE defined.
17064 ;;
17065 ;; Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {100B768173}>
17066 ;; 0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<SIMPLE-ERROR "Sorry,
17067 ;; No walker for the special operater ~S defined."
17068 ;; {1001FAF9D3}> #<unused argument> :QUIT T)
17069 ;;
17070 `(#:tests? #f))
17071 (native-inputs
17072 `(("fiveam" ,sbcl-fiveam)))
17073 (inputs
17074 `(("cl-ppcre" ,sbcl-cl-ppcre)
17075 ("collectors" ,sbcl-collectors)
17076 ("swank" ,sbcl-slime-swank)))
17077 (home-page "https://github.com/AccelerationNet/arnesi")
17078 (synopsis "Common Lisp utility suite")
17079 (description
17080 "ARNESI is Common Lisp utilities library similar to ALEXANDRIA, ANAPHORA
17081or GOLDEN-UTILS.")
17082 (license license:bsd-3))))
17083
17084(define-public ecl-arnesi
17085 (sbcl-package->ecl-package sbcl-arnesi))
17086
17087(define-public cl-arnesi
17088 (sbcl-package->cl-source-package sbcl-arnesi))
16342832
SH
17089
17090(define-public sbcl-gettext
17091 (let ((commit "a432020cbad99fc22cbe6bb9aa8a83a35000d7aa")
17092 (revision "1"))
17093 (package
17094 (name "sbcl-gettext")
17095 (version (git-version "0.0.0" revision commit))
17096 (source
17097 (origin
17098 (method git-fetch)
17099 (uri (git-reference
17100 (url "https://github.com/rotatef/gettext")
17101 (commit commit)))
17102 (file-name (git-file-name "gettext" version))
17103 (sha256
17104 (base32 "1pzhamgni6k5hi6bbvlb3dm659pcllrrr3vhhn3rpjn238zxg5ar"))))
17105 (build-system asdf-build-system/sbcl)
17106 (native-inputs
17107 `(("stefil" ,sbcl-stefil)))
17108 (inputs
17109 `(("flexi-streams" ,sbcl-flexi-streams)
17110 ("split-sequence" ,sbcl-split-sequence)
17111 ("yacc" ,sbcl-cl-yacc)))
17112 (home-page "https://github.com/rotatef/gettext")
17113 (synopsis "Common Lisp implementation of Gettext")
17114 (description
17115 "This package provides GNU @code{gettext} completely implemented in
17116Common Lisp without any C library bindings.")
17117 (license license:lgpl3+))))
17118
17119(define-public ecl-gettext
17120 (sbcl-package->ecl-package sbcl-gettext))
17121
17122(define-public cl-gettext
17123 (sbcl-package->cl-source-package sbcl-gettext))
77bd1b5b
SH
17124
17125(define-public sbcl-parser-combinators
17126 (let ((commit "9c7569a4f6af5e60c0d3a51d9c15c16d1714c845")
17127 (revision "1"))
17128 (package
17129 (name "sbcl-parser-combinators")
17130 (version (git-version "0.0.0" revision commit))
17131 (source
17132 (origin
17133 (method git-fetch)
17134 (uri (git-reference
17135 (url "https://github.com/Ramarren/cl-parser-combinators")
17136 (commit commit)))
17137 (file-name (git-file-name "parser-combinators" version))
17138 (sha256
17139 (base32 "1k49vha5xm2cklayzpqwg73n4v93xwsbs5in6342pkkiimnidhs8"))))
17140 (build-system asdf-build-system/sbcl)
17141 (arguments
17142 ;; FIXME: (Sharlatan-20210523T184237+0100): Tests require `femlisp', which
17143 ;; is quite chunky not packaged system yet, enable them when it's packed.
17144 `(#:tests? #f
17145 #:test-asd-file "parser-combinators-tests.asd"))
17146 ;; (native-inputs
17147 ;; `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)
17148 ;; ("infix" ,sbcl-femlisp)))
17149 (inputs
17150 `(("alexandria" ,sbcl-alexandria)
17151 ("cl-containers" ,sbcl-cl-containers)
17152 ("cl-ppcre" ,sbcl-cl-ppcre)
17153 ("iterate" ,sbcl-iterate)))
17154 (home-page "https://github.com/Ramarren/cl-parser-combinators")
17155 (synopsis "Parser combinators in Common Lisp")
17156 (description
17157 "PARSER-COMBINATORS is a library implementing monadic parser
17158combinators in Common Lisp, similar in concept to Haskell Parsec system.")
17159 (license license:bsd-3))))
17160
17161(define-public ecl-parser-combinators
17162 (sbcl-package->ecl-package sbcl-parser-combinators))
17163
17164(define-public cl-parser-combinators
17165 (sbcl-package->cl-source-package sbcl-parser-combinators))
7af6a356
SH
17166
17167(define-public sbcl-cl-locale
17168 (let ((commit "0a36cc0dcf5e0a8c8bf97869cd6199980ca25eec")
17169 (revision "1"))
17170 (package
17171 (name "sbcl-cl-locale")
17172 (version (git-version "0.1.1" revision commit))
17173 (source
17174 (origin
17175 (method git-fetch)
17176 (uri (git-reference
17177 (url "https://github.com/fukamachi/cl-locale")
17178 (commit commit)))
17179 (file-name (git-file-name "cl-locale" version))
17180 (sha256
17181 (base32 "1rhannhpsw1yg1fpflam483a3w9qb1izgyvmnmiddv3dn4qsmn9p"))))
17182 (build-system asdf-build-system/sbcl)
17183 (arguments
17184 ;; FIXME: (Sharlatan-20210523T190658+0100): All tests passed ok but
17185 ;; successfully failed in the end:
17186 ;;
17187 ;; Summary:
17188 ;; All 1 file passed.
17189 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-DEPENDENCY
17190 ;; in thread #<SB-THREAD:THREAD "main thread" RUNNING {100B6C8253}>:
17191 ;; Component CL-LOCALE-ASD::CL-LOCALE-TEST not found, required by
17192 ;; #<SYSTEM "cl-locale">
17193 ;;
17194 `(#:tests? #f))
17195 (native-inputs
17196 `(("prove" ,sbcl-prove)
17197 ("flexi-streams" ,sbcl-flexi-streams)))
17198 (inputs
17199 `(("anaphora" ,sbcl-anaphora)
17200 ("arnesi" ,sbcl-arnesi)
17201 ("cl-annot" ,sbcl-cl-annot)
17202 ("cl-syntax" ,sbcl-cl-syntax)))
17203 (home-page "https://github.com/fukamachi/cl-locale")
17204 (synopsis "Internalization library for Common Lisp")
17205 (description
17206 "This package provides a Common Lisp translation library similar to
17207CL-I18N and CL-L10N.")
17208 (license license:llgpl))))
17209
17210(define-public ecl-cl-locale
17211 (sbcl-package->ecl-package sbcl-cl-locale))
17212
17213(define-public cl-locale
17214 (sbcl-package->cl-source-package sbcl-cl-locale))
a0dcb1aa
SH
17215
17216(define-public sbcl-cl-slice
17217 (let ((commit "c531683f287216aebbb0affbe090611fa1b5d697")
17218 (revision "1"))
17219 (package
17220 (name "sbcl-cl-slice")
17221 (version (git-version "0.1.0" revision commit))
17222 (source
17223 (origin
17224 (method git-fetch)
17225 (uri (git-reference
17226 (url "https://github.com/tpapp/cl-slice")
17227 (commit commit)))
17228 (file-name (git-file-name "cl-slice" version))
17229 (sha256
17230 (base32 "1ybznf4y5lda6bn163jcvj281qzhm24dfcwhbgxmm5n6f27gdccl"))))
17231 (build-system asdf-build-system/sbcl)
17232 (native-inputs
17233 `(("clunit" ,sbcl-clunit)))
17234 (inputs
17235 `(("alexandria" ,sbcl-alexandria)
17236 ("anaphora" ,sbcl-anaphora)
17237 ("let-plus" ,sbcl-let-plus)))
17238 (home-page "https://github.com/tpapp/cl-slice")
17239 (synopsis "Array slices for Common Lisp")
17240 (description
17241 "This package provides a DSL for array slices in Common Lisp.")
17242 (license license:expat))))
17243
17244(define-public ecl-cl-slice
17245 (sbcl-package->ecl-package sbcl-cl-slice))
17246
17247(define-public cl-slice
17248 (sbcl-package->cl-source-package sbcl-cl-slice))
3a89ff12
SH
17249
17250(define-public sbcl-djula
17251 (let ((commit "5df7af35a21503d468a878fc6029caa527a7d204")
17252 (revision "1"))
17253 (package
17254 (name "sbcl-djula")
17255 (version (git-version "0.2.0" revision commit))
17256 (source
17257 (origin
17258 (method git-fetch)
17259 (uri (git-reference
17260 (url "https://github.com/mmontone/djula")
17261 (commit commit)))
17262 (file-name (git-file-name "djula" version))
17263 (sha256
17264 (base32 "1lk2ypm3sacf60h96a7hv9jwjlxkl4k40yzdalmqdg548vrd1jjm"))))
17265 (build-system asdf-build-system/sbcl)
17266 (native-inputs
17267 `(("fiveam" ,sbcl-fiveam)))
17268 (inputs
17269 `(("access" ,sbcl-access)
17270 ("alexandria" ,sbcl-alexandria)
17271 ("anaphora" ,sbcl-anaphora)
17272 ("babel" ,sbcl-babel)
17273 ("cl-locale" ,sbcl-cl-locale)
17274 ("cl-ppcre" ,sbcl-cl-ppcre)
17275 ("cl-slice" ,sbcl-cl-slice)
17276 ("closer-mop" ,sbcl-closer-mop)
17277 ("gettext" ,sbcl-gettext)
17278 ("iterate" ,sbcl-iterate)
17279 ("local-time" ,sbcl-local-time)
17280 ("parser-combinators" ,sbcl-parser-combinators)
17281 ("split-sequence" ,sbcl-split-sequence)
17282 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
17283 (home-page "https://mmontone.github.io/djula/")
17284 (synopsis "Common Lisp port of the Django templating language")
17285 (description
17286 "This package provides a Common Lisp templating system based on Python
17287Django with a syntax similar to Python Jinja2.")
17288 (license license:expat))))
17289
17290(define-public ecl-djula
17291 (sbcl-package->ecl-package sbcl-djula))
17292
17293(define-public cl-djula
17294 (sbcl-package->cl-source-package sbcl-djula))
1ab3aab5
SH
17295
17296(define-public sbcl-for
17297 (let ((commit "2e4fcfa0f9c1d2f4559c58cef20ccefa50ba180d")
17298 (revision "1"))
17299 (package
17300 (name "sbcl-for")
17301 (version (git-version "1.1.0" revision commit))
17302 (source
17303 (origin
17304 (method git-fetch)
17305 (uri (git-reference
17306 (url "https://github.com/Shinmera/for")
17307 (commit commit)))
17308 (file-name (git-file-name "for" version))
17309 (sha256
17310 (base32 "1akz9ggh33x2cq3h0f1cd0p632v1mbagv3dzsb0r10bwg9lh3nmv"))))
17311 (build-system asdf-build-system/sbcl)
17312 (inputs
17313 `(("documentation-utils" ,sbcl-documentation-utils)
17314 ("form-fiddle" ,sbcl-form-fiddle)
17315 ("lambda-fiddle" ,sbcl-lambda-fiddle)))
17316 (home-page "https://shinmera.github.io/for/")
17317 (synopsis "Extensible iteration macro library")
17318 (description
17319 "For is a library for an extensible iteration macro. It allows you to write
17320concise looping constructs similar to @code{loop} and @code{iterate}. Unlike
17321loop however it is extensible and sensible, and unlike iterate it does not
17322require code-walking and is easier to extend.")
17323 (license license:zlib))))
17324
17325(define-public ecl-for
17326 (sbcl-package->ecl-package sbcl-for))
17327
17328(define-public cl-for
17329 (sbcl-package->cl-source-package sbcl-for))
23ab7067
SH
17330
17331(define-public sbcl-flare
17332 (let ((commit "4f9f17a4fc5b368c2a1988b9a20288695b8d8c48")
17333 (revision "1"))
17334 (package
17335 (name "sbcl-flare")
17336 (version (git-version "1.1.0" revision commit))
17337 (source
17338 (origin
17339 (method git-fetch)
17340 (uri (git-reference
17341 (url "https://github.com/Shinmera/flare")
17342 (commit commit)))
17343 (file-name (git-file-name "flare" version))
17344 (sha256
17345 (base32 "00nm3sjngbflj2gd5q0xs2m136w4kix6krww23nk64pkkyq2fs86"))))
17346 (build-system asdf-build-system/sbcl)
17347 (inputs
17348 `(("3d-vectors" ,sbcl-3d-vectors)
17349 ("array-utils" ,sbcl-array-utils)
17350 ("documentation-utils" ,sbcl-documentation-utils)
17351 ("for" ,sbcl-for)
17352 ("lambda-fiddle" ,sbcl-lambda-fiddle)
17353 ("trivial-garbage" ,sbcl-trivial-garbage)))
17354 (home-page "https://shinmera.github.io/flare/")
17355 (synopsis "Easy particle systems with fine grained control")
17356 (description
17357 "FLARE is a library designed to allow quick and precise particle effect
17358creations. It does not concern itself with displaying and only with the
17359management and movement of particles. As such, it can easily be integrated into
17360any existing or future application.")
17361 (license license:zlib))))
17362
17363(define-public ecl-flare
17364 (sbcl-package->ecl-package sbcl-flare))
17365
17366(define-public cl-flare
17367 (sbcl-package->cl-source-package sbcl-flare))
929b72dd
PN
17368
17369(define-public sbcl-simple-inferiors
17370 (let ((commit "deac886354e03f8a9502ce96f12a0459ce3be671"))
17371 (package
17372 (name "sbcl-simple-inferiors")
17373 (version (git-version "1.1.0" "1" commit))
17374 (source
17375 (origin
17376 (method git-fetch)
17377 (uri (git-reference
17378 (url "https://github.com/Shinmera/simple-inferiors")
17379 (commit commit)))
17380 (file-name (git-file-name name version))
17381 (sha256
17382 (base32 "08vsvqv3768bwb2y8mwxbw5wyqzzwqr7rd004r6gafdgf9p9mcx3"))))
17383 (build-system asdf-build-system/sbcl)
17384 (inputs
17385 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
17386 ("documentation-utils" ,sbcl-documentation-utils)))
17387 (home-page "https://shinmera.github.io/simple-inferiors/")
17388 (synopsis "Common Lisp library to use inferior processes")
17389 (description
17390 "This is a library to allow easy handling of external processes, and
17391primarily to get their output. It handles proper copying of the standard and
17392error outputs of the process simultaneously, both in a sequential and parallel
17393fashion. It also features a lazy directory switching mechanism, to avoid
17394running into parallelism problems when having to change directory.")
17395 (license license:zlib))))
17396
17397(define-public ecl-simple-inferiors
17398 (sbcl-package->ecl-package sbcl-simple-inferiors))
17399
17400(define-public cl-simple-inferiors
17401 (sbcl-package->cl-source-package sbcl-simple-inferiors))
80a6de6b
PN
17402
17403(define-public sbcl-legit
17404 (let ((commit "48d50a20d8dcbd941d119683463b7c8257ba6458"))
17405 (package
17406 (name "sbcl-legit")
17407 (version (git-version "1.0.0" "1" commit))
17408 (source
17409 (origin
17410 (method git-fetch)
17411 (uri (git-reference
17412 (url "https://github.com/Shinmera/legit")
17413 (commit commit)))
17414 (file-name (git-file-name name version))
17415 (sha256
17416 (base32 "181aqpj4zkfk1aavj5jw8rym6gw4ma3gd64z2h5fpryabgmwk236"))))
17417 (build-system asdf-build-system/sbcl)
17418 (inputs
17419 `(("simple-inferiors" ,sbcl-simple-inferiors)
17420 ("lambda-fiddle" ,sbcl-lambda-fiddle)
17421 ("cl-ppcre" ,sbcl-cl-ppcre)
17422 ("documentation-utils" ,sbcl-documentation-utils)))
17423 (home-page "https://shinmera.github.io/legit/")
17424 (synopsis "Interface to the git binary")
17425 (description
17426 "This is an interface to the @code{git} binary to make controlling it
17427from within Common Lisp much easier. It might not ever reach full coverage of
17428all features given git's immense size, but features will be added as they are
17429needed. The low-level command API is fully mapped however.")
17430 (license license:zlib))))
17431
17432(define-public ecl-legit
17433 (sbcl-package->ecl-package sbcl-legit))
17434
17435(define-public cl-legit
17436 (sbcl-package->cl-source-package sbcl-legit))
c03da7ed
SH
17437
17438(define-public sbcl-flow
17439 (let ((commit "6d925af009cdfe033650d7048197a5e6ee937d15")
17440 (revision "1"))
17441 (package
17442 (name "sbcl-flow")
17443 (version (git-version "1.0.0" revision commit))
17444 (source
17445 (origin
17446 (method git-fetch)
17447 (uri (git-reference
17448 (url "https://github.com/Shinmera/flow")
17449 (commit commit)))
17450 (file-name (git-file-name "flow" version))
17451 (sha256
17452 (base32 "0ysw1kwiqlf8kzllhnz8v3q40dmvwf83fzq8bfkbmwy5hfjh3pxp"))))
17453 (build-system asdf-build-system/sbcl)
17454 (arguments
17455 ;; FIXME: (Sharlatan-20210527T203118+0100): FLOW-VISUALIZER requires
17456 ;; COMMONQT which is not packed yet and required tweaks with QT. Remove
17457 ;; this when it's ready.
17458 `(#:asd-files '("flow.asd")))
17459 (inputs
17460 `(("closer-mop" ,sbcl-closer-mop)
17461 ("documentation-utils" ,sbcl-documentation-utils)))
17462 (home-page "https://shinmera.github.io/flow/")
17463 (synopsis "Tools for the representation of graphs and flowcharts")
17464 (description
17465 "FLOW is a flowchart graph library. Unlike other graphing libraries,
17466this one focuses on nodes in a graph having distinct @code{ports} through which
17467connections to other nodes are formed. This helps in many concrete scenarios
17468where it is important to distinguish not only which nodes are connected, but
17469also how they are connected to each other.
17470
17471Particularly, a lot of data flow and exchange problems can be reduced to such
17472a @code{flowchart}. For example, an audio processing library may present its
17473pipeline as a flowchart of segments that communicate with each other through
17474audio sample buffers. Flow gives a convenient view onto this kind of problem,
17475and even allows the generic visualisation of graphs in this format.")
17476 (license license:zlib))))
17477
17478(define-public ecl-flow
17479 (sbcl-package->ecl-package sbcl-flow))
17480
17481(define-public cl-flow
17482 (sbcl-package->cl-source-package sbcl-flow))
901ceafa
SH
17483
17484(define-public sbcl-cl-glfw3
17485 (let ((commit "32c3f34d592d55ee7ce932ed85804c1a9c4158c6")
17486 (revision "1"))
17487 (package
17488 (name "sbcl-cl-glfw3")
17489 (version (git-version "0.0.0" revision commit))
17490 (source
17491 (origin
17492 (method git-fetch)
17493 (uri (git-reference
17494 (url "https://github.com/AlexCharlton/cl-glfw3")
17495 (commit commit)))
17496 (file-name (git-file-name "cl-glfw3" version))
17497 (sha256
17498 (base32 "1wzr43nckdx4rlgxzhm1r4kfc264q969mc43y0js9ramh7l8gba5"))))
17499 (build-system asdf-build-system/sbcl)
17500 (arguments
17501 `(#:phases
17502 (modify-phases %standard-phases
17503 (add-after 'unpack 'patch-glfw-lib-path
17504 (lambda* (#:key inputs #:allow-other-keys)
17505 (substitute* "glfw-bindings.lisp"
17506 (("libglfw.so.3" all)
17507 (string-append (assoc-ref inputs "glfw") "/lib/" all))))))))
17508 (inputs
17509 `(("alexandria" ,sbcl-alexandria)
17510 ("cffi" ,sbcl-cffi)
17511 ("cl-opengl" ,sbcl-cl-opengl)
17512 ("glfw" ,glfw)
17513 ("trivial-main-thread" ,sbcl-trivial-main-thread)))
17514 (home-page "https://github.com/AlexCharlton/cl-glfw3")
17515 (synopsis "Common Lisp bindings to GLFW version 3.x")
17516 (description
17517 "This package provides a Common Lisp bindings to @code{glfw}, an OpenGL
17518application development library.")
17519 (license license:bsd-2))))
17520
17521(define-public ecl-cl-glfw3
17522 (sbcl-package->ecl-package sbcl-cl-glfw3))
17523
17524(define-public cl-glfw3
17525 (sbcl-package->cl-source-package sbcl-cl-glfw3))
7cf38604
SH
17526
17527(define-public sbcl-chirp
17528 (let ((commit "01c79fa41939688216d1f86d0766a687becb0654")
17529 (revision "1"))
17530 (package
17531 (name "sbcl-chirp")
17532 (version (git-version "0.2.0" revision commit))
17533 (source
17534 (origin
17535 (method git-fetch)
17536 (uri (git-reference
17537 (url "https://github.com/Shinmera/chirp")
17538 (commit commit)))
17539 (file-name (git-file-name "chirp" version))
17540 (sha256
17541 (base32 "10xlz1vwdv3jv48kmpndpnrg6672m0r5vsjgm2pksfl8bc05j2m0"))))
17542 (build-system asdf-build-system/sbcl)
17543 (arguments
17544 `(#:asd-systems '("chirp-core" "chirp-dexador" "chirp-drakma" "chirp")))
17545 (inputs
17546 `(("alexandria" ,sbcl-alexandria)
17547 ("babel" ,sbcl-babel)
17548 ("cl-base64" ,sbcl-cl-base64)
17549 ("cl-ppcre" ,sbcl-cl-ppcre)
17550 ("dexador" ,sbcl-dexador)
17551 ("drakma" ,sbcl-drakma)
17552 ("flexi-streams" ,sbcl-flexi-streams)
17553 ("ironclad" ,sbcl-ironclad)
17554 ("local-time" ,sbcl-local-time)
17555 ("split-sequence" ,sbcl-split-sequence)
17556 ("uuid" ,sbcl-uuid)
17557 ("yason" ,sbcl-yason)))
17558 (home-page "https://shinmera.github.io/chirp/")
17559 (synopsis "Twitter client library for Common Lisp")
17560 (description
17561 "This package provides a Common Lisp Twitter client featuring full API
17562coverage.")
17563 (license license:zlib))))
17564
17565(define-public ecl-chirp
17566 (sbcl-package->ecl-package sbcl-chirp))
17567
17568(define-public cl-chirp
17569 (sbcl-package->cl-source-package sbcl-chirp))
5cf9137c
SH
17570
17571(define-public sbcl-cepl
17572 (let ((commit "d1a10b6c8f4cedc07493bf06aef3a56c7b6f8d5b")
17573 (revision "1"))
17574 (package
17575 (name "sbcl-cepl")
17576 (version (git-version "0.0.0" revision commit))
17577 (source
17578 (origin
17579 (method git-fetch)
17580 (uri (git-reference
17581 (url "https://github.com/cbaggers/cepl")
17582 (commit commit)))
17583 (file-name (git-file-name "cepl" version))
17584 (sha256
17585 (base32 "0izbw2advqm3wailj3dpq6zqfrfirwn14pw5qmqh8i71r51xwmm2"))))
17586 (build-system asdf-build-system/sbcl)
17587 (arguments
17588 `(#:asd-files '("cepl.asd" "cepl.build.asd")))
17589 (inputs
17590 `(("alexandria" ,sbcl-alexandria)
17591 ("bordeaux-threads" ,sbcl-bordeaux-threads)
17592 ("cffi" ,sbcl-cffi)
17593 ("cl-opengl" ,sbcl-cl-opengl)
17594 ("cl-ppcre" ,sbcl-cl-ppcre)
17595 ("documentation-utils" ,sbcl-documentation-utils)
17596 ("float-features" ,sbcl-float-features)
17597 ("ieee-floats" ,sbcl-ieee-floats)
17598 ("split-sequence" ,sbcl-split-sequence)
17599 ("varjo" ,sbcl-varjo)))
17600 (propagated-inputs
17601 `(("quickproject" ,sbcl-quickproject)))
17602 (home-page "https://github.com/cbaggers/cepl")
17603 (synopsis "Development playground to work with OpenGL")
17604 (description
17605 "CEPL (Code Evaluate Play Loop ) is a lispy and REPL-friendly Common Lisp
17606library for working with OpenGL.
17607
17608Its definition of success is making the user feel that GPU programming has
17609always been part of the languages standard.
17610
17611The usual approach to using CEPL is to start it at the beginning of your Lisp
17612session and leave it open for the duration of your work. You can then treat the
17613window it creates as just another output for your graphics, analogous to how
17614@code{*standard-output*} is treated for text.")
17615 (license license:bsd-2))))
17616
17617(define-public ecl-cepl
17618 (sbcl-package->ecl-package sbcl-cepl))
17619
17620(define-public cl-cepl
17621 (sbcl-package->cl-source-package sbcl-cepl))
b1a8822e
PN
17622
17623(define-public sbcl-stmx
17624 ;; No release for years and recent commits contain fixes for revent SBCL versions.
17625 (let ((commit "a7bb44082cd53ee968965adff03d4351750711a1")
17626 (revision "1"))
17627 (package
17628 (name "sbcl-stmx")
17629 (version (git-version "2.0.5" revision commit))
17630 (source
17631 (origin
17632 (method git-fetch)
17633 (uri (git-reference
17634 (url "https://github.com/cosmos72/stmx/")
17635 (commit commit)))
17636 (file-name (git-file-name name version))
17637 (sha256
17638 (base32 "1hfmh4vj271jdilir97qs6nqbi5nmn5alyls0w3d3xxqwi6ffqjs"))))
17639 (build-system asdf-build-system/sbcl)
17640 (inputs
17641 `(("alexandria" ,sbcl-alexandria)
17642 ("bordeaux-threads" ,sbcl-bordeaux-threads)
17643 ("log4cl" ,sbcl-log4cl)
17644 ("closer-mop" ,sbcl-closer-mop)
17645 ("trivial-garbage" ,sbcl-trivial-garbage)))
17646 (home-page "https://stmx.org/")
17647 (synopsis "High performance Transactional Memory for Common Lisp")
17648 (description
17649 "STMX is a high-performance implementation of composable Transactional
17650Memory, which is a concurrency control mechanism aimed at making concurrent
17651programming easier to write and understand. Instead of traditional lock-based
17652programming, one programs with atomic memory transactions, which can be
17653composed together to make larger atomic memory transactions.
17654
17655A memory transaction gets committed if it returns normally, while it gets
17656rolled back if it signals an error (and the error is propagated to the
17657caller).
17658
17659Finally, memory transactions can safely run in parallel in different threads,
17660are re-executed from the beginning in case of conflicts or if consistent reads
17661cannot be guaranteed, and their effects are not visible from other threads
17662until they commit.
17663
17664Memory transactions give freedom from deadlocks, are immune to thread-safety
17665bugs and race conditions, provide automatic roll-back on failure, and aim at
17666resolving the tension between granularity and concurrency.")
17667 (license license:llgpl))))
659cc959
PN
17668
17669(define-public ecl-stmx
17670 (sbcl-package->ecl-package sbcl-stmx))
17671
17672(define-public cl-stmx
17673 (sbcl-package->cl-source-package sbcl-stmx))
9d48a179
PN
17674
17675(define-public sbcl-binding-arrows
17676 ;; Fork of sbcl-arrows that does not have a new tag.
17677 (let ((commit "d19364ec8850880ed6e42078ccaa2ed9114dc83a")
17678 (revision "1"))
17679 (package
17680 (name "sbcl-binding-arrows")
17681 (version (git-version "1.0.0" revision commit))
17682 (source
17683 (origin
17684 (method git-fetch)
17685 (uri (git-reference
17686 (url "https://github.com/phoe/binding-arrows")
17687 (commit commit)))
17688 (file-name (git-file-name name version))
17689 (sha256
17690 (base32 "0hqikgzic7kjq2n1d924yldfm30qz67cmsk6gghi9cbmxkwdlwp8"))))
17691 (build-system asdf-build-system/sbcl)
17692 (native-inputs
17693 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
17694 (home-page "https://github.com/phoe/binding-arrows")
17695 (synopsis "Threading macros based on binding anonymous variables")
17696 (description
17697 "This system implements binding threading macros -- a kind of threading
17698macros with different semantics than classical, Clojure core threading macros
17699or their extension, swiss-arrows. Two Common Lisp implementations of those are
17700@code{arrows} and @code{arrow-macros}.
17701
17702This system is a fork of @code{arrows} with changes in semantics that make it
17703impossible to merge back upstream.")
17704 (license license:expat))))
17705
17706(define-public ecl-binding-arrows
17707 (sbcl-package->ecl-package sbcl-binding-arrows))
17708
17709(define-public cl-binding-arrows
17710 (sbcl-package->cl-source-package sbcl-binding-arrows))
9903342a
PN
17711
17712(define-public sbcl-atomics
17713 ;; No release in years.
17714 (let ((commit "9ee0bdebcd2bb9b242671a75460db13fbf45454c")
17715 (revision "1"))
17716 (package
17717 (name "sbcl-atomics")
17718 (version (git-version "1.0.0" revision commit))
17719 (source
17720 (origin
17721 (method git-fetch)
17722 (uri (git-reference
17723 (url "https://github.com/Shinmera/atomics")
17724 (commit commit)))
17725 (file-name (git-file-name "atomics" version))
17726 (sha256
17727 (base32 "0mp5jdqq0aamdhgnvw149cqqi3zg7dkkibp25qi4rafw1fnpd40z"))))
17728 (build-system asdf-build-system/sbcl)
17729 (inputs
17730 `(("documentation-utils" ,sbcl-documentation-utils)))
17731 (native-inputs
17732 `(("parachute" ,sbcl-parachute)))
17733 (home-page "https://shinmera.github.io/atomics/")
17734 (synopsis "Common Lisp portability layer for atomic operations")
17735 (description
17736 "This is a library for access to atomic operation primitives such as
17737compare-and-swap. It aims to be a rather thin layer over what the
17738implementations offer.")
17739 (license license:zlib))))
17740
17741(define-public ecl-atomics
17742 (sbcl-package->ecl-package sbcl-atomics))
17743
17744(define-public cl-atomics
17745 (sbcl-package->cl-source-package sbcl-atomics))
3b45aa16
PN
17746
17747(define-public sbcl-cl-mock
17748 ;; .asd version only got updated recently, despired the old GitHug "1.0.1" release.
17749 (let ((commit "7988dca2093358911b67597a2cd1570c785dfe76"))
17750 (package
17751 (name "sbcl-cl-mock")
17752 (version (git-version "1.0.1" "1" commit))
17753 (source
17754 (origin
17755 (method git-fetch)
17756 (uri (git-reference
17757 (url "https://github.com/Ferada/cl-mock/")
17758 (commit commit)))
17759 (file-name (git-file-name name version))
17760 (sha256
17761 (base32 "0f40wikcf783jx26ip0nnhwjjfjvjiw7njqsqrb6kaphc8bgw0i1"))))
17762 (build-system asdf-build-system/sbcl)
17763 (inputs
17764 `(("alexandria" ,sbcl-alexandria)
17765 ("closer-mop" ,sbcl-closer-mop)
17766 ("trivia" ,sbcl-trivia)))
17767 (native-inputs
17768 `(("fiveam" ,sbcl-fiveam)))
17769 (home-page "https://github.com/Ferada/cl-mock")
17770 (synopsis "Mocking functions for Common Lisp testing")
17771 (description
17772 "This small library provides a way to replace the actual implementation
17773of either regular or generic functions with mocks.")
17774 (license license:agpl3))))
17775
17776(define-public ecl-cl-mock
17777 (sbcl-package->ecl-package sbcl-cl-mock))
17778
17779(define-public cl-mock
17780 (sbcl-package->cl-source-package sbcl-cl-mock))
40098148
PN
17781
17782(define-public sbcl-cl-murmurhash
17783 ;; No release.
17784 (let ((commit "5433f5e95f1cce63a81259a471150834c6a59364")
17785 (revision "1"))
17786 (package
17787 (name "sbcl-cl-murmurhash")
17788 (version (git-version "0.0.0" revision commit))
17789 (home-page "https://github.com/ruricolist/cl-murmurhash/")
17790 (source
17791 (origin
17792 (method git-fetch)
17793 (uri (git-reference
17794 (url home-page)
17795 (commit commit)))
17796 (file-name (git-file-name name version))
17797 (sha256
17798 (base32
17799 "0251r0mpjm0y3qsm4lm7ncvrkxvgwc53spdm1p2mpayhvkkqqsws"))))
17800 (build-system asdf-build-system/sbcl)
17801 (inputs
17802 `(("babel" ,sbcl-babel)))
17803 (native-inputs
17804 `(("fiveam" ,sbcl-fiveam)))
17805 (synopsis "32-bit version of Murmurhash3 for Common Lisp")
17806 (description
17807 "This Common Lisp package offers an implementation of the 32-bit
17808variant of MurmurHash3 (@url{https://github.com/aappleby/smhasher}), a fast
17809non-crytographic hashing algorithm.")
17810 (license license:expat))))
17811
17812(define-public ecl-cl-murmurhash
17813 (sbcl-package->ecl-package sbcl-cl-murmurhash))
17814
17815(define-public cl-murmurhash
17816 (sbcl-package->cl-source-package sbcl-cl-murmurhash))
008da158
PN
17817
17818(define-public sbcl-cl-hamt
17819 ;; No release
17820 (let ((commit "7a99eaaca1f952029def9ad5a2b80a612a712208"))
17821 (package
17822 (name "sbcl-cl-hamt")
17823 (version (git-version "0.0.0" "1" commit))
17824 (source
17825 (origin
17826 (method git-fetch)
17827 (uri (git-reference
17828 (url "https://github.com/danshapero/cl-hamt/")
17829 (commit commit)))
17830 (file-name (git-file-name name version))
17831 (sha256
17832 (base32 "1ycbd73ykfj5j9sdhlzamyv18qbjj6xqf7fhm4fa0nsyr6sr3rf5"))))
17833 (build-system asdf-build-system/sbcl)
17834 (inputs
17835 `(("cl-murmurhash" ,sbcl-cl-murmurhash)))
17836 (native-inputs
17837 `(("fiveam" ,sbcl-fiveam)))
17838 (home-page "https://github.com/danshapero/cl-hamt")
17839 (synopsis "Dictionary & set data structure using hash array-mapped tries")
17840 (description
17841 "This library provides purely functional dictionaries and sets in
17842Common Lisp based on the hash array-mapped trie data structure.")
17843 (license license:bsd-3))))
17844
17845(define-public ecl-cl-hamt
17846 (sbcl-package->ecl-package sbcl-cl-hamt))
17847
17848(define-public cl-hamt
17849 (sbcl-package->cl-source-package sbcl-cl-hamt))
71c3f954
PN
17850
17851(define-public sbcl-cl-gserver
17852 (package
17853 (name "sbcl-cl-gserver")
4dc03371 17854 (version "1.8.0")
71c3f954
PN
17855 (source
17856 (origin
17857 (method git-fetch)
17858 (uri (git-reference
17859 (url "https://github.com/mdbergmann/cl-gserver")
17860 (commit version)))
17861 (file-name (git-file-name "cl-gserver" version))
17862 (sha256
4dc03371 17863 (base32 "1bfz7z8v417dvsp1jz76ir3ihcs8g7zis2d56xx1dpzqzjd95g7z"))))
71c3f954
PN
17864 (build-system asdf-build-system/sbcl)
17865 (inputs
17866 `(("alexandria" ,sbcl-alexandria)
17867 ("bordeaux-threads" ,sbcl-bordeaux-threads)
17868 ("lparallel" ,sbcl-lparallel)
17869 ("cl-speedy-queue" ,sbcl-cl-speedy-queue)
17870 ("log4cl" ,sbcl-log4cl)
17871 ("str" ,sbcl-cl-str)
17872 ("blackbird" ,sbcl-blackbird)
17873 ("cl-hamt" ,sbcl-cl-hamt)
17874 ("binding-arrows" ,sbcl-binding-arrows)
17875 ("atomics" ,sbcl-atomics)))
17876 (native-inputs
17877 `(("fiveam" ,sbcl-fiveam)
17878 ("mock" ,sbcl-cl-mock)))
17879 (home-page "https://mdbergmann.github.io/cl-gserver/index.html")
17880 (synopsis "Actor framework for easy access to state and async operations")
17881 (description
17882 "@code{cl-gserver} is a 'message passing' library / framework with actors
17883similar to Erlang or Akka. It supports creating reactive systems for parallel
17884computing and event based message handling.")
17885 (license license:agpl3)))
17886
17887(define-public ecl-cl-gserver
17888 (sbcl-package->ecl-package sbcl-cl-gserver))
17889
17890(define-public cl-gserver
17891 (sbcl-package->cl-source-package sbcl-cl-gserver))
ad4a46b0
SH
17892
17893(define-public sbcl-cl-posix-mqueue
17894 (let ((commit "8977370c7206d1f62bd1be80f4254af40654b83f")
17895 (revision "1"))
17896 (package
17897 (name "sbcl-cl-posix-mqueue")
17898 (version (git-version "0.1.2" revision commit))
17899 (source
17900 (origin
17901 (method git-fetch)
17902 (uri (git-reference
17903 (url "https://github.com/xFA25E/cl-posix-mqueue")
17904 (commit commit)))
17905 (file-name (git-file-name "cl-posix-mqueue" version))
17906 (sha256
17907 (base32 "04519rg8vc782z097dzlb8nx0skab2fy2zd0m60r6mz2nw8xdvh6"))))
17908 (build-system asdf-build-system/sbcl)
17909 (arguments
17910 `(#:test-asd-file "cl-posix-mqueue-tests.asd"
17911 #:phases
17912 (modify-phases %standard-phases
17913 (add-after 'unpack 'patch-librt-path
17914 (lambda* (#:key inputs #:allow-other-keys)
17915 (substitute* "src/spec.lisp"
17916 (("librt.so" all)
17917 (string-append (assoc-ref inputs "glibc") "/lib/" all))))))))
17918 (native-inputs
17919 `(("cl-ppcre" ,sbcl-cl-ppcre)
17920 ("rove" ,sbcl-rove)))
17921 (inputs
17922 `(("alexandria" ,sbcl-alexandria)
17923 ("babel" ,sbcl-babel)
17924 ("cffi" ,sbcl-cffi)
17925 ("glibc" ,glibc)
17926 ("local-time" ,sbcl-local-time)))
17927 (home-page "https://github.com/xFA25E/cl-posix-mqueue")
17928 (synopsis "Common Lisp binding to POSIX mqueue")
17929 (description
17930 "This package provides Common Lisp bindings to POSIX message queue, an
17931@acronym{IPC, Inter-Process Communication} method that is easy to use and quick
17932to setup.")
17933 (license license:gpl3))))
17934
17935(define-public ecl-cl-posix-mqueue
17936 (sbcl-package->ecl-package sbcl-cl-posix-mqueue))
17937
17938(define-public cl-posix-mqueue
17939 (sbcl-package->cl-source-package sbcl-cl-posix-mqueue))
444f8438
SH
17940
17941(define-public sbcl-sdl2
17942 (let ((commit "bb2aa2a41cf799e3bb1ddf50de41fe389c6db668")
17943 (revision "1"))
17944 (package
17945 (name "sbcl-sdl2")
17946 (version (git-version "0.0.0" revision commit))
17947 (source
17948 (origin
17949 (method git-fetch)
17950 (uri (git-reference
17951 (url "https://github.com/lispgames/cl-sdl2")
17952 (commit commit)))
17953 (file-name (git-file-name "cl-sdl2" version))
17954 (sha256
17955 (base32 "1a4904310z2wwq80grnlixmyz30452vgd4lh74y105j2yrr43z97"))))
17956 (build-system asdf-build-system/sbcl)
17957 (arguments
17958 `(#:phases
17959 (modify-phases %standard-phases
17960 (add-after 'unpack 'fix-paths
17961 (lambda* (#:key inputs #:allow-other-keys)
17962 (substitute* "src/library.lisp"
17963 (("libSDL2-2.0.so.0" all)
17964 (string-append (assoc-ref inputs "libsdl2") "/lib/" all)))
17965 #t)))))
17966 (inputs
17967 `(("alexandria" ,sbcl-alexandria)
17968 ("cl-autowrap" ,sbcl-cl-autowrap)
17969 ("cl-ppcre" ,sbcl-cl-ppcre)
17970 ("libsdl2" ,sdl2)
17971 ("trivial-channels" ,sbcl-trivial-channels)
17972 ("trivial-features" ,sbcl-trivial-features)))
17973 (home-page "https://github.com/lispgames/cl-sdl2")
17974 (synopsis "Common Lisp bindings for SDL2 using C2FFI")
17975 (description
17976 "This package provides a Common Lisp wrapper system for the SDL 2.0
17977C Library.")
17978 (license license:expat))))
17979
17980(define-public ecl-sdl2
17981 (sbcl-package->ecl-package sbcl-sdl2))
17982
17983(define-public cl-sdl2
17984 (sbcl-package->cl-source-package sbcl-sdl2))
d09184ce
SH
17985
17986(define-public sbcl-cl-gamepad
17987 (let ((commit "7e12137927b42db064ffbf9ea34bd4790ad4bb33")
17988 (revision "1"))
17989 (package
17990 (name "sbcl-cl-gamepad")
17991 (version (git-version "3.0.0" revision commit))
17992 (source
17993 (origin
17994 (method git-fetch)
17995 (uri (git-reference
17996 (url "https://github.com/Shirakumo/cl-gamepad")
17997 (commit commit)))
17998 (file-name (git-file-name "cl-gamepad" version))
17999 (sha256
18000 (base32 "1gzx590i7s81qmramnjvfzrrq5yppas8yxqq1jl3yzqhhjwjfvkd"))))
18001 (build-system asdf-build-system/sbcl)
18002 (arguments
18003 `(#:phases
18004 (modify-phases %standard-phases
18005 (add-after 'unpack 'patch-evdev-lib-path
18006 (lambda* (#:key inputs #:allow-other-keys)
18007 (substitute* "evdev-cffi.lisp"
18008 (("libevdev.so" all)
18009 (string-append (assoc-ref inputs "libevdev")
18010 "/lib/" all)))))
18011 ;; Here we use a custom build phase to work around a compilation bug.
18012 ;; Using 'asdf:compile-system' fails, but using 'asdf:load-system'
18013 ;; succeeds (and also compiles the system).
18014 ;; See https://github.com/Shirakumo/cl-gamepad/issues/8
18015 (replace 'build
18016 (lambda* (#:key outputs #:allow-other-keys)
18017 (let* ((out (assoc-ref outputs "out"))
18018 (source-path (string-append out
18019 "/share/common-lisp/"
18020 (%lisp-type)))
18021 (translations `((,source-path
18022 :**/ :*.*.*)
18023 (,(string-append out
18024 "/lib/common-lisp/"
18025 (%lisp-type))
18026 :**/ :*.*.*))))
18027 (setenv "ASDF_OUTPUT_TRANSLATIONS"
18028 (format #f "~S" `(:output-translations
18029 ,translations
18030 :inherit-configuration)))
18031 (setenv "HOME" (assoc-ref outputs "out"))
18032 (with-directory-excursion (string-append source-path
18033 "/cl-gamepad")
18034 (invoke (%lisp-type)
18035 "--eval" "(require :asdf)"
18036 "--eval" "(asdf:load-asd (truename \"cl-gamepad.asd\"))"
18037 "--eval" "(asdf:load-system :cl-gamepad)"
18038 "--eval" "(quit)"))))))))
18039 (inputs
18040 `(("cffi" ,sbcl-cffi)
18041 ("documentation-utils" ,sbcl-documentation-utils)
18042 ("libevdev" ,libevdev)
18043 ("trivial-features" ,sbcl-trivial-features)))
18044 (home-page "https://shirakumo.github.io/cl-gamepad/")
18045 (synopsis "Library for access to gamepads and joystick input devices")
18046 (description
18047 "This is a library to provide cross-platform access to gamepads,
18048joysticks, and other such HID devices.")
18049 (license license:zlib))))
18050
18051(define-public ecl-cl-gamepad
18052 (sbcl-package->ecl-package sbcl-cl-gamepad))
18053
18054(define-public cl-gamepad
18055 (sbcl-package->cl-source-package sbcl-cl-gamepad))
88cde3c6
SH
18056
18057(define-public sbcl-trial
18058 (let ((commit "ba178cac3a5528c570c7e8dad66c58cc770db53a")
18059 (revision "1"))
18060 (package
18061 (name "sbcl-trial")
18062 (version (git-version "1.2.0" revision commit))
18063 (source
18064 (origin
18065 (method git-fetch)
18066 (uri (git-reference
18067 (url "https://github.com/Shirakumo/trial")
18068 (commit commit)))
18069 (file-name (git-file-name "trial" version))
18070 (sha256
18071 (base32 "1vpv9nrpq93fz1c5cyi1hazaaz9ijbrf1l7zwp7gammndr5v028r"))))
18072 (build-system asdf-build-system/sbcl)
18073 (native-inputs
18074 `(("trivial-features" ,sbcl-trivial-features)))
18075 (inputs
18076 `(("alexandria" ,sbcl-alexandria)
18077 ("3d-matrices" ,sbcl-3d-matrices)
18078 ("3d-vectors" ,sbcl-3d-vectors)
18079 ("bordeaux-threads" ,sbcl-bordeaux-threads)
18080 ("cl-gamepad" ,sbcl-cl-gamepad)
18081 ("cl-jpeg" ,sbcl-cl-jpeg)
18082 ("cl-opengl" ,sbcl-cl-opengl)
18083 ("cl-ppcre" ,sbcl-cl-ppcre)
18084 ("cl-tga" ,sbcl-cl-tga)
18085 ("closer-mop" ,sbcl-closer-mop)
18086 ("deploy" ,sbcl-deploy)
18087 ("fast-io" ,sbcl-fast-io)
18088 ("flare" ,sbcl-flare)
18089 ("float-features" ,sbcl-float-features)
18090 ("flow" ,sbcl-flow)
18091 ("for" ,sbcl-for)
18092 ("form-fiddle" ,sbcl-form-fiddle)
18093 ("glsl-toolkit" ,sbcl-glsl-toolkit)
18094 ("ieee-floats" ,sbcl-ieee-floats)
18095 ("jsown" ,sbcl-jsown)
18096 ("lambda-fiddle" ,sbcl-lambda-fiddle)
18097 ("lquery" ,sbcl-lquery)
18098 ("messagebox" ,sbcl-messagebox)
18099 ("mmap" ,sbcl-mmap)
18100 ("pathname-utils" ,sbcl-pathname-utils)
18101 ("pngload" ,sbcl-pngload)
18102 ("retrospectiff" ,sbcl-retrospectiff)
18103 ("static-vectors" ,sbcl-static-vectors)
18104 ("terrable" ,sbcl-terrable)
18105 ("trivial-garbage" ,sbcl-trivial-garbage)
18106 ("trivial-indent" ,sbcl-trivial-indent)
18107 ("verbose" ,sbcl-verbose)
18108 ("zpng" ,sbcl-zpng)))
18109 (home-page "https://github.com/Shirakumo/trial")
18110 (synopsis "Common Lisp game engine")
18111 (description
18112 "Trial is a game engine written in Common Lisp. Unlike many other
18113engines, it is meant to be more of a loose connection of components that can be
18114fit together as required by any particular game.")
18115 (license license:zlib))))
18116
18117(define-public ecl-trial
18118 (sbcl-package->ecl-package sbcl-trial))
18119
18120(define-public cl-trial
18121 (sbcl-package->cl-source-package sbcl-trial))
e101a117
SH
18122
18123(define-public sbcl-org-sampler
18124 (let ((commit "ee135a417750e5b1d810bb9574eb85223cb3038a")
18125 (revision "1"))
18126 (package
18127 (name "sbcl-org-sampler")
18128 (version (git-version "0.2.1" revision commit))
18129 (source
18130 (origin
18131 (method git-fetch)
18132 (uri (git-reference
18133 (url "https://github.com/jphmrst/cl-org-sampler")
18134 (commit commit)))
18135 (file-name (git-file-name "cl-org-sampler" version))
18136 (sha256
18137 (base32 "1dg029in14928qfxvfshyxmdwhzskzhxx3na0zy98ybx69b21qla"))))
18138 (build-system asdf-build-system/sbcl)
18139 (inputs
18140 `(("iterate" ,sbcl-iterate)))
18141 (home-page "https://github.com/jphmrst/cl-org-sampler")
18142 (synopsis "Extracting Common Lisp docstrings as Emacs Org-mode documents")
18143 (description
18144 "ORG-SAMPLER allows using Lisp docstrings and reflection to make org-mode
18145text for inclusion into a larger document.")
18146 (license license:llgpl))))
18147
18148(define-public ecl-org-sampler
18149 (sbcl-package->ecl-package sbcl-org-sampler))
18150
18151(define-public cl-org-sampler
18152 (sbcl-package->cl-source-package sbcl-org-sampler))
a3fff666
PN
18153
18154(define-public sbcl-acl-compat
18155 ;; There does not seem to be proper releases.
18156 (let ((commit "cac1d6920998ddcbee8310a873414732e707d8e5"))
18157 (package
18158 (name "sbcl-acl-compat")
18159 (version (git-version "0.1.1" "1" commit))
18160 (source
18161 (origin
18162 (method git-fetch)
18163 (uri (git-reference
18164 (url "git://git.code.sf.net/p/portableaserve/git")
18165 (commit commit)))
18166 (file-name (git-file-name "acl-compat" version))
18167 (sha256
18168 (base32 "0ak6mqp84sjr0a7h5svr16vra4bf4fcx6wpir0n88dc1vjwy5xqa"))))
18169 (build-system asdf-build-system/sbcl)
18170 (arguments
18171 `(#:phases
18172 (modify-phases %standard-phases
18173 (add-after 'unpack 'cd-acl-compat
18174 (lambda _
18175 (chdir "acl-compat")
18176 #t)))))
18177 (inputs
18178 `(("puri" ,sbcl-puri)
18179 ("cl-ppcre" ,sbcl-cl-ppcre)
18180 ("ironclad" ,sbcl-ironclad)
18181 ("cl-fad" ,sbcl-cl-fad)))
18182 (home-page "https://sourceforge.net/projects/portableaserve/")
18183 (synopsis "AllegroServe, a web server written in Common Lisp")
18184 (description
18185 "The server part of AllegroServe can be used either as a standalone web
18186server or a module loaded into an application to provide a user interface to
18187the application. AllegroServe's proxy ability allows it to run on the gateway
18188machine between some internal network and the Internet. AllegroServe's client
18189functions allow Lisp programs to explore the web.")
18190 (license license:llgpl))))
18191
18192(define-public cl-acl-compat
18193 (sbcl-package->cl-source-package sbcl-acl-compat))
4ab04502
PN
18194
18195(define-public sbcl-aserve
18196 ;; There does not seem to be proper releases.
18197 (let ((commit "cac1d6920998ddcbee8310a873414732e707d8e5"))
18198 (package
18199 (name "sbcl-aserve")
18200 (version (git-version "1.2.50" "1" commit))
18201 (source
18202 (origin
18203 (method git-fetch)
18204 (uri (git-reference
18205 ;; https://github.com/franzinc/aserve/ seems to be incompatible
18206 ;; with SBCL, etc.
18207 (url "git://git.code.sf.net/p/portableaserve/git")
18208 (commit commit)))
18209 (file-name (git-file-name "aserve" version))
18210 (sha256
18211 (base32 "0ak6mqp84sjr0a7h5svr16vra4bf4fcx6wpir0n88dc1vjwy5xqa"))))
18212 (build-system asdf-build-system/sbcl)
18213 (arguments
18214 `(#:phases
18215 (modify-phases %standard-phases
18216 (add-after 'unpack 'cd-aserve
18217 (lambda _
18218 (chdir "aserve")
18219 #t))
18220 (add-after 'cd-aserve 'fix-asd
18221 (lambda _
18222 (substitute* "aserve.asd"
18223 ((" :force t") ""))
18224 #t))
18225 (add-after 'cd-aserve 'fix-tests
18226 (lambda _
18227 (substitute* "test/t-aserve.cl"
18228 (("\\(asdf:oos 'asdf:load-op :ptester\\)") ""))
18229 #t)))))
18230 (inputs
18231 `(("acl-compat" ,sbcl-acl-compat)))
18232 (home-page "https://franz.com/support/documentation/current/doc/aserve/aserve.html")
18233 (synopsis "AllegroServe, a web server written in Common Lisp")
18234 (description
18235 "The server part of AllegroServe can be used either as a standalone web
18236server or a module loaded into an application to provide a user interface to
18237the application. AllegroServe's proxy ability allows it to run on the gateway
18238machine between some internal network and the Internet. AllegroServe's client
18239functions allow Lisp programs to explore the web.")
18240 (license license:llgpl))))
18241
18242(define-public cl-aserve
18243 (sbcl-package->cl-source-package sbcl-aserve))
e4305e45
PN
18244
18245(define-public sbcl-rss
18246 ;; No release.
88c7c739 18247 (let ((commit "51d0145e91b86327ae5c36364f9c3048052e7a58"))
e4305e45
PN
18248 (package
18249 (name "sbcl-rss")
88c7c739 18250 (version (git-version "0.9.1.1" "2" commit))
e4305e45
PN
18251 (source
18252 (origin
18253 (method git-fetch)
18254 (uri (git-reference
88c7c739 18255 (url "http://git.kpe.io/cl-rss.git")
e4305e45
PN
18256 (commit commit)))
18257 (file-name (git-file-name name version))
18258 (sha256
88c7c739 18259 (base32 "0wv3j13fj73gigriw5r9vi920hz05ld7zllsvbxdxvmyfy9k1kly"))))
e4305e45 18260 (build-system asdf-build-system/sbcl)
e4305e45
PN
18261 (inputs
18262 `(("aserve" ,sbcl-aserve)
18263 ("kmrcl" ,sbcl-kmrcl)
18264 ("xmls" ,sbcl-xmls)))
18265 (home-page "https://github.com/nsrahmad/cl-rss")
18266 (synopsis "Common Lisp RSS processor")
18267 (description
18268 "This package provides a Common Lisp library for fetching and parsing
18269RSS feeds data via HTTP. Currently, it supports RSS versions 0.90,
182700.91, and 0.92 as well as RSS version 2.")
18271 (license license:bsd-3))))
18272
18273(define-public cl-rss
18274 (sbcl-package->cl-source-package sbcl-rss))
70387700
C
18275
18276(define-public sbcl-trivial-with-current-source-form
18277 (let ((commit "9e343e043a77a5478c1f77bb626db22335fbbfb8")
18278 (revision "1"))
18279 (package
18280 (name "sbcl-trivial-with-current-source-form")
18281 (version (git-version "0.1.0" revision commit))
18282 (source
18283 (origin
18284 (method git-fetch)
18285 (uri (git-reference
18286 (url
18287 "https://github.com/scymtym/trivial-with-current-source-form")
18288 (commit commit)))
18289 (file-name (git-file-name "trivial-with-current-source-form" version))
18290 (sha256
18291 (base32 "15zs7mc422ycp1cvcxmirif1dq15mlmv8vzd6l6nzn4qgmph9wz0"))))
18292 (build-system asdf-build-system/sbcl)
18293 (inputs
18294 `(("alexandria" ,sbcl-alexandria)))
18295 (home-page "https://github.com/scymtym/trivial-with-current-source-form")
18296 (synopsis "Help producing better errors for macro users")
18297 (description
18298 "This library allows macro writers to provide better feedback to macro
18299users when errors are signaled during macroexpansion. It uses the compiler's
18300concept of a source-form to report where the error or warning is located.")
18301 (license license:lgpl3))))
18302
18303(define-public ecl-trivial-with-current-source-form
18304 ;; Trivial-with-current-source-form does not give any benefits on ECL.
18305 ;; This package is so packages dependent on trivial-with-current-source-form
18306 ;; can be loaded on ECL.
18307 (sbcl-package->ecl-package sbcl-trivial-with-current-source-form))
18308
18309(define-public cl-trivial-with-current-source-form
18310 (sbcl-package->cl-source-package sbcl-trivial-with-current-source-form))
3c3c1a9e
C
18311
18312(define-public sbcl-tailrec
fd53b212
C
18313 (let ((commit "6f882846d8f5bca9138df26510862e64bb15d92f")
18314 (revision "2"))
3c3c1a9e
C
18315 (package
18316 (name "sbcl-tailrec")
18317 (version (git-version "0" revision commit))
18318 (source
18319 (origin
18320 (method git-fetch)
18321 (uri (git-reference
18322 (url "https://github.com/charje/tailrec")
18323 (commit commit)))
18324 (file-name (git-file-name name version))
18325 (sha256
fd53b212 18326 (base32 "1h8m2npdzd2cpnl75pvv4yvvfwxa7kl6qvalc9s0y4yws0kaih3i"))))
3c3c1a9e
C
18327 (build-system asdf-build-system/sbcl)
18328 (inputs
18329 `(("alexandia" ,sbcl-alexandria)
18330 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)
18331 ("trivial-with-current-source-form"
18332 ,sbcl-trivial-with-current-source-form)))
18333 (home-page "https://github.com/charje/tailrec")
18334 (synopsis "Macro to optimize a Common Lisp function for tail recursion")
18335 (description "Just wrap your Common Lisp function in this macro call and
18336it will be optimized for tail recursion. You will be warned if the function
18337is not tail recursive.")
18338 (license license:llgpl))))
18339
18340(define-public ecl-tailrec
18341 (sbcl-package->ecl-package sbcl-tailrec))
18342
18343(define-public cl-tailrec
18344 (sbcl-package->cl-source-package sbcl-tailrec))
3f0a0033
C
18345
18346(define-public sbcl-issr-core
18347 (let ((commit "64e3b07a63a7ca3ad70ba42474f98ac4513580aa")
18348 (revision "1"))
18349 (package
18350 (name "sbcl-issr-core")
18351 (version (git-version "0.1" revision commit))
18352 (source
18353 (origin
18354 (method git-fetch)
18355 (uri (git-reference
18356 (url "https://github.com/interactive-ssr/core")
18357 (commit commit)))
18358 (file-name (git-file-name "issr-core" version))
18359 (sha256
18360 (base32 "1bajb09crzadkirdpd6jrpcc55irjd4sxzavygr25l85pafyhniw"))))
18361 (build-system asdf-build-system/sbcl)
18362 (inputs
18363 `(("cl-str" ,sbcl-cl-str)
18364 ("global-vars" ,sbcl-global-vars)
18365 ("plump" ,sbcl-plump)
18366 ("tailrec" ,sbcl-tailrec)))
18367 (home-page
18368 "https://github.com/interactive-ssr/client/blob/master/main.org")
18369 (synopsis "The core functionality for ISSR server modules")
18370 (description
18371 "ISSR core provides functions and variables for ISSR server modules so
18372that different servers can behave similarly. The most important features are
18373Document Object Model differencing to generate instructions to update a DOM,
18374and DOM cleaning, to ensure that all remote DOMs are the same.")
18375 (license license:llgpl))))
18376
18377(define-public ecl-issr-core
18378 (sbcl-package->ecl-package sbcl-issr-core))
18379
18380(define-public cl-issr-core
18381 (sbcl-package->cl-source-package sbcl-issr-core))
16418a97
C
18382
18383(define-public sbcl-portal
18384 (let ((commit "cc7ba6a54cea6ef63b17dcc6e653d91d9907f59e")
18385 (revision "1"))
18386 (package
18387 (name "sbcl-portal")
18388 (version (git-version "1" revision commit))
18389 (source
18390 (origin
18391 (method git-fetch)
18392 (uri (git-reference
18393 (url "https://github.com/charJe/portal")
18394 (commit commit)))
18395 (file-name (git-file-name "portal" version))
18396 (sha256
18397 (base32 "0fc81iwb4lpp8d2scdwafkixxwkfmq4gqns522zyb4bh6c1rfmwy"))))
18398 (build-system asdf-build-system/sbcl)
18399 (inputs
18400 `(("alexandria" ,sbcl-alexandria)
18401 ("arrows" ,sbcl-arrows)
18402 ("cl-base64" ,sbcl-cl-base64)
18403 ("cl-str" ,sbcl-cl-str)
18404 ("flexi-streams" ,sbcl-flexi-streams)
18405 ("global-vars" ,sbcl-global-vars)
18406 ("ironclad" ,sbcl-ironclad)
18407 ("parse-float" ,sbcl-parse-float)
18408 ("usocket" ,sbcl-usocket)))
18409 (home-page "https://github.com/charJe/portal")
18410 (synopsis "Portable Websocket Server for Common Lisp")
18411 (description
18412 "This is a websocket server for Common Lisp using usockets to be
18413portable between implementations and operating systems. It has a programming
18414interface that allows for multiple websocket apps per server using Common Lisp
18415keywords for different websocket events. It has useful restarts and
18416customizable errors.")
18417 (license license:llgpl))))
18418
18419(define-public ecl-portal
18420 (sbcl-package->ecl-package sbcl-portal))
18421
18422(define-public cl-portal
18423 (sbcl-package->cl-source-package sbcl-portal))
a140ecee
C
18424
18425(define-public sbcl-hunchenissr
18426 (let ((commit "7df702f2e110999a2f31c7ebad81bfc39ac06670")
18427 (revision "1"))
18428 (package
18429 (name "sbcl-hunchenissr")
18430 (version (git-version "1" revision commit))
18431 (source
18432 (origin
18433 (method git-fetch)
18434 (uri (git-reference
18435 (url "https://github.com/interactive-ssr/hunchenissr")
18436 (commit commit)))
18437 (file-name (git-file-name "hunchenissr" version))
18438 (sha256
18439 (base32 "0826qrvk64pjspdklns29dv3zhzfhd6k42fq030xajv8a7hkcxda"))))
18440 (build-system asdf-build-system/sbcl)
18441 (inputs
18442 `(("cl-base64" ,sbcl-cl-base64)
18443 ("cl-str" ,sbcl-cl-str)
18444 ("hunchentoot" ,sbcl-hunchentoot)
18445 ("issr-core" ,sbcl-issr-core)
18446 ("jonathan" ,sbcl-jonathan)
18447 ("plump" ,sbcl-plump)
18448 ("portal" ,sbcl-portal)))
18449 (home-page "https://github.com/interactive-ssr/hunchenissr")
18450 (synopsis "Interactive Server Side Rendering backend for Hunchentoot")
18451 (description
18452 "Hunchenissr works together with issr.js for the develpment of
18453interactive (changing without page refreshes) websites making use of websocket
18454and Common Lisp server HTML generation instead of mountains of convoluted
18455Javascript.")
18456 (license license:llgpl))))
18457
18458(define-public ecl-hunchenissr
18459 (sbcl-package->ecl-package sbcl-hunchenissr))
18460
18461(define-public cl-hunchenissr
18462 (sbcl-package->cl-source-package sbcl-hunchenissr))
18463
ac42b512
C
18464(define-public sbcl-hunchenissr-routes
18465 (let ((commit "2e831975dc2a6c030f1b518747cf429be8484b31")
18466 (revision "1"))
18467 (package
18468 (name "sbcl-hunchenissr-routes")
18469 (version (git-version "0" revision commit))
18470 (source
18471 (origin
18472 (method git-fetch)
18473 (uri (git-reference
18474 (url "https://github.com/interactive-ssr/hunchenissr-routes")
18475 (commit commit)))
18476 (file-name (git-file-name "hunchenissr-routes" version))
18477 (sha256
18478 (base32 "1xyqacihxwk4vnffqlg93czmalscglp6sh3bwy3qwb7hdxv6yxz6"))))
18479 (build-system asdf-build-system/sbcl)
18480 (inputs
18481 `(("alexandria" ,sbcl-alexandria)
18482 ("cl-ppcre" ,sbcl-cl-ppcre)
18483 ("cl-unification" ,sbcl-cl-unification)
18484 ("hunchenissr" ,sbcl-hunchenissr)))
18485 (home-page "https://github.com/interactive-ssr/hunchenissr-routes")
18486 (synopsis "Enable path variables when using Hunchenissr")
18487 (description
18488 "This library enables path variables in networking routes when using
18489Hunchenissr for Common Lisp. If a part of the path (between two slashes)
18490starts with a question mark (?), that symbol (without question mark) will be
18491bound to whatever value was in the same place in the URL (as a string).")
18492 (license license:llgpl))))
18493
18494(define-public ecl-hunchenissr-routes
18495 (sbcl-package->ecl-package sbcl-hunchenissr-routes))
18496
18497(define-public cl-hunchenissr-routes
18498 (sbcl-package->cl-source-package sbcl-hunchenissr-routes))
23af19f9
PN
18499
18500(define-public sbcl-spinneret
18501 ;; No release since 2019, no tags.
18502 (let ((commit "02451b32648eda4e6e4022bbb7f91d9ea71bebbc"))
18503 (package
18504 (name "sbcl-spinneret")
18505 (version (git-version "3.0" "4" commit))
18506 (source
18507 (origin
18508 (method git-fetch)
18509 (uri (git-reference
18510 (url "https://github.com/ruricolist/spinneret/")
18511 (commit commit)))
18512 (file-name (git-file-name name version))
18513 (sha256
18514 (base32 "0jllnsi2ibw0gax9szpdrjxvw9qqibydpdbnkf683yfb1d5jlci1"))))
18515 (build-system asdf-build-system/sbcl)
18516 (inputs
18517 `(("alexandria" ,sbcl-alexandria)
18518 ("global-vars" ,sbcl-global-vars)
18519 ("parenscript" ,sbcl-parenscript)
18520 ("cl-markdown" ,sbcl-cl-markdown)
18521 ("ppcre" ,sbcl-cl-ppcre)
18522 ("serapeum" ,sbcl-serapeum)
18523 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
18524 (native-inputs
18525 `(("fiveam" ,sbcl-fiveam)))
18526 (home-page "https://github.com/ruricolist/spinneret")
18527 (synopsis "Common Lisp HTML5 generator")
18528 (description
18529 "In the crowded space of Common Lisp HTML generators, Spinneret
18530occupies the following coordinates:
18531
18532@itemize
18533
18534@item Modern. Targets HTML5. Does not treat XML and HTML as the same
18535problem. Assumes you will be serving your documents as UTF-8.
18536
18537@item Composable. Makes it easy to refactor HTML generation into separate
18538functions and macros.
18539
18540@item Pretty. Treats HTML as a document format, not a serialization. Output
18541is idiomatic and readable, following the coding style of the HTML5
18542specification.
18543
18544@item Aggressive. If something can be interpreted as HTML, then it will be,
18545meaning that some Lisp forms can't be mixed with HTML syntax. In the
18546trade-off between 90% convenience and 10% correctness Spinneret is on the side
18547of convenience.
18548
18549@item Bilingual. Spinneret (after loading @code{spinneret/ps}) has the same
18550semantics in Lisp and Parenscript.
18551
18552@end itemize\n")
18553 (license license:expat))))
18554
18555(define-public ecl-spinneret
18556 (sbcl-package->ecl-package sbcl-spinneret))
18557
18558(define-public cl-spinneret
18559 (sbcl-package->cl-source-package sbcl-spinneret))