gnu: Add cl-vas-string-metrics.
[jackhill/guix/guix.git] / gnu / packages / lisp-xyz.scm
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>
6 ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
7 ;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca>
8 ;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
9 ;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
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>
13 ;;; Copyright © 2018, 2020, 2021 Pierre Neidhardt <mail@ambrevar.xyz>
14 ;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
15 ;;; Copyright © 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
16 ;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com>
17 ;;; Copyright © 2019, 2020, 2021 Guillaume Le Vaillant <glv@posteo.net>
18 ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
19 ;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
20 ;;; Copyright © 2020 Dimakis Dimakakos <me@bendersteed.tech>
21 ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
22 ;;; Copyright © 2020, 2021 Adam Kandur <rndd@tuta.io>
23 ;;; Copyright © 2020, 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
24 ;;; Copyright © 2021 Aurora <rind38@disroot.org>
25 ;;; Copyright © 2021 Matthew Kraai <kraai@ftbfs.org>
26 ;;;
27 ;;; This file is part of GNU Guix.
28 ;;;
29 ;;; GNU Guix is free software; you can redistribute it and/or modify it
30 ;;; under the terms of the GNU General Public License as published by
31 ;;; the Free Software Foundation; either version 3 of the License, or (at
32 ;;; your option) any later version.
33 ;;;
34 ;;; GNU Guix is distributed in the hope that it will be useful, but
35 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
36 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
37 ;;; GNU General Public License for more details.
38 ;;;
39 ;;; You should have received a copy of the GNU General Public License
40 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
41
42 ;;; This file only contains Common Lisp libraries.
43 ;;; Common Lisp compilers and tooling go to lisp.scm.
44 ;;; Common Lisp applications should go to the most appropriate file,
45 ;;; e.g. StumpWM is in wm.scm.
46
47 (define-module (gnu packages lisp-xyz)
48 #:use-module (gnu packages)
49 #:use-module ((guix licenses) #:prefix license:)
50 #:use-module (guix packages)
51 #:use-module (guix download)
52 #:use-module (guix git-download)
53 #:use-module (guix hg-download)
54 #:use-module (guix utils)
55 #:use-module (guix build-system asdf)
56 #:use-module (guix build-system trivial)
57 #:use-module (gnu packages base)
58 #:use-module (gnu packages c)
59 #:use-module (gnu packages compression)
60 #:use-module (gnu packages databases)
61 #:use-module (gnu packages enchant)
62 #:use-module (gnu packages file)
63 #:use-module (gnu packages fonts)
64 #:use-module (gnu packages fontutils)
65 #:use-module (gnu packages glib)
66 #:use-module (gnu packages gtk)
67 #:use-module (gnu packages imagemagick)
68 #:use-module (gnu packages libevent)
69 #:use-module (gnu packages libffi)
70 #:use-module (gnu packages lisp)
71 #:use-module (gnu packages maths)
72 #:use-module (gnu packages mp3)
73 #:use-module (gnu packages networking)
74 #:use-module (gnu packages pkg-config)
75 #:use-module (gnu packages python)
76 #:use-module (gnu packages python-xyz)
77 #:use-module (gnu packages sqlite)
78 #:use-module (gnu packages tcl)
79 #:use-module (gnu packages tls)
80 #:use-module (gnu packages web)
81 #:use-module (gnu packages webkit)
82 #:use-module (gnu packages xdisorg)
83 #:use-module (ice-9 match)
84 #:use-module (srfi srfi-1)
85 #:use-module (srfi srfi-19))
86
87 (define-public sbcl-alexandria
88 (package
89 (name "sbcl-alexandria")
90 (version "1.2")
91 (source
92 (origin
93 (method git-fetch)
94 (uri (git-reference
95 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
96 (commit (string-append "v" version))))
97 (sha256
98 (base32
99 "0bcqs0z9xlqgjz43qzgq9i07vdlnjllpm1wwa37wpkg0w975r712"))
100 (file-name (git-file-name name version))))
101 (build-system asdf-build-system/sbcl)
102 (native-inputs
103 `(("rt" ,sbcl-rt)))
104 (synopsis "Collection of portable utilities for Common Lisp")
105 (description
106 "Alexandria is a collection of portable utilities. It does not contain
107 conceptual extensions to Common Lisp. It is conservative in scope, and
108 portable between implementations.")
109 (home-page "https://common-lisp.net/project/alexandria/")
110 (license license:public-domain)))
111
112 (define-public cl-alexandria
113 (sbcl-package->cl-source-package sbcl-alexandria))
114
115 (define-public ecl-alexandria
116 (sbcl-package->ecl-package sbcl-alexandria))
117
118 (define-public sbcl-golden-utils
119 (let ((commit "9424419d867d5c2f819196ee41667a818a5058e7")
120 (revision "1"))
121 (package
122 (name "sbcl-golden-utils")
123 (version (git-version "0.0.0" revision commit))
124 (source
125 (origin
126 (method git-fetch)
127 (uri (git-reference
128 (url "https://git.mfiano.net/mfiano/golden-utils")
129 (commit commit)))
130 (file-name (git-file-name name version))
131 (sha256
132 (base32 "15x0phm6820yj3h37ibi06gjyh6z45sd2nz2n8lcbfflwm086q0h"))))
133 (build-system asdf-build-system/sbcl)
134 (inputs
135 `(("alexandria" ,sbcl-alexandria)))
136 (home-page "https://git.mfiano.net/mfiano/golden-utils")
137 (synopsis "Common Lisp utility library")
138 (description
139 "This is a Common Lisp library providing various utilities.")
140 (license license:expat))))
141
142 (define-public ecl-golden-utils
143 (sbcl-package->ecl-package sbcl-golden-utils))
144
145 (define-public cl-golden-utils
146 (sbcl-package->cl-source-package sbcl-golden-utils))
147
148 (define-public sbcl-asdf-finalizers
149 (let ((commit "7f537f6c598b662ae987c6acc268dd27c25977e0")
150 (revision "1"))
151 (package
152 (name "sbcl-asdf-finalizers")
153 (version (git-version "0.0.0" revision commit))
154 (source
155 (origin
156 (method git-fetch)
157 (uri (git-reference
158 (url "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
159 (commit commit)))
160 (file-name (git-file-name name version))
161 (sha256
162 (base32 "1w56c9yjjydjshsgqxz57qlp2v3r4ilbisnsgiqphvxnhvd41y0v"))))
163 (build-system asdf-build-system/sbcl)
164 (native-inputs
165 `(("fare-utils" ,sbcl-fare-utils)
166 ("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
167 (arguments
168 `(#:asd-files '("asdf-finalizers.asd"
169 "list-of.asd"
170 "asdf-finalizers-test.asd")
171 #:asd-systems '("asdf-finalizers"
172 "list-of")))
173 (home-page "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
174 (synopsis "Enforced calling of finalizers for Lisp code")
175 (description "This library allows you to implement and enforce proper
176 finalization of compile-time constructs while building Lisp source files.
177
178 It produces two systems: asdf-finalizers and list-of.")
179 (license license:expat))))
180
181 (define-public ecl-asdf-finalizers
182 (sbcl-package->ecl-package sbcl-asdf-finalizers))
183
184 (define-public cl-asdf-finalizers
185 (sbcl-package->cl-source-package sbcl-asdf-finalizers))
186
187 (define-public sbcl-net.didierverna.asdf-flv
188 (package
189 (name "sbcl-net.didierverna.asdf-flv")
190 (version "2.1")
191 (source
192 (origin
193 (method git-fetch)
194 (uri (git-reference
195 (url "https://github.com/didierverna/asdf-flv")
196 (commit (string-append "version-" version))))
197 (file-name (git-file-name "asdf-flv" version))
198 (sha256
199 (base32 "1fi2y4baxan103jbg4idjddzihy03kwnj2mzbwrknw4d4x7xlgwj"))))
200 (build-system asdf-build-system/sbcl)
201 (synopsis "Common Lisp ASDF extension to provide support for file-local variables")
202 (description "ASDF-FLV provides support for file-local variables through
203 ASDF. A file-local variable behaves like @code{*PACKAGE*} and
204 @code{*READTABLE*} with respect to @code{LOAD} and @code{COMPILE-FILE}: a new
205 dynamic binding is created before processing the file, so that any
206 modification to the variable becomes essentially file-local.
207
208 In order to make one or several variables file-local, use the macros
209 @code{SET-FILE-LOCAL-VARIABLE(S)}.")
210 (home-page "https://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv")
211 (license (license:non-copyleft
212 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
213 "GNU All-Permissive License"))))
214
215 (define-public cl-net.didierverna.asdf-flv
216 (sbcl-package->cl-source-package sbcl-net.didierverna.asdf-flv))
217
218 (define-public ecl-net.didierverna.asdf-flv
219 (sbcl-package->ecl-package sbcl-net.didierverna.asdf-flv))
220
221 (define-public sbcl-command-line-arguments
222 (let ((commit "fbac862fb01c0e368141204f3f639920462c23fe")
223 (revision "1"))
224 (package
225 (name "sbcl-command-line-arguments")
226 (version (git-version "2.0.0" revision commit))
227 (source
228 (origin
229 (method git-fetch)
230 (uri (git-reference
231 (url "https://github.com/fare/command-line-arguments")
232 (commit commit)))
233 (file-name (git-file-name name version))
234 (sha256
235 (base32 "054m1ikndzqf72mb9ajaa64136cwr3bgag4yfbi1574a9vq75mjq"))))
236 (build-system asdf-build-system/sbcl)
237 (home-page "https://github.com/fare/command-line-arguments")
238 (synopsis "Trivial command-line argument parsing library for Common Lisp")
239 (description "This is a library to abstract away the parsing of
240 Unix-style command-line arguments. Use it in conjunction with asdf:program-op
241 or cl-launch for portable processing of command-line arguments.")
242 (license license:expat))))
243
244 (define-public ecl-command-line-arguments
245 (sbcl-package->ecl-package sbcl-command-line-arguments))
246
247 (define-public cl-command-line-arguments
248 (sbcl-package->cl-source-package sbcl-command-line-arguments))
249
250 (define-public sbcl-fiveam
251 (package
252 (name "sbcl-fiveam")
253 (version "1.4.1")
254 (source
255 (origin
256 (method git-fetch)
257 (uri (git-reference
258 (url "https://github.com/sionescu/fiveam")
259 (commit (string-append "v" version))))
260 (file-name (git-file-name "fiveam" version))
261 (sha256
262 (base32 "1q3d38pwafnwnw42clq0f8g5xw7pbzr287jl9jsqmb1vb0n1vrli"))))
263 (inputs
264 `(("alexandria" ,sbcl-alexandria)
265 ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
266 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
267 (build-system asdf-build-system/sbcl)
268 (synopsis "Common Lisp testing framework")
269 (description "FiveAM is a simple (as far as writing and running tests
270 goes) regression testing framework. It has been designed with Common Lisp's
271 interactive development model in mind.")
272 (home-page "https://common-lisp.net/project/fiveam/")
273 (license license:bsd-3)))
274
275 (define-public cl-fiveam
276 (sbcl-package->cl-source-package sbcl-fiveam))
277
278 (define-public ecl-fiveam
279 (sbcl-package->ecl-package sbcl-fiveam))
280
281 (define-public sbcl-trivial-timeout
282 (let ((commit "feb869357f40f5e109570fb40abad215fb370c6c")
283 (revision "1"))
284 (package
285 (name "sbcl-trivial-timeout")
286 (version (git-version "0.1.5" revision commit))
287 (source
288 (origin
289 (method git-fetch)
290 (uri (git-reference
291 (url "https://github.com/gwkkwg/trivial-timeout/")
292 (commit commit)))
293 (file-name (git-file-name "trivial-timeout" version))
294 (sha256
295 (base32 "1kninxwvvih9nhh7a9y8lfgi7pdr76675y1clw4ss17vz8fbim5p"))))
296 (build-system asdf-build-system/sbcl)
297 (native-inputs
298 `(("lift" ,sbcl-lift)))
299 (arguments
300 ;; NOTE: (Sharlatan-20210202T231437+0000): Due to the age of this library
301 ;; tests use some deprecated functionality and keep failing.
302 `(#:tests? #f))
303 (home-page "https://github.com/gwkkwg/trivial-timeout/")
304 (synopsis "Timeout library for Common Lisp")
305 (description
306 "This library provides an OS and implementation independent access to
307 timeouts.")
308 (license license:expat))))
309
310 (define-public ecl-trivial-timeout
311 (sbcl-package->ecl-package sbcl-trivial-timeout))
312
313 (define-public cl-trivial-timeout
314 (sbcl-package->cl-source-package sbcl-trivial-timeout))
315
316 (define-public sbcl-bordeaux-threads
317 (package
318 (name "sbcl-bordeaux-threads")
319 (version "0.8.8")
320 (source (origin
321 (method git-fetch)
322 (uri (git-reference
323 (url "https://github.com/sionescu/bordeaux-threads")
324 (commit (string-append "v" version))))
325 (sha256
326 (base32 "19i443fz3488v1pbbr9x24y8h8vlyhny9vj6c9jk5prm702awrp6"))
327 (file-name
328 (git-file-name "bordeaux-threads" version))))
329 (inputs `(("alexandria" ,sbcl-alexandria)))
330 (native-inputs `(("fiveam" ,sbcl-fiveam)))
331 (build-system asdf-build-system/sbcl)
332 (synopsis "Portable shared-state concurrency library for Common Lisp")
333 (description "BORDEAUX-THREADS is a proposed standard for a minimal
334 MP/Threading interface. It is similar to the CLIM-SYS threading and lock
335 support.")
336 (home-page "https://common-lisp.net/project/bordeaux-threads/")
337 (license license:x11)))
338
339 (define-public cl-bordeaux-threads
340 (sbcl-package->cl-source-package sbcl-bordeaux-threads))
341
342 (define-public ecl-bordeaux-threads
343 (sbcl-package->ecl-package sbcl-bordeaux-threads))
344
345 (define-public sbcl-trivial-gray-streams
346 (let ((revision "1")
347 (commit "ebd59b1afed03b9dc8544320f8f432fdf92ab010"))
348 (package
349 (name "sbcl-trivial-gray-streams")
350 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
351 (source
352 (origin
353 (method git-fetch)
354 (uri
355 (git-reference
356 (url "https://github.com/trivial-gray-streams/trivial-gray-streams")
357 (commit commit)))
358 (sha256
359 (base32 "0b1pxlccmnagk9cbh4cy8s5k66g3x0gwib5shjwr24xvrji6lp94"))
360 (file-name
361 (string-append "trivial-gray-streams-" version "-checkout"))))
362 (build-system asdf-build-system/sbcl)
363 (synopsis "Compatibility layer for Gray streams implementations")
364 (description "Gray streams is an interface proposed for inclusion with
365 ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most
366 popular CL implementations implement it. This package provides an extremely
367 thin compatibility layer for gray streams.")
368 (home-page "https://www.cliki.net/trivial-gray-streams")
369 (license license:x11))))
370
371 (define-public cl-trivial-gray-streams
372 (sbcl-package->cl-source-package sbcl-trivial-gray-streams))
373
374 (define-public ecl-trivial-gray-streams
375 (sbcl-package->ecl-package sbcl-trivial-gray-streams))
376
377 (define-public sbcl-fiasco
378 (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
379 (revision "1"))
380 (package
381 (name "sbcl-fiasco")
382 (version (git-version "0.0.1" revision commit))
383 (source
384 (origin
385 (method git-fetch)
386 (uri (git-reference
387 (url "https://github.com/joaotavora/fiasco")
388 (commit commit)))
389 (file-name (git-file-name "fiasco" version))
390 (sha256
391 (base32
392 "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
393 (build-system asdf-build-system/sbcl)
394 (inputs
395 `(("alexandria" ,sbcl-alexandria)
396 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
397 (synopsis "Simple and powerful test framework for Common Lisp")
398 (description "A Common Lisp test framework that treasures your failures,
399 logical continuation of Stefil. It focuses on interactive debugging.")
400 (home-page "https://github.com/joaotavora/fiasco")
401 ;; LICENCE specifies this is public-domain unless the legislation
402 ;; doesn't allow or recognize it. In that case it falls back to a
403 ;; permissive licence.
404 (license (list license:public-domain
405 (license:x11-style "file://LICENCE"))))))
406
407 (define-public cl-fiasco
408 (sbcl-package->cl-source-package sbcl-fiasco))
409
410 (define-public ecl-fiasco
411 (sbcl-package->ecl-package sbcl-fiasco))
412
413 (define-public sbcl-flexi-streams
414 (package
415 (name "sbcl-flexi-streams")
416 (version "1.0.18")
417 (source
418 (origin
419 (method git-fetch)
420 (uri (git-reference
421 (url "https://github.com/edicl/flexi-streams")
422 (commit (string-append "v" version))))
423 (file-name (git-file-name "flexi-streams" version))
424 (sha256
425 (base32 "0bjv7fd2acknidc5dyi3h85pn10krxv5jyxs1xg8jya2rlfv7f1j"))))
426 (build-system asdf-build-system/sbcl)
427 (arguments
428 `(#:phases
429 (modify-phases %standard-phases
430 (add-after 'unpack 'make-git-checkout-writable
431 (lambda _
432 (for-each make-file-writable (find-files "."))
433 #t)))))
434 (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
435 (synopsis "Implementation of virtual bivalent streams for Common Lisp")
436 (description "Flexi-streams is an implementation of \"virtual\" bivalent
437 streams that can be layered atop real binary or bivalent streams and that can
438 be used to read and write character data in various single- or multi-octet
439 encodings which can be changed on the fly. It also supplies in-memory binary
440 streams which are similar to string streams.")
441 (home-page "http://weitz.de/flexi-streams/")
442 (license license:bsd-3)))
443
444 (define-public cl-flexi-streams
445 (sbcl-package->cl-source-package sbcl-flexi-streams))
446
447 (define-public ecl-flexi-streams
448 (sbcl-package->ecl-package sbcl-flexi-streams))
449
450 (define-public sbcl-cl-abnf
451 ;; There are no releases
452 (let ((commit "ba1fbb104dedbdaddb1ef93d2e4da711bd96cd70")
453 (revision "1"))
454 (package
455 (name "sbcl-cl-abnf")
456 (version (git-version "0.0.0" revision commit))
457 (source
458 (origin
459 (method git-fetch)
460 (uri (git-reference
461 (url "https://github.com/dimitri/cl-abnf")
462 (commit commit)))
463 (file-name (git-file-name "cl-abnf" version))
464 (sha256
465 (base32 "0f09nsndxa90acm71zd4qdnp40v705a4sqm04mnv9x76h6dlggmz"))))
466 (build-system asdf-build-system/sbcl)
467 (inputs
468 `(("cl-ppcre" ,sbcl-cl-ppcre)
469 ("esrap" ,sbcl-esrap)))
470 (arguments
471 `(#:asd-systems '("abnf")))
472 (home-page "https://github.com/dimitri/cl-abnf")
473 (synopsis "ABNF parser generator for Common Lisp")
474 (description "This Common Lisp library implements a parser generator for
475 the ABNF grammar format as described in RFC2234. The generated parser is a
476 regular expression scanner provided by the cl-ppcre lib, which means that we
477 can't parse recursive grammar definition. One such definition is the ABNF
478 definition as given by the RFC. Fortunately, as you have this lib, you most
479 probably don't need to generate another parser to handle that particular ABNF
480 grammar.")
481 (license license:expat))))
482
483 (define-public cl-abnf
484 (sbcl-package->cl-source-package sbcl-cl-abnf))
485
486 (define-public ecl-cl-abnf
487 (sbcl-package->ecl-package sbcl-cl-abnf))
488
489 (define-public sbcl-cl-ppcre
490 (package
491 (name "sbcl-cl-ppcre")
492 (version "2.1.1")
493 (source
494 (origin
495 (method git-fetch)
496 (uri (git-reference
497 (url "https://github.com/edicl/cl-ppcre")
498 (commit (string-append "v" version))))
499 (file-name (git-file-name "cl-ppcre" version))
500 (sha256
501 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
502 (build-system asdf-build-system/sbcl)
503 (native-inputs
504 `(("flexi-streams" ,sbcl-flexi-streams)))
505 (arguments
506 `(#:phases
507 (modify-phases %standard-phases
508 (add-after 'unpack 'disable-ppcre-unicode
509 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
510 ;; to work around the circular dependency between edicl/cl-ppcre
511 ;; and edicl/cl-unicode.
512 (lambda _
513 (delete-file "cl-ppcre-unicode.asd")
514 #t)))))
515 (synopsis "Portable regular expression library for Common Lisp")
516 (description "CL-PPCRE is a portable regular expression library for Common
517 Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
518 compatible with ANSI-compliant Common Lisp implementations.")
519 (home-page "http://weitz.de/cl-ppcre/")
520 (license license:bsd-2)))
521
522 (define-public cl-ppcre
523 (sbcl-package->cl-source-package sbcl-cl-ppcre))
524
525 (define-public ecl-cl-ppcre
526 (sbcl-package->ecl-package sbcl-cl-ppcre))
527
528 (define-public sbcl-ubiquitous
529 (let ((commit "35eb7bd9e1b3daee1705f6b41260775180cce8af")
530 (revision "1"))
531 (package
532 (name "sbcl-ubiquitous")
533 (version (git-version "2.0.0" revision commit))
534 (source
535 (origin
536 (method git-fetch)
537 (uri (git-reference
538 (url "https://github.com/Shinmera/ubiquitous")
539 (commit commit)))
540 (file-name (git-file-name "ubiquitous" version))
541 (sha256
542 (base32 "1xlkaqmjcpkiv2xl2s2pvvrv976dlc846wm16s1lj62iy1315i49"))))
543 (build-system asdf-build-system/sbcl)
544 (inputs
545 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
546 (arguments
547 '(#:asd-systems '("ubiquitous"
548 "ubiquitous-concurrent")))
549 (home-page "https://shinmera.github.io/ubiquitous/")
550 (synopsis "Application configuration mechanism for Common Lisp")
551 (description
552 "@code{UBIQUITOUS} is a very easy-to-use library for persistent
553 configuration storage. It automatically takes care of finding a suitable place
554 to save your data, and provides simple functions to access and modify the data
555 within.")
556 (license license:zlib))))
557
558 (define-public ecl-ubiquitous
559 (sbcl-package->ecl-package sbcl-ubiquitous))
560
561 (define-public cl-ubiquitous
562 (sbcl-package->cl-source-package sbcl-ubiquitous))
563
564 (define-public sbcl-uax-15
565 (package
566 (name "sbcl-uax-15")
567 (version "0.1.1")
568 (source
569 (origin
570 (method git-fetch)
571 (uri (git-reference
572 (url "https://github.com/sabracrolleton/uax-15")
573 (commit (string-append "v" version))))
574 (file-name (git-file-name "uax-15" version))
575 (sha256
576 (base32 "0p2ckw7mzxhwa9vbwj2q2dzayz9dl94d9yqd2ynp0pc5v8i0n2fr"))))
577 (build-system asdf-build-system/sbcl)
578 (arguments
579 `(#:asd-systems
580 '("uax-15")))
581 (native-inputs
582 `(("fiveam" ,sbcl-fiveam)))
583 (inputs
584 `(("cl-ppcre" ,sbcl-cl-ppcre)
585 ("split-sequence" ,sbcl-split-sequence)))
586 (home-page "https://github.com/sabracrolleton/uax-15")
587 (synopsis "Common Lisp implementation of unicode normalization functions")
588 (description
589 "This package provides supports for unicode normalization, RFC8264 and
590 RFC7564.")
591 (license license:expat)))
592
593 (define-public cl-uax-15
594 (sbcl-package->cl-source-package sbcl-uax-15))
595
596 (define-public ecl-uax-15
597 (sbcl-package->ecl-package sbcl-uax-15))
598
599 (define-public sbcl-cl-unicode
600 (package
601 (name "sbcl-cl-unicode")
602 (version "0.1.6")
603 (source (origin
604 (method git-fetch)
605 (uri (git-reference
606 (url "https://github.com/edicl/cl-unicode")
607 (commit (string-append "v" version))))
608 (file-name (git-file-name name version))
609 (sha256
610 (base32
611 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
612 (build-system asdf-build-system/sbcl)
613 (native-inputs
614 `(("flexi-streams" ,sbcl-flexi-streams)))
615 (inputs
616 `(("cl-ppcre" ,sbcl-cl-ppcre)))
617 (home-page "http://weitz.de/cl-unicode/")
618 (synopsis "Portable Unicode library for Common Lisp")
619 (description "CL-UNICODE is a portable Unicode library Common Lisp, which
620 is compatible with perl. It is pretty fast, thread-safe, and compatible with
621 ANSI-compliant Common Lisp implementations.")
622 (license license:bsd-2)))
623
624 (define-public ecl-cl-unicode
625 (sbcl-package->ecl-package sbcl-cl-unicode))
626
627 (define-public cl-unicode
628 (sbcl-package->cl-source-package sbcl-cl-unicode))
629
630 (define-public sbcl-cl-ppcre-unicode
631 (package (inherit sbcl-cl-ppcre)
632 (name "sbcl-cl-ppcre-unicode")
633 (inputs
634 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
635 ("sbcl-cl-unicode" ,sbcl-cl-unicode)))
636 (arguments
637 `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found"
638 #:phases
639 (modify-phases %standard-phases
640 (add-after 'unpack 'disable-ppcre
641 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
642 ;; to work around the circular dependency between edicl/cl-ppcre
643 ;; and edicl/cl-unicode.
644 (lambda _
645 (delete-file "cl-ppcre.asd")
646 #t)))))))
647
648 (define-public cl-ppcre-unicode
649 (sbcl-package->cl-source-package sbcl-cl-ppcre-unicode))
650
651 (define-public ecl-cl-ppcre-unicode
652 (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
653
654 (define-public sbcl-zpb-ttf
655 (package
656 (name "sbcl-zpb-ttf")
657 (version "1.0.3")
658 (source
659 (origin
660 (method git-fetch)
661 (uri (git-reference
662 (url "https://github.com/xach/zpb-ttf")
663 (commit (string-append "release-" version))))
664 (file-name (git-file-name name version))
665 (sha256
666 (base32
667 "1wh66vjijzqlydnrihynpwp6796917xwrh0i9li93c17kyxa74ih"))))
668 (build-system asdf-build-system/sbcl)
669 (home-page "https://github.com/xach/zpb-ttf")
670 (synopsis "TrueType font file access for Common Lisp")
671 (description
672 "ZPB-TTF is a TrueType font file parser that provides an interface for
673 reading typographic metrics, glyph outlines, and other information from the
674 file.")
675 (license license:bsd-2)))
676
677 (define-public ecl-zpb-ttf
678 (sbcl-package->ecl-package sbcl-zpb-ttf))
679
680 (define-public cl-zpb-ttf
681 (sbcl-package->cl-source-package sbcl-zpb-ttf))
682
683 (define-public sbcl-cl-vectors
684 (package
685 (name "sbcl-cl-vectors")
686 (version "0.1.5")
687 (source
688 (origin
689 (method url-fetch)
690 (uri (string-append "http://projects.tuxee.net/cl-vectors/"
691 "files/cl-vectors-" version ".tar.gz"))
692 (sha256
693 (base32
694 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh"))))
695 (build-system asdf-build-system/sbcl)
696 (inputs
697 `(("zpb-ttf" ,sbcl-zpb-ttf)))
698 (arguments
699 '(#:asd-systems '("cl-vectors"
700 "cl-paths-ttf")))
701 (home-page "http://projects.tuxee.net/cl-vectors/")
702 (synopsis "Create, transform and render anti-aliased vectorial paths")
703 (description
704 "This is a pure Common Lisp library to create, transform and render
705 anti-aliased vectorial paths.")
706 (license license:expat)))
707
708 (define-public ecl-cl-vectors
709 (sbcl-package->ecl-package sbcl-cl-vectors))
710
711 (define-public cl-vectors
712 (sbcl-package->cl-source-package sbcl-cl-vectors))
713
714 (define-public sbcl-spatial-trees
715 ;; There have been no releases.
716 (let ((commit "81fdad0a0bf109c80a53cc96eca2e093823400ba")
717 (revision "1"))
718 (package
719 (name "sbcl-spatial-trees")
720 (version (git-version "0" revision commit))
721 (source
722 (origin
723 (method git-fetch)
724 (uri (git-reference
725 (url "https://github.com/rpav/spatial-trees")
726 (commit commit)))
727 (file-name (git-file-name name version))
728 (sha256
729 (base32
730 "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"))))
731 (build-system asdf-build-system/sbcl)
732 (arguments
733 '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns
734 #:test-asd-file "spatial-trees.test.asd"))
735 (native-inputs
736 `(("fiveam" ,sbcl-fiveam)))
737 (home-page "https://github.com/rpav/spatial-trees")
738 (synopsis "Dynamic index data structures for spatially-extended data")
739 (description
740 "Spatial-trees is a set of dynamic index data structures for
741 spatially-extended data.")
742 (license license:bsd-3))))
743
744 (define-public ecl-spatial-trees
745 (sbcl-package->ecl-package sbcl-spatial-trees))
746
747 (define-public cl-spatial-trees
748 (sbcl-package->cl-source-package sbcl-spatial-trees))
749
750 (define-public sbcl-flexichain
751 ;; There are no releases.
752 (let ((commit "13d2a6c505ed0abfcd4c4ec7d7145059b06855d6")
753 (revision "1"))
754 (package
755 (name "sbcl-flexichain")
756 (version "1.5.1")
757 (source
758 (origin
759 (method git-fetch)
760 (uri (git-reference
761 (url "https://github.com/robert-strandh/Flexichain")
762 (commit commit)))
763 (file-name (git-file-name name version))
764 (sha256
765 (base32
766 "0pfyvhsfbjd2sjb30grfs52r51a428xglv7bwydvpg2lc117qimg"))))
767 (build-system asdf-build-system/sbcl)
768 (home-page "https://github.com/robert-strandh/Flexichain.git")
769 (synopsis "Dynamically add elements to or remove them from sequences")
770 (description
771 "This package provides an implementation of the flexichain protocol,
772 allowing client code to dynamically add elements to, and delete elements from
773 a sequence (or chain) of such elements.")
774 (license license:lgpl2.1+))))
775
776 (define-public ecl-flexichain
777 (sbcl-package->ecl-package sbcl-flexichain))
778
779 (define-public cl-flexichain
780 (sbcl-package->cl-source-package sbcl-flexichain))
781
782 (define-public sbcl-cl-pdf
783 ;; There are no releases
784 (let ((commit "752e337e6d6fc206f09d091a982e7f8e5c404e4e")
785 (revision "1"))
786 (package
787 (name "sbcl-cl-pdf")
788 (version (git-version "0" revision commit))
789 (source
790 (origin
791 (method git-fetch)
792 (uri (git-reference
793 (url "https://github.com/mbattyani/cl-pdf")
794 (commit commit)))
795 (file-name (git-file-name name version))
796 (sha256
797 (base32
798 "1cg3k3m3r11ipb8j008y8ipynj97l3xjlpi2knqc9ndmx4r3kb1r"))))
799 (build-system asdf-build-system/sbcl)
800 (inputs
801 `(("iterate" ,sbcl-iterate)
802 ("zpb-ttf" ,sbcl-zpb-ttf)))
803 (home-page "https://github.com/mbattyani/cl-pdf")
804 (synopsis "Common Lisp library for generating PDF files")
805 (description
806 "CL-PDF is a cross-platform Common Lisp library for generating PDF
807 files.")
808 (license license:bsd-2))))
809
810 (define-public ecl-cl-pdf
811 (sbcl-package->ecl-package sbcl-cl-pdf))
812
813 (define-public cl-pdf
814 (sbcl-package->cl-source-package sbcl-cl-pdf))
815
816 (define-public sbcl-clx
817 (package
818 (name "sbcl-clx")
819 (version "0.7.5")
820 (source
821 (origin
822 (method git-fetch)
823 (uri
824 (git-reference
825 (url "https://github.com/sharplispers/clx")
826 (commit version)))
827 (sha256
828 (base32
829 "1vi67z9hpj5rr4xcmfbfwzmlcc0ah7hzhrmfid6lqdkva238v2wf"))
830 (file-name (string-append "clx-" version))))
831 (build-system asdf-build-system/sbcl)
832 (native-inputs
833 `(("fiasco" ,sbcl-fiasco)))
834 (home-page "https://www.cliki.net/portable-clx")
835 (synopsis "X11 client library for Common Lisp")
836 (description "CLX is an X11 client library for Common Lisp. The code was
837 originally taken from a CMUCL distribution, was modified somewhat in order to
838 make it compile and run under SBCL, then a selection of patches were added
839 from other CLXes around the net.")
840 (license license:x11)))
841
842 (define-public cl-clx
843 (sbcl-package->cl-source-package sbcl-clx))
844
845 (define-public ecl-clx
846 (sbcl-package->ecl-package sbcl-clx))
847
848 (define-public sbcl-clx-truetype
849 (let ((commit "c6e10a918d46632324d5863a8ed067a83fc26de8")
850 (revision "1"))
851 (package
852 (name "sbcl-clx-truetype")
853 (version (git-version "0.0.1" revision commit))
854 (source
855 (origin
856 (method git-fetch)
857 (uri (git-reference
858 (url "https://github.com/l04m33/clx-truetype")
859 (commit commit)))
860 (file-name (git-file-name name version))
861 (sha256
862 (base32
863 "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37"))
864 (modules '((guix build utils)))
865 (snippet
866 '(begin
867 (substitute* "package.lisp"
868 ((":export") ":export\n :+font-cache-filename+"))
869 #t))))
870 (build-system asdf-build-system/sbcl)
871 (inputs
872 `(("clx" ,sbcl-clx)
873 ("zpb-ttf" ,sbcl-zpb-ttf)
874 ("cl-vectors" ,sbcl-cl-vectors)
875 ("cl-fad" ,sbcl-cl-fad)
876 ("cl-store" ,sbcl-cl-store)
877 ("trivial-features" ,sbcl-trivial-features)))
878 (home-page "https://github.com/l04m33/clx-truetype")
879 (synopsis "Antialiased TrueType font rendering using CLX and XRender")
880 (description "CLX-TrueType is pure common lisp solution for
881 antialiased TrueType font rendering using CLX and XRender extension.")
882 (license license:expat))))
883
884 (define-public cl-clx-truetype
885 (sbcl-package->cl-source-package sbcl-clx-truetype))
886
887 (define-public ecl-clx-truetype
888 (sbcl-package->ecl-package sbcl-clx-truetype))
889
890 (define-public sbcl-slynk
891 (let ((commit "0f46f91a9542599d62c0c332b39636b2941ea372"))
892 (package
893 (name "sbcl-slynk")
894 (version (git-version "1.0.43" "3" commit))
895 (source
896 (origin
897 (method git-fetch)
898 (uri
899 (git-reference
900 (url "https://github.com/joaotavora/sly")
901 (commit commit)))
902 (sha256
903 (base32 "0p3j0zylacy6vms8ngis2hx2351xnwfzsw3zy043q6vmqd14wrf1"))
904 (file-name (git-file-name "slynk" version))))
905 (build-system asdf-build-system/sbcl)
906 (outputs '("out" "image"))
907 (arguments
908 `(#:phases
909 (modify-phases %standard-phases
910 (add-after 'create-asdf-configuration 'build-image
911 (lambda* (#:key outputs #:allow-other-keys)
912 (build-image (string-append
913 (assoc-ref %outputs "image")
914 "/bin/slynk")
915 %outputs
916 #:dependencies '("slynk"
917 "slynk/arglists"
918 "slynk/fancy-inspector"
919 "slynk/package-fu"
920 "slynk/mrepl"
921 "slynk/trace-dialog"
922 "slynk/profiler"
923 "slynk/stickers"
924 "slynk/indentation"
925 "slynk/retro"))
926 #t)))))
927 (synopsis "Common Lisp IDE for Emacs")
928 (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
929 It also features a completely redesigned REPL based on Emacs's own
930 full-featured @code{comint-mode}, live code annotations, and a consistent interactive
931 button interface. Everything can be copied to the REPL. One can create
932 multiple inspectors with independent history.")
933 (home-page "https://github.com/joaotavora/sly")
934 (license license:public-domain)
935 (properties `((cl-source-variant . ,(delay cl-slynk)))))))
936
937 (define-public cl-slynk
938 (sbcl-package->cl-source-package sbcl-slynk))
939
940 (define-public ecl-slynk
941 (let ((pkg (sbcl-package->ecl-package sbcl-slynk)))
942 (package
943 (inherit pkg)
944 (outputs '("out"))
945 (arguments
946 (substitute-keyword-arguments (package-arguments pkg)
947 ((#:phases phases)
948 `(modify-phases ,phases
949 (delete 'build-image))))))))
950
951 (define-public sbcl-parse-js
952 (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
953 (revision "1"))
954 (package
955 (name "sbcl-parse-js")
956 (version (string-append "0.0.0-" revision "." (string-take commit 9)))
957 (source
958 (origin
959 (method git-fetch)
960 (uri (git-reference
961 (url "http://marijn.haverbeke.nl/git/parse-js")
962 (commit commit)))
963 (file-name (string-append name "-" commit "-checkout"))
964 (sha256
965 (base32
966 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
967 (build-system asdf-build-system/sbcl)
968 (home-page "https://marijnhaverbeke.nl/parse-js/")
969 (synopsis "Parse JavaScript")
970 (description "Parse-js is a Common Lisp package for parsing
971 JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
972 (license license:zlib))))
973
974 (define-public cl-parse-js
975 (sbcl-package->cl-source-package sbcl-parse-js))
976
977 (define-public ecl-parse-js
978 (sbcl-package->ecl-package sbcl-parse-js))
979
980 (define-public sbcl-parse-number
981 (package
982 (name "sbcl-parse-number")
983 (version "1.7")
984 (source
985 (origin
986 (method git-fetch)
987 (uri (git-reference
988 (url "https://github.com/sharplispers/parse-number/")
989 (commit (string-append "v" version))))
990 (file-name (git-file-name name version))
991 (sha256
992 (base32
993 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"))))
994 (build-system asdf-build-system/sbcl)
995 (home-page "https://www.cliki.net/PARSE-NUMBER")
996 (synopsis "Parse numbers")
997 (description "@code{parse-number} is a library of functions for parsing
998 strings into one of the standard Common Lisp number types without using the
999 reader. @code{parse-number} accepts an arbitrary string and attempts to parse
1000 the string into one of the standard Common Lisp number types, if possible, or
1001 else @code{parse-number} signals an error of type @code{invalid-number}.")
1002 (license license:bsd-3)))
1003
1004 (define-public cl-parse-number
1005 (sbcl-package->cl-source-package sbcl-parse-number))
1006
1007 (define-public ecl-parse-number
1008 (sbcl-package->ecl-package sbcl-parse-number))
1009
1010 (define-public sbcl-iterate
1011 (package
1012 (name "sbcl-iterate")
1013 (version "1.5")
1014 (source
1015 (origin
1016 (method url-fetch)
1017 (uri (string-append "https://common-lisp.net/project/iterate/releases/"
1018 "iterate-" version ".tar.gz"))
1019 (sha256
1020 (base32
1021 "1lqsbhrkfl0yif46aymvb7l3nb9wdcmj4jyw485blj32jb4famzn"))))
1022 (build-system asdf-build-system/sbcl)
1023 (native-inputs
1024 `(("rt" ,sbcl-rt)))
1025 (home-page "https://common-lisp.net/project/iterate/")
1026 (synopsis "Iteration construct for Common Lisp")
1027 (description "@code{iterate} is an iteration construct for Common Lisp.
1028 It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
1029
1030 @itemize
1031 @item it is extensible,
1032 @item it helps editors like Emacs indent iterate forms by having a more
1033 lisp-like syntax, and
1034 @item it isn't part of the ANSI standard for Common Lisp.
1035 @end itemize\n")
1036 (license license:expat)))
1037
1038 (define-public cl-iterate
1039 (sbcl-package->cl-source-package sbcl-iterate))
1040
1041 (define-public ecl-iterate
1042 (sbcl-package->ecl-package sbcl-iterate))
1043
1044 (define-public sbcl-cl-uglify-js
1045 ;; There have been many bug fixes since the 2010 release.
1046 (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
1047 (revision "1"))
1048 (package
1049 (name "sbcl-cl-uglify-js")
1050 (version (string-append "0.1-" revision "." (string-take commit 9)))
1051 (source
1052 (origin
1053 (method git-fetch)
1054 (uri (git-reference
1055 (url "https://github.com/mishoo/cl-uglify-js")
1056 (commit commit)))
1057 (file-name (git-file-name name version))
1058 (sha256
1059 (base32
1060 "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"))))
1061 (build-system asdf-build-system/sbcl)
1062 (inputs
1063 `(("sbcl-parse-js" ,sbcl-parse-js)
1064 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
1065 ("sbcl-cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
1066 ("sbcl-parse-number" ,sbcl-parse-number)
1067 ("sbcl-iterate" ,sbcl-iterate)))
1068 (home-page "https://github.com/mishoo/cl-uglify-js")
1069 (synopsis "JavaScript compressor library for Common Lisp")
1070 (description "This is a Common Lisp version of UglifyJS, a JavaScript
1071 compressor. It works on data produced by @code{parse-js} to generate a
1072 @dfn{minified} version of the code. Currently it can:
1073
1074 @itemize
1075 @item reduce variable names (usually to single letters)
1076 @item join consecutive @code{var} statements
1077 @item resolve simple binary expressions
1078 @item group most consecutive statements using the @code{sequence} operator (comma)
1079 @item remove unnecessary blocks
1080 @item convert @code{IF} expressions in various ways that result in smaller code
1081 @item remove some unreachable code
1082 @end itemize\n")
1083 (license license:zlib))))
1084
1085 (define-public cl-uglify-js
1086 (sbcl-package->cl-source-package sbcl-cl-uglify-js))
1087
1088 (define-public ecl-cl-uglify-js
1089 (sbcl-package->ecl-package sbcl-cl-uglify-js))
1090
1091 (define-public uglify-js
1092 (package
1093 (inherit sbcl-cl-uglify-js)
1094 (name "uglify-js")
1095 (build-system trivial-build-system)
1096 (arguments
1097 `(#:modules ((guix build utils))
1098 #:builder
1099 (let* ((bin (string-append (assoc-ref %outputs "out") "/bin/"))
1100 (script (string-append bin "uglify-js")))
1101 (use-modules (guix build utils))
1102 (mkdir-p bin)
1103 (with-output-to-file script
1104 (lambda _
1105 (format #t "#!~a/bin/sbcl --script
1106
1107 (require :asdf)
1108 (asdf:initialize-source-registry
1109 #p\"~a/etc/common-lisp/source-registry.conf.d/\")
1110 (asdf:initialize-output-translations
1111 #p\"~a/etc/common-lisp/asdf-output-translations.conf.d/\")"
1112 (assoc-ref %build-inputs "sbcl")
1113 (assoc-ref %build-inputs "sbcl-cl-uglify-js")
1114 (assoc-ref %build-inputs "sbcl-cl-uglify-js"))
1115 ;; FIXME: cannot use progn here because otherwise it fails to
1116 ;; find cl-uglify-js.
1117 (for-each
1118 write
1119 '(;; Quiet, please!
1120 (let ((*standard-output* (make-broadcast-stream))
1121 (*error-output* (make-broadcast-stream)))
1122 (asdf:load-system :cl-uglify-js))
1123 (let ((file (cadr *posix-argv*)))
1124 (if file
1125 (format t "~a"
1126 (cl-uglify-js:ast-gen-code
1127 (cl-uglify-js:ast-mangle
1128 (cl-uglify-js:ast-squeeze
1129 (with-open-file (in file)
1130 (parse-js:parse-js in))))
1131 :beautify nil))
1132 (progn
1133 (format *error-output*
1134 "Please provide a JavaScript file.~%")
1135 (sb-ext:exit :code 1))))))))
1136 (chmod script #o755)
1137 #t)))
1138 (inputs
1139 `(("sbcl" ,sbcl)
1140 ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
1141 (synopsis "JavaScript compressor")))
1142
1143 (define-public sbcl-cl-strings
1144 (let ((revision "1")
1145 (commit "c5c5cbafbf3e6181d03c354d66e41a4f063f00ae"))
1146 (package
1147 (name "sbcl-cl-strings")
1148 (version (git-version "0.0.0" revision commit))
1149 (source
1150 (origin
1151 (method git-fetch)
1152 (uri (git-reference
1153 (url "https://github.com/diogoalexandrefranco/cl-strings")
1154 (commit commit)))
1155 (sha256
1156 (base32
1157 "00754mfaqallj480lwd346nkfb6ra8pa8xcxcylf4baqn604zlmv"))
1158 (file-name (string-append "cl-strings-" version "-checkout"))))
1159 (build-system asdf-build-system/sbcl)
1160 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
1161 (description
1162 "@command{cl-strings} is a small, portable, dependency-free set of
1163 utilities that make it even easier to manipulate text in Common Lisp. It has
1164 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
1165 (home-page "https://github.com/diogoalexandrefranco/cl-strings")
1166 (license license:expat))))
1167
1168 (define-public cl-strings
1169 (sbcl-package->cl-source-package sbcl-cl-strings))
1170
1171 (define-public ecl-cl-strings
1172 (sbcl-package->ecl-package sbcl-cl-strings))
1173
1174 (define-public sbcl-trivial-features
1175 ;; No release since 2014.
1176 (let ((commit "870d03de0ed44067963350936856e17ee725153e"))
1177 (package
1178 (name "sbcl-trivial-features")
1179 (version (git-version "0.8" "1" commit))
1180 (source
1181 (origin
1182 (method git-fetch)
1183 (uri (git-reference
1184 (url "https://github.com/trivial-features/trivial-features")
1185 (commit commit)))
1186 (file-name (git-file-name "trivial-features" version))
1187 (sha256
1188 (base32 "14pcahr8r2j3idhyy216zyw8jnj1dnrx0qbkkbdqkvwzign1ah4j"))))
1189 (build-system asdf-build-system/sbcl)
1190 (arguments
1191 '(#:asd-files '("trivial-features.asd")
1192 #:tests? #f))
1193 (home-page "https://cliki.net/trivial-features")
1194 (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
1195 (description "Trivial-features ensures that @code{*FEATURES*} is
1196 consistent across multiple Common Lisp implementations.")
1197 (license license:expat))))
1198
1199 (define-public cl-trivial-features
1200 (sbcl-package->cl-source-package sbcl-trivial-features))
1201
1202 (define-public ecl-trivial-features
1203 (sbcl-package->ecl-package sbcl-trivial-features))
1204
1205 (define-public sbcl-hu.dwim.asdf
1206 (package
1207 (name "sbcl-hu.dwim.asdf")
1208 (version "20190521")
1209 (source
1210 (origin
1211 (method url-fetch)
1212 (uri (string-append "http://beta.quicklisp.org/archive/hu.dwim.asdf/"
1213 "2019-05-21/hu.dwim.asdf-" version "-darcs.tgz"))
1214 (sha256
1215 (base32
1216 "0rsbv71vyszy8w35yjwb5h6zcmknjq223hkzir79y72qdsc6sabn"))))
1217 (build-system asdf-build-system/sbcl)
1218 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.asdf")
1219 (synopsis "Extensions to ASDF")
1220 (description "Various ASDF extensions such as attached test and
1221 documentation system, explicit development support, etc.")
1222 (license license:public-domain)))
1223
1224 (define-public cl-hu.dwim.asdf
1225 (sbcl-package->cl-source-package sbcl-hu.dwim.asdf))
1226
1227 (define-public ecl-hu.dwim.asdf
1228 (sbcl-package->ecl-package sbcl-hu.dwim.asdf))
1229
1230 (define-public sbcl-hu.dwim.stefil
1231 (let ((commit "ab6d1aa8995878a1b66d745dfd0ba021090bbcf9"))
1232 (package
1233 (name "sbcl-hu.dwim.stefil")
1234 (version (git-version "0.0.0" "1" commit))
1235 (source
1236 (origin
1237 (method git-fetch)
1238 (uri
1239 (git-reference
1240 (url "https://gitlab.common-lisp.net/xcvb/hu.dwim.stefil.git")
1241 (commit commit)))
1242 (sha256
1243 (base32 "1d8yccw65zj3zh46cbi3x6nmn1dwdb76s9d0av035077mvyirqqp"))
1244 (file-name (git-file-name "hu.dwim.stefil" version))))
1245 (build-system asdf-build-system/sbcl)
1246 (native-inputs
1247 `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
1248 (inputs
1249 `(("sbcl-alexandria" ,sbcl-alexandria)))
1250 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.stefil")
1251 (synopsis "Simple test framework")
1252 (description "Stefil is a simple test framework for Common Lisp,
1253 with a focus on interactive development.")
1254 (license license:public-domain))))
1255
1256 (define-public cl-hu.dwim.stefil
1257 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
1258
1259 (define-public ecl-hu.dwim.stefil
1260 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
1261
1262 (define-public sbcl-babel
1263 ;; No release since 2014.
1264 (let ((commit "aeed2d1b76358db48e6b70a64399c05678a6b9ea"))
1265 (package
1266 (name "sbcl-babel")
1267 (version (git-version "0.5.0" "1" commit))
1268 (source
1269 (origin
1270 (method git-fetch)
1271 (uri (git-reference
1272 (url "https://github.com/cl-babel/babel")
1273 (commit commit)))
1274 (file-name (git-file-name "babel" version))
1275 (sha256
1276 (base32 "0lkvv4xdpv4cv1y2bqillmabx8sdb2y4l6pbinq6mjh33w2brpvb"))))
1277 (build-system asdf-build-system/sbcl)
1278 (native-inputs
1279 `(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
1280 (inputs
1281 `(("sbcl-alexandria" ,sbcl-alexandria)
1282 ("sbcl-trivial-features" ,sbcl-trivial-features)))
1283 (home-page "https://common-lisp.net/project/babel/")
1284 (synopsis "Charset encoding and decoding library")
1285 (description "Babel is a charset encoding and decoding library, not unlike
1286 GNU libiconv, but completely written in Common Lisp.")
1287 (license license:expat))))
1288
1289 (define-public cl-babel
1290 (sbcl-package->cl-source-package sbcl-babel))
1291
1292 (define-public ecl-babel
1293 (sbcl-package->ecl-package sbcl-babel))
1294
1295 (define-public sbcl-cl-yacc
1296 (package
1297 (name "sbcl-cl-yacc")
1298 (version "0.3")
1299 (source
1300 (origin
1301 (method git-fetch)
1302 (uri (git-reference
1303 (url "https://github.com/jech/cl-yacc")
1304 (commit (string-append "cl-yacc-" version))))
1305 (sha256
1306 (base32
1307 "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib"))
1308 (file-name (string-append "cl-yacc-" version "-checkout"))))
1309 (build-system asdf-build-system/sbcl)
1310 (arguments
1311 `(#:asd-systems '("yacc")))
1312 (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc")
1313 (description
1314 "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit
1315 to AT&T Yacc, Berkeley Yacc, GNU Bison, Zebu, lalr.cl or lalr.scm.
1316
1317 CL-Yacc uses the algorithm due to Aho and Ullman, which is the one also used
1318 by AT&T Yacc, Berkeley Yacc and Zebu. It does not use the faster algorithm due
1319 to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
1320 (home-page "https://www.irif.fr/~jch//software/cl-yacc/")
1321 (license license:expat)))
1322
1323 (define-public cl-yacc
1324 (sbcl-package->cl-source-package sbcl-cl-yacc))
1325
1326 (define-public ecl-cl-yacc
1327 (sbcl-package->ecl-package sbcl-cl-yacc))
1328
1329 (define-public sbcl-eager-future2
1330 (let ((commit "54df8effd9d9eccac917509590286b5ac5f9cb30"))
1331 (package
1332 (name "sbcl-eager-future2")
1333 (version (git-version "0.0.0" "1" commit))
1334 (source
1335 (origin
1336 (method git-fetch)
1337 (uri (git-reference
1338 (url "https://gitlab.common-lisp.net/vsedach/eager-future2.git")
1339 (commit commit)))
1340 (file-name (git-file-name name version))
1341 (sha256
1342 (base32
1343 "1qs1bv3m0ki8l5czhsflxcryh22r9d9g9a3a3b0cr0pl954q5rld"))))
1344 (build-system asdf-build-system/sbcl)
1345 (inputs
1346 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1347 ("trivial-garbage" ,sbcl-trivial-garbage)))
1348 (synopsis "Futures promises synchronization mechanism for Common Lisp")
1349 (description
1350 "Eager Future2 is a Common Lisp library that provides composable
1351 concurrency primitives that unify parallel and lazy evaluation, are integrated
1352 with the Common Lisp condition system, and have automatic resource
1353 management.")
1354 (home-page "https://gitlab.common-lisp.net/vsedach/eager-future2")
1355 (license license:lgpl3+))))
1356
1357 (define-public cl-eager-future2
1358 (sbcl-package->cl-source-package sbcl-eager-future2))
1359
1360 (define-public ecl-eager-future2
1361 (sbcl-package->ecl-package sbcl-eager-future2))
1362
1363 (define-public sbcl-jpl-util
1364 (let ((commit "0311ed374e19a49d43318064d729fe3abd9a3b62"))
1365 (package
1366 (name "sbcl-jpl-util")
1367 (version "20151005")
1368 (source
1369 (origin
1370 (method git-fetch)
1371 (uri (git-reference
1372 ;; Quicklisp uses this fork.
1373 (url "https://github.com/hawkir/cl-jpl-util")
1374 (commit commit)))
1375 (file-name
1376 (git-file-name "jpl-util" version))
1377 (sha256
1378 (base32
1379 "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"))))
1380 (build-system asdf-build-system/sbcl)
1381 (synopsis "Collection of Common Lisp utility functions and macros")
1382 (description
1383 "@command{cl-jpl-util} is a collection of Common Lisp utility functions
1384 and macros, primarily for software projects written in CL by the author.")
1385 (home-page "https://www.thoughtcrime.us/software/cl-jpl-util/")
1386 (license license:isc))))
1387
1388 (define-public cl-jpl-util
1389 (sbcl-package->cl-source-package sbcl-jpl-util))
1390
1391 (define-public ecl-jpl-util
1392 (sbcl-package->ecl-package sbcl-jpl-util))
1393
1394 (define-public sbcl-piping
1395 (let ((commit "c7a4163c00dea7e72bf6ad33d6abac0d5826a656")
1396 (revision "1"))
1397 (package
1398 (name "sbcl-piping")
1399 (version (git-version "2.0.0" revision commit))
1400 (source
1401 (origin
1402 (method git-fetch)
1403 (uri (git-reference
1404 (url "https://github.com/Shinmera/piping/")
1405 (commit commit)))
1406 (file-name (git-file-name "piping" version))
1407 (sha256
1408 (base32 "0in84qnfkynm36d4n4d6v87vprpi27xrydnga462wfhplji6klv5"))))
1409 (build-system asdf-build-system/sbcl)
1410 (home-page "https://shinmera.github.io/piping/")
1411 (synopsis "Library to enable simple message pipelines")
1412 (description
1413 "This is a Common Lisp library to enable simple message pipelines.")
1414 (license license:zlib))))
1415
1416 (define-public ecl-piping
1417 (sbcl-package->ecl-package sbcl-piping))
1418
1419 (define-public cl-piping
1420 (sbcl-package->cl-source-package sbcl-piping))
1421
1422 (define-public sbcl-jpl-queues
1423 (package
1424 (name "sbcl-jpl-queues")
1425 (version "0.1")
1426 (source
1427 (origin
1428 (method url-fetch)
1429 (uri (string-append
1430 "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-"
1431 version
1432 ".tar.gz"))
1433 (sha256
1434 (base32
1435 "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96"))))
1436 (build-system asdf-build-system/sbcl)
1437 (inputs
1438 `(("jpl-util" ,sbcl-jpl-util)
1439 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1440 (arguments
1441 ;; Tests seem to be broken.
1442 `(#:tests? #f))
1443 (synopsis "Common Lisp library implementing a few different kinds of queues")
1444 (description
1445 "A Common Lisp library implementing a few different kinds of queues:
1446
1447 @itemize
1448 @item Bounded and unbounded FIFO queues.
1449 @item Lossy bounded FIFO queues that drop elements when full.
1450 @item Unbounded random-order queues that use less memory than unbounded FIFO queues.
1451 @end itemize
1452
1453 Additionally, a synchronization wrapper is provided to make any queue
1454 conforming to the @command{jpl-queues} API thread-safe for lightweight
1455 multithreading applications. (See Calispel for a more sophisticated CL
1456 multithreaded message-passing library with timeouts and alternation among
1457 several blockable channels.)")
1458 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1459 (license license:isc)))
1460
1461 (define-public cl-jpl-queues
1462 (sbcl-package->cl-source-package sbcl-jpl-queues))
1463
1464 (define-public ecl-jpl-queues
1465 (sbcl-package->ecl-package sbcl-jpl-queues))
1466
1467 (define-public sbcl-calispel
1468 (let ((commit "e9f2f9c1af97f4d7bb4c8ac25fb2a8f3e8fada7a"))
1469 (package
1470 (name "sbcl-calispel")
1471 (version (git-version "0.1" "1" commit))
1472 (source
1473 (origin
1474 (method git-fetch)
1475 (uri (git-reference
1476 ;; This fork replaces the dependency on the obsolete
1477 ;; eager-future with eager-future2.
1478 (url "https://github.com/hawkir/calispel")
1479 (commit commit)))
1480 (file-name (git-file-name name version))
1481 (sha256
1482 (base32
1483 "08bmf3pi7n5hadpmqqkg65cxcj6kbvm997wcs1f53ml1nb79d9z8"))))
1484 (build-system asdf-build-system/sbcl)
1485 (inputs
1486 `(("jpl-queues" ,sbcl-jpl-queues)
1487 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1488 (native-inputs
1489 `(("eager-future2" ,sbcl-eager-future2)))
1490 (synopsis "Thread-safe message-passing channels in Common Lisp")
1491 (description
1492 "Calispel is a Common Lisp library for thread-safe message-passing
1493 channels, in the style of the occam programming language, also known as
1494 communicating sequential processes (CSP). See
1495 @url{https://en.wikipedia.org/wiki/Communicating_sequential_processes}.
1496
1497 Calispel channels let one thread communicate with another, facilitating
1498 unidirectional communication of any Lisp object. Channels may be unbuffered,
1499 where a sender waits for a receiver (or vice versa) before either operation can
1500 continue, or channels may be buffered with flexible policy options.
1501
1502 Because sending and receiving on a channel may block, either operation can time
1503 out after a specified amount of time.
1504
1505 A syntax for alternation is provided (like @code{ALT} in occam, or Unix
1506 @code{select()}): given a sequence of operations, any or all of which may
1507 block, alternation selects the first operation that doesn't block and executes
1508 associated code. Alternation can also time out, executing an \"otherwise\"
1509 clause if no operation becomes available within a set amount of time.
1510
1511 Calispel is a message-passing library, and as such leaves the role of
1512 threading abstractions and utilities left to be filled by complementary
1513 libraries such as Bordeaux-Threads and Eager Future.")
1514 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1515 (license license:isc))))
1516
1517 (define-public cl-calispel
1518 (sbcl-package->cl-source-package sbcl-calispel))
1519
1520 (define-public ecl-calispel
1521 (sbcl-package->ecl-package sbcl-calispel))
1522
1523 (define-public sbcl-eos
1524 (let ((commit "b4413bccc4d142cbe1bf49516c3a0a22c9d99243")
1525 (revision "2"))
1526 (package
1527 (name "sbcl-eos")
1528 (version (git-version "0.0.0" revision commit))
1529 (source
1530 (origin
1531 (method git-fetch)
1532 (uri (git-reference
1533 (url "https://github.com/adlai/Eos")
1534 (commit commit)))
1535 (sha256
1536 (base32 "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk"))
1537 (file-name (git-file-name "eos" version))))
1538 (build-system asdf-build-system/sbcl)
1539 (synopsis "Unit Testing for Common Lisp")
1540 (description
1541 "Eos was a unit testing library for Common Lisp.
1542 It began as a fork of FiveAM; however, FiveAM development has continued, while
1543 that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
1544 (home-page "https://github.com/adlai/Eos")
1545 (license license:expat))))
1546
1547 (define-public cl-eos
1548 (sbcl-package->cl-source-package sbcl-eos))
1549
1550 (define-public ecl-eos
1551 (sbcl-package->ecl-package sbcl-eos))
1552
1553 (define-public sbcl-esrap
1554 (let ((commit "133be8b05c2aae48696fe5b739eea2fa573fa48d"))
1555 (package
1556 (name "sbcl-esrap")
1557 (version (git-version "0.0.0" "1" commit))
1558 (source
1559 (origin
1560 (method git-fetch)
1561 (uri (git-reference
1562 (url "https://github.com/nikodemus/esrap")
1563 (commit commit)))
1564 (sha256
1565 (base32
1566 "02d5clihsdryhf7pix8c5di2571fdsffh75d40fkzhws90r5mksl"))
1567 (file-name (git-file-name "esrap" version))))
1568 (build-system asdf-build-system/sbcl)
1569 (native-inputs
1570 `(("eos" ,sbcl-eos))) ;For testing only.
1571 (inputs
1572 `(("alexandria" ,sbcl-alexandria)))
1573 (synopsis "Common Lisp packrat parser")
1574 (description
1575 "A packrat parser for Common Lisp.
1576 In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
1577
1578 @itemize
1579 @item dynamic redefinition of nonterminals
1580 @item inline grammars
1581 @item semantic predicates
1582 @item introspective facilities (describing grammars, tracing, setting breaks)
1583 @end itemize\n")
1584 (home-page "https://nikodemus.github.io/esrap/")
1585 (license license:expat))))
1586
1587 (define-public cl-esrap
1588 (sbcl-package->cl-source-package sbcl-esrap))
1589
1590 (define-public ecl-esrap
1591 (sbcl-package->ecl-package sbcl-esrap))
1592
1593 (define-public sbcl-split-sequence
1594 (package
1595 (name "sbcl-split-sequence")
1596 (version "2.0.0")
1597 (source
1598 (origin
1599 (method git-fetch)
1600 (uri (git-reference
1601 (url "https://github.com/sharplispers/split-sequence")
1602 (commit (string-append "v" version))))
1603 (sha256
1604 (base32
1605 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
1606 (file-name (git-file-name "split-sequence" version))))
1607 (build-system asdf-build-system/sbcl)
1608 (native-inputs
1609 `(("fiveam" ,sbcl-fiveam)))
1610 (synopsis "Member of the Common Lisp Utilities family of programs")
1611 (description
1612 "Splits sequence into a list of subsequences delimited by objects
1613 satisfying the test.")
1614 (home-page "https://cliki.net/split-sequence")
1615 (license license:expat)))
1616
1617 (define-public cl-split-sequence
1618 (sbcl-package->cl-source-package sbcl-split-sequence))
1619
1620 (define-public ecl-split-sequence
1621 (sbcl-package->ecl-package sbcl-split-sequence))
1622
1623 (define-public sbcl-html-encode
1624 (package
1625 (name "sbcl-html-encode")
1626 (version "1.2")
1627 (source
1628 (origin
1629 (method url-fetch)
1630 (uri (string-append
1631 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1632 version ".tgz"))
1633 (sha256
1634 (base32
1635 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1636 (file-name (string-append "colorize" version "-checkout"))))
1637 (build-system asdf-build-system/sbcl)
1638 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1639 (description
1640 "A library for encoding text in various web-savvy encodings.")
1641 (home-page "http://quickdocs.org/html-encode/")
1642 (license license:expat)))
1643
1644 (define-public cl-html-encode
1645 (sbcl-package->cl-source-package sbcl-html-encode))
1646
1647 (define-public ecl-html-encode
1648 (sbcl-package->ecl-package sbcl-html-encode))
1649
1650 (define-public sbcl-colorize
1651 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1652 (package
1653 (name "sbcl-colorize")
1654 (version (git-version "0.0.0" "1" commit))
1655 (source
1656 (origin
1657 (method git-fetch)
1658 (uri (git-reference
1659 (url "https://github.com/kingcons/colorize")
1660 (commit commit)))
1661 (sha256
1662 (base32
1663 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1664 (file-name (git-file-name "colorize" version))))
1665 (build-system asdf-build-system/sbcl)
1666 (inputs
1667 `(("alexandria" ,sbcl-alexandria)
1668 ("split-sequence" ,sbcl-split-sequence)
1669 ("html-encode" ,sbcl-html-encode)))
1670 (synopsis "Common Lisp for syntax highlighting")
1671 (description
1672 "@command{colorize} is a Lisp library for syntax highlighting
1673 supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1674 C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1675 (home-page "https://github.com/kingcons/colorize")
1676 ;; TODO: Missing license?
1677 (license license:expat))))
1678
1679 (define-public cl-colorize
1680 (sbcl-package->cl-source-package sbcl-colorize))
1681
1682 (define-public ecl-colorize
1683 (sbcl-package->ecl-package sbcl-colorize))
1684
1685 (define-public sbcl-3bmd
1686 (let ((commit "6fc5759448f6f6df6f6df556e020a289a2643288")
1687 (revision "2"))
1688 (package
1689 (name "sbcl-3bmd")
1690 (version (git-version "0.0.0" revision commit))
1691 (source
1692 (origin
1693 (method git-fetch)
1694 (uri (git-reference
1695 (url "https://github.com/3b/3bmd")
1696 (commit commit)))
1697 (sha256
1698 (base32 "1avmbp8xdjlbqpqk7p3vmj7abiw5p3vb5mrxp4wlvgql4sf6z3p4"))
1699 (file-name (git-file-name "3bmd" version))))
1700 (build-system asdf-build-system/sbcl)
1701 (arguments
1702 ;; FIXME: #41437 - Build fails when package name starts from a digit
1703 `(#:asd-systems
1704 '("3bmd"
1705 "3bmd-ext-definition-lists"
1706 "3bmd-ext-math"
1707 "3bmd-ext-tables"
1708 "3bmd-ext-wiki-links"
1709 "3bmd-youtube"
1710 "3bmd-ext-code-blocks")))
1711 (inputs
1712 `(("alexandria" ,sbcl-alexandria)
1713 ("colorize" ,sbcl-colorize)
1714 ("esrap" ,sbcl-esrap)
1715 ("split-sequence" ,sbcl-split-sequence)))
1716 (home-page "https://github.com/3b/3bmd")
1717 (synopsis "Markdown processor in Command Lisp using esrap parser")
1718 (description
1719 "This is a Common Lisp Markdown to HTML converter, using @command{esrap}
1720 for parsing, and grammar based on @command{peg-markdown}.")
1721 (license license:expat))))
1722
1723 (define-public cl-3bmd
1724 (sbcl-package->cl-source-package sbcl-3bmd))
1725
1726 (define-public ecl-3bmd
1727 (sbcl-package->ecl-package sbcl-3bmd))
1728
1729 (define-public sbcl-cl-fad
1730 (package
1731 (name "sbcl-cl-fad")
1732 (version "0.7.6")
1733 (source
1734 (origin
1735 (method git-fetch)
1736 (uri (git-reference
1737 (url "https://github.com/edicl/cl-fad/")
1738 (commit (string-append "v" version))))
1739 (sha256
1740 (base32
1741 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
1742 (file-name (string-append "cl-fad" version "-checkout"))))
1743 (build-system asdf-build-system/sbcl)
1744 (inputs
1745 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
1746 (synopsis "Portable pathname library for Common Lisp")
1747 (description
1748 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
1749 Lisp's standard pathname functions. It is intended to provide some
1750 unification between current CL implementations on Windows, OS X, Linux, and
1751 Unix. Most of the code was written by Peter Seibel for his book Practical
1752 Common Lisp.")
1753 (home-page "https://edicl.github.io/cl-fad/")
1754 (license license:bsd-2)))
1755
1756 (define-public cl-fad
1757 (sbcl-package->cl-source-package sbcl-cl-fad))
1758
1759 (define-public ecl-cl-fad
1760 (sbcl-package->ecl-package sbcl-cl-fad))
1761
1762 (define-public sbcl-fn
1763 (let ((commit "8d8587d03a7b5e26b306fc90018e385d9e5acc2c")
1764 (revision "1"))
1765 (package
1766 (name "sbcl-fn")
1767 (version (git-version "0.0.0" revision commit))
1768 (source
1769 (origin
1770 (method git-fetch)
1771 (uri (git-reference
1772 (url "https://github.com/cbaggers/fn")
1773 (commit commit)))
1774 (file-name (git-file-name "fn" version))
1775 (sha256
1776 (base32 "0yyp9z6iwx476whz0n1rpjznjyqqhlylhzwpgg5xx92lxmskl752"))))
1777 (build-system asdf-build-system/sbcl)
1778 (inputs
1779 `(("named-readtables" ,sbcl-named-readtables)))
1780 (home-page "https://github.com/cbaggers/fn")
1781 (synopsis "Macros for lambda brevity")
1782 (description
1783 "This is a Common Lisp library providing lambda shorthand macros aiming
1784 to be used in cases where the word @emph{lambda} and the arguments are longer
1785 than the body of the lambda.")
1786 (license license:public-domain))))
1787
1788 (define-public ecl-fn
1789 (sbcl-package->ecl-package sbcl-fn))
1790
1791 (define-public cl-fn
1792 (sbcl-package->cl-source-package sbcl-fn))
1793
1794 (define-public sbcl-rt
1795 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
1796 (revision "1"))
1797 (package
1798 (name "sbcl-rt")
1799 (version (git-version "1990.12.19" revision commit))
1800 (source
1801 (origin
1802 (method git-fetch)
1803 (uri (git-reference
1804 (url "http://git.kpe.io/rt.git")
1805 (commit commit)))
1806 (file-name (git-file-name name version))
1807 (sha256
1808 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
1809 (build-system asdf-build-system/sbcl)
1810 (synopsis "MIT Regression Tester")
1811 (description
1812 "RT provides a framework for writing regression test suites.")
1813 (home-page "https://www.cliki.net/rt")
1814 (license license:expat))))
1815
1816 (define-public cl-rt
1817 (sbcl-package->cl-source-package sbcl-rt))
1818
1819 (define-public ecl-rt
1820 (sbcl-package->ecl-package sbcl-rt))
1821
1822 (define-public sbcl-nibbles
1823 ;; No tagged release since 2018.
1824 (let ((commit "8e6b9b42d9f69000f55e5c45ad974d9e376ffdbd")
1825 (revision "1"))
1826 (package
1827 (name "sbcl-nibbles")
1828 (version (git-version "0.14" revision commit))
1829 (source
1830 (origin
1831 (method git-fetch)
1832 (uri (git-reference
1833 (url "https://github.com/sharplispers/nibbles/")
1834 (commit commit)))
1835 (sha256
1836 (base32 "15qlsm82h36pjgvfnbzdg60l21qxbaii4d049jc5y0dn56y93amb"))
1837 (file-name (git-file-name "nibbles" version))))
1838 (build-system asdf-build-system/sbcl)
1839 (native-inputs
1840 ;; Tests only.
1841 `(("rt" ,sbcl-rt)))
1842 (synopsis
1843 "Common Lisp library for accessing octet-addressed blocks of data")
1844 (description
1845 "When dealing with network protocols and file formats, it's common to
1846 have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
1847 flavors. Common Lisp sort of supports this by specifying :element-type for
1848 streams, but that facility is underspecified and there's nothing similar for
1849 read/write from octet vectors. What most people wind up doing is rolling their
1850 own small facility for their particular needs and calling it a day.
1851
1852 This library attempts to be comprehensive and centralize such
1853 facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
1854 vectors in signed or unsigned flavors are provided; these functions are also
1855 SETFable. Since it's sometimes desirable to read/write directly from streams,
1856 functions for doing so are also provided. On some implementations,
1857 reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
1858 also be supported.")
1859 (home-page "https://github.com/sharplispers/nibbles")
1860 (license license:bsd-3))))
1861
1862 (define-public cl-nibbles
1863 (sbcl-package->cl-source-package sbcl-nibbles))
1864
1865 (define-public ecl-nibbles
1866 (sbcl-package->ecl-package sbcl-nibbles))
1867
1868 (define-public sbcl-ironclad
1869 (package
1870 (name "sbcl-ironclad")
1871 (version "0.54")
1872 (source
1873 (origin
1874 (method git-fetch)
1875 (uri (git-reference
1876 (url "https://github.com/sharplispers/ironclad/")
1877 (commit (string-append "v" version))))
1878 (sha256
1879 (base32 "07g0wpvfqq2yk23prs890d4qvbnr3xd6w8ssd88g89xdg483wpvk"))
1880 (file-name (git-file-name name version))))
1881 (build-system asdf-build-system/sbcl)
1882 (native-inputs
1883 ;; Tests only.
1884 `(("rt" ,sbcl-rt)))
1885 (inputs
1886 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1887 ("flexi-streams" ,sbcl-flexi-streams)))
1888 (synopsis "Cryptographic toolkit written in Common Lisp")
1889 (description
1890 "Ironclad is a cryptography library written entirely in Common Lisp.
1891 It includes support for several popular ciphers, digests, MACs and public key
1892 cryptography algorithms. For several implementations that support Gray
1893 streams, support is included for convenient stream wrappers.")
1894 (home-page "https://github.com/sharplispers/ironclad")
1895 (license license:bsd-3)))
1896
1897 (define-public cl-ironclad
1898 (sbcl-package->cl-source-package sbcl-ironclad))
1899
1900 (define-public ecl-ironclad
1901 (sbcl-package->ecl-package sbcl-ironclad))
1902
1903 (define-public sbcl-named-readtables
1904 (let ((commit "585a28eee8b1b1999279b48cb7e9731187e14b66")
1905 (revision "3"))
1906 (package
1907 (name "sbcl-named-readtables")
1908 (version (git-version "0.9" revision commit))
1909 (source
1910 (origin
1911 (method git-fetch)
1912 (uri (git-reference
1913 (url "https://github.com/melisgl/named-readtables")
1914 (commit commit)))
1915 (sha256
1916 (base32 "072p5djqq9pliw9r20rmpz5r5q5yn6rhbp98vkkp7gfcnp5ppj51"))
1917 (file-name (git-file-name "named-readtables" version))))
1918 (build-system asdf-build-system/sbcl)
1919 (home-page "https://github.com/melisgl/named-readtables/")
1920 (synopsis "Library that creates a namespace for named readtables")
1921 (description
1922 "Named readtables is a library that creates a namespace for named
1923 readtables, which is akin to package namespacing in Common Lisp.")
1924 (license license:bsd-3))))
1925
1926 (define-public cl-named-readtables
1927 (sbcl-package->cl-source-package sbcl-named-readtables))
1928
1929 (define-public ecl-named-readtables
1930 (sbcl-package->ecl-package sbcl-named-readtables))
1931
1932 (define-public sbcl-py-configparser
1933 ;; NOTE: (Sharlatan <2021-01-05 Tue> <19:52:19 UTC+0000>) Project updated last
1934 ;; time 8y ago, it looks like abandoned. VCS of the project:
1935 ;; https://svn.common-lisp.net/py-configparser/trunk
1936 (package
1937 (name "sbcl-py-configparser")
1938 (version "1.0.3")
1939 (source
1940 (origin
1941 (method url-fetch)
1942 (uri (string-append
1943 "https://common-lisp.net/project/py-configparser/releases/"
1944 "py-configparser-" version ".tar.gz"))
1945 (sha256
1946 (base32 "0i4rqz5cv7d7c2w81x5lwy05s6fbi3zikf4k5kpi3bkx3cabwdxj"))))
1947 (build-system asdf-build-system/sbcl)
1948 (inputs
1949 `(("parse-number" ,sbcl-parse-number)))
1950 (home-page "http://common-lisp.net/project/py-configparser/")
1951 (synopsis "ConfigParser Python module functionality for Common Lisp")
1952 (description "The py-configparser package implements the ConfigParser
1953 Python module functionality in Common Lisp. In short, it implements reading
1954 and writing of .INI-file style configuration files with sections containing
1955 key/value pairs of configuration options. In line with the functionalities in
1956 the python module, does this package implement basic interpolation of option
1957 values in other options.")
1958 (license license:expat)))
1959
1960 (define-public cl-py-configparser
1961 (sbcl-package->cl-source-package sbcl-py-configparser))
1962
1963 (define-public ecl-py-configparser
1964 (sbcl-package->ecl-package sbcl-py-configparser))
1965
1966 (define-public sbcl-pythonic-string-reader
1967 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
1968 (package
1969 (name "sbcl-pythonic-string-reader")
1970 (version (git-version "0.0.0" "1" commit))
1971 (source
1972 (origin
1973 (method git-fetch)
1974 (uri (git-reference
1975 (url "https://github.com/smithzvk/pythonic-string-reader/")
1976 (commit commit)))
1977 (sha256
1978 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
1979 (file-name (git-file-name "pythonic-string-reader" version))))
1980 (build-system asdf-build-system/sbcl)
1981 (inputs
1982 `(("named-readtables" ,sbcl-named-readtables)))
1983 (home-page "https://github.com/smithzvk/pythonic-string-reader")
1984 (synopsis "Read table modification inspired by Python's three quote strings")
1985 (description "This piece of code sets up some reader macros that make it
1986 simpler to input string literals which contain backslashes and double quotes
1987 This is very useful for writing complicated docstrings and, as it turns out,
1988 writing code that contains string literals that contain code themselves.")
1989 (license license:bsd-3))))
1990
1991 (define-public cl-pythonic-string-reader
1992 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
1993
1994 (define-public ecl-pythonic-string-reader
1995 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
1996
1997 (define-public sbcl-slime-swank
1998 (package
1999 (name "sbcl-slime-swank")
2000 (version "2.26")
2001 (source
2002 (origin
2003 (file-name (git-file-name "slime-swank" version))
2004 (method git-fetch)
2005 (uri (git-reference
2006 (url "https://github.com/slime/slime/")
2007 (commit (string-append "v" version))))
2008 (sha256
2009 (base32
2010 "0mxb1wnw19v0s72w2wkz5afdlzvpy5nn7pr4vav403qybac0sw5c"))))
2011 (build-system asdf-build-system/sbcl)
2012 (arguments
2013 '(#:asd-systems '("swank")))
2014 (home-page "https://github.com/slime/slime")
2015 (synopsis "Common Lisp Swank server")
2016 (description
2017 "This is only useful if you want to start a Swank server in a Lisp
2018 processes that doesn't run under Emacs. Lisp processes created by
2019 @command{M-x slime} automatically start the server.")
2020 (license (list license:gpl2+ license:public-domain))))
2021
2022 (define-public cl-slime-swank
2023 (sbcl-package->cl-source-package sbcl-slime-swank))
2024
2025 (define-public ecl-slime-swank
2026 (sbcl-package->ecl-package sbcl-slime-swank))
2027
2028 (define-public sbcl-mgl-pax
2029 (let ((commit "818448418d6b9de74620f606f5b23033c6082769"))
2030 (package
2031 (name "sbcl-mgl-pax")
2032 (version (git-version "0.0.0" "1" commit))
2033 (source
2034 (origin
2035 (method git-fetch)
2036 (uri (git-reference
2037 (url "https://github.com/melisgl/mgl-pax")
2038 (commit commit)))
2039 (sha256
2040 (base32
2041 "1p97zfkh130bdxqqxwaw2j9psv58751wakx7czbfpq410lg7dd7i"))
2042 (file-name (git-file-name "mgl-pax" version))))
2043 (build-system asdf-build-system/sbcl)
2044 (inputs
2045 `(("3bmd" ,sbcl-3bmd)
2046 ("babel" ,sbcl-babel)
2047 ("cl-fad" ,sbcl-cl-fad)
2048 ("ironclad" ,sbcl-ironclad)
2049 ("named-readtables" ,sbcl-named-readtables)
2050 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)
2051 ("swank" ,sbcl-slime-swank)))
2052 (synopsis "Exploratory programming environment and documentation generator")
2053 (description
2054 "PAX provides an extremely poor man's Explorable Programming
2055 environment. Narrative primarily lives in so called sections that mix markdown
2056 docstrings with references to functions, variables, etc, all of which should
2057 probably have their own docstrings.
2058
2059 The primary focus is on making code easily explorable by using SLIME's
2060 @command{M-.} (@command{slime-edit-definition}). See how to enable some
2061 fanciness in Emacs Integration. Generating documentation from sections and all
2062 the referenced items in Markdown or HTML format is also implemented.
2063
2064 With the simplistic tools provided, one may accomplish similar effects as with
2065 Literate Programming, but documentation is generated from code, not vice versa
2066 and there is no support for chunking yet. Code is first, code must look
2067 pretty, documentation is code.")
2068 (home-page "http://quotenil.com/")
2069 (license license:expat))))
2070
2071 (define-public cl-mgl-pax
2072 (sbcl-package->cl-source-package sbcl-mgl-pax))
2073
2074 (define-public ecl-mgl-pax
2075 (let ((pkg (sbcl-package->ecl-package sbcl-mgl-pax)))
2076 (package
2077 (inherit pkg)
2078 (arguments
2079 (substitute-keyword-arguments (package-arguments pkg)
2080 ;; TODO: Find why the tests fail on ECL.
2081 ((#:tests? _ #f) #f))))))
2082
2083 (define-public sbcl-mssql
2084 (let ((commit "045602a19a32254108f2b75871049293f49731eb")
2085 (revision "1"))
2086 (package
2087 (name "sbcl-mssql")
2088 (version (git-version "0.0.3" revision commit))
2089 (source
2090 (origin
2091 (method git-fetch)
2092 (uri (git-reference
2093 (url "https://github.com/archimag/cl-mssql")
2094 (commit commit)))
2095 (file-name (git-file-name "cl-mssql" version))
2096 (sha256
2097 (base32 "09i50adppgc1ybm3ka9vbindhwa2x29f9n3n0jkrryymdhb8zknm"))))
2098 (build-system asdf-build-system/sbcl)
2099 (inputs
2100 `(("cffi" ,sbcl-cffi)
2101 ("freetds" ,freetds)
2102 ("garbage-pools" ,sbcl-garbage-pools)
2103 ("iterate" ,sbcl-iterate)
2104 ("parse-number" ,sbcl-parse-number)))
2105 (arguments
2106 `(#:phases
2107 (modify-phases %standard-phases
2108 (add-after 'unpack 'fix-paths
2109 (lambda* (#:key inputs #:allow-other-keys)
2110 (substitute* "src/mssql.lisp"
2111 (("libsybdb" all)
2112 (string-append (assoc-ref inputs "freetds") "/lib/" all)))
2113 #t)))))
2114 (home-page "https://github.com/archimag/cl-mssql")
2115 (synopsis "Common Lisp library to interact with MS SQL Server databases")
2116 (description
2117 "@code{cl-mssql} provides an interface to connect to Microsoft SQL
2118 server. It uses the @code{libsybdb} foreign library provided by the FreeTDS
2119 project.")
2120 (license license:llgpl))))
2121
2122 (define-public ecl-mssql
2123 (sbcl-package->ecl-package sbcl-mssql))
2124
2125 (define-public cl-mssql
2126 (sbcl-package->cl-source-package sbcl-mssql))
2127
2128 (define-public sbcl-lisp-unit
2129 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
2130 (package
2131 (name "sbcl-lisp-unit")
2132 (version (git-version "0.0.0" "1" commit))
2133 (source
2134 (origin
2135 (method git-fetch)
2136 (uri (git-reference
2137 (url "https://github.com/OdonataResearchLLC/lisp-unit")
2138 (commit commit)))
2139 (sha256
2140 (base32
2141 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
2142 (file-name (git-file-name "lisp-unit" version))))
2143 (build-system asdf-build-system/sbcl)
2144 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
2145 (description
2146 "@command{lisp-unit} is a Common Lisp library that supports unit
2147 testing. It is an extension of the library written by Chris Riesbeck.")
2148 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
2149 (license license:expat))))
2150
2151 (define-public cl-lisp-unit
2152 (sbcl-package->cl-source-package sbcl-lisp-unit))
2153
2154 (define-public ecl-lisp-unit
2155 (sbcl-package->ecl-package sbcl-lisp-unit))
2156
2157 (define-public sbcl-anaphora
2158 (package
2159 (name "sbcl-anaphora")
2160 (version "0.9.6")
2161 (source
2162 (origin
2163 (method git-fetch)
2164 (uri (git-reference
2165 (url "https://github.com/tokenrove/anaphora")
2166 (commit version)))
2167 (sha256
2168 (base32
2169 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
2170 (file-name (git-file-name "anaphora" version))))
2171 (build-system asdf-build-system/sbcl)
2172 (native-inputs
2173 `(("rt" ,sbcl-rt)))
2174 (synopsis "The anaphoric macro collection from Hell")
2175 (description
2176 "Anaphora is the anaphoric macro collection from Hell: it includes many
2177 new fiends in addition to old friends like @command{aif} and
2178 @command{awhen}.")
2179 (home-page "https://github.com/tokenrove/anaphora")
2180 (license license:public-domain)))
2181
2182 (define-public cl-anaphora
2183 (sbcl-package->cl-source-package sbcl-anaphora))
2184
2185 (define-public ecl-anaphora
2186 (sbcl-package->ecl-package sbcl-anaphora))
2187
2188 (define-public sbcl-lift
2189 (let ((commit "7d49a66c62759535624037826891152223d4206c"))
2190 (package
2191 (name "sbcl-lift")
2192 (version (git-version "1.7.1" "1" commit))
2193 (source
2194 (origin
2195 (method git-fetch)
2196 (uri (git-reference
2197 (url "https://github.com/gwkkwg/lift")
2198 (commit commit)))
2199 (sha256
2200 (base32
2201 "127v5avpz1i4m0lkaxqrq8hrl69rdazqaxf6s8awf0nd7wj2g4dp"))
2202 (file-name (git-file-name "lift" version))
2203 (modules '((guix build utils)))
2204 (snippet
2205 ;; Don't keep the bundled website
2206 `(begin
2207 (delete-file-recursively "website")
2208 #t))))
2209 (build-system asdf-build-system/sbcl)
2210 (arguments
2211 ;; The tests require a debugger, but we run with the debugger disabled.
2212 '(#:tests? #f))
2213 (synopsis "LIsp Framework for Testing")
2214 (description
2215 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
2216 Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
2217 testcases are organized into hierarchical testsuites each of which can have
2218 its own fixture. When run, a testcase can succeed, fail, or error. LIFT
2219 supports randomized testing, benchmarking, profiling, and reporting.")
2220 (home-page "https://github.com/gwkkwg/lift")
2221 (license license:expat))))
2222
2223 (define-public cl-lift
2224 (sbcl-package->cl-source-package sbcl-lift))
2225
2226 (define-public ecl-lift
2227 (sbcl-package->ecl-package sbcl-lift))
2228
2229 (define-public sbcl-let-plus
2230 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
2231 (package
2232 (name "sbcl-let-plus")
2233 (version (git-version "0.0.0" "1" commit))
2234 (source
2235 (origin
2236 (method git-fetch)
2237 (uri (git-reference
2238 (url "https://github.com/sharplispers/let-plus")
2239 (commit commit)))
2240 (sha256
2241 (base32
2242 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
2243 (file-name (git-file-name "let-plus" version))))
2244 (build-system asdf-build-system/sbcl)
2245 (inputs
2246 `(("alexandria" ,sbcl-alexandria)
2247 ("anaphora" ,sbcl-anaphora)))
2248 (native-inputs
2249 `(("lift" ,sbcl-lift)))
2250 (synopsis "Destructuring extension of let*")
2251 (description
2252 "This library implements the let+ macro, which is a dectructuring
2253 extension of let*. It features:
2254
2255 @itemize
2256 @item Clean, consistent syntax and small implementation (less than 300 LOC,
2257 not counting tests)
2258 @item Placeholder macros allow editor hints and syntax highlighting
2259 @item @command{&ign} for ignored values (in forms where that makes sense)
2260 @item Very easy to extend
2261 @end itemize\n")
2262 (home-page "https://github.com/sharplispers/let-plus")
2263 (license license:boost1.0))))
2264
2265 (define-public cl-let-plus
2266 (sbcl-package->cl-source-package sbcl-let-plus))
2267
2268 (define-public ecl-let-plus
2269 (sbcl-package->ecl-package sbcl-let-plus))
2270
2271 (define-public sbcl-cl-colors
2272 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
2273 (package
2274 (name "sbcl-cl-colors")
2275 (version (git-version "0.0.0" "1" commit))
2276 (source
2277 (origin
2278 (method git-fetch)
2279 (uri (git-reference
2280 (url "https://github.com/tpapp/cl-colors")
2281 (commit commit)))
2282 (sha256
2283 (base32
2284 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2285 (file-name (git-file-name "cl-colors" version))))
2286 (build-system asdf-build-system/sbcl)
2287 (inputs
2288 `(("alexandria" ,sbcl-alexandria)
2289 ("let-plus" ,sbcl-let-plus)))
2290 (synopsis "Simple color library for Common Lisp")
2291 (description
2292 "This is a very simple color library for Common Lisp, providing
2293
2294 @itemize
2295 @item Types for representing colors in HSV and RGB spaces.
2296 @item Simple conversion functions between the above types (and also
2297 hexadecimal representation for RGB).
2298 @item Some predefined colors (currently X11 color names – of course the
2299 library does not depend on X11).Because color in your terminal is nice.
2300 @end itemize
2301
2302 This library is no longer supported by its author.")
2303 (home-page "https://github.com/tpapp/cl-colors")
2304 (license license:boost1.0))))
2305
2306 (define-public cl-colors
2307 (sbcl-package->cl-source-package sbcl-cl-colors))
2308
2309 (define-public ecl-cl-colors
2310 (sbcl-package->ecl-package sbcl-cl-colors))
2311
2312 (define-public sbcl-cl-ansi-text
2313 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2314 (package
2315 (name "sbcl-cl-ansi-text")
2316 (version (git-version "1.0.0" "1" commit))
2317 (source
2318 (origin
2319 (method git-fetch)
2320 (uri (git-reference
2321 (url "https://github.com/pnathan/cl-ansi-text")
2322 (commit commit)))
2323 (sha256
2324 (base32
2325 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2326 (file-name (git-file-name "cl-ansi-text" version))))
2327 (build-system asdf-build-system/sbcl)
2328 (inputs
2329 `(("alexandria" ,sbcl-alexandria)
2330 ("cl-colors" ,sbcl-cl-colors)))
2331 (native-inputs
2332 `(("fiveam" ,sbcl-fiveam)))
2333 (synopsis "ANSI terminal color implementation for Common Lisp")
2334 (description
2335 "@command{cl-ansi-text} provides utilities which enable printing to an
2336 ANSI terminal with colored text. It provides the macro @command{with-color}
2337 which causes everything printed in the body to be displayed with the provided
2338 color. It further provides functions which will print the argument with the
2339 named color.")
2340 (home-page "https://github.com/pnathan/cl-ansi-text")
2341 (license license:llgpl))))
2342
2343 (define-public cl-ansi-text
2344 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2345
2346 (define-public ecl-cl-ansi-text
2347 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2348
2349 (define-public sbcl-prove
2350 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2351 (package
2352 (name "sbcl-prove")
2353 (version (git-version "1.0.0" "1" commit))
2354 (source
2355 (origin
2356 (method git-fetch)
2357 (uri (git-reference
2358 (url "https://github.com/fukamachi/prove")
2359 (commit commit)))
2360 (sha256
2361 (base32
2362 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2363 (file-name (git-file-name "prove" version))))
2364 (build-system asdf-build-system/sbcl)
2365 (inputs
2366 `(("alexandria" ,sbcl-alexandria)
2367 ("cl-ppcre" ,sbcl-cl-ppcre)
2368 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2369 (synopsis "Yet another unit testing framework for Common Lisp")
2370 (description
2371 "This project was originally called @command{cl-test-more}.
2372 @command{prove} is yet another unit testing framework for Common Lisp. The
2373 advantages of @command{prove} are:
2374
2375 @itemize
2376 @item Various simple functions for testing and informative error messages
2377 @item ASDF integration
2378 @item Extensible test reporters
2379 @item Colorizes the report if it's available (note for SLIME)
2380 @item Reports test durations
2381 @end itemize\n")
2382 (home-page "https://github.com/fukamachi/prove")
2383 (license license:expat))))
2384
2385 (define-public cl-prove
2386 (sbcl-package->cl-source-package sbcl-prove))
2387
2388 (define-public ecl-prove
2389 (sbcl-package->ecl-package sbcl-prove))
2390
2391 (define-public sbcl-proc-parse
2392 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2393 (package
2394 (name "sbcl-proc-parse")
2395 (version (git-version "0.0.0" "1" commit))
2396 (source
2397 (origin
2398 (method git-fetch)
2399 (uri (git-reference
2400 (url "https://github.com/fukamachi/proc-parse")
2401 (commit commit)))
2402 (sha256
2403 (base32
2404 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2405 (file-name (git-file-name "proc-parse" version))))
2406 (build-system asdf-build-system/sbcl)
2407 (inputs
2408 `(("alexandria" ,sbcl-alexandria)
2409 ("babel" ,sbcl-babel)))
2410 (native-inputs
2411 `(("prove" ,sbcl-prove)))
2412 (arguments
2413 ;; TODO: Tests don't find "proc-parse-test", why?
2414 `(#:tests? #f))
2415 (synopsis "Procedural vector parser")
2416 (description
2417 "This is a string/octets parser library for Common Lisp with speed and
2418 readability in mind. Unlike other libraries, the code is not a
2419 pattern-matching-like, but a char-by-char procedural parser.")
2420 (home-page "https://github.com/fukamachi/proc-parse")
2421 (license license:bsd-2))))
2422
2423 (define-public cl-proc-parse
2424 (sbcl-package->cl-source-package sbcl-proc-parse))
2425
2426 (define-public ecl-proc-parse
2427 (sbcl-package->ecl-package sbcl-proc-parse))
2428
2429 (define-public sbcl-parse-float
2430 (let ((commit "3074765101e41222b6b624a66aaf1e6416379f9c")
2431 (revision "2"))
2432 (package
2433 (name "sbcl-parse-float")
2434 (version (git-version "0.0.0" revision commit))
2435 (source
2436 (origin
2437 (method git-fetch)
2438 (uri (git-reference
2439 (url "https://github.com/soemraws/parse-float")
2440 (commit commit)))
2441 (sha256
2442 (base32 "0jd2spawc3v8vzqf8ky4cngl45jm65fhkrdf20mf6dcbn3mzpkmr"))
2443 (file-name (git-file-name "proc-parse" version))))
2444 (build-system asdf-build-system/sbcl)
2445 (arguments
2446 ;; FIXME: https://github.com/soemraws/parse-float/issues/12
2447 `(#:asd-systems '("parse-float" "parse-float-tests")))
2448 (native-inputs
2449 `(("lisp-unit" ,sbcl-lisp-unit)))
2450 (inputs
2451 `(("alexandria" ,sbcl-alexandria)))
2452 (home-page "https://github.com/soemraws/parse-float")
2453 (synopsis "Parse a floating point value from a string in Common Lisp")
2454 (description
2455 "This package exports the following function to parse floating-point
2456 values from a string in Common Lisp.")
2457 (license license:public-domain))))
2458
2459 (define-public cl-parse-float
2460 (sbcl-package->cl-source-package sbcl-parse-float))
2461
2462 (define-public ecl-parse-float
2463 (sbcl-package->ecl-package sbcl-parse-float))
2464
2465 (define-public sbcl-cl-string-match
2466 (let ((revision "1")
2467 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2468 (package
2469 (name "sbcl-cl-string-match")
2470 (version (git-version "0" revision changeset))
2471 (source
2472 (origin
2473 (method hg-fetch)
2474 (uri (hg-reference
2475 (url "https://bitbucket.org/vityok/cl-string-match/")
2476 (changeset changeset)))
2477 (sha256
2478 (base32
2479 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2480 (file-name (git-file-name "cl-string-match" version))))
2481 (build-system asdf-build-system/sbcl)
2482 (inputs
2483 `(("alexandria" ,sbcl-alexandria)
2484 ("babel" ,sbcl-babel)
2485 ("iterate" ,sbcl-iterate)
2486 ("jpl-queues" ,sbcl-jpl-queues)
2487 ("jpl-util" ,sbcl-jpl-util)
2488 ("mgl-pax" ,sbcl-mgl-pax)
2489 ("parse-float" ,sbcl-parse-float)
2490 ("proc-parse" ,sbcl-proc-parse)
2491 ("yacc" ,sbcl-cl-yacc)))
2492 ;; TODO: Tests are not evaluated properly.
2493 (native-inputs
2494 ;; For testing:
2495 `(("lisp-unit" ,sbcl-lisp-unit)))
2496 (arguments
2497 `(#:tests? #f))
2498 (synopsis "Set of utilities to manipulate strings in Common Lisp")
2499 (description
2500 "@command{cl-strings} is a small, portable, dependency-free set of
2501 utilities that make it even easier to manipulate text in Common Lisp. It has
2502 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
2503 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2504 (license license:bsd-3))))
2505
2506 (define-public cl-string-match
2507 (sbcl-package->cl-source-package sbcl-cl-string-match))
2508
2509 (define-public ecl-cl-string-match
2510 (sbcl-package->ecl-package sbcl-cl-string-match))
2511
2512 (define-public sbcl-ptester
2513 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2514 (revision "1"))
2515 (package
2516 (name "sbcl-ptester")
2517 (version (git-version "2.1.3" revision commit))
2518 (source
2519 (origin
2520 (method git-fetch)
2521 (uri (git-reference
2522 (url "http://git.kpe.io/ptester.git")
2523 (commit commit)))
2524 (file-name (git-file-name name version))
2525 (sha256
2526 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2527 (build-system asdf-build-system/sbcl)
2528 (home-page "http://quickdocs.org/ptester/")
2529 (synopsis "Portable test harness package")
2530 (description
2531 "@command{ptester} is a portable testing framework based on Franz's
2532 tester module.")
2533 (license license:llgpl))))
2534
2535 (define-public cl-ptester
2536 (sbcl-package->cl-source-package sbcl-ptester))
2537
2538 (define-public ecl-ptester
2539 (sbcl-package->ecl-package sbcl-ptester))
2540
2541 (define-public sbcl-puri
2542 (let ((commit "4bbab89d9ccbb26346899d1f496c97604fec567b")
2543 (revision "2"))
2544 (package
2545 (name "sbcl-puri")
2546 (version (git-version "1.5.7" revision commit))
2547 (source
2548 (origin
2549 (method git-fetch)
2550 (uri (git-reference
2551 (url "http://git.kpe.io/puri.git")
2552 (commit commit)))
2553 (file-name (git-file-name "puri" version))
2554 (sha256
2555 (base32 "0gq2rsr0aihs0z20v4zqvmdl4szq53b52rh97pvnmwrlbn4mapmd"))))
2556 (build-system asdf-build-system/sbcl)
2557 (native-inputs
2558 `(("ptester" ,sbcl-ptester)))
2559 (home-page "http://puri.kpe.io/")
2560 (synopsis "Portable URI Library")
2561 (description
2562 "This is a portable Universal Resource Identifier library for Common
2563 Lisp programs. It parses URI according to the RFC 2396 specification.")
2564 (license license:llgpl))))
2565
2566 (define-public cl-puri
2567 (sbcl-package->cl-source-package sbcl-puri))
2568
2569 (define-public ecl-puri
2570 (sbcl-package->ecl-package sbcl-puri))
2571
2572 (define-public sbcl-qmynd
2573 (let ((commit "7e56daf73f0ed5f49a931c01af75fb874bcf3445")
2574 (revision "1"))
2575 (package
2576 (name "sbcl-qmynd")
2577 (version (git-version "1.0.0" revision commit))
2578 (source
2579 (origin
2580 (method git-fetch)
2581 (uri (git-reference
2582 (url "https://github.com/qitab/qmynd")
2583 (commit commit)))
2584 (file-name (git-file-name name version))
2585 (sha256
2586 (base32
2587 "06gw5wxcpdclb6a5i5k9lbmdlyqsp182czrm9bm1cpklzbj0ihrl"))))
2588 (build-system asdf-build-system/sbcl)
2589 (inputs
2590 `(("asdf-finalizers" ,sbcl-asdf-finalizers)
2591 ("babel" ,sbcl-babel)
2592 ("chipz" ,sbcl-chipz)
2593 ("cl+ssl" ,sbcl-cl+ssl)
2594 ("flexi-streams" ,sbcl-flexi-streams)
2595 ("ironclad" ,sbcl-ironclad)
2596 ("salza2" ,sbcl-salza2)
2597 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
2598 ("usocket" ,sbcl-usocket)))
2599 (home-page "https://github.com/qitab/qmynd")
2600 (synopsis "QITAB MySQL Native Driver for Common Lisp")
2601 (description "QMyND, the QITAB MySQL Native Driver, is a MySQL client
2602 library that directly talks to a MySQL server in its native network protocol.
2603
2604 It's a part of QITAB umbrella project.")
2605 (license license:expat))))
2606
2607 (define-public ecl-qmynd
2608 (sbcl-package->ecl-package sbcl-qmynd))
2609
2610 (define-public cl-qmynd
2611 (sbcl-package->cl-source-package sbcl-qmynd))
2612
2613 (define-public sbcl-queues
2614 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2615 (package
2616 (name "sbcl-queues")
2617 (version (git-version "0.0.0" "1" commit))
2618 (source
2619 (origin
2620 (method git-fetch)
2621 (uri (git-reference
2622 (url "https://github.com/oconnore/queues")
2623 (commit commit)))
2624 (file-name (git-file-name "queues" version))
2625 (sha256
2626 (base32
2627 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2628 (build-system asdf-build-system/sbcl)
2629 (inputs
2630 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
2631 (arguments
2632 '(#:asd-systems '("queues"
2633 "queues.simple-queue"
2634 "queues.simple-cqueue"
2635 "queues.priority-queue"
2636 "queues.priority-cqueue")))
2637 (home-page "https://github.com/oconnore/queues")
2638 (synopsis "Common Lisp queue library")
2639 (description
2640 "This is a simple queue library for Common Lisp with features such as
2641 non-consing thread safe queues and fibonacci priority queues.")
2642 (license license:expat))))
2643
2644 (define-public cl-queues
2645 (sbcl-package->cl-source-package sbcl-queues))
2646
2647 (define-public ecl-queues
2648 (sbcl-package->ecl-package sbcl-queues))
2649
2650 (define-public sbcl-cffi
2651 (package
2652 (name "sbcl-cffi")
2653 (version "0.23.0")
2654 (source
2655 (origin
2656 (method git-fetch)
2657 (uri (git-reference
2658 (url "https://github.com/cffi/cffi")
2659 (commit (string-append "v" version))))
2660 (file-name (git-file-name "cffi-bootstrap" version))
2661 (sha256
2662 (base32 "03s98imc5niwnpj3hhrafl7dmxq45g74h96sm68976k7ahi3vl5b"))))
2663 (build-system asdf-build-system/sbcl)
2664 (inputs
2665 `(("alexandria" ,sbcl-alexandria)
2666 ("babel" ,sbcl-babel)
2667 ("libffi" ,libffi)
2668 ("trivial-features" ,sbcl-trivial-features)))
2669 (native-inputs
2670 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2671 ("pkg-config" ,pkg-config)
2672 ("rt" ,sbcl-rt)))
2673 (arguments
2674 '(#:phases
2675 (modify-phases %standard-phases
2676 (add-after 'unpack 'fix-arm-support
2677 (lambda _
2678 ;; This is apparently deprecated since libffi-3.3.
2679 (substitute* "libffi/libffi-types.lisp"
2680 (("\\\(\\\(:unix64.*") ")\n"))
2681 #t))
2682 (add-after 'unpack 'fix-paths
2683 (lambda* (#:key inputs #:allow-other-keys)
2684 (substitute* "libffi/libffi.lisp"
2685 (("libffi.so.7" all) (string-append
2686 (assoc-ref inputs "libffi")
2687 "/lib/" all)))
2688 (substitute* "toolchain/c-toolchain.lisp"
2689 (("\"cc\"") (format #f "~S" (which "gcc"))))))
2690 (add-after 'build 'install-headers
2691 (lambda* (#:key outputs #:allow-other-keys)
2692 (install-file "grovel/common.h"
2693 (string-append
2694 (assoc-ref outputs "out")
2695 "/include/grovel")))))
2696 #:asd-files '("cffi.asd"
2697 "cffi-toolchain.asd"
2698 "cffi-grovel.asd"
2699 "cffi-libffi.asd"
2700 "cffi-uffi-compat.asd")
2701 #:asd-systems '("cffi"
2702 "cffi-libffi"
2703 "cffi-uffi-compat")))
2704 (home-page "https://common-lisp.net/project/cffi/")
2705 (synopsis "Common Foreign Function Interface for Common Lisp")
2706 (description "The Common Foreign Function Interface (CFFI)
2707 purports to be a portable foreign function interface for Common Lisp.
2708 The CFFI library is composed of a Lisp-implementation-specific backend
2709 in the CFFI-SYS package, and a portable frontend in the CFFI
2710 package.")
2711 (license license:expat)))
2712
2713 (define-public cl-cffi
2714 (sbcl-package->cl-source-package sbcl-cffi))
2715
2716 (define-public ecl-cffi
2717 (sbcl-package->ecl-package sbcl-cffi))
2718
2719 (define-public sbcl-cl-sqlite
2720 (package
2721 (name "sbcl-cl-sqlite")
2722 (version "0.2.1")
2723 (source
2724 (origin
2725 (method git-fetch)
2726 (uri (git-reference
2727 (url "https://github.com/dmitryvk/cl-sqlite")
2728 (commit version)))
2729 (file-name (git-file-name "cl-sqlite" version))
2730 (sha256
2731 (base32
2732 "08iv7b4m0hh7qx2cvq4f510nrgdld0vicnvmqsh9w0fgrcgmyg4k"))))
2733 (build-system asdf-build-system/sbcl)
2734 (inputs
2735 `(("iterate" ,sbcl-iterate)
2736 ("cffi" ,sbcl-cffi)
2737 ("sqlite" ,sqlite)))
2738 (native-inputs
2739 `(("fiveam" ,sbcl-fiveam)
2740 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2741 (arguments
2742 `(#:asd-systems '("sqlite")
2743 #:phases
2744 (modify-phases %standard-phases
2745 (add-after 'unpack 'fix-paths
2746 (lambda* (#:key inputs #:allow-other-keys)
2747 (substitute* "sqlite-ffi.lisp"
2748 (("libsqlite3" all) (string-append
2749 (assoc-ref inputs "sqlite")"/lib/" all))))))))
2750 (home-page "https://common-lisp.net/project/cl-sqlite/")
2751 (synopsis "Common Lisp binding for SQLite")
2752 (description
2753 "The @command{cl-sqlite} package is an interface to the SQLite embedded
2754 relational database engine.")
2755 (license license:public-domain)))
2756
2757 (define-public cl-sqlite
2758 (sbcl-package->cl-source-package sbcl-cl-sqlite))
2759
2760 (define-public ecl-cl-sqlite
2761 (sbcl-package->ecl-package sbcl-cl-sqlite))
2762
2763 (define-public sbcl-parenscript
2764 ;; Source archives are overwritten on every release, we use the Git repo instead.
2765 (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766"))
2766 (package
2767 (name "sbcl-parenscript")
2768 (version (git-version "2.7.1" "1" commit))
2769 (source
2770 (origin
2771 (method git-fetch)
2772 (uri (git-reference
2773 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
2774 (commit commit)))
2775 (file-name (git-file-name "parenscript" version))
2776 (sha256
2777 (base32
2778 "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf"))))
2779 (build-system asdf-build-system/sbcl)
2780 (inputs
2781 `(("cl-ppcre" ,sbcl-cl-ppcre)
2782 ("anaphora" ,sbcl-anaphora)
2783 ("named-readtables" ,sbcl-named-readtables)))
2784 (home-page "https://common-lisp.net/project/parenscript/")
2785 (synopsis "Translator from a subset of Common Lisp to JavaScript")
2786 (description
2787 "Parenscript is a translator from an extended subset of Common Lisp to
2788 JavaScript. Parenscript code can run almost identically on both the
2789 browser (as JavaScript) and server (as Common Lisp).
2790
2791 Parenscript code is treated the same way as Common Lisp code, making the full
2792 power of Lisp macros available for JavaScript. This provides a web
2793 development environment that is unmatched in its ability to reduce code
2794 duplication and provide advanced meta-programming facilities to web
2795 developers.
2796
2797 At the same time, Parenscript is different from almost all other \"language
2798 X\" to JavaScript translators in that it imposes almost no overhead:
2799
2800 @itemize
2801 @item No run-time dependencies: Any piece of Parenscript code is runnable
2802 as-is. There are no JavaScript files to include.
2803 @item Native types: Parenscript works entirely with native JavaScript data
2804 types. There are no new types introduced, and object prototypes are not
2805 touched.
2806 @item Native calling convention: Any JavaScript code can be called without the
2807 need for bindings. Likewise, Parenscript can be used to make efficient,
2808 self-contained JavaScript libraries.
2809 @item Readable code: Parenscript generates concise, formatted, idiomatic
2810 JavaScript code. Identifier names are preserved. This enables seamless
2811 debugging in tools like Firebug.
2812 @item Efficiency: Parenscript introduces minimal overhead for advanced Common
2813 Lisp features. The generated code is almost as fast as hand-written
2814 JavaScript.
2815 @end itemize\n")
2816 (license license:bsd-3))))
2817
2818 (define-public cl-parenscript
2819 (sbcl-package->cl-source-package sbcl-parenscript))
2820
2821 (define-public ecl-parenscript
2822 (sbcl-package->ecl-package sbcl-parenscript))
2823
2824 (define-public sbcl-cl-json
2825 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
2826 (package
2827 (name "sbcl-cl-json")
2828 (version (git-version "0.5" "1" commit))
2829 (source
2830 (origin
2831 (method git-fetch)
2832 (uri (git-reference
2833 (url "https://github.com/hankhero/cl-json")
2834 (commit commit)))
2835 (file-name (git-file-name "cl-json" version))
2836 (sha256
2837 (base32
2838 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
2839 (build-system asdf-build-system/sbcl)
2840 (native-inputs
2841 `(("fiveam" ,sbcl-fiveam)))
2842 (home-page "https://github.com/hankhero/cl-json")
2843 (synopsis "JSON encoder and decoder for Common-Lisp")
2844 (description
2845 "@command{cl-json} provides an encoder of Lisp objects to JSON format
2846 and a corresponding decoder of JSON data to Lisp objects. Both the encoder
2847 and the decoder are highly customizable; at the same time, the default
2848 settings ensure a very simple mode of operation, similar to that provided by
2849 @command{yason} or @command{st-json}.")
2850 (license license:expat))))
2851
2852 (define-public cl-json
2853 (sbcl-package->cl-source-package sbcl-cl-json))
2854
2855 (define-public ecl-cl-json
2856 (sbcl-package->ecl-package sbcl-cl-json))
2857
2858 (define-public sbcl-unix-opts
2859 (package
2860 (name "sbcl-unix-opts")
2861 (version "0.1.7")
2862 (source
2863 (origin
2864 (method git-fetch)
2865 (uri (git-reference
2866 (url "https://github.com/libre-man/unix-opts")
2867 (commit version)))
2868 (file-name (git-file-name "unix-opts" version))
2869 (sha256
2870 (base32
2871 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
2872 (build-system asdf-build-system/sbcl)
2873 (home-page "https://github.com/hankhero/cl-json")
2874 (synopsis "Unix-style command line options parser")
2875 (description
2876 "This is a minimalistic parser of command line options. The main
2877 advantage of the library is the ability to concisely define command line
2878 options once and then use this definition for parsing and extraction of
2879 command line arguments, as well as printing description of command line
2880 options (you get --help for free). This way you don't need to repeat
2881 yourself. Also, @command{unix-opts} doesn't depend on anything and
2882 precisely controls the behavior of the parser via Common Lisp restarts.")
2883 (license license:expat)))
2884
2885 (define-public cl-unix-opts
2886 (sbcl-package->cl-source-package sbcl-unix-opts))
2887
2888 (define-public ecl-unix-opts
2889 (sbcl-package->ecl-package sbcl-unix-opts))
2890
2891 (define-public sbcl-trivial-garbage
2892 (package
2893 (name "sbcl-trivial-garbage")
2894 (version "0.21")
2895 (source
2896 (origin
2897 (method git-fetch)
2898 (uri (git-reference
2899 (url "https://github.com/trivial-garbage/trivial-garbage")
2900 (commit (string-append "v" version))))
2901 (file-name (git-file-name "trivial-garbage" version))
2902 (sha256
2903 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
2904 (build-system asdf-build-system/sbcl)
2905 (native-inputs
2906 `(("rt" ,sbcl-rt)))
2907 (home-page "https://common-lisp.net/project/trivial-garbage/")
2908 (synopsis "Portable GC-related APIs for Common Lisp")
2909 (description "@command{trivial-garbage} provides a portable API to
2910 finalizers, weak hash-tables and weak pointers on all major implementations of
2911 the Common Lisp programming language.")
2912 (license license:public-domain)))
2913
2914 (define-public cl-trivial-garbage
2915 (sbcl-package->cl-source-package sbcl-trivial-garbage))
2916
2917 (define-public ecl-trivial-garbage
2918 (sbcl-package->ecl-package sbcl-trivial-garbage))
2919
2920 (define-public sbcl-closer-mop
2921 (let ((commit "19c9d33f576e10715fd79cc1d4f688dab0f241d6"))
2922 (package
2923 (name "sbcl-closer-mop")
2924 (version (git-version "1.0.0" "2" commit))
2925 (source
2926 (origin
2927 (method git-fetch)
2928 (uri (git-reference
2929 (url "https://github.com/pcostanza/closer-mop")
2930 (commit commit)))
2931 (sha256
2932 (base32 "1w3x087wvlwkd6swfdgbvjfs6kazf0la8ax4pjfzikwjch4snn2c"))
2933 (file-name (git-file-name "closer-mop" version ))))
2934 (build-system asdf-build-system/sbcl)
2935 (home-page "https://github.com/pcostanza/closer-mop")
2936 (synopsis "Rectifies absent or incorrect CLOS MOP features")
2937 (description "Closer to MOP is a compatibility layer that rectifies many
2938 of the absent or incorrect CLOS MOP features across a broad range of Common
2939 Lisp implementations.")
2940 (license license:expat))))
2941
2942 (define-public cl-closer-mop
2943 (sbcl-package->cl-source-package sbcl-closer-mop))
2944
2945 (define-public ecl-closer-mop
2946 (sbcl-package->ecl-package sbcl-closer-mop))
2947
2948 (define-public sbcl-cl-cffi-gtk
2949 (let ((commit "e9a46df65995d9a16e6c8dbdc1e09b775eb4a966"))
2950 (package
2951 (name "sbcl-cl-cffi-gtk")
2952 (version (git-version "0.11.2" "2" commit))
2953 (source
2954 (origin
2955 (method git-fetch)
2956 (uri (git-reference
2957 (url "https://github.com/Ferada/cl-cffi-gtk/")
2958 (commit commit)))
2959 (file-name (git-file-name "cl-cffi-gtk" version))
2960 (sha256
2961 (base32
2962 "04vix0gmqsj91lm975sx7jhlnz5gq1xf9jp873mp7c8frc5dk1jj"))))
2963 (build-system asdf-build-system/sbcl)
2964 (native-inputs
2965 `(("fiveam" ,sbcl-fiveam)))
2966 (inputs
2967 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2968 ("cairo" ,cairo)
2969 ("cffi" ,sbcl-cffi)
2970 ("closer-mop" ,sbcl-closer-mop)
2971 ("gdk-pixbuf" ,gdk-pixbuf)
2972 ("glib" ,glib)
2973 ("gtk" ,gtk+)
2974 ("iterate" ,sbcl-iterate)
2975 ("pango" ,pango)
2976 ("trivial-features" ,sbcl-trivial-features)
2977 ("trivial-garbage" ,sbcl-trivial-garbage)))
2978 (arguments
2979 `(#:asd-files '("gtk/cl-cffi-gtk.asd"
2980 "glib/cl-cffi-gtk-glib.asd"
2981 "gobject/cl-cffi-gtk-gobject.asd"
2982 "gio/cl-cffi-gtk-gio.asd"
2983 "cairo/cl-cffi-gtk-cairo.asd"
2984 "pango/cl-cffi-gtk-pango.asd"
2985 "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
2986 "gdk/cl-cffi-gtk-gdk.asd")
2987 #:test-asd-file "test/cl-cffi-gtk-test.asd"
2988 ;; TODO: Tests fail with memory fault.
2989 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
2990 #:tests? #f
2991 #:phases
2992 (modify-phases %standard-phases
2993 (add-after 'unpack 'fix-paths
2994 (lambda* (#:key inputs #:allow-other-keys)
2995 (substitute* "glib/glib.init.lisp"
2996 (("libglib|libgthread" all)
2997 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2998 (substitute* "gobject/gobject.init.lisp"
2999 (("libgobject" all)
3000 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3001 (substitute* "gio/gio.init.lisp"
3002 (("libgio" all)
3003 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3004 (substitute* "cairo/cairo.init.lisp"
3005 (("libcairo" all)
3006 (string-append (assoc-ref inputs "cairo") "/lib/" all)))
3007 (substitute* "pango/pango.init.lisp"
3008 (("libpango" all)
3009 (string-append (assoc-ref inputs "pango") "/lib/" all)))
3010 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
3011 (("libgdk_pixbuf" all)
3012 (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))
3013 (substitute* "gdk/gdk.init.lisp"
3014 (("libgdk" all)
3015 (string-append (assoc-ref inputs "gtk") "/lib/" all)))
3016 (substitute* "gdk/gdk.package.lisp"
3017 (("libgtk" all)
3018 (string-append (assoc-ref inputs "gtk") "/lib/" all))))))))
3019 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
3020 (synopsis "Common Lisp binding for GTK+3")
3021 (description
3022 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
3023 is a library for creating graphical user interfaces.")
3024 (license license:lgpl3))))
3025
3026 (define-public cl-cffi-gtk
3027 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
3028
3029 (define-public ecl-cl-cffi-gtk
3030 (sbcl-package->ecl-package sbcl-cl-cffi-gtk))
3031
3032 (define-public sbcl-cl-webkit
3033 (let ((commit "0bc05cc73257670ab241853b9cc9ccb68940fe44"))
3034 (package
3035 (name "sbcl-cl-webkit")
3036 (version (git-version "2.4" "10" commit))
3037 (source
3038 (origin
3039 (method git-fetch)
3040 (uri (git-reference
3041 (url "https://github.com/joachifm/cl-webkit")
3042 (commit commit)))
3043 (file-name (git-file-name "cl-webkit" version))
3044 (sha256
3045 (base32
3046 "1kg6illspvb5647pm0x819ag2n7njnqvrm18jzgd28vk6nlkrcmq"))))
3047 (build-system asdf-build-system/sbcl)
3048 (inputs
3049 `(("cffi" ,sbcl-cffi)
3050 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3051 ("webkitgtk" ,webkitgtk)))
3052 (arguments
3053 `(#:asd-systems '("cl-webkit2")
3054 #:phases
3055 (modify-phases %standard-phases
3056 (add-after 'unpack 'fix-paths
3057 (lambda* (#:key inputs #:allow-other-keys)
3058 (substitute* "webkit2/webkit2.init.lisp"
3059 (("libwebkit2gtk" all)
3060 (string-append
3061 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
3062 (home-page "https://github.com/joachifm/cl-webkit")
3063 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3064 (description
3065 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3066 currently targeting WebKit version 2. The WebKitGTK+ library adds web
3067 browsing capabilities to an application, leveraging the full power of the
3068 WebKit browsing engine.")
3069 (license license:expat))))
3070
3071 (define-public cl-webkit
3072 (sbcl-package->cl-source-package sbcl-cl-webkit))
3073
3074 (define-public ecl-cl-webkit
3075 (sbcl-package->ecl-package sbcl-cl-webkit))
3076
3077 (define-public sbcl-lparallel
3078 (package
3079 (name "sbcl-lparallel")
3080 (version "2.8.4")
3081 (source
3082 (origin
3083 (method git-fetch)
3084 (uri (git-reference
3085 (url "https://github.com/lmj/lparallel/")
3086 (commit (string-append "lparallel-" version))))
3087 (file-name (git-file-name "lparallel" version))
3088 (sha256
3089 (base32
3090 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3091 (build-system asdf-build-system/sbcl)
3092 (inputs
3093 `(("alexandria" ,sbcl-alexandria)
3094 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3095 ("trivial-garbage" ,sbcl-trivial-garbage)))
3096 (arguments
3097 `(#:phases
3098 (modify-phases %standard-phases
3099 (add-after 'unpack 'fix-dependency
3100 ;; lparallel loads a SBCL specific system in its asd file. This is
3101 ;; not carried over into the fasl which is generated. In order for
3102 ;; it to be carried over, it needs to be listed as a dependency.
3103 (lambda _
3104 (substitute* "lparallel.asd"
3105 ((":depends-on \\(:alexandria" all)
3106 (string-append all " #+sbcl :sb-cltl2"))))))))
3107 (home-page "https://lparallel.org/")
3108 (synopsis "Parallelism for Common Lisp")
3109 (description
3110 "@command{lparallel} is a library for parallel programming in Common
3111 Lisp, featuring:
3112
3113 @itemize
3114 @item a simple model of task submission with receiving queue,
3115 @item constructs for expressing fine-grained parallelism,
3116 @item asynchronous condition handling across thread boundaries,
3117 @item parallel versions of map, reduce, sort, remove, and many others,
3118 @item promises, futures, and delayed evaluation constructs,
3119 @item computation trees for parallelizing interconnected tasks,
3120 @item bounded and unbounded FIFO queues,
3121 @item high and low priority tasks,
3122 @item task killing by category,
3123 @item integrated timeouts.
3124 @end itemize\n")
3125 (license license:expat)))
3126
3127 (define-public cl-lparallel
3128 (sbcl-package->cl-source-package sbcl-lparallel))
3129
3130 (define-public ecl-lparallel
3131 (package
3132 (inherit (sbcl-package->ecl-package sbcl-lparallel))
3133 (arguments
3134 ;; TODO: Find why the tests get stuck forever; disable them for now.
3135 `(#:tests? #f))))
3136
3137 (define-public sbcl-cl-markup
3138 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3139 (package
3140 (name "sbcl-cl-markup")
3141 (version (git-version "0.1" "1" commit))
3142 (source
3143 (origin
3144 (method git-fetch)
3145 (uri (git-reference
3146 (url "https://github.com/arielnetworks/cl-markup/")
3147 (commit commit)))
3148 (file-name (git-file-name "cl-markup" version))
3149 (sha256
3150 (base32
3151 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3152 (build-system asdf-build-system/sbcl)
3153 (home-page "https://github.com/arielnetworks/cl-markup/")
3154 (synopsis "Markup generation library for Common Lisp")
3155 (description
3156 "A modern markup generation library for Common Lisp that features:
3157
3158 @itemize
3159 @item Fast (even faster through compiling the code)
3160 @item Safety
3161 @item Support for multiple document types (markup, xml, html, html5, xhtml)
3162 @item Output with doctype
3163 @item Direct output to stream
3164 @end itemize\n")
3165 (license license:lgpl3+))))
3166
3167 (define-public cl-markup
3168 (sbcl-package->cl-source-package sbcl-cl-markup))
3169
3170 (define-public ecl-cl-markup
3171 (sbcl-package->ecl-package sbcl-cl-markup))
3172
3173 (define-public sbcl-cl-mustache
3174 (package
3175 (name "sbcl-cl-mustache")
3176 (version "0.12.1")
3177 (source
3178 (origin
3179 (method git-fetch)
3180 (uri (git-reference
3181 (url "https://github.com/kanru/cl-mustache")
3182 (commit (string-append "v" version))))
3183 (file-name (git-file-name "cl-mustache" version))
3184 (sha256
3185 (base32 "149xbb6wxq1napliwm9cv729hwcgfnjli6y8hingfixz7f10lhks"))))
3186 (build-system asdf-build-system/sbcl)
3187 (home-page "https://github.com/kanru/cl-mustache")
3188 (synopsis "Common Lisp Mustache template renderer")
3189 (description "This is a Common Lisp implementation for the Mustache
3190 template system. More details on the standard are available at
3191 @url{https://mustache.github.io}.")
3192 (license license:expat)))
3193
3194 (define-public cl-mustache
3195 (sbcl-package->cl-source-package sbcl-cl-mustache))
3196
3197 (define-public ecl-cl-mustache
3198 (sbcl-package->ecl-package sbcl-cl-mustache))
3199
3200 (define-public sbcl-cl-css
3201 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3202 (package
3203 (name "sbcl-cl-css")
3204 (version (git-version "0.1" "1" commit))
3205 (source
3206 (origin
3207 (method git-fetch)
3208 (uri (git-reference
3209 (url "https://github.com/inaimathi/cl-css/")
3210 (commit commit)))
3211 (file-name (git-file-name "cl-css" version))
3212 (sha256
3213 (base32
3214 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3215 (build-system asdf-build-system/sbcl)
3216 (home-page "https://github.com/inaimathi/cl-css/")
3217 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3218 (description
3219 "This is a dead-simple, non validating, inline CSS generator for Common
3220 Lisp. Its goals are axiomatic syntax, simple implementation to support
3221 portability, and boilerplate reduction in CSS.")
3222 (license license:expat))))
3223
3224 (define-public cl-css
3225 (sbcl-package->cl-source-package sbcl-cl-css))
3226
3227 (define-public ecl-cl-css
3228 (sbcl-package->ecl-package sbcl-cl-css))
3229
3230 (define-public sbcl-portable-threads
3231 (let ((commit "aa26bf38338a6b068bf8bfb3375d8d8c3b0a28df"))
3232 (package
3233 (name "sbcl-portable-threads")
3234 (version (git-version "2.3" "2" commit))
3235 (source
3236 (origin
3237 (method git-fetch)
3238 (uri (git-reference
3239 (url "https://github.com/binghe/portable-threads/")
3240 (commit commit)))
3241 (file-name (git-file-name "portable-threads" version))
3242 (sha256
3243 (base32 "058ksi07vfdmhrf5mdlc833s82m1rcqfja2266520m3r8bzs8bvs"))))
3244 (build-system asdf-build-system/sbcl)
3245 (arguments
3246 `(;; Tests seem broken.
3247 #:tests? #f))
3248 (home-page "https://github.com/binghe/portable-threads")
3249 (synopsis "Portable threads API for Common Lisp")
3250 (description
3251 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3252 Lisp (from GBBopen project).")
3253 (license license:asl2.0))))
3254
3255 (define-public cl-portable-threads
3256 (sbcl-package->cl-source-package sbcl-portable-threads))
3257
3258 (define-public ecl-portable-threads
3259 (sbcl-package->ecl-package sbcl-portable-threads))
3260
3261 (define-public sbcl-usocket
3262 (package
3263 (name "sbcl-usocket")
3264 (version "0.8.3")
3265 (source
3266 (origin
3267 (method git-fetch)
3268 (uri (git-reference
3269 (url "https://github.com/usocket/usocket/")
3270 (commit (string-append "v" version))))
3271 (file-name (git-file-name "usocket" version))
3272 (sha256
3273 (base32
3274 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3275 (build-system asdf-build-system/sbcl)
3276 (native-inputs
3277 `(("rt" ,sbcl-rt)))
3278 (inputs
3279 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3280 ("split-sequence" ,sbcl-split-sequence)))
3281 (arguments
3282 `(#:tests? #f ; FIXME: Tests need network access?
3283 #:asd-systems '("usocket"
3284 "usocket-server")))
3285 (home-page "https://common-lisp.net/project/usocket/")
3286 (synopsis "Universal socket library for Common Lisp")
3287 (description
3288 "This library strives to provide a portable TCP/IP and UDP/IP socket
3289 interface for as many Common Lisp implementations as possible, while keeping
3290 the abstraction and portability layer as thin as possible.")
3291 (license license:expat)))
3292
3293 (define-public cl-usocket
3294 (sbcl-package->cl-source-package sbcl-usocket))
3295
3296 (define-public ecl-usocket
3297 (sbcl-package->ecl-package sbcl-usocket))
3298
3299 (define-public sbcl-s-xml
3300 (package
3301 (name "sbcl-s-xml")
3302 (version "3")
3303 (source
3304 (origin
3305 (method url-fetch)
3306 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3307 (sha256
3308 (base32
3309 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3310 (build-system asdf-build-system/sbcl)
3311 (home-page "https://common-lisp.net/project/s-xml/")
3312 (synopsis "Simple XML parser implemented in Common Lisp")
3313 (description
3314 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3315 parser implementation has the following features:
3316
3317 @itemize
3318 @item It works (handling many common XML usages).
3319 @item It is very small (the core is about 700 lines of code, including
3320 comments and whitespace).
3321 @item It has a core API that is simple, efficient and pure functional, much
3322 like that from SSAX (see also http://ssax.sourceforge.net).
3323 @item It supports different DOM models: an XSML-based one, an LXML-based one
3324 and a classic xml-element struct based one.
3325 @item It is reasonably time and space efficient (internally avoiding garbage
3326 generatation as much as possible).
3327 @item It does support CDATA.
3328 @item It should support the same character sets as your Common Lisp
3329 implementation.
3330 @item It does support XML name spaces.
3331 @end itemize
3332
3333 This XML parser implementation has the following limitations:
3334
3335 @itemize
3336 @item It does not support any special tags (like processing instructions).
3337 @item It is not validating, even skips DTD's all together.
3338 @end itemize\n")
3339 (license license:lgpl3+)))
3340
3341 (define-public cl-s-xml
3342 (sbcl-package->cl-source-package sbcl-s-xml))
3343
3344 (define-public ecl-s-xml
3345 (sbcl-package->ecl-package sbcl-s-xml))
3346
3347 (define-public sbcl-s-xml-rpc
3348 (package
3349 (name "sbcl-s-xml-rpc")
3350 (version "7")
3351 (source
3352 (origin
3353 (method url-fetch)
3354 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3355 (sha256
3356 (base32
3357 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3358 (build-system asdf-build-system/sbcl)
3359 (inputs
3360 `(("s-xml" ,sbcl-s-xml)))
3361 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3362 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3363 (description
3364 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3365 client and server.")
3366 (license license:lgpl3+)))
3367
3368 (define-public cl-s-xml-rpc
3369 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3370
3371 (define-public ecl-s-xml-rpc
3372 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3373
3374 (define-public sbcl-trivial-arguments
3375 (let ((commit "ecd84ed9cf9ef8f1e873d7409e6bd04979372aa7")
3376 (revision "1"))
3377 (package
3378 (name "sbcl-trivial-arguments")
3379 (version (git-version "1.1.0" revision commit))
3380 (source
3381 (origin
3382 (method git-fetch)
3383 (uri (git-reference
3384 (url "https://github.com/Shinmera/trivial-arguments")
3385 (commit commit)))
3386 (file-name (git-file-name "trivial-arguments" version))
3387 (sha256
3388 (base32 "02vaqfavhj8jqxnr68nnzvzshm8jbgcy6m9lvyv4daa6f7ihqf88"))))
3389 (build-system asdf-build-system/sbcl)
3390 (home-page "https://github.com/Shinmera/trivial-arguments")
3391 (synopsis "Common Lisp library to retrieve a function's lambda-list")
3392 (description
3393 "This is a simple library to retrieve the argument list of a function.")
3394 (license license:zlib))))
3395
3396 (define-public ecl-trivial-arguments
3397 (sbcl-package->ecl-package sbcl-trivial-arguments))
3398
3399 (define-public cl-trivial-arguments
3400 (sbcl-package->cl-source-package sbcl-trivial-arguments))
3401
3402 (define-public sbcl-trivial-clipboard
3403 (let ((commit "afcd3743b842f5a81fc86dba60f9db59970f49c5"))
3404 (package
3405 (name "sbcl-trivial-clipboard")
3406 (version (git-version "0.0.0.0" "3" commit))
3407 (source
3408 (origin
3409 (method git-fetch)
3410 (uri (git-reference
3411 (url "https://github.com/snmsts/trivial-clipboard")
3412 (commit commit)))
3413 (file-name (git-file-name "trivial-clipboard" version))
3414 (sha256
3415 (base32
3416 "1qfbvkzmvkbqpc5s3sx31c5653sy6qlcixafgzd10qpykb843prr"))))
3417 (build-system asdf-build-system/sbcl)
3418 (inputs
3419 `(("xclip" ,xclip)))
3420 (native-inputs
3421 `(("fiveam" ,sbcl-fiveam)))
3422 (arguments
3423 `(#:phases
3424 (modify-phases %standard-phases
3425 (add-after 'unpack 'fix-paths
3426 (lambda* (#:key inputs #:allow-other-keys)
3427 (substitute* "src/text.lisp"
3428 (("\\(executable-find \"xclip\"\\)")
3429 (string-append "(executable-find \""
3430 (assoc-ref inputs "xclip")
3431 "/bin/xclip\")"))))))))
3432 (home-page "https://github.com/snmsts/trivial-clipboard")
3433 (synopsis "Access system clipboard in Common Lisp")
3434 (description
3435 "@command{trivial-clipboard} gives access to the system clipboard.")
3436 (license license:expat))))
3437
3438 (define-public cl-trivial-clipboard
3439 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3440
3441 (define-public ecl-trivial-clipboard
3442 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3443
3444 (define-public sbcl-trivial-backtrace
3445 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3446 (revision "1"))
3447 (package
3448 (name "sbcl-trivial-backtrace")
3449 (version (git-version "0.0.0" revision commit))
3450 (source
3451 (origin
3452 (method git-fetch)
3453 (uri (git-reference
3454 (url "https://github.com/gwkkwg/trivial-backtrace")
3455 (commit commit)))
3456 (file-name (git-file-name "trivial-backtrace" version))
3457 (sha256
3458 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3459 (build-system asdf-build-system/sbcl)
3460 (inputs
3461 `(("sbcl-lift" ,sbcl-lift)))
3462 (arguments
3463 `(#:phases
3464 (modify-phases %standard-phases
3465 (add-after 'check 'delete-test-results
3466 (lambda* (#:key outputs #:allow-other-keys)
3467 (let ((test-results (string-append (assoc-ref outputs "out")
3468 "/share/common-lisp/"
3469 (%lisp-type)
3470 "/trivial-backtrace"
3471 "/test-results")))
3472 (when (file-exists? test-results)
3473 (delete-file-recursively test-results)))
3474 #t)))))
3475 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3476 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3477 (description
3478 "One of the many things that didn't quite get into the Common Lisp
3479 standard was how to get a Lisp to output its call stack when something has
3480 gone wrong. As such, each Lisp has developed its own notion of what to
3481 display, how to display it, and what sort of arguments can be used to
3482 customize it. @code{trivial-backtrace} is a simple solution to generating a
3483 backtrace portably.")
3484 (license license:expat))))
3485
3486 (define-public cl-trivial-backtrace
3487 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3488
3489 (define-public ecl-trivial-backtrace
3490 (sbcl-package->ecl-package sbcl-trivial-backtrace))
3491
3492 (define-public sbcl-rfc2388
3493 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3494 (revision "1"))
3495 (package
3496 (name "sbcl-rfc2388")
3497 (version (git-version "0.0.0" revision commit))
3498 (source
3499 (origin
3500 (method git-fetch)
3501 (uri (git-reference
3502 (url "https://github.com/jdz/rfc2388")
3503 (commit commit)))
3504 (file-name (git-file-name "rfc2388" version))
3505 (sha256
3506 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3507 (build-system asdf-build-system/sbcl)
3508 (home-page "https://github.com/jdz/rfc2388/")
3509 (synopsis "An implementation of RFC 2388 in Common Lisp")
3510 (description
3511 "This package contains an implementation of RFC 2388, which is used to
3512 process form data posted with HTTP POST method using enctype
3513 \"multipart/form-data\".")
3514 (license license:bsd-2))))
3515
3516 (define-public cl-rfc2388
3517 (sbcl-package->cl-source-package sbcl-rfc2388))
3518
3519 (define-public ecl-rfc2388
3520 (sbcl-package->ecl-package sbcl-rfc2388))
3521
3522 (define-public sbcl-md5
3523 (package
3524 (name "sbcl-md5")
3525 (version "2.0.4")
3526 (source
3527 (origin
3528 (method git-fetch)
3529 (uri (git-reference
3530 (url "https://github.com/pmai/md5")
3531 (commit (string-append "release-" version))))
3532 (file-name (git-file-name "md5" version))
3533 (sha256
3534 (base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
3535 (build-system asdf-build-system/sbcl)
3536 (home-page "https://github.com/pmai/md5")
3537 (synopsis
3538 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3539 (description
3540 "This package implements The MD5 Message-Digest Algorithm, as defined in
3541 RFC 1321 by R. Rivest, published April 1992.")
3542 (license license:public-domain)))
3543
3544 (define-public cl-md5
3545 (sbcl-package->cl-source-package sbcl-md5))
3546
3547 (define-public ecl-md5
3548 (package
3549 (inherit (sbcl-package->ecl-package sbcl-md5))
3550 (inputs
3551 `(("flexi-streams" ,ecl-flexi-streams)))))
3552
3553 (define-public sbcl-cl+ssl
3554 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
3555 (revision "1"))
3556 (package
3557 (name "sbcl-cl+ssl")
3558 (version (git-version "0.0.0" revision commit))
3559 (source
3560 (origin
3561 (method git-fetch)
3562 (uri (git-reference
3563 (url "https://github.com/cl-plus-ssl/cl-plus-ssl")
3564 (commit commit)))
3565 (file-name (git-file-name "cl+ssl" version))
3566 (sha256
3567 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
3568 (build-system asdf-build-system/sbcl)
3569 (arguments
3570 '(#:phases
3571 (modify-phases %standard-phases
3572 (add-after 'unpack 'fix-paths
3573 (lambda* (#:key inputs #:allow-other-keys)
3574 (substitute* "src/reload.lisp"
3575 (("libssl.so" all)
3576 (string-append
3577 (assoc-ref inputs "openssl") "/lib/" all))))))))
3578 (inputs
3579 `(("openssl" ,openssl)
3580 ("sbcl-cffi" ,sbcl-cffi)
3581 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3582 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3583 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3584 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3585 ("sbcl-alexandria" ,sbcl-alexandria)
3586 ("sbcl-trivial-features" ,sbcl-trivial-features)))
3587 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
3588 (synopsis "Common Lisp bindings to OpenSSL")
3589 (description
3590 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3591 code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3592 Development into CL+SSL was done by David Lichteblau.")
3593 (license license:expat))))
3594
3595 (define-public cl-cl+ssl
3596 (sbcl-package->cl-source-package sbcl-cl+ssl))
3597
3598 (define-public ecl-cl+ssl
3599 (sbcl-package->ecl-package sbcl-cl+ssl))
3600
3601 (define-public sbcl-kmrcl
3602 (let ((version "1.111")
3603 (commit "4a27407aad9deb607ffb8847630cde3d041ea25a")
3604 (revision "1"))
3605 (package
3606 (name "sbcl-kmrcl")
3607 (version (git-version version revision commit))
3608 (source
3609 (origin
3610 (method git-fetch)
3611 (uri (git-reference
3612 (url "http://git.kpe.io/kmrcl.git/")
3613 (commit commit)))
3614 (file-name (git-file-name name version))
3615 (sha256
3616 (base32 "06gx04mah5nc8w78s0j8628divbf1s5w7af8w7pvzb2d5mgvrbd2"))))
3617 (build-system asdf-build-system/sbcl)
3618 (inputs
3619 `(("sbcl-rt" ,sbcl-rt)))
3620 (home-page "http://files.kpe.io/kmrcl/")
3621 (synopsis "General utilities for Common Lisp programs")
3622 (description
3623 "KMRCL is a collection of utilities used by a number of Kevin
3624 Rosenberg's Common Lisp packages.")
3625 (license license:llgpl))))
3626
3627 (define-public cl-kmrcl
3628 (sbcl-package->cl-source-package sbcl-kmrcl))
3629
3630 (define-public ecl-kmrcl
3631 (sbcl-package->ecl-package sbcl-kmrcl))
3632
3633 (define-public sbcl-cl-base64
3634 ;; 3.3.4 tests are broken, upstream fixes them.
3635 (let ((commit "577683b18fd880b82274d99fc96a18a710e3987a"))
3636 (package
3637 (name "sbcl-cl-base64")
3638 (version (git-version "3.3.4" "1" commit))
3639 (source
3640 (origin
3641 (method git-fetch)
3642 (uri (git-reference
3643 (url "http://git.kpe.io/cl-base64.git/")
3644 (commit commit)))
3645 (file-name (git-file-name name version))
3646 (sha256
3647 (base32 "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj"))))
3648 (build-system asdf-build-system/sbcl)
3649 (native-inputs ; For tests.
3650 `(("sbcl-ptester" ,sbcl-ptester)
3651 ("sbcl-kmrcl" ,sbcl-kmrcl)))
3652 (home-page "http://files.kpe.io/cl-base64/")
3653 (synopsis
3654 "Common Lisp package to encode and decode base64 with URI support")
3655 (description
3656 "This package provides highly optimized base64 encoding and decoding.
3657 Besides conversion to and from strings, integer conversions are supported.
3658 Encoding with Uniform Resource Identifiers is supported by using a modified
3659 encoding table that uses only URI-compatible characters.")
3660 (license license:bsd-3))))
3661
3662 (define-public cl-base64
3663 (sbcl-package->cl-source-package sbcl-cl-base64))
3664
3665 (define-public ecl-cl-base64
3666 (sbcl-package->ecl-package sbcl-cl-base64))
3667
3668 (define-public sbcl-chunga
3669 (package
3670 (name "sbcl-chunga")
3671 (version "1.1.7")
3672 (source
3673 (origin
3674 (method git-fetch)
3675 (uri (git-reference
3676 (url "https://github.com/edicl/chunga")
3677 (commit (string-append "v" version))))
3678 (file-name (git-file-name name version))
3679 (sha256
3680 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
3681 (build-system asdf-build-system/sbcl)
3682 (inputs
3683 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3684 (home-page "https://edicl.github.io/chunga/")
3685 (synopsis "Portable chunked streams for Common Lisp")
3686 (description
3687 "Chunga implements streams capable of chunked encoding on demand as
3688 defined in RFC 2616.")
3689 (license license:bsd-2)))
3690
3691 (define-public cl-chunga
3692 (sbcl-package->cl-source-package sbcl-chunga))
3693
3694 (define-public ecl-chunga
3695 (sbcl-package->ecl-package sbcl-chunga))
3696
3697 (define-public sbcl-cl-who
3698 (let ((version "1.1.4")
3699 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
3700 (revision "1"))
3701 (package
3702 (name "sbcl-cl-who")
3703 (version (git-version version revision commit))
3704 (source
3705 (origin
3706 (method git-fetch)
3707 (uri (git-reference
3708 (url "https://github.com/edicl/cl-who")
3709 (commit commit)))
3710 (file-name (git-file-name name version))
3711 (sha256
3712 (base32
3713 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
3714 (build-system asdf-build-system/sbcl)
3715 (native-inputs
3716 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3717 (home-page "https://edicl.github.io/cl-who/")
3718 (synopsis "Yet another Lisp markup language")
3719 (description
3720 "There are plenty of Lisp Markup Languages out there - every Lisp
3721 programmer seems to write at least one during his career - and CL-WHO (where
3722 WHO means \"with-html-output\" for want of a better acronym) is probably just
3723 as good or bad as the next one.")
3724 (license license:bsd-2))))
3725
3726 (define-public cl-who
3727 (sbcl-package->cl-source-package sbcl-cl-who))
3728
3729 (define-public ecl-cl-who
3730 (sbcl-package->ecl-package sbcl-cl-who))
3731
3732 (define-public sbcl-chipz
3733 (let ((version "0.8")
3734 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
3735 (revision "1"))
3736 (package
3737 (name "sbcl-chipz")
3738 (version (git-version version revision commit))
3739 (source
3740 (origin
3741 (method git-fetch)
3742 (uri (git-reference
3743 (url "https://github.com/froydnj/chipz")
3744 (commit commit)))
3745 (file-name (git-file-name name version))
3746 (sha256
3747 (base32
3748 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
3749 (build-system asdf-build-system/sbcl)
3750 (native-inputs
3751 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3752 (home-page "http://method-combination.net/lisp/chipz/")
3753 (synopsis
3754 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
3755 data")
3756 (description
3757 "DEFLATE data, defined in RFC1951, forms the core of popular
3758 compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
3759 Chipz also provides for decompressing data in those formats as well. BZIP2 is
3760 the format used by the popular compression tool bzip2.")
3761 ;; The author describes it as "MIT-like"
3762 (license license:expat))))
3763
3764 (define-public cl-chipz
3765 (sbcl-package->cl-source-package sbcl-chipz))
3766
3767 (define-public ecl-chipz
3768 (sbcl-package->ecl-package sbcl-chipz))
3769
3770 (define-public sbcl-drakma
3771 (package
3772 (name "sbcl-drakma")
3773 (version "2.0.7")
3774 (source
3775 (origin
3776 (method git-fetch)
3777 (uri (git-reference
3778 (url "https://github.com/edicl/drakma")
3779 (commit (string-append "v" version))))
3780 (file-name (git-file-name name version))
3781 (sha256
3782 (base32
3783 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
3784 (build-system asdf-build-system/sbcl)
3785 (inputs
3786 `(("sbcl-puri" ,sbcl-puri)
3787 ("sbcl-cl-base64" ,sbcl-cl-base64)
3788 ("sbcl-chunga" ,sbcl-chunga)
3789 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3790 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3791 ("sbcl-chipz" ,sbcl-chipz)
3792 ("sbcl-usocket" ,sbcl-usocket)
3793 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
3794 (native-inputs
3795 `(("sbcl-fiveam" ,sbcl-fiveam)))
3796 (home-page "https://edicl.github.io/drakma/")
3797 (synopsis "HTTP client written in Common Lisp")
3798 (description
3799 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
3800 knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
3801 sockets, SSL, continuable uploads, file uploads, cookies, and more.")
3802 (license license:bsd-2)))
3803
3804 (define-public cl-drakma
3805 (sbcl-package->cl-source-package sbcl-drakma))
3806
3807 (define-public ecl-drakma
3808 (sbcl-package->ecl-package sbcl-drakma))
3809
3810 (define-public sbcl-hunchentoot
3811 (package
3812 (name "sbcl-hunchentoot")
3813 (version "1.2.38")
3814 (source
3815 (origin
3816 (method git-fetch)
3817 (uri (git-reference
3818 (url "https://github.com/edicl/hunchentoot")
3819 (commit (string-append "v" version))))
3820 (file-name (git-file-name "hunchentoot" version))
3821 (sha256
3822 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
3823 (build-system asdf-build-system/sbcl)
3824 (native-inputs
3825 `(("sbcl-cl-who" ,sbcl-cl-who)
3826 ("sbcl-drakma" ,sbcl-drakma)))
3827 (inputs
3828 `(("sbcl-chunga" ,sbcl-chunga)
3829 ("sbcl-cl-base64" ,sbcl-cl-base64)
3830 ("sbcl-cl-fad" ,sbcl-cl-fad)
3831 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3832 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3833 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
3834 ("sbcl-md5" ,sbcl-md5)
3835 ("sbcl-rfc2388" ,sbcl-rfc2388)
3836 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
3837 ("sbcl-usocket" ,sbcl-usocket)))
3838 (home-page "https://edicl.github.io/hunchentoot/")
3839 (synopsis "Web server written in Common Lisp")
3840 (description
3841 "Hunchentoot is a web server written in Common Lisp and at the same
3842 time a toolkit for building dynamic websites. As a stand-alone web server,
3843 Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
3844 connections (keep-alive), and SSL.")
3845 (license license:bsd-2)))
3846
3847 (define-public cl-hunchentoot
3848 (sbcl-package->cl-source-package sbcl-hunchentoot))
3849
3850 (define-public ecl-hunchentoot
3851 (package
3852 (inherit (sbcl-package->ecl-package sbcl-hunchentoot))
3853 (arguments
3854 ;; Tests fail on ECL with 'Socket error in "socket": EINVAL'.
3855 '(#:tests? #f))))
3856
3857 (define-public sbcl-trivial-types
3858 (package
3859 (name "sbcl-trivial-types")
3860 (version "0.0.1")
3861 (source
3862 (origin
3863 (method git-fetch)
3864 (uri (git-reference
3865 (url "https://github.com/m2ym/trivial-types")
3866 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
3867 (file-name (git-file-name name version))
3868 (sha256
3869 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
3870 (build-system asdf-build-system/sbcl)
3871 (home-page "https://github.com/m2ym/trivial-types")
3872 (synopsis "Trivial type definitions for Common Lisp")
3873 (description
3874 "TRIVIAL-TYPES provides missing but important type definitions such as
3875 PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
3876 (license license:llgpl)))
3877
3878 (define-public cl-trivial-types
3879 (sbcl-package->cl-source-package sbcl-trivial-types))
3880
3881 (define-public ecl-trivial-types
3882 (sbcl-package->ecl-package sbcl-trivial-types))
3883
3884 (define-public sbcl-cl-annot
3885 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
3886 (revision "1"))
3887 (package
3888 (name "sbcl-cl-annot")
3889 (version (git-version "0.0.0" revision commit))
3890 (source
3891 (origin
3892 (method git-fetch)
3893 (uri (git-reference
3894 (url "https://github.com/m2ym/cl-annot")
3895 (commit commit)))
3896 (file-name (git-file-name name version))
3897 (sha256
3898 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
3899 (build-system asdf-build-system/sbcl)
3900 (inputs
3901 `(("sbcl-alexandria" ,sbcl-alexandria)))
3902 (home-page "https://github.com/m2ym/cl-annot")
3903 (synopsis "Python-like Annotation Syntax for Common Lisp.")
3904 (description
3905 "@code{cl-annot} is an general annotation library for Common Lisp.")
3906 (license license:llgpl))))
3907
3908 (define-public cl-annot
3909 (sbcl-package->cl-source-package sbcl-cl-annot))
3910
3911 (define-public ecl-cl-annot
3912 (sbcl-package->ecl-package sbcl-cl-annot))
3913
3914 (define-public sbcl-cl-syntax
3915 (package
3916 (name "sbcl-cl-syntax")
3917 (version "0.0.3")
3918 (source
3919 (origin
3920 (method git-fetch)
3921 (uri (git-reference
3922 (url "https://github.com/m2ym/cl-syntax")
3923 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
3924 (file-name (git-file-name "cl-syntax" version))
3925 (sha256
3926 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
3927 (build-system asdf-build-system/sbcl)
3928 (inputs
3929 `(("cl-annot" ,sbcl-cl-annot)
3930 ("cl-interpol" ,sbcl-cl-interpol)
3931 ("named-readtables" ,sbcl-named-readtables)
3932 ("trivial-types" ,sbcl-trivial-types)))
3933 (arguments
3934 '(#:asd-systems '("cl-syntax"
3935 "cl-syntax-annot"
3936 "cl-syntax-interpol")))
3937 (home-page "https://github.com/m2ym/cl-syntax")
3938 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
3939 (description
3940 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
3941 (license license:llgpl)))
3942
3943 (define-public cl-syntax
3944 (sbcl-package->cl-source-package sbcl-cl-syntax))
3945
3946 (define-public ecl-cl-syntax
3947 (sbcl-package->ecl-package sbcl-cl-syntax))
3948
3949 (define-public sbcl-cl-utilities
3950 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
3951 (revision "1"))
3952 (package
3953 (name "sbcl-cl-utilities")
3954 (version (git-version "0.0.0" revision commit))
3955 (source
3956 (origin
3957 (method url-fetch)
3958 (uri
3959 (string-append
3960 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
3961 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
3962 (sha256
3963 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
3964 (build-system asdf-build-system/sbcl)
3965 (arguments
3966 '(#:phases
3967 (modify-phases %standard-phases
3968 (add-after 'unpack 'fix-paths
3969 (lambda* (#:key inputs #:allow-other-keys)
3970 (substitute* "rotate-byte.lisp"
3971 (("in-package :cl-utilities)" all)
3972 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
3973 (home-page "http://common-lisp.net/project/cl-utilities")
3974 (synopsis "A collection of semi-standard utilities")
3975 (description
3976 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
3977 is a collection of Common Lisp Utilities, things that everybody writes since
3978 they're not part of the official standard. There are some very useful things
3979 there; the only problems are that they aren't implemented as well as you'd
3980 like (some aren't implemented at all) and they aren't conveniently packaged
3981 and maintained. It takes quite a bit of work to carefully implement utilities
3982 for common use, commented and documented, with error checking placed
3983 everywhere some dumb user might make a mistake.")
3984 (license license:public-domain))))
3985
3986 (define-public cl-utilities
3987 (sbcl-package->cl-source-package sbcl-cl-utilities))
3988
3989 (define-public ecl-cl-utilities
3990 (sbcl-package->ecl-package sbcl-cl-utilities))
3991
3992 (define-public sbcl-map-set
3993 (let ((commit "7b4b545b68b8")
3994 (revision "1"))
3995 (package
3996 (name "sbcl-map-set")
3997 (version (git-version "0.0.0" revision commit))
3998 (source
3999 (origin
4000 (method url-fetch)
4001 (uri (string-append
4002 "https://bitbucket.org/tarballs_are_good/map-set/get/"
4003 commit ".tar.gz"))
4004 (sha256
4005 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
4006 (build-system asdf-build-system/sbcl)
4007 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
4008 (synopsis "Set-like data structure")
4009 (description
4010 "Implementation of a set-like data structure with constant time
4011 addition, removal, and random selection.")
4012 (license license:bsd-3))))
4013
4014 (define-public cl-map-set
4015 (sbcl-package->cl-source-package sbcl-map-set))
4016
4017 (define-public ecl-map-set
4018 (sbcl-package->ecl-package sbcl-map-set))
4019
4020 (define-public sbcl-quri
4021 (let ((commit "d7f2720568146c6674187f625f115925e6364a7f")
4022 (revision "4"))
4023 (package
4024 (name "sbcl-quri")
4025 (version (git-version "0.1.0" revision commit))
4026 (source
4027 (origin
4028 (method git-fetch)
4029 (uri (git-reference
4030 (url "https://github.com/fukamachi/quri")
4031 (commit commit)))
4032 (file-name (git-file-name name version))
4033 (sha256
4034 (base32 "0yrcvz5ksfr7x8yx741vp65il0fxxaskppq3iyk9bq895s1jn37w"))))
4035 (build-system asdf-build-system/sbcl)
4036 (arguments
4037 ;; Test system must be loaded before, otherwise tests fail with:
4038 ;; Component QURI-ASD::QURI-TEST not found, required by #<SYSTEM
4039 ;; "quri">.
4040 '(#:asd-systems '("quri-test"
4041 "quri")))
4042 (native-inputs `(("sbcl-prove" ,sbcl-prove)))
4043 (inputs `(("sbcl-babel" ,sbcl-babel)
4044 ("sbcl-split-sequence" ,sbcl-split-sequence)
4045 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
4046 ("sbcl-alexandria" ,sbcl-alexandria)))
4047 (home-page "https://github.com/fukamachi/quri")
4048 (synopsis "Yet another URI library for Common Lisp")
4049 (description
4050 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
4051 Lisp. It is intended to be a replacement of PURI.")
4052 (license license:bsd-3))))
4053
4054 (define-public cl-quri
4055 (sbcl-package->cl-source-package sbcl-quri))
4056
4057 (define-public ecl-quri
4058 (sbcl-package->ecl-package sbcl-quri))
4059
4060 (define-public sbcl-myway
4061 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
4062 (revision "1"))
4063 (package
4064 (name "sbcl-myway")
4065 (version (git-version "0.1.0" revision commit))
4066 (source
4067 (origin
4068 (method git-fetch)
4069 (uri (git-reference
4070 (url "https://github.com/fukamachi/myway")
4071 (commit commit)))
4072 (file-name (git-file-name "myway" version))
4073 (sha256
4074 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
4075 (build-system asdf-build-system/sbcl)
4076 (arguments
4077 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
4078 ;; by #<SYSTEM "myway">. Why?
4079 '(#:tests? #f))
4080 (native-inputs
4081 `(("sbcl-prove" ,sbcl-prove)))
4082 (inputs
4083 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4084 ("sbcl-quri" ,sbcl-quri)
4085 ("sbcl-map-set" ,sbcl-map-set)))
4086 (home-page "https://github.com/fukamachi/myway")
4087 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
4088 (description "My Way is a Sinatra-compatible URL routing library.")
4089 (license license:llgpl))))
4090
4091 (define-public cl-myway
4092 (sbcl-package->cl-source-package sbcl-myway))
4093
4094 (define-public ecl-myway
4095 (sbcl-package->ecl-package sbcl-myway))
4096
4097 (define-public sbcl-xsubseq
4098 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
4099 (revision "1"))
4100 (package
4101 (name "sbcl-xsubseq")
4102 (version (git-version "0.0.1" revision commit))
4103 (source
4104 (origin
4105 (method git-fetch)
4106 (uri (git-reference
4107 (url "https://github.com/fukamachi/xsubseq")
4108 (commit commit)))
4109 (file-name (git-file-name name version))
4110 (sha256
4111 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4112 (build-system asdf-build-system/sbcl)
4113 (arguments
4114 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4115 ;; required by #<SYSTEM "xsubseq">. Why?
4116 '(#:tests? #f))
4117 (native-inputs
4118 `(("sbcl-prove" ,sbcl-prove)))
4119 (home-page "https://github.com/fukamachi/xsubseq")
4120 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4121 (description
4122 "XSubseq provides functions to be able to handle \"subseq\"s more
4123 effieiently.")
4124 (license license:bsd-2))))
4125
4126 (define-public cl-xsubseq
4127 (sbcl-package->cl-source-package sbcl-xsubseq))
4128
4129 (define-public ecl-xsubseq
4130 (sbcl-package->ecl-package sbcl-xsubseq))
4131
4132 (define-public sbcl-smart-buffer
4133 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4134 (revision "1"))
4135 (package
4136 (name "sbcl-smart-buffer")
4137 (version (git-version "0.0.1" revision commit))
4138 (source
4139 (origin
4140 (method git-fetch)
4141 (uri (git-reference
4142 (url "https://github.com/fukamachi/smart-buffer")
4143 (commit commit)))
4144 (file-name (git-file-name name version))
4145 (sha256
4146 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4147 (build-system asdf-build-system/sbcl)
4148 (arguments
4149 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4150 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4151 `(#:tests? #f))
4152 (native-inputs
4153 `(("sbcl-prove" ,sbcl-prove)))
4154 (inputs
4155 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4156 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4157 (home-page "https://github.com/fukamachi/smart-buffer")
4158 (synopsis "Smart octets buffer")
4159 (description
4160 "Smart-buffer provides an output buffer which changes the destination
4161 depending on content size.")
4162 (license license:bsd-3))))
4163
4164 (define-public cl-smart-buffer
4165 (sbcl-package->cl-source-package sbcl-smart-buffer))
4166
4167 (define-public ecl-smart-buffer
4168 (sbcl-package->ecl-package sbcl-smart-buffer))
4169
4170 (define-public sbcl-fast-http
4171 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
4172 (revision "2"))
4173 (package
4174 (name "sbcl-fast-http")
4175 (version (git-version "0.2.0" revision commit))
4176 (source
4177 (origin
4178 (method git-fetch)
4179 (uri (git-reference
4180 (url "https://github.com/fukamachi/fast-http")
4181 (commit commit)))
4182 (file-name (git-file-name name version))
4183 (sha256
4184 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
4185 (build-system asdf-build-system/sbcl)
4186 (arguments
4187 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4188 ;; required by #<SYSTEM "fast-http">. Why?
4189 `(#:tests? #f))
4190 (native-inputs
4191 `(("sbcl-prove" ,sbcl-prove)
4192 ("cl-syntax" ,sbcl-cl-syntax)))
4193 (inputs
4194 `(("sbcl-alexandria" ,sbcl-alexandria)
4195 ("sbcl-proc-parse" ,sbcl-proc-parse)
4196 ("sbcl-xsubseq" ,sbcl-xsubseq)
4197 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4198 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4199 (home-page "https://github.com/fukamachi/fast-http")
4200 (synopsis "HTTP request/response parser for Common Lisp")
4201 (description
4202 "@code{fast-http} is a HTTP request/response protocol parser for Common
4203 Lisp.")
4204 ;; Author specified the MIT license
4205 (license license:expat))))
4206
4207 (define-public cl-fast-http
4208 (sbcl-package->cl-source-package sbcl-fast-http))
4209
4210 (define-public ecl-fast-http
4211 (sbcl-package->ecl-package sbcl-fast-http))
4212
4213 (define-public sbcl-static-vectors
4214 (package
4215 (name "sbcl-static-vectors")
4216 (version "1.8.6")
4217 (source
4218 (origin
4219 (method git-fetch)
4220 (uri (git-reference
4221 (url "https://github.com/sionescu/static-vectors")
4222 (commit (string-append "v" version))))
4223 (file-name (git-file-name name version))
4224 (sha256
4225 (base32 "01hwxzhyjkhsd3949g70120g7msw01byf0ia0pbj319q1a3cq7j9"))))
4226 (native-inputs
4227 `(("sbcl-fiveam" ,sbcl-fiveam)))
4228 (inputs
4229 `(("sbcl-alexandria" ,sbcl-alexandria)
4230 ("sbcl-cffi" ,sbcl-cffi)))
4231 (build-system asdf-build-system/sbcl)
4232 (home-page "https://github.com/sionescu/static-vectors")
4233 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4234 (description
4235 "With @code{static-vectors}, you can create vectors allocated in static
4236 memory.")
4237 (license license:expat)))
4238
4239 (define-public cl-static-vectors
4240 (sbcl-package->cl-source-package sbcl-static-vectors))
4241
4242 (define-public ecl-static-vectors
4243 (sbcl-package->ecl-package sbcl-static-vectors))
4244
4245 (define-public sbcl-marshal
4246 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4247 (revision "1"))
4248 (package
4249 (name "sbcl-marshal")
4250 (version (git-version "1.3.0" revision commit))
4251 (source
4252 (origin
4253 (method git-fetch)
4254 (uri (git-reference
4255 (url "https://github.com/wlbr/cl-marshal")
4256 (commit commit)))
4257 (file-name (git-file-name name version))
4258 (sha256
4259 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4260 (build-system asdf-build-system/sbcl)
4261 (home-page "https://github.com/wlbr/cl-marshal")
4262 (synopsis "Simple (de)serialization of Lisp datastructures")
4263 (description
4264 "Simple and fast marshalling of Lisp datastructures. Convert any object
4265 into a string representation, put it on a stream an revive it from there.
4266 Only minimal changes required to make your CLOS objects serializable.")
4267 (license license:expat))))
4268
4269 (define-public cl-marshal
4270 (sbcl-package->cl-source-package sbcl-marshal))
4271
4272 (define-public ecl-marshal
4273 (sbcl-package->ecl-package sbcl-marshal))
4274
4275 (define-public sbcl-checkl
4276 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4277 (revision "1"))
4278 (package
4279 (name "sbcl-checkl")
4280 (version (git-version "0.0.0" revision commit))
4281 (source
4282 (origin
4283 (method git-fetch)
4284 (uri (git-reference
4285 (url "https://github.com/rpav/CheckL")
4286 (commit commit)))
4287 (file-name (git-file-name name version))
4288 (sha256
4289 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4290 (build-system asdf-build-system/sbcl)
4291 (arguments
4292 ;; Error while trying to load definition for system checkl-test from
4293 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4294 ;; is undefined.
4295 '(#:asd-files '("checkl.asd")
4296 #:tests? #f))
4297 (native-inputs
4298 `(("sbcl-fiveam" ,sbcl-fiveam)))
4299 (inputs
4300 `(("sbcl-marshal" ,sbcl-marshal)))
4301 (home-page "https://github.com/rpav/CheckL/")
4302 (synopsis "Dynamic testing for Common Lisp")
4303 (description
4304 "CheckL lets you write tests dynamically, it checks resulting values
4305 against the last run.")
4306 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4307 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4308 ;; stronger of the two and so I think only listing this should suffice.
4309 (license license:llgpl))))
4310
4311 (define-public cl-checkl
4312 (sbcl-package->cl-source-package sbcl-checkl))
4313
4314 (define-public ecl-checkl
4315 (sbcl-package->ecl-package sbcl-checkl))
4316
4317 (define-public sbcl-fast-io
4318 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
4319 (revision "2"))
4320 (package
4321 (name "sbcl-fast-io")
4322 (version (git-version "1.0.0" revision commit))
4323 (source
4324 (origin
4325 (method git-fetch)
4326 (uri (git-reference
4327 (url "https://github.com/rpav/fast-io")
4328 (commit commit)))
4329 (file-name (git-file-name name version))
4330 (sha256
4331 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
4332 (build-system asdf-build-system/sbcl)
4333 (arguments
4334 ;; Error while trying to load definition for system fast-io-test from
4335 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4336 ;; is undefined.
4337 '(#:tests? #f
4338 #:asd-files '("fast-io.asd")))
4339 (native-inputs
4340 `(("sbcl-fiveam" ,sbcl-fiveam)
4341 ("sbcl-checkl" ,sbcl-checkl)))
4342 (inputs
4343 `(("sbcl-alexandria" ,sbcl-alexandria)
4344 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4345 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4346 (home-page "https://github.com/rpav/fast-io")
4347 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4348 (description
4349 "Fast-io is about improving performance to octet-vectors and octet
4350 streams (though primarily the former, while wrapping the latter).")
4351 ;; Author specifies this as NewBSD which is an alias
4352 (license license:bsd-3))))
4353
4354 (define-public cl-fast-io
4355 (sbcl-package->cl-source-package sbcl-fast-io))
4356
4357 (define-public ecl-fast-io
4358 (sbcl-package->ecl-package sbcl-fast-io))
4359
4360 (define-public sbcl-jonathan
4361 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4362 (revision "1"))
4363 (package
4364 (name "sbcl-jonathan")
4365 (version (git-version "0.1.0" revision commit))
4366 (source
4367 (origin
4368 (method git-fetch)
4369 (uri (git-reference
4370 (url "https://github.com/Rudolph-Miller/jonathan")
4371 (commit commit)))
4372 (file-name (git-file-name name version))
4373 (sha256
4374 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4375 (build-system asdf-build-system/sbcl)
4376 (arguments
4377 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4378 ;; required by #<SYSTEM "jonathan">. Why?
4379 `(#:tests? #f))
4380 (native-inputs
4381 `(("sbcl-prove" ,sbcl-prove)))
4382 (inputs
4383 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4384 ("sbcl-fast-io" ,sbcl-fast-io)
4385 ("sbcl-proc-parse" ,sbcl-proc-parse)
4386 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
4387 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
4388 (synopsis "JSON encoder and decoder")
4389 (description
4390 "High performance JSON encoder and decoder. Currently support: SBCL,
4391 CCL.")
4392 ;; Author specifies the MIT license
4393 (license license:expat))))
4394
4395 (define-public cl-jonathan
4396 (sbcl-package->cl-source-package sbcl-jonathan))
4397
4398 (define-public ecl-jonathan
4399 (sbcl-package->ecl-package sbcl-jonathan))
4400
4401 (define-public sbcl-http-body
4402 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4403 (revision "1"))
4404 (package
4405 (name "sbcl-http-body")
4406 (version (git-version "0.1.0" revision commit))
4407 (source
4408 (origin
4409 (method git-fetch)
4410 (uri (git-reference
4411 (url "https://github.com/fukamachi/http-body")
4412 (commit commit)))
4413 (file-name (git-file-name name version))
4414 (sha256
4415 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4416 (build-system asdf-build-system/sbcl)
4417 (arguments
4418 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4419 ;; found, required by #<SYSTEM "http-body">. Why?
4420 `(#:tests? #f))
4421 (native-inputs
4422 `(("sbcl-prove" ,sbcl-prove)))
4423 (inputs
4424 `(("sbcl-fast-http" ,sbcl-fast-http)
4425 ("sbcl-jonathan" ,sbcl-jonathan)
4426 ("sbcl-quri" ,sbcl-quri)))
4427 (home-page "https://github.com/fukamachi/http-body")
4428 (synopsis "HTTP POST data parser")
4429 (description
4430 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4431 supports application/x-www-form-urlencoded, application/json, and
4432 multipart/form-data.")
4433 (license license:bsd-2))))
4434
4435 (define-public cl-http-body
4436 (sbcl-package->cl-source-package sbcl-http-body))
4437
4438 (define-public ecl-http-body
4439 (sbcl-package->ecl-package sbcl-http-body))
4440
4441 (define-public sbcl-circular-streams
4442 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4443 (revision "1"))
4444 (package
4445 (name "sbcl-circular-streams")
4446 (version (git-version "0.1.0" revision commit))
4447 (source
4448 (origin
4449 (method git-fetch)
4450 (uri (git-reference
4451 (url "https://github.com/fukamachi/circular-streams")
4452 (commit commit)))
4453 (file-name (git-file-name name version))
4454 (sha256
4455 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4456 (build-system asdf-build-system/sbcl)
4457 (arguments
4458 ;; The tests depend on cl-test-more which is now prove. Prove
4459 ;; tests aren't working for some reason.
4460 `(#:tests? #f))
4461 (inputs
4462 `(("sbcl-fast-io" ,sbcl-fast-io)
4463 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4464 (home-page "https://github.com/fukamachi/circular-streams")
4465 (synopsis "Circularly readable streams for Common Lisp")
4466 (description
4467 "Circular-Streams allows you to read streams circularly by wrapping real
4468 streams. Once you reach end-of-file of a stream, it's file position will be
4469 reset to 0 and you're able to read it again.")
4470 (license license:llgpl))))
4471
4472 (define-public cl-circular-streams
4473 (sbcl-package->cl-source-package sbcl-circular-streams))
4474
4475 (define-public ecl-circular-streams
4476 (sbcl-package->ecl-package sbcl-circular-streams))
4477
4478 (define-public sbcl-lack
4479 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4480 (revision "1"))
4481 (package
4482 (name "sbcl-lack")
4483 (version (git-version "0.1.0" revision commit))
4484 (source
4485 (origin
4486 (method git-fetch)
4487 (uri (git-reference
4488 (url "https://github.com/fukamachi/lack")
4489 (commit commit)))
4490 (file-name (git-file-name "lack" version))
4491 (sha256
4492 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4493 (build-system asdf-build-system/sbcl)
4494 (native-inputs
4495 `(("prove" ,sbcl-prove)))
4496 (inputs
4497 `(("circular-streams" ,sbcl-circular-streams)
4498 ("http-body" ,sbcl-http-body)
4499 ("ironclad" ,sbcl-ironclad)
4500 ("local-time" ,sbcl-local-time)
4501 ("quri" ,sbcl-quri)
4502 ("trivial-mimes" ,sbcl-trivial-mimes)))
4503 (arguments
4504 '(#:asd-systems '("lack"
4505 "lack-request"
4506 "lack-response"
4507 "lack-component"
4508 "lack-util"
4509 "lack-middleware-backtrace"
4510 "lack-middleware-static")
4511 #:test-asd-file "t-lack.asd"
4512 ;; XXX: Component :CLACK not found
4513 #:tests? #f))
4514 (home-page "https://github.com/fukamachi/lack")
4515 (synopsis "Lack, the core of Clack")
4516 (description
4517 "Lack is a Common Lisp library which allows web applications to be
4518 constructed of modular components. It was originally a part of Clack, however
4519 it's going to be rewritten as an individual project since Clack v2 with
4520 performance and simplicity in mind.")
4521 (license license:llgpl))))
4522
4523 (define-public cl-lack
4524 (sbcl-package->cl-source-package sbcl-lack))
4525
4526 (define-public ecl-lack
4527 (sbcl-package->ecl-package sbcl-lack))
4528
4529 (define-public sbcl-local-time
4530 (let ((commit "a177eb911c0e8116e2bfceb79049265a884b701b")
4531 (revision "2"))
4532 (package
4533 (name "sbcl-local-time")
4534 (version (git-version "1.0.6" revision commit))
4535 (source
4536 (origin
4537 (method git-fetch)
4538 (uri (git-reference
4539 (url "https://github.com/dlowe-net/local-time")
4540 (commit commit)))
4541 (file-name (git-file-name name version))
4542 (sha256
4543 (base32 "0wld28xx20k0ysgg6akic5lg4vkjd0iyhv86m388xfrv8xh87wii"))))
4544 (build-system asdf-build-system/sbcl)
4545 (native-inputs
4546 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
4547 (home-page "https://common-lisp.net/project/local-time/")
4548 (synopsis "Time manipulation library for Common Lisp")
4549 (description
4550 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4551 dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4552 Long Painful History of Time\".")
4553 (license license:expat))))
4554
4555 (define-public cl-local-time
4556 (sbcl-package->cl-source-package sbcl-local-time))
4557
4558 (define-public ecl-local-time
4559 (sbcl-package->ecl-package sbcl-local-time))
4560
4561 (define-public sbcl-trivial-mimes
4562 (let ((commit "a741fc2f567a4f86b853fd4677d75e62c03e51d9")
4563 (revision "2"))
4564 (package
4565 (name "sbcl-trivial-mimes")
4566 (version (git-version "1.1.0" revision commit))
4567 (source
4568 (origin
4569 (method git-fetch)
4570 (uri (git-reference
4571 (url "https://github.com/Shinmera/trivial-mimes")
4572 (commit commit)))
4573 (file-name (git-file-name name version))
4574 (sha256
4575 (base32 "00kcm17q5plpzdj1qwg83ldhxksilgpcdkf3m9azxcdr968xs9di"))))
4576 (build-system asdf-build-system/sbcl)
4577 (native-inputs
4578 `(("stefil" ,sbcl-hu.dwim.stefil)))
4579 (inputs
4580 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4581 (home-page "https://shinmera.github.io/trivial-mimes/")
4582 (synopsis "Tiny Common Lisp library to detect mime types in files")
4583 (description
4584 "This is a teensy library that provides some functions to determine the
4585 mime-type of a file.")
4586 (license license:zlib))))
4587
4588 (define-public cl-trivial-mimes
4589 (sbcl-package->cl-source-package sbcl-trivial-mimes))
4590
4591 (define-public ecl-trivial-mimes
4592 (sbcl-package->ecl-package sbcl-trivial-mimes))
4593
4594 (define-public sbcl-ningle
4595 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
4596 (revision "1"))
4597 (package
4598 (name "sbcl-ningle")
4599 (version (git-version "0.3.0" revision commit))
4600 (source
4601 (origin
4602 (method git-fetch)
4603 (uri (git-reference
4604 (url "https://github.com/fukamachi/ningle")
4605 (commit commit)))
4606 (file-name (git-file-name name version))
4607 (sha256
4608 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
4609 (build-system asdf-build-system/sbcl)
4610 (arguments
4611 ;; TODO: pull in clack-test
4612 '(#:tests? #f
4613 #:phases
4614 (modify-phases %standard-phases
4615 (delete 'cleanup-files)
4616 (delete 'cleanup)
4617 (add-before 'cleanup 'combine-fasls
4618 (lambda* (#:key outputs #:allow-other-keys)
4619 (let* ((out (assoc-ref outputs "out"))
4620 (lib (string-append out "/lib/sbcl"))
4621 (ningle-path (string-append lib "/ningle"))
4622 (fasl-files (find-files out "\\.fasl$")))
4623 (mkdir-p ningle-path)
4624 (let ((fasl-path (lambda (name)
4625 (string-append ningle-path
4626 "/"
4627 (basename name)
4628 "--system.fasl"))))
4629 (for-each (lambda (file)
4630 (rename-file file
4631 (fasl-path
4632 (basename file ".fasl"))))
4633 fasl-files))
4634 fasl-files)
4635 #t)))))
4636 (native-inputs
4637 `(("sbcl-prove" ,sbcl-prove)))
4638 (inputs
4639 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4640 ("sbcl-myway" ,sbcl-myway)
4641 ("sbcl-lack" ,sbcl-lack)
4642 ("sbcl-alexandria" ,sbcl-alexandria)
4643 ("sbcl-babel" ,sbcl-babel)))
4644 (home-page "https://8arrow.org/ningle/")
4645 (synopsis "Super micro framework for Common Lisp")
4646 (description
4647 "Ningle is a lightweight web application framework for Common Lisp.")
4648 (license license:llgpl))))
4649
4650 (define-public cl-ningle
4651 (sbcl-package->cl-source-package sbcl-ningle))
4652
4653 (define-public ecl-ningle
4654 (sbcl-package->ecl-package sbcl-ningle))
4655
4656 (define-public sbcl-cl-fastcgi
4657 (let ((commit "de8b49b26de9863996ec18db28af8ab7e8ac4e20")
4658 (revision "2"))
4659 (package
4660 (name "sbcl-cl-fastcgi")
4661 (version (git-version "0.2" revision commit))
4662 (source
4663 (origin
4664 (method git-fetch)
4665 (uri (git-reference
4666 (url "https://github.com/KDr2/cl-fastcgi/")
4667 (commit commit)))
4668 (file-name (git-file-name name version))
4669 (sha256
4670 (base32 "0xgmhx766q4nmrvn5z7ag3ikpr9phlh8ypi8b14azshq9lqbq0m7"))))
4671 (build-system asdf-build-system/sbcl)
4672 (inputs
4673 `(("usocket" ,sbcl-usocket)
4674 ("cffi" ,sbcl-cffi)
4675 ("fcgi" ,fcgi)))
4676 (arguments
4677 `(#:phases
4678 (modify-phases %standard-phases
4679 (add-after 'unpack 'fix-paths
4680 (lambda* (#:key inputs #:allow-other-keys)
4681 (substitute* "cl-fastcgi.lisp"
4682 (("\"libfcgi.so\"")
4683 (string-append
4684 "\""
4685 (assoc-ref inputs "fcgi") "/lib/libfcgi.so\""))))))))
4686 (home-page "https://kdr2.com/project/cl-fastcgi.html")
4687 (synopsis "FastCGI wrapper for Common Lisp")
4688 (description
4689 "CL-FastCGI is a generic version of SB-FastCGI, targeting to run on
4690 mostly Common Lisp implementation.")
4691 (license license:bsd-2))))
4692
4693 (define-public cl-fastcgi
4694 (sbcl-package->cl-source-package sbcl-cl-fastcgi))
4695
4696 (define-public ecl-cl-fastcgi
4697 (sbcl-package->ecl-package sbcl-cl-fastcgi))
4698
4699 (define-public sbcl-clack
4700 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
4701 (revision "1"))
4702 (package
4703 (name "sbcl-clack")
4704 (version (git-version "2.0.0" revision commit))
4705 (source
4706 (origin
4707 (method git-fetch)
4708 (uri (git-reference
4709 (url "https://github.com/fukamachi/clack")
4710 (commit commit)))
4711 (file-name (git-file-name name version))
4712 (sha256
4713 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
4714 (build-system asdf-build-system/sbcl)
4715 (inputs
4716 `(("alexandria" ,sbcl-alexandria)
4717 ("bordeaux-threads" ,sbcl-bordeaux-threads)
4718 ("cl-fastcgi" ,sbcl-cl-fastcgi)
4719 ("flexi-streams" ,sbcl-flexi-streams)
4720 ("hunchentoot" ,sbcl-hunchentoot)
4721 ("lack" ,sbcl-lack)
4722 ("split-sequence" ,sbcl-split-sequence)
4723 ("usocket" ,sbcl-usocket)
4724 ("quri" ,sbcl-quri)))
4725 (arguments
4726 '(#:asd-systems '("clack"
4727 "clack-handler-fcgi"
4728 "clack-socket"
4729 "clack-handler-hunchentoot")))
4730 (home-page "https://github.com/fukamachi/clack")
4731 (synopsis "Web Application Environment for Common Lisp")
4732 (description
4733 "Clack is a web application environment for Common Lisp inspired by
4734 Python's WSGI and Ruby's Rack.")
4735 (license license:llgpl))))
4736
4737 (define-public cl-clack
4738 (sbcl-package->cl-source-package sbcl-clack))
4739
4740 (define-public ecl-clack
4741 (sbcl-package->ecl-package sbcl-clack))
4742
4743 (define-public sbcl-cl-log
4744 (let ((commit "8f4b766d51e02245c310526cf1e4534ce634f837")
4745 (revision "1"))
4746 (package
4747 (name "sbcl-cl-log")
4748 (version "1.0.1")
4749 (source
4750 (origin
4751 (method git-fetch)
4752 (uri (git-reference
4753 (url "https://github.com/nicklevine/cl-log")
4754 (commit commit)))
4755 (sha256
4756 (base32 "1r3z9swy1b59swvaa5b97is9ysrfmjvjjhhw56p7p5hqg93b92ak"))
4757 (file-name (git-file-name "cl-log" version))))
4758 (build-system asdf-build-system/sbcl)
4759 (synopsis "Common Lisp general purpose logging utility")
4760 (description "CL-LOG is a general purpose logging utility, loosely modelled
4761 in some respects after Gary King's Log5. Its features include: logging to
4762 several destinations at once, via \"messengers\", each messenger is tailored to
4763 accept some log messages and reject others, and this tailoring can be changed
4764 on-the-fly, very rapid processing of messages which are rejected by all
4765 messengers, fully independent use of the utility by several different
4766 sub-systems in an application, support for messengers which cl:format text to a
4767 stream, support for messengers which do not invoke cl:format, timestamps in
4768 theory accurate to internal-time-units-per-second.")
4769 (home-page "https://github.com/nicklevine/cl-log")
4770 (license license:expat))))
4771
4772 (define-public cl-log
4773 (sbcl-package->cl-source-package sbcl-cl-log))
4774
4775 (define-public ecl-cl-log
4776 (sbcl-package->ecl-package sbcl-cl-log))
4777
4778 (define-public sbcl-log4cl
4779 (let ((commit "8c48d6f41d3a1475d0a91eed0638b9eecc398e35")
4780 (revision "1"))
4781 (package
4782 (name "sbcl-log4cl")
4783 (version (git-version "1.1.3" revision commit))
4784 (source
4785 (origin
4786 (method git-fetch)
4787 (uri (git-reference
4788 (url "https://github.com/sharplispers/log4cl")
4789 (commit commit)))
4790 (file-name (git-file-name "log4cl" version))
4791 (sha256
4792 (base32 "0166d9aip366pbpdk5gsi2f6xad6q61lssxgbrypa8zslwjn8736"))))
4793 (build-system asdf-build-system/sbcl)
4794 (native-inputs
4795 `(("stefil" ,sbcl-stefil)))
4796 (inputs
4797 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
4798 (home-page "https://github.com/7max/log4cl")
4799 (synopsis "Common Lisp logging framework, modeled after Log4J")
4800 (description
4801 "This is a Common Lisp logging framework that can log at various levels
4802 and mix text with expressions.")
4803 (license license:asl2.0))))
4804
4805 (define-public cl-log4cl
4806 (sbcl-package->cl-source-package sbcl-log4cl))
4807
4808 (define-public ecl-log4cl
4809 (sbcl-package->ecl-package sbcl-log4cl))
4810
4811 (define-public sbcl-printv
4812 (let ((commit "646d31978dbbb460fffb160fd65bb2be9a5a434e")
4813 (revision "1"))
4814 (package
4815 (name "sbcl-printv")
4816 (version (git-version "0.1.0" revision commit))
4817 (source
4818 (origin
4819 (method git-fetch)
4820 (uri (git-reference
4821 (url "https://github.com/danlentz/printv")
4822 (commit commit)))
4823 (file-name (git-file-name "printv" version))
4824 (sha256
4825 (base32 "08jvy82abm7qi3wrxh6gvmwg9gy0zzhg4cfqajdwrggbah8mj5a6"))))
4826 (build-system asdf-build-system/sbcl)
4827 (home-page "https://github.com/danlentz/printv")
4828 (synopsis "Common Lisp tracing and debug-logging macro")
4829 (description
4830 "@code{PRINTV} is a \"batteries-included\" tracing and debug-logging
4831 macro for Common Lisp.")
4832 (license license:asl2.0))))
4833
4834 (define-public ecl-printv
4835 (sbcl-package->ecl-package sbcl-printv))
4836
4837 (define-public cl-printv
4838 (sbcl-package->cl-source-package sbcl-printv))
4839
4840 (define-public sbcl-verbose
4841 (let ((commit "c5b7ecd465be61b35af17ef57564697b88397174")
4842 (revision "1"))
4843 (package
4844 (name "sbcl-verbose")
4845 (version (git-version "2.0.0" revision commit))
4846 (source
4847 (origin
4848 (method git-fetch)
4849 (uri (git-reference
4850 (url "https://github.com/Shinmera/verbose/")
4851 (commit commit)))
4852 (file-name (git-file-name "verbose" version))
4853 (sha256
4854 (base32 "0r51ydj5v7afi2jrlscbhxprv13d9vzg5316g1yzwaxc1kzsdsw6"))))
4855 (build-system asdf-build-system/sbcl)
4856 (inputs
4857 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
4858 ("dissect" ,sbcl-dissect)
4859 ("documentation-utils" ,sbcl-documentation-utils)
4860 ("local-time" ,sbcl-local-time)
4861 ("piping" ,sbcl-piping)))
4862 (home-page "https://shinmera.github.io/verbose/")
4863 (synopsis "Logging framework using the piping library")
4864 (description
4865 "This is a Common Lisp library providing logging faciltiy similar to
4866 @code{CL-LOG} and @code{LOG4CL}.")
4867 (license license:zlib))))
4868
4869 (define-public ecl-verbose
4870 (sbcl-package->ecl-package sbcl-verbose))
4871
4872 (define-public cl-verbose
4873 (sbcl-package->cl-source-package sbcl-verbose))
4874
4875 (define-public sbcl-find-port
4876 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
4877 (revision "1"))
4878 (package
4879 (name "sbcl-find-port")
4880 (build-system asdf-build-system/sbcl)
4881 (version "0.1")
4882 (home-page "https://github.com/eudoxia0/find-port")
4883 (source
4884 (origin
4885 (method git-fetch)
4886 (uri (git-reference
4887 (url home-page)
4888 (commit commit)))
4889 (file-name (git-file-name name version))
4890 (sha256
4891 (base32
4892 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
4893 (native-inputs
4894 `(("fiveam" ,sbcl-fiveam)))
4895 (inputs
4896 `(("sbcl-usocket" ,sbcl-usocket)))
4897 (synopsis "Find open ports programmatically in Common Lisp")
4898 (description "This is a small Common Lisp library that finds an open
4899 port within a range.")
4900 (license license:expat))))
4901
4902 (define-public cl-find-port
4903 (sbcl-package->cl-source-package sbcl-find-port))
4904
4905 (define-public ecl-find-port
4906 (sbcl-package->ecl-package sbcl-find-port))
4907
4908 (define-public sbcl-clunit
4909 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
4910 (revision "1"))
4911 (package
4912 (name "sbcl-clunit")
4913 (version (git-version "0.2.3" revision commit))
4914 (source
4915 (origin
4916 (method git-fetch)
4917 (uri (git-reference
4918 (url "https://github.com/tgutu/clunit")
4919 (commit commit)))
4920 (file-name (git-file-name name version))
4921 (sha256
4922 (base32
4923 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
4924 (build-system asdf-build-system/sbcl)
4925 (synopsis "CLUnit is a Common Lisp unit testing framework")
4926 (description
4927 "CLUnit is a Common Lisp unit testing framework. It is designed
4928 to be easy to use so that you can quickly start testing. CLUnit
4929 provides a rich set of features aimed at improving your unit testing
4930 experience.")
4931 (home-page "https://tgutu.github.io/clunit/")
4932 ;; MIT License
4933 (license license:expat))))
4934
4935 (define-public cl-clunit
4936 (sbcl-package->cl-source-package sbcl-clunit))
4937
4938 (define-public ecl-clunit
4939 (sbcl-package->ecl-package sbcl-clunit))
4940
4941 (define-public sbcl-py4cl
4942 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
4943 (revision "1"))
4944 (package
4945 (name "sbcl-py4cl")
4946 (version (git-version "0.0.0" revision commit))
4947 (source
4948 (origin
4949 (method git-fetch)
4950 (uri (git-reference
4951 (url "https://github.com/bendudson/py4cl")
4952 (commit commit)))
4953 (file-name (git-file-name name version))
4954 (sha256
4955 (base32
4956 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
4957 (modules '((guix build utils)))))
4958 (build-system asdf-build-system/sbcl)
4959 (native-inputs
4960 `(("sbcl-clunit" ,sbcl-clunit)))
4961 (inputs
4962 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
4963 (propagated-inputs
4964 ;; This package doesn't do anything without python available
4965 `(("python" ,python)
4966 ;; For multi-dimensional array support
4967 ("python-numpy" ,python-numpy)))
4968 (arguments
4969 '(#:phases
4970 (modify-phases %standard-phases
4971 (add-after 'unpack 'replace-*base-directory*-var
4972 (lambda* (#:key outputs #:allow-other-keys)
4973 ;; In the ASD, the author makes an attempt to
4974 ;; programatically determine the location of the
4975 ;; source-code so lisp can call into "py4cl.py". We can
4976 ;; hard-code this since we know where this file will
4977 ;; reside.
4978 (substitute* "src/callpython.lisp"
4979 (("py4cl/config:\\*base-directory\\*")
4980 (string-append
4981 "\""
4982 (assoc-ref outputs "out")
4983 "/share/common-lisp/sbcl-source/py4cl/"
4984 "\""))))))))
4985 (synopsis "Call python from Common Lisp")
4986 (description
4987 "Py4CL is a bridge between Common Lisp and Python, which enables Common
4988 Lisp to interact with Python code. It uses streams to communicate with a
4989 separate python process, the approach taken by cl4py. This is different to
4990 the CFFI approach used by burgled-batteries, but has the same goal.")
4991 (home-page "https://github.com/bendudson/py4cl")
4992 ;; MIT License
4993 (license license:expat))))
4994
4995 (define-public cl-py4cl
4996 (sbcl-package->cl-source-package sbcl-py4cl))
4997
4998 (define-public ecl-py4cl
4999 (sbcl-package->ecl-package sbcl-py4cl))
5000
5001 (define-public sbcl-parse-declarations
5002 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
5003 (revision "1"))
5004 (package
5005 (name "sbcl-parse-declarations")
5006 (version (git-version "1.0.0" revision commit))
5007 (source
5008 (origin
5009 (method git-fetch)
5010 (uri (git-reference
5011 (url (string-append
5012 "https://gitlab.common-lisp.net/parse-declarations/"
5013 "parse-declarations.git"))
5014 (commit commit)))
5015 (file-name (git-file-name name version))
5016 (sha256
5017 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
5018 (build-system asdf-build-system/sbcl)
5019 (arguments
5020 `(#:asd-systems '("parse-declarations-1.0")))
5021 (home-page "https://common-lisp.net/project/parse-declarations/")
5022 (synopsis "Parse, filter, and build declarations")
5023 (description
5024 "Parse-Declarations is a Common Lisp library to help writing
5025 macros which establish bindings. To be semantically correct, such
5026 macros must take user declarations into account, as these may affect
5027 the bindings they establish. Yet the ANSI standard of Common Lisp does
5028 not provide any operators to work with declarations in a convenient,
5029 high-level way. This library provides such operators.")
5030 ;; MIT License
5031 (license license:expat))))
5032
5033 (define-public cl-parse-declarations
5034 (sbcl-package->cl-source-package sbcl-parse-declarations))
5035
5036 (define-public ecl-parse-declarations
5037 (sbcl-package->ecl-package sbcl-parse-declarations))
5038
5039 (define-public sbcl-cl-quickcheck
5040 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5041 (revision "1"))
5042 (package
5043 (name "sbcl-cl-quickcheck")
5044 (version (git-version "0.0.4" revision commit))
5045 (source
5046 (origin
5047 (method git-fetch)
5048 (uri (git-reference
5049 (url "https://github.com/mcandre/cl-quickcheck")
5050 (commit commit)))
5051 (file-name (git-file-name name version))
5052 (sha256
5053 (base32
5054 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5055 (build-system asdf-build-system/sbcl)
5056 (synopsis
5057 "Common Lisp port of the QuickCheck unit test framework")
5058 (description
5059 "Common Lisp port of the QuickCheck unit test framework")
5060 (home-page "https://github.com/mcandre/cl-quickcheck")
5061 ;; MIT
5062 (license license:expat))))
5063
5064 (define-public cl-quickcheck
5065 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5066
5067 (define-public ecl-cl-quickcheck
5068 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5069
5070 (define-public sbcl-burgled-batteries3
5071 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
5072 (revision "2"))
5073 (package
5074 (name "sbcl-burgled-batteries3")
5075 (version (git-version "0.0.0" revision commit))
5076 (source
5077 (origin
5078 (method git-fetch)
5079 (uri (git-reference
5080 (url "https://github.com/snmsts/burgled-batteries3")
5081 (commit commit)))
5082 (file-name (git-file-name name version))
5083 (sha256
5084 (base32
5085 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
5086 (build-system asdf-build-system/sbcl)
5087 (arguments
5088 `(#:tests? #f
5089 #:modules (((guix build python-build-system) #:select (python-version))
5090 ,@%asdf-build-system-modules)
5091 #:imported-modules ((guix build python-build-system)
5092 ,@%asdf-build-system-modules)
5093 #:phases
5094 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
5095 (add-after 'unpack 'set-*cpython-include-dir*-var
5096 (lambda* (#:key inputs #:allow-other-keys)
5097 (let ((python (assoc-ref inputs "python")))
5098 (setenv "BB_PYTHON3_INCLUDE_DIR"
5099 (string-append python "/include/python"
5100 (python-version python)))
5101 (setenv "BB_PYTHON3_DYLIB"
5102 (string-append python "/lib/libpython3.so"))
5103 #t)))
5104 (add-after 'unpack 'adjust-for-python-3.8
5105 (lambda _
5106 ;; This method is no longer part of the public API.
5107 (substitute* "ffi-interface.lisp"
5108 ((".*PyEval_ReInitThreads.*")
5109 ""))
5110 #t)))))
5111 (native-inputs
5112 `(("sbcl-cl-fad" ,sbcl-cl-fad)
5113 ("sbcl-lift" ,sbcl-lift)
5114 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5115 (inputs
5116 `(("python" ,python)
5117 ("sbcl-cffi" ,sbcl-cffi)
5118 ("sbcl-alexandria" , sbcl-alexandria)
5119 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5120 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5121 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5122 (description
5123 "This package provides a shim between Python3 (specifically, the
5124 CPython implementation of Python) and Common Lisp.")
5125 (home-page "https://github.com/snmsts/burgled-batteries3")
5126 (license license:expat))))
5127
5128 (define-public cl-burgled-batteries3
5129 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5130
5131 (define-public ecl-burgled-batteries3
5132 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5133
5134 (define-public sbcl-metabang-bind
5135 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5136 (revision "1"))
5137 (package
5138 (name "sbcl-metabang-bind")
5139 (version (git-version "0.8.0" revision commit))
5140 (source
5141 (origin
5142 (method git-fetch)
5143 (uri (git-reference
5144 (url "https://github.com/gwkkwg/metabang-bind")
5145 (commit commit)))
5146 (file-name (git-file-name name version))
5147 (sha256
5148 (base32
5149 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5150 (build-system asdf-build-system/sbcl)
5151 (native-inputs
5152 `(("sbcl-lift" ,sbcl-lift)))
5153 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5154 (description
5155 "Bind extends the idea of of let and destructing to provide a uniform
5156 syntax for all your accessor needs. It combines @code{let},
5157 @code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5158 editing, property or association-lists, and @code{multiple-value-bind} and a
5159 whole lot more into a single form.")
5160 (home-page "https://common-lisp.net/project/metabang-bind/")
5161 ;; MIT License
5162 (license license:expat))))
5163
5164 (define-public cl-metabang-bind
5165 (sbcl-package->cl-source-package sbcl-metabang-bind))
5166
5167 (define-public ecl-metabang-bind
5168 (sbcl-package->ecl-package sbcl-metabang-bind))
5169
5170 (define-public sbcl-fare-utils
5171 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5172 (revision "1"))
5173 (package
5174 (name "sbcl-fare-utils")
5175 (version (git-version "1.0.0.5" revision commit))
5176 (source
5177 (origin
5178 (method git-fetch)
5179 (uri
5180 (git-reference
5181 (url
5182 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5183 (commit commit)))
5184 (file-name (git-file-name name version))
5185 (sha256
5186 (base32
5187 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5188 (build-system asdf-build-system/sbcl)
5189 (arguments
5190 `(#:test-asd-file "test/fare-utils-test.asd"))
5191 (native-inputs
5192 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5193 (synopsis "Collection of utilities and data structures")
5194 (description
5195 "fare-utils is a small collection of utilities. It contains a lot of
5196 basic everyday functions and macros.")
5197 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5198 ;; MIT License
5199 (license license:expat))))
5200
5201 (define-public cl-fare-utils
5202 (sbcl-package->cl-source-package sbcl-fare-utils))
5203
5204 (define-public ecl-fare-utils
5205 (sbcl-package->ecl-package sbcl-fare-utils))
5206
5207 (define-public sbcl-trivial-utf-8
5208 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5209 (revision "1"))
5210 (package
5211 (name "sbcl-trivial-utf-8")
5212 (version (git-version "0.0.0" revision commit))
5213 (source
5214 (origin
5215 (method git-fetch)
5216 (uri
5217 (git-reference
5218 (url (string-append "https://gitlab.common-lisp.net/"
5219 "trivial-utf-8/trivial-utf-8.git"))
5220 (commit commit)))
5221 (file-name (git-file-name name version))
5222 (sha256
5223 (base32
5224 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5225 (arguments
5226 ;; Guix incorrectly assumes the "8" is part of the version
5227 ;; number and lobs it off.
5228 `(#:asd-systems '("trivial-utf-8")))
5229 (build-system asdf-build-system/sbcl)
5230 (synopsis "UTF-8 input/output library")
5231 (description
5232 "The Babel library solves a similar problem while understanding more
5233 encodings. Trivial UTF-8 was written before Babel existed, but for new
5234 projects you might be better off going with Babel. The one plus that Trivial
5235 UTF-8 has is that it doesn't depend on any other libraries.")
5236 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5237 (license license:bsd-3))))
5238
5239 (define-public cl-trivial-utf-8
5240 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5241
5242 (define-public ecl-trivial-utf-8
5243 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5244
5245 (define-public sbcl-idna
5246 (package
5247 (name "sbcl-idna")
5248 (build-system asdf-build-system/sbcl)
5249 (version "0.2.2")
5250 (home-page "https://github.com/antifuchs/idna")
5251 (source
5252 (origin
5253 (method git-fetch)
5254 (uri (git-reference
5255 (url home-page)
5256 (commit version)))
5257 (file-name (git-file-name name version))
5258 (sha256
5259 (base32
5260 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5261 (inputs
5262 `(("split-sequence" ,sbcl-split-sequence)))
5263 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5264 (description "This Common Lisp library provides string encoding and
5265 decoding routines for IDNA, the International Domain Names in Applications.")
5266 (license license:expat)))
5267
5268 (define-public cl-idna
5269 (sbcl-package->cl-source-package sbcl-idna))
5270
5271 (define-public ecl-idna
5272 (sbcl-package->ecl-package sbcl-idna))
5273
5274 (define-public sbcl-swap-bytes
5275 (package
5276 (name "sbcl-swap-bytes")
5277 (build-system asdf-build-system/sbcl)
5278 (version "1.2")
5279 (home-page "https://github.com/sionescu/swap-bytes")
5280 (source
5281 (origin
5282 (method git-fetch)
5283 (uri (git-reference
5284 (url home-page)
5285 (commit (string-append "v" version))))
5286 (file-name (git-file-name name version))
5287 (sha256
5288 (base32
5289 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
5290 (inputs
5291 `(("trivial-features" ,sbcl-trivial-features)))
5292 (native-inputs
5293 `(("fiveam" ,sbcl-fiveam)))
5294 (synopsis "Efficient endianness conversion for Common Lisp")
5295 (description "This Common Lisp library provides optimized byte-swapping
5296 primitives. The library can change endianness of unsigned integers of length
5297 1/2/4/8. Very useful in implementing various network protocols and file
5298 formats.")
5299 (license license:expat)))
5300
5301 (define-public cl-swap-bytes
5302 (sbcl-package->cl-source-package sbcl-swap-bytes))
5303
5304 (define-public ecl-swap-bytes
5305 (sbcl-package->ecl-package sbcl-swap-bytes))
5306
5307 (define-public sbcl-iolib
5308 ;; Latest release is from June 2017.
5309 (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
5310 (revision "2"))
5311 (package
5312 (name "sbcl-iolib")
5313 (version (git-version "0.8.3" revision commit))
5314 (home-page "https://github.com/sionescu/iolib")
5315 (source
5316 (origin
5317 (method git-fetch)
5318 (uri (git-reference
5319 (url home-page)
5320 (commit commit)))
5321 (file-name (git-file-name name version))
5322 (sha256
5323 (base32
5324 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
5325 (build-system asdf-build-system/sbcl)
5326 (inputs
5327 `(("alexandria" ,sbcl-alexandria)
5328 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5329 ("cffi" ,sbcl-cffi)
5330 ("idna" ,sbcl-idna)
5331 ("libfixposix" ,libfixposix)
5332 ("split-sequence" ,sbcl-split-sequence)
5333 ("swap-bytes" ,sbcl-swap-bytes)))
5334 (arguments
5335 '(#:asd-files '("iolib.asdf.asd"
5336 "iolib.conf.asd"
5337 "iolib.common-lisp.asd"
5338 "iolib.base.asd"
5339 "iolib.asd")
5340 #:phases
5341 (modify-phases %standard-phases
5342 (add-after 'unpack 'fix-paths
5343 (lambda* (#:key inputs #:allow-other-keys)
5344 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5345 (("\\(:default \"libfixposix\"\\)")
5346 (string-append
5347 "(:default \""
5348 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5349 ;; Socket tests need Internet access, disable them.
5350 (substitute* "iolib.asd"
5351 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5352 "")))))))
5353 (synopsis "Common Lisp I/O library")
5354 (description "IOlib is to be a better and more modern I/O library than
5355 the standard Common Lisp library. It contains a socket library, a DNS
5356 resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5357 and @code{kqueue(2)}), a pathname library and file-system utilities.")
5358 (license license:expat))))
5359
5360 (define-public cl-iolib
5361 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
5362 (package
5363 (inherit parent)
5364 (propagated-inputs
5365 ;; Need header to compile.
5366 `(("libfixposix" ,libfixposix)
5367 ,@(package-propagated-inputs parent))))))
5368
5369 (define-public ecl-iolib
5370 (sbcl-package->ecl-package sbcl-iolib))
5371
5372 (define-public sbcl-ieee-floats
5373 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5374 (revision "1"))
5375 (package
5376 (name "sbcl-ieee-floats")
5377 (build-system asdf-build-system/sbcl)
5378 (version (git-version "20170924" revision commit))
5379 (home-page "https://github.com/marijnh/ieee-floats/")
5380 (source
5381 (origin
5382 (method git-fetch)
5383 (uri (git-reference
5384 (url home-page)
5385 (commit commit)))
5386 (file-name (git-file-name name version))
5387 (sha256
5388 (base32
5389 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5390 (native-inputs
5391 `(("fiveam" ,sbcl-fiveam)))
5392 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5393 (description "This is a Common Lisp library that converts
5394 floating point values to IEEE 754 binary representation.")
5395 (license license:bsd-3))))
5396
5397 (define-public cl-ieee-floats
5398 (sbcl-package->cl-source-package sbcl-ieee-floats))
5399
5400 (define-public ecl-ieee-floats
5401 (sbcl-package->ecl-package sbcl-ieee-floats))
5402
5403 (define sbcl-closure-common
5404 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5405 (revision "1"))
5406 (package
5407 (name "sbcl-closure-common")
5408 (build-system asdf-build-system/sbcl)
5409 (version (git-version "20101006" revision commit))
5410 (home-page "https://common-lisp.net/project/cxml/")
5411 (source
5412 (origin
5413 (method git-fetch)
5414 (uri (git-reference
5415 (url "https://github.com/sharplispers/closure-common")
5416 (commit commit)))
5417 (file-name (git-file-name name version))
5418 (sha256
5419 (base32
5420 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5421 (inputs
5422 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5423 ("babel" ,sbcl-babel)))
5424 (synopsis "Support Common Lisp library for CXML")
5425 (description "Closure-common is an internal helper library. The name
5426 Closure is a reference to the web browser it was originally written for.")
5427 ;; TODO: License?
5428 (license #f))))
5429
5430 (define-public sbcl-cxml
5431 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5432 (revision "1"))
5433 (package
5434 (name "sbcl-cxml")
5435 (version (git-version "0.0.0" revision commit))
5436 (source
5437 (origin
5438 (method git-fetch)
5439 (uri (git-reference
5440 (url "https://github.com/sharplispers/cxml")
5441 (commit commit)))
5442 (file-name (git-file-name name version))
5443 (sha256
5444 (base32
5445 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5446 (build-system asdf-build-system/sbcl)
5447 (inputs
5448 `(("closure-common" ,sbcl-closure-common)
5449 ("puri" ,sbcl-puri)
5450 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5451 (synopsis "Common Lisp XML parser")
5452 (description "CXML implements a namespace-aware, validating XML 1.0
5453 parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5454 offered, one SAX-like, the other similar to StAX.")
5455 (home-page "https://common-lisp.net/project/cxml/")
5456 (license license:llgpl))))
5457
5458 (define-public cl-cxml
5459 (sbcl-package->cl-source-package sbcl-cxml))
5460
5461 (define-public ecl-cxml
5462 (sbcl-package->ecl-package sbcl-cxml))
5463
5464 (define-public sbcl-cl-reexport
5465 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5466 (revision "1"))
5467 (package
5468 (name "sbcl-cl-reexport")
5469 (build-system asdf-build-system/sbcl)
5470 (version (git-version "0.1" revision commit))
5471 (home-page "https://github.com/takagi/cl-reexport")
5472 (source
5473 (origin
5474 (method git-fetch)
5475 (uri (git-reference
5476 (url home-page)
5477 (commit commit)))
5478 (file-name (git-file-name name version))
5479 (sha256
5480 (base32
5481 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5482 (inputs
5483 `(("alexandria" ,sbcl-alexandria)))
5484 (arguments
5485 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5486 `(#:tests? #f))
5487 (synopsis "HTTP cookie manager for Common Lisp")
5488 (description "cl-cookie is a Common Lisp library featuring parsing of
5489 cookie headers, cookie creation, cookie jar creation and more.")
5490 (license license:llgpl))))
5491
5492 (define-public cl-reexport
5493 (sbcl-package->cl-source-package sbcl-cl-reexport))
5494
5495 (define-public ecl-cl-reexport
5496 (sbcl-package->ecl-package sbcl-cl-reexport))
5497
5498 (define-public sbcl-cl-cookie
5499 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5500 (revision "1"))
5501 (package
5502 (name "sbcl-cl-cookie")
5503 (build-system asdf-build-system/sbcl)
5504 (version (git-version "0.9.10" revision commit))
5505 (home-page "https://github.com/fukamachi/cl-cookie")
5506 (source
5507 (origin
5508 (method git-fetch)
5509 (uri (git-reference
5510 (url home-page)
5511 (commit commit)))
5512 (file-name (git-file-name name version))
5513 (sha256
5514 (base32
5515 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5516 (inputs
5517 `(("proc-parse" ,sbcl-proc-parse)
5518 ("alexandria" ,sbcl-alexandria)
5519 ("quri" ,sbcl-quri)
5520 ("cl-ppcre" ,sbcl-cl-ppcre)
5521 ("local-time" ,sbcl-local-time)))
5522 (native-inputs
5523 `(("prove" ,sbcl-prove)))
5524 (arguments
5525 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5526 `(#:tests? #f))
5527 (synopsis "HTTP cookie manager for Common Lisp")
5528 (description "cl-cookie is a Common Lisp library featuring parsing of
5529 cookie headers, cookie creation, cookie jar creation and more.")
5530 (license license:bsd-2))))
5531
5532 (define-public cl-cookie
5533 (sbcl-package->cl-source-package sbcl-cl-cookie))
5534
5535 (define-public ecl-cl-cookie
5536 (sbcl-package->ecl-package sbcl-cl-cookie))
5537
5538 (define-public sbcl-dexador
5539 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
5540 (revision "1"))
5541 (package
5542 (name "sbcl-dexador")
5543 (build-system asdf-build-system/sbcl)
5544 (version "0.9.14" )
5545 (home-page "https://github.com/fukamachi/dexador")
5546 (source
5547 (origin
5548 (method git-fetch)
5549 (uri (git-reference
5550 (url home-page)
5551 (commit commit)))
5552 (file-name (git-file-name name version))
5553 (sha256
5554 (base32
5555 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
5556 (inputs
5557 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5558 ("babel" ,sbcl-babel)
5559 ("usocket" ,sbcl-usocket)
5560 ("fast-http" ,sbcl-fast-http)
5561 ("quri" ,sbcl-quri)
5562 ("fast-io" ,sbcl-fast-io)
5563 ("chunga" ,sbcl-chunga)
5564 ("cl-ppcre" ,sbcl-cl-ppcre)
5565 ("cl-cookie" ,sbcl-cl-cookie)
5566 ("trivial-mimes" ,sbcl-trivial-mimes)
5567 ("chipz" ,sbcl-chipz)
5568 ("cl-base64" ,sbcl-cl-base64)
5569 ("cl-reexport" ,sbcl-cl-reexport)
5570 ("cl+ssl" ,sbcl-cl+ssl)
5571 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5572 ("alexandria" ,sbcl-alexandria)))
5573 (native-inputs
5574 `(("prove" ,sbcl-prove)
5575 ("lack" ,sbcl-lack)
5576 ("clack" ,sbcl-clack)
5577 ("babel" ,sbcl-babel)
5578 ("alexandria" ,sbcl-alexandria)
5579 ("cl-ppcre" ,sbcl-cl-ppcre)
5580 ("local-time" ,sbcl-local-time)
5581 ("trivial-features" ,sbcl-trivial-features)))
5582 (arguments
5583 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5584 `(#:tests? #f
5585 #:phases
5586 (modify-phases %standard-phases
5587 (add-after 'unpack 'fix-permissions
5588 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5589 (synopsis "Yet another HTTP client for Common Lisp")
5590 (description "Dexador is yet another HTTP client for Common Lisp with
5591 neat APIs and connection-pooling. It is meant to supersede Drakma.")
5592 (license license:expat))))
5593
5594 (define-public cl-dexador
5595 (package
5596 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5597 (arguments
5598 `(#:phases
5599 ;; asdf-build-system/source has its own phases and does not inherit
5600 ;; from asdf-build-system/sbcl phases.
5601 (modify-phases %standard-phases/source
5602 ;; Already done in SBCL package.
5603 (delete 'reset-gzip-timestamps))))))
5604
5605 (define-public ecl-dexador
5606 (sbcl-package->ecl-package sbcl-dexador))
5607
5608 (define-public sbcl-lisp-namespace
5609 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5610 (revision "1"))
5611 (package
5612 (name "sbcl-lisp-namespace")
5613 (build-system asdf-build-system/sbcl)
5614 (version (git-version "0.1" revision commit))
5615 (home-page "https://github.com/guicho271828/lisp-namespace")
5616 (source
5617 (origin
5618 (method git-fetch)
5619 (uri (git-reference
5620 (url home-page)
5621 (commit commit)))
5622 (file-name (git-file-name name version))
5623 (sha256
5624 (base32
5625 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5626 (inputs
5627 `(("alexandria" ,sbcl-alexandria)))
5628 (native-inputs
5629 `(("fiveam" ,sbcl-fiveam)))
5630 (arguments
5631 `(#:test-asd-file "lisp-namespace.test.asd"
5632 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5633 #:tests? #f))
5634 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5635 (description "Common Lisp already has major 2 namespaces, function
5636 namespace and value namespace (or variable namespace), but there are actually
5637 more — e.g., class namespace.
5638 This library offers macros to deal with symbols from any namespace.")
5639 (license license:llgpl))))
5640
5641 (define-public cl-lisp-namespace
5642 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5643
5644 (define-public ecl-lisp-namespace
5645 (sbcl-package->ecl-package sbcl-lisp-namespace))
5646
5647 (define-public sbcl-trivial-cltl2
5648 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
5649 (revision "2"))
5650 (package
5651 (name "sbcl-trivial-cltl2")
5652 (build-system asdf-build-system/sbcl)
5653 (version (git-version "0.1.1" revision commit))
5654 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
5655 (source
5656 (origin
5657 (method git-fetch)
5658 (uri (git-reference
5659 (url home-page)
5660 (commit commit)))
5661 (file-name (git-file-name name version))
5662 (sha256
5663 (base32
5664 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
5665 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5666 (description "This library is a portable compatibility layer around
5667 \"Common Lisp the Language, 2nd
5668 Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5669 and it exports symbols from implementation-specific packages.")
5670 (license license:llgpl))))
5671
5672 (define-public cl-trivial-cltl2
5673 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5674
5675 (define-public ecl-trivial-cltl2
5676 (sbcl-package->ecl-package sbcl-trivial-cltl2))
5677
5678 (define-public sbcl-introspect-environment
5679 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
5680 (revision "1"))
5681 (package
5682 (name "sbcl-introspect-environment")
5683 (build-system asdf-build-system/sbcl)
5684 (version (git-version "0.1" revision commit))
5685 (home-page "https://github.com/Bike/introspect-environment")
5686 (source
5687 (origin
5688 (method git-fetch)
5689 (uri (git-reference
5690 (url home-page)
5691 (commit commit)))
5692 (file-name (git-file-name name version))
5693 (sha256
5694 (base32
5695 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
5696 (native-inputs
5697 `(("fiveam" ,sbcl-fiveam)))
5698 (synopsis "Common Lisp environment introspection portability layer")
5699 (description "This library is a small interface to portable but
5700 nonstandard introspection of Common Lisp environments. It is intended to
5701 allow a bit more compile-time introspection of environments in Common Lisp.
5702
5703 Quite a bit of information is available at the time a macro or compiler-macro
5704 runs; inlining info, type declarations, that sort of thing. This information
5705 is all standard - any Common Lisp program can @code{(declare (integer x))} and
5706 such.
5707
5708 This info ought to be accessible through the standard @code{&environment}
5709 parameters, but it is not. Several implementations keep the information for
5710 their own purposes but do not make it available to user programs, because
5711 there is no standard mechanism to do so.
5712
5713 This library uses implementation-specific hooks to make information available
5714 to users. This is currently supported on SBCL, CCL, and CMUCL. Other
5715 implementations have implementations of the functions that do as much as they
5716 can and/or provide reasonable defaults.")
5717 (license license:wtfpl2))))
5718
5719 (define-public cl-introspect-environment
5720 (sbcl-package->cl-source-package sbcl-introspect-environment))
5721
5722 (define-public ecl-introspect-environment
5723 (sbcl-package->ecl-package sbcl-introspect-environment))
5724
5725 (define-public sbcl-type-i
5726 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
5727 (revision "2"))
5728 (package
5729 (name "sbcl-type-i")
5730 (build-system asdf-build-system/sbcl)
5731 (version (git-version "0.1" revision commit))
5732 (home-page "https://github.com/guicho271828/type-i")
5733 (source
5734 (origin
5735 (method git-fetch)
5736 (uri (git-reference
5737 (url home-page)
5738 (commit commit)))
5739 (file-name (git-file-name name version))
5740 (sha256
5741 (base32
5742 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
5743 (inputs
5744 `(("alexandria" ,sbcl-alexandria)
5745 ("introspect-environment" ,sbcl-introspect-environment)
5746 ("trivia.trivial" ,sbcl-trivia.trivial)))
5747 (native-inputs
5748 `(("fiveam" ,sbcl-fiveam)))
5749 (arguments
5750 `(#:test-asd-file "type-i.test.asd"))
5751 (synopsis "Type inference utility on unary predicates for Common Lisp")
5752 (description "This library tries to provide a way to detect what kind of
5753 type the given predicate is trying to check. This is different from inferring
5754 the return type of a function.")
5755 (license license:llgpl))))
5756
5757 (define-public cl-type-i
5758 (sbcl-package->cl-source-package sbcl-type-i))
5759
5760 (define-public ecl-type-i
5761 (package
5762 (inherit (sbcl-package->ecl-package sbcl-type-i))
5763 (arguments
5764 ;; The tests get stuck indefinitly
5765 '(#:tests? #f))))
5766
5767 (define-public sbcl-optima
5768 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
5769 (revision "1"))
5770 (package
5771 (name "sbcl-optima")
5772 (build-system asdf-build-system/sbcl)
5773 (version (git-version "1.0" revision commit))
5774 (home-page "https://github.com/m2ym/optima")
5775 (source
5776 (origin
5777 (method git-fetch)
5778 (uri (git-reference
5779 (url home-page)
5780 (commit commit)))
5781 (file-name (git-file-name name version))
5782 (sha256
5783 (base32
5784 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
5785 (inputs
5786 `(("alexandria" ,sbcl-alexandria)
5787 ("closer-mop" ,sbcl-closer-mop)))
5788 (native-inputs
5789 `(("eos" ,sbcl-eos)))
5790 (arguments
5791 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
5792 `(#:tests? #f
5793 #:test-asd-file "optima.test.asd"))
5794 (synopsis "Optimized pattern matching library for Common Lisp")
5795 (description "Optima is a fast pattern matching library which uses
5796 optimizing techniques widely used in the functional programming world.")
5797 (license license:expat))))
5798
5799 (define-public cl-optima
5800 (sbcl-package->cl-source-package sbcl-optima))
5801
5802 (define-public ecl-optima
5803 (sbcl-package->ecl-package sbcl-optima))
5804
5805 (define-public sbcl-fare-quasiquote
5806 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
5807 (revision "1"))
5808 (package
5809 (name "sbcl-fare-quasiquote")
5810 (build-system asdf-build-system/sbcl)
5811 (version (git-version "1.0.1" revision commit))
5812 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
5813 (source
5814 (origin
5815 (method git-fetch)
5816 (uri (git-reference
5817 (url (string-append "https://gitlab.common-lisp.net/frideau/"
5818 "fare-quasiquote.git"))
5819 (commit commit)))
5820 (file-name (git-file-name name version))
5821 (sha256
5822 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
5823 (inputs
5824 `(("fare-utils" ,sbcl-fare-utils)
5825 ("named-readtables" ,sbcl-named-readtables)
5826 ("optima" ,sbcl-optima)))
5827 (arguments
5828 ;; XXX: Circular dependencies: Tests depend on subsystems,
5829 ;; which depend on the main systems.
5830 `(#:tests? #f
5831 #:asd-systems '("fare-quasiquote"
5832 "fare-quasiquote-extras")
5833 #:phases
5834 (modify-phases %standard-phases
5835 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
5836 ;; commits after 1.0.0.5, but ASDF fails to read the
5837 ;; "-REVISION-COMMIT" part generated by Guix.
5838 (add-after 'unpack 'patch-requirement
5839 (lambda _
5840 (substitute* "fare-quasiquote.asd"
5841 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
5842 "\"fare-utils\""))
5843 (substitute* "fare-quasiquote-optima.asd"
5844 (("\\(:version \"optima\" \"1\\.0\"\\)")
5845 "\"optima\""))
5846 #t)))))
5847 (synopsis "Pattern-matching friendly implementation of quasiquote")
5848 (description "The main purpose of this n+2nd reimplementation of
5849 quasiquote is enable matching of quasiquoted patterns, using Optima or
5850 Trivia.")
5851 (license license:expat))))
5852
5853 (define-public cl-fare-quasiquote
5854 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
5855
5856 (define-public ecl-fare-quasiquote
5857 (sbcl-package->ecl-package sbcl-fare-quasiquote))
5858
5859 ;;; Split the trivia package in two to work around the circular dependency
5860 ;;; between guicho271828/trivia and guicho271828/type-i.
5861 (define-public sbcl-trivia.trivial
5862 (let ((commit "7286d5d2a4f685f1cac8370816f95276c0851111")
5863 (revision "3"))
5864 (package
5865 (name "sbcl-trivia.trivial")
5866 (version (git-version "0.0.0" revision commit))
5867 (source
5868 (origin
5869 (method git-fetch)
5870 (uri (git-reference
5871 (url "https://github.com/guicho271828/trivia")
5872 (commit commit)))
5873 (file-name (git-file-name "trivia" version))
5874 (sha256
5875 (base32
5876 "0ln0sj3jry7kzbmxhnin66kpbqan1wp8wwgdbw4k29afbdblkcca"))))
5877 (build-system asdf-build-system/sbcl)
5878 (inputs
5879 `(("alexandria" ,sbcl-alexandria)
5880 ("closer-mop" ,sbcl-closer-mop)
5881 ("lisp-namespace" ,sbcl-lisp-namespace)
5882 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
5883 (arguments
5884 '(#:phases
5885 (modify-phases %standard-phases
5886 (add-after 'unpack 'fix-build
5887 (lambda _
5888 (for-each delete-file
5889 '("trivia.balland2006.asd"
5890 "trivia.ppcre.asd"
5891 "trivia.quasiquote.asd"
5892 "trivia.cffi.asd"
5893 "trivia.asd"
5894 "trivia.test.asd"))
5895 #t)))))
5896 (synopsis "Pattern matching in Common Lisp")
5897 (description "Trivia is a pattern matching compiler that is compatible
5898 with Optima, another pattern matching library for Common Lisp. It is meant to
5899 be faster and more extensible than Optima.")
5900 (home-page "https://github.com/guicho271828/trivia")
5901 (license license:llgpl))))
5902
5903 (define-public cl-trivia.trivial
5904 (sbcl-package->cl-source-package sbcl-trivia.trivial))
5905
5906 (define-public ecl-trivia.trivial
5907 (sbcl-package->ecl-package sbcl-trivia.trivial))
5908
5909 (define-public sbcl-trivia
5910 (package
5911 (inherit sbcl-trivia.trivial)
5912 (name "sbcl-trivia")
5913 (native-inputs
5914 `(("fiveam" ,sbcl-fiveam)
5915 ("optima" ,sbcl-optima)))
5916 (inputs
5917 `(("alexandria" ,sbcl-alexandria)
5918 ("cffi" ,sbcl-cffi)
5919 ("cl-ppcre" ,sbcl-cl-ppcre)
5920 ("fare-quasiquote" ,sbcl-fare-quasiquote)
5921 ("iterate" ,sbcl-iterate)
5922 ("trivia.trivial" ,sbcl-trivia.trivial)
5923 ("type-i" ,sbcl-type-i)))
5924 (arguments
5925 '(#:asd-systems '("trivia"
5926 "trivia.ppcre"
5927 "trivia.quasiquote"
5928 "trivia.cffi")
5929 #:test-asd-file "trivia.test.asd"
5930 #:phases
5931 (modify-phases %standard-phases
5932 (add-after 'unpack 'fix-build
5933 (lambda _
5934 (for-each delete-file
5935 '("trivia.level0.asd"
5936 "trivia.level1.asd"
5937 "trivia.level2.asd"
5938 "trivia.trivial.asd"))
5939 #t)))))))
5940
5941 (define-public cl-trivia
5942 (sbcl-package->cl-source-package sbcl-trivia))
5943
5944 (define-public ecl-trivia
5945 (sbcl-package->ecl-package sbcl-trivia))
5946
5947 (define-public sbcl-mk-string-metrics
5948 (package
5949 (name "sbcl-mk-string-metrics")
5950 (version "0.1.2")
5951 (home-page "https://github.com/cbaggers/mk-string-metrics/")
5952 (source (origin
5953 (method git-fetch)
5954 (uri (git-reference
5955 (url home-page)
5956 (commit version)))
5957 (sha256
5958 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
5959 (file-name (git-file-name name version))))
5960 (build-system asdf-build-system/sbcl)
5961 (synopsis "Calculate various string metrics efficiently in Common Lisp")
5962 (description "This library implements efficient algorithms that calculate
5963 various string metrics in Common Lisp:
5964
5965 @itemize
5966 @item Damerau-Levenshtein distance
5967 @item Hamming distance
5968 @item Jaccard similarity coefficient
5969 @item Jaro distance
5970 @item Jaro-Winkler distance
5971 @item Levenshtein distance
5972 @item Normalized Damerau-Levenshtein distance
5973 @item Normalized Levenshtein distance
5974 @item Overlap coefficient
5975 @end itemize\n")
5976 (license license:x11)))
5977
5978 (define-public cl-mk-string-metrics
5979 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
5980
5981 (define-public ecl-mk-string-metrics
5982 (sbcl-package->ecl-package sbcl-mk-string-metrics))
5983
5984 (define-public sbcl-cl-str
5985 (package
5986 (name "sbcl-cl-str")
5987 (version "0.19")
5988 (home-page "https://github.com/vindarel/cl-str")
5989 (source (origin
5990 (method git-fetch)
5991 (uri (git-reference
5992 (url home-page)
5993 (commit version)))
5994 (sha256
5995 (base32 "1jyza2jhn7w6fl4w87pv0m87z5ia48m6dqw12k0mdh7l3mgjq839"))
5996 (file-name (git-file-name name version))))
5997 (build-system asdf-build-system/sbcl)
5998 (inputs
5999 `(("cl-ppcre" ,sbcl-cl-ppcre)
6000 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
6001 ("cl-change-case" ,sbcl-cl-change-case)))
6002 (native-inputs
6003 `(("prove" ,sbcl-prove)))
6004 (arguments
6005 `(#:asd-systems '("str")
6006 #:test-asd-file "str.test.asd"))
6007 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6008 (description "A modern and consistent Common Lisp string manipulation
6009 library that focuses on modernity, simplicity and discoverability:
6010 @code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6011 @code{str:concat strings} instead of an unusual format construct; one
6012 discoverable library instead of many; consistency and composability, where
6013 @code{s} is always the last argument, which makes it easier to feed pipes and
6014 arrows.")
6015 (license license:expat)))
6016
6017 (define-public cl-str
6018 (sbcl-package->cl-source-package sbcl-cl-str))
6019
6020 (define-public ecl-cl-str
6021 (sbcl-package->ecl-package sbcl-cl-str))
6022
6023 (define-public sbcl-cl-xmlspam
6024 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6025 (package
6026 (name "sbcl-cl-xmlspam")
6027 (build-system asdf-build-system/sbcl)
6028 (version (git-version "0.0.0" "1" commit))
6029 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6030 (source
6031 (origin
6032 (method git-fetch)
6033 (uri (git-reference
6034 (url home-page)
6035 (commit commit)))
6036 (file-name (string-append name "-" version))
6037 (sha256
6038 (base32
6039 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6040 (inputs
6041 `(("cxml" ,sbcl-cxml)
6042 ("cl-ppcre" ,sbcl-cl-ppcre)))
6043 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6044 (description "CXML does an excellent job at parsing XML elements, but what
6045 do you do when you have a XML file that's larger than you want to fit in
6046 memory, and you want to extract some information from it? Writing code to deal
6047 with SAX events, or even using Klacks, quickly becomes tedious.
6048 @code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6049 to write code that mirrors the structure of the XML that it's parsing. It
6050 also makes it easy to shift paradigms when necessary - the usual Lisp control
6051 constructs can be used interchangeably with pattern matching, and the full
6052 power of CXML is available when necessary.")
6053 (license license:bsd-3))))
6054
6055 (define-public cl-xmlspam
6056 (sbcl-package->cl-source-package sbcl-cl-xmlspam))
6057
6058 (define-public ecl-cl-xmlspam
6059 (sbcl-package->ecl-package sbcl-cl-xmlspam))
6060
6061 (define-public sbcl-dbus
6062 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6063 (revision "1"))
6064 (package
6065 (name "sbcl-dbus")
6066 (version (git-version "20190408" revision commit))
6067 (home-page "https://github.com/death/dbus")
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 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
6078 (build-system asdf-build-system/sbcl)
6079 (inputs
6080 `(("alexandria" ,sbcl-alexandria)
6081 ("trivial-garbage" ,sbcl-trivial-garbage)
6082 ("babel" ,sbcl-babel)
6083 ("iolib" ,sbcl-iolib)
6084 ("ieee-floats" ,sbcl-ieee-floats)
6085 ("flexi-streams" ,sbcl-flexi-streams)
6086 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6087 ("ironclad" ,sbcl-ironclad)))
6088 (synopsis "D-Bus client library for Common Lisp")
6089 (description "This is a Common Lisp library that publishes D-Bus
6090 objects as well as send and notify other objects connected to a bus.")
6091 (license license:bsd-2))))
6092
6093 (define-public cl-dbus
6094 (sbcl-package->cl-source-package sbcl-dbus))
6095
6096 (define-public ecl-dbus
6097 (sbcl-package->ecl-package sbcl-dbus))
6098
6099 (define-public sbcl-cl-hooks
6100 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6101 (revision "1"))
6102 (package
6103 (name "sbcl-cl-hooks")
6104 (build-system asdf-build-system/sbcl)
6105 (version (git-version "0.2.1" revision commit))
6106 (home-page "https://github.com/scymtym/architecture.hooks")
6107 (source
6108 (origin
6109 (method git-fetch)
6110 (uri (git-reference
6111 (url home-page)
6112 (commit commit)))
6113 (file-name (git-file-name name version))
6114 (sha256
6115 (base32
6116 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6117 (inputs
6118 `(("alexandria" ,sbcl-alexandria)
6119 ("let-plus" ,sbcl-let-plus)
6120 ("trivial-garbage" ,sbcl-trivial-garbage)
6121 ("closer-mop" ,sbcl-closer-mop)))
6122 (native-inputs
6123 `(("fiveam" ,sbcl-fiveam)))
6124 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6125 (description "A hook, in the present context, is a certain kind of
6126 extension point in a program that allows interleaving the execution of
6127 arbitrary code with the execution of a the program without introducing any
6128 coupling between the two. Hooks are used extensively in the extensible editor
6129 Emacs.
6130
6131 In the Common LISP Object System (CLOS), a similar kind of extensibility is
6132 possible using the flexible multi-method dispatch mechanism. It may even seem
6133 that the concept of hooks does not provide any benefits over the possibilities
6134 of CLOS. However, there are some differences:
6135
6136 @itemize
6137
6138 @item There can be only one method for each combination of specializers and
6139 qualifiers. As a result this kind of extension point cannot be used by
6140 multiple extensions independently.
6141 @item Removing code previously attached via a @code{:before}, @code{:after} or
6142 @code{:around} method can be cumbersome.
6143 @item There could be other or even multiple extension points besides @code{:before}
6144 and @code{:after} in a single method.
6145 @item Attaching codes to individual objects using eql specializers can be
6146 cumbersome.
6147 @item Introspection of code attached a particular extension point is
6148 cumbersome since this requires enumerating and inspecting the methods of a
6149 generic function.
6150 @end itemize
6151
6152 This library tries to complement some of these weaknesses of method-based
6153 extension-points via the concept of hooks.")
6154 (license license:llgpl))))
6155
6156 (define-public cl-hooks
6157 (sbcl-package->cl-source-package sbcl-cl-hooks))
6158
6159 (define-public ecl-cl-hooks
6160 (sbcl-package->ecl-package sbcl-cl-hooks))
6161
6162 (define-public sbcl-cl-autowrap
6163 (let ((revision "1")
6164 (commit "ae846d6968fc0d000de0c541638929a157f3009e"))
6165 ;; no taged branches
6166 (package
6167 (name "sbcl-cl-autowrap")
6168 (version (git-version "1.0" revision commit))
6169 (source
6170 (origin
6171 (method git-fetch)
6172 (uri (git-reference
6173 (url "https://github.com/rpav/cl-autowrap")
6174 (commit commit)))
6175 (file-name (git-file-name name version))
6176 (sha256
6177 (base32 "1gisldp2zns92kdcaikghm7c38ldy2d884n8bfg0wcjvbz78p3ar"))))
6178 (build-system asdf-build-system/sbcl)
6179 (inputs
6180 `(("alexandria" ,sbcl-alexandria)
6181 ("cffi" ,sbcl-cffi)
6182 ("cl-json" ,sbcl-cl-json)
6183 ("cl-ppcre" ,sbcl-cl-ppcre)
6184 ("defpackage-plus" ,sbcl-defpackage-plus)
6185 ("trivial-features" ,sbcl-trivial-features)))
6186 (home-page "https://github.com/rpav/cl-autowrap")
6187 (synopsis "FFI wrapper generator for Common Lisp")
6188 (description "This is a c2ffi-based wrapper generator for Common Lisp.")
6189 (license license:bsd-2))))
6190
6191 (define-public cl-autowrap
6192 (sbcl-package->cl-source-package sbcl-cl-autowrap))
6193
6194 (define-public ecl-cl-autowrap
6195 (sbcl-package->ecl-package sbcl-cl-autowrap))
6196
6197 (define-public sbcl-s-sysdeps
6198 ;; No release since 2013.
6199 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
6200 (revision "2"))
6201 (package
6202 (name "sbcl-s-sysdeps")
6203 (build-system asdf-build-system/sbcl)
6204 (version (git-version "1" revision commit))
6205 (home-page "https://github.com/svenvc/s-sysdeps")
6206 (source
6207 (origin
6208 (method git-fetch)
6209 (uri (git-reference
6210 (url home-page)
6211 (commit commit)))
6212 (file-name (git-file-name name version))
6213 (sha256
6214 (base32
6215 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
6216 (inputs
6217 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
6218 ("usocket" ,sbcl-usocket)))
6219 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6220 (description "@code{s-sysdeps} is an abstraction layer over platform
6221 dependent functionality. This simple package is used as a building block in a
6222 number of other open source projects.
6223
6224 @code{s-sysdeps} abstracts:
6225
6226 @itemize
6227 @item managing processes,
6228 @item implementing a standard TCP/IP server,
6229 @item opening a client TCP/IP socket stream,
6230 @item working with process locks.
6231 @end itemize\n")
6232 (license license:llgpl))))
6233
6234 (define-public cl-s-sysdeps
6235 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6236
6237 (define-public ecl-s-sysdeps
6238 (sbcl-package->ecl-package sbcl-s-sysdeps))
6239
6240 (define-public sbcl-cl-prevalence
6241 (let ((commit "5a76be036092ed6c18cb695a9e03bce87e21b840")
6242 (revision "4"))
6243 (package
6244 (name "sbcl-cl-prevalence")
6245 (build-system asdf-build-system/sbcl)
6246 (version (git-version "5" revision commit))
6247 (home-page "https://github.com/40ants/cl-prevalence")
6248 (source
6249 (origin
6250 (method git-fetch)
6251 (uri (git-reference
6252 (url home-page)
6253 (commit commit)))
6254 (file-name (git-file-name name version))
6255 (sha256
6256 (base32
6257 "050h6hwv8f16b5v6fzba8zmih92hgaaq27i2x9wv1iib41gbia3r"))))
6258 (inputs
6259 `(("s-sysdeps" ,sbcl-s-sysdeps)
6260 ("s-xml" ,sbcl-s-xml)))
6261 (native-inputs
6262 `(("fiveam" ,sbcl-fiveam)))
6263 (synopsis "Implementation of object prevalence for Common Lisp")
6264 (description "This Common Lisp library implements object prevalence (see
6265 @url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6266 for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6267 classes and cyclic data structures are supported.")
6268 (license license:llgpl))))
6269
6270 (define-public cl-prevalence
6271 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6272
6273 (define-public ecl-cl-prevalence
6274 (sbcl-package->ecl-package sbcl-cl-prevalence))
6275
6276 (define-public sbcl-series
6277 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6278 (revision "1"))
6279 (package
6280 (name "sbcl-series")
6281 (version (git-version "2.2.11" revision commit))
6282 (source
6283 (origin
6284 (method git-fetch)
6285 (uri (git-reference
6286 (url "git://git.code.sf.net/p/series/series")
6287 (commit commit)))
6288 (file-name (git-file-name name version))
6289 (sha256
6290 (base32
6291 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6292 (build-system asdf-build-system/sbcl)
6293 (arguments
6294 ;; Disable the tests, they are apparently buggy and I didn't find
6295 ;; a simple way to make them run and pass.
6296 '(#:tests? #f))
6297 (synopsis "Series data structure for Common Lisp")
6298 (description
6299 "This Common Lisp library provides a series data structure much like
6300 a sequence, with similar kinds of operations. The difference is that in many
6301 situations, operations on series may be composed functionally and yet execute
6302 iteratively, without the need to construct intermediate series values
6303 explicitly. In this manner, series provide both the clarity of a functional
6304 programming style and the efficiency of an iterative programming style.")
6305 (home-page "http://series.sourceforge.net/")
6306 (license license:expat))))
6307
6308 (define-public cl-series
6309 (sbcl-package->cl-source-package sbcl-series))
6310
6311 (define-public ecl-series
6312 (sbcl-package->ecl-package sbcl-series))
6313
6314 (define-public sbcl-periods
6315 (let ((commit "60383dcef88a1ac11f82804ae7a33c361dcd2949")
6316 (revision "2"))
6317 (package
6318 (name "sbcl-periods")
6319 (version (git-version "0.0.2" revision commit))
6320 (source
6321 (origin
6322 (method git-fetch)
6323 (uri (git-reference
6324 (url "https://github.com/jwiegley/periods")
6325 (commit commit)))
6326 (file-name (git-file-name name version))
6327 (sha256
6328 (base32
6329 "1ym2j4an9ig2hl210jg91gpf7xfnp6mlhkw3n9kkdnwiji3ipqlk"))))
6330 (build-system asdf-build-system/sbcl)
6331 (inputs
6332 `(("local-time" ,sbcl-local-time)
6333 ("series" ,sbcl-series)))
6334 (arguments
6335 '(#:asd-systems '("periods"
6336 "periods-series")))
6337 (synopsis "Common Lisp library for manipulating date/time objects")
6338 (description
6339 "Periods is a Common Lisp library providing a set of utilities for
6340 manipulating times, distances between times, and both contiguous and
6341 discontiguous ranges of time.")
6342 (home-page "https://github.com/jwiegley/periods")
6343 (license license:bsd-3))))
6344
6345 (define-public cl-periods
6346 (sbcl-package->cl-source-package sbcl-periods))
6347
6348 (define-public ecl-periods
6349 (sbcl-package->ecl-package sbcl-periods))
6350
6351 (define-public sbcl-metatilities-base
6352 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6353 (revision "1"))
6354 (package
6355 (name "sbcl-metatilities-base")
6356 (version (git-version "0.6.6" revision commit))
6357 (source
6358 (origin
6359 (method git-fetch)
6360 (uri (git-reference
6361 (url "https://github.com/gwkkwg/metatilities-base")
6362 (commit commit)))
6363 (file-name (git-file-name name version))
6364 (sha256
6365 (base32
6366 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6367 (build-system asdf-build-system/sbcl)
6368 (native-inputs
6369 `(("lift" ,sbcl-lift)))
6370 (synopsis "Core of the metatilities Common Lisp library")
6371 (description
6372 "Metatilities-base is the core of the metatilities Common Lisp library
6373 which implements a set of utilities.")
6374 (home-page "https://common-lisp.net/project/metatilities-base/")
6375 (license license:expat))))
6376
6377 (define-public cl-metatilities-base
6378 (sbcl-package->cl-source-package sbcl-metatilities-base))
6379
6380 (define-public ecl-metatilities-base
6381 (sbcl-package->ecl-package sbcl-metatilities-base))
6382
6383 (define-public sbcl-cl-containers
6384 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6385 (revision "3"))
6386 (package
6387 (name "sbcl-cl-containers")
6388 (version (git-version "0.12.1" revision commit))
6389 (source
6390 (origin
6391 (method git-fetch)
6392 (uri (git-reference
6393 (url "https://github.com/gwkkwg/cl-containers")
6394 (commit commit)))
6395 (file-name (git-file-name name version))
6396 (sha256
6397 (base32
6398 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
6399 (build-system asdf-build-system/sbcl)
6400 (native-inputs
6401 `(("lift" ,sbcl-lift)))
6402 (inputs
6403 `(("metatilities-base" ,sbcl-metatilities-base)))
6404 (arguments
6405 '(#:asd-files '("cl-containers.asd")
6406 #:phases
6407 (modify-phases %standard-phases
6408 (add-after 'unpack 'relax-version-checks
6409 (lambda _
6410 (substitute* "cl-containers.asd"
6411 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6412 "\"metatilities-base\""))
6413 (substitute* "cl-containers-test.asd"
6414 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6415 "\"lift\""))
6416 #t)))))
6417 (synopsis "Container library for Common Lisp")
6418 (description
6419 "Common Lisp ships with a set of powerful built in data structures
6420 including the venerable list, full featured arrays, and hash-tables.
6421 CL-containers enhances and builds on these structures by adding containers
6422 that are not available in native Lisp (for example: binary search trees,
6423 red-black trees, sparse arrays and so on), and by providing a standard
6424 interface so that they are simpler to use and so that changing design
6425 decisions becomes significantly easier.")
6426 (home-page "https://common-lisp.net/project/cl-containers/")
6427 (license license:expat))))
6428
6429 (define-public cl-containers
6430 (sbcl-package->cl-source-package sbcl-cl-containers))
6431
6432 (define-public ecl-cl-containers
6433 (sbcl-package->ecl-package sbcl-cl-containers))
6434
6435 (define-public sbcl-xlunit
6436 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6437 (revision "1"))
6438 (package
6439 (name "sbcl-xlunit")
6440 (version (git-version "0.6.3" revision commit))
6441 (source
6442 (origin
6443 (method git-fetch)
6444 (uri (git-reference
6445 (url "http://git.kpe.io/xlunit.git")
6446 (commit commit)))
6447 (file-name (git-file-name name version))
6448 (sha256
6449 (base32
6450 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6451 (build-system asdf-build-system/sbcl)
6452 (arguments
6453 '(#:phases
6454 (modify-phases %standard-phases
6455 (add-after 'unpack 'fix-tests
6456 (lambda _
6457 (substitute* "xlunit.asd"
6458 ((" :force t") ""))
6459 #t)))))
6460 (synopsis "Unit testing package for Common Lisp")
6461 (description
6462 "The XLUnit package is a toolkit for building test suites. It is based
6463 on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6464 (home-page "http://quickdocs.org/xlunit/")
6465 (license license:bsd-3))))
6466
6467 (define-public cl-xlunit
6468 (sbcl-package->cl-source-package sbcl-xlunit))
6469
6470 (define-public ecl-xlunit
6471 (sbcl-package->ecl-package sbcl-xlunit))
6472
6473 (define-public sbcl-cambl
6474 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6475 (revision "1"))
6476 (package
6477 (name "sbcl-cambl")
6478 (version (git-version "4.0.0" revision commit))
6479 (source
6480 (origin
6481 (method git-fetch)
6482 (uri (git-reference
6483 (url "https://github.com/jwiegley/cambl")
6484 (commit commit)))
6485 (file-name (git-file-name "cambl" version))
6486 (sha256
6487 (base32 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6488 (build-system asdf-build-system/sbcl)
6489 (native-inputs
6490 `(("xlunit" ,sbcl-xlunit)))
6491 (inputs
6492 `(("alexandria" ,sbcl-alexandria)
6493 ("cl-containers" ,sbcl-cl-containers)
6494 ("local-time" ,sbcl-local-time)
6495 ("periods" ,sbcl-periods)))
6496 (arguments
6497 '(#:asd-files '("fprog.asd"
6498 "cambl.asd")))
6499 (synopsis "Commoditized amounts and balances for Common Lisp")
6500 (description
6501 "CAMBL is a Common Lisp library providing a convenient facility for
6502 working with commoditized values. It does not allow compound units (and so is
6503 not suited for scientific operations) but does work rather nicely for the
6504 purpose of financial calculations.")
6505 (home-page "https://github.com/jwiegley/cambl")
6506 (license license:bsd-3))))
6507
6508 (define-public cl-cambl
6509 (sbcl-package->cl-source-package sbcl-cambl))
6510
6511 (define-public ecl-cambl
6512 (sbcl-package->ecl-package sbcl-cambl))
6513
6514 (define-public sbcl-cl-ledger
6515 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6516 (revision "1"))
6517 (package
6518 (name "sbcl-cl-ledger")
6519 (version (git-version "4.0.0" revision commit))
6520 (source
6521 (origin
6522 (method git-fetch)
6523 (uri (git-reference
6524 (url "https://github.com/ledger/cl-ledger")
6525 (commit commit)))
6526 (file-name (git-file-name name version))
6527 (sha256
6528 (base32
6529 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6530 (build-system asdf-build-system/sbcl)
6531 (inputs
6532 `(("cambl" ,sbcl-cambl)
6533 ("cl-ppcre" ,sbcl-cl-ppcre)
6534 ("local-time" ,sbcl-local-time)
6535 ("periods" ,sbcl-periods)))
6536 (arguments
6537 '(#:phases
6538 (modify-phases %standard-phases
6539 (add-after 'unpack 'fix-system-definition
6540 (lambda _
6541 (substitute* "cl-ledger.asd"
6542 ((" :build-operation program-op") "")
6543 ((" :build-pathname \"cl-ledger\"") "")
6544 ((" :entry-point \"ledger::main\"") ""))
6545 #t)))))
6546 (synopsis "Common Lisp port of the Ledger accounting system")
6547 (description
6548 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6549 system.")
6550 (home-page "https://github.com/ledger/cl-ledger")
6551 (license license:bsd-3))))
6552
6553 (define-public cl-ledger
6554 (sbcl-package->cl-source-package sbcl-cl-ledger))
6555
6556 (define-public ecl-cl-ledger
6557 (sbcl-package->ecl-package sbcl-cl-ledger))
6558
6559 (define-public sbcl-bst
6560 (let ((commit "8545aed0d504df2829ad139566feeabe22305388")
6561 (revision "0"))
6562 (package
6563 (name "sbcl-bst")
6564 (version (git-version "2.0" revision commit))
6565 (source
6566 (origin
6567 (method git-fetch)
6568 (uri (git-reference
6569 (url "https://github.com/glv2/bst")
6570 (commit commit)))
6571 (file-name (git-file-name name version))
6572 (sha256
6573 (base32 "18ig7rvxcra69437g0i8sxyv7c5dg26jqnx1rc2f9pxmihdprgk8"))))
6574 (build-system asdf-build-system/sbcl)
6575 (native-inputs
6576 `(("alexandria" ,sbcl-alexandria)
6577 ("fiveam" ,sbcl-fiveam)))
6578 (synopsis "Binary search tree for Common Lisp")
6579 (description
6580 "BST is a Common Lisp library for working with binary search trees that
6581 can contain any kind of values.")
6582 (home-page "https://github.com/glv2/bst")
6583 (license license:gpl3))))
6584
6585 (define-public cl-bst
6586 (sbcl-package->cl-source-package sbcl-bst))
6587
6588 (define-public ecl-bst
6589 (sbcl-package->ecl-package sbcl-bst))
6590
6591 (define-public sbcl-cl-octet-streams
6592 (package
6593 (name "sbcl-cl-octet-streams")
6594 (version "1.2")
6595 (source
6596 (origin
6597 (method git-fetch)
6598 (uri (git-reference
6599 (url "https://github.com/glv2/cl-octet-streams")
6600 (commit (string-append "v" version))))
6601 (file-name (git-file-name name version))
6602 (sha256
6603 (base32 "1hffh98bv4w5yrchagzwqrc43d2p473pvw7ka4kyyvhrr52dk2f8"))))
6604 (build-system asdf-build-system/sbcl)
6605 (native-inputs
6606 `(("fiveam" ,sbcl-fiveam)))
6607 (inputs
6608 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6609 (synopsis "In-memory octet streams for Common Lisp")
6610 (description
6611 "CL-octet-streams is a library implementing in-memory octet
6612 streams for Common Lisp. It was inspired by the trivial-octet-streams and
6613 cl-plumbing libraries.")
6614 (home-page "https://github.com/glv2/cl-octet-streams")
6615 (license license:gpl3+)))
6616
6617 (define-public cl-octet-streams
6618 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
6619
6620 (define-public ecl-cl-octet-streams
6621 (sbcl-package->ecl-package sbcl-cl-octet-streams))
6622
6623 (define-public sbcl-lzlib
6624 (let ((commit "cad10f5becbcfebb44b9d311a257563778803452")
6625 (revision "2"))
6626 (package
6627 (name "sbcl-lzlib")
6628 (version (git-version "1.1" revision commit))
6629 (source
6630 (origin
6631 (method git-fetch)
6632 (uri (git-reference
6633 (url "https://github.com/glv2/cl-lzlib")
6634 (commit commit)))
6635 (file-name (git-file-name name version))
6636 (sha256
6637 (base32 "09lp7li35h4jkls0448fj1sh6pjslr1w7ranbc4szjr8g0c2bdry"))))
6638 (build-system asdf-build-system/sbcl)
6639 (native-inputs
6640 `(("fiveam" ,sbcl-fiveam)))
6641 (inputs
6642 `(("cffi" ,sbcl-cffi)
6643 ("cl-octet-streams" ,sbcl-cl-octet-streams)
6644 ("lparallel" ,sbcl-lparallel)
6645 ("lzlib" ,lzlib)))
6646 (arguments
6647 '(#:phases
6648 (modify-phases %standard-phases
6649 (add-after 'unpack 'fix-paths
6650 (lambda* (#:key inputs #:allow-other-keys)
6651 (substitute* "src/lzlib.lisp"
6652 (("liblz\\.so")
6653 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
6654 #t)))))
6655 (synopsis "Common Lisp library for lzip (de)compression")
6656 (description
6657 "This Common Lisp library provides functions for lzip (LZMA)
6658 compression/decompression using bindings to the lzlib C library.")
6659 (home-page "https://github.com/glv2/cl-lzlib")
6660 (license license:gpl3+))))
6661
6662 (define-public cl-lzlib
6663 (sbcl-package->cl-source-package sbcl-lzlib))
6664
6665 (define-public ecl-lzlib
6666 (sbcl-package->ecl-package sbcl-lzlib))
6667
6668 (define-public sbcl-chanl
6669 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
6670 (revision "1"))
6671 (package
6672 (name "sbcl-chanl")
6673 (version (git-version "0.4.1" revision commit))
6674 (source
6675 (origin
6676 (method git-fetch)
6677 (uri (git-reference
6678 (url "https://github.com/zkat/chanl")
6679 (commit commit)))
6680 (file-name (git-file-name name version))
6681 (sha256
6682 (base32
6683 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
6684 (build-system asdf-build-system/sbcl)
6685 (native-inputs
6686 `(("fiveam" ,sbcl-fiveam)))
6687 (inputs
6688 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
6689 (synopsis "Portable channel-based concurrency for Common Lisp")
6690 (description "Common Lisp library for channel-based concurrency. In
6691 a nutshell, you create various threads sequentially executing tasks you need
6692 done, and use channel objects to communicate and synchronize the state of these
6693 threads.")
6694 (home-page "https://github.com/zkat/chanl")
6695 (license (list license:expat license:bsd-3)))))
6696
6697 (define-public cl-chanl
6698 (sbcl-package->cl-source-package sbcl-chanl))
6699
6700 (define-public ecl-chanl
6701 (sbcl-package->ecl-package sbcl-chanl))
6702
6703 (define-public sbcl-cl-store
6704 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
6705 (revision "1"))
6706 (package
6707 (name "sbcl-cl-store")
6708 (version (git-version "0.8.11" revision commit))
6709 (source
6710 (origin
6711 (method git-fetch)
6712 (uri (git-reference
6713 (url "https://github.com/skypher/cl-store")
6714 (commit commit)))
6715 (file-name (git-file-name name version))
6716 (sha256
6717 (base32
6718 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
6719 (build-system asdf-build-system/sbcl)
6720 (native-inputs
6721 `(("rt" ,sbcl-rt)))
6722 (synopsis "Common Lisp library to serialize data")
6723 (description
6724 "CL-STORE is a portable serialization package which should give you the
6725 ability to store all Common Lisp data types into streams.")
6726 (home-page "https://www.common-lisp.net/project/cl-store/")
6727 (license license:expat))))
6728
6729 (define-public cl-store
6730 (sbcl-package->cl-source-package sbcl-cl-store))
6731
6732 (define-public ecl-cl-store
6733 (sbcl-package->ecl-package sbcl-cl-store))
6734
6735 (define-public sbcl-specialization-store
6736 (let ((commit "8d39a866a6f24986aad3cc52349e9cb2653496f3")
6737 (revision "1"))
6738 (package
6739 (name "sbcl-specialization-store")
6740 (version (git-version "0.0.5" revision commit))
6741 (source
6742 (origin
6743 (method git-fetch)
6744 (uri (git-reference
6745 (url "https://github.com/markcox80/specialization-store")
6746 (commit commit)))
6747 (file-name (git-file-name "specialization-store" version))
6748 (sha256
6749 (base32 "0r0bgb46q4gy72l78s7djkxq8ibb4bb3yh9brsry5lih7br8lhi0"))))
6750 (build-system asdf-build-system/sbcl)
6751 (native-inputs
6752 `(("fiveam" ,sbcl-fiveam)))
6753 (inputs
6754 `(("alexandria" ,sbcl-alexandria)
6755 ("introspect-environment" ,sbcl-introspect-environment)))
6756 (home-page "https://github.com/markcox80/specialization-store")
6757 (synopsis "Different type of generic function for Common Lisp")
6758 (description
6759 "SPECIALIZATION-STORE system provides a new kind of function, called
6760 a store function, whose behavior depends on the types of objects passed to the
6761 function.")
6762 (license license:bsd-2))))
6763
6764 (define-public ecl-specialization-store
6765 (package
6766 (inherit (sbcl-package->ecl-package sbcl-specialization-store))
6767 (arguments
6768 ;; TODO: Find why the tests get stuck forever; disable them for now.
6769 `(#:tests? #f))))
6770
6771 (define-public cl-specialization-store
6772 (sbcl-package->cl-source-package sbcl-specialization-store))
6773
6774 (define-public sbcl-cl-gobject-introspection
6775 (let ((commit "d0136c8d9ade2560123af1fc55bbf70d2e3db539")
6776 (revision "1"))
6777 (package
6778 (name "sbcl-cl-gobject-introspection")
6779 (version (git-version "0.3" revision commit))
6780 (home-page "https://github.com/andy128k/cl-gobject-introspection")
6781 (source
6782 (origin
6783 (method git-fetch)
6784 (uri (git-reference
6785 (url home-page)
6786 (commit commit)))
6787 (file-name (git-file-name name version))
6788 (sha256
6789 (base32
6790 "0dz0r73pq7yhz2iq2jnkq977awx2zws2qfxdcy33329sys1ii32p"))))
6791 (build-system asdf-build-system/sbcl)
6792 (inputs
6793 `(("alexandria" ,sbcl-alexandria)
6794 ("cffi" ,sbcl-cffi)
6795 ("iterate" ,sbcl-iterate)
6796 ("trivial-garbage" ,sbcl-trivial-garbage)
6797 ("glib" ,glib)
6798 ("gobject-introspection" ,gobject-introspection)))
6799 (native-inputs
6800 `(("fiveam" ,sbcl-fiveam)))
6801 (arguments
6802 '(#:phases
6803 (modify-phases %standard-phases
6804 (add-after 'unpack 'fix-paths
6805 (lambda* (#:key inputs #:allow-other-keys)
6806 (substitute* "src/init.lisp"
6807 (("libgobject-2\\.0\\.so")
6808 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
6809 (("libgirepository-1\\.0\\.so")
6810 (string-append (assoc-ref inputs "gobject-introspection")
6811 "/lib/libgirepository-1.0.so")))
6812 #t)))))
6813 (synopsis "Common Lisp bindings to GObject Introspection")
6814 (description
6815 "This library is a bridge between Common Lisp and GObject
6816 Introspection, which enables Common Lisp programs to access the full interface
6817 of C+GObject libraries without the need of writing dedicated bindings.")
6818 (license (list license:bsd-3
6819 ;; Tests are under a different license.
6820 license:llgpl)))))
6821
6822 (define-public cl-gobject-introspection
6823 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
6824
6825 (define-public ecl-cl-gobject-introspection
6826 (sbcl-package->ecl-package sbcl-cl-gobject-introspection))
6827
6828 (define-public sbcl-cl-slug
6829 (let ((commit "ffb229d10f0d3f7f54e706791725225e200bf749")
6830 (revision "1"))
6831 (package
6832 (name "sbcl-cl-slug")
6833 (version (git-version "0.4.1" revision commit))
6834 (source
6835 (origin
6836 (method git-fetch)
6837 (uri (git-reference
6838 (url "https://github.com/EuAndreh/cl-slug")
6839 (commit commit)))
6840 (file-name (git-file-name "cl-slug" version))
6841 (sha256
6842 (base32 "1asdq6xllmsvfw5fky9wblqcx9isac9jrrlkfl7vyxcq1wxrnflx"))))
6843 (build-system asdf-build-system/sbcl)
6844 (arguments
6845 `(#:asd-files '("cl-slug-test.asd" "cl-slug.asd")
6846 #:asd-systems '("cl-slug-test" "cl-slug")))
6847 (native-inputs
6848 `(("prove" ,sbcl-prove)))
6849 (inputs
6850 `(("ppcre" ,sbcl-cl-ppcre)))
6851 (home-page "https://github.com/EuAndreh/cl-slug")
6852 (synopsis "Multi-language slug formater")
6853 (description
6854 "This is a small Common Lisp library to make slugs, mainly for URIs,
6855 from english and beyond.")
6856 (license license:llgpl))))
6857
6858 (define-public ecl-cl-slug
6859 (sbcl-package->ecl-package sbcl-cl-slug))
6860
6861 (define-public cl-slug
6862 (sbcl-package->cl-source-package sbcl-cl-slug))
6863
6864 (define-public sbcl-string-case
6865 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
6866 (revision "0"))
6867 (package
6868 (name "sbcl-string-case")
6869 (version (git-version "0.0.2" revision commit))
6870 (home-page "https://github.com/pkhuong/string-case")
6871 (source
6872 (origin
6873 (method git-fetch)
6874 (uri (git-reference
6875 (url home-page)
6876 (commit commit)))
6877 (file-name (git-file-name name version))
6878 (sha256
6879 (base32
6880 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
6881 (build-system asdf-build-system/sbcl)
6882 (synopsis "Efficient string= case in Common Lisp")
6883 (description
6884 "@code{string-case} is a Common Lisp macro that generates specialised decision
6885 trees to dispatch on string equality.")
6886 (license license:bsd-3))))
6887
6888 (define-public cl-string-case
6889 (sbcl-package->cl-source-package sbcl-string-case))
6890
6891 (define-public ecl-string-case
6892 (sbcl-package->ecl-package sbcl-string-case))
6893
6894 (define-public sbcl-garbage-pools
6895 (let ((commit "9a7cb7f48b04197c0495df3b6d2e8395ad13f790")
6896 (revision "1"))
6897 (package
6898 (name "sbcl-garbage-pools")
6899 (version (git-version "0.1.2" revision commit))
6900 (source
6901 (origin
6902 (method git-fetch)
6903 (uri (git-reference
6904 (url "https://github.com/archimag/garbage-pools")
6905 (commit commit)))
6906 (file-name (git-file-name name version))
6907 (sha256
6908 (base32 "04jqwr6j138him6wc4nrwjzm4lvyj5j31xqab02nkf8h9hmsf5v1"))))
6909 (build-system asdf-build-system/sbcl)
6910 (home-page "https://github.com/archimag/garbage-pools")
6911 (synopsis "Resource management pools for Common Lisp")
6912 (description "GARBAGE-POOLS is Common Lisp re-implementation of the APR
6913 Pools for resource management.")
6914 (license license:expat))))
6915
6916 (define-public ecl-garbage-pools
6917 (sbcl-package->ecl-package sbcl-garbage-pools))
6918
6919 (define-public cl-garbage-pools
6920 (sbcl-package->cl-source-package sbcl-garbage-pools))
6921
6922 (define-public sbcl-global-vars
6923 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
6924 (revision "0"))
6925 (package
6926 (name "sbcl-global-vars")
6927 (version (git-version "1.0.0" revision commit))
6928 (home-page "https://github.com/lmj/global-vars")
6929 (source
6930 (origin
6931 (method git-fetch)
6932 (uri (git-reference
6933 (url home-page)
6934 (commit commit)))
6935 (file-name (git-file-name name version))
6936 (sha256
6937 (base32
6938 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
6939 (build-system asdf-build-system/sbcl)
6940 (synopsis "Efficient global variables in Common Lisp")
6941 (description
6942 "In Common Lisp, a special variable that is never dynamically bound
6943 typically serves as a stand-in for a global variable. The @code{global-vars}
6944 library provides true global variables that are implemented by some compilers.
6945 An attempt to rebind a global variable properly results in a compiler error.
6946 That is, a global variable cannot be dynamically bound.
6947
6948 Global variables therefore allow us to communicate an intended usage that
6949 differs from special variables. Global variables are also more efficient than
6950 special variables, especially in the presence of threads.")
6951 (license license:expat))))
6952
6953 (define-public cl-global-vars
6954 (sbcl-package->cl-source-package sbcl-global-vars))
6955
6956 (define-public ecl-global-vars
6957 (sbcl-package->ecl-package sbcl-global-vars))
6958
6959 (define-public sbcl-trivial-file-size
6960 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
6961 (revision "0"))
6962 (package
6963 (name "sbcl-trivial-file-size")
6964 (version (git-version "0.0.0" revision commit))
6965 (home-page "https://github.com/ruricolist/trivial-file-size")
6966 (source
6967 (origin
6968 (method git-fetch)
6969 (uri (git-reference
6970 (url home-page)
6971 (commit commit)))
6972 (file-name (git-file-name name version))
6973 (sha256
6974 (base32
6975 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
6976 (build-system asdf-build-system/sbcl)
6977 (native-inputs
6978 `(("fiveam" ,sbcl-fiveam)))
6979 (synopsis "Size of a file in bytes in Common Lisp")
6980 (description
6981 "The canonical way to determine the size of a file in bytes, using Common Lisp,
6982 is to open the file with an element type of (unsigned-byte 8) and then
6983 calculate the length of the stream. This is less than ideal. In most cases
6984 it is better to get the size of the file from its metadata, using a system
6985 call.
6986
6987 This library exports a single function, file-size-in-octets. It returns the
6988 size of a file in bytes, using system calls when possible.")
6989 (license license:expat))))
6990
6991 (define-public cl-trivial-file-size
6992 (sbcl-package->cl-source-package sbcl-trivial-file-size))
6993
6994 (define-public ecl-trivial-file-size
6995 (sbcl-package->ecl-package sbcl-trivial-file-size))
6996
6997 (define-public sbcl-trivial-macroexpand-all
6998 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
6999 (revision "0"))
7000 (package
7001 (name "sbcl-trivial-macroexpand-all")
7002 (version (git-version "0.0.0" revision commit))
7003 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7004 (source
7005 (origin
7006 (method git-fetch)
7007 (uri (git-reference
7008 (url home-page)
7009 (commit commit)))
7010 (file-name (git-file-name name version))
7011 (sha256
7012 (base32
7013 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7014 (build-system asdf-build-system/sbcl)
7015 (native-inputs
7016 `(("fiveam" ,sbcl-fiveam)))
7017 (synopsis "Portable macroexpand-all for Common Lisp")
7018 (description
7019 "This library provides a macroexpand-all function that calls the
7020 implementation specific equivalent.")
7021 (license license:unlicense))))
7022
7023 (define-public cl-trivial-macroexpand-all
7024 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7025
7026 (define-public ecl-trivial-macroexpand-all
7027 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7028
7029 (define-public sbcl-serapeum
7030 (let ((commit "263f415a350736b44e3878524ff3997e656fca32")
7031 (revision "4"))
7032 (package
7033 (name "sbcl-serapeum")
7034 (version (git-version "0.0.0" revision commit))
7035 (home-page "https://github.com/ruricolist/serapeum")
7036 (source
7037 (origin
7038 (method git-fetch)
7039 (uri (git-reference
7040 (url home-page)
7041 (commit commit)))
7042 (file-name (git-file-name name version))
7043 (sha256
7044 (base32
7045 "1669yidvxq41s3g6hb2jk21bcb5s2bnfsacpyd5b0hdxbmc7knq3"))))
7046 (build-system asdf-build-system/sbcl)
7047 (inputs
7048 `(("alexandria" ,sbcl-alexandria)
7049 ("trivia" ,sbcl-trivia)
7050 ("split-sequence" ,sbcl-split-sequence)
7051 ("string-case" ,sbcl-string-case)
7052 ("parse-number" ,sbcl-parse-number)
7053 ("trivial-garbage" ,sbcl-trivial-garbage)
7054 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7055 ("named-readtables" ,sbcl-named-readtables)
7056 ("fare-quasiquote" ,sbcl-fare-quasiquote)
7057 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7058 ("global-vars" ,sbcl-global-vars)
7059 ("trivial-file-size" ,sbcl-trivial-file-size)
7060 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7061 (native-inputs
7062 `(("fiveam" ,sbcl-fiveam)
7063 ("local-time" ,sbcl-local-time)))
7064 (arguments
7065 '(#:phases
7066 (modify-phases %standard-phases
7067 (add-after 'unpack 'disable-failing-tests
7068 (lambda* (#:key inputs #:allow-other-keys)
7069 (substitute* "serapeum.asd"
7070 ;; Guix does not have Quicklisp, and probably never will.
7071 (("\\(:file \"quicklisp\"\\)") ""))
7072 #t)))))
7073 (synopsis "Common Lisp utility library beyond Alexandria")
7074 (description
7075 "Serapeum is a conservative library of Common Lisp utilities. It is a
7076 supplement, not a competitor, to Alexandria.")
7077 (license license:expat))))
7078
7079 (define-public cl-serapeum
7080 (sbcl-package->cl-source-package sbcl-serapeum))
7081
7082 (define-public ecl-serapeum
7083 (sbcl-package->ecl-package sbcl-serapeum))
7084
7085 (define-public sbcl-arrows
7086 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7087 (revision "0"))
7088 (package
7089 (name "sbcl-arrows")
7090 (version (git-version "0.2.0" revision commit))
7091 (source
7092 (origin
7093 (method git-fetch)
7094 (uri (git-reference
7095 (url "https://gitlab.com/Harleqin/arrows.git")
7096 (commit commit)))
7097 (file-name (git-file-name name version))
7098 (sha256
7099 (base32
7100 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7101 (build-system asdf-build-system/sbcl)
7102 (native-inputs
7103 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7104 (synopsis "Clojure-like arrow macros for Common Lisp")
7105 (description
7106 "This library implements the @code{->} and @code{->>} macros from
7107 Clojure, as well as several expansions on the idea.")
7108 (home-page "https://gitlab.com/Harleqin/arrows")
7109 (license license:public-domain))))
7110
7111 (define-public cl-arrows
7112 (sbcl-package->cl-source-package sbcl-arrows))
7113
7114 (define-public ecl-arrows
7115 (sbcl-package->ecl-package sbcl-arrows))
7116
7117 (define-public sbcl-simple-parallel-tasks
7118 (let ((commit "ce7b60f788d8f68dfb69b24aac54c0e3b63379a6")
7119 (revision "1"))
7120 (package
7121 (name "sbcl-simple-parallel-tasks")
7122 (version (git-version "1.0" revision commit))
7123 (source
7124 (origin
7125 (method git-fetch)
7126 (uri (git-reference
7127 (url "https://github.com/glv2/simple-parallel-tasks")
7128 (commit commit)))
7129 (file-name (git-file-name name version))
7130 (sha256
7131 (base32 "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7"))))
7132 (build-system asdf-build-system/sbcl)
7133 (native-inputs
7134 `(("fiveam" ,sbcl-fiveam)))
7135 (inputs
7136 `(("chanl" ,sbcl-chanl)))
7137 (synopsis "Common Lisp library to evaluate some forms in parallel")
7138 (description "This is a simple Common Lisp library to evaluate some
7139 forms in parallel.")
7140 (home-page "https://github.com/glv2/simple-parallel-tasks")
7141 (license license:gpl3))))
7142
7143 (define-public cl-simple-parallel-tasks
7144 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7145
7146 (define-public ecl-simple-parallel-tasks
7147 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7148
7149 (define-public sbcl-cl-heap
7150 (package
7151 (name "sbcl-cl-heap")
7152 (version "0.1.6")
7153 (source
7154 (origin
7155 (method url-fetch)
7156 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7157 "cl-heap_" version ".tar.gz"))
7158 (sha256
7159 (base32
7160 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7161 (build-system asdf-build-system/sbcl)
7162 (native-inputs
7163 `(("xlunit" ,sbcl-xlunit)))
7164 (arguments
7165 `(#:test-asd-file "cl-heap-tests.asd"))
7166 (synopsis "Heap and priority queue data structures for Common Lisp")
7167 (description
7168 "CL-HEAP provides various implementations of heap data structures (a
7169 binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7170 (home-page "https://common-lisp.net/project/cl-heap/")
7171 (license license:gpl3+)))
7172
7173 (define-public cl-heap
7174 (sbcl-package->cl-source-package sbcl-cl-heap))
7175
7176 (define-public ecl-cl-heap
7177 (sbcl-package->ecl-package sbcl-cl-heap))
7178
7179 (define-public sbcl-curry-compose-reader-macros
7180 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7181 (revision "0"))
7182 (package
7183 (name "sbcl-curry-compose-reader-macros")
7184 (version (git-version "1.0.0" revision commit))
7185 (source
7186 (origin
7187 (method git-fetch)
7188 (uri
7189 (git-reference
7190 (url "https://github.com/eschulte/curry-compose-reader-macros")
7191 (commit commit)))
7192 (file-name (git-file-name name version))
7193 (sha256
7194 (base32
7195 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7196 (build-system asdf-build-system/sbcl)
7197 (inputs
7198 `(("alexandria" ,sbcl-alexandria)
7199 ("named-readtables" ,sbcl-named-readtables)))
7200 (synopsis "Reader macros for partial application and composition")
7201 (description
7202 "This Common Lisp library provides reader macros for concise expression
7203 of function partial application and composition.")
7204 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7205 (license license:public-domain))))
7206
7207 (define-public cl-curry-compose-reader-macros
7208 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7209
7210 (define-public ecl-curry-compose-reader-macros
7211 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7212
7213 (define-public sbcl-yason
7214 (package
7215 (name "sbcl-yason")
7216 (version "0.7.7")
7217 (source
7218 (origin
7219 (method git-fetch)
7220 (uri (git-reference
7221 (url "https://github.com/phmarek/yason")
7222 (commit (string-append "v" version))))
7223 (file-name (git-file-name name version))
7224 (sha256
7225 (base32
7226 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7227 (build-system asdf-build-system/sbcl)
7228 (inputs
7229 `(("alexandria" ,sbcl-alexandria)
7230 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7231 (synopsis "Common Lisp JSON parser/encoder")
7232 (description
7233 "YASON is a Common Lisp library for encoding and decoding data in the
7234 JSON interchange format.")
7235 (home-page "https://github.com/phmarek/yason")
7236 (license license:bsd-3)))
7237
7238 (define-public cl-yason
7239 (sbcl-package->cl-source-package sbcl-yason))
7240
7241 (define-public ecl-yason
7242 (sbcl-package->ecl-package sbcl-yason))
7243
7244 (define-public sbcl-stefil
7245 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7246 (revision "0"))
7247 (package
7248 (name "sbcl-stefil")
7249 (version (git-version "0.1" revision commit))
7250 (source
7251 (origin
7252 (method git-fetch)
7253 (uri (git-reference
7254 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7255 (commit commit)))
7256 (file-name (git-file-name name version))
7257 (sha256
7258 (base32
7259 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7260 (build-system asdf-build-system/sbcl)
7261 (inputs
7262 `(("alexandria" ,sbcl-alexandria)
7263 ("iterate" ,sbcl-iterate)
7264 ("metabang-bind" ,sbcl-metabang-bind)
7265 ("swank" ,sbcl-slime-swank)))
7266 (arguments
7267 '(#:phases
7268 (modify-phases %standard-phases
7269 (add-after 'unpack 'drop-unnecessary-dependency
7270 (lambda _
7271 (substitute* "package.lisp"
7272 ((":stefil-system") ""))
7273 #t)))))
7274 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7275 (synopsis "Simple test framework")
7276 (description
7277 "Stefil is a simple test framework for Common Lisp, with a focus on
7278 interactive development.")
7279 (license license:public-domain))))
7280
7281 (define-public cl-stefil
7282 (sbcl-package->cl-source-package sbcl-stefil))
7283
7284 (define-public ecl-stefil
7285 (sbcl-package->ecl-package sbcl-stefil))
7286
7287 (define-public sbcl-graph
7288 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7289 (revision "0"))
7290 (package
7291 (name "sbcl-graph")
7292 (version (git-version "0.0.0" revision commit))
7293 (source
7294 (origin
7295 (method git-fetch)
7296 (uri
7297 (git-reference
7298 (url "https://github.com/eschulte/graph")
7299 (commit commit)))
7300 (file-name (git-file-name name version))
7301 (sha256
7302 (base32
7303 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))))
7304 (build-system asdf-build-system/sbcl)
7305 (native-inputs
7306 `(("stefil" ,sbcl-stefil)))
7307 (inputs
7308 `(("alexandria" ,sbcl-alexandria)
7309 ("cl-heap" ,sbcl-cl-heap)
7310 ("cl-ppcre" ,sbcl-cl-ppcre)
7311 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7312 ("metabang-bind" ,sbcl-metabang-bind)
7313 ("named-readtables" ,sbcl-named-readtables)
7314 ("yason" ,sbcl-yason)))
7315 (arguments
7316 '(#:asd-systems '("graph"
7317 "graph/dot"
7318 "graph/json")))
7319 (synopsis "Graph data structure and algorithms for Common Lisp")
7320 (description
7321 "The GRAPH Common Lisp library provides a data structures to represent
7322 graphs, as well as some graph manipulation and analysis algorithms (shortest
7323 path, maximum flow, minimum spanning tree, etc.).")
7324 (home-page "https://eschulte.github.io/graph/")
7325 (license license:gpl3+))))
7326
7327 (define-public cl-graph
7328 (sbcl-package->cl-source-package sbcl-graph))
7329
7330 (define-public ecl-graph
7331 (sbcl-package->ecl-package sbcl-graph))
7332
7333 (define-public sbcl-trivial-indent
7334 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7335 (revision "0"))
7336 (package
7337 (name "sbcl-trivial-indent")
7338 (version (git-version "1.0.0" revision commit))
7339 (source
7340 (origin
7341 (method git-fetch)
7342 (uri
7343 (git-reference
7344 (url "https://github.com/Shinmera/trivial-indent")
7345 (commit commit)))
7346 (file-name (git-file-name name version))
7347 (sha256
7348 (base32
7349 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7350 (build-system asdf-build-system/sbcl)
7351 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7352 (description
7353 "This library allows you to define custom indentation hints for your
7354 macros if the one recognised by SLIME automatically produces unwanted
7355 results.")
7356 (home-page "https://shinmera.github.io/trivial-indent/")
7357 (license license:zlib))))
7358
7359 (define-public cl-trivial-indent
7360 (sbcl-package->cl-source-package sbcl-trivial-indent))
7361
7362 (define-public ecl-trivial-indent
7363 (sbcl-package->ecl-package sbcl-trivial-indent))
7364
7365 (define-public sbcl-documentation-utils
7366 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7367 (revision "0"))
7368 (package
7369 (name "sbcl-documentation-utils")
7370 (version (git-version "1.2.0" revision commit))
7371 (source
7372 (origin
7373 (method git-fetch)
7374 (uri
7375 (git-reference
7376 (url "https://github.com/Shinmera/documentation-utils")
7377 (commit commit)))
7378 (file-name (git-file-name name version))
7379 (sha256
7380 (base32
7381 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7382 (build-system asdf-build-system/sbcl)
7383 (inputs
7384 `(("trivial-indent" ,sbcl-trivial-indent)))
7385 (synopsis "Few simple tools to document Common Lisp libraries")
7386 (description
7387 "This is a small library to help you with managing the Common Lisp
7388 docstrings for your library.")
7389 (home-page "https://shinmera.github.io/documentation-utils/")
7390 (license license:zlib))))
7391
7392 (define-public cl-documentation-utils
7393 (sbcl-package->cl-source-package sbcl-documentation-utils))
7394
7395 (define-public ecl-documentation-utils
7396 (sbcl-package->ecl-package sbcl-documentation-utils))
7397
7398 (define-public sbcl-documentation-utils-extensions
7399 (let ((commit "f67f8a05d583174662a594b79356b201c1d9d750"))
7400 (package
7401 (name "sbcl-documentation-utils-extensions")
7402 (version (git-version "0.0.0" "1" commit))
7403 (source
7404 (origin
7405 (method git-fetch)
7406 (uri
7407 (git-reference
7408 (url "https://github.com/sirherrbatka/documentation-utils-extensions/")
7409 (commit commit)))
7410 (file-name (git-file-name name version))
7411 (sha256
7412 (base32
7413 "0pn45c9rbxlnhn5nvhqz6kyv0nlirwxpg4j27niwdq80yxzsn51f"))))
7414 (build-system asdf-build-system/sbcl)
7415 (inputs
7416 `(("documentation-utils" ,sbcl-documentation-utils)))
7417 (home-page "https://github.com/sirherrbatka/documentation-utils-extensions")
7418 (synopsis "Set of extensions for documentation-utils")
7419 (description
7420 "Use @code{rich-formatter} to format documentation with sections @code{:syntax},
7421 @code{:arguments}, @code{:examples}, @code{:description}, @code{:returns},
7422 @code{:side-effects}, @code{:thread-safety}, @code{:affected-by},
7423 @code{:see-also} and @code{:notes}. Gather unformatted input by using
7424 @code{rich-aggregating-formatter} and @code{*DOCUMENTATION*} variable. Find
7425 gathered documentation with find-documentation function. Execute code stored
7426 in documentation with @code{execute-documentation}. See the examples in the
7427 @code{src/documentation.lisp} file. See the @code{documentation-utils} system
7428 for more information.")
7429 (license license:expat))))
7430
7431 (define-public cl-documentation-utils-extensions
7432 (sbcl-package->cl-source-package sbcl-documentation-utils-extensions))
7433
7434 (define-public ecl-documentation-utils-extensions
7435 (sbcl-package->ecl-package sbcl-documentation-utils-extensions))
7436
7437 (define-public sbcl-form-fiddle
7438 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7439 (revision "0"))
7440 (package
7441 (name "sbcl-form-fiddle")
7442 (version (git-version "1.1.0" revision commit))
7443 (source
7444 (origin
7445 (method git-fetch)
7446 (uri
7447 (git-reference
7448 (url "https://github.com/Shinmera/form-fiddle")
7449 (commit commit)))
7450 (file-name (git-file-name name version))
7451 (sha256
7452 (base32
7453 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7454 (build-system asdf-build-system/sbcl)
7455 (inputs
7456 `(("documentation-utils" ,sbcl-documentation-utils)))
7457 (synopsis "Utilities to destructure Common Lisp lambda forms")
7458 (description
7459 "Often times we need to destructure a form definition in a Common Lisp
7460 macro. This library provides a set of simple utilities to help with that.")
7461 (home-page "https://shinmera.github.io/form-fiddle/")
7462 (license license:zlib))))
7463
7464 (define-public cl-form-fiddle
7465 (sbcl-package->cl-source-package sbcl-form-fiddle))
7466
7467 (define-public ecl-form-fiddle
7468 (sbcl-package->ecl-package sbcl-form-fiddle))
7469
7470 (define-public sbcl-parachute
7471 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7472 (revision "0"))
7473 (package
7474 (name "sbcl-parachute")
7475 (version (git-version "1.1.1" revision commit))
7476 (source
7477 (origin
7478 (method git-fetch)
7479 (uri
7480 (git-reference
7481 (url "https://github.com/Shinmera/parachute")
7482 (commit commit)))
7483 (file-name (git-file-name name version))
7484 (sha256
7485 (base32
7486 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7487 (build-system asdf-build-system/sbcl)
7488 (inputs
7489 `(("documentation-utils" ,sbcl-documentation-utils)
7490 ("form-fiddle" ,sbcl-form-fiddle)))
7491 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7492 (description
7493 "Parachute is a simple-to-use and extensible testing framework.
7494 In Parachute, things are organised as a bunch of named tests within a package.
7495 Each test can contain a bunch of test forms that make up its body.")
7496 (home-page "https://shinmera.github.io/parachute/")
7497 (license license:zlib))))
7498
7499 (define-public cl-parachute
7500 (sbcl-package->cl-source-package sbcl-parachute))
7501
7502 (define-public ecl-parachute
7503 (sbcl-package->ecl-package sbcl-parachute))
7504
7505 (define-public sbcl-array-utils
7506 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7507 (revision "0"))
7508 (package
7509 (name "sbcl-array-utils")
7510 (version (git-version "1.1.1" revision commit))
7511 (source
7512 (origin
7513 (method git-fetch)
7514 (uri
7515 (git-reference
7516 (url "https://github.com/Shinmera/array-utils")
7517 (commit commit)))
7518 (file-name (git-file-name name version))
7519 (sha256
7520 (base32
7521 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7522 (build-system asdf-build-system/sbcl)
7523 (native-inputs
7524 `(("parachute" ,sbcl-parachute)))
7525 (inputs
7526 `(("documentation-utils" ,sbcl-documentation-utils)))
7527 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7528 (description
7529 "A miniature toolkit that contains some useful shifting/popping/pushing
7530 functions for arrays and vectors. Originally from Plump.")
7531 (home-page "https://shinmera.github.io/array-utils/")
7532 (license license:zlib))))
7533
7534 (define-public cl-array-utils
7535 (sbcl-package->cl-source-package sbcl-array-utils))
7536
7537 (define-public ecl-array-utils
7538 (sbcl-package->ecl-package sbcl-array-utils))
7539
7540 (define-public sbcl-plump
7541 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
7542 (revision "1"))
7543 (package
7544 (name "sbcl-plump")
7545 (version (git-version "2.0.0" revision commit))
7546 (source
7547 (origin
7548 (method git-fetch)
7549 (uri
7550 (git-reference
7551 (url "https://github.com/Shinmera/plump")
7552 (commit commit)))
7553 (file-name (git-file-name name version))
7554 (sha256
7555 (base32
7556 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
7557 (build-system asdf-build-system/sbcl)
7558 (inputs
7559 `(("array-utils" ,sbcl-array-utils)
7560 ("documentation-utils" ,sbcl-documentation-utils)))
7561 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7562 (description
7563 "Plump is a parser for HTML/XML-like documents, focusing on being
7564 lenient towards invalid markup. It can handle things like invalid attributes,
7565 bad closing tag order, unencoded entities, inexistent tag types, self-closing
7566 tags and so on. It parses documents to a class representation and offers a
7567 small set of DOM functions to manipulate it. It can be extended to parse to
7568 your own classes.")
7569 (home-page "https://shinmera.github.io/plump/")
7570 (license license:zlib))))
7571
7572 (define-public cl-plump
7573 (sbcl-package->cl-source-package sbcl-plump))
7574
7575 (define-public ecl-plump
7576 (sbcl-package->ecl-package sbcl-plump))
7577
7578 ;;; Split the antik package in two to work around the circular dependency
7579 ;;; between antik/antik and antik/gsll.
7580 (define-public sbcl-antik-base
7581 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7582 (revision "1"))
7583 (package
7584 (name "sbcl-antik-base")
7585 (version (git-version "0.0.0" revision commit))
7586 (source
7587 (origin
7588 (method git-fetch)
7589 (uri (git-reference
7590 (url "https://gitlab.common-lisp.net/antik/antik.git")
7591 (commit commit)))
7592 (file-name (git-file-name name version))
7593 (sha256
7594 (base32
7595 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7596 (build-system asdf-build-system/sbcl)
7597 (inputs
7598 `(("alexandria" ,sbcl-alexandria)
7599 ("cffi" ,sbcl-cffi)
7600 ("cl-ppcre" ,sbcl-cl-ppcre)
7601 ("drakma" ,sbcl-drakma)
7602 ("fare-utils" ,sbcl-fare-utils)
7603 ("iterate" ,sbcl-iterate)
7604 ("metabang-bind" ,sbcl-metabang-bind)
7605 ("named-readtables" ,sbcl-named-readtables)
7606 ("split-sequence" ,sbcl-split-sequence)
7607 ("static-vectors" ,sbcl-static-vectors)
7608 ("trivial-garbage" ,sbcl-trivial-garbage)
7609 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7610 (native-inputs
7611 `(("lisp-unit" ,sbcl-lisp-unit)))
7612 (arguments
7613 '(#:asd-systems '("antik-base"
7614 "foreign-array")
7615 #:phases
7616 (modify-phases %standard-phases
7617 (add-after 'unpack 'fix-build
7618 (lambda _
7619 (for-each delete-file
7620 '("antik.asd"
7621 "physical-dimension.asd"
7622 "science-data.asd"))
7623 #t)))))
7624 (synopsis "Scientific and engineering computation in Common Lisp")
7625 (description
7626 "Antik provides a foundation for scientific and engineering
7627 computation in Common Lisp. It is designed not only to facilitate
7628 numerical computations, but to permit the use of numerical computation
7629 libraries and the interchange of data and procedures, whether
7630 foreign (non-Lisp) or Lisp libraries. It is named after the
7631 Antikythera mechanism, one of the oldest examples of a scientific
7632 computer known.")
7633 (home-page "https://common-lisp.net/project/antik/")
7634 (license license:gpl3))))
7635
7636 (define-public cl-antik-base
7637 (sbcl-package->cl-source-package sbcl-antik-base))
7638
7639 (define-public ecl-antik-base
7640 (let ((pkg (sbcl-package->ecl-package sbcl-antik-base)))
7641 (package
7642 (inherit pkg)
7643 (arguments
7644 (substitute-keyword-arguments (package-arguments pkg)
7645 ((#:phases phases)
7646 `(modify-phases ,phases
7647 (add-after 'unpack 'fix-readtable
7648 (lambda _
7649 (substitute* "input-output/readtable.lisp"
7650 (("#-ccl")
7651 "#-(or ccl ecl)"))
7652 #t)))))))))
7653
7654 (define-public sbcl-gsll
7655 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7656 (revision "1"))
7657 (package
7658 (name "sbcl-gsll")
7659 (version (git-version "0.0.0" revision commit))
7660 (source
7661 (origin
7662 (method git-fetch)
7663 (uri (git-reference
7664 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7665 (commit commit)))
7666 (file-name (git-file-name name version))
7667 (sha256
7668 (base32
7669 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7670 (build-system asdf-build-system/sbcl)
7671 (native-inputs
7672 `(("lisp-unit" ,sbcl-lisp-unit)))
7673 (inputs
7674 `(("alexandria" ,sbcl-alexandria)
7675 ("antik-base" ,sbcl-antik-base)
7676 ("cffi" ,sbcl-cffi)
7677 ("gsl" ,gsl)
7678 ("metabang-bind" ,sbcl-metabang-bind)
7679 ("trivial-features" ,sbcl-trivial-features)
7680 ("trivial-garbage" ,sbcl-trivial-garbage)))
7681 (arguments
7682 `(#:tests? #f
7683 #:phases
7684 (modify-phases %standard-phases
7685 (add-after 'unpack 'fix-cffi-paths
7686 (lambda* (#:key inputs #:allow-other-keys)
7687 (substitute* "gsll.asd"
7688 ((":depends-on \\(#:foreign-array")
7689 ":depends-on (#:foreign-array #:cffi-libffi"))
7690 (substitute* "init/init.lisp"
7691 (("libgslcblas.so" all)
7692 (string-append
7693 (assoc-ref inputs "gsl") "/lib/" all)))
7694 (substitute* "init/init.lisp"
7695 (("libgsl.so" all)
7696 (string-append
7697 (assoc-ref inputs "gsl") "/lib/" all))))))))
7698 (synopsis "GNU Scientific Library for Lisp")
7699 (description
7700 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
7701 GNU Scientific Library (GSL) from Common Lisp. This library provides a
7702 full range of common mathematical operations useful to scientific and
7703 engineering applications. The design of the GSLL interface is such
7704 that access to most of the GSL library is possible in a Lisp-natural
7705 way; the intent is that the user not be hampered by the restrictions
7706 of the C language in which GSL has been written. GSLL thus provides
7707 interactive use of GSL for getting quick answers, even for someone not
7708 intending to program in Lisp.")
7709 (home-page "https://common-lisp.net/project/gsll/")
7710 (license license:gpl3))))
7711
7712 (define-public cl-gsll
7713 (sbcl-package->cl-source-package sbcl-gsll))
7714
7715 (define-public ecl-gsll
7716 (sbcl-package->ecl-package sbcl-gsll))
7717
7718 (define-public sbcl-antik
7719 (package
7720 (inherit sbcl-antik-base)
7721 (name "sbcl-antik")
7722 (inputs
7723 `(("antik-base" ,sbcl-antik-base)
7724 ("gsll" ,sbcl-gsll)))
7725 (arguments
7726 '(#:asd-systems '("antik"
7727 "science-data")
7728 #:phases
7729 (modify-phases %standard-phases
7730 (add-after 'unpack 'fix-build
7731 (lambda _
7732 (for-each delete-file
7733 '("antik-base.asd"
7734 "foreign-array.asd"))
7735 #t)))))))
7736
7737 (define-public cl-antik
7738 (sbcl-package->cl-source-package sbcl-antik))
7739
7740 (define-public sbcl-cl-interpol
7741 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
7742 (revision "1"))
7743 (package
7744 (name "sbcl-cl-interpol")
7745 (version (git-version "0.2.6" revision commit))
7746 (source
7747 (origin
7748 (method git-fetch)
7749 (uri (git-reference
7750 (url "https://github.com/edicl/cl-interpol")
7751 (commit commit)))
7752 (file-name (git-file-name name version))
7753 (sha256
7754 (base32
7755 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
7756 (build-system asdf-build-system/sbcl)
7757 (inputs
7758 `(("cl-unicode" ,sbcl-cl-unicode)
7759 ("named-readtables" ,sbcl-named-readtables)))
7760 (native-inputs
7761 `(("flexi-streams" ,sbcl-flexi-streams)))
7762 (synopsis "String interpolation for Common Lisp")
7763 (description
7764 "CL-INTERPOL is a library for Common Lisp which modifies the
7765 reader so that you can have interpolation within strings similar to
7766 Perl or Unix Shell scripts. It also provides various ways to insert
7767 arbitrary characters into literal strings even if your editor/IDE
7768 doesn't support them.")
7769 (home-page "https://edicl.github.io/cl-interpol/")
7770 (license license:bsd-3))))
7771
7772 (define-public cl-interpol
7773 (sbcl-package->cl-source-package sbcl-cl-interpol))
7774
7775 (define-public ecl-cl-interpol
7776 (sbcl-package->ecl-package sbcl-cl-interpol))
7777
7778 (define-public sbcl-symbol-munger
7779 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
7780 (revision "1"))
7781 (package
7782 (name "sbcl-symbol-munger")
7783 (version (git-version "0.0.1" revision commit))
7784 (source
7785 (origin
7786 (method git-fetch)
7787 (uri (git-reference
7788 (url "https://github.com/AccelerationNet/symbol-munger")
7789 (commit commit)))
7790 (file-name (git-file-name name version))
7791 (sha256
7792 (base32
7793 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
7794 (build-system asdf-build-system/sbcl)
7795 (inputs
7796 `(("alexandria" ,sbcl-alexandria)
7797 ("iterate" ,sbcl-iterate)))
7798 (arguments
7799 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7800 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7801 '(#:tests? #f))
7802 (synopsis
7803 "Capitalization and spacing conversion functions for Common Lisp")
7804 (description
7805 "This is a Common Lisp library to change the capitalization and spacing
7806 of a string or a symbol. It can convert to and from Lisp, english, underscore
7807 and camel-case rules.")
7808 (home-page "https://github.com/AccelerationNet/symbol-munger")
7809 ;; The package declares a BSD license, but all of the license
7810 ;; text is MIT.
7811 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
7812 (license license:expat))))
7813
7814 (define-public cl-symbol-munger
7815 (sbcl-package->cl-source-package sbcl-symbol-munger))
7816
7817 (define-public ecl-symbol-munger
7818 (sbcl-package->ecl-package sbcl-symbol-munger))
7819
7820 (define-public sbcl-lisp-unit2
7821 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7822 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7823 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
7824 (revision "1"))
7825 (package
7826 (name "sbcl-lisp-unit2")
7827 (version (git-version "0.2.0" revision commit))
7828 (source
7829 (origin
7830 (method git-fetch)
7831 (uri (git-reference
7832 (url "https://github.com/AccelerationNet/lisp-unit2")
7833 (commit commit)))
7834 (file-name (git-file-name name version))
7835 (sha256
7836 (base32
7837 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
7838 (build-system asdf-build-system/sbcl)
7839 (inputs
7840 `(("alexandria" ,sbcl-alexandria)
7841 ("cl-interpol" ,sbcl-cl-interpol)
7842 ("iterate" ,sbcl-iterate)
7843 ("symbol-munger" ,sbcl-symbol-munger)))
7844 (synopsis "Test Framework for Common Lisp")
7845 (description
7846 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
7847 style of JUnit for Java. It is a new version of the lisp-unit library written
7848 by Chris Riesbeck.")
7849 (home-page "https://github.com/AccelerationNet/lisp-unit2")
7850 (license license:expat))))
7851
7852 (define-public cl-lisp-unit2
7853 (sbcl-package->cl-source-package sbcl-lisp-unit2))
7854
7855 (define-public ecl-lisp-unit2
7856 (sbcl-package->ecl-package sbcl-lisp-unit2))
7857
7858 (define-public sbcl-cl-csv
7859 (let ((commit "68ecb5d816545677513d7f6308d9e5e8d2265651")
7860 (revision "2"))
7861 (package
7862 (name "sbcl-cl-csv")
7863 (version (git-version "1.0.6" revision commit))
7864 (source
7865 (origin
7866 (method git-fetch)
7867 (uri (git-reference
7868 (url "https://github.com/AccelerationNet/cl-csv")
7869 (commit commit)))
7870 (file-name (git-file-name name version))
7871 (sha256
7872 (base32
7873 "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x"))))
7874 (build-system asdf-build-system/sbcl)
7875 (arguments
7876 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
7877 `(#:tests? #f))
7878 (inputs
7879 `(("alexandria" ,sbcl-alexandria)
7880 ("cl-interpol" ,sbcl-cl-interpol)
7881 ("iterate" ,sbcl-iterate)))
7882 (native-inputs
7883 `(("lisp-unit2" ,sbcl-lisp-unit2)))
7884 (synopsis "Common lisp library for comma-separated values")
7885 (description
7886 "This is a Common Lisp library providing functions to read/write CSV
7887 from/to strings, streams and files.")
7888 (home-page "https://github.com/AccelerationNet/cl-csv")
7889 (license license:bsd-3))))
7890
7891 (define-public cl-csv
7892 (sbcl-package->cl-source-package sbcl-cl-csv))
7893
7894 (define-public ecl-cl-csv
7895 (sbcl-package->ecl-package sbcl-cl-csv))
7896
7897 (define-public sbcl-external-program
7898 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
7899 (revision "1"))
7900 (package
7901 (name "sbcl-external-program")
7902 (version (git-version "0.0.6" revision commit))
7903 (source
7904 (origin
7905 (method git-fetch)
7906 (uri (git-reference
7907 (url "https://github.com/sellout/external-program")
7908 (commit commit)))
7909 (file-name (git-file-name name version))
7910 (sha256
7911 (base32
7912 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
7913 (build-system asdf-build-system/sbcl)
7914 (inputs
7915 `(("trivial-features" ,sbcl-trivial-features)))
7916 (native-inputs
7917 `(("fiveam" ,sbcl-fiveam)))
7918 (synopsis "Common Lisp library for running external programs")
7919 (description
7920 "EXTERNAL-PROGRAM enables running programs outside the Lisp
7921 process. It is an attempt to make the RUN-PROGRAM functionality in
7922 implementations like SBCL and CCL as portable as possible without
7923 sacrificing much in the way of power.")
7924 (home-page "https://github.com/sellout/external-program")
7925 (license license:llgpl))))
7926
7927 (define-public cl-external-program
7928 (sbcl-package->cl-source-package sbcl-external-program))
7929
7930 (define-public ecl-external-program
7931 (sbcl-package->ecl-package sbcl-external-program))
7932
7933 (define-public sbcl-cl-ana
7934 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
7935 (revision "1"))
7936 (package
7937 (name "sbcl-cl-ana")
7938 (version (git-version "0.0.0" revision commit))
7939 (source
7940 (origin
7941 (method git-fetch)
7942 (uri (git-reference
7943 (url "https://github.com/ghollisjr/cl-ana")
7944 (commit commit)))
7945 (file-name (git-file-name name version))
7946 (sha256
7947 (base32 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
7948 (build-system asdf-build-system/sbcl)
7949 (native-inputs
7950 `(("cl-fad" ,sbcl-cl-fad)))
7951 (inputs
7952 `(("alexandria" ,sbcl-alexandria)
7953 ("antik" ,sbcl-antik)
7954 ("cffi" ,sbcl-cffi)
7955 ("cl-csv" ,sbcl-cl-csv)
7956 ("closer-mop" ,sbcl-closer-mop)
7957 ("external-program" ,sbcl-external-program)
7958 ("gsl" ,gsl)
7959 ("gsll" ,sbcl-gsll)
7960 ("hdf5" ,hdf5-parallel-openmpi)
7961 ("iterate" ,sbcl-iterate)
7962 ("libffi" ,libffi)
7963 ("split-sequence" ,sbcl-split-sequence)))
7964 (arguments
7965 `(#:phases
7966 (modify-phases %standard-phases
7967 (add-after 'unpack 'fix-paths
7968 (lambda* (#:key inputs #:allow-other-keys)
7969 (substitute* "hdf-cffi/hdf-cffi.lisp"
7970 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
7971 (string-append (assoc-ref inputs "hdf5")
7972 "/lib/libhdf5.so")))
7973 (substitute* "gsl-cffi/gsl-cffi.lisp"
7974 (("define-foreign-library gsl-cffi" all)
7975 (string-append all " (:unix "
7976 (assoc-ref inputs "gsl")
7977 "/lib/libgsl.so)")))
7978 #t)))))
7979 (synopsis "Common Lisp data analysis library")
7980 (description
7981 "CL-ANA is a data analysis library in Common Lisp providing tabular and
7982 binned data analysis along with nonlinear least squares fitting and
7983 visualization.")
7984 (home-page "https://github.com/ghollisjr/cl-ana")
7985 (license license:gpl3))))
7986
7987 (define-public cl-ana
7988 (sbcl-package->cl-source-package sbcl-cl-ana))
7989
7990 (define-public sbcl-archive
7991 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
7992 (revision "1"))
7993 (package
7994 (name "sbcl-archive")
7995 (version (git-version "0.9" revision commit))
7996 (source (origin
7997 (method git-fetch)
7998 (uri (git-reference
7999 (url "https://github.com/sharplispers/archive")
8000 (commit commit)))
8001 (file-name (git-file-name name version))
8002 (sha256
8003 (base32
8004 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
8005 (build-system asdf-build-system/sbcl)
8006 (inputs
8007 `(("cl-fad" ,sbcl-cl-fad)
8008 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
8009 (synopsis "Common Lisp library for tar and cpio archives")
8010 (description
8011 "This is a Common Lisp library to read and write disk-based file
8012 archives such as those generated by the tar and cpio programs on Unix.")
8013 (home-page "https://github.com/sharplispers/archive")
8014 (license license:bsd-3))))
8015
8016 (define-public cl-archive
8017 (sbcl-package->cl-source-package sbcl-archive))
8018
8019 (define-public ecl-archive
8020 (sbcl-package->ecl-package sbcl-archive))
8021
8022 (define-public sbcl-misc-extensions
8023 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
8024 (revision "1"))
8025 (package
8026 (name "sbcl-misc-extensions")
8027 (version (git-version "3.3" revision commit))
8028 (source
8029 (origin
8030 (method git-fetch)
8031 (uri (git-reference
8032 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
8033 (commit commit)))
8034 (file-name (git-file-name name version))
8035 (sha256
8036 (base32
8037 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
8038 (build-system asdf-build-system/sbcl)
8039 (synopsis "Collection of small macros and extensions for Common Lisp")
8040 (description
8041 "This project is intended as a catchall for small, general-purpose
8042 extensions to Common Lisp. It contains:
8043
8044 @itemize
8045 @item @code{new-let}, a macro that combines and generalizes @code{let},
8046 @code{let*} and @code{multiple-value-bind},
8047 @item @code{gmap}, an iteration macro that generalizes @code{map}.
8048 @end itemize\n")
8049 (home-page "https://common-lisp.net/project/misc-extensions/")
8050 (license license:public-domain))))
8051
8052 (define-public cl-misc-extensions
8053 (sbcl-package->cl-source-package sbcl-misc-extensions))
8054
8055 (define-public ecl-misc-extensions
8056 (sbcl-package->ecl-package sbcl-misc-extensions))
8057
8058 (define-public sbcl-mt19937
8059 (package
8060 (name "sbcl-mt19937")
8061 (version "1.1")
8062 (source
8063 (origin
8064 (method url-fetch)
8065 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
8066 "mt19937-latest.tar.gz"))
8067 (sha256
8068 (base32
8069 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
8070 (build-system asdf-build-system/sbcl)
8071 (synopsis "Mersenne Twister pseudo-random number generator")
8072 (description
8073 "MT19937 is a portable Mersenne Twister pseudo-random number generator
8074 for Common Lisp.")
8075 (home-page "https://www.cliki.net/mt19937")
8076 (license license:public-domain)))
8077
8078 (define-public cl-mt19937
8079 (sbcl-package->cl-source-package sbcl-mt19937))
8080
8081 (define-public ecl-mt19937
8082 (sbcl-package->ecl-package sbcl-mt19937))
8083
8084 (define-public sbcl-fset
8085 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
8086 (revision "1"))
8087 (package
8088 (name "sbcl-fset")
8089 (version (git-version "1.3.2" revision commit))
8090 (source
8091 (origin
8092 (method git-fetch)
8093 (uri (git-reference
8094 (url "https://github.com/slburson/fset")
8095 (commit commit)))
8096 (file-name (git-file-name name version))
8097 (sha256
8098 (base32
8099 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
8100 (snippet '(begin
8101 ;; Remove obsolete copy of system definition.
8102 (delete-file "Code/fset.asd")
8103 #t))))
8104 (build-system asdf-build-system/sbcl)
8105 (inputs
8106 `(("misc-extensions" ,sbcl-misc-extensions)
8107 ("mt19937" ,sbcl-mt19937)
8108 ("named-readtables" ,sbcl-named-readtables)))
8109 (synopsis "Functional set-theoretic collections library")
8110 (description
8111 "FSet is a functional set-theoretic collections library for Common Lisp.
8112 Functional means that all update operations return a new collection rather than
8113 modifying an existing one in place. Set-theoretic means that collections may
8114 be nested arbitrarily with no additional programmer effort; for instance, sets
8115 may contain sets, maps may be keyed by sets, etc.")
8116 (home-page "https://common-lisp.net/project/fset/Site/index.html")
8117 (license license:llgpl))))
8118
8119 (define-public cl-fset
8120 (sbcl-package->cl-source-package sbcl-fset))
8121
8122 (define-public ecl-fset
8123 (package
8124 (inherit (sbcl-package->ecl-package sbcl-fset))
8125 (arguments
8126 ;; Tests fails on ECL with "The function FSET::MAKE-CHAR is undefined".
8127 '(#:tests? #f))))
8128
8129 (define-public sbcl-cl-cont
8130 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
8131 (revision "1"))
8132 (package
8133 (name "sbcl-cl-cont")
8134 (version (git-version "0.3.8" revision commit))
8135 (source
8136 (origin
8137 (method git-fetch)
8138 (uri (git-reference
8139 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
8140 (commit commit)))
8141 (file-name (git-file-name name version))
8142 (sha256
8143 (base32
8144 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
8145 (build-system asdf-build-system/sbcl)
8146 (inputs
8147 `(("alexandria" ,sbcl-alexandria)
8148 ("closer-mop" ,sbcl-closer-mop)))
8149 (native-inputs
8150 `(("rt" ,sbcl-rt)))
8151 (synopsis "Delimited continuations for Common Lisp")
8152 (description
8153 "This is a library that implements delimited continuations by
8154 transforming Common Lisp code to continuation passing style.")
8155 (home-page "https://common-lisp.net/project/cl-cont/")
8156 (license license:llgpl))))
8157
8158 (define-public cl-cont
8159 (sbcl-package->cl-source-package sbcl-cl-cont))
8160
8161 (define-public ecl-cl-cont
8162 (sbcl-package->ecl-package sbcl-cl-cont))
8163
8164 (define-public sbcl-cl-coroutine
8165 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
8166 (revision "1"))
8167 (package
8168 (name "sbcl-cl-coroutine")
8169 (version (git-version "0.1" revision commit))
8170 (source
8171 (origin
8172 (method git-fetch)
8173 (uri (git-reference
8174 (url "https://github.com/takagi/cl-coroutine")
8175 (commit commit)))
8176 (file-name (git-file-name name version))
8177 (sha256
8178 (base32
8179 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
8180 (build-system asdf-build-system/sbcl)
8181 (inputs
8182 `(("alexandria" ,sbcl-alexandria)
8183 ("cl-cont" ,sbcl-cl-cont)))
8184 (native-inputs
8185 `(("prove" ,sbcl-prove)))
8186 (arguments
8187 `(;; TODO: Fix the tests. They fail with:
8188 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
8189 #:tests? #f
8190 #:phases
8191 (modify-phases %standard-phases
8192 (add-after 'unpack 'fix-tests
8193 (lambda _
8194 (substitute* "cl-coroutine-test.asd"
8195 (("cl-test-more")
8196 "prove"))
8197 #t)))))
8198 (synopsis "Coroutine library for Common Lisp")
8199 (description
8200 "This is a coroutine library for Common Lisp implemented using the
8201 continuations of the @code{cl-cont} library.")
8202 (home-page "https://github.com/takagi/cl-coroutine")
8203 (license license:llgpl))))
8204
8205 (define-public cl-coroutine
8206 (sbcl-package->cl-source-package sbcl-cl-coroutine))
8207
8208 (define-public ecl-cl-coroutine
8209 (sbcl-package->ecl-package sbcl-cl-coroutine))
8210
8211 (define-public sbcl-vas-string-metrics
8212 (let ((commit "f2e4500b180316123fbd549bd51c751ee2d6ba0f")
8213 (revision "1"))
8214 (package
8215 (name "sbcl-vas-string-metrics")
8216 (version (git-version "0.0.0" revision commit))
8217 (source
8218 (origin
8219 (method git-fetch)
8220 (uri (git-reference
8221 (url "https://github.com/vsedach/vas-string-metrics")
8222 (commit commit)))
8223 (file-name (git-file-name "vas-string-metrics" version))
8224 (sha256
8225 (base32 "11fcnd03ybzz37rkg3z0wsb727yqgcd9gn70sccfb34l89ia279k"))))
8226 (build-system asdf-build-system/sbcl)
8227 (arguments
8228 `(#:test-asd-file "test.vas-string-metrics.asd"))
8229 (home-page "https://github.com/vsedach/vas-string-metrics")
8230 (synopsis "String distance algorithms for Common Lisp")
8231 (description
8232 "VAS-STRING-METRICS provides the Jaro, Jaro-Winkler, Soerensen-Dice,
8233 Levenshtein, and normalized Levenshtein string distance/similarity metrics
8234 algorithms.")
8235 (license license:lgpl3+))))
8236
8237 (define-public ecl-vas-string-metrics
8238 (sbcl-package->ecl-package sbcl-vas-string-metrics))
8239
8240 (define-public cl-vas-string-metrics
8241 (sbcl-package->cl-source-package sbcl-vas-string-metrics))
8242
8243 (define-public sbcl-vom
8244 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
8245 (revision "1"))
8246 (package
8247 (name "sbcl-vom")
8248 (version (git-version "0.1.4" revision commit))
8249 (source
8250 (origin
8251 (method git-fetch)
8252 (uri (git-reference
8253 (url "https://github.com/orthecreedence/vom")
8254 (commit commit)))
8255 (file-name (git-file-name name version))
8256 (sha256
8257 (base32
8258 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
8259 (build-system asdf-build-system/sbcl)
8260 (synopsis "Tiny logging utility for Common Lisp")
8261 (description
8262 "Vom is a logging library for Common Lisp. It's goal is to be useful
8263 and small. It does not provide a lot of features as other loggers do, but
8264 has a small codebase that's easy to understand and use.")
8265 (home-page "https://github.com/orthecreedence/vom")
8266 (license license:expat))))
8267
8268 (define-public cl-vom
8269 (sbcl-package->cl-source-package sbcl-vom))
8270
8271 (define-public ecl-vom
8272 (sbcl-package->ecl-package sbcl-vom))
8273
8274 (define-public sbcl-cl-libuv
8275 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
8276 (revision "1"))
8277 (package
8278 (name "sbcl-cl-libuv")
8279 (version (git-version "0.1.6" revision commit))
8280 (source
8281 (origin
8282 (method git-fetch)
8283 (uri (git-reference
8284 (url "https://github.com/orthecreedence/cl-libuv")
8285 (commit commit)))
8286 (file-name (git-file-name name version))
8287 (sha256
8288 (base32
8289 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
8290 (build-system asdf-build-system/sbcl)
8291 (inputs
8292 `(("alexandria" ,sbcl-alexandria)
8293 ("cffi" ,sbcl-cffi)
8294 ("libuv" ,libuv)))
8295 (arguments
8296 `(#:phases
8297 (modify-phases %standard-phases
8298 (add-after 'unpack 'fix-paths
8299 (lambda* (#:key inputs #:allow-other-keys)
8300 (substitute* "lib.lisp"
8301 (("/usr/lib/libuv.so")
8302 (string-append (assoc-ref inputs "libuv")
8303 "/lib/libuv.so")))
8304 #t))
8305 (add-after 'fix-paths 'fix-system-definition
8306 (lambda _
8307 (substitute* "cl-libuv.asd"
8308 (("#:cffi #:alexandria")
8309 "#:cffi #:cffi-grovel #:alexandria"))
8310 #t)))))
8311 (synopsis "Common Lisp bindings to libuv")
8312 (description
8313 "This library provides low-level libuv bindings for Common Lisp.")
8314 (home-page "https://github.com/orthecreedence/cl-libuv")
8315 (license license:expat))))
8316
8317 (define-public cl-libuv
8318 (sbcl-package->cl-source-package sbcl-cl-libuv))
8319
8320 (define-public ecl-cl-libuv
8321 (sbcl-package->ecl-package sbcl-cl-libuv))
8322
8323 (define-public sbcl-cl-async
8324 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
8325 (revision "1"))
8326 (package
8327 (name "sbcl-cl-async")
8328 (version (git-version "0.6.1" revision commit))
8329 (source
8330 (origin
8331 (method git-fetch)
8332 (uri (git-reference
8333 (url "https://github.com/orthecreedence/cl-async")
8334 (commit commit)))
8335 (file-name (git-file-name name version))
8336 (sha256
8337 (base32
8338 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
8339 (build-system asdf-build-system/sbcl)
8340 (inputs
8341 `(("babel" ,sbcl-babel)
8342 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8343 ("cffi" ,sbcl-cffi)
8344 ("cl-libuv" ,sbcl-cl-libuv)
8345 ("cl-ppcre" ,sbcl-cl-ppcre)
8346 ("fast-io" ,sbcl-fast-io)
8347 ("openssl" ,openssl)
8348 ("static-vectors" ,sbcl-static-vectors)
8349 ("trivial-features" ,sbcl-trivial-features)
8350 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
8351 ("vom" ,sbcl-vom)))
8352 (arguments
8353 `(#:asd-systems '("cl-async"
8354 "cl-async-repl"
8355 "cl-async-ssl")
8356 #:phases
8357 (modify-phases %standard-phases
8358 (add-after 'unpack 'fix-paths
8359 (lambda* (#:key inputs #:allow-other-keys)
8360 (substitute* "src/ssl/package.lisp"
8361 (("libcrypto\\.so")
8362 (string-append (assoc-ref inputs "openssl")
8363 "/lib/libcrypto.so"))
8364 (("libssl\\.so")
8365 (string-append (assoc-ref inputs "openssl")
8366 "/lib/libssl.so")))
8367 #t)))))
8368 (synopsis "Asynchronous operations for Common Lisp")
8369 (description
8370 "Cl-async is a library for general purpose, non-blocking programming in
8371 Common Lisp. It uses the libuv library as backend.")
8372 (home-page "https://orthecreedence.github.io/cl-async/")
8373 (license license:expat))))
8374
8375 (define-public cl-async
8376 (sbcl-package->cl-source-package sbcl-cl-async))
8377
8378 (define-public ecl-cl-async
8379 (sbcl-package->ecl-package sbcl-cl-async))
8380
8381 (define-public sbcl-blackbird
8382 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
8383 (revision "1"))
8384 (package
8385 (name "sbcl-blackbird")
8386 (version (git-version "0.5.2" revision commit))
8387 (source
8388 (origin
8389 (method git-fetch)
8390 (uri (git-reference
8391 (url "https://github.com/orthecreedence/blackbird")
8392 (commit commit)))
8393 (file-name (git-file-name name version))
8394 (sha256
8395 (base32
8396 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
8397 (build-system asdf-build-system/sbcl)
8398 (inputs
8399 `(("vom" ,sbcl-vom)))
8400 (native-inputs
8401 `(("cl-async" ,sbcl-cl-async)
8402 ("fiveam" ,sbcl-fiveam)))
8403 (synopsis "Promise implementation for Common Lisp")
8404 (description
8405 "This is a standalone promise implementation for Common Lisp. It is
8406 the successor to the now-deprecated cl-async-future project.")
8407 (home-page "https://orthecreedence.github.io/blackbird/")
8408 (license license:expat))))
8409
8410 (define-public cl-blackbird
8411 (sbcl-package->cl-source-package sbcl-blackbird))
8412
8413 (define-public ecl-blackbird
8414 (sbcl-package->ecl-package sbcl-blackbird))
8415
8416 (define-public sbcl-cl-async-future
8417 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
8418 (revision "1"))
8419 (package
8420 (name "sbcl-cl-async-future")
8421 (version (git-version "0.4.4.1" revision commit))
8422 (source
8423 (origin
8424 (method git-fetch)
8425 (uri (git-reference
8426 (url "https://github.com/orthecreedence/cl-async-future")
8427 (commit commit)))
8428 (file-name (git-file-name name version))
8429 (sha256
8430 (base32
8431 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
8432 (build-system asdf-build-system/sbcl)
8433 (inputs
8434 `(("blackbird" ,sbcl-blackbird)))
8435 (native-inputs
8436 `(("cl-async" ,sbcl-cl-async)
8437 ("eos" ,sbcl-eos)))
8438 (synopsis "Futures implementation for Common Lisp")
8439 (description
8440 "This is futures implementation for Common Lisp. It plugs in nicely
8441 to cl-async.")
8442 (home-page "https://orthecreedence.github.io/cl-async/future")
8443 (license license:expat))))
8444
8445 (define-public cl-async-future
8446 (sbcl-package->cl-source-package sbcl-cl-async-future))
8447
8448 (define-public ecl-cl-async-future
8449 (sbcl-package->ecl-package sbcl-cl-async-future))
8450
8451 (define-public sbcl-green-threads
8452 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
8453 (revision "1"))
8454 (package
8455 (name "sbcl-green-threads")
8456 (version (git-version "0.3" revision commit))
8457 (source
8458 (origin
8459 (method git-fetch)
8460 (uri (git-reference
8461 (url "https://github.com/thezerobit/green-threads")
8462 (commit commit)))
8463 (file-name (git-file-name name version))
8464 (sha256
8465 (base32
8466 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
8467 (build-system asdf-build-system/sbcl)
8468 (inputs
8469 `(("cl-async-future" ,sbcl-cl-async-future)
8470 ("cl-cont" ,sbcl-cl-cont)))
8471 (native-inputs
8472 `(("prove" ,sbcl-prove)))
8473 (arguments
8474 `(;; TODO: Fix the tests. They fail with:
8475 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
8476 #:tests? #f
8477 #:phases
8478 (modify-phases %standard-phases
8479 (add-after 'unpack 'fix-tests
8480 (lambda _
8481 (substitute* "green-threads-test.asd"
8482 (("cl-test-more")
8483 "prove"))
8484 #t)))))
8485 (synopsis "Cooperative multitasking library for Common Lisp")
8486 (description
8487 "This library allows for cooperative multitasking with help of cl-cont
8488 for continuations. It tries to mimic the API of bordeaux-threads as much as
8489 possible.")
8490 (home-page "https://github.com/thezerobit/green-threads")
8491 (license license:bsd-3))))
8492
8493 (define-public cl-green-threads
8494 (sbcl-package->cl-source-package sbcl-green-threads))
8495
8496 (define-public ecl-green-threads
8497 (sbcl-package->ecl-package sbcl-green-threads))
8498
8499 (define-public sbcl-cl-base32
8500 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
8501 (revision "1"))
8502 (package
8503 (name "sbcl-cl-base32")
8504 (version (git-version "0.1" revision commit))
8505 (source
8506 (origin
8507 (method git-fetch)
8508 (uri (git-reference
8509 (url "https://github.com/hargettp/cl-base32")
8510 (commit commit)))
8511 (file-name (git-file-name name version))
8512 (sha256
8513 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
8514 (build-system asdf-build-system/sbcl)
8515 (native-inputs
8516 `(("lisp-unit" ,sbcl-lisp-unit)))
8517 (synopsis "Common Lisp library for base32 encoding and decoding")
8518 (description
8519 "This package provides functions for base32 encoding and decoding as
8520 defined in RFC4648.")
8521 (home-page "https://github.com/hargettp/cl-base32")
8522 (license license:expat))))
8523
8524 (define-public cl-base32
8525 (sbcl-package->cl-source-package sbcl-cl-base32))
8526
8527 (define-public ecl-cl-base32
8528 (sbcl-package->ecl-package sbcl-cl-base32))
8529
8530 (define-public sbcl-cl-z85
8531 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
8532 (revision "1"))
8533 (package
8534 (name "sbcl-cl-z85")
8535 (version (git-version "1.0" revision commit))
8536 (source
8537 (origin
8538 (method git-fetch)
8539 (uri (git-reference
8540 (url "https://github.com/glv2/cl-z85")
8541 (commit commit)))
8542 (file-name (git-file-name name version))
8543 (sha256
8544 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
8545 (build-system asdf-build-system/sbcl)
8546 (native-inputs
8547 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
8548 ("fiveam" ,sbcl-fiveam)))
8549 (synopsis "Common Lisp library for Z85 encoding and decoding")
8550 (description
8551 "This package provides functions to encode or decode byte vectors or
8552 byte streams using the Z85 format, which is a base-85 encoding used by
8553 ZeroMQ.")
8554 (home-page "https://github.com/glv2/cl-z85")
8555 (license license:gpl3+))))
8556
8557 (define-public cl-z85
8558 (sbcl-package->cl-source-package sbcl-cl-z85))
8559
8560 (define-public ecl-cl-z85
8561 (sbcl-package->ecl-package sbcl-cl-z85))
8562
8563 (define-public sbcl-ltk
8564 (package
8565 (name "sbcl-ltk")
8566 (version "0.992")
8567 (source
8568 (origin
8569 (method git-fetch)
8570 (uri (git-reference
8571 (url "https://github.com/herth/ltk")
8572 (commit version)))
8573 (file-name (git-file-name name version))
8574 (sha256
8575 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
8576 (build-system asdf-build-system/sbcl)
8577 (inputs
8578 `(("imagemagick" ,imagemagick)
8579 ("tk" ,tk)))
8580 (arguments
8581 `(#:asd-systems '("ltk"
8582 "ltk-mw"
8583 "ltk-remote")
8584 #:tests? #f
8585 #:phases
8586 (modify-phases %standard-phases
8587 (add-after 'unpack 'fix-paths
8588 (lambda* (#:key inputs #:allow-other-keys)
8589 (substitute* "ltk/ltk.lisp"
8590 (("#-freebsd \"wish\"")
8591 (string-append "#-freebsd \""
8592 (assoc-ref inputs "tk")
8593 "/bin/wish\""))
8594 (("do-execute \"convert\"")
8595 (string-append "do-execute \""
8596 (assoc-ref inputs "imagemagick")
8597 "/bin/convert\"")))
8598 #t))
8599 (add-after 'unpack 'fix-build
8600 (lambda _
8601 (substitute* "ltk/ltk-remote.lisp"
8602 (("\\(:export")
8603 "(:shadow #:raise) (:export"))
8604 #t)))))
8605 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
8606 (description
8607 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
8608 in pure Common Lisp and does not require any Tk knowledge for its usage.")
8609 (home-page "http://www.peter-herth.de/ltk/")
8610 (license license:llgpl)))
8611
8612 (define-public cl-ltk
8613 (sbcl-package->cl-source-package sbcl-ltk))
8614
8615 (define-public ecl-ltk
8616 (sbcl-package->ecl-package sbcl-ltk))
8617
8618 (define-public sbcl-cl-lex
8619 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
8620 (revision "1"))
8621 (package
8622 (name "sbcl-cl-lex")
8623 (version (git-version "1.1.3" revision commit))
8624 (source
8625 (origin
8626 (method git-fetch)
8627 (uri (git-reference
8628 (url "https://github.com/djr7C4/cl-lex")
8629 (commit commit)))
8630 (file-name (git-file-name name version))
8631 (sha256
8632 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
8633 (build-system asdf-build-system/sbcl)
8634 (inputs
8635 `(("cl-ppcre" ,sbcl-cl-ppcre)))
8636 (synopsis "Common Lisp macros for generating lexical analyzers")
8637 (description
8638 "This is a Common Lisp library providing a set of macros for generating
8639 lexical analyzers automatically. The lexers generated using @code{cl-lex} can
8640 be used with @code{cl-yacc}.")
8641 (home-page "https://github.com/djr7C4/cl-lex")
8642 (license license:gpl3))))
8643
8644 (define-public cl-lex
8645 (sbcl-package->cl-source-package sbcl-cl-lex))
8646
8647 (define-public ecl-cl-lex
8648 (sbcl-package->ecl-package sbcl-cl-lex))
8649
8650 (define-public sbcl-clunit2
8651 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
8652 (revision "1"))
8653 (package
8654 (name "sbcl-clunit2")
8655 (version (git-version "0.2.4" revision commit))
8656 (source
8657 (origin
8658 (method git-fetch)
8659 (uri (git-reference
8660 (url "https://notabug.org/cage/clunit2.git")
8661 (commit commit)))
8662 (file-name (git-file-name name version))
8663 (sha256
8664 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
8665 (build-system asdf-build-system/sbcl)
8666 (synopsis "Unit testing framework for Common Lisp")
8667 (description
8668 "CLUnit is a Common Lisp unit testing framework. It is designed to be
8669 easy to use so that you can quickly start testing.")
8670 (home-page "https://notabug.org/cage/clunit2")
8671 (license license:expat))))
8672
8673 (define-public cl-clunit2
8674 (sbcl-package->cl-source-package sbcl-clunit2))
8675
8676 (define-public ecl-clunit2
8677 (sbcl-package->ecl-package sbcl-clunit2))
8678
8679 (define-public sbcl-cl-colors2
8680 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
8681 (revision "1"))
8682 (package
8683 (name "sbcl-cl-colors2")
8684 (version (git-version "0.2.1" revision commit))
8685 (source
8686 (origin
8687 (method git-fetch)
8688 (uri (git-reference
8689 (url "https://notabug.org/cage/cl-colors2.git")
8690 (commit commit)))
8691 (file-name (git-file-name name version))
8692 (sha256
8693 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
8694 (build-system asdf-build-system/sbcl)
8695 (native-inputs
8696 `(("clunit2" ,sbcl-clunit2)))
8697 (inputs
8698 `(("alexandria" ,sbcl-alexandria)
8699 ("cl-ppcre" ,sbcl-cl-ppcre)))
8700 (synopsis "Color library for Common Lisp")
8701 (description
8702 "This is a very simple color library for Common Lisp, providing:
8703
8704 @itemize
8705 @item Types for representing colors in HSV and RGB spaces.
8706 @item Simple conversion functions between the above types (and also
8707 hexadecimal representation for RGB).
8708 @item Some predefined colors (currently X11 color names -- of course
8709 the library does not depend on X11).
8710 @end itemize\n")
8711 (home-page "https://notabug.org/cage/cl-colors2")
8712 (license license:boost1.0))))
8713
8714 (define-public cl-colors2
8715 (sbcl-package->cl-source-package sbcl-cl-colors2))
8716
8717 (define-public ecl-cl-colors2
8718 (sbcl-package->ecl-package sbcl-cl-colors2))
8719
8720 (define-public sbcl-cl-jpeg
8721 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
8722 (revision "1"))
8723 (package
8724 (name "sbcl-cl-jpeg")
8725 (version (git-version "2.8" revision commit))
8726 (source
8727 (origin
8728 (method git-fetch)
8729 (uri (git-reference
8730 (url "https://github.com/sharplispers/cl-jpeg")
8731 (commit commit)))
8732 (file-name (git-file-name name version))
8733 (sha256
8734 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
8735 (build-system asdf-build-system/sbcl)
8736 (synopsis "JPEG image library for Common Lisp")
8737 (description
8738 "This is a baseline JPEG codec written in Common Lisp. It can be used
8739 for reading and writing JPEG image files.")
8740 (home-page "https://github.com/sharplispers/cl-jpeg")
8741 (license license:bsd-3))))
8742
8743 (define-public cl-jpeg
8744 (sbcl-package->cl-source-package sbcl-cl-jpeg))
8745
8746 (define-public ecl-cl-jpeg
8747 (sbcl-package->ecl-package sbcl-cl-jpeg))
8748
8749 (define-public sbcl-nodgui
8750 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
8751 (revision "1"))
8752 (package
8753 (name "sbcl-nodgui")
8754 (version (git-version "0.0.5" revision commit))
8755 (source
8756 (origin
8757 (method git-fetch)
8758 (uri (git-reference
8759 (url "https://notabug.org/cage/nodgui.git")
8760 (commit commit)))
8761 (file-name (git-file-name name version))
8762 (sha256
8763 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
8764 (build-system asdf-build-system/sbcl)
8765 (inputs
8766 `(("alexandria" ,sbcl-alexandria)
8767 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8768 ("cl-colors2" ,sbcl-cl-colors2)
8769 ("cl-jpeg" ,sbcl-cl-jpeg)
8770 ("cl-lex" ,sbcl-cl-lex)
8771 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
8772 ("cl-unicode" ,sbcl-cl-unicode)
8773 ("cl-yacc" ,sbcl-cl-yacc)
8774 ("clunit2" ,sbcl-clunit2)
8775 ("named-readtables" ,sbcl-named-readtables)
8776 ("parse-number" ,sbcl-parse-number)
8777 ("tk" ,tk)))
8778 (arguments
8779 `(#:phases (modify-phases %standard-phases
8780 (add-after 'unpack 'fix-paths
8781 (lambda* (#:key inputs #:allow-other-keys)
8782 (substitute* "src/wish-communication.lisp"
8783 (("#-freebsd \"wish\"")
8784 (string-append "#-freebsd \""
8785 (assoc-ref inputs "tk")
8786 "/bin/wish\"")))
8787 #t)))))
8788 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
8789 (description
8790 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
8791 toolkit. It also provides a few additional widgets more than the standard Tk
8792 ones.")
8793 (home-page "https://www.autistici.org/interzona/nodgui.html")
8794 (license license:llgpl))))
8795
8796 (define-public cl-nodgui
8797 (sbcl-package->cl-source-package sbcl-nodgui))
8798
8799 (define-public ecl-nodgui
8800 (sbcl-package->ecl-package sbcl-nodgui))
8801
8802 (define-public sbcl-salza2
8803 (package
8804 (name "sbcl-salza2")
8805 (version "2.0.9")
8806 (source
8807 (origin
8808 (method git-fetch)
8809 (uri (git-reference
8810 (url "https://github.com/xach/salza2")
8811 (commit (string-append "release-" version))))
8812 (file-name (git-file-name name version))
8813 (sha256
8814 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
8815 (build-system asdf-build-system/sbcl)
8816 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
8817 (description
8818 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
8819 deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
8820 respectively.")
8821 (home-page "https://www.xach.com/lisp/salza2/")
8822 (license license:bsd-2)))
8823
8824 (define-public cl-salza2
8825 (sbcl-package->cl-source-package sbcl-salza2))
8826
8827 (define-public ecl-salza2
8828 (sbcl-package->ecl-package sbcl-salza2))
8829
8830 (define-public sbcl-origin
8831 (let ((commit "d646134302456408d6d43580bb05299f1695ab8e")
8832 (revision "1"))
8833 (package
8834 (name "sbcl-origin")
8835 (version (git-version "2.0.0" revision commit))
8836 (source
8837 (origin
8838 (method git-fetch)
8839 (uri (git-reference
8840 (url "https://git.mfiano.net/mfiano/origin")
8841 (commit commit)))
8842 (file-name (git-file-name "origin" version))
8843 (sha256
8844 (base32 "1n9aszaif3yh8prs5r8v51fbj4r5jd1a048mivd5yij3hplkm82b"))))
8845 (build-system asdf-build-system/sbcl)
8846 (native-inputs
8847 `(("parachute" ,sbcl-parachute)))
8848 (inputs
8849 `(("golden-utils" ,sbcl-golden-utils)
8850 ("specialization-store" ,sbcl-specialization-store)))
8851 (home-page "https://git.mfiano.net/mfiano/origin")
8852 (synopsis "Common Lisp graphics math library")
8853 (description
8854 "This is a native Common Lisp graphics math library with an emphasis on
8855 performance and correctness.")
8856 (license license:expat))))
8857
8858 (define-public ecl-origin
8859 (sbcl-package->ecl-package sbcl-origin))
8860
8861 (define-public cl-origin
8862 (sbcl-package->cl-source-package sbcl-origin))
8863
8864 (define-public sbcl-png-read
8865 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
8866 (revision "1"))
8867 (package
8868 (name "sbcl-png-read")
8869 (version (git-version "0.3.1" revision commit))
8870 (source
8871 (origin
8872 (method git-fetch)
8873 (uri (git-reference
8874 (url "https://github.com/Ramarren/png-read")
8875 (commit commit)))
8876 (file-name (git-file-name name version))
8877 (sha256
8878 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
8879 (build-system asdf-build-system/sbcl)
8880 (inputs
8881 `(("babel" ,sbcl-babel)
8882 ("chipz" ,sbcl-chipz)
8883 ("iterate" ,sbcl-iterate)))
8884 (synopsis "PNG decoder for Common Lisp")
8885 (description "This is a Common Lisp library for reading PNG images.")
8886 (home-page "https://github.com/Ramarren/png-read")
8887 (license license:bsd-3))))
8888
8889 (define-public cl-png-read
8890 (sbcl-package->cl-source-package sbcl-png-read))
8891
8892 (define-public ecl-png-read
8893 (sbcl-package->ecl-package sbcl-png-read))
8894
8895 (define-public sbcl-3b-bmfont
8896 (let ((commit "d1b5bec0de580c2d08ec947a93c56b1400f2a37a")
8897 (revision "1"))
8898 (package
8899 (name "sbcl-3b-bmfont")
8900 (version (git-version "0.0.1" revision commit))
8901 (source
8902 (origin
8903 (method git-fetch)
8904 (uri (git-reference
8905 (url "https://github.com/3b/3b-bmfont/")
8906 (commit commit)))
8907 (file-name (git-file-name "3b-bmfont" version))
8908 (sha256
8909 (base32 "12sgf7m0h6fqzhvkas7vmci6mprj3j3fnz778jlbqbsydln6v2yc"))))
8910 (build-system asdf-build-system/sbcl)
8911 (arguments
8912 `(#:asd-systems
8913 '("3b-bmfont"
8914 "3b-bmfont/text"
8915 "3b-bmfont/common"
8916 "3b-bmfont/xml"
8917 "3b-bmfont/json")))
8918 (inputs
8919 `(("alexandria" ,sbcl-alexandria)
8920 ("cxml" ,sbcl-cxml)
8921 ("flexi-streams" ,sbcl-flexi-streams)
8922 ("jsown" ,sbcl-jsown)
8923 ("split-sequence" ,sbcl-split-sequence)))
8924 (home-page "https://github.com/3b/3b-bmfont/")
8925 (synopsis "Read/write bmfont metadata files")
8926 (description
8927 "This is a Common Lisp library which provides functionality to
8928 read/write Bit Map Font (BMF) into text, JSON and XML.")
8929 (license license:expat))))
8930
8931 (define-public ecl-3b-bmfont
8932 (sbcl-package->ecl-package sbcl-3b-bmfont))
8933
8934 (define-public cl-3b-bmfont
8935 (sbcl-package->cl-source-package sbcl-3b-bmfont))
8936
8937 (define-public sbcl-zpng
8938 (package
8939 (name "sbcl-zpng")
8940 (version "1.2.2")
8941 (source
8942 (origin
8943 (method git-fetch)
8944 (uri (git-reference
8945 (url "https://github.com/xach/zpng")
8946 (commit (string-append "release-" version))))
8947 (file-name (git-file-name name version))
8948 (sha256
8949 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
8950 (build-system asdf-build-system/sbcl)
8951 (inputs
8952 `(("salza2" ,sbcl-salza2)))
8953 (synopsis "PNG encoder for Common Lisp")
8954 (description "This is a Common Lisp library for creating PNG images.")
8955 (home-page "https://www.xach.com/lisp/zpng/")
8956 (license license:bsd-2)))
8957
8958 (define-public cl-zpng
8959 (sbcl-package->cl-source-package sbcl-zpng))
8960
8961 (define-public ecl-zpng
8962 (sbcl-package->ecl-package sbcl-zpng))
8963
8964 (define-public sbcl-cl-qrencode
8965 (package
8966 (name "sbcl-cl-qrencode")
8967 (version "0.1.2")
8968 (source
8969 (origin
8970 (method git-fetch)
8971 (uri (git-reference
8972 (url "https://github.com/jnjcc/cl-qrencode")
8973 (commit (string-append "v" version))))
8974 (file-name (git-file-name name version))
8975 (sha256
8976 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
8977 (build-system asdf-build-system/sbcl)
8978 (native-inputs
8979 `(("lisp-unit" ,sbcl-lisp-unit)))
8980 (inputs
8981 `(("zpng" ,sbcl-zpng)))
8982 (synopsis "QR code encoder for Common Lisp")
8983 (description
8984 "This Common Lisp library provides function to make QR codes and to save
8985 them as PNG files.")
8986 (home-page "https://github.com/jnjcc/cl-qrencode")
8987 (license license:gpl2+)))
8988
8989 (define-public cl-qrencode
8990 (sbcl-package->cl-source-package sbcl-cl-qrencode))
8991
8992 (define-public ecl-cl-qrencode
8993 (sbcl-package->ecl-package sbcl-cl-qrencode))
8994
8995 (define-public sbcl-hdf5-cffi
8996 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
8997 (revision "1"))
8998 (package
8999 (name "sbcl-hdf5-cffi")
9000 (version (git-version "1.8.18" revision commit))
9001 (source
9002 (origin
9003 (method git-fetch)
9004 (uri (git-reference
9005 (url "https://github.com/hdfgroup/hdf5-cffi")
9006 (commit commit)))
9007 (file-name (git-file-name name version))
9008 (sha256
9009 (base32
9010 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
9011 (build-system asdf-build-system/sbcl)
9012 (synopsis "Common Lisp bindings for the HDF5 library")
9013 (description
9014 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
9015 (home-page "https://github.com/hdfgroup/hdf5-cffi")
9016 (license (license:non-copyleft
9017 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
9018 commit
9019 "/LICENSE")))
9020 (inputs
9021 `(("cffi" ,sbcl-cffi)
9022 ("hdf5" ,hdf5-1.10)))
9023 (native-inputs
9024 `(("fiveam" ,sbcl-fiveam)))
9025 (arguments
9026 `(#:test-asd-file "hdf5-cffi.test.asd"
9027 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
9028 ;; I don't know if there is a way to tell asdf-build-system to load
9029 ;; an additional system first, so tests are disabled.
9030 #:tests? #f
9031 #:phases
9032 (modify-phases %standard-phases
9033 (add-after 'unpack 'fix-paths
9034 (lambda* (#:key inputs #:allow-other-keys)
9035 (substitute* "src/library.lisp"
9036 (("libhdf5.so")
9037 (string-append
9038 (assoc-ref inputs "hdf5")
9039 "/lib/libhdf5.so")))))
9040 (add-after 'unpack 'fix-dependencies
9041 (lambda* (#:key inputs #:allow-other-keys)
9042 (substitute* "hdf5-cffi.asd"
9043 ((":depends-on \\(:cffi\\)")
9044 ":depends-on (:cffi :cffi-grovel)"))
9045 (substitute* "hdf5-cffi.test.asd"
9046 ((":depends-on \\(:cffi :hdf5-cffi")
9047 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
9048
9049 (define-public cl-hdf5-cffi
9050 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
9051
9052 (define-public ecl-hdf5-cffi
9053 (sbcl-package->ecl-package sbcl-hdf5-cffi))
9054
9055 (define-public sbcl-cl-randist
9056 (package
9057 (name "sbcl-cl-randist")
9058 (version "0.4.2")
9059 (source
9060 (origin
9061 (method git-fetch)
9062 (uri (git-reference
9063 (url "https://github.com/lvaruzza/cl-randist")
9064 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
9065 (file-name (git-file-name name version))
9066 (sha256
9067 (base32
9068 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
9069 (build-system asdf-build-system/sbcl)
9070 (synopsis "Random distributions for Common Lisp")
9071 (description
9072 "Manual translation from C to Common Lisp of some random number
9073 generation functions from the GSL library.")
9074 (home-page "https://github.com/lvaruzza/cl-randist")
9075 (license license:bsd-2)
9076 (arguments
9077 `(#:tests? #f))))
9078
9079 (define-public cl-randist
9080 (sbcl-package->cl-source-package sbcl-cl-randist))
9081
9082 (define-public ecl-cl-randist
9083 (sbcl-package->ecl-package sbcl-cl-randist))
9084
9085 (define-public sbcl-float-features
9086 (package
9087 (name "sbcl-float-features")
9088 (version "1.0.0")
9089 (source
9090 (origin
9091 (method git-fetch)
9092 (uri (git-reference
9093 (url "https://github.com/Shinmera/float-features")
9094 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
9095 (file-name (git-file-name name version))
9096 (sha256
9097 (base32
9098 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
9099 (build-system asdf-build-system/sbcl)
9100 (synopsis "Common Lisp IEEE float portability library")
9101 (description
9102 "Portability library for IEEE float features that are not
9103 covered by the Common Lisp standard.")
9104 (home-page "https://github.com/Shinmera/float-features")
9105 (license license:zlib)
9106 (inputs
9107 `(("documentation-utils" ,sbcl-documentation-utils)))
9108 (arguments
9109 `(#:tests? #f))))
9110
9111 (define-public cl-float-features
9112 (sbcl-package->cl-source-package sbcl-float-features))
9113
9114 (define-public ecl-float-features
9115 (sbcl-package->ecl-package sbcl-float-features))
9116
9117 (define-public sbcl-function-cache
9118 (package
9119 (name "sbcl-function-cache")
9120 (version "1.0.3")
9121 (source
9122 (origin
9123 (method git-fetch)
9124 (uri (git-reference
9125 (url "https://github.com/AccelerationNet/function-cache")
9126 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
9127 (file-name (git-file-name name version))
9128 (sha256
9129 (base32
9130 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
9131 (build-system asdf-build-system/sbcl)
9132 (synopsis "Function caching / memoization library for Common Lisp")
9133 (description
9134 "A common lisp library that provides extensible function result
9135 caching based on arguments (an expanded form of memoization).")
9136 (home-page "https://github.com/AccelerationNet/function-cache")
9137 (license
9138 (license:non-copyleft
9139 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
9140 (inputs
9141 `(("alexandria" ,sbcl-alexandria)
9142 ("cl-interpol" ,sbcl-cl-interpol)
9143 ("iterate" ,sbcl-iterate)
9144 ("symbol-munger" ,sbcl-symbol-munger)
9145 ("closer-mop" ,sbcl-closer-mop)))
9146 (arguments
9147 `(#:tests? #f))))
9148
9149 (define-public cl-function-cache
9150 (sbcl-package->cl-source-package sbcl-function-cache))
9151
9152 (define-public ecl-function-cache
9153 (sbcl-package->ecl-package sbcl-function-cache))
9154
9155 (define-public sbcl-type-r
9156 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
9157 (revision "1"))
9158 (package
9159 (name "sbcl-type-r")
9160 (version (git-version "0.0.0" revision commit))
9161 (source
9162 (origin
9163 (method git-fetch)
9164 (uri (git-reference
9165 (url "https://github.com/guicho271828/type-r")
9166 (commit commit)))
9167 (file-name (git-file-name name version))
9168 (sha256
9169 (base32
9170 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
9171 (build-system asdf-build-system/sbcl)
9172 (synopsis "Parser interface for Common Lisp built-in compound types")
9173 (description
9174 "Collections of accessor functions and patterns to access
9175 the elements in compound type specifier, e.g. @code{dimensions} in
9176 @code{(array element-type dimensions)}")
9177 (home-page "https://github.com/guicho271828/type-r")
9178 (license license:lgpl3+)
9179 (inputs
9180 `(("trivia" ,sbcl-trivia)
9181 ("alexandria" ,sbcl-alexandria)))
9182 (native-inputs
9183 `(("fiveam" ,sbcl-fiveam)))
9184 (arguments
9185 `(#:test-asd-file "type-r.test.asd")))))
9186
9187 (define-public cl-type-r
9188 (sbcl-package->cl-source-package sbcl-type-r))
9189
9190 (define-public ecl-type-r
9191 (sbcl-package->ecl-package sbcl-type-r))
9192
9193 (define-public sbcl-trivialib-type-unify
9194 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
9195 (revision "1"))
9196 (package
9197 (name "sbcl-trivialib-type-unify")
9198 (version (git-version "0.1" revision commit))
9199 (source
9200 (origin
9201 (method git-fetch)
9202 (uri (git-reference
9203 (url "https://github.com/guicho271828/trivialib.type-unify")
9204 (commit commit)))
9205 (file-name (git-file-name name version))
9206 (sha256
9207 (base32
9208 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
9209 (build-system asdf-build-system/sbcl)
9210 (synopsis "Common Lisp type unification")
9211 (description
9212 "Unifies a parametrized type specifier against an actual type specifier.
9213 Importantly, it handles complicated array-subtypes and number-related types
9214 correctly.")
9215 (home-page "https://github.com/guicho271828/trivialib.type-unify")
9216 (license license:lgpl3+)
9217 (inputs
9218 `(("alexandria" ,sbcl-alexandria)
9219 ("trivia" ,sbcl-trivia)
9220 ("introspect-environment" ,sbcl-introspect-environment)
9221 ("type-r" ,sbcl-type-r)))
9222 (native-inputs
9223 `(("fiveam" ,sbcl-fiveam)))
9224 (arguments
9225 `(#:asd-systems '("trivialib.type-unify")
9226 #:test-asd-file "trivialib.type-unify.test.asd")))))
9227
9228 (define-public cl-trivialib-type-unify
9229 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
9230
9231 (define-public ecl-trivialib-type-unify
9232 (sbcl-package->ecl-package sbcl-trivialib-type-unify))
9233
9234 (define-public sbcl-specialized-function
9235 (let ((commit "dee56d2d2b6ecd10500ad291c56217698604ec35")
9236 (revision "2"))
9237 (package
9238 (name "sbcl-specialized-function")
9239 (version (git-version "0.0.0" revision commit))
9240 (source
9241 (origin
9242 (method git-fetch)
9243 (uri (git-reference
9244 (url "https://github.com/numcl/specialized-function")
9245 (commit commit)))
9246 (file-name (git-file-name name version))
9247 (sha256
9248 (base32 "1mcc7mmpbnmgnr1cl2jl5r1ai54gn7fbisv2c14sh9za5w4sib82"))))
9249 (build-system asdf-build-system/sbcl)
9250 (synopsis "Julia-like dispatch for Common Lisp")
9251 (description
9252 "This library is part of NUMCL. It provides a macro
9253 @code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
9254 lazily compiling a type-specific version of the function from the same
9255 code. The main target of this macro is speed.")
9256 (home-page "https://github.com/numcl/specialized-function")
9257 (license license:lgpl3+)
9258 (inputs
9259 `(("trivia" ,sbcl-trivia)
9260 ("alexandria" ,sbcl-alexandria)
9261 ("iterate" ,sbcl-iterate)
9262 ("lisp-namespace" ,sbcl-lisp-namespace)
9263 ("type-r" ,sbcl-type-r)
9264 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
9265 (native-inputs
9266 `(("fiveam" ,sbcl-fiveam)))
9267 (arguments
9268 `(#:asd-files '("specialized-function.asd")
9269 #:test-asd-file "specialized-function.test.asd"
9270 ;; Tests fail because they try to use an internal symbol of SBCL
9271 ;; that does not exists in recent versions:
9272 ;; "The variable SB-VM:COMPLEX-VECTOR-NIL-WIDETAG is unbound."
9273 #:tests? #f)))))
9274
9275 (define-public cl-specialized-function
9276 (sbcl-package->cl-source-package sbcl-specialized-function))
9277
9278 (define-public ecl-specialized-function
9279 (sbcl-package->ecl-package sbcl-specialized-function))
9280
9281 (define-public sbcl-constantfold
9282 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
9283 (revision "1"))
9284 (package
9285 (name "sbcl-constantfold")
9286 (version (git-version "0.1" revision commit))
9287 (source
9288 (origin
9289 (method git-fetch)
9290 (uri (git-reference
9291 (url "https://github.com/numcl/constantfold")
9292 (commit commit)))
9293 (file-name (git-file-name name version))
9294 (sha256
9295 (base32
9296 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
9297 (build-system asdf-build-system/sbcl)
9298 (synopsis "Support library for numcl")
9299 (description
9300 "Support library for numcl. Registers a function as an
9301 additional form that is considered as a candidate for a constant.")
9302 (home-page "https://github.com/numcl/constantfold")
9303 (license license:lgpl3+)
9304 (inputs
9305 `(("trivia" ,sbcl-trivia)
9306 ("alexandria" ,sbcl-alexandria)
9307 ("iterate" ,sbcl-iterate)
9308 ("lisp-namespace" ,sbcl-lisp-namespace)))
9309 (native-inputs
9310 `(("fiveam" ,sbcl-fiveam)))
9311 (arguments
9312 `(#:asd-files '("constantfold.asd")
9313 #:test-asd-file "constantfold.test.asd")))))
9314
9315 (define-public cl-constantfold
9316 (sbcl-package->cl-source-package sbcl-constantfold))
9317
9318 (define-public ecl-constantfold
9319 (sbcl-package->ecl-package sbcl-constantfold))
9320
9321 (define-public sbcl-gtype
9322 (let ((commit "2442e32485635525af278ebd8fa69a27d5b8cf18")
9323 (revision "2"))
9324 (package
9325 (name "sbcl-gtype")
9326 (version (git-version "0.1" revision commit))
9327 (source
9328 (origin
9329 (method git-fetch)
9330 (uri (git-reference
9331 (url "https://github.com/numcl/gtype")
9332 (commit commit)))
9333 (file-name (git-file-name name version))
9334 (sha256
9335 (base32 "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h"))))
9336 (build-system asdf-build-system/sbcl)
9337 (synopsis "C++/Julia-like parametric types in Common Lisp")
9338 (description
9339 "Support library for numcl that provides Julia-like runtime parametric
9340 type correctness in Common Lisp. It is based on CLtL2 extensions.")
9341 (home-page "https://github.com/numcl/gtype")
9342 (license license:lgpl3+)
9343 (inputs
9344 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
9345 ("trivial-cltl2" ,sbcl-trivial-cltl2)
9346 ("trivia" ,sbcl-trivia)
9347 ("alexandria" ,sbcl-alexandria)
9348 ("iterate" ,sbcl-iterate)
9349 ("type-r" ,sbcl-type-r)))
9350 (native-inputs
9351 `(("fiveam" ,sbcl-fiveam)))
9352 (arguments
9353 `(#:asd-files '("gtype.asd")
9354 #:test-asd-file "gtype.test.asd")))))
9355
9356 (define-public cl-gtype
9357 (sbcl-package->cl-source-package sbcl-gtype))
9358
9359 (define-public ecl-gtype
9360 (let ((pkg (sbcl-package->ecl-package sbcl-gtype)))
9361 (package
9362 (inherit pkg)
9363 (arguments
9364 (substitute-keyword-arguments (package-arguments pkg)
9365 ;; The tests fail on ECL with a COMPILE-FILE-ERROR for t/package.lisp.
9366 ((#:tests? _ #f) #f))))))
9367
9368 (define-public sbcl-numcl
9369 (let ((commit "3e8d40bf774e070e7af1d3dbf01bc8c37dbebd3a")
9370 (revision "2"))
9371 (package
9372 (name "sbcl-numcl")
9373 (version (git-version "0.1.0" revision commit))
9374 (source
9375 (origin
9376 (method git-fetch)
9377 (uri (git-reference
9378 (url "https://github.com/numcl/numcl")
9379 (commit commit)))
9380 (file-name (git-file-name name version))
9381 (sha256
9382 (base32 "1hqpr68f6xkxaj1hjjayyh97wcdmj51k20qrd3nsv1rcpmdc5ll4"))))
9383 (build-system asdf-build-system/sbcl)
9384 (synopsis "Numpy clone in Common Lisp")
9385 (description
9386 "This is a Numpy clone in Common Lisp. At the moment the
9387 library is written in pure Common Lisp, focusing more on correctness
9388 and usefulness, not speed. Track the progress at
9389 @url{https://github.com/numcl/numcl/projects/1}.")
9390 (home-page "https://github.com/numcl/numcl")
9391 (license license:lgpl3+)
9392 (inputs
9393 `(("trivia" ,sbcl-trivia)
9394 ("alexandria" ,sbcl-alexandria)
9395 ("iterate" ,sbcl-iterate)
9396 ("lisp-namespace" ,sbcl-lisp-namespace)
9397 ("type-r" ,sbcl-type-r)
9398 ("constantfold" ,sbcl-constantfold)
9399 ("cl-randist" ,sbcl-cl-randist)
9400 ("float-features" ,sbcl-float-features)
9401 ("function-cache" ,sbcl-function-cache)
9402 ("specialized-function" ,sbcl-specialized-function)
9403 ("gtype" ,sbcl-gtype)))
9404 (native-inputs
9405 `(("fiveam" ,sbcl-fiveam)))
9406 (arguments
9407 `(#:asd-files '("numcl.asd")
9408 #:test-asd-file "numcl.test.asd"
9409 ;; Tests fail on SBCL with "Heap exhausted, game over",
9410 ;; but they pass on ECL.
9411 #:tests? #f)))))
9412
9413 (define-public cl-numcl
9414 (sbcl-package->cl-source-package sbcl-numcl))
9415
9416 (define-public ecl-numcl
9417 (let ((pkg (sbcl-package->ecl-package sbcl-numcl)))
9418 (package
9419 (inherit pkg)
9420 (arguments
9421 (substitute-keyword-arguments (package-arguments pkg)
9422 ((#:tests? _ #f) #t))))))
9423
9424 (define-public sbcl-pzmq
9425 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
9426 (revision "1"))
9427 (package
9428 (name "sbcl-pzmq")
9429 (version (git-version "0.0.0" revision commit))
9430 (source
9431 (origin
9432 (method git-fetch)
9433 (uri (git-reference
9434 (url "https://github.com/orivej/pzmq")
9435 (commit commit)))
9436 (file-name (git-file-name name version))
9437 (sha256
9438 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
9439 (build-system asdf-build-system/sbcl)
9440 (native-inputs
9441 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9442 ("fiveam" ,sbcl-fiveam)
9443 ("let-plus" ,sbcl-let-plus)))
9444 (inputs
9445 `(("cffi" ,sbcl-cffi)
9446 ("zeromq" ,zeromq)))
9447 (arguments
9448 `(#:phases (modify-phases %standard-phases
9449 (add-after 'unpack 'fix-paths
9450 (lambda* (#:key inputs #:allow-other-keys)
9451 (substitute* "c-api.lisp"
9452 (("\"libzmq")
9453 (string-append "\""
9454 (assoc-ref inputs "zeromq")
9455 "/lib/libzmq")))
9456 #t)))))
9457 (synopsis "Common Lisp bindings for the ZeroMQ library")
9458 (description "This Common Lisp library provides bindings for the ZeroMQ
9459 lightweight messaging kernel.")
9460 (home-page "https://github.com/orivej/pzmq")
9461 (license license:unlicense))))
9462
9463 (define-public cl-pzmq
9464 (sbcl-package->cl-source-package sbcl-pzmq))
9465
9466 (define-public ecl-pzmq
9467 (sbcl-package->ecl-package sbcl-pzmq))
9468
9469 (define-public sbcl-clss
9470 (let ((revision "1")
9471 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
9472 (package
9473 (name "sbcl-clss")
9474 (version (git-version "0.3.1" revision commit))
9475 (source
9476 (origin
9477 (method git-fetch)
9478 (uri
9479 (git-reference
9480 (url "https://github.com/Shinmera/clss")
9481 (commit commit)))
9482 (sha256
9483 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
9484 (file-name (git-file-name name version))))
9485 (inputs
9486 `(("array-utils" ,sbcl-array-utils)
9487 ("plump" ,sbcl-plump)))
9488 (build-system asdf-build-system/sbcl)
9489 (synopsis "DOM tree searching engine based on CSS selectors")
9490 (description "CLSS is a DOM traversal engine based on CSS
9491 selectors. It makes use of the Plump-DOM and is used by lQuery.")
9492 (home-page "https://github.com/Shinmera/clss")
9493 (license license:zlib))))
9494
9495 (define-public cl-clss
9496 (sbcl-package->cl-source-package sbcl-clss))
9497
9498 (define-public ecl-clss
9499 (sbcl-package->ecl-package sbcl-clss))
9500
9501 (define-public sbcl-lquery
9502 (let ((revision "1")
9503 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
9504 (package
9505 (name "sbcl-lquery")
9506 (version (git-version "3.2.1" revision commit))
9507 (source
9508 (origin
9509 (method git-fetch)
9510 (uri
9511 (git-reference
9512 (url "https://github.com/Shinmera/lquery")
9513 (commit commit)))
9514 (sha256
9515 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
9516 (file-name (git-file-name name version))))
9517 (native-inputs
9518 `(("fiveam" ,sbcl-fiveam)))
9519 (inputs
9520 `(("array-utils" ,sbcl-array-utils)
9521 ("form-fiddle" ,sbcl-form-fiddle)
9522 ("plump" ,sbcl-plump)
9523 ("clss" ,sbcl-clss)))
9524 (build-system asdf-build-system/sbcl)
9525 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
9526 (description "@code{lQuery} is a DOM manipulation library written in
9527 Common Lisp, inspired by and based on the jQuery syntax and
9528 functions. It uses Plump and CLSS as DOM and selector engines. The
9529 main idea behind lQuery is to provide a simple interface for crawling
9530 and modifying HTML sites, as well as to allow for an alternative
9531 approach to templating.")
9532 (home-page "https://github.com/Shinmera/lquery")
9533 (license license:zlib))))
9534
9535 (define-public cl-lquery
9536 (sbcl-package->cl-source-package sbcl-lquery))
9537
9538 (define-public ecl-lquery
9539 (sbcl-package->ecl-package sbcl-lquery))
9540
9541 (define-public sbcl-cl-mysql
9542 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
9543 (revision "1"))
9544 (package
9545 (name "sbcl-cl-mysql")
9546 (version (git-version "0.1" revision commit))
9547 (source
9548 (origin
9549 (method git-fetch)
9550 (uri (git-reference
9551 (url "https://github.com/hackinghat/cl-mysql")
9552 (commit commit)))
9553 (file-name (git-file-name name version))
9554 (sha256
9555 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
9556 (build-system asdf-build-system/sbcl)
9557 (native-inputs
9558 `(("stefil" ,sbcl-stefil)))
9559 (inputs
9560 `(("cffi" ,sbcl-cffi)
9561 ("mariadb-lib" ,mariadb "lib")))
9562 (arguments
9563 `(#:tests? #f ; TODO: Tests require a running server
9564 #:phases
9565 (modify-phases %standard-phases
9566 (add-after 'unpack 'fix-paths
9567 (lambda* (#:key inputs #:allow-other-keys)
9568 (substitute* "system.lisp"
9569 (("libmysqlclient_r" all)
9570 (string-append (assoc-ref inputs "mariadb-lib")
9571 "/lib/"
9572 all)))
9573 #t)))))
9574 (synopsis "Common Lisp wrapper for MySQL")
9575 (description
9576 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
9577 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
9578 (license license:expat))))
9579
9580 (define-public cl-mysql
9581 (sbcl-package->cl-source-package sbcl-cl-mysql))
9582
9583 (define-public ecl-cl-mysql
9584 (sbcl-package->ecl-package sbcl-cl-mysql))
9585
9586 (define-public sbcl-postmodern
9587 (package
9588 (name "sbcl-postmodern")
9589 (version "1.32.8")
9590 (source
9591 (origin
9592 (method git-fetch)
9593 (uri (git-reference
9594 (url "https://github.com/marijnh/Postmodern")
9595 (commit (string-append "v" version))))
9596 (file-name (git-file-name name version))
9597 (sha256
9598 (base32 "0vr5inbr8dldf6dsl0qj3h2yrnnsayzfwxfzwkn1pk7xbns2l78q"))))
9599 (build-system asdf-build-system/sbcl)
9600 (native-inputs
9601 `(("fiveam" ,sbcl-fiveam)))
9602 (inputs
9603 `(("alexandria" ,sbcl-alexandria)
9604 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9605 ("cl-base64" ,sbcl-cl-base64)
9606 ("cl-unicode" ,sbcl-cl-unicode)
9607 ("closer-mop" ,sbcl-closer-mop)
9608 ("global-vars" ,sbcl-global-vars)
9609 ("ironclad" ,sbcl-ironclad)
9610 ("local-time" ,sbcl-local-time)
9611 ("md5" ,sbcl-md5)
9612 ("split-sequence" ,sbcl-split-sequence)
9613 ("uax-15" ,sbcl-uax-15)
9614 ("usocket" ,sbcl-usocket)))
9615 (arguments
9616 ;; TODO: (Sharlatan-20210114T171037+0000) tests still failing but on other
9617 ;; step, some functionality in `local-time' prevents passing tests.
9618 ;; Error:
9619 ;;
9620 ;; Can't create directory
9621 ;; /gnu/store
9622 ;; /4f47agf1kyiz057ppy6x5p98i7mcbfsv-sbcl-local-time-1.0.6-2.a177eb9
9623 ;; /lib/common-lisp/sbcl/local-time/src/integration/
9624 ;;
9625 ;; NOTE: (Sharlatan-20210124T191940+0000): When set env HOME to /tmp above
9626 ;; issue is resolved but it required live test database to connect to now.
9627 ;; Keep tests switched off.
9628 `(#:tests? #f
9629 #:asd-systems '("cl-postgres"
9630 "s-sql"
9631 "postmodern"
9632 "simple-date"
9633 "simple-date/postgres-glue")))
9634 (synopsis "Common Lisp library for interacting with PostgreSQL")
9635 (description
9636 "@code{postmodern} is a Common Lisp library for interacting with
9637 PostgreSQL databases. It provides the following features:
9638
9639 @itemize
9640 @item Efficient communication with the database server without need for
9641 foreign libraries.
9642 @item Support for UTF-8 on Unicode-aware Lisp implementations.
9643 @item A syntax for mixing SQL and Lisp code.
9644 @item Convenient support for prepared statements and stored procedures.
9645 @item A metaclass for simple database-access objects.
9646 @end itemize\n
9647
9648 This package produces 4 systems: postmodern, cl-postgres, s-sql, simple-date
9649
9650 @code{SIMPLE-DATE} is a very basic implementation of date and time objects, used
9651 to support storing and retrieving time-related SQL types. It is not loaded by
9652 default and you can use local-time (which has support for timezones) instead.
9653
9654 @code{S-SQL} is used to compile s-expressions to strings of SQL code, escaping
9655 any Lisp values inside, and doing as much as possible of the work at compile
9656 time.
9657
9658 @code{CL-POSTGRES} is the low-level library used for interfacing with a PostgreSQL
9659 server over a socket.
9660
9661 @code{POSTMODERN} itself is a wrapper around these packages and provides higher
9662 level functions, a very simple data access object that can be mapped directly to
9663 database tables and some convient utilities. It then tries to put all these
9664 things together into a convenient programming interface")
9665 (home-page "https://marijnhaverbeke.nl/postmodern/")
9666 (license license:zlib)))
9667
9668 (define-public cl-postmodern
9669 (sbcl-package->cl-source-package sbcl-postmodern))
9670
9671 (define-public ecl-postmodern
9672 (package
9673 (inherit (sbcl-package->ecl-package sbcl-postmodern))
9674 (arguments
9675 `(#:tests? #f
9676 #:asd-systems '("cl-postgres"
9677 "s-sql"
9678 "postmodern"
9679 "simple-date"
9680 "simple-date/postgres-glue")
9681 #:phases
9682 (modify-phases %standard-phases
9683 (add-after 'unpack 'fix-build
9684 (lambda _
9685 (substitute* "cl-postgres.asd"
9686 ((":or :sbcl :allegro :ccl :clisp" all)
9687 (string-append all " :ecl")))
9688 #t)))))))
9689
9690 (define-public sbcl-db3
9691 (let ((commit "38e5ad35f025769fb7f8dcdc6e56df3e8efd8e6d")
9692 (revision "1"))
9693 (package
9694 (name "sbcl-db3")
9695 (version (git-version "0.0.0" revision commit))
9696 (source
9697 (origin
9698 (method git-fetch)
9699 (uri (git-reference
9700 (url "https://github.com/dimitri/cl-db3")
9701 (commit commit)))
9702 (file-name (git-file-name "cl-db3" version))
9703 (sha256
9704 (base32 "1i7j0mlri6kbklcx1lsm464s8kmyhhij5c4xh4aybrw8m4ixn1s5"))))
9705 (build-system asdf-build-system/sbcl)
9706 (home-page "https://github.com/dimitri/cl-db3")
9707 (synopsis "Common Lisp library to read dBase III database files")
9708 (description
9709 "This is a Common Lisp library for processing data found in dBase III
9710 database files (dbf and db3 files).")
9711 (license license:public-domain))))
9712
9713 (define-public ecl-db3
9714 (sbcl-package->ecl-package sbcl-db3))
9715
9716 (define-public cl-db3
9717 (sbcl-package->cl-source-package sbcl-db3))
9718
9719 (define-public sbcl-dbi
9720 ;; Master includes a breaking change which other packages depend on since
9721 ;; Quicklisp decided to follow it:
9722 ;; https://github.com/fukamachi/cl-dbi/commit/31c46869722f77fd5292a81b5b101f1347d7fce1
9723 (let ((commit "31c46869722f77fd5292a81b5b101f1347d7fce1"))
9724 (package
9725 (name "sbcl-dbi")
9726 (version (git-version "0.9.4" "1" commit))
9727 (source
9728 (origin
9729 (method git-fetch)
9730 (uri (git-reference
9731 (url "https://github.com/fukamachi/cl-dbi")
9732 (commit commit)))
9733 (file-name (git-file-name name version))
9734 (sha256
9735 (base32 "0r3n4rw12qqxad0cryym2ibm4ddl49gbq4ra227afibsr43nw5k3"))))
9736 (build-system asdf-build-system/sbcl)
9737 (native-inputs
9738 `(("rove" ,sbcl-rove)
9739 ("trivial-types" ,sbcl-trivial-types)))
9740 (inputs
9741 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9742 ("cl-mysql" ,sbcl-cl-mysql)
9743 ("cl-sqlite" ,sbcl-cl-sqlite)
9744 ("closer-mop" ,sbcl-closer-mop)
9745 ("postmodern" ,sbcl-postmodern)
9746 ("split-sequence" ,sbcl-split-sequence)
9747 ("trivial-garbage" ,sbcl-trivial-garbage)))
9748 (arguments
9749 `(#:asd-systems '("dbi"
9750 "dbd-mysql"
9751 "dbd-postgres"
9752 "dbd-sqlite3")))
9753 (synopsis "Database independent interface for Common Lisp")
9754 (description
9755 "@code{dbi} is a Common Lisp library providing a database independent
9756 interface for MySQL, PostgreSQL and SQLite.")
9757 (home-page "https://github.com/fukamachi/cl-dbi")
9758 (license license:llgpl))))
9759
9760 (define-public cl-dbi
9761 (sbcl-package->cl-source-package sbcl-dbi))
9762
9763 (define-public ecl-dbi
9764 (sbcl-package->ecl-package sbcl-dbi))
9765
9766 (define-public sbcl-uffi
9767 (package
9768 (name "sbcl-uffi")
9769 (version "2.1.2")
9770 (source
9771 (origin
9772 (method git-fetch)
9773 (uri (git-reference
9774 (url "http://git.kpe.io/uffi.git")
9775 (commit (string-append "v" version))))
9776 (file-name (git-file-name name version))
9777 (sha256
9778 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
9779 (build-system asdf-build-system/sbcl)
9780 (arguments
9781 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
9782 #:asd-files '("uffi.asd")
9783 #:phases
9784 (modify-phases %standard-phases
9785 (add-after 'unpack 'fix-permissions
9786 (lambda _
9787 (make-file-writable "doc/html.tar.gz")
9788 #t)))))
9789 (synopsis "Universal foreign function library for Common Lisp")
9790 (description
9791 "UFFI provides a universal foreign function interface (FFI)
9792 for Common Lisp.")
9793 (home-page "http://quickdocs.org/uffi/")
9794 (license license:llgpl)))
9795
9796 (define-public cl-uffi
9797 (package
9798 (inherit (sbcl-package->cl-source-package sbcl-uffi))
9799 (arguments
9800 `(#:phases
9801 ;; asdf-build-system/source has its own phases and does not inherit
9802 ;; from asdf-build-system/sbcl phases.
9803 (modify-phases %standard-phases/source
9804 ;; Already done in SBCL package.
9805 (delete 'reset-gzip-timestamps))))))
9806
9807 (define-public sbcl-clsql
9808 (package
9809 (name "sbcl-clsql")
9810 (version "6.7.0")
9811 (source
9812 (origin
9813 (method git-fetch)
9814 (uri (git-reference
9815 (url "http://git.kpe.io/clsql.git")
9816 (commit (string-append "v" version))))
9817 (file-name (git-file-name name version))
9818 (sha256
9819 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
9820 (snippet
9821 '(begin
9822 ;; Remove precompiled libraries.
9823 (delete-file "db-mysql/clsql_mysql.dll")
9824 (delete-file "uffi/clsql_uffi.dll")
9825 (delete-file "uffi/clsql_uffi.lib")
9826 #t))))
9827 (build-system asdf-build-system/sbcl)
9828 (native-inputs
9829 `(("rt" ,sbcl-rt)))
9830 (inputs
9831 `(("cffi" ,sbcl-cffi)
9832 ("md5" ,sbcl-md5)
9833 ("mysql" ,mysql)
9834 ("postgresql" ,postgresql)
9835 ("postmodern" ,sbcl-postmodern)
9836 ("sqlite" ,sqlite)
9837 ("uffi" ,sbcl-uffi)
9838 ("zlib" ,zlib)))
9839 (arguments
9840 `(#:asd-files '("clsql.asd"
9841 "clsql-uffi.asd"
9842 "clsql-sqlite3.asd"
9843 "clsql-postgresql.asd"
9844 "clsql-postgresql-socket3.asd"
9845 "clsql-mysql.asd")
9846 #:asd-systems '("clsql"
9847 "clsql-sqlite3"
9848 "clsql-postgresql"
9849 "clsql-postgresql-socket3"
9850 "clsql-mysql")
9851 #:phases
9852 (modify-phases %standard-phases
9853 (add-after 'unpack 'fix-permissions
9854 (lambda _
9855 (make-file-writable "doc/html.tar.gz")
9856 #t))
9857 (add-after 'unpack 'fix-build
9858 (lambda _
9859 (substitute* "clsql-uffi.asd"
9860 (("\\(:version uffi \"2.0\"\\)")
9861 "uffi"))
9862 (substitute* "db-postgresql/postgresql-api.lisp"
9863 (("\\(data :cstring\\)")
9864 "(data :string)"))
9865 #t))
9866 (add-after 'unpack 'fix-paths
9867 (lambda* (#:key inputs outputs #:allow-other-keys)
9868 (substitute* "db-sqlite3/sqlite3-loader.lisp"
9869 (("libsqlite3")
9870 (string-append (assoc-ref inputs "sqlite")
9871 "/lib/libsqlite3")))
9872 (substitute* "db-postgresql/postgresql-loader.lisp"
9873 (("libpq")
9874 (string-append (assoc-ref inputs "postgresql")
9875 "/lib/libpq")))
9876 (let ((lib (string-append "#p\""
9877 (assoc-ref outputs "out")
9878 "/lib/\"")))
9879 (substitute* "clsql-mysql.asd"
9880 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
9881 lib))
9882 (substitute* "db-mysql/mysql-loader.lisp"
9883 (("libmysqlclient" all)
9884 (string-append (assoc-ref inputs "mysql") "/lib/" all))
9885 (("clsql-mysql-system::\\*library-file-dir\\*")
9886 lib)))
9887 #t))
9888 (add-before 'build 'build-helper-library
9889 (lambda* (#:key inputs outputs #:allow-other-keys)
9890 (let* ((mysql (assoc-ref inputs "mysql"))
9891 (inc-dir (string-append mysql "/include/mysql"))
9892 (lib-dir (string-append mysql "/lib"))
9893 (shared-lib-dir (string-append (assoc-ref outputs "out")
9894 "/lib"))
9895 (shared-lib (string-append shared-lib-dir
9896 "/clsql_mysql.so")))
9897 (mkdir-p shared-lib-dir)
9898 (invoke "gcc" "-fPIC" "-shared"
9899 "-I" inc-dir
9900 "db-mysql/clsql_mysql.c"
9901 "-Wl,-soname=clsql_mysql"
9902 "-L" lib-dir "-lmysqlclient" "-lz"
9903 "-o" shared-lib)
9904 #t)))
9905 (add-after 'unpack 'fix-tests
9906 (lambda _
9907 (substitute* "clsql.asd"
9908 (("clsql-tests :force t")
9909 "clsql-tests"))
9910 #t)))))
9911 (synopsis "Common Lisp SQL Interface library")
9912 (description
9913 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
9914 Xanalys CommonSQL interface for Lispworks. It provides low-level database
9915 interfaces as well as a functional and an object oriented interface.")
9916 (home-page "http://clsql.kpe.io/")
9917 (license license:llgpl)))
9918
9919 (define-public cl-clsql
9920 (package
9921 (inherit (sbcl-package->cl-source-package sbcl-clsql))
9922 (native-inputs
9923 `(("rt" ,cl-rt)))
9924 (inputs
9925 `(("mysql" ,mysql)
9926 ("postgresql" ,postgresql)
9927 ("sqlite" ,sqlite)
9928 ("zlib" ,zlib)))
9929 (propagated-inputs
9930 `(("cffi" ,cl-cffi)
9931 ("md5" ,cl-md5)
9932 ("postmodern" ,cl-postmodern)
9933 ("uffi" ,cl-uffi)))
9934 (arguments
9935 `(#:phases
9936 ;; asdf-build-system/source has its own phases and does not inherit
9937 ;; from asdf-build-system/sbcl phases.
9938 (modify-phases %standard-phases/source
9939 (add-after 'unpack 'fix-permissions
9940 (lambda _
9941 (make-file-writable "doc/html.tar.gz")
9942 #t)))))))
9943
9944 (define-public ecl-clsql
9945 (let ((pkg (sbcl-package->ecl-package sbcl-clsql)))
9946 (package
9947 (inherit pkg)
9948 (inputs
9949 (alist-delete "uffi" (package-inputs pkg)))
9950 (arguments
9951 (substitute-keyword-arguments (package-arguments pkg)
9952 ((#:asd-files asd-files '())
9953 `(cons "clsql-cffi.asd" ,asd-files)))))))
9954
9955 (define-public sbcl-sycamore
9956 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
9957 (package
9958 (name "sbcl-sycamore")
9959 (version "0.0.20120604")
9960 (source
9961 (origin
9962 (method git-fetch)
9963 (uri (git-reference
9964 (url "https://github.com/ndantam/sycamore/")
9965 (commit commit)))
9966 (file-name (git-file-name name version))
9967 (sha256
9968 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
9969 (build-system asdf-build-system/sbcl)
9970 (inputs
9971 `(("alexandria" ,sbcl-alexandria)
9972 ("cl-ppcre" ,sbcl-cl-ppcre)))
9973 (synopsis "Purely functional data structure library in Common Lisp")
9974 (description
9975 "Sycamore is a fast, purely functional data structure library in Common Lisp.
9976 If features:
9977
9978 @itemize
9979 @item Fast, purely functional weight-balanced binary trees.
9980 @item Leaf nodes are simple-vectors, greatly reducing tree height.
9981 @item Interfaces for tree Sets and Maps (dictionaries).
9982 @item Ropes.
9983 @item Purely functional pairing heaps.
9984 @item Purely functional amortized queue.
9985 @end itemize\n")
9986 (home-page "http://ndantam.github.io/sycamore/")
9987 (license license:bsd-3))))
9988
9989 (define-public cl-sycamore
9990 (sbcl-package->cl-source-package sbcl-sycamore))
9991
9992 (define-public ecl-sycamore
9993 (sbcl-package->ecl-package sbcl-sycamore))
9994
9995 (define-public sbcl-trivial-package-local-nicknames
9996 (package
9997 (name "sbcl-trivial-package-local-nicknames")
9998 (version "0.2")
9999 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
10000 (source
10001 (origin
10002 (method git-fetch)
10003 (uri (git-reference
10004 (url home-page)
10005 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
10006 (file-name (git-file-name name version))
10007 (sha256
10008 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
10009 (build-system asdf-build-system/sbcl)
10010 (synopsis "Common Lisp compatibility library for package local nicknames")
10011 (description
10012 "This library is a portable compatibility layer around package local nicknames (PLN).
10013 This was done so there is a portability library for the PLN API not included
10014 in DEFPACKAGE.")
10015 (license license:unlicense)))
10016
10017 (define-public cl-trivial-package-local-nicknames
10018 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
10019
10020 (define-public ecl-trivial-package-local-nicknames
10021 (sbcl-package->ecl-package sbcl-trivial-package-local-nicknames))
10022
10023 (define-public sbcl-enchant
10024 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
10025 (package
10026 (name "sbcl-enchant")
10027 (version (git-version "0.0.0" "1" commit))
10028 (home-page "https://github.com/tlikonen/cl-enchant")
10029 (source
10030 (origin
10031 (method git-fetch)
10032 (uri (git-reference
10033 (url home-page)
10034 (commit commit)))
10035 (file-name (git-file-name name version))
10036 (sha256
10037 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
10038 (build-system asdf-build-system/sbcl)
10039 (inputs
10040 `(("enchant" ,enchant)
10041 ("cffi" ,sbcl-cffi)))
10042 (arguments
10043 `(#:phases
10044 (modify-phases %standard-phases
10045 (add-after 'unpack 'fix-paths
10046 (lambda* (#:key inputs #:allow-other-keys)
10047 (substitute* "load-enchant.lisp"
10048 (("libenchant")
10049 (string-append
10050 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
10051 (synopsis "Common Lisp interface for the Enchant spell-checker library")
10052 (description
10053 "Enchant is a Common Lisp interface for the Enchant spell-checker
10054 library. The Enchant library is a generic spell-checker library which uses
10055 other spell-checkers transparently as back-end. The library supports the
10056 multiple checkers, including Aspell and Hunspell.")
10057 (license license:public-domain))))
10058
10059 (define-public cl-enchant
10060 (sbcl-package->cl-source-package sbcl-enchant))
10061
10062 (define-public ecl-enchant
10063 (sbcl-package->ecl-package sbcl-enchant))
10064
10065 (define-public sbcl-cl-change-case
10066 (let ((commit "5ceff2a5f8bd845b6cb510c6364176b27a238fd3"))
10067 (package
10068 (name "sbcl-cl-change-case")
10069 (version (git-version "0.1.0" "1" commit))
10070 (home-page "https://github.com/rudolfochrist/cl-change-case")
10071 (source
10072 (origin
10073 (method git-fetch)
10074 (uri (git-reference
10075 (url home-page)
10076 (commit commit)))
10077 (file-name (git-file-name name version))
10078 (sha256
10079 (base32 "1afyglglk9z3yg8gylcl301bl2r8vq3sllyznzj9s5xi5gs6qyf2"))))
10080 (build-system asdf-build-system/sbcl)
10081 (inputs
10082 `(("cl-ppcre" ,sbcl-cl-ppcre)
10083 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
10084 (native-inputs
10085 `(("fiveam" ,sbcl-fiveam)))
10086 (arguments
10087 '(;; FIXME: Test pass but phase fails with 'Component
10088 ;; "cl-change-case-test" not found, required by'.
10089 #:tests? #f
10090 #:test-asd-file "cl-change-case-test.asd"))
10091 (synopsis "Convert Common Lisp strings between camelCase, PascalCase and more")
10092 (description
10093 "@code{cl-change-case} is library to convert strings between camelCase,
10094 PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
10095 (license license:llgpl))))
10096
10097 (define-public cl-change-case
10098 (sbcl-package->cl-source-package sbcl-cl-change-case))
10099
10100 (define-public ecl-cl-change-case
10101 (sbcl-package->ecl-package sbcl-cl-change-case))
10102
10103 (define-public sbcl-modularize
10104 (let ((commit "86c5d9a11fbd2df9f0f03ac10b5d71837c8934ba")
10105 (revision "1"))
10106 (package
10107 (name "sbcl-modularize")
10108 (version (git-version "1.0.0" revision commit))
10109 (source
10110 (origin
10111 (method git-fetch)
10112 (uri (git-reference
10113 (url "https://github.com/Shinmera/modularize")
10114 (commit commit)))
10115 (file-name (git-file-name name version))
10116 (sha256
10117 (base32 "1zys29rfkb649rkgl3snxhajk8d5yf7ryxkrwy020kwdh7zdsg7d"))))
10118 (build-system asdf-build-system/sbcl)
10119 (arguments
10120 `(#:test-asd-file "modularize-test-module.asd"
10121 #:asd-files '("modularize.asd" "modularize-test-module.asd")
10122 #:asd-systems '("modularize" "modularize-test-module")))
10123 (inputs
10124 `(("documentation-utils" ,sbcl-documentation-utils)
10125 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)))
10126 (home-page "https://shinmera.github.io/modularize/")
10127 (synopsis "Common Lisp modularization framework")
10128 (description
10129 "@code{MODULARIZE} is an attempt at providing a common interface to
10130 segregate major application components. This is achieved by adding special
10131 treatment to packages. Each module is a package that is specially registered,
10132 which allows it to interact and co-exist with other modules in better ways. For
10133 instance, by adding module definition options you can introduce mechanisms to
10134 tie modules together in functionality, hook into each other and so on.")
10135 (license license:zlib))))
10136
10137 (define-public ecl-modularize
10138 (sbcl-package->ecl-package sbcl-modularize))
10139
10140 (define-public cl-modularize
10141 (sbcl-package->cl-source-package sbcl-modularize))
10142
10143 (define-public sbcl-modularize-hooks
10144 (let ((commit "e0348ed3ffd59a9ec31ca4ab28289e748bfbf96a")
10145 (revision "1"))
10146 (package
10147 (name "sbcl-modularize-hooks")
10148 (version (git-version "1.0.2" revision commit))
10149 (source
10150 (origin
10151 (method git-fetch)
10152 (uri (git-reference
10153 (url "https://github.com/Shinmera/modularize-hooks")
10154 (commit commit)))
10155 (file-name (git-file-name "modularize-hooks" version))
10156 (sha256
10157 (base32 "12kjvin8hxidwkzfb7inqv5b6g5qzcssnj9wc497v2ixc56fqdz7"))))
10158 (build-system asdf-build-system/sbcl)
10159 (inputs
10160 `(("closer-mop" ,sbcl-closer-mop)
10161 ("lambda-fiddle" ,sbcl-lambda-fiddle)
10162 ("modularize" ,sbcl-modularize)
10163 ("trivial-arguments" ,sbcl-trivial-arguments)))
10164 (home-page "https://shinmera.github.io/modularize-hooks/")
10165 (synopsis "Generic hooks and triggers extension for Modularize")
10166 (description
10167 "This is a simple extension to @code{MODULARIZE} that allows modules to
10168 define and trigger hooks, which other modules can hook on to.")
10169 (license license:zlib))))
10170
10171 (define-public ecl-modularize-hooks
10172 (sbcl-package->ecl-package sbcl-modularize-hooks))
10173
10174 (define-public cl-modularize-hooks
10175 (sbcl-package->cl-source-package sbcl-modularize-hooks))
10176
10177 (define-public sbcl-modularize-interfaces
10178 (let ((commit "96353657afb8c7aeba7ef5b51eb04c5ed3bcb6ef")
10179 (revision "1"))
10180 (package
10181 (name "sbcl-modularize-interfaces")
10182 (version (git-version "0.9.3" revision commit))
10183 (source
10184 (origin
10185 (method git-fetch)
10186 (uri (git-reference
10187 (url "https://github.com/Shinmera/modularize-interfaces")
10188 (commit commit)))
10189 (file-name (git-file-name "modularize-interfaces" version))
10190 (sha256
10191 (base32 "0bjf4wy39cwf75m7vh0r7mmcchs09yz2lrbyap98hnq8blq70fhc"))))
10192 (build-system asdf-build-system/sbcl)
10193 (inputs
10194 `(("lambda-fiddle" ,sbcl-lambda-fiddle)
10195 ("modularize" ,sbcl-modularize)
10196 ("trivial-arguments" ,sbcl-trivial-arguments)
10197 ("trivial-indent" ,sbcl-trivial-indent)))
10198 (home-page "https://shinmera.github.io/modularize-interfaces/")
10199 (synopsis "Programmatical interfaces extension for Modularize")
10200 (description
10201 "This is an extension to @code{MODULARIZE} that allows your application
10202 to define interfaces in-code that serve both as a primary documentation and as
10203 compliance control.")
10204 (license license:zlib))))
10205
10206 (define-public ecl-modularize-interfaces
10207 (sbcl-package->ecl-package sbcl-modularize-interfaces))
10208
10209 (define-public cl-modularize-interfaces
10210 (sbcl-package->cl-source-package sbcl-modularize-interfaces))
10211
10212 (define-public sbcl-moptilities
10213 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
10214 (package
10215 (name "sbcl-moptilities")
10216 (version (git-version "0.3.13" "1" commit))
10217 (home-page "https://github.com/gwkkwg/moptilities/")
10218 (source
10219 (origin
10220 (method git-fetch)
10221 (uri (git-reference
10222 (url home-page)
10223 (commit commit)))
10224 (file-name (git-file-name name version))
10225 (sha256
10226 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
10227 (build-system asdf-build-system/sbcl)
10228 (inputs
10229 `(("closer-mop" ,sbcl-closer-mop)))
10230 (native-inputs
10231 `(("lift" ,sbcl-lift)))
10232 (arguments
10233 `(#:phases
10234 (modify-phases %standard-phases
10235 (add-after 'unpack 'fix-tests
10236 (lambda _
10237 (substitute* "lift-standard.config"
10238 ((":relative-to lift-test")
10239 ":relative-to moptilities-test"))
10240 #t)))))
10241 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
10242 (description
10243 "MOP utilities provide a common interface between Lisps and make the
10244 MOP easier to use.")
10245 (license license:expat))))
10246
10247 (define-public cl-moptilities
10248 (sbcl-package->cl-source-package sbcl-moptilities))
10249
10250 (define-public sbcl-osicat
10251 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
10252 (package
10253 (name "sbcl-osicat")
10254 (version (git-version "0.7.0" "1" commit))
10255 (home-page "http://www.common-lisp.net/project/osicat/")
10256 (source
10257 (origin
10258 (method git-fetch)
10259 (uri (git-reference
10260 (url "https://github.com/osicat/osicat")
10261 (commit commit)))
10262 (file-name (git-file-name name version))
10263 (sha256
10264 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
10265 (build-system asdf-build-system/sbcl)
10266 (inputs
10267 `(("alexandria" ,sbcl-alexandria)
10268 ("cffi" ,sbcl-cffi)
10269 ("trivial-features" ,sbcl-trivial-features)))
10270 (native-inputs
10271 `(("rt" ,sbcl-rt)))
10272 (synopsis "Operating system interface for Common Lisp")
10273 (description
10274 "Osicat is a lightweight operating system interface for Common Lisp on
10275 Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
10276 accompaniment to the standard ANSI facilities.")
10277 (license license:expat))))
10278
10279 (define-public cl-osicat
10280 (sbcl-package->cl-source-package sbcl-osicat))
10281
10282 (define-public ecl-osicat
10283 (sbcl-package->ecl-package sbcl-osicat))
10284
10285 (define-public sbcl-clx-xembed
10286 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
10287 (revision "1"))
10288 (package
10289 (name "sbcl-clx-xembed")
10290 (version (git-version "0.1" revision commit))
10291 (home-page "https://github.com/laynor/clx-xembed")
10292 (source
10293 (origin
10294 (method git-fetch)
10295 (uri (git-reference
10296 (url "https://github.com/laynor/clx-xembed")
10297 (commit commit)))
10298 (file-name (git-file-name name version))
10299 (sha256
10300 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
10301 (build-system asdf-build-system/sbcl)
10302 (arguments
10303 `(#:asd-systems '("xembed")))
10304 (inputs
10305 `(("sbcl-clx" ,sbcl-clx)))
10306 (synopsis "CL(x) xembed protocol implementation ")
10307 (description "CL(x) xembed protocol implementation")
10308 ;; MIT License
10309 (license license:expat))))
10310
10311 (define-public cl-clx-xembed
10312 (sbcl-package->cl-source-package sbcl-clx-xembed))
10313
10314 (define-public ecl-clx-xembed
10315 (sbcl-package->ecl-package sbcl-clx-xembed))
10316
10317 (define-public sbcl-quantile-estimator
10318 (package
10319 (name "sbcl-quantile-estimator")
10320 (version "0.0.1")
10321 (source
10322 (origin
10323 (method git-fetch)
10324 (uri (git-reference
10325 (url "https://github.com/deadtrickster/quantile-estimator.cl")
10326 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
10327 (file-name (git-file-name name version))
10328 (sha256
10329 (base32
10330 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
10331 (build-system asdf-build-system/sbcl)
10332 (arguments
10333 '(#:asd-files '("quantile-estimator.asd")))
10334 (inputs
10335 `(("alexandria" ,sbcl-alexandria)))
10336 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
10337 (synopsis
10338 "Effective computation of biased quantiles over data streams")
10339 (description
10340 "Common Lisp implementation of Graham Cormode and S.
10341 Muthukrishnan's Effective Computation of Biased Quantiles over Data
10342 Streams in ICDE’05.")
10343 (license license:expat)))
10344
10345 (define-public cl-quantile-estimator
10346 (sbcl-package->cl-source-package sbcl-quantile-estimator))
10347
10348 (define-public ecl-quantile-estimator
10349 (sbcl-package->ecl-package sbcl-quantile-estimator))
10350
10351 (define-public sbcl-prometheus
10352 (package
10353 (name "sbcl-prometheus")
10354 (version "0.4.1")
10355 (source
10356 (origin
10357 (method git-fetch)
10358 (uri (git-reference
10359 (url "https://github.com/deadtrickster/prometheus.cl")
10360 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
10361 (file-name (git-file-name name version))
10362 (sha256
10363 (base32
10364 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
10365 (build-system asdf-build-system/sbcl)
10366 (inputs
10367 `(("alexandria" ,sbcl-alexandria)
10368 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10369 ("cffi" ,sbcl-cffi)
10370 ("cl-fad" ,sbcl-cl-fad)
10371 ("cl-ppcre" ,sbcl-cl-ppcre)
10372 ("drakma" ,sbcl-drakma)
10373 ("hunchentoot" ,sbcl-hunchentoot)
10374 ("local-time" ,sbcl-local-time)
10375 ("quantile-estimator" ,sbcl-quantile-estimator)
10376 ("salza2" ,sbcl-salza2)
10377 ("split-sequence" ,sbcl-split-sequence)
10378 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10379 (arguments
10380 '(#:asd-files '("prometheus.asd"
10381 "prometheus.collectors.sbcl.asd"
10382 "prometheus.collectors.process.asd"
10383 "prometheus.formats.text.asd"
10384 "prometheus.exposers.hunchentoot.asd"
10385 "prometheus.pushgateway.asd")
10386 #:asd-systems '("prometheus"
10387 "prometheus.collectors.sbcl"
10388 "prometheus.collectors.process"
10389 "prometheus.formats.text"
10390 "prometheus.exposers.hunchentoot"
10391 "prometheus.pushgateway")))
10392 (home-page "https://github.com/deadtrickster/prometheus.cl")
10393 (synopsis "Prometheus.io Common Lisp client")
10394 (description "Prometheus.io Common Lisp client.")
10395 (license license:expat)))
10396
10397 (define-public cl-prometheus
10398 (sbcl-package->cl-source-package sbcl-prometheus))
10399
10400 (define-public ecl-prometheus
10401 (sbcl-package->ecl-package sbcl-prometheus))
10402
10403 (define-public sbcl-uuid
10404 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
10405 (package
10406 (name "sbcl-uuid")
10407 (version (git-version "2012.12.26" "1" commit))
10408 (source
10409 (origin
10410 (method git-fetch)
10411 (uri (git-reference
10412 (url "https://github.com/dardoria/uuid")
10413 (commit commit)))
10414 (file-name (git-file-name name version))
10415 (sha256
10416 (base32
10417 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
10418 (build-system asdf-build-system/sbcl)
10419 (inputs
10420 `(("ironclad" ,sbcl-ironclad)
10421 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10422 (home-page "https://github.com/dardoria/uuid")
10423 (synopsis
10424 "Common Lisp implementation of UUIDs according to RFC4122")
10425 (description
10426 "Common Lisp implementation of UUIDs according to RFC4122.")
10427 (license license:llgpl))))
10428
10429 (define-public cl-uuid
10430 (sbcl-package->cl-source-package sbcl-uuid))
10431
10432 (define-public ecl-uuid
10433 (sbcl-package->ecl-package sbcl-uuid))
10434
10435 (define-public sbcl-dissect
10436 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
10437 (package
10438 (name "sbcl-dissect")
10439 (version (git-version "1.0.0" "1" commit))
10440 (source
10441 (origin
10442 (method git-fetch)
10443 (uri (git-reference
10444 (url "https://github.com/Shinmera/dissect")
10445 (commit commit)))
10446 (file-name (git-file-name name version))
10447 (sha256
10448 (base32
10449 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
10450 (build-system asdf-build-system/sbcl)
10451 (inputs
10452 `(("cl-ppcre" ,sbcl-cl-ppcre)))
10453 (home-page "https://shinmera.github.io/dissect/")
10454 (synopsis
10455 "Introspection library for the call stack and restarts")
10456 (description
10457 "Dissect is a small Common Lisp library for introspecting the call stack
10458 and active restarts.")
10459 (license license:zlib))))
10460
10461 (define-public cl-dissect
10462 (sbcl-package->cl-source-package sbcl-dissect))
10463
10464 (define-public ecl-dissect
10465 (sbcl-package->ecl-package sbcl-dissect))
10466
10467 (define-public sbcl-rove
10468 (package
10469 (name "sbcl-rove")
10470 (version "0.9.6")
10471 (source
10472 (origin
10473 (method git-fetch)
10474 (uri (git-reference
10475 (url "https://github.com/fukamachi/rove")
10476 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
10477 (file-name (git-file-name name version))
10478 (sha256
10479 (base32
10480 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
10481 (build-system asdf-build-system/sbcl)
10482 (inputs
10483 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10484 ("dissect" ,sbcl-dissect)
10485 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
10486 (home-page "https://github.com/fukamachi/rove")
10487 (synopsis
10488 "Yet another common lisp testing library")
10489 (description
10490 "Rove is a unit testing framework for Common Lisp applications.
10491 This is intended to be a successor of Prove.")
10492 (license license:bsd-3)))
10493
10494 (define-public cl-rove
10495 (sbcl-package->cl-source-package sbcl-rove))
10496
10497 (define-public ecl-rove
10498 (sbcl-package->ecl-package sbcl-rove))
10499
10500 (define-public sbcl-exponential-backoff
10501 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
10502 (package
10503 (name "sbcl-exponential-backoff")
10504 (version (git-version "0" "1" commit))
10505 (source
10506 (origin
10507 (method git-fetch)
10508 (uri (git-reference
10509 (url "https://github.com/death/exponential-backoff")
10510 (commit commit)))
10511 (file-name (git-file-name name version))
10512 (sha256
10513 (base32
10514 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
10515 (build-system asdf-build-system/sbcl)
10516 (home-page "https://github.com/death/exponential-backoff")
10517 (synopsis "Exponential backoff algorithm in Common Lisp")
10518 (description
10519 "An implementation of the exponential backoff algorithm in Common Lisp.
10520 Inspired by the implementation found in Chromium. Read the header file to
10521 learn about each of the parameters.")
10522 (license license:expat))))
10523
10524 (define-public cl-exponential-backoff
10525 (sbcl-package->cl-source-package sbcl-exponential-backoff))
10526
10527 (define-public ecl-exponential-backoff
10528 (sbcl-package->ecl-package sbcl-exponential-backoff))
10529
10530 (define-public sbcl-sxql
10531 (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
10532 (package
10533 (name "sbcl-sxql")
10534 (version (git-version "0.1.0" "1" commit))
10535 (source
10536 (origin
10537 (method git-fetch)
10538 (uri (git-reference
10539 (url "https://github.com/fukamachi/sxql")
10540 (commit commit)))
10541 (file-name (git-file-name name version))
10542 (sha256
10543 (base32
10544 "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
10545 (build-system asdf-build-system/sbcl)
10546 (arguments
10547 `(#:test-asd-file "sxql-test.asd"))
10548 (inputs
10549 `(("alexandria" ,sbcl-alexandria)
10550 ("cl-syntax" ,sbcl-cl-syntax)
10551 ("iterate" ,sbcl-iterate)
10552 ("optima" ,sbcl-optima)
10553 ("split-sequence" ,sbcl-split-sequence)
10554 ("trivial-types" ,sbcl-trivial-types)))
10555 (native-inputs
10556 `(("prove" ,sbcl-prove)))
10557 (home-page "https://github.com/fukamachi/sxql")
10558 (synopsis "SQL generator for Common Lisp")
10559 (description "SQL generator for Common Lisp.")
10560 (license license:bsd-3))))
10561
10562 (define-public cl-sxql
10563 (sbcl-package->cl-source-package sbcl-sxql))
10564
10565 (define-public ecl-sxql
10566 (sbcl-package->ecl-package sbcl-sxql))
10567
10568 (define-public sbcl-1am
10569 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
10570 (package
10571 (name "sbcl-1am")
10572 (version (git-version "0.0" "1" commit))
10573 (source
10574 (origin
10575 (method git-fetch)
10576 (uri (git-reference
10577 (url "https://github.com/lmj/1am")
10578 (commit commit)))
10579 (file-name (git-file-name name version))
10580 (sha256
10581 (base32
10582 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
10583 (build-system asdf-build-system/sbcl)
10584 (arguments
10585 `(#:asd-systems '("1am")))
10586 (home-page "https://github.com/lmj/1am")
10587 (synopsis "Minimal testing framework for Common Lisp")
10588 (description "A minimal testing framework for Common Lisp.")
10589 (license license:expat))))
10590
10591 (define-public cl-1am
10592 (sbcl-package->cl-source-package sbcl-1am))
10593
10594 (define-public ecl-1am
10595 (sbcl-package->ecl-package sbcl-1am))
10596
10597 (define-public sbcl-cl-ascii-table
10598 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
10599 (revision "1"))
10600 (package
10601 (name "sbcl-cl-ascii-table")
10602 (version (git-version "0.0.0" revision commit))
10603 (source
10604 (origin
10605 (method git-fetch)
10606 (uri (git-reference
10607 (url "https://github.com/telephil/cl-ascii-table")
10608 (commit commit)))
10609 (file-name (git-file-name name version))
10610 (sha256
10611 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
10612 (build-system asdf-build-system/sbcl)
10613 (synopsis "Library to make ascii-art tables")
10614 (description
10615 "This is a Common Lisp library to present tabular data in ascii-art
10616 tables.")
10617 (home-page "https://github.com/telephil/cl-ascii-table")
10618 (license license:expat))))
10619
10620 (define-public cl-ascii-table
10621 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
10622
10623 (define-public ecl-cl-ascii-table
10624 (sbcl-package->ecl-package sbcl-cl-ascii-table))
10625
10626 (define-public sbcl-cl-rdkafka
10627 (package
10628 (name "sbcl-cl-rdkafka")
10629 (version "1.0.2")
10630 (source
10631 (origin
10632 (method git-fetch)
10633 (uri (git-reference
10634 (url "https://github.com/SahilKang/cl-rdkafka")
10635 (commit (string-append "v" version))))
10636 (file-name (git-file-name name version))
10637 (sha256
10638 (base32
10639 "1qcgfd4h7syilzmrmd4z2vknbvawda3q3ykw7xm8n381syry4g82"))))
10640 (build-system asdf-build-system/sbcl)
10641 (arguments
10642 `(#:tests? #f ; Attempts to connect to locally running Kafka
10643 #:phases
10644 (modify-phases %standard-phases
10645 (add-after 'unpack 'fix-paths
10646 (lambda* (#:key inputs #:allow-other-keys)
10647 (substitute* "src/low-level/librdkafka-bindings.lisp"
10648 (("librdkafka" all)
10649 (string-append (assoc-ref inputs "librdkafka") "/lib/"
10650 all))))))))
10651 (inputs
10652 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10653 ("cffi" ,sbcl-cffi)
10654 ("librdkafka" ,librdkafka)
10655 ("lparallel" ,sbcl-lparallel)
10656 ("trivial-garbage" ,sbcl-trivial-garbage)))
10657 (home-page "https://github.com/SahilKang/cl-rdkafka")
10658 (synopsis "Common Lisp client library for Apache Kafka")
10659 (description "A Common Lisp client library for Apache Kafka.")
10660 (license license:gpl3)))
10661
10662 (define-public cl-rdkafka
10663 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
10664
10665 (define-public ecl-cl-rdkafka
10666 (sbcl-package->ecl-package sbcl-cl-rdkafka))
10667
10668 (define-public sbcl-acclimation
10669 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
10670 (package
10671 (name "sbcl-acclimation")
10672 (version (git-version "0.0.0" "1" commit))
10673 (source
10674 (origin
10675 (method git-fetch)
10676 (uri (git-reference
10677 (url "https://github.com/robert-strandh/Acclimation")
10678 (commit commit)))
10679 (file-name (git-file-name name version))
10680 (sha256
10681 (base32
10682 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
10683 (build-system asdf-build-system/sbcl)
10684 (home-page "https://github.com/robert-strandh/Acclimation")
10685 (synopsis "Internationalization library for Common Lisp")
10686 (description "This project is meant to provide tools for
10687 internationalizing Common Lisp programs.
10688
10689 One important aspect of internationalization is of course the language used in
10690 error messages, documentation strings, etc. But with this project we provide
10691 tools for all other aspects of internationalization as well, including dates,
10692 weight, temperature, names of physical quantitites, etc.")
10693 (license license:bsd-2))))
10694
10695 (define-public cl-acclimation
10696 (sbcl-package->cl-source-package sbcl-acclimation))
10697
10698 (define-public ecl-acclimation
10699 (sbcl-package->ecl-package sbcl-acclimation))
10700
10701 (define-public sbcl-clump
10702 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
10703 (package
10704 (name "sbcl-clump")
10705 (version (git-version "0.0.0" "1" commit))
10706 (source
10707 (origin
10708 (method git-fetch)
10709 (uri (git-reference
10710 (url "https://github.com/robert-strandh/Clump")
10711 (commit commit)))
10712 (file-name (git-file-name name version))
10713 (sha256
10714 (base32
10715 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
10716 (inputs
10717 `(("acclimation" ,sbcl-acclimation)))
10718 (build-system asdf-build-system/sbcl)
10719 (home-page "https://github.com/robert-strandh/Clump")
10720 (synopsis "Collection of tree implementations for Common Lisp")
10721 (description "The purpose of this library is to provide a collection of
10722 implementations of trees.
10723
10724 In contrast to existing libraries such as cl-containers, it does not impose a
10725 particular use for the trees. Instead, it aims for a stratified design,
10726 allowing client code to choose between different levels of abstraction.
10727
10728 As a consequence of this policy, low-level interfaces are provided where
10729 the concrete representation is exposed, but also high level interfaces
10730 where the trees can be used as search trees or as trees that represent
10731 sequences of objects.")
10732 (license license:bsd-2))))
10733
10734 (define-public cl-clump
10735 (sbcl-package->cl-source-package sbcl-clump))
10736
10737 (define-public ecl-clump
10738 (sbcl-package->ecl-package sbcl-clump))
10739
10740 (define-public sbcl-cluffer
10741 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
10742 (package
10743 (name "sbcl-cluffer")
10744 (version (git-version "0.0.0" "1" commit))
10745 (source
10746 (origin
10747 (method git-fetch)
10748 (uri (git-reference
10749 (url "https://github.com/robert-strandh/cluffer")
10750 (commit commit)))
10751 (file-name (git-file-name name version))
10752 (sha256
10753 (base32
10754 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
10755 (build-system asdf-build-system/sbcl)
10756 (inputs
10757 `(("acclimation" ,sbcl-acclimation)
10758 ("clump" ,sbcl-clump)))
10759 (home-page "https://github.com/robert-strandh/cluffer")
10760 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
10761 (description "Cluffer is a library for representing the buffer of a text
10762 editor. As such, it defines a set of CLOS protocols for client code to
10763 interact with the buffer contents in various ways, and it supplies different
10764 implementations of those protocols for different purposes.")
10765 (license license:bsd-2))))
10766
10767 (define-public cl-cluffer
10768 (sbcl-package->cl-source-package sbcl-cluffer))
10769
10770 (define-public ecl-cluffer
10771 (sbcl-package->ecl-package sbcl-cluffer))
10772
10773 (define-public sbcl-cl-libsvm-format
10774 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
10775 (revision "0"))
10776 (package
10777 (name "sbcl-cl-libsvm-format")
10778 (version (git-version "0.1.0" revision commit))
10779 (source
10780 (origin
10781 (method git-fetch)
10782 (uri (git-reference
10783 (url "https://github.com/masatoi/cl-libsvm-format")
10784 (commit commit)))
10785 (file-name (git-file-name name version))
10786 (sha256
10787 (base32
10788 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
10789 (build-system asdf-build-system/sbcl)
10790 (native-inputs
10791 `(("prove" ,sbcl-prove)))
10792 (inputs
10793 `(("alexandria" ,sbcl-alexandria)))
10794 (synopsis "LibSVM data format reader for Common Lisp")
10795 (description
10796 "This Common Lisp library provides a fast reader for data in LibSVM
10797 format.")
10798 (home-page "https://github.com/masatoi/cl-libsvm-format")
10799 (license license:expat))))
10800
10801 (define-public cl-libsvm-format
10802 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
10803
10804 (define-public ecl-cl-libsvm-format
10805 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
10806
10807 (define-public sbcl-cl-online-learning
10808 (let ((commit "87fbef8a340219e853adb3a5bf44a0470da76964")
10809 (revision "1"))
10810 (package
10811 (name "sbcl-cl-online-learning")
10812 (version (git-version "0.5" revision commit))
10813 (source
10814 (origin
10815 (method git-fetch)
10816 (uri (git-reference
10817 (url "https://github.com/masatoi/cl-online-learning")
10818 (commit commit)))
10819 (file-name (git-file-name "cl-online-learning" version))
10820 (sha256
10821 (base32
10822 "1lfq04lnxivx59nq5dd02glyqsqzf3vdn4s9b8wnaln5fs8g2ph9"))))
10823 (build-system asdf-build-system/sbcl)
10824 (native-inputs
10825 `(("prove" ,sbcl-prove)))
10826 (inputs
10827 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
10828 ("cl-store" ,sbcl-cl-store)))
10829 (arguments
10830 `(#:test-asd-file "cl-online-learning-test.asd"
10831 #:asd-systems '("cl-online-learning-test"
10832 "cl-online-learning")))
10833 (home-page "https://github.com/masatoi/cl-online-learning")
10834 (synopsis "Online Machine Learning for Common Lisp")
10835 (description
10836 "This library contains a collection of machine learning algorithms for
10837 online linear classification written in Common Lisp.")
10838 (license license:expat))))
10839
10840 (define-public cl-online-learning
10841 (sbcl-package->cl-source-package sbcl-cl-online-learning))
10842
10843 (define-public ecl-cl-online-learning
10844 (sbcl-package->ecl-package sbcl-cl-online-learning))
10845
10846 (define-public sbcl-cl-mpg123
10847 (let ((commit "5f042c839d2ea4a2ff2a7b60c839d8633d64161d")
10848 (revision "1"))
10849 (package
10850 (name "sbcl-cl-mpg123")
10851 (version (git-version "1.0.0" revision commit))
10852 (source
10853 (origin
10854 (method git-fetch)
10855 (uri (git-reference
10856 (url "https://github.com/Shirakumo/cl-mpg123")
10857 (commit commit)))
10858 (file-name (git-file-name "cl-mpg123" version))
10859 (sha256
10860 (base32 "1hl721xaczxck008ax2y3jpkm509ry1sg3lklh2k76764m3ndrjf"))
10861 (modules '((guix build utils)))
10862 (snippet
10863 '(begin
10864 ;; Remove bundled pre-compiled libraries.
10865 (delete-file-recursively "static")
10866 #t))))
10867 (build-system asdf-build-system/sbcl)
10868 (arguments
10869 `(#:asd-files '("cl-mpg123.asd" "cl-mpg123-example.asd")
10870 #:asd-systems '("cl-mpg123" "cl-mpg123-example")
10871 #:phases
10872 (modify-phases %standard-phases
10873 (add-after 'unpack 'fix-paths
10874 (lambda* (#:key inputs #:allow-other-keys)
10875 (substitute* "low-level.lisp"
10876 (("libmpg123.so" all)
10877 (string-append (assoc-ref inputs "libmpg123")
10878 "/lib/" all))))))))
10879 (inputs
10880 `(("cffi" ,sbcl-cffi)
10881 ("cl-out123" ,sbcl-cl-out123)
10882 ("documentation-utils" ,sbcl-documentation-utils)
10883 ("libmpg123" ,mpg123)
10884 ("trivial-features" ,sbcl-trivial-features)
10885 ("trivial-garbage" ,sbcl-trivial-garbage)
10886 ("verbose" ,sbcl-verbose)))
10887 (home-page "https://shirakumo.github.io/cl-mpg123/")
10888 (synopsis "Common Lisp bindings to libmpg123")
10889 (description
10890 "This is a bindings and wrapper library to @code{libmpg123} allowing for
10891 convenient, extensive, and fast decoding of MPEG1/2/3 (most prominently mp3)
10892 files.")
10893 (license license:zlib))))
10894
10895 (define-public ecl-cl-mpg123
10896 (sbcl-package->ecl-package sbcl-cl-mpg123))
10897
10898 (define-public cl-mpg123
10899 (sbcl-package->cl-source-package sbcl-cl-mpg123))
10900
10901 (define-public sbcl-cl-out123
10902 (let ((commit "6b58d3f8c2a28ad09059ac4c60fb3c781b9b421b")
10903 (revision "1"))
10904 (package
10905 (name "sbcl-cl-out123")
10906 (version (git-version "1.0.0" revision commit))
10907 (source
10908 (origin
10909 (method git-fetch)
10910 (uri (git-reference
10911 (url "https://github.com/Shirakumo/cl-out123")
10912 (commit commit)))
10913 (file-name (git-file-name "cl-out123" version))
10914 (sha256
10915 (base32 "0mdwgfax6sq68wvdgjjp78i40ah7wqkpqnvaq8a1c509k7ghdgv1"))
10916 (modules '((guix build utils)))
10917 (snippet
10918 '(begin
10919 ;; Remove bundled pre-compiled libraries.
10920 (delete-file-recursively "static")
10921 #t))))
10922 (build-system asdf-build-system/sbcl)
10923 (arguments
10924 `(#:phases
10925 (modify-phases %standard-phases
10926 (add-after 'unpack 'fix-paths
10927 (lambda* (#:key inputs #:allow-other-keys)
10928 (substitute* "low-level.lisp"
10929 (("libout123.so" all)
10930 (string-append (assoc-ref inputs "libout123")
10931 "/lib/" all)))))
10932 ;; NOTE: (Sharlatan-20210129T134529+0000): ECL package `ext' has no
10933 ;; exported macro `without-interrupts' it's moved to `mp' package
10934 ;; https://github.com/Shirakumo/cl-out123/issues/2
10935 ;; https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/src/lsp/mp.lsp
10936 (add-after 'unpack 'fix-ecl-package-name
10937 (lambda _
10938 (substitute* "wrapper.lisp"
10939 (("ext:without-interrupts.*") "mp:without-interrupts\n"))
10940 #t)))))
10941 (inputs
10942 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10943 ("cffi" ,sbcl-cffi)
10944 ("documentation-utils" ,sbcl-documentation-utils)
10945 ("libout123" ,mpg123)
10946 ("trivial-features" ,sbcl-trivial-features)
10947 ("trivial-garbage" ,sbcl-trivial-garbage)))
10948 (home-page "https://shirakumo.github.io/cl-out123/")
10949 (synopsis "Common Lisp bindings to libout123")
10950 (description
10951 "This is a bindings library to @code{libout123} which allows easy
10952 cross-platform audio playback.")
10953 (license license:zlib))))
10954
10955 (define-public ecl-cl-out123
10956 (sbcl-package->ecl-package sbcl-cl-out123))
10957
10958 (define-public cl-out123
10959 (sbcl-package->cl-source-package sbcl-cl-out123))
10960
10961 (define-public sbcl-cl-random-forest
10962 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
10963 (revision "1"))
10964 (package
10965 (name "sbcl-cl-random-forest")
10966 (version (git-version "0.1" revision commit))
10967 (source
10968 (origin
10969 (method git-fetch)
10970 (uri (git-reference
10971 (url "https://github.com/masatoi/cl-random-forest")
10972 (commit commit)))
10973 (file-name (git-file-name name version))
10974 (sha256
10975 (base32
10976 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
10977 (build-system asdf-build-system/sbcl)
10978 (native-inputs
10979 `(("prove" ,sbcl-prove)
10980 ("trivial-garbage" ,sbcl-trivial-garbage)))
10981 (inputs
10982 `(("alexandria" ,sbcl-alexandria)
10983 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
10984 ("cl-online-learning" ,sbcl-cl-online-learning)
10985 ("lparallel" ,sbcl-lparallel)))
10986 (arguments
10987 `(#:tests? #f)) ; The tests download data from the Internet
10988 (synopsis "Random Forest and Global Refinement for Common Lisp")
10989 (description
10990 "CL-random-forest is an implementation of Random Forest for multiclass
10991 classification and univariate regression written in Common Lisp. It also
10992 includes an implementation of Global Refinement of Random Forest.")
10993 (home-page "https://github.com/masatoi/cl-random-forest")
10994 (license license:expat))))
10995
10996 (define-public cl-random-forest
10997 (sbcl-package->cl-source-package sbcl-cl-random-forest))
10998
10999 (define-public ecl-cl-random-forest
11000 (sbcl-package->ecl-package sbcl-cl-random-forest))
11001
11002 (define-public sbcl-bordeaux-fft
11003 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
11004 (revision "0"))
11005 (package
11006 (name "sbcl-bordeaux-fft")
11007 (version (git-version "1.0.1" revision commit))
11008 (source
11009 (origin
11010 (method git-fetch)
11011 (uri (git-reference
11012 (url "https://github.com/ahefner/bordeaux-fft")
11013 (commit commit)))
11014 (file-name (git-file-name name version))
11015 (sha256
11016 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
11017 (build-system asdf-build-system/sbcl)
11018 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
11019 (synopsis "Fast Fourier Transform for Common Lisp")
11020 (description
11021 "The Bordeaux-FFT library provides a reasonably efficient implementation
11022 of the Fast Fourier Transform and its inverse for complex-valued inputs, in
11023 portable Common Lisp.")
11024 (license license:gpl2+))))
11025
11026 (define-public cl-bordeaux-fft
11027 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
11028
11029 (define-public ecl-bordeaux-fft
11030 (sbcl-package->ecl-package sbcl-bordeaux-fft))
11031
11032 (define-public sbcl-napa-fft3
11033 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
11034 (revision "0"))
11035 (package
11036 (name "sbcl-napa-fft3")
11037 (version (git-version "0.0.1" revision commit))
11038 (source
11039 (origin
11040 (method git-fetch)
11041 (uri (git-reference
11042 (url "https://github.com/pkhuong/Napa-FFT3")
11043 (commit commit)))
11044 (file-name (git-file-name name version))
11045 (sha256
11046 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
11047 (build-system asdf-build-system/sbcl)
11048 (home-page "https://github.com/pkhuong/Napa-FFT3")
11049 (synopsis "Fast Fourier Transform routines in Common Lisp")
11050 (description
11051 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
11052 buildings blocks to express common operations that involve DFTs: filtering,
11053 convolutions, etc.")
11054 (license license:bsd-3))))
11055
11056 (define-public cl-napa-fft3
11057 (sbcl-package->cl-source-package sbcl-napa-fft3))
11058
11059 (define-public sbcl-cl-tga
11060 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
11061 (revision "0"))
11062 (package
11063 (name "sbcl-cl-tga")
11064 (version (git-version "0.0.0" revision commit))
11065 (source
11066 (origin
11067 (method git-fetch)
11068 (uri (git-reference
11069 (url "https://github.com/fisxoj/cl-tga")
11070 (commit commit)))
11071 (file-name (git-file-name name version))
11072 (sha256
11073 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
11074 (build-system asdf-build-system/sbcl)
11075 (home-page "https://github.com/fisxoj/cl-tga")
11076 (synopsis "TGA file loader for Common Lisp")
11077 (description
11078 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
11079 programs. It's a very simple library, and, at the moment, only supports
11080 non-RLE encoded forms of the files.")
11081 (license license:expat))))
11082
11083 (define-public cl-tga
11084 (sbcl-package->cl-source-package sbcl-cl-tga))
11085
11086 (define-public ecl-cl-tga
11087 (sbcl-package->ecl-package sbcl-cl-tga))
11088
11089 (define-public sbcl-com.gigamonkeys.binary-data
11090 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
11091 (revision "0"))
11092 (package
11093 (name "sbcl-com.gigamonkeys.binary-data")
11094 (version (git-version "0.0.0" revision commit))
11095 (source
11096 (origin
11097 (method git-fetch)
11098 (uri (git-reference
11099 (url "https://github.com/gigamonkey/monkeylib-binary-data")
11100 (commit commit)))
11101 (file-name (git-file-name name version))
11102 (sha256
11103 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
11104 (build-system asdf-build-system/sbcl)
11105 (inputs
11106 `(("alexandria" ,sbcl-alexandria)))
11107 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
11108 (synopsis "Common Lisp library for reading and writing binary data")
11109 (description
11110 "This a Common Lisp library for reading and writing binary data. It is
11111 based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
11112 (license license:bsd-3))))
11113
11114 (define-public cl-com.gigamonkeys.binary-data
11115 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
11116
11117 (define-public ecl-com.gigamonkeys.binary-data
11118 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
11119
11120 (define-public sbcl-deflate
11121 (package
11122 (name "sbcl-deflate")
11123 (version "1.0.3")
11124 (source
11125 (origin
11126 (method git-fetch)
11127 (uri (git-reference
11128 (url "https://github.com/pmai/Deflate")
11129 (commit (string-append "release-" version))))
11130 (file-name (git-file-name name version))
11131 (sha256
11132 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
11133 (build-system asdf-build-system/sbcl)
11134 (home-page "https://github.com/pmai/Deflate")
11135 (synopsis "Native deflate decompression for Common Lisp")
11136 (description
11137 "This library is an implementation of Deflate (RFC 1951) decompression,
11138 with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
11139 wrappers of deflate streams. It currently does not handle compression.")
11140 (license license:expat)))
11141
11142 (define-public cl-deflate
11143 (sbcl-package->cl-source-package sbcl-deflate))
11144
11145 (define-public ecl-deflate
11146 (sbcl-package->ecl-package sbcl-deflate))
11147
11148 (define-public sbcl-skippy
11149 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
11150 (revision "0"))
11151 (package
11152 (name "sbcl-skippy")
11153 (version (git-version "1.3.12" revision commit))
11154 (source
11155 (origin
11156 (method git-fetch)
11157 (uri (git-reference
11158 (url "https://github.com/xach/skippy")
11159 (commit commit)))
11160 (file-name (git-file-name name version))
11161 (sha256
11162 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
11163 (build-system asdf-build-system/sbcl)
11164 (home-page "https://xach.com/lisp/skippy/")
11165 (synopsis "Common Lisp library for GIF images")
11166 (description
11167 "Skippy is a Common Lisp library to read and write GIF image files.")
11168 (license license:bsd-2))))
11169
11170 (define-public cl-skippy
11171 (sbcl-package->cl-source-package sbcl-skippy))
11172
11173 (define-public ecl-skippy
11174 (sbcl-package->ecl-package sbcl-skippy))
11175
11176 (define-public sbcl-cl-freetype2
11177 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
11178 (revision "0"))
11179 (package
11180 (name "sbcl-cl-freetype2")
11181 (version (git-version "1.1" revision commit))
11182 (source
11183 (origin
11184 (method git-fetch)
11185 (uri (git-reference
11186 (url "https://github.com/rpav/cl-freetype2")
11187 (commit commit)))
11188 (file-name (git-file-name name version))
11189 (sha256
11190 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
11191 (build-system asdf-build-system/sbcl)
11192 (native-inputs
11193 `(("fiveam" ,sbcl-fiveam)))
11194 (inputs
11195 `(("alexandria" ,sbcl-alexandria)
11196 ("cffi" ,sbcl-cffi)
11197 ("freetype" ,freetype)
11198 ("trivial-garbage" ,sbcl-trivial-garbage)))
11199 (arguments
11200 `(#:phases
11201 (modify-phases %standard-phases
11202 (add-after 'unpack 'fix-paths
11203 (lambda* (#:key inputs #:allow-other-keys)
11204 (substitute* "src/ffi/ft2-lib.lisp"
11205 (("\"libfreetype\"")
11206 (string-append "\"" (assoc-ref inputs "freetype")
11207 "/lib/libfreetype\"")))
11208 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
11209 (("-I/usr/include/freetype")
11210 (string-append "-I" (assoc-ref inputs "freetype")
11211 "/include/freetype")))
11212 #t)))))
11213 (home-page "https://github.com/rpav/cl-freetype2")
11214 (synopsis "Common Lisp bindings for Freetype 2")
11215 (description
11216 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
11217 geared toward both using Freetype directly by providing a simplified API, as
11218 well as providing access to the underlying C structures and functions for use
11219 with other libraries which may also use Freetype.")
11220 (license license:bsd-3))))
11221
11222 (define-public cl-freetype2
11223 (sbcl-package->cl-source-package sbcl-cl-freetype2))
11224
11225 (define-public ecl-cl-freetype2
11226 (sbcl-package->ecl-package sbcl-cl-freetype2))
11227
11228 (define-public sbcl-opticl-core
11229 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
11230 (revision "0"))
11231 (package
11232 (name "sbcl-opticl-core")
11233 (version (git-version "0.0.0" revision commit))
11234 (source
11235 (origin
11236 (method git-fetch)
11237 (uri (git-reference
11238 (url "https://github.com/slyrus/opticl-core")
11239 (commit commit)))
11240 (file-name (git-file-name name version))
11241 (sha256
11242 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
11243 (build-system asdf-build-system/sbcl)
11244 (inputs
11245 `(("alexandria" ,sbcl-alexandria)))
11246 (home-page "https://github.com/slyrus/opticl-core")
11247 (synopsis "Core classes and pixel access macros for Opticl")
11248 (description
11249 "This Common Lisp library contains the core classes and pixel access
11250 macros for the Opticl image processing library.")
11251 (license license:bsd-2))))
11252
11253 (define-public cl-opticl-core
11254 (sbcl-package->cl-source-package sbcl-opticl-core))
11255
11256 (define-public ecl-opticl-core
11257 (sbcl-package->ecl-package sbcl-opticl-core))
11258
11259 (define-public sbcl-retrospectiff
11260 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
11261 (revision "0"))
11262 (package
11263 (name "sbcl-retrospectiff")
11264 (version (git-version "0.2" revision commit))
11265 (source
11266 (origin
11267 (method git-fetch)
11268 (uri (git-reference
11269 (url "https://github.com/slyrus/retrospectiff")
11270 (commit commit)))
11271 (file-name (git-file-name name version))
11272 (sha256
11273 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
11274 (build-system asdf-build-system/sbcl)
11275 (native-inputs
11276 `(("fiveam" ,sbcl-fiveam)))
11277 (inputs
11278 `(("cl-jpeg" ,sbcl-cl-jpeg)
11279 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
11280 ("deflate" ,sbcl-deflate)
11281 ("flexi-streams" ,sbcl-flexi-streams)
11282 ("ieee-floats" ,sbcl-ieee-floats)
11283 ("opticl-core" ,sbcl-opticl-core)))
11284 (home-page "https://github.com/slyrus/retrospectiff")
11285 (synopsis "Common Lisp library for TIFF images")
11286 (description
11287 "Retrospectiff is a common lisp library for reading and writing images
11288 in the TIFF (Tagged Image File Format) format.")
11289 (license license:bsd-2))))
11290
11291 (define-public cl-retrospectif
11292 (sbcl-package->cl-source-package sbcl-retrospectiff))
11293
11294 (define-public ecl-retrospectiff
11295 (sbcl-package->ecl-package sbcl-retrospectiff))
11296
11297 (define-public sbcl-mmap
11298 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
11299 (revision "0"))
11300 (package
11301 (name "sbcl-mmap")
11302 (version (git-version "1.0.0" revision commit))
11303 (source
11304 (origin
11305 (method git-fetch)
11306 (uri (git-reference
11307 (url "https://github.com/Shinmera/mmap")
11308 (commit commit)))
11309 (file-name (git-file-name name version))
11310 (sha256
11311 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
11312 (build-system asdf-build-system/sbcl)
11313 (native-inputs
11314 `(("alexandria" ,sbcl-alexandria)
11315 ("cffi" ,sbcl-cffi)
11316 ("parachute" ,sbcl-parachute)
11317 ("trivial-features" ,sbcl-trivial-features)))
11318 (inputs
11319 `(("cffi" ,sbcl-cffi)
11320 ("documentation-utils" ,sbcl-documentation-utils)))
11321 (home-page "https://shinmera.github.io/mmap/")
11322 (synopsis "File memory mapping for Common Lisp")
11323 (description
11324 "This is a utility library providing access to the @emph{mmap} family of
11325 functions in a portable way. It allows you to directly map a file into the
11326 address space of your process without having to manually read it into memory
11327 sequentially. Typically this is much more efficient for files that are larger
11328 than a few Kb.")
11329 (license license:zlib))))
11330
11331 (define-public cl-mmap
11332 (sbcl-package->cl-source-package sbcl-mmap))
11333
11334 (define-public ecl-mmap
11335 (sbcl-package->ecl-package sbcl-mmap))
11336
11337 (define-public sbcl-3bz
11338 (let ((commit "569614c40408f3aefc77ba233e0e4bd66d3850ad")
11339 (revision "1"))
11340 (package
11341 (name "sbcl-3bz")
11342 (version (git-version "0.0.0" revision commit))
11343 (source
11344 (origin
11345 (method git-fetch)
11346 (uri (git-reference
11347 (url "https://github.com/3b/3bz")
11348 (commit commit)))
11349 (file-name (git-file-name name version))
11350 (sha256
11351 (base32 "0kvvlvf50jhhw1s510f3clpr1a68632bq6d698yxcrx722igcrg4"))))
11352 (build-system asdf-build-system/sbcl)
11353 (inputs
11354 `(("alexandria" ,sbcl-alexandria)
11355 ("babel" ,sbcl-babel)
11356 ("cffi" ,sbcl-cffi)
11357 ("mmap" ,sbcl-mmap)
11358 ("nibbles" ,sbcl-nibbles)
11359 ("trivial-features" ,sbcl-trivial-features)))
11360 (arguments
11361 ;; FIXME: #41437 - Build fails when package name starts from a digit
11362 `(#:asd-systems '("3bz")))
11363 (home-page "https://github.com/3b/3bz")
11364 (synopsis "Deflate decompression for Common Lisp")
11365 (description
11366 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
11367 with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
11368 foreign pointers (for use with mmap and similar, etc), and from CL octet
11369 vectors and streams.")
11370 (license license:expat))))
11371
11372 (define-public cl-3bz
11373 (sbcl-package->cl-source-package sbcl-3bz))
11374
11375 (define-public ecl-3bz
11376 (sbcl-package->ecl-package sbcl-3bz))
11377
11378 (define-public sbcl-zpb-exif
11379 (package
11380 (name "sbcl-zpb-exif")
11381 (version "1.2.4")
11382 (source
11383 (origin
11384 (method git-fetch)
11385 (uri (git-reference
11386 (url "https://github.com/xach/zpb-exif")
11387 (commit (string-append "release-" version))))
11388 (file-name (git-file-name name version))
11389 (sha256
11390 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
11391 (build-system asdf-build-system/sbcl)
11392 (home-page "https://xach.com/lisp/zpb-exif/")
11393 (synopsis "EXIF information extractor for Common Lisp")
11394 (description
11395 "This is a Common Lisp library to extract EXIF information from image
11396 files.")
11397 (license license:bsd-2)))
11398
11399 (define-public cl-zpb-exif
11400 (sbcl-package->cl-source-package sbcl-zpb-exif))
11401
11402 (define-public ecl-zpb-exif
11403 (sbcl-package->ecl-package sbcl-zpb-exif))
11404
11405 (define-public sbcl-pngload
11406 (package
11407 (name "sbcl-pngload")
11408 (version "2.0.0")
11409 (source
11410 (origin
11411 (method git-fetch)
11412 (uri (git-reference
11413 (url "https://github.com/bufferswap/pngload")
11414 (commit version)))
11415 (file-name (git-file-name name version))
11416 (sha256
11417 (base32 "1ix8dd0fxlf8xm0bszh1s7sx83hn0vqq8b8c9gkrd5m310w8mpvh"))))
11418 (build-system asdf-build-system/sbcl)
11419 (inputs
11420 `(("3bz" ,sbcl-3bz)
11421 ("alexandria" ,sbcl-alexandria)
11422 ("cffi" ,sbcl-cffi)
11423 ("mmap" ,sbcl-mmap)
11424 ("parse-float" ,sbcl-parse-float)
11425 ("static-vectors" ,sbcl-static-vectors)
11426 ("swap-bytes" ,sbcl-swap-bytes)
11427 ("zpb-exif" ,sbcl-zpb-exif)))
11428 (arguments
11429 ;; Test suite disabled because of a dependency cycle.
11430 ;; pngload tests depend on opticl which depends on pngload.
11431 '(#:tests? #f))
11432 (home-page "https://github.com/bufferswap/pngload")
11433 (synopsis "PNG image decoder for Common Lisp")
11434 (description
11435 "This is a Common Lisp library to load images in the PNG image format,
11436 both from files on disk, or streams in memory.")
11437 (license license:expat)))
11438
11439 (define-public cl-pngload
11440 (sbcl-package->cl-source-package sbcl-pngload))
11441
11442 (define-public ecl-pngload
11443 (sbcl-package->ecl-package sbcl-pngload))
11444
11445 (define-public sbcl-opticl
11446 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
11447 (revision "0"))
11448 (package
11449 (name "sbcl-opticl")
11450 (version (git-version "0.0.0" revision commit))
11451 (source
11452 (origin
11453 (method git-fetch)
11454 (uri (git-reference
11455 (url "https://github.com/slyrus/opticl")
11456 (commit commit)))
11457 (file-name (git-file-name name version))
11458 (sha256
11459 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
11460 (build-system asdf-build-system/sbcl)
11461 (native-inputs
11462 `(("fiveam" ,sbcl-fiveam)))
11463 (inputs
11464 `(("alexandria" ,sbcl-alexandria)
11465 ("cl-jpeg" ,sbcl-cl-jpeg)
11466 ("cl-tga" ,sbcl-cl-tga)
11467 ("png-read" ,sbcl-png-read)
11468 ("pngload" ,sbcl-pngload)
11469 ("retrospectiff" ,sbcl-retrospectiff)
11470 ("skippy" ,sbcl-skippy)
11471 ("zpng" ,sbcl-zpng)))
11472 (arguments
11473 '(#:asd-files '("opticl.asd")))
11474 (home-page "https://github.com/slyrus/opticl")
11475 (synopsis "Image processing library for Common Lisp")
11476 (description
11477 "Opticl is a Common Lisp library for representing, processing, loading,
11478 and saving 2-dimensional pixel-based images.")
11479 (license license:bsd-2))))
11480
11481 (define-public cl-opticl
11482 (sbcl-package->cl-source-package sbcl-opticl))
11483
11484 (define-public ecl-opticl
11485 (sbcl-package->ecl-package sbcl-opticl))
11486
11487 (define-public sbcl-mcclim
11488 (let ((commit "04cc542dd4b461b9d56406e40681d1a8f080730f")
11489 (revision "1"))
11490 (package
11491 (name "sbcl-mcclim")
11492 (version (git-version "0.9.7" revision commit))
11493 (source
11494 (origin
11495 (method git-fetch)
11496 (uri (git-reference
11497 (url "https://github.com/mcclim/mcclim")
11498 (commit commit)))
11499 (file-name (git-file-name name version))
11500 (sha256
11501 (base32 "1xjly8i62z72hfhlnz5kjd9i8xhrwckc7avyizxvhih67pkjmsx0"))))
11502 (build-system asdf-build-system/sbcl)
11503 (native-inputs
11504 `(("fiveam" ,sbcl-fiveam)
11505 ("pkg-config" ,pkg-config)))
11506 (inputs
11507 `(("alexandria" ,sbcl-alexandria)
11508 ("babel" ,sbcl-babel)
11509 ("bordeaux-threads" ,sbcl-bordeaux-threads)
11510 ("cl-freetype2" ,sbcl-cl-freetype2)
11511 ("cl-pdf" ,sbcl-cl-pdf)
11512 ("cffi" ,sbcl-cffi)
11513 ("cl-unicode" ,sbcl-cl-unicode)
11514 ("cl-vectors" ,sbcl-cl-vectors)
11515 ("closer-mop" ,sbcl-closer-mop)
11516 ("clx" ,sbcl-clx)
11517 ("flexi-streams" ,sbcl-flexi-streams)
11518 ("flexichain" ,sbcl-flexichain)
11519 ("font-dejavu" ,font-dejavu)
11520 ("fontconfig" ,fontconfig)
11521 ("freetype" ,freetype)
11522 ("harfbuzz" ,harfbuzz)
11523 ("log4cl" ,sbcl-log4cl)
11524 ("opticl" ,sbcl-opticl)
11525 ("spatial-trees" ,sbcl-spatial-trees)
11526 ("swank" ,sbcl-slime-swank)
11527 ("trivial-features" ,sbcl-trivial-features)
11528 ("trivial-garbage" ,sbcl-trivial-garbage)
11529 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
11530 ("zpb-ttf" ,sbcl-zpb-ttf)))
11531 (arguments
11532 '(#:asd-systems '("mcclim"
11533 "clim-examples")
11534 #:phases
11535 (modify-phases %standard-phases
11536 (add-after 'unpack 'fix-paths
11537 (lambda* (#:key inputs #:allow-other-keys)
11538 ;; mcclim-truetype uses DejaVu as default font and
11539 ;; sets the path at build time.
11540 (substitute* "Extensions/fonts/fontconfig.lisp"
11541 (("/usr/share/fonts/truetype/dejavu/")
11542 (string-append (assoc-ref inputs "font-dejavu")
11543 "/share/fonts/truetype/")))
11544 (substitute* "Extensions/fontconfig/src/functions.lisp"
11545 (("libfontconfig\\.so")
11546 (string-append (assoc-ref inputs "fontconfig")
11547 "/lib/libfontconfig.so")))
11548 (substitute* "Extensions/harfbuzz/src/functions.lisp"
11549 (("libharfbuzz\\.so")
11550 (string-append (assoc-ref inputs "harfbuzz")
11551 "/lib/libharfbuzz.so")))
11552 #t))
11553 (add-after 'unpack 'fix-build
11554 (lambda _
11555 ;; The cffi-grovel system does not get loaded automatically,
11556 ;; so we load it explicitly.
11557 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
11558 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
11559 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
11560 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
11561 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
11562 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
11563 #t)))))
11564 (home-page "https://common-lisp.net/project/mcclim/")
11565 (synopsis "Common Lisp GUI toolkit")
11566 (description
11567 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
11568 specification}, a toolkit for writing GUIs in Common Lisp.")
11569 (license license:lgpl2.1+))))
11570
11571 (define-public cl-mcclim
11572 (sbcl-package->cl-source-package sbcl-mcclim))
11573
11574 (define-public ecl-mcclim
11575 (sbcl-package->ecl-package sbcl-mcclim))
11576
11577 (define-public sbcl-cl-inflector
11578 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
11579 (revision "1"))
11580 (package
11581 (name "sbcl-cl-inflector")
11582 (version (git-version "0.2" revision commit))
11583 (source
11584 (origin
11585 (method git-fetch)
11586 (uri (git-reference
11587 (url "https://github.com/AccelerationNet/cl-inflector")
11588 (commit commit)))
11589 (file-name (git-file-name name version))
11590 (sha256
11591 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
11592 (build-system asdf-build-system/sbcl)
11593 (native-inputs
11594 `(("lisp-unit2" ,sbcl-lisp-unit2)))
11595 (inputs
11596 `(("alexandria" ,sbcl-alexandria)
11597 ("cl-ppcre" ,sbcl-cl-ppcre)))
11598 (home-page "https://github.com/AccelerationNet/cl-inflector")
11599 (synopsis "Library to pluralize/singularize English and Portuguese words")
11600 (description
11601 "This is a common lisp library to easily pluralize and singularize
11602 English and Portuguese words. This is a port of the ruby ActiveSupport
11603 Inflector module.")
11604 (license license:expat))))
11605
11606 (define-public cl-inflector
11607 (sbcl-package->cl-source-package sbcl-cl-inflector))
11608
11609 (define-public ecl-cl-inflector
11610 (sbcl-package->ecl-package sbcl-cl-inflector))
11611
11612 (define-public sbcl-ixf
11613 (let ((commit "ed26f87e4127e4a9e3aac4ff1e60d1f39cca5183")
11614 (revision "1"))
11615 (package
11616 (name "sbcl-ixf")
11617 (version (git-version "0.1.0" revision commit))
11618 (source
11619 (origin
11620 (method git-fetch)
11621 (uri (git-reference
11622 (url "https://github.com/dimitri/cl-ixf")
11623 (commit commit)))
11624 (file-name (git-file-name "cl-ixf" version))
11625 (sha256
11626 (base32 "1wjdnf4vr9z7lcfc49kl43g6l2i23q9n81siy494k17d766cdvqa"))))
11627 (build-system asdf-build-system/sbcl)
11628 (inputs
11629 `(("alexandria" ,sbcl-alexandria)
11630 ("babel" ,sbcl-babel)
11631 ("cl-ppcre" ,sbcl-cl-ppcre)
11632 ("ieee-floats" ,sbcl-ieee-floats)
11633 ("local-time" ,sbcl-local-time)
11634 ("md5" ,sbcl-md5)
11635 ("split-sequence" ,sbcl-split-sequence)))
11636 (home-page "https://github.com/dimitri/cl-ixf")
11637 (synopsis "Parse IBM IXF file format")
11638 (description
11639 "This is a Common Lisp library to handle the IBM PC version of the IXF
11640 (Integration Exchange Format) file format.")
11641 (license license:public-domain))))
11642
11643 (define-public ecl-ixf
11644 (sbcl-package->ecl-package sbcl-ixf))
11645
11646 (define-public cl-ixf
11647 (sbcl-package->cl-source-package sbcl-ixf))
11648
11649 (define-public sbcl-qbase64
11650 (package
11651 (name "sbcl-qbase64")
11652 (version "0.3.0")
11653 (source
11654 (origin
11655 (method git-fetch)
11656 (uri (git-reference
11657 (url "https://github.com/chaitanyagupta/qbase64")
11658 (commit version)))
11659 (file-name (git-file-name name version))
11660 (sha256
11661 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
11662 (build-system asdf-build-system/sbcl)
11663 (inputs
11664 `(("metabang-bind" ,sbcl-metabang-bind)
11665 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
11666 (native-inputs
11667 `(("fiveam" ,sbcl-fiveam)))
11668 (home-page "https://github.com/chaitanyagupta/qbase64")
11669 (synopsis "Base64 encoder and decoder for Common Lisp")
11670 (description "@code{qbase64} provides a fast and flexible base64 encoder
11671 and decoder for Common Lisp.")
11672 (license license:bsd-3)))
11673
11674 (define-public cl-qbase64
11675 (sbcl-package->cl-source-package sbcl-qbase64))
11676
11677 (define-public ecl-qbase64
11678 (sbcl-package->ecl-package sbcl-qbase64))
11679
11680 (define-public sbcl-lw-compat
11681 ;; No release since 2013.
11682 (let ((commit "aabfe28c6c1a4949f9d7b3cb30319367c9fd1c0d"))
11683 (package
11684 (name "sbcl-lw-compat")
11685 (version (git-version "1.0.0" "1" commit))
11686 (source
11687 (origin
11688 (method git-fetch)
11689 (uri (git-reference
11690 (url "https://github.com/pcostanza/lw-compat/")
11691 (commit commit)))
11692 (file-name (git-file-name name version))
11693 (sha256
11694 (base32 "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav"))))
11695 (build-system asdf-build-system/sbcl)
11696 (home-page "https://github.com/pcostanza/lw-compat/")
11697 (synopsis "LispWorks utilities ported to other Common Lisp implementations")
11698 (description "This package contains a few utility functions from the
11699 LispWorks library that are used in software such as ContextL.")
11700 (license license:expat))))
11701
11702 (define-public cl-lw-compat
11703 (sbcl-package->cl-source-package sbcl-lw-compat))
11704
11705 (define-public ecl-lw-compat
11706 (sbcl-package->ecl-package sbcl-lw-compat))
11707
11708 (define-public sbcl-contextl
11709 ;; No release since 2013.
11710 (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9"))
11711 (package
11712 (name "sbcl-contextl")
11713 (version (git-version "1.0.0" "1" commit))
11714 (source
11715 (origin
11716 (method git-fetch)
11717 (uri (git-reference
11718 (url "https://github.com/pcostanza/contextl/")
11719 (commit commit)))
11720 (file-name (git-file-name name version))
11721 (sha256
11722 (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226"))))
11723 (build-system asdf-build-system/sbcl)
11724 (inputs
11725 `(("closer-mop" ,sbcl-closer-mop)
11726 ("lw-compat" ,sbcl-lw-compat)))
11727 (home-page "https://github.com/pcostanza/contextl")
11728 (synopsis "Context-oriented programming for Common Lisp")
11729 (description "ContextL is a CLOS extension for Context-Oriented
11730 Programming (COP).
11731
11732 Find overview of ContextL's features in an overview paper:
11733 @url{http://www.p-cos.net/documents/contextl-soa.pdf}. See also this general
11734 overview article about COP which also contains some ContextL examples:
11735 @url{http://www.jot.fm/issues/issue_2008_03/article4/}.")
11736 (license license:expat))))
11737
11738 (define-public cl-contextl
11739 (sbcl-package->cl-source-package sbcl-contextl))
11740
11741 (define-public ecl-contextl
11742 (sbcl-package->ecl-package sbcl-contextl))
11743
11744 (define-public sbcl-hu.dwim.common-lisp
11745 (package
11746 (name "sbcl-hu.dwim.common-lisp")
11747 (version "2015-07-09")
11748 (source
11749 (origin
11750 (method url-fetch)
11751 (uri (string-append
11752 "http://beta.quicklisp.org/archive/hu.dwim.common-lisp/"
11753 version "/hu.dwim.common-lisp-"
11754 (string-replace-substring version "-" "")
11755 "-darcs.tgz"))
11756 (sha256
11757 (base32 "13cxrvh55rw080mvfir7s7k735l9rcfh3khxp97qfwd5rz0gadb9"))))
11758 (build-system asdf-build-system/sbcl)
11759 (native-inputs
11760 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11761 (home-page "http://dwim.hu/")
11762 (synopsis "Redefine some standard Common Lisp names")
11763 (description "This library is a redefinition of the standard Common Lisp
11764 package that includes a number of renames and shadows. ")
11765 (license license:public-domain)))
11766
11767 (define-public cl-hu.dwim.common-lisp
11768 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
11769
11770 (define-public ecl-hu.dwim.common-lisp
11771 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
11772
11773 (define-public sbcl-hu.dwim.common
11774 (package
11775 (name "sbcl-hu.dwim.common")
11776 (version "2015-07-09")
11777 (source
11778 (origin
11779 (method url-fetch)
11780 (uri (string-append
11781 "http://beta.quicklisp.org/archive/hu.dwim.common/"
11782 version "/hu.dwim.common-"
11783 (string-replace-substring version "-" "")
11784 "-darcs.tgz"))
11785 (sha256
11786 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
11787 (build-system asdf-build-system/sbcl)
11788 (native-inputs
11789 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11790 (inputs
11791 `(("alexandria" ,sbcl-alexandria)
11792 ("anaphora" ,sbcl-anaphora)
11793 ("closer-mop" ,sbcl-closer-mop)
11794 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
11795 ("iterate" ,sbcl-iterate)
11796 ("metabang-bind" ,sbcl-metabang-bind)))
11797 (home-page "http://dwim.hu/")
11798 (synopsis "Common Lisp library shared by other hu.dwim systems")
11799 (description "This package contains a support library for other
11800 hu.dwim systems.")
11801 (license license:public-domain)))
11802
11803 (define-public cl-hu.dwim.common
11804 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
11805
11806 (define-public ecl-hu.dwim.common
11807 (sbcl-package->ecl-package sbcl-hu.dwim.common))
11808
11809 (define-public sbcl-hu.dwim.defclass-star
11810 (let ((commit "39d458f1b1bc830d1f5e18a6a35bf0e96a2cfd61"))
11811 (package
11812 (name "sbcl-hu.dwim.defclass-star")
11813 ;; We used to set version from the date when it was a darcs repo, so we
11814 ;; keep the year so that package gets updated on previous installs.
11815 (version (git-version "2021" "1" commit))
11816 (source
11817 (origin
11818 (method git-fetch)
11819 (uri (git-reference
11820 (url "https://github.com/hu-dwim/hu.dwim.defclass-star")
11821 (commit commit)))
11822 (file-name (git-file-name name version))
11823 (sha256
11824 (base32 "0hfkq2wad98vkyxdg1wh18y86d9w9yqkm8lxkk96szvpwymm7lmq"))))
11825 (build-system asdf-build-system/sbcl)
11826 (native-inputs
11827 `( ;; These 2 inputs are only needed tests which are disabled, see below.
11828 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
11829 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
11830 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
11831 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11832 (arguments
11833 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
11834 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
11835 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
11836 #:tests? #f))
11837 (home-page "https://github.com/hu-dwim/hu.dwim.defclass-star")
11838 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
11839 (description "@code{defclass-star} provides defclass* and defcondition* to
11840 simplify class and condition declarations. Features include:
11841
11842 @itemize
11843 @item Automatically export all or select slots at compile time.
11844 @item Define the @code{:initarg} and @code{:accessor} automatically.
11845 @item Specify a name transformer for both the @code{:initarg} and
11846 @code{:accessor}, etc.
11847 @item Specify the @code{:initform} as second slot value.
11848 @end itemize
11849
11850 See
11851 @url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
11852 for an example.")
11853 (license license:public-domain))))
11854
11855 (define-public cl-hu.dwim.defclass-star
11856 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
11857
11858 (define-public ecl-hu.dwim.defclass-star
11859 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))
11860
11861 (define-public sbcl-livesupport
11862 (let ((commit "71e6e412df9f3759ad8378fabb203913d82e228a")
11863 (revision "1"))
11864 (package
11865 (name "sbcl-livesupport")
11866 (version (git-version "0.0.0" revision commit))
11867 (source
11868 (origin
11869 (method git-fetch)
11870 (uri (git-reference
11871 (url "https://github.com/cbaggers/livesupport")
11872 (commit commit)))
11873 (file-name (git-file-name name version))
11874 (sha256
11875 (base32 "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"))))
11876 (build-system asdf-build-system/sbcl)
11877 (home-page "https://github.com/cbaggers/livesupport")
11878 (synopsis "Some helpers that make livecoding a little easier")
11879 (description "This package provides a macro commonly used in livecoding to
11880 enable continuing when errors are raised. Simply wrap around a chunk of code
11881 and it provides a restart called @code{continue} which ignores the error and
11882 carrys on from the end of the body.")
11883 (license license:bsd-2))))
11884
11885 (define-public cl-livesupport
11886 (sbcl-package->cl-source-package sbcl-livesupport))
11887
11888 (define-public ecl-livesupport
11889 (sbcl-package->ecl-package sbcl-livesupport))
11890
11891 (define-public sbcl-envy
11892 (let ((commit "956321b2852d58ba71c6fe621f5c2924178e9f88")
11893 (revision "1"))
11894 (package
11895 (name "sbcl-envy")
11896 (version (git-version "0.1" revision commit))
11897 (home-page "https://github.com/fukamachi/envy")
11898 (source
11899 (origin
11900 (method git-fetch)
11901 (uri (git-reference
11902 (url home-page)
11903 (commit commit)))
11904 (file-name (git-file-name name version))
11905 (sha256
11906 (base32 "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg"))))
11907 (build-system asdf-build-system/sbcl)
11908 ;; (native-inputs ; Only for tests.
11909 ;; `(("prove" ,sbcl-prove)
11910 ;; ("osicat" ,sbcl-osicat)))
11911 (arguments
11912 '(#:phases
11913 (modify-phases %standard-phases
11914 (add-after 'unpack 'fix-tests
11915 (lambda _
11916 (substitute* "envy-test.asd"
11917 (("cl-test-more") "prove"))
11918 #t)))
11919 ;; Tests fail with
11920 ;; Component ENVY-ASD::ENVY-TEST not found, required by #<SYSTEM "envy">
11921 ;; like xsubseq. Why?
11922 #:tests? #f))
11923 (synopsis "Common Lisp configuration switcher inspired by Perl's Config::ENV.")
11924 (description "Envy is a configuration manager for various applications.
11925 Envy uses an environment variable to determine a configuration to use. This
11926 can separate configuration system from an implementation.")
11927 (license license:bsd-2))))
11928
11929 (define-public cl-envy
11930 (sbcl-package->cl-source-package sbcl-envy))
11931
11932 (define-public ecl-envy
11933 (sbcl-package->ecl-package sbcl-envy))
11934
11935 (define-public sbcl-mito
11936 (let ((commit "d3b9e375ef364a65692da2185085a08c969ac88a")
11937 (revision "1"))
11938 (package
11939 (name "sbcl-mito")
11940 (version (git-version "0.1" revision commit))
11941 (home-page "https://github.com/fukamachi/mito")
11942 (source
11943 (origin
11944 (method git-fetch)
11945 (uri (git-reference
11946 (url home-page)
11947 (commit commit)))
11948 (file-name (git-file-name name version))
11949 (sha256
11950 (base32 "08mncgzjnbbsf1a6am3l73iw4lyfvz5ldjg5g84awfaxml4p73mb"))))
11951 (build-system asdf-build-system/sbcl)
11952 (native-inputs
11953 `(("prove" ,sbcl-prove)))
11954 (inputs
11955 `(("alexandria" ,sbcl-alexandria)
11956 ("cl-ppcre" ,sbcl-cl-ppcre)
11957 ("cl-reexport" ,sbcl-cl-reexport)
11958 ("closer-mop" ,sbcl-closer-mop)
11959 ("dbi" ,sbcl-dbi)
11960 ("dissect" ,sbcl-dissect)
11961 ("esrap" ,sbcl-esrap)
11962 ("local-time" ,sbcl-local-time)
11963 ("optima" ,sbcl-optima)
11964 ("sxql" ,sbcl-sxql)
11965 ("uuid" ,sbcl-uuid)))
11966 (arguments
11967 '(#:phases
11968 (modify-phases %standard-phases
11969 (add-after 'unpack 'remove-non-functional-tests
11970 (lambda _
11971 (substitute* "mito-test.asd"
11972 (("\\(:test-file \"db/mysql\"\\)") "")
11973 (("\\(:test-file \"db/postgres\"\\)") "")
11974 (("\\(:test-file \"dao\"\\)") "")
11975 ;; TODO: migration/sqlite3 should work, re-enable once
11976 ;; upstream has fixed it:
11977 ;; https://github.com/fukamachi/mito/issues/70
11978 (("\\(:test-file \"migration/sqlite3\"\\)") "")
11979 (("\\(:test-file \"migration/mysql\"\\)") "")
11980 (("\\(:test-file \"migration/postgres\"\\)") "")
11981 (("\\(:test-file \"postgres-types\"\\)") "")
11982 (("\\(:test-file \"mixin\"\\)") ""))
11983 #t)))
11984 ;; TODO: While all enabled tests pass, the phase fails with:
11985 ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito">
11986 #:tests? #f))
11987 (synopsis "ORM for Common Lisp with migrations and relationships support")
11988 (description "Mito is yet another object relational mapper, and it aims
11989 to be a successor of Integral.
11990
11991 @itemize
11992 @item Support MySQL, PostgreSQL and SQLite3.
11993 @item Add id (serial/uuid primary key), created_at and updated_at by default
11994 like Ruby's ActiveRecord.
11995 @item Migrations.
11996 @item Database schema versioning.
11997 @end itemize\n")
11998 (license license:llgpl))))
11999
12000 (define-public cl-mito
12001 (sbcl-package->cl-source-package sbcl-mito))
12002
12003 (define-public ecl-mito
12004 (sbcl-package->ecl-package sbcl-mito))
12005
12006 (define-public sbcl-kebab
12007 (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b")
12008 (revision "1"))
12009 (package
12010 (name "sbcl-kebab")
12011 (version (git-version "0.1" revision commit))
12012 (home-page "https://github.com/pocket7878/kebab")
12013 (source
12014 (origin
12015 (method git-fetch)
12016 (uri (git-reference
12017 (url home-page)
12018 (commit commit)))
12019 (file-name (git-file-name name version))
12020 (sha256
12021 (base32 "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"))))
12022 (build-system asdf-build-system/sbcl)
12023 (inputs
12024 `(("cl-ppcre" ,sbcl-cl-ppcre)
12025 ("alexandria" ,sbcl-alexandria)
12026 ("cl-interpol" ,sbcl-cl-interpol)
12027 ("split-sequence" ,sbcl-split-sequence)))
12028 (native-inputs
12029 `(("prove" ,sbcl-prove)))
12030 (arguments
12031 ;; Tests passes but the phase fails with
12032 ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">.
12033 `(#:tests? #f))
12034 (synopsis "Common Lisp case converter")
12035 (description "This Common Lisp library converts strings, symbols and
12036 keywords between any of the following typographical cases: PascalCase,
12037 camelCase, snake_case, kebab-case (lisp-case).")
12038 (license license:llgpl))))
12039
12040 (define-public cl-kebab
12041 (sbcl-package->cl-source-package sbcl-kebab))
12042
12043 (define-public ecl-kebab
12044 (sbcl-package->ecl-package sbcl-kebab))
12045
12046 (define-public sbcl-datafly
12047 (let ((commit "adece27fcbc4b5ea39ad1a105048b6b7166e3b0d")
12048 (revision "1"))
12049 (package
12050 (name "sbcl-datafly")
12051 (version (git-version "0.1" revision commit))
12052 (home-page "https://github.com/fukamachi/datafly")
12053 (source
12054 (origin
12055 (method git-fetch)
12056 (uri (git-reference
12057 (url home-page)
12058 (commit commit)))
12059 (file-name (git-file-name name version))
12060 (sha256
12061 (base32 "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv"))))
12062 (build-system asdf-build-system/sbcl)
12063 (inputs
12064 `(("alexandria" ,sbcl-alexandria)
12065 ("iterate" ,sbcl-iterate)
12066 ("optima" ,sbcl-optima)
12067 ("trivial-types" ,sbcl-trivial-types)
12068 ("closer-mop" ,sbcl-closer-mop)
12069 ("cl-syntax" ,sbcl-cl-syntax)
12070 ("sxql" ,sbcl-sxql)
12071 ("dbi" ,sbcl-dbi)
12072 ("babel" ,sbcl-babel)
12073 ("local-time" ,sbcl-local-time)
12074 ("function-cache" ,sbcl-function-cache)
12075 ("jonathan" ,sbcl-jonathan)
12076 ("kebab" ,sbcl-kebab)
12077 ("log4cl" ,sbcl-log4cl)))
12078 (native-inputs
12079 `(("prove" ,sbcl-prove)))
12080 (arguments
12081 ;; TODO: Tests fail with
12082 ;; While evaluating the form starting at line 22, column 0
12083 ;; of #P"/tmp/guix-build-sbcl-datafly-0.1-1.adece27.drv-0/source/t/datafly.lisp":
12084 ;; Unhandled SQLITE:SQLITE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
12085 ;; {10009F8083}>:
12086 ;; Error when binding parameter 1 to value NIL.
12087 ;; Code RANGE: column index out of range.
12088 `(#:tests? #f))
12089 (synopsis "Lightweight database library for Common Lisp")
12090 (description "Datafly is a lightweight database library for Common Lisp.")
12091 (license license:bsd-3))))
12092
12093 (define-public cl-datafly
12094 (sbcl-package->cl-source-package sbcl-datafly))
12095
12096 (define-public ecl-datafly
12097 (sbcl-package->ecl-package sbcl-datafly))
12098
12099 (define-public sbcl-do-urlencode
12100 (let ((commit "199846441dad5dfac5478b8dee4b4e20d107af6a")
12101 (revision "1"))
12102 (package
12103 (name "sbcl-do-urlencode")
12104 (version (git-version "0.0.0" revision commit))
12105 (home-page "https://github.com/drdo/do-urlencode")
12106 (source
12107 (origin
12108 (method git-fetch)
12109 (uri (git-reference
12110 (url home-page)
12111 (commit commit)))
12112 (file-name (git-file-name name version))
12113 (sha256
12114 (base32 "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"))))
12115 (build-system asdf-build-system/sbcl)
12116 (inputs
12117 `(("alexandria" ,sbcl-alexandria)
12118 ("babel" ,sbcl-babel)))
12119 (synopsis "Percent Encoding (aka URL Encoding) Common Lisp library")
12120 (description "This library provides trivial percent encoding and
12121 decoding functions for URLs.")
12122 (license license:isc))))
12123
12124 (define-public cl-do-urlencode
12125 (sbcl-package->cl-source-package sbcl-do-urlencode))
12126
12127 (define-public ecl-do-urlencode
12128 (sbcl-package->ecl-package sbcl-do-urlencode))
12129
12130 (define-public sbcl-cl-emb
12131 (let ((commit "fd8652174d048d4525a81f38cdf42f4fa519f840")
12132 (revision "1"))
12133 (package
12134 (name "sbcl-cl-emb")
12135 (version (git-version "0.4.3" revision commit))
12136 (home-page "https://common-lisp.net/project/cl-emb/")
12137 (source
12138 (origin
12139 (method git-fetch)
12140 (uri (git-reference
12141 (url "https://github.com/38a938c2/cl-emb")
12142 (commit commit)))
12143 (file-name (git-file-name name version))
12144 (sha256
12145 (base32 "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"))))
12146 (build-system asdf-build-system/sbcl)
12147 (inputs
12148 `(("cl-ppcre" ,sbcl-cl-ppcre)))
12149 (synopsis "Templating system for Common Lisp")
12150 (description "A mixture of features from eRuby and HTML::Template. You
12151 could name it \"Yet Another LSP\" (LispServer Pages) but it's a bit more than
12152 that and not limited to a certain server or text format.")
12153 (license license:llgpl))))
12154
12155 (define-public cl-emb
12156 (sbcl-package->cl-source-package sbcl-cl-emb))
12157
12158 (define-public ecl-cl-emb
12159 (sbcl-package->ecl-package sbcl-cl-emb))
12160
12161 (define-public sbcl-cl-project
12162 (let ((commit "151107014e534fc4666222d57fec2cc8549c8814")
12163 (revision "1"))
12164 (package
12165 (name "sbcl-cl-project")
12166 (version (git-version "0.3.1" revision commit))
12167 (home-page "https://github.com/fukamachi/cl-project")
12168 (source
12169 (origin
12170 (method git-fetch)
12171 (uri (git-reference
12172 (url home-page)
12173 (commit commit)))
12174 (file-name (git-file-name name version))
12175 (sha256
12176 (base32 "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y"))))
12177 (build-system asdf-build-system/sbcl)
12178 (inputs
12179 `(("cl-emb" ,sbcl-cl-emb)
12180 ("cl-ppcre" ,sbcl-cl-ppcre)
12181 ("local-time" ,sbcl-local-time)
12182 ("prove" ,sbcl-prove)))
12183 (arguments
12184 ;; Tests depend on caveman, which in turns depends on cl-project.
12185 '(#:tests? #f
12186 #:asd-files '("cl-project.asd")))
12187 (synopsis "Generate a skeleton for modern Common Lisp projects")
12188 (description "This library provides a modern project skeleton generator.
12189 In contract with other generators, CL-Project generates one package per file
12190 and encourages unit testing by generating a system for unit testing, so you
12191 can begin writing unit tests as soon as the project is generated.")
12192 (license license:llgpl))))
12193
12194 (define-public cl-project
12195 (sbcl-package->cl-source-package sbcl-cl-project))
12196
12197 (define-public ecl-cl-project
12198 (sbcl-package->ecl-package sbcl-cl-project))
12199
12200 (define-public sbcl-caveman
12201 (let ((commit "faa5f7e3b364fd7e7096af9a7bb06728b8d80441") ; No release since 2012
12202 (revision "1"))
12203 (package
12204 (name "sbcl-caveman")
12205 (version (git-version "2.4.0" revision commit))
12206 (home-page "http://8arrow.org/caveman/")
12207 (source
12208 (origin
12209 (method git-fetch)
12210 (uri (git-reference
12211 (url "https://github.com/fukamachi/caveman/")
12212 (commit commit)))
12213 (file-name (git-file-name name version))
12214 (sha256
12215 (base32 "0kh0gx05pczk8f7r9qdi4zn1p3d0a2prps27k7jpgvc1dxkl8qhq"))))
12216 (build-system asdf-build-system/sbcl)
12217 (inputs
12218 `(("ningle" ,cl-ningle)
12219 ("lack" ,sbcl-lack)
12220 ("cl-project" ,sbcl-cl-project)
12221 ("dbi" ,sbcl-dbi)
12222 ("cl-syntax" ,sbcl-cl-syntax)
12223 ("myway" ,sbcl-myway)
12224 ("quri" ,sbcl-quri)))
12225 (native-inputs
12226 `(("usocket" ,sbcl-usocket)
12227 ("dexador" ,sbcl-dexador)))
12228 (arguments
12229 `(#:asd-files '("caveman2.asd")
12230 #:asd-systems '("caveman2")
12231 #:phases
12232 (modify-phases %standard-phases
12233 (add-after 'unpack 'remove-v1
12234 (lambda _
12235 (delete-file-recursively "v1")
12236 (for-each delete-file
12237 '("README.v1.markdown" "caveman.asd" "caveman-test.asd")))))
12238 ;; TODO: Tests fail with:
12239 ;; writing /gnu/store/...-sbcl-caveman-2.4.0-1.faa5f7e/share/common-lisp/sbcl-source/caveman2/v2/t/tmp/myapp573/tests/myapp573.lisp
12240 ;; While evaluating the form starting at line 38, column 0
12241 ;; of #P"/tmp/guix-build-sbcl-caveman-2.4.0-1.faa5f7e.drv-0/source/v2/t/caveman.lisp":
12242 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD "main thread" RUNNING
12243 ;; {10009F8083}>:
12244 ;; Component "myapp573" not found
12245 #:tests? #f))
12246 (synopsis "Lightweight web application framework in Common Lisp")
12247 (description "Caveman is intended to be a collection of common parts for
12248 web applications. Caveman2 has three design goals:
12249
12250 @itemize
12251 @item Be extensible.
12252 @item Be practical.
12253 @item Don't force anything.
12254 @end itemize\n")
12255 (license license:llgpl))))
12256
12257 (define-public cl-caveman
12258 (package
12259 (inherit
12260 (sbcl-package->cl-source-package sbcl-caveman))
12261 (propagated-inputs
12262 `(("ningle" ,cl-ningle)))))
12263
12264 (define-public ecl-caveman
12265 (sbcl-package->ecl-package sbcl-caveman))
12266
12267 (define-public sbcl-lambda-fiddle
12268 (let ((commit "d16bba55acf6065b412f64ab8fdff679a4a32b1e") ;; no tagged branch
12269 (revision "1"))
12270 (package
12271 (name "sbcl-lambda-fiddle")
12272 (version (git-version "1.0.0" revision commit))
12273 (source
12274 (origin
12275 (method git-fetch)
12276 (uri (git-reference
12277 (url "https://github.com/Shinmera/lambda-fiddle")
12278 (commit commit)))
12279 (file-name (git-file-name name version))
12280 (sha256
12281 (base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand"))))
12282 (build-system asdf-build-system/sbcl)
12283 (home-page "https://github.com/Shinmera/lambda-fiddle")
12284 (synopsis "Collection of utilities to process lambda-lists")
12285 (description "This collection of utilities is useful in contexts where
12286 you want a macro that uses lambda-lists in some fashion but need more precise
12287 processing.")
12288 (license license:zlib))))
12289
12290 (define-public cl-lambda-fiddle
12291 (sbcl-package->cl-source-package sbcl-lambda-fiddle))
12292
12293 (define-public ecl-lambda-fiddle
12294 (sbcl-package->ecl-package sbcl-lambda-fiddle))
12295
12296 (define-public sbcl-xmls
12297 (let ((commit "18546f0850b1338e03997ffd1696add1cb1800d1") ;; no tagged branch
12298 (revision "1"))
12299 (package
12300 (name "sbcl-xmls")
12301 (version (git-version "3.0.2" revision commit))
12302 (source
12303 (origin
12304 (method git-fetch)
12305 (uri (git-reference
12306 (url "https://github.com/rpgoldman/xmls")
12307 (commit commit)))
12308 (file-name (git-file-name name version))
12309 (sha256
12310 (base32 "1lmvfml2ldbb1wkhm25jqqk2bhwsz52hhcgljbnzj1xr8xhc3anp"))))
12311 (native-inputs
12312 `(("fiveam" ,sbcl-fiveam)))
12313 (build-system asdf-build-system/sbcl)
12314 (home-page "https://github.com/rpgoldman/xmls")
12315 (synopsis "Non-validating XML parser for Common Lisp")
12316 (description "Xmls is a self-contained, easily embedded parser that
12317 recognizes a useful subset of the XML spec. It provides a simple mapping from
12318 XML to Lisp structures or s-expressions and back.")
12319 (license license:bsd-2))))
12320
12321 (define-public cl-xmls
12322 (sbcl-package->cl-source-package sbcl-xmls))
12323
12324 (define-public ecl-xmls
12325 (sbcl-package->ecl-package sbcl-xmls))
12326
12327 (define-public sbcl-geco
12328 (package
12329 (name "sbcl-geco")
12330 (version "2.1.1")
12331 (source
12332 (origin
12333 (method git-fetch)
12334 (uri (git-reference
12335 (url "https://github.com/gpwwjr/GECO")
12336 (commit (string-append "v" version))))
12337 (file-name (git-file-name "geco" version))
12338 (sha256
12339 (base32 "1rc8a4mk40hjx5qy980hjylv6xxqdbq38hg8c4w30y93abfd519s"))))
12340 (build-system asdf-build-system/sbcl)
12341 (home-page "http://hiwaay.net/~gpw/geco/geco.html")
12342 (synopsis "Genetic algorithm toolkit for Common Lisp")
12343 (description
12344 "GECO (Genetic Evolution through Combination of Objects) is an extensible,
12345 object-oriented framework for prototyping genetic algorithms in Common Lisp.")
12346 (license license:lgpl2.1+)))
12347
12348 (define-public cl-geco
12349 (sbcl-package->cl-source-package sbcl-geco))
12350
12351 (define-public ecl-geco
12352 (sbcl-package->ecl-package sbcl-geco))
12353
12354 (define-public sbcl-html-entities
12355 (let ((commit "4af018048e891f41d77e7d680ed3aeb639e1eedb"))
12356 (package
12357 (name "sbcl-html-entities")
12358 (version (git-version "0.02" "1" commit))
12359 (source
12360 (origin
12361 (method git-fetch)
12362 (uri (git-reference
12363 (url "https://github.com/BnMcGn/html-entities/")
12364 (commit commit)))
12365 (file-name (git-file-name name version))
12366 (sha256
12367 (base32 "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"))))
12368 (build-system asdf-build-system/sbcl)
12369 (inputs
12370 `(("ppcre" ,sbcl-cl-ppcre)))
12371 (native-inputs
12372 `(("fiveam" ,sbcl-fiveam)))
12373 (home-page "https://github.com/BnMcGn/html-entities/")
12374 (synopsis "Encode and decode entities in HTML with Common Lisp")
12375 (description "Html-entities is a Common Lisp library that lets you
12376 encode and decode entities in HTML.")
12377 (license license:expat))))
12378
12379 (define-public cl-html-entities
12380 (sbcl-package->cl-source-package sbcl-html-entities))
12381
12382 (define-public ecl-html-entities
12383 (sbcl-package->ecl-package sbcl-html-entities))
12384
12385 (define-public sbcl-quicksearch
12386 (let ((commit "fb02ecf7c876ec580ab18c7d2c8c7814c06af599"))
12387 (package
12388 (name "sbcl-quicksearch")
12389 (version (git-version "0.01.04" "1" commit))
12390 (source
12391 (origin
12392 (method git-fetch)
12393 (uri (git-reference
12394 (url "https://github.com/tkych/quicksearch/")
12395 (commit commit)))
12396 (file-name (git-file-name name version))
12397 (sha256
12398 (base32 "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps"))))
12399 (build-system asdf-build-system/sbcl)
12400 (inputs
12401 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12402 ("iterate" ,sbcl-iterate)
12403 ("alexandria" ,sbcl-alexandria)
12404 ("anaphora" ,sbcl-anaphora)
12405 ("ppcre" ,sbcl-cl-ppcre)
12406 ("drakma" ,sbcl-drakma)
12407 ("html-entities" ,sbcl-html-entities)
12408 ("yason" ,sbcl-yason)
12409 ("flexi-streams" ,sbcl-flexi-streams)
12410 ("do-urlencode" ,sbcl-do-urlencode)))
12411 (home-page "https://github.com/tkych/quicksearch/")
12412 (synopsis "Search Engine Interface for Common Lisp packages")
12413 (description "Quicksearch is a search-engine-interface for Common Lisp.
12414 The goal of Quicksearch is to find the Common Lisp library quickly. For
12415 example, if you will find the library about json, just type @code{(qs:?
12416 'json)} at REPL.
12417
12418 The function @code{quicksearch} searches for Common Lisp projects in
12419 Quicklisp, Cliki, GitHub and BitBucket, then outputs results in REPL. The
12420 function @code{?} is abbreviation wrapper for @code{quicksearch}.")
12421 (license license:expat))))
12422
12423 (define-public cl-quicksearch
12424 (sbcl-package->cl-source-package sbcl-quicksearch))
12425
12426 (define-public ecl-quicksearch
12427 (sbcl-package->ecl-package sbcl-quicksearch))
12428
12429 (define-public sbcl-agutil
12430 (let ((commit "df188d754d472da9faa1601a48f1f37bb7b34d68"))
12431 (package
12432 (name "sbcl-agutil")
12433 (version (git-version "0.0.1" "1" commit))
12434 (source
12435 (origin
12436 (method git-fetch)
12437 (uri (git-reference
12438 (url "https://github.com/alex-gutev/agutil/")
12439 (commit commit)))
12440 (file-name (git-file-name name version))
12441 (sha256
12442 (base32 "1xpnyzksk2xld64b6lw6rw0gn5zxlb77jwna59sd4yl7kxhxlfpf"))))
12443 (build-system asdf-build-system/sbcl)
12444 (inputs
12445 `(("alexandria" ,sbcl-alexandria)
12446 ("trivia" ,sbcl-trivia)))
12447 (home-page "https://github.com/alex-gutev/agutil/")
12448 (synopsis "Collection of Common Lisp utilities")
12449 (description "A collection of Common Lisp utility functions and macros
12450 mostly not found in other utility packages.")
12451 (license license:expat))))
12452
12453 (define-public cl-agutil
12454 (sbcl-package->cl-source-package sbcl-agutil))
12455
12456 (define-public ecl-agutil
12457 (sbcl-package->ecl-package sbcl-agutil))
12458
12459 (define-public sbcl-custom-hash-table
12460 (let ((commit "f26983133940f5edf826ebbc8077acc04816ddfa"))
12461 (package
12462 (name "sbcl-custom-hash-table")
12463 (version (git-version "0.3" "1" commit))
12464 (source
12465 (origin
12466 (method git-fetch)
12467 (uri (git-reference
12468 (url "https://github.com/metawilm/cl-custom-hash-table")
12469 (commit commit)))
12470 (file-name (git-file-name name version))
12471 (sha256
12472 (base32 "1k4mvrpbqqds2fwjxp1bxmrfmr8ch4dkwhnkbw559knbqshvrlj5"))))
12473 (build-system asdf-build-system/sbcl)
12474 (arguments
12475 '(#:asd-files '("cl-custom-hash-table.asd")
12476 #:asd-systems '("cl-custom-hash-table")))
12477 (home-page "https://github.com/metawilm/cl-custom-hash-table")
12478 (synopsis "Custom hash tables for Common Lisp")
12479 (description "This library allows creation of hash tables with arbitrary
12480 @code{test}/@code{hash} functions, in addition to the @code{test} functions
12481 allowed by the standard (@code{EQ}, @code{EQL}, @code{EQUAL} and
12482 @code{EQUALP}), even in implementations that don't support this functionality
12483 directly.")
12484 (license license:expat))))
12485
12486 (define-public cl-custom-hash-table
12487 (sbcl-package->cl-source-package sbcl-custom-hash-table))
12488
12489 (define-public ecl-custom-hash-table
12490 (sbcl-package->ecl-package sbcl-custom-hash-table))
12491
12492 (define-public sbcl-collectors
12493 (let ((commit "13acef25d8422d1d82e067b1861e513587c166ee"))
12494 (package
12495 (name "sbcl-collectors")
12496 (version (git-version "0.1" "1" commit))
12497 (source
12498 (origin
12499 (method git-fetch)
12500 (uri (git-reference
12501 (url "https://github.com/AccelerationNet/collectors")
12502 (commit commit)))
12503 (file-name (git-file-name name version))
12504 (sha256
12505 (base32 "1si68n1j6rpns8jw6ksqjpb937pdl30v7xza8rld7j5vh0jhy2yi"))))
12506 (build-system asdf-build-system/sbcl)
12507 (inputs
12508 `(("alexandria" ,sbcl-alexandria)
12509 ("closer-mop" ,sbcl-closer-mop)
12510 ("symbol-munger" ,sbcl-symbol-munger)))
12511 (native-inputs
12512 `(("lisp-unit2" ,sbcl-lisp-unit2)))
12513 (home-page "https://github.com/AccelerationNet/collectors/")
12514 (synopsis "Common lisp library providing collector macros")
12515 (description "A small collection of common lisp macros to make
12516 collecting values easier.")
12517 (license license:bsd-3))))
12518
12519 (define-public cl-collectors
12520 (sbcl-package->cl-source-package sbcl-collectors))
12521
12522 (define-public ecl-collectors
12523 (sbcl-package->ecl-package sbcl-collectors))
12524
12525 (define-public sbcl-cl-environments
12526 (let ((commit "0b22154c5afefef23d1eba9a4fae11d73580ef41")) ; No version in 2 years.
12527 (package
12528 (name "sbcl-cl-environments")
12529 (version (git-version "0.2.3" "1" commit))
12530 (source
12531 (origin
12532 (method git-fetch)
12533 (uri (git-reference
12534 (url "https://github.com/alex-gutev/cl-environments")
12535 (commit commit)))
12536 (file-name (git-file-name name version))
12537 (sha256
12538 (base32
12539 "18r3wfarr7lgn78m6c66r0r9aazirv07gy7xgvqkl9pmrz1bc47m"))))
12540 (build-system asdf-build-system/sbcl)
12541 (inputs
12542 `(("alexandria" ,sbcl-alexandria)
12543 ("anaphora" ,sbcl-anaphora)
12544 ("collectors" ,sbcl-collectors)
12545 ("optima" ,sbcl-optima)))
12546 (native-inputs
12547 `(("prove" ,sbcl-prove)))
12548 (home-page "https://github.com/alex-gutev/cl-environments")
12549 (synopsis "Implements the Common Lisp standard environment access API")
12550 (description "This library provides a uniform API, as specified in Common
12551 Lisp the Language 2, for accessing information about variable and function
12552 bindings from implementation-defined lexical environment objects. All major
12553 Common Lisp implementations are supported, even those which don't support the
12554 CLTL2 environment access API.")
12555 (license license:expat))))
12556
12557 (define-public cl-environments
12558 (sbcl-package->cl-source-package sbcl-cl-environments))
12559
12560 (define-public ecl-environments
12561 (sbcl-package->ecl-package sbcl-cl-environments))
12562
12563 (define-public sbcl-static-dispatch
12564 (let ((commit "6243afcd152854c52ba33daef7394367b657d9c6")
12565 (revision "1"))
12566 (package
12567 (name "sbcl-static-dispatch")
12568 (version (git-version "0.3" revision commit))
12569 (source
12570 (origin
12571 (method git-fetch)
12572 (uri (git-reference
12573 (url "https://github.com/alex-gutev/static-dispatch")
12574 (commit commit)))
12575 (file-name (git-file-name "static-dispatch" version))
12576 (sha256
12577 (base32 "1lli9ar1xbnhkgb5d01rlw4pvfylg2arrw68np2c07fpkkafimg7"))))
12578 (build-system asdf-build-system/sbcl)
12579 (native-inputs
12580 `(("prove" ,sbcl-prove)))
12581 (inputs
12582 `(("agutil" ,sbcl-agutil)
12583 ("alexandria" ,sbcl-alexandria)
12584 ("anaphora" ,sbcl-anaphora)
12585 ("arrows" ,sbcl-arrows)
12586 ("cl-environments" ,sbcl-cl-environments)
12587 ("closer-mop" ,sbcl-closer-mop)
12588 ("iterate" ,sbcl-iterate)
12589 ("trivia" ,sbcl-trivia)))
12590 (home-page "https://github.com/alex-gutev/static-dispatch")
12591 (synopsis "Static generic function dispatch for Common Lisp")
12592 (description "Static dispatch is a Common Lisp library, inspired by
12593 @code{inlined-generic-function}, which allows standard Common Lisp generic
12594 function dispatch to be performed statically (at compile time) rather than
12595 dynamically (runtime). This is similar to what is known as \"overloading\" in
12596 languages such as C++ and Java.
12597
12598 The purpose of static dispatch is to provide an optimization in cases where
12599 the usual dynamic dispatch is too slow, and the dynamic features of generic
12600 functions, such as adding/removing methods at runtime are not required. An
12601 example of such a case is a generic equality comparison function. Currently
12602 generic functions are considered far too slow to implement generic arithmetic
12603 and comparison operations when used heavily in numeric code.")
12604 (license license:expat))))
12605
12606 (define-public cl-static-dispatch
12607 (sbcl-package->cl-source-package sbcl-static-dispatch))
12608
12609 (define-public ecl-static-dispatch
12610 (sbcl-package->ecl-package sbcl-static-dispatch))
12611
12612 (define-public sbcl-generic-cl
12613 ;; Latest commit includes a necessary fix for our Guix build.
12614 (let ((commit "8e5a81487ee3c13fe5ffdc8bdda161d476639535"))
12615 (package
12616 (name "sbcl-generic-cl")
12617 (version (git-version "0.7.1" "1" commit))
12618 (source
12619 (origin
12620 (method git-fetch)
12621 (uri (git-reference
12622 (url "https://github.com/alex-gutev/generic-cl")
12623 (commit commit)))
12624 (file-name (git-file-name name version))
12625 (sha256
12626 (base32
12627 "11w0g79s4wmc78vmfng437rmsgnp5qn246zcyr540fp5nw0ad6ix"))))
12628 (build-system asdf-build-system/sbcl)
12629 (inputs
12630 `(("agutil" ,sbcl-agutil)
12631 ("alexandria" ,sbcl-alexandria)
12632 ("anaphora" ,sbcl-anaphora)
12633 ("arrows" ,sbcl-arrows)
12634 ("cl-custom-hash-table" ,sbcl-custom-hash-table)
12635 ("static-dispatch" ,sbcl-static-dispatch)
12636 ("trivia" ,sbcl-trivia)))
12637 (native-inputs
12638 `(("prove" ,sbcl-prove)))
12639 (arguments
12640 ;; Tests fail because SBCL head size is not high enough.
12641 ;; https://github.com/alex-gutev/generic-cl/issues/6
12642 `(#:tests? #f))
12643 (home-page "https://alex-gutev.github.io/generic-cl/")
12644 (synopsis "Generic function interface to standard Common Lisp functions")
12645 (description "@code{generic-cl} provides a generic function wrapper over
12646 various functions in the Common Lisp standard, such as equality predicates and
12647 sequence operations. The goal of this wrapper is to provide a standard
12648 interface to common operations, such as testing for the equality of two
12649 objects, which is extensible to user-defined types.")
12650 (license license:expat))))
12651
12652 (define-public cl-generic-cl
12653 (sbcl-package->cl-source-package sbcl-generic-cl))
12654
12655 (define-public ecl-generic-cl
12656 (sbcl-package->ecl-package sbcl-generic-cl))
12657
12658 (define-public sbcl-defpackage-plus
12659 (let ((revision "0")
12660 (commit "5492e27e0bdb7b75fa5177ea4388519dc7a75f11"))
12661 (package
12662 (name "sbcl-defpackage-plus")
12663 (version (git-version "1.0" revision commit))
12664 (source
12665 (origin
12666 (method git-fetch)
12667 (uri (git-reference
12668 (url "https://github.com/rpav/defpackage-plus")
12669 (commit commit)))
12670 (file-name (git-file-name name version))
12671 (sha256
12672 (base32 "0lzljvf343xb6mlh6lni2i27hpm5qd376522mk6hr2pa20vd6rdq"))))
12673 (build-system asdf-build-system/sbcl)
12674 (inputs
12675 `(("alexandria" ,sbcl-alexandria)))
12676 (home-page "https://github.com/rpav/defpackage-plus")
12677 (synopsis "Extensible @code{DEFPACKAGE} variant with version support")
12678 (description
12679 "@code{DEFPACKAGE-PLUS} is an extensible @code{DEFPACKAGE} variant with
12680 predictable cross-platform behavior and some utilities useful for versioning.")
12681 (license license:bsd-2))))
12682
12683 (define-public cl-defpackage-plus
12684 (sbcl-package->cl-source-package sbcl-defpackage-plus))
12685
12686 (define-public ecl-defpackage-plus
12687 (sbcl-package->ecl-package sbcl-defpackage-plus))
12688
12689 (define-public sbcl-deploy
12690 (let ((commit "9b20e64fe924b9e31832304d87a3a72c383dc6d8")
12691 (revision "2"))
12692 (package
12693 (name "sbcl-deploy")
12694 (version (git-version "1.0.0" revision commit))
12695 (source
12696 (origin
12697 (method git-fetch)
12698 (uri (git-reference
12699 (url "https://github.com/Shinmera/deploy")
12700 (commit commit)))
12701 (file-name (git-file-name "deploy" version))
12702 (sha256
12703 (base32 "07pfkibaridihg8lbq2czwa4iqifqk24n6rx7bfnv7i49p1ppja1"))))
12704 (build-system asdf-build-system/sbcl)
12705 (arguments
12706 `(#:test-asd-file "deploy-test.asd"
12707 #:asd-files '("deploy.asd"
12708 "deploy-test.asd")))
12709 (native-inputs
12710 `(("cl-mpg123" ,sbcl-cl-mpg123)
12711 ("cl-out123" ,sbcl-cl-out123)))
12712 (inputs
12713 `(("cffi" ,sbcl-cffi)
12714 ("documentation-utils" ,sbcl-documentation-utils)
12715 ("trivial-features" ,sbcl-trivial-features)))
12716 (home-page "https://shinmera.github.io/deploy/")
12717 (synopsis "Deployment tools for standalone Common Lisp application")
12718 (description
12719 "This is a system to help you easily and quickly deploy standalone
12720 common lisp applications as binaries. Specifically it is geared towards
12721 applications with foreign library dependencies that run some kind of GUI.")
12722 (license license:artistic2.0))))
12723
12724 (define-public cl-deploy
12725 (sbcl-package->cl-source-package sbcl-deploy))
12726
12727 (define-public ecl-deploy
12728 (sbcl-package->ecl-package sbcl-deploy))
12729
12730 (define-public sbcl-deeds
12731 ;; taged branch is outdated
12732 (let ((revision "1")
12733 (commit "f5df54eac79b58a34030e0eb8acf3952c788410d"))
12734 (package
12735 (name "sbcl-deeds")
12736 (version (git-version "1.1.1" revision commit))
12737 (source
12738 (origin
12739 (method git-fetch)
12740 (uri (git-reference
12741 (url "https://github.com/Shinmera/deeds")
12742 (commit commit)))
12743 (file-name (git-file-name name version))
12744 (sha256
12745 (base32 "062cnb2dwli6pw3zvv46jfxyxdzcbzwsck5pa6nw03qf1j1hyg3k"))))
12746 (build-system asdf-build-system/sbcl)
12747 (inputs
12748 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12749 ("closer-mop" ,sbcl-closer-mop)
12750 ("form-fiddle" ,sbcl-form-fiddle)
12751 ("lambda-fiddle" ,sbcl-lambda-fiddle)))
12752 (home-page "https://github.com/Shinmera/deeds")
12753 (synopsis "Extensible Event Delivery System")
12754 (description
12755 "@code{deeds} allows for efficient event delivery to multiple handlers
12756 with a complex event filtering system.")
12757 (license license:zlib))))
12758
12759 (define-public cl-deeds
12760 (sbcl-package->cl-source-package sbcl-deeds))
12761
12762 (define-public ecl-deeds
12763 (sbcl-package->ecl-package sbcl-deeds))
12764
12765 (define-public sbcl-make-hash
12766 ;; no tagged branch
12767 (let ((revision "1")
12768 (commit "ae0909cd8e697520a1085fac6f54ac2b448ebd21"))
12769 (package
12770 (name "sbcl-make-hash")
12771 (version (git-version "1.0.2" revision commit))
12772 (source
12773 (origin
12774 (method git-fetch)
12775 (uri (git-reference
12776 (url "https://github.com/genovese/make-hash")
12777 (commit commit)))
12778 (file-name (git-file-name name version))
12779 (sha256
12780 (base32 "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8"))))
12781 (build-system asdf-build-system/sbcl)
12782 (home-page "https://github.com/genovese/make-hash")
12783 (synopsis "Common Lisp package for flexible hash table creation")
12784 (description
12785 "This is a Common Lisp package for hash table creation with flexible,
12786 extensible initializers.")
12787 (license license:bsd-3))))
12788
12789 (define-public cl-make-hash
12790 (sbcl-package->cl-source-package sbcl-make-hash))
12791
12792 (define-public ecl-make-hash
12793 (sbcl-package->ecl-package sbcl-make-hash))
12794
12795 (define-public sbcl-claw-support
12796 (package
12797 (name "sbcl-claw-support")
12798 (version "1.0.0")
12799 (source
12800 (origin
12801 (method git-fetch)
12802 (uri (git-reference
12803 (url "https://github.com/borodust/claw-support")
12804 (commit "9a15c8bed04585f45e6a461bcda1b475144dbd0b")))
12805 (file-name (git-file-name name version))
12806 (sha256
12807 (base32 "1my2ka7h72ipx5n3b465g6kjkasrhsvhqlijwcg6dhlzs5yygl23"))))
12808 (build-system asdf-build-system/sbcl)
12809 (home-page "https://github.com/borodust/claw-support")
12810 (synopsis "Support routines for claw")
12811 (description
12812 "This package provides support routines for the @code{claw} Common Lisp
12813 package.")
12814 (license license:expat)))
12815
12816 (define-public cl-claw-support
12817 (sbcl-package->cl-source-package sbcl-claw-support))
12818
12819 (define-public ecl-claw-support
12820 (sbcl-package->ecl-package sbcl-claw-support))
12821
12822 (define-public sbcl-claw
12823 (let ((revision "0")
12824 (commit "3cd4a96fca95eb9e8d5d069426694669f81b2250"))
12825 (package
12826 (name "sbcl-claw")
12827 (version (git-version "1.0" revision commit))
12828 (source
12829 (origin
12830 (method git-fetch)
12831 (uri (git-reference
12832 (url "https://github.com/borodust/claw")
12833 (commit commit)))
12834 (file-name (git-file-name "claw" version))
12835 (sha256
12836 (base32 "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d"))))
12837 (build-system asdf-build-system/sbcl)
12838 (inputs
12839 `(("alexandria" ,sbcl-alexandria)
12840 ("cffi" ,sbcl-cffi)
12841 ("cl-json" ,sbcl-cl-json)
12842 ("cl-ppcre" ,sbcl-cl-ppcre)
12843 ("claw-support" ,sbcl-claw-support)
12844 ("local-time" ,sbcl-local-time)
12845 ("trivial-features" ,sbcl-trivial-features)))
12846 (home-page "https://github.com/borodust/claw")
12847 (synopsis "Autowrapper for Common Lisp")
12848 (description
12849 "This is a Common Lisp autowrapping facility for quickly creating clean
12850 and lean bindings to C libraries.")
12851 (license license:bsd-2))))
12852
12853 (define-public cl-claw
12854 (sbcl-package->cl-source-package sbcl-claw))
12855
12856 (define-public ecl-claw
12857 (sbcl-package->ecl-package sbcl-claw))
12858
12859 (define-public sbcl-claw-utils
12860 (let ((revision "0")
12861 (commit "efe25016501973dc369f067a64c7d225802bc56f"))
12862 (package
12863 (name "sbcl-claw-utils")
12864 ;; version is not specified
12865 (version (git-version "0.0.0" revision commit))
12866 (source
12867 (origin
12868 (method git-fetch)
12869 (uri (git-reference
12870 (url "https://github.com/borodust/claw-utils")
12871 (commit commit)))
12872 (file-name (git-file-name "claw-utils" version))
12873 (sha256
12874 (base32 "01df3kyf2qs3czi332dnz2s35x2j0fq46vgmsw7wjrrvnqc22mk5"))))
12875 (build-system asdf-build-system/sbcl)
12876 (inputs
12877 `(("alexandria" ,sbcl-alexandria)
12878 ("cffi" ,sbcl-cffi)
12879 ("claw" ,sbcl-claw)))
12880 (home-page "https://github.com/borodust/claw-utils")
12881 (synopsis "Utilities for easier autowrapping")
12882 (description
12883 "This Common Lisp library contains various handy utilties to help
12884 autowrapping with @code{claw}.")
12885 (license license:expat))))
12886
12887 (define-public cl-claw-utils
12888 (sbcl-package->cl-source-package sbcl-claw-utils))
12889
12890 (define-public ecl-claw-utils
12891 (sbcl-package->ecl-package sbcl-claw-utils))
12892
12893 (define-public sbcl-array-operations
12894 (let ((commit "75cbc3b1adb2e3ce2109489753d0f290b071e81b")
12895 (revision "0"))
12896 (package
12897 (name "sbcl-array-operations")
12898 (version (git-version "0.0.0" revision commit))
12899 (source
12900 (origin
12901 (method git-fetch)
12902 (uri (git-reference
12903 (url "https://github.com/bendudson/array-operations")
12904 (commit commit)))
12905 (file-name (git-file-name "array-operations" version))
12906 (sha256
12907 (base32 "0ip49hhq32w80qsc7jmspyda5r2rsszvw0mk2r3341cld78sz9ya"))))
12908 (build-system asdf-build-system/sbcl)
12909 (native-inputs
12910 `(("alexandria" ,sbcl-alexandria)
12911 ("clunit2" ,sbcl-clunit2)))
12912 (inputs
12913 `(("let-plus" ,sbcl-let-plus)))
12914 (synopsis "Simple array operations library for Common Lisp")
12915 (description
12916 "This library is a collection of functions and macros for manipulating
12917 Common Lisp arrays and performing numerical calculations with them.")
12918 (home-page "https://github.com/bendudson/array-operations")
12919 (license license:expat))))
12920
12921 (define-public cl-array-operations
12922 (sbcl-package->cl-source-package sbcl-array-operations))
12923
12924 (define-public ecl-array-operations
12925 (sbcl-package->ecl-package sbcl-array-operations))
12926
12927 (define-public sbcl-clml
12928 (let ((commit "95505b54c8c7b4b27f500c3be97fa5732f4b51a8")
12929 (revision "0"))
12930 (package
12931 (name "sbcl-clml")
12932 (version (git-version "0.0.0" revision commit))
12933 (source
12934 (origin
12935 (method git-fetch)
12936 (uri (git-reference
12937 (url "https://github.com/mmaul/clml")
12938 (commit commit)))
12939 (file-name (git-file-name "clml" version))
12940 (sha256
12941 (base32 "006pii59nmpc61n7p7h8ha5vjg6x0dya327i58z0rnvxs249h345"))
12942 ;; TODO: Remove this when the patch has been merged upstream.
12943 (patches (search-patches "sbcl-clml-fix-types.patch"))))
12944 (build-system asdf-build-system/sbcl)
12945 (inputs
12946 `(("alexandia" ,sbcl-alexandria)
12947 ("array-operations" ,sbcl-array-operations)
12948 ("cl-fad" ,sbcl-cl-fad)
12949 ("cl-ppcre" ,sbcl-cl-ppcre)
12950 ("drakma" ,sbcl-drakma)
12951 ("introspect-environment" ,sbcl-introspect-environment)
12952 ("iterate" ,sbcl-iterate)
12953 ("lparallel" ,sbcl-lparallel)
12954 ("parse-number" ,sbcl-parse-number)
12955 ("split-sequence" ,sbcl-split-sequence)
12956 ("trivial-garbage" ,sbcl-trivial-garbage)))
12957 (synopsis "Common Lisp machine learning library")
12958 (description
12959 "CLML (Common Lisp Machine Learning) is a high performance and large
12960 scale statistical machine learning package")
12961 (home-page "https://mmaul.github.io/clml/")
12962 (license license:llgpl))))
12963
12964 (define-public cl-clml
12965 (sbcl-package->cl-source-package sbcl-clml))
12966
12967 (define-public sbcl-utm-ups
12968 (let ((commit "780f1d8ab6290ad2be0f40e2cddc2535fa6fe979")
12969 (revision "0"))
12970 (package
12971 (name "sbcl-utm-ups")
12972 (version (git-version "1.0" revision commit))
12973 (source
12974 (origin
12975 (method git-fetch)
12976 (uri (git-reference
12977 (url "https://github.com/glv2/utm-ups")
12978 (commit commit)))
12979 (file-name (git-file-name "utm-ups" version))
12980 (sha256
12981 (base32 "0l3kr2m56skf5cx3kkkdcis7msmidcsixx9fqjapkcjsj8x67aqq"))))
12982 (build-system asdf-build-system/sbcl)
12983 (native-inputs
12984 `(("fiveam" ,sbcl-fiveam)))
12985 (synopsis
12986 "Convert coordinates between latitude/longitude and UTM or UPS")
12987 (description
12988 "This a Common Lisp library to convert geographic coordinates between
12989 latitude/longitude and UTM (Universal Transverse Mercator) or UPS (Universal
12990 Polar Stereographic).")
12991 (home-page "https://github.com/glv2/utm-ups")
12992 (license license:gpl3+))))
12993
12994 (define-public cl-utm-ups
12995 (sbcl-package->cl-source-package sbcl-utm-ups))
12996
12997 (define-public ecl-utm-ups
12998 (sbcl-package->ecl-package sbcl-utm-ups))
12999
13000 (define-public sbcl-mgrs
13001 (let ((commit "00455460407b7e5509d1be3da09bf6152956761f")
13002 (revision "0"))
13003 (package
13004 (name "sbcl-mgrs")
13005 (version (git-version "1.0" revision commit))
13006 (source
13007 (origin
13008 (method git-fetch)
13009 (uri (git-reference
13010 (url "https://github.com/glv2/mgrs")
13011 (commit commit)))
13012 (file-name (git-file-name "mgrs" version))
13013 (sha256
13014 (base32 "0ckvn4hg3wwivzavhfashb6fap4a1q10l8krhbng8bdb54ac10sz"))))
13015 (build-system asdf-build-system/sbcl)
13016 (native-inputs
13017 `(("fiveam" ,sbcl-fiveam)))
13018 (inputs
13019 `(("utm-ups" ,sbcl-utm-ups)))
13020 (synopsis
13021 "Convert coordinates between latitude/longitude and MGRS")
13022 (description
13023 "This a Common Lisp library to convert geographic coordinates between
13024 latitude/longitude and MGRS.")
13025 (home-page "https://github.com/glv2/mgrs")
13026 (license license:gpl3+))))
13027
13028 (define-public cl-mgrs
13029 (sbcl-package->cl-source-package sbcl-mgrs))
13030
13031 (define-public ecl-mgrs
13032 (sbcl-package->ecl-package sbcl-mgrs))
13033
13034 (define-public sbcl-maidenhead
13035 (let ((commit "b756d235c27b5d6798867aa240318af1a8f35d6d")
13036 (revision "0"))
13037 (package
13038 (name "sbcl-maidenhead")
13039 (version (git-version "1.0" revision commit))
13040 (source
13041 (origin
13042 (method git-fetch)
13043 (uri (git-reference
13044 (url "https://github.com/glv2/maidenhead")
13045 (commit commit)))
13046 (file-name (git-file-name "maidenhead" version))
13047 (sha256
13048 (base32 "02p990zprhjvifmsfk8yh3frvz6xyw26ikzxvzglqdixbal36nr3"))))
13049 (build-system asdf-build-system/sbcl)
13050 (native-inputs
13051 `(("fiveam" ,sbcl-fiveam)))
13052 (synopsis
13053 "Convert coordinates between latitude/longitude and Maidenhead")
13054 (description
13055 "This a Common Lisp library to convert geographic coordinates between
13056 latitude/longitude and Maidenhead locator system.")
13057 (home-page "https://github.com/glv2/maidenhead")
13058 (license license:gpl3+))))
13059
13060 (define-public cl-maidenhead
13061 (sbcl-package->cl-source-package sbcl-maidenhead))
13062
13063 (define-public ecl-maidenhead
13064 (sbcl-package->ecl-package sbcl-maidenhead))
13065
13066 (define-public sbcl-olc
13067 (let ((commit "517e27fa57d9a119b00a29c4b6b31e553deff309")
13068 (revision "0"))
13069 (package
13070 (name "sbcl-olc")
13071 (version (git-version "1.0" revision commit))
13072 (source
13073 (origin
13074 (method git-fetch)
13075 (uri (git-reference
13076 (url "https://github.com/glv2/olc")
13077 (commit commit)))
13078 (file-name (git-file-name "olc" version))
13079 (sha256
13080 (base32 "1lnfhp6z6kc8l605zp4siyjiw74y1h4bdq3jfizi084v505wxhgr"))))
13081 (build-system asdf-build-system/sbcl)
13082 (native-inputs
13083 `(("fiveam" ,sbcl-fiveam)))
13084 (synopsis
13085 "Convert coordinates between latitude/longitude and Open Location Code")
13086 (description
13087 "This a Common Lisp library to convert geographic coordinates between
13088 latitude/longitude and Open Location Code.")
13089 (home-page "https://github.com/glv2/olc")
13090 (license license:gpl3+))))
13091
13092 (define-public cl-olc
13093 (sbcl-package->cl-source-package sbcl-olc))
13094
13095 (define-public ecl-olc
13096 (sbcl-package->ecl-package sbcl-olc))
13097
13098 (define-public sbcl-regex
13099 (let ((commit "fbc9a9f313b9edc1788f33d4b23a29151635ae22"))
13100 (package
13101 (name "sbcl-regex")
13102 (version (git-version "1" "1" commit))
13103 (source
13104 (origin
13105 (method git-fetch)
13106 (uri (git-reference
13107 (url "https://github.com/michaelw/regex/")
13108 (commit commit)))
13109 (file-name (git-file-name name version))
13110 (sha256
13111 (base32 "0wq5wlafrxv13wg28hg5b10sc48b88swsvznpy2zg7x37m4nmm6a"))))
13112 (build-system asdf-build-system/sbcl)
13113 (home-page "https://github.com/michaelw/regex/")
13114 (synopsis "Regular expression engine for Common Lisp")
13115 (description
13116 "This Common Lisp package provides a regular expression engine.")
13117 (license license:bsd-2))))
13118
13119 (define-public cl-regex
13120 (sbcl-package->cl-source-package sbcl-regex))
13121
13122 (define-public ecl-regex
13123 (sbcl-package->ecl-package sbcl-regex))
13124
13125 (define-public sbcl-clawk
13126 (let ((commit "3a91634df686417114044a98c063cbe76bfac7b6"))
13127 (package
13128 (name "sbcl-clawk")
13129 (version (git-version "4" "1" commit))
13130 (source
13131 (origin
13132 (method git-fetch)
13133 (uri (git-reference
13134 (url "https://github.com/sharplispers/clawk")
13135 (commit commit)))
13136 (file-name (git-file-name name version))
13137 (sha256
13138 (base32 "1ph3xjqilvinvgr9q3w47zxqyz1sqnq030nlx7kgkkv8j3bnqk7a"))))
13139 (build-system asdf-build-system/sbcl)
13140 (inputs
13141 `(("sbcl-regex" ,sbcl-regex)))
13142 (home-page "https://github.com/sharplispers/clawk")
13143 (synopsis "Common Lisp AWK")
13144 (description
13145 "CLAWK is an AWK implementation embedded into Common Lisp.")
13146 (license license:bsd-2))))
13147
13148 (define-public cl-clawk
13149 (sbcl-package->cl-source-package sbcl-clawk))
13150
13151 (define-public ecl-clawk
13152 (sbcl-package->ecl-package sbcl-clawk))
13153
13154 (define-public sbcl-check-it
13155 (let ((commit "b79c9103665be3976915b56b570038f03486e62f"))
13156 (package
13157 (name "sbcl-check-it")
13158 (version (git-version "0.1.0" "1" commit))
13159 (source
13160 (origin
13161 (method git-fetch)
13162 (uri (git-reference
13163 (url "https://github.com/DalekBaldwin/check-it/")
13164 (commit commit)))
13165 (file-name (git-file-name name version))
13166 (sha256
13167 (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"))))
13168 (build-system asdf-build-system/sbcl)
13169 (inputs
13170 `(("alexandria" ,sbcl-alexandria)
13171 ("closer-mop" ,sbcl-closer-mop)
13172 ("optima" ,sbcl-optima)))
13173 (native-inputs
13174 `(("stefil" ,sbcl-stefil)))
13175 (home-page "https://github.com/arclanguage/Clamp")
13176 (synopsis "Randomized specification-based testing for Common Lisp")
13177 (description
13178 "This is a randomized property-based testing library for Common Lisp.
13179 Rather than being a full-fledged general test framework in its own right, it's
13180 designed to embed randomized tests in whatever framework you like.")
13181 (license license:llgpl))))
13182
13183 (define-public cl-check-it
13184 (sbcl-package->cl-source-package sbcl-check-it))
13185
13186 (define-public ecl-check-it
13187 (sbcl-package->ecl-package sbcl-check-it))
13188
13189 (define-public sbcl-clamp
13190 (let ((commit "02b8f3953e5753cc61a719807c82f3795cd28fe1"))
13191 (package
13192 (name "sbcl-clamp")
13193 (version (git-version "0.3" "1" commit))
13194 (source
13195 (origin
13196 (method git-fetch)
13197 (uri (git-reference
13198 (url "https://github.com/arclanguage/Clamp")
13199 (commit commit)))
13200 (file-name (git-file-name name version))
13201 (sha256
13202 (base32 "0fdr9nqfmmpxm6hvjdxi1jkclya9xlnrw1yc3cn1m4ww3f50p31m"))))
13203 (build-system asdf-build-system/sbcl)
13204 (inputs
13205 `(("iterate" ,sbcl-iterate)
13206 ("cl-syntax" ,sbcl-cl-syntax)))
13207 (native-inputs
13208 `(("cl-unit" ,sbcl-clunit)
13209 ("check-it" ,sbcl-check-it)))
13210 (arguments
13211 `(#:phases
13212 (modify-phases %standard-phases
13213 (add-after 'unpack 'fix-build
13214 (lambda _
13215 (substitute* "clamp.asd"
13216 (("\\(:file \"read\" :depends-on \\(\"aliases\"\\)\\)")
13217 "(:file \"read\" :depends-on (\"aliases\" \"base\"))"))
13218 #t)))))
13219 (home-page "https://github.com/arclanguage/Clamp")
13220 (synopsis "Common Lisp with Arc macros and procedures")
13221 (description
13222 "Clamp is an attempt to bring the powerful, but verbose, language of
13223 Common Lisp up to the terseness of Arc.
13224
13225 There are two parts to Clamp. There is the core of Clamp, which implements
13226 the utilities of Arc that are easily converted from Arc to Common Lisp. The
13227 other part is the \"experimental\" part. It contains features of Arc that are
13228 not so easy to copy (ssyntax, argument destructuring, etc.).")
13229 (license license:artistic2.0))))
13230
13231 (define-public cl-clamp
13232 (sbcl-package->cl-source-package sbcl-clamp))
13233
13234 (define-public ecl-clamp
13235 (sbcl-package->ecl-package sbcl-clamp))
13236
13237 (define-public sbcl-trivial-shell
13238 (let ((commit "e02ec191b34b52deca5d1c4ee99d4fa13b8772e0"))
13239 (package
13240 (name "sbcl-trivial-shell")
13241 (version (git-version "0.2.0" "1" commit))
13242 (source
13243 (origin
13244 (method git-fetch)
13245 (uri (git-reference
13246 (url "https://github.com/gwkkwg/trivial-shell")
13247 (commit commit)))
13248 (file-name (git-file-name name version))
13249 (sha256
13250 (base32 "08mpkl5ij5sjfsyn8pq2kvsvpvyvr7ha1r8g1224fa667b8k2q85"))))
13251 (build-system asdf-build-system/sbcl)
13252 (native-inputs
13253 `(("lift" ,sbcl-lift)))
13254 (home-page "http://common-lisp.net/project/trivial-shell/")
13255 (synopsis "Common Lisp access to the shell")
13256 (description
13257 "A simple Common-Lisp interface to the underlying operating system.
13258 It's independent of the implementation and operating system.")
13259 (license license:expat))))
13260
13261 (define-public cl-trivial-shell
13262 (sbcl-package->cl-source-package sbcl-trivial-shell))
13263
13264 (define-public ecl-trivial-shell
13265 (sbcl-package->ecl-package sbcl-trivial-shell))
13266
13267 (define-public sbcl-clesh
13268 (let ((commit "44e96e04a72e5bc006dc4eb02ce8962348dd4a11"))
13269 (package
13270 (name "sbcl-clesh")
13271 (version (git-version "0.0.0" "1" commit))
13272 (source
13273 (origin
13274 (method git-fetch)
13275 (uri (git-reference
13276 (url "https://github.com/Neronus/Clesh")
13277 (commit commit)))
13278 (file-name (git-file-name name version))
13279 (sha256
13280 (base32 "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318"))))
13281 (build-system asdf-build-system/sbcl)
13282 (inputs
13283 `(("trivial-shell" ,sbcl-trivial-shell)
13284 ("named-readtables" ,sbcl-named-readtables)))
13285 (home-page "https://github.com/Neronus/Clesh")
13286 (synopsis "Embed shell code in Common Lisp")
13287 (description
13288 "This is a very short and simple program, written in Common Lisp, that
13289 extends Common Lisp to embed shell code in a manner similar to Perl's
13290 backtick. It has been forked from SHELISP.")
13291 (license license:bsd-2))))
13292
13293 (define-public cl-clesh
13294 (sbcl-package->cl-source-package sbcl-clesh))
13295
13296 (define-public ecl-clesh
13297 (sbcl-package->ecl-package sbcl-clesh))
13298
13299 (define-public sbcl-trivial-download
13300 (let ((commit "d2472061d86b1cf3d32f388daacd4e32a13af699"))
13301 (package
13302 (name "sbcl-trivial-download")
13303 (version (git-version "0.3" "1" commit))
13304 (source
13305 (origin
13306 (method git-fetch)
13307 (uri (git-reference
13308 (url "https://github.com/eudoxia0/trivial-download/")
13309 (commit commit)))
13310 (file-name (git-file-name name version))
13311 (sha256
13312 (base32 "06f46zr3gp3wlm2kgxna24qd2gpr1v89x9fynh1x5vrw6c6hqjcv"))))
13313 (build-system asdf-build-system/sbcl)
13314 (inputs
13315 `(("drakma" ,sbcl-drakma)))
13316 (home-page "https://github.com/eudoxia0/trivial-download/")
13317 (synopsis "Download files from Common Lisp")
13318 (description
13319 "@code{trivial-download} allows you to download files from the Internet
13320 from Common Lisp. It provides a progress bar.")
13321 (license license:bsd-2))))
13322
13323 (define-public cl-trivial-download
13324 (sbcl-package->cl-source-package sbcl-trivial-download))
13325
13326 (define-public ecl-trivial-download
13327 (sbcl-package->ecl-package sbcl-trivial-download))
13328
13329 (define-public sbcl-gtwiwtg
13330 (package
13331 (name "sbcl-gtwiwtg")
13332 (version "0.1.1")
13333 (source
13334 (origin
13335 (method git-fetch)
13336 (uri (git-reference
13337 (url "https://github.com/cbeo/gtwiwtg/")
13338 (commit version)))
13339 (file-name (git-file-name name version))
13340 (sha256
13341 (base32 "0lkraw0dwh4is4x5sp5rjrw6f93m0gr9849abrbi12s25ws7jbw4"))))
13342 (build-system asdf-build-system/sbcl)
13343 (native-inputs
13344 `(("osicat" ,sbcl-osicat)
13345 ("prove" ,sbcl-prove)))
13346 (home-page "https://github.com/cbeo/gtwiwtg/")
13347 (synopsis "Naive generators for Common Lisp")
13348 (description
13349 "The GTWIWTG library (Generators The Way I Want Them Generated --
13350 technically not generators, but iterators) is meant to be small, explorable,
13351 and understandable.")
13352 (license license:gpl3)))
13353
13354 (define-public cl-gtwiwtg
13355 (sbcl-package->cl-source-package sbcl-gtwiwtg))
13356
13357 (define-public ecl-gtwiwtg
13358 (sbcl-package->ecl-package sbcl-gtwiwtg))
13359
13360 (define-public sbcl-cl-progress-bar
13361 (let ((commit "9374170858663c8fe829e9fb5a29bd2cb48d95ae"))
13362 (package
13363 (name "sbcl-cl-progress-bar")
13364 (version (git-version "0.0.0" "1" commit))
13365 (source
13366 (origin
13367 (method git-fetch)
13368 (uri (git-reference
13369 (url "https://github.com/sirherrbatka/cl-progress-bar/")
13370 (commit commit)))
13371 (file-name (git-file-name name version))
13372 (sha256
13373 (base32 "1ldb4qhmx431n3lsq71ynwb9ybazbfqd55icjbhi06mj52ngndir"))))
13374 (build-system asdf-build-system/sbcl)
13375 (inputs
13376 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13377 ("documentation-utils-extensions" ,sbcl-documentation-utils-extensions)))
13378 (home-page "https://github.com/sirherrbatka/cl-progress-bar/")
13379 (synopsis "Progress bars in Common Lisp")
13380 (description
13381 "This library provides almost the same code as used inside Quicklisp
13382 for drawning progress bars")
13383 (license license:expat))))
13384
13385 (define-public cl-progress-bar
13386 (sbcl-package->cl-source-package sbcl-cl-progress-bar))
13387
13388 (define-public ecl-cl-progress-bar
13389 (sbcl-package->ecl-package sbcl-cl-progress-bar))
13390
13391 (define-public sbcl-repl-utilities
13392 (let ((commit "e0de9c92e774f77cab1a4cd92e2ac922ac3a807e"))
13393 (package
13394 (name "sbcl-repl-utilities")
13395 (version (git-version "0.0.0" "1" commit))
13396 (source
13397 (origin
13398 (method git-fetch)
13399 (uri (git-reference
13400 (url "https://github.com/m-n/repl-utilities/")
13401 (commit commit)))
13402 (file-name (git-file-name name version))
13403 (sha256
13404 (base32 "1r5icmw3ha5y77kvzqni3a9bcd66d9pz5mjsbw04xg3jk0d15cgz"))))
13405 (build-system asdf-build-system/sbcl)
13406 (home-page "https://github.com/m-n/repl-utilities")
13407 (synopsis "Ease common tasks at the Common Lisp REPL")
13408 (description
13409 "@code{repl-utilities} is a set of utilities which ease life at the
13410 REPL. It includes three sorts of features: introspective procedures,
13411 miscellaneous utility functions, and, pulling them together, methods to
13412 conveniently keep these symbols and optionally additional symbols available in
13413 whichever package you switch to.")
13414 (license license:bsd-2))))
13415
13416 (define-public cl-repl-utilities
13417 (sbcl-package->cl-source-package sbcl-repl-utilities))
13418
13419 (define-public ecl-repl-utilities
13420 (sbcl-package->ecl-package sbcl-repl-utilities))
13421
13422 (define-public sbcl-supertrace
13423 (let ((commit "66d22c3ff131ecd1c8048dfced1d62ed6024ecb0"))
13424 (package
13425 (name "sbcl-supertrace")
13426 (version (git-version "0.1.0" "1" commit))
13427 (source
13428 (origin
13429 (method git-fetch)
13430 (uri (git-reference
13431 (url "https://github.com/fukamachi/supertrace")
13432 (commit commit)))
13433 (file-name (git-file-name name version))
13434 (sha256
13435 (base32 "0n369n6b7y1m49biccnnr7svymjdsk8sksrkqrn3mj21vgv7s7bg"))))
13436 (build-system asdf-build-system/sbcl)
13437 (native-inputs
13438 `(("cffi-grovel" ,sbcl-cffi)
13439 ("rove" ,sbcl-rove)
13440 ("cl-ppcre" ,sbcl-cl-ppcre)
13441 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
13442 (inputs
13443 `(("cffi" ,sbcl-cffi)))
13444 (home-page "https://github.com/fukamachi/supertrace")
13445 (synopsis "Improved Common Lisp tracing for debugging and profiling")
13446 (description
13447 "Supertrace provides a superior Common Lisp @code{trace} functionality
13448 for debugging and profiling real world applications.")
13449 (license license:bsd-2))))
13450
13451 (define-public cl-supertrace
13452 (sbcl-package->cl-source-package sbcl-supertrace))
13453
13454 (define-public ecl-supertrace
13455 (sbcl-package->ecl-package sbcl-supertrace))
13456
13457 (define-public sbcl-trivial-benchmark
13458 (let ((commit "42d76733dd2e873471c6f1e27d39113293f7dd5c"))
13459 (package
13460 (name "sbcl-trivial-benchmark")
13461 (version (git-version "2.0.0" "1" commit))
13462 (source
13463 (origin
13464 (method git-fetch)
13465 (uri (git-reference
13466 (url "https://github.com/Shinmera/trivial-benchmark/")
13467 (commit commit)))
13468 (file-name (git-file-name name version))
13469 (sha256
13470 (base32 "0fbzqbpm2ixz85555krl36kbbbjyn699vdj6k383khi3g9y629fa"))))
13471 (build-system asdf-build-system/sbcl)
13472 (inputs
13473 `(("alexandria" ,sbcl-alexandria)))
13474 (home-page "http://shinmera.github.io/trivial-benchmark/")
13475 (synopsis "Easy to use benchmarking system for Common Lisp")
13476 (description
13477 "Trivial-Benchmark runs a block of code many times and outputs some
13478 statistical data for it. On SBCL this includes the data from @code{time}, for
13479 all other implementations just the @code{real-time} and @code{run-time} data.
13480 However, you can extend the system by adding your own @code{metrics} to it, or
13481 even by adding additional statistical @code{compute}ations. ")
13482 (license license:zlib))))
13483
13484 (define-public cl-trivial-benchmark
13485 (sbcl-package->cl-source-package sbcl-trivial-benchmark))
13486
13487 (define-public ecl-trivial-benchmark
13488 (sbcl-package->ecl-package sbcl-trivial-benchmark))
13489
13490 (define-public sbcl-glyphs
13491 (let ((commit "1ff5714e8c1dca327bc604dfe3e3d1f4b7755373"))
13492 (package
13493 (name "sbcl-glyphs")
13494 (version (git-version "0.0.0" "1" commit))
13495 (source
13496 (origin
13497 (method git-fetch)
13498 (uri (git-reference
13499 (url "https://github.com/ahungry/glyphs/")
13500 (commit commit)))
13501 (file-name (git-file-name name version))
13502 (sha256
13503 (base32 "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf"))))
13504 (build-system asdf-build-system/sbcl)
13505 (inputs
13506 `(("cl-ppcre" ,sbcl-cl-ppcre)
13507 ("parenscript" ,sbcl-parenscript)
13508 ("named-readtables" ,sbcl-named-readtables)))
13509 (home-page "https://github.com/ahungry/glyphs/")
13510 (synopsis "Reduce Common Lisp verbosity")
13511 (description
13512 "This library is a little experiment in reducing verbosity in Common
13513 Lisp, inspired by BODOL (@url{https://github.com/bodil/BODOL}).")
13514 (license license:gpl3))))
13515
13516 (define-public cl-glyphs
13517 (sbcl-package->cl-source-package sbcl-glyphs))
13518
13519 (define-public ecl-glyphs
13520 (sbcl-package->ecl-package sbcl-glyphs))
13521
13522 (define-public sbcl-zs3
13523 (package
13524 (name "sbcl-zs3")
13525 (version "1.3.3")
13526 (source
13527 (origin
13528 (method git-fetch)
13529 (uri
13530 (git-reference
13531 (url "https://github.com/xach/zs3")
13532 (commit (string-append "release-" version))))
13533 (file-name (git-file-name "zs3" version))
13534 (sha256
13535 (base32 "186v95wgsj2hkxdw2jl9x1w4fddjclp7arp0rrd9vf5ly8h8sbf3"))))
13536 (build-system asdf-build-system/sbcl)
13537 (inputs
13538 `(("drakma" ,sbcl-drakma)
13539 ("alexandria" ,sbcl-alexandria)
13540 ("cxml" ,sbcl-cxml)
13541 ("ironclad" ,sbcl-ironclad)
13542 ("puri" ,sbcl-puri)
13543 ("cl-base64" ,sbcl-cl-base64)))
13544 (synopsis "Work with Amazon S3 and Amazon CloudFront from Common Lisp")
13545 (description "This is ZS3, a library for working with Amazon's Simple Storage
13546 Service (S3) and CloudFront service from Common Lisp.")
13547 (home-page "https://github.com/xach/zs3")
13548 (license license:bsd-2)))
13549
13550 (define-public cl-zs3
13551 (sbcl-package->cl-source-package sbcl-zs3))
13552
13553 (define-public ecl-zs3
13554 (sbcl-package->ecl-package sbcl-zs3))
13555
13556 (define-public sbcl-simple-neural-network
13557 (package
13558 (name "sbcl-simple-neural-network")
13559 (version "3.1")
13560 (source
13561 (origin
13562 (method git-fetch)
13563 (uri (git-reference
13564 (url "https://github.com/glv2/simple-neural-network")
13565 (commit (string-append "v" version))))
13566 (file-name (git-file-name "simple-neural-network" version))
13567 (sha256
13568 (base32 "1jj1c90fr5clwka0jv32hv6xp1bkdlpa6x5jh19an13rhx8ll4zr"))))
13569 (build-system asdf-build-system/sbcl)
13570 (native-inputs
13571 `(("chipz" ,sbcl-chipz)
13572 ("fiveam" ,sbcl-fiveam)))
13573 (inputs
13574 `(("cl-store" ,sbcl-cl-store)
13575 ("lparallel" ,sbcl-lparallel)))
13576 (arguments
13577 `(#:phases
13578 (modify-phases %standard-phases
13579 (add-after 'check 'remove-test-data
13580 (lambda* (#:key outputs #:allow-other-keys)
13581 (let ((out (assoc-ref outputs "out")))
13582 (for-each delete-file (find-files out "\\.gz$"))))))))
13583 (synopsis "Simple neural network in Common Lisp")
13584 (description
13585 "@code{simple-neural-network} is a Common Lisp library for creating,
13586 training and using basic neural networks. The networks created by this
13587 library are feedforward neural networks trained using backpropagation.")
13588 (home-page "https://github.com/glv2/simple-neural-network")
13589 (license license:gpl3+)))
13590
13591 (define-public cl-simple-neural-network
13592 (sbcl-package->cl-source-package sbcl-simple-neural-network))
13593
13594 (define-public ecl-simple-neural-network
13595 (sbcl-package->ecl-package sbcl-simple-neural-network))
13596
13597 (define-public sbcl-zstd
13598 (let ((commit "d144582c581aaa52bac24d6686af27fa3e781e06")
13599 (revision "1"))
13600 (package
13601 (name "sbcl-zstd")
13602 (version (git-version "1.0" revision commit))
13603 (source
13604 (origin
13605 (method git-fetch)
13606 (uri (git-reference
13607 (url "https://github.com/glv2/cl-zstd")
13608 (commit commit)))
13609 (file-name (git-file-name "cl-zstd" version))
13610 (sha256
13611 (base32 "1774jy8hzbi6nih3sq6vchk66f7g8w86dwgpbvljyfzcnkcaz6ql"))))
13612 (build-system asdf-build-system/sbcl)
13613 (native-inputs
13614 `(("fiveam" ,sbcl-fiveam)))
13615 (inputs
13616 `(("cffi" ,sbcl-cffi)
13617 ("cl-octet-streams" ,sbcl-cl-octet-streams)
13618 ("zstd-lib" ,zstd "lib")))
13619 (arguments
13620 '(#:phases
13621 (modify-phases %standard-phases
13622 (add-after 'unpack 'fix-paths
13623 (lambda* (#:key inputs #:allow-other-keys)
13624 (substitute* "src/libzstd.lisp"
13625 (("libzstd\\.so")
13626 (string-append (assoc-ref inputs "zstd-lib")
13627 "/lib/libzstd.so")))
13628 #t)))))
13629 (synopsis "Common Lisp library for Zstandard (de)compression")
13630 (description
13631 "This Common Lisp library provides functions for Zstandard
13632 compression/decompression using bindings to the libzstd C library.")
13633 (home-page "https://github.com/glv2/cl-zstd")
13634 (license license:gpl3+))))
13635
13636 (define-public cl-zstd
13637 (sbcl-package->cl-source-package sbcl-zstd))
13638
13639 (define-public ecl-zstd
13640 (sbcl-package->ecl-package sbcl-zstd))
13641
13642 (define-public sbcl-agnostic-lizard
13643 (let ((commit "fe3a73719f05901c8819f8995a3ebae738257952")
13644 (revision "1"))
13645 (package
13646 (name "sbcl-agnostic-lizard")
13647 (version (git-version "0.0.0" revision commit))
13648 (source
13649 (origin
13650 (method git-fetch)
13651 (uri (git-reference
13652 (url "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
13653 (commit commit)))
13654 (file-name (git-file-name name version))
13655 (sha256
13656 (base32 "0ax78y8w4zlp5dcwyhz2nq7j3shi49qn31dkfg8lv2jlg7mkwh2d"))))
13657 (build-system asdf-build-system/sbcl)
13658 (synopsis "Almost correct portable code walker for Common Lisp")
13659 (description
13660 "Agnostic Lizard is a portable implementation of a code walker and in
13661 particular of the macroexpand-all function (and macro) that makes a best
13662 effort to be correct while not expecting much beyond what the Common Lisp
13663 standard requires.
13664
13665 It aims to be implementation-agnostic and to climb the syntax trees.")
13666 (home-page "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
13667 (license license:gpl3+))))
13668
13669 (define-public cl-agnostic-lizard
13670 (sbcl-package->cl-source-package sbcl-agnostic-lizard))
13671
13672 (define-public ecl-agnostic-lizard
13673 (sbcl-package->ecl-package sbcl-agnostic-lizard))
13674
13675 (define-public sbcl-dynamic-classes
13676 (package
13677 (name "sbcl-dynamic-classes")
13678 (version "1.0.2")
13679 (source
13680 (origin
13681 (method git-fetch)
13682 (uri (git-reference
13683 (url "https://github.com/gwkkwg/dynamic-classes")
13684 (commit (string-append "version-" version))))
13685 (file-name (git-file-name "dynamic-classes" version))
13686 (sha256
13687 (base32 "1z3ag6w4ff0v6715xa9zhvwjqnp4i6zrjfmxdz8m115sklbwgm6c"))))
13688 (build-system asdf-build-system/sbcl)
13689 (inputs
13690 `(("metatilities-base" ,sbcl-metatilities-base)))
13691 (arguments
13692 ;; NOTE: (Sharlatan-20210106222900+0000) Circular dependencies and failing
13693 ;; test suites. lift-standard.config contains referances to deprecated
13694 ;; functionality.
13695 `(#:tests? #f))
13696 (home-page "https://common-lisp.net/project/dynamic-classes/")
13697 (synopsis "Dynamic class definition for Common Lisp")
13698 (description "Dynamic-Classes helps to ease the prototyping process by
13699 bringing dynamism to class definition.")
13700 (license license:expat)))
13701
13702 (define-public ecl-dynamic-classes
13703 (sbcl-package->ecl-package sbcl-dynamic-classes))
13704
13705 (define-public cl-dynamic-classes
13706 (sbcl-package->cl-source-package sbcl-dynamic-classes))
13707
13708 (define-public sbcl-cl-markdown
13709 ;; NOTE: (Sharlatan-20210106214629+0000) latest version tag
13710 ;; "version-0.10.6_version-0.10.6" is failing to build due to missing system
13711 ;; #:container-dynamic-classes
13712 (package
13713 (name "sbcl-cl-markdown")
13714 (version "0.10.4")
13715 (source
13716 (origin
13717 (method git-fetch)
13718 (uri (git-reference
13719 (url "https://github.com/gwkkwg/cl-markdown")
13720 (commit (string-append "version-" version))))
13721 (file-name (git-file-name "cl-markdown" version))
13722 (sha256
13723 (base32 "1wdjbdd1zyskxf7zlilcp6fmwkivybj0wjp64vvzb265d5xi7p8p"))))
13724 (build-system asdf-build-system/sbcl)
13725 (inputs
13726 `(("anaphora" ,sbcl-anaphora)
13727 ("cl-containers" ,sbcl-cl-containers)
13728 ("cl-ppcre" ,sbcl-cl-ppcre)
13729 ("dynamic-classes" ,sbcl-dynamic-classes)
13730 ("metabang-bind" ,sbcl-metabang-bind)
13731 ("metatilities-base" ,sbcl-metatilities-base)))
13732 (arguments
13733 ;; NOTE: (Sharlatan-20210107213629+0000) Tests depend on too many not
13734 ;; available systems, which themself are abandoned.
13735 `(#:tests? #f))
13736 (home-page "https://common-lisp.net/project/cl-markdown/")
13737 (synopsis "Common Lisp rewrite of Markdown")
13738 (description
13739 "This is an implementation of a Markdown parser in Common Lisp.")
13740 (license license:expat)))
13741
13742 (define-public ecl-cl-markdown
13743 (sbcl-package->ecl-package sbcl-cl-markdown))
13744
13745 (define-public cl-markdown
13746 (sbcl-package->cl-source-package sbcl-cl-markdown))
13747
13748 (define-public sbcl-magicffi
13749 (let ((commit "d88f2f280c31f639e4e05be75215d8a8dce6aef2"))
13750 (package
13751 (name "sbcl-magicffi")
13752 (version (git-version "0.0.0" "1" commit))
13753 (source
13754 (origin
13755 (method git-fetch)
13756 (uri (git-reference
13757 (url "https://github.com/dochang/magicffi/")
13758 (commit commit)))
13759 (file-name (git-file-name name version))
13760 (sha256
13761 (base32 "0p6ysa92fk34bhxpw7bycbfgw150fv11z9x8jr9xb4lh8cm2hvp6"))))
13762 (build-system asdf-build-system/sbcl)
13763 (native-inputs
13764 `(("alexandria" ,sbcl-alexandria)))
13765 (inputs
13766 `(("cffi" ,sbcl-cffi)
13767 ("ppcre" ,sbcl-cl-ppcre)
13768 ("libmagic" ,file)))
13769 (arguments
13770 `(#:phases
13771 (modify-phases %standard-phases
13772 (add-after 'unpack 'fix-paths
13773 (lambda* (#:key inputs #:allow-other-keys)
13774 (let ((magic (assoc-ref inputs "libmagic")))
13775 (substitute* "grovel.lisp"
13776 (("/usr/include/magic.h")
13777 (string-append magic "/include/magic.h")))
13778 (substitute* "api.lisp"
13779 ((":default \"libmagic\"" all)
13780 (string-append ":default \"" magic "/lib/libmagic\"")))))))))
13781 (home-page "https://common-lisp.net/project/magicffi/")
13782 (synopsis "Common Lisp interface to libmagic based on CFFI")
13783 (description
13784 "MAGICFFI is a Common Lisp CFFI interface to libmagic(3), the file type
13785 determination library using @emph{magic} numbers.")
13786 (license license:bsd-2))))
13787
13788 (define-public ecl-magicffi
13789 (sbcl-package->ecl-package sbcl-magicffi))
13790
13791 (define-public cl-magicffi
13792 (sbcl-package->cl-source-package sbcl-magicffi))
13793
13794 (define-public sbcl-shlex
13795 (let ((commit "c5616dffca0d4d8ddbc1cd6f37a96d88477b2740"))
13796 (package
13797 (name "sbcl-shlex")
13798 (version (git-version "0.0.0" "1" commit))
13799 (source
13800 (origin
13801 (method git-fetch)
13802 (uri (git-reference
13803 (url "https://github.com/ruricolist/cl-shlex")
13804 (commit commit)))
13805 (file-name (git-file-name name version))
13806 (sha256
13807 (base32 "1nas024n4wv319bf40aal96g72bgi9nkapj2chywj2cc6r8hzkfg"))))
13808 (build-system asdf-build-system/sbcl)
13809 (inputs
13810 `(("alexandria" ,sbcl-alexandria)
13811 ("serapeum" ,sbcl-serapeum)
13812 ("ppcre" ,sbcl-cl-ppcre)
13813 ("unicode" ,sbcl-cl-unicode)))
13814 (home-page "https://github.com/ruricolist/cl-shlex")
13815 (synopsis "Common Lisp lexical analyzer for shell-like syntaxes")
13816 (description
13817 "This library contains a lexer for syntaxes that use shell-like rules
13818 for quoting and commenting. It is a port of the @code{shlex} module from Python’s
13819 standard library.")
13820 (license license:expat))))
13821
13822 (define-public ecl-shlex
13823 (sbcl-package->ecl-package sbcl-shlex))
13824
13825 (define-public cl-shlex
13826 (sbcl-package->cl-source-package sbcl-shlex))
13827
13828 (define-public sbcl-cmd
13829 (let ((commit "e6a54dbf660bf229c80abc124fa47e7bb6d20c93"))
13830 (package
13831 (name "sbcl-cmd")
13832 (version (git-version "0.0.1" "2" commit))
13833 (source
13834 (origin
13835 (method git-fetch)
13836 (uri (git-reference
13837 (url "https://github.com/ruricolist/cmd/")
13838 (commit commit)))
13839 (file-name (git-file-name name version))
13840 (sha256
13841 (base32 "1i0l8ci4cnkx84q4afmpkq51nxah24fqpi6k9kgjbxz6li3zp8hy"))))
13842 (build-system asdf-build-system/sbcl)
13843 (inputs
13844 `(("alexandria" ,sbcl-alexandria)
13845 ("coreutils" ,coreutils)
13846 ("serapeum" ,sbcl-serapeum)
13847 ("shlex" ,sbcl-shlex)
13848 ("trivia" ,sbcl-trivia)))
13849 (arguments
13850 `(#:phases
13851 (modify-phases %standard-phases
13852 (add-after 'unpack 'fix-paths
13853 (lambda* (#:key inputs #:allow-other-keys)
13854 (let ((bin (string-append (assoc-ref inputs "coreutils") "/bin")))
13855 (substitute* "cmd.lisp"
13856 (("\"env\"") (format #f "\"~a/env\"" bin))
13857 (("\"pwd\"") (format #f "\"~a/pwd\"" bin)))))))))
13858 (home-page "https://github.com/ruricolist/cmd")
13859 (synopsis "Conveniently run external programs from Common Lisp")
13860 (description
13861 "A utility for running external programs, built on UIOP.
13862 Cmd is designed to be natural to use, protect against shell interpolation and
13863 be usable from multi-threaded programs.")
13864 (license license:expat))))
13865
13866 (define-public ecl-cmd
13867 (sbcl-package->ecl-package sbcl-cmd))
13868
13869 (define-public cl-cmd
13870 (sbcl-package->cl-source-package sbcl-cmd))
13871
13872 (define-public sbcl-ppath
13873 (let ((commit "eb1a8173b4d1d691ea9a7699412123462f58c3ce"))
13874 (package
13875 (name "sbcl-ppath")
13876 (version (git-version "0.1" "1" commit))
13877 (source
13878 (origin
13879 (method git-fetch)
13880 (uri (git-reference
13881 (url "https://github.com/fourier/ppath/")
13882 (commit commit)))
13883 (file-name (git-file-name name commit))
13884 (sha256
13885 (base32 "1c46q9lmzqv14z80d3fwdawgn3pn4922x31fyqvsvbcjm4hd16fb"))))
13886 (build-system asdf-build-system/sbcl)
13887 (inputs
13888 `(("alexandria" ,sbcl-alexandria)
13889 ("cffi" ,sbcl-cffi)
13890 ("osicat" ,sbcl-osicat)
13891 ("ppcre" ,sbcl-cl-ppcre)
13892 ("split-sequence" ,sbcl-split-sequence)
13893 ("trivial-features" ,sbcl-trivial-features)))
13894 (native-inputs
13895 `(("cl-fad" ,sbcl-cl-fad)
13896 ("prove" ,sbcl-prove)))
13897 (home-page "https://github.com/fourier/ppath")
13898 (synopsis "Common Lisp's implementation of the Python's os.path module")
13899 (description
13900 "This library is a path strings manipulation library inspired by
13901 Python's @code{os.path}. All functionality from @code{os.path} is supported on
13902 major operation systems.
13903
13904 The philosophy behind is to use simple strings and \"dumb\" string
13905 manipulation functions to handle paths and filenames. Where possible the
13906 corresponding OS system functions are called.")
13907 (license license:bsd-2))))
13908
13909 (define-public ecl-ppath
13910 (sbcl-package->ecl-package sbcl-ppath))
13911
13912 (define-public cl-ppath
13913 (sbcl-package->cl-source-package sbcl-ppath))
13914
13915 (define-public sbcl-trivial-escapes
13916 (let ((commit "1eca78da2078495d09893be58c28b3aa7b8cc4d1"))
13917 (package
13918 (name "sbcl-trivial-escapes")
13919 (version (git-version "1.2.0" "1" commit))
13920 (source
13921 (origin
13922 (method git-fetch)
13923 (uri (git-reference
13924 (url "https://github.com/williamyaoh/trivial-escapes")
13925 (commit commit)))
13926 (file-name (git-file-name name commit))
13927 (sha256
13928 (base32 "0v6h8lk17iqv1qkxgqjyzn8gi6v0hvq2vmfbb01md3zjvjqxn6lr"))))
13929 (build-system asdf-build-system/sbcl)
13930 (inputs
13931 `(("named-readtables" ,sbcl-named-readtables)))
13932 (native-inputs
13933 `(("fiveam" ,sbcl-fiveam)))
13934 (home-page "https://github.com/williamyaoh/trivial-escapes")
13935 (synopsis "C-style escape directives for Common Lisp")
13936 (description
13937 "This Common Lisp library interprets escape characters the same way that
13938 most other programming language do.
13939 It provides four readtables. The default one lets you write strings like this:
13940 @code{#\"This string has\na newline in it!\"}.")
13941 (license license:public-domain))))
13942
13943 (define-public ecl-trivial-escapes
13944 (sbcl-package->ecl-package sbcl-trivial-escapes))
13945
13946 (define-public cl-trivial-escapes
13947 (sbcl-package->cl-source-package sbcl-trivial-escapes))
13948
13949 (define-public sbcl-cl-indentify
13950 (let ((commit "eb770f434defa4cd41d84bca822428dfd0dbac53"))
13951 (package
13952 (name "sbcl-cl-indentify")
13953 (version (git-version "0.1" "1" commit))
13954 (source
13955 (origin
13956 (method git-fetch)
13957 (uri (git-reference
13958 (url "https://github.com/yitzchak/cl-indentify")
13959 (commit commit)))
13960 (file-name (git-file-name name commit))
13961 (sha256
13962 (base32 "0ha36bhg474vr76vfhr13szc8cfdj1ickg92k1icz791bqaqg67p"))))
13963 (build-system asdf-build-system/sbcl)
13964 (inputs
13965 `(("alexandria" ,sbcl-alexandria)
13966 ("command-line-arguments" ,sbcl-command-line-arguments)
13967 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
13968 (native-inputs
13969 `(("trivial-escapes" ,sbcl-trivial-escapes)
13970 ("rove" ,sbcl-rove)))
13971 (home-page "https://github.com/yitzchak/cl-indentify")
13972 (synopsis "Code beautifier for Common Lisp")
13973 (description
13974 "A library and command line utility to automatically indent Common Lisp
13975 source files.")
13976 (license license:expat))))
13977
13978 (define-public ecl-cl-indentify
13979 (sbcl-package->ecl-package sbcl-cl-indentify))
13980
13981 (define-public cl-indentify
13982 (sbcl-package->cl-source-package sbcl-cl-indentify))
13983
13984 (define-public sbcl-concrete-syntax-tree
13985 (let ((commit "abd242a59dadc5452aa9dbc1d313c83ec2c11f46"))
13986 (package
13987 (name "sbcl-concrete-syntax-tree")
13988 (version (git-version "0.0.0" "1" commit))
13989 (source
13990 (origin
13991 (method git-fetch)
13992 (uri (git-reference
13993 (url "https://github.com/s-expressionists/Concrete-Syntax-Tree")
13994 (commit commit)))
13995 (file-name (git-file-name name commit))
13996 (sha256
13997 (base32 "1lyrglc3h1if44gxd9cwv90wa90nrdjvb7fry39b1xn8ywdfa7di"))))
13998 (build-system asdf-build-system/sbcl)
13999 (inputs
14000 `(("acclimation" ,sbcl-acclimation)))
14001 (home-page "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14002 (synopsis "Parse Common Lisp code into a concrete syntax tree")
14003 (description
14004 "This library is intended to solve the problem of source tracking for
14005 Common Lisp code.
14006
14007 By \"source tracking\", it is meant that code elements that have a known
14008 origin in the form of a position in a file or in an editor buffer are
14009 associated with some kind of information about this origin.
14010
14011 Since the exact nature of such origin information depends on the Common Lisp
14012 implementation and the purpose of wanting to track that origin, the library
14013 does not impose a particular structure of this information. Instead, it
14014 provides utilities for manipulating source code in the form of what is called
14015 concrete syntax trees (CSTs for short) that preserve this information about
14016 the origin.")
14017 (license license:bsd-2))))
14018
14019 (define-public ecl-concrete-syntax-tree
14020 (sbcl-package->ecl-package sbcl-concrete-syntax-tree))
14021
14022 (define-public cl-concrete-syntax-tree
14023 (sbcl-package->cl-source-package sbcl-concrete-syntax-tree))
14024
14025 (define-public sbcl-eclector
14026 (package
14027 (name "sbcl-eclector")
14028 (version "0.5.0")
14029 (source
14030 (origin
14031 (method git-fetch)
14032 (uri (git-reference
14033 (url "https://github.com/s-expressionists/Eclector")
14034 (commit version)))
14035 (file-name (git-file-name name version))
14036 (sha256
14037 (base32 "0bwkla0jdp5bg0q1zca5wg22b0nbdmglgax345nrhsf8bdrh47wm"))))
14038 (build-system asdf-build-system/sbcl)
14039 (inputs
14040 `(("acclimation" ,sbcl-acclimation)
14041 ("alexandria" ,sbcl-alexandria)
14042 ("closer-mop" ,sbcl-closer-mop)
14043 ("concrete-syntax-tree" ,sbcl-concrete-syntax-tree)))
14044 (native-inputs
14045 `(("fiveam" ,sbcl-fiveam)))
14046 (arguments
14047 '(#:asd-systems '("eclector"
14048 "eclector-concrete-syntax-tree")))
14049 (home-page "https://s-expressionists.github.io/Eclector/")
14050 (synopsis "Highly customizable, portable Common Lisp reader")
14051 (description
14052 "Eclector is a portable Common Lisp reader that is highly customizable,
14053 can recover from errors and can return concrete syntax trees.
14054
14055 In contrast to many other reader implementations, eclector can recover from
14056 most errors in the input supplied to it and continue reading. This capability
14057 is realized as a restart.
14058
14059 It can also produce instances of the concrete syntax tree classes provided by
14060 the concrete syntax tree library.")
14061 (license license:bsd-2)))
14062
14063 (define-public ecl-eclector
14064 (sbcl-package->ecl-package sbcl-eclector))
14065
14066 (define-public cl-eclector
14067 (sbcl-package->cl-source-package sbcl-eclector))
14068
14069 (define-public sbcl-jsown
14070 (let ((commit "744c4407bef58dfa876d9da0b5c0205d869e7977"))
14071 (package
14072 (name "sbcl-jsown")
14073 (version (git-version "1.0.1" "1" commit))
14074 (source
14075 (origin
14076 (method git-fetch)
14077 (uri (git-reference
14078 (url "https://github.com/madnificent/jsown")
14079 (commit commit)))
14080 (file-name (git-file-name name commit))
14081 (sha256
14082 (base32 "0gadvmf1d9bq35s61z76psrsnzwwk12svi66jigf491hv48wigw7"))))
14083 (build-system asdf-build-system/sbcl)
14084 (home-page "https://github.com/madnificent/jsown")
14085 (synopsis "Fast JSON reader / writer library for Common Lisp")
14086 (description
14087 "@code{jsown} is a high performance Common Lisp JSON parser. Its aim
14088 is to allow for the fast parsing of JSON objects in Common Lisp. Recently,
14089 functions and macros have been added to ease the burden of writing and editing
14090 @code{jsown} objects.
14091
14092 @code{jsown} allows you to parse JSON objects quickly to a modifiable Lisp
14093 list and write them back. If you only need partial retrieval of objects,
14094 @code{jsown} allows you to select the keys which you would like to see parsed.
14095 @code{jsown} also has a JSON writer and some helper methods to alter the JSON
14096 objects themselves.")
14097 (license license:expat))))
14098
14099 (define-public ecl-jsown
14100 (sbcl-package->ecl-package sbcl-jsown))
14101
14102 (define-public cl-jsown
14103 (sbcl-package->cl-source-package sbcl-jsown))
14104
14105 (define-public sbcl-system-locale
14106 (let ((commit "4b334bc2fa45651bcaa28ae7d9331095d6bf0a17"))
14107 (package
14108 (name "sbcl-system-locale")
14109 (version (git-version "1.0.0" "1" commit))
14110 (source
14111 (origin
14112 (method git-fetch)
14113 (uri (git-reference
14114 (url "https://github.com/Shinmera/system-locale/")
14115 (commit commit)))
14116 (file-name (git-file-name name commit))
14117 (sha256
14118 (base32 "00p5c053kmgq4ks6l9mxsqz6g3bjcybvkvj0bh3r90qgpkaawm1p"))))
14119 (build-system asdf-build-system/sbcl)
14120 (inputs
14121 `(("documentation-utils" ,sbcl-documentation-utils)))
14122 (home-page "https://shinmera.github.io/system-locale/")
14123 (synopsis "Get the system's locale and language settings in Common Lisp")
14124 (description
14125 "This library retrieves locale information configured on the
14126 system. This is helpful if you want to write applications and libraries that
14127 display messages in the user's native language.")
14128 (license license:zlib))))
14129
14130 (define-public ecl-system-locale
14131 (sbcl-package->ecl-package sbcl-system-locale))
14132
14133 (define-public cl-system-locale
14134 (sbcl-package->cl-source-package sbcl-system-locale))
14135
14136 (define-public sbcl-language-codes
14137 (let ((commit "e7aa0e37cb97a3d37d6bc7316b479d01bff8f42e"))
14138 (package
14139 (name "sbcl-language-codes")
14140 (version (git-version "1.0.0" "1" commit))
14141 (source
14142 (origin
14143 (method git-fetch)
14144 (uri (git-reference
14145 (url "https://github.com/Shinmera/language-codes")
14146 (commit commit)))
14147 (file-name (git-file-name name commit))
14148 (sha256
14149 (base32 "0py176ibmsc01n5r0q1bs1ykqf5jwdbh8kx0j1a814l9y51241v0"))))
14150 (build-system asdf-build-system/sbcl)
14151 (inputs
14152 `(("documentation-utils" ,sbcl-documentation-utils)))
14153 (home-page "https://shinmera.github.io/language-codes/")
14154 (synopsis "Map ISO language codes to language names in Common Lisp")
14155 (description
14156 "This is a small library providing the ISO-639 language code to
14157 language name mapping.")
14158 (license license:zlib))))
14159
14160 (define-public ecl-language-codes
14161 (sbcl-package->ecl-package sbcl-language-codes))
14162
14163 (define-public cl-language-codes
14164 (sbcl-package->cl-source-package sbcl-language-codes))
14165
14166 (define-public sbcl-multilang-documentation
14167 (let ((commit "59e798a07e949e8957a20927f52aca425d84e4a0"))
14168 (package
14169 (name "sbcl-multilang-documentation")
14170 (version (git-version "1.0.0" "1" commit))
14171 (source
14172 (origin
14173 (method git-fetch)
14174 (uri (git-reference
14175 (url "https://github.com/Shinmera/multilang-documentation")
14176 (commit commit)))
14177 (file-name (git-file-name name commit))
14178 (sha256
14179 (base32 "13y5jskx8n2b7kimpfarr8v777w3b7zj5swg1b99nj3hk0843ixw"))))
14180 (build-system asdf-build-system/sbcl)
14181 (inputs
14182 `(("documentation-utils" ,sbcl-documentation-utils)
14183 ("language-codes" ,sbcl-language-codes)
14184 ("system-locale" ,sbcl-system-locale)))
14185 (home-page "https://shinmera.github.io/multilang-documentation/")
14186 (synopsis "Add multiple languages support to Common Lisp documentation")
14187 (description
14188 "This library provides a drop-in replacement function for
14189 cl:documentation that supports multiple docstrings per-language, allowing you
14190 to write documentation that can be internationalised.")
14191 (license license:zlib))))
14192
14193 (define-public ecl-multilang-documentation
14194 (sbcl-package->ecl-package sbcl-multilang-documentation))
14195
14196 (define-public cl-multilang-documentation
14197 (sbcl-package->cl-source-package sbcl-multilang-documentation))
14198
14199 (define-public sbcl-trivial-do
14200 (let ((commit "03a1729f1e71bad3ebcf6cf098a0cce52dfa1163"))
14201 (package
14202 (name "sbcl-trivial-do")
14203 (version (git-version "0.1" "1" commit))
14204 (source
14205 (origin
14206 (method git-fetch)
14207 (uri (git-reference
14208 (url "https://github.com/yitzchak/trivial-do")
14209 (commit commit)))
14210 (file-name (git-file-name name commit))
14211 (sha256
14212 (base32 "1ffva79nkicc7wc8c2ic5nayis3b2rk5sxzj74yjkymkjgbpcrgd"))))
14213 (build-system asdf-build-system/sbcl)
14214 (home-page "https://github.com/yitzchak/trivial-do")
14215 (synopsis "Additional dolist style macros for Common Lisp")
14216 (description
14217 "Additional dolist style macros for Common Lisp, such as
14218 @code{doalist}, @code{dohash}, @code{dolist*}, @code{doplist}, @code{doseq}
14219 and @code{doseq*}.")
14220 (license license:zlib))))
14221
14222 (define-public ecl-trivial-do
14223 (sbcl-package->ecl-package sbcl-trivial-do))
14224
14225 (define-public cl-trivial-do
14226 (sbcl-package->cl-source-package sbcl-trivial-do))
14227
14228 (define-public sbcl-common-lisp-jupyter
14229 (let ((commit "61a9a8e7a18e2abd7af7c697ba5146fd19bd9d62"))
14230 (package
14231 (name "sbcl-common-lisp-jupyter")
14232 (version (git-version "0.1" "1" commit))
14233 (source
14234 (origin
14235 (method git-fetch)
14236 (uri (git-reference
14237 (url "https://github.com/yitzchak/common-lisp-jupyter")
14238 (commit commit)))
14239 (file-name (git-file-name name commit))
14240 (sha256
14241 (base32 "0zyzl55l45w9z65ygi5pcwda5w5p1j1bb0p2zg2n5cpv8344dkh2"))))
14242 (build-system asdf-build-system/sbcl)
14243 (inputs
14244 `(("alexandria" ,sbcl-alexandria)
14245 ("babel" ,sbcl-babel)
14246 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14247 ("cl-base64" ,sbcl-cl-base64)
14248 ("cl-indentify" ,sbcl-cl-indentify)
14249 ("closer-mop" ,sbcl-closer-mop)
14250 ("eclector" ,sbcl-eclector)
14251 ("ironclad" ,sbcl-ironclad)
14252 ("iterate" ,sbcl-iterate)
14253 ("jsown" ,sbcl-jsown)
14254 ("multilang-documentation" ,sbcl-multilang-documentation)
14255 ("pzmq" ,sbcl-pzmq)
14256 ("puri" ,sbcl-puri)
14257 ("static-vectors" ,sbcl-static-vectors)
14258 ("trivial-do" ,sbcl-trivial-do)
14259 ("trivial-garbage" ,sbcl-trivial-garbage)
14260 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
14261 ("trivial-mimes" ,sbcl-trivial-mimes)))
14262 (home-page "https://yitzchak.github.io/common-lisp-jupyter/")
14263 (synopsis "Common Lisp kernel for Jupyter")
14264 (description
14265 "This is a Common Lisp kernel for Jupyter along with a library for
14266 building Jupyter kernels, based on Maxima-Jupyter which was based on
14267 @code{cl-jupyter}.")
14268 (license license:zlib))))
14269
14270 (define-public ecl-common-lisp-jupyter
14271 (sbcl-package->ecl-package sbcl-common-lisp-jupyter))
14272
14273 (define-public cl-common-lisp-jupyter
14274 (sbcl-package->cl-source-package sbcl-common-lisp-jupyter))
14275
14276 (define-public sbcl-radiance
14277 (let ((commit "5ffbe1f157edd17a13194495099efd81e052df85")
14278 (revision "1"))
14279 (package
14280 (name "sbcl-radiance")
14281 (version (git-version "2.1.2" revision commit))
14282 (source
14283 (origin
14284 (method git-fetch)
14285 (uri (git-reference
14286 (url "https://github.com/Shirakumo/radiance")
14287 (commit commit)))
14288 (file-name (git-file-name "radiance" version))
14289 (sha256
14290 (base32 "0hbkcnmnlj1cqzbv18zmla2iwbl65kxilz9764hndf8x8as1539c"))))
14291 (build-system asdf-build-system/sbcl)
14292 (arguments
14293 `(#:tests? #f ; TODO: The tests require some configuration.
14294 #:phases
14295 (modify-phases %standard-phases
14296 (add-after 'unpack 'disable-quicklisp
14297 (lambda _
14298 ;; Disable the automatic installation of systems by Quicklisp.
14299 ;; (Maybe there would be a way to package Quicklisp and make it
14300 ;; install things in the user's directory instead of
14301 ;; /gnu/store/...).
14302 (substitute* "interfaces.lisp"
14303 (("\\(unless \\(asdf:find-system configured-implementation NIL\\)"
14304 all)
14305 (string-append "#+quicklisp " all))))))))
14306 (native-inputs
14307 `(("alexandria" ,sbcl-alexandria)
14308 ("dexador" ,sbcl-dexador)
14309 ("parachute" ,sbcl-parachute)
14310 ("verbose" ,sbcl-verbose)))
14311 (inputs
14312 `(("babel" ,sbcl-babel)
14313 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14314 ("cl-ppcre" ,sbcl-cl-ppcre)
14315 ("closer-mop" ,sbcl-closer-mop)
14316 ("documentation-utils" ,sbcl-documentation-utils)
14317 ("deploy" ,sbcl-deploy)
14318 ("form-fiddle" ,sbcl-form-fiddle)
14319 ("lambda-fiddle" ,sbcl-lambda-fiddle)
14320 ("local-time" ,sbcl-local-time)
14321 ("modularize-hooks" ,sbcl-modularize-hooks)
14322 ("modularize-interfaces" ,sbcl-modularize-interfaces)
14323 ("puri" ,sbcl-puri)
14324 ("trivial-indent" ,sbcl-trivial-indent)
14325 ("trivial-mimes" ,sbcl-trivial-mimes)
14326 ("ubiquitous-concurrent" ,sbcl-ubiquitous)))
14327 (home-page "https://shirakumo.github.io/radiance/")
14328 (synopsis "Common Lisp web application environment")
14329 (description
14330 "Radiance is a web application environment, which is sort of like a web
14331 framework, but more general, more flexible. It should let you write personal
14332 websites and generally deployable applications easily and in such a way that
14333 they can be used on practically any setup without having to undergo special
14334 adaptations.")
14335 (license license:zlib))))
14336
14337 (define-public ecl-radiance
14338 (sbcl-package->ecl-package sbcl-radiance))
14339
14340 (define-public cl-radiance
14341 (sbcl-package->cl-source-package sbcl-radiance))