gnu: Add cl-radiance.
[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 "dffdf3caa12e964127d6eb45ba92ac0442cc5a48"))
892 (package
893 (name "sbcl-slynk")
894 (version (git-version "1.0.43" "1" 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 "0vv185gz3rkfng5y79dijfnc11p92qdz2kdza05avjbpqfs6l0zn"))
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 "192ea13435b605a96ef607df51317056914cabbd"))
1687 (package
1688 (name "sbcl-3bmd")
1689 (version (git-version "0.0.0" "1" commit))
1690 (source
1691 (origin
1692 (method git-fetch)
1693 (uri (git-reference
1694 (url "https://github.com/3b/3bmd")
1695 (commit commit)))
1696 (sha256
1697 (base32
1698 "1rgv3gi7wf963ikmmpk132wgn0icddf226gq3bmcnk1fr3v9gf2f"))
1699 (file-name (git-file-name "3bmd" version))))
1700 (build-system asdf-build-system/sbcl)
1701 (arguments
1702 ;; FIXME: We need to specify the name because the build-system thinks
1703 ;; "3" is a version marker.
1704 `(#:asd-systems '("3bmd"
1705 "3bmd-ext-code-blocks")))
1706 (inputs
1707 `(("colorize" ,sbcl-colorize)
1708 ("esrap" ,sbcl-esrap)
1709 ("split-sequence" ,sbcl-split-sequence)))
1710 (synopsis "Markdown processor in Command Lisp using esrap parser")
1711 (description
1712 "Common Lisp Markdown -> HTML converter, using @command{esrap} for
1713 parsing, and grammar based on @command{peg-markdown}.")
1714 (home-page "https://github.com/3b/3bmd")
1715 (license license:expat))))
1716
1717 (define-public cl-3bmd
1718 (sbcl-package->cl-source-package sbcl-3bmd))
1719
1720 (define-public ecl-3bmd
1721 (sbcl-package->ecl-package sbcl-3bmd))
1722
1723 (define-public sbcl-cl-fad
1724 (package
1725 (name "sbcl-cl-fad")
1726 (version "0.7.6")
1727 (source
1728 (origin
1729 (method git-fetch)
1730 (uri (git-reference
1731 (url "https://github.com/edicl/cl-fad/")
1732 (commit (string-append "v" version))))
1733 (sha256
1734 (base32
1735 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
1736 (file-name (string-append "cl-fad" version "-checkout"))))
1737 (build-system asdf-build-system/sbcl)
1738 (inputs
1739 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
1740 (synopsis "Portable pathname library for Common Lisp")
1741 (description
1742 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
1743 Lisp's standard pathname functions. It is intended to provide some
1744 unification between current CL implementations on Windows, OS X, Linux, and
1745 Unix. Most of the code was written by Peter Seibel for his book Practical
1746 Common Lisp.")
1747 (home-page "https://edicl.github.io/cl-fad/")
1748 (license license:bsd-2)))
1749
1750 (define-public cl-fad
1751 (sbcl-package->cl-source-package sbcl-cl-fad))
1752
1753 (define-public ecl-cl-fad
1754 (sbcl-package->ecl-package sbcl-cl-fad))
1755
1756 (define-public sbcl-rt
1757 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
1758 (revision "1"))
1759 (package
1760 (name "sbcl-rt")
1761 (version (git-version "1990.12.19" revision commit))
1762 (source
1763 (origin
1764 (method git-fetch)
1765 (uri (git-reference
1766 (url "http://git.kpe.io/rt.git")
1767 (commit commit)))
1768 (file-name (git-file-name name version))
1769 (sha256
1770 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
1771 (build-system asdf-build-system/sbcl)
1772 (synopsis "MIT Regression Tester")
1773 (description
1774 "RT provides a framework for writing regression test suites.")
1775 (home-page "https://www.cliki.net/rt")
1776 (license license:expat))))
1777
1778 (define-public cl-rt
1779 (sbcl-package->cl-source-package sbcl-rt))
1780
1781 (define-public ecl-rt
1782 (sbcl-package->ecl-package sbcl-rt))
1783
1784 (define-public sbcl-nibbles
1785 ;; No tagged release since 2018.
1786 (let ((commit "8e6b9b42d9f69000f55e5c45ad974d9e376ffdbd")
1787 (revision "1"))
1788 (package
1789 (name "sbcl-nibbles")
1790 (version (git-version "0.14" revision commit))
1791 (source
1792 (origin
1793 (method git-fetch)
1794 (uri (git-reference
1795 (url "https://github.com/sharplispers/nibbles/")
1796 (commit commit)))
1797 (sha256
1798 (base32 "15qlsm82h36pjgvfnbzdg60l21qxbaii4d049jc5y0dn56y93amb"))
1799 (file-name (git-file-name "nibbles" version))))
1800 (build-system asdf-build-system/sbcl)
1801 (native-inputs
1802 ;; Tests only.
1803 `(("rt" ,sbcl-rt)))
1804 (synopsis
1805 "Common Lisp library for accessing octet-addressed blocks of data")
1806 (description
1807 "When dealing with network protocols and file formats, it's common to
1808 have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
1809 flavors. Common Lisp sort of supports this by specifying :element-type for
1810 streams, but that facility is underspecified and there's nothing similar for
1811 read/write from octet vectors. What most people wind up doing is rolling their
1812 own small facility for their particular needs and calling it a day.
1813
1814 This library attempts to be comprehensive and centralize such
1815 facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
1816 vectors in signed or unsigned flavors are provided; these functions are also
1817 SETFable. Since it's sometimes desirable to read/write directly from streams,
1818 functions for doing so are also provided. On some implementations,
1819 reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
1820 also be supported.")
1821 (home-page "https://github.com/sharplispers/nibbles")
1822 (license license:bsd-3))))
1823
1824 (define-public cl-nibbles
1825 (sbcl-package->cl-source-package sbcl-nibbles))
1826
1827 (define-public ecl-nibbles
1828 (sbcl-package->ecl-package sbcl-nibbles))
1829
1830 (define-public sbcl-ironclad
1831 (package
1832 (name "sbcl-ironclad")
1833 (version "0.54")
1834 (source
1835 (origin
1836 (method git-fetch)
1837 (uri (git-reference
1838 (url "https://github.com/sharplispers/ironclad/")
1839 (commit (string-append "v" version))))
1840 (sha256
1841 (base32 "07g0wpvfqq2yk23prs890d4qvbnr3xd6w8ssd88g89xdg483wpvk"))
1842 (file-name (git-file-name name version))))
1843 (build-system asdf-build-system/sbcl)
1844 (native-inputs
1845 ;; Tests only.
1846 `(("rt" ,sbcl-rt)))
1847 (inputs
1848 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1849 ("flexi-streams" ,sbcl-flexi-streams)))
1850 (synopsis "Cryptographic toolkit written in Common Lisp")
1851 (description
1852 "Ironclad is a cryptography library written entirely in Common Lisp.
1853 It includes support for several popular ciphers, digests, MACs and public key
1854 cryptography algorithms. For several implementations that support Gray
1855 streams, support is included for convenient stream wrappers.")
1856 (home-page "https://github.com/sharplispers/ironclad")
1857 (license license:bsd-3)))
1858
1859 (define-public cl-ironclad
1860 (sbcl-package->cl-source-package sbcl-ironclad))
1861
1862 (define-public ecl-ironclad
1863 (sbcl-package->ecl-package sbcl-ironclad))
1864
1865 (define-public sbcl-named-readtables
1866 (let ((commit "64bd53f37a1694cfde48fc38b8f03901f6f0c05b")
1867 (revision "2"))
1868 (package
1869 (name "sbcl-named-readtables")
1870 (version (git-version "0.9" revision commit))
1871 (source
1872 (origin
1873 (method git-fetch)
1874 (uri (git-reference
1875 (url "https://github.com/melisgl/named-readtables")
1876 (commit commit)))
1877 (sha256
1878 (base32 "01l4831m7k84qvhzyx0qgdl50isr4zmp40qf6dfq2iqcaj8y4h3n"))
1879 (file-name (git-file-name "named-readtables" version))))
1880 (build-system asdf-build-system/sbcl)
1881 (arguments
1882 ;; Tests seem to be broken.
1883 `(#:tests? #f))
1884 (home-page "https://github.com/melisgl/named-readtables/")
1885 (synopsis "Library that creates a namespace for named readtables")
1886 (description "Named readtables is a library that creates a namespace for
1887 named readtables, which is akin to package namespacing in Common Lisp.")
1888 (license license:bsd-3))))
1889
1890 (define-public cl-named-readtables
1891 (sbcl-package->cl-source-package sbcl-named-readtables))
1892
1893 (define-public ecl-named-readtables
1894 (sbcl-package->ecl-package sbcl-named-readtables))
1895
1896 (define-public sbcl-py-configparser
1897 ;; NOTE: (Sharlatan <2021-01-05 Tue> <19:52:19 UTC+0000>) Project updated last
1898 ;; time 8y ago, it looks like abandoned. VCS of the project:
1899 ;; https://svn.common-lisp.net/py-configparser/trunk
1900 (package
1901 (name "sbcl-py-configparser")
1902 (version "1.0.3")
1903 (source
1904 (origin
1905 (method url-fetch)
1906 (uri (string-append
1907 "https://common-lisp.net/project/py-configparser/releases/"
1908 "py-configparser-" version ".tar.gz"))
1909 (sha256
1910 (base32 "0i4rqz5cv7d7c2w81x5lwy05s6fbi3zikf4k5kpi3bkx3cabwdxj"))))
1911 (build-system asdf-build-system/sbcl)
1912 (inputs
1913 `(("parse-number" ,sbcl-parse-number)))
1914 (home-page "http://common-lisp.net/project/py-configparser/")
1915 (synopsis "ConfigParser Python module functionality for Common Lisp")
1916 (description "The py-configparser package implements the ConfigParser
1917 Python module functionality in Common Lisp. In short, it implements reading
1918 and writing of .INI-file style configuration files with sections containing
1919 key/value pairs of configuration options. In line with the functionalities in
1920 the python module, does this package implement basic interpolation of option
1921 values in other options.")
1922 (license license:expat)))
1923
1924 (define-public cl-py-configparser
1925 (sbcl-package->cl-source-package sbcl-py-configparser))
1926
1927 (define-public ecl-py-configparser
1928 (sbcl-package->ecl-package sbcl-py-configparser))
1929
1930 (define-public sbcl-pythonic-string-reader
1931 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
1932 (package
1933 (name "sbcl-pythonic-string-reader")
1934 (version (git-version "0.0.0" "1" commit))
1935 (source
1936 (origin
1937 (method git-fetch)
1938 (uri (git-reference
1939 (url "https://github.com/smithzvk/pythonic-string-reader/")
1940 (commit commit)))
1941 (sha256
1942 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
1943 (file-name (git-file-name "pythonic-string-reader" version))))
1944 (build-system asdf-build-system/sbcl)
1945 (inputs
1946 `(("named-readtables" ,sbcl-named-readtables)))
1947 (home-page "https://github.com/smithzvk/pythonic-string-reader")
1948 (synopsis "Read table modification inspired by Python's three quote strings")
1949 (description "This piece of code sets up some reader macros that make it
1950 simpler to input string literals which contain backslashes and double quotes
1951 This is very useful for writing complicated docstrings and, as it turns out,
1952 writing code that contains string literals that contain code themselves.")
1953 (license license:bsd-3))))
1954
1955 (define-public cl-pythonic-string-reader
1956 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
1957
1958 (define-public ecl-pythonic-string-reader
1959 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
1960
1961 (define-public sbcl-slime-swank
1962 (package
1963 (name "sbcl-slime-swank")
1964 (version "2.26")
1965 (source
1966 (origin
1967 (file-name (git-file-name "slime-swank" version))
1968 (method git-fetch)
1969 (uri (git-reference
1970 (url "https://github.com/slime/slime/")
1971 (commit (string-append "v" version))))
1972 (sha256
1973 (base32
1974 "0mxb1wnw19v0s72w2wkz5afdlzvpy5nn7pr4vav403qybac0sw5c"))))
1975 (build-system asdf-build-system/sbcl)
1976 (arguments
1977 '(#:asd-systems '("swank")))
1978 (home-page "https://github.com/slime/slime")
1979 (synopsis "Common Lisp Swank server")
1980 (description
1981 "This is only useful if you want to start a Swank server in a Lisp
1982 processes that doesn't run under Emacs. Lisp processes created by
1983 @command{M-x slime} automatically start the server.")
1984 (license (list license:gpl2+ license:public-domain))))
1985
1986 (define-public cl-slime-swank
1987 (sbcl-package->cl-source-package sbcl-slime-swank))
1988
1989 (define-public ecl-slime-swank
1990 (sbcl-package->ecl-package sbcl-slime-swank))
1991
1992 (define-public sbcl-mgl-pax
1993 (let ((commit "818448418d6b9de74620f606f5b23033c6082769"))
1994 (package
1995 (name "sbcl-mgl-pax")
1996 (version (git-version "0.0.0" "1" commit))
1997 (source
1998 (origin
1999 (method git-fetch)
2000 (uri (git-reference
2001 (url "https://github.com/melisgl/mgl-pax")
2002 (commit commit)))
2003 (sha256
2004 (base32
2005 "1p97zfkh130bdxqqxwaw2j9psv58751wakx7czbfpq410lg7dd7i"))
2006 (file-name (git-file-name "mgl-pax" version))))
2007 (build-system asdf-build-system/sbcl)
2008 (inputs
2009 `(("3bmd" ,sbcl-3bmd)
2010 ("babel" ,sbcl-babel)
2011 ("cl-fad" ,sbcl-cl-fad)
2012 ("ironclad" ,sbcl-ironclad)
2013 ("named-readtables" ,sbcl-named-readtables)
2014 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)
2015 ("swank" ,sbcl-slime-swank)))
2016 (synopsis "Exploratory programming environment and documentation generator")
2017 (description
2018 "PAX provides an extremely poor man's Explorable Programming
2019 environment. Narrative primarily lives in so called sections that mix markdown
2020 docstrings with references to functions, variables, etc, all of which should
2021 probably have their own docstrings.
2022
2023 The primary focus is on making code easily explorable by using SLIME's
2024 @command{M-.} (@command{slime-edit-definition}). See how to enable some
2025 fanciness in Emacs Integration. Generating documentation from sections and all
2026 the referenced items in Markdown or HTML format is also implemented.
2027
2028 With the simplistic tools provided, one may accomplish similar effects as with
2029 Literate Programming, but documentation is generated from code, not vice versa
2030 and there is no support for chunking yet. Code is first, code must look
2031 pretty, documentation is code.")
2032 (home-page "http://quotenil.com/")
2033 (license license:expat))))
2034
2035 (define-public cl-mgl-pax
2036 (sbcl-package->cl-source-package sbcl-mgl-pax))
2037
2038 (define-public ecl-mgl-pax
2039 (let ((pkg (sbcl-package->ecl-package sbcl-mgl-pax)))
2040 (package
2041 (inherit pkg)
2042 (arguments
2043 (substitute-keyword-arguments (package-arguments pkg)
2044 ;; TODO: Find why the tests fail on ECL.
2045 ((#:tests? _ #f) #f))))))
2046
2047 (define-public sbcl-mssql
2048 (let ((commit "045602a19a32254108f2b75871049293f49731eb")
2049 (revision "1"))
2050 (package
2051 (name "sbcl-mssql")
2052 (version (git-version "0.0.3" revision commit))
2053 (source
2054 (origin
2055 (method git-fetch)
2056 (uri (git-reference
2057 (url "https://github.com/archimag/cl-mssql")
2058 (commit commit)))
2059 (file-name (git-file-name "cl-mssql" version))
2060 (sha256
2061 (base32 "09i50adppgc1ybm3ka9vbindhwa2x29f9n3n0jkrryymdhb8zknm"))))
2062 (build-system asdf-build-system/sbcl)
2063 (inputs
2064 `(("cffi" ,sbcl-cffi)
2065 ("freetds" ,freetds)
2066 ("garbage-pools" ,sbcl-garbage-pools)
2067 ("iterate" ,sbcl-iterate)
2068 ("parse-number" ,sbcl-parse-number)))
2069 (arguments
2070 `(#:phases
2071 (modify-phases %standard-phases
2072 (add-after 'unpack 'fix-paths
2073 (lambda* (#:key inputs #:allow-other-keys)
2074 (substitute* "src/mssql.lisp"
2075 (("libsybdb" all)
2076 (string-append (assoc-ref inputs "freetds") "/lib/" all)))
2077 #t)))))
2078 (home-page "https://github.com/archimag/cl-mssql")
2079 (synopsis "Common Lisp library to interact with MS SQL Server databases")
2080 (description
2081 "@code{cl-mssql} provides an interface to connect to Microsoft SQL
2082 server. It uses the @code{libsybdb} foreign library provided by the FreeTDS
2083 project.")
2084 (license license:llgpl))))
2085
2086 (define-public ecl-mssql
2087 (sbcl-package->ecl-package sbcl-mssql))
2088
2089 (define-public cl-mssql
2090 (sbcl-package->cl-source-package sbcl-mssql))
2091
2092 (define-public sbcl-lisp-unit
2093 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
2094 (package
2095 (name "sbcl-lisp-unit")
2096 (version (git-version "0.0.0" "1" commit))
2097 (source
2098 (origin
2099 (method git-fetch)
2100 (uri (git-reference
2101 (url "https://github.com/OdonataResearchLLC/lisp-unit")
2102 (commit commit)))
2103 (sha256
2104 (base32
2105 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
2106 (file-name (git-file-name "lisp-unit" version))))
2107 (build-system asdf-build-system/sbcl)
2108 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
2109 (description
2110 "@command{lisp-unit} is a Common Lisp library that supports unit
2111 testing. It is an extension of the library written by Chris Riesbeck.")
2112 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
2113 (license license:expat))))
2114
2115 (define-public cl-lisp-unit
2116 (sbcl-package->cl-source-package sbcl-lisp-unit))
2117
2118 (define-public ecl-lisp-unit
2119 (sbcl-package->ecl-package sbcl-lisp-unit))
2120
2121 (define-public sbcl-anaphora
2122 (package
2123 (name "sbcl-anaphora")
2124 (version "0.9.6")
2125 (source
2126 (origin
2127 (method git-fetch)
2128 (uri (git-reference
2129 (url "https://github.com/tokenrove/anaphora")
2130 (commit version)))
2131 (sha256
2132 (base32
2133 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
2134 (file-name (git-file-name "anaphora" version))))
2135 (build-system asdf-build-system/sbcl)
2136 (native-inputs
2137 `(("rt" ,sbcl-rt)))
2138 (synopsis "The anaphoric macro collection from Hell")
2139 (description
2140 "Anaphora is the anaphoric macro collection from Hell: it includes many
2141 new fiends in addition to old friends like @command{aif} and
2142 @command{awhen}.")
2143 (home-page "https://github.com/tokenrove/anaphora")
2144 (license license:public-domain)))
2145
2146 (define-public cl-anaphora
2147 (sbcl-package->cl-source-package sbcl-anaphora))
2148
2149 (define-public ecl-anaphora
2150 (sbcl-package->ecl-package sbcl-anaphora))
2151
2152 (define-public sbcl-lift
2153 (let ((commit "7d49a66c62759535624037826891152223d4206c"))
2154 (package
2155 (name "sbcl-lift")
2156 (version (git-version "1.7.1" "1" commit))
2157 (source
2158 (origin
2159 (method git-fetch)
2160 (uri (git-reference
2161 (url "https://github.com/gwkkwg/lift")
2162 (commit commit)))
2163 (sha256
2164 (base32
2165 "127v5avpz1i4m0lkaxqrq8hrl69rdazqaxf6s8awf0nd7wj2g4dp"))
2166 (file-name (git-file-name "lift" version))
2167 (modules '((guix build utils)))
2168 (snippet
2169 ;; Don't keep the bundled website
2170 `(begin
2171 (delete-file-recursively "website")
2172 #t))))
2173 (build-system asdf-build-system/sbcl)
2174 (arguments
2175 ;; The tests require a debugger, but we run with the debugger disabled.
2176 '(#:tests? #f))
2177 (synopsis "LIsp Framework for Testing")
2178 (description
2179 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
2180 Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
2181 testcases are organized into hierarchical testsuites each of which can have
2182 its own fixture. When run, a testcase can succeed, fail, or error. LIFT
2183 supports randomized testing, benchmarking, profiling, and reporting.")
2184 (home-page "https://github.com/gwkkwg/lift")
2185 (license license:expat))))
2186
2187 (define-public cl-lift
2188 (sbcl-package->cl-source-package sbcl-lift))
2189
2190 (define-public ecl-lift
2191 (sbcl-package->ecl-package sbcl-lift))
2192
2193 (define-public sbcl-let-plus
2194 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
2195 (package
2196 (name "sbcl-let-plus")
2197 (version (git-version "0.0.0" "1" commit))
2198 (source
2199 (origin
2200 (method git-fetch)
2201 (uri (git-reference
2202 (url "https://github.com/sharplispers/let-plus")
2203 (commit commit)))
2204 (sha256
2205 (base32
2206 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
2207 (file-name (git-file-name "let-plus" version))))
2208 (build-system asdf-build-system/sbcl)
2209 (inputs
2210 `(("alexandria" ,sbcl-alexandria)
2211 ("anaphora" ,sbcl-anaphora)))
2212 (native-inputs
2213 `(("lift" ,sbcl-lift)))
2214 (synopsis "Destructuring extension of let*")
2215 (description
2216 "This library implements the let+ macro, which is a dectructuring
2217 extension of let*. It features:
2218
2219 @itemize
2220 @item Clean, consistent syntax and small implementation (less than 300 LOC,
2221 not counting tests)
2222 @item Placeholder macros allow editor hints and syntax highlighting
2223 @item @command{&ign} for ignored values (in forms where that makes sense)
2224 @item Very easy to extend
2225 @end itemize\n")
2226 (home-page "https://github.com/sharplispers/let-plus")
2227 (license license:boost1.0))))
2228
2229 (define-public cl-let-plus
2230 (sbcl-package->cl-source-package sbcl-let-plus))
2231
2232 (define-public ecl-let-plus
2233 (sbcl-package->ecl-package sbcl-let-plus))
2234
2235 (define-public sbcl-cl-colors
2236 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
2237 (package
2238 (name "sbcl-cl-colors")
2239 (version (git-version "0.0.0" "1" commit))
2240 (source
2241 (origin
2242 (method git-fetch)
2243 (uri (git-reference
2244 (url "https://github.com/tpapp/cl-colors")
2245 (commit commit)))
2246 (sha256
2247 (base32
2248 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2249 (file-name (git-file-name "cl-colors" version))))
2250 (build-system asdf-build-system/sbcl)
2251 (inputs
2252 `(("alexandria" ,sbcl-alexandria)
2253 ("let-plus" ,sbcl-let-plus)))
2254 (synopsis "Simple color library for Common Lisp")
2255 (description
2256 "This is a very simple color library for Common Lisp, providing
2257
2258 @itemize
2259 @item Types for representing colors in HSV and RGB spaces.
2260 @item Simple conversion functions between the above types (and also
2261 hexadecimal representation for RGB).
2262 @item Some predefined colors (currently X11 color names – of course the
2263 library does not depend on X11).Because color in your terminal is nice.
2264 @end itemize
2265
2266 This library is no longer supported by its author.")
2267 (home-page "https://github.com/tpapp/cl-colors")
2268 (license license:boost1.0))))
2269
2270 (define-public cl-colors
2271 (sbcl-package->cl-source-package sbcl-cl-colors))
2272
2273 (define-public ecl-cl-colors
2274 (sbcl-package->ecl-package sbcl-cl-colors))
2275
2276 (define-public sbcl-cl-ansi-text
2277 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2278 (package
2279 (name "sbcl-cl-ansi-text")
2280 (version (git-version "1.0.0" "1" commit))
2281 (source
2282 (origin
2283 (method git-fetch)
2284 (uri (git-reference
2285 (url "https://github.com/pnathan/cl-ansi-text")
2286 (commit commit)))
2287 (sha256
2288 (base32
2289 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2290 (file-name (git-file-name "cl-ansi-text" version))))
2291 (build-system asdf-build-system/sbcl)
2292 (inputs
2293 `(("alexandria" ,sbcl-alexandria)
2294 ("cl-colors" ,sbcl-cl-colors)))
2295 (native-inputs
2296 `(("fiveam" ,sbcl-fiveam)))
2297 (synopsis "ANSI terminal color implementation for Common Lisp")
2298 (description
2299 "@command{cl-ansi-text} provides utilities which enable printing to an
2300 ANSI terminal with colored text. It provides the macro @command{with-color}
2301 which causes everything printed in the body to be displayed with the provided
2302 color. It further provides functions which will print the argument with the
2303 named color.")
2304 (home-page "https://github.com/pnathan/cl-ansi-text")
2305 (license license:llgpl))))
2306
2307 (define-public cl-ansi-text
2308 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2309
2310 (define-public ecl-cl-ansi-text
2311 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2312
2313 (define-public sbcl-prove
2314 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2315 (package
2316 (name "sbcl-prove")
2317 (version (git-version "1.0.0" "1" commit))
2318 (source
2319 (origin
2320 (method git-fetch)
2321 (uri (git-reference
2322 (url "https://github.com/fukamachi/prove")
2323 (commit commit)))
2324 (sha256
2325 (base32
2326 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2327 (file-name (git-file-name "prove" version))))
2328 (build-system asdf-build-system/sbcl)
2329 (inputs
2330 `(("alexandria" ,sbcl-alexandria)
2331 ("cl-ppcre" ,sbcl-cl-ppcre)
2332 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2333 (synopsis "Yet another unit testing framework for Common Lisp")
2334 (description
2335 "This project was originally called @command{cl-test-more}.
2336 @command{prove} is yet another unit testing framework for Common Lisp. The
2337 advantages of @command{prove} are:
2338
2339 @itemize
2340 @item Various simple functions for testing and informative error messages
2341 @item ASDF integration
2342 @item Extensible test reporters
2343 @item Colorizes the report if it's available (note for SLIME)
2344 @item Reports test durations
2345 @end itemize\n")
2346 (home-page "https://github.com/fukamachi/prove")
2347 (license license:expat))))
2348
2349 (define-public cl-prove
2350 (sbcl-package->cl-source-package sbcl-prove))
2351
2352 (define-public ecl-prove
2353 (sbcl-package->ecl-package sbcl-prove))
2354
2355 (define-public sbcl-proc-parse
2356 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2357 (package
2358 (name "sbcl-proc-parse")
2359 (version (git-version "0.0.0" "1" commit))
2360 (source
2361 (origin
2362 (method git-fetch)
2363 (uri (git-reference
2364 (url "https://github.com/fukamachi/proc-parse")
2365 (commit commit)))
2366 (sha256
2367 (base32
2368 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2369 (file-name (git-file-name "proc-parse" version))))
2370 (build-system asdf-build-system/sbcl)
2371 (inputs
2372 `(("alexandria" ,sbcl-alexandria)
2373 ("babel" ,sbcl-babel)))
2374 (native-inputs
2375 `(("prove" ,sbcl-prove)))
2376 (arguments
2377 ;; TODO: Tests don't find "proc-parse-test", why?
2378 `(#:tests? #f))
2379 (synopsis "Procedural vector parser")
2380 (description
2381 "This is a string/octets parser library for Common Lisp with speed and
2382 readability in mind. Unlike other libraries, the code is not a
2383 pattern-matching-like, but a char-by-char procedural parser.")
2384 (home-page "https://github.com/fukamachi/proc-parse")
2385 (license license:bsd-2))))
2386
2387 (define-public cl-proc-parse
2388 (sbcl-package->cl-source-package sbcl-proc-parse))
2389
2390 (define-public ecl-proc-parse
2391 (sbcl-package->ecl-package sbcl-proc-parse))
2392
2393 (define-public sbcl-parse-float
2394 (let ((commit "3074765101e41222b6b624a66aaf1e6416379f9c")
2395 (revision "2"))
2396 (package
2397 (name "sbcl-parse-float")
2398 (version (git-version "0.0.0" revision commit))
2399 (source
2400 (origin
2401 (method git-fetch)
2402 (uri (git-reference
2403 (url "https://github.com/soemraws/parse-float")
2404 (commit commit)))
2405 (sha256
2406 (base32 "0jd2spawc3v8vzqf8ky4cngl45jm65fhkrdf20mf6dcbn3mzpkmr"))
2407 (file-name (git-file-name "proc-parse" version))))
2408 (build-system asdf-build-system/sbcl)
2409 (arguments
2410 ;; FIXME: https://github.com/soemraws/parse-float/issues/12
2411 `(#:asd-systems '("parse-float" "parse-float-tests")))
2412 (native-inputs
2413 `(("lisp-unit" ,sbcl-lisp-unit)))
2414 (inputs
2415 `(("alexandria" ,sbcl-alexandria)))
2416 (home-page "https://github.com/soemraws/parse-float")
2417 (synopsis "Parse a floating point value from a string in Common Lisp")
2418 (description
2419 "This package exports the following function to parse floating-point
2420 values from a string in Common Lisp.")
2421 (license license:public-domain))))
2422
2423 (define-public cl-parse-float
2424 (sbcl-package->cl-source-package sbcl-parse-float))
2425
2426 (define-public ecl-parse-float
2427 (sbcl-package->ecl-package sbcl-parse-float))
2428
2429 (define-public sbcl-cl-string-match
2430 (let ((revision "1")
2431 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2432 (package
2433 (name "sbcl-cl-string-match")
2434 (version (git-version "0" revision changeset))
2435 (source
2436 (origin
2437 (method hg-fetch)
2438 (uri (hg-reference
2439 (url "https://bitbucket.org/vityok/cl-string-match/")
2440 (changeset changeset)))
2441 (sha256
2442 (base32
2443 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2444 (file-name (git-file-name "cl-string-match" version))))
2445 (build-system asdf-build-system/sbcl)
2446 (inputs
2447 `(("alexandria" ,sbcl-alexandria)
2448 ("babel" ,sbcl-babel)
2449 ("iterate" ,sbcl-iterate)
2450 ("jpl-queues" ,sbcl-jpl-queues)
2451 ("jpl-util" ,sbcl-jpl-util)
2452 ("mgl-pax" ,sbcl-mgl-pax)
2453 ("parse-float" ,sbcl-parse-float)
2454 ("proc-parse" ,sbcl-proc-parse)
2455 ("yacc" ,sbcl-cl-yacc)))
2456 ;; TODO: Tests are not evaluated properly.
2457 (native-inputs
2458 ;; For testing:
2459 `(("lisp-unit" ,sbcl-lisp-unit)))
2460 (arguments
2461 `(#:tests? #f))
2462 (synopsis "Set of utilities to manipulate strings in Common Lisp")
2463 (description
2464 "@command{cl-strings} is a small, portable, dependency-free set of
2465 utilities that make it even easier to manipulate text in Common Lisp. It has
2466 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
2467 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2468 (license license:bsd-3))))
2469
2470 (define-public cl-string-match
2471 (sbcl-package->cl-source-package sbcl-cl-string-match))
2472
2473 (define-public ecl-cl-string-match
2474 (sbcl-package->ecl-package sbcl-cl-string-match))
2475
2476 (define-public sbcl-ptester
2477 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2478 (revision "1"))
2479 (package
2480 (name "sbcl-ptester")
2481 (version (git-version "2.1.3" revision commit))
2482 (source
2483 (origin
2484 (method git-fetch)
2485 (uri (git-reference
2486 (url "http://git.kpe.io/ptester.git")
2487 (commit commit)))
2488 (file-name (git-file-name name version))
2489 (sha256
2490 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2491 (build-system asdf-build-system/sbcl)
2492 (home-page "http://quickdocs.org/ptester/")
2493 (synopsis "Portable test harness package")
2494 (description
2495 "@command{ptester} is a portable testing framework based on Franz's
2496 tester module.")
2497 (license license:llgpl))))
2498
2499 (define-public cl-ptester
2500 (sbcl-package->cl-source-package sbcl-ptester))
2501
2502 (define-public ecl-ptester
2503 (sbcl-package->ecl-package sbcl-ptester))
2504
2505 (define-public sbcl-puri
2506 (let ((commit "4bbab89d9ccbb26346899d1f496c97604fec567b")
2507 (revision "2"))
2508 (package
2509 (name "sbcl-puri")
2510 (version (git-version "1.5.7" revision commit))
2511 (source
2512 (origin
2513 (method git-fetch)
2514 (uri (git-reference
2515 (url "http://git.kpe.io/puri.git")
2516 (commit commit)))
2517 (file-name (git-file-name "puri" version))
2518 (sha256
2519 (base32 "0gq2rsr0aihs0z20v4zqvmdl4szq53b52rh97pvnmwrlbn4mapmd"))))
2520 (build-system asdf-build-system/sbcl)
2521 (native-inputs
2522 `(("ptester" ,sbcl-ptester)))
2523 (home-page "http://puri.kpe.io/")
2524 (synopsis "Portable URI Library")
2525 (description
2526 "This is a portable Universal Resource Identifier library for Common
2527 Lisp programs. It parses URI according to the RFC 2396 specification.")
2528 (license license:llgpl))))
2529
2530 (define-public cl-puri
2531 (sbcl-package->cl-source-package sbcl-puri))
2532
2533 (define-public ecl-puri
2534 (sbcl-package->ecl-package sbcl-puri))
2535
2536 (define-public sbcl-qmynd
2537 (let ((commit "7e56daf73f0ed5f49a931c01af75fb874bcf3445")
2538 (revision "1"))
2539 (package
2540 (name "sbcl-qmynd")
2541 (version (git-version "1.0.0" revision commit))
2542 (source
2543 (origin
2544 (method git-fetch)
2545 (uri (git-reference
2546 (url "https://github.com/qitab/qmynd")
2547 (commit commit)))
2548 (file-name (git-file-name name version))
2549 (sha256
2550 (base32
2551 "06gw5wxcpdclb6a5i5k9lbmdlyqsp182czrm9bm1cpklzbj0ihrl"))))
2552 (build-system asdf-build-system/sbcl)
2553 (inputs
2554 `(("asdf-finalizers" ,sbcl-asdf-finalizers)
2555 ("babel" ,sbcl-babel)
2556 ("chipz" ,sbcl-chipz)
2557 ("cl+ssl" ,sbcl-cl+ssl)
2558 ("flexi-streams" ,sbcl-flexi-streams)
2559 ("ironclad" ,sbcl-ironclad)
2560 ("salza2" ,sbcl-salza2)
2561 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
2562 ("usocket" ,sbcl-usocket)))
2563 (home-page "https://github.com/qitab/qmynd")
2564 (synopsis "QITAB MySQL Native Driver for Common Lisp")
2565 (description "QMyND, the QITAB MySQL Native Driver, is a MySQL client
2566 library that directly talks to a MySQL server in its native network protocol.
2567
2568 It's a part of QITAB umbrella project.")
2569 (license license:expat))))
2570
2571 (define-public ecl-qmynd
2572 (sbcl-package->ecl-package sbcl-qmynd))
2573
2574 (define-public cl-qmynd
2575 (sbcl-package->cl-source-package sbcl-qmynd))
2576
2577 (define-public sbcl-queues
2578 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2579 (package
2580 (name "sbcl-queues")
2581 (version (git-version "0.0.0" "1" commit))
2582 (source
2583 (origin
2584 (method git-fetch)
2585 (uri (git-reference
2586 (url "https://github.com/oconnore/queues")
2587 (commit commit)))
2588 (file-name (git-file-name "queues" version))
2589 (sha256
2590 (base32
2591 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2592 (build-system asdf-build-system/sbcl)
2593 (inputs
2594 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
2595 (arguments
2596 '(#:asd-systems '("queues"
2597 "queues.simple-queue"
2598 "queues.simple-cqueue"
2599 "queues.priority-queue"
2600 "queues.priority-cqueue")))
2601 (home-page "https://github.com/oconnore/queues")
2602 (synopsis "Common Lisp queue library")
2603 (description
2604 "This is a simple queue library for Common Lisp with features such as
2605 non-consing thread safe queues and fibonacci priority queues.")
2606 (license license:expat))))
2607
2608 (define-public cl-queues
2609 (sbcl-package->cl-source-package sbcl-queues))
2610
2611 (define-public ecl-queues
2612 (sbcl-package->ecl-package sbcl-queues))
2613
2614 (define-public sbcl-cffi
2615 (package
2616 (name "sbcl-cffi")
2617 (version "0.23.0")
2618 (source
2619 (origin
2620 (method git-fetch)
2621 (uri (git-reference
2622 (url "https://github.com/cffi/cffi")
2623 (commit (string-append "v" version))))
2624 (file-name (git-file-name "cffi-bootstrap" version))
2625 (sha256
2626 (base32 "03s98imc5niwnpj3hhrafl7dmxq45g74h96sm68976k7ahi3vl5b"))))
2627 (build-system asdf-build-system/sbcl)
2628 (inputs
2629 `(("alexandria" ,sbcl-alexandria)
2630 ("babel" ,sbcl-babel)
2631 ("libffi" ,libffi)
2632 ("trivial-features" ,sbcl-trivial-features)))
2633 (native-inputs
2634 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2635 ("pkg-config" ,pkg-config)
2636 ("rt" ,sbcl-rt)))
2637 (arguments
2638 '(#:phases
2639 (modify-phases %standard-phases
2640 (add-after 'unpack 'fix-arm-support
2641 (lambda _
2642 ;; This is apparently deprecated since libffi-3.3.
2643 (substitute* "libffi/libffi-types.lisp"
2644 (("\\\(\\\(:unix64.*") ")\n"))
2645 #t))
2646 (add-after 'unpack 'fix-paths
2647 (lambda* (#:key inputs #:allow-other-keys)
2648 (substitute* "libffi/libffi.lisp"
2649 (("libffi.so.7" all) (string-append
2650 (assoc-ref inputs "libffi")
2651 "/lib/" all)))
2652 (substitute* "toolchain/c-toolchain.lisp"
2653 (("\"cc\"") (format #f "~S" (which "gcc"))))))
2654 (add-after 'build 'install-headers
2655 (lambda* (#:key outputs #:allow-other-keys)
2656 (install-file "grovel/common.h"
2657 (string-append
2658 (assoc-ref outputs "out")
2659 "/include/grovel")))))
2660 #:asd-files '("cffi.asd"
2661 "cffi-toolchain.asd"
2662 "cffi-grovel.asd"
2663 "cffi-libffi.asd"
2664 "cffi-uffi-compat.asd")
2665 #:asd-systems '("cffi"
2666 "cffi-libffi"
2667 "cffi-uffi-compat")))
2668 (home-page "https://common-lisp.net/project/cffi/")
2669 (synopsis "Common Foreign Function Interface for Common Lisp")
2670 (description "The Common Foreign Function Interface (CFFI)
2671 purports to be a portable foreign function interface for Common Lisp.
2672 The CFFI library is composed of a Lisp-implementation-specific backend
2673 in the CFFI-SYS package, and a portable frontend in the CFFI
2674 package.")
2675 (license license:expat)))
2676
2677 (define-public cl-cffi
2678 (sbcl-package->cl-source-package sbcl-cffi))
2679
2680 (define-public ecl-cffi
2681 (sbcl-package->ecl-package sbcl-cffi))
2682
2683 (define-public sbcl-cl-sqlite
2684 (package
2685 (name "sbcl-cl-sqlite")
2686 (version "0.2.1")
2687 (source
2688 (origin
2689 (method git-fetch)
2690 (uri (git-reference
2691 (url "https://github.com/dmitryvk/cl-sqlite")
2692 (commit version)))
2693 (file-name (git-file-name "cl-sqlite" version))
2694 (sha256
2695 (base32
2696 "08iv7b4m0hh7qx2cvq4f510nrgdld0vicnvmqsh9w0fgrcgmyg4k"))))
2697 (build-system asdf-build-system/sbcl)
2698 (inputs
2699 `(("iterate" ,sbcl-iterate)
2700 ("cffi" ,sbcl-cffi)
2701 ("sqlite" ,sqlite)))
2702 (native-inputs
2703 `(("fiveam" ,sbcl-fiveam)
2704 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2705 (arguments
2706 `(#:asd-systems '("sqlite")
2707 #:phases
2708 (modify-phases %standard-phases
2709 (add-after 'unpack 'fix-paths
2710 (lambda* (#:key inputs #:allow-other-keys)
2711 (substitute* "sqlite-ffi.lisp"
2712 (("libsqlite3" all) (string-append
2713 (assoc-ref inputs "sqlite")"/lib/" all))))))))
2714 (home-page "https://common-lisp.net/project/cl-sqlite/")
2715 (synopsis "Common Lisp binding for SQLite")
2716 (description
2717 "The @command{cl-sqlite} package is an interface to the SQLite embedded
2718 relational database engine.")
2719 (license license:public-domain)))
2720
2721 (define-public cl-sqlite
2722 (sbcl-package->cl-source-package sbcl-cl-sqlite))
2723
2724 (define-public ecl-cl-sqlite
2725 (sbcl-package->ecl-package sbcl-cl-sqlite))
2726
2727 (define-public sbcl-parenscript
2728 ;; Source archives are overwritten on every release, we use the Git repo instead.
2729 (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766"))
2730 (package
2731 (name "sbcl-parenscript")
2732 (version (git-version "2.7.1" "1" commit))
2733 (source
2734 (origin
2735 (method git-fetch)
2736 (uri (git-reference
2737 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
2738 (commit commit)))
2739 (file-name (git-file-name "parenscript" version))
2740 (sha256
2741 (base32
2742 "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf"))))
2743 (build-system asdf-build-system/sbcl)
2744 (inputs
2745 `(("cl-ppcre" ,sbcl-cl-ppcre)
2746 ("anaphora" ,sbcl-anaphora)
2747 ("named-readtables" ,sbcl-named-readtables)))
2748 (home-page "https://common-lisp.net/project/parenscript/")
2749 (synopsis "Translator from a subset of Common Lisp to JavaScript")
2750 (description
2751 "Parenscript is a translator from an extended subset of Common Lisp to
2752 JavaScript. Parenscript code can run almost identically on both the
2753 browser (as JavaScript) and server (as Common Lisp).
2754
2755 Parenscript code is treated the same way as Common Lisp code, making the full
2756 power of Lisp macros available for JavaScript. This provides a web
2757 development environment that is unmatched in its ability to reduce code
2758 duplication and provide advanced meta-programming facilities to web
2759 developers.
2760
2761 At the same time, Parenscript is different from almost all other \"language
2762 X\" to JavaScript translators in that it imposes almost no overhead:
2763
2764 @itemize
2765 @item No run-time dependencies: Any piece of Parenscript code is runnable
2766 as-is. There are no JavaScript files to include.
2767 @item Native types: Parenscript works entirely with native JavaScript data
2768 types. There are no new types introduced, and object prototypes are not
2769 touched.
2770 @item Native calling convention: Any JavaScript code can be called without the
2771 need for bindings. Likewise, Parenscript can be used to make efficient,
2772 self-contained JavaScript libraries.
2773 @item Readable code: Parenscript generates concise, formatted, idiomatic
2774 JavaScript code. Identifier names are preserved. This enables seamless
2775 debugging in tools like Firebug.
2776 @item Efficiency: Parenscript introduces minimal overhead for advanced Common
2777 Lisp features. The generated code is almost as fast as hand-written
2778 JavaScript.
2779 @end itemize\n")
2780 (license license:bsd-3))))
2781
2782 (define-public cl-parenscript
2783 (sbcl-package->cl-source-package sbcl-parenscript))
2784
2785 (define-public ecl-parenscript
2786 (sbcl-package->ecl-package sbcl-parenscript))
2787
2788 (define-public sbcl-cl-json
2789 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
2790 (package
2791 (name "sbcl-cl-json")
2792 (version (git-version "0.5" "1" commit))
2793 (source
2794 (origin
2795 (method git-fetch)
2796 (uri (git-reference
2797 (url "https://github.com/hankhero/cl-json")
2798 (commit commit)))
2799 (file-name (git-file-name "cl-json" version))
2800 (sha256
2801 (base32
2802 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
2803 (build-system asdf-build-system/sbcl)
2804 (native-inputs
2805 `(("fiveam" ,sbcl-fiveam)))
2806 (home-page "https://github.com/hankhero/cl-json")
2807 (synopsis "JSON encoder and decoder for Common-Lisp")
2808 (description
2809 "@command{cl-json} provides an encoder of Lisp objects to JSON format
2810 and a corresponding decoder of JSON data to Lisp objects. Both the encoder
2811 and the decoder are highly customizable; at the same time, the default
2812 settings ensure a very simple mode of operation, similar to that provided by
2813 @command{yason} or @command{st-json}.")
2814 (license license:expat))))
2815
2816 (define-public cl-json
2817 (sbcl-package->cl-source-package sbcl-cl-json))
2818
2819 (define-public ecl-cl-json
2820 (sbcl-package->ecl-package sbcl-cl-json))
2821
2822 (define-public sbcl-unix-opts
2823 (package
2824 (name "sbcl-unix-opts")
2825 (version "0.1.7")
2826 (source
2827 (origin
2828 (method git-fetch)
2829 (uri (git-reference
2830 (url "https://github.com/libre-man/unix-opts")
2831 (commit version)))
2832 (file-name (git-file-name "unix-opts" version))
2833 (sha256
2834 (base32
2835 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
2836 (build-system asdf-build-system/sbcl)
2837 (home-page "https://github.com/hankhero/cl-json")
2838 (synopsis "Unix-style command line options parser")
2839 (description
2840 "This is a minimalistic parser of command line options. The main
2841 advantage of the library is the ability to concisely define command line
2842 options once and then use this definition for parsing and extraction of
2843 command line arguments, as well as printing description of command line
2844 options (you get --help for free). This way you don't need to repeat
2845 yourself. Also, @command{unix-opts} doesn't depend on anything and
2846 precisely controls the behavior of the parser via Common Lisp restarts.")
2847 (license license:expat)))
2848
2849 (define-public cl-unix-opts
2850 (sbcl-package->cl-source-package sbcl-unix-opts))
2851
2852 (define-public ecl-unix-opts
2853 (sbcl-package->ecl-package sbcl-unix-opts))
2854
2855 (define-public sbcl-trivial-garbage
2856 (package
2857 (name "sbcl-trivial-garbage")
2858 (version "0.21")
2859 (source
2860 (origin
2861 (method git-fetch)
2862 (uri (git-reference
2863 (url "https://github.com/trivial-garbage/trivial-garbage")
2864 (commit (string-append "v" version))))
2865 (file-name (git-file-name "trivial-garbage" version))
2866 (sha256
2867 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
2868 (build-system asdf-build-system/sbcl)
2869 (native-inputs
2870 `(("rt" ,sbcl-rt)))
2871 (home-page "https://common-lisp.net/project/trivial-garbage/")
2872 (synopsis "Portable GC-related APIs for Common Lisp")
2873 (description "@command{trivial-garbage} provides a portable API to
2874 finalizers, weak hash-tables and weak pointers on all major implementations of
2875 the Common Lisp programming language.")
2876 (license license:public-domain)))
2877
2878 (define-public cl-trivial-garbage
2879 (sbcl-package->cl-source-package sbcl-trivial-garbage))
2880
2881 (define-public ecl-trivial-garbage
2882 (sbcl-package->ecl-package sbcl-trivial-garbage))
2883
2884 (define-public sbcl-closer-mop
2885 (let ((commit "19c9d33f576e10715fd79cc1d4f688dab0f241d6"))
2886 (package
2887 (name "sbcl-closer-mop")
2888 (version (git-version "1.0.0" "2" commit))
2889 (source
2890 (origin
2891 (method git-fetch)
2892 (uri (git-reference
2893 (url "https://github.com/pcostanza/closer-mop")
2894 (commit commit)))
2895 (sha256
2896 (base32 "1w3x087wvlwkd6swfdgbvjfs6kazf0la8ax4pjfzikwjch4snn2c"))
2897 (file-name (git-file-name "closer-mop" version ))))
2898 (build-system asdf-build-system/sbcl)
2899 (home-page "https://github.com/pcostanza/closer-mop")
2900 (synopsis "Rectifies absent or incorrect CLOS MOP features")
2901 (description "Closer to MOP is a compatibility layer that rectifies many
2902 of the absent or incorrect CLOS MOP features across a broad range of Common
2903 Lisp implementations.")
2904 (license license:expat))))
2905
2906 (define-public cl-closer-mop
2907 (sbcl-package->cl-source-package sbcl-closer-mop))
2908
2909 (define-public ecl-closer-mop
2910 (sbcl-package->ecl-package sbcl-closer-mop))
2911
2912 (define-public sbcl-cl-cffi-gtk
2913 (let ((commit "e9a46df65995d9a16e6c8dbdc1e09b775eb4a966"))
2914 (package
2915 (name "sbcl-cl-cffi-gtk")
2916 (version (git-version "0.11.2" "2" commit))
2917 (source
2918 (origin
2919 (method git-fetch)
2920 (uri (git-reference
2921 (url "https://github.com/Ferada/cl-cffi-gtk/")
2922 (commit commit)))
2923 (file-name (git-file-name "cl-cffi-gtk" version))
2924 (sha256
2925 (base32
2926 "04vix0gmqsj91lm975sx7jhlnz5gq1xf9jp873mp7c8frc5dk1jj"))))
2927 (build-system asdf-build-system/sbcl)
2928 (native-inputs
2929 `(("fiveam" ,sbcl-fiveam)))
2930 (inputs
2931 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2932 ("cairo" ,cairo)
2933 ("cffi" ,sbcl-cffi)
2934 ("closer-mop" ,sbcl-closer-mop)
2935 ("gdk-pixbuf" ,gdk-pixbuf)
2936 ("glib" ,glib)
2937 ("gtk" ,gtk+)
2938 ("iterate" ,sbcl-iterate)
2939 ("pango" ,pango)
2940 ("trivial-features" ,sbcl-trivial-features)
2941 ("trivial-garbage" ,sbcl-trivial-garbage)))
2942 (arguments
2943 `(#:asd-files '("gtk/cl-cffi-gtk.asd"
2944 "glib/cl-cffi-gtk-glib.asd"
2945 "gobject/cl-cffi-gtk-gobject.asd"
2946 "gio/cl-cffi-gtk-gio.asd"
2947 "cairo/cl-cffi-gtk-cairo.asd"
2948 "pango/cl-cffi-gtk-pango.asd"
2949 "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
2950 "gdk/cl-cffi-gtk-gdk.asd")
2951 #:test-asd-file "test/cl-cffi-gtk-test.asd"
2952 ;; TODO: Tests fail with memory fault.
2953 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
2954 #:tests? #f
2955 #:phases
2956 (modify-phases %standard-phases
2957 (add-after 'unpack 'fix-paths
2958 (lambda* (#:key inputs #:allow-other-keys)
2959 (substitute* "glib/glib.init.lisp"
2960 (("libglib|libgthread" all)
2961 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2962 (substitute* "gobject/gobject.init.lisp"
2963 (("libgobject" all)
2964 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2965 (substitute* "gio/gio.init.lisp"
2966 (("libgio" all)
2967 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2968 (substitute* "cairo/cairo.init.lisp"
2969 (("libcairo" all)
2970 (string-append (assoc-ref inputs "cairo") "/lib/" all)))
2971 (substitute* "pango/pango.init.lisp"
2972 (("libpango" all)
2973 (string-append (assoc-ref inputs "pango") "/lib/" all)))
2974 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
2975 (("libgdk_pixbuf" all)
2976 (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))
2977 (substitute* "gdk/gdk.init.lisp"
2978 (("libgdk" all)
2979 (string-append (assoc-ref inputs "gtk") "/lib/" all)))
2980 (substitute* "gdk/gdk.package.lisp"
2981 (("libgtk" all)
2982 (string-append (assoc-ref inputs "gtk") "/lib/" all))))))))
2983 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
2984 (synopsis "Common Lisp binding for GTK+3")
2985 (description
2986 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
2987 is a library for creating graphical user interfaces.")
2988 (license license:lgpl3))))
2989
2990 (define-public cl-cffi-gtk
2991 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
2992
2993 (define-public ecl-cl-cffi-gtk
2994 (sbcl-package->ecl-package sbcl-cl-cffi-gtk))
2995
2996 (define-public sbcl-cl-webkit
2997 (let ((commit "5ce3ea1fbf2b21e7ccb98402a818508ca9b79395"))
2998 (package
2999 (name "sbcl-cl-webkit")
3000 (version (git-version "2.4" "10" commit))
3001 (source
3002 (origin
3003 (method git-fetch)
3004 (uri (git-reference
3005 (url "https://github.com/joachifm/cl-webkit")
3006 (commit commit)))
3007 (file-name (git-file-name "cl-webkit" version))
3008 (sha256
3009 (base32
3010 "0zgd8hp2nalh0v4xgjvqxd6rf95f7mci181xbg3gmqxxwxd4mkpk"))))
3011 (build-system asdf-build-system/sbcl)
3012 (inputs
3013 `(("cffi" ,sbcl-cffi)
3014 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3015 ("webkitgtk" ,webkitgtk)))
3016 (arguments
3017 `(#:asd-systems '("cl-webkit2")
3018 #:phases
3019 (modify-phases %standard-phases
3020 (add-after 'unpack 'fix-paths
3021 (lambda* (#:key inputs #:allow-other-keys)
3022 (substitute* "webkit2/webkit2.init.lisp"
3023 (("libwebkit2gtk" all)
3024 (string-append
3025 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
3026 (home-page "https://github.com/joachifm/cl-webkit")
3027 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3028 (description
3029 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3030 currently targeting WebKit version 2. The WebKitGTK+ library adds web
3031 browsing capabilities to an application, leveraging the full power of the
3032 WebKit browsing engine.")
3033 (license license:expat))))
3034
3035 (define-public cl-webkit
3036 (sbcl-package->cl-source-package sbcl-cl-webkit))
3037
3038 (define-public ecl-cl-webkit
3039 (sbcl-package->ecl-package sbcl-cl-webkit))
3040
3041 (define-public sbcl-lparallel
3042 (package
3043 (name "sbcl-lparallel")
3044 (version "2.8.4")
3045 (source
3046 (origin
3047 (method git-fetch)
3048 (uri (git-reference
3049 (url "https://github.com/lmj/lparallel/")
3050 (commit (string-append "lparallel-" version))))
3051 (file-name (git-file-name "lparallel" version))
3052 (sha256
3053 (base32
3054 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3055 (build-system asdf-build-system/sbcl)
3056 (inputs
3057 `(("alexandria" ,sbcl-alexandria)
3058 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3059 ("trivial-garbage" ,sbcl-trivial-garbage)))
3060 (arguments
3061 `(#:phases
3062 (modify-phases %standard-phases
3063 (add-after 'unpack 'fix-dependency
3064 ;; lparallel loads a SBCL specific system in its asd file. This is
3065 ;; not carried over into the fasl which is generated. In order for
3066 ;; it to be carried over, it needs to be listed as a dependency.
3067 (lambda _
3068 (substitute* "lparallel.asd"
3069 ((":depends-on \\(:alexandria" all)
3070 (string-append all " #+sbcl :sb-cltl2"))))))))
3071 (home-page "https://lparallel.org/")
3072 (synopsis "Parallelism for Common Lisp")
3073 (description
3074 "@command{lparallel} is a library for parallel programming in Common
3075 Lisp, featuring:
3076
3077 @itemize
3078 @item a simple model of task submission with receiving queue,
3079 @item constructs for expressing fine-grained parallelism,
3080 @item asynchronous condition handling across thread boundaries,
3081 @item parallel versions of map, reduce, sort, remove, and many others,
3082 @item promises, futures, and delayed evaluation constructs,
3083 @item computation trees for parallelizing interconnected tasks,
3084 @item bounded and unbounded FIFO queues,
3085 @item high and low priority tasks,
3086 @item task killing by category,
3087 @item integrated timeouts.
3088 @end itemize\n")
3089 (license license:expat)))
3090
3091 (define-public cl-lparallel
3092 (sbcl-package->cl-source-package sbcl-lparallel))
3093
3094 (define-public ecl-lparallel
3095 (package
3096 (inherit (sbcl-package->ecl-package sbcl-lparallel))
3097 (arguments
3098 ;; TODO: Find why the tests get stuck forever; disable them for now.
3099 `(#:tests? #f))))
3100
3101 (define-public sbcl-cl-markup
3102 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3103 (package
3104 (name "sbcl-cl-markup")
3105 (version (git-version "0.1" "1" commit))
3106 (source
3107 (origin
3108 (method git-fetch)
3109 (uri (git-reference
3110 (url "https://github.com/arielnetworks/cl-markup/")
3111 (commit commit)))
3112 (file-name (git-file-name "cl-markup" version))
3113 (sha256
3114 (base32
3115 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3116 (build-system asdf-build-system/sbcl)
3117 (home-page "https://github.com/arielnetworks/cl-markup/")
3118 (synopsis "Markup generation library for Common Lisp")
3119 (description
3120 "A modern markup generation library for Common Lisp that features:
3121
3122 @itemize
3123 @item Fast (even faster through compiling the code)
3124 @item Safety
3125 @item Support for multiple document types (markup, xml, html, html5, xhtml)
3126 @item Output with doctype
3127 @item Direct output to stream
3128 @end itemize\n")
3129 (license license:lgpl3+))))
3130
3131 (define-public cl-markup
3132 (sbcl-package->cl-source-package sbcl-cl-markup))
3133
3134 (define-public ecl-cl-markup
3135 (sbcl-package->ecl-package sbcl-cl-markup))
3136
3137 (define-public sbcl-cl-mustache
3138 (package
3139 (name "sbcl-cl-mustache")
3140 (version "0.12.1")
3141 (source
3142 (origin
3143 (method git-fetch)
3144 (uri (git-reference
3145 (url "https://github.com/kanru/cl-mustache")
3146 (commit (string-append "v" version))))
3147 (file-name (git-file-name "cl-mustache" version))
3148 (sha256
3149 (base32 "149xbb6wxq1napliwm9cv729hwcgfnjli6y8hingfixz7f10lhks"))))
3150 (build-system asdf-build-system/sbcl)
3151 (home-page "https://github.com/kanru/cl-mustache")
3152 (synopsis "Common Lisp Mustache template renderer")
3153 (description "This is a Common Lisp implementation for the Mustache
3154 template system. More details on the standard are available at
3155 @url{https://mustache.github.io}.")
3156 (license license:expat)))
3157
3158 (define-public cl-mustache
3159 (sbcl-package->cl-source-package sbcl-cl-mustache))
3160
3161 (define-public ecl-cl-mustache
3162 (sbcl-package->ecl-package sbcl-cl-mustache))
3163
3164 (define-public sbcl-cl-css
3165 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3166 (package
3167 (name "sbcl-cl-css")
3168 (version (git-version "0.1" "1" commit))
3169 (source
3170 (origin
3171 (method git-fetch)
3172 (uri (git-reference
3173 (url "https://github.com/inaimathi/cl-css/")
3174 (commit commit)))
3175 (file-name (git-file-name "cl-css" version))
3176 (sha256
3177 (base32
3178 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3179 (build-system asdf-build-system/sbcl)
3180 (home-page "https://github.com/inaimathi/cl-css/")
3181 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3182 (description
3183 "This is a dead-simple, non validating, inline CSS generator for Common
3184 Lisp. Its goals are axiomatic syntax, simple implementation to support
3185 portability, and boilerplate reduction in CSS.")
3186 (license license:expat))))
3187
3188 (define-public cl-css
3189 (sbcl-package->cl-source-package sbcl-cl-css))
3190
3191 (define-public ecl-cl-css
3192 (sbcl-package->ecl-package sbcl-cl-css))
3193
3194 (define-public sbcl-portable-threads
3195 (let ((commit "aa26bf38338a6b068bf8bfb3375d8d8c3b0a28df"))
3196 (package
3197 (name "sbcl-portable-threads")
3198 (version (git-version "2.3" "2" commit))
3199 (source
3200 (origin
3201 (method git-fetch)
3202 (uri (git-reference
3203 (url "https://github.com/binghe/portable-threads/")
3204 (commit commit)))
3205 (file-name (git-file-name "portable-threads" version))
3206 (sha256
3207 (base32 "058ksi07vfdmhrf5mdlc833s82m1rcqfja2266520m3r8bzs8bvs"))))
3208 (build-system asdf-build-system/sbcl)
3209 (arguments
3210 `(;; Tests seem broken.
3211 #:tests? #f))
3212 (home-page "https://github.com/binghe/portable-threads")
3213 (synopsis "Portable threads API for Common Lisp")
3214 (description
3215 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3216 Lisp (from GBBopen project).")
3217 (license license:asl2.0))))
3218
3219 (define-public cl-portable-threads
3220 (sbcl-package->cl-source-package sbcl-portable-threads))
3221
3222 (define-public ecl-portable-threads
3223 (sbcl-package->ecl-package sbcl-portable-threads))
3224
3225 (define-public sbcl-usocket
3226 (package
3227 (name "sbcl-usocket")
3228 (version "0.8.3")
3229 (source
3230 (origin
3231 (method git-fetch)
3232 (uri (git-reference
3233 (url "https://github.com/usocket/usocket/")
3234 (commit (string-append "v" version))))
3235 (file-name (git-file-name "usocket" version))
3236 (sha256
3237 (base32
3238 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3239 (build-system asdf-build-system/sbcl)
3240 (native-inputs
3241 `(("rt" ,sbcl-rt)))
3242 (inputs
3243 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3244 ("split-sequence" ,sbcl-split-sequence)))
3245 (arguments
3246 `(#:tests? #f ; FIXME: Tests need network access?
3247 #:asd-systems '("usocket"
3248 "usocket-server")))
3249 (home-page "https://common-lisp.net/project/usocket/")
3250 (synopsis "Universal socket library for Common Lisp")
3251 (description
3252 "This library strives to provide a portable TCP/IP and UDP/IP socket
3253 interface for as many Common Lisp implementations as possible, while keeping
3254 the abstraction and portability layer as thin as possible.")
3255 (license license:expat)))
3256
3257 (define-public cl-usocket
3258 (sbcl-package->cl-source-package sbcl-usocket))
3259
3260 (define-public ecl-usocket
3261 (sbcl-package->ecl-package sbcl-usocket))
3262
3263 (define-public sbcl-s-xml
3264 (package
3265 (name "sbcl-s-xml")
3266 (version "3")
3267 (source
3268 (origin
3269 (method url-fetch)
3270 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3271 (sha256
3272 (base32
3273 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3274 (build-system asdf-build-system/sbcl)
3275 (home-page "https://common-lisp.net/project/s-xml/")
3276 (synopsis "Simple XML parser implemented in Common Lisp")
3277 (description
3278 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3279 parser implementation has the following features:
3280
3281 @itemize
3282 @item It works (handling many common XML usages).
3283 @item It is very small (the core is about 700 lines of code, including
3284 comments and whitespace).
3285 @item It has a core API that is simple, efficient and pure functional, much
3286 like that from SSAX (see also http://ssax.sourceforge.net).
3287 @item It supports different DOM models: an XSML-based one, an LXML-based one
3288 and a classic xml-element struct based one.
3289 @item It is reasonably time and space efficient (internally avoiding garbage
3290 generatation as much as possible).
3291 @item It does support CDATA.
3292 @item It should support the same character sets as your Common Lisp
3293 implementation.
3294 @item It does support XML name spaces.
3295 @end itemize
3296
3297 This XML parser implementation has the following limitations:
3298
3299 @itemize
3300 @item It does not support any special tags (like processing instructions).
3301 @item It is not validating, even skips DTD's all together.
3302 @end itemize\n")
3303 (license license:lgpl3+)))
3304
3305 (define-public cl-s-xml
3306 (sbcl-package->cl-source-package sbcl-s-xml))
3307
3308 (define-public ecl-s-xml
3309 (sbcl-package->ecl-package sbcl-s-xml))
3310
3311 (define-public sbcl-s-xml-rpc
3312 (package
3313 (name "sbcl-s-xml-rpc")
3314 (version "7")
3315 (source
3316 (origin
3317 (method url-fetch)
3318 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3319 (sha256
3320 (base32
3321 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3322 (build-system asdf-build-system/sbcl)
3323 (inputs
3324 `(("s-xml" ,sbcl-s-xml)))
3325 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3326 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3327 (description
3328 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3329 client and server.")
3330 (license license:lgpl3+)))
3331
3332 (define-public cl-s-xml-rpc
3333 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3334
3335 (define-public ecl-s-xml-rpc
3336 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3337
3338 (define-public sbcl-trivial-arguments
3339 (let ((commit "ecd84ed9cf9ef8f1e873d7409e6bd04979372aa7")
3340 (revision "1"))
3341 (package
3342 (name "sbcl-trivial-arguments")
3343 (version (git-version "1.1.0" revision commit))
3344 (source
3345 (origin
3346 (method git-fetch)
3347 (uri (git-reference
3348 (url "https://github.com/Shinmera/trivial-arguments")
3349 (commit commit)))
3350 (file-name (git-file-name "trivial-arguments" version))
3351 (sha256
3352 (base32 "02vaqfavhj8jqxnr68nnzvzshm8jbgcy6m9lvyv4daa6f7ihqf88"))))
3353 (build-system asdf-build-system/sbcl)
3354 (home-page "https://github.com/Shinmera/trivial-arguments")
3355 (synopsis "Common Lisp library to retrieve a function's lambda-list")
3356 (description
3357 "This is a simple library to retrieve the argument list of a function.")
3358 (license license:zlib))))
3359
3360 (define-public ecl-trivial-arguments
3361 (sbcl-package->ecl-package sbcl-trivial-arguments))
3362
3363 (define-public cl-trivial-arguments
3364 (sbcl-package->cl-source-package sbcl-trivial-arguments))
3365
3366 (define-public sbcl-trivial-clipboard
3367 (let ((commit "afcd3743b842f5a81fc86dba60f9db59970f49c5"))
3368 (package
3369 (name "sbcl-trivial-clipboard")
3370 (version (git-version "0.0.0.0" "3" commit))
3371 (source
3372 (origin
3373 (method git-fetch)
3374 (uri (git-reference
3375 (url "https://github.com/snmsts/trivial-clipboard")
3376 (commit commit)))
3377 (file-name (git-file-name "trivial-clipboard" version))
3378 (sha256
3379 (base32
3380 "1qfbvkzmvkbqpc5s3sx31c5653sy6qlcixafgzd10qpykb843prr"))))
3381 (build-system asdf-build-system/sbcl)
3382 (inputs
3383 `(("xclip" ,xclip)))
3384 (native-inputs
3385 `(("fiveam" ,sbcl-fiveam)))
3386 (arguments
3387 `(#:phases
3388 (modify-phases %standard-phases
3389 (add-after 'unpack 'fix-paths
3390 (lambda* (#:key inputs #:allow-other-keys)
3391 (substitute* "src/text.lisp"
3392 (("\\(executable-find \"xclip\"\\)")
3393 (string-append "(executable-find \""
3394 (assoc-ref inputs "xclip")
3395 "/bin/xclip\")"))))))))
3396 (home-page "https://github.com/snmsts/trivial-clipboard")
3397 (synopsis "Access system clipboard in Common Lisp")
3398 (description
3399 "@command{trivial-clipboard} gives access to the system clipboard.")
3400 (license license:expat))))
3401
3402 (define-public cl-trivial-clipboard
3403 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3404
3405 (define-public ecl-trivial-clipboard
3406 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3407
3408 (define-public sbcl-trivial-backtrace
3409 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3410 (revision "1"))
3411 (package
3412 (name "sbcl-trivial-backtrace")
3413 (version (git-version "0.0.0" revision commit))
3414 (source
3415 (origin
3416 (method git-fetch)
3417 (uri (git-reference
3418 (url "https://github.com/gwkkwg/trivial-backtrace")
3419 (commit commit)))
3420 (file-name (git-file-name "trivial-backtrace" version))
3421 (sha256
3422 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3423 (build-system asdf-build-system/sbcl)
3424 (inputs
3425 `(("sbcl-lift" ,sbcl-lift)))
3426 (arguments
3427 `(#:phases
3428 (modify-phases %standard-phases
3429 (add-after 'check 'delete-test-results
3430 (lambda* (#:key outputs #:allow-other-keys)
3431 (let ((test-results (string-append (assoc-ref outputs "out")
3432 "/share/common-lisp/"
3433 (%lisp-type)
3434 "/trivial-backtrace"
3435 "/test-results")))
3436 (when (file-exists? test-results)
3437 (delete-file-recursively test-results)))
3438 #t)))))
3439 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3440 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3441 (description
3442 "One of the many things that didn't quite get into the Common Lisp
3443 standard was how to get a Lisp to output its call stack when something has
3444 gone wrong. As such, each Lisp has developed its own notion of what to
3445 display, how to display it, and what sort of arguments can be used to
3446 customize it. @code{trivial-backtrace} is a simple solution to generating a
3447 backtrace portably.")
3448 (license license:expat))))
3449
3450 (define-public cl-trivial-backtrace
3451 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3452
3453 (define-public ecl-trivial-backtrace
3454 (sbcl-package->ecl-package sbcl-trivial-backtrace))
3455
3456 (define-public sbcl-rfc2388
3457 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3458 (revision "1"))
3459 (package
3460 (name "sbcl-rfc2388")
3461 (version (git-version "0.0.0" revision commit))
3462 (source
3463 (origin
3464 (method git-fetch)
3465 (uri (git-reference
3466 (url "https://github.com/jdz/rfc2388")
3467 (commit commit)))
3468 (file-name (git-file-name "rfc2388" version))
3469 (sha256
3470 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3471 (build-system asdf-build-system/sbcl)
3472 (home-page "https://github.com/jdz/rfc2388/")
3473 (synopsis "An implementation of RFC 2388 in Common Lisp")
3474 (description
3475 "This package contains an implementation of RFC 2388, which is used to
3476 process form data posted with HTTP POST method using enctype
3477 \"multipart/form-data\".")
3478 (license license:bsd-2))))
3479
3480 (define-public cl-rfc2388
3481 (sbcl-package->cl-source-package sbcl-rfc2388))
3482
3483 (define-public ecl-rfc2388
3484 (sbcl-package->ecl-package sbcl-rfc2388))
3485
3486 (define-public sbcl-md5
3487 (package
3488 (name "sbcl-md5")
3489 (version "2.0.4")
3490 (source
3491 (origin
3492 (method git-fetch)
3493 (uri (git-reference
3494 (url "https://github.com/pmai/md5")
3495 (commit (string-append "release-" version))))
3496 (file-name (git-file-name "md5" version))
3497 (sha256
3498 (base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
3499 (build-system asdf-build-system/sbcl)
3500 (home-page "https://github.com/pmai/md5")
3501 (synopsis
3502 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3503 (description
3504 "This package implements The MD5 Message-Digest Algorithm, as defined in
3505 RFC 1321 by R. Rivest, published April 1992.")
3506 (license license:public-domain)))
3507
3508 (define-public cl-md5
3509 (sbcl-package->cl-source-package sbcl-md5))
3510
3511 (define-public ecl-md5
3512 (package
3513 (inherit (sbcl-package->ecl-package sbcl-md5))
3514 (inputs
3515 `(("flexi-streams" ,ecl-flexi-streams)))))
3516
3517 (define-public sbcl-cl+ssl
3518 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
3519 (revision "1"))
3520 (package
3521 (name "sbcl-cl+ssl")
3522 (version (git-version "0.0.0" revision commit))
3523 (source
3524 (origin
3525 (method git-fetch)
3526 (uri (git-reference
3527 (url "https://github.com/cl-plus-ssl/cl-plus-ssl")
3528 (commit commit)))
3529 (file-name (git-file-name "cl+ssl" version))
3530 (sha256
3531 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
3532 (build-system asdf-build-system/sbcl)
3533 (arguments
3534 '(#:phases
3535 (modify-phases %standard-phases
3536 (add-after 'unpack 'fix-paths
3537 (lambda* (#:key inputs #:allow-other-keys)
3538 (substitute* "src/reload.lisp"
3539 (("libssl.so" all)
3540 (string-append
3541 (assoc-ref inputs "openssl") "/lib/" all))))))))
3542 (inputs
3543 `(("openssl" ,openssl)
3544 ("sbcl-cffi" ,sbcl-cffi)
3545 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3546 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3547 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3548 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3549 ("sbcl-alexandria" ,sbcl-alexandria)
3550 ("sbcl-trivial-features" ,sbcl-trivial-features)))
3551 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
3552 (synopsis "Common Lisp bindings to OpenSSL")
3553 (description
3554 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3555 code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3556 Development into CL+SSL was done by David Lichteblau.")
3557 (license license:expat))))
3558
3559 (define-public cl-cl+ssl
3560 (sbcl-package->cl-source-package sbcl-cl+ssl))
3561
3562 (define-public ecl-cl+ssl
3563 (sbcl-package->ecl-package sbcl-cl+ssl))
3564
3565 (define-public sbcl-kmrcl
3566 (let ((version "1.111")
3567 (commit "4a27407aad9deb607ffb8847630cde3d041ea25a")
3568 (revision "1"))
3569 (package
3570 (name "sbcl-kmrcl")
3571 (version (git-version version revision commit))
3572 (source
3573 (origin
3574 (method git-fetch)
3575 (uri (git-reference
3576 (url "http://git.kpe.io/kmrcl.git/")
3577 (commit commit)))
3578 (file-name (git-file-name name version))
3579 (sha256
3580 (base32 "06gx04mah5nc8w78s0j8628divbf1s5w7af8w7pvzb2d5mgvrbd2"))))
3581 (build-system asdf-build-system/sbcl)
3582 (inputs
3583 `(("sbcl-rt" ,sbcl-rt)))
3584 (home-page "http://files.kpe.io/kmrcl/")
3585 (synopsis "General utilities for Common Lisp programs")
3586 (description
3587 "KMRCL is a collection of utilities used by a number of Kevin
3588 Rosenberg's Common Lisp packages.")
3589 (license license:llgpl))))
3590
3591 (define-public cl-kmrcl
3592 (sbcl-package->cl-source-package sbcl-kmrcl))
3593
3594 (define-public ecl-kmrcl
3595 (sbcl-package->ecl-package sbcl-kmrcl))
3596
3597 (define-public sbcl-cl-base64
3598 ;; 3.3.4 tests are broken, upstream fixes them.
3599 (let ((commit "577683b18fd880b82274d99fc96a18a710e3987a"))
3600 (package
3601 (name "sbcl-cl-base64")
3602 (version (git-version "3.3.4" "1" commit))
3603 (source
3604 (origin
3605 (method git-fetch)
3606 (uri (git-reference
3607 (url "http://git.kpe.io/cl-base64.git/")
3608 (commit commit)))
3609 (file-name (git-file-name name version))
3610 (sha256
3611 (base32 "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj"))))
3612 (build-system asdf-build-system/sbcl)
3613 (native-inputs ; For tests.
3614 `(("sbcl-ptester" ,sbcl-ptester)
3615 ("sbcl-kmrcl" ,sbcl-kmrcl)))
3616 (home-page "http://files.kpe.io/cl-base64/")
3617 (synopsis
3618 "Common Lisp package to encode and decode base64 with URI support")
3619 (description
3620 "This package provides highly optimized base64 encoding and decoding.
3621 Besides conversion to and from strings, integer conversions are supported.
3622 Encoding with Uniform Resource Identifiers is supported by using a modified
3623 encoding table that uses only URI-compatible characters.")
3624 (license license:bsd-3))))
3625
3626 (define-public cl-base64
3627 (sbcl-package->cl-source-package sbcl-cl-base64))
3628
3629 (define-public ecl-cl-base64
3630 (sbcl-package->ecl-package sbcl-cl-base64))
3631
3632 (define-public sbcl-chunga
3633 (package
3634 (name "sbcl-chunga")
3635 (version "1.1.7")
3636 (source
3637 (origin
3638 (method git-fetch)
3639 (uri (git-reference
3640 (url "https://github.com/edicl/chunga")
3641 (commit (string-append "v" version))))
3642 (file-name (git-file-name name version))
3643 (sha256
3644 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
3645 (build-system asdf-build-system/sbcl)
3646 (inputs
3647 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3648 (home-page "https://edicl.github.io/chunga/")
3649 (synopsis "Portable chunked streams for Common Lisp")
3650 (description
3651 "Chunga implements streams capable of chunked encoding on demand as
3652 defined in RFC 2616.")
3653 (license license:bsd-2)))
3654
3655 (define-public cl-chunga
3656 (sbcl-package->cl-source-package sbcl-chunga))
3657
3658 (define-public ecl-chunga
3659 (sbcl-package->ecl-package sbcl-chunga))
3660
3661 (define-public sbcl-cl-who
3662 (let ((version "1.1.4")
3663 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
3664 (revision "1"))
3665 (package
3666 (name "sbcl-cl-who")
3667 (version (git-version version revision commit))
3668 (source
3669 (origin
3670 (method git-fetch)
3671 (uri (git-reference
3672 (url "https://github.com/edicl/cl-who")
3673 (commit commit)))
3674 (file-name (git-file-name name version))
3675 (sha256
3676 (base32
3677 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
3678 (build-system asdf-build-system/sbcl)
3679 (native-inputs
3680 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3681 (home-page "https://edicl.github.io/cl-who/")
3682 (synopsis "Yet another Lisp markup language")
3683 (description
3684 "There are plenty of Lisp Markup Languages out there - every Lisp
3685 programmer seems to write at least one during his career - and CL-WHO (where
3686 WHO means \"with-html-output\" for want of a better acronym) is probably just
3687 as good or bad as the next one.")
3688 (license license:bsd-2))))
3689
3690 (define-public cl-who
3691 (sbcl-package->cl-source-package sbcl-cl-who))
3692
3693 (define-public ecl-cl-who
3694 (sbcl-package->ecl-package sbcl-cl-who))
3695
3696 (define-public sbcl-chipz
3697 (let ((version "0.8")
3698 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
3699 (revision "1"))
3700 (package
3701 (name "sbcl-chipz")
3702 (version (git-version version revision commit))
3703 (source
3704 (origin
3705 (method git-fetch)
3706 (uri (git-reference
3707 (url "https://github.com/froydnj/chipz")
3708 (commit commit)))
3709 (file-name (git-file-name name version))
3710 (sha256
3711 (base32
3712 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
3713 (build-system asdf-build-system/sbcl)
3714 (native-inputs
3715 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3716 (home-page "http://method-combination.net/lisp/chipz/")
3717 (synopsis
3718 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
3719 data")
3720 (description
3721 "DEFLATE data, defined in RFC1951, forms the core of popular
3722 compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
3723 Chipz also provides for decompressing data in those formats as well. BZIP2 is
3724 the format used by the popular compression tool bzip2.")
3725 ;; The author describes it as "MIT-like"
3726 (license license:expat))))
3727
3728 (define-public cl-chipz
3729 (sbcl-package->cl-source-package sbcl-chipz))
3730
3731 (define-public ecl-chipz
3732 (sbcl-package->ecl-package sbcl-chipz))
3733
3734 (define-public sbcl-drakma
3735 (package
3736 (name "sbcl-drakma")
3737 (version "2.0.7")
3738 (source
3739 (origin
3740 (method git-fetch)
3741 (uri (git-reference
3742 (url "https://github.com/edicl/drakma")
3743 (commit (string-append "v" version))))
3744 (file-name (git-file-name name version))
3745 (sha256
3746 (base32
3747 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
3748 (build-system asdf-build-system/sbcl)
3749 (inputs
3750 `(("sbcl-puri" ,sbcl-puri)
3751 ("sbcl-cl-base64" ,sbcl-cl-base64)
3752 ("sbcl-chunga" ,sbcl-chunga)
3753 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3754 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3755 ("sbcl-chipz" ,sbcl-chipz)
3756 ("sbcl-usocket" ,sbcl-usocket)
3757 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
3758 (native-inputs
3759 `(("sbcl-fiveam" ,sbcl-fiveam)))
3760 (home-page "https://edicl.github.io/drakma/")
3761 (synopsis "HTTP client written in Common Lisp")
3762 (description
3763 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
3764 knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
3765 sockets, SSL, continuable uploads, file uploads, cookies, and more.")
3766 (license license:bsd-2)))
3767
3768 (define-public cl-drakma
3769 (sbcl-package->cl-source-package sbcl-drakma))
3770
3771 (define-public ecl-drakma
3772 (sbcl-package->ecl-package sbcl-drakma))
3773
3774 (define-public sbcl-hunchentoot
3775 (package
3776 (name "sbcl-hunchentoot")
3777 (version "1.2.38")
3778 (source
3779 (origin
3780 (method git-fetch)
3781 (uri (git-reference
3782 (url "https://github.com/edicl/hunchentoot")
3783 (commit (string-append "v" version))))
3784 (file-name (git-file-name "hunchentoot" version))
3785 (sha256
3786 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
3787 (build-system asdf-build-system/sbcl)
3788 (native-inputs
3789 `(("sbcl-cl-who" ,sbcl-cl-who)
3790 ("sbcl-drakma" ,sbcl-drakma)))
3791 (inputs
3792 `(("sbcl-chunga" ,sbcl-chunga)
3793 ("sbcl-cl-base64" ,sbcl-cl-base64)
3794 ("sbcl-cl-fad" ,sbcl-cl-fad)
3795 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3796 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3797 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
3798 ("sbcl-md5" ,sbcl-md5)
3799 ("sbcl-rfc2388" ,sbcl-rfc2388)
3800 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
3801 ("sbcl-usocket" ,sbcl-usocket)))
3802 (home-page "https://edicl.github.io/hunchentoot/")
3803 (synopsis "Web server written in Common Lisp")
3804 (description
3805 "Hunchentoot is a web server written in Common Lisp and at the same
3806 time a toolkit for building dynamic websites. As a stand-alone web server,
3807 Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
3808 connections (keep-alive), and SSL.")
3809 (license license:bsd-2)))
3810
3811 (define-public cl-hunchentoot
3812 (sbcl-package->cl-source-package sbcl-hunchentoot))
3813
3814 (define-public ecl-hunchentoot
3815 (package
3816 (inherit (sbcl-package->ecl-package sbcl-hunchentoot))
3817 (arguments
3818 ;; Tests fail on ECL with 'Socket error in "socket": EINVAL'.
3819 '(#:tests? #f))))
3820
3821 (define-public sbcl-trivial-types
3822 (package
3823 (name "sbcl-trivial-types")
3824 (version "0.0.1")
3825 (source
3826 (origin
3827 (method git-fetch)
3828 (uri (git-reference
3829 (url "https://github.com/m2ym/trivial-types")
3830 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
3831 (file-name (git-file-name name version))
3832 (sha256
3833 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
3834 (build-system asdf-build-system/sbcl)
3835 (home-page "https://github.com/m2ym/trivial-types")
3836 (synopsis "Trivial type definitions for Common Lisp")
3837 (description
3838 "TRIVIAL-TYPES provides missing but important type definitions such as
3839 PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
3840 (license license:llgpl)))
3841
3842 (define-public cl-trivial-types
3843 (sbcl-package->cl-source-package sbcl-trivial-types))
3844
3845 (define-public ecl-trivial-types
3846 (sbcl-package->ecl-package sbcl-trivial-types))
3847
3848 (define-public sbcl-cl-annot
3849 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
3850 (revision "1"))
3851 (package
3852 (name "sbcl-cl-annot")
3853 (version (git-version "0.0.0" revision commit))
3854 (source
3855 (origin
3856 (method git-fetch)
3857 (uri (git-reference
3858 (url "https://github.com/m2ym/cl-annot")
3859 (commit commit)))
3860 (file-name (git-file-name name version))
3861 (sha256
3862 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
3863 (build-system asdf-build-system/sbcl)
3864 (inputs
3865 `(("sbcl-alexandria" ,sbcl-alexandria)))
3866 (home-page "https://github.com/m2ym/cl-annot")
3867 (synopsis "Python-like Annotation Syntax for Common Lisp.")
3868 (description
3869 "@code{cl-annot} is an general annotation library for Common Lisp.")
3870 (license license:llgpl))))
3871
3872 (define-public cl-annot
3873 (sbcl-package->cl-source-package sbcl-cl-annot))
3874
3875 (define-public ecl-cl-annot
3876 (sbcl-package->ecl-package sbcl-cl-annot))
3877
3878 (define-public sbcl-cl-syntax
3879 (package
3880 (name "sbcl-cl-syntax")
3881 (version "0.0.3")
3882 (source
3883 (origin
3884 (method git-fetch)
3885 (uri (git-reference
3886 (url "https://github.com/m2ym/cl-syntax")
3887 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
3888 (file-name (git-file-name "cl-syntax" version))
3889 (sha256
3890 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
3891 (build-system asdf-build-system/sbcl)
3892 (inputs
3893 `(("cl-annot" ,sbcl-cl-annot)
3894 ("cl-interpol" ,sbcl-cl-interpol)
3895 ("named-readtables" ,sbcl-named-readtables)
3896 ("trivial-types" ,sbcl-trivial-types)))
3897 (arguments
3898 '(#:asd-systems '("cl-syntax"
3899 "cl-syntax-annot"
3900 "cl-syntax-interpol")))
3901 (home-page "https://github.com/m2ym/cl-syntax")
3902 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
3903 (description
3904 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
3905 (license license:llgpl)))
3906
3907 (define-public cl-syntax
3908 (sbcl-package->cl-source-package sbcl-cl-syntax))
3909
3910 (define-public ecl-cl-syntax
3911 (sbcl-package->ecl-package sbcl-cl-syntax))
3912
3913 (define-public sbcl-cl-utilities
3914 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
3915 (revision "1"))
3916 (package
3917 (name "sbcl-cl-utilities")
3918 (version (git-version "0.0.0" revision commit))
3919 (source
3920 (origin
3921 (method url-fetch)
3922 (uri
3923 (string-append
3924 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
3925 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
3926 (sha256
3927 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
3928 (build-system asdf-build-system/sbcl)
3929 (arguments
3930 '(#:phases
3931 (modify-phases %standard-phases
3932 (add-after 'unpack 'fix-paths
3933 (lambda* (#:key inputs #:allow-other-keys)
3934 (substitute* "rotate-byte.lisp"
3935 (("in-package :cl-utilities)" all)
3936 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
3937 (home-page "http://common-lisp.net/project/cl-utilities")
3938 (synopsis "A collection of semi-standard utilities")
3939 (description
3940 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
3941 is a collection of Common Lisp Utilities, things that everybody writes since
3942 they're not part of the official standard. There are some very useful things
3943 there; the only problems are that they aren't implemented as well as you'd
3944 like (some aren't implemented at all) and they aren't conveniently packaged
3945 and maintained. It takes quite a bit of work to carefully implement utilities
3946 for common use, commented and documented, with error checking placed
3947 everywhere some dumb user might make a mistake.")
3948 (license license:public-domain))))
3949
3950 (define-public cl-utilities
3951 (sbcl-package->cl-source-package sbcl-cl-utilities))
3952
3953 (define-public ecl-cl-utilities
3954 (sbcl-package->ecl-package sbcl-cl-utilities))
3955
3956 (define-public sbcl-map-set
3957 (let ((commit "7b4b545b68b8")
3958 (revision "1"))
3959 (package
3960 (name "sbcl-map-set")
3961 (version (git-version "0.0.0" revision commit))
3962 (source
3963 (origin
3964 (method url-fetch)
3965 (uri (string-append
3966 "https://bitbucket.org/tarballs_are_good/map-set/get/"
3967 commit ".tar.gz"))
3968 (sha256
3969 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
3970 (build-system asdf-build-system/sbcl)
3971 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
3972 (synopsis "Set-like data structure")
3973 (description
3974 "Implementation of a set-like data structure with constant time
3975 addition, removal, and random selection.")
3976 (license license:bsd-3))))
3977
3978 (define-public cl-map-set
3979 (sbcl-package->cl-source-package sbcl-map-set))
3980
3981 (define-public ecl-map-set
3982 (sbcl-package->ecl-package sbcl-map-set))
3983
3984 (define-public sbcl-quri
3985 (let ((commit "b53231c5f19446dd7c24b15a249fefa45ae94f9a")
3986 (revision "2"))
3987 (package
3988 (name "sbcl-quri")
3989 (version (git-version "0.1.0" revision commit))
3990 (source
3991 (origin
3992 (method git-fetch)
3993 (uri (git-reference
3994 (url "https://github.com/fukamachi/quri")
3995 (commit commit)))
3996 (file-name (git-file-name name version))
3997 (sha256
3998 (base32 "0cansr63m690ymvhway419178mq2sqnmxm4rdxclbsrnjwwbi36m"))))
3999 (build-system asdf-build-system/sbcl)
4000 (arguments
4001 ;; Tests fail with: Component QURI-ASD::QURI-TEST not found,
4002 ;; required by #<SYSTEM "quri">. Why?
4003 '(#:tests? #f))
4004 (native-inputs `(("sbcl-prove" ,sbcl-prove)))
4005 (inputs `(("sbcl-babel" ,sbcl-babel)
4006 ("sbcl-split-sequence" ,sbcl-split-sequence)
4007 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
4008 ("sbcl-alexandria" ,sbcl-alexandria)))
4009 (home-page "https://github.com/fukamachi/quri")
4010 (synopsis "Yet another URI library for Common Lisp")
4011 (description
4012 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
4013 Lisp. It is intended to be a replacement of PURI.")
4014 (license license:bsd-3))))
4015
4016 (define-public cl-quri
4017 (sbcl-package->cl-source-package sbcl-quri))
4018
4019 (define-public ecl-quri
4020 (sbcl-package->ecl-package sbcl-quri))
4021
4022 (define-public sbcl-myway
4023 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
4024 (revision "1"))
4025 (package
4026 (name "sbcl-myway")
4027 (version (git-version "0.1.0" revision commit))
4028 (source
4029 (origin
4030 (method git-fetch)
4031 (uri (git-reference
4032 (url "https://github.com/fukamachi/myway")
4033 (commit commit)))
4034 (file-name (git-file-name "myway" version))
4035 (sha256
4036 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
4037 (build-system asdf-build-system/sbcl)
4038 (arguments
4039 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
4040 ;; by #<SYSTEM "myway">. Why?
4041 '(#:tests? #f))
4042 (native-inputs
4043 `(("sbcl-prove" ,sbcl-prove)))
4044 (inputs
4045 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4046 ("sbcl-quri" ,sbcl-quri)
4047 ("sbcl-map-set" ,sbcl-map-set)))
4048 (home-page "https://github.com/fukamachi/myway")
4049 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
4050 (description "My Way is a Sinatra-compatible URL routing library.")
4051 (license license:llgpl))))
4052
4053 (define-public cl-myway
4054 (sbcl-package->cl-source-package sbcl-myway))
4055
4056 (define-public ecl-myway
4057 (sbcl-package->ecl-package sbcl-myway))
4058
4059 (define-public sbcl-xsubseq
4060 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
4061 (revision "1"))
4062 (package
4063 (name "sbcl-xsubseq")
4064 (version (git-version "0.0.1" revision commit))
4065 (source
4066 (origin
4067 (method git-fetch)
4068 (uri (git-reference
4069 (url "https://github.com/fukamachi/xsubseq")
4070 (commit commit)))
4071 (file-name (git-file-name name version))
4072 (sha256
4073 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4074 (build-system asdf-build-system/sbcl)
4075 (arguments
4076 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4077 ;; required by #<SYSTEM "xsubseq">. Why?
4078 '(#:tests? #f))
4079 (native-inputs
4080 `(("sbcl-prove" ,sbcl-prove)))
4081 (home-page "https://github.com/fukamachi/xsubseq")
4082 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4083 (description
4084 "XSubseq provides functions to be able to handle \"subseq\"s more
4085 effieiently.")
4086 (license license:bsd-2))))
4087
4088 (define-public cl-xsubseq
4089 (sbcl-package->cl-source-package sbcl-xsubseq))
4090
4091 (define-public ecl-xsubseq
4092 (sbcl-package->ecl-package sbcl-xsubseq))
4093
4094 (define-public sbcl-smart-buffer
4095 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4096 (revision "1"))
4097 (package
4098 (name "sbcl-smart-buffer")
4099 (version (git-version "0.0.1" revision commit))
4100 (source
4101 (origin
4102 (method git-fetch)
4103 (uri (git-reference
4104 (url "https://github.com/fukamachi/smart-buffer")
4105 (commit commit)))
4106 (file-name (git-file-name name version))
4107 (sha256
4108 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4109 (build-system asdf-build-system/sbcl)
4110 (arguments
4111 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4112 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4113 `(#:tests? #f))
4114 (native-inputs
4115 `(("sbcl-prove" ,sbcl-prove)))
4116 (inputs
4117 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4118 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4119 (home-page "https://github.com/fukamachi/smart-buffer")
4120 (synopsis "Smart octets buffer")
4121 (description
4122 "Smart-buffer provides an output buffer which changes the destination
4123 depending on content size.")
4124 (license license:bsd-3))))
4125
4126 (define-public cl-smart-buffer
4127 (sbcl-package->cl-source-package sbcl-smart-buffer))
4128
4129 (define-public ecl-smart-buffer
4130 (sbcl-package->ecl-package sbcl-smart-buffer))
4131
4132 (define-public sbcl-fast-http
4133 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
4134 (revision "2"))
4135 (package
4136 (name "sbcl-fast-http")
4137 (version (git-version "0.2.0" revision commit))
4138 (source
4139 (origin
4140 (method git-fetch)
4141 (uri (git-reference
4142 (url "https://github.com/fukamachi/fast-http")
4143 (commit commit)))
4144 (file-name (git-file-name name version))
4145 (sha256
4146 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
4147 (build-system asdf-build-system/sbcl)
4148 (arguments
4149 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4150 ;; required by #<SYSTEM "fast-http">. Why?
4151 `(#:tests? #f))
4152 (native-inputs
4153 `(("sbcl-prove" ,sbcl-prove)
4154 ("cl-syntax" ,sbcl-cl-syntax)))
4155 (inputs
4156 `(("sbcl-alexandria" ,sbcl-alexandria)
4157 ("sbcl-proc-parse" ,sbcl-proc-parse)
4158 ("sbcl-xsubseq" ,sbcl-xsubseq)
4159 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4160 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4161 (home-page "https://github.com/fukamachi/fast-http")
4162 (synopsis "HTTP request/response parser for Common Lisp")
4163 (description
4164 "@code{fast-http} is a HTTP request/response protocol parser for Common
4165 Lisp.")
4166 ;; Author specified the MIT license
4167 (license license:expat))))
4168
4169 (define-public cl-fast-http
4170 (sbcl-package->cl-source-package sbcl-fast-http))
4171
4172 (define-public ecl-fast-http
4173 (sbcl-package->ecl-package sbcl-fast-http))
4174
4175 (define-public sbcl-static-vectors
4176 (package
4177 (name "sbcl-static-vectors")
4178 (version "1.8.4")
4179 (source
4180 (origin
4181 (method git-fetch)
4182 (uri (git-reference
4183 (url "https://github.com/sionescu/static-vectors")
4184 (commit (string-append "v" version))))
4185 (file-name (git-file-name name version))
4186 (sha256
4187 (base32 "0qvf9z6bhwhm8n45fjwkm7j8dcb58szfvndky65cyn4lpdval7m1"))))
4188 (native-inputs
4189 `(("sbcl-fiveam" ,sbcl-fiveam)))
4190 (inputs
4191 `(("sbcl-cffi" ,sbcl-cffi)))
4192 (build-system asdf-build-system/sbcl)
4193 (home-page "https://github.com/sionescu/static-vectors")
4194 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4195 (description
4196 "With @code{static-vectors}, you can create vectors allocated in static
4197 memory.")
4198 (license license:expat)))
4199
4200 (define-public cl-static-vectors
4201 (sbcl-package->cl-source-package sbcl-static-vectors))
4202
4203 (define-public ecl-static-vectors
4204 (sbcl-package->ecl-package sbcl-static-vectors))
4205
4206 (define-public sbcl-marshal
4207 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4208 (revision "1"))
4209 (package
4210 (name "sbcl-marshal")
4211 (version (git-version "1.3.0" revision commit))
4212 (source
4213 (origin
4214 (method git-fetch)
4215 (uri (git-reference
4216 (url "https://github.com/wlbr/cl-marshal")
4217 (commit commit)))
4218 (file-name (git-file-name name version))
4219 (sha256
4220 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4221 (build-system asdf-build-system/sbcl)
4222 (home-page "https://github.com/wlbr/cl-marshal")
4223 (synopsis "Simple (de)serialization of Lisp datastructures")
4224 (description
4225 "Simple and fast marshalling of Lisp datastructures. Convert any object
4226 into a string representation, put it on a stream an revive it from there.
4227 Only minimal changes required to make your CLOS objects serializable.")
4228 (license license:expat))))
4229
4230 (define-public cl-marshal
4231 (sbcl-package->cl-source-package sbcl-marshal))
4232
4233 (define-public ecl-marshal
4234 (sbcl-package->ecl-package sbcl-marshal))
4235
4236 (define-public sbcl-checkl
4237 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4238 (revision "1"))
4239 (package
4240 (name "sbcl-checkl")
4241 (version (git-version "0.0.0" revision commit))
4242 (source
4243 (origin
4244 (method git-fetch)
4245 (uri (git-reference
4246 (url "https://github.com/rpav/CheckL")
4247 (commit commit)))
4248 (file-name (git-file-name name version))
4249 (sha256
4250 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4251 (build-system asdf-build-system/sbcl)
4252 (arguments
4253 ;; Error while trying to load definition for system checkl-test from
4254 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4255 ;; is undefined.
4256 '(#:asd-files '("checkl.asd")
4257 #:tests? #f))
4258 (native-inputs
4259 `(("sbcl-fiveam" ,sbcl-fiveam)))
4260 (inputs
4261 `(("sbcl-marshal" ,sbcl-marshal)))
4262 (home-page "https://github.com/rpav/CheckL/")
4263 (synopsis "Dynamic testing for Common Lisp")
4264 (description
4265 "CheckL lets you write tests dynamically, it checks resulting values
4266 against the last run.")
4267 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4268 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4269 ;; stronger of the two and so I think only listing this should suffice.
4270 (license license:llgpl))))
4271
4272 (define-public cl-checkl
4273 (sbcl-package->cl-source-package sbcl-checkl))
4274
4275 (define-public ecl-checkl
4276 (sbcl-package->ecl-package sbcl-checkl))
4277
4278 (define-public sbcl-fast-io
4279 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
4280 (revision "2"))
4281 (package
4282 (name "sbcl-fast-io")
4283 (version (git-version "1.0.0" revision commit))
4284 (source
4285 (origin
4286 (method git-fetch)
4287 (uri (git-reference
4288 (url "https://github.com/rpav/fast-io")
4289 (commit commit)))
4290 (file-name (git-file-name name version))
4291 (sha256
4292 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
4293 (build-system asdf-build-system/sbcl)
4294 (arguments
4295 ;; Error while trying to load definition for system fast-io-test from
4296 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4297 ;; is undefined.
4298 '(#:tests? #f
4299 #:asd-files '("fast-io.asd")))
4300 (native-inputs
4301 `(("sbcl-fiveam" ,sbcl-fiveam)
4302 ("sbcl-checkl" ,sbcl-checkl)))
4303 (inputs
4304 `(("sbcl-alexandria" ,sbcl-alexandria)
4305 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4306 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4307 (home-page "https://github.com/rpav/fast-io")
4308 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4309 (description
4310 "Fast-io is about improving performance to octet-vectors and octet
4311 streams (though primarily the former, while wrapping the latter).")
4312 ;; Author specifies this as NewBSD which is an alias
4313 (license license:bsd-3))))
4314
4315 (define-public cl-fast-io
4316 (sbcl-package->cl-source-package sbcl-fast-io))
4317
4318 (define-public ecl-fast-io
4319 (sbcl-package->ecl-package sbcl-fast-io))
4320
4321 (define-public sbcl-jonathan
4322 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4323 (revision "1"))
4324 (package
4325 (name "sbcl-jonathan")
4326 (version (git-version "0.1.0" revision commit))
4327 (source
4328 (origin
4329 (method git-fetch)
4330 (uri (git-reference
4331 (url "https://github.com/Rudolph-Miller/jonathan")
4332 (commit commit)))
4333 (file-name (git-file-name name version))
4334 (sha256
4335 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4336 (build-system asdf-build-system/sbcl)
4337 (arguments
4338 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4339 ;; required by #<SYSTEM "jonathan">. Why?
4340 `(#:tests? #f))
4341 (native-inputs
4342 `(("sbcl-prove" ,sbcl-prove)))
4343 (inputs
4344 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4345 ("sbcl-fast-io" ,sbcl-fast-io)
4346 ("sbcl-proc-parse" ,sbcl-proc-parse)
4347 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
4348 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
4349 (synopsis "JSON encoder and decoder")
4350 (description
4351 "High performance JSON encoder and decoder. Currently support: SBCL,
4352 CCL.")
4353 ;; Author specifies the MIT license
4354 (license license:expat))))
4355
4356 (define-public cl-jonathan
4357 (sbcl-package->cl-source-package sbcl-jonathan))
4358
4359 (define-public ecl-jonathan
4360 (sbcl-package->ecl-package sbcl-jonathan))
4361
4362 (define-public sbcl-http-body
4363 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4364 (revision "1"))
4365 (package
4366 (name "sbcl-http-body")
4367 (version (git-version "0.1.0" revision commit))
4368 (source
4369 (origin
4370 (method git-fetch)
4371 (uri (git-reference
4372 (url "https://github.com/fukamachi/http-body")
4373 (commit commit)))
4374 (file-name (git-file-name name version))
4375 (sha256
4376 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4377 (build-system asdf-build-system/sbcl)
4378 (arguments
4379 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4380 ;; found, required by #<SYSTEM "http-body">. Why?
4381 `(#:tests? #f))
4382 (native-inputs
4383 `(("sbcl-prove" ,sbcl-prove)))
4384 (inputs
4385 `(("sbcl-fast-http" ,sbcl-fast-http)
4386 ("sbcl-jonathan" ,sbcl-jonathan)
4387 ("sbcl-quri" ,sbcl-quri)))
4388 (home-page "https://github.com/fukamachi/http-body")
4389 (synopsis "HTTP POST data parser")
4390 (description
4391 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4392 supports application/x-www-form-urlencoded, application/json, and
4393 multipart/form-data.")
4394 (license license:bsd-2))))
4395
4396 (define-public cl-http-body
4397 (sbcl-package->cl-source-package sbcl-http-body))
4398
4399 (define-public ecl-http-body
4400 (sbcl-package->ecl-package sbcl-http-body))
4401
4402 (define-public sbcl-circular-streams
4403 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4404 (revision "1"))
4405 (package
4406 (name "sbcl-circular-streams")
4407 (version (git-version "0.1.0" revision commit))
4408 (source
4409 (origin
4410 (method git-fetch)
4411 (uri (git-reference
4412 (url "https://github.com/fukamachi/circular-streams")
4413 (commit commit)))
4414 (file-name (git-file-name name version))
4415 (sha256
4416 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4417 (build-system asdf-build-system/sbcl)
4418 (arguments
4419 ;; The tests depend on cl-test-more which is now prove. Prove
4420 ;; tests aren't working for some reason.
4421 `(#:tests? #f))
4422 (inputs
4423 `(("sbcl-fast-io" ,sbcl-fast-io)
4424 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4425 (home-page "https://github.com/fukamachi/circular-streams")
4426 (synopsis "Circularly readable streams for Common Lisp")
4427 (description
4428 "Circular-Streams allows you to read streams circularly by wrapping real
4429 streams. Once you reach end-of-file of a stream, it's file position will be
4430 reset to 0 and you're able to read it again.")
4431 (license license:llgpl))))
4432
4433 (define-public cl-circular-streams
4434 (sbcl-package->cl-source-package sbcl-circular-streams))
4435
4436 (define-public ecl-circular-streams
4437 (sbcl-package->ecl-package sbcl-circular-streams))
4438
4439 (define-public sbcl-lack
4440 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4441 (revision "1"))
4442 (package
4443 (name "sbcl-lack")
4444 (version (git-version "0.1.0" revision commit))
4445 (source
4446 (origin
4447 (method git-fetch)
4448 (uri (git-reference
4449 (url "https://github.com/fukamachi/lack")
4450 (commit commit)))
4451 (file-name (git-file-name "lack" version))
4452 (sha256
4453 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4454 (build-system asdf-build-system/sbcl)
4455 (native-inputs
4456 `(("prove" ,sbcl-prove)))
4457 (inputs
4458 `(("circular-streams" ,sbcl-circular-streams)
4459 ("http-body" ,sbcl-http-body)
4460 ("ironclad" ,sbcl-ironclad)
4461 ("local-time" ,sbcl-local-time)
4462 ("quri" ,sbcl-quri)
4463 ("trivial-mimes" ,sbcl-trivial-mimes)))
4464 (arguments
4465 '(#:asd-systems '("lack"
4466 "lack-request"
4467 "lack-response"
4468 "lack-component"
4469 "lack-util"
4470 "lack-middleware-backtrace"
4471 "lack-middleware-static")
4472 #:test-asd-file "t-lack.asd"
4473 ;; XXX: Component :CLACK not found
4474 #:tests? #f))
4475 (home-page "https://github.com/fukamachi/lack")
4476 (synopsis "Lack, the core of Clack")
4477 (description
4478 "Lack is a Common Lisp library which allows web applications to be
4479 constructed of modular components. It was originally a part of Clack, however
4480 it's going to be rewritten as an individual project since Clack v2 with
4481 performance and simplicity in mind.")
4482 (license license:llgpl))))
4483
4484 (define-public cl-lack
4485 (sbcl-package->cl-source-package sbcl-lack))
4486
4487 (define-public ecl-lack
4488 (sbcl-package->ecl-package sbcl-lack))
4489
4490 (define-public sbcl-local-time
4491 (let ((commit "a177eb911c0e8116e2bfceb79049265a884b701b")
4492 (revision "2"))
4493 (package
4494 (name "sbcl-local-time")
4495 (version (git-version "1.0.6" revision commit))
4496 (source
4497 (origin
4498 (method git-fetch)
4499 (uri (git-reference
4500 (url "https://github.com/dlowe-net/local-time")
4501 (commit commit)))
4502 (file-name (git-file-name name version))
4503 (sha256
4504 (base32 "0wld28xx20k0ysgg6akic5lg4vkjd0iyhv86m388xfrv8xh87wii"))))
4505 (build-system asdf-build-system/sbcl)
4506 (native-inputs
4507 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
4508 (home-page "https://common-lisp.net/project/local-time/")
4509 (synopsis "Time manipulation library for Common Lisp")
4510 (description
4511 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4512 dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4513 Long Painful History of Time\".")
4514 (license license:expat))))
4515
4516 (define-public cl-local-time
4517 (sbcl-package->cl-source-package sbcl-local-time))
4518
4519 (define-public ecl-local-time
4520 (sbcl-package->ecl-package sbcl-local-time))
4521
4522 (define-public sbcl-trivial-mimes
4523 (let ((commit "a741fc2f567a4f86b853fd4677d75e62c03e51d9")
4524 (revision "2"))
4525 (package
4526 (name "sbcl-trivial-mimes")
4527 (version (git-version "1.1.0" revision commit))
4528 (source
4529 (origin
4530 (method git-fetch)
4531 (uri (git-reference
4532 (url "https://github.com/Shinmera/trivial-mimes")
4533 (commit commit)))
4534 (file-name (git-file-name name version))
4535 (sha256
4536 (base32 "00kcm17q5plpzdj1qwg83ldhxksilgpcdkf3m9azxcdr968xs9di"))))
4537 (build-system asdf-build-system/sbcl)
4538 (native-inputs
4539 `(("stefil" ,sbcl-hu.dwim.stefil)))
4540 (inputs
4541 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4542 (home-page "https://shinmera.github.io/trivial-mimes/")
4543 (synopsis "Tiny Common Lisp library to detect mime types in files")
4544 (description
4545 "This is a teensy library that provides some functions to determine the
4546 mime-type of a file.")
4547 (license license:zlib))))
4548
4549 (define-public cl-trivial-mimes
4550 (sbcl-package->cl-source-package sbcl-trivial-mimes))
4551
4552 (define-public ecl-trivial-mimes
4553 (sbcl-package->ecl-package sbcl-trivial-mimes))
4554
4555 (define-public sbcl-ningle
4556 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
4557 (revision "1"))
4558 (package
4559 (name "sbcl-ningle")
4560 (version (git-version "0.3.0" revision commit))
4561 (source
4562 (origin
4563 (method git-fetch)
4564 (uri (git-reference
4565 (url "https://github.com/fukamachi/ningle")
4566 (commit commit)))
4567 (file-name (git-file-name name version))
4568 (sha256
4569 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
4570 (build-system asdf-build-system/sbcl)
4571 (arguments
4572 ;; TODO: pull in clack-test
4573 '(#:tests? #f
4574 #:phases
4575 (modify-phases %standard-phases
4576 (delete 'cleanup-files)
4577 (delete 'cleanup)
4578 (add-before 'cleanup 'combine-fasls
4579 (lambda* (#:key outputs #:allow-other-keys)
4580 (let* ((out (assoc-ref outputs "out"))
4581 (lib (string-append out "/lib/sbcl"))
4582 (ningle-path (string-append lib "/ningle"))
4583 (fasl-files (find-files out "\\.fasl$")))
4584 (mkdir-p ningle-path)
4585 (let ((fasl-path (lambda (name)
4586 (string-append ningle-path
4587 "/"
4588 (basename name)
4589 "--system.fasl"))))
4590 (for-each (lambda (file)
4591 (rename-file file
4592 (fasl-path
4593 (basename file ".fasl"))))
4594 fasl-files))
4595 fasl-files)
4596 #t)))))
4597 (native-inputs
4598 `(("sbcl-prove" ,sbcl-prove)))
4599 (inputs
4600 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4601 ("sbcl-myway" ,sbcl-myway)
4602 ("sbcl-lack" ,sbcl-lack)
4603 ("sbcl-alexandria" ,sbcl-alexandria)
4604 ("sbcl-babel" ,sbcl-babel)))
4605 (home-page "https://8arrow.org/ningle/")
4606 (synopsis "Super micro framework for Common Lisp")
4607 (description
4608 "Ningle is a lightweight web application framework for Common Lisp.")
4609 (license license:llgpl))))
4610
4611 (define-public cl-ningle
4612 (sbcl-package->cl-source-package sbcl-ningle))
4613
4614 (define-public ecl-ningle
4615 (sbcl-package->ecl-package sbcl-ningle))
4616
4617 (define-public sbcl-cl-fastcgi
4618 (let ((commit "de8b49b26de9863996ec18db28af8ab7e8ac4e20")
4619 (revision "2"))
4620 (package
4621 (name "sbcl-cl-fastcgi")
4622 (version (git-version "0.2" revision commit))
4623 (source
4624 (origin
4625 (method git-fetch)
4626 (uri (git-reference
4627 (url "https://github.com/KDr2/cl-fastcgi/")
4628 (commit commit)))
4629 (file-name (git-file-name name version))
4630 (sha256
4631 (base32 "0xgmhx766q4nmrvn5z7ag3ikpr9phlh8ypi8b14azshq9lqbq0m7"))))
4632 (build-system asdf-build-system/sbcl)
4633 (inputs
4634 `(("usocket" ,sbcl-usocket)
4635 ("cffi" ,sbcl-cffi)
4636 ("fcgi" ,fcgi)))
4637 (arguments
4638 `(#:phases
4639 (modify-phases %standard-phases
4640 (add-after 'unpack 'fix-paths
4641 (lambda* (#:key inputs #:allow-other-keys)
4642 (substitute* "cl-fastcgi.lisp"
4643 (("\"libfcgi.so\"")
4644 (string-append
4645 "\""
4646 (assoc-ref inputs "fcgi") "/lib/libfcgi.so\""))))))))
4647 (home-page "https://kdr2.com/project/cl-fastcgi.html")
4648 (synopsis "FastCGI wrapper for Common Lisp")
4649 (description
4650 "CL-FastCGI is a generic version of SB-FastCGI, targeting to run on
4651 mostly Common Lisp implementation.")
4652 (license license:bsd-2))))
4653
4654 (define-public cl-fastcgi
4655 (sbcl-package->cl-source-package sbcl-cl-fastcgi))
4656
4657 (define-public ecl-cl-fastcgi
4658 (sbcl-package->ecl-package sbcl-cl-fastcgi))
4659
4660 (define-public sbcl-clack
4661 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
4662 (revision "1"))
4663 (package
4664 (name "sbcl-clack")
4665 (version (git-version "2.0.0" revision commit))
4666 (source
4667 (origin
4668 (method git-fetch)
4669 (uri (git-reference
4670 (url "https://github.com/fukamachi/clack")
4671 (commit commit)))
4672 (file-name (git-file-name name version))
4673 (sha256
4674 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
4675 (build-system asdf-build-system/sbcl)
4676 (inputs
4677 `(("alexandria" ,sbcl-alexandria)
4678 ("bordeaux-threads" ,sbcl-bordeaux-threads)
4679 ("cl-fastcgi" ,sbcl-cl-fastcgi)
4680 ("flexi-streams" ,sbcl-flexi-streams)
4681 ("hunchentoot" ,sbcl-hunchentoot)
4682 ("lack" ,sbcl-lack)
4683 ("split-sequence" ,sbcl-split-sequence)
4684 ("usocket" ,sbcl-usocket)
4685 ("quri" ,sbcl-quri)))
4686 (arguments
4687 '(#:asd-systems '("clack"
4688 "clack-handler-fcgi"
4689 "clack-socket"
4690 "clack-handler-hunchentoot")))
4691 (home-page "https://github.com/fukamachi/clack")
4692 (synopsis "Web Application Environment for Common Lisp")
4693 (description
4694 "Clack is a web application environment for Common Lisp inspired by
4695 Python's WSGI and Ruby's Rack.")
4696 (license license:llgpl))))
4697
4698 (define-public cl-clack
4699 (sbcl-package->cl-source-package sbcl-clack))
4700
4701 (define-public ecl-clack
4702 (sbcl-package->ecl-package sbcl-clack))
4703
4704 (define-public sbcl-cl-log
4705 (let ((commit "8f4b766d51e02245c310526cf1e4534ce634f837")
4706 (revision "1"))
4707 (package
4708 (name "sbcl-cl-log")
4709 (version "1.0.1")
4710 (source
4711 (origin
4712 (method git-fetch)
4713 (uri (git-reference
4714 (url "https://github.com/nicklevine/cl-log")
4715 (commit commit)))
4716 (sha256
4717 (base32 "1r3z9swy1b59swvaa5b97is9ysrfmjvjjhhw56p7p5hqg93b92ak"))
4718 (file-name (git-file-name "cl-log" version))))
4719 (build-system asdf-build-system/sbcl)
4720 (synopsis "Common Lisp general purpose logging utility")
4721 (description "CL-LOG is a general purpose logging utility, loosely modelled
4722 in some respects after Gary King's Log5. Its features include: logging to
4723 several destinations at once, via \"messengers\", each messenger is tailored to
4724 accept some log messages and reject others, and this tailoring can be changed
4725 on-the-fly, very rapid processing of messages which are rejected by all
4726 messengers, fully independent use of the utility by several different
4727 sub-systems in an application, support for messengers which cl:format text to a
4728 stream, support for messengers which do not invoke cl:format, timestamps in
4729 theory accurate to internal-time-units-per-second.")
4730 (home-page "https://github.com/nicklevine/cl-log")
4731 (license license:expat))))
4732
4733 (define-public cl-log
4734 (sbcl-package->cl-source-package sbcl-cl-log))
4735
4736 (define-public ecl-cl-log
4737 (sbcl-package->ecl-package sbcl-cl-log))
4738
4739 (define-public sbcl-log4cl
4740 (let ((commit "8c48d6f41d3a1475d0a91eed0638b9eecc398e35")
4741 (revision "1"))
4742 (package
4743 (name "sbcl-log4cl")
4744 (version (git-version "1.1.3" revision commit))
4745 (source
4746 (origin
4747 (method git-fetch)
4748 (uri (git-reference
4749 (url "https://github.com/sharplispers/log4cl")
4750 (commit commit)))
4751 (file-name (git-file-name "log4cl" version))
4752 (sha256
4753 (base32 "0166d9aip366pbpdk5gsi2f6xad6q61lssxgbrypa8zslwjn8736"))))
4754 (build-system asdf-build-system/sbcl)
4755 (native-inputs
4756 `(("stefil" ,sbcl-stefil)))
4757 (inputs
4758 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
4759 (home-page "https://github.com/7max/log4cl")
4760 (synopsis "Common Lisp logging framework, modeled after Log4J")
4761 (description
4762 "This is a Common Lisp logging framework that can log at various levels
4763 and mix text with expressions.")
4764 (license license:asl2.0))))
4765
4766 (define-public cl-log4cl
4767 (sbcl-package->cl-source-package sbcl-log4cl))
4768
4769 (define-public ecl-log4cl
4770 (sbcl-package->ecl-package sbcl-log4cl))
4771
4772 (define-public sbcl-printv
4773 (let ((commit "646d31978dbbb460fffb160fd65bb2be9a5a434e")
4774 (revision "1"))
4775 (package
4776 (name "sbcl-printv")
4777 (version (git-version "0.1.0" revision commit))
4778 (source
4779 (origin
4780 (method git-fetch)
4781 (uri (git-reference
4782 (url "https://github.com/danlentz/printv")
4783 (commit commit)))
4784 (file-name (git-file-name "printv" version))
4785 (sha256
4786 (base32 "08jvy82abm7qi3wrxh6gvmwg9gy0zzhg4cfqajdwrggbah8mj5a6"))))
4787 (build-system asdf-build-system/sbcl)
4788 (home-page "https://github.com/danlentz/printv")
4789 (synopsis "Common Lisp tracing and debug-logging macro")
4790 (description
4791 "@code{PRINTV} is a \"batteries-included\" tracing and debug-logging
4792 macro for Common Lisp.")
4793 (license license:asl2.0))))
4794
4795 (define-public ecl-printv
4796 (sbcl-package->ecl-package sbcl-printv))
4797
4798 (define-public cl-printv
4799 (sbcl-package->cl-source-package sbcl-printv))
4800
4801 (define-public sbcl-verbose
4802 (let ((commit "c5b7ecd465be61b35af17ef57564697b88397174")
4803 (revision "1"))
4804 (package
4805 (name "sbcl-verbose")
4806 (version (git-version "2.0.0" revision commit))
4807 (source
4808 (origin
4809 (method git-fetch)
4810 (uri (git-reference
4811 (url "https://github.com/Shinmera/verbose/")
4812 (commit commit)))
4813 (file-name (git-file-name "verbose" version))
4814 (sha256
4815 (base32 "0r51ydj5v7afi2jrlscbhxprv13d9vzg5316g1yzwaxc1kzsdsw6"))))
4816 (build-system asdf-build-system/sbcl)
4817 (inputs
4818 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
4819 ("dissect" ,sbcl-dissect)
4820 ("documentation-utils" ,sbcl-documentation-utils)
4821 ("local-time" ,sbcl-local-time)
4822 ("piping" ,sbcl-piping)))
4823 (home-page "https://shinmera.github.io/verbose/")
4824 (synopsis "Logging framework using the piping library")
4825 (description
4826 "This is a Common Lisp library providing logging faciltiy similar to
4827 @code{CL-LOG} and @code{LOG4CL}.")
4828 (license license:zlib))))
4829
4830 (define-public ecl-verbose
4831 (sbcl-package->ecl-package sbcl-verbose))
4832
4833 (define-public cl-verbose
4834 (sbcl-package->cl-source-package sbcl-verbose))
4835
4836 (define-public sbcl-find-port
4837 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
4838 (revision "1"))
4839 (package
4840 (name "sbcl-find-port")
4841 (build-system asdf-build-system/sbcl)
4842 (version "0.1")
4843 (home-page "https://github.com/eudoxia0/find-port")
4844 (source
4845 (origin
4846 (method git-fetch)
4847 (uri (git-reference
4848 (url home-page)
4849 (commit commit)))
4850 (file-name (git-file-name name version))
4851 (sha256
4852 (base32
4853 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
4854 (native-inputs
4855 `(("fiveam" ,sbcl-fiveam)))
4856 (inputs
4857 `(("sbcl-usocket" ,sbcl-usocket)))
4858 (synopsis "Find open ports programmatically in Common Lisp")
4859 (description "This is a small Common Lisp library that finds an open
4860 port within a range.")
4861 (license license:expat))))
4862
4863 (define-public cl-find-port
4864 (sbcl-package->cl-source-package sbcl-find-port))
4865
4866 (define-public ecl-find-port
4867 (sbcl-package->ecl-package sbcl-find-port))
4868
4869 (define-public sbcl-clunit
4870 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
4871 (revision "1"))
4872 (package
4873 (name "sbcl-clunit")
4874 (version (git-version "0.2.3" revision commit))
4875 (source
4876 (origin
4877 (method git-fetch)
4878 (uri (git-reference
4879 (url "https://github.com/tgutu/clunit")
4880 (commit commit)))
4881 (file-name (git-file-name name version))
4882 (sha256
4883 (base32
4884 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
4885 (build-system asdf-build-system/sbcl)
4886 (synopsis "CLUnit is a Common Lisp unit testing framework")
4887 (description
4888 "CLUnit is a Common Lisp unit testing framework. It is designed
4889 to be easy to use so that you can quickly start testing. CLUnit
4890 provides a rich set of features aimed at improving your unit testing
4891 experience.")
4892 (home-page "https://tgutu.github.io/clunit/")
4893 ;; MIT License
4894 (license license:expat))))
4895
4896 (define-public cl-clunit
4897 (sbcl-package->cl-source-package sbcl-clunit))
4898
4899 (define-public ecl-clunit
4900 (sbcl-package->ecl-package sbcl-clunit))
4901
4902 (define-public sbcl-py4cl
4903 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
4904 (revision "1"))
4905 (package
4906 (name "sbcl-py4cl")
4907 (version (git-version "0.0.0" revision commit))
4908 (source
4909 (origin
4910 (method git-fetch)
4911 (uri (git-reference
4912 (url "https://github.com/bendudson/py4cl")
4913 (commit commit)))
4914 (file-name (git-file-name name version))
4915 (sha256
4916 (base32
4917 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
4918 (modules '((guix build utils)))))
4919 (build-system asdf-build-system/sbcl)
4920 (native-inputs
4921 `(("sbcl-clunit" ,sbcl-clunit)))
4922 (inputs
4923 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
4924 (propagated-inputs
4925 ;; This package doesn't do anything without python available
4926 `(("python" ,python)
4927 ;; For multi-dimensional array support
4928 ("python-numpy" ,python-numpy)))
4929 (arguments
4930 '(#:phases
4931 (modify-phases %standard-phases
4932 (add-after 'unpack 'replace-*base-directory*-var
4933 (lambda* (#:key outputs #:allow-other-keys)
4934 ;; In the ASD, the author makes an attempt to
4935 ;; programatically determine the location of the
4936 ;; source-code so lisp can call into "py4cl.py". We can
4937 ;; hard-code this since we know where this file will
4938 ;; reside.
4939 (substitute* "src/callpython.lisp"
4940 (("py4cl/config:\\*base-directory\\*")
4941 (string-append
4942 "\""
4943 (assoc-ref outputs "out")
4944 "/share/common-lisp/sbcl-source/py4cl/"
4945 "\""))))))))
4946 (synopsis "Call python from Common Lisp")
4947 (description
4948 "Py4CL is a bridge between Common Lisp and Python, which enables Common
4949 Lisp to interact with Python code. It uses streams to communicate with a
4950 separate python process, the approach taken by cl4py. This is different to
4951 the CFFI approach used by burgled-batteries, but has the same goal.")
4952 (home-page "https://github.com/bendudson/py4cl")
4953 ;; MIT License
4954 (license license:expat))))
4955
4956 (define-public cl-py4cl
4957 (sbcl-package->cl-source-package sbcl-py4cl))
4958
4959 (define-public ecl-py4cl
4960 (sbcl-package->ecl-package sbcl-py4cl))
4961
4962 (define-public sbcl-parse-declarations
4963 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
4964 (revision "1"))
4965 (package
4966 (name "sbcl-parse-declarations")
4967 (version (git-version "1.0.0" revision commit))
4968 (source
4969 (origin
4970 (method git-fetch)
4971 (uri (git-reference
4972 (url (string-append
4973 "https://gitlab.common-lisp.net/parse-declarations/"
4974 "parse-declarations.git"))
4975 (commit commit)))
4976 (file-name (git-file-name name version))
4977 (sha256
4978 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
4979 (build-system asdf-build-system/sbcl)
4980 (arguments
4981 `(#:asd-systems '("parse-declarations-1.0")))
4982 (home-page "https://common-lisp.net/project/parse-declarations/")
4983 (synopsis "Parse, filter, and build declarations")
4984 (description
4985 "Parse-Declarations is a Common Lisp library to help writing
4986 macros which establish bindings. To be semantically correct, such
4987 macros must take user declarations into account, as these may affect
4988 the bindings they establish. Yet the ANSI standard of Common Lisp does
4989 not provide any operators to work with declarations in a convenient,
4990 high-level way. This library provides such operators.")
4991 ;; MIT License
4992 (license license:expat))))
4993
4994 (define-public cl-parse-declarations
4995 (sbcl-package->cl-source-package sbcl-parse-declarations))
4996
4997 (define-public ecl-parse-declarations
4998 (sbcl-package->ecl-package sbcl-parse-declarations))
4999
5000 (define-public sbcl-cl-quickcheck
5001 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5002 (revision "1"))
5003 (package
5004 (name "sbcl-cl-quickcheck")
5005 (version (git-version "0.0.4" revision commit))
5006 (source
5007 (origin
5008 (method git-fetch)
5009 (uri (git-reference
5010 (url "https://github.com/mcandre/cl-quickcheck")
5011 (commit commit)))
5012 (file-name (git-file-name name version))
5013 (sha256
5014 (base32
5015 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5016 (build-system asdf-build-system/sbcl)
5017 (synopsis
5018 "Common Lisp port of the QuickCheck unit test framework")
5019 (description
5020 "Common Lisp port of the QuickCheck unit test framework")
5021 (home-page "https://github.com/mcandre/cl-quickcheck")
5022 ;; MIT
5023 (license license:expat))))
5024
5025 (define-public cl-quickcheck
5026 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5027
5028 (define-public ecl-cl-quickcheck
5029 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5030
5031 (define-public sbcl-burgled-batteries3
5032 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
5033 (revision "2"))
5034 (package
5035 (name "sbcl-burgled-batteries3")
5036 (version (git-version "0.0.0" revision commit))
5037 (source
5038 (origin
5039 (method git-fetch)
5040 (uri (git-reference
5041 (url "https://github.com/snmsts/burgled-batteries3")
5042 (commit commit)))
5043 (file-name (git-file-name name version))
5044 (sha256
5045 (base32
5046 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
5047 (build-system asdf-build-system/sbcl)
5048 (arguments
5049 `(#:tests? #f
5050 #:modules (((guix build python-build-system) #:select (python-version))
5051 ,@%asdf-build-system-modules)
5052 #:imported-modules ((guix build python-build-system)
5053 ,@%asdf-build-system-modules)
5054 #:phases
5055 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
5056 (add-after 'unpack 'set-*cpython-include-dir*-var
5057 (lambda* (#:key inputs #:allow-other-keys)
5058 (let ((python (assoc-ref inputs "python")))
5059 (setenv "BB_PYTHON3_INCLUDE_DIR"
5060 (string-append python "/include/python"
5061 (python-version python)))
5062 (setenv "BB_PYTHON3_DYLIB"
5063 (string-append python "/lib/libpython3.so"))
5064 #t)))
5065 (add-after 'unpack 'adjust-for-python-3.8
5066 (lambda _
5067 ;; This method is no longer part of the public API.
5068 (substitute* "ffi-interface.lisp"
5069 ((".*PyEval_ReInitThreads.*")
5070 ""))
5071 #t)))))
5072 (native-inputs
5073 `(("sbcl-cl-fad" ,sbcl-cl-fad)
5074 ("sbcl-lift" ,sbcl-lift)
5075 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5076 (inputs
5077 `(("python" ,python)
5078 ("sbcl-cffi" ,sbcl-cffi)
5079 ("sbcl-alexandria" , sbcl-alexandria)
5080 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5081 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5082 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5083 (description
5084 "This package provides a shim between Python3 (specifically, the
5085 CPython implementation of Python) and Common Lisp.")
5086 (home-page "https://github.com/snmsts/burgled-batteries3")
5087 (license license:expat))))
5088
5089 (define-public cl-burgled-batteries3
5090 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5091
5092 (define-public ecl-burgled-batteries3
5093 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5094
5095 (define-public sbcl-metabang-bind
5096 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5097 (revision "1"))
5098 (package
5099 (name "sbcl-metabang-bind")
5100 (version (git-version "0.8.0" revision commit))
5101 (source
5102 (origin
5103 (method git-fetch)
5104 (uri (git-reference
5105 (url "https://github.com/gwkkwg/metabang-bind")
5106 (commit commit)))
5107 (file-name (git-file-name name version))
5108 (sha256
5109 (base32
5110 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5111 (build-system asdf-build-system/sbcl)
5112 (native-inputs
5113 `(("sbcl-lift" ,sbcl-lift)))
5114 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5115 (description
5116 "Bind extends the idea of of let and destructing to provide a uniform
5117 syntax for all your accessor needs. It combines @code{let},
5118 @code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5119 editing, property or association-lists, and @code{multiple-value-bind} and a
5120 whole lot more into a single form.")
5121 (home-page "https://common-lisp.net/project/metabang-bind/")
5122 ;; MIT License
5123 (license license:expat))))
5124
5125 (define-public cl-metabang-bind
5126 (sbcl-package->cl-source-package sbcl-metabang-bind))
5127
5128 (define-public ecl-metabang-bind
5129 (sbcl-package->ecl-package sbcl-metabang-bind))
5130
5131 (define-public sbcl-fare-utils
5132 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5133 (revision "1"))
5134 (package
5135 (name "sbcl-fare-utils")
5136 (version (git-version "1.0.0.5" revision commit))
5137 (source
5138 (origin
5139 (method git-fetch)
5140 (uri
5141 (git-reference
5142 (url
5143 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5144 (commit commit)))
5145 (file-name (git-file-name name version))
5146 (sha256
5147 (base32
5148 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5149 (build-system asdf-build-system/sbcl)
5150 (arguments
5151 `(#:test-asd-file "test/fare-utils-test.asd"))
5152 (native-inputs
5153 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5154 (synopsis "Collection of utilities and data structures")
5155 (description
5156 "fare-utils is a small collection of utilities. It contains a lot of
5157 basic everyday functions and macros.")
5158 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5159 ;; MIT License
5160 (license license:expat))))
5161
5162 (define-public cl-fare-utils
5163 (sbcl-package->cl-source-package sbcl-fare-utils))
5164
5165 (define-public ecl-fare-utils
5166 (sbcl-package->ecl-package sbcl-fare-utils))
5167
5168 (define-public sbcl-trivial-utf-8
5169 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5170 (revision "1"))
5171 (package
5172 (name "sbcl-trivial-utf-8")
5173 (version (git-version "0.0.0" revision commit))
5174 (source
5175 (origin
5176 (method git-fetch)
5177 (uri
5178 (git-reference
5179 (url (string-append "https://gitlab.common-lisp.net/"
5180 "trivial-utf-8/trivial-utf-8.git"))
5181 (commit commit)))
5182 (file-name (git-file-name name version))
5183 (sha256
5184 (base32
5185 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5186 (arguments
5187 ;; Guix incorrectly assumes the "8" is part of the version
5188 ;; number and lobs it off.
5189 `(#:asd-systems '("trivial-utf-8")))
5190 (build-system asdf-build-system/sbcl)
5191 (synopsis "UTF-8 input/output library")
5192 (description
5193 "The Babel library solves a similar problem while understanding more
5194 encodings. Trivial UTF-8 was written before Babel existed, but for new
5195 projects you might be better off going with Babel. The one plus that Trivial
5196 UTF-8 has is that it doesn't depend on any other libraries.")
5197 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5198 (license license:bsd-3))))
5199
5200 (define-public cl-trivial-utf-8
5201 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5202
5203 (define-public ecl-trivial-utf-8
5204 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5205
5206 (define-public sbcl-idna
5207 (package
5208 (name "sbcl-idna")
5209 (build-system asdf-build-system/sbcl)
5210 (version "0.2.2")
5211 (home-page "https://github.com/antifuchs/idna")
5212 (source
5213 (origin
5214 (method git-fetch)
5215 (uri (git-reference
5216 (url home-page)
5217 (commit version)))
5218 (file-name (git-file-name name version))
5219 (sha256
5220 (base32
5221 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5222 (inputs
5223 `(("split-sequence" ,sbcl-split-sequence)))
5224 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5225 (description "This Common Lisp library provides string encoding and
5226 decoding routines for IDNA, the International Domain Names in Applications.")
5227 (license license:expat)))
5228
5229 (define-public cl-idna
5230 (sbcl-package->cl-source-package sbcl-idna))
5231
5232 (define-public ecl-idna
5233 (sbcl-package->ecl-package sbcl-idna))
5234
5235 (define-public sbcl-swap-bytes
5236 (package
5237 (name "sbcl-swap-bytes")
5238 (build-system asdf-build-system/sbcl)
5239 (version "1.2")
5240 (home-page "https://github.com/sionescu/swap-bytes")
5241 (source
5242 (origin
5243 (method git-fetch)
5244 (uri (git-reference
5245 (url home-page)
5246 (commit (string-append "v" version))))
5247 (file-name (git-file-name name version))
5248 (sha256
5249 (base32
5250 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
5251 (inputs
5252 `(("trivial-features" ,sbcl-trivial-features)))
5253 (native-inputs
5254 `(("fiveam" ,sbcl-fiveam)))
5255 (synopsis "Efficient endianness conversion for Common Lisp")
5256 (description "This Common Lisp library provides optimized byte-swapping
5257 primitives. The library can change endianness of unsigned integers of length
5258 1/2/4/8. Very useful in implementing various network protocols and file
5259 formats.")
5260 (license license:expat)))
5261
5262 (define-public cl-swap-bytes
5263 (sbcl-package->cl-source-package sbcl-swap-bytes))
5264
5265 (define-public ecl-swap-bytes
5266 (sbcl-package->ecl-package sbcl-swap-bytes))
5267
5268 (define-public sbcl-iolib
5269 ;; Latest release is from June 2017.
5270 (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
5271 (revision "2"))
5272 (package
5273 (name "sbcl-iolib")
5274 (version (git-version "0.8.3" revision commit))
5275 (home-page "https://github.com/sionescu/iolib")
5276 (source
5277 (origin
5278 (method git-fetch)
5279 (uri (git-reference
5280 (url home-page)
5281 (commit commit)))
5282 (file-name (git-file-name name version))
5283 (sha256
5284 (base32
5285 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
5286 (build-system asdf-build-system/sbcl)
5287 (inputs
5288 `(("alexandria" ,sbcl-alexandria)
5289 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5290 ("cffi" ,sbcl-cffi)
5291 ("idna" ,sbcl-idna)
5292 ("libfixposix" ,libfixposix)
5293 ("split-sequence" ,sbcl-split-sequence)
5294 ("swap-bytes" ,sbcl-swap-bytes)))
5295 (arguments
5296 '(#:asd-files '("iolib.asdf.asd"
5297 "iolib.conf.asd"
5298 "iolib.common-lisp.asd"
5299 "iolib.base.asd"
5300 "iolib.asd")
5301 #:phases
5302 (modify-phases %standard-phases
5303 (add-after 'unpack 'fix-paths
5304 (lambda* (#:key inputs #:allow-other-keys)
5305 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5306 (("\\(:default \"libfixposix\"\\)")
5307 (string-append
5308 "(:default \""
5309 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5310 ;; Socket tests need Internet access, disable them.
5311 (substitute* "iolib.asd"
5312 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5313 "")))))))
5314 (synopsis "Common Lisp I/O library")
5315 (description "IOlib is to be a better and more modern I/O library than
5316 the standard Common Lisp library. It contains a socket library, a DNS
5317 resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5318 and @code{kqueue(2)}), a pathname library and file-system utilities.")
5319 (license license:expat))))
5320
5321 (define-public cl-iolib
5322 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
5323 (package
5324 (inherit parent)
5325 (propagated-inputs
5326 ;; Need header to compile.
5327 `(("libfixposix" ,libfixposix)
5328 ,@(package-propagated-inputs parent))))))
5329
5330 (define-public ecl-iolib
5331 (sbcl-package->ecl-package sbcl-iolib))
5332
5333 (define-public sbcl-ieee-floats
5334 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5335 (revision "1"))
5336 (package
5337 (name "sbcl-ieee-floats")
5338 (build-system asdf-build-system/sbcl)
5339 (version (git-version "20170924" revision commit))
5340 (home-page "https://github.com/marijnh/ieee-floats/")
5341 (source
5342 (origin
5343 (method git-fetch)
5344 (uri (git-reference
5345 (url home-page)
5346 (commit commit)))
5347 (file-name (git-file-name name version))
5348 (sha256
5349 (base32
5350 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5351 (native-inputs
5352 `(("fiveam" ,sbcl-fiveam)))
5353 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5354 (description "This is a Common Lisp library that converts
5355 floating point values to IEEE 754 binary representation.")
5356 (license license:bsd-3))))
5357
5358 (define-public cl-ieee-floats
5359 (sbcl-package->cl-source-package sbcl-ieee-floats))
5360
5361 (define-public ecl-ieee-floats
5362 (sbcl-package->ecl-package sbcl-ieee-floats))
5363
5364 (define sbcl-closure-common
5365 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5366 (revision "1"))
5367 (package
5368 (name "sbcl-closure-common")
5369 (build-system asdf-build-system/sbcl)
5370 (version (git-version "20101006" revision commit))
5371 (home-page "https://common-lisp.net/project/cxml/")
5372 (source
5373 (origin
5374 (method git-fetch)
5375 (uri (git-reference
5376 (url "https://github.com/sharplispers/closure-common")
5377 (commit commit)))
5378 (file-name (git-file-name name version))
5379 (sha256
5380 (base32
5381 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5382 (inputs
5383 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5384 ("babel" ,sbcl-babel)))
5385 (synopsis "Support Common Lisp library for CXML")
5386 (description "Closure-common is an internal helper library. The name
5387 Closure is a reference to the web browser it was originally written for.")
5388 ;; TODO: License?
5389 (license #f))))
5390
5391 (define-public sbcl-cxml
5392 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5393 (revision "1"))
5394 (package
5395 (name "sbcl-cxml")
5396 (version (git-version "0.0.0" revision commit))
5397 (source
5398 (origin
5399 (method git-fetch)
5400 (uri (git-reference
5401 (url "https://github.com/sharplispers/cxml")
5402 (commit commit)))
5403 (file-name (git-file-name name version))
5404 (sha256
5405 (base32
5406 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5407 (build-system asdf-build-system/sbcl)
5408 (inputs
5409 `(("closure-common" ,sbcl-closure-common)
5410 ("puri" ,sbcl-puri)
5411 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5412 (synopsis "Common Lisp XML parser")
5413 (description "CXML implements a namespace-aware, validating XML 1.0
5414 parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5415 offered, one SAX-like, the other similar to StAX.")
5416 (home-page "https://common-lisp.net/project/cxml/")
5417 (license license:llgpl))))
5418
5419 (define-public cl-cxml
5420 (sbcl-package->cl-source-package sbcl-cxml))
5421
5422 (define-public ecl-cxml
5423 (sbcl-package->ecl-package sbcl-cxml))
5424
5425 (define-public sbcl-cl-reexport
5426 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5427 (revision "1"))
5428 (package
5429 (name "sbcl-cl-reexport")
5430 (build-system asdf-build-system/sbcl)
5431 (version (git-version "0.1" revision commit))
5432 (home-page "https://github.com/takagi/cl-reexport")
5433 (source
5434 (origin
5435 (method git-fetch)
5436 (uri (git-reference
5437 (url home-page)
5438 (commit commit)))
5439 (file-name (git-file-name name version))
5440 (sha256
5441 (base32
5442 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5443 (inputs
5444 `(("alexandria" ,sbcl-alexandria)))
5445 (arguments
5446 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5447 `(#:tests? #f))
5448 (synopsis "HTTP cookie manager for Common Lisp")
5449 (description "cl-cookie is a Common Lisp library featuring parsing of
5450 cookie headers, cookie creation, cookie jar creation and more.")
5451 (license license:llgpl))))
5452
5453 (define-public cl-reexport
5454 (sbcl-package->cl-source-package sbcl-cl-reexport))
5455
5456 (define-public ecl-cl-reexport
5457 (sbcl-package->ecl-package sbcl-cl-reexport))
5458
5459 (define-public sbcl-cl-cookie
5460 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5461 (revision "1"))
5462 (package
5463 (name "sbcl-cl-cookie")
5464 (build-system asdf-build-system/sbcl)
5465 (version (git-version "0.9.10" revision commit))
5466 (home-page "https://github.com/fukamachi/cl-cookie")
5467 (source
5468 (origin
5469 (method git-fetch)
5470 (uri (git-reference
5471 (url home-page)
5472 (commit commit)))
5473 (file-name (git-file-name name version))
5474 (sha256
5475 (base32
5476 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5477 (inputs
5478 `(("proc-parse" ,sbcl-proc-parse)
5479 ("alexandria" ,sbcl-alexandria)
5480 ("quri" ,sbcl-quri)
5481 ("cl-ppcre" ,sbcl-cl-ppcre)
5482 ("local-time" ,sbcl-local-time)))
5483 (native-inputs
5484 `(("prove" ,sbcl-prove)))
5485 (arguments
5486 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5487 `(#:tests? #f))
5488 (synopsis "HTTP cookie manager for Common Lisp")
5489 (description "cl-cookie is a Common Lisp library featuring parsing of
5490 cookie headers, cookie creation, cookie jar creation and more.")
5491 (license license:bsd-2))))
5492
5493 (define-public cl-cookie
5494 (sbcl-package->cl-source-package sbcl-cl-cookie))
5495
5496 (define-public ecl-cl-cookie
5497 (sbcl-package->ecl-package sbcl-cl-cookie))
5498
5499 (define-public sbcl-dexador
5500 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
5501 (revision "1"))
5502 (package
5503 (name "sbcl-dexador")
5504 (build-system asdf-build-system/sbcl)
5505 (version "0.9.14" )
5506 (home-page "https://github.com/fukamachi/dexador")
5507 (source
5508 (origin
5509 (method git-fetch)
5510 (uri (git-reference
5511 (url home-page)
5512 (commit commit)))
5513 (file-name (git-file-name name version))
5514 (sha256
5515 (base32
5516 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
5517 (inputs
5518 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5519 ("babel" ,sbcl-babel)
5520 ("usocket" ,sbcl-usocket)
5521 ("fast-http" ,sbcl-fast-http)
5522 ("quri" ,sbcl-quri)
5523 ("fast-io" ,sbcl-fast-io)
5524 ("chunga" ,sbcl-chunga)
5525 ("cl-ppcre" ,sbcl-cl-ppcre)
5526 ("cl-cookie" ,sbcl-cl-cookie)
5527 ("trivial-mimes" ,sbcl-trivial-mimes)
5528 ("chipz" ,sbcl-chipz)
5529 ("cl-base64" ,sbcl-cl-base64)
5530 ("cl-reexport" ,sbcl-cl-reexport)
5531 ("cl+ssl" ,sbcl-cl+ssl)
5532 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5533 ("alexandria" ,sbcl-alexandria)))
5534 (native-inputs
5535 `(("prove" ,sbcl-prove)
5536 ("lack" ,sbcl-lack)
5537 ("clack" ,sbcl-clack)
5538 ("babel" ,sbcl-babel)
5539 ("alexandria" ,sbcl-alexandria)
5540 ("cl-ppcre" ,sbcl-cl-ppcre)
5541 ("local-time" ,sbcl-local-time)
5542 ("trivial-features" ,sbcl-trivial-features)))
5543 (arguments
5544 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5545 `(#:tests? #f
5546 #:phases
5547 (modify-phases %standard-phases
5548 (add-after 'unpack 'fix-permissions
5549 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5550 (synopsis "Yet another HTTP client for Common Lisp")
5551 (description "Dexador is yet another HTTP client for Common Lisp with
5552 neat APIs and connection-pooling. It is meant to supersede Drakma.")
5553 (license license:expat))))
5554
5555 (define-public cl-dexador
5556 (package
5557 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5558 (arguments
5559 `(#:phases
5560 ;; asdf-build-system/source has its own phases and does not inherit
5561 ;; from asdf-build-system/sbcl phases.
5562 (modify-phases %standard-phases/source
5563 ;; Already done in SBCL package.
5564 (delete 'reset-gzip-timestamps))))))
5565
5566 (define-public ecl-dexador
5567 (sbcl-package->ecl-package sbcl-dexador))
5568
5569 (define-public sbcl-lisp-namespace
5570 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5571 (revision "1"))
5572 (package
5573 (name "sbcl-lisp-namespace")
5574 (build-system asdf-build-system/sbcl)
5575 (version (git-version "0.1" revision commit))
5576 (home-page "https://github.com/guicho271828/lisp-namespace")
5577 (source
5578 (origin
5579 (method git-fetch)
5580 (uri (git-reference
5581 (url home-page)
5582 (commit commit)))
5583 (file-name (git-file-name name version))
5584 (sha256
5585 (base32
5586 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5587 (inputs
5588 `(("alexandria" ,sbcl-alexandria)))
5589 (native-inputs
5590 `(("fiveam" ,sbcl-fiveam)))
5591 (arguments
5592 `(#:test-asd-file "lisp-namespace.test.asd"
5593 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5594 #:tests? #f))
5595 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5596 (description "Common Lisp already has major 2 namespaces, function
5597 namespace and value namespace (or variable namespace), but there are actually
5598 more — e.g., class namespace.
5599 This library offers macros to deal with symbols from any namespace.")
5600 (license license:llgpl))))
5601
5602 (define-public cl-lisp-namespace
5603 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5604
5605 (define-public ecl-lisp-namespace
5606 (sbcl-package->ecl-package sbcl-lisp-namespace))
5607
5608 (define-public sbcl-trivial-cltl2
5609 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
5610 (revision "2"))
5611 (package
5612 (name "sbcl-trivial-cltl2")
5613 (build-system asdf-build-system/sbcl)
5614 (version (git-version "0.1.1" revision commit))
5615 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
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 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
5626 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5627 (description "This library is a portable compatibility layer around
5628 \"Common Lisp the Language, 2nd
5629 Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5630 and it exports symbols from implementation-specific packages.")
5631 (license license:llgpl))))
5632
5633 (define-public cl-trivial-cltl2
5634 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5635
5636 (define-public ecl-trivial-cltl2
5637 (sbcl-package->ecl-package sbcl-trivial-cltl2))
5638
5639 (define-public sbcl-introspect-environment
5640 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
5641 (revision "1"))
5642 (package
5643 (name "sbcl-introspect-environment")
5644 (build-system asdf-build-system/sbcl)
5645 (version (git-version "0.1" revision commit))
5646 (home-page "https://github.com/Bike/introspect-environment")
5647 (source
5648 (origin
5649 (method git-fetch)
5650 (uri (git-reference
5651 (url home-page)
5652 (commit commit)))
5653 (file-name (git-file-name name version))
5654 (sha256
5655 (base32
5656 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
5657 (native-inputs
5658 `(("fiveam" ,sbcl-fiveam)))
5659 (synopsis "Common Lisp environment introspection portability layer")
5660 (description "This library is a small interface to portable but
5661 nonstandard introspection of Common Lisp environments. It is intended to
5662 allow a bit more compile-time introspection of environments in Common Lisp.
5663
5664 Quite a bit of information is available at the time a macro or compiler-macro
5665 runs; inlining info, type declarations, that sort of thing. This information
5666 is all standard - any Common Lisp program can @code{(declare (integer x))} and
5667 such.
5668
5669 This info ought to be accessible through the standard @code{&environment}
5670 parameters, but it is not. Several implementations keep the information for
5671 their own purposes but do not make it available to user programs, because
5672 there is no standard mechanism to do so.
5673
5674 This library uses implementation-specific hooks to make information available
5675 to users. This is currently supported on SBCL, CCL, and CMUCL. Other
5676 implementations have implementations of the functions that do as much as they
5677 can and/or provide reasonable defaults.")
5678 (license license:wtfpl2))))
5679
5680 (define-public cl-introspect-environment
5681 (sbcl-package->cl-source-package sbcl-introspect-environment))
5682
5683 (define-public ecl-introspect-environment
5684 (sbcl-package->ecl-package sbcl-introspect-environment))
5685
5686 (define-public sbcl-type-i
5687 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
5688 (revision "2"))
5689 (package
5690 (name "sbcl-type-i")
5691 (build-system asdf-build-system/sbcl)
5692 (version (git-version "0.1" revision commit))
5693 (home-page "https://github.com/guicho271828/type-i")
5694 (source
5695 (origin
5696 (method git-fetch)
5697 (uri (git-reference
5698 (url home-page)
5699 (commit commit)))
5700 (file-name (git-file-name name version))
5701 (sha256
5702 (base32
5703 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
5704 (inputs
5705 `(("alexandria" ,sbcl-alexandria)
5706 ("introspect-environment" ,sbcl-introspect-environment)
5707 ("trivia.trivial" ,sbcl-trivia.trivial)))
5708 (native-inputs
5709 `(("fiveam" ,sbcl-fiveam)))
5710 (arguments
5711 `(#:test-asd-file "type-i.test.asd"))
5712 (synopsis "Type inference utility on unary predicates for Common Lisp")
5713 (description "This library tries to provide a way to detect what kind of
5714 type the given predicate is trying to check. This is different from inferring
5715 the return type of a function.")
5716 (license license:llgpl))))
5717
5718 (define-public cl-type-i
5719 (sbcl-package->cl-source-package sbcl-type-i))
5720
5721 (define-public ecl-type-i
5722 (package
5723 (inherit (sbcl-package->ecl-package sbcl-type-i))
5724 (arguments
5725 ;; The tests get stuck indefinitly
5726 '(#:tests? #f))))
5727
5728 (define-public sbcl-optima
5729 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
5730 (revision "1"))
5731 (package
5732 (name "sbcl-optima")
5733 (build-system asdf-build-system/sbcl)
5734 (version (git-version "1.0" revision commit))
5735 (home-page "https://github.com/m2ym/optima")
5736 (source
5737 (origin
5738 (method git-fetch)
5739 (uri (git-reference
5740 (url home-page)
5741 (commit commit)))
5742 (file-name (git-file-name name version))
5743 (sha256
5744 (base32
5745 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
5746 (inputs
5747 `(("alexandria" ,sbcl-alexandria)
5748 ("closer-mop" ,sbcl-closer-mop)))
5749 (native-inputs
5750 `(("eos" ,sbcl-eos)))
5751 (arguments
5752 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
5753 `(#:tests? #f
5754 #:test-asd-file "optima.test.asd"))
5755 (synopsis "Optimized pattern matching library for Common Lisp")
5756 (description "Optima is a fast pattern matching library which uses
5757 optimizing techniques widely used in the functional programming world.")
5758 (license license:expat))))
5759
5760 (define-public cl-optima
5761 (sbcl-package->cl-source-package sbcl-optima))
5762
5763 (define-public ecl-optima
5764 (sbcl-package->ecl-package sbcl-optima))
5765
5766 (define-public sbcl-fare-quasiquote
5767 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
5768 (revision "1"))
5769 (package
5770 (name "sbcl-fare-quasiquote")
5771 (build-system asdf-build-system/sbcl)
5772 (version (git-version "1.0.1" revision commit))
5773 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
5774 (source
5775 (origin
5776 (method git-fetch)
5777 (uri (git-reference
5778 (url (string-append "https://gitlab.common-lisp.net/frideau/"
5779 "fare-quasiquote.git"))
5780 (commit commit)))
5781 (file-name (git-file-name name version))
5782 (sha256
5783 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
5784 (inputs
5785 `(("fare-utils" ,sbcl-fare-utils)
5786 ("named-readtables" ,sbcl-named-readtables)
5787 ("optima" ,sbcl-optima)))
5788 (arguments
5789 ;; XXX: Circular dependencies: Tests depend on subsystems,
5790 ;; which depend on the main systems.
5791 `(#:tests? #f
5792 #:asd-systems '("fare-quasiquote"
5793 "fare-quasiquote-extras")
5794 #:phases
5795 (modify-phases %standard-phases
5796 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
5797 ;; commits after 1.0.0.5, but ASDF fails to read the
5798 ;; "-REVISION-COMMIT" part generated by Guix.
5799 (add-after 'unpack 'patch-requirement
5800 (lambda _
5801 (substitute* "fare-quasiquote.asd"
5802 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
5803 "\"fare-utils\""))
5804 (substitute* "fare-quasiquote-optima.asd"
5805 (("\\(:version \"optima\" \"1\\.0\"\\)")
5806 "\"optima\""))
5807 #t)))))
5808 (synopsis "Pattern-matching friendly implementation of quasiquote")
5809 (description "The main purpose of this n+2nd reimplementation of
5810 quasiquote is enable matching of quasiquoted patterns, using Optima or
5811 Trivia.")
5812 (license license:expat))))
5813
5814 (define-public cl-fare-quasiquote
5815 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
5816
5817 (define-public ecl-fare-quasiquote
5818 (sbcl-package->ecl-package sbcl-fare-quasiquote))
5819
5820 ;;; Split the trivia package in two to work around the circular dependency
5821 ;;; between guicho271828/trivia and guicho271828/type-i.
5822 (define-public sbcl-trivia.trivial
5823 (let ((commit "37698b47a14c2007630468de7a993694ef7bd475")
5824 (revision "2"))
5825 (package
5826 (name "sbcl-trivia.trivial")
5827 (version (git-version "0.0.0" revision commit))
5828 (source
5829 (origin
5830 (method git-fetch)
5831 (uri (git-reference
5832 (url "https://github.com/guicho271828/trivia")
5833 (commit commit)))
5834 (file-name (git-file-name "trivia" version))
5835 (sha256
5836 (base32
5837 "0rsbwbw3ipxxgr6zzhci12nilq8zky475kmhz1rcxy4q8a85vn72"))))
5838 (build-system asdf-build-system/sbcl)
5839 (inputs
5840 `(("alexandria" ,sbcl-alexandria)
5841 ("closer-mop" ,sbcl-closer-mop)
5842 ("lisp-namespace" ,sbcl-lisp-namespace)
5843 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
5844 (arguments
5845 '(#:phases
5846 (modify-phases %standard-phases
5847 (add-after 'unpack 'fix-build
5848 (lambda _
5849 (for-each delete-file
5850 '("trivia.balland2006.asd"
5851 "trivia.ppcre.asd"
5852 "trivia.quasiquote.asd"
5853 "trivia.cffi.asd"
5854 "trivia.asd"
5855 "trivia.test.asd"))
5856 #t)))))
5857 (synopsis "Pattern matching in Common Lisp")
5858 (description "Trivia is a pattern matching compiler that is compatible
5859 with Optima, another pattern matching library for Common Lisp. It is meant to
5860 be faster and more extensible than Optima.")
5861 (home-page "https://github.com/guicho271828/trivia")
5862 (license license:llgpl))))
5863
5864 (define-public cl-trivia.trivial
5865 (sbcl-package->cl-source-package sbcl-trivia.trivial))
5866
5867 (define-public ecl-trivia.trivial
5868 (sbcl-package->ecl-package sbcl-trivia.trivial))
5869
5870 (define-public sbcl-trivia
5871 (package
5872 (inherit sbcl-trivia.trivial)
5873 (name "sbcl-trivia")
5874 (native-inputs
5875 `(("fiveam" ,sbcl-fiveam)
5876 ("optima" ,sbcl-optima)))
5877 (inputs
5878 `(("alexandria" ,sbcl-alexandria)
5879 ("cffi" ,sbcl-cffi)
5880 ("cl-ppcre" ,sbcl-cl-ppcre)
5881 ("fare-quasiquote" ,sbcl-fare-quasiquote)
5882 ("iterate" ,sbcl-iterate)
5883 ("trivia.trivial" ,sbcl-trivia.trivial)
5884 ("type-i" ,sbcl-type-i)))
5885 (arguments
5886 '(#:asd-systems '("trivia"
5887 "trivia.ppcre"
5888 "trivia.quasiquote"
5889 "trivia.cffi")
5890 #:test-asd-file "trivia.test.asd"
5891 #:phases
5892 (modify-phases %standard-phases
5893 (add-after 'unpack 'fix-build
5894 (lambda _
5895 (for-each delete-file
5896 '("trivia.level0.asd"
5897 "trivia.level1.asd"
5898 "trivia.level2.asd"
5899 "trivia.trivial.asd"))
5900 #t)))))))
5901
5902 (define-public cl-trivia
5903 (sbcl-package->cl-source-package sbcl-trivia))
5904
5905 (define-public ecl-trivia
5906 (sbcl-package->ecl-package sbcl-trivia))
5907
5908 (define-public sbcl-mk-string-metrics
5909 (package
5910 (name "sbcl-mk-string-metrics")
5911 (version "0.1.2")
5912 (home-page "https://github.com/cbaggers/mk-string-metrics/")
5913 (source (origin
5914 (method git-fetch)
5915 (uri (git-reference
5916 (url home-page)
5917 (commit version)))
5918 (sha256
5919 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
5920 (file-name (git-file-name name version))))
5921 (build-system asdf-build-system/sbcl)
5922 (synopsis "Calculate various string metrics efficiently in Common Lisp")
5923 (description "This library implements efficient algorithms that calculate
5924 various string metrics in Common Lisp:
5925
5926 @itemize
5927 @item Damerau-Levenshtein distance
5928 @item Hamming distance
5929 @item Jaccard similarity coefficient
5930 @item Jaro distance
5931 @item Jaro-Winkler distance
5932 @item Levenshtein distance
5933 @item Normalized Damerau-Levenshtein distance
5934 @item Normalized Levenshtein distance
5935 @item Overlap coefficient
5936 @end itemize\n")
5937 (license license:x11)))
5938
5939 (define-public cl-mk-string-metrics
5940 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
5941
5942 (define-public ecl-mk-string-metrics
5943 (sbcl-package->ecl-package sbcl-mk-string-metrics))
5944
5945 (define-public sbcl-cl-str
5946 (package
5947 (name "sbcl-cl-str")
5948 (version "0.19")
5949 (home-page "https://github.com/vindarel/cl-str")
5950 (source (origin
5951 (method git-fetch)
5952 (uri (git-reference
5953 (url home-page)
5954 (commit version)))
5955 (sha256
5956 (base32 "1jyza2jhn7w6fl4w87pv0m87z5ia48m6dqw12k0mdh7l3mgjq839"))
5957 (file-name (git-file-name name version))))
5958 (build-system asdf-build-system/sbcl)
5959 (inputs
5960 `(("cl-ppcre" ,sbcl-cl-ppcre)
5961 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
5962 ("cl-change-case" ,sbcl-cl-change-case)))
5963 (native-inputs
5964 `(("prove" ,sbcl-prove)))
5965 (arguments
5966 `(#:asd-systems '("str")
5967 #:test-asd-file "str.test.asd"))
5968 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
5969 (description "A modern and consistent Common Lisp string manipulation
5970 library that focuses on modernity, simplicity and discoverability:
5971 @code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
5972 @code{str:concat strings} instead of an unusual format construct; one
5973 discoverable library instead of many; consistency and composability, where
5974 @code{s} is always the last argument, which makes it easier to feed pipes and
5975 arrows.")
5976 (license license:expat)))
5977
5978 (define-public cl-str
5979 (sbcl-package->cl-source-package sbcl-cl-str))
5980
5981 (define-public ecl-cl-str
5982 (sbcl-package->ecl-package sbcl-cl-str))
5983
5984 (define-public sbcl-cl-xmlspam
5985 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
5986 (package
5987 (name "sbcl-cl-xmlspam")
5988 (build-system asdf-build-system/sbcl)
5989 (version (git-version "0.0.0" "1" commit))
5990 (home-page "https://github.com/rogpeppe/cl-xmlspam")
5991 (source
5992 (origin
5993 (method git-fetch)
5994 (uri (git-reference
5995 (url home-page)
5996 (commit commit)))
5997 (file-name (string-append name "-" version))
5998 (sha256
5999 (base32
6000 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6001 (inputs
6002 `(("cxml" ,sbcl-cxml)
6003 ("cl-ppcre" ,sbcl-cl-ppcre)))
6004 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6005 (description "CXML does an excellent job at parsing XML elements, but what
6006 do you do when you have a XML file that's larger than you want to fit in
6007 memory, and you want to extract some information from it? Writing code to deal
6008 with SAX events, or even using Klacks, quickly becomes tedious.
6009 @code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6010 to write code that mirrors the structure of the XML that it's parsing. It
6011 also makes it easy to shift paradigms when necessary - the usual Lisp control
6012 constructs can be used interchangeably with pattern matching, and the full
6013 power of CXML is available when necessary.")
6014 (license license:bsd-3))))
6015
6016 (define-public cl-xmlspam
6017 (sbcl-package->cl-source-package sbcl-cl-xmlspam))
6018
6019 (define-public ecl-cl-xmlspam
6020 (sbcl-package->ecl-package sbcl-cl-xmlspam))
6021
6022 (define-public sbcl-dbus
6023 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6024 (revision "1"))
6025 (package
6026 (name "sbcl-dbus")
6027 (version (git-version "20190408" revision commit))
6028 (home-page "https://github.com/death/dbus")
6029 (source
6030 (origin
6031 (method git-fetch)
6032 (uri (git-reference
6033 (url home-page)
6034 (commit commit)))
6035 (file-name (git-file-name name version))
6036 (sha256
6037 (base32
6038 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
6039 (build-system asdf-build-system/sbcl)
6040 (inputs
6041 `(("alexandria" ,sbcl-alexandria)
6042 ("trivial-garbage" ,sbcl-trivial-garbage)
6043 ("babel" ,sbcl-babel)
6044 ("iolib" ,sbcl-iolib)
6045 ("ieee-floats" ,sbcl-ieee-floats)
6046 ("flexi-streams" ,sbcl-flexi-streams)
6047 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6048 ("ironclad" ,sbcl-ironclad)))
6049 (synopsis "D-Bus client library for Common Lisp")
6050 (description "This is a Common Lisp library that publishes D-Bus
6051 objects as well as send and notify other objects connected to a bus.")
6052 (license license:bsd-2))))
6053
6054 (define-public cl-dbus
6055 (sbcl-package->cl-source-package sbcl-dbus))
6056
6057 (define-public ecl-dbus
6058 (sbcl-package->ecl-package sbcl-dbus))
6059
6060 (define-public sbcl-cl-hooks
6061 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6062 (revision "1"))
6063 (package
6064 (name "sbcl-cl-hooks")
6065 (build-system asdf-build-system/sbcl)
6066 (version (git-version "0.2.1" revision commit))
6067 (home-page "https://github.com/scymtym/architecture.hooks")
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 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6078 (inputs
6079 `(("alexandria" ,sbcl-alexandria)
6080 ("let-plus" ,sbcl-let-plus)
6081 ("trivial-garbage" ,sbcl-trivial-garbage)
6082 ("closer-mop" ,sbcl-closer-mop)))
6083 (native-inputs
6084 `(("fiveam" ,sbcl-fiveam)))
6085 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6086 (description "A hook, in the present context, is a certain kind of
6087 extension point in a program that allows interleaving the execution of
6088 arbitrary code with the execution of a the program without introducing any
6089 coupling between the two. Hooks are used extensively in the extensible editor
6090 Emacs.
6091
6092 In the Common LISP Object System (CLOS), a similar kind of extensibility is
6093 possible using the flexible multi-method dispatch mechanism. It may even seem
6094 that the concept of hooks does not provide any benefits over the possibilities
6095 of CLOS. However, there are some differences:
6096
6097 @itemize
6098
6099 @item There can be only one method for each combination of specializers and
6100 qualifiers. As a result this kind of extension point cannot be used by
6101 multiple extensions independently.
6102 @item Removing code previously attached via a @code{:before}, @code{:after} or
6103 @code{:around} method can be cumbersome.
6104 @item There could be other or even multiple extension points besides @code{:before}
6105 and @code{:after} in a single method.
6106 @item Attaching codes to individual objects using eql specializers can be
6107 cumbersome.
6108 @item Introspection of code attached a particular extension point is
6109 cumbersome since this requires enumerating and inspecting the methods of a
6110 generic function.
6111 @end itemize
6112
6113 This library tries to complement some of these weaknesses of method-based
6114 extension-points via the concept of hooks.")
6115 (license license:llgpl))))
6116
6117 (define-public cl-hooks
6118 (sbcl-package->cl-source-package sbcl-cl-hooks))
6119
6120 (define-public ecl-cl-hooks
6121 (sbcl-package->ecl-package sbcl-cl-hooks))
6122
6123 (define-public sbcl-cl-autowrap
6124 (let ((revision "1")
6125 (commit "ae846d6968fc0d000de0c541638929a157f3009e"))
6126 ;; no taged branches
6127 (package
6128 (name "sbcl-cl-autowrap")
6129 (version (git-version "1.0" revision commit))
6130 (source
6131 (origin
6132 (method git-fetch)
6133 (uri (git-reference
6134 (url "https://github.com/rpav/cl-autowrap")
6135 (commit commit)))
6136 (file-name (git-file-name name version))
6137 (sha256
6138 (base32 "1gisldp2zns92kdcaikghm7c38ldy2d884n8bfg0wcjvbz78p3ar"))))
6139 (build-system asdf-build-system/sbcl)
6140 (inputs
6141 `(("alexandria" ,sbcl-alexandria)
6142 ("cffi" ,sbcl-cffi)
6143 ("cl-json" ,sbcl-cl-json)
6144 ("cl-ppcre" ,sbcl-cl-ppcre)
6145 ("defpackage-plus" ,sbcl-defpackage-plus)
6146 ("trivial-features" ,sbcl-trivial-features)))
6147 (home-page "https://github.com/rpav/cl-autowrap")
6148 (synopsis "FFI wrapper generator for Common Lisp")
6149 (description "This is a c2ffi-based wrapper generator for Common Lisp.")
6150 (license license:bsd-2))))
6151
6152 (define-public cl-autowrap
6153 (sbcl-package->cl-source-package sbcl-cl-autowrap))
6154
6155 (define-public ecl-cl-autowrap
6156 (sbcl-package->ecl-package sbcl-cl-autowrap))
6157
6158 (define-public sbcl-s-sysdeps
6159 ;; No release since 2013.
6160 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
6161 (revision "2"))
6162 (package
6163 (name "sbcl-s-sysdeps")
6164 (build-system asdf-build-system/sbcl)
6165 (version (git-version "1" revision commit))
6166 (home-page "https://github.com/svenvc/s-sysdeps")
6167 (source
6168 (origin
6169 (method git-fetch)
6170 (uri (git-reference
6171 (url home-page)
6172 (commit commit)))
6173 (file-name (git-file-name name version))
6174 (sha256
6175 (base32
6176 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
6177 (inputs
6178 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
6179 ("usocket" ,sbcl-usocket)))
6180 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6181 (description "@code{s-sysdeps} is an abstraction layer over platform
6182 dependent functionality. This simple package is used as a building block in a
6183 number of other open source projects.
6184
6185 @code{s-sysdeps} abstracts:
6186
6187 @itemize
6188 @item managing processes,
6189 @item implementing a standard TCP/IP server,
6190 @item opening a client TCP/IP socket stream,
6191 @item working with process locks.
6192 @end itemize\n")
6193 (license license:llgpl))))
6194
6195 (define-public cl-s-sysdeps
6196 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6197
6198 (define-public ecl-s-sysdeps
6199 (sbcl-package->ecl-package sbcl-s-sysdeps))
6200
6201 (define-public sbcl-cl-prevalence
6202 (let ((commit "5a76be036092ed6c18cb695a9e03bce87e21b840")
6203 (revision "4"))
6204 (package
6205 (name "sbcl-cl-prevalence")
6206 (build-system asdf-build-system/sbcl)
6207 (version (git-version "5" revision commit))
6208 (home-page "https://github.com/40ants/cl-prevalence")
6209 (source
6210 (origin
6211 (method git-fetch)
6212 (uri (git-reference
6213 (url home-page)
6214 (commit commit)))
6215 (file-name (git-file-name name version))
6216 (sha256
6217 (base32
6218 "050h6hwv8f16b5v6fzba8zmih92hgaaq27i2x9wv1iib41gbia3r"))))
6219 (inputs
6220 `(("s-sysdeps" ,sbcl-s-sysdeps)
6221 ("s-xml" ,sbcl-s-xml)))
6222 (native-inputs
6223 `(("fiveam" ,sbcl-fiveam)))
6224 (synopsis "Implementation of object prevalence for Common Lisp")
6225 (description "This Common Lisp library implements object prevalence (see
6226 @url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6227 for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6228 classes and cyclic data structures are supported.")
6229 (license license:llgpl))))
6230
6231 (define-public cl-prevalence
6232 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6233
6234 (define-public ecl-cl-prevalence
6235 (sbcl-package->ecl-package sbcl-cl-prevalence))
6236
6237 (define-public sbcl-series
6238 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6239 (revision "1"))
6240 (package
6241 (name "sbcl-series")
6242 (version (git-version "2.2.11" revision commit))
6243 (source
6244 (origin
6245 (method git-fetch)
6246 (uri (git-reference
6247 (url "git://git.code.sf.net/p/series/series")
6248 (commit commit)))
6249 (file-name (git-file-name name version))
6250 (sha256
6251 (base32
6252 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6253 (build-system asdf-build-system/sbcl)
6254 (arguments
6255 ;; Disable the tests, they are apparently buggy and I didn't find
6256 ;; a simple way to make them run and pass.
6257 '(#:tests? #f))
6258 (synopsis "Series data structure for Common Lisp")
6259 (description
6260 "This Common Lisp library provides a series data structure much like
6261 a sequence, with similar kinds of operations. The difference is that in many
6262 situations, operations on series may be composed functionally and yet execute
6263 iteratively, without the need to construct intermediate series values
6264 explicitly. In this manner, series provide both the clarity of a functional
6265 programming style and the efficiency of an iterative programming style.")
6266 (home-page "http://series.sourceforge.net/")
6267 (license license:expat))))
6268
6269 (define-public cl-series
6270 (sbcl-package->cl-source-package sbcl-series))
6271
6272 (define-public ecl-series
6273 (sbcl-package->ecl-package sbcl-series))
6274
6275 (define-public sbcl-periods
6276 (let ((commit "60383dcef88a1ac11f82804ae7a33c361dcd2949")
6277 (revision "2"))
6278 (package
6279 (name "sbcl-periods")
6280 (version (git-version "0.0.2" revision commit))
6281 (source
6282 (origin
6283 (method git-fetch)
6284 (uri (git-reference
6285 (url "https://github.com/jwiegley/periods")
6286 (commit commit)))
6287 (file-name (git-file-name name version))
6288 (sha256
6289 (base32
6290 "1ym2j4an9ig2hl210jg91gpf7xfnp6mlhkw3n9kkdnwiji3ipqlk"))))
6291 (build-system asdf-build-system/sbcl)
6292 (inputs
6293 `(("local-time" ,sbcl-local-time)
6294 ("series" ,sbcl-series)))
6295 (arguments
6296 '(#:asd-systems '("periods"
6297 "periods-series")))
6298 (synopsis "Common Lisp library for manipulating date/time objects")
6299 (description
6300 "Periods is a Common Lisp library providing a set of utilities for
6301 manipulating times, distances between times, and both contiguous and
6302 discontiguous ranges of time.")
6303 (home-page "https://github.com/jwiegley/periods")
6304 (license license:bsd-3))))
6305
6306 (define-public cl-periods
6307 (sbcl-package->cl-source-package sbcl-periods))
6308
6309 (define-public ecl-periods
6310 (sbcl-package->ecl-package sbcl-periods))
6311
6312 (define-public sbcl-metatilities-base
6313 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6314 (revision "1"))
6315 (package
6316 (name "sbcl-metatilities-base")
6317 (version (git-version "0.6.6" revision commit))
6318 (source
6319 (origin
6320 (method git-fetch)
6321 (uri (git-reference
6322 (url "https://github.com/gwkkwg/metatilities-base")
6323 (commit commit)))
6324 (file-name (git-file-name name version))
6325 (sha256
6326 (base32
6327 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6328 (build-system asdf-build-system/sbcl)
6329 (native-inputs
6330 `(("lift" ,sbcl-lift)))
6331 (synopsis "Core of the metatilities Common Lisp library")
6332 (description
6333 "Metatilities-base is the core of the metatilities Common Lisp library
6334 which implements a set of utilities.")
6335 (home-page "https://common-lisp.net/project/metatilities-base/")
6336 (license license:expat))))
6337
6338 (define-public cl-metatilities-base
6339 (sbcl-package->cl-source-package sbcl-metatilities-base))
6340
6341 (define-public ecl-metatilities-base
6342 (sbcl-package->ecl-package sbcl-metatilities-base))
6343
6344 (define-public sbcl-cl-containers
6345 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6346 (revision "3"))
6347 (package
6348 (name "sbcl-cl-containers")
6349 (version (git-version "0.12.1" revision commit))
6350 (source
6351 (origin
6352 (method git-fetch)
6353 (uri (git-reference
6354 (url "https://github.com/gwkkwg/cl-containers")
6355 (commit commit)))
6356 (file-name (git-file-name name version))
6357 (sha256
6358 (base32
6359 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
6360 (build-system asdf-build-system/sbcl)
6361 (native-inputs
6362 `(("lift" ,sbcl-lift)))
6363 (inputs
6364 `(("metatilities-base" ,sbcl-metatilities-base)))
6365 (arguments
6366 '(#:asd-files '("cl-containers.asd")
6367 #:phases
6368 (modify-phases %standard-phases
6369 (add-after 'unpack 'relax-version-checks
6370 (lambda _
6371 (substitute* "cl-containers.asd"
6372 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6373 "\"metatilities-base\""))
6374 (substitute* "cl-containers-test.asd"
6375 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6376 "\"lift\""))
6377 #t)))))
6378 (synopsis "Container library for Common Lisp")
6379 (description
6380 "Common Lisp ships with a set of powerful built in data structures
6381 including the venerable list, full featured arrays, and hash-tables.
6382 CL-containers enhances and builds on these structures by adding containers
6383 that are not available in native Lisp (for example: binary search trees,
6384 red-black trees, sparse arrays and so on), and by providing a standard
6385 interface so that they are simpler to use and so that changing design
6386 decisions becomes significantly easier.")
6387 (home-page "https://common-lisp.net/project/cl-containers/")
6388 (license license:expat))))
6389
6390 (define-public cl-containers
6391 (sbcl-package->cl-source-package sbcl-cl-containers))
6392
6393 (define-public ecl-cl-containers
6394 (sbcl-package->ecl-package sbcl-cl-containers))
6395
6396 (define-public sbcl-xlunit
6397 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6398 (revision "1"))
6399 (package
6400 (name "sbcl-xlunit")
6401 (version (git-version "0.6.3" revision commit))
6402 (source
6403 (origin
6404 (method git-fetch)
6405 (uri (git-reference
6406 (url "http://git.kpe.io/xlunit.git")
6407 (commit commit)))
6408 (file-name (git-file-name name version))
6409 (sha256
6410 (base32
6411 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6412 (build-system asdf-build-system/sbcl)
6413 (arguments
6414 '(#:phases
6415 (modify-phases %standard-phases
6416 (add-after 'unpack 'fix-tests
6417 (lambda _
6418 (substitute* "xlunit.asd"
6419 ((" :force t") ""))
6420 #t)))))
6421 (synopsis "Unit testing package for Common Lisp")
6422 (description
6423 "The XLUnit package is a toolkit for building test suites. It is based
6424 on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6425 (home-page "http://quickdocs.org/xlunit/")
6426 (license license:bsd-3))))
6427
6428 (define-public cl-xlunit
6429 (sbcl-package->cl-source-package sbcl-xlunit))
6430
6431 (define-public ecl-xlunit
6432 (sbcl-package->ecl-package sbcl-xlunit))
6433
6434 (define-public sbcl-cambl
6435 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6436 (revision "1"))
6437 (package
6438 (name "sbcl-cambl")
6439 (version (git-version "4.0.0" revision commit))
6440 (source
6441 (origin
6442 (method git-fetch)
6443 (uri (git-reference
6444 (url "https://github.com/jwiegley/cambl")
6445 (commit commit)))
6446 (file-name (git-file-name "cambl" version))
6447 (sha256
6448 (base32 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6449 (build-system asdf-build-system/sbcl)
6450 (native-inputs
6451 `(("xlunit" ,sbcl-xlunit)))
6452 (inputs
6453 `(("alexandria" ,sbcl-alexandria)
6454 ("cl-containers" ,sbcl-cl-containers)
6455 ("local-time" ,sbcl-local-time)
6456 ("periods" ,sbcl-periods)))
6457 (arguments
6458 '(#:asd-files '("fprog.asd"
6459 "cambl.asd")))
6460 (synopsis "Commoditized amounts and balances for Common Lisp")
6461 (description
6462 "CAMBL is a Common Lisp library providing a convenient facility for
6463 working with commoditized values. It does not allow compound units (and so is
6464 not suited for scientific operations) but does work rather nicely for the
6465 purpose of financial calculations.")
6466 (home-page "https://github.com/jwiegley/cambl")
6467 (license license:bsd-3))))
6468
6469 (define-public cl-cambl
6470 (sbcl-package->cl-source-package sbcl-cambl))
6471
6472 (define-public ecl-cambl
6473 (sbcl-package->ecl-package sbcl-cambl))
6474
6475 (define-public sbcl-cl-ledger
6476 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6477 (revision "1"))
6478 (package
6479 (name "sbcl-cl-ledger")
6480 (version (git-version "4.0.0" revision commit))
6481 (source
6482 (origin
6483 (method git-fetch)
6484 (uri (git-reference
6485 (url "https://github.com/ledger/cl-ledger")
6486 (commit commit)))
6487 (file-name (git-file-name name version))
6488 (sha256
6489 (base32
6490 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6491 (build-system asdf-build-system/sbcl)
6492 (inputs
6493 `(("cambl" ,sbcl-cambl)
6494 ("cl-ppcre" ,sbcl-cl-ppcre)
6495 ("local-time" ,sbcl-local-time)
6496 ("periods" ,sbcl-periods)))
6497 (arguments
6498 '(#:phases
6499 (modify-phases %standard-phases
6500 (add-after 'unpack 'fix-system-definition
6501 (lambda _
6502 (substitute* "cl-ledger.asd"
6503 ((" :build-operation program-op") "")
6504 ((" :build-pathname \"cl-ledger\"") "")
6505 ((" :entry-point \"ledger::main\"") ""))
6506 #t)))))
6507 (synopsis "Common Lisp port of the Ledger accounting system")
6508 (description
6509 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6510 system.")
6511 (home-page "https://github.com/ledger/cl-ledger")
6512 (license license:bsd-3))))
6513
6514 (define-public cl-ledger
6515 (sbcl-package->cl-source-package sbcl-cl-ledger))
6516
6517 (define-public ecl-cl-ledger
6518 (sbcl-package->ecl-package sbcl-cl-ledger))
6519
6520 (define-public sbcl-bst
6521 (let ((commit "8545aed0d504df2829ad139566feeabe22305388")
6522 (revision "0"))
6523 (package
6524 (name "sbcl-bst")
6525 (version (git-version "2.0" revision commit))
6526 (source
6527 (origin
6528 (method git-fetch)
6529 (uri (git-reference
6530 (url "https://github.com/glv2/bst")
6531 (commit commit)))
6532 (file-name (git-file-name name version))
6533 (sha256
6534 (base32 "18ig7rvxcra69437g0i8sxyv7c5dg26jqnx1rc2f9pxmihdprgk8"))))
6535 (build-system asdf-build-system/sbcl)
6536 (native-inputs
6537 `(("alexandria" ,sbcl-alexandria)
6538 ("fiveam" ,sbcl-fiveam)))
6539 (synopsis "Binary search tree for Common Lisp")
6540 (description
6541 "BST is a Common Lisp library for working with binary search trees that
6542 can contain any kind of values.")
6543 (home-page "https://github.com/glv2/bst")
6544 (license license:gpl3))))
6545
6546 (define-public cl-bst
6547 (sbcl-package->cl-source-package sbcl-bst))
6548
6549 (define-public ecl-bst
6550 (sbcl-package->ecl-package sbcl-bst))
6551
6552 (define-public sbcl-cl-octet-streams
6553 (package
6554 (name "sbcl-cl-octet-streams")
6555 (version "1.2")
6556 (source
6557 (origin
6558 (method git-fetch)
6559 (uri (git-reference
6560 (url "https://github.com/glv2/cl-octet-streams")
6561 (commit (string-append "v" version))))
6562 (file-name (git-file-name name version))
6563 (sha256
6564 (base32 "1hffh98bv4w5yrchagzwqrc43d2p473pvw7ka4kyyvhrr52dk2f8"))))
6565 (build-system asdf-build-system/sbcl)
6566 (native-inputs
6567 `(("fiveam" ,sbcl-fiveam)))
6568 (inputs
6569 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6570 (synopsis "In-memory octet streams for Common Lisp")
6571 (description
6572 "CL-octet-streams is a library implementing in-memory octet
6573 streams for Common Lisp. It was inspired by the trivial-octet-streams and
6574 cl-plumbing libraries.")
6575 (home-page "https://github.com/glv2/cl-octet-streams")
6576 (license license:gpl3+)))
6577
6578 (define-public cl-octet-streams
6579 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
6580
6581 (define-public ecl-cl-octet-streams
6582 (sbcl-package->ecl-package sbcl-cl-octet-streams))
6583
6584 (define-public sbcl-lzlib
6585 (let ((commit "cad10f5becbcfebb44b9d311a257563778803452")
6586 (revision "2"))
6587 (package
6588 (name "sbcl-lzlib")
6589 (version (git-version "1.1" revision commit))
6590 (source
6591 (origin
6592 (method git-fetch)
6593 (uri (git-reference
6594 (url "https://github.com/glv2/cl-lzlib")
6595 (commit commit)))
6596 (file-name (git-file-name name version))
6597 (sha256
6598 (base32 "09lp7li35h4jkls0448fj1sh6pjslr1w7ranbc4szjr8g0c2bdry"))))
6599 (build-system asdf-build-system/sbcl)
6600 (native-inputs
6601 `(("fiveam" ,sbcl-fiveam)))
6602 (inputs
6603 `(("cffi" ,sbcl-cffi)
6604 ("cl-octet-streams" ,sbcl-cl-octet-streams)
6605 ("lparallel" ,sbcl-lparallel)
6606 ("lzlib" ,lzlib)))
6607 (arguments
6608 '(#:phases
6609 (modify-phases %standard-phases
6610 (add-after 'unpack 'fix-paths
6611 (lambda* (#:key inputs #:allow-other-keys)
6612 (substitute* "src/lzlib.lisp"
6613 (("liblz\\.so")
6614 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
6615 #t)))))
6616 (synopsis "Common Lisp library for lzip (de)compression")
6617 (description
6618 "This Common Lisp library provides functions for lzip (LZMA)
6619 compression/decompression using bindings to the lzlib C library.")
6620 (home-page "https://github.com/glv2/cl-lzlib")
6621 (license license:gpl3+))))
6622
6623 (define-public cl-lzlib
6624 (sbcl-package->cl-source-package sbcl-lzlib))
6625
6626 (define-public ecl-lzlib
6627 (sbcl-package->ecl-package sbcl-lzlib))
6628
6629 (define-public sbcl-chanl
6630 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
6631 (revision "1"))
6632 (package
6633 (name "sbcl-chanl")
6634 (version (git-version "0.4.1" revision commit))
6635 (source
6636 (origin
6637 (method git-fetch)
6638 (uri (git-reference
6639 (url "https://github.com/zkat/chanl")
6640 (commit commit)))
6641 (file-name (git-file-name name version))
6642 (sha256
6643 (base32
6644 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
6645 (build-system asdf-build-system/sbcl)
6646 (native-inputs
6647 `(("fiveam" ,sbcl-fiveam)))
6648 (inputs
6649 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
6650 (synopsis "Portable channel-based concurrency for Common Lisp")
6651 (description "Common Lisp library for channel-based concurrency. In
6652 a nutshell, you create various threads sequentially executing tasks you need
6653 done, and use channel objects to communicate and synchronize the state of these
6654 threads.")
6655 (home-page "https://github.com/zkat/chanl")
6656 (license (list license:expat license:bsd-3)))))
6657
6658 (define-public cl-chanl
6659 (sbcl-package->cl-source-package sbcl-chanl))
6660
6661 (define-public ecl-chanl
6662 (sbcl-package->ecl-package sbcl-chanl))
6663
6664 (define-public sbcl-cl-store
6665 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
6666 (revision "1"))
6667 (package
6668 (name "sbcl-cl-store")
6669 (version (git-version "0.8.11" revision commit))
6670 (source
6671 (origin
6672 (method git-fetch)
6673 (uri (git-reference
6674 (url "https://github.com/skypher/cl-store")
6675 (commit commit)))
6676 (file-name (git-file-name name version))
6677 (sha256
6678 (base32
6679 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
6680 (build-system asdf-build-system/sbcl)
6681 (native-inputs
6682 `(("rt" ,sbcl-rt)))
6683 (synopsis "Common Lisp library to serialize data")
6684 (description
6685 "CL-STORE is a portable serialization package which should give you the
6686 ability to store all Common Lisp data types into streams.")
6687 (home-page "https://www.common-lisp.net/project/cl-store/")
6688 (license license:expat))))
6689
6690 (define-public cl-store
6691 (sbcl-package->cl-source-package sbcl-cl-store))
6692
6693 (define-public ecl-cl-store
6694 (sbcl-package->ecl-package sbcl-cl-store))
6695
6696 (define-public sbcl-cl-gobject-introspection
6697 (let ((commit "d0136c8d9ade2560123af1fc55bbf70d2e3db539")
6698 (revision "1"))
6699 (package
6700 (name "sbcl-cl-gobject-introspection")
6701 (version (git-version "0.3" revision commit))
6702 (home-page "https://github.com/andy128k/cl-gobject-introspection")
6703 (source
6704 (origin
6705 (method git-fetch)
6706 (uri (git-reference
6707 (url home-page)
6708 (commit commit)))
6709 (file-name (git-file-name name version))
6710 (sha256
6711 (base32
6712 "0dz0r73pq7yhz2iq2jnkq977awx2zws2qfxdcy33329sys1ii32p"))))
6713 (build-system asdf-build-system/sbcl)
6714 (inputs
6715 `(("alexandria" ,sbcl-alexandria)
6716 ("cffi" ,sbcl-cffi)
6717 ("iterate" ,sbcl-iterate)
6718 ("trivial-garbage" ,sbcl-trivial-garbage)
6719 ("glib" ,glib)
6720 ("gobject-introspection" ,gobject-introspection)))
6721 (native-inputs
6722 `(("fiveam" ,sbcl-fiveam)))
6723 (arguments
6724 '(#:phases
6725 (modify-phases %standard-phases
6726 (add-after 'unpack 'fix-paths
6727 (lambda* (#:key inputs #:allow-other-keys)
6728 (substitute* "src/init.lisp"
6729 (("libgobject-2\\.0\\.so")
6730 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
6731 (("libgirepository-1\\.0\\.so")
6732 (string-append (assoc-ref inputs "gobject-introspection")
6733 "/lib/libgirepository-1.0.so")))
6734 #t)))))
6735 (synopsis "Common Lisp bindings to GObject Introspection")
6736 (description
6737 "This library is a bridge between Common Lisp and GObject
6738 Introspection, which enables Common Lisp programs to access the full interface
6739 of C+GObject libraries without the need of writing dedicated bindings.")
6740 (license (list license:bsd-3
6741 ;; Tests are under a different license.
6742 license:llgpl)))))
6743
6744 (define-public cl-gobject-introspection
6745 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
6746
6747 (define-public ecl-cl-gobject-introspection
6748 (sbcl-package->ecl-package sbcl-cl-gobject-introspection))
6749
6750 (define-public sbcl-cl-slug
6751 (let ((commit "ffb229d10f0d3f7f54e706791725225e200bf749")
6752 (revision "1"))
6753 (package
6754 (name "sbcl-cl-slug")
6755 (version (git-version "0.4.1" revision commit))
6756 (source
6757 (origin
6758 (method git-fetch)
6759 (uri (git-reference
6760 (url "https://github.com/EuAndreh/cl-slug")
6761 (commit commit)))
6762 (file-name (git-file-name "cl-slug" version))
6763 (sha256
6764 (base32 "1asdq6xllmsvfw5fky9wblqcx9isac9jrrlkfl7vyxcq1wxrnflx"))))
6765 (build-system asdf-build-system/sbcl)
6766 (arguments
6767 `(#:asd-files '("cl-slug-test.asd" "cl-slug.asd")
6768 #:asd-systems '("cl-slug-test" "cl-slug")))
6769 (native-inputs
6770 `(("prove" ,sbcl-prove)))
6771 (inputs
6772 `(("ppcre" ,sbcl-cl-ppcre)))
6773 (home-page "https://github.com/EuAndreh/cl-slug")
6774 (synopsis "Multi-language slug formater")
6775 (description
6776 "This is a small Common Lisp library to make slugs, mainly for URIs,
6777 from english and beyond.")
6778 (license license:llgpl))))
6779
6780 (define-public ecl-cl-slug
6781 (sbcl-package->ecl-package sbcl-cl-slug))
6782
6783 (define-public cl-slug
6784 (sbcl-package->cl-source-package sbcl-cl-slug))
6785
6786 (define-public sbcl-string-case
6787 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
6788 (revision "0"))
6789 (package
6790 (name "sbcl-string-case")
6791 (version (git-version "0.0.2" revision commit))
6792 (home-page "https://github.com/pkhuong/string-case")
6793 (source
6794 (origin
6795 (method git-fetch)
6796 (uri (git-reference
6797 (url home-page)
6798 (commit commit)))
6799 (file-name (git-file-name name version))
6800 (sha256
6801 (base32
6802 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
6803 (build-system asdf-build-system/sbcl)
6804 (synopsis "Efficient string= case in Common Lisp")
6805 (description
6806 "@code{string-case} is a Common Lisp macro that generates specialised decision
6807 trees to dispatch on string equality.")
6808 (license license:bsd-3))))
6809
6810 (define-public cl-string-case
6811 (sbcl-package->cl-source-package sbcl-string-case))
6812
6813 (define-public ecl-string-case
6814 (sbcl-package->ecl-package sbcl-string-case))
6815
6816 (define-public sbcl-garbage-pools
6817 (let ((commit "9a7cb7f48b04197c0495df3b6d2e8395ad13f790")
6818 (revision "1"))
6819 (package
6820 (name "sbcl-garbage-pools")
6821 (version (git-version "0.1.2" revision commit))
6822 (source
6823 (origin
6824 (method git-fetch)
6825 (uri (git-reference
6826 (url "https://github.com/archimag/garbage-pools")
6827 (commit commit)))
6828 (file-name (git-file-name name version))
6829 (sha256
6830 (base32 "04jqwr6j138him6wc4nrwjzm4lvyj5j31xqab02nkf8h9hmsf5v1"))))
6831 (build-system asdf-build-system/sbcl)
6832 (home-page "https://github.com/archimag/garbage-pools")
6833 (synopsis "Resource management pools for Common Lisp")
6834 (description "GARBAGE-POOLS is Common Lisp re-implementation of the APR
6835 Pools for resource management.")
6836 (license license:expat))))
6837
6838 (define-public ecl-garbage-pools
6839 (sbcl-package->ecl-package sbcl-garbage-pools))
6840
6841 (define-public cl-garbage-pools
6842 (sbcl-package->cl-source-package sbcl-garbage-pools))
6843
6844 (define-public sbcl-global-vars
6845 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
6846 (revision "0"))
6847 (package
6848 (name "sbcl-global-vars")
6849 (version (git-version "1.0.0" revision commit))
6850 (home-page "https://github.com/lmj/global-vars")
6851 (source
6852 (origin
6853 (method git-fetch)
6854 (uri (git-reference
6855 (url home-page)
6856 (commit commit)))
6857 (file-name (git-file-name name version))
6858 (sha256
6859 (base32
6860 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
6861 (build-system asdf-build-system/sbcl)
6862 (synopsis "Efficient global variables in Common Lisp")
6863 (description
6864 "In Common Lisp, a special variable that is never dynamically bound
6865 typically serves as a stand-in for a global variable. The @code{global-vars}
6866 library provides true global variables that are implemented by some compilers.
6867 An attempt to rebind a global variable properly results in a compiler error.
6868 That is, a global variable cannot be dynamically bound.
6869
6870 Global variables therefore allow us to communicate an intended usage that
6871 differs from special variables. Global variables are also more efficient than
6872 special variables, especially in the presence of threads.")
6873 (license license:expat))))
6874
6875 (define-public cl-global-vars
6876 (sbcl-package->cl-source-package sbcl-global-vars))
6877
6878 (define-public ecl-global-vars
6879 (sbcl-package->ecl-package sbcl-global-vars))
6880
6881 (define-public sbcl-trivial-file-size
6882 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
6883 (revision "0"))
6884 (package
6885 (name "sbcl-trivial-file-size")
6886 (version (git-version "0.0.0" revision commit))
6887 (home-page "https://github.com/ruricolist/trivial-file-size")
6888 (source
6889 (origin
6890 (method git-fetch)
6891 (uri (git-reference
6892 (url home-page)
6893 (commit commit)))
6894 (file-name (git-file-name name version))
6895 (sha256
6896 (base32
6897 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
6898 (build-system asdf-build-system/sbcl)
6899 (native-inputs
6900 `(("fiveam" ,sbcl-fiveam)))
6901 (synopsis "Size of a file in bytes in Common Lisp")
6902 (description
6903 "The canonical way to determine the size of a file in bytes, using Common Lisp,
6904 is to open the file with an element type of (unsigned-byte 8) and then
6905 calculate the length of the stream. This is less than ideal. In most cases
6906 it is better to get the size of the file from its metadata, using a system
6907 call.
6908
6909 This library exports a single function, file-size-in-octets. It returns the
6910 size of a file in bytes, using system calls when possible.")
6911 (license license:expat))))
6912
6913 (define-public cl-trivial-file-size
6914 (sbcl-package->cl-source-package sbcl-trivial-file-size))
6915
6916 (define-public ecl-trivial-file-size
6917 (sbcl-package->ecl-package sbcl-trivial-file-size))
6918
6919 (define-public sbcl-trivial-macroexpand-all
6920 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
6921 (revision "0"))
6922 (package
6923 (name "sbcl-trivial-macroexpand-all")
6924 (version (git-version "0.0.0" revision commit))
6925 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
6926 (source
6927 (origin
6928 (method git-fetch)
6929 (uri (git-reference
6930 (url home-page)
6931 (commit commit)))
6932 (file-name (git-file-name name version))
6933 (sha256
6934 (base32
6935 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
6936 (build-system asdf-build-system/sbcl)
6937 (native-inputs
6938 `(("fiveam" ,sbcl-fiveam)))
6939 (synopsis "Portable macroexpand-all for Common Lisp")
6940 (description
6941 "This library provides a macroexpand-all function that calls the
6942 implementation specific equivalent.")
6943 (license license:unlicense))))
6944
6945 (define-public cl-trivial-macroexpand-all
6946 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
6947
6948 (define-public ecl-trivial-macroexpand-all
6949 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
6950
6951 (define-public sbcl-serapeum
6952 (let ((commit "263f415a350736b44e3878524ff3997e656fca32")
6953 (revision "4"))
6954 (package
6955 (name "sbcl-serapeum")
6956 (version (git-version "0.0.0" revision commit))
6957 (home-page "https://github.com/ruricolist/serapeum")
6958 (source
6959 (origin
6960 (method git-fetch)
6961 (uri (git-reference
6962 (url home-page)
6963 (commit commit)))
6964 (file-name (git-file-name name version))
6965 (sha256
6966 (base32
6967 "1669yidvxq41s3g6hb2jk21bcb5s2bnfsacpyd5b0hdxbmc7knq3"))))
6968 (build-system asdf-build-system/sbcl)
6969 (inputs
6970 `(("alexandria" ,sbcl-alexandria)
6971 ("trivia" ,sbcl-trivia)
6972 ("split-sequence" ,sbcl-split-sequence)
6973 ("string-case" ,sbcl-string-case)
6974 ("parse-number" ,sbcl-parse-number)
6975 ("trivial-garbage" ,sbcl-trivial-garbage)
6976 ("bordeaux-threads" ,sbcl-bordeaux-threads)
6977 ("named-readtables" ,sbcl-named-readtables)
6978 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6979 ("parse-declarations-1.0" ,sbcl-parse-declarations)
6980 ("global-vars" ,sbcl-global-vars)
6981 ("trivial-file-size" ,sbcl-trivial-file-size)
6982 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
6983 (native-inputs
6984 `(("fiveam" ,sbcl-fiveam)
6985 ("local-time" ,sbcl-local-time)))
6986 (arguments
6987 '(#:phases
6988 (modify-phases %standard-phases
6989 (add-after 'unpack 'disable-failing-tests
6990 (lambda* (#:key inputs #:allow-other-keys)
6991 (substitute* "serapeum.asd"
6992 ;; Guix does not have Quicklisp, and probably never will.
6993 (("\\(:file \"quicklisp\"\\)") ""))
6994 #t)))))
6995 (synopsis "Common Lisp utility library beyond Alexandria")
6996 (description
6997 "Serapeum is a conservative library of Common Lisp utilities. It is a
6998 supplement, not a competitor, to Alexandria.")
6999 (license license:expat))))
7000
7001 (define-public cl-serapeum
7002 (sbcl-package->cl-source-package sbcl-serapeum))
7003
7004 (define-public ecl-serapeum
7005 (sbcl-package->ecl-package sbcl-serapeum))
7006
7007 (define-public sbcl-arrows
7008 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7009 (revision "0"))
7010 (package
7011 (name "sbcl-arrows")
7012 (version (git-version "0.2.0" revision commit))
7013 (source
7014 (origin
7015 (method git-fetch)
7016 (uri (git-reference
7017 (url "https://gitlab.com/Harleqin/arrows.git")
7018 (commit commit)))
7019 (file-name (git-file-name name version))
7020 (sha256
7021 (base32
7022 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7023 (build-system asdf-build-system/sbcl)
7024 (native-inputs
7025 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7026 (synopsis "Clojure-like arrow macros for Common Lisp")
7027 (description
7028 "This library implements the @code{->} and @code{->>} macros from
7029 Clojure, as well as several expansions on the idea.")
7030 (home-page "https://gitlab.com/Harleqin/arrows")
7031 (license license:public-domain))))
7032
7033 (define-public cl-arrows
7034 (sbcl-package->cl-source-package sbcl-arrows))
7035
7036 (define-public ecl-arrows
7037 (sbcl-package->ecl-package sbcl-arrows))
7038
7039 (define-public sbcl-simple-parallel-tasks
7040 (let ((commit "ce7b60f788d8f68dfb69b24aac54c0e3b63379a6")
7041 (revision "1"))
7042 (package
7043 (name "sbcl-simple-parallel-tasks")
7044 (version (git-version "1.0" revision commit))
7045 (source
7046 (origin
7047 (method git-fetch)
7048 (uri (git-reference
7049 (url "https://github.com/glv2/simple-parallel-tasks")
7050 (commit commit)))
7051 (file-name (git-file-name name version))
7052 (sha256
7053 (base32 "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7"))))
7054 (build-system asdf-build-system/sbcl)
7055 (native-inputs
7056 `(("fiveam" ,sbcl-fiveam)))
7057 (inputs
7058 `(("chanl" ,sbcl-chanl)))
7059 (synopsis "Common Lisp library to evaluate some forms in parallel")
7060 (description "This is a simple Common Lisp library to evaluate some
7061 forms in parallel.")
7062 (home-page "https://github.com/glv2/simple-parallel-tasks")
7063 (license license:gpl3))))
7064
7065 (define-public cl-simple-parallel-tasks
7066 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7067
7068 (define-public ecl-simple-parallel-tasks
7069 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7070
7071 (define-public sbcl-cl-heap
7072 (package
7073 (name "sbcl-cl-heap")
7074 (version "0.1.6")
7075 (source
7076 (origin
7077 (method url-fetch)
7078 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7079 "cl-heap_" version ".tar.gz"))
7080 (sha256
7081 (base32
7082 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7083 (build-system asdf-build-system/sbcl)
7084 (native-inputs
7085 `(("xlunit" ,sbcl-xlunit)))
7086 (arguments
7087 `(#:test-asd-file "cl-heap-tests.asd"))
7088 (synopsis "Heap and priority queue data structures for Common Lisp")
7089 (description
7090 "CL-HEAP provides various implementations of heap data structures (a
7091 binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7092 (home-page "https://common-lisp.net/project/cl-heap/")
7093 (license license:gpl3+)))
7094
7095 (define-public cl-heap
7096 (sbcl-package->cl-source-package sbcl-cl-heap))
7097
7098 (define-public ecl-cl-heap
7099 (sbcl-package->ecl-package sbcl-cl-heap))
7100
7101 (define-public sbcl-curry-compose-reader-macros
7102 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7103 (revision "0"))
7104 (package
7105 (name "sbcl-curry-compose-reader-macros")
7106 (version (git-version "1.0.0" revision commit))
7107 (source
7108 (origin
7109 (method git-fetch)
7110 (uri
7111 (git-reference
7112 (url "https://github.com/eschulte/curry-compose-reader-macros")
7113 (commit commit)))
7114 (file-name (git-file-name name version))
7115 (sha256
7116 (base32
7117 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7118 (build-system asdf-build-system/sbcl)
7119 (inputs
7120 `(("alexandria" ,sbcl-alexandria)
7121 ("named-readtables" ,sbcl-named-readtables)))
7122 (synopsis "Reader macros for partial application and composition")
7123 (description
7124 "This Common Lisp library provides reader macros for concise expression
7125 of function partial application and composition.")
7126 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7127 (license license:public-domain))))
7128
7129 (define-public cl-curry-compose-reader-macros
7130 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7131
7132 (define-public ecl-curry-compose-reader-macros
7133 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7134
7135 (define-public sbcl-yason
7136 (package
7137 (name "sbcl-yason")
7138 (version "0.7.7")
7139 (source
7140 (origin
7141 (method git-fetch)
7142 (uri (git-reference
7143 (url "https://github.com/phmarek/yason")
7144 (commit (string-append "v" version))))
7145 (file-name (git-file-name name version))
7146 (sha256
7147 (base32
7148 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7149 (build-system asdf-build-system/sbcl)
7150 (inputs
7151 `(("alexandria" ,sbcl-alexandria)
7152 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7153 (synopsis "Common Lisp JSON parser/encoder")
7154 (description
7155 "YASON is a Common Lisp library for encoding and decoding data in the
7156 JSON interchange format.")
7157 (home-page "https://github.com/phmarek/yason")
7158 (license license:bsd-3)))
7159
7160 (define-public cl-yason
7161 (sbcl-package->cl-source-package sbcl-yason))
7162
7163 (define-public ecl-yason
7164 (sbcl-package->ecl-package sbcl-yason))
7165
7166 (define-public sbcl-stefil
7167 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7168 (revision "0"))
7169 (package
7170 (name "sbcl-stefil")
7171 (version (git-version "0.1" revision commit))
7172 (source
7173 (origin
7174 (method git-fetch)
7175 (uri (git-reference
7176 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7177 (commit commit)))
7178 (file-name (git-file-name name version))
7179 (sha256
7180 (base32
7181 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7182 (build-system asdf-build-system/sbcl)
7183 (inputs
7184 `(("alexandria" ,sbcl-alexandria)
7185 ("iterate" ,sbcl-iterate)
7186 ("metabang-bind" ,sbcl-metabang-bind)
7187 ("swank" ,sbcl-slime-swank)))
7188 (arguments
7189 '(#:phases
7190 (modify-phases %standard-phases
7191 (add-after 'unpack 'drop-unnecessary-dependency
7192 (lambda _
7193 (substitute* "package.lisp"
7194 ((":stefil-system") ""))
7195 #t)))))
7196 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7197 (synopsis "Simple test framework")
7198 (description
7199 "Stefil is a simple test framework for Common Lisp, with a focus on
7200 interactive development.")
7201 (license license:public-domain))))
7202
7203 (define-public cl-stefil
7204 (sbcl-package->cl-source-package sbcl-stefil))
7205
7206 (define-public ecl-stefil
7207 (sbcl-package->ecl-package sbcl-stefil))
7208
7209 (define-public sbcl-graph
7210 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7211 (revision "0"))
7212 (package
7213 (name "sbcl-graph")
7214 (version (git-version "0.0.0" revision commit))
7215 (source
7216 (origin
7217 (method git-fetch)
7218 (uri
7219 (git-reference
7220 (url "https://github.com/eschulte/graph")
7221 (commit commit)))
7222 (file-name (git-file-name name version))
7223 (sha256
7224 (base32
7225 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))))
7226 (build-system asdf-build-system/sbcl)
7227 (native-inputs
7228 `(("stefil" ,sbcl-stefil)))
7229 (inputs
7230 `(("alexandria" ,sbcl-alexandria)
7231 ("cl-heap" ,sbcl-cl-heap)
7232 ("cl-ppcre" ,sbcl-cl-ppcre)
7233 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7234 ("metabang-bind" ,sbcl-metabang-bind)
7235 ("named-readtables" ,sbcl-named-readtables)
7236 ("yason" ,sbcl-yason)))
7237 (arguments
7238 '(#:asd-systems '("graph"
7239 "graph/dot"
7240 "graph/json")))
7241 (synopsis "Graph data structure and algorithms for Common Lisp")
7242 (description
7243 "The GRAPH Common Lisp library provides a data structures to represent
7244 graphs, as well as some graph manipulation and analysis algorithms (shortest
7245 path, maximum flow, minimum spanning tree, etc.).")
7246 (home-page "https://eschulte.github.io/graph/")
7247 (license license:gpl3+))))
7248
7249 (define-public cl-graph
7250 (sbcl-package->cl-source-package sbcl-graph))
7251
7252 (define-public ecl-graph
7253 (sbcl-package->ecl-package sbcl-graph))
7254
7255 (define-public sbcl-trivial-indent
7256 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7257 (revision "0"))
7258 (package
7259 (name "sbcl-trivial-indent")
7260 (version (git-version "1.0.0" revision commit))
7261 (source
7262 (origin
7263 (method git-fetch)
7264 (uri
7265 (git-reference
7266 (url "https://github.com/Shinmera/trivial-indent")
7267 (commit commit)))
7268 (file-name (git-file-name name version))
7269 (sha256
7270 (base32
7271 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7272 (build-system asdf-build-system/sbcl)
7273 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7274 (description
7275 "This library allows you to define custom indentation hints for your
7276 macros if the one recognised by SLIME automatically produces unwanted
7277 results.")
7278 (home-page "https://shinmera.github.io/trivial-indent/")
7279 (license license:zlib))))
7280
7281 (define-public cl-trivial-indent
7282 (sbcl-package->cl-source-package sbcl-trivial-indent))
7283
7284 (define-public ecl-trivial-indent
7285 (sbcl-package->ecl-package sbcl-trivial-indent))
7286
7287 (define-public sbcl-documentation-utils
7288 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7289 (revision "0"))
7290 (package
7291 (name "sbcl-documentation-utils")
7292 (version (git-version "1.2.0" revision commit))
7293 (source
7294 (origin
7295 (method git-fetch)
7296 (uri
7297 (git-reference
7298 (url "https://github.com/Shinmera/documentation-utils")
7299 (commit commit)))
7300 (file-name (git-file-name name version))
7301 (sha256
7302 (base32
7303 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7304 (build-system asdf-build-system/sbcl)
7305 (inputs
7306 `(("trivial-indent" ,sbcl-trivial-indent)))
7307 (synopsis "Few simple tools to document Common Lisp libraries")
7308 (description
7309 "This is a small library to help you with managing the Common Lisp
7310 docstrings for your library.")
7311 (home-page "https://shinmera.github.io/documentation-utils/")
7312 (license license:zlib))))
7313
7314 (define-public cl-documentation-utils
7315 (sbcl-package->cl-source-package sbcl-documentation-utils))
7316
7317 (define-public ecl-documentation-utils
7318 (sbcl-package->ecl-package sbcl-documentation-utils))
7319
7320 (define-public sbcl-documentation-utils-extensions
7321 (let ((commit "f67f8a05d583174662a594b79356b201c1d9d750"))
7322 (package
7323 (name "sbcl-documentation-utils-extensions")
7324 (version (git-version "0.0.0" "1" commit))
7325 (source
7326 (origin
7327 (method git-fetch)
7328 (uri
7329 (git-reference
7330 (url "https://github.com/sirherrbatka/documentation-utils-extensions/")
7331 (commit commit)))
7332 (file-name (git-file-name name version))
7333 (sha256
7334 (base32
7335 "0pn45c9rbxlnhn5nvhqz6kyv0nlirwxpg4j27niwdq80yxzsn51f"))))
7336 (build-system asdf-build-system/sbcl)
7337 (inputs
7338 `(("documentation-utils" ,sbcl-documentation-utils)))
7339 (home-page "https://github.com/sirherrbatka/documentation-utils-extensions")
7340 (synopsis "Set of extensions for documentation-utils")
7341 (description
7342 "Use @code{rich-formatter} to format documentation with sections @code{:syntax},
7343 @code{:arguments}, @code{:examples}, @code{:description}, @code{:returns},
7344 @code{:side-effects}, @code{:thread-safety}, @code{:affected-by},
7345 @code{:see-also} and @code{:notes}. Gather unformatted input by using
7346 @code{rich-aggregating-formatter} and @code{*DOCUMENTATION*} variable. Find
7347 gathered documentation with find-documentation function. Execute code stored
7348 in documentation with @code{execute-documentation}. See the examples in the
7349 @code{src/documentation.lisp} file. See the @code{documentation-utils} system
7350 for more information.")
7351 (license license:expat))))
7352
7353 (define-public cl-documentation-utils-extensions
7354 (sbcl-package->cl-source-package sbcl-documentation-utils-extensions))
7355
7356 (define-public ecl-documentation-utils-extensions
7357 (sbcl-package->ecl-package sbcl-documentation-utils-extensions))
7358
7359 (define-public sbcl-form-fiddle
7360 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7361 (revision "0"))
7362 (package
7363 (name "sbcl-form-fiddle")
7364 (version (git-version "1.1.0" revision commit))
7365 (source
7366 (origin
7367 (method git-fetch)
7368 (uri
7369 (git-reference
7370 (url "https://github.com/Shinmera/form-fiddle")
7371 (commit commit)))
7372 (file-name (git-file-name name version))
7373 (sha256
7374 (base32
7375 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7376 (build-system asdf-build-system/sbcl)
7377 (inputs
7378 `(("documentation-utils" ,sbcl-documentation-utils)))
7379 (synopsis "Utilities to destructure Common Lisp lambda forms")
7380 (description
7381 "Often times we need to destructure a form definition in a Common Lisp
7382 macro. This library provides a set of simple utilities to help with that.")
7383 (home-page "https://shinmera.github.io/form-fiddle/")
7384 (license license:zlib))))
7385
7386 (define-public cl-form-fiddle
7387 (sbcl-package->cl-source-package sbcl-form-fiddle))
7388
7389 (define-public ecl-form-fiddle
7390 (sbcl-package->ecl-package sbcl-form-fiddle))
7391
7392 (define-public sbcl-parachute
7393 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7394 (revision "0"))
7395 (package
7396 (name "sbcl-parachute")
7397 (version (git-version "1.1.1" revision commit))
7398 (source
7399 (origin
7400 (method git-fetch)
7401 (uri
7402 (git-reference
7403 (url "https://github.com/Shinmera/parachute")
7404 (commit commit)))
7405 (file-name (git-file-name name version))
7406 (sha256
7407 (base32
7408 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7409 (build-system asdf-build-system/sbcl)
7410 (inputs
7411 `(("documentation-utils" ,sbcl-documentation-utils)
7412 ("form-fiddle" ,sbcl-form-fiddle)))
7413 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7414 (description
7415 "Parachute is a simple-to-use and extensible testing framework.
7416 In Parachute, things are organised as a bunch of named tests within a package.
7417 Each test can contain a bunch of test forms that make up its body.")
7418 (home-page "https://shinmera.github.io/parachute/")
7419 (license license:zlib))))
7420
7421 (define-public cl-parachute
7422 (sbcl-package->cl-source-package sbcl-parachute))
7423
7424 (define-public ecl-parachute
7425 (sbcl-package->ecl-package sbcl-parachute))
7426
7427 (define-public sbcl-array-utils
7428 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7429 (revision "0"))
7430 (package
7431 (name "sbcl-array-utils")
7432 (version (git-version "1.1.1" revision commit))
7433 (source
7434 (origin
7435 (method git-fetch)
7436 (uri
7437 (git-reference
7438 (url "https://github.com/Shinmera/array-utils")
7439 (commit commit)))
7440 (file-name (git-file-name name version))
7441 (sha256
7442 (base32
7443 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7444 (build-system asdf-build-system/sbcl)
7445 (native-inputs
7446 `(("parachute" ,sbcl-parachute)))
7447 (inputs
7448 `(("documentation-utils" ,sbcl-documentation-utils)))
7449 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7450 (description
7451 "A miniature toolkit that contains some useful shifting/popping/pushing
7452 functions for arrays and vectors. Originally from Plump.")
7453 (home-page "https://shinmera.github.io/array-utils/")
7454 (license license:zlib))))
7455
7456 (define-public cl-array-utils
7457 (sbcl-package->cl-source-package sbcl-array-utils))
7458
7459 (define-public ecl-array-utils
7460 (sbcl-package->ecl-package sbcl-array-utils))
7461
7462 (define-public sbcl-plump
7463 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
7464 (revision "1"))
7465 (package
7466 (name "sbcl-plump")
7467 (version (git-version "2.0.0" revision commit))
7468 (source
7469 (origin
7470 (method git-fetch)
7471 (uri
7472 (git-reference
7473 (url "https://github.com/Shinmera/plump")
7474 (commit commit)))
7475 (file-name (git-file-name name version))
7476 (sha256
7477 (base32
7478 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
7479 (build-system asdf-build-system/sbcl)
7480 (inputs
7481 `(("array-utils" ,sbcl-array-utils)
7482 ("documentation-utils" ,sbcl-documentation-utils)))
7483 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7484 (description
7485 "Plump is a parser for HTML/XML-like documents, focusing on being
7486 lenient towards invalid markup. It can handle things like invalid attributes,
7487 bad closing tag order, unencoded entities, inexistent tag types, self-closing
7488 tags and so on. It parses documents to a class representation and offers a
7489 small set of DOM functions to manipulate it. It can be extended to parse to
7490 your own classes.")
7491 (home-page "https://shinmera.github.io/plump/")
7492 (license license:zlib))))
7493
7494 (define-public cl-plump
7495 (sbcl-package->cl-source-package sbcl-plump))
7496
7497 (define-public ecl-plump
7498 (sbcl-package->ecl-package sbcl-plump))
7499
7500 ;;; Split the antik package in two to work around the circular dependency
7501 ;;; between antik/antik and antik/gsll.
7502 (define-public sbcl-antik-base
7503 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7504 (revision "1"))
7505 (package
7506 (name "sbcl-antik-base")
7507 (version (git-version "0.0.0" revision commit))
7508 (source
7509 (origin
7510 (method git-fetch)
7511 (uri (git-reference
7512 (url "https://gitlab.common-lisp.net/antik/antik.git")
7513 (commit commit)))
7514 (file-name (git-file-name name version))
7515 (sha256
7516 (base32
7517 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7518 (build-system asdf-build-system/sbcl)
7519 (inputs
7520 `(("alexandria" ,sbcl-alexandria)
7521 ("cffi" ,sbcl-cffi)
7522 ("cl-ppcre" ,sbcl-cl-ppcre)
7523 ("drakma" ,sbcl-drakma)
7524 ("fare-utils" ,sbcl-fare-utils)
7525 ("iterate" ,sbcl-iterate)
7526 ("metabang-bind" ,sbcl-metabang-bind)
7527 ("named-readtables" ,sbcl-named-readtables)
7528 ("split-sequence" ,sbcl-split-sequence)
7529 ("static-vectors" ,sbcl-static-vectors)
7530 ("trivial-garbage" ,sbcl-trivial-garbage)
7531 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7532 (native-inputs
7533 `(("lisp-unit" ,sbcl-lisp-unit)))
7534 (arguments
7535 '(#:asd-systems '("antik-base"
7536 "foreign-array")
7537 #:phases
7538 (modify-phases %standard-phases
7539 (add-after 'unpack 'fix-build
7540 (lambda _
7541 (for-each delete-file
7542 '("antik.asd"
7543 "physical-dimension.asd"
7544 "science-data.asd"))
7545 #t)))))
7546 (synopsis "Scientific and engineering computation in Common Lisp")
7547 (description
7548 "Antik provides a foundation for scientific and engineering
7549 computation in Common Lisp. It is designed not only to facilitate
7550 numerical computations, but to permit the use of numerical computation
7551 libraries and the interchange of data and procedures, whether
7552 foreign (non-Lisp) or Lisp libraries. It is named after the
7553 Antikythera mechanism, one of the oldest examples of a scientific
7554 computer known.")
7555 (home-page "https://common-lisp.net/project/antik/")
7556 (license license:gpl3))))
7557
7558 (define-public cl-antik-base
7559 (sbcl-package->cl-source-package sbcl-antik-base))
7560
7561 (define-public ecl-antik-base
7562 (let ((pkg (sbcl-package->ecl-package sbcl-antik-base)))
7563 (package
7564 (inherit pkg)
7565 (arguments
7566 (substitute-keyword-arguments (package-arguments pkg)
7567 ((#:phases phases)
7568 `(modify-phases ,phases
7569 (add-after 'unpack 'fix-readtable
7570 (lambda _
7571 (substitute* "input-output/readtable.lisp"
7572 (("#-ccl")
7573 "#-(or ccl ecl)"))
7574 #t)))))))))
7575
7576 (define-public sbcl-gsll
7577 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7578 (revision "1"))
7579 (package
7580 (name "sbcl-gsll")
7581 (version (git-version "0.0.0" revision commit))
7582 (source
7583 (origin
7584 (method git-fetch)
7585 (uri (git-reference
7586 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7587 (commit commit)))
7588 (file-name (git-file-name name version))
7589 (sha256
7590 (base32
7591 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7592 (build-system asdf-build-system/sbcl)
7593 (native-inputs
7594 `(("lisp-unit" ,sbcl-lisp-unit)))
7595 (inputs
7596 `(("alexandria" ,sbcl-alexandria)
7597 ("antik-base" ,sbcl-antik-base)
7598 ("cffi" ,sbcl-cffi)
7599 ("gsl" ,gsl)
7600 ("metabang-bind" ,sbcl-metabang-bind)
7601 ("trivial-features" ,sbcl-trivial-features)
7602 ("trivial-garbage" ,sbcl-trivial-garbage)))
7603 (arguments
7604 `(#:tests? #f
7605 #:phases
7606 (modify-phases %standard-phases
7607 (add-after 'unpack 'fix-cffi-paths
7608 (lambda* (#:key inputs #:allow-other-keys)
7609 (substitute* "gsll.asd"
7610 ((":depends-on \\(#:foreign-array")
7611 ":depends-on (#:foreign-array #:cffi-libffi"))
7612 (substitute* "init/init.lisp"
7613 (("libgslcblas.so" all)
7614 (string-append
7615 (assoc-ref inputs "gsl") "/lib/" all)))
7616 (substitute* "init/init.lisp"
7617 (("libgsl.so" all)
7618 (string-append
7619 (assoc-ref inputs "gsl") "/lib/" all))))))))
7620 (synopsis "GNU Scientific Library for Lisp")
7621 (description
7622 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
7623 GNU Scientific Library (GSL) from Common Lisp. This library provides a
7624 full range of common mathematical operations useful to scientific and
7625 engineering applications. The design of the GSLL interface is such
7626 that access to most of the GSL library is possible in a Lisp-natural
7627 way; the intent is that the user not be hampered by the restrictions
7628 of the C language in which GSL has been written. GSLL thus provides
7629 interactive use of GSL for getting quick answers, even for someone not
7630 intending to program in Lisp.")
7631 (home-page "https://common-lisp.net/project/gsll/")
7632 (license license:gpl3))))
7633
7634 (define-public cl-gsll
7635 (sbcl-package->cl-source-package sbcl-gsll))
7636
7637 (define-public ecl-gsll
7638 (sbcl-package->ecl-package sbcl-gsll))
7639
7640 (define-public sbcl-antik
7641 (package
7642 (inherit sbcl-antik-base)
7643 (name "sbcl-antik")
7644 (inputs
7645 `(("antik-base" ,sbcl-antik-base)
7646 ("gsll" ,sbcl-gsll)))
7647 (arguments
7648 '(#:asd-systems '("antik"
7649 "science-data")
7650 #:phases
7651 (modify-phases %standard-phases
7652 (add-after 'unpack 'fix-build
7653 (lambda _
7654 (for-each delete-file
7655 '("antik-base.asd"
7656 "foreign-array.asd"))
7657 #t)))))))
7658
7659 (define-public cl-antik
7660 (sbcl-package->cl-source-package sbcl-antik))
7661
7662 (define-public sbcl-cl-interpol
7663 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
7664 (revision "1"))
7665 (package
7666 (name "sbcl-cl-interpol")
7667 (version (git-version "0.2.6" revision commit))
7668 (source
7669 (origin
7670 (method git-fetch)
7671 (uri (git-reference
7672 (url "https://github.com/edicl/cl-interpol")
7673 (commit commit)))
7674 (file-name (git-file-name name version))
7675 (sha256
7676 (base32
7677 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
7678 (build-system asdf-build-system/sbcl)
7679 (inputs
7680 `(("cl-unicode" ,sbcl-cl-unicode)
7681 ("named-readtables" ,sbcl-named-readtables)))
7682 (native-inputs
7683 `(("flexi-streams" ,sbcl-flexi-streams)))
7684 (synopsis "String interpolation for Common Lisp")
7685 (description
7686 "CL-INTERPOL is a library for Common Lisp which modifies the
7687 reader so that you can have interpolation within strings similar to
7688 Perl or Unix Shell scripts. It also provides various ways to insert
7689 arbitrary characters into literal strings even if your editor/IDE
7690 doesn't support them.")
7691 (home-page "https://edicl.github.io/cl-interpol/")
7692 (license license:bsd-3))))
7693
7694 (define-public cl-interpol
7695 (sbcl-package->cl-source-package sbcl-cl-interpol))
7696
7697 (define-public ecl-cl-interpol
7698 (sbcl-package->ecl-package sbcl-cl-interpol))
7699
7700 (define-public sbcl-symbol-munger
7701 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
7702 (revision "1"))
7703 (package
7704 (name "sbcl-symbol-munger")
7705 (version (git-version "0.0.1" revision commit))
7706 (source
7707 (origin
7708 (method git-fetch)
7709 (uri (git-reference
7710 (url "https://github.com/AccelerationNet/symbol-munger")
7711 (commit commit)))
7712 (file-name (git-file-name name version))
7713 (sha256
7714 (base32
7715 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
7716 (build-system asdf-build-system/sbcl)
7717 (inputs
7718 `(("alexandria" ,sbcl-alexandria)
7719 ("iterate" ,sbcl-iterate)))
7720 (arguments
7721 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7722 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7723 '(#:tests? #f))
7724 (synopsis
7725 "Capitalization and spacing conversion functions for Common Lisp")
7726 (description
7727 "This is a Common Lisp library to change the capitalization and spacing
7728 of a string or a symbol. It can convert to and from Lisp, english, underscore
7729 and camel-case rules.")
7730 (home-page "https://github.com/AccelerationNet/symbol-munger")
7731 ;; The package declares a BSD license, but all of the license
7732 ;; text is MIT.
7733 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
7734 (license license:expat))))
7735
7736 (define-public cl-symbol-munger
7737 (sbcl-package->cl-source-package sbcl-symbol-munger))
7738
7739 (define-public ecl-symbol-munger
7740 (sbcl-package->ecl-package sbcl-symbol-munger))
7741
7742 (define-public sbcl-lisp-unit2
7743 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7744 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7745 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
7746 (revision "1"))
7747 (package
7748 (name "sbcl-lisp-unit2")
7749 (version (git-version "0.2.0" revision commit))
7750 (source
7751 (origin
7752 (method git-fetch)
7753 (uri (git-reference
7754 (url "https://github.com/AccelerationNet/lisp-unit2")
7755 (commit commit)))
7756 (file-name (git-file-name name version))
7757 (sha256
7758 (base32
7759 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
7760 (build-system asdf-build-system/sbcl)
7761 (inputs
7762 `(("alexandria" ,sbcl-alexandria)
7763 ("cl-interpol" ,sbcl-cl-interpol)
7764 ("iterate" ,sbcl-iterate)
7765 ("symbol-munger" ,sbcl-symbol-munger)))
7766 (synopsis "Test Framework for Common Lisp")
7767 (description
7768 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
7769 style of JUnit for Java. It is a new version of the lisp-unit library written
7770 by Chris Riesbeck.")
7771 (home-page "https://github.com/AccelerationNet/lisp-unit2")
7772 (license license:expat))))
7773
7774 (define-public cl-lisp-unit2
7775 (sbcl-package->cl-source-package sbcl-lisp-unit2))
7776
7777 (define-public ecl-lisp-unit2
7778 (sbcl-package->ecl-package sbcl-lisp-unit2))
7779
7780 (define-public sbcl-cl-csv
7781 (let ((commit "68ecb5d816545677513d7f6308d9e5e8d2265651")
7782 (revision "2"))
7783 (package
7784 (name "sbcl-cl-csv")
7785 (version (git-version "1.0.6" revision commit))
7786 (source
7787 (origin
7788 (method git-fetch)
7789 (uri (git-reference
7790 (url "https://github.com/AccelerationNet/cl-csv")
7791 (commit commit)))
7792 (file-name (git-file-name name version))
7793 (sha256
7794 (base32
7795 "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x"))))
7796 (build-system asdf-build-system/sbcl)
7797 (arguments
7798 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
7799 `(#:tests? #f))
7800 (inputs
7801 `(("alexandria" ,sbcl-alexandria)
7802 ("cl-interpol" ,sbcl-cl-interpol)
7803 ("iterate" ,sbcl-iterate)))
7804 (native-inputs
7805 `(("lisp-unit2" ,sbcl-lisp-unit2)))
7806 (synopsis "Common lisp library for comma-separated values")
7807 (description
7808 "This is a Common Lisp library providing functions to read/write CSV
7809 from/to strings, streams and files.")
7810 (home-page "https://github.com/AccelerationNet/cl-csv")
7811 (license license:bsd-3))))
7812
7813 (define-public cl-csv
7814 (sbcl-package->cl-source-package sbcl-cl-csv))
7815
7816 (define-public ecl-cl-csv
7817 (sbcl-package->ecl-package sbcl-cl-csv))
7818
7819 (define-public sbcl-external-program
7820 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
7821 (revision "1"))
7822 (package
7823 (name "sbcl-external-program")
7824 (version (git-version "0.0.6" revision commit))
7825 (source
7826 (origin
7827 (method git-fetch)
7828 (uri (git-reference
7829 (url "https://github.com/sellout/external-program")
7830 (commit commit)))
7831 (file-name (git-file-name name version))
7832 (sha256
7833 (base32
7834 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
7835 (build-system asdf-build-system/sbcl)
7836 (inputs
7837 `(("trivial-features" ,sbcl-trivial-features)))
7838 (native-inputs
7839 `(("fiveam" ,sbcl-fiveam)))
7840 (synopsis "Common Lisp library for running external programs")
7841 (description
7842 "EXTERNAL-PROGRAM enables running programs outside the Lisp
7843 process. It is an attempt to make the RUN-PROGRAM functionality in
7844 implementations like SBCL and CCL as portable as possible without
7845 sacrificing much in the way of power.")
7846 (home-page "https://github.com/sellout/external-program")
7847 (license license:llgpl))))
7848
7849 (define-public cl-external-program
7850 (sbcl-package->cl-source-package sbcl-external-program))
7851
7852 (define-public ecl-external-program
7853 (sbcl-package->ecl-package sbcl-external-program))
7854
7855 (define-public sbcl-cl-ana
7856 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
7857 (revision "1"))
7858 (package
7859 (name "sbcl-cl-ana")
7860 (version (git-version "0.0.0" revision commit))
7861 (source
7862 (origin
7863 (method git-fetch)
7864 (uri (git-reference
7865 (url "https://github.com/ghollisjr/cl-ana")
7866 (commit commit)))
7867 (file-name (git-file-name name version))
7868 (sha256
7869 (base32 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
7870 (build-system asdf-build-system/sbcl)
7871 (native-inputs
7872 `(("cl-fad" ,sbcl-cl-fad)))
7873 (inputs
7874 `(("alexandria" ,sbcl-alexandria)
7875 ("antik" ,sbcl-antik)
7876 ("cffi" ,sbcl-cffi)
7877 ("cl-csv" ,sbcl-cl-csv)
7878 ("closer-mop" ,sbcl-closer-mop)
7879 ("external-program" ,sbcl-external-program)
7880 ("gsl" ,gsl)
7881 ("gsll" ,sbcl-gsll)
7882 ("hdf5" ,hdf5-parallel-openmpi)
7883 ("iterate" ,sbcl-iterate)
7884 ("libffi" ,libffi)
7885 ("split-sequence" ,sbcl-split-sequence)))
7886 (arguments
7887 `(#:phases
7888 (modify-phases %standard-phases
7889 (add-after 'unpack 'fix-paths
7890 (lambda* (#:key inputs #:allow-other-keys)
7891 (substitute* "hdf-cffi/hdf-cffi.lisp"
7892 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
7893 (string-append (assoc-ref inputs "hdf5")
7894 "/lib/libhdf5.so")))
7895 (substitute* "gsl-cffi/gsl-cffi.lisp"
7896 (("define-foreign-library gsl-cffi" all)
7897 (string-append all " (:unix "
7898 (assoc-ref inputs "gsl")
7899 "/lib/libgsl.so)")))
7900 #t)))))
7901 (synopsis "Common Lisp data analysis library")
7902 (description
7903 "CL-ANA is a data analysis library in Common Lisp providing tabular and
7904 binned data analysis along with nonlinear least squares fitting and
7905 visualization.")
7906 (home-page "https://github.com/ghollisjr/cl-ana")
7907 (license license:gpl3))))
7908
7909 (define-public cl-ana
7910 (sbcl-package->cl-source-package sbcl-cl-ana))
7911
7912 (define-public sbcl-archive
7913 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
7914 (revision "1"))
7915 (package
7916 (name "sbcl-archive")
7917 (version (git-version "0.9" revision commit))
7918 (source (origin
7919 (method git-fetch)
7920 (uri (git-reference
7921 (url "https://github.com/sharplispers/archive")
7922 (commit commit)))
7923 (file-name (git-file-name name version))
7924 (sha256
7925 (base32
7926 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
7927 (build-system asdf-build-system/sbcl)
7928 (inputs
7929 `(("cl-fad" ,sbcl-cl-fad)
7930 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7931 (synopsis "Common Lisp library for tar and cpio archives")
7932 (description
7933 "This is a Common Lisp library to read and write disk-based file
7934 archives such as those generated by the tar and cpio programs on Unix.")
7935 (home-page "https://github.com/sharplispers/archive")
7936 (license license:bsd-3))))
7937
7938 (define-public cl-archive
7939 (sbcl-package->cl-source-package sbcl-archive))
7940
7941 (define-public ecl-archive
7942 (sbcl-package->ecl-package sbcl-archive))
7943
7944 (define-public sbcl-misc-extensions
7945 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
7946 (revision "1"))
7947 (package
7948 (name "sbcl-misc-extensions")
7949 (version (git-version "3.3" revision commit))
7950 (source
7951 (origin
7952 (method git-fetch)
7953 (uri (git-reference
7954 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
7955 (commit commit)))
7956 (file-name (git-file-name name version))
7957 (sha256
7958 (base32
7959 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
7960 (build-system asdf-build-system/sbcl)
7961 (synopsis "Collection of small macros and extensions for Common Lisp")
7962 (description
7963 "This project is intended as a catchall for small, general-purpose
7964 extensions to Common Lisp. It contains:
7965
7966 @itemize
7967 @item @code{new-let}, a macro that combines and generalizes @code{let},
7968 @code{let*} and @code{multiple-value-bind},
7969 @item @code{gmap}, an iteration macro that generalizes @code{map}.
7970 @end itemize\n")
7971 (home-page "https://common-lisp.net/project/misc-extensions/")
7972 (license license:public-domain))))
7973
7974 (define-public cl-misc-extensions
7975 (sbcl-package->cl-source-package sbcl-misc-extensions))
7976
7977 (define-public ecl-misc-extensions
7978 (sbcl-package->ecl-package sbcl-misc-extensions))
7979
7980 (define-public sbcl-mt19937
7981 (package
7982 (name "sbcl-mt19937")
7983 (version "1.1")
7984 (source
7985 (origin
7986 (method url-fetch)
7987 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
7988 "mt19937-latest.tar.gz"))
7989 (sha256
7990 (base32
7991 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
7992 (build-system asdf-build-system/sbcl)
7993 (synopsis "Mersenne Twister pseudo-random number generator")
7994 (description
7995 "MT19937 is a portable Mersenne Twister pseudo-random number generator
7996 for Common Lisp.")
7997 (home-page "https://www.cliki.net/mt19937")
7998 (license license:public-domain)))
7999
8000 (define-public cl-mt19937
8001 (sbcl-package->cl-source-package sbcl-mt19937))
8002
8003 (define-public ecl-mt19937
8004 (sbcl-package->ecl-package sbcl-mt19937))
8005
8006 (define-public sbcl-fset
8007 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
8008 (revision "1"))
8009 (package
8010 (name "sbcl-fset")
8011 (version (git-version "1.3.2" revision commit))
8012 (source
8013 (origin
8014 (method git-fetch)
8015 (uri (git-reference
8016 (url "https://github.com/slburson/fset")
8017 (commit commit)))
8018 (file-name (git-file-name name version))
8019 (sha256
8020 (base32
8021 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
8022 (snippet '(begin
8023 ;; Remove obsolete copy of system definition.
8024 (delete-file "Code/fset.asd")
8025 #t))))
8026 (build-system asdf-build-system/sbcl)
8027 (inputs
8028 `(("misc-extensions" ,sbcl-misc-extensions)
8029 ("mt19937" ,sbcl-mt19937)
8030 ("named-readtables" ,sbcl-named-readtables)))
8031 (synopsis "Functional set-theoretic collections library")
8032 (description
8033 "FSet is a functional set-theoretic collections library for Common Lisp.
8034 Functional means that all update operations return a new collection rather than
8035 modifying an existing one in place. Set-theoretic means that collections may
8036 be nested arbitrarily with no additional programmer effort; for instance, sets
8037 may contain sets, maps may be keyed by sets, etc.")
8038 (home-page "https://common-lisp.net/project/fset/Site/index.html")
8039 (license license:llgpl))))
8040
8041 (define-public cl-fset
8042 (sbcl-package->cl-source-package sbcl-fset))
8043
8044 (define-public ecl-fset
8045 (package
8046 (inherit (sbcl-package->ecl-package sbcl-fset))
8047 (arguments
8048 ;; Tests fails on ECL with "The function FSET::MAKE-CHAR is undefined".
8049 '(#:tests? #f))))
8050
8051 (define-public sbcl-cl-cont
8052 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
8053 (revision "1"))
8054 (package
8055 (name "sbcl-cl-cont")
8056 (version (git-version "0.3.8" revision commit))
8057 (source
8058 (origin
8059 (method git-fetch)
8060 (uri (git-reference
8061 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
8062 (commit commit)))
8063 (file-name (git-file-name name version))
8064 (sha256
8065 (base32
8066 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
8067 (build-system asdf-build-system/sbcl)
8068 (inputs
8069 `(("alexandria" ,sbcl-alexandria)
8070 ("closer-mop" ,sbcl-closer-mop)))
8071 (native-inputs
8072 `(("rt" ,sbcl-rt)))
8073 (synopsis "Delimited continuations for Common Lisp")
8074 (description
8075 "This is a library that implements delimited continuations by
8076 transforming Common Lisp code to continuation passing style.")
8077 (home-page "https://common-lisp.net/project/cl-cont/")
8078 (license license:llgpl))))
8079
8080 (define-public cl-cont
8081 (sbcl-package->cl-source-package sbcl-cl-cont))
8082
8083 (define-public ecl-cl-cont
8084 (sbcl-package->ecl-package sbcl-cl-cont))
8085
8086 (define-public sbcl-cl-coroutine
8087 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
8088 (revision "1"))
8089 (package
8090 (name "sbcl-cl-coroutine")
8091 (version (git-version "0.1" revision commit))
8092 (source
8093 (origin
8094 (method git-fetch)
8095 (uri (git-reference
8096 (url "https://github.com/takagi/cl-coroutine")
8097 (commit commit)))
8098 (file-name (git-file-name name version))
8099 (sha256
8100 (base32
8101 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
8102 (build-system asdf-build-system/sbcl)
8103 (inputs
8104 `(("alexandria" ,sbcl-alexandria)
8105 ("cl-cont" ,sbcl-cl-cont)))
8106 (native-inputs
8107 `(("prove" ,sbcl-prove)))
8108 (arguments
8109 `(;; TODO: Fix the tests. They fail with:
8110 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
8111 #:tests? #f
8112 #:phases
8113 (modify-phases %standard-phases
8114 (add-after 'unpack 'fix-tests
8115 (lambda _
8116 (substitute* "cl-coroutine-test.asd"
8117 (("cl-test-more")
8118 "prove"))
8119 #t)))))
8120 (synopsis "Coroutine library for Common Lisp")
8121 (description
8122 "This is a coroutine library for Common Lisp implemented using the
8123 continuations of the @code{cl-cont} library.")
8124 (home-page "https://github.com/takagi/cl-coroutine")
8125 (license license:llgpl))))
8126
8127 (define-public cl-coroutine
8128 (sbcl-package->cl-source-package sbcl-cl-coroutine))
8129
8130 (define-public ecl-cl-coroutine
8131 (sbcl-package->ecl-package sbcl-cl-coroutine))
8132
8133 (define-public sbcl-vom
8134 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
8135 (revision "1"))
8136 (package
8137 (name "sbcl-vom")
8138 (version (git-version "0.1.4" revision commit))
8139 (source
8140 (origin
8141 (method git-fetch)
8142 (uri (git-reference
8143 (url "https://github.com/orthecreedence/vom")
8144 (commit commit)))
8145 (file-name (git-file-name name version))
8146 (sha256
8147 (base32
8148 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
8149 (build-system asdf-build-system/sbcl)
8150 (synopsis "Tiny logging utility for Common Lisp")
8151 (description
8152 "Vom is a logging library for Common Lisp. It's goal is to be useful
8153 and small. It does not provide a lot of features as other loggers do, but
8154 has a small codebase that's easy to understand and use.")
8155 (home-page "https://github.com/orthecreedence/vom")
8156 (license license:expat))))
8157
8158 (define-public cl-vom
8159 (sbcl-package->cl-source-package sbcl-vom))
8160
8161 (define-public ecl-vom
8162 (sbcl-package->ecl-package sbcl-vom))
8163
8164 (define-public sbcl-cl-libuv
8165 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
8166 (revision "1"))
8167 (package
8168 (name "sbcl-cl-libuv")
8169 (version (git-version "0.1.6" revision commit))
8170 (source
8171 (origin
8172 (method git-fetch)
8173 (uri (git-reference
8174 (url "https://github.com/orthecreedence/cl-libuv")
8175 (commit commit)))
8176 (file-name (git-file-name name version))
8177 (sha256
8178 (base32
8179 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
8180 (build-system asdf-build-system/sbcl)
8181 (inputs
8182 `(("alexandria" ,sbcl-alexandria)
8183 ("cffi" ,sbcl-cffi)
8184 ("libuv" ,libuv)))
8185 (arguments
8186 `(#:phases
8187 (modify-phases %standard-phases
8188 (add-after 'unpack 'fix-paths
8189 (lambda* (#:key inputs #:allow-other-keys)
8190 (substitute* "lib.lisp"
8191 (("/usr/lib/libuv.so")
8192 (string-append (assoc-ref inputs "libuv")
8193 "/lib/libuv.so")))
8194 #t))
8195 (add-after 'fix-paths 'fix-system-definition
8196 (lambda _
8197 (substitute* "cl-libuv.asd"
8198 (("#:cffi #:alexandria")
8199 "#:cffi #:cffi-grovel #:alexandria"))
8200 #t)))))
8201 (synopsis "Common Lisp bindings to libuv")
8202 (description
8203 "This library provides low-level libuv bindings for Common Lisp.")
8204 (home-page "https://github.com/orthecreedence/cl-libuv")
8205 (license license:expat))))
8206
8207 (define-public cl-libuv
8208 (sbcl-package->cl-source-package sbcl-cl-libuv))
8209
8210 (define-public ecl-cl-libuv
8211 (sbcl-package->ecl-package sbcl-cl-libuv))
8212
8213 (define-public sbcl-cl-async
8214 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
8215 (revision "1"))
8216 (package
8217 (name "sbcl-cl-async")
8218 (version (git-version "0.6.1" revision commit))
8219 (source
8220 (origin
8221 (method git-fetch)
8222 (uri (git-reference
8223 (url "https://github.com/orthecreedence/cl-async")
8224 (commit commit)))
8225 (file-name (git-file-name name version))
8226 (sha256
8227 (base32
8228 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
8229 (build-system asdf-build-system/sbcl)
8230 (inputs
8231 `(("babel" ,sbcl-babel)
8232 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8233 ("cffi" ,sbcl-cffi)
8234 ("cl-libuv" ,sbcl-cl-libuv)
8235 ("cl-ppcre" ,sbcl-cl-ppcre)
8236 ("fast-io" ,sbcl-fast-io)
8237 ("openssl" ,openssl)
8238 ("static-vectors" ,sbcl-static-vectors)
8239 ("trivial-features" ,sbcl-trivial-features)
8240 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
8241 ("vom" ,sbcl-vom)))
8242 (arguments
8243 `(#:asd-systems '("cl-async"
8244 "cl-async-repl"
8245 "cl-async-ssl")
8246 #:phases
8247 (modify-phases %standard-phases
8248 (add-after 'unpack 'fix-paths
8249 (lambda* (#:key inputs #:allow-other-keys)
8250 (substitute* "src/ssl/package.lisp"
8251 (("libcrypto\\.so")
8252 (string-append (assoc-ref inputs "openssl")
8253 "/lib/libcrypto.so"))
8254 (("libssl\\.so")
8255 (string-append (assoc-ref inputs "openssl")
8256 "/lib/libssl.so")))
8257 #t)))))
8258 (synopsis "Asynchronous operations for Common Lisp")
8259 (description
8260 "Cl-async is a library for general purpose, non-blocking programming in
8261 Common Lisp. It uses the libuv library as backend.")
8262 (home-page "https://orthecreedence.github.io/cl-async/")
8263 (license license:expat))))
8264
8265 (define-public cl-async
8266 (sbcl-package->cl-source-package sbcl-cl-async))
8267
8268 (define-public ecl-cl-async
8269 (sbcl-package->ecl-package sbcl-cl-async))
8270
8271 (define-public sbcl-blackbird
8272 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
8273 (revision "1"))
8274 (package
8275 (name "sbcl-blackbird")
8276 (version (git-version "0.5.2" revision commit))
8277 (source
8278 (origin
8279 (method git-fetch)
8280 (uri (git-reference
8281 (url "https://github.com/orthecreedence/blackbird")
8282 (commit commit)))
8283 (file-name (git-file-name name version))
8284 (sha256
8285 (base32
8286 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
8287 (build-system asdf-build-system/sbcl)
8288 (inputs
8289 `(("vom" ,sbcl-vom)))
8290 (native-inputs
8291 `(("cl-async" ,sbcl-cl-async)
8292 ("fiveam" ,sbcl-fiveam)))
8293 (synopsis "Promise implementation for Common Lisp")
8294 (description
8295 "This is a standalone promise implementation for Common Lisp. It is
8296 the successor to the now-deprecated cl-async-future project.")
8297 (home-page "https://orthecreedence.github.io/blackbird/")
8298 (license license:expat))))
8299
8300 (define-public cl-blackbird
8301 (sbcl-package->cl-source-package sbcl-blackbird))
8302
8303 (define-public ecl-blackbird
8304 (sbcl-package->ecl-package sbcl-blackbird))
8305
8306 (define-public sbcl-cl-async-future
8307 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
8308 (revision "1"))
8309 (package
8310 (name "sbcl-cl-async-future")
8311 (version (git-version "0.4.4.1" revision commit))
8312 (source
8313 (origin
8314 (method git-fetch)
8315 (uri (git-reference
8316 (url "https://github.com/orthecreedence/cl-async-future")
8317 (commit commit)))
8318 (file-name (git-file-name name version))
8319 (sha256
8320 (base32
8321 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
8322 (build-system asdf-build-system/sbcl)
8323 (inputs
8324 `(("blackbird" ,sbcl-blackbird)))
8325 (native-inputs
8326 `(("cl-async" ,sbcl-cl-async)
8327 ("eos" ,sbcl-eos)))
8328 (synopsis "Futures implementation for Common Lisp")
8329 (description
8330 "This is futures implementation for Common Lisp. It plugs in nicely
8331 to cl-async.")
8332 (home-page "https://orthecreedence.github.io/cl-async/future")
8333 (license license:expat))))
8334
8335 (define-public cl-async-future
8336 (sbcl-package->cl-source-package sbcl-cl-async-future))
8337
8338 (define-public ecl-cl-async-future
8339 (sbcl-package->ecl-package sbcl-cl-async-future))
8340
8341 (define-public sbcl-green-threads
8342 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
8343 (revision "1"))
8344 (package
8345 (name "sbcl-green-threads")
8346 (version (git-version "0.3" revision commit))
8347 (source
8348 (origin
8349 (method git-fetch)
8350 (uri (git-reference
8351 (url "https://github.com/thezerobit/green-threads")
8352 (commit commit)))
8353 (file-name (git-file-name name version))
8354 (sha256
8355 (base32
8356 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
8357 (build-system asdf-build-system/sbcl)
8358 (inputs
8359 `(("cl-async-future" ,sbcl-cl-async-future)
8360 ("cl-cont" ,sbcl-cl-cont)))
8361 (native-inputs
8362 `(("prove" ,sbcl-prove)))
8363 (arguments
8364 `(;; TODO: Fix the tests. They fail with:
8365 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
8366 #:tests? #f
8367 #:phases
8368 (modify-phases %standard-phases
8369 (add-after 'unpack 'fix-tests
8370 (lambda _
8371 (substitute* "green-threads-test.asd"
8372 (("cl-test-more")
8373 "prove"))
8374 #t)))))
8375 (synopsis "Cooperative multitasking library for Common Lisp")
8376 (description
8377 "This library allows for cooperative multitasking with help of cl-cont
8378 for continuations. It tries to mimic the API of bordeaux-threads as much as
8379 possible.")
8380 (home-page "https://github.com/thezerobit/green-threads")
8381 (license license:bsd-3))))
8382
8383 (define-public cl-green-threads
8384 (sbcl-package->cl-source-package sbcl-green-threads))
8385
8386 (define-public ecl-green-threads
8387 (sbcl-package->ecl-package sbcl-green-threads))
8388
8389 (define-public sbcl-cl-base32
8390 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
8391 (revision "1"))
8392 (package
8393 (name "sbcl-cl-base32")
8394 (version (git-version "0.1" revision commit))
8395 (source
8396 (origin
8397 (method git-fetch)
8398 (uri (git-reference
8399 (url "https://github.com/hargettp/cl-base32")
8400 (commit commit)))
8401 (file-name (git-file-name name version))
8402 (sha256
8403 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
8404 (build-system asdf-build-system/sbcl)
8405 (native-inputs
8406 `(("lisp-unit" ,sbcl-lisp-unit)))
8407 (synopsis "Common Lisp library for base32 encoding and decoding")
8408 (description
8409 "This package provides functions for base32 encoding and decoding as
8410 defined in RFC4648.")
8411 (home-page "https://github.com/hargettp/cl-base32")
8412 (license license:expat))))
8413
8414 (define-public cl-base32
8415 (sbcl-package->cl-source-package sbcl-cl-base32))
8416
8417 (define-public ecl-cl-base32
8418 (sbcl-package->ecl-package sbcl-cl-base32))
8419
8420 (define-public sbcl-cl-z85
8421 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
8422 (revision "1"))
8423 (package
8424 (name "sbcl-cl-z85")
8425 (version (git-version "1.0" revision commit))
8426 (source
8427 (origin
8428 (method git-fetch)
8429 (uri (git-reference
8430 (url "https://github.com/glv2/cl-z85")
8431 (commit commit)))
8432 (file-name (git-file-name name version))
8433 (sha256
8434 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
8435 (build-system asdf-build-system/sbcl)
8436 (native-inputs
8437 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
8438 ("fiveam" ,sbcl-fiveam)))
8439 (synopsis "Common Lisp library for Z85 encoding and decoding")
8440 (description
8441 "This package provides functions to encode or decode byte vectors or
8442 byte streams using the Z85 format, which is a base-85 encoding used by
8443 ZeroMQ.")
8444 (home-page "https://github.com/glv2/cl-z85")
8445 (license license:gpl3+))))
8446
8447 (define-public cl-z85
8448 (sbcl-package->cl-source-package sbcl-cl-z85))
8449
8450 (define-public ecl-cl-z85
8451 (sbcl-package->ecl-package sbcl-cl-z85))
8452
8453 (define-public sbcl-ltk
8454 (package
8455 (name "sbcl-ltk")
8456 (version "0.992")
8457 (source
8458 (origin
8459 (method git-fetch)
8460 (uri (git-reference
8461 (url "https://github.com/herth/ltk")
8462 (commit version)))
8463 (file-name (git-file-name name version))
8464 (sha256
8465 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
8466 (build-system asdf-build-system/sbcl)
8467 (inputs
8468 `(("imagemagick" ,imagemagick)
8469 ("tk" ,tk)))
8470 (arguments
8471 `(#:asd-systems '("ltk"
8472 "ltk-mw"
8473 "ltk-remote")
8474 #:tests? #f
8475 #:phases
8476 (modify-phases %standard-phases
8477 (add-after 'unpack 'fix-paths
8478 (lambda* (#:key inputs #:allow-other-keys)
8479 (substitute* "ltk/ltk.lisp"
8480 (("#-freebsd \"wish\"")
8481 (string-append "#-freebsd \""
8482 (assoc-ref inputs "tk")
8483 "/bin/wish\""))
8484 (("do-execute \"convert\"")
8485 (string-append "do-execute \""
8486 (assoc-ref inputs "imagemagick")
8487 "/bin/convert\"")))
8488 #t))
8489 (add-after 'unpack 'fix-build
8490 (lambda _
8491 (substitute* "ltk/ltk-remote.lisp"
8492 (("\\(:export")
8493 "(:shadow #:raise) (:export"))
8494 #t)))))
8495 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
8496 (description
8497 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
8498 in pure Common Lisp and does not require any Tk knowledge for its usage.")
8499 (home-page "http://www.peter-herth.de/ltk/")
8500 (license license:llgpl)))
8501
8502 (define-public cl-ltk
8503 (sbcl-package->cl-source-package sbcl-ltk))
8504
8505 (define-public ecl-ltk
8506 (sbcl-package->ecl-package sbcl-ltk))
8507
8508 (define-public sbcl-cl-lex
8509 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
8510 (revision "1"))
8511 (package
8512 (name "sbcl-cl-lex")
8513 (version (git-version "1.1.3" revision commit))
8514 (source
8515 (origin
8516 (method git-fetch)
8517 (uri (git-reference
8518 (url "https://github.com/djr7C4/cl-lex")
8519 (commit commit)))
8520 (file-name (git-file-name name version))
8521 (sha256
8522 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
8523 (build-system asdf-build-system/sbcl)
8524 (inputs
8525 `(("cl-ppcre" ,sbcl-cl-ppcre)))
8526 (synopsis "Common Lisp macros for generating lexical analyzers")
8527 (description
8528 "This is a Common Lisp library providing a set of macros for generating
8529 lexical analyzers automatically. The lexers generated using @code{cl-lex} can
8530 be used with @code{cl-yacc}.")
8531 (home-page "https://github.com/djr7C4/cl-lex")
8532 (license license:gpl3))))
8533
8534 (define-public cl-lex
8535 (sbcl-package->cl-source-package sbcl-cl-lex))
8536
8537 (define-public ecl-cl-lex
8538 (sbcl-package->ecl-package sbcl-cl-lex))
8539
8540 (define-public sbcl-clunit2
8541 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
8542 (revision "1"))
8543 (package
8544 (name "sbcl-clunit2")
8545 (version (git-version "0.2.4" revision commit))
8546 (source
8547 (origin
8548 (method git-fetch)
8549 (uri (git-reference
8550 (url "https://notabug.org/cage/clunit2.git")
8551 (commit commit)))
8552 (file-name (git-file-name name version))
8553 (sha256
8554 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
8555 (build-system asdf-build-system/sbcl)
8556 (synopsis "Unit testing framework for Common Lisp")
8557 (description
8558 "CLUnit is a Common Lisp unit testing framework. It is designed to be
8559 easy to use so that you can quickly start testing.")
8560 (home-page "https://notabug.org/cage/clunit2")
8561 (license license:expat))))
8562
8563 (define-public cl-clunit2
8564 (sbcl-package->cl-source-package sbcl-clunit2))
8565
8566 (define-public ecl-clunit2
8567 (sbcl-package->ecl-package sbcl-clunit2))
8568
8569 (define-public sbcl-cl-colors2
8570 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
8571 (revision "1"))
8572 (package
8573 (name "sbcl-cl-colors2")
8574 (version (git-version "0.2.1" revision commit))
8575 (source
8576 (origin
8577 (method git-fetch)
8578 (uri (git-reference
8579 (url "https://notabug.org/cage/cl-colors2.git")
8580 (commit commit)))
8581 (file-name (git-file-name name version))
8582 (sha256
8583 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
8584 (build-system asdf-build-system/sbcl)
8585 (native-inputs
8586 `(("clunit2" ,sbcl-clunit2)))
8587 (inputs
8588 `(("alexandria" ,sbcl-alexandria)
8589 ("cl-ppcre" ,sbcl-cl-ppcre)))
8590 (synopsis "Color library for Common Lisp")
8591 (description
8592 "This is a very simple color library for Common Lisp, providing:
8593
8594 @itemize
8595 @item Types for representing colors in HSV and RGB spaces.
8596 @item Simple conversion functions between the above types (and also
8597 hexadecimal representation for RGB).
8598 @item Some predefined colors (currently X11 color names -- of course
8599 the library does not depend on X11).
8600 @end itemize\n")
8601 (home-page "https://notabug.org/cage/cl-colors2")
8602 (license license:boost1.0))))
8603
8604 (define-public cl-colors2
8605 (sbcl-package->cl-source-package sbcl-cl-colors2))
8606
8607 (define-public ecl-cl-colors2
8608 (sbcl-package->ecl-package sbcl-cl-colors2))
8609
8610 (define-public sbcl-cl-jpeg
8611 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
8612 (revision "1"))
8613 (package
8614 (name "sbcl-cl-jpeg")
8615 (version (git-version "2.8" revision commit))
8616 (source
8617 (origin
8618 (method git-fetch)
8619 (uri (git-reference
8620 (url "https://github.com/sharplispers/cl-jpeg")
8621 (commit commit)))
8622 (file-name (git-file-name name version))
8623 (sha256
8624 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
8625 (build-system asdf-build-system/sbcl)
8626 (synopsis "JPEG image library for Common Lisp")
8627 (description
8628 "This is a baseline JPEG codec written in Common Lisp. It can be used
8629 for reading and writing JPEG image files.")
8630 (home-page "https://github.com/sharplispers/cl-jpeg")
8631 (license license:bsd-3))))
8632
8633 (define-public cl-jpeg
8634 (sbcl-package->cl-source-package sbcl-cl-jpeg))
8635
8636 (define-public ecl-cl-jpeg
8637 (sbcl-package->ecl-package sbcl-cl-jpeg))
8638
8639 (define-public sbcl-nodgui
8640 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
8641 (revision "1"))
8642 (package
8643 (name "sbcl-nodgui")
8644 (version (git-version "0.0.5" revision commit))
8645 (source
8646 (origin
8647 (method git-fetch)
8648 (uri (git-reference
8649 (url "https://notabug.org/cage/nodgui.git")
8650 (commit commit)))
8651 (file-name (git-file-name name version))
8652 (sha256
8653 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
8654 (build-system asdf-build-system/sbcl)
8655 (inputs
8656 `(("alexandria" ,sbcl-alexandria)
8657 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8658 ("cl-colors2" ,sbcl-cl-colors2)
8659 ("cl-jpeg" ,sbcl-cl-jpeg)
8660 ("cl-lex" ,sbcl-cl-lex)
8661 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
8662 ("cl-unicode" ,sbcl-cl-unicode)
8663 ("cl-yacc" ,sbcl-cl-yacc)
8664 ("clunit2" ,sbcl-clunit2)
8665 ("named-readtables" ,sbcl-named-readtables)
8666 ("parse-number" ,sbcl-parse-number)
8667 ("tk" ,tk)))
8668 (arguments
8669 `(#:phases (modify-phases %standard-phases
8670 (add-after 'unpack 'fix-paths
8671 (lambda* (#:key inputs #:allow-other-keys)
8672 (substitute* "src/wish-communication.lisp"
8673 (("#-freebsd \"wish\"")
8674 (string-append "#-freebsd \""
8675 (assoc-ref inputs "tk")
8676 "/bin/wish\"")))
8677 #t)))))
8678 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
8679 (description
8680 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
8681 toolkit. It also provides a few additional widgets more than the standard Tk
8682 ones.")
8683 (home-page "https://www.autistici.org/interzona/nodgui.html")
8684 (license license:llgpl))))
8685
8686 (define-public cl-nodgui
8687 (sbcl-package->cl-source-package sbcl-nodgui))
8688
8689 (define-public ecl-nodgui
8690 (sbcl-package->ecl-package sbcl-nodgui))
8691
8692 (define-public sbcl-salza2
8693 (package
8694 (name "sbcl-salza2")
8695 (version "2.0.9")
8696 (source
8697 (origin
8698 (method git-fetch)
8699 (uri (git-reference
8700 (url "https://github.com/xach/salza2")
8701 (commit (string-append "release-" version))))
8702 (file-name (git-file-name name version))
8703 (sha256
8704 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
8705 (build-system asdf-build-system/sbcl)
8706 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
8707 (description
8708 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
8709 deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
8710 respectively.")
8711 (home-page "https://www.xach.com/lisp/salza2/")
8712 (license license:bsd-2)))
8713
8714 (define-public cl-salza2
8715 (sbcl-package->cl-source-package sbcl-salza2))
8716
8717 (define-public ecl-salza2
8718 (sbcl-package->ecl-package sbcl-salza2))
8719
8720 (define-public sbcl-png-read
8721 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
8722 (revision "1"))
8723 (package
8724 (name "sbcl-png-read")
8725 (version (git-version "0.3.1" revision commit))
8726 (source
8727 (origin
8728 (method git-fetch)
8729 (uri (git-reference
8730 (url "https://github.com/Ramarren/png-read")
8731 (commit commit)))
8732 (file-name (git-file-name name version))
8733 (sha256
8734 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
8735 (build-system asdf-build-system/sbcl)
8736 (inputs
8737 `(("babel" ,sbcl-babel)
8738 ("chipz" ,sbcl-chipz)
8739 ("iterate" ,sbcl-iterate)))
8740 (synopsis "PNG decoder for Common Lisp")
8741 (description "This is a Common Lisp library for reading PNG images.")
8742 (home-page "https://github.com/Ramarren/png-read")
8743 (license license:bsd-3))))
8744
8745 (define-public cl-png-read
8746 (sbcl-package->cl-source-package sbcl-png-read))
8747
8748 (define-public ecl-png-read
8749 (sbcl-package->ecl-package sbcl-png-read))
8750
8751 (define-public sbcl-3b-bmfont
8752 (let ((commit "d1b5bec0de580c2d08ec947a93c56b1400f2a37a")
8753 (revision "1"))
8754 (package
8755 (name "sbcl-3b-bmfont")
8756 (version (git-version "0.0.1" revision commit))
8757 (source
8758 (origin
8759 (method git-fetch)
8760 (uri (git-reference
8761 (url "https://github.com/3b/3b-bmfont/")
8762 (commit commit)))
8763 (file-name (git-file-name "3b-bmfont" version))
8764 (sha256
8765 (base32 "12sgf7m0h6fqzhvkas7vmci6mprj3j3fnz778jlbqbsydln6v2yc"))))
8766 (build-system asdf-build-system/sbcl)
8767 (arguments
8768 `(#:asd-systems
8769 '("3b-bmfont"
8770 "3b-bmfont/text"
8771 "3b-bmfont/common"
8772 "3b-bmfont/xml"
8773 "3b-bmfont/json")))
8774 (inputs
8775 `(("alexandria" ,sbcl-alexandria)
8776 ("cxml" ,sbcl-cxml)
8777 ("flexi-streams" ,sbcl-flexi-streams)
8778 ("jsown" ,sbcl-jsown)
8779 ("split-sequence" ,sbcl-split-sequence)))
8780 (home-page "https://github.com/3b/3b-bmfont/")
8781 (synopsis "Read/write bmfont metadata files")
8782 (description
8783 "This is a Common Lisp library which provides functionality to
8784 read/write Bit Map Font (BMF) into text, JSON and XML.")
8785 (license license:expat))))
8786
8787 (define-public ecl-3b-bmfont
8788 (sbcl-package->ecl-package sbcl-3b-bmfont))
8789
8790 (define-public cl-3b-bmfont
8791 (sbcl-package->cl-source-package sbcl-3b-bmfont))
8792
8793 (define-public sbcl-zpng
8794 (package
8795 (name "sbcl-zpng")
8796 (version "1.2.2")
8797 (source
8798 (origin
8799 (method git-fetch)
8800 (uri (git-reference
8801 (url "https://github.com/xach/zpng")
8802 (commit (string-append "release-" version))))
8803 (file-name (git-file-name name version))
8804 (sha256
8805 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
8806 (build-system asdf-build-system/sbcl)
8807 (inputs
8808 `(("salza2" ,sbcl-salza2)))
8809 (synopsis "PNG encoder for Common Lisp")
8810 (description "This is a Common Lisp library for creating PNG images.")
8811 (home-page "https://www.xach.com/lisp/zpng/")
8812 (license license:bsd-2)))
8813
8814 (define-public cl-zpng
8815 (sbcl-package->cl-source-package sbcl-zpng))
8816
8817 (define-public ecl-zpng
8818 (sbcl-package->ecl-package sbcl-zpng))
8819
8820 (define-public sbcl-cl-qrencode
8821 (package
8822 (name "sbcl-cl-qrencode")
8823 (version "0.1.2")
8824 (source
8825 (origin
8826 (method git-fetch)
8827 (uri (git-reference
8828 (url "https://github.com/jnjcc/cl-qrencode")
8829 (commit (string-append "v" version))))
8830 (file-name (git-file-name name version))
8831 (sha256
8832 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
8833 (build-system asdf-build-system/sbcl)
8834 (native-inputs
8835 `(("lisp-unit" ,sbcl-lisp-unit)))
8836 (inputs
8837 `(("zpng" ,sbcl-zpng)))
8838 (synopsis "QR code encoder for Common Lisp")
8839 (description
8840 "This Common Lisp library provides function to make QR codes and to save
8841 them as PNG files.")
8842 (home-page "https://github.com/jnjcc/cl-qrencode")
8843 (license license:gpl2+)))
8844
8845 (define-public cl-qrencode
8846 (sbcl-package->cl-source-package sbcl-cl-qrencode))
8847
8848 (define-public ecl-cl-qrencode
8849 (sbcl-package->ecl-package sbcl-cl-qrencode))
8850
8851 (define-public sbcl-hdf5-cffi
8852 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
8853 (revision "1"))
8854 (package
8855 (name "sbcl-hdf5-cffi")
8856 (version (git-version "1.8.18" revision commit))
8857 (source
8858 (origin
8859 (method git-fetch)
8860 (uri (git-reference
8861 (url "https://github.com/hdfgroup/hdf5-cffi")
8862 (commit commit)))
8863 (file-name (git-file-name name version))
8864 (sha256
8865 (base32
8866 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
8867 (build-system asdf-build-system/sbcl)
8868 (synopsis "Common Lisp bindings for the HDF5 library")
8869 (description
8870 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
8871 (home-page "https://github.com/hdfgroup/hdf5-cffi")
8872 (license (license:non-copyleft
8873 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
8874 commit
8875 "/LICENSE")))
8876 (inputs
8877 `(("cffi" ,sbcl-cffi)
8878 ("hdf5" ,hdf5-1.10)))
8879 (native-inputs
8880 `(("fiveam" ,sbcl-fiveam)))
8881 (arguments
8882 `(#:test-asd-file "hdf5-cffi.test.asd"
8883 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
8884 ;; I don't know if there is a way to tell asdf-build-system to load
8885 ;; an additional system first, so tests are disabled.
8886 #:tests? #f
8887 #:phases
8888 (modify-phases %standard-phases
8889 (add-after 'unpack 'fix-paths
8890 (lambda* (#:key inputs #:allow-other-keys)
8891 (substitute* "src/library.lisp"
8892 (("libhdf5.so")
8893 (string-append
8894 (assoc-ref inputs "hdf5")
8895 "/lib/libhdf5.so")))))
8896 (add-after 'unpack 'fix-dependencies
8897 (lambda* (#:key inputs #:allow-other-keys)
8898 (substitute* "hdf5-cffi.asd"
8899 ((":depends-on \\(:cffi\\)")
8900 ":depends-on (:cffi :cffi-grovel)"))
8901 (substitute* "hdf5-cffi.test.asd"
8902 ((":depends-on \\(:cffi :hdf5-cffi")
8903 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
8904
8905 (define-public cl-hdf5-cffi
8906 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
8907
8908 (define-public ecl-hdf5-cffi
8909 (sbcl-package->ecl-package sbcl-hdf5-cffi))
8910
8911 (define-public sbcl-cl-randist
8912 (package
8913 (name "sbcl-cl-randist")
8914 (version "0.4.2")
8915 (source
8916 (origin
8917 (method git-fetch)
8918 (uri (git-reference
8919 (url "https://github.com/lvaruzza/cl-randist")
8920 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
8921 (file-name (git-file-name name version))
8922 (sha256
8923 (base32
8924 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
8925 (build-system asdf-build-system/sbcl)
8926 (synopsis "Random distributions for Common Lisp")
8927 (description
8928 "Manual translation from C to Common Lisp of some random number
8929 generation functions from the GSL library.")
8930 (home-page "https://github.com/lvaruzza/cl-randist")
8931 (license license:bsd-2)
8932 (arguments
8933 `(#:tests? #f))))
8934
8935 (define-public cl-randist
8936 (sbcl-package->cl-source-package sbcl-cl-randist))
8937
8938 (define-public ecl-cl-randist
8939 (sbcl-package->ecl-package sbcl-cl-randist))
8940
8941 (define-public sbcl-float-features
8942 (package
8943 (name "sbcl-float-features")
8944 (version "1.0.0")
8945 (source
8946 (origin
8947 (method git-fetch)
8948 (uri (git-reference
8949 (url "https://github.com/Shinmera/float-features")
8950 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
8951 (file-name (git-file-name name version))
8952 (sha256
8953 (base32
8954 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
8955 (build-system asdf-build-system/sbcl)
8956 (synopsis "Common Lisp IEEE float portability library")
8957 (description
8958 "Portability library for IEEE float features that are not
8959 covered by the Common Lisp standard.")
8960 (home-page "https://github.com/Shinmera/float-features")
8961 (license license:zlib)
8962 (inputs
8963 `(("documentation-utils" ,sbcl-documentation-utils)))
8964 (arguments
8965 `(#:tests? #f))))
8966
8967 (define-public cl-float-features
8968 (sbcl-package->cl-source-package sbcl-float-features))
8969
8970 (define-public ecl-float-features
8971 (sbcl-package->ecl-package sbcl-float-features))
8972
8973 (define-public sbcl-function-cache
8974 (package
8975 (name "sbcl-function-cache")
8976 (version "1.0.3")
8977 (source
8978 (origin
8979 (method git-fetch)
8980 (uri (git-reference
8981 (url "https://github.com/AccelerationNet/function-cache")
8982 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
8983 (file-name (git-file-name name version))
8984 (sha256
8985 (base32
8986 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
8987 (build-system asdf-build-system/sbcl)
8988 (synopsis "Function caching / memoization library for Common Lisp")
8989 (description
8990 "A common lisp library that provides extensible function result
8991 caching based on arguments (an expanded form of memoization).")
8992 (home-page "https://github.com/AccelerationNet/function-cache")
8993 (license
8994 (license:non-copyleft
8995 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
8996 (inputs
8997 `(("alexandria" ,sbcl-alexandria)
8998 ("cl-interpol" ,sbcl-cl-interpol)
8999 ("iterate" ,sbcl-iterate)
9000 ("symbol-munger" ,sbcl-symbol-munger)
9001 ("closer-mop" ,sbcl-closer-mop)))
9002 (arguments
9003 `(#:tests? #f))))
9004
9005 (define-public cl-function-cache
9006 (sbcl-package->cl-source-package sbcl-function-cache))
9007
9008 (define-public ecl-function-cache
9009 (sbcl-package->ecl-package sbcl-function-cache))
9010
9011 (define-public sbcl-type-r
9012 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
9013 (revision "1"))
9014 (package
9015 (name "sbcl-type-r")
9016 (version (git-version "0.0.0" revision commit))
9017 (source
9018 (origin
9019 (method git-fetch)
9020 (uri (git-reference
9021 (url "https://github.com/guicho271828/type-r")
9022 (commit commit)))
9023 (file-name (git-file-name name version))
9024 (sha256
9025 (base32
9026 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
9027 (build-system asdf-build-system/sbcl)
9028 (synopsis "Parser interface for Common Lisp built-in compound types")
9029 (description
9030 "Collections of accessor functions and patterns to access
9031 the elements in compound type specifier, e.g. @code{dimensions} in
9032 @code{(array element-type dimensions)}")
9033 (home-page "https://github.com/guicho271828/type-r")
9034 (license license:lgpl3+)
9035 (inputs
9036 `(("trivia" ,sbcl-trivia)
9037 ("alexandria" ,sbcl-alexandria)))
9038 (native-inputs
9039 `(("fiveam" ,sbcl-fiveam)))
9040 (arguments
9041 `(#:test-asd-file "type-r.test.asd")))))
9042
9043 (define-public cl-type-r
9044 (sbcl-package->cl-source-package sbcl-type-r))
9045
9046 (define-public ecl-type-r
9047 (sbcl-package->ecl-package sbcl-type-r))
9048
9049 (define-public sbcl-trivialib-type-unify
9050 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
9051 (revision "1"))
9052 (package
9053 (name "sbcl-trivialib-type-unify")
9054 (version (git-version "0.1" revision commit))
9055 (source
9056 (origin
9057 (method git-fetch)
9058 (uri (git-reference
9059 (url "https://github.com/guicho271828/trivialib.type-unify")
9060 (commit commit)))
9061 (file-name (git-file-name name version))
9062 (sha256
9063 (base32
9064 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
9065 (build-system asdf-build-system/sbcl)
9066 (synopsis "Common Lisp type unification")
9067 (description
9068 "Unifies a parametrized type specifier against an actual type specifier.
9069 Importantly, it handles complicated array-subtypes and number-related types
9070 correctly.")
9071 (home-page "https://github.com/guicho271828/trivialib.type-unify")
9072 (license license:lgpl3+)
9073 (inputs
9074 `(("alexandria" ,sbcl-alexandria)
9075 ("trivia" ,sbcl-trivia)
9076 ("introspect-environment" ,sbcl-introspect-environment)
9077 ("type-r" ,sbcl-type-r)))
9078 (native-inputs
9079 `(("fiveam" ,sbcl-fiveam)))
9080 (arguments
9081 `(#:asd-systems '("trivialib.type-unify")
9082 #:test-asd-file "trivialib.type-unify.test.asd")))))
9083
9084 (define-public cl-trivialib-type-unify
9085 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
9086
9087 (define-public ecl-trivialib-type-unify
9088 (sbcl-package->ecl-package sbcl-trivialib-type-unify))
9089
9090 (define-public sbcl-specialized-function
9091 (let ((commit "dee56d2d2b6ecd10500ad291c56217698604ec35")
9092 (revision "2"))
9093 (package
9094 (name "sbcl-specialized-function")
9095 (version (git-version "0.0.0" revision commit))
9096 (source
9097 (origin
9098 (method git-fetch)
9099 (uri (git-reference
9100 (url "https://github.com/numcl/specialized-function")
9101 (commit commit)))
9102 (file-name (git-file-name name version))
9103 (sha256
9104 (base32 "1mcc7mmpbnmgnr1cl2jl5r1ai54gn7fbisv2c14sh9za5w4sib82"))))
9105 (build-system asdf-build-system/sbcl)
9106 (synopsis "Julia-like dispatch for Common Lisp")
9107 (description
9108 "This library is part of NUMCL. It provides a macro
9109 @code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
9110 lazily compiling a type-specific version of the function from the same
9111 code. The main target of this macro is speed.")
9112 (home-page "https://github.com/numcl/specialized-function")
9113 (license license:lgpl3+)
9114 (inputs
9115 `(("trivia" ,sbcl-trivia)
9116 ("alexandria" ,sbcl-alexandria)
9117 ("iterate" ,sbcl-iterate)
9118 ("lisp-namespace" ,sbcl-lisp-namespace)
9119 ("type-r" ,sbcl-type-r)
9120 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
9121 (native-inputs
9122 `(("fiveam" ,sbcl-fiveam)))
9123 (arguments
9124 `(#:asd-files '("specialized-function.asd")
9125 #:test-asd-file "specialized-function.test.asd"
9126 ;; Tests fail because they try to use an internal symbol of SBCL
9127 ;; that does not exists in recent versions:
9128 ;; "The variable SB-VM:COMPLEX-VECTOR-NIL-WIDETAG is unbound."
9129 #:tests? #f)))))
9130
9131 (define-public cl-specialized-function
9132 (sbcl-package->cl-source-package sbcl-specialized-function))
9133
9134 (define-public ecl-specialized-function
9135 (sbcl-package->ecl-package sbcl-specialized-function))
9136
9137 (define-public sbcl-constantfold
9138 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
9139 (revision "1"))
9140 (package
9141 (name "sbcl-constantfold")
9142 (version (git-version "0.1" revision commit))
9143 (source
9144 (origin
9145 (method git-fetch)
9146 (uri (git-reference
9147 (url "https://github.com/numcl/constantfold")
9148 (commit commit)))
9149 (file-name (git-file-name name version))
9150 (sha256
9151 (base32
9152 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
9153 (build-system asdf-build-system/sbcl)
9154 (synopsis "Support library for numcl")
9155 (description
9156 "Support library for numcl. Registers a function as an
9157 additional form that is considered as a candidate for a constant.")
9158 (home-page "https://github.com/numcl/constantfold")
9159 (license license:lgpl3+)
9160 (inputs
9161 `(("trivia" ,sbcl-trivia)
9162 ("alexandria" ,sbcl-alexandria)
9163 ("iterate" ,sbcl-iterate)
9164 ("lisp-namespace" ,sbcl-lisp-namespace)))
9165 (native-inputs
9166 `(("fiveam" ,sbcl-fiveam)))
9167 (arguments
9168 `(#:asd-files '("constantfold.asd")
9169 #:test-asd-file "constantfold.test.asd")))))
9170
9171 (define-public cl-constantfold
9172 (sbcl-package->cl-source-package sbcl-constantfold))
9173
9174 (define-public ecl-constantfold
9175 (sbcl-package->ecl-package sbcl-constantfold))
9176
9177 (define-public sbcl-gtype
9178 (let ((commit "2442e32485635525af278ebd8fa69a27d5b8cf18")
9179 (revision "2"))
9180 (package
9181 (name "sbcl-gtype")
9182 (version (git-version "0.1" revision commit))
9183 (source
9184 (origin
9185 (method git-fetch)
9186 (uri (git-reference
9187 (url "https://github.com/numcl/gtype")
9188 (commit commit)))
9189 (file-name (git-file-name name version))
9190 (sha256
9191 (base32 "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h"))))
9192 (build-system asdf-build-system/sbcl)
9193 (synopsis "C++/Julia-like parametric types in Common Lisp")
9194 (description
9195 "Support library for numcl that provides Julia-like runtime parametric
9196 type correctness in Common Lisp. It is based on CLtL2 extensions.")
9197 (home-page "https://github.com/numcl/gtype")
9198 (license license:lgpl3+)
9199 (inputs
9200 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
9201 ("trivial-cltl2" ,sbcl-trivial-cltl2)
9202 ("trivia" ,sbcl-trivia)
9203 ("alexandria" ,sbcl-alexandria)
9204 ("iterate" ,sbcl-iterate)
9205 ("type-r" ,sbcl-type-r)))
9206 (native-inputs
9207 `(("fiveam" ,sbcl-fiveam)))
9208 (arguments
9209 `(#:asd-files '("gtype.asd")
9210 #:test-asd-file "gtype.test.asd")))))
9211
9212 (define-public cl-gtype
9213 (sbcl-package->cl-source-package sbcl-gtype))
9214
9215 (define-public ecl-gtype
9216 (let ((pkg (sbcl-package->ecl-package sbcl-gtype)))
9217 (package
9218 (inherit pkg)
9219 (arguments
9220 (substitute-keyword-arguments (package-arguments pkg)
9221 ;; The tests fail on ECL with a COMPILE-FILE-ERROR for t/package.lisp.
9222 ((#:tests? _ #f) #f))))))
9223
9224 (define-public sbcl-numcl
9225 (let ((commit "3e8d40bf774e070e7af1d3dbf01bc8c37dbebd3a")
9226 (revision "2"))
9227 (package
9228 (name "sbcl-numcl")
9229 (version (git-version "0.1.0" revision commit))
9230 (source
9231 (origin
9232 (method git-fetch)
9233 (uri (git-reference
9234 (url "https://github.com/numcl/numcl")
9235 (commit commit)))
9236 (file-name (git-file-name name version))
9237 (sha256
9238 (base32 "1hqpr68f6xkxaj1hjjayyh97wcdmj51k20qrd3nsv1rcpmdc5ll4"))))
9239 (build-system asdf-build-system/sbcl)
9240 (synopsis "Numpy clone in Common Lisp")
9241 (description
9242 "This is a Numpy clone in Common Lisp. At the moment the
9243 library is written in pure Common Lisp, focusing more on correctness
9244 and usefulness, not speed. Track the progress at
9245 @url{https://github.com/numcl/numcl/projects/1}.")
9246 (home-page "https://github.com/numcl/numcl")
9247 (license license:lgpl3+)
9248 (inputs
9249 `(("trivia" ,sbcl-trivia)
9250 ("alexandria" ,sbcl-alexandria)
9251 ("iterate" ,sbcl-iterate)
9252 ("lisp-namespace" ,sbcl-lisp-namespace)
9253 ("type-r" ,sbcl-type-r)
9254 ("constantfold" ,sbcl-constantfold)
9255 ("cl-randist" ,sbcl-cl-randist)
9256 ("float-features" ,sbcl-float-features)
9257 ("function-cache" ,sbcl-function-cache)
9258 ("specialized-function" ,sbcl-specialized-function)
9259 ("gtype" ,sbcl-gtype)))
9260 (native-inputs
9261 `(("fiveam" ,sbcl-fiveam)))
9262 (arguments
9263 `(#:asd-files '("numcl.asd")
9264 #:test-asd-file "numcl.test.asd"
9265 ;; Tests fail on SBCL with "Heap exhausted, game over",
9266 ;; but they pass on ECL.
9267 #:tests? #f)))))
9268
9269 (define-public cl-numcl
9270 (sbcl-package->cl-source-package sbcl-numcl))
9271
9272 (define-public ecl-numcl
9273 (let ((pkg (sbcl-package->ecl-package sbcl-numcl)))
9274 (package
9275 (inherit pkg)
9276 (arguments
9277 (substitute-keyword-arguments (package-arguments pkg)
9278 ((#:tests? _ #f) #t))))))
9279
9280 (define-public sbcl-pzmq
9281 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
9282 (revision "1"))
9283 (package
9284 (name "sbcl-pzmq")
9285 (version (git-version "0.0.0" revision commit))
9286 (source
9287 (origin
9288 (method git-fetch)
9289 (uri (git-reference
9290 (url "https://github.com/orivej/pzmq")
9291 (commit commit)))
9292 (file-name (git-file-name name version))
9293 (sha256
9294 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
9295 (build-system asdf-build-system/sbcl)
9296 (native-inputs
9297 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9298 ("fiveam" ,sbcl-fiveam)
9299 ("let-plus" ,sbcl-let-plus)))
9300 (inputs
9301 `(("cffi" ,sbcl-cffi)
9302 ("zeromq" ,zeromq)))
9303 (arguments
9304 `(#:phases (modify-phases %standard-phases
9305 (add-after 'unpack 'fix-paths
9306 (lambda* (#:key inputs #:allow-other-keys)
9307 (substitute* "c-api.lisp"
9308 (("\"libzmq")
9309 (string-append "\""
9310 (assoc-ref inputs "zeromq")
9311 "/lib/libzmq")))
9312 #t)))))
9313 (synopsis "Common Lisp bindings for the ZeroMQ library")
9314 (description "This Common Lisp library provides bindings for the ZeroMQ
9315 lightweight messaging kernel.")
9316 (home-page "https://github.com/orivej/pzmq")
9317 (license license:unlicense))))
9318
9319 (define-public cl-pzmq
9320 (sbcl-package->cl-source-package sbcl-pzmq))
9321
9322 (define-public ecl-pzmq
9323 (sbcl-package->ecl-package sbcl-pzmq))
9324
9325 (define-public sbcl-clss
9326 (let ((revision "1")
9327 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
9328 (package
9329 (name "sbcl-clss")
9330 (version (git-version "0.3.1" revision commit))
9331 (source
9332 (origin
9333 (method git-fetch)
9334 (uri
9335 (git-reference
9336 (url "https://github.com/Shinmera/clss")
9337 (commit commit)))
9338 (sha256
9339 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
9340 (file-name (git-file-name name version))))
9341 (inputs
9342 `(("array-utils" ,sbcl-array-utils)
9343 ("plump" ,sbcl-plump)))
9344 (build-system asdf-build-system/sbcl)
9345 (synopsis "DOM tree searching engine based on CSS selectors")
9346 (description "CLSS is a DOM traversal engine based on CSS
9347 selectors. It makes use of the Plump-DOM and is used by lQuery.")
9348 (home-page "https://github.com/Shinmera/clss")
9349 (license license:zlib))))
9350
9351 (define-public cl-clss
9352 (sbcl-package->cl-source-package sbcl-clss))
9353
9354 (define-public ecl-clss
9355 (sbcl-package->ecl-package sbcl-clss))
9356
9357 (define-public sbcl-lquery
9358 (let ((revision "1")
9359 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
9360 (package
9361 (name "sbcl-lquery")
9362 (version (git-version "3.2.1" revision commit))
9363 (source
9364 (origin
9365 (method git-fetch)
9366 (uri
9367 (git-reference
9368 (url "https://github.com/Shinmera/lquery")
9369 (commit commit)))
9370 (sha256
9371 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
9372 (file-name (git-file-name name version))))
9373 (native-inputs
9374 `(("fiveam" ,sbcl-fiveam)))
9375 (inputs
9376 `(("array-utils" ,sbcl-array-utils)
9377 ("form-fiddle" ,sbcl-form-fiddle)
9378 ("plump" ,sbcl-plump)
9379 ("clss" ,sbcl-clss)))
9380 (build-system asdf-build-system/sbcl)
9381 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
9382 (description "@code{lQuery} is a DOM manipulation library written in
9383 Common Lisp, inspired by and based on the jQuery syntax and
9384 functions. It uses Plump and CLSS as DOM and selector engines. The
9385 main idea behind lQuery is to provide a simple interface for crawling
9386 and modifying HTML sites, as well as to allow for an alternative
9387 approach to templating.")
9388 (home-page "https://github.com/Shinmera/lquery")
9389 (license license:zlib))))
9390
9391 (define-public cl-lquery
9392 (sbcl-package->cl-source-package sbcl-lquery))
9393
9394 (define-public ecl-lquery
9395 (sbcl-package->ecl-package sbcl-lquery))
9396
9397 (define-public sbcl-cl-mysql
9398 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
9399 (revision "1"))
9400 (package
9401 (name "sbcl-cl-mysql")
9402 (version (git-version "0.1" revision commit))
9403 (source
9404 (origin
9405 (method git-fetch)
9406 (uri (git-reference
9407 (url "https://github.com/hackinghat/cl-mysql")
9408 (commit commit)))
9409 (file-name (git-file-name name version))
9410 (sha256
9411 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
9412 (build-system asdf-build-system/sbcl)
9413 (native-inputs
9414 `(("stefil" ,sbcl-stefil)))
9415 (inputs
9416 `(("cffi" ,sbcl-cffi)
9417 ("mariadb-lib" ,mariadb "lib")))
9418 (arguments
9419 `(#:tests? #f ; TODO: Tests require a running server
9420 #:phases
9421 (modify-phases %standard-phases
9422 (add-after 'unpack 'fix-paths
9423 (lambda* (#:key inputs #:allow-other-keys)
9424 (substitute* "system.lisp"
9425 (("libmysqlclient_r" all)
9426 (string-append (assoc-ref inputs "mariadb-lib")
9427 "/lib/"
9428 all)))
9429 #t)))))
9430 (synopsis "Common Lisp wrapper for MySQL")
9431 (description
9432 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
9433 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
9434 (license license:expat))))
9435
9436 (define-public cl-mysql
9437 (sbcl-package->cl-source-package sbcl-cl-mysql))
9438
9439 (define-public ecl-cl-mysql
9440 (sbcl-package->ecl-package sbcl-cl-mysql))
9441
9442 (define-public sbcl-postmodern
9443 (package
9444 (name "sbcl-postmodern")
9445 (version "1.32.8")
9446 (source
9447 (origin
9448 (method git-fetch)
9449 (uri (git-reference
9450 (url "https://github.com/marijnh/Postmodern")
9451 (commit (string-append "v" version))))
9452 (file-name (git-file-name name version))
9453 (sha256
9454 (base32 "0vr5inbr8dldf6dsl0qj3h2yrnnsayzfwxfzwkn1pk7xbns2l78q"))))
9455 (build-system asdf-build-system/sbcl)
9456 (native-inputs
9457 `(("fiveam" ,sbcl-fiveam)))
9458 (inputs
9459 `(("alexandria" ,sbcl-alexandria)
9460 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9461 ("cl-base64" ,sbcl-cl-base64)
9462 ("cl-unicode" ,sbcl-cl-unicode)
9463 ("closer-mop" ,sbcl-closer-mop)
9464 ("global-vars" ,sbcl-global-vars)
9465 ("ironclad" ,sbcl-ironclad)
9466 ("local-time" ,sbcl-local-time)
9467 ("md5" ,sbcl-md5)
9468 ("split-sequence" ,sbcl-split-sequence)
9469 ("uax-15" ,sbcl-uax-15)
9470 ("usocket" ,sbcl-usocket)))
9471 (arguments
9472 ;; TODO: (Sharlatan-20210114T171037+0000) tests still failing but on other
9473 ;; step, some functionality in `local-time' prevents passing tests.
9474 ;; Error:
9475 ;;
9476 ;; Can't create directory
9477 ;; /gnu/store
9478 ;; /4f47agf1kyiz057ppy6x5p98i7mcbfsv-sbcl-local-time-1.0.6-2.a177eb9
9479 ;; /lib/common-lisp/sbcl/local-time/src/integration/
9480 ;;
9481 ;; NOTE: (Sharlatan-20210124T191940+0000): When set env HOME to /tmp above
9482 ;; issue is resolved but it required live test database to connect to now.
9483 ;; Keep tests switched off.
9484 `(#:tests? #f
9485 #:asd-systems '("cl-postgres"
9486 "s-sql"
9487 "postmodern"
9488 "simple-date"
9489 "simple-date/postgres-glue")))
9490 (synopsis "Common Lisp library for interacting with PostgreSQL")
9491 (description
9492 "@code{postmodern} is a Common Lisp library for interacting with
9493 PostgreSQL databases. It provides the following features:
9494
9495 @itemize
9496 @item Efficient communication with the database server without need for
9497 foreign libraries.
9498 @item Support for UTF-8 on Unicode-aware Lisp implementations.
9499 @item A syntax for mixing SQL and Lisp code.
9500 @item Convenient support for prepared statements and stored procedures.
9501 @item A metaclass for simple database-access objects.
9502 @end itemize\n
9503
9504 This package produces 4 systems: postmodern, cl-postgres, s-sql, simple-date
9505
9506 @code{SIMPLE-DATE} is a very basic implementation of date and time objects, used
9507 to support storing and retrieving time-related SQL types. It is not loaded by
9508 default and you can use local-time (which has support for timezones) instead.
9509
9510 @code{S-SQL} is used to compile s-expressions to strings of SQL code, escaping
9511 any Lisp values inside, and doing as much as possible of the work at compile
9512 time.
9513
9514 @code{CL-POSTGRES} is the low-level library used for interfacing with a PostgreSQL
9515 server over a socket.
9516
9517 @code{POSTMODERN} itself is a wrapper around these packages and provides higher
9518 level functions, a very simple data access object that can be mapped directly to
9519 database tables and some convient utilities. It then tries to put all these
9520 things together into a convenient programming interface")
9521 (home-page "https://marijnhaverbeke.nl/postmodern/")
9522 (license license:zlib)))
9523
9524 (define-public cl-postmodern
9525 (sbcl-package->cl-source-package sbcl-postmodern))
9526
9527 (define-public ecl-postmodern
9528 (package
9529 (inherit (sbcl-package->ecl-package sbcl-postmodern))
9530 (arguments
9531 `(#:tests? #f
9532 #:asd-systems '("cl-postgres"
9533 "s-sql"
9534 "postmodern"
9535 "simple-date"
9536 "simple-date/postgres-glue")
9537 #:phases
9538 (modify-phases %standard-phases
9539 (add-after 'unpack 'fix-build
9540 (lambda _
9541 (substitute* "cl-postgres.asd"
9542 ((":or :sbcl :allegro :ccl :clisp" all)
9543 (string-append all " :ecl")))
9544 #t)))))))
9545
9546 (define-public sbcl-db3
9547 (let ((commit "38e5ad35f025769fb7f8dcdc6e56df3e8efd8e6d")
9548 (revision "1"))
9549 (package
9550 (name "sbcl-db3")
9551 (version (git-version "0.0.0" revision commit))
9552 (source
9553 (origin
9554 (method git-fetch)
9555 (uri (git-reference
9556 (url "https://github.com/dimitri/cl-db3")
9557 (commit commit)))
9558 (file-name (git-file-name "cl-db3" version))
9559 (sha256
9560 (base32 "1i7j0mlri6kbklcx1lsm464s8kmyhhij5c4xh4aybrw8m4ixn1s5"))))
9561 (build-system asdf-build-system/sbcl)
9562 (home-page "https://github.com/dimitri/cl-db3")
9563 (synopsis "Common Lisp library to read dBase III database files")
9564 (description
9565 "This is a Common Lisp library for processing data found in dBase III
9566 database files (dbf and db3 files).")
9567 (license license:public-domain))))
9568
9569 (define-public ecl-db3
9570 (sbcl-package->ecl-package sbcl-db3))
9571
9572 (define-public cl-db3
9573 (sbcl-package->cl-source-package sbcl-db3))
9574
9575 (define-public sbcl-dbi
9576 ;; Master includes a breaking change which other packages depend on since
9577 ;; Quicklisp decided to follow it:
9578 ;; https://github.com/fukamachi/cl-dbi/commit/31c46869722f77fd5292a81b5b101f1347d7fce1
9579 (let ((commit "31c46869722f77fd5292a81b5b101f1347d7fce1"))
9580 (package
9581 (name "sbcl-dbi")
9582 (version (git-version "0.9.4" "1" commit))
9583 (source
9584 (origin
9585 (method git-fetch)
9586 (uri (git-reference
9587 (url "https://github.com/fukamachi/cl-dbi")
9588 (commit commit)))
9589 (file-name (git-file-name name version))
9590 (sha256
9591 (base32 "0r3n4rw12qqxad0cryym2ibm4ddl49gbq4ra227afibsr43nw5k3"))))
9592 (build-system asdf-build-system/sbcl)
9593 (native-inputs
9594 `(("rove" ,sbcl-rove)
9595 ("trivial-types" ,sbcl-trivial-types)))
9596 (inputs
9597 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9598 ("cl-mysql" ,sbcl-cl-mysql)
9599 ("cl-sqlite" ,sbcl-cl-sqlite)
9600 ("closer-mop" ,sbcl-closer-mop)
9601 ("postmodern" ,sbcl-postmodern)
9602 ("split-sequence" ,sbcl-split-sequence)
9603 ("trivial-garbage" ,sbcl-trivial-garbage)))
9604 (arguments
9605 `(#:asd-systems '("dbi"
9606 "dbd-mysql"
9607 "dbd-postgres"
9608 "dbd-sqlite3")))
9609 (synopsis "Database independent interface for Common Lisp")
9610 (description
9611 "@code{dbi} is a Common Lisp library providing a database independent
9612 interface for MySQL, PostgreSQL and SQLite.")
9613 (home-page "https://github.com/fukamachi/cl-dbi")
9614 (license license:llgpl))))
9615
9616 (define-public cl-dbi
9617 (sbcl-package->cl-source-package sbcl-dbi))
9618
9619 (define-public ecl-dbi
9620 (sbcl-package->ecl-package sbcl-dbi))
9621
9622 (define-public sbcl-uffi
9623 (package
9624 (name "sbcl-uffi")
9625 (version "2.1.2")
9626 (source
9627 (origin
9628 (method git-fetch)
9629 (uri (git-reference
9630 (url "http://git.kpe.io/uffi.git")
9631 (commit (string-append "v" version))))
9632 (file-name (git-file-name name version))
9633 (sha256
9634 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
9635 (build-system asdf-build-system/sbcl)
9636 (arguments
9637 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
9638 #:asd-files '("uffi.asd")
9639 #:phases
9640 (modify-phases %standard-phases
9641 (add-after 'unpack 'fix-permissions
9642 (lambda _
9643 (make-file-writable "doc/html.tar.gz")
9644 #t)))))
9645 (synopsis "Universal foreign function library for Common Lisp")
9646 (description
9647 "UFFI provides a universal foreign function interface (FFI)
9648 for Common Lisp.")
9649 (home-page "http://quickdocs.org/uffi/")
9650 (license license:llgpl)))
9651
9652 (define-public cl-uffi
9653 (package
9654 (inherit (sbcl-package->cl-source-package sbcl-uffi))
9655 (arguments
9656 `(#:phases
9657 ;; asdf-build-system/source has its own phases and does not inherit
9658 ;; from asdf-build-system/sbcl phases.
9659 (modify-phases %standard-phases/source
9660 ;; Already done in SBCL package.
9661 (delete 'reset-gzip-timestamps))))))
9662
9663 (define-public sbcl-clsql
9664 (package
9665 (name "sbcl-clsql")
9666 (version "6.7.0")
9667 (source
9668 (origin
9669 (method git-fetch)
9670 (uri (git-reference
9671 (url "http://git.kpe.io/clsql.git")
9672 (commit (string-append "v" version))))
9673 (file-name (git-file-name name version))
9674 (sha256
9675 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
9676 (snippet
9677 '(begin
9678 ;; Remove precompiled libraries.
9679 (delete-file "db-mysql/clsql_mysql.dll")
9680 (delete-file "uffi/clsql_uffi.dll")
9681 (delete-file "uffi/clsql_uffi.lib")
9682 #t))))
9683 (build-system asdf-build-system/sbcl)
9684 (native-inputs
9685 `(("rt" ,sbcl-rt)))
9686 (inputs
9687 `(("cffi" ,sbcl-cffi)
9688 ("md5" ,sbcl-md5)
9689 ("mysql" ,mysql)
9690 ("postgresql" ,postgresql)
9691 ("postmodern" ,sbcl-postmodern)
9692 ("sqlite" ,sqlite)
9693 ("uffi" ,sbcl-uffi)
9694 ("zlib" ,zlib)))
9695 (arguments
9696 `(#:asd-files '("clsql.asd"
9697 "clsql-uffi.asd"
9698 "clsql-sqlite3.asd"
9699 "clsql-postgresql.asd"
9700 "clsql-postgresql-socket3.asd"
9701 "clsql-mysql.asd")
9702 #:asd-systems '("clsql"
9703 "clsql-sqlite3"
9704 "clsql-postgresql"
9705 "clsql-postgresql-socket3"
9706 "clsql-mysql")
9707 #:phases
9708 (modify-phases %standard-phases
9709 (add-after 'unpack 'fix-permissions
9710 (lambda _
9711 (make-file-writable "doc/html.tar.gz")
9712 #t))
9713 (add-after 'unpack 'fix-build
9714 (lambda _
9715 (substitute* "clsql-uffi.asd"
9716 (("\\(:version uffi \"2.0\"\\)")
9717 "uffi"))
9718 (substitute* "db-postgresql/postgresql-api.lisp"
9719 (("\\(data :cstring\\)")
9720 "(data :string)"))
9721 #t))
9722 (add-after 'unpack 'fix-paths
9723 (lambda* (#:key inputs outputs #:allow-other-keys)
9724 (substitute* "db-sqlite3/sqlite3-loader.lisp"
9725 (("libsqlite3")
9726 (string-append (assoc-ref inputs "sqlite")
9727 "/lib/libsqlite3")))
9728 (substitute* "db-postgresql/postgresql-loader.lisp"
9729 (("libpq")
9730 (string-append (assoc-ref inputs "postgresql")
9731 "/lib/libpq")))
9732 (let ((lib (string-append "#p\""
9733 (assoc-ref outputs "out")
9734 "/lib/\"")))
9735 (substitute* "clsql-mysql.asd"
9736 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
9737 lib))
9738 (substitute* "db-mysql/mysql-loader.lisp"
9739 (("libmysqlclient" all)
9740 (string-append (assoc-ref inputs "mysql") "/lib/" all))
9741 (("clsql-mysql-system::\\*library-file-dir\\*")
9742 lib)))
9743 #t))
9744 (add-before 'build 'build-helper-library
9745 (lambda* (#:key inputs outputs #:allow-other-keys)
9746 (let* ((mysql (assoc-ref inputs "mysql"))
9747 (inc-dir (string-append mysql "/include/mysql"))
9748 (lib-dir (string-append mysql "/lib"))
9749 (shared-lib-dir (string-append (assoc-ref outputs "out")
9750 "/lib"))
9751 (shared-lib (string-append shared-lib-dir
9752 "/clsql_mysql.so")))
9753 (mkdir-p shared-lib-dir)
9754 (invoke "gcc" "-fPIC" "-shared"
9755 "-I" inc-dir
9756 "db-mysql/clsql_mysql.c"
9757 "-Wl,-soname=clsql_mysql"
9758 "-L" lib-dir "-lmysqlclient" "-lz"
9759 "-o" shared-lib)
9760 #t)))
9761 (add-after 'unpack 'fix-tests
9762 (lambda _
9763 (substitute* "clsql.asd"
9764 (("clsql-tests :force t")
9765 "clsql-tests"))
9766 #t)))))
9767 (synopsis "Common Lisp SQL Interface library")
9768 (description
9769 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
9770 Xanalys CommonSQL interface for Lispworks. It provides low-level database
9771 interfaces as well as a functional and an object oriented interface.")
9772 (home-page "http://clsql.kpe.io/")
9773 (license license:llgpl)))
9774
9775 (define-public cl-clsql
9776 (package
9777 (inherit (sbcl-package->cl-source-package sbcl-clsql))
9778 (native-inputs
9779 `(("rt" ,cl-rt)))
9780 (inputs
9781 `(("mysql" ,mysql)
9782 ("postgresql" ,postgresql)
9783 ("sqlite" ,sqlite)
9784 ("zlib" ,zlib)))
9785 (propagated-inputs
9786 `(("cffi" ,cl-cffi)
9787 ("md5" ,cl-md5)
9788 ("postmodern" ,cl-postmodern)
9789 ("uffi" ,cl-uffi)))
9790 (arguments
9791 `(#:phases
9792 ;; asdf-build-system/source has its own phases and does not inherit
9793 ;; from asdf-build-system/sbcl phases.
9794 (modify-phases %standard-phases/source
9795 (add-after 'unpack 'fix-permissions
9796 (lambda _
9797 (make-file-writable "doc/html.tar.gz")
9798 #t)))))))
9799
9800 (define-public ecl-clsql
9801 (let ((pkg (sbcl-package->ecl-package sbcl-clsql)))
9802 (package
9803 (inherit pkg)
9804 (inputs
9805 (alist-delete "uffi" (package-inputs pkg)))
9806 (arguments
9807 (substitute-keyword-arguments (package-arguments pkg)
9808 ((#:asd-files asd-files '())
9809 `(cons "clsql-cffi.asd" ,asd-files)))))))
9810
9811 (define-public sbcl-sycamore
9812 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
9813 (package
9814 (name "sbcl-sycamore")
9815 (version "0.0.20120604")
9816 (source
9817 (origin
9818 (method git-fetch)
9819 (uri (git-reference
9820 (url "https://github.com/ndantam/sycamore/")
9821 (commit commit)))
9822 (file-name (git-file-name name version))
9823 (sha256
9824 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
9825 (build-system asdf-build-system/sbcl)
9826 (inputs
9827 `(("alexandria" ,sbcl-alexandria)
9828 ("cl-ppcre" ,sbcl-cl-ppcre)))
9829 (synopsis "Purely functional data structure library in Common Lisp")
9830 (description
9831 "Sycamore is a fast, purely functional data structure library in Common Lisp.
9832 If features:
9833
9834 @itemize
9835 @item Fast, purely functional weight-balanced binary trees.
9836 @item Leaf nodes are simple-vectors, greatly reducing tree height.
9837 @item Interfaces for tree Sets and Maps (dictionaries).
9838 @item Ropes.
9839 @item Purely functional pairing heaps.
9840 @item Purely functional amortized queue.
9841 @end itemize\n")
9842 (home-page "http://ndantam.github.io/sycamore/")
9843 (license license:bsd-3))))
9844
9845 (define-public cl-sycamore
9846 (sbcl-package->cl-source-package sbcl-sycamore))
9847
9848 (define-public ecl-sycamore
9849 (sbcl-package->ecl-package sbcl-sycamore))
9850
9851 (define-public sbcl-trivial-package-local-nicknames
9852 (package
9853 (name "sbcl-trivial-package-local-nicknames")
9854 (version "0.2")
9855 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
9856 (source
9857 (origin
9858 (method git-fetch)
9859 (uri (git-reference
9860 (url home-page)
9861 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
9862 (file-name (git-file-name name version))
9863 (sha256
9864 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
9865 (build-system asdf-build-system/sbcl)
9866 (synopsis "Common Lisp compatibility library for package local nicknames")
9867 (description
9868 "This library is a portable compatibility layer around package local nicknames (PLN).
9869 This was done so there is a portability library for the PLN API not included
9870 in DEFPACKAGE.")
9871 (license license:unlicense)))
9872
9873 (define-public cl-trivial-package-local-nicknames
9874 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
9875
9876 (define-public ecl-trivial-package-local-nicknames
9877 (sbcl-package->ecl-package sbcl-trivial-package-local-nicknames))
9878
9879 (define-public sbcl-enchant
9880 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
9881 (package
9882 (name "sbcl-enchant")
9883 (version (git-version "0.0.0" "1" commit))
9884 (home-page "https://github.com/tlikonen/cl-enchant")
9885 (source
9886 (origin
9887 (method git-fetch)
9888 (uri (git-reference
9889 (url home-page)
9890 (commit commit)))
9891 (file-name (git-file-name name version))
9892 (sha256
9893 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
9894 (build-system asdf-build-system/sbcl)
9895 (inputs
9896 `(("enchant" ,enchant)
9897 ("cffi" ,sbcl-cffi)))
9898 (arguments
9899 `(#:phases
9900 (modify-phases %standard-phases
9901 (add-after 'unpack 'fix-paths
9902 (lambda* (#:key inputs #:allow-other-keys)
9903 (substitute* "load-enchant.lisp"
9904 (("libenchant")
9905 (string-append
9906 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
9907 (synopsis "Common Lisp interface for the Enchant spell-checker library")
9908 (description
9909 "Enchant is a Common Lisp interface for the Enchant spell-checker
9910 library. The Enchant library is a generic spell-checker library which uses
9911 other spell-checkers transparently as back-end. The library supports the
9912 multiple checkers, including Aspell and Hunspell.")
9913 (license license:public-domain))))
9914
9915 (define-public cl-enchant
9916 (sbcl-package->cl-source-package sbcl-enchant))
9917
9918 (define-public ecl-enchant
9919 (sbcl-package->ecl-package sbcl-enchant))
9920
9921 (define-public sbcl-cl-change-case
9922 (let ((commit "5ceff2a5f8bd845b6cb510c6364176b27a238fd3"))
9923 (package
9924 (name "sbcl-cl-change-case")
9925 (version (git-version "0.1.0" "1" commit))
9926 (home-page "https://github.com/rudolfochrist/cl-change-case")
9927 (source
9928 (origin
9929 (method git-fetch)
9930 (uri (git-reference
9931 (url home-page)
9932 (commit commit)))
9933 (file-name (git-file-name name version))
9934 (sha256
9935 (base32 "1afyglglk9z3yg8gylcl301bl2r8vq3sllyznzj9s5xi5gs6qyf2"))))
9936 (build-system asdf-build-system/sbcl)
9937 (inputs
9938 `(("cl-ppcre" ,sbcl-cl-ppcre)
9939 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
9940 (native-inputs
9941 `(("fiveam" ,sbcl-fiveam)))
9942 (arguments
9943 '(;; FIXME: Test pass but phase fails with 'Component
9944 ;; "cl-change-case-test" not found, required by'.
9945 #:tests? #f
9946 #:test-asd-file "cl-change-case-test.asd"))
9947 (synopsis "Convert Common Lisp strings between camelCase, PascalCase and more")
9948 (description
9949 "@code{cl-change-case} is library to convert strings between camelCase,
9950 PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
9951 (license license:llgpl))))
9952
9953 (define-public cl-change-case
9954 (sbcl-package->cl-source-package sbcl-cl-change-case))
9955
9956 (define-public ecl-cl-change-case
9957 (sbcl-package->ecl-package sbcl-cl-change-case))
9958
9959 (define-public sbcl-modularize
9960 (let ((commit "86c5d9a11fbd2df9f0f03ac10b5d71837c8934ba")
9961 (revision "1"))
9962 (package
9963 (name "sbcl-modularize")
9964 (version (git-version "1.0.0" revision commit))
9965 (source
9966 (origin
9967 (method git-fetch)
9968 (uri (git-reference
9969 (url "https://github.com/Shinmera/modularize")
9970 (commit commit)))
9971 (file-name (git-file-name name version))
9972 (sha256
9973 (base32 "1zys29rfkb649rkgl3snxhajk8d5yf7ryxkrwy020kwdh7zdsg7d"))))
9974 (build-system asdf-build-system/sbcl)
9975 (arguments
9976 `(#:test-asd-file "modularize-test-module.asd"
9977 #:asd-files '("modularize.asd" "modularize-test-module.asd")
9978 #:asd-systems '("modularize" "modularize-test-module")))
9979 (inputs
9980 `(("documentation-utils" ,sbcl-documentation-utils)
9981 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)))
9982 (home-page "https://shinmera.github.io/modularize/")
9983 (synopsis "Common Lisp modularization framework")
9984 (description
9985 "@code{MODULARIZE} is an attempt at providing a common interface to
9986 segregate major application components. This is achieved by adding special
9987 treatment to packages. Each module is a package that is specially registered,
9988 which allows it to interact and co-exist with other modules in better ways. For
9989 instance, by adding module definition options you can introduce mechanisms to
9990 tie modules together in functionality, hook into each other and so on.")
9991 (license license:zlib))))
9992
9993 (define-public ecl-modularize
9994 (sbcl-package->ecl-package sbcl-modularize))
9995
9996 (define-public cl-modularize
9997 (sbcl-package->cl-source-package sbcl-modularize))
9998
9999 (define-public sbcl-modularize-hooks
10000 (let ((commit "e0348ed3ffd59a9ec31ca4ab28289e748bfbf96a")
10001 (revision "1"))
10002 (package
10003 (name "sbcl-modularize-hooks")
10004 (version (git-version "1.0.2" revision commit))
10005 (source
10006 (origin
10007 (method git-fetch)
10008 (uri (git-reference
10009 (url "https://github.com/Shinmera/modularize-hooks")
10010 (commit commit)))
10011 (file-name (git-file-name "modularize-hooks" version))
10012 (sha256
10013 (base32 "12kjvin8hxidwkzfb7inqv5b6g5qzcssnj9wc497v2ixc56fqdz7"))))
10014 (build-system asdf-build-system/sbcl)
10015 (inputs
10016 `(("closer-mop" ,sbcl-closer-mop)
10017 ("lambda-fiddle" ,sbcl-lambda-fiddle)
10018 ("modularize" ,sbcl-modularize)
10019 ("trivial-arguments" ,sbcl-trivial-arguments)))
10020 (home-page "https://shinmera.github.io/modularize-hooks/")
10021 (synopsis "Generic hooks and triggers extension for Modularize")
10022 (description
10023 "This is a simple extension to @code{MODULARIZE} that allows modules to
10024 define and trigger hooks, which other modules can hook on to.")
10025 (license license:zlib))))
10026
10027 (define-public ecl-modularize-hooks
10028 (sbcl-package->ecl-package sbcl-modularize-hooks))
10029
10030 (define-public cl-modularize-hooks
10031 (sbcl-package->cl-source-package sbcl-modularize-hooks))
10032
10033 (define-public sbcl-modularize-interfaces
10034 (let ((commit "96353657afb8c7aeba7ef5b51eb04c5ed3bcb6ef")
10035 (revision "1"))
10036 (package
10037 (name "sbcl-modularize-interfaces")
10038 (version (git-version "0.9.3" revision commit))
10039 (source
10040 (origin
10041 (method git-fetch)
10042 (uri (git-reference
10043 (url "https://github.com/Shinmera/modularize-interfaces")
10044 (commit commit)))
10045 (file-name (git-file-name "modularize-interfaces" version))
10046 (sha256
10047 (base32 "0bjf4wy39cwf75m7vh0r7mmcchs09yz2lrbyap98hnq8blq70fhc"))))
10048 (build-system asdf-build-system/sbcl)
10049 (inputs
10050 `(("lambda-fiddle" ,sbcl-lambda-fiddle)
10051 ("modularize" ,sbcl-modularize)
10052 ("trivial-arguments" ,sbcl-trivial-arguments)
10053 ("trivial-indent" ,sbcl-trivial-indent)))
10054 (home-page "https://shinmera.github.io/modularize-interfaces/")
10055 (synopsis "Programmatical interfaces extension for Modularize")
10056 (description
10057 "This is an extension to @code{MODULARIZE} that allows your application
10058 to define interfaces in-code that serve both as a primary documentation and as
10059 compliance control.")
10060 (license license:zlib))))
10061
10062 (define-public ecl-modularize-interfaces
10063 (sbcl-package->ecl-package sbcl-modularize-interfaces))
10064
10065 (define-public cl-modularize-interfaces
10066 (sbcl-package->cl-source-package sbcl-modularize-interfaces))
10067
10068 (define-public sbcl-moptilities
10069 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
10070 (package
10071 (name "sbcl-moptilities")
10072 (version (git-version "0.3.13" "1" commit))
10073 (home-page "https://github.com/gwkkwg/moptilities/")
10074 (source
10075 (origin
10076 (method git-fetch)
10077 (uri (git-reference
10078 (url home-page)
10079 (commit commit)))
10080 (file-name (git-file-name name version))
10081 (sha256
10082 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
10083 (build-system asdf-build-system/sbcl)
10084 (inputs
10085 `(("closer-mop" ,sbcl-closer-mop)))
10086 (native-inputs
10087 `(("lift" ,sbcl-lift)))
10088 (arguments
10089 `(#:phases
10090 (modify-phases %standard-phases
10091 (add-after 'unpack 'fix-tests
10092 (lambda _
10093 (substitute* "lift-standard.config"
10094 ((":relative-to lift-test")
10095 ":relative-to moptilities-test"))
10096 #t)))))
10097 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
10098 (description
10099 "MOP utilities provide a common interface between Lisps and make the
10100 MOP easier to use.")
10101 (license license:expat))))
10102
10103 (define-public cl-moptilities
10104 (sbcl-package->cl-source-package sbcl-moptilities))
10105
10106 (define-public sbcl-osicat
10107 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
10108 (package
10109 (name "sbcl-osicat")
10110 (version (git-version "0.7.0" "1" commit))
10111 (home-page "http://www.common-lisp.net/project/osicat/")
10112 (source
10113 (origin
10114 (method git-fetch)
10115 (uri (git-reference
10116 (url "https://github.com/osicat/osicat")
10117 (commit commit)))
10118 (file-name (git-file-name name version))
10119 (sha256
10120 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
10121 (build-system asdf-build-system/sbcl)
10122 (inputs
10123 `(("alexandria" ,sbcl-alexandria)
10124 ("cffi" ,sbcl-cffi)
10125 ("trivial-features" ,sbcl-trivial-features)))
10126 (native-inputs
10127 `(("rt" ,sbcl-rt)))
10128 (synopsis "Operating system interface for Common Lisp")
10129 (description
10130 "Osicat is a lightweight operating system interface for Common Lisp on
10131 Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
10132 accompaniment to the standard ANSI facilities.")
10133 (license license:expat))))
10134
10135 (define-public cl-osicat
10136 (sbcl-package->cl-source-package sbcl-osicat))
10137
10138 (define-public ecl-osicat
10139 (sbcl-package->ecl-package sbcl-osicat))
10140
10141 (define-public sbcl-clx-xembed
10142 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
10143 (revision "1"))
10144 (package
10145 (name "sbcl-clx-xembed")
10146 (version (git-version "0.1" revision commit))
10147 (home-page "https://github.com/laynor/clx-xembed")
10148 (source
10149 (origin
10150 (method git-fetch)
10151 (uri (git-reference
10152 (url "https://github.com/laynor/clx-xembed")
10153 (commit commit)))
10154 (file-name (git-file-name name version))
10155 (sha256
10156 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
10157 (build-system asdf-build-system/sbcl)
10158 (arguments
10159 `(#:asd-systems '("xembed")))
10160 (inputs
10161 `(("sbcl-clx" ,sbcl-clx)))
10162 (synopsis "CL(x) xembed protocol implementation ")
10163 (description "CL(x) xembed protocol implementation")
10164 ;; MIT License
10165 (license license:expat))))
10166
10167 (define-public cl-clx-xembed
10168 (sbcl-package->cl-source-package sbcl-clx-xembed))
10169
10170 (define-public ecl-clx-xembed
10171 (sbcl-package->ecl-package sbcl-clx-xembed))
10172
10173 (define-public sbcl-quantile-estimator
10174 (package
10175 (name "sbcl-quantile-estimator")
10176 (version "0.0.1")
10177 (source
10178 (origin
10179 (method git-fetch)
10180 (uri (git-reference
10181 (url "https://github.com/deadtrickster/quantile-estimator.cl")
10182 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
10183 (file-name (git-file-name name version))
10184 (sha256
10185 (base32
10186 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
10187 (build-system asdf-build-system/sbcl)
10188 (arguments
10189 '(#:asd-files '("quantile-estimator.asd")))
10190 (inputs
10191 `(("alexandria" ,sbcl-alexandria)))
10192 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
10193 (synopsis
10194 "Effective computation of biased quantiles over data streams")
10195 (description
10196 "Common Lisp implementation of Graham Cormode and S.
10197 Muthukrishnan's Effective Computation of Biased Quantiles over Data
10198 Streams in ICDE’05.")
10199 (license license:expat)))
10200
10201 (define-public cl-quantile-estimator
10202 (sbcl-package->cl-source-package sbcl-quantile-estimator))
10203
10204 (define-public ecl-quantile-estimator
10205 (sbcl-package->ecl-package sbcl-quantile-estimator))
10206
10207 (define-public sbcl-prometheus
10208 (package
10209 (name "sbcl-prometheus")
10210 (version "0.4.1")
10211 (source
10212 (origin
10213 (method git-fetch)
10214 (uri (git-reference
10215 (url "https://github.com/deadtrickster/prometheus.cl")
10216 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
10217 (file-name (git-file-name name version))
10218 (sha256
10219 (base32
10220 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
10221 (build-system asdf-build-system/sbcl)
10222 (inputs
10223 `(("alexandria" ,sbcl-alexandria)
10224 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10225 ("cffi" ,sbcl-cffi)
10226 ("cl-fad" ,sbcl-cl-fad)
10227 ("cl-ppcre" ,sbcl-cl-ppcre)
10228 ("drakma" ,sbcl-drakma)
10229 ("hunchentoot" ,sbcl-hunchentoot)
10230 ("local-time" ,sbcl-local-time)
10231 ("quantile-estimator" ,sbcl-quantile-estimator)
10232 ("salza2" ,sbcl-salza2)
10233 ("split-sequence" ,sbcl-split-sequence)
10234 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10235 (arguments
10236 '(#:asd-files '("prometheus.asd"
10237 "prometheus.collectors.sbcl.asd"
10238 "prometheus.collectors.process.asd"
10239 "prometheus.formats.text.asd"
10240 "prometheus.exposers.hunchentoot.asd"
10241 "prometheus.pushgateway.asd")
10242 #:asd-systems '("prometheus"
10243 "prometheus.collectors.sbcl"
10244 "prometheus.collectors.process"
10245 "prometheus.formats.text"
10246 "prometheus.exposers.hunchentoot"
10247 "prometheus.pushgateway")))
10248 (home-page "https://github.com/deadtrickster/prometheus.cl")
10249 (synopsis "Prometheus.io Common Lisp client")
10250 (description "Prometheus.io Common Lisp client.")
10251 (license license:expat)))
10252
10253 (define-public cl-prometheus
10254 (sbcl-package->cl-source-package sbcl-prometheus))
10255
10256 (define-public ecl-prometheus
10257 (sbcl-package->ecl-package sbcl-prometheus))
10258
10259 (define-public sbcl-uuid
10260 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
10261 (package
10262 (name "sbcl-uuid")
10263 (version (git-version "2012.12.26" "1" commit))
10264 (source
10265 (origin
10266 (method git-fetch)
10267 (uri (git-reference
10268 (url "https://github.com/dardoria/uuid")
10269 (commit commit)))
10270 (file-name (git-file-name name version))
10271 (sha256
10272 (base32
10273 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
10274 (build-system asdf-build-system/sbcl)
10275 (inputs
10276 `(("ironclad" ,sbcl-ironclad)
10277 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10278 (home-page "https://github.com/dardoria/uuid")
10279 (synopsis
10280 "Common Lisp implementation of UUIDs according to RFC4122")
10281 (description
10282 "Common Lisp implementation of UUIDs according to RFC4122.")
10283 (license license:llgpl))))
10284
10285 (define-public cl-uuid
10286 (sbcl-package->cl-source-package sbcl-uuid))
10287
10288 (define-public ecl-uuid
10289 (sbcl-package->ecl-package sbcl-uuid))
10290
10291 (define-public sbcl-dissect
10292 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
10293 (package
10294 (name "sbcl-dissect")
10295 (version (git-version "1.0.0" "1" commit))
10296 (source
10297 (origin
10298 (method git-fetch)
10299 (uri (git-reference
10300 (url "https://github.com/Shinmera/dissect")
10301 (commit commit)))
10302 (file-name (git-file-name name version))
10303 (sha256
10304 (base32
10305 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
10306 (build-system asdf-build-system/sbcl)
10307 (inputs
10308 `(("cl-ppcre" ,sbcl-cl-ppcre)))
10309 (home-page "https://shinmera.github.io/dissect/")
10310 (synopsis
10311 "Introspection library for the call stack and restarts")
10312 (description
10313 "Dissect is a small Common Lisp library for introspecting the call stack
10314 and active restarts.")
10315 (license license:zlib))))
10316
10317 (define-public cl-dissect
10318 (sbcl-package->cl-source-package sbcl-dissect))
10319
10320 (define-public ecl-dissect
10321 (sbcl-package->ecl-package sbcl-dissect))
10322
10323 (define-public sbcl-rove
10324 (package
10325 (name "sbcl-rove")
10326 (version "0.9.6")
10327 (source
10328 (origin
10329 (method git-fetch)
10330 (uri (git-reference
10331 (url "https://github.com/fukamachi/rove")
10332 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
10333 (file-name (git-file-name name version))
10334 (sha256
10335 (base32
10336 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
10337 (build-system asdf-build-system/sbcl)
10338 (inputs
10339 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10340 ("dissect" ,sbcl-dissect)
10341 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
10342 (home-page "https://github.com/fukamachi/rove")
10343 (synopsis
10344 "Yet another common lisp testing library")
10345 (description
10346 "Rove is a unit testing framework for Common Lisp applications.
10347 This is intended to be a successor of Prove.")
10348 (license license:bsd-3)))
10349
10350 (define-public cl-rove
10351 (sbcl-package->cl-source-package sbcl-rove))
10352
10353 (define-public ecl-rove
10354 (sbcl-package->ecl-package sbcl-rove))
10355
10356 (define-public sbcl-exponential-backoff
10357 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
10358 (package
10359 (name "sbcl-exponential-backoff")
10360 (version (git-version "0" "1" commit))
10361 (source
10362 (origin
10363 (method git-fetch)
10364 (uri (git-reference
10365 (url "https://github.com/death/exponential-backoff")
10366 (commit commit)))
10367 (file-name (git-file-name name version))
10368 (sha256
10369 (base32
10370 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
10371 (build-system asdf-build-system/sbcl)
10372 (home-page "https://github.com/death/exponential-backoff")
10373 (synopsis "Exponential backoff algorithm in Common Lisp")
10374 (description
10375 "An implementation of the exponential backoff algorithm in Common Lisp.
10376 Inspired by the implementation found in Chromium. Read the header file to
10377 learn about each of the parameters.")
10378 (license license:expat))))
10379
10380 (define-public cl-exponential-backoff
10381 (sbcl-package->cl-source-package sbcl-exponential-backoff))
10382
10383 (define-public ecl-exponential-backoff
10384 (sbcl-package->ecl-package sbcl-exponential-backoff))
10385
10386 (define-public sbcl-sxql
10387 (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
10388 (package
10389 (name "sbcl-sxql")
10390 (version (git-version "0.1.0" "1" commit))
10391 (source
10392 (origin
10393 (method git-fetch)
10394 (uri (git-reference
10395 (url "https://github.com/fukamachi/sxql")
10396 (commit commit)))
10397 (file-name (git-file-name name version))
10398 (sha256
10399 (base32
10400 "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
10401 (build-system asdf-build-system/sbcl)
10402 (arguments
10403 `(#:test-asd-file "sxql-test.asd"))
10404 (inputs
10405 `(("alexandria" ,sbcl-alexandria)
10406 ("cl-syntax" ,sbcl-cl-syntax)
10407 ("iterate" ,sbcl-iterate)
10408 ("optima" ,sbcl-optima)
10409 ("split-sequence" ,sbcl-split-sequence)
10410 ("trivial-types" ,sbcl-trivial-types)))
10411 (native-inputs
10412 `(("prove" ,sbcl-prove)))
10413 (home-page "https://github.com/fukamachi/sxql")
10414 (synopsis "SQL generator for Common Lisp")
10415 (description "SQL generator for Common Lisp.")
10416 (license license:bsd-3))))
10417
10418 (define-public cl-sxql
10419 (sbcl-package->cl-source-package sbcl-sxql))
10420
10421 (define-public ecl-sxql
10422 (sbcl-package->ecl-package sbcl-sxql))
10423
10424 (define-public sbcl-1am
10425 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
10426 (package
10427 (name "sbcl-1am")
10428 (version (git-version "0.0" "1" commit))
10429 (source
10430 (origin
10431 (method git-fetch)
10432 (uri (git-reference
10433 (url "https://github.com/lmj/1am")
10434 (commit commit)))
10435 (file-name (git-file-name name version))
10436 (sha256
10437 (base32
10438 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
10439 (build-system asdf-build-system/sbcl)
10440 (arguments
10441 `(#:asd-systems '("1am")))
10442 (home-page "https://github.com/lmj/1am")
10443 (synopsis "Minimal testing framework for Common Lisp")
10444 (description "A minimal testing framework for Common Lisp.")
10445 (license license:expat))))
10446
10447 (define-public cl-1am
10448 (sbcl-package->cl-source-package sbcl-1am))
10449
10450 (define-public ecl-1am
10451 (sbcl-package->ecl-package sbcl-1am))
10452
10453 (define-public sbcl-cl-ascii-table
10454 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
10455 (revision "1"))
10456 (package
10457 (name "sbcl-cl-ascii-table")
10458 (version (git-version "0.0.0" revision commit))
10459 (source
10460 (origin
10461 (method git-fetch)
10462 (uri (git-reference
10463 (url "https://github.com/telephil/cl-ascii-table")
10464 (commit commit)))
10465 (file-name (git-file-name name version))
10466 (sha256
10467 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
10468 (build-system asdf-build-system/sbcl)
10469 (synopsis "Library to make ascii-art tables")
10470 (description
10471 "This is a Common Lisp library to present tabular data in ascii-art
10472 tables.")
10473 (home-page "https://github.com/telephil/cl-ascii-table")
10474 (license license:expat))))
10475
10476 (define-public cl-ascii-table
10477 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
10478
10479 (define-public ecl-cl-ascii-table
10480 (sbcl-package->ecl-package sbcl-cl-ascii-table))
10481
10482 (define-public sbcl-cl-rdkafka
10483 (package
10484 (name "sbcl-cl-rdkafka")
10485 (version "1.0.2")
10486 (source
10487 (origin
10488 (method git-fetch)
10489 (uri (git-reference
10490 (url "https://github.com/SahilKang/cl-rdkafka")
10491 (commit (string-append "v" version))))
10492 (file-name (git-file-name name version))
10493 (sha256
10494 (base32
10495 "1qcgfd4h7syilzmrmd4z2vknbvawda3q3ykw7xm8n381syry4g82"))))
10496 (build-system asdf-build-system/sbcl)
10497 (arguments
10498 `(#:tests? #f ; Attempts to connect to locally running Kafka
10499 #:phases
10500 (modify-phases %standard-phases
10501 (add-after 'unpack 'fix-paths
10502 (lambda* (#:key inputs #:allow-other-keys)
10503 (substitute* "src/low-level/librdkafka-bindings.lisp"
10504 (("librdkafka" all)
10505 (string-append (assoc-ref inputs "librdkafka") "/lib/"
10506 all))))))))
10507 (inputs
10508 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10509 ("cffi" ,sbcl-cffi)
10510 ("librdkafka" ,librdkafka)
10511 ("lparallel" ,sbcl-lparallel)
10512 ("trivial-garbage" ,sbcl-trivial-garbage)))
10513 (home-page "https://github.com/SahilKang/cl-rdkafka")
10514 (synopsis "Common Lisp client library for Apache Kafka")
10515 (description "A Common Lisp client library for Apache Kafka.")
10516 (license license:gpl3)))
10517
10518 (define-public cl-rdkafka
10519 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
10520
10521 (define-public ecl-cl-rdkafka
10522 (sbcl-package->ecl-package sbcl-cl-rdkafka))
10523
10524 (define-public sbcl-acclimation
10525 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
10526 (package
10527 (name "sbcl-acclimation")
10528 (version (git-version "0.0.0" "1" commit))
10529 (source
10530 (origin
10531 (method git-fetch)
10532 (uri (git-reference
10533 (url "https://github.com/robert-strandh/Acclimation")
10534 (commit commit)))
10535 (file-name (git-file-name name version))
10536 (sha256
10537 (base32
10538 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
10539 (build-system asdf-build-system/sbcl)
10540 (home-page "https://github.com/robert-strandh/Acclimation")
10541 (synopsis "Internationalization library for Common Lisp")
10542 (description "This project is meant to provide tools for
10543 internationalizing Common Lisp programs.
10544
10545 One important aspect of internationalization is of course the language used in
10546 error messages, documentation strings, etc. But with this project we provide
10547 tools for all other aspects of internationalization as well, including dates,
10548 weight, temperature, names of physical quantitites, etc.")
10549 (license license:bsd-2))))
10550
10551 (define-public cl-acclimation
10552 (sbcl-package->cl-source-package sbcl-acclimation))
10553
10554 (define-public ecl-acclimation
10555 (sbcl-package->ecl-package sbcl-acclimation))
10556
10557 (define-public sbcl-clump
10558 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
10559 (package
10560 (name "sbcl-clump")
10561 (version (git-version "0.0.0" "1" commit))
10562 (source
10563 (origin
10564 (method git-fetch)
10565 (uri (git-reference
10566 (url "https://github.com/robert-strandh/Clump")
10567 (commit commit)))
10568 (file-name (git-file-name name version))
10569 (sha256
10570 (base32
10571 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
10572 (inputs
10573 `(("acclimation" ,sbcl-acclimation)))
10574 (build-system asdf-build-system/sbcl)
10575 (home-page "https://github.com/robert-strandh/Clump")
10576 (synopsis "Collection of tree implementations for Common Lisp")
10577 (description "The purpose of this library is to provide a collection of
10578 implementations of trees.
10579
10580 In contrast to existing libraries such as cl-containers, it does not impose a
10581 particular use for the trees. Instead, it aims for a stratified design,
10582 allowing client code to choose between different levels of abstraction.
10583
10584 As a consequence of this policy, low-level interfaces are provided where
10585 the concrete representation is exposed, but also high level interfaces
10586 where the trees can be used as search trees or as trees that represent
10587 sequences of objects.")
10588 (license license:bsd-2))))
10589
10590 (define-public cl-clump
10591 (sbcl-package->cl-source-package sbcl-clump))
10592
10593 (define-public ecl-clump
10594 (sbcl-package->ecl-package sbcl-clump))
10595
10596 (define-public sbcl-cluffer
10597 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
10598 (package
10599 (name "sbcl-cluffer")
10600 (version (git-version "0.0.0" "1" commit))
10601 (source
10602 (origin
10603 (method git-fetch)
10604 (uri (git-reference
10605 (url "https://github.com/robert-strandh/cluffer")
10606 (commit commit)))
10607 (file-name (git-file-name name version))
10608 (sha256
10609 (base32
10610 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
10611 (build-system asdf-build-system/sbcl)
10612 (inputs
10613 `(("acclimation" ,sbcl-acclimation)
10614 ("clump" ,sbcl-clump)))
10615 (home-page "https://github.com/robert-strandh/cluffer")
10616 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
10617 (description "Cluffer is a library for representing the buffer of a text
10618 editor. As such, it defines a set of CLOS protocols for client code to
10619 interact with the buffer contents in various ways, and it supplies different
10620 implementations of those protocols for different purposes.")
10621 (license license:bsd-2))))
10622
10623 (define-public cl-cluffer
10624 (sbcl-package->cl-source-package sbcl-cluffer))
10625
10626 (define-public ecl-cluffer
10627 (sbcl-package->ecl-package sbcl-cluffer))
10628
10629 (define-public sbcl-cl-libsvm-format
10630 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
10631 (revision "0"))
10632 (package
10633 (name "sbcl-cl-libsvm-format")
10634 (version (git-version "0.1.0" revision commit))
10635 (source
10636 (origin
10637 (method git-fetch)
10638 (uri (git-reference
10639 (url "https://github.com/masatoi/cl-libsvm-format")
10640 (commit commit)))
10641 (file-name (git-file-name name version))
10642 (sha256
10643 (base32
10644 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
10645 (build-system asdf-build-system/sbcl)
10646 (native-inputs
10647 `(("prove" ,sbcl-prove)))
10648 (inputs
10649 `(("alexandria" ,sbcl-alexandria)))
10650 (synopsis "LibSVM data format reader for Common Lisp")
10651 (description
10652 "This Common Lisp library provides a fast reader for data in LibSVM
10653 format.")
10654 (home-page "https://github.com/masatoi/cl-libsvm-format")
10655 (license license:expat))))
10656
10657 (define-public cl-libsvm-format
10658 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
10659
10660 (define-public ecl-cl-libsvm-format
10661 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
10662
10663 (define-public sbcl-cl-online-learning
10664 (let ((commit "87fbef8a340219e853adb3a5bf44a0470da76964")
10665 (revision "1"))
10666 (package
10667 (name "sbcl-cl-online-learning")
10668 (version (git-version "0.5" revision commit))
10669 (source
10670 (origin
10671 (method git-fetch)
10672 (uri (git-reference
10673 (url "https://github.com/masatoi/cl-online-learning")
10674 (commit commit)))
10675 (file-name (git-file-name "cl-online-learning" version))
10676 (sha256
10677 (base32
10678 "1lfq04lnxivx59nq5dd02glyqsqzf3vdn4s9b8wnaln5fs8g2ph9"))))
10679 (build-system asdf-build-system/sbcl)
10680 (native-inputs
10681 `(("prove" ,sbcl-prove)))
10682 (inputs
10683 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
10684 ("cl-store" ,sbcl-cl-store)))
10685 (arguments
10686 `(#:test-asd-file "cl-online-learning-test.asd"
10687 #:asd-systems '("cl-online-learning-test"
10688 "cl-online-learning")))
10689 (home-page "https://github.com/masatoi/cl-online-learning")
10690 (synopsis "Online Machine Learning for Common Lisp")
10691 (description
10692 "This library contains a collection of machine learning algorithms for
10693 online linear classification written in Common Lisp.")
10694 (license license:expat))))
10695
10696 (define-public cl-online-learning
10697 (sbcl-package->cl-source-package sbcl-cl-online-learning))
10698
10699 (define-public ecl-cl-online-learning
10700 (sbcl-package->ecl-package sbcl-cl-online-learning))
10701
10702 (define-public sbcl-cl-mpg123
10703 (let ((commit "5f042c839d2ea4a2ff2a7b60c839d8633d64161d")
10704 (revision "1"))
10705 (package
10706 (name "sbcl-cl-mpg123")
10707 (version (git-version "1.0.0" revision commit))
10708 (source
10709 (origin
10710 (method git-fetch)
10711 (uri (git-reference
10712 (url "https://github.com/Shirakumo/cl-mpg123")
10713 (commit commit)))
10714 (file-name (git-file-name "cl-mpg123" version))
10715 (sha256
10716 (base32 "1hl721xaczxck008ax2y3jpkm509ry1sg3lklh2k76764m3ndrjf"))
10717 (modules '((guix build utils)))
10718 (snippet
10719 '(begin
10720 ;; Remove bundled pre-compiled libraries.
10721 (delete-file-recursively "static")
10722 #t))))
10723 (build-system asdf-build-system/sbcl)
10724 (arguments
10725 `(#:asd-files '("cl-mpg123.asd" "cl-mpg123-example.asd")
10726 #:asd-systems '("cl-mpg123" "cl-mpg123-example")
10727 #:phases
10728 (modify-phases %standard-phases
10729 (add-after 'unpack 'fix-paths
10730 (lambda* (#:key inputs #:allow-other-keys)
10731 (substitute* "low-level.lisp"
10732 (("libmpg123.so" all)
10733 (string-append (assoc-ref inputs "libmpg123")
10734 "/lib/" all))))))))
10735 (inputs
10736 `(("cffi" ,sbcl-cffi)
10737 ("cl-out123" ,sbcl-cl-out123)
10738 ("documentation-utils" ,sbcl-documentation-utils)
10739 ("libmpg123" ,mpg123)
10740 ("trivial-features" ,sbcl-trivial-features)
10741 ("trivial-garbage" ,sbcl-trivial-garbage)
10742 ("verbose" ,sbcl-verbose)))
10743 (home-page "https://shirakumo.github.io/cl-mpg123/")
10744 (synopsis "Common Lisp bindings to libmpg123")
10745 (description
10746 "This is a bindings and wrapper library to @code{libmpg123} allowing for
10747 convenient, extensive, and fast decoding of MPEG1/2/3 (most prominently mp3)
10748 files.")
10749 (license license:zlib))))
10750
10751 (define-public ecl-cl-mpg123
10752 (sbcl-package->ecl-package sbcl-cl-mpg123))
10753
10754 (define-public cl-mpg123
10755 (sbcl-package->cl-source-package sbcl-cl-mpg123))
10756
10757 (define-public sbcl-cl-out123
10758 (let ((commit "6b58d3f8c2a28ad09059ac4c60fb3c781b9b421b")
10759 (revision "1"))
10760 (package
10761 (name "sbcl-cl-out123")
10762 (version (git-version "1.0.0" revision commit))
10763 (source
10764 (origin
10765 (method git-fetch)
10766 (uri (git-reference
10767 (url "https://github.com/Shirakumo/cl-out123")
10768 (commit commit)))
10769 (file-name (git-file-name "cl-out123" version))
10770 (sha256
10771 (base32 "0mdwgfax6sq68wvdgjjp78i40ah7wqkpqnvaq8a1c509k7ghdgv1"))
10772 (modules '((guix build utils)))
10773 (snippet
10774 '(begin
10775 ;; Remove bundled pre-compiled libraries.
10776 (delete-file-recursively "static")
10777 #t))))
10778 (build-system asdf-build-system/sbcl)
10779 (arguments
10780 `(#:phases
10781 (modify-phases %standard-phases
10782 (add-after 'unpack 'fix-paths
10783 (lambda* (#:key inputs #:allow-other-keys)
10784 (substitute* "low-level.lisp"
10785 (("libout123.so" all)
10786 (string-append (assoc-ref inputs "libout123")
10787 "/lib/" all)))))
10788 ;; NOTE: (Sharlatan-20210129T134529+0000): ECL package `ext' has no
10789 ;; exported macro `without-interrupts' it's moved to `mp' package
10790 ;; https://github.com/Shirakumo/cl-out123/issues/2
10791 ;; https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/src/lsp/mp.lsp
10792 (add-after 'unpack 'fix-ecl-package-name
10793 (lambda _
10794 (substitute* "wrapper.lisp"
10795 (("ext:without-interrupts.*") "mp:without-interrupts\n"))
10796 #t)))))
10797 (inputs
10798 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10799 ("cffi" ,sbcl-cffi)
10800 ("documentation-utils" ,sbcl-documentation-utils)
10801 ("libout123" ,mpg123)
10802 ("trivial-features" ,sbcl-trivial-features)
10803 ("trivial-garbage" ,sbcl-trivial-garbage)))
10804 (home-page "https://shirakumo.github.io/cl-out123/")
10805 (synopsis "Common Lisp bindings to libout123")
10806 (description
10807 "This is a bindings library to @code{libout123} which allows easy
10808 cross-platform audio playback.")
10809 (license license:zlib))))
10810
10811 (define-public ecl-cl-out123
10812 (sbcl-package->ecl-package sbcl-cl-out123))
10813
10814 (define-public cl-out123
10815 (sbcl-package->cl-source-package sbcl-cl-out123))
10816
10817 (define-public sbcl-cl-random-forest
10818 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
10819 (revision "1"))
10820 (package
10821 (name "sbcl-cl-random-forest")
10822 (version (git-version "0.1" revision commit))
10823 (source
10824 (origin
10825 (method git-fetch)
10826 (uri (git-reference
10827 (url "https://github.com/masatoi/cl-random-forest")
10828 (commit commit)))
10829 (file-name (git-file-name name version))
10830 (sha256
10831 (base32
10832 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
10833 (build-system asdf-build-system/sbcl)
10834 (native-inputs
10835 `(("prove" ,sbcl-prove)
10836 ("trivial-garbage" ,sbcl-trivial-garbage)))
10837 (inputs
10838 `(("alexandria" ,sbcl-alexandria)
10839 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
10840 ("cl-online-learning" ,sbcl-cl-online-learning)
10841 ("lparallel" ,sbcl-lparallel)))
10842 (arguments
10843 `(#:tests? #f)) ; The tests download data from the Internet
10844 (synopsis "Random Forest and Global Refinement for Common Lisp")
10845 (description
10846 "CL-random-forest is an implementation of Random Forest for multiclass
10847 classification and univariate regression written in Common Lisp. It also
10848 includes an implementation of Global Refinement of Random Forest.")
10849 (home-page "https://github.com/masatoi/cl-random-forest")
10850 (license license:expat))))
10851
10852 (define-public cl-random-forest
10853 (sbcl-package->cl-source-package sbcl-cl-random-forest))
10854
10855 (define-public ecl-cl-random-forest
10856 (sbcl-package->ecl-package sbcl-cl-random-forest))
10857
10858 (define-public sbcl-bordeaux-fft
10859 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
10860 (revision "0"))
10861 (package
10862 (name "sbcl-bordeaux-fft")
10863 (version (git-version "1.0.1" revision commit))
10864 (source
10865 (origin
10866 (method git-fetch)
10867 (uri (git-reference
10868 (url "https://github.com/ahefner/bordeaux-fft")
10869 (commit commit)))
10870 (file-name (git-file-name name version))
10871 (sha256
10872 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
10873 (build-system asdf-build-system/sbcl)
10874 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
10875 (synopsis "Fast Fourier Transform for Common Lisp")
10876 (description
10877 "The Bordeaux-FFT library provides a reasonably efficient implementation
10878 of the Fast Fourier Transform and its inverse for complex-valued inputs, in
10879 portable Common Lisp.")
10880 (license license:gpl2+))))
10881
10882 (define-public cl-bordeaux-fft
10883 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
10884
10885 (define-public ecl-bordeaux-fft
10886 (sbcl-package->ecl-package sbcl-bordeaux-fft))
10887
10888 (define-public sbcl-napa-fft3
10889 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
10890 (revision "0"))
10891 (package
10892 (name "sbcl-napa-fft3")
10893 (version (git-version "0.0.1" revision commit))
10894 (source
10895 (origin
10896 (method git-fetch)
10897 (uri (git-reference
10898 (url "https://github.com/pkhuong/Napa-FFT3")
10899 (commit commit)))
10900 (file-name (git-file-name name version))
10901 (sha256
10902 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
10903 (build-system asdf-build-system/sbcl)
10904 (home-page "https://github.com/pkhuong/Napa-FFT3")
10905 (synopsis "Fast Fourier Transform routines in Common Lisp")
10906 (description
10907 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
10908 buildings blocks to express common operations that involve DFTs: filtering,
10909 convolutions, etc.")
10910 (license license:bsd-3))))
10911
10912 (define-public cl-napa-fft3
10913 (sbcl-package->cl-source-package sbcl-napa-fft3))
10914
10915 (define-public sbcl-cl-tga
10916 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
10917 (revision "0"))
10918 (package
10919 (name "sbcl-cl-tga")
10920 (version (git-version "0.0.0" revision commit))
10921 (source
10922 (origin
10923 (method git-fetch)
10924 (uri (git-reference
10925 (url "https://github.com/fisxoj/cl-tga")
10926 (commit commit)))
10927 (file-name (git-file-name name version))
10928 (sha256
10929 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
10930 (build-system asdf-build-system/sbcl)
10931 (home-page "https://github.com/fisxoj/cl-tga")
10932 (synopsis "TGA file loader for Common Lisp")
10933 (description
10934 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
10935 programs. It's a very simple library, and, at the moment, only supports
10936 non-RLE encoded forms of the files.")
10937 (license license:expat))))
10938
10939 (define-public cl-tga
10940 (sbcl-package->cl-source-package sbcl-cl-tga))
10941
10942 (define-public ecl-cl-tga
10943 (sbcl-package->ecl-package sbcl-cl-tga))
10944
10945 (define-public sbcl-com.gigamonkeys.binary-data
10946 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
10947 (revision "0"))
10948 (package
10949 (name "sbcl-com.gigamonkeys.binary-data")
10950 (version (git-version "0.0.0" revision commit))
10951 (source
10952 (origin
10953 (method git-fetch)
10954 (uri (git-reference
10955 (url "https://github.com/gigamonkey/monkeylib-binary-data")
10956 (commit commit)))
10957 (file-name (git-file-name name version))
10958 (sha256
10959 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
10960 (build-system asdf-build-system/sbcl)
10961 (inputs
10962 `(("alexandria" ,sbcl-alexandria)))
10963 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
10964 (synopsis "Common Lisp library for reading and writing binary data")
10965 (description
10966 "This a Common Lisp library for reading and writing binary data. It is
10967 based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
10968 (license license:bsd-3))))
10969
10970 (define-public cl-com.gigamonkeys.binary-data
10971 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
10972
10973 (define-public ecl-com.gigamonkeys.binary-data
10974 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
10975
10976 (define-public sbcl-deflate
10977 (package
10978 (name "sbcl-deflate")
10979 (version "1.0.3")
10980 (source
10981 (origin
10982 (method git-fetch)
10983 (uri (git-reference
10984 (url "https://github.com/pmai/Deflate")
10985 (commit (string-append "release-" version))))
10986 (file-name (git-file-name name version))
10987 (sha256
10988 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
10989 (build-system asdf-build-system/sbcl)
10990 (home-page "https://github.com/pmai/Deflate")
10991 (synopsis "Native deflate decompression for Common Lisp")
10992 (description
10993 "This library is an implementation of Deflate (RFC 1951) decompression,
10994 with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
10995 wrappers of deflate streams. It currently does not handle compression.")
10996 (license license:expat)))
10997
10998 (define-public cl-deflate
10999 (sbcl-package->cl-source-package sbcl-deflate))
11000
11001 (define-public ecl-deflate
11002 (sbcl-package->ecl-package sbcl-deflate))
11003
11004 (define-public sbcl-skippy
11005 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
11006 (revision "0"))
11007 (package
11008 (name "sbcl-skippy")
11009 (version (git-version "1.3.12" revision commit))
11010 (source
11011 (origin
11012 (method git-fetch)
11013 (uri (git-reference
11014 (url "https://github.com/xach/skippy")
11015 (commit commit)))
11016 (file-name (git-file-name name version))
11017 (sha256
11018 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
11019 (build-system asdf-build-system/sbcl)
11020 (home-page "https://xach.com/lisp/skippy/")
11021 (synopsis "Common Lisp library for GIF images")
11022 (description
11023 "Skippy is a Common Lisp library to read and write GIF image files.")
11024 (license license:bsd-2))))
11025
11026 (define-public cl-skippy
11027 (sbcl-package->cl-source-package sbcl-skippy))
11028
11029 (define-public ecl-skippy
11030 (sbcl-package->ecl-package sbcl-skippy))
11031
11032 (define-public sbcl-cl-freetype2
11033 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
11034 (revision "0"))
11035 (package
11036 (name "sbcl-cl-freetype2")
11037 (version (git-version "1.1" revision commit))
11038 (source
11039 (origin
11040 (method git-fetch)
11041 (uri (git-reference
11042 (url "https://github.com/rpav/cl-freetype2")
11043 (commit commit)))
11044 (file-name (git-file-name name version))
11045 (sha256
11046 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
11047 (build-system asdf-build-system/sbcl)
11048 (native-inputs
11049 `(("fiveam" ,sbcl-fiveam)))
11050 (inputs
11051 `(("alexandria" ,sbcl-alexandria)
11052 ("cffi" ,sbcl-cffi)
11053 ("freetype" ,freetype)
11054 ("trivial-garbage" ,sbcl-trivial-garbage)))
11055 (arguments
11056 `(#:phases
11057 (modify-phases %standard-phases
11058 (add-after 'unpack 'fix-paths
11059 (lambda* (#:key inputs #:allow-other-keys)
11060 (substitute* "src/ffi/ft2-lib.lisp"
11061 (("\"libfreetype\"")
11062 (string-append "\"" (assoc-ref inputs "freetype")
11063 "/lib/libfreetype\"")))
11064 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
11065 (("-I/usr/include/freetype")
11066 (string-append "-I" (assoc-ref inputs "freetype")
11067 "/include/freetype")))
11068 #t)))))
11069 (home-page "https://github.com/rpav/cl-freetype2")
11070 (synopsis "Common Lisp bindings for Freetype 2")
11071 (description
11072 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
11073 geared toward both using Freetype directly by providing a simplified API, as
11074 well as providing access to the underlying C structures and functions for use
11075 with other libraries which may also use Freetype.")
11076 (license license:bsd-3))))
11077
11078 (define-public cl-freetype2
11079 (sbcl-package->cl-source-package sbcl-cl-freetype2))
11080
11081 (define-public ecl-cl-freetype2
11082 (sbcl-package->ecl-package sbcl-cl-freetype2))
11083
11084 (define-public sbcl-opticl-core
11085 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
11086 (revision "0"))
11087 (package
11088 (name "sbcl-opticl-core")
11089 (version (git-version "0.0.0" revision commit))
11090 (source
11091 (origin
11092 (method git-fetch)
11093 (uri (git-reference
11094 (url "https://github.com/slyrus/opticl-core")
11095 (commit commit)))
11096 (file-name (git-file-name name version))
11097 (sha256
11098 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
11099 (build-system asdf-build-system/sbcl)
11100 (inputs
11101 `(("alexandria" ,sbcl-alexandria)))
11102 (home-page "https://github.com/slyrus/opticl-core")
11103 (synopsis "Core classes and pixel access macros for Opticl")
11104 (description
11105 "This Common Lisp library contains the core classes and pixel access
11106 macros for the Opticl image processing library.")
11107 (license license:bsd-2))))
11108
11109 (define-public cl-opticl-core
11110 (sbcl-package->cl-source-package sbcl-opticl-core))
11111
11112 (define-public ecl-opticl-core
11113 (sbcl-package->ecl-package sbcl-opticl-core))
11114
11115 (define-public sbcl-retrospectiff
11116 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
11117 (revision "0"))
11118 (package
11119 (name "sbcl-retrospectiff")
11120 (version (git-version "0.2" revision commit))
11121 (source
11122 (origin
11123 (method git-fetch)
11124 (uri (git-reference
11125 (url "https://github.com/slyrus/retrospectiff")
11126 (commit commit)))
11127 (file-name (git-file-name name version))
11128 (sha256
11129 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
11130 (build-system asdf-build-system/sbcl)
11131 (native-inputs
11132 `(("fiveam" ,sbcl-fiveam)))
11133 (inputs
11134 `(("cl-jpeg" ,sbcl-cl-jpeg)
11135 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
11136 ("deflate" ,sbcl-deflate)
11137 ("flexi-streams" ,sbcl-flexi-streams)
11138 ("ieee-floats" ,sbcl-ieee-floats)
11139 ("opticl-core" ,sbcl-opticl-core)))
11140 (home-page "https://github.com/slyrus/retrospectiff")
11141 (synopsis "Common Lisp library for TIFF images")
11142 (description
11143 "Retrospectiff is a common lisp library for reading and writing images
11144 in the TIFF (Tagged Image File Format) format.")
11145 (license license:bsd-2))))
11146
11147 (define-public cl-retrospectif
11148 (sbcl-package->cl-source-package sbcl-retrospectiff))
11149
11150 (define-public ecl-retrospectiff
11151 (sbcl-package->ecl-package sbcl-retrospectiff))
11152
11153 (define-public sbcl-mmap
11154 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
11155 (revision "0"))
11156 (package
11157 (name "sbcl-mmap")
11158 (version (git-version "1.0.0" revision commit))
11159 (source
11160 (origin
11161 (method git-fetch)
11162 (uri (git-reference
11163 (url "https://github.com/Shinmera/mmap")
11164 (commit commit)))
11165 (file-name (git-file-name name version))
11166 (sha256
11167 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
11168 (build-system asdf-build-system/sbcl)
11169 (native-inputs
11170 `(("alexandria" ,sbcl-alexandria)
11171 ("cffi" ,sbcl-cffi)
11172 ("parachute" ,sbcl-parachute)
11173 ("trivial-features" ,sbcl-trivial-features)))
11174 (inputs
11175 `(("cffi" ,sbcl-cffi)
11176 ("documentation-utils" ,sbcl-documentation-utils)))
11177 (home-page "https://shinmera.github.io/mmap/")
11178 (synopsis "File memory mapping for Common Lisp")
11179 (description
11180 "This is a utility library providing access to the @emph{mmap} family of
11181 functions in a portable way. It allows you to directly map a file into the
11182 address space of your process without having to manually read it into memory
11183 sequentially. Typically this is much more efficient for files that are larger
11184 than a few Kb.")
11185 (license license:zlib))))
11186
11187 (define-public cl-mmap
11188 (sbcl-package->cl-source-package sbcl-mmap))
11189
11190 (define-public ecl-mmap
11191 (sbcl-package->ecl-package sbcl-mmap))
11192
11193 (define-public sbcl-3bz
11194 (let ((commit "569614c40408f3aefc77ba233e0e4bd66d3850ad")
11195 (revision "1"))
11196 (package
11197 (name "sbcl-3bz")
11198 (version (git-version "0.0.0" revision commit))
11199 (source
11200 (origin
11201 (method git-fetch)
11202 (uri (git-reference
11203 (url "https://github.com/3b/3bz")
11204 (commit commit)))
11205 (file-name (git-file-name name version))
11206 (sha256
11207 (base32 "0kvvlvf50jhhw1s510f3clpr1a68632bq6d698yxcrx722igcrg4"))))
11208 (build-system asdf-build-system/sbcl)
11209 (inputs
11210 `(("alexandria" ,sbcl-alexandria)
11211 ("babel" ,sbcl-babel)
11212 ("cffi" ,sbcl-cffi)
11213 ("mmap" ,sbcl-mmap)
11214 ("nibbles" ,sbcl-nibbles)
11215 ("trivial-features" ,sbcl-trivial-features)))
11216 (arguments
11217 ;; FIXME: #41437 - Build fails when package name starts from a digit
11218 `(#:asd-systems '("3bz")))
11219 (home-page "https://github.com/3b/3bz")
11220 (synopsis "Deflate decompression for Common Lisp")
11221 (description
11222 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
11223 with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
11224 foreign pointers (for use with mmap and similar, etc), and from CL octet
11225 vectors and streams.")
11226 (license license:expat))))
11227
11228 (define-public cl-3bz
11229 (sbcl-package->cl-source-package sbcl-3bz))
11230
11231 (define-public ecl-3bz
11232 (sbcl-package->ecl-package sbcl-3bz))
11233
11234 (define-public sbcl-zpb-exif
11235 (package
11236 (name "sbcl-zpb-exif")
11237 (version "1.2.4")
11238 (source
11239 (origin
11240 (method git-fetch)
11241 (uri (git-reference
11242 (url "https://github.com/xach/zpb-exif")
11243 (commit (string-append "release-" version))))
11244 (file-name (git-file-name name version))
11245 (sha256
11246 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
11247 (build-system asdf-build-system/sbcl)
11248 (home-page "https://xach.com/lisp/zpb-exif/")
11249 (synopsis "EXIF information extractor for Common Lisp")
11250 (description
11251 "This is a Common Lisp library to extract EXIF information from image
11252 files.")
11253 (license license:bsd-2)))
11254
11255 (define-public cl-zpb-exif
11256 (sbcl-package->cl-source-package sbcl-zpb-exif))
11257
11258 (define-public ecl-zpb-exif
11259 (sbcl-package->ecl-package sbcl-zpb-exif))
11260
11261 (define-public sbcl-pngload
11262 (package
11263 (name "sbcl-pngload")
11264 (version "2.0.0")
11265 (source
11266 (origin
11267 (method git-fetch)
11268 (uri (git-reference
11269 (url "https://github.com/bufferswap/pngload")
11270 (commit version)))
11271 (file-name (git-file-name name version))
11272 (sha256
11273 (base32 "1ix8dd0fxlf8xm0bszh1s7sx83hn0vqq8b8c9gkrd5m310w8mpvh"))))
11274 (build-system asdf-build-system/sbcl)
11275 (inputs
11276 `(("3bz" ,sbcl-3bz)
11277 ("alexandria" ,sbcl-alexandria)
11278 ("cffi" ,sbcl-cffi)
11279 ("mmap" ,sbcl-mmap)
11280 ("parse-float" ,sbcl-parse-float)
11281 ("static-vectors" ,sbcl-static-vectors)
11282 ("swap-bytes" ,sbcl-swap-bytes)
11283 ("zpb-exif" ,sbcl-zpb-exif)))
11284 (arguments
11285 ;; Test suite disabled because of a dependency cycle.
11286 ;; pngload tests depend on opticl which depends on pngload.
11287 '(#:tests? #f))
11288 (home-page "https://github.com/bufferswap/pngload")
11289 (synopsis "PNG image decoder for Common Lisp")
11290 (description
11291 "This is a Common Lisp library to load images in the PNG image format,
11292 both from files on disk, or streams in memory.")
11293 (license license:expat)))
11294
11295 (define-public cl-pngload
11296 (sbcl-package->cl-source-package sbcl-pngload))
11297
11298 (define-public ecl-pngload
11299 (sbcl-package->ecl-package sbcl-pngload))
11300
11301 (define-public sbcl-opticl
11302 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
11303 (revision "0"))
11304 (package
11305 (name "sbcl-opticl")
11306 (version (git-version "0.0.0" revision commit))
11307 (source
11308 (origin
11309 (method git-fetch)
11310 (uri (git-reference
11311 (url "https://github.com/slyrus/opticl")
11312 (commit commit)))
11313 (file-name (git-file-name name version))
11314 (sha256
11315 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
11316 (build-system asdf-build-system/sbcl)
11317 (native-inputs
11318 `(("fiveam" ,sbcl-fiveam)))
11319 (inputs
11320 `(("alexandria" ,sbcl-alexandria)
11321 ("cl-jpeg" ,sbcl-cl-jpeg)
11322 ("cl-tga" ,sbcl-cl-tga)
11323 ("png-read" ,sbcl-png-read)
11324 ("pngload" ,sbcl-pngload)
11325 ("retrospectiff" ,sbcl-retrospectiff)
11326 ("skippy" ,sbcl-skippy)
11327 ("zpng" ,sbcl-zpng)))
11328 (arguments
11329 '(#:asd-files '("opticl.asd")))
11330 (home-page "https://github.com/slyrus/opticl")
11331 (synopsis "Image processing library for Common Lisp")
11332 (description
11333 "Opticl is a Common Lisp library for representing, processing, loading,
11334 and saving 2-dimensional pixel-based images.")
11335 (license license:bsd-2))))
11336
11337 (define-public cl-opticl
11338 (sbcl-package->cl-source-package sbcl-opticl))
11339
11340 (define-public ecl-opticl
11341 (sbcl-package->ecl-package sbcl-opticl))
11342
11343 (define-public sbcl-mcclim
11344 (let ((commit "04cc542dd4b461b9d56406e40681d1a8f080730f")
11345 (revision "1"))
11346 (package
11347 (name "sbcl-mcclim")
11348 (version (git-version "0.9.7" revision commit))
11349 (source
11350 (origin
11351 (method git-fetch)
11352 (uri (git-reference
11353 (url "https://github.com/mcclim/mcclim")
11354 (commit commit)))
11355 (file-name (git-file-name name version))
11356 (sha256
11357 (base32 "1xjly8i62z72hfhlnz5kjd9i8xhrwckc7avyizxvhih67pkjmsx0"))))
11358 (build-system asdf-build-system/sbcl)
11359 (native-inputs
11360 `(("fiveam" ,sbcl-fiveam)
11361 ("pkg-config" ,pkg-config)))
11362 (inputs
11363 `(("alexandria" ,sbcl-alexandria)
11364 ("babel" ,sbcl-babel)
11365 ("bordeaux-threads" ,sbcl-bordeaux-threads)
11366 ("cl-freetype2" ,sbcl-cl-freetype2)
11367 ("cl-pdf" ,sbcl-cl-pdf)
11368 ("cffi" ,sbcl-cffi)
11369 ("cl-unicode" ,sbcl-cl-unicode)
11370 ("cl-vectors" ,sbcl-cl-vectors)
11371 ("closer-mop" ,sbcl-closer-mop)
11372 ("clx" ,sbcl-clx)
11373 ("flexi-streams" ,sbcl-flexi-streams)
11374 ("flexichain" ,sbcl-flexichain)
11375 ("font-dejavu" ,font-dejavu)
11376 ("fontconfig" ,fontconfig)
11377 ("freetype" ,freetype)
11378 ("harfbuzz" ,harfbuzz)
11379 ("log4cl" ,sbcl-log4cl)
11380 ("opticl" ,sbcl-opticl)
11381 ("spatial-trees" ,sbcl-spatial-trees)
11382 ("swank" ,sbcl-slime-swank)
11383 ("trivial-features" ,sbcl-trivial-features)
11384 ("trivial-garbage" ,sbcl-trivial-garbage)
11385 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
11386 ("zpb-ttf" ,sbcl-zpb-ttf)))
11387 (arguments
11388 '(#:asd-systems '("mcclim"
11389 "clim-examples")
11390 #:phases
11391 (modify-phases %standard-phases
11392 (add-after 'unpack 'fix-paths
11393 (lambda* (#:key inputs #:allow-other-keys)
11394 ;; mcclim-truetype uses DejaVu as default font and
11395 ;; sets the path at build time.
11396 (substitute* "Extensions/fonts/fontconfig.lisp"
11397 (("/usr/share/fonts/truetype/dejavu/")
11398 (string-append (assoc-ref inputs "font-dejavu")
11399 "/share/fonts/truetype/")))
11400 (substitute* "Extensions/fontconfig/src/functions.lisp"
11401 (("libfontconfig\\.so")
11402 (string-append (assoc-ref inputs "fontconfig")
11403 "/lib/libfontconfig.so")))
11404 (substitute* "Extensions/harfbuzz/src/functions.lisp"
11405 (("libharfbuzz\\.so")
11406 (string-append (assoc-ref inputs "harfbuzz")
11407 "/lib/libharfbuzz.so")))
11408 #t))
11409 (add-after 'unpack 'fix-build
11410 (lambda _
11411 ;; The cffi-grovel system does not get loaded automatically,
11412 ;; so we load it explicitly.
11413 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
11414 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
11415 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
11416 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
11417 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
11418 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
11419 #t)))))
11420 (home-page "https://common-lisp.net/project/mcclim/")
11421 (synopsis "Common Lisp GUI toolkit")
11422 (description
11423 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
11424 specification}, a toolkit for writing GUIs in Common Lisp.")
11425 (license license:lgpl2.1+))))
11426
11427 (define-public cl-mcclim
11428 (sbcl-package->cl-source-package sbcl-mcclim))
11429
11430 (define-public ecl-mcclim
11431 (sbcl-package->ecl-package sbcl-mcclim))
11432
11433 (define-public sbcl-cl-inflector
11434 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
11435 (revision "1"))
11436 (package
11437 (name "sbcl-cl-inflector")
11438 (version (git-version "0.2" revision commit))
11439 (source
11440 (origin
11441 (method git-fetch)
11442 (uri (git-reference
11443 (url "https://github.com/AccelerationNet/cl-inflector")
11444 (commit commit)))
11445 (file-name (git-file-name name version))
11446 (sha256
11447 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
11448 (build-system asdf-build-system/sbcl)
11449 (native-inputs
11450 `(("lisp-unit2" ,sbcl-lisp-unit2)))
11451 (inputs
11452 `(("alexandria" ,sbcl-alexandria)
11453 ("cl-ppcre" ,sbcl-cl-ppcre)))
11454 (home-page "https://github.com/AccelerationNet/cl-inflector")
11455 (synopsis "Library to pluralize/singularize English and Portuguese words")
11456 (description
11457 "This is a common lisp library to easily pluralize and singularize
11458 English and Portuguese words. This is a port of the ruby ActiveSupport
11459 Inflector module.")
11460 (license license:expat))))
11461
11462 (define-public cl-inflector
11463 (sbcl-package->cl-source-package sbcl-cl-inflector))
11464
11465 (define-public ecl-cl-inflector
11466 (sbcl-package->ecl-package sbcl-cl-inflector))
11467
11468 (define-public sbcl-ixf
11469 (let ((commit "ed26f87e4127e4a9e3aac4ff1e60d1f39cca5183")
11470 (revision "1"))
11471 (package
11472 (name "sbcl-ixf")
11473 (version (git-version "0.1.0" revision commit))
11474 (source
11475 (origin
11476 (method git-fetch)
11477 (uri (git-reference
11478 (url "https://github.com/dimitri/cl-ixf")
11479 (commit commit)))
11480 (file-name (git-file-name "cl-ixf" version))
11481 (sha256
11482 (base32 "1wjdnf4vr9z7lcfc49kl43g6l2i23q9n81siy494k17d766cdvqa"))))
11483 (build-system asdf-build-system/sbcl)
11484 (inputs
11485 `(("alexandria" ,sbcl-alexandria)
11486 ("babel" ,sbcl-babel)
11487 ("cl-ppcre" ,sbcl-cl-ppcre)
11488 ("ieee-floats" ,sbcl-ieee-floats)
11489 ("local-time" ,sbcl-local-time)
11490 ("md5" ,sbcl-md5)
11491 ("split-sequence" ,sbcl-split-sequence)))
11492 (home-page "https://github.com/dimitri/cl-ixf")
11493 (synopsis "Parse IBM IXF file format")
11494 (description
11495 "This is a Common Lisp library to handle the IBM PC version of the IXF
11496 (Integration Exchange Format) file format.")
11497 (license license:public-domain))))
11498
11499 (define-public ecl-ixf
11500 (sbcl-package->ecl-package sbcl-ixf))
11501
11502 (define-public cl-ixf
11503 (sbcl-package->cl-source-package sbcl-ixf))
11504
11505 (define-public sbcl-qbase64
11506 (package
11507 (name "sbcl-qbase64")
11508 (version "0.3.0")
11509 (source
11510 (origin
11511 (method git-fetch)
11512 (uri (git-reference
11513 (url "https://github.com/chaitanyagupta/qbase64")
11514 (commit version)))
11515 (file-name (git-file-name name version))
11516 (sha256
11517 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
11518 (build-system asdf-build-system/sbcl)
11519 (inputs
11520 `(("metabang-bind" ,sbcl-metabang-bind)
11521 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
11522 (native-inputs
11523 `(("fiveam" ,sbcl-fiveam)))
11524 (home-page "https://github.com/chaitanyagupta/qbase64")
11525 (synopsis "Base64 encoder and decoder for Common Lisp")
11526 (description "@code{qbase64} provides a fast and flexible base64 encoder
11527 and decoder for Common Lisp.")
11528 (license license:bsd-3)))
11529
11530 (define-public cl-qbase64
11531 (sbcl-package->cl-source-package sbcl-qbase64))
11532
11533 (define-public ecl-qbase64
11534 (sbcl-package->ecl-package sbcl-qbase64))
11535
11536 (define-public sbcl-lw-compat
11537 ;; No release since 2013.
11538 (let ((commit "aabfe28c6c1a4949f9d7b3cb30319367c9fd1c0d"))
11539 (package
11540 (name "sbcl-lw-compat")
11541 (version (git-version "1.0.0" "1" commit))
11542 (source
11543 (origin
11544 (method git-fetch)
11545 (uri (git-reference
11546 (url "https://github.com/pcostanza/lw-compat/")
11547 (commit commit)))
11548 (file-name (git-file-name name version))
11549 (sha256
11550 (base32 "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav"))))
11551 (build-system asdf-build-system/sbcl)
11552 (home-page "https://github.com/pcostanza/lw-compat/")
11553 (synopsis "LispWorks utilities ported to other Common Lisp implementations")
11554 (description "This package contains a few utility functions from the
11555 LispWorks library that are used in software such as ContextL.")
11556 (license license:expat))))
11557
11558 (define-public cl-lw-compat
11559 (sbcl-package->cl-source-package sbcl-lw-compat))
11560
11561 (define-public ecl-lw-compat
11562 (sbcl-package->ecl-package sbcl-lw-compat))
11563
11564 (define-public sbcl-contextl
11565 ;; No release since 2013.
11566 (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9"))
11567 (package
11568 (name "sbcl-contextl")
11569 (version (git-version "1.0.0" "1" commit))
11570 (source
11571 (origin
11572 (method git-fetch)
11573 (uri (git-reference
11574 (url "https://github.com/pcostanza/contextl/")
11575 (commit commit)))
11576 (file-name (git-file-name name version))
11577 (sha256
11578 (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226"))))
11579 (build-system asdf-build-system/sbcl)
11580 (inputs
11581 `(("closer-mop" ,sbcl-closer-mop)
11582 ("lw-compat" ,sbcl-lw-compat)))
11583 (home-page "https://github.com/pcostanza/contextl")
11584 (synopsis "Context-oriented programming for Common Lisp")
11585 (description "ContextL is a CLOS extension for Context-Oriented
11586 Programming (COP).
11587
11588 Find overview of ContextL's features in an overview paper:
11589 @url{http://www.p-cos.net/documents/contextl-soa.pdf}. See also this general
11590 overview article about COP which also contains some ContextL examples:
11591 @url{http://www.jot.fm/issues/issue_2008_03/article4/}.")
11592 (license license:expat))))
11593
11594 (define-public cl-contextl
11595 (sbcl-package->cl-source-package sbcl-contextl))
11596
11597 (define-public ecl-contextl
11598 (sbcl-package->ecl-package sbcl-contextl))
11599
11600 (define-public sbcl-hu.dwim.common-lisp
11601 (package
11602 (name "sbcl-hu.dwim.common-lisp")
11603 (version "2015-07-09")
11604 (source
11605 (origin
11606 (method url-fetch)
11607 (uri (string-append
11608 "http://beta.quicklisp.org/archive/hu.dwim.common-lisp/"
11609 version "/hu.dwim.common-lisp-"
11610 (string-replace-substring version "-" "")
11611 "-darcs.tgz"))
11612 (sha256
11613 (base32 "13cxrvh55rw080mvfir7s7k735l9rcfh3khxp97qfwd5rz0gadb9"))))
11614 (build-system asdf-build-system/sbcl)
11615 (native-inputs
11616 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11617 (home-page "http://dwim.hu/")
11618 (synopsis "Redefine some standard Common Lisp names")
11619 (description "This library is a redefinition of the standard Common Lisp
11620 package that includes a number of renames and shadows. ")
11621 (license license:public-domain)))
11622
11623 (define-public cl-hu.dwim.common-lisp
11624 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
11625
11626 (define-public ecl-hu.dwim.common-lisp
11627 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
11628
11629 (define-public sbcl-hu.dwim.common
11630 (package
11631 (name "sbcl-hu.dwim.common")
11632 (version "2015-07-09")
11633 (source
11634 (origin
11635 (method url-fetch)
11636 (uri (string-append
11637 "http://beta.quicklisp.org/archive/hu.dwim.common/"
11638 version "/hu.dwim.common-"
11639 (string-replace-substring version "-" "")
11640 "-darcs.tgz"))
11641 (sha256
11642 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
11643 (build-system asdf-build-system/sbcl)
11644 (native-inputs
11645 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11646 (inputs
11647 `(("alexandria" ,sbcl-alexandria)
11648 ("anaphora" ,sbcl-anaphora)
11649 ("closer-mop" ,sbcl-closer-mop)
11650 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
11651 ("iterate" ,sbcl-iterate)
11652 ("metabang-bind" ,sbcl-metabang-bind)))
11653 (home-page "http://dwim.hu/")
11654 (synopsis "Common Lisp library shared by other hu.dwim systems")
11655 (description "This package contains a support library for other
11656 hu.dwim systems.")
11657 (license license:public-domain)))
11658
11659 (define-public cl-hu.dwim.common
11660 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
11661
11662 (define-public ecl-hu.dwim.common
11663 (sbcl-package->ecl-package sbcl-hu.dwim.common))
11664
11665 (define-public sbcl-hu.dwim.defclass-star
11666 (package
11667 (name "sbcl-hu.dwim.defclass-star")
11668 (version "2015-07-09")
11669 (source
11670 (origin
11671 (method url-fetch)
11672 (uri (string-append
11673 "http://beta.quicklisp.org/archive/hu.dwim.defclass-star/"
11674 version "/hu.dwim.defclass-star-"
11675 (string-replace-substring version "-" "")
11676 "-darcs.tgz"))
11677 (sha256
11678 (base32 "032982lyp0hm0ssxlyh572whi2hr4j1nqkyqlllaj373v0dbs3vs"))))
11679 (build-system asdf-build-system/sbcl)
11680 (native-inputs
11681 `(;; These 2 inputs are only needed tests which are disabled, see below.
11682 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
11683 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
11684 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
11685 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11686 (arguments
11687 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
11688 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
11689 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
11690 #:tests? #f))
11691 (home-page "http://dwim.hu/?_x=dfxn&_f=mRIMfonK")
11692 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
11693 (description "@code{defclass-star} provides defclass* and defcondition* to
11694 simplify class and condition declarations. Features include:
11695
11696 @itemize
11697 @item Automatically export all or select slots at compile time.
11698 @item Define the @code{:initarg} and @code{:accessor} automatically.
11699 @item Specify a name transformer for both the @code{:initarg} and
11700 @code{:accessor}, etc.
11701 @item Specify the @code{:initform} as second slot value.
11702 @end itemize
11703
11704 See
11705 @url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
11706 for an example.")
11707 (license license:public-domain)))
11708
11709 (define-public cl-hu.dwim.defclass-star
11710 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
11711
11712 (define-public ecl-hu.dwim.defclass-star
11713 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))
11714
11715 (define-public sbcl-livesupport
11716 (let ((commit "71e6e412df9f3759ad8378fabb203913d82e228a")
11717 (revision "1"))
11718 (package
11719 (name "sbcl-livesupport")
11720 (version (git-version "0.0.0" revision commit))
11721 (source
11722 (origin
11723 (method git-fetch)
11724 (uri (git-reference
11725 (url "https://github.com/cbaggers/livesupport")
11726 (commit commit)))
11727 (file-name (git-file-name name version))
11728 (sha256
11729 (base32 "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"))))
11730 (build-system asdf-build-system/sbcl)
11731 (home-page "https://github.com/cbaggers/livesupport")
11732 (synopsis "Some helpers that make livecoding a little easier")
11733 (description "This package provides a macro commonly used in livecoding to
11734 enable continuing when errors are raised. Simply wrap around a chunk of code
11735 and it provides a restart called @code{continue} which ignores the error and
11736 carrys on from the end of the body.")
11737 (license license:bsd-2))))
11738
11739 (define-public cl-livesupport
11740 (sbcl-package->cl-source-package sbcl-livesupport))
11741
11742 (define-public ecl-livesupport
11743 (sbcl-package->ecl-package sbcl-livesupport))
11744
11745 (define-public sbcl-envy
11746 (let ((commit "956321b2852d58ba71c6fe621f5c2924178e9f88")
11747 (revision "1"))
11748 (package
11749 (name "sbcl-envy")
11750 (version (git-version "0.1" revision commit))
11751 (home-page "https://github.com/fukamachi/envy")
11752 (source
11753 (origin
11754 (method git-fetch)
11755 (uri (git-reference
11756 (url home-page)
11757 (commit commit)))
11758 (file-name (git-file-name name version))
11759 (sha256
11760 (base32 "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg"))))
11761 (build-system asdf-build-system/sbcl)
11762 ;; (native-inputs ; Only for tests.
11763 ;; `(("prove" ,sbcl-prove)
11764 ;; ("osicat" ,sbcl-osicat)))
11765 (arguments
11766 '(#:phases
11767 (modify-phases %standard-phases
11768 (add-after 'unpack 'fix-tests
11769 (lambda _
11770 (substitute* "envy-test.asd"
11771 (("cl-test-more") "prove"))
11772 #t)))
11773 ;; Tests fail with
11774 ;; Component ENVY-ASD::ENVY-TEST not found, required by #<SYSTEM "envy">
11775 ;; like xsubseq. Why?
11776 #:tests? #f))
11777 (synopsis "Common Lisp configuration switcher inspired by Perl's Config::ENV.")
11778 (description "Envy is a configuration manager for various applications.
11779 Envy uses an environment variable to determine a configuration to use. This
11780 can separate configuration system from an implementation.")
11781 (license license:bsd-2))))
11782
11783 (define-public cl-envy
11784 (sbcl-package->cl-source-package sbcl-envy))
11785
11786 (define-public ecl-envy
11787 (sbcl-package->ecl-package sbcl-envy))
11788
11789 (define-public sbcl-mito
11790 (let ((commit "d3b9e375ef364a65692da2185085a08c969ac88a")
11791 (revision "1"))
11792 (package
11793 (name "sbcl-mito")
11794 (version (git-version "0.1" revision commit))
11795 (home-page "https://github.com/fukamachi/mito")
11796 (source
11797 (origin
11798 (method git-fetch)
11799 (uri (git-reference
11800 (url home-page)
11801 (commit commit)))
11802 (file-name (git-file-name name version))
11803 (sha256
11804 (base32 "08mncgzjnbbsf1a6am3l73iw4lyfvz5ldjg5g84awfaxml4p73mb"))))
11805 (build-system asdf-build-system/sbcl)
11806 (native-inputs
11807 `(("prove" ,sbcl-prove)))
11808 (inputs
11809 `(("alexandria" ,sbcl-alexandria)
11810 ("cl-ppcre" ,sbcl-cl-ppcre)
11811 ("cl-reexport" ,sbcl-cl-reexport)
11812 ("closer-mop" ,sbcl-closer-mop)
11813 ("dbi" ,sbcl-dbi)
11814 ("dissect" ,sbcl-dissect)
11815 ("esrap" ,sbcl-esrap)
11816 ("local-time" ,sbcl-local-time)
11817 ("optima" ,sbcl-optima)
11818 ("sxql" ,sbcl-sxql)
11819 ("uuid" ,sbcl-uuid)))
11820 (arguments
11821 '(#:phases
11822 (modify-phases %standard-phases
11823 (add-after 'unpack 'remove-non-functional-tests
11824 (lambda _
11825 (substitute* "mito-test.asd"
11826 (("\\(:test-file \"db/mysql\"\\)") "")
11827 (("\\(:test-file \"db/postgres\"\\)") "")
11828 (("\\(:test-file \"dao\"\\)") "")
11829 ;; TODO: migration/sqlite3 should work, re-enable once
11830 ;; upstream has fixed it:
11831 ;; https://github.com/fukamachi/mito/issues/70
11832 (("\\(:test-file \"migration/sqlite3\"\\)") "")
11833 (("\\(:test-file \"migration/mysql\"\\)") "")
11834 (("\\(:test-file \"migration/postgres\"\\)") "")
11835 (("\\(:test-file \"postgres-types\"\\)") "")
11836 (("\\(:test-file \"mixin\"\\)") ""))
11837 #t)))
11838 ;; TODO: While all enabled tests pass, the phase fails with:
11839 ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito">
11840 #:tests? #f))
11841 (synopsis "ORM for Common Lisp with migrations and relationships support")
11842 (description "Mito is yet another object relational mapper, and it aims
11843 to be a successor of Integral.
11844
11845 @itemize
11846 @item Support MySQL, PostgreSQL and SQLite3.
11847 @item Add id (serial/uuid primary key), created_at and updated_at by default
11848 like Ruby's ActiveRecord.
11849 @item Migrations.
11850 @item Database schema versioning.
11851 @end itemize\n")
11852 (license license:llgpl))))
11853
11854 (define-public cl-mito
11855 (sbcl-package->cl-source-package sbcl-mito))
11856
11857 (define-public ecl-mito
11858 (sbcl-package->ecl-package sbcl-mito))
11859
11860 (define-public sbcl-kebab
11861 (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b")
11862 (revision "1"))
11863 (package
11864 (name "sbcl-kebab")
11865 (version (git-version "0.1" revision commit))
11866 (home-page "https://github.com/pocket7878/kebab")
11867 (source
11868 (origin
11869 (method git-fetch)
11870 (uri (git-reference
11871 (url home-page)
11872 (commit commit)))
11873 (file-name (git-file-name name version))
11874 (sha256
11875 (base32 "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"))))
11876 (build-system asdf-build-system/sbcl)
11877 (inputs
11878 `(("cl-ppcre" ,sbcl-cl-ppcre)
11879 ("alexandria" ,sbcl-alexandria)
11880 ("cl-interpol" ,sbcl-cl-interpol)
11881 ("split-sequence" ,sbcl-split-sequence)))
11882 (native-inputs
11883 `(("prove" ,sbcl-prove)))
11884 (arguments
11885 ;; Tests passes but the phase fails with
11886 ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">.
11887 `(#:tests? #f))
11888 (synopsis "Common Lisp case converter")
11889 (description "This Common Lisp library converts strings, symbols and
11890 keywords between any of the following typographical cases: PascalCase,
11891 camelCase, snake_case, kebab-case (lisp-case).")
11892 (license license:llgpl))))
11893
11894 (define-public cl-kebab
11895 (sbcl-package->cl-source-package sbcl-kebab))
11896
11897 (define-public ecl-kebab
11898 (sbcl-package->ecl-package sbcl-kebab))
11899
11900 (define-public sbcl-datafly
11901 (let ((commit "adece27fcbc4b5ea39ad1a105048b6b7166e3b0d")
11902 (revision "1"))
11903 (package
11904 (name "sbcl-datafly")
11905 (version (git-version "0.1" revision commit))
11906 (home-page "https://github.com/fukamachi/datafly")
11907 (source
11908 (origin
11909 (method git-fetch)
11910 (uri (git-reference
11911 (url home-page)
11912 (commit commit)))
11913 (file-name (git-file-name name version))
11914 (sha256
11915 (base32 "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv"))))
11916 (build-system asdf-build-system/sbcl)
11917 (inputs
11918 `(("alexandria" ,sbcl-alexandria)
11919 ("iterate" ,sbcl-iterate)
11920 ("optima" ,sbcl-optima)
11921 ("trivial-types" ,sbcl-trivial-types)
11922 ("closer-mop" ,sbcl-closer-mop)
11923 ("cl-syntax" ,sbcl-cl-syntax)
11924 ("sxql" ,sbcl-sxql)
11925 ("dbi" ,sbcl-dbi)
11926 ("babel" ,sbcl-babel)
11927 ("local-time" ,sbcl-local-time)
11928 ("function-cache" ,sbcl-function-cache)
11929 ("jonathan" ,sbcl-jonathan)
11930 ("kebab" ,sbcl-kebab)
11931 ("log4cl" ,sbcl-log4cl)))
11932 (native-inputs
11933 `(("prove" ,sbcl-prove)))
11934 (arguments
11935 ;; TODO: Tests fail with
11936 ;; While evaluating the form starting at line 22, column 0
11937 ;; of #P"/tmp/guix-build-sbcl-datafly-0.1-1.adece27.drv-0/source/t/datafly.lisp":
11938 ;; Unhandled SQLITE:SQLITE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
11939 ;; {10009F8083}>:
11940 ;; Error when binding parameter 1 to value NIL.
11941 ;; Code RANGE: column index out of range.
11942 `(#:tests? #f))
11943 (synopsis "Lightweight database library for Common Lisp")
11944 (description "Datafly is a lightweight database library for Common Lisp.")
11945 (license license:bsd-3))))
11946
11947 (define-public cl-datafly
11948 (sbcl-package->cl-source-package sbcl-datafly))
11949
11950 (define-public ecl-datafly
11951 (sbcl-package->ecl-package sbcl-datafly))
11952
11953 (define-public sbcl-do-urlencode
11954 (let ((commit "199846441dad5dfac5478b8dee4b4e20d107af6a")
11955 (revision "1"))
11956 (package
11957 (name "sbcl-do-urlencode")
11958 (version (git-version "0.0.0" revision commit))
11959 (home-page "https://github.com/drdo/do-urlencode")
11960 (source
11961 (origin
11962 (method git-fetch)
11963 (uri (git-reference
11964 (url home-page)
11965 (commit commit)))
11966 (file-name (git-file-name name version))
11967 (sha256
11968 (base32 "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"))))
11969 (build-system asdf-build-system/sbcl)
11970 (inputs
11971 `(("alexandria" ,sbcl-alexandria)
11972 ("babel" ,sbcl-babel)))
11973 (synopsis "Percent Encoding (aka URL Encoding) Common Lisp library")
11974 (description "This library provides trivial percent encoding and
11975 decoding functions for URLs.")
11976 (license license:isc))))
11977
11978 (define-public cl-do-urlencode
11979 (sbcl-package->cl-source-package sbcl-do-urlencode))
11980
11981 (define-public ecl-do-urlencode
11982 (sbcl-package->ecl-package sbcl-do-urlencode))
11983
11984 (define-public sbcl-cl-emb
11985 (let ((commit "fd8652174d048d4525a81f38cdf42f4fa519f840")
11986 (revision "1"))
11987 (package
11988 (name "sbcl-cl-emb")
11989 (version (git-version "0.4.3" revision commit))
11990 (home-page "https://common-lisp.net/project/cl-emb/")
11991 (source
11992 (origin
11993 (method git-fetch)
11994 (uri (git-reference
11995 (url "https://github.com/38a938c2/cl-emb")
11996 (commit commit)))
11997 (file-name (git-file-name name version))
11998 (sha256
11999 (base32 "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"))))
12000 (build-system asdf-build-system/sbcl)
12001 (inputs
12002 `(("cl-ppcre" ,sbcl-cl-ppcre)))
12003 (synopsis "Templating system for Common Lisp")
12004 (description "A mixture of features from eRuby and HTML::Template. You
12005 could name it \"Yet Another LSP\" (LispServer Pages) but it's a bit more than
12006 that and not limited to a certain server or text format.")
12007 (license license:llgpl))))
12008
12009 (define-public cl-emb
12010 (sbcl-package->cl-source-package sbcl-cl-emb))
12011
12012 (define-public ecl-cl-emb
12013 (sbcl-package->ecl-package sbcl-cl-emb))
12014
12015 (define-public sbcl-cl-project
12016 (let ((commit "151107014e534fc4666222d57fec2cc8549c8814")
12017 (revision "1"))
12018 (package
12019 (name "sbcl-cl-project")
12020 (version (git-version "0.3.1" revision commit))
12021 (home-page "https://github.com/fukamachi/cl-project")
12022 (source
12023 (origin
12024 (method git-fetch)
12025 (uri (git-reference
12026 (url home-page)
12027 (commit commit)))
12028 (file-name (git-file-name name version))
12029 (sha256
12030 (base32 "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y"))))
12031 (build-system asdf-build-system/sbcl)
12032 (inputs
12033 `(("cl-emb" ,sbcl-cl-emb)
12034 ("cl-ppcre" ,sbcl-cl-ppcre)
12035 ("local-time" ,sbcl-local-time)
12036 ("prove" ,sbcl-prove)))
12037 (arguments
12038 ;; Tests depend on caveman, which in turns depends on cl-project.
12039 '(#:tests? #f
12040 #:asd-files '("cl-project.asd")))
12041 (synopsis "Generate a skeleton for modern Common Lisp projects")
12042 (description "This library provides a modern project skeleton generator.
12043 In contract with other generators, CL-Project generates one package per file
12044 and encourages unit testing by generating a system for unit testing, so you
12045 can begin writing unit tests as soon as the project is generated.")
12046 (license license:llgpl))))
12047
12048 (define-public cl-project
12049 (sbcl-package->cl-source-package sbcl-cl-project))
12050
12051 (define-public ecl-cl-project
12052 (sbcl-package->ecl-package sbcl-cl-project))
12053
12054 (define-public sbcl-caveman
12055 (let ((commit "faa5f7e3b364fd7e7096af9a7bb06728b8d80441") ; No release since 2012
12056 (revision "1"))
12057 (package
12058 (name "sbcl-caveman")
12059 (version (git-version "2.4.0" revision commit))
12060 (home-page "http://8arrow.org/caveman/")
12061 (source
12062 (origin
12063 (method git-fetch)
12064 (uri (git-reference
12065 (url "https://github.com/fukamachi/caveman/")
12066 (commit commit)))
12067 (file-name (git-file-name name version))
12068 (sha256
12069 (base32 "0kh0gx05pczk8f7r9qdi4zn1p3d0a2prps27k7jpgvc1dxkl8qhq"))))
12070 (build-system asdf-build-system/sbcl)
12071 (inputs
12072 `(("ningle" ,cl-ningle)
12073 ("lack" ,sbcl-lack)
12074 ("cl-project" ,sbcl-cl-project)
12075 ("dbi" ,sbcl-dbi)
12076 ("cl-syntax" ,sbcl-cl-syntax)
12077 ("myway" ,sbcl-myway)
12078 ("quri" ,sbcl-quri)))
12079 (native-inputs
12080 `(("usocket" ,sbcl-usocket)
12081 ("dexador" ,sbcl-dexador)))
12082 (arguments
12083 `(#:asd-files '("caveman2.asd")
12084 #:asd-systems '("caveman2")
12085 #:phases
12086 (modify-phases %standard-phases
12087 (add-after 'unpack 'remove-v1
12088 (lambda _
12089 (delete-file-recursively "v1")
12090 (for-each delete-file
12091 '("README.v1.markdown" "caveman.asd" "caveman-test.asd")))))
12092 ;; TODO: Tests fail with:
12093 ;; writing /gnu/store/...-sbcl-caveman-2.4.0-1.faa5f7e/share/common-lisp/sbcl-source/caveman2/v2/t/tmp/myapp573/tests/myapp573.lisp
12094 ;; While evaluating the form starting at line 38, column 0
12095 ;; of #P"/tmp/guix-build-sbcl-caveman-2.4.0-1.faa5f7e.drv-0/source/v2/t/caveman.lisp":
12096 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD "main thread" RUNNING
12097 ;; {10009F8083}>:
12098 ;; Component "myapp573" not found
12099 #:tests? #f))
12100 (synopsis "Lightweight web application framework in Common Lisp")
12101 (description "Caveman is intended to be a collection of common parts for
12102 web applications. Caveman2 has three design goals:
12103
12104 @itemize
12105 @item Be extensible.
12106 @item Be practical.
12107 @item Don't force anything.
12108 @end itemize\n")
12109 (license license:llgpl))))
12110
12111 (define-public cl-caveman
12112 (package
12113 (inherit
12114 (sbcl-package->cl-source-package sbcl-caveman))
12115 (propagated-inputs
12116 `(("ningle" ,cl-ningle)))))
12117
12118 (define-public ecl-caveman
12119 (sbcl-package->ecl-package sbcl-caveman))
12120
12121 (define-public sbcl-lambda-fiddle
12122 (let ((commit "d16bba55acf6065b412f64ab8fdff679a4a32b1e") ;; no tagged branch
12123 (revision "1"))
12124 (package
12125 (name "sbcl-lambda-fiddle")
12126 (version (git-version "1.0.0" revision commit))
12127 (source
12128 (origin
12129 (method git-fetch)
12130 (uri (git-reference
12131 (url "https://github.com/Shinmera/lambda-fiddle")
12132 (commit commit)))
12133 (file-name (git-file-name name version))
12134 (sha256
12135 (base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand"))))
12136 (build-system asdf-build-system/sbcl)
12137 (home-page "https://github.com/Shinmera/lambda-fiddle")
12138 (synopsis "Collection of utilities to process lambda-lists")
12139 (description "This collection of utilities is useful in contexts where
12140 you want a macro that uses lambda-lists in some fashion but need more precise
12141 processing.")
12142 (license license:zlib))))
12143
12144 (define-public cl-lambda-fiddle
12145 (sbcl-package->cl-source-package sbcl-lambda-fiddle))
12146
12147 (define-public ecl-lambda-fiddle
12148 (sbcl-package->ecl-package sbcl-lambda-fiddle))
12149
12150 (define-public sbcl-xmls
12151 (let ((commit "18546f0850b1338e03997ffd1696add1cb1800d1") ;; no tagged branch
12152 (revision "1"))
12153 (package
12154 (name "sbcl-xmls")
12155 (version (git-version "3.0.2" revision commit))
12156 (source
12157 (origin
12158 (method git-fetch)
12159 (uri (git-reference
12160 (url "https://github.com/rpgoldman/xmls")
12161 (commit commit)))
12162 (file-name (git-file-name name version))
12163 (sha256
12164 (base32 "1lmvfml2ldbb1wkhm25jqqk2bhwsz52hhcgljbnzj1xr8xhc3anp"))))
12165 (native-inputs
12166 `(("fiveam" ,sbcl-fiveam)))
12167 (build-system asdf-build-system/sbcl)
12168 (home-page "https://github.com/rpgoldman/xmls")
12169 (synopsis "Non-validating XML parser for Common Lisp")
12170 (description "Xmls is a self-contained, easily embedded parser that
12171 recognizes a useful subset of the XML spec. It provides a simple mapping from
12172 XML to Lisp structures or s-expressions and back.")
12173 (license license:bsd-2))))
12174
12175 (define-public cl-xmls
12176 (sbcl-package->cl-source-package sbcl-xmls))
12177
12178 (define-public ecl-xmls
12179 (sbcl-package->ecl-package sbcl-xmls))
12180
12181 (define-public sbcl-geco
12182 (package
12183 (name "sbcl-geco")
12184 (version "2.1.1")
12185 (source
12186 (origin
12187 (method git-fetch)
12188 (uri (git-reference
12189 (url "https://github.com/gpwwjr/GECO")
12190 (commit (string-append "v" version))))
12191 (file-name (git-file-name "geco" version))
12192 (sha256
12193 (base32 "1rc8a4mk40hjx5qy980hjylv6xxqdbq38hg8c4w30y93abfd519s"))))
12194 (build-system asdf-build-system/sbcl)
12195 (home-page "http://hiwaay.net/~gpw/geco/geco.html")
12196 (synopsis "Genetic algorithm toolkit for Common Lisp")
12197 (description
12198 "GECO (Genetic Evolution through Combination of Objects) is an extensible,
12199 object-oriented framework for prototyping genetic algorithms in Common Lisp.")
12200 (license license:lgpl2.1+)))
12201
12202 (define-public cl-geco
12203 (sbcl-package->cl-source-package sbcl-geco))
12204
12205 (define-public ecl-geco
12206 (sbcl-package->ecl-package sbcl-geco))
12207
12208 (define-public sbcl-html-entities
12209 (let ((commit "4af018048e891f41d77e7d680ed3aeb639e1eedb"))
12210 (package
12211 (name "sbcl-html-entities")
12212 (version (git-version "0.02" "1" commit))
12213 (source
12214 (origin
12215 (method git-fetch)
12216 (uri (git-reference
12217 (url "https://github.com/BnMcGn/html-entities/")
12218 (commit commit)))
12219 (file-name (git-file-name name version))
12220 (sha256
12221 (base32 "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"))))
12222 (build-system asdf-build-system/sbcl)
12223 (inputs
12224 `(("ppcre" ,sbcl-cl-ppcre)))
12225 (native-inputs
12226 `(("fiveam" ,sbcl-fiveam)))
12227 (home-page "https://github.com/BnMcGn/html-entities/")
12228 (synopsis "Encode and decode entities in HTML with Common Lisp")
12229 (description "Html-entities is a Common Lisp library that lets you
12230 encode and decode entities in HTML.")
12231 (license license:expat))))
12232
12233 (define-public cl-html-entities
12234 (sbcl-package->cl-source-package sbcl-html-entities))
12235
12236 (define-public ecl-html-entities
12237 (sbcl-package->ecl-package sbcl-html-entities))
12238
12239 (define-public sbcl-quicksearch
12240 (let ((commit "fb02ecf7c876ec580ab18c7d2c8c7814c06af599"))
12241 (package
12242 (name "sbcl-quicksearch")
12243 (version (git-version "0.01.04" "1" commit))
12244 (source
12245 (origin
12246 (method git-fetch)
12247 (uri (git-reference
12248 (url "https://github.com/tkych/quicksearch/")
12249 (commit commit)))
12250 (file-name (git-file-name name version))
12251 (sha256
12252 (base32 "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps"))))
12253 (build-system asdf-build-system/sbcl)
12254 (inputs
12255 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12256 ("iterate" ,sbcl-iterate)
12257 ("alexandria" ,sbcl-alexandria)
12258 ("anaphora" ,sbcl-anaphora)
12259 ("ppcre" ,sbcl-cl-ppcre)
12260 ("drakma" ,sbcl-drakma)
12261 ("html-entities" ,sbcl-html-entities)
12262 ("yason" ,sbcl-yason)
12263 ("flexi-streams" ,sbcl-flexi-streams)
12264 ("do-urlencode" ,sbcl-do-urlencode)))
12265 (home-page "https://github.com/tkych/quicksearch/")
12266 (synopsis "Search Engine Interface for Common Lisp packages")
12267 (description "Quicksearch is a search-engine-interface for Common Lisp.
12268 The goal of Quicksearch is to find the Common Lisp library quickly. For
12269 example, if you will find the library about json, just type @code{(qs:?
12270 'json)} at REPL.
12271
12272 The function @code{quicksearch} searches for Common Lisp projects in
12273 Quicklisp, Cliki, GitHub and BitBucket, then outputs results in REPL. The
12274 function @code{?} is abbreviation wrapper for @code{quicksearch}.")
12275 (license license:expat))))
12276
12277 (define-public cl-quicksearch
12278 (sbcl-package->cl-source-package sbcl-quicksearch))
12279
12280 (define-public ecl-quicksearch
12281 (sbcl-package->ecl-package sbcl-quicksearch))
12282
12283 (define-public sbcl-agutil
12284 (let ((commit "df188d754d472da9faa1601a48f1f37bb7b34d68"))
12285 (package
12286 (name "sbcl-agutil")
12287 (version (git-version "0.0.1" "1" commit))
12288 (source
12289 (origin
12290 (method git-fetch)
12291 (uri (git-reference
12292 (url "https://github.com/alex-gutev/agutil/")
12293 (commit commit)))
12294 (file-name (git-file-name name version))
12295 (sha256
12296 (base32 "1xpnyzksk2xld64b6lw6rw0gn5zxlb77jwna59sd4yl7kxhxlfpf"))))
12297 (build-system asdf-build-system/sbcl)
12298 (inputs
12299 `(("alexandria" ,sbcl-alexandria)
12300 ("trivia" ,sbcl-trivia)))
12301 (home-page "https://github.com/alex-gutev/agutil/")
12302 (synopsis "Collection of Common Lisp utilities")
12303 (description "A collection of Common Lisp utility functions and macros
12304 mostly not found in other utility packages.")
12305 (license license:expat))))
12306
12307 (define-public cl-agutil
12308 (sbcl-package->cl-source-package sbcl-agutil))
12309
12310 (define-public ecl-agutil
12311 (sbcl-package->ecl-package sbcl-agutil))
12312
12313 (define-public sbcl-custom-hash-table
12314 (let ((commit "f26983133940f5edf826ebbc8077acc04816ddfa"))
12315 (package
12316 (name "sbcl-custom-hash-table")
12317 (version (git-version "0.3" "1" commit))
12318 (source
12319 (origin
12320 (method git-fetch)
12321 (uri (git-reference
12322 (url "https://github.com/metawilm/cl-custom-hash-table")
12323 (commit commit)))
12324 (file-name (git-file-name name version))
12325 (sha256
12326 (base32 "1k4mvrpbqqds2fwjxp1bxmrfmr8ch4dkwhnkbw559knbqshvrlj5"))))
12327 (build-system asdf-build-system/sbcl)
12328 (arguments
12329 '(#:asd-files '("cl-custom-hash-table.asd")
12330 #:asd-systems '("cl-custom-hash-table")))
12331 (home-page "https://github.com/metawilm/cl-custom-hash-table")
12332 (synopsis "Custom hash tables for Common Lisp")
12333 (description "This library allows creation of hash tables with arbitrary
12334 @code{test}/@code{hash} functions, in addition to the @code{test} functions
12335 allowed by the standard (@code{EQ}, @code{EQL}, @code{EQUAL} and
12336 @code{EQUALP}), even in implementations that don't support this functionality
12337 directly.")
12338 (license license:expat))))
12339
12340 (define-public cl-custom-hash-table
12341 (sbcl-package->cl-source-package sbcl-custom-hash-table))
12342
12343 (define-public ecl-custom-hash-table
12344 (sbcl-package->ecl-package sbcl-custom-hash-table))
12345
12346 (define-public sbcl-collectors
12347 (let ((commit "13acef25d8422d1d82e067b1861e513587c166ee"))
12348 (package
12349 (name "sbcl-collectors")
12350 (version (git-version "0.1" "1" commit))
12351 (source
12352 (origin
12353 (method git-fetch)
12354 (uri (git-reference
12355 (url "https://github.com/AccelerationNet/collectors")
12356 (commit commit)))
12357 (file-name (git-file-name name version))
12358 (sha256
12359 (base32 "1si68n1j6rpns8jw6ksqjpb937pdl30v7xza8rld7j5vh0jhy2yi"))))
12360 (build-system asdf-build-system/sbcl)
12361 (inputs
12362 `(("alexandria" ,sbcl-alexandria)
12363 ("closer-mop" ,sbcl-closer-mop)
12364 ("symbol-munger" ,sbcl-symbol-munger)))
12365 (native-inputs
12366 `(("lisp-unit2" ,sbcl-lisp-unit2)))
12367 (home-page "https://github.com/AccelerationNet/collectors/")
12368 (synopsis "Common lisp library providing collector macros")
12369 (description "A small collection of common lisp macros to make
12370 collecting values easier.")
12371 (license license:bsd-3))))
12372
12373 (define-public cl-collectors
12374 (sbcl-package->cl-source-package sbcl-collectors))
12375
12376 (define-public ecl-collectors
12377 (sbcl-package->ecl-package sbcl-collectors))
12378
12379 (define-public sbcl-cl-environments
12380 (let ((commit "0b22154c5afefef23d1eba9a4fae11d73580ef41")) ; No version in 2 years.
12381 (package
12382 (name "sbcl-cl-environments")
12383 (version (git-version "0.2.3" "1" commit))
12384 (source
12385 (origin
12386 (method git-fetch)
12387 (uri (git-reference
12388 (url "https://github.com/alex-gutev/cl-environments")
12389 (commit commit)))
12390 (file-name (git-file-name name version))
12391 (sha256
12392 (base32
12393 "18r3wfarr7lgn78m6c66r0r9aazirv07gy7xgvqkl9pmrz1bc47m"))))
12394 (build-system asdf-build-system/sbcl)
12395 (inputs
12396 `(("alexandria" ,sbcl-alexandria)
12397 ("anaphora" ,sbcl-anaphora)
12398 ("collectors" ,sbcl-collectors)
12399 ("optima" ,sbcl-optima)))
12400 (native-inputs
12401 `(("prove" ,sbcl-prove)))
12402 (home-page "https://github.com/alex-gutev/cl-environments")
12403 (synopsis "Implements the Common Lisp standard environment access API")
12404 (description "This library provides a uniform API, as specified in Common
12405 Lisp the Language 2, for accessing information about variable and function
12406 bindings from implementation-defined lexical environment objects. All major
12407 Common Lisp implementations are supported, even those which don't support the
12408 CLTL2 environment access API.")
12409 (license license:expat))))
12410
12411 (define-public cl-environments
12412 (sbcl-package->cl-source-package sbcl-cl-environments))
12413
12414 (define-public ecl-environments
12415 (sbcl-package->ecl-package sbcl-cl-environments))
12416
12417 (define-public sbcl-static-dispatch
12418 (let ((commit "6243afcd152854c52ba33daef7394367b657d9c6")
12419 (revision "1"))
12420 (package
12421 (name "sbcl-static-dispatch")
12422 (version (git-version "0.3" revision commit))
12423 (source
12424 (origin
12425 (method git-fetch)
12426 (uri (git-reference
12427 (url "https://github.com/alex-gutev/static-dispatch")
12428 (commit commit)))
12429 (file-name (git-file-name "static-dispatch" version))
12430 (sha256
12431 (base32 "1lli9ar1xbnhkgb5d01rlw4pvfylg2arrw68np2c07fpkkafimg7"))))
12432 (build-system asdf-build-system/sbcl)
12433 (native-inputs
12434 `(("prove" ,sbcl-prove)))
12435 (inputs
12436 `(("agutil" ,sbcl-agutil)
12437 ("alexandria" ,sbcl-alexandria)
12438 ("anaphora" ,sbcl-anaphora)
12439 ("arrows" ,sbcl-arrows)
12440 ("cl-environments" ,sbcl-cl-environments)
12441 ("closer-mop" ,sbcl-closer-mop)
12442 ("iterate" ,sbcl-iterate)
12443 ("trivia" ,sbcl-trivia)))
12444 (home-page "https://github.com/alex-gutev/static-dispatch")
12445 (synopsis "Static generic function dispatch for Common Lisp")
12446 (description "Static dispatch is a Common Lisp library, inspired by
12447 @code{inlined-generic-function}, which allows standard Common Lisp generic
12448 function dispatch to be performed statically (at compile time) rather than
12449 dynamically (runtime). This is similar to what is known as \"overloading\" in
12450 languages such as C++ and Java.
12451
12452 The purpose of static dispatch is to provide an optimization in cases where
12453 the usual dynamic dispatch is too slow, and the dynamic features of generic
12454 functions, such as adding/removing methods at runtime are not required. An
12455 example of such a case is a generic equality comparison function. Currently
12456 generic functions are considered far too slow to implement generic arithmetic
12457 and comparison operations when used heavily in numeric code.")
12458 (license license:expat))))
12459
12460 (define-public cl-static-dispatch
12461 (sbcl-package->cl-source-package sbcl-static-dispatch))
12462
12463 (define-public ecl-static-dispatch
12464 (sbcl-package->ecl-package sbcl-static-dispatch))
12465
12466 (define-public sbcl-generic-cl
12467 ;; Latest commit includes a necessary fix for our Guix build.
12468 (let ((commit "8e5a81487ee3c13fe5ffdc8bdda161d476639535"))
12469 (package
12470 (name "sbcl-generic-cl")
12471 (version (git-version "0.7.1" "1" commit))
12472 (source
12473 (origin
12474 (method git-fetch)
12475 (uri (git-reference
12476 (url "https://github.com/alex-gutev/generic-cl")
12477 (commit commit)))
12478 (file-name (git-file-name name version))
12479 (sha256
12480 (base32
12481 "11w0g79s4wmc78vmfng437rmsgnp5qn246zcyr540fp5nw0ad6ix"))))
12482 (build-system asdf-build-system/sbcl)
12483 (inputs
12484 `(("agutil" ,sbcl-agutil)
12485 ("alexandria" ,sbcl-alexandria)
12486 ("anaphora" ,sbcl-anaphora)
12487 ("arrows" ,sbcl-arrows)
12488 ("cl-custom-hash-table" ,sbcl-custom-hash-table)
12489 ("static-dispatch" ,sbcl-static-dispatch)
12490 ("trivia" ,sbcl-trivia)))
12491 (native-inputs
12492 `(("prove" ,sbcl-prove)))
12493 (arguments
12494 ;; Tests fail because SBCL head size is not high enough.
12495 ;; https://github.com/alex-gutev/generic-cl/issues/6
12496 `(#:tests? #f))
12497 (home-page "https://alex-gutev.github.io/generic-cl/")
12498 (synopsis "Generic function interface to standard Common Lisp functions")
12499 (description "@code{generic-cl} provides a generic function wrapper over
12500 various functions in the Common Lisp standard, such as equality predicates and
12501 sequence operations. The goal of this wrapper is to provide a standard
12502 interface to common operations, such as testing for the equality of two
12503 objects, which is extensible to user-defined types.")
12504 (license license:expat))))
12505
12506 (define-public cl-generic-cl
12507 (sbcl-package->cl-source-package sbcl-generic-cl))
12508
12509 (define-public ecl-generic-cl
12510 (sbcl-package->ecl-package sbcl-generic-cl))
12511
12512 (define-public sbcl-defpackage-plus
12513 (let ((revision "0")
12514 (commit "5492e27e0bdb7b75fa5177ea4388519dc7a75f11"))
12515 (package
12516 (name "sbcl-defpackage-plus")
12517 (version (git-version "1.0" revision commit))
12518 (source
12519 (origin
12520 (method git-fetch)
12521 (uri (git-reference
12522 (url "https://github.com/rpav/defpackage-plus")
12523 (commit commit)))
12524 (file-name (git-file-name name version))
12525 (sha256
12526 (base32 "0lzljvf343xb6mlh6lni2i27hpm5qd376522mk6hr2pa20vd6rdq"))))
12527 (build-system asdf-build-system/sbcl)
12528 (inputs
12529 `(("alexandria" ,sbcl-alexandria)))
12530 (home-page "https://github.com/rpav/defpackage-plus")
12531 (synopsis "Extensible @code{DEFPACKAGE} variant with version support")
12532 (description
12533 "@code{DEFPACKAGE-PLUS} is an extensible @code{DEFPACKAGE} variant with
12534 predictable cross-platform behavior and some utilities useful for versioning.")
12535 (license license:bsd-2))))
12536
12537 (define-public cl-defpackage-plus
12538 (sbcl-package->cl-source-package sbcl-defpackage-plus))
12539
12540 (define-public ecl-defpackage-plus
12541 (sbcl-package->ecl-package sbcl-defpackage-plus))
12542
12543 (define-public sbcl-deploy
12544 (let ((commit "9b20e64fe924b9e31832304d87a3a72c383dc6d8")
12545 (revision "2"))
12546 (package
12547 (name "sbcl-deploy")
12548 (version (git-version "1.0.0" revision commit))
12549 (source
12550 (origin
12551 (method git-fetch)
12552 (uri (git-reference
12553 (url "https://github.com/Shinmera/deploy")
12554 (commit commit)))
12555 (file-name (git-file-name "deploy" version))
12556 (sha256
12557 (base32 "07pfkibaridihg8lbq2czwa4iqifqk24n6rx7bfnv7i49p1ppja1"))))
12558 (build-system asdf-build-system/sbcl)
12559 (arguments
12560 `(#:test-asd-file "deploy-test.asd"
12561 #:asd-files '("deploy.asd"
12562 "deploy-test.asd")))
12563 (native-inputs
12564 `(("cl-mpg123" ,sbcl-cl-mpg123)
12565 ("cl-out123" ,sbcl-cl-out123)))
12566 (inputs
12567 `(("cffi" ,sbcl-cffi)
12568 ("documentation-utils" ,sbcl-documentation-utils)
12569 ("trivial-features" ,sbcl-trivial-features)))
12570 (home-page "https://shinmera.github.io/deploy/")
12571 (synopsis "Deployment tools for standalone Common Lisp application")
12572 (description
12573 "This is a system to help you easily and quickly deploy standalone
12574 common lisp applications as binaries. Specifically it is geared towards
12575 applications with foreign library dependencies that run some kind of GUI.")
12576 (license license:artistic2.0))))
12577
12578 (define-public cl-deploy
12579 (sbcl-package->cl-source-package sbcl-deploy))
12580
12581 (define-public ecl-deploy
12582 (sbcl-package->ecl-package sbcl-deploy))
12583
12584 (define-public sbcl-deeds
12585 ;; taged branch is outdated
12586 (let ((revision "1")
12587 (commit "f5df54eac79b58a34030e0eb8acf3952c788410d"))
12588 (package
12589 (name "sbcl-deeds")
12590 (version (git-version "1.1.1" revision commit))
12591 (source
12592 (origin
12593 (method git-fetch)
12594 (uri (git-reference
12595 (url "https://github.com/Shinmera/deeds")
12596 (commit commit)))
12597 (file-name (git-file-name name version))
12598 (sha256
12599 (base32 "062cnb2dwli6pw3zvv46jfxyxdzcbzwsck5pa6nw03qf1j1hyg3k"))))
12600 (build-system asdf-build-system/sbcl)
12601 (inputs
12602 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12603 ("closer-mop" ,sbcl-closer-mop)
12604 ("form-fiddle" ,sbcl-form-fiddle)
12605 ("lambda-fiddle" ,sbcl-lambda-fiddle)))
12606 (home-page "https://github.com/Shinmera/deeds")
12607 (synopsis "Extensible Event Delivery System")
12608 (description
12609 "@code{deeds} allows for efficient event delivery to multiple handlers
12610 with a complex event filtering system.")
12611 (license license:zlib))))
12612
12613 (define-public cl-deeds
12614 (sbcl-package->cl-source-package sbcl-deeds))
12615
12616 (define-public ecl-deeds
12617 (sbcl-package->ecl-package sbcl-deeds))
12618
12619 (define-public sbcl-make-hash
12620 ;; no tagged branch
12621 (let ((revision "1")
12622 (commit "ae0909cd8e697520a1085fac6f54ac2b448ebd21"))
12623 (package
12624 (name "sbcl-make-hash")
12625 (version (git-version "1.0.2" revision commit))
12626 (source
12627 (origin
12628 (method git-fetch)
12629 (uri (git-reference
12630 (url "https://github.com/genovese/make-hash")
12631 (commit commit)))
12632 (file-name (git-file-name name version))
12633 (sha256
12634 (base32 "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8"))))
12635 (build-system asdf-build-system/sbcl)
12636 (home-page "https://github.com/genovese/make-hash")
12637 (synopsis "Common Lisp package for flexible hash table creation")
12638 (description
12639 "This is a Common Lisp package for hash table creation with flexible,
12640 extensible initializers.")
12641 (license license:bsd-3))))
12642
12643 (define-public cl-make-hash
12644 (sbcl-package->cl-source-package sbcl-make-hash))
12645
12646 (define-public ecl-make-hash
12647 (sbcl-package->ecl-package sbcl-make-hash))
12648
12649 (define-public sbcl-claw-support
12650 (package
12651 (name "sbcl-claw-support")
12652 (version "1.0.0")
12653 (source
12654 (origin
12655 (method git-fetch)
12656 (uri (git-reference
12657 (url "https://github.com/borodust/claw-support")
12658 (commit "9a15c8bed04585f45e6a461bcda1b475144dbd0b")))
12659 (file-name (git-file-name name version))
12660 (sha256
12661 (base32 "1my2ka7h72ipx5n3b465g6kjkasrhsvhqlijwcg6dhlzs5yygl23"))))
12662 (build-system asdf-build-system/sbcl)
12663 (home-page "https://github.com/borodust/claw-support")
12664 (synopsis "Support routines for claw")
12665 (description
12666 "This package provides support routines for the @code{claw} Common Lisp
12667 package.")
12668 (license license:expat)))
12669
12670 (define-public cl-claw-support
12671 (sbcl-package->cl-source-package sbcl-claw-support))
12672
12673 (define-public ecl-claw-support
12674 (sbcl-package->ecl-package sbcl-claw-support))
12675
12676 (define-public sbcl-claw
12677 (let ((revision "0")
12678 (commit "3cd4a96fca95eb9e8d5d069426694669f81b2250"))
12679 (package
12680 (name "sbcl-claw")
12681 (version (git-version "1.0" revision commit))
12682 (source
12683 (origin
12684 (method git-fetch)
12685 (uri (git-reference
12686 (url "https://github.com/borodust/claw")
12687 (commit commit)))
12688 (file-name (git-file-name "claw" version))
12689 (sha256
12690 (base32 "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d"))))
12691 (build-system asdf-build-system/sbcl)
12692 (inputs
12693 `(("alexandria" ,sbcl-alexandria)
12694 ("cffi" ,sbcl-cffi)
12695 ("cl-json" ,sbcl-cl-json)
12696 ("cl-ppcre" ,sbcl-cl-ppcre)
12697 ("claw-support" ,sbcl-claw-support)
12698 ("local-time" ,sbcl-local-time)
12699 ("trivial-features" ,sbcl-trivial-features)))
12700 (home-page "https://github.com/borodust/claw")
12701 (synopsis "Autowrapper for Common Lisp")
12702 (description
12703 "This is a Common Lisp autowrapping facility for quickly creating clean
12704 and lean bindings to C libraries.")
12705 (license license:bsd-2))))
12706
12707 (define-public cl-claw
12708 (sbcl-package->cl-source-package sbcl-claw))
12709
12710 (define-public ecl-claw
12711 (sbcl-package->ecl-package sbcl-claw))
12712
12713 (define-public sbcl-claw-utils
12714 (let ((revision "0")
12715 (commit "efe25016501973dc369f067a64c7d225802bc56f"))
12716 (package
12717 (name "sbcl-claw-utils")
12718 ;; version is not specified
12719 (version (git-version "0.0.0" revision commit))
12720 (source
12721 (origin
12722 (method git-fetch)
12723 (uri (git-reference
12724 (url "https://github.com/borodust/claw-utils")
12725 (commit commit)))
12726 (file-name (git-file-name "claw-utils" version))
12727 (sha256
12728 (base32 "01df3kyf2qs3czi332dnz2s35x2j0fq46vgmsw7wjrrvnqc22mk5"))))
12729 (build-system asdf-build-system/sbcl)
12730 (inputs
12731 `(("alexandria" ,sbcl-alexandria)
12732 ("cffi" ,sbcl-cffi)
12733 ("claw" ,sbcl-claw)))
12734 (home-page "https://github.com/borodust/claw-utils")
12735 (synopsis "Utilities for easier autowrapping")
12736 (description
12737 "This Common Lisp library contains various handy utilties to help
12738 autowrapping with @code{claw}.")
12739 (license license:expat))))
12740
12741 (define-public cl-claw-utils
12742 (sbcl-package->cl-source-package sbcl-claw-utils))
12743
12744 (define-public ecl-claw-utils
12745 (sbcl-package->ecl-package sbcl-claw-utils))
12746
12747 (define-public sbcl-array-operations
12748 (let ((commit "75cbc3b1adb2e3ce2109489753d0f290b071e81b")
12749 (revision "0"))
12750 (package
12751 (name "sbcl-array-operations")
12752 (version (git-version "0.0.0" revision commit))
12753 (source
12754 (origin
12755 (method git-fetch)
12756 (uri (git-reference
12757 (url "https://github.com/bendudson/array-operations")
12758 (commit commit)))
12759 (file-name (git-file-name "array-operations" version))
12760 (sha256
12761 (base32 "0ip49hhq32w80qsc7jmspyda5r2rsszvw0mk2r3341cld78sz9ya"))))
12762 (build-system asdf-build-system/sbcl)
12763 (native-inputs
12764 `(("alexandria" ,sbcl-alexandria)
12765 ("clunit2" ,sbcl-clunit2)))
12766 (inputs
12767 `(("let-plus" ,sbcl-let-plus)))
12768 (synopsis "Simple array operations library for Common Lisp")
12769 (description
12770 "This library is a collection of functions and macros for manipulating
12771 Common Lisp arrays and performing numerical calculations with them.")
12772 (home-page "https://github.com/bendudson/array-operations")
12773 (license license:expat))))
12774
12775 (define-public cl-array-operations
12776 (sbcl-package->cl-source-package sbcl-array-operations))
12777
12778 (define-public ecl-array-operations
12779 (sbcl-package->ecl-package sbcl-array-operations))
12780
12781 (define-public sbcl-clml
12782 (let ((commit "95505b54c8c7b4b27f500c3be97fa5732f4b51a8")
12783 (revision "0"))
12784 (package
12785 (name "sbcl-clml")
12786 (version (git-version "0.0.0" revision commit))
12787 (source
12788 (origin
12789 (method git-fetch)
12790 (uri (git-reference
12791 (url "https://github.com/mmaul/clml")
12792 (commit commit)))
12793 (file-name (git-file-name "clml" version))
12794 (sha256
12795 (base32 "006pii59nmpc61n7p7h8ha5vjg6x0dya327i58z0rnvxs249h345"))
12796 ;; TODO: Remove this when the patch has been merged upstream.
12797 (patches (search-patches "sbcl-clml-fix-types.patch"))))
12798 (build-system asdf-build-system/sbcl)
12799 (inputs
12800 `(("alexandia" ,sbcl-alexandria)
12801 ("array-operations" ,sbcl-array-operations)
12802 ("cl-fad" ,sbcl-cl-fad)
12803 ("cl-ppcre" ,sbcl-cl-ppcre)
12804 ("drakma" ,sbcl-drakma)
12805 ("introspect-environment" ,sbcl-introspect-environment)
12806 ("iterate" ,sbcl-iterate)
12807 ("lparallel" ,sbcl-lparallel)
12808 ("parse-number" ,sbcl-parse-number)
12809 ("split-sequence" ,sbcl-split-sequence)
12810 ("trivial-garbage" ,sbcl-trivial-garbage)))
12811 (synopsis "Common Lisp machine learning library")
12812 (description
12813 "CLML (Common Lisp Machine Learning) is a high performance and large
12814 scale statistical machine learning package")
12815 (home-page "https://mmaul.github.io/clml/")
12816 (license license:llgpl))))
12817
12818 (define-public cl-clml
12819 (sbcl-package->cl-source-package sbcl-clml))
12820
12821 (define-public sbcl-utm-ups
12822 (let ((commit "780f1d8ab6290ad2be0f40e2cddc2535fa6fe979")
12823 (revision "0"))
12824 (package
12825 (name "sbcl-utm-ups")
12826 (version (git-version "1.0" revision commit))
12827 (source
12828 (origin
12829 (method git-fetch)
12830 (uri (git-reference
12831 (url "https://github.com/glv2/utm-ups")
12832 (commit commit)))
12833 (file-name (git-file-name "utm-ups" version))
12834 (sha256
12835 (base32 "0l3kr2m56skf5cx3kkkdcis7msmidcsixx9fqjapkcjsj8x67aqq"))))
12836 (build-system asdf-build-system/sbcl)
12837 (native-inputs
12838 `(("fiveam" ,sbcl-fiveam)))
12839 (synopsis
12840 "Convert coordinates between latitude/longitude and UTM or UPS")
12841 (description
12842 "This a Common Lisp library to convert geographic coordinates between
12843 latitude/longitude and UTM (Universal Transverse Mercator) or UPS (Universal
12844 Polar Stereographic).")
12845 (home-page "https://github.com/glv2/utm-ups")
12846 (license license:gpl3+))))
12847
12848 (define-public cl-utm-ups
12849 (sbcl-package->cl-source-package sbcl-utm-ups))
12850
12851 (define-public ecl-utm-ups
12852 (sbcl-package->ecl-package sbcl-utm-ups))
12853
12854 (define-public sbcl-mgrs
12855 (let ((commit "00455460407b7e5509d1be3da09bf6152956761f")
12856 (revision "0"))
12857 (package
12858 (name "sbcl-mgrs")
12859 (version (git-version "1.0" revision commit))
12860 (source
12861 (origin
12862 (method git-fetch)
12863 (uri (git-reference
12864 (url "https://github.com/glv2/mgrs")
12865 (commit commit)))
12866 (file-name (git-file-name "mgrs" version))
12867 (sha256
12868 (base32 "0ckvn4hg3wwivzavhfashb6fap4a1q10l8krhbng8bdb54ac10sz"))))
12869 (build-system asdf-build-system/sbcl)
12870 (native-inputs
12871 `(("fiveam" ,sbcl-fiveam)))
12872 (inputs
12873 `(("utm-ups" ,sbcl-utm-ups)))
12874 (synopsis
12875 "Convert coordinates between latitude/longitude and MGRS")
12876 (description
12877 "This a Common Lisp library to convert geographic coordinates between
12878 latitude/longitude and MGRS.")
12879 (home-page "https://github.com/glv2/mgrs")
12880 (license license:gpl3+))))
12881
12882 (define-public cl-mgrs
12883 (sbcl-package->cl-source-package sbcl-mgrs))
12884
12885 (define-public ecl-mgrs
12886 (sbcl-package->ecl-package sbcl-mgrs))
12887
12888 (define-public sbcl-maidenhead
12889 (let ((commit "b756d235c27b5d6798867aa240318af1a8f35d6d")
12890 (revision "0"))
12891 (package
12892 (name "sbcl-maidenhead")
12893 (version (git-version "1.0" revision commit))
12894 (source
12895 (origin
12896 (method git-fetch)
12897 (uri (git-reference
12898 (url "https://github.com/glv2/maidenhead")
12899 (commit commit)))
12900 (file-name (git-file-name "maidenhead" version))
12901 (sha256
12902 (base32 "02p990zprhjvifmsfk8yh3frvz6xyw26ikzxvzglqdixbal36nr3"))))
12903 (build-system asdf-build-system/sbcl)
12904 (native-inputs
12905 `(("fiveam" ,sbcl-fiveam)))
12906 (synopsis
12907 "Convert coordinates between latitude/longitude and Maidenhead")
12908 (description
12909 "This a Common Lisp library to convert geographic coordinates between
12910 latitude/longitude and Maidenhead locator system.")
12911 (home-page "https://github.com/glv2/maidenhead")
12912 (license license:gpl3+))))
12913
12914 (define-public cl-maidenhead
12915 (sbcl-package->cl-source-package sbcl-maidenhead))
12916
12917 (define-public ecl-maidenhead
12918 (sbcl-package->ecl-package sbcl-maidenhead))
12919
12920 (define-public sbcl-olc
12921 (let ((commit "517e27fa57d9a119b00a29c4b6b31e553deff309")
12922 (revision "0"))
12923 (package
12924 (name "sbcl-olc")
12925 (version (git-version "1.0" revision commit))
12926 (source
12927 (origin
12928 (method git-fetch)
12929 (uri (git-reference
12930 (url "https://github.com/glv2/olc")
12931 (commit commit)))
12932 (file-name (git-file-name "olc" version))
12933 (sha256
12934 (base32 "1lnfhp6z6kc8l605zp4siyjiw74y1h4bdq3jfizi084v505wxhgr"))))
12935 (build-system asdf-build-system/sbcl)
12936 (native-inputs
12937 `(("fiveam" ,sbcl-fiveam)))
12938 (synopsis
12939 "Convert coordinates between latitude/longitude and Open Location Code")
12940 (description
12941 "This a Common Lisp library to convert geographic coordinates between
12942 latitude/longitude and Open Location Code.")
12943 (home-page "https://github.com/glv2/olc")
12944 (license license:gpl3+))))
12945
12946 (define-public cl-olc
12947 (sbcl-package->cl-source-package sbcl-olc))
12948
12949 (define-public ecl-olc
12950 (sbcl-package->ecl-package sbcl-olc))
12951
12952 (define-public sbcl-regex
12953 (let ((commit "fbc9a9f313b9edc1788f33d4b23a29151635ae22"))
12954 (package
12955 (name "sbcl-regex")
12956 (version (git-version "1" "1" commit))
12957 (source
12958 (origin
12959 (method git-fetch)
12960 (uri (git-reference
12961 (url "https://github.com/michaelw/regex/")
12962 (commit commit)))
12963 (file-name (git-file-name name version))
12964 (sha256
12965 (base32 "0wq5wlafrxv13wg28hg5b10sc48b88swsvznpy2zg7x37m4nmm6a"))))
12966 (build-system asdf-build-system/sbcl)
12967 (home-page "https://github.com/michaelw/regex/")
12968 (synopsis "Regular expression engine for Common Lisp")
12969 (description
12970 "This Common Lisp package provides a regular expression engine.")
12971 (license license:bsd-2))))
12972
12973 (define-public cl-regex
12974 (sbcl-package->cl-source-package sbcl-regex))
12975
12976 (define-public ecl-regex
12977 (sbcl-package->ecl-package sbcl-regex))
12978
12979 (define-public sbcl-clawk
12980 (let ((commit "3a91634df686417114044a98c063cbe76bfac7b6"))
12981 (package
12982 (name "sbcl-clawk")
12983 (version (git-version "4" "1" commit))
12984 (source
12985 (origin
12986 (method git-fetch)
12987 (uri (git-reference
12988 (url "https://github.com/sharplispers/clawk")
12989 (commit commit)))
12990 (file-name (git-file-name name version))
12991 (sha256
12992 (base32 "1ph3xjqilvinvgr9q3w47zxqyz1sqnq030nlx7kgkkv8j3bnqk7a"))))
12993 (build-system asdf-build-system/sbcl)
12994 (inputs
12995 `(("sbcl-regex" ,sbcl-regex)))
12996 (home-page "https://github.com/sharplispers/clawk")
12997 (synopsis "Common Lisp AWK")
12998 (description
12999 "CLAWK is an AWK implementation embedded into Common Lisp.")
13000 (license license:bsd-2))))
13001
13002 (define-public cl-clawk
13003 (sbcl-package->cl-source-package sbcl-clawk))
13004
13005 (define-public ecl-clawk
13006 (sbcl-package->ecl-package sbcl-clawk))
13007
13008 (define-public sbcl-check-it
13009 (let ((commit "b79c9103665be3976915b56b570038f03486e62f"))
13010 (package
13011 (name "sbcl-check-it")
13012 (version (git-version "0.1.0" "1" commit))
13013 (source
13014 (origin
13015 (method git-fetch)
13016 (uri (git-reference
13017 (url "https://github.com/DalekBaldwin/check-it/")
13018 (commit commit)))
13019 (file-name (git-file-name name version))
13020 (sha256
13021 (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"))))
13022 (build-system asdf-build-system/sbcl)
13023 (inputs
13024 `(("alexandria" ,sbcl-alexandria)
13025 ("closer-mop" ,sbcl-closer-mop)
13026 ("optima" ,sbcl-optima)))
13027 (native-inputs
13028 `(("stefil" ,sbcl-stefil)))
13029 (home-page "https://github.com/arclanguage/Clamp")
13030 (synopsis "Randomized specification-based testing for Common Lisp")
13031 (description
13032 "This is a randomized property-based testing library for Common Lisp.
13033 Rather than being a full-fledged general test framework in its own right, it's
13034 designed to embed randomized tests in whatever framework you like.")
13035 (license license:llgpl))))
13036
13037 (define-public cl-check-it
13038 (sbcl-package->cl-source-package sbcl-check-it))
13039
13040 (define-public ecl-check-it
13041 (sbcl-package->ecl-package sbcl-check-it))
13042
13043 (define-public sbcl-clamp
13044 (let ((commit "02b8f3953e5753cc61a719807c82f3795cd28fe1"))
13045 (package
13046 (name "sbcl-clamp")
13047 (version (git-version "0.3" "1" commit))
13048 (source
13049 (origin
13050 (method git-fetch)
13051 (uri (git-reference
13052 (url "https://github.com/arclanguage/Clamp")
13053 (commit commit)))
13054 (file-name (git-file-name name version))
13055 (sha256
13056 (base32 "0fdr9nqfmmpxm6hvjdxi1jkclya9xlnrw1yc3cn1m4ww3f50p31m"))))
13057 (build-system asdf-build-system/sbcl)
13058 (inputs
13059 `(("iterate" ,sbcl-iterate)
13060 ("cl-syntax" ,sbcl-cl-syntax)))
13061 (native-inputs
13062 `(("cl-unit" ,sbcl-clunit)
13063 ("check-it" ,sbcl-check-it)))
13064 (arguments
13065 `(#:phases
13066 (modify-phases %standard-phases
13067 (add-after 'unpack 'fix-build
13068 (lambda _
13069 (substitute* "clamp.asd"
13070 (("\\(:file \"read\" :depends-on \\(\"aliases\"\\)\\)")
13071 "(:file \"read\" :depends-on (\"aliases\" \"base\"))"))
13072 #t)))))
13073 (home-page "https://github.com/arclanguage/Clamp")
13074 (synopsis "Common Lisp with Arc macros and procedures")
13075 (description
13076 "Clamp is an attempt to bring the powerful, but verbose, language of
13077 Common Lisp up to the terseness of Arc.
13078
13079 There are two parts to Clamp. There is the core of Clamp, which implements
13080 the utilities of Arc that are easily converted from Arc to Common Lisp. The
13081 other part is the \"experimental\" part. It contains features of Arc that are
13082 not so easy to copy (ssyntax, argument destructuring, etc.).")
13083 (license license:artistic2.0))))
13084
13085 (define-public cl-clamp
13086 (sbcl-package->cl-source-package sbcl-clamp))
13087
13088 (define-public ecl-clamp
13089 (sbcl-package->ecl-package sbcl-clamp))
13090
13091 (define-public sbcl-trivial-shell
13092 (let ((commit "e02ec191b34b52deca5d1c4ee99d4fa13b8772e0"))
13093 (package
13094 (name "sbcl-trivial-shell")
13095 (version (git-version "0.2.0" "1" commit))
13096 (source
13097 (origin
13098 (method git-fetch)
13099 (uri (git-reference
13100 (url "https://github.com/gwkkwg/trivial-shell")
13101 (commit commit)))
13102 (file-name (git-file-name name version))
13103 (sha256
13104 (base32 "08mpkl5ij5sjfsyn8pq2kvsvpvyvr7ha1r8g1224fa667b8k2q85"))))
13105 (build-system asdf-build-system/sbcl)
13106 (native-inputs
13107 `(("lift" ,sbcl-lift)))
13108 (home-page "http://common-lisp.net/project/trivial-shell/")
13109 (synopsis "Common Lisp access to the shell")
13110 (description
13111 "A simple Common-Lisp interface to the underlying operating system.
13112 It's independent of the implementation and operating system.")
13113 (license license:expat))))
13114
13115 (define-public cl-trivial-shell
13116 (sbcl-package->cl-source-package sbcl-trivial-shell))
13117
13118 (define-public ecl-trivial-shell
13119 (sbcl-package->ecl-package sbcl-trivial-shell))
13120
13121 (define-public sbcl-clesh
13122 (let ((commit "44e96e04a72e5bc006dc4eb02ce8962348dd4a11"))
13123 (package
13124 (name "sbcl-clesh")
13125 (version (git-version "0.0.0" "1" commit))
13126 (source
13127 (origin
13128 (method git-fetch)
13129 (uri (git-reference
13130 (url "https://github.com/Neronus/Clesh")
13131 (commit commit)))
13132 (file-name (git-file-name name version))
13133 (sha256
13134 (base32 "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318"))))
13135 (build-system asdf-build-system/sbcl)
13136 (inputs
13137 `(("trivial-shell" ,sbcl-trivial-shell)
13138 ("named-readtables" ,sbcl-named-readtables)))
13139 (home-page "https://github.com/Neronus/Clesh")
13140 (synopsis "Embed shell code in Common Lisp")
13141 (description
13142 "This is a very short and simple program, written in Common Lisp, that
13143 extends Common Lisp to embed shell code in a manner similar to Perl's
13144 backtick. It has been forked from SHELISP.")
13145 (license license:bsd-2))))
13146
13147 (define-public cl-clesh
13148 (sbcl-package->cl-source-package sbcl-clesh))
13149
13150 (define-public ecl-clesh
13151 (sbcl-package->ecl-package sbcl-clesh))
13152
13153 (define-public sbcl-trivial-download
13154 (let ((commit "d2472061d86b1cf3d32f388daacd4e32a13af699"))
13155 (package
13156 (name "sbcl-trivial-download")
13157 (version (git-version "0.3" "1" commit))
13158 (source
13159 (origin
13160 (method git-fetch)
13161 (uri (git-reference
13162 (url "https://github.com/eudoxia0/trivial-download/")
13163 (commit commit)))
13164 (file-name (git-file-name name version))
13165 (sha256
13166 (base32 "06f46zr3gp3wlm2kgxna24qd2gpr1v89x9fynh1x5vrw6c6hqjcv"))))
13167 (build-system asdf-build-system/sbcl)
13168 (inputs
13169 `(("drakma" ,sbcl-drakma)))
13170 (home-page "https://github.com/eudoxia0/trivial-download/")
13171 (synopsis "Download files from Common Lisp")
13172 (description
13173 "@code{trivial-download} allows you to download files from the Internet
13174 from Common Lisp. It provides a progress bar.")
13175 (license license:bsd-2))))
13176
13177 (define-public cl-trivial-download
13178 (sbcl-package->cl-source-package sbcl-trivial-download))
13179
13180 (define-public ecl-trivial-download
13181 (sbcl-package->ecl-package sbcl-trivial-download))
13182
13183 (define-public sbcl-gtwiwtg
13184 (package
13185 (name "sbcl-gtwiwtg")
13186 (version "0.1.1")
13187 (source
13188 (origin
13189 (method git-fetch)
13190 (uri (git-reference
13191 (url "https://github.com/cbeo/gtwiwtg/")
13192 (commit version)))
13193 (file-name (git-file-name name version))
13194 (sha256
13195 (base32 "0lkraw0dwh4is4x5sp5rjrw6f93m0gr9849abrbi12s25ws7jbw4"))))
13196 (build-system asdf-build-system/sbcl)
13197 (native-inputs
13198 `(("osicat" ,sbcl-osicat)
13199 ("prove" ,sbcl-prove)))
13200 (home-page "https://github.com/cbeo/gtwiwtg/")
13201 (synopsis "Naive generators for Common Lisp")
13202 (description
13203 "The GTWIWTG library (Generators The Way I Want Them Generated --
13204 technically not generators, but iterators) is meant to be small, explorable,
13205 and understandable.")
13206 (license license:gpl3)))
13207
13208 (define-public cl-gtwiwtg
13209 (sbcl-package->cl-source-package sbcl-gtwiwtg))
13210
13211 (define-public ecl-gtwiwtg
13212 (sbcl-package->ecl-package sbcl-gtwiwtg))
13213
13214 (define-public sbcl-cl-progress-bar
13215 (let ((commit "9374170858663c8fe829e9fb5a29bd2cb48d95ae"))
13216 (package
13217 (name "sbcl-cl-progress-bar")
13218 (version (git-version "0.0.0" "1" commit))
13219 (source
13220 (origin
13221 (method git-fetch)
13222 (uri (git-reference
13223 (url "https://github.com/sirherrbatka/cl-progress-bar/")
13224 (commit commit)))
13225 (file-name (git-file-name name version))
13226 (sha256
13227 (base32 "1ldb4qhmx431n3lsq71ynwb9ybazbfqd55icjbhi06mj52ngndir"))))
13228 (build-system asdf-build-system/sbcl)
13229 (inputs
13230 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13231 ("documentation-utils-extensions" ,sbcl-documentation-utils-extensions)))
13232 (home-page "https://github.com/sirherrbatka/cl-progress-bar/")
13233 (synopsis "Progress bars in Common Lisp")
13234 (description
13235 "This library provides almost the same code as used inside Quicklisp
13236 for drawning progress bars")
13237 (license license:expat))))
13238
13239 (define-public cl-progress-bar
13240 (sbcl-package->cl-source-package sbcl-cl-progress-bar))
13241
13242 (define-public ecl-cl-progress-bar
13243 (sbcl-package->ecl-package sbcl-cl-progress-bar))
13244
13245 (define-public sbcl-repl-utilities
13246 (let ((commit "e0de9c92e774f77cab1a4cd92e2ac922ac3a807e"))
13247 (package
13248 (name "sbcl-repl-utilities")
13249 (version (git-version "0.0.0" "1" commit))
13250 (source
13251 (origin
13252 (method git-fetch)
13253 (uri (git-reference
13254 (url "https://github.com/m-n/repl-utilities/")
13255 (commit commit)))
13256 (file-name (git-file-name name version))
13257 (sha256
13258 (base32 "1r5icmw3ha5y77kvzqni3a9bcd66d9pz5mjsbw04xg3jk0d15cgz"))))
13259 (build-system asdf-build-system/sbcl)
13260 (home-page "https://github.com/m-n/repl-utilities")
13261 (synopsis "Ease common tasks at the Common Lisp REPL")
13262 (description
13263 "@code{repl-utilities} is a set of utilities which ease life at the
13264 REPL. It includes three sorts of features: introspective procedures,
13265 miscellaneous utility functions, and, pulling them together, methods to
13266 conveniently keep these symbols and optionally additional symbols available in
13267 whichever package you switch to.")
13268 (license license:bsd-2))))
13269
13270 (define-public cl-repl-utilities
13271 (sbcl-package->cl-source-package sbcl-repl-utilities))
13272
13273 (define-public ecl-repl-utilities
13274 (sbcl-package->ecl-package sbcl-repl-utilities))
13275
13276 (define-public sbcl-supertrace
13277 (let ((commit "66d22c3ff131ecd1c8048dfced1d62ed6024ecb0"))
13278 (package
13279 (name "sbcl-supertrace")
13280 (version (git-version "0.1.0" "1" commit))
13281 (source
13282 (origin
13283 (method git-fetch)
13284 (uri (git-reference
13285 (url "https://github.com/fukamachi/supertrace")
13286 (commit commit)))
13287 (file-name (git-file-name name version))
13288 (sha256
13289 (base32 "0n369n6b7y1m49biccnnr7svymjdsk8sksrkqrn3mj21vgv7s7bg"))))
13290 (build-system asdf-build-system/sbcl)
13291 (native-inputs
13292 `(("cffi-grovel" ,sbcl-cffi)
13293 ("rove" ,sbcl-rove)
13294 ("cl-ppcre" ,sbcl-cl-ppcre)
13295 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
13296 (inputs
13297 `(("cffi" ,sbcl-cffi)))
13298 (home-page "https://github.com/fukamachi/supertrace")
13299 (synopsis "Improved Common Lisp tracing for debugging and profiling")
13300 (description
13301 "Supertrace provides a superior Common Lisp @code{trace} functionality
13302 for debugging and profiling real world applications.")
13303 (license license:bsd-2))))
13304
13305 (define-public cl-supertrace
13306 (sbcl-package->cl-source-package sbcl-supertrace))
13307
13308 (define-public ecl-supertrace
13309 (sbcl-package->ecl-package sbcl-supertrace))
13310
13311 (define-public sbcl-trivial-benchmark
13312 (let ((commit "42d76733dd2e873471c6f1e27d39113293f7dd5c"))
13313 (package
13314 (name "sbcl-trivial-benchmark")
13315 (version (git-version "2.0.0" "1" commit))
13316 (source
13317 (origin
13318 (method git-fetch)
13319 (uri (git-reference
13320 (url "https://github.com/Shinmera/trivial-benchmark/")
13321 (commit commit)))
13322 (file-name (git-file-name name version))
13323 (sha256
13324 (base32 "0fbzqbpm2ixz85555krl36kbbbjyn699vdj6k383khi3g9y629fa"))))
13325 (build-system asdf-build-system/sbcl)
13326 (inputs
13327 `(("alexandria" ,sbcl-alexandria)))
13328 (home-page "http://shinmera.github.io/trivial-benchmark/")
13329 (synopsis "Easy to use benchmarking system for Common Lisp")
13330 (description
13331 "Trivial-Benchmark runs a block of code many times and outputs some
13332 statistical data for it. On SBCL this includes the data from @code{time}, for
13333 all other implementations just the @code{real-time} and @code{run-time} data.
13334 However, you can extend the system by adding your own @code{metrics} to it, or
13335 even by adding additional statistical @code{compute}ations. ")
13336 (license license:zlib))))
13337
13338 (define-public cl-trivial-benchmark
13339 (sbcl-package->cl-source-package sbcl-trivial-benchmark))
13340
13341 (define-public ecl-trivial-benchmark
13342 (sbcl-package->ecl-package sbcl-trivial-benchmark))
13343
13344 (define-public sbcl-glyphs
13345 (let ((commit "1ff5714e8c1dca327bc604dfe3e3d1f4b7755373"))
13346 (package
13347 (name "sbcl-glyphs")
13348 (version (git-version "0.0.0" "1" commit))
13349 (source
13350 (origin
13351 (method git-fetch)
13352 (uri (git-reference
13353 (url "https://github.com/ahungry/glyphs/")
13354 (commit commit)))
13355 (file-name (git-file-name name version))
13356 (sha256
13357 (base32 "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf"))))
13358 (build-system asdf-build-system/sbcl)
13359 (inputs
13360 `(("cl-ppcre" ,sbcl-cl-ppcre)
13361 ("parenscript" ,sbcl-parenscript)
13362 ("named-readtables" ,sbcl-named-readtables)))
13363 (home-page "https://github.com/ahungry/glyphs/")
13364 (synopsis "Reduce Common Lisp verbosity")
13365 (description
13366 "This library is a little experiment in reducing verbosity in Common
13367 Lisp, inspired by BODOL (@url{https://github.com/bodil/BODOL}).")
13368 (license license:gpl3))))
13369
13370 (define-public cl-glyphs
13371 (sbcl-package->cl-source-package sbcl-glyphs))
13372
13373 (define-public ecl-glyphs
13374 (sbcl-package->ecl-package sbcl-glyphs))
13375
13376 (define-public sbcl-zs3
13377 (package
13378 (name "sbcl-zs3")
13379 (version "1.3.3")
13380 (source
13381 (origin
13382 (method git-fetch)
13383 (uri
13384 (git-reference
13385 (url "https://github.com/xach/zs3")
13386 (commit (string-append "release-" version))))
13387 (file-name (git-file-name "zs3" version))
13388 (sha256
13389 (base32 "186v95wgsj2hkxdw2jl9x1w4fddjclp7arp0rrd9vf5ly8h8sbf3"))))
13390 (build-system asdf-build-system/sbcl)
13391 (inputs
13392 `(("drakma" ,sbcl-drakma)
13393 ("alexandria" ,sbcl-alexandria)
13394 ("cxml" ,sbcl-cxml)
13395 ("ironclad" ,sbcl-ironclad)
13396 ("puri" ,sbcl-puri)
13397 ("cl-base64" ,sbcl-cl-base64)))
13398 (synopsis "Work with Amazon S3 and Amazon CloudFront from Common Lisp")
13399 (description "This is ZS3, a library for working with Amazon's Simple Storage
13400 Service (S3) and CloudFront service from Common Lisp.")
13401 (home-page "https://github.com/xach/zs3")
13402 (license license:bsd-2)))
13403
13404 (define-public cl-zs3
13405 (sbcl-package->cl-source-package sbcl-zs3))
13406
13407 (define-public ecl-zs3
13408 (sbcl-package->ecl-package sbcl-zs3))
13409
13410 (define-public sbcl-simple-neural-network
13411 (package
13412 (name "sbcl-simple-neural-network")
13413 (version "3.1")
13414 (source
13415 (origin
13416 (method git-fetch)
13417 (uri (git-reference
13418 (url "https://github.com/glv2/simple-neural-network")
13419 (commit (string-append "v" version))))
13420 (file-name (git-file-name "simple-neural-network" version))
13421 (sha256
13422 (base32 "1jj1c90fr5clwka0jv32hv6xp1bkdlpa6x5jh19an13rhx8ll4zr"))))
13423 (build-system asdf-build-system/sbcl)
13424 (native-inputs
13425 `(("chipz" ,sbcl-chipz)
13426 ("fiveam" ,sbcl-fiveam)))
13427 (inputs
13428 `(("cl-store" ,sbcl-cl-store)
13429 ("lparallel" ,sbcl-lparallel)))
13430 (arguments
13431 `(#:phases
13432 (modify-phases %standard-phases
13433 (add-after 'check 'remove-test-data
13434 (lambda* (#:key outputs #:allow-other-keys)
13435 (let ((out (assoc-ref outputs "out")))
13436 (for-each delete-file (find-files out "\\.gz$"))))))))
13437 (synopsis "Simple neural network in Common Lisp")
13438 (description
13439 "@code{simple-neural-network} is a Common Lisp library for creating,
13440 training and using basic neural networks. The networks created by this
13441 library are feedforward neural networks trained using backpropagation.")
13442 (home-page "https://github.com/glv2/simple-neural-network")
13443 (license license:gpl3+)))
13444
13445 (define-public cl-simple-neural-network
13446 (sbcl-package->cl-source-package sbcl-simple-neural-network))
13447
13448 (define-public ecl-simple-neural-network
13449 (sbcl-package->ecl-package sbcl-simple-neural-network))
13450
13451 (define-public sbcl-zstd
13452 (let ((commit "d144582c581aaa52bac24d6686af27fa3e781e06")
13453 (revision "1"))
13454 (package
13455 (name "sbcl-zstd")
13456 (version (git-version "1.0" revision commit))
13457 (source
13458 (origin
13459 (method git-fetch)
13460 (uri (git-reference
13461 (url "https://github.com/glv2/cl-zstd")
13462 (commit commit)))
13463 (file-name (git-file-name "cl-zstd" version))
13464 (sha256
13465 (base32 "1774jy8hzbi6nih3sq6vchk66f7g8w86dwgpbvljyfzcnkcaz6ql"))))
13466 (build-system asdf-build-system/sbcl)
13467 (native-inputs
13468 `(("fiveam" ,sbcl-fiveam)))
13469 (inputs
13470 `(("cffi" ,sbcl-cffi)
13471 ("cl-octet-streams" ,sbcl-cl-octet-streams)
13472 ("zstd-lib" ,zstd "lib")))
13473 (arguments
13474 '(#:phases
13475 (modify-phases %standard-phases
13476 (add-after 'unpack 'fix-paths
13477 (lambda* (#:key inputs #:allow-other-keys)
13478 (substitute* "src/libzstd.lisp"
13479 (("libzstd\\.so")
13480 (string-append (assoc-ref inputs "zstd-lib")
13481 "/lib/libzstd.so")))
13482 #t)))))
13483 (synopsis "Common Lisp library for Zstandard (de)compression")
13484 (description
13485 "This Common Lisp library provides functions for Zstandard
13486 compression/decompression using bindings to the libzstd C library.")
13487 (home-page "https://github.com/glv2/cl-zstd")
13488 (license license:gpl3+))))
13489
13490 (define-public cl-zstd
13491 (sbcl-package->cl-source-package sbcl-zstd))
13492
13493 (define-public ecl-zstd
13494 (sbcl-package->ecl-package sbcl-zstd))
13495
13496 (define-public sbcl-agnostic-lizard
13497 (let ((commit "fe3a73719f05901c8819f8995a3ebae738257952")
13498 (revision "1"))
13499 (package
13500 (name "sbcl-agnostic-lizard")
13501 (version (git-version "0.0.0" revision commit))
13502 (source
13503 (origin
13504 (method git-fetch)
13505 (uri (git-reference
13506 (url "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
13507 (commit commit)))
13508 (file-name (git-file-name name version))
13509 (sha256
13510 (base32 "0ax78y8w4zlp5dcwyhz2nq7j3shi49qn31dkfg8lv2jlg7mkwh2d"))))
13511 (build-system asdf-build-system/sbcl)
13512 (synopsis "Almost correct portable code walker for Common Lisp")
13513 (description
13514 "Agnostic Lizard is a portable implementation of a code walker and in
13515 particular of the macroexpand-all function (and macro) that makes a best
13516 effort to be correct while not expecting much beyond what the Common Lisp
13517 standard requires.
13518
13519 It aims to be implementation-agnostic and to climb the syntax trees.")
13520 (home-page "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
13521 (license license:gpl3+))))
13522
13523 (define-public cl-agnostic-lizard
13524 (sbcl-package->cl-source-package sbcl-agnostic-lizard))
13525
13526 (define-public ecl-agnostic-lizard
13527 (sbcl-package->ecl-package sbcl-agnostic-lizard))
13528
13529 (define-public sbcl-dynamic-classes
13530 (package
13531 (name "sbcl-dynamic-classes")
13532 (version "1.0.2")
13533 (source
13534 (origin
13535 (method git-fetch)
13536 (uri (git-reference
13537 (url "https://github.com/gwkkwg/dynamic-classes")
13538 (commit (string-append "version-" version))))
13539 (file-name (git-file-name "dynamic-classes" version))
13540 (sha256
13541 (base32 "1z3ag6w4ff0v6715xa9zhvwjqnp4i6zrjfmxdz8m115sklbwgm6c"))))
13542 (build-system asdf-build-system/sbcl)
13543 (inputs
13544 `(("metatilities-base" ,sbcl-metatilities-base)))
13545 (arguments
13546 ;; NOTE: (Sharlatan-20210106222900+0000) Circular dependencies and failing
13547 ;; test suites. lift-standard.config contains referances to deprecated
13548 ;; functionality.
13549 `(#:tests? #f))
13550 (home-page "https://common-lisp.net/project/dynamic-classes/")
13551 (synopsis "Dynamic class definition for Common Lisp")
13552 (description "Dynamic-Classes helps to ease the prototyping process by
13553 bringing dynamism to class definition.")
13554 (license license:expat)))
13555
13556 (define-public ecl-dynamic-classes
13557 (sbcl-package->ecl-package sbcl-dynamic-classes))
13558
13559 (define-public cl-dynamic-classes
13560 (sbcl-package->cl-source-package sbcl-dynamic-classes))
13561
13562 (define-public sbcl-cl-markdown
13563 ;; NOTE: (Sharlatan-20210106214629+0000) latest version tag
13564 ;; "version-0.10.6_version-0.10.6" is failing to build due to missing system
13565 ;; #:container-dynamic-classes
13566 (package
13567 (name "sbcl-cl-markdown")
13568 (version "0.10.4")
13569 (source
13570 (origin
13571 (method git-fetch)
13572 (uri (git-reference
13573 (url "https://github.com/gwkkwg/cl-markdown")
13574 (commit (string-append "version-" version))))
13575 (file-name (git-file-name "cl-markdown" version))
13576 (sha256
13577 (base32 "1wdjbdd1zyskxf7zlilcp6fmwkivybj0wjp64vvzb265d5xi7p8p"))))
13578 (build-system asdf-build-system/sbcl)
13579 (inputs
13580 `(("anaphora" ,sbcl-anaphora)
13581 ("cl-containers" ,sbcl-cl-containers)
13582 ("cl-ppcre" ,sbcl-cl-ppcre)
13583 ("dynamic-classes" ,sbcl-dynamic-classes)
13584 ("metabang-bind" ,sbcl-metabang-bind)
13585 ("metatilities-base" ,sbcl-metatilities-base)))
13586 (arguments
13587 ;; NOTE: (Sharlatan-20210107213629+0000) Tests depend on too many not
13588 ;; available systems, which themself are abandoned.
13589 `(#:tests? #f))
13590 (home-page "https://common-lisp.net/project/cl-markdown/")
13591 (synopsis "Common Lisp rewrite of Markdown")
13592 (description
13593 "This is an implementation of a Markdown parser in Common Lisp.")
13594 (license license:expat)))
13595
13596 (define-public ecl-cl-markdown
13597 (sbcl-package->ecl-package sbcl-cl-markdown))
13598
13599 (define-public cl-markdown
13600 (sbcl-package->cl-source-package sbcl-cl-markdown))
13601
13602 (define-public sbcl-magicffi
13603 (let ((commit "d88f2f280c31f639e4e05be75215d8a8dce6aef2"))
13604 (package
13605 (name "sbcl-magicffi")
13606 (version (git-version "0.0.0" "1" commit))
13607 (source
13608 (origin
13609 (method git-fetch)
13610 (uri (git-reference
13611 (url "https://github.com/dochang/magicffi/")
13612 (commit commit)))
13613 (file-name (git-file-name name version))
13614 (sha256
13615 (base32 "0p6ysa92fk34bhxpw7bycbfgw150fv11z9x8jr9xb4lh8cm2hvp6"))))
13616 (build-system asdf-build-system/sbcl)
13617 (native-inputs
13618 `(("alexandria" ,sbcl-alexandria)))
13619 (inputs
13620 `(("cffi" ,sbcl-cffi)
13621 ("ppcre" ,sbcl-cl-ppcre)
13622 ("libmagic" ,file)))
13623 (arguments
13624 `(#:phases
13625 (modify-phases %standard-phases
13626 (add-after 'unpack 'fix-paths
13627 (lambda* (#:key inputs #:allow-other-keys)
13628 (let ((magic (assoc-ref inputs "libmagic")))
13629 (substitute* "grovel.lisp"
13630 (("/usr/include/magic.h")
13631 (string-append magic "/include/magic.h")))
13632 (substitute* "api.lisp"
13633 ((":default \"libmagic\"" all)
13634 (string-append ":default \"" magic "/lib/libmagic\"")))))))))
13635 (home-page "https://common-lisp.net/project/magicffi/")
13636 (synopsis "Common Lisp interface to libmagic based on CFFI")
13637 (description
13638 "MAGICFFI is a Common Lisp CFFI interface to libmagic(3), the file type
13639 determination library using @emph{magic} numbers.")
13640 (license license:bsd-2))))
13641
13642 (define-public ecl-magicffi
13643 (sbcl-package->ecl-package sbcl-magicffi))
13644
13645 (define-public cl-magicffi
13646 (sbcl-package->cl-source-package sbcl-magicffi))
13647
13648 (define-public sbcl-shlex
13649 (let ((commit "c5616dffca0d4d8ddbc1cd6f37a96d88477b2740"))
13650 (package
13651 (name "sbcl-shlex")
13652 (version (git-version "0.0.0" "1" commit))
13653 (source
13654 (origin
13655 (method git-fetch)
13656 (uri (git-reference
13657 (url "https://github.com/ruricolist/cl-shlex")
13658 (commit commit)))
13659 (file-name (git-file-name name version))
13660 (sha256
13661 (base32 "1nas024n4wv319bf40aal96g72bgi9nkapj2chywj2cc6r8hzkfg"))))
13662 (build-system asdf-build-system/sbcl)
13663 (inputs
13664 `(("alexandria" ,sbcl-alexandria)
13665 ("serapeum" ,sbcl-serapeum)
13666 ("ppcre" ,sbcl-cl-ppcre)
13667 ("unicode" ,sbcl-cl-unicode)))
13668 (home-page "https://github.com/ruricolist/cl-shlex")
13669 (synopsis "Common Lisp lexical analyzer for shell-like syntaxes")
13670 (description
13671 "This library contains a lexer for syntaxes that use shell-like rules
13672 for quoting and commenting. It is a port of the @code{shlex} module from Python’s
13673 standard library.")
13674 (license license:expat))))
13675
13676 (define-public ecl-shlex
13677 (sbcl-package->ecl-package sbcl-shlex))
13678
13679 (define-public cl-shlex
13680 (sbcl-package->cl-source-package sbcl-shlex))
13681
13682 (define-public sbcl-cmd
13683 (let ((commit "e6a54dbf660bf229c80abc124fa47e7bb6d20c93"))
13684 (package
13685 (name "sbcl-cmd")
13686 (version (git-version "0.0.1" "2" commit))
13687 (source
13688 (origin
13689 (method git-fetch)
13690 (uri (git-reference
13691 (url "https://github.com/ruricolist/cmd/")
13692 (commit commit)))
13693 (file-name (git-file-name name version))
13694 (sha256
13695 (base32 "1i0l8ci4cnkx84q4afmpkq51nxah24fqpi6k9kgjbxz6li3zp8hy"))))
13696 (build-system asdf-build-system/sbcl)
13697 (inputs
13698 `(("alexandria" ,sbcl-alexandria)
13699 ("coreutils" ,coreutils)
13700 ("serapeum" ,sbcl-serapeum)
13701 ("shlex" ,sbcl-shlex)
13702 ("trivia" ,sbcl-trivia)))
13703 (arguments
13704 `(#:phases
13705 (modify-phases %standard-phases
13706 (add-after 'unpack 'fix-paths
13707 (lambda* (#:key inputs #:allow-other-keys)
13708 (let ((bin (string-append (assoc-ref inputs "coreutils") "/bin")))
13709 (substitute* "cmd.lisp"
13710 (("\"env\"") (format #f "\"~a/env\"" bin))
13711 (("\"pwd\"") (format #f "\"~a/pwd\"" bin)))))))))
13712 (home-page "https://github.com/ruricolist/cmd")
13713 (synopsis "Conveniently run external programs from Common Lisp")
13714 (description
13715 "A utility for running external programs, built on UIOP.
13716 Cmd is designed to be natural to use, protect against shell interpolation and
13717 be usable from multi-threaded programs.")
13718 (license license:expat))))
13719
13720 (define-public ecl-cmd
13721 (sbcl-package->ecl-package sbcl-cmd))
13722
13723 (define-public cl-cmd
13724 (sbcl-package->cl-source-package sbcl-cmd))
13725
13726 (define-public sbcl-ppath
13727 (let ((commit "eb1a8173b4d1d691ea9a7699412123462f58c3ce"))
13728 (package
13729 (name "sbcl-ppath")
13730 (version (git-version "0.1" "1" commit))
13731 (source
13732 (origin
13733 (method git-fetch)
13734 (uri (git-reference
13735 (url "https://github.com/fourier/ppath/")
13736 (commit commit)))
13737 (file-name (git-file-name name commit))
13738 (sha256
13739 (base32 "1c46q9lmzqv14z80d3fwdawgn3pn4922x31fyqvsvbcjm4hd16fb"))))
13740 (build-system asdf-build-system/sbcl)
13741 (inputs
13742 `(("alexandria" ,sbcl-alexandria)
13743 ("cffi" ,sbcl-cffi)
13744 ("osicat" ,sbcl-osicat)
13745 ("ppcre" ,sbcl-cl-ppcre)
13746 ("split-sequence" ,sbcl-split-sequence)
13747 ("trivial-features" ,sbcl-trivial-features)))
13748 (native-inputs
13749 `(("cl-fad" ,sbcl-cl-fad)
13750 ("prove" ,sbcl-prove)))
13751 (home-page "https://github.com/fourier/ppath")
13752 (synopsis "Common Lisp's implementation of the Python's os.path module")
13753 (description
13754 "This library is a path strings manipulation library inspired by
13755 Python's @code{os.path}. All functionality from @code{os.path} is supported on
13756 major operation systems.
13757
13758 The philosophy behind is to use simple strings and \"dumb\" string
13759 manipulation functions to handle paths and filenames. Where possible the
13760 corresponding OS system functions are called.")
13761 (license license:bsd-2))))
13762
13763 (define-public ecl-ppath
13764 (sbcl-package->ecl-package sbcl-ppath))
13765
13766 (define-public cl-ppath
13767 (sbcl-package->cl-source-package sbcl-ppath))
13768
13769 (define-public sbcl-trivial-escapes
13770 (let ((commit "1eca78da2078495d09893be58c28b3aa7b8cc4d1"))
13771 (package
13772 (name "sbcl-trivial-escapes")
13773 (version (git-version "1.2.0" "1" commit))
13774 (source
13775 (origin
13776 (method git-fetch)
13777 (uri (git-reference
13778 (url "https://github.com/williamyaoh/trivial-escapes")
13779 (commit commit)))
13780 (file-name (git-file-name name commit))
13781 (sha256
13782 (base32 "0v6h8lk17iqv1qkxgqjyzn8gi6v0hvq2vmfbb01md3zjvjqxn6lr"))))
13783 (build-system asdf-build-system/sbcl)
13784 (inputs
13785 `(("named-readtables" ,sbcl-named-readtables)))
13786 (native-inputs
13787 `(("fiveam" ,sbcl-fiveam)))
13788 (home-page "https://github.com/williamyaoh/trivial-escapes")
13789 (synopsis "C-style escape directives for Common Lisp")
13790 (description
13791 "This Common Lisp library interprets escape characters the same way that
13792 most other programming language do.
13793 It provides four readtables. The default one lets you write strings like this:
13794 @code{#\"This string has\na newline in it!\"}.")
13795 (license license:public-domain))))
13796
13797 (define-public ecl-trivial-escapes
13798 (sbcl-package->ecl-package sbcl-trivial-escapes))
13799
13800 (define-public cl-trivial-escapes
13801 (sbcl-package->cl-source-package sbcl-trivial-escapes))
13802
13803 (define-public sbcl-cl-indentify
13804 (let ((commit "eb770f434defa4cd41d84bca822428dfd0dbac53"))
13805 (package
13806 (name "sbcl-cl-indentify")
13807 (version (git-version "0.1" "1" commit))
13808 (source
13809 (origin
13810 (method git-fetch)
13811 (uri (git-reference
13812 (url "https://github.com/yitzchak/cl-indentify")
13813 (commit commit)))
13814 (file-name (git-file-name name commit))
13815 (sha256
13816 (base32 "0ha36bhg474vr76vfhr13szc8cfdj1ickg92k1icz791bqaqg67p"))))
13817 (build-system asdf-build-system/sbcl)
13818 (inputs
13819 `(("alexandria" ,sbcl-alexandria)
13820 ("command-line-arguments" ,sbcl-command-line-arguments)
13821 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
13822 (native-inputs
13823 `(("trivial-escapes" ,sbcl-trivial-escapes)
13824 ("rove" ,sbcl-rove)))
13825 (home-page "https://github.com/yitzchak/cl-indentify")
13826 (synopsis "Code beautifier for Common Lisp")
13827 (description
13828 "A library and command line utility to automatically indent Common Lisp
13829 source files.")
13830 (license license:expat))))
13831
13832 (define-public ecl-cl-indentify
13833 (sbcl-package->ecl-package sbcl-cl-indentify))
13834
13835 (define-public cl-indentify
13836 (sbcl-package->cl-source-package sbcl-cl-indentify))
13837
13838 (define-public sbcl-concrete-syntax-tree
13839 (let ((commit "abd242a59dadc5452aa9dbc1d313c83ec2c11f46"))
13840 (package
13841 (name "sbcl-concrete-syntax-tree")
13842 (version (git-version "0.0.0" "1" commit))
13843 (source
13844 (origin
13845 (method git-fetch)
13846 (uri (git-reference
13847 (url "https://github.com/s-expressionists/Concrete-Syntax-Tree")
13848 (commit commit)))
13849 (file-name (git-file-name name commit))
13850 (sha256
13851 (base32 "1lyrglc3h1if44gxd9cwv90wa90nrdjvb7fry39b1xn8ywdfa7di"))))
13852 (build-system asdf-build-system/sbcl)
13853 (inputs
13854 `(("acclimation" ,sbcl-acclimation)))
13855 (home-page "https://github.com/s-expressionists/Concrete-Syntax-Tree")
13856 (synopsis "Parse Common Lisp code into a concrete syntax tree")
13857 (description
13858 "This library is intended to solve the problem of source tracking for
13859 Common Lisp code.
13860
13861 By \"source tracking\", it is meant that code elements that have a known
13862 origin in the form of a position in a file or in an editor buffer are
13863 associated with some kind of information about this origin.
13864
13865 Since the exact nature of such origin information depends on the Common Lisp
13866 implementation and the purpose of wanting to track that origin, the library
13867 does not impose a particular structure of this information. Instead, it
13868 provides utilities for manipulating source code in the form of what is called
13869 concrete syntax trees (CSTs for short) that preserve this information about
13870 the origin.")
13871 (license license:bsd-2))))
13872
13873 (define-public ecl-concrete-syntax-tree
13874 (sbcl-package->ecl-package sbcl-concrete-syntax-tree))
13875
13876 (define-public cl-concrete-syntax-tree
13877 (sbcl-package->cl-source-package sbcl-concrete-syntax-tree))
13878
13879 (define-public sbcl-eclector
13880 (package
13881 (name "sbcl-eclector")
13882 (version "0.5.0")
13883 (source
13884 (origin
13885 (method git-fetch)
13886 (uri (git-reference
13887 (url "https://github.com/s-expressionists/Eclector")
13888 (commit version)))
13889 (file-name (git-file-name name version))
13890 (sha256
13891 (base32 "0bwkla0jdp5bg0q1zca5wg22b0nbdmglgax345nrhsf8bdrh47wm"))))
13892 (build-system asdf-build-system/sbcl)
13893 (inputs
13894 `(("acclimation" ,sbcl-acclimation)
13895 ("alexandria" ,sbcl-alexandria)
13896 ("closer-mop" ,sbcl-closer-mop)
13897 ("concrete-syntax-tree" ,sbcl-concrete-syntax-tree)))
13898 (native-inputs
13899 `(("fiveam" ,sbcl-fiveam)))
13900 (arguments
13901 '(#:asd-systems '("eclector"
13902 "eclector-concrete-syntax-tree")))
13903 (home-page "https://s-expressionists.github.io/Eclector/")
13904 (synopsis "Highly customizable, portable Common Lisp reader")
13905 (description
13906 "Eclector is a portable Common Lisp reader that is highly customizable,
13907 can recover from errors and can return concrete syntax trees.
13908
13909 In contrast to many other reader implementations, eclector can recover from
13910 most errors in the input supplied to it and continue reading. This capability
13911 is realized as a restart.
13912
13913 It can also produce instances of the concrete syntax tree classes provided by
13914 the concrete syntax tree library.")
13915 (license license:bsd-2)))
13916
13917 (define-public ecl-eclector
13918 (sbcl-package->ecl-package sbcl-eclector))
13919
13920 (define-public cl-eclector
13921 (sbcl-package->cl-source-package sbcl-eclector))
13922
13923 (define-public sbcl-jsown
13924 (let ((commit "744c4407bef58dfa876d9da0b5c0205d869e7977"))
13925 (package
13926 (name "sbcl-jsown")
13927 (version (git-version "1.0.1" "1" commit))
13928 (source
13929 (origin
13930 (method git-fetch)
13931 (uri (git-reference
13932 (url "https://github.com/madnificent/jsown")
13933 (commit commit)))
13934 (file-name (git-file-name name commit))
13935 (sha256
13936 (base32 "0gadvmf1d9bq35s61z76psrsnzwwk12svi66jigf491hv48wigw7"))))
13937 (build-system asdf-build-system/sbcl)
13938 (home-page "https://github.com/madnificent/jsown")
13939 (synopsis "Fast JSON reader / writer library for Common Lisp")
13940 (description
13941 "@code{jsown} is a high performance Common Lisp JSON parser. Its aim
13942 is to allow for the fast parsing of JSON objects in Common Lisp. Recently,
13943 functions and macros have been added to ease the burden of writing and editing
13944 @code{jsown} objects.
13945
13946 @code{jsown} allows you to parse JSON objects quickly to a modifiable Lisp
13947 list and write them back. If you only need partial retrieval of objects,
13948 @code{jsown} allows you to select the keys which you would like to see parsed.
13949 @code{jsown} also has a JSON writer and some helper methods to alter the JSON
13950 objects themselves.")
13951 (license license:expat))))
13952
13953 (define-public ecl-jsown
13954 (sbcl-package->ecl-package sbcl-jsown))
13955
13956 (define-public cl-jsown
13957 (sbcl-package->cl-source-package sbcl-jsown))
13958
13959 (define-public sbcl-system-locale
13960 (let ((commit "4b334bc2fa45651bcaa28ae7d9331095d6bf0a17"))
13961 (package
13962 (name "sbcl-system-locale")
13963 (version (git-version "1.0.0" "1" commit))
13964 (source
13965 (origin
13966 (method git-fetch)
13967 (uri (git-reference
13968 (url "https://github.com/Shinmera/system-locale/")
13969 (commit commit)))
13970 (file-name (git-file-name name commit))
13971 (sha256
13972 (base32 "00p5c053kmgq4ks6l9mxsqz6g3bjcybvkvj0bh3r90qgpkaawm1p"))))
13973 (build-system asdf-build-system/sbcl)
13974 (inputs
13975 `(("documentation-utils" ,sbcl-documentation-utils)))
13976 (home-page "https://shinmera.github.io/system-locale/")
13977 (synopsis "Get the system's locale and language settings in Common Lisp")
13978 (description
13979 "This library retrieves locale information configured on the
13980 system. This is helpful if you want to write applications and libraries that
13981 display messages in the user's native language.")
13982 (license license:zlib))))
13983
13984 (define-public ecl-system-locale
13985 (sbcl-package->ecl-package sbcl-system-locale))
13986
13987 (define-public cl-system-locale
13988 (sbcl-package->cl-source-package sbcl-system-locale))
13989
13990 (define-public sbcl-language-codes
13991 (let ((commit "e7aa0e37cb97a3d37d6bc7316b479d01bff8f42e"))
13992 (package
13993 (name "sbcl-language-codes")
13994 (version (git-version "1.0.0" "1" commit))
13995 (source
13996 (origin
13997 (method git-fetch)
13998 (uri (git-reference
13999 (url "https://github.com/Shinmera/language-codes")
14000 (commit commit)))
14001 (file-name (git-file-name name commit))
14002 (sha256
14003 (base32 "0py176ibmsc01n5r0q1bs1ykqf5jwdbh8kx0j1a814l9y51241v0"))))
14004 (build-system asdf-build-system/sbcl)
14005 (inputs
14006 `(("documentation-utils" ,sbcl-documentation-utils)))
14007 (home-page "https://shinmera.github.io/language-codes/")
14008 (synopsis "Map ISO language codes to language names in Common Lisp")
14009 (description
14010 "This is a small library providing the ISO-639 language code to
14011 language name mapping.")
14012 (license license:zlib))))
14013
14014 (define-public ecl-language-codes
14015 (sbcl-package->ecl-package sbcl-language-codes))
14016
14017 (define-public cl-language-codes
14018 (sbcl-package->cl-source-package sbcl-language-codes))
14019
14020 (define-public sbcl-multilang-documentation
14021 (let ((commit "59e798a07e949e8957a20927f52aca425d84e4a0"))
14022 (package
14023 (name "sbcl-multilang-documentation")
14024 (version (git-version "1.0.0" "1" commit))
14025 (source
14026 (origin
14027 (method git-fetch)
14028 (uri (git-reference
14029 (url "https://github.com/Shinmera/multilang-documentation")
14030 (commit commit)))
14031 (file-name (git-file-name name commit))
14032 (sha256
14033 (base32 "13y5jskx8n2b7kimpfarr8v777w3b7zj5swg1b99nj3hk0843ixw"))))
14034 (build-system asdf-build-system/sbcl)
14035 (inputs
14036 `(("documentation-utils" ,sbcl-documentation-utils)
14037 ("language-codes" ,sbcl-language-codes)
14038 ("system-locale" ,sbcl-system-locale)))
14039 (home-page "https://shinmera.github.io/multilang-documentation/")
14040 (synopsis "Add multiple languages support to Common Lisp documentation")
14041 (description
14042 "This library provides a drop-in replacement function for
14043 cl:documentation that supports multiple docstrings per-language, allowing you
14044 to write documentation that can be internationalised.")
14045 (license license:zlib))))
14046
14047 (define-public ecl-multilang-documentation
14048 (sbcl-package->ecl-package sbcl-multilang-documentation))
14049
14050 (define-public cl-multilang-documentation
14051 (sbcl-package->cl-source-package sbcl-multilang-documentation))
14052
14053 (define-public sbcl-trivial-do
14054 (let ((commit "03a1729f1e71bad3ebcf6cf098a0cce52dfa1163"))
14055 (package
14056 (name "sbcl-trivial-do")
14057 (version (git-version "0.1" "1" commit))
14058 (source
14059 (origin
14060 (method git-fetch)
14061 (uri (git-reference
14062 (url "https://github.com/yitzchak/trivial-do")
14063 (commit commit)))
14064 (file-name (git-file-name name commit))
14065 (sha256
14066 (base32 "1ffva79nkicc7wc8c2ic5nayis3b2rk5sxzj74yjkymkjgbpcrgd"))))
14067 (build-system asdf-build-system/sbcl)
14068 (home-page "https://github.com/yitzchak/trivial-do")
14069 (synopsis "Additional dolist style macros for Common Lisp")
14070 (description
14071 "Additional dolist style macros for Common Lisp, such as
14072 @code{doalist}, @code{dohash}, @code{dolist*}, @code{doplist}, @code{doseq}
14073 and @code{doseq*}.")
14074 (license license:zlib))))
14075
14076 (define-public ecl-trivial-do
14077 (sbcl-package->ecl-package sbcl-trivial-do))
14078
14079 (define-public cl-trivial-do
14080 (sbcl-package->cl-source-package sbcl-trivial-do))
14081
14082 (define-public sbcl-common-lisp-jupyter
14083 (let ((commit "61a9a8e7a18e2abd7af7c697ba5146fd19bd9d62"))
14084 (package
14085 (name "sbcl-common-lisp-jupyter")
14086 (version (git-version "0.1" "1" commit))
14087 (source
14088 (origin
14089 (method git-fetch)
14090 (uri (git-reference
14091 (url "https://github.com/yitzchak/common-lisp-jupyter")
14092 (commit commit)))
14093 (file-name (git-file-name name commit))
14094 (sha256
14095 (base32 "0zyzl55l45w9z65ygi5pcwda5w5p1j1bb0p2zg2n5cpv8344dkh2"))))
14096 (build-system asdf-build-system/sbcl)
14097 (inputs
14098 `(("alexandria" ,sbcl-alexandria)
14099 ("babel" ,sbcl-babel)
14100 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14101 ("cl-base64" ,sbcl-cl-base64)
14102 ("cl-indentify" ,sbcl-cl-indentify)
14103 ("closer-mop" ,sbcl-closer-mop)
14104 ("eclector" ,sbcl-eclector)
14105 ("ironclad" ,sbcl-ironclad)
14106 ("iterate" ,sbcl-iterate)
14107 ("jsown" ,sbcl-jsown)
14108 ("multilang-documentation" ,sbcl-multilang-documentation)
14109 ("pzmq" ,sbcl-pzmq)
14110 ("puri" ,sbcl-puri)
14111 ("static-vectors" ,sbcl-static-vectors)
14112 ("trivial-do" ,sbcl-trivial-do)
14113 ("trivial-garbage" ,sbcl-trivial-garbage)
14114 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
14115 ("trivial-mimes" ,sbcl-trivial-mimes)))
14116 (home-page "https://yitzchak.github.io/common-lisp-jupyter/")
14117 (synopsis "Common Lisp kernel for Jupyter")
14118 (description
14119 "This is a Common Lisp kernel for Jupyter along with a library for
14120 building Jupyter kernels, based on Maxima-Jupyter which was based on
14121 @code{cl-jupyter}.")
14122 (license license:zlib))))
14123
14124 (define-public ecl-common-lisp-jupyter
14125 (sbcl-package->ecl-package sbcl-common-lisp-jupyter))
14126
14127 (define-public cl-common-lisp-jupyter
14128 (sbcl-package->cl-source-package sbcl-common-lisp-jupyter))
14129
14130 (define-public sbcl-radiance
14131 (let ((commit "5ffbe1f157edd17a13194495099efd81e052df85")
14132 (revision "1"))
14133 (package
14134 (name "sbcl-radiance")
14135 (version (git-version "2.1.2" revision commit))
14136 (source
14137 (origin
14138 (method git-fetch)
14139 (uri (git-reference
14140 (url "https://github.com/Shirakumo/radiance")
14141 (commit commit)))
14142 (file-name (git-file-name "radiance" version))
14143 (sha256
14144 (base32 "0hbkcnmnlj1cqzbv18zmla2iwbl65kxilz9764hndf8x8as1539c"))))
14145 (build-system asdf-build-system/sbcl)
14146 (arguments
14147 `(#:tests? #f ; TODO: The tests require some configuration.
14148 #:phases
14149 (modify-phases %standard-phases
14150 (add-after 'unpack 'disable-quicklisp
14151 (lambda _
14152 ;; Disable the automatic installation of systems by Quicklisp.
14153 ;; (Maybe there would be a way to package Quicklisp and make it
14154 ;; install things in the user's directory instead of
14155 ;; /gnu/store/...).
14156 (substitute* "interfaces.lisp"
14157 (("\\(unless \\(asdf:find-system configured-implementation NIL\\)"
14158 all)
14159 (string-append "#+quicklisp " all))))))))
14160 (native-inputs
14161 `(("alexandria" ,sbcl-alexandria)
14162 ("dexador" ,sbcl-dexador)
14163 ("parachute" ,sbcl-parachute)
14164 ("verbose" ,sbcl-verbose)))
14165 (inputs
14166 `(("babel" ,sbcl-babel)
14167 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14168 ("cl-ppcre" ,sbcl-cl-ppcre)
14169 ("closer-mop" ,sbcl-closer-mop)
14170 ("documentation-utils" ,sbcl-documentation-utils)
14171 ("deploy" ,sbcl-deploy)
14172 ("form-fiddle" ,sbcl-form-fiddle)
14173 ("lambda-fiddle" ,sbcl-lambda-fiddle)
14174 ("local-time" ,sbcl-local-time)
14175 ("modularize-hooks" ,sbcl-modularize-hooks)
14176 ("modularize-interfaces" ,sbcl-modularize-interfaces)
14177 ("puri" ,sbcl-puri)
14178 ("trivial-indent" ,sbcl-trivial-indent)
14179 ("trivial-mimes" ,sbcl-trivial-mimes)
14180 ("ubiquitous-concurrent" ,sbcl-ubiquitous)))
14181 (home-page "https://shirakumo.github.io/radiance/")
14182 (synopsis "Common Lisp web application environment")
14183 (description
14184 "Radiance is a web application environment, which is sort of like a web
14185 framework, but more general, more flexible. It should let you write personal
14186 websites and generally deployable applications easily and in such a way that
14187 they can be used on practically any setup without having to undergo special
14188 adaptations.")
14189 (license license:zlib))))
14190
14191 (define-public ecl-radiance
14192 (sbcl-package->ecl-package sbcl-radiance))
14193
14194 (define-public cl-radiance
14195 (sbcl-package->cl-source-package sbcl-radiance))