gnu: Add cl-hunchenissr.
[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>
60528f9b 25;;; Copyright © 2021 Matthew 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
KH
9822
9823(define-public sbcl-type-r
9824 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
9825 (revision "1"))
9826 (package
9827 (name "sbcl-type-r")
9828 (version (git-version "0.0.0" revision commit))
9829 (source
9830 (origin
9831 (method git-fetch)
9832 (uri (git-reference
b0e7b699 9833 (url "https://github.com/guicho271828/type-r")
e4f7ef87
KH
9834 (commit commit)))
9835 (file-name (git-file-name name version))
9836 (sha256
9837 (base32
9838 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
9839 (build-system asdf-build-system/sbcl)
9840 (synopsis "Parser interface for Common Lisp built-in compound types")
9841 (description
9842 "Collections of accessor functions and patterns to access
9843the elements in compound type specifier, e.g. @code{dimensions} in
9844@code{(array element-type dimensions)}")
9845 (home-page "https://github.com/guicho271828/type-r")
9846 (license license:lgpl3+)
9847 (inputs
9848 `(("trivia" ,sbcl-trivia)
9849 ("alexandria" ,sbcl-alexandria)))
9850 (native-inputs
9851 `(("fiveam" ,sbcl-fiveam)))
9852 (arguments
e765d9c9 9853 `(#:test-asd-file "type-r.test.asd")))))
e4f7ef87
KH
9854
9855(define-public cl-type-r
9856 (sbcl-package->cl-source-package sbcl-type-r))
8926866e 9857
12df8b7b
GLV
9858(define-public ecl-type-r
9859 (sbcl-package->ecl-package sbcl-type-r))
9860
8926866e
KH
9861(define-public sbcl-trivialib-type-unify
9862 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
9863 (revision "1"))
9864 (package
9865 (name "sbcl-trivialib-type-unify")
9866 (version (git-version "0.1" revision commit))
9867 (source
9868 (origin
9869 (method git-fetch)
9870 (uri (git-reference
b0e7b699 9871 (url "https://github.com/guicho271828/trivialib.type-unify")
8926866e
KH
9872 (commit commit)))
9873 (file-name (git-file-name name version))
9874 (sha256
9875 (base32
9876 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
9877 (build-system asdf-build-system/sbcl)
9878 (synopsis "Common Lisp type unification")
9879 (description
9880 "Unifies a parametrized type specifier against an actual type specifier.
9881Importantly, it handles complicated array-subtypes and number-related types
9882correctly.")
9883 (home-page "https://github.com/guicho271828/trivialib.type-unify")
9884 (license license:lgpl3+)
9885 (inputs
9886 `(("alexandria" ,sbcl-alexandria)
9887 ("trivia" ,sbcl-trivia)
9888 ("introspect-environment" ,sbcl-introspect-environment)
9889 ("type-r" ,sbcl-type-r)))
9890 (native-inputs
9891 `(("fiveam" ,sbcl-fiveam)))
9892 (arguments
2ff8b5ba 9893 `(#:asd-systems '("trivialib.type-unify")
8926866e
KH
9894 #:test-asd-file "trivialib.type-unify.test.asd")))))
9895
9896(define-public cl-trivialib-type-unify
9897 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
ca6c5c7f 9898
12df8b7b
GLV
9899(define-public ecl-trivialib-type-unify
9900 (sbcl-package->ecl-package sbcl-trivialib-type-unify))
9901
e2e17903
C
9902(define-public sbcl-cl-unification
9903 (let ((commit "01079f34d197495880aa49ab727d63774d83035c")
9904 (revision "1"))
9905 (package
9906 (name "sbcl-cl-unification")
9907 (version (git-version "0.0.0" revision commit))
9908 (source
9909 (origin
9910 (method git-fetch)
9911 (uri (git-reference
9912 (url "https://gitlab.common-lisp.net/cl-unification/cl-unification")
9913 (commit commit)))
9914 (file-name (git-file-name "cl-unification" version))
9915 (sha256
9916 (base32 "0nhqamn3qgg38i6aw2pshffdwr2hzslycg8ficmn333gw0h9rf4g"))))
9917 (build-system asdf-build-system/sbcl)
9918 (native-inputs
9919 `(("ptester" ,sbcl-ptester)))
9920 (inputs
9921 `(("cl-ppcre" ,sbcl-cl-ppcre)))
9922 (home-page "https://common-lisp.net/project/cl-unification/")
9923 (synopsis "Unification framework for Common Lisp")
9924 (description
9925 "This package provides a framework to unify arbitrary
9926Common Lisp objects while constructing bindings for placeholders
9927(unification variables) in a template sublanguage.")
9928 (license license:bsd-0))))
9929
9930(define-public ecl-cl-unification
9931 (let ((pkg (sbcl-package->ecl-package sbcl-cl-unification)))
9932 (package
9933 (inherit pkg)
9934 (arguments
9935 (substitute-keyword-arguments (package-arguments pkg)
9936 ;; The tests fail on ECL with:
9937 ;; "In MAKE-ARRAY: the elements in :INITIAL-CONTENTS do not match
9938 ;; the array dimensions."
9939 ((#:tests? _ #f) #f))))))
9940
9941(define-public cl-unification
9942 (sbcl-package->cl-source-package sbcl-cl-unification))
9943
ca6c5c7f 9944(define-public sbcl-specialized-function
cb5ba97e
SH
9945 (let ((commit "5e2b04432bdf728496e6ff7227f210f845af7247")
9946 (revision "3"))
ca6c5c7f
KH
9947 (package
9948 (name "sbcl-specialized-function")
cb5ba97e 9949 (version (git-version "0.1" revision commit))
ca6c5c7f
KH
9950 (source
9951 (origin
9952 (method git-fetch)
9953 (uri (git-reference
b0e7b699 9954 (url "https://github.com/numcl/specialized-function")
ca6c5c7f 9955 (commit commit)))
cb5ba97e 9956 (file-name (git-file-name "specialized-function" version))
ca6c5c7f 9957 (sha256
cb5ba97e 9958 (base32 "19hfgc83b7as630r1w9r8yl0v6xq3dn01vcrl0bd4pza5hgjn4la"))))
ca6c5c7f
KH
9959 (build-system asdf-build-system/sbcl)
9960 (synopsis "Julia-like dispatch for Common Lisp")
9961 (description
9962 "This library is part of NUMCL. It provides a macro
9963@code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
9964lazily compiling a type-specific version of the function from the same
9965code. The main target of this macro is speed.")
9966 (home-page "https://github.com/numcl/specialized-function")
9967 (license license:lgpl3+)
9968 (inputs
cb5ba97e 9969 `(("alexandria" ,sbcl-alexandria)
ca6c5c7f
KH
9970 ("iterate" ,sbcl-iterate)
9971 ("lisp-namespace" ,sbcl-lisp-namespace)
cb5ba97e
SH
9972 ("trivia" ,sbcl-trivia)
9973 ("trivial-cltl2" ,sbcl-trivial-cltl2)
9974 ("type-r" ,sbcl-type-r)))
ca6c5c7f
KH
9975 (native-inputs
9976 `(("fiveam" ,sbcl-fiveam)))
9977 (arguments
e765d9c9 9978 `(#:asd-files '("specialized-function.asd")
cb5ba97e 9979 #:test-asd-file "specialized-function.test.asd")))))
ca6c5c7f
KH
9980
9981(define-public cl-specialized-function
9982 (sbcl-package->cl-source-package sbcl-specialized-function))
6e0f2b95 9983
e95a6311
GLV
9984(define-public ecl-specialized-function
9985 (sbcl-package->ecl-package sbcl-specialized-function))
9986
6e0f2b95
KH
9987(define-public sbcl-constantfold
9988 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
9989 (revision "1"))
9990 (package
9991 (name "sbcl-constantfold")
9992 (version (git-version "0.1" revision commit))
9993 (source
9994 (origin
9995 (method git-fetch)
9996 (uri (git-reference
b0e7b699 9997 (url "https://github.com/numcl/constantfold")
6e0f2b95
KH
9998 (commit commit)))
9999 (file-name (git-file-name name version))
10000 (sha256
10001 (base32
10002 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
10003 (build-system asdf-build-system/sbcl)
10004 (synopsis "Support library for numcl")
10005 (description
10006 "Support library for numcl. Registers a function as an
10007additional form that is considered as a candidate for a constant.")
10008 (home-page "https://github.com/numcl/constantfold")
10009 (license license:lgpl3+)
10010 (inputs
10011 `(("trivia" ,sbcl-trivia)
10012 ("alexandria" ,sbcl-alexandria)
10013 ("iterate" ,sbcl-iterate)
10014 ("lisp-namespace" ,sbcl-lisp-namespace)))
10015 (native-inputs
10016 `(("fiveam" ,sbcl-fiveam)))
10017 (arguments
e765d9c9 10018 `(#:asd-files '("constantfold.asd")
6e0f2b95
KH
10019 #:test-asd-file "constantfold.test.asd")))))
10020
10021(define-public cl-constantfold
10022 (sbcl-package->cl-source-package sbcl-constantfold))
5ce7d186 10023
12df8b7b
GLV
10024(define-public ecl-constantfold
10025 (sbcl-package->ecl-package sbcl-constantfold))
10026
5ce7d186 10027(define-public sbcl-gtype
e4c03dd5
GLV
10028 (let ((commit "2442e32485635525af278ebd8fa69a27d5b8cf18")
10029 (revision "2"))
5ce7d186
KH
10030 (package
10031 (name "sbcl-gtype")
10032 (version (git-version "0.1" revision commit))
10033 (source
10034 (origin
10035 (method git-fetch)
10036 (uri (git-reference
b0e7b699 10037 (url "https://github.com/numcl/gtype")
5ce7d186
KH
10038 (commit commit)))
10039 (file-name (git-file-name name version))
10040 (sha256
e4c03dd5 10041 (base32 "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h"))))
5ce7d186
KH
10042 (build-system asdf-build-system/sbcl)
10043 (synopsis "C++/Julia-like parametric types in Common Lisp")
10044 (description
10045 "Support library for numcl that provides Julia-like runtime parametric
10046type correctness in Common Lisp. It is based on CLtL2 extensions.")
10047 (home-page "https://github.com/numcl/gtype")
10048 (license license:lgpl3+)
10049 (inputs
10050 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
10051 ("trivial-cltl2" ,sbcl-trivial-cltl2)
10052 ("trivia" ,sbcl-trivia)
10053 ("alexandria" ,sbcl-alexandria)
10054 ("iterate" ,sbcl-iterate)
10055 ("type-r" ,sbcl-type-r)))
10056 (native-inputs
10057 `(("fiveam" ,sbcl-fiveam)))
10058 (arguments
e765d9c9 10059 `(#:asd-files '("gtype.asd")
5ce7d186
KH
10060 #:test-asd-file "gtype.test.asd")))))
10061
10062(define-public cl-gtype
10063 (sbcl-package->cl-source-package sbcl-gtype))
7ad12200 10064
e4c03dd5
GLV
10065(define-public ecl-gtype
10066 (let ((pkg (sbcl-package->ecl-package sbcl-gtype)))
10067 (package
10068 (inherit pkg)
10069 (arguments
10070 (substitute-keyword-arguments (package-arguments pkg)
10071 ;; The tests fail on ECL with a COMPILE-FILE-ERROR for t/package.lisp.
10072 ((#:tests? _ #f) #f))))))
10073
7ad12200 10074(define-public sbcl-numcl
7b056654
SH
10075 (let ((commit "3dcdb0e24a33943d6c3a188ecbb0c78003bf975c")
10076 (revision "2"))
7ad12200
KH
10077 (package
10078 (name "sbcl-numcl")
75a4c831 10079 (version (git-version "0.2.0" revision commit))
7ad12200
KH
10080 (source
10081 (origin
10082 (method git-fetch)
10083 (uri (git-reference
b0e7b699 10084 (url "https://github.com/numcl/numcl")
7ad12200 10085 (commit commit)))
75a4c831 10086 (file-name (git-file-name "numcl" version))
7ad12200 10087 (sha256
7b056654 10088 (base32 "17m1rx1gfjbbmgjsf33b8s4bygfsj1hb6kvmypkql21qzjvx60nl"))))
7ad12200 10089 (build-system asdf-build-system/sbcl)
75a4c831
SH
10090 (arguments
10091 `(#:test-asd-file "numcl.test.asd"
17e0f825
GLV
10092 #:asd-files '("numcl.asd")
10093 ;; Tests often fail because they require a dynamic-space-size much
10094 ;; bigger than the default one. Disable them for now.
10095 #:tests? #f))
75a4c831
SH
10096 (native-inputs
10097 `(("fiveam" ,sbcl-fiveam)))
7ad12200 10098 (inputs
75a4c831 10099 `(("alexandria" ,sbcl-alexandria)
7ad12200 10100 ("cl-randist" ,sbcl-cl-randist)
75a4c831 10101 ("constantfold" ,sbcl-constantfold)
7ad12200
KH
10102 ("float-features" ,sbcl-float-features)
10103 ("function-cache" ,sbcl-function-cache)
75a4c831
SH
10104 ("gtype" ,sbcl-gtype)
10105 ("iterate" ,sbcl-iterate)
10106 ("lisp-namespace" ,sbcl-lisp-namespace)
7ad12200 10107 ("specialized-function" ,sbcl-specialized-function)
75a4c831
SH
10108 ("trivia" ,sbcl-trivia)
10109 ("type-r" ,sbcl-type-r)))
10110 (home-page "https://numcl.github.io/numcl/")
10111 (synopsis "Numpy clone in Common Lisp")
10112 (description
10113 "This package is a Python Numpy clone implemented in pure Common Lisp.")
10114 (license license:lgpl3+))))
7ad12200
KH
10115
10116(define-public cl-numcl
10117 (sbcl-package->cl-source-package sbcl-numcl))
a3f6c410 10118
4287ee69 10119(define-public ecl-numcl
bed78cde 10120 (sbcl-package->ecl-package sbcl-numcl))
4287ee69 10121
a3f6c410 10122(define-public sbcl-pzmq
ca23ba4f
SH
10123 (let ((commit "6f7b2ca02c23ea53510a9b0e0f181d5364ce9d32")
10124 (revision "2"))
a3f6c410
GLV
10125 (package
10126 (name "sbcl-pzmq")
10127 (version (git-version "0.0.0" revision commit))
10128 (source
10129 (origin
10130 (method git-fetch)
10131 (uri (git-reference
b0e7b699 10132 (url "https://github.com/orivej/pzmq")
a3f6c410
GLV
10133 (commit commit)))
10134 (file-name (git-file-name name version))
10135 (sha256
ca23ba4f 10136 (base32 "19mdhxhzzghlmff1fic4chg5iz0psglkim09z6dgpijm26biny05"))))
a3f6c410
GLV
10137 (build-system asdf-build-system/sbcl)
10138 (native-inputs
10139 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10140 ("fiveam" ,sbcl-fiveam)
10141 ("let-plus" ,sbcl-let-plus)))
10142 (inputs
10143 `(("cffi" ,sbcl-cffi)
a3f6c410
GLV
10144 ("zeromq" ,zeromq)))
10145 (arguments
10146 `(#:phases (modify-phases %standard-phases
10147 (add-after 'unpack 'fix-paths
10148 (lambda* (#:key inputs #:allow-other-keys)
10149 (substitute* "c-api.lisp"
10150 (("\"libzmq")
10151 (string-append "\""
10152 (assoc-ref inputs "zeromq")
10153 "/lib/libzmq")))
10154 #t)))))
10155 (synopsis "Common Lisp bindings for the ZeroMQ library")
10156 (description "This Common Lisp library provides bindings for the ZeroMQ
10157lightweight messaging kernel.")
10158 (home-page "https://github.com/orivej/pzmq")
10159 (license license:unlicense))))
10160
10161(define-public cl-pzmq
10162 (sbcl-package->cl-source-package sbcl-pzmq))
10163
10164(define-public ecl-pzmq
10165 (sbcl-package->ecl-package sbcl-pzmq))
cfc9004e
DD
10166
10167(define-public sbcl-clss
10168 (let ((revision "1")
10169 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
10170 (package
10171 (name "sbcl-clss")
10172 (version (git-version "0.3.1" revision commit))
10173 (source
10174 (origin
10175 (method git-fetch)
10176 (uri
10177 (git-reference
b0e7b699 10178 (url "https://github.com/Shinmera/clss")
cfc9004e
DD
10179 (commit commit)))
10180 (sha256
10181 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
10182 (file-name (git-file-name name version))))
10183 (inputs
10184 `(("array-utils" ,sbcl-array-utils)
10185 ("plump" ,sbcl-plump)))
10186 (build-system asdf-build-system/sbcl)
10187 (synopsis "DOM tree searching engine based on CSS selectors")
10188 (description "CLSS is a DOM traversal engine based on CSS
10189selectors. It makes use of the Plump-DOM and is used by lQuery.")
10190 (home-page "https://github.com/Shinmera/clss")
10191 (license license:zlib))))
10192
10193(define-public cl-clss
10194 (sbcl-package->cl-source-package sbcl-clss))
10195
10196(define-public ecl-clss
10197 (sbcl-package->ecl-package sbcl-clss))
eb859957
DD
10198
10199(define-public sbcl-lquery
10200 (let ((revision "1")
10201 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
10202 (package
10203 (name "sbcl-lquery")
10204 (version (git-version "3.2.1" revision commit))
10205 (source
10206 (origin
10207 (method git-fetch)
10208 (uri
10209 (git-reference
b0e7b699 10210 (url "https://github.com/Shinmera/lquery")
eb859957
DD
10211 (commit commit)))
10212 (sha256
10213 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
10214 (file-name (git-file-name name version))))
10215 (native-inputs
10216 `(("fiveam" ,sbcl-fiveam)))
10217 (inputs
10218 `(("array-utils" ,sbcl-array-utils)
10219 ("form-fiddle" ,sbcl-form-fiddle)
10220 ("plump" ,sbcl-plump)
10221 ("clss" ,sbcl-clss)))
10222 (build-system asdf-build-system/sbcl)
10223 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
10224 (description "@code{lQuery} is a DOM manipulation library written in
10225Common Lisp, inspired by and based on the jQuery syntax and
10226functions. It uses Plump and CLSS as DOM and selector engines. The
10227main idea behind lQuery is to provide a simple interface for crawling
10228and modifying HTML sites, as well as to allow for an alternative
10229approach to templating.")
10230 (home-page "https://github.com/Shinmera/lquery")
10231 (license license:zlib))))
10232
10233(define-public cl-lquery
10234 (sbcl-package->cl-source-package sbcl-lquery))
10235
10236(define-public ecl-lquery
10237 (sbcl-package->ecl-package sbcl-lquery))
8a6c0f55
GLV
10238
10239(define-public sbcl-cl-mysql
10240 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
10241 (revision "1"))
10242 (package
10243 (name "sbcl-cl-mysql")
10244 (version (git-version "0.1" revision commit))
10245 (source
10246 (origin
10247 (method git-fetch)
10248 (uri (git-reference
b0e7b699 10249 (url "https://github.com/hackinghat/cl-mysql")
8a6c0f55
GLV
10250 (commit commit)))
10251 (file-name (git-file-name name version))
10252 (sha256
10253 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
10254 (build-system asdf-build-system/sbcl)
10255 (native-inputs
10256 `(("stefil" ,sbcl-stefil)))
10257 (inputs
10258 `(("cffi" ,sbcl-cffi)
10259 ("mariadb-lib" ,mariadb "lib")))
10260 (arguments
10261 `(#:tests? #f ; TODO: Tests require a running server
10262 #:phases
10263 (modify-phases %standard-phases
10264 (add-after 'unpack 'fix-paths
10265 (lambda* (#:key inputs #:allow-other-keys)
10266 (substitute* "system.lisp"
10267 (("libmysqlclient_r" all)
10268 (string-append (assoc-ref inputs "mariadb-lib")
10269 "/lib/"
10270 all)))
10271 #t)))))
10272 (synopsis "Common Lisp wrapper for MySQL")
10273 (description
10274 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
10275 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
10276 (license license:expat))))
10277
10278(define-public cl-mysql
10279 (sbcl-package->cl-source-package sbcl-cl-mysql))
c79ea1a2 10280
e7cbcf5a
GLV
10281(define-public ecl-cl-mysql
10282 (sbcl-package->ecl-package sbcl-cl-mysql))
10283
2ff8b5ba 10284(define-public sbcl-postmodern
9717250d
SH
10285 (package
10286 (name "sbcl-postmodern")
3db4a00d 10287 (version "1.32.9")
9717250d
SH
10288 (source
10289 (origin
10290 (method git-fetch)
10291 (uri (git-reference
10292 (url "https://github.com/marijnh/Postmodern")
10293 (commit (string-append "v" version))))
10294 (file-name (git-file-name name version))
10295 (sha256
3db4a00d 10296 (base32 "137jci4hn4vlxf48y39k0di27kc89kvxy3brmn3vl9xq56sy6mhz"))))
9717250d
SH
10297 (build-system asdf-build-system/sbcl)
10298 (native-inputs
10299 `(("fiveam" ,sbcl-fiveam)))
10300 (inputs
10301 `(("alexandria" ,sbcl-alexandria)
10302 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10303 ("cl-base64" ,sbcl-cl-base64)
10304 ("cl-unicode" ,sbcl-cl-unicode)
10305 ("closer-mop" ,sbcl-closer-mop)
10306 ("global-vars" ,sbcl-global-vars)
10307 ("ironclad" ,sbcl-ironclad)
10308 ("local-time" ,sbcl-local-time)
10309 ("md5" ,sbcl-md5)
10310 ("split-sequence" ,sbcl-split-sequence)
10311 ("uax-15" ,sbcl-uax-15)
10312 ("usocket" ,sbcl-usocket)))
10313 (arguments
10314 ;; TODO: (Sharlatan-20210114T171037+0000) tests still failing but on other
10315 ;; step, some functionality in `local-time' prevents passing tests.
10316 ;; Error:
10317 ;;
10318 ;; Can't create directory
10319 ;; /gnu/store
10320 ;; /4f47agf1kyiz057ppy6x5p98i7mcbfsv-sbcl-local-time-1.0.6-2.a177eb9
10321 ;; /lib/common-lisp/sbcl/local-time/src/integration/
10322 ;;
82a9ed3e
SH
10323 ;; NOTE: (Sharlatan-20210124T191940+0000): When set env HOME to /tmp above
10324 ;; issue is resolved but it required live test database to connect to now.
10325 ;; Keep tests switched off.
9717250d
SH
10326 `(#:tests? #f
10327 #:asd-systems '("cl-postgres"
10328 "s-sql"
10329 "postmodern"
10330 "simple-date"
10331 "simple-date/postgres-glue")))
10332 (synopsis "Common Lisp library for interacting with PostgreSQL")
10333 (description
10334 "@code{postmodern} is a Common Lisp library for interacting with
add1a356
GLV
10335PostgreSQL databases. It provides the following features:
10336
10337@itemize
10338@item Efficient communication with the database server without need for
10339foreign libraries.
10340@item Support for UTF-8 on Unicode-aware Lisp implementations.
10341@item A syntax for mixing SQL and Lisp code.
10342@item Convenient support for prepared statements and stored procedures.
10343@item A metaclass for simple database-access objects.
9717250d
SH
10344@end itemize\n
10345
10346This package produces 4 systems: postmodern, cl-postgres, s-sql, simple-date
10347
10348@code{SIMPLE-DATE} is a very basic implementation of date and time objects, used
10349to support storing and retrieving time-related SQL types. It is not loaded by
10350default and you can use local-time (which has support for timezones) instead.
10351
10352@code{S-SQL} is used to compile s-expressions to strings of SQL code, escaping
10353any Lisp values inside, and doing as much as possible of the work at compile
10354time.
10355
10356@code{CL-POSTGRES} is the low-level library used for interfacing with a PostgreSQL
10357server over a socket.
10358
10359@code{POSTMODERN} itself is a wrapper around these packages and provides higher
10360level functions, a very simple data access object that can be mapped directly to
10361database tables and some convient utilities. It then tries to put all these
10362things together into a convenient programming interface")
10363 (home-page "https://marijnhaverbeke.nl/postmodern/")
10364 (license license:zlib)))
add1a356
GLV
10365
10366(define-public cl-postmodern
10367 (sbcl-package->cl-source-package sbcl-postmodern))
47a6cde0 10368
12df8b7b
GLV
10369(define-public ecl-postmodern
10370 (package
10371 (inherit (sbcl-package->ecl-package sbcl-postmodern))
10372 (arguments
10373 `(#:tests? #f
9717250d
SH
10374 #:asd-systems '("cl-postgres"
10375 "s-sql"
10376 "postmodern"
10377 "simple-date"
12df8b7b
GLV
10378 "simple-date/postgres-glue")
10379 #:phases
10380 (modify-phases %standard-phases
10381 (add-after 'unpack 'fix-build
10382 (lambda _
10383 (substitute* "cl-postgres.asd"
9717250d
SH
10384 ((":or :sbcl :allegro :ccl :clisp" all)
10385 (string-append all " :ecl")))
12df8b7b
GLV
10386 #t)))))))
10387
d005f809
SH
10388(define-public sbcl-db3
10389 (let ((commit "38e5ad35f025769fb7f8dcdc6e56df3e8efd8e6d")
10390 (revision "1"))
10391 (package
10392 (name "sbcl-db3")
10393 (version (git-version "0.0.0" revision commit))
10394 (source
10395 (origin
10396 (method git-fetch)
10397 (uri (git-reference
10398 (url "https://github.com/dimitri/cl-db3")
10399 (commit commit)))
10400 (file-name (git-file-name "cl-db3" version))
10401 (sha256
10402 (base32 "1i7j0mlri6kbklcx1lsm464s8kmyhhij5c4xh4aybrw8m4ixn1s5"))))
10403 (build-system asdf-build-system/sbcl)
10404 (home-page "https://github.com/dimitri/cl-db3")
10405 (synopsis "Common Lisp library to read dBase III database files")
10406 (description
10407 "This is a Common Lisp library for processing data found in dBase III
10408database files (dbf and db3 files).")
10409 (license license:public-domain))))
10410
10411(define-public ecl-db3
10412 (sbcl-package->ecl-package sbcl-db3))
10413
10414(define-public cl-db3
10415 (sbcl-package->cl-source-package sbcl-db3))
10416
47a6cde0 10417(define-public sbcl-dbi
404f3703
GLV
10418 (let ((commit "7ba050dea8d137c1f85b7e704d4fc945104bf283")
10419 (revision "1"))
dba8f523
PN
10420 (package
10421 (name "sbcl-dbi")
404f3703 10422 (version (git-version "0.9.5" revision commit))
dba8f523
PN
10423 (source
10424 (origin
10425 (method git-fetch)
10426 (uri (git-reference
10427 (url "https://github.com/fukamachi/cl-dbi")
10428 (commit commit)))
404f3703 10429 (file-name (git-file-name "cl-dbi" version))
dba8f523 10430 (sha256
404f3703 10431 (base32 "0qkpsf8w7ig6chbf4r7j1j7fwa6kpi58ij4hbcxpa4irqdan8s9f"))))
dba8f523 10432 (build-system asdf-build-system/sbcl)
2ff8b5ba 10433 (native-inputs
404f3703
GLV
10434 `(("alexandria" ,sbcl-alexandria)
10435 ("rove" ,sbcl-rove)
2ff8b5ba 10436 ("trivial-types" ,sbcl-trivial-types)))
dba8f523
PN
10437 (inputs
10438 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2ff8b5ba
GLV
10439 ("cl-mysql" ,sbcl-cl-mysql)
10440 ("cl-sqlite" ,sbcl-cl-sqlite)
dba8f523 10441 ("closer-mop" ,sbcl-closer-mop)
2ff8b5ba
GLV
10442 ("postmodern" ,sbcl-postmodern)
10443 ("split-sequence" ,sbcl-split-sequence)
10444 ("trivial-garbage" ,sbcl-trivial-garbage)))
dba8f523 10445 (arguments
3f8bbf7c 10446 `(#:asd-systems '("dbi"
2ff8b5ba
GLV
10447 "dbd-mysql"
10448 "dbd-postgres"
10449 "dbd-sqlite3")))
dba8f523
PN
10450 (synopsis "Database independent interface for Common Lisp")
10451 (description
10452 "@code{dbi} is a Common Lisp library providing a database independent
47a6cde0 10453interface for MySQL, PostgreSQL and SQLite.")
dba8f523
PN
10454 (home-page "https://github.com/fukamachi/cl-dbi")
10455 (license license:llgpl))))
47a6cde0
GLV
10456
10457(define-public cl-dbi
10458 (sbcl-package->cl-source-package sbcl-dbi))
903d0e81 10459
e7cbcf5a
GLV
10460(define-public ecl-dbi
10461 (sbcl-package->ecl-package sbcl-dbi))
10462
1aa7ad1f
GLV
10463(define-public sbcl-uffi
10464 (package
10465 (name "sbcl-uffi")
10466 (version "2.1.2")
10467 (source
10468 (origin
10469 (method git-fetch)
10470 (uri (git-reference
10471 (url "http://git.kpe.io/uffi.git")
10472 (commit (string-append "v" version))))
10473 (file-name (git-file-name name version))
10474 (sha256
10475 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
10476 (build-system asdf-build-system/sbcl)
10477 (arguments
10478 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
3f8bbf7c 10479 #:asd-files '("uffi.asd")
1aa7ad1f
GLV
10480 #:phases
10481 (modify-phases %standard-phases
10482 (add-after 'unpack 'fix-permissions
10483 (lambda _
10484 (make-file-writable "doc/html.tar.gz")
10485 #t)))))
10486 (synopsis "Universal foreign function library for Common Lisp")
10487 (description
10488 "UFFI provides a universal foreign function interface (FFI)
10489 for Common Lisp.")
10490 (home-page "http://quickdocs.org/uffi/")
10491 (license license:llgpl)))
10492
10493(define-public cl-uffi
10494 (package
10495 (inherit (sbcl-package->cl-source-package sbcl-uffi))
10496 (arguments
10497 `(#:phases
10498 ;; asdf-build-system/source has its own phases and does not inherit
10499 ;; from asdf-build-system/sbcl phases.
10500 (modify-phases %standard-phases/source
3b392074
GLV
10501 ;; Already done in SBCL package.
10502 (delete 'reset-gzip-timestamps))))))
5ae56f68
GLV
10503
10504(define-public sbcl-clsql
10505 (package
10506 (name "sbcl-clsql")
10507 (version "6.7.0")
10508 (source
10509 (origin
10510 (method git-fetch)
10511 (uri (git-reference
10512 (url "http://git.kpe.io/clsql.git")
10513 (commit (string-append "v" version))))
10514 (file-name (git-file-name name version))
10515 (sha256
10516 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
10517 (snippet
10518 '(begin
10519 ;; Remove precompiled libraries.
10520 (delete-file "db-mysql/clsql_mysql.dll")
10521 (delete-file "uffi/clsql_uffi.dll")
10522 (delete-file "uffi/clsql_uffi.lib")
10523 #t))))
10524 (build-system asdf-build-system/sbcl)
10525 (native-inputs
2ff8b5ba 10526 `(("rt" ,sbcl-rt)))
5ae56f68 10527 (inputs
2ff8b5ba
GLV
10528 `(("cffi" ,sbcl-cffi)
10529 ("md5" ,sbcl-md5)
10530 ("mysql" ,mysql)
5ae56f68 10531 ("postgresql" ,postgresql)
2ff8b5ba 10532 ("postmodern" ,sbcl-postmodern)
5ae56f68 10533 ("sqlite" ,sqlite)
2ff8b5ba 10534 ("uffi" ,sbcl-uffi)
5ae56f68 10535 ("zlib" ,zlib)))
5ae56f68 10536 (arguments
135bc7e3 10537 `(#:asd-files '("clsql.asd"
2ff8b5ba
GLV
10538 "clsql-uffi.asd"
10539 "clsql-sqlite3.asd"
10540 "clsql-postgresql.asd"
10541 "clsql-postgresql-socket3.asd"
10542 "clsql-mysql.asd")
10543 #:asd-systems '("clsql"
10544 "clsql-sqlite3"
135bc7e3 10545 "clsql-postgresql"
2ff8b5ba
GLV
10546 "clsql-postgresql-socket3"
10547 "clsql-mysql")
10548 #:phases
10549 (modify-phases %standard-phases
5ae56f68
GLV
10550 (add-after 'unpack 'fix-permissions
10551 (lambda _
10552 (make-file-writable "doc/html.tar.gz")
2ff8b5ba 10553 #t))
135bc7e3
GLV
10554 (add-after 'unpack 'fix-build
10555 (lambda _
10556 (substitute* "clsql-uffi.asd"
10557 (("\\(:version uffi \"2.0\"\\)")
10558 "uffi"))
10559 (substitute* "db-postgresql/postgresql-api.lisp"
10560 (("\\(data :cstring\\)")
10561 "(data :string)"))
10562 #t))
2ff8b5ba
GLV
10563 (add-after 'unpack 'fix-paths
10564 (lambda* (#:key inputs outputs #:allow-other-keys)
10565 (substitute* "db-sqlite3/sqlite3-loader.lisp"
10566 (("libsqlite3")
10567 (string-append (assoc-ref inputs "sqlite")
10568 "/lib/libsqlite3")))
10569 (substitute* "db-postgresql/postgresql-loader.lisp"
10570 (("libpq")
10571 (string-append (assoc-ref inputs "postgresql")
10572 "/lib/libpq")))
10573 (let ((lib (string-append "#p\""
10574 (assoc-ref outputs "out")
10575 "/lib/\"")))
10576 (substitute* "clsql-mysql.asd"
10577 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
10578 lib))
10579 (substitute* "db-mysql/mysql-loader.lisp"
10580 (("libmysqlclient" all)
10581 (string-append (assoc-ref inputs "mysql") "/lib/" all))
10582 (("clsql-mysql-system::\\*library-file-dir\\*")
10583 lib)))
10584 #t))
10585 (add-before 'build 'build-helper-library
10586 (lambda* (#:key inputs outputs #:allow-other-keys)
10587 (let* ((mysql (assoc-ref inputs "mysql"))
10588 (inc-dir (string-append mysql "/include/mysql"))
10589 (lib-dir (string-append mysql "/lib"))
10590 (shared-lib-dir (string-append (assoc-ref outputs "out")
10591 "/lib"))
10592 (shared-lib (string-append shared-lib-dir
10593 "/clsql_mysql.so")))
10594 (mkdir-p shared-lib-dir)
10595 (invoke "gcc" "-fPIC" "-shared"
10596 "-I" inc-dir
10597 "db-mysql/clsql_mysql.c"
10598 "-Wl,-soname=clsql_mysql"
10599 "-L" lib-dir "-lmysqlclient" "-lz"
10600 "-o" shared-lib)
10601 #t)))
10602 (add-after 'unpack 'fix-tests
10603 (lambda _
10604 (substitute* "clsql.asd"
10605 (("clsql-tests :force t")
10606 "clsql-tests"))
10607 #t)))))
10608 (synopsis "Common Lisp SQL Interface library")
10609 (description
10610 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
10611Xanalys CommonSQL interface for Lispworks. It provides low-level database
10612interfaces as well as a functional and an object oriented interface.")
10613 (home-page "http://clsql.kpe.io/")
10614 (license license:llgpl)))
079ee3b5 10615
2ff8b5ba 10616(define-public cl-clsql
079ee3b5 10617 (package
2ff8b5ba
GLV
10618 (inherit (sbcl-package->cl-source-package sbcl-clsql))
10619 (native-inputs
10620 `(("rt" ,cl-rt)))
079ee3b5
GLV
10621 (inputs
10622 `(("mysql" ,mysql)
2ff8b5ba
GLV
10623 ("postgresql" ,postgresql)
10624 ("sqlite" ,sqlite)
079ee3b5 10625 ("zlib" ,zlib)))
2ff8b5ba
GLV
10626 (propagated-inputs
10627 `(("cffi" ,cl-cffi)
10628 ("md5" ,cl-md5)
10629 ("postmodern" ,cl-postmodern)
10630 ("uffi" ,cl-uffi)))
079ee3b5 10631 (arguments
2ff8b5ba
GLV
10632 `(#:phases
10633 ;; asdf-build-system/source has its own phases and does not inherit
10634 ;; from asdf-build-system/sbcl phases.
10635 (modify-phases %standard-phases/source
10636 (add-after 'unpack 'fix-permissions
10637 (lambda _
10638 (make-file-writable "doc/html.tar.gz")
10639 #t)))))))
6dfc981a 10640
bdd3b1b2
GLV
10641(define-public ecl-clsql
10642 (let ((pkg (sbcl-package->ecl-package sbcl-clsql)))
10643 (package
10644 (inherit pkg)
10645 (inputs
10646 (alist-delete "uffi" (package-inputs pkg)))
10647 (arguments
10648 (substitute-keyword-arguments (package-arguments pkg)
10649 ((#:asd-files asd-files '())
10650 `(cons "clsql-cffi.asd" ,asd-files)))))))
10651
6dfc981a
PN
10652(define-public sbcl-sycamore
10653 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
10654 (package
10655 (name "sbcl-sycamore")
10656 (version "0.0.20120604")
10657 (source
10658 (origin
10659 (method git-fetch)
10660 (uri (git-reference
10661 (url "https://github.com/ndantam/sycamore/")
10662 (commit commit)))
10663 (file-name (git-file-name name version))
10664 (sha256
10665 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
10666 (build-system asdf-build-system/sbcl)
6dfc981a
PN
10667 (inputs
10668 `(("alexandria" ,sbcl-alexandria)
10669 ("cl-ppcre" ,sbcl-cl-ppcre)))
10670 (synopsis "Purely functional data structure library in Common Lisp")
10671 (description
10672 "Sycamore is a fast, purely functional data structure library in Common Lisp.
10673If features:
10674
10675@itemize
10676@item Fast, purely functional weight-balanced binary trees.
10677@item Leaf nodes are simple-vectors, greatly reducing tree height.
10678@item Interfaces for tree Sets and Maps (dictionaries).
10679@item Ropes.
10680@item Purely functional pairing heaps.
10681@item Purely functional amortized queue.
10682@end itemize\n")
10683 (home-page "http://ndantam.github.io/sycamore/")
10684 (license license:bsd-3))))
10685
10686(define-public cl-sycamore
10687 (sbcl-package->cl-source-package sbcl-sycamore))
eb5341c2 10688
12df8b7b
GLV
10689(define-public ecl-sycamore
10690 (sbcl-package->ecl-package sbcl-sycamore))
10691
eb5341c2
PN
10692(define-public sbcl-trivial-package-local-nicknames
10693 (package
10694 (name "sbcl-trivial-package-local-nicknames")
10695 (version "0.2")
10696 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
10697 (source
10698 (origin
10699 (method git-fetch)
10700 (uri (git-reference
10701 (url home-page)
10702 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
10703 (file-name (git-file-name name version))
10704 (sha256
10705 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
10706 (build-system asdf-build-system/sbcl)
10707 (synopsis "Common Lisp compatibility library for package local nicknames")
10708 (description
10709 "This library is a portable compatibility layer around package local nicknames (PLN).
10710This was done so there is a portability library for the PLN API not included
10711in DEFPACKAGE.")
10712 (license license:unlicense)))
10713
10714(define-public cl-trivial-package-local-nicknames
10715 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
2fa04968 10716
12df8b7b
GLV
10717(define-public ecl-trivial-package-local-nicknames
10718 (sbcl-package->ecl-package sbcl-trivial-package-local-nicknames))
10719
2fa04968
PN
10720(define-public sbcl-enchant
10721 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
10722 (package
10723 (name "sbcl-enchant")
10724 (version (git-version "0.0.0" "1" commit))
10725 (home-page "https://github.com/tlikonen/cl-enchant")
10726 (source
10727 (origin
10728 (method git-fetch)
10729 (uri (git-reference
10730 (url home-page)
10731 (commit commit)))
10732 (file-name (git-file-name name version))
10733 (sha256
10734 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
10735 (build-system asdf-build-system/sbcl)
10736 (inputs
10737 `(("enchant" ,enchant)
10738 ("cffi" ,sbcl-cffi)))
10739 (arguments
10740 `(#:phases
10741 (modify-phases %standard-phases
10742 (add-after 'unpack 'fix-paths
10743 (lambda* (#:key inputs #:allow-other-keys)
10744 (substitute* "load-enchant.lisp"
10745 (("libenchant")
10746 (string-append
10747 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
10748 (synopsis "Common Lisp interface for the Enchant spell-checker library")
10749 (description
10750 "Enchant is a Common Lisp interface for the Enchant spell-checker
10751library. The Enchant library is a generic spell-checker library which uses
10752other spell-checkers transparently as back-end. The library supports the
10753multiple checkers, including Aspell and Hunspell.")
10754 (license license:public-domain))))
10755
10756(define-public cl-enchant
10757 (sbcl-package->cl-source-package sbcl-enchant))
df95189d 10758
e7cbcf5a
GLV
10759(define-public ecl-enchant
10760 (sbcl-package->ecl-package sbcl-enchant))
10761
df95189d 10762(define-public sbcl-cl-change-case
fc284b73
SH
10763 (let ((commit "45c70b601125889689e0c1c37d7e727a3a0af022")
10764 (revision "1"))
df95189d
PN
10765 (package
10766 (name "sbcl-cl-change-case")
fc284b73 10767 (version (git-version "0.2.0" revision commit))
df95189d
PN
10768 (home-page "https://github.com/rudolfochrist/cl-change-case")
10769 (source
10770 (origin
10771 (method git-fetch)
10772 (uri (git-reference
10773 (url home-page)
10774 (commit commit)))
6cf3b1c2 10775 (file-name (git-file-name "cl-change-case" version))
df95189d 10776 (sha256
fc284b73 10777 (base32 "0qmk341zzcsbf8sq0w9ix3r080zg4ri6vzxym63lhdjfzwz3y8if"))))
df95189d
PN
10778 (build-system asdf-build-system/sbcl)
10779 (inputs
10780 `(("cl-ppcre" ,sbcl-cl-ppcre)
10781 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
10782 (native-inputs
10783 `(("fiveam" ,sbcl-fiveam)))
6cf3b1c2
GLV
10784 (synopsis
10785 "Convert Common Lisp strings between camelCase, PascalCase and more")
df95189d 10786 (description
6cf3b1c2
GLV
10787 "@code{cl-change-case} is a library to convert strings between
10788camelCase, PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
df95189d
PN
10789 (license license:llgpl))))
10790
10791(define-public cl-change-case
10792 (sbcl-package->cl-source-package sbcl-cl-change-case))
53c05faf 10793
e7cbcf5a
GLV
10794(define-public ecl-cl-change-case
10795 (sbcl-package->ecl-package sbcl-cl-change-case))
10796
f39d8d2c
SH
10797(define-public sbcl-modularize
10798 (let ((commit "86c5d9a11fbd2df9f0f03ac10b5d71837c8934ba")
10799 (revision "1"))
10800 (package
10801 (name "sbcl-modularize")
10802 (version (git-version "1.0.0" revision commit))
10803 (source
10804 (origin
10805 (method git-fetch)
10806 (uri (git-reference
10807 (url "https://github.com/Shinmera/modularize")
10808 (commit commit)))
10809 (file-name (git-file-name name version))
10810 (sha256
10811 (base32 "1zys29rfkb649rkgl3snxhajk8d5yf7ryxkrwy020kwdh7zdsg7d"))))
10812 (build-system asdf-build-system/sbcl)
10813 (arguments
10814 `(#:test-asd-file "modularize-test-module.asd"
10815 #:asd-files '("modularize.asd" "modularize-test-module.asd")
10816 #:asd-systems '("modularize" "modularize-test-module")))
10817 (inputs
10818 `(("documentation-utils" ,sbcl-documentation-utils)
10819 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)))
10820 (home-page "https://shinmera.github.io/modularize/")
10821 (synopsis "Common Lisp modularization framework")
10822 (description
10823 "@code{MODULARIZE} is an attempt at providing a common interface to
10824segregate major application components. This is achieved by adding special
10825treatment to packages. Each module is a package that is specially registered,
10826which allows it to interact and co-exist with other modules in better ways. For
10827instance, by adding module definition options you can introduce mechanisms to
10828tie modules together in functionality, hook into each other and so on.")
10829 (license license:zlib))))
10830
10831(define-public ecl-modularize
10832 (sbcl-package->ecl-package sbcl-modularize))
10833
10834(define-public cl-modularize
10835 (sbcl-package->cl-source-package sbcl-modularize))
10836
82f4d5d2
SH
10837(define-public sbcl-modularize-hooks
10838 (let ((commit "e0348ed3ffd59a9ec31ca4ab28289e748bfbf96a")
10839 (revision "1"))
10840 (package
10841 (name "sbcl-modularize-hooks")
10842 (version (git-version "1.0.2" revision commit))
10843 (source
10844 (origin
10845 (method git-fetch)
10846 (uri (git-reference
10847 (url "https://github.com/Shinmera/modularize-hooks")
10848 (commit commit)))
10849 (file-name (git-file-name "modularize-hooks" version))
10850 (sha256
10851 (base32 "12kjvin8hxidwkzfb7inqv5b6g5qzcssnj9wc497v2ixc56fqdz7"))))
10852 (build-system asdf-build-system/sbcl)
10853 (inputs
10854 `(("closer-mop" ,sbcl-closer-mop)
10855 ("lambda-fiddle" ,sbcl-lambda-fiddle)
10856 ("modularize" ,sbcl-modularize)
10857 ("trivial-arguments" ,sbcl-trivial-arguments)))
10858 (home-page "https://shinmera.github.io/modularize-hooks/")
eccdc91e 10859 (synopsis "Generic hooks and triggers extension for Modularize")
82f4d5d2
SH
10860 (description
10861 "This is a simple extension to @code{MODULARIZE} that allows modules to
10862define and trigger hooks, which other modules can hook on to.")
10863 (license license:zlib))))
10864
10865(define-public ecl-modularize-hooks
10866 (sbcl-package->ecl-package sbcl-modularize-hooks))
10867
10868(define-public cl-modularize-hooks
10869 (sbcl-package->cl-source-package sbcl-modularize-hooks))
10870
34200753
SH
10871(define-public sbcl-modularize-interfaces
10872 (let ((commit "96353657afb8c7aeba7ef5b51eb04c5ed3bcb6ef")
10873 (revision "1"))
10874 (package
10875 (name "sbcl-modularize-interfaces")
10876 (version (git-version "0.9.3" revision commit))
10877 (source
10878 (origin
10879 (method git-fetch)
10880 (uri (git-reference
10881 (url "https://github.com/Shinmera/modularize-interfaces")
10882 (commit commit)))
10883 (file-name (git-file-name "modularize-interfaces" version))
10884 (sha256
10885 (base32 "0bjf4wy39cwf75m7vh0r7mmcchs09yz2lrbyap98hnq8blq70fhc"))))
10886 (build-system asdf-build-system/sbcl)
10887 (inputs
10888 `(("lambda-fiddle" ,sbcl-lambda-fiddle)
10889 ("modularize" ,sbcl-modularize)
10890 ("trivial-arguments" ,sbcl-trivial-arguments)
10891 ("trivial-indent" ,sbcl-trivial-indent)))
10892 (home-page "https://shinmera.github.io/modularize-interfaces/")
10893 (synopsis "Programmatical interfaces extension for Modularize")
10894 (description
10895 "This is an extension to @code{MODULARIZE} that allows your application
10896to define interfaces in-code that serve both as a primary documentation and as
10897compliance control.")
10898 (license license:zlib))))
10899
10900(define-public ecl-modularize-interfaces
10901 (sbcl-package->ecl-package sbcl-modularize-interfaces))
10902
10903(define-public cl-modularize-interfaces
10904 (sbcl-package->cl-source-package sbcl-modularize-interfaces))
10905
53c05faf
PN
10906(define-public sbcl-moptilities
10907 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
10908 (package
10909 (name "sbcl-moptilities")
10910 (version (git-version "0.3.13" "1" commit))
10911 (home-page "https://github.com/gwkkwg/moptilities/")
10912 (source
10913 (origin
10914 (method git-fetch)
10915 (uri (git-reference
10916 (url home-page)
10917 (commit commit)))
10918 (file-name (git-file-name name version))
10919 (sha256
10920 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
10921 (build-system asdf-build-system/sbcl)
10922 (inputs
10923 `(("closer-mop" ,sbcl-closer-mop)))
10924 (native-inputs
10925 `(("lift" ,sbcl-lift)))
466bf553
GLV
10926 (arguments
10927 `(#:phases
10928 (modify-phases %standard-phases
10929 (add-after 'unpack 'fix-tests
10930 (lambda _
10931 (substitute* "lift-standard.config"
10932 ((":relative-to lift-test")
10933 ":relative-to moptilities-test"))
10934 #t)))))
53c05faf
PN
10935 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
10936 (description
10937 "MOP utilities provide a common interface between Lisps and make the
10938MOP easier to use.")
10939 (license license:expat))))
10940
10941(define-public cl-moptilities
10942 (sbcl-package->cl-source-package sbcl-moptilities))
8cf6d150
PN
10943
10944(define-public sbcl-osicat
10945 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
10946 (package
10947 (name "sbcl-osicat")
10948 (version (git-version "0.7.0" "1" commit))
10949 (home-page "http://www.common-lisp.net/project/osicat/")
10950 (source
10951 (origin
10952 (method git-fetch)
10953 (uri (git-reference
10954 (url "https://github.com/osicat/osicat")
10955 (commit commit)))
10956 (file-name (git-file-name name version))
10957 (sha256
10958 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
10959 (build-system asdf-build-system/sbcl)
8cf6d150
PN
10960 (inputs
10961 `(("alexandria" ,sbcl-alexandria)
10962 ("cffi" ,sbcl-cffi)
10963 ("trivial-features" ,sbcl-trivial-features)))
10964 (native-inputs
2ff8b5ba 10965 `(("rt" ,sbcl-rt)))
8cf6d150
PN
10966 (synopsis "Operating system interface for Common Lisp")
10967 (description
10968 "Osicat is a lightweight operating system interface for Common Lisp on
10969Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
10970accompaniment to the standard ANSI facilities.")
10971 (license license:expat))))
10972
10973(define-public cl-osicat
10974 (sbcl-package->cl-source-package sbcl-osicat))
b2eae0e1 10975
e7cbcf5a
GLV
10976(define-public ecl-osicat
10977 (sbcl-package->ecl-package sbcl-osicat))
10978
152d50d9
KCB
10979(define-public sbcl-clx-xembed
10980 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
10981 (revision "1"))
10982 (package
10983 (name "sbcl-clx-xembed")
10984 (version (git-version "0.1" revision commit))
10985 (home-page "https://github.com/laynor/clx-xembed")
10986 (source
10987 (origin
10988 (method git-fetch)
10989 (uri (git-reference
b0e7b699 10990 (url "https://github.com/laynor/clx-xembed")
152d50d9
KCB
10991 (commit commit)))
10992 (file-name (git-file-name name version))
10993 (sha256
10994 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
10995 (build-system asdf-build-system/sbcl)
10996 (arguments
2ff8b5ba 10997 `(#:asd-systems '("xembed")))
152d50d9
KCB
10998 (inputs
10999 `(("sbcl-clx" ,sbcl-clx)))
11000 (synopsis "CL(x) xembed protocol implementation ")
11001 (description "CL(x) xembed protocol implementation")
11002 ;; MIT License
11003 (license license:expat))))
11004
11005(define-public cl-clx-xembed
11006 (sbcl-package->cl-source-package sbcl-clx-xembed))
11007
11008(define-public ecl-clx-xembed
11009 (sbcl-package->ecl-package sbcl-clx-xembed))
11010
b2eae0e1
KCB
11011(define-public sbcl-quantile-estimator
11012 (package
11013 (name "sbcl-quantile-estimator")
11014 (version "0.0.1")
11015 (source
11016 (origin
11017 (method git-fetch)
11018 (uri (git-reference
11019 (url "https://github.com/deadtrickster/quantile-estimator.cl")
11020 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
11021 (file-name (git-file-name name version))
11022 (sha256
11023 (base32
11024 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
11025 (build-system asdf-build-system/sbcl)
11026 (arguments
e765d9c9 11027 '(#:asd-files '("quantile-estimator.asd")))
b2eae0e1
KCB
11028 (inputs
11029 `(("alexandria" ,sbcl-alexandria)))
11030 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
11031 (synopsis
11032 "Effective computation of biased quantiles over data streams")
11033 (description
11034 "Common Lisp implementation of Graham Cormode and S.
11035Muthukrishnan's Effective Computation of Biased Quantiles over Data
11036Streams in ICDE’05.")
11037 (license license:expat)))
11038
11039(define-public cl-quantile-estimator
11040 (sbcl-package->cl-source-package sbcl-quantile-estimator))
11041
11042(define-public ecl-quantile-estimator
11043 (sbcl-package->ecl-package sbcl-quantile-estimator))
4c7c3077
KCB
11044
11045(define-public sbcl-prometheus
11046 (package
11047 (name "sbcl-prometheus")
11048 (version "0.4.1")
11049 (source
11050 (origin
11051 (method git-fetch)
11052 (uri (git-reference
b0e7b699 11053 (url "https://github.com/deadtrickster/prometheus.cl")
4c7c3077
KCB
11054 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
11055 (file-name (git-file-name name version))
11056 (sha256
11057 (base32
11058 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
11059 (build-system asdf-build-system/sbcl)
11060 (inputs
11061 `(("alexandria" ,sbcl-alexandria)
11062 ("bordeaux-threads" ,sbcl-bordeaux-threads)
2ff8b5ba
GLV
11063 ("cffi" ,sbcl-cffi)
11064 ("cl-fad" ,sbcl-cl-fad)
4c7c3077 11065 ("cl-ppcre" ,sbcl-cl-ppcre)
2ff8b5ba
GLV
11066 ("drakma" ,sbcl-drakma)
11067 ("hunchentoot" ,sbcl-hunchentoot)
4c7c3077 11068 ("local-time" ,sbcl-local-time)
2ff8b5ba
GLV
11069 ("quantile-estimator" ,sbcl-quantile-estimator)
11070 ("salza2" ,sbcl-salza2)
11071 ("split-sequence" ,sbcl-split-sequence)
11072 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
11073 (arguments
11074 '(#:asd-files '("prometheus.asd"
11075 "prometheus.collectors.sbcl.asd"
11076 "prometheus.collectors.process.asd"
11077 "prometheus.formats.text.asd"
11078 "prometheus.exposers.hunchentoot.asd"
11079 "prometheus.pushgateway.asd")
11080 #:asd-systems '("prometheus"
11081 "prometheus.collectors.sbcl"
11082 "prometheus.collectors.process"
11083 "prometheus.formats.text"
11084 "prometheus.exposers.hunchentoot"
11085 "prometheus.pushgateway")))
4c7c3077
KCB
11086 (home-page "https://github.com/deadtrickster/prometheus.cl")
11087 (synopsis "Prometheus.io Common Lisp client")
11088 (description "Prometheus.io Common Lisp client.")
11089 (license license:expat)))
11090
11091(define-public cl-prometheus
11092 (sbcl-package->cl-source-package sbcl-prometheus))
11093
11094(define-public ecl-prometheus
11095 (sbcl-package->ecl-package sbcl-prometheus))
4e21f5bc 11096
59dda970
KCB
11097(define-public sbcl-uuid
11098 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
11099 (package
11100 (name "sbcl-uuid")
11101 (version (git-version "2012.12.26" "1" commit))
11102 (source
11103 (origin
11104 (method git-fetch)
11105 (uri (git-reference
b0e7b699 11106 (url "https://github.com/dardoria/uuid")
59dda970
KCB
11107 (commit commit)))
11108 (file-name (git-file-name name version))
11109 (sha256
11110 (base32
11111 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
11112 (build-system asdf-build-system/sbcl)
11113 (inputs
11114 `(("ironclad" ,sbcl-ironclad)
11115 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
11116 (home-page "https://github.com/dardoria/uuid")
11117 (synopsis
11118 "Common Lisp implementation of UUIDs according to RFC4122")
11119 (description
11120 "Common Lisp implementation of UUIDs according to RFC4122.")
11121 (license license:llgpl))))
11122
11123(define-public cl-uuid
11124 (sbcl-package->cl-source-package sbcl-uuid))
11125
11126(define-public ecl-uuid
11127 (sbcl-package->ecl-package sbcl-uuid))
adf70454
KCB
11128
11129(define-public sbcl-dissect
11130 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
11131 (package
11132 (name "sbcl-dissect")
11133 (version (git-version "1.0.0" "1" commit))
11134 (source
11135 (origin
11136 (method git-fetch)
11137 (uri (git-reference
b0e7b699 11138 (url "https://github.com/Shinmera/dissect")
adf70454
KCB
11139 (commit commit)))
11140 (file-name (git-file-name name version))
11141 (sha256
11142 (base32
11143 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
11144 (build-system asdf-build-system/sbcl)
11145 (inputs
11146 `(("cl-ppcre" ,sbcl-cl-ppcre)))
11147 (home-page "https://shinmera.github.io/dissect/")
11148 (synopsis
11149 "Introspection library for the call stack and restarts")
11150 (description
11151 "Dissect is a small Common Lisp library for introspecting the call stack
11152and active restarts.")
11153 (license license:zlib))))
11154
11155(define-public cl-dissect
11156 (sbcl-package->cl-source-package sbcl-dissect))
11157
11158(define-public ecl-dissect
11159 (sbcl-package->ecl-package sbcl-dissect))
38d738e9 11160
38d738e9
KCB
11161(define-public sbcl-rove
11162 (package
11163 (name "sbcl-rove")
11164 (version "0.9.6")
11165 (source
11166 (origin
11167 (method git-fetch)
11168 (uri (git-reference
b0e7b699 11169 (url "https://github.com/fukamachi/rove")
38d738e9
KCB
11170 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
11171 (file-name (git-file-name name version))
11172 (sha256
11173 (base32
11174 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
11175 (build-system asdf-build-system/sbcl)
11176 (inputs
11177 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11178 ("dissect" ,sbcl-dissect)
11179 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
11180 (home-page "https://github.com/fukamachi/rove")
11181 (synopsis
11182 "Yet another common lisp testing library")
11183 (description
11184 "Rove is a unit testing framework for Common Lisp applications.
11185This is intended to be a successor of Prove.")
11186 (license license:bsd-3)))
11187
11188(define-public cl-rove
11189 (sbcl-package->cl-source-package sbcl-rove))
11190
11191(define-public ecl-rove
11192 (sbcl-package->ecl-package sbcl-rove))
aae3df18
KCB
11193
11194(define-public sbcl-exponential-backoff
11195 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
11196 (package
11197 (name "sbcl-exponential-backoff")
11198 (version (git-version "0" "1" commit))
11199 (source
11200 (origin
11201 (method git-fetch)
11202 (uri (git-reference
b0e7b699 11203 (url "https://github.com/death/exponential-backoff")
aae3df18
KCB
11204 (commit commit)))
11205 (file-name (git-file-name name version))
11206 (sha256
11207 (base32
11208 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
11209 (build-system asdf-build-system/sbcl)
11210 (home-page "https://github.com/death/exponential-backoff")
11211 (synopsis "Exponential backoff algorithm in Common Lisp")
11212 (description
11213 "An implementation of the exponential backoff algorithm in Common Lisp.
11214Inspired by the implementation found in Chromium. Read the header file to
11215learn about each of the parameters.")
11216 (license license:expat))))
11217
11218(define-public cl-exponential-backoff
11219 (sbcl-package->cl-source-package sbcl-exponential-backoff))
11220
11221(define-public ecl-exponential-backoff
11222 (sbcl-package->ecl-package sbcl-exponential-backoff))
3e736218
KCB
11223
11224(define-public sbcl-sxql
b0872fb2 11225 (let ((commit "acdd183a4c38b4e0699a285f8a711c88f6b4302c"))
3e736218
KCB
11226 (package
11227 (name "sbcl-sxql")
b0872fb2 11228 (version (git-version "0.1.0" "2" commit))
3e736218
KCB
11229 (source
11230 (origin
11231 (method git-fetch)
11232 (uri (git-reference
b0e7b699 11233 (url "https://github.com/fukamachi/sxql")
3e736218 11234 (commit commit)))
b0872fb2 11235 (file-name (git-file-name "sqxl" version))
3e736218 11236 (sha256
b0872fb2 11237 (base32 "1i1crdsf2nbyxxpvjgrwmwpjxn6a4drbcmqs4q4shfi8zyap7vng"))))
3e736218 11238 (build-system asdf-build-system/sbcl)
3e736218
KCB
11239 (inputs
11240 `(("alexandria" ,sbcl-alexandria)
b0872fb2 11241 ("cl-package-locks" ,sbcl-cl-package-locks)
2ff8b5ba 11242 ("cl-syntax" ,sbcl-cl-syntax)
3e736218
KCB
11243 ("iterate" ,sbcl-iterate)
11244 ("optima" ,sbcl-optima)
11245 ("split-sequence" ,sbcl-split-sequence)
11246 ("trivial-types" ,sbcl-trivial-types)))
11247 (native-inputs
2ff8b5ba 11248 `(("prove" ,sbcl-prove)))
3e736218
KCB
11249 (home-page "https://github.com/fukamachi/sxql")
11250 (synopsis "SQL generator for Common Lisp")
11251 (description "SQL generator for Common Lisp.")
11252 (license license:bsd-3))))
11253
11254(define-public cl-sxql
11255 (sbcl-package->cl-source-package sbcl-sxql))
11256
11257(define-public ecl-sxql
11258 (sbcl-package->ecl-package sbcl-sxql))
1f9999df
KCB
11259
11260(define-public sbcl-1am
11261 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
11262 (package
11263 (name "sbcl-1am")
11264 (version (git-version "0.0" "1" commit))
11265 (source
11266 (origin
11267 (method git-fetch)
11268 (uri (git-reference
b0e7b699 11269 (url "https://github.com/lmj/1am")
1f9999df
KCB
11270 (commit commit)))
11271 (file-name (git-file-name name version))
11272 (sha256
11273 (base32
11274 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
11275 (build-system asdf-build-system/sbcl)
1f9999df
KCB
11276 (home-page "https://github.com/lmj/1am")
11277 (synopsis "Minimal testing framework for Common Lisp")
11278 (description "A minimal testing framework for Common Lisp.")
11279 (license license:expat))))
11280
11281(define-public cl-1am
11282 (sbcl-package->cl-source-package sbcl-1am))
11283
11284(define-public ecl-1am
11285 (sbcl-package->ecl-package sbcl-1am))
d7c60681
GLV
11286
11287(define-public sbcl-cl-ascii-table
11288 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
11289 (revision "1"))
11290 (package
11291 (name "sbcl-cl-ascii-table")
11292 (version (git-version "0.0.0" revision commit))
11293 (source
11294 (origin
11295 (method git-fetch)
11296 (uri (git-reference
b0e7b699 11297 (url "https://github.com/telephil/cl-ascii-table")
d7c60681
GLV
11298 (commit commit)))
11299 (file-name (git-file-name name version))
11300 (sha256
11301 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
11302 (build-system asdf-build-system/sbcl)
11303 (synopsis "Library to make ascii-art tables")
11304 (description
11305 "This is a Common Lisp library to present tabular data in ascii-art
11306tables.")
11307 (home-page "https://github.com/telephil/cl-ascii-table")
11308 (license license:expat))))
11309
11310(define-public cl-ascii-table
11311 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
11312
11313(define-public ecl-cl-ascii-table
11314 (sbcl-package->ecl-package sbcl-cl-ascii-table))
64174aff
KCB
11315
11316(define-public sbcl-cl-rdkafka
11317 (package
11318 (name "sbcl-cl-rdkafka")
ea6b4b90 11319 (version "1.1.0")
64174aff
KCB
11320 (source
11321 (origin
11322 (method git-fetch)
11323 (uri (git-reference
b0e7b699 11324 (url "https://github.com/SahilKang/cl-rdkafka")
64174aff
KCB
11325 (commit (string-append "v" version))))
11326 (file-name (git-file-name name version))
11327 (sha256
11328 (base32
ea6b4b90 11329 "0z2g0k0xy8k1p9g93h8dy9wbygaq7ziwagm4yz93zk67mhc0b84v"))))
64174aff
KCB
11330 (build-system asdf-build-system/sbcl)
11331 (arguments
11332 `(#:tests? #f ; Attempts to connect to locally running Kafka
11333 #:phases
11334 (modify-phases %standard-phases
11335 (add-after 'unpack 'fix-paths
11336 (lambda* (#:key inputs #:allow-other-keys)
11337 (substitute* "src/low-level/librdkafka-bindings.lisp"
11338 (("librdkafka" all)
11339 (string-append (assoc-ref inputs "librdkafka") "/lib/"
f596b476 11340 all))))))))
64174aff
KCB
11341 (inputs
11342 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11343 ("cffi" ,sbcl-cffi)
64174aff
KCB
11344 ("librdkafka" ,librdkafka)
11345 ("lparallel" ,sbcl-lparallel)
11346 ("trivial-garbage" ,sbcl-trivial-garbage)))
11347 (home-page "https://github.com/SahilKang/cl-rdkafka")
11348 (synopsis "Common Lisp client library for Apache Kafka")
11349 (description "A Common Lisp client library for Apache Kafka.")
11350 (license license:gpl3)))
11351
11352(define-public cl-rdkafka
11353 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
04dd8018 11354
e7cbcf5a
GLV
11355(define-public ecl-cl-rdkafka
11356 (sbcl-package->ecl-package sbcl-cl-rdkafka))
11357
04dd8018
PN
11358(define-public sbcl-acclimation
11359 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
11360 (package
11361 (name "sbcl-acclimation")
11362 (version (git-version "0.0.0" "1" commit))
11363 (source
11364 (origin
11365 (method git-fetch)
11366 (uri (git-reference
11367 (url "https://github.com/robert-strandh/Acclimation")
11368 (commit commit)))
11369 (file-name (git-file-name name version))
11370 (sha256
11371 (base32
11372 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
11373 (build-system asdf-build-system/sbcl)
11374 (home-page "https://github.com/robert-strandh/Acclimation")
11375 (synopsis "Internationalization library for Common Lisp")
11376 (description "This project is meant to provide tools for
11377internationalizing Common Lisp programs.
11378
11379One important aspect of internationalization is of course the language used in
11380error messages, documentation strings, etc. But with this project we provide
11381tools for all other aspects of internationalization as well, including dates,
11382weight, temperature, names of physical quantitites, etc.")
11383 (license license:bsd-2))))
11384
11385(define-public cl-acclimation
11386 (sbcl-package->cl-source-package sbcl-acclimation))
ba1727b0 11387
e7cbcf5a
GLV
11388(define-public ecl-acclimation
11389 (sbcl-package->ecl-package sbcl-acclimation))
11390
2ff8b5ba 11391(define-public sbcl-clump
ba1727b0
PN
11392 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
11393 (package
2ff8b5ba 11394 (name "sbcl-clump")
ba1727b0
PN
11395 (version (git-version "0.0.0" "1" commit))
11396 (source
11397 (origin
11398 (method git-fetch)
11399 (uri (git-reference
11400 (url "https://github.com/robert-strandh/Clump")
11401 (commit commit)))
11402 (file-name (git-file-name name version))
11403 (sha256
11404 (base32
11405 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
ba1727b0
PN
11406 (inputs
11407 `(("acclimation" ,sbcl-acclimation)))
11408 (build-system asdf-build-system/sbcl)
11409 (home-page "https://github.com/robert-strandh/Clump")
2ff8b5ba 11410 (synopsis "Collection of tree implementations for Common Lisp")
ba1727b0
PN
11411 (description "The purpose of this library is to provide a collection of
11412implementations of trees.
11413
11414In contrast to existing libraries such as cl-containers, it does not impose a
11415particular use for the trees. Instead, it aims for a stratified design,
11416allowing client code to choose between different levels of abstraction.
11417
11418As a consequence of this policy, low-level interfaces are provided where
11419the concrete representation is exposed, but also high level interfaces
11420where the trees can be used as search trees or as trees that represent
11421sequences of objects.")
11422 (license license:bsd-2))))
106354ea 11423
409fcee9
PN
11424(define-public cl-clump
11425 (sbcl-package->cl-source-package sbcl-clump))
19a1a98f 11426
e7cbcf5a
GLV
11427(define-public ecl-clump
11428 (sbcl-package->ecl-package sbcl-clump))
11429
2ff8b5ba 11430(define-public sbcl-cluffer
19a1a98f
PN
11431 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
11432 (package
2ff8b5ba 11433 (name "sbcl-cluffer")
19a1a98f
PN
11434 (version (git-version "0.0.0" "1" commit))
11435 (source
11436 (origin
11437 (method git-fetch)
11438 (uri (git-reference
11439 (url "https://github.com/robert-strandh/cluffer")
11440 (commit commit)))
11441 (file-name (git-file-name name version))
11442 (sha256
11443 (base32
11444 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
19a1a98f 11445 (build-system asdf-build-system/sbcl)
2ff8b5ba
GLV
11446 (inputs
11447 `(("acclimation" ,sbcl-acclimation)
11448 ("clump" ,sbcl-clump)))
19a1a98f
PN
11449 (home-page "https://github.com/robert-strandh/cluffer")
11450 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
11451 (description "Cluffer is a library for representing the buffer of a text
11452editor. As such, it defines a set of CLOS protocols for client code to
11453interact with the buffer contents in various ways, and it supplies different
11454implementations of those protocols for different purposes.")
11455 (license license:bsd-2))))
a4a24f66 11456
89c98c06
PN
11457(define-public cl-cluffer
11458 (sbcl-package->cl-source-package sbcl-cluffer))
8f1ab4fb 11459
e7cbcf5a
GLV
11460(define-public ecl-cluffer
11461 (sbcl-package->ecl-package sbcl-cluffer))
11462
8f1ab4fb
GLV
11463(define-public sbcl-cl-libsvm-format
11464 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
11465 (revision "0"))
11466 (package
11467 (name "sbcl-cl-libsvm-format")
11468 (version (git-version "0.1.0" revision commit))
11469 (source
11470 (origin
11471 (method git-fetch)
11472 (uri (git-reference
b0e7b699 11473 (url "https://github.com/masatoi/cl-libsvm-format")
8f1ab4fb
GLV
11474 (commit commit)))
11475 (file-name (git-file-name name version))
11476 (sha256
11477 (base32
11478 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
11479 (build-system asdf-build-system/sbcl)
11480 (native-inputs
2ff8b5ba 11481 `(("prove" ,sbcl-prove)))
8f1ab4fb
GLV
11482 (inputs
11483 `(("alexandria" ,sbcl-alexandria)))
11484 (synopsis "LibSVM data format reader for Common Lisp")
11485 (description
11486 "This Common Lisp library provides a fast reader for data in LibSVM
11487format.")
11488 (home-page "https://github.com/masatoi/cl-libsvm-format")
11489 (license license:expat))))
11490
11491(define-public cl-libsvm-format
11492 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
11493
11494(define-public ecl-cl-libsvm-format
11495 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
11496
11497(define-public sbcl-cl-online-learning
e11055f0
SH
11498 (let ((commit "87fbef8a340219e853adb3a5bf44a0470da76964")
11499 (revision "1"))
8f1ab4fb
GLV
11500 (package
11501 (name "sbcl-cl-online-learning")
11502 (version (git-version "0.5" revision commit))
11503 (source
11504 (origin
11505 (method git-fetch)
11506 (uri (git-reference
b0e7b699 11507 (url "https://github.com/masatoi/cl-online-learning")
8f1ab4fb 11508 (commit commit)))
e11055f0 11509 (file-name (git-file-name "cl-online-learning" version))
8f1ab4fb
GLV
11510 (sha256
11511 (base32
e11055f0 11512 "1lfq04lnxivx59nq5dd02glyqsqzf3vdn4s9b8wnaln5fs8g2ph9"))))
8f1ab4fb
GLV
11513 (build-system asdf-build-system/sbcl)
11514 (native-inputs
2ff8b5ba 11515 `(("prove" ,sbcl-prove)))
8f1ab4fb
GLV
11516 (inputs
11517 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11518 ("cl-store" ,sbcl-cl-store)))
11519 (arguments
e11055f0
SH
11520 `(#:test-asd-file "cl-online-learning-test.asd"
11521 #:asd-systems '("cl-online-learning-test"
11522 "cl-online-learning")))
11523 (home-page "https://github.com/masatoi/cl-online-learning")
8f1ab4fb
GLV
11524 (synopsis "Online Machine Learning for Common Lisp")
11525 (description
11526 "This library contains a collection of machine learning algorithms for
11527online linear classification written in Common Lisp.")
8f1ab4fb
GLV
11528 (license license:expat))))
11529
11530(define-public cl-online-learning
11531 (sbcl-package->cl-source-package sbcl-cl-online-learning))
11532
11533(define-public ecl-cl-online-learning
11534 (sbcl-package->ecl-package sbcl-cl-online-learning))
11535
b41d8a70
SH
11536(define-public sbcl-cl-mpg123
11537 (let ((commit "5f042c839d2ea4a2ff2a7b60c839d8633d64161d")
11538 (revision "1"))
11539 (package
11540 (name "sbcl-cl-mpg123")
11541 (version (git-version "1.0.0" revision commit))
11542 (source
11543 (origin
11544 (method git-fetch)
11545 (uri (git-reference
11546 (url "https://github.com/Shirakumo/cl-mpg123")
11547 (commit commit)))
11548 (file-name (git-file-name "cl-mpg123" version))
11549 (sha256
11550 (base32 "1hl721xaczxck008ax2y3jpkm509ry1sg3lklh2k76764m3ndrjf"))
11551 (modules '((guix build utils)))
11552 (snippet
11553 '(begin
11554 ;; Remove bundled pre-compiled libraries.
11555 (delete-file-recursively "static")
11556 #t))))
11557 (build-system asdf-build-system/sbcl)
11558 (arguments
11559 `(#:asd-files '("cl-mpg123.asd" "cl-mpg123-example.asd")
11560 #:asd-systems '("cl-mpg123" "cl-mpg123-example")
11561 #:phases
11562 (modify-phases %standard-phases
11563 (add-after 'unpack 'fix-paths
11564 (lambda* (#:key inputs #:allow-other-keys)
11565 (substitute* "low-level.lisp"
11566 (("libmpg123.so" all)
11567 (string-append (assoc-ref inputs "libmpg123")
11568 "/lib/" all))))))))
11569 (inputs
11570 `(("cffi" ,sbcl-cffi)
11571 ("cl-out123" ,sbcl-cl-out123)
11572 ("documentation-utils" ,sbcl-documentation-utils)
11573 ("libmpg123" ,mpg123)
11574 ("trivial-features" ,sbcl-trivial-features)
11575 ("trivial-garbage" ,sbcl-trivial-garbage)
11576 ("verbose" ,sbcl-verbose)))
11577 (home-page "https://shirakumo.github.io/cl-mpg123/")
11578 (synopsis "Common Lisp bindings to libmpg123")
11579 (description
11580 "This is a bindings and wrapper library to @code{libmpg123} allowing for
11581convenient, extensive, and fast decoding of MPEG1/2/3 (most prominently mp3)
11582files.")
11583 (license license:zlib))))
11584
11585(define-public ecl-cl-mpg123
11586 (sbcl-package->ecl-package sbcl-cl-mpg123))
11587
11588(define-public cl-mpg123
11589 (sbcl-package->cl-source-package sbcl-cl-mpg123))
11590
9c8ed43d
SH
11591(define-public sbcl-cl-out123
11592 (let ((commit "6b58d3f8c2a28ad09059ac4c60fb3c781b9b421b")
11593 (revision "1"))
11594 (package
11595 (name "sbcl-cl-out123")
11596 (version (git-version "1.0.0" revision commit))
11597 (source
11598 (origin
11599 (method git-fetch)
11600 (uri (git-reference
11601 (url "https://github.com/Shirakumo/cl-out123")
11602 (commit commit)))
11603 (file-name (git-file-name "cl-out123" version))
11604 (sha256
11605 (base32 "0mdwgfax6sq68wvdgjjp78i40ah7wqkpqnvaq8a1c509k7ghdgv1"))
11606 (modules '((guix build utils)))
11607 (snippet
11608 '(begin
11609 ;; Remove bundled pre-compiled libraries.
11610 (delete-file-recursively "static")
11611 #t))))
11612 (build-system asdf-build-system/sbcl)
11613 (arguments
11614 `(#:phases
11615 (modify-phases %standard-phases
11616 (add-after 'unpack 'fix-paths
11617 (lambda* (#:key inputs #:allow-other-keys)
11618 (substitute* "low-level.lisp"
11619 (("libout123.so" all)
11620 (string-append (assoc-ref inputs "libout123")
11621 "/lib/" all)))))
11622 ;; NOTE: (Sharlatan-20210129T134529+0000): ECL package `ext' has no
11623 ;; exported macro `without-interrupts' it's moved to `mp' package
11624 ;; https://github.com/Shirakumo/cl-out123/issues/2
11625 ;; https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/src/lsp/mp.lsp
11626 (add-after 'unpack 'fix-ecl-package-name
11627 (lambda _
11628 (substitute* "wrapper.lisp"
11629 (("ext:without-interrupts.*") "mp:without-interrupts\n"))
11630 #t)))))
11631 (inputs
11632 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11633 ("cffi" ,sbcl-cffi)
11634 ("documentation-utils" ,sbcl-documentation-utils)
11635 ("libout123" ,mpg123)
11636 ("trivial-features" ,sbcl-trivial-features)
11637 ("trivial-garbage" ,sbcl-trivial-garbage)))
11638 (home-page "https://shirakumo.github.io/cl-out123/")
11639 (synopsis "Common Lisp bindings to libout123")
11640 (description
11641 "This is a bindings library to @code{libout123} which allows easy
11642cross-platform audio playback.")
11643 (license license:zlib))))
11644
11645(define-public ecl-cl-out123
11646 (sbcl-package->ecl-package sbcl-cl-out123))
11647
11648(define-public cl-out123
11649 (sbcl-package->cl-source-package sbcl-cl-out123))
11650
8f1ab4fb 11651(define-public sbcl-cl-random-forest
4e7d5e32
GLV
11652 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
11653 (revision "1"))
8f1ab4fb
GLV
11654 (package
11655 (name "sbcl-cl-random-forest")
11656 (version (git-version "0.1" revision commit))
11657 (source
11658 (origin
11659 (method git-fetch)
11660 (uri (git-reference
b0e7b699 11661 (url "https://github.com/masatoi/cl-random-forest")
8f1ab4fb
GLV
11662 (commit commit)))
11663 (file-name (git-file-name name version))
11664 (sha256
11665 (base32
4e7d5e32 11666 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
8f1ab4fb
GLV
11667 (build-system asdf-build-system/sbcl)
11668 (native-inputs
11669 `(("prove" ,sbcl-prove)
8f1ab4fb
GLV
11670 ("trivial-garbage" ,sbcl-trivial-garbage)))
11671 (inputs
11672 `(("alexandria" ,sbcl-alexandria)
11673 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11674 ("cl-online-learning" ,sbcl-cl-online-learning)
11675 ("lparallel" ,sbcl-lparallel)))
11676 (arguments
11677 `(#:tests? #f)) ; The tests download data from the Internet
11678 (synopsis "Random Forest and Global Refinement for Common Lisp")
11679 (description
11680 "CL-random-forest is an implementation of Random Forest for multiclass
11681classification and univariate regression written in Common Lisp. It also
11682includes an implementation of Global Refinement of Random Forest.")
11683 (home-page "https://github.com/masatoi/cl-random-forest")
11684 (license license:expat))))
11685
11686(define-public cl-random-forest
11687 (sbcl-package->cl-source-package sbcl-cl-random-forest))
11688
11689(define-public ecl-cl-random-forest
11690 (sbcl-package->ecl-package sbcl-cl-random-forest))
5a2997e5
GLV
11691
11692(define-public sbcl-bordeaux-fft
11693 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
11694 (revision "0"))
11695 (package
11696 (name "sbcl-bordeaux-fft")
11697 (version (git-version "1.0.1" revision commit))
11698 (source
11699 (origin
11700 (method git-fetch)
11701 (uri (git-reference
b0e7b699 11702 (url "https://github.com/ahefner/bordeaux-fft")
5a2997e5
GLV
11703 (commit commit)))
11704 (file-name (git-file-name name version))
11705 (sha256
11706 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
11707 (build-system asdf-build-system/sbcl)
11708 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
11709 (synopsis "Fast Fourier Transform for Common Lisp")
11710 (description
11711 "The Bordeaux-FFT library provides a reasonably efficient implementation
11712of the Fast Fourier Transform and its inverse for complex-valued inputs, in
11713portable Common Lisp.")
11714 (license license:gpl2+))))
11715
11716(define-public cl-bordeaux-fft
11717 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
11718
11719(define-public ecl-bordeaux-fft
11720 (sbcl-package->ecl-package sbcl-bordeaux-fft))
c7ce30cd
GLV
11721
11722(define-public sbcl-napa-fft3
11723 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
11724 (revision "0"))
11725 (package
11726 (name "sbcl-napa-fft3")
11727 (version (git-version "0.0.1" revision commit))
11728 (source
11729 (origin
11730 (method git-fetch)
11731 (uri (git-reference
b0e7b699 11732 (url "https://github.com/pkhuong/Napa-FFT3")
c7ce30cd
GLV
11733 (commit commit)))
11734 (file-name (git-file-name name version))
11735 (sha256
11736 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
11737 (build-system asdf-build-system/sbcl)
11738 (home-page "https://github.com/pkhuong/Napa-FFT3")
11739 (synopsis "Fast Fourier Transform routines in Common Lisp")
11740 (description
11741 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
11742buildings blocks to express common operations that involve DFTs: filtering,
11743convolutions, etc.")
11744 (license license:bsd-3))))
11745
11746(define-public cl-napa-fft3
11747 (sbcl-package->cl-source-package sbcl-napa-fft3))
2020a056
GLV
11748
11749(define-public sbcl-cl-tga
11750 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
11751 (revision "0"))
11752 (package
11753 (name "sbcl-cl-tga")
11754 (version (git-version "0.0.0" revision commit))
11755 (source
11756 (origin
11757 (method git-fetch)
11758 (uri (git-reference
11759 (url "https://github.com/fisxoj/cl-tga")
11760 (commit commit)))
11761 (file-name (git-file-name name version))
11762 (sha256
11763 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
11764 (build-system asdf-build-system/sbcl)
11765 (home-page "https://github.com/fisxoj/cl-tga")
11766 (synopsis "TGA file loader for Common Lisp")
11767 (description
11768 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
11769programs. It's a very simple library, and, at the moment, only supports
11770non-RLE encoded forms of the files.")
11771 (license license:expat))))
11772
11773(define-public cl-tga
11774 (sbcl-package->cl-source-package sbcl-cl-tga))
11775
11776(define-public ecl-cl-tga
11777 (sbcl-package->ecl-package sbcl-cl-tga))
31c67a85
GLV
11778
11779(define-public sbcl-com.gigamonkeys.binary-data
11780 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
11781 (revision "0"))
11782 (package
11783 (name "sbcl-com.gigamonkeys.binary-data")
11784 (version (git-version "0.0.0" revision commit))
11785 (source
11786 (origin
11787 (method git-fetch)
11788 (uri (git-reference
11789 (url "https://github.com/gigamonkey/monkeylib-binary-data")
11790 (commit commit)))
11791 (file-name (git-file-name name version))
11792 (sha256
11793 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
11794 (build-system asdf-build-system/sbcl)
11795 (inputs
11796 `(("alexandria" ,sbcl-alexandria)))
11797 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
11798 (synopsis "Common Lisp library for reading and writing binary data")
11799 (description
11800 "This a Common Lisp library for reading and writing binary data. It is
11801based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
11802 (license license:bsd-3))))
11803
11804(define-public cl-com.gigamonkeys.binary-data
11805 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
11806
11807(define-public ecl-com.gigamonkeys.binary-data
11808 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
556daf64
GLV
11809
11810(define-public sbcl-deflate
11811 (package
11812 (name "sbcl-deflate")
11813 (version "1.0.3")
11814 (source
11815 (origin
11816 (method git-fetch)
11817 (uri (git-reference
11818 (url "https://github.com/pmai/Deflate")
11819 (commit (string-append "release-" version))))
11820 (file-name (git-file-name name version))
11821 (sha256
11822 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
11823 (build-system asdf-build-system/sbcl)
11824 (home-page "https://github.com/pmai/Deflate")
11825 (synopsis "Native deflate decompression for Common Lisp")
11826 (description
11827 "This library is an implementation of Deflate (RFC 1951) decompression,
11828with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
11829wrappers of deflate streams. It currently does not handle compression.")
11830 (license license:expat)))
11831
11832(define-public cl-deflate
11833 (sbcl-package->cl-source-package sbcl-deflate))
11834
11835(define-public ecl-deflate
11836 (sbcl-package->ecl-package sbcl-deflate))
7387c090
GLV
11837
11838(define-public sbcl-skippy
11839 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
11840 (revision "0"))
11841 (package
11842 (name "sbcl-skippy")
11843 (version (git-version "1.3.12" revision commit))
11844 (source
11845 (origin
11846 (method git-fetch)
11847 (uri (git-reference
11848 (url "https://github.com/xach/skippy")
11849 (commit commit)))
11850 (file-name (git-file-name name version))
11851 (sha256
11852 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
11853 (build-system asdf-build-system/sbcl)
11854 (home-page "https://xach.com/lisp/skippy/")
11855 (synopsis "Common Lisp library for GIF images")
11856 (description
11857 "Skippy is a Common Lisp library to read and write GIF image files.")
11858 (license license:bsd-2))))
11859
11860(define-public cl-skippy
11861 (sbcl-package->cl-source-package sbcl-skippy))
11862
11863(define-public ecl-skippy
11864 (sbcl-package->ecl-package sbcl-skippy))
ec2c73b8
GLV
11865
11866(define-public sbcl-cl-freetype2
11867 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
11868 (revision "0"))
11869 (package
11870 (name "sbcl-cl-freetype2")
11871 (version (git-version "1.1" revision commit))
11872 (source
11873 (origin
11874 (method git-fetch)
11875 (uri (git-reference
11876 (url "https://github.com/rpav/cl-freetype2")
11877 (commit commit)))
11878 (file-name (git-file-name name version))
11879 (sha256
11880 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
11881 (build-system asdf-build-system/sbcl)
11882 (native-inputs
11883 `(("fiveam" ,sbcl-fiveam)))
11884 (inputs
11885 `(("alexandria" ,sbcl-alexandria)
11886 ("cffi" ,sbcl-cffi)
ec2c73b8
GLV
11887 ("freetype" ,freetype)
11888 ("trivial-garbage" ,sbcl-trivial-garbage)))
11889 (arguments
11890 `(#:phases
11891 (modify-phases %standard-phases
11892 (add-after 'unpack 'fix-paths
11893 (lambda* (#:key inputs #:allow-other-keys)
11894 (substitute* "src/ffi/ft2-lib.lisp"
11895 (("\"libfreetype\"")
11896 (string-append "\"" (assoc-ref inputs "freetype")
11897 "/lib/libfreetype\"")))
11898 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
11899 (("-I/usr/include/freetype")
11900 (string-append "-I" (assoc-ref inputs "freetype")
11901 "/include/freetype")))
11902 #t)))))
11903 (home-page "https://github.com/rpav/cl-freetype2")
11904 (synopsis "Common Lisp bindings for Freetype 2")
11905 (description
11906 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
11907geared toward both using Freetype directly by providing a simplified API, as
11908well as providing access to the underlying C structures and functions for use
11909with other libraries which may also use Freetype.")
11910 (license license:bsd-3))))
11911
11912(define-public cl-freetype2
11913 (sbcl-package->cl-source-package sbcl-cl-freetype2))
11914
11915(define-public ecl-cl-freetype2
11916 (sbcl-package->ecl-package sbcl-cl-freetype2))
fc748ff0
GLV
11917
11918(define-public sbcl-opticl-core
11919 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
11920 (revision "0"))
11921 (package
11922 (name "sbcl-opticl-core")
11923 (version (git-version "0.0.0" revision commit))
11924 (source
11925 (origin
11926 (method git-fetch)
11927 (uri (git-reference
11928 (url "https://github.com/slyrus/opticl-core")
11929 (commit commit)))
11930 (file-name (git-file-name name version))
11931 (sha256
11932 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
11933 (build-system asdf-build-system/sbcl)
11934 (inputs
11935 `(("alexandria" ,sbcl-alexandria)))
11936 (home-page "https://github.com/slyrus/opticl-core")
11937 (synopsis "Core classes and pixel access macros for Opticl")
11938 (description
11939 "This Common Lisp library contains the core classes and pixel access
11940macros for the Opticl image processing library.")
11941 (license license:bsd-2))))
11942
11943(define-public cl-opticl-core
11944 (sbcl-package->cl-source-package sbcl-opticl-core))
11945
11946(define-public ecl-opticl-core
11947 (sbcl-package->ecl-package sbcl-opticl-core))
1c1b0532
GLV
11948
11949(define-public sbcl-retrospectiff
11950 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
11951 (revision "0"))
11952 (package
11953 (name "sbcl-retrospectiff")
11954 (version (git-version "0.2" revision commit))
11955 (source
11956 (origin
11957 (method git-fetch)
11958 (uri (git-reference
11959 (url "https://github.com/slyrus/retrospectiff")
11960 (commit commit)))
11961 (file-name (git-file-name name version))
11962 (sha256
11963 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
11964 (build-system asdf-build-system/sbcl)
11965 (native-inputs
11966 `(("fiveam" ,sbcl-fiveam)))
11967 (inputs
11968 `(("cl-jpeg" ,sbcl-cl-jpeg)
11969 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
11970 ("deflate" ,sbcl-deflate)
11971 ("flexi-streams" ,sbcl-flexi-streams)
11972 ("ieee-floats" ,sbcl-ieee-floats)
11973 ("opticl-core" ,sbcl-opticl-core)))
11974 (home-page "https://github.com/slyrus/retrospectiff")
11975 (synopsis "Common Lisp library for TIFF images")
11976 (description
11977 "Retrospectiff is a common lisp library for reading and writing images
11978in the TIFF (Tagged Image File Format) format.")
11979 (license license:bsd-2))))
11980
2ff8b5ba
GLV
11981(define-public cl-retrospectif
11982 (sbcl-package->cl-source-package sbcl-retrospectiff))
b0e7bc35 11983
2ff8b5ba
GLV
11984(define-public ecl-retrospectiff
11985 (sbcl-package->ecl-package sbcl-retrospectiff))
b736e9ba 11986
2ff8b5ba
GLV
11987(define-public sbcl-mmap
11988 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
b736e9ba
GLV
11989 (revision "0"))
11990 (package
2ff8b5ba
GLV
11991 (name "sbcl-mmap")
11992 (version (git-version "1.0.0" revision commit))
b736e9ba
GLV
11993 (source
11994 (origin
11995 (method git-fetch)
11996 (uri (git-reference
2ff8b5ba 11997 (url "https://github.com/Shinmera/mmap")
b736e9ba
GLV
11998 (commit commit)))
11999 (file-name (git-file-name name version))
12000 (sha256
2ff8b5ba 12001 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
b736e9ba
GLV
12002 (build-system asdf-build-system/sbcl)
12003 (native-inputs
b736e9ba 12004 `(("alexandria" ,sbcl-alexandria)
2ff8b5ba
GLV
12005 ("cffi" ,sbcl-cffi)
12006 ("parachute" ,sbcl-parachute)
12007 ("trivial-features" ,sbcl-trivial-features)))
12008 (inputs
12009 `(("cffi" ,sbcl-cffi)
12010 ("documentation-utils" ,sbcl-documentation-utils)))
12011 (home-page "https://shinmera.github.io/mmap/")
12012 (synopsis "File memory mapping for Common Lisp")
b736e9ba 12013 (description
2ff8b5ba
GLV
12014 "This is a utility library providing access to the @emph{mmap} family of
12015functions in a portable way. It allows you to directly map a file into the
12016address space of your process without having to manually read it into memory
12017sequentially. Typically this is much more efficient for files that are larger
12018than a few Kb.")
12019 (license license:zlib))))
b736e9ba 12020
2ff8b5ba
GLV
12021(define-public cl-mmap
12022 (sbcl-package->cl-source-package sbcl-mmap))
d0a6906d 12023
2ff8b5ba
GLV
12024(define-public ecl-mmap
12025 (sbcl-package->ecl-package sbcl-mmap))
12026
12027(define-public sbcl-3bz
13337a2f
SH
12028 (let ((commit "569614c40408f3aefc77ba233e0e4bd66d3850ad")
12029 (revision "1"))
d0a6906d 12030 (package
2ff8b5ba
GLV
12031 (name "sbcl-3bz")
12032 (version (git-version "0.0.0" revision commit))
d0a6906d
GLV
12033 (source
12034 (origin
12035 (method git-fetch)
12036 (uri (git-reference
2ff8b5ba 12037 (url "https://github.com/3b/3bz")
d0a6906d
GLV
12038 (commit commit)))
12039 (file-name (git-file-name name version))
12040 (sha256
13337a2f 12041 (base32 "0kvvlvf50jhhw1s510f3clpr1a68632bq6d698yxcrx722igcrg4"))))
d0a6906d
GLV
12042 (build-system asdf-build-system/sbcl)
12043 (inputs
12044 `(("alexandria" ,sbcl-alexandria)
2ff8b5ba
GLV
12045 ("babel" ,sbcl-babel)
12046 ("cffi" ,sbcl-cffi)
12047 ("mmap" ,sbcl-mmap)
12048 ("nibbles" ,sbcl-nibbles)
12049 ("trivial-features" ,sbcl-trivial-features)))
2ff8b5ba
GLV
12050 (home-page "https://github.com/3b/3bz")
12051 (synopsis "Deflate decompression for Common Lisp")
d0a6906d 12052 (description
2ff8b5ba
GLV
12053 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
12054with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
12055foreign pointers (for use with mmap and similar, etc), and from CL octet
12056vectors and streams.")
12057 (license license:expat))))
1a1b584b 12058
2ff8b5ba
GLV
12059(define-public cl-3bz
12060 (sbcl-package->cl-source-package sbcl-3bz))
efa88f90 12061
2ff8b5ba
GLV
12062(define-public ecl-3bz
12063 (sbcl-package->ecl-package sbcl-3bz))
9757de5d 12064
2ff8b5ba 12065(define-public sbcl-zpb-exif
9757de5d 12066 (package
2ff8b5ba
GLV
12067 (name "sbcl-zpb-exif")
12068 (version "1.2.4")
12069 (source
12070 (origin
12071 (method git-fetch)
12072 (uri (git-reference
12073 (url "https://github.com/xach/zpb-exif")
12074 (commit (string-append "release-" version))))
12075 (file-name (git-file-name name version))
12076 (sha256
12077 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
12078 (build-system asdf-build-system/sbcl)
12079 (home-page "https://xach.com/lisp/zpb-exif/")
12080 (synopsis "EXIF information extractor for Common Lisp")
12081 (description
12082 "This is a Common Lisp library to extract EXIF information from image
12083files.")
12084 (license license:bsd-2)))
000ee6e5 12085
2ff8b5ba
GLV
12086(define-public cl-zpb-exif
12087 (sbcl-package->cl-source-package sbcl-zpb-exif))
d92e2649 12088
2ff8b5ba
GLV
12089(define-public ecl-zpb-exif
12090 (sbcl-package->ecl-package sbcl-zpb-exif))
c93bd9f8 12091
2ff8b5ba 12092(define-public sbcl-pngload
6591e184
SH
12093 (let ((commit "91f1d703c65bb6a94d6fee06ddbbbbbc5778b71f")
12094 (revision "2"))
12095 (package
12096 (name "sbcl-pngload")
12097 (version (git-version "2.0.0" revision commit))
12098 (source
12099 (origin
12100 (method git-fetch)
12101 (uri (git-reference
12102 (url "https://git.mfiano.net/mfiano/pngload.git")
12103 (commit commit)))
12104 (file-name (git-file-name "pngload" version))
12105 (sha256
12106 (base32 "0s94fdbrbqj12qvgyn2g4lfwvz7qhhzbclrpz5ni7adwxgrmvxl1"))))
12107 (build-system asdf-build-system/sbcl)
12108 (inputs
12109 `(("3bz" ,sbcl-3bz)
12110 ("alexandria" ,sbcl-alexandria)
12111 ("cffi" ,sbcl-cffi)
12112 ("mmap" ,sbcl-mmap)
12113 ("parse-float" ,sbcl-parse-float)
12114 ("static-vectors" ,sbcl-static-vectors)
12115 ("swap-bytes" ,sbcl-swap-bytes)
12116 ("zpb-exif" ,sbcl-zpb-exif)))
12117 (arguments
12118 ;; Test suite disabled because of a dependency cycle.
12119 ;; pngload tests depend on opticl which depends on pngload.
12120 '(#:tests? #f))
12121 (home-page "https://git.mfiano.net/mfiano/pngload.git")
12122 (synopsis "PNG image decoder for Common Lisp")
12123 (description
12124 "This is a Common Lisp library to load images in the PNG image format,
2ff8b5ba 12125both from files on disk, or streams in memory.")
6591e184 12126 (license license:expat))))
92da537c 12127
2ff8b5ba
GLV
12128(define-public cl-pngload
12129 (sbcl-package->cl-source-package sbcl-pngload))
5d2abf9f 12130
2ff8b5ba
GLV
12131(define-public ecl-pngload
12132 (sbcl-package->ecl-package sbcl-pngload))
e8875462 12133
2ff8b5ba
GLV
12134(define-public sbcl-opticl
12135 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
12136 (revision "0"))
12137 (package
12138 (name "sbcl-opticl")
12139 (version (git-version "0.0.0" revision commit))
12140 (source
12141 (origin
12142 (method git-fetch)
12143 (uri (git-reference
12144 (url "https://github.com/slyrus/opticl")
12145 (commit commit)))
12146 (file-name (git-file-name name version))
12147 (sha256
12148 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
12149 (build-system asdf-build-system/sbcl)
12150 (native-inputs
12151 `(("fiveam" ,sbcl-fiveam)))
12152 (inputs
12153 `(("alexandria" ,sbcl-alexandria)
12154 ("cl-jpeg" ,sbcl-cl-jpeg)
12155 ("cl-tga" ,sbcl-cl-tga)
12156 ("png-read" ,sbcl-png-read)
12157 ("pngload" ,sbcl-pngload)
12158 ("retrospectiff" ,sbcl-retrospectiff)
12159 ("skippy" ,sbcl-skippy)
12160 ("zpng" ,sbcl-zpng)))
3f8bbf7c
GLV
12161 (arguments
12162 '(#:asd-files '("opticl.asd")))
2ff8b5ba
GLV
12163 (home-page "https://github.com/slyrus/opticl")
12164 (synopsis "Image processing library for Common Lisp")
12165 (description
12166 "Opticl is a Common Lisp library for representing, processing, loading,
12167and saving 2-dimensional pixel-based images.")
12168 (license license:bsd-2))))
8e0e7f35 12169
2ff8b5ba
GLV
12170(define-public cl-opticl
12171 (sbcl-package->cl-source-package sbcl-opticl))
8afd2d10 12172
e7cbcf5a
GLV
12173(define-public ecl-opticl
12174 (sbcl-package->ecl-package sbcl-opticl))
12175
8afd2d10 12176(define-public sbcl-mcclim
6af3d85a
GLV
12177 (let ((commit "04cc542dd4b461b9d56406e40681d1a8f080730f")
12178 (revision "1"))
0f935e95 12179 (package
2ff8b5ba
GLV
12180 (name "sbcl-mcclim")
12181 (version (git-version "0.9.7" revision commit))
12182 (source
12183 (origin
12184 (method git-fetch)
12185 (uri (git-reference
12186 (url "https://github.com/mcclim/mcclim")
12187 (commit commit)))
12188 (file-name (git-file-name name version))
12189 (sha256
6af3d85a 12190 (base32 "1xjly8i62z72hfhlnz5kjd9i8xhrwckc7avyizxvhih67pkjmsx0"))))
2ff8b5ba 12191 (build-system asdf-build-system/sbcl)
0f935e95 12192 (native-inputs
2ff8b5ba 12193 `(("fiveam" ,sbcl-fiveam)
0f935e95
GLV
12194 ("pkg-config" ,pkg-config)))
12195 (inputs
2ff8b5ba
GLV
12196 `(("alexandria" ,sbcl-alexandria)
12197 ("babel" ,sbcl-babel)
12198 ("bordeaux-threads" ,sbcl-bordeaux-threads)
12199 ("cl-freetype2" ,sbcl-cl-freetype2)
12200 ("cl-pdf" ,sbcl-cl-pdf)
12201 ("cffi" ,sbcl-cffi)
12202 ("cl-unicode" ,sbcl-cl-unicode)
12203 ("cl-vectors" ,sbcl-cl-vectors)
12204 ("closer-mop" ,sbcl-closer-mop)
12205 ("clx" ,sbcl-clx)
12206 ("flexi-streams" ,sbcl-flexi-streams)
12207 ("flexichain" ,sbcl-flexichain)
12208 ("font-dejavu" ,font-dejavu)
0f935e95
GLV
12209 ("fontconfig" ,fontconfig)
12210 ("freetype" ,freetype)
12211 ("harfbuzz" ,harfbuzz)
2ff8b5ba
GLV
12212 ("log4cl" ,sbcl-log4cl)
12213 ("opticl" ,sbcl-opticl)
12214 ("spatial-trees" ,sbcl-spatial-trees)
12215 ("swank" ,sbcl-slime-swank)
12216 ("trivial-features" ,sbcl-trivial-features)
12217 ("trivial-garbage" ,sbcl-trivial-garbage)
12218 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
12219 ("zpb-ttf" ,sbcl-zpb-ttf)))
12220 (arguments
3f8bbf7c 12221 '(#:asd-systems '("mcclim"
2ff8b5ba
GLV
12222 "clim-examples")
12223 #:phases
12224 (modify-phases %standard-phases
12225 (add-after 'unpack 'fix-paths
12226 (lambda* (#:key inputs #:allow-other-keys)
12227 ;; mcclim-truetype uses DejaVu as default font and
12228 ;; sets the path at build time.
12229 (substitute* "Extensions/fonts/fontconfig.lisp"
12230 (("/usr/share/fonts/truetype/dejavu/")
12231 (string-append (assoc-ref inputs "font-dejavu")
12232 "/share/fonts/truetype/")))
12233 (substitute* "Extensions/fontconfig/src/functions.lisp"
12234 (("libfontconfig\\.so")
12235 (string-append (assoc-ref inputs "fontconfig")
12236 "/lib/libfontconfig.so")))
12237 (substitute* "Extensions/harfbuzz/src/functions.lisp"
12238 (("libharfbuzz\\.so")
12239 (string-append (assoc-ref inputs "harfbuzz")
12240 "/lib/libharfbuzz.so")))
12241 #t))
12242 (add-after 'unpack 'fix-build
12243 (lambda _
12244 ;; The cffi-grovel system does not get loaded automatically,
12245 ;; so we load it explicitly.
12246 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
12247 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
12248 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
12249 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
12250 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
12251 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
12252 #t)))))
12253 (home-page "https://common-lisp.net/project/mcclim/")
12254 (synopsis "Common Lisp GUI toolkit")
12255 (description
12256 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
12257specification}, a toolkit for writing GUIs in Common Lisp.")
12258 (license license:lgpl2.1+))))
300b683f 12259
2ff8b5ba
GLV
12260(define-public cl-mcclim
12261 (sbcl-package->cl-source-package sbcl-mcclim))
4daa1218 12262
e7cbcf5a
GLV
12263(define-public ecl-mcclim
12264 (sbcl-package->ecl-package sbcl-mcclim))
12265
de681bdb
AK
12266(define-public sbcl-cl-inflector
12267 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
12268 (revision "1"))
12269 (package
12270 (name "sbcl-cl-inflector")
12271 (version (git-version "0.2" revision commit))
12272 (source
12273 (origin
12274 (method git-fetch)
12275 (uri (git-reference
12276 (url "https://github.com/AccelerationNet/cl-inflector")
12277 (commit commit)))
12278 (file-name (git-file-name name version))
12279 (sha256
12280 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
12281 (build-system asdf-build-system/sbcl)
12282 (native-inputs
12283 `(("lisp-unit2" ,sbcl-lisp-unit2)))
12284 (inputs
12285 `(("alexandria" ,sbcl-alexandria)
12286 ("cl-ppcre" ,sbcl-cl-ppcre)))
12287 (home-page "https://github.com/AccelerationNet/cl-inflector")
12288 (synopsis "Library to pluralize/singularize English and Portuguese words")
12289 (description
12290 "This is a common lisp library to easily pluralize and singularize
12291English and Portuguese words. This is a port of the ruby ActiveSupport
12292Inflector module.")
12293 (license license:expat))))
12294
12295(define-public cl-inflector
12296 (sbcl-package->cl-source-package sbcl-cl-inflector))
12297
12298(define-public ecl-cl-inflector
12299 (sbcl-package->ecl-package sbcl-cl-inflector))
a05edef2 12300
1fc9baee
SH
12301(define-public sbcl-ixf
12302 (let ((commit "ed26f87e4127e4a9e3aac4ff1e60d1f39cca5183")
12303 (revision "1"))
12304 (package
12305 (name "sbcl-ixf")
12306 (version (git-version "0.1.0" revision commit))
12307 (source
12308 (origin
12309 (method git-fetch)
12310 (uri (git-reference
12311 (url "https://github.com/dimitri/cl-ixf")
12312 (commit commit)))
12313 (file-name (git-file-name "cl-ixf" version))
12314 (sha256
12315 (base32 "1wjdnf4vr9z7lcfc49kl43g6l2i23q9n81siy494k17d766cdvqa"))))
12316 (build-system asdf-build-system/sbcl)
12317 (inputs
12318 `(("alexandria" ,sbcl-alexandria)
12319 ("babel" ,sbcl-babel)
12320 ("cl-ppcre" ,sbcl-cl-ppcre)
12321 ("ieee-floats" ,sbcl-ieee-floats)
12322 ("local-time" ,sbcl-local-time)
12323 ("md5" ,sbcl-md5)
12324 ("split-sequence" ,sbcl-split-sequence)))
12325 (home-page "https://github.com/dimitri/cl-ixf")
12326 (synopsis "Parse IBM IXF file format")
12327 (description
12328 "This is a Common Lisp library to handle the IBM PC version of the IXF
12329(Integration Exchange Format) file format.")
12330 (license license:public-domain))))
12331
12332(define-public ecl-ixf
12333 (sbcl-package->ecl-package sbcl-ixf))
12334
12335(define-public cl-ixf
12336 (sbcl-package->cl-source-package sbcl-ixf))
12337
a05edef2
AK
12338(define-public sbcl-qbase64
12339 (package
12340 (name "sbcl-qbase64")
12341 (version "0.3.0")
12342 (source
12343 (origin
12344 (method git-fetch)
12345 (uri (git-reference
12346 (url "https://github.com/chaitanyagupta/qbase64")
12347 (commit version)))
12348 (file-name (git-file-name name version))
12349 (sha256
12350 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
12351 (build-system asdf-build-system/sbcl)
12352 (inputs
12353 `(("metabang-bind" ,sbcl-metabang-bind)
12354 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
12355 (native-inputs
12356 `(("fiveam" ,sbcl-fiveam)))
12357 (home-page "https://github.com/chaitanyagupta/qbase64")
12358 (synopsis "Base64 encoder and decoder for Common Lisp")
12359 (description "@code{qbase64} provides a fast and flexible base64 encoder
12360and decoder for Common Lisp.")
12361 (license license:bsd-3)))
12362
12363(define-public cl-qbase64
12364 (sbcl-package->cl-source-package sbcl-qbase64))
12365
12366(define-public ecl-qbase64
12367 (sbcl-package->ecl-package sbcl-qbase64))
635e8b07 12368
ebabcf23
PN
12369(define-public sbcl-lw-compat
12370 ;; No release since 2013.
12371 (let ((commit "aabfe28c6c1a4949f9d7b3cb30319367c9fd1c0d"))
12372 (package
12373 (name "sbcl-lw-compat")
12374 (version (git-version "1.0.0" "1" commit))
12375 (source
12376 (origin
12377 (method git-fetch)
12378 (uri (git-reference
12379 (url "https://github.com/pcostanza/lw-compat/")
12380 (commit commit)))
12381 (file-name (git-file-name name version))
12382 (sha256
12383 (base32 "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav"))))
12384 (build-system asdf-build-system/sbcl)
12385 (home-page "https://github.com/pcostanza/lw-compat/")
12386 (synopsis "LispWorks utilities ported to other Common Lisp implementations")
12387 (description "This package contains a few utility functions from the
12388LispWorks library that are used in software such as ContextL.")
12389 (license license:expat))))
12390
12391(define-public cl-lw-compat
12392 (sbcl-package->cl-source-package sbcl-lw-compat))
12393
12394(define-public ecl-lw-compat
12395 (sbcl-package->ecl-package sbcl-lw-compat))
12396
94585fff
PN
12397(define-public sbcl-contextl
12398 ;; No release since 2013.
12399 (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9"))
12400 (package
12401 (name "sbcl-contextl")
12402 (version (git-version "1.0.0" "1" commit))
12403 (source
12404 (origin
12405 (method git-fetch)
12406 (uri (git-reference
12407 (url "https://github.com/pcostanza/contextl/")
12408 (commit commit)))
12409 (file-name (git-file-name name version))
12410 (sha256
12411 (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226"))))
12412 (build-system asdf-build-system/sbcl)
12413 (inputs
12414 `(("closer-mop" ,sbcl-closer-mop)
12415 ("lw-compat" ,sbcl-lw-compat)))
12416 (home-page "https://github.com/pcostanza/contextl")
12417 (synopsis "Context-oriented programming for Common Lisp")
12418 (description "ContextL is a CLOS extension for Context-Oriented
12419Programming (COP).
12420
12421Find overview of ContextL's features in an overview paper:
12422@url{http://www.p-cos.net/documents/contextl-soa.pdf}. See also this general
12423overview article about COP which also contains some ContextL examples:
12424@url{http://www.jot.fm/issues/issue_2008_03/article4/}.")
12425 (license license:expat))))
12426
12427(define-public cl-contextl
12428 (sbcl-package->cl-source-package sbcl-contextl))
12429
12430(define-public ecl-contextl
12431 (sbcl-package->ecl-package sbcl-contextl))
12432
635e8b07 12433(define-public sbcl-hu.dwim.common-lisp
8664eede
PN
12434 (let ((commit "90558195773383142a57a16687d5e7f4adea6418"))
12435 (package
12436 (name "sbcl-hu.dwim.common-lisp")
12437 (version "2021-01-27")
12438 (source
12439 (origin
12440 (method git-fetch)
12441 (uri (git-reference
12442 (url "https://github.com/hu-dwim/hu.dwim.common-lisp/")
12443 (commit commit)))
12444 (file-name (git-file-name name version))
12445 (sha256
12446 (base32 "06zkdw3scnaw0d4nmsgkv7pi7sw00dikdgfgsqmbqfbz2yrsdabk"))))
12447 (build-system asdf-build-system/sbcl)
12448 (native-inputs
12449 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12450 (home-page "http://dwim.hu/project/hu.dwim.common-lisp")
12451 (synopsis "Redefine some standard Common Lisp names")
12452 (description "This library is a redefinition of the standard Common Lisp
635e8b07 12453package that includes a number of renames and shadows. ")
8664eede 12454 (license license:public-domain))))
635e8b07
PN
12455
12456(define-public cl-hu.dwim.common-lisp
12457 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
12458
12459(define-public ecl-hu.dwim.common-lisp
12460 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
89a3fec5
PN
12461
12462(define-public sbcl-hu.dwim.common
12463 (package
12464 (name "sbcl-hu.dwim.common")
12465 (version "2015-07-09")
12466 (source
12467 (origin
12468 (method url-fetch)
12469 (uri (string-append
12470 "http://beta.quicklisp.org/archive/hu.dwim.common/"
12471 version "/hu.dwim.common-"
12472 (string-replace-substring version "-" "")
12473 "-darcs.tgz"))
12474 (sha256
12475 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
12476 (build-system asdf-build-system/sbcl)
12477 (native-inputs
12478 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12479 (inputs
12480 `(("alexandria" ,sbcl-alexandria)
12481 ("anaphora" ,sbcl-anaphora)
12482 ("closer-mop" ,sbcl-closer-mop)
12483 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
12484 ("iterate" ,sbcl-iterate)
12485 ("metabang-bind" ,sbcl-metabang-bind)))
12486 (home-page "http://dwim.hu/")
12487 (synopsis "Common Lisp library shared by other hu.dwim systems")
9e7b2658
PN
12488 (description "This package contains a support library for other
12489hu.dwim systems.")
89a3fec5
PN
12490 (license license:public-domain)))
12491
12492(define-public cl-hu.dwim.common
12493 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
12494
12495(define-public ecl-hu.dwim.common
12496 (sbcl-package->ecl-package sbcl-hu.dwim.common))
ec3c3aa7
PN
12497
12498(define-public sbcl-hu.dwim.defclass-star
c3e53066 12499 (let ((commit "3086878a485074f9b2913c58267a9b764cd632fd"))
174e3a0d
PN
12500 (package
12501 (name "sbcl-hu.dwim.defclass-star")
12502 ;; We used to set version from the date when it was a darcs repo, so we
12503 ;; keep the year so that package gets updated on previous installs.
c3e53066 12504 (version (git-version "2021" "2" commit))
174e3a0d
PN
12505 (source
12506 (origin
12507 (method git-fetch)
12508 (uri (git-reference
12509 (url "https://github.com/hu-dwim/hu.dwim.defclass-star")
12510 (commit commit)))
12511 (file-name (git-file-name name version))
12512 (sha256
c3e53066 12513 (base32 "19ipds9r71qymfdp4izg0l7zmvinp06adr8rdalhaq7v7mzpg83z"))))
174e3a0d
PN
12514 (build-system asdf-build-system/sbcl)
12515 (native-inputs
12516 `( ;; These 2 inputs are only needed tests which are disabled, see below.
12517 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
12518 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
12519 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
12520 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12521 (arguments
12522 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
12523 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
12524 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
12525 #:tests? #f))
12526 (home-page "https://github.com/hu-dwim/hu.dwim.defclass-star")
12527 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
12528 (description "@code{defclass-star} provides defclass* and defcondition* to
ec3c3aa7
PN
12529simplify class and condition declarations. Features include:
12530
12531@itemize
12532@item Automatically export all or select slots at compile time.
7230f6d5 12533@item Define the @code{:initarg} and @code{:accessor} automatically.
ec3c3aa7
PN
12534@item Specify a name transformer for both the @code{:initarg} and
12535@code{:accessor}, etc.
12536@item Specify the @code{:initform} as second slot value.
12537@end itemize
12538
12539See
12540@url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
12541for an example.")
174e3a0d 12542 (license license:public-domain))))
ec3c3aa7
PN
12543
12544(define-public cl-hu.dwim.defclass-star
12545 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
12546
12547(define-public ecl-hu.dwim.defclass-star
12548 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))
ca7eada9
AK
12549
12550(define-public sbcl-livesupport
12551 (let ((commit "71e6e412df9f3759ad8378fabb203913d82e228a")
12552 (revision "1"))
12553 (package
12554 (name "sbcl-livesupport")
12555 (version (git-version "0.0.0" revision commit))
12556 (source
12557 (origin
12558 (method git-fetch)
12559 (uri (git-reference
12560 (url "https://github.com/cbaggers/livesupport")
12561 (commit commit)))
12562 (file-name (git-file-name name version))
12563 (sha256
12564 (base32 "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"))))
12565 (build-system asdf-build-system/sbcl)
12566 (home-page "https://github.com/cbaggers/livesupport")
12567 (synopsis "Some helpers that make livecoding a little easier")
12568 (description "This package provides a macro commonly used in livecoding to
12569enable continuing when errors are raised. Simply wrap around a chunk of code
12570and it provides a restart called @code{continue} which ignores the error and
12571carrys on from the end of the body.")
12572 (license license:bsd-2))))
12573
12574(define-public cl-livesupport
12575 (sbcl-package->cl-source-package sbcl-livesupport))
12576
12577(define-public ecl-livesupport
12578 (sbcl-package->ecl-package sbcl-livesupport))
bfa78462
PN
12579
12580(define-public sbcl-envy
12581 (let ((commit "956321b2852d58ba71c6fe621f5c2924178e9f88")
12582 (revision "1"))
12583 (package
12584 (name "sbcl-envy")
12585 (version (git-version "0.1" revision commit))
12586 (home-page "https://github.com/fukamachi/envy")
12587 (source
12588 (origin
12589 (method git-fetch)
12590 (uri (git-reference
12591 (url home-page)
12592 (commit commit)))
12593 (file-name (git-file-name name version))
12594 (sha256
12595 (base32 "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg"))))
12596 (build-system asdf-build-system/sbcl)
12597 ;; (native-inputs ; Only for tests.
12598 ;; `(("prove" ,sbcl-prove)
12599 ;; ("osicat" ,sbcl-osicat)))
12600 (arguments
12601 '(#:phases
12602 (modify-phases %standard-phases
12603 (add-after 'unpack 'fix-tests
12604 (lambda _
12605 (substitute* "envy-test.asd"
12606 (("cl-test-more") "prove"))
12607 #t)))
12608 ;; Tests fail with
12609 ;; Component ENVY-ASD::ENVY-TEST not found, required by #<SYSTEM "envy">
12610 ;; like xsubseq. Why?
12611 #:tests? #f))
12612 (synopsis "Common Lisp configuration switcher inspired by Perl's Config::ENV.")
12613 (description "Envy is a configuration manager for various applications.
12614Envy uses an environment variable to determine a configuration to use. This
12615can separate configuration system from an implementation.")
12616 (license license:bsd-2))))
12617
12618(define-public cl-envy
12619 (sbcl-package->cl-source-package sbcl-envy))
12620
12621(define-public ecl-envy
12622 (sbcl-package->ecl-package sbcl-envy))
f5e31b1d 12623
2ff8b5ba 12624(define-public sbcl-mito
fbb099a4
GLV
12625 (let ((commit "2fbfc8aa6f9e3e8029bf09888c74b9af98dad341")
12626 (revision "2"))
f5e31b1d 12627 (package
2ff8b5ba 12628 (name "sbcl-mito")
f5e31b1d
PN
12629 (version (git-version "0.1" revision commit))
12630 (home-page "https://github.com/fukamachi/mito")
12631 (source
12632 (origin
12633 (method git-fetch)
12634 (uri (git-reference
12635 (url home-page)
12636 (commit commit)))
fbb099a4 12637 (file-name (git-file-name "mito" version))
f5e31b1d 12638 (sha256
fbb099a4 12639 (base32 "1a9kivpy9j2grf1c6gdjk7fwcdlvvq67p3m98jyfhiyzj7axjymd"))))
f5e31b1d 12640 (build-system asdf-build-system/sbcl)
2ff8b5ba
GLV
12641 (native-inputs
12642 `(("prove" ,sbcl-prove)))
f5e31b1d 12643 (inputs
2ff8b5ba 12644 `(("alexandria" ,sbcl-alexandria)
fbb099a4 12645 ("cl-package-locks" ,sbcl-cl-package-locks)
f5e31b1d 12646 ("cl-ppcre" ,sbcl-cl-ppcre)
2ff8b5ba 12647 ("cl-reexport" ,sbcl-cl-reexport)
f5e31b1d 12648 ("closer-mop" ,sbcl-closer-mop)
2ff8b5ba 12649 ("dbi" ,sbcl-dbi)
f5e31b1d 12650 ("dissect" ,sbcl-dissect)
2ff8b5ba 12651 ("esrap" ,sbcl-esrap)
f5e31b1d 12652 ("local-time" ,sbcl-local-time)
2ff8b5ba 12653 ("sxql" ,sbcl-sxql)
fbb099a4 12654 ("trivia" ,sbcl-trivia)
2ff8b5ba
GLV
12655 ("uuid" ,sbcl-uuid)))
12656 (arguments
e765d9c9 12657 '(#:phases
f5e31b1d
PN
12658 (modify-phases %standard-phases
12659 (add-after 'unpack 'remove-non-functional-tests
12660 (lambda _
12661 (substitute* "mito-test.asd"
f5e31b1d
PN
12662 (("\\(:test-file \"db/mysql\"\\)") "")
12663 (("\\(:test-file \"db/postgres\"\\)") "")
12664 (("\\(:test-file \"dao\"\\)") "")
12665 ;; TODO: migration/sqlite3 should work, re-enable once
12666 ;; upstream has fixed it:
12667 ;; https://github.com/fukamachi/mito/issues/70
12668 (("\\(:test-file \"migration/sqlite3\"\\)") "")
12669 (("\\(:test-file \"migration/mysql\"\\)") "")
12670 (("\\(:test-file \"migration/postgres\"\\)") "")
12671 (("\\(:test-file \"postgres-types\"\\)") "")
12672 (("\\(:test-file \"mixin\"\\)") ""))
12673 #t)))
12674 ;; TODO: While all enabled tests pass, the phase fails with:
12675 ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito">
2ff8b5ba
GLV
12676 #:tests? #f))
12677 (synopsis "ORM for Common Lisp with migrations and relationships support")
12678 (description "Mito is yet another object relational mapper, and it aims
12679to be a successor of Integral.
12680
12681@itemize
12682@item Support MySQL, PostgreSQL and SQLite3.
12683@item Add id (serial/uuid primary key), created_at and updated_at by default
12684like Ruby's ActiveRecord.
12685@item Migrations.
12686@item Database schema versioning.
12687@end itemize\n")
12688 (license license:llgpl))))
f5e31b1d
PN
12689
12690(define-public cl-mito
12691 (sbcl-package->cl-source-package sbcl-mito))
0bca68d9 12692
12df8b7b
GLV
12693(define-public ecl-mito
12694 (sbcl-package->ecl-package sbcl-mito))
12695
0bca68d9
PN
12696(define-public sbcl-kebab
12697 (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b")
12698 (revision "1"))
12699 (package
12700 (name "sbcl-kebab")
12701 (version (git-version "0.1" revision commit))
12702 (home-page "https://github.com/pocket7878/kebab")
12703 (source
12704 (origin
12705 (method git-fetch)
12706 (uri (git-reference
12707 (url home-page)
12708 (commit commit)))
12709 (file-name (git-file-name name version))
12710 (sha256
12711 (base32 "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"))))
12712 (build-system asdf-build-system/sbcl)
12713 (inputs
12714 `(("cl-ppcre" ,sbcl-cl-ppcre)
12715 ("alexandria" ,sbcl-alexandria)
12716 ("cl-interpol" ,sbcl-cl-interpol)
12717 ("split-sequence" ,sbcl-split-sequence)))
12718 (native-inputs
2ff8b5ba 12719 `(("prove" ,sbcl-prove)))
0bca68d9
PN
12720 (arguments
12721 ;; Tests passes but the phase fails with
12722 ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">.
12723 `(#:tests? #f))
12724 (synopsis "Common Lisp case converter")
12725 (description "This Common Lisp library converts strings, symbols and
12726keywords between any of the following typographical cases: PascalCase,
12727camelCase, snake_case, kebab-case (lisp-case).")
12728 (license license:llgpl))))
12729
12730(define-public cl-kebab
12731 (sbcl-package->cl-source-package sbcl-kebab))
12732
12733(define-public ecl-kebab
12734 (sbcl-package->ecl-package sbcl-kebab))
69006b0c
PN
12735
12736(define-public sbcl-datafly
12737 (let ((commit "adece27fcbc4b5ea39ad1a105048b6b7166e3b0d")
12738 (revision "1"))
12739 (package
12740 (name "sbcl-datafly")
12741 (version (git-version "0.1" revision commit))
12742 (home-page "https://github.com/fukamachi/datafly")
12743 (source
12744 (origin
12745 (method git-fetch)
12746 (uri (git-reference
12747 (url home-page)
12748 (commit commit)))
12749 (file-name (git-file-name name version))
12750 (sha256
12751 (base32 "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv"))))
12752 (build-system asdf-build-system/sbcl)
12753 (inputs
12754 `(("alexandria" ,sbcl-alexandria)
12755 ("iterate" ,sbcl-iterate)
12756 ("optima" ,sbcl-optima)
12757 ("trivial-types" ,sbcl-trivial-types)
12758 ("closer-mop" ,sbcl-closer-mop)
2ff8b5ba 12759 ("cl-syntax" ,sbcl-cl-syntax)
69006b0c
PN
12760 ("sxql" ,sbcl-sxql)
12761 ("dbi" ,sbcl-dbi)
12762 ("babel" ,sbcl-babel)
12763 ("local-time" ,sbcl-local-time)
12764 ("function-cache" ,sbcl-function-cache)
12765 ("jonathan" ,sbcl-jonathan)
12766 ("kebab" ,sbcl-kebab)
12767 ("log4cl" ,sbcl-log4cl)))
12768 (native-inputs
2ff8b5ba 12769 `(("prove" ,sbcl-prove)))
69006b0c
PN
12770 (arguments
12771 ;; TODO: Tests fail with
12772 ;; While evaluating the form starting at line 22, column 0
12773 ;; of #P"/tmp/guix-build-sbcl-datafly-0.1-1.adece27.drv-0/source/t/datafly.lisp":
12774 ;; Unhandled SQLITE:SQLITE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
12775 ;; {10009F8083}>:
12776 ;; Error when binding parameter 1 to value NIL.
12777 ;; Code RANGE: column index out of range.
12778 `(#:tests? #f))
12779 (synopsis "Lightweight database library for Common Lisp")
12780 (description "Datafly is a lightweight database library for Common Lisp.")
12781 (license license:bsd-3))))
12782
12783(define-public cl-datafly
12784 (sbcl-package->cl-source-package sbcl-datafly))
12785
12786(define-public ecl-datafly
12787 (sbcl-package->ecl-package sbcl-datafly))
56aeb1a4
PN
12788
12789(define-public sbcl-do-urlencode
12790 (let ((commit "199846441dad5dfac5478b8dee4b4e20d107af6a")
12791 (revision "1"))
12792 (package
12793 (name "sbcl-do-urlencode")
12794 (version (git-version "0.0.0" revision commit))
12795 (home-page "https://github.com/drdo/do-urlencode")
12796 (source
12797 (origin
12798 (method git-fetch)
12799 (uri (git-reference
12800 (url home-page)
12801 (commit commit)))
12802 (file-name (git-file-name name version))
12803 (sha256
12804 (base32 "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"))))
12805 (build-system asdf-build-system/sbcl)
12806 (inputs
12807 `(("alexandria" ,sbcl-alexandria)
12808 ("babel" ,sbcl-babel)))
12809 (synopsis "Percent Encoding (aka URL Encoding) Common Lisp library")
12810 (description "This library provides trivial percent encoding and
12811decoding functions for URLs.")
12812 (license license:isc))))
12813
12814(define-public cl-do-urlencode
12815 (sbcl-package->cl-source-package sbcl-do-urlencode))
12816
12817(define-public ecl-do-urlencode
12818 (sbcl-package->ecl-package sbcl-do-urlencode))
d2c9f349
PN
12819
12820(define-public sbcl-cl-emb
12821 (let ((commit "fd8652174d048d4525a81f38cdf42f4fa519f840")
12822 (revision "1"))
12823 (package
12824 (name "sbcl-cl-emb")
12825 (version (git-version "0.4.3" revision commit))
12826 (home-page "https://common-lisp.net/project/cl-emb/")
12827 (source
12828 (origin
12829 (method git-fetch)
12830 (uri (git-reference
12831 (url "https://github.com/38a938c2/cl-emb")
12832 (commit commit)))
12833 (file-name (git-file-name name version))
12834 (sha256
12835 (base32 "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"))))
12836 (build-system asdf-build-system/sbcl)
12837 (inputs
12838 `(("cl-ppcre" ,sbcl-cl-ppcre)))
12839 (synopsis "Templating system for Common Lisp")
12840 (description "A mixture of features from eRuby and HTML::Template. You
12841could name it \"Yet Another LSP\" (LispServer Pages) but it's a bit more than
12842that and not limited to a certain server or text format.")
12843 (license license:llgpl))))
12844
12845(define-public cl-emb
12846 (sbcl-package->cl-source-package sbcl-cl-emb))
12847
12848(define-public ecl-cl-emb
12849 (sbcl-package->ecl-package sbcl-cl-emb))
bc1f552b
PN
12850
12851(define-public sbcl-cl-project
12852 (let ((commit "151107014e534fc4666222d57fec2cc8549c8814")
12853 (revision "1"))
12854 (package
12855 (name "sbcl-cl-project")
12856 (version (git-version "0.3.1" revision commit))
12857 (home-page "https://github.com/fukamachi/cl-project")
12858 (source
12859 (origin
12860 (method git-fetch)
12861 (uri (git-reference
12862 (url home-page)
12863 (commit commit)))
12864 (file-name (git-file-name name version))
12865 (sha256
12866 (base32 "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y"))))
12867 (build-system asdf-build-system/sbcl)
12868 (inputs
12869 `(("cl-emb" ,sbcl-cl-emb)
12870 ("cl-ppcre" ,sbcl-cl-ppcre)
12871 ("local-time" ,sbcl-local-time)
12872 ("prove" ,sbcl-prove)))
12873 (arguments
12874 ;; Tests depend on caveman, which in turns depends on cl-project.
3f8bbf7c
GLV
12875 '(#:tests? #f
12876 #:asd-files '("cl-project.asd")))
bc1f552b
PN
12877 (synopsis "Generate a skeleton for modern Common Lisp projects")
12878 (description "This library provides a modern project skeleton generator.
12879In contract with other generators, CL-Project generates one package per file
12880and encourages unit testing by generating a system for unit testing, so you
12881can begin writing unit tests as soon as the project is generated.")
12882 (license license:llgpl))))
12883
12884(define-public cl-project
12885 (sbcl-package->cl-source-package sbcl-cl-project))
12886
12887(define-public ecl-cl-project
12888 (sbcl-package->ecl-package sbcl-cl-project))
f5ca844f
PN
12889
12890(define-public sbcl-caveman
12891 (let ((commit "faa5f7e3b364fd7e7096af9a7bb06728b8d80441") ; No release since 2012
12892 (revision "1"))
12893 (package
12894 (name "sbcl-caveman")
12895 (version (git-version "2.4.0" revision commit))
12896 (home-page "http://8arrow.org/caveman/")
12897 (source
12898 (origin
12899 (method git-fetch)
12900 (uri (git-reference
12901 (url "https://github.com/fukamachi/caveman/")
12902 (commit commit)))
12903 (file-name (git-file-name name version))
12904 (sha256
12905 (base32 "0kh0gx05pczk8f7r9qdi4zn1p3d0a2prps27k7jpgvc1dxkl8qhq"))))
12906 (build-system asdf-build-system/sbcl)
12907 (inputs
12908 `(("ningle" ,cl-ningle)
2ff8b5ba 12909 ("lack" ,sbcl-lack)
f5ca844f
PN
12910 ("cl-project" ,sbcl-cl-project)
12911 ("dbi" ,sbcl-dbi)
2ff8b5ba 12912 ("cl-syntax" ,sbcl-cl-syntax)
f5ca844f
PN
12913 ("myway" ,sbcl-myway)
12914 ("quri" ,sbcl-quri)))
12915 (native-inputs
12916 `(("usocket" ,sbcl-usocket)
12917 ("dexador" ,sbcl-dexador)))
12918 (arguments
2ff8b5ba
GLV
12919 `(#:asd-files '("caveman2.asd")
12920 #:asd-systems '("caveman2")
f5ca844f
PN
12921 #:phases
12922 (modify-phases %standard-phases
12923 (add-after 'unpack 'remove-v1
12924 (lambda _
12925 (delete-file-recursively "v1")
12926 (for-each delete-file
12927 '("README.v1.markdown" "caveman.asd" "caveman-test.asd")))))
12928 ;; TODO: Tests fail with:
d27afcc6 12929 ;; 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
12930 ;; While evaluating the form starting at line 38, column 0
12931 ;; of #P"/tmp/guix-build-sbcl-caveman-2.4.0-1.faa5f7e.drv-0/source/v2/t/caveman.lisp":
12932 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD "main thread" RUNNING
12933 ;; {10009F8083}>:
12934 ;; Component "myapp573" not found
12935 #:tests? #f))
12936 (synopsis "Lightweight web application framework in Common Lisp")
12937 (description "Caveman is intended to be a collection of common parts for
12938web applications. Caveman2 has three design goals:
12939
12940@itemize
12941@item Be extensible.
12942@item Be practical.
12943@item Don't force anything.
12944@end itemize\n")
12945 (license license:llgpl))))
12946
12947(define-public cl-caveman
12948 (package
12949 (inherit
12950 (sbcl-package->cl-source-package sbcl-caveman))
12951 (propagated-inputs
12952 `(("ningle" ,cl-ningle)))))
12953
12954(define-public ecl-caveman
12955 (sbcl-package->ecl-package sbcl-caveman))
582d0108
A
12956
12957(define-public sbcl-lambda-fiddle
12958 (let ((commit "d16bba55acf6065b412f64ab8fdff679a4a32b1e") ;; no tagged branch
12959 (revision "1"))
12960 (package
12961 (name "sbcl-lambda-fiddle")
12962 (version (git-version "1.0.0" revision commit))
12963 (source
12964 (origin
12965 (method git-fetch)
12966 (uri (git-reference
12967 (url "https://github.com/Shinmera/lambda-fiddle")
12968 (commit commit)))
12969 (file-name (git-file-name name version))
12970 (sha256
12971 (base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand"))))
12972 (build-system asdf-build-system/sbcl)
12973 (home-page "https://github.com/Shinmera/lambda-fiddle")
12974 (synopsis "Collection of utilities to process lambda-lists")
12975 (description "This collection of utilities is useful in contexts where
12976you want a macro that uses lambda-lists in some fashion but need more precise
12977processing.")
12978 (license license:zlib))))
12979
12980(define-public cl-lambda-fiddle
12981 (sbcl-package->cl-source-package sbcl-lambda-fiddle))
12982
12983(define-public ecl-lambda-fiddle
12984 (sbcl-package->ecl-package sbcl-lambda-fiddle))
7722c367
A
12985
12986(define-public sbcl-xmls
12987 (let ((commit "18546f0850b1338e03997ffd1696add1cb1800d1") ;; no tagged branch
12988 (revision "1"))
12989 (package
12990 (name "sbcl-xmls")
12991 (version (git-version "3.0.2" revision commit))
12992 (source
12993 (origin
12994 (method git-fetch)
12995 (uri (git-reference
12996 (url "https://github.com/rpgoldman/xmls")
12997 (commit commit)))
12998 (file-name (git-file-name name version))
12999 (sha256
13000 (base32 "1lmvfml2ldbb1wkhm25jqqk2bhwsz52hhcgljbnzj1xr8xhc3anp"))))
13001 (native-inputs
13002 `(("fiveam" ,sbcl-fiveam)))
13003 (build-system asdf-build-system/sbcl)
13004 (home-page "https://github.com/rpgoldman/xmls")
13005 (synopsis "Non-validating XML parser for Common Lisp")
13006 (description "Xmls is a self-contained, easily embedded parser that
13007recognizes a useful subset of the XML spec. It provides a simple mapping from
13008XML to Lisp structures or s-expressions and back.")
13009 (license license:bsd-2))))
13010
13011(define-public cl-xmls
13012 (sbcl-package->cl-source-package sbcl-xmls))
13013
13014(define-public ecl-xmls
9983dee6
GLV
13015 (let ((pkg (sbcl-package->ecl-package sbcl-xmls)))
13016 (package
13017 (inherit pkg)
13018 (arguments
13019 (substitute-keyword-arguments (package-arguments pkg)
13020 ;; Upstream doesn't have a test suite adapted for ECL.
13021 ((#:tests? _ #f) #f))))))
5a723527
GLV
13022
13023(define-public sbcl-geco
13024 (package
13025 (name "sbcl-geco")
6e301c3a 13026 (version "2.1.1")
5a723527
GLV
13027 (source
13028 (origin
6e301c3a
GLV
13029 (method git-fetch)
13030 (uri (git-reference
13031 (url "https://github.com/gpwwjr/GECO")
13032 (commit (string-append "v" version))))
13033 (file-name (git-file-name "geco" version))
5a723527 13034 (sha256
6e301c3a 13035 (base32 "1rc8a4mk40hjx5qy980hjylv6xxqdbq38hg8c4w30y93abfd519s"))))
5a723527 13036 (build-system asdf-build-system/sbcl)
6e301c3a 13037 (home-page "http://hiwaay.net/~gpw/geco/geco.html")
5a723527
GLV
13038 (synopsis "Genetic algorithm toolkit for Common Lisp")
13039 (description
13040 "GECO (Genetic Evolution through Combination of Objects) is an extensible,
13041object-oriented framework for prototyping genetic algorithms in Common Lisp.")
13042 (license license:lgpl2.1+)))
13043
13044(define-public cl-geco
13045 (sbcl-package->cl-source-package sbcl-geco))
13046
13047(define-public ecl-geco
13048 (sbcl-package->ecl-package sbcl-geco))
50ff091d
PN
13049
13050(define-public sbcl-html-entities
13051 (let ((commit "4af018048e891f41d77e7d680ed3aeb639e1eedb"))
13052 (package
13053 (name "sbcl-html-entities")
13054 (version (git-version "0.02" "1" commit))
13055 (source
13056 (origin
13057 (method git-fetch)
13058 (uri (git-reference
13059 (url "https://github.com/BnMcGn/html-entities/")
13060 (commit commit)))
13061 (file-name (git-file-name name version))
13062 (sha256
13063 (base32 "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"))))
13064 (build-system asdf-build-system/sbcl)
13065 (inputs
13066 `(("ppcre" ,sbcl-cl-ppcre)))
13067 (native-inputs
13068 `(("fiveam" ,sbcl-fiveam)))
13069 (home-page "https://github.com/BnMcGn/html-entities/")
13070 (synopsis "Encode and decode entities in HTML with Common Lisp")
13071 (description "Html-entities is a Common Lisp library that lets you
13072encode and decode entities in HTML.")
13073 (license license:expat))))
13074
13075(define-public cl-html-entities
13076 (sbcl-package->cl-source-package sbcl-html-entities))
13077
13078(define-public ecl-html-entities
13079 (sbcl-package->ecl-package sbcl-html-entities))
2631fc13
PN
13080
13081(define-public sbcl-quicksearch
13082 (let ((commit "fb02ecf7c876ec580ab18c7d2c8c7814c06af599"))
13083 (package
13084 (name "sbcl-quicksearch")
13085 (version (git-version "0.01.04" "1" commit))
13086 (source
13087 (origin
13088 (method git-fetch)
13089 (uri (git-reference
13090 (url "https://github.com/tkych/quicksearch/")
13091 (commit commit)))
13092 (file-name (git-file-name name version))
13093 (sha256
13094 (base32 "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps"))))
13095 (build-system asdf-build-system/sbcl)
13096 (inputs
13097 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13098 ("iterate" ,sbcl-iterate)
13099 ("alexandria" ,sbcl-alexandria)
13100 ("anaphora" ,sbcl-anaphora)
13101 ("ppcre" ,sbcl-cl-ppcre)
13102 ("drakma" ,sbcl-drakma)
13103 ("html-entities" ,sbcl-html-entities)
13104 ("yason" ,sbcl-yason)
13105 ("flexi-streams" ,sbcl-flexi-streams)
13106 ("do-urlencode" ,sbcl-do-urlencode)))
13107 (home-page "https://github.com/tkych/quicksearch/")
13108 (synopsis "Search Engine Interface for Common Lisp packages")
13109 (description "Quicksearch is a search-engine-interface for Common Lisp.
13110The goal of Quicksearch is to find the Common Lisp library quickly. For
13111example, if you will find the library about json, just type @code{(qs:?
13112'json)} at REPL.
13113
13114The function @code{quicksearch} searches for Common Lisp projects in
13115Quicklisp, Cliki, GitHub and BitBucket, then outputs results in REPL. The
13116function @code{?} is abbreviation wrapper for @code{quicksearch}.")
13117 (license license:expat))))
13118
13119(define-public cl-quicksearch
13120 (sbcl-package->cl-source-package sbcl-quicksearch))
13121
13122(define-public ecl-quicksearch
13123 (sbcl-package->ecl-package sbcl-quicksearch))
f66fbb7a
PN
13124
13125(define-public sbcl-agutil
13126 (let ((commit "df188d754d472da9faa1601a48f1f37bb7b34d68"))
13127 (package
13128 (name "sbcl-agutil")
13129 (version (git-version "0.0.1" "1" commit))
13130 (source
13131 (origin
13132 (method git-fetch)
13133 (uri (git-reference
13134 (url "https://github.com/alex-gutev/agutil/")
13135 (commit commit)))
13136 (file-name (git-file-name name version))
13137 (sha256
13138 (base32 "1xpnyzksk2xld64b6lw6rw0gn5zxlb77jwna59sd4yl7kxhxlfpf"))))
13139 (build-system asdf-build-system/sbcl)
13140 (inputs
13141 `(("alexandria" ,sbcl-alexandria)
13142 ("trivia" ,sbcl-trivia)))
13143 (home-page "https://github.com/alex-gutev/agutil/")
13144 (synopsis "Collection of Common Lisp utilities")
13145 (description "A collection of Common Lisp utility functions and macros
13146mostly not found in other utility packages.")
13147 (license license:expat))))
13148
13149(define-public cl-agutil
13150 (sbcl-package->cl-source-package sbcl-agutil))
13151
13152(define-public ecl-agutil
13153 (sbcl-package->ecl-package sbcl-agutil))
e60bbd9a
PN
13154
13155(define-public sbcl-custom-hash-table
13156 (let ((commit "f26983133940f5edf826ebbc8077acc04816ddfa"))
13157 (package
13158 (name "sbcl-custom-hash-table")
13159 (version (git-version "0.3" "1" commit))
13160 (source
13161 (origin
13162 (method git-fetch)
13163 (uri (git-reference
13164 (url "https://github.com/metawilm/cl-custom-hash-table")
13165 (commit commit)))
13166 (file-name (git-file-name name version))
13167 (sha256
13168 (base32 "1k4mvrpbqqds2fwjxp1bxmrfmr8ch4dkwhnkbw559knbqshvrlj5"))))
13169 (build-system asdf-build-system/sbcl)
13170 (arguments
a9a0d348
MB
13171 '(#:asd-files '("cl-custom-hash-table.asd")
13172 #:asd-systems '("cl-custom-hash-table")))
e60bbd9a
PN
13173 (home-page "https://github.com/metawilm/cl-custom-hash-table")
13174 (synopsis "Custom hash tables for Common Lisp")
13175 (description "This library allows creation of hash tables with arbitrary
13176@code{test}/@code{hash} functions, in addition to the @code{test} functions
13177allowed by the standard (@code{EQ}, @code{EQL}, @code{EQUAL} and
13178@code{EQUALP}), even in implementations that don't support this functionality
13179directly.")
13180 (license license:expat))))
13181
13182(define-public cl-custom-hash-table
13183 (sbcl-package->cl-source-package sbcl-custom-hash-table))
13184
13185(define-public ecl-custom-hash-table
13186 (sbcl-package->ecl-package sbcl-custom-hash-table))
e744328a
PN
13187
13188(define-public sbcl-collectors
13189 (let ((commit "13acef25d8422d1d82e067b1861e513587c166ee"))
13190 (package
13191 (name "sbcl-collectors")
13192 (version (git-version "0.1" "1" commit))
13193 (source
13194 (origin
13195 (method git-fetch)
13196 (uri (git-reference
13197 (url "https://github.com/AccelerationNet/collectors")
13198 (commit commit)))
13199 (file-name (git-file-name name version))
13200 (sha256
13201 (base32 "1si68n1j6rpns8jw6ksqjpb937pdl30v7xza8rld7j5vh0jhy2yi"))))
13202 (build-system asdf-build-system/sbcl)
13203 (inputs
13204 `(("alexandria" ,sbcl-alexandria)
13205 ("closer-mop" ,sbcl-closer-mop)
13206 ("symbol-munger" ,sbcl-symbol-munger)))
13207 (native-inputs
13208 `(("lisp-unit2" ,sbcl-lisp-unit2)))
13209 (home-page "https://github.com/AccelerationNet/collectors/")
13210 (synopsis "Common lisp library providing collector macros")
13211 (description "A small collection of common lisp macros to make
13212collecting values easier.")
13213 (license license:bsd-3))))
13214
13215(define-public cl-collectors
13216 (sbcl-package->cl-source-package sbcl-collectors))
13217
13218(define-public ecl-collectors
13219 (sbcl-package->ecl-package sbcl-collectors))
6b886891 13220
a7489847 13221(define-public sbcl-cl-environments
36d48770
SH
13222 (package
13223 (name "sbcl-cl-environments")
13224 (version "0.4")
13225 (source
13226 (origin
13227 (method git-fetch)
13228 (uri (git-reference
13229 (url "https://github.com/alex-gutev/cl-environments")
13230 (commit (string-append "v" version))))
13231 (file-name (git-file-name "cl-environments" version))
13232 (sha256
13233 (base32 "10jxj043d2dw5vc0i0lz0lsa4qszn8him5is8jdhl4nsyfcazmky"))))
13234 (build-system asdf-build-system/sbcl)
13235 (inputs
13236 `(("alexandria" ,sbcl-alexandria)
13237 ("anaphora" ,sbcl-anaphora)
13238 ("collectors" ,sbcl-collectors)
13239 ("optima" ,sbcl-optima)))
13240 (native-inputs
13241 `(("prove" ,sbcl-prove)))
13242 (home-page "https://github.com/alex-gutev/cl-environments")
13243 (synopsis "Implements the Common Lisp standard environment access API")
13244 (description
13245 "This library provides a uniform API, as specified in Common Lisp the
13246Language 2, for accessing information about variable and function bindings
13247from implementation-defined lexical environment objects. All major Common
13248Lisp implementations are supported, even those which don't support the CLTL2
13249environment access API.")
13250 (license license:expat)))
e22b88b6 13251
a7489847
PN
13252(define-public cl-environments
13253 (sbcl-package->cl-source-package sbcl-cl-environments))
13254
36d48770 13255(define-public ecl-cl-environments
a7489847
PN
13256 (sbcl-package->ecl-package sbcl-cl-environments))
13257
e22b88b6 13258(define-public sbcl-static-dispatch
f46b6d64
SH
13259 (package
13260 (name "sbcl-static-dispatch")
ce9c5fd6 13261 (version "0.5.1")
f46b6d64
SH
13262 (source
13263 (origin
13264 (method git-fetch)
13265 (uri (git-reference
13266 (url "https://github.com/alex-gutev/static-dispatch")
13267 (commit (string-append "v" version))))
13268 (file-name (git-file-name "static-dispatch" version))
13269 (sha256
ce9c5fd6 13270 (base32 "1602vx6ybp0n8mbrrp6q8397fkkyvhrqpahc302pjdb57qildajz"))))
f46b6d64
SH
13271 (build-system asdf-build-system/sbcl)
13272 (native-inputs
13273 `(("fiveam" ,sbcl-fiveam)))
13274 (inputs
13275 `(("agutil" ,sbcl-agutil)
13276 ("alexandria" ,sbcl-alexandria)
13277 ("anaphora" ,sbcl-anaphora)
13278 ("arrows" ,sbcl-arrows)
13279 ("cl-environments" ,sbcl-cl-environments)
13280 ("closer-mop" ,sbcl-closer-mop)
13281 ("iterate" ,sbcl-iterate)
ce9c5fd6 13282 ("optima" ,sbcl-optima)))
f46b6d64
SH
13283 (home-page "https://github.com/alex-gutev/static-dispatch")
13284 (synopsis "Static generic function dispatch for Common Lisp")
13285 (description "Static dispatch is a Common Lisp library, inspired by
e22b88b6
PN
13286@code{inlined-generic-function}, which allows standard Common Lisp generic
13287function dispatch to be performed statically (at compile time) rather than
13288dynamically (runtime). This is similar to what is known as \"overloading\" in
13289languages such as C++ and Java.
13290
13291The purpose of static dispatch is to provide an optimization in cases where
13292the usual dynamic dispatch is too slow, and the dynamic features of generic
13293functions, such as adding/removing methods at runtime are not required. An
13294example of such a case is a generic equality comparison function. Currently
13295generic functions are considered far too slow to implement generic arithmetic
13296and comparison operations when used heavily in numeric code.")
f46b6d64 13297 (license license:expat)))
e22b88b6
PN
13298
13299(define-public cl-static-dispatch
13300 (sbcl-package->cl-source-package sbcl-static-dispatch))
13301
13302(define-public ecl-static-dispatch
13303 (sbcl-package->ecl-package sbcl-static-dispatch))
7a34169f 13304
85821dcd
PN
13305(define-public sbcl-generic-cl
13306 ;; Latest commit includes a necessary fix for our Guix build.
13307 (let ((commit "8e5a81487ee3c13fe5ffdc8bdda161d476639535"))
13308 (package
13309 (name "sbcl-generic-cl")
13310 (version (git-version "0.7.1" "1" commit))
13311 (source
13312 (origin
13313 (method git-fetch)
13314 (uri (git-reference
13315 (url "https://github.com/alex-gutev/generic-cl")
13316 (commit commit)))
13317 (file-name (git-file-name name version))
13318 (sha256
13319 (base32
13320 "11w0g79s4wmc78vmfng437rmsgnp5qn246zcyr540fp5nw0ad6ix"))))
13321 (build-system asdf-build-system/sbcl)
13322 (inputs
13323 `(("agutil" ,sbcl-agutil)
13324 ("alexandria" ,sbcl-alexandria)
13325 ("anaphora" ,sbcl-anaphora)
13326 ("arrows" ,sbcl-arrows)
13327 ("cl-custom-hash-table" ,sbcl-custom-hash-table)
058d4fc8 13328 ("static-dispatch" ,sbcl-static-dispatch)
85821dcd 13329 ("trivia" ,sbcl-trivia)))
85821dcd
PN
13330 (native-inputs
13331 `(("prove" ,sbcl-prove)))
13332 (arguments
13333 ;; Tests fail because SBCL head size is not high enough.
13334 ;; https://github.com/alex-gutev/generic-cl/issues/6
13335 `(#:tests? #f))
13336 (home-page "https://alex-gutev.github.io/generic-cl/")
13337 (synopsis "Generic function interface to standard Common Lisp functions")
13338 (description "@code{generic-cl} provides a generic function wrapper over
13339various functions in the Common Lisp standard, such as equality predicates and
13340sequence operations. The goal of this wrapper is to provide a standard
13341interface to common operations, such as testing for the equality of two
13342objects, which is extensible to user-defined types.")
13343 (license license:expat))))
13344
13345(define-public cl-generic-cl
13346 (sbcl-package->cl-source-package sbcl-generic-cl))
13347
13348(define-public ecl-generic-cl
13349 (sbcl-package->ecl-package sbcl-generic-cl))
13350
7a34169f
AK
13351(define-public sbcl-defpackage-plus
13352 (let ((revision "0")
13353 (commit "5492e27e0bdb7b75fa5177ea4388519dc7a75f11"))
13354 (package
13355 (name "sbcl-defpackage-plus")
13356 (version (git-version "1.0" revision commit))
13357 (source
13358 (origin
13359 (method git-fetch)
13360 (uri (git-reference
13361 (url "https://github.com/rpav/defpackage-plus")
13362 (commit commit)))
13363 (file-name (git-file-name name version))
13364 (sha256
13365 (base32 "0lzljvf343xb6mlh6lni2i27hpm5qd376522mk6hr2pa20vd6rdq"))))
13366 (build-system asdf-build-system/sbcl)
13367 (inputs
13368 `(("alexandria" ,sbcl-alexandria)))
13369 (home-page "https://github.com/rpav/defpackage-plus")
13370 (synopsis "Extensible @code{DEFPACKAGE} variant with version support")
13371 (description
13372 "@code{DEFPACKAGE-PLUS} is an extensible @code{DEFPACKAGE} variant with
13373predictable cross-platform behavior and some utilities useful for versioning.")
13374 (license license:bsd-2))))
13375
13376(define-public cl-defpackage-plus
13377 (sbcl-package->cl-source-package sbcl-defpackage-plus))
13378
13379(define-public ecl-defpackage-plus
13380 (sbcl-package->ecl-package sbcl-defpackage-plus))
0fac1f25
AK
13381
13382(define-public sbcl-deploy
f8d81093
SH
13383 (let ((commit "9b20e64fe924b9e31832304d87a3a72c383dc6d8")
13384 (revision "2"))
0fac1f25
AK
13385 (package
13386 (name "sbcl-deploy")
13387 (version (git-version "1.0.0" revision commit))
13388 (source
13389 (origin
13390 (method git-fetch)
13391 (uri (git-reference
13392 (url "https://github.com/Shinmera/deploy")
13393 (commit commit)))
f8d81093 13394 (file-name (git-file-name "deploy" version))
0fac1f25 13395 (sha256
f8d81093 13396 (base32 "07pfkibaridihg8lbq2czwa4iqifqk24n6rx7bfnv7i49p1ppja1"))))
0fac1f25 13397 (build-system asdf-build-system/sbcl)
f8d81093
SH
13398 (arguments
13399 `(#:test-asd-file "deploy-test.asd"
13400 #:asd-files '("deploy.asd"
13401 "deploy-test.asd")))
13402 (native-inputs
13403 `(("cl-mpg123" ,sbcl-cl-mpg123)
13404 ("cl-out123" ,sbcl-cl-out123)))
0fac1f25
AK
13405 (inputs
13406 `(("cffi" ,sbcl-cffi)
f8d81093
SH
13407 ("documentation-utils" ,sbcl-documentation-utils)
13408 ("trivial-features" ,sbcl-trivial-features)))
0fac1f25
AK
13409 (home-page "https://shinmera.github.io/deploy/")
13410 (synopsis "Deployment tools for standalone Common Lisp application")
13411 (description
13412 "This is a system to help you easily and quickly deploy standalone
13413common lisp applications as binaries. Specifically it is geared towards
13414applications with foreign library dependencies that run some kind of GUI.")
13415 (license license:artistic2.0))))
13416
13417(define-public cl-deploy
13418 (sbcl-package->cl-source-package sbcl-deploy))
13419
13420(define-public ecl-deploy
13421 (sbcl-package->ecl-package sbcl-deploy))
84811414
AK
13422
13423(define-public sbcl-deeds
13424 ;; taged branch is outdated
13425 (let ((revision "1")
13426 (commit "f5df54eac79b58a34030e0eb8acf3952c788410d"))
13427 (package
13428 (name "sbcl-deeds")
13429 (version (git-version "1.1.1" revision commit))
13430 (source
13431 (origin
13432 (method git-fetch)
13433 (uri (git-reference
13434 (url "https://github.com/Shinmera/deeds")
13435 (commit commit)))
13436 (file-name (git-file-name name version))
13437 (sha256
13438 (base32 "062cnb2dwli6pw3zvv46jfxyxdzcbzwsck5pa6nw03qf1j1hyg3k"))))
13439 (build-system asdf-build-system/sbcl)
13440 (inputs
13441 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13442 ("closer-mop" ,sbcl-closer-mop)
13443 ("form-fiddle" ,sbcl-form-fiddle)
13444 ("lambda-fiddle" ,sbcl-lambda-fiddle)))
13445 (home-page "https://github.com/Shinmera/deeds")
13446 (synopsis "Extensible Event Delivery System")
13447 (description
13448 "@code{deeds} allows for efficient event delivery to multiple handlers
13449with a complex event filtering system.")
13450 (license license:zlib))))
13451
13452(define-public cl-deeds
13453 (sbcl-package->cl-source-package sbcl-deeds))
13454
13455(define-public ecl-deeds
13456 (sbcl-package->ecl-package sbcl-deeds))
e3d5a206
AK
13457
13458(define-public sbcl-make-hash
13459 ;; no tagged branch
13460 (let ((revision "1")
13461 (commit "ae0909cd8e697520a1085fac6f54ac2b448ebd21"))
13462 (package
13463 (name "sbcl-make-hash")
13464 (version (git-version "1.0.2" revision commit))
13465 (source
13466 (origin
13467 (method git-fetch)
13468 (uri (git-reference
13469 (url "https://github.com/genovese/make-hash")
13470 (commit commit)))
13471 (file-name (git-file-name name version))
13472 (sha256
13473 (base32 "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8"))))
13474 (build-system asdf-build-system/sbcl)
13475 (home-page "https://github.com/genovese/make-hash")
13476 (synopsis "Common Lisp package for flexible hash table creation")
13477 (description
13478 "This is a Common Lisp package for hash table creation with flexible,
13479extensible initializers.")
13480 (license license:bsd-3))))
13481
13482(define-public cl-make-hash
13483 (sbcl-package->cl-source-package sbcl-make-hash))
13484
13485(define-public ecl-make-hash
13486 (sbcl-package->ecl-package sbcl-make-hash))
6e043dfc
AK
13487
13488(define-public sbcl-claw-support
13489 (package
13490 (name "sbcl-claw-support")
13491 (version "1.0.0")
13492 (source
13493 (origin
13494 (method git-fetch)
13495 (uri (git-reference
13496 (url "https://github.com/borodust/claw-support")
13497 (commit "9a15c8bed04585f45e6a461bcda1b475144dbd0b")))
13498 (file-name (git-file-name name version))
13499 (sha256
13500 (base32 "1my2ka7h72ipx5n3b465g6kjkasrhsvhqlijwcg6dhlzs5yygl23"))))
13501 (build-system asdf-build-system/sbcl)
13502 (home-page "https://github.com/borodust/claw-support")
13503 (synopsis "Support routines for claw")
13504 (description
8d8ecbfe 13505 "This package provides support routines for the @code{claw} Common Lisp
6e043dfc
AK
13506package.")
13507 (license license:expat)))
13508
13509(define-public cl-claw-support
13510 (sbcl-package->cl-source-package sbcl-claw-support))
13511
13512(define-public ecl-claw-support
13513 (sbcl-package->ecl-package sbcl-claw-support))
dec194bf 13514
b50a1442
AK
13515(define-public sbcl-claw
13516 (let ((revision "0")
13517 (commit "3cd4a96fca95eb9e8d5d069426694669f81b2250"))
13518 (package
13519 (name "sbcl-claw")
13520 (version (git-version "1.0" revision commit))
13521 (source
13522 (origin
13523 (method git-fetch)
13524 (uri (git-reference
13525 (url "https://github.com/borodust/claw")
13526 (commit commit)))
13527 (file-name (git-file-name "claw" version))
13528 (sha256
13529 (base32 "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d"))))
13530 (build-system asdf-build-system/sbcl)
13531 (inputs
13532 `(("alexandria" ,sbcl-alexandria)
13533 ("cffi" ,sbcl-cffi)
13534 ("cl-json" ,sbcl-cl-json)
13535 ("cl-ppcre" ,sbcl-cl-ppcre)
13536 ("claw-support" ,sbcl-claw-support)
13537 ("local-time" ,sbcl-local-time)
13538 ("trivial-features" ,sbcl-trivial-features)))
13539 (home-page "https://github.com/borodust/claw")
13540 (synopsis "Autowrapper for Common Lisp")
13541 (description
13542 "This is a Common Lisp autowrapping facility for quickly creating clean
13543and lean bindings to C libraries.")
13544 (license license:bsd-2))))
13545
13546(define-public cl-claw
13547 (sbcl-package->cl-source-package sbcl-claw))
13548
13549(define-public ecl-claw
13550 (sbcl-package->ecl-package sbcl-claw))
13551
ef9c5247
AK
13552(define-public sbcl-claw-utils
13553 (let ((revision "0")
13554 (commit "efe25016501973dc369f067a64c7d225802bc56f"))
13555 (package
13556 (name "sbcl-claw-utils")
13557 ;; version is not specified
13558 (version (git-version "0.0.0" revision commit))
13559 (source
13560 (origin
13561 (method git-fetch)
13562 (uri (git-reference
13563 (url "https://github.com/borodust/claw-utils")
13564 (commit commit)))
13565 (file-name (git-file-name "claw-utils" version))
13566 (sha256
13567 (base32 "01df3kyf2qs3czi332dnz2s35x2j0fq46vgmsw7wjrrvnqc22mk5"))))
13568 (build-system asdf-build-system/sbcl)
13569 (inputs
13570 `(("alexandria" ,sbcl-alexandria)
13571 ("cffi" ,sbcl-cffi)
13572 ("claw" ,sbcl-claw)))
13573 (home-page "https://github.com/borodust/claw-utils")
13574 (synopsis "Utilities for easier autowrapping")
13575 (description
3a2e1fa7 13576 "This Common Lisp library contains various handy utilities to help
ef9c5247
AK
13577autowrapping with @code{claw}.")
13578 (license license:expat))))
13579
13580(define-public cl-claw-utils
13581 (sbcl-package->cl-source-package sbcl-claw-utils))
13582
13583(define-public ecl-claw-utils
13584 (sbcl-package->ecl-package sbcl-claw-utils))
13585
dec194bf
GLV
13586(define-public sbcl-array-operations
13587 (let ((commit "75cbc3b1adb2e3ce2109489753d0f290b071e81b")
13588 (revision "0"))
13589 (package
13590 (name "sbcl-array-operations")
13591 (version (git-version "0.0.0" revision commit))
13592 (source
13593 (origin
13594 (method git-fetch)
13595 (uri (git-reference
13596 (url "https://github.com/bendudson/array-operations")
13597 (commit commit)))
13598 (file-name (git-file-name "array-operations" version))
13599 (sha256
13600 (base32 "0ip49hhq32w80qsc7jmspyda5r2rsszvw0mk2r3341cld78sz9ya"))))
13601 (build-system asdf-build-system/sbcl)
13602 (native-inputs
13603 `(("alexandria" ,sbcl-alexandria)
13604 ("clunit2" ,sbcl-clunit2)))
13605 (inputs
13606 `(("let-plus" ,sbcl-let-plus)))
13607 (synopsis "Simple array operations library for Common Lisp")
13608 (description
13609 "This library is a collection of functions and macros for manipulating
13610Common Lisp arrays and performing numerical calculations with them.")
13611 (home-page "https://github.com/bendudson/array-operations")
13612 (license license:expat))))
13613
13614(define-public cl-array-operations
13615 (sbcl-package->cl-source-package sbcl-array-operations))
13616
13617(define-public ecl-array-operations
13618 (sbcl-package->ecl-package sbcl-array-operations))
0809e4a4
GLV
13619
13620(define-public sbcl-clml
13621 (let ((commit "95505b54c8c7b4b27f500c3be97fa5732f4b51a8")
13622 (revision "0"))
13623 (package
13624 (name "sbcl-clml")
13625 (version (git-version "0.0.0" revision commit))
13626 (source
13627 (origin
13628 (method git-fetch)
13629 (uri (git-reference
13630 (url "https://github.com/mmaul/clml")
13631 (commit commit)))
13632 (file-name (git-file-name "clml" version))
13633 (sha256
13634 (base32 "006pii59nmpc61n7p7h8ha5vjg6x0dya327i58z0rnvxs249h345"))
13635 ;; TODO: Remove this when the patch has been merged upstream.
13636 (patches (search-patches "sbcl-clml-fix-types.patch"))))
13637 (build-system asdf-build-system/sbcl)
13638 (inputs
13639 `(("alexandia" ,sbcl-alexandria)
13640 ("array-operations" ,sbcl-array-operations)
13641 ("cl-fad" ,sbcl-cl-fad)
13642 ("cl-ppcre" ,sbcl-cl-ppcre)
13643 ("drakma" ,sbcl-drakma)
13644 ("introspect-environment" ,sbcl-introspect-environment)
13645 ("iterate" ,sbcl-iterate)
13646 ("lparallel" ,sbcl-lparallel)
13647 ("parse-number" ,sbcl-parse-number)
13648 ("split-sequence" ,sbcl-split-sequence)
13649 ("trivial-garbage" ,sbcl-trivial-garbage)))
13650 (synopsis "Common Lisp machine learning library")
13651 (description
13652 "CLML (Common Lisp Machine Learning) is a high performance and large
13653scale statistical machine learning package")
13654 (home-page "https://mmaul.github.io/clml/")
13655 (license license:llgpl))))
13656
13657(define-public cl-clml
13658 (sbcl-package->cl-source-package sbcl-clml))
fd994faa
GLV
13659
13660(define-public sbcl-utm-ups
b1ea2f05 13661 (let ((commit "ffcb7b6d5a56fb7d4b2b95b83bbd28ffe6e6961f")
fd994faa
GLV
13662 (revision "0"))
13663 (package
13664 (name "sbcl-utm-ups")
b1ea2f05 13665 (version (git-version "1.1" revision commit))
fd994faa
GLV
13666 (source
13667 (origin
13668 (method git-fetch)
13669 (uri (git-reference
13670 (url "https://github.com/glv2/utm-ups")
13671 (commit commit)))
13672 (file-name (git-file-name "utm-ups" version))
13673 (sha256
b1ea2f05 13674 (base32 "1rvyh0srgd81kvbzmq4ysd9y6c0qdwh23naqxc9asw1vh7fq08x1"))))
fd994faa
GLV
13675 (build-system asdf-build-system/sbcl)
13676 (native-inputs
13677 `(("fiveam" ,sbcl-fiveam)))
13678 (synopsis
13679 "Convert coordinates between latitude/longitude and UTM or UPS")
13680 (description
13681 "This a Common Lisp library to convert geographic coordinates between
13682latitude/longitude and UTM (Universal Transverse Mercator) or UPS (Universal
13683Polar Stereographic).")
13684 (home-page "https://github.com/glv2/utm-ups")
13685 (license license:gpl3+))))
13686
13687(define-public cl-utm-ups
13688 (sbcl-package->cl-source-package sbcl-utm-ups))
13689
13690(define-public ecl-utm-ups
13691 (sbcl-package->ecl-package sbcl-utm-ups))
291328b1
GLV
13692
13693(define-public sbcl-mgrs
13694 (let ((commit "00455460407b7e5509d1be3da09bf6152956761f")
13695 (revision "0"))
13696 (package
13697 (name "sbcl-mgrs")
13698 (version (git-version "1.0" revision commit))
13699 (source
13700 (origin
13701 (method git-fetch)
13702 (uri (git-reference
13703 (url "https://github.com/glv2/mgrs")
13704 (commit commit)))
13705 (file-name (git-file-name "mgrs" version))
13706 (sha256
13707 (base32 "0ckvn4hg3wwivzavhfashb6fap4a1q10l8krhbng8bdb54ac10sz"))))
13708 (build-system asdf-build-system/sbcl)
13709 (native-inputs
13710 `(("fiveam" ,sbcl-fiveam)))
13711 (inputs
13712 `(("utm-ups" ,sbcl-utm-ups)))
13713 (synopsis
13714 "Convert coordinates between latitude/longitude and MGRS")
13715 (description
13716 "This a Common Lisp library to convert geographic coordinates between
13717latitude/longitude and MGRS.")
13718 (home-page "https://github.com/glv2/mgrs")
13719 (license license:gpl3+))))
13720
13721(define-public cl-mgrs
13722 (sbcl-package->cl-source-package sbcl-mgrs))
13723
13724(define-public ecl-mgrs
13725 (sbcl-package->ecl-package sbcl-mgrs))
deed0161
GLV
13726
13727(define-public sbcl-maidenhead
13728 (let ((commit "b756d235c27b5d6798867aa240318af1a8f35d6d")
13729 (revision "0"))
13730 (package
13731 (name "sbcl-maidenhead")
13732 (version (git-version "1.0" revision commit))
13733 (source
13734 (origin
13735 (method git-fetch)
13736 (uri (git-reference
13737 (url "https://github.com/glv2/maidenhead")
13738 (commit commit)))
13739 (file-name (git-file-name "maidenhead" version))
13740 (sha256
13741 (base32 "02p990zprhjvifmsfk8yh3frvz6xyw26ikzxvzglqdixbal36nr3"))))
13742 (build-system asdf-build-system/sbcl)
13743 (native-inputs
13744 `(("fiveam" ,sbcl-fiveam)))
13745 (synopsis
13746 "Convert coordinates between latitude/longitude and Maidenhead")
13747 (description
13748 "This a Common Lisp library to convert geographic coordinates between
13749latitude/longitude and Maidenhead locator system.")
13750 (home-page "https://github.com/glv2/maidenhead")
13751 (license license:gpl3+))))
13752
13753(define-public cl-maidenhead
13754 (sbcl-package->cl-source-package sbcl-maidenhead))
13755
13756(define-public ecl-maidenhead
13757 (sbcl-package->ecl-package sbcl-maidenhead))
ad884c3b
GLV
13758
13759(define-public sbcl-olc
13760 (let ((commit "517e27fa57d9a119b00a29c4b6b31e553deff309")
13761 (revision "0"))
13762 (package
13763 (name "sbcl-olc")
13764 (version (git-version "1.0" revision commit))
13765 (source
13766 (origin
13767 (method git-fetch)
13768 (uri (git-reference
13769 (url "https://github.com/glv2/olc")
13770 (commit commit)))
13771 (file-name (git-file-name "olc" version))
13772 (sha256
13773 (base32 "1lnfhp6z6kc8l605zp4siyjiw74y1h4bdq3jfizi084v505wxhgr"))))
13774 (build-system asdf-build-system/sbcl)
13775 (native-inputs
13776 `(("fiveam" ,sbcl-fiveam)))
13777 (synopsis
13778 "Convert coordinates between latitude/longitude and Open Location Code")
13779 (description
13780 "This a Common Lisp library to convert geographic coordinates between
13781latitude/longitude and Open Location Code.")
13782 (home-page "https://github.com/glv2/olc")
13783 (license license:gpl3+))))
13784
13785(define-public cl-olc
13786 (sbcl-package->cl-source-package sbcl-olc))
13787
13788(define-public ecl-olc
13789 (sbcl-package->ecl-package sbcl-olc))
d13fb04b
PN
13790
13791(define-public sbcl-regex
13792 (let ((commit "fbc9a9f313b9edc1788f33d4b23a29151635ae22"))
13793 (package
13794 (name "sbcl-regex")
13795 (version (git-version "1" "1" commit))
13796 (source
13797 (origin
13798 (method git-fetch)
13799 (uri (git-reference
13800 (url "https://github.com/michaelw/regex/")
13801 (commit commit)))
13802 (file-name (git-file-name name version))
13803 (sha256
13804 (base32 "0wq5wlafrxv13wg28hg5b10sc48b88swsvznpy2zg7x37m4nmm6a"))))
13805 (build-system asdf-build-system/sbcl)
13806 (home-page "https://github.com/michaelw/regex/")
13807 (synopsis "Regular expression engine for Common Lisp")
13808 (description
13809 "This Common Lisp package provides a regular expression engine.")
13810 (license license:bsd-2))))
13811
13812(define-public cl-regex
13813 (sbcl-package->cl-source-package sbcl-regex))
13814
13815(define-public ecl-regex
13816 (sbcl-package->ecl-package sbcl-regex))
6ba21a2e
PN
13817
13818(define-public sbcl-clawk
13819 (let ((commit "3a91634df686417114044a98c063cbe76bfac7b6"))
13820 (package
13821 (name "sbcl-clawk")
13822 (version (git-version "4" "1" commit))
13823 (source
13824 (origin
13825 (method git-fetch)
13826 (uri (git-reference
13827 (url "https://github.com/sharplispers/clawk")
13828 (commit commit)))
13829 (file-name (git-file-name name version))
13830 (sha256
13831 (base32 "1ph3xjqilvinvgr9q3w47zxqyz1sqnq030nlx7kgkkv8j3bnqk7a"))))
13832 (build-system asdf-build-system/sbcl)
13833 (inputs
13834 `(("sbcl-regex" ,sbcl-regex)))
13835 (home-page "https://github.com/sharplispers/clawk")
13836 (synopsis "Common Lisp AWK")
13837 (description
13838 "CLAWK is an AWK implementation embedded into Common Lisp.")
13839 (license license:bsd-2))))
13840
13841(define-public cl-clawk
13842 (sbcl-package->cl-source-package sbcl-clawk))
13843
13844(define-public ecl-clawk
13845 (sbcl-package->ecl-package sbcl-clawk))
8ee3e783
PN
13846
13847(define-public sbcl-check-it
13848 (let ((commit "b79c9103665be3976915b56b570038f03486e62f"))
13849 (package
13850 (name "sbcl-check-it")
13851 (version (git-version "0.1.0" "1" commit))
13852 (source
13853 (origin
13854 (method git-fetch)
13855 (uri (git-reference
13856 (url "https://github.com/DalekBaldwin/check-it/")
13857 (commit commit)))
13858 (file-name (git-file-name name version))
13859 (sha256
13860 (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"))))
13861 (build-system asdf-build-system/sbcl)
13862 (inputs
13863 `(("alexandria" ,sbcl-alexandria)
13864 ("closer-mop" ,sbcl-closer-mop)
13865 ("optima" ,sbcl-optima)))
13866 (native-inputs
13867 `(("stefil" ,sbcl-stefil)))
13868 (home-page "https://github.com/arclanguage/Clamp")
13869 (synopsis "Randomized specification-based testing for Common Lisp")
13870 (description
13871 "This is a randomized property-based testing library for Common Lisp.
13872Rather than being a full-fledged general test framework in its own right, it's
13873designed to embed randomized tests in whatever framework you like.")
13874 (license license:llgpl))))
13875
13876(define-public cl-check-it
13877 (sbcl-package->cl-source-package sbcl-check-it))
13878
13879(define-public ecl-check-it
13880 (sbcl-package->ecl-package sbcl-check-it))
f8257207
PN
13881
13882(define-public sbcl-clamp
13883 (let ((commit "02b8f3953e5753cc61a719807c82f3795cd28fe1"))
13884 (package
13885 (name "sbcl-clamp")
13886 (version (git-version "0.3" "1" commit))
13887 (source
13888 (origin
13889 (method git-fetch)
13890 (uri (git-reference
13891 (url "https://github.com/arclanguage/Clamp")
13892 (commit commit)))
13893 (file-name (git-file-name name version))
13894 (sha256
13895 (base32 "0fdr9nqfmmpxm6hvjdxi1jkclya9xlnrw1yc3cn1m4ww3f50p31m"))))
13896 (build-system asdf-build-system/sbcl)
13897 (inputs
13898 `(("iterate" ,sbcl-iterate)
13899 ("cl-syntax" ,sbcl-cl-syntax)))
13900 (native-inputs
13901 `(("cl-unit" ,sbcl-clunit)
13902 ("check-it" ,sbcl-check-it)))
13903 (arguments
13904 `(#:phases
13905 (modify-phases %standard-phases
13906 (add-after 'unpack 'fix-build
13907 (lambda _
13908 (substitute* "clamp.asd"
13909 (("\\(:file \"read\" :depends-on \\(\"aliases\"\\)\\)")
13910 "(:file \"read\" :depends-on (\"aliases\" \"base\"))"))
13911 #t)))))
13912 (home-page "https://github.com/arclanguage/Clamp")
13913 (synopsis "Common Lisp with Arc macros and procedures")
13914 (description
13915 "Clamp is an attempt to bring the powerful, but verbose, language of
13916Common Lisp up to the terseness of Arc.
13917
13918There are two parts to Clamp. There is the core of Clamp, which implements
13919the utilities of Arc that are easily converted from Arc to Common Lisp. The
13920other part is the \"experimental\" part. It contains features of Arc that are
13921not so easy to copy (ssyntax, argument destructuring, etc.).")
13922 (license license:artistic2.0))))
13923
13924(define-public cl-clamp
13925 (sbcl-package->cl-source-package sbcl-clamp))
13926
13927(define-public ecl-clamp
13928 (sbcl-package->ecl-package sbcl-clamp))
91d59549
PN
13929
13930(define-public sbcl-trivial-shell
13931 (let ((commit "e02ec191b34b52deca5d1c4ee99d4fa13b8772e0"))
13932 (package
13933 (name "sbcl-trivial-shell")
13934 (version (git-version "0.2.0" "1" commit))
13935 (source
13936 (origin
13937 (method git-fetch)
13938 (uri (git-reference
13939 (url "https://github.com/gwkkwg/trivial-shell")
13940 (commit commit)))
13941 (file-name (git-file-name name version))
13942 (sha256
13943 (base32 "08mpkl5ij5sjfsyn8pq2kvsvpvyvr7ha1r8g1224fa667b8k2q85"))))
13944 (build-system asdf-build-system/sbcl)
13945 (native-inputs
13946 `(("lift" ,sbcl-lift)))
13947 (home-page "http://common-lisp.net/project/trivial-shell/")
13948 (synopsis "Common Lisp access to the shell")
13949 (description
13950 "A simple Common-Lisp interface to the underlying operating system.
13951It's independent of the implementation and operating system.")
13952 (license license:expat))))
13953
13954(define-public cl-trivial-shell
13955 (sbcl-package->cl-source-package sbcl-trivial-shell))
13956
13957(define-public ecl-trivial-shell
13958 (sbcl-package->ecl-package sbcl-trivial-shell))
65bf9f6b
PN
13959
13960(define-public sbcl-clesh
13961 (let ((commit "44e96e04a72e5bc006dc4eb02ce8962348dd4a11"))
13962 (package
13963 (name "sbcl-clesh")
13964 (version (git-version "0.0.0" "1" commit))
13965 (source
13966 (origin
13967 (method git-fetch)
13968 (uri (git-reference
13969 (url "https://github.com/Neronus/Clesh")
13970 (commit commit)))
13971 (file-name (git-file-name name version))
13972 (sha256
13973 (base32 "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318"))))
13974 (build-system asdf-build-system/sbcl)
13975 (inputs
13976 `(("trivial-shell" ,sbcl-trivial-shell)
13977 ("named-readtables" ,sbcl-named-readtables)))
13978 (home-page "https://github.com/Neronus/Clesh")
13979 (synopsis "Embed shell code in Common Lisp")
13980 (description
13981 "This is a very short and simple program, written in Common Lisp, that
13982extends Common Lisp to embed shell code in a manner similar to Perl's
13983backtick. It has been forked from SHELISP.")
13984 (license license:bsd-2))))
13985
13986(define-public cl-clesh
13987 (sbcl-package->cl-source-package sbcl-clesh))
13988
13989(define-public ecl-clesh
13990 (sbcl-package->ecl-package sbcl-clesh))
4f298eba 13991
dba6389c
SH
13992(define-public sbcl-trivial-channels
13993 (let ((commit "e2370118d8983ba69c0360a7695f8f2e2fd6a8a6")
13994 (revision "1"))
13995 (package
13996 (name "sbcl-trivial-channels")
13997 (version (git-version "1.0" revision commit))
13998 (source
13999 (origin
14000 (method git-fetch)
14001 (uri (git-reference
14002 (url "https://github.com/rpav/trivial-channels")
14003 (commit commit)))
14004 (file-name (git-file-name "trivial-channels" version))
14005 (sha256
14006 (base32 "04wnxcgk40x8p0gxnz9arv1a5wasdqrdxa8c4p5v7r2mycfps6jj"))))
14007 (build-system asdf-build-system/sbcl)
14008 (inputs
14009 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
14010 ("trivial-timeout" ,sbcl-trivial-timeout)))
14011 (home-page "https://github.com/rpav/trivial-channels")
14012 (synopsis "Common Lisp simple thread-safe channels with timeout")
14013 (description
14014 "It's very basic implementation of channels and queue for Common Lisp.")
14015 (license license:bsd-2))))
14016
14017(define-public ecl-trivial-channels
14018 (sbcl-package->ecl-package sbcl-trivial-channels))
14019
14020(define-public cl-trivial-channels
14021 (sbcl-package->cl-source-package sbcl-trivial-channels))
14022
4f298eba
PN
14023(define-public sbcl-trivial-download
14024 (let ((commit "d2472061d86b1cf3d32f388daacd4e32a13af699"))
14025 (package
14026 (name "sbcl-trivial-download")
14027 (version (git-version "0.3" "1" commit))
14028 (source
14029 (origin
14030 (method git-fetch)
14031 (uri (git-reference
14032 (url "https://github.com/eudoxia0/trivial-download/")
14033 (commit commit)))
14034 (file-name (git-file-name name version))
14035 (sha256
14036 (base32 "06f46zr3gp3wlm2kgxna24qd2gpr1v89x9fynh1x5vrw6c6hqjcv"))))
14037 (build-system asdf-build-system/sbcl)
14038 (inputs
14039 `(("drakma" ,sbcl-drakma)))
14040 (home-page "https://github.com/eudoxia0/trivial-download/")
14041 (synopsis "Download files from Common Lisp")
14042 (description
14043 "@code{trivial-download} allows you to download files from the Internet
14044from Common Lisp. It provides a progress bar.")
14045 (license license:bsd-2))))
14046
14047(define-public cl-trivial-download
14048 (sbcl-package->cl-source-package sbcl-trivial-download))
14049
14050(define-public ecl-trivial-download
14051 (sbcl-package->ecl-package sbcl-trivial-download))
52b81c32
PN
14052
14053(define-public sbcl-gtwiwtg
14054 (package
14055 (name "sbcl-gtwiwtg")
14056 (version "0.1.1")
14057 (source
14058 (origin
14059 (method git-fetch)
14060 (uri (git-reference
14061 (url "https://github.com/cbeo/gtwiwtg/")
14062 (commit version)))
14063 (file-name (git-file-name name version))
14064 (sha256
14065 (base32 "0lkraw0dwh4is4x5sp5rjrw6f93m0gr9849abrbi12s25ws7jbw4"))))
14066 (build-system asdf-build-system/sbcl)
14067 (native-inputs
14068 `(("osicat" ,sbcl-osicat)
14069 ("prove" ,sbcl-prove)))
14070 (home-page "https://github.com/cbeo/gtwiwtg/")
14071 (synopsis "Naive generators for Common Lisp")
14072 (description
14073 "The GTWIWTG library (Generators The Way I Want Them Generated --
14074technically not generators, but iterators) is meant to be small, explorable,
14075and understandable.")
14076 (license license:gpl3)))
14077
14078(define-public cl-gtwiwtg
14079 (sbcl-package->cl-source-package sbcl-gtwiwtg))
14080
14081(define-public ecl-gtwiwtg
14082 (sbcl-package->ecl-package sbcl-gtwiwtg))
40693b61
PN
14083
14084(define-public sbcl-cl-progress-bar
14085 (let ((commit "9374170858663c8fe829e9fb5a29bd2cb48d95ae"))
14086 (package
14087 (name "sbcl-cl-progress-bar")
14088 (version (git-version "0.0.0" "1" commit))
14089 (source
14090 (origin
14091 (method git-fetch)
14092 (uri (git-reference
14093 (url "https://github.com/sirherrbatka/cl-progress-bar/")
14094 (commit commit)))
14095 (file-name (git-file-name name version))
14096 (sha256
14097 (base32 "1ldb4qhmx431n3lsq71ynwb9ybazbfqd55icjbhi06mj52ngndir"))))
14098 (build-system asdf-build-system/sbcl)
14099 (inputs
14100 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
14101 ("documentation-utils-extensions" ,sbcl-documentation-utils-extensions)))
14102 (home-page "https://github.com/sirherrbatka/cl-progress-bar/")
14103 (synopsis "Progress bars in Common Lisp")
14104 (description
14105 "This library provides almost the same code as used inside Quicklisp
14106for drawning progress bars")
14107 (license license:expat))))
14108
14109(define-public cl-progress-bar
14110 (sbcl-package->cl-source-package sbcl-cl-progress-bar))
14111
14112(define-public ecl-cl-progress-bar
14113 (sbcl-package->ecl-package sbcl-cl-progress-bar))
e4c1818e
PN
14114
14115(define-public sbcl-repl-utilities
8aedb2f0 14116 (let ((commit "7e300df663177ea4581f4e7e9c601377881dd986"))
e4c1818e
PN
14117 (package
14118 (name "sbcl-repl-utilities")
14119 (version (git-version "0.0.0" "1" commit))
14120 (source
14121 (origin
14122 (method git-fetch)
14123 (uri (git-reference
14124 (url "https://github.com/m-n/repl-utilities/")
14125 (commit commit)))
14126 (file-name (git-file-name name version))
14127 (sha256
8aedb2f0 14128 (base32 "1hh56pq5nw3l4b83dzlyss69f06r038byj2cnjwvci4hfjhdfcc3"))))
e4c1818e
PN
14129 (build-system asdf-build-system/sbcl)
14130 (home-page "https://github.com/m-n/repl-utilities")
14131 (synopsis "Ease common tasks at the Common Lisp REPL")
14132 (description
14133 "@code{repl-utilities} is a set of utilities which ease life at the
14134REPL. It includes three sorts of features: introspective procedures,
14135miscellaneous utility functions, and, pulling them together, methods to
14136conveniently keep these symbols and optionally additional symbols available in
14137whichever package you switch to.")
14138 (license license:bsd-2))))
14139
14140(define-public cl-repl-utilities
14141 (sbcl-package->cl-source-package sbcl-repl-utilities))
14142
14143(define-public ecl-repl-utilities
14144 (sbcl-package->ecl-package sbcl-repl-utilities))
fc929639
PN
14145
14146(define-public sbcl-supertrace
14147 (let ((commit "66d22c3ff131ecd1c8048dfced1d62ed6024ecb0"))
14148 (package
14149 (name "sbcl-supertrace")
14150 (version (git-version "0.1.0" "1" commit))
14151 (source
14152 (origin
14153 (method git-fetch)
14154 (uri (git-reference
14155 (url "https://github.com/fukamachi/supertrace")
14156 (commit commit)))
14157 (file-name (git-file-name name version))
14158 (sha256
14159 (base32 "0n369n6b7y1m49biccnnr7svymjdsk8sksrkqrn3mj21vgv7s7bg"))))
14160 (build-system asdf-build-system/sbcl)
14161 (native-inputs
14162 `(("cffi-grovel" ,sbcl-cffi)
14163 ("rove" ,sbcl-rove)
14164 ("cl-ppcre" ,sbcl-cl-ppcre)
14165 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
14166 (inputs
14167 `(("cffi" ,sbcl-cffi)))
14168 (home-page "https://github.com/fukamachi/supertrace")
14169 (synopsis "Improved Common Lisp tracing for debugging and profiling")
14170 (description
14171 "Supertrace provides a superior Common Lisp @code{trace} functionality
14172for debugging and profiling real world applications.")
14173 (license license:bsd-2))))
14174
14175(define-public cl-supertrace
14176 (sbcl-package->cl-source-package sbcl-supertrace))
14177
14178(define-public ecl-supertrace
14179 (sbcl-package->ecl-package sbcl-supertrace))
1467ae64
PN
14180
14181(define-public sbcl-trivial-benchmark
14182 (let ((commit "42d76733dd2e873471c6f1e27d39113293f7dd5c"))
14183 (package
14184 (name "sbcl-trivial-benchmark")
14185 (version (git-version "2.0.0" "1" commit))
14186 (source
14187 (origin
14188 (method git-fetch)
14189 (uri (git-reference
14190 (url "https://github.com/Shinmera/trivial-benchmark/")
14191 (commit commit)))
14192 (file-name (git-file-name name version))
14193 (sha256
14194 (base32 "0fbzqbpm2ixz85555krl36kbbbjyn699vdj6k383khi3g9y629fa"))))
14195 (build-system asdf-build-system/sbcl)
14196 (inputs
14197 `(("alexandria" ,sbcl-alexandria)))
14198 (home-page "http://shinmera.github.io/trivial-benchmark/")
14199 (synopsis "Easy to use benchmarking system for Common Lisp")
14200 (description
14201 "Trivial-Benchmark runs a block of code many times and outputs some
14202statistical data for it. On SBCL this includes the data from @code{time}, for
14203all other implementations just the @code{real-time} and @code{run-time} data.
14204However, you can extend the system by adding your own @code{metrics} to it, or
14205even by adding additional statistical @code{compute}ations. ")
14206 (license license:zlib))))
14207
14208(define-public cl-trivial-benchmark
14209 (sbcl-package->cl-source-package sbcl-trivial-benchmark))
14210
14211(define-public ecl-trivial-benchmark
14212 (sbcl-package->ecl-package sbcl-trivial-benchmark))
c16628ea
PN
14213
14214(define-public sbcl-glyphs
14215 (let ((commit "1ff5714e8c1dca327bc604dfe3e3d1f4b7755373"))
14216 (package
14217 (name "sbcl-glyphs")
14218 (version (git-version "0.0.0" "1" commit))
14219 (source
14220 (origin
14221 (method git-fetch)
14222 (uri (git-reference
14223 (url "https://github.com/ahungry/glyphs/")
14224 (commit commit)))
14225 (file-name (git-file-name name version))
14226 (sha256
14227 (base32 "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf"))))
14228 (build-system asdf-build-system/sbcl)
14229 (inputs
14230 `(("cl-ppcre" ,sbcl-cl-ppcre)
14231 ("parenscript" ,sbcl-parenscript)
14232 ("named-readtables" ,sbcl-named-readtables)))
14233 (home-page "https://github.com/ahungry/glyphs/")
14234 (synopsis "Reduce Common Lisp verbosity")
14235 (description
14236 "This library is a little experiment in reducing verbosity in Common
14237Lisp, inspired by BODOL (@url{https://github.com/bodil/BODOL}).")
14238 (license license:gpl3))))
14239
14240(define-public cl-glyphs
14241 (sbcl-package->cl-source-package sbcl-glyphs))
14242
14243(define-public ecl-glyphs
14244 (sbcl-package->ecl-package sbcl-glyphs))
cebfb29a
SH
14245
14246(define-public sbcl-zs3
14247 (package
14248 (name "sbcl-zs3")
14249 (version "1.3.3")
14250 (source
14251 (origin
14252 (method git-fetch)
14253 (uri
14254 (git-reference
14255 (url "https://github.com/xach/zs3")
14256 (commit (string-append "release-" version))))
14257 (file-name (git-file-name "zs3" version))
14258 (sha256
14259 (base32 "186v95wgsj2hkxdw2jl9x1w4fddjclp7arp0rrd9vf5ly8h8sbf3"))))
14260 (build-system asdf-build-system/sbcl)
14261 (inputs
14262 `(("drakma" ,sbcl-drakma)
14263 ("alexandria" ,sbcl-alexandria)
14264 ("cxml" ,sbcl-cxml)
14265 ("ironclad" ,sbcl-ironclad)
14266 ("puri" ,sbcl-puri)
14267 ("cl-base64" ,sbcl-cl-base64)))
14268 (synopsis "Work with Amazon S3 and Amazon CloudFront from Common Lisp")
14269 (description "This is ZS3, a library for working with Amazon's Simple Storage
14270Service (S3) and CloudFront service from Common Lisp.")
14271 (home-page "https://github.com/xach/zs3")
14272 (license license:bsd-2)))
14273
14274(define-public cl-zs3
14275 (sbcl-package->cl-source-package sbcl-zs3))
14276
14277(define-public ecl-zs3
14278 (sbcl-package->ecl-package sbcl-zs3))
4a084c7a
GLV
14279
14280(define-public sbcl-simple-neural-network
14281 (package
14282 (name "sbcl-simple-neural-network")
14283 (version "3.1")
14284 (source
14285 (origin
14286 (method git-fetch)
14287 (uri (git-reference
14288 (url "https://github.com/glv2/simple-neural-network")
14289 (commit (string-append "v" version))))
14290 (file-name (git-file-name "simple-neural-network" version))
14291 (sha256
14292 (base32 "1jj1c90fr5clwka0jv32hv6xp1bkdlpa6x5jh19an13rhx8ll4zr"))))
14293 (build-system asdf-build-system/sbcl)
14294 (native-inputs
14295 `(("chipz" ,sbcl-chipz)
14296 ("fiveam" ,sbcl-fiveam)))
14297 (inputs
14298 `(("cl-store" ,sbcl-cl-store)
14299 ("lparallel" ,sbcl-lparallel)))
14300 (arguments
14301 `(#:phases
14302 (modify-phases %standard-phases
14303 (add-after 'check 'remove-test-data
14304 (lambda* (#:key outputs #:allow-other-keys)
14305 (let ((out (assoc-ref outputs "out")))
14306 (for-each delete-file (find-files out "\\.gz$"))))))))
14307 (synopsis "Simple neural network in Common Lisp")
14308 (description
14309 "@code{simple-neural-network} is a Common Lisp library for creating,
14310training and using basic neural networks. The networks created by this
14311library are feedforward neural networks trained using backpropagation.")
14312 (home-page "https://github.com/glv2/simple-neural-network")
14313 (license license:gpl3+)))
14314
14315(define-public cl-simple-neural-network
14316 (sbcl-package->cl-source-package sbcl-simple-neural-network))
14317
14318(define-public ecl-simple-neural-network
14319 (sbcl-package->ecl-package sbcl-simple-neural-network))
08c4dd51
GLV
14320
14321(define-public sbcl-zstd
14322 (let ((commit "d144582c581aaa52bac24d6686af27fa3e781e06")
14323 (revision "1"))
14324 (package
14325 (name "sbcl-zstd")
14326 (version (git-version "1.0" revision commit))
14327 (source
14328 (origin
14329 (method git-fetch)
14330 (uri (git-reference
14331 (url "https://github.com/glv2/cl-zstd")
14332 (commit commit)))
14333 (file-name (git-file-name "cl-zstd" version))
14334 (sha256
14335 (base32 "1774jy8hzbi6nih3sq6vchk66f7g8w86dwgpbvljyfzcnkcaz6ql"))))
14336 (build-system asdf-build-system/sbcl)
14337 (native-inputs
14338 `(("fiveam" ,sbcl-fiveam)))
14339 (inputs
14340 `(("cffi" ,sbcl-cffi)
14341 ("cl-octet-streams" ,sbcl-cl-octet-streams)
14342 ("zstd-lib" ,zstd "lib")))
14343 (arguments
14344 '(#:phases
14345 (modify-phases %standard-phases
14346 (add-after 'unpack 'fix-paths
14347 (lambda* (#:key inputs #:allow-other-keys)
14348 (substitute* "src/libzstd.lisp"
14349 (("libzstd\\.so")
14350 (string-append (assoc-ref inputs "zstd-lib")
14351 "/lib/libzstd.so")))
14352 #t)))))
14353 (synopsis "Common Lisp library for Zstandard (de)compression")
14354 (description
14355 "This Common Lisp library provides functions for Zstandard
14356compression/decompression using bindings to the libzstd C library.")
14357 (home-page "https://github.com/glv2/cl-zstd")
14358 (license license:gpl3+))))
14359
14360(define-public cl-zstd
14361 (sbcl-package->cl-source-package sbcl-zstd))
14362
14363(define-public ecl-zstd
14364 (sbcl-package->ecl-package sbcl-zstd))
caa22090
PN
14365
14366(define-public sbcl-agnostic-lizard
14367 (let ((commit "fe3a73719f05901c8819f8995a3ebae738257952")
14368 (revision "1"))
14369 (package
14370 (name "sbcl-agnostic-lizard")
14371 (version (git-version "0.0.0" revision commit))
14372 (source
14373 (origin
14374 (method git-fetch)
14375 (uri (git-reference
14376 (url "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
14377 (commit commit)))
14378 (file-name (git-file-name name version))
14379 (sha256
14380 (base32 "0ax78y8w4zlp5dcwyhz2nq7j3shi49qn31dkfg8lv2jlg7mkwh2d"))))
14381 (build-system asdf-build-system/sbcl)
14382 (synopsis "Almost correct portable code walker for Common Lisp")
14383 (description
14384 "Agnostic Lizard is a portable implementation of a code walker and in
14385particular of the macroexpand-all function (and macro) that makes a best
14386effort to be correct while not expecting much beyond what the Common Lisp
14387standard requires.
14388
14389It aims to be implementation-agnostic and to climb the syntax trees.")
69c05267 14390 (home-page "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
caa22090
PN
14391 (license license:gpl3+))))
14392
14393(define-public cl-agnostic-lizard
14394 (sbcl-package->cl-source-package sbcl-agnostic-lizard))
14395
14396(define-public ecl-agnostic-lizard
14397 (sbcl-package->ecl-package sbcl-agnostic-lizard))
b76ae073
SH
14398
14399(define-public sbcl-dynamic-classes
14400 (package
14401 (name "sbcl-dynamic-classes")
14402 (version "1.0.2")
14403 (source
14404 (origin
14405 (method git-fetch)
14406 (uri (git-reference
14407 (url "https://github.com/gwkkwg/dynamic-classes")
14408 (commit (string-append "version-" version))))
14409 (file-name (git-file-name "dynamic-classes" version))
14410 (sha256
14411 (base32 "1z3ag6w4ff0v6715xa9zhvwjqnp4i6zrjfmxdz8m115sklbwgm6c"))))
14412 (build-system asdf-build-system/sbcl)
14413 (inputs
14414 `(("metatilities-base" ,sbcl-metatilities-base)))
14415 (arguments
14416 ;; NOTE: (Sharlatan-20210106222900+0000) Circular dependencies and failing
14417 ;; test suites. lift-standard.config contains referances to deprecated
14418 ;; functionality.
14419 `(#:tests? #f))
14420 (home-page "https://common-lisp.net/project/dynamic-classes/")
14421 (synopsis "Dynamic class definition for Common Lisp")
14422 (description "Dynamic-Classes helps to ease the prototyping process by
14423bringing dynamism to class definition.")
14424 (license license:expat)))
14425
14426(define-public ecl-dynamic-classes
14427 (sbcl-package->ecl-package sbcl-dynamic-classes))
14428
14429(define-public cl-dynamic-classes
14430 (sbcl-package->cl-source-package sbcl-dynamic-classes))
375c44de
SH
14431
14432(define-public sbcl-cl-markdown
14433 ;; NOTE: (Sharlatan-20210106214629+0000) latest version tag
14434 ;; "version-0.10.6_version-0.10.6" is failing to build due to missing system
14435 ;; #:container-dynamic-classes
14436 (package
14437 (name "sbcl-cl-markdown")
14438 (version "0.10.4")
14439 (source
14440 (origin
14441 (method git-fetch)
14442 (uri (git-reference
14443 (url "https://github.com/gwkkwg/cl-markdown")
14444 (commit (string-append "version-" version))))
14445 (file-name (git-file-name "cl-markdown" version))
14446 (sha256
14447 (base32 "1wdjbdd1zyskxf7zlilcp6fmwkivybj0wjp64vvzb265d5xi7p8p"))))
14448 (build-system asdf-build-system/sbcl)
14449 (inputs
14450 `(("anaphora" ,sbcl-anaphora)
14451 ("cl-containers" ,sbcl-cl-containers)
14452 ("cl-ppcre" ,sbcl-cl-ppcre)
14453 ("dynamic-classes" ,sbcl-dynamic-classes)
14454 ("metabang-bind" ,sbcl-metabang-bind)
14455 ("metatilities-base" ,sbcl-metatilities-base)))
14456 (arguments
14457 ;; NOTE: (Sharlatan-20210107213629+0000) Tests depend on too many not
14458 ;; available systems, which themself are abandoned.
14459 `(#:tests? #f))
14460 (home-page "https://common-lisp.net/project/cl-markdown/")
14461 (synopsis "Common Lisp rewrite of Markdown")
14462 (description
14463 "This is an implementation of a Markdown parser in Common Lisp.")
14464 (license license:expat)))
14465
14466(define-public ecl-cl-markdown
14467 (sbcl-package->ecl-package sbcl-cl-markdown))
14468
14469(define-public cl-markdown
14470 (sbcl-package->cl-source-package sbcl-cl-markdown))
3bd8d045
PN
14471
14472(define-public sbcl-magicffi
14473 (let ((commit "d88f2f280c31f639e4e05be75215d8a8dce6aef2"))
14474 (package
14475 (name "sbcl-magicffi")
14476 (version (git-version "0.0.0" "1" commit))
14477 (source
14478 (origin
14479 (method git-fetch)
14480 (uri (git-reference
14481 (url "https://github.com/dochang/magicffi/")
14482 (commit commit)))
14483 (file-name (git-file-name name version))
14484 (sha256
14485 (base32 "0p6ysa92fk34bhxpw7bycbfgw150fv11z9x8jr9xb4lh8cm2hvp6"))))
14486 (build-system asdf-build-system/sbcl)
14487 (native-inputs
14488 `(("alexandria" ,sbcl-alexandria)))
14489 (inputs
14490 `(("cffi" ,sbcl-cffi)
14491 ("ppcre" ,sbcl-cl-ppcre)
14492 ("libmagic" ,file)))
14493 (arguments
14494 `(#:phases
14495 (modify-phases %standard-phases
14496 (add-after 'unpack 'fix-paths
14497 (lambda* (#:key inputs #:allow-other-keys)
14498 (let ((magic (assoc-ref inputs "libmagic")))
14499 (substitute* "grovel.lisp"
14500 (("/usr/include/magic.h")
14501 (string-append magic "/include/magic.h")))
14502 (substitute* "api.lisp"
14503 ((":default \"libmagic\"" all)
14504 (string-append ":default \"" magic "/lib/libmagic\"")))))))))
14505 (home-page "https://common-lisp.net/project/magicffi/")
14506 (synopsis "Common Lisp interface to libmagic based on CFFI")
14507 (description
14508 "MAGICFFI is a Common Lisp CFFI interface to libmagic(3), the file type
14509determination library using @emph{magic} numbers.")
14510 (license license:bsd-2))))
14511
14512(define-public ecl-magicffi
14513 (sbcl-package->ecl-package sbcl-magicffi))
14514
14515(define-public cl-magicffi
14516 (sbcl-package->cl-source-package sbcl-magicffi))
8142c550
PN
14517
14518(define-public sbcl-shlex
e118348a
GLV
14519 (let ((commit "3dee1cb7c0140fa7660ca7a3b2ac5e75d1218e5c")
14520 (revision "2"))
8142c550
PN
14521 (package
14522 (name "sbcl-shlex")
e118348a 14523 (version (git-version "0.0.0" revision commit))
8142c550
PN
14524 (source
14525 (origin
14526 (method git-fetch)
14527 (uri (git-reference
14528 (url "https://github.com/ruricolist/cl-shlex")
14529 (commit commit)))
e118348a 14530 (file-name (git-file-name "cl-shlex" version))
8142c550 14531 (sha256
e118348a 14532 (base32 "16ag48sswgimr1fzr582vhym4s03idpd4lkydw5s58lv80ibpim8"))))
8142c550
PN
14533 (build-system asdf-build-system/sbcl)
14534 (inputs
14535 `(("alexandria" ,sbcl-alexandria)
14536 ("serapeum" ,sbcl-serapeum)
14537 ("ppcre" ,sbcl-cl-ppcre)
14538 ("unicode" ,sbcl-cl-unicode)))
14539 (home-page "https://github.com/ruricolist/cl-shlex")
14540 (synopsis "Common Lisp lexical analyzer for shell-like syntaxes")
14541 (description
14542 "This library contains a lexer for syntaxes that use shell-like rules
14543for quoting and commenting. It is a port of the @code{shlex} module from Python’s
14544standard library.")
14545 (license license:expat))))
14546
14547(define-public ecl-shlex
14548 (sbcl-package->ecl-package sbcl-shlex))
14549
14550(define-public cl-shlex
14551 (sbcl-package->cl-source-package sbcl-shlex))
dc9c866f
PN
14552
14553(define-public sbcl-cmd
c128d4f9 14554 (let ((commit "8ace7fb45f2ecf0eefae28583ee36c941d142179"))
dc9c866f
PN
14555 (package
14556 (name "sbcl-cmd")
c128d4f9 14557 (version (git-version "0.0.1" "4" commit))
dc9c866f
PN
14558 (source
14559 (origin
14560 (method git-fetch)
14561 (uri (git-reference
14562 (url "https://github.com/ruricolist/cmd/")
14563 (commit commit)))
14564 (file-name (git-file-name name version))
14565 (sha256
c128d4f9 14566 (base32 "1da8sa0fsvsdivnx2s9m6jbb7yszrnkqqcxrn1sszp7k6iwnnkgi"))))
dc9c866f
PN
14567 (build-system asdf-build-system/sbcl)
14568 (inputs
14569 `(("alexandria" ,sbcl-alexandria)
7f29d778 14570 ("coreutils" ,coreutils)
af55e2aa 14571 ("procps" ,procps)
dc9c866f
PN
14572 ("serapeum" ,sbcl-serapeum)
14573 ("shlex" ,sbcl-shlex)
14574 ("trivia" ,sbcl-trivia)))
7f29d778
PN
14575 (arguments
14576 `(#:phases
14577 (modify-phases %standard-phases
14578 (add-after 'unpack 'fix-paths
14579 (lambda* (#:key inputs #:allow-other-keys)
af55e2aa
PN
14580 (let ((bin (string-append (assoc-ref inputs "coreutils") "/bin"))
14581 (ps-bin (string-append (assoc-ref inputs "procps") "/bin")))
60528f9b 14582 (substitute* "cmd.lisp"
af55e2aa
PN
14583 (("\\(def \\+env\\+ \"env\"\\)")
14584 (format #f "(def +env+ \"~a/env\")" bin))
14585 (("\\(def \\+kill\\+ \"kill\"\\)")
14586 (format #f "(def +kill+ \"~a/kill\")" bin))
14587 (("\\(def \\+ps\\+ \"ps\"\\)")
14588 (format #f "(def +ps+ \"~a/ps\")" ps-bin))
14589 (("\\(def \\+pwd\\+ \"pwd\"\\)")
14590 (format #f "(def +pwd+ \"~a/pwd\")" bin))
14591 (("\\(def \\+sh\\+ \"/bin/sh\"\\)")
14592 (format #f "(def +sh+ \"~a\")" (which "sh")))
14593 (("\\(def \\+tr\\+ \"tr\"\\)")
14594 (format #f "(def +tr+ \"~a/tr\")" bin)))))))))
dc9c866f
PN
14595 (home-page "https://github.com/ruricolist/cmd")
14596 (synopsis "Conveniently run external programs from Common Lisp")
14597 (description
14598 "A utility for running external programs, built on UIOP.
14599Cmd is designed to be natural to use, protect against shell interpolation and
14600be usable from multi-threaded programs.")
14601 (license license:expat))))
14602
14603(define-public ecl-cmd
14604 (sbcl-package->ecl-package sbcl-cmd))
14605
14606(define-public cl-cmd
b4e58e66 14607 (sbcl-package->cl-source-package sbcl-cmd))
833d220d
PN
14608
14609(define-public sbcl-ppath
14610 (let ((commit "eb1a8173b4d1d691ea9a7699412123462f58c3ce"))
14611 (package
14612 (name "sbcl-ppath")
14613 (version (git-version "0.1" "1" commit))
14614 (source
14615 (origin
14616 (method git-fetch)
14617 (uri (git-reference
14618 (url "https://github.com/fourier/ppath/")
14619 (commit commit)))
14620 (file-name (git-file-name name commit))
14621 (sha256
14622 (base32 "1c46q9lmzqv14z80d3fwdawgn3pn4922x31fyqvsvbcjm4hd16fb"))))
14623 (build-system asdf-build-system/sbcl)
14624 (inputs
14625 `(("alexandria" ,sbcl-alexandria)
14626 ("cffi" ,sbcl-cffi)
14627 ("osicat" ,sbcl-osicat)
14628 ("ppcre" ,sbcl-cl-ppcre)
14629 ("split-sequence" ,sbcl-split-sequence)
14630 ("trivial-features" ,sbcl-trivial-features)))
14631 (native-inputs
14632 `(("cl-fad" ,sbcl-cl-fad)
14633 ("prove" ,sbcl-prove)))
14634 (home-page "https://github.com/fourier/ppath")
14635 (synopsis "Common Lisp's implementation of the Python's os.path module")
14636 (description
14637 "This library is a path strings manipulation library inspired by
14638Python's @code{os.path}. All functionality from @code{os.path} is supported on
14639major operation systems.
14640
14641The philosophy behind is to use simple strings and \"dumb\" string
14642manipulation functions to handle paths and filenames. Where possible the
14643corresponding OS system functions are called.")
14644 (license license:bsd-2))))
14645
14646(define-public ecl-ppath
14647 (sbcl-package->ecl-package sbcl-ppath))
14648
14649(define-public cl-ppath
52ee15f0 14650 (sbcl-package->cl-source-package sbcl-ppath))
99e6365c
PN
14651
14652(define-public sbcl-trivial-escapes
14653 (let ((commit "1eca78da2078495d09893be58c28b3aa7b8cc4d1"))
14654 (package
14655 (name "sbcl-trivial-escapes")
14656 (version (git-version "1.2.0" "1" commit))
14657 (source
14658 (origin
14659 (method git-fetch)
14660 (uri (git-reference
14661 (url "https://github.com/williamyaoh/trivial-escapes")
14662 (commit commit)))
14663 (file-name (git-file-name name commit))
14664 (sha256
14665 (base32 "0v6h8lk17iqv1qkxgqjyzn8gi6v0hvq2vmfbb01md3zjvjqxn6lr"))))
14666 (build-system asdf-build-system/sbcl)
14667 (inputs
14668 `(("named-readtables" ,sbcl-named-readtables)))
14669 (native-inputs
14670 `(("fiveam" ,sbcl-fiveam)))
14671 (home-page "https://github.com/williamyaoh/trivial-escapes")
14672 (synopsis "C-style escape directives for Common Lisp")
14673 (description
14674 "This Common Lisp library interprets escape characters the same way that
14675most other programming language do.
14676It provides four readtables. The default one lets you write strings like this:
14677@code{#\"This string has\na newline in it!\"}.")
14678 (license license:public-domain))))
14679
14680(define-public ecl-trivial-escapes
14681 (sbcl-package->ecl-package sbcl-trivial-escapes))
14682
14683(define-public cl-trivial-escapes
14684 (sbcl-package->cl-source-package sbcl-trivial-escapes))
13e18b32
PN
14685
14686(define-public sbcl-cl-indentify
14687 (let ((commit "eb770f434defa4cd41d84bca822428dfd0dbac53"))
14688 (package
14689 (name "sbcl-cl-indentify")
14690 (version (git-version "0.1" "1" commit))
14691 (source
14692 (origin
14693 (method git-fetch)
14694 (uri (git-reference
14695 (url "https://github.com/yitzchak/cl-indentify")
14696 (commit commit)))
14697 (file-name (git-file-name name commit))
14698 (sha256
14699 (base32 "0ha36bhg474vr76vfhr13szc8cfdj1ickg92k1icz791bqaqg67p"))))
14700 (build-system asdf-build-system/sbcl)
14701 (inputs
14702 `(("alexandria" ,sbcl-alexandria)
14703 ("command-line-arguments" ,sbcl-command-line-arguments)
14704 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
14705 (native-inputs
14706 `(("trivial-escapes" ,sbcl-trivial-escapes)
14707 ("rove" ,sbcl-rove)))
14708 (home-page "https://github.com/yitzchak/cl-indentify")
14709 (synopsis "Code beautifier for Common Lisp")
14710 (description
14711 "A library and command line utility to automatically indent Common Lisp
14712source files.")
14713 (license license:expat))))
14714
14715(define-public ecl-cl-indentify
14716 (sbcl-package->ecl-package sbcl-cl-indentify))
14717
14718(define-public cl-indentify
14719 (sbcl-package->cl-source-package sbcl-cl-indentify))
bc14c6a4
PN
14720
14721(define-public sbcl-concrete-syntax-tree
14722 (let ((commit "abd242a59dadc5452aa9dbc1d313c83ec2c11f46"))
14723 (package
14724 (name "sbcl-concrete-syntax-tree")
14725 (version (git-version "0.0.0" "1" commit))
14726 (source
14727 (origin
14728 (method git-fetch)
14729 (uri (git-reference
14730 (url "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14731 (commit commit)))
14732 (file-name (git-file-name name commit))
14733 (sha256
14734 (base32 "1lyrglc3h1if44gxd9cwv90wa90nrdjvb7fry39b1xn8ywdfa7di"))))
14735 (build-system asdf-build-system/sbcl)
14736 (inputs
14737 `(("acclimation" ,sbcl-acclimation)))
14738 (home-page "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14739 (synopsis "Parse Common Lisp code into a concrete syntax tree")
14740 (description
14741 "This library is intended to solve the problem of source tracking for
14742Common Lisp code.
14743
14744By \"source tracking\", it is meant that code elements that have a known
14745origin in the form of a position in a file or in an editor buffer are
14746associated with some kind of information about this origin.
14747
14748Since the exact nature of such origin information depends on the Common Lisp
14749implementation and the purpose of wanting to track that origin, the library
14750does not impose a particular structure of this information. Instead, it
14751provides utilities for manipulating source code in the form of what is called
14752concrete syntax trees (CSTs for short) that preserve this information about
14753the origin.")
14754 (license license:bsd-2))))
14755
14756(define-public ecl-concrete-syntax-tree
14757 (sbcl-package->ecl-package sbcl-concrete-syntax-tree))
14758
14759(define-public cl-concrete-syntax-tree
14760 (sbcl-package->cl-source-package sbcl-concrete-syntax-tree))
cdd1023d
PN
14761
14762(define-public sbcl-eclector
14763 (package
14764 (name "sbcl-eclector")
14765 (version "0.5.0")
14766 (source
14767 (origin
14768 (method git-fetch)
14769 (uri (git-reference
14770 (url "https://github.com/s-expressionists/Eclector")
14771 (commit version)))
14772 (file-name (git-file-name name version))
14773 (sha256
14774 (base32 "0bwkla0jdp5bg0q1zca5wg22b0nbdmglgax345nrhsf8bdrh47wm"))))
14775 (build-system asdf-build-system/sbcl)
14776 (inputs
14777 `(("acclimation" ,sbcl-acclimation)
14778 ("alexandria" ,sbcl-alexandria)
14779 ("closer-mop" ,sbcl-closer-mop)
14780 ("concrete-syntax-tree" ,sbcl-concrete-syntax-tree)))
14781 (native-inputs
14782 `(("fiveam" ,sbcl-fiveam)))
14783 (arguments
14784 '(#:asd-systems '("eclector"
14785 "eclector-concrete-syntax-tree")))
14786 (home-page "https://s-expressionists.github.io/Eclector/")
14787 (synopsis "Highly customizable, portable Common Lisp reader")
14788 (description
14789 "Eclector is a portable Common Lisp reader that is highly customizable,
14790can recover from errors and can return concrete syntax trees.
14791
14792In contrast to many other reader implementations, eclector can recover from
14793most errors in the input supplied to it and continue reading. This capability
14794is realized as a restart.
14795
14796It can also produce instances of the concrete syntax tree classes provided by
14797the concrete syntax tree library.")
14798 (license license:bsd-2)))
14799
14800(define-public ecl-eclector
14801 (sbcl-package->ecl-package sbcl-eclector))
14802
14803(define-public cl-eclector
14804 (sbcl-package->cl-source-package sbcl-eclector))
4e0b0bf2
PN
14805
14806(define-public sbcl-jsown
14807 (let ((commit "744c4407bef58dfa876d9da0b5c0205d869e7977"))
14808 (package
14809 (name "sbcl-jsown")
14810 (version (git-version "1.0.1" "1" commit))
14811 (source
14812 (origin
14813 (method git-fetch)
14814 (uri (git-reference
14815 (url "https://github.com/madnificent/jsown")
14816 (commit commit)))
14817 (file-name (git-file-name name commit))
14818 (sha256
14819 (base32 "0gadvmf1d9bq35s61z76psrsnzwwk12svi66jigf491hv48wigw7"))))
14820 (build-system asdf-build-system/sbcl)
14821 (home-page "https://github.com/madnificent/jsown")
14822 (synopsis "Fast JSON reader / writer library for Common Lisp")
14823 (description
14824 "@code{jsown} is a high performance Common Lisp JSON parser. Its aim
14825is to allow for the fast parsing of JSON objects in Common Lisp. Recently,
14826functions and macros have been added to ease the burden of writing and editing
14827@code{jsown} objects.
14828
14829@code{jsown} allows you to parse JSON objects quickly to a modifiable Lisp
14830list and write them back. If you only need partial retrieval of objects,
14831@code{jsown} allows you to select the keys which you would like to see parsed.
14832@code{jsown} also has a JSON writer and some helper methods to alter the JSON
14833objects themselves.")
14834 (license license:expat))))
14835
14836(define-public ecl-jsown
14837 (sbcl-package->ecl-package sbcl-jsown))
14838
14839(define-public cl-jsown
14840 (sbcl-package->cl-source-package sbcl-jsown))
abf21b14
PN
14841
14842(define-public sbcl-system-locale
14843 (let ((commit "4b334bc2fa45651bcaa28ae7d9331095d6bf0a17"))
14844 (package
14845 (name "sbcl-system-locale")
14846 (version (git-version "1.0.0" "1" commit))
14847 (source
14848 (origin
14849 (method git-fetch)
14850 (uri (git-reference
14851 (url "https://github.com/Shinmera/system-locale/")
14852 (commit commit)))
14853 (file-name (git-file-name name commit))
14854 (sha256
14855 (base32 "00p5c053kmgq4ks6l9mxsqz6g3bjcybvkvj0bh3r90qgpkaawm1p"))))
14856 (build-system asdf-build-system/sbcl)
14857 (inputs
14858 `(("documentation-utils" ,sbcl-documentation-utils)))
14859 (home-page "https://shinmera.github.io/system-locale/")
14860 (synopsis "Get the system's locale and language settings in Common Lisp")
14861 (description
14862 "This library retrieves locale information configured on the
14863system. This is helpful if you want to write applications and libraries that
14864display messages in the user's native language.")
14865 (license license:zlib))))
14866
14867(define-public ecl-system-locale
14868 (sbcl-package->ecl-package sbcl-system-locale))
14869
14870(define-public cl-system-locale
14871 (sbcl-package->cl-source-package sbcl-system-locale))
4c518507
PN
14872
14873(define-public sbcl-language-codes
14874 (let ((commit "e7aa0e37cb97a3d37d6bc7316b479d01bff8f42e"))
14875 (package
14876 (name "sbcl-language-codes")
14877 (version (git-version "1.0.0" "1" commit))
14878 (source
14879 (origin
14880 (method git-fetch)
14881 (uri (git-reference
14882 (url "https://github.com/Shinmera/language-codes")
14883 (commit commit)))
14884 (file-name (git-file-name name commit))
14885 (sha256
14886 (base32 "0py176ibmsc01n5r0q1bs1ykqf5jwdbh8kx0j1a814l9y51241v0"))))
14887 (build-system asdf-build-system/sbcl)
14888 (inputs
14889 `(("documentation-utils" ,sbcl-documentation-utils)))
14890 (home-page "https://shinmera.github.io/language-codes/")
14891 (synopsis "Map ISO language codes to language names in Common Lisp")
14892 (description
14893 "This is a small library providing the ISO-639 language code to
14894language name mapping.")
14895 (license license:zlib))))
14896
14897(define-public ecl-language-codes
14898 (sbcl-package->ecl-package sbcl-language-codes))
14899
14900(define-public cl-language-codes
14901 (sbcl-package->cl-source-package sbcl-language-codes))
773ffd1f
PN
14902
14903(define-public sbcl-multilang-documentation
14904 (let ((commit "59e798a07e949e8957a20927f52aca425d84e4a0"))
14905 (package
14906 (name "sbcl-multilang-documentation")
14907 (version (git-version "1.0.0" "1" commit))
14908 (source
14909 (origin
14910 (method git-fetch)
14911 (uri (git-reference
14912 (url "https://github.com/Shinmera/multilang-documentation")
14913 (commit commit)))
14914 (file-name (git-file-name name commit))
14915 (sha256
14916 (base32 "13y5jskx8n2b7kimpfarr8v777w3b7zj5swg1b99nj3hk0843ixw"))))
14917 (build-system asdf-build-system/sbcl)
14918 (inputs
14919 `(("documentation-utils" ,sbcl-documentation-utils)
14920 ("language-codes" ,sbcl-language-codes)
14921 ("system-locale" ,sbcl-system-locale)))
14922 (home-page "https://shinmera.github.io/multilang-documentation/")
14923 (synopsis "Add multiple languages support to Common Lisp documentation")
14924 (description
14925 "This library provides a drop-in replacement function for
14926cl:documentation that supports multiple docstrings per-language, allowing you
14927to write documentation that can be internationalised.")
14928 (license license:zlib))))
14929
14930(define-public ecl-multilang-documentation
14931 (sbcl-package->ecl-package sbcl-multilang-documentation))
14932
14933(define-public cl-multilang-documentation
14934 (sbcl-package->cl-source-package sbcl-multilang-documentation))
c2fe94ab
PN
14935
14936(define-public sbcl-trivial-do
14937 (let ((commit "03a1729f1e71bad3ebcf6cf098a0cce52dfa1163"))
14938 (package
14939 (name "sbcl-trivial-do")
14940 (version (git-version "0.1" "1" commit))
14941 (source
14942 (origin
14943 (method git-fetch)
14944 (uri (git-reference
14945 (url "https://github.com/yitzchak/trivial-do")
14946 (commit commit)))
14947 (file-name (git-file-name name commit))
14948 (sha256
14949 (base32 "1ffva79nkicc7wc8c2ic5nayis3b2rk5sxzj74yjkymkjgbpcrgd"))))
14950 (build-system asdf-build-system/sbcl)
14951 (home-page "https://github.com/yitzchak/trivial-do")
14952 (synopsis "Additional dolist style macros for Common Lisp")
14953 (description
14954 "Additional dolist style macros for Common Lisp, such as
14955@code{doalist}, @code{dohash}, @code{dolist*}, @code{doplist}, @code{doseq}
14956and @code{doseq*}.")
14957 (license license:zlib))))
14958
14959(define-public ecl-trivial-do
14960 (sbcl-package->ecl-package sbcl-trivial-do))
14961
14962(define-public cl-trivial-do
14963 (sbcl-package->cl-source-package sbcl-trivial-do))
cc1c91c1
PN
14964
14965(define-public sbcl-common-lisp-jupyter
b905abfb
SH
14966 (let ((commit "ba9f0e746b9200d6fd6db647d7274448119ed01b")
14967 (revision "3"))
cc1c91c1
PN
14968 (package
14969 (name "sbcl-common-lisp-jupyter")
b905abfb 14970 (version (git-version "0.1.0" revision commit))
cc1c91c1
PN
14971 (source
14972 (origin
14973 (method git-fetch)
14974 (uri (git-reference
14975 (url "https://github.com/yitzchak/common-lisp-jupyter")
14976 (commit commit)))
b905abfb 14977 (file-name (git-file-name "common-lisp-jupyter" commit))
cc1c91c1 14978 (sha256
b905abfb 14979 (base32 "0si69xfzi769dprwfy7gp1x3bl7lxz6d4n98sa26w9r41wvay5ja"))))
cc1c91c1
PN
14980 (build-system asdf-build-system/sbcl)
14981 (inputs
14982 `(("alexandria" ,sbcl-alexandria)
14983 ("babel" ,sbcl-babel)
14984 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14985 ("cl-base64" ,sbcl-cl-base64)
14986 ("cl-indentify" ,sbcl-cl-indentify)
14987 ("closer-mop" ,sbcl-closer-mop)
b905abfb 14988 ("dissect" ,sbcl-dissect)
cc1c91c1
PN
14989 ("eclector" ,sbcl-eclector)
14990 ("ironclad" ,sbcl-ironclad)
14991 ("iterate" ,sbcl-iterate)
cc1c91c1 14992 ("multilang-documentation" ,sbcl-multilang-documentation)
cc1c91c1 14993 ("puri" ,sbcl-puri)
b905abfb
SH
14994 ("pzmq" ,sbcl-pzmq)
14995 ("shasht" ,sbcl-shasht)
cc1c91c1
PN
14996 ("static-vectors" ,sbcl-static-vectors)
14997 ("trivial-do" ,sbcl-trivial-do)
14998 ("trivial-garbage" ,sbcl-trivial-garbage)
14999 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
15000 ("trivial-mimes" ,sbcl-trivial-mimes)))
15001 (home-page "https://yitzchak.github.io/common-lisp-jupyter/")
15002 (synopsis "Common Lisp kernel for Jupyter")
15003 (description
15004 "This is a Common Lisp kernel for Jupyter along with a library for
15005building Jupyter kernels, based on Maxima-Jupyter which was based on
15006@code{cl-jupyter}.")
b905abfb 15007 (license license:expat))))
cc1c91c1
PN
15008
15009(define-public ecl-common-lisp-jupyter
15010 (sbcl-package->ecl-package sbcl-common-lisp-jupyter))
15011
15012(define-public cl-common-lisp-jupyter
15013 (sbcl-package->cl-source-package sbcl-common-lisp-jupyter))
051c1271
SH
15014
15015(define-public sbcl-radiance
15016 (let ((commit "5ffbe1f157edd17a13194495099efd81e052df85")
15017 (revision "1"))
15018 (package
15019 (name "sbcl-radiance")
15020 (version (git-version "2.1.2" revision commit))
15021 (source
15022 (origin
15023 (method git-fetch)
15024 (uri (git-reference
15025 (url "https://github.com/Shirakumo/radiance")
15026 (commit commit)))
15027 (file-name (git-file-name "radiance" version))
15028 (sha256
15029 (base32 "0hbkcnmnlj1cqzbv18zmla2iwbl65kxilz9764hndf8x8as1539c"))))
15030 (build-system asdf-build-system/sbcl)
15031 (arguments
15032 `(#:tests? #f ; TODO: The tests require some configuration.
15033 #:phases
15034 (modify-phases %standard-phases
15035 (add-after 'unpack 'disable-quicklisp
15036 (lambda _
15037 ;; Disable the automatic installation of systems by Quicklisp.
15038 ;; (Maybe there would be a way to package Quicklisp and make it
15039 ;; install things in the user's directory instead of
15040 ;; /gnu/store/...).
15041 (substitute* "interfaces.lisp"
15042 (("\\(unless \\(asdf:find-system configured-implementation NIL\\)"
15043 all)
15044 (string-append "#+quicklisp " all))))))))
15045 (native-inputs
15046 `(("alexandria" ,sbcl-alexandria)
15047 ("dexador" ,sbcl-dexador)
15048 ("parachute" ,sbcl-parachute)
15049 ("verbose" ,sbcl-verbose)))
15050 (inputs
15051 `(("babel" ,sbcl-babel)
15052 ("bordeaux-threads" ,sbcl-bordeaux-threads)
15053 ("cl-ppcre" ,sbcl-cl-ppcre)
15054 ("closer-mop" ,sbcl-closer-mop)
15055 ("documentation-utils" ,sbcl-documentation-utils)
15056 ("deploy" ,sbcl-deploy)
15057 ("form-fiddle" ,sbcl-form-fiddle)
15058 ("lambda-fiddle" ,sbcl-lambda-fiddle)
15059 ("local-time" ,sbcl-local-time)
15060 ("modularize-hooks" ,sbcl-modularize-hooks)
15061 ("modularize-interfaces" ,sbcl-modularize-interfaces)
15062 ("puri" ,sbcl-puri)
15063 ("trivial-indent" ,sbcl-trivial-indent)
15064 ("trivial-mimes" ,sbcl-trivial-mimes)
15065 ("ubiquitous-concurrent" ,sbcl-ubiquitous)))
15066 (home-page "https://shirakumo.github.io/radiance/")
15067 (synopsis "Common Lisp web application environment")
15068 (description
15069 "Radiance is a web application environment, which is sort of like a web
15070framework, but more general, more flexible. It should let you write personal
15071websites and generally deployable applications easily and in such a way that
15072they can be used on practically any setup without having to undergo special
15073adaptations.")
15074 (license license:zlib))))
15075
15076(define-public ecl-radiance
15077 (sbcl-package->ecl-package sbcl-radiance))
15078
15079(define-public cl-radiance
15080 (sbcl-package->cl-source-package sbcl-radiance))
f35c9fd5
SH
15081
15082(define-public sbcl-daemon
15083 (let ((commit "d5652f4332c3cee21e9bf83b9237129605004597")
15084 (revision "1"))
15085 (package
15086 (name "sbcl-daemon")
15087 (version (git-version "0.0.4" revision commit))
15088 (source
15089 (origin
15090 (method git-fetch)
15091 (uri (git-reference
15092 (url "https://github.com/snmsts/daemon")
15093 (commit commit)))
15094 (file-name (git-file-name "daemon" version))
15095 (sha256
15096 (base32 "1kdxfnhh9fz34j8qs7pn7mwjz3v33q4v9nh0hqkyzraq5xs2j3f4"))))
15097 (build-system asdf-build-system/sbcl)
15098 (inputs
15099 `(("trivial-features" ,sbcl-trivial-features)))
15100 (home-page "https://github.com/snmsts/daemon")
15101 (synopsis "Daemonize Common Lisp processes")
15102 (description
15103 "DAEMON provides the functionality of daemonizing Common Lisp processes
15104on UNIX like platforms.")
15105 (license license:expat))))
15106
15107(define-public ecl-daemon
15108 (sbcl-package->ecl-package sbcl-daemon))
15109
15110(define-public cl-daemon
15111 (sbcl-package->cl-source-package sbcl-daemon))
14b32f62
PN
15112
15113(define-public sbcl-file-attributes
62418f3d 15114 (let ((commit "bbde396438f37d676de9775239115410bec4da2d"))
14b32f62
PN
15115 (package
15116 (name "sbcl-file-attributes")
62418f3d 15117 (version (git-version "1.0.0" "2" commit))
14b32f62
PN
15118 (source
15119 (origin
15120 (method git-fetch)
15121 (uri (git-reference
15122 (url "https://github.com/Shinmera/file-attributes/")
15123 (commit commit)))
15124 (file-name (git-file-name name version))
15125 (sha256
62418f3d 15126 (base32 "0n8q818ry2shggjfhp8gjby8v5mla9pg97c5g19pcglpnwim7a74"))))
14b32f62
PN
15127 (build-system asdf-build-system/sbcl)
15128 (inputs
15129 `(("cffi" ,sbcl-cffi)
15130 ("documentation-utils" ,sbcl-documentation-utils)
15131 ("trivial-features" ,sbcl-trivial-features)))
15132 (home-page "https://shinmera.github.io/file-attributes/")
15133 (synopsis "Access to common file attributes in Common Lisp")
15134 (description
15135 "This is a small OS portability library to retrieve and set file
15136attributes not supported by the Common Lisp standard functions.")
15137 (license license:zlib))))
b35dea1d
PN
15138
15139(define-public ecl-file-attributes
15140 (sbcl-package->ecl-package sbcl-file-attributes))
15141
15142(define-public cl-file-attributes
15143 (sbcl-package->cl-source-package sbcl-file-attributes))
073ae1b9
AAG
15144
15145(define-public sbcl-cl-difflib
15146 (let ((commit "98eb335c693f1881584b83ca7be4a0fe05355c4e")
15147 (revision "0"))
15148 (package
15149 (name "sbcl-cl-difflib")
15150 (version (git-version "0.2" revision commit))
15151 (source
15152 (origin
15153 (method git-fetch)
15154 (uri (git-reference
15155 (url "https://github.com/wiseman/cl-difflib")
15156 (commit commit)))
15157 (file-name
15158 (git-file-name name version))
15159 (sha256
15160 (base32 "08if0abhqg191xcz9s7xv8faqq51nswzp8hw423fkqjzr24pmq48"))))
15161 (build-system asdf-build-system/sbcl)
15162 ;; Due to the age of this library tests use some deprecated
15163 ;; functionality and keep failing.
15164 (arguments
15165 '(#:tests? #f
15166 #:asd-files '("cl-difflib.asd")))
15167 (home-page "https://github.com/wiseman/cl-difflib")
15168 (synopsis "Compute differences between pairs of sequences")
15169 (description
15170 "A Common Lisp library for computing differences between
15171sequences based on the Python difflib module.")
15172 (license license:expat))))
15173
15174(define-public ecl-cl-difflib
15175 (sbcl-package->ecl-package sbcl-cl-difflib))
15176
15177(define-public cl-difflib
15178 (sbcl-package->cl-source-package sbcl-cl-difflib))
db22d936
AAG
15179
15180(define-public sbcl-cl-html-diff
15181 (let ((commit "5a0b39d1c524278d6f60851d7786bb2585614310")
15182 (revision "0"))
15183 (package
15184 (name "sbcl-cl-html-diff")
15185 (version (git-version "0.1" revision commit))
15186 (source
15187 (origin
15188 (method git-fetch)
15189 (uri (git-reference
15190 (url "https://github.com/wiseman/cl-html-diff")
15191 (commit commit)))
15192 (file-name
15193 (git-file-name name version))
15194 (sha256
15195 (base32 "1varnijivzd4jpimn1cz8p5ks713zzha5cgl4vmb0xr8ahravwzb"))))
15196 (build-system asdf-build-system/sbcl)
15197 (inputs
15198 `(("cl-difflib" ,sbcl-cl-difflib)))
15199 (home-page "https://github.com/wiseman/cl-html-diff")
15200 (synopsis "Generate a human-readable diff of two HTML documents")
15201 (description
15202 "A Common Lisp library for generating a human-readable diff of two
15203HTML documents.")
15204 (license license:expat))))
15205
15206(define-public ecl-cl-html-diff
15207 (sbcl-package->ecl-package sbcl-cl-html-diff))
15208
15209(define-public cl-html-diff
15210 (sbcl-package->cl-source-package sbcl-cl-html-diff))
9e76de04 15211
15212(define-public sbcl-tooter
a3395a64 15213 (let ((commit "b1639d8a58dfe8020c82ed36697b7a668ef41a09")
15214 (revision "2"))
9e76de04 15215 (package
15216 (name "sbcl-tooter")
15217 (version (git-version "1.0.0" revision commit))
15218 (source
15219 (origin
15220 (method git-fetch)
15221 (uri (git-reference
15222 (url "https://github.com/Shinmera/tooter")
15223 (commit commit)))
15224 (file-name (git-file-name "tooter" version))
15225 (sha256
a3395a64 15226 (base32 "0842lbj9ml6qxdm5xvhdbm87wyrvrq7bxawa6i8wk80n8lnvmhdw"))))
9e76de04 15227 (build-system asdf-build-system/sbcl)
15228 (inputs
15229 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
15230 ("sbcl-documentation-utils" ,sbcl-documentation-utils)
15231 ("sbcl-drakma" ,sbcl-drakma)
15232 ("sbcl-yason" ,sbcl-yason)))
15233 (synopsis "Common Lisp client library for Mastodon instances")
15234 (description
15235 "This is a Common Lisp library implementing the full v1 REST API
15236protocol for Mastodon.")
15237 (home-page "https://shinmera.github.io/tooter/")
15238 (license license:zlib))))
15239
15240(define-public ecl-tooter
15241 (sbcl-package->ecl-package sbcl-tooter))
15242
15243(define-public cl-tooter
15244 (sbcl-package->cl-source-package sbcl-tooter))
8768df2e 15245
15246(define-public sbcl-croatoan
66bce3f2 15247 (let ((commit "a577951d8dd607f828d6efb3290b4e8ac9f1e654")
15248 (revision "3"))
8768df2e 15249 (package
15250 (name "sbcl-croatoan")
15251 (version (git-version "0.0.1" revision commit))
15252 (source
15253 (origin
15254 (method git-fetch)
15255 (uri (git-reference
15256 (url "https://github.com/McParen/croatoan")
15257 (commit commit)))
15258 (file-name (git-file-name "croatoan" version))
15259 (sha256
66bce3f2 15260 (base32 "1y7a13mzy0cz19pw0xvqwca1s7frfaqryaqwl1mrq7iz84sw0fcw"))))
8768df2e 15261 (build-system asdf-build-system/sbcl)
15262 (arguments
15263 '(#:phases
15264 (modify-phases %standard-phases
15265 (add-after 'unpack 'fix-paths
15266 (lambda* (#:key inputs #:allow-other-keys)
15267 (substitute* "ncurses/ncurses.lisp"
15268 (("libncursesw" all)
15269 (string-append (assoc-ref inputs "ncurses")
15270 "/lib/"
15271 all))))))))
15272 (inputs
15273 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
15274 ("cffi" ,sbcl-cffi)
15275 ("ncurses" ,ncurses)
15276 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
15277 (synopsis "Common Lisp bindings for the ncurses terminal library")
15278 (description "Croatoan provides high-level Common Lisp CLOS bindings for
15279the ncurses terminal library.")
15280 (home-page "https://github.com/McParen/croatoan")
15281 (license license:expat))))
15282
15283(define-public ecl-croatoan
15284 (sbcl-package->ecl-package sbcl-croatoan))
15285
15286(define-public cl-croatoan
15287 (sbcl-package->cl-source-package sbcl-croatoan))
c1b8219d 15288
15289(define-public sbcl-cl-spark
15290 (let ((commit "4e34bcebdcf8e45265986eb43ad4ad03bb41a581")
15291 (revision "1"))
15292 (package
15293 (name "sbcl-cl-spark")
15294 (version (git-version "0.1.13" revision commit))
15295 (source
15296 (origin
15297 (method git-fetch)
15298 (uri (git-reference
15299 (url "https://github.com/tkych/cl-spark")
15300 (commit commit)))
15301 (file-name (git-file-name "cl-spark" version))
15302 (sha256
15303 (base32 "0my1fsgi2rjaqkpk934f2bjy63pmnj7faza3fzvnk6k3l66y19nk"))))
15304 (build-system asdf-build-system/sbcl)
15305 (native-inputs
15306 `(("fiveam" ,sbcl-fiveam)))
15307 (synopsis "Common Lisp library to make histograms")
15308 (description "This is a Common Lisp library to make histograms using
15309UTF-8 block characters.")
15310 (home-page "https://github.com/tkych/cl-spark")
15311 (license license:expat))))
15312
15313(define-public ecl-cl-spark
15314 (sbcl-package->ecl-package sbcl-cl-spark))
15315
15316(define-public cl-spark
15317 (sbcl-package->cl-source-package sbcl-cl-spark))
c88de964 15318
15319(define-public sbcl-access
15320 (let ((commit "1b26db3760018cdc4624f880f0a1e0155d8f6c50")
15321 (revision "1"))
15322 (package
15323 (name "sbcl-access")
15324 (version (git-version "1.5.0" revision commit))
15325 (source
15326 (origin
15327 (method git-fetch)
15328 (uri (git-reference
15329 (url "https://github.com/sharplispers/access")
15330 (commit commit)))
15331 (file-name (git-file-name "access" version))
15332 (sha256
15333 (base32 "1knd3n4mpzkc97i1znbas32pscd30416isvmx2pjmgvar6k93pl5"))))
15334 (build-system asdf-build-system/sbcl)
15335 (native-inputs
15336 `(("lisp-unit2" ,sbcl-lisp-unit2)))
15337 (inputs
15338 `(("alexandria" ,sbcl-alexandria)
15339 ("anaphora" ,sbcl-anaphora)
15340 ("closer-mop" ,sbcl-closer-mop)
15341 ("interpol" ,sbcl-cl-interpol)
15342 ("iterate" ,sbcl-iterate)))
15343 (synopsis
15344 "Common lisp library to unify access to dictionary-like structures")
15345 (description
15346 "This is a Common lisp library to unify access to the most common
15347dictionary-like data structures.")
15348 (home-page "https://github.com/sharplispers/access")
15349 (license license:bsd-3))))
15350
15351(define-public ecl-access
15352 (sbcl-package->ecl-package sbcl-access))
15353
15354(define-public cl-access
15355 (sbcl-package->cl-source-package sbcl-access))
3c1cc499
GLV
15356
15357(define-public sbcl-sxql-composer
15358 (let ((commit "2b2230cb01ae1b68e28921d99e4814046867fb75")
15359 (revision "1"))
15360 (package
15361 (name "sbcl-sxql-composer")
15362 (version (git-version "0.1" revision commit))
15363 (source
15364 (origin
15365 (method git-fetch)
15366 (uri (git-reference
15367 (url "https://github.com/mmontone/sxql-composer")
15368 (commit commit)))
15369 (file-name (git-file-name "sxql-composer" version))
15370 (sha256
15371 (base32 "1agkrj3ymskzc3c7pxbrj123d1kygjqcls145m0ap3i07q96hh1r"))))
15372 (build-system asdf-build-system/sbcl)
15373 (inputs
15374 `(("sxql" ,sbcl-sxql)))
15375 (synopsis "Build and compose SXQL queries dynamically")
15376 (description
15377 "This is a Common Lisp library to build and compose SXQL queries
15378dynamically.")
15379 (home-page "https://github.com/mmontone/sxql-composer")
15380 (license license:expat))))
15381
15382(define-public ecl-sxql-composer
15383 (sbcl-package->ecl-package sbcl-sxql-composer))
15384
15385(define-public cl-sxql-composer
15386 (sbcl-package->cl-source-package sbcl-sxql-composer))
88d822c5 15387
15388(define-public sbcl-cl-i18n
15389 (let ((commit "fa0aa5bef8dfbdf2d72f7cc9f49e848ccbb567aa")
15390 (revision "1"))
15391 (package
15392 (name "sbcl-cl-i18n")
15393 (version (git-version "0.5.0" revision commit))
15394 (source
15395 (origin
15396 (method git-fetch)
15397 (uri (git-reference
15398 (url "https://notabug.org/cage/cl-i18n")
15399 (commit commit)))
15400 (file-name (git-file-name "cl-i18n" version))
15401 (sha256
15402 (base32 "1hpsdbb3hd79bzbrnbqgk2j3f0ispxvk91snp08fm2z3f1sds5as"))))
15403 (build-system asdf-build-system/sbcl)
15404 (inputs
15405 `(("alexandria" ,sbcl-alexandria)
15406 ("babel" ,sbcl-babel)
15407 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
15408 (synopsis "Internationalisation framework for Common Lisp")
15409 (description
15410 "This is a Gettext-style internationalisation framework for Common
15411Lisp.")
15412 (home-page "https://notabug.org/cage/cl-i18n")
15413 (license license:llgpl))))
15414
15415(define-public ecl-cl-i18n
15416 (sbcl-package->ecl-package sbcl-cl-i18n))
15417
15418(define-public cl-i18n
15419 (sbcl-package->cl-source-package sbcl-cl-i18n))
9e9c9a3a 15420
15421(define-public sbcl-crypto-shortcuts
15422 (let ((commit "7efd22d80e867cd8c9f8f363d4fe7b51ee2dadc0")
15423 (revision "1"))
15424 (package
15425 (name "sbcl-crypto-shortcuts")
15426 (version (git-version "2.0.0" revision commit))
15427 (source
15428 (origin
15429 (method git-fetch)
15430 (uri (git-reference
15431 (url "https://github.com/Shinmera/crypto-shortcuts")
15432 (commit commit)))
15433 (file-name (git-file-name "crypto-shortcuts" version))
15434 (sha256
15435 (base32 "0c0m0ar04jn7qf2v8c4sivamlzki03r13rnxy8b3n27rh9r6hgin"))))
15436 (build-system asdf-build-system/sbcl)
15437 (inputs
15438 `(("cl-base64" ,sbcl-cl-base64)
15439 ("flexi-stream" ,sbcl-flexi-streams)
15440 ("ironclad" ,sbcl-ironclad)))
15441 (synopsis "Collection of common cryptography functions")
15442 (description
15443 "This is a collection of common cryptography functions for Common
15444Lisp.")
15445 (home-page "https://shinmera.github.io/crypto-shortcuts/")
15446 (license license:zlib))))
15447
15448(define-public ecl-crypto-shortcuts
15449 (sbcl-package->ecl-package sbcl-crypto-shortcuts))
15450
15451(define-public cl-crypto-shortcuts
15452 (sbcl-package->cl-source-package sbcl-crypto-shortcuts))
f934892c 15453
15454(define-public sbcl-cl-html5-parser
15455 (let ((commit "74a92eb3a183a0afd089ea33350e816e6b9aeefa")
15456 (revision "1"))
15457 (package
15458 (name "sbcl-cl-html5-parser")
15459 (version (git-version "0.0.0" revision commit))
15460 (source
15461 (origin
15462 (method git-fetch)
15463 (uri (git-reference
15464 (url "https://github.com/rotatef/cl-html5-parser")
15465 (commit commit)))
15466 (file-name (git-file-name "cl-html5-parser" version))
15467 (sha256
15468 (base32 "04if61wigylsmn996rbfl8ylsd0d9hzdmg7p2wiglncibjzcl5k9"))))
15469 (build-system asdf-build-system/sbcl)
8b972bd5
SH
15470 (native-inputs
15471 `(("json-streams" ,sbcl-json-streams)
15472 ("split-sequence" ,sbcl-split-sequence)
15473 ("stefil" ,sbcl-stefil)))
f934892c 15474 (inputs
15475 `(("cl-ppcre" ,sbcl-cl-ppcre)
15476 ("flexi-stream" ,sbcl-flexi-streams)
15477 ("string-case" ,sbcl-string-case)))
15478 (synopsis "HTML5 parser for Common Lisp")
15479 (description "This a Common Lisp library to parse HTML5 documents.")
15480 (home-page "https://github.com/rotatef/cl-html5-parser")
15481 (license license:lgpl3+))))
15482
15483(define-public ecl-cl-html5-parser
15484 (sbcl-package->ecl-package sbcl-cl-html5-parser))
15485
15486(define-public cl-html5-parser
15487 (sbcl-package->cl-source-package sbcl-cl-html5-parser))
09f60f9e 15488
15489(define-public sbcl-percent-encoding
15490 (let ((commit "c1224e22bc8048fbd3ebbc9329715a0c1b673170")
15491 (revision "1"))
15492 (package
15493 (name "sbcl-percent-encoding")
15494 (version (git-version "0.1" revision commit))
15495 (source
15496 (origin
15497 (method git-fetch)
15498 (uri (git-reference
15499 (url "https://github.com/llibra/percent-encoding")
15500 (commit commit)))
15501 (file-name (git-file-name "percent-encoding" version))
15502 (sha256
15503 (base32 "0q1lh3sa6mkjr5gcdkgimkpc29rgf9cjhv90f61h8ridj28grq0h"))))
15504 (build-system asdf-build-system/sbcl)
15505 (native-inputs
15506 `(("fiveam" ,sbcl-fiveam)))
15507 (inputs
15508 `(("anaphora" ,sbcl-anaphora)
15509 ("babel" ,sbcl-babel)))
15510 (synopsis "RFC 3986 percent-encoding library")
15511 (description
15512 "This is a Common Lisp library providing RFC 3986 percent-encoding.")
15513 (home-page "https://github.com/llibra/percent-encoding")
15514 (license license:expat))))
15515
15516(define-public ecl-percent-encoding
15517 (sbcl-package->ecl-package sbcl-percent-encoding))
15518
15519(define-public cl-percent-encoding
15520 (sbcl-package->cl-source-package sbcl-percent-encoding))
3eec0e9b
SH
15521
15522(define-public sbcl-cl-mount-info
15523 (let ((commit "2024f5037a7f63db3e3587dc9972cd7b9318f06b")
15524 (revision "1"))
15525 (package
15526 (name "sbcl-cl-mount-info")
15527 (version (git-version "0.0.1" revision commit))
15528 (source
15529 (origin
15530 (method git-fetch)
15531 (uri (git-reference
15532 (url "https://notabug.org/cage/cl-mount-info.git")
15533 (commit commit)))
15534 (file-name (git-file-name "cl-mount-info" version))
15535 (sha256
15536 (base32 "0vza9gj9q42nzb5v8aj22lmn4aqx9vrddsb5a343nbwfz89hbh9x"))))
15537 (build-system asdf-build-system/sbcl)
15538 (inputs
15539 `(("alexandria" ,sbcl-alexandria)
15540 ("cffi" ,sbcl-cffi)
15541 ("cl-ppcre" ,sbcl-cl-ppcre)))
15542 (home-page "https://notabug.org/cage/cl-mount-info.git")
15543 (synopsis "Library to get information about mounted filesystems")
15544 (description
15545 "CL-MOUNT-INFO is a Common Lisp wrapper around @code{getmntent(3)} and
15546related C functions to get information about the mounted file system.")
15547 (license license:lgpl3))))
15548
15549(define-public ecl-cl-mount-info
15550 (sbcl-package->ecl-package sbcl-cl-mount-info))
15551
15552(define-public cl-mount-info
15553 (sbcl-package->cl-source-package sbcl-cl-mount-info))
d5a474be
SH
15554
15555(define-public sbcl-cl-diskspace
15556 (let ((commit "2dce2d0387d58221c452bd76c7b9b7a7de81ef55")
15557 (revision "1"))
15558 (package
15559 (name "sbcl-cl-diskspace")
15560 (version (git-version "0.3.1" revision commit))
15561 (source
15562 (origin
15563 (method git-fetch)
15564 (uri (git-reference
15565 (url "https://github.com/muyinliu/cl-diskspace")
15566 (commit commit)))
15567 (file-name (git-file-name "cl-diskspace" version))
15568 (sha256
15569 (base32 "0l19hxqw6b8i5i1jdbr45k1xib9axcwdagsp3y8wkb35g6wwc0s7"))))
15570 (build-system asdf-build-system/sbcl)
15571 (arguments
15572 `(#:phases
15573 (modify-phases %standard-phases
15574 (add-after 'unpack 'fix-paths
15575 (lambda* (#:key inputs #:allow-other-keys)
15576 (substitute* "src/unix/cl-diskspace-list-all-disks-with-df.lisp"
15577 (("grep")
15578 (string-append (assoc-ref inputs "grep") "/bin/grep")))
15579 (substitute* "src/unix/cl-diskspace-list-all-disks-with-df.lisp"
15580 (("/bin/df")
15581 (which "df")))
15582 #t)))))
15583 (inputs
15584 `(("cl-ppcre" ,sbcl-cl-ppcre)
15585 ("cffi" ,sbcl-cffi)
15586 ("grep" ,grep)))
15587 (home-page "https://github.com/muyinliu/cl-diskspace")
15588 (synopsis "Disk space information library for Common Lisp")
15589 (description
15590 "CL-DISKSPACE is a Common Lisp library to list disks with the command
15591line tool @code{df} and get disk space information using @code{statvfs}.")
15592 (license license:isc))))
15593
15594(define-public ecl-cl-diskspace
15595 (sbcl-package->ecl-package sbcl-cl-diskspace))
15596
15597(define-public cl-diskspace
15598 (sbcl-package->cl-source-package sbcl-cl-diskspace))
336088d5 15599
17c11ae9
SH
15600(define-public sbcl-cl-cpus
15601 (package
15602 (name "sbcl-cl-cpus")
15603 (version "0.0.3")
15604 (source
15605 (origin
15606 (method git-fetch)
15607 (uri (git-reference
15608 (url "https://github.com/muyinliu/cl-cpus")
15609 (commit (string-append "v" version))))
15610 (file-name (git-file-name "cl-cpus" version))
15611 (sha256
15612 (base32 "0sdaff9hpsx7bpkkkqavmxmrrlc2d61gmqjjgn8xchncng4a0rf8"))))
15613 (build-system asdf-build-system/sbcl)
15614 (inputs
15615 `(("cffi" ,sbcl-cffi)))
15616 (home-page "https://github.com/muyinliu/cl-cpus")
15617 (synopsis "Common Lisp feature to get number of CPUs")
15618 (description
15619 "This package provides a Common Lisp system which has only one function to
15620return the CPU count of the current system.")
15621 (license license:isc)))
15622
15623(define-public ecl-cl-cpus
15624 (sbcl-package->ecl-package sbcl-cl-cpus))
15625
15626(define-public cl-cpus
15627 (sbcl-package->cl-source-package sbcl-cl-cpus))
15628
336088d5
PN
15629(define-public sbcl-fof
15630 (package
15631 (name "sbcl-fof")
e3611cc4 15632 (version "0.2.0")
336088d5
PN
15633 (source
15634 (origin
15635 (method git-fetch)
15636 (uri (git-reference
15637 (url "https://gitlab.com/ambrevar/fof")
15638 (commit version)))
15639 (file-name (git-file-name name version))
15640 (sha256
e3611cc4 15641 (base32 "0j64b7p40h8bq33hqkpgakm3vs1607vyx6n48d7qg3287v1akk6m"))))
336088d5
PN
15642 (build-system asdf-build-system/sbcl)
15643 (arguments
15644 `(#:phases
15645 (modify-phases %standard-phases
15646 (add-after 'unpack 'fix-paths
15647 (lambda* (#:key inputs #:allow-other-keys)
15648 (substitute* "ffprobe.lisp"
15649 (("\\(defvar \\*ffprobe-command\\* \"ffprobe\"\\)")
15650 (format #f "(defvar *ffprobe-command* \"~a/bin/ffprobe\")"
15651 (assoc-ref inputs "ffmpeg") )))
15652 #t)))))
15653 (inputs
15654 `(("alexandria" ,sbcl-alexandria)
15655 ("hu.dwim.defclass-star" ,sbcl-hu.dwim.defclass-star)
15656 ("local-time" ,sbcl-local-time)
15657 ("magicffi" ,sbcl-magicffi)
15658 ("osicat" ,sbcl-osicat)
15659 ("serapeum" ,sbcl-serapeum)
15660 ("str" ,sbcl-cl-str)
15661 ("trivia" ,sbcl-trivia)
15662 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)
15663 ;; Non-CL deps:
15664 ("ffmpeg" ,ffmpeg)))
15665 (home-page "https://gitlab.com/ambrevar/fof")
15666 (synopsis "File object finder library for Common Lisp")
15667 (description
15668 "This library enable rapid file search, inspection and manipulation
15669straight from the REPL.
15670It aims at replacing Unix tools such as @code{find} or @code{du}.
15671It also offers a replacement to the @code{pathname} Common Lisp API.
15672Slot writers which commit changes to disk, e.g. permissions, modification
15673time, etc.")
15674 (license license:gpl3+)))
15675
15676(define-public ecl-fof
15677 (sbcl-package->ecl-package sbcl-fof))
15678
15679(define-public cl-fof
15680 (sbcl-package->cl-source-package sbcl-fof))
6dda2236
PN
15681
15682(define-public sbcl-computable-reals
15683 (let ((commit "fdc73d75e79d0a4ce6d01c822c950ae2eb137d39"))
15684 (package
15685 (name "sbcl-computable-reals")
15686 (version (git-version "1.1.0" "1" commit))
15687 (source
15688 (origin
15689 (method git-fetch)
15690 (uri (git-reference
15691 (url "https://github.com/stylewarning/computable-reals")
15692 (commit commit)))
15693 (file-name (git-file-name name version))
15694 (sha256
15695 (base32 "0f12axi53x14l12dgf4a1lfq3p1fx7fh7sjfc0db3lk88ph9qfwl"))))
15696 (build-system asdf-build-system/sbcl)
15697 (home-page "https://github.com/stylewarning/computable-reals")
15698 (synopsis "Arbitrary-precision, re-computing real-numbers in Common Lisp")
15699 (description
15700 "This library provides arbitrary precision (floating point) real
15701numbers in Common Lisp.")
15702 (license license:bsd-3))))
15703
15704(define-public ecl-computable-reals
15705 (sbcl-package->ecl-package sbcl-computable-reals))
15706
15707(define-public cl-computable-reals
15708 (sbcl-package->cl-source-package sbcl-computable-reals))
f445407d
PN
15709
15710(define-public sbcl-html-template
15711 (package
15712 (name "sbcl-html-template")
15713 (version "0.9.2")
15714 (source
15715 (origin
15716 (method git-fetch)
15717 (uri (git-reference
15718 (url "https://github.com/edicl/html-template")
15719 (commit (string-append "v" version))))
15720 (file-name (git-file-name name version))
15721 (sha256
15722 (base32 "0wz3czvjsn4x971dsiia9f9nvvcmbkablcl75zsvxndkimc93wxb"))))
15723 (build-system asdf-build-system/sbcl)
15724 (home-page "https://edicl.github.io/html-template/")
15725 (synopsis "HTML templates from Common Lisp")
15726 (description
15727 "HTML-TEMPLATE is a Common Lisp library which can be used to fill
15728templates with arbitrary (string) values at runtime. The result does not have
15729to be HTML.
15730
15731It is loosely modeled after the Perl module @code{HTML::Template} and
15732partially compatible with a its syntax, though both libraries contain some
15733extensions that the other does not support.
15734
15735HTML-TEMPLATE translates templates into efficient closures which can be
15736re-used as often as needed. It uses a cache mechanism so you can update
15737templates while your program is running and have the changes take effect
15738immediately.")
15739 (license license:bsd-2)))
15740
15741(define-public ecl-html-template
15742 (sbcl-package->ecl-package sbcl-html-template))
15743
15744(define-public cl-html-template
15745 (sbcl-package->cl-source-package sbcl-html-template))
8ee6bb91
PN
15746
15747(define-public sbcl-quickproject
15748 (package
15749 (name "sbcl-quickproject")
15750 (version "1.4.1")
15751 (source
15752 (origin
15753 (method git-fetch)
15754 (uri (git-reference
15755 (url "https://github.com/xach/quickproject")
15756 (commit (string-append "release-" version))))
15757 (file-name (git-file-name name version))
15758 (sha256
15759 (base32 "1szs8p2wr1yr9mjmj3h3557l6wxzzga0iszimb68z0hb1jj3lva6"))))
15760 (build-system asdf-build-system/sbcl)
15761 (inputs
15762 `(("cl-fad" ,sbcl-cl-fad)
15763 ("html-template" ,sbcl-html-template)))
15764 (arguments
15765 '(#:asd-files '("quickproject.asd")))
15766 (home-page "https://xach.com/lisp/quickproject/")
15767 (synopsis "Create Common Lisp project skeletons")
15768 (description
15769 "Quickproject provides a quick way to make a Common Lisp project. After
15770creating a project, it extends the ASDF registry so the project may be
15771immediately loaded.")
15772 (license license:expat)))
15773
15774(define-public ecl-quickproject
15775 (sbcl-package->ecl-package sbcl-quickproject))
15776
15777(define-public cl-quickproject
15778 (sbcl-package->cl-source-package sbcl-quickproject))
96df3fe7
SH
15779
15780(define-public sbcl-bodge-math
15781 (let ((commit "9159b7faf88d440024c07110dbef2abddb20b9af")
15782 (revision "1"))
15783 (package
15784 (name "sbcl-bodge-math")
15785 (version (git-version "1.0.0" revision commit))
15786 (source
15787 (origin
15788 (method git-fetch)
15789 (uri (git-reference
15790 (url "https://github.com/borodust/bodge-math")
15791 (commit commit)))
15792 (file-name (git-file-name "bodge-math" version))
15793 (sha256
15794 (base32 "0r3vnl9lywn4ksy34apcv6j825qp7l1naddawr14v4lwacndb80v"))))
15795 (build-system asdf-build-system/sbcl)
15796 (inputs
15797 `(("bodge-utilities" ,sbcl-bodge-utilities)
15798 ("rtg-math" ,sbcl-rtg-math)))
15799 (home-page "https://github.com/borodust/bodge-math")
15800 (synopsis "Common Lisp core math utilities of BODGE library collection")
15801 (description
15802 "This Common Lisp package contains the core math utilities of the
15803@emph{Bodge} library collection.")
15804 (license license:expat))))
15805
15806(define-public ecl-bodge-math
15807 (sbcl-package->ecl-package sbcl-bodge-math))
15808
15809(define-public cl-bodge-math
15810 (sbcl-package->cl-source-package sbcl-bodge-math))
a266c9fa 15811
4d7b6df5
AK
15812(define-public sbcl-bodge-blobs-support
15813 (let ((commit "c5034ca5f4fc3a44dbadeba215a09afd59a404b0")
15814 (revision "1"))
15815 (package
15816 (name "sbcl-bodge-blobs-support")
15817 (version (git-version "1.0.0" revision commit))
15818 (source
15819 (origin
15820 (method git-fetch)
15821 (uri (git-reference
15822 (url "https://github.com/borodust/bodge-blobs-support")
15823 (commit commit)))
15824 (file-name (git-file-name "bodge-blobs-support" version))
15825 (sha256
15826 (base32 "02nd1x6y1akp1ymv1y4z9ympwbnpd1drwi4f86xbjszxqff6jyj8"))))
15827 (build-system asdf-build-system/sbcl)
15828 (native-inputs
15829 `(("trivial-features" ,sbcl-trivial-features)))
15830 (inputs
15831 `(("cffi" ,sbcl-cffi)
15832 ("sbcl-alexandria" ,sbcl-alexandria)))
15833 (home-page "https://github.com/borodust/bodge-blobs-support")
15834 (synopsis "Common Lisp utilities for blob packages")
15835 (description
15836 "This is a Common Lisp library for simplifying packaging and loading of
15837compiled foreign library collection.")
15838 (license license:unlicense))))
15839
15840(define-public cl-bodge-blobs-support
15841 (sbcl-package->cl-source-package sbcl-bodge-blobs-support))
15842
15843(define-public ecl-bodge-blobs-support
15844 (sbcl-package->ecl-package sbcl-bodge-blobs-support))
15845
a266c9fa
SH
15846(define-public sbcl-cl-conspack
15847 (let ((commit "fc8473bc6f929696b03b43820596b7c976c4678e")
15848 (revision "1"))
15849 (package
15850 (name "sbcl-cl-conspack")
15851 (version (git-version "0.0.0" revision commit))
15852 (source
15853 (origin
15854 (method git-fetch)
15855 (uri (git-reference
15856 (url "https://github.com/conspack/cl-conspack")
15857 (commit commit)))
15858 (file-name (git-file-name "cl-conspack" version))
15859 (sha256
15860 (base32 "0b7qzvsrpvnw12hqhjmz0b02sigj0kdjy55j4k7xzmj8684cs8bx"))))
15861 (build-system asdf-build-system/sbcl)
15862 ;; FIXME: (Sharlatan-20210331T220652+0100): Test are disabled because of:
15863 ;;
15864 ;; Error while trying to load definition for system cl-conspack-test
15865 ;; from pathname .../cl-conspack/cl-conspack-test.asd:
15866 ;; Error opening .../checkl/formalize-tmpGHU3ALSV.fasl": Permission denied
15867 ;;
15868 ;; It looks like the issues is in CheckL itself as other packages keep
15869 ;; failing test where it's in use.
15870 (arguments
15871 '(#:tests? #f
15872 #:asd-files '("cl-conspack.asd")))
15873 (native-inputs
15874 `(("checkl" ,sbcl-checkl)))
15875 (inputs
15876 `(("alexandria" ,sbcl-alexandria)
15877 ("closer-mop" ,sbcl-closer-mop)
15878 ("fast-io" ,sbcl-fast-io)
15879 ("ieee-floats" ,sbcl-ieee-floats)
15880 ("trivial-garbage" ,sbcl-trivial-garbage)
15881 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
15882 (home-page "https://github.com/conspack/cl-conspack")
15883 (synopsis "CONSPACK implementation for Common Lisp")
15884 (description
15885 "This package provides a CONSPACK implementation for Common Lisp.")
15886 (license license:bsd-3))))
15887
15888(define-public ecl-cl-conspack
15889 (sbcl-package->ecl-package sbcl-cl-conspack))
15890
15891(define-public cl-conspack
15892 (sbcl-package->cl-source-package sbcl-cl-conspack))
83ecb381
SH
15893
15894(define-public sbcl-cl-opengl
15895 (let ((commit "e2d83e0977b7e7ac3f3d348d8ccc7ccd04e74d59")
15896 (revision "1"))
15897 (package
15898 (name "sbcl-cl-opengl")
15899 (version (git-version "0.1.0" revision commit))
15900 (source
15901 (origin
15902 (method git-fetch)
15903 (uri (git-reference
15904 (url "https://github.com/3b/cl-opengl")
15905 (commit commit)))
15906 (file-name (git-file-name "cl-opengl" version))
15907 (sha256
15908 (base32 "0mhqmll09f079pnd6mgswz9nvr6h5n27d4q7zpmm2igf1v460id7"))))
15909 (build-system asdf-build-system/sbcl)
15910 (arguments
15911 `(#:asd-systems '("cl-opengl" "cl-glu" "cl-glut")
15912 #:phases
15913 (modify-phases %standard-phases
15914 (add-after 'unpack 'patch-lib-path
15915 (lambda* (#:key inputs #:allow-other-keys)
15916 (substitute* "gl/library.lisp"
15917 (("libGL.so" all)
15918 (string-append (assoc-ref inputs "mesa") "/lib/" all)))
15919 (substitute* "glu/library.lisp"
15920 (("libGLU.so" all)
15921 (string-append (assoc-ref inputs "glu") "/lib/" all)))
15922 (substitute* "glut/library.lisp"
15923 (("libglut.so" all)
15924 (string-append (assoc-ref inputs "freeglut") "/lib/" all)))
15925 #t)))))
15926 (inputs
15927 `(("alexandria" ,sbcl-alexandria)
15928 ("cffi" ,sbcl-cffi)
15929 ("float-features" ,sbcl-float-features)
15930 ("freeglut" ,freeglut)
15931 ("glu" ,glu)
15932 ("mesa" ,mesa)))
15933 (home-page "https://github.com/3b/cl-opengl")
15934 (synopsis "Common Lisp bindings to OpenGL, GLU and GLUT APIs")
15935 (description
15936 "This package provides a set of bindings and utilities for accessing the
15937OpenGL (Mesa), GLU and GLUT (FreeGLUT) APIs using CFFI.")
15938 (license license:bsd-3))))
15939
15940(define-public ecl-cl-opengl
15941 (sbcl-package->ecl-package sbcl-cl-opengl))
15942
15943(define-public cl-opengl
15944 (sbcl-package->cl-source-package sbcl-cl-opengl))
acaf97ab
SH
15945
15946(define-public sbcl-shadow
15947 (let ((commit "b2031adbfba3579b48c9d39ad997e19b79b6852f")
15948 (revision "1"))
15949 (package
15950 (name "sbcl-shadow")
15951 (version (git-version "0.0.0" revision commit))
15952 (source
15953 (origin
15954 (method git-fetch)
15955 (uri (git-reference
15956 (url "https://git.mfiano.net/mfiano/shadow")
15957 (commit commit)))
15958 (file-name (git-file-name "shadow" version))
15959 (sha256
15960 (base32 "0w1i734gkdkziin74ql2nhx7jdjxx02ylssaa6qdrvnj4br1124a"))))
15961 (build-system asdf-build-system/sbcl)
15962 (inputs
15963 `(("cffi" ,sbcl-cffi)
15964 ("cl-opengl" ,sbcl-cl-opengl)
15965 ("glsl-packing" ,sbcl-glsl-packing)
15966 ("golden-utils" ,sbcl-golden-utils)
15967 ("static-vectors" ,sbcl-static-vectors)
15968 ("varjo" ,sbcl-varjo)))
15969 (home-page "https://git.mfiano.net/mfiano/shadow")
15970 (synopsis "Management system for OpenGL shader programs")
15971 (description
15972 "This package provides a Common Lisp library for defining OpenGL shader
15973programs. There are also functions for referencing shader programs by name,
15974querying for basic information about them, modifying uniform variables
15975throughout the lifecycle of an OpenGL application, and managing certain OpenGL
15976buffer object types (UBO, SSBO currently).")
15977 (license license:expat))))
15978
15979(define-public ecl-shadow
15980 (sbcl-package->ecl-package sbcl-shadow))
15981
15982(define-public cl-shadow
15983 (sbcl-package->cl-source-package sbcl-shadow))
49d40b9e
SH
15984
15985(define-public sbcl-umbra
15986 (let ((commit "d6ef2f6cbfa26180929061129eaf325bf17f73d8")
15987 (revision "1"))
15988 (package
15989 (name "sbcl-umbra")
15990 (version (git-version "0.0.0" revision commit))
15991 (source
15992 (origin
15993 (method git-fetch)
15994 (uri (git-reference
15995 (url "https://git.mfiano.net/mfiano/umbra")
15996 (commit commit)))
15997 (file-name (git-file-name "umbra" version))
15998 (sha256
15999 (base32 "04vyh2j00zdpb8ryxr8g81wjcmqlz9wrn55r3cypcj4qg970r5wi"))))
16000 (build-system asdf-build-system/sbcl)
16001 (inputs
16002 `(("golden-utils" ,sbcl-golden-utils)
16003 ("shadow" ,sbcl-shadow)
16004 ("varjo" ,sbcl-varjo)))
16005 (home-page "https://git.mfiano.net/mfiano/umbra")
16006 (synopsis "Common Lisp library of reusable GPU shader functions")
16007 (description
16008 "This is a Common Lisp library consisting of a collection of useful GPU
16009shader functions, written with @code{Shadow}.")
16010 (license license:expat))))
16011
16012(define-public ecl-umbra
16013 (sbcl-package->ecl-package sbcl-umbra))
16014
16015(define-public cl-umbra
16016 (sbcl-package->cl-source-package sbcl-umbra))
ea9b1e3b
SH
16017
16018(define-public sbcl-abstract-classes
16019 (let ((commit "7fa74f1e057f9ba7c1ffecff14f049f979e45267")
16020 (revision "1"))
16021 (package
16022 (name "sbcl-abstract-classes")
16023 (version (git-version "1.7.0" revision commit))
16024 (source
16025 (origin
16026 (method git-fetch)
16027 (uri (git-reference
16028 (url "https://bitbucket.org/eeeickythump/cl-abstract-classes")
16029 (commit commit)))
16030 (file-name (git-file-name "cl-abstract-classes" version))
16031 (sha256
16032 (base32 "06lby4i6xbbgs7kgb0f3fqybvyskyg6djhrf967lnysv7hn3zpg9"))))
16033 (build-system asdf-build-system/sbcl)
16034 (inputs
16035 `(("closer-mop" ,sbcl-closer-mop)))
16036 (arguments
16037 `(#:asd-systems '("abstract-classes" "singleton-classes")))
16038 (home-page "https://bitbucket.org/eeeickythump/cl-abstract-classes")
16039 (synopsis "Abstract, final, and singleton metaclasses for CLOS")
16040 (description
16041 "This package provides Common Lisp extension to the MOP to allow
16042abstract, final and singleton classes.")
16043 (license license:public-domain))))
16044
16045(define-public ecl-abstract-classes
16046 (sbcl-package->ecl-package sbcl-abstract-classes))
16047
16048(define-public cl-abstract-classes
16049 (sbcl-package->cl-source-package sbcl-abstract-classes))
b749462c
SH
16050
16051(define-public sbcl-coalton
16052 (let ((commit "4a42ffb4222fde3abfd1b50d96e455ff2eef9fe8")
16053 (revision "1"))
16054 (package
16055 (name "sbcl-coalton")
16056 (version (git-version "0.0.0" revision commit))
16057 (source
16058 (origin
16059 (method git-fetch)
16060 (uri (git-reference
16061 (url "https://github.com/stylewarning/coalton")
16062 (commit commit)))
16063 (file-name (git-file-name "coalton" version))
16064 (sha256
16065 (base32 "0aidwwam7cnhb3p9212zbv5w2dl6kr5iklzanypzr1a9lqaxwdlk"))))
16066 (build-system asdf-build-system/sbcl)
16067 (native-inputs
16068 `(("fiasco" ,sbcl-fiasco)))
16069 (inputs
16070 `(("abstract-classes" ,sbcl-abstract-classes)
16071 ("alexandria" ,sbcl-alexandria)
16072 ("global-vars" ,sbcl-global-vars)
16073 ("optima" ,sbcl-optima)
16074 ("trivial-garbage" ,sbcl-trivial-garbage)))
16075 (home-page "https://github.com/stylewarning/coalton")
16076 (synopsis "Dialect of ML in Common Lisp")
16077 (description
16078 "Coalton is a dialect of ML embedded in Common Lisp. It emphasizes
16079practicality and interoperability with Lisp, and is intended to be a DSL that
16080allows one to gradually make their programs safer.")
16081 (license license:expat))))
16082
16083(define-public ecl-coalton
16084 (sbcl-package->ecl-package sbcl-coalton))
16085
16086(define-public cl-coalton
16087 (sbcl-package->cl-source-package sbcl-coalton))
8a625dd2
CC
16088
16089(define-public sbcl-clip
16090 (let ((commit "7afa68702fbb99c47ed115ea0faccd97a29d9b2e")
16091 (revision "1"))
16092 (package
16093 (name "sbcl-clip")
16094 (version (git-version "0.7.0" revision commit))
16095 (source
16096 (origin
16097 (method git-fetch)
16098 (uri (git-reference
16099 (url "https://github.com/shinmera/clip")
16100 (commit commit)))
16101 (file-name (git-file-name "clip" version))
16102 (sha256
16103 (base32 "13kkajkva2shm19fvn4yashsw18l6imv2rmy3hmpcky7g5ay7bv3"))))
16104 (build-system asdf-build-system/sbcl)
16105 (inputs
16106 `(("array-utils" ,sbcl-array-utils)
16107 ("lquery" ,sbcl-lquery)))
16108 (home-page "https://shinmera.github.io/clip/")
16109 (synopsis "Common Lisp HTML templating engine")
16110 (description
16111 "Clip is an attempt at a templating library that allows you to write
16112templates in a way that is both accessible to direct webdesign and
16113flexible. The main idea is to incorporate transformation commands into an HTML
cf423a37 16114file through tags and attributes. Clip is heavily dependent on Plump and
8a625dd2
CC
16115lQuery.")
16116 (license license:zlib))))
16117
16118(define-public ecl-clip
16119 (sbcl-package->ecl-package sbcl-clip))
16120
16121(define-public cl-clip
16122 (sbcl-package->cl-source-package sbcl-clip))
3de01371
SH
16123
16124(define-public sbcl-pathname-utils
16125 (let ((commit "70f517e44e13a38e0c8f296613236376d679fa8f")
16126 (revision "1"))
16127 (package
16128 (name "sbcl-pathname-utils")
16129 (version (git-version "1.1.0" revision commit))
16130 (source
16131 (origin
16132 (method git-fetch)
16133 (uri (git-reference
16134 (url "https://github.com/Shinmera/pathname-utils")
16135 (commit commit)))
16136 (file-name (git-file-name "pathname-utils" version))
16137 (sha256
16138 (base32 "1zm4bf6gajpgmhr7zwf7600zlaf8fs1fcyzabqsh2ma2crkgqdxq"))))
16139 (build-system asdf-build-system/sbcl)
16140 (native-inputs
16141 `(("parachute" ,sbcl-parachute)))
16142 (home-page "https://shinmera.github.io/pathname-utils/")
16143 (synopsis "Collection of utilities to help with pathname operations")
16144 (description
16145 "This package provides a Common Lisp system a with collection of common
16146tests and operations to help handling pathnames. It does not actually deal in
16147handling the accessing of files on the underlying system however.")
16148 (license license:zlib))))
16149
16150(define-public ecl-pathname-utils
16151 (sbcl-package->ecl-package sbcl-pathname-utils))
16152
16153(define-public cl-pathname-utils
16154 (sbcl-package->cl-source-package sbcl-pathname-utils))
4bef55db
SH
16155
16156(define-public sbcl-terrable
16157 (let ((commit "e4fe23ffa08e8d53a8168105b413861da59cc786")
16158 (revision "1"))
16159 (package
16160 (name "sbcl-terrable")
16161 (version (git-version "1.0.0" revision commit))
16162 (source
16163 (origin
16164 (method git-fetch)
16165 (uri (git-reference
16166 (url "https://github.com/Shirakumo/terrable")
16167 (commit commit)))
16168 (file-name (git-file-name "terrable" version))
16169 (sha256
16170 (base32 "0pnqflgz410zydc1ivwnd8hcl24bgr7x12yjzr7g4lq3ibc8y97b"))))
16171 (build-system asdf-build-system/sbcl)
16172 (inputs
16173 `(("documentation-utils" ,sbcl-documentation-utils)
16174 ("fast-io" ,sbcl-fast-io)
16175 ("ieee-floats" ,sbcl-ieee-floats)
16176 ("static-vectors" ,sbcl-static-vectors)
16177 ("trivial-garbage" ,sbcl-trivial-garbage)))
16178 (home-page "https://shirakumo.github.io/terrable/")
16179 (synopsis "Parser library for Terragen TER terrain files")
16180 (description
16181 "This package provides Common Lisp support for reading the Terragen
16182@code{.TER} format. The format specification can be found at
16183@url{https://planetside.co.uk/wiki/index.php?title=Terragen_.TER_Format}")
16184 (license license:zlib))))
16185
16186(define-public ecl-terrable
16187 (sbcl-package->ecl-package sbcl-terrable))
16188
16189(define-public cl-terrable
16190 (sbcl-package->cl-source-package sbcl-terrable))
0581cd81
PN
16191
16192(define-public sbcl-simple-rgb
16193 (let ((commit "ba9b0689362c28aa6a91c0636796c6c372657293")
16194 (revision "1"))
16195 (package
16196 (name "sbcl-simple-rgb")
16197 (version (git-version "0.01" revision commit))
16198 (source
16199 (origin
16200 (method git-fetch)
16201 (uri (git-reference
16202 (url "https://github.com/wmannis/simple-rgb/")
16203 (commit commit)))
16204 (file-name (git-file-name name version))
16205 (sha256
16206 (base32 "0ggv0h2n4mvwnggjr1b40gw667gnyykzki2zadaczi38ydzyzlp1"))))
16207 (build-system asdf-build-system/sbcl)
16208 (home-page "https://github.com/wmannis/simple-rgb")
16209 (synopsis "Manipulate colors in RGB format")
16210 (description
16211 "This Common Lisp library focuses on the small set of basic color
16212manipulations (lightening, compliments, etc.) you might use to generate a
16213color palette for a GUI or web page.")
16214 (license license:bsd-2))))
16215
16216(define-public ecl-simple-rgb
16217 (sbcl-package->ecl-package sbcl-simple-rgb))
16218
16219(define-public cl-simple-rgb
16220 (sbcl-package->cl-source-package sbcl-simple-rgb))
6cd8361e
PN
16221
16222(define-public sbcl-cl-qprint
16223 (let ((commit "bfe398551cbfb7ca84a9ba59a26a1116ac5c06eb")
16224 (revision "1"))
16225 (package
16226 (name "sbcl-cl-qprint")
16227 (version (git-version "0.9.0" revision commit))
16228 (source
16229 (origin
16230 (method git-fetch)
16231 (uri (git-reference
16232 (url "https://github.com/eugeneia/cl-qprint/")
16233 (commit commit)))
16234 (file-name (git-file-name name version))
16235 (sha256
16236 (base32 "099h0rrdzxnlmn8avi72mg2dl0kccp7w01b2p9nwyy4b8yr32cir"))))
16237 (build-system asdf-build-system/sbcl)
16238 (inputs
16239 `(("flexi-streams" ,sbcl-flexi-streams)))
16240 (home-page "https://github.com/eugeneia/cl-qprint/")
16241 (synopsis "Implementation of the quoted-printable encoding")
16242 (description
16243 "This Common Lisp library implements the quoted-printable encoding as
16244described in RFC 2045 (see @url{http://tools.ietf.org/html/rfc2045}).")
16245 (license license:lgpl2.1))))
16246
16247(define-public ecl-cl-qprint
16248 (sbcl-package->ecl-package sbcl-cl-qprint))
16249
16250(define-public cl-qprint
16251 (sbcl-package->cl-source-package sbcl-cl-qprint))
e6bff480
PN
16252
16253(define-public sbcl-cl-mime
16254 (let ((commit "d30a28e0a40393bd3af7d138daa05319ed2e9d07")
16255 (revision "1"))
16256 (package
16257 (name "sbcl-cl-mime")
16258 ;; One commit says "update to cl-mime-0.5.3", even though the .asd is at 0.5.1.
16259 (version (git-version "0.5.3" revision commit))
16260 (source
16261 (origin
16262 (method git-fetch)
16263 (uri (git-reference
16264 ;; Maintained fork according to http://www.cliki.net/CL-MIME:
16265 (url "https://github.com/40ants/cl-mime")
16266 (commit commit)))
16267 (file-name (git-file-name name version))
16268 (sha256
16269 (base32 "0qn8if0fj6vzc897pqqqs0m1y107gmzqngpqhqmwrcsp1ckj5k0v"))))
16270 (build-system asdf-build-system/sbcl)
16271 (inputs
16272 `(("ppcre" ,sbcl-cl-ppcre)
16273 ("cl-base64" ,sbcl-cl-base64)
16274 ("cl-qprint" ,sbcl-cl-qprint)))
16275 (native-inputs
16276 `(("rove" ,sbcl-rove)))
16277 (home-page "https://github.com/eugeneia/cl-qprint/")
16278 (synopsis "Read and print MIME content in Common Lisp")
16279 (description
16280 "This is a Common Lisp library for reading and printing MIME content.
16281It supports automatic conversion between 7-bit, quoted-printable and base64
16282encodings.")
16283 (license license:lgpl2.1))))
16284
16285(define-public ecl-cl-mime
16286 (sbcl-package->ecl-package sbcl-cl-mime))
16287
16288(define-public cl-mime
16289 (sbcl-package->cl-source-package sbcl-cl-mime))
331c4988
PN
16290
16291(define-public sbcl-lispbuilder-sdl
16292 (let ((commit "589b3c6d552bbec4b520f61388117d6c7b3de5ab"))
16293 (package
16294 (name "sbcl-lispbuilder-sdl")
16295 (version (git-version "0.9.8.2" "1" commit))
16296 (source
16297 (origin
16298 (method git-fetch)
16299 (uri (git-reference
16300 (url "https://github.com/lispbuilder/lispbuilder")
16301 (commit commit)))
16302 (file-name (git-file-name name version))
16303 (sha256
16304 (base32 "0zga59fjlhq3mhwbf80qwqwpkjkxqnn2mhxajlb8563vhn3dbafp"))))
16305 (build-system asdf-build-system/sbcl)
16306 (inputs
16307 `(("cffi" ,sbcl-cffi)
16308 ("trivial-garbage" ,sbcl-trivial-garbage)
16309 ("sdl" ,sdl)))
16310 (arguments
16311 `(#:phases
16312 (modify-phases %standard-phases
16313 (add-after 'unpack 'cd-sdl
16314 (lambda _
16315 (chdir "lispbuilder-sdl")
16316 #t))
16317 (add-after 'cd-sdl 'fix-paths
16318 (lambda* (#:key inputs #:allow-other-keys)
16319 (substitute* "cffi/library.lisp"
16320 (("libSDL[^\"]*" all)
16321 (string-append (assoc-ref inputs "sdl") "/lib/" all)))
16322 #t)))))
16323 (home-page "https://github.com/lispbuilder/lispbuilder/wiki/LispbuilderSDL")
16324 (synopsis "Common Lisp wrapper for SDL")
16325 (description
16326 "This library is an SDL wrapper as part of an umbrella project that
16327provides cross-platform packages for building large, interactive applications
16328in Common Lisp.")
16329 (license license:expat))))
16330
16331(define-public ecl-lispbuilder-sdl
16332 (sbcl-package->ecl-package sbcl-lispbuilder-sdl))
16333
16334(define-public cl-lispbuilder-sdl
16335 (sbcl-package->cl-source-package sbcl-lispbuilder-sdl))
7a6e603a
PN
16336
16337(define-public sbcl-dufy
16338 (package
16339 (name "sbcl-dufy")
16340 (version "0.4.1")
16341 (source
16342 (origin
16343 (method git-fetch)
16344 (uri (git-reference
16345 (url "https://github.com/privet-kitty/dufy")
16346 (commit (string-append "v" version))))
16347 (file-name (git-file-name name version))
16348 (sha256
16349 (base32 "15vrp1kayhjb5c1vc9x8wlm8rimk73vpa7yc101cf0gsg1fjazl6"))))
16350 (build-system asdf-build-system/sbcl)
16351 (inputs
16352 `(("alexandria" ,sbcl-alexandria)
16353 ("ppcre" ,sbcl-cl-ppcre)))
16354 (native-inputs
16355 `(("fiveam" ,sbcl-fiveam)
16356 ("cl-csv" ,sbcl-cl-csv)
16357 ("parse-float" ,sbcl-parse-float)
16358 ("lispbuilder-sdl" ,sbcl-lispbuilder-sdl)
16359 ("lparallel" ,sbcl-lparallel)))
16360 (home-page "https://github.com/privet-kitty/dufy")
16361 (synopsis "Color library for Common Lisp")
16362 (description
16363 "Dufy is a library for exact color manipulation and conversion in various
16364color spaces, which supports many color models.")
16365 (license license:expat)))
16366
16367(define-public ecl-dufy
16368 (sbcl-package->ecl-package sbcl-dufy))
16369
16370(define-public cl-dufy
16371 (sbcl-package->cl-source-package sbcl-dufy))
c72c3e50
SH
16372
16373(define-public sbcl-unit-test
16374 (let ((commit "266afaf4ac091fe0e8803bac2ae72d238144e735")
16375 (revision "1"))
16376 (package
16377 (name "sbcl-unit-test")
16378 (version (git-version "0.0.0" revision commit))
16379 (source
16380 (origin
16381 (method git-fetch)
16382 (uri (git-reference
16383 (url "https://github.com/hanshuebner/unit-test")
16384 (commit commit)))
16385 (file-name (git-file-name "unit-test" version))
16386 (sha256
16387 (base32 "11hpksz56iqkv7jw25p2a8r3n9dj922fyarn16d98589g6hdskj9"))))
16388 (build-system asdf-build-system/sbcl)
16389 (home-page "https://github.com/hanshuebner/unit-test")
16390 (synopsis "Unit-testing framework for Common Lisp")
16391 (description "This is a unit-testing framework for Common Lisp.")
16392 (license license:unlicense))))
16393
16394(define-public ecl-unit-test
16395 (sbcl-package->ecl-package sbcl-unit-test))
16396
16397(define-public cl-unit-test
16398 (sbcl-package->cl-source-package sbcl-unit-test))
91ba4250
SH
16399
16400(define-public sbcl-bknr-datastore
16401 (let ((commit "c98d44f47cc88d19ff91ca3eefbd9719a8ace022")
16402 (revision "1"))
16403 (package
16404 (name "sbcl-bknr-datastore")
16405 (version (git-version "0.0.0" revision commit))
16406 (source
16407 (origin
16408 (method git-fetch)
16409 (uri (git-reference
16410 (url "https://github.com/hanshuebner/bknr-datastore")
16411 (commit commit)))
16412 (file-name (git-file-name "bknr-datastore" version))
16413 (sha256
16414 (base32 "1vi3w65fnczqvswkm381n6liqfrzjrg40y698qvj7skj28dm5vrm"))))
16415 (build-system asdf-build-system/sbcl)
16416 (arguments
16417 `(#:asd-systems
16418 '("bknr.datastore"
16419 "bknr.impex"
16420 "bknr.indices"
16421 "bknr.skip-list"
16422 "bknr.utils"
16423 "bknr.xml")
16424 #:phases
16425 (modify-phases %standard-phases
16426 (add-after 'unpack 'enter-source-directory
16427 (lambda _
16428 (chdir "src")
16429 #t)))))
16430 (native-inputs
16431 `(("cl-store" ,sbcl-cl-store)
16432 ("fiveam" ,sbcl-fiveam)
16433 ("unit-test" ,sbcl-unit-test)))
16434 (inputs
16435 `(("alexandria" ,sbcl-alexandria)
16436 ("bordeaux-threads" ,sbcl-bordeaux-threads)
16437 ("closer-mop" ,sbcl-closer-mop)
16438 ("cl-interpol" ,sbcl-cl-interpol)
16439 ("cl-ppcre" ,sbcl-cl-ppcre)
16440 ("cxml" ,sbcl-cxml)
16441 ("flexi-streams" ,sbcl-flexi-streams)
16442 ("md5" ,sbcl-md5)
16443 ("trivial-utf-8" ,sbcl-trivial-utf-8)
16444 ("yason" ,sbcl-yason)))
16445 (home-page "https://github.com/hanshuebner/bknr-datastore")
16446 (synopsis "In-memory database for Common Lisp")
16447 (description
16448 "BKNR.DATASTORE is an in-memory CLOS based database with transactions
16449for Common Lisp.")
16450 (license license:bsd-0))))
16451
16452;; NOTE: (Sharlatan-20210429T191426+0100):
16453;; There is no port for ECL in upstream yet
16454;; (define-public ecl-bknr-datastore
16455;; (sbcl-package->ecl-package sbcl-bknr-datastore))
16456
16457(define-public cl-bknr-datastore
16458 (sbcl-package->cl-source-package sbcl-bknr-datastore))
e961f150
SH
16459
16460(define-public sbcl-3d-vectors
16461 (let ((commit "29bb9684df803590deed344af63dbf7b712aabc0")
16462 (revision "1"))
16463 (package
16464 (name "sbcl-3d-vectors")
16465 (version (git-version "3.1.0" revision commit))
16466 (source
16467 (origin
16468 (method git-fetch)
16469 (uri (git-reference
16470 (url "https://github.com/Shinmera/3d-vectors")
16471 (commit commit)))
16472 (file-name (git-file-name "3d-vectors" version))
16473 (sha256
16474 (base32 "0qc7m5brhpwi531rgmlaj1c609by533a1ia5hv8f90ilm8ksmw3l"))))
16475 (build-system asdf-build-system/sbcl)
16476 (native-inputs
16477 `(("parachute" ,sbcl-parachute)))
16478 (inputs
16479 `(("documentation-utils" ,sbcl-documentation-utils)))
16480 (home-page "https://shinmera.github.io/3d-vectors/")
16481 (synopsis "Utility library implementing 2D, 3D, and 4D vectors")
16482 (description
16483 "@code{3D-VECTORS} is a library for vector math in 3D space. It contains
16484most of the vector operations one would usually expect out of such a library and
16485offers them both in non-modifying and modifying versions where applicable.")
16486 (license license:zlib))))
16487
16488(define-public ecl-3d-vectors
16489 (sbcl-package->ecl-package sbcl-3d-vectors))
16490
16491(define-public cl-3d-vectors
16492 (sbcl-package->cl-source-package sbcl-3d-vectors))
440217b1
SH
16493
16494(define-public sbcl-3d-matrices
16495 (let ((commit "f453b521b8f2ceabb01eac94389119dece8c05f8")
16496 (revision "1"))
16497 (package
16498 (name "sbcl-3d-matrices")
16499 (version (git-version "1.0.0" revision commit))
16500 (source
16501 (origin
16502 (method git-fetch)
16503 (uri (git-reference
16504 (url "https://github.com/Shinmera/3d-matrices")
16505 (commit commit)))
16506 (file-name (git-file-name "3d-matrices" version))
16507 (sha256
16508 (base32 "10q9c96gqzq6k8n89agy0khgimmnsn4s69171m3vhghqa2yv5n6v"))))
16509 (build-system asdf-build-system/sbcl)
16510 (native-inputs
16511 `(("parachute" ,sbcl-parachute)))
16512 (inputs
16513 `(("3d-vectors" ,sbcl-3d-vectors)
16514 ("documentation-utils" ,sbcl-documentation-utils)))
16515 (home-page "https://shinmera.github.io/3d-matrices/")
16516 (synopsis "Utility library implementing 2x2, 3x3, 4x4 and NxM matrices")
16517 (description
16518 "@code{3D-MATRICES} is a library implementing common matrix operations,
16519mainly intended as the counterpiece to @code{3d-vectors} and thus being aimed at
16520operations in 3D space.")
16521 (license license:zlib))))
16522
16523(define-public ecl-3d-matrices
16524 (sbcl-package->ecl-package sbcl-3d-matrices))
16525
16526(define-public cl-3d-matrices
16527 (sbcl-package->cl-source-package sbcl-3d-matrices))
df07ecba
SH
16528
16529(define-public sbcl-messagebox
16530 (let ((commit "ea3688d9a9954bee7079c0173bc7b3f327021e9f")
16531 (revision "1"))
16532 (package
16533 (name "sbcl-messagebox")
16534 (version (git-version "1.0.0" revision commit))
16535 (source
16536 (origin
16537 (method git-fetch)
16538 (uri (git-reference
16539 (url "https://github.com/Shinmera/messagebox")
16540 (commit commit)))
16541 (file-name (git-file-name "messagebox" version))
16542 (sha256
16543 (base32 "0jkbzlca0wvspgsfj0b0hjwlyyy8jlywsldsbkp79q48fc3aa8jd"))))
16544 (build-system asdf-build-system/sbcl)
16545 (arguments
16546 `(#:phases
16547 (modify-phases %standard-phases
16548 (add-after 'unpack 'patch-zenity-path
16549 (lambda* (#:key inputs #:allow-other-keys)
16550 (substitute* "zenity.lisp"
16551 (("\"zenity\"")
16552 (string-append "\"" (assoc-ref inputs "zenity")
16553 "/bin/zenity\""))))))))
16554 (inputs
16555 `(("documentation-utils" ,sbcl-documentation-utils)
16556 ("trivial-features" ,sbcl-trivial-features)
16557 ("zenity" ,zenity)))
16558 (home-page "https://shinmera.github.io/messagebox/")
16559 (synopsis "Display a native GUI message box")
16560 (description
16561 "This is a small library to display a native GUI message box. This can be
16562useful to show error messages and other informational pieces should the
16563application fail and be unable to do so using its standard UI.")
16564 (license license:zlib))))
16565
16566(define-public ecl-messagebox
16567 (sbcl-package->ecl-package sbcl-messagebox))
16568
16569(define-public cl-messagebox
16570 (sbcl-package->cl-source-package sbcl-messagebox))
a2aa8ac5
SH
16571
16572(define-public sbcl-glsl-toolkit
16573 (let ((commit "d00ba1906e3b5eb08ea346ac300a1e77bb999d04")
16574 (revision "1"))
16575 (package
16576 (name "sbcl-glsl-toolkit")
16577 (version (git-version "1.0.0" revision commit))
16578 (source
16579 (origin
16580 (method git-fetch)
16581 (uri (git-reference
16582 (url "https://github.com/Shirakumo/glsl-toolkit")
16583 (commit commit)))
16584 (file-name (git-file-name "glsl-toolkit" version))
16585 (sha256
16586 (base32 "0as5796yazchq1qkna3srxlz5v7cf7ffny9cbqi41wsa2s20vbh9"))))
16587 (build-system asdf-build-system/sbcl)
16588 (inputs
16589 `(("cl-ppcre" ,sbcl-cl-ppcre)
16590 ("documentation-utils" ,sbcl-documentation-utils)
16591 ("parse-float" ,sbcl-parse-float)
16592 ("trivial-indent" ,sbcl-trivial-indent)))
16593 (home-page "https://shirakumo.github.io/glsl-toolkit/")
16594 (synopsis "Parser for OpenGL Shader Language source files")
16595 (description
16596 "This package provides a Common Lisp system collecting tools written to
16597allow to wrangle OpenGL Shader Language (GLSL) source files.")
16598 (license license:zlib))))
16599
16600(define-public ecl-glsl-toolkit
16601 (sbcl-package->ecl-package sbcl-glsl-toolkit))
16602
16603(define-public cl-glsl-toolkit
16604 (sbcl-package->cl-source-package sbcl-glsl-toolkit))
4a1fd4a5
SH
16605
16606(define-public sbcl-simple-tasks
16607 (let ((commit "745d4b54eac9bf5d6909792e63ecd2ef8d303cf2")
16608 (revision "1"))
16609 (package
16610 (name "sbcl-simple-tasks")
16611 (version (git-version "1.3.0" revision commit))
16612 (source
16613 (origin
16614 (method git-fetch)
16615 (uri (git-reference
16616 (url "https://github.com/Shinmera/simple-tasks")
16617 (commit commit)))
16618 (file-name (git-file-name "simple-tasks" version))
16619 (sha256
16620 (base32 "1ls1pij7dvb65g4nam7nvik1218jvfk5iplr48vy290fw3lq7v98"))))
16621 (build-system asdf-build-system/sbcl)
16622 (inputs
16623 `(("array-utils" ,sbcl-array-utils)
16624 ("bordeaux-threads" ,sbcl-bordeaux-threads)
16625 ("dissect" ,sbcl-dissect)))
16626 (home-page "https://shinmera.github.io/simple-tasks/")
16627 (synopsis "Simple task scheduling framework")
16628 (description "This is a task scheduling framework for Common Lisp.")
16629 (license license:zlib))))
16630
16631(define-public ecl-simple-tasks
16632 (sbcl-package->ecl-package sbcl-simple-tasks))
16633
16634(define-public cl-simple-tasks
16635 (sbcl-package->cl-source-package sbcl-simple-tasks))
a232a40b
SH
16636
16637(define-public sbcl-trivial-main-thread
16638 (let ((commit "25f114973bb69eb63e01d0bbfead31f8e682846a")
16639 (revision "1"))
16640 (package
16641 (name "sbcl-trivial-main-thread")
16642 (version (git-version "1.0.0" revision commit))
16643 (source
16644 (origin
16645 (method git-fetch)
16646 (uri (git-reference
16647 (url "https://github.com/Shinmera/trivial-main-thread")
16648 (commit commit)))
16649 (file-name (git-file-name "trivial-main-thread" version))
16650 (sha256
16651 (base32 "0bw1887i7396lqg75qvmgjfzz4xbiq9w5dp8wxdgrcsm0qwlraw7"))))
16652 (build-system asdf-build-system/sbcl)
16653 (inputs
16654 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
16655 ("simple-tasks" ,sbcl-simple-tasks)
16656 ("trivial-features" ,sbcl-trivial-features)))
16657 (home-page "https://shinmera.github.io/trivial-main-thread/")
16658 (synopsis "Compatibility library to run things in the main thread")
16659 (description
16660 "This package provides a Common Lisp system which wraps the
16661BORDEAUX-THREADS system to be able to run things in the main thread of the
16662implementation, for example drawing calls of GUI applications.")
16663 (license license:zlib))))
16664
16665(define-public ecl-trivial-main-thread
16666 (sbcl-package->ecl-package sbcl-trivial-main-thread))
16667
16668(define-public cl-trivial-main-thread
16669 (sbcl-package->cl-source-package sbcl-trivial-main-thread))
7f96fb3f
SH
16670
16671(define-public sbcl-cl-package-locks
16672 (let ((commit "96a358ede7cef416d61d2f699e724fe1d9de602c")
16673 (revision "1"))
16674 (package
16675 (name "sbcl-cl-package-locks")
16676 (version (git-version "0.0.2" revision commit))
16677 (source
16678 (origin
16679 (method git-fetch)
16680 (uri (git-reference
16681 (url "https://github.com/elliottjohnson/cl-package-locks")
16682 (commit commit)))
16683 (file-name (git-file-name "cl-package-locks" version))
16684 (sha256
16685 (base32 "0g3gfljnvpgd66ccd2sqawlkwqx4a0wsdrg5180va61w869cgxqq"))))
16686 (build-system asdf-build-system/sbcl)
16687 (home-page "https://github.com/elliottjohnson/cl-package-locks")
16688 (synopsis "Compatibility layer for dealing with package locks")
16689 (description
16690 "This is a Common Lisp library providing a unified way to work with
16691package locks across supported Common Lisp implementations.")
16692 (license license:expat))))
16693
16694(define-public ecl-cl-package-locks
16695 (sbcl-package->ecl-package sbcl-cl-package-locks))
16696
16697(define-public cl-package-locks
16698 (sbcl-package->cl-source-package sbcl-cl-package-locks))
0d85c836
SH
16699
16700(define-public sbcl-cl-typesetting
16701 (let ((commit "86eba981fc4254addebecf765578ec350d6e3b75")
16702 (revision "1"))
16703 (package
16704 (name "sbcl-cl-typesetting")
16705 (version (git-version "0.8.0" revision commit))
16706 (source
16707 (origin
16708 (method git-fetch)
16709 (uri (git-reference
16710 (url "https://github.com/mbattyani/cl-typesetting")
16711 (commit commit)))
16712 (file-name (git-file-name "cl-typesetting" version))
16713 (sha256
16714 (base32 "0fcs5mq0gxfczbrg7ay8r4bf5r4g6blvpdbjkhcl8dapcikyn35h"))))
16715 (build-system asdf-build-system/sbcl)
16716 (arguments
16717 ;; NOTE: (Sharlatan-20210515T213014+0100): Circular dependencies with
16718 ;; cl-typegraph
16719 `(#:tests? #f))
16720 (inputs
16721 `(("cl-pdf" ,sbcl-cl-pdf)
16722 ("xmls" ,sbcl-xmls)))
16723 (home-page "https://github.com/mbattyani/cl-typesetting")
16724 (synopsis "Stand-alone Common Lisp typesetting system")
16725 (description
16726 "CL-TYPESETTING is a cross-platform Common Lisp typesetting library for
16727all kind of typesetting applications.")
16728 (license license:bsd-2))))
16729
16730(define-public ecl-cl-typesetting
16731 (sbcl-package->ecl-package sbcl-cl-typesetting))
16732
16733(define-public cl-typesetting
16734 (sbcl-package->cl-source-package sbcl-cl-typesetting))
ff11a9f4
SH
16735
16736(define-public sbcl-shasht
16737 (let ((commit "4055327ef8e2aaa8627892ab256350ff3cb15e3c")
16738 (revision "1"))
16739 (package
16740 (name "sbcl-shasht")
16741 (version (git-version "0.1.0" revision commit))
16742 (source
16743 (origin
16744 (method git-fetch)
16745 (uri (git-reference
16746 (url "https://github.com/yitzchak/shasht")
16747 (commit commit)))
16748 (file-name (git-file-name "shasht" version))
16749 (sha256
16750 (base32 "01mh20s5gj0lajq45anxji77ykq1wcg72mn1y9a1k8i7q1ainjlr"))))
16751 (build-system asdf-build-system/sbcl)
16752 (native-inputs
16753 `(("alexandria" ,sbcl-alexandria)
16754 ("parachute" ,sbcl-parachute)))
16755 (inputs
16756 `(("trivial-do" ,sbcl-trivial-do)))
16757 (home-page "https://yitzchak.github.io/shasht/")
16758 (synopsis "Common Lisp JSON reading and writing library")
16759 (description
16760 "This package provides a Common Lisp library to work with the JSON file
16761format.")
16762 (license license:expat))))
16763
16764(define-public ecl-shasht
16765 (sbcl-package->ecl-package sbcl-shasht))
16766
16767(define-public cl-shasht
16768 (sbcl-package->cl-source-package sbcl-shasht))
0195d904
SH
16769
16770(define-public sbcl-cl-speedy-queue
16771 (let ((commit "0425c7c62ad3b898a5ec58cd1b3e74f7d91eec4b")
16772 (revision "1"))
16773 (package
16774 (name "sbcl-cl-speedy-queue")
16775 (version (git-version "0.0.0" revision commit))
16776 (source
16777 (origin
16778 (method git-fetch)
16779 (uri (git-reference
16780 (url "https://github.com/zkat/cl-speedy-queue")
16781 (commit commit)))
16782 (file-name (git-file-name "cl-speedy-queue" version))
16783 (sha256
16784 (base32 "0czhnvxn9lvbjz9h1lb7y18nqrsq3drq5icd3lqdaa07362alriq"))))
16785 (build-system asdf-build-system/sbcl)
16786 (home-page "https://github.com/zkat/cl-speedy-queue")
16787 (synopsis "Lightweight optimized queue for Common Lisp")
16788 (description
16789 "This is a lightweight, non-consing, optimized queue implementation for
16790Common Lisp.")
16791 (license license:expat))))
16792
16793(define-public cl-speedy-queue
16794 (sbcl-package->cl-source-package sbcl-cl-speedy-queue))
16795
16796(define-public ecl-cl-speedy-queue
16797 (sbcl-package->ecl-package sbcl-cl-speedy-queue))
c4ebe659
SH
16798
16799(define-public sbcl-lev
16800 (let ((commit "7d03c68dad44f1cc4ac2aeeab2d24eb525ad941a")
16801 (revision "1"))
16802 (package
16803 (name "sbcl-lev")
16804 (version (git-version "0.1.0" revision commit))
16805 (source
16806 (origin
16807 (method git-fetch)
16808 (uri (git-reference
16809 (url "https://github.com/fukamachi/lev")
16810 (commit commit)))
16811 (file-name (git-file-name "lev" version))
16812 (sha256
16813 (base32 "14lfnrvfyg2nnvlwck896p6vgarzc6g4kijmvhi2d8wra7gxzifh"))))
16814 (build-system asdf-build-system/sbcl)
16815 (arguments
16816 ;; NOTE: (Sharlatan-20210520T163300+0100): No tests in upstream
16817 `(#:tests? #f
16818 #:phases
16819 (modify-phases %standard-phases
16820 (add-after 'unpack 'patch-libev-lib-path
16821 (lambda* (#:key inputs #:allow-other-keys)
16822 (substitute* "src/lev.lisp"
16823 (("libev.so" all)
16824 (string-append (assoc-ref inputs "libev")
16825 "/lib/" all))))))))
16826 (inputs
16827 `(("cffi" ,sbcl-cffi)
16828 ("libev" ,libev)))
16829 (home-page "https://github.com/fukamachi/lev")
16830 (synopsis "Common Lisp bindings for libev")
16831 (description "This package provides Common Lisp bindings for libev.")
16832 (license license:bsd-2))))
16833
16834(define-public cl-lev
16835 (sbcl-package->cl-source-package sbcl-lev))
16836
16837(define-public ecl-lev
16838 (sbcl-package->ecl-package sbcl-lev))
2a60770f
SH
16839
16840(define-public sbcl-woo
16841 (let ((commit "fba3567be95ed6e782d98a4c1477d3a74b8ad124")
16842 (revision "1"))
16843 (package
16844 (name "sbcl-woo")
16845 (version (git-version "0.12.0" revision commit))
16846 (source
16847 (origin
16848 (method git-fetch)
16849 (uri (git-reference
16850 (url "https://github.com/fukamachi/woo")
16851 (commit commit)))
16852 (file-name (git-file-name "woo" version))
16853 (sha256
16854 (base32 "06f95x8s8v523gxmrkn9wwgw2pvc3bc66znbgrzhqb30y4aar5v5"))))
16855 (build-system asdf-build-system/sbcl)
16856 (arguments
16857 ;; FIXME: Tests fail because they try to compile clack-test:
16858 ;;
16859 ;; Error opening #P"/gnu/store/...-sbcl-clack-2.0.0-1.e3e0328/
16860 ;; lib/common-lisp/sbcl/clack/src/test-tmpGHU3ALSV.fasl":
16861 ;;
16862 ;; Permission denied
16863 ;;
16864 ;; clack-test should be compiled when building the sbcl-clack package,
16865 ;; but it isn't right now because of the circular dependency between
16866 ;; clack-test and dexador.
16867 `(#:tests? #f))
16868 (native-inputs
16869 `(("clack" ,sbcl-clack)
16870 ("rove" ,sbcl-rove)))
16871 (inputs
16872 `(("alexandria" ,sbcl-alexandria)
16873 ("bordeaux-threads" ,sbcl-bordeaux-threads)
16874 ("cffi" ,sbcl-cffi)
16875 ("cl-speedy-queue" ,sbcl-cl-speedy-queue) ;; Required for ecl build
16876 ("clack-socket" ,sbcl-clack)
16877 ("fast-http" ,sbcl-fast-http)
16878 ("fast-io" ,sbcl-fast-io)
16879 ("lev" ,sbcl-lev)
16880 ("quri" ,sbcl-quri)
16881 ("rove" ,sbcl-rove)
16882 ("smart-buffer" ,sbcl-smart-buffer)
16883 ("static-vectors" ,sbcl-static-vectors)
16884 ("swap-bytes" ,sbcl-swap-bytes)
16885 ("trivial-utf-8" ,sbcl-trivial-utf-8)
16886 ("vom" ,sbcl-vom)))
16887 (home-page "https://github.com/fukamachi/woo")
16888 (synopsis "Non-blocking HTTP server based on libev")
16889 (description
16890 "This package provides the Common Lisp HTTP server @code{WOO}, which
16891is built on top of the @code{libev} event library.")
16892 (license license:expat))))
16893
16894(define-public cl-woo
16895 (sbcl-package->cl-source-package sbcl-woo))
16896
16897(define-public ecl-woo
16898 (sbcl-package->ecl-package sbcl-woo))
20eb41b6
SH
16899
16900(define-public sbcl-json-streams
16901 (let ((commit "5da012e8133affbf75024e7500feb37394690752")
16902 (revision "1"))
16903 (package
16904 (name "sbcl-json-streams")
16905 (version (git-version "0.0.0" revision commit))
16906 (source
16907 (origin
16908 (method git-fetch)
16909 (uri (git-reference
16910 (url "https://github.com/rotatef/json-streams")
16911 (commit commit)))
16912 (file-name (git-file-name "json-streams" version))
16913 (sha256
16914 (base32 "0cia3721im04q73dfkd688d8splgpz03qa4h8s3r39kar4w3xll2"))))
16915 (build-system asdf-build-system/sbcl)
16916 (native-inputs
16917 `(("cl-quickcheck" ,sbcl-cl-quickcheck)
16918 ("flexi-streams" ,sbcl-flexi-streams)))
16919 (home-page "https://github.com/rotatef/json-streams")
16920 (synopsis "Common Lisp library for reading and writing JSON")
16921 (description
16922 "This package provides a stream based JSON parser/writer, well suited as
16923building block for higher level libraries.")
16924 (license license:gpl3+))))
16925
16926(define-public cl-json-streams
16927 (sbcl-package->cl-source-package sbcl-json-streams))
16928
16929(define-public ecl-json-streams
16930 (sbcl-package->ecl-package sbcl-json-streams))
0e007842
SH
16931
16932(define-public sbcl-arnesi
16933 (let ((commit "1e7dc4cb2cad8599113c7492c78f4925e839522e")
16934 (revision "1"))
16935 (package
16936 (name "sbcl-arnesi")
16937 (version (git-version "2.0.0" revision commit))
16938 (source
16939 (origin
16940 (method git-fetch)
16941 (uri (git-reference
16942 (url "https://github.com/AccelerationNet/arnesi")
16943 (commit commit)))
16944 (file-name (git-file-name "arnesi" version))
16945 (sha256
16946 (base32 "0jgj2xgd1gq6rf8ia43lkmbrbxnp8rgs053br9azfa25ygk3ikbh"))))
16947 (build-system asdf-build-system/sbcl)
16948 (arguments
16949 ;; FIXME: (Sharlatan-20210523T190315+0100): Tests failed on
16950 ;; special-lisp-var-rebount-in/cc
16951 ;;
16952 ;; ; processing (TEST SPECIAL-LISP-VAR-REBOUND-IN/CC ...)
16953 ;; ; wrote .../sbcl/arnesi/t/call-cc-tmp5GEXGEG5.fasl
16954 ;; ; compilation finished in 0:00:00.028
16955 ;; Unhandled SIMPLE-ERROR in thread
16956 ;; #<SB-THREAD:THREAD "main thread" RUNNING {100B768173}>:
16957 ;; Sorry, No walker for the special operater DECLARE defined.
16958 ;;
16959 ;; Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {100B768173}>
16960 ;; 0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<SIMPLE-ERROR "Sorry,
16961 ;; No walker for the special operater ~S defined."
16962 ;; {1001FAF9D3}> #<unused argument> :QUIT T)
16963 ;;
16964 `(#:tests? #f))
16965 (native-inputs
16966 `(("fiveam" ,sbcl-fiveam)))
16967 (inputs
16968 `(("cl-ppcre" ,sbcl-cl-ppcre)
16969 ("collectors" ,sbcl-collectors)
16970 ("swank" ,sbcl-slime-swank)))
16971 (home-page "https://github.com/AccelerationNet/arnesi")
16972 (synopsis "Common Lisp utility suite")
16973 (description
16974 "ARNESI is Common Lisp utilities library similar to ALEXANDRIA, ANAPHORA
16975or GOLDEN-UTILS.")
16976 (license license:bsd-3))))
16977
16978(define-public ecl-arnesi
16979 (sbcl-package->ecl-package sbcl-arnesi))
16980
16981(define-public cl-arnesi
16982 (sbcl-package->cl-source-package sbcl-arnesi))
16342832
SH
16983
16984(define-public sbcl-gettext
16985 (let ((commit "a432020cbad99fc22cbe6bb9aa8a83a35000d7aa")
16986 (revision "1"))
16987 (package
16988 (name "sbcl-gettext")
16989 (version (git-version "0.0.0" revision commit))
16990 (source
16991 (origin
16992 (method git-fetch)
16993 (uri (git-reference
16994 (url "https://github.com/rotatef/gettext")
16995 (commit commit)))
16996 (file-name (git-file-name "gettext" version))
16997 (sha256
16998 (base32 "1pzhamgni6k5hi6bbvlb3dm659pcllrrr3vhhn3rpjn238zxg5ar"))))
16999 (build-system asdf-build-system/sbcl)
17000 (native-inputs
17001 `(("stefil" ,sbcl-stefil)))
17002 (inputs
17003 `(("flexi-streams" ,sbcl-flexi-streams)
17004 ("split-sequence" ,sbcl-split-sequence)
17005 ("yacc" ,sbcl-cl-yacc)))
17006 (home-page "https://github.com/rotatef/gettext")
17007 (synopsis "Common Lisp implementation of Gettext")
17008 (description
17009 "This package provides GNU @code{gettext} completely implemented in
17010Common Lisp without any C library bindings.")
17011 (license license:lgpl3+))))
17012
17013(define-public ecl-gettext
17014 (sbcl-package->ecl-package sbcl-gettext))
17015
17016(define-public cl-gettext
17017 (sbcl-package->cl-source-package sbcl-gettext))
77bd1b5b
SH
17018
17019(define-public sbcl-parser-combinators
17020 (let ((commit "9c7569a4f6af5e60c0d3a51d9c15c16d1714c845")
17021 (revision "1"))
17022 (package
17023 (name "sbcl-parser-combinators")
17024 (version (git-version "0.0.0" revision commit))
17025 (source
17026 (origin
17027 (method git-fetch)
17028 (uri (git-reference
17029 (url "https://github.com/Ramarren/cl-parser-combinators")
17030 (commit commit)))
17031 (file-name (git-file-name "parser-combinators" version))
17032 (sha256
17033 (base32 "1k49vha5xm2cklayzpqwg73n4v93xwsbs5in6342pkkiimnidhs8"))))
17034 (build-system asdf-build-system/sbcl)
17035 (arguments
17036 ;; FIXME: (Sharlatan-20210523T184237+0100): Tests require `femlisp', which
17037 ;; is quite chunky not packaged system yet, enable them when it's packed.
17038 `(#:tests? #f
17039 #:test-asd-file "parser-combinators-tests.asd"))
17040 ;; (native-inputs
17041 ;; `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)
17042 ;; ("infix" ,sbcl-femlisp)))
17043 (inputs
17044 `(("alexandria" ,sbcl-alexandria)
17045 ("cl-containers" ,sbcl-cl-containers)
17046 ("cl-ppcre" ,sbcl-cl-ppcre)
17047 ("iterate" ,sbcl-iterate)))
17048 (home-page "https://github.com/Ramarren/cl-parser-combinators")
17049 (synopsis "Parser combinators in Common Lisp")
17050 (description
17051 "PARSER-COMBINATORS is a library implementing monadic parser
17052combinators in Common Lisp, similar in concept to Haskell Parsec system.")
17053 (license license:bsd-3))))
17054
17055(define-public ecl-parser-combinators
17056 (sbcl-package->ecl-package sbcl-parser-combinators))
17057
17058(define-public cl-parser-combinators
17059 (sbcl-package->cl-source-package sbcl-parser-combinators))
7af6a356
SH
17060
17061(define-public sbcl-cl-locale
17062 (let ((commit "0a36cc0dcf5e0a8c8bf97869cd6199980ca25eec")
17063 (revision "1"))
17064 (package
17065 (name "sbcl-cl-locale")
17066 (version (git-version "0.1.1" revision commit))
17067 (source
17068 (origin
17069 (method git-fetch)
17070 (uri (git-reference
17071 (url "https://github.com/fukamachi/cl-locale")
17072 (commit commit)))
17073 (file-name (git-file-name "cl-locale" version))
17074 (sha256
17075 (base32 "1rhannhpsw1yg1fpflam483a3w9qb1izgyvmnmiddv3dn4qsmn9p"))))
17076 (build-system asdf-build-system/sbcl)
17077 (arguments
17078 ;; FIXME: (Sharlatan-20210523T190658+0100): All tests passed ok but
17079 ;; successfully failed in the end:
17080 ;;
17081 ;; Summary:
17082 ;; All 1 file passed.
17083 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-DEPENDENCY
17084 ;; in thread #<SB-THREAD:THREAD "main thread" RUNNING {100B6C8253}>:
17085 ;; Component CL-LOCALE-ASD::CL-LOCALE-TEST not found, required by
17086 ;; #<SYSTEM "cl-locale">
17087 ;;
17088 `(#:tests? #f))
17089 (native-inputs
17090 `(("prove" ,sbcl-prove)
17091 ("flexi-streams" ,sbcl-flexi-streams)))
17092 (inputs
17093 `(("anaphora" ,sbcl-anaphora)
17094 ("arnesi" ,sbcl-arnesi)
17095 ("cl-annot" ,sbcl-cl-annot)
17096 ("cl-syntax" ,sbcl-cl-syntax)))
17097 (home-page "https://github.com/fukamachi/cl-locale")
17098 (synopsis "Internalization library for Common Lisp")
17099 (description
17100 "This package provides a Common Lisp translation library similar to
17101CL-I18N and CL-L10N.")
17102 (license license:llgpl))))
17103
17104(define-public ecl-cl-locale
17105 (sbcl-package->ecl-package sbcl-cl-locale))
17106
17107(define-public cl-locale
17108 (sbcl-package->cl-source-package sbcl-cl-locale))
a0dcb1aa
SH
17109
17110(define-public sbcl-cl-slice
17111 (let ((commit "c531683f287216aebbb0affbe090611fa1b5d697")
17112 (revision "1"))
17113 (package
17114 (name "sbcl-cl-slice")
17115 (version (git-version "0.1.0" revision commit))
17116 (source
17117 (origin
17118 (method git-fetch)
17119 (uri (git-reference
17120 (url "https://github.com/tpapp/cl-slice")
17121 (commit commit)))
17122 (file-name (git-file-name "cl-slice" version))
17123 (sha256
17124 (base32 "1ybznf4y5lda6bn163jcvj281qzhm24dfcwhbgxmm5n6f27gdccl"))))
17125 (build-system asdf-build-system/sbcl)
17126 (native-inputs
17127 `(("clunit" ,sbcl-clunit)))
17128 (inputs
17129 `(("alexandria" ,sbcl-alexandria)
17130 ("anaphora" ,sbcl-anaphora)
17131 ("let-plus" ,sbcl-let-plus)))
17132 (home-page "https://github.com/tpapp/cl-slice")
17133 (synopsis "Array slices for Common Lisp")
17134 (description
17135 "This package provides a DSL for array slices in Common Lisp.")
17136 (license license:expat))))
17137
17138(define-public ecl-cl-slice
17139 (sbcl-package->ecl-package sbcl-cl-slice))
17140
17141(define-public cl-slice
17142 (sbcl-package->cl-source-package sbcl-cl-slice))
3a89ff12
SH
17143
17144(define-public sbcl-djula
17145 (let ((commit "5df7af35a21503d468a878fc6029caa527a7d204")
17146 (revision "1"))
17147 (package
17148 (name "sbcl-djula")
17149 (version (git-version "0.2.0" revision commit))
17150 (source
17151 (origin
17152 (method git-fetch)
17153 (uri (git-reference
17154 (url "https://github.com/mmontone/djula")
17155 (commit commit)))
17156 (file-name (git-file-name "djula" version))
17157 (sha256
17158 (base32 "1lk2ypm3sacf60h96a7hv9jwjlxkl4k40yzdalmqdg548vrd1jjm"))))
17159 (build-system asdf-build-system/sbcl)
17160 (native-inputs
17161 `(("fiveam" ,sbcl-fiveam)))
17162 (inputs
17163 `(("access" ,sbcl-access)
17164 ("alexandria" ,sbcl-alexandria)
17165 ("anaphora" ,sbcl-anaphora)
17166 ("babel" ,sbcl-babel)
17167 ("cl-locale" ,sbcl-cl-locale)
17168 ("cl-ppcre" ,sbcl-cl-ppcre)
17169 ("cl-slice" ,sbcl-cl-slice)
17170 ("closer-mop" ,sbcl-closer-mop)
17171 ("gettext" ,sbcl-gettext)
17172 ("iterate" ,sbcl-iterate)
17173 ("local-time" ,sbcl-local-time)
17174 ("parser-combinators" ,sbcl-parser-combinators)
17175 ("split-sequence" ,sbcl-split-sequence)
17176 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
17177 (home-page "https://mmontone.github.io/djula/")
17178 (synopsis "Common Lisp port of the Django templating language")
17179 (description
17180 "This package provides a Common Lisp templating system based on Python
17181Django with a syntax similar to Python Jinja2.")
17182 (license license:expat))))
17183
17184(define-public ecl-djula
17185 (sbcl-package->ecl-package sbcl-djula))
17186
17187(define-public cl-djula
17188 (sbcl-package->cl-source-package sbcl-djula))
1ab3aab5
SH
17189
17190(define-public sbcl-for
17191 (let ((commit "2e4fcfa0f9c1d2f4559c58cef20ccefa50ba180d")
17192 (revision "1"))
17193 (package
17194 (name "sbcl-for")
17195 (version (git-version "1.1.0" revision commit))
17196 (source
17197 (origin
17198 (method git-fetch)
17199 (uri (git-reference
17200 (url "https://github.com/Shinmera/for")
17201 (commit commit)))
17202 (file-name (git-file-name "for" version))
17203 (sha256
17204 (base32 "1akz9ggh33x2cq3h0f1cd0p632v1mbagv3dzsb0r10bwg9lh3nmv"))))
17205 (build-system asdf-build-system/sbcl)
17206 (inputs
17207 `(("documentation-utils" ,sbcl-documentation-utils)
17208 ("form-fiddle" ,sbcl-form-fiddle)
17209 ("lambda-fiddle" ,sbcl-lambda-fiddle)))
17210 (home-page "https://shinmera.github.io/for/")
17211 (synopsis "Extensible iteration macro library")
17212 (description
17213 "For is a library for an extensible iteration macro. It allows you to write
17214concise looping constructs similar to @code{loop} and @code{iterate}. Unlike
17215loop however it is extensible and sensible, and unlike iterate it does not
17216require code-walking and is easier to extend.")
17217 (license license:zlib))))
17218
17219(define-public ecl-for
17220 (sbcl-package->ecl-package sbcl-for))
17221
17222(define-public cl-for
17223 (sbcl-package->cl-source-package sbcl-for))
23ab7067
SH
17224
17225(define-public sbcl-flare
17226 (let ((commit "4f9f17a4fc5b368c2a1988b9a20288695b8d8c48")
17227 (revision "1"))
17228 (package
17229 (name "sbcl-flare")
17230 (version (git-version "1.1.0" revision commit))
17231 (source
17232 (origin
17233 (method git-fetch)
17234 (uri (git-reference
17235 (url "https://github.com/Shinmera/flare")
17236 (commit commit)))
17237 (file-name (git-file-name "flare" version))
17238 (sha256
17239 (base32 "00nm3sjngbflj2gd5q0xs2m136w4kix6krww23nk64pkkyq2fs86"))))
17240 (build-system asdf-build-system/sbcl)
17241 (inputs
17242 `(("3d-vectors" ,sbcl-3d-vectors)
17243 ("array-utils" ,sbcl-array-utils)
17244 ("documentation-utils" ,sbcl-documentation-utils)
17245 ("for" ,sbcl-for)
17246 ("lambda-fiddle" ,sbcl-lambda-fiddle)
17247 ("trivial-garbage" ,sbcl-trivial-garbage)))
17248 (home-page "https://shinmera.github.io/flare/")
17249 (synopsis "Easy particle systems with fine grained control")
17250 (description
17251 "FLARE is a library designed to allow quick and precise particle effect
17252creations. It does not concern itself with displaying and only with the
17253management and movement of particles. As such, it can easily be integrated into
17254any existing or future application.")
17255 (license license:zlib))))
17256
17257(define-public ecl-flare
17258 (sbcl-package->ecl-package sbcl-flare))
17259
17260(define-public cl-flare
17261 (sbcl-package->cl-source-package sbcl-flare))
929b72dd
PN
17262
17263(define-public sbcl-simple-inferiors
17264 (let ((commit "deac886354e03f8a9502ce96f12a0459ce3be671"))
17265 (package
17266 (name "sbcl-simple-inferiors")
17267 (version (git-version "1.1.0" "1" commit))
17268 (source
17269 (origin
17270 (method git-fetch)
17271 (uri (git-reference
17272 (url "https://github.com/Shinmera/simple-inferiors")
17273 (commit commit)))
17274 (file-name (git-file-name name version))
17275 (sha256
17276 (base32 "08vsvqv3768bwb2y8mwxbw5wyqzzwqr7rd004r6gafdgf9p9mcx3"))))
17277 (build-system asdf-build-system/sbcl)
17278 (inputs
17279 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
17280 ("documentation-utils" ,sbcl-documentation-utils)))
17281 (home-page "https://shinmera.github.io/simple-inferiors/")
17282 (synopsis "Common Lisp library to use inferior processes")
17283 (description
17284 "This is a library to allow easy handling of external processes, and
17285primarily to get their output. It handles proper copying of the standard and
17286error outputs of the process simultaneously, both in a sequential and parallel
17287fashion. It also features a lazy directory switching mechanism, to avoid
17288running into parallelism problems when having to change directory.")
17289 (license license:zlib))))
17290
17291(define-public ecl-simple-inferiors
17292 (sbcl-package->ecl-package sbcl-simple-inferiors))
17293
17294(define-public cl-simple-inferiors
17295 (sbcl-package->cl-source-package sbcl-simple-inferiors))
80a6de6b
PN
17296
17297(define-public sbcl-legit
17298 (let ((commit "48d50a20d8dcbd941d119683463b7c8257ba6458"))
17299 (package
17300 (name "sbcl-legit")
17301 (version (git-version "1.0.0" "1" commit))
17302 (source
17303 (origin
17304 (method git-fetch)
17305 (uri (git-reference
17306 (url "https://github.com/Shinmera/legit")
17307 (commit commit)))
17308 (file-name (git-file-name name version))
17309 (sha256
17310 (base32 "181aqpj4zkfk1aavj5jw8rym6gw4ma3gd64z2h5fpryabgmwk236"))))
17311 (build-system asdf-build-system/sbcl)
17312 (inputs
17313 `(("simple-inferiors" ,sbcl-simple-inferiors)
17314 ("lambda-fiddle" ,sbcl-lambda-fiddle)
17315 ("cl-ppcre" ,sbcl-cl-ppcre)
17316 ("documentation-utils" ,sbcl-documentation-utils)))
17317 (home-page "https://shinmera.github.io/legit/")
17318 (synopsis "Interface to the git binary")
17319 (description
17320 "This is an interface to the @code{git} binary to make controlling it
17321from within Common Lisp much easier. It might not ever reach full coverage of
17322all features given git's immense size, but features will be added as they are
17323needed. The low-level command API is fully mapped however.")
17324 (license license:zlib))))
17325
17326(define-public ecl-legit
17327 (sbcl-package->ecl-package sbcl-legit))
17328
17329(define-public cl-legit
17330 (sbcl-package->cl-source-package sbcl-legit))
c03da7ed
SH
17331
17332(define-public sbcl-flow
17333 (let ((commit "6d925af009cdfe033650d7048197a5e6ee937d15")
17334 (revision "1"))
17335 (package
17336 (name "sbcl-flow")
17337 (version (git-version "1.0.0" revision commit))
17338 (source
17339 (origin
17340 (method git-fetch)
17341 (uri (git-reference
17342 (url "https://github.com/Shinmera/flow")
17343 (commit commit)))
17344 (file-name (git-file-name "flow" version))
17345 (sha256
17346 (base32 "0ysw1kwiqlf8kzllhnz8v3q40dmvwf83fzq8bfkbmwy5hfjh3pxp"))))
17347 (build-system asdf-build-system/sbcl)
17348 (arguments
17349 ;; FIXME: (Sharlatan-20210527T203118+0100): FLOW-VISUALIZER requires
17350 ;; COMMONQT which is not packed yet and required tweaks with QT. Remove
17351 ;; this when it's ready.
17352 `(#:asd-files '("flow.asd")))
17353 (inputs
17354 `(("closer-mop" ,sbcl-closer-mop)
17355 ("documentation-utils" ,sbcl-documentation-utils)))
17356 (home-page "https://shinmera.github.io/flow/")
17357 (synopsis "Tools for the representation of graphs and flowcharts")
17358 (description
17359 "FLOW is a flowchart graph library. Unlike other graphing libraries,
17360this one focuses on nodes in a graph having distinct @code{ports} through which
17361connections to other nodes are formed. This helps in many concrete scenarios
17362where it is important to distinguish not only which nodes are connected, but
17363also how they are connected to each other.
17364
17365Particularly, a lot of data flow and exchange problems can be reduced to such
17366a @code{flowchart}. For example, an audio processing library may present its
17367pipeline as a flowchart of segments that communicate with each other through
17368audio sample buffers. Flow gives a convenient view onto this kind of problem,
17369and even allows the generic visualisation of graphs in this format.")
17370 (license license:zlib))))
17371
17372(define-public ecl-flow
17373 (sbcl-package->ecl-package sbcl-flow))
17374
17375(define-public cl-flow
17376 (sbcl-package->cl-source-package sbcl-flow))
901ceafa
SH
17377
17378(define-public sbcl-cl-glfw3
17379 (let ((commit "32c3f34d592d55ee7ce932ed85804c1a9c4158c6")
17380 (revision "1"))
17381 (package
17382 (name "sbcl-cl-glfw3")
17383 (version (git-version "0.0.0" revision commit))
17384 (source
17385 (origin
17386 (method git-fetch)
17387 (uri (git-reference
17388 (url "https://github.com/AlexCharlton/cl-glfw3")
17389 (commit commit)))
17390 (file-name (git-file-name "cl-glfw3" version))
17391 (sha256
17392 (base32 "1wzr43nckdx4rlgxzhm1r4kfc264q969mc43y0js9ramh7l8gba5"))))
17393 (build-system asdf-build-system/sbcl)
17394 (arguments
17395 `(#:phases
17396 (modify-phases %standard-phases
17397 (add-after 'unpack 'patch-glfw-lib-path
17398 (lambda* (#:key inputs #:allow-other-keys)
17399 (substitute* "glfw-bindings.lisp"
17400 (("libglfw.so.3" all)
17401 (string-append (assoc-ref inputs "glfw") "/lib/" all))))))))
17402 (inputs
17403 `(("alexandria" ,sbcl-alexandria)
17404 ("cffi" ,sbcl-cffi)
17405 ("cl-opengl" ,sbcl-cl-opengl)
17406 ("glfw" ,glfw)
17407 ("trivial-main-thread" ,sbcl-trivial-main-thread)))
17408 (home-page "https://github.com/AlexCharlton/cl-glfw3")
17409 (synopsis "Common Lisp bindings to GLFW version 3.x")
17410 (description
17411 "This package provides a Common Lisp bindings to @code{glfw}, an OpenGL
17412application development library.")
17413 (license license:bsd-2))))
17414
17415(define-public ecl-cl-glfw3
17416 (sbcl-package->ecl-package sbcl-cl-glfw3))
17417
17418(define-public cl-glfw3
17419 (sbcl-package->cl-source-package sbcl-cl-glfw3))
7cf38604
SH
17420
17421(define-public sbcl-chirp
17422 (let ((commit "01c79fa41939688216d1f86d0766a687becb0654")
17423 (revision "1"))
17424 (package
17425 (name "sbcl-chirp")
17426 (version (git-version "0.2.0" revision commit))
17427 (source
17428 (origin
17429 (method git-fetch)
17430 (uri (git-reference
17431 (url "https://github.com/Shinmera/chirp")
17432 (commit commit)))
17433 (file-name (git-file-name "chirp" version))
17434 (sha256
17435 (base32 "10xlz1vwdv3jv48kmpndpnrg6672m0r5vsjgm2pksfl8bc05j2m0"))))
17436 (build-system asdf-build-system/sbcl)
17437 (arguments
17438 `(#:asd-systems '("chirp-core" "chirp-dexador" "chirp-drakma" "chirp")))
17439 (inputs
17440 `(("alexandria" ,sbcl-alexandria)
17441 ("babel" ,sbcl-babel)
17442 ("cl-base64" ,sbcl-cl-base64)
17443 ("cl-ppcre" ,sbcl-cl-ppcre)
17444 ("dexador" ,sbcl-dexador)
17445 ("drakma" ,sbcl-drakma)
17446 ("flexi-streams" ,sbcl-flexi-streams)
17447 ("ironclad" ,sbcl-ironclad)
17448 ("local-time" ,sbcl-local-time)
17449 ("split-sequence" ,sbcl-split-sequence)
17450 ("uuid" ,sbcl-uuid)
17451 ("yason" ,sbcl-yason)))
17452 (home-page "https://shinmera.github.io/chirp/")
17453 (synopsis "Twitter client library for Common Lisp")
17454 (description
17455 "This package provides a Common Lisp Twitter client featuring full API
17456coverage.")
17457 (license license:zlib))))
17458
17459(define-public ecl-chirp
17460 (sbcl-package->ecl-package sbcl-chirp))
17461
17462(define-public cl-chirp
17463 (sbcl-package->cl-source-package sbcl-chirp))
5cf9137c
SH
17464
17465(define-public sbcl-cepl
17466 (let ((commit "d1a10b6c8f4cedc07493bf06aef3a56c7b6f8d5b")
17467 (revision "1"))
17468 (package
17469 (name "sbcl-cepl")
17470 (version (git-version "0.0.0" revision commit))
17471 (source
17472 (origin
17473 (method git-fetch)
17474 (uri (git-reference
17475 (url "https://github.com/cbaggers/cepl")
17476 (commit commit)))
17477 (file-name (git-file-name "cepl" version))
17478 (sha256
17479 (base32 "0izbw2advqm3wailj3dpq6zqfrfirwn14pw5qmqh8i71r51xwmm2"))))
17480 (build-system asdf-build-system/sbcl)
17481 (arguments
17482 `(#:asd-files '("cepl.asd" "cepl.build.asd")))
17483 (inputs
17484 `(("alexandria" ,sbcl-alexandria)
17485 ("bordeaux-threads" ,sbcl-bordeaux-threads)
17486 ("cffi" ,sbcl-cffi)
17487 ("cl-opengl" ,sbcl-cl-opengl)
17488 ("cl-ppcre" ,sbcl-cl-ppcre)
17489 ("documentation-utils" ,sbcl-documentation-utils)
17490 ("float-features" ,sbcl-float-features)
17491 ("ieee-floats" ,sbcl-ieee-floats)
17492 ("split-sequence" ,sbcl-split-sequence)
17493 ("varjo" ,sbcl-varjo)))
17494 (propagated-inputs
17495 `(("quickproject" ,sbcl-quickproject)))
17496 (home-page "https://github.com/cbaggers/cepl")
17497 (synopsis "Development playground to work with OpenGL")
17498 (description
17499 "CEPL (Code Evaluate Play Loop ) is a lispy and REPL-friendly Common Lisp
17500library for working with OpenGL.
17501
17502Its definition of success is making the user feel that GPU programming has
17503always been part of the languages standard.
17504
17505The usual approach to using CEPL is to start it at the beginning of your Lisp
17506session and leave it open for the duration of your work. You can then treat the
17507window it creates as just another output for your graphics, analogous to how
17508@code{*standard-output*} is treated for text.")
17509 (license license:bsd-2))))
17510
17511(define-public ecl-cepl
17512 (sbcl-package->ecl-package sbcl-cepl))
17513
17514(define-public cl-cepl
17515 (sbcl-package->cl-source-package sbcl-cepl))
b1a8822e
PN
17516
17517(define-public sbcl-stmx
17518 ;; No release for years and recent commits contain fixes for revent SBCL versions.
17519 (let ((commit "a7bb44082cd53ee968965adff03d4351750711a1")
17520 (revision "1"))
17521 (package
17522 (name "sbcl-stmx")
17523 (version (git-version "2.0.5" revision commit))
17524 (source
17525 (origin
17526 (method git-fetch)
17527 (uri (git-reference
17528 (url "https://github.com/cosmos72/stmx/")
17529 (commit commit)))
17530 (file-name (git-file-name name version))
17531 (sha256
17532 (base32 "1hfmh4vj271jdilir97qs6nqbi5nmn5alyls0w3d3xxqwi6ffqjs"))))
17533 (build-system asdf-build-system/sbcl)
17534 (inputs
17535 `(("alexandria" ,sbcl-alexandria)
17536 ("bordeaux-threads" ,sbcl-bordeaux-threads)
17537 ("log4cl" ,sbcl-log4cl)
17538 ("closer-mop" ,sbcl-closer-mop)
17539 ("trivial-garbage" ,sbcl-trivial-garbage)))
17540 (home-page "https://stmx.org/")
17541 (synopsis "High performance Transactional Memory for Common Lisp")
17542 (description
17543 "STMX is a high-performance implementation of composable Transactional
17544Memory, which is a concurrency control mechanism aimed at making concurrent
17545programming easier to write and understand. Instead of traditional lock-based
17546programming, one programs with atomic memory transactions, which can be
17547composed together to make larger atomic memory transactions.
17548
17549A memory transaction gets committed if it returns normally, while it gets
17550rolled back if it signals an error (and the error is propagated to the
17551caller).
17552
17553Finally, memory transactions can safely run in parallel in different threads,
17554are re-executed from the beginning in case of conflicts or if consistent reads
17555cannot be guaranteed, and their effects are not visible from other threads
17556until they commit.
17557
17558Memory transactions give freedom from deadlocks, are immune to thread-safety
17559bugs and race conditions, provide automatic roll-back on failure, and aim at
17560resolving the tension between granularity and concurrency.")
17561 (license license:llgpl))))
659cc959
PN
17562
17563(define-public ecl-stmx
17564 (sbcl-package->ecl-package sbcl-stmx))
17565
17566(define-public cl-stmx
17567 (sbcl-package->cl-source-package sbcl-stmx))
9d48a179
PN
17568
17569(define-public sbcl-binding-arrows
17570 ;; Fork of sbcl-arrows that does not have a new tag.
17571 (let ((commit "d19364ec8850880ed6e42078ccaa2ed9114dc83a")
17572 (revision "1"))
17573 (package
17574 (name "sbcl-binding-arrows")
17575 (version (git-version "1.0.0" revision commit))
17576 (source
17577 (origin
17578 (method git-fetch)
17579 (uri (git-reference
17580 (url "https://github.com/phoe/binding-arrows")
17581 (commit commit)))
17582 (file-name (git-file-name name version))
17583 (sha256
17584 (base32 "0hqikgzic7kjq2n1d924yldfm30qz67cmsk6gghi9cbmxkwdlwp8"))))
17585 (build-system asdf-build-system/sbcl)
17586 (native-inputs
17587 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
17588 (home-page "https://github.com/phoe/binding-arrows")
17589 (synopsis "Threading macros based on binding anonymous variables")
17590 (description
17591 "This system implements binding threading macros -- a kind of threading
17592macros with different semantics than classical, Clojure core threading macros
17593or their extension, swiss-arrows. Two Common Lisp implementations of those are
17594@code{arrows} and @code{arrow-macros}.
17595
17596This system is a fork of @code{arrows} with changes in semantics that make it
17597impossible to merge back upstream.")
17598 (license license:expat))))
17599
17600(define-public ecl-binding-arrows
17601 (sbcl-package->ecl-package sbcl-binding-arrows))
17602
17603(define-public cl-binding-arrows
17604 (sbcl-package->cl-source-package sbcl-binding-arrows))
9903342a
PN
17605
17606(define-public sbcl-atomics
17607 ;; No release in years.
17608 (let ((commit "9ee0bdebcd2bb9b242671a75460db13fbf45454c")
17609 (revision "1"))
17610 (package
17611 (name "sbcl-atomics")
17612 (version (git-version "1.0.0" revision commit))
17613 (source
17614 (origin
17615 (method git-fetch)
17616 (uri (git-reference
17617 (url "https://github.com/Shinmera/atomics")
17618 (commit commit)))
17619 (file-name (git-file-name "atomics" version))
17620 (sha256
17621 (base32 "0mp5jdqq0aamdhgnvw149cqqi3zg7dkkibp25qi4rafw1fnpd40z"))))
17622 (build-system asdf-build-system/sbcl)
17623 (inputs
17624 `(("documentation-utils" ,sbcl-documentation-utils)))
17625 (native-inputs
17626 `(("parachute" ,sbcl-parachute)))
17627 (home-page "https://shinmera.github.io/atomics/")
17628 (synopsis "Common Lisp portability layer for atomic operations")
17629 (description
17630 "This is a library for access to atomic operation primitives such as
17631compare-and-swap. It aims to be a rather thin layer over what the
17632implementations offer.")
17633 (license license:zlib))))
17634
17635(define-public ecl-atomics
17636 (sbcl-package->ecl-package sbcl-atomics))
17637
17638(define-public cl-atomics
17639 (sbcl-package->cl-source-package sbcl-atomics))
3b45aa16
PN
17640
17641(define-public sbcl-cl-mock
17642 ;; .asd version only got updated recently, despired the old GitHug "1.0.1" release.
17643 (let ((commit "7988dca2093358911b67597a2cd1570c785dfe76"))
17644 (package
17645 (name "sbcl-cl-mock")
17646 (version (git-version "1.0.1" "1" commit))
17647 (source
17648 (origin
17649 (method git-fetch)
17650 (uri (git-reference
17651 (url "https://github.com/Ferada/cl-mock/")
17652 (commit commit)))
17653 (file-name (git-file-name name version))
17654 (sha256
17655 (base32 "0f40wikcf783jx26ip0nnhwjjfjvjiw7njqsqrb6kaphc8bgw0i1"))))
17656 (build-system asdf-build-system/sbcl)
17657 (inputs
17658 `(("alexandria" ,sbcl-alexandria)
17659 ("closer-mop" ,sbcl-closer-mop)
17660 ("trivia" ,sbcl-trivia)))
17661 (native-inputs
17662 `(("fiveam" ,sbcl-fiveam)))
17663 (home-page "https://github.com/Ferada/cl-mock")
17664 (synopsis "Mocking functions for Common Lisp testing")
17665 (description
17666 "This small library provides a way to replace the actual implementation
17667of either regular or generic functions with mocks.")
17668 (license license:agpl3))))
17669
17670(define-public ecl-cl-mock
17671 (sbcl-package->ecl-package sbcl-cl-mock))
17672
17673(define-public cl-mock
17674 (sbcl-package->cl-source-package sbcl-cl-mock))
40098148
PN
17675
17676(define-public sbcl-cl-murmurhash
17677 ;; No release.
17678 (let ((commit "5433f5e95f1cce63a81259a471150834c6a59364")
17679 (revision "1"))
17680 (package
17681 (name "sbcl-cl-murmurhash")
17682 (version (git-version "0.0.0" revision commit))
17683 (home-page "https://github.com/ruricolist/cl-murmurhash/")
17684 (source
17685 (origin
17686 (method git-fetch)
17687 (uri (git-reference
17688 (url home-page)
17689 (commit commit)))
17690 (file-name (git-file-name name version))
17691 (sha256
17692 (base32
17693 "0251r0mpjm0y3qsm4lm7ncvrkxvgwc53spdm1p2mpayhvkkqqsws"))))
17694 (build-system asdf-build-system/sbcl)
17695 (inputs
17696 `(("babel" ,sbcl-babel)))
17697 (native-inputs
17698 `(("fiveam" ,sbcl-fiveam)))
17699 (synopsis "32-bit version of Murmurhash3 for Common Lisp")
17700 (description
17701 "This Common Lisp package offers an implementation of the 32-bit
17702variant of MurmurHash3 (@url{https://github.com/aappleby/smhasher}), a fast
17703non-crytographic hashing algorithm.")
17704 (license license:expat))))
17705
17706(define-public ecl-cl-murmurhash
17707 (sbcl-package->ecl-package sbcl-cl-murmurhash))
17708
17709(define-public cl-murmurhash
17710 (sbcl-package->cl-source-package sbcl-cl-murmurhash))
008da158
PN
17711
17712(define-public sbcl-cl-hamt
17713 ;; No release
17714 (let ((commit "7a99eaaca1f952029def9ad5a2b80a612a712208"))
17715 (package
17716 (name "sbcl-cl-hamt")
17717 (version (git-version "0.0.0" "1" commit))
17718 (source
17719 (origin
17720 (method git-fetch)
17721 (uri (git-reference
17722 (url "https://github.com/danshapero/cl-hamt/")
17723 (commit commit)))
17724 (file-name (git-file-name name version))
17725 (sha256
17726 (base32 "1ycbd73ykfj5j9sdhlzamyv18qbjj6xqf7fhm4fa0nsyr6sr3rf5"))))
17727 (build-system asdf-build-system/sbcl)
17728 (inputs
17729 `(("cl-murmurhash" ,sbcl-cl-murmurhash)))
17730 (native-inputs
17731 `(("fiveam" ,sbcl-fiveam)))
17732 (home-page "https://github.com/danshapero/cl-hamt")
17733 (synopsis "Dictionary & set data structure using hash array-mapped tries")
17734 (description
17735 "This library provides purely functional dictionaries and sets in
17736Common Lisp based on the hash array-mapped trie data structure.")
17737 (license license:bsd-3))))
17738
17739(define-public ecl-cl-hamt
17740 (sbcl-package->ecl-package sbcl-cl-hamt))
17741
17742(define-public cl-hamt
17743 (sbcl-package->cl-source-package sbcl-cl-hamt))
71c3f954
PN
17744
17745(define-public sbcl-cl-gserver
17746 (package
17747 (name "sbcl-cl-gserver")
17748 (version "1.7.2")
17749 (source
17750 (origin
17751 (method git-fetch)
17752 (uri (git-reference
17753 (url "https://github.com/mdbergmann/cl-gserver")
17754 (commit version)))
17755 (file-name (git-file-name "cl-gserver" version))
17756 (sha256
17757 (base32 "1vkxs6ybi1pkpji2crmhq8c71zg0dn2ji0lcwhs0rivphz5jxk24"))))
17758 (build-system asdf-build-system/sbcl)
17759 (inputs
17760 `(("alexandria" ,sbcl-alexandria)
17761 ("bordeaux-threads" ,sbcl-bordeaux-threads)
17762 ("lparallel" ,sbcl-lparallel)
17763 ("cl-speedy-queue" ,sbcl-cl-speedy-queue)
17764 ("log4cl" ,sbcl-log4cl)
17765 ("str" ,sbcl-cl-str)
17766 ("blackbird" ,sbcl-blackbird)
17767 ("cl-hamt" ,sbcl-cl-hamt)
17768 ("binding-arrows" ,sbcl-binding-arrows)
17769 ("atomics" ,sbcl-atomics)))
17770 (native-inputs
17771 `(("fiveam" ,sbcl-fiveam)
17772 ("mock" ,sbcl-cl-mock)))
17773 (home-page "https://mdbergmann.github.io/cl-gserver/index.html")
17774 (synopsis "Actor framework for easy access to state and async operations")
17775 (description
17776 "@code{cl-gserver} is a 'message passing' library / framework with actors
17777similar to Erlang or Akka. It supports creating reactive systems for parallel
17778computing and event based message handling.")
17779 (license license:agpl3)))
17780
17781(define-public ecl-cl-gserver
17782 (sbcl-package->ecl-package sbcl-cl-gserver))
17783
17784(define-public cl-gserver
17785 (sbcl-package->cl-source-package sbcl-cl-gserver))
ad4a46b0
SH
17786
17787(define-public sbcl-cl-posix-mqueue
17788 (let ((commit "8977370c7206d1f62bd1be80f4254af40654b83f")
17789 (revision "1"))
17790 (package
17791 (name "sbcl-cl-posix-mqueue")
17792 (version (git-version "0.1.2" revision commit))
17793 (source
17794 (origin
17795 (method git-fetch)
17796 (uri (git-reference
17797 (url "https://github.com/xFA25E/cl-posix-mqueue")
17798 (commit commit)))
17799 (file-name (git-file-name "cl-posix-mqueue" version))
17800 (sha256
17801 (base32 "04519rg8vc782z097dzlb8nx0skab2fy2zd0m60r6mz2nw8xdvh6"))))
17802 (build-system asdf-build-system/sbcl)
17803 (arguments
17804 `(#:test-asd-file "cl-posix-mqueue-tests.asd"
17805 #:phases
17806 (modify-phases %standard-phases
17807 (add-after 'unpack 'patch-librt-path
17808 (lambda* (#:key inputs #:allow-other-keys)
17809 (substitute* "src/spec.lisp"
17810 (("librt.so" all)
17811 (string-append (assoc-ref inputs "glibc") "/lib/" all))))))))
17812 (native-inputs
17813 `(("cl-ppcre" ,sbcl-cl-ppcre)
17814 ("rove" ,sbcl-rove)))
17815 (inputs
17816 `(("alexandria" ,sbcl-alexandria)
17817 ("babel" ,sbcl-babel)
17818 ("cffi" ,sbcl-cffi)
17819 ("glibc" ,glibc)
17820 ("local-time" ,sbcl-local-time)))
17821 (home-page "https://github.com/xFA25E/cl-posix-mqueue")
17822 (synopsis "Common Lisp binding to POSIX mqueue")
17823 (description
17824 "This package provides Common Lisp bindings to POSIX message queue, an
17825@acronym{IPC, Inter-Process Communication} method that is easy to use and quick
17826to setup.")
17827 (license license:gpl3))))
17828
17829(define-public ecl-cl-posix-mqueue
17830 (sbcl-package->ecl-package sbcl-cl-posix-mqueue))
17831
17832(define-public cl-posix-mqueue
17833 (sbcl-package->cl-source-package sbcl-cl-posix-mqueue))
444f8438
SH
17834
17835(define-public sbcl-sdl2
17836 (let ((commit "bb2aa2a41cf799e3bb1ddf50de41fe389c6db668")
17837 (revision "1"))
17838 (package
17839 (name "sbcl-sdl2")
17840 (version (git-version "0.0.0" revision commit))
17841 (source
17842 (origin
17843 (method git-fetch)
17844 (uri (git-reference
17845 (url "https://github.com/lispgames/cl-sdl2")
17846 (commit commit)))
17847 (file-name (git-file-name "cl-sdl2" version))
17848 (sha256
17849 (base32 "1a4904310z2wwq80grnlixmyz30452vgd4lh74y105j2yrr43z97"))))
17850 (build-system asdf-build-system/sbcl)
17851 (arguments
17852 `(#:phases
17853 (modify-phases %standard-phases
17854 (add-after 'unpack 'fix-paths
17855 (lambda* (#:key inputs #:allow-other-keys)
17856 (substitute* "src/library.lisp"
17857 (("libSDL2-2.0.so.0" all)
17858 (string-append (assoc-ref inputs "libsdl2") "/lib/" all)))
17859 #t)))))
17860 (inputs
17861 `(("alexandria" ,sbcl-alexandria)
17862 ("cl-autowrap" ,sbcl-cl-autowrap)
17863 ("cl-ppcre" ,sbcl-cl-ppcre)
17864 ("libsdl2" ,sdl2)
17865 ("trivial-channels" ,sbcl-trivial-channels)
17866 ("trivial-features" ,sbcl-trivial-features)))
17867 (home-page "https://github.com/lispgames/cl-sdl2")
17868 (synopsis "Common Lisp bindings for SDL2 using C2FFI")
17869 (description
17870 "This package provides a Common Lisp wrapper system for the SDL 2.0
17871C Library.")
17872 (license license:expat))))
17873
17874(define-public ecl-sdl2
17875 (sbcl-package->ecl-package sbcl-sdl2))
17876
17877(define-public cl-sdl2
17878 (sbcl-package->cl-source-package sbcl-sdl2))
d09184ce
SH
17879
17880(define-public sbcl-cl-gamepad
17881 (let ((commit "7e12137927b42db064ffbf9ea34bd4790ad4bb33")
17882 (revision "1"))
17883 (package
17884 (name "sbcl-cl-gamepad")
17885 (version (git-version "3.0.0" revision commit))
17886 (source
17887 (origin
17888 (method git-fetch)
17889 (uri (git-reference
17890 (url "https://github.com/Shirakumo/cl-gamepad")
17891 (commit commit)))
17892 (file-name (git-file-name "cl-gamepad" version))
17893 (sha256
17894 (base32 "1gzx590i7s81qmramnjvfzrrq5yppas8yxqq1jl3yzqhhjwjfvkd"))))
17895 (build-system asdf-build-system/sbcl)
17896 (arguments
17897 `(#:phases
17898 (modify-phases %standard-phases
17899 (add-after 'unpack 'patch-evdev-lib-path
17900 (lambda* (#:key inputs #:allow-other-keys)
17901 (substitute* "evdev-cffi.lisp"
17902 (("libevdev.so" all)
17903 (string-append (assoc-ref inputs "libevdev")
17904 "/lib/" all)))))
17905 ;; Here we use a custom build phase to work around a compilation bug.
17906 ;; Using 'asdf:compile-system' fails, but using 'asdf:load-system'
17907 ;; succeeds (and also compiles the system).
17908 ;; See https://github.com/Shirakumo/cl-gamepad/issues/8
17909 (replace 'build
17910 (lambda* (#:key outputs #:allow-other-keys)
17911 (let* ((out (assoc-ref outputs "out"))
17912 (source-path (string-append out
17913 "/share/common-lisp/"
17914 (%lisp-type)))
17915 (translations `((,source-path
17916 :**/ :*.*.*)
17917 (,(string-append out
17918 "/lib/common-lisp/"
17919 (%lisp-type))
17920 :**/ :*.*.*))))
17921 (setenv "ASDF_OUTPUT_TRANSLATIONS"
17922 (format #f "~S" `(:output-translations
17923 ,translations
17924 :inherit-configuration)))
17925 (setenv "HOME" (assoc-ref outputs "out"))
17926 (with-directory-excursion (string-append source-path
17927 "/cl-gamepad")
17928 (invoke (%lisp-type)
17929 "--eval" "(require :asdf)"
17930 "--eval" "(asdf:load-asd (truename \"cl-gamepad.asd\"))"
17931 "--eval" "(asdf:load-system :cl-gamepad)"
17932 "--eval" "(quit)"))))))))
17933 (inputs
17934 `(("cffi" ,sbcl-cffi)
17935 ("documentation-utils" ,sbcl-documentation-utils)
17936 ("libevdev" ,libevdev)
17937 ("trivial-features" ,sbcl-trivial-features)))
17938 (home-page "https://shirakumo.github.io/cl-gamepad/")
17939 (synopsis "Library for access to gamepads and joystick input devices")
17940 (description
17941 "This is a library to provide cross-platform access to gamepads,
17942joysticks, and other such HID devices.")
17943 (license license:zlib))))
17944
17945(define-public ecl-cl-gamepad
17946 (sbcl-package->ecl-package sbcl-cl-gamepad))
17947
17948(define-public cl-gamepad
17949 (sbcl-package->cl-source-package sbcl-cl-gamepad))
88cde3c6
SH
17950
17951(define-public sbcl-trial
17952 (let ((commit "ba178cac3a5528c570c7e8dad66c58cc770db53a")
17953 (revision "1"))
17954 (package
17955 (name "sbcl-trial")
17956 (version (git-version "1.2.0" revision commit))
17957 (source
17958 (origin
17959 (method git-fetch)
17960 (uri (git-reference
17961 (url "https://github.com/Shirakumo/trial")
17962 (commit commit)))
17963 (file-name (git-file-name "trial" version))
17964 (sha256
17965 (base32 "1vpv9nrpq93fz1c5cyi1hazaaz9ijbrf1l7zwp7gammndr5v028r"))))
17966 (build-system asdf-build-system/sbcl)
17967 (native-inputs
17968 `(("trivial-features" ,sbcl-trivial-features)))
17969 (inputs
17970 `(("alexandria" ,sbcl-alexandria)
17971 ("3d-matrices" ,sbcl-3d-matrices)
17972 ("3d-vectors" ,sbcl-3d-vectors)
17973 ("bordeaux-threads" ,sbcl-bordeaux-threads)
17974 ("cl-gamepad" ,sbcl-cl-gamepad)
17975 ("cl-jpeg" ,sbcl-cl-jpeg)
17976 ("cl-opengl" ,sbcl-cl-opengl)
17977 ("cl-ppcre" ,sbcl-cl-ppcre)
17978 ("cl-tga" ,sbcl-cl-tga)
17979 ("closer-mop" ,sbcl-closer-mop)
17980 ("deploy" ,sbcl-deploy)
17981 ("fast-io" ,sbcl-fast-io)
17982 ("flare" ,sbcl-flare)
17983 ("float-features" ,sbcl-float-features)
17984 ("flow" ,sbcl-flow)
17985 ("for" ,sbcl-for)
17986 ("form-fiddle" ,sbcl-form-fiddle)
17987 ("glsl-toolkit" ,sbcl-glsl-toolkit)
17988 ("ieee-floats" ,sbcl-ieee-floats)
17989 ("jsown" ,sbcl-jsown)
17990 ("lambda-fiddle" ,sbcl-lambda-fiddle)
17991 ("lquery" ,sbcl-lquery)
17992 ("messagebox" ,sbcl-messagebox)
17993 ("mmap" ,sbcl-mmap)
17994 ("pathname-utils" ,sbcl-pathname-utils)
17995 ("pngload" ,sbcl-pngload)
17996 ("retrospectiff" ,sbcl-retrospectiff)
17997 ("static-vectors" ,sbcl-static-vectors)
17998 ("terrable" ,sbcl-terrable)
17999 ("trivial-garbage" ,sbcl-trivial-garbage)
18000 ("trivial-indent" ,sbcl-trivial-indent)
18001 ("verbose" ,sbcl-verbose)
18002 ("zpng" ,sbcl-zpng)))
18003 (home-page "https://github.com/Shirakumo/trial")
18004 (synopsis "Common Lisp game engine")
18005 (description
18006 "Trial is a game engine written in Common Lisp. Unlike many other
18007engines, it is meant to be more of a loose connection of components that can be
18008fit together as required by any particular game.")
18009 (license license:zlib))))
18010
18011(define-public ecl-trial
18012 (sbcl-package->ecl-package sbcl-trial))
18013
18014(define-public cl-trial
18015 (sbcl-package->cl-source-package sbcl-trial))
e101a117
SH
18016
18017(define-public sbcl-org-sampler
18018 (let ((commit "ee135a417750e5b1d810bb9574eb85223cb3038a")
18019 (revision "1"))
18020 (package
18021 (name "sbcl-org-sampler")
18022 (version (git-version "0.2.1" revision commit))
18023 (source
18024 (origin
18025 (method git-fetch)
18026 (uri (git-reference
18027 (url "https://github.com/jphmrst/cl-org-sampler")
18028 (commit commit)))
18029 (file-name (git-file-name "cl-org-sampler" version))
18030 (sha256
18031 (base32 "1dg029in14928qfxvfshyxmdwhzskzhxx3na0zy98ybx69b21qla"))))
18032 (build-system asdf-build-system/sbcl)
18033 (inputs
18034 `(("iterate" ,sbcl-iterate)))
18035 (home-page "https://github.com/jphmrst/cl-org-sampler")
18036 (synopsis "Extracting Common Lisp docstrings as Emacs Org-mode documents")
18037 (description
18038 "ORG-SAMPLER allows using Lisp docstrings and reflection to make org-mode
18039text for inclusion into a larger document.")
18040 (license license:llgpl))))
18041
18042(define-public ecl-org-sampler
18043 (sbcl-package->ecl-package sbcl-org-sampler))
18044
18045(define-public cl-org-sampler
18046 (sbcl-package->cl-source-package sbcl-org-sampler))
a3fff666
PN
18047
18048(define-public sbcl-acl-compat
18049 ;; There does not seem to be proper releases.
18050 (let ((commit "cac1d6920998ddcbee8310a873414732e707d8e5"))
18051 (package
18052 (name "sbcl-acl-compat")
18053 (version (git-version "0.1.1" "1" commit))
18054 (source
18055 (origin
18056 (method git-fetch)
18057 (uri (git-reference
18058 (url "git://git.code.sf.net/p/portableaserve/git")
18059 (commit commit)))
18060 (file-name (git-file-name "acl-compat" version))
18061 (sha256
18062 (base32 "0ak6mqp84sjr0a7h5svr16vra4bf4fcx6wpir0n88dc1vjwy5xqa"))))
18063 (build-system asdf-build-system/sbcl)
18064 (arguments
18065 `(#:phases
18066 (modify-phases %standard-phases
18067 (add-after 'unpack 'cd-acl-compat
18068 (lambda _
18069 (chdir "acl-compat")
18070 #t)))))
18071 (inputs
18072 `(("puri" ,sbcl-puri)
18073 ("cl-ppcre" ,sbcl-cl-ppcre)
18074 ("ironclad" ,sbcl-ironclad)
18075 ("cl-fad" ,sbcl-cl-fad)))
18076 (home-page "https://sourceforge.net/projects/portableaserve/")
18077 (synopsis "AllegroServe, a web server written in Common Lisp")
18078 (description
18079 "The server part of AllegroServe can be used either as a standalone web
18080server or a module loaded into an application to provide a user interface to
18081the application. AllegroServe's proxy ability allows it to run on the gateway
18082machine between some internal network and the Internet. AllegroServe's client
18083functions allow Lisp programs to explore the web.")
18084 (license license:llgpl))))
18085
18086(define-public cl-acl-compat
18087 (sbcl-package->cl-source-package sbcl-acl-compat))
4ab04502
PN
18088
18089(define-public sbcl-aserve
18090 ;; There does not seem to be proper releases.
18091 (let ((commit "cac1d6920998ddcbee8310a873414732e707d8e5"))
18092 (package
18093 (name "sbcl-aserve")
18094 (version (git-version "1.2.50" "1" commit))
18095 (source
18096 (origin
18097 (method git-fetch)
18098 (uri (git-reference
18099 ;; https://github.com/franzinc/aserve/ seems to be incompatible
18100 ;; with SBCL, etc.
18101 (url "git://git.code.sf.net/p/portableaserve/git")
18102 (commit commit)))
18103 (file-name (git-file-name "aserve" version))
18104 (sha256
18105 (base32 "0ak6mqp84sjr0a7h5svr16vra4bf4fcx6wpir0n88dc1vjwy5xqa"))))
18106 (build-system asdf-build-system/sbcl)
18107 (arguments
18108 `(#:phases
18109 (modify-phases %standard-phases
18110 (add-after 'unpack 'cd-aserve
18111 (lambda _
18112 (chdir "aserve")
18113 #t))
18114 (add-after 'cd-aserve 'fix-asd
18115 (lambda _
18116 (substitute* "aserve.asd"
18117 ((" :force t") ""))
18118 #t))
18119 (add-after 'cd-aserve 'fix-tests
18120 (lambda _
18121 (substitute* "test/t-aserve.cl"
18122 (("\\(asdf:oos 'asdf:load-op :ptester\\)") ""))
18123 #t)))))
18124 (inputs
18125 `(("acl-compat" ,sbcl-acl-compat)))
18126 (home-page "https://franz.com/support/documentation/current/doc/aserve/aserve.html")
18127 (synopsis "AllegroServe, a web server written in Common Lisp")
18128 (description
18129 "The server part of AllegroServe can be used either as a standalone web
18130server or a module loaded into an application to provide a user interface to
18131the application. AllegroServe's proxy ability allows it to run on the gateway
18132machine between some internal network and the Internet. AllegroServe's client
18133functions allow Lisp programs to explore the web.")
18134 (license license:llgpl))))
18135
18136(define-public cl-aserve
18137 (sbcl-package->cl-source-package sbcl-aserve))
e4305e45
PN
18138
18139(define-public sbcl-rss
18140 ;; No release.
88c7c739 18141 (let ((commit "51d0145e91b86327ae5c36364f9c3048052e7a58"))
e4305e45
PN
18142 (package
18143 (name "sbcl-rss")
88c7c739 18144 (version (git-version "0.9.1.1" "2" commit))
e4305e45
PN
18145 (source
18146 (origin
18147 (method git-fetch)
18148 (uri (git-reference
88c7c739 18149 (url "http://git.kpe.io/cl-rss.git")
e4305e45
PN
18150 (commit commit)))
18151 (file-name (git-file-name name version))
18152 (sha256
88c7c739 18153 (base32 "0wv3j13fj73gigriw5r9vi920hz05ld7zllsvbxdxvmyfy9k1kly"))))
e4305e45 18154 (build-system asdf-build-system/sbcl)
e4305e45
PN
18155 (inputs
18156 `(("aserve" ,sbcl-aserve)
18157 ("kmrcl" ,sbcl-kmrcl)
18158 ("xmls" ,sbcl-xmls)))
18159 (home-page "https://github.com/nsrahmad/cl-rss")
18160 (synopsis "Common Lisp RSS processor")
18161 (description
18162 "This package provides a Common Lisp library for fetching and parsing
18163RSS feeds data via HTTP. Currently, it supports RSS versions 0.90,
181640.91, and 0.92 as well as RSS version 2.")
18165 (license license:bsd-3))))
18166
18167(define-public cl-rss
18168 (sbcl-package->cl-source-package sbcl-rss))
70387700
C
18169
18170(define-public sbcl-trivial-with-current-source-form
18171 (let ((commit "9e343e043a77a5478c1f77bb626db22335fbbfb8")
18172 (revision "1"))
18173 (package
18174 (name "sbcl-trivial-with-current-source-form")
18175 (version (git-version "0.1.0" revision commit))
18176 (source
18177 (origin
18178 (method git-fetch)
18179 (uri (git-reference
18180 (url
18181 "https://github.com/scymtym/trivial-with-current-source-form")
18182 (commit commit)))
18183 (file-name (git-file-name "trivial-with-current-source-form" version))
18184 (sha256
18185 (base32 "15zs7mc422ycp1cvcxmirif1dq15mlmv8vzd6l6nzn4qgmph9wz0"))))
18186 (build-system asdf-build-system/sbcl)
18187 (inputs
18188 `(("alexandria" ,sbcl-alexandria)))
18189 (home-page "https://github.com/scymtym/trivial-with-current-source-form")
18190 (synopsis "Help producing better errors for macro users")
18191 (description
18192 "This library allows macro writers to provide better feedback to macro
18193users when errors are signaled during macroexpansion. It uses the compiler's
18194concept of a source-form to report where the error or warning is located.")
18195 (license license:lgpl3))))
18196
18197(define-public ecl-trivial-with-current-source-form
18198 ;; Trivial-with-current-source-form does not give any benefits on ECL.
18199 ;; This package is so packages dependent on trivial-with-current-source-form
18200 ;; can be loaded on ECL.
18201 (sbcl-package->ecl-package sbcl-trivial-with-current-source-form))
18202
18203(define-public cl-trivial-with-current-source-form
18204 (sbcl-package->cl-source-package sbcl-trivial-with-current-source-form))
3c3c1a9e
C
18205
18206(define-public sbcl-tailrec
18207 (let ((commit "a7cf91ef7bd73c118e96817e809a7ae587d4673f")
18208 (revision "1"))
18209 (package
18210 (name "sbcl-tailrec")
18211 (version (git-version "0" revision commit))
18212 (source
18213 (origin
18214 (method git-fetch)
18215 (uri (git-reference
18216 (url "https://github.com/charje/tailrec")
18217 (commit commit)))
18218 (file-name (git-file-name name version))
18219 (sha256
18220 (base32 "0a25xa2kqai480micv8ap5bg4pz1dg7q3lz61g1ygim96cdjpwhl"))))
18221 (build-system asdf-build-system/sbcl)
18222 (inputs
18223 `(("alexandia" ,sbcl-alexandria)
18224 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)
18225 ("trivial-with-current-source-form"
18226 ,sbcl-trivial-with-current-source-form)))
18227 (home-page "https://github.com/charje/tailrec")
18228 (synopsis "Macro to optimize a Common Lisp function for tail recursion")
18229 (description "Just wrap your Common Lisp function in this macro call and
18230it will be optimized for tail recursion. You will be warned if the function
18231is not tail recursive.")
18232 (license license:llgpl))))
18233
18234(define-public ecl-tailrec
18235 (sbcl-package->ecl-package sbcl-tailrec))
18236
18237(define-public cl-tailrec
18238 (sbcl-package->cl-source-package sbcl-tailrec))
3f0a0033
C
18239
18240(define-public sbcl-issr-core
18241 (let ((commit "64e3b07a63a7ca3ad70ba42474f98ac4513580aa")
18242 (revision "1"))
18243 (package
18244 (name "sbcl-issr-core")
18245 (version (git-version "0.1" revision commit))
18246 (source
18247 (origin
18248 (method git-fetch)
18249 (uri (git-reference
18250 (url "https://github.com/interactive-ssr/core")
18251 (commit commit)))
18252 (file-name (git-file-name "issr-core" version))
18253 (sha256
18254 (base32 "1bajb09crzadkirdpd6jrpcc55irjd4sxzavygr25l85pafyhniw"))))
18255 (build-system asdf-build-system/sbcl)
18256 (inputs
18257 `(("cl-str" ,sbcl-cl-str)
18258 ("global-vars" ,sbcl-global-vars)
18259 ("plump" ,sbcl-plump)
18260 ("tailrec" ,sbcl-tailrec)))
18261 (home-page
18262 "https://github.com/interactive-ssr/client/blob/master/main.org")
18263 (synopsis "The core functionality for ISSR server modules")
18264 (description
18265 "ISSR core provides functions and variables for ISSR server modules so
18266that different servers can behave similarly. The most important features are
18267Document Object Model differencing to generate instructions to update a DOM,
18268and DOM cleaning, to ensure that all remote DOMs are the same.")
18269 (license license:llgpl))))
18270
18271(define-public ecl-issr-core
18272 (sbcl-package->ecl-package sbcl-issr-core))
18273
18274(define-public cl-issr-core
18275 (sbcl-package->cl-source-package sbcl-issr-core))
16418a97
C
18276
18277(define-public sbcl-portal
18278 (let ((commit "cc7ba6a54cea6ef63b17dcc6e653d91d9907f59e")
18279 (revision "1"))
18280 (package
18281 (name "sbcl-portal")
18282 (version (git-version "1" revision commit))
18283 (source
18284 (origin
18285 (method git-fetch)
18286 (uri (git-reference
18287 (url "https://github.com/charJe/portal")
18288 (commit commit)))
18289 (file-name (git-file-name "portal" version))
18290 (sha256
18291 (base32 "0fc81iwb4lpp8d2scdwafkixxwkfmq4gqns522zyb4bh6c1rfmwy"))))
18292 (build-system asdf-build-system/sbcl)
18293 (inputs
18294 `(("alexandria" ,sbcl-alexandria)
18295 ("arrows" ,sbcl-arrows)
18296 ("cl-base64" ,sbcl-cl-base64)
18297 ("cl-str" ,sbcl-cl-str)
18298 ("flexi-streams" ,sbcl-flexi-streams)
18299 ("global-vars" ,sbcl-global-vars)
18300 ("ironclad" ,sbcl-ironclad)
18301 ("parse-float" ,sbcl-parse-float)
18302 ("usocket" ,sbcl-usocket)))
18303 (home-page "https://github.com/charJe/portal")
18304 (synopsis "Portable Websocket Server for Common Lisp")
18305 (description
18306 "This is a websocket server for Common Lisp using usockets to be
18307portable between implementations and operating systems. It has a programming
18308interface that allows for multiple websocket apps per server using Common Lisp
18309keywords for different websocket events. It has useful restarts and
18310customizable errors.")
18311 (license license:llgpl))))
18312
18313(define-public ecl-portal
18314 (sbcl-package->ecl-package sbcl-portal))
18315
18316(define-public cl-portal
18317 (sbcl-package->cl-source-package sbcl-portal))
a140ecee
C
18318
18319(define-public sbcl-hunchenissr
18320 (let ((commit "7df702f2e110999a2f31c7ebad81bfc39ac06670")
18321 (revision "1"))
18322 (package
18323 (name "sbcl-hunchenissr")
18324 (version (git-version "1" revision commit))
18325 (source
18326 (origin
18327 (method git-fetch)
18328 (uri (git-reference
18329 (url "https://github.com/interactive-ssr/hunchenissr")
18330 (commit commit)))
18331 (file-name (git-file-name "hunchenissr" version))
18332 (sha256
18333 (base32 "0826qrvk64pjspdklns29dv3zhzfhd6k42fq030xajv8a7hkcxda"))))
18334 (build-system asdf-build-system/sbcl)
18335 (inputs
18336 `(("cl-base64" ,sbcl-cl-base64)
18337 ("cl-str" ,sbcl-cl-str)
18338 ("hunchentoot" ,sbcl-hunchentoot)
18339 ("issr-core" ,sbcl-issr-core)
18340 ("jonathan" ,sbcl-jonathan)
18341 ("plump" ,sbcl-plump)
18342 ("portal" ,sbcl-portal)))
18343 (home-page "https://github.com/interactive-ssr/hunchenissr")
18344 (synopsis "Interactive Server Side Rendering backend for Hunchentoot")
18345 (description
18346 "Hunchenissr works together with issr.js for the develpment of
18347interactive (changing without page refreshes) websites making use of websocket
18348and Common Lisp server HTML generation instead of mountains of convoluted
18349Javascript.")
18350 (license license:llgpl))))
18351
18352(define-public ecl-hunchenissr
18353 (sbcl-package->ecl-package sbcl-hunchenissr))
18354
18355(define-public cl-hunchenissr
18356 (sbcl-package->cl-source-package sbcl-hunchenissr))
18357