gnu: cl-mgl-pax: Update to 0.0.3-2.4ada6eb.
[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 linux)
71 #:use-module (gnu packages lisp)
72 #:use-module (gnu packages maths)
73 #:use-module (gnu packages mp3)
74 #:use-module (gnu packages networking)
75 #:use-module (gnu packages pkg-config)
76 #:use-module (gnu packages python)
77 #:use-module (gnu packages python-xyz)
78 #:use-module (gnu packages sqlite)
79 #:use-module (gnu packages tcl)
80 #:use-module (gnu packages tls)
81 #:use-module (gnu packages web)
82 #:use-module (gnu packages webkit)
83 #:use-module (gnu packages xdisorg)
84 #:use-module (ice-9 match)
85 #:use-module (srfi srfi-1)
86 #:use-module (srfi srfi-19))
87
88 (define-public sbcl-alexandria
89 (package
90 (name "sbcl-alexandria")
91 (version "1.2")
92 (source
93 (origin
94 (method git-fetch)
95 (uri (git-reference
96 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
97 (commit (string-append "v" version))))
98 (sha256
99 (base32
100 "0bcqs0z9xlqgjz43qzgq9i07vdlnjllpm1wwa37wpkg0w975r712"))
101 (file-name (git-file-name name version))))
102 (build-system asdf-build-system/sbcl)
103 (native-inputs
104 `(("rt" ,sbcl-rt)))
105 (synopsis "Collection of portable utilities for Common Lisp")
106 (description
107 "Alexandria is a collection of portable utilities. It does not contain
108 conceptual extensions to Common Lisp. It is conservative in scope, and
109 portable between implementations.")
110 (home-page "https://common-lisp.net/project/alexandria/")
111 (license license:public-domain)))
112
113 (define-public cl-alexandria
114 (sbcl-package->cl-source-package sbcl-alexandria))
115
116 (define-public ecl-alexandria
117 (sbcl-package->ecl-package sbcl-alexandria))
118
119 (define-public sbcl-golden-utils
120 (let ((commit "9424419d867d5c2f819196ee41667a818a5058e7")
121 (revision "1"))
122 (package
123 (name "sbcl-golden-utils")
124 (version (git-version "0.0.0" revision commit))
125 (source
126 (origin
127 (method git-fetch)
128 (uri (git-reference
129 (url "https://git.mfiano.net/mfiano/golden-utils")
130 (commit commit)))
131 (file-name (git-file-name name version))
132 (sha256
133 (base32 "15x0phm6820yj3h37ibi06gjyh6z45sd2nz2n8lcbfflwm086q0h"))))
134 (build-system asdf-build-system/sbcl)
135 (inputs
136 `(("alexandria" ,sbcl-alexandria)))
137 (home-page "https://git.mfiano.net/mfiano/golden-utils")
138 (synopsis "Common Lisp utility library")
139 (description
140 "This is a Common Lisp library providing various utilities.")
141 (license license:expat))))
142
143 (define-public ecl-golden-utils
144 (sbcl-package->ecl-package sbcl-golden-utils))
145
146 (define-public cl-golden-utils
147 (sbcl-package->cl-source-package sbcl-golden-utils))
148
149 (define-public sbcl-asdf-finalizers
150 (let ((commit "7f537f6c598b662ae987c6acc268dd27c25977e0")
151 (revision "1"))
152 (package
153 (name "sbcl-asdf-finalizers")
154 (version (git-version "0.0.0" revision commit))
155 (source
156 (origin
157 (method git-fetch)
158 (uri (git-reference
159 (url "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
160 (commit commit)))
161 (file-name (git-file-name name version))
162 (sha256
163 (base32 "1w56c9yjjydjshsgqxz57qlp2v3r4ilbisnsgiqphvxnhvd41y0v"))))
164 (build-system asdf-build-system/sbcl)
165 (native-inputs
166 `(("fare-utils" ,sbcl-fare-utils)
167 ("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
168 (arguments
169 `(#:asd-files '("asdf-finalizers.asd"
170 "list-of.asd"
171 "asdf-finalizers-test.asd")
172 #:asd-systems '("asdf-finalizers"
173 "list-of")))
174 (home-page "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
175 (synopsis "Enforced calling of finalizers for Lisp code")
176 (description "This library allows you to implement and enforce proper
177 finalization of compile-time constructs while building Lisp source files.
178
179 It produces two systems: asdf-finalizers and list-of.")
180 (license license:expat))))
181
182 (define-public ecl-asdf-finalizers
183 (sbcl-package->ecl-package sbcl-asdf-finalizers))
184
185 (define-public cl-asdf-finalizers
186 (sbcl-package->cl-source-package sbcl-asdf-finalizers))
187
188 (define-public sbcl-net.didierverna.asdf-flv
189 (package
190 (name "sbcl-net.didierverna.asdf-flv")
191 (version "2.1")
192 (source
193 (origin
194 (method git-fetch)
195 (uri (git-reference
196 (url "https://github.com/didierverna/asdf-flv")
197 (commit (string-append "version-" version))))
198 (file-name (git-file-name "asdf-flv" version))
199 (sha256
200 (base32 "1fi2y4baxan103jbg4idjddzihy03kwnj2mzbwrknw4d4x7xlgwj"))))
201 (build-system asdf-build-system/sbcl)
202 (synopsis "Common Lisp ASDF extension to provide support for file-local variables")
203 (description "ASDF-FLV provides support for file-local variables through
204 ASDF. A file-local variable behaves like @code{*PACKAGE*} and
205 @code{*READTABLE*} with respect to @code{LOAD} and @code{COMPILE-FILE}: a new
206 dynamic binding is created before processing the file, so that any
207 modification to the variable becomes essentially file-local.
208
209 In order to make one or several variables file-local, use the macros
210 @code{SET-FILE-LOCAL-VARIABLE(S)}.")
211 (home-page "https://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv")
212 (license (license:non-copyleft
213 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
214 "GNU All-Permissive License"))))
215
216 (define-public cl-net.didierverna.asdf-flv
217 (sbcl-package->cl-source-package sbcl-net.didierverna.asdf-flv))
218
219 (define-public ecl-net.didierverna.asdf-flv
220 (sbcl-package->ecl-package sbcl-net.didierverna.asdf-flv))
221
222 (define-public sbcl-command-line-arguments
223 (let ((commit "fbac862fb01c0e368141204f3f639920462c23fe")
224 (revision "1"))
225 (package
226 (name "sbcl-command-line-arguments")
227 (version (git-version "2.0.0" revision commit))
228 (source
229 (origin
230 (method git-fetch)
231 (uri (git-reference
232 (url "https://github.com/fare/command-line-arguments")
233 (commit commit)))
234 (file-name (git-file-name name version))
235 (sha256
236 (base32 "054m1ikndzqf72mb9ajaa64136cwr3bgag4yfbi1574a9vq75mjq"))))
237 (build-system asdf-build-system/sbcl)
238 (home-page "https://github.com/fare/command-line-arguments")
239 (synopsis "Trivial command-line argument parsing library for Common Lisp")
240 (description "This is a library to abstract away the parsing of
241 Unix-style command-line arguments. Use it in conjunction with asdf:program-op
242 or cl-launch for portable processing of command-line arguments.")
243 (license license:expat))))
244
245 (define-public ecl-command-line-arguments
246 (sbcl-package->ecl-package sbcl-command-line-arguments))
247
248 (define-public cl-command-line-arguments
249 (sbcl-package->cl-source-package sbcl-command-line-arguments))
250
251 (define-public sbcl-fiveam
252 (package
253 (name "sbcl-fiveam")
254 (version "1.4.1")
255 (source
256 (origin
257 (method git-fetch)
258 (uri (git-reference
259 (url "https://github.com/sionescu/fiveam")
260 (commit (string-append "v" version))))
261 (file-name (git-file-name "fiveam" version))
262 (sha256
263 (base32 "1q3d38pwafnwnw42clq0f8g5xw7pbzr287jl9jsqmb1vb0n1vrli"))))
264 (inputs
265 `(("alexandria" ,sbcl-alexandria)
266 ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
267 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
268 (build-system asdf-build-system/sbcl)
269 (synopsis "Common Lisp testing framework")
270 (description "FiveAM is a simple (as far as writing and running tests
271 goes) regression testing framework. It has been designed with Common Lisp's
272 interactive development model in mind.")
273 (home-page "https://common-lisp.net/project/fiveam/")
274 (license license:bsd-3)))
275
276 (define-public cl-fiveam
277 (sbcl-package->cl-source-package sbcl-fiveam))
278
279 (define-public ecl-fiveam
280 (sbcl-package->ecl-package sbcl-fiveam))
281
282 (define-public sbcl-trivial-timeout
283 (let ((commit "feb869357f40f5e109570fb40abad215fb370c6c")
284 (revision "1"))
285 (package
286 (name "sbcl-trivial-timeout")
287 (version (git-version "0.1.5" revision commit))
288 (source
289 (origin
290 (method git-fetch)
291 (uri (git-reference
292 (url "https://github.com/gwkkwg/trivial-timeout/")
293 (commit commit)))
294 (file-name (git-file-name "trivial-timeout" version))
295 (sha256
296 (base32 "1kninxwvvih9nhh7a9y8lfgi7pdr76675y1clw4ss17vz8fbim5p"))))
297 (build-system asdf-build-system/sbcl)
298 (native-inputs
299 `(("lift" ,sbcl-lift)))
300 (arguments
301 ;; NOTE: (Sharlatan-20210202T231437+0000): Due to the age of this library
302 ;; tests use some deprecated functionality and keep failing.
303 `(#:tests? #f))
304 (home-page "https://github.com/gwkkwg/trivial-timeout/")
305 (synopsis "Timeout library for Common Lisp")
306 (description
307 "This library provides an OS and implementation independent access to
308 timeouts.")
309 (license license:expat))))
310
311 (define-public ecl-trivial-timeout
312 (sbcl-package->ecl-package sbcl-trivial-timeout))
313
314 (define-public cl-trivial-timeout
315 (sbcl-package->cl-source-package sbcl-trivial-timeout))
316
317 (define-public sbcl-bordeaux-threads
318 (package
319 (name "sbcl-bordeaux-threads")
320 (version "0.8.8")
321 (source (origin
322 (method git-fetch)
323 (uri (git-reference
324 (url "https://github.com/sionescu/bordeaux-threads")
325 (commit (string-append "v" version))))
326 (sha256
327 (base32 "19i443fz3488v1pbbr9x24y8h8vlyhny9vj6c9jk5prm702awrp6"))
328 (file-name
329 (git-file-name "bordeaux-threads" version))))
330 (inputs `(("alexandria" ,sbcl-alexandria)))
331 (native-inputs `(("fiveam" ,sbcl-fiveam)))
332 (build-system asdf-build-system/sbcl)
333 (synopsis "Portable shared-state concurrency library for Common Lisp")
334 (description "BORDEAUX-THREADS is a proposed standard for a minimal
335 MP/Threading interface. It is similar to the CLIM-SYS threading and lock
336 support.")
337 (home-page "https://common-lisp.net/project/bordeaux-threads/")
338 (license license:x11)))
339
340 (define-public cl-bordeaux-threads
341 (sbcl-package->cl-source-package sbcl-bordeaux-threads))
342
343 (define-public ecl-bordeaux-threads
344 (sbcl-package->ecl-package sbcl-bordeaux-threads))
345
346 (define-public sbcl-trivial-gray-streams
347 (let ((revision "1")
348 (commit "ebd59b1afed03b9dc8544320f8f432fdf92ab010"))
349 (package
350 (name "sbcl-trivial-gray-streams")
351 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
352 (source
353 (origin
354 (method git-fetch)
355 (uri
356 (git-reference
357 (url "https://github.com/trivial-gray-streams/trivial-gray-streams")
358 (commit commit)))
359 (sha256
360 (base32 "0b1pxlccmnagk9cbh4cy8s5k66g3x0gwib5shjwr24xvrji6lp94"))
361 (file-name
362 (string-append "trivial-gray-streams-" version "-checkout"))))
363 (build-system asdf-build-system/sbcl)
364 (synopsis "Compatibility layer for Gray streams implementations")
365 (description "Gray streams is an interface proposed for inclusion with
366 ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most
367 popular CL implementations implement it. This package provides an extremely
368 thin compatibility layer for gray streams.")
369 (home-page "https://www.cliki.net/trivial-gray-streams")
370 (license license:x11))))
371
372 (define-public cl-trivial-gray-streams
373 (sbcl-package->cl-source-package sbcl-trivial-gray-streams))
374
375 (define-public ecl-trivial-gray-streams
376 (sbcl-package->ecl-package sbcl-trivial-gray-streams))
377
378 (define-public sbcl-fiasco
379 (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
380 (revision "1"))
381 (package
382 (name "sbcl-fiasco")
383 (version (git-version "0.0.1" revision commit))
384 (source
385 (origin
386 (method git-fetch)
387 (uri (git-reference
388 (url "https://github.com/joaotavora/fiasco")
389 (commit commit)))
390 (file-name (git-file-name "fiasco" version))
391 (sha256
392 (base32
393 "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
394 (build-system asdf-build-system/sbcl)
395 (inputs
396 `(("alexandria" ,sbcl-alexandria)
397 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
398 (synopsis "Simple and powerful test framework for Common Lisp")
399 (description "A Common Lisp test framework that treasures your failures,
400 logical continuation of Stefil. It focuses on interactive debugging.")
401 (home-page "https://github.com/joaotavora/fiasco")
402 ;; LICENCE specifies this is public-domain unless the legislation
403 ;; doesn't allow or recognize it. In that case it falls back to a
404 ;; permissive licence.
405 (license (list license:public-domain
406 (license:x11-style "file://LICENCE"))))))
407
408 (define-public cl-fiasco
409 (sbcl-package->cl-source-package sbcl-fiasco))
410
411 (define-public ecl-fiasco
412 (sbcl-package->ecl-package sbcl-fiasco))
413
414 (define-public sbcl-flexi-streams
415 (package
416 (name "sbcl-flexi-streams")
417 (version "1.0.18")
418 (source
419 (origin
420 (method git-fetch)
421 (uri (git-reference
422 (url "https://github.com/edicl/flexi-streams")
423 (commit (string-append "v" version))))
424 (file-name (git-file-name "flexi-streams" version))
425 (sha256
426 (base32 "0bjv7fd2acknidc5dyi3h85pn10krxv5jyxs1xg8jya2rlfv7f1j"))))
427 (build-system asdf-build-system/sbcl)
428 (arguments
429 `(#:phases
430 (modify-phases %standard-phases
431 (add-after 'unpack 'make-git-checkout-writable
432 (lambda _
433 (for-each make-file-writable (find-files "."))
434 #t)))))
435 (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
436 (synopsis "Implementation of virtual bivalent streams for Common Lisp")
437 (description "Flexi-streams is an implementation of \"virtual\" bivalent
438 streams that can be layered atop real binary or bivalent streams and that can
439 be used to read and write character data in various single- or multi-octet
440 encodings which can be changed on the fly. It also supplies in-memory binary
441 streams which are similar to string streams.")
442 (home-page "http://weitz.de/flexi-streams/")
443 (license license:bsd-3)))
444
445 (define-public cl-flexi-streams
446 (sbcl-package->cl-source-package sbcl-flexi-streams))
447
448 (define-public ecl-flexi-streams
449 (sbcl-package->ecl-package sbcl-flexi-streams))
450
451 (define-public sbcl-cl-abnf
452 ;; There are no releases
453 (let ((commit "ba1fbb104dedbdaddb1ef93d2e4da711bd96cd70")
454 (revision "1"))
455 (package
456 (name "sbcl-cl-abnf")
457 (version (git-version "0.0.0" revision commit))
458 (source
459 (origin
460 (method git-fetch)
461 (uri (git-reference
462 (url "https://github.com/dimitri/cl-abnf")
463 (commit commit)))
464 (file-name (git-file-name "cl-abnf" version))
465 (sha256
466 (base32 "0f09nsndxa90acm71zd4qdnp40v705a4sqm04mnv9x76h6dlggmz"))))
467 (build-system asdf-build-system/sbcl)
468 (inputs
469 `(("cl-ppcre" ,sbcl-cl-ppcre)
470 ("esrap" ,sbcl-esrap)))
471 (arguments
472 `(#:asd-systems '("abnf")))
473 (home-page "https://github.com/dimitri/cl-abnf")
474 (synopsis "ABNF parser generator for Common Lisp")
475 (description "This Common Lisp library implements a parser generator for
476 the ABNF grammar format as described in RFC2234. The generated parser is a
477 regular expression scanner provided by the cl-ppcre lib, which means that we
478 can't parse recursive grammar definition. One such definition is the ABNF
479 definition as given by the RFC. Fortunately, as you have this lib, you most
480 probably don't need to generate another parser to handle that particular ABNF
481 grammar.")
482 (license license:expat))))
483
484 (define-public cl-abnf
485 (sbcl-package->cl-source-package sbcl-cl-abnf))
486
487 (define-public ecl-cl-abnf
488 (sbcl-package->ecl-package sbcl-cl-abnf))
489
490 (define-public sbcl-cl-ppcre
491 (package
492 (name "sbcl-cl-ppcre")
493 (version "2.1.1")
494 (source
495 (origin
496 (method git-fetch)
497 (uri (git-reference
498 (url "https://github.com/edicl/cl-ppcre")
499 (commit (string-append "v" version))))
500 (file-name (git-file-name "cl-ppcre" version))
501 (sha256
502 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
503 (build-system asdf-build-system/sbcl)
504 (native-inputs
505 `(("flexi-streams" ,sbcl-flexi-streams)))
506 (arguments
507 `(#:phases
508 (modify-phases %standard-phases
509 (add-after 'unpack 'disable-ppcre-unicode
510 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
511 ;; to work around the circular dependency between edicl/cl-ppcre
512 ;; and edicl/cl-unicode.
513 (lambda _
514 (delete-file "cl-ppcre-unicode.asd")
515 #t)))))
516 (synopsis "Portable regular expression library for Common Lisp")
517 (description "CL-PPCRE is a portable regular expression library for Common
518 Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
519 compatible with ANSI-compliant Common Lisp implementations.")
520 (home-page "http://weitz.de/cl-ppcre/")
521 (license license:bsd-2)))
522
523 (define-public cl-ppcre
524 (sbcl-package->cl-source-package sbcl-cl-ppcre))
525
526 (define-public ecl-cl-ppcre
527 (sbcl-package->ecl-package sbcl-cl-ppcre))
528
529 (define-public sbcl-ubiquitous
530 (let ((commit "35eb7bd9e1b3daee1705f6b41260775180cce8af")
531 (revision "1"))
532 (package
533 (name "sbcl-ubiquitous")
534 (version (git-version "2.0.0" revision commit))
535 (source
536 (origin
537 (method git-fetch)
538 (uri (git-reference
539 (url "https://github.com/Shinmera/ubiquitous")
540 (commit commit)))
541 (file-name (git-file-name "ubiquitous" version))
542 (sha256
543 (base32 "1xlkaqmjcpkiv2xl2s2pvvrv976dlc846wm16s1lj62iy1315i49"))))
544 (build-system asdf-build-system/sbcl)
545 (inputs
546 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
547 (arguments
548 '(#:asd-systems '("ubiquitous"
549 "ubiquitous-concurrent")))
550 (home-page "https://shinmera.github.io/ubiquitous/")
551 (synopsis "Application configuration mechanism for Common Lisp")
552 (description
553 "@code{UBIQUITOUS} is a very easy-to-use library for persistent
554 configuration storage. It automatically takes care of finding a suitable place
555 to save your data, and provides simple functions to access and modify the data
556 within.")
557 (license license:zlib))))
558
559 (define-public ecl-ubiquitous
560 (sbcl-package->ecl-package sbcl-ubiquitous))
561
562 (define-public cl-ubiquitous
563 (sbcl-package->cl-source-package sbcl-ubiquitous))
564
565 (define-public sbcl-uax-15
566 (package
567 (name "sbcl-uax-15")
568 (version "0.1.1")
569 (source
570 (origin
571 (method git-fetch)
572 (uri (git-reference
573 (url "https://github.com/sabracrolleton/uax-15")
574 (commit (string-append "v" version))))
575 (file-name (git-file-name "uax-15" version))
576 (sha256
577 (base32 "0p2ckw7mzxhwa9vbwj2q2dzayz9dl94d9yqd2ynp0pc5v8i0n2fr"))))
578 (build-system asdf-build-system/sbcl)
579 (arguments
580 `(#:asd-systems
581 '("uax-15")))
582 (native-inputs
583 `(("fiveam" ,sbcl-fiveam)))
584 (inputs
585 `(("cl-ppcre" ,sbcl-cl-ppcre)
586 ("split-sequence" ,sbcl-split-sequence)))
587 (home-page "https://github.com/sabracrolleton/uax-15")
588 (synopsis "Common Lisp implementation of unicode normalization functions")
589 (description
590 "This package provides supports for unicode normalization, RFC8264 and
591 RFC7564.")
592 (license license:expat)))
593
594 (define-public cl-uax-15
595 (sbcl-package->cl-source-package sbcl-uax-15))
596
597 (define-public ecl-uax-15
598 (sbcl-package->ecl-package sbcl-uax-15))
599
600 (define-public sbcl-cl-unicode
601 (package
602 (name "sbcl-cl-unicode")
603 (version "0.1.6")
604 (source (origin
605 (method git-fetch)
606 (uri (git-reference
607 (url "https://github.com/edicl/cl-unicode")
608 (commit (string-append "v" version))))
609 (file-name (git-file-name name version))
610 (sha256
611 (base32
612 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
613 (build-system asdf-build-system/sbcl)
614 (native-inputs
615 `(("flexi-streams" ,sbcl-flexi-streams)))
616 (inputs
617 `(("cl-ppcre" ,sbcl-cl-ppcre)))
618 (home-page "http://weitz.de/cl-unicode/")
619 (synopsis "Portable Unicode library for Common Lisp")
620 (description "CL-UNICODE is a portable Unicode library Common Lisp, which
621 is compatible with perl. It is pretty fast, thread-safe, and compatible with
622 ANSI-compliant Common Lisp implementations.")
623 (license license:bsd-2)))
624
625 (define-public ecl-cl-unicode
626 (sbcl-package->ecl-package sbcl-cl-unicode))
627
628 (define-public cl-unicode
629 (sbcl-package->cl-source-package sbcl-cl-unicode))
630
631 (define-public sbcl-cl-ppcre-unicode
632 (package (inherit sbcl-cl-ppcre)
633 (name "sbcl-cl-ppcre-unicode")
634 (inputs
635 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
636 ("sbcl-cl-unicode" ,sbcl-cl-unicode)))
637 (arguments
638 `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found"
639 #:phases
640 (modify-phases %standard-phases
641 (add-after 'unpack 'disable-ppcre
642 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
643 ;; to work around the circular dependency between edicl/cl-ppcre
644 ;; and edicl/cl-unicode.
645 (lambda _
646 (delete-file "cl-ppcre.asd")
647 #t)))))))
648
649 (define-public cl-ppcre-unicode
650 (sbcl-package->cl-source-package sbcl-cl-ppcre-unicode))
651
652 (define-public ecl-cl-ppcre-unicode
653 (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
654
655 (define-public sbcl-zpb-ttf
656 (package
657 (name "sbcl-zpb-ttf")
658 (version "1.0.3")
659 (source
660 (origin
661 (method git-fetch)
662 (uri (git-reference
663 (url "https://github.com/xach/zpb-ttf")
664 (commit (string-append "release-" version))))
665 (file-name (git-file-name name version))
666 (sha256
667 (base32
668 "1wh66vjijzqlydnrihynpwp6796917xwrh0i9li93c17kyxa74ih"))))
669 (build-system asdf-build-system/sbcl)
670 (home-page "https://github.com/xach/zpb-ttf")
671 (synopsis "TrueType font file access for Common Lisp")
672 (description
673 "ZPB-TTF is a TrueType font file parser that provides an interface for
674 reading typographic metrics, glyph outlines, and other information from the
675 file.")
676 (license license:bsd-2)))
677
678 (define-public ecl-zpb-ttf
679 (sbcl-package->ecl-package sbcl-zpb-ttf))
680
681 (define-public cl-zpb-ttf
682 (sbcl-package->cl-source-package sbcl-zpb-ttf))
683
684 (define-public sbcl-cl-vectors
685 (package
686 (name "sbcl-cl-vectors")
687 (version "0.1.5")
688 (source
689 (origin
690 (method url-fetch)
691 (uri (string-append "http://projects.tuxee.net/cl-vectors/"
692 "files/cl-vectors-" version ".tar.gz"))
693 (sha256
694 (base32
695 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh"))))
696 (build-system asdf-build-system/sbcl)
697 (inputs
698 `(("zpb-ttf" ,sbcl-zpb-ttf)))
699 (arguments
700 '(#:asd-systems '("cl-vectors"
701 "cl-paths-ttf")))
702 (home-page "http://projects.tuxee.net/cl-vectors/")
703 (synopsis "Create, transform and render anti-aliased vectorial paths")
704 (description
705 "This is a pure Common Lisp library to create, transform and render
706 anti-aliased vectorial paths.")
707 (license license:expat)))
708
709 (define-public ecl-cl-vectors
710 (sbcl-package->ecl-package sbcl-cl-vectors))
711
712 (define-public cl-vectors
713 (sbcl-package->cl-source-package sbcl-cl-vectors))
714
715 (define-public sbcl-spatial-trees
716 ;; There have been no releases.
717 (let ((commit "81fdad0a0bf109c80a53cc96eca2e093823400ba")
718 (revision "1"))
719 (package
720 (name "sbcl-spatial-trees")
721 (version (git-version "0" revision commit))
722 (source
723 (origin
724 (method git-fetch)
725 (uri (git-reference
726 (url "https://github.com/rpav/spatial-trees")
727 (commit commit)))
728 (file-name (git-file-name name version))
729 (sha256
730 (base32
731 "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"))))
732 (build-system asdf-build-system/sbcl)
733 (arguments
734 '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns
735 #:test-asd-file "spatial-trees.test.asd"))
736 (native-inputs
737 `(("fiveam" ,sbcl-fiveam)))
738 (home-page "https://github.com/rpav/spatial-trees")
739 (synopsis "Dynamic index data structures for spatially-extended data")
740 (description
741 "Spatial-trees is a set of dynamic index data structures for
742 spatially-extended data.")
743 (license license:bsd-3))))
744
745 (define-public ecl-spatial-trees
746 (sbcl-package->ecl-package sbcl-spatial-trees))
747
748 (define-public cl-spatial-trees
749 (sbcl-package->cl-source-package sbcl-spatial-trees))
750
751 (define-public sbcl-flexichain
752 ;; There are no releases.
753 (let ((commit "13d2a6c505ed0abfcd4c4ec7d7145059b06855d6")
754 (revision "1"))
755 (package
756 (name "sbcl-flexichain")
757 (version "1.5.1")
758 (source
759 (origin
760 (method git-fetch)
761 (uri (git-reference
762 (url "https://github.com/robert-strandh/Flexichain")
763 (commit commit)))
764 (file-name (git-file-name name version))
765 (sha256
766 (base32
767 "0pfyvhsfbjd2sjb30grfs52r51a428xglv7bwydvpg2lc117qimg"))))
768 (build-system asdf-build-system/sbcl)
769 (home-page "https://github.com/robert-strandh/Flexichain.git")
770 (synopsis "Dynamically add elements to or remove them from sequences")
771 (description
772 "This package provides an implementation of the flexichain protocol,
773 allowing client code to dynamically add elements to, and delete elements from
774 a sequence (or chain) of such elements.")
775 (license license:lgpl2.1+))))
776
777 (define-public ecl-flexichain
778 (sbcl-package->ecl-package sbcl-flexichain))
779
780 (define-public cl-flexichain
781 (sbcl-package->cl-source-package sbcl-flexichain))
782
783 (define-public sbcl-cl-pdf
784 ;; There are no releases
785 (let ((commit "752e337e6d6fc206f09d091a982e7f8e5c404e4e")
786 (revision "1"))
787 (package
788 (name "sbcl-cl-pdf")
789 (version (git-version "0" revision commit))
790 (source
791 (origin
792 (method git-fetch)
793 (uri (git-reference
794 (url "https://github.com/mbattyani/cl-pdf")
795 (commit commit)))
796 (file-name (git-file-name name version))
797 (sha256
798 (base32
799 "1cg3k3m3r11ipb8j008y8ipynj97l3xjlpi2knqc9ndmx4r3kb1r"))))
800 (build-system asdf-build-system/sbcl)
801 (inputs
802 `(("iterate" ,sbcl-iterate)
803 ("zpb-ttf" ,sbcl-zpb-ttf)))
804 (home-page "https://github.com/mbattyani/cl-pdf")
805 (synopsis "Common Lisp library for generating PDF files")
806 (description
807 "CL-PDF is a cross-platform Common Lisp library for generating PDF
808 files.")
809 (license license:bsd-2))))
810
811 (define-public ecl-cl-pdf
812 (sbcl-package->ecl-package sbcl-cl-pdf))
813
814 (define-public cl-pdf
815 (sbcl-package->cl-source-package sbcl-cl-pdf))
816
817 (define-public sbcl-clx
818 (package
819 (name "sbcl-clx")
820 (version "0.7.5")
821 (source
822 (origin
823 (method git-fetch)
824 (uri
825 (git-reference
826 (url "https://github.com/sharplispers/clx")
827 (commit version)))
828 (sha256
829 (base32
830 "1vi67z9hpj5rr4xcmfbfwzmlcc0ah7hzhrmfid6lqdkva238v2wf"))
831 (file-name (string-append "clx-" version))))
832 (build-system asdf-build-system/sbcl)
833 (native-inputs
834 `(("fiasco" ,sbcl-fiasco)))
835 (home-page "https://www.cliki.net/portable-clx")
836 (synopsis "X11 client library for Common Lisp")
837 (description "CLX is an X11 client library for Common Lisp. The code was
838 originally taken from a CMUCL distribution, was modified somewhat in order to
839 make it compile and run under SBCL, then a selection of patches were added
840 from other CLXes around the net.")
841 (license license:x11)))
842
843 (define-public cl-clx
844 (sbcl-package->cl-source-package sbcl-clx))
845
846 (define-public ecl-clx
847 (sbcl-package->ecl-package sbcl-clx))
848
849 (define-public sbcl-clx-truetype
850 (let ((commit "c6e10a918d46632324d5863a8ed067a83fc26de8")
851 (revision "1"))
852 (package
853 (name "sbcl-clx-truetype")
854 (version (git-version "0.0.1" revision commit))
855 (source
856 (origin
857 (method git-fetch)
858 (uri (git-reference
859 (url "https://github.com/l04m33/clx-truetype")
860 (commit commit)))
861 (file-name (git-file-name name version))
862 (sha256
863 (base32
864 "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37"))
865 (modules '((guix build utils)))
866 (snippet
867 '(begin
868 (substitute* "package.lisp"
869 ((":export") ":export\n :+font-cache-filename+"))
870 #t))))
871 (build-system asdf-build-system/sbcl)
872 (inputs
873 `(("clx" ,sbcl-clx)
874 ("zpb-ttf" ,sbcl-zpb-ttf)
875 ("cl-vectors" ,sbcl-cl-vectors)
876 ("cl-fad" ,sbcl-cl-fad)
877 ("cl-store" ,sbcl-cl-store)
878 ("trivial-features" ,sbcl-trivial-features)))
879 (home-page "https://github.com/l04m33/clx-truetype")
880 (synopsis "Antialiased TrueType font rendering using CLX and XRender")
881 (description "CLX-TrueType is pure common lisp solution for
882 antialiased TrueType font rendering using CLX and XRender extension.")
883 (license license:expat))))
884
885 (define-public cl-clx-truetype
886 (sbcl-package->cl-source-package sbcl-clx-truetype))
887
888 (define-public ecl-clx-truetype
889 (sbcl-package->ecl-package sbcl-clx-truetype))
890
891 (define-public sbcl-slynk
892 (let ((commit "0f46f91a9542599d62c0c332b39636b2941ea372"))
893 (package
894 (name "sbcl-slynk")
895 (version (git-version "1.0.43" "3" commit))
896 (source
897 (origin
898 (method git-fetch)
899 (uri
900 (git-reference
901 (url "https://github.com/joaotavora/sly")
902 (commit commit)))
903 (sha256
904 (base32 "0p3j0zylacy6vms8ngis2hx2351xnwfzsw3zy043q6vmqd14wrf1"))
905 (file-name (git-file-name "slynk" version))))
906 (build-system asdf-build-system/sbcl)
907 (outputs '("out" "image"))
908 (arguments
909 `(#:phases
910 (modify-phases %standard-phases
911 (add-after 'create-asdf-configuration 'build-image
912 (lambda* (#:key outputs #:allow-other-keys)
913 (build-image (string-append
914 (assoc-ref %outputs "image")
915 "/bin/slynk")
916 %outputs
917 #:dependencies '("slynk"
918 "slynk/arglists"
919 "slynk/fancy-inspector"
920 "slynk/package-fu"
921 "slynk/mrepl"
922 "slynk/trace-dialog"
923 "slynk/profiler"
924 "slynk/stickers"
925 "slynk/indentation"
926 "slynk/retro"))
927 #t)))))
928 (synopsis "Common Lisp IDE for Emacs")
929 (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
930 It also features a completely redesigned REPL based on Emacs's own
931 full-featured @code{comint-mode}, live code annotations, and a consistent interactive
932 button interface. Everything can be copied to the REPL. One can create
933 multiple inspectors with independent history.")
934 (home-page "https://github.com/joaotavora/sly")
935 (license license:public-domain)
936 (properties `((cl-source-variant . ,(delay cl-slynk)))))))
937
938 (define-public cl-slynk
939 (sbcl-package->cl-source-package sbcl-slynk))
940
941 (define-public ecl-slynk
942 (let ((pkg (sbcl-package->ecl-package sbcl-slynk)))
943 (package
944 (inherit pkg)
945 (outputs '("out"))
946 (arguments
947 (substitute-keyword-arguments (package-arguments pkg)
948 ((#:phases phases)
949 `(modify-phases ,phases
950 (delete 'build-image))))))))
951
952 (define-public sbcl-parse-js
953 (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
954 (revision "1"))
955 (package
956 (name "sbcl-parse-js")
957 (version (string-append "0.0.0-" revision "." (string-take commit 9)))
958 (source
959 (origin
960 (method git-fetch)
961 (uri (git-reference
962 (url "http://marijn.haverbeke.nl/git/parse-js")
963 (commit commit)))
964 (file-name (string-append name "-" commit "-checkout"))
965 (sha256
966 (base32
967 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
968 (build-system asdf-build-system/sbcl)
969 (home-page "https://marijnhaverbeke.nl/parse-js/")
970 (synopsis "Parse JavaScript")
971 (description "Parse-js is a Common Lisp package for parsing
972 JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
973 (license license:zlib))))
974
975 (define-public cl-parse-js
976 (sbcl-package->cl-source-package sbcl-parse-js))
977
978 (define-public ecl-parse-js
979 (sbcl-package->ecl-package sbcl-parse-js))
980
981 (define-public sbcl-parse-number
982 (package
983 (name "sbcl-parse-number")
984 (version "1.7")
985 (source
986 (origin
987 (method git-fetch)
988 (uri (git-reference
989 (url "https://github.com/sharplispers/parse-number/")
990 (commit (string-append "v" version))))
991 (file-name (git-file-name name version))
992 (sha256
993 (base32
994 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"))))
995 (build-system asdf-build-system/sbcl)
996 (home-page "https://www.cliki.net/PARSE-NUMBER")
997 (synopsis "Parse numbers")
998 (description "@code{parse-number} is a library of functions for parsing
999 strings into one of the standard Common Lisp number types without using the
1000 reader. @code{parse-number} accepts an arbitrary string and attempts to parse
1001 the string into one of the standard Common Lisp number types, if possible, or
1002 else @code{parse-number} signals an error of type @code{invalid-number}.")
1003 (license license:bsd-3)))
1004
1005 (define-public cl-parse-number
1006 (sbcl-package->cl-source-package sbcl-parse-number))
1007
1008 (define-public ecl-parse-number
1009 (sbcl-package->ecl-package sbcl-parse-number))
1010
1011 (define-public sbcl-iterate
1012 (package
1013 (name "sbcl-iterate")
1014 (version "1.5")
1015 (source
1016 (origin
1017 (method url-fetch)
1018 (uri (string-append "https://common-lisp.net/project/iterate/releases/"
1019 "iterate-" version ".tar.gz"))
1020 (sha256
1021 (base32
1022 "1lqsbhrkfl0yif46aymvb7l3nb9wdcmj4jyw485blj32jb4famzn"))))
1023 (build-system asdf-build-system/sbcl)
1024 (native-inputs
1025 `(("rt" ,sbcl-rt)))
1026 (home-page "https://common-lisp.net/project/iterate/")
1027 (synopsis "Iteration construct for Common Lisp")
1028 (description "@code{iterate} is an iteration construct for Common Lisp.
1029 It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
1030
1031 @itemize
1032 @item it is extensible,
1033 @item it helps editors like Emacs indent iterate forms by having a more
1034 lisp-like syntax, and
1035 @item it isn't part of the ANSI standard for Common Lisp.
1036 @end itemize\n")
1037 (license license:expat)))
1038
1039 (define-public cl-iterate
1040 (sbcl-package->cl-source-package sbcl-iterate))
1041
1042 (define-public ecl-iterate
1043 (sbcl-package->ecl-package sbcl-iterate))
1044
1045 (define-public sbcl-cl-uglify-js
1046 ;; There have been many bug fixes since the 2010 release.
1047 (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
1048 (revision "1"))
1049 (package
1050 (name "sbcl-cl-uglify-js")
1051 (version (string-append "0.1-" revision "." (string-take commit 9)))
1052 (source
1053 (origin
1054 (method git-fetch)
1055 (uri (git-reference
1056 (url "https://github.com/mishoo/cl-uglify-js")
1057 (commit commit)))
1058 (file-name (git-file-name name version))
1059 (sha256
1060 (base32
1061 "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"))))
1062 (build-system asdf-build-system/sbcl)
1063 (inputs
1064 `(("sbcl-parse-js" ,sbcl-parse-js)
1065 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
1066 ("sbcl-cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
1067 ("sbcl-parse-number" ,sbcl-parse-number)
1068 ("sbcl-iterate" ,sbcl-iterate)))
1069 (home-page "https://github.com/mishoo/cl-uglify-js")
1070 (synopsis "JavaScript compressor library for Common Lisp")
1071 (description "This is a Common Lisp version of UglifyJS, a JavaScript
1072 compressor. It works on data produced by @code{parse-js} to generate a
1073 @dfn{minified} version of the code. Currently it can:
1074
1075 @itemize
1076 @item reduce variable names (usually to single letters)
1077 @item join consecutive @code{var} statements
1078 @item resolve simple binary expressions
1079 @item group most consecutive statements using the @code{sequence} operator (comma)
1080 @item remove unnecessary blocks
1081 @item convert @code{IF} expressions in various ways that result in smaller code
1082 @item remove some unreachable code
1083 @end itemize\n")
1084 (license license:zlib))))
1085
1086 (define-public cl-uglify-js
1087 (sbcl-package->cl-source-package sbcl-cl-uglify-js))
1088
1089 (define-public ecl-cl-uglify-js
1090 (sbcl-package->ecl-package sbcl-cl-uglify-js))
1091
1092 (define-public uglify-js
1093 (package
1094 (inherit sbcl-cl-uglify-js)
1095 (name "uglify-js")
1096 (build-system trivial-build-system)
1097 (arguments
1098 `(#:modules ((guix build utils))
1099 #:builder
1100 (let* ((bin (string-append (assoc-ref %outputs "out") "/bin/"))
1101 (script (string-append bin "uglify-js")))
1102 (use-modules (guix build utils))
1103 (mkdir-p bin)
1104 (with-output-to-file script
1105 (lambda _
1106 (format #t "#!~a/bin/sbcl --script
1107
1108 (require :asdf)
1109 (asdf:initialize-source-registry
1110 #p\"~a/etc/common-lisp/source-registry.conf.d/\")
1111 (asdf:initialize-output-translations
1112 #p\"~a/etc/common-lisp/asdf-output-translations.conf.d/\")"
1113 (assoc-ref %build-inputs "sbcl")
1114 (assoc-ref %build-inputs "sbcl-cl-uglify-js")
1115 (assoc-ref %build-inputs "sbcl-cl-uglify-js"))
1116 ;; FIXME: cannot use progn here because otherwise it fails to
1117 ;; find cl-uglify-js.
1118 (for-each
1119 write
1120 '(;; Quiet, please!
1121 (let ((*standard-output* (make-broadcast-stream))
1122 (*error-output* (make-broadcast-stream)))
1123 (asdf:load-system :cl-uglify-js))
1124 (let ((file (cadr *posix-argv*)))
1125 (if file
1126 (format t "~a"
1127 (cl-uglify-js:ast-gen-code
1128 (cl-uglify-js:ast-mangle
1129 (cl-uglify-js:ast-squeeze
1130 (with-open-file (in file)
1131 (parse-js:parse-js in))))
1132 :beautify nil))
1133 (progn
1134 (format *error-output*
1135 "Please provide a JavaScript file.~%")
1136 (sb-ext:exit :code 1))))))))
1137 (chmod script #o755)
1138 #t)))
1139 (inputs
1140 `(("sbcl" ,sbcl)
1141 ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
1142 (synopsis "JavaScript compressor")))
1143
1144 (define-public sbcl-cl-strings
1145 (let ((revision "1")
1146 (commit "c5c5cbafbf3e6181d03c354d66e41a4f063f00ae"))
1147 (package
1148 (name "sbcl-cl-strings")
1149 (version (git-version "0.0.0" revision commit))
1150 (source
1151 (origin
1152 (method git-fetch)
1153 (uri (git-reference
1154 (url "https://github.com/diogoalexandrefranco/cl-strings")
1155 (commit commit)))
1156 (sha256
1157 (base32
1158 "00754mfaqallj480lwd346nkfb6ra8pa8xcxcylf4baqn604zlmv"))
1159 (file-name (string-append "cl-strings-" version "-checkout"))))
1160 (build-system asdf-build-system/sbcl)
1161 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
1162 (description
1163 "@command{cl-strings} is a small, portable, dependency-free set of
1164 utilities that make it even easier to manipulate text in Common Lisp. It has
1165 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
1166 (home-page "https://github.com/diogoalexandrefranco/cl-strings")
1167 (license license:expat))))
1168
1169 (define-public cl-strings
1170 (sbcl-package->cl-source-package sbcl-cl-strings))
1171
1172 (define-public ecl-cl-strings
1173 (sbcl-package->ecl-package sbcl-cl-strings))
1174
1175 (define-public sbcl-trivial-features
1176 ;; No release since 2014.
1177 (let ((commit "870d03de0ed44067963350936856e17ee725153e"))
1178 (package
1179 (name "sbcl-trivial-features")
1180 (version (git-version "0.8" "1" commit))
1181 (source
1182 (origin
1183 (method git-fetch)
1184 (uri (git-reference
1185 (url "https://github.com/trivial-features/trivial-features")
1186 (commit commit)))
1187 (file-name (git-file-name "trivial-features" version))
1188 (sha256
1189 (base32 "14pcahr8r2j3idhyy216zyw8jnj1dnrx0qbkkbdqkvwzign1ah4j"))))
1190 (build-system asdf-build-system/sbcl)
1191 (arguments
1192 '(#:asd-files '("trivial-features.asd")
1193 #:tests? #f))
1194 (home-page "https://cliki.net/trivial-features")
1195 (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
1196 (description "Trivial-features ensures that @code{*FEATURES*} is
1197 consistent across multiple Common Lisp implementations.")
1198 (license license:expat))))
1199
1200 (define-public cl-trivial-features
1201 (sbcl-package->cl-source-package sbcl-trivial-features))
1202
1203 (define-public ecl-trivial-features
1204 (sbcl-package->ecl-package sbcl-trivial-features))
1205
1206 (define-public sbcl-hu.dwim.asdf
1207 (package
1208 (name "sbcl-hu.dwim.asdf")
1209 (version "20190521")
1210 (source
1211 (origin
1212 (method url-fetch)
1213 (uri (string-append "http://beta.quicklisp.org/archive/hu.dwim.asdf/"
1214 "2019-05-21/hu.dwim.asdf-" version "-darcs.tgz"))
1215 (sha256
1216 (base32
1217 "0rsbv71vyszy8w35yjwb5h6zcmknjq223hkzir79y72qdsc6sabn"))))
1218 (build-system asdf-build-system/sbcl)
1219 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.asdf")
1220 (synopsis "Extensions to ASDF")
1221 (description "Various ASDF extensions such as attached test and
1222 documentation system, explicit development support, etc.")
1223 (license license:public-domain)))
1224
1225 (define-public cl-hu.dwim.asdf
1226 (sbcl-package->cl-source-package sbcl-hu.dwim.asdf))
1227
1228 (define-public ecl-hu.dwim.asdf
1229 (sbcl-package->ecl-package sbcl-hu.dwim.asdf))
1230
1231 (define-public sbcl-hu.dwim.stefil
1232 (let ((commit "ab6d1aa8995878a1b66d745dfd0ba021090bbcf9"))
1233 (package
1234 (name "sbcl-hu.dwim.stefil")
1235 (version (git-version "0.0.0" "1" commit))
1236 (source
1237 (origin
1238 (method git-fetch)
1239 (uri
1240 (git-reference
1241 (url "https://gitlab.common-lisp.net/xcvb/hu.dwim.stefil.git")
1242 (commit commit)))
1243 (sha256
1244 (base32 "1d8yccw65zj3zh46cbi3x6nmn1dwdb76s9d0av035077mvyirqqp"))
1245 (file-name (git-file-name "hu.dwim.stefil" version))))
1246 (build-system asdf-build-system/sbcl)
1247 (native-inputs
1248 `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
1249 (inputs
1250 `(("sbcl-alexandria" ,sbcl-alexandria)))
1251 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.stefil")
1252 (synopsis "Simple test framework")
1253 (description "Stefil is a simple test framework for Common Lisp,
1254 with a focus on interactive development.")
1255 (license license:public-domain))))
1256
1257 (define-public cl-hu.dwim.stefil
1258 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
1259
1260 (define-public ecl-hu.dwim.stefil
1261 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
1262
1263 (define-public sbcl-babel
1264 ;; No release since 2014.
1265 (let ((commit "aeed2d1b76358db48e6b70a64399c05678a6b9ea"))
1266 (package
1267 (name "sbcl-babel")
1268 (version (git-version "0.5.0" "1" commit))
1269 (source
1270 (origin
1271 (method git-fetch)
1272 (uri (git-reference
1273 (url "https://github.com/cl-babel/babel")
1274 (commit commit)))
1275 (file-name (git-file-name "babel" version))
1276 (sha256
1277 (base32 "0lkvv4xdpv4cv1y2bqillmabx8sdb2y4l6pbinq6mjh33w2brpvb"))))
1278 (build-system asdf-build-system/sbcl)
1279 (native-inputs
1280 `(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
1281 (inputs
1282 `(("sbcl-alexandria" ,sbcl-alexandria)
1283 ("sbcl-trivial-features" ,sbcl-trivial-features)))
1284 (home-page "https://common-lisp.net/project/babel/")
1285 (synopsis "Charset encoding and decoding library")
1286 (description "Babel is a charset encoding and decoding library, not unlike
1287 GNU libiconv, but completely written in Common Lisp.")
1288 (license license:expat))))
1289
1290 (define-public cl-babel
1291 (sbcl-package->cl-source-package sbcl-babel))
1292
1293 (define-public ecl-babel
1294 (sbcl-package->ecl-package sbcl-babel))
1295
1296 (define-public sbcl-cl-yacc
1297 (package
1298 (name "sbcl-cl-yacc")
1299 (version "0.3")
1300 (source
1301 (origin
1302 (method git-fetch)
1303 (uri (git-reference
1304 (url "https://github.com/jech/cl-yacc")
1305 (commit (string-append "cl-yacc-" version))))
1306 (sha256
1307 (base32
1308 "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib"))
1309 (file-name (string-append "cl-yacc-" version "-checkout"))))
1310 (build-system asdf-build-system/sbcl)
1311 (arguments
1312 `(#:asd-systems '("yacc")))
1313 (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc")
1314 (description
1315 "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit
1316 to AT&T Yacc, Berkeley Yacc, GNU Bison, Zebu, lalr.cl or lalr.scm.
1317
1318 CL-Yacc uses the algorithm due to Aho and Ullman, which is the one also used
1319 by AT&T Yacc, Berkeley Yacc and Zebu. It does not use the faster algorithm due
1320 to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
1321 (home-page "https://www.irif.fr/~jch//software/cl-yacc/")
1322 (license license:expat)))
1323
1324 (define-public cl-yacc
1325 (sbcl-package->cl-source-package sbcl-cl-yacc))
1326
1327 (define-public ecl-cl-yacc
1328 (sbcl-package->ecl-package sbcl-cl-yacc))
1329
1330 (define-public sbcl-eager-future2
1331 (let ((commit "54df8effd9d9eccac917509590286b5ac5f9cb30"))
1332 (package
1333 (name "sbcl-eager-future2")
1334 (version (git-version "0.0.0" "1" commit))
1335 (source
1336 (origin
1337 (method git-fetch)
1338 (uri (git-reference
1339 (url "https://gitlab.common-lisp.net/vsedach/eager-future2.git")
1340 (commit commit)))
1341 (file-name (git-file-name name version))
1342 (sha256
1343 (base32
1344 "1qs1bv3m0ki8l5czhsflxcryh22r9d9g9a3a3b0cr0pl954q5rld"))))
1345 (build-system asdf-build-system/sbcl)
1346 (inputs
1347 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1348 ("trivial-garbage" ,sbcl-trivial-garbage)))
1349 (synopsis "Futures promises synchronization mechanism for Common Lisp")
1350 (description
1351 "Eager Future2 is a Common Lisp library that provides composable
1352 concurrency primitives that unify parallel and lazy evaluation, are integrated
1353 with the Common Lisp condition system, and have automatic resource
1354 management.")
1355 (home-page "https://gitlab.common-lisp.net/vsedach/eager-future2")
1356 (license license:lgpl3+))))
1357
1358 (define-public cl-eager-future2
1359 (sbcl-package->cl-source-package sbcl-eager-future2))
1360
1361 (define-public ecl-eager-future2
1362 (sbcl-package->ecl-package sbcl-eager-future2))
1363
1364 (define-public sbcl-jpl-util
1365 (let ((commit "0311ed374e19a49d43318064d729fe3abd9a3b62"))
1366 (package
1367 (name "sbcl-jpl-util")
1368 (version "20151005")
1369 (source
1370 (origin
1371 (method git-fetch)
1372 (uri (git-reference
1373 ;; Quicklisp uses this fork.
1374 (url "https://github.com/hawkir/cl-jpl-util")
1375 (commit commit)))
1376 (file-name
1377 (git-file-name "jpl-util" version))
1378 (sha256
1379 (base32
1380 "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"))))
1381 (build-system asdf-build-system/sbcl)
1382 (synopsis "Collection of Common Lisp utility functions and macros")
1383 (description
1384 "@command{cl-jpl-util} is a collection of Common Lisp utility functions
1385 and macros, primarily for software projects written in CL by the author.")
1386 (home-page "https://www.thoughtcrime.us/software/cl-jpl-util/")
1387 (license license:isc))))
1388
1389 (define-public cl-jpl-util
1390 (sbcl-package->cl-source-package sbcl-jpl-util))
1391
1392 (define-public ecl-jpl-util
1393 (sbcl-package->ecl-package sbcl-jpl-util))
1394
1395 (define-public sbcl-piping
1396 (let ((commit "c7a4163c00dea7e72bf6ad33d6abac0d5826a656")
1397 (revision "1"))
1398 (package
1399 (name "sbcl-piping")
1400 (version (git-version "2.0.0" revision commit))
1401 (source
1402 (origin
1403 (method git-fetch)
1404 (uri (git-reference
1405 (url "https://github.com/Shinmera/piping/")
1406 (commit commit)))
1407 (file-name (git-file-name "piping" version))
1408 (sha256
1409 (base32 "0in84qnfkynm36d4n4d6v87vprpi27xrydnga462wfhplji6klv5"))))
1410 (build-system asdf-build-system/sbcl)
1411 (home-page "https://shinmera.github.io/piping/")
1412 (synopsis "Library to enable simple message pipelines")
1413 (description
1414 "This is a Common Lisp library to enable simple message pipelines.")
1415 (license license:zlib))))
1416
1417 (define-public ecl-piping
1418 (sbcl-package->ecl-package sbcl-piping))
1419
1420 (define-public cl-piping
1421 (sbcl-package->cl-source-package sbcl-piping))
1422
1423 (define-public sbcl-cl-pcg
1424 (let ((commit "8263d85ab0ca17fb05637a4430c2d564456bce8f")
1425 (revision "1"))
1426 (package
1427 (name "sbcl-cl-pcg")
1428 (version (git-version "1.0.0" revision commit))
1429 (source
1430 (origin
1431 (method git-fetch)
1432 (uri (git-reference
1433 (url "https://github.com/sjl/cl-pcg")
1434 (commit commit)))
1435 (file-name (git-file-name "cl-pcg" version))
1436 (sha256
1437 (base32 "0s57wvvlvshp1gcp9i9d3qcmqhswnxps3i0y7wbb0v8i1a3p46m4"))))
1438 (build-system asdf-build-system/sbcl)
1439 (native-inputs
1440 `(("1am" ,sbcl-1am)))
1441 (home-page "https://github.com/sjl/cl-pcg")
1442 (synopsis "Permuted congruential generators in Common Lisp")
1443 (description
1444 "This is a bare-bones Permuted Congruential Generator implementation in
1445 pure Common Lisp.")
1446 (license license:expat))))
1447
1448 (define-public ecl-cl-pcg
1449 (sbcl-package->ecl-package sbcl-cl-pcg))
1450
1451 (define-public cl-pcg
1452 (sbcl-package->cl-source-package sbcl-cl-pcg))
1453
1454 (define-public sbcl-seedable-rng
1455 (let ((commit "aa1a1564b6e07e2698df37c7a98348c4f762cb15")
1456 (revision "1"))
1457 (package
1458 (name "sbcl-seedable-rng")
1459 (version (git-version "0.0.0" revision commit))
1460 (source
1461 (origin
1462 (method git-fetch)
1463 (uri (git-reference
1464 (url "https://git.mfiano.net/mfiano/seedable-rng")
1465 (commit commit)))
1466 (file-name (git-file-name "seedable-rng" version))
1467 (sha256
1468 (base32 "1ldpsbp3qrfzvknclsxj3sdyms1jf9ad20dvh4w0kw3zgahn2nr5"))))
1469 (build-system asdf-build-system/sbcl)
1470 (inputs
1471 `(("cl-pcg" ,sbcl-cl-pcg)
1472 ("golden-utils" ,sbcl-golden-utils)
1473 ("ironclad" ,sbcl-ironclad)))
1474 (home-page "https://git.mfiano.net/mfiano/seedable-rng")
1475 (synopsis "Common Lisp random number generator")
1476 (description
1477 "SEEDABLE-RNG provides a convenient means of generating random numbers
1478 that are seedable with deterministic results across hardware and Common Lisp
1479 implementations.")
1480 (license license:expat))))
1481
1482 (define-public ecl-seedable-rng
1483 (sbcl-package->ecl-package sbcl-seedable-rng))
1484
1485 (define-public cl-seedable-rng
1486 (sbcl-package->cl-source-package sbcl-seedable-rng))
1487
1488 (define-public sbcl-jpl-queues
1489 (package
1490 (name "sbcl-jpl-queues")
1491 (version "0.1")
1492 (source
1493 (origin
1494 (method url-fetch)
1495 (uri (string-append
1496 "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-"
1497 version
1498 ".tar.gz"))
1499 (sha256
1500 (base32
1501 "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96"))))
1502 (build-system asdf-build-system/sbcl)
1503 (inputs
1504 `(("jpl-util" ,sbcl-jpl-util)
1505 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1506 (arguments
1507 ;; Tests seem to be broken.
1508 `(#:tests? #f))
1509 (synopsis "Common Lisp library implementing a few different kinds of queues")
1510 (description
1511 "A Common Lisp library implementing a few different kinds of queues:
1512
1513 @itemize
1514 @item Bounded and unbounded FIFO queues.
1515 @item Lossy bounded FIFO queues that drop elements when full.
1516 @item Unbounded random-order queues that use less memory than unbounded FIFO queues.
1517 @end itemize
1518
1519 Additionally, a synchronization wrapper is provided to make any queue
1520 conforming to the @command{jpl-queues} API thread-safe for lightweight
1521 multithreading applications. (See Calispel for a more sophisticated CL
1522 multithreaded message-passing library with timeouts and alternation among
1523 several blockable channels.)")
1524 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1525 (license license:isc)))
1526
1527 (define-public cl-jpl-queues
1528 (sbcl-package->cl-source-package sbcl-jpl-queues))
1529
1530 (define-public ecl-jpl-queues
1531 (sbcl-package->ecl-package sbcl-jpl-queues))
1532
1533 (define-public sbcl-calispel
1534 (let ((commit "e9f2f9c1af97f4d7bb4c8ac25fb2a8f3e8fada7a"))
1535 (package
1536 (name "sbcl-calispel")
1537 (version (git-version "0.1" "1" commit))
1538 (source
1539 (origin
1540 (method git-fetch)
1541 (uri (git-reference
1542 ;; This fork replaces the dependency on the obsolete
1543 ;; eager-future with eager-future2.
1544 (url "https://github.com/hawkir/calispel")
1545 (commit commit)))
1546 (file-name (git-file-name name version))
1547 (sha256
1548 (base32
1549 "08bmf3pi7n5hadpmqqkg65cxcj6kbvm997wcs1f53ml1nb79d9z8"))))
1550 (build-system asdf-build-system/sbcl)
1551 (inputs
1552 `(("jpl-queues" ,sbcl-jpl-queues)
1553 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1554 (native-inputs
1555 `(("eager-future2" ,sbcl-eager-future2)))
1556 (synopsis "Thread-safe message-passing channels in Common Lisp")
1557 (description
1558 "Calispel is a Common Lisp library for thread-safe message-passing
1559 channels, in the style of the occam programming language, also known as
1560 communicating sequential processes (CSP). See
1561 @url{https://en.wikipedia.org/wiki/Communicating_sequential_processes}.
1562
1563 Calispel channels let one thread communicate with another, facilitating
1564 unidirectional communication of any Lisp object. Channels may be unbuffered,
1565 where a sender waits for a receiver (or vice versa) before either operation can
1566 continue, or channels may be buffered with flexible policy options.
1567
1568 Because sending and receiving on a channel may block, either operation can time
1569 out after a specified amount of time.
1570
1571 A syntax for alternation is provided (like @code{ALT} in occam, or Unix
1572 @code{select()}): given a sequence of operations, any or all of which may
1573 block, alternation selects the first operation that doesn't block and executes
1574 associated code. Alternation can also time out, executing an \"otherwise\"
1575 clause if no operation becomes available within a set amount of time.
1576
1577 Calispel is a message-passing library, and as such leaves the role of
1578 threading abstractions and utilities left to be filled by complementary
1579 libraries such as Bordeaux-Threads and Eager Future.")
1580 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1581 (license license:isc))))
1582
1583 (define-public cl-calispel
1584 (sbcl-package->cl-source-package sbcl-calispel))
1585
1586 (define-public ecl-calispel
1587 (sbcl-package->ecl-package sbcl-calispel))
1588
1589 (define-public sbcl-eos
1590 (let ((commit "b4413bccc4d142cbe1bf49516c3a0a22c9d99243")
1591 (revision "2"))
1592 (package
1593 (name "sbcl-eos")
1594 (version (git-version "0.0.0" revision commit))
1595 (source
1596 (origin
1597 (method git-fetch)
1598 (uri (git-reference
1599 (url "https://github.com/adlai/Eos")
1600 (commit commit)))
1601 (sha256
1602 (base32 "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk"))
1603 (file-name (git-file-name "eos" version))))
1604 (build-system asdf-build-system/sbcl)
1605 (synopsis "Unit Testing for Common Lisp")
1606 (description
1607 "Eos was a unit testing library for Common Lisp.
1608 It began as a fork of FiveAM; however, FiveAM development has continued, while
1609 that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
1610 (home-page "https://github.com/adlai/Eos")
1611 (license license:expat))))
1612
1613 (define-public cl-eos
1614 (sbcl-package->cl-source-package sbcl-eos))
1615
1616 (define-public ecl-eos
1617 (sbcl-package->ecl-package sbcl-eos))
1618
1619 (define-public sbcl-esrap
1620 (let ((commit "133be8b05c2aae48696fe5b739eea2fa573fa48d"))
1621 (package
1622 (name "sbcl-esrap")
1623 (version (git-version "0.0.0" "1" commit))
1624 (source
1625 (origin
1626 (method git-fetch)
1627 (uri (git-reference
1628 (url "https://github.com/nikodemus/esrap")
1629 (commit commit)))
1630 (sha256
1631 (base32
1632 "02d5clihsdryhf7pix8c5di2571fdsffh75d40fkzhws90r5mksl"))
1633 (file-name (git-file-name "esrap" version))))
1634 (build-system asdf-build-system/sbcl)
1635 (native-inputs
1636 `(("eos" ,sbcl-eos))) ;For testing only.
1637 (inputs
1638 `(("alexandria" ,sbcl-alexandria)))
1639 (synopsis "Common Lisp packrat parser")
1640 (description
1641 "A packrat parser for Common Lisp.
1642 In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
1643
1644 @itemize
1645 @item dynamic redefinition of nonterminals
1646 @item inline grammars
1647 @item semantic predicates
1648 @item introspective facilities (describing grammars, tracing, setting breaks)
1649 @end itemize\n")
1650 (home-page "https://nikodemus.github.io/esrap/")
1651 (license license:expat))))
1652
1653 (define-public cl-esrap
1654 (sbcl-package->cl-source-package sbcl-esrap))
1655
1656 (define-public ecl-esrap
1657 (sbcl-package->ecl-package sbcl-esrap))
1658
1659 (define-public sbcl-split-sequence
1660 (package
1661 (name "sbcl-split-sequence")
1662 (version "2.0.0")
1663 (source
1664 (origin
1665 (method git-fetch)
1666 (uri (git-reference
1667 (url "https://github.com/sharplispers/split-sequence")
1668 (commit (string-append "v" version))))
1669 (sha256
1670 (base32
1671 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
1672 (file-name (git-file-name "split-sequence" version))))
1673 (build-system asdf-build-system/sbcl)
1674 (native-inputs
1675 `(("fiveam" ,sbcl-fiveam)))
1676 (synopsis "Member of the Common Lisp Utilities family of programs")
1677 (description
1678 "Splits sequence into a list of subsequences delimited by objects
1679 satisfying the test.")
1680 (home-page "https://cliki.net/split-sequence")
1681 (license license:expat)))
1682
1683 (define-public cl-split-sequence
1684 (sbcl-package->cl-source-package sbcl-split-sequence))
1685
1686 (define-public ecl-split-sequence
1687 (sbcl-package->ecl-package sbcl-split-sequence))
1688
1689 (define-public sbcl-html-encode
1690 (package
1691 (name "sbcl-html-encode")
1692 (version "1.2")
1693 (source
1694 (origin
1695 (method url-fetch)
1696 (uri (string-append
1697 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1698 version ".tgz"))
1699 (sha256
1700 (base32
1701 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1702 (file-name (string-append "colorize" version "-checkout"))))
1703 (build-system asdf-build-system/sbcl)
1704 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1705 (description
1706 "A library for encoding text in various web-savvy encodings.")
1707 (home-page "http://quickdocs.org/html-encode/")
1708 (license license:expat)))
1709
1710 (define-public cl-html-encode
1711 (sbcl-package->cl-source-package sbcl-html-encode))
1712
1713 (define-public ecl-html-encode
1714 (sbcl-package->ecl-package sbcl-html-encode))
1715
1716 (define-public sbcl-colorize
1717 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1718 (package
1719 (name "sbcl-colorize")
1720 (version (git-version "0.0.0" "1" commit))
1721 (source
1722 (origin
1723 (method git-fetch)
1724 (uri (git-reference
1725 (url "https://github.com/kingcons/colorize")
1726 (commit commit)))
1727 (sha256
1728 (base32
1729 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1730 (file-name (git-file-name "colorize" version))))
1731 (build-system asdf-build-system/sbcl)
1732 (inputs
1733 `(("alexandria" ,sbcl-alexandria)
1734 ("split-sequence" ,sbcl-split-sequence)
1735 ("html-encode" ,sbcl-html-encode)))
1736 (synopsis "Common Lisp for syntax highlighting")
1737 (description
1738 "@command{colorize} is a Lisp library for syntax highlighting
1739 supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1740 C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1741 (home-page "https://github.com/kingcons/colorize")
1742 ;; TODO: Missing license?
1743 (license license:expat))))
1744
1745 (define-public cl-colorize
1746 (sbcl-package->cl-source-package sbcl-colorize))
1747
1748 (define-public ecl-colorize
1749 (sbcl-package->ecl-package sbcl-colorize))
1750
1751 (define-public sbcl-3bmd
1752 (let ((commit "6fc5759448f6f6df6f6df556e020a289a2643288")
1753 (revision "2"))
1754 (package
1755 (name "sbcl-3bmd")
1756 (version (git-version "0.0.0" revision commit))
1757 (source
1758 (origin
1759 (method git-fetch)
1760 (uri (git-reference
1761 (url "https://github.com/3b/3bmd")
1762 (commit commit)))
1763 (sha256
1764 (base32 "1avmbp8xdjlbqpqk7p3vmj7abiw5p3vb5mrxp4wlvgql4sf6z3p4"))
1765 (file-name (git-file-name "3bmd" version))))
1766 (build-system asdf-build-system/sbcl)
1767 (arguments
1768 ;; FIXME: #41437 - Build fails when package name starts from a digit
1769 `(#:asd-systems
1770 '("3bmd"
1771 "3bmd-ext-definition-lists"
1772 "3bmd-ext-math"
1773 "3bmd-ext-tables"
1774 "3bmd-ext-wiki-links"
1775 "3bmd-youtube"
1776 "3bmd-ext-code-blocks")))
1777 (inputs
1778 `(("alexandria" ,sbcl-alexandria)
1779 ("colorize" ,sbcl-colorize)
1780 ("esrap" ,sbcl-esrap)
1781 ("split-sequence" ,sbcl-split-sequence)))
1782 (home-page "https://github.com/3b/3bmd")
1783 (synopsis "Markdown processor in Command Lisp using esrap parser")
1784 (description
1785 "This is a Common Lisp Markdown to HTML converter, using @command{esrap}
1786 for parsing, and grammar based on @command{peg-markdown}.")
1787 (license license:expat))))
1788
1789 (define-public cl-3bmd
1790 (sbcl-package->cl-source-package sbcl-3bmd))
1791
1792 (define-public ecl-3bmd
1793 (sbcl-package->ecl-package sbcl-3bmd))
1794
1795 (define-public sbcl-cl-fad
1796 (package
1797 (name "sbcl-cl-fad")
1798 (version "0.7.6")
1799 (source
1800 (origin
1801 (method git-fetch)
1802 (uri (git-reference
1803 (url "https://github.com/edicl/cl-fad/")
1804 (commit (string-append "v" version))))
1805 (sha256
1806 (base32
1807 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
1808 (file-name (string-append "cl-fad" version "-checkout"))))
1809 (build-system asdf-build-system/sbcl)
1810 (inputs
1811 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
1812 (synopsis "Portable pathname library for Common Lisp")
1813 (description
1814 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
1815 Lisp's standard pathname functions. It is intended to provide some
1816 unification between current CL implementations on Windows, OS X, Linux, and
1817 Unix. Most of the code was written by Peter Seibel for his book Practical
1818 Common Lisp.")
1819 (home-page "https://edicl.github.io/cl-fad/")
1820 (license license:bsd-2)))
1821
1822 (define-public cl-fad
1823 (sbcl-package->cl-source-package sbcl-cl-fad))
1824
1825 (define-public ecl-cl-fad
1826 (sbcl-package->ecl-package sbcl-cl-fad))
1827
1828 (define-public sbcl-fn
1829 (let ((commit "8d8587d03a7b5e26b306fc90018e385d9e5acc2c")
1830 (revision "1"))
1831 (package
1832 (name "sbcl-fn")
1833 (version (git-version "0.0.0" revision commit))
1834 (source
1835 (origin
1836 (method git-fetch)
1837 (uri (git-reference
1838 (url "https://github.com/cbaggers/fn")
1839 (commit commit)))
1840 (file-name (git-file-name "fn" version))
1841 (sha256
1842 (base32 "0yyp9z6iwx476whz0n1rpjznjyqqhlylhzwpgg5xx92lxmskl752"))))
1843 (build-system asdf-build-system/sbcl)
1844 (inputs
1845 `(("named-readtables" ,sbcl-named-readtables)))
1846 (home-page "https://github.com/cbaggers/fn")
1847 (synopsis "Macros for lambda brevity")
1848 (description
1849 "This is a Common Lisp library providing lambda shorthand macros aiming
1850 to be used in cases where the word @emph{lambda} and the arguments are longer
1851 than the body of the lambda.")
1852 (license license:public-domain))))
1853
1854 (define-public ecl-fn
1855 (sbcl-package->ecl-package sbcl-fn))
1856
1857 (define-public cl-fn
1858 (sbcl-package->cl-source-package sbcl-fn))
1859
1860 (define-public sbcl-rt
1861 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
1862 (revision "1"))
1863 (package
1864 (name "sbcl-rt")
1865 (version (git-version "1990.12.19" revision commit))
1866 (source
1867 (origin
1868 (method git-fetch)
1869 (uri (git-reference
1870 (url "http://git.kpe.io/rt.git")
1871 (commit commit)))
1872 (file-name (git-file-name name version))
1873 (sha256
1874 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
1875 (build-system asdf-build-system/sbcl)
1876 (synopsis "MIT Regression Tester")
1877 (description
1878 "RT provides a framework for writing regression test suites.")
1879 (home-page "https://www.cliki.net/rt")
1880 (license license:expat))))
1881
1882 (define-public cl-rt
1883 (sbcl-package->cl-source-package sbcl-rt))
1884
1885 (define-public ecl-rt
1886 (sbcl-package->ecl-package sbcl-rt))
1887
1888 (define-public sbcl-nibbles
1889 ;; No tagged release since 2018.
1890 (let ((commit "8e6b9b42d9f69000f55e5c45ad974d9e376ffdbd")
1891 (revision "1"))
1892 (package
1893 (name "sbcl-nibbles")
1894 (version (git-version "0.14" revision commit))
1895 (source
1896 (origin
1897 (method git-fetch)
1898 (uri (git-reference
1899 (url "https://github.com/sharplispers/nibbles/")
1900 (commit commit)))
1901 (sha256
1902 (base32 "15qlsm82h36pjgvfnbzdg60l21qxbaii4d049jc5y0dn56y93amb"))
1903 (file-name (git-file-name "nibbles" version))))
1904 (build-system asdf-build-system/sbcl)
1905 (native-inputs
1906 ;; Tests only.
1907 `(("rt" ,sbcl-rt)))
1908 (synopsis
1909 "Common Lisp library for accessing octet-addressed blocks of data")
1910 (description
1911 "When dealing with network protocols and file formats, it's common to
1912 have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
1913 flavors. Common Lisp sort of supports this by specifying :element-type for
1914 streams, but that facility is underspecified and there's nothing similar for
1915 read/write from octet vectors. What most people wind up doing is rolling their
1916 own small facility for their particular needs and calling it a day.
1917
1918 This library attempts to be comprehensive and centralize such
1919 facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
1920 vectors in signed or unsigned flavors are provided; these functions are also
1921 SETFable. Since it's sometimes desirable to read/write directly from streams,
1922 functions for doing so are also provided. On some implementations,
1923 reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
1924 also be supported.")
1925 (home-page "https://github.com/sharplispers/nibbles")
1926 (license license:bsd-3))))
1927
1928 (define-public cl-nibbles
1929 (sbcl-package->cl-source-package sbcl-nibbles))
1930
1931 (define-public ecl-nibbles
1932 (sbcl-package->ecl-package sbcl-nibbles))
1933
1934 (define-public sbcl-ironclad
1935 (package
1936 (name "sbcl-ironclad")
1937 (version "0.54")
1938 (source
1939 (origin
1940 (method git-fetch)
1941 (uri (git-reference
1942 (url "https://github.com/sharplispers/ironclad/")
1943 (commit (string-append "v" version))))
1944 (sha256
1945 (base32 "07g0wpvfqq2yk23prs890d4qvbnr3xd6w8ssd88g89xdg483wpvk"))
1946 (file-name (git-file-name name version))))
1947 (build-system asdf-build-system/sbcl)
1948 (native-inputs
1949 ;; Tests only.
1950 `(("rt" ,sbcl-rt)))
1951 (inputs
1952 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1953 ("flexi-streams" ,sbcl-flexi-streams)))
1954 (synopsis "Cryptographic toolkit written in Common Lisp")
1955 (description
1956 "Ironclad is a cryptography library written entirely in Common Lisp.
1957 It includes support for several popular ciphers, digests, MACs and public key
1958 cryptography algorithms. For several implementations that support Gray
1959 streams, support is included for convenient stream wrappers.")
1960 (home-page "https://github.com/sharplispers/ironclad")
1961 (license license:bsd-3)))
1962
1963 (define-public cl-ironclad
1964 (sbcl-package->cl-source-package sbcl-ironclad))
1965
1966 (define-public ecl-ironclad
1967 (sbcl-package->ecl-package sbcl-ironclad))
1968
1969 (define-public sbcl-named-readtables
1970 (let ((commit "585a28eee8b1b1999279b48cb7e9731187e14b66")
1971 (revision "3"))
1972 (package
1973 (name "sbcl-named-readtables")
1974 (version (git-version "0.9" revision commit))
1975 (source
1976 (origin
1977 (method git-fetch)
1978 (uri (git-reference
1979 (url "https://github.com/melisgl/named-readtables")
1980 (commit commit)))
1981 (sha256
1982 (base32 "072p5djqq9pliw9r20rmpz5r5q5yn6rhbp98vkkp7gfcnp5ppj51"))
1983 (file-name (git-file-name "named-readtables" version))))
1984 (build-system asdf-build-system/sbcl)
1985 (home-page "https://github.com/melisgl/named-readtables/")
1986 (synopsis "Library that creates a namespace for named readtables")
1987 (description
1988 "Named readtables is a library that creates a namespace for named
1989 readtables, which is akin to package namespacing in Common Lisp.")
1990 (license license:bsd-3))))
1991
1992 (define-public cl-named-readtables
1993 (sbcl-package->cl-source-package sbcl-named-readtables))
1994
1995 (define-public ecl-named-readtables
1996 (sbcl-package->ecl-package sbcl-named-readtables))
1997
1998 (define-public sbcl-py-configparser
1999 ;; NOTE: (Sharlatan <2021-01-05 Tue> <19:52:19 UTC+0000>) Project updated last
2000 ;; time 8y ago, it looks like abandoned. VCS of the project:
2001 ;; https://svn.common-lisp.net/py-configparser/trunk
2002 (package
2003 (name "sbcl-py-configparser")
2004 (version "1.0.3")
2005 (source
2006 (origin
2007 (method url-fetch)
2008 (uri (string-append
2009 "https://common-lisp.net/project/py-configparser/releases/"
2010 "py-configparser-" version ".tar.gz"))
2011 (sha256
2012 (base32 "0i4rqz5cv7d7c2w81x5lwy05s6fbi3zikf4k5kpi3bkx3cabwdxj"))))
2013 (build-system asdf-build-system/sbcl)
2014 (inputs
2015 `(("parse-number" ,sbcl-parse-number)))
2016 (home-page "http://common-lisp.net/project/py-configparser/")
2017 (synopsis "ConfigParser Python module functionality for Common Lisp")
2018 (description "The py-configparser package implements the ConfigParser
2019 Python module functionality in Common Lisp. In short, it implements reading
2020 and writing of .INI-file style configuration files with sections containing
2021 key/value pairs of configuration options. In line with the functionalities in
2022 the python module, does this package implement basic interpolation of option
2023 values in other options.")
2024 (license license:expat)))
2025
2026 (define-public cl-py-configparser
2027 (sbcl-package->cl-source-package sbcl-py-configparser))
2028
2029 (define-public ecl-py-configparser
2030 (sbcl-package->ecl-package sbcl-py-configparser))
2031
2032 (define-public sbcl-pythonic-string-reader
2033 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
2034 (package
2035 (name "sbcl-pythonic-string-reader")
2036 (version (git-version "0.0.0" "1" commit))
2037 (source
2038 (origin
2039 (method git-fetch)
2040 (uri (git-reference
2041 (url "https://github.com/smithzvk/pythonic-string-reader/")
2042 (commit commit)))
2043 (sha256
2044 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
2045 (file-name (git-file-name "pythonic-string-reader" version))))
2046 (build-system asdf-build-system/sbcl)
2047 (inputs
2048 `(("named-readtables" ,sbcl-named-readtables)))
2049 (home-page "https://github.com/smithzvk/pythonic-string-reader")
2050 (synopsis "Read table modification inspired by Python's three quote strings")
2051 (description "This piece of code sets up some reader macros that make it
2052 simpler to input string literals which contain backslashes and double quotes
2053 This is very useful for writing complicated docstrings and, as it turns out,
2054 writing code that contains string literals that contain code themselves.")
2055 (license license:bsd-3))))
2056
2057 (define-public cl-pythonic-string-reader
2058 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
2059
2060 (define-public ecl-pythonic-string-reader
2061 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
2062
2063 (define-public sbcl-slime-swank
2064 (package
2065 (name "sbcl-slime-swank")
2066 (version "2.26")
2067 (source
2068 (origin
2069 (file-name (git-file-name "slime-swank" version))
2070 (method git-fetch)
2071 (uri (git-reference
2072 (url "https://github.com/slime/slime/")
2073 (commit (string-append "v" version))))
2074 (sha256
2075 (base32
2076 "0mxb1wnw19v0s72w2wkz5afdlzvpy5nn7pr4vav403qybac0sw5c"))))
2077 (build-system asdf-build-system/sbcl)
2078 (arguments
2079 '(#:asd-systems '("swank")))
2080 (home-page "https://github.com/slime/slime")
2081 (synopsis "Common Lisp Swank server")
2082 (description
2083 "This is only useful if you want to start a Swank server in a Lisp
2084 processes that doesn't run under Emacs. Lisp processes created by
2085 @command{M-x slime} automatically start the server.")
2086 (license (list license:gpl2+ license:public-domain))))
2087
2088 (define-public cl-slime-swank
2089 (sbcl-package->cl-source-package sbcl-slime-swank))
2090
2091 (define-public ecl-slime-swank
2092 (sbcl-package->ecl-package sbcl-slime-swank))
2093
2094 (define-public sbcl-mgl-pax
2095 (let ((commit "4ada6eb26364e71addb169ce58e4ba83bc7a8eaa")
2096 (revision "2"))
2097 (package
2098 (name "sbcl-mgl-pax")
2099 (version (git-version "0.0.3" revision commit))
2100 (source
2101 (origin
2102 (method git-fetch)
2103 (uri (git-reference
2104 (url "https://github.com/melisgl/mgl-pax")
2105 (commit commit)))
2106 (sha256
2107 (base32 "1s38crgvmd9hgqwsscqpj6m6c10a074zjgg8k5sl15yih1wkpssm"))
2108 (file-name (git-file-name "mgl-pax" version))))
2109 (build-system asdf-build-system/sbcl)
2110 (inputs
2111 `(("3bmd" ,sbcl-3bmd)
2112 ("babel" ,sbcl-babel)
2113 ("cl-fad" ,sbcl-cl-fad)
2114 ("ironclad" ,sbcl-ironclad)
2115 ("named-readtables" ,sbcl-named-readtables)
2116 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)
2117 ("swank" ,sbcl-slime-swank)))
2118 (synopsis "Exploratory programming environment and documentation generator")
2119 (description
2120 "PAX provides an extremely poor man's Explorable Programming
2121 environment. Narrative primarily lives in so called sections that mix markdown
2122 docstrings with references to functions, variables, etc, all of which should
2123 probably have their own docstrings.
2124
2125 The primary focus is on making code easily explorable by using SLIME's
2126 @command{M-.} (@command{slime-edit-definition}). See how to enable some
2127 fanciness in Emacs Integration. Generating documentation from sections and all
2128 the referenced items in Markdown or HTML format is also implemented.
2129
2130 With the simplistic tools provided, one may accomplish similar effects as with
2131 Literate Programming, but documentation is generated from code, not vice versa
2132 and there is no support for chunking yet. Code is first, code must look
2133 pretty, documentation is code.")
2134 (home-page "http://quotenil.com/")
2135 (license license:expat))))
2136
2137 (define-public cl-mgl-pax
2138 (sbcl-package->cl-source-package sbcl-mgl-pax))
2139
2140 (define-public ecl-mgl-pax
2141 (sbcl-package->ecl-package sbcl-mgl-pax))
2142
2143 (define-public sbcl-mssql
2144 (let ((commit "045602a19a32254108f2b75871049293f49731eb")
2145 (revision "1"))
2146 (package
2147 (name "sbcl-mssql")
2148 (version (git-version "0.0.3" revision commit))
2149 (source
2150 (origin
2151 (method git-fetch)
2152 (uri (git-reference
2153 (url "https://github.com/archimag/cl-mssql")
2154 (commit commit)))
2155 (file-name (git-file-name "cl-mssql" version))
2156 (sha256
2157 (base32 "09i50adppgc1ybm3ka9vbindhwa2x29f9n3n0jkrryymdhb8zknm"))))
2158 (build-system asdf-build-system/sbcl)
2159 (inputs
2160 `(("cffi" ,sbcl-cffi)
2161 ("freetds" ,freetds)
2162 ("garbage-pools" ,sbcl-garbage-pools)
2163 ("iterate" ,sbcl-iterate)
2164 ("parse-number" ,sbcl-parse-number)))
2165 (arguments
2166 `(#:phases
2167 (modify-phases %standard-phases
2168 (add-after 'unpack 'fix-paths
2169 (lambda* (#:key inputs #:allow-other-keys)
2170 (substitute* "src/mssql.lisp"
2171 (("libsybdb" all)
2172 (string-append (assoc-ref inputs "freetds") "/lib/" all)))
2173 #t)))))
2174 (home-page "https://github.com/archimag/cl-mssql")
2175 (synopsis "Common Lisp library to interact with MS SQL Server databases")
2176 (description
2177 "@code{cl-mssql} provides an interface to connect to Microsoft SQL
2178 server. It uses the @code{libsybdb} foreign library provided by the FreeTDS
2179 project.")
2180 (license license:llgpl))))
2181
2182 (define-public ecl-mssql
2183 (sbcl-package->ecl-package sbcl-mssql))
2184
2185 (define-public cl-mssql
2186 (sbcl-package->cl-source-package sbcl-mssql))
2187
2188 (define-public sbcl-lisp-unit
2189 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
2190 (package
2191 (name "sbcl-lisp-unit")
2192 (version (git-version "0.0.0" "1" commit))
2193 (source
2194 (origin
2195 (method git-fetch)
2196 (uri (git-reference
2197 (url "https://github.com/OdonataResearchLLC/lisp-unit")
2198 (commit commit)))
2199 (sha256
2200 (base32
2201 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
2202 (file-name (git-file-name "lisp-unit" version))))
2203 (build-system asdf-build-system/sbcl)
2204 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
2205 (description
2206 "@command{lisp-unit} is a Common Lisp library that supports unit
2207 testing. It is an extension of the library written by Chris Riesbeck.")
2208 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
2209 (license license:expat))))
2210
2211 (define-public cl-lisp-unit
2212 (sbcl-package->cl-source-package sbcl-lisp-unit))
2213
2214 (define-public ecl-lisp-unit
2215 (sbcl-package->ecl-package sbcl-lisp-unit))
2216
2217 (define-public sbcl-anaphora
2218 (package
2219 (name "sbcl-anaphora")
2220 (version "0.9.6")
2221 (source
2222 (origin
2223 (method git-fetch)
2224 (uri (git-reference
2225 (url "https://github.com/tokenrove/anaphora")
2226 (commit version)))
2227 (sha256
2228 (base32
2229 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
2230 (file-name (git-file-name "anaphora" version))))
2231 (build-system asdf-build-system/sbcl)
2232 (native-inputs
2233 `(("rt" ,sbcl-rt)))
2234 (synopsis "The anaphoric macro collection from Hell")
2235 (description
2236 "Anaphora is the anaphoric macro collection from Hell: it includes many
2237 new fiends in addition to old friends like @command{aif} and
2238 @command{awhen}.")
2239 (home-page "https://github.com/tokenrove/anaphora")
2240 (license license:public-domain)))
2241
2242 (define-public cl-anaphora
2243 (sbcl-package->cl-source-package sbcl-anaphora))
2244
2245 (define-public ecl-anaphora
2246 (sbcl-package->ecl-package sbcl-anaphora))
2247
2248 (define-public sbcl-lift
2249 (let ((commit "7d49a66c62759535624037826891152223d4206c"))
2250 (package
2251 (name "sbcl-lift")
2252 (version (git-version "1.7.1" "1" commit))
2253 (source
2254 (origin
2255 (method git-fetch)
2256 (uri (git-reference
2257 (url "https://github.com/gwkkwg/lift")
2258 (commit commit)))
2259 (sha256
2260 (base32
2261 "127v5avpz1i4m0lkaxqrq8hrl69rdazqaxf6s8awf0nd7wj2g4dp"))
2262 (file-name (git-file-name "lift" version))
2263 (modules '((guix build utils)))
2264 (snippet
2265 ;; Don't keep the bundled website
2266 `(begin
2267 (delete-file-recursively "website")
2268 #t))))
2269 (build-system asdf-build-system/sbcl)
2270 (arguments
2271 ;; The tests require a debugger, but we run with the debugger disabled.
2272 '(#:tests? #f))
2273 (synopsis "LIsp Framework for Testing")
2274 (description
2275 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
2276 Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
2277 testcases are organized into hierarchical testsuites each of which can have
2278 its own fixture. When run, a testcase can succeed, fail, or error. LIFT
2279 supports randomized testing, benchmarking, profiling, and reporting.")
2280 (home-page "https://github.com/gwkkwg/lift")
2281 (license license:expat))))
2282
2283 (define-public cl-lift
2284 (sbcl-package->cl-source-package sbcl-lift))
2285
2286 (define-public ecl-lift
2287 (sbcl-package->ecl-package sbcl-lift))
2288
2289 (define-public sbcl-let-plus
2290 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
2291 (package
2292 (name "sbcl-let-plus")
2293 (version (git-version "0.0.0" "1" commit))
2294 (source
2295 (origin
2296 (method git-fetch)
2297 (uri (git-reference
2298 (url "https://github.com/sharplispers/let-plus")
2299 (commit commit)))
2300 (sha256
2301 (base32
2302 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
2303 (file-name (git-file-name "let-plus" version))))
2304 (build-system asdf-build-system/sbcl)
2305 (inputs
2306 `(("alexandria" ,sbcl-alexandria)
2307 ("anaphora" ,sbcl-anaphora)))
2308 (native-inputs
2309 `(("lift" ,sbcl-lift)))
2310 (synopsis "Destructuring extension of let*")
2311 (description
2312 "This library implements the let+ macro, which is a dectructuring
2313 extension of let*. It features:
2314
2315 @itemize
2316 @item Clean, consistent syntax and small implementation (less than 300 LOC,
2317 not counting tests)
2318 @item Placeholder macros allow editor hints and syntax highlighting
2319 @item @command{&ign} for ignored values (in forms where that makes sense)
2320 @item Very easy to extend
2321 @end itemize\n")
2322 (home-page "https://github.com/sharplispers/let-plus")
2323 (license license:boost1.0))))
2324
2325 (define-public cl-let-plus
2326 (sbcl-package->cl-source-package sbcl-let-plus))
2327
2328 (define-public ecl-let-plus
2329 (sbcl-package->ecl-package sbcl-let-plus))
2330
2331 (define-public sbcl-cl-colors
2332 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
2333 (package
2334 (name "sbcl-cl-colors")
2335 (version (git-version "0.0.0" "1" commit))
2336 (source
2337 (origin
2338 (method git-fetch)
2339 (uri (git-reference
2340 (url "https://github.com/tpapp/cl-colors")
2341 (commit commit)))
2342 (sha256
2343 (base32
2344 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2345 (file-name (git-file-name "cl-colors" version))))
2346 (build-system asdf-build-system/sbcl)
2347 (inputs
2348 `(("alexandria" ,sbcl-alexandria)
2349 ("let-plus" ,sbcl-let-plus)))
2350 (synopsis "Simple color library for Common Lisp")
2351 (description
2352 "This is a very simple color library for Common Lisp, providing
2353
2354 @itemize
2355 @item Types for representing colors in HSV and RGB spaces.
2356 @item Simple conversion functions between the above types (and also
2357 hexadecimal representation for RGB).
2358 @item Some predefined colors (currently X11 color names – of course the
2359 library does not depend on X11).Because color in your terminal is nice.
2360 @end itemize
2361
2362 This library is no longer supported by its author.")
2363 (home-page "https://github.com/tpapp/cl-colors")
2364 (license license:boost1.0))))
2365
2366 (define-public cl-colors
2367 (sbcl-package->cl-source-package sbcl-cl-colors))
2368
2369 (define-public ecl-cl-colors
2370 (sbcl-package->ecl-package sbcl-cl-colors))
2371
2372 (define-public sbcl-cl-ansi-text
2373 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2374 (package
2375 (name "sbcl-cl-ansi-text")
2376 (version (git-version "1.0.0" "1" commit))
2377 (source
2378 (origin
2379 (method git-fetch)
2380 (uri (git-reference
2381 (url "https://github.com/pnathan/cl-ansi-text")
2382 (commit commit)))
2383 (sha256
2384 (base32
2385 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2386 (file-name (git-file-name "cl-ansi-text" version))))
2387 (build-system asdf-build-system/sbcl)
2388 (inputs
2389 `(("alexandria" ,sbcl-alexandria)
2390 ("cl-colors" ,sbcl-cl-colors)))
2391 (native-inputs
2392 `(("fiveam" ,sbcl-fiveam)))
2393 (synopsis "ANSI terminal color implementation for Common Lisp")
2394 (description
2395 "@command{cl-ansi-text} provides utilities which enable printing to an
2396 ANSI terminal with colored text. It provides the macro @command{with-color}
2397 which causes everything printed in the body to be displayed with the provided
2398 color. It further provides functions which will print the argument with the
2399 named color.")
2400 (home-page "https://github.com/pnathan/cl-ansi-text")
2401 (license license:llgpl))))
2402
2403 (define-public cl-ansi-text
2404 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2405
2406 (define-public ecl-cl-ansi-text
2407 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2408
2409 (define-public sbcl-prove
2410 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2411 (package
2412 (name "sbcl-prove")
2413 (version (git-version "1.0.0" "1" commit))
2414 (source
2415 (origin
2416 (method git-fetch)
2417 (uri (git-reference
2418 (url "https://github.com/fukamachi/prove")
2419 (commit commit)))
2420 (sha256
2421 (base32
2422 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2423 (file-name (git-file-name "prove" version))))
2424 (build-system asdf-build-system/sbcl)
2425 (inputs
2426 `(("alexandria" ,sbcl-alexandria)
2427 ("cl-ppcre" ,sbcl-cl-ppcre)
2428 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2429 (synopsis "Yet another unit testing framework for Common Lisp")
2430 (description
2431 "This project was originally called @command{cl-test-more}.
2432 @command{prove} is yet another unit testing framework for Common Lisp. The
2433 advantages of @command{prove} are:
2434
2435 @itemize
2436 @item Various simple functions for testing and informative error messages
2437 @item ASDF integration
2438 @item Extensible test reporters
2439 @item Colorizes the report if it's available (note for SLIME)
2440 @item Reports test durations
2441 @end itemize\n")
2442 (home-page "https://github.com/fukamachi/prove")
2443 (license license:expat))))
2444
2445 (define-public cl-prove
2446 (sbcl-package->cl-source-package sbcl-prove))
2447
2448 (define-public ecl-prove
2449 (sbcl-package->ecl-package sbcl-prove))
2450
2451 (define-public sbcl-proc-parse
2452 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2453 (package
2454 (name "sbcl-proc-parse")
2455 (version (git-version "0.0.0" "1" commit))
2456 (source
2457 (origin
2458 (method git-fetch)
2459 (uri (git-reference
2460 (url "https://github.com/fukamachi/proc-parse")
2461 (commit commit)))
2462 (sha256
2463 (base32
2464 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2465 (file-name (git-file-name "proc-parse" version))))
2466 (build-system asdf-build-system/sbcl)
2467 (inputs
2468 `(("alexandria" ,sbcl-alexandria)
2469 ("babel" ,sbcl-babel)))
2470 (native-inputs
2471 `(("prove" ,sbcl-prove)))
2472 (arguments
2473 ;; TODO: Tests don't find "proc-parse-test", why?
2474 `(#:tests? #f))
2475 (synopsis "Procedural vector parser")
2476 (description
2477 "This is a string/octets parser library for Common Lisp with speed and
2478 readability in mind. Unlike other libraries, the code is not a
2479 pattern-matching-like, but a char-by-char procedural parser.")
2480 (home-page "https://github.com/fukamachi/proc-parse")
2481 (license license:bsd-2))))
2482
2483 (define-public cl-proc-parse
2484 (sbcl-package->cl-source-package sbcl-proc-parse))
2485
2486 (define-public ecl-proc-parse
2487 (sbcl-package->ecl-package sbcl-proc-parse))
2488
2489 (define-public sbcl-parse-float
2490 (let ((commit "3074765101e41222b6b624a66aaf1e6416379f9c")
2491 (revision "2"))
2492 (package
2493 (name "sbcl-parse-float")
2494 (version (git-version "0.0.0" revision commit))
2495 (source
2496 (origin
2497 (method git-fetch)
2498 (uri (git-reference
2499 (url "https://github.com/soemraws/parse-float")
2500 (commit commit)))
2501 (sha256
2502 (base32 "0jd2spawc3v8vzqf8ky4cngl45jm65fhkrdf20mf6dcbn3mzpkmr"))
2503 (file-name (git-file-name "proc-parse" version))))
2504 (build-system asdf-build-system/sbcl)
2505 (arguments
2506 ;; FIXME: https://github.com/soemraws/parse-float/issues/12
2507 `(#:asd-systems '("parse-float" "parse-float-tests")))
2508 (native-inputs
2509 `(("lisp-unit" ,sbcl-lisp-unit)))
2510 (inputs
2511 `(("alexandria" ,sbcl-alexandria)))
2512 (home-page "https://github.com/soemraws/parse-float")
2513 (synopsis "Parse a floating point value from a string in Common Lisp")
2514 (description
2515 "This package exports the following function to parse floating-point
2516 values from a string in Common Lisp.")
2517 (license license:public-domain))))
2518
2519 (define-public cl-parse-float
2520 (sbcl-package->cl-source-package sbcl-parse-float))
2521
2522 (define-public ecl-parse-float
2523 (sbcl-package->ecl-package sbcl-parse-float))
2524
2525 (define-public sbcl-cl-string-match
2526 (let ((revision "1")
2527 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2528 (package
2529 (name "sbcl-cl-string-match")
2530 (version (git-version "0" revision changeset))
2531 (source
2532 (origin
2533 (method hg-fetch)
2534 (uri (hg-reference
2535 (url "https://bitbucket.org/vityok/cl-string-match/")
2536 (changeset changeset)))
2537 (sha256
2538 (base32
2539 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2540 (file-name (git-file-name "cl-string-match" version))))
2541 (build-system asdf-build-system/sbcl)
2542 (inputs
2543 `(("alexandria" ,sbcl-alexandria)
2544 ("babel" ,sbcl-babel)
2545 ("iterate" ,sbcl-iterate)
2546 ("jpl-queues" ,sbcl-jpl-queues)
2547 ("jpl-util" ,sbcl-jpl-util)
2548 ("mgl-pax" ,sbcl-mgl-pax)
2549 ("parse-float" ,sbcl-parse-float)
2550 ("proc-parse" ,sbcl-proc-parse)
2551 ("yacc" ,sbcl-cl-yacc)))
2552 ;; TODO: Tests are not evaluated properly.
2553 (native-inputs
2554 ;; For testing:
2555 `(("lisp-unit" ,sbcl-lisp-unit)))
2556 (arguments
2557 `(#:tests? #f))
2558 (synopsis "Set of utilities to manipulate strings in Common Lisp")
2559 (description
2560 "@command{cl-strings} is a small, portable, dependency-free set of
2561 utilities that make it even easier to manipulate text in Common Lisp. It has
2562 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
2563 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2564 (license license:bsd-3))))
2565
2566 (define-public cl-string-match
2567 (sbcl-package->cl-source-package sbcl-cl-string-match))
2568
2569 (define-public ecl-cl-string-match
2570 (sbcl-package->ecl-package sbcl-cl-string-match))
2571
2572 (define-public sbcl-ptester
2573 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2574 (revision "1"))
2575 (package
2576 (name "sbcl-ptester")
2577 (version (git-version "2.1.3" revision commit))
2578 (source
2579 (origin
2580 (method git-fetch)
2581 (uri (git-reference
2582 (url "http://git.kpe.io/ptester.git")
2583 (commit commit)))
2584 (file-name (git-file-name name version))
2585 (sha256
2586 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2587 (build-system asdf-build-system/sbcl)
2588 (home-page "http://quickdocs.org/ptester/")
2589 (synopsis "Portable test harness package")
2590 (description
2591 "@command{ptester} is a portable testing framework based on Franz's
2592 tester module.")
2593 (license license:llgpl))))
2594
2595 (define-public cl-ptester
2596 (sbcl-package->cl-source-package sbcl-ptester))
2597
2598 (define-public ecl-ptester
2599 (sbcl-package->ecl-package sbcl-ptester))
2600
2601 (define-public sbcl-puri
2602 (let ((commit "4bbab89d9ccbb26346899d1f496c97604fec567b")
2603 (revision "2"))
2604 (package
2605 (name "sbcl-puri")
2606 (version (git-version "1.5.7" revision commit))
2607 (source
2608 (origin
2609 (method git-fetch)
2610 (uri (git-reference
2611 (url "http://git.kpe.io/puri.git")
2612 (commit commit)))
2613 (file-name (git-file-name "puri" version))
2614 (sha256
2615 (base32 "0gq2rsr0aihs0z20v4zqvmdl4szq53b52rh97pvnmwrlbn4mapmd"))))
2616 (build-system asdf-build-system/sbcl)
2617 (native-inputs
2618 `(("ptester" ,sbcl-ptester)))
2619 (home-page "http://puri.kpe.io/")
2620 (synopsis "Portable URI Library")
2621 (description
2622 "This is a portable Universal Resource Identifier library for Common
2623 Lisp programs. It parses URI according to the RFC 2396 specification.")
2624 (license license:llgpl))))
2625
2626 (define-public cl-puri
2627 (sbcl-package->cl-source-package sbcl-puri))
2628
2629 (define-public ecl-puri
2630 (sbcl-package->ecl-package sbcl-puri))
2631
2632 (define-public sbcl-qmynd
2633 (let ((commit "7e56daf73f0ed5f49a931c01af75fb874bcf3445")
2634 (revision "1"))
2635 (package
2636 (name "sbcl-qmynd")
2637 (version (git-version "1.0.0" revision commit))
2638 (source
2639 (origin
2640 (method git-fetch)
2641 (uri (git-reference
2642 (url "https://github.com/qitab/qmynd")
2643 (commit commit)))
2644 (file-name (git-file-name name version))
2645 (sha256
2646 (base32
2647 "06gw5wxcpdclb6a5i5k9lbmdlyqsp182czrm9bm1cpklzbj0ihrl"))))
2648 (build-system asdf-build-system/sbcl)
2649 (inputs
2650 `(("asdf-finalizers" ,sbcl-asdf-finalizers)
2651 ("babel" ,sbcl-babel)
2652 ("chipz" ,sbcl-chipz)
2653 ("cl+ssl" ,sbcl-cl+ssl)
2654 ("flexi-streams" ,sbcl-flexi-streams)
2655 ("ironclad" ,sbcl-ironclad)
2656 ("salza2" ,sbcl-salza2)
2657 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
2658 ("usocket" ,sbcl-usocket)))
2659 (home-page "https://github.com/qitab/qmynd")
2660 (synopsis "QITAB MySQL Native Driver for Common Lisp")
2661 (description "QMyND, the QITAB MySQL Native Driver, is a MySQL client
2662 library that directly talks to a MySQL server in its native network protocol.
2663
2664 It's a part of QITAB umbrella project.")
2665 (license license:expat))))
2666
2667 (define-public ecl-qmynd
2668 (sbcl-package->ecl-package sbcl-qmynd))
2669
2670 (define-public cl-qmynd
2671 (sbcl-package->cl-source-package sbcl-qmynd))
2672
2673 (define-public sbcl-queues
2674 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2675 (package
2676 (name "sbcl-queues")
2677 (version (git-version "0.0.0" "1" commit))
2678 (source
2679 (origin
2680 (method git-fetch)
2681 (uri (git-reference
2682 (url "https://github.com/oconnore/queues")
2683 (commit commit)))
2684 (file-name (git-file-name "queues" version))
2685 (sha256
2686 (base32
2687 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2688 (build-system asdf-build-system/sbcl)
2689 (inputs
2690 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
2691 (arguments
2692 '(#:asd-systems '("queues"
2693 "queues.simple-queue"
2694 "queues.simple-cqueue"
2695 "queues.priority-queue"
2696 "queues.priority-cqueue")))
2697 (home-page "https://github.com/oconnore/queues")
2698 (synopsis "Common Lisp queue library")
2699 (description
2700 "This is a simple queue library for Common Lisp with features such as
2701 non-consing thread safe queues and fibonacci priority queues.")
2702 (license license:expat))))
2703
2704 (define-public cl-queues
2705 (sbcl-package->cl-source-package sbcl-queues))
2706
2707 (define-public ecl-queues
2708 (sbcl-package->ecl-package sbcl-queues))
2709
2710 (define-public sbcl-glsl-spec
2711 (let ((commit "f04476f7da89355ae6856b33283c60ba95c6555d")
2712 (revision "1"))
2713 (package
2714 (name "sbcl-glsl-spec")
2715 (version (git-version "0.0.0" revision commit))
2716 (source
2717 (origin
2718 (method git-fetch)
2719 (uri (git-reference
2720 (url "https://github.com/cbaggers/glsl-spec")
2721 (commit commit)))
2722 (file-name (git-file-name "glsl-spec" version))
2723 (sha256
2724 (base32 "01ipspr22fgfj3w8wq2y81lzrjc4vpfiwnr3dqhjlpzzra46am8c"))))
2725 (build-system asdf-build-system/sbcl)
2726 (arguments
2727 `(#:asd-systems '("glsl-spec" "glsl-symbols" "glsl-docs")))
2728 (home-page "https://github.com/cbaggers/glsl-spec")
2729 (synopsis "Common Lisp GLSL specification as a datastructure")
2730 (description
2731 "This package contains the specification of all functions and variables
2732 from GLSL as data.")
2733 (license license:unlicense))))
2734
2735 (define-public ecl-glsl-spec
2736 (sbcl-package->ecl-package sbcl-glsl-spec))
2737
2738 (define-public cl-glsl-spec
2739 (sbcl-package->cl-source-package sbcl-glsl-spec))
2740
2741 (define-public sbcl-varjo
2742 (let ((commit "9e77f30220053155d2ef8870ceba157f75e538d4")
2743 (revision "1"))
2744 (package
2745 (name "sbcl-varjo")
2746 (version (git-version "0.0.0" revision commit))
2747 (source
2748 (origin
2749 (method git-fetch)
2750 (uri (git-reference
2751 (url "https://github.com/cbaggers/varjo")
2752 (commit commit)))
2753 (file-name (git-file-name "varjo" version))
2754 (sha256
2755 (base32 "1p9x1wj576x5d31yvls9r1avkjkyhri7kyxbjfkg9z93a1w18j9z"))))
2756 (build-system asdf-build-system/sbcl)
2757 (native-inputs
2758 `(("fiveam" ,sbcl-fiveam)))
2759 (inputs
2760 `(("alexandria" ,sbcl-alexandria)
2761 ("cl-ppcre" ,sbcl-cl-ppcre)
2762 ("documentation-utils" ,sbcl-documentation-utils)
2763 ("fn" ,sbcl-fn)
2764 ("glsl-spec" ,sbcl-glsl-spec)
2765 ("named-readtables" ,sbcl-named-readtables)
2766 ("parse-float" ,sbcl-parse-float)
2767 ("vas-string-metrics" ,sbcl-vas-string-metrics)))
2768 (home-page "https://github.com/cbaggers/varjo")
2769 (synopsis "Lisp to GLSL Language Translator")
2770 (description
2771 "Varjo is a Lisp to GLSL compiler. Vari is the dialect of lisp Varjo
2772 compiles. It aims to be as close to Common Lisp as possible, but naturally it
2773 is statically typed so there are differences.")
2774 (license license:bsd-2))))
2775
2776 (define-public ecl-varjo
2777 (sbcl-package->ecl-package sbcl-varjo))
2778
2779 (define-public cl-varjo
2780 (sbcl-package->cl-source-package sbcl-varjo))
2781
2782 (define-public sbcl-cffi
2783 (package
2784 (name "sbcl-cffi")
2785 (version "0.23.0")
2786 (source
2787 (origin
2788 (method git-fetch)
2789 (uri (git-reference
2790 (url "https://github.com/cffi/cffi")
2791 (commit (string-append "v" version))))
2792 (file-name (git-file-name "cffi-bootstrap" version))
2793 (sha256
2794 (base32 "03s98imc5niwnpj3hhrafl7dmxq45g74h96sm68976k7ahi3vl5b"))))
2795 (build-system asdf-build-system/sbcl)
2796 (inputs
2797 `(("alexandria" ,sbcl-alexandria)
2798 ("babel" ,sbcl-babel)
2799 ("libffi" ,libffi)
2800 ("trivial-features" ,sbcl-trivial-features)))
2801 (native-inputs
2802 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2803 ("pkg-config" ,pkg-config)
2804 ("rt" ,sbcl-rt)))
2805 (arguments
2806 '(#:phases
2807 (modify-phases %standard-phases
2808 (add-after 'unpack 'fix-arm-support
2809 (lambda _
2810 ;; This is apparently deprecated since libffi-3.3.
2811 (substitute* "libffi/libffi-types.lisp"
2812 (("\\\(\\\(:unix64.*") ")\n"))
2813 #t))
2814 (add-after 'unpack 'fix-paths
2815 (lambda* (#:key inputs #:allow-other-keys)
2816 (substitute* "libffi/libffi.lisp"
2817 (("libffi.so.7" all) (string-append
2818 (assoc-ref inputs "libffi")
2819 "/lib/" all)))
2820 (substitute* "toolchain/c-toolchain.lisp"
2821 (("\"cc\"") (format #f "~S" (which "gcc"))))))
2822 (add-after 'build 'install-headers
2823 (lambda* (#:key outputs #:allow-other-keys)
2824 (install-file "grovel/common.h"
2825 (string-append
2826 (assoc-ref outputs "out")
2827 "/include/grovel")))))
2828 #:asd-files '("cffi.asd"
2829 "cffi-toolchain.asd"
2830 "cffi-grovel.asd"
2831 "cffi-libffi.asd"
2832 "cffi-uffi-compat.asd")
2833 #:asd-systems '("cffi"
2834 "cffi-libffi"
2835 "cffi-uffi-compat")))
2836 (home-page "https://common-lisp.net/project/cffi/")
2837 (synopsis "Common Foreign Function Interface for Common Lisp")
2838 (description "The Common Foreign Function Interface (CFFI)
2839 purports to be a portable foreign function interface for Common Lisp.
2840 The CFFI library is composed of a Lisp-implementation-specific backend
2841 in the CFFI-SYS package, and a portable frontend in the CFFI
2842 package.")
2843 (license license:expat)))
2844
2845 (define-public cl-cffi
2846 (sbcl-package->cl-source-package sbcl-cffi))
2847
2848 (define-public ecl-cffi
2849 (sbcl-package->ecl-package sbcl-cffi))
2850
2851 (define-public sbcl-cl-sqlite
2852 (package
2853 (name "sbcl-cl-sqlite")
2854 (version "0.2.1")
2855 (source
2856 (origin
2857 (method git-fetch)
2858 (uri (git-reference
2859 (url "https://github.com/dmitryvk/cl-sqlite")
2860 (commit version)))
2861 (file-name (git-file-name "cl-sqlite" version))
2862 (sha256
2863 (base32
2864 "08iv7b4m0hh7qx2cvq4f510nrgdld0vicnvmqsh9w0fgrcgmyg4k"))))
2865 (build-system asdf-build-system/sbcl)
2866 (inputs
2867 `(("iterate" ,sbcl-iterate)
2868 ("cffi" ,sbcl-cffi)
2869 ("sqlite" ,sqlite)))
2870 (native-inputs
2871 `(("fiveam" ,sbcl-fiveam)
2872 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2873 (arguments
2874 `(#:asd-systems '("sqlite")
2875 #:phases
2876 (modify-phases %standard-phases
2877 (add-after 'unpack 'fix-paths
2878 (lambda* (#:key inputs #:allow-other-keys)
2879 (substitute* "sqlite-ffi.lisp"
2880 (("libsqlite3" all) (string-append
2881 (assoc-ref inputs "sqlite")"/lib/" all))))))))
2882 (home-page "https://common-lisp.net/project/cl-sqlite/")
2883 (synopsis "Common Lisp binding for SQLite")
2884 (description
2885 "The @command{cl-sqlite} package is an interface to the SQLite embedded
2886 relational database engine.")
2887 (license license:public-domain)))
2888
2889 (define-public cl-sqlite
2890 (sbcl-package->cl-source-package sbcl-cl-sqlite))
2891
2892 (define-public ecl-cl-sqlite
2893 (sbcl-package->ecl-package sbcl-cl-sqlite))
2894
2895 (define-public sbcl-parenscript
2896 ;; Source archives are overwritten on every release, we use the Git repo instead.
2897 (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766"))
2898 (package
2899 (name "sbcl-parenscript")
2900 (version (git-version "2.7.1" "1" commit))
2901 (source
2902 (origin
2903 (method git-fetch)
2904 (uri (git-reference
2905 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
2906 (commit commit)))
2907 (file-name (git-file-name "parenscript" version))
2908 (sha256
2909 (base32
2910 "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf"))))
2911 (build-system asdf-build-system/sbcl)
2912 (inputs
2913 `(("cl-ppcre" ,sbcl-cl-ppcre)
2914 ("anaphora" ,sbcl-anaphora)
2915 ("named-readtables" ,sbcl-named-readtables)))
2916 (home-page "https://common-lisp.net/project/parenscript/")
2917 (synopsis "Translator from a subset of Common Lisp to JavaScript")
2918 (description
2919 "Parenscript is a translator from an extended subset of Common Lisp to
2920 JavaScript. Parenscript code can run almost identically on both the
2921 browser (as JavaScript) and server (as Common Lisp).
2922
2923 Parenscript code is treated the same way as Common Lisp code, making the full
2924 power of Lisp macros available for JavaScript. This provides a web
2925 development environment that is unmatched in its ability to reduce code
2926 duplication and provide advanced meta-programming facilities to web
2927 developers.
2928
2929 At the same time, Parenscript is different from almost all other \"language
2930 X\" to JavaScript translators in that it imposes almost no overhead:
2931
2932 @itemize
2933 @item No run-time dependencies: Any piece of Parenscript code is runnable
2934 as-is. There are no JavaScript files to include.
2935 @item Native types: Parenscript works entirely with native JavaScript data
2936 types. There are no new types introduced, and object prototypes are not
2937 touched.
2938 @item Native calling convention: Any JavaScript code can be called without the
2939 need for bindings. Likewise, Parenscript can be used to make efficient,
2940 self-contained JavaScript libraries.
2941 @item Readable code: Parenscript generates concise, formatted, idiomatic
2942 JavaScript code. Identifier names are preserved. This enables seamless
2943 debugging in tools like Firebug.
2944 @item Efficiency: Parenscript introduces minimal overhead for advanced Common
2945 Lisp features. The generated code is almost as fast as hand-written
2946 JavaScript.
2947 @end itemize\n")
2948 (license license:bsd-3))))
2949
2950 (define-public cl-parenscript
2951 (sbcl-package->cl-source-package sbcl-parenscript))
2952
2953 (define-public ecl-parenscript
2954 (sbcl-package->ecl-package sbcl-parenscript))
2955
2956 (define-public sbcl-cl-json
2957 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
2958 (package
2959 (name "sbcl-cl-json")
2960 (version (git-version "0.5" "1" commit))
2961 (source
2962 (origin
2963 (method git-fetch)
2964 (uri (git-reference
2965 (url "https://github.com/hankhero/cl-json")
2966 (commit commit)))
2967 (file-name (git-file-name "cl-json" version))
2968 (sha256
2969 (base32
2970 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
2971 (build-system asdf-build-system/sbcl)
2972 (native-inputs
2973 `(("fiveam" ,sbcl-fiveam)))
2974 (home-page "https://github.com/hankhero/cl-json")
2975 (synopsis "JSON encoder and decoder for Common-Lisp")
2976 (description
2977 "@command{cl-json} provides an encoder of Lisp objects to JSON format
2978 and a corresponding decoder of JSON data to Lisp objects. Both the encoder
2979 and the decoder are highly customizable; at the same time, the default
2980 settings ensure a very simple mode of operation, similar to that provided by
2981 @command{yason} or @command{st-json}.")
2982 (license license:expat))))
2983
2984 (define-public cl-json
2985 (sbcl-package->cl-source-package sbcl-cl-json))
2986
2987 (define-public ecl-cl-json
2988 (sbcl-package->ecl-package sbcl-cl-json))
2989
2990 (define-public sbcl-unix-opts
2991 (package
2992 (name "sbcl-unix-opts")
2993 (version "0.1.7")
2994 (source
2995 (origin
2996 (method git-fetch)
2997 (uri (git-reference
2998 (url "https://github.com/libre-man/unix-opts")
2999 (commit version)))
3000 (file-name (git-file-name "unix-opts" version))
3001 (sha256
3002 (base32
3003 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
3004 (build-system asdf-build-system/sbcl)
3005 (home-page "https://github.com/hankhero/cl-json")
3006 (synopsis "Unix-style command line options parser")
3007 (description
3008 "This is a minimalistic parser of command line options. The main
3009 advantage of the library is the ability to concisely define command line
3010 options once and then use this definition for parsing and extraction of
3011 command line arguments, as well as printing description of command line
3012 options (you get --help for free). This way you don't need to repeat
3013 yourself. Also, @command{unix-opts} doesn't depend on anything and
3014 precisely controls the behavior of the parser via Common Lisp restarts.")
3015 (license license:expat)))
3016
3017 (define-public cl-unix-opts
3018 (sbcl-package->cl-source-package sbcl-unix-opts))
3019
3020 (define-public ecl-unix-opts
3021 (sbcl-package->ecl-package sbcl-unix-opts))
3022
3023 (define-public sbcl-trivial-garbage
3024 (package
3025 (name "sbcl-trivial-garbage")
3026 (version "0.21")
3027 (source
3028 (origin
3029 (method git-fetch)
3030 (uri (git-reference
3031 (url "https://github.com/trivial-garbage/trivial-garbage")
3032 (commit (string-append "v" version))))
3033 (file-name (git-file-name "trivial-garbage" version))
3034 (sha256
3035 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
3036 (build-system asdf-build-system/sbcl)
3037 (native-inputs
3038 `(("rt" ,sbcl-rt)))
3039 (home-page "https://common-lisp.net/project/trivial-garbage/")
3040 (synopsis "Portable GC-related APIs for Common Lisp")
3041 (description "@command{trivial-garbage} provides a portable API to
3042 finalizers, weak hash-tables and weak pointers on all major implementations of
3043 the Common Lisp programming language.")
3044 (license license:public-domain)))
3045
3046 (define-public cl-trivial-garbage
3047 (sbcl-package->cl-source-package sbcl-trivial-garbage))
3048
3049 (define-public ecl-trivial-garbage
3050 (sbcl-package->ecl-package sbcl-trivial-garbage))
3051
3052 (define-public sbcl-closer-mop
3053 (let ((commit "19c9d33f576e10715fd79cc1d4f688dab0f241d6"))
3054 (package
3055 (name "sbcl-closer-mop")
3056 (version (git-version "1.0.0" "2" commit))
3057 (source
3058 (origin
3059 (method git-fetch)
3060 (uri (git-reference
3061 (url "https://github.com/pcostanza/closer-mop")
3062 (commit commit)))
3063 (sha256
3064 (base32 "1w3x087wvlwkd6swfdgbvjfs6kazf0la8ax4pjfzikwjch4snn2c"))
3065 (file-name (git-file-name "closer-mop" version ))))
3066 (build-system asdf-build-system/sbcl)
3067 (home-page "https://github.com/pcostanza/closer-mop")
3068 (synopsis "Rectifies absent or incorrect CLOS MOP features")
3069 (description "Closer to MOP is a compatibility layer that rectifies many
3070 of the absent or incorrect CLOS MOP features across a broad range of Common
3071 Lisp implementations.")
3072 (license license:expat))))
3073
3074 (define-public cl-closer-mop
3075 (sbcl-package->cl-source-package sbcl-closer-mop))
3076
3077 (define-public ecl-closer-mop
3078 (sbcl-package->ecl-package sbcl-closer-mop))
3079
3080 (define-public sbcl-cl-cffi-gtk
3081 (let ((commit "e9a46df65995d9a16e6c8dbdc1e09b775eb4a966"))
3082 (package
3083 (name "sbcl-cl-cffi-gtk")
3084 (version (git-version "0.11.2" "2" commit))
3085 (source
3086 (origin
3087 (method git-fetch)
3088 (uri (git-reference
3089 (url "https://github.com/Ferada/cl-cffi-gtk/")
3090 (commit commit)))
3091 (file-name (git-file-name "cl-cffi-gtk" version))
3092 (sha256
3093 (base32
3094 "04vix0gmqsj91lm975sx7jhlnz5gq1xf9jp873mp7c8frc5dk1jj"))))
3095 (build-system asdf-build-system/sbcl)
3096 (native-inputs
3097 `(("fiveam" ,sbcl-fiveam)))
3098 (inputs
3099 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3100 ("cairo" ,cairo)
3101 ("cffi" ,sbcl-cffi)
3102 ("closer-mop" ,sbcl-closer-mop)
3103 ("gdk-pixbuf" ,gdk-pixbuf)
3104 ("glib" ,glib)
3105 ("gtk" ,gtk+)
3106 ("iterate" ,sbcl-iterate)
3107 ("pango" ,pango)
3108 ("trivial-features" ,sbcl-trivial-features)
3109 ("trivial-garbage" ,sbcl-trivial-garbage)))
3110 (arguments
3111 `(#:asd-files '("gtk/cl-cffi-gtk.asd"
3112 "glib/cl-cffi-gtk-glib.asd"
3113 "gobject/cl-cffi-gtk-gobject.asd"
3114 "gio/cl-cffi-gtk-gio.asd"
3115 "cairo/cl-cffi-gtk-cairo.asd"
3116 "pango/cl-cffi-gtk-pango.asd"
3117 "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
3118 "gdk/cl-cffi-gtk-gdk.asd")
3119 #:test-asd-file "test/cl-cffi-gtk-test.asd"
3120 ;; TODO: Tests fail with memory fault.
3121 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
3122 #:tests? #f
3123 #:phases
3124 (modify-phases %standard-phases
3125 (add-after 'unpack 'fix-paths
3126 (lambda* (#:key inputs #:allow-other-keys)
3127 (substitute* "glib/glib.init.lisp"
3128 (("libglib|libgthread" all)
3129 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3130 (substitute* "gobject/gobject.init.lisp"
3131 (("libgobject" all)
3132 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3133 (substitute* "gio/gio.init.lisp"
3134 (("libgio" all)
3135 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3136 (substitute* "cairo/cairo.init.lisp"
3137 (("libcairo" all)
3138 (string-append (assoc-ref inputs "cairo") "/lib/" all)))
3139 (substitute* "pango/pango.init.lisp"
3140 (("libpango" all)
3141 (string-append (assoc-ref inputs "pango") "/lib/" all)))
3142 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
3143 (("libgdk_pixbuf" all)
3144 (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))
3145 (substitute* "gdk/gdk.init.lisp"
3146 (("libgdk" all)
3147 (string-append (assoc-ref inputs "gtk") "/lib/" all)))
3148 (substitute* "gdk/gdk.package.lisp"
3149 (("libgtk" all)
3150 (string-append (assoc-ref inputs "gtk") "/lib/" all))))))))
3151 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
3152 (synopsis "Common Lisp binding for GTK+3")
3153 (description
3154 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
3155 is a library for creating graphical user interfaces.")
3156 (license license:lgpl3))))
3157
3158 (define-public cl-cffi-gtk
3159 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
3160
3161 (define-public ecl-cl-cffi-gtk
3162 (sbcl-package->ecl-package sbcl-cl-cffi-gtk))
3163
3164 (define-public sbcl-cl-webkit
3165 (let ((commit "0bc05cc73257670ab241853b9cc9ccb68940fe44"))
3166 (package
3167 (name "sbcl-cl-webkit")
3168 (version (git-version "2.4" "10" commit))
3169 (source
3170 (origin
3171 (method git-fetch)
3172 (uri (git-reference
3173 (url "https://github.com/joachifm/cl-webkit")
3174 (commit commit)))
3175 (file-name (git-file-name "cl-webkit" version))
3176 (sha256
3177 (base32
3178 "1kg6illspvb5647pm0x819ag2n7njnqvrm18jzgd28vk6nlkrcmq"))))
3179 (build-system asdf-build-system/sbcl)
3180 (inputs
3181 `(("cffi" ,sbcl-cffi)
3182 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3183 ("webkitgtk" ,webkitgtk)))
3184 (arguments
3185 `(#:asd-systems '("cl-webkit2")
3186 #:phases
3187 (modify-phases %standard-phases
3188 (add-after 'unpack 'fix-paths
3189 (lambda* (#:key inputs #:allow-other-keys)
3190 (substitute* "webkit2/webkit2.init.lisp"
3191 (("libwebkit2gtk" all)
3192 (string-append
3193 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
3194 (home-page "https://github.com/joachifm/cl-webkit")
3195 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3196 (description
3197 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3198 currently targeting WebKit version 2. The WebKitGTK+ library adds web
3199 browsing capabilities to an application, leveraging the full power of the
3200 WebKit browsing engine.")
3201 (license license:expat))))
3202
3203 (define-public cl-webkit
3204 (sbcl-package->cl-source-package sbcl-cl-webkit))
3205
3206 (define-public ecl-cl-webkit
3207 (sbcl-package->ecl-package sbcl-cl-webkit))
3208
3209 (define-public sbcl-lparallel
3210 (package
3211 (name "sbcl-lparallel")
3212 (version "2.8.4")
3213 (source
3214 (origin
3215 (method git-fetch)
3216 (uri (git-reference
3217 (url "https://github.com/lmj/lparallel/")
3218 (commit (string-append "lparallel-" version))))
3219 (file-name (git-file-name "lparallel" version))
3220 (sha256
3221 (base32
3222 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3223 (build-system asdf-build-system/sbcl)
3224 (inputs
3225 `(("alexandria" ,sbcl-alexandria)
3226 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3227 ("trivial-garbage" ,sbcl-trivial-garbage)))
3228 (arguments
3229 `(#:phases
3230 (modify-phases %standard-phases
3231 (add-after 'unpack 'fix-dependency
3232 ;; lparallel loads a SBCL specific system in its asd file. This is
3233 ;; not carried over into the fasl which is generated. In order for
3234 ;; it to be carried over, it needs to be listed as a dependency.
3235 (lambda _
3236 (substitute* "lparallel.asd"
3237 ((":depends-on \\(:alexandria" all)
3238 (string-append all " #+sbcl :sb-cltl2"))))))))
3239 (home-page "https://lparallel.org/")
3240 (synopsis "Parallelism for Common Lisp")
3241 (description
3242 "@command{lparallel} is a library for parallel programming in Common
3243 Lisp, featuring:
3244
3245 @itemize
3246 @item a simple model of task submission with receiving queue,
3247 @item constructs for expressing fine-grained parallelism,
3248 @item asynchronous condition handling across thread boundaries,
3249 @item parallel versions of map, reduce, sort, remove, and many others,
3250 @item promises, futures, and delayed evaluation constructs,
3251 @item computation trees for parallelizing interconnected tasks,
3252 @item bounded and unbounded FIFO queues,
3253 @item high and low priority tasks,
3254 @item task killing by category,
3255 @item integrated timeouts.
3256 @end itemize\n")
3257 (license license:expat)))
3258
3259 (define-public cl-lparallel
3260 (sbcl-package->cl-source-package sbcl-lparallel))
3261
3262 (define-public ecl-lparallel
3263 (package
3264 (inherit (sbcl-package->ecl-package sbcl-lparallel))
3265 (arguments
3266 ;; TODO: Find why the tests get stuck forever; disable them for now.
3267 `(#:tests? #f))))
3268
3269 (define-public sbcl-cl-markup
3270 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3271 (package
3272 (name "sbcl-cl-markup")
3273 (version (git-version "0.1" "1" commit))
3274 (source
3275 (origin
3276 (method git-fetch)
3277 (uri (git-reference
3278 (url "https://github.com/arielnetworks/cl-markup/")
3279 (commit commit)))
3280 (file-name (git-file-name "cl-markup" version))
3281 (sha256
3282 (base32
3283 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3284 (build-system asdf-build-system/sbcl)
3285 (home-page "https://github.com/arielnetworks/cl-markup/")
3286 (synopsis "Markup generation library for Common Lisp")
3287 (description
3288 "A modern markup generation library for Common Lisp that features:
3289
3290 @itemize
3291 @item Fast (even faster through compiling the code)
3292 @item Safety
3293 @item Support for multiple document types (markup, xml, html, html5, xhtml)
3294 @item Output with doctype
3295 @item Direct output to stream
3296 @end itemize\n")
3297 (license license:lgpl3+))))
3298
3299 (define-public cl-markup
3300 (sbcl-package->cl-source-package sbcl-cl-markup))
3301
3302 (define-public ecl-cl-markup
3303 (sbcl-package->ecl-package sbcl-cl-markup))
3304
3305 (define-public sbcl-cl-mustache
3306 (package
3307 (name "sbcl-cl-mustache")
3308 (version "0.12.1")
3309 (source
3310 (origin
3311 (method git-fetch)
3312 (uri (git-reference
3313 (url "https://github.com/kanru/cl-mustache")
3314 (commit (string-append "v" version))))
3315 (file-name (git-file-name "cl-mustache" version))
3316 (sha256
3317 (base32 "149xbb6wxq1napliwm9cv729hwcgfnjli6y8hingfixz7f10lhks"))))
3318 (build-system asdf-build-system/sbcl)
3319 (home-page "https://github.com/kanru/cl-mustache")
3320 (synopsis "Common Lisp Mustache template renderer")
3321 (description "This is a Common Lisp implementation for the Mustache
3322 template system. More details on the standard are available at
3323 @url{https://mustache.github.io}.")
3324 (license license:expat)))
3325
3326 (define-public cl-mustache
3327 (sbcl-package->cl-source-package sbcl-cl-mustache))
3328
3329 (define-public ecl-cl-mustache
3330 (sbcl-package->ecl-package sbcl-cl-mustache))
3331
3332 (define-public sbcl-cl-css
3333 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3334 (package
3335 (name "sbcl-cl-css")
3336 (version (git-version "0.1" "1" commit))
3337 (source
3338 (origin
3339 (method git-fetch)
3340 (uri (git-reference
3341 (url "https://github.com/inaimathi/cl-css/")
3342 (commit commit)))
3343 (file-name (git-file-name "cl-css" version))
3344 (sha256
3345 (base32
3346 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3347 (build-system asdf-build-system/sbcl)
3348 (home-page "https://github.com/inaimathi/cl-css/")
3349 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3350 (description
3351 "This is a dead-simple, non validating, inline CSS generator for Common
3352 Lisp. Its goals are axiomatic syntax, simple implementation to support
3353 portability, and boilerplate reduction in CSS.")
3354 (license license:expat))))
3355
3356 (define-public cl-css
3357 (sbcl-package->cl-source-package sbcl-cl-css))
3358
3359 (define-public ecl-cl-css
3360 (sbcl-package->ecl-package sbcl-cl-css))
3361
3362 (define-public sbcl-portable-threads
3363 (let ((commit "aa26bf38338a6b068bf8bfb3375d8d8c3b0a28df"))
3364 (package
3365 (name "sbcl-portable-threads")
3366 (version (git-version "2.3" "2" commit))
3367 (source
3368 (origin
3369 (method git-fetch)
3370 (uri (git-reference
3371 (url "https://github.com/binghe/portable-threads/")
3372 (commit commit)))
3373 (file-name (git-file-name "portable-threads" version))
3374 (sha256
3375 (base32 "058ksi07vfdmhrf5mdlc833s82m1rcqfja2266520m3r8bzs8bvs"))))
3376 (build-system asdf-build-system/sbcl)
3377 (arguments
3378 `(;; Tests seem broken.
3379 #:tests? #f))
3380 (home-page "https://github.com/binghe/portable-threads")
3381 (synopsis "Portable threads API for Common Lisp")
3382 (description
3383 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3384 Lisp (from GBBopen project).")
3385 (license license:asl2.0))))
3386
3387 (define-public cl-portable-threads
3388 (sbcl-package->cl-source-package sbcl-portable-threads))
3389
3390 (define-public ecl-portable-threads
3391 (sbcl-package->ecl-package sbcl-portable-threads))
3392
3393 (define-public sbcl-usocket
3394 (package
3395 (name "sbcl-usocket")
3396 (version "0.8.3")
3397 (source
3398 (origin
3399 (method git-fetch)
3400 (uri (git-reference
3401 (url "https://github.com/usocket/usocket/")
3402 (commit (string-append "v" version))))
3403 (file-name (git-file-name "usocket" version))
3404 (sha256
3405 (base32
3406 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3407 (build-system asdf-build-system/sbcl)
3408 (native-inputs
3409 `(("rt" ,sbcl-rt)))
3410 (inputs
3411 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3412 ("split-sequence" ,sbcl-split-sequence)))
3413 (arguments
3414 `(#:tests? #f ; FIXME: Tests need network access?
3415 #:asd-systems '("usocket"
3416 "usocket-server")))
3417 (home-page "https://common-lisp.net/project/usocket/")
3418 (synopsis "Universal socket library for Common Lisp")
3419 (description
3420 "This library strives to provide a portable TCP/IP and UDP/IP socket
3421 interface for as many Common Lisp implementations as possible, while keeping
3422 the abstraction and portability layer as thin as possible.")
3423 (license license:expat)))
3424
3425 (define-public cl-usocket
3426 (sbcl-package->cl-source-package sbcl-usocket))
3427
3428 (define-public ecl-usocket
3429 (sbcl-package->ecl-package sbcl-usocket))
3430
3431 (define-public sbcl-s-xml
3432 (package
3433 (name "sbcl-s-xml")
3434 (version "3")
3435 (source
3436 (origin
3437 (method url-fetch)
3438 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3439 (sha256
3440 (base32
3441 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3442 (build-system asdf-build-system/sbcl)
3443 (home-page "https://common-lisp.net/project/s-xml/")
3444 (synopsis "Simple XML parser implemented in Common Lisp")
3445 (description
3446 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3447 parser implementation has the following features:
3448
3449 @itemize
3450 @item It works (handling many common XML usages).
3451 @item It is very small (the core is about 700 lines of code, including
3452 comments and whitespace).
3453 @item It has a core API that is simple, efficient and pure functional, much
3454 like that from SSAX (see also http://ssax.sourceforge.net).
3455 @item It supports different DOM models: an XSML-based one, an LXML-based one
3456 and a classic xml-element struct based one.
3457 @item It is reasonably time and space efficient (internally avoiding garbage
3458 generatation as much as possible).
3459 @item It does support CDATA.
3460 @item It should support the same character sets as your Common Lisp
3461 implementation.
3462 @item It does support XML name spaces.
3463 @end itemize
3464
3465 This XML parser implementation has the following limitations:
3466
3467 @itemize
3468 @item It does not support any special tags (like processing instructions).
3469 @item It is not validating, even skips DTD's all together.
3470 @end itemize\n")
3471 (license license:lgpl3+)))
3472
3473 (define-public cl-s-xml
3474 (sbcl-package->cl-source-package sbcl-s-xml))
3475
3476 (define-public ecl-s-xml
3477 (sbcl-package->ecl-package sbcl-s-xml))
3478
3479 (define-public sbcl-s-xml-rpc
3480 (package
3481 (name "sbcl-s-xml-rpc")
3482 (version "7")
3483 (source
3484 (origin
3485 (method url-fetch)
3486 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3487 (sha256
3488 (base32
3489 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3490 (build-system asdf-build-system/sbcl)
3491 (inputs
3492 `(("s-xml" ,sbcl-s-xml)))
3493 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3494 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3495 (description
3496 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3497 client and server.")
3498 (license license:lgpl3+)))
3499
3500 (define-public cl-s-xml-rpc
3501 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3502
3503 (define-public ecl-s-xml-rpc
3504 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3505
3506 (define-public sbcl-trivial-arguments
3507 (let ((commit "ecd84ed9cf9ef8f1e873d7409e6bd04979372aa7")
3508 (revision "1"))
3509 (package
3510 (name "sbcl-trivial-arguments")
3511 (version (git-version "1.1.0" revision commit))
3512 (source
3513 (origin
3514 (method git-fetch)
3515 (uri (git-reference
3516 (url "https://github.com/Shinmera/trivial-arguments")
3517 (commit commit)))
3518 (file-name (git-file-name "trivial-arguments" version))
3519 (sha256
3520 (base32 "02vaqfavhj8jqxnr68nnzvzshm8jbgcy6m9lvyv4daa6f7ihqf88"))))
3521 (build-system asdf-build-system/sbcl)
3522 (home-page "https://github.com/Shinmera/trivial-arguments")
3523 (synopsis "Common Lisp library to retrieve a function's lambda-list")
3524 (description
3525 "This is a simple library to retrieve the argument list of a function.")
3526 (license license:zlib))))
3527
3528 (define-public ecl-trivial-arguments
3529 (sbcl-package->ecl-package sbcl-trivial-arguments))
3530
3531 (define-public cl-trivial-arguments
3532 (sbcl-package->cl-source-package sbcl-trivial-arguments))
3533
3534 (define-public sbcl-trivial-clipboard
3535 (let ((commit "afcd3743b842f5a81fc86dba60f9db59970f49c5"))
3536 (package
3537 (name "sbcl-trivial-clipboard")
3538 (version (git-version "0.0.0.0" "3" commit))
3539 (source
3540 (origin
3541 (method git-fetch)
3542 (uri (git-reference
3543 (url "https://github.com/snmsts/trivial-clipboard")
3544 (commit commit)))
3545 (file-name (git-file-name "trivial-clipboard" version))
3546 (sha256
3547 (base32
3548 "1qfbvkzmvkbqpc5s3sx31c5653sy6qlcixafgzd10qpykb843prr"))))
3549 (build-system asdf-build-system/sbcl)
3550 (inputs
3551 `(("xclip" ,xclip)))
3552 (native-inputs
3553 `(("fiveam" ,sbcl-fiveam)))
3554 (arguments
3555 `(#:phases
3556 (modify-phases %standard-phases
3557 (add-after 'unpack 'fix-paths
3558 (lambda* (#:key inputs #:allow-other-keys)
3559 (substitute* "src/text.lisp"
3560 (("\\(executable-find \"xclip\"\\)")
3561 (string-append "(executable-find \""
3562 (assoc-ref inputs "xclip")
3563 "/bin/xclip\")"))))))))
3564 (home-page "https://github.com/snmsts/trivial-clipboard")
3565 (synopsis "Access system clipboard in Common Lisp")
3566 (description
3567 "@command{trivial-clipboard} gives access to the system clipboard.")
3568 (license license:expat))))
3569
3570 (define-public cl-trivial-clipboard
3571 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3572
3573 (define-public ecl-trivial-clipboard
3574 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3575
3576 (define-public sbcl-trivial-backtrace
3577 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3578 (revision "1"))
3579 (package
3580 (name "sbcl-trivial-backtrace")
3581 (version (git-version "0.0.0" revision commit))
3582 (source
3583 (origin
3584 (method git-fetch)
3585 (uri (git-reference
3586 (url "https://github.com/gwkkwg/trivial-backtrace")
3587 (commit commit)))
3588 (file-name (git-file-name "trivial-backtrace" version))
3589 (sha256
3590 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3591 (build-system asdf-build-system/sbcl)
3592 (inputs
3593 `(("sbcl-lift" ,sbcl-lift)))
3594 (arguments
3595 `(#:phases
3596 (modify-phases %standard-phases
3597 (add-after 'check 'delete-test-results
3598 (lambda* (#:key outputs #:allow-other-keys)
3599 (let ((test-results (string-append (assoc-ref outputs "out")
3600 "/share/common-lisp/"
3601 (%lisp-type)
3602 "/trivial-backtrace"
3603 "/test-results")))
3604 (when (file-exists? test-results)
3605 (delete-file-recursively test-results)))
3606 #t)))))
3607 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3608 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3609 (description
3610 "One of the many things that didn't quite get into the Common Lisp
3611 standard was how to get a Lisp to output its call stack when something has
3612 gone wrong. As such, each Lisp has developed its own notion of what to
3613 display, how to display it, and what sort of arguments can be used to
3614 customize it. @code{trivial-backtrace} is a simple solution to generating a
3615 backtrace portably.")
3616 (license license:expat))))
3617
3618 (define-public cl-trivial-backtrace
3619 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3620
3621 (define-public ecl-trivial-backtrace
3622 (sbcl-package->ecl-package sbcl-trivial-backtrace))
3623
3624 (define-public sbcl-rfc2388
3625 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3626 (revision "1"))
3627 (package
3628 (name "sbcl-rfc2388")
3629 (version (git-version "0.0.0" revision commit))
3630 (source
3631 (origin
3632 (method git-fetch)
3633 (uri (git-reference
3634 (url "https://github.com/jdz/rfc2388")
3635 (commit commit)))
3636 (file-name (git-file-name "rfc2388" version))
3637 (sha256
3638 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3639 (build-system asdf-build-system/sbcl)
3640 (home-page "https://github.com/jdz/rfc2388/")
3641 (synopsis "An implementation of RFC 2388 in Common Lisp")
3642 (description
3643 "This package contains an implementation of RFC 2388, which is used to
3644 process form data posted with HTTP POST method using enctype
3645 \"multipart/form-data\".")
3646 (license license:bsd-2))))
3647
3648 (define-public cl-rfc2388
3649 (sbcl-package->cl-source-package sbcl-rfc2388))
3650
3651 (define-public ecl-rfc2388
3652 (sbcl-package->ecl-package sbcl-rfc2388))
3653
3654 (define-public sbcl-md5
3655 (package
3656 (name "sbcl-md5")
3657 (version "2.0.4")
3658 (source
3659 (origin
3660 (method git-fetch)
3661 (uri (git-reference
3662 (url "https://github.com/pmai/md5")
3663 (commit (string-append "release-" version))))
3664 (file-name (git-file-name "md5" version))
3665 (sha256
3666 (base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
3667 (build-system asdf-build-system/sbcl)
3668 (home-page "https://github.com/pmai/md5")
3669 (synopsis
3670 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3671 (description
3672 "This package implements The MD5 Message-Digest Algorithm, as defined in
3673 RFC 1321 by R. Rivest, published April 1992.")
3674 (license license:public-domain)))
3675
3676 (define-public cl-md5
3677 (sbcl-package->cl-source-package sbcl-md5))
3678
3679 (define-public ecl-md5
3680 (package
3681 (inherit (sbcl-package->ecl-package sbcl-md5))
3682 (inputs
3683 `(("flexi-streams" ,ecl-flexi-streams)))))
3684
3685 (define-public sbcl-cl+ssl
3686 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
3687 (revision "1"))
3688 (package
3689 (name "sbcl-cl+ssl")
3690 (version (git-version "0.0.0" revision commit))
3691 (source
3692 (origin
3693 (method git-fetch)
3694 (uri (git-reference
3695 (url "https://github.com/cl-plus-ssl/cl-plus-ssl")
3696 (commit commit)))
3697 (file-name (git-file-name "cl+ssl" version))
3698 (sha256
3699 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
3700 (build-system asdf-build-system/sbcl)
3701 (arguments
3702 '(#:phases
3703 (modify-phases %standard-phases
3704 (add-after 'unpack 'fix-paths
3705 (lambda* (#:key inputs #:allow-other-keys)
3706 (substitute* "src/reload.lisp"
3707 (("libssl.so" all)
3708 (string-append
3709 (assoc-ref inputs "openssl") "/lib/" all))))))))
3710 (inputs
3711 `(("openssl" ,openssl)
3712 ("sbcl-cffi" ,sbcl-cffi)
3713 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3714 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3715 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3716 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3717 ("sbcl-alexandria" ,sbcl-alexandria)
3718 ("sbcl-trivial-features" ,sbcl-trivial-features)))
3719 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
3720 (synopsis "Common Lisp bindings to OpenSSL")
3721 (description
3722 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3723 code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3724 Development into CL+SSL was done by David Lichteblau.")
3725 (license license:expat))))
3726
3727 (define-public cl-cl+ssl
3728 (sbcl-package->cl-source-package sbcl-cl+ssl))
3729
3730 (define-public ecl-cl+ssl
3731 (sbcl-package->ecl-package sbcl-cl+ssl))
3732
3733 (define-public sbcl-kmrcl
3734 (let ((version "1.111")
3735 (commit "4a27407aad9deb607ffb8847630cde3d041ea25a")
3736 (revision "1"))
3737 (package
3738 (name "sbcl-kmrcl")
3739 (version (git-version version revision commit))
3740 (source
3741 (origin
3742 (method git-fetch)
3743 (uri (git-reference
3744 (url "http://git.kpe.io/kmrcl.git/")
3745 (commit commit)))
3746 (file-name (git-file-name name version))
3747 (sha256
3748 (base32 "06gx04mah5nc8w78s0j8628divbf1s5w7af8w7pvzb2d5mgvrbd2"))))
3749 (build-system asdf-build-system/sbcl)
3750 (inputs
3751 `(("sbcl-rt" ,sbcl-rt)))
3752 (home-page "http://files.kpe.io/kmrcl/")
3753 (synopsis "General utilities for Common Lisp programs")
3754 (description
3755 "KMRCL is a collection of utilities used by a number of Kevin
3756 Rosenberg's Common Lisp packages.")
3757 (license license:llgpl))))
3758
3759 (define-public cl-kmrcl
3760 (sbcl-package->cl-source-package sbcl-kmrcl))
3761
3762 (define-public ecl-kmrcl
3763 (sbcl-package->ecl-package sbcl-kmrcl))
3764
3765 (define-public sbcl-cl-base64
3766 ;; 3.3.4 tests are broken, upstream fixes them.
3767 (let ((commit "577683b18fd880b82274d99fc96a18a710e3987a"))
3768 (package
3769 (name "sbcl-cl-base64")
3770 (version (git-version "3.3.4" "1" commit))
3771 (source
3772 (origin
3773 (method git-fetch)
3774 (uri (git-reference
3775 (url "http://git.kpe.io/cl-base64.git/")
3776 (commit commit)))
3777 (file-name (git-file-name name version))
3778 (sha256
3779 (base32 "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj"))))
3780 (build-system asdf-build-system/sbcl)
3781 (native-inputs ; For tests.
3782 `(("sbcl-ptester" ,sbcl-ptester)
3783 ("sbcl-kmrcl" ,sbcl-kmrcl)))
3784 (home-page "http://files.kpe.io/cl-base64/")
3785 (synopsis
3786 "Common Lisp package to encode and decode base64 with URI support")
3787 (description
3788 "This package provides highly optimized base64 encoding and decoding.
3789 Besides conversion to and from strings, integer conversions are supported.
3790 Encoding with Uniform Resource Identifiers is supported by using a modified
3791 encoding table that uses only URI-compatible characters.")
3792 (license license:bsd-3))))
3793
3794 (define-public cl-base64
3795 (sbcl-package->cl-source-package sbcl-cl-base64))
3796
3797 (define-public ecl-cl-base64
3798 (sbcl-package->ecl-package sbcl-cl-base64))
3799
3800 (define-public sbcl-chunga
3801 (package
3802 (name "sbcl-chunga")
3803 (version "1.1.7")
3804 (source
3805 (origin
3806 (method git-fetch)
3807 (uri (git-reference
3808 (url "https://github.com/edicl/chunga")
3809 (commit (string-append "v" version))))
3810 (file-name (git-file-name name version))
3811 (sha256
3812 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
3813 (build-system asdf-build-system/sbcl)
3814 (inputs
3815 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3816 (home-page "https://edicl.github.io/chunga/")
3817 (synopsis "Portable chunked streams for Common Lisp")
3818 (description
3819 "Chunga implements streams capable of chunked encoding on demand as
3820 defined in RFC 2616.")
3821 (license license:bsd-2)))
3822
3823 (define-public cl-chunga
3824 (sbcl-package->cl-source-package sbcl-chunga))
3825
3826 (define-public ecl-chunga
3827 (sbcl-package->ecl-package sbcl-chunga))
3828
3829 (define-public sbcl-cl-who
3830 (let ((version "1.1.4")
3831 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
3832 (revision "1"))
3833 (package
3834 (name "sbcl-cl-who")
3835 (version (git-version version revision commit))
3836 (source
3837 (origin
3838 (method git-fetch)
3839 (uri (git-reference
3840 (url "https://github.com/edicl/cl-who")
3841 (commit commit)))
3842 (file-name (git-file-name name version))
3843 (sha256
3844 (base32
3845 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
3846 (build-system asdf-build-system/sbcl)
3847 (native-inputs
3848 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3849 (home-page "https://edicl.github.io/cl-who/")
3850 (synopsis "Yet another Lisp markup language")
3851 (description
3852 "There are plenty of Lisp Markup Languages out there - every Lisp
3853 programmer seems to write at least one during his career - and CL-WHO (where
3854 WHO means \"with-html-output\" for want of a better acronym) is probably just
3855 as good or bad as the next one.")
3856 (license license:bsd-2))))
3857
3858 (define-public cl-who
3859 (sbcl-package->cl-source-package sbcl-cl-who))
3860
3861 (define-public ecl-cl-who
3862 (sbcl-package->ecl-package sbcl-cl-who))
3863
3864 (define-public sbcl-chipz
3865 (let ((version "0.8")
3866 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
3867 (revision "1"))
3868 (package
3869 (name "sbcl-chipz")
3870 (version (git-version version revision commit))
3871 (source
3872 (origin
3873 (method git-fetch)
3874 (uri (git-reference
3875 (url "https://github.com/froydnj/chipz")
3876 (commit commit)))
3877 (file-name (git-file-name name version))
3878 (sha256
3879 (base32
3880 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
3881 (build-system asdf-build-system/sbcl)
3882 (native-inputs
3883 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3884 (home-page "http://method-combination.net/lisp/chipz/")
3885 (synopsis
3886 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
3887 data")
3888 (description
3889 "DEFLATE data, defined in RFC1951, forms the core of popular
3890 compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
3891 Chipz also provides for decompressing data in those formats as well. BZIP2 is
3892 the format used by the popular compression tool bzip2.")
3893 ;; The author describes it as "MIT-like"
3894 (license license:expat))))
3895
3896 (define-public cl-chipz
3897 (sbcl-package->cl-source-package sbcl-chipz))
3898
3899 (define-public ecl-chipz
3900 (sbcl-package->ecl-package sbcl-chipz))
3901
3902 (define-public sbcl-drakma
3903 (package
3904 (name "sbcl-drakma")
3905 (version "2.0.7")
3906 (source
3907 (origin
3908 (method git-fetch)
3909 (uri (git-reference
3910 (url "https://github.com/edicl/drakma")
3911 (commit (string-append "v" version))))
3912 (file-name (git-file-name name version))
3913 (sha256
3914 (base32
3915 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
3916 (build-system asdf-build-system/sbcl)
3917 (inputs
3918 `(("sbcl-puri" ,sbcl-puri)
3919 ("sbcl-cl-base64" ,sbcl-cl-base64)
3920 ("sbcl-chunga" ,sbcl-chunga)
3921 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3922 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3923 ("sbcl-chipz" ,sbcl-chipz)
3924 ("sbcl-usocket" ,sbcl-usocket)
3925 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
3926 (native-inputs
3927 `(("sbcl-fiveam" ,sbcl-fiveam)))
3928 (home-page "https://edicl.github.io/drakma/")
3929 (synopsis "HTTP client written in Common Lisp")
3930 (description
3931 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
3932 knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
3933 sockets, SSL, continuable uploads, file uploads, cookies, and more.")
3934 (license license:bsd-2)))
3935
3936 (define-public cl-drakma
3937 (sbcl-package->cl-source-package sbcl-drakma))
3938
3939 (define-public ecl-drakma
3940 (sbcl-package->ecl-package sbcl-drakma))
3941
3942 (define-public sbcl-hunchentoot
3943 (package
3944 (name "sbcl-hunchentoot")
3945 (version "1.2.38")
3946 (source
3947 (origin
3948 (method git-fetch)
3949 (uri (git-reference
3950 (url "https://github.com/edicl/hunchentoot")
3951 (commit (string-append "v" version))))
3952 (file-name (git-file-name "hunchentoot" version))
3953 (sha256
3954 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
3955 (build-system asdf-build-system/sbcl)
3956 (native-inputs
3957 `(("sbcl-cl-who" ,sbcl-cl-who)
3958 ("sbcl-drakma" ,sbcl-drakma)))
3959 (inputs
3960 `(("sbcl-chunga" ,sbcl-chunga)
3961 ("sbcl-cl-base64" ,sbcl-cl-base64)
3962 ("sbcl-cl-fad" ,sbcl-cl-fad)
3963 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3964 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3965 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
3966 ("sbcl-md5" ,sbcl-md5)
3967 ("sbcl-rfc2388" ,sbcl-rfc2388)
3968 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
3969 ("sbcl-usocket" ,sbcl-usocket)))
3970 (home-page "https://edicl.github.io/hunchentoot/")
3971 (synopsis "Web server written in Common Lisp")
3972 (description
3973 "Hunchentoot is a web server written in Common Lisp and at the same
3974 time a toolkit for building dynamic websites. As a stand-alone web server,
3975 Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
3976 connections (keep-alive), and SSL.")
3977 (license license:bsd-2)))
3978
3979 (define-public cl-hunchentoot
3980 (sbcl-package->cl-source-package sbcl-hunchentoot))
3981
3982 (define-public ecl-hunchentoot
3983 (package
3984 (inherit (sbcl-package->ecl-package sbcl-hunchentoot))
3985 (arguments
3986 ;; Tests fail on ECL with 'Socket error in "socket": EINVAL'.
3987 '(#:tests? #f))))
3988
3989 (define-public sbcl-trivial-types
3990 (package
3991 (name "sbcl-trivial-types")
3992 (version "0.0.1")
3993 (source
3994 (origin
3995 (method git-fetch)
3996 (uri (git-reference
3997 (url "https://github.com/m2ym/trivial-types")
3998 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
3999 (file-name (git-file-name name version))
4000 (sha256
4001 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
4002 (build-system asdf-build-system/sbcl)
4003 (home-page "https://github.com/m2ym/trivial-types")
4004 (synopsis "Trivial type definitions for Common Lisp")
4005 (description
4006 "TRIVIAL-TYPES provides missing but important type definitions such as
4007 PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
4008 (license license:llgpl)))
4009
4010 (define-public cl-trivial-types
4011 (sbcl-package->cl-source-package sbcl-trivial-types))
4012
4013 (define-public ecl-trivial-types
4014 (sbcl-package->ecl-package sbcl-trivial-types))
4015
4016 (define-public sbcl-cl-annot
4017 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
4018 (revision "1"))
4019 (package
4020 (name "sbcl-cl-annot")
4021 (version (git-version "0.0.0" revision commit))
4022 (source
4023 (origin
4024 (method git-fetch)
4025 (uri (git-reference
4026 (url "https://github.com/m2ym/cl-annot")
4027 (commit commit)))
4028 (file-name (git-file-name name version))
4029 (sha256
4030 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
4031 (build-system asdf-build-system/sbcl)
4032 (inputs
4033 `(("sbcl-alexandria" ,sbcl-alexandria)))
4034 (home-page "https://github.com/m2ym/cl-annot")
4035 (synopsis "Python-like Annotation Syntax for Common Lisp.")
4036 (description
4037 "@code{cl-annot} is an general annotation library for Common Lisp.")
4038 (license license:llgpl))))
4039
4040 (define-public cl-annot
4041 (sbcl-package->cl-source-package sbcl-cl-annot))
4042
4043 (define-public ecl-cl-annot
4044 (sbcl-package->ecl-package sbcl-cl-annot))
4045
4046 (define-public sbcl-cl-syntax
4047 (package
4048 (name "sbcl-cl-syntax")
4049 (version "0.0.3")
4050 (source
4051 (origin
4052 (method git-fetch)
4053 (uri (git-reference
4054 (url "https://github.com/m2ym/cl-syntax")
4055 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
4056 (file-name (git-file-name "cl-syntax" version))
4057 (sha256
4058 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
4059 (build-system asdf-build-system/sbcl)
4060 (inputs
4061 `(("cl-annot" ,sbcl-cl-annot)
4062 ("cl-interpol" ,sbcl-cl-interpol)
4063 ("named-readtables" ,sbcl-named-readtables)
4064 ("trivial-types" ,sbcl-trivial-types)))
4065 (arguments
4066 '(#:asd-systems '("cl-syntax"
4067 "cl-syntax-annot"
4068 "cl-syntax-interpol")))
4069 (home-page "https://github.com/m2ym/cl-syntax")
4070 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
4071 (description
4072 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
4073 (license license:llgpl)))
4074
4075 (define-public cl-syntax
4076 (sbcl-package->cl-source-package sbcl-cl-syntax))
4077
4078 (define-public ecl-cl-syntax
4079 (sbcl-package->ecl-package sbcl-cl-syntax))
4080
4081 (define-public sbcl-cl-utilities
4082 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
4083 (revision "1"))
4084 (package
4085 (name "sbcl-cl-utilities")
4086 (version (git-version "0.0.0" revision commit))
4087 (source
4088 (origin
4089 (method url-fetch)
4090 (uri
4091 (string-append
4092 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
4093 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
4094 (sha256
4095 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
4096 (build-system asdf-build-system/sbcl)
4097 (arguments
4098 '(#:phases
4099 (modify-phases %standard-phases
4100 (add-after 'unpack 'fix-paths
4101 (lambda* (#:key inputs #:allow-other-keys)
4102 (substitute* "rotate-byte.lisp"
4103 (("in-package :cl-utilities)" all)
4104 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
4105 (home-page "http://common-lisp.net/project/cl-utilities")
4106 (synopsis "A collection of semi-standard utilities")
4107 (description
4108 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
4109 is a collection of Common Lisp Utilities, things that everybody writes since
4110 they're not part of the official standard. There are some very useful things
4111 there; the only problems are that they aren't implemented as well as you'd
4112 like (some aren't implemented at all) and they aren't conveniently packaged
4113 and maintained. It takes quite a bit of work to carefully implement utilities
4114 for common use, commented and documented, with error checking placed
4115 everywhere some dumb user might make a mistake.")
4116 (license license:public-domain))))
4117
4118 (define-public cl-utilities
4119 (sbcl-package->cl-source-package sbcl-cl-utilities))
4120
4121 (define-public ecl-cl-utilities
4122 (sbcl-package->ecl-package sbcl-cl-utilities))
4123
4124 (define-public sbcl-map-set
4125 (let ((commit "7b4b545b68b8")
4126 (revision "1"))
4127 (package
4128 (name "sbcl-map-set")
4129 (version (git-version "0.0.0" revision commit))
4130 (source
4131 (origin
4132 (method url-fetch)
4133 (uri (string-append
4134 "https://bitbucket.org/tarballs_are_good/map-set/get/"
4135 commit ".tar.gz"))
4136 (sha256
4137 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
4138 (build-system asdf-build-system/sbcl)
4139 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
4140 (synopsis "Set-like data structure")
4141 (description
4142 "Implementation of a set-like data structure with constant time
4143 addition, removal, and random selection.")
4144 (license license:bsd-3))))
4145
4146 (define-public cl-map-set
4147 (sbcl-package->cl-source-package sbcl-map-set))
4148
4149 (define-public ecl-map-set
4150 (sbcl-package->ecl-package sbcl-map-set))
4151
4152 (define-public sbcl-quri
4153 (let ((commit "d7f2720568146c6674187f625f115925e6364a7f")
4154 (revision "4"))
4155 (package
4156 (name "sbcl-quri")
4157 (version (git-version "0.1.0" revision commit))
4158 (source
4159 (origin
4160 (method git-fetch)
4161 (uri (git-reference
4162 (url "https://github.com/fukamachi/quri")
4163 (commit commit)))
4164 (file-name (git-file-name name version))
4165 (sha256
4166 (base32 "0yrcvz5ksfr7x8yx741vp65il0fxxaskppq3iyk9bq895s1jn37w"))))
4167 (build-system asdf-build-system/sbcl)
4168 (arguments
4169 ;; Test system must be loaded before, otherwise tests fail with:
4170 ;; Component QURI-ASD::QURI-TEST not found, required by #<SYSTEM
4171 ;; "quri">.
4172 '(#:asd-systems '("quri-test"
4173 "quri")))
4174 (native-inputs `(("sbcl-prove" ,sbcl-prove)))
4175 (inputs `(("sbcl-babel" ,sbcl-babel)
4176 ("sbcl-split-sequence" ,sbcl-split-sequence)
4177 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
4178 ("sbcl-alexandria" ,sbcl-alexandria)))
4179 (home-page "https://github.com/fukamachi/quri")
4180 (synopsis "Yet another URI library for Common Lisp")
4181 (description
4182 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
4183 Lisp. It is intended to be a replacement of PURI.")
4184 (license license:bsd-3))))
4185
4186 (define-public cl-quri
4187 (sbcl-package->cl-source-package sbcl-quri))
4188
4189 (define-public ecl-quri
4190 (sbcl-package->ecl-package sbcl-quri))
4191
4192 (define-public sbcl-myway
4193 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
4194 (revision "1"))
4195 (package
4196 (name "sbcl-myway")
4197 (version (git-version "0.1.0" revision commit))
4198 (source
4199 (origin
4200 (method git-fetch)
4201 (uri (git-reference
4202 (url "https://github.com/fukamachi/myway")
4203 (commit commit)))
4204 (file-name (git-file-name "myway" version))
4205 (sha256
4206 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
4207 (build-system asdf-build-system/sbcl)
4208 (arguments
4209 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
4210 ;; by #<SYSTEM "myway">. Why?
4211 '(#:tests? #f))
4212 (native-inputs
4213 `(("sbcl-prove" ,sbcl-prove)))
4214 (inputs
4215 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4216 ("sbcl-quri" ,sbcl-quri)
4217 ("sbcl-map-set" ,sbcl-map-set)))
4218 (home-page "https://github.com/fukamachi/myway")
4219 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
4220 (description "My Way is a Sinatra-compatible URL routing library.")
4221 (license license:llgpl))))
4222
4223 (define-public cl-myway
4224 (sbcl-package->cl-source-package sbcl-myway))
4225
4226 (define-public ecl-myway
4227 (sbcl-package->ecl-package sbcl-myway))
4228
4229 (define-public sbcl-xsubseq
4230 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
4231 (revision "1"))
4232 (package
4233 (name "sbcl-xsubseq")
4234 (version (git-version "0.0.1" revision commit))
4235 (source
4236 (origin
4237 (method git-fetch)
4238 (uri (git-reference
4239 (url "https://github.com/fukamachi/xsubseq")
4240 (commit commit)))
4241 (file-name (git-file-name name version))
4242 (sha256
4243 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4244 (build-system asdf-build-system/sbcl)
4245 (arguments
4246 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4247 ;; required by #<SYSTEM "xsubseq">. Why?
4248 '(#:tests? #f))
4249 (native-inputs
4250 `(("sbcl-prove" ,sbcl-prove)))
4251 (home-page "https://github.com/fukamachi/xsubseq")
4252 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4253 (description
4254 "XSubseq provides functions to be able to handle \"subseq\"s more
4255 effieiently.")
4256 (license license:bsd-2))))
4257
4258 (define-public cl-xsubseq
4259 (sbcl-package->cl-source-package sbcl-xsubseq))
4260
4261 (define-public ecl-xsubseq
4262 (sbcl-package->ecl-package sbcl-xsubseq))
4263
4264 (define-public sbcl-smart-buffer
4265 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4266 (revision "1"))
4267 (package
4268 (name "sbcl-smart-buffer")
4269 (version (git-version "0.0.1" revision commit))
4270 (source
4271 (origin
4272 (method git-fetch)
4273 (uri (git-reference
4274 (url "https://github.com/fukamachi/smart-buffer")
4275 (commit commit)))
4276 (file-name (git-file-name name version))
4277 (sha256
4278 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4279 (build-system asdf-build-system/sbcl)
4280 (arguments
4281 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4282 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4283 `(#:tests? #f))
4284 (native-inputs
4285 `(("sbcl-prove" ,sbcl-prove)))
4286 (inputs
4287 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4288 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4289 (home-page "https://github.com/fukamachi/smart-buffer")
4290 (synopsis "Smart octets buffer")
4291 (description
4292 "Smart-buffer provides an output buffer which changes the destination
4293 depending on content size.")
4294 (license license:bsd-3))))
4295
4296 (define-public cl-smart-buffer
4297 (sbcl-package->cl-source-package sbcl-smart-buffer))
4298
4299 (define-public ecl-smart-buffer
4300 (sbcl-package->ecl-package sbcl-smart-buffer))
4301
4302 (define-public sbcl-fast-http
4303 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
4304 (revision "2"))
4305 (package
4306 (name "sbcl-fast-http")
4307 (version (git-version "0.2.0" revision commit))
4308 (source
4309 (origin
4310 (method git-fetch)
4311 (uri (git-reference
4312 (url "https://github.com/fukamachi/fast-http")
4313 (commit commit)))
4314 (file-name (git-file-name name version))
4315 (sha256
4316 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
4317 (build-system asdf-build-system/sbcl)
4318 (arguments
4319 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4320 ;; required by #<SYSTEM "fast-http">. Why?
4321 `(#:tests? #f))
4322 (native-inputs
4323 `(("sbcl-prove" ,sbcl-prove)
4324 ("cl-syntax" ,sbcl-cl-syntax)))
4325 (inputs
4326 `(("sbcl-alexandria" ,sbcl-alexandria)
4327 ("sbcl-proc-parse" ,sbcl-proc-parse)
4328 ("sbcl-xsubseq" ,sbcl-xsubseq)
4329 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4330 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4331 (home-page "https://github.com/fukamachi/fast-http")
4332 (synopsis "HTTP request/response parser for Common Lisp")
4333 (description
4334 "@code{fast-http} is a HTTP request/response protocol parser for Common
4335 Lisp.")
4336 ;; Author specified the MIT license
4337 (license license:expat))))
4338
4339 (define-public cl-fast-http
4340 (sbcl-package->cl-source-package sbcl-fast-http))
4341
4342 (define-public ecl-fast-http
4343 (sbcl-package->ecl-package sbcl-fast-http))
4344
4345 (define-public sbcl-static-vectors
4346 (package
4347 (name "sbcl-static-vectors")
4348 (version "1.8.6")
4349 (source
4350 (origin
4351 (method git-fetch)
4352 (uri (git-reference
4353 (url "https://github.com/sionescu/static-vectors")
4354 (commit (string-append "v" version))))
4355 (file-name (git-file-name name version))
4356 (sha256
4357 (base32 "01hwxzhyjkhsd3949g70120g7msw01byf0ia0pbj319q1a3cq7j9"))))
4358 (native-inputs
4359 `(("sbcl-fiveam" ,sbcl-fiveam)))
4360 (inputs
4361 `(("sbcl-alexandria" ,sbcl-alexandria)
4362 ("sbcl-cffi" ,sbcl-cffi)))
4363 (build-system asdf-build-system/sbcl)
4364 (home-page "https://github.com/sionescu/static-vectors")
4365 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4366 (description
4367 "With @code{static-vectors}, you can create vectors allocated in static
4368 memory.")
4369 (license license:expat)))
4370
4371 (define-public cl-static-vectors
4372 (sbcl-package->cl-source-package sbcl-static-vectors))
4373
4374 (define-public ecl-static-vectors
4375 (sbcl-package->ecl-package sbcl-static-vectors))
4376
4377 (define-public sbcl-marshal
4378 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4379 (revision "1"))
4380 (package
4381 (name "sbcl-marshal")
4382 (version (git-version "1.3.0" revision commit))
4383 (source
4384 (origin
4385 (method git-fetch)
4386 (uri (git-reference
4387 (url "https://github.com/wlbr/cl-marshal")
4388 (commit commit)))
4389 (file-name (git-file-name name version))
4390 (sha256
4391 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4392 (build-system asdf-build-system/sbcl)
4393 (home-page "https://github.com/wlbr/cl-marshal")
4394 (synopsis "Simple (de)serialization of Lisp datastructures")
4395 (description
4396 "Simple and fast marshalling of Lisp datastructures. Convert any object
4397 into a string representation, put it on a stream an revive it from there.
4398 Only minimal changes required to make your CLOS objects serializable.")
4399 (license license:expat))))
4400
4401 (define-public cl-marshal
4402 (sbcl-package->cl-source-package sbcl-marshal))
4403
4404 (define-public ecl-marshal
4405 (sbcl-package->ecl-package sbcl-marshal))
4406
4407 (define-public sbcl-checkl
4408 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4409 (revision "1"))
4410 (package
4411 (name "sbcl-checkl")
4412 (version (git-version "0.0.0" revision commit))
4413 (source
4414 (origin
4415 (method git-fetch)
4416 (uri (git-reference
4417 (url "https://github.com/rpav/CheckL")
4418 (commit commit)))
4419 (file-name (git-file-name name version))
4420 (sha256
4421 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4422 (build-system asdf-build-system/sbcl)
4423 (arguments
4424 ;; Error while trying to load definition for system checkl-test from
4425 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4426 ;; is undefined.
4427 '(#:asd-files '("checkl.asd")
4428 #:tests? #f))
4429 (native-inputs
4430 `(("sbcl-fiveam" ,sbcl-fiveam)))
4431 (inputs
4432 `(("sbcl-marshal" ,sbcl-marshal)))
4433 (home-page "https://github.com/rpav/CheckL/")
4434 (synopsis "Dynamic testing for Common Lisp")
4435 (description
4436 "CheckL lets you write tests dynamically, it checks resulting values
4437 against the last run.")
4438 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4439 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4440 ;; stronger of the two and so I think only listing this should suffice.
4441 (license license:llgpl))))
4442
4443 (define-public cl-checkl
4444 (sbcl-package->cl-source-package sbcl-checkl))
4445
4446 (define-public ecl-checkl
4447 (sbcl-package->ecl-package sbcl-checkl))
4448
4449 (define-public sbcl-fast-io
4450 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
4451 (revision "2"))
4452 (package
4453 (name "sbcl-fast-io")
4454 (version (git-version "1.0.0" revision commit))
4455 (source
4456 (origin
4457 (method git-fetch)
4458 (uri (git-reference
4459 (url "https://github.com/rpav/fast-io")
4460 (commit commit)))
4461 (file-name (git-file-name name version))
4462 (sha256
4463 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
4464 (build-system asdf-build-system/sbcl)
4465 (arguments
4466 ;; Error while trying to load definition for system fast-io-test from
4467 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4468 ;; is undefined.
4469 '(#:tests? #f
4470 #:asd-files '("fast-io.asd")))
4471 (native-inputs
4472 `(("sbcl-fiveam" ,sbcl-fiveam)
4473 ("sbcl-checkl" ,sbcl-checkl)))
4474 (inputs
4475 `(("sbcl-alexandria" ,sbcl-alexandria)
4476 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4477 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4478 (home-page "https://github.com/rpav/fast-io")
4479 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4480 (description
4481 "Fast-io is about improving performance to octet-vectors and octet
4482 streams (though primarily the former, while wrapping the latter).")
4483 ;; Author specifies this as NewBSD which is an alias
4484 (license license:bsd-3))))
4485
4486 (define-public cl-fast-io
4487 (sbcl-package->cl-source-package sbcl-fast-io))
4488
4489 (define-public ecl-fast-io
4490 (sbcl-package->ecl-package sbcl-fast-io))
4491
4492 (define-public sbcl-jonathan
4493 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4494 (revision "1"))
4495 (package
4496 (name "sbcl-jonathan")
4497 (version (git-version "0.1.0" revision commit))
4498 (source
4499 (origin
4500 (method git-fetch)
4501 (uri (git-reference
4502 (url "https://github.com/Rudolph-Miller/jonathan")
4503 (commit commit)))
4504 (file-name (git-file-name name version))
4505 (sha256
4506 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4507 (build-system asdf-build-system/sbcl)
4508 (arguments
4509 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4510 ;; required by #<SYSTEM "jonathan">. Why?
4511 `(#:tests? #f))
4512 (native-inputs
4513 `(("sbcl-prove" ,sbcl-prove)))
4514 (inputs
4515 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4516 ("sbcl-fast-io" ,sbcl-fast-io)
4517 ("sbcl-proc-parse" ,sbcl-proc-parse)
4518 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
4519 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
4520 (synopsis "JSON encoder and decoder")
4521 (description
4522 "High performance JSON encoder and decoder. Currently support: SBCL,
4523 CCL.")
4524 ;; Author specifies the MIT license
4525 (license license:expat))))
4526
4527 (define-public cl-jonathan
4528 (sbcl-package->cl-source-package sbcl-jonathan))
4529
4530 (define-public ecl-jonathan
4531 (sbcl-package->ecl-package sbcl-jonathan))
4532
4533 (define-public sbcl-http-body
4534 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4535 (revision "1"))
4536 (package
4537 (name "sbcl-http-body")
4538 (version (git-version "0.1.0" revision commit))
4539 (source
4540 (origin
4541 (method git-fetch)
4542 (uri (git-reference
4543 (url "https://github.com/fukamachi/http-body")
4544 (commit commit)))
4545 (file-name (git-file-name name version))
4546 (sha256
4547 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4548 (build-system asdf-build-system/sbcl)
4549 (arguments
4550 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4551 ;; found, required by #<SYSTEM "http-body">. Why?
4552 `(#:tests? #f))
4553 (native-inputs
4554 `(("sbcl-prove" ,sbcl-prove)))
4555 (inputs
4556 `(("sbcl-fast-http" ,sbcl-fast-http)
4557 ("sbcl-jonathan" ,sbcl-jonathan)
4558 ("sbcl-quri" ,sbcl-quri)))
4559 (home-page "https://github.com/fukamachi/http-body")
4560 (synopsis "HTTP POST data parser")
4561 (description
4562 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4563 supports application/x-www-form-urlencoded, application/json, and
4564 multipart/form-data.")
4565 (license license:bsd-2))))
4566
4567 (define-public cl-http-body
4568 (sbcl-package->cl-source-package sbcl-http-body))
4569
4570 (define-public ecl-http-body
4571 (sbcl-package->ecl-package sbcl-http-body))
4572
4573 (define-public sbcl-circular-streams
4574 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4575 (revision "1"))
4576 (package
4577 (name "sbcl-circular-streams")
4578 (version (git-version "0.1.0" revision commit))
4579 (source
4580 (origin
4581 (method git-fetch)
4582 (uri (git-reference
4583 (url "https://github.com/fukamachi/circular-streams")
4584 (commit commit)))
4585 (file-name (git-file-name name version))
4586 (sha256
4587 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4588 (build-system asdf-build-system/sbcl)
4589 (arguments
4590 ;; The tests depend on cl-test-more which is now prove. Prove
4591 ;; tests aren't working for some reason.
4592 `(#:tests? #f))
4593 (inputs
4594 `(("sbcl-fast-io" ,sbcl-fast-io)
4595 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4596 (home-page "https://github.com/fukamachi/circular-streams")
4597 (synopsis "Circularly readable streams for Common Lisp")
4598 (description
4599 "Circular-Streams allows you to read streams circularly by wrapping real
4600 streams. Once you reach end-of-file of a stream, it's file position will be
4601 reset to 0 and you're able to read it again.")
4602 (license license:llgpl))))
4603
4604 (define-public cl-circular-streams
4605 (sbcl-package->cl-source-package sbcl-circular-streams))
4606
4607 (define-public ecl-circular-streams
4608 (sbcl-package->ecl-package sbcl-circular-streams))
4609
4610 (define-public sbcl-lack
4611 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4612 (revision "1"))
4613 (package
4614 (name "sbcl-lack")
4615 (version (git-version "0.1.0" revision commit))
4616 (source
4617 (origin
4618 (method git-fetch)
4619 (uri (git-reference
4620 (url "https://github.com/fukamachi/lack")
4621 (commit commit)))
4622 (file-name (git-file-name "lack" version))
4623 (sha256
4624 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4625 (build-system asdf-build-system/sbcl)
4626 (native-inputs
4627 `(("prove" ,sbcl-prove)))
4628 (inputs
4629 `(("circular-streams" ,sbcl-circular-streams)
4630 ("http-body" ,sbcl-http-body)
4631 ("ironclad" ,sbcl-ironclad)
4632 ("local-time" ,sbcl-local-time)
4633 ("quri" ,sbcl-quri)
4634 ("trivial-mimes" ,sbcl-trivial-mimes)))
4635 (arguments
4636 '(#:asd-systems '("lack"
4637 "lack-request"
4638 "lack-response"
4639 "lack-component"
4640 "lack-util"
4641 "lack-middleware-backtrace"
4642 "lack-middleware-static")
4643 #:test-asd-file "t-lack.asd"
4644 ;; XXX: Component :CLACK not found
4645 #:tests? #f))
4646 (home-page "https://github.com/fukamachi/lack")
4647 (synopsis "Lack, the core of Clack")
4648 (description
4649 "Lack is a Common Lisp library which allows web applications to be
4650 constructed of modular components. It was originally a part of Clack, however
4651 it's going to be rewritten as an individual project since Clack v2 with
4652 performance and simplicity in mind.")
4653 (license license:llgpl))))
4654
4655 (define-public cl-lack
4656 (sbcl-package->cl-source-package sbcl-lack))
4657
4658 (define-public ecl-lack
4659 (sbcl-package->ecl-package sbcl-lack))
4660
4661 (define-public sbcl-local-time
4662 (let ((commit "a177eb911c0e8116e2bfceb79049265a884b701b")
4663 (revision "2"))
4664 (package
4665 (name "sbcl-local-time")
4666 (version (git-version "1.0.6" revision commit))
4667 (source
4668 (origin
4669 (method git-fetch)
4670 (uri (git-reference
4671 (url "https://github.com/dlowe-net/local-time")
4672 (commit commit)))
4673 (file-name (git-file-name name version))
4674 (sha256
4675 (base32 "0wld28xx20k0ysgg6akic5lg4vkjd0iyhv86m388xfrv8xh87wii"))))
4676 (build-system asdf-build-system/sbcl)
4677 (native-inputs
4678 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
4679 (home-page "https://common-lisp.net/project/local-time/")
4680 (synopsis "Time manipulation library for Common Lisp")
4681 (description
4682 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4683 dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4684 Long Painful History of Time\".")
4685 (license license:expat))))
4686
4687 (define-public cl-local-time
4688 (sbcl-package->cl-source-package sbcl-local-time))
4689
4690 (define-public ecl-local-time
4691 (sbcl-package->ecl-package sbcl-local-time))
4692
4693 (define-public sbcl-trivial-mimes
4694 (let ((commit "a741fc2f567a4f86b853fd4677d75e62c03e51d9")
4695 (revision "2"))
4696 (package
4697 (name "sbcl-trivial-mimes")
4698 (version (git-version "1.1.0" revision commit))
4699 (source
4700 (origin
4701 (method git-fetch)
4702 (uri (git-reference
4703 (url "https://github.com/Shinmera/trivial-mimes")
4704 (commit commit)))
4705 (file-name (git-file-name name version))
4706 (sha256
4707 (base32 "00kcm17q5plpzdj1qwg83ldhxksilgpcdkf3m9azxcdr968xs9di"))))
4708 (build-system asdf-build-system/sbcl)
4709 (native-inputs
4710 `(("stefil" ,sbcl-hu.dwim.stefil)))
4711 (inputs
4712 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4713 (home-page "https://shinmera.github.io/trivial-mimes/")
4714 (synopsis "Tiny Common Lisp library to detect mime types in files")
4715 (description
4716 "This is a teensy library that provides some functions to determine the
4717 mime-type of a file.")
4718 (license license:zlib))))
4719
4720 (define-public cl-trivial-mimes
4721 (sbcl-package->cl-source-package sbcl-trivial-mimes))
4722
4723 (define-public ecl-trivial-mimes
4724 (sbcl-package->ecl-package sbcl-trivial-mimes))
4725
4726 (define-public sbcl-ningle
4727 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
4728 (revision "1"))
4729 (package
4730 (name "sbcl-ningle")
4731 (version (git-version "0.3.0" revision commit))
4732 (source
4733 (origin
4734 (method git-fetch)
4735 (uri (git-reference
4736 (url "https://github.com/fukamachi/ningle")
4737 (commit commit)))
4738 (file-name (git-file-name name version))
4739 (sha256
4740 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
4741 (build-system asdf-build-system/sbcl)
4742 (arguments
4743 ;; TODO: pull in clack-test
4744 '(#:tests? #f
4745 #:phases
4746 (modify-phases %standard-phases
4747 (delete 'cleanup-files)
4748 (delete 'cleanup)
4749 (add-before 'cleanup 'combine-fasls
4750 (lambda* (#:key outputs #:allow-other-keys)
4751 (let* ((out (assoc-ref outputs "out"))
4752 (lib (string-append out "/lib/sbcl"))
4753 (ningle-path (string-append lib "/ningle"))
4754 (fasl-files (find-files out "\\.fasl$")))
4755 (mkdir-p ningle-path)
4756 (let ((fasl-path (lambda (name)
4757 (string-append ningle-path
4758 "/"
4759 (basename name)
4760 "--system.fasl"))))
4761 (for-each (lambda (file)
4762 (rename-file file
4763 (fasl-path
4764 (basename file ".fasl"))))
4765 fasl-files))
4766 fasl-files)
4767 #t)))))
4768 (native-inputs
4769 `(("sbcl-prove" ,sbcl-prove)))
4770 (inputs
4771 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4772 ("sbcl-myway" ,sbcl-myway)
4773 ("sbcl-lack" ,sbcl-lack)
4774 ("sbcl-alexandria" ,sbcl-alexandria)
4775 ("sbcl-babel" ,sbcl-babel)))
4776 (home-page "https://8arrow.org/ningle/")
4777 (synopsis "Super micro framework for Common Lisp")
4778 (description
4779 "Ningle is a lightweight web application framework for Common Lisp.")
4780 (license license:llgpl))))
4781
4782 (define-public cl-ningle
4783 (sbcl-package->cl-source-package sbcl-ningle))
4784
4785 (define-public ecl-ningle
4786 (sbcl-package->ecl-package sbcl-ningle))
4787
4788 (define-public sbcl-cl-fastcgi
4789 (let ((commit "de8b49b26de9863996ec18db28af8ab7e8ac4e20")
4790 (revision "2"))
4791 (package
4792 (name "sbcl-cl-fastcgi")
4793 (version (git-version "0.2" revision commit))
4794 (source
4795 (origin
4796 (method git-fetch)
4797 (uri (git-reference
4798 (url "https://github.com/KDr2/cl-fastcgi/")
4799 (commit commit)))
4800 (file-name (git-file-name name version))
4801 (sha256
4802 (base32 "0xgmhx766q4nmrvn5z7ag3ikpr9phlh8ypi8b14azshq9lqbq0m7"))))
4803 (build-system asdf-build-system/sbcl)
4804 (inputs
4805 `(("usocket" ,sbcl-usocket)
4806 ("cffi" ,sbcl-cffi)
4807 ("fcgi" ,fcgi)))
4808 (arguments
4809 `(#:phases
4810 (modify-phases %standard-phases
4811 (add-after 'unpack 'fix-paths
4812 (lambda* (#:key inputs #:allow-other-keys)
4813 (substitute* "cl-fastcgi.lisp"
4814 (("\"libfcgi.so\"")
4815 (string-append
4816 "\""
4817 (assoc-ref inputs "fcgi") "/lib/libfcgi.so\""))))))))
4818 (home-page "https://kdr2.com/project/cl-fastcgi.html")
4819 (synopsis "FastCGI wrapper for Common Lisp")
4820 (description
4821 "CL-FastCGI is a generic version of SB-FastCGI, targeting to run on
4822 mostly Common Lisp implementation.")
4823 (license license:bsd-2))))
4824
4825 (define-public cl-fastcgi
4826 (sbcl-package->cl-source-package sbcl-cl-fastcgi))
4827
4828 (define-public ecl-cl-fastcgi
4829 (sbcl-package->ecl-package sbcl-cl-fastcgi))
4830
4831 (define-public sbcl-clack
4832 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
4833 (revision "1"))
4834 (package
4835 (name "sbcl-clack")
4836 (version (git-version "2.0.0" revision commit))
4837 (source
4838 (origin
4839 (method git-fetch)
4840 (uri (git-reference
4841 (url "https://github.com/fukamachi/clack")
4842 (commit commit)))
4843 (file-name (git-file-name name version))
4844 (sha256
4845 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
4846 (build-system asdf-build-system/sbcl)
4847 (inputs
4848 `(("alexandria" ,sbcl-alexandria)
4849 ("bordeaux-threads" ,sbcl-bordeaux-threads)
4850 ("cl-fastcgi" ,sbcl-cl-fastcgi)
4851 ("flexi-streams" ,sbcl-flexi-streams)
4852 ("hunchentoot" ,sbcl-hunchentoot)
4853 ("lack" ,sbcl-lack)
4854 ("split-sequence" ,sbcl-split-sequence)
4855 ("usocket" ,sbcl-usocket)
4856 ("quri" ,sbcl-quri)))
4857 (arguments
4858 '(#:asd-systems '("clack"
4859 "clack-handler-fcgi"
4860 "clack-socket"
4861 "clack-handler-hunchentoot")))
4862 (home-page "https://github.com/fukamachi/clack")
4863 (synopsis "Web Application Environment for Common Lisp")
4864 (description
4865 "Clack is a web application environment for Common Lisp inspired by
4866 Python's WSGI and Ruby's Rack.")
4867 (license license:llgpl))))
4868
4869 (define-public cl-clack
4870 (sbcl-package->cl-source-package sbcl-clack))
4871
4872 (define-public ecl-clack
4873 (sbcl-package->ecl-package sbcl-clack))
4874
4875 (define-public sbcl-cl-log
4876 (let ((commit "8f4b766d51e02245c310526cf1e4534ce634f837")
4877 (revision "1"))
4878 (package
4879 (name "sbcl-cl-log")
4880 (version "1.0.1")
4881 (source
4882 (origin
4883 (method git-fetch)
4884 (uri (git-reference
4885 (url "https://github.com/nicklevine/cl-log")
4886 (commit commit)))
4887 (sha256
4888 (base32 "1r3z9swy1b59swvaa5b97is9ysrfmjvjjhhw56p7p5hqg93b92ak"))
4889 (file-name (git-file-name "cl-log" version))))
4890 (build-system asdf-build-system/sbcl)
4891 (synopsis "Common Lisp general purpose logging utility")
4892 (description "CL-LOG is a general purpose logging utility, loosely modelled
4893 in some respects after Gary King's Log5. Its features include: logging to
4894 several destinations at once, via \"messengers\", each messenger is tailored to
4895 accept some log messages and reject others, and this tailoring can be changed
4896 on-the-fly, very rapid processing of messages which are rejected by all
4897 messengers, fully independent use of the utility by several different
4898 sub-systems in an application, support for messengers which cl:format text to a
4899 stream, support for messengers which do not invoke cl:format, timestamps in
4900 theory accurate to internal-time-units-per-second.")
4901 (home-page "https://github.com/nicklevine/cl-log")
4902 (license license:expat))))
4903
4904 (define-public cl-log
4905 (sbcl-package->cl-source-package sbcl-cl-log))
4906
4907 (define-public ecl-cl-log
4908 (sbcl-package->ecl-package sbcl-cl-log))
4909
4910 (define-public sbcl-log4cl
4911 (let ((commit "8c48d6f41d3a1475d0a91eed0638b9eecc398e35")
4912 (revision "1"))
4913 (package
4914 (name "sbcl-log4cl")
4915 (version (git-version "1.1.3" revision commit))
4916 (source
4917 (origin
4918 (method git-fetch)
4919 (uri (git-reference
4920 (url "https://github.com/sharplispers/log4cl")
4921 (commit commit)))
4922 (file-name (git-file-name "log4cl" version))
4923 (sha256
4924 (base32 "0166d9aip366pbpdk5gsi2f6xad6q61lssxgbrypa8zslwjn8736"))))
4925 (build-system asdf-build-system/sbcl)
4926 (native-inputs
4927 `(("stefil" ,sbcl-stefil)))
4928 (inputs
4929 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
4930 (home-page "https://github.com/7max/log4cl")
4931 (synopsis "Common Lisp logging framework, modeled after Log4J")
4932 (description
4933 "This is a Common Lisp logging framework that can log at various levels
4934 and mix text with expressions.")
4935 (license license:asl2.0))))
4936
4937 (define-public cl-log4cl
4938 (sbcl-package->cl-source-package sbcl-log4cl))
4939
4940 (define-public ecl-log4cl
4941 (sbcl-package->ecl-package sbcl-log4cl))
4942
4943 (define-public sbcl-printv
4944 (let ((commit "646d31978dbbb460fffb160fd65bb2be9a5a434e")
4945 (revision "1"))
4946 (package
4947 (name "sbcl-printv")
4948 (version (git-version "0.1.0" revision commit))
4949 (source
4950 (origin
4951 (method git-fetch)
4952 (uri (git-reference
4953 (url "https://github.com/danlentz/printv")
4954 (commit commit)))
4955 (file-name (git-file-name "printv" version))
4956 (sha256
4957 (base32 "08jvy82abm7qi3wrxh6gvmwg9gy0zzhg4cfqajdwrggbah8mj5a6"))))
4958 (build-system asdf-build-system/sbcl)
4959 (home-page "https://github.com/danlentz/printv")
4960 (synopsis "Common Lisp tracing and debug-logging macro")
4961 (description
4962 "@code{PRINTV} is a \"batteries-included\" tracing and debug-logging
4963 macro for Common Lisp.")
4964 (license license:asl2.0))))
4965
4966 (define-public ecl-printv
4967 (sbcl-package->ecl-package sbcl-printv))
4968
4969 (define-public cl-printv
4970 (sbcl-package->cl-source-package sbcl-printv))
4971
4972 (define-public sbcl-verbose
4973 (let ((commit "c5b7ecd465be61b35af17ef57564697b88397174")
4974 (revision "1"))
4975 (package
4976 (name "sbcl-verbose")
4977 (version (git-version "2.0.0" revision commit))
4978 (source
4979 (origin
4980 (method git-fetch)
4981 (uri (git-reference
4982 (url "https://github.com/Shinmera/verbose/")
4983 (commit commit)))
4984 (file-name (git-file-name "verbose" version))
4985 (sha256
4986 (base32 "0r51ydj5v7afi2jrlscbhxprv13d9vzg5316g1yzwaxc1kzsdsw6"))))
4987 (build-system asdf-build-system/sbcl)
4988 (inputs
4989 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
4990 ("dissect" ,sbcl-dissect)
4991 ("documentation-utils" ,sbcl-documentation-utils)
4992 ("local-time" ,sbcl-local-time)
4993 ("piping" ,sbcl-piping)))
4994 (home-page "https://shinmera.github.io/verbose/")
4995 (synopsis "Logging framework using the piping library")
4996 (description
4997 "This is a Common Lisp library providing logging faciltiy similar to
4998 @code{CL-LOG} and @code{LOG4CL}.")
4999 (license license:zlib))))
5000
5001 (define-public ecl-verbose
5002 (sbcl-package->ecl-package sbcl-verbose))
5003
5004 (define-public cl-verbose
5005 (sbcl-package->cl-source-package sbcl-verbose))
5006
5007 (define-public sbcl-find-port
5008 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
5009 (revision "1"))
5010 (package
5011 (name "sbcl-find-port")
5012 (build-system asdf-build-system/sbcl)
5013 (version "0.1")
5014 (home-page "https://github.com/eudoxia0/find-port")
5015 (source
5016 (origin
5017 (method git-fetch)
5018 (uri (git-reference
5019 (url home-page)
5020 (commit commit)))
5021 (file-name (git-file-name name version))
5022 (sha256
5023 (base32
5024 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
5025 (native-inputs
5026 `(("fiveam" ,sbcl-fiveam)))
5027 (inputs
5028 `(("sbcl-usocket" ,sbcl-usocket)))
5029 (synopsis "Find open ports programmatically in Common Lisp")
5030 (description "This is a small Common Lisp library that finds an open
5031 port within a range.")
5032 (license license:expat))))
5033
5034 (define-public cl-find-port
5035 (sbcl-package->cl-source-package sbcl-find-port))
5036
5037 (define-public ecl-find-port
5038 (sbcl-package->ecl-package sbcl-find-port))
5039
5040 (define-public sbcl-clunit
5041 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
5042 (revision "1"))
5043 (package
5044 (name "sbcl-clunit")
5045 (version (git-version "0.2.3" revision commit))
5046 (source
5047 (origin
5048 (method git-fetch)
5049 (uri (git-reference
5050 (url "https://github.com/tgutu/clunit")
5051 (commit commit)))
5052 (file-name (git-file-name name version))
5053 (sha256
5054 (base32
5055 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
5056 (build-system asdf-build-system/sbcl)
5057 (synopsis "CLUnit is a Common Lisp unit testing framework")
5058 (description
5059 "CLUnit is a Common Lisp unit testing framework. It is designed
5060 to be easy to use so that you can quickly start testing. CLUnit
5061 provides a rich set of features aimed at improving your unit testing
5062 experience.")
5063 (home-page "https://tgutu.github.io/clunit/")
5064 ;; MIT License
5065 (license license:expat))))
5066
5067 (define-public cl-clunit
5068 (sbcl-package->cl-source-package sbcl-clunit))
5069
5070 (define-public ecl-clunit
5071 (sbcl-package->ecl-package sbcl-clunit))
5072
5073 (define-public sbcl-py4cl
5074 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
5075 (revision "1"))
5076 (package
5077 (name "sbcl-py4cl")
5078 (version (git-version "0.0.0" revision commit))
5079 (source
5080 (origin
5081 (method git-fetch)
5082 (uri (git-reference
5083 (url "https://github.com/bendudson/py4cl")
5084 (commit commit)))
5085 (file-name (git-file-name name version))
5086 (sha256
5087 (base32
5088 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
5089 (modules '((guix build utils)))))
5090 (build-system asdf-build-system/sbcl)
5091 (native-inputs
5092 `(("sbcl-clunit" ,sbcl-clunit)))
5093 (inputs
5094 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5095 (propagated-inputs
5096 ;; This package doesn't do anything without python available
5097 `(("python" ,python)
5098 ;; For multi-dimensional array support
5099 ("python-numpy" ,python-numpy)))
5100 (arguments
5101 '(#:phases
5102 (modify-phases %standard-phases
5103 (add-after 'unpack 'replace-*base-directory*-var
5104 (lambda* (#:key outputs #:allow-other-keys)
5105 ;; In the ASD, the author makes an attempt to
5106 ;; programatically determine the location of the
5107 ;; source-code so lisp can call into "py4cl.py". We can
5108 ;; hard-code this since we know where this file will
5109 ;; reside.
5110 (substitute* "src/callpython.lisp"
5111 (("py4cl/config:\\*base-directory\\*")
5112 (string-append
5113 "\""
5114 (assoc-ref outputs "out")
5115 "/share/common-lisp/sbcl-source/py4cl/"
5116 "\""))))))))
5117 (synopsis "Call python from Common Lisp")
5118 (description
5119 "Py4CL is a bridge between Common Lisp and Python, which enables Common
5120 Lisp to interact with Python code. It uses streams to communicate with a
5121 separate python process, the approach taken by cl4py. This is different to
5122 the CFFI approach used by burgled-batteries, but has the same goal.")
5123 (home-page "https://github.com/bendudson/py4cl")
5124 ;; MIT License
5125 (license license:expat))))
5126
5127 (define-public cl-py4cl
5128 (sbcl-package->cl-source-package sbcl-py4cl))
5129
5130 (define-public ecl-py4cl
5131 (sbcl-package->ecl-package sbcl-py4cl))
5132
5133 (define-public sbcl-parse-declarations
5134 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
5135 (revision "1"))
5136 (package
5137 (name "sbcl-parse-declarations")
5138 (version (git-version "1.0.0" revision commit))
5139 (source
5140 (origin
5141 (method git-fetch)
5142 (uri (git-reference
5143 (url (string-append
5144 "https://gitlab.common-lisp.net/parse-declarations/"
5145 "parse-declarations.git"))
5146 (commit commit)))
5147 (file-name (git-file-name name version))
5148 (sha256
5149 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
5150 (build-system asdf-build-system/sbcl)
5151 (arguments
5152 `(#:asd-systems '("parse-declarations-1.0")))
5153 (home-page "https://common-lisp.net/project/parse-declarations/")
5154 (synopsis "Parse, filter, and build declarations")
5155 (description
5156 "Parse-Declarations is a Common Lisp library to help writing
5157 macros which establish bindings. To be semantically correct, such
5158 macros must take user declarations into account, as these may affect
5159 the bindings they establish. Yet the ANSI standard of Common Lisp does
5160 not provide any operators to work with declarations in a convenient,
5161 high-level way. This library provides such operators.")
5162 ;; MIT License
5163 (license license:expat))))
5164
5165 (define-public cl-parse-declarations
5166 (sbcl-package->cl-source-package sbcl-parse-declarations))
5167
5168 (define-public ecl-parse-declarations
5169 (sbcl-package->ecl-package sbcl-parse-declarations))
5170
5171 (define-public sbcl-cl-quickcheck
5172 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5173 (revision "1"))
5174 (package
5175 (name "sbcl-cl-quickcheck")
5176 (version (git-version "0.0.4" revision commit))
5177 (source
5178 (origin
5179 (method git-fetch)
5180 (uri (git-reference
5181 (url "https://github.com/mcandre/cl-quickcheck")
5182 (commit commit)))
5183 (file-name (git-file-name name version))
5184 (sha256
5185 (base32
5186 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5187 (build-system asdf-build-system/sbcl)
5188 (synopsis
5189 "Common Lisp port of the QuickCheck unit test framework")
5190 (description
5191 "Common Lisp port of the QuickCheck unit test framework")
5192 (home-page "https://github.com/mcandre/cl-quickcheck")
5193 ;; MIT
5194 (license license:expat))))
5195
5196 (define-public cl-quickcheck
5197 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5198
5199 (define-public ecl-cl-quickcheck
5200 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5201
5202 (define-public sbcl-burgled-batteries3
5203 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
5204 (revision "2"))
5205 (package
5206 (name "sbcl-burgled-batteries3")
5207 (version (git-version "0.0.0" revision commit))
5208 (source
5209 (origin
5210 (method git-fetch)
5211 (uri (git-reference
5212 (url "https://github.com/snmsts/burgled-batteries3")
5213 (commit commit)))
5214 (file-name (git-file-name name version))
5215 (sha256
5216 (base32
5217 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
5218 (build-system asdf-build-system/sbcl)
5219 (arguments
5220 `(#:tests? #f
5221 #:modules (((guix build python-build-system) #:select (python-version))
5222 ,@%asdf-build-system-modules)
5223 #:imported-modules ((guix build python-build-system)
5224 ,@%asdf-build-system-modules)
5225 #:phases
5226 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
5227 (add-after 'unpack 'set-*cpython-include-dir*-var
5228 (lambda* (#:key inputs #:allow-other-keys)
5229 (let ((python (assoc-ref inputs "python")))
5230 (setenv "BB_PYTHON3_INCLUDE_DIR"
5231 (string-append python "/include/python"
5232 (python-version python)))
5233 (setenv "BB_PYTHON3_DYLIB"
5234 (string-append python "/lib/libpython3.so"))
5235 #t)))
5236 (add-after 'unpack 'adjust-for-python-3.8
5237 (lambda _
5238 ;; This method is no longer part of the public API.
5239 (substitute* "ffi-interface.lisp"
5240 ((".*PyEval_ReInitThreads.*")
5241 ""))
5242 #t)))))
5243 (native-inputs
5244 `(("sbcl-cl-fad" ,sbcl-cl-fad)
5245 ("sbcl-lift" ,sbcl-lift)
5246 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5247 (inputs
5248 `(("python" ,python)
5249 ("sbcl-cffi" ,sbcl-cffi)
5250 ("sbcl-alexandria" , sbcl-alexandria)
5251 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5252 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5253 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5254 (description
5255 "This package provides a shim between Python3 (specifically, the
5256 CPython implementation of Python) and Common Lisp.")
5257 (home-page "https://github.com/snmsts/burgled-batteries3")
5258 (license license:expat))))
5259
5260 (define-public cl-burgled-batteries3
5261 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5262
5263 (define-public ecl-burgled-batteries3
5264 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5265
5266 (define-public sbcl-metabang-bind
5267 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5268 (revision "1"))
5269 (package
5270 (name "sbcl-metabang-bind")
5271 (version (git-version "0.8.0" revision commit))
5272 (source
5273 (origin
5274 (method git-fetch)
5275 (uri (git-reference
5276 (url "https://github.com/gwkkwg/metabang-bind")
5277 (commit commit)))
5278 (file-name (git-file-name name version))
5279 (sha256
5280 (base32
5281 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5282 (build-system asdf-build-system/sbcl)
5283 (native-inputs
5284 `(("sbcl-lift" ,sbcl-lift)))
5285 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5286 (description
5287 "Bind extends the idea of of let and destructing to provide a uniform
5288 syntax for all your accessor needs. It combines @code{let},
5289 @code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5290 editing, property or association-lists, and @code{multiple-value-bind} and a
5291 whole lot more into a single form.")
5292 (home-page "https://common-lisp.net/project/metabang-bind/")
5293 ;; MIT License
5294 (license license:expat))))
5295
5296 (define-public cl-metabang-bind
5297 (sbcl-package->cl-source-package sbcl-metabang-bind))
5298
5299 (define-public ecl-metabang-bind
5300 (sbcl-package->ecl-package sbcl-metabang-bind))
5301
5302 (define-public sbcl-fare-utils
5303 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5304 (revision "1"))
5305 (package
5306 (name "sbcl-fare-utils")
5307 (version (git-version "1.0.0.5" revision commit))
5308 (source
5309 (origin
5310 (method git-fetch)
5311 (uri
5312 (git-reference
5313 (url
5314 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5315 (commit commit)))
5316 (file-name (git-file-name name version))
5317 (sha256
5318 (base32
5319 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5320 (build-system asdf-build-system/sbcl)
5321 (arguments
5322 `(#:test-asd-file "test/fare-utils-test.asd"))
5323 (native-inputs
5324 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5325 (synopsis "Collection of utilities and data structures")
5326 (description
5327 "fare-utils is a small collection of utilities. It contains a lot of
5328 basic everyday functions and macros.")
5329 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5330 ;; MIT License
5331 (license license:expat))))
5332
5333 (define-public cl-fare-utils
5334 (sbcl-package->cl-source-package sbcl-fare-utils))
5335
5336 (define-public ecl-fare-utils
5337 (sbcl-package->ecl-package sbcl-fare-utils))
5338
5339 (define-public sbcl-trivial-utf-8
5340 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5341 (revision "1"))
5342 (package
5343 (name "sbcl-trivial-utf-8")
5344 (version (git-version "0.0.0" revision commit))
5345 (source
5346 (origin
5347 (method git-fetch)
5348 (uri
5349 (git-reference
5350 (url (string-append "https://gitlab.common-lisp.net/"
5351 "trivial-utf-8/trivial-utf-8.git"))
5352 (commit commit)))
5353 (file-name (git-file-name name version))
5354 (sha256
5355 (base32
5356 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5357 (arguments
5358 ;; Guix incorrectly assumes the "8" is part of the version
5359 ;; number and lobs it off.
5360 `(#:asd-systems '("trivial-utf-8")))
5361 (build-system asdf-build-system/sbcl)
5362 (synopsis "UTF-8 input/output library")
5363 (description
5364 "The Babel library solves a similar problem while understanding more
5365 encodings. Trivial UTF-8 was written before Babel existed, but for new
5366 projects you might be better off going with Babel. The one plus that Trivial
5367 UTF-8 has is that it doesn't depend on any other libraries.")
5368 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5369 (license license:bsd-3))))
5370
5371 (define-public cl-trivial-utf-8
5372 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5373
5374 (define-public ecl-trivial-utf-8
5375 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5376
5377 (define-public sbcl-idna
5378 (package
5379 (name "sbcl-idna")
5380 (build-system asdf-build-system/sbcl)
5381 (version "0.2.2")
5382 (home-page "https://github.com/antifuchs/idna")
5383 (source
5384 (origin
5385 (method git-fetch)
5386 (uri (git-reference
5387 (url home-page)
5388 (commit version)))
5389 (file-name (git-file-name name version))
5390 (sha256
5391 (base32
5392 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5393 (inputs
5394 `(("split-sequence" ,sbcl-split-sequence)))
5395 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5396 (description "This Common Lisp library provides string encoding and
5397 decoding routines for IDNA, the International Domain Names in Applications.")
5398 (license license:expat)))
5399
5400 (define-public cl-idna
5401 (sbcl-package->cl-source-package sbcl-idna))
5402
5403 (define-public ecl-idna
5404 (sbcl-package->ecl-package sbcl-idna))
5405
5406 (define-public sbcl-swap-bytes
5407 (package
5408 (name "sbcl-swap-bytes")
5409 (build-system asdf-build-system/sbcl)
5410 (version "1.2")
5411 (home-page "https://github.com/sionescu/swap-bytes")
5412 (source
5413 (origin
5414 (method git-fetch)
5415 (uri (git-reference
5416 (url home-page)
5417 (commit (string-append "v" version))))
5418 (file-name (git-file-name name version))
5419 (sha256
5420 (base32
5421 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
5422 (inputs
5423 `(("trivial-features" ,sbcl-trivial-features)))
5424 (native-inputs
5425 `(("fiveam" ,sbcl-fiveam)))
5426 (synopsis "Efficient endianness conversion for Common Lisp")
5427 (description "This Common Lisp library provides optimized byte-swapping
5428 primitives. The library can change endianness of unsigned integers of length
5429 1/2/4/8. Very useful in implementing various network protocols and file
5430 formats.")
5431 (license license:expat)))
5432
5433 (define-public cl-swap-bytes
5434 (sbcl-package->cl-source-package sbcl-swap-bytes))
5435
5436 (define-public ecl-swap-bytes
5437 (sbcl-package->ecl-package sbcl-swap-bytes))
5438
5439 (define-public sbcl-iolib
5440 ;; Latest release is from June 2017.
5441 (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
5442 (revision "2"))
5443 (package
5444 (name "sbcl-iolib")
5445 (version (git-version "0.8.3" revision commit))
5446 (home-page "https://github.com/sionescu/iolib")
5447 (source
5448 (origin
5449 (method git-fetch)
5450 (uri (git-reference
5451 (url home-page)
5452 (commit commit)))
5453 (file-name (git-file-name name version))
5454 (sha256
5455 (base32
5456 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
5457 (build-system asdf-build-system/sbcl)
5458 (inputs
5459 `(("alexandria" ,sbcl-alexandria)
5460 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5461 ("cffi" ,sbcl-cffi)
5462 ("idna" ,sbcl-idna)
5463 ("libfixposix" ,libfixposix)
5464 ("split-sequence" ,sbcl-split-sequence)
5465 ("swap-bytes" ,sbcl-swap-bytes)))
5466 (arguments
5467 '(#:asd-files '("iolib.asdf.asd"
5468 "iolib.conf.asd"
5469 "iolib.common-lisp.asd"
5470 "iolib.base.asd"
5471 "iolib.asd")
5472 #:phases
5473 (modify-phases %standard-phases
5474 (add-after 'unpack 'fix-paths
5475 (lambda* (#:key inputs #:allow-other-keys)
5476 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5477 (("\\(:default \"libfixposix\"\\)")
5478 (string-append
5479 "(:default \""
5480 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5481 ;; Socket tests need Internet access, disable them.
5482 (substitute* "iolib.asd"
5483 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5484 "")))))))
5485 (synopsis "Common Lisp I/O library")
5486 (description "IOlib is to be a better and more modern I/O library than
5487 the standard Common Lisp library. It contains a socket library, a DNS
5488 resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5489 and @code{kqueue(2)}), a pathname library and file-system utilities.")
5490 (license license:expat))))
5491
5492 (define-public cl-iolib
5493 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
5494 (package
5495 (inherit parent)
5496 (propagated-inputs
5497 ;; Need header to compile.
5498 `(("libfixposix" ,libfixposix)
5499 ,@(package-propagated-inputs parent))))))
5500
5501 (define-public ecl-iolib
5502 (sbcl-package->ecl-package sbcl-iolib))
5503
5504 (define-public sbcl-ieee-floats
5505 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5506 (revision "1"))
5507 (package
5508 (name "sbcl-ieee-floats")
5509 (build-system asdf-build-system/sbcl)
5510 (version (git-version "20170924" revision commit))
5511 (home-page "https://github.com/marijnh/ieee-floats/")
5512 (source
5513 (origin
5514 (method git-fetch)
5515 (uri (git-reference
5516 (url home-page)
5517 (commit commit)))
5518 (file-name (git-file-name name version))
5519 (sha256
5520 (base32
5521 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5522 (native-inputs
5523 `(("fiveam" ,sbcl-fiveam)))
5524 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5525 (description "This is a Common Lisp library that converts
5526 floating point values to IEEE 754 binary representation.")
5527 (license license:bsd-3))))
5528
5529 (define-public cl-ieee-floats
5530 (sbcl-package->cl-source-package sbcl-ieee-floats))
5531
5532 (define-public ecl-ieee-floats
5533 (sbcl-package->ecl-package sbcl-ieee-floats))
5534
5535 (define sbcl-closure-common
5536 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5537 (revision "1"))
5538 (package
5539 (name "sbcl-closure-common")
5540 (build-system asdf-build-system/sbcl)
5541 (version (git-version "20101006" revision commit))
5542 (home-page "https://common-lisp.net/project/cxml/")
5543 (source
5544 (origin
5545 (method git-fetch)
5546 (uri (git-reference
5547 (url "https://github.com/sharplispers/closure-common")
5548 (commit commit)))
5549 (file-name (git-file-name name version))
5550 (sha256
5551 (base32
5552 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5553 (inputs
5554 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5555 ("babel" ,sbcl-babel)))
5556 (synopsis "Support Common Lisp library for CXML")
5557 (description "Closure-common is an internal helper library. The name
5558 Closure is a reference to the web browser it was originally written for.")
5559 ;; TODO: License?
5560 (license #f))))
5561
5562 (define-public sbcl-cxml
5563 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5564 (revision "1"))
5565 (package
5566 (name "sbcl-cxml")
5567 (version (git-version "0.0.0" revision commit))
5568 (source
5569 (origin
5570 (method git-fetch)
5571 (uri (git-reference
5572 (url "https://github.com/sharplispers/cxml")
5573 (commit commit)))
5574 (file-name (git-file-name name version))
5575 (sha256
5576 (base32
5577 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5578 (build-system asdf-build-system/sbcl)
5579 (inputs
5580 `(("closure-common" ,sbcl-closure-common)
5581 ("puri" ,sbcl-puri)
5582 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5583 (synopsis "Common Lisp XML parser")
5584 (description "CXML implements a namespace-aware, validating XML 1.0
5585 parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5586 offered, one SAX-like, the other similar to StAX.")
5587 (home-page "https://common-lisp.net/project/cxml/")
5588 (license license:llgpl))))
5589
5590 (define-public cl-cxml
5591 (sbcl-package->cl-source-package sbcl-cxml))
5592
5593 (define-public ecl-cxml
5594 (sbcl-package->ecl-package sbcl-cxml))
5595
5596 (define-public sbcl-cl-reexport
5597 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5598 (revision "1"))
5599 (package
5600 (name "sbcl-cl-reexport")
5601 (build-system asdf-build-system/sbcl)
5602 (version (git-version "0.1" revision commit))
5603 (home-page "https://github.com/takagi/cl-reexport")
5604 (source
5605 (origin
5606 (method git-fetch)
5607 (uri (git-reference
5608 (url home-page)
5609 (commit commit)))
5610 (file-name (git-file-name name version))
5611 (sha256
5612 (base32
5613 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5614 (inputs
5615 `(("alexandria" ,sbcl-alexandria)))
5616 (arguments
5617 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5618 `(#:tests? #f))
5619 (synopsis "HTTP cookie manager for Common Lisp")
5620 (description "cl-cookie is a Common Lisp library featuring parsing of
5621 cookie headers, cookie creation, cookie jar creation and more.")
5622 (license license:llgpl))))
5623
5624 (define-public cl-reexport
5625 (sbcl-package->cl-source-package sbcl-cl-reexport))
5626
5627 (define-public ecl-cl-reexport
5628 (sbcl-package->ecl-package sbcl-cl-reexport))
5629
5630 (define-public sbcl-cl-cookie
5631 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5632 (revision "1"))
5633 (package
5634 (name "sbcl-cl-cookie")
5635 (build-system asdf-build-system/sbcl)
5636 (version (git-version "0.9.10" revision commit))
5637 (home-page "https://github.com/fukamachi/cl-cookie")
5638 (source
5639 (origin
5640 (method git-fetch)
5641 (uri (git-reference
5642 (url home-page)
5643 (commit commit)))
5644 (file-name (git-file-name name version))
5645 (sha256
5646 (base32
5647 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5648 (inputs
5649 `(("proc-parse" ,sbcl-proc-parse)
5650 ("alexandria" ,sbcl-alexandria)
5651 ("quri" ,sbcl-quri)
5652 ("cl-ppcre" ,sbcl-cl-ppcre)
5653 ("local-time" ,sbcl-local-time)))
5654 (native-inputs
5655 `(("prove" ,sbcl-prove)))
5656 (arguments
5657 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5658 `(#:tests? #f))
5659 (synopsis "HTTP cookie manager for Common Lisp")
5660 (description "cl-cookie is a Common Lisp library featuring parsing of
5661 cookie headers, cookie creation, cookie jar creation and more.")
5662 (license license:bsd-2))))
5663
5664 (define-public cl-cookie
5665 (sbcl-package->cl-source-package sbcl-cl-cookie))
5666
5667 (define-public ecl-cl-cookie
5668 (sbcl-package->ecl-package sbcl-cl-cookie))
5669
5670 (define-public sbcl-dexador
5671 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
5672 (revision "1"))
5673 (package
5674 (name "sbcl-dexador")
5675 (build-system asdf-build-system/sbcl)
5676 (version "0.9.14" )
5677 (home-page "https://github.com/fukamachi/dexador")
5678 (source
5679 (origin
5680 (method git-fetch)
5681 (uri (git-reference
5682 (url home-page)
5683 (commit commit)))
5684 (file-name (git-file-name name version))
5685 (sha256
5686 (base32
5687 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
5688 (inputs
5689 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5690 ("babel" ,sbcl-babel)
5691 ("usocket" ,sbcl-usocket)
5692 ("fast-http" ,sbcl-fast-http)
5693 ("quri" ,sbcl-quri)
5694 ("fast-io" ,sbcl-fast-io)
5695 ("chunga" ,sbcl-chunga)
5696 ("cl-ppcre" ,sbcl-cl-ppcre)
5697 ("cl-cookie" ,sbcl-cl-cookie)
5698 ("trivial-mimes" ,sbcl-trivial-mimes)
5699 ("chipz" ,sbcl-chipz)
5700 ("cl-base64" ,sbcl-cl-base64)
5701 ("cl-reexport" ,sbcl-cl-reexport)
5702 ("cl+ssl" ,sbcl-cl+ssl)
5703 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5704 ("alexandria" ,sbcl-alexandria)))
5705 (native-inputs
5706 `(("prove" ,sbcl-prove)
5707 ("lack" ,sbcl-lack)
5708 ("clack" ,sbcl-clack)
5709 ("babel" ,sbcl-babel)
5710 ("alexandria" ,sbcl-alexandria)
5711 ("cl-ppcre" ,sbcl-cl-ppcre)
5712 ("local-time" ,sbcl-local-time)
5713 ("trivial-features" ,sbcl-trivial-features)))
5714 (arguments
5715 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5716 `(#:tests? #f
5717 #:phases
5718 (modify-phases %standard-phases
5719 (add-after 'unpack 'fix-permissions
5720 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5721 (synopsis "Yet another HTTP client for Common Lisp")
5722 (description "Dexador is yet another HTTP client for Common Lisp with
5723 neat APIs and connection-pooling. It is meant to supersede Drakma.")
5724 (license license:expat))))
5725
5726 (define-public cl-dexador
5727 (package
5728 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5729 (arguments
5730 `(#:phases
5731 ;; asdf-build-system/source has its own phases and does not inherit
5732 ;; from asdf-build-system/sbcl phases.
5733 (modify-phases %standard-phases/source
5734 ;; Already done in SBCL package.
5735 (delete 'reset-gzip-timestamps))))))
5736
5737 (define-public ecl-dexador
5738 (sbcl-package->ecl-package sbcl-dexador))
5739
5740 (define-public sbcl-lisp-namespace
5741 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5742 (revision "1"))
5743 (package
5744 (name "sbcl-lisp-namespace")
5745 (build-system asdf-build-system/sbcl)
5746 (version (git-version "0.1" revision commit))
5747 (home-page "https://github.com/guicho271828/lisp-namespace")
5748 (source
5749 (origin
5750 (method git-fetch)
5751 (uri (git-reference
5752 (url home-page)
5753 (commit commit)))
5754 (file-name (git-file-name name version))
5755 (sha256
5756 (base32
5757 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5758 (inputs
5759 `(("alexandria" ,sbcl-alexandria)))
5760 (native-inputs
5761 `(("fiveam" ,sbcl-fiveam)))
5762 (arguments
5763 `(#:test-asd-file "lisp-namespace.test.asd"
5764 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5765 #:tests? #f))
5766 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5767 (description "Common Lisp already has major 2 namespaces, function
5768 namespace and value namespace (or variable namespace), but there are actually
5769 more — e.g., class namespace.
5770 This library offers macros to deal with symbols from any namespace.")
5771 (license license:llgpl))))
5772
5773 (define-public cl-lisp-namespace
5774 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5775
5776 (define-public ecl-lisp-namespace
5777 (sbcl-package->ecl-package sbcl-lisp-namespace))
5778
5779 (define-public sbcl-trivial-cltl2
5780 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
5781 (revision "2"))
5782 (package
5783 (name "sbcl-trivial-cltl2")
5784 (build-system asdf-build-system/sbcl)
5785 (version (git-version "0.1.1" revision commit))
5786 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
5787 (source
5788 (origin
5789 (method git-fetch)
5790 (uri (git-reference
5791 (url home-page)
5792 (commit commit)))
5793 (file-name (git-file-name name version))
5794 (sha256
5795 (base32
5796 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
5797 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5798 (description "This library is a portable compatibility layer around
5799 \"Common Lisp the Language, 2nd
5800 Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5801 and it exports symbols from implementation-specific packages.")
5802 (license license:llgpl))))
5803
5804 (define-public cl-trivial-cltl2
5805 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5806
5807 (define-public ecl-trivial-cltl2
5808 (sbcl-package->ecl-package sbcl-trivial-cltl2))
5809
5810 (define-public sbcl-introspect-environment
5811 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
5812 (revision "1"))
5813 (package
5814 (name "sbcl-introspect-environment")
5815 (build-system asdf-build-system/sbcl)
5816 (version (git-version "0.1" revision commit))
5817 (home-page "https://github.com/Bike/introspect-environment")
5818 (source
5819 (origin
5820 (method git-fetch)
5821 (uri (git-reference
5822 (url home-page)
5823 (commit commit)))
5824 (file-name (git-file-name name version))
5825 (sha256
5826 (base32
5827 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
5828 (native-inputs
5829 `(("fiveam" ,sbcl-fiveam)))
5830 (synopsis "Common Lisp environment introspection portability layer")
5831 (description "This library is a small interface to portable but
5832 nonstandard introspection of Common Lisp environments. It is intended to
5833 allow a bit more compile-time introspection of environments in Common Lisp.
5834
5835 Quite a bit of information is available at the time a macro or compiler-macro
5836 runs; inlining info, type declarations, that sort of thing. This information
5837 is all standard - any Common Lisp program can @code{(declare (integer x))} and
5838 such.
5839
5840 This info ought to be accessible through the standard @code{&environment}
5841 parameters, but it is not. Several implementations keep the information for
5842 their own purposes but do not make it available to user programs, because
5843 there is no standard mechanism to do so.
5844
5845 This library uses implementation-specific hooks to make information available
5846 to users. This is currently supported on SBCL, CCL, and CMUCL. Other
5847 implementations have implementations of the functions that do as much as they
5848 can and/or provide reasonable defaults.")
5849 (license license:wtfpl2))))
5850
5851 (define-public cl-introspect-environment
5852 (sbcl-package->cl-source-package sbcl-introspect-environment))
5853
5854 (define-public ecl-introspect-environment
5855 (sbcl-package->ecl-package sbcl-introspect-environment))
5856
5857 (define-public sbcl-type-i
5858 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
5859 (revision "2"))
5860 (package
5861 (name "sbcl-type-i")
5862 (build-system asdf-build-system/sbcl)
5863 (version (git-version "0.1" revision commit))
5864 (home-page "https://github.com/guicho271828/type-i")
5865 (source
5866 (origin
5867 (method git-fetch)
5868 (uri (git-reference
5869 (url home-page)
5870 (commit commit)))
5871 (file-name (git-file-name name version))
5872 (sha256
5873 (base32
5874 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
5875 (inputs
5876 `(("alexandria" ,sbcl-alexandria)
5877 ("introspect-environment" ,sbcl-introspect-environment)
5878 ("trivia.trivial" ,sbcl-trivia.trivial)))
5879 (native-inputs
5880 `(("fiveam" ,sbcl-fiveam)))
5881 (arguments
5882 `(#:test-asd-file "type-i.test.asd"))
5883 (synopsis "Type inference utility on unary predicates for Common Lisp")
5884 (description "This library tries to provide a way to detect what kind of
5885 type the given predicate is trying to check. This is different from inferring
5886 the return type of a function.")
5887 (license license:llgpl))))
5888
5889 (define-public cl-type-i
5890 (sbcl-package->cl-source-package sbcl-type-i))
5891
5892 (define-public ecl-type-i
5893 (package
5894 (inherit (sbcl-package->ecl-package sbcl-type-i))
5895 (arguments
5896 ;; The tests get stuck indefinitly
5897 '(#:tests? #f))))
5898
5899 (define-public sbcl-optima
5900 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
5901 (revision "1"))
5902 (package
5903 (name "sbcl-optima")
5904 (build-system asdf-build-system/sbcl)
5905 (version (git-version "1.0" revision commit))
5906 (home-page "https://github.com/m2ym/optima")
5907 (source
5908 (origin
5909 (method git-fetch)
5910 (uri (git-reference
5911 (url home-page)
5912 (commit commit)))
5913 (file-name (git-file-name name version))
5914 (sha256
5915 (base32
5916 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
5917 (inputs
5918 `(("alexandria" ,sbcl-alexandria)
5919 ("closer-mop" ,sbcl-closer-mop)))
5920 (native-inputs
5921 `(("eos" ,sbcl-eos)))
5922 (arguments
5923 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
5924 `(#:tests? #f
5925 #:test-asd-file "optima.test.asd"))
5926 (synopsis "Optimized pattern matching library for Common Lisp")
5927 (description "Optima is a fast pattern matching library which uses
5928 optimizing techniques widely used in the functional programming world.")
5929 (license license:expat))))
5930
5931 (define-public cl-optima
5932 (sbcl-package->cl-source-package sbcl-optima))
5933
5934 (define-public ecl-optima
5935 (sbcl-package->ecl-package sbcl-optima))
5936
5937 (define-public sbcl-fare-quasiquote
5938 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
5939 (revision "1"))
5940 (package
5941 (name "sbcl-fare-quasiquote")
5942 (build-system asdf-build-system/sbcl)
5943 (version (git-version "1.0.1" revision commit))
5944 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
5945 (source
5946 (origin
5947 (method git-fetch)
5948 (uri (git-reference
5949 (url (string-append "https://gitlab.common-lisp.net/frideau/"
5950 "fare-quasiquote.git"))
5951 (commit commit)))
5952 (file-name (git-file-name name version))
5953 (sha256
5954 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
5955 (inputs
5956 `(("fare-utils" ,sbcl-fare-utils)
5957 ("named-readtables" ,sbcl-named-readtables)
5958 ("optima" ,sbcl-optima)))
5959 (arguments
5960 ;; XXX: Circular dependencies: Tests depend on subsystems,
5961 ;; which depend on the main systems.
5962 `(#:tests? #f
5963 #:asd-systems '("fare-quasiquote"
5964 "fare-quasiquote-extras")
5965 #:phases
5966 (modify-phases %standard-phases
5967 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
5968 ;; commits after 1.0.0.5, but ASDF fails to read the
5969 ;; "-REVISION-COMMIT" part generated by Guix.
5970 (add-after 'unpack 'patch-requirement
5971 (lambda _
5972 (substitute* "fare-quasiquote.asd"
5973 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
5974 "\"fare-utils\""))
5975 (substitute* "fare-quasiquote-optima.asd"
5976 (("\\(:version \"optima\" \"1\\.0\"\\)")
5977 "\"optima\""))
5978 #t)))))
5979 (synopsis "Pattern-matching friendly implementation of quasiquote")
5980 (description "The main purpose of this n+2nd reimplementation of
5981 quasiquote is enable matching of quasiquoted patterns, using Optima or
5982 Trivia.")
5983 (license license:expat))))
5984
5985 (define-public cl-fare-quasiquote
5986 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
5987
5988 (define-public ecl-fare-quasiquote
5989 (sbcl-package->ecl-package sbcl-fare-quasiquote))
5990
5991 ;;; Split the trivia package in two to work around the circular dependency
5992 ;;; between guicho271828/trivia and guicho271828/type-i.
5993 (define-public sbcl-trivia.trivial
5994 (let ((commit "7286d5d2a4f685f1cac8370816f95276c0851111")
5995 (revision "3"))
5996 (package
5997 (name "sbcl-trivia.trivial")
5998 (version (git-version "0.0.0" revision commit))
5999 (source
6000 (origin
6001 (method git-fetch)
6002 (uri (git-reference
6003 (url "https://github.com/guicho271828/trivia")
6004 (commit commit)))
6005 (file-name (git-file-name "trivia" version))
6006 (sha256
6007 (base32
6008 "0ln0sj3jry7kzbmxhnin66kpbqan1wp8wwgdbw4k29afbdblkcca"))))
6009 (build-system asdf-build-system/sbcl)
6010 (inputs
6011 `(("alexandria" ,sbcl-alexandria)
6012 ("closer-mop" ,sbcl-closer-mop)
6013 ("lisp-namespace" ,sbcl-lisp-namespace)
6014 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
6015 (arguments
6016 '(#:phases
6017 (modify-phases %standard-phases
6018 (add-after 'unpack 'fix-build
6019 (lambda _
6020 (for-each delete-file
6021 '("trivia.balland2006.asd"
6022 "trivia.ppcre.asd"
6023 "trivia.quasiquote.asd"
6024 "trivia.cffi.asd"
6025 "trivia.asd"
6026 "trivia.test.asd"))
6027 #t)))))
6028 (synopsis "Pattern matching in Common Lisp")
6029 (description "Trivia is a pattern matching compiler that is compatible
6030 with Optima, another pattern matching library for Common Lisp. It is meant to
6031 be faster and more extensible than Optima.")
6032 (home-page "https://github.com/guicho271828/trivia")
6033 (license license:llgpl))))
6034
6035 (define-public cl-trivia.trivial
6036 (sbcl-package->cl-source-package sbcl-trivia.trivial))
6037
6038 (define-public ecl-trivia.trivial
6039 (sbcl-package->ecl-package sbcl-trivia.trivial))
6040
6041 (define-public sbcl-trivia
6042 (package
6043 (inherit sbcl-trivia.trivial)
6044 (name "sbcl-trivia")
6045 (native-inputs
6046 `(("fiveam" ,sbcl-fiveam)
6047 ("optima" ,sbcl-optima)))
6048 (inputs
6049 `(("alexandria" ,sbcl-alexandria)
6050 ("cffi" ,sbcl-cffi)
6051 ("cl-ppcre" ,sbcl-cl-ppcre)
6052 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6053 ("iterate" ,sbcl-iterate)
6054 ("trivia.trivial" ,sbcl-trivia.trivial)
6055 ("type-i" ,sbcl-type-i)))
6056 (arguments
6057 '(#:asd-systems '("trivia"
6058 "trivia.ppcre"
6059 "trivia.quasiquote"
6060 "trivia.cffi")
6061 #:test-asd-file "trivia.test.asd"
6062 #:phases
6063 (modify-phases %standard-phases
6064 (add-after 'unpack 'fix-build
6065 (lambda _
6066 (for-each delete-file
6067 '("trivia.level0.asd"
6068 "trivia.level1.asd"
6069 "trivia.level2.asd"
6070 "trivia.trivial.asd"))
6071 #t)))))))
6072
6073 (define-public cl-trivia
6074 (sbcl-package->cl-source-package sbcl-trivia))
6075
6076 (define-public ecl-trivia
6077 (sbcl-package->ecl-package sbcl-trivia))
6078
6079 (define-public sbcl-mk-string-metrics
6080 (package
6081 (name "sbcl-mk-string-metrics")
6082 (version "0.1.2")
6083 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6084 (source (origin
6085 (method git-fetch)
6086 (uri (git-reference
6087 (url home-page)
6088 (commit version)))
6089 (sha256
6090 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6091 (file-name (git-file-name name version))))
6092 (build-system asdf-build-system/sbcl)
6093 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6094 (description "This library implements efficient algorithms that calculate
6095 various string metrics in Common Lisp:
6096
6097 @itemize
6098 @item Damerau-Levenshtein distance
6099 @item Hamming distance
6100 @item Jaccard similarity coefficient
6101 @item Jaro distance
6102 @item Jaro-Winkler distance
6103 @item Levenshtein distance
6104 @item Normalized Damerau-Levenshtein distance
6105 @item Normalized Levenshtein distance
6106 @item Overlap coefficient
6107 @end itemize\n")
6108 (license license:x11)))
6109
6110 (define-public cl-mk-string-metrics
6111 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6112
6113 (define-public ecl-mk-string-metrics
6114 (sbcl-package->ecl-package sbcl-mk-string-metrics))
6115
6116 (define-public sbcl-cl-str
6117 (package
6118 (name "sbcl-cl-str")
6119 (version "0.19")
6120 (home-page "https://github.com/vindarel/cl-str")
6121 (source (origin
6122 (method git-fetch)
6123 (uri (git-reference
6124 (url home-page)
6125 (commit version)))
6126 (sha256
6127 (base32 "1jyza2jhn7w6fl4w87pv0m87z5ia48m6dqw12k0mdh7l3mgjq839"))
6128 (file-name (git-file-name name version))))
6129 (build-system asdf-build-system/sbcl)
6130 (inputs
6131 `(("cl-ppcre" ,sbcl-cl-ppcre)
6132 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
6133 ("cl-change-case" ,sbcl-cl-change-case)))
6134 (native-inputs
6135 `(("prove" ,sbcl-prove)))
6136 (arguments
6137 `(#:asd-systems '("str")
6138 #:test-asd-file "str.test.asd"))
6139 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6140 (description "A modern and consistent Common Lisp string manipulation
6141 library that focuses on modernity, simplicity and discoverability:
6142 @code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6143 @code{str:concat strings} instead of an unusual format construct; one
6144 discoverable library instead of many; consistency and composability, where
6145 @code{s} is always the last argument, which makes it easier to feed pipes and
6146 arrows.")
6147 (license license:expat)))
6148
6149 (define-public cl-str
6150 (sbcl-package->cl-source-package sbcl-cl-str))
6151
6152 (define-public ecl-cl-str
6153 (sbcl-package->ecl-package sbcl-cl-str))
6154
6155 (define-public sbcl-cl-xmlspam
6156 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6157 (package
6158 (name "sbcl-cl-xmlspam")
6159 (build-system asdf-build-system/sbcl)
6160 (version (git-version "0.0.0" "1" commit))
6161 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6162 (source
6163 (origin
6164 (method git-fetch)
6165 (uri (git-reference
6166 (url home-page)
6167 (commit commit)))
6168 (file-name (string-append name "-" version))
6169 (sha256
6170 (base32
6171 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6172 (inputs
6173 `(("cxml" ,sbcl-cxml)
6174 ("cl-ppcre" ,sbcl-cl-ppcre)))
6175 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6176 (description "CXML does an excellent job at parsing XML elements, but what
6177 do you do when you have a XML file that's larger than you want to fit in
6178 memory, and you want to extract some information from it? Writing code to deal
6179 with SAX events, or even using Klacks, quickly becomes tedious.
6180 @code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6181 to write code that mirrors the structure of the XML that it's parsing. It
6182 also makes it easy to shift paradigms when necessary - the usual Lisp control
6183 constructs can be used interchangeably with pattern matching, and the full
6184 power of CXML is available when necessary.")
6185 (license license:bsd-3))))
6186
6187 (define-public cl-xmlspam
6188 (sbcl-package->cl-source-package sbcl-cl-xmlspam))
6189
6190 (define-public ecl-cl-xmlspam
6191 (sbcl-package->ecl-package sbcl-cl-xmlspam))
6192
6193 (define-public sbcl-dbus
6194 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6195 (revision "1"))
6196 (package
6197 (name "sbcl-dbus")
6198 (version (git-version "20190408" revision commit))
6199 (home-page "https://github.com/death/dbus")
6200 (source
6201 (origin
6202 (method git-fetch)
6203 (uri (git-reference
6204 (url home-page)
6205 (commit commit)))
6206 (file-name (git-file-name name version))
6207 (sha256
6208 (base32
6209 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
6210 (build-system asdf-build-system/sbcl)
6211 (inputs
6212 `(("alexandria" ,sbcl-alexandria)
6213 ("trivial-garbage" ,sbcl-trivial-garbage)
6214 ("babel" ,sbcl-babel)
6215 ("iolib" ,sbcl-iolib)
6216 ("ieee-floats" ,sbcl-ieee-floats)
6217 ("flexi-streams" ,sbcl-flexi-streams)
6218 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6219 ("ironclad" ,sbcl-ironclad)))
6220 (synopsis "D-Bus client library for Common Lisp")
6221 (description "This is a Common Lisp library that publishes D-Bus
6222 objects as well as send and notify other objects connected to a bus.")
6223 (license license:bsd-2))))
6224
6225 (define-public cl-dbus
6226 (sbcl-package->cl-source-package sbcl-dbus))
6227
6228 (define-public ecl-dbus
6229 (sbcl-package->ecl-package sbcl-dbus))
6230
6231 (define-public sbcl-cl-hooks
6232 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6233 (revision "1"))
6234 (package
6235 (name "sbcl-cl-hooks")
6236 (build-system asdf-build-system/sbcl)
6237 (version (git-version "0.2.1" revision commit))
6238 (home-page "https://github.com/scymtym/architecture.hooks")
6239 (source
6240 (origin
6241 (method git-fetch)
6242 (uri (git-reference
6243 (url home-page)
6244 (commit commit)))
6245 (file-name (git-file-name name version))
6246 (sha256
6247 (base32
6248 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6249 (inputs
6250 `(("alexandria" ,sbcl-alexandria)
6251 ("let-plus" ,sbcl-let-plus)
6252 ("trivial-garbage" ,sbcl-trivial-garbage)
6253 ("closer-mop" ,sbcl-closer-mop)))
6254 (native-inputs
6255 `(("fiveam" ,sbcl-fiveam)))
6256 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6257 (description "A hook, in the present context, is a certain kind of
6258 extension point in a program that allows interleaving the execution of
6259 arbitrary code with the execution of a the program without introducing any
6260 coupling between the two. Hooks are used extensively in the extensible editor
6261 Emacs.
6262
6263 In the Common LISP Object System (CLOS), a similar kind of extensibility is
6264 possible using the flexible multi-method dispatch mechanism. It may even seem
6265 that the concept of hooks does not provide any benefits over the possibilities
6266 of CLOS. However, there are some differences:
6267
6268 @itemize
6269
6270 @item There can be only one method for each combination of specializers and
6271 qualifiers. As a result this kind of extension point cannot be used by
6272 multiple extensions independently.
6273 @item Removing code previously attached via a @code{:before}, @code{:after} or
6274 @code{:around} method can be cumbersome.
6275 @item There could be other or even multiple extension points besides @code{:before}
6276 and @code{:after} in a single method.
6277 @item Attaching codes to individual objects using eql specializers can be
6278 cumbersome.
6279 @item Introspection of code attached a particular extension point is
6280 cumbersome since this requires enumerating and inspecting the methods of a
6281 generic function.
6282 @end itemize
6283
6284 This library tries to complement some of these weaknesses of method-based
6285 extension-points via the concept of hooks.")
6286 (license license:llgpl))))
6287
6288 (define-public cl-hooks
6289 (sbcl-package->cl-source-package sbcl-cl-hooks))
6290
6291 (define-public ecl-cl-hooks
6292 (sbcl-package->ecl-package sbcl-cl-hooks))
6293
6294 (define-public sbcl-cl-autowrap
6295 (let ((revision "1")
6296 (commit "ae846d6968fc0d000de0c541638929a157f3009e"))
6297 ;; no taged branches
6298 (package
6299 (name "sbcl-cl-autowrap")
6300 (version (git-version "1.0" revision commit))
6301 (source
6302 (origin
6303 (method git-fetch)
6304 (uri (git-reference
6305 (url "https://github.com/rpav/cl-autowrap")
6306 (commit commit)))
6307 (file-name (git-file-name name version))
6308 (sha256
6309 (base32 "1gisldp2zns92kdcaikghm7c38ldy2d884n8bfg0wcjvbz78p3ar"))))
6310 (build-system asdf-build-system/sbcl)
6311 (inputs
6312 `(("alexandria" ,sbcl-alexandria)
6313 ("cffi" ,sbcl-cffi)
6314 ("cl-json" ,sbcl-cl-json)
6315 ("cl-ppcre" ,sbcl-cl-ppcre)
6316 ("defpackage-plus" ,sbcl-defpackage-plus)
6317 ("trivial-features" ,sbcl-trivial-features)))
6318 (home-page "https://github.com/rpav/cl-autowrap")
6319 (synopsis "FFI wrapper generator for Common Lisp")
6320 (description "This is a c2ffi-based wrapper generator for Common Lisp.")
6321 (license license:bsd-2))))
6322
6323 (define-public cl-autowrap
6324 (sbcl-package->cl-source-package sbcl-cl-autowrap))
6325
6326 (define-public ecl-cl-autowrap
6327 (sbcl-package->ecl-package sbcl-cl-autowrap))
6328
6329 (define-public sbcl-s-sysdeps
6330 ;; No release since 2013.
6331 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
6332 (revision "2"))
6333 (package
6334 (name "sbcl-s-sysdeps")
6335 (build-system asdf-build-system/sbcl)
6336 (version (git-version "1" revision commit))
6337 (home-page "https://github.com/svenvc/s-sysdeps")
6338 (source
6339 (origin
6340 (method git-fetch)
6341 (uri (git-reference
6342 (url home-page)
6343 (commit commit)))
6344 (file-name (git-file-name name version))
6345 (sha256
6346 (base32
6347 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
6348 (inputs
6349 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
6350 ("usocket" ,sbcl-usocket)))
6351 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6352 (description "@code{s-sysdeps} is an abstraction layer over platform
6353 dependent functionality. This simple package is used as a building block in a
6354 number of other open source projects.
6355
6356 @code{s-sysdeps} abstracts:
6357
6358 @itemize
6359 @item managing processes,
6360 @item implementing a standard TCP/IP server,
6361 @item opening a client TCP/IP socket stream,
6362 @item working with process locks.
6363 @end itemize\n")
6364 (license license:llgpl))))
6365
6366 (define-public cl-s-sysdeps
6367 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6368
6369 (define-public ecl-s-sysdeps
6370 (sbcl-package->ecl-package sbcl-s-sysdeps))
6371
6372 (define-public sbcl-cl-prevalence
6373 (let ((commit "5a76be036092ed6c18cb695a9e03bce87e21b840")
6374 (revision "4"))
6375 (package
6376 (name "sbcl-cl-prevalence")
6377 (build-system asdf-build-system/sbcl)
6378 (version (git-version "5" revision commit))
6379 (home-page "https://github.com/40ants/cl-prevalence")
6380 (source
6381 (origin
6382 (method git-fetch)
6383 (uri (git-reference
6384 (url home-page)
6385 (commit commit)))
6386 (file-name (git-file-name name version))
6387 (sha256
6388 (base32
6389 "050h6hwv8f16b5v6fzba8zmih92hgaaq27i2x9wv1iib41gbia3r"))))
6390 (inputs
6391 `(("s-sysdeps" ,sbcl-s-sysdeps)
6392 ("s-xml" ,sbcl-s-xml)))
6393 (native-inputs
6394 `(("fiveam" ,sbcl-fiveam)))
6395 (synopsis "Implementation of object prevalence for Common Lisp")
6396 (description "This Common Lisp library implements object prevalence (see
6397 @url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6398 for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6399 classes and cyclic data structures are supported.")
6400 (license license:llgpl))))
6401
6402 (define-public cl-prevalence
6403 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6404
6405 (define-public ecl-cl-prevalence
6406 (sbcl-package->ecl-package sbcl-cl-prevalence))
6407
6408 (define-public sbcl-series
6409 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6410 (revision "1"))
6411 (package
6412 (name "sbcl-series")
6413 (version (git-version "2.2.11" revision commit))
6414 (source
6415 (origin
6416 (method git-fetch)
6417 (uri (git-reference
6418 (url "git://git.code.sf.net/p/series/series")
6419 (commit commit)))
6420 (file-name (git-file-name name version))
6421 (sha256
6422 (base32
6423 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6424 (build-system asdf-build-system/sbcl)
6425 (arguments
6426 ;; Disable the tests, they are apparently buggy and I didn't find
6427 ;; a simple way to make them run and pass.
6428 '(#:tests? #f))
6429 (synopsis "Series data structure for Common Lisp")
6430 (description
6431 "This Common Lisp library provides a series data structure much like
6432 a sequence, with similar kinds of operations. The difference is that in many
6433 situations, operations on series may be composed functionally and yet execute
6434 iteratively, without the need to construct intermediate series values
6435 explicitly. In this manner, series provide both the clarity of a functional
6436 programming style and the efficiency of an iterative programming style.")
6437 (home-page "http://series.sourceforge.net/")
6438 (license license:expat))))
6439
6440 (define-public cl-series
6441 (sbcl-package->cl-source-package sbcl-series))
6442
6443 (define-public ecl-series
6444 (sbcl-package->ecl-package sbcl-series))
6445
6446 (define-public sbcl-periods
6447 (let ((commit "60383dcef88a1ac11f82804ae7a33c361dcd2949")
6448 (revision "2"))
6449 (package
6450 (name "sbcl-periods")
6451 (version (git-version "0.0.2" revision commit))
6452 (source
6453 (origin
6454 (method git-fetch)
6455 (uri (git-reference
6456 (url "https://github.com/jwiegley/periods")
6457 (commit commit)))
6458 (file-name (git-file-name name version))
6459 (sha256
6460 (base32
6461 "1ym2j4an9ig2hl210jg91gpf7xfnp6mlhkw3n9kkdnwiji3ipqlk"))))
6462 (build-system asdf-build-system/sbcl)
6463 (inputs
6464 `(("local-time" ,sbcl-local-time)
6465 ("series" ,sbcl-series)))
6466 (arguments
6467 '(#:asd-systems '("periods"
6468 "periods-series")))
6469 (synopsis "Common Lisp library for manipulating date/time objects")
6470 (description
6471 "Periods is a Common Lisp library providing a set of utilities for
6472 manipulating times, distances between times, and both contiguous and
6473 discontiguous ranges of time.")
6474 (home-page "https://github.com/jwiegley/periods")
6475 (license license:bsd-3))))
6476
6477 (define-public cl-periods
6478 (sbcl-package->cl-source-package sbcl-periods))
6479
6480 (define-public ecl-periods
6481 (sbcl-package->ecl-package sbcl-periods))
6482
6483 (define-public sbcl-metatilities-base
6484 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6485 (revision "1"))
6486 (package
6487 (name "sbcl-metatilities-base")
6488 (version (git-version "0.6.6" revision commit))
6489 (source
6490 (origin
6491 (method git-fetch)
6492 (uri (git-reference
6493 (url "https://github.com/gwkkwg/metatilities-base")
6494 (commit commit)))
6495 (file-name (git-file-name name version))
6496 (sha256
6497 (base32
6498 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6499 (build-system asdf-build-system/sbcl)
6500 (native-inputs
6501 `(("lift" ,sbcl-lift)))
6502 (synopsis "Core of the metatilities Common Lisp library")
6503 (description
6504 "Metatilities-base is the core of the metatilities Common Lisp library
6505 which implements a set of utilities.")
6506 (home-page "https://common-lisp.net/project/metatilities-base/")
6507 (license license:expat))))
6508
6509 (define-public cl-metatilities-base
6510 (sbcl-package->cl-source-package sbcl-metatilities-base))
6511
6512 (define-public ecl-metatilities-base
6513 (sbcl-package->ecl-package sbcl-metatilities-base))
6514
6515 (define-public sbcl-cl-containers
6516 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6517 (revision "3"))
6518 (package
6519 (name "sbcl-cl-containers")
6520 (version (git-version "0.12.1" revision commit))
6521 (source
6522 (origin
6523 (method git-fetch)
6524 (uri (git-reference
6525 (url "https://github.com/gwkkwg/cl-containers")
6526 (commit commit)))
6527 (file-name (git-file-name name version))
6528 (sha256
6529 (base32
6530 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
6531 (build-system asdf-build-system/sbcl)
6532 (native-inputs
6533 `(("lift" ,sbcl-lift)))
6534 (inputs
6535 `(("metatilities-base" ,sbcl-metatilities-base)))
6536 (arguments
6537 '(#:asd-files '("cl-containers.asd")
6538 #:phases
6539 (modify-phases %standard-phases
6540 (add-after 'unpack 'relax-version-checks
6541 (lambda _
6542 (substitute* "cl-containers.asd"
6543 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6544 "\"metatilities-base\""))
6545 (substitute* "cl-containers-test.asd"
6546 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6547 "\"lift\""))
6548 #t)))))
6549 (synopsis "Container library for Common Lisp")
6550 (description
6551 "Common Lisp ships with a set of powerful built in data structures
6552 including the venerable list, full featured arrays, and hash-tables.
6553 CL-containers enhances and builds on these structures by adding containers
6554 that are not available in native Lisp (for example: binary search trees,
6555 red-black trees, sparse arrays and so on), and by providing a standard
6556 interface so that they are simpler to use and so that changing design
6557 decisions becomes significantly easier.")
6558 (home-page "https://common-lisp.net/project/cl-containers/")
6559 (license license:expat))))
6560
6561 (define-public cl-containers
6562 (sbcl-package->cl-source-package sbcl-cl-containers))
6563
6564 (define-public ecl-cl-containers
6565 (sbcl-package->ecl-package sbcl-cl-containers))
6566
6567 (define-public sbcl-xlunit
6568 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6569 (revision "1"))
6570 (package
6571 (name "sbcl-xlunit")
6572 (version (git-version "0.6.3" revision commit))
6573 (source
6574 (origin
6575 (method git-fetch)
6576 (uri (git-reference
6577 (url "http://git.kpe.io/xlunit.git")
6578 (commit commit)))
6579 (file-name (git-file-name name version))
6580 (sha256
6581 (base32
6582 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6583 (build-system asdf-build-system/sbcl)
6584 (arguments
6585 '(#:phases
6586 (modify-phases %standard-phases
6587 (add-after 'unpack 'fix-tests
6588 (lambda _
6589 (substitute* "xlunit.asd"
6590 ((" :force t") ""))
6591 #t)))))
6592 (synopsis "Unit testing package for Common Lisp")
6593 (description
6594 "The XLUnit package is a toolkit for building test suites. It is based
6595 on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6596 (home-page "http://quickdocs.org/xlunit/")
6597 (license license:bsd-3))))
6598
6599 (define-public cl-xlunit
6600 (sbcl-package->cl-source-package sbcl-xlunit))
6601
6602 (define-public ecl-xlunit
6603 (sbcl-package->ecl-package sbcl-xlunit))
6604
6605 (define-public sbcl-cambl
6606 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6607 (revision "1"))
6608 (package
6609 (name "sbcl-cambl")
6610 (version (git-version "4.0.0" revision commit))
6611 (source
6612 (origin
6613 (method git-fetch)
6614 (uri (git-reference
6615 (url "https://github.com/jwiegley/cambl")
6616 (commit commit)))
6617 (file-name (git-file-name "cambl" version))
6618 (sha256
6619 (base32 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6620 (build-system asdf-build-system/sbcl)
6621 (native-inputs
6622 `(("xlunit" ,sbcl-xlunit)))
6623 (inputs
6624 `(("alexandria" ,sbcl-alexandria)
6625 ("cl-containers" ,sbcl-cl-containers)
6626 ("local-time" ,sbcl-local-time)
6627 ("periods" ,sbcl-periods)))
6628 (arguments
6629 '(#:asd-files '("fprog.asd"
6630 "cambl.asd")))
6631 (synopsis "Commoditized amounts and balances for Common Lisp")
6632 (description
6633 "CAMBL is a Common Lisp library providing a convenient facility for
6634 working with commoditized values. It does not allow compound units (and so is
6635 not suited for scientific operations) but does work rather nicely for the
6636 purpose of financial calculations.")
6637 (home-page "https://github.com/jwiegley/cambl")
6638 (license license:bsd-3))))
6639
6640 (define-public cl-cambl
6641 (sbcl-package->cl-source-package sbcl-cambl))
6642
6643 (define-public ecl-cambl
6644 (sbcl-package->ecl-package sbcl-cambl))
6645
6646 (define-public sbcl-cl-ledger
6647 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6648 (revision "1"))
6649 (package
6650 (name "sbcl-cl-ledger")
6651 (version (git-version "4.0.0" revision commit))
6652 (source
6653 (origin
6654 (method git-fetch)
6655 (uri (git-reference
6656 (url "https://github.com/ledger/cl-ledger")
6657 (commit commit)))
6658 (file-name (git-file-name name version))
6659 (sha256
6660 (base32
6661 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6662 (build-system asdf-build-system/sbcl)
6663 (inputs
6664 `(("cambl" ,sbcl-cambl)
6665 ("cl-ppcre" ,sbcl-cl-ppcre)
6666 ("local-time" ,sbcl-local-time)
6667 ("periods" ,sbcl-periods)))
6668 (arguments
6669 '(#:phases
6670 (modify-phases %standard-phases
6671 (add-after 'unpack 'fix-system-definition
6672 (lambda _
6673 (substitute* "cl-ledger.asd"
6674 ((" :build-operation program-op") "")
6675 ((" :build-pathname \"cl-ledger\"") "")
6676 ((" :entry-point \"ledger::main\"") ""))
6677 #t)))))
6678 (synopsis "Common Lisp port of the Ledger accounting system")
6679 (description
6680 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6681 system.")
6682 (home-page "https://github.com/ledger/cl-ledger")
6683 (license license:bsd-3))))
6684
6685 (define-public cl-ledger
6686 (sbcl-package->cl-source-package sbcl-cl-ledger))
6687
6688 (define-public ecl-cl-ledger
6689 (sbcl-package->ecl-package sbcl-cl-ledger))
6690
6691 (define-public sbcl-bst
6692 (let ((commit "8545aed0d504df2829ad139566feeabe22305388")
6693 (revision "0"))
6694 (package
6695 (name "sbcl-bst")
6696 (version (git-version "2.0" revision commit))
6697 (source
6698 (origin
6699 (method git-fetch)
6700 (uri (git-reference
6701 (url "https://github.com/glv2/bst")
6702 (commit commit)))
6703 (file-name (git-file-name name version))
6704 (sha256
6705 (base32 "18ig7rvxcra69437g0i8sxyv7c5dg26jqnx1rc2f9pxmihdprgk8"))))
6706 (build-system asdf-build-system/sbcl)
6707 (native-inputs
6708 `(("alexandria" ,sbcl-alexandria)
6709 ("fiveam" ,sbcl-fiveam)))
6710 (synopsis "Binary search tree for Common Lisp")
6711 (description
6712 "BST is a Common Lisp library for working with binary search trees that
6713 can contain any kind of values.")
6714 (home-page "https://github.com/glv2/bst")
6715 (license license:gpl3))))
6716
6717 (define-public cl-bst
6718 (sbcl-package->cl-source-package sbcl-bst))
6719
6720 (define-public ecl-bst
6721 (sbcl-package->ecl-package sbcl-bst))
6722
6723 (define-public sbcl-cl-octet-streams
6724 (package
6725 (name "sbcl-cl-octet-streams")
6726 (version "1.2")
6727 (source
6728 (origin
6729 (method git-fetch)
6730 (uri (git-reference
6731 (url "https://github.com/glv2/cl-octet-streams")
6732 (commit (string-append "v" version))))
6733 (file-name (git-file-name name version))
6734 (sha256
6735 (base32 "1hffh98bv4w5yrchagzwqrc43d2p473pvw7ka4kyyvhrr52dk2f8"))))
6736 (build-system asdf-build-system/sbcl)
6737 (native-inputs
6738 `(("fiveam" ,sbcl-fiveam)))
6739 (inputs
6740 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6741 (synopsis "In-memory octet streams for Common Lisp")
6742 (description
6743 "CL-octet-streams is a library implementing in-memory octet
6744 streams for Common Lisp. It was inspired by the trivial-octet-streams and
6745 cl-plumbing libraries.")
6746 (home-page "https://github.com/glv2/cl-octet-streams")
6747 (license license:gpl3+)))
6748
6749 (define-public cl-octet-streams
6750 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
6751
6752 (define-public ecl-cl-octet-streams
6753 (sbcl-package->ecl-package sbcl-cl-octet-streams))
6754
6755 (define-public sbcl-lzlib
6756 (let ((commit "cad10f5becbcfebb44b9d311a257563778803452")
6757 (revision "2"))
6758 (package
6759 (name "sbcl-lzlib")
6760 (version (git-version "1.1" revision commit))
6761 (source
6762 (origin
6763 (method git-fetch)
6764 (uri (git-reference
6765 (url "https://github.com/glv2/cl-lzlib")
6766 (commit commit)))
6767 (file-name (git-file-name name version))
6768 (sha256
6769 (base32 "09lp7li35h4jkls0448fj1sh6pjslr1w7ranbc4szjr8g0c2bdry"))))
6770 (build-system asdf-build-system/sbcl)
6771 (native-inputs
6772 `(("fiveam" ,sbcl-fiveam)))
6773 (inputs
6774 `(("cffi" ,sbcl-cffi)
6775 ("cl-octet-streams" ,sbcl-cl-octet-streams)
6776 ("lparallel" ,sbcl-lparallel)
6777 ("lzlib" ,lzlib)))
6778 (arguments
6779 '(#:phases
6780 (modify-phases %standard-phases
6781 (add-after 'unpack 'fix-paths
6782 (lambda* (#:key inputs #:allow-other-keys)
6783 (substitute* "src/lzlib.lisp"
6784 (("liblz\\.so")
6785 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
6786 #t)))))
6787 (synopsis "Common Lisp library for lzip (de)compression")
6788 (description
6789 "This Common Lisp library provides functions for lzip (LZMA)
6790 compression/decompression using bindings to the lzlib C library.")
6791 (home-page "https://github.com/glv2/cl-lzlib")
6792 (license license:gpl3+))))
6793
6794 (define-public cl-lzlib
6795 (sbcl-package->cl-source-package sbcl-lzlib))
6796
6797 (define-public ecl-lzlib
6798 (sbcl-package->ecl-package sbcl-lzlib))
6799
6800 (define-public sbcl-chanl
6801 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
6802 (revision "1"))
6803 (package
6804 (name "sbcl-chanl")
6805 (version (git-version "0.4.1" revision commit))
6806 (source
6807 (origin
6808 (method git-fetch)
6809 (uri (git-reference
6810 (url "https://github.com/zkat/chanl")
6811 (commit commit)))
6812 (file-name (git-file-name name version))
6813 (sha256
6814 (base32
6815 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
6816 (build-system asdf-build-system/sbcl)
6817 (native-inputs
6818 `(("fiveam" ,sbcl-fiveam)))
6819 (inputs
6820 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
6821 (synopsis "Portable channel-based concurrency for Common Lisp")
6822 (description "Common Lisp library for channel-based concurrency. In
6823 a nutshell, you create various threads sequentially executing tasks you need
6824 done, and use channel objects to communicate and synchronize the state of these
6825 threads.")
6826 (home-page "https://github.com/zkat/chanl")
6827 (license (list license:expat license:bsd-3)))))
6828
6829 (define-public cl-chanl
6830 (sbcl-package->cl-source-package sbcl-chanl))
6831
6832 (define-public ecl-chanl
6833 (sbcl-package->ecl-package sbcl-chanl))
6834
6835 (define-public sbcl-cl-store
6836 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
6837 (revision "1"))
6838 (package
6839 (name "sbcl-cl-store")
6840 (version (git-version "0.8.11" revision commit))
6841 (source
6842 (origin
6843 (method git-fetch)
6844 (uri (git-reference
6845 (url "https://github.com/skypher/cl-store")
6846 (commit commit)))
6847 (file-name (git-file-name name version))
6848 (sha256
6849 (base32
6850 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
6851 (build-system asdf-build-system/sbcl)
6852 (native-inputs
6853 `(("rt" ,sbcl-rt)))
6854 (synopsis "Common Lisp library to serialize data")
6855 (description
6856 "CL-STORE is a portable serialization package which should give you the
6857 ability to store all Common Lisp data types into streams.")
6858 (home-page "https://www.common-lisp.net/project/cl-store/")
6859 (license license:expat))))
6860
6861 (define-public cl-store
6862 (sbcl-package->cl-source-package sbcl-cl-store))
6863
6864 (define-public ecl-cl-store
6865 (sbcl-package->ecl-package sbcl-cl-store))
6866
6867 (define-public sbcl-specialization-store
6868 (let ((commit "8d39a866a6f24986aad3cc52349e9cb2653496f3")
6869 (revision "1"))
6870 (package
6871 (name "sbcl-specialization-store")
6872 (version (git-version "0.0.5" revision commit))
6873 (source
6874 (origin
6875 (method git-fetch)
6876 (uri (git-reference
6877 (url "https://github.com/markcox80/specialization-store")
6878 (commit commit)))
6879 (file-name (git-file-name "specialization-store" version))
6880 (sha256
6881 (base32 "0r0bgb46q4gy72l78s7djkxq8ibb4bb3yh9brsry5lih7br8lhi0"))))
6882 (build-system asdf-build-system/sbcl)
6883 (native-inputs
6884 `(("fiveam" ,sbcl-fiveam)))
6885 (inputs
6886 `(("alexandria" ,sbcl-alexandria)
6887 ("introspect-environment" ,sbcl-introspect-environment)))
6888 (home-page "https://github.com/markcox80/specialization-store")
6889 (synopsis "Different type of generic function for Common Lisp")
6890 (description
6891 "SPECIALIZATION-STORE system provides a new kind of function, called
6892 a store function, whose behavior depends on the types of objects passed to the
6893 function.")
6894 (license license:bsd-2))))
6895
6896 (define-public ecl-specialization-store
6897 (package
6898 (inherit (sbcl-package->ecl-package sbcl-specialization-store))
6899 (arguments
6900 ;; TODO: Find why the tests get stuck forever; disable them for now.
6901 `(#:tests? #f))))
6902
6903 (define-public cl-specialization-store
6904 (sbcl-package->cl-source-package sbcl-specialization-store))
6905
6906 (define-public sbcl-cl-gobject-introspection
6907 (let ((commit "d0136c8d9ade2560123af1fc55bbf70d2e3db539")
6908 (revision "1"))
6909 (package
6910 (name "sbcl-cl-gobject-introspection")
6911 (version (git-version "0.3" revision commit))
6912 (home-page "https://github.com/andy128k/cl-gobject-introspection")
6913 (source
6914 (origin
6915 (method git-fetch)
6916 (uri (git-reference
6917 (url home-page)
6918 (commit commit)))
6919 (file-name (git-file-name name version))
6920 (sha256
6921 (base32
6922 "0dz0r73pq7yhz2iq2jnkq977awx2zws2qfxdcy33329sys1ii32p"))))
6923 (build-system asdf-build-system/sbcl)
6924 (inputs
6925 `(("alexandria" ,sbcl-alexandria)
6926 ("cffi" ,sbcl-cffi)
6927 ("iterate" ,sbcl-iterate)
6928 ("trivial-garbage" ,sbcl-trivial-garbage)
6929 ("glib" ,glib)
6930 ("gobject-introspection" ,gobject-introspection)))
6931 (native-inputs
6932 `(("fiveam" ,sbcl-fiveam)))
6933 (arguments
6934 '(#:phases
6935 (modify-phases %standard-phases
6936 (add-after 'unpack 'fix-paths
6937 (lambda* (#:key inputs #:allow-other-keys)
6938 (substitute* "src/init.lisp"
6939 (("libgobject-2\\.0\\.so")
6940 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
6941 (("libgirepository-1\\.0\\.so")
6942 (string-append (assoc-ref inputs "gobject-introspection")
6943 "/lib/libgirepository-1.0.so")))
6944 #t)))))
6945 (synopsis "Common Lisp bindings to GObject Introspection")
6946 (description
6947 "This library is a bridge between Common Lisp and GObject
6948 Introspection, which enables Common Lisp programs to access the full interface
6949 of C+GObject libraries without the need of writing dedicated bindings.")
6950 (license (list license:bsd-3
6951 ;; Tests are under a different license.
6952 license:llgpl)))))
6953
6954 (define-public cl-gobject-introspection
6955 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
6956
6957 (define-public ecl-cl-gobject-introspection
6958 (sbcl-package->ecl-package sbcl-cl-gobject-introspection))
6959
6960 (define-public sbcl-cl-slug
6961 (let ((commit "ffb229d10f0d3f7f54e706791725225e200bf749")
6962 (revision "1"))
6963 (package
6964 (name "sbcl-cl-slug")
6965 (version (git-version "0.4.1" revision commit))
6966 (source
6967 (origin
6968 (method git-fetch)
6969 (uri (git-reference
6970 (url "https://github.com/EuAndreh/cl-slug")
6971 (commit commit)))
6972 (file-name (git-file-name "cl-slug" version))
6973 (sha256
6974 (base32 "1asdq6xllmsvfw5fky9wblqcx9isac9jrrlkfl7vyxcq1wxrnflx"))))
6975 (build-system asdf-build-system/sbcl)
6976 (arguments
6977 `(#:asd-files '("cl-slug-test.asd" "cl-slug.asd")
6978 #:asd-systems '("cl-slug-test" "cl-slug")))
6979 (native-inputs
6980 `(("prove" ,sbcl-prove)))
6981 (inputs
6982 `(("ppcre" ,sbcl-cl-ppcre)))
6983 (home-page "https://github.com/EuAndreh/cl-slug")
6984 (synopsis "Multi-language slug formater")
6985 (description
6986 "This is a small Common Lisp library to make slugs, mainly for URIs,
6987 from english and beyond.")
6988 (license license:llgpl))))
6989
6990 (define-public ecl-cl-slug
6991 (sbcl-package->ecl-package sbcl-cl-slug))
6992
6993 (define-public cl-slug
6994 (sbcl-package->cl-source-package sbcl-cl-slug))
6995
6996 (define-public sbcl-string-case
6997 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
6998 (revision "0"))
6999 (package
7000 (name "sbcl-string-case")
7001 (version (git-version "0.0.2" revision commit))
7002 (home-page "https://github.com/pkhuong/string-case")
7003 (source
7004 (origin
7005 (method git-fetch)
7006 (uri (git-reference
7007 (url home-page)
7008 (commit commit)))
7009 (file-name (git-file-name name version))
7010 (sha256
7011 (base32
7012 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7013 (build-system asdf-build-system/sbcl)
7014 (synopsis "Efficient string= case in Common Lisp")
7015 (description
7016 "@code{string-case} is a Common Lisp macro that generates specialised decision
7017 trees to dispatch on string equality.")
7018 (license license:bsd-3))))
7019
7020 (define-public cl-string-case
7021 (sbcl-package->cl-source-package sbcl-string-case))
7022
7023 (define-public ecl-string-case
7024 (sbcl-package->ecl-package sbcl-string-case))
7025
7026 (define-public sbcl-garbage-pools
7027 (let ((commit "9a7cb7f48b04197c0495df3b6d2e8395ad13f790")
7028 (revision "1"))
7029 (package
7030 (name "sbcl-garbage-pools")
7031 (version (git-version "0.1.2" revision commit))
7032 (source
7033 (origin
7034 (method git-fetch)
7035 (uri (git-reference
7036 (url "https://github.com/archimag/garbage-pools")
7037 (commit commit)))
7038 (file-name (git-file-name name version))
7039 (sha256
7040 (base32 "04jqwr6j138him6wc4nrwjzm4lvyj5j31xqab02nkf8h9hmsf5v1"))))
7041 (build-system asdf-build-system/sbcl)
7042 (home-page "https://github.com/archimag/garbage-pools")
7043 (synopsis "Resource management pools for Common Lisp")
7044 (description "GARBAGE-POOLS is Common Lisp re-implementation of the APR
7045 Pools for resource management.")
7046 (license license:expat))))
7047
7048 (define-public ecl-garbage-pools
7049 (sbcl-package->ecl-package sbcl-garbage-pools))
7050
7051 (define-public cl-garbage-pools
7052 (sbcl-package->cl-source-package sbcl-garbage-pools))
7053
7054 (define-public sbcl-global-vars
7055 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7056 (revision "0"))
7057 (package
7058 (name "sbcl-global-vars")
7059 (version (git-version "1.0.0" revision commit))
7060 (home-page "https://github.com/lmj/global-vars")
7061 (source
7062 (origin
7063 (method git-fetch)
7064 (uri (git-reference
7065 (url home-page)
7066 (commit commit)))
7067 (file-name (git-file-name name version))
7068 (sha256
7069 (base32
7070 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7071 (build-system asdf-build-system/sbcl)
7072 (synopsis "Efficient global variables in Common Lisp")
7073 (description
7074 "In Common Lisp, a special variable that is never dynamically bound
7075 typically serves as a stand-in for a global variable. The @code{global-vars}
7076 library provides true global variables that are implemented by some compilers.
7077 An attempt to rebind a global variable properly results in a compiler error.
7078 That is, a global variable cannot be dynamically bound.
7079
7080 Global variables therefore allow us to communicate an intended usage that
7081 differs from special variables. Global variables are also more efficient than
7082 special variables, especially in the presence of threads.")
7083 (license license:expat))))
7084
7085 (define-public cl-global-vars
7086 (sbcl-package->cl-source-package sbcl-global-vars))
7087
7088 (define-public ecl-global-vars
7089 (sbcl-package->ecl-package sbcl-global-vars))
7090
7091 (define-public sbcl-trivial-file-size
7092 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7093 (revision "0"))
7094 (package
7095 (name "sbcl-trivial-file-size")
7096 (version (git-version "0.0.0" revision commit))
7097 (home-page "https://github.com/ruricolist/trivial-file-size")
7098 (source
7099 (origin
7100 (method git-fetch)
7101 (uri (git-reference
7102 (url home-page)
7103 (commit commit)))
7104 (file-name (git-file-name name version))
7105 (sha256
7106 (base32
7107 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7108 (build-system asdf-build-system/sbcl)
7109 (native-inputs
7110 `(("fiveam" ,sbcl-fiveam)))
7111 (synopsis "Size of a file in bytes in Common Lisp")
7112 (description
7113 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7114 is to open the file with an element type of (unsigned-byte 8) and then
7115 calculate the length of the stream. This is less than ideal. In most cases
7116 it is better to get the size of the file from its metadata, using a system
7117 call.
7118
7119 This library exports a single function, file-size-in-octets. It returns the
7120 size of a file in bytes, using system calls when possible.")
7121 (license license:expat))))
7122
7123 (define-public cl-trivial-file-size
7124 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7125
7126 (define-public ecl-trivial-file-size
7127 (sbcl-package->ecl-package sbcl-trivial-file-size))
7128
7129 (define-public sbcl-trivial-macroexpand-all
7130 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7131 (revision "0"))
7132 (package
7133 (name "sbcl-trivial-macroexpand-all")
7134 (version (git-version "0.0.0" revision commit))
7135 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7136 (source
7137 (origin
7138 (method git-fetch)
7139 (uri (git-reference
7140 (url home-page)
7141 (commit commit)))
7142 (file-name (git-file-name name version))
7143 (sha256
7144 (base32
7145 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7146 (build-system asdf-build-system/sbcl)
7147 (native-inputs
7148 `(("fiveam" ,sbcl-fiveam)))
7149 (synopsis "Portable macroexpand-all for Common Lisp")
7150 (description
7151 "This library provides a macroexpand-all function that calls the
7152 implementation specific equivalent.")
7153 (license license:unlicense))))
7154
7155 (define-public cl-trivial-macroexpand-all
7156 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7157
7158 (define-public ecl-trivial-macroexpand-all
7159 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7160
7161 (define-public sbcl-serapeum
7162 (let ((commit "263f415a350736b44e3878524ff3997e656fca32")
7163 (revision "4"))
7164 (package
7165 (name "sbcl-serapeum")
7166 (version (git-version "0.0.0" revision commit))
7167 (home-page "https://github.com/ruricolist/serapeum")
7168 (source
7169 (origin
7170 (method git-fetch)
7171 (uri (git-reference
7172 (url home-page)
7173 (commit commit)))
7174 (file-name (git-file-name name version))
7175 (sha256
7176 (base32
7177 "1669yidvxq41s3g6hb2jk21bcb5s2bnfsacpyd5b0hdxbmc7knq3"))))
7178 (build-system asdf-build-system/sbcl)
7179 (inputs
7180 `(("alexandria" ,sbcl-alexandria)
7181 ("trivia" ,sbcl-trivia)
7182 ("split-sequence" ,sbcl-split-sequence)
7183 ("string-case" ,sbcl-string-case)
7184 ("parse-number" ,sbcl-parse-number)
7185 ("trivial-garbage" ,sbcl-trivial-garbage)
7186 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7187 ("named-readtables" ,sbcl-named-readtables)
7188 ("fare-quasiquote" ,sbcl-fare-quasiquote)
7189 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7190 ("global-vars" ,sbcl-global-vars)
7191 ("trivial-file-size" ,sbcl-trivial-file-size)
7192 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7193 (native-inputs
7194 `(("fiveam" ,sbcl-fiveam)
7195 ("local-time" ,sbcl-local-time)))
7196 (arguments
7197 '(#:phases
7198 (modify-phases %standard-phases
7199 (add-after 'unpack 'disable-failing-tests
7200 (lambda* (#:key inputs #:allow-other-keys)
7201 (substitute* "serapeum.asd"
7202 ;; Guix does not have Quicklisp, and probably never will.
7203 (("\\(:file \"quicklisp\"\\)") ""))
7204 #t)))))
7205 (synopsis "Common Lisp utility library beyond Alexandria")
7206 (description
7207 "Serapeum is a conservative library of Common Lisp utilities. It is a
7208 supplement, not a competitor, to Alexandria.")
7209 (license license:expat))))
7210
7211 (define-public cl-serapeum
7212 (sbcl-package->cl-source-package sbcl-serapeum))
7213
7214 (define-public ecl-serapeum
7215 (sbcl-package->ecl-package sbcl-serapeum))
7216
7217 (define-public sbcl-arrows
7218 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7219 (revision "0"))
7220 (package
7221 (name "sbcl-arrows")
7222 (version (git-version "0.2.0" revision commit))
7223 (source
7224 (origin
7225 (method git-fetch)
7226 (uri (git-reference
7227 (url "https://gitlab.com/Harleqin/arrows.git")
7228 (commit commit)))
7229 (file-name (git-file-name name version))
7230 (sha256
7231 (base32
7232 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7233 (build-system asdf-build-system/sbcl)
7234 (native-inputs
7235 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7236 (synopsis "Clojure-like arrow macros for Common Lisp")
7237 (description
7238 "This library implements the @code{->} and @code{->>} macros from
7239 Clojure, as well as several expansions on the idea.")
7240 (home-page "https://gitlab.com/Harleqin/arrows")
7241 (license license:public-domain))))
7242
7243 (define-public cl-arrows
7244 (sbcl-package->cl-source-package sbcl-arrows))
7245
7246 (define-public ecl-arrows
7247 (sbcl-package->ecl-package sbcl-arrows))
7248
7249 (define-public sbcl-simple-parallel-tasks
7250 (let ((commit "ce7b60f788d8f68dfb69b24aac54c0e3b63379a6")
7251 (revision "1"))
7252 (package
7253 (name "sbcl-simple-parallel-tasks")
7254 (version (git-version "1.0" revision commit))
7255 (source
7256 (origin
7257 (method git-fetch)
7258 (uri (git-reference
7259 (url "https://github.com/glv2/simple-parallel-tasks")
7260 (commit commit)))
7261 (file-name (git-file-name name version))
7262 (sha256
7263 (base32 "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7"))))
7264 (build-system asdf-build-system/sbcl)
7265 (native-inputs
7266 `(("fiveam" ,sbcl-fiveam)))
7267 (inputs
7268 `(("chanl" ,sbcl-chanl)))
7269 (synopsis "Common Lisp library to evaluate some forms in parallel")
7270 (description "This is a simple Common Lisp library to evaluate some
7271 forms in parallel.")
7272 (home-page "https://github.com/glv2/simple-parallel-tasks")
7273 (license license:gpl3))))
7274
7275 (define-public cl-simple-parallel-tasks
7276 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7277
7278 (define-public ecl-simple-parallel-tasks
7279 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7280
7281 (define-public sbcl-cl-heap
7282 (package
7283 (name "sbcl-cl-heap")
7284 (version "0.1.6")
7285 (source
7286 (origin
7287 (method url-fetch)
7288 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7289 "cl-heap_" version ".tar.gz"))
7290 (sha256
7291 (base32
7292 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7293 (build-system asdf-build-system/sbcl)
7294 (native-inputs
7295 `(("xlunit" ,sbcl-xlunit)))
7296 (arguments
7297 `(#:test-asd-file "cl-heap-tests.asd"))
7298 (synopsis "Heap and priority queue data structures for Common Lisp")
7299 (description
7300 "CL-HEAP provides various implementations of heap data structures (a
7301 binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7302 (home-page "https://common-lisp.net/project/cl-heap/")
7303 (license license:gpl3+)))
7304
7305 (define-public cl-heap
7306 (sbcl-package->cl-source-package sbcl-cl-heap))
7307
7308 (define-public ecl-cl-heap
7309 (sbcl-package->ecl-package sbcl-cl-heap))
7310
7311 (define-public sbcl-curry-compose-reader-macros
7312 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7313 (revision "0"))
7314 (package
7315 (name "sbcl-curry-compose-reader-macros")
7316 (version (git-version "1.0.0" revision commit))
7317 (source
7318 (origin
7319 (method git-fetch)
7320 (uri
7321 (git-reference
7322 (url "https://github.com/eschulte/curry-compose-reader-macros")
7323 (commit commit)))
7324 (file-name (git-file-name name version))
7325 (sha256
7326 (base32
7327 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7328 (build-system asdf-build-system/sbcl)
7329 (inputs
7330 `(("alexandria" ,sbcl-alexandria)
7331 ("named-readtables" ,sbcl-named-readtables)))
7332 (synopsis "Reader macros for partial application and composition")
7333 (description
7334 "This Common Lisp library provides reader macros for concise expression
7335 of function partial application and composition.")
7336 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7337 (license license:public-domain))))
7338
7339 (define-public cl-curry-compose-reader-macros
7340 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7341
7342 (define-public ecl-curry-compose-reader-macros
7343 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7344
7345 (define-public sbcl-yason
7346 (package
7347 (name "sbcl-yason")
7348 (version "0.7.7")
7349 (source
7350 (origin
7351 (method git-fetch)
7352 (uri (git-reference
7353 (url "https://github.com/phmarek/yason")
7354 (commit (string-append "v" version))))
7355 (file-name (git-file-name name version))
7356 (sha256
7357 (base32
7358 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7359 (build-system asdf-build-system/sbcl)
7360 (inputs
7361 `(("alexandria" ,sbcl-alexandria)
7362 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7363 (synopsis "Common Lisp JSON parser/encoder")
7364 (description
7365 "YASON is a Common Lisp library for encoding and decoding data in the
7366 JSON interchange format.")
7367 (home-page "https://github.com/phmarek/yason")
7368 (license license:bsd-3)))
7369
7370 (define-public cl-yason
7371 (sbcl-package->cl-source-package sbcl-yason))
7372
7373 (define-public ecl-yason
7374 (sbcl-package->ecl-package sbcl-yason))
7375
7376 (define-public sbcl-stefil
7377 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7378 (revision "0"))
7379 (package
7380 (name "sbcl-stefil")
7381 (version (git-version "0.1" revision commit))
7382 (source
7383 (origin
7384 (method git-fetch)
7385 (uri (git-reference
7386 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7387 (commit commit)))
7388 (file-name (git-file-name name version))
7389 (sha256
7390 (base32
7391 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7392 (build-system asdf-build-system/sbcl)
7393 (inputs
7394 `(("alexandria" ,sbcl-alexandria)
7395 ("iterate" ,sbcl-iterate)
7396 ("metabang-bind" ,sbcl-metabang-bind)
7397 ("swank" ,sbcl-slime-swank)))
7398 (arguments
7399 '(#:phases
7400 (modify-phases %standard-phases
7401 (add-after 'unpack 'drop-unnecessary-dependency
7402 (lambda _
7403 (substitute* "package.lisp"
7404 ((":stefil-system") ""))
7405 #t)))))
7406 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7407 (synopsis "Simple test framework")
7408 (description
7409 "Stefil is a simple test framework for Common Lisp, with a focus on
7410 interactive development.")
7411 (license license:public-domain))))
7412
7413 (define-public cl-stefil
7414 (sbcl-package->cl-source-package sbcl-stefil))
7415
7416 (define-public ecl-stefil
7417 (sbcl-package->ecl-package sbcl-stefil))
7418
7419 (define-public sbcl-graph
7420 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7421 (revision "0"))
7422 (package
7423 (name "sbcl-graph")
7424 (version (git-version "0.0.0" revision commit))
7425 (source
7426 (origin
7427 (method git-fetch)
7428 (uri
7429 (git-reference
7430 (url "https://github.com/eschulte/graph")
7431 (commit commit)))
7432 (file-name (git-file-name name version))
7433 (sha256
7434 (base32
7435 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))))
7436 (build-system asdf-build-system/sbcl)
7437 (native-inputs
7438 `(("stefil" ,sbcl-stefil)))
7439 (inputs
7440 `(("alexandria" ,sbcl-alexandria)
7441 ("cl-heap" ,sbcl-cl-heap)
7442 ("cl-ppcre" ,sbcl-cl-ppcre)
7443 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7444 ("metabang-bind" ,sbcl-metabang-bind)
7445 ("named-readtables" ,sbcl-named-readtables)
7446 ("yason" ,sbcl-yason)))
7447 (arguments
7448 '(#:asd-systems '("graph"
7449 "graph/dot"
7450 "graph/json")))
7451 (synopsis "Graph data structure and algorithms for Common Lisp")
7452 (description
7453 "The GRAPH Common Lisp library provides a data structures to represent
7454 graphs, as well as some graph manipulation and analysis algorithms (shortest
7455 path, maximum flow, minimum spanning tree, etc.).")
7456 (home-page "https://eschulte.github.io/graph/")
7457 (license license:gpl3+))))
7458
7459 (define-public cl-graph
7460 (sbcl-package->cl-source-package sbcl-graph))
7461
7462 (define-public ecl-graph
7463 (sbcl-package->ecl-package sbcl-graph))
7464
7465 (define-public sbcl-trivial-indent
7466 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7467 (revision "0"))
7468 (package
7469 (name "sbcl-trivial-indent")
7470 (version (git-version "1.0.0" revision commit))
7471 (source
7472 (origin
7473 (method git-fetch)
7474 (uri
7475 (git-reference
7476 (url "https://github.com/Shinmera/trivial-indent")
7477 (commit commit)))
7478 (file-name (git-file-name name version))
7479 (sha256
7480 (base32
7481 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7482 (build-system asdf-build-system/sbcl)
7483 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7484 (description
7485 "This library allows you to define custom indentation hints for your
7486 macros if the one recognised by SLIME automatically produces unwanted
7487 results.")
7488 (home-page "https://shinmera.github.io/trivial-indent/")
7489 (license license:zlib))))
7490
7491 (define-public cl-trivial-indent
7492 (sbcl-package->cl-source-package sbcl-trivial-indent))
7493
7494 (define-public ecl-trivial-indent
7495 (sbcl-package->ecl-package sbcl-trivial-indent))
7496
7497 (define-public sbcl-documentation-utils
7498 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7499 (revision "0"))
7500 (package
7501 (name "sbcl-documentation-utils")
7502 (version (git-version "1.2.0" revision commit))
7503 (source
7504 (origin
7505 (method git-fetch)
7506 (uri
7507 (git-reference
7508 (url "https://github.com/Shinmera/documentation-utils")
7509 (commit commit)))
7510 (file-name (git-file-name name version))
7511 (sha256
7512 (base32
7513 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7514 (build-system asdf-build-system/sbcl)
7515 (inputs
7516 `(("trivial-indent" ,sbcl-trivial-indent)))
7517 (synopsis "Few simple tools to document Common Lisp libraries")
7518 (description
7519 "This is a small library to help you with managing the Common Lisp
7520 docstrings for your library.")
7521 (home-page "https://shinmera.github.io/documentation-utils/")
7522 (license license:zlib))))
7523
7524 (define-public cl-documentation-utils
7525 (sbcl-package->cl-source-package sbcl-documentation-utils))
7526
7527 (define-public ecl-documentation-utils
7528 (sbcl-package->ecl-package sbcl-documentation-utils))
7529
7530 (define-public sbcl-documentation-utils-extensions
7531 (let ((commit "f67f8a05d583174662a594b79356b201c1d9d750"))
7532 (package
7533 (name "sbcl-documentation-utils-extensions")
7534 (version (git-version "0.0.0" "1" commit))
7535 (source
7536 (origin
7537 (method git-fetch)
7538 (uri
7539 (git-reference
7540 (url "https://github.com/sirherrbatka/documentation-utils-extensions/")
7541 (commit commit)))
7542 (file-name (git-file-name name version))
7543 (sha256
7544 (base32
7545 "0pn45c9rbxlnhn5nvhqz6kyv0nlirwxpg4j27niwdq80yxzsn51f"))))
7546 (build-system asdf-build-system/sbcl)
7547 (inputs
7548 `(("documentation-utils" ,sbcl-documentation-utils)))
7549 (home-page "https://github.com/sirherrbatka/documentation-utils-extensions")
7550 (synopsis "Set of extensions for documentation-utils")
7551 (description
7552 "Use @code{rich-formatter} to format documentation with sections @code{:syntax},
7553 @code{:arguments}, @code{:examples}, @code{:description}, @code{:returns},
7554 @code{:side-effects}, @code{:thread-safety}, @code{:affected-by},
7555 @code{:see-also} and @code{:notes}. Gather unformatted input by using
7556 @code{rich-aggregating-formatter} and @code{*DOCUMENTATION*} variable. Find
7557 gathered documentation with find-documentation function. Execute code stored
7558 in documentation with @code{execute-documentation}. See the examples in the
7559 @code{src/documentation.lisp} file. See the @code{documentation-utils} system
7560 for more information.")
7561 (license license:expat))))
7562
7563 (define-public cl-documentation-utils-extensions
7564 (sbcl-package->cl-source-package sbcl-documentation-utils-extensions))
7565
7566 (define-public ecl-documentation-utils-extensions
7567 (sbcl-package->ecl-package sbcl-documentation-utils-extensions))
7568
7569 (define-public sbcl-form-fiddle
7570 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7571 (revision "0"))
7572 (package
7573 (name "sbcl-form-fiddle")
7574 (version (git-version "1.1.0" revision commit))
7575 (source
7576 (origin
7577 (method git-fetch)
7578 (uri
7579 (git-reference
7580 (url "https://github.com/Shinmera/form-fiddle")
7581 (commit commit)))
7582 (file-name (git-file-name name version))
7583 (sha256
7584 (base32
7585 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7586 (build-system asdf-build-system/sbcl)
7587 (inputs
7588 `(("documentation-utils" ,sbcl-documentation-utils)))
7589 (synopsis "Utilities to destructure Common Lisp lambda forms")
7590 (description
7591 "Often times we need to destructure a form definition in a Common Lisp
7592 macro. This library provides a set of simple utilities to help with that.")
7593 (home-page "https://shinmera.github.io/form-fiddle/")
7594 (license license:zlib))))
7595
7596 (define-public cl-form-fiddle
7597 (sbcl-package->cl-source-package sbcl-form-fiddle))
7598
7599 (define-public ecl-form-fiddle
7600 (sbcl-package->ecl-package sbcl-form-fiddle))
7601
7602 (define-public sbcl-parachute
7603 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7604 (revision "0"))
7605 (package
7606 (name "sbcl-parachute")
7607 (version (git-version "1.1.1" revision commit))
7608 (source
7609 (origin
7610 (method git-fetch)
7611 (uri
7612 (git-reference
7613 (url "https://github.com/Shinmera/parachute")
7614 (commit commit)))
7615 (file-name (git-file-name name version))
7616 (sha256
7617 (base32
7618 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7619 (build-system asdf-build-system/sbcl)
7620 (inputs
7621 `(("documentation-utils" ,sbcl-documentation-utils)
7622 ("form-fiddle" ,sbcl-form-fiddle)))
7623 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7624 (description
7625 "Parachute is a simple-to-use and extensible testing framework.
7626 In Parachute, things are organised as a bunch of named tests within a package.
7627 Each test can contain a bunch of test forms that make up its body.")
7628 (home-page "https://shinmera.github.io/parachute/")
7629 (license license:zlib))))
7630
7631 (define-public cl-parachute
7632 (sbcl-package->cl-source-package sbcl-parachute))
7633
7634 (define-public ecl-parachute
7635 (sbcl-package->ecl-package sbcl-parachute))
7636
7637 (define-public sbcl-array-utils
7638 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7639 (revision "0"))
7640 (package
7641 (name "sbcl-array-utils")
7642 (version (git-version "1.1.1" revision commit))
7643 (source
7644 (origin
7645 (method git-fetch)
7646 (uri
7647 (git-reference
7648 (url "https://github.com/Shinmera/array-utils")
7649 (commit commit)))
7650 (file-name (git-file-name name version))
7651 (sha256
7652 (base32
7653 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7654 (build-system asdf-build-system/sbcl)
7655 (native-inputs
7656 `(("parachute" ,sbcl-parachute)))
7657 (inputs
7658 `(("documentation-utils" ,sbcl-documentation-utils)))
7659 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7660 (description
7661 "A miniature toolkit that contains some useful shifting/popping/pushing
7662 functions for arrays and vectors. Originally from Plump.")
7663 (home-page "https://shinmera.github.io/array-utils/")
7664 (license license:zlib))))
7665
7666 (define-public cl-array-utils
7667 (sbcl-package->cl-source-package sbcl-array-utils))
7668
7669 (define-public ecl-array-utils
7670 (sbcl-package->ecl-package sbcl-array-utils))
7671
7672 (define-public sbcl-plump
7673 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
7674 (revision "1"))
7675 (package
7676 (name "sbcl-plump")
7677 (version (git-version "2.0.0" revision commit))
7678 (source
7679 (origin
7680 (method git-fetch)
7681 (uri
7682 (git-reference
7683 (url "https://github.com/Shinmera/plump")
7684 (commit commit)))
7685 (file-name (git-file-name name version))
7686 (sha256
7687 (base32
7688 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
7689 (build-system asdf-build-system/sbcl)
7690 (inputs
7691 `(("array-utils" ,sbcl-array-utils)
7692 ("documentation-utils" ,sbcl-documentation-utils)))
7693 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7694 (description
7695 "Plump is a parser for HTML/XML-like documents, focusing on being
7696 lenient towards invalid markup. It can handle things like invalid attributes,
7697 bad closing tag order, unencoded entities, inexistent tag types, self-closing
7698 tags and so on. It parses documents to a class representation and offers a
7699 small set of DOM functions to manipulate it. It can be extended to parse to
7700 your own classes.")
7701 (home-page "https://shinmera.github.io/plump/")
7702 (license license:zlib))))
7703
7704 (define-public cl-plump
7705 (sbcl-package->cl-source-package sbcl-plump))
7706
7707 (define-public ecl-plump
7708 (sbcl-package->ecl-package sbcl-plump))
7709
7710 ;;; Split the antik package in two to work around the circular dependency
7711 ;;; between antik/antik and antik/gsll.
7712 (define-public sbcl-antik-base
7713 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7714 (revision "1"))
7715 (package
7716 (name "sbcl-antik-base")
7717 (version (git-version "0.0.0" revision commit))
7718 (source
7719 (origin
7720 (method git-fetch)
7721 (uri (git-reference
7722 (url "https://gitlab.common-lisp.net/antik/antik.git")
7723 (commit commit)))
7724 (file-name (git-file-name name version))
7725 (sha256
7726 (base32
7727 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7728 (build-system asdf-build-system/sbcl)
7729 (inputs
7730 `(("alexandria" ,sbcl-alexandria)
7731 ("cffi" ,sbcl-cffi)
7732 ("cl-ppcre" ,sbcl-cl-ppcre)
7733 ("drakma" ,sbcl-drakma)
7734 ("fare-utils" ,sbcl-fare-utils)
7735 ("iterate" ,sbcl-iterate)
7736 ("metabang-bind" ,sbcl-metabang-bind)
7737 ("named-readtables" ,sbcl-named-readtables)
7738 ("split-sequence" ,sbcl-split-sequence)
7739 ("static-vectors" ,sbcl-static-vectors)
7740 ("trivial-garbage" ,sbcl-trivial-garbage)
7741 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7742 (native-inputs
7743 `(("lisp-unit" ,sbcl-lisp-unit)))
7744 (arguments
7745 '(#:asd-systems '("antik-base"
7746 "foreign-array")
7747 #:phases
7748 (modify-phases %standard-phases
7749 (add-after 'unpack 'fix-build
7750 (lambda _
7751 (for-each delete-file
7752 '("antik.asd"
7753 "physical-dimension.asd"
7754 "science-data.asd"))
7755 #t)))))
7756 (synopsis "Scientific and engineering computation in Common Lisp")
7757 (description
7758 "Antik provides a foundation for scientific and engineering
7759 computation in Common Lisp. It is designed not only to facilitate
7760 numerical computations, but to permit the use of numerical computation
7761 libraries and the interchange of data and procedures, whether
7762 foreign (non-Lisp) or Lisp libraries. It is named after the
7763 Antikythera mechanism, one of the oldest examples of a scientific
7764 computer known.")
7765 (home-page "https://common-lisp.net/project/antik/")
7766 (license license:gpl3))))
7767
7768 (define-public cl-antik-base
7769 (sbcl-package->cl-source-package sbcl-antik-base))
7770
7771 (define-public ecl-antik-base
7772 (let ((pkg (sbcl-package->ecl-package sbcl-antik-base)))
7773 (package
7774 (inherit pkg)
7775 (arguments
7776 (substitute-keyword-arguments (package-arguments pkg)
7777 ((#:phases phases)
7778 `(modify-phases ,phases
7779 (add-after 'unpack 'fix-readtable
7780 (lambda _
7781 (substitute* "input-output/readtable.lisp"
7782 (("#-ccl")
7783 "#-(or ccl ecl)"))
7784 #t)))))))))
7785
7786 (define-public sbcl-gsll
7787 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7788 (revision "1"))
7789 (package
7790 (name "sbcl-gsll")
7791 (version (git-version "0.0.0" revision commit))
7792 (source
7793 (origin
7794 (method git-fetch)
7795 (uri (git-reference
7796 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7797 (commit commit)))
7798 (file-name (git-file-name name version))
7799 (sha256
7800 (base32
7801 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7802 (build-system asdf-build-system/sbcl)
7803 (native-inputs
7804 `(("lisp-unit" ,sbcl-lisp-unit)))
7805 (inputs
7806 `(("alexandria" ,sbcl-alexandria)
7807 ("antik-base" ,sbcl-antik-base)
7808 ("cffi" ,sbcl-cffi)
7809 ("gsl" ,gsl)
7810 ("metabang-bind" ,sbcl-metabang-bind)
7811 ("trivial-features" ,sbcl-trivial-features)
7812 ("trivial-garbage" ,sbcl-trivial-garbage)))
7813 (arguments
7814 `(#:tests? #f
7815 #:phases
7816 (modify-phases %standard-phases
7817 (add-after 'unpack 'fix-cffi-paths
7818 (lambda* (#:key inputs #:allow-other-keys)
7819 (substitute* "gsll.asd"
7820 ((":depends-on \\(#:foreign-array")
7821 ":depends-on (#:foreign-array #:cffi-libffi"))
7822 (substitute* "init/init.lisp"
7823 (("libgslcblas.so" all)
7824 (string-append
7825 (assoc-ref inputs "gsl") "/lib/" all)))
7826 (substitute* "init/init.lisp"
7827 (("libgsl.so" all)
7828 (string-append
7829 (assoc-ref inputs "gsl") "/lib/" all))))))))
7830 (synopsis "GNU Scientific Library for Lisp")
7831 (description
7832 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
7833 GNU Scientific Library (GSL) from Common Lisp. This library provides a
7834 full range of common mathematical operations useful to scientific and
7835 engineering applications. The design of the GSLL interface is such
7836 that access to most of the GSL library is possible in a Lisp-natural
7837 way; the intent is that the user not be hampered by the restrictions
7838 of the C language in which GSL has been written. GSLL thus provides
7839 interactive use of GSL for getting quick answers, even for someone not
7840 intending to program in Lisp.")
7841 (home-page "https://common-lisp.net/project/gsll/")
7842 (license license:gpl3))))
7843
7844 (define-public cl-gsll
7845 (sbcl-package->cl-source-package sbcl-gsll))
7846
7847 (define-public ecl-gsll
7848 (sbcl-package->ecl-package sbcl-gsll))
7849
7850 (define-public sbcl-antik
7851 (package
7852 (inherit sbcl-antik-base)
7853 (name "sbcl-antik")
7854 (inputs
7855 `(("antik-base" ,sbcl-antik-base)
7856 ("gsll" ,sbcl-gsll)))
7857 (arguments
7858 '(#:asd-systems '("antik"
7859 "science-data")
7860 #:phases
7861 (modify-phases %standard-phases
7862 (add-after 'unpack 'fix-build
7863 (lambda _
7864 (for-each delete-file
7865 '("antik-base.asd"
7866 "foreign-array.asd"))
7867 #t)))))))
7868
7869 (define-public cl-antik
7870 (sbcl-package->cl-source-package sbcl-antik))
7871
7872 (define-public sbcl-cl-interpol
7873 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
7874 (revision "1"))
7875 (package
7876 (name "sbcl-cl-interpol")
7877 (version (git-version "0.2.6" revision commit))
7878 (source
7879 (origin
7880 (method git-fetch)
7881 (uri (git-reference
7882 (url "https://github.com/edicl/cl-interpol")
7883 (commit commit)))
7884 (file-name (git-file-name name version))
7885 (sha256
7886 (base32
7887 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
7888 (build-system asdf-build-system/sbcl)
7889 (inputs
7890 `(("cl-unicode" ,sbcl-cl-unicode)
7891 ("named-readtables" ,sbcl-named-readtables)))
7892 (native-inputs
7893 `(("flexi-streams" ,sbcl-flexi-streams)))
7894 (synopsis "String interpolation for Common Lisp")
7895 (description
7896 "CL-INTERPOL is a library for Common Lisp which modifies the
7897 reader so that you can have interpolation within strings similar to
7898 Perl or Unix Shell scripts. It also provides various ways to insert
7899 arbitrary characters into literal strings even if your editor/IDE
7900 doesn't support them.")
7901 (home-page "https://edicl.github.io/cl-interpol/")
7902 (license license:bsd-3))))
7903
7904 (define-public cl-interpol
7905 (sbcl-package->cl-source-package sbcl-cl-interpol))
7906
7907 (define-public ecl-cl-interpol
7908 (sbcl-package->ecl-package sbcl-cl-interpol))
7909
7910 (define-public sbcl-symbol-munger
7911 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
7912 (revision "1"))
7913 (package
7914 (name "sbcl-symbol-munger")
7915 (version (git-version "0.0.1" revision commit))
7916 (source
7917 (origin
7918 (method git-fetch)
7919 (uri (git-reference
7920 (url "https://github.com/AccelerationNet/symbol-munger")
7921 (commit commit)))
7922 (file-name (git-file-name name version))
7923 (sha256
7924 (base32
7925 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
7926 (build-system asdf-build-system/sbcl)
7927 (inputs
7928 `(("alexandria" ,sbcl-alexandria)
7929 ("iterate" ,sbcl-iterate)))
7930 (arguments
7931 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7932 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7933 '(#:tests? #f))
7934 (synopsis
7935 "Capitalization and spacing conversion functions for Common Lisp")
7936 (description
7937 "This is a Common Lisp library to change the capitalization and spacing
7938 of a string or a symbol. It can convert to and from Lisp, english, underscore
7939 and camel-case rules.")
7940 (home-page "https://github.com/AccelerationNet/symbol-munger")
7941 ;; The package declares a BSD license, but all of the license
7942 ;; text is MIT.
7943 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
7944 (license license:expat))))
7945
7946 (define-public cl-symbol-munger
7947 (sbcl-package->cl-source-package sbcl-symbol-munger))
7948
7949 (define-public ecl-symbol-munger
7950 (sbcl-package->ecl-package sbcl-symbol-munger))
7951
7952 (define-public sbcl-lisp-unit2
7953 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7954 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7955 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
7956 (revision "1"))
7957 (package
7958 (name "sbcl-lisp-unit2")
7959 (version (git-version "0.2.0" revision commit))
7960 (source
7961 (origin
7962 (method git-fetch)
7963 (uri (git-reference
7964 (url "https://github.com/AccelerationNet/lisp-unit2")
7965 (commit commit)))
7966 (file-name (git-file-name name version))
7967 (sha256
7968 (base32
7969 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
7970 (build-system asdf-build-system/sbcl)
7971 (inputs
7972 `(("alexandria" ,sbcl-alexandria)
7973 ("cl-interpol" ,sbcl-cl-interpol)
7974 ("iterate" ,sbcl-iterate)
7975 ("symbol-munger" ,sbcl-symbol-munger)))
7976 (synopsis "Test Framework for Common Lisp")
7977 (description
7978 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
7979 style of JUnit for Java. It is a new version of the lisp-unit library written
7980 by Chris Riesbeck.")
7981 (home-page "https://github.com/AccelerationNet/lisp-unit2")
7982 (license license:expat))))
7983
7984 (define-public cl-lisp-unit2
7985 (sbcl-package->cl-source-package sbcl-lisp-unit2))
7986
7987 (define-public ecl-lisp-unit2
7988 (sbcl-package->ecl-package sbcl-lisp-unit2))
7989
7990 (define-public sbcl-cl-csv
7991 (let ((commit "68ecb5d816545677513d7f6308d9e5e8d2265651")
7992 (revision "2"))
7993 (package
7994 (name "sbcl-cl-csv")
7995 (version (git-version "1.0.6" revision commit))
7996 (source
7997 (origin
7998 (method git-fetch)
7999 (uri (git-reference
8000 (url "https://github.com/AccelerationNet/cl-csv")
8001 (commit commit)))
8002 (file-name (git-file-name name version))
8003 (sha256
8004 (base32
8005 "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x"))))
8006 (build-system asdf-build-system/sbcl)
8007 (arguments
8008 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8009 `(#:tests? #f))
8010 (inputs
8011 `(("alexandria" ,sbcl-alexandria)
8012 ("cl-interpol" ,sbcl-cl-interpol)
8013 ("iterate" ,sbcl-iterate)))
8014 (native-inputs
8015 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8016 (synopsis "Common lisp library for comma-separated values")
8017 (description
8018 "This is a Common Lisp library providing functions to read/write CSV
8019 from/to strings, streams and files.")
8020 (home-page "https://github.com/AccelerationNet/cl-csv")
8021 (license license:bsd-3))))
8022
8023 (define-public cl-csv
8024 (sbcl-package->cl-source-package sbcl-cl-csv))
8025
8026 (define-public ecl-cl-csv
8027 (sbcl-package->ecl-package sbcl-cl-csv))
8028
8029 (define-public sbcl-external-program
8030 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8031 (revision "1"))
8032 (package
8033 (name "sbcl-external-program")
8034 (version (git-version "0.0.6" revision commit))
8035 (source
8036 (origin
8037 (method git-fetch)
8038 (uri (git-reference
8039 (url "https://github.com/sellout/external-program")
8040 (commit commit)))
8041 (file-name (git-file-name name version))
8042 (sha256
8043 (base32
8044 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8045 (build-system asdf-build-system/sbcl)
8046 (inputs
8047 `(("trivial-features" ,sbcl-trivial-features)))
8048 (native-inputs
8049 `(("fiveam" ,sbcl-fiveam)))
8050 (synopsis "Common Lisp library for running external programs")
8051 (description
8052 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8053 process. It is an attempt to make the RUN-PROGRAM functionality in
8054 implementations like SBCL and CCL as portable as possible without
8055 sacrificing much in the way of power.")
8056 (home-page "https://github.com/sellout/external-program")
8057 (license license:llgpl))))
8058
8059 (define-public cl-external-program
8060 (sbcl-package->cl-source-package sbcl-external-program))
8061
8062 (define-public ecl-external-program
8063 (sbcl-package->ecl-package sbcl-external-program))
8064
8065 (define-public sbcl-cl-ana
8066 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8067 (revision "1"))
8068 (package
8069 (name "sbcl-cl-ana")
8070 (version (git-version "0.0.0" revision commit))
8071 (source
8072 (origin
8073 (method git-fetch)
8074 (uri (git-reference
8075 (url "https://github.com/ghollisjr/cl-ana")
8076 (commit commit)))
8077 (file-name (git-file-name name version))
8078 (sha256
8079 (base32 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8080 (build-system asdf-build-system/sbcl)
8081 (native-inputs
8082 `(("cl-fad" ,sbcl-cl-fad)))
8083 (inputs
8084 `(("alexandria" ,sbcl-alexandria)
8085 ("antik" ,sbcl-antik)
8086 ("cffi" ,sbcl-cffi)
8087 ("cl-csv" ,sbcl-cl-csv)
8088 ("closer-mop" ,sbcl-closer-mop)
8089 ("external-program" ,sbcl-external-program)
8090 ("gsl" ,gsl)
8091 ("gsll" ,sbcl-gsll)
8092 ("hdf5" ,hdf5-parallel-openmpi)
8093 ("iterate" ,sbcl-iterate)
8094 ("libffi" ,libffi)
8095 ("split-sequence" ,sbcl-split-sequence)))
8096 (arguments
8097 `(#:phases
8098 (modify-phases %standard-phases
8099 (add-after 'unpack 'fix-paths
8100 (lambda* (#:key inputs #:allow-other-keys)
8101 (substitute* "hdf-cffi/hdf-cffi.lisp"
8102 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8103 (string-append (assoc-ref inputs "hdf5")
8104 "/lib/libhdf5.so")))
8105 (substitute* "gsl-cffi/gsl-cffi.lisp"
8106 (("define-foreign-library gsl-cffi" all)
8107 (string-append all " (:unix "
8108 (assoc-ref inputs "gsl")
8109 "/lib/libgsl.so)")))
8110 #t)))))
8111 (synopsis "Common Lisp data analysis library")
8112 (description
8113 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8114 binned data analysis along with nonlinear least squares fitting and
8115 visualization.")
8116 (home-page "https://github.com/ghollisjr/cl-ana")
8117 (license license:gpl3))))
8118
8119 (define-public cl-ana
8120 (sbcl-package->cl-source-package sbcl-cl-ana))
8121
8122 (define-public sbcl-archive
8123 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
8124 (revision "1"))
8125 (package
8126 (name "sbcl-archive")
8127 (version (git-version "0.9" revision commit))
8128 (source (origin
8129 (method git-fetch)
8130 (uri (git-reference
8131 (url "https://github.com/sharplispers/archive")
8132 (commit commit)))
8133 (file-name (git-file-name name version))
8134 (sha256
8135 (base32
8136 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
8137 (build-system asdf-build-system/sbcl)
8138 (inputs
8139 `(("cl-fad" ,sbcl-cl-fad)
8140 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
8141 (synopsis "Common Lisp library for tar and cpio archives")
8142 (description
8143 "This is a Common Lisp library to read and write disk-based file
8144 archives such as those generated by the tar and cpio programs on Unix.")
8145 (home-page "https://github.com/sharplispers/archive")
8146 (license license:bsd-3))))
8147
8148 (define-public cl-archive
8149 (sbcl-package->cl-source-package sbcl-archive))
8150
8151 (define-public ecl-archive
8152 (sbcl-package->ecl-package sbcl-archive))
8153
8154 (define-public sbcl-misc-extensions
8155 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
8156 (revision "1"))
8157 (package
8158 (name "sbcl-misc-extensions")
8159 (version (git-version "3.3" revision commit))
8160 (source
8161 (origin
8162 (method git-fetch)
8163 (uri (git-reference
8164 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
8165 (commit commit)))
8166 (file-name (git-file-name name version))
8167 (sha256
8168 (base32
8169 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
8170 (build-system asdf-build-system/sbcl)
8171 (synopsis "Collection of small macros and extensions for Common Lisp")
8172 (description
8173 "This project is intended as a catchall for small, general-purpose
8174 extensions to Common Lisp. It contains:
8175
8176 @itemize
8177 @item @code{new-let}, a macro that combines and generalizes @code{let},
8178 @code{let*} and @code{multiple-value-bind},
8179 @item @code{gmap}, an iteration macro that generalizes @code{map}.
8180 @end itemize\n")
8181 (home-page "https://common-lisp.net/project/misc-extensions/")
8182 (license license:public-domain))))
8183
8184 (define-public cl-misc-extensions
8185 (sbcl-package->cl-source-package sbcl-misc-extensions))
8186
8187 (define-public ecl-misc-extensions
8188 (sbcl-package->ecl-package sbcl-misc-extensions))
8189
8190 (define-public sbcl-mt19937
8191 (package
8192 (name "sbcl-mt19937")
8193 (version "1.1")
8194 (source
8195 (origin
8196 (method url-fetch)
8197 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
8198 "mt19937-latest.tar.gz"))
8199 (sha256
8200 (base32
8201 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
8202 (build-system asdf-build-system/sbcl)
8203 (synopsis "Mersenne Twister pseudo-random number generator")
8204 (description
8205 "MT19937 is a portable Mersenne Twister pseudo-random number generator
8206 for Common Lisp.")
8207 (home-page "https://www.cliki.net/mt19937")
8208 (license license:public-domain)))
8209
8210 (define-public cl-mt19937
8211 (sbcl-package->cl-source-package sbcl-mt19937))
8212
8213 (define-public ecl-mt19937
8214 (sbcl-package->ecl-package sbcl-mt19937))
8215
8216 (define-public sbcl-fset
8217 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
8218 (revision "1"))
8219 (package
8220 (name "sbcl-fset")
8221 (version (git-version "1.3.2" revision commit))
8222 (source
8223 (origin
8224 (method git-fetch)
8225 (uri (git-reference
8226 (url "https://github.com/slburson/fset")
8227 (commit commit)))
8228 (file-name (git-file-name name version))
8229 (sha256
8230 (base32
8231 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
8232 (snippet '(begin
8233 ;; Remove obsolete copy of system definition.
8234 (delete-file "Code/fset.asd")
8235 #t))))
8236 (build-system asdf-build-system/sbcl)
8237 (inputs
8238 `(("misc-extensions" ,sbcl-misc-extensions)
8239 ("mt19937" ,sbcl-mt19937)
8240 ("named-readtables" ,sbcl-named-readtables)))
8241 (synopsis "Functional set-theoretic collections library")
8242 (description
8243 "FSet is a functional set-theoretic collections library for Common Lisp.
8244 Functional means that all update operations return a new collection rather than
8245 modifying an existing one in place. Set-theoretic means that collections may
8246 be nested arbitrarily with no additional programmer effort; for instance, sets
8247 may contain sets, maps may be keyed by sets, etc.")
8248 (home-page "https://common-lisp.net/project/fset/Site/index.html")
8249 (license license:llgpl))))
8250
8251 (define-public cl-fset
8252 (sbcl-package->cl-source-package sbcl-fset))
8253
8254 (define-public ecl-fset
8255 (package
8256 (inherit (sbcl-package->ecl-package sbcl-fset))
8257 (arguments
8258 ;; Tests fails on ECL with "The function FSET::MAKE-CHAR is undefined".
8259 '(#:tests? #f))))
8260
8261 (define-public sbcl-cl-cont
8262 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
8263 (revision "1"))
8264 (package
8265 (name "sbcl-cl-cont")
8266 (version (git-version "0.3.8" revision commit))
8267 (source
8268 (origin
8269 (method git-fetch)
8270 (uri (git-reference
8271 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
8272 (commit commit)))
8273 (file-name (git-file-name name version))
8274 (sha256
8275 (base32
8276 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
8277 (build-system asdf-build-system/sbcl)
8278 (inputs
8279 `(("alexandria" ,sbcl-alexandria)
8280 ("closer-mop" ,sbcl-closer-mop)))
8281 (native-inputs
8282 `(("rt" ,sbcl-rt)))
8283 (synopsis "Delimited continuations for Common Lisp")
8284 (description
8285 "This is a library that implements delimited continuations by
8286 transforming Common Lisp code to continuation passing style.")
8287 (home-page "https://common-lisp.net/project/cl-cont/")
8288 (license license:llgpl))))
8289
8290 (define-public cl-cont
8291 (sbcl-package->cl-source-package sbcl-cl-cont))
8292
8293 (define-public ecl-cl-cont
8294 (sbcl-package->ecl-package sbcl-cl-cont))
8295
8296 (define-public sbcl-cl-coroutine
8297 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
8298 (revision "1"))
8299 (package
8300 (name "sbcl-cl-coroutine")
8301 (version (git-version "0.1" revision commit))
8302 (source
8303 (origin
8304 (method git-fetch)
8305 (uri (git-reference
8306 (url "https://github.com/takagi/cl-coroutine")
8307 (commit commit)))
8308 (file-name (git-file-name name version))
8309 (sha256
8310 (base32
8311 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
8312 (build-system asdf-build-system/sbcl)
8313 (inputs
8314 `(("alexandria" ,sbcl-alexandria)
8315 ("cl-cont" ,sbcl-cl-cont)))
8316 (native-inputs
8317 `(("prove" ,sbcl-prove)))
8318 (arguments
8319 `(;; TODO: Fix the tests. They fail with:
8320 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
8321 #:tests? #f
8322 #:phases
8323 (modify-phases %standard-phases
8324 (add-after 'unpack 'fix-tests
8325 (lambda _
8326 (substitute* "cl-coroutine-test.asd"
8327 (("cl-test-more")
8328 "prove"))
8329 #t)))))
8330 (synopsis "Coroutine library for Common Lisp")
8331 (description
8332 "This is a coroutine library for Common Lisp implemented using the
8333 continuations of the @code{cl-cont} library.")
8334 (home-page "https://github.com/takagi/cl-coroutine")
8335 (license license:llgpl))))
8336
8337 (define-public cl-coroutine
8338 (sbcl-package->cl-source-package sbcl-cl-coroutine))
8339
8340 (define-public ecl-cl-coroutine
8341 (sbcl-package->ecl-package sbcl-cl-coroutine))
8342
8343 (define-public sbcl-vas-string-metrics
8344 (let ((commit "f2e4500b180316123fbd549bd51c751ee2d6ba0f")
8345 (revision "1"))
8346 (package
8347 (name "sbcl-vas-string-metrics")
8348 (version (git-version "0.0.0" revision commit))
8349 (source
8350 (origin
8351 (method git-fetch)
8352 (uri (git-reference
8353 (url "https://github.com/vsedach/vas-string-metrics")
8354 (commit commit)))
8355 (file-name (git-file-name "vas-string-metrics" version))
8356 (sha256
8357 (base32 "11fcnd03ybzz37rkg3z0wsb727yqgcd9gn70sccfb34l89ia279k"))))
8358 (build-system asdf-build-system/sbcl)
8359 (arguments
8360 `(#:test-asd-file "test.vas-string-metrics.asd"))
8361 (home-page "https://github.com/vsedach/vas-string-metrics")
8362 (synopsis "String distance algorithms for Common Lisp")
8363 (description
8364 "VAS-STRING-METRICS provides the Jaro, Jaro-Winkler, Soerensen-Dice,
8365 Levenshtein, and normalized Levenshtein string distance/similarity metrics
8366 algorithms.")
8367 (license license:lgpl3+))))
8368
8369 (define-public ecl-vas-string-metrics
8370 (sbcl-package->ecl-package sbcl-vas-string-metrics))
8371
8372 (define-public cl-vas-string-metrics
8373 (sbcl-package->cl-source-package sbcl-vas-string-metrics))
8374
8375 (define-public sbcl-vom
8376 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
8377 (revision "1"))
8378 (package
8379 (name "sbcl-vom")
8380 (version (git-version "0.1.4" revision commit))
8381 (source
8382 (origin
8383 (method git-fetch)
8384 (uri (git-reference
8385 (url "https://github.com/orthecreedence/vom")
8386 (commit commit)))
8387 (file-name (git-file-name name version))
8388 (sha256
8389 (base32
8390 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
8391 (build-system asdf-build-system/sbcl)
8392 (synopsis "Tiny logging utility for Common Lisp")
8393 (description
8394 "Vom is a logging library for Common Lisp. It's goal is to be useful
8395 and small. It does not provide a lot of features as other loggers do, but
8396 has a small codebase that's easy to understand and use.")
8397 (home-page "https://github.com/orthecreedence/vom")
8398 (license license:expat))))
8399
8400 (define-public cl-vom
8401 (sbcl-package->cl-source-package sbcl-vom))
8402
8403 (define-public ecl-vom
8404 (sbcl-package->ecl-package sbcl-vom))
8405
8406 (define-public sbcl-cl-libuv
8407 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
8408 (revision "1"))
8409 (package
8410 (name "sbcl-cl-libuv")
8411 (version (git-version "0.1.6" revision commit))
8412 (source
8413 (origin
8414 (method git-fetch)
8415 (uri (git-reference
8416 (url "https://github.com/orthecreedence/cl-libuv")
8417 (commit commit)))
8418 (file-name (git-file-name name version))
8419 (sha256
8420 (base32
8421 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
8422 (build-system asdf-build-system/sbcl)
8423 (inputs
8424 `(("alexandria" ,sbcl-alexandria)
8425 ("cffi" ,sbcl-cffi)
8426 ("libuv" ,libuv)))
8427 (arguments
8428 `(#:phases
8429 (modify-phases %standard-phases
8430 (add-after 'unpack 'fix-paths
8431 (lambda* (#:key inputs #:allow-other-keys)
8432 (substitute* "lib.lisp"
8433 (("/usr/lib/libuv.so")
8434 (string-append (assoc-ref inputs "libuv")
8435 "/lib/libuv.so")))
8436 #t))
8437 (add-after 'fix-paths 'fix-system-definition
8438 (lambda _
8439 (substitute* "cl-libuv.asd"
8440 (("#:cffi #:alexandria")
8441 "#:cffi #:cffi-grovel #:alexandria"))
8442 #t)))))
8443 (synopsis "Common Lisp bindings to libuv")
8444 (description
8445 "This library provides low-level libuv bindings for Common Lisp.")
8446 (home-page "https://github.com/orthecreedence/cl-libuv")
8447 (license license:expat))))
8448
8449 (define-public cl-libuv
8450 (sbcl-package->cl-source-package sbcl-cl-libuv))
8451
8452 (define-public ecl-cl-libuv
8453 (sbcl-package->ecl-package sbcl-cl-libuv))
8454
8455 (define-public sbcl-cl-async
8456 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
8457 (revision "1"))
8458 (package
8459 (name "sbcl-cl-async")
8460 (version (git-version "0.6.1" revision commit))
8461 (source
8462 (origin
8463 (method git-fetch)
8464 (uri (git-reference
8465 (url "https://github.com/orthecreedence/cl-async")
8466 (commit commit)))
8467 (file-name (git-file-name name version))
8468 (sha256
8469 (base32
8470 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
8471 (build-system asdf-build-system/sbcl)
8472 (inputs
8473 `(("babel" ,sbcl-babel)
8474 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8475 ("cffi" ,sbcl-cffi)
8476 ("cl-libuv" ,sbcl-cl-libuv)
8477 ("cl-ppcre" ,sbcl-cl-ppcre)
8478 ("fast-io" ,sbcl-fast-io)
8479 ("openssl" ,openssl)
8480 ("static-vectors" ,sbcl-static-vectors)
8481 ("trivial-features" ,sbcl-trivial-features)
8482 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
8483 ("vom" ,sbcl-vom)))
8484 (arguments
8485 `(#:asd-systems '("cl-async"
8486 "cl-async-repl"
8487 "cl-async-ssl")
8488 #:phases
8489 (modify-phases %standard-phases
8490 (add-after 'unpack 'fix-paths
8491 (lambda* (#:key inputs #:allow-other-keys)
8492 (substitute* "src/ssl/package.lisp"
8493 (("libcrypto\\.so")
8494 (string-append (assoc-ref inputs "openssl")
8495 "/lib/libcrypto.so"))
8496 (("libssl\\.so")
8497 (string-append (assoc-ref inputs "openssl")
8498 "/lib/libssl.so")))
8499 #t)))))
8500 (synopsis "Asynchronous operations for Common Lisp")
8501 (description
8502 "Cl-async is a library for general purpose, non-blocking programming in
8503 Common Lisp. It uses the libuv library as backend.")
8504 (home-page "https://orthecreedence.github.io/cl-async/")
8505 (license license:expat))))
8506
8507 (define-public cl-async
8508 (sbcl-package->cl-source-package sbcl-cl-async))
8509
8510 (define-public ecl-cl-async
8511 (sbcl-package->ecl-package sbcl-cl-async))
8512
8513 (define-public sbcl-blackbird
8514 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
8515 (revision "1"))
8516 (package
8517 (name "sbcl-blackbird")
8518 (version (git-version "0.5.2" revision commit))
8519 (source
8520 (origin
8521 (method git-fetch)
8522 (uri (git-reference
8523 (url "https://github.com/orthecreedence/blackbird")
8524 (commit commit)))
8525 (file-name (git-file-name name version))
8526 (sha256
8527 (base32
8528 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
8529 (build-system asdf-build-system/sbcl)
8530 (inputs
8531 `(("vom" ,sbcl-vom)))
8532 (native-inputs
8533 `(("cl-async" ,sbcl-cl-async)
8534 ("fiveam" ,sbcl-fiveam)))
8535 (synopsis "Promise implementation for Common Lisp")
8536 (description
8537 "This is a standalone promise implementation for Common Lisp. It is
8538 the successor to the now-deprecated cl-async-future project.")
8539 (home-page "https://orthecreedence.github.io/blackbird/")
8540 (license license:expat))))
8541
8542 (define-public cl-blackbird
8543 (sbcl-package->cl-source-package sbcl-blackbird))
8544
8545 (define-public ecl-blackbird
8546 (sbcl-package->ecl-package sbcl-blackbird))
8547
8548 (define-public sbcl-cl-async-future
8549 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
8550 (revision "1"))
8551 (package
8552 (name "sbcl-cl-async-future")
8553 (version (git-version "0.4.4.1" revision commit))
8554 (source
8555 (origin
8556 (method git-fetch)
8557 (uri (git-reference
8558 (url "https://github.com/orthecreedence/cl-async-future")
8559 (commit commit)))
8560 (file-name (git-file-name name version))
8561 (sha256
8562 (base32
8563 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
8564 (build-system asdf-build-system/sbcl)
8565 (inputs
8566 `(("blackbird" ,sbcl-blackbird)))
8567 (native-inputs
8568 `(("cl-async" ,sbcl-cl-async)
8569 ("eos" ,sbcl-eos)))
8570 (synopsis "Futures implementation for Common Lisp")
8571 (description
8572 "This is futures implementation for Common Lisp. It plugs in nicely
8573 to cl-async.")
8574 (home-page "https://orthecreedence.github.io/cl-async/future")
8575 (license license:expat))))
8576
8577 (define-public cl-async-future
8578 (sbcl-package->cl-source-package sbcl-cl-async-future))
8579
8580 (define-public ecl-cl-async-future
8581 (sbcl-package->ecl-package sbcl-cl-async-future))
8582
8583 (define-public sbcl-green-threads
8584 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
8585 (revision "1"))
8586 (package
8587 (name "sbcl-green-threads")
8588 (version (git-version "0.3" revision commit))
8589 (source
8590 (origin
8591 (method git-fetch)
8592 (uri (git-reference
8593 (url "https://github.com/thezerobit/green-threads")
8594 (commit commit)))
8595 (file-name (git-file-name name version))
8596 (sha256
8597 (base32
8598 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
8599 (build-system asdf-build-system/sbcl)
8600 (inputs
8601 `(("cl-async-future" ,sbcl-cl-async-future)
8602 ("cl-cont" ,sbcl-cl-cont)))
8603 (native-inputs
8604 `(("prove" ,sbcl-prove)))
8605 (arguments
8606 `(;; TODO: Fix the tests. They fail with:
8607 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
8608 #:tests? #f
8609 #:phases
8610 (modify-phases %standard-phases
8611 (add-after 'unpack 'fix-tests
8612 (lambda _
8613 (substitute* "green-threads-test.asd"
8614 (("cl-test-more")
8615 "prove"))
8616 #t)))))
8617 (synopsis "Cooperative multitasking library for Common Lisp")
8618 (description
8619 "This library allows for cooperative multitasking with help of cl-cont
8620 for continuations. It tries to mimic the API of bordeaux-threads as much as
8621 possible.")
8622 (home-page "https://github.com/thezerobit/green-threads")
8623 (license license:bsd-3))))
8624
8625 (define-public cl-green-threads
8626 (sbcl-package->cl-source-package sbcl-green-threads))
8627
8628 (define-public ecl-green-threads
8629 (sbcl-package->ecl-package sbcl-green-threads))
8630
8631 (define-public sbcl-cl-base32
8632 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
8633 (revision "1"))
8634 (package
8635 (name "sbcl-cl-base32")
8636 (version (git-version "0.1" revision commit))
8637 (source
8638 (origin
8639 (method git-fetch)
8640 (uri (git-reference
8641 (url "https://github.com/hargettp/cl-base32")
8642 (commit commit)))
8643 (file-name (git-file-name name version))
8644 (sha256
8645 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
8646 (build-system asdf-build-system/sbcl)
8647 (native-inputs
8648 `(("lisp-unit" ,sbcl-lisp-unit)))
8649 (synopsis "Common Lisp library for base32 encoding and decoding")
8650 (description
8651 "This package provides functions for base32 encoding and decoding as
8652 defined in RFC4648.")
8653 (home-page "https://github.com/hargettp/cl-base32")
8654 (license license:expat))))
8655
8656 (define-public cl-base32
8657 (sbcl-package->cl-source-package sbcl-cl-base32))
8658
8659 (define-public ecl-cl-base32
8660 (sbcl-package->ecl-package sbcl-cl-base32))
8661
8662 (define-public sbcl-cl-z85
8663 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
8664 (revision "1"))
8665 (package
8666 (name "sbcl-cl-z85")
8667 (version (git-version "1.0" revision commit))
8668 (source
8669 (origin
8670 (method git-fetch)
8671 (uri (git-reference
8672 (url "https://github.com/glv2/cl-z85")
8673 (commit commit)))
8674 (file-name (git-file-name name version))
8675 (sha256
8676 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
8677 (build-system asdf-build-system/sbcl)
8678 (native-inputs
8679 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
8680 ("fiveam" ,sbcl-fiveam)))
8681 (synopsis "Common Lisp library for Z85 encoding and decoding")
8682 (description
8683 "This package provides functions to encode or decode byte vectors or
8684 byte streams using the Z85 format, which is a base-85 encoding used by
8685 ZeroMQ.")
8686 (home-page "https://github.com/glv2/cl-z85")
8687 (license license:gpl3+))))
8688
8689 (define-public cl-z85
8690 (sbcl-package->cl-source-package sbcl-cl-z85))
8691
8692 (define-public ecl-cl-z85
8693 (sbcl-package->ecl-package sbcl-cl-z85))
8694
8695 (define-public sbcl-ltk
8696 (package
8697 (name "sbcl-ltk")
8698 (version "0.992")
8699 (source
8700 (origin
8701 (method git-fetch)
8702 (uri (git-reference
8703 (url "https://github.com/herth/ltk")
8704 (commit version)))
8705 (file-name (git-file-name name version))
8706 (sha256
8707 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
8708 (build-system asdf-build-system/sbcl)
8709 (inputs
8710 `(("imagemagick" ,imagemagick)
8711 ("tk" ,tk)))
8712 (arguments
8713 `(#:asd-systems '("ltk"
8714 "ltk-mw"
8715 "ltk-remote")
8716 #:tests? #f
8717 #:phases
8718 (modify-phases %standard-phases
8719 (add-after 'unpack 'fix-paths
8720 (lambda* (#:key inputs #:allow-other-keys)
8721 (substitute* "ltk/ltk.lisp"
8722 (("#-freebsd \"wish\"")
8723 (string-append "#-freebsd \""
8724 (assoc-ref inputs "tk")
8725 "/bin/wish\""))
8726 (("do-execute \"convert\"")
8727 (string-append "do-execute \""
8728 (assoc-ref inputs "imagemagick")
8729 "/bin/convert\"")))
8730 #t))
8731 (add-after 'unpack 'fix-build
8732 (lambda _
8733 (substitute* "ltk/ltk-remote.lisp"
8734 (("\\(:export")
8735 "(:shadow #:raise) (:export"))
8736 #t)))))
8737 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
8738 (description
8739 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
8740 in pure Common Lisp and does not require any Tk knowledge for its usage.")
8741 (home-page "http://www.peter-herth.de/ltk/")
8742 (license license:llgpl)))
8743
8744 (define-public cl-ltk
8745 (sbcl-package->cl-source-package sbcl-ltk))
8746
8747 (define-public ecl-ltk
8748 (sbcl-package->ecl-package sbcl-ltk))
8749
8750 (define-public sbcl-cl-lex
8751 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
8752 (revision "1"))
8753 (package
8754 (name "sbcl-cl-lex")
8755 (version (git-version "1.1.3" revision commit))
8756 (source
8757 (origin
8758 (method git-fetch)
8759 (uri (git-reference
8760 (url "https://github.com/djr7C4/cl-lex")
8761 (commit commit)))
8762 (file-name (git-file-name name version))
8763 (sha256
8764 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
8765 (build-system asdf-build-system/sbcl)
8766 (inputs
8767 `(("cl-ppcre" ,sbcl-cl-ppcre)))
8768 (synopsis "Common Lisp macros for generating lexical analyzers")
8769 (description
8770 "This is a Common Lisp library providing a set of macros for generating
8771 lexical analyzers automatically. The lexers generated using @code{cl-lex} can
8772 be used with @code{cl-yacc}.")
8773 (home-page "https://github.com/djr7C4/cl-lex")
8774 (license license:gpl3))))
8775
8776 (define-public cl-lex
8777 (sbcl-package->cl-source-package sbcl-cl-lex))
8778
8779 (define-public ecl-cl-lex
8780 (sbcl-package->ecl-package sbcl-cl-lex))
8781
8782 (define-public sbcl-clunit2
8783 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
8784 (revision "1"))
8785 (package
8786 (name "sbcl-clunit2")
8787 (version (git-version "0.2.4" revision commit))
8788 (source
8789 (origin
8790 (method git-fetch)
8791 (uri (git-reference
8792 (url "https://notabug.org/cage/clunit2.git")
8793 (commit commit)))
8794 (file-name (git-file-name name version))
8795 (sha256
8796 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
8797 (build-system asdf-build-system/sbcl)
8798 (synopsis "Unit testing framework for Common Lisp")
8799 (description
8800 "CLUnit is a Common Lisp unit testing framework. It is designed to be
8801 easy to use so that you can quickly start testing.")
8802 (home-page "https://notabug.org/cage/clunit2")
8803 (license license:expat))))
8804
8805 (define-public cl-clunit2
8806 (sbcl-package->cl-source-package sbcl-clunit2))
8807
8808 (define-public ecl-clunit2
8809 (sbcl-package->ecl-package sbcl-clunit2))
8810
8811 (define-public sbcl-cl-colors2
8812 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
8813 (revision "1"))
8814 (package
8815 (name "sbcl-cl-colors2")
8816 (version (git-version "0.2.1" revision commit))
8817 (source
8818 (origin
8819 (method git-fetch)
8820 (uri (git-reference
8821 (url "https://notabug.org/cage/cl-colors2.git")
8822 (commit commit)))
8823 (file-name (git-file-name name version))
8824 (sha256
8825 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
8826 (build-system asdf-build-system/sbcl)
8827 (native-inputs
8828 `(("clunit2" ,sbcl-clunit2)))
8829 (inputs
8830 `(("alexandria" ,sbcl-alexandria)
8831 ("cl-ppcre" ,sbcl-cl-ppcre)))
8832 (synopsis "Color library for Common Lisp")
8833 (description
8834 "This is a very simple color library for Common Lisp, providing:
8835
8836 @itemize
8837 @item Types for representing colors in HSV and RGB spaces.
8838 @item Simple conversion functions between the above types (and also
8839 hexadecimal representation for RGB).
8840 @item Some predefined colors (currently X11 color names -- of course
8841 the library does not depend on X11).
8842 @end itemize\n")
8843 (home-page "https://notabug.org/cage/cl-colors2")
8844 (license license:boost1.0))))
8845
8846 (define-public cl-colors2
8847 (sbcl-package->cl-source-package sbcl-cl-colors2))
8848
8849 (define-public ecl-cl-colors2
8850 (sbcl-package->ecl-package sbcl-cl-colors2))
8851
8852 (define-public sbcl-cl-jpeg
8853 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
8854 (revision "1"))
8855 (package
8856 (name "sbcl-cl-jpeg")
8857 (version (git-version "2.8" revision commit))
8858 (source
8859 (origin
8860 (method git-fetch)
8861 (uri (git-reference
8862 (url "https://github.com/sharplispers/cl-jpeg")
8863 (commit commit)))
8864 (file-name (git-file-name name version))
8865 (sha256
8866 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
8867 (build-system asdf-build-system/sbcl)
8868 (synopsis "JPEG image library for Common Lisp")
8869 (description
8870 "This is a baseline JPEG codec written in Common Lisp. It can be used
8871 for reading and writing JPEG image files.")
8872 (home-page "https://github.com/sharplispers/cl-jpeg")
8873 (license license:bsd-3))))
8874
8875 (define-public cl-jpeg
8876 (sbcl-package->cl-source-package sbcl-cl-jpeg))
8877
8878 (define-public ecl-cl-jpeg
8879 (sbcl-package->ecl-package sbcl-cl-jpeg))
8880
8881 (define-public sbcl-nodgui
8882 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
8883 (revision "1"))
8884 (package
8885 (name "sbcl-nodgui")
8886 (version (git-version "0.0.5" revision commit))
8887 (source
8888 (origin
8889 (method git-fetch)
8890 (uri (git-reference
8891 (url "https://notabug.org/cage/nodgui.git")
8892 (commit commit)))
8893 (file-name (git-file-name name version))
8894 (sha256
8895 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
8896 (build-system asdf-build-system/sbcl)
8897 (inputs
8898 `(("alexandria" ,sbcl-alexandria)
8899 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8900 ("cl-colors2" ,sbcl-cl-colors2)
8901 ("cl-jpeg" ,sbcl-cl-jpeg)
8902 ("cl-lex" ,sbcl-cl-lex)
8903 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
8904 ("cl-unicode" ,sbcl-cl-unicode)
8905 ("cl-yacc" ,sbcl-cl-yacc)
8906 ("clunit2" ,sbcl-clunit2)
8907 ("named-readtables" ,sbcl-named-readtables)
8908 ("parse-number" ,sbcl-parse-number)
8909 ("tk" ,tk)))
8910 (arguments
8911 `(#:phases (modify-phases %standard-phases
8912 (add-after 'unpack 'fix-paths
8913 (lambda* (#:key inputs #:allow-other-keys)
8914 (substitute* "src/wish-communication.lisp"
8915 (("#-freebsd \"wish\"")
8916 (string-append "#-freebsd \""
8917 (assoc-ref inputs "tk")
8918 "/bin/wish\"")))
8919 #t)))))
8920 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
8921 (description
8922 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
8923 toolkit. It also provides a few additional widgets more than the standard Tk
8924 ones.")
8925 (home-page "https://www.autistici.org/interzona/nodgui.html")
8926 (license license:llgpl))))
8927
8928 (define-public cl-nodgui
8929 (sbcl-package->cl-source-package sbcl-nodgui))
8930
8931 (define-public ecl-nodgui
8932 (sbcl-package->ecl-package sbcl-nodgui))
8933
8934 (define-public sbcl-salza2
8935 (package
8936 (name "sbcl-salza2")
8937 (version "2.0.9")
8938 (source
8939 (origin
8940 (method git-fetch)
8941 (uri (git-reference
8942 (url "https://github.com/xach/salza2")
8943 (commit (string-append "release-" version))))
8944 (file-name (git-file-name name version))
8945 (sha256
8946 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
8947 (build-system asdf-build-system/sbcl)
8948 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
8949 (description
8950 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
8951 deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
8952 respectively.")
8953 (home-page "https://www.xach.com/lisp/salza2/")
8954 (license license:bsd-2)))
8955
8956 (define-public cl-salza2
8957 (sbcl-package->cl-source-package sbcl-salza2))
8958
8959 (define-public ecl-salza2
8960 (sbcl-package->ecl-package sbcl-salza2))
8961
8962 (define-public sbcl-origin
8963 (let ((commit "d646134302456408d6d43580bb05299f1695ab8e")
8964 (revision "1"))
8965 (package
8966 (name "sbcl-origin")
8967 (version (git-version "2.0.0" revision commit))
8968 (source
8969 (origin
8970 (method git-fetch)
8971 (uri (git-reference
8972 (url "https://git.mfiano.net/mfiano/origin")
8973 (commit commit)))
8974 (file-name (git-file-name "origin" version))
8975 (sha256
8976 (base32 "1n9aszaif3yh8prs5r8v51fbj4r5jd1a048mivd5yij3hplkm82b"))))
8977 (build-system asdf-build-system/sbcl)
8978 (native-inputs
8979 `(("parachute" ,sbcl-parachute)))
8980 (inputs
8981 `(("golden-utils" ,sbcl-golden-utils)
8982 ("specialization-store" ,sbcl-specialization-store)))
8983 (home-page "https://git.mfiano.net/mfiano/origin")
8984 (synopsis "Common Lisp graphics math library")
8985 (description
8986 "This is a native Common Lisp graphics math library with an emphasis on
8987 performance and correctness.")
8988 (license license:expat))))
8989
8990 (define-public ecl-origin
8991 (sbcl-package->ecl-package sbcl-origin))
8992
8993 (define-public cl-origin
8994 (sbcl-package->cl-source-package sbcl-origin))
8995
8996 (define-public sbcl-png-read
8997 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
8998 (revision "1"))
8999 (package
9000 (name "sbcl-png-read")
9001 (version (git-version "0.3.1" revision commit))
9002 (source
9003 (origin
9004 (method git-fetch)
9005 (uri (git-reference
9006 (url "https://github.com/Ramarren/png-read")
9007 (commit commit)))
9008 (file-name (git-file-name name version))
9009 (sha256
9010 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
9011 (build-system asdf-build-system/sbcl)
9012 (inputs
9013 `(("babel" ,sbcl-babel)
9014 ("chipz" ,sbcl-chipz)
9015 ("iterate" ,sbcl-iterate)))
9016 (synopsis "PNG decoder for Common Lisp")
9017 (description "This is a Common Lisp library for reading PNG images.")
9018 (home-page "https://github.com/Ramarren/png-read")
9019 (license license:bsd-3))))
9020
9021 (define-public cl-png-read
9022 (sbcl-package->cl-source-package sbcl-png-read))
9023
9024 (define-public ecl-png-read
9025 (sbcl-package->ecl-package sbcl-png-read))
9026
9027 (define-public sbcl-3b-bmfont
9028 (let ((commit "d1b5bec0de580c2d08ec947a93c56b1400f2a37a")
9029 (revision "1"))
9030 (package
9031 (name "sbcl-3b-bmfont")
9032 (version (git-version "0.0.1" revision commit))
9033 (source
9034 (origin
9035 (method git-fetch)
9036 (uri (git-reference
9037 (url "https://github.com/3b/3b-bmfont/")
9038 (commit commit)))
9039 (file-name (git-file-name "3b-bmfont" version))
9040 (sha256
9041 (base32 "12sgf7m0h6fqzhvkas7vmci6mprj3j3fnz778jlbqbsydln6v2yc"))))
9042 (build-system asdf-build-system/sbcl)
9043 (arguments
9044 `(#:asd-systems
9045 '("3b-bmfont"
9046 "3b-bmfont/text"
9047 "3b-bmfont/common"
9048 "3b-bmfont/xml"
9049 "3b-bmfont/json")))
9050 (inputs
9051 `(("alexandria" ,sbcl-alexandria)
9052 ("cxml" ,sbcl-cxml)
9053 ("flexi-streams" ,sbcl-flexi-streams)
9054 ("jsown" ,sbcl-jsown)
9055 ("split-sequence" ,sbcl-split-sequence)))
9056 (home-page "https://github.com/3b/3b-bmfont/")
9057 (synopsis "Read/write bmfont metadata files")
9058 (description
9059 "This is a Common Lisp library which provides functionality to
9060 read/write Bit Map Font (BMF) into text, JSON and XML.")
9061 (license license:expat))))
9062
9063 (define-public ecl-3b-bmfont
9064 (sbcl-package->ecl-package sbcl-3b-bmfont))
9065
9066 (define-public cl-3b-bmfont
9067 (sbcl-package->cl-source-package sbcl-3b-bmfont))
9068
9069 (define-public sbcl-zpng
9070 (package
9071 (name "sbcl-zpng")
9072 (version "1.2.2")
9073 (source
9074 (origin
9075 (method git-fetch)
9076 (uri (git-reference
9077 (url "https://github.com/xach/zpng")
9078 (commit (string-append "release-" version))))
9079 (file-name (git-file-name name version))
9080 (sha256
9081 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
9082 (build-system asdf-build-system/sbcl)
9083 (inputs
9084 `(("salza2" ,sbcl-salza2)))
9085 (synopsis "PNG encoder for Common Lisp")
9086 (description "This is a Common Lisp library for creating PNG images.")
9087 (home-page "https://www.xach.com/lisp/zpng/")
9088 (license license:bsd-2)))
9089
9090 (define-public cl-zpng
9091 (sbcl-package->cl-source-package sbcl-zpng))
9092
9093 (define-public ecl-zpng
9094 (sbcl-package->ecl-package sbcl-zpng))
9095
9096 (define-public sbcl-cl-qrencode
9097 (package
9098 (name "sbcl-cl-qrencode")
9099 (version "0.1.2")
9100 (source
9101 (origin
9102 (method git-fetch)
9103 (uri (git-reference
9104 (url "https://github.com/jnjcc/cl-qrencode")
9105 (commit (string-append "v" version))))
9106 (file-name (git-file-name name version))
9107 (sha256
9108 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
9109 (build-system asdf-build-system/sbcl)
9110 (native-inputs
9111 `(("lisp-unit" ,sbcl-lisp-unit)))
9112 (inputs
9113 `(("zpng" ,sbcl-zpng)))
9114 (synopsis "QR code encoder for Common Lisp")
9115 (description
9116 "This Common Lisp library provides function to make QR codes and to save
9117 them as PNG files.")
9118 (home-page "https://github.com/jnjcc/cl-qrencode")
9119 (license license:gpl2+)))
9120
9121 (define-public cl-qrencode
9122 (sbcl-package->cl-source-package sbcl-cl-qrencode))
9123
9124 (define-public ecl-cl-qrencode
9125 (sbcl-package->ecl-package sbcl-cl-qrencode))
9126
9127 (define-public sbcl-hdf5-cffi
9128 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
9129 (revision "1"))
9130 (package
9131 (name "sbcl-hdf5-cffi")
9132 (version (git-version "1.8.18" revision commit))
9133 (source
9134 (origin
9135 (method git-fetch)
9136 (uri (git-reference
9137 (url "https://github.com/hdfgroup/hdf5-cffi")
9138 (commit commit)))
9139 (file-name (git-file-name name version))
9140 (sha256
9141 (base32
9142 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
9143 (build-system asdf-build-system/sbcl)
9144 (synopsis "Common Lisp bindings for the HDF5 library")
9145 (description
9146 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
9147 (home-page "https://github.com/hdfgroup/hdf5-cffi")
9148 (license (license:non-copyleft
9149 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
9150 commit
9151 "/LICENSE")))
9152 (inputs
9153 `(("cffi" ,sbcl-cffi)
9154 ("hdf5" ,hdf5-1.10)))
9155 (native-inputs
9156 `(("fiveam" ,sbcl-fiveam)))
9157 (arguments
9158 `(#:test-asd-file "hdf5-cffi.test.asd"
9159 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
9160 ;; I don't know if there is a way to tell asdf-build-system to load
9161 ;; an additional system first, so tests are disabled.
9162 #:tests? #f
9163 #:phases
9164 (modify-phases %standard-phases
9165 (add-after 'unpack 'fix-paths
9166 (lambda* (#:key inputs #:allow-other-keys)
9167 (substitute* "src/library.lisp"
9168 (("libhdf5.so")
9169 (string-append
9170 (assoc-ref inputs "hdf5")
9171 "/lib/libhdf5.so")))))
9172 (add-after 'unpack 'fix-dependencies
9173 (lambda* (#:key inputs #:allow-other-keys)
9174 (substitute* "hdf5-cffi.asd"
9175 ((":depends-on \\(:cffi\\)")
9176 ":depends-on (:cffi :cffi-grovel)"))
9177 (substitute* "hdf5-cffi.test.asd"
9178 ((":depends-on \\(:cffi :hdf5-cffi")
9179 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
9180
9181 (define-public cl-hdf5-cffi
9182 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
9183
9184 (define-public ecl-hdf5-cffi
9185 (sbcl-package->ecl-package sbcl-hdf5-cffi))
9186
9187 (define-public sbcl-cl-randist
9188 (package
9189 (name "sbcl-cl-randist")
9190 (version "0.4.2")
9191 (source
9192 (origin
9193 (method git-fetch)
9194 (uri (git-reference
9195 (url "https://github.com/lvaruzza/cl-randist")
9196 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
9197 (file-name (git-file-name name version))
9198 (sha256
9199 (base32
9200 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
9201 (build-system asdf-build-system/sbcl)
9202 (synopsis "Random distributions for Common Lisp")
9203 (description
9204 "Manual translation from C to Common Lisp of some random number
9205 generation functions from the GSL library.")
9206 (home-page "https://github.com/lvaruzza/cl-randist")
9207 (license license:bsd-2)
9208 (arguments
9209 `(#:tests? #f))))
9210
9211 (define-public cl-randist
9212 (sbcl-package->cl-source-package sbcl-cl-randist))
9213
9214 (define-public ecl-cl-randist
9215 (sbcl-package->ecl-package sbcl-cl-randist))
9216
9217 (define-public sbcl-float-features
9218 (package
9219 (name "sbcl-float-features")
9220 (version "1.0.0")
9221 (source
9222 (origin
9223 (method git-fetch)
9224 (uri (git-reference
9225 (url "https://github.com/Shinmera/float-features")
9226 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
9227 (file-name (git-file-name name version))
9228 (sha256
9229 (base32
9230 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
9231 (build-system asdf-build-system/sbcl)
9232 (synopsis "Common Lisp IEEE float portability library")
9233 (description
9234 "Portability library for IEEE float features that are not
9235 covered by the Common Lisp standard.")
9236 (home-page "https://github.com/Shinmera/float-features")
9237 (license license:zlib)
9238 (inputs
9239 `(("documentation-utils" ,sbcl-documentation-utils)))
9240 (arguments
9241 `(#:tests? #f))))
9242
9243 (define-public cl-float-features
9244 (sbcl-package->cl-source-package sbcl-float-features))
9245
9246 (define-public ecl-float-features
9247 (sbcl-package->ecl-package sbcl-float-features))
9248
9249 (define-public sbcl-function-cache
9250 (package
9251 (name "sbcl-function-cache")
9252 (version "1.0.3")
9253 (source
9254 (origin
9255 (method git-fetch)
9256 (uri (git-reference
9257 (url "https://github.com/AccelerationNet/function-cache")
9258 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
9259 (file-name (git-file-name name version))
9260 (sha256
9261 (base32
9262 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
9263 (build-system asdf-build-system/sbcl)
9264 (synopsis "Function caching / memoization library for Common Lisp")
9265 (description
9266 "A common lisp library that provides extensible function result
9267 caching based on arguments (an expanded form of memoization).")
9268 (home-page "https://github.com/AccelerationNet/function-cache")
9269 (license
9270 (license:non-copyleft
9271 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
9272 (inputs
9273 `(("alexandria" ,sbcl-alexandria)
9274 ("cl-interpol" ,sbcl-cl-interpol)
9275 ("iterate" ,sbcl-iterate)
9276 ("symbol-munger" ,sbcl-symbol-munger)
9277 ("closer-mop" ,sbcl-closer-mop)))
9278 (arguments
9279 `(#:tests? #f))))
9280
9281 (define-public cl-function-cache
9282 (sbcl-package->cl-source-package sbcl-function-cache))
9283
9284 (define-public ecl-function-cache
9285 (sbcl-package->ecl-package sbcl-function-cache))
9286
9287 (define-public sbcl-type-r
9288 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
9289 (revision "1"))
9290 (package
9291 (name "sbcl-type-r")
9292 (version (git-version "0.0.0" revision commit))
9293 (source
9294 (origin
9295 (method git-fetch)
9296 (uri (git-reference
9297 (url "https://github.com/guicho271828/type-r")
9298 (commit commit)))
9299 (file-name (git-file-name name version))
9300 (sha256
9301 (base32
9302 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
9303 (build-system asdf-build-system/sbcl)
9304 (synopsis "Parser interface for Common Lisp built-in compound types")
9305 (description
9306 "Collections of accessor functions and patterns to access
9307 the elements in compound type specifier, e.g. @code{dimensions} in
9308 @code{(array element-type dimensions)}")
9309 (home-page "https://github.com/guicho271828/type-r")
9310 (license license:lgpl3+)
9311 (inputs
9312 `(("trivia" ,sbcl-trivia)
9313 ("alexandria" ,sbcl-alexandria)))
9314 (native-inputs
9315 `(("fiveam" ,sbcl-fiveam)))
9316 (arguments
9317 `(#:test-asd-file "type-r.test.asd")))))
9318
9319 (define-public cl-type-r
9320 (sbcl-package->cl-source-package sbcl-type-r))
9321
9322 (define-public ecl-type-r
9323 (sbcl-package->ecl-package sbcl-type-r))
9324
9325 (define-public sbcl-trivialib-type-unify
9326 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
9327 (revision "1"))
9328 (package
9329 (name "sbcl-trivialib-type-unify")
9330 (version (git-version "0.1" revision commit))
9331 (source
9332 (origin
9333 (method git-fetch)
9334 (uri (git-reference
9335 (url "https://github.com/guicho271828/trivialib.type-unify")
9336 (commit commit)))
9337 (file-name (git-file-name name version))
9338 (sha256
9339 (base32
9340 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
9341 (build-system asdf-build-system/sbcl)
9342 (synopsis "Common Lisp type unification")
9343 (description
9344 "Unifies a parametrized type specifier against an actual type specifier.
9345 Importantly, it handles complicated array-subtypes and number-related types
9346 correctly.")
9347 (home-page "https://github.com/guicho271828/trivialib.type-unify")
9348 (license license:lgpl3+)
9349 (inputs
9350 `(("alexandria" ,sbcl-alexandria)
9351 ("trivia" ,sbcl-trivia)
9352 ("introspect-environment" ,sbcl-introspect-environment)
9353 ("type-r" ,sbcl-type-r)))
9354 (native-inputs
9355 `(("fiveam" ,sbcl-fiveam)))
9356 (arguments
9357 `(#:asd-systems '("trivialib.type-unify")
9358 #:test-asd-file "trivialib.type-unify.test.asd")))))
9359
9360 (define-public cl-trivialib-type-unify
9361 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
9362
9363 (define-public ecl-trivialib-type-unify
9364 (sbcl-package->ecl-package sbcl-trivialib-type-unify))
9365
9366 (define-public sbcl-specialized-function
9367 (let ((commit "dee56d2d2b6ecd10500ad291c56217698604ec35")
9368 (revision "2"))
9369 (package
9370 (name "sbcl-specialized-function")
9371 (version (git-version "0.0.0" revision commit))
9372 (source
9373 (origin
9374 (method git-fetch)
9375 (uri (git-reference
9376 (url "https://github.com/numcl/specialized-function")
9377 (commit commit)))
9378 (file-name (git-file-name name version))
9379 (sha256
9380 (base32 "1mcc7mmpbnmgnr1cl2jl5r1ai54gn7fbisv2c14sh9za5w4sib82"))))
9381 (build-system asdf-build-system/sbcl)
9382 (synopsis "Julia-like dispatch for Common Lisp")
9383 (description
9384 "This library is part of NUMCL. It provides a macro
9385 @code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
9386 lazily compiling a type-specific version of the function from the same
9387 code. The main target of this macro is speed.")
9388 (home-page "https://github.com/numcl/specialized-function")
9389 (license license:lgpl3+)
9390 (inputs
9391 `(("trivia" ,sbcl-trivia)
9392 ("alexandria" ,sbcl-alexandria)
9393 ("iterate" ,sbcl-iterate)
9394 ("lisp-namespace" ,sbcl-lisp-namespace)
9395 ("type-r" ,sbcl-type-r)
9396 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
9397 (native-inputs
9398 `(("fiveam" ,sbcl-fiveam)))
9399 (arguments
9400 `(#:asd-files '("specialized-function.asd")
9401 #:test-asd-file "specialized-function.test.asd"
9402 ;; Tests fail because they try to use an internal symbol of SBCL
9403 ;; that does not exists in recent versions:
9404 ;; "The variable SB-VM:COMPLEX-VECTOR-NIL-WIDETAG is unbound."
9405 #:tests? #f)))))
9406
9407 (define-public cl-specialized-function
9408 (sbcl-package->cl-source-package sbcl-specialized-function))
9409
9410 (define-public ecl-specialized-function
9411 (sbcl-package->ecl-package sbcl-specialized-function))
9412
9413 (define-public sbcl-constantfold
9414 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
9415 (revision "1"))
9416 (package
9417 (name "sbcl-constantfold")
9418 (version (git-version "0.1" revision commit))
9419 (source
9420 (origin
9421 (method git-fetch)
9422 (uri (git-reference
9423 (url "https://github.com/numcl/constantfold")
9424 (commit commit)))
9425 (file-name (git-file-name name version))
9426 (sha256
9427 (base32
9428 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
9429 (build-system asdf-build-system/sbcl)
9430 (synopsis "Support library for numcl")
9431 (description
9432 "Support library for numcl. Registers a function as an
9433 additional form that is considered as a candidate for a constant.")
9434 (home-page "https://github.com/numcl/constantfold")
9435 (license license:lgpl3+)
9436 (inputs
9437 `(("trivia" ,sbcl-trivia)
9438 ("alexandria" ,sbcl-alexandria)
9439 ("iterate" ,sbcl-iterate)
9440 ("lisp-namespace" ,sbcl-lisp-namespace)))
9441 (native-inputs
9442 `(("fiveam" ,sbcl-fiveam)))
9443 (arguments
9444 `(#:asd-files '("constantfold.asd")
9445 #:test-asd-file "constantfold.test.asd")))))
9446
9447 (define-public cl-constantfold
9448 (sbcl-package->cl-source-package sbcl-constantfold))
9449
9450 (define-public ecl-constantfold
9451 (sbcl-package->ecl-package sbcl-constantfold))
9452
9453 (define-public sbcl-gtype
9454 (let ((commit "2442e32485635525af278ebd8fa69a27d5b8cf18")
9455 (revision "2"))
9456 (package
9457 (name "sbcl-gtype")
9458 (version (git-version "0.1" revision commit))
9459 (source
9460 (origin
9461 (method git-fetch)
9462 (uri (git-reference
9463 (url "https://github.com/numcl/gtype")
9464 (commit commit)))
9465 (file-name (git-file-name name version))
9466 (sha256
9467 (base32 "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h"))))
9468 (build-system asdf-build-system/sbcl)
9469 (synopsis "C++/Julia-like parametric types in Common Lisp")
9470 (description
9471 "Support library for numcl that provides Julia-like runtime parametric
9472 type correctness in Common Lisp. It is based on CLtL2 extensions.")
9473 (home-page "https://github.com/numcl/gtype")
9474 (license license:lgpl3+)
9475 (inputs
9476 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
9477 ("trivial-cltl2" ,sbcl-trivial-cltl2)
9478 ("trivia" ,sbcl-trivia)
9479 ("alexandria" ,sbcl-alexandria)
9480 ("iterate" ,sbcl-iterate)
9481 ("type-r" ,sbcl-type-r)))
9482 (native-inputs
9483 `(("fiveam" ,sbcl-fiveam)))
9484 (arguments
9485 `(#:asd-files '("gtype.asd")
9486 #:test-asd-file "gtype.test.asd")))))
9487
9488 (define-public cl-gtype
9489 (sbcl-package->cl-source-package sbcl-gtype))
9490
9491 (define-public ecl-gtype
9492 (let ((pkg (sbcl-package->ecl-package sbcl-gtype)))
9493 (package
9494 (inherit pkg)
9495 (arguments
9496 (substitute-keyword-arguments (package-arguments pkg)
9497 ;; The tests fail on ECL with a COMPILE-FILE-ERROR for t/package.lisp.
9498 ((#:tests? _ #f) #f))))))
9499
9500 (define-public sbcl-numcl
9501 (let ((commit "3e8d40bf774e070e7af1d3dbf01bc8c37dbebd3a")
9502 (revision "2"))
9503 (package
9504 (name "sbcl-numcl")
9505 (version (git-version "0.1.0" revision commit))
9506 (source
9507 (origin
9508 (method git-fetch)
9509 (uri (git-reference
9510 (url "https://github.com/numcl/numcl")
9511 (commit commit)))
9512 (file-name (git-file-name name version))
9513 (sha256
9514 (base32 "1hqpr68f6xkxaj1hjjayyh97wcdmj51k20qrd3nsv1rcpmdc5ll4"))))
9515 (build-system asdf-build-system/sbcl)
9516 (synopsis "Numpy clone in Common Lisp")
9517 (description
9518 "This is a Numpy clone in Common Lisp. At the moment the
9519 library is written in pure Common Lisp, focusing more on correctness
9520 and usefulness, not speed. Track the progress at
9521 @url{https://github.com/numcl/numcl/projects/1}.")
9522 (home-page "https://github.com/numcl/numcl")
9523 (license license:lgpl3+)
9524 (inputs
9525 `(("trivia" ,sbcl-trivia)
9526 ("alexandria" ,sbcl-alexandria)
9527 ("iterate" ,sbcl-iterate)
9528 ("lisp-namespace" ,sbcl-lisp-namespace)
9529 ("type-r" ,sbcl-type-r)
9530 ("constantfold" ,sbcl-constantfold)
9531 ("cl-randist" ,sbcl-cl-randist)
9532 ("float-features" ,sbcl-float-features)
9533 ("function-cache" ,sbcl-function-cache)
9534 ("specialized-function" ,sbcl-specialized-function)
9535 ("gtype" ,sbcl-gtype)))
9536 (native-inputs
9537 `(("fiveam" ,sbcl-fiveam)))
9538 (arguments
9539 `(#:asd-files '("numcl.asd")
9540 #:test-asd-file "numcl.test.asd"
9541 ;; Tests fail on SBCL with "Heap exhausted, game over",
9542 ;; but they pass on ECL.
9543 #:tests? #f)))))
9544
9545 (define-public cl-numcl
9546 (sbcl-package->cl-source-package sbcl-numcl))
9547
9548 (define-public ecl-numcl
9549 (let ((pkg (sbcl-package->ecl-package sbcl-numcl)))
9550 (package
9551 (inherit pkg)
9552 (arguments
9553 (substitute-keyword-arguments (package-arguments pkg)
9554 ((#:tests? _ #f) #t))))))
9555
9556 (define-public sbcl-pzmq
9557 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
9558 (revision "1"))
9559 (package
9560 (name "sbcl-pzmq")
9561 (version (git-version "0.0.0" revision commit))
9562 (source
9563 (origin
9564 (method git-fetch)
9565 (uri (git-reference
9566 (url "https://github.com/orivej/pzmq")
9567 (commit commit)))
9568 (file-name (git-file-name name version))
9569 (sha256
9570 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
9571 (build-system asdf-build-system/sbcl)
9572 (native-inputs
9573 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9574 ("fiveam" ,sbcl-fiveam)
9575 ("let-plus" ,sbcl-let-plus)))
9576 (inputs
9577 `(("cffi" ,sbcl-cffi)
9578 ("zeromq" ,zeromq)))
9579 (arguments
9580 `(#:phases (modify-phases %standard-phases
9581 (add-after 'unpack 'fix-paths
9582 (lambda* (#:key inputs #:allow-other-keys)
9583 (substitute* "c-api.lisp"
9584 (("\"libzmq")
9585 (string-append "\""
9586 (assoc-ref inputs "zeromq")
9587 "/lib/libzmq")))
9588 #t)))))
9589 (synopsis "Common Lisp bindings for the ZeroMQ library")
9590 (description "This Common Lisp library provides bindings for the ZeroMQ
9591 lightweight messaging kernel.")
9592 (home-page "https://github.com/orivej/pzmq")
9593 (license license:unlicense))))
9594
9595 (define-public cl-pzmq
9596 (sbcl-package->cl-source-package sbcl-pzmq))
9597
9598 (define-public ecl-pzmq
9599 (sbcl-package->ecl-package sbcl-pzmq))
9600
9601 (define-public sbcl-clss
9602 (let ((revision "1")
9603 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
9604 (package
9605 (name "sbcl-clss")
9606 (version (git-version "0.3.1" revision commit))
9607 (source
9608 (origin
9609 (method git-fetch)
9610 (uri
9611 (git-reference
9612 (url "https://github.com/Shinmera/clss")
9613 (commit commit)))
9614 (sha256
9615 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
9616 (file-name (git-file-name name version))))
9617 (inputs
9618 `(("array-utils" ,sbcl-array-utils)
9619 ("plump" ,sbcl-plump)))
9620 (build-system asdf-build-system/sbcl)
9621 (synopsis "DOM tree searching engine based on CSS selectors")
9622 (description "CLSS is a DOM traversal engine based on CSS
9623 selectors. It makes use of the Plump-DOM and is used by lQuery.")
9624 (home-page "https://github.com/Shinmera/clss")
9625 (license license:zlib))))
9626
9627 (define-public cl-clss
9628 (sbcl-package->cl-source-package sbcl-clss))
9629
9630 (define-public ecl-clss
9631 (sbcl-package->ecl-package sbcl-clss))
9632
9633 (define-public sbcl-lquery
9634 (let ((revision "1")
9635 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
9636 (package
9637 (name "sbcl-lquery")
9638 (version (git-version "3.2.1" revision commit))
9639 (source
9640 (origin
9641 (method git-fetch)
9642 (uri
9643 (git-reference
9644 (url "https://github.com/Shinmera/lquery")
9645 (commit commit)))
9646 (sha256
9647 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
9648 (file-name (git-file-name name version))))
9649 (native-inputs
9650 `(("fiveam" ,sbcl-fiveam)))
9651 (inputs
9652 `(("array-utils" ,sbcl-array-utils)
9653 ("form-fiddle" ,sbcl-form-fiddle)
9654 ("plump" ,sbcl-plump)
9655 ("clss" ,sbcl-clss)))
9656 (build-system asdf-build-system/sbcl)
9657 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
9658 (description "@code{lQuery} is a DOM manipulation library written in
9659 Common Lisp, inspired by and based on the jQuery syntax and
9660 functions. It uses Plump and CLSS as DOM and selector engines. The
9661 main idea behind lQuery is to provide a simple interface for crawling
9662 and modifying HTML sites, as well as to allow for an alternative
9663 approach to templating.")
9664 (home-page "https://github.com/Shinmera/lquery")
9665 (license license:zlib))))
9666
9667 (define-public cl-lquery
9668 (sbcl-package->cl-source-package sbcl-lquery))
9669
9670 (define-public ecl-lquery
9671 (sbcl-package->ecl-package sbcl-lquery))
9672
9673 (define-public sbcl-cl-mysql
9674 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
9675 (revision "1"))
9676 (package
9677 (name "sbcl-cl-mysql")
9678 (version (git-version "0.1" revision commit))
9679 (source
9680 (origin
9681 (method git-fetch)
9682 (uri (git-reference
9683 (url "https://github.com/hackinghat/cl-mysql")
9684 (commit commit)))
9685 (file-name (git-file-name name version))
9686 (sha256
9687 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
9688 (build-system asdf-build-system/sbcl)
9689 (native-inputs
9690 `(("stefil" ,sbcl-stefil)))
9691 (inputs
9692 `(("cffi" ,sbcl-cffi)
9693 ("mariadb-lib" ,mariadb "lib")))
9694 (arguments
9695 `(#:tests? #f ; TODO: Tests require a running server
9696 #:phases
9697 (modify-phases %standard-phases
9698 (add-after 'unpack 'fix-paths
9699 (lambda* (#:key inputs #:allow-other-keys)
9700 (substitute* "system.lisp"
9701 (("libmysqlclient_r" all)
9702 (string-append (assoc-ref inputs "mariadb-lib")
9703 "/lib/"
9704 all)))
9705 #t)))))
9706 (synopsis "Common Lisp wrapper for MySQL")
9707 (description
9708 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
9709 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
9710 (license license:expat))))
9711
9712 (define-public cl-mysql
9713 (sbcl-package->cl-source-package sbcl-cl-mysql))
9714
9715 (define-public ecl-cl-mysql
9716 (sbcl-package->ecl-package sbcl-cl-mysql))
9717
9718 (define-public sbcl-postmodern
9719 (package
9720 (name "sbcl-postmodern")
9721 (version "1.32.8")
9722 (source
9723 (origin
9724 (method git-fetch)
9725 (uri (git-reference
9726 (url "https://github.com/marijnh/Postmodern")
9727 (commit (string-append "v" version))))
9728 (file-name (git-file-name name version))
9729 (sha256
9730 (base32 "0vr5inbr8dldf6dsl0qj3h2yrnnsayzfwxfzwkn1pk7xbns2l78q"))))
9731 (build-system asdf-build-system/sbcl)
9732 (native-inputs
9733 `(("fiveam" ,sbcl-fiveam)))
9734 (inputs
9735 `(("alexandria" ,sbcl-alexandria)
9736 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9737 ("cl-base64" ,sbcl-cl-base64)
9738 ("cl-unicode" ,sbcl-cl-unicode)
9739 ("closer-mop" ,sbcl-closer-mop)
9740 ("global-vars" ,sbcl-global-vars)
9741 ("ironclad" ,sbcl-ironclad)
9742 ("local-time" ,sbcl-local-time)
9743 ("md5" ,sbcl-md5)
9744 ("split-sequence" ,sbcl-split-sequence)
9745 ("uax-15" ,sbcl-uax-15)
9746 ("usocket" ,sbcl-usocket)))
9747 (arguments
9748 ;; TODO: (Sharlatan-20210114T171037+0000) tests still failing but on other
9749 ;; step, some functionality in `local-time' prevents passing tests.
9750 ;; Error:
9751 ;;
9752 ;; Can't create directory
9753 ;; /gnu/store
9754 ;; /4f47agf1kyiz057ppy6x5p98i7mcbfsv-sbcl-local-time-1.0.6-2.a177eb9
9755 ;; /lib/common-lisp/sbcl/local-time/src/integration/
9756 ;;
9757 ;; NOTE: (Sharlatan-20210124T191940+0000): When set env HOME to /tmp above
9758 ;; issue is resolved but it required live test database to connect to now.
9759 ;; Keep tests switched off.
9760 `(#:tests? #f
9761 #:asd-systems '("cl-postgres"
9762 "s-sql"
9763 "postmodern"
9764 "simple-date"
9765 "simple-date/postgres-glue")))
9766 (synopsis "Common Lisp library for interacting with PostgreSQL")
9767 (description
9768 "@code{postmodern} is a Common Lisp library for interacting with
9769 PostgreSQL databases. It provides the following features:
9770
9771 @itemize
9772 @item Efficient communication with the database server without need for
9773 foreign libraries.
9774 @item Support for UTF-8 on Unicode-aware Lisp implementations.
9775 @item A syntax for mixing SQL and Lisp code.
9776 @item Convenient support for prepared statements and stored procedures.
9777 @item A metaclass for simple database-access objects.
9778 @end itemize\n
9779
9780 This package produces 4 systems: postmodern, cl-postgres, s-sql, simple-date
9781
9782 @code{SIMPLE-DATE} is a very basic implementation of date and time objects, used
9783 to support storing and retrieving time-related SQL types. It is not loaded by
9784 default and you can use local-time (which has support for timezones) instead.
9785
9786 @code{S-SQL} is used to compile s-expressions to strings of SQL code, escaping
9787 any Lisp values inside, and doing as much as possible of the work at compile
9788 time.
9789
9790 @code{CL-POSTGRES} is the low-level library used for interfacing with a PostgreSQL
9791 server over a socket.
9792
9793 @code{POSTMODERN} itself is a wrapper around these packages and provides higher
9794 level functions, a very simple data access object that can be mapped directly to
9795 database tables and some convient utilities. It then tries to put all these
9796 things together into a convenient programming interface")
9797 (home-page "https://marijnhaverbeke.nl/postmodern/")
9798 (license license:zlib)))
9799
9800 (define-public cl-postmodern
9801 (sbcl-package->cl-source-package sbcl-postmodern))
9802
9803 (define-public ecl-postmodern
9804 (package
9805 (inherit (sbcl-package->ecl-package sbcl-postmodern))
9806 (arguments
9807 `(#:tests? #f
9808 #:asd-systems '("cl-postgres"
9809 "s-sql"
9810 "postmodern"
9811 "simple-date"
9812 "simple-date/postgres-glue")
9813 #:phases
9814 (modify-phases %standard-phases
9815 (add-after 'unpack 'fix-build
9816 (lambda _
9817 (substitute* "cl-postgres.asd"
9818 ((":or :sbcl :allegro :ccl :clisp" all)
9819 (string-append all " :ecl")))
9820 #t)))))))
9821
9822 (define-public sbcl-db3
9823 (let ((commit "38e5ad35f025769fb7f8dcdc6e56df3e8efd8e6d")
9824 (revision "1"))
9825 (package
9826 (name "sbcl-db3")
9827 (version (git-version "0.0.0" revision commit))
9828 (source
9829 (origin
9830 (method git-fetch)
9831 (uri (git-reference
9832 (url "https://github.com/dimitri/cl-db3")
9833 (commit commit)))
9834 (file-name (git-file-name "cl-db3" version))
9835 (sha256
9836 (base32 "1i7j0mlri6kbklcx1lsm464s8kmyhhij5c4xh4aybrw8m4ixn1s5"))))
9837 (build-system asdf-build-system/sbcl)
9838 (home-page "https://github.com/dimitri/cl-db3")
9839 (synopsis "Common Lisp library to read dBase III database files")
9840 (description
9841 "This is a Common Lisp library for processing data found in dBase III
9842 database files (dbf and db3 files).")
9843 (license license:public-domain))))
9844
9845 (define-public ecl-db3
9846 (sbcl-package->ecl-package sbcl-db3))
9847
9848 (define-public cl-db3
9849 (sbcl-package->cl-source-package sbcl-db3))
9850
9851 (define-public sbcl-dbi
9852 ;; Master includes a breaking change which other packages depend on since
9853 ;; Quicklisp decided to follow it:
9854 ;; https://github.com/fukamachi/cl-dbi/commit/31c46869722f77fd5292a81b5b101f1347d7fce1
9855 (let ((commit "31c46869722f77fd5292a81b5b101f1347d7fce1"))
9856 (package
9857 (name "sbcl-dbi")
9858 (version (git-version "0.9.4" "1" commit))
9859 (source
9860 (origin
9861 (method git-fetch)
9862 (uri (git-reference
9863 (url "https://github.com/fukamachi/cl-dbi")
9864 (commit commit)))
9865 (file-name (git-file-name name version))
9866 (sha256
9867 (base32 "0r3n4rw12qqxad0cryym2ibm4ddl49gbq4ra227afibsr43nw5k3"))))
9868 (build-system asdf-build-system/sbcl)
9869 (native-inputs
9870 `(("rove" ,sbcl-rove)
9871 ("trivial-types" ,sbcl-trivial-types)))
9872 (inputs
9873 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9874 ("cl-mysql" ,sbcl-cl-mysql)
9875 ("cl-sqlite" ,sbcl-cl-sqlite)
9876 ("closer-mop" ,sbcl-closer-mop)
9877 ("postmodern" ,sbcl-postmodern)
9878 ("split-sequence" ,sbcl-split-sequence)
9879 ("trivial-garbage" ,sbcl-trivial-garbage)))
9880 (arguments
9881 `(#:asd-systems '("dbi"
9882 "dbd-mysql"
9883 "dbd-postgres"
9884 "dbd-sqlite3")))
9885 (synopsis "Database independent interface for Common Lisp")
9886 (description
9887 "@code{dbi} is a Common Lisp library providing a database independent
9888 interface for MySQL, PostgreSQL and SQLite.")
9889 (home-page "https://github.com/fukamachi/cl-dbi")
9890 (license license:llgpl))))
9891
9892 (define-public cl-dbi
9893 (sbcl-package->cl-source-package sbcl-dbi))
9894
9895 (define-public ecl-dbi
9896 (sbcl-package->ecl-package sbcl-dbi))
9897
9898 (define-public sbcl-uffi
9899 (package
9900 (name "sbcl-uffi")
9901 (version "2.1.2")
9902 (source
9903 (origin
9904 (method git-fetch)
9905 (uri (git-reference
9906 (url "http://git.kpe.io/uffi.git")
9907 (commit (string-append "v" version))))
9908 (file-name (git-file-name name version))
9909 (sha256
9910 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
9911 (build-system asdf-build-system/sbcl)
9912 (arguments
9913 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
9914 #:asd-files '("uffi.asd")
9915 #:phases
9916 (modify-phases %standard-phases
9917 (add-after 'unpack 'fix-permissions
9918 (lambda _
9919 (make-file-writable "doc/html.tar.gz")
9920 #t)))))
9921 (synopsis "Universal foreign function library for Common Lisp")
9922 (description
9923 "UFFI provides a universal foreign function interface (FFI)
9924 for Common Lisp.")
9925 (home-page "http://quickdocs.org/uffi/")
9926 (license license:llgpl)))
9927
9928 (define-public cl-uffi
9929 (package
9930 (inherit (sbcl-package->cl-source-package sbcl-uffi))
9931 (arguments
9932 `(#:phases
9933 ;; asdf-build-system/source has its own phases and does not inherit
9934 ;; from asdf-build-system/sbcl phases.
9935 (modify-phases %standard-phases/source
9936 ;; Already done in SBCL package.
9937 (delete 'reset-gzip-timestamps))))))
9938
9939 (define-public sbcl-clsql
9940 (package
9941 (name "sbcl-clsql")
9942 (version "6.7.0")
9943 (source
9944 (origin
9945 (method git-fetch)
9946 (uri (git-reference
9947 (url "http://git.kpe.io/clsql.git")
9948 (commit (string-append "v" version))))
9949 (file-name (git-file-name name version))
9950 (sha256
9951 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
9952 (snippet
9953 '(begin
9954 ;; Remove precompiled libraries.
9955 (delete-file "db-mysql/clsql_mysql.dll")
9956 (delete-file "uffi/clsql_uffi.dll")
9957 (delete-file "uffi/clsql_uffi.lib")
9958 #t))))
9959 (build-system asdf-build-system/sbcl)
9960 (native-inputs
9961 `(("rt" ,sbcl-rt)))
9962 (inputs
9963 `(("cffi" ,sbcl-cffi)
9964 ("md5" ,sbcl-md5)
9965 ("mysql" ,mysql)
9966 ("postgresql" ,postgresql)
9967 ("postmodern" ,sbcl-postmodern)
9968 ("sqlite" ,sqlite)
9969 ("uffi" ,sbcl-uffi)
9970 ("zlib" ,zlib)))
9971 (arguments
9972 `(#:asd-files '("clsql.asd"
9973 "clsql-uffi.asd"
9974 "clsql-sqlite3.asd"
9975 "clsql-postgresql.asd"
9976 "clsql-postgresql-socket3.asd"
9977 "clsql-mysql.asd")
9978 #:asd-systems '("clsql"
9979 "clsql-sqlite3"
9980 "clsql-postgresql"
9981 "clsql-postgresql-socket3"
9982 "clsql-mysql")
9983 #:phases
9984 (modify-phases %standard-phases
9985 (add-after 'unpack 'fix-permissions
9986 (lambda _
9987 (make-file-writable "doc/html.tar.gz")
9988 #t))
9989 (add-after 'unpack 'fix-build
9990 (lambda _
9991 (substitute* "clsql-uffi.asd"
9992 (("\\(:version uffi \"2.0\"\\)")
9993 "uffi"))
9994 (substitute* "db-postgresql/postgresql-api.lisp"
9995 (("\\(data :cstring\\)")
9996 "(data :string)"))
9997 #t))
9998 (add-after 'unpack 'fix-paths
9999 (lambda* (#:key inputs outputs #:allow-other-keys)
10000 (substitute* "db-sqlite3/sqlite3-loader.lisp"
10001 (("libsqlite3")
10002 (string-append (assoc-ref inputs "sqlite")
10003 "/lib/libsqlite3")))
10004 (substitute* "db-postgresql/postgresql-loader.lisp"
10005 (("libpq")
10006 (string-append (assoc-ref inputs "postgresql")
10007 "/lib/libpq")))
10008 (let ((lib (string-append "#p\""
10009 (assoc-ref outputs "out")
10010 "/lib/\"")))
10011 (substitute* "clsql-mysql.asd"
10012 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
10013 lib))
10014 (substitute* "db-mysql/mysql-loader.lisp"
10015 (("libmysqlclient" all)
10016 (string-append (assoc-ref inputs "mysql") "/lib/" all))
10017 (("clsql-mysql-system::\\*library-file-dir\\*")
10018 lib)))
10019 #t))
10020 (add-before 'build 'build-helper-library
10021 (lambda* (#:key inputs outputs #:allow-other-keys)
10022 (let* ((mysql (assoc-ref inputs "mysql"))
10023 (inc-dir (string-append mysql "/include/mysql"))
10024 (lib-dir (string-append mysql "/lib"))
10025 (shared-lib-dir (string-append (assoc-ref outputs "out")
10026 "/lib"))
10027 (shared-lib (string-append shared-lib-dir
10028 "/clsql_mysql.so")))
10029 (mkdir-p shared-lib-dir)
10030 (invoke "gcc" "-fPIC" "-shared"
10031 "-I" inc-dir
10032 "db-mysql/clsql_mysql.c"
10033 "-Wl,-soname=clsql_mysql"
10034 "-L" lib-dir "-lmysqlclient" "-lz"
10035 "-o" shared-lib)
10036 #t)))
10037 (add-after 'unpack 'fix-tests
10038 (lambda _
10039 (substitute* "clsql.asd"
10040 (("clsql-tests :force t")
10041 "clsql-tests"))
10042 #t)))))
10043 (synopsis "Common Lisp SQL Interface library")
10044 (description
10045 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
10046 Xanalys CommonSQL interface for Lispworks. It provides low-level database
10047 interfaces as well as a functional and an object oriented interface.")
10048 (home-page "http://clsql.kpe.io/")
10049 (license license:llgpl)))
10050
10051 (define-public cl-clsql
10052 (package
10053 (inherit (sbcl-package->cl-source-package sbcl-clsql))
10054 (native-inputs
10055 `(("rt" ,cl-rt)))
10056 (inputs
10057 `(("mysql" ,mysql)
10058 ("postgresql" ,postgresql)
10059 ("sqlite" ,sqlite)
10060 ("zlib" ,zlib)))
10061 (propagated-inputs
10062 `(("cffi" ,cl-cffi)
10063 ("md5" ,cl-md5)
10064 ("postmodern" ,cl-postmodern)
10065 ("uffi" ,cl-uffi)))
10066 (arguments
10067 `(#:phases
10068 ;; asdf-build-system/source has its own phases and does not inherit
10069 ;; from asdf-build-system/sbcl phases.
10070 (modify-phases %standard-phases/source
10071 (add-after 'unpack 'fix-permissions
10072 (lambda _
10073 (make-file-writable "doc/html.tar.gz")
10074 #t)))))))
10075
10076 (define-public ecl-clsql
10077 (let ((pkg (sbcl-package->ecl-package sbcl-clsql)))
10078 (package
10079 (inherit pkg)
10080 (inputs
10081 (alist-delete "uffi" (package-inputs pkg)))
10082 (arguments
10083 (substitute-keyword-arguments (package-arguments pkg)
10084 ((#:asd-files asd-files '())
10085 `(cons "clsql-cffi.asd" ,asd-files)))))))
10086
10087 (define-public sbcl-sycamore
10088 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
10089 (package
10090 (name "sbcl-sycamore")
10091 (version "0.0.20120604")
10092 (source
10093 (origin
10094 (method git-fetch)
10095 (uri (git-reference
10096 (url "https://github.com/ndantam/sycamore/")
10097 (commit commit)))
10098 (file-name (git-file-name name version))
10099 (sha256
10100 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
10101 (build-system asdf-build-system/sbcl)
10102 (inputs
10103 `(("alexandria" ,sbcl-alexandria)
10104 ("cl-ppcre" ,sbcl-cl-ppcre)))
10105 (synopsis "Purely functional data structure library in Common Lisp")
10106 (description
10107 "Sycamore is a fast, purely functional data structure library in Common Lisp.
10108 If features:
10109
10110 @itemize
10111 @item Fast, purely functional weight-balanced binary trees.
10112 @item Leaf nodes are simple-vectors, greatly reducing tree height.
10113 @item Interfaces for tree Sets and Maps (dictionaries).
10114 @item Ropes.
10115 @item Purely functional pairing heaps.
10116 @item Purely functional amortized queue.
10117 @end itemize\n")
10118 (home-page "http://ndantam.github.io/sycamore/")
10119 (license license:bsd-3))))
10120
10121 (define-public cl-sycamore
10122 (sbcl-package->cl-source-package sbcl-sycamore))
10123
10124 (define-public ecl-sycamore
10125 (sbcl-package->ecl-package sbcl-sycamore))
10126
10127 (define-public sbcl-trivial-package-local-nicknames
10128 (package
10129 (name "sbcl-trivial-package-local-nicknames")
10130 (version "0.2")
10131 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
10132 (source
10133 (origin
10134 (method git-fetch)
10135 (uri (git-reference
10136 (url home-page)
10137 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
10138 (file-name (git-file-name name version))
10139 (sha256
10140 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
10141 (build-system asdf-build-system/sbcl)
10142 (synopsis "Common Lisp compatibility library for package local nicknames")
10143 (description
10144 "This library is a portable compatibility layer around package local nicknames (PLN).
10145 This was done so there is a portability library for the PLN API not included
10146 in DEFPACKAGE.")
10147 (license license:unlicense)))
10148
10149 (define-public cl-trivial-package-local-nicknames
10150 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
10151
10152 (define-public ecl-trivial-package-local-nicknames
10153 (sbcl-package->ecl-package sbcl-trivial-package-local-nicknames))
10154
10155 (define-public sbcl-enchant
10156 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
10157 (package
10158 (name "sbcl-enchant")
10159 (version (git-version "0.0.0" "1" commit))
10160 (home-page "https://github.com/tlikonen/cl-enchant")
10161 (source
10162 (origin
10163 (method git-fetch)
10164 (uri (git-reference
10165 (url home-page)
10166 (commit commit)))
10167 (file-name (git-file-name name version))
10168 (sha256
10169 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
10170 (build-system asdf-build-system/sbcl)
10171 (inputs
10172 `(("enchant" ,enchant)
10173 ("cffi" ,sbcl-cffi)))
10174 (arguments
10175 `(#:phases
10176 (modify-phases %standard-phases
10177 (add-after 'unpack 'fix-paths
10178 (lambda* (#:key inputs #:allow-other-keys)
10179 (substitute* "load-enchant.lisp"
10180 (("libenchant")
10181 (string-append
10182 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
10183 (synopsis "Common Lisp interface for the Enchant spell-checker library")
10184 (description
10185 "Enchant is a Common Lisp interface for the Enchant spell-checker
10186 library. The Enchant library is a generic spell-checker library which uses
10187 other spell-checkers transparently as back-end. The library supports the
10188 multiple checkers, including Aspell and Hunspell.")
10189 (license license:public-domain))))
10190
10191 (define-public cl-enchant
10192 (sbcl-package->cl-source-package sbcl-enchant))
10193
10194 (define-public ecl-enchant
10195 (sbcl-package->ecl-package sbcl-enchant))
10196
10197 (define-public sbcl-cl-change-case
10198 (let ((commit "5ceff2a5f8bd845b6cb510c6364176b27a238fd3"))
10199 (package
10200 (name "sbcl-cl-change-case")
10201 (version (git-version "0.1.0" "1" commit))
10202 (home-page "https://github.com/rudolfochrist/cl-change-case")
10203 (source
10204 (origin
10205 (method git-fetch)
10206 (uri (git-reference
10207 (url home-page)
10208 (commit commit)))
10209 (file-name (git-file-name name version))
10210 (sha256
10211 (base32 "1afyglglk9z3yg8gylcl301bl2r8vq3sllyznzj9s5xi5gs6qyf2"))))
10212 (build-system asdf-build-system/sbcl)
10213 (inputs
10214 `(("cl-ppcre" ,sbcl-cl-ppcre)
10215 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
10216 (native-inputs
10217 `(("fiveam" ,sbcl-fiveam)))
10218 (arguments
10219 '(;; FIXME: Test pass but phase fails with 'Component
10220 ;; "cl-change-case-test" not found, required by'.
10221 #:tests? #f
10222 #:test-asd-file "cl-change-case-test.asd"))
10223 (synopsis "Convert Common Lisp strings between camelCase, PascalCase and more")
10224 (description
10225 "@code{cl-change-case} is library to convert strings between camelCase,
10226 PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
10227 (license license:llgpl))))
10228
10229 (define-public cl-change-case
10230 (sbcl-package->cl-source-package sbcl-cl-change-case))
10231
10232 (define-public ecl-cl-change-case
10233 (sbcl-package->ecl-package sbcl-cl-change-case))
10234
10235 (define-public sbcl-modularize
10236 (let ((commit "86c5d9a11fbd2df9f0f03ac10b5d71837c8934ba")
10237 (revision "1"))
10238 (package
10239 (name "sbcl-modularize")
10240 (version (git-version "1.0.0" revision commit))
10241 (source
10242 (origin
10243 (method git-fetch)
10244 (uri (git-reference
10245 (url "https://github.com/Shinmera/modularize")
10246 (commit commit)))
10247 (file-name (git-file-name name version))
10248 (sha256
10249 (base32 "1zys29rfkb649rkgl3snxhajk8d5yf7ryxkrwy020kwdh7zdsg7d"))))
10250 (build-system asdf-build-system/sbcl)
10251 (arguments
10252 `(#:test-asd-file "modularize-test-module.asd"
10253 #:asd-files '("modularize.asd" "modularize-test-module.asd")
10254 #:asd-systems '("modularize" "modularize-test-module")))
10255 (inputs
10256 `(("documentation-utils" ,sbcl-documentation-utils)
10257 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)))
10258 (home-page "https://shinmera.github.io/modularize/")
10259 (synopsis "Common Lisp modularization framework")
10260 (description
10261 "@code{MODULARIZE} is an attempt at providing a common interface to
10262 segregate major application components. This is achieved by adding special
10263 treatment to packages. Each module is a package that is specially registered,
10264 which allows it to interact and co-exist with other modules in better ways. For
10265 instance, by adding module definition options you can introduce mechanisms to
10266 tie modules together in functionality, hook into each other and so on.")
10267 (license license:zlib))))
10268
10269 (define-public ecl-modularize
10270 (sbcl-package->ecl-package sbcl-modularize))
10271
10272 (define-public cl-modularize
10273 (sbcl-package->cl-source-package sbcl-modularize))
10274
10275 (define-public sbcl-modularize-hooks
10276 (let ((commit "e0348ed3ffd59a9ec31ca4ab28289e748bfbf96a")
10277 (revision "1"))
10278 (package
10279 (name "sbcl-modularize-hooks")
10280 (version (git-version "1.0.2" revision commit))
10281 (source
10282 (origin
10283 (method git-fetch)
10284 (uri (git-reference
10285 (url "https://github.com/Shinmera/modularize-hooks")
10286 (commit commit)))
10287 (file-name (git-file-name "modularize-hooks" version))
10288 (sha256
10289 (base32 "12kjvin8hxidwkzfb7inqv5b6g5qzcssnj9wc497v2ixc56fqdz7"))))
10290 (build-system asdf-build-system/sbcl)
10291 (inputs
10292 `(("closer-mop" ,sbcl-closer-mop)
10293 ("lambda-fiddle" ,sbcl-lambda-fiddle)
10294 ("modularize" ,sbcl-modularize)
10295 ("trivial-arguments" ,sbcl-trivial-arguments)))
10296 (home-page "https://shinmera.github.io/modularize-hooks/")
10297 (synopsis "Generic hooks and triggers extension for Modularize")
10298 (description
10299 "This is a simple extension to @code{MODULARIZE} that allows modules to
10300 define and trigger hooks, which other modules can hook on to.")
10301 (license license:zlib))))
10302
10303 (define-public ecl-modularize-hooks
10304 (sbcl-package->ecl-package sbcl-modularize-hooks))
10305
10306 (define-public cl-modularize-hooks
10307 (sbcl-package->cl-source-package sbcl-modularize-hooks))
10308
10309 (define-public sbcl-modularize-interfaces
10310 (let ((commit "96353657afb8c7aeba7ef5b51eb04c5ed3bcb6ef")
10311 (revision "1"))
10312 (package
10313 (name "sbcl-modularize-interfaces")
10314 (version (git-version "0.9.3" revision commit))
10315 (source
10316 (origin
10317 (method git-fetch)
10318 (uri (git-reference
10319 (url "https://github.com/Shinmera/modularize-interfaces")
10320 (commit commit)))
10321 (file-name (git-file-name "modularize-interfaces" version))
10322 (sha256
10323 (base32 "0bjf4wy39cwf75m7vh0r7mmcchs09yz2lrbyap98hnq8blq70fhc"))))
10324 (build-system asdf-build-system/sbcl)
10325 (inputs
10326 `(("lambda-fiddle" ,sbcl-lambda-fiddle)
10327 ("modularize" ,sbcl-modularize)
10328 ("trivial-arguments" ,sbcl-trivial-arguments)
10329 ("trivial-indent" ,sbcl-trivial-indent)))
10330 (home-page "https://shinmera.github.io/modularize-interfaces/")
10331 (synopsis "Programmatical interfaces extension for Modularize")
10332 (description
10333 "This is an extension to @code{MODULARIZE} that allows your application
10334 to define interfaces in-code that serve both as a primary documentation and as
10335 compliance control.")
10336 (license license:zlib))))
10337
10338 (define-public ecl-modularize-interfaces
10339 (sbcl-package->ecl-package sbcl-modularize-interfaces))
10340
10341 (define-public cl-modularize-interfaces
10342 (sbcl-package->cl-source-package sbcl-modularize-interfaces))
10343
10344 (define-public sbcl-moptilities
10345 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
10346 (package
10347 (name "sbcl-moptilities")
10348 (version (git-version "0.3.13" "1" commit))
10349 (home-page "https://github.com/gwkkwg/moptilities/")
10350 (source
10351 (origin
10352 (method git-fetch)
10353 (uri (git-reference
10354 (url home-page)
10355 (commit commit)))
10356 (file-name (git-file-name name version))
10357 (sha256
10358 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
10359 (build-system asdf-build-system/sbcl)
10360 (inputs
10361 `(("closer-mop" ,sbcl-closer-mop)))
10362 (native-inputs
10363 `(("lift" ,sbcl-lift)))
10364 (arguments
10365 `(#:phases
10366 (modify-phases %standard-phases
10367 (add-after 'unpack 'fix-tests
10368 (lambda _
10369 (substitute* "lift-standard.config"
10370 ((":relative-to lift-test")
10371 ":relative-to moptilities-test"))
10372 #t)))))
10373 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
10374 (description
10375 "MOP utilities provide a common interface between Lisps and make the
10376 MOP easier to use.")
10377 (license license:expat))))
10378
10379 (define-public cl-moptilities
10380 (sbcl-package->cl-source-package sbcl-moptilities))
10381
10382 (define-public sbcl-osicat
10383 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
10384 (package
10385 (name "sbcl-osicat")
10386 (version (git-version "0.7.0" "1" commit))
10387 (home-page "http://www.common-lisp.net/project/osicat/")
10388 (source
10389 (origin
10390 (method git-fetch)
10391 (uri (git-reference
10392 (url "https://github.com/osicat/osicat")
10393 (commit commit)))
10394 (file-name (git-file-name name version))
10395 (sha256
10396 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
10397 (build-system asdf-build-system/sbcl)
10398 (inputs
10399 `(("alexandria" ,sbcl-alexandria)
10400 ("cffi" ,sbcl-cffi)
10401 ("trivial-features" ,sbcl-trivial-features)))
10402 (native-inputs
10403 `(("rt" ,sbcl-rt)))
10404 (synopsis "Operating system interface for Common Lisp")
10405 (description
10406 "Osicat is a lightweight operating system interface for Common Lisp on
10407 Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
10408 accompaniment to the standard ANSI facilities.")
10409 (license license:expat))))
10410
10411 (define-public cl-osicat
10412 (sbcl-package->cl-source-package sbcl-osicat))
10413
10414 (define-public ecl-osicat
10415 (sbcl-package->ecl-package sbcl-osicat))
10416
10417 (define-public sbcl-clx-xembed
10418 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
10419 (revision "1"))
10420 (package
10421 (name "sbcl-clx-xembed")
10422 (version (git-version "0.1" revision commit))
10423 (home-page "https://github.com/laynor/clx-xembed")
10424 (source
10425 (origin
10426 (method git-fetch)
10427 (uri (git-reference
10428 (url "https://github.com/laynor/clx-xembed")
10429 (commit commit)))
10430 (file-name (git-file-name name version))
10431 (sha256
10432 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
10433 (build-system asdf-build-system/sbcl)
10434 (arguments
10435 `(#:asd-systems '("xembed")))
10436 (inputs
10437 `(("sbcl-clx" ,sbcl-clx)))
10438 (synopsis "CL(x) xembed protocol implementation ")
10439 (description "CL(x) xembed protocol implementation")
10440 ;; MIT License
10441 (license license:expat))))
10442
10443 (define-public cl-clx-xembed
10444 (sbcl-package->cl-source-package sbcl-clx-xembed))
10445
10446 (define-public ecl-clx-xembed
10447 (sbcl-package->ecl-package sbcl-clx-xembed))
10448
10449 (define-public sbcl-quantile-estimator
10450 (package
10451 (name "sbcl-quantile-estimator")
10452 (version "0.0.1")
10453 (source
10454 (origin
10455 (method git-fetch)
10456 (uri (git-reference
10457 (url "https://github.com/deadtrickster/quantile-estimator.cl")
10458 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
10459 (file-name (git-file-name name version))
10460 (sha256
10461 (base32
10462 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
10463 (build-system asdf-build-system/sbcl)
10464 (arguments
10465 '(#:asd-files '("quantile-estimator.asd")))
10466 (inputs
10467 `(("alexandria" ,sbcl-alexandria)))
10468 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
10469 (synopsis
10470 "Effective computation of biased quantiles over data streams")
10471 (description
10472 "Common Lisp implementation of Graham Cormode and S.
10473 Muthukrishnan's Effective Computation of Biased Quantiles over Data
10474 Streams in ICDE’05.")
10475 (license license:expat)))
10476
10477 (define-public cl-quantile-estimator
10478 (sbcl-package->cl-source-package sbcl-quantile-estimator))
10479
10480 (define-public ecl-quantile-estimator
10481 (sbcl-package->ecl-package sbcl-quantile-estimator))
10482
10483 (define-public sbcl-prometheus
10484 (package
10485 (name "sbcl-prometheus")
10486 (version "0.4.1")
10487 (source
10488 (origin
10489 (method git-fetch)
10490 (uri (git-reference
10491 (url "https://github.com/deadtrickster/prometheus.cl")
10492 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
10493 (file-name (git-file-name name version))
10494 (sha256
10495 (base32
10496 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
10497 (build-system asdf-build-system/sbcl)
10498 (inputs
10499 `(("alexandria" ,sbcl-alexandria)
10500 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10501 ("cffi" ,sbcl-cffi)
10502 ("cl-fad" ,sbcl-cl-fad)
10503 ("cl-ppcre" ,sbcl-cl-ppcre)
10504 ("drakma" ,sbcl-drakma)
10505 ("hunchentoot" ,sbcl-hunchentoot)
10506 ("local-time" ,sbcl-local-time)
10507 ("quantile-estimator" ,sbcl-quantile-estimator)
10508 ("salza2" ,sbcl-salza2)
10509 ("split-sequence" ,sbcl-split-sequence)
10510 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10511 (arguments
10512 '(#:asd-files '("prometheus.asd"
10513 "prometheus.collectors.sbcl.asd"
10514 "prometheus.collectors.process.asd"
10515 "prometheus.formats.text.asd"
10516 "prometheus.exposers.hunchentoot.asd"
10517 "prometheus.pushgateway.asd")
10518 #:asd-systems '("prometheus"
10519 "prometheus.collectors.sbcl"
10520 "prometheus.collectors.process"
10521 "prometheus.formats.text"
10522 "prometheus.exposers.hunchentoot"
10523 "prometheus.pushgateway")))
10524 (home-page "https://github.com/deadtrickster/prometheus.cl")
10525 (synopsis "Prometheus.io Common Lisp client")
10526 (description "Prometheus.io Common Lisp client.")
10527 (license license:expat)))
10528
10529 (define-public cl-prometheus
10530 (sbcl-package->cl-source-package sbcl-prometheus))
10531
10532 (define-public ecl-prometheus
10533 (sbcl-package->ecl-package sbcl-prometheus))
10534
10535 (define-public sbcl-uuid
10536 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
10537 (package
10538 (name "sbcl-uuid")
10539 (version (git-version "2012.12.26" "1" commit))
10540 (source
10541 (origin
10542 (method git-fetch)
10543 (uri (git-reference
10544 (url "https://github.com/dardoria/uuid")
10545 (commit commit)))
10546 (file-name (git-file-name name version))
10547 (sha256
10548 (base32
10549 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
10550 (build-system asdf-build-system/sbcl)
10551 (inputs
10552 `(("ironclad" ,sbcl-ironclad)
10553 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10554 (home-page "https://github.com/dardoria/uuid")
10555 (synopsis
10556 "Common Lisp implementation of UUIDs according to RFC4122")
10557 (description
10558 "Common Lisp implementation of UUIDs according to RFC4122.")
10559 (license license:llgpl))))
10560
10561 (define-public cl-uuid
10562 (sbcl-package->cl-source-package sbcl-uuid))
10563
10564 (define-public ecl-uuid
10565 (sbcl-package->ecl-package sbcl-uuid))
10566
10567 (define-public sbcl-dissect
10568 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
10569 (package
10570 (name "sbcl-dissect")
10571 (version (git-version "1.0.0" "1" commit))
10572 (source
10573 (origin
10574 (method git-fetch)
10575 (uri (git-reference
10576 (url "https://github.com/Shinmera/dissect")
10577 (commit commit)))
10578 (file-name (git-file-name name version))
10579 (sha256
10580 (base32
10581 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
10582 (build-system asdf-build-system/sbcl)
10583 (inputs
10584 `(("cl-ppcre" ,sbcl-cl-ppcre)))
10585 (home-page "https://shinmera.github.io/dissect/")
10586 (synopsis
10587 "Introspection library for the call stack and restarts")
10588 (description
10589 "Dissect is a small Common Lisp library for introspecting the call stack
10590 and active restarts.")
10591 (license license:zlib))))
10592
10593 (define-public cl-dissect
10594 (sbcl-package->cl-source-package sbcl-dissect))
10595
10596 (define-public ecl-dissect
10597 (sbcl-package->ecl-package sbcl-dissect))
10598
10599 (define-public sbcl-rove
10600 (package
10601 (name "sbcl-rove")
10602 (version "0.9.6")
10603 (source
10604 (origin
10605 (method git-fetch)
10606 (uri (git-reference
10607 (url "https://github.com/fukamachi/rove")
10608 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
10609 (file-name (git-file-name name version))
10610 (sha256
10611 (base32
10612 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
10613 (build-system asdf-build-system/sbcl)
10614 (inputs
10615 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10616 ("dissect" ,sbcl-dissect)
10617 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
10618 (home-page "https://github.com/fukamachi/rove")
10619 (synopsis
10620 "Yet another common lisp testing library")
10621 (description
10622 "Rove is a unit testing framework for Common Lisp applications.
10623 This is intended to be a successor of Prove.")
10624 (license license:bsd-3)))
10625
10626 (define-public cl-rove
10627 (sbcl-package->cl-source-package sbcl-rove))
10628
10629 (define-public ecl-rove
10630 (sbcl-package->ecl-package sbcl-rove))
10631
10632 (define-public sbcl-exponential-backoff
10633 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
10634 (package
10635 (name "sbcl-exponential-backoff")
10636 (version (git-version "0" "1" commit))
10637 (source
10638 (origin
10639 (method git-fetch)
10640 (uri (git-reference
10641 (url "https://github.com/death/exponential-backoff")
10642 (commit commit)))
10643 (file-name (git-file-name name version))
10644 (sha256
10645 (base32
10646 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
10647 (build-system asdf-build-system/sbcl)
10648 (home-page "https://github.com/death/exponential-backoff")
10649 (synopsis "Exponential backoff algorithm in Common Lisp")
10650 (description
10651 "An implementation of the exponential backoff algorithm in Common Lisp.
10652 Inspired by the implementation found in Chromium. Read the header file to
10653 learn about each of the parameters.")
10654 (license license:expat))))
10655
10656 (define-public cl-exponential-backoff
10657 (sbcl-package->cl-source-package sbcl-exponential-backoff))
10658
10659 (define-public ecl-exponential-backoff
10660 (sbcl-package->ecl-package sbcl-exponential-backoff))
10661
10662 (define-public sbcl-sxql
10663 (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
10664 (package
10665 (name "sbcl-sxql")
10666 (version (git-version "0.1.0" "1" commit))
10667 (source
10668 (origin
10669 (method git-fetch)
10670 (uri (git-reference
10671 (url "https://github.com/fukamachi/sxql")
10672 (commit commit)))
10673 (file-name (git-file-name name version))
10674 (sha256
10675 (base32
10676 "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
10677 (build-system asdf-build-system/sbcl)
10678 (arguments
10679 `(#:test-asd-file "sxql-test.asd"))
10680 (inputs
10681 `(("alexandria" ,sbcl-alexandria)
10682 ("cl-syntax" ,sbcl-cl-syntax)
10683 ("iterate" ,sbcl-iterate)
10684 ("optima" ,sbcl-optima)
10685 ("split-sequence" ,sbcl-split-sequence)
10686 ("trivial-types" ,sbcl-trivial-types)))
10687 (native-inputs
10688 `(("prove" ,sbcl-prove)))
10689 (home-page "https://github.com/fukamachi/sxql")
10690 (synopsis "SQL generator for Common Lisp")
10691 (description "SQL generator for Common Lisp.")
10692 (license license:bsd-3))))
10693
10694 (define-public cl-sxql
10695 (sbcl-package->cl-source-package sbcl-sxql))
10696
10697 (define-public ecl-sxql
10698 (sbcl-package->ecl-package sbcl-sxql))
10699
10700 (define-public sbcl-1am
10701 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
10702 (package
10703 (name "sbcl-1am")
10704 (version (git-version "0.0" "1" commit))
10705 (source
10706 (origin
10707 (method git-fetch)
10708 (uri (git-reference
10709 (url "https://github.com/lmj/1am")
10710 (commit commit)))
10711 (file-name (git-file-name name version))
10712 (sha256
10713 (base32
10714 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
10715 (build-system asdf-build-system/sbcl)
10716 (arguments
10717 `(#:asd-systems '("1am")))
10718 (home-page "https://github.com/lmj/1am")
10719 (synopsis "Minimal testing framework for Common Lisp")
10720 (description "A minimal testing framework for Common Lisp.")
10721 (license license:expat))))
10722
10723 (define-public cl-1am
10724 (sbcl-package->cl-source-package sbcl-1am))
10725
10726 (define-public ecl-1am
10727 (sbcl-package->ecl-package sbcl-1am))
10728
10729 (define-public sbcl-cl-ascii-table
10730 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
10731 (revision "1"))
10732 (package
10733 (name "sbcl-cl-ascii-table")
10734 (version (git-version "0.0.0" revision commit))
10735 (source
10736 (origin
10737 (method git-fetch)
10738 (uri (git-reference
10739 (url "https://github.com/telephil/cl-ascii-table")
10740 (commit commit)))
10741 (file-name (git-file-name name version))
10742 (sha256
10743 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
10744 (build-system asdf-build-system/sbcl)
10745 (synopsis "Library to make ascii-art tables")
10746 (description
10747 "This is a Common Lisp library to present tabular data in ascii-art
10748 tables.")
10749 (home-page "https://github.com/telephil/cl-ascii-table")
10750 (license license:expat))))
10751
10752 (define-public cl-ascii-table
10753 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
10754
10755 (define-public ecl-cl-ascii-table
10756 (sbcl-package->ecl-package sbcl-cl-ascii-table))
10757
10758 (define-public sbcl-cl-rdkafka
10759 (package
10760 (name "sbcl-cl-rdkafka")
10761 (version "1.1.0")
10762 (source
10763 (origin
10764 (method git-fetch)
10765 (uri (git-reference
10766 (url "https://github.com/SahilKang/cl-rdkafka")
10767 (commit (string-append "v" version))))
10768 (file-name (git-file-name name version))
10769 (sha256
10770 (base32
10771 "0z2g0k0xy8k1p9g93h8dy9wbygaq7ziwagm4yz93zk67mhc0b84v"))))
10772 (build-system asdf-build-system/sbcl)
10773 (arguments
10774 `(#:tests? #f ; Attempts to connect to locally running Kafka
10775 #:phases
10776 (modify-phases %standard-phases
10777 (add-after 'unpack 'fix-paths
10778 (lambda* (#:key inputs #:allow-other-keys)
10779 (substitute* "src/low-level/librdkafka-bindings.lisp"
10780 (("librdkafka" all)
10781 (string-append (assoc-ref inputs "librdkafka") "/lib/"
10782 all))))))))
10783 (inputs
10784 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10785 ("cffi" ,sbcl-cffi)
10786 ("librdkafka" ,librdkafka)
10787 ("lparallel" ,sbcl-lparallel)
10788 ("trivial-garbage" ,sbcl-trivial-garbage)))
10789 (home-page "https://github.com/SahilKang/cl-rdkafka")
10790 (synopsis "Common Lisp client library for Apache Kafka")
10791 (description "A Common Lisp client library for Apache Kafka.")
10792 (license license:gpl3)))
10793
10794 (define-public cl-rdkafka
10795 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
10796
10797 (define-public ecl-cl-rdkafka
10798 (sbcl-package->ecl-package sbcl-cl-rdkafka))
10799
10800 (define-public sbcl-acclimation
10801 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
10802 (package
10803 (name "sbcl-acclimation")
10804 (version (git-version "0.0.0" "1" commit))
10805 (source
10806 (origin
10807 (method git-fetch)
10808 (uri (git-reference
10809 (url "https://github.com/robert-strandh/Acclimation")
10810 (commit commit)))
10811 (file-name (git-file-name name version))
10812 (sha256
10813 (base32
10814 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
10815 (build-system asdf-build-system/sbcl)
10816 (home-page "https://github.com/robert-strandh/Acclimation")
10817 (synopsis "Internationalization library for Common Lisp")
10818 (description "This project is meant to provide tools for
10819 internationalizing Common Lisp programs.
10820
10821 One important aspect of internationalization is of course the language used in
10822 error messages, documentation strings, etc. But with this project we provide
10823 tools for all other aspects of internationalization as well, including dates,
10824 weight, temperature, names of physical quantitites, etc.")
10825 (license license:bsd-2))))
10826
10827 (define-public cl-acclimation
10828 (sbcl-package->cl-source-package sbcl-acclimation))
10829
10830 (define-public ecl-acclimation
10831 (sbcl-package->ecl-package sbcl-acclimation))
10832
10833 (define-public sbcl-clump
10834 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
10835 (package
10836 (name "sbcl-clump")
10837 (version (git-version "0.0.0" "1" commit))
10838 (source
10839 (origin
10840 (method git-fetch)
10841 (uri (git-reference
10842 (url "https://github.com/robert-strandh/Clump")
10843 (commit commit)))
10844 (file-name (git-file-name name version))
10845 (sha256
10846 (base32
10847 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
10848 (inputs
10849 `(("acclimation" ,sbcl-acclimation)))
10850 (build-system asdf-build-system/sbcl)
10851 (home-page "https://github.com/robert-strandh/Clump")
10852 (synopsis "Collection of tree implementations for Common Lisp")
10853 (description "The purpose of this library is to provide a collection of
10854 implementations of trees.
10855
10856 In contrast to existing libraries such as cl-containers, it does not impose a
10857 particular use for the trees. Instead, it aims for a stratified design,
10858 allowing client code to choose between different levels of abstraction.
10859
10860 As a consequence of this policy, low-level interfaces are provided where
10861 the concrete representation is exposed, but also high level interfaces
10862 where the trees can be used as search trees or as trees that represent
10863 sequences of objects.")
10864 (license license:bsd-2))))
10865
10866 (define-public cl-clump
10867 (sbcl-package->cl-source-package sbcl-clump))
10868
10869 (define-public ecl-clump
10870 (sbcl-package->ecl-package sbcl-clump))
10871
10872 (define-public sbcl-cluffer
10873 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
10874 (package
10875 (name "sbcl-cluffer")
10876 (version (git-version "0.0.0" "1" commit))
10877 (source
10878 (origin
10879 (method git-fetch)
10880 (uri (git-reference
10881 (url "https://github.com/robert-strandh/cluffer")
10882 (commit commit)))
10883 (file-name (git-file-name name version))
10884 (sha256
10885 (base32
10886 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
10887 (build-system asdf-build-system/sbcl)
10888 (inputs
10889 `(("acclimation" ,sbcl-acclimation)
10890 ("clump" ,sbcl-clump)))
10891 (home-page "https://github.com/robert-strandh/cluffer")
10892 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
10893 (description "Cluffer is a library for representing the buffer of a text
10894 editor. As such, it defines a set of CLOS protocols for client code to
10895 interact with the buffer contents in various ways, and it supplies different
10896 implementations of those protocols for different purposes.")
10897 (license license:bsd-2))))
10898
10899 (define-public cl-cluffer
10900 (sbcl-package->cl-source-package sbcl-cluffer))
10901
10902 (define-public ecl-cluffer
10903 (sbcl-package->ecl-package sbcl-cluffer))
10904
10905 (define-public sbcl-cl-libsvm-format
10906 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
10907 (revision "0"))
10908 (package
10909 (name "sbcl-cl-libsvm-format")
10910 (version (git-version "0.1.0" revision commit))
10911 (source
10912 (origin
10913 (method git-fetch)
10914 (uri (git-reference
10915 (url "https://github.com/masatoi/cl-libsvm-format")
10916 (commit commit)))
10917 (file-name (git-file-name name version))
10918 (sha256
10919 (base32
10920 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
10921 (build-system asdf-build-system/sbcl)
10922 (native-inputs
10923 `(("prove" ,sbcl-prove)))
10924 (inputs
10925 `(("alexandria" ,sbcl-alexandria)))
10926 (synopsis "LibSVM data format reader for Common Lisp")
10927 (description
10928 "This Common Lisp library provides a fast reader for data in LibSVM
10929 format.")
10930 (home-page "https://github.com/masatoi/cl-libsvm-format")
10931 (license license:expat))))
10932
10933 (define-public cl-libsvm-format
10934 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
10935
10936 (define-public ecl-cl-libsvm-format
10937 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
10938
10939 (define-public sbcl-cl-online-learning
10940 (let ((commit "87fbef8a340219e853adb3a5bf44a0470da76964")
10941 (revision "1"))
10942 (package
10943 (name "sbcl-cl-online-learning")
10944 (version (git-version "0.5" revision commit))
10945 (source
10946 (origin
10947 (method git-fetch)
10948 (uri (git-reference
10949 (url "https://github.com/masatoi/cl-online-learning")
10950 (commit commit)))
10951 (file-name (git-file-name "cl-online-learning" version))
10952 (sha256
10953 (base32
10954 "1lfq04lnxivx59nq5dd02glyqsqzf3vdn4s9b8wnaln5fs8g2ph9"))))
10955 (build-system asdf-build-system/sbcl)
10956 (native-inputs
10957 `(("prove" ,sbcl-prove)))
10958 (inputs
10959 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
10960 ("cl-store" ,sbcl-cl-store)))
10961 (arguments
10962 `(#:test-asd-file "cl-online-learning-test.asd"
10963 #:asd-systems '("cl-online-learning-test"
10964 "cl-online-learning")))
10965 (home-page "https://github.com/masatoi/cl-online-learning")
10966 (synopsis "Online Machine Learning for Common Lisp")
10967 (description
10968 "This library contains a collection of machine learning algorithms for
10969 online linear classification written in Common Lisp.")
10970 (license license:expat))))
10971
10972 (define-public cl-online-learning
10973 (sbcl-package->cl-source-package sbcl-cl-online-learning))
10974
10975 (define-public ecl-cl-online-learning
10976 (sbcl-package->ecl-package sbcl-cl-online-learning))
10977
10978 (define-public sbcl-cl-mpg123
10979 (let ((commit "5f042c839d2ea4a2ff2a7b60c839d8633d64161d")
10980 (revision "1"))
10981 (package
10982 (name "sbcl-cl-mpg123")
10983 (version (git-version "1.0.0" revision commit))
10984 (source
10985 (origin
10986 (method git-fetch)
10987 (uri (git-reference
10988 (url "https://github.com/Shirakumo/cl-mpg123")
10989 (commit commit)))
10990 (file-name (git-file-name "cl-mpg123" version))
10991 (sha256
10992 (base32 "1hl721xaczxck008ax2y3jpkm509ry1sg3lklh2k76764m3ndrjf"))
10993 (modules '((guix build utils)))
10994 (snippet
10995 '(begin
10996 ;; Remove bundled pre-compiled libraries.
10997 (delete-file-recursively "static")
10998 #t))))
10999 (build-system asdf-build-system/sbcl)
11000 (arguments
11001 `(#:asd-files '("cl-mpg123.asd" "cl-mpg123-example.asd")
11002 #:asd-systems '("cl-mpg123" "cl-mpg123-example")
11003 #:phases
11004 (modify-phases %standard-phases
11005 (add-after 'unpack 'fix-paths
11006 (lambda* (#:key inputs #:allow-other-keys)
11007 (substitute* "low-level.lisp"
11008 (("libmpg123.so" all)
11009 (string-append (assoc-ref inputs "libmpg123")
11010 "/lib/" all))))))))
11011 (inputs
11012 `(("cffi" ,sbcl-cffi)
11013 ("cl-out123" ,sbcl-cl-out123)
11014 ("documentation-utils" ,sbcl-documentation-utils)
11015 ("libmpg123" ,mpg123)
11016 ("trivial-features" ,sbcl-trivial-features)
11017 ("trivial-garbage" ,sbcl-trivial-garbage)
11018 ("verbose" ,sbcl-verbose)))
11019 (home-page "https://shirakumo.github.io/cl-mpg123/")
11020 (synopsis "Common Lisp bindings to libmpg123")
11021 (description
11022 "This is a bindings and wrapper library to @code{libmpg123} allowing for
11023 convenient, extensive, and fast decoding of MPEG1/2/3 (most prominently mp3)
11024 files.")
11025 (license license:zlib))))
11026
11027 (define-public ecl-cl-mpg123
11028 (sbcl-package->ecl-package sbcl-cl-mpg123))
11029
11030 (define-public cl-mpg123
11031 (sbcl-package->cl-source-package sbcl-cl-mpg123))
11032
11033 (define-public sbcl-cl-out123
11034 (let ((commit "6b58d3f8c2a28ad09059ac4c60fb3c781b9b421b")
11035 (revision "1"))
11036 (package
11037 (name "sbcl-cl-out123")
11038 (version (git-version "1.0.0" revision commit))
11039 (source
11040 (origin
11041 (method git-fetch)
11042 (uri (git-reference
11043 (url "https://github.com/Shirakumo/cl-out123")
11044 (commit commit)))
11045 (file-name (git-file-name "cl-out123" version))
11046 (sha256
11047 (base32 "0mdwgfax6sq68wvdgjjp78i40ah7wqkpqnvaq8a1c509k7ghdgv1"))
11048 (modules '((guix build utils)))
11049 (snippet
11050 '(begin
11051 ;; Remove bundled pre-compiled libraries.
11052 (delete-file-recursively "static")
11053 #t))))
11054 (build-system asdf-build-system/sbcl)
11055 (arguments
11056 `(#:phases
11057 (modify-phases %standard-phases
11058 (add-after 'unpack 'fix-paths
11059 (lambda* (#:key inputs #:allow-other-keys)
11060 (substitute* "low-level.lisp"
11061 (("libout123.so" all)
11062 (string-append (assoc-ref inputs "libout123")
11063 "/lib/" all)))))
11064 ;; NOTE: (Sharlatan-20210129T134529+0000): ECL package `ext' has no
11065 ;; exported macro `without-interrupts' it's moved to `mp' package
11066 ;; https://github.com/Shirakumo/cl-out123/issues/2
11067 ;; https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/src/lsp/mp.lsp
11068 (add-after 'unpack 'fix-ecl-package-name
11069 (lambda _
11070 (substitute* "wrapper.lisp"
11071 (("ext:without-interrupts.*") "mp:without-interrupts\n"))
11072 #t)))))
11073 (inputs
11074 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11075 ("cffi" ,sbcl-cffi)
11076 ("documentation-utils" ,sbcl-documentation-utils)
11077 ("libout123" ,mpg123)
11078 ("trivial-features" ,sbcl-trivial-features)
11079 ("trivial-garbage" ,sbcl-trivial-garbage)))
11080 (home-page "https://shirakumo.github.io/cl-out123/")
11081 (synopsis "Common Lisp bindings to libout123")
11082 (description
11083 "This is a bindings library to @code{libout123} which allows easy
11084 cross-platform audio playback.")
11085 (license license:zlib))))
11086
11087 (define-public ecl-cl-out123
11088 (sbcl-package->ecl-package sbcl-cl-out123))
11089
11090 (define-public cl-out123
11091 (sbcl-package->cl-source-package sbcl-cl-out123))
11092
11093 (define-public sbcl-cl-random-forest
11094 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
11095 (revision "1"))
11096 (package
11097 (name "sbcl-cl-random-forest")
11098 (version (git-version "0.1" revision commit))
11099 (source
11100 (origin
11101 (method git-fetch)
11102 (uri (git-reference
11103 (url "https://github.com/masatoi/cl-random-forest")
11104 (commit commit)))
11105 (file-name (git-file-name name version))
11106 (sha256
11107 (base32
11108 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
11109 (build-system asdf-build-system/sbcl)
11110 (native-inputs
11111 `(("prove" ,sbcl-prove)
11112 ("trivial-garbage" ,sbcl-trivial-garbage)))
11113 (inputs
11114 `(("alexandria" ,sbcl-alexandria)
11115 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11116 ("cl-online-learning" ,sbcl-cl-online-learning)
11117 ("lparallel" ,sbcl-lparallel)))
11118 (arguments
11119 `(#:tests? #f)) ; The tests download data from the Internet
11120 (synopsis "Random Forest and Global Refinement for Common Lisp")
11121 (description
11122 "CL-random-forest is an implementation of Random Forest for multiclass
11123 classification and univariate regression written in Common Lisp. It also
11124 includes an implementation of Global Refinement of Random Forest.")
11125 (home-page "https://github.com/masatoi/cl-random-forest")
11126 (license license:expat))))
11127
11128 (define-public cl-random-forest
11129 (sbcl-package->cl-source-package sbcl-cl-random-forest))
11130
11131 (define-public ecl-cl-random-forest
11132 (sbcl-package->ecl-package sbcl-cl-random-forest))
11133
11134 (define-public sbcl-bordeaux-fft
11135 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
11136 (revision "0"))
11137 (package
11138 (name "sbcl-bordeaux-fft")
11139 (version (git-version "1.0.1" revision commit))
11140 (source
11141 (origin
11142 (method git-fetch)
11143 (uri (git-reference
11144 (url "https://github.com/ahefner/bordeaux-fft")
11145 (commit commit)))
11146 (file-name (git-file-name name version))
11147 (sha256
11148 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
11149 (build-system asdf-build-system/sbcl)
11150 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
11151 (synopsis "Fast Fourier Transform for Common Lisp")
11152 (description
11153 "The Bordeaux-FFT library provides a reasonably efficient implementation
11154 of the Fast Fourier Transform and its inverse for complex-valued inputs, in
11155 portable Common Lisp.")
11156 (license license:gpl2+))))
11157
11158 (define-public cl-bordeaux-fft
11159 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
11160
11161 (define-public ecl-bordeaux-fft
11162 (sbcl-package->ecl-package sbcl-bordeaux-fft))
11163
11164 (define-public sbcl-napa-fft3
11165 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
11166 (revision "0"))
11167 (package
11168 (name "sbcl-napa-fft3")
11169 (version (git-version "0.0.1" revision commit))
11170 (source
11171 (origin
11172 (method git-fetch)
11173 (uri (git-reference
11174 (url "https://github.com/pkhuong/Napa-FFT3")
11175 (commit commit)))
11176 (file-name (git-file-name name version))
11177 (sha256
11178 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
11179 (build-system asdf-build-system/sbcl)
11180 (home-page "https://github.com/pkhuong/Napa-FFT3")
11181 (synopsis "Fast Fourier Transform routines in Common Lisp")
11182 (description
11183 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
11184 buildings blocks to express common operations that involve DFTs: filtering,
11185 convolutions, etc.")
11186 (license license:bsd-3))))
11187
11188 (define-public cl-napa-fft3
11189 (sbcl-package->cl-source-package sbcl-napa-fft3))
11190
11191 (define-public sbcl-cl-tga
11192 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
11193 (revision "0"))
11194 (package
11195 (name "sbcl-cl-tga")
11196 (version (git-version "0.0.0" revision commit))
11197 (source
11198 (origin
11199 (method git-fetch)
11200 (uri (git-reference
11201 (url "https://github.com/fisxoj/cl-tga")
11202 (commit commit)))
11203 (file-name (git-file-name name version))
11204 (sha256
11205 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
11206 (build-system asdf-build-system/sbcl)
11207 (home-page "https://github.com/fisxoj/cl-tga")
11208 (synopsis "TGA file loader for Common Lisp")
11209 (description
11210 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
11211 programs. It's a very simple library, and, at the moment, only supports
11212 non-RLE encoded forms of the files.")
11213 (license license:expat))))
11214
11215 (define-public cl-tga
11216 (sbcl-package->cl-source-package sbcl-cl-tga))
11217
11218 (define-public ecl-cl-tga
11219 (sbcl-package->ecl-package sbcl-cl-tga))
11220
11221 (define-public sbcl-com.gigamonkeys.binary-data
11222 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
11223 (revision "0"))
11224 (package
11225 (name "sbcl-com.gigamonkeys.binary-data")
11226 (version (git-version "0.0.0" revision commit))
11227 (source
11228 (origin
11229 (method git-fetch)
11230 (uri (git-reference
11231 (url "https://github.com/gigamonkey/monkeylib-binary-data")
11232 (commit commit)))
11233 (file-name (git-file-name name version))
11234 (sha256
11235 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
11236 (build-system asdf-build-system/sbcl)
11237 (inputs
11238 `(("alexandria" ,sbcl-alexandria)))
11239 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
11240 (synopsis "Common Lisp library for reading and writing binary data")
11241 (description
11242 "This a Common Lisp library for reading and writing binary data. It is
11243 based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
11244 (license license:bsd-3))))
11245
11246 (define-public cl-com.gigamonkeys.binary-data
11247 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
11248
11249 (define-public ecl-com.gigamonkeys.binary-data
11250 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
11251
11252 (define-public sbcl-deflate
11253 (package
11254 (name "sbcl-deflate")
11255 (version "1.0.3")
11256 (source
11257 (origin
11258 (method git-fetch)
11259 (uri (git-reference
11260 (url "https://github.com/pmai/Deflate")
11261 (commit (string-append "release-" version))))
11262 (file-name (git-file-name name version))
11263 (sha256
11264 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
11265 (build-system asdf-build-system/sbcl)
11266 (home-page "https://github.com/pmai/Deflate")
11267 (synopsis "Native deflate decompression for Common Lisp")
11268 (description
11269 "This library is an implementation of Deflate (RFC 1951) decompression,
11270 with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
11271 wrappers of deflate streams. It currently does not handle compression.")
11272 (license license:expat)))
11273
11274 (define-public cl-deflate
11275 (sbcl-package->cl-source-package sbcl-deflate))
11276
11277 (define-public ecl-deflate
11278 (sbcl-package->ecl-package sbcl-deflate))
11279
11280 (define-public sbcl-skippy
11281 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
11282 (revision "0"))
11283 (package
11284 (name "sbcl-skippy")
11285 (version (git-version "1.3.12" revision commit))
11286 (source
11287 (origin
11288 (method git-fetch)
11289 (uri (git-reference
11290 (url "https://github.com/xach/skippy")
11291 (commit commit)))
11292 (file-name (git-file-name name version))
11293 (sha256
11294 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
11295 (build-system asdf-build-system/sbcl)
11296 (home-page "https://xach.com/lisp/skippy/")
11297 (synopsis "Common Lisp library for GIF images")
11298 (description
11299 "Skippy is a Common Lisp library to read and write GIF image files.")
11300 (license license:bsd-2))))
11301
11302 (define-public cl-skippy
11303 (sbcl-package->cl-source-package sbcl-skippy))
11304
11305 (define-public ecl-skippy
11306 (sbcl-package->ecl-package sbcl-skippy))
11307
11308 (define-public sbcl-cl-freetype2
11309 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
11310 (revision "0"))
11311 (package
11312 (name "sbcl-cl-freetype2")
11313 (version (git-version "1.1" revision commit))
11314 (source
11315 (origin
11316 (method git-fetch)
11317 (uri (git-reference
11318 (url "https://github.com/rpav/cl-freetype2")
11319 (commit commit)))
11320 (file-name (git-file-name name version))
11321 (sha256
11322 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
11323 (build-system asdf-build-system/sbcl)
11324 (native-inputs
11325 `(("fiveam" ,sbcl-fiveam)))
11326 (inputs
11327 `(("alexandria" ,sbcl-alexandria)
11328 ("cffi" ,sbcl-cffi)
11329 ("freetype" ,freetype)
11330 ("trivial-garbage" ,sbcl-trivial-garbage)))
11331 (arguments
11332 `(#:phases
11333 (modify-phases %standard-phases
11334 (add-after 'unpack 'fix-paths
11335 (lambda* (#:key inputs #:allow-other-keys)
11336 (substitute* "src/ffi/ft2-lib.lisp"
11337 (("\"libfreetype\"")
11338 (string-append "\"" (assoc-ref inputs "freetype")
11339 "/lib/libfreetype\"")))
11340 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
11341 (("-I/usr/include/freetype")
11342 (string-append "-I" (assoc-ref inputs "freetype")
11343 "/include/freetype")))
11344 #t)))))
11345 (home-page "https://github.com/rpav/cl-freetype2")
11346 (synopsis "Common Lisp bindings for Freetype 2")
11347 (description
11348 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
11349 geared toward both using Freetype directly by providing a simplified API, as
11350 well as providing access to the underlying C structures and functions for use
11351 with other libraries which may also use Freetype.")
11352 (license license:bsd-3))))
11353
11354 (define-public cl-freetype2
11355 (sbcl-package->cl-source-package sbcl-cl-freetype2))
11356
11357 (define-public ecl-cl-freetype2
11358 (sbcl-package->ecl-package sbcl-cl-freetype2))
11359
11360 (define-public sbcl-opticl-core
11361 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
11362 (revision "0"))
11363 (package
11364 (name "sbcl-opticl-core")
11365 (version (git-version "0.0.0" revision commit))
11366 (source
11367 (origin
11368 (method git-fetch)
11369 (uri (git-reference
11370 (url "https://github.com/slyrus/opticl-core")
11371 (commit commit)))
11372 (file-name (git-file-name name version))
11373 (sha256
11374 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
11375 (build-system asdf-build-system/sbcl)
11376 (inputs
11377 `(("alexandria" ,sbcl-alexandria)))
11378 (home-page "https://github.com/slyrus/opticl-core")
11379 (synopsis "Core classes and pixel access macros for Opticl")
11380 (description
11381 "This Common Lisp library contains the core classes and pixel access
11382 macros for the Opticl image processing library.")
11383 (license license:bsd-2))))
11384
11385 (define-public cl-opticl-core
11386 (sbcl-package->cl-source-package sbcl-opticl-core))
11387
11388 (define-public ecl-opticl-core
11389 (sbcl-package->ecl-package sbcl-opticl-core))
11390
11391 (define-public sbcl-retrospectiff
11392 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
11393 (revision "0"))
11394 (package
11395 (name "sbcl-retrospectiff")
11396 (version (git-version "0.2" revision commit))
11397 (source
11398 (origin
11399 (method git-fetch)
11400 (uri (git-reference
11401 (url "https://github.com/slyrus/retrospectiff")
11402 (commit commit)))
11403 (file-name (git-file-name name version))
11404 (sha256
11405 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
11406 (build-system asdf-build-system/sbcl)
11407 (native-inputs
11408 `(("fiveam" ,sbcl-fiveam)))
11409 (inputs
11410 `(("cl-jpeg" ,sbcl-cl-jpeg)
11411 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
11412 ("deflate" ,sbcl-deflate)
11413 ("flexi-streams" ,sbcl-flexi-streams)
11414 ("ieee-floats" ,sbcl-ieee-floats)
11415 ("opticl-core" ,sbcl-opticl-core)))
11416 (home-page "https://github.com/slyrus/retrospectiff")
11417 (synopsis "Common Lisp library for TIFF images")
11418 (description
11419 "Retrospectiff is a common lisp library for reading and writing images
11420 in the TIFF (Tagged Image File Format) format.")
11421 (license license:bsd-2))))
11422
11423 (define-public cl-retrospectif
11424 (sbcl-package->cl-source-package sbcl-retrospectiff))
11425
11426 (define-public ecl-retrospectiff
11427 (sbcl-package->ecl-package sbcl-retrospectiff))
11428
11429 (define-public sbcl-mmap
11430 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
11431 (revision "0"))
11432 (package
11433 (name "sbcl-mmap")
11434 (version (git-version "1.0.0" revision commit))
11435 (source
11436 (origin
11437 (method git-fetch)
11438 (uri (git-reference
11439 (url "https://github.com/Shinmera/mmap")
11440 (commit commit)))
11441 (file-name (git-file-name name version))
11442 (sha256
11443 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
11444 (build-system asdf-build-system/sbcl)
11445 (native-inputs
11446 `(("alexandria" ,sbcl-alexandria)
11447 ("cffi" ,sbcl-cffi)
11448 ("parachute" ,sbcl-parachute)
11449 ("trivial-features" ,sbcl-trivial-features)))
11450 (inputs
11451 `(("cffi" ,sbcl-cffi)
11452 ("documentation-utils" ,sbcl-documentation-utils)))
11453 (home-page "https://shinmera.github.io/mmap/")
11454 (synopsis "File memory mapping for Common Lisp")
11455 (description
11456 "This is a utility library providing access to the @emph{mmap} family of
11457 functions in a portable way. It allows you to directly map a file into the
11458 address space of your process without having to manually read it into memory
11459 sequentially. Typically this is much more efficient for files that are larger
11460 than a few Kb.")
11461 (license license:zlib))))
11462
11463 (define-public cl-mmap
11464 (sbcl-package->cl-source-package sbcl-mmap))
11465
11466 (define-public ecl-mmap
11467 (sbcl-package->ecl-package sbcl-mmap))
11468
11469 (define-public sbcl-3bz
11470 (let ((commit "569614c40408f3aefc77ba233e0e4bd66d3850ad")
11471 (revision "1"))
11472 (package
11473 (name "sbcl-3bz")
11474 (version (git-version "0.0.0" revision commit))
11475 (source
11476 (origin
11477 (method git-fetch)
11478 (uri (git-reference
11479 (url "https://github.com/3b/3bz")
11480 (commit commit)))
11481 (file-name (git-file-name name version))
11482 (sha256
11483 (base32 "0kvvlvf50jhhw1s510f3clpr1a68632bq6d698yxcrx722igcrg4"))))
11484 (build-system asdf-build-system/sbcl)
11485 (inputs
11486 `(("alexandria" ,sbcl-alexandria)
11487 ("babel" ,sbcl-babel)
11488 ("cffi" ,sbcl-cffi)
11489 ("mmap" ,sbcl-mmap)
11490 ("nibbles" ,sbcl-nibbles)
11491 ("trivial-features" ,sbcl-trivial-features)))
11492 (arguments
11493 ;; FIXME: #41437 - Build fails when package name starts from a digit
11494 `(#:asd-systems '("3bz")))
11495 (home-page "https://github.com/3b/3bz")
11496 (synopsis "Deflate decompression for Common Lisp")
11497 (description
11498 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
11499 with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
11500 foreign pointers (for use with mmap and similar, etc), and from CL octet
11501 vectors and streams.")
11502 (license license:expat))))
11503
11504 (define-public cl-3bz
11505 (sbcl-package->cl-source-package sbcl-3bz))
11506
11507 (define-public ecl-3bz
11508 (sbcl-package->ecl-package sbcl-3bz))
11509
11510 (define-public sbcl-zpb-exif
11511 (package
11512 (name "sbcl-zpb-exif")
11513 (version "1.2.4")
11514 (source
11515 (origin
11516 (method git-fetch)
11517 (uri (git-reference
11518 (url "https://github.com/xach/zpb-exif")
11519 (commit (string-append "release-" version))))
11520 (file-name (git-file-name name version))
11521 (sha256
11522 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
11523 (build-system asdf-build-system/sbcl)
11524 (home-page "https://xach.com/lisp/zpb-exif/")
11525 (synopsis "EXIF information extractor for Common Lisp")
11526 (description
11527 "This is a Common Lisp library to extract EXIF information from image
11528 files.")
11529 (license license:bsd-2)))
11530
11531 (define-public cl-zpb-exif
11532 (sbcl-package->cl-source-package sbcl-zpb-exif))
11533
11534 (define-public ecl-zpb-exif
11535 (sbcl-package->ecl-package sbcl-zpb-exif))
11536
11537 (define-public sbcl-pngload
11538 (package
11539 (name "sbcl-pngload")
11540 (version "2.0.0")
11541 (source
11542 (origin
11543 (method git-fetch)
11544 (uri (git-reference
11545 (url "https://github.com/bufferswap/pngload")
11546 (commit version)))
11547 (file-name (git-file-name name version))
11548 (sha256
11549 (base32 "1ix8dd0fxlf8xm0bszh1s7sx83hn0vqq8b8c9gkrd5m310w8mpvh"))))
11550 (build-system asdf-build-system/sbcl)
11551 (inputs
11552 `(("3bz" ,sbcl-3bz)
11553 ("alexandria" ,sbcl-alexandria)
11554 ("cffi" ,sbcl-cffi)
11555 ("mmap" ,sbcl-mmap)
11556 ("parse-float" ,sbcl-parse-float)
11557 ("static-vectors" ,sbcl-static-vectors)
11558 ("swap-bytes" ,sbcl-swap-bytes)
11559 ("zpb-exif" ,sbcl-zpb-exif)))
11560 (arguments
11561 ;; Test suite disabled because of a dependency cycle.
11562 ;; pngload tests depend on opticl which depends on pngload.
11563 '(#:tests? #f))
11564 (home-page "https://github.com/bufferswap/pngload")
11565 (synopsis "PNG image decoder for Common Lisp")
11566 (description
11567 "This is a Common Lisp library to load images in the PNG image format,
11568 both from files on disk, or streams in memory.")
11569 (license license:expat)))
11570
11571 (define-public cl-pngload
11572 (sbcl-package->cl-source-package sbcl-pngload))
11573
11574 (define-public ecl-pngload
11575 (sbcl-package->ecl-package sbcl-pngload))
11576
11577 (define-public sbcl-opticl
11578 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
11579 (revision "0"))
11580 (package
11581 (name "sbcl-opticl")
11582 (version (git-version "0.0.0" revision commit))
11583 (source
11584 (origin
11585 (method git-fetch)
11586 (uri (git-reference
11587 (url "https://github.com/slyrus/opticl")
11588 (commit commit)))
11589 (file-name (git-file-name name version))
11590 (sha256
11591 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
11592 (build-system asdf-build-system/sbcl)
11593 (native-inputs
11594 `(("fiveam" ,sbcl-fiveam)))
11595 (inputs
11596 `(("alexandria" ,sbcl-alexandria)
11597 ("cl-jpeg" ,sbcl-cl-jpeg)
11598 ("cl-tga" ,sbcl-cl-tga)
11599 ("png-read" ,sbcl-png-read)
11600 ("pngload" ,sbcl-pngload)
11601 ("retrospectiff" ,sbcl-retrospectiff)
11602 ("skippy" ,sbcl-skippy)
11603 ("zpng" ,sbcl-zpng)))
11604 (arguments
11605 '(#:asd-files '("opticl.asd")))
11606 (home-page "https://github.com/slyrus/opticl")
11607 (synopsis "Image processing library for Common Lisp")
11608 (description
11609 "Opticl is a Common Lisp library for representing, processing, loading,
11610 and saving 2-dimensional pixel-based images.")
11611 (license license:bsd-2))))
11612
11613 (define-public cl-opticl
11614 (sbcl-package->cl-source-package sbcl-opticl))
11615
11616 (define-public ecl-opticl
11617 (sbcl-package->ecl-package sbcl-opticl))
11618
11619 (define-public sbcl-mcclim
11620 (let ((commit "04cc542dd4b461b9d56406e40681d1a8f080730f")
11621 (revision "1"))
11622 (package
11623 (name "sbcl-mcclim")
11624 (version (git-version "0.9.7" revision commit))
11625 (source
11626 (origin
11627 (method git-fetch)
11628 (uri (git-reference
11629 (url "https://github.com/mcclim/mcclim")
11630 (commit commit)))
11631 (file-name (git-file-name name version))
11632 (sha256
11633 (base32 "1xjly8i62z72hfhlnz5kjd9i8xhrwckc7avyizxvhih67pkjmsx0"))))
11634 (build-system asdf-build-system/sbcl)
11635 (native-inputs
11636 `(("fiveam" ,sbcl-fiveam)
11637 ("pkg-config" ,pkg-config)))
11638 (inputs
11639 `(("alexandria" ,sbcl-alexandria)
11640 ("babel" ,sbcl-babel)
11641 ("bordeaux-threads" ,sbcl-bordeaux-threads)
11642 ("cl-freetype2" ,sbcl-cl-freetype2)
11643 ("cl-pdf" ,sbcl-cl-pdf)
11644 ("cffi" ,sbcl-cffi)
11645 ("cl-unicode" ,sbcl-cl-unicode)
11646 ("cl-vectors" ,sbcl-cl-vectors)
11647 ("closer-mop" ,sbcl-closer-mop)
11648 ("clx" ,sbcl-clx)
11649 ("flexi-streams" ,sbcl-flexi-streams)
11650 ("flexichain" ,sbcl-flexichain)
11651 ("font-dejavu" ,font-dejavu)
11652 ("fontconfig" ,fontconfig)
11653 ("freetype" ,freetype)
11654 ("harfbuzz" ,harfbuzz)
11655 ("log4cl" ,sbcl-log4cl)
11656 ("opticl" ,sbcl-opticl)
11657 ("spatial-trees" ,sbcl-spatial-trees)
11658 ("swank" ,sbcl-slime-swank)
11659 ("trivial-features" ,sbcl-trivial-features)
11660 ("trivial-garbage" ,sbcl-trivial-garbage)
11661 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
11662 ("zpb-ttf" ,sbcl-zpb-ttf)))
11663 (arguments
11664 '(#:asd-systems '("mcclim"
11665 "clim-examples")
11666 #:phases
11667 (modify-phases %standard-phases
11668 (add-after 'unpack 'fix-paths
11669 (lambda* (#:key inputs #:allow-other-keys)
11670 ;; mcclim-truetype uses DejaVu as default font and
11671 ;; sets the path at build time.
11672 (substitute* "Extensions/fonts/fontconfig.lisp"
11673 (("/usr/share/fonts/truetype/dejavu/")
11674 (string-append (assoc-ref inputs "font-dejavu")
11675 "/share/fonts/truetype/")))
11676 (substitute* "Extensions/fontconfig/src/functions.lisp"
11677 (("libfontconfig\\.so")
11678 (string-append (assoc-ref inputs "fontconfig")
11679 "/lib/libfontconfig.so")))
11680 (substitute* "Extensions/harfbuzz/src/functions.lisp"
11681 (("libharfbuzz\\.so")
11682 (string-append (assoc-ref inputs "harfbuzz")
11683 "/lib/libharfbuzz.so")))
11684 #t))
11685 (add-after 'unpack 'fix-build
11686 (lambda _
11687 ;; The cffi-grovel system does not get loaded automatically,
11688 ;; so we load it explicitly.
11689 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
11690 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
11691 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
11692 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
11693 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
11694 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
11695 #t)))))
11696 (home-page "https://common-lisp.net/project/mcclim/")
11697 (synopsis "Common Lisp GUI toolkit")
11698 (description
11699 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
11700 specification}, a toolkit for writing GUIs in Common Lisp.")
11701 (license license:lgpl2.1+))))
11702
11703 (define-public cl-mcclim
11704 (sbcl-package->cl-source-package sbcl-mcclim))
11705
11706 (define-public ecl-mcclim
11707 (sbcl-package->ecl-package sbcl-mcclim))
11708
11709 (define-public sbcl-cl-inflector
11710 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
11711 (revision "1"))
11712 (package
11713 (name "sbcl-cl-inflector")
11714 (version (git-version "0.2" revision commit))
11715 (source
11716 (origin
11717 (method git-fetch)
11718 (uri (git-reference
11719 (url "https://github.com/AccelerationNet/cl-inflector")
11720 (commit commit)))
11721 (file-name (git-file-name name version))
11722 (sha256
11723 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
11724 (build-system asdf-build-system/sbcl)
11725 (native-inputs
11726 `(("lisp-unit2" ,sbcl-lisp-unit2)))
11727 (inputs
11728 `(("alexandria" ,sbcl-alexandria)
11729 ("cl-ppcre" ,sbcl-cl-ppcre)))
11730 (home-page "https://github.com/AccelerationNet/cl-inflector")
11731 (synopsis "Library to pluralize/singularize English and Portuguese words")
11732 (description
11733 "This is a common lisp library to easily pluralize and singularize
11734 English and Portuguese words. This is a port of the ruby ActiveSupport
11735 Inflector module.")
11736 (license license:expat))))
11737
11738 (define-public cl-inflector
11739 (sbcl-package->cl-source-package sbcl-cl-inflector))
11740
11741 (define-public ecl-cl-inflector
11742 (sbcl-package->ecl-package sbcl-cl-inflector))
11743
11744 (define-public sbcl-ixf
11745 (let ((commit "ed26f87e4127e4a9e3aac4ff1e60d1f39cca5183")
11746 (revision "1"))
11747 (package
11748 (name "sbcl-ixf")
11749 (version (git-version "0.1.0" revision commit))
11750 (source
11751 (origin
11752 (method git-fetch)
11753 (uri (git-reference
11754 (url "https://github.com/dimitri/cl-ixf")
11755 (commit commit)))
11756 (file-name (git-file-name "cl-ixf" version))
11757 (sha256
11758 (base32 "1wjdnf4vr9z7lcfc49kl43g6l2i23q9n81siy494k17d766cdvqa"))))
11759 (build-system asdf-build-system/sbcl)
11760 (inputs
11761 `(("alexandria" ,sbcl-alexandria)
11762 ("babel" ,sbcl-babel)
11763 ("cl-ppcre" ,sbcl-cl-ppcre)
11764 ("ieee-floats" ,sbcl-ieee-floats)
11765 ("local-time" ,sbcl-local-time)
11766 ("md5" ,sbcl-md5)
11767 ("split-sequence" ,sbcl-split-sequence)))
11768 (home-page "https://github.com/dimitri/cl-ixf")
11769 (synopsis "Parse IBM IXF file format")
11770 (description
11771 "This is a Common Lisp library to handle the IBM PC version of the IXF
11772 (Integration Exchange Format) file format.")
11773 (license license:public-domain))))
11774
11775 (define-public ecl-ixf
11776 (sbcl-package->ecl-package sbcl-ixf))
11777
11778 (define-public cl-ixf
11779 (sbcl-package->cl-source-package sbcl-ixf))
11780
11781 (define-public sbcl-qbase64
11782 (package
11783 (name "sbcl-qbase64")
11784 (version "0.3.0")
11785 (source
11786 (origin
11787 (method git-fetch)
11788 (uri (git-reference
11789 (url "https://github.com/chaitanyagupta/qbase64")
11790 (commit version)))
11791 (file-name (git-file-name name version))
11792 (sha256
11793 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
11794 (build-system asdf-build-system/sbcl)
11795 (inputs
11796 `(("metabang-bind" ,sbcl-metabang-bind)
11797 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
11798 (native-inputs
11799 `(("fiveam" ,sbcl-fiveam)))
11800 (home-page "https://github.com/chaitanyagupta/qbase64")
11801 (synopsis "Base64 encoder and decoder for Common Lisp")
11802 (description "@code{qbase64} provides a fast and flexible base64 encoder
11803 and decoder for Common Lisp.")
11804 (license license:bsd-3)))
11805
11806 (define-public cl-qbase64
11807 (sbcl-package->cl-source-package sbcl-qbase64))
11808
11809 (define-public ecl-qbase64
11810 (sbcl-package->ecl-package sbcl-qbase64))
11811
11812 (define-public sbcl-lw-compat
11813 ;; No release since 2013.
11814 (let ((commit "aabfe28c6c1a4949f9d7b3cb30319367c9fd1c0d"))
11815 (package
11816 (name "sbcl-lw-compat")
11817 (version (git-version "1.0.0" "1" commit))
11818 (source
11819 (origin
11820 (method git-fetch)
11821 (uri (git-reference
11822 (url "https://github.com/pcostanza/lw-compat/")
11823 (commit commit)))
11824 (file-name (git-file-name name version))
11825 (sha256
11826 (base32 "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav"))))
11827 (build-system asdf-build-system/sbcl)
11828 (home-page "https://github.com/pcostanza/lw-compat/")
11829 (synopsis "LispWorks utilities ported to other Common Lisp implementations")
11830 (description "This package contains a few utility functions from the
11831 LispWorks library that are used in software such as ContextL.")
11832 (license license:expat))))
11833
11834 (define-public cl-lw-compat
11835 (sbcl-package->cl-source-package sbcl-lw-compat))
11836
11837 (define-public ecl-lw-compat
11838 (sbcl-package->ecl-package sbcl-lw-compat))
11839
11840 (define-public sbcl-contextl
11841 ;; No release since 2013.
11842 (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9"))
11843 (package
11844 (name "sbcl-contextl")
11845 (version (git-version "1.0.0" "1" commit))
11846 (source
11847 (origin
11848 (method git-fetch)
11849 (uri (git-reference
11850 (url "https://github.com/pcostanza/contextl/")
11851 (commit commit)))
11852 (file-name (git-file-name name version))
11853 (sha256
11854 (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226"))))
11855 (build-system asdf-build-system/sbcl)
11856 (inputs
11857 `(("closer-mop" ,sbcl-closer-mop)
11858 ("lw-compat" ,sbcl-lw-compat)))
11859 (home-page "https://github.com/pcostanza/contextl")
11860 (synopsis "Context-oriented programming for Common Lisp")
11861 (description "ContextL is a CLOS extension for Context-Oriented
11862 Programming (COP).
11863
11864 Find overview of ContextL's features in an overview paper:
11865 @url{http://www.p-cos.net/documents/contextl-soa.pdf}. See also this general
11866 overview article about COP which also contains some ContextL examples:
11867 @url{http://www.jot.fm/issues/issue_2008_03/article4/}.")
11868 (license license:expat))))
11869
11870 (define-public cl-contextl
11871 (sbcl-package->cl-source-package sbcl-contextl))
11872
11873 (define-public ecl-contextl
11874 (sbcl-package->ecl-package sbcl-contextl))
11875
11876 (define-public sbcl-hu.dwim.common-lisp
11877 (package
11878 (name "sbcl-hu.dwim.common-lisp")
11879 (version "2015-07-09")
11880 (source
11881 (origin
11882 (method url-fetch)
11883 (uri (string-append
11884 "http://beta.quicklisp.org/archive/hu.dwim.common-lisp/"
11885 version "/hu.dwim.common-lisp-"
11886 (string-replace-substring version "-" "")
11887 "-darcs.tgz"))
11888 (sha256
11889 (base32 "13cxrvh55rw080mvfir7s7k735l9rcfh3khxp97qfwd5rz0gadb9"))))
11890 (build-system asdf-build-system/sbcl)
11891 (native-inputs
11892 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11893 (home-page "http://dwim.hu/")
11894 (synopsis "Redefine some standard Common Lisp names")
11895 (description "This library is a redefinition of the standard Common Lisp
11896 package that includes a number of renames and shadows. ")
11897 (license license:public-domain)))
11898
11899 (define-public cl-hu.dwim.common-lisp
11900 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
11901
11902 (define-public ecl-hu.dwim.common-lisp
11903 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
11904
11905 (define-public sbcl-hu.dwim.common
11906 (package
11907 (name "sbcl-hu.dwim.common")
11908 (version "2015-07-09")
11909 (source
11910 (origin
11911 (method url-fetch)
11912 (uri (string-append
11913 "http://beta.quicklisp.org/archive/hu.dwim.common/"
11914 version "/hu.dwim.common-"
11915 (string-replace-substring version "-" "")
11916 "-darcs.tgz"))
11917 (sha256
11918 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
11919 (build-system asdf-build-system/sbcl)
11920 (native-inputs
11921 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11922 (inputs
11923 `(("alexandria" ,sbcl-alexandria)
11924 ("anaphora" ,sbcl-anaphora)
11925 ("closer-mop" ,sbcl-closer-mop)
11926 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
11927 ("iterate" ,sbcl-iterate)
11928 ("metabang-bind" ,sbcl-metabang-bind)))
11929 (home-page "http://dwim.hu/")
11930 (synopsis "Common Lisp library shared by other hu.dwim systems")
11931 (description "This package contains a support library for other
11932 hu.dwim systems.")
11933 (license license:public-domain)))
11934
11935 (define-public cl-hu.dwim.common
11936 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
11937
11938 (define-public ecl-hu.dwim.common
11939 (sbcl-package->ecl-package sbcl-hu.dwim.common))
11940
11941 (define-public sbcl-hu.dwim.defclass-star
11942 (let ((commit "39d458f1b1bc830d1f5e18a6a35bf0e96a2cfd61"))
11943 (package
11944 (name "sbcl-hu.dwim.defclass-star")
11945 ;; We used to set version from the date when it was a darcs repo, so we
11946 ;; keep the year so that package gets updated on previous installs.
11947 (version (git-version "2021" "1" commit))
11948 (source
11949 (origin
11950 (method git-fetch)
11951 (uri (git-reference
11952 (url "https://github.com/hu-dwim/hu.dwim.defclass-star")
11953 (commit commit)))
11954 (file-name (git-file-name name version))
11955 (sha256
11956 (base32 "0hfkq2wad98vkyxdg1wh18y86d9w9yqkm8lxkk96szvpwymm7lmq"))))
11957 (build-system asdf-build-system/sbcl)
11958 (native-inputs
11959 `( ;; These 2 inputs are only needed tests which are disabled, see below.
11960 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
11961 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
11962 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
11963 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11964 (arguments
11965 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
11966 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
11967 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
11968 #:tests? #f))
11969 (home-page "https://github.com/hu-dwim/hu.dwim.defclass-star")
11970 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
11971 (description "@code{defclass-star} provides defclass* and defcondition* to
11972 simplify class and condition declarations. Features include:
11973
11974 @itemize
11975 @item Automatically export all or select slots at compile time.
11976 @item Define the @code{:initarg} and @code{:accessor} automatically.
11977 @item Specify a name transformer for both the @code{:initarg} and
11978 @code{:accessor}, etc.
11979 @item Specify the @code{:initform} as second slot value.
11980 @end itemize
11981
11982 See
11983 @url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
11984 for an example.")
11985 (license license:public-domain))))
11986
11987 (define-public cl-hu.dwim.defclass-star
11988 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
11989
11990 (define-public ecl-hu.dwim.defclass-star
11991 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))
11992
11993 (define-public sbcl-livesupport
11994 (let ((commit "71e6e412df9f3759ad8378fabb203913d82e228a")
11995 (revision "1"))
11996 (package
11997 (name "sbcl-livesupport")
11998 (version (git-version "0.0.0" revision commit))
11999 (source
12000 (origin
12001 (method git-fetch)
12002 (uri (git-reference
12003 (url "https://github.com/cbaggers/livesupport")
12004 (commit commit)))
12005 (file-name (git-file-name name version))
12006 (sha256
12007 (base32 "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"))))
12008 (build-system asdf-build-system/sbcl)
12009 (home-page "https://github.com/cbaggers/livesupport")
12010 (synopsis "Some helpers that make livecoding a little easier")
12011 (description "This package provides a macro commonly used in livecoding to
12012 enable continuing when errors are raised. Simply wrap around a chunk of code
12013 and it provides a restart called @code{continue} which ignores the error and
12014 carrys on from the end of the body.")
12015 (license license:bsd-2))))
12016
12017 (define-public cl-livesupport
12018 (sbcl-package->cl-source-package sbcl-livesupport))
12019
12020 (define-public ecl-livesupport
12021 (sbcl-package->ecl-package sbcl-livesupport))
12022
12023 (define-public sbcl-envy
12024 (let ((commit "956321b2852d58ba71c6fe621f5c2924178e9f88")
12025 (revision "1"))
12026 (package
12027 (name "sbcl-envy")
12028 (version (git-version "0.1" revision commit))
12029 (home-page "https://github.com/fukamachi/envy")
12030 (source
12031 (origin
12032 (method git-fetch)
12033 (uri (git-reference
12034 (url home-page)
12035 (commit commit)))
12036 (file-name (git-file-name name version))
12037 (sha256
12038 (base32 "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg"))))
12039 (build-system asdf-build-system/sbcl)
12040 ;; (native-inputs ; Only for tests.
12041 ;; `(("prove" ,sbcl-prove)
12042 ;; ("osicat" ,sbcl-osicat)))
12043 (arguments
12044 '(#:phases
12045 (modify-phases %standard-phases
12046 (add-after 'unpack 'fix-tests
12047 (lambda _
12048 (substitute* "envy-test.asd"
12049 (("cl-test-more") "prove"))
12050 #t)))
12051 ;; Tests fail with
12052 ;; Component ENVY-ASD::ENVY-TEST not found, required by #<SYSTEM "envy">
12053 ;; like xsubseq. Why?
12054 #:tests? #f))
12055 (synopsis "Common Lisp configuration switcher inspired by Perl's Config::ENV.")
12056 (description "Envy is a configuration manager for various applications.
12057 Envy uses an environment variable to determine a configuration to use. This
12058 can separate configuration system from an implementation.")
12059 (license license:bsd-2))))
12060
12061 (define-public cl-envy
12062 (sbcl-package->cl-source-package sbcl-envy))
12063
12064 (define-public ecl-envy
12065 (sbcl-package->ecl-package sbcl-envy))
12066
12067 (define-public sbcl-mito
12068 (let ((commit "d3b9e375ef364a65692da2185085a08c969ac88a")
12069 (revision "1"))
12070 (package
12071 (name "sbcl-mito")
12072 (version (git-version "0.1" revision commit))
12073 (home-page "https://github.com/fukamachi/mito")
12074 (source
12075 (origin
12076 (method git-fetch)
12077 (uri (git-reference
12078 (url home-page)
12079 (commit commit)))
12080 (file-name (git-file-name name version))
12081 (sha256
12082 (base32 "08mncgzjnbbsf1a6am3l73iw4lyfvz5ldjg5g84awfaxml4p73mb"))))
12083 (build-system asdf-build-system/sbcl)
12084 (native-inputs
12085 `(("prove" ,sbcl-prove)))
12086 (inputs
12087 `(("alexandria" ,sbcl-alexandria)
12088 ("cl-ppcre" ,sbcl-cl-ppcre)
12089 ("cl-reexport" ,sbcl-cl-reexport)
12090 ("closer-mop" ,sbcl-closer-mop)
12091 ("dbi" ,sbcl-dbi)
12092 ("dissect" ,sbcl-dissect)
12093 ("esrap" ,sbcl-esrap)
12094 ("local-time" ,sbcl-local-time)
12095 ("optima" ,sbcl-optima)
12096 ("sxql" ,sbcl-sxql)
12097 ("uuid" ,sbcl-uuid)))
12098 (arguments
12099 '(#:phases
12100 (modify-phases %standard-phases
12101 (add-after 'unpack 'remove-non-functional-tests
12102 (lambda _
12103 (substitute* "mito-test.asd"
12104 (("\\(:test-file \"db/mysql\"\\)") "")
12105 (("\\(:test-file \"db/postgres\"\\)") "")
12106 (("\\(:test-file \"dao\"\\)") "")
12107 ;; TODO: migration/sqlite3 should work, re-enable once
12108 ;; upstream has fixed it:
12109 ;; https://github.com/fukamachi/mito/issues/70
12110 (("\\(:test-file \"migration/sqlite3\"\\)") "")
12111 (("\\(:test-file \"migration/mysql\"\\)") "")
12112 (("\\(:test-file \"migration/postgres\"\\)") "")
12113 (("\\(:test-file \"postgres-types\"\\)") "")
12114 (("\\(:test-file \"mixin\"\\)") ""))
12115 #t)))
12116 ;; TODO: While all enabled tests pass, the phase fails with:
12117 ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito">
12118 #:tests? #f))
12119 (synopsis "ORM for Common Lisp with migrations and relationships support")
12120 (description "Mito is yet another object relational mapper, and it aims
12121 to be a successor of Integral.
12122
12123 @itemize
12124 @item Support MySQL, PostgreSQL and SQLite3.
12125 @item Add id (serial/uuid primary key), created_at and updated_at by default
12126 like Ruby's ActiveRecord.
12127 @item Migrations.
12128 @item Database schema versioning.
12129 @end itemize\n")
12130 (license license:llgpl))))
12131
12132 (define-public cl-mito
12133 (sbcl-package->cl-source-package sbcl-mito))
12134
12135 (define-public ecl-mito
12136 (sbcl-package->ecl-package sbcl-mito))
12137
12138 (define-public sbcl-kebab
12139 (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b")
12140 (revision "1"))
12141 (package
12142 (name "sbcl-kebab")
12143 (version (git-version "0.1" revision commit))
12144 (home-page "https://github.com/pocket7878/kebab")
12145 (source
12146 (origin
12147 (method git-fetch)
12148 (uri (git-reference
12149 (url home-page)
12150 (commit commit)))
12151 (file-name (git-file-name name version))
12152 (sha256
12153 (base32 "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"))))
12154 (build-system asdf-build-system/sbcl)
12155 (inputs
12156 `(("cl-ppcre" ,sbcl-cl-ppcre)
12157 ("alexandria" ,sbcl-alexandria)
12158 ("cl-interpol" ,sbcl-cl-interpol)
12159 ("split-sequence" ,sbcl-split-sequence)))
12160 (native-inputs
12161 `(("prove" ,sbcl-prove)))
12162 (arguments
12163 ;; Tests passes but the phase fails with
12164 ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">.
12165 `(#:tests? #f))
12166 (synopsis "Common Lisp case converter")
12167 (description "This Common Lisp library converts strings, symbols and
12168 keywords between any of the following typographical cases: PascalCase,
12169 camelCase, snake_case, kebab-case (lisp-case).")
12170 (license license:llgpl))))
12171
12172 (define-public cl-kebab
12173 (sbcl-package->cl-source-package sbcl-kebab))
12174
12175 (define-public ecl-kebab
12176 (sbcl-package->ecl-package sbcl-kebab))
12177
12178 (define-public sbcl-datafly
12179 (let ((commit "adece27fcbc4b5ea39ad1a105048b6b7166e3b0d")
12180 (revision "1"))
12181 (package
12182 (name "sbcl-datafly")
12183 (version (git-version "0.1" revision commit))
12184 (home-page "https://github.com/fukamachi/datafly")
12185 (source
12186 (origin
12187 (method git-fetch)
12188 (uri (git-reference
12189 (url home-page)
12190 (commit commit)))
12191 (file-name (git-file-name name version))
12192 (sha256
12193 (base32 "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv"))))
12194 (build-system asdf-build-system/sbcl)
12195 (inputs
12196 `(("alexandria" ,sbcl-alexandria)
12197 ("iterate" ,sbcl-iterate)
12198 ("optima" ,sbcl-optima)
12199 ("trivial-types" ,sbcl-trivial-types)
12200 ("closer-mop" ,sbcl-closer-mop)
12201 ("cl-syntax" ,sbcl-cl-syntax)
12202 ("sxql" ,sbcl-sxql)
12203 ("dbi" ,sbcl-dbi)
12204 ("babel" ,sbcl-babel)
12205 ("local-time" ,sbcl-local-time)
12206 ("function-cache" ,sbcl-function-cache)
12207 ("jonathan" ,sbcl-jonathan)
12208 ("kebab" ,sbcl-kebab)
12209 ("log4cl" ,sbcl-log4cl)))
12210 (native-inputs
12211 `(("prove" ,sbcl-prove)))
12212 (arguments
12213 ;; TODO: Tests fail with
12214 ;; While evaluating the form starting at line 22, column 0
12215 ;; of #P"/tmp/guix-build-sbcl-datafly-0.1-1.adece27.drv-0/source/t/datafly.lisp":
12216 ;; Unhandled SQLITE:SQLITE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
12217 ;; {10009F8083}>:
12218 ;; Error when binding parameter 1 to value NIL.
12219 ;; Code RANGE: column index out of range.
12220 `(#:tests? #f))
12221 (synopsis "Lightweight database library for Common Lisp")
12222 (description "Datafly is a lightweight database library for Common Lisp.")
12223 (license license:bsd-3))))
12224
12225 (define-public cl-datafly
12226 (sbcl-package->cl-source-package sbcl-datafly))
12227
12228 (define-public ecl-datafly
12229 (sbcl-package->ecl-package sbcl-datafly))
12230
12231 (define-public sbcl-do-urlencode
12232 (let ((commit "199846441dad5dfac5478b8dee4b4e20d107af6a")
12233 (revision "1"))
12234 (package
12235 (name "sbcl-do-urlencode")
12236 (version (git-version "0.0.0" revision commit))
12237 (home-page "https://github.com/drdo/do-urlencode")
12238 (source
12239 (origin
12240 (method git-fetch)
12241 (uri (git-reference
12242 (url home-page)
12243 (commit commit)))
12244 (file-name (git-file-name name version))
12245 (sha256
12246 (base32 "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"))))
12247 (build-system asdf-build-system/sbcl)
12248 (inputs
12249 `(("alexandria" ,sbcl-alexandria)
12250 ("babel" ,sbcl-babel)))
12251 (synopsis "Percent Encoding (aka URL Encoding) Common Lisp library")
12252 (description "This library provides trivial percent encoding and
12253 decoding functions for URLs.")
12254 (license license:isc))))
12255
12256 (define-public cl-do-urlencode
12257 (sbcl-package->cl-source-package sbcl-do-urlencode))
12258
12259 (define-public ecl-do-urlencode
12260 (sbcl-package->ecl-package sbcl-do-urlencode))
12261
12262 (define-public sbcl-cl-emb
12263 (let ((commit "fd8652174d048d4525a81f38cdf42f4fa519f840")
12264 (revision "1"))
12265 (package
12266 (name "sbcl-cl-emb")
12267 (version (git-version "0.4.3" revision commit))
12268 (home-page "https://common-lisp.net/project/cl-emb/")
12269 (source
12270 (origin
12271 (method git-fetch)
12272 (uri (git-reference
12273 (url "https://github.com/38a938c2/cl-emb")
12274 (commit commit)))
12275 (file-name (git-file-name name version))
12276 (sha256
12277 (base32 "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"))))
12278 (build-system asdf-build-system/sbcl)
12279 (inputs
12280 `(("cl-ppcre" ,sbcl-cl-ppcre)))
12281 (synopsis "Templating system for Common Lisp")
12282 (description "A mixture of features from eRuby and HTML::Template. You
12283 could name it \"Yet Another LSP\" (LispServer Pages) but it's a bit more than
12284 that and not limited to a certain server or text format.")
12285 (license license:llgpl))))
12286
12287 (define-public cl-emb
12288 (sbcl-package->cl-source-package sbcl-cl-emb))
12289
12290 (define-public ecl-cl-emb
12291 (sbcl-package->ecl-package sbcl-cl-emb))
12292
12293 (define-public sbcl-cl-project
12294 (let ((commit "151107014e534fc4666222d57fec2cc8549c8814")
12295 (revision "1"))
12296 (package
12297 (name "sbcl-cl-project")
12298 (version (git-version "0.3.1" revision commit))
12299 (home-page "https://github.com/fukamachi/cl-project")
12300 (source
12301 (origin
12302 (method git-fetch)
12303 (uri (git-reference
12304 (url home-page)
12305 (commit commit)))
12306 (file-name (git-file-name name version))
12307 (sha256
12308 (base32 "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y"))))
12309 (build-system asdf-build-system/sbcl)
12310 (inputs
12311 `(("cl-emb" ,sbcl-cl-emb)
12312 ("cl-ppcre" ,sbcl-cl-ppcre)
12313 ("local-time" ,sbcl-local-time)
12314 ("prove" ,sbcl-prove)))
12315 (arguments
12316 ;; Tests depend on caveman, which in turns depends on cl-project.
12317 '(#:tests? #f
12318 #:asd-files '("cl-project.asd")))
12319 (synopsis "Generate a skeleton for modern Common Lisp projects")
12320 (description "This library provides a modern project skeleton generator.
12321 In contract with other generators, CL-Project generates one package per file
12322 and encourages unit testing by generating a system for unit testing, so you
12323 can begin writing unit tests as soon as the project is generated.")
12324 (license license:llgpl))))
12325
12326 (define-public cl-project
12327 (sbcl-package->cl-source-package sbcl-cl-project))
12328
12329 (define-public ecl-cl-project
12330 (sbcl-package->ecl-package sbcl-cl-project))
12331
12332 (define-public sbcl-caveman
12333 (let ((commit "faa5f7e3b364fd7e7096af9a7bb06728b8d80441") ; No release since 2012
12334 (revision "1"))
12335 (package
12336 (name "sbcl-caveman")
12337 (version (git-version "2.4.0" revision commit))
12338 (home-page "http://8arrow.org/caveman/")
12339 (source
12340 (origin
12341 (method git-fetch)
12342 (uri (git-reference
12343 (url "https://github.com/fukamachi/caveman/")
12344 (commit commit)))
12345 (file-name (git-file-name name version))
12346 (sha256
12347 (base32 "0kh0gx05pczk8f7r9qdi4zn1p3d0a2prps27k7jpgvc1dxkl8qhq"))))
12348 (build-system asdf-build-system/sbcl)
12349 (inputs
12350 `(("ningle" ,cl-ningle)
12351 ("lack" ,sbcl-lack)
12352 ("cl-project" ,sbcl-cl-project)
12353 ("dbi" ,sbcl-dbi)
12354 ("cl-syntax" ,sbcl-cl-syntax)
12355 ("myway" ,sbcl-myway)
12356 ("quri" ,sbcl-quri)))
12357 (native-inputs
12358 `(("usocket" ,sbcl-usocket)
12359 ("dexador" ,sbcl-dexador)))
12360 (arguments
12361 `(#:asd-files '("caveman2.asd")
12362 #:asd-systems '("caveman2")
12363 #:phases
12364 (modify-phases %standard-phases
12365 (add-after 'unpack 'remove-v1
12366 (lambda _
12367 (delete-file-recursively "v1")
12368 (for-each delete-file
12369 '("README.v1.markdown" "caveman.asd" "caveman-test.asd")))))
12370 ;; TODO: Tests fail with:
12371 ;; writing /gnu/store/...-sbcl-caveman-2.4.0-1.faa5f7e/share/common-lisp/sbcl-source/caveman2/v2/t/tmp/myapp573/tests/myapp573.lisp
12372 ;; While evaluating the form starting at line 38, column 0
12373 ;; of #P"/tmp/guix-build-sbcl-caveman-2.4.0-1.faa5f7e.drv-0/source/v2/t/caveman.lisp":
12374 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD "main thread" RUNNING
12375 ;; {10009F8083}>:
12376 ;; Component "myapp573" not found
12377 #:tests? #f))
12378 (synopsis "Lightweight web application framework in Common Lisp")
12379 (description "Caveman is intended to be a collection of common parts for
12380 web applications. Caveman2 has three design goals:
12381
12382 @itemize
12383 @item Be extensible.
12384 @item Be practical.
12385 @item Don't force anything.
12386 @end itemize\n")
12387 (license license:llgpl))))
12388
12389 (define-public cl-caveman
12390 (package
12391 (inherit
12392 (sbcl-package->cl-source-package sbcl-caveman))
12393 (propagated-inputs
12394 `(("ningle" ,cl-ningle)))))
12395
12396 (define-public ecl-caveman
12397 (sbcl-package->ecl-package sbcl-caveman))
12398
12399 (define-public sbcl-lambda-fiddle
12400 (let ((commit "d16bba55acf6065b412f64ab8fdff679a4a32b1e") ;; no tagged branch
12401 (revision "1"))
12402 (package
12403 (name "sbcl-lambda-fiddle")
12404 (version (git-version "1.0.0" revision commit))
12405 (source
12406 (origin
12407 (method git-fetch)
12408 (uri (git-reference
12409 (url "https://github.com/Shinmera/lambda-fiddle")
12410 (commit commit)))
12411 (file-name (git-file-name name version))
12412 (sha256
12413 (base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand"))))
12414 (build-system asdf-build-system/sbcl)
12415 (home-page "https://github.com/Shinmera/lambda-fiddle")
12416 (synopsis "Collection of utilities to process lambda-lists")
12417 (description "This collection of utilities is useful in contexts where
12418 you want a macro that uses lambda-lists in some fashion but need more precise
12419 processing.")
12420 (license license:zlib))))
12421
12422 (define-public cl-lambda-fiddle
12423 (sbcl-package->cl-source-package sbcl-lambda-fiddle))
12424
12425 (define-public ecl-lambda-fiddle
12426 (sbcl-package->ecl-package sbcl-lambda-fiddle))
12427
12428 (define-public sbcl-xmls
12429 (let ((commit "18546f0850b1338e03997ffd1696add1cb1800d1") ;; no tagged branch
12430 (revision "1"))
12431 (package
12432 (name "sbcl-xmls")
12433 (version (git-version "3.0.2" revision commit))
12434 (source
12435 (origin
12436 (method git-fetch)
12437 (uri (git-reference
12438 (url "https://github.com/rpgoldman/xmls")
12439 (commit commit)))
12440 (file-name (git-file-name name version))
12441 (sha256
12442 (base32 "1lmvfml2ldbb1wkhm25jqqk2bhwsz52hhcgljbnzj1xr8xhc3anp"))))
12443 (native-inputs
12444 `(("fiveam" ,sbcl-fiveam)))
12445 (build-system asdf-build-system/sbcl)
12446 (home-page "https://github.com/rpgoldman/xmls")
12447 (synopsis "Non-validating XML parser for Common Lisp")
12448 (description "Xmls is a self-contained, easily embedded parser that
12449 recognizes a useful subset of the XML spec. It provides a simple mapping from
12450 XML to Lisp structures or s-expressions and back.")
12451 (license license:bsd-2))))
12452
12453 (define-public cl-xmls
12454 (sbcl-package->cl-source-package sbcl-xmls))
12455
12456 (define-public ecl-xmls
12457 (sbcl-package->ecl-package sbcl-xmls))
12458
12459 (define-public sbcl-geco
12460 (package
12461 (name "sbcl-geco")
12462 (version "2.1.1")
12463 (source
12464 (origin
12465 (method git-fetch)
12466 (uri (git-reference
12467 (url "https://github.com/gpwwjr/GECO")
12468 (commit (string-append "v" version))))
12469 (file-name (git-file-name "geco" version))
12470 (sha256
12471 (base32 "1rc8a4mk40hjx5qy980hjylv6xxqdbq38hg8c4w30y93abfd519s"))))
12472 (build-system asdf-build-system/sbcl)
12473 (home-page "http://hiwaay.net/~gpw/geco/geco.html")
12474 (synopsis "Genetic algorithm toolkit for Common Lisp")
12475 (description
12476 "GECO (Genetic Evolution through Combination of Objects) is an extensible,
12477 object-oriented framework for prototyping genetic algorithms in Common Lisp.")
12478 (license license:lgpl2.1+)))
12479
12480 (define-public cl-geco
12481 (sbcl-package->cl-source-package sbcl-geco))
12482
12483 (define-public ecl-geco
12484 (sbcl-package->ecl-package sbcl-geco))
12485
12486 (define-public sbcl-html-entities
12487 (let ((commit "4af018048e891f41d77e7d680ed3aeb639e1eedb"))
12488 (package
12489 (name "sbcl-html-entities")
12490 (version (git-version "0.02" "1" commit))
12491 (source
12492 (origin
12493 (method git-fetch)
12494 (uri (git-reference
12495 (url "https://github.com/BnMcGn/html-entities/")
12496 (commit commit)))
12497 (file-name (git-file-name name version))
12498 (sha256
12499 (base32 "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"))))
12500 (build-system asdf-build-system/sbcl)
12501 (inputs
12502 `(("ppcre" ,sbcl-cl-ppcre)))
12503 (native-inputs
12504 `(("fiveam" ,sbcl-fiveam)))
12505 (home-page "https://github.com/BnMcGn/html-entities/")
12506 (synopsis "Encode and decode entities in HTML with Common Lisp")
12507 (description "Html-entities is a Common Lisp library that lets you
12508 encode and decode entities in HTML.")
12509 (license license:expat))))
12510
12511 (define-public cl-html-entities
12512 (sbcl-package->cl-source-package sbcl-html-entities))
12513
12514 (define-public ecl-html-entities
12515 (sbcl-package->ecl-package sbcl-html-entities))
12516
12517 (define-public sbcl-quicksearch
12518 (let ((commit "fb02ecf7c876ec580ab18c7d2c8c7814c06af599"))
12519 (package
12520 (name "sbcl-quicksearch")
12521 (version (git-version "0.01.04" "1" commit))
12522 (source
12523 (origin
12524 (method git-fetch)
12525 (uri (git-reference
12526 (url "https://github.com/tkych/quicksearch/")
12527 (commit commit)))
12528 (file-name (git-file-name name version))
12529 (sha256
12530 (base32 "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps"))))
12531 (build-system asdf-build-system/sbcl)
12532 (inputs
12533 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12534 ("iterate" ,sbcl-iterate)
12535 ("alexandria" ,sbcl-alexandria)
12536 ("anaphora" ,sbcl-anaphora)
12537 ("ppcre" ,sbcl-cl-ppcre)
12538 ("drakma" ,sbcl-drakma)
12539 ("html-entities" ,sbcl-html-entities)
12540 ("yason" ,sbcl-yason)
12541 ("flexi-streams" ,sbcl-flexi-streams)
12542 ("do-urlencode" ,sbcl-do-urlencode)))
12543 (home-page "https://github.com/tkych/quicksearch/")
12544 (synopsis "Search Engine Interface for Common Lisp packages")
12545 (description "Quicksearch is a search-engine-interface for Common Lisp.
12546 The goal of Quicksearch is to find the Common Lisp library quickly. For
12547 example, if you will find the library about json, just type @code{(qs:?
12548 'json)} at REPL.
12549
12550 The function @code{quicksearch} searches for Common Lisp projects in
12551 Quicklisp, Cliki, GitHub and BitBucket, then outputs results in REPL. The
12552 function @code{?} is abbreviation wrapper for @code{quicksearch}.")
12553 (license license:expat))))
12554
12555 (define-public cl-quicksearch
12556 (sbcl-package->cl-source-package sbcl-quicksearch))
12557
12558 (define-public ecl-quicksearch
12559 (sbcl-package->ecl-package sbcl-quicksearch))
12560
12561 (define-public sbcl-agutil
12562 (let ((commit "df188d754d472da9faa1601a48f1f37bb7b34d68"))
12563 (package
12564 (name "sbcl-agutil")
12565 (version (git-version "0.0.1" "1" commit))
12566 (source
12567 (origin
12568 (method git-fetch)
12569 (uri (git-reference
12570 (url "https://github.com/alex-gutev/agutil/")
12571 (commit commit)))
12572 (file-name (git-file-name name version))
12573 (sha256
12574 (base32 "1xpnyzksk2xld64b6lw6rw0gn5zxlb77jwna59sd4yl7kxhxlfpf"))))
12575 (build-system asdf-build-system/sbcl)
12576 (inputs
12577 `(("alexandria" ,sbcl-alexandria)
12578 ("trivia" ,sbcl-trivia)))
12579 (home-page "https://github.com/alex-gutev/agutil/")
12580 (synopsis "Collection of Common Lisp utilities")
12581 (description "A collection of Common Lisp utility functions and macros
12582 mostly not found in other utility packages.")
12583 (license license:expat))))
12584
12585 (define-public cl-agutil
12586 (sbcl-package->cl-source-package sbcl-agutil))
12587
12588 (define-public ecl-agutil
12589 (sbcl-package->ecl-package sbcl-agutil))
12590
12591 (define-public sbcl-custom-hash-table
12592 (let ((commit "f26983133940f5edf826ebbc8077acc04816ddfa"))
12593 (package
12594 (name "sbcl-custom-hash-table")
12595 (version (git-version "0.3" "1" commit))
12596 (source
12597 (origin
12598 (method git-fetch)
12599 (uri (git-reference
12600 (url "https://github.com/metawilm/cl-custom-hash-table")
12601 (commit commit)))
12602 (file-name (git-file-name name version))
12603 (sha256
12604 (base32 "1k4mvrpbqqds2fwjxp1bxmrfmr8ch4dkwhnkbw559knbqshvrlj5"))))
12605 (build-system asdf-build-system/sbcl)
12606 (arguments
12607 '(#:asd-files '("cl-custom-hash-table.asd")
12608 #:asd-systems '("cl-custom-hash-table")))
12609 (home-page "https://github.com/metawilm/cl-custom-hash-table")
12610 (synopsis "Custom hash tables for Common Lisp")
12611 (description "This library allows creation of hash tables with arbitrary
12612 @code{test}/@code{hash} functions, in addition to the @code{test} functions
12613 allowed by the standard (@code{EQ}, @code{EQL}, @code{EQUAL} and
12614 @code{EQUALP}), even in implementations that don't support this functionality
12615 directly.")
12616 (license license:expat))))
12617
12618 (define-public cl-custom-hash-table
12619 (sbcl-package->cl-source-package sbcl-custom-hash-table))
12620
12621 (define-public ecl-custom-hash-table
12622 (sbcl-package->ecl-package sbcl-custom-hash-table))
12623
12624 (define-public sbcl-collectors
12625 (let ((commit "13acef25d8422d1d82e067b1861e513587c166ee"))
12626 (package
12627 (name "sbcl-collectors")
12628 (version (git-version "0.1" "1" commit))
12629 (source
12630 (origin
12631 (method git-fetch)
12632 (uri (git-reference
12633 (url "https://github.com/AccelerationNet/collectors")
12634 (commit commit)))
12635 (file-name (git-file-name name version))
12636 (sha256
12637 (base32 "1si68n1j6rpns8jw6ksqjpb937pdl30v7xza8rld7j5vh0jhy2yi"))))
12638 (build-system asdf-build-system/sbcl)
12639 (inputs
12640 `(("alexandria" ,sbcl-alexandria)
12641 ("closer-mop" ,sbcl-closer-mop)
12642 ("symbol-munger" ,sbcl-symbol-munger)))
12643 (native-inputs
12644 `(("lisp-unit2" ,sbcl-lisp-unit2)))
12645 (home-page "https://github.com/AccelerationNet/collectors/")
12646 (synopsis "Common lisp library providing collector macros")
12647 (description "A small collection of common lisp macros to make
12648 collecting values easier.")
12649 (license license:bsd-3))))
12650
12651 (define-public cl-collectors
12652 (sbcl-package->cl-source-package sbcl-collectors))
12653
12654 (define-public ecl-collectors
12655 (sbcl-package->ecl-package sbcl-collectors))
12656
12657 (define-public sbcl-cl-environments
12658 (let ((commit "0b22154c5afefef23d1eba9a4fae11d73580ef41")) ; No version in 2 years.
12659 (package
12660 (name "sbcl-cl-environments")
12661 (version (git-version "0.2.3" "1" commit))
12662 (source
12663 (origin
12664 (method git-fetch)
12665 (uri (git-reference
12666 (url "https://github.com/alex-gutev/cl-environments")
12667 (commit commit)))
12668 (file-name (git-file-name name version))
12669 (sha256
12670 (base32
12671 "18r3wfarr7lgn78m6c66r0r9aazirv07gy7xgvqkl9pmrz1bc47m"))))
12672 (build-system asdf-build-system/sbcl)
12673 (inputs
12674 `(("alexandria" ,sbcl-alexandria)
12675 ("anaphora" ,sbcl-anaphora)
12676 ("collectors" ,sbcl-collectors)
12677 ("optima" ,sbcl-optima)))
12678 (native-inputs
12679 `(("prove" ,sbcl-prove)))
12680 (home-page "https://github.com/alex-gutev/cl-environments")
12681 (synopsis "Implements the Common Lisp standard environment access API")
12682 (description "This library provides a uniform API, as specified in Common
12683 Lisp the Language 2, for accessing information about variable and function
12684 bindings from implementation-defined lexical environment objects. All major
12685 Common Lisp implementations are supported, even those which don't support the
12686 CLTL2 environment access API.")
12687 (license license:expat))))
12688
12689 (define-public cl-environments
12690 (sbcl-package->cl-source-package sbcl-cl-environments))
12691
12692 (define-public ecl-environments
12693 (sbcl-package->ecl-package sbcl-cl-environments))
12694
12695 (define-public sbcl-static-dispatch
12696 (let ((commit "6243afcd152854c52ba33daef7394367b657d9c6")
12697 (revision "1"))
12698 (package
12699 (name "sbcl-static-dispatch")
12700 (version (git-version "0.3" revision commit))
12701 (source
12702 (origin
12703 (method git-fetch)
12704 (uri (git-reference
12705 (url "https://github.com/alex-gutev/static-dispatch")
12706 (commit commit)))
12707 (file-name (git-file-name "static-dispatch" version))
12708 (sha256
12709 (base32 "1lli9ar1xbnhkgb5d01rlw4pvfylg2arrw68np2c07fpkkafimg7"))))
12710 (build-system asdf-build-system/sbcl)
12711 (native-inputs
12712 `(("prove" ,sbcl-prove)))
12713 (inputs
12714 `(("agutil" ,sbcl-agutil)
12715 ("alexandria" ,sbcl-alexandria)
12716 ("anaphora" ,sbcl-anaphora)
12717 ("arrows" ,sbcl-arrows)
12718 ("cl-environments" ,sbcl-cl-environments)
12719 ("closer-mop" ,sbcl-closer-mop)
12720 ("iterate" ,sbcl-iterate)
12721 ("trivia" ,sbcl-trivia)))
12722 (home-page "https://github.com/alex-gutev/static-dispatch")
12723 (synopsis "Static generic function dispatch for Common Lisp")
12724 (description "Static dispatch is a Common Lisp library, inspired by
12725 @code{inlined-generic-function}, which allows standard Common Lisp generic
12726 function dispatch to be performed statically (at compile time) rather than
12727 dynamically (runtime). This is similar to what is known as \"overloading\" in
12728 languages such as C++ and Java.
12729
12730 The purpose of static dispatch is to provide an optimization in cases where
12731 the usual dynamic dispatch is too slow, and the dynamic features of generic
12732 functions, such as adding/removing methods at runtime are not required. An
12733 example of such a case is a generic equality comparison function. Currently
12734 generic functions are considered far too slow to implement generic arithmetic
12735 and comparison operations when used heavily in numeric code.")
12736 (license license:expat))))
12737
12738 (define-public cl-static-dispatch
12739 (sbcl-package->cl-source-package sbcl-static-dispatch))
12740
12741 (define-public ecl-static-dispatch
12742 (sbcl-package->ecl-package sbcl-static-dispatch))
12743
12744 (define-public sbcl-generic-cl
12745 ;; Latest commit includes a necessary fix for our Guix build.
12746 (let ((commit "8e5a81487ee3c13fe5ffdc8bdda161d476639535"))
12747 (package
12748 (name "sbcl-generic-cl")
12749 (version (git-version "0.7.1" "1" commit))
12750 (source
12751 (origin
12752 (method git-fetch)
12753 (uri (git-reference
12754 (url "https://github.com/alex-gutev/generic-cl")
12755 (commit commit)))
12756 (file-name (git-file-name name version))
12757 (sha256
12758 (base32
12759 "11w0g79s4wmc78vmfng437rmsgnp5qn246zcyr540fp5nw0ad6ix"))))
12760 (build-system asdf-build-system/sbcl)
12761 (inputs
12762 `(("agutil" ,sbcl-agutil)
12763 ("alexandria" ,sbcl-alexandria)
12764 ("anaphora" ,sbcl-anaphora)
12765 ("arrows" ,sbcl-arrows)
12766 ("cl-custom-hash-table" ,sbcl-custom-hash-table)
12767 ("static-dispatch" ,sbcl-static-dispatch)
12768 ("trivia" ,sbcl-trivia)))
12769 (native-inputs
12770 `(("prove" ,sbcl-prove)))
12771 (arguments
12772 ;; Tests fail because SBCL head size is not high enough.
12773 ;; https://github.com/alex-gutev/generic-cl/issues/6
12774 `(#:tests? #f))
12775 (home-page "https://alex-gutev.github.io/generic-cl/")
12776 (synopsis "Generic function interface to standard Common Lisp functions")
12777 (description "@code{generic-cl} provides a generic function wrapper over
12778 various functions in the Common Lisp standard, such as equality predicates and
12779 sequence operations. The goal of this wrapper is to provide a standard
12780 interface to common operations, such as testing for the equality of two
12781 objects, which is extensible to user-defined types.")
12782 (license license:expat))))
12783
12784 (define-public cl-generic-cl
12785 (sbcl-package->cl-source-package sbcl-generic-cl))
12786
12787 (define-public ecl-generic-cl
12788 (sbcl-package->ecl-package sbcl-generic-cl))
12789
12790 (define-public sbcl-defpackage-plus
12791 (let ((revision "0")
12792 (commit "5492e27e0bdb7b75fa5177ea4388519dc7a75f11"))
12793 (package
12794 (name "sbcl-defpackage-plus")
12795 (version (git-version "1.0" revision commit))
12796 (source
12797 (origin
12798 (method git-fetch)
12799 (uri (git-reference
12800 (url "https://github.com/rpav/defpackage-plus")
12801 (commit commit)))
12802 (file-name (git-file-name name version))
12803 (sha256
12804 (base32 "0lzljvf343xb6mlh6lni2i27hpm5qd376522mk6hr2pa20vd6rdq"))))
12805 (build-system asdf-build-system/sbcl)
12806 (inputs
12807 `(("alexandria" ,sbcl-alexandria)))
12808 (home-page "https://github.com/rpav/defpackage-plus")
12809 (synopsis "Extensible @code{DEFPACKAGE} variant with version support")
12810 (description
12811 "@code{DEFPACKAGE-PLUS} is an extensible @code{DEFPACKAGE} variant with
12812 predictable cross-platform behavior and some utilities useful for versioning.")
12813 (license license:bsd-2))))
12814
12815 (define-public cl-defpackage-plus
12816 (sbcl-package->cl-source-package sbcl-defpackage-plus))
12817
12818 (define-public ecl-defpackage-plus
12819 (sbcl-package->ecl-package sbcl-defpackage-plus))
12820
12821 (define-public sbcl-deploy
12822 (let ((commit "9b20e64fe924b9e31832304d87a3a72c383dc6d8")
12823 (revision "2"))
12824 (package
12825 (name "sbcl-deploy")
12826 (version (git-version "1.0.0" revision commit))
12827 (source
12828 (origin
12829 (method git-fetch)
12830 (uri (git-reference
12831 (url "https://github.com/Shinmera/deploy")
12832 (commit commit)))
12833 (file-name (git-file-name "deploy" version))
12834 (sha256
12835 (base32 "07pfkibaridihg8lbq2czwa4iqifqk24n6rx7bfnv7i49p1ppja1"))))
12836 (build-system asdf-build-system/sbcl)
12837 (arguments
12838 `(#:test-asd-file "deploy-test.asd"
12839 #:asd-files '("deploy.asd"
12840 "deploy-test.asd")))
12841 (native-inputs
12842 `(("cl-mpg123" ,sbcl-cl-mpg123)
12843 ("cl-out123" ,sbcl-cl-out123)))
12844 (inputs
12845 `(("cffi" ,sbcl-cffi)
12846 ("documentation-utils" ,sbcl-documentation-utils)
12847 ("trivial-features" ,sbcl-trivial-features)))
12848 (home-page "https://shinmera.github.io/deploy/")
12849 (synopsis "Deployment tools for standalone Common Lisp application")
12850 (description
12851 "This is a system to help you easily and quickly deploy standalone
12852 common lisp applications as binaries. Specifically it is geared towards
12853 applications with foreign library dependencies that run some kind of GUI.")
12854 (license license:artistic2.0))))
12855
12856 (define-public cl-deploy
12857 (sbcl-package->cl-source-package sbcl-deploy))
12858
12859 (define-public ecl-deploy
12860 (sbcl-package->ecl-package sbcl-deploy))
12861
12862 (define-public sbcl-deeds
12863 ;; taged branch is outdated
12864 (let ((revision "1")
12865 (commit "f5df54eac79b58a34030e0eb8acf3952c788410d"))
12866 (package
12867 (name "sbcl-deeds")
12868 (version (git-version "1.1.1" revision commit))
12869 (source
12870 (origin
12871 (method git-fetch)
12872 (uri (git-reference
12873 (url "https://github.com/Shinmera/deeds")
12874 (commit commit)))
12875 (file-name (git-file-name name version))
12876 (sha256
12877 (base32 "062cnb2dwli6pw3zvv46jfxyxdzcbzwsck5pa6nw03qf1j1hyg3k"))))
12878 (build-system asdf-build-system/sbcl)
12879 (inputs
12880 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12881 ("closer-mop" ,sbcl-closer-mop)
12882 ("form-fiddle" ,sbcl-form-fiddle)
12883 ("lambda-fiddle" ,sbcl-lambda-fiddle)))
12884 (home-page "https://github.com/Shinmera/deeds")
12885 (synopsis "Extensible Event Delivery System")
12886 (description
12887 "@code{deeds} allows for efficient event delivery to multiple handlers
12888 with a complex event filtering system.")
12889 (license license:zlib))))
12890
12891 (define-public cl-deeds
12892 (sbcl-package->cl-source-package sbcl-deeds))
12893
12894 (define-public ecl-deeds
12895 (sbcl-package->ecl-package sbcl-deeds))
12896
12897 (define-public sbcl-make-hash
12898 ;; no tagged branch
12899 (let ((revision "1")
12900 (commit "ae0909cd8e697520a1085fac6f54ac2b448ebd21"))
12901 (package
12902 (name "sbcl-make-hash")
12903 (version (git-version "1.0.2" revision commit))
12904 (source
12905 (origin
12906 (method git-fetch)
12907 (uri (git-reference
12908 (url "https://github.com/genovese/make-hash")
12909 (commit commit)))
12910 (file-name (git-file-name name version))
12911 (sha256
12912 (base32 "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8"))))
12913 (build-system asdf-build-system/sbcl)
12914 (home-page "https://github.com/genovese/make-hash")
12915 (synopsis "Common Lisp package for flexible hash table creation")
12916 (description
12917 "This is a Common Lisp package for hash table creation with flexible,
12918 extensible initializers.")
12919 (license license:bsd-3))))
12920
12921 (define-public cl-make-hash
12922 (sbcl-package->cl-source-package sbcl-make-hash))
12923
12924 (define-public ecl-make-hash
12925 (sbcl-package->ecl-package sbcl-make-hash))
12926
12927 (define-public sbcl-claw-support
12928 (package
12929 (name "sbcl-claw-support")
12930 (version "1.0.0")
12931 (source
12932 (origin
12933 (method git-fetch)
12934 (uri (git-reference
12935 (url "https://github.com/borodust/claw-support")
12936 (commit "9a15c8bed04585f45e6a461bcda1b475144dbd0b")))
12937 (file-name (git-file-name name version))
12938 (sha256
12939 (base32 "1my2ka7h72ipx5n3b465g6kjkasrhsvhqlijwcg6dhlzs5yygl23"))))
12940 (build-system asdf-build-system/sbcl)
12941 (home-page "https://github.com/borodust/claw-support")
12942 (synopsis "Support routines for claw")
12943 (description
12944 "This package provides support routines for the @code{claw} Common Lisp
12945 package.")
12946 (license license:expat)))
12947
12948 (define-public cl-claw-support
12949 (sbcl-package->cl-source-package sbcl-claw-support))
12950
12951 (define-public ecl-claw-support
12952 (sbcl-package->ecl-package sbcl-claw-support))
12953
12954 (define-public sbcl-claw
12955 (let ((revision "0")
12956 (commit "3cd4a96fca95eb9e8d5d069426694669f81b2250"))
12957 (package
12958 (name "sbcl-claw")
12959 (version (git-version "1.0" revision commit))
12960 (source
12961 (origin
12962 (method git-fetch)
12963 (uri (git-reference
12964 (url "https://github.com/borodust/claw")
12965 (commit commit)))
12966 (file-name (git-file-name "claw" version))
12967 (sha256
12968 (base32 "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d"))))
12969 (build-system asdf-build-system/sbcl)
12970 (inputs
12971 `(("alexandria" ,sbcl-alexandria)
12972 ("cffi" ,sbcl-cffi)
12973 ("cl-json" ,sbcl-cl-json)
12974 ("cl-ppcre" ,sbcl-cl-ppcre)
12975 ("claw-support" ,sbcl-claw-support)
12976 ("local-time" ,sbcl-local-time)
12977 ("trivial-features" ,sbcl-trivial-features)))
12978 (home-page "https://github.com/borodust/claw")
12979 (synopsis "Autowrapper for Common Lisp")
12980 (description
12981 "This is a Common Lisp autowrapping facility for quickly creating clean
12982 and lean bindings to C libraries.")
12983 (license license:bsd-2))))
12984
12985 (define-public cl-claw
12986 (sbcl-package->cl-source-package sbcl-claw))
12987
12988 (define-public ecl-claw
12989 (sbcl-package->ecl-package sbcl-claw))
12990
12991 (define-public sbcl-claw-utils
12992 (let ((revision "0")
12993 (commit "efe25016501973dc369f067a64c7d225802bc56f"))
12994 (package
12995 (name "sbcl-claw-utils")
12996 ;; version is not specified
12997 (version (git-version "0.0.0" revision commit))
12998 (source
12999 (origin
13000 (method git-fetch)
13001 (uri (git-reference
13002 (url "https://github.com/borodust/claw-utils")
13003 (commit commit)))
13004 (file-name (git-file-name "claw-utils" version))
13005 (sha256
13006 (base32 "01df3kyf2qs3czi332dnz2s35x2j0fq46vgmsw7wjrrvnqc22mk5"))))
13007 (build-system asdf-build-system/sbcl)
13008 (inputs
13009 `(("alexandria" ,sbcl-alexandria)
13010 ("cffi" ,sbcl-cffi)
13011 ("claw" ,sbcl-claw)))
13012 (home-page "https://github.com/borodust/claw-utils")
13013 (synopsis "Utilities for easier autowrapping")
13014 (description
13015 "This Common Lisp library contains various handy utilties to help
13016 autowrapping with @code{claw}.")
13017 (license license:expat))))
13018
13019 (define-public cl-claw-utils
13020 (sbcl-package->cl-source-package sbcl-claw-utils))
13021
13022 (define-public ecl-claw-utils
13023 (sbcl-package->ecl-package sbcl-claw-utils))
13024
13025 (define-public sbcl-array-operations
13026 (let ((commit "75cbc3b1adb2e3ce2109489753d0f290b071e81b")
13027 (revision "0"))
13028 (package
13029 (name "sbcl-array-operations")
13030 (version (git-version "0.0.0" revision commit))
13031 (source
13032 (origin
13033 (method git-fetch)
13034 (uri (git-reference
13035 (url "https://github.com/bendudson/array-operations")
13036 (commit commit)))
13037 (file-name (git-file-name "array-operations" version))
13038 (sha256
13039 (base32 "0ip49hhq32w80qsc7jmspyda5r2rsszvw0mk2r3341cld78sz9ya"))))
13040 (build-system asdf-build-system/sbcl)
13041 (native-inputs
13042 `(("alexandria" ,sbcl-alexandria)
13043 ("clunit2" ,sbcl-clunit2)))
13044 (inputs
13045 `(("let-plus" ,sbcl-let-plus)))
13046 (synopsis "Simple array operations library for Common Lisp")
13047 (description
13048 "This library is a collection of functions and macros for manipulating
13049 Common Lisp arrays and performing numerical calculations with them.")
13050 (home-page "https://github.com/bendudson/array-operations")
13051 (license license:expat))))
13052
13053 (define-public cl-array-operations
13054 (sbcl-package->cl-source-package sbcl-array-operations))
13055
13056 (define-public ecl-array-operations
13057 (sbcl-package->ecl-package sbcl-array-operations))
13058
13059 (define-public sbcl-clml
13060 (let ((commit "95505b54c8c7b4b27f500c3be97fa5732f4b51a8")
13061 (revision "0"))
13062 (package
13063 (name "sbcl-clml")
13064 (version (git-version "0.0.0" revision commit))
13065 (source
13066 (origin
13067 (method git-fetch)
13068 (uri (git-reference
13069 (url "https://github.com/mmaul/clml")
13070 (commit commit)))
13071 (file-name (git-file-name "clml" version))
13072 (sha256
13073 (base32 "006pii59nmpc61n7p7h8ha5vjg6x0dya327i58z0rnvxs249h345"))
13074 ;; TODO: Remove this when the patch has been merged upstream.
13075 (patches (search-patches "sbcl-clml-fix-types.patch"))))
13076 (build-system asdf-build-system/sbcl)
13077 (inputs
13078 `(("alexandia" ,sbcl-alexandria)
13079 ("array-operations" ,sbcl-array-operations)
13080 ("cl-fad" ,sbcl-cl-fad)
13081 ("cl-ppcre" ,sbcl-cl-ppcre)
13082 ("drakma" ,sbcl-drakma)
13083 ("introspect-environment" ,sbcl-introspect-environment)
13084 ("iterate" ,sbcl-iterate)
13085 ("lparallel" ,sbcl-lparallel)
13086 ("parse-number" ,sbcl-parse-number)
13087 ("split-sequence" ,sbcl-split-sequence)
13088 ("trivial-garbage" ,sbcl-trivial-garbage)))
13089 (synopsis "Common Lisp machine learning library")
13090 (description
13091 "CLML (Common Lisp Machine Learning) is a high performance and large
13092 scale statistical machine learning package")
13093 (home-page "https://mmaul.github.io/clml/")
13094 (license license:llgpl))))
13095
13096 (define-public cl-clml
13097 (sbcl-package->cl-source-package sbcl-clml))
13098
13099 (define-public sbcl-utm-ups
13100 (let ((commit "780f1d8ab6290ad2be0f40e2cddc2535fa6fe979")
13101 (revision "0"))
13102 (package
13103 (name "sbcl-utm-ups")
13104 (version (git-version "1.0" revision commit))
13105 (source
13106 (origin
13107 (method git-fetch)
13108 (uri (git-reference
13109 (url "https://github.com/glv2/utm-ups")
13110 (commit commit)))
13111 (file-name (git-file-name "utm-ups" version))
13112 (sha256
13113 (base32 "0l3kr2m56skf5cx3kkkdcis7msmidcsixx9fqjapkcjsj8x67aqq"))))
13114 (build-system asdf-build-system/sbcl)
13115 (native-inputs
13116 `(("fiveam" ,sbcl-fiveam)))
13117 (synopsis
13118 "Convert coordinates between latitude/longitude and UTM or UPS")
13119 (description
13120 "This a Common Lisp library to convert geographic coordinates between
13121 latitude/longitude and UTM (Universal Transverse Mercator) or UPS (Universal
13122 Polar Stereographic).")
13123 (home-page "https://github.com/glv2/utm-ups")
13124 (license license:gpl3+))))
13125
13126 (define-public cl-utm-ups
13127 (sbcl-package->cl-source-package sbcl-utm-ups))
13128
13129 (define-public ecl-utm-ups
13130 (sbcl-package->ecl-package sbcl-utm-ups))
13131
13132 (define-public sbcl-mgrs
13133 (let ((commit "00455460407b7e5509d1be3da09bf6152956761f")
13134 (revision "0"))
13135 (package
13136 (name "sbcl-mgrs")
13137 (version (git-version "1.0" revision commit))
13138 (source
13139 (origin
13140 (method git-fetch)
13141 (uri (git-reference
13142 (url "https://github.com/glv2/mgrs")
13143 (commit commit)))
13144 (file-name (git-file-name "mgrs" version))
13145 (sha256
13146 (base32 "0ckvn4hg3wwivzavhfashb6fap4a1q10l8krhbng8bdb54ac10sz"))))
13147 (build-system asdf-build-system/sbcl)
13148 (native-inputs
13149 `(("fiveam" ,sbcl-fiveam)))
13150 (inputs
13151 `(("utm-ups" ,sbcl-utm-ups)))
13152 (synopsis
13153 "Convert coordinates between latitude/longitude and MGRS")
13154 (description
13155 "This a Common Lisp library to convert geographic coordinates between
13156 latitude/longitude and MGRS.")
13157 (home-page "https://github.com/glv2/mgrs")
13158 (license license:gpl3+))))
13159
13160 (define-public cl-mgrs
13161 (sbcl-package->cl-source-package sbcl-mgrs))
13162
13163 (define-public ecl-mgrs
13164 (sbcl-package->ecl-package sbcl-mgrs))
13165
13166 (define-public sbcl-maidenhead
13167 (let ((commit "b756d235c27b5d6798867aa240318af1a8f35d6d")
13168 (revision "0"))
13169 (package
13170 (name "sbcl-maidenhead")
13171 (version (git-version "1.0" revision commit))
13172 (source
13173 (origin
13174 (method git-fetch)
13175 (uri (git-reference
13176 (url "https://github.com/glv2/maidenhead")
13177 (commit commit)))
13178 (file-name (git-file-name "maidenhead" version))
13179 (sha256
13180 (base32 "02p990zprhjvifmsfk8yh3frvz6xyw26ikzxvzglqdixbal36nr3"))))
13181 (build-system asdf-build-system/sbcl)
13182 (native-inputs
13183 `(("fiveam" ,sbcl-fiveam)))
13184 (synopsis
13185 "Convert coordinates between latitude/longitude and Maidenhead")
13186 (description
13187 "This a Common Lisp library to convert geographic coordinates between
13188 latitude/longitude and Maidenhead locator system.")
13189 (home-page "https://github.com/glv2/maidenhead")
13190 (license license:gpl3+))))
13191
13192 (define-public cl-maidenhead
13193 (sbcl-package->cl-source-package sbcl-maidenhead))
13194
13195 (define-public ecl-maidenhead
13196 (sbcl-package->ecl-package sbcl-maidenhead))
13197
13198 (define-public sbcl-olc
13199 (let ((commit "517e27fa57d9a119b00a29c4b6b31e553deff309")
13200 (revision "0"))
13201 (package
13202 (name "sbcl-olc")
13203 (version (git-version "1.0" revision commit))
13204 (source
13205 (origin
13206 (method git-fetch)
13207 (uri (git-reference
13208 (url "https://github.com/glv2/olc")
13209 (commit commit)))
13210 (file-name (git-file-name "olc" version))
13211 (sha256
13212 (base32 "1lnfhp6z6kc8l605zp4siyjiw74y1h4bdq3jfizi084v505wxhgr"))))
13213 (build-system asdf-build-system/sbcl)
13214 (native-inputs
13215 `(("fiveam" ,sbcl-fiveam)))
13216 (synopsis
13217 "Convert coordinates between latitude/longitude and Open Location Code")
13218 (description
13219 "This a Common Lisp library to convert geographic coordinates between
13220 latitude/longitude and Open Location Code.")
13221 (home-page "https://github.com/glv2/olc")
13222 (license license:gpl3+))))
13223
13224 (define-public cl-olc
13225 (sbcl-package->cl-source-package sbcl-olc))
13226
13227 (define-public ecl-olc
13228 (sbcl-package->ecl-package sbcl-olc))
13229
13230 (define-public sbcl-regex
13231 (let ((commit "fbc9a9f313b9edc1788f33d4b23a29151635ae22"))
13232 (package
13233 (name "sbcl-regex")
13234 (version (git-version "1" "1" commit))
13235 (source
13236 (origin
13237 (method git-fetch)
13238 (uri (git-reference
13239 (url "https://github.com/michaelw/regex/")
13240 (commit commit)))
13241 (file-name (git-file-name name version))
13242 (sha256
13243 (base32 "0wq5wlafrxv13wg28hg5b10sc48b88swsvznpy2zg7x37m4nmm6a"))))
13244 (build-system asdf-build-system/sbcl)
13245 (home-page "https://github.com/michaelw/regex/")
13246 (synopsis "Regular expression engine for Common Lisp")
13247 (description
13248 "This Common Lisp package provides a regular expression engine.")
13249 (license license:bsd-2))))
13250
13251 (define-public cl-regex
13252 (sbcl-package->cl-source-package sbcl-regex))
13253
13254 (define-public ecl-regex
13255 (sbcl-package->ecl-package sbcl-regex))
13256
13257 (define-public sbcl-clawk
13258 (let ((commit "3a91634df686417114044a98c063cbe76bfac7b6"))
13259 (package
13260 (name "sbcl-clawk")
13261 (version (git-version "4" "1" commit))
13262 (source
13263 (origin
13264 (method git-fetch)
13265 (uri (git-reference
13266 (url "https://github.com/sharplispers/clawk")
13267 (commit commit)))
13268 (file-name (git-file-name name version))
13269 (sha256
13270 (base32 "1ph3xjqilvinvgr9q3w47zxqyz1sqnq030nlx7kgkkv8j3bnqk7a"))))
13271 (build-system asdf-build-system/sbcl)
13272 (inputs
13273 `(("sbcl-regex" ,sbcl-regex)))
13274 (home-page "https://github.com/sharplispers/clawk")
13275 (synopsis "Common Lisp AWK")
13276 (description
13277 "CLAWK is an AWK implementation embedded into Common Lisp.")
13278 (license license:bsd-2))))
13279
13280 (define-public cl-clawk
13281 (sbcl-package->cl-source-package sbcl-clawk))
13282
13283 (define-public ecl-clawk
13284 (sbcl-package->ecl-package sbcl-clawk))
13285
13286 (define-public sbcl-check-it
13287 (let ((commit "b79c9103665be3976915b56b570038f03486e62f"))
13288 (package
13289 (name "sbcl-check-it")
13290 (version (git-version "0.1.0" "1" commit))
13291 (source
13292 (origin
13293 (method git-fetch)
13294 (uri (git-reference
13295 (url "https://github.com/DalekBaldwin/check-it/")
13296 (commit commit)))
13297 (file-name (git-file-name name version))
13298 (sha256
13299 (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"))))
13300 (build-system asdf-build-system/sbcl)
13301 (inputs
13302 `(("alexandria" ,sbcl-alexandria)
13303 ("closer-mop" ,sbcl-closer-mop)
13304 ("optima" ,sbcl-optima)))
13305 (native-inputs
13306 `(("stefil" ,sbcl-stefil)))
13307 (home-page "https://github.com/arclanguage/Clamp")
13308 (synopsis "Randomized specification-based testing for Common Lisp")
13309 (description
13310 "This is a randomized property-based testing library for Common Lisp.
13311 Rather than being a full-fledged general test framework in its own right, it's
13312 designed to embed randomized tests in whatever framework you like.")
13313 (license license:llgpl))))
13314
13315 (define-public cl-check-it
13316 (sbcl-package->cl-source-package sbcl-check-it))
13317
13318 (define-public ecl-check-it
13319 (sbcl-package->ecl-package sbcl-check-it))
13320
13321 (define-public sbcl-clamp
13322 (let ((commit "02b8f3953e5753cc61a719807c82f3795cd28fe1"))
13323 (package
13324 (name "sbcl-clamp")
13325 (version (git-version "0.3" "1" commit))
13326 (source
13327 (origin
13328 (method git-fetch)
13329 (uri (git-reference
13330 (url "https://github.com/arclanguage/Clamp")
13331 (commit commit)))
13332 (file-name (git-file-name name version))
13333 (sha256
13334 (base32 "0fdr9nqfmmpxm6hvjdxi1jkclya9xlnrw1yc3cn1m4ww3f50p31m"))))
13335 (build-system asdf-build-system/sbcl)
13336 (inputs
13337 `(("iterate" ,sbcl-iterate)
13338 ("cl-syntax" ,sbcl-cl-syntax)))
13339 (native-inputs
13340 `(("cl-unit" ,sbcl-clunit)
13341 ("check-it" ,sbcl-check-it)))
13342 (arguments
13343 `(#:phases
13344 (modify-phases %standard-phases
13345 (add-after 'unpack 'fix-build
13346 (lambda _
13347 (substitute* "clamp.asd"
13348 (("\\(:file \"read\" :depends-on \\(\"aliases\"\\)\\)")
13349 "(:file \"read\" :depends-on (\"aliases\" \"base\"))"))
13350 #t)))))
13351 (home-page "https://github.com/arclanguage/Clamp")
13352 (synopsis "Common Lisp with Arc macros and procedures")
13353 (description
13354 "Clamp is an attempt to bring the powerful, but verbose, language of
13355 Common Lisp up to the terseness of Arc.
13356
13357 There are two parts to Clamp. There is the core of Clamp, which implements
13358 the utilities of Arc that are easily converted from Arc to Common Lisp. The
13359 other part is the \"experimental\" part. It contains features of Arc that are
13360 not so easy to copy (ssyntax, argument destructuring, etc.).")
13361 (license license:artistic2.0))))
13362
13363 (define-public cl-clamp
13364 (sbcl-package->cl-source-package sbcl-clamp))
13365
13366 (define-public ecl-clamp
13367 (sbcl-package->ecl-package sbcl-clamp))
13368
13369 (define-public sbcl-trivial-shell
13370 (let ((commit "e02ec191b34b52deca5d1c4ee99d4fa13b8772e0"))
13371 (package
13372 (name "sbcl-trivial-shell")
13373 (version (git-version "0.2.0" "1" commit))
13374 (source
13375 (origin
13376 (method git-fetch)
13377 (uri (git-reference
13378 (url "https://github.com/gwkkwg/trivial-shell")
13379 (commit commit)))
13380 (file-name (git-file-name name version))
13381 (sha256
13382 (base32 "08mpkl5ij5sjfsyn8pq2kvsvpvyvr7ha1r8g1224fa667b8k2q85"))))
13383 (build-system asdf-build-system/sbcl)
13384 (native-inputs
13385 `(("lift" ,sbcl-lift)))
13386 (home-page "http://common-lisp.net/project/trivial-shell/")
13387 (synopsis "Common Lisp access to the shell")
13388 (description
13389 "A simple Common-Lisp interface to the underlying operating system.
13390 It's independent of the implementation and operating system.")
13391 (license license:expat))))
13392
13393 (define-public cl-trivial-shell
13394 (sbcl-package->cl-source-package sbcl-trivial-shell))
13395
13396 (define-public ecl-trivial-shell
13397 (sbcl-package->ecl-package sbcl-trivial-shell))
13398
13399 (define-public sbcl-clesh
13400 (let ((commit "44e96e04a72e5bc006dc4eb02ce8962348dd4a11"))
13401 (package
13402 (name "sbcl-clesh")
13403 (version (git-version "0.0.0" "1" commit))
13404 (source
13405 (origin
13406 (method git-fetch)
13407 (uri (git-reference
13408 (url "https://github.com/Neronus/Clesh")
13409 (commit commit)))
13410 (file-name (git-file-name name version))
13411 (sha256
13412 (base32 "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318"))))
13413 (build-system asdf-build-system/sbcl)
13414 (inputs
13415 `(("trivial-shell" ,sbcl-trivial-shell)
13416 ("named-readtables" ,sbcl-named-readtables)))
13417 (home-page "https://github.com/Neronus/Clesh")
13418 (synopsis "Embed shell code in Common Lisp")
13419 (description
13420 "This is a very short and simple program, written in Common Lisp, that
13421 extends Common Lisp to embed shell code in a manner similar to Perl's
13422 backtick. It has been forked from SHELISP.")
13423 (license license:bsd-2))))
13424
13425 (define-public cl-clesh
13426 (sbcl-package->cl-source-package sbcl-clesh))
13427
13428 (define-public ecl-clesh
13429 (sbcl-package->ecl-package sbcl-clesh))
13430
13431 (define-public sbcl-trivial-download
13432 (let ((commit "d2472061d86b1cf3d32f388daacd4e32a13af699"))
13433 (package
13434 (name "sbcl-trivial-download")
13435 (version (git-version "0.3" "1" commit))
13436 (source
13437 (origin
13438 (method git-fetch)
13439 (uri (git-reference
13440 (url "https://github.com/eudoxia0/trivial-download/")
13441 (commit commit)))
13442 (file-name (git-file-name name version))
13443 (sha256
13444 (base32 "06f46zr3gp3wlm2kgxna24qd2gpr1v89x9fynh1x5vrw6c6hqjcv"))))
13445 (build-system asdf-build-system/sbcl)
13446 (inputs
13447 `(("drakma" ,sbcl-drakma)))
13448 (home-page "https://github.com/eudoxia0/trivial-download/")
13449 (synopsis "Download files from Common Lisp")
13450 (description
13451 "@code{trivial-download} allows you to download files from the Internet
13452 from Common Lisp. It provides a progress bar.")
13453 (license license:bsd-2))))
13454
13455 (define-public cl-trivial-download
13456 (sbcl-package->cl-source-package sbcl-trivial-download))
13457
13458 (define-public ecl-trivial-download
13459 (sbcl-package->ecl-package sbcl-trivial-download))
13460
13461 (define-public sbcl-gtwiwtg
13462 (package
13463 (name "sbcl-gtwiwtg")
13464 (version "0.1.1")
13465 (source
13466 (origin
13467 (method git-fetch)
13468 (uri (git-reference
13469 (url "https://github.com/cbeo/gtwiwtg/")
13470 (commit version)))
13471 (file-name (git-file-name name version))
13472 (sha256
13473 (base32 "0lkraw0dwh4is4x5sp5rjrw6f93m0gr9849abrbi12s25ws7jbw4"))))
13474 (build-system asdf-build-system/sbcl)
13475 (native-inputs
13476 `(("osicat" ,sbcl-osicat)
13477 ("prove" ,sbcl-prove)))
13478 (home-page "https://github.com/cbeo/gtwiwtg/")
13479 (synopsis "Naive generators for Common Lisp")
13480 (description
13481 "The GTWIWTG library (Generators The Way I Want Them Generated --
13482 technically not generators, but iterators) is meant to be small, explorable,
13483 and understandable.")
13484 (license license:gpl3)))
13485
13486 (define-public cl-gtwiwtg
13487 (sbcl-package->cl-source-package sbcl-gtwiwtg))
13488
13489 (define-public ecl-gtwiwtg
13490 (sbcl-package->ecl-package sbcl-gtwiwtg))
13491
13492 (define-public sbcl-cl-progress-bar
13493 (let ((commit "9374170858663c8fe829e9fb5a29bd2cb48d95ae"))
13494 (package
13495 (name "sbcl-cl-progress-bar")
13496 (version (git-version "0.0.0" "1" commit))
13497 (source
13498 (origin
13499 (method git-fetch)
13500 (uri (git-reference
13501 (url "https://github.com/sirherrbatka/cl-progress-bar/")
13502 (commit commit)))
13503 (file-name (git-file-name name version))
13504 (sha256
13505 (base32 "1ldb4qhmx431n3lsq71ynwb9ybazbfqd55icjbhi06mj52ngndir"))))
13506 (build-system asdf-build-system/sbcl)
13507 (inputs
13508 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13509 ("documentation-utils-extensions" ,sbcl-documentation-utils-extensions)))
13510 (home-page "https://github.com/sirherrbatka/cl-progress-bar/")
13511 (synopsis "Progress bars in Common Lisp")
13512 (description
13513 "This library provides almost the same code as used inside Quicklisp
13514 for drawning progress bars")
13515 (license license:expat))))
13516
13517 (define-public cl-progress-bar
13518 (sbcl-package->cl-source-package sbcl-cl-progress-bar))
13519
13520 (define-public ecl-cl-progress-bar
13521 (sbcl-package->ecl-package sbcl-cl-progress-bar))
13522
13523 (define-public sbcl-repl-utilities
13524 (let ((commit "e0de9c92e774f77cab1a4cd92e2ac922ac3a807e"))
13525 (package
13526 (name "sbcl-repl-utilities")
13527 (version (git-version "0.0.0" "1" commit))
13528 (source
13529 (origin
13530 (method git-fetch)
13531 (uri (git-reference
13532 (url "https://github.com/m-n/repl-utilities/")
13533 (commit commit)))
13534 (file-name (git-file-name name version))
13535 (sha256
13536 (base32 "1r5icmw3ha5y77kvzqni3a9bcd66d9pz5mjsbw04xg3jk0d15cgz"))))
13537 (build-system asdf-build-system/sbcl)
13538 (home-page "https://github.com/m-n/repl-utilities")
13539 (synopsis "Ease common tasks at the Common Lisp REPL")
13540 (description
13541 "@code{repl-utilities} is a set of utilities which ease life at the
13542 REPL. It includes three sorts of features: introspective procedures,
13543 miscellaneous utility functions, and, pulling them together, methods to
13544 conveniently keep these symbols and optionally additional symbols available in
13545 whichever package you switch to.")
13546 (license license:bsd-2))))
13547
13548 (define-public cl-repl-utilities
13549 (sbcl-package->cl-source-package sbcl-repl-utilities))
13550
13551 (define-public ecl-repl-utilities
13552 (sbcl-package->ecl-package sbcl-repl-utilities))
13553
13554 (define-public sbcl-supertrace
13555 (let ((commit "66d22c3ff131ecd1c8048dfced1d62ed6024ecb0"))
13556 (package
13557 (name "sbcl-supertrace")
13558 (version (git-version "0.1.0" "1" commit))
13559 (source
13560 (origin
13561 (method git-fetch)
13562 (uri (git-reference
13563 (url "https://github.com/fukamachi/supertrace")
13564 (commit commit)))
13565 (file-name (git-file-name name version))
13566 (sha256
13567 (base32 "0n369n6b7y1m49biccnnr7svymjdsk8sksrkqrn3mj21vgv7s7bg"))))
13568 (build-system asdf-build-system/sbcl)
13569 (native-inputs
13570 `(("cffi-grovel" ,sbcl-cffi)
13571 ("rove" ,sbcl-rove)
13572 ("cl-ppcre" ,sbcl-cl-ppcre)
13573 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
13574 (inputs
13575 `(("cffi" ,sbcl-cffi)))
13576 (home-page "https://github.com/fukamachi/supertrace")
13577 (synopsis "Improved Common Lisp tracing for debugging and profiling")
13578 (description
13579 "Supertrace provides a superior Common Lisp @code{trace} functionality
13580 for debugging and profiling real world applications.")
13581 (license license:bsd-2))))
13582
13583 (define-public cl-supertrace
13584 (sbcl-package->cl-source-package sbcl-supertrace))
13585
13586 (define-public ecl-supertrace
13587 (sbcl-package->ecl-package sbcl-supertrace))
13588
13589 (define-public sbcl-trivial-benchmark
13590 (let ((commit "42d76733dd2e873471c6f1e27d39113293f7dd5c"))
13591 (package
13592 (name "sbcl-trivial-benchmark")
13593 (version (git-version "2.0.0" "1" commit))
13594 (source
13595 (origin
13596 (method git-fetch)
13597 (uri (git-reference
13598 (url "https://github.com/Shinmera/trivial-benchmark/")
13599 (commit commit)))
13600 (file-name (git-file-name name version))
13601 (sha256
13602 (base32 "0fbzqbpm2ixz85555krl36kbbbjyn699vdj6k383khi3g9y629fa"))))
13603 (build-system asdf-build-system/sbcl)
13604 (inputs
13605 `(("alexandria" ,sbcl-alexandria)))
13606 (home-page "http://shinmera.github.io/trivial-benchmark/")
13607 (synopsis "Easy to use benchmarking system for Common Lisp")
13608 (description
13609 "Trivial-Benchmark runs a block of code many times and outputs some
13610 statistical data for it. On SBCL this includes the data from @code{time}, for
13611 all other implementations just the @code{real-time} and @code{run-time} data.
13612 However, you can extend the system by adding your own @code{metrics} to it, or
13613 even by adding additional statistical @code{compute}ations. ")
13614 (license license:zlib))))
13615
13616 (define-public cl-trivial-benchmark
13617 (sbcl-package->cl-source-package sbcl-trivial-benchmark))
13618
13619 (define-public ecl-trivial-benchmark
13620 (sbcl-package->ecl-package sbcl-trivial-benchmark))
13621
13622 (define-public sbcl-glyphs
13623 (let ((commit "1ff5714e8c1dca327bc604dfe3e3d1f4b7755373"))
13624 (package
13625 (name "sbcl-glyphs")
13626 (version (git-version "0.0.0" "1" commit))
13627 (source
13628 (origin
13629 (method git-fetch)
13630 (uri (git-reference
13631 (url "https://github.com/ahungry/glyphs/")
13632 (commit commit)))
13633 (file-name (git-file-name name version))
13634 (sha256
13635 (base32 "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf"))))
13636 (build-system asdf-build-system/sbcl)
13637 (inputs
13638 `(("cl-ppcre" ,sbcl-cl-ppcre)
13639 ("parenscript" ,sbcl-parenscript)
13640 ("named-readtables" ,sbcl-named-readtables)))
13641 (home-page "https://github.com/ahungry/glyphs/")
13642 (synopsis "Reduce Common Lisp verbosity")
13643 (description
13644 "This library is a little experiment in reducing verbosity in Common
13645 Lisp, inspired by BODOL (@url{https://github.com/bodil/BODOL}).")
13646 (license license:gpl3))))
13647
13648 (define-public cl-glyphs
13649 (sbcl-package->cl-source-package sbcl-glyphs))
13650
13651 (define-public ecl-glyphs
13652 (sbcl-package->ecl-package sbcl-glyphs))
13653
13654 (define-public sbcl-zs3
13655 (package
13656 (name "sbcl-zs3")
13657 (version "1.3.3")
13658 (source
13659 (origin
13660 (method git-fetch)
13661 (uri
13662 (git-reference
13663 (url "https://github.com/xach/zs3")
13664 (commit (string-append "release-" version))))
13665 (file-name (git-file-name "zs3" version))
13666 (sha256
13667 (base32 "186v95wgsj2hkxdw2jl9x1w4fddjclp7arp0rrd9vf5ly8h8sbf3"))))
13668 (build-system asdf-build-system/sbcl)
13669 (inputs
13670 `(("drakma" ,sbcl-drakma)
13671 ("alexandria" ,sbcl-alexandria)
13672 ("cxml" ,sbcl-cxml)
13673 ("ironclad" ,sbcl-ironclad)
13674 ("puri" ,sbcl-puri)
13675 ("cl-base64" ,sbcl-cl-base64)))
13676 (synopsis "Work with Amazon S3 and Amazon CloudFront from Common Lisp")
13677 (description "This is ZS3, a library for working with Amazon's Simple Storage
13678 Service (S3) and CloudFront service from Common Lisp.")
13679 (home-page "https://github.com/xach/zs3")
13680 (license license:bsd-2)))
13681
13682 (define-public cl-zs3
13683 (sbcl-package->cl-source-package sbcl-zs3))
13684
13685 (define-public ecl-zs3
13686 (sbcl-package->ecl-package sbcl-zs3))
13687
13688 (define-public sbcl-simple-neural-network
13689 (package
13690 (name "sbcl-simple-neural-network")
13691 (version "3.1")
13692 (source
13693 (origin
13694 (method git-fetch)
13695 (uri (git-reference
13696 (url "https://github.com/glv2/simple-neural-network")
13697 (commit (string-append "v" version))))
13698 (file-name (git-file-name "simple-neural-network" version))
13699 (sha256
13700 (base32 "1jj1c90fr5clwka0jv32hv6xp1bkdlpa6x5jh19an13rhx8ll4zr"))))
13701 (build-system asdf-build-system/sbcl)
13702 (native-inputs
13703 `(("chipz" ,sbcl-chipz)
13704 ("fiveam" ,sbcl-fiveam)))
13705 (inputs
13706 `(("cl-store" ,sbcl-cl-store)
13707 ("lparallel" ,sbcl-lparallel)))
13708 (arguments
13709 `(#:phases
13710 (modify-phases %standard-phases
13711 (add-after 'check 'remove-test-data
13712 (lambda* (#:key outputs #:allow-other-keys)
13713 (let ((out (assoc-ref outputs "out")))
13714 (for-each delete-file (find-files out "\\.gz$"))))))))
13715 (synopsis "Simple neural network in Common Lisp")
13716 (description
13717 "@code{simple-neural-network} is a Common Lisp library for creating,
13718 training and using basic neural networks. The networks created by this
13719 library are feedforward neural networks trained using backpropagation.")
13720 (home-page "https://github.com/glv2/simple-neural-network")
13721 (license license:gpl3+)))
13722
13723 (define-public cl-simple-neural-network
13724 (sbcl-package->cl-source-package sbcl-simple-neural-network))
13725
13726 (define-public ecl-simple-neural-network
13727 (sbcl-package->ecl-package sbcl-simple-neural-network))
13728
13729 (define-public sbcl-zstd
13730 (let ((commit "d144582c581aaa52bac24d6686af27fa3e781e06")
13731 (revision "1"))
13732 (package
13733 (name "sbcl-zstd")
13734 (version (git-version "1.0" revision commit))
13735 (source
13736 (origin
13737 (method git-fetch)
13738 (uri (git-reference
13739 (url "https://github.com/glv2/cl-zstd")
13740 (commit commit)))
13741 (file-name (git-file-name "cl-zstd" version))
13742 (sha256
13743 (base32 "1774jy8hzbi6nih3sq6vchk66f7g8w86dwgpbvljyfzcnkcaz6ql"))))
13744 (build-system asdf-build-system/sbcl)
13745 (native-inputs
13746 `(("fiveam" ,sbcl-fiveam)))
13747 (inputs
13748 `(("cffi" ,sbcl-cffi)
13749 ("cl-octet-streams" ,sbcl-cl-octet-streams)
13750 ("zstd-lib" ,zstd "lib")))
13751 (arguments
13752 '(#:phases
13753 (modify-phases %standard-phases
13754 (add-after 'unpack 'fix-paths
13755 (lambda* (#:key inputs #:allow-other-keys)
13756 (substitute* "src/libzstd.lisp"
13757 (("libzstd\\.so")
13758 (string-append (assoc-ref inputs "zstd-lib")
13759 "/lib/libzstd.so")))
13760 #t)))))
13761 (synopsis "Common Lisp library for Zstandard (de)compression")
13762 (description
13763 "This Common Lisp library provides functions for Zstandard
13764 compression/decompression using bindings to the libzstd C library.")
13765 (home-page "https://github.com/glv2/cl-zstd")
13766 (license license:gpl3+))))
13767
13768 (define-public cl-zstd
13769 (sbcl-package->cl-source-package sbcl-zstd))
13770
13771 (define-public ecl-zstd
13772 (sbcl-package->ecl-package sbcl-zstd))
13773
13774 (define-public sbcl-agnostic-lizard
13775 (let ((commit "fe3a73719f05901c8819f8995a3ebae738257952")
13776 (revision "1"))
13777 (package
13778 (name "sbcl-agnostic-lizard")
13779 (version (git-version "0.0.0" revision commit))
13780 (source
13781 (origin
13782 (method git-fetch)
13783 (uri (git-reference
13784 (url "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
13785 (commit commit)))
13786 (file-name (git-file-name name version))
13787 (sha256
13788 (base32 "0ax78y8w4zlp5dcwyhz2nq7j3shi49qn31dkfg8lv2jlg7mkwh2d"))))
13789 (build-system asdf-build-system/sbcl)
13790 (synopsis "Almost correct portable code walker for Common Lisp")
13791 (description
13792 "Agnostic Lizard is a portable implementation of a code walker and in
13793 particular of the macroexpand-all function (and macro) that makes a best
13794 effort to be correct while not expecting much beyond what the Common Lisp
13795 standard requires.
13796
13797 It aims to be implementation-agnostic and to climb the syntax trees.")
13798 (home-page "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
13799 (license license:gpl3+))))
13800
13801 (define-public cl-agnostic-lizard
13802 (sbcl-package->cl-source-package sbcl-agnostic-lizard))
13803
13804 (define-public ecl-agnostic-lizard
13805 (sbcl-package->ecl-package sbcl-agnostic-lizard))
13806
13807 (define-public sbcl-dynamic-classes
13808 (package
13809 (name "sbcl-dynamic-classes")
13810 (version "1.0.2")
13811 (source
13812 (origin
13813 (method git-fetch)
13814 (uri (git-reference
13815 (url "https://github.com/gwkkwg/dynamic-classes")
13816 (commit (string-append "version-" version))))
13817 (file-name (git-file-name "dynamic-classes" version))
13818 (sha256
13819 (base32 "1z3ag6w4ff0v6715xa9zhvwjqnp4i6zrjfmxdz8m115sklbwgm6c"))))
13820 (build-system asdf-build-system/sbcl)
13821 (inputs
13822 `(("metatilities-base" ,sbcl-metatilities-base)))
13823 (arguments
13824 ;; NOTE: (Sharlatan-20210106222900+0000) Circular dependencies and failing
13825 ;; test suites. lift-standard.config contains referances to deprecated
13826 ;; functionality.
13827 `(#:tests? #f))
13828 (home-page "https://common-lisp.net/project/dynamic-classes/")
13829 (synopsis "Dynamic class definition for Common Lisp")
13830 (description "Dynamic-Classes helps to ease the prototyping process by
13831 bringing dynamism to class definition.")
13832 (license license:expat)))
13833
13834 (define-public ecl-dynamic-classes
13835 (sbcl-package->ecl-package sbcl-dynamic-classes))
13836
13837 (define-public cl-dynamic-classes
13838 (sbcl-package->cl-source-package sbcl-dynamic-classes))
13839
13840 (define-public sbcl-cl-markdown
13841 ;; NOTE: (Sharlatan-20210106214629+0000) latest version tag
13842 ;; "version-0.10.6_version-0.10.6" is failing to build due to missing system
13843 ;; #:container-dynamic-classes
13844 (package
13845 (name "sbcl-cl-markdown")
13846 (version "0.10.4")
13847 (source
13848 (origin
13849 (method git-fetch)
13850 (uri (git-reference
13851 (url "https://github.com/gwkkwg/cl-markdown")
13852 (commit (string-append "version-" version))))
13853 (file-name (git-file-name "cl-markdown" version))
13854 (sha256
13855 (base32 "1wdjbdd1zyskxf7zlilcp6fmwkivybj0wjp64vvzb265d5xi7p8p"))))
13856 (build-system asdf-build-system/sbcl)
13857 (inputs
13858 `(("anaphora" ,sbcl-anaphora)
13859 ("cl-containers" ,sbcl-cl-containers)
13860 ("cl-ppcre" ,sbcl-cl-ppcre)
13861 ("dynamic-classes" ,sbcl-dynamic-classes)
13862 ("metabang-bind" ,sbcl-metabang-bind)
13863 ("metatilities-base" ,sbcl-metatilities-base)))
13864 (arguments
13865 ;; NOTE: (Sharlatan-20210107213629+0000) Tests depend on too many not
13866 ;; available systems, which themself are abandoned.
13867 `(#:tests? #f))
13868 (home-page "https://common-lisp.net/project/cl-markdown/")
13869 (synopsis "Common Lisp rewrite of Markdown")
13870 (description
13871 "This is an implementation of a Markdown parser in Common Lisp.")
13872 (license license:expat)))
13873
13874 (define-public ecl-cl-markdown
13875 (sbcl-package->ecl-package sbcl-cl-markdown))
13876
13877 (define-public cl-markdown
13878 (sbcl-package->cl-source-package sbcl-cl-markdown))
13879
13880 (define-public sbcl-magicffi
13881 (let ((commit "d88f2f280c31f639e4e05be75215d8a8dce6aef2"))
13882 (package
13883 (name "sbcl-magicffi")
13884 (version (git-version "0.0.0" "1" commit))
13885 (source
13886 (origin
13887 (method git-fetch)
13888 (uri (git-reference
13889 (url "https://github.com/dochang/magicffi/")
13890 (commit commit)))
13891 (file-name (git-file-name name version))
13892 (sha256
13893 (base32 "0p6ysa92fk34bhxpw7bycbfgw150fv11z9x8jr9xb4lh8cm2hvp6"))))
13894 (build-system asdf-build-system/sbcl)
13895 (native-inputs
13896 `(("alexandria" ,sbcl-alexandria)))
13897 (inputs
13898 `(("cffi" ,sbcl-cffi)
13899 ("ppcre" ,sbcl-cl-ppcre)
13900 ("libmagic" ,file)))
13901 (arguments
13902 `(#:phases
13903 (modify-phases %standard-phases
13904 (add-after 'unpack 'fix-paths
13905 (lambda* (#:key inputs #:allow-other-keys)
13906 (let ((magic (assoc-ref inputs "libmagic")))
13907 (substitute* "grovel.lisp"
13908 (("/usr/include/magic.h")
13909 (string-append magic "/include/magic.h")))
13910 (substitute* "api.lisp"
13911 ((":default \"libmagic\"" all)
13912 (string-append ":default \"" magic "/lib/libmagic\"")))))))))
13913 (home-page "https://common-lisp.net/project/magicffi/")
13914 (synopsis "Common Lisp interface to libmagic based on CFFI")
13915 (description
13916 "MAGICFFI is a Common Lisp CFFI interface to libmagic(3), the file type
13917 determination library using @emph{magic} numbers.")
13918 (license license:bsd-2))))
13919
13920 (define-public ecl-magicffi
13921 (sbcl-package->ecl-package sbcl-magicffi))
13922
13923 (define-public cl-magicffi
13924 (sbcl-package->cl-source-package sbcl-magicffi))
13925
13926 (define-public sbcl-shlex
13927 (let ((commit "c5616dffca0d4d8ddbc1cd6f37a96d88477b2740"))
13928 (package
13929 (name "sbcl-shlex")
13930 (version (git-version "0.0.0" "1" commit))
13931 (source
13932 (origin
13933 (method git-fetch)
13934 (uri (git-reference
13935 (url "https://github.com/ruricolist/cl-shlex")
13936 (commit commit)))
13937 (file-name (git-file-name name version))
13938 (sha256
13939 (base32 "1nas024n4wv319bf40aal96g72bgi9nkapj2chywj2cc6r8hzkfg"))))
13940 (build-system asdf-build-system/sbcl)
13941 (inputs
13942 `(("alexandria" ,sbcl-alexandria)
13943 ("serapeum" ,sbcl-serapeum)
13944 ("ppcre" ,sbcl-cl-ppcre)
13945 ("unicode" ,sbcl-cl-unicode)))
13946 (home-page "https://github.com/ruricolist/cl-shlex")
13947 (synopsis "Common Lisp lexical analyzer for shell-like syntaxes")
13948 (description
13949 "This library contains a lexer for syntaxes that use shell-like rules
13950 for quoting and commenting. It is a port of the @code{shlex} module from Python’s
13951 standard library.")
13952 (license license:expat))))
13953
13954 (define-public ecl-shlex
13955 (sbcl-package->ecl-package sbcl-shlex))
13956
13957 (define-public cl-shlex
13958 (sbcl-package->cl-source-package sbcl-shlex))
13959
13960 (define-public sbcl-cmd
13961 (let ((commit "bc5a3bee8f22917126e4c3d05b33f766e562dbd8"))
13962 (package
13963 (name "sbcl-cmd")
13964 (version (git-version "0.0.1" "3" commit))
13965 (source
13966 (origin
13967 (method git-fetch)
13968 (uri (git-reference
13969 (url "https://github.com/ruricolist/cmd/")
13970 (commit commit)))
13971 (file-name (git-file-name name version))
13972 (sha256
13973 (base32 "1sjlabrknw1kjb2y89vssjhcqh3slgly8wnr3152zgis8lsj2yc7"))))
13974 (build-system asdf-build-system/sbcl)
13975 (inputs
13976 `(("alexandria" ,sbcl-alexandria)
13977 ("coreutils" ,coreutils)
13978 ("procps" ,procps)
13979 ("serapeum" ,sbcl-serapeum)
13980 ("shlex" ,sbcl-shlex)
13981 ("trivia" ,sbcl-trivia)))
13982 (arguments
13983 `(#:phases
13984 (modify-phases %standard-phases
13985 (add-after 'unpack 'fix-paths
13986 (lambda* (#:key inputs #:allow-other-keys)
13987 (let ((bin (string-append (assoc-ref inputs "coreutils") "/bin"))
13988 (ps-bin (string-append (assoc-ref inputs "procps") "/bin")))
13989 (substitute* "cmd.lisp"
13990 (("\\(def \\+env\\+ \"env\"\\)")
13991 (format #f "(def +env+ \"~a/env\")" bin))
13992 (("\\(def \\+kill\\+ \"kill\"\\)")
13993 (format #f "(def +kill+ \"~a/kill\")" bin))
13994 (("\\(def \\+ps\\+ \"ps\"\\)")
13995 (format #f "(def +ps+ \"~a/ps\")" ps-bin))
13996 (("\\(def \\+pwd\\+ \"pwd\"\\)")
13997 (format #f "(def +pwd+ \"~a/pwd\")" bin))
13998 (("\\(def \\+sh\\+ \"/bin/sh\"\\)")
13999 (format #f "(def +sh+ \"~a\")" (which "sh")))
14000 (("\\(def \\+tr\\+ \"tr\"\\)")
14001 (format #f "(def +tr+ \"~a/tr\")" bin)))))))))
14002 (home-page "https://github.com/ruricolist/cmd")
14003 (synopsis "Conveniently run external programs from Common Lisp")
14004 (description
14005 "A utility for running external programs, built on UIOP.
14006 Cmd is designed to be natural to use, protect against shell interpolation and
14007 be usable from multi-threaded programs.")
14008 (license license:expat))))
14009
14010 (define-public ecl-cmd
14011 (sbcl-package->ecl-package sbcl-cmd))
14012
14013 (define-public cl-cmd
14014 (sbcl-package->cl-source-package sbcl-cmd))
14015
14016 (define-public sbcl-ppath
14017 (let ((commit "eb1a8173b4d1d691ea9a7699412123462f58c3ce"))
14018 (package
14019 (name "sbcl-ppath")
14020 (version (git-version "0.1" "1" commit))
14021 (source
14022 (origin
14023 (method git-fetch)
14024 (uri (git-reference
14025 (url "https://github.com/fourier/ppath/")
14026 (commit commit)))
14027 (file-name (git-file-name name commit))
14028 (sha256
14029 (base32 "1c46q9lmzqv14z80d3fwdawgn3pn4922x31fyqvsvbcjm4hd16fb"))))
14030 (build-system asdf-build-system/sbcl)
14031 (inputs
14032 `(("alexandria" ,sbcl-alexandria)
14033 ("cffi" ,sbcl-cffi)
14034 ("osicat" ,sbcl-osicat)
14035 ("ppcre" ,sbcl-cl-ppcre)
14036 ("split-sequence" ,sbcl-split-sequence)
14037 ("trivial-features" ,sbcl-trivial-features)))
14038 (native-inputs
14039 `(("cl-fad" ,sbcl-cl-fad)
14040 ("prove" ,sbcl-prove)))
14041 (home-page "https://github.com/fourier/ppath")
14042 (synopsis "Common Lisp's implementation of the Python's os.path module")
14043 (description
14044 "This library is a path strings manipulation library inspired by
14045 Python's @code{os.path}. All functionality from @code{os.path} is supported on
14046 major operation systems.
14047
14048 The philosophy behind is to use simple strings and \"dumb\" string
14049 manipulation functions to handle paths and filenames. Where possible the
14050 corresponding OS system functions are called.")
14051 (license license:bsd-2))))
14052
14053 (define-public ecl-ppath
14054 (sbcl-package->ecl-package sbcl-ppath))
14055
14056 (define-public cl-ppath
14057 (sbcl-package->cl-source-package sbcl-ppath))
14058
14059 (define-public sbcl-trivial-escapes
14060 (let ((commit "1eca78da2078495d09893be58c28b3aa7b8cc4d1"))
14061 (package
14062 (name "sbcl-trivial-escapes")
14063 (version (git-version "1.2.0" "1" commit))
14064 (source
14065 (origin
14066 (method git-fetch)
14067 (uri (git-reference
14068 (url "https://github.com/williamyaoh/trivial-escapes")
14069 (commit commit)))
14070 (file-name (git-file-name name commit))
14071 (sha256
14072 (base32 "0v6h8lk17iqv1qkxgqjyzn8gi6v0hvq2vmfbb01md3zjvjqxn6lr"))))
14073 (build-system asdf-build-system/sbcl)
14074 (inputs
14075 `(("named-readtables" ,sbcl-named-readtables)))
14076 (native-inputs
14077 `(("fiveam" ,sbcl-fiveam)))
14078 (home-page "https://github.com/williamyaoh/trivial-escapes")
14079 (synopsis "C-style escape directives for Common Lisp")
14080 (description
14081 "This Common Lisp library interprets escape characters the same way that
14082 most other programming language do.
14083 It provides four readtables. The default one lets you write strings like this:
14084 @code{#\"This string has\na newline in it!\"}.")
14085 (license license:public-domain))))
14086
14087 (define-public ecl-trivial-escapes
14088 (sbcl-package->ecl-package sbcl-trivial-escapes))
14089
14090 (define-public cl-trivial-escapes
14091 (sbcl-package->cl-source-package sbcl-trivial-escapes))
14092
14093 (define-public sbcl-cl-indentify
14094 (let ((commit "eb770f434defa4cd41d84bca822428dfd0dbac53"))
14095 (package
14096 (name "sbcl-cl-indentify")
14097 (version (git-version "0.1" "1" commit))
14098 (source
14099 (origin
14100 (method git-fetch)
14101 (uri (git-reference
14102 (url "https://github.com/yitzchak/cl-indentify")
14103 (commit commit)))
14104 (file-name (git-file-name name commit))
14105 (sha256
14106 (base32 "0ha36bhg474vr76vfhr13szc8cfdj1ickg92k1icz791bqaqg67p"))))
14107 (build-system asdf-build-system/sbcl)
14108 (inputs
14109 `(("alexandria" ,sbcl-alexandria)
14110 ("command-line-arguments" ,sbcl-command-line-arguments)
14111 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
14112 (native-inputs
14113 `(("trivial-escapes" ,sbcl-trivial-escapes)
14114 ("rove" ,sbcl-rove)))
14115 (home-page "https://github.com/yitzchak/cl-indentify")
14116 (synopsis "Code beautifier for Common Lisp")
14117 (description
14118 "A library and command line utility to automatically indent Common Lisp
14119 source files.")
14120 (license license:expat))))
14121
14122 (define-public ecl-cl-indentify
14123 (sbcl-package->ecl-package sbcl-cl-indentify))
14124
14125 (define-public cl-indentify
14126 (sbcl-package->cl-source-package sbcl-cl-indentify))
14127
14128 (define-public sbcl-concrete-syntax-tree
14129 (let ((commit "abd242a59dadc5452aa9dbc1d313c83ec2c11f46"))
14130 (package
14131 (name "sbcl-concrete-syntax-tree")
14132 (version (git-version "0.0.0" "1" commit))
14133 (source
14134 (origin
14135 (method git-fetch)
14136 (uri (git-reference
14137 (url "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14138 (commit commit)))
14139 (file-name (git-file-name name commit))
14140 (sha256
14141 (base32 "1lyrglc3h1if44gxd9cwv90wa90nrdjvb7fry39b1xn8ywdfa7di"))))
14142 (build-system asdf-build-system/sbcl)
14143 (inputs
14144 `(("acclimation" ,sbcl-acclimation)))
14145 (home-page "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14146 (synopsis "Parse Common Lisp code into a concrete syntax tree")
14147 (description
14148 "This library is intended to solve the problem of source tracking for
14149 Common Lisp code.
14150
14151 By \"source tracking\", it is meant that code elements that have a known
14152 origin in the form of a position in a file or in an editor buffer are
14153 associated with some kind of information about this origin.
14154
14155 Since the exact nature of such origin information depends on the Common Lisp
14156 implementation and the purpose of wanting to track that origin, the library
14157 does not impose a particular structure of this information. Instead, it
14158 provides utilities for manipulating source code in the form of what is called
14159 concrete syntax trees (CSTs for short) that preserve this information about
14160 the origin.")
14161 (license license:bsd-2))))
14162
14163 (define-public ecl-concrete-syntax-tree
14164 (sbcl-package->ecl-package sbcl-concrete-syntax-tree))
14165
14166 (define-public cl-concrete-syntax-tree
14167 (sbcl-package->cl-source-package sbcl-concrete-syntax-tree))
14168
14169 (define-public sbcl-eclector
14170 (package
14171 (name "sbcl-eclector")
14172 (version "0.5.0")
14173 (source
14174 (origin
14175 (method git-fetch)
14176 (uri (git-reference
14177 (url "https://github.com/s-expressionists/Eclector")
14178 (commit version)))
14179 (file-name (git-file-name name version))
14180 (sha256
14181 (base32 "0bwkla0jdp5bg0q1zca5wg22b0nbdmglgax345nrhsf8bdrh47wm"))))
14182 (build-system asdf-build-system/sbcl)
14183 (inputs
14184 `(("acclimation" ,sbcl-acclimation)
14185 ("alexandria" ,sbcl-alexandria)
14186 ("closer-mop" ,sbcl-closer-mop)
14187 ("concrete-syntax-tree" ,sbcl-concrete-syntax-tree)))
14188 (native-inputs
14189 `(("fiveam" ,sbcl-fiveam)))
14190 (arguments
14191 '(#:asd-systems '("eclector"
14192 "eclector-concrete-syntax-tree")))
14193 (home-page "https://s-expressionists.github.io/Eclector/")
14194 (synopsis "Highly customizable, portable Common Lisp reader")
14195 (description
14196 "Eclector is a portable Common Lisp reader that is highly customizable,
14197 can recover from errors and can return concrete syntax trees.
14198
14199 In contrast to many other reader implementations, eclector can recover from
14200 most errors in the input supplied to it and continue reading. This capability
14201 is realized as a restart.
14202
14203 It can also produce instances of the concrete syntax tree classes provided by
14204 the concrete syntax tree library.")
14205 (license license:bsd-2)))
14206
14207 (define-public ecl-eclector
14208 (sbcl-package->ecl-package sbcl-eclector))
14209
14210 (define-public cl-eclector
14211 (sbcl-package->cl-source-package sbcl-eclector))
14212
14213 (define-public sbcl-jsown
14214 (let ((commit "744c4407bef58dfa876d9da0b5c0205d869e7977"))
14215 (package
14216 (name "sbcl-jsown")
14217 (version (git-version "1.0.1" "1" commit))
14218 (source
14219 (origin
14220 (method git-fetch)
14221 (uri (git-reference
14222 (url "https://github.com/madnificent/jsown")
14223 (commit commit)))
14224 (file-name (git-file-name name commit))
14225 (sha256
14226 (base32 "0gadvmf1d9bq35s61z76psrsnzwwk12svi66jigf491hv48wigw7"))))
14227 (build-system asdf-build-system/sbcl)
14228 (home-page "https://github.com/madnificent/jsown")
14229 (synopsis "Fast JSON reader / writer library for Common Lisp")
14230 (description
14231 "@code{jsown} is a high performance Common Lisp JSON parser. Its aim
14232 is to allow for the fast parsing of JSON objects in Common Lisp. Recently,
14233 functions and macros have been added to ease the burden of writing and editing
14234 @code{jsown} objects.
14235
14236 @code{jsown} allows you to parse JSON objects quickly to a modifiable Lisp
14237 list and write them back. If you only need partial retrieval of objects,
14238 @code{jsown} allows you to select the keys which you would like to see parsed.
14239 @code{jsown} also has a JSON writer and some helper methods to alter the JSON
14240 objects themselves.")
14241 (license license:expat))))
14242
14243 (define-public ecl-jsown
14244 (sbcl-package->ecl-package sbcl-jsown))
14245
14246 (define-public cl-jsown
14247 (sbcl-package->cl-source-package sbcl-jsown))
14248
14249 (define-public sbcl-system-locale
14250 (let ((commit "4b334bc2fa45651bcaa28ae7d9331095d6bf0a17"))
14251 (package
14252 (name "sbcl-system-locale")
14253 (version (git-version "1.0.0" "1" commit))
14254 (source
14255 (origin
14256 (method git-fetch)
14257 (uri (git-reference
14258 (url "https://github.com/Shinmera/system-locale/")
14259 (commit commit)))
14260 (file-name (git-file-name name commit))
14261 (sha256
14262 (base32 "00p5c053kmgq4ks6l9mxsqz6g3bjcybvkvj0bh3r90qgpkaawm1p"))))
14263 (build-system asdf-build-system/sbcl)
14264 (inputs
14265 `(("documentation-utils" ,sbcl-documentation-utils)))
14266 (home-page "https://shinmera.github.io/system-locale/")
14267 (synopsis "Get the system's locale and language settings in Common Lisp")
14268 (description
14269 "This library retrieves locale information configured on the
14270 system. This is helpful if you want to write applications and libraries that
14271 display messages in the user's native language.")
14272 (license license:zlib))))
14273
14274 (define-public ecl-system-locale
14275 (sbcl-package->ecl-package sbcl-system-locale))
14276
14277 (define-public cl-system-locale
14278 (sbcl-package->cl-source-package sbcl-system-locale))
14279
14280 (define-public sbcl-language-codes
14281 (let ((commit "e7aa0e37cb97a3d37d6bc7316b479d01bff8f42e"))
14282 (package
14283 (name "sbcl-language-codes")
14284 (version (git-version "1.0.0" "1" commit))
14285 (source
14286 (origin
14287 (method git-fetch)
14288 (uri (git-reference
14289 (url "https://github.com/Shinmera/language-codes")
14290 (commit commit)))
14291 (file-name (git-file-name name commit))
14292 (sha256
14293 (base32 "0py176ibmsc01n5r0q1bs1ykqf5jwdbh8kx0j1a814l9y51241v0"))))
14294 (build-system asdf-build-system/sbcl)
14295 (inputs
14296 `(("documentation-utils" ,sbcl-documentation-utils)))
14297 (home-page "https://shinmera.github.io/language-codes/")
14298 (synopsis "Map ISO language codes to language names in Common Lisp")
14299 (description
14300 "This is a small library providing the ISO-639 language code to
14301 language name mapping.")
14302 (license license:zlib))))
14303
14304 (define-public ecl-language-codes
14305 (sbcl-package->ecl-package sbcl-language-codes))
14306
14307 (define-public cl-language-codes
14308 (sbcl-package->cl-source-package sbcl-language-codes))
14309
14310 (define-public sbcl-multilang-documentation
14311 (let ((commit "59e798a07e949e8957a20927f52aca425d84e4a0"))
14312 (package
14313 (name "sbcl-multilang-documentation")
14314 (version (git-version "1.0.0" "1" commit))
14315 (source
14316 (origin
14317 (method git-fetch)
14318 (uri (git-reference
14319 (url "https://github.com/Shinmera/multilang-documentation")
14320 (commit commit)))
14321 (file-name (git-file-name name commit))
14322 (sha256
14323 (base32 "13y5jskx8n2b7kimpfarr8v777w3b7zj5swg1b99nj3hk0843ixw"))))
14324 (build-system asdf-build-system/sbcl)
14325 (inputs
14326 `(("documentation-utils" ,sbcl-documentation-utils)
14327 ("language-codes" ,sbcl-language-codes)
14328 ("system-locale" ,sbcl-system-locale)))
14329 (home-page "https://shinmera.github.io/multilang-documentation/")
14330 (synopsis "Add multiple languages support to Common Lisp documentation")
14331 (description
14332 "This library provides a drop-in replacement function for
14333 cl:documentation that supports multiple docstrings per-language, allowing you
14334 to write documentation that can be internationalised.")
14335 (license license:zlib))))
14336
14337 (define-public ecl-multilang-documentation
14338 (sbcl-package->ecl-package sbcl-multilang-documentation))
14339
14340 (define-public cl-multilang-documentation
14341 (sbcl-package->cl-source-package sbcl-multilang-documentation))
14342
14343 (define-public sbcl-trivial-do
14344 (let ((commit "03a1729f1e71bad3ebcf6cf098a0cce52dfa1163"))
14345 (package
14346 (name "sbcl-trivial-do")
14347 (version (git-version "0.1" "1" commit))
14348 (source
14349 (origin
14350 (method git-fetch)
14351 (uri (git-reference
14352 (url "https://github.com/yitzchak/trivial-do")
14353 (commit commit)))
14354 (file-name (git-file-name name commit))
14355 (sha256
14356 (base32 "1ffva79nkicc7wc8c2ic5nayis3b2rk5sxzj74yjkymkjgbpcrgd"))))
14357 (build-system asdf-build-system/sbcl)
14358 (home-page "https://github.com/yitzchak/trivial-do")
14359 (synopsis "Additional dolist style macros for Common Lisp")
14360 (description
14361 "Additional dolist style macros for Common Lisp, such as
14362 @code{doalist}, @code{dohash}, @code{dolist*}, @code{doplist}, @code{doseq}
14363 and @code{doseq*}.")
14364 (license license:zlib))))
14365
14366 (define-public ecl-trivial-do
14367 (sbcl-package->ecl-package sbcl-trivial-do))
14368
14369 (define-public cl-trivial-do
14370 (sbcl-package->cl-source-package sbcl-trivial-do))
14371
14372 (define-public sbcl-common-lisp-jupyter
14373 (let ((commit "61a9a8e7a18e2abd7af7c697ba5146fd19bd9d62"))
14374 (package
14375 (name "sbcl-common-lisp-jupyter")
14376 (version (git-version "0.1" "1" commit))
14377 (source
14378 (origin
14379 (method git-fetch)
14380 (uri (git-reference
14381 (url "https://github.com/yitzchak/common-lisp-jupyter")
14382 (commit commit)))
14383 (file-name (git-file-name name commit))
14384 (sha256
14385 (base32 "0zyzl55l45w9z65ygi5pcwda5w5p1j1bb0p2zg2n5cpv8344dkh2"))))
14386 (build-system asdf-build-system/sbcl)
14387 (inputs
14388 `(("alexandria" ,sbcl-alexandria)
14389 ("babel" ,sbcl-babel)
14390 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14391 ("cl-base64" ,sbcl-cl-base64)
14392 ("cl-indentify" ,sbcl-cl-indentify)
14393 ("closer-mop" ,sbcl-closer-mop)
14394 ("eclector" ,sbcl-eclector)
14395 ("ironclad" ,sbcl-ironclad)
14396 ("iterate" ,sbcl-iterate)
14397 ("jsown" ,sbcl-jsown)
14398 ("multilang-documentation" ,sbcl-multilang-documentation)
14399 ("pzmq" ,sbcl-pzmq)
14400 ("puri" ,sbcl-puri)
14401 ("static-vectors" ,sbcl-static-vectors)
14402 ("trivial-do" ,sbcl-trivial-do)
14403 ("trivial-garbage" ,sbcl-trivial-garbage)
14404 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
14405 ("trivial-mimes" ,sbcl-trivial-mimes)))
14406 (home-page "https://yitzchak.github.io/common-lisp-jupyter/")
14407 (synopsis "Common Lisp kernel for Jupyter")
14408 (description
14409 "This is a Common Lisp kernel for Jupyter along with a library for
14410 building Jupyter kernels, based on Maxima-Jupyter which was based on
14411 @code{cl-jupyter}.")
14412 (license license:zlib))))
14413
14414 (define-public ecl-common-lisp-jupyter
14415 (sbcl-package->ecl-package sbcl-common-lisp-jupyter))
14416
14417 (define-public cl-common-lisp-jupyter
14418 (sbcl-package->cl-source-package sbcl-common-lisp-jupyter))
14419
14420 (define-public sbcl-radiance
14421 (let ((commit "5ffbe1f157edd17a13194495099efd81e052df85")
14422 (revision "1"))
14423 (package
14424 (name "sbcl-radiance")
14425 (version (git-version "2.1.2" revision commit))
14426 (source
14427 (origin
14428 (method git-fetch)
14429 (uri (git-reference
14430 (url "https://github.com/Shirakumo/radiance")
14431 (commit commit)))
14432 (file-name (git-file-name "radiance" version))
14433 (sha256
14434 (base32 "0hbkcnmnlj1cqzbv18zmla2iwbl65kxilz9764hndf8x8as1539c"))))
14435 (build-system asdf-build-system/sbcl)
14436 (arguments
14437 `(#:tests? #f ; TODO: The tests require some configuration.
14438 #:phases
14439 (modify-phases %standard-phases
14440 (add-after 'unpack 'disable-quicklisp
14441 (lambda _
14442 ;; Disable the automatic installation of systems by Quicklisp.
14443 ;; (Maybe there would be a way to package Quicklisp and make it
14444 ;; install things in the user's directory instead of
14445 ;; /gnu/store/...).
14446 (substitute* "interfaces.lisp"
14447 (("\\(unless \\(asdf:find-system configured-implementation NIL\\)"
14448 all)
14449 (string-append "#+quicklisp " all))))))))
14450 (native-inputs
14451 `(("alexandria" ,sbcl-alexandria)
14452 ("dexador" ,sbcl-dexador)
14453 ("parachute" ,sbcl-parachute)
14454 ("verbose" ,sbcl-verbose)))
14455 (inputs
14456 `(("babel" ,sbcl-babel)
14457 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14458 ("cl-ppcre" ,sbcl-cl-ppcre)
14459 ("closer-mop" ,sbcl-closer-mop)
14460 ("documentation-utils" ,sbcl-documentation-utils)
14461 ("deploy" ,sbcl-deploy)
14462 ("form-fiddle" ,sbcl-form-fiddle)
14463 ("lambda-fiddle" ,sbcl-lambda-fiddle)
14464 ("local-time" ,sbcl-local-time)
14465 ("modularize-hooks" ,sbcl-modularize-hooks)
14466 ("modularize-interfaces" ,sbcl-modularize-interfaces)
14467 ("puri" ,sbcl-puri)
14468 ("trivial-indent" ,sbcl-trivial-indent)
14469 ("trivial-mimes" ,sbcl-trivial-mimes)
14470 ("ubiquitous-concurrent" ,sbcl-ubiquitous)))
14471 (home-page "https://shirakumo.github.io/radiance/")
14472 (synopsis "Common Lisp web application environment")
14473 (description
14474 "Radiance is a web application environment, which is sort of like a web
14475 framework, but more general, more flexible. It should let you write personal
14476 websites and generally deployable applications easily and in such a way that
14477 they can be used on practically any setup without having to undergo special
14478 adaptations.")
14479 (license license:zlib))))
14480
14481 (define-public ecl-radiance
14482 (sbcl-package->ecl-package sbcl-radiance))
14483
14484 (define-public cl-radiance
14485 (sbcl-package->cl-source-package sbcl-radiance))