gnu: sbcl-named-readtables: Update to 0.9-3.585a28e.
[jackhill/guix/guix.git] / gnu / packages / lisp-xyz.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2014 John Darrington <jmd@gnu.org>
3 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
4 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
5 ;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch>
6 ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
7 ;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca>
8 ;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
9 ;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
10 ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
11 ;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
12 ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
13 ;;; Copyright © 2018, 2020, 2021 Pierre Neidhardt <mail@ambrevar.xyz>
14 ;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
15 ;;; Copyright © 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
16 ;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com>
17 ;;; Copyright © 2019, 2020, 2021 Guillaume Le Vaillant <glv@posteo.net>
18 ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
19 ;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
20 ;;; Copyright © 2020 Dimakis Dimakakos <me@bendersteed.tech>
21 ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
22 ;;; Copyright © 2020, 2021 Adam Kandur <rndd@tuta.io>
23 ;;; Copyright © 2020, 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
24 ;;; Copyright © 2021 Aurora <rind38@disroot.org>
25 ;;; Copyright © 2021 Matthew Kraai <kraai@ftbfs.org>
26 ;;;
27 ;;; This file is part of GNU Guix.
28 ;;;
29 ;;; GNU Guix is free software; you can redistribute it and/or modify it
30 ;;; under the terms of the GNU General Public License as published by
31 ;;; the Free Software Foundation; either version 3 of the License, or (at
32 ;;; your option) any later version.
33 ;;;
34 ;;; GNU Guix is distributed in the hope that it will be useful, but
35 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
36 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
37 ;;; GNU General Public License for more details.
38 ;;;
39 ;;; You should have received a copy of the GNU General Public License
40 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
41
42 ;;; This file only contains Common Lisp libraries.
43 ;;; Common Lisp compilers and tooling go to lisp.scm.
44 ;;; Common Lisp applications should go to the most appropriate file,
45 ;;; e.g. StumpWM is in wm.scm.
46
47 (define-module (gnu packages lisp-xyz)
48 #:use-module (gnu packages)
49 #:use-module ((guix licenses) #:prefix license:)
50 #:use-module (guix packages)
51 #:use-module (guix download)
52 #:use-module (guix git-download)
53 #:use-module (guix hg-download)
54 #:use-module (guix utils)
55 #:use-module (guix build-system asdf)
56 #:use-module (guix build-system trivial)
57 #:use-module (gnu packages base)
58 #:use-module (gnu packages c)
59 #:use-module (gnu packages compression)
60 #:use-module (gnu packages databases)
61 #:use-module (gnu packages enchant)
62 #:use-module (gnu packages file)
63 #:use-module (gnu packages fonts)
64 #:use-module (gnu packages fontutils)
65 #:use-module (gnu packages glib)
66 #:use-module (gnu packages gtk)
67 #:use-module (gnu packages imagemagick)
68 #:use-module (gnu packages libevent)
69 #:use-module (gnu packages libffi)
70 #:use-module (gnu packages lisp)
71 #:use-module (gnu packages maths)
72 #:use-module (gnu packages mp3)
73 #:use-module (gnu packages networking)
74 #:use-module (gnu packages pkg-config)
75 #:use-module (gnu packages python)
76 #:use-module (gnu packages python-xyz)
77 #:use-module (gnu packages sqlite)
78 #:use-module (gnu packages tcl)
79 #:use-module (gnu packages tls)
80 #:use-module (gnu packages web)
81 #:use-module (gnu packages webkit)
82 #:use-module (gnu packages xdisorg)
83 #:use-module (ice-9 match)
84 #:use-module (srfi srfi-1)
85 #:use-module (srfi srfi-19))
86
87 (define-public sbcl-alexandria
88 (package
89 (name "sbcl-alexandria")
90 (version "1.2")
91 (source
92 (origin
93 (method git-fetch)
94 (uri (git-reference
95 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
96 (commit (string-append "v" version))))
97 (sha256
98 (base32
99 "0bcqs0z9xlqgjz43qzgq9i07vdlnjllpm1wwa37wpkg0w975r712"))
100 (file-name (git-file-name name version))))
101 (build-system asdf-build-system/sbcl)
102 (native-inputs
103 `(("rt" ,sbcl-rt)))
104 (synopsis "Collection of portable utilities for Common Lisp")
105 (description
106 "Alexandria is a collection of portable utilities. It does not contain
107 conceptual extensions to Common Lisp. It is conservative in scope, and
108 portable between implementations.")
109 (home-page "https://common-lisp.net/project/alexandria/")
110 (license license:public-domain)))
111
112 (define-public cl-alexandria
113 (sbcl-package->cl-source-package sbcl-alexandria))
114
115 (define-public ecl-alexandria
116 (sbcl-package->ecl-package sbcl-alexandria))
117
118 (define-public sbcl-golden-utils
119 (let ((commit "9424419d867d5c2f819196ee41667a818a5058e7")
120 (revision "1"))
121 (package
122 (name "sbcl-golden-utils")
123 (version (git-version "0.0.0" revision commit))
124 (source
125 (origin
126 (method git-fetch)
127 (uri (git-reference
128 (url "https://git.mfiano.net/mfiano/golden-utils")
129 (commit commit)))
130 (file-name (git-file-name name version))
131 (sha256
132 (base32 "15x0phm6820yj3h37ibi06gjyh6z45sd2nz2n8lcbfflwm086q0h"))))
133 (build-system asdf-build-system/sbcl)
134 (inputs
135 `(("alexandria" ,sbcl-alexandria)))
136 (home-page "https://git.mfiano.net/mfiano/golden-utils")
137 (synopsis "Common Lisp utility library")
138 (description
139 "This is a Common Lisp library providing various utilities.")
140 (license license:expat))))
141
142 (define-public ecl-golden-utils
143 (sbcl-package->ecl-package sbcl-golden-utils))
144
145 (define-public cl-golden-utils
146 (sbcl-package->cl-source-package sbcl-golden-utils))
147
148 (define-public sbcl-asdf-finalizers
149 (let ((commit "7f537f6c598b662ae987c6acc268dd27c25977e0")
150 (revision "1"))
151 (package
152 (name "sbcl-asdf-finalizers")
153 (version (git-version "0.0.0" revision commit))
154 (source
155 (origin
156 (method git-fetch)
157 (uri (git-reference
158 (url "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
159 (commit commit)))
160 (file-name (git-file-name name version))
161 (sha256
162 (base32 "1w56c9yjjydjshsgqxz57qlp2v3r4ilbisnsgiqphvxnhvd41y0v"))))
163 (build-system asdf-build-system/sbcl)
164 (native-inputs
165 `(("fare-utils" ,sbcl-fare-utils)
166 ("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
167 (arguments
168 `(#:asd-files '("asdf-finalizers.asd"
169 "list-of.asd"
170 "asdf-finalizers-test.asd")
171 #:asd-systems '("asdf-finalizers"
172 "list-of")))
173 (home-page "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
174 (synopsis "Enforced calling of finalizers for Lisp code")
175 (description "This library allows you to implement and enforce proper
176 finalization of compile-time constructs while building Lisp source files.
177
178 It produces two systems: asdf-finalizers and list-of.")
179 (license license:expat))))
180
181 (define-public ecl-asdf-finalizers
182 (sbcl-package->ecl-package sbcl-asdf-finalizers))
183
184 (define-public cl-asdf-finalizers
185 (sbcl-package->cl-source-package sbcl-asdf-finalizers))
186
187 (define-public sbcl-net.didierverna.asdf-flv
188 (package
189 (name "sbcl-net.didierverna.asdf-flv")
190 (version "2.1")
191 (source
192 (origin
193 (method git-fetch)
194 (uri (git-reference
195 (url "https://github.com/didierverna/asdf-flv")
196 (commit (string-append "version-" version))))
197 (file-name (git-file-name "asdf-flv" version))
198 (sha256
199 (base32 "1fi2y4baxan103jbg4idjddzihy03kwnj2mzbwrknw4d4x7xlgwj"))))
200 (build-system asdf-build-system/sbcl)
201 (synopsis "Common Lisp ASDF extension to provide support for file-local variables")
202 (description "ASDF-FLV provides support for file-local variables through
203 ASDF. A file-local variable behaves like @code{*PACKAGE*} and
204 @code{*READTABLE*} with respect to @code{LOAD} and @code{COMPILE-FILE}: a new
205 dynamic binding is created before processing the file, so that any
206 modification to the variable becomes essentially file-local.
207
208 In order to make one or several variables file-local, use the macros
209 @code{SET-FILE-LOCAL-VARIABLE(S)}.")
210 (home-page "https://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv")
211 (license (license:non-copyleft
212 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
213 "GNU All-Permissive License"))))
214
215 (define-public cl-net.didierverna.asdf-flv
216 (sbcl-package->cl-source-package sbcl-net.didierverna.asdf-flv))
217
218 (define-public ecl-net.didierverna.asdf-flv
219 (sbcl-package->ecl-package sbcl-net.didierverna.asdf-flv))
220
221 (define-public sbcl-command-line-arguments
222 (let ((commit "fbac862fb01c0e368141204f3f639920462c23fe")
223 (revision "1"))
224 (package
225 (name "sbcl-command-line-arguments")
226 (version (git-version "2.0.0" revision commit))
227 (source
228 (origin
229 (method git-fetch)
230 (uri (git-reference
231 (url "https://github.com/fare/command-line-arguments")
232 (commit commit)))
233 (file-name (git-file-name name version))
234 (sha256
235 (base32 "054m1ikndzqf72mb9ajaa64136cwr3bgag4yfbi1574a9vq75mjq"))))
236 (build-system asdf-build-system/sbcl)
237 (home-page "https://github.com/fare/command-line-arguments")
238 (synopsis "Trivial command-line argument parsing library for Common Lisp")
239 (description "This is a library to abstract away the parsing of
240 Unix-style command-line arguments. Use it in conjunction with asdf:program-op
241 or cl-launch for portable processing of command-line arguments.")
242 (license license:expat))))
243
244 (define-public ecl-command-line-arguments
245 (sbcl-package->ecl-package sbcl-command-line-arguments))
246
247 (define-public cl-command-line-arguments
248 (sbcl-package->cl-source-package sbcl-command-line-arguments))
249
250 (define-public sbcl-fiveam
251 (package
252 (name "sbcl-fiveam")
253 (version "1.4.1")
254 (source
255 (origin
256 (method git-fetch)
257 (uri (git-reference
258 (url "https://github.com/sionescu/fiveam")
259 (commit (string-append "v" version))))
260 (file-name (git-file-name "fiveam" version))
261 (sha256
262 (base32 "1q3d38pwafnwnw42clq0f8g5xw7pbzr287jl9jsqmb1vb0n1vrli"))))
263 (inputs
264 `(("alexandria" ,sbcl-alexandria)
265 ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
266 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
267 (build-system asdf-build-system/sbcl)
268 (synopsis "Common Lisp testing framework")
269 (description "FiveAM is a simple (as far as writing and running tests
270 goes) regression testing framework. It has been designed with Common Lisp's
271 interactive development model in mind.")
272 (home-page "https://common-lisp.net/project/fiveam/")
273 (license license:bsd-3)))
274
275 (define-public cl-fiveam
276 (sbcl-package->cl-source-package sbcl-fiveam))
277
278 (define-public ecl-fiveam
279 (sbcl-package->ecl-package sbcl-fiveam))
280
281 (define-public sbcl-trivial-timeout
282 (let ((commit "feb869357f40f5e109570fb40abad215fb370c6c")
283 (revision "1"))
284 (package
285 (name "sbcl-trivial-timeout")
286 (version (git-version "0.1.5" revision commit))
287 (source
288 (origin
289 (method git-fetch)
290 (uri (git-reference
291 (url "https://github.com/gwkkwg/trivial-timeout/")
292 (commit commit)))
293 (file-name (git-file-name "trivial-timeout" version))
294 (sha256
295 (base32 "1kninxwvvih9nhh7a9y8lfgi7pdr76675y1clw4ss17vz8fbim5p"))))
296 (build-system asdf-build-system/sbcl)
297 (native-inputs
298 `(("lift" ,sbcl-lift)))
299 (arguments
300 ;; NOTE: (Sharlatan-20210202T231437+0000): Due to the age of this library
301 ;; tests use some deprecated functionality and keep failing.
302 `(#:tests? #f))
303 (home-page "https://github.com/gwkkwg/trivial-timeout/")
304 (synopsis "Timeout library for Common Lisp")
305 (description
306 "This library provides an OS and implementation independent access to
307 timeouts.")
308 (license license:expat))))
309
310 (define-public ecl-trivial-timeout
311 (sbcl-package->ecl-package sbcl-trivial-timeout))
312
313 (define-public cl-trivial-timeout
314 (sbcl-package->cl-source-package sbcl-trivial-timeout))
315
316 (define-public sbcl-bordeaux-threads
317 (package
318 (name "sbcl-bordeaux-threads")
319 (version "0.8.8")
320 (source (origin
321 (method git-fetch)
322 (uri (git-reference
323 (url "https://github.com/sionescu/bordeaux-threads")
324 (commit (string-append "v" version))))
325 (sha256
326 (base32 "19i443fz3488v1pbbr9x24y8h8vlyhny9vj6c9jk5prm702awrp6"))
327 (file-name
328 (git-file-name "bordeaux-threads" version))))
329 (inputs `(("alexandria" ,sbcl-alexandria)))
330 (native-inputs `(("fiveam" ,sbcl-fiveam)))
331 (build-system asdf-build-system/sbcl)
332 (synopsis "Portable shared-state concurrency library for Common Lisp")
333 (description "BORDEAUX-THREADS is a proposed standard for a minimal
334 MP/Threading interface. It is similar to the CLIM-SYS threading and lock
335 support.")
336 (home-page "https://common-lisp.net/project/bordeaux-threads/")
337 (license license:x11)))
338
339 (define-public cl-bordeaux-threads
340 (sbcl-package->cl-source-package sbcl-bordeaux-threads))
341
342 (define-public ecl-bordeaux-threads
343 (sbcl-package->ecl-package sbcl-bordeaux-threads))
344
345 (define-public sbcl-trivial-gray-streams
346 (let ((revision "1")
347 (commit "ebd59b1afed03b9dc8544320f8f432fdf92ab010"))
348 (package
349 (name "sbcl-trivial-gray-streams")
350 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
351 (source
352 (origin
353 (method git-fetch)
354 (uri
355 (git-reference
356 (url "https://github.com/trivial-gray-streams/trivial-gray-streams")
357 (commit commit)))
358 (sha256
359 (base32 "0b1pxlccmnagk9cbh4cy8s5k66g3x0gwib5shjwr24xvrji6lp94"))
360 (file-name
361 (string-append "trivial-gray-streams-" version "-checkout"))))
362 (build-system asdf-build-system/sbcl)
363 (synopsis "Compatibility layer for Gray streams implementations")
364 (description "Gray streams is an interface proposed for inclusion with
365 ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most
366 popular CL implementations implement it. This package provides an extremely
367 thin compatibility layer for gray streams.")
368 (home-page "https://www.cliki.net/trivial-gray-streams")
369 (license license:x11))))
370
371 (define-public cl-trivial-gray-streams
372 (sbcl-package->cl-source-package sbcl-trivial-gray-streams))
373
374 (define-public ecl-trivial-gray-streams
375 (sbcl-package->ecl-package sbcl-trivial-gray-streams))
376
377 (define-public sbcl-fiasco
378 (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
379 (revision "1"))
380 (package
381 (name "sbcl-fiasco")
382 (version (git-version "0.0.1" revision commit))
383 (source
384 (origin
385 (method git-fetch)
386 (uri (git-reference
387 (url "https://github.com/joaotavora/fiasco")
388 (commit commit)))
389 (file-name (git-file-name "fiasco" version))
390 (sha256
391 (base32
392 "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
393 (build-system asdf-build-system/sbcl)
394 (inputs
395 `(("alexandria" ,sbcl-alexandria)
396 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
397 (synopsis "Simple and powerful test framework for Common Lisp")
398 (description "A Common Lisp test framework that treasures your failures,
399 logical continuation of Stefil. It focuses on interactive debugging.")
400 (home-page "https://github.com/joaotavora/fiasco")
401 ;; LICENCE specifies this is public-domain unless the legislation
402 ;; doesn't allow or recognize it. In that case it falls back to a
403 ;; permissive licence.
404 (license (list license:public-domain
405 (license:x11-style "file://LICENCE"))))))
406
407 (define-public cl-fiasco
408 (sbcl-package->cl-source-package sbcl-fiasco))
409
410 (define-public ecl-fiasco
411 (sbcl-package->ecl-package sbcl-fiasco))
412
413 (define-public sbcl-flexi-streams
414 (package
415 (name "sbcl-flexi-streams")
416 (version "1.0.18")
417 (source
418 (origin
419 (method git-fetch)
420 (uri (git-reference
421 (url "https://github.com/edicl/flexi-streams")
422 (commit (string-append "v" version))))
423 (file-name (git-file-name "flexi-streams" version))
424 (sha256
425 (base32 "0bjv7fd2acknidc5dyi3h85pn10krxv5jyxs1xg8jya2rlfv7f1j"))))
426 (build-system asdf-build-system/sbcl)
427 (arguments
428 `(#:phases
429 (modify-phases %standard-phases
430 (add-after 'unpack 'make-git-checkout-writable
431 (lambda _
432 (for-each make-file-writable (find-files "."))
433 #t)))))
434 (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
435 (synopsis "Implementation of virtual bivalent streams for Common Lisp")
436 (description "Flexi-streams is an implementation of \"virtual\" bivalent
437 streams that can be layered atop real binary or bivalent streams and that can
438 be used to read and write character data in various single- or multi-octet
439 encodings which can be changed on the fly. It also supplies in-memory binary
440 streams which are similar to string streams.")
441 (home-page "http://weitz.de/flexi-streams/")
442 (license license:bsd-3)))
443
444 (define-public cl-flexi-streams
445 (sbcl-package->cl-source-package sbcl-flexi-streams))
446
447 (define-public ecl-flexi-streams
448 (sbcl-package->ecl-package sbcl-flexi-streams))
449
450 (define-public sbcl-cl-abnf
451 ;; There are no releases
452 (let ((commit "ba1fbb104dedbdaddb1ef93d2e4da711bd96cd70")
453 (revision "1"))
454 (package
455 (name "sbcl-cl-abnf")
456 (version (git-version "0.0.0" revision commit))
457 (source
458 (origin
459 (method git-fetch)
460 (uri (git-reference
461 (url "https://github.com/dimitri/cl-abnf")
462 (commit commit)))
463 (file-name (git-file-name "cl-abnf" version))
464 (sha256
465 (base32 "0f09nsndxa90acm71zd4qdnp40v705a4sqm04mnv9x76h6dlggmz"))))
466 (build-system asdf-build-system/sbcl)
467 (inputs
468 `(("cl-ppcre" ,sbcl-cl-ppcre)
469 ("esrap" ,sbcl-esrap)))
470 (arguments
471 `(#:asd-systems '("abnf")))
472 (home-page "https://github.com/dimitri/cl-abnf")
473 (synopsis "ABNF parser generator for Common Lisp")
474 (description "This Common Lisp library implements a parser generator for
475 the ABNF grammar format as described in RFC2234. The generated parser is a
476 regular expression scanner provided by the cl-ppcre lib, which means that we
477 can't parse recursive grammar definition. One such definition is the ABNF
478 definition as given by the RFC. Fortunately, as you have this lib, you most
479 probably don't need to generate another parser to handle that particular ABNF
480 grammar.")
481 (license license:expat))))
482
483 (define-public cl-abnf
484 (sbcl-package->cl-source-package sbcl-cl-abnf))
485
486 (define-public ecl-cl-abnf
487 (sbcl-package->ecl-package sbcl-cl-abnf))
488
489 (define-public sbcl-cl-ppcre
490 (package
491 (name "sbcl-cl-ppcre")
492 (version "2.1.1")
493 (source
494 (origin
495 (method git-fetch)
496 (uri (git-reference
497 (url "https://github.com/edicl/cl-ppcre")
498 (commit (string-append "v" version))))
499 (file-name (git-file-name "cl-ppcre" version))
500 (sha256
501 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
502 (build-system asdf-build-system/sbcl)
503 (native-inputs
504 `(("flexi-streams" ,sbcl-flexi-streams)))
505 (arguments
506 `(#:phases
507 (modify-phases %standard-phases
508 (add-after 'unpack 'disable-ppcre-unicode
509 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
510 ;; to work around the circular dependency between edicl/cl-ppcre
511 ;; and edicl/cl-unicode.
512 (lambda _
513 (delete-file "cl-ppcre-unicode.asd")
514 #t)))))
515 (synopsis "Portable regular expression library for Common Lisp")
516 (description "CL-PPCRE is a portable regular expression library for Common
517 Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
518 compatible with ANSI-compliant Common Lisp implementations.")
519 (home-page "http://weitz.de/cl-ppcre/")
520 (license license:bsd-2)))
521
522 (define-public cl-ppcre
523 (sbcl-package->cl-source-package sbcl-cl-ppcre))
524
525 (define-public ecl-cl-ppcre
526 (sbcl-package->ecl-package sbcl-cl-ppcre))
527
528 (define-public sbcl-ubiquitous
529 (let ((commit "35eb7bd9e1b3daee1705f6b41260775180cce8af")
530 (revision "1"))
531 (package
532 (name "sbcl-ubiquitous")
533 (version (git-version "2.0.0" revision commit))
534 (source
535 (origin
536 (method git-fetch)
537 (uri (git-reference
538 (url "https://github.com/Shinmera/ubiquitous")
539 (commit commit)))
540 (file-name (git-file-name "ubiquitous" version))
541 (sha256
542 (base32 "1xlkaqmjcpkiv2xl2s2pvvrv976dlc846wm16s1lj62iy1315i49"))))
543 (build-system asdf-build-system/sbcl)
544 (inputs
545 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
546 (arguments
547 '(#:asd-systems '("ubiquitous"
548 "ubiquitous-concurrent")))
549 (home-page "https://shinmera.github.io/ubiquitous/")
550 (synopsis "Application configuration mechanism for Common Lisp")
551 (description
552 "@code{UBIQUITOUS} is a very easy-to-use library for persistent
553 configuration storage. It automatically takes care of finding a suitable place
554 to save your data, and provides simple functions to access and modify the data
555 within.")
556 (license license:zlib))))
557
558 (define-public ecl-ubiquitous
559 (sbcl-package->ecl-package sbcl-ubiquitous))
560
561 (define-public cl-ubiquitous
562 (sbcl-package->cl-source-package sbcl-ubiquitous))
563
564 (define-public sbcl-uax-15
565 (package
566 (name "sbcl-uax-15")
567 (version "0.1.1")
568 (source
569 (origin
570 (method git-fetch)
571 (uri (git-reference
572 (url "https://github.com/sabracrolleton/uax-15")
573 (commit (string-append "v" version))))
574 (file-name (git-file-name "uax-15" version))
575 (sha256
576 (base32 "0p2ckw7mzxhwa9vbwj2q2dzayz9dl94d9yqd2ynp0pc5v8i0n2fr"))))
577 (build-system asdf-build-system/sbcl)
578 (arguments
579 `(#:asd-systems
580 '("uax-15")))
581 (native-inputs
582 `(("fiveam" ,sbcl-fiveam)))
583 (inputs
584 `(("cl-ppcre" ,sbcl-cl-ppcre)
585 ("split-sequence" ,sbcl-split-sequence)))
586 (home-page "https://github.com/sabracrolleton/uax-15")
587 (synopsis "Common Lisp implementation of unicode normalization functions")
588 (description
589 "This package provides supports for unicode normalization, RFC8264 and
590 RFC7564.")
591 (license license:expat)))
592
593 (define-public cl-uax-15
594 (sbcl-package->cl-source-package sbcl-uax-15))
595
596 (define-public ecl-uax-15
597 (sbcl-package->ecl-package sbcl-uax-15))
598
599 (define-public sbcl-cl-unicode
600 (package
601 (name "sbcl-cl-unicode")
602 (version "0.1.6")
603 (source (origin
604 (method git-fetch)
605 (uri (git-reference
606 (url "https://github.com/edicl/cl-unicode")
607 (commit (string-append "v" version))))
608 (file-name (git-file-name name version))
609 (sha256
610 (base32
611 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
612 (build-system asdf-build-system/sbcl)
613 (native-inputs
614 `(("flexi-streams" ,sbcl-flexi-streams)))
615 (inputs
616 `(("cl-ppcre" ,sbcl-cl-ppcre)))
617 (home-page "http://weitz.de/cl-unicode/")
618 (synopsis "Portable Unicode library for Common Lisp")
619 (description "CL-UNICODE is a portable Unicode library Common Lisp, which
620 is compatible with perl. It is pretty fast, thread-safe, and compatible with
621 ANSI-compliant Common Lisp implementations.")
622 (license license:bsd-2)))
623
624 (define-public ecl-cl-unicode
625 (sbcl-package->ecl-package sbcl-cl-unicode))
626
627 (define-public cl-unicode
628 (sbcl-package->cl-source-package sbcl-cl-unicode))
629
630 (define-public sbcl-cl-ppcre-unicode
631 (package (inherit sbcl-cl-ppcre)
632 (name "sbcl-cl-ppcre-unicode")
633 (inputs
634 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
635 ("sbcl-cl-unicode" ,sbcl-cl-unicode)))
636 (arguments
637 `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found"
638 #:phases
639 (modify-phases %standard-phases
640 (add-after 'unpack 'disable-ppcre
641 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
642 ;; to work around the circular dependency between edicl/cl-ppcre
643 ;; and edicl/cl-unicode.
644 (lambda _
645 (delete-file "cl-ppcre.asd")
646 #t)))))))
647
648 (define-public cl-ppcre-unicode
649 (sbcl-package->cl-source-package sbcl-cl-ppcre-unicode))
650
651 (define-public ecl-cl-ppcre-unicode
652 (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
653
654 (define-public sbcl-zpb-ttf
655 (package
656 (name "sbcl-zpb-ttf")
657 (version "1.0.3")
658 (source
659 (origin
660 (method git-fetch)
661 (uri (git-reference
662 (url "https://github.com/xach/zpb-ttf")
663 (commit (string-append "release-" version))))
664 (file-name (git-file-name name version))
665 (sha256
666 (base32
667 "1wh66vjijzqlydnrihynpwp6796917xwrh0i9li93c17kyxa74ih"))))
668 (build-system asdf-build-system/sbcl)
669 (home-page "https://github.com/xach/zpb-ttf")
670 (synopsis "TrueType font file access for Common Lisp")
671 (description
672 "ZPB-TTF is a TrueType font file parser that provides an interface for
673 reading typographic metrics, glyph outlines, and other information from the
674 file.")
675 (license license:bsd-2)))
676
677 (define-public ecl-zpb-ttf
678 (sbcl-package->ecl-package sbcl-zpb-ttf))
679
680 (define-public cl-zpb-ttf
681 (sbcl-package->cl-source-package sbcl-zpb-ttf))
682
683 (define-public sbcl-cl-vectors
684 (package
685 (name "sbcl-cl-vectors")
686 (version "0.1.5")
687 (source
688 (origin
689 (method url-fetch)
690 (uri (string-append "http://projects.tuxee.net/cl-vectors/"
691 "files/cl-vectors-" version ".tar.gz"))
692 (sha256
693 (base32
694 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh"))))
695 (build-system asdf-build-system/sbcl)
696 (inputs
697 `(("zpb-ttf" ,sbcl-zpb-ttf)))
698 (arguments
699 '(#:asd-systems '("cl-vectors"
700 "cl-paths-ttf")))
701 (home-page "http://projects.tuxee.net/cl-vectors/")
702 (synopsis "Create, transform and render anti-aliased vectorial paths")
703 (description
704 "This is a pure Common Lisp library to create, transform and render
705 anti-aliased vectorial paths.")
706 (license license:expat)))
707
708 (define-public ecl-cl-vectors
709 (sbcl-package->ecl-package sbcl-cl-vectors))
710
711 (define-public cl-vectors
712 (sbcl-package->cl-source-package sbcl-cl-vectors))
713
714 (define-public sbcl-spatial-trees
715 ;; There have been no releases.
716 (let ((commit "81fdad0a0bf109c80a53cc96eca2e093823400ba")
717 (revision "1"))
718 (package
719 (name "sbcl-spatial-trees")
720 (version (git-version "0" revision commit))
721 (source
722 (origin
723 (method git-fetch)
724 (uri (git-reference
725 (url "https://github.com/rpav/spatial-trees")
726 (commit commit)))
727 (file-name (git-file-name name version))
728 (sha256
729 (base32
730 "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"))))
731 (build-system asdf-build-system/sbcl)
732 (arguments
733 '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns
734 #:test-asd-file "spatial-trees.test.asd"))
735 (native-inputs
736 `(("fiveam" ,sbcl-fiveam)))
737 (home-page "https://github.com/rpav/spatial-trees")
738 (synopsis "Dynamic index data structures for spatially-extended data")
739 (description
740 "Spatial-trees is a set of dynamic index data structures for
741 spatially-extended data.")
742 (license license:bsd-3))))
743
744 (define-public ecl-spatial-trees
745 (sbcl-package->ecl-package sbcl-spatial-trees))
746
747 (define-public cl-spatial-trees
748 (sbcl-package->cl-source-package sbcl-spatial-trees))
749
750 (define-public sbcl-flexichain
751 ;; There are no releases.
752 (let ((commit "13d2a6c505ed0abfcd4c4ec7d7145059b06855d6")
753 (revision "1"))
754 (package
755 (name "sbcl-flexichain")
756 (version "1.5.1")
757 (source
758 (origin
759 (method git-fetch)
760 (uri (git-reference
761 (url "https://github.com/robert-strandh/Flexichain")
762 (commit commit)))
763 (file-name (git-file-name name version))
764 (sha256
765 (base32
766 "0pfyvhsfbjd2sjb30grfs52r51a428xglv7bwydvpg2lc117qimg"))))
767 (build-system asdf-build-system/sbcl)
768 (home-page "https://github.com/robert-strandh/Flexichain.git")
769 (synopsis "Dynamically add elements to or remove them from sequences")
770 (description
771 "This package provides an implementation of the flexichain protocol,
772 allowing client code to dynamically add elements to, and delete elements from
773 a sequence (or chain) of such elements.")
774 (license license:lgpl2.1+))))
775
776 (define-public ecl-flexichain
777 (sbcl-package->ecl-package sbcl-flexichain))
778
779 (define-public cl-flexichain
780 (sbcl-package->cl-source-package sbcl-flexichain))
781
782 (define-public sbcl-cl-pdf
783 ;; There are no releases
784 (let ((commit "752e337e6d6fc206f09d091a982e7f8e5c404e4e")
785 (revision "1"))
786 (package
787 (name "sbcl-cl-pdf")
788 (version (git-version "0" revision commit))
789 (source
790 (origin
791 (method git-fetch)
792 (uri (git-reference
793 (url "https://github.com/mbattyani/cl-pdf")
794 (commit commit)))
795 (file-name (git-file-name name version))
796 (sha256
797 (base32
798 "1cg3k3m3r11ipb8j008y8ipynj97l3xjlpi2knqc9ndmx4r3kb1r"))))
799 (build-system asdf-build-system/sbcl)
800 (inputs
801 `(("iterate" ,sbcl-iterate)
802 ("zpb-ttf" ,sbcl-zpb-ttf)))
803 (home-page "https://github.com/mbattyani/cl-pdf")
804 (synopsis "Common Lisp library for generating PDF files")
805 (description
806 "CL-PDF is a cross-platform Common Lisp library for generating PDF
807 files.")
808 (license license:bsd-2))))
809
810 (define-public ecl-cl-pdf
811 (sbcl-package->ecl-package sbcl-cl-pdf))
812
813 (define-public cl-pdf
814 (sbcl-package->cl-source-package sbcl-cl-pdf))
815
816 (define-public sbcl-clx
817 (package
818 (name "sbcl-clx")
819 (version "0.7.5")
820 (source
821 (origin
822 (method git-fetch)
823 (uri
824 (git-reference
825 (url "https://github.com/sharplispers/clx")
826 (commit version)))
827 (sha256
828 (base32
829 "1vi67z9hpj5rr4xcmfbfwzmlcc0ah7hzhrmfid6lqdkva238v2wf"))
830 (file-name (string-append "clx-" version))))
831 (build-system asdf-build-system/sbcl)
832 (native-inputs
833 `(("fiasco" ,sbcl-fiasco)))
834 (home-page "https://www.cliki.net/portable-clx")
835 (synopsis "X11 client library for Common Lisp")
836 (description "CLX is an X11 client library for Common Lisp. The code was
837 originally taken from a CMUCL distribution, was modified somewhat in order to
838 make it compile and run under SBCL, then a selection of patches were added
839 from other CLXes around the net.")
840 (license license:x11)))
841
842 (define-public cl-clx
843 (sbcl-package->cl-source-package sbcl-clx))
844
845 (define-public ecl-clx
846 (sbcl-package->ecl-package sbcl-clx))
847
848 (define-public sbcl-clx-truetype
849 (let ((commit "c6e10a918d46632324d5863a8ed067a83fc26de8")
850 (revision "1"))
851 (package
852 (name "sbcl-clx-truetype")
853 (version (git-version "0.0.1" revision commit))
854 (source
855 (origin
856 (method git-fetch)
857 (uri (git-reference
858 (url "https://github.com/l04m33/clx-truetype")
859 (commit commit)))
860 (file-name (git-file-name name version))
861 (sha256
862 (base32
863 "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37"))
864 (modules '((guix build utils)))
865 (snippet
866 '(begin
867 (substitute* "package.lisp"
868 ((":export") ":export\n :+font-cache-filename+"))
869 #t))))
870 (build-system asdf-build-system/sbcl)
871 (inputs
872 `(("clx" ,sbcl-clx)
873 ("zpb-ttf" ,sbcl-zpb-ttf)
874 ("cl-vectors" ,sbcl-cl-vectors)
875 ("cl-fad" ,sbcl-cl-fad)
876 ("cl-store" ,sbcl-cl-store)
877 ("trivial-features" ,sbcl-trivial-features)))
878 (home-page "https://github.com/l04m33/clx-truetype")
879 (synopsis "Antialiased TrueType font rendering using CLX and XRender")
880 (description "CLX-TrueType is pure common lisp solution for
881 antialiased TrueType font rendering using CLX and XRender extension.")
882 (license license:expat))))
883
884 (define-public cl-clx-truetype
885 (sbcl-package->cl-source-package sbcl-clx-truetype))
886
887 (define-public ecl-clx-truetype
888 (sbcl-package->ecl-package sbcl-clx-truetype))
889
890 (define-public sbcl-slynk
891 (let ((commit "0f46f91a9542599d62c0c332b39636b2941ea372"))
892 (package
893 (name "sbcl-slynk")
894 (version (git-version "1.0.43" "3" commit))
895 (source
896 (origin
897 (method git-fetch)
898 (uri
899 (git-reference
900 (url "https://github.com/joaotavora/sly")
901 (commit commit)))
902 (sha256
903 (base32 "0p3j0zylacy6vms8ngis2hx2351xnwfzsw3zy043q6vmqd14wrf1"))
904 (file-name (git-file-name "slynk" version))))
905 (build-system asdf-build-system/sbcl)
906 (outputs '("out" "image"))
907 (arguments
908 `(#:phases
909 (modify-phases %standard-phases
910 (add-after 'create-asdf-configuration 'build-image
911 (lambda* (#:key outputs #:allow-other-keys)
912 (build-image (string-append
913 (assoc-ref %outputs "image")
914 "/bin/slynk")
915 %outputs
916 #:dependencies '("slynk"
917 "slynk/arglists"
918 "slynk/fancy-inspector"
919 "slynk/package-fu"
920 "slynk/mrepl"
921 "slynk/trace-dialog"
922 "slynk/profiler"
923 "slynk/stickers"
924 "slynk/indentation"
925 "slynk/retro"))
926 #t)))))
927 (synopsis "Common Lisp IDE for Emacs")
928 (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
929 It also features a completely redesigned REPL based on Emacs's own
930 full-featured @code{comint-mode}, live code annotations, and a consistent interactive
931 button interface. Everything can be copied to the REPL. One can create
932 multiple inspectors with independent history.")
933 (home-page "https://github.com/joaotavora/sly")
934 (license license:public-domain)
935 (properties `((cl-source-variant . ,(delay cl-slynk)))))))
936
937 (define-public cl-slynk
938 (sbcl-package->cl-source-package sbcl-slynk))
939
940 (define-public ecl-slynk
941 (let ((pkg (sbcl-package->ecl-package sbcl-slynk)))
942 (package
943 (inherit pkg)
944 (outputs '("out"))
945 (arguments
946 (substitute-keyword-arguments (package-arguments pkg)
947 ((#:phases phases)
948 `(modify-phases ,phases
949 (delete 'build-image))))))))
950
951 (define-public sbcl-parse-js
952 (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
953 (revision "1"))
954 (package
955 (name "sbcl-parse-js")
956 (version (string-append "0.0.0-" revision "." (string-take commit 9)))
957 (source
958 (origin
959 (method git-fetch)
960 (uri (git-reference
961 (url "http://marijn.haverbeke.nl/git/parse-js")
962 (commit commit)))
963 (file-name (string-append name "-" commit "-checkout"))
964 (sha256
965 (base32
966 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
967 (build-system asdf-build-system/sbcl)
968 (home-page "https://marijnhaverbeke.nl/parse-js/")
969 (synopsis "Parse JavaScript")
970 (description "Parse-js is a Common Lisp package for parsing
971 JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
972 (license license:zlib))))
973
974 (define-public cl-parse-js
975 (sbcl-package->cl-source-package sbcl-parse-js))
976
977 (define-public ecl-parse-js
978 (sbcl-package->ecl-package sbcl-parse-js))
979
980 (define-public sbcl-parse-number
981 (package
982 (name "sbcl-parse-number")
983 (version "1.7")
984 (source
985 (origin
986 (method git-fetch)
987 (uri (git-reference
988 (url "https://github.com/sharplispers/parse-number/")
989 (commit (string-append "v" version))))
990 (file-name (git-file-name name version))
991 (sha256
992 (base32
993 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"))))
994 (build-system asdf-build-system/sbcl)
995 (home-page "https://www.cliki.net/PARSE-NUMBER")
996 (synopsis "Parse numbers")
997 (description "@code{parse-number} is a library of functions for parsing
998 strings into one of the standard Common Lisp number types without using the
999 reader. @code{parse-number} accepts an arbitrary string and attempts to parse
1000 the string into one of the standard Common Lisp number types, if possible, or
1001 else @code{parse-number} signals an error of type @code{invalid-number}.")
1002 (license license:bsd-3)))
1003
1004 (define-public cl-parse-number
1005 (sbcl-package->cl-source-package sbcl-parse-number))
1006
1007 (define-public ecl-parse-number
1008 (sbcl-package->ecl-package sbcl-parse-number))
1009
1010 (define-public sbcl-iterate
1011 (package
1012 (name "sbcl-iterate")
1013 (version "1.5")
1014 (source
1015 (origin
1016 (method url-fetch)
1017 (uri (string-append "https://common-lisp.net/project/iterate/releases/"
1018 "iterate-" version ".tar.gz"))
1019 (sha256
1020 (base32
1021 "1lqsbhrkfl0yif46aymvb7l3nb9wdcmj4jyw485blj32jb4famzn"))))
1022 (build-system asdf-build-system/sbcl)
1023 (native-inputs
1024 `(("rt" ,sbcl-rt)))
1025 (home-page "https://common-lisp.net/project/iterate/")
1026 (synopsis "Iteration construct for Common Lisp")
1027 (description "@code{iterate} is an iteration construct for Common Lisp.
1028 It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
1029
1030 @itemize
1031 @item it is extensible,
1032 @item it helps editors like Emacs indent iterate forms by having a more
1033 lisp-like syntax, and
1034 @item it isn't part of the ANSI standard for Common Lisp.
1035 @end itemize\n")
1036 (license license:expat)))
1037
1038 (define-public cl-iterate
1039 (sbcl-package->cl-source-package sbcl-iterate))
1040
1041 (define-public ecl-iterate
1042 (sbcl-package->ecl-package sbcl-iterate))
1043
1044 (define-public sbcl-cl-uglify-js
1045 ;; There have been many bug fixes since the 2010 release.
1046 (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
1047 (revision "1"))
1048 (package
1049 (name "sbcl-cl-uglify-js")
1050 (version (string-append "0.1-" revision "." (string-take commit 9)))
1051 (source
1052 (origin
1053 (method git-fetch)
1054 (uri (git-reference
1055 (url "https://github.com/mishoo/cl-uglify-js")
1056 (commit commit)))
1057 (file-name (git-file-name name version))
1058 (sha256
1059 (base32
1060 "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"))))
1061 (build-system asdf-build-system/sbcl)
1062 (inputs
1063 `(("sbcl-parse-js" ,sbcl-parse-js)
1064 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
1065 ("sbcl-cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
1066 ("sbcl-parse-number" ,sbcl-parse-number)
1067 ("sbcl-iterate" ,sbcl-iterate)))
1068 (home-page "https://github.com/mishoo/cl-uglify-js")
1069 (synopsis "JavaScript compressor library for Common Lisp")
1070 (description "This is a Common Lisp version of UglifyJS, a JavaScript
1071 compressor. It works on data produced by @code{parse-js} to generate a
1072 @dfn{minified} version of the code. Currently it can:
1073
1074 @itemize
1075 @item reduce variable names (usually to single letters)
1076 @item join consecutive @code{var} statements
1077 @item resolve simple binary expressions
1078 @item group most consecutive statements using the @code{sequence} operator (comma)
1079 @item remove unnecessary blocks
1080 @item convert @code{IF} expressions in various ways that result in smaller code
1081 @item remove some unreachable code
1082 @end itemize\n")
1083 (license license:zlib))))
1084
1085 (define-public cl-uglify-js
1086 (sbcl-package->cl-source-package sbcl-cl-uglify-js))
1087
1088 (define-public ecl-cl-uglify-js
1089 (sbcl-package->ecl-package sbcl-cl-uglify-js))
1090
1091 (define-public uglify-js
1092 (package
1093 (inherit sbcl-cl-uglify-js)
1094 (name "uglify-js")
1095 (build-system trivial-build-system)
1096 (arguments
1097 `(#:modules ((guix build utils))
1098 #:builder
1099 (let* ((bin (string-append (assoc-ref %outputs "out") "/bin/"))
1100 (script (string-append bin "uglify-js")))
1101 (use-modules (guix build utils))
1102 (mkdir-p bin)
1103 (with-output-to-file script
1104 (lambda _
1105 (format #t "#!~a/bin/sbcl --script
1106
1107 (require :asdf)
1108 (asdf:initialize-source-registry
1109 #p\"~a/etc/common-lisp/source-registry.conf.d/\")
1110 (asdf:initialize-output-translations
1111 #p\"~a/etc/common-lisp/asdf-output-translations.conf.d/\")"
1112 (assoc-ref %build-inputs "sbcl")
1113 (assoc-ref %build-inputs "sbcl-cl-uglify-js")
1114 (assoc-ref %build-inputs "sbcl-cl-uglify-js"))
1115 ;; FIXME: cannot use progn here because otherwise it fails to
1116 ;; find cl-uglify-js.
1117 (for-each
1118 write
1119 '(;; Quiet, please!
1120 (let ((*standard-output* (make-broadcast-stream))
1121 (*error-output* (make-broadcast-stream)))
1122 (asdf:load-system :cl-uglify-js))
1123 (let ((file (cadr *posix-argv*)))
1124 (if file
1125 (format t "~a"
1126 (cl-uglify-js:ast-gen-code
1127 (cl-uglify-js:ast-mangle
1128 (cl-uglify-js:ast-squeeze
1129 (with-open-file (in file)
1130 (parse-js:parse-js in))))
1131 :beautify nil))
1132 (progn
1133 (format *error-output*
1134 "Please provide a JavaScript file.~%")
1135 (sb-ext:exit :code 1))))))))
1136 (chmod script #o755)
1137 #t)))
1138 (inputs
1139 `(("sbcl" ,sbcl)
1140 ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
1141 (synopsis "JavaScript compressor")))
1142
1143 (define-public sbcl-cl-strings
1144 (let ((revision "1")
1145 (commit "c5c5cbafbf3e6181d03c354d66e41a4f063f00ae"))
1146 (package
1147 (name "sbcl-cl-strings")
1148 (version (git-version "0.0.0" revision commit))
1149 (source
1150 (origin
1151 (method git-fetch)
1152 (uri (git-reference
1153 (url "https://github.com/diogoalexandrefranco/cl-strings")
1154 (commit commit)))
1155 (sha256
1156 (base32
1157 "00754mfaqallj480lwd346nkfb6ra8pa8xcxcylf4baqn604zlmv"))
1158 (file-name (string-append "cl-strings-" version "-checkout"))))
1159 (build-system asdf-build-system/sbcl)
1160 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
1161 (description
1162 "@command{cl-strings} is a small, portable, dependency-free set of
1163 utilities that make it even easier to manipulate text in Common Lisp. It has
1164 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
1165 (home-page "https://github.com/diogoalexandrefranco/cl-strings")
1166 (license license:expat))))
1167
1168 (define-public cl-strings
1169 (sbcl-package->cl-source-package sbcl-cl-strings))
1170
1171 (define-public ecl-cl-strings
1172 (sbcl-package->ecl-package sbcl-cl-strings))
1173
1174 (define-public sbcl-trivial-features
1175 ;; No release since 2014.
1176 (let ((commit "870d03de0ed44067963350936856e17ee725153e"))
1177 (package
1178 (name "sbcl-trivial-features")
1179 (version (git-version "0.8" "1" commit))
1180 (source
1181 (origin
1182 (method git-fetch)
1183 (uri (git-reference
1184 (url "https://github.com/trivial-features/trivial-features")
1185 (commit commit)))
1186 (file-name (git-file-name "trivial-features" version))
1187 (sha256
1188 (base32 "14pcahr8r2j3idhyy216zyw8jnj1dnrx0qbkkbdqkvwzign1ah4j"))))
1189 (build-system asdf-build-system/sbcl)
1190 (arguments
1191 '(#:asd-files '("trivial-features.asd")
1192 #:tests? #f))
1193 (home-page "https://cliki.net/trivial-features")
1194 (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
1195 (description "Trivial-features ensures that @code{*FEATURES*} is
1196 consistent across multiple Common Lisp implementations.")
1197 (license license:expat))))
1198
1199 (define-public cl-trivial-features
1200 (sbcl-package->cl-source-package sbcl-trivial-features))
1201
1202 (define-public ecl-trivial-features
1203 (sbcl-package->ecl-package sbcl-trivial-features))
1204
1205 (define-public sbcl-hu.dwim.asdf
1206 (package
1207 (name "sbcl-hu.dwim.asdf")
1208 (version "20190521")
1209 (source
1210 (origin
1211 (method url-fetch)
1212 (uri (string-append "http://beta.quicklisp.org/archive/hu.dwim.asdf/"
1213 "2019-05-21/hu.dwim.asdf-" version "-darcs.tgz"))
1214 (sha256
1215 (base32
1216 "0rsbv71vyszy8w35yjwb5h6zcmknjq223hkzir79y72qdsc6sabn"))))
1217 (build-system asdf-build-system/sbcl)
1218 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.asdf")
1219 (synopsis "Extensions to ASDF")
1220 (description "Various ASDF extensions such as attached test and
1221 documentation system, explicit development support, etc.")
1222 (license license:public-domain)))
1223
1224 (define-public cl-hu.dwim.asdf
1225 (sbcl-package->cl-source-package sbcl-hu.dwim.asdf))
1226
1227 (define-public ecl-hu.dwim.asdf
1228 (sbcl-package->ecl-package sbcl-hu.dwim.asdf))
1229
1230 (define-public sbcl-hu.dwim.stefil
1231 (let ((commit "ab6d1aa8995878a1b66d745dfd0ba021090bbcf9"))
1232 (package
1233 (name "sbcl-hu.dwim.stefil")
1234 (version (git-version "0.0.0" "1" commit))
1235 (source
1236 (origin
1237 (method git-fetch)
1238 (uri
1239 (git-reference
1240 (url "https://gitlab.common-lisp.net/xcvb/hu.dwim.stefil.git")
1241 (commit commit)))
1242 (sha256
1243 (base32 "1d8yccw65zj3zh46cbi3x6nmn1dwdb76s9d0av035077mvyirqqp"))
1244 (file-name (git-file-name "hu.dwim.stefil" version))))
1245 (build-system asdf-build-system/sbcl)
1246 (native-inputs
1247 `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
1248 (inputs
1249 `(("sbcl-alexandria" ,sbcl-alexandria)))
1250 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.stefil")
1251 (synopsis "Simple test framework")
1252 (description "Stefil is a simple test framework for Common Lisp,
1253 with a focus on interactive development.")
1254 (license license:public-domain))))
1255
1256 (define-public cl-hu.dwim.stefil
1257 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
1258
1259 (define-public ecl-hu.dwim.stefil
1260 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
1261
1262 (define-public sbcl-babel
1263 ;; No release since 2014.
1264 (let ((commit "aeed2d1b76358db48e6b70a64399c05678a6b9ea"))
1265 (package
1266 (name "sbcl-babel")
1267 (version (git-version "0.5.0" "1" commit))
1268 (source
1269 (origin
1270 (method git-fetch)
1271 (uri (git-reference
1272 (url "https://github.com/cl-babel/babel")
1273 (commit commit)))
1274 (file-name (git-file-name "babel" version))
1275 (sha256
1276 (base32 "0lkvv4xdpv4cv1y2bqillmabx8sdb2y4l6pbinq6mjh33w2brpvb"))))
1277 (build-system asdf-build-system/sbcl)
1278 (native-inputs
1279 `(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
1280 (inputs
1281 `(("sbcl-alexandria" ,sbcl-alexandria)
1282 ("sbcl-trivial-features" ,sbcl-trivial-features)))
1283 (home-page "https://common-lisp.net/project/babel/")
1284 (synopsis "Charset encoding and decoding library")
1285 (description "Babel is a charset encoding and decoding library, not unlike
1286 GNU libiconv, but completely written in Common Lisp.")
1287 (license license:expat))))
1288
1289 (define-public cl-babel
1290 (sbcl-package->cl-source-package sbcl-babel))
1291
1292 (define-public ecl-babel
1293 (sbcl-package->ecl-package sbcl-babel))
1294
1295 (define-public sbcl-cl-yacc
1296 (package
1297 (name "sbcl-cl-yacc")
1298 (version "0.3")
1299 (source
1300 (origin
1301 (method git-fetch)
1302 (uri (git-reference
1303 (url "https://github.com/jech/cl-yacc")
1304 (commit (string-append "cl-yacc-" version))))
1305 (sha256
1306 (base32
1307 "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib"))
1308 (file-name (string-append "cl-yacc-" version "-checkout"))))
1309 (build-system asdf-build-system/sbcl)
1310 (arguments
1311 `(#:asd-systems '("yacc")))
1312 (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc")
1313 (description
1314 "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit
1315 to AT&T Yacc, Berkeley Yacc, GNU Bison, Zebu, lalr.cl or lalr.scm.
1316
1317 CL-Yacc uses the algorithm due to Aho and Ullman, which is the one also used
1318 by AT&T Yacc, Berkeley Yacc and Zebu. It does not use the faster algorithm due
1319 to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
1320 (home-page "https://www.irif.fr/~jch//software/cl-yacc/")
1321 (license license:expat)))
1322
1323 (define-public cl-yacc
1324 (sbcl-package->cl-source-package sbcl-cl-yacc))
1325
1326 (define-public ecl-cl-yacc
1327 (sbcl-package->ecl-package sbcl-cl-yacc))
1328
1329 (define-public sbcl-eager-future2
1330 (let ((commit "54df8effd9d9eccac917509590286b5ac5f9cb30"))
1331 (package
1332 (name "sbcl-eager-future2")
1333 (version (git-version "0.0.0" "1" commit))
1334 (source
1335 (origin
1336 (method git-fetch)
1337 (uri (git-reference
1338 (url "https://gitlab.common-lisp.net/vsedach/eager-future2.git")
1339 (commit commit)))
1340 (file-name (git-file-name name version))
1341 (sha256
1342 (base32
1343 "1qs1bv3m0ki8l5czhsflxcryh22r9d9g9a3a3b0cr0pl954q5rld"))))
1344 (build-system asdf-build-system/sbcl)
1345 (inputs
1346 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1347 ("trivial-garbage" ,sbcl-trivial-garbage)))
1348 (synopsis "Futures promises synchronization mechanism for Common Lisp")
1349 (description
1350 "Eager Future2 is a Common Lisp library that provides composable
1351 concurrency primitives that unify parallel and lazy evaluation, are integrated
1352 with the Common Lisp condition system, and have automatic resource
1353 management.")
1354 (home-page "https://gitlab.common-lisp.net/vsedach/eager-future2")
1355 (license license:lgpl3+))))
1356
1357 (define-public cl-eager-future2
1358 (sbcl-package->cl-source-package sbcl-eager-future2))
1359
1360 (define-public ecl-eager-future2
1361 (sbcl-package->ecl-package sbcl-eager-future2))
1362
1363 (define-public sbcl-jpl-util
1364 (let ((commit "0311ed374e19a49d43318064d729fe3abd9a3b62"))
1365 (package
1366 (name "sbcl-jpl-util")
1367 (version "20151005")
1368 (source
1369 (origin
1370 (method git-fetch)
1371 (uri (git-reference
1372 ;; Quicklisp uses this fork.
1373 (url "https://github.com/hawkir/cl-jpl-util")
1374 (commit commit)))
1375 (file-name
1376 (git-file-name "jpl-util" version))
1377 (sha256
1378 (base32
1379 "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"))))
1380 (build-system asdf-build-system/sbcl)
1381 (synopsis "Collection of Common Lisp utility functions and macros")
1382 (description
1383 "@command{cl-jpl-util} is a collection of Common Lisp utility functions
1384 and macros, primarily for software projects written in CL by the author.")
1385 (home-page "https://www.thoughtcrime.us/software/cl-jpl-util/")
1386 (license license:isc))))
1387
1388 (define-public cl-jpl-util
1389 (sbcl-package->cl-source-package sbcl-jpl-util))
1390
1391 (define-public ecl-jpl-util
1392 (sbcl-package->ecl-package sbcl-jpl-util))
1393
1394 (define-public sbcl-piping
1395 (let ((commit "c7a4163c00dea7e72bf6ad33d6abac0d5826a656")
1396 (revision "1"))
1397 (package
1398 (name "sbcl-piping")
1399 (version (git-version "2.0.0" revision commit))
1400 (source
1401 (origin
1402 (method git-fetch)
1403 (uri (git-reference
1404 (url "https://github.com/Shinmera/piping/")
1405 (commit commit)))
1406 (file-name (git-file-name "piping" version))
1407 (sha256
1408 (base32 "0in84qnfkynm36d4n4d6v87vprpi27xrydnga462wfhplji6klv5"))))
1409 (build-system asdf-build-system/sbcl)
1410 (home-page "https://shinmera.github.io/piping/")
1411 (synopsis "Library to enable simple message pipelines")
1412 (description
1413 "This is a Common Lisp library to enable simple message pipelines.")
1414 (license license:zlib))))
1415
1416 (define-public ecl-piping
1417 (sbcl-package->ecl-package sbcl-piping))
1418
1419 (define-public cl-piping
1420 (sbcl-package->cl-source-package sbcl-piping))
1421
1422 (define-public sbcl-jpl-queues
1423 (package
1424 (name "sbcl-jpl-queues")
1425 (version "0.1")
1426 (source
1427 (origin
1428 (method url-fetch)
1429 (uri (string-append
1430 "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-"
1431 version
1432 ".tar.gz"))
1433 (sha256
1434 (base32
1435 "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96"))))
1436 (build-system asdf-build-system/sbcl)
1437 (inputs
1438 `(("jpl-util" ,sbcl-jpl-util)
1439 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1440 (arguments
1441 ;; Tests seem to be broken.
1442 `(#:tests? #f))
1443 (synopsis "Common Lisp library implementing a few different kinds of queues")
1444 (description
1445 "A Common Lisp library implementing a few different kinds of queues:
1446
1447 @itemize
1448 @item Bounded and unbounded FIFO queues.
1449 @item Lossy bounded FIFO queues that drop elements when full.
1450 @item Unbounded random-order queues that use less memory than unbounded FIFO queues.
1451 @end itemize
1452
1453 Additionally, a synchronization wrapper is provided to make any queue
1454 conforming to the @command{jpl-queues} API thread-safe for lightweight
1455 multithreading applications. (See Calispel for a more sophisticated CL
1456 multithreaded message-passing library with timeouts and alternation among
1457 several blockable channels.)")
1458 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1459 (license license:isc)))
1460
1461 (define-public cl-jpl-queues
1462 (sbcl-package->cl-source-package sbcl-jpl-queues))
1463
1464 (define-public ecl-jpl-queues
1465 (sbcl-package->ecl-package sbcl-jpl-queues))
1466
1467 (define-public sbcl-calispel
1468 (let ((commit "e9f2f9c1af97f4d7bb4c8ac25fb2a8f3e8fada7a"))
1469 (package
1470 (name "sbcl-calispel")
1471 (version (git-version "0.1" "1" commit))
1472 (source
1473 (origin
1474 (method git-fetch)
1475 (uri (git-reference
1476 ;; This fork replaces the dependency on the obsolete
1477 ;; eager-future with eager-future2.
1478 (url "https://github.com/hawkir/calispel")
1479 (commit commit)))
1480 (file-name (git-file-name name version))
1481 (sha256
1482 (base32
1483 "08bmf3pi7n5hadpmqqkg65cxcj6kbvm997wcs1f53ml1nb79d9z8"))))
1484 (build-system asdf-build-system/sbcl)
1485 (inputs
1486 `(("jpl-queues" ,sbcl-jpl-queues)
1487 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1488 (native-inputs
1489 `(("eager-future2" ,sbcl-eager-future2)))
1490 (synopsis "Thread-safe message-passing channels in Common Lisp")
1491 (description
1492 "Calispel is a Common Lisp library for thread-safe message-passing
1493 channels, in the style of the occam programming language, also known as
1494 communicating sequential processes (CSP). See
1495 @url{https://en.wikipedia.org/wiki/Communicating_sequential_processes}.
1496
1497 Calispel channels let one thread communicate with another, facilitating
1498 unidirectional communication of any Lisp object. Channels may be unbuffered,
1499 where a sender waits for a receiver (or vice versa) before either operation can
1500 continue, or channels may be buffered with flexible policy options.
1501
1502 Because sending and receiving on a channel may block, either operation can time
1503 out after a specified amount of time.
1504
1505 A syntax for alternation is provided (like @code{ALT} in occam, or Unix
1506 @code{select()}): given a sequence of operations, any or all of which may
1507 block, alternation selects the first operation that doesn't block and executes
1508 associated code. Alternation can also time out, executing an \"otherwise\"
1509 clause if no operation becomes available within a set amount of time.
1510
1511 Calispel is a message-passing library, and as such leaves the role of
1512 threading abstractions and utilities left to be filled by complementary
1513 libraries such as Bordeaux-Threads and Eager Future.")
1514 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1515 (license license:isc))))
1516
1517 (define-public cl-calispel
1518 (sbcl-package->cl-source-package sbcl-calispel))
1519
1520 (define-public ecl-calispel
1521 (sbcl-package->ecl-package sbcl-calispel))
1522
1523 (define-public sbcl-eos
1524 (let ((commit "b4413bccc4d142cbe1bf49516c3a0a22c9d99243")
1525 (revision "2"))
1526 (package
1527 (name "sbcl-eos")
1528 (version (git-version "0.0.0" revision commit))
1529 (source
1530 (origin
1531 (method git-fetch)
1532 (uri (git-reference
1533 (url "https://github.com/adlai/Eos")
1534 (commit commit)))
1535 (sha256
1536 (base32 "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk"))
1537 (file-name (git-file-name "eos" version))))
1538 (build-system asdf-build-system/sbcl)
1539 (synopsis "Unit Testing for Common Lisp")
1540 (description
1541 "Eos was a unit testing library for Common Lisp.
1542 It began as a fork of FiveAM; however, FiveAM development has continued, while
1543 that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
1544 (home-page "https://github.com/adlai/Eos")
1545 (license license:expat))))
1546
1547 (define-public cl-eos
1548 (sbcl-package->cl-source-package sbcl-eos))
1549
1550 (define-public ecl-eos
1551 (sbcl-package->ecl-package sbcl-eos))
1552
1553 (define-public sbcl-esrap
1554 (let ((commit "133be8b05c2aae48696fe5b739eea2fa573fa48d"))
1555 (package
1556 (name "sbcl-esrap")
1557 (version (git-version "0.0.0" "1" commit))
1558 (source
1559 (origin
1560 (method git-fetch)
1561 (uri (git-reference
1562 (url "https://github.com/nikodemus/esrap")
1563 (commit commit)))
1564 (sha256
1565 (base32
1566 "02d5clihsdryhf7pix8c5di2571fdsffh75d40fkzhws90r5mksl"))
1567 (file-name (git-file-name "esrap" version))))
1568 (build-system asdf-build-system/sbcl)
1569 (native-inputs
1570 `(("eos" ,sbcl-eos))) ;For testing only.
1571 (inputs
1572 `(("alexandria" ,sbcl-alexandria)))
1573 (synopsis "Common Lisp packrat parser")
1574 (description
1575 "A packrat parser for Common Lisp.
1576 In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
1577
1578 @itemize
1579 @item dynamic redefinition of nonterminals
1580 @item inline grammars
1581 @item semantic predicates
1582 @item introspective facilities (describing grammars, tracing, setting breaks)
1583 @end itemize\n")
1584 (home-page "https://nikodemus.github.io/esrap/")
1585 (license license:expat))))
1586
1587 (define-public cl-esrap
1588 (sbcl-package->cl-source-package sbcl-esrap))
1589
1590 (define-public ecl-esrap
1591 (sbcl-package->ecl-package sbcl-esrap))
1592
1593 (define-public sbcl-split-sequence
1594 (package
1595 (name "sbcl-split-sequence")
1596 (version "2.0.0")
1597 (source
1598 (origin
1599 (method git-fetch)
1600 (uri (git-reference
1601 (url "https://github.com/sharplispers/split-sequence")
1602 (commit (string-append "v" version))))
1603 (sha256
1604 (base32
1605 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
1606 (file-name (git-file-name "split-sequence" version))))
1607 (build-system asdf-build-system/sbcl)
1608 (native-inputs
1609 `(("fiveam" ,sbcl-fiveam)))
1610 (synopsis "Member of the Common Lisp Utilities family of programs")
1611 (description
1612 "Splits sequence into a list of subsequences delimited by objects
1613 satisfying the test.")
1614 (home-page "https://cliki.net/split-sequence")
1615 (license license:expat)))
1616
1617 (define-public cl-split-sequence
1618 (sbcl-package->cl-source-package sbcl-split-sequence))
1619
1620 (define-public ecl-split-sequence
1621 (sbcl-package->ecl-package sbcl-split-sequence))
1622
1623 (define-public sbcl-html-encode
1624 (package
1625 (name "sbcl-html-encode")
1626 (version "1.2")
1627 (source
1628 (origin
1629 (method url-fetch)
1630 (uri (string-append
1631 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1632 version ".tgz"))
1633 (sha256
1634 (base32
1635 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1636 (file-name (string-append "colorize" version "-checkout"))))
1637 (build-system asdf-build-system/sbcl)
1638 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1639 (description
1640 "A library for encoding text in various web-savvy encodings.")
1641 (home-page "http://quickdocs.org/html-encode/")
1642 (license license:expat)))
1643
1644 (define-public cl-html-encode
1645 (sbcl-package->cl-source-package sbcl-html-encode))
1646
1647 (define-public ecl-html-encode
1648 (sbcl-package->ecl-package sbcl-html-encode))
1649
1650 (define-public sbcl-colorize
1651 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1652 (package
1653 (name "sbcl-colorize")
1654 (version (git-version "0.0.0" "1" commit))
1655 (source
1656 (origin
1657 (method git-fetch)
1658 (uri (git-reference
1659 (url "https://github.com/kingcons/colorize")
1660 (commit commit)))
1661 (sha256
1662 (base32
1663 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1664 (file-name (git-file-name "colorize" version))))
1665 (build-system asdf-build-system/sbcl)
1666 (inputs
1667 `(("alexandria" ,sbcl-alexandria)
1668 ("split-sequence" ,sbcl-split-sequence)
1669 ("html-encode" ,sbcl-html-encode)))
1670 (synopsis "Common Lisp for syntax highlighting")
1671 (description
1672 "@command{colorize} is a Lisp library for syntax highlighting
1673 supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1674 C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1675 (home-page "https://github.com/kingcons/colorize")
1676 ;; TODO: Missing license?
1677 (license license:expat))))
1678
1679 (define-public cl-colorize
1680 (sbcl-package->cl-source-package sbcl-colorize))
1681
1682 (define-public ecl-colorize
1683 (sbcl-package->ecl-package sbcl-colorize))
1684
1685 (define-public sbcl-3bmd
1686 (let ((commit "6fc5759448f6f6df6f6df556e020a289a2643288")
1687 (revision "2"))
1688 (package
1689 (name "sbcl-3bmd")
1690 (version (git-version "0.0.0" revision commit))
1691 (source
1692 (origin
1693 (method git-fetch)
1694 (uri (git-reference
1695 (url "https://github.com/3b/3bmd")
1696 (commit commit)))
1697 (sha256
1698 (base32 "1avmbp8xdjlbqpqk7p3vmj7abiw5p3vb5mrxp4wlvgql4sf6z3p4"))
1699 (file-name (git-file-name "3bmd" version))))
1700 (build-system asdf-build-system/sbcl)
1701 (arguments
1702 ;; FIXME: #41437 - Build fails when package name starts from a digit
1703 `(#:asd-systems
1704 '("3bmd"
1705 "3bmd-ext-definition-lists"
1706 "3bmd-ext-math"
1707 "3bmd-ext-tables"
1708 "3bmd-ext-wiki-links"
1709 "3bmd-youtube"
1710 "3bmd-ext-code-blocks")))
1711 (inputs
1712 `(("alexandria" ,sbcl-alexandria)
1713 ("colorize" ,sbcl-colorize)
1714 ("esrap" ,sbcl-esrap)
1715 ("split-sequence" ,sbcl-split-sequence)))
1716 (home-page "https://github.com/3b/3bmd")
1717 (synopsis "Markdown processor in Command Lisp using esrap parser")
1718 (description
1719 "This is a Common Lisp Markdown to HTML converter, using @command{esrap}
1720 for parsing, and grammar based on @command{peg-markdown}.")
1721 (license license:expat))))
1722
1723 (define-public cl-3bmd
1724 (sbcl-package->cl-source-package sbcl-3bmd))
1725
1726 (define-public ecl-3bmd
1727 (sbcl-package->ecl-package sbcl-3bmd))
1728
1729 (define-public sbcl-cl-fad
1730 (package
1731 (name "sbcl-cl-fad")
1732 (version "0.7.6")
1733 (source
1734 (origin
1735 (method git-fetch)
1736 (uri (git-reference
1737 (url "https://github.com/edicl/cl-fad/")
1738 (commit (string-append "v" version))))
1739 (sha256
1740 (base32
1741 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
1742 (file-name (string-append "cl-fad" version "-checkout"))))
1743 (build-system asdf-build-system/sbcl)
1744 (inputs
1745 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
1746 (synopsis "Portable pathname library for Common Lisp")
1747 (description
1748 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
1749 Lisp's standard pathname functions. It is intended to provide some
1750 unification between current CL implementations on Windows, OS X, Linux, and
1751 Unix. Most of the code was written by Peter Seibel for his book Practical
1752 Common Lisp.")
1753 (home-page "https://edicl.github.io/cl-fad/")
1754 (license license:bsd-2)))
1755
1756 (define-public cl-fad
1757 (sbcl-package->cl-source-package sbcl-cl-fad))
1758
1759 (define-public ecl-cl-fad
1760 (sbcl-package->ecl-package sbcl-cl-fad))
1761
1762 (define-public sbcl-rt
1763 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
1764 (revision "1"))
1765 (package
1766 (name "sbcl-rt")
1767 (version (git-version "1990.12.19" revision commit))
1768 (source
1769 (origin
1770 (method git-fetch)
1771 (uri (git-reference
1772 (url "http://git.kpe.io/rt.git")
1773 (commit commit)))
1774 (file-name (git-file-name name version))
1775 (sha256
1776 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
1777 (build-system asdf-build-system/sbcl)
1778 (synopsis "MIT Regression Tester")
1779 (description
1780 "RT provides a framework for writing regression test suites.")
1781 (home-page "https://www.cliki.net/rt")
1782 (license license:expat))))
1783
1784 (define-public cl-rt
1785 (sbcl-package->cl-source-package sbcl-rt))
1786
1787 (define-public ecl-rt
1788 (sbcl-package->ecl-package sbcl-rt))
1789
1790 (define-public sbcl-nibbles
1791 ;; No tagged release since 2018.
1792 (let ((commit "8e6b9b42d9f69000f55e5c45ad974d9e376ffdbd")
1793 (revision "1"))
1794 (package
1795 (name "sbcl-nibbles")
1796 (version (git-version "0.14" revision commit))
1797 (source
1798 (origin
1799 (method git-fetch)
1800 (uri (git-reference
1801 (url "https://github.com/sharplispers/nibbles/")
1802 (commit commit)))
1803 (sha256
1804 (base32 "15qlsm82h36pjgvfnbzdg60l21qxbaii4d049jc5y0dn56y93amb"))
1805 (file-name (git-file-name "nibbles" version))))
1806 (build-system asdf-build-system/sbcl)
1807 (native-inputs
1808 ;; Tests only.
1809 `(("rt" ,sbcl-rt)))
1810 (synopsis
1811 "Common Lisp library for accessing octet-addressed blocks of data")
1812 (description
1813 "When dealing with network protocols and file formats, it's common to
1814 have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
1815 flavors. Common Lisp sort of supports this by specifying :element-type for
1816 streams, but that facility is underspecified and there's nothing similar for
1817 read/write from octet vectors. What most people wind up doing is rolling their
1818 own small facility for their particular needs and calling it a day.
1819
1820 This library attempts to be comprehensive and centralize such
1821 facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
1822 vectors in signed or unsigned flavors are provided; these functions are also
1823 SETFable. Since it's sometimes desirable to read/write directly from streams,
1824 functions for doing so are also provided. On some implementations,
1825 reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
1826 also be supported.")
1827 (home-page "https://github.com/sharplispers/nibbles")
1828 (license license:bsd-3))))
1829
1830 (define-public cl-nibbles
1831 (sbcl-package->cl-source-package sbcl-nibbles))
1832
1833 (define-public ecl-nibbles
1834 (sbcl-package->ecl-package sbcl-nibbles))
1835
1836 (define-public sbcl-ironclad
1837 (package
1838 (name "sbcl-ironclad")
1839 (version "0.54")
1840 (source
1841 (origin
1842 (method git-fetch)
1843 (uri (git-reference
1844 (url "https://github.com/sharplispers/ironclad/")
1845 (commit (string-append "v" version))))
1846 (sha256
1847 (base32 "07g0wpvfqq2yk23prs890d4qvbnr3xd6w8ssd88g89xdg483wpvk"))
1848 (file-name (git-file-name name version))))
1849 (build-system asdf-build-system/sbcl)
1850 (native-inputs
1851 ;; Tests only.
1852 `(("rt" ,sbcl-rt)))
1853 (inputs
1854 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1855 ("flexi-streams" ,sbcl-flexi-streams)))
1856 (synopsis "Cryptographic toolkit written in Common Lisp")
1857 (description
1858 "Ironclad is a cryptography library written entirely in Common Lisp.
1859 It includes support for several popular ciphers, digests, MACs and public key
1860 cryptography algorithms. For several implementations that support Gray
1861 streams, support is included for convenient stream wrappers.")
1862 (home-page "https://github.com/sharplispers/ironclad")
1863 (license license:bsd-3)))
1864
1865 (define-public cl-ironclad
1866 (sbcl-package->cl-source-package sbcl-ironclad))
1867
1868 (define-public ecl-ironclad
1869 (sbcl-package->ecl-package sbcl-ironclad))
1870
1871 (define-public sbcl-named-readtables
1872 (let ((commit "585a28eee8b1b1999279b48cb7e9731187e14b66")
1873 (revision "3"))
1874 (package
1875 (name "sbcl-named-readtables")
1876 (version (git-version "0.9" revision commit))
1877 (source
1878 (origin
1879 (method git-fetch)
1880 (uri (git-reference
1881 (url "https://github.com/melisgl/named-readtables")
1882 (commit commit)))
1883 (sha256
1884 (base32 "072p5djqq9pliw9r20rmpz5r5q5yn6rhbp98vkkp7gfcnp5ppj51"))
1885 (file-name (git-file-name "named-readtables" version))))
1886 (build-system asdf-build-system/sbcl)
1887 (home-page "https://github.com/melisgl/named-readtables/")
1888 (synopsis "Library that creates a namespace for named readtables")
1889 (description
1890 "Named readtables is a library that creates a namespace for named
1891 readtables, which is akin to package namespacing in Common Lisp.")
1892 (license license:bsd-3))))
1893
1894 (define-public cl-named-readtables
1895 (sbcl-package->cl-source-package sbcl-named-readtables))
1896
1897 (define-public ecl-named-readtables
1898 (sbcl-package->ecl-package sbcl-named-readtables))
1899
1900 (define-public sbcl-py-configparser
1901 ;; NOTE: (Sharlatan <2021-01-05 Tue> <19:52:19 UTC+0000>) Project updated last
1902 ;; time 8y ago, it looks like abandoned. VCS of the project:
1903 ;; https://svn.common-lisp.net/py-configparser/trunk
1904 (package
1905 (name "sbcl-py-configparser")
1906 (version "1.0.3")
1907 (source
1908 (origin
1909 (method url-fetch)
1910 (uri (string-append
1911 "https://common-lisp.net/project/py-configparser/releases/"
1912 "py-configparser-" version ".tar.gz"))
1913 (sha256
1914 (base32 "0i4rqz5cv7d7c2w81x5lwy05s6fbi3zikf4k5kpi3bkx3cabwdxj"))))
1915 (build-system asdf-build-system/sbcl)
1916 (inputs
1917 `(("parse-number" ,sbcl-parse-number)))
1918 (home-page "http://common-lisp.net/project/py-configparser/")
1919 (synopsis "ConfigParser Python module functionality for Common Lisp")
1920 (description "The py-configparser package implements the ConfigParser
1921 Python module functionality in Common Lisp. In short, it implements reading
1922 and writing of .INI-file style configuration files with sections containing
1923 key/value pairs of configuration options. In line with the functionalities in
1924 the python module, does this package implement basic interpolation of option
1925 values in other options.")
1926 (license license:expat)))
1927
1928 (define-public cl-py-configparser
1929 (sbcl-package->cl-source-package sbcl-py-configparser))
1930
1931 (define-public ecl-py-configparser
1932 (sbcl-package->ecl-package sbcl-py-configparser))
1933
1934 (define-public sbcl-pythonic-string-reader
1935 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
1936 (package
1937 (name "sbcl-pythonic-string-reader")
1938 (version (git-version "0.0.0" "1" commit))
1939 (source
1940 (origin
1941 (method git-fetch)
1942 (uri (git-reference
1943 (url "https://github.com/smithzvk/pythonic-string-reader/")
1944 (commit commit)))
1945 (sha256
1946 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
1947 (file-name (git-file-name "pythonic-string-reader" version))))
1948 (build-system asdf-build-system/sbcl)
1949 (inputs
1950 `(("named-readtables" ,sbcl-named-readtables)))
1951 (home-page "https://github.com/smithzvk/pythonic-string-reader")
1952 (synopsis "Read table modification inspired by Python's three quote strings")
1953 (description "This piece of code sets up some reader macros that make it
1954 simpler to input string literals which contain backslashes and double quotes
1955 This is very useful for writing complicated docstrings and, as it turns out,
1956 writing code that contains string literals that contain code themselves.")
1957 (license license:bsd-3))))
1958
1959 (define-public cl-pythonic-string-reader
1960 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
1961
1962 (define-public ecl-pythonic-string-reader
1963 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
1964
1965 (define-public sbcl-slime-swank
1966 (package
1967 (name "sbcl-slime-swank")
1968 (version "2.26")
1969 (source
1970 (origin
1971 (file-name (git-file-name "slime-swank" version))
1972 (method git-fetch)
1973 (uri (git-reference
1974 (url "https://github.com/slime/slime/")
1975 (commit (string-append "v" version))))
1976 (sha256
1977 (base32
1978 "0mxb1wnw19v0s72w2wkz5afdlzvpy5nn7pr4vav403qybac0sw5c"))))
1979 (build-system asdf-build-system/sbcl)
1980 (arguments
1981 '(#:asd-systems '("swank")))
1982 (home-page "https://github.com/slime/slime")
1983 (synopsis "Common Lisp Swank server")
1984 (description
1985 "This is only useful if you want to start a Swank server in a Lisp
1986 processes that doesn't run under Emacs. Lisp processes created by
1987 @command{M-x slime} automatically start the server.")
1988 (license (list license:gpl2+ license:public-domain))))
1989
1990 (define-public cl-slime-swank
1991 (sbcl-package->cl-source-package sbcl-slime-swank))
1992
1993 (define-public ecl-slime-swank
1994 (sbcl-package->ecl-package sbcl-slime-swank))
1995
1996 (define-public sbcl-mgl-pax
1997 (let ((commit "818448418d6b9de74620f606f5b23033c6082769"))
1998 (package
1999 (name "sbcl-mgl-pax")
2000 (version (git-version "0.0.0" "1" commit))
2001 (source
2002 (origin
2003 (method git-fetch)
2004 (uri (git-reference
2005 (url "https://github.com/melisgl/mgl-pax")
2006 (commit commit)))
2007 (sha256
2008 (base32
2009 "1p97zfkh130bdxqqxwaw2j9psv58751wakx7czbfpq410lg7dd7i"))
2010 (file-name (git-file-name "mgl-pax" version))))
2011 (build-system asdf-build-system/sbcl)
2012 (inputs
2013 `(("3bmd" ,sbcl-3bmd)
2014 ("babel" ,sbcl-babel)
2015 ("cl-fad" ,sbcl-cl-fad)
2016 ("ironclad" ,sbcl-ironclad)
2017 ("named-readtables" ,sbcl-named-readtables)
2018 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)
2019 ("swank" ,sbcl-slime-swank)))
2020 (synopsis "Exploratory programming environment and documentation generator")
2021 (description
2022 "PAX provides an extremely poor man's Explorable Programming
2023 environment. Narrative primarily lives in so called sections that mix markdown
2024 docstrings with references to functions, variables, etc, all of which should
2025 probably have their own docstrings.
2026
2027 The primary focus is on making code easily explorable by using SLIME's
2028 @command{M-.} (@command{slime-edit-definition}). See how to enable some
2029 fanciness in Emacs Integration. Generating documentation from sections and all
2030 the referenced items in Markdown or HTML format is also implemented.
2031
2032 With the simplistic tools provided, one may accomplish similar effects as with
2033 Literate Programming, but documentation is generated from code, not vice versa
2034 and there is no support for chunking yet. Code is first, code must look
2035 pretty, documentation is code.")
2036 (home-page "http://quotenil.com/")
2037 (license license:expat))))
2038
2039 (define-public cl-mgl-pax
2040 (sbcl-package->cl-source-package sbcl-mgl-pax))
2041
2042 (define-public ecl-mgl-pax
2043 (let ((pkg (sbcl-package->ecl-package sbcl-mgl-pax)))
2044 (package
2045 (inherit pkg)
2046 (arguments
2047 (substitute-keyword-arguments (package-arguments pkg)
2048 ;; TODO: Find why the tests fail on ECL.
2049 ((#:tests? _ #f) #f))))))
2050
2051 (define-public sbcl-mssql
2052 (let ((commit "045602a19a32254108f2b75871049293f49731eb")
2053 (revision "1"))
2054 (package
2055 (name "sbcl-mssql")
2056 (version (git-version "0.0.3" revision commit))
2057 (source
2058 (origin
2059 (method git-fetch)
2060 (uri (git-reference
2061 (url "https://github.com/archimag/cl-mssql")
2062 (commit commit)))
2063 (file-name (git-file-name "cl-mssql" version))
2064 (sha256
2065 (base32 "09i50adppgc1ybm3ka9vbindhwa2x29f9n3n0jkrryymdhb8zknm"))))
2066 (build-system asdf-build-system/sbcl)
2067 (inputs
2068 `(("cffi" ,sbcl-cffi)
2069 ("freetds" ,freetds)
2070 ("garbage-pools" ,sbcl-garbage-pools)
2071 ("iterate" ,sbcl-iterate)
2072 ("parse-number" ,sbcl-parse-number)))
2073 (arguments
2074 `(#:phases
2075 (modify-phases %standard-phases
2076 (add-after 'unpack 'fix-paths
2077 (lambda* (#:key inputs #:allow-other-keys)
2078 (substitute* "src/mssql.lisp"
2079 (("libsybdb" all)
2080 (string-append (assoc-ref inputs "freetds") "/lib/" all)))
2081 #t)))))
2082 (home-page "https://github.com/archimag/cl-mssql")
2083 (synopsis "Common Lisp library to interact with MS SQL Server databases")
2084 (description
2085 "@code{cl-mssql} provides an interface to connect to Microsoft SQL
2086 server. It uses the @code{libsybdb} foreign library provided by the FreeTDS
2087 project.")
2088 (license license:llgpl))))
2089
2090 (define-public ecl-mssql
2091 (sbcl-package->ecl-package sbcl-mssql))
2092
2093 (define-public cl-mssql
2094 (sbcl-package->cl-source-package sbcl-mssql))
2095
2096 (define-public sbcl-lisp-unit
2097 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
2098 (package
2099 (name "sbcl-lisp-unit")
2100 (version (git-version "0.0.0" "1" commit))
2101 (source
2102 (origin
2103 (method git-fetch)
2104 (uri (git-reference
2105 (url "https://github.com/OdonataResearchLLC/lisp-unit")
2106 (commit commit)))
2107 (sha256
2108 (base32
2109 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
2110 (file-name (git-file-name "lisp-unit" version))))
2111 (build-system asdf-build-system/sbcl)
2112 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
2113 (description
2114 "@command{lisp-unit} is a Common Lisp library that supports unit
2115 testing. It is an extension of the library written by Chris Riesbeck.")
2116 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
2117 (license license:expat))))
2118
2119 (define-public cl-lisp-unit
2120 (sbcl-package->cl-source-package sbcl-lisp-unit))
2121
2122 (define-public ecl-lisp-unit
2123 (sbcl-package->ecl-package sbcl-lisp-unit))
2124
2125 (define-public sbcl-anaphora
2126 (package
2127 (name "sbcl-anaphora")
2128 (version "0.9.6")
2129 (source
2130 (origin
2131 (method git-fetch)
2132 (uri (git-reference
2133 (url "https://github.com/tokenrove/anaphora")
2134 (commit version)))
2135 (sha256
2136 (base32
2137 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
2138 (file-name (git-file-name "anaphora" version))))
2139 (build-system asdf-build-system/sbcl)
2140 (native-inputs
2141 `(("rt" ,sbcl-rt)))
2142 (synopsis "The anaphoric macro collection from Hell")
2143 (description
2144 "Anaphora is the anaphoric macro collection from Hell: it includes many
2145 new fiends in addition to old friends like @command{aif} and
2146 @command{awhen}.")
2147 (home-page "https://github.com/tokenrove/anaphora")
2148 (license license:public-domain)))
2149
2150 (define-public cl-anaphora
2151 (sbcl-package->cl-source-package sbcl-anaphora))
2152
2153 (define-public ecl-anaphora
2154 (sbcl-package->ecl-package sbcl-anaphora))
2155
2156 (define-public sbcl-lift
2157 (let ((commit "7d49a66c62759535624037826891152223d4206c"))
2158 (package
2159 (name "sbcl-lift")
2160 (version (git-version "1.7.1" "1" commit))
2161 (source
2162 (origin
2163 (method git-fetch)
2164 (uri (git-reference
2165 (url "https://github.com/gwkkwg/lift")
2166 (commit commit)))
2167 (sha256
2168 (base32
2169 "127v5avpz1i4m0lkaxqrq8hrl69rdazqaxf6s8awf0nd7wj2g4dp"))
2170 (file-name (git-file-name "lift" version))
2171 (modules '((guix build utils)))
2172 (snippet
2173 ;; Don't keep the bundled website
2174 `(begin
2175 (delete-file-recursively "website")
2176 #t))))
2177 (build-system asdf-build-system/sbcl)
2178 (arguments
2179 ;; The tests require a debugger, but we run with the debugger disabled.
2180 '(#:tests? #f))
2181 (synopsis "LIsp Framework for Testing")
2182 (description
2183 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
2184 Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
2185 testcases are organized into hierarchical testsuites each of which can have
2186 its own fixture. When run, a testcase can succeed, fail, or error. LIFT
2187 supports randomized testing, benchmarking, profiling, and reporting.")
2188 (home-page "https://github.com/gwkkwg/lift")
2189 (license license:expat))))
2190
2191 (define-public cl-lift
2192 (sbcl-package->cl-source-package sbcl-lift))
2193
2194 (define-public ecl-lift
2195 (sbcl-package->ecl-package sbcl-lift))
2196
2197 (define-public sbcl-let-plus
2198 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
2199 (package
2200 (name "sbcl-let-plus")
2201 (version (git-version "0.0.0" "1" commit))
2202 (source
2203 (origin
2204 (method git-fetch)
2205 (uri (git-reference
2206 (url "https://github.com/sharplispers/let-plus")
2207 (commit commit)))
2208 (sha256
2209 (base32
2210 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
2211 (file-name (git-file-name "let-plus" version))))
2212 (build-system asdf-build-system/sbcl)
2213 (inputs
2214 `(("alexandria" ,sbcl-alexandria)
2215 ("anaphora" ,sbcl-anaphora)))
2216 (native-inputs
2217 `(("lift" ,sbcl-lift)))
2218 (synopsis "Destructuring extension of let*")
2219 (description
2220 "This library implements the let+ macro, which is a dectructuring
2221 extension of let*. It features:
2222
2223 @itemize
2224 @item Clean, consistent syntax and small implementation (less than 300 LOC,
2225 not counting tests)
2226 @item Placeholder macros allow editor hints and syntax highlighting
2227 @item @command{&ign} for ignored values (in forms where that makes sense)
2228 @item Very easy to extend
2229 @end itemize\n")
2230 (home-page "https://github.com/sharplispers/let-plus")
2231 (license license:boost1.0))))
2232
2233 (define-public cl-let-plus
2234 (sbcl-package->cl-source-package sbcl-let-plus))
2235
2236 (define-public ecl-let-plus
2237 (sbcl-package->ecl-package sbcl-let-plus))
2238
2239 (define-public sbcl-cl-colors
2240 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
2241 (package
2242 (name "sbcl-cl-colors")
2243 (version (git-version "0.0.0" "1" commit))
2244 (source
2245 (origin
2246 (method git-fetch)
2247 (uri (git-reference
2248 (url "https://github.com/tpapp/cl-colors")
2249 (commit commit)))
2250 (sha256
2251 (base32
2252 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2253 (file-name (git-file-name "cl-colors" version))))
2254 (build-system asdf-build-system/sbcl)
2255 (inputs
2256 `(("alexandria" ,sbcl-alexandria)
2257 ("let-plus" ,sbcl-let-plus)))
2258 (synopsis "Simple color library for Common Lisp")
2259 (description
2260 "This is a very simple color library for Common Lisp, providing
2261
2262 @itemize
2263 @item Types for representing colors in HSV and RGB spaces.
2264 @item Simple conversion functions between the above types (and also
2265 hexadecimal representation for RGB).
2266 @item Some predefined colors (currently X11 color names – of course the
2267 library does not depend on X11).Because color in your terminal is nice.
2268 @end itemize
2269
2270 This library is no longer supported by its author.")
2271 (home-page "https://github.com/tpapp/cl-colors")
2272 (license license:boost1.0))))
2273
2274 (define-public cl-colors
2275 (sbcl-package->cl-source-package sbcl-cl-colors))
2276
2277 (define-public ecl-cl-colors
2278 (sbcl-package->ecl-package sbcl-cl-colors))
2279
2280 (define-public sbcl-cl-ansi-text
2281 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2282 (package
2283 (name "sbcl-cl-ansi-text")
2284 (version (git-version "1.0.0" "1" commit))
2285 (source
2286 (origin
2287 (method git-fetch)
2288 (uri (git-reference
2289 (url "https://github.com/pnathan/cl-ansi-text")
2290 (commit commit)))
2291 (sha256
2292 (base32
2293 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2294 (file-name (git-file-name "cl-ansi-text" version))))
2295 (build-system asdf-build-system/sbcl)
2296 (inputs
2297 `(("alexandria" ,sbcl-alexandria)
2298 ("cl-colors" ,sbcl-cl-colors)))
2299 (native-inputs
2300 `(("fiveam" ,sbcl-fiveam)))
2301 (synopsis "ANSI terminal color implementation for Common Lisp")
2302 (description
2303 "@command{cl-ansi-text} provides utilities which enable printing to an
2304 ANSI terminal with colored text. It provides the macro @command{with-color}
2305 which causes everything printed in the body to be displayed with the provided
2306 color. It further provides functions which will print the argument with the
2307 named color.")
2308 (home-page "https://github.com/pnathan/cl-ansi-text")
2309 (license license:llgpl))))
2310
2311 (define-public cl-ansi-text
2312 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2313
2314 (define-public ecl-cl-ansi-text
2315 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2316
2317 (define-public sbcl-prove
2318 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2319 (package
2320 (name "sbcl-prove")
2321 (version (git-version "1.0.0" "1" commit))
2322 (source
2323 (origin
2324 (method git-fetch)
2325 (uri (git-reference
2326 (url "https://github.com/fukamachi/prove")
2327 (commit commit)))
2328 (sha256
2329 (base32
2330 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2331 (file-name (git-file-name "prove" version))))
2332 (build-system asdf-build-system/sbcl)
2333 (inputs
2334 `(("alexandria" ,sbcl-alexandria)
2335 ("cl-ppcre" ,sbcl-cl-ppcre)
2336 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2337 (synopsis "Yet another unit testing framework for Common Lisp")
2338 (description
2339 "This project was originally called @command{cl-test-more}.
2340 @command{prove} is yet another unit testing framework for Common Lisp. The
2341 advantages of @command{prove} are:
2342
2343 @itemize
2344 @item Various simple functions for testing and informative error messages
2345 @item ASDF integration
2346 @item Extensible test reporters
2347 @item Colorizes the report if it's available (note for SLIME)
2348 @item Reports test durations
2349 @end itemize\n")
2350 (home-page "https://github.com/fukamachi/prove")
2351 (license license:expat))))
2352
2353 (define-public cl-prove
2354 (sbcl-package->cl-source-package sbcl-prove))
2355
2356 (define-public ecl-prove
2357 (sbcl-package->ecl-package sbcl-prove))
2358
2359 (define-public sbcl-proc-parse
2360 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2361 (package
2362 (name "sbcl-proc-parse")
2363 (version (git-version "0.0.0" "1" commit))
2364 (source
2365 (origin
2366 (method git-fetch)
2367 (uri (git-reference
2368 (url "https://github.com/fukamachi/proc-parse")
2369 (commit commit)))
2370 (sha256
2371 (base32
2372 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2373 (file-name (git-file-name "proc-parse" version))))
2374 (build-system asdf-build-system/sbcl)
2375 (inputs
2376 `(("alexandria" ,sbcl-alexandria)
2377 ("babel" ,sbcl-babel)))
2378 (native-inputs
2379 `(("prove" ,sbcl-prove)))
2380 (arguments
2381 ;; TODO: Tests don't find "proc-parse-test", why?
2382 `(#:tests? #f))
2383 (synopsis "Procedural vector parser")
2384 (description
2385 "This is a string/octets parser library for Common Lisp with speed and
2386 readability in mind. Unlike other libraries, the code is not a
2387 pattern-matching-like, but a char-by-char procedural parser.")
2388 (home-page "https://github.com/fukamachi/proc-parse")
2389 (license license:bsd-2))))
2390
2391 (define-public cl-proc-parse
2392 (sbcl-package->cl-source-package sbcl-proc-parse))
2393
2394 (define-public ecl-proc-parse
2395 (sbcl-package->ecl-package sbcl-proc-parse))
2396
2397 (define-public sbcl-parse-float
2398 (let ((commit "3074765101e41222b6b624a66aaf1e6416379f9c")
2399 (revision "2"))
2400 (package
2401 (name "sbcl-parse-float")
2402 (version (git-version "0.0.0" revision commit))
2403 (source
2404 (origin
2405 (method git-fetch)
2406 (uri (git-reference
2407 (url "https://github.com/soemraws/parse-float")
2408 (commit commit)))
2409 (sha256
2410 (base32 "0jd2spawc3v8vzqf8ky4cngl45jm65fhkrdf20mf6dcbn3mzpkmr"))
2411 (file-name (git-file-name "proc-parse" version))))
2412 (build-system asdf-build-system/sbcl)
2413 (arguments
2414 ;; FIXME: https://github.com/soemraws/parse-float/issues/12
2415 `(#:asd-systems '("parse-float" "parse-float-tests")))
2416 (native-inputs
2417 `(("lisp-unit" ,sbcl-lisp-unit)))
2418 (inputs
2419 `(("alexandria" ,sbcl-alexandria)))
2420 (home-page "https://github.com/soemraws/parse-float")
2421 (synopsis "Parse a floating point value from a string in Common Lisp")
2422 (description
2423 "This package exports the following function to parse floating-point
2424 values from a string in Common Lisp.")
2425 (license license:public-domain))))
2426
2427 (define-public cl-parse-float
2428 (sbcl-package->cl-source-package sbcl-parse-float))
2429
2430 (define-public ecl-parse-float
2431 (sbcl-package->ecl-package sbcl-parse-float))
2432
2433 (define-public sbcl-cl-string-match
2434 (let ((revision "1")
2435 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2436 (package
2437 (name "sbcl-cl-string-match")
2438 (version (git-version "0" revision changeset))
2439 (source
2440 (origin
2441 (method hg-fetch)
2442 (uri (hg-reference
2443 (url "https://bitbucket.org/vityok/cl-string-match/")
2444 (changeset changeset)))
2445 (sha256
2446 (base32
2447 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2448 (file-name (git-file-name "cl-string-match" version))))
2449 (build-system asdf-build-system/sbcl)
2450 (inputs
2451 `(("alexandria" ,sbcl-alexandria)
2452 ("babel" ,sbcl-babel)
2453 ("iterate" ,sbcl-iterate)
2454 ("jpl-queues" ,sbcl-jpl-queues)
2455 ("jpl-util" ,sbcl-jpl-util)
2456 ("mgl-pax" ,sbcl-mgl-pax)
2457 ("parse-float" ,sbcl-parse-float)
2458 ("proc-parse" ,sbcl-proc-parse)
2459 ("yacc" ,sbcl-cl-yacc)))
2460 ;; TODO: Tests are not evaluated properly.
2461 (native-inputs
2462 ;; For testing:
2463 `(("lisp-unit" ,sbcl-lisp-unit)))
2464 (arguments
2465 `(#:tests? #f))
2466 (synopsis "Set of utilities to manipulate strings in Common Lisp")
2467 (description
2468 "@command{cl-strings} is a small, portable, dependency-free set of
2469 utilities that make it even easier to manipulate text in Common Lisp. It has
2470 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
2471 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2472 (license license:bsd-3))))
2473
2474 (define-public cl-string-match
2475 (sbcl-package->cl-source-package sbcl-cl-string-match))
2476
2477 (define-public ecl-cl-string-match
2478 (sbcl-package->ecl-package sbcl-cl-string-match))
2479
2480 (define-public sbcl-ptester
2481 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2482 (revision "1"))
2483 (package
2484 (name "sbcl-ptester")
2485 (version (git-version "2.1.3" revision commit))
2486 (source
2487 (origin
2488 (method git-fetch)
2489 (uri (git-reference
2490 (url "http://git.kpe.io/ptester.git")
2491 (commit commit)))
2492 (file-name (git-file-name name version))
2493 (sha256
2494 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2495 (build-system asdf-build-system/sbcl)
2496 (home-page "http://quickdocs.org/ptester/")
2497 (synopsis "Portable test harness package")
2498 (description
2499 "@command{ptester} is a portable testing framework based on Franz's
2500 tester module.")
2501 (license license:llgpl))))
2502
2503 (define-public cl-ptester
2504 (sbcl-package->cl-source-package sbcl-ptester))
2505
2506 (define-public ecl-ptester
2507 (sbcl-package->ecl-package sbcl-ptester))
2508
2509 (define-public sbcl-puri
2510 (let ((commit "4bbab89d9ccbb26346899d1f496c97604fec567b")
2511 (revision "2"))
2512 (package
2513 (name "sbcl-puri")
2514 (version (git-version "1.5.7" revision commit))
2515 (source
2516 (origin
2517 (method git-fetch)
2518 (uri (git-reference
2519 (url "http://git.kpe.io/puri.git")
2520 (commit commit)))
2521 (file-name (git-file-name "puri" version))
2522 (sha256
2523 (base32 "0gq2rsr0aihs0z20v4zqvmdl4szq53b52rh97pvnmwrlbn4mapmd"))))
2524 (build-system asdf-build-system/sbcl)
2525 (native-inputs
2526 `(("ptester" ,sbcl-ptester)))
2527 (home-page "http://puri.kpe.io/")
2528 (synopsis "Portable URI Library")
2529 (description
2530 "This is a portable Universal Resource Identifier library for Common
2531 Lisp programs. It parses URI according to the RFC 2396 specification.")
2532 (license license:llgpl))))
2533
2534 (define-public cl-puri
2535 (sbcl-package->cl-source-package sbcl-puri))
2536
2537 (define-public ecl-puri
2538 (sbcl-package->ecl-package sbcl-puri))
2539
2540 (define-public sbcl-qmynd
2541 (let ((commit "7e56daf73f0ed5f49a931c01af75fb874bcf3445")
2542 (revision "1"))
2543 (package
2544 (name "sbcl-qmynd")
2545 (version (git-version "1.0.0" revision commit))
2546 (source
2547 (origin
2548 (method git-fetch)
2549 (uri (git-reference
2550 (url "https://github.com/qitab/qmynd")
2551 (commit commit)))
2552 (file-name (git-file-name name version))
2553 (sha256
2554 (base32
2555 "06gw5wxcpdclb6a5i5k9lbmdlyqsp182czrm9bm1cpklzbj0ihrl"))))
2556 (build-system asdf-build-system/sbcl)
2557 (inputs
2558 `(("asdf-finalizers" ,sbcl-asdf-finalizers)
2559 ("babel" ,sbcl-babel)
2560 ("chipz" ,sbcl-chipz)
2561 ("cl+ssl" ,sbcl-cl+ssl)
2562 ("flexi-streams" ,sbcl-flexi-streams)
2563 ("ironclad" ,sbcl-ironclad)
2564 ("salza2" ,sbcl-salza2)
2565 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
2566 ("usocket" ,sbcl-usocket)))
2567 (home-page "https://github.com/qitab/qmynd")
2568 (synopsis "QITAB MySQL Native Driver for Common Lisp")
2569 (description "QMyND, the QITAB MySQL Native Driver, is a MySQL client
2570 library that directly talks to a MySQL server in its native network protocol.
2571
2572 It's a part of QITAB umbrella project.")
2573 (license license:expat))))
2574
2575 (define-public ecl-qmynd
2576 (sbcl-package->ecl-package sbcl-qmynd))
2577
2578 (define-public cl-qmynd
2579 (sbcl-package->cl-source-package sbcl-qmynd))
2580
2581 (define-public sbcl-queues
2582 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2583 (package
2584 (name "sbcl-queues")
2585 (version (git-version "0.0.0" "1" commit))
2586 (source
2587 (origin
2588 (method git-fetch)
2589 (uri (git-reference
2590 (url "https://github.com/oconnore/queues")
2591 (commit commit)))
2592 (file-name (git-file-name "queues" version))
2593 (sha256
2594 (base32
2595 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2596 (build-system asdf-build-system/sbcl)
2597 (inputs
2598 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
2599 (arguments
2600 '(#:asd-systems '("queues"
2601 "queues.simple-queue"
2602 "queues.simple-cqueue"
2603 "queues.priority-queue"
2604 "queues.priority-cqueue")))
2605 (home-page "https://github.com/oconnore/queues")
2606 (synopsis "Common Lisp queue library")
2607 (description
2608 "This is a simple queue library for Common Lisp with features such as
2609 non-consing thread safe queues and fibonacci priority queues.")
2610 (license license:expat))))
2611
2612 (define-public cl-queues
2613 (sbcl-package->cl-source-package sbcl-queues))
2614
2615 (define-public ecl-queues
2616 (sbcl-package->ecl-package sbcl-queues))
2617
2618 (define-public sbcl-cffi
2619 (package
2620 (name "sbcl-cffi")
2621 (version "0.23.0")
2622 (source
2623 (origin
2624 (method git-fetch)
2625 (uri (git-reference
2626 (url "https://github.com/cffi/cffi")
2627 (commit (string-append "v" version))))
2628 (file-name (git-file-name "cffi-bootstrap" version))
2629 (sha256
2630 (base32 "03s98imc5niwnpj3hhrafl7dmxq45g74h96sm68976k7ahi3vl5b"))))
2631 (build-system asdf-build-system/sbcl)
2632 (inputs
2633 `(("alexandria" ,sbcl-alexandria)
2634 ("babel" ,sbcl-babel)
2635 ("libffi" ,libffi)
2636 ("trivial-features" ,sbcl-trivial-features)))
2637 (native-inputs
2638 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2639 ("pkg-config" ,pkg-config)
2640 ("rt" ,sbcl-rt)))
2641 (arguments
2642 '(#:phases
2643 (modify-phases %standard-phases
2644 (add-after 'unpack 'fix-arm-support
2645 (lambda _
2646 ;; This is apparently deprecated since libffi-3.3.
2647 (substitute* "libffi/libffi-types.lisp"
2648 (("\\\(\\\(:unix64.*") ")\n"))
2649 #t))
2650 (add-after 'unpack 'fix-paths
2651 (lambda* (#:key inputs #:allow-other-keys)
2652 (substitute* "libffi/libffi.lisp"
2653 (("libffi.so.7" all) (string-append
2654 (assoc-ref inputs "libffi")
2655 "/lib/" all)))
2656 (substitute* "toolchain/c-toolchain.lisp"
2657 (("\"cc\"") (format #f "~S" (which "gcc"))))))
2658 (add-after 'build 'install-headers
2659 (lambda* (#:key outputs #:allow-other-keys)
2660 (install-file "grovel/common.h"
2661 (string-append
2662 (assoc-ref outputs "out")
2663 "/include/grovel")))))
2664 #:asd-files '("cffi.asd"
2665 "cffi-toolchain.asd"
2666 "cffi-grovel.asd"
2667 "cffi-libffi.asd"
2668 "cffi-uffi-compat.asd")
2669 #:asd-systems '("cffi"
2670 "cffi-libffi"
2671 "cffi-uffi-compat")))
2672 (home-page "https://common-lisp.net/project/cffi/")
2673 (synopsis "Common Foreign Function Interface for Common Lisp")
2674 (description "The Common Foreign Function Interface (CFFI)
2675 purports to be a portable foreign function interface for Common Lisp.
2676 The CFFI library is composed of a Lisp-implementation-specific backend
2677 in the CFFI-SYS package, and a portable frontend in the CFFI
2678 package.")
2679 (license license:expat)))
2680
2681 (define-public cl-cffi
2682 (sbcl-package->cl-source-package sbcl-cffi))
2683
2684 (define-public ecl-cffi
2685 (sbcl-package->ecl-package sbcl-cffi))
2686
2687 (define-public sbcl-cl-sqlite
2688 (package
2689 (name "sbcl-cl-sqlite")
2690 (version "0.2.1")
2691 (source
2692 (origin
2693 (method git-fetch)
2694 (uri (git-reference
2695 (url "https://github.com/dmitryvk/cl-sqlite")
2696 (commit version)))
2697 (file-name (git-file-name "cl-sqlite" version))
2698 (sha256
2699 (base32
2700 "08iv7b4m0hh7qx2cvq4f510nrgdld0vicnvmqsh9w0fgrcgmyg4k"))))
2701 (build-system asdf-build-system/sbcl)
2702 (inputs
2703 `(("iterate" ,sbcl-iterate)
2704 ("cffi" ,sbcl-cffi)
2705 ("sqlite" ,sqlite)))
2706 (native-inputs
2707 `(("fiveam" ,sbcl-fiveam)
2708 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2709 (arguments
2710 `(#:asd-systems '("sqlite")
2711 #:phases
2712 (modify-phases %standard-phases
2713 (add-after 'unpack 'fix-paths
2714 (lambda* (#:key inputs #:allow-other-keys)
2715 (substitute* "sqlite-ffi.lisp"
2716 (("libsqlite3" all) (string-append
2717 (assoc-ref inputs "sqlite")"/lib/" all))))))))
2718 (home-page "https://common-lisp.net/project/cl-sqlite/")
2719 (synopsis "Common Lisp binding for SQLite")
2720 (description
2721 "The @command{cl-sqlite} package is an interface to the SQLite embedded
2722 relational database engine.")
2723 (license license:public-domain)))
2724
2725 (define-public cl-sqlite
2726 (sbcl-package->cl-source-package sbcl-cl-sqlite))
2727
2728 (define-public ecl-cl-sqlite
2729 (sbcl-package->ecl-package sbcl-cl-sqlite))
2730
2731 (define-public sbcl-parenscript
2732 ;; Source archives are overwritten on every release, we use the Git repo instead.
2733 (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766"))
2734 (package
2735 (name "sbcl-parenscript")
2736 (version (git-version "2.7.1" "1" commit))
2737 (source
2738 (origin
2739 (method git-fetch)
2740 (uri (git-reference
2741 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
2742 (commit commit)))
2743 (file-name (git-file-name "parenscript" version))
2744 (sha256
2745 (base32
2746 "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf"))))
2747 (build-system asdf-build-system/sbcl)
2748 (inputs
2749 `(("cl-ppcre" ,sbcl-cl-ppcre)
2750 ("anaphora" ,sbcl-anaphora)
2751 ("named-readtables" ,sbcl-named-readtables)))
2752 (home-page "https://common-lisp.net/project/parenscript/")
2753 (synopsis "Translator from a subset of Common Lisp to JavaScript")
2754 (description
2755 "Parenscript is a translator from an extended subset of Common Lisp to
2756 JavaScript. Parenscript code can run almost identically on both the
2757 browser (as JavaScript) and server (as Common Lisp).
2758
2759 Parenscript code is treated the same way as Common Lisp code, making the full
2760 power of Lisp macros available for JavaScript. This provides a web
2761 development environment that is unmatched in its ability to reduce code
2762 duplication and provide advanced meta-programming facilities to web
2763 developers.
2764
2765 At the same time, Parenscript is different from almost all other \"language
2766 X\" to JavaScript translators in that it imposes almost no overhead:
2767
2768 @itemize
2769 @item No run-time dependencies: Any piece of Parenscript code is runnable
2770 as-is. There are no JavaScript files to include.
2771 @item Native types: Parenscript works entirely with native JavaScript data
2772 types. There are no new types introduced, and object prototypes are not
2773 touched.
2774 @item Native calling convention: Any JavaScript code can be called without the
2775 need for bindings. Likewise, Parenscript can be used to make efficient,
2776 self-contained JavaScript libraries.
2777 @item Readable code: Parenscript generates concise, formatted, idiomatic
2778 JavaScript code. Identifier names are preserved. This enables seamless
2779 debugging in tools like Firebug.
2780 @item Efficiency: Parenscript introduces minimal overhead for advanced Common
2781 Lisp features. The generated code is almost as fast as hand-written
2782 JavaScript.
2783 @end itemize\n")
2784 (license license:bsd-3))))
2785
2786 (define-public cl-parenscript
2787 (sbcl-package->cl-source-package sbcl-parenscript))
2788
2789 (define-public ecl-parenscript
2790 (sbcl-package->ecl-package sbcl-parenscript))
2791
2792 (define-public sbcl-cl-json
2793 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
2794 (package
2795 (name "sbcl-cl-json")
2796 (version (git-version "0.5" "1" commit))
2797 (source
2798 (origin
2799 (method git-fetch)
2800 (uri (git-reference
2801 (url "https://github.com/hankhero/cl-json")
2802 (commit commit)))
2803 (file-name (git-file-name "cl-json" version))
2804 (sha256
2805 (base32
2806 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
2807 (build-system asdf-build-system/sbcl)
2808 (native-inputs
2809 `(("fiveam" ,sbcl-fiveam)))
2810 (home-page "https://github.com/hankhero/cl-json")
2811 (synopsis "JSON encoder and decoder for Common-Lisp")
2812 (description
2813 "@command{cl-json} provides an encoder of Lisp objects to JSON format
2814 and a corresponding decoder of JSON data to Lisp objects. Both the encoder
2815 and the decoder are highly customizable; at the same time, the default
2816 settings ensure a very simple mode of operation, similar to that provided by
2817 @command{yason} or @command{st-json}.")
2818 (license license:expat))))
2819
2820 (define-public cl-json
2821 (sbcl-package->cl-source-package sbcl-cl-json))
2822
2823 (define-public ecl-cl-json
2824 (sbcl-package->ecl-package sbcl-cl-json))
2825
2826 (define-public sbcl-unix-opts
2827 (package
2828 (name "sbcl-unix-opts")
2829 (version "0.1.7")
2830 (source
2831 (origin
2832 (method git-fetch)
2833 (uri (git-reference
2834 (url "https://github.com/libre-man/unix-opts")
2835 (commit version)))
2836 (file-name (git-file-name "unix-opts" version))
2837 (sha256
2838 (base32
2839 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
2840 (build-system asdf-build-system/sbcl)
2841 (home-page "https://github.com/hankhero/cl-json")
2842 (synopsis "Unix-style command line options parser")
2843 (description
2844 "This is a minimalistic parser of command line options. The main
2845 advantage of the library is the ability to concisely define command line
2846 options once and then use this definition for parsing and extraction of
2847 command line arguments, as well as printing description of command line
2848 options (you get --help for free). This way you don't need to repeat
2849 yourself. Also, @command{unix-opts} doesn't depend on anything and
2850 precisely controls the behavior of the parser via Common Lisp restarts.")
2851 (license license:expat)))
2852
2853 (define-public cl-unix-opts
2854 (sbcl-package->cl-source-package sbcl-unix-opts))
2855
2856 (define-public ecl-unix-opts
2857 (sbcl-package->ecl-package sbcl-unix-opts))
2858
2859 (define-public sbcl-trivial-garbage
2860 (package
2861 (name "sbcl-trivial-garbage")
2862 (version "0.21")
2863 (source
2864 (origin
2865 (method git-fetch)
2866 (uri (git-reference
2867 (url "https://github.com/trivial-garbage/trivial-garbage")
2868 (commit (string-append "v" version))))
2869 (file-name (git-file-name "trivial-garbage" version))
2870 (sha256
2871 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
2872 (build-system asdf-build-system/sbcl)
2873 (native-inputs
2874 `(("rt" ,sbcl-rt)))
2875 (home-page "https://common-lisp.net/project/trivial-garbage/")
2876 (synopsis "Portable GC-related APIs for Common Lisp")
2877 (description "@command{trivial-garbage} provides a portable API to
2878 finalizers, weak hash-tables and weak pointers on all major implementations of
2879 the Common Lisp programming language.")
2880 (license license:public-domain)))
2881
2882 (define-public cl-trivial-garbage
2883 (sbcl-package->cl-source-package sbcl-trivial-garbage))
2884
2885 (define-public ecl-trivial-garbage
2886 (sbcl-package->ecl-package sbcl-trivial-garbage))
2887
2888 (define-public sbcl-closer-mop
2889 (let ((commit "19c9d33f576e10715fd79cc1d4f688dab0f241d6"))
2890 (package
2891 (name "sbcl-closer-mop")
2892 (version (git-version "1.0.0" "2" commit))
2893 (source
2894 (origin
2895 (method git-fetch)
2896 (uri (git-reference
2897 (url "https://github.com/pcostanza/closer-mop")
2898 (commit commit)))
2899 (sha256
2900 (base32 "1w3x087wvlwkd6swfdgbvjfs6kazf0la8ax4pjfzikwjch4snn2c"))
2901 (file-name (git-file-name "closer-mop" version ))))
2902 (build-system asdf-build-system/sbcl)
2903 (home-page "https://github.com/pcostanza/closer-mop")
2904 (synopsis "Rectifies absent or incorrect CLOS MOP features")
2905 (description "Closer to MOP is a compatibility layer that rectifies many
2906 of the absent or incorrect CLOS MOP features across a broad range of Common
2907 Lisp implementations.")
2908 (license license:expat))))
2909
2910 (define-public cl-closer-mop
2911 (sbcl-package->cl-source-package sbcl-closer-mop))
2912
2913 (define-public ecl-closer-mop
2914 (sbcl-package->ecl-package sbcl-closer-mop))
2915
2916 (define-public sbcl-cl-cffi-gtk
2917 (let ((commit "e9a46df65995d9a16e6c8dbdc1e09b775eb4a966"))
2918 (package
2919 (name "sbcl-cl-cffi-gtk")
2920 (version (git-version "0.11.2" "2" commit))
2921 (source
2922 (origin
2923 (method git-fetch)
2924 (uri (git-reference
2925 (url "https://github.com/Ferada/cl-cffi-gtk/")
2926 (commit commit)))
2927 (file-name (git-file-name "cl-cffi-gtk" version))
2928 (sha256
2929 (base32
2930 "04vix0gmqsj91lm975sx7jhlnz5gq1xf9jp873mp7c8frc5dk1jj"))))
2931 (build-system asdf-build-system/sbcl)
2932 (native-inputs
2933 `(("fiveam" ,sbcl-fiveam)))
2934 (inputs
2935 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2936 ("cairo" ,cairo)
2937 ("cffi" ,sbcl-cffi)
2938 ("closer-mop" ,sbcl-closer-mop)
2939 ("gdk-pixbuf" ,gdk-pixbuf)
2940 ("glib" ,glib)
2941 ("gtk" ,gtk+)
2942 ("iterate" ,sbcl-iterate)
2943 ("pango" ,pango)
2944 ("trivial-features" ,sbcl-trivial-features)
2945 ("trivial-garbage" ,sbcl-trivial-garbage)))
2946 (arguments
2947 `(#:asd-files '("gtk/cl-cffi-gtk.asd"
2948 "glib/cl-cffi-gtk-glib.asd"
2949 "gobject/cl-cffi-gtk-gobject.asd"
2950 "gio/cl-cffi-gtk-gio.asd"
2951 "cairo/cl-cffi-gtk-cairo.asd"
2952 "pango/cl-cffi-gtk-pango.asd"
2953 "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
2954 "gdk/cl-cffi-gtk-gdk.asd")
2955 #:test-asd-file "test/cl-cffi-gtk-test.asd"
2956 ;; TODO: Tests fail with memory fault.
2957 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
2958 #:tests? #f
2959 #:phases
2960 (modify-phases %standard-phases
2961 (add-after 'unpack 'fix-paths
2962 (lambda* (#:key inputs #:allow-other-keys)
2963 (substitute* "glib/glib.init.lisp"
2964 (("libglib|libgthread" all)
2965 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2966 (substitute* "gobject/gobject.init.lisp"
2967 (("libgobject" all)
2968 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2969 (substitute* "gio/gio.init.lisp"
2970 (("libgio" all)
2971 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2972 (substitute* "cairo/cairo.init.lisp"
2973 (("libcairo" all)
2974 (string-append (assoc-ref inputs "cairo") "/lib/" all)))
2975 (substitute* "pango/pango.init.lisp"
2976 (("libpango" all)
2977 (string-append (assoc-ref inputs "pango") "/lib/" all)))
2978 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
2979 (("libgdk_pixbuf" all)
2980 (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))
2981 (substitute* "gdk/gdk.init.lisp"
2982 (("libgdk" all)
2983 (string-append (assoc-ref inputs "gtk") "/lib/" all)))
2984 (substitute* "gdk/gdk.package.lisp"
2985 (("libgtk" all)
2986 (string-append (assoc-ref inputs "gtk") "/lib/" all))))))))
2987 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
2988 (synopsis "Common Lisp binding for GTK+3")
2989 (description
2990 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
2991 is a library for creating graphical user interfaces.")
2992 (license license:lgpl3))))
2993
2994 (define-public cl-cffi-gtk
2995 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
2996
2997 (define-public ecl-cl-cffi-gtk
2998 (sbcl-package->ecl-package sbcl-cl-cffi-gtk))
2999
3000 (define-public sbcl-cl-webkit
3001 (let ((commit "0bc05cc73257670ab241853b9cc9ccb68940fe44"))
3002 (package
3003 (name "sbcl-cl-webkit")
3004 (version (git-version "2.4" "10" commit))
3005 (source
3006 (origin
3007 (method git-fetch)
3008 (uri (git-reference
3009 (url "https://github.com/joachifm/cl-webkit")
3010 (commit commit)))
3011 (file-name (git-file-name "cl-webkit" version))
3012 (sha256
3013 (base32
3014 "1kg6illspvb5647pm0x819ag2n7njnqvrm18jzgd28vk6nlkrcmq"))))
3015 (build-system asdf-build-system/sbcl)
3016 (inputs
3017 `(("cffi" ,sbcl-cffi)
3018 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3019 ("webkitgtk" ,webkitgtk)))
3020 (arguments
3021 `(#:asd-systems '("cl-webkit2")
3022 #:phases
3023 (modify-phases %standard-phases
3024 (add-after 'unpack 'fix-paths
3025 (lambda* (#:key inputs #:allow-other-keys)
3026 (substitute* "webkit2/webkit2.init.lisp"
3027 (("libwebkit2gtk" all)
3028 (string-append
3029 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
3030 (home-page "https://github.com/joachifm/cl-webkit")
3031 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3032 (description
3033 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3034 currently targeting WebKit version 2. The WebKitGTK+ library adds web
3035 browsing capabilities to an application, leveraging the full power of the
3036 WebKit browsing engine.")
3037 (license license:expat))))
3038
3039 (define-public cl-webkit
3040 (sbcl-package->cl-source-package sbcl-cl-webkit))
3041
3042 (define-public ecl-cl-webkit
3043 (sbcl-package->ecl-package sbcl-cl-webkit))
3044
3045 (define-public sbcl-lparallel
3046 (package
3047 (name "sbcl-lparallel")
3048 (version "2.8.4")
3049 (source
3050 (origin
3051 (method git-fetch)
3052 (uri (git-reference
3053 (url "https://github.com/lmj/lparallel/")
3054 (commit (string-append "lparallel-" version))))
3055 (file-name (git-file-name "lparallel" version))
3056 (sha256
3057 (base32
3058 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3059 (build-system asdf-build-system/sbcl)
3060 (inputs
3061 `(("alexandria" ,sbcl-alexandria)
3062 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3063 ("trivial-garbage" ,sbcl-trivial-garbage)))
3064 (arguments
3065 `(#:phases
3066 (modify-phases %standard-phases
3067 (add-after 'unpack 'fix-dependency
3068 ;; lparallel loads a SBCL specific system in its asd file. This is
3069 ;; not carried over into the fasl which is generated. In order for
3070 ;; it to be carried over, it needs to be listed as a dependency.
3071 (lambda _
3072 (substitute* "lparallel.asd"
3073 ((":depends-on \\(:alexandria" all)
3074 (string-append all " #+sbcl :sb-cltl2"))))))))
3075 (home-page "https://lparallel.org/")
3076 (synopsis "Parallelism for Common Lisp")
3077 (description
3078 "@command{lparallel} is a library for parallel programming in Common
3079 Lisp, featuring:
3080
3081 @itemize
3082 @item a simple model of task submission with receiving queue,
3083 @item constructs for expressing fine-grained parallelism,
3084 @item asynchronous condition handling across thread boundaries,
3085 @item parallel versions of map, reduce, sort, remove, and many others,
3086 @item promises, futures, and delayed evaluation constructs,
3087 @item computation trees for parallelizing interconnected tasks,
3088 @item bounded and unbounded FIFO queues,
3089 @item high and low priority tasks,
3090 @item task killing by category,
3091 @item integrated timeouts.
3092 @end itemize\n")
3093 (license license:expat)))
3094
3095 (define-public cl-lparallel
3096 (sbcl-package->cl-source-package sbcl-lparallel))
3097
3098 (define-public ecl-lparallel
3099 (package
3100 (inherit (sbcl-package->ecl-package sbcl-lparallel))
3101 (arguments
3102 ;; TODO: Find why the tests get stuck forever; disable them for now.
3103 `(#:tests? #f))))
3104
3105 (define-public sbcl-cl-markup
3106 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3107 (package
3108 (name "sbcl-cl-markup")
3109 (version (git-version "0.1" "1" commit))
3110 (source
3111 (origin
3112 (method git-fetch)
3113 (uri (git-reference
3114 (url "https://github.com/arielnetworks/cl-markup/")
3115 (commit commit)))
3116 (file-name (git-file-name "cl-markup" version))
3117 (sha256
3118 (base32
3119 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3120 (build-system asdf-build-system/sbcl)
3121 (home-page "https://github.com/arielnetworks/cl-markup/")
3122 (synopsis "Markup generation library for Common Lisp")
3123 (description
3124 "A modern markup generation library for Common Lisp that features:
3125
3126 @itemize
3127 @item Fast (even faster through compiling the code)
3128 @item Safety
3129 @item Support for multiple document types (markup, xml, html, html5, xhtml)
3130 @item Output with doctype
3131 @item Direct output to stream
3132 @end itemize\n")
3133 (license license:lgpl3+))))
3134
3135 (define-public cl-markup
3136 (sbcl-package->cl-source-package sbcl-cl-markup))
3137
3138 (define-public ecl-cl-markup
3139 (sbcl-package->ecl-package sbcl-cl-markup))
3140
3141 (define-public sbcl-cl-mustache
3142 (package
3143 (name "sbcl-cl-mustache")
3144 (version "0.12.1")
3145 (source
3146 (origin
3147 (method git-fetch)
3148 (uri (git-reference
3149 (url "https://github.com/kanru/cl-mustache")
3150 (commit (string-append "v" version))))
3151 (file-name (git-file-name "cl-mustache" version))
3152 (sha256
3153 (base32 "149xbb6wxq1napliwm9cv729hwcgfnjli6y8hingfixz7f10lhks"))))
3154 (build-system asdf-build-system/sbcl)
3155 (home-page "https://github.com/kanru/cl-mustache")
3156 (synopsis "Common Lisp Mustache template renderer")
3157 (description "This is a Common Lisp implementation for the Mustache
3158 template system. More details on the standard are available at
3159 @url{https://mustache.github.io}.")
3160 (license license:expat)))
3161
3162 (define-public cl-mustache
3163 (sbcl-package->cl-source-package sbcl-cl-mustache))
3164
3165 (define-public ecl-cl-mustache
3166 (sbcl-package->ecl-package sbcl-cl-mustache))
3167
3168 (define-public sbcl-cl-css
3169 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3170 (package
3171 (name "sbcl-cl-css")
3172 (version (git-version "0.1" "1" commit))
3173 (source
3174 (origin
3175 (method git-fetch)
3176 (uri (git-reference
3177 (url "https://github.com/inaimathi/cl-css/")
3178 (commit commit)))
3179 (file-name (git-file-name "cl-css" version))
3180 (sha256
3181 (base32
3182 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3183 (build-system asdf-build-system/sbcl)
3184 (home-page "https://github.com/inaimathi/cl-css/")
3185 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3186 (description
3187 "This is a dead-simple, non validating, inline CSS generator for Common
3188 Lisp. Its goals are axiomatic syntax, simple implementation to support
3189 portability, and boilerplate reduction in CSS.")
3190 (license license:expat))))
3191
3192 (define-public cl-css
3193 (sbcl-package->cl-source-package sbcl-cl-css))
3194
3195 (define-public ecl-cl-css
3196 (sbcl-package->ecl-package sbcl-cl-css))
3197
3198 (define-public sbcl-portable-threads
3199 (let ((commit "aa26bf38338a6b068bf8bfb3375d8d8c3b0a28df"))
3200 (package
3201 (name "sbcl-portable-threads")
3202 (version (git-version "2.3" "2" commit))
3203 (source
3204 (origin
3205 (method git-fetch)
3206 (uri (git-reference
3207 (url "https://github.com/binghe/portable-threads/")
3208 (commit commit)))
3209 (file-name (git-file-name "portable-threads" version))
3210 (sha256
3211 (base32 "058ksi07vfdmhrf5mdlc833s82m1rcqfja2266520m3r8bzs8bvs"))))
3212 (build-system asdf-build-system/sbcl)
3213 (arguments
3214 `(;; Tests seem broken.
3215 #:tests? #f))
3216 (home-page "https://github.com/binghe/portable-threads")
3217 (synopsis "Portable threads API for Common Lisp")
3218 (description
3219 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3220 Lisp (from GBBopen project).")
3221 (license license:asl2.0))))
3222
3223 (define-public cl-portable-threads
3224 (sbcl-package->cl-source-package sbcl-portable-threads))
3225
3226 (define-public ecl-portable-threads
3227 (sbcl-package->ecl-package sbcl-portable-threads))
3228
3229 (define-public sbcl-usocket
3230 (package
3231 (name "sbcl-usocket")
3232 (version "0.8.3")
3233 (source
3234 (origin
3235 (method git-fetch)
3236 (uri (git-reference
3237 (url "https://github.com/usocket/usocket/")
3238 (commit (string-append "v" version))))
3239 (file-name (git-file-name "usocket" version))
3240 (sha256
3241 (base32
3242 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3243 (build-system asdf-build-system/sbcl)
3244 (native-inputs
3245 `(("rt" ,sbcl-rt)))
3246 (inputs
3247 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3248 ("split-sequence" ,sbcl-split-sequence)))
3249 (arguments
3250 `(#:tests? #f ; FIXME: Tests need network access?
3251 #:asd-systems '("usocket"
3252 "usocket-server")))
3253 (home-page "https://common-lisp.net/project/usocket/")
3254 (synopsis "Universal socket library for Common Lisp")
3255 (description
3256 "This library strives to provide a portable TCP/IP and UDP/IP socket
3257 interface for as many Common Lisp implementations as possible, while keeping
3258 the abstraction and portability layer as thin as possible.")
3259 (license license:expat)))
3260
3261 (define-public cl-usocket
3262 (sbcl-package->cl-source-package sbcl-usocket))
3263
3264 (define-public ecl-usocket
3265 (sbcl-package->ecl-package sbcl-usocket))
3266
3267 (define-public sbcl-s-xml
3268 (package
3269 (name "sbcl-s-xml")
3270 (version "3")
3271 (source
3272 (origin
3273 (method url-fetch)
3274 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3275 (sha256
3276 (base32
3277 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3278 (build-system asdf-build-system/sbcl)
3279 (home-page "https://common-lisp.net/project/s-xml/")
3280 (synopsis "Simple XML parser implemented in Common Lisp")
3281 (description
3282 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3283 parser implementation has the following features:
3284
3285 @itemize
3286 @item It works (handling many common XML usages).
3287 @item It is very small (the core is about 700 lines of code, including
3288 comments and whitespace).
3289 @item It has a core API that is simple, efficient and pure functional, much
3290 like that from SSAX (see also http://ssax.sourceforge.net).
3291 @item It supports different DOM models: an XSML-based one, an LXML-based one
3292 and a classic xml-element struct based one.
3293 @item It is reasonably time and space efficient (internally avoiding garbage
3294 generatation as much as possible).
3295 @item It does support CDATA.
3296 @item It should support the same character sets as your Common Lisp
3297 implementation.
3298 @item It does support XML name spaces.
3299 @end itemize
3300
3301 This XML parser implementation has the following limitations:
3302
3303 @itemize
3304 @item It does not support any special tags (like processing instructions).
3305 @item It is not validating, even skips DTD's all together.
3306 @end itemize\n")
3307 (license license:lgpl3+)))
3308
3309 (define-public cl-s-xml
3310 (sbcl-package->cl-source-package sbcl-s-xml))
3311
3312 (define-public ecl-s-xml
3313 (sbcl-package->ecl-package sbcl-s-xml))
3314
3315 (define-public sbcl-s-xml-rpc
3316 (package
3317 (name "sbcl-s-xml-rpc")
3318 (version "7")
3319 (source
3320 (origin
3321 (method url-fetch)
3322 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3323 (sha256
3324 (base32
3325 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3326 (build-system asdf-build-system/sbcl)
3327 (inputs
3328 `(("s-xml" ,sbcl-s-xml)))
3329 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3330 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3331 (description
3332 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3333 client and server.")
3334 (license license:lgpl3+)))
3335
3336 (define-public cl-s-xml-rpc
3337 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3338
3339 (define-public ecl-s-xml-rpc
3340 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3341
3342 (define-public sbcl-trivial-arguments
3343 (let ((commit "ecd84ed9cf9ef8f1e873d7409e6bd04979372aa7")
3344 (revision "1"))
3345 (package
3346 (name "sbcl-trivial-arguments")
3347 (version (git-version "1.1.0" revision commit))
3348 (source
3349 (origin
3350 (method git-fetch)
3351 (uri (git-reference
3352 (url "https://github.com/Shinmera/trivial-arguments")
3353 (commit commit)))
3354 (file-name (git-file-name "trivial-arguments" version))
3355 (sha256
3356 (base32 "02vaqfavhj8jqxnr68nnzvzshm8jbgcy6m9lvyv4daa6f7ihqf88"))))
3357 (build-system asdf-build-system/sbcl)
3358 (home-page "https://github.com/Shinmera/trivial-arguments")
3359 (synopsis "Common Lisp library to retrieve a function's lambda-list")
3360 (description
3361 "This is a simple library to retrieve the argument list of a function.")
3362 (license license:zlib))))
3363
3364 (define-public ecl-trivial-arguments
3365 (sbcl-package->ecl-package sbcl-trivial-arguments))
3366
3367 (define-public cl-trivial-arguments
3368 (sbcl-package->cl-source-package sbcl-trivial-arguments))
3369
3370 (define-public sbcl-trivial-clipboard
3371 (let ((commit "afcd3743b842f5a81fc86dba60f9db59970f49c5"))
3372 (package
3373 (name "sbcl-trivial-clipboard")
3374 (version (git-version "0.0.0.0" "3" commit))
3375 (source
3376 (origin
3377 (method git-fetch)
3378 (uri (git-reference
3379 (url "https://github.com/snmsts/trivial-clipboard")
3380 (commit commit)))
3381 (file-name (git-file-name "trivial-clipboard" version))
3382 (sha256
3383 (base32
3384 "1qfbvkzmvkbqpc5s3sx31c5653sy6qlcixafgzd10qpykb843prr"))))
3385 (build-system asdf-build-system/sbcl)
3386 (inputs
3387 `(("xclip" ,xclip)))
3388 (native-inputs
3389 `(("fiveam" ,sbcl-fiveam)))
3390 (arguments
3391 `(#:phases
3392 (modify-phases %standard-phases
3393 (add-after 'unpack 'fix-paths
3394 (lambda* (#:key inputs #:allow-other-keys)
3395 (substitute* "src/text.lisp"
3396 (("\\(executable-find \"xclip\"\\)")
3397 (string-append "(executable-find \""
3398 (assoc-ref inputs "xclip")
3399 "/bin/xclip\")"))))))))
3400 (home-page "https://github.com/snmsts/trivial-clipboard")
3401 (synopsis "Access system clipboard in Common Lisp")
3402 (description
3403 "@command{trivial-clipboard} gives access to the system clipboard.")
3404 (license license:expat))))
3405
3406 (define-public cl-trivial-clipboard
3407 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3408
3409 (define-public ecl-trivial-clipboard
3410 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3411
3412 (define-public sbcl-trivial-backtrace
3413 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3414 (revision "1"))
3415 (package
3416 (name "sbcl-trivial-backtrace")
3417 (version (git-version "0.0.0" revision commit))
3418 (source
3419 (origin
3420 (method git-fetch)
3421 (uri (git-reference
3422 (url "https://github.com/gwkkwg/trivial-backtrace")
3423 (commit commit)))
3424 (file-name (git-file-name "trivial-backtrace" version))
3425 (sha256
3426 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3427 (build-system asdf-build-system/sbcl)
3428 (inputs
3429 `(("sbcl-lift" ,sbcl-lift)))
3430 (arguments
3431 `(#:phases
3432 (modify-phases %standard-phases
3433 (add-after 'check 'delete-test-results
3434 (lambda* (#:key outputs #:allow-other-keys)
3435 (let ((test-results (string-append (assoc-ref outputs "out")
3436 "/share/common-lisp/"
3437 (%lisp-type)
3438 "/trivial-backtrace"
3439 "/test-results")))
3440 (when (file-exists? test-results)
3441 (delete-file-recursively test-results)))
3442 #t)))))
3443 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3444 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3445 (description
3446 "One of the many things that didn't quite get into the Common Lisp
3447 standard was how to get a Lisp to output its call stack when something has
3448 gone wrong. As such, each Lisp has developed its own notion of what to
3449 display, how to display it, and what sort of arguments can be used to
3450 customize it. @code{trivial-backtrace} is a simple solution to generating a
3451 backtrace portably.")
3452 (license license:expat))))
3453
3454 (define-public cl-trivial-backtrace
3455 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3456
3457 (define-public ecl-trivial-backtrace
3458 (sbcl-package->ecl-package sbcl-trivial-backtrace))
3459
3460 (define-public sbcl-rfc2388
3461 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3462 (revision "1"))
3463 (package
3464 (name "sbcl-rfc2388")
3465 (version (git-version "0.0.0" revision commit))
3466 (source
3467 (origin
3468 (method git-fetch)
3469 (uri (git-reference
3470 (url "https://github.com/jdz/rfc2388")
3471 (commit commit)))
3472 (file-name (git-file-name "rfc2388" version))
3473 (sha256
3474 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3475 (build-system asdf-build-system/sbcl)
3476 (home-page "https://github.com/jdz/rfc2388/")
3477 (synopsis "An implementation of RFC 2388 in Common Lisp")
3478 (description
3479 "This package contains an implementation of RFC 2388, which is used to
3480 process form data posted with HTTP POST method using enctype
3481 \"multipart/form-data\".")
3482 (license license:bsd-2))))
3483
3484 (define-public cl-rfc2388
3485 (sbcl-package->cl-source-package sbcl-rfc2388))
3486
3487 (define-public ecl-rfc2388
3488 (sbcl-package->ecl-package sbcl-rfc2388))
3489
3490 (define-public sbcl-md5
3491 (package
3492 (name "sbcl-md5")
3493 (version "2.0.4")
3494 (source
3495 (origin
3496 (method git-fetch)
3497 (uri (git-reference
3498 (url "https://github.com/pmai/md5")
3499 (commit (string-append "release-" version))))
3500 (file-name (git-file-name "md5" version))
3501 (sha256
3502 (base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
3503 (build-system asdf-build-system/sbcl)
3504 (home-page "https://github.com/pmai/md5")
3505 (synopsis
3506 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3507 (description
3508 "This package implements The MD5 Message-Digest Algorithm, as defined in
3509 RFC 1321 by R. Rivest, published April 1992.")
3510 (license license:public-domain)))
3511
3512 (define-public cl-md5
3513 (sbcl-package->cl-source-package sbcl-md5))
3514
3515 (define-public ecl-md5
3516 (package
3517 (inherit (sbcl-package->ecl-package sbcl-md5))
3518 (inputs
3519 `(("flexi-streams" ,ecl-flexi-streams)))))
3520
3521 (define-public sbcl-cl+ssl
3522 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
3523 (revision "1"))
3524 (package
3525 (name "sbcl-cl+ssl")
3526 (version (git-version "0.0.0" revision commit))
3527 (source
3528 (origin
3529 (method git-fetch)
3530 (uri (git-reference
3531 (url "https://github.com/cl-plus-ssl/cl-plus-ssl")
3532 (commit commit)))
3533 (file-name (git-file-name "cl+ssl" version))
3534 (sha256
3535 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
3536 (build-system asdf-build-system/sbcl)
3537 (arguments
3538 '(#:phases
3539 (modify-phases %standard-phases
3540 (add-after 'unpack 'fix-paths
3541 (lambda* (#:key inputs #:allow-other-keys)
3542 (substitute* "src/reload.lisp"
3543 (("libssl.so" all)
3544 (string-append
3545 (assoc-ref inputs "openssl") "/lib/" all))))))))
3546 (inputs
3547 `(("openssl" ,openssl)
3548 ("sbcl-cffi" ,sbcl-cffi)
3549 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3550 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3551 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3552 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3553 ("sbcl-alexandria" ,sbcl-alexandria)
3554 ("sbcl-trivial-features" ,sbcl-trivial-features)))
3555 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
3556 (synopsis "Common Lisp bindings to OpenSSL")
3557 (description
3558 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3559 code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3560 Development into CL+SSL was done by David Lichteblau.")
3561 (license license:expat))))
3562
3563 (define-public cl-cl+ssl
3564 (sbcl-package->cl-source-package sbcl-cl+ssl))
3565
3566 (define-public ecl-cl+ssl
3567 (sbcl-package->ecl-package sbcl-cl+ssl))
3568
3569 (define-public sbcl-kmrcl
3570 (let ((version "1.111")
3571 (commit "4a27407aad9deb607ffb8847630cde3d041ea25a")
3572 (revision "1"))
3573 (package
3574 (name "sbcl-kmrcl")
3575 (version (git-version version revision commit))
3576 (source
3577 (origin
3578 (method git-fetch)
3579 (uri (git-reference
3580 (url "http://git.kpe.io/kmrcl.git/")
3581 (commit commit)))
3582 (file-name (git-file-name name version))
3583 (sha256
3584 (base32 "06gx04mah5nc8w78s0j8628divbf1s5w7af8w7pvzb2d5mgvrbd2"))))
3585 (build-system asdf-build-system/sbcl)
3586 (inputs
3587 `(("sbcl-rt" ,sbcl-rt)))
3588 (home-page "http://files.kpe.io/kmrcl/")
3589 (synopsis "General utilities for Common Lisp programs")
3590 (description
3591 "KMRCL is a collection of utilities used by a number of Kevin
3592 Rosenberg's Common Lisp packages.")
3593 (license license:llgpl))))
3594
3595 (define-public cl-kmrcl
3596 (sbcl-package->cl-source-package sbcl-kmrcl))
3597
3598 (define-public ecl-kmrcl
3599 (sbcl-package->ecl-package sbcl-kmrcl))
3600
3601 (define-public sbcl-cl-base64
3602 ;; 3.3.4 tests are broken, upstream fixes them.
3603 (let ((commit "577683b18fd880b82274d99fc96a18a710e3987a"))
3604 (package
3605 (name "sbcl-cl-base64")
3606 (version (git-version "3.3.4" "1" commit))
3607 (source
3608 (origin
3609 (method git-fetch)
3610 (uri (git-reference
3611 (url "http://git.kpe.io/cl-base64.git/")
3612 (commit commit)))
3613 (file-name (git-file-name name version))
3614 (sha256
3615 (base32 "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj"))))
3616 (build-system asdf-build-system/sbcl)
3617 (native-inputs ; For tests.
3618 `(("sbcl-ptester" ,sbcl-ptester)
3619 ("sbcl-kmrcl" ,sbcl-kmrcl)))
3620 (home-page "http://files.kpe.io/cl-base64/")
3621 (synopsis
3622 "Common Lisp package to encode and decode base64 with URI support")
3623 (description
3624 "This package provides highly optimized base64 encoding and decoding.
3625 Besides conversion to and from strings, integer conversions are supported.
3626 Encoding with Uniform Resource Identifiers is supported by using a modified
3627 encoding table that uses only URI-compatible characters.")
3628 (license license:bsd-3))))
3629
3630 (define-public cl-base64
3631 (sbcl-package->cl-source-package sbcl-cl-base64))
3632
3633 (define-public ecl-cl-base64
3634 (sbcl-package->ecl-package sbcl-cl-base64))
3635
3636 (define-public sbcl-chunga
3637 (package
3638 (name "sbcl-chunga")
3639 (version "1.1.7")
3640 (source
3641 (origin
3642 (method git-fetch)
3643 (uri (git-reference
3644 (url "https://github.com/edicl/chunga")
3645 (commit (string-append "v" version))))
3646 (file-name (git-file-name name version))
3647 (sha256
3648 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
3649 (build-system asdf-build-system/sbcl)
3650 (inputs
3651 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3652 (home-page "https://edicl.github.io/chunga/")
3653 (synopsis "Portable chunked streams for Common Lisp")
3654 (description
3655 "Chunga implements streams capable of chunked encoding on demand as
3656 defined in RFC 2616.")
3657 (license license:bsd-2)))
3658
3659 (define-public cl-chunga
3660 (sbcl-package->cl-source-package sbcl-chunga))
3661
3662 (define-public ecl-chunga
3663 (sbcl-package->ecl-package sbcl-chunga))
3664
3665 (define-public sbcl-cl-who
3666 (let ((version "1.1.4")
3667 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
3668 (revision "1"))
3669 (package
3670 (name "sbcl-cl-who")
3671 (version (git-version version revision commit))
3672 (source
3673 (origin
3674 (method git-fetch)
3675 (uri (git-reference
3676 (url "https://github.com/edicl/cl-who")
3677 (commit commit)))
3678 (file-name (git-file-name name version))
3679 (sha256
3680 (base32
3681 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
3682 (build-system asdf-build-system/sbcl)
3683 (native-inputs
3684 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3685 (home-page "https://edicl.github.io/cl-who/")
3686 (synopsis "Yet another Lisp markup language")
3687 (description
3688 "There are plenty of Lisp Markup Languages out there - every Lisp
3689 programmer seems to write at least one during his career - and CL-WHO (where
3690 WHO means \"with-html-output\" for want of a better acronym) is probably just
3691 as good or bad as the next one.")
3692 (license license:bsd-2))))
3693
3694 (define-public cl-who
3695 (sbcl-package->cl-source-package sbcl-cl-who))
3696
3697 (define-public ecl-cl-who
3698 (sbcl-package->ecl-package sbcl-cl-who))
3699
3700 (define-public sbcl-chipz
3701 (let ((version "0.8")
3702 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
3703 (revision "1"))
3704 (package
3705 (name "sbcl-chipz")
3706 (version (git-version version revision commit))
3707 (source
3708 (origin
3709 (method git-fetch)
3710 (uri (git-reference
3711 (url "https://github.com/froydnj/chipz")
3712 (commit commit)))
3713 (file-name (git-file-name name version))
3714 (sha256
3715 (base32
3716 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
3717 (build-system asdf-build-system/sbcl)
3718 (native-inputs
3719 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3720 (home-page "http://method-combination.net/lisp/chipz/")
3721 (synopsis
3722 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
3723 data")
3724 (description
3725 "DEFLATE data, defined in RFC1951, forms the core of popular
3726 compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
3727 Chipz also provides for decompressing data in those formats as well. BZIP2 is
3728 the format used by the popular compression tool bzip2.")
3729 ;; The author describes it as "MIT-like"
3730 (license license:expat))))
3731
3732 (define-public cl-chipz
3733 (sbcl-package->cl-source-package sbcl-chipz))
3734
3735 (define-public ecl-chipz
3736 (sbcl-package->ecl-package sbcl-chipz))
3737
3738 (define-public sbcl-drakma
3739 (package
3740 (name "sbcl-drakma")
3741 (version "2.0.7")
3742 (source
3743 (origin
3744 (method git-fetch)
3745 (uri (git-reference
3746 (url "https://github.com/edicl/drakma")
3747 (commit (string-append "v" version))))
3748 (file-name (git-file-name name version))
3749 (sha256
3750 (base32
3751 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
3752 (build-system asdf-build-system/sbcl)
3753 (inputs
3754 `(("sbcl-puri" ,sbcl-puri)
3755 ("sbcl-cl-base64" ,sbcl-cl-base64)
3756 ("sbcl-chunga" ,sbcl-chunga)
3757 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3758 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3759 ("sbcl-chipz" ,sbcl-chipz)
3760 ("sbcl-usocket" ,sbcl-usocket)
3761 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
3762 (native-inputs
3763 `(("sbcl-fiveam" ,sbcl-fiveam)))
3764 (home-page "https://edicl.github.io/drakma/")
3765 (synopsis "HTTP client written in Common Lisp")
3766 (description
3767 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
3768 knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
3769 sockets, SSL, continuable uploads, file uploads, cookies, and more.")
3770 (license license:bsd-2)))
3771
3772 (define-public cl-drakma
3773 (sbcl-package->cl-source-package sbcl-drakma))
3774
3775 (define-public ecl-drakma
3776 (sbcl-package->ecl-package sbcl-drakma))
3777
3778 (define-public sbcl-hunchentoot
3779 (package
3780 (name "sbcl-hunchentoot")
3781 (version "1.2.38")
3782 (source
3783 (origin
3784 (method git-fetch)
3785 (uri (git-reference
3786 (url "https://github.com/edicl/hunchentoot")
3787 (commit (string-append "v" version))))
3788 (file-name (git-file-name "hunchentoot" version))
3789 (sha256
3790 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
3791 (build-system asdf-build-system/sbcl)
3792 (native-inputs
3793 `(("sbcl-cl-who" ,sbcl-cl-who)
3794 ("sbcl-drakma" ,sbcl-drakma)))
3795 (inputs
3796 `(("sbcl-chunga" ,sbcl-chunga)
3797 ("sbcl-cl-base64" ,sbcl-cl-base64)
3798 ("sbcl-cl-fad" ,sbcl-cl-fad)
3799 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3800 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3801 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
3802 ("sbcl-md5" ,sbcl-md5)
3803 ("sbcl-rfc2388" ,sbcl-rfc2388)
3804 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
3805 ("sbcl-usocket" ,sbcl-usocket)))
3806 (home-page "https://edicl.github.io/hunchentoot/")
3807 (synopsis "Web server written in Common Lisp")
3808 (description
3809 "Hunchentoot is a web server written in Common Lisp and at the same
3810 time a toolkit for building dynamic websites. As a stand-alone web server,
3811 Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
3812 connections (keep-alive), and SSL.")
3813 (license license:bsd-2)))
3814
3815 (define-public cl-hunchentoot
3816 (sbcl-package->cl-source-package sbcl-hunchentoot))
3817
3818 (define-public ecl-hunchentoot
3819 (package
3820 (inherit (sbcl-package->ecl-package sbcl-hunchentoot))
3821 (arguments
3822 ;; Tests fail on ECL with 'Socket error in "socket": EINVAL'.
3823 '(#:tests? #f))))
3824
3825 (define-public sbcl-trivial-types
3826 (package
3827 (name "sbcl-trivial-types")
3828 (version "0.0.1")
3829 (source
3830 (origin
3831 (method git-fetch)
3832 (uri (git-reference
3833 (url "https://github.com/m2ym/trivial-types")
3834 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
3835 (file-name (git-file-name name version))
3836 (sha256
3837 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
3838 (build-system asdf-build-system/sbcl)
3839 (home-page "https://github.com/m2ym/trivial-types")
3840 (synopsis "Trivial type definitions for Common Lisp")
3841 (description
3842 "TRIVIAL-TYPES provides missing but important type definitions such as
3843 PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
3844 (license license:llgpl)))
3845
3846 (define-public cl-trivial-types
3847 (sbcl-package->cl-source-package sbcl-trivial-types))
3848
3849 (define-public ecl-trivial-types
3850 (sbcl-package->ecl-package sbcl-trivial-types))
3851
3852 (define-public sbcl-cl-annot
3853 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
3854 (revision "1"))
3855 (package
3856 (name "sbcl-cl-annot")
3857 (version (git-version "0.0.0" revision commit))
3858 (source
3859 (origin
3860 (method git-fetch)
3861 (uri (git-reference
3862 (url "https://github.com/m2ym/cl-annot")
3863 (commit commit)))
3864 (file-name (git-file-name name version))
3865 (sha256
3866 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
3867 (build-system asdf-build-system/sbcl)
3868 (inputs
3869 `(("sbcl-alexandria" ,sbcl-alexandria)))
3870 (home-page "https://github.com/m2ym/cl-annot")
3871 (synopsis "Python-like Annotation Syntax for Common Lisp.")
3872 (description
3873 "@code{cl-annot} is an general annotation library for Common Lisp.")
3874 (license license:llgpl))))
3875
3876 (define-public cl-annot
3877 (sbcl-package->cl-source-package sbcl-cl-annot))
3878
3879 (define-public ecl-cl-annot
3880 (sbcl-package->ecl-package sbcl-cl-annot))
3881
3882 (define-public sbcl-cl-syntax
3883 (package
3884 (name "sbcl-cl-syntax")
3885 (version "0.0.3")
3886 (source
3887 (origin
3888 (method git-fetch)
3889 (uri (git-reference
3890 (url "https://github.com/m2ym/cl-syntax")
3891 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
3892 (file-name (git-file-name "cl-syntax" version))
3893 (sha256
3894 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
3895 (build-system asdf-build-system/sbcl)
3896 (inputs
3897 `(("cl-annot" ,sbcl-cl-annot)
3898 ("cl-interpol" ,sbcl-cl-interpol)
3899 ("named-readtables" ,sbcl-named-readtables)
3900 ("trivial-types" ,sbcl-trivial-types)))
3901 (arguments
3902 '(#:asd-systems '("cl-syntax"
3903 "cl-syntax-annot"
3904 "cl-syntax-interpol")))
3905 (home-page "https://github.com/m2ym/cl-syntax")
3906 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
3907 (description
3908 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
3909 (license license:llgpl)))
3910
3911 (define-public cl-syntax
3912 (sbcl-package->cl-source-package sbcl-cl-syntax))
3913
3914 (define-public ecl-cl-syntax
3915 (sbcl-package->ecl-package sbcl-cl-syntax))
3916
3917 (define-public sbcl-cl-utilities
3918 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
3919 (revision "1"))
3920 (package
3921 (name "sbcl-cl-utilities")
3922 (version (git-version "0.0.0" revision commit))
3923 (source
3924 (origin
3925 (method url-fetch)
3926 (uri
3927 (string-append
3928 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
3929 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
3930 (sha256
3931 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
3932 (build-system asdf-build-system/sbcl)
3933 (arguments
3934 '(#:phases
3935 (modify-phases %standard-phases
3936 (add-after 'unpack 'fix-paths
3937 (lambda* (#:key inputs #:allow-other-keys)
3938 (substitute* "rotate-byte.lisp"
3939 (("in-package :cl-utilities)" all)
3940 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
3941 (home-page "http://common-lisp.net/project/cl-utilities")
3942 (synopsis "A collection of semi-standard utilities")
3943 (description
3944 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
3945 is a collection of Common Lisp Utilities, things that everybody writes since
3946 they're not part of the official standard. There are some very useful things
3947 there; the only problems are that they aren't implemented as well as you'd
3948 like (some aren't implemented at all) and they aren't conveniently packaged
3949 and maintained. It takes quite a bit of work to carefully implement utilities
3950 for common use, commented and documented, with error checking placed
3951 everywhere some dumb user might make a mistake.")
3952 (license license:public-domain))))
3953
3954 (define-public cl-utilities
3955 (sbcl-package->cl-source-package sbcl-cl-utilities))
3956
3957 (define-public ecl-cl-utilities
3958 (sbcl-package->ecl-package sbcl-cl-utilities))
3959
3960 (define-public sbcl-map-set
3961 (let ((commit "7b4b545b68b8")
3962 (revision "1"))
3963 (package
3964 (name "sbcl-map-set")
3965 (version (git-version "0.0.0" revision commit))
3966 (source
3967 (origin
3968 (method url-fetch)
3969 (uri (string-append
3970 "https://bitbucket.org/tarballs_are_good/map-set/get/"
3971 commit ".tar.gz"))
3972 (sha256
3973 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
3974 (build-system asdf-build-system/sbcl)
3975 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
3976 (synopsis "Set-like data structure")
3977 (description
3978 "Implementation of a set-like data structure with constant time
3979 addition, removal, and random selection.")
3980 (license license:bsd-3))))
3981
3982 (define-public cl-map-set
3983 (sbcl-package->cl-source-package sbcl-map-set))
3984
3985 (define-public ecl-map-set
3986 (sbcl-package->ecl-package sbcl-map-set))
3987
3988 (define-public sbcl-quri
3989 (let ((commit "d7f2720568146c6674187f625f115925e6364a7f")
3990 (revision "4"))
3991 (package
3992 (name "sbcl-quri")
3993 (version (git-version "0.1.0" revision commit))
3994 (source
3995 (origin
3996 (method git-fetch)
3997 (uri (git-reference
3998 (url "https://github.com/fukamachi/quri")
3999 (commit commit)))
4000 (file-name (git-file-name name version))
4001 (sha256
4002 (base32 "0yrcvz5ksfr7x8yx741vp65il0fxxaskppq3iyk9bq895s1jn37w"))))
4003 (build-system asdf-build-system/sbcl)
4004 (arguments
4005 ;; Test system must be loaded before, otherwise tests fail with:
4006 ;; Component QURI-ASD::QURI-TEST not found, required by #<SYSTEM
4007 ;; "quri">.
4008 '(#:asd-systems '("quri-test"
4009 "quri")))
4010 (native-inputs `(("sbcl-prove" ,sbcl-prove)))
4011 (inputs `(("sbcl-babel" ,sbcl-babel)
4012 ("sbcl-split-sequence" ,sbcl-split-sequence)
4013 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
4014 ("sbcl-alexandria" ,sbcl-alexandria)))
4015 (home-page "https://github.com/fukamachi/quri")
4016 (synopsis "Yet another URI library for Common Lisp")
4017 (description
4018 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
4019 Lisp. It is intended to be a replacement of PURI.")
4020 (license license:bsd-3))))
4021
4022 (define-public cl-quri
4023 (sbcl-package->cl-source-package sbcl-quri))
4024
4025 (define-public ecl-quri
4026 (sbcl-package->ecl-package sbcl-quri))
4027
4028 (define-public sbcl-myway
4029 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
4030 (revision "1"))
4031 (package
4032 (name "sbcl-myway")
4033 (version (git-version "0.1.0" revision commit))
4034 (source
4035 (origin
4036 (method git-fetch)
4037 (uri (git-reference
4038 (url "https://github.com/fukamachi/myway")
4039 (commit commit)))
4040 (file-name (git-file-name "myway" version))
4041 (sha256
4042 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
4043 (build-system asdf-build-system/sbcl)
4044 (arguments
4045 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
4046 ;; by #<SYSTEM "myway">. Why?
4047 '(#:tests? #f))
4048 (native-inputs
4049 `(("sbcl-prove" ,sbcl-prove)))
4050 (inputs
4051 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4052 ("sbcl-quri" ,sbcl-quri)
4053 ("sbcl-map-set" ,sbcl-map-set)))
4054 (home-page "https://github.com/fukamachi/myway")
4055 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
4056 (description "My Way is a Sinatra-compatible URL routing library.")
4057 (license license:llgpl))))
4058
4059 (define-public cl-myway
4060 (sbcl-package->cl-source-package sbcl-myway))
4061
4062 (define-public ecl-myway
4063 (sbcl-package->ecl-package sbcl-myway))
4064
4065 (define-public sbcl-xsubseq
4066 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
4067 (revision "1"))
4068 (package
4069 (name "sbcl-xsubseq")
4070 (version (git-version "0.0.1" revision commit))
4071 (source
4072 (origin
4073 (method git-fetch)
4074 (uri (git-reference
4075 (url "https://github.com/fukamachi/xsubseq")
4076 (commit commit)))
4077 (file-name (git-file-name name version))
4078 (sha256
4079 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4080 (build-system asdf-build-system/sbcl)
4081 (arguments
4082 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4083 ;; required by #<SYSTEM "xsubseq">. Why?
4084 '(#:tests? #f))
4085 (native-inputs
4086 `(("sbcl-prove" ,sbcl-prove)))
4087 (home-page "https://github.com/fukamachi/xsubseq")
4088 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4089 (description
4090 "XSubseq provides functions to be able to handle \"subseq\"s more
4091 effieiently.")
4092 (license license:bsd-2))))
4093
4094 (define-public cl-xsubseq
4095 (sbcl-package->cl-source-package sbcl-xsubseq))
4096
4097 (define-public ecl-xsubseq
4098 (sbcl-package->ecl-package sbcl-xsubseq))
4099
4100 (define-public sbcl-smart-buffer
4101 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4102 (revision "1"))
4103 (package
4104 (name "sbcl-smart-buffer")
4105 (version (git-version "0.0.1" revision commit))
4106 (source
4107 (origin
4108 (method git-fetch)
4109 (uri (git-reference
4110 (url "https://github.com/fukamachi/smart-buffer")
4111 (commit commit)))
4112 (file-name (git-file-name name version))
4113 (sha256
4114 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4115 (build-system asdf-build-system/sbcl)
4116 (arguments
4117 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4118 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4119 `(#:tests? #f))
4120 (native-inputs
4121 `(("sbcl-prove" ,sbcl-prove)))
4122 (inputs
4123 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4124 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4125 (home-page "https://github.com/fukamachi/smart-buffer")
4126 (synopsis "Smart octets buffer")
4127 (description
4128 "Smart-buffer provides an output buffer which changes the destination
4129 depending on content size.")
4130 (license license:bsd-3))))
4131
4132 (define-public cl-smart-buffer
4133 (sbcl-package->cl-source-package sbcl-smart-buffer))
4134
4135 (define-public ecl-smart-buffer
4136 (sbcl-package->ecl-package sbcl-smart-buffer))
4137
4138 (define-public sbcl-fast-http
4139 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
4140 (revision "2"))
4141 (package
4142 (name "sbcl-fast-http")
4143 (version (git-version "0.2.0" revision commit))
4144 (source
4145 (origin
4146 (method git-fetch)
4147 (uri (git-reference
4148 (url "https://github.com/fukamachi/fast-http")
4149 (commit commit)))
4150 (file-name (git-file-name name version))
4151 (sha256
4152 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
4153 (build-system asdf-build-system/sbcl)
4154 (arguments
4155 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4156 ;; required by #<SYSTEM "fast-http">. Why?
4157 `(#:tests? #f))
4158 (native-inputs
4159 `(("sbcl-prove" ,sbcl-prove)
4160 ("cl-syntax" ,sbcl-cl-syntax)))
4161 (inputs
4162 `(("sbcl-alexandria" ,sbcl-alexandria)
4163 ("sbcl-proc-parse" ,sbcl-proc-parse)
4164 ("sbcl-xsubseq" ,sbcl-xsubseq)
4165 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4166 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4167 (home-page "https://github.com/fukamachi/fast-http")
4168 (synopsis "HTTP request/response parser for Common Lisp")
4169 (description
4170 "@code{fast-http} is a HTTP request/response protocol parser for Common
4171 Lisp.")
4172 ;; Author specified the MIT license
4173 (license license:expat))))
4174
4175 (define-public cl-fast-http
4176 (sbcl-package->cl-source-package sbcl-fast-http))
4177
4178 (define-public ecl-fast-http
4179 (sbcl-package->ecl-package sbcl-fast-http))
4180
4181 (define-public sbcl-static-vectors
4182 (package
4183 (name "sbcl-static-vectors")
4184 (version "1.8.6")
4185 (source
4186 (origin
4187 (method git-fetch)
4188 (uri (git-reference
4189 (url "https://github.com/sionescu/static-vectors")
4190 (commit (string-append "v" version))))
4191 (file-name (git-file-name name version))
4192 (sha256
4193 (base32 "01hwxzhyjkhsd3949g70120g7msw01byf0ia0pbj319q1a3cq7j9"))))
4194 (native-inputs
4195 `(("sbcl-fiveam" ,sbcl-fiveam)))
4196 (inputs
4197 `(("sbcl-alexandria" ,sbcl-alexandria)
4198 ("sbcl-cffi" ,sbcl-cffi)))
4199 (build-system asdf-build-system/sbcl)
4200 (home-page "https://github.com/sionescu/static-vectors")
4201 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4202 (description
4203 "With @code{static-vectors}, you can create vectors allocated in static
4204 memory.")
4205 (license license:expat)))
4206
4207 (define-public cl-static-vectors
4208 (sbcl-package->cl-source-package sbcl-static-vectors))
4209
4210 (define-public ecl-static-vectors
4211 (sbcl-package->ecl-package sbcl-static-vectors))
4212
4213 (define-public sbcl-marshal
4214 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4215 (revision "1"))
4216 (package
4217 (name "sbcl-marshal")
4218 (version (git-version "1.3.0" revision commit))
4219 (source
4220 (origin
4221 (method git-fetch)
4222 (uri (git-reference
4223 (url "https://github.com/wlbr/cl-marshal")
4224 (commit commit)))
4225 (file-name (git-file-name name version))
4226 (sha256
4227 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4228 (build-system asdf-build-system/sbcl)
4229 (home-page "https://github.com/wlbr/cl-marshal")
4230 (synopsis "Simple (de)serialization of Lisp datastructures")
4231 (description
4232 "Simple and fast marshalling of Lisp datastructures. Convert any object
4233 into a string representation, put it on a stream an revive it from there.
4234 Only minimal changes required to make your CLOS objects serializable.")
4235 (license license:expat))))
4236
4237 (define-public cl-marshal
4238 (sbcl-package->cl-source-package sbcl-marshal))
4239
4240 (define-public ecl-marshal
4241 (sbcl-package->ecl-package sbcl-marshal))
4242
4243 (define-public sbcl-checkl
4244 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4245 (revision "1"))
4246 (package
4247 (name "sbcl-checkl")
4248 (version (git-version "0.0.0" revision commit))
4249 (source
4250 (origin
4251 (method git-fetch)
4252 (uri (git-reference
4253 (url "https://github.com/rpav/CheckL")
4254 (commit commit)))
4255 (file-name (git-file-name name version))
4256 (sha256
4257 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4258 (build-system asdf-build-system/sbcl)
4259 (arguments
4260 ;; Error while trying to load definition for system checkl-test from
4261 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4262 ;; is undefined.
4263 '(#:asd-files '("checkl.asd")
4264 #:tests? #f))
4265 (native-inputs
4266 `(("sbcl-fiveam" ,sbcl-fiveam)))
4267 (inputs
4268 `(("sbcl-marshal" ,sbcl-marshal)))
4269 (home-page "https://github.com/rpav/CheckL/")
4270 (synopsis "Dynamic testing for Common Lisp")
4271 (description
4272 "CheckL lets you write tests dynamically, it checks resulting values
4273 against the last run.")
4274 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4275 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4276 ;; stronger of the two and so I think only listing this should suffice.
4277 (license license:llgpl))))
4278
4279 (define-public cl-checkl
4280 (sbcl-package->cl-source-package sbcl-checkl))
4281
4282 (define-public ecl-checkl
4283 (sbcl-package->ecl-package sbcl-checkl))
4284
4285 (define-public sbcl-fast-io
4286 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
4287 (revision "2"))
4288 (package
4289 (name "sbcl-fast-io")
4290 (version (git-version "1.0.0" revision commit))
4291 (source
4292 (origin
4293 (method git-fetch)
4294 (uri (git-reference
4295 (url "https://github.com/rpav/fast-io")
4296 (commit commit)))
4297 (file-name (git-file-name name version))
4298 (sha256
4299 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
4300 (build-system asdf-build-system/sbcl)
4301 (arguments
4302 ;; Error while trying to load definition for system fast-io-test from
4303 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4304 ;; is undefined.
4305 '(#:tests? #f
4306 #:asd-files '("fast-io.asd")))
4307 (native-inputs
4308 `(("sbcl-fiveam" ,sbcl-fiveam)
4309 ("sbcl-checkl" ,sbcl-checkl)))
4310 (inputs
4311 `(("sbcl-alexandria" ,sbcl-alexandria)
4312 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4313 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4314 (home-page "https://github.com/rpav/fast-io")
4315 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4316 (description
4317 "Fast-io is about improving performance to octet-vectors and octet
4318 streams (though primarily the former, while wrapping the latter).")
4319 ;; Author specifies this as NewBSD which is an alias
4320 (license license:bsd-3))))
4321
4322 (define-public cl-fast-io
4323 (sbcl-package->cl-source-package sbcl-fast-io))
4324
4325 (define-public ecl-fast-io
4326 (sbcl-package->ecl-package sbcl-fast-io))
4327
4328 (define-public sbcl-jonathan
4329 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4330 (revision "1"))
4331 (package
4332 (name "sbcl-jonathan")
4333 (version (git-version "0.1.0" revision commit))
4334 (source
4335 (origin
4336 (method git-fetch)
4337 (uri (git-reference
4338 (url "https://github.com/Rudolph-Miller/jonathan")
4339 (commit commit)))
4340 (file-name (git-file-name name version))
4341 (sha256
4342 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4343 (build-system asdf-build-system/sbcl)
4344 (arguments
4345 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4346 ;; required by #<SYSTEM "jonathan">. Why?
4347 `(#:tests? #f))
4348 (native-inputs
4349 `(("sbcl-prove" ,sbcl-prove)))
4350 (inputs
4351 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4352 ("sbcl-fast-io" ,sbcl-fast-io)
4353 ("sbcl-proc-parse" ,sbcl-proc-parse)
4354 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
4355 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
4356 (synopsis "JSON encoder and decoder")
4357 (description
4358 "High performance JSON encoder and decoder. Currently support: SBCL,
4359 CCL.")
4360 ;; Author specifies the MIT license
4361 (license license:expat))))
4362
4363 (define-public cl-jonathan
4364 (sbcl-package->cl-source-package sbcl-jonathan))
4365
4366 (define-public ecl-jonathan
4367 (sbcl-package->ecl-package sbcl-jonathan))
4368
4369 (define-public sbcl-http-body
4370 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4371 (revision "1"))
4372 (package
4373 (name "sbcl-http-body")
4374 (version (git-version "0.1.0" revision commit))
4375 (source
4376 (origin
4377 (method git-fetch)
4378 (uri (git-reference
4379 (url "https://github.com/fukamachi/http-body")
4380 (commit commit)))
4381 (file-name (git-file-name name version))
4382 (sha256
4383 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4384 (build-system asdf-build-system/sbcl)
4385 (arguments
4386 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4387 ;; found, required by #<SYSTEM "http-body">. Why?
4388 `(#:tests? #f))
4389 (native-inputs
4390 `(("sbcl-prove" ,sbcl-prove)))
4391 (inputs
4392 `(("sbcl-fast-http" ,sbcl-fast-http)
4393 ("sbcl-jonathan" ,sbcl-jonathan)
4394 ("sbcl-quri" ,sbcl-quri)))
4395 (home-page "https://github.com/fukamachi/http-body")
4396 (synopsis "HTTP POST data parser")
4397 (description
4398 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4399 supports application/x-www-form-urlencoded, application/json, and
4400 multipart/form-data.")
4401 (license license:bsd-2))))
4402
4403 (define-public cl-http-body
4404 (sbcl-package->cl-source-package sbcl-http-body))
4405
4406 (define-public ecl-http-body
4407 (sbcl-package->ecl-package sbcl-http-body))
4408
4409 (define-public sbcl-circular-streams
4410 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4411 (revision "1"))
4412 (package
4413 (name "sbcl-circular-streams")
4414 (version (git-version "0.1.0" revision commit))
4415 (source
4416 (origin
4417 (method git-fetch)
4418 (uri (git-reference
4419 (url "https://github.com/fukamachi/circular-streams")
4420 (commit commit)))
4421 (file-name (git-file-name name version))
4422 (sha256
4423 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4424 (build-system asdf-build-system/sbcl)
4425 (arguments
4426 ;; The tests depend on cl-test-more which is now prove. Prove
4427 ;; tests aren't working for some reason.
4428 `(#:tests? #f))
4429 (inputs
4430 `(("sbcl-fast-io" ,sbcl-fast-io)
4431 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4432 (home-page "https://github.com/fukamachi/circular-streams")
4433 (synopsis "Circularly readable streams for Common Lisp")
4434 (description
4435 "Circular-Streams allows you to read streams circularly by wrapping real
4436 streams. Once you reach end-of-file of a stream, it's file position will be
4437 reset to 0 and you're able to read it again.")
4438 (license license:llgpl))))
4439
4440 (define-public cl-circular-streams
4441 (sbcl-package->cl-source-package sbcl-circular-streams))
4442
4443 (define-public ecl-circular-streams
4444 (sbcl-package->ecl-package sbcl-circular-streams))
4445
4446 (define-public sbcl-lack
4447 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4448 (revision "1"))
4449 (package
4450 (name "sbcl-lack")
4451 (version (git-version "0.1.0" revision commit))
4452 (source
4453 (origin
4454 (method git-fetch)
4455 (uri (git-reference
4456 (url "https://github.com/fukamachi/lack")
4457 (commit commit)))
4458 (file-name (git-file-name "lack" version))
4459 (sha256
4460 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4461 (build-system asdf-build-system/sbcl)
4462 (native-inputs
4463 `(("prove" ,sbcl-prove)))
4464 (inputs
4465 `(("circular-streams" ,sbcl-circular-streams)
4466 ("http-body" ,sbcl-http-body)
4467 ("ironclad" ,sbcl-ironclad)
4468 ("local-time" ,sbcl-local-time)
4469 ("quri" ,sbcl-quri)
4470 ("trivial-mimes" ,sbcl-trivial-mimes)))
4471 (arguments
4472 '(#:asd-systems '("lack"
4473 "lack-request"
4474 "lack-response"
4475 "lack-component"
4476 "lack-util"
4477 "lack-middleware-backtrace"
4478 "lack-middleware-static")
4479 #:test-asd-file "t-lack.asd"
4480 ;; XXX: Component :CLACK not found
4481 #:tests? #f))
4482 (home-page "https://github.com/fukamachi/lack")
4483 (synopsis "Lack, the core of Clack")
4484 (description
4485 "Lack is a Common Lisp library which allows web applications to be
4486 constructed of modular components. It was originally a part of Clack, however
4487 it's going to be rewritten as an individual project since Clack v2 with
4488 performance and simplicity in mind.")
4489 (license license:llgpl))))
4490
4491 (define-public cl-lack
4492 (sbcl-package->cl-source-package sbcl-lack))
4493
4494 (define-public ecl-lack
4495 (sbcl-package->ecl-package sbcl-lack))
4496
4497 (define-public sbcl-local-time
4498 (let ((commit "a177eb911c0e8116e2bfceb79049265a884b701b")
4499 (revision "2"))
4500 (package
4501 (name "sbcl-local-time")
4502 (version (git-version "1.0.6" revision commit))
4503 (source
4504 (origin
4505 (method git-fetch)
4506 (uri (git-reference
4507 (url "https://github.com/dlowe-net/local-time")
4508 (commit commit)))
4509 (file-name (git-file-name name version))
4510 (sha256
4511 (base32 "0wld28xx20k0ysgg6akic5lg4vkjd0iyhv86m388xfrv8xh87wii"))))
4512 (build-system asdf-build-system/sbcl)
4513 (native-inputs
4514 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
4515 (home-page "https://common-lisp.net/project/local-time/")
4516 (synopsis "Time manipulation library for Common Lisp")
4517 (description
4518 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4519 dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4520 Long Painful History of Time\".")
4521 (license license:expat))))
4522
4523 (define-public cl-local-time
4524 (sbcl-package->cl-source-package sbcl-local-time))
4525
4526 (define-public ecl-local-time
4527 (sbcl-package->ecl-package sbcl-local-time))
4528
4529 (define-public sbcl-trivial-mimes
4530 (let ((commit "a741fc2f567a4f86b853fd4677d75e62c03e51d9")
4531 (revision "2"))
4532 (package
4533 (name "sbcl-trivial-mimes")
4534 (version (git-version "1.1.0" revision commit))
4535 (source
4536 (origin
4537 (method git-fetch)
4538 (uri (git-reference
4539 (url "https://github.com/Shinmera/trivial-mimes")
4540 (commit commit)))
4541 (file-name (git-file-name name version))
4542 (sha256
4543 (base32 "00kcm17q5plpzdj1qwg83ldhxksilgpcdkf3m9azxcdr968xs9di"))))
4544 (build-system asdf-build-system/sbcl)
4545 (native-inputs
4546 `(("stefil" ,sbcl-hu.dwim.stefil)))
4547 (inputs
4548 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4549 (home-page "https://shinmera.github.io/trivial-mimes/")
4550 (synopsis "Tiny Common Lisp library to detect mime types in files")
4551 (description
4552 "This is a teensy library that provides some functions to determine the
4553 mime-type of a file.")
4554 (license license:zlib))))
4555
4556 (define-public cl-trivial-mimes
4557 (sbcl-package->cl-source-package sbcl-trivial-mimes))
4558
4559 (define-public ecl-trivial-mimes
4560 (sbcl-package->ecl-package sbcl-trivial-mimes))
4561
4562 (define-public sbcl-ningle
4563 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
4564 (revision "1"))
4565 (package
4566 (name "sbcl-ningle")
4567 (version (git-version "0.3.0" revision commit))
4568 (source
4569 (origin
4570 (method git-fetch)
4571 (uri (git-reference
4572 (url "https://github.com/fukamachi/ningle")
4573 (commit commit)))
4574 (file-name (git-file-name name version))
4575 (sha256
4576 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
4577 (build-system asdf-build-system/sbcl)
4578 (arguments
4579 ;; TODO: pull in clack-test
4580 '(#:tests? #f
4581 #:phases
4582 (modify-phases %standard-phases
4583 (delete 'cleanup-files)
4584 (delete 'cleanup)
4585 (add-before 'cleanup 'combine-fasls
4586 (lambda* (#:key outputs #:allow-other-keys)
4587 (let* ((out (assoc-ref outputs "out"))
4588 (lib (string-append out "/lib/sbcl"))
4589 (ningle-path (string-append lib "/ningle"))
4590 (fasl-files (find-files out "\\.fasl$")))
4591 (mkdir-p ningle-path)
4592 (let ((fasl-path (lambda (name)
4593 (string-append ningle-path
4594 "/"
4595 (basename name)
4596 "--system.fasl"))))
4597 (for-each (lambda (file)
4598 (rename-file file
4599 (fasl-path
4600 (basename file ".fasl"))))
4601 fasl-files))
4602 fasl-files)
4603 #t)))))
4604 (native-inputs
4605 `(("sbcl-prove" ,sbcl-prove)))
4606 (inputs
4607 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4608 ("sbcl-myway" ,sbcl-myway)
4609 ("sbcl-lack" ,sbcl-lack)
4610 ("sbcl-alexandria" ,sbcl-alexandria)
4611 ("sbcl-babel" ,sbcl-babel)))
4612 (home-page "https://8arrow.org/ningle/")
4613 (synopsis "Super micro framework for Common Lisp")
4614 (description
4615 "Ningle is a lightweight web application framework for Common Lisp.")
4616 (license license:llgpl))))
4617
4618 (define-public cl-ningle
4619 (sbcl-package->cl-source-package sbcl-ningle))
4620
4621 (define-public ecl-ningle
4622 (sbcl-package->ecl-package sbcl-ningle))
4623
4624 (define-public sbcl-cl-fastcgi
4625 (let ((commit "de8b49b26de9863996ec18db28af8ab7e8ac4e20")
4626 (revision "2"))
4627 (package
4628 (name "sbcl-cl-fastcgi")
4629 (version (git-version "0.2" revision commit))
4630 (source
4631 (origin
4632 (method git-fetch)
4633 (uri (git-reference
4634 (url "https://github.com/KDr2/cl-fastcgi/")
4635 (commit commit)))
4636 (file-name (git-file-name name version))
4637 (sha256
4638 (base32 "0xgmhx766q4nmrvn5z7ag3ikpr9phlh8ypi8b14azshq9lqbq0m7"))))
4639 (build-system asdf-build-system/sbcl)
4640 (inputs
4641 `(("usocket" ,sbcl-usocket)
4642 ("cffi" ,sbcl-cffi)
4643 ("fcgi" ,fcgi)))
4644 (arguments
4645 `(#:phases
4646 (modify-phases %standard-phases
4647 (add-after 'unpack 'fix-paths
4648 (lambda* (#:key inputs #:allow-other-keys)
4649 (substitute* "cl-fastcgi.lisp"
4650 (("\"libfcgi.so\"")
4651 (string-append
4652 "\""
4653 (assoc-ref inputs "fcgi") "/lib/libfcgi.so\""))))))))
4654 (home-page "https://kdr2.com/project/cl-fastcgi.html")
4655 (synopsis "FastCGI wrapper for Common Lisp")
4656 (description
4657 "CL-FastCGI is a generic version of SB-FastCGI, targeting to run on
4658 mostly Common Lisp implementation.")
4659 (license license:bsd-2))))
4660
4661 (define-public cl-fastcgi
4662 (sbcl-package->cl-source-package sbcl-cl-fastcgi))
4663
4664 (define-public ecl-cl-fastcgi
4665 (sbcl-package->ecl-package sbcl-cl-fastcgi))
4666
4667 (define-public sbcl-clack
4668 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
4669 (revision "1"))
4670 (package
4671 (name "sbcl-clack")
4672 (version (git-version "2.0.0" revision commit))
4673 (source
4674 (origin
4675 (method git-fetch)
4676 (uri (git-reference
4677 (url "https://github.com/fukamachi/clack")
4678 (commit commit)))
4679 (file-name (git-file-name name version))
4680 (sha256
4681 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
4682 (build-system asdf-build-system/sbcl)
4683 (inputs
4684 `(("alexandria" ,sbcl-alexandria)
4685 ("bordeaux-threads" ,sbcl-bordeaux-threads)
4686 ("cl-fastcgi" ,sbcl-cl-fastcgi)
4687 ("flexi-streams" ,sbcl-flexi-streams)
4688 ("hunchentoot" ,sbcl-hunchentoot)
4689 ("lack" ,sbcl-lack)
4690 ("split-sequence" ,sbcl-split-sequence)
4691 ("usocket" ,sbcl-usocket)
4692 ("quri" ,sbcl-quri)))
4693 (arguments
4694 '(#:asd-systems '("clack"
4695 "clack-handler-fcgi"
4696 "clack-socket"
4697 "clack-handler-hunchentoot")))
4698 (home-page "https://github.com/fukamachi/clack")
4699 (synopsis "Web Application Environment for Common Lisp")
4700 (description
4701 "Clack is a web application environment for Common Lisp inspired by
4702 Python's WSGI and Ruby's Rack.")
4703 (license license:llgpl))))
4704
4705 (define-public cl-clack
4706 (sbcl-package->cl-source-package sbcl-clack))
4707
4708 (define-public ecl-clack
4709 (sbcl-package->ecl-package sbcl-clack))
4710
4711 (define-public sbcl-cl-log
4712 (let ((commit "8f4b766d51e02245c310526cf1e4534ce634f837")
4713 (revision "1"))
4714 (package
4715 (name "sbcl-cl-log")
4716 (version "1.0.1")
4717 (source
4718 (origin
4719 (method git-fetch)
4720 (uri (git-reference
4721 (url "https://github.com/nicklevine/cl-log")
4722 (commit commit)))
4723 (sha256
4724 (base32 "1r3z9swy1b59swvaa5b97is9ysrfmjvjjhhw56p7p5hqg93b92ak"))
4725 (file-name (git-file-name "cl-log" version))))
4726 (build-system asdf-build-system/sbcl)
4727 (synopsis "Common Lisp general purpose logging utility")
4728 (description "CL-LOG is a general purpose logging utility, loosely modelled
4729 in some respects after Gary King's Log5. Its features include: logging to
4730 several destinations at once, via \"messengers\", each messenger is tailored to
4731 accept some log messages and reject others, and this tailoring can be changed
4732 on-the-fly, very rapid processing of messages which are rejected by all
4733 messengers, fully independent use of the utility by several different
4734 sub-systems in an application, support for messengers which cl:format text to a
4735 stream, support for messengers which do not invoke cl:format, timestamps in
4736 theory accurate to internal-time-units-per-second.")
4737 (home-page "https://github.com/nicklevine/cl-log")
4738 (license license:expat))))
4739
4740 (define-public cl-log
4741 (sbcl-package->cl-source-package sbcl-cl-log))
4742
4743 (define-public ecl-cl-log
4744 (sbcl-package->ecl-package sbcl-cl-log))
4745
4746 (define-public sbcl-log4cl
4747 (let ((commit "8c48d6f41d3a1475d0a91eed0638b9eecc398e35")
4748 (revision "1"))
4749 (package
4750 (name "sbcl-log4cl")
4751 (version (git-version "1.1.3" revision commit))
4752 (source
4753 (origin
4754 (method git-fetch)
4755 (uri (git-reference
4756 (url "https://github.com/sharplispers/log4cl")
4757 (commit commit)))
4758 (file-name (git-file-name "log4cl" version))
4759 (sha256
4760 (base32 "0166d9aip366pbpdk5gsi2f6xad6q61lssxgbrypa8zslwjn8736"))))
4761 (build-system asdf-build-system/sbcl)
4762 (native-inputs
4763 `(("stefil" ,sbcl-stefil)))
4764 (inputs
4765 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
4766 (home-page "https://github.com/7max/log4cl")
4767 (synopsis "Common Lisp logging framework, modeled after Log4J")
4768 (description
4769 "This is a Common Lisp logging framework that can log at various levels
4770 and mix text with expressions.")
4771 (license license:asl2.0))))
4772
4773 (define-public cl-log4cl
4774 (sbcl-package->cl-source-package sbcl-log4cl))
4775
4776 (define-public ecl-log4cl
4777 (sbcl-package->ecl-package sbcl-log4cl))
4778
4779 (define-public sbcl-printv
4780 (let ((commit "646d31978dbbb460fffb160fd65bb2be9a5a434e")
4781 (revision "1"))
4782 (package
4783 (name "sbcl-printv")
4784 (version (git-version "0.1.0" revision commit))
4785 (source
4786 (origin
4787 (method git-fetch)
4788 (uri (git-reference
4789 (url "https://github.com/danlentz/printv")
4790 (commit commit)))
4791 (file-name (git-file-name "printv" version))
4792 (sha256
4793 (base32 "08jvy82abm7qi3wrxh6gvmwg9gy0zzhg4cfqajdwrggbah8mj5a6"))))
4794 (build-system asdf-build-system/sbcl)
4795 (home-page "https://github.com/danlentz/printv")
4796 (synopsis "Common Lisp tracing and debug-logging macro")
4797 (description
4798 "@code{PRINTV} is a \"batteries-included\" tracing and debug-logging
4799 macro for Common Lisp.")
4800 (license license:asl2.0))))
4801
4802 (define-public ecl-printv
4803 (sbcl-package->ecl-package sbcl-printv))
4804
4805 (define-public cl-printv
4806 (sbcl-package->cl-source-package sbcl-printv))
4807
4808 (define-public sbcl-verbose
4809 (let ((commit "c5b7ecd465be61b35af17ef57564697b88397174")
4810 (revision "1"))
4811 (package
4812 (name "sbcl-verbose")
4813 (version (git-version "2.0.0" revision commit))
4814 (source
4815 (origin
4816 (method git-fetch)
4817 (uri (git-reference
4818 (url "https://github.com/Shinmera/verbose/")
4819 (commit commit)))
4820 (file-name (git-file-name "verbose" version))
4821 (sha256
4822 (base32 "0r51ydj5v7afi2jrlscbhxprv13d9vzg5316g1yzwaxc1kzsdsw6"))))
4823 (build-system asdf-build-system/sbcl)
4824 (inputs
4825 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
4826 ("dissect" ,sbcl-dissect)
4827 ("documentation-utils" ,sbcl-documentation-utils)
4828 ("local-time" ,sbcl-local-time)
4829 ("piping" ,sbcl-piping)))
4830 (home-page "https://shinmera.github.io/verbose/")
4831 (synopsis "Logging framework using the piping library")
4832 (description
4833 "This is a Common Lisp library providing logging faciltiy similar to
4834 @code{CL-LOG} and @code{LOG4CL}.")
4835 (license license:zlib))))
4836
4837 (define-public ecl-verbose
4838 (sbcl-package->ecl-package sbcl-verbose))
4839
4840 (define-public cl-verbose
4841 (sbcl-package->cl-source-package sbcl-verbose))
4842
4843 (define-public sbcl-find-port
4844 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
4845 (revision "1"))
4846 (package
4847 (name "sbcl-find-port")
4848 (build-system asdf-build-system/sbcl)
4849 (version "0.1")
4850 (home-page "https://github.com/eudoxia0/find-port")
4851 (source
4852 (origin
4853 (method git-fetch)
4854 (uri (git-reference
4855 (url home-page)
4856 (commit commit)))
4857 (file-name (git-file-name name version))
4858 (sha256
4859 (base32
4860 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
4861 (native-inputs
4862 `(("fiveam" ,sbcl-fiveam)))
4863 (inputs
4864 `(("sbcl-usocket" ,sbcl-usocket)))
4865 (synopsis "Find open ports programmatically in Common Lisp")
4866 (description "This is a small Common Lisp library that finds an open
4867 port within a range.")
4868 (license license:expat))))
4869
4870 (define-public cl-find-port
4871 (sbcl-package->cl-source-package sbcl-find-port))
4872
4873 (define-public ecl-find-port
4874 (sbcl-package->ecl-package sbcl-find-port))
4875
4876 (define-public sbcl-clunit
4877 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
4878 (revision "1"))
4879 (package
4880 (name "sbcl-clunit")
4881 (version (git-version "0.2.3" revision commit))
4882 (source
4883 (origin
4884 (method git-fetch)
4885 (uri (git-reference
4886 (url "https://github.com/tgutu/clunit")
4887 (commit commit)))
4888 (file-name (git-file-name name version))
4889 (sha256
4890 (base32
4891 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
4892 (build-system asdf-build-system/sbcl)
4893 (synopsis "CLUnit is a Common Lisp unit testing framework")
4894 (description
4895 "CLUnit is a Common Lisp unit testing framework. It is designed
4896 to be easy to use so that you can quickly start testing. CLUnit
4897 provides a rich set of features aimed at improving your unit testing
4898 experience.")
4899 (home-page "https://tgutu.github.io/clunit/")
4900 ;; MIT License
4901 (license license:expat))))
4902
4903 (define-public cl-clunit
4904 (sbcl-package->cl-source-package sbcl-clunit))
4905
4906 (define-public ecl-clunit
4907 (sbcl-package->ecl-package sbcl-clunit))
4908
4909 (define-public sbcl-py4cl
4910 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
4911 (revision "1"))
4912 (package
4913 (name "sbcl-py4cl")
4914 (version (git-version "0.0.0" revision commit))
4915 (source
4916 (origin
4917 (method git-fetch)
4918 (uri (git-reference
4919 (url "https://github.com/bendudson/py4cl")
4920 (commit commit)))
4921 (file-name (git-file-name name version))
4922 (sha256
4923 (base32
4924 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
4925 (modules '((guix build utils)))))
4926 (build-system asdf-build-system/sbcl)
4927 (native-inputs
4928 `(("sbcl-clunit" ,sbcl-clunit)))
4929 (inputs
4930 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
4931 (propagated-inputs
4932 ;; This package doesn't do anything without python available
4933 `(("python" ,python)
4934 ;; For multi-dimensional array support
4935 ("python-numpy" ,python-numpy)))
4936 (arguments
4937 '(#:phases
4938 (modify-phases %standard-phases
4939 (add-after 'unpack 'replace-*base-directory*-var
4940 (lambda* (#:key outputs #:allow-other-keys)
4941 ;; In the ASD, the author makes an attempt to
4942 ;; programatically determine the location of the
4943 ;; source-code so lisp can call into "py4cl.py". We can
4944 ;; hard-code this since we know where this file will
4945 ;; reside.
4946 (substitute* "src/callpython.lisp"
4947 (("py4cl/config:\\*base-directory\\*")
4948 (string-append
4949 "\""
4950 (assoc-ref outputs "out")
4951 "/share/common-lisp/sbcl-source/py4cl/"
4952 "\""))))))))
4953 (synopsis "Call python from Common Lisp")
4954 (description
4955 "Py4CL is a bridge between Common Lisp and Python, which enables Common
4956 Lisp to interact with Python code. It uses streams to communicate with a
4957 separate python process, the approach taken by cl4py. This is different to
4958 the CFFI approach used by burgled-batteries, but has the same goal.")
4959 (home-page "https://github.com/bendudson/py4cl")
4960 ;; MIT License
4961 (license license:expat))))
4962
4963 (define-public cl-py4cl
4964 (sbcl-package->cl-source-package sbcl-py4cl))
4965
4966 (define-public ecl-py4cl
4967 (sbcl-package->ecl-package sbcl-py4cl))
4968
4969 (define-public sbcl-parse-declarations
4970 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
4971 (revision "1"))
4972 (package
4973 (name "sbcl-parse-declarations")
4974 (version (git-version "1.0.0" revision commit))
4975 (source
4976 (origin
4977 (method git-fetch)
4978 (uri (git-reference
4979 (url (string-append
4980 "https://gitlab.common-lisp.net/parse-declarations/"
4981 "parse-declarations.git"))
4982 (commit commit)))
4983 (file-name (git-file-name name version))
4984 (sha256
4985 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
4986 (build-system asdf-build-system/sbcl)
4987 (arguments
4988 `(#:asd-systems '("parse-declarations-1.0")))
4989 (home-page "https://common-lisp.net/project/parse-declarations/")
4990 (synopsis "Parse, filter, and build declarations")
4991 (description
4992 "Parse-Declarations is a Common Lisp library to help writing
4993 macros which establish bindings. To be semantically correct, such
4994 macros must take user declarations into account, as these may affect
4995 the bindings they establish. Yet the ANSI standard of Common Lisp does
4996 not provide any operators to work with declarations in a convenient,
4997 high-level way. This library provides such operators.")
4998 ;; MIT License
4999 (license license:expat))))
5000
5001 (define-public cl-parse-declarations
5002 (sbcl-package->cl-source-package sbcl-parse-declarations))
5003
5004 (define-public ecl-parse-declarations
5005 (sbcl-package->ecl-package sbcl-parse-declarations))
5006
5007 (define-public sbcl-cl-quickcheck
5008 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5009 (revision "1"))
5010 (package
5011 (name "sbcl-cl-quickcheck")
5012 (version (git-version "0.0.4" revision commit))
5013 (source
5014 (origin
5015 (method git-fetch)
5016 (uri (git-reference
5017 (url "https://github.com/mcandre/cl-quickcheck")
5018 (commit commit)))
5019 (file-name (git-file-name name version))
5020 (sha256
5021 (base32
5022 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5023 (build-system asdf-build-system/sbcl)
5024 (synopsis
5025 "Common Lisp port of the QuickCheck unit test framework")
5026 (description
5027 "Common Lisp port of the QuickCheck unit test framework")
5028 (home-page "https://github.com/mcandre/cl-quickcheck")
5029 ;; MIT
5030 (license license:expat))))
5031
5032 (define-public cl-quickcheck
5033 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5034
5035 (define-public ecl-cl-quickcheck
5036 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5037
5038 (define-public sbcl-burgled-batteries3
5039 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
5040 (revision "2"))
5041 (package
5042 (name "sbcl-burgled-batteries3")
5043 (version (git-version "0.0.0" revision commit))
5044 (source
5045 (origin
5046 (method git-fetch)
5047 (uri (git-reference
5048 (url "https://github.com/snmsts/burgled-batteries3")
5049 (commit commit)))
5050 (file-name (git-file-name name version))
5051 (sha256
5052 (base32
5053 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
5054 (build-system asdf-build-system/sbcl)
5055 (arguments
5056 `(#:tests? #f
5057 #:modules (((guix build python-build-system) #:select (python-version))
5058 ,@%asdf-build-system-modules)
5059 #:imported-modules ((guix build python-build-system)
5060 ,@%asdf-build-system-modules)
5061 #:phases
5062 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
5063 (add-after 'unpack 'set-*cpython-include-dir*-var
5064 (lambda* (#:key inputs #:allow-other-keys)
5065 (let ((python (assoc-ref inputs "python")))
5066 (setenv "BB_PYTHON3_INCLUDE_DIR"
5067 (string-append python "/include/python"
5068 (python-version python)))
5069 (setenv "BB_PYTHON3_DYLIB"
5070 (string-append python "/lib/libpython3.so"))
5071 #t)))
5072 (add-after 'unpack 'adjust-for-python-3.8
5073 (lambda _
5074 ;; This method is no longer part of the public API.
5075 (substitute* "ffi-interface.lisp"
5076 ((".*PyEval_ReInitThreads.*")
5077 ""))
5078 #t)))))
5079 (native-inputs
5080 `(("sbcl-cl-fad" ,sbcl-cl-fad)
5081 ("sbcl-lift" ,sbcl-lift)
5082 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5083 (inputs
5084 `(("python" ,python)
5085 ("sbcl-cffi" ,sbcl-cffi)
5086 ("sbcl-alexandria" , sbcl-alexandria)
5087 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5088 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5089 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5090 (description
5091 "This package provides a shim between Python3 (specifically, the
5092 CPython implementation of Python) and Common Lisp.")
5093 (home-page "https://github.com/snmsts/burgled-batteries3")
5094 (license license:expat))))
5095
5096 (define-public cl-burgled-batteries3
5097 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5098
5099 (define-public ecl-burgled-batteries3
5100 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5101
5102 (define-public sbcl-metabang-bind
5103 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5104 (revision "1"))
5105 (package
5106 (name "sbcl-metabang-bind")
5107 (version (git-version "0.8.0" revision commit))
5108 (source
5109 (origin
5110 (method git-fetch)
5111 (uri (git-reference
5112 (url "https://github.com/gwkkwg/metabang-bind")
5113 (commit commit)))
5114 (file-name (git-file-name name version))
5115 (sha256
5116 (base32
5117 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5118 (build-system asdf-build-system/sbcl)
5119 (native-inputs
5120 `(("sbcl-lift" ,sbcl-lift)))
5121 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5122 (description
5123 "Bind extends the idea of of let and destructing to provide a uniform
5124 syntax for all your accessor needs. It combines @code{let},
5125 @code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5126 editing, property or association-lists, and @code{multiple-value-bind} and a
5127 whole lot more into a single form.")
5128 (home-page "https://common-lisp.net/project/metabang-bind/")
5129 ;; MIT License
5130 (license license:expat))))
5131
5132 (define-public cl-metabang-bind
5133 (sbcl-package->cl-source-package sbcl-metabang-bind))
5134
5135 (define-public ecl-metabang-bind
5136 (sbcl-package->ecl-package sbcl-metabang-bind))
5137
5138 (define-public sbcl-fare-utils
5139 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5140 (revision "1"))
5141 (package
5142 (name "sbcl-fare-utils")
5143 (version (git-version "1.0.0.5" revision commit))
5144 (source
5145 (origin
5146 (method git-fetch)
5147 (uri
5148 (git-reference
5149 (url
5150 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5151 (commit commit)))
5152 (file-name (git-file-name name version))
5153 (sha256
5154 (base32
5155 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5156 (build-system asdf-build-system/sbcl)
5157 (arguments
5158 `(#:test-asd-file "test/fare-utils-test.asd"))
5159 (native-inputs
5160 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5161 (synopsis "Collection of utilities and data structures")
5162 (description
5163 "fare-utils is a small collection of utilities. It contains a lot of
5164 basic everyday functions and macros.")
5165 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5166 ;; MIT License
5167 (license license:expat))))
5168
5169 (define-public cl-fare-utils
5170 (sbcl-package->cl-source-package sbcl-fare-utils))
5171
5172 (define-public ecl-fare-utils
5173 (sbcl-package->ecl-package sbcl-fare-utils))
5174
5175 (define-public sbcl-trivial-utf-8
5176 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5177 (revision "1"))
5178 (package
5179 (name "sbcl-trivial-utf-8")
5180 (version (git-version "0.0.0" revision commit))
5181 (source
5182 (origin
5183 (method git-fetch)
5184 (uri
5185 (git-reference
5186 (url (string-append "https://gitlab.common-lisp.net/"
5187 "trivial-utf-8/trivial-utf-8.git"))
5188 (commit commit)))
5189 (file-name (git-file-name name version))
5190 (sha256
5191 (base32
5192 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5193 (arguments
5194 ;; Guix incorrectly assumes the "8" is part of the version
5195 ;; number and lobs it off.
5196 `(#:asd-systems '("trivial-utf-8")))
5197 (build-system asdf-build-system/sbcl)
5198 (synopsis "UTF-8 input/output library")
5199 (description
5200 "The Babel library solves a similar problem while understanding more
5201 encodings. Trivial UTF-8 was written before Babel existed, but for new
5202 projects you might be better off going with Babel. The one plus that Trivial
5203 UTF-8 has is that it doesn't depend on any other libraries.")
5204 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5205 (license license:bsd-3))))
5206
5207 (define-public cl-trivial-utf-8
5208 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5209
5210 (define-public ecl-trivial-utf-8
5211 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5212
5213 (define-public sbcl-idna
5214 (package
5215 (name "sbcl-idna")
5216 (build-system asdf-build-system/sbcl)
5217 (version "0.2.2")
5218 (home-page "https://github.com/antifuchs/idna")
5219 (source
5220 (origin
5221 (method git-fetch)
5222 (uri (git-reference
5223 (url home-page)
5224 (commit version)))
5225 (file-name (git-file-name name version))
5226 (sha256
5227 (base32
5228 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5229 (inputs
5230 `(("split-sequence" ,sbcl-split-sequence)))
5231 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5232 (description "This Common Lisp library provides string encoding and
5233 decoding routines for IDNA, the International Domain Names in Applications.")
5234 (license license:expat)))
5235
5236 (define-public cl-idna
5237 (sbcl-package->cl-source-package sbcl-idna))
5238
5239 (define-public ecl-idna
5240 (sbcl-package->ecl-package sbcl-idna))
5241
5242 (define-public sbcl-swap-bytes
5243 (package
5244 (name "sbcl-swap-bytes")
5245 (build-system asdf-build-system/sbcl)
5246 (version "1.2")
5247 (home-page "https://github.com/sionescu/swap-bytes")
5248 (source
5249 (origin
5250 (method git-fetch)
5251 (uri (git-reference
5252 (url home-page)
5253 (commit (string-append "v" version))))
5254 (file-name (git-file-name name version))
5255 (sha256
5256 (base32
5257 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
5258 (inputs
5259 `(("trivial-features" ,sbcl-trivial-features)))
5260 (native-inputs
5261 `(("fiveam" ,sbcl-fiveam)))
5262 (synopsis "Efficient endianness conversion for Common Lisp")
5263 (description "This Common Lisp library provides optimized byte-swapping
5264 primitives. The library can change endianness of unsigned integers of length
5265 1/2/4/8. Very useful in implementing various network protocols and file
5266 formats.")
5267 (license license:expat)))
5268
5269 (define-public cl-swap-bytes
5270 (sbcl-package->cl-source-package sbcl-swap-bytes))
5271
5272 (define-public ecl-swap-bytes
5273 (sbcl-package->ecl-package sbcl-swap-bytes))
5274
5275 (define-public sbcl-iolib
5276 ;; Latest release is from June 2017.
5277 (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
5278 (revision "2"))
5279 (package
5280 (name "sbcl-iolib")
5281 (version (git-version "0.8.3" revision commit))
5282 (home-page "https://github.com/sionescu/iolib")
5283 (source
5284 (origin
5285 (method git-fetch)
5286 (uri (git-reference
5287 (url home-page)
5288 (commit commit)))
5289 (file-name (git-file-name name version))
5290 (sha256
5291 (base32
5292 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
5293 (build-system asdf-build-system/sbcl)
5294 (inputs
5295 `(("alexandria" ,sbcl-alexandria)
5296 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5297 ("cffi" ,sbcl-cffi)
5298 ("idna" ,sbcl-idna)
5299 ("libfixposix" ,libfixposix)
5300 ("split-sequence" ,sbcl-split-sequence)
5301 ("swap-bytes" ,sbcl-swap-bytes)))
5302 (arguments
5303 '(#:asd-files '("iolib.asdf.asd"
5304 "iolib.conf.asd"
5305 "iolib.common-lisp.asd"
5306 "iolib.base.asd"
5307 "iolib.asd")
5308 #:phases
5309 (modify-phases %standard-phases
5310 (add-after 'unpack 'fix-paths
5311 (lambda* (#:key inputs #:allow-other-keys)
5312 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5313 (("\\(:default \"libfixposix\"\\)")
5314 (string-append
5315 "(:default \""
5316 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5317 ;; Socket tests need Internet access, disable them.
5318 (substitute* "iolib.asd"
5319 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5320 "")))))))
5321 (synopsis "Common Lisp I/O library")
5322 (description "IOlib is to be a better and more modern I/O library than
5323 the standard Common Lisp library. It contains a socket library, a DNS
5324 resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5325 and @code{kqueue(2)}), a pathname library and file-system utilities.")
5326 (license license:expat))))
5327
5328 (define-public cl-iolib
5329 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
5330 (package
5331 (inherit parent)
5332 (propagated-inputs
5333 ;; Need header to compile.
5334 `(("libfixposix" ,libfixposix)
5335 ,@(package-propagated-inputs parent))))))
5336
5337 (define-public ecl-iolib
5338 (sbcl-package->ecl-package sbcl-iolib))
5339
5340 (define-public sbcl-ieee-floats
5341 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5342 (revision "1"))
5343 (package
5344 (name "sbcl-ieee-floats")
5345 (build-system asdf-build-system/sbcl)
5346 (version (git-version "20170924" revision commit))
5347 (home-page "https://github.com/marijnh/ieee-floats/")
5348 (source
5349 (origin
5350 (method git-fetch)
5351 (uri (git-reference
5352 (url home-page)
5353 (commit commit)))
5354 (file-name (git-file-name name version))
5355 (sha256
5356 (base32
5357 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5358 (native-inputs
5359 `(("fiveam" ,sbcl-fiveam)))
5360 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5361 (description "This is a Common Lisp library that converts
5362 floating point values to IEEE 754 binary representation.")
5363 (license license:bsd-3))))
5364
5365 (define-public cl-ieee-floats
5366 (sbcl-package->cl-source-package sbcl-ieee-floats))
5367
5368 (define-public ecl-ieee-floats
5369 (sbcl-package->ecl-package sbcl-ieee-floats))
5370
5371 (define sbcl-closure-common
5372 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5373 (revision "1"))
5374 (package
5375 (name "sbcl-closure-common")
5376 (build-system asdf-build-system/sbcl)
5377 (version (git-version "20101006" revision commit))
5378 (home-page "https://common-lisp.net/project/cxml/")
5379 (source
5380 (origin
5381 (method git-fetch)
5382 (uri (git-reference
5383 (url "https://github.com/sharplispers/closure-common")
5384 (commit commit)))
5385 (file-name (git-file-name name version))
5386 (sha256
5387 (base32
5388 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5389 (inputs
5390 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5391 ("babel" ,sbcl-babel)))
5392 (synopsis "Support Common Lisp library for CXML")
5393 (description "Closure-common is an internal helper library. The name
5394 Closure is a reference to the web browser it was originally written for.")
5395 ;; TODO: License?
5396 (license #f))))
5397
5398 (define-public sbcl-cxml
5399 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5400 (revision "1"))
5401 (package
5402 (name "sbcl-cxml")
5403 (version (git-version "0.0.0" revision commit))
5404 (source
5405 (origin
5406 (method git-fetch)
5407 (uri (git-reference
5408 (url "https://github.com/sharplispers/cxml")
5409 (commit commit)))
5410 (file-name (git-file-name name version))
5411 (sha256
5412 (base32
5413 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5414 (build-system asdf-build-system/sbcl)
5415 (inputs
5416 `(("closure-common" ,sbcl-closure-common)
5417 ("puri" ,sbcl-puri)
5418 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5419 (synopsis "Common Lisp XML parser")
5420 (description "CXML implements a namespace-aware, validating XML 1.0
5421 parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5422 offered, one SAX-like, the other similar to StAX.")
5423 (home-page "https://common-lisp.net/project/cxml/")
5424 (license license:llgpl))))
5425
5426 (define-public cl-cxml
5427 (sbcl-package->cl-source-package sbcl-cxml))
5428
5429 (define-public ecl-cxml
5430 (sbcl-package->ecl-package sbcl-cxml))
5431
5432 (define-public sbcl-cl-reexport
5433 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5434 (revision "1"))
5435 (package
5436 (name "sbcl-cl-reexport")
5437 (build-system asdf-build-system/sbcl)
5438 (version (git-version "0.1" revision commit))
5439 (home-page "https://github.com/takagi/cl-reexport")
5440 (source
5441 (origin
5442 (method git-fetch)
5443 (uri (git-reference
5444 (url home-page)
5445 (commit commit)))
5446 (file-name (git-file-name name version))
5447 (sha256
5448 (base32
5449 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5450 (inputs
5451 `(("alexandria" ,sbcl-alexandria)))
5452 (arguments
5453 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5454 `(#:tests? #f))
5455 (synopsis "HTTP cookie manager for Common Lisp")
5456 (description "cl-cookie is a Common Lisp library featuring parsing of
5457 cookie headers, cookie creation, cookie jar creation and more.")
5458 (license license:llgpl))))
5459
5460 (define-public cl-reexport
5461 (sbcl-package->cl-source-package sbcl-cl-reexport))
5462
5463 (define-public ecl-cl-reexport
5464 (sbcl-package->ecl-package sbcl-cl-reexport))
5465
5466 (define-public sbcl-cl-cookie
5467 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5468 (revision "1"))
5469 (package
5470 (name "sbcl-cl-cookie")
5471 (build-system asdf-build-system/sbcl)
5472 (version (git-version "0.9.10" revision commit))
5473 (home-page "https://github.com/fukamachi/cl-cookie")
5474 (source
5475 (origin
5476 (method git-fetch)
5477 (uri (git-reference
5478 (url home-page)
5479 (commit commit)))
5480 (file-name (git-file-name name version))
5481 (sha256
5482 (base32
5483 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5484 (inputs
5485 `(("proc-parse" ,sbcl-proc-parse)
5486 ("alexandria" ,sbcl-alexandria)
5487 ("quri" ,sbcl-quri)
5488 ("cl-ppcre" ,sbcl-cl-ppcre)
5489 ("local-time" ,sbcl-local-time)))
5490 (native-inputs
5491 `(("prove" ,sbcl-prove)))
5492 (arguments
5493 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5494 `(#:tests? #f))
5495 (synopsis "HTTP cookie manager for Common Lisp")
5496 (description "cl-cookie is a Common Lisp library featuring parsing of
5497 cookie headers, cookie creation, cookie jar creation and more.")
5498 (license license:bsd-2))))
5499
5500 (define-public cl-cookie
5501 (sbcl-package->cl-source-package sbcl-cl-cookie))
5502
5503 (define-public ecl-cl-cookie
5504 (sbcl-package->ecl-package sbcl-cl-cookie))
5505
5506 (define-public sbcl-dexador
5507 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
5508 (revision "1"))
5509 (package
5510 (name "sbcl-dexador")
5511 (build-system asdf-build-system/sbcl)
5512 (version "0.9.14" )
5513 (home-page "https://github.com/fukamachi/dexador")
5514 (source
5515 (origin
5516 (method git-fetch)
5517 (uri (git-reference
5518 (url home-page)
5519 (commit commit)))
5520 (file-name (git-file-name name version))
5521 (sha256
5522 (base32
5523 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
5524 (inputs
5525 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5526 ("babel" ,sbcl-babel)
5527 ("usocket" ,sbcl-usocket)
5528 ("fast-http" ,sbcl-fast-http)
5529 ("quri" ,sbcl-quri)
5530 ("fast-io" ,sbcl-fast-io)
5531 ("chunga" ,sbcl-chunga)
5532 ("cl-ppcre" ,sbcl-cl-ppcre)
5533 ("cl-cookie" ,sbcl-cl-cookie)
5534 ("trivial-mimes" ,sbcl-trivial-mimes)
5535 ("chipz" ,sbcl-chipz)
5536 ("cl-base64" ,sbcl-cl-base64)
5537 ("cl-reexport" ,sbcl-cl-reexport)
5538 ("cl+ssl" ,sbcl-cl+ssl)
5539 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5540 ("alexandria" ,sbcl-alexandria)))
5541 (native-inputs
5542 `(("prove" ,sbcl-prove)
5543 ("lack" ,sbcl-lack)
5544 ("clack" ,sbcl-clack)
5545 ("babel" ,sbcl-babel)
5546 ("alexandria" ,sbcl-alexandria)
5547 ("cl-ppcre" ,sbcl-cl-ppcre)
5548 ("local-time" ,sbcl-local-time)
5549 ("trivial-features" ,sbcl-trivial-features)))
5550 (arguments
5551 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5552 `(#:tests? #f
5553 #:phases
5554 (modify-phases %standard-phases
5555 (add-after 'unpack 'fix-permissions
5556 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5557 (synopsis "Yet another HTTP client for Common Lisp")
5558 (description "Dexador is yet another HTTP client for Common Lisp with
5559 neat APIs and connection-pooling. It is meant to supersede Drakma.")
5560 (license license:expat))))
5561
5562 (define-public cl-dexador
5563 (package
5564 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5565 (arguments
5566 `(#:phases
5567 ;; asdf-build-system/source has its own phases and does not inherit
5568 ;; from asdf-build-system/sbcl phases.
5569 (modify-phases %standard-phases/source
5570 ;; Already done in SBCL package.
5571 (delete 'reset-gzip-timestamps))))))
5572
5573 (define-public ecl-dexador
5574 (sbcl-package->ecl-package sbcl-dexador))
5575
5576 (define-public sbcl-lisp-namespace
5577 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5578 (revision "1"))
5579 (package
5580 (name "sbcl-lisp-namespace")
5581 (build-system asdf-build-system/sbcl)
5582 (version (git-version "0.1" revision commit))
5583 (home-page "https://github.com/guicho271828/lisp-namespace")
5584 (source
5585 (origin
5586 (method git-fetch)
5587 (uri (git-reference
5588 (url home-page)
5589 (commit commit)))
5590 (file-name (git-file-name name version))
5591 (sha256
5592 (base32
5593 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5594 (inputs
5595 `(("alexandria" ,sbcl-alexandria)))
5596 (native-inputs
5597 `(("fiveam" ,sbcl-fiveam)))
5598 (arguments
5599 `(#:test-asd-file "lisp-namespace.test.asd"
5600 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5601 #:tests? #f))
5602 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5603 (description "Common Lisp already has major 2 namespaces, function
5604 namespace and value namespace (or variable namespace), but there are actually
5605 more — e.g., class namespace.
5606 This library offers macros to deal with symbols from any namespace.")
5607 (license license:llgpl))))
5608
5609 (define-public cl-lisp-namespace
5610 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5611
5612 (define-public ecl-lisp-namespace
5613 (sbcl-package->ecl-package sbcl-lisp-namespace))
5614
5615 (define-public sbcl-trivial-cltl2
5616 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
5617 (revision "2"))
5618 (package
5619 (name "sbcl-trivial-cltl2")
5620 (build-system asdf-build-system/sbcl)
5621 (version (git-version "0.1.1" revision commit))
5622 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
5623 (source
5624 (origin
5625 (method git-fetch)
5626 (uri (git-reference
5627 (url home-page)
5628 (commit commit)))
5629 (file-name (git-file-name name version))
5630 (sha256
5631 (base32
5632 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
5633 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5634 (description "This library is a portable compatibility layer around
5635 \"Common Lisp the Language, 2nd
5636 Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5637 and it exports symbols from implementation-specific packages.")
5638 (license license:llgpl))))
5639
5640 (define-public cl-trivial-cltl2
5641 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5642
5643 (define-public ecl-trivial-cltl2
5644 (sbcl-package->ecl-package sbcl-trivial-cltl2))
5645
5646 (define-public sbcl-introspect-environment
5647 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
5648 (revision "1"))
5649 (package
5650 (name "sbcl-introspect-environment")
5651 (build-system asdf-build-system/sbcl)
5652 (version (git-version "0.1" revision commit))
5653 (home-page "https://github.com/Bike/introspect-environment")
5654 (source
5655 (origin
5656 (method git-fetch)
5657 (uri (git-reference
5658 (url home-page)
5659 (commit commit)))
5660 (file-name (git-file-name name version))
5661 (sha256
5662 (base32
5663 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
5664 (native-inputs
5665 `(("fiveam" ,sbcl-fiveam)))
5666 (synopsis "Common Lisp environment introspection portability layer")
5667 (description "This library is a small interface to portable but
5668 nonstandard introspection of Common Lisp environments. It is intended to
5669 allow a bit more compile-time introspection of environments in Common Lisp.
5670
5671 Quite a bit of information is available at the time a macro or compiler-macro
5672 runs; inlining info, type declarations, that sort of thing. This information
5673 is all standard - any Common Lisp program can @code{(declare (integer x))} and
5674 such.
5675
5676 This info ought to be accessible through the standard @code{&environment}
5677 parameters, but it is not. Several implementations keep the information for
5678 their own purposes but do not make it available to user programs, because
5679 there is no standard mechanism to do so.
5680
5681 This library uses implementation-specific hooks to make information available
5682 to users. This is currently supported on SBCL, CCL, and CMUCL. Other
5683 implementations have implementations of the functions that do as much as they
5684 can and/or provide reasonable defaults.")
5685 (license license:wtfpl2))))
5686
5687 (define-public cl-introspect-environment
5688 (sbcl-package->cl-source-package sbcl-introspect-environment))
5689
5690 (define-public ecl-introspect-environment
5691 (sbcl-package->ecl-package sbcl-introspect-environment))
5692
5693 (define-public sbcl-type-i
5694 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
5695 (revision "2"))
5696 (package
5697 (name "sbcl-type-i")
5698 (build-system asdf-build-system/sbcl)
5699 (version (git-version "0.1" revision commit))
5700 (home-page "https://github.com/guicho271828/type-i")
5701 (source
5702 (origin
5703 (method git-fetch)
5704 (uri (git-reference
5705 (url home-page)
5706 (commit commit)))
5707 (file-name (git-file-name name version))
5708 (sha256
5709 (base32
5710 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
5711 (inputs
5712 `(("alexandria" ,sbcl-alexandria)
5713 ("introspect-environment" ,sbcl-introspect-environment)
5714 ("trivia.trivial" ,sbcl-trivia.trivial)))
5715 (native-inputs
5716 `(("fiveam" ,sbcl-fiveam)))
5717 (arguments
5718 `(#:test-asd-file "type-i.test.asd"))
5719 (synopsis "Type inference utility on unary predicates for Common Lisp")
5720 (description "This library tries to provide a way to detect what kind of
5721 type the given predicate is trying to check. This is different from inferring
5722 the return type of a function.")
5723 (license license:llgpl))))
5724
5725 (define-public cl-type-i
5726 (sbcl-package->cl-source-package sbcl-type-i))
5727
5728 (define-public ecl-type-i
5729 (package
5730 (inherit (sbcl-package->ecl-package sbcl-type-i))
5731 (arguments
5732 ;; The tests get stuck indefinitly
5733 '(#:tests? #f))))
5734
5735 (define-public sbcl-optima
5736 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
5737 (revision "1"))
5738 (package
5739 (name "sbcl-optima")
5740 (build-system asdf-build-system/sbcl)
5741 (version (git-version "1.0" revision commit))
5742 (home-page "https://github.com/m2ym/optima")
5743 (source
5744 (origin
5745 (method git-fetch)
5746 (uri (git-reference
5747 (url home-page)
5748 (commit commit)))
5749 (file-name (git-file-name name version))
5750 (sha256
5751 (base32
5752 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
5753 (inputs
5754 `(("alexandria" ,sbcl-alexandria)
5755 ("closer-mop" ,sbcl-closer-mop)))
5756 (native-inputs
5757 `(("eos" ,sbcl-eos)))
5758 (arguments
5759 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
5760 `(#:tests? #f
5761 #:test-asd-file "optima.test.asd"))
5762 (synopsis "Optimized pattern matching library for Common Lisp")
5763 (description "Optima is a fast pattern matching library which uses
5764 optimizing techniques widely used in the functional programming world.")
5765 (license license:expat))))
5766
5767 (define-public cl-optima
5768 (sbcl-package->cl-source-package sbcl-optima))
5769
5770 (define-public ecl-optima
5771 (sbcl-package->ecl-package sbcl-optima))
5772
5773 (define-public sbcl-fare-quasiquote
5774 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
5775 (revision "1"))
5776 (package
5777 (name "sbcl-fare-quasiquote")
5778 (build-system asdf-build-system/sbcl)
5779 (version (git-version "1.0.1" revision commit))
5780 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
5781 (source
5782 (origin
5783 (method git-fetch)
5784 (uri (git-reference
5785 (url (string-append "https://gitlab.common-lisp.net/frideau/"
5786 "fare-quasiquote.git"))
5787 (commit commit)))
5788 (file-name (git-file-name name version))
5789 (sha256
5790 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
5791 (inputs
5792 `(("fare-utils" ,sbcl-fare-utils)
5793 ("named-readtables" ,sbcl-named-readtables)
5794 ("optima" ,sbcl-optima)))
5795 (arguments
5796 ;; XXX: Circular dependencies: Tests depend on subsystems,
5797 ;; which depend on the main systems.
5798 `(#:tests? #f
5799 #:asd-systems '("fare-quasiquote"
5800 "fare-quasiquote-extras")
5801 #:phases
5802 (modify-phases %standard-phases
5803 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
5804 ;; commits after 1.0.0.5, but ASDF fails to read the
5805 ;; "-REVISION-COMMIT" part generated by Guix.
5806 (add-after 'unpack 'patch-requirement
5807 (lambda _
5808 (substitute* "fare-quasiquote.asd"
5809 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
5810 "\"fare-utils\""))
5811 (substitute* "fare-quasiquote-optima.asd"
5812 (("\\(:version \"optima\" \"1\\.0\"\\)")
5813 "\"optima\""))
5814 #t)))))
5815 (synopsis "Pattern-matching friendly implementation of quasiquote")
5816 (description "The main purpose of this n+2nd reimplementation of
5817 quasiquote is enable matching of quasiquoted patterns, using Optima or
5818 Trivia.")
5819 (license license:expat))))
5820
5821 (define-public cl-fare-quasiquote
5822 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
5823
5824 (define-public ecl-fare-quasiquote
5825 (sbcl-package->ecl-package sbcl-fare-quasiquote))
5826
5827 ;;; Split the trivia package in two to work around the circular dependency
5828 ;;; between guicho271828/trivia and guicho271828/type-i.
5829 (define-public sbcl-trivia.trivial
5830 (let ((commit "7286d5d2a4f685f1cac8370816f95276c0851111")
5831 (revision "3"))
5832 (package
5833 (name "sbcl-trivia.trivial")
5834 (version (git-version "0.0.0" revision commit))
5835 (source
5836 (origin
5837 (method git-fetch)
5838 (uri (git-reference
5839 (url "https://github.com/guicho271828/trivia")
5840 (commit commit)))
5841 (file-name (git-file-name "trivia" version))
5842 (sha256
5843 (base32
5844 "0ln0sj3jry7kzbmxhnin66kpbqan1wp8wwgdbw4k29afbdblkcca"))))
5845 (build-system asdf-build-system/sbcl)
5846 (inputs
5847 `(("alexandria" ,sbcl-alexandria)
5848 ("closer-mop" ,sbcl-closer-mop)
5849 ("lisp-namespace" ,sbcl-lisp-namespace)
5850 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
5851 (arguments
5852 '(#:phases
5853 (modify-phases %standard-phases
5854 (add-after 'unpack 'fix-build
5855 (lambda _
5856 (for-each delete-file
5857 '("trivia.balland2006.asd"
5858 "trivia.ppcre.asd"
5859 "trivia.quasiquote.asd"
5860 "trivia.cffi.asd"
5861 "trivia.asd"
5862 "trivia.test.asd"))
5863 #t)))))
5864 (synopsis "Pattern matching in Common Lisp")
5865 (description "Trivia is a pattern matching compiler that is compatible
5866 with Optima, another pattern matching library for Common Lisp. It is meant to
5867 be faster and more extensible than Optima.")
5868 (home-page "https://github.com/guicho271828/trivia")
5869 (license license:llgpl))))
5870
5871 (define-public cl-trivia.trivial
5872 (sbcl-package->cl-source-package sbcl-trivia.trivial))
5873
5874 (define-public ecl-trivia.trivial
5875 (sbcl-package->ecl-package sbcl-trivia.trivial))
5876
5877 (define-public sbcl-trivia
5878 (package
5879 (inherit sbcl-trivia.trivial)
5880 (name "sbcl-trivia")
5881 (native-inputs
5882 `(("fiveam" ,sbcl-fiveam)
5883 ("optima" ,sbcl-optima)))
5884 (inputs
5885 `(("alexandria" ,sbcl-alexandria)
5886 ("cffi" ,sbcl-cffi)
5887 ("cl-ppcre" ,sbcl-cl-ppcre)
5888 ("fare-quasiquote" ,sbcl-fare-quasiquote)
5889 ("iterate" ,sbcl-iterate)
5890 ("trivia.trivial" ,sbcl-trivia.trivial)
5891 ("type-i" ,sbcl-type-i)))
5892 (arguments
5893 '(#:asd-systems '("trivia"
5894 "trivia.ppcre"
5895 "trivia.quasiquote"
5896 "trivia.cffi")
5897 #:test-asd-file "trivia.test.asd"
5898 #:phases
5899 (modify-phases %standard-phases
5900 (add-after 'unpack 'fix-build
5901 (lambda _
5902 (for-each delete-file
5903 '("trivia.level0.asd"
5904 "trivia.level1.asd"
5905 "trivia.level2.asd"
5906 "trivia.trivial.asd"))
5907 #t)))))))
5908
5909 (define-public cl-trivia
5910 (sbcl-package->cl-source-package sbcl-trivia))
5911
5912 (define-public ecl-trivia
5913 (sbcl-package->ecl-package sbcl-trivia))
5914
5915 (define-public sbcl-mk-string-metrics
5916 (package
5917 (name "sbcl-mk-string-metrics")
5918 (version "0.1.2")
5919 (home-page "https://github.com/cbaggers/mk-string-metrics/")
5920 (source (origin
5921 (method git-fetch)
5922 (uri (git-reference
5923 (url home-page)
5924 (commit version)))
5925 (sha256
5926 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
5927 (file-name (git-file-name name version))))
5928 (build-system asdf-build-system/sbcl)
5929 (synopsis "Calculate various string metrics efficiently in Common Lisp")
5930 (description "This library implements efficient algorithms that calculate
5931 various string metrics in Common Lisp:
5932
5933 @itemize
5934 @item Damerau-Levenshtein distance
5935 @item Hamming distance
5936 @item Jaccard similarity coefficient
5937 @item Jaro distance
5938 @item Jaro-Winkler distance
5939 @item Levenshtein distance
5940 @item Normalized Damerau-Levenshtein distance
5941 @item Normalized Levenshtein distance
5942 @item Overlap coefficient
5943 @end itemize\n")
5944 (license license:x11)))
5945
5946 (define-public cl-mk-string-metrics
5947 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
5948
5949 (define-public ecl-mk-string-metrics
5950 (sbcl-package->ecl-package sbcl-mk-string-metrics))
5951
5952 (define-public sbcl-cl-str
5953 (package
5954 (name "sbcl-cl-str")
5955 (version "0.19")
5956 (home-page "https://github.com/vindarel/cl-str")
5957 (source (origin
5958 (method git-fetch)
5959 (uri (git-reference
5960 (url home-page)
5961 (commit version)))
5962 (sha256
5963 (base32 "1jyza2jhn7w6fl4w87pv0m87z5ia48m6dqw12k0mdh7l3mgjq839"))
5964 (file-name (git-file-name name version))))
5965 (build-system asdf-build-system/sbcl)
5966 (inputs
5967 `(("cl-ppcre" ,sbcl-cl-ppcre)
5968 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
5969 ("cl-change-case" ,sbcl-cl-change-case)))
5970 (native-inputs
5971 `(("prove" ,sbcl-prove)))
5972 (arguments
5973 `(#:asd-systems '("str")
5974 #:test-asd-file "str.test.asd"))
5975 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
5976 (description "A modern and consistent Common Lisp string manipulation
5977 library that focuses on modernity, simplicity and discoverability:
5978 @code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
5979 @code{str:concat strings} instead of an unusual format construct; one
5980 discoverable library instead of many; consistency and composability, where
5981 @code{s} is always the last argument, which makes it easier to feed pipes and
5982 arrows.")
5983 (license license:expat)))
5984
5985 (define-public cl-str
5986 (sbcl-package->cl-source-package sbcl-cl-str))
5987
5988 (define-public ecl-cl-str
5989 (sbcl-package->ecl-package sbcl-cl-str))
5990
5991 (define-public sbcl-cl-xmlspam
5992 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
5993 (package
5994 (name "sbcl-cl-xmlspam")
5995 (build-system asdf-build-system/sbcl)
5996 (version (git-version "0.0.0" "1" commit))
5997 (home-page "https://github.com/rogpeppe/cl-xmlspam")
5998 (source
5999 (origin
6000 (method git-fetch)
6001 (uri (git-reference
6002 (url home-page)
6003 (commit commit)))
6004 (file-name (string-append name "-" version))
6005 (sha256
6006 (base32
6007 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6008 (inputs
6009 `(("cxml" ,sbcl-cxml)
6010 ("cl-ppcre" ,sbcl-cl-ppcre)))
6011 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6012 (description "CXML does an excellent job at parsing XML elements, but what
6013 do you do when you have a XML file that's larger than you want to fit in
6014 memory, and you want to extract some information from it? Writing code to deal
6015 with SAX events, or even using Klacks, quickly becomes tedious.
6016 @code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6017 to write code that mirrors the structure of the XML that it's parsing. It
6018 also makes it easy to shift paradigms when necessary - the usual Lisp control
6019 constructs can be used interchangeably with pattern matching, and the full
6020 power of CXML is available when necessary.")
6021 (license license:bsd-3))))
6022
6023 (define-public cl-xmlspam
6024 (sbcl-package->cl-source-package sbcl-cl-xmlspam))
6025
6026 (define-public ecl-cl-xmlspam
6027 (sbcl-package->ecl-package sbcl-cl-xmlspam))
6028
6029 (define-public sbcl-dbus
6030 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6031 (revision "1"))
6032 (package
6033 (name "sbcl-dbus")
6034 (version (git-version "20190408" revision commit))
6035 (home-page "https://github.com/death/dbus")
6036 (source
6037 (origin
6038 (method git-fetch)
6039 (uri (git-reference
6040 (url home-page)
6041 (commit commit)))
6042 (file-name (git-file-name name version))
6043 (sha256
6044 (base32
6045 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
6046 (build-system asdf-build-system/sbcl)
6047 (inputs
6048 `(("alexandria" ,sbcl-alexandria)
6049 ("trivial-garbage" ,sbcl-trivial-garbage)
6050 ("babel" ,sbcl-babel)
6051 ("iolib" ,sbcl-iolib)
6052 ("ieee-floats" ,sbcl-ieee-floats)
6053 ("flexi-streams" ,sbcl-flexi-streams)
6054 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6055 ("ironclad" ,sbcl-ironclad)))
6056 (synopsis "D-Bus client library for Common Lisp")
6057 (description "This is a Common Lisp library that publishes D-Bus
6058 objects as well as send and notify other objects connected to a bus.")
6059 (license license:bsd-2))))
6060
6061 (define-public cl-dbus
6062 (sbcl-package->cl-source-package sbcl-dbus))
6063
6064 (define-public ecl-dbus
6065 (sbcl-package->ecl-package sbcl-dbus))
6066
6067 (define-public sbcl-cl-hooks
6068 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6069 (revision "1"))
6070 (package
6071 (name "sbcl-cl-hooks")
6072 (build-system asdf-build-system/sbcl)
6073 (version (git-version "0.2.1" revision commit))
6074 (home-page "https://github.com/scymtym/architecture.hooks")
6075 (source
6076 (origin
6077 (method git-fetch)
6078 (uri (git-reference
6079 (url home-page)
6080 (commit commit)))
6081 (file-name (git-file-name name version))
6082 (sha256
6083 (base32
6084 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6085 (inputs
6086 `(("alexandria" ,sbcl-alexandria)
6087 ("let-plus" ,sbcl-let-plus)
6088 ("trivial-garbage" ,sbcl-trivial-garbage)
6089 ("closer-mop" ,sbcl-closer-mop)))
6090 (native-inputs
6091 `(("fiveam" ,sbcl-fiveam)))
6092 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6093 (description "A hook, in the present context, is a certain kind of
6094 extension point in a program that allows interleaving the execution of
6095 arbitrary code with the execution of a the program without introducing any
6096 coupling between the two. Hooks are used extensively in the extensible editor
6097 Emacs.
6098
6099 In the Common LISP Object System (CLOS), a similar kind of extensibility is
6100 possible using the flexible multi-method dispatch mechanism. It may even seem
6101 that the concept of hooks does not provide any benefits over the possibilities
6102 of CLOS. However, there are some differences:
6103
6104 @itemize
6105
6106 @item There can be only one method for each combination of specializers and
6107 qualifiers. As a result this kind of extension point cannot be used by
6108 multiple extensions independently.
6109 @item Removing code previously attached via a @code{:before}, @code{:after} or
6110 @code{:around} method can be cumbersome.
6111 @item There could be other or even multiple extension points besides @code{:before}
6112 and @code{:after} in a single method.
6113 @item Attaching codes to individual objects using eql specializers can be
6114 cumbersome.
6115 @item Introspection of code attached a particular extension point is
6116 cumbersome since this requires enumerating and inspecting the methods of a
6117 generic function.
6118 @end itemize
6119
6120 This library tries to complement some of these weaknesses of method-based
6121 extension-points via the concept of hooks.")
6122 (license license:llgpl))))
6123
6124 (define-public cl-hooks
6125 (sbcl-package->cl-source-package sbcl-cl-hooks))
6126
6127 (define-public ecl-cl-hooks
6128 (sbcl-package->ecl-package sbcl-cl-hooks))
6129
6130 (define-public sbcl-cl-autowrap
6131 (let ((revision "1")
6132 (commit "ae846d6968fc0d000de0c541638929a157f3009e"))
6133 ;; no taged branches
6134 (package
6135 (name "sbcl-cl-autowrap")
6136 (version (git-version "1.0" revision commit))
6137 (source
6138 (origin
6139 (method git-fetch)
6140 (uri (git-reference
6141 (url "https://github.com/rpav/cl-autowrap")
6142 (commit commit)))
6143 (file-name (git-file-name name version))
6144 (sha256
6145 (base32 "1gisldp2zns92kdcaikghm7c38ldy2d884n8bfg0wcjvbz78p3ar"))))
6146 (build-system asdf-build-system/sbcl)
6147 (inputs
6148 `(("alexandria" ,sbcl-alexandria)
6149 ("cffi" ,sbcl-cffi)
6150 ("cl-json" ,sbcl-cl-json)
6151 ("cl-ppcre" ,sbcl-cl-ppcre)
6152 ("defpackage-plus" ,sbcl-defpackage-plus)
6153 ("trivial-features" ,sbcl-trivial-features)))
6154 (home-page "https://github.com/rpav/cl-autowrap")
6155 (synopsis "FFI wrapper generator for Common Lisp")
6156 (description "This is a c2ffi-based wrapper generator for Common Lisp.")
6157 (license license:bsd-2))))
6158
6159 (define-public cl-autowrap
6160 (sbcl-package->cl-source-package sbcl-cl-autowrap))
6161
6162 (define-public ecl-cl-autowrap
6163 (sbcl-package->ecl-package sbcl-cl-autowrap))
6164
6165 (define-public sbcl-s-sysdeps
6166 ;; No release since 2013.
6167 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
6168 (revision "2"))
6169 (package
6170 (name "sbcl-s-sysdeps")
6171 (build-system asdf-build-system/sbcl)
6172 (version (git-version "1" revision commit))
6173 (home-page "https://github.com/svenvc/s-sysdeps")
6174 (source
6175 (origin
6176 (method git-fetch)
6177 (uri (git-reference
6178 (url home-page)
6179 (commit commit)))
6180 (file-name (git-file-name name version))
6181 (sha256
6182 (base32
6183 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
6184 (inputs
6185 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
6186 ("usocket" ,sbcl-usocket)))
6187 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6188 (description "@code{s-sysdeps} is an abstraction layer over platform
6189 dependent functionality. This simple package is used as a building block in a
6190 number of other open source projects.
6191
6192 @code{s-sysdeps} abstracts:
6193
6194 @itemize
6195 @item managing processes,
6196 @item implementing a standard TCP/IP server,
6197 @item opening a client TCP/IP socket stream,
6198 @item working with process locks.
6199 @end itemize\n")
6200 (license license:llgpl))))
6201
6202 (define-public cl-s-sysdeps
6203 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6204
6205 (define-public ecl-s-sysdeps
6206 (sbcl-package->ecl-package sbcl-s-sysdeps))
6207
6208 (define-public sbcl-cl-prevalence
6209 (let ((commit "5a76be036092ed6c18cb695a9e03bce87e21b840")
6210 (revision "4"))
6211 (package
6212 (name "sbcl-cl-prevalence")
6213 (build-system asdf-build-system/sbcl)
6214 (version (git-version "5" revision commit))
6215 (home-page "https://github.com/40ants/cl-prevalence")
6216 (source
6217 (origin
6218 (method git-fetch)
6219 (uri (git-reference
6220 (url home-page)
6221 (commit commit)))
6222 (file-name (git-file-name name version))
6223 (sha256
6224 (base32
6225 "050h6hwv8f16b5v6fzba8zmih92hgaaq27i2x9wv1iib41gbia3r"))))
6226 (inputs
6227 `(("s-sysdeps" ,sbcl-s-sysdeps)
6228 ("s-xml" ,sbcl-s-xml)))
6229 (native-inputs
6230 `(("fiveam" ,sbcl-fiveam)))
6231 (synopsis "Implementation of object prevalence for Common Lisp")
6232 (description "This Common Lisp library implements object prevalence (see
6233 @url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6234 for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6235 classes and cyclic data structures are supported.")
6236 (license license:llgpl))))
6237
6238 (define-public cl-prevalence
6239 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6240
6241 (define-public ecl-cl-prevalence
6242 (sbcl-package->ecl-package sbcl-cl-prevalence))
6243
6244 (define-public sbcl-series
6245 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6246 (revision "1"))
6247 (package
6248 (name "sbcl-series")
6249 (version (git-version "2.2.11" revision commit))
6250 (source
6251 (origin
6252 (method git-fetch)
6253 (uri (git-reference
6254 (url "git://git.code.sf.net/p/series/series")
6255 (commit commit)))
6256 (file-name (git-file-name name version))
6257 (sha256
6258 (base32
6259 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6260 (build-system asdf-build-system/sbcl)
6261 (arguments
6262 ;; Disable the tests, they are apparently buggy and I didn't find
6263 ;; a simple way to make them run and pass.
6264 '(#:tests? #f))
6265 (synopsis "Series data structure for Common Lisp")
6266 (description
6267 "This Common Lisp library provides a series data structure much like
6268 a sequence, with similar kinds of operations. The difference is that in many
6269 situations, operations on series may be composed functionally and yet execute
6270 iteratively, without the need to construct intermediate series values
6271 explicitly. In this manner, series provide both the clarity of a functional
6272 programming style and the efficiency of an iterative programming style.")
6273 (home-page "http://series.sourceforge.net/")
6274 (license license:expat))))
6275
6276 (define-public cl-series
6277 (sbcl-package->cl-source-package sbcl-series))
6278
6279 (define-public ecl-series
6280 (sbcl-package->ecl-package sbcl-series))
6281
6282 (define-public sbcl-periods
6283 (let ((commit "60383dcef88a1ac11f82804ae7a33c361dcd2949")
6284 (revision "2"))
6285 (package
6286 (name "sbcl-periods")
6287 (version (git-version "0.0.2" revision commit))
6288 (source
6289 (origin
6290 (method git-fetch)
6291 (uri (git-reference
6292 (url "https://github.com/jwiegley/periods")
6293 (commit commit)))
6294 (file-name (git-file-name name version))
6295 (sha256
6296 (base32
6297 "1ym2j4an9ig2hl210jg91gpf7xfnp6mlhkw3n9kkdnwiji3ipqlk"))))
6298 (build-system asdf-build-system/sbcl)
6299 (inputs
6300 `(("local-time" ,sbcl-local-time)
6301 ("series" ,sbcl-series)))
6302 (arguments
6303 '(#:asd-systems '("periods"
6304 "periods-series")))
6305 (synopsis "Common Lisp library for manipulating date/time objects")
6306 (description
6307 "Periods is a Common Lisp library providing a set of utilities for
6308 manipulating times, distances between times, and both contiguous and
6309 discontiguous ranges of time.")
6310 (home-page "https://github.com/jwiegley/periods")
6311 (license license:bsd-3))))
6312
6313 (define-public cl-periods
6314 (sbcl-package->cl-source-package sbcl-periods))
6315
6316 (define-public ecl-periods
6317 (sbcl-package->ecl-package sbcl-periods))
6318
6319 (define-public sbcl-metatilities-base
6320 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6321 (revision "1"))
6322 (package
6323 (name "sbcl-metatilities-base")
6324 (version (git-version "0.6.6" revision commit))
6325 (source
6326 (origin
6327 (method git-fetch)
6328 (uri (git-reference
6329 (url "https://github.com/gwkkwg/metatilities-base")
6330 (commit commit)))
6331 (file-name (git-file-name name version))
6332 (sha256
6333 (base32
6334 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6335 (build-system asdf-build-system/sbcl)
6336 (native-inputs
6337 `(("lift" ,sbcl-lift)))
6338 (synopsis "Core of the metatilities Common Lisp library")
6339 (description
6340 "Metatilities-base is the core of the metatilities Common Lisp library
6341 which implements a set of utilities.")
6342 (home-page "https://common-lisp.net/project/metatilities-base/")
6343 (license license:expat))))
6344
6345 (define-public cl-metatilities-base
6346 (sbcl-package->cl-source-package sbcl-metatilities-base))
6347
6348 (define-public ecl-metatilities-base
6349 (sbcl-package->ecl-package sbcl-metatilities-base))
6350
6351 (define-public sbcl-cl-containers
6352 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6353 (revision "3"))
6354 (package
6355 (name "sbcl-cl-containers")
6356 (version (git-version "0.12.1" revision commit))
6357 (source
6358 (origin
6359 (method git-fetch)
6360 (uri (git-reference
6361 (url "https://github.com/gwkkwg/cl-containers")
6362 (commit commit)))
6363 (file-name (git-file-name name version))
6364 (sha256
6365 (base32
6366 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
6367 (build-system asdf-build-system/sbcl)
6368 (native-inputs
6369 `(("lift" ,sbcl-lift)))
6370 (inputs
6371 `(("metatilities-base" ,sbcl-metatilities-base)))
6372 (arguments
6373 '(#:asd-files '("cl-containers.asd")
6374 #:phases
6375 (modify-phases %standard-phases
6376 (add-after 'unpack 'relax-version-checks
6377 (lambda _
6378 (substitute* "cl-containers.asd"
6379 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6380 "\"metatilities-base\""))
6381 (substitute* "cl-containers-test.asd"
6382 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6383 "\"lift\""))
6384 #t)))))
6385 (synopsis "Container library for Common Lisp")
6386 (description
6387 "Common Lisp ships with a set of powerful built in data structures
6388 including the venerable list, full featured arrays, and hash-tables.
6389 CL-containers enhances and builds on these structures by adding containers
6390 that are not available in native Lisp (for example: binary search trees,
6391 red-black trees, sparse arrays and so on), and by providing a standard
6392 interface so that they are simpler to use and so that changing design
6393 decisions becomes significantly easier.")
6394 (home-page "https://common-lisp.net/project/cl-containers/")
6395 (license license:expat))))
6396
6397 (define-public cl-containers
6398 (sbcl-package->cl-source-package sbcl-cl-containers))
6399
6400 (define-public ecl-cl-containers
6401 (sbcl-package->ecl-package sbcl-cl-containers))
6402
6403 (define-public sbcl-xlunit
6404 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6405 (revision "1"))
6406 (package
6407 (name "sbcl-xlunit")
6408 (version (git-version "0.6.3" revision commit))
6409 (source
6410 (origin
6411 (method git-fetch)
6412 (uri (git-reference
6413 (url "http://git.kpe.io/xlunit.git")
6414 (commit commit)))
6415 (file-name (git-file-name name version))
6416 (sha256
6417 (base32
6418 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6419 (build-system asdf-build-system/sbcl)
6420 (arguments
6421 '(#:phases
6422 (modify-phases %standard-phases
6423 (add-after 'unpack 'fix-tests
6424 (lambda _
6425 (substitute* "xlunit.asd"
6426 ((" :force t") ""))
6427 #t)))))
6428 (synopsis "Unit testing package for Common Lisp")
6429 (description
6430 "The XLUnit package is a toolkit for building test suites. It is based
6431 on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6432 (home-page "http://quickdocs.org/xlunit/")
6433 (license license:bsd-3))))
6434
6435 (define-public cl-xlunit
6436 (sbcl-package->cl-source-package sbcl-xlunit))
6437
6438 (define-public ecl-xlunit
6439 (sbcl-package->ecl-package sbcl-xlunit))
6440
6441 (define-public sbcl-cambl
6442 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6443 (revision "1"))
6444 (package
6445 (name "sbcl-cambl")
6446 (version (git-version "4.0.0" revision commit))
6447 (source
6448 (origin
6449 (method git-fetch)
6450 (uri (git-reference
6451 (url "https://github.com/jwiegley/cambl")
6452 (commit commit)))
6453 (file-name (git-file-name "cambl" version))
6454 (sha256
6455 (base32 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6456 (build-system asdf-build-system/sbcl)
6457 (native-inputs
6458 `(("xlunit" ,sbcl-xlunit)))
6459 (inputs
6460 `(("alexandria" ,sbcl-alexandria)
6461 ("cl-containers" ,sbcl-cl-containers)
6462 ("local-time" ,sbcl-local-time)
6463 ("periods" ,sbcl-periods)))
6464 (arguments
6465 '(#:asd-files '("fprog.asd"
6466 "cambl.asd")))
6467 (synopsis "Commoditized amounts and balances for Common Lisp")
6468 (description
6469 "CAMBL is a Common Lisp library providing a convenient facility for
6470 working with commoditized values. It does not allow compound units (and so is
6471 not suited for scientific operations) but does work rather nicely for the
6472 purpose of financial calculations.")
6473 (home-page "https://github.com/jwiegley/cambl")
6474 (license license:bsd-3))))
6475
6476 (define-public cl-cambl
6477 (sbcl-package->cl-source-package sbcl-cambl))
6478
6479 (define-public ecl-cambl
6480 (sbcl-package->ecl-package sbcl-cambl))
6481
6482 (define-public sbcl-cl-ledger
6483 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6484 (revision "1"))
6485 (package
6486 (name "sbcl-cl-ledger")
6487 (version (git-version "4.0.0" revision commit))
6488 (source
6489 (origin
6490 (method git-fetch)
6491 (uri (git-reference
6492 (url "https://github.com/ledger/cl-ledger")
6493 (commit commit)))
6494 (file-name (git-file-name name version))
6495 (sha256
6496 (base32
6497 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6498 (build-system asdf-build-system/sbcl)
6499 (inputs
6500 `(("cambl" ,sbcl-cambl)
6501 ("cl-ppcre" ,sbcl-cl-ppcre)
6502 ("local-time" ,sbcl-local-time)
6503 ("periods" ,sbcl-periods)))
6504 (arguments
6505 '(#:phases
6506 (modify-phases %standard-phases
6507 (add-after 'unpack 'fix-system-definition
6508 (lambda _
6509 (substitute* "cl-ledger.asd"
6510 ((" :build-operation program-op") "")
6511 ((" :build-pathname \"cl-ledger\"") "")
6512 ((" :entry-point \"ledger::main\"") ""))
6513 #t)))))
6514 (synopsis "Common Lisp port of the Ledger accounting system")
6515 (description
6516 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6517 system.")
6518 (home-page "https://github.com/ledger/cl-ledger")
6519 (license license:bsd-3))))
6520
6521 (define-public cl-ledger
6522 (sbcl-package->cl-source-package sbcl-cl-ledger))
6523
6524 (define-public ecl-cl-ledger
6525 (sbcl-package->ecl-package sbcl-cl-ledger))
6526
6527 (define-public sbcl-bst
6528 (let ((commit "8545aed0d504df2829ad139566feeabe22305388")
6529 (revision "0"))
6530 (package
6531 (name "sbcl-bst")
6532 (version (git-version "2.0" revision commit))
6533 (source
6534 (origin
6535 (method git-fetch)
6536 (uri (git-reference
6537 (url "https://github.com/glv2/bst")
6538 (commit commit)))
6539 (file-name (git-file-name name version))
6540 (sha256
6541 (base32 "18ig7rvxcra69437g0i8sxyv7c5dg26jqnx1rc2f9pxmihdprgk8"))))
6542 (build-system asdf-build-system/sbcl)
6543 (native-inputs
6544 `(("alexandria" ,sbcl-alexandria)
6545 ("fiveam" ,sbcl-fiveam)))
6546 (synopsis "Binary search tree for Common Lisp")
6547 (description
6548 "BST is a Common Lisp library for working with binary search trees that
6549 can contain any kind of values.")
6550 (home-page "https://github.com/glv2/bst")
6551 (license license:gpl3))))
6552
6553 (define-public cl-bst
6554 (sbcl-package->cl-source-package sbcl-bst))
6555
6556 (define-public ecl-bst
6557 (sbcl-package->ecl-package sbcl-bst))
6558
6559 (define-public sbcl-cl-octet-streams
6560 (package
6561 (name "sbcl-cl-octet-streams")
6562 (version "1.2")
6563 (source
6564 (origin
6565 (method git-fetch)
6566 (uri (git-reference
6567 (url "https://github.com/glv2/cl-octet-streams")
6568 (commit (string-append "v" version))))
6569 (file-name (git-file-name name version))
6570 (sha256
6571 (base32 "1hffh98bv4w5yrchagzwqrc43d2p473pvw7ka4kyyvhrr52dk2f8"))))
6572 (build-system asdf-build-system/sbcl)
6573 (native-inputs
6574 `(("fiveam" ,sbcl-fiveam)))
6575 (inputs
6576 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6577 (synopsis "In-memory octet streams for Common Lisp")
6578 (description
6579 "CL-octet-streams is a library implementing in-memory octet
6580 streams for Common Lisp. It was inspired by the trivial-octet-streams and
6581 cl-plumbing libraries.")
6582 (home-page "https://github.com/glv2/cl-octet-streams")
6583 (license license:gpl3+)))
6584
6585 (define-public cl-octet-streams
6586 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
6587
6588 (define-public ecl-cl-octet-streams
6589 (sbcl-package->ecl-package sbcl-cl-octet-streams))
6590
6591 (define-public sbcl-lzlib
6592 (let ((commit "cad10f5becbcfebb44b9d311a257563778803452")
6593 (revision "2"))
6594 (package
6595 (name "sbcl-lzlib")
6596 (version (git-version "1.1" revision commit))
6597 (source
6598 (origin
6599 (method git-fetch)
6600 (uri (git-reference
6601 (url "https://github.com/glv2/cl-lzlib")
6602 (commit commit)))
6603 (file-name (git-file-name name version))
6604 (sha256
6605 (base32 "09lp7li35h4jkls0448fj1sh6pjslr1w7ranbc4szjr8g0c2bdry"))))
6606 (build-system asdf-build-system/sbcl)
6607 (native-inputs
6608 `(("fiveam" ,sbcl-fiveam)))
6609 (inputs
6610 `(("cffi" ,sbcl-cffi)
6611 ("cl-octet-streams" ,sbcl-cl-octet-streams)
6612 ("lparallel" ,sbcl-lparallel)
6613 ("lzlib" ,lzlib)))
6614 (arguments
6615 '(#:phases
6616 (modify-phases %standard-phases
6617 (add-after 'unpack 'fix-paths
6618 (lambda* (#:key inputs #:allow-other-keys)
6619 (substitute* "src/lzlib.lisp"
6620 (("liblz\\.so")
6621 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
6622 #t)))))
6623 (synopsis "Common Lisp library for lzip (de)compression")
6624 (description
6625 "This Common Lisp library provides functions for lzip (LZMA)
6626 compression/decompression using bindings to the lzlib C library.")
6627 (home-page "https://github.com/glv2/cl-lzlib")
6628 (license license:gpl3+))))
6629
6630 (define-public cl-lzlib
6631 (sbcl-package->cl-source-package sbcl-lzlib))
6632
6633 (define-public ecl-lzlib
6634 (sbcl-package->ecl-package sbcl-lzlib))
6635
6636 (define-public sbcl-chanl
6637 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
6638 (revision "1"))
6639 (package
6640 (name "sbcl-chanl")
6641 (version (git-version "0.4.1" revision commit))
6642 (source
6643 (origin
6644 (method git-fetch)
6645 (uri (git-reference
6646 (url "https://github.com/zkat/chanl")
6647 (commit commit)))
6648 (file-name (git-file-name name version))
6649 (sha256
6650 (base32
6651 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
6652 (build-system asdf-build-system/sbcl)
6653 (native-inputs
6654 `(("fiveam" ,sbcl-fiveam)))
6655 (inputs
6656 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
6657 (synopsis "Portable channel-based concurrency for Common Lisp")
6658 (description "Common Lisp library for channel-based concurrency. In
6659 a nutshell, you create various threads sequentially executing tasks you need
6660 done, and use channel objects to communicate and synchronize the state of these
6661 threads.")
6662 (home-page "https://github.com/zkat/chanl")
6663 (license (list license:expat license:bsd-3)))))
6664
6665 (define-public cl-chanl
6666 (sbcl-package->cl-source-package sbcl-chanl))
6667
6668 (define-public ecl-chanl
6669 (sbcl-package->ecl-package sbcl-chanl))
6670
6671 (define-public sbcl-cl-store
6672 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
6673 (revision "1"))
6674 (package
6675 (name "sbcl-cl-store")
6676 (version (git-version "0.8.11" revision commit))
6677 (source
6678 (origin
6679 (method git-fetch)
6680 (uri (git-reference
6681 (url "https://github.com/skypher/cl-store")
6682 (commit commit)))
6683 (file-name (git-file-name name version))
6684 (sha256
6685 (base32
6686 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
6687 (build-system asdf-build-system/sbcl)
6688 (native-inputs
6689 `(("rt" ,sbcl-rt)))
6690 (synopsis "Common Lisp library to serialize data")
6691 (description
6692 "CL-STORE is a portable serialization package which should give you the
6693 ability to store all Common Lisp data types into streams.")
6694 (home-page "https://www.common-lisp.net/project/cl-store/")
6695 (license license:expat))))
6696
6697 (define-public cl-store
6698 (sbcl-package->cl-source-package sbcl-cl-store))
6699
6700 (define-public ecl-cl-store
6701 (sbcl-package->ecl-package sbcl-cl-store))
6702
6703 (define-public sbcl-specialization-store
6704 (let ((commit "8d39a866a6f24986aad3cc52349e9cb2653496f3")
6705 (revision "1"))
6706 (package
6707 (name "sbcl-specialization-store")
6708 (version (git-version "0.0.5" revision commit))
6709 (source
6710 (origin
6711 (method git-fetch)
6712 (uri (git-reference
6713 (url "https://github.com/markcox80/specialization-store")
6714 (commit commit)))
6715 (file-name (git-file-name "specialization-store" version))
6716 (sha256
6717 (base32 "0r0bgb46q4gy72l78s7djkxq8ibb4bb3yh9brsry5lih7br8lhi0"))))
6718 (build-system asdf-build-system/sbcl)
6719 (native-inputs
6720 `(("fiveam" ,sbcl-fiveam)))
6721 (inputs
6722 `(("alexandria" ,sbcl-alexandria)
6723 ("introspect-environment" ,sbcl-introspect-environment)))
6724 (home-page "https://github.com/markcox80/specialization-store")
6725 (synopsis "Different type of generic function for Common Lisp")
6726 (description
6727 "SPECIALIZATION-STORE system provides a new kind of function, called
6728 a store function, whose behavior depends on the types of objects passed to the
6729 function.")
6730 (license license:bsd-2))))
6731
6732 (define-public ecl-specialization-store
6733 (package
6734 (inherit (sbcl-package->ecl-package sbcl-specialization-store))
6735 (arguments
6736 ;; TODO: Find why the tests get stuck forever; disable them for now.
6737 `(#:tests? #f))))
6738
6739 (define-public cl-specialization-store
6740 (sbcl-package->cl-source-package sbcl-specialization-store))
6741
6742 (define-public sbcl-cl-gobject-introspection
6743 (let ((commit "d0136c8d9ade2560123af1fc55bbf70d2e3db539")
6744 (revision "1"))
6745 (package
6746 (name "sbcl-cl-gobject-introspection")
6747 (version (git-version "0.3" revision commit))
6748 (home-page "https://github.com/andy128k/cl-gobject-introspection")
6749 (source
6750 (origin
6751 (method git-fetch)
6752 (uri (git-reference
6753 (url home-page)
6754 (commit commit)))
6755 (file-name (git-file-name name version))
6756 (sha256
6757 (base32
6758 "0dz0r73pq7yhz2iq2jnkq977awx2zws2qfxdcy33329sys1ii32p"))))
6759 (build-system asdf-build-system/sbcl)
6760 (inputs
6761 `(("alexandria" ,sbcl-alexandria)
6762 ("cffi" ,sbcl-cffi)
6763 ("iterate" ,sbcl-iterate)
6764 ("trivial-garbage" ,sbcl-trivial-garbage)
6765 ("glib" ,glib)
6766 ("gobject-introspection" ,gobject-introspection)))
6767 (native-inputs
6768 `(("fiveam" ,sbcl-fiveam)))
6769 (arguments
6770 '(#:phases
6771 (modify-phases %standard-phases
6772 (add-after 'unpack 'fix-paths
6773 (lambda* (#:key inputs #:allow-other-keys)
6774 (substitute* "src/init.lisp"
6775 (("libgobject-2\\.0\\.so")
6776 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
6777 (("libgirepository-1\\.0\\.so")
6778 (string-append (assoc-ref inputs "gobject-introspection")
6779 "/lib/libgirepository-1.0.so")))
6780 #t)))))
6781 (synopsis "Common Lisp bindings to GObject Introspection")
6782 (description
6783 "This library is a bridge between Common Lisp and GObject
6784 Introspection, which enables Common Lisp programs to access the full interface
6785 of C+GObject libraries without the need of writing dedicated bindings.")
6786 (license (list license:bsd-3
6787 ;; Tests are under a different license.
6788 license:llgpl)))))
6789
6790 (define-public cl-gobject-introspection
6791 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
6792
6793 (define-public ecl-cl-gobject-introspection
6794 (sbcl-package->ecl-package sbcl-cl-gobject-introspection))
6795
6796 (define-public sbcl-cl-slug
6797 (let ((commit "ffb229d10f0d3f7f54e706791725225e200bf749")
6798 (revision "1"))
6799 (package
6800 (name "sbcl-cl-slug")
6801 (version (git-version "0.4.1" revision commit))
6802 (source
6803 (origin
6804 (method git-fetch)
6805 (uri (git-reference
6806 (url "https://github.com/EuAndreh/cl-slug")
6807 (commit commit)))
6808 (file-name (git-file-name "cl-slug" version))
6809 (sha256
6810 (base32 "1asdq6xllmsvfw5fky9wblqcx9isac9jrrlkfl7vyxcq1wxrnflx"))))
6811 (build-system asdf-build-system/sbcl)
6812 (arguments
6813 `(#:asd-files '("cl-slug-test.asd" "cl-slug.asd")
6814 #:asd-systems '("cl-slug-test" "cl-slug")))
6815 (native-inputs
6816 `(("prove" ,sbcl-prove)))
6817 (inputs
6818 `(("ppcre" ,sbcl-cl-ppcre)))
6819 (home-page "https://github.com/EuAndreh/cl-slug")
6820 (synopsis "Multi-language slug formater")
6821 (description
6822 "This is a small Common Lisp library to make slugs, mainly for URIs,
6823 from english and beyond.")
6824 (license license:llgpl))))
6825
6826 (define-public ecl-cl-slug
6827 (sbcl-package->ecl-package sbcl-cl-slug))
6828
6829 (define-public cl-slug
6830 (sbcl-package->cl-source-package sbcl-cl-slug))
6831
6832 (define-public sbcl-string-case
6833 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
6834 (revision "0"))
6835 (package
6836 (name "sbcl-string-case")
6837 (version (git-version "0.0.2" revision commit))
6838 (home-page "https://github.com/pkhuong/string-case")
6839 (source
6840 (origin
6841 (method git-fetch)
6842 (uri (git-reference
6843 (url home-page)
6844 (commit commit)))
6845 (file-name (git-file-name name version))
6846 (sha256
6847 (base32
6848 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
6849 (build-system asdf-build-system/sbcl)
6850 (synopsis "Efficient string= case in Common Lisp")
6851 (description
6852 "@code{string-case} is a Common Lisp macro that generates specialised decision
6853 trees to dispatch on string equality.")
6854 (license license:bsd-3))))
6855
6856 (define-public cl-string-case
6857 (sbcl-package->cl-source-package sbcl-string-case))
6858
6859 (define-public ecl-string-case
6860 (sbcl-package->ecl-package sbcl-string-case))
6861
6862 (define-public sbcl-garbage-pools
6863 (let ((commit "9a7cb7f48b04197c0495df3b6d2e8395ad13f790")
6864 (revision "1"))
6865 (package
6866 (name "sbcl-garbage-pools")
6867 (version (git-version "0.1.2" revision commit))
6868 (source
6869 (origin
6870 (method git-fetch)
6871 (uri (git-reference
6872 (url "https://github.com/archimag/garbage-pools")
6873 (commit commit)))
6874 (file-name (git-file-name name version))
6875 (sha256
6876 (base32 "04jqwr6j138him6wc4nrwjzm4lvyj5j31xqab02nkf8h9hmsf5v1"))))
6877 (build-system asdf-build-system/sbcl)
6878 (home-page "https://github.com/archimag/garbage-pools")
6879 (synopsis "Resource management pools for Common Lisp")
6880 (description "GARBAGE-POOLS is Common Lisp re-implementation of the APR
6881 Pools for resource management.")
6882 (license license:expat))))
6883
6884 (define-public ecl-garbage-pools
6885 (sbcl-package->ecl-package sbcl-garbage-pools))
6886
6887 (define-public cl-garbage-pools
6888 (sbcl-package->cl-source-package sbcl-garbage-pools))
6889
6890 (define-public sbcl-global-vars
6891 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
6892 (revision "0"))
6893 (package
6894 (name "sbcl-global-vars")
6895 (version (git-version "1.0.0" revision commit))
6896 (home-page "https://github.com/lmj/global-vars")
6897 (source
6898 (origin
6899 (method git-fetch)
6900 (uri (git-reference
6901 (url home-page)
6902 (commit commit)))
6903 (file-name (git-file-name name version))
6904 (sha256
6905 (base32
6906 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
6907 (build-system asdf-build-system/sbcl)
6908 (synopsis "Efficient global variables in Common Lisp")
6909 (description
6910 "In Common Lisp, a special variable that is never dynamically bound
6911 typically serves as a stand-in for a global variable. The @code{global-vars}
6912 library provides true global variables that are implemented by some compilers.
6913 An attempt to rebind a global variable properly results in a compiler error.
6914 That is, a global variable cannot be dynamically bound.
6915
6916 Global variables therefore allow us to communicate an intended usage that
6917 differs from special variables. Global variables are also more efficient than
6918 special variables, especially in the presence of threads.")
6919 (license license:expat))))
6920
6921 (define-public cl-global-vars
6922 (sbcl-package->cl-source-package sbcl-global-vars))
6923
6924 (define-public ecl-global-vars
6925 (sbcl-package->ecl-package sbcl-global-vars))
6926
6927 (define-public sbcl-trivial-file-size
6928 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
6929 (revision "0"))
6930 (package
6931 (name "sbcl-trivial-file-size")
6932 (version (git-version "0.0.0" revision commit))
6933 (home-page "https://github.com/ruricolist/trivial-file-size")
6934 (source
6935 (origin
6936 (method git-fetch)
6937 (uri (git-reference
6938 (url home-page)
6939 (commit commit)))
6940 (file-name (git-file-name name version))
6941 (sha256
6942 (base32
6943 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
6944 (build-system asdf-build-system/sbcl)
6945 (native-inputs
6946 `(("fiveam" ,sbcl-fiveam)))
6947 (synopsis "Size of a file in bytes in Common Lisp")
6948 (description
6949 "The canonical way to determine the size of a file in bytes, using Common Lisp,
6950 is to open the file with an element type of (unsigned-byte 8) and then
6951 calculate the length of the stream. This is less than ideal. In most cases
6952 it is better to get the size of the file from its metadata, using a system
6953 call.
6954
6955 This library exports a single function, file-size-in-octets. It returns the
6956 size of a file in bytes, using system calls when possible.")
6957 (license license:expat))))
6958
6959 (define-public cl-trivial-file-size
6960 (sbcl-package->cl-source-package sbcl-trivial-file-size))
6961
6962 (define-public ecl-trivial-file-size
6963 (sbcl-package->ecl-package sbcl-trivial-file-size))
6964
6965 (define-public sbcl-trivial-macroexpand-all
6966 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
6967 (revision "0"))
6968 (package
6969 (name "sbcl-trivial-macroexpand-all")
6970 (version (git-version "0.0.0" revision commit))
6971 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
6972 (source
6973 (origin
6974 (method git-fetch)
6975 (uri (git-reference
6976 (url home-page)
6977 (commit commit)))
6978 (file-name (git-file-name name version))
6979 (sha256
6980 (base32
6981 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
6982 (build-system asdf-build-system/sbcl)
6983 (native-inputs
6984 `(("fiveam" ,sbcl-fiveam)))
6985 (synopsis "Portable macroexpand-all for Common Lisp")
6986 (description
6987 "This library provides a macroexpand-all function that calls the
6988 implementation specific equivalent.")
6989 (license license:unlicense))))
6990
6991 (define-public cl-trivial-macroexpand-all
6992 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
6993
6994 (define-public ecl-trivial-macroexpand-all
6995 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
6996
6997 (define-public sbcl-serapeum
6998 (let ((commit "263f415a350736b44e3878524ff3997e656fca32")
6999 (revision "4"))
7000 (package
7001 (name "sbcl-serapeum")
7002 (version (git-version "0.0.0" revision commit))
7003 (home-page "https://github.com/ruricolist/serapeum")
7004 (source
7005 (origin
7006 (method git-fetch)
7007 (uri (git-reference
7008 (url home-page)
7009 (commit commit)))
7010 (file-name (git-file-name name version))
7011 (sha256
7012 (base32
7013 "1669yidvxq41s3g6hb2jk21bcb5s2bnfsacpyd5b0hdxbmc7knq3"))))
7014 (build-system asdf-build-system/sbcl)
7015 (inputs
7016 `(("alexandria" ,sbcl-alexandria)
7017 ("trivia" ,sbcl-trivia)
7018 ("split-sequence" ,sbcl-split-sequence)
7019 ("string-case" ,sbcl-string-case)
7020 ("parse-number" ,sbcl-parse-number)
7021 ("trivial-garbage" ,sbcl-trivial-garbage)
7022 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7023 ("named-readtables" ,sbcl-named-readtables)
7024 ("fare-quasiquote" ,sbcl-fare-quasiquote)
7025 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7026 ("global-vars" ,sbcl-global-vars)
7027 ("trivial-file-size" ,sbcl-trivial-file-size)
7028 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7029 (native-inputs
7030 `(("fiveam" ,sbcl-fiveam)
7031 ("local-time" ,sbcl-local-time)))
7032 (arguments
7033 '(#:phases
7034 (modify-phases %standard-phases
7035 (add-after 'unpack 'disable-failing-tests
7036 (lambda* (#:key inputs #:allow-other-keys)
7037 (substitute* "serapeum.asd"
7038 ;; Guix does not have Quicklisp, and probably never will.
7039 (("\\(:file \"quicklisp\"\\)") ""))
7040 #t)))))
7041 (synopsis "Common Lisp utility library beyond Alexandria")
7042 (description
7043 "Serapeum is a conservative library of Common Lisp utilities. It is a
7044 supplement, not a competitor, to Alexandria.")
7045 (license license:expat))))
7046
7047 (define-public cl-serapeum
7048 (sbcl-package->cl-source-package sbcl-serapeum))
7049
7050 (define-public ecl-serapeum
7051 (sbcl-package->ecl-package sbcl-serapeum))
7052
7053 (define-public sbcl-arrows
7054 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7055 (revision "0"))
7056 (package
7057 (name "sbcl-arrows")
7058 (version (git-version "0.2.0" revision commit))
7059 (source
7060 (origin
7061 (method git-fetch)
7062 (uri (git-reference
7063 (url "https://gitlab.com/Harleqin/arrows.git")
7064 (commit commit)))
7065 (file-name (git-file-name name version))
7066 (sha256
7067 (base32
7068 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7069 (build-system asdf-build-system/sbcl)
7070 (native-inputs
7071 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7072 (synopsis "Clojure-like arrow macros for Common Lisp")
7073 (description
7074 "This library implements the @code{->} and @code{->>} macros from
7075 Clojure, as well as several expansions on the idea.")
7076 (home-page "https://gitlab.com/Harleqin/arrows")
7077 (license license:public-domain))))
7078
7079 (define-public cl-arrows
7080 (sbcl-package->cl-source-package sbcl-arrows))
7081
7082 (define-public ecl-arrows
7083 (sbcl-package->ecl-package sbcl-arrows))
7084
7085 (define-public sbcl-simple-parallel-tasks
7086 (let ((commit "ce7b60f788d8f68dfb69b24aac54c0e3b63379a6")
7087 (revision "1"))
7088 (package
7089 (name "sbcl-simple-parallel-tasks")
7090 (version (git-version "1.0" revision commit))
7091 (source
7092 (origin
7093 (method git-fetch)
7094 (uri (git-reference
7095 (url "https://github.com/glv2/simple-parallel-tasks")
7096 (commit commit)))
7097 (file-name (git-file-name name version))
7098 (sha256
7099 (base32 "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7"))))
7100 (build-system asdf-build-system/sbcl)
7101 (native-inputs
7102 `(("fiveam" ,sbcl-fiveam)))
7103 (inputs
7104 `(("chanl" ,sbcl-chanl)))
7105 (synopsis "Common Lisp library to evaluate some forms in parallel")
7106 (description "This is a simple Common Lisp library to evaluate some
7107 forms in parallel.")
7108 (home-page "https://github.com/glv2/simple-parallel-tasks")
7109 (license license:gpl3))))
7110
7111 (define-public cl-simple-parallel-tasks
7112 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7113
7114 (define-public ecl-simple-parallel-tasks
7115 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7116
7117 (define-public sbcl-cl-heap
7118 (package
7119 (name "sbcl-cl-heap")
7120 (version "0.1.6")
7121 (source
7122 (origin
7123 (method url-fetch)
7124 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7125 "cl-heap_" version ".tar.gz"))
7126 (sha256
7127 (base32
7128 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7129 (build-system asdf-build-system/sbcl)
7130 (native-inputs
7131 `(("xlunit" ,sbcl-xlunit)))
7132 (arguments
7133 `(#:test-asd-file "cl-heap-tests.asd"))
7134 (synopsis "Heap and priority queue data structures for Common Lisp")
7135 (description
7136 "CL-HEAP provides various implementations of heap data structures (a
7137 binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7138 (home-page "https://common-lisp.net/project/cl-heap/")
7139 (license license:gpl3+)))
7140
7141 (define-public cl-heap
7142 (sbcl-package->cl-source-package sbcl-cl-heap))
7143
7144 (define-public ecl-cl-heap
7145 (sbcl-package->ecl-package sbcl-cl-heap))
7146
7147 (define-public sbcl-curry-compose-reader-macros
7148 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7149 (revision "0"))
7150 (package
7151 (name "sbcl-curry-compose-reader-macros")
7152 (version (git-version "1.0.0" revision commit))
7153 (source
7154 (origin
7155 (method git-fetch)
7156 (uri
7157 (git-reference
7158 (url "https://github.com/eschulte/curry-compose-reader-macros")
7159 (commit commit)))
7160 (file-name (git-file-name name version))
7161 (sha256
7162 (base32
7163 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7164 (build-system asdf-build-system/sbcl)
7165 (inputs
7166 `(("alexandria" ,sbcl-alexandria)
7167 ("named-readtables" ,sbcl-named-readtables)))
7168 (synopsis "Reader macros for partial application and composition")
7169 (description
7170 "This Common Lisp library provides reader macros for concise expression
7171 of function partial application and composition.")
7172 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7173 (license license:public-domain))))
7174
7175 (define-public cl-curry-compose-reader-macros
7176 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7177
7178 (define-public ecl-curry-compose-reader-macros
7179 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7180
7181 (define-public sbcl-yason
7182 (package
7183 (name "sbcl-yason")
7184 (version "0.7.7")
7185 (source
7186 (origin
7187 (method git-fetch)
7188 (uri (git-reference
7189 (url "https://github.com/phmarek/yason")
7190 (commit (string-append "v" version))))
7191 (file-name (git-file-name name version))
7192 (sha256
7193 (base32
7194 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7195 (build-system asdf-build-system/sbcl)
7196 (inputs
7197 `(("alexandria" ,sbcl-alexandria)
7198 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7199 (synopsis "Common Lisp JSON parser/encoder")
7200 (description
7201 "YASON is a Common Lisp library for encoding and decoding data in the
7202 JSON interchange format.")
7203 (home-page "https://github.com/phmarek/yason")
7204 (license license:bsd-3)))
7205
7206 (define-public cl-yason
7207 (sbcl-package->cl-source-package sbcl-yason))
7208
7209 (define-public ecl-yason
7210 (sbcl-package->ecl-package sbcl-yason))
7211
7212 (define-public sbcl-stefil
7213 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7214 (revision "0"))
7215 (package
7216 (name "sbcl-stefil")
7217 (version (git-version "0.1" revision commit))
7218 (source
7219 (origin
7220 (method git-fetch)
7221 (uri (git-reference
7222 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7223 (commit commit)))
7224 (file-name (git-file-name name version))
7225 (sha256
7226 (base32
7227 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7228 (build-system asdf-build-system/sbcl)
7229 (inputs
7230 `(("alexandria" ,sbcl-alexandria)
7231 ("iterate" ,sbcl-iterate)
7232 ("metabang-bind" ,sbcl-metabang-bind)
7233 ("swank" ,sbcl-slime-swank)))
7234 (arguments
7235 '(#:phases
7236 (modify-phases %standard-phases
7237 (add-after 'unpack 'drop-unnecessary-dependency
7238 (lambda _
7239 (substitute* "package.lisp"
7240 ((":stefil-system") ""))
7241 #t)))))
7242 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7243 (synopsis "Simple test framework")
7244 (description
7245 "Stefil is a simple test framework for Common Lisp, with a focus on
7246 interactive development.")
7247 (license license:public-domain))))
7248
7249 (define-public cl-stefil
7250 (sbcl-package->cl-source-package sbcl-stefil))
7251
7252 (define-public ecl-stefil
7253 (sbcl-package->ecl-package sbcl-stefil))
7254
7255 (define-public sbcl-graph
7256 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7257 (revision "0"))
7258 (package
7259 (name "sbcl-graph")
7260 (version (git-version "0.0.0" revision commit))
7261 (source
7262 (origin
7263 (method git-fetch)
7264 (uri
7265 (git-reference
7266 (url "https://github.com/eschulte/graph")
7267 (commit commit)))
7268 (file-name (git-file-name name version))
7269 (sha256
7270 (base32
7271 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))))
7272 (build-system asdf-build-system/sbcl)
7273 (native-inputs
7274 `(("stefil" ,sbcl-stefil)))
7275 (inputs
7276 `(("alexandria" ,sbcl-alexandria)
7277 ("cl-heap" ,sbcl-cl-heap)
7278 ("cl-ppcre" ,sbcl-cl-ppcre)
7279 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7280 ("metabang-bind" ,sbcl-metabang-bind)
7281 ("named-readtables" ,sbcl-named-readtables)
7282 ("yason" ,sbcl-yason)))
7283 (arguments
7284 '(#:asd-systems '("graph"
7285 "graph/dot"
7286 "graph/json")))
7287 (synopsis "Graph data structure and algorithms for Common Lisp")
7288 (description
7289 "The GRAPH Common Lisp library provides a data structures to represent
7290 graphs, as well as some graph manipulation and analysis algorithms (shortest
7291 path, maximum flow, minimum spanning tree, etc.).")
7292 (home-page "https://eschulte.github.io/graph/")
7293 (license license:gpl3+))))
7294
7295 (define-public cl-graph
7296 (sbcl-package->cl-source-package sbcl-graph))
7297
7298 (define-public ecl-graph
7299 (sbcl-package->ecl-package sbcl-graph))
7300
7301 (define-public sbcl-trivial-indent
7302 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7303 (revision "0"))
7304 (package
7305 (name "sbcl-trivial-indent")
7306 (version (git-version "1.0.0" revision commit))
7307 (source
7308 (origin
7309 (method git-fetch)
7310 (uri
7311 (git-reference
7312 (url "https://github.com/Shinmera/trivial-indent")
7313 (commit commit)))
7314 (file-name (git-file-name name version))
7315 (sha256
7316 (base32
7317 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7318 (build-system asdf-build-system/sbcl)
7319 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7320 (description
7321 "This library allows you to define custom indentation hints for your
7322 macros if the one recognised by SLIME automatically produces unwanted
7323 results.")
7324 (home-page "https://shinmera.github.io/trivial-indent/")
7325 (license license:zlib))))
7326
7327 (define-public cl-trivial-indent
7328 (sbcl-package->cl-source-package sbcl-trivial-indent))
7329
7330 (define-public ecl-trivial-indent
7331 (sbcl-package->ecl-package sbcl-trivial-indent))
7332
7333 (define-public sbcl-documentation-utils
7334 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7335 (revision "0"))
7336 (package
7337 (name "sbcl-documentation-utils")
7338 (version (git-version "1.2.0" revision commit))
7339 (source
7340 (origin
7341 (method git-fetch)
7342 (uri
7343 (git-reference
7344 (url "https://github.com/Shinmera/documentation-utils")
7345 (commit commit)))
7346 (file-name (git-file-name name version))
7347 (sha256
7348 (base32
7349 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7350 (build-system asdf-build-system/sbcl)
7351 (inputs
7352 `(("trivial-indent" ,sbcl-trivial-indent)))
7353 (synopsis "Few simple tools to document Common Lisp libraries")
7354 (description
7355 "This is a small library to help you with managing the Common Lisp
7356 docstrings for your library.")
7357 (home-page "https://shinmera.github.io/documentation-utils/")
7358 (license license:zlib))))
7359
7360 (define-public cl-documentation-utils
7361 (sbcl-package->cl-source-package sbcl-documentation-utils))
7362
7363 (define-public ecl-documentation-utils
7364 (sbcl-package->ecl-package sbcl-documentation-utils))
7365
7366 (define-public sbcl-documentation-utils-extensions
7367 (let ((commit "f67f8a05d583174662a594b79356b201c1d9d750"))
7368 (package
7369 (name "sbcl-documentation-utils-extensions")
7370 (version (git-version "0.0.0" "1" commit))
7371 (source
7372 (origin
7373 (method git-fetch)
7374 (uri
7375 (git-reference
7376 (url "https://github.com/sirherrbatka/documentation-utils-extensions/")
7377 (commit commit)))
7378 (file-name (git-file-name name version))
7379 (sha256
7380 (base32
7381 "0pn45c9rbxlnhn5nvhqz6kyv0nlirwxpg4j27niwdq80yxzsn51f"))))
7382 (build-system asdf-build-system/sbcl)
7383 (inputs
7384 `(("documentation-utils" ,sbcl-documentation-utils)))
7385 (home-page "https://github.com/sirherrbatka/documentation-utils-extensions")
7386 (synopsis "Set of extensions for documentation-utils")
7387 (description
7388 "Use @code{rich-formatter} to format documentation with sections @code{:syntax},
7389 @code{:arguments}, @code{:examples}, @code{:description}, @code{:returns},
7390 @code{:side-effects}, @code{:thread-safety}, @code{:affected-by},
7391 @code{:see-also} and @code{:notes}. Gather unformatted input by using
7392 @code{rich-aggregating-formatter} and @code{*DOCUMENTATION*} variable. Find
7393 gathered documentation with find-documentation function. Execute code stored
7394 in documentation with @code{execute-documentation}. See the examples in the
7395 @code{src/documentation.lisp} file. See the @code{documentation-utils} system
7396 for more information.")
7397 (license license:expat))))
7398
7399 (define-public cl-documentation-utils-extensions
7400 (sbcl-package->cl-source-package sbcl-documentation-utils-extensions))
7401
7402 (define-public ecl-documentation-utils-extensions
7403 (sbcl-package->ecl-package sbcl-documentation-utils-extensions))
7404
7405 (define-public sbcl-form-fiddle
7406 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7407 (revision "0"))
7408 (package
7409 (name "sbcl-form-fiddle")
7410 (version (git-version "1.1.0" revision commit))
7411 (source
7412 (origin
7413 (method git-fetch)
7414 (uri
7415 (git-reference
7416 (url "https://github.com/Shinmera/form-fiddle")
7417 (commit commit)))
7418 (file-name (git-file-name name version))
7419 (sha256
7420 (base32
7421 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7422 (build-system asdf-build-system/sbcl)
7423 (inputs
7424 `(("documentation-utils" ,sbcl-documentation-utils)))
7425 (synopsis "Utilities to destructure Common Lisp lambda forms")
7426 (description
7427 "Often times we need to destructure a form definition in a Common Lisp
7428 macro. This library provides a set of simple utilities to help with that.")
7429 (home-page "https://shinmera.github.io/form-fiddle/")
7430 (license license:zlib))))
7431
7432 (define-public cl-form-fiddle
7433 (sbcl-package->cl-source-package sbcl-form-fiddle))
7434
7435 (define-public ecl-form-fiddle
7436 (sbcl-package->ecl-package sbcl-form-fiddle))
7437
7438 (define-public sbcl-parachute
7439 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7440 (revision "0"))
7441 (package
7442 (name "sbcl-parachute")
7443 (version (git-version "1.1.1" revision commit))
7444 (source
7445 (origin
7446 (method git-fetch)
7447 (uri
7448 (git-reference
7449 (url "https://github.com/Shinmera/parachute")
7450 (commit commit)))
7451 (file-name (git-file-name name version))
7452 (sha256
7453 (base32
7454 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7455 (build-system asdf-build-system/sbcl)
7456 (inputs
7457 `(("documentation-utils" ,sbcl-documentation-utils)
7458 ("form-fiddle" ,sbcl-form-fiddle)))
7459 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7460 (description
7461 "Parachute is a simple-to-use and extensible testing framework.
7462 In Parachute, things are organised as a bunch of named tests within a package.
7463 Each test can contain a bunch of test forms that make up its body.")
7464 (home-page "https://shinmera.github.io/parachute/")
7465 (license license:zlib))))
7466
7467 (define-public cl-parachute
7468 (sbcl-package->cl-source-package sbcl-parachute))
7469
7470 (define-public ecl-parachute
7471 (sbcl-package->ecl-package sbcl-parachute))
7472
7473 (define-public sbcl-array-utils
7474 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7475 (revision "0"))
7476 (package
7477 (name "sbcl-array-utils")
7478 (version (git-version "1.1.1" revision commit))
7479 (source
7480 (origin
7481 (method git-fetch)
7482 (uri
7483 (git-reference
7484 (url "https://github.com/Shinmera/array-utils")
7485 (commit commit)))
7486 (file-name (git-file-name name version))
7487 (sha256
7488 (base32
7489 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7490 (build-system asdf-build-system/sbcl)
7491 (native-inputs
7492 `(("parachute" ,sbcl-parachute)))
7493 (inputs
7494 `(("documentation-utils" ,sbcl-documentation-utils)))
7495 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7496 (description
7497 "A miniature toolkit that contains some useful shifting/popping/pushing
7498 functions for arrays and vectors. Originally from Plump.")
7499 (home-page "https://shinmera.github.io/array-utils/")
7500 (license license:zlib))))
7501
7502 (define-public cl-array-utils
7503 (sbcl-package->cl-source-package sbcl-array-utils))
7504
7505 (define-public ecl-array-utils
7506 (sbcl-package->ecl-package sbcl-array-utils))
7507
7508 (define-public sbcl-plump
7509 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
7510 (revision "1"))
7511 (package
7512 (name "sbcl-plump")
7513 (version (git-version "2.0.0" revision commit))
7514 (source
7515 (origin
7516 (method git-fetch)
7517 (uri
7518 (git-reference
7519 (url "https://github.com/Shinmera/plump")
7520 (commit commit)))
7521 (file-name (git-file-name name version))
7522 (sha256
7523 (base32
7524 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
7525 (build-system asdf-build-system/sbcl)
7526 (inputs
7527 `(("array-utils" ,sbcl-array-utils)
7528 ("documentation-utils" ,sbcl-documentation-utils)))
7529 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7530 (description
7531 "Plump is a parser for HTML/XML-like documents, focusing on being
7532 lenient towards invalid markup. It can handle things like invalid attributes,
7533 bad closing tag order, unencoded entities, inexistent tag types, self-closing
7534 tags and so on. It parses documents to a class representation and offers a
7535 small set of DOM functions to manipulate it. It can be extended to parse to
7536 your own classes.")
7537 (home-page "https://shinmera.github.io/plump/")
7538 (license license:zlib))))
7539
7540 (define-public cl-plump
7541 (sbcl-package->cl-source-package sbcl-plump))
7542
7543 (define-public ecl-plump
7544 (sbcl-package->ecl-package sbcl-plump))
7545
7546 ;;; Split the antik package in two to work around the circular dependency
7547 ;;; between antik/antik and antik/gsll.
7548 (define-public sbcl-antik-base
7549 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7550 (revision "1"))
7551 (package
7552 (name "sbcl-antik-base")
7553 (version (git-version "0.0.0" revision commit))
7554 (source
7555 (origin
7556 (method git-fetch)
7557 (uri (git-reference
7558 (url "https://gitlab.common-lisp.net/antik/antik.git")
7559 (commit commit)))
7560 (file-name (git-file-name name version))
7561 (sha256
7562 (base32
7563 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7564 (build-system asdf-build-system/sbcl)
7565 (inputs
7566 `(("alexandria" ,sbcl-alexandria)
7567 ("cffi" ,sbcl-cffi)
7568 ("cl-ppcre" ,sbcl-cl-ppcre)
7569 ("drakma" ,sbcl-drakma)
7570 ("fare-utils" ,sbcl-fare-utils)
7571 ("iterate" ,sbcl-iterate)
7572 ("metabang-bind" ,sbcl-metabang-bind)
7573 ("named-readtables" ,sbcl-named-readtables)
7574 ("split-sequence" ,sbcl-split-sequence)
7575 ("static-vectors" ,sbcl-static-vectors)
7576 ("trivial-garbage" ,sbcl-trivial-garbage)
7577 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7578 (native-inputs
7579 `(("lisp-unit" ,sbcl-lisp-unit)))
7580 (arguments
7581 '(#:asd-systems '("antik-base"
7582 "foreign-array")
7583 #:phases
7584 (modify-phases %standard-phases
7585 (add-after 'unpack 'fix-build
7586 (lambda _
7587 (for-each delete-file
7588 '("antik.asd"
7589 "physical-dimension.asd"
7590 "science-data.asd"))
7591 #t)))))
7592 (synopsis "Scientific and engineering computation in Common Lisp")
7593 (description
7594 "Antik provides a foundation for scientific and engineering
7595 computation in Common Lisp. It is designed not only to facilitate
7596 numerical computations, but to permit the use of numerical computation
7597 libraries and the interchange of data and procedures, whether
7598 foreign (non-Lisp) or Lisp libraries. It is named after the
7599 Antikythera mechanism, one of the oldest examples of a scientific
7600 computer known.")
7601 (home-page "https://common-lisp.net/project/antik/")
7602 (license license:gpl3))))
7603
7604 (define-public cl-antik-base
7605 (sbcl-package->cl-source-package sbcl-antik-base))
7606
7607 (define-public ecl-antik-base
7608 (let ((pkg (sbcl-package->ecl-package sbcl-antik-base)))
7609 (package
7610 (inherit pkg)
7611 (arguments
7612 (substitute-keyword-arguments (package-arguments pkg)
7613 ((#:phases phases)
7614 `(modify-phases ,phases
7615 (add-after 'unpack 'fix-readtable
7616 (lambda _
7617 (substitute* "input-output/readtable.lisp"
7618 (("#-ccl")
7619 "#-(or ccl ecl)"))
7620 #t)))))))))
7621
7622 (define-public sbcl-gsll
7623 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7624 (revision "1"))
7625 (package
7626 (name "sbcl-gsll")
7627 (version (git-version "0.0.0" revision commit))
7628 (source
7629 (origin
7630 (method git-fetch)
7631 (uri (git-reference
7632 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7633 (commit commit)))
7634 (file-name (git-file-name name version))
7635 (sha256
7636 (base32
7637 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7638 (build-system asdf-build-system/sbcl)
7639 (native-inputs
7640 `(("lisp-unit" ,sbcl-lisp-unit)))
7641 (inputs
7642 `(("alexandria" ,sbcl-alexandria)
7643 ("antik-base" ,sbcl-antik-base)
7644 ("cffi" ,sbcl-cffi)
7645 ("gsl" ,gsl)
7646 ("metabang-bind" ,sbcl-metabang-bind)
7647 ("trivial-features" ,sbcl-trivial-features)
7648 ("trivial-garbage" ,sbcl-trivial-garbage)))
7649 (arguments
7650 `(#:tests? #f
7651 #:phases
7652 (modify-phases %standard-phases
7653 (add-after 'unpack 'fix-cffi-paths
7654 (lambda* (#:key inputs #:allow-other-keys)
7655 (substitute* "gsll.asd"
7656 ((":depends-on \\(#:foreign-array")
7657 ":depends-on (#:foreign-array #:cffi-libffi"))
7658 (substitute* "init/init.lisp"
7659 (("libgslcblas.so" all)
7660 (string-append
7661 (assoc-ref inputs "gsl") "/lib/" all)))
7662 (substitute* "init/init.lisp"
7663 (("libgsl.so" all)
7664 (string-append
7665 (assoc-ref inputs "gsl") "/lib/" all))))))))
7666 (synopsis "GNU Scientific Library for Lisp")
7667 (description
7668 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
7669 GNU Scientific Library (GSL) from Common Lisp. This library provides a
7670 full range of common mathematical operations useful to scientific and
7671 engineering applications. The design of the GSLL interface is such
7672 that access to most of the GSL library is possible in a Lisp-natural
7673 way; the intent is that the user not be hampered by the restrictions
7674 of the C language in which GSL has been written. GSLL thus provides
7675 interactive use of GSL for getting quick answers, even for someone not
7676 intending to program in Lisp.")
7677 (home-page "https://common-lisp.net/project/gsll/")
7678 (license license:gpl3))))
7679
7680 (define-public cl-gsll
7681 (sbcl-package->cl-source-package sbcl-gsll))
7682
7683 (define-public ecl-gsll
7684 (sbcl-package->ecl-package sbcl-gsll))
7685
7686 (define-public sbcl-antik
7687 (package
7688 (inherit sbcl-antik-base)
7689 (name "sbcl-antik")
7690 (inputs
7691 `(("antik-base" ,sbcl-antik-base)
7692 ("gsll" ,sbcl-gsll)))
7693 (arguments
7694 '(#:asd-systems '("antik"
7695 "science-data")
7696 #:phases
7697 (modify-phases %standard-phases
7698 (add-after 'unpack 'fix-build
7699 (lambda _
7700 (for-each delete-file
7701 '("antik-base.asd"
7702 "foreign-array.asd"))
7703 #t)))))))
7704
7705 (define-public cl-antik
7706 (sbcl-package->cl-source-package sbcl-antik))
7707
7708 (define-public sbcl-cl-interpol
7709 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
7710 (revision "1"))
7711 (package
7712 (name "sbcl-cl-interpol")
7713 (version (git-version "0.2.6" revision commit))
7714 (source
7715 (origin
7716 (method git-fetch)
7717 (uri (git-reference
7718 (url "https://github.com/edicl/cl-interpol")
7719 (commit commit)))
7720 (file-name (git-file-name name version))
7721 (sha256
7722 (base32
7723 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
7724 (build-system asdf-build-system/sbcl)
7725 (inputs
7726 `(("cl-unicode" ,sbcl-cl-unicode)
7727 ("named-readtables" ,sbcl-named-readtables)))
7728 (native-inputs
7729 `(("flexi-streams" ,sbcl-flexi-streams)))
7730 (synopsis "String interpolation for Common Lisp")
7731 (description
7732 "CL-INTERPOL is a library for Common Lisp which modifies the
7733 reader so that you can have interpolation within strings similar to
7734 Perl or Unix Shell scripts. It also provides various ways to insert
7735 arbitrary characters into literal strings even if your editor/IDE
7736 doesn't support them.")
7737 (home-page "https://edicl.github.io/cl-interpol/")
7738 (license license:bsd-3))))
7739
7740 (define-public cl-interpol
7741 (sbcl-package->cl-source-package sbcl-cl-interpol))
7742
7743 (define-public ecl-cl-interpol
7744 (sbcl-package->ecl-package sbcl-cl-interpol))
7745
7746 (define-public sbcl-symbol-munger
7747 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
7748 (revision "1"))
7749 (package
7750 (name "sbcl-symbol-munger")
7751 (version (git-version "0.0.1" revision commit))
7752 (source
7753 (origin
7754 (method git-fetch)
7755 (uri (git-reference
7756 (url "https://github.com/AccelerationNet/symbol-munger")
7757 (commit commit)))
7758 (file-name (git-file-name name version))
7759 (sha256
7760 (base32
7761 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
7762 (build-system asdf-build-system/sbcl)
7763 (inputs
7764 `(("alexandria" ,sbcl-alexandria)
7765 ("iterate" ,sbcl-iterate)))
7766 (arguments
7767 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7768 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7769 '(#:tests? #f))
7770 (synopsis
7771 "Capitalization and spacing conversion functions for Common Lisp")
7772 (description
7773 "This is a Common Lisp library to change the capitalization and spacing
7774 of a string or a symbol. It can convert to and from Lisp, english, underscore
7775 and camel-case rules.")
7776 (home-page "https://github.com/AccelerationNet/symbol-munger")
7777 ;; The package declares a BSD license, but all of the license
7778 ;; text is MIT.
7779 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
7780 (license license:expat))))
7781
7782 (define-public cl-symbol-munger
7783 (sbcl-package->cl-source-package sbcl-symbol-munger))
7784
7785 (define-public ecl-symbol-munger
7786 (sbcl-package->ecl-package sbcl-symbol-munger))
7787
7788 (define-public sbcl-lisp-unit2
7789 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7790 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7791 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
7792 (revision "1"))
7793 (package
7794 (name "sbcl-lisp-unit2")
7795 (version (git-version "0.2.0" revision commit))
7796 (source
7797 (origin
7798 (method git-fetch)
7799 (uri (git-reference
7800 (url "https://github.com/AccelerationNet/lisp-unit2")
7801 (commit commit)))
7802 (file-name (git-file-name name version))
7803 (sha256
7804 (base32
7805 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
7806 (build-system asdf-build-system/sbcl)
7807 (inputs
7808 `(("alexandria" ,sbcl-alexandria)
7809 ("cl-interpol" ,sbcl-cl-interpol)
7810 ("iterate" ,sbcl-iterate)
7811 ("symbol-munger" ,sbcl-symbol-munger)))
7812 (synopsis "Test Framework for Common Lisp")
7813 (description
7814 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
7815 style of JUnit for Java. It is a new version of the lisp-unit library written
7816 by Chris Riesbeck.")
7817 (home-page "https://github.com/AccelerationNet/lisp-unit2")
7818 (license license:expat))))
7819
7820 (define-public cl-lisp-unit2
7821 (sbcl-package->cl-source-package sbcl-lisp-unit2))
7822
7823 (define-public ecl-lisp-unit2
7824 (sbcl-package->ecl-package sbcl-lisp-unit2))
7825
7826 (define-public sbcl-cl-csv
7827 (let ((commit "68ecb5d816545677513d7f6308d9e5e8d2265651")
7828 (revision "2"))
7829 (package
7830 (name "sbcl-cl-csv")
7831 (version (git-version "1.0.6" revision commit))
7832 (source
7833 (origin
7834 (method git-fetch)
7835 (uri (git-reference
7836 (url "https://github.com/AccelerationNet/cl-csv")
7837 (commit commit)))
7838 (file-name (git-file-name name version))
7839 (sha256
7840 (base32
7841 "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x"))))
7842 (build-system asdf-build-system/sbcl)
7843 (arguments
7844 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
7845 `(#:tests? #f))
7846 (inputs
7847 `(("alexandria" ,sbcl-alexandria)
7848 ("cl-interpol" ,sbcl-cl-interpol)
7849 ("iterate" ,sbcl-iterate)))
7850 (native-inputs
7851 `(("lisp-unit2" ,sbcl-lisp-unit2)))
7852 (synopsis "Common lisp library for comma-separated values")
7853 (description
7854 "This is a Common Lisp library providing functions to read/write CSV
7855 from/to strings, streams and files.")
7856 (home-page "https://github.com/AccelerationNet/cl-csv")
7857 (license license:bsd-3))))
7858
7859 (define-public cl-csv
7860 (sbcl-package->cl-source-package sbcl-cl-csv))
7861
7862 (define-public ecl-cl-csv
7863 (sbcl-package->ecl-package sbcl-cl-csv))
7864
7865 (define-public sbcl-external-program
7866 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
7867 (revision "1"))
7868 (package
7869 (name "sbcl-external-program")
7870 (version (git-version "0.0.6" revision commit))
7871 (source
7872 (origin
7873 (method git-fetch)
7874 (uri (git-reference
7875 (url "https://github.com/sellout/external-program")
7876 (commit commit)))
7877 (file-name (git-file-name name version))
7878 (sha256
7879 (base32
7880 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
7881 (build-system asdf-build-system/sbcl)
7882 (inputs
7883 `(("trivial-features" ,sbcl-trivial-features)))
7884 (native-inputs
7885 `(("fiveam" ,sbcl-fiveam)))
7886 (synopsis "Common Lisp library for running external programs")
7887 (description
7888 "EXTERNAL-PROGRAM enables running programs outside the Lisp
7889 process. It is an attempt to make the RUN-PROGRAM functionality in
7890 implementations like SBCL and CCL as portable as possible without
7891 sacrificing much in the way of power.")
7892 (home-page "https://github.com/sellout/external-program")
7893 (license license:llgpl))))
7894
7895 (define-public cl-external-program
7896 (sbcl-package->cl-source-package sbcl-external-program))
7897
7898 (define-public ecl-external-program
7899 (sbcl-package->ecl-package sbcl-external-program))
7900
7901 (define-public sbcl-cl-ana
7902 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
7903 (revision "1"))
7904 (package
7905 (name "sbcl-cl-ana")
7906 (version (git-version "0.0.0" revision commit))
7907 (source
7908 (origin
7909 (method git-fetch)
7910 (uri (git-reference
7911 (url "https://github.com/ghollisjr/cl-ana")
7912 (commit commit)))
7913 (file-name (git-file-name name version))
7914 (sha256
7915 (base32 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
7916 (build-system asdf-build-system/sbcl)
7917 (native-inputs
7918 `(("cl-fad" ,sbcl-cl-fad)))
7919 (inputs
7920 `(("alexandria" ,sbcl-alexandria)
7921 ("antik" ,sbcl-antik)
7922 ("cffi" ,sbcl-cffi)
7923 ("cl-csv" ,sbcl-cl-csv)
7924 ("closer-mop" ,sbcl-closer-mop)
7925 ("external-program" ,sbcl-external-program)
7926 ("gsl" ,gsl)
7927 ("gsll" ,sbcl-gsll)
7928 ("hdf5" ,hdf5-parallel-openmpi)
7929 ("iterate" ,sbcl-iterate)
7930 ("libffi" ,libffi)
7931 ("split-sequence" ,sbcl-split-sequence)))
7932 (arguments
7933 `(#:phases
7934 (modify-phases %standard-phases
7935 (add-after 'unpack 'fix-paths
7936 (lambda* (#:key inputs #:allow-other-keys)
7937 (substitute* "hdf-cffi/hdf-cffi.lisp"
7938 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
7939 (string-append (assoc-ref inputs "hdf5")
7940 "/lib/libhdf5.so")))
7941 (substitute* "gsl-cffi/gsl-cffi.lisp"
7942 (("define-foreign-library gsl-cffi" all)
7943 (string-append all " (:unix "
7944 (assoc-ref inputs "gsl")
7945 "/lib/libgsl.so)")))
7946 #t)))))
7947 (synopsis "Common Lisp data analysis library")
7948 (description
7949 "CL-ANA is a data analysis library in Common Lisp providing tabular and
7950 binned data analysis along with nonlinear least squares fitting and
7951 visualization.")
7952 (home-page "https://github.com/ghollisjr/cl-ana")
7953 (license license:gpl3))))
7954
7955 (define-public cl-ana
7956 (sbcl-package->cl-source-package sbcl-cl-ana))
7957
7958 (define-public sbcl-archive
7959 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
7960 (revision "1"))
7961 (package
7962 (name "sbcl-archive")
7963 (version (git-version "0.9" revision commit))
7964 (source (origin
7965 (method git-fetch)
7966 (uri (git-reference
7967 (url "https://github.com/sharplispers/archive")
7968 (commit commit)))
7969 (file-name (git-file-name name version))
7970 (sha256
7971 (base32
7972 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
7973 (build-system asdf-build-system/sbcl)
7974 (inputs
7975 `(("cl-fad" ,sbcl-cl-fad)
7976 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7977 (synopsis "Common Lisp library for tar and cpio archives")
7978 (description
7979 "This is a Common Lisp library to read and write disk-based file
7980 archives such as those generated by the tar and cpio programs on Unix.")
7981 (home-page "https://github.com/sharplispers/archive")
7982 (license license:bsd-3))))
7983
7984 (define-public cl-archive
7985 (sbcl-package->cl-source-package sbcl-archive))
7986
7987 (define-public ecl-archive
7988 (sbcl-package->ecl-package sbcl-archive))
7989
7990 (define-public sbcl-misc-extensions
7991 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
7992 (revision "1"))
7993 (package
7994 (name "sbcl-misc-extensions")
7995 (version (git-version "3.3" revision commit))
7996 (source
7997 (origin
7998 (method git-fetch)
7999 (uri (git-reference
8000 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
8001 (commit commit)))
8002 (file-name (git-file-name name version))
8003 (sha256
8004 (base32
8005 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
8006 (build-system asdf-build-system/sbcl)
8007 (synopsis "Collection of small macros and extensions for Common Lisp")
8008 (description
8009 "This project is intended as a catchall for small, general-purpose
8010 extensions to Common Lisp. It contains:
8011
8012 @itemize
8013 @item @code{new-let}, a macro that combines and generalizes @code{let},
8014 @code{let*} and @code{multiple-value-bind},
8015 @item @code{gmap}, an iteration macro that generalizes @code{map}.
8016 @end itemize\n")
8017 (home-page "https://common-lisp.net/project/misc-extensions/")
8018 (license license:public-domain))))
8019
8020 (define-public cl-misc-extensions
8021 (sbcl-package->cl-source-package sbcl-misc-extensions))
8022
8023 (define-public ecl-misc-extensions
8024 (sbcl-package->ecl-package sbcl-misc-extensions))
8025
8026 (define-public sbcl-mt19937
8027 (package
8028 (name "sbcl-mt19937")
8029 (version "1.1")
8030 (source
8031 (origin
8032 (method url-fetch)
8033 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
8034 "mt19937-latest.tar.gz"))
8035 (sha256
8036 (base32
8037 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
8038 (build-system asdf-build-system/sbcl)
8039 (synopsis "Mersenne Twister pseudo-random number generator")
8040 (description
8041 "MT19937 is a portable Mersenne Twister pseudo-random number generator
8042 for Common Lisp.")
8043 (home-page "https://www.cliki.net/mt19937")
8044 (license license:public-domain)))
8045
8046 (define-public cl-mt19937
8047 (sbcl-package->cl-source-package sbcl-mt19937))
8048
8049 (define-public ecl-mt19937
8050 (sbcl-package->ecl-package sbcl-mt19937))
8051
8052 (define-public sbcl-fset
8053 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
8054 (revision "1"))
8055 (package
8056 (name "sbcl-fset")
8057 (version (git-version "1.3.2" revision commit))
8058 (source
8059 (origin
8060 (method git-fetch)
8061 (uri (git-reference
8062 (url "https://github.com/slburson/fset")
8063 (commit commit)))
8064 (file-name (git-file-name name version))
8065 (sha256
8066 (base32
8067 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
8068 (snippet '(begin
8069 ;; Remove obsolete copy of system definition.
8070 (delete-file "Code/fset.asd")
8071 #t))))
8072 (build-system asdf-build-system/sbcl)
8073 (inputs
8074 `(("misc-extensions" ,sbcl-misc-extensions)
8075 ("mt19937" ,sbcl-mt19937)
8076 ("named-readtables" ,sbcl-named-readtables)))
8077 (synopsis "Functional set-theoretic collections library")
8078 (description
8079 "FSet is a functional set-theoretic collections library for Common Lisp.
8080 Functional means that all update operations return a new collection rather than
8081 modifying an existing one in place. Set-theoretic means that collections may
8082 be nested arbitrarily with no additional programmer effort; for instance, sets
8083 may contain sets, maps may be keyed by sets, etc.")
8084 (home-page "https://common-lisp.net/project/fset/Site/index.html")
8085 (license license:llgpl))))
8086
8087 (define-public cl-fset
8088 (sbcl-package->cl-source-package sbcl-fset))
8089
8090 (define-public ecl-fset
8091 (package
8092 (inherit (sbcl-package->ecl-package sbcl-fset))
8093 (arguments
8094 ;; Tests fails on ECL with "The function FSET::MAKE-CHAR is undefined".
8095 '(#:tests? #f))))
8096
8097 (define-public sbcl-cl-cont
8098 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
8099 (revision "1"))
8100 (package
8101 (name "sbcl-cl-cont")
8102 (version (git-version "0.3.8" revision commit))
8103 (source
8104 (origin
8105 (method git-fetch)
8106 (uri (git-reference
8107 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
8108 (commit commit)))
8109 (file-name (git-file-name name version))
8110 (sha256
8111 (base32
8112 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
8113 (build-system asdf-build-system/sbcl)
8114 (inputs
8115 `(("alexandria" ,sbcl-alexandria)
8116 ("closer-mop" ,sbcl-closer-mop)))
8117 (native-inputs
8118 `(("rt" ,sbcl-rt)))
8119 (synopsis "Delimited continuations for Common Lisp")
8120 (description
8121 "This is a library that implements delimited continuations by
8122 transforming Common Lisp code to continuation passing style.")
8123 (home-page "https://common-lisp.net/project/cl-cont/")
8124 (license license:llgpl))))
8125
8126 (define-public cl-cont
8127 (sbcl-package->cl-source-package sbcl-cl-cont))
8128
8129 (define-public ecl-cl-cont
8130 (sbcl-package->ecl-package sbcl-cl-cont))
8131
8132 (define-public sbcl-cl-coroutine
8133 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
8134 (revision "1"))
8135 (package
8136 (name "sbcl-cl-coroutine")
8137 (version (git-version "0.1" revision commit))
8138 (source
8139 (origin
8140 (method git-fetch)
8141 (uri (git-reference
8142 (url "https://github.com/takagi/cl-coroutine")
8143 (commit commit)))
8144 (file-name (git-file-name name version))
8145 (sha256
8146 (base32
8147 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
8148 (build-system asdf-build-system/sbcl)
8149 (inputs
8150 `(("alexandria" ,sbcl-alexandria)
8151 ("cl-cont" ,sbcl-cl-cont)))
8152 (native-inputs
8153 `(("prove" ,sbcl-prove)))
8154 (arguments
8155 `(;; TODO: Fix the tests. They fail with:
8156 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
8157 #:tests? #f
8158 #:phases
8159 (modify-phases %standard-phases
8160 (add-after 'unpack 'fix-tests
8161 (lambda _
8162 (substitute* "cl-coroutine-test.asd"
8163 (("cl-test-more")
8164 "prove"))
8165 #t)))))
8166 (synopsis "Coroutine library for Common Lisp")
8167 (description
8168 "This is a coroutine library for Common Lisp implemented using the
8169 continuations of the @code{cl-cont} library.")
8170 (home-page "https://github.com/takagi/cl-coroutine")
8171 (license license:llgpl))))
8172
8173 (define-public cl-coroutine
8174 (sbcl-package->cl-source-package sbcl-cl-coroutine))
8175
8176 (define-public ecl-cl-coroutine
8177 (sbcl-package->ecl-package sbcl-cl-coroutine))
8178
8179 (define-public sbcl-vom
8180 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
8181 (revision "1"))
8182 (package
8183 (name "sbcl-vom")
8184 (version (git-version "0.1.4" revision commit))
8185 (source
8186 (origin
8187 (method git-fetch)
8188 (uri (git-reference
8189 (url "https://github.com/orthecreedence/vom")
8190 (commit commit)))
8191 (file-name (git-file-name name version))
8192 (sha256
8193 (base32
8194 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
8195 (build-system asdf-build-system/sbcl)
8196 (synopsis "Tiny logging utility for Common Lisp")
8197 (description
8198 "Vom is a logging library for Common Lisp. It's goal is to be useful
8199 and small. It does not provide a lot of features as other loggers do, but
8200 has a small codebase that's easy to understand and use.")
8201 (home-page "https://github.com/orthecreedence/vom")
8202 (license license:expat))))
8203
8204 (define-public cl-vom
8205 (sbcl-package->cl-source-package sbcl-vom))
8206
8207 (define-public ecl-vom
8208 (sbcl-package->ecl-package sbcl-vom))
8209
8210 (define-public sbcl-cl-libuv
8211 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
8212 (revision "1"))
8213 (package
8214 (name "sbcl-cl-libuv")
8215 (version (git-version "0.1.6" revision commit))
8216 (source
8217 (origin
8218 (method git-fetch)
8219 (uri (git-reference
8220 (url "https://github.com/orthecreedence/cl-libuv")
8221 (commit commit)))
8222 (file-name (git-file-name name version))
8223 (sha256
8224 (base32
8225 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
8226 (build-system asdf-build-system/sbcl)
8227 (inputs
8228 `(("alexandria" ,sbcl-alexandria)
8229 ("cffi" ,sbcl-cffi)
8230 ("libuv" ,libuv)))
8231 (arguments
8232 `(#:phases
8233 (modify-phases %standard-phases
8234 (add-after 'unpack 'fix-paths
8235 (lambda* (#:key inputs #:allow-other-keys)
8236 (substitute* "lib.lisp"
8237 (("/usr/lib/libuv.so")
8238 (string-append (assoc-ref inputs "libuv")
8239 "/lib/libuv.so")))
8240 #t))
8241 (add-after 'fix-paths 'fix-system-definition
8242 (lambda _
8243 (substitute* "cl-libuv.asd"
8244 (("#:cffi #:alexandria")
8245 "#:cffi #:cffi-grovel #:alexandria"))
8246 #t)))))
8247 (synopsis "Common Lisp bindings to libuv")
8248 (description
8249 "This library provides low-level libuv bindings for Common Lisp.")
8250 (home-page "https://github.com/orthecreedence/cl-libuv")
8251 (license license:expat))))
8252
8253 (define-public cl-libuv
8254 (sbcl-package->cl-source-package sbcl-cl-libuv))
8255
8256 (define-public ecl-cl-libuv
8257 (sbcl-package->ecl-package sbcl-cl-libuv))
8258
8259 (define-public sbcl-cl-async
8260 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
8261 (revision "1"))
8262 (package
8263 (name "sbcl-cl-async")
8264 (version (git-version "0.6.1" revision commit))
8265 (source
8266 (origin
8267 (method git-fetch)
8268 (uri (git-reference
8269 (url "https://github.com/orthecreedence/cl-async")
8270 (commit commit)))
8271 (file-name (git-file-name name version))
8272 (sha256
8273 (base32
8274 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
8275 (build-system asdf-build-system/sbcl)
8276 (inputs
8277 `(("babel" ,sbcl-babel)
8278 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8279 ("cffi" ,sbcl-cffi)
8280 ("cl-libuv" ,sbcl-cl-libuv)
8281 ("cl-ppcre" ,sbcl-cl-ppcre)
8282 ("fast-io" ,sbcl-fast-io)
8283 ("openssl" ,openssl)
8284 ("static-vectors" ,sbcl-static-vectors)
8285 ("trivial-features" ,sbcl-trivial-features)
8286 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
8287 ("vom" ,sbcl-vom)))
8288 (arguments
8289 `(#:asd-systems '("cl-async"
8290 "cl-async-repl"
8291 "cl-async-ssl")
8292 #:phases
8293 (modify-phases %standard-phases
8294 (add-after 'unpack 'fix-paths
8295 (lambda* (#:key inputs #:allow-other-keys)
8296 (substitute* "src/ssl/package.lisp"
8297 (("libcrypto\\.so")
8298 (string-append (assoc-ref inputs "openssl")
8299 "/lib/libcrypto.so"))
8300 (("libssl\\.so")
8301 (string-append (assoc-ref inputs "openssl")
8302 "/lib/libssl.so")))
8303 #t)))))
8304 (synopsis "Asynchronous operations for Common Lisp")
8305 (description
8306 "Cl-async is a library for general purpose, non-blocking programming in
8307 Common Lisp. It uses the libuv library as backend.")
8308 (home-page "https://orthecreedence.github.io/cl-async/")
8309 (license license:expat))))
8310
8311 (define-public cl-async
8312 (sbcl-package->cl-source-package sbcl-cl-async))
8313
8314 (define-public ecl-cl-async
8315 (sbcl-package->ecl-package sbcl-cl-async))
8316
8317 (define-public sbcl-blackbird
8318 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
8319 (revision "1"))
8320 (package
8321 (name "sbcl-blackbird")
8322 (version (git-version "0.5.2" revision commit))
8323 (source
8324 (origin
8325 (method git-fetch)
8326 (uri (git-reference
8327 (url "https://github.com/orthecreedence/blackbird")
8328 (commit commit)))
8329 (file-name (git-file-name name version))
8330 (sha256
8331 (base32
8332 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
8333 (build-system asdf-build-system/sbcl)
8334 (inputs
8335 `(("vom" ,sbcl-vom)))
8336 (native-inputs
8337 `(("cl-async" ,sbcl-cl-async)
8338 ("fiveam" ,sbcl-fiveam)))
8339 (synopsis "Promise implementation for Common Lisp")
8340 (description
8341 "This is a standalone promise implementation for Common Lisp. It is
8342 the successor to the now-deprecated cl-async-future project.")
8343 (home-page "https://orthecreedence.github.io/blackbird/")
8344 (license license:expat))))
8345
8346 (define-public cl-blackbird
8347 (sbcl-package->cl-source-package sbcl-blackbird))
8348
8349 (define-public ecl-blackbird
8350 (sbcl-package->ecl-package sbcl-blackbird))
8351
8352 (define-public sbcl-cl-async-future
8353 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
8354 (revision "1"))
8355 (package
8356 (name "sbcl-cl-async-future")
8357 (version (git-version "0.4.4.1" revision commit))
8358 (source
8359 (origin
8360 (method git-fetch)
8361 (uri (git-reference
8362 (url "https://github.com/orthecreedence/cl-async-future")
8363 (commit commit)))
8364 (file-name (git-file-name name version))
8365 (sha256
8366 (base32
8367 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
8368 (build-system asdf-build-system/sbcl)
8369 (inputs
8370 `(("blackbird" ,sbcl-blackbird)))
8371 (native-inputs
8372 `(("cl-async" ,sbcl-cl-async)
8373 ("eos" ,sbcl-eos)))
8374 (synopsis "Futures implementation for Common Lisp")
8375 (description
8376 "This is futures implementation for Common Lisp. It plugs in nicely
8377 to cl-async.")
8378 (home-page "https://orthecreedence.github.io/cl-async/future")
8379 (license license:expat))))
8380
8381 (define-public cl-async-future
8382 (sbcl-package->cl-source-package sbcl-cl-async-future))
8383
8384 (define-public ecl-cl-async-future
8385 (sbcl-package->ecl-package sbcl-cl-async-future))
8386
8387 (define-public sbcl-green-threads
8388 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
8389 (revision "1"))
8390 (package
8391 (name "sbcl-green-threads")
8392 (version (git-version "0.3" revision commit))
8393 (source
8394 (origin
8395 (method git-fetch)
8396 (uri (git-reference
8397 (url "https://github.com/thezerobit/green-threads")
8398 (commit commit)))
8399 (file-name (git-file-name name version))
8400 (sha256
8401 (base32
8402 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
8403 (build-system asdf-build-system/sbcl)
8404 (inputs
8405 `(("cl-async-future" ,sbcl-cl-async-future)
8406 ("cl-cont" ,sbcl-cl-cont)))
8407 (native-inputs
8408 `(("prove" ,sbcl-prove)))
8409 (arguments
8410 `(;; TODO: Fix the tests. They fail with:
8411 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
8412 #:tests? #f
8413 #:phases
8414 (modify-phases %standard-phases
8415 (add-after 'unpack 'fix-tests
8416 (lambda _
8417 (substitute* "green-threads-test.asd"
8418 (("cl-test-more")
8419 "prove"))
8420 #t)))))
8421 (synopsis "Cooperative multitasking library for Common Lisp")
8422 (description
8423 "This library allows for cooperative multitasking with help of cl-cont
8424 for continuations. It tries to mimic the API of bordeaux-threads as much as
8425 possible.")
8426 (home-page "https://github.com/thezerobit/green-threads")
8427 (license license:bsd-3))))
8428
8429 (define-public cl-green-threads
8430 (sbcl-package->cl-source-package sbcl-green-threads))
8431
8432 (define-public ecl-green-threads
8433 (sbcl-package->ecl-package sbcl-green-threads))
8434
8435 (define-public sbcl-cl-base32
8436 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
8437 (revision "1"))
8438 (package
8439 (name "sbcl-cl-base32")
8440 (version (git-version "0.1" revision commit))
8441 (source
8442 (origin
8443 (method git-fetch)
8444 (uri (git-reference
8445 (url "https://github.com/hargettp/cl-base32")
8446 (commit commit)))
8447 (file-name (git-file-name name version))
8448 (sha256
8449 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
8450 (build-system asdf-build-system/sbcl)
8451 (native-inputs
8452 `(("lisp-unit" ,sbcl-lisp-unit)))
8453 (synopsis "Common Lisp library for base32 encoding and decoding")
8454 (description
8455 "This package provides functions for base32 encoding and decoding as
8456 defined in RFC4648.")
8457 (home-page "https://github.com/hargettp/cl-base32")
8458 (license license:expat))))
8459
8460 (define-public cl-base32
8461 (sbcl-package->cl-source-package sbcl-cl-base32))
8462
8463 (define-public ecl-cl-base32
8464 (sbcl-package->ecl-package sbcl-cl-base32))
8465
8466 (define-public sbcl-cl-z85
8467 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
8468 (revision "1"))
8469 (package
8470 (name "sbcl-cl-z85")
8471 (version (git-version "1.0" revision commit))
8472 (source
8473 (origin
8474 (method git-fetch)
8475 (uri (git-reference
8476 (url "https://github.com/glv2/cl-z85")
8477 (commit commit)))
8478 (file-name (git-file-name name version))
8479 (sha256
8480 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
8481 (build-system asdf-build-system/sbcl)
8482 (native-inputs
8483 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
8484 ("fiveam" ,sbcl-fiveam)))
8485 (synopsis "Common Lisp library for Z85 encoding and decoding")
8486 (description
8487 "This package provides functions to encode or decode byte vectors or
8488 byte streams using the Z85 format, which is a base-85 encoding used by
8489 ZeroMQ.")
8490 (home-page "https://github.com/glv2/cl-z85")
8491 (license license:gpl3+))))
8492
8493 (define-public cl-z85
8494 (sbcl-package->cl-source-package sbcl-cl-z85))
8495
8496 (define-public ecl-cl-z85
8497 (sbcl-package->ecl-package sbcl-cl-z85))
8498
8499 (define-public sbcl-ltk
8500 (package
8501 (name "sbcl-ltk")
8502 (version "0.992")
8503 (source
8504 (origin
8505 (method git-fetch)
8506 (uri (git-reference
8507 (url "https://github.com/herth/ltk")
8508 (commit version)))
8509 (file-name (git-file-name name version))
8510 (sha256
8511 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
8512 (build-system asdf-build-system/sbcl)
8513 (inputs
8514 `(("imagemagick" ,imagemagick)
8515 ("tk" ,tk)))
8516 (arguments
8517 `(#:asd-systems '("ltk"
8518 "ltk-mw"
8519 "ltk-remote")
8520 #:tests? #f
8521 #:phases
8522 (modify-phases %standard-phases
8523 (add-after 'unpack 'fix-paths
8524 (lambda* (#:key inputs #:allow-other-keys)
8525 (substitute* "ltk/ltk.lisp"
8526 (("#-freebsd \"wish\"")
8527 (string-append "#-freebsd \""
8528 (assoc-ref inputs "tk")
8529 "/bin/wish\""))
8530 (("do-execute \"convert\"")
8531 (string-append "do-execute \""
8532 (assoc-ref inputs "imagemagick")
8533 "/bin/convert\"")))
8534 #t))
8535 (add-after 'unpack 'fix-build
8536 (lambda _
8537 (substitute* "ltk/ltk-remote.lisp"
8538 (("\\(:export")
8539 "(:shadow #:raise) (:export"))
8540 #t)))))
8541 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
8542 (description
8543 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
8544 in pure Common Lisp and does not require any Tk knowledge for its usage.")
8545 (home-page "http://www.peter-herth.de/ltk/")
8546 (license license:llgpl)))
8547
8548 (define-public cl-ltk
8549 (sbcl-package->cl-source-package sbcl-ltk))
8550
8551 (define-public ecl-ltk
8552 (sbcl-package->ecl-package sbcl-ltk))
8553
8554 (define-public sbcl-cl-lex
8555 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
8556 (revision "1"))
8557 (package
8558 (name "sbcl-cl-lex")
8559 (version (git-version "1.1.3" revision commit))
8560 (source
8561 (origin
8562 (method git-fetch)
8563 (uri (git-reference
8564 (url "https://github.com/djr7C4/cl-lex")
8565 (commit commit)))
8566 (file-name (git-file-name name version))
8567 (sha256
8568 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
8569 (build-system asdf-build-system/sbcl)
8570 (inputs
8571 `(("cl-ppcre" ,sbcl-cl-ppcre)))
8572 (synopsis "Common Lisp macros for generating lexical analyzers")
8573 (description
8574 "This is a Common Lisp library providing a set of macros for generating
8575 lexical analyzers automatically. The lexers generated using @code{cl-lex} can
8576 be used with @code{cl-yacc}.")
8577 (home-page "https://github.com/djr7C4/cl-lex")
8578 (license license:gpl3))))
8579
8580 (define-public cl-lex
8581 (sbcl-package->cl-source-package sbcl-cl-lex))
8582
8583 (define-public ecl-cl-lex
8584 (sbcl-package->ecl-package sbcl-cl-lex))
8585
8586 (define-public sbcl-clunit2
8587 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
8588 (revision "1"))
8589 (package
8590 (name "sbcl-clunit2")
8591 (version (git-version "0.2.4" revision commit))
8592 (source
8593 (origin
8594 (method git-fetch)
8595 (uri (git-reference
8596 (url "https://notabug.org/cage/clunit2.git")
8597 (commit commit)))
8598 (file-name (git-file-name name version))
8599 (sha256
8600 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
8601 (build-system asdf-build-system/sbcl)
8602 (synopsis "Unit testing framework for Common Lisp")
8603 (description
8604 "CLUnit is a Common Lisp unit testing framework. It is designed to be
8605 easy to use so that you can quickly start testing.")
8606 (home-page "https://notabug.org/cage/clunit2")
8607 (license license:expat))))
8608
8609 (define-public cl-clunit2
8610 (sbcl-package->cl-source-package sbcl-clunit2))
8611
8612 (define-public ecl-clunit2
8613 (sbcl-package->ecl-package sbcl-clunit2))
8614
8615 (define-public sbcl-cl-colors2
8616 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
8617 (revision "1"))
8618 (package
8619 (name "sbcl-cl-colors2")
8620 (version (git-version "0.2.1" revision commit))
8621 (source
8622 (origin
8623 (method git-fetch)
8624 (uri (git-reference
8625 (url "https://notabug.org/cage/cl-colors2.git")
8626 (commit commit)))
8627 (file-name (git-file-name name version))
8628 (sha256
8629 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
8630 (build-system asdf-build-system/sbcl)
8631 (native-inputs
8632 `(("clunit2" ,sbcl-clunit2)))
8633 (inputs
8634 `(("alexandria" ,sbcl-alexandria)
8635 ("cl-ppcre" ,sbcl-cl-ppcre)))
8636 (synopsis "Color library for Common Lisp")
8637 (description
8638 "This is a very simple color library for Common Lisp, providing:
8639
8640 @itemize
8641 @item Types for representing colors in HSV and RGB spaces.
8642 @item Simple conversion functions between the above types (and also
8643 hexadecimal representation for RGB).
8644 @item Some predefined colors (currently X11 color names -- of course
8645 the library does not depend on X11).
8646 @end itemize\n")
8647 (home-page "https://notabug.org/cage/cl-colors2")
8648 (license license:boost1.0))))
8649
8650 (define-public cl-colors2
8651 (sbcl-package->cl-source-package sbcl-cl-colors2))
8652
8653 (define-public ecl-cl-colors2
8654 (sbcl-package->ecl-package sbcl-cl-colors2))
8655
8656 (define-public sbcl-cl-jpeg
8657 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
8658 (revision "1"))
8659 (package
8660 (name "sbcl-cl-jpeg")
8661 (version (git-version "2.8" revision commit))
8662 (source
8663 (origin
8664 (method git-fetch)
8665 (uri (git-reference
8666 (url "https://github.com/sharplispers/cl-jpeg")
8667 (commit commit)))
8668 (file-name (git-file-name name version))
8669 (sha256
8670 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
8671 (build-system asdf-build-system/sbcl)
8672 (synopsis "JPEG image library for Common Lisp")
8673 (description
8674 "This is a baseline JPEG codec written in Common Lisp. It can be used
8675 for reading and writing JPEG image files.")
8676 (home-page "https://github.com/sharplispers/cl-jpeg")
8677 (license license:bsd-3))))
8678
8679 (define-public cl-jpeg
8680 (sbcl-package->cl-source-package sbcl-cl-jpeg))
8681
8682 (define-public ecl-cl-jpeg
8683 (sbcl-package->ecl-package sbcl-cl-jpeg))
8684
8685 (define-public sbcl-nodgui
8686 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
8687 (revision "1"))
8688 (package
8689 (name "sbcl-nodgui")
8690 (version (git-version "0.0.5" revision commit))
8691 (source
8692 (origin
8693 (method git-fetch)
8694 (uri (git-reference
8695 (url "https://notabug.org/cage/nodgui.git")
8696 (commit commit)))
8697 (file-name (git-file-name name version))
8698 (sha256
8699 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
8700 (build-system asdf-build-system/sbcl)
8701 (inputs
8702 `(("alexandria" ,sbcl-alexandria)
8703 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8704 ("cl-colors2" ,sbcl-cl-colors2)
8705 ("cl-jpeg" ,sbcl-cl-jpeg)
8706 ("cl-lex" ,sbcl-cl-lex)
8707 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
8708 ("cl-unicode" ,sbcl-cl-unicode)
8709 ("cl-yacc" ,sbcl-cl-yacc)
8710 ("clunit2" ,sbcl-clunit2)
8711 ("named-readtables" ,sbcl-named-readtables)
8712 ("parse-number" ,sbcl-parse-number)
8713 ("tk" ,tk)))
8714 (arguments
8715 `(#:phases (modify-phases %standard-phases
8716 (add-after 'unpack 'fix-paths
8717 (lambda* (#:key inputs #:allow-other-keys)
8718 (substitute* "src/wish-communication.lisp"
8719 (("#-freebsd \"wish\"")
8720 (string-append "#-freebsd \""
8721 (assoc-ref inputs "tk")
8722 "/bin/wish\"")))
8723 #t)))))
8724 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
8725 (description
8726 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
8727 toolkit. It also provides a few additional widgets more than the standard Tk
8728 ones.")
8729 (home-page "https://www.autistici.org/interzona/nodgui.html")
8730 (license license:llgpl))))
8731
8732 (define-public cl-nodgui
8733 (sbcl-package->cl-source-package sbcl-nodgui))
8734
8735 (define-public ecl-nodgui
8736 (sbcl-package->ecl-package sbcl-nodgui))
8737
8738 (define-public sbcl-salza2
8739 (package
8740 (name "sbcl-salza2")
8741 (version "2.0.9")
8742 (source
8743 (origin
8744 (method git-fetch)
8745 (uri (git-reference
8746 (url "https://github.com/xach/salza2")
8747 (commit (string-append "release-" version))))
8748 (file-name (git-file-name name version))
8749 (sha256
8750 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
8751 (build-system asdf-build-system/sbcl)
8752 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
8753 (description
8754 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
8755 deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
8756 respectively.")
8757 (home-page "https://www.xach.com/lisp/salza2/")
8758 (license license:bsd-2)))
8759
8760 (define-public cl-salza2
8761 (sbcl-package->cl-source-package sbcl-salza2))
8762
8763 (define-public ecl-salza2
8764 (sbcl-package->ecl-package sbcl-salza2))
8765
8766 (define-public sbcl-origin
8767 (let ((commit "d646134302456408d6d43580bb05299f1695ab8e")
8768 (revision "1"))
8769 (package
8770 (name "sbcl-origin")
8771 (version (git-version "2.0.0" revision commit))
8772 (source
8773 (origin
8774 (method git-fetch)
8775 (uri (git-reference
8776 (url "https://git.mfiano.net/mfiano/origin")
8777 (commit commit)))
8778 (file-name (git-file-name "origin" version))
8779 (sha256
8780 (base32 "1n9aszaif3yh8prs5r8v51fbj4r5jd1a048mivd5yij3hplkm82b"))))
8781 (build-system asdf-build-system/sbcl)
8782 (native-inputs
8783 `(("parachute" ,sbcl-parachute)))
8784 (inputs
8785 `(("golden-utils" ,sbcl-golden-utils)
8786 ("specialization-store" ,sbcl-specialization-store)))
8787 (home-page "https://git.mfiano.net/mfiano/origin")
8788 (synopsis "Common Lisp graphics math library")
8789 (description
8790 "This is a native Common Lisp graphics math library with an emphasis on
8791 performance and correctness.")
8792 (license license:expat))))
8793
8794 (define-public ecl-origin
8795 (sbcl-package->ecl-package sbcl-origin))
8796
8797 (define-public cl-origin
8798 (sbcl-package->cl-source-package sbcl-origin))
8799
8800 (define-public sbcl-png-read
8801 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
8802 (revision "1"))
8803 (package
8804 (name "sbcl-png-read")
8805 (version (git-version "0.3.1" revision commit))
8806 (source
8807 (origin
8808 (method git-fetch)
8809 (uri (git-reference
8810 (url "https://github.com/Ramarren/png-read")
8811 (commit commit)))
8812 (file-name (git-file-name name version))
8813 (sha256
8814 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
8815 (build-system asdf-build-system/sbcl)
8816 (inputs
8817 `(("babel" ,sbcl-babel)
8818 ("chipz" ,sbcl-chipz)
8819 ("iterate" ,sbcl-iterate)))
8820 (synopsis "PNG decoder for Common Lisp")
8821 (description "This is a Common Lisp library for reading PNG images.")
8822 (home-page "https://github.com/Ramarren/png-read")
8823 (license license:bsd-3))))
8824
8825 (define-public cl-png-read
8826 (sbcl-package->cl-source-package sbcl-png-read))
8827
8828 (define-public ecl-png-read
8829 (sbcl-package->ecl-package sbcl-png-read))
8830
8831 (define-public sbcl-3b-bmfont
8832 (let ((commit "d1b5bec0de580c2d08ec947a93c56b1400f2a37a")
8833 (revision "1"))
8834 (package
8835 (name "sbcl-3b-bmfont")
8836 (version (git-version "0.0.1" revision commit))
8837 (source
8838 (origin
8839 (method git-fetch)
8840 (uri (git-reference
8841 (url "https://github.com/3b/3b-bmfont/")
8842 (commit commit)))
8843 (file-name (git-file-name "3b-bmfont" version))
8844 (sha256
8845 (base32 "12sgf7m0h6fqzhvkas7vmci6mprj3j3fnz778jlbqbsydln6v2yc"))))
8846 (build-system asdf-build-system/sbcl)
8847 (arguments
8848 `(#:asd-systems
8849 '("3b-bmfont"
8850 "3b-bmfont/text"
8851 "3b-bmfont/common"
8852 "3b-bmfont/xml"
8853 "3b-bmfont/json")))
8854 (inputs
8855 `(("alexandria" ,sbcl-alexandria)
8856 ("cxml" ,sbcl-cxml)
8857 ("flexi-streams" ,sbcl-flexi-streams)
8858 ("jsown" ,sbcl-jsown)
8859 ("split-sequence" ,sbcl-split-sequence)))
8860 (home-page "https://github.com/3b/3b-bmfont/")
8861 (synopsis "Read/write bmfont metadata files")
8862 (description
8863 "This is a Common Lisp library which provides functionality to
8864 read/write Bit Map Font (BMF) into text, JSON and XML.")
8865 (license license:expat))))
8866
8867 (define-public ecl-3b-bmfont
8868 (sbcl-package->ecl-package sbcl-3b-bmfont))
8869
8870 (define-public cl-3b-bmfont
8871 (sbcl-package->cl-source-package sbcl-3b-bmfont))
8872
8873 (define-public sbcl-zpng
8874 (package
8875 (name "sbcl-zpng")
8876 (version "1.2.2")
8877 (source
8878 (origin
8879 (method git-fetch)
8880 (uri (git-reference
8881 (url "https://github.com/xach/zpng")
8882 (commit (string-append "release-" version))))
8883 (file-name (git-file-name name version))
8884 (sha256
8885 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
8886 (build-system asdf-build-system/sbcl)
8887 (inputs
8888 `(("salza2" ,sbcl-salza2)))
8889 (synopsis "PNG encoder for Common Lisp")
8890 (description "This is a Common Lisp library for creating PNG images.")
8891 (home-page "https://www.xach.com/lisp/zpng/")
8892 (license license:bsd-2)))
8893
8894 (define-public cl-zpng
8895 (sbcl-package->cl-source-package sbcl-zpng))
8896
8897 (define-public ecl-zpng
8898 (sbcl-package->ecl-package sbcl-zpng))
8899
8900 (define-public sbcl-cl-qrencode
8901 (package
8902 (name "sbcl-cl-qrencode")
8903 (version "0.1.2")
8904 (source
8905 (origin
8906 (method git-fetch)
8907 (uri (git-reference
8908 (url "https://github.com/jnjcc/cl-qrencode")
8909 (commit (string-append "v" version))))
8910 (file-name (git-file-name name version))
8911 (sha256
8912 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
8913 (build-system asdf-build-system/sbcl)
8914 (native-inputs
8915 `(("lisp-unit" ,sbcl-lisp-unit)))
8916 (inputs
8917 `(("zpng" ,sbcl-zpng)))
8918 (synopsis "QR code encoder for Common Lisp")
8919 (description
8920 "This Common Lisp library provides function to make QR codes and to save
8921 them as PNG files.")
8922 (home-page "https://github.com/jnjcc/cl-qrencode")
8923 (license license:gpl2+)))
8924
8925 (define-public cl-qrencode
8926 (sbcl-package->cl-source-package sbcl-cl-qrencode))
8927
8928 (define-public ecl-cl-qrencode
8929 (sbcl-package->ecl-package sbcl-cl-qrencode))
8930
8931 (define-public sbcl-hdf5-cffi
8932 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
8933 (revision "1"))
8934 (package
8935 (name "sbcl-hdf5-cffi")
8936 (version (git-version "1.8.18" revision commit))
8937 (source
8938 (origin
8939 (method git-fetch)
8940 (uri (git-reference
8941 (url "https://github.com/hdfgroup/hdf5-cffi")
8942 (commit commit)))
8943 (file-name (git-file-name name version))
8944 (sha256
8945 (base32
8946 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
8947 (build-system asdf-build-system/sbcl)
8948 (synopsis "Common Lisp bindings for the HDF5 library")
8949 (description
8950 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
8951 (home-page "https://github.com/hdfgroup/hdf5-cffi")
8952 (license (license:non-copyleft
8953 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
8954 commit
8955 "/LICENSE")))
8956 (inputs
8957 `(("cffi" ,sbcl-cffi)
8958 ("hdf5" ,hdf5-1.10)))
8959 (native-inputs
8960 `(("fiveam" ,sbcl-fiveam)))
8961 (arguments
8962 `(#:test-asd-file "hdf5-cffi.test.asd"
8963 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
8964 ;; I don't know if there is a way to tell asdf-build-system to load
8965 ;; an additional system first, so tests are disabled.
8966 #:tests? #f
8967 #:phases
8968 (modify-phases %standard-phases
8969 (add-after 'unpack 'fix-paths
8970 (lambda* (#:key inputs #:allow-other-keys)
8971 (substitute* "src/library.lisp"
8972 (("libhdf5.so")
8973 (string-append
8974 (assoc-ref inputs "hdf5")
8975 "/lib/libhdf5.so")))))
8976 (add-after 'unpack 'fix-dependencies
8977 (lambda* (#:key inputs #:allow-other-keys)
8978 (substitute* "hdf5-cffi.asd"
8979 ((":depends-on \\(:cffi\\)")
8980 ":depends-on (:cffi :cffi-grovel)"))
8981 (substitute* "hdf5-cffi.test.asd"
8982 ((":depends-on \\(:cffi :hdf5-cffi")
8983 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
8984
8985 (define-public cl-hdf5-cffi
8986 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
8987
8988 (define-public ecl-hdf5-cffi
8989 (sbcl-package->ecl-package sbcl-hdf5-cffi))
8990
8991 (define-public sbcl-cl-randist
8992 (package
8993 (name "sbcl-cl-randist")
8994 (version "0.4.2")
8995 (source
8996 (origin
8997 (method git-fetch)
8998 (uri (git-reference
8999 (url "https://github.com/lvaruzza/cl-randist")
9000 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
9001 (file-name (git-file-name name version))
9002 (sha256
9003 (base32
9004 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
9005 (build-system asdf-build-system/sbcl)
9006 (synopsis "Random distributions for Common Lisp")
9007 (description
9008 "Manual translation from C to Common Lisp of some random number
9009 generation functions from the GSL library.")
9010 (home-page "https://github.com/lvaruzza/cl-randist")
9011 (license license:bsd-2)
9012 (arguments
9013 `(#:tests? #f))))
9014
9015 (define-public cl-randist
9016 (sbcl-package->cl-source-package sbcl-cl-randist))
9017
9018 (define-public ecl-cl-randist
9019 (sbcl-package->ecl-package sbcl-cl-randist))
9020
9021 (define-public sbcl-float-features
9022 (package
9023 (name "sbcl-float-features")
9024 (version "1.0.0")
9025 (source
9026 (origin
9027 (method git-fetch)
9028 (uri (git-reference
9029 (url "https://github.com/Shinmera/float-features")
9030 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
9031 (file-name (git-file-name name version))
9032 (sha256
9033 (base32
9034 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
9035 (build-system asdf-build-system/sbcl)
9036 (synopsis "Common Lisp IEEE float portability library")
9037 (description
9038 "Portability library for IEEE float features that are not
9039 covered by the Common Lisp standard.")
9040 (home-page "https://github.com/Shinmera/float-features")
9041 (license license:zlib)
9042 (inputs
9043 `(("documentation-utils" ,sbcl-documentation-utils)))
9044 (arguments
9045 `(#:tests? #f))))
9046
9047 (define-public cl-float-features
9048 (sbcl-package->cl-source-package sbcl-float-features))
9049
9050 (define-public ecl-float-features
9051 (sbcl-package->ecl-package sbcl-float-features))
9052
9053 (define-public sbcl-function-cache
9054 (package
9055 (name "sbcl-function-cache")
9056 (version "1.0.3")
9057 (source
9058 (origin
9059 (method git-fetch)
9060 (uri (git-reference
9061 (url "https://github.com/AccelerationNet/function-cache")
9062 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
9063 (file-name (git-file-name name version))
9064 (sha256
9065 (base32
9066 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
9067 (build-system asdf-build-system/sbcl)
9068 (synopsis "Function caching / memoization library for Common Lisp")
9069 (description
9070 "A common lisp library that provides extensible function result
9071 caching based on arguments (an expanded form of memoization).")
9072 (home-page "https://github.com/AccelerationNet/function-cache")
9073 (license
9074 (license:non-copyleft
9075 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
9076 (inputs
9077 `(("alexandria" ,sbcl-alexandria)
9078 ("cl-interpol" ,sbcl-cl-interpol)
9079 ("iterate" ,sbcl-iterate)
9080 ("symbol-munger" ,sbcl-symbol-munger)
9081 ("closer-mop" ,sbcl-closer-mop)))
9082 (arguments
9083 `(#:tests? #f))))
9084
9085 (define-public cl-function-cache
9086 (sbcl-package->cl-source-package sbcl-function-cache))
9087
9088 (define-public ecl-function-cache
9089 (sbcl-package->ecl-package sbcl-function-cache))
9090
9091 (define-public sbcl-type-r
9092 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
9093 (revision "1"))
9094 (package
9095 (name "sbcl-type-r")
9096 (version (git-version "0.0.0" revision commit))
9097 (source
9098 (origin
9099 (method git-fetch)
9100 (uri (git-reference
9101 (url "https://github.com/guicho271828/type-r")
9102 (commit commit)))
9103 (file-name (git-file-name name version))
9104 (sha256
9105 (base32
9106 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
9107 (build-system asdf-build-system/sbcl)
9108 (synopsis "Parser interface for Common Lisp built-in compound types")
9109 (description
9110 "Collections of accessor functions and patterns to access
9111 the elements in compound type specifier, e.g. @code{dimensions} in
9112 @code{(array element-type dimensions)}")
9113 (home-page "https://github.com/guicho271828/type-r")
9114 (license license:lgpl3+)
9115 (inputs
9116 `(("trivia" ,sbcl-trivia)
9117 ("alexandria" ,sbcl-alexandria)))
9118 (native-inputs
9119 `(("fiveam" ,sbcl-fiveam)))
9120 (arguments
9121 `(#:test-asd-file "type-r.test.asd")))))
9122
9123 (define-public cl-type-r
9124 (sbcl-package->cl-source-package sbcl-type-r))
9125
9126 (define-public ecl-type-r
9127 (sbcl-package->ecl-package sbcl-type-r))
9128
9129 (define-public sbcl-trivialib-type-unify
9130 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
9131 (revision "1"))
9132 (package
9133 (name "sbcl-trivialib-type-unify")
9134 (version (git-version "0.1" revision commit))
9135 (source
9136 (origin
9137 (method git-fetch)
9138 (uri (git-reference
9139 (url "https://github.com/guicho271828/trivialib.type-unify")
9140 (commit commit)))
9141 (file-name (git-file-name name version))
9142 (sha256
9143 (base32
9144 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
9145 (build-system asdf-build-system/sbcl)
9146 (synopsis "Common Lisp type unification")
9147 (description
9148 "Unifies a parametrized type specifier against an actual type specifier.
9149 Importantly, it handles complicated array-subtypes and number-related types
9150 correctly.")
9151 (home-page "https://github.com/guicho271828/trivialib.type-unify")
9152 (license license:lgpl3+)
9153 (inputs
9154 `(("alexandria" ,sbcl-alexandria)
9155 ("trivia" ,sbcl-trivia)
9156 ("introspect-environment" ,sbcl-introspect-environment)
9157 ("type-r" ,sbcl-type-r)))
9158 (native-inputs
9159 `(("fiveam" ,sbcl-fiveam)))
9160 (arguments
9161 `(#:asd-systems '("trivialib.type-unify")
9162 #:test-asd-file "trivialib.type-unify.test.asd")))))
9163
9164 (define-public cl-trivialib-type-unify
9165 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
9166
9167 (define-public ecl-trivialib-type-unify
9168 (sbcl-package->ecl-package sbcl-trivialib-type-unify))
9169
9170 (define-public sbcl-specialized-function
9171 (let ((commit "dee56d2d2b6ecd10500ad291c56217698604ec35")
9172 (revision "2"))
9173 (package
9174 (name "sbcl-specialized-function")
9175 (version (git-version "0.0.0" revision commit))
9176 (source
9177 (origin
9178 (method git-fetch)
9179 (uri (git-reference
9180 (url "https://github.com/numcl/specialized-function")
9181 (commit commit)))
9182 (file-name (git-file-name name version))
9183 (sha256
9184 (base32 "1mcc7mmpbnmgnr1cl2jl5r1ai54gn7fbisv2c14sh9za5w4sib82"))))
9185 (build-system asdf-build-system/sbcl)
9186 (synopsis "Julia-like dispatch for Common Lisp")
9187 (description
9188 "This library is part of NUMCL. It provides a macro
9189 @code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
9190 lazily compiling a type-specific version of the function from the same
9191 code. The main target of this macro is speed.")
9192 (home-page "https://github.com/numcl/specialized-function")
9193 (license license:lgpl3+)
9194 (inputs
9195 `(("trivia" ,sbcl-trivia)
9196 ("alexandria" ,sbcl-alexandria)
9197 ("iterate" ,sbcl-iterate)
9198 ("lisp-namespace" ,sbcl-lisp-namespace)
9199 ("type-r" ,sbcl-type-r)
9200 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
9201 (native-inputs
9202 `(("fiveam" ,sbcl-fiveam)))
9203 (arguments
9204 `(#:asd-files '("specialized-function.asd")
9205 #:test-asd-file "specialized-function.test.asd"
9206 ;; Tests fail because they try to use an internal symbol of SBCL
9207 ;; that does not exists in recent versions:
9208 ;; "The variable SB-VM:COMPLEX-VECTOR-NIL-WIDETAG is unbound."
9209 #:tests? #f)))))
9210
9211 (define-public cl-specialized-function
9212 (sbcl-package->cl-source-package sbcl-specialized-function))
9213
9214 (define-public ecl-specialized-function
9215 (sbcl-package->ecl-package sbcl-specialized-function))
9216
9217 (define-public sbcl-constantfold
9218 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
9219 (revision "1"))
9220 (package
9221 (name "sbcl-constantfold")
9222 (version (git-version "0.1" revision commit))
9223 (source
9224 (origin
9225 (method git-fetch)
9226 (uri (git-reference
9227 (url "https://github.com/numcl/constantfold")
9228 (commit commit)))
9229 (file-name (git-file-name name version))
9230 (sha256
9231 (base32
9232 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
9233 (build-system asdf-build-system/sbcl)
9234 (synopsis "Support library for numcl")
9235 (description
9236 "Support library for numcl. Registers a function as an
9237 additional form that is considered as a candidate for a constant.")
9238 (home-page "https://github.com/numcl/constantfold")
9239 (license license:lgpl3+)
9240 (inputs
9241 `(("trivia" ,sbcl-trivia)
9242 ("alexandria" ,sbcl-alexandria)
9243 ("iterate" ,sbcl-iterate)
9244 ("lisp-namespace" ,sbcl-lisp-namespace)))
9245 (native-inputs
9246 `(("fiveam" ,sbcl-fiveam)))
9247 (arguments
9248 `(#:asd-files '("constantfold.asd")
9249 #:test-asd-file "constantfold.test.asd")))))
9250
9251 (define-public cl-constantfold
9252 (sbcl-package->cl-source-package sbcl-constantfold))
9253
9254 (define-public ecl-constantfold
9255 (sbcl-package->ecl-package sbcl-constantfold))
9256
9257 (define-public sbcl-gtype
9258 (let ((commit "2442e32485635525af278ebd8fa69a27d5b8cf18")
9259 (revision "2"))
9260 (package
9261 (name "sbcl-gtype")
9262 (version (git-version "0.1" revision commit))
9263 (source
9264 (origin
9265 (method git-fetch)
9266 (uri (git-reference
9267 (url "https://github.com/numcl/gtype")
9268 (commit commit)))
9269 (file-name (git-file-name name version))
9270 (sha256
9271 (base32 "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h"))))
9272 (build-system asdf-build-system/sbcl)
9273 (synopsis "C++/Julia-like parametric types in Common Lisp")
9274 (description
9275 "Support library for numcl that provides Julia-like runtime parametric
9276 type correctness in Common Lisp. It is based on CLtL2 extensions.")
9277 (home-page "https://github.com/numcl/gtype")
9278 (license license:lgpl3+)
9279 (inputs
9280 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
9281 ("trivial-cltl2" ,sbcl-trivial-cltl2)
9282 ("trivia" ,sbcl-trivia)
9283 ("alexandria" ,sbcl-alexandria)
9284 ("iterate" ,sbcl-iterate)
9285 ("type-r" ,sbcl-type-r)))
9286 (native-inputs
9287 `(("fiveam" ,sbcl-fiveam)))
9288 (arguments
9289 `(#:asd-files '("gtype.asd")
9290 #:test-asd-file "gtype.test.asd")))))
9291
9292 (define-public cl-gtype
9293 (sbcl-package->cl-source-package sbcl-gtype))
9294
9295 (define-public ecl-gtype
9296 (let ((pkg (sbcl-package->ecl-package sbcl-gtype)))
9297 (package
9298 (inherit pkg)
9299 (arguments
9300 (substitute-keyword-arguments (package-arguments pkg)
9301 ;; The tests fail on ECL with a COMPILE-FILE-ERROR for t/package.lisp.
9302 ((#:tests? _ #f) #f))))))
9303
9304 (define-public sbcl-numcl
9305 (let ((commit "3e8d40bf774e070e7af1d3dbf01bc8c37dbebd3a")
9306 (revision "2"))
9307 (package
9308 (name "sbcl-numcl")
9309 (version (git-version "0.1.0" revision commit))
9310 (source
9311 (origin
9312 (method git-fetch)
9313 (uri (git-reference
9314 (url "https://github.com/numcl/numcl")
9315 (commit commit)))
9316 (file-name (git-file-name name version))
9317 (sha256
9318 (base32 "1hqpr68f6xkxaj1hjjayyh97wcdmj51k20qrd3nsv1rcpmdc5ll4"))))
9319 (build-system asdf-build-system/sbcl)
9320 (synopsis "Numpy clone in Common Lisp")
9321 (description
9322 "This is a Numpy clone in Common Lisp. At the moment the
9323 library is written in pure Common Lisp, focusing more on correctness
9324 and usefulness, not speed. Track the progress at
9325 @url{https://github.com/numcl/numcl/projects/1}.")
9326 (home-page "https://github.com/numcl/numcl")
9327 (license license:lgpl3+)
9328 (inputs
9329 `(("trivia" ,sbcl-trivia)
9330 ("alexandria" ,sbcl-alexandria)
9331 ("iterate" ,sbcl-iterate)
9332 ("lisp-namespace" ,sbcl-lisp-namespace)
9333 ("type-r" ,sbcl-type-r)
9334 ("constantfold" ,sbcl-constantfold)
9335 ("cl-randist" ,sbcl-cl-randist)
9336 ("float-features" ,sbcl-float-features)
9337 ("function-cache" ,sbcl-function-cache)
9338 ("specialized-function" ,sbcl-specialized-function)
9339 ("gtype" ,sbcl-gtype)))
9340 (native-inputs
9341 `(("fiveam" ,sbcl-fiveam)))
9342 (arguments
9343 `(#:asd-files '("numcl.asd")
9344 #:test-asd-file "numcl.test.asd"
9345 ;; Tests fail on SBCL with "Heap exhausted, game over",
9346 ;; but they pass on ECL.
9347 #:tests? #f)))))
9348
9349 (define-public cl-numcl
9350 (sbcl-package->cl-source-package sbcl-numcl))
9351
9352 (define-public ecl-numcl
9353 (let ((pkg (sbcl-package->ecl-package sbcl-numcl)))
9354 (package
9355 (inherit pkg)
9356 (arguments
9357 (substitute-keyword-arguments (package-arguments pkg)
9358 ((#:tests? _ #f) #t))))))
9359
9360 (define-public sbcl-pzmq
9361 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
9362 (revision "1"))
9363 (package
9364 (name "sbcl-pzmq")
9365 (version (git-version "0.0.0" revision commit))
9366 (source
9367 (origin
9368 (method git-fetch)
9369 (uri (git-reference
9370 (url "https://github.com/orivej/pzmq")
9371 (commit commit)))
9372 (file-name (git-file-name name version))
9373 (sha256
9374 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
9375 (build-system asdf-build-system/sbcl)
9376 (native-inputs
9377 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9378 ("fiveam" ,sbcl-fiveam)
9379 ("let-plus" ,sbcl-let-plus)))
9380 (inputs
9381 `(("cffi" ,sbcl-cffi)
9382 ("zeromq" ,zeromq)))
9383 (arguments
9384 `(#:phases (modify-phases %standard-phases
9385 (add-after 'unpack 'fix-paths
9386 (lambda* (#:key inputs #:allow-other-keys)
9387 (substitute* "c-api.lisp"
9388 (("\"libzmq")
9389 (string-append "\""
9390 (assoc-ref inputs "zeromq")
9391 "/lib/libzmq")))
9392 #t)))))
9393 (synopsis "Common Lisp bindings for the ZeroMQ library")
9394 (description "This Common Lisp library provides bindings for the ZeroMQ
9395 lightweight messaging kernel.")
9396 (home-page "https://github.com/orivej/pzmq")
9397 (license license:unlicense))))
9398
9399 (define-public cl-pzmq
9400 (sbcl-package->cl-source-package sbcl-pzmq))
9401
9402 (define-public ecl-pzmq
9403 (sbcl-package->ecl-package sbcl-pzmq))
9404
9405 (define-public sbcl-clss
9406 (let ((revision "1")
9407 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
9408 (package
9409 (name "sbcl-clss")
9410 (version (git-version "0.3.1" revision commit))
9411 (source
9412 (origin
9413 (method git-fetch)
9414 (uri
9415 (git-reference
9416 (url "https://github.com/Shinmera/clss")
9417 (commit commit)))
9418 (sha256
9419 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
9420 (file-name (git-file-name name version))))
9421 (inputs
9422 `(("array-utils" ,sbcl-array-utils)
9423 ("plump" ,sbcl-plump)))
9424 (build-system asdf-build-system/sbcl)
9425 (synopsis "DOM tree searching engine based on CSS selectors")
9426 (description "CLSS is a DOM traversal engine based on CSS
9427 selectors. It makes use of the Plump-DOM and is used by lQuery.")
9428 (home-page "https://github.com/Shinmera/clss")
9429 (license license:zlib))))
9430
9431 (define-public cl-clss
9432 (sbcl-package->cl-source-package sbcl-clss))
9433
9434 (define-public ecl-clss
9435 (sbcl-package->ecl-package sbcl-clss))
9436
9437 (define-public sbcl-lquery
9438 (let ((revision "1")
9439 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
9440 (package
9441 (name "sbcl-lquery")
9442 (version (git-version "3.2.1" revision commit))
9443 (source
9444 (origin
9445 (method git-fetch)
9446 (uri
9447 (git-reference
9448 (url "https://github.com/Shinmera/lquery")
9449 (commit commit)))
9450 (sha256
9451 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
9452 (file-name (git-file-name name version))))
9453 (native-inputs
9454 `(("fiveam" ,sbcl-fiveam)))
9455 (inputs
9456 `(("array-utils" ,sbcl-array-utils)
9457 ("form-fiddle" ,sbcl-form-fiddle)
9458 ("plump" ,sbcl-plump)
9459 ("clss" ,sbcl-clss)))
9460 (build-system asdf-build-system/sbcl)
9461 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
9462 (description "@code{lQuery} is a DOM manipulation library written in
9463 Common Lisp, inspired by and based on the jQuery syntax and
9464 functions. It uses Plump and CLSS as DOM and selector engines. The
9465 main idea behind lQuery is to provide a simple interface for crawling
9466 and modifying HTML sites, as well as to allow for an alternative
9467 approach to templating.")
9468 (home-page "https://github.com/Shinmera/lquery")
9469 (license license:zlib))))
9470
9471 (define-public cl-lquery
9472 (sbcl-package->cl-source-package sbcl-lquery))
9473
9474 (define-public ecl-lquery
9475 (sbcl-package->ecl-package sbcl-lquery))
9476
9477 (define-public sbcl-cl-mysql
9478 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
9479 (revision "1"))
9480 (package
9481 (name "sbcl-cl-mysql")
9482 (version (git-version "0.1" revision commit))
9483 (source
9484 (origin
9485 (method git-fetch)
9486 (uri (git-reference
9487 (url "https://github.com/hackinghat/cl-mysql")
9488 (commit commit)))
9489 (file-name (git-file-name name version))
9490 (sha256
9491 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
9492 (build-system asdf-build-system/sbcl)
9493 (native-inputs
9494 `(("stefil" ,sbcl-stefil)))
9495 (inputs
9496 `(("cffi" ,sbcl-cffi)
9497 ("mariadb-lib" ,mariadb "lib")))
9498 (arguments
9499 `(#:tests? #f ; TODO: Tests require a running server
9500 #:phases
9501 (modify-phases %standard-phases
9502 (add-after 'unpack 'fix-paths
9503 (lambda* (#:key inputs #:allow-other-keys)
9504 (substitute* "system.lisp"
9505 (("libmysqlclient_r" all)
9506 (string-append (assoc-ref inputs "mariadb-lib")
9507 "/lib/"
9508 all)))
9509 #t)))))
9510 (synopsis "Common Lisp wrapper for MySQL")
9511 (description
9512 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
9513 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
9514 (license license:expat))))
9515
9516 (define-public cl-mysql
9517 (sbcl-package->cl-source-package sbcl-cl-mysql))
9518
9519 (define-public ecl-cl-mysql
9520 (sbcl-package->ecl-package sbcl-cl-mysql))
9521
9522 (define-public sbcl-postmodern
9523 (package
9524 (name "sbcl-postmodern")
9525 (version "1.32.8")
9526 (source
9527 (origin
9528 (method git-fetch)
9529 (uri (git-reference
9530 (url "https://github.com/marijnh/Postmodern")
9531 (commit (string-append "v" version))))
9532 (file-name (git-file-name name version))
9533 (sha256
9534 (base32 "0vr5inbr8dldf6dsl0qj3h2yrnnsayzfwxfzwkn1pk7xbns2l78q"))))
9535 (build-system asdf-build-system/sbcl)
9536 (native-inputs
9537 `(("fiveam" ,sbcl-fiveam)))
9538 (inputs
9539 `(("alexandria" ,sbcl-alexandria)
9540 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9541 ("cl-base64" ,sbcl-cl-base64)
9542 ("cl-unicode" ,sbcl-cl-unicode)
9543 ("closer-mop" ,sbcl-closer-mop)
9544 ("global-vars" ,sbcl-global-vars)
9545 ("ironclad" ,sbcl-ironclad)
9546 ("local-time" ,sbcl-local-time)
9547 ("md5" ,sbcl-md5)
9548 ("split-sequence" ,sbcl-split-sequence)
9549 ("uax-15" ,sbcl-uax-15)
9550 ("usocket" ,sbcl-usocket)))
9551 (arguments
9552 ;; TODO: (Sharlatan-20210114T171037+0000) tests still failing but on other
9553 ;; step, some functionality in `local-time' prevents passing tests.
9554 ;; Error:
9555 ;;
9556 ;; Can't create directory
9557 ;; /gnu/store
9558 ;; /4f47agf1kyiz057ppy6x5p98i7mcbfsv-sbcl-local-time-1.0.6-2.a177eb9
9559 ;; /lib/common-lisp/sbcl/local-time/src/integration/
9560 ;;
9561 ;; NOTE: (Sharlatan-20210124T191940+0000): When set env HOME to /tmp above
9562 ;; issue is resolved but it required live test database to connect to now.
9563 ;; Keep tests switched off.
9564 `(#:tests? #f
9565 #:asd-systems '("cl-postgres"
9566 "s-sql"
9567 "postmodern"
9568 "simple-date"
9569 "simple-date/postgres-glue")))
9570 (synopsis "Common Lisp library for interacting with PostgreSQL")
9571 (description
9572 "@code{postmodern} is a Common Lisp library for interacting with
9573 PostgreSQL databases. It provides the following features:
9574
9575 @itemize
9576 @item Efficient communication with the database server without need for
9577 foreign libraries.
9578 @item Support for UTF-8 on Unicode-aware Lisp implementations.
9579 @item A syntax for mixing SQL and Lisp code.
9580 @item Convenient support for prepared statements and stored procedures.
9581 @item A metaclass for simple database-access objects.
9582 @end itemize\n
9583
9584 This package produces 4 systems: postmodern, cl-postgres, s-sql, simple-date
9585
9586 @code{SIMPLE-DATE} is a very basic implementation of date and time objects, used
9587 to support storing and retrieving time-related SQL types. It is not loaded by
9588 default and you can use local-time (which has support for timezones) instead.
9589
9590 @code{S-SQL} is used to compile s-expressions to strings of SQL code, escaping
9591 any Lisp values inside, and doing as much as possible of the work at compile
9592 time.
9593
9594 @code{CL-POSTGRES} is the low-level library used for interfacing with a PostgreSQL
9595 server over a socket.
9596
9597 @code{POSTMODERN} itself is a wrapper around these packages and provides higher
9598 level functions, a very simple data access object that can be mapped directly to
9599 database tables and some convient utilities. It then tries to put all these
9600 things together into a convenient programming interface")
9601 (home-page "https://marijnhaverbeke.nl/postmodern/")
9602 (license license:zlib)))
9603
9604 (define-public cl-postmodern
9605 (sbcl-package->cl-source-package sbcl-postmodern))
9606
9607 (define-public ecl-postmodern
9608 (package
9609 (inherit (sbcl-package->ecl-package sbcl-postmodern))
9610 (arguments
9611 `(#:tests? #f
9612 #:asd-systems '("cl-postgres"
9613 "s-sql"
9614 "postmodern"
9615 "simple-date"
9616 "simple-date/postgres-glue")
9617 #:phases
9618 (modify-phases %standard-phases
9619 (add-after 'unpack 'fix-build
9620 (lambda _
9621 (substitute* "cl-postgres.asd"
9622 ((":or :sbcl :allegro :ccl :clisp" all)
9623 (string-append all " :ecl")))
9624 #t)))))))
9625
9626 (define-public sbcl-db3
9627 (let ((commit "38e5ad35f025769fb7f8dcdc6e56df3e8efd8e6d")
9628 (revision "1"))
9629 (package
9630 (name "sbcl-db3")
9631 (version (git-version "0.0.0" revision commit))
9632 (source
9633 (origin
9634 (method git-fetch)
9635 (uri (git-reference
9636 (url "https://github.com/dimitri/cl-db3")
9637 (commit commit)))
9638 (file-name (git-file-name "cl-db3" version))
9639 (sha256
9640 (base32 "1i7j0mlri6kbklcx1lsm464s8kmyhhij5c4xh4aybrw8m4ixn1s5"))))
9641 (build-system asdf-build-system/sbcl)
9642 (home-page "https://github.com/dimitri/cl-db3")
9643 (synopsis "Common Lisp library to read dBase III database files")
9644 (description
9645 "This is a Common Lisp library for processing data found in dBase III
9646 database files (dbf and db3 files).")
9647 (license license:public-domain))))
9648
9649 (define-public ecl-db3
9650 (sbcl-package->ecl-package sbcl-db3))
9651
9652 (define-public cl-db3
9653 (sbcl-package->cl-source-package sbcl-db3))
9654
9655 (define-public sbcl-dbi
9656 ;; Master includes a breaking change which other packages depend on since
9657 ;; Quicklisp decided to follow it:
9658 ;; https://github.com/fukamachi/cl-dbi/commit/31c46869722f77fd5292a81b5b101f1347d7fce1
9659 (let ((commit "31c46869722f77fd5292a81b5b101f1347d7fce1"))
9660 (package
9661 (name "sbcl-dbi")
9662 (version (git-version "0.9.4" "1" commit))
9663 (source
9664 (origin
9665 (method git-fetch)
9666 (uri (git-reference
9667 (url "https://github.com/fukamachi/cl-dbi")
9668 (commit commit)))
9669 (file-name (git-file-name name version))
9670 (sha256
9671 (base32 "0r3n4rw12qqxad0cryym2ibm4ddl49gbq4ra227afibsr43nw5k3"))))
9672 (build-system asdf-build-system/sbcl)
9673 (native-inputs
9674 `(("rove" ,sbcl-rove)
9675 ("trivial-types" ,sbcl-trivial-types)))
9676 (inputs
9677 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9678 ("cl-mysql" ,sbcl-cl-mysql)
9679 ("cl-sqlite" ,sbcl-cl-sqlite)
9680 ("closer-mop" ,sbcl-closer-mop)
9681 ("postmodern" ,sbcl-postmodern)
9682 ("split-sequence" ,sbcl-split-sequence)
9683 ("trivial-garbage" ,sbcl-trivial-garbage)))
9684 (arguments
9685 `(#:asd-systems '("dbi"
9686 "dbd-mysql"
9687 "dbd-postgres"
9688 "dbd-sqlite3")))
9689 (synopsis "Database independent interface for Common Lisp")
9690 (description
9691 "@code{dbi} is a Common Lisp library providing a database independent
9692 interface for MySQL, PostgreSQL and SQLite.")
9693 (home-page "https://github.com/fukamachi/cl-dbi")
9694 (license license:llgpl))))
9695
9696 (define-public cl-dbi
9697 (sbcl-package->cl-source-package sbcl-dbi))
9698
9699 (define-public ecl-dbi
9700 (sbcl-package->ecl-package sbcl-dbi))
9701
9702 (define-public sbcl-uffi
9703 (package
9704 (name "sbcl-uffi")
9705 (version "2.1.2")
9706 (source
9707 (origin
9708 (method git-fetch)
9709 (uri (git-reference
9710 (url "http://git.kpe.io/uffi.git")
9711 (commit (string-append "v" version))))
9712 (file-name (git-file-name name version))
9713 (sha256
9714 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
9715 (build-system asdf-build-system/sbcl)
9716 (arguments
9717 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
9718 #:asd-files '("uffi.asd")
9719 #:phases
9720 (modify-phases %standard-phases
9721 (add-after 'unpack 'fix-permissions
9722 (lambda _
9723 (make-file-writable "doc/html.tar.gz")
9724 #t)))))
9725 (synopsis "Universal foreign function library for Common Lisp")
9726 (description
9727 "UFFI provides a universal foreign function interface (FFI)
9728 for Common Lisp.")
9729 (home-page "http://quickdocs.org/uffi/")
9730 (license license:llgpl)))
9731
9732 (define-public cl-uffi
9733 (package
9734 (inherit (sbcl-package->cl-source-package sbcl-uffi))
9735 (arguments
9736 `(#:phases
9737 ;; asdf-build-system/source has its own phases and does not inherit
9738 ;; from asdf-build-system/sbcl phases.
9739 (modify-phases %standard-phases/source
9740 ;; Already done in SBCL package.
9741 (delete 'reset-gzip-timestamps))))))
9742
9743 (define-public sbcl-clsql
9744 (package
9745 (name "sbcl-clsql")
9746 (version "6.7.0")
9747 (source
9748 (origin
9749 (method git-fetch)
9750 (uri (git-reference
9751 (url "http://git.kpe.io/clsql.git")
9752 (commit (string-append "v" version))))
9753 (file-name (git-file-name name version))
9754 (sha256
9755 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
9756 (snippet
9757 '(begin
9758 ;; Remove precompiled libraries.
9759 (delete-file "db-mysql/clsql_mysql.dll")
9760 (delete-file "uffi/clsql_uffi.dll")
9761 (delete-file "uffi/clsql_uffi.lib")
9762 #t))))
9763 (build-system asdf-build-system/sbcl)
9764 (native-inputs
9765 `(("rt" ,sbcl-rt)))
9766 (inputs
9767 `(("cffi" ,sbcl-cffi)
9768 ("md5" ,sbcl-md5)
9769 ("mysql" ,mysql)
9770 ("postgresql" ,postgresql)
9771 ("postmodern" ,sbcl-postmodern)
9772 ("sqlite" ,sqlite)
9773 ("uffi" ,sbcl-uffi)
9774 ("zlib" ,zlib)))
9775 (arguments
9776 `(#:asd-files '("clsql.asd"
9777 "clsql-uffi.asd"
9778 "clsql-sqlite3.asd"
9779 "clsql-postgresql.asd"
9780 "clsql-postgresql-socket3.asd"
9781 "clsql-mysql.asd")
9782 #:asd-systems '("clsql"
9783 "clsql-sqlite3"
9784 "clsql-postgresql"
9785 "clsql-postgresql-socket3"
9786 "clsql-mysql")
9787 #:phases
9788 (modify-phases %standard-phases
9789 (add-after 'unpack 'fix-permissions
9790 (lambda _
9791 (make-file-writable "doc/html.tar.gz")
9792 #t))
9793 (add-after 'unpack 'fix-build
9794 (lambda _
9795 (substitute* "clsql-uffi.asd"
9796 (("\\(:version uffi \"2.0\"\\)")
9797 "uffi"))
9798 (substitute* "db-postgresql/postgresql-api.lisp"
9799 (("\\(data :cstring\\)")
9800 "(data :string)"))
9801 #t))
9802 (add-after 'unpack 'fix-paths
9803 (lambda* (#:key inputs outputs #:allow-other-keys)
9804 (substitute* "db-sqlite3/sqlite3-loader.lisp"
9805 (("libsqlite3")
9806 (string-append (assoc-ref inputs "sqlite")
9807 "/lib/libsqlite3")))
9808 (substitute* "db-postgresql/postgresql-loader.lisp"
9809 (("libpq")
9810 (string-append (assoc-ref inputs "postgresql")
9811 "/lib/libpq")))
9812 (let ((lib (string-append "#p\""
9813 (assoc-ref outputs "out")
9814 "/lib/\"")))
9815 (substitute* "clsql-mysql.asd"
9816 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
9817 lib))
9818 (substitute* "db-mysql/mysql-loader.lisp"
9819 (("libmysqlclient" all)
9820 (string-append (assoc-ref inputs "mysql") "/lib/" all))
9821 (("clsql-mysql-system::\\*library-file-dir\\*")
9822 lib)))
9823 #t))
9824 (add-before 'build 'build-helper-library
9825 (lambda* (#:key inputs outputs #:allow-other-keys)
9826 (let* ((mysql (assoc-ref inputs "mysql"))
9827 (inc-dir (string-append mysql "/include/mysql"))
9828 (lib-dir (string-append mysql "/lib"))
9829 (shared-lib-dir (string-append (assoc-ref outputs "out")
9830 "/lib"))
9831 (shared-lib (string-append shared-lib-dir
9832 "/clsql_mysql.so")))
9833 (mkdir-p shared-lib-dir)
9834 (invoke "gcc" "-fPIC" "-shared"
9835 "-I" inc-dir
9836 "db-mysql/clsql_mysql.c"
9837 "-Wl,-soname=clsql_mysql"
9838 "-L" lib-dir "-lmysqlclient" "-lz"
9839 "-o" shared-lib)
9840 #t)))
9841 (add-after 'unpack 'fix-tests
9842 (lambda _
9843 (substitute* "clsql.asd"
9844 (("clsql-tests :force t")
9845 "clsql-tests"))
9846 #t)))))
9847 (synopsis "Common Lisp SQL Interface library")
9848 (description
9849 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
9850 Xanalys CommonSQL interface for Lispworks. It provides low-level database
9851 interfaces as well as a functional and an object oriented interface.")
9852 (home-page "http://clsql.kpe.io/")
9853 (license license:llgpl)))
9854
9855 (define-public cl-clsql
9856 (package
9857 (inherit (sbcl-package->cl-source-package sbcl-clsql))
9858 (native-inputs
9859 `(("rt" ,cl-rt)))
9860 (inputs
9861 `(("mysql" ,mysql)
9862 ("postgresql" ,postgresql)
9863 ("sqlite" ,sqlite)
9864 ("zlib" ,zlib)))
9865 (propagated-inputs
9866 `(("cffi" ,cl-cffi)
9867 ("md5" ,cl-md5)
9868 ("postmodern" ,cl-postmodern)
9869 ("uffi" ,cl-uffi)))
9870 (arguments
9871 `(#:phases
9872 ;; asdf-build-system/source has its own phases and does not inherit
9873 ;; from asdf-build-system/sbcl phases.
9874 (modify-phases %standard-phases/source
9875 (add-after 'unpack 'fix-permissions
9876 (lambda _
9877 (make-file-writable "doc/html.tar.gz")
9878 #t)))))))
9879
9880 (define-public ecl-clsql
9881 (let ((pkg (sbcl-package->ecl-package sbcl-clsql)))
9882 (package
9883 (inherit pkg)
9884 (inputs
9885 (alist-delete "uffi" (package-inputs pkg)))
9886 (arguments
9887 (substitute-keyword-arguments (package-arguments pkg)
9888 ((#:asd-files asd-files '())
9889 `(cons "clsql-cffi.asd" ,asd-files)))))))
9890
9891 (define-public sbcl-sycamore
9892 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
9893 (package
9894 (name "sbcl-sycamore")
9895 (version "0.0.20120604")
9896 (source
9897 (origin
9898 (method git-fetch)
9899 (uri (git-reference
9900 (url "https://github.com/ndantam/sycamore/")
9901 (commit commit)))
9902 (file-name (git-file-name name version))
9903 (sha256
9904 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
9905 (build-system asdf-build-system/sbcl)
9906 (inputs
9907 `(("alexandria" ,sbcl-alexandria)
9908 ("cl-ppcre" ,sbcl-cl-ppcre)))
9909 (synopsis "Purely functional data structure library in Common Lisp")
9910 (description
9911 "Sycamore is a fast, purely functional data structure library in Common Lisp.
9912 If features:
9913
9914 @itemize
9915 @item Fast, purely functional weight-balanced binary trees.
9916 @item Leaf nodes are simple-vectors, greatly reducing tree height.
9917 @item Interfaces for tree Sets and Maps (dictionaries).
9918 @item Ropes.
9919 @item Purely functional pairing heaps.
9920 @item Purely functional amortized queue.
9921 @end itemize\n")
9922 (home-page "http://ndantam.github.io/sycamore/")
9923 (license license:bsd-3))))
9924
9925 (define-public cl-sycamore
9926 (sbcl-package->cl-source-package sbcl-sycamore))
9927
9928 (define-public ecl-sycamore
9929 (sbcl-package->ecl-package sbcl-sycamore))
9930
9931 (define-public sbcl-trivial-package-local-nicknames
9932 (package
9933 (name "sbcl-trivial-package-local-nicknames")
9934 (version "0.2")
9935 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
9936 (source
9937 (origin
9938 (method git-fetch)
9939 (uri (git-reference
9940 (url home-page)
9941 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
9942 (file-name (git-file-name name version))
9943 (sha256
9944 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
9945 (build-system asdf-build-system/sbcl)
9946 (synopsis "Common Lisp compatibility library for package local nicknames")
9947 (description
9948 "This library is a portable compatibility layer around package local nicknames (PLN).
9949 This was done so there is a portability library for the PLN API not included
9950 in DEFPACKAGE.")
9951 (license license:unlicense)))
9952
9953 (define-public cl-trivial-package-local-nicknames
9954 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
9955
9956 (define-public ecl-trivial-package-local-nicknames
9957 (sbcl-package->ecl-package sbcl-trivial-package-local-nicknames))
9958
9959 (define-public sbcl-enchant
9960 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
9961 (package
9962 (name "sbcl-enchant")
9963 (version (git-version "0.0.0" "1" commit))
9964 (home-page "https://github.com/tlikonen/cl-enchant")
9965 (source
9966 (origin
9967 (method git-fetch)
9968 (uri (git-reference
9969 (url home-page)
9970 (commit commit)))
9971 (file-name (git-file-name name version))
9972 (sha256
9973 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
9974 (build-system asdf-build-system/sbcl)
9975 (inputs
9976 `(("enchant" ,enchant)
9977 ("cffi" ,sbcl-cffi)))
9978 (arguments
9979 `(#:phases
9980 (modify-phases %standard-phases
9981 (add-after 'unpack 'fix-paths
9982 (lambda* (#:key inputs #:allow-other-keys)
9983 (substitute* "load-enchant.lisp"
9984 (("libenchant")
9985 (string-append
9986 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
9987 (synopsis "Common Lisp interface for the Enchant spell-checker library")
9988 (description
9989 "Enchant is a Common Lisp interface for the Enchant spell-checker
9990 library. The Enchant library is a generic spell-checker library which uses
9991 other spell-checkers transparently as back-end. The library supports the
9992 multiple checkers, including Aspell and Hunspell.")
9993 (license license:public-domain))))
9994
9995 (define-public cl-enchant
9996 (sbcl-package->cl-source-package sbcl-enchant))
9997
9998 (define-public ecl-enchant
9999 (sbcl-package->ecl-package sbcl-enchant))
10000
10001 (define-public sbcl-cl-change-case
10002 (let ((commit "5ceff2a5f8bd845b6cb510c6364176b27a238fd3"))
10003 (package
10004 (name "sbcl-cl-change-case")
10005 (version (git-version "0.1.0" "1" commit))
10006 (home-page "https://github.com/rudolfochrist/cl-change-case")
10007 (source
10008 (origin
10009 (method git-fetch)
10010 (uri (git-reference
10011 (url home-page)
10012 (commit commit)))
10013 (file-name (git-file-name name version))
10014 (sha256
10015 (base32 "1afyglglk9z3yg8gylcl301bl2r8vq3sllyznzj9s5xi5gs6qyf2"))))
10016 (build-system asdf-build-system/sbcl)
10017 (inputs
10018 `(("cl-ppcre" ,sbcl-cl-ppcre)
10019 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
10020 (native-inputs
10021 `(("fiveam" ,sbcl-fiveam)))
10022 (arguments
10023 '(;; FIXME: Test pass but phase fails with 'Component
10024 ;; "cl-change-case-test" not found, required by'.
10025 #:tests? #f
10026 #:test-asd-file "cl-change-case-test.asd"))
10027 (synopsis "Convert Common Lisp strings between camelCase, PascalCase and more")
10028 (description
10029 "@code{cl-change-case} is library to convert strings between camelCase,
10030 PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
10031 (license license:llgpl))))
10032
10033 (define-public cl-change-case
10034 (sbcl-package->cl-source-package sbcl-cl-change-case))
10035
10036 (define-public ecl-cl-change-case
10037 (sbcl-package->ecl-package sbcl-cl-change-case))
10038
10039 (define-public sbcl-modularize
10040 (let ((commit "86c5d9a11fbd2df9f0f03ac10b5d71837c8934ba")
10041 (revision "1"))
10042 (package
10043 (name "sbcl-modularize")
10044 (version (git-version "1.0.0" revision commit))
10045 (source
10046 (origin
10047 (method git-fetch)
10048 (uri (git-reference
10049 (url "https://github.com/Shinmera/modularize")
10050 (commit commit)))
10051 (file-name (git-file-name name version))
10052 (sha256
10053 (base32 "1zys29rfkb649rkgl3snxhajk8d5yf7ryxkrwy020kwdh7zdsg7d"))))
10054 (build-system asdf-build-system/sbcl)
10055 (arguments
10056 `(#:test-asd-file "modularize-test-module.asd"
10057 #:asd-files '("modularize.asd" "modularize-test-module.asd")
10058 #:asd-systems '("modularize" "modularize-test-module")))
10059 (inputs
10060 `(("documentation-utils" ,sbcl-documentation-utils)
10061 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)))
10062 (home-page "https://shinmera.github.io/modularize/")
10063 (synopsis "Common Lisp modularization framework")
10064 (description
10065 "@code{MODULARIZE} is an attempt at providing a common interface to
10066 segregate major application components. This is achieved by adding special
10067 treatment to packages. Each module is a package that is specially registered,
10068 which allows it to interact and co-exist with other modules in better ways. For
10069 instance, by adding module definition options you can introduce mechanisms to
10070 tie modules together in functionality, hook into each other and so on.")
10071 (license license:zlib))))
10072
10073 (define-public ecl-modularize
10074 (sbcl-package->ecl-package sbcl-modularize))
10075
10076 (define-public cl-modularize
10077 (sbcl-package->cl-source-package sbcl-modularize))
10078
10079 (define-public sbcl-modularize-hooks
10080 (let ((commit "e0348ed3ffd59a9ec31ca4ab28289e748bfbf96a")
10081 (revision "1"))
10082 (package
10083 (name "sbcl-modularize-hooks")
10084 (version (git-version "1.0.2" revision commit))
10085 (source
10086 (origin
10087 (method git-fetch)
10088 (uri (git-reference
10089 (url "https://github.com/Shinmera/modularize-hooks")
10090 (commit commit)))
10091 (file-name (git-file-name "modularize-hooks" version))
10092 (sha256
10093 (base32 "12kjvin8hxidwkzfb7inqv5b6g5qzcssnj9wc497v2ixc56fqdz7"))))
10094 (build-system asdf-build-system/sbcl)
10095 (inputs
10096 `(("closer-mop" ,sbcl-closer-mop)
10097 ("lambda-fiddle" ,sbcl-lambda-fiddle)
10098 ("modularize" ,sbcl-modularize)
10099 ("trivial-arguments" ,sbcl-trivial-arguments)))
10100 (home-page "https://shinmera.github.io/modularize-hooks/")
10101 (synopsis "Generic hooks and triggers extension for Modularize")
10102 (description
10103 "This is a simple extension to @code{MODULARIZE} that allows modules to
10104 define and trigger hooks, which other modules can hook on to.")
10105 (license license:zlib))))
10106
10107 (define-public ecl-modularize-hooks
10108 (sbcl-package->ecl-package sbcl-modularize-hooks))
10109
10110 (define-public cl-modularize-hooks
10111 (sbcl-package->cl-source-package sbcl-modularize-hooks))
10112
10113 (define-public sbcl-modularize-interfaces
10114 (let ((commit "96353657afb8c7aeba7ef5b51eb04c5ed3bcb6ef")
10115 (revision "1"))
10116 (package
10117 (name "sbcl-modularize-interfaces")
10118 (version (git-version "0.9.3" revision commit))
10119 (source
10120 (origin
10121 (method git-fetch)
10122 (uri (git-reference
10123 (url "https://github.com/Shinmera/modularize-interfaces")
10124 (commit commit)))
10125 (file-name (git-file-name "modularize-interfaces" version))
10126 (sha256
10127 (base32 "0bjf4wy39cwf75m7vh0r7mmcchs09yz2lrbyap98hnq8blq70fhc"))))
10128 (build-system asdf-build-system/sbcl)
10129 (inputs
10130 `(("lambda-fiddle" ,sbcl-lambda-fiddle)
10131 ("modularize" ,sbcl-modularize)
10132 ("trivial-arguments" ,sbcl-trivial-arguments)
10133 ("trivial-indent" ,sbcl-trivial-indent)))
10134 (home-page "https://shinmera.github.io/modularize-interfaces/")
10135 (synopsis "Programmatical interfaces extension for Modularize")
10136 (description
10137 "This is an extension to @code{MODULARIZE} that allows your application
10138 to define interfaces in-code that serve both as a primary documentation and as
10139 compliance control.")
10140 (license license:zlib))))
10141
10142 (define-public ecl-modularize-interfaces
10143 (sbcl-package->ecl-package sbcl-modularize-interfaces))
10144
10145 (define-public cl-modularize-interfaces
10146 (sbcl-package->cl-source-package sbcl-modularize-interfaces))
10147
10148 (define-public sbcl-moptilities
10149 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
10150 (package
10151 (name "sbcl-moptilities")
10152 (version (git-version "0.3.13" "1" commit))
10153 (home-page "https://github.com/gwkkwg/moptilities/")
10154 (source
10155 (origin
10156 (method git-fetch)
10157 (uri (git-reference
10158 (url home-page)
10159 (commit commit)))
10160 (file-name (git-file-name name version))
10161 (sha256
10162 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
10163 (build-system asdf-build-system/sbcl)
10164 (inputs
10165 `(("closer-mop" ,sbcl-closer-mop)))
10166 (native-inputs
10167 `(("lift" ,sbcl-lift)))
10168 (arguments
10169 `(#:phases
10170 (modify-phases %standard-phases
10171 (add-after 'unpack 'fix-tests
10172 (lambda _
10173 (substitute* "lift-standard.config"
10174 ((":relative-to lift-test")
10175 ":relative-to moptilities-test"))
10176 #t)))))
10177 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
10178 (description
10179 "MOP utilities provide a common interface between Lisps and make the
10180 MOP easier to use.")
10181 (license license:expat))))
10182
10183 (define-public cl-moptilities
10184 (sbcl-package->cl-source-package sbcl-moptilities))
10185
10186 (define-public sbcl-osicat
10187 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
10188 (package
10189 (name "sbcl-osicat")
10190 (version (git-version "0.7.0" "1" commit))
10191 (home-page "http://www.common-lisp.net/project/osicat/")
10192 (source
10193 (origin
10194 (method git-fetch)
10195 (uri (git-reference
10196 (url "https://github.com/osicat/osicat")
10197 (commit commit)))
10198 (file-name (git-file-name name version))
10199 (sha256
10200 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
10201 (build-system asdf-build-system/sbcl)
10202 (inputs
10203 `(("alexandria" ,sbcl-alexandria)
10204 ("cffi" ,sbcl-cffi)
10205 ("trivial-features" ,sbcl-trivial-features)))
10206 (native-inputs
10207 `(("rt" ,sbcl-rt)))
10208 (synopsis "Operating system interface for Common Lisp")
10209 (description
10210 "Osicat is a lightweight operating system interface for Common Lisp on
10211 Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
10212 accompaniment to the standard ANSI facilities.")
10213 (license license:expat))))
10214
10215 (define-public cl-osicat
10216 (sbcl-package->cl-source-package sbcl-osicat))
10217
10218 (define-public ecl-osicat
10219 (sbcl-package->ecl-package sbcl-osicat))
10220
10221 (define-public sbcl-clx-xembed
10222 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
10223 (revision "1"))
10224 (package
10225 (name "sbcl-clx-xembed")
10226 (version (git-version "0.1" revision commit))
10227 (home-page "https://github.com/laynor/clx-xembed")
10228 (source
10229 (origin
10230 (method git-fetch)
10231 (uri (git-reference
10232 (url "https://github.com/laynor/clx-xembed")
10233 (commit commit)))
10234 (file-name (git-file-name name version))
10235 (sha256
10236 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
10237 (build-system asdf-build-system/sbcl)
10238 (arguments
10239 `(#:asd-systems '("xembed")))
10240 (inputs
10241 `(("sbcl-clx" ,sbcl-clx)))
10242 (synopsis "CL(x) xembed protocol implementation ")
10243 (description "CL(x) xembed protocol implementation")
10244 ;; MIT License
10245 (license license:expat))))
10246
10247 (define-public cl-clx-xembed
10248 (sbcl-package->cl-source-package sbcl-clx-xembed))
10249
10250 (define-public ecl-clx-xembed
10251 (sbcl-package->ecl-package sbcl-clx-xembed))
10252
10253 (define-public sbcl-quantile-estimator
10254 (package
10255 (name "sbcl-quantile-estimator")
10256 (version "0.0.1")
10257 (source
10258 (origin
10259 (method git-fetch)
10260 (uri (git-reference
10261 (url "https://github.com/deadtrickster/quantile-estimator.cl")
10262 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
10263 (file-name (git-file-name name version))
10264 (sha256
10265 (base32
10266 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
10267 (build-system asdf-build-system/sbcl)
10268 (arguments
10269 '(#:asd-files '("quantile-estimator.asd")))
10270 (inputs
10271 `(("alexandria" ,sbcl-alexandria)))
10272 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
10273 (synopsis
10274 "Effective computation of biased quantiles over data streams")
10275 (description
10276 "Common Lisp implementation of Graham Cormode and S.
10277 Muthukrishnan's Effective Computation of Biased Quantiles over Data
10278 Streams in ICDE’05.")
10279 (license license:expat)))
10280
10281 (define-public cl-quantile-estimator
10282 (sbcl-package->cl-source-package sbcl-quantile-estimator))
10283
10284 (define-public ecl-quantile-estimator
10285 (sbcl-package->ecl-package sbcl-quantile-estimator))
10286
10287 (define-public sbcl-prometheus
10288 (package
10289 (name "sbcl-prometheus")
10290 (version "0.4.1")
10291 (source
10292 (origin
10293 (method git-fetch)
10294 (uri (git-reference
10295 (url "https://github.com/deadtrickster/prometheus.cl")
10296 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
10297 (file-name (git-file-name name version))
10298 (sha256
10299 (base32
10300 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
10301 (build-system asdf-build-system/sbcl)
10302 (inputs
10303 `(("alexandria" ,sbcl-alexandria)
10304 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10305 ("cffi" ,sbcl-cffi)
10306 ("cl-fad" ,sbcl-cl-fad)
10307 ("cl-ppcre" ,sbcl-cl-ppcre)
10308 ("drakma" ,sbcl-drakma)
10309 ("hunchentoot" ,sbcl-hunchentoot)
10310 ("local-time" ,sbcl-local-time)
10311 ("quantile-estimator" ,sbcl-quantile-estimator)
10312 ("salza2" ,sbcl-salza2)
10313 ("split-sequence" ,sbcl-split-sequence)
10314 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10315 (arguments
10316 '(#:asd-files '("prometheus.asd"
10317 "prometheus.collectors.sbcl.asd"
10318 "prometheus.collectors.process.asd"
10319 "prometheus.formats.text.asd"
10320 "prometheus.exposers.hunchentoot.asd"
10321 "prometheus.pushgateway.asd")
10322 #:asd-systems '("prometheus"
10323 "prometheus.collectors.sbcl"
10324 "prometheus.collectors.process"
10325 "prometheus.formats.text"
10326 "prometheus.exposers.hunchentoot"
10327 "prometheus.pushgateway")))
10328 (home-page "https://github.com/deadtrickster/prometheus.cl")
10329 (synopsis "Prometheus.io Common Lisp client")
10330 (description "Prometheus.io Common Lisp client.")
10331 (license license:expat)))
10332
10333 (define-public cl-prometheus
10334 (sbcl-package->cl-source-package sbcl-prometheus))
10335
10336 (define-public ecl-prometheus
10337 (sbcl-package->ecl-package sbcl-prometheus))
10338
10339 (define-public sbcl-uuid
10340 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
10341 (package
10342 (name "sbcl-uuid")
10343 (version (git-version "2012.12.26" "1" commit))
10344 (source
10345 (origin
10346 (method git-fetch)
10347 (uri (git-reference
10348 (url "https://github.com/dardoria/uuid")
10349 (commit commit)))
10350 (file-name (git-file-name name version))
10351 (sha256
10352 (base32
10353 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
10354 (build-system asdf-build-system/sbcl)
10355 (inputs
10356 `(("ironclad" ,sbcl-ironclad)
10357 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10358 (home-page "https://github.com/dardoria/uuid")
10359 (synopsis
10360 "Common Lisp implementation of UUIDs according to RFC4122")
10361 (description
10362 "Common Lisp implementation of UUIDs according to RFC4122.")
10363 (license license:llgpl))))
10364
10365 (define-public cl-uuid
10366 (sbcl-package->cl-source-package sbcl-uuid))
10367
10368 (define-public ecl-uuid
10369 (sbcl-package->ecl-package sbcl-uuid))
10370
10371 (define-public sbcl-dissect
10372 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
10373 (package
10374 (name "sbcl-dissect")
10375 (version (git-version "1.0.0" "1" commit))
10376 (source
10377 (origin
10378 (method git-fetch)
10379 (uri (git-reference
10380 (url "https://github.com/Shinmera/dissect")
10381 (commit commit)))
10382 (file-name (git-file-name name version))
10383 (sha256
10384 (base32
10385 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
10386 (build-system asdf-build-system/sbcl)
10387 (inputs
10388 `(("cl-ppcre" ,sbcl-cl-ppcre)))
10389 (home-page "https://shinmera.github.io/dissect/")
10390 (synopsis
10391 "Introspection library for the call stack and restarts")
10392 (description
10393 "Dissect is a small Common Lisp library for introspecting the call stack
10394 and active restarts.")
10395 (license license:zlib))))
10396
10397 (define-public cl-dissect
10398 (sbcl-package->cl-source-package sbcl-dissect))
10399
10400 (define-public ecl-dissect
10401 (sbcl-package->ecl-package sbcl-dissect))
10402
10403 (define-public sbcl-rove
10404 (package
10405 (name "sbcl-rove")
10406 (version "0.9.6")
10407 (source
10408 (origin
10409 (method git-fetch)
10410 (uri (git-reference
10411 (url "https://github.com/fukamachi/rove")
10412 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
10413 (file-name (git-file-name name version))
10414 (sha256
10415 (base32
10416 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
10417 (build-system asdf-build-system/sbcl)
10418 (inputs
10419 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10420 ("dissect" ,sbcl-dissect)
10421 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
10422 (home-page "https://github.com/fukamachi/rove")
10423 (synopsis
10424 "Yet another common lisp testing library")
10425 (description
10426 "Rove is a unit testing framework for Common Lisp applications.
10427 This is intended to be a successor of Prove.")
10428 (license license:bsd-3)))
10429
10430 (define-public cl-rove
10431 (sbcl-package->cl-source-package sbcl-rove))
10432
10433 (define-public ecl-rove
10434 (sbcl-package->ecl-package sbcl-rove))
10435
10436 (define-public sbcl-exponential-backoff
10437 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
10438 (package
10439 (name "sbcl-exponential-backoff")
10440 (version (git-version "0" "1" commit))
10441 (source
10442 (origin
10443 (method git-fetch)
10444 (uri (git-reference
10445 (url "https://github.com/death/exponential-backoff")
10446 (commit commit)))
10447 (file-name (git-file-name name version))
10448 (sha256
10449 (base32
10450 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
10451 (build-system asdf-build-system/sbcl)
10452 (home-page "https://github.com/death/exponential-backoff")
10453 (synopsis "Exponential backoff algorithm in Common Lisp")
10454 (description
10455 "An implementation of the exponential backoff algorithm in Common Lisp.
10456 Inspired by the implementation found in Chromium. Read the header file to
10457 learn about each of the parameters.")
10458 (license license:expat))))
10459
10460 (define-public cl-exponential-backoff
10461 (sbcl-package->cl-source-package sbcl-exponential-backoff))
10462
10463 (define-public ecl-exponential-backoff
10464 (sbcl-package->ecl-package sbcl-exponential-backoff))
10465
10466 (define-public sbcl-sxql
10467 (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
10468 (package
10469 (name "sbcl-sxql")
10470 (version (git-version "0.1.0" "1" commit))
10471 (source
10472 (origin
10473 (method git-fetch)
10474 (uri (git-reference
10475 (url "https://github.com/fukamachi/sxql")
10476 (commit commit)))
10477 (file-name (git-file-name name version))
10478 (sha256
10479 (base32
10480 "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
10481 (build-system asdf-build-system/sbcl)
10482 (arguments
10483 `(#:test-asd-file "sxql-test.asd"))
10484 (inputs
10485 `(("alexandria" ,sbcl-alexandria)
10486 ("cl-syntax" ,sbcl-cl-syntax)
10487 ("iterate" ,sbcl-iterate)
10488 ("optima" ,sbcl-optima)
10489 ("split-sequence" ,sbcl-split-sequence)
10490 ("trivial-types" ,sbcl-trivial-types)))
10491 (native-inputs
10492 `(("prove" ,sbcl-prove)))
10493 (home-page "https://github.com/fukamachi/sxql")
10494 (synopsis "SQL generator for Common Lisp")
10495 (description "SQL generator for Common Lisp.")
10496 (license license:bsd-3))))
10497
10498 (define-public cl-sxql
10499 (sbcl-package->cl-source-package sbcl-sxql))
10500
10501 (define-public ecl-sxql
10502 (sbcl-package->ecl-package sbcl-sxql))
10503
10504 (define-public sbcl-1am
10505 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
10506 (package
10507 (name "sbcl-1am")
10508 (version (git-version "0.0" "1" commit))
10509 (source
10510 (origin
10511 (method git-fetch)
10512 (uri (git-reference
10513 (url "https://github.com/lmj/1am")
10514 (commit commit)))
10515 (file-name (git-file-name name version))
10516 (sha256
10517 (base32
10518 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
10519 (build-system asdf-build-system/sbcl)
10520 (arguments
10521 `(#:asd-systems '("1am")))
10522 (home-page "https://github.com/lmj/1am")
10523 (synopsis "Minimal testing framework for Common Lisp")
10524 (description "A minimal testing framework for Common Lisp.")
10525 (license license:expat))))
10526
10527 (define-public cl-1am
10528 (sbcl-package->cl-source-package sbcl-1am))
10529
10530 (define-public ecl-1am
10531 (sbcl-package->ecl-package sbcl-1am))
10532
10533 (define-public sbcl-cl-ascii-table
10534 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
10535 (revision "1"))
10536 (package
10537 (name "sbcl-cl-ascii-table")
10538 (version (git-version "0.0.0" revision commit))
10539 (source
10540 (origin
10541 (method git-fetch)
10542 (uri (git-reference
10543 (url "https://github.com/telephil/cl-ascii-table")
10544 (commit commit)))
10545 (file-name (git-file-name name version))
10546 (sha256
10547 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
10548 (build-system asdf-build-system/sbcl)
10549 (synopsis "Library to make ascii-art tables")
10550 (description
10551 "This is a Common Lisp library to present tabular data in ascii-art
10552 tables.")
10553 (home-page "https://github.com/telephil/cl-ascii-table")
10554 (license license:expat))))
10555
10556 (define-public cl-ascii-table
10557 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
10558
10559 (define-public ecl-cl-ascii-table
10560 (sbcl-package->ecl-package sbcl-cl-ascii-table))
10561
10562 (define-public sbcl-cl-rdkafka
10563 (package
10564 (name "sbcl-cl-rdkafka")
10565 (version "1.0.2")
10566 (source
10567 (origin
10568 (method git-fetch)
10569 (uri (git-reference
10570 (url "https://github.com/SahilKang/cl-rdkafka")
10571 (commit (string-append "v" version))))
10572 (file-name (git-file-name name version))
10573 (sha256
10574 (base32
10575 "1qcgfd4h7syilzmrmd4z2vknbvawda3q3ykw7xm8n381syry4g82"))))
10576 (build-system asdf-build-system/sbcl)
10577 (arguments
10578 `(#:tests? #f ; Attempts to connect to locally running Kafka
10579 #:phases
10580 (modify-phases %standard-phases
10581 (add-after 'unpack 'fix-paths
10582 (lambda* (#:key inputs #:allow-other-keys)
10583 (substitute* "src/low-level/librdkafka-bindings.lisp"
10584 (("librdkafka" all)
10585 (string-append (assoc-ref inputs "librdkafka") "/lib/"
10586 all))))))))
10587 (inputs
10588 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10589 ("cffi" ,sbcl-cffi)
10590 ("librdkafka" ,librdkafka)
10591 ("lparallel" ,sbcl-lparallel)
10592 ("trivial-garbage" ,sbcl-trivial-garbage)))
10593 (home-page "https://github.com/SahilKang/cl-rdkafka")
10594 (synopsis "Common Lisp client library for Apache Kafka")
10595 (description "A Common Lisp client library for Apache Kafka.")
10596 (license license:gpl3)))
10597
10598 (define-public cl-rdkafka
10599 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
10600
10601 (define-public ecl-cl-rdkafka
10602 (sbcl-package->ecl-package sbcl-cl-rdkafka))
10603
10604 (define-public sbcl-acclimation
10605 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
10606 (package
10607 (name "sbcl-acclimation")
10608 (version (git-version "0.0.0" "1" commit))
10609 (source
10610 (origin
10611 (method git-fetch)
10612 (uri (git-reference
10613 (url "https://github.com/robert-strandh/Acclimation")
10614 (commit commit)))
10615 (file-name (git-file-name name version))
10616 (sha256
10617 (base32
10618 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
10619 (build-system asdf-build-system/sbcl)
10620 (home-page "https://github.com/robert-strandh/Acclimation")
10621 (synopsis "Internationalization library for Common Lisp")
10622 (description "This project is meant to provide tools for
10623 internationalizing Common Lisp programs.
10624
10625 One important aspect of internationalization is of course the language used in
10626 error messages, documentation strings, etc. But with this project we provide
10627 tools for all other aspects of internationalization as well, including dates,
10628 weight, temperature, names of physical quantitites, etc.")
10629 (license license:bsd-2))))
10630
10631 (define-public cl-acclimation
10632 (sbcl-package->cl-source-package sbcl-acclimation))
10633
10634 (define-public ecl-acclimation
10635 (sbcl-package->ecl-package sbcl-acclimation))
10636
10637 (define-public sbcl-clump
10638 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
10639 (package
10640 (name "sbcl-clump")
10641 (version (git-version "0.0.0" "1" commit))
10642 (source
10643 (origin
10644 (method git-fetch)
10645 (uri (git-reference
10646 (url "https://github.com/robert-strandh/Clump")
10647 (commit commit)))
10648 (file-name (git-file-name name version))
10649 (sha256
10650 (base32
10651 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
10652 (inputs
10653 `(("acclimation" ,sbcl-acclimation)))
10654 (build-system asdf-build-system/sbcl)
10655 (home-page "https://github.com/robert-strandh/Clump")
10656 (synopsis "Collection of tree implementations for Common Lisp")
10657 (description "The purpose of this library is to provide a collection of
10658 implementations of trees.
10659
10660 In contrast to existing libraries such as cl-containers, it does not impose a
10661 particular use for the trees. Instead, it aims for a stratified design,
10662 allowing client code to choose between different levels of abstraction.
10663
10664 As a consequence of this policy, low-level interfaces are provided where
10665 the concrete representation is exposed, but also high level interfaces
10666 where the trees can be used as search trees or as trees that represent
10667 sequences of objects.")
10668 (license license:bsd-2))))
10669
10670 (define-public cl-clump
10671 (sbcl-package->cl-source-package sbcl-clump))
10672
10673 (define-public ecl-clump
10674 (sbcl-package->ecl-package sbcl-clump))
10675
10676 (define-public sbcl-cluffer
10677 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
10678 (package
10679 (name "sbcl-cluffer")
10680 (version (git-version "0.0.0" "1" commit))
10681 (source
10682 (origin
10683 (method git-fetch)
10684 (uri (git-reference
10685 (url "https://github.com/robert-strandh/cluffer")
10686 (commit commit)))
10687 (file-name (git-file-name name version))
10688 (sha256
10689 (base32
10690 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
10691 (build-system asdf-build-system/sbcl)
10692 (inputs
10693 `(("acclimation" ,sbcl-acclimation)
10694 ("clump" ,sbcl-clump)))
10695 (home-page "https://github.com/robert-strandh/cluffer")
10696 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
10697 (description "Cluffer is a library for representing the buffer of a text
10698 editor. As such, it defines a set of CLOS protocols for client code to
10699 interact with the buffer contents in various ways, and it supplies different
10700 implementations of those protocols for different purposes.")
10701 (license license:bsd-2))))
10702
10703 (define-public cl-cluffer
10704 (sbcl-package->cl-source-package sbcl-cluffer))
10705
10706 (define-public ecl-cluffer
10707 (sbcl-package->ecl-package sbcl-cluffer))
10708
10709 (define-public sbcl-cl-libsvm-format
10710 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
10711 (revision "0"))
10712 (package
10713 (name "sbcl-cl-libsvm-format")
10714 (version (git-version "0.1.0" revision commit))
10715 (source
10716 (origin
10717 (method git-fetch)
10718 (uri (git-reference
10719 (url "https://github.com/masatoi/cl-libsvm-format")
10720 (commit commit)))
10721 (file-name (git-file-name name version))
10722 (sha256
10723 (base32
10724 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
10725 (build-system asdf-build-system/sbcl)
10726 (native-inputs
10727 `(("prove" ,sbcl-prove)))
10728 (inputs
10729 `(("alexandria" ,sbcl-alexandria)))
10730 (synopsis "LibSVM data format reader for Common Lisp")
10731 (description
10732 "This Common Lisp library provides a fast reader for data in LibSVM
10733 format.")
10734 (home-page "https://github.com/masatoi/cl-libsvm-format")
10735 (license license:expat))))
10736
10737 (define-public cl-libsvm-format
10738 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
10739
10740 (define-public ecl-cl-libsvm-format
10741 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
10742
10743 (define-public sbcl-cl-online-learning
10744 (let ((commit "87fbef8a340219e853adb3a5bf44a0470da76964")
10745 (revision "1"))
10746 (package
10747 (name "sbcl-cl-online-learning")
10748 (version (git-version "0.5" revision commit))
10749 (source
10750 (origin
10751 (method git-fetch)
10752 (uri (git-reference
10753 (url "https://github.com/masatoi/cl-online-learning")
10754 (commit commit)))
10755 (file-name (git-file-name "cl-online-learning" version))
10756 (sha256
10757 (base32
10758 "1lfq04lnxivx59nq5dd02glyqsqzf3vdn4s9b8wnaln5fs8g2ph9"))))
10759 (build-system asdf-build-system/sbcl)
10760 (native-inputs
10761 `(("prove" ,sbcl-prove)))
10762 (inputs
10763 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
10764 ("cl-store" ,sbcl-cl-store)))
10765 (arguments
10766 `(#:test-asd-file "cl-online-learning-test.asd"
10767 #:asd-systems '("cl-online-learning-test"
10768 "cl-online-learning")))
10769 (home-page "https://github.com/masatoi/cl-online-learning")
10770 (synopsis "Online Machine Learning for Common Lisp")
10771 (description
10772 "This library contains a collection of machine learning algorithms for
10773 online linear classification written in Common Lisp.")
10774 (license license:expat))))
10775
10776 (define-public cl-online-learning
10777 (sbcl-package->cl-source-package sbcl-cl-online-learning))
10778
10779 (define-public ecl-cl-online-learning
10780 (sbcl-package->ecl-package sbcl-cl-online-learning))
10781
10782 (define-public sbcl-cl-mpg123
10783 (let ((commit "5f042c839d2ea4a2ff2a7b60c839d8633d64161d")
10784 (revision "1"))
10785 (package
10786 (name "sbcl-cl-mpg123")
10787 (version (git-version "1.0.0" revision commit))
10788 (source
10789 (origin
10790 (method git-fetch)
10791 (uri (git-reference
10792 (url "https://github.com/Shirakumo/cl-mpg123")
10793 (commit commit)))
10794 (file-name (git-file-name "cl-mpg123" version))
10795 (sha256
10796 (base32 "1hl721xaczxck008ax2y3jpkm509ry1sg3lklh2k76764m3ndrjf"))
10797 (modules '((guix build utils)))
10798 (snippet
10799 '(begin
10800 ;; Remove bundled pre-compiled libraries.
10801 (delete-file-recursively "static")
10802 #t))))
10803 (build-system asdf-build-system/sbcl)
10804 (arguments
10805 `(#:asd-files '("cl-mpg123.asd" "cl-mpg123-example.asd")
10806 #:asd-systems '("cl-mpg123" "cl-mpg123-example")
10807 #:phases
10808 (modify-phases %standard-phases
10809 (add-after 'unpack 'fix-paths
10810 (lambda* (#:key inputs #:allow-other-keys)
10811 (substitute* "low-level.lisp"
10812 (("libmpg123.so" all)
10813 (string-append (assoc-ref inputs "libmpg123")
10814 "/lib/" all))))))))
10815 (inputs
10816 `(("cffi" ,sbcl-cffi)
10817 ("cl-out123" ,sbcl-cl-out123)
10818 ("documentation-utils" ,sbcl-documentation-utils)
10819 ("libmpg123" ,mpg123)
10820 ("trivial-features" ,sbcl-trivial-features)
10821 ("trivial-garbage" ,sbcl-trivial-garbage)
10822 ("verbose" ,sbcl-verbose)))
10823 (home-page "https://shirakumo.github.io/cl-mpg123/")
10824 (synopsis "Common Lisp bindings to libmpg123")
10825 (description
10826 "This is a bindings and wrapper library to @code{libmpg123} allowing for
10827 convenient, extensive, and fast decoding of MPEG1/2/3 (most prominently mp3)
10828 files.")
10829 (license license:zlib))))
10830
10831 (define-public ecl-cl-mpg123
10832 (sbcl-package->ecl-package sbcl-cl-mpg123))
10833
10834 (define-public cl-mpg123
10835 (sbcl-package->cl-source-package sbcl-cl-mpg123))
10836
10837 (define-public sbcl-cl-out123
10838 (let ((commit "6b58d3f8c2a28ad09059ac4c60fb3c781b9b421b")
10839 (revision "1"))
10840 (package
10841 (name "sbcl-cl-out123")
10842 (version (git-version "1.0.0" revision commit))
10843 (source
10844 (origin
10845 (method git-fetch)
10846 (uri (git-reference
10847 (url "https://github.com/Shirakumo/cl-out123")
10848 (commit commit)))
10849 (file-name (git-file-name "cl-out123" version))
10850 (sha256
10851 (base32 "0mdwgfax6sq68wvdgjjp78i40ah7wqkpqnvaq8a1c509k7ghdgv1"))
10852 (modules '((guix build utils)))
10853 (snippet
10854 '(begin
10855 ;; Remove bundled pre-compiled libraries.
10856 (delete-file-recursively "static")
10857 #t))))
10858 (build-system asdf-build-system/sbcl)
10859 (arguments
10860 `(#:phases
10861 (modify-phases %standard-phases
10862 (add-after 'unpack 'fix-paths
10863 (lambda* (#:key inputs #:allow-other-keys)
10864 (substitute* "low-level.lisp"
10865 (("libout123.so" all)
10866 (string-append (assoc-ref inputs "libout123")
10867 "/lib/" all)))))
10868 ;; NOTE: (Sharlatan-20210129T134529+0000): ECL package `ext' has no
10869 ;; exported macro `without-interrupts' it's moved to `mp' package
10870 ;; https://github.com/Shirakumo/cl-out123/issues/2
10871 ;; https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/src/lsp/mp.lsp
10872 (add-after 'unpack 'fix-ecl-package-name
10873 (lambda _
10874 (substitute* "wrapper.lisp"
10875 (("ext:without-interrupts.*") "mp:without-interrupts\n"))
10876 #t)))))
10877 (inputs
10878 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10879 ("cffi" ,sbcl-cffi)
10880 ("documentation-utils" ,sbcl-documentation-utils)
10881 ("libout123" ,mpg123)
10882 ("trivial-features" ,sbcl-trivial-features)
10883 ("trivial-garbage" ,sbcl-trivial-garbage)))
10884 (home-page "https://shirakumo.github.io/cl-out123/")
10885 (synopsis "Common Lisp bindings to libout123")
10886 (description
10887 "This is a bindings library to @code{libout123} which allows easy
10888 cross-platform audio playback.")
10889 (license license:zlib))))
10890
10891 (define-public ecl-cl-out123
10892 (sbcl-package->ecl-package sbcl-cl-out123))
10893
10894 (define-public cl-out123
10895 (sbcl-package->cl-source-package sbcl-cl-out123))
10896
10897 (define-public sbcl-cl-random-forest
10898 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
10899 (revision "1"))
10900 (package
10901 (name "sbcl-cl-random-forest")
10902 (version (git-version "0.1" revision commit))
10903 (source
10904 (origin
10905 (method git-fetch)
10906 (uri (git-reference
10907 (url "https://github.com/masatoi/cl-random-forest")
10908 (commit commit)))
10909 (file-name (git-file-name name version))
10910 (sha256
10911 (base32
10912 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
10913 (build-system asdf-build-system/sbcl)
10914 (native-inputs
10915 `(("prove" ,sbcl-prove)
10916 ("trivial-garbage" ,sbcl-trivial-garbage)))
10917 (inputs
10918 `(("alexandria" ,sbcl-alexandria)
10919 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
10920 ("cl-online-learning" ,sbcl-cl-online-learning)
10921 ("lparallel" ,sbcl-lparallel)))
10922 (arguments
10923 `(#:tests? #f)) ; The tests download data from the Internet
10924 (synopsis "Random Forest and Global Refinement for Common Lisp")
10925 (description
10926 "CL-random-forest is an implementation of Random Forest for multiclass
10927 classification and univariate regression written in Common Lisp. It also
10928 includes an implementation of Global Refinement of Random Forest.")
10929 (home-page "https://github.com/masatoi/cl-random-forest")
10930 (license license:expat))))
10931
10932 (define-public cl-random-forest
10933 (sbcl-package->cl-source-package sbcl-cl-random-forest))
10934
10935 (define-public ecl-cl-random-forest
10936 (sbcl-package->ecl-package sbcl-cl-random-forest))
10937
10938 (define-public sbcl-bordeaux-fft
10939 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
10940 (revision "0"))
10941 (package
10942 (name "sbcl-bordeaux-fft")
10943 (version (git-version "1.0.1" revision commit))
10944 (source
10945 (origin
10946 (method git-fetch)
10947 (uri (git-reference
10948 (url "https://github.com/ahefner/bordeaux-fft")
10949 (commit commit)))
10950 (file-name (git-file-name name version))
10951 (sha256
10952 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
10953 (build-system asdf-build-system/sbcl)
10954 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
10955 (synopsis "Fast Fourier Transform for Common Lisp")
10956 (description
10957 "The Bordeaux-FFT library provides a reasonably efficient implementation
10958 of the Fast Fourier Transform and its inverse for complex-valued inputs, in
10959 portable Common Lisp.")
10960 (license license:gpl2+))))
10961
10962 (define-public cl-bordeaux-fft
10963 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
10964
10965 (define-public ecl-bordeaux-fft
10966 (sbcl-package->ecl-package sbcl-bordeaux-fft))
10967
10968 (define-public sbcl-napa-fft3
10969 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
10970 (revision "0"))
10971 (package
10972 (name "sbcl-napa-fft3")
10973 (version (git-version "0.0.1" revision commit))
10974 (source
10975 (origin
10976 (method git-fetch)
10977 (uri (git-reference
10978 (url "https://github.com/pkhuong/Napa-FFT3")
10979 (commit commit)))
10980 (file-name (git-file-name name version))
10981 (sha256
10982 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
10983 (build-system asdf-build-system/sbcl)
10984 (home-page "https://github.com/pkhuong/Napa-FFT3")
10985 (synopsis "Fast Fourier Transform routines in Common Lisp")
10986 (description
10987 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
10988 buildings blocks to express common operations that involve DFTs: filtering,
10989 convolutions, etc.")
10990 (license license:bsd-3))))
10991
10992 (define-public cl-napa-fft3
10993 (sbcl-package->cl-source-package sbcl-napa-fft3))
10994
10995 (define-public sbcl-cl-tga
10996 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
10997 (revision "0"))
10998 (package
10999 (name "sbcl-cl-tga")
11000 (version (git-version "0.0.0" revision commit))
11001 (source
11002 (origin
11003 (method git-fetch)
11004 (uri (git-reference
11005 (url "https://github.com/fisxoj/cl-tga")
11006 (commit commit)))
11007 (file-name (git-file-name name version))
11008 (sha256
11009 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
11010 (build-system asdf-build-system/sbcl)
11011 (home-page "https://github.com/fisxoj/cl-tga")
11012 (synopsis "TGA file loader for Common Lisp")
11013 (description
11014 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
11015 programs. It's a very simple library, and, at the moment, only supports
11016 non-RLE encoded forms of the files.")
11017 (license license:expat))))
11018
11019 (define-public cl-tga
11020 (sbcl-package->cl-source-package sbcl-cl-tga))
11021
11022 (define-public ecl-cl-tga
11023 (sbcl-package->ecl-package sbcl-cl-tga))
11024
11025 (define-public sbcl-com.gigamonkeys.binary-data
11026 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
11027 (revision "0"))
11028 (package
11029 (name "sbcl-com.gigamonkeys.binary-data")
11030 (version (git-version "0.0.0" revision commit))
11031 (source
11032 (origin
11033 (method git-fetch)
11034 (uri (git-reference
11035 (url "https://github.com/gigamonkey/monkeylib-binary-data")
11036 (commit commit)))
11037 (file-name (git-file-name name version))
11038 (sha256
11039 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
11040 (build-system asdf-build-system/sbcl)
11041 (inputs
11042 `(("alexandria" ,sbcl-alexandria)))
11043 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
11044 (synopsis "Common Lisp library for reading and writing binary data")
11045 (description
11046 "This a Common Lisp library for reading and writing binary data. It is
11047 based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
11048 (license license:bsd-3))))
11049
11050 (define-public cl-com.gigamonkeys.binary-data
11051 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
11052
11053 (define-public ecl-com.gigamonkeys.binary-data
11054 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
11055
11056 (define-public sbcl-deflate
11057 (package
11058 (name "sbcl-deflate")
11059 (version "1.0.3")
11060 (source
11061 (origin
11062 (method git-fetch)
11063 (uri (git-reference
11064 (url "https://github.com/pmai/Deflate")
11065 (commit (string-append "release-" version))))
11066 (file-name (git-file-name name version))
11067 (sha256
11068 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
11069 (build-system asdf-build-system/sbcl)
11070 (home-page "https://github.com/pmai/Deflate")
11071 (synopsis "Native deflate decompression for Common Lisp")
11072 (description
11073 "This library is an implementation of Deflate (RFC 1951) decompression,
11074 with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
11075 wrappers of deflate streams. It currently does not handle compression.")
11076 (license license:expat)))
11077
11078 (define-public cl-deflate
11079 (sbcl-package->cl-source-package sbcl-deflate))
11080
11081 (define-public ecl-deflate
11082 (sbcl-package->ecl-package sbcl-deflate))
11083
11084 (define-public sbcl-skippy
11085 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
11086 (revision "0"))
11087 (package
11088 (name "sbcl-skippy")
11089 (version (git-version "1.3.12" revision commit))
11090 (source
11091 (origin
11092 (method git-fetch)
11093 (uri (git-reference
11094 (url "https://github.com/xach/skippy")
11095 (commit commit)))
11096 (file-name (git-file-name name version))
11097 (sha256
11098 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
11099 (build-system asdf-build-system/sbcl)
11100 (home-page "https://xach.com/lisp/skippy/")
11101 (synopsis "Common Lisp library for GIF images")
11102 (description
11103 "Skippy is a Common Lisp library to read and write GIF image files.")
11104 (license license:bsd-2))))
11105
11106 (define-public cl-skippy
11107 (sbcl-package->cl-source-package sbcl-skippy))
11108
11109 (define-public ecl-skippy
11110 (sbcl-package->ecl-package sbcl-skippy))
11111
11112 (define-public sbcl-cl-freetype2
11113 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
11114 (revision "0"))
11115 (package
11116 (name "sbcl-cl-freetype2")
11117 (version (git-version "1.1" revision commit))
11118 (source
11119 (origin
11120 (method git-fetch)
11121 (uri (git-reference
11122 (url "https://github.com/rpav/cl-freetype2")
11123 (commit commit)))
11124 (file-name (git-file-name name version))
11125 (sha256
11126 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
11127 (build-system asdf-build-system/sbcl)
11128 (native-inputs
11129 `(("fiveam" ,sbcl-fiveam)))
11130 (inputs
11131 `(("alexandria" ,sbcl-alexandria)
11132 ("cffi" ,sbcl-cffi)
11133 ("freetype" ,freetype)
11134 ("trivial-garbage" ,sbcl-trivial-garbage)))
11135 (arguments
11136 `(#:phases
11137 (modify-phases %standard-phases
11138 (add-after 'unpack 'fix-paths
11139 (lambda* (#:key inputs #:allow-other-keys)
11140 (substitute* "src/ffi/ft2-lib.lisp"
11141 (("\"libfreetype\"")
11142 (string-append "\"" (assoc-ref inputs "freetype")
11143 "/lib/libfreetype\"")))
11144 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
11145 (("-I/usr/include/freetype")
11146 (string-append "-I" (assoc-ref inputs "freetype")
11147 "/include/freetype")))
11148 #t)))))
11149 (home-page "https://github.com/rpav/cl-freetype2")
11150 (synopsis "Common Lisp bindings for Freetype 2")
11151 (description
11152 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
11153 geared toward both using Freetype directly by providing a simplified API, as
11154 well as providing access to the underlying C structures and functions for use
11155 with other libraries which may also use Freetype.")
11156 (license license:bsd-3))))
11157
11158 (define-public cl-freetype2
11159 (sbcl-package->cl-source-package sbcl-cl-freetype2))
11160
11161 (define-public ecl-cl-freetype2
11162 (sbcl-package->ecl-package sbcl-cl-freetype2))
11163
11164 (define-public sbcl-opticl-core
11165 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
11166 (revision "0"))
11167 (package
11168 (name "sbcl-opticl-core")
11169 (version (git-version "0.0.0" revision commit))
11170 (source
11171 (origin
11172 (method git-fetch)
11173 (uri (git-reference
11174 (url "https://github.com/slyrus/opticl-core")
11175 (commit commit)))
11176 (file-name (git-file-name name version))
11177 (sha256
11178 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
11179 (build-system asdf-build-system/sbcl)
11180 (inputs
11181 `(("alexandria" ,sbcl-alexandria)))
11182 (home-page "https://github.com/slyrus/opticl-core")
11183 (synopsis "Core classes and pixel access macros for Opticl")
11184 (description
11185 "This Common Lisp library contains the core classes and pixel access
11186 macros for the Opticl image processing library.")
11187 (license license:bsd-2))))
11188
11189 (define-public cl-opticl-core
11190 (sbcl-package->cl-source-package sbcl-opticl-core))
11191
11192 (define-public ecl-opticl-core
11193 (sbcl-package->ecl-package sbcl-opticl-core))
11194
11195 (define-public sbcl-retrospectiff
11196 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
11197 (revision "0"))
11198 (package
11199 (name "sbcl-retrospectiff")
11200 (version (git-version "0.2" revision commit))
11201 (source
11202 (origin
11203 (method git-fetch)
11204 (uri (git-reference
11205 (url "https://github.com/slyrus/retrospectiff")
11206 (commit commit)))
11207 (file-name (git-file-name name version))
11208 (sha256
11209 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
11210 (build-system asdf-build-system/sbcl)
11211 (native-inputs
11212 `(("fiveam" ,sbcl-fiveam)))
11213 (inputs
11214 `(("cl-jpeg" ,sbcl-cl-jpeg)
11215 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
11216 ("deflate" ,sbcl-deflate)
11217 ("flexi-streams" ,sbcl-flexi-streams)
11218 ("ieee-floats" ,sbcl-ieee-floats)
11219 ("opticl-core" ,sbcl-opticl-core)))
11220 (home-page "https://github.com/slyrus/retrospectiff")
11221 (synopsis "Common Lisp library for TIFF images")
11222 (description
11223 "Retrospectiff is a common lisp library for reading and writing images
11224 in the TIFF (Tagged Image File Format) format.")
11225 (license license:bsd-2))))
11226
11227 (define-public cl-retrospectif
11228 (sbcl-package->cl-source-package sbcl-retrospectiff))
11229
11230 (define-public ecl-retrospectiff
11231 (sbcl-package->ecl-package sbcl-retrospectiff))
11232
11233 (define-public sbcl-mmap
11234 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
11235 (revision "0"))
11236 (package
11237 (name "sbcl-mmap")
11238 (version (git-version "1.0.0" revision commit))
11239 (source
11240 (origin
11241 (method git-fetch)
11242 (uri (git-reference
11243 (url "https://github.com/Shinmera/mmap")
11244 (commit commit)))
11245 (file-name (git-file-name name version))
11246 (sha256
11247 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
11248 (build-system asdf-build-system/sbcl)
11249 (native-inputs
11250 `(("alexandria" ,sbcl-alexandria)
11251 ("cffi" ,sbcl-cffi)
11252 ("parachute" ,sbcl-parachute)
11253 ("trivial-features" ,sbcl-trivial-features)))
11254 (inputs
11255 `(("cffi" ,sbcl-cffi)
11256 ("documentation-utils" ,sbcl-documentation-utils)))
11257 (home-page "https://shinmera.github.io/mmap/")
11258 (synopsis "File memory mapping for Common Lisp")
11259 (description
11260 "This is a utility library providing access to the @emph{mmap} family of
11261 functions in a portable way. It allows you to directly map a file into the
11262 address space of your process without having to manually read it into memory
11263 sequentially. Typically this is much more efficient for files that are larger
11264 than a few Kb.")
11265 (license license:zlib))))
11266
11267 (define-public cl-mmap
11268 (sbcl-package->cl-source-package sbcl-mmap))
11269
11270 (define-public ecl-mmap
11271 (sbcl-package->ecl-package sbcl-mmap))
11272
11273 (define-public sbcl-3bz
11274 (let ((commit "569614c40408f3aefc77ba233e0e4bd66d3850ad")
11275 (revision "1"))
11276 (package
11277 (name "sbcl-3bz")
11278 (version (git-version "0.0.0" revision commit))
11279 (source
11280 (origin
11281 (method git-fetch)
11282 (uri (git-reference
11283 (url "https://github.com/3b/3bz")
11284 (commit commit)))
11285 (file-name (git-file-name name version))
11286 (sha256
11287 (base32 "0kvvlvf50jhhw1s510f3clpr1a68632bq6d698yxcrx722igcrg4"))))
11288 (build-system asdf-build-system/sbcl)
11289 (inputs
11290 `(("alexandria" ,sbcl-alexandria)
11291 ("babel" ,sbcl-babel)
11292 ("cffi" ,sbcl-cffi)
11293 ("mmap" ,sbcl-mmap)
11294 ("nibbles" ,sbcl-nibbles)
11295 ("trivial-features" ,sbcl-trivial-features)))
11296 (arguments
11297 ;; FIXME: #41437 - Build fails when package name starts from a digit
11298 `(#:asd-systems '("3bz")))
11299 (home-page "https://github.com/3b/3bz")
11300 (synopsis "Deflate decompression for Common Lisp")
11301 (description
11302 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
11303 with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
11304 foreign pointers (for use with mmap and similar, etc), and from CL octet
11305 vectors and streams.")
11306 (license license:expat))))
11307
11308 (define-public cl-3bz
11309 (sbcl-package->cl-source-package sbcl-3bz))
11310
11311 (define-public ecl-3bz
11312 (sbcl-package->ecl-package sbcl-3bz))
11313
11314 (define-public sbcl-zpb-exif
11315 (package
11316 (name "sbcl-zpb-exif")
11317 (version "1.2.4")
11318 (source
11319 (origin
11320 (method git-fetch)
11321 (uri (git-reference
11322 (url "https://github.com/xach/zpb-exif")
11323 (commit (string-append "release-" version))))
11324 (file-name (git-file-name name version))
11325 (sha256
11326 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
11327 (build-system asdf-build-system/sbcl)
11328 (home-page "https://xach.com/lisp/zpb-exif/")
11329 (synopsis "EXIF information extractor for Common Lisp")
11330 (description
11331 "This is a Common Lisp library to extract EXIF information from image
11332 files.")
11333 (license license:bsd-2)))
11334
11335 (define-public cl-zpb-exif
11336 (sbcl-package->cl-source-package sbcl-zpb-exif))
11337
11338 (define-public ecl-zpb-exif
11339 (sbcl-package->ecl-package sbcl-zpb-exif))
11340
11341 (define-public sbcl-pngload
11342 (package
11343 (name "sbcl-pngload")
11344 (version "2.0.0")
11345 (source
11346 (origin
11347 (method git-fetch)
11348 (uri (git-reference
11349 (url "https://github.com/bufferswap/pngload")
11350 (commit version)))
11351 (file-name (git-file-name name version))
11352 (sha256
11353 (base32 "1ix8dd0fxlf8xm0bszh1s7sx83hn0vqq8b8c9gkrd5m310w8mpvh"))))
11354 (build-system asdf-build-system/sbcl)
11355 (inputs
11356 `(("3bz" ,sbcl-3bz)
11357 ("alexandria" ,sbcl-alexandria)
11358 ("cffi" ,sbcl-cffi)
11359 ("mmap" ,sbcl-mmap)
11360 ("parse-float" ,sbcl-parse-float)
11361 ("static-vectors" ,sbcl-static-vectors)
11362 ("swap-bytes" ,sbcl-swap-bytes)
11363 ("zpb-exif" ,sbcl-zpb-exif)))
11364 (arguments
11365 ;; Test suite disabled because of a dependency cycle.
11366 ;; pngload tests depend on opticl which depends on pngload.
11367 '(#:tests? #f))
11368 (home-page "https://github.com/bufferswap/pngload")
11369 (synopsis "PNG image decoder for Common Lisp")
11370 (description
11371 "This is a Common Lisp library to load images in the PNG image format,
11372 both from files on disk, or streams in memory.")
11373 (license license:expat)))
11374
11375 (define-public cl-pngload
11376 (sbcl-package->cl-source-package sbcl-pngload))
11377
11378 (define-public ecl-pngload
11379 (sbcl-package->ecl-package sbcl-pngload))
11380
11381 (define-public sbcl-opticl
11382 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
11383 (revision "0"))
11384 (package
11385 (name "sbcl-opticl")
11386 (version (git-version "0.0.0" revision commit))
11387 (source
11388 (origin
11389 (method git-fetch)
11390 (uri (git-reference
11391 (url "https://github.com/slyrus/opticl")
11392 (commit commit)))
11393 (file-name (git-file-name name version))
11394 (sha256
11395 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
11396 (build-system asdf-build-system/sbcl)
11397 (native-inputs
11398 `(("fiveam" ,sbcl-fiveam)))
11399 (inputs
11400 `(("alexandria" ,sbcl-alexandria)
11401 ("cl-jpeg" ,sbcl-cl-jpeg)
11402 ("cl-tga" ,sbcl-cl-tga)
11403 ("png-read" ,sbcl-png-read)
11404 ("pngload" ,sbcl-pngload)
11405 ("retrospectiff" ,sbcl-retrospectiff)
11406 ("skippy" ,sbcl-skippy)
11407 ("zpng" ,sbcl-zpng)))
11408 (arguments
11409 '(#:asd-files '("opticl.asd")))
11410 (home-page "https://github.com/slyrus/opticl")
11411 (synopsis "Image processing library for Common Lisp")
11412 (description
11413 "Opticl is a Common Lisp library for representing, processing, loading,
11414 and saving 2-dimensional pixel-based images.")
11415 (license license:bsd-2))))
11416
11417 (define-public cl-opticl
11418 (sbcl-package->cl-source-package sbcl-opticl))
11419
11420 (define-public ecl-opticl
11421 (sbcl-package->ecl-package sbcl-opticl))
11422
11423 (define-public sbcl-mcclim
11424 (let ((commit "04cc542dd4b461b9d56406e40681d1a8f080730f")
11425 (revision "1"))
11426 (package
11427 (name "sbcl-mcclim")
11428 (version (git-version "0.9.7" revision commit))
11429 (source
11430 (origin
11431 (method git-fetch)
11432 (uri (git-reference
11433 (url "https://github.com/mcclim/mcclim")
11434 (commit commit)))
11435 (file-name (git-file-name name version))
11436 (sha256
11437 (base32 "1xjly8i62z72hfhlnz5kjd9i8xhrwckc7avyizxvhih67pkjmsx0"))))
11438 (build-system asdf-build-system/sbcl)
11439 (native-inputs
11440 `(("fiveam" ,sbcl-fiveam)
11441 ("pkg-config" ,pkg-config)))
11442 (inputs
11443 `(("alexandria" ,sbcl-alexandria)
11444 ("babel" ,sbcl-babel)
11445 ("bordeaux-threads" ,sbcl-bordeaux-threads)
11446 ("cl-freetype2" ,sbcl-cl-freetype2)
11447 ("cl-pdf" ,sbcl-cl-pdf)
11448 ("cffi" ,sbcl-cffi)
11449 ("cl-unicode" ,sbcl-cl-unicode)
11450 ("cl-vectors" ,sbcl-cl-vectors)
11451 ("closer-mop" ,sbcl-closer-mop)
11452 ("clx" ,sbcl-clx)
11453 ("flexi-streams" ,sbcl-flexi-streams)
11454 ("flexichain" ,sbcl-flexichain)
11455 ("font-dejavu" ,font-dejavu)
11456 ("fontconfig" ,fontconfig)
11457 ("freetype" ,freetype)
11458 ("harfbuzz" ,harfbuzz)
11459 ("log4cl" ,sbcl-log4cl)
11460 ("opticl" ,sbcl-opticl)
11461 ("spatial-trees" ,sbcl-spatial-trees)
11462 ("swank" ,sbcl-slime-swank)
11463 ("trivial-features" ,sbcl-trivial-features)
11464 ("trivial-garbage" ,sbcl-trivial-garbage)
11465 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
11466 ("zpb-ttf" ,sbcl-zpb-ttf)))
11467 (arguments
11468 '(#:asd-systems '("mcclim"
11469 "clim-examples")
11470 #:phases
11471 (modify-phases %standard-phases
11472 (add-after 'unpack 'fix-paths
11473 (lambda* (#:key inputs #:allow-other-keys)
11474 ;; mcclim-truetype uses DejaVu as default font and
11475 ;; sets the path at build time.
11476 (substitute* "Extensions/fonts/fontconfig.lisp"
11477 (("/usr/share/fonts/truetype/dejavu/")
11478 (string-append (assoc-ref inputs "font-dejavu")
11479 "/share/fonts/truetype/")))
11480 (substitute* "Extensions/fontconfig/src/functions.lisp"
11481 (("libfontconfig\\.so")
11482 (string-append (assoc-ref inputs "fontconfig")
11483 "/lib/libfontconfig.so")))
11484 (substitute* "Extensions/harfbuzz/src/functions.lisp"
11485 (("libharfbuzz\\.so")
11486 (string-append (assoc-ref inputs "harfbuzz")
11487 "/lib/libharfbuzz.so")))
11488 #t))
11489 (add-after 'unpack 'fix-build
11490 (lambda _
11491 ;; The cffi-grovel system does not get loaded automatically,
11492 ;; so we load it explicitly.
11493 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
11494 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
11495 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
11496 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
11497 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
11498 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
11499 #t)))))
11500 (home-page "https://common-lisp.net/project/mcclim/")
11501 (synopsis "Common Lisp GUI toolkit")
11502 (description
11503 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
11504 specification}, a toolkit for writing GUIs in Common Lisp.")
11505 (license license:lgpl2.1+))))
11506
11507 (define-public cl-mcclim
11508 (sbcl-package->cl-source-package sbcl-mcclim))
11509
11510 (define-public ecl-mcclim
11511 (sbcl-package->ecl-package sbcl-mcclim))
11512
11513 (define-public sbcl-cl-inflector
11514 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
11515 (revision "1"))
11516 (package
11517 (name "sbcl-cl-inflector")
11518 (version (git-version "0.2" revision commit))
11519 (source
11520 (origin
11521 (method git-fetch)
11522 (uri (git-reference
11523 (url "https://github.com/AccelerationNet/cl-inflector")
11524 (commit commit)))
11525 (file-name (git-file-name name version))
11526 (sha256
11527 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
11528 (build-system asdf-build-system/sbcl)
11529 (native-inputs
11530 `(("lisp-unit2" ,sbcl-lisp-unit2)))
11531 (inputs
11532 `(("alexandria" ,sbcl-alexandria)
11533 ("cl-ppcre" ,sbcl-cl-ppcre)))
11534 (home-page "https://github.com/AccelerationNet/cl-inflector")
11535 (synopsis "Library to pluralize/singularize English and Portuguese words")
11536 (description
11537 "This is a common lisp library to easily pluralize and singularize
11538 English and Portuguese words. This is a port of the ruby ActiveSupport
11539 Inflector module.")
11540 (license license:expat))))
11541
11542 (define-public cl-inflector
11543 (sbcl-package->cl-source-package sbcl-cl-inflector))
11544
11545 (define-public ecl-cl-inflector
11546 (sbcl-package->ecl-package sbcl-cl-inflector))
11547
11548 (define-public sbcl-ixf
11549 (let ((commit "ed26f87e4127e4a9e3aac4ff1e60d1f39cca5183")
11550 (revision "1"))
11551 (package
11552 (name "sbcl-ixf")
11553 (version (git-version "0.1.0" revision commit))
11554 (source
11555 (origin
11556 (method git-fetch)
11557 (uri (git-reference
11558 (url "https://github.com/dimitri/cl-ixf")
11559 (commit commit)))
11560 (file-name (git-file-name "cl-ixf" version))
11561 (sha256
11562 (base32 "1wjdnf4vr9z7lcfc49kl43g6l2i23q9n81siy494k17d766cdvqa"))))
11563 (build-system asdf-build-system/sbcl)
11564 (inputs
11565 `(("alexandria" ,sbcl-alexandria)
11566 ("babel" ,sbcl-babel)
11567 ("cl-ppcre" ,sbcl-cl-ppcre)
11568 ("ieee-floats" ,sbcl-ieee-floats)
11569 ("local-time" ,sbcl-local-time)
11570 ("md5" ,sbcl-md5)
11571 ("split-sequence" ,sbcl-split-sequence)))
11572 (home-page "https://github.com/dimitri/cl-ixf")
11573 (synopsis "Parse IBM IXF file format")
11574 (description
11575 "This is a Common Lisp library to handle the IBM PC version of the IXF
11576 (Integration Exchange Format) file format.")
11577 (license license:public-domain))))
11578
11579 (define-public ecl-ixf
11580 (sbcl-package->ecl-package sbcl-ixf))
11581
11582 (define-public cl-ixf
11583 (sbcl-package->cl-source-package sbcl-ixf))
11584
11585 (define-public sbcl-qbase64
11586 (package
11587 (name "sbcl-qbase64")
11588 (version "0.3.0")
11589 (source
11590 (origin
11591 (method git-fetch)
11592 (uri (git-reference
11593 (url "https://github.com/chaitanyagupta/qbase64")
11594 (commit version)))
11595 (file-name (git-file-name name version))
11596 (sha256
11597 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
11598 (build-system asdf-build-system/sbcl)
11599 (inputs
11600 `(("metabang-bind" ,sbcl-metabang-bind)
11601 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
11602 (native-inputs
11603 `(("fiveam" ,sbcl-fiveam)))
11604 (home-page "https://github.com/chaitanyagupta/qbase64")
11605 (synopsis "Base64 encoder and decoder for Common Lisp")
11606 (description "@code{qbase64} provides a fast and flexible base64 encoder
11607 and decoder for Common Lisp.")
11608 (license license:bsd-3)))
11609
11610 (define-public cl-qbase64
11611 (sbcl-package->cl-source-package sbcl-qbase64))
11612
11613 (define-public ecl-qbase64
11614 (sbcl-package->ecl-package sbcl-qbase64))
11615
11616 (define-public sbcl-lw-compat
11617 ;; No release since 2013.
11618 (let ((commit "aabfe28c6c1a4949f9d7b3cb30319367c9fd1c0d"))
11619 (package
11620 (name "sbcl-lw-compat")
11621 (version (git-version "1.0.0" "1" commit))
11622 (source
11623 (origin
11624 (method git-fetch)
11625 (uri (git-reference
11626 (url "https://github.com/pcostanza/lw-compat/")
11627 (commit commit)))
11628 (file-name (git-file-name name version))
11629 (sha256
11630 (base32 "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav"))))
11631 (build-system asdf-build-system/sbcl)
11632 (home-page "https://github.com/pcostanza/lw-compat/")
11633 (synopsis "LispWorks utilities ported to other Common Lisp implementations")
11634 (description "This package contains a few utility functions from the
11635 LispWorks library that are used in software such as ContextL.")
11636 (license license:expat))))
11637
11638 (define-public cl-lw-compat
11639 (sbcl-package->cl-source-package sbcl-lw-compat))
11640
11641 (define-public ecl-lw-compat
11642 (sbcl-package->ecl-package sbcl-lw-compat))
11643
11644 (define-public sbcl-contextl
11645 ;; No release since 2013.
11646 (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9"))
11647 (package
11648 (name "sbcl-contextl")
11649 (version (git-version "1.0.0" "1" commit))
11650 (source
11651 (origin
11652 (method git-fetch)
11653 (uri (git-reference
11654 (url "https://github.com/pcostanza/contextl/")
11655 (commit commit)))
11656 (file-name (git-file-name name version))
11657 (sha256
11658 (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226"))))
11659 (build-system asdf-build-system/sbcl)
11660 (inputs
11661 `(("closer-mop" ,sbcl-closer-mop)
11662 ("lw-compat" ,sbcl-lw-compat)))
11663 (home-page "https://github.com/pcostanza/contextl")
11664 (synopsis "Context-oriented programming for Common Lisp")
11665 (description "ContextL is a CLOS extension for Context-Oriented
11666 Programming (COP).
11667
11668 Find overview of ContextL's features in an overview paper:
11669 @url{http://www.p-cos.net/documents/contextl-soa.pdf}. See also this general
11670 overview article about COP which also contains some ContextL examples:
11671 @url{http://www.jot.fm/issues/issue_2008_03/article4/}.")
11672 (license license:expat))))
11673
11674 (define-public cl-contextl
11675 (sbcl-package->cl-source-package sbcl-contextl))
11676
11677 (define-public ecl-contextl
11678 (sbcl-package->ecl-package sbcl-contextl))
11679
11680 (define-public sbcl-hu.dwim.common-lisp
11681 (package
11682 (name "sbcl-hu.dwim.common-lisp")
11683 (version "2015-07-09")
11684 (source
11685 (origin
11686 (method url-fetch)
11687 (uri (string-append
11688 "http://beta.quicklisp.org/archive/hu.dwim.common-lisp/"
11689 version "/hu.dwim.common-lisp-"
11690 (string-replace-substring version "-" "")
11691 "-darcs.tgz"))
11692 (sha256
11693 (base32 "13cxrvh55rw080mvfir7s7k735l9rcfh3khxp97qfwd5rz0gadb9"))))
11694 (build-system asdf-build-system/sbcl)
11695 (native-inputs
11696 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11697 (home-page "http://dwim.hu/")
11698 (synopsis "Redefine some standard Common Lisp names")
11699 (description "This library is a redefinition of the standard Common Lisp
11700 package that includes a number of renames and shadows. ")
11701 (license license:public-domain)))
11702
11703 (define-public cl-hu.dwim.common-lisp
11704 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
11705
11706 (define-public ecl-hu.dwim.common-lisp
11707 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
11708
11709 (define-public sbcl-hu.dwim.common
11710 (package
11711 (name "sbcl-hu.dwim.common")
11712 (version "2015-07-09")
11713 (source
11714 (origin
11715 (method url-fetch)
11716 (uri (string-append
11717 "http://beta.quicklisp.org/archive/hu.dwim.common/"
11718 version "/hu.dwim.common-"
11719 (string-replace-substring version "-" "")
11720 "-darcs.tgz"))
11721 (sha256
11722 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
11723 (build-system asdf-build-system/sbcl)
11724 (native-inputs
11725 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11726 (inputs
11727 `(("alexandria" ,sbcl-alexandria)
11728 ("anaphora" ,sbcl-anaphora)
11729 ("closer-mop" ,sbcl-closer-mop)
11730 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
11731 ("iterate" ,sbcl-iterate)
11732 ("metabang-bind" ,sbcl-metabang-bind)))
11733 (home-page "http://dwim.hu/")
11734 (synopsis "Common Lisp library shared by other hu.dwim systems")
11735 (description "This package contains a support library for other
11736 hu.dwim systems.")
11737 (license license:public-domain)))
11738
11739 (define-public cl-hu.dwim.common
11740 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
11741
11742 (define-public ecl-hu.dwim.common
11743 (sbcl-package->ecl-package sbcl-hu.dwim.common))
11744
11745 (define-public sbcl-hu.dwim.defclass-star
11746 (let ((commit "39d458f1b1bc830d1f5e18a6a35bf0e96a2cfd61"))
11747 (package
11748 (name "sbcl-hu.dwim.defclass-star")
11749 ;; We used to set version from the date when it was a darcs repo, so we
11750 ;; keep the year so that package gets updated on previous installs.
11751 (version (git-version "2021" "1" commit))
11752 (source
11753 (origin
11754 (method git-fetch)
11755 (uri (git-reference
11756 (url "https://github.com/hu-dwim/hu.dwim.defclass-star")
11757 (commit commit)))
11758 (file-name (git-file-name name version))
11759 (sha256
11760 (base32 "0hfkq2wad98vkyxdg1wh18y86d9w9yqkm8lxkk96szvpwymm7lmq"))))
11761 (build-system asdf-build-system/sbcl)
11762 (native-inputs
11763 `( ;; These 2 inputs are only needed tests which are disabled, see below.
11764 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
11765 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
11766 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
11767 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11768 (arguments
11769 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
11770 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
11771 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
11772 #:tests? #f))
11773 (home-page "https://github.com/hu-dwim/hu.dwim.defclass-star")
11774 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
11775 (description "@code{defclass-star} provides defclass* and defcondition* to
11776 simplify class and condition declarations. Features include:
11777
11778 @itemize
11779 @item Automatically export all or select slots at compile time.
11780 @item Define the @code{:initarg} and @code{:accessor} automatically.
11781 @item Specify a name transformer for both the @code{:initarg} and
11782 @code{:accessor}, etc.
11783 @item Specify the @code{:initform} as second slot value.
11784 @end itemize
11785
11786 See
11787 @url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
11788 for an example.")
11789 (license license:public-domain))))
11790
11791 (define-public cl-hu.dwim.defclass-star
11792 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
11793
11794 (define-public ecl-hu.dwim.defclass-star
11795 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))
11796
11797 (define-public sbcl-livesupport
11798 (let ((commit "71e6e412df9f3759ad8378fabb203913d82e228a")
11799 (revision "1"))
11800 (package
11801 (name "sbcl-livesupport")
11802 (version (git-version "0.0.0" revision commit))
11803 (source
11804 (origin
11805 (method git-fetch)
11806 (uri (git-reference
11807 (url "https://github.com/cbaggers/livesupport")
11808 (commit commit)))
11809 (file-name (git-file-name name version))
11810 (sha256
11811 (base32 "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"))))
11812 (build-system asdf-build-system/sbcl)
11813 (home-page "https://github.com/cbaggers/livesupport")
11814 (synopsis "Some helpers that make livecoding a little easier")
11815 (description "This package provides a macro commonly used in livecoding to
11816 enable continuing when errors are raised. Simply wrap around a chunk of code
11817 and it provides a restart called @code{continue} which ignores the error and
11818 carrys on from the end of the body.")
11819 (license license:bsd-2))))
11820
11821 (define-public cl-livesupport
11822 (sbcl-package->cl-source-package sbcl-livesupport))
11823
11824 (define-public ecl-livesupport
11825 (sbcl-package->ecl-package sbcl-livesupport))
11826
11827 (define-public sbcl-envy
11828 (let ((commit "956321b2852d58ba71c6fe621f5c2924178e9f88")
11829 (revision "1"))
11830 (package
11831 (name "sbcl-envy")
11832 (version (git-version "0.1" revision commit))
11833 (home-page "https://github.com/fukamachi/envy")
11834 (source
11835 (origin
11836 (method git-fetch)
11837 (uri (git-reference
11838 (url home-page)
11839 (commit commit)))
11840 (file-name (git-file-name name version))
11841 (sha256
11842 (base32 "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg"))))
11843 (build-system asdf-build-system/sbcl)
11844 ;; (native-inputs ; Only for tests.
11845 ;; `(("prove" ,sbcl-prove)
11846 ;; ("osicat" ,sbcl-osicat)))
11847 (arguments
11848 '(#:phases
11849 (modify-phases %standard-phases
11850 (add-after 'unpack 'fix-tests
11851 (lambda _
11852 (substitute* "envy-test.asd"
11853 (("cl-test-more") "prove"))
11854 #t)))
11855 ;; Tests fail with
11856 ;; Component ENVY-ASD::ENVY-TEST not found, required by #<SYSTEM "envy">
11857 ;; like xsubseq. Why?
11858 #:tests? #f))
11859 (synopsis "Common Lisp configuration switcher inspired by Perl's Config::ENV.")
11860 (description "Envy is a configuration manager for various applications.
11861 Envy uses an environment variable to determine a configuration to use. This
11862 can separate configuration system from an implementation.")
11863 (license license:bsd-2))))
11864
11865 (define-public cl-envy
11866 (sbcl-package->cl-source-package sbcl-envy))
11867
11868 (define-public ecl-envy
11869 (sbcl-package->ecl-package sbcl-envy))
11870
11871 (define-public sbcl-mito
11872 (let ((commit "d3b9e375ef364a65692da2185085a08c969ac88a")
11873 (revision "1"))
11874 (package
11875 (name "sbcl-mito")
11876 (version (git-version "0.1" revision commit))
11877 (home-page "https://github.com/fukamachi/mito")
11878 (source
11879 (origin
11880 (method git-fetch)
11881 (uri (git-reference
11882 (url home-page)
11883 (commit commit)))
11884 (file-name (git-file-name name version))
11885 (sha256
11886 (base32 "08mncgzjnbbsf1a6am3l73iw4lyfvz5ldjg5g84awfaxml4p73mb"))))
11887 (build-system asdf-build-system/sbcl)
11888 (native-inputs
11889 `(("prove" ,sbcl-prove)))
11890 (inputs
11891 `(("alexandria" ,sbcl-alexandria)
11892 ("cl-ppcre" ,sbcl-cl-ppcre)
11893 ("cl-reexport" ,sbcl-cl-reexport)
11894 ("closer-mop" ,sbcl-closer-mop)
11895 ("dbi" ,sbcl-dbi)
11896 ("dissect" ,sbcl-dissect)
11897 ("esrap" ,sbcl-esrap)
11898 ("local-time" ,sbcl-local-time)
11899 ("optima" ,sbcl-optima)
11900 ("sxql" ,sbcl-sxql)
11901 ("uuid" ,sbcl-uuid)))
11902 (arguments
11903 '(#:phases
11904 (modify-phases %standard-phases
11905 (add-after 'unpack 'remove-non-functional-tests
11906 (lambda _
11907 (substitute* "mito-test.asd"
11908 (("\\(:test-file \"db/mysql\"\\)") "")
11909 (("\\(:test-file \"db/postgres\"\\)") "")
11910 (("\\(:test-file \"dao\"\\)") "")
11911 ;; TODO: migration/sqlite3 should work, re-enable once
11912 ;; upstream has fixed it:
11913 ;; https://github.com/fukamachi/mito/issues/70
11914 (("\\(:test-file \"migration/sqlite3\"\\)") "")
11915 (("\\(:test-file \"migration/mysql\"\\)") "")
11916 (("\\(:test-file \"migration/postgres\"\\)") "")
11917 (("\\(:test-file \"postgres-types\"\\)") "")
11918 (("\\(:test-file \"mixin\"\\)") ""))
11919 #t)))
11920 ;; TODO: While all enabled tests pass, the phase fails with:
11921 ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito">
11922 #:tests? #f))
11923 (synopsis "ORM for Common Lisp with migrations and relationships support")
11924 (description "Mito is yet another object relational mapper, and it aims
11925 to be a successor of Integral.
11926
11927 @itemize
11928 @item Support MySQL, PostgreSQL and SQLite3.
11929 @item Add id (serial/uuid primary key), created_at and updated_at by default
11930 like Ruby's ActiveRecord.
11931 @item Migrations.
11932 @item Database schema versioning.
11933 @end itemize\n")
11934 (license license:llgpl))))
11935
11936 (define-public cl-mito
11937 (sbcl-package->cl-source-package sbcl-mito))
11938
11939 (define-public ecl-mito
11940 (sbcl-package->ecl-package sbcl-mito))
11941
11942 (define-public sbcl-kebab
11943 (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b")
11944 (revision "1"))
11945 (package
11946 (name "sbcl-kebab")
11947 (version (git-version "0.1" revision commit))
11948 (home-page "https://github.com/pocket7878/kebab")
11949 (source
11950 (origin
11951 (method git-fetch)
11952 (uri (git-reference
11953 (url home-page)
11954 (commit commit)))
11955 (file-name (git-file-name name version))
11956 (sha256
11957 (base32 "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"))))
11958 (build-system asdf-build-system/sbcl)
11959 (inputs
11960 `(("cl-ppcre" ,sbcl-cl-ppcre)
11961 ("alexandria" ,sbcl-alexandria)
11962 ("cl-interpol" ,sbcl-cl-interpol)
11963 ("split-sequence" ,sbcl-split-sequence)))
11964 (native-inputs
11965 `(("prove" ,sbcl-prove)))
11966 (arguments
11967 ;; Tests passes but the phase fails with
11968 ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">.
11969 `(#:tests? #f))
11970 (synopsis "Common Lisp case converter")
11971 (description "This Common Lisp library converts strings, symbols and
11972 keywords between any of the following typographical cases: PascalCase,
11973 camelCase, snake_case, kebab-case (lisp-case).")
11974 (license license:llgpl))))
11975
11976 (define-public cl-kebab
11977 (sbcl-package->cl-source-package sbcl-kebab))
11978
11979 (define-public ecl-kebab
11980 (sbcl-package->ecl-package sbcl-kebab))
11981
11982 (define-public sbcl-datafly
11983 (let ((commit "adece27fcbc4b5ea39ad1a105048b6b7166e3b0d")
11984 (revision "1"))
11985 (package
11986 (name "sbcl-datafly")
11987 (version (git-version "0.1" revision commit))
11988 (home-page "https://github.com/fukamachi/datafly")
11989 (source
11990 (origin
11991 (method git-fetch)
11992 (uri (git-reference
11993 (url home-page)
11994 (commit commit)))
11995 (file-name (git-file-name name version))
11996 (sha256
11997 (base32 "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv"))))
11998 (build-system asdf-build-system/sbcl)
11999 (inputs
12000 `(("alexandria" ,sbcl-alexandria)
12001 ("iterate" ,sbcl-iterate)
12002 ("optima" ,sbcl-optima)
12003 ("trivial-types" ,sbcl-trivial-types)
12004 ("closer-mop" ,sbcl-closer-mop)
12005 ("cl-syntax" ,sbcl-cl-syntax)
12006 ("sxql" ,sbcl-sxql)
12007 ("dbi" ,sbcl-dbi)
12008 ("babel" ,sbcl-babel)
12009 ("local-time" ,sbcl-local-time)
12010 ("function-cache" ,sbcl-function-cache)
12011 ("jonathan" ,sbcl-jonathan)
12012 ("kebab" ,sbcl-kebab)
12013 ("log4cl" ,sbcl-log4cl)))
12014 (native-inputs
12015 `(("prove" ,sbcl-prove)))
12016 (arguments
12017 ;; TODO: Tests fail with
12018 ;; While evaluating the form starting at line 22, column 0
12019 ;; of #P"/tmp/guix-build-sbcl-datafly-0.1-1.adece27.drv-0/source/t/datafly.lisp":
12020 ;; Unhandled SQLITE:SQLITE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
12021 ;; {10009F8083}>:
12022 ;; Error when binding parameter 1 to value NIL.
12023 ;; Code RANGE: column index out of range.
12024 `(#:tests? #f))
12025 (synopsis "Lightweight database library for Common Lisp")
12026 (description "Datafly is a lightweight database library for Common Lisp.")
12027 (license license:bsd-3))))
12028
12029 (define-public cl-datafly
12030 (sbcl-package->cl-source-package sbcl-datafly))
12031
12032 (define-public ecl-datafly
12033 (sbcl-package->ecl-package sbcl-datafly))
12034
12035 (define-public sbcl-do-urlencode
12036 (let ((commit "199846441dad5dfac5478b8dee4b4e20d107af6a")
12037 (revision "1"))
12038 (package
12039 (name "sbcl-do-urlencode")
12040 (version (git-version "0.0.0" revision commit))
12041 (home-page "https://github.com/drdo/do-urlencode")
12042 (source
12043 (origin
12044 (method git-fetch)
12045 (uri (git-reference
12046 (url home-page)
12047 (commit commit)))
12048 (file-name (git-file-name name version))
12049 (sha256
12050 (base32 "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"))))
12051 (build-system asdf-build-system/sbcl)
12052 (inputs
12053 `(("alexandria" ,sbcl-alexandria)
12054 ("babel" ,sbcl-babel)))
12055 (synopsis "Percent Encoding (aka URL Encoding) Common Lisp library")
12056 (description "This library provides trivial percent encoding and
12057 decoding functions for URLs.")
12058 (license license:isc))))
12059
12060 (define-public cl-do-urlencode
12061 (sbcl-package->cl-source-package sbcl-do-urlencode))
12062
12063 (define-public ecl-do-urlencode
12064 (sbcl-package->ecl-package sbcl-do-urlencode))
12065
12066 (define-public sbcl-cl-emb
12067 (let ((commit "fd8652174d048d4525a81f38cdf42f4fa519f840")
12068 (revision "1"))
12069 (package
12070 (name "sbcl-cl-emb")
12071 (version (git-version "0.4.3" revision commit))
12072 (home-page "https://common-lisp.net/project/cl-emb/")
12073 (source
12074 (origin
12075 (method git-fetch)
12076 (uri (git-reference
12077 (url "https://github.com/38a938c2/cl-emb")
12078 (commit commit)))
12079 (file-name (git-file-name name version))
12080 (sha256
12081 (base32 "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"))))
12082 (build-system asdf-build-system/sbcl)
12083 (inputs
12084 `(("cl-ppcre" ,sbcl-cl-ppcre)))
12085 (synopsis "Templating system for Common Lisp")
12086 (description "A mixture of features from eRuby and HTML::Template. You
12087 could name it \"Yet Another LSP\" (LispServer Pages) but it's a bit more than
12088 that and not limited to a certain server or text format.")
12089 (license license:llgpl))))
12090
12091 (define-public cl-emb
12092 (sbcl-package->cl-source-package sbcl-cl-emb))
12093
12094 (define-public ecl-cl-emb
12095 (sbcl-package->ecl-package sbcl-cl-emb))
12096
12097 (define-public sbcl-cl-project
12098 (let ((commit "151107014e534fc4666222d57fec2cc8549c8814")
12099 (revision "1"))
12100 (package
12101 (name "sbcl-cl-project")
12102 (version (git-version "0.3.1" revision commit))
12103 (home-page "https://github.com/fukamachi/cl-project")
12104 (source
12105 (origin
12106 (method git-fetch)
12107 (uri (git-reference
12108 (url home-page)
12109 (commit commit)))
12110 (file-name (git-file-name name version))
12111 (sha256
12112 (base32 "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y"))))
12113 (build-system asdf-build-system/sbcl)
12114 (inputs
12115 `(("cl-emb" ,sbcl-cl-emb)
12116 ("cl-ppcre" ,sbcl-cl-ppcre)
12117 ("local-time" ,sbcl-local-time)
12118 ("prove" ,sbcl-prove)))
12119 (arguments
12120 ;; Tests depend on caveman, which in turns depends on cl-project.
12121 '(#:tests? #f
12122 #:asd-files '("cl-project.asd")))
12123 (synopsis "Generate a skeleton for modern Common Lisp projects")
12124 (description "This library provides a modern project skeleton generator.
12125 In contract with other generators, CL-Project generates one package per file
12126 and encourages unit testing by generating a system for unit testing, so you
12127 can begin writing unit tests as soon as the project is generated.")
12128 (license license:llgpl))))
12129
12130 (define-public cl-project
12131 (sbcl-package->cl-source-package sbcl-cl-project))
12132
12133 (define-public ecl-cl-project
12134 (sbcl-package->ecl-package sbcl-cl-project))
12135
12136 (define-public sbcl-caveman
12137 (let ((commit "faa5f7e3b364fd7e7096af9a7bb06728b8d80441") ; No release since 2012
12138 (revision "1"))
12139 (package
12140 (name "sbcl-caveman")
12141 (version (git-version "2.4.0" revision commit))
12142 (home-page "http://8arrow.org/caveman/")
12143 (source
12144 (origin
12145 (method git-fetch)
12146 (uri (git-reference
12147 (url "https://github.com/fukamachi/caveman/")
12148 (commit commit)))
12149 (file-name (git-file-name name version))
12150 (sha256
12151 (base32 "0kh0gx05pczk8f7r9qdi4zn1p3d0a2prps27k7jpgvc1dxkl8qhq"))))
12152 (build-system asdf-build-system/sbcl)
12153 (inputs
12154 `(("ningle" ,cl-ningle)
12155 ("lack" ,sbcl-lack)
12156 ("cl-project" ,sbcl-cl-project)
12157 ("dbi" ,sbcl-dbi)
12158 ("cl-syntax" ,sbcl-cl-syntax)
12159 ("myway" ,sbcl-myway)
12160 ("quri" ,sbcl-quri)))
12161 (native-inputs
12162 `(("usocket" ,sbcl-usocket)
12163 ("dexador" ,sbcl-dexador)))
12164 (arguments
12165 `(#:asd-files '("caveman2.asd")
12166 #:asd-systems '("caveman2")
12167 #:phases
12168 (modify-phases %standard-phases
12169 (add-after 'unpack 'remove-v1
12170 (lambda _
12171 (delete-file-recursively "v1")
12172 (for-each delete-file
12173 '("README.v1.markdown" "caveman.asd" "caveman-test.asd")))))
12174 ;; TODO: Tests fail with:
12175 ;; writing /gnu/store/...-sbcl-caveman-2.4.0-1.faa5f7e/share/common-lisp/sbcl-source/caveman2/v2/t/tmp/myapp573/tests/myapp573.lisp
12176 ;; While evaluating the form starting at line 38, column 0
12177 ;; of #P"/tmp/guix-build-sbcl-caveman-2.4.0-1.faa5f7e.drv-0/source/v2/t/caveman.lisp":
12178 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD "main thread" RUNNING
12179 ;; {10009F8083}>:
12180 ;; Component "myapp573" not found
12181 #:tests? #f))
12182 (synopsis "Lightweight web application framework in Common Lisp")
12183 (description "Caveman is intended to be a collection of common parts for
12184 web applications. Caveman2 has three design goals:
12185
12186 @itemize
12187 @item Be extensible.
12188 @item Be practical.
12189 @item Don't force anything.
12190 @end itemize\n")
12191 (license license:llgpl))))
12192
12193 (define-public cl-caveman
12194 (package
12195 (inherit
12196 (sbcl-package->cl-source-package sbcl-caveman))
12197 (propagated-inputs
12198 `(("ningle" ,cl-ningle)))))
12199
12200 (define-public ecl-caveman
12201 (sbcl-package->ecl-package sbcl-caveman))
12202
12203 (define-public sbcl-lambda-fiddle
12204 (let ((commit "d16bba55acf6065b412f64ab8fdff679a4a32b1e") ;; no tagged branch
12205 (revision "1"))
12206 (package
12207 (name "sbcl-lambda-fiddle")
12208 (version (git-version "1.0.0" revision commit))
12209 (source
12210 (origin
12211 (method git-fetch)
12212 (uri (git-reference
12213 (url "https://github.com/Shinmera/lambda-fiddle")
12214 (commit commit)))
12215 (file-name (git-file-name name version))
12216 (sha256
12217 (base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand"))))
12218 (build-system asdf-build-system/sbcl)
12219 (home-page "https://github.com/Shinmera/lambda-fiddle")
12220 (synopsis "Collection of utilities to process lambda-lists")
12221 (description "This collection of utilities is useful in contexts where
12222 you want a macro that uses lambda-lists in some fashion but need more precise
12223 processing.")
12224 (license license:zlib))))
12225
12226 (define-public cl-lambda-fiddle
12227 (sbcl-package->cl-source-package sbcl-lambda-fiddle))
12228
12229 (define-public ecl-lambda-fiddle
12230 (sbcl-package->ecl-package sbcl-lambda-fiddle))
12231
12232 (define-public sbcl-xmls
12233 (let ((commit "18546f0850b1338e03997ffd1696add1cb1800d1") ;; no tagged branch
12234 (revision "1"))
12235 (package
12236 (name "sbcl-xmls")
12237 (version (git-version "3.0.2" revision commit))
12238 (source
12239 (origin
12240 (method git-fetch)
12241 (uri (git-reference
12242 (url "https://github.com/rpgoldman/xmls")
12243 (commit commit)))
12244 (file-name (git-file-name name version))
12245 (sha256
12246 (base32 "1lmvfml2ldbb1wkhm25jqqk2bhwsz52hhcgljbnzj1xr8xhc3anp"))))
12247 (native-inputs
12248 `(("fiveam" ,sbcl-fiveam)))
12249 (build-system asdf-build-system/sbcl)
12250 (home-page "https://github.com/rpgoldman/xmls")
12251 (synopsis "Non-validating XML parser for Common Lisp")
12252 (description "Xmls is a self-contained, easily embedded parser that
12253 recognizes a useful subset of the XML spec. It provides a simple mapping from
12254 XML to Lisp structures or s-expressions and back.")
12255 (license license:bsd-2))))
12256
12257 (define-public cl-xmls
12258 (sbcl-package->cl-source-package sbcl-xmls))
12259
12260 (define-public ecl-xmls
12261 (sbcl-package->ecl-package sbcl-xmls))
12262
12263 (define-public sbcl-geco
12264 (package
12265 (name "sbcl-geco")
12266 (version "2.1.1")
12267 (source
12268 (origin
12269 (method git-fetch)
12270 (uri (git-reference
12271 (url "https://github.com/gpwwjr/GECO")
12272 (commit (string-append "v" version))))
12273 (file-name (git-file-name "geco" version))
12274 (sha256
12275 (base32 "1rc8a4mk40hjx5qy980hjylv6xxqdbq38hg8c4w30y93abfd519s"))))
12276 (build-system asdf-build-system/sbcl)
12277 (home-page "http://hiwaay.net/~gpw/geco/geco.html")
12278 (synopsis "Genetic algorithm toolkit for Common Lisp")
12279 (description
12280 "GECO (Genetic Evolution through Combination of Objects) is an extensible,
12281 object-oriented framework for prototyping genetic algorithms in Common Lisp.")
12282 (license license:lgpl2.1+)))
12283
12284 (define-public cl-geco
12285 (sbcl-package->cl-source-package sbcl-geco))
12286
12287 (define-public ecl-geco
12288 (sbcl-package->ecl-package sbcl-geco))
12289
12290 (define-public sbcl-html-entities
12291 (let ((commit "4af018048e891f41d77e7d680ed3aeb639e1eedb"))
12292 (package
12293 (name "sbcl-html-entities")
12294 (version (git-version "0.02" "1" commit))
12295 (source
12296 (origin
12297 (method git-fetch)
12298 (uri (git-reference
12299 (url "https://github.com/BnMcGn/html-entities/")
12300 (commit commit)))
12301 (file-name (git-file-name name version))
12302 (sha256
12303 (base32 "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"))))
12304 (build-system asdf-build-system/sbcl)
12305 (inputs
12306 `(("ppcre" ,sbcl-cl-ppcre)))
12307 (native-inputs
12308 `(("fiveam" ,sbcl-fiveam)))
12309 (home-page "https://github.com/BnMcGn/html-entities/")
12310 (synopsis "Encode and decode entities in HTML with Common Lisp")
12311 (description "Html-entities is a Common Lisp library that lets you
12312 encode and decode entities in HTML.")
12313 (license license:expat))))
12314
12315 (define-public cl-html-entities
12316 (sbcl-package->cl-source-package sbcl-html-entities))
12317
12318 (define-public ecl-html-entities
12319 (sbcl-package->ecl-package sbcl-html-entities))
12320
12321 (define-public sbcl-quicksearch
12322 (let ((commit "fb02ecf7c876ec580ab18c7d2c8c7814c06af599"))
12323 (package
12324 (name "sbcl-quicksearch")
12325 (version (git-version "0.01.04" "1" commit))
12326 (source
12327 (origin
12328 (method git-fetch)
12329 (uri (git-reference
12330 (url "https://github.com/tkych/quicksearch/")
12331 (commit commit)))
12332 (file-name (git-file-name name version))
12333 (sha256
12334 (base32 "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps"))))
12335 (build-system asdf-build-system/sbcl)
12336 (inputs
12337 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12338 ("iterate" ,sbcl-iterate)
12339 ("alexandria" ,sbcl-alexandria)
12340 ("anaphora" ,sbcl-anaphora)
12341 ("ppcre" ,sbcl-cl-ppcre)
12342 ("drakma" ,sbcl-drakma)
12343 ("html-entities" ,sbcl-html-entities)
12344 ("yason" ,sbcl-yason)
12345 ("flexi-streams" ,sbcl-flexi-streams)
12346 ("do-urlencode" ,sbcl-do-urlencode)))
12347 (home-page "https://github.com/tkych/quicksearch/")
12348 (synopsis "Search Engine Interface for Common Lisp packages")
12349 (description "Quicksearch is a search-engine-interface for Common Lisp.
12350 The goal of Quicksearch is to find the Common Lisp library quickly. For
12351 example, if you will find the library about json, just type @code{(qs:?
12352 'json)} at REPL.
12353
12354 The function @code{quicksearch} searches for Common Lisp projects in
12355 Quicklisp, Cliki, GitHub and BitBucket, then outputs results in REPL. The
12356 function @code{?} is abbreviation wrapper for @code{quicksearch}.")
12357 (license license:expat))))
12358
12359 (define-public cl-quicksearch
12360 (sbcl-package->cl-source-package sbcl-quicksearch))
12361
12362 (define-public ecl-quicksearch
12363 (sbcl-package->ecl-package sbcl-quicksearch))
12364
12365 (define-public sbcl-agutil
12366 (let ((commit "df188d754d472da9faa1601a48f1f37bb7b34d68"))
12367 (package
12368 (name "sbcl-agutil")
12369 (version (git-version "0.0.1" "1" commit))
12370 (source
12371 (origin
12372 (method git-fetch)
12373 (uri (git-reference
12374 (url "https://github.com/alex-gutev/agutil/")
12375 (commit commit)))
12376 (file-name (git-file-name name version))
12377 (sha256
12378 (base32 "1xpnyzksk2xld64b6lw6rw0gn5zxlb77jwna59sd4yl7kxhxlfpf"))))
12379 (build-system asdf-build-system/sbcl)
12380 (inputs
12381 `(("alexandria" ,sbcl-alexandria)
12382 ("trivia" ,sbcl-trivia)))
12383 (home-page "https://github.com/alex-gutev/agutil/")
12384 (synopsis "Collection of Common Lisp utilities")
12385 (description "A collection of Common Lisp utility functions and macros
12386 mostly not found in other utility packages.")
12387 (license license:expat))))
12388
12389 (define-public cl-agutil
12390 (sbcl-package->cl-source-package sbcl-agutil))
12391
12392 (define-public ecl-agutil
12393 (sbcl-package->ecl-package sbcl-agutil))
12394
12395 (define-public sbcl-custom-hash-table
12396 (let ((commit "f26983133940f5edf826ebbc8077acc04816ddfa"))
12397 (package
12398 (name "sbcl-custom-hash-table")
12399 (version (git-version "0.3" "1" commit))
12400 (source
12401 (origin
12402 (method git-fetch)
12403 (uri (git-reference
12404 (url "https://github.com/metawilm/cl-custom-hash-table")
12405 (commit commit)))
12406 (file-name (git-file-name name version))
12407 (sha256
12408 (base32 "1k4mvrpbqqds2fwjxp1bxmrfmr8ch4dkwhnkbw559knbqshvrlj5"))))
12409 (build-system asdf-build-system/sbcl)
12410 (arguments
12411 '(#:asd-files '("cl-custom-hash-table.asd")
12412 #:asd-systems '("cl-custom-hash-table")))
12413 (home-page "https://github.com/metawilm/cl-custom-hash-table")
12414 (synopsis "Custom hash tables for Common Lisp")
12415 (description "This library allows creation of hash tables with arbitrary
12416 @code{test}/@code{hash} functions, in addition to the @code{test} functions
12417 allowed by the standard (@code{EQ}, @code{EQL}, @code{EQUAL} and
12418 @code{EQUALP}), even in implementations that don't support this functionality
12419 directly.")
12420 (license license:expat))))
12421
12422 (define-public cl-custom-hash-table
12423 (sbcl-package->cl-source-package sbcl-custom-hash-table))
12424
12425 (define-public ecl-custom-hash-table
12426 (sbcl-package->ecl-package sbcl-custom-hash-table))
12427
12428 (define-public sbcl-collectors
12429 (let ((commit "13acef25d8422d1d82e067b1861e513587c166ee"))
12430 (package
12431 (name "sbcl-collectors")
12432 (version (git-version "0.1" "1" commit))
12433 (source
12434 (origin
12435 (method git-fetch)
12436 (uri (git-reference
12437 (url "https://github.com/AccelerationNet/collectors")
12438 (commit commit)))
12439 (file-name (git-file-name name version))
12440 (sha256
12441 (base32 "1si68n1j6rpns8jw6ksqjpb937pdl30v7xza8rld7j5vh0jhy2yi"))))
12442 (build-system asdf-build-system/sbcl)
12443 (inputs
12444 `(("alexandria" ,sbcl-alexandria)
12445 ("closer-mop" ,sbcl-closer-mop)
12446 ("symbol-munger" ,sbcl-symbol-munger)))
12447 (native-inputs
12448 `(("lisp-unit2" ,sbcl-lisp-unit2)))
12449 (home-page "https://github.com/AccelerationNet/collectors/")
12450 (synopsis "Common lisp library providing collector macros")
12451 (description "A small collection of common lisp macros to make
12452 collecting values easier.")
12453 (license license:bsd-3))))
12454
12455 (define-public cl-collectors
12456 (sbcl-package->cl-source-package sbcl-collectors))
12457
12458 (define-public ecl-collectors
12459 (sbcl-package->ecl-package sbcl-collectors))
12460
12461 (define-public sbcl-cl-environments
12462 (let ((commit "0b22154c5afefef23d1eba9a4fae11d73580ef41")) ; No version in 2 years.
12463 (package
12464 (name "sbcl-cl-environments")
12465 (version (git-version "0.2.3" "1" commit))
12466 (source
12467 (origin
12468 (method git-fetch)
12469 (uri (git-reference
12470 (url "https://github.com/alex-gutev/cl-environments")
12471 (commit commit)))
12472 (file-name (git-file-name name version))
12473 (sha256
12474 (base32
12475 "18r3wfarr7lgn78m6c66r0r9aazirv07gy7xgvqkl9pmrz1bc47m"))))
12476 (build-system asdf-build-system/sbcl)
12477 (inputs
12478 `(("alexandria" ,sbcl-alexandria)
12479 ("anaphora" ,sbcl-anaphora)
12480 ("collectors" ,sbcl-collectors)
12481 ("optima" ,sbcl-optima)))
12482 (native-inputs
12483 `(("prove" ,sbcl-prove)))
12484 (home-page "https://github.com/alex-gutev/cl-environments")
12485 (synopsis "Implements the Common Lisp standard environment access API")
12486 (description "This library provides a uniform API, as specified in Common
12487 Lisp the Language 2, for accessing information about variable and function
12488 bindings from implementation-defined lexical environment objects. All major
12489 Common Lisp implementations are supported, even those which don't support the
12490 CLTL2 environment access API.")
12491 (license license:expat))))
12492
12493 (define-public cl-environments
12494 (sbcl-package->cl-source-package sbcl-cl-environments))
12495
12496 (define-public ecl-environments
12497 (sbcl-package->ecl-package sbcl-cl-environments))
12498
12499 (define-public sbcl-static-dispatch
12500 (let ((commit "6243afcd152854c52ba33daef7394367b657d9c6")
12501 (revision "1"))
12502 (package
12503 (name "sbcl-static-dispatch")
12504 (version (git-version "0.3" revision commit))
12505 (source
12506 (origin
12507 (method git-fetch)
12508 (uri (git-reference
12509 (url "https://github.com/alex-gutev/static-dispatch")
12510 (commit commit)))
12511 (file-name (git-file-name "static-dispatch" version))
12512 (sha256
12513 (base32 "1lli9ar1xbnhkgb5d01rlw4pvfylg2arrw68np2c07fpkkafimg7"))))
12514 (build-system asdf-build-system/sbcl)
12515 (native-inputs
12516 `(("prove" ,sbcl-prove)))
12517 (inputs
12518 `(("agutil" ,sbcl-agutil)
12519 ("alexandria" ,sbcl-alexandria)
12520 ("anaphora" ,sbcl-anaphora)
12521 ("arrows" ,sbcl-arrows)
12522 ("cl-environments" ,sbcl-cl-environments)
12523 ("closer-mop" ,sbcl-closer-mop)
12524 ("iterate" ,sbcl-iterate)
12525 ("trivia" ,sbcl-trivia)))
12526 (home-page "https://github.com/alex-gutev/static-dispatch")
12527 (synopsis "Static generic function dispatch for Common Lisp")
12528 (description "Static dispatch is a Common Lisp library, inspired by
12529 @code{inlined-generic-function}, which allows standard Common Lisp generic
12530 function dispatch to be performed statically (at compile time) rather than
12531 dynamically (runtime). This is similar to what is known as \"overloading\" in
12532 languages such as C++ and Java.
12533
12534 The purpose of static dispatch is to provide an optimization in cases where
12535 the usual dynamic dispatch is too slow, and the dynamic features of generic
12536 functions, such as adding/removing methods at runtime are not required. An
12537 example of such a case is a generic equality comparison function. Currently
12538 generic functions are considered far too slow to implement generic arithmetic
12539 and comparison operations when used heavily in numeric code.")
12540 (license license:expat))))
12541
12542 (define-public cl-static-dispatch
12543 (sbcl-package->cl-source-package sbcl-static-dispatch))
12544
12545 (define-public ecl-static-dispatch
12546 (sbcl-package->ecl-package sbcl-static-dispatch))
12547
12548 (define-public sbcl-generic-cl
12549 ;; Latest commit includes a necessary fix for our Guix build.
12550 (let ((commit "8e5a81487ee3c13fe5ffdc8bdda161d476639535"))
12551 (package
12552 (name "sbcl-generic-cl")
12553 (version (git-version "0.7.1" "1" commit))
12554 (source
12555 (origin
12556 (method git-fetch)
12557 (uri (git-reference
12558 (url "https://github.com/alex-gutev/generic-cl")
12559 (commit commit)))
12560 (file-name (git-file-name name version))
12561 (sha256
12562 (base32
12563 "11w0g79s4wmc78vmfng437rmsgnp5qn246zcyr540fp5nw0ad6ix"))))
12564 (build-system asdf-build-system/sbcl)
12565 (inputs
12566 `(("agutil" ,sbcl-agutil)
12567 ("alexandria" ,sbcl-alexandria)
12568 ("anaphora" ,sbcl-anaphora)
12569 ("arrows" ,sbcl-arrows)
12570 ("cl-custom-hash-table" ,sbcl-custom-hash-table)
12571 ("static-dispatch" ,sbcl-static-dispatch)
12572 ("trivia" ,sbcl-trivia)))
12573 (native-inputs
12574 `(("prove" ,sbcl-prove)))
12575 (arguments
12576 ;; Tests fail because SBCL head size is not high enough.
12577 ;; https://github.com/alex-gutev/generic-cl/issues/6
12578 `(#:tests? #f))
12579 (home-page "https://alex-gutev.github.io/generic-cl/")
12580 (synopsis "Generic function interface to standard Common Lisp functions")
12581 (description "@code{generic-cl} provides a generic function wrapper over
12582 various functions in the Common Lisp standard, such as equality predicates and
12583 sequence operations. The goal of this wrapper is to provide a standard
12584 interface to common operations, such as testing for the equality of two
12585 objects, which is extensible to user-defined types.")
12586 (license license:expat))))
12587
12588 (define-public cl-generic-cl
12589 (sbcl-package->cl-source-package sbcl-generic-cl))
12590
12591 (define-public ecl-generic-cl
12592 (sbcl-package->ecl-package sbcl-generic-cl))
12593
12594 (define-public sbcl-defpackage-plus
12595 (let ((revision "0")
12596 (commit "5492e27e0bdb7b75fa5177ea4388519dc7a75f11"))
12597 (package
12598 (name "sbcl-defpackage-plus")
12599 (version (git-version "1.0" revision commit))
12600 (source
12601 (origin
12602 (method git-fetch)
12603 (uri (git-reference
12604 (url "https://github.com/rpav/defpackage-plus")
12605 (commit commit)))
12606 (file-name (git-file-name name version))
12607 (sha256
12608 (base32 "0lzljvf343xb6mlh6lni2i27hpm5qd376522mk6hr2pa20vd6rdq"))))
12609 (build-system asdf-build-system/sbcl)
12610 (inputs
12611 `(("alexandria" ,sbcl-alexandria)))
12612 (home-page "https://github.com/rpav/defpackage-plus")
12613 (synopsis "Extensible @code{DEFPACKAGE} variant with version support")
12614 (description
12615 "@code{DEFPACKAGE-PLUS} is an extensible @code{DEFPACKAGE} variant with
12616 predictable cross-platform behavior and some utilities useful for versioning.")
12617 (license license:bsd-2))))
12618
12619 (define-public cl-defpackage-plus
12620 (sbcl-package->cl-source-package sbcl-defpackage-plus))
12621
12622 (define-public ecl-defpackage-plus
12623 (sbcl-package->ecl-package sbcl-defpackage-plus))
12624
12625 (define-public sbcl-deploy
12626 (let ((commit "9b20e64fe924b9e31832304d87a3a72c383dc6d8")
12627 (revision "2"))
12628 (package
12629 (name "sbcl-deploy")
12630 (version (git-version "1.0.0" revision commit))
12631 (source
12632 (origin
12633 (method git-fetch)
12634 (uri (git-reference
12635 (url "https://github.com/Shinmera/deploy")
12636 (commit commit)))
12637 (file-name (git-file-name "deploy" version))
12638 (sha256
12639 (base32 "07pfkibaridihg8lbq2czwa4iqifqk24n6rx7bfnv7i49p1ppja1"))))
12640 (build-system asdf-build-system/sbcl)
12641 (arguments
12642 `(#:test-asd-file "deploy-test.asd"
12643 #:asd-files '("deploy.asd"
12644 "deploy-test.asd")))
12645 (native-inputs
12646 `(("cl-mpg123" ,sbcl-cl-mpg123)
12647 ("cl-out123" ,sbcl-cl-out123)))
12648 (inputs
12649 `(("cffi" ,sbcl-cffi)
12650 ("documentation-utils" ,sbcl-documentation-utils)
12651 ("trivial-features" ,sbcl-trivial-features)))
12652 (home-page "https://shinmera.github.io/deploy/")
12653 (synopsis "Deployment tools for standalone Common Lisp application")
12654 (description
12655 "This is a system to help you easily and quickly deploy standalone
12656 common lisp applications as binaries. Specifically it is geared towards
12657 applications with foreign library dependencies that run some kind of GUI.")
12658 (license license:artistic2.0))))
12659
12660 (define-public cl-deploy
12661 (sbcl-package->cl-source-package sbcl-deploy))
12662
12663 (define-public ecl-deploy
12664 (sbcl-package->ecl-package sbcl-deploy))
12665
12666 (define-public sbcl-deeds
12667 ;; taged branch is outdated
12668 (let ((revision "1")
12669 (commit "f5df54eac79b58a34030e0eb8acf3952c788410d"))
12670 (package
12671 (name "sbcl-deeds")
12672 (version (git-version "1.1.1" revision commit))
12673 (source
12674 (origin
12675 (method git-fetch)
12676 (uri (git-reference
12677 (url "https://github.com/Shinmera/deeds")
12678 (commit commit)))
12679 (file-name (git-file-name name version))
12680 (sha256
12681 (base32 "062cnb2dwli6pw3zvv46jfxyxdzcbzwsck5pa6nw03qf1j1hyg3k"))))
12682 (build-system asdf-build-system/sbcl)
12683 (inputs
12684 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12685 ("closer-mop" ,sbcl-closer-mop)
12686 ("form-fiddle" ,sbcl-form-fiddle)
12687 ("lambda-fiddle" ,sbcl-lambda-fiddle)))
12688 (home-page "https://github.com/Shinmera/deeds")
12689 (synopsis "Extensible Event Delivery System")
12690 (description
12691 "@code{deeds} allows for efficient event delivery to multiple handlers
12692 with a complex event filtering system.")
12693 (license license:zlib))))
12694
12695 (define-public cl-deeds
12696 (sbcl-package->cl-source-package sbcl-deeds))
12697
12698 (define-public ecl-deeds
12699 (sbcl-package->ecl-package sbcl-deeds))
12700
12701 (define-public sbcl-make-hash
12702 ;; no tagged branch
12703 (let ((revision "1")
12704 (commit "ae0909cd8e697520a1085fac6f54ac2b448ebd21"))
12705 (package
12706 (name "sbcl-make-hash")
12707 (version (git-version "1.0.2" revision commit))
12708 (source
12709 (origin
12710 (method git-fetch)
12711 (uri (git-reference
12712 (url "https://github.com/genovese/make-hash")
12713 (commit commit)))
12714 (file-name (git-file-name name version))
12715 (sha256
12716 (base32 "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8"))))
12717 (build-system asdf-build-system/sbcl)
12718 (home-page "https://github.com/genovese/make-hash")
12719 (synopsis "Common Lisp package for flexible hash table creation")
12720 (description
12721 "This is a Common Lisp package for hash table creation with flexible,
12722 extensible initializers.")
12723 (license license:bsd-3))))
12724
12725 (define-public cl-make-hash
12726 (sbcl-package->cl-source-package sbcl-make-hash))
12727
12728 (define-public ecl-make-hash
12729 (sbcl-package->ecl-package sbcl-make-hash))
12730
12731 (define-public sbcl-claw-support
12732 (package
12733 (name "sbcl-claw-support")
12734 (version "1.0.0")
12735 (source
12736 (origin
12737 (method git-fetch)
12738 (uri (git-reference
12739 (url "https://github.com/borodust/claw-support")
12740 (commit "9a15c8bed04585f45e6a461bcda1b475144dbd0b")))
12741 (file-name (git-file-name name version))
12742 (sha256
12743 (base32 "1my2ka7h72ipx5n3b465g6kjkasrhsvhqlijwcg6dhlzs5yygl23"))))
12744 (build-system asdf-build-system/sbcl)
12745 (home-page "https://github.com/borodust/claw-support")
12746 (synopsis "Support routines for claw")
12747 (description
12748 "This package provides support routines for the @code{claw} Common Lisp
12749 package.")
12750 (license license:expat)))
12751
12752 (define-public cl-claw-support
12753 (sbcl-package->cl-source-package sbcl-claw-support))
12754
12755 (define-public ecl-claw-support
12756 (sbcl-package->ecl-package sbcl-claw-support))
12757
12758 (define-public sbcl-claw
12759 (let ((revision "0")
12760 (commit "3cd4a96fca95eb9e8d5d069426694669f81b2250"))
12761 (package
12762 (name "sbcl-claw")
12763 (version (git-version "1.0" revision commit))
12764 (source
12765 (origin
12766 (method git-fetch)
12767 (uri (git-reference
12768 (url "https://github.com/borodust/claw")
12769 (commit commit)))
12770 (file-name (git-file-name "claw" version))
12771 (sha256
12772 (base32 "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d"))))
12773 (build-system asdf-build-system/sbcl)
12774 (inputs
12775 `(("alexandria" ,sbcl-alexandria)
12776 ("cffi" ,sbcl-cffi)
12777 ("cl-json" ,sbcl-cl-json)
12778 ("cl-ppcre" ,sbcl-cl-ppcre)
12779 ("claw-support" ,sbcl-claw-support)
12780 ("local-time" ,sbcl-local-time)
12781 ("trivial-features" ,sbcl-trivial-features)))
12782 (home-page "https://github.com/borodust/claw")
12783 (synopsis "Autowrapper for Common Lisp")
12784 (description
12785 "This is a Common Lisp autowrapping facility for quickly creating clean
12786 and lean bindings to C libraries.")
12787 (license license:bsd-2))))
12788
12789 (define-public cl-claw
12790 (sbcl-package->cl-source-package sbcl-claw))
12791
12792 (define-public ecl-claw
12793 (sbcl-package->ecl-package sbcl-claw))
12794
12795 (define-public sbcl-claw-utils
12796 (let ((revision "0")
12797 (commit "efe25016501973dc369f067a64c7d225802bc56f"))
12798 (package
12799 (name "sbcl-claw-utils")
12800 ;; version is not specified
12801 (version (git-version "0.0.0" revision commit))
12802 (source
12803 (origin
12804 (method git-fetch)
12805 (uri (git-reference
12806 (url "https://github.com/borodust/claw-utils")
12807 (commit commit)))
12808 (file-name (git-file-name "claw-utils" version))
12809 (sha256
12810 (base32 "01df3kyf2qs3czi332dnz2s35x2j0fq46vgmsw7wjrrvnqc22mk5"))))
12811 (build-system asdf-build-system/sbcl)
12812 (inputs
12813 `(("alexandria" ,sbcl-alexandria)
12814 ("cffi" ,sbcl-cffi)
12815 ("claw" ,sbcl-claw)))
12816 (home-page "https://github.com/borodust/claw-utils")
12817 (synopsis "Utilities for easier autowrapping")
12818 (description
12819 "This Common Lisp library contains various handy utilties to help
12820 autowrapping with @code{claw}.")
12821 (license license:expat))))
12822
12823 (define-public cl-claw-utils
12824 (sbcl-package->cl-source-package sbcl-claw-utils))
12825
12826 (define-public ecl-claw-utils
12827 (sbcl-package->ecl-package sbcl-claw-utils))
12828
12829 (define-public sbcl-array-operations
12830 (let ((commit "75cbc3b1adb2e3ce2109489753d0f290b071e81b")
12831 (revision "0"))
12832 (package
12833 (name "sbcl-array-operations")
12834 (version (git-version "0.0.0" revision commit))
12835 (source
12836 (origin
12837 (method git-fetch)
12838 (uri (git-reference
12839 (url "https://github.com/bendudson/array-operations")
12840 (commit commit)))
12841 (file-name (git-file-name "array-operations" version))
12842 (sha256
12843 (base32 "0ip49hhq32w80qsc7jmspyda5r2rsszvw0mk2r3341cld78sz9ya"))))
12844 (build-system asdf-build-system/sbcl)
12845 (native-inputs
12846 `(("alexandria" ,sbcl-alexandria)
12847 ("clunit2" ,sbcl-clunit2)))
12848 (inputs
12849 `(("let-plus" ,sbcl-let-plus)))
12850 (synopsis "Simple array operations library for Common Lisp")
12851 (description
12852 "This library is a collection of functions and macros for manipulating
12853 Common Lisp arrays and performing numerical calculations with them.")
12854 (home-page "https://github.com/bendudson/array-operations")
12855 (license license:expat))))
12856
12857 (define-public cl-array-operations
12858 (sbcl-package->cl-source-package sbcl-array-operations))
12859
12860 (define-public ecl-array-operations
12861 (sbcl-package->ecl-package sbcl-array-operations))
12862
12863 (define-public sbcl-clml
12864 (let ((commit "95505b54c8c7b4b27f500c3be97fa5732f4b51a8")
12865 (revision "0"))
12866 (package
12867 (name "sbcl-clml")
12868 (version (git-version "0.0.0" revision commit))
12869 (source
12870 (origin
12871 (method git-fetch)
12872 (uri (git-reference
12873 (url "https://github.com/mmaul/clml")
12874 (commit commit)))
12875 (file-name (git-file-name "clml" version))
12876 (sha256
12877 (base32 "006pii59nmpc61n7p7h8ha5vjg6x0dya327i58z0rnvxs249h345"))
12878 ;; TODO: Remove this when the patch has been merged upstream.
12879 (patches (search-patches "sbcl-clml-fix-types.patch"))))
12880 (build-system asdf-build-system/sbcl)
12881 (inputs
12882 `(("alexandia" ,sbcl-alexandria)
12883 ("array-operations" ,sbcl-array-operations)
12884 ("cl-fad" ,sbcl-cl-fad)
12885 ("cl-ppcre" ,sbcl-cl-ppcre)
12886 ("drakma" ,sbcl-drakma)
12887 ("introspect-environment" ,sbcl-introspect-environment)
12888 ("iterate" ,sbcl-iterate)
12889 ("lparallel" ,sbcl-lparallel)
12890 ("parse-number" ,sbcl-parse-number)
12891 ("split-sequence" ,sbcl-split-sequence)
12892 ("trivial-garbage" ,sbcl-trivial-garbage)))
12893 (synopsis "Common Lisp machine learning library")
12894 (description
12895 "CLML (Common Lisp Machine Learning) is a high performance and large
12896 scale statistical machine learning package")
12897 (home-page "https://mmaul.github.io/clml/")
12898 (license license:llgpl))))
12899
12900 (define-public cl-clml
12901 (sbcl-package->cl-source-package sbcl-clml))
12902
12903 (define-public sbcl-utm-ups
12904 (let ((commit "780f1d8ab6290ad2be0f40e2cddc2535fa6fe979")
12905 (revision "0"))
12906 (package
12907 (name "sbcl-utm-ups")
12908 (version (git-version "1.0" revision commit))
12909 (source
12910 (origin
12911 (method git-fetch)
12912 (uri (git-reference
12913 (url "https://github.com/glv2/utm-ups")
12914 (commit commit)))
12915 (file-name (git-file-name "utm-ups" version))
12916 (sha256
12917 (base32 "0l3kr2m56skf5cx3kkkdcis7msmidcsixx9fqjapkcjsj8x67aqq"))))
12918 (build-system asdf-build-system/sbcl)
12919 (native-inputs
12920 `(("fiveam" ,sbcl-fiveam)))
12921 (synopsis
12922 "Convert coordinates between latitude/longitude and UTM or UPS")
12923 (description
12924 "This a Common Lisp library to convert geographic coordinates between
12925 latitude/longitude and UTM (Universal Transverse Mercator) or UPS (Universal
12926 Polar Stereographic).")
12927 (home-page "https://github.com/glv2/utm-ups")
12928 (license license:gpl3+))))
12929
12930 (define-public cl-utm-ups
12931 (sbcl-package->cl-source-package sbcl-utm-ups))
12932
12933 (define-public ecl-utm-ups
12934 (sbcl-package->ecl-package sbcl-utm-ups))
12935
12936 (define-public sbcl-mgrs
12937 (let ((commit "00455460407b7e5509d1be3da09bf6152956761f")
12938 (revision "0"))
12939 (package
12940 (name "sbcl-mgrs")
12941 (version (git-version "1.0" revision commit))
12942 (source
12943 (origin
12944 (method git-fetch)
12945 (uri (git-reference
12946 (url "https://github.com/glv2/mgrs")
12947 (commit commit)))
12948 (file-name (git-file-name "mgrs" version))
12949 (sha256
12950 (base32 "0ckvn4hg3wwivzavhfashb6fap4a1q10l8krhbng8bdb54ac10sz"))))
12951 (build-system asdf-build-system/sbcl)
12952 (native-inputs
12953 `(("fiveam" ,sbcl-fiveam)))
12954 (inputs
12955 `(("utm-ups" ,sbcl-utm-ups)))
12956 (synopsis
12957 "Convert coordinates between latitude/longitude and MGRS")
12958 (description
12959 "This a Common Lisp library to convert geographic coordinates between
12960 latitude/longitude and MGRS.")
12961 (home-page "https://github.com/glv2/mgrs")
12962 (license license:gpl3+))))
12963
12964 (define-public cl-mgrs
12965 (sbcl-package->cl-source-package sbcl-mgrs))
12966
12967 (define-public ecl-mgrs
12968 (sbcl-package->ecl-package sbcl-mgrs))
12969
12970 (define-public sbcl-maidenhead
12971 (let ((commit "b756d235c27b5d6798867aa240318af1a8f35d6d")
12972 (revision "0"))
12973 (package
12974 (name "sbcl-maidenhead")
12975 (version (git-version "1.0" revision commit))
12976 (source
12977 (origin
12978 (method git-fetch)
12979 (uri (git-reference
12980 (url "https://github.com/glv2/maidenhead")
12981 (commit commit)))
12982 (file-name (git-file-name "maidenhead" version))
12983 (sha256
12984 (base32 "02p990zprhjvifmsfk8yh3frvz6xyw26ikzxvzglqdixbal36nr3"))))
12985 (build-system asdf-build-system/sbcl)
12986 (native-inputs
12987 `(("fiveam" ,sbcl-fiveam)))
12988 (synopsis
12989 "Convert coordinates between latitude/longitude and Maidenhead")
12990 (description
12991 "This a Common Lisp library to convert geographic coordinates between
12992 latitude/longitude and Maidenhead locator system.")
12993 (home-page "https://github.com/glv2/maidenhead")
12994 (license license:gpl3+))))
12995
12996 (define-public cl-maidenhead
12997 (sbcl-package->cl-source-package sbcl-maidenhead))
12998
12999 (define-public ecl-maidenhead
13000 (sbcl-package->ecl-package sbcl-maidenhead))
13001
13002 (define-public sbcl-olc
13003 (let ((commit "517e27fa57d9a119b00a29c4b6b31e553deff309")
13004 (revision "0"))
13005 (package
13006 (name "sbcl-olc")
13007 (version (git-version "1.0" revision commit))
13008 (source
13009 (origin
13010 (method git-fetch)
13011 (uri (git-reference
13012 (url "https://github.com/glv2/olc")
13013 (commit commit)))
13014 (file-name (git-file-name "olc" version))
13015 (sha256
13016 (base32 "1lnfhp6z6kc8l605zp4siyjiw74y1h4bdq3jfizi084v505wxhgr"))))
13017 (build-system asdf-build-system/sbcl)
13018 (native-inputs
13019 `(("fiveam" ,sbcl-fiveam)))
13020 (synopsis
13021 "Convert coordinates between latitude/longitude and Open Location Code")
13022 (description
13023 "This a Common Lisp library to convert geographic coordinates between
13024 latitude/longitude and Open Location Code.")
13025 (home-page "https://github.com/glv2/olc")
13026 (license license:gpl3+))))
13027
13028 (define-public cl-olc
13029 (sbcl-package->cl-source-package sbcl-olc))
13030
13031 (define-public ecl-olc
13032 (sbcl-package->ecl-package sbcl-olc))
13033
13034 (define-public sbcl-regex
13035 (let ((commit "fbc9a9f313b9edc1788f33d4b23a29151635ae22"))
13036 (package
13037 (name "sbcl-regex")
13038 (version (git-version "1" "1" commit))
13039 (source
13040 (origin
13041 (method git-fetch)
13042 (uri (git-reference
13043 (url "https://github.com/michaelw/regex/")
13044 (commit commit)))
13045 (file-name (git-file-name name version))
13046 (sha256
13047 (base32 "0wq5wlafrxv13wg28hg5b10sc48b88swsvznpy2zg7x37m4nmm6a"))))
13048 (build-system asdf-build-system/sbcl)
13049 (home-page "https://github.com/michaelw/regex/")
13050 (synopsis "Regular expression engine for Common Lisp")
13051 (description
13052 "This Common Lisp package provides a regular expression engine.")
13053 (license license:bsd-2))))
13054
13055 (define-public cl-regex
13056 (sbcl-package->cl-source-package sbcl-regex))
13057
13058 (define-public ecl-regex
13059 (sbcl-package->ecl-package sbcl-regex))
13060
13061 (define-public sbcl-clawk
13062 (let ((commit "3a91634df686417114044a98c063cbe76bfac7b6"))
13063 (package
13064 (name "sbcl-clawk")
13065 (version (git-version "4" "1" commit))
13066 (source
13067 (origin
13068 (method git-fetch)
13069 (uri (git-reference
13070 (url "https://github.com/sharplispers/clawk")
13071 (commit commit)))
13072 (file-name (git-file-name name version))
13073 (sha256
13074 (base32 "1ph3xjqilvinvgr9q3w47zxqyz1sqnq030nlx7kgkkv8j3bnqk7a"))))
13075 (build-system asdf-build-system/sbcl)
13076 (inputs
13077 `(("sbcl-regex" ,sbcl-regex)))
13078 (home-page "https://github.com/sharplispers/clawk")
13079 (synopsis "Common Lisp AWK")
13080 (description
13081 "CLAWK is an AWK implementation embedded into Common Lisp.")
13082 (license license:bsd-2))))
13083
13084 (define-public cl-clawk
13085 (sbcl-package->cl-source-package sbcl-clawk))
13086
13087 (define-public ecl-clawk
13088 (sbcl-package->ecl-package sbcl-clawk))
13089
13090 (define-public sbcl-check-it
13091 (let ((commit "b79c9103665be3976915b56b570038f03486e62f"))
13092 (package
13093 (name "sbcl-check-it")
13094 (version (git-version "0.1.0" "1" commit))
13095 (source
13096 (origin
13097 (method git-fetch)
13098 (uri (git-reference
13099 (url "https://github.com/DalekBaldwin/check-it/")
13100 (commit commit)))
13101 (file-name (git-file-name name version))
13102 (sha256
13103 (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"))))
13104 (build-system asdf-build-system/sbcl)
13105 (inputs
13106 `(("alexandria" ,sbcl-alexandria)
13107 ("closer-mop" ,sbcl-closer-mop)
13108 ("optima" ,sbcl-optima)))
13109 (native-inputs
13110 `(("stefil" ,sbcl-stefil)))
13111 (home-page "https://github.com/arclanguage/Clamp")
13112 (synopsis "Randomized specification-based testing for Common Lisp")
13113 (description
13114 "This is a randomized property-based testing library for Common Lisp.
13115 Rather than being a full-fledged general test framework in its own right, it's
13116 designed to embed randomized tests in whatever framework you like.")
13117 (license license:llgpl))))
13118
13119 (define-public cl-check-it
13120 (sbcl-package->cl-source-package sbcl-check-it))
13121
13122 (define-public ecl-check-it
13123 (sbcl-package->ecl-package sbcl-check-it))
13124
13125 (define-public sbcl-clamp
13126 (let ((commit "02b8f3953e5753cc61a719807c82f3795cd28fe1"))
13127 (package
13128 (name "sbcl-clamp")
13129 (version (git-version "0.3" "1" commit))
13130 (source
13131 (origin
13132 (method git-fetch)
13133 (uri (git-reference
13134 (url "https://github.com/arclanguage/Clamp")
13135 (commit commit)))
13136 (file-name (git-file-name name version))
13137 (sha256
13138 (base32 "0fdr9nqfmmpxm6hvjdxi1jkclya9xlnrw1yc3cn1m4ww3f50p31m"))))
13139 (build-system asdf-build-system/sbcl)
13140 (inputs
13141 `(("iterate" ,sbcl-iterate)
13142 ("cl-syntax" ,sbcl-cl-syntax)))
13143 (native-inputs
13144 `(("cl-unit" ,sbcl-clunit)
13145 ("check-it" ,sbcl-check-it)))
13146 (arguments
13147 `(#:phases
13148 (modify-phases %standard-phases
13149 (add-after 'unpack 'fix-build
13150 (lambda _
13151 (substitute* "clamp.asd"
13152 (("\\(:file \"read\" :depends-on \\(\"aliases\"\\)\\)")
13153 "(:file \"read\" :depends-on (\"aliases\" \"base\"))"))
13154 #t)))))
13155 (home-page "https://github.com/arclanguage/Clamp")
13156 (synopsis "Common Lisp with Arc macros and procedures")
13157 (description
13158 "Clamp is an attempt to bring the powerful, but verbose, language of
13159 Common Lisp up to the terseness of Arc.
13160
13161 There are two parts to Clamp. There is the core of Clamp, which implements
13162 the utilities of Arc that are easily converted from Arc to Common Lisp. The
13163 other part is the \"experimental\" part. It contains features of Arc that are
13164 not so easy to copy (ssyntax, argument destructuring, etc.).")
13165 (license license:artistic2.0))))
13166
13167 (define-public cl-clamp
13168 (sbcl-package->cl-source-package sbcl-clamp))
13169
13170 (define-public ecl-clamp
13171 (sbcl-package->ecl-package sbcl-clamp))
13172
13173 (define-public sbcl-trivial-shell
13174 (let ((commit "e02ec191b34b52deca5d1c4ee99d4fa13b8772e0"))
13175 (package
13176 (name "sbcl-trivial-shell")
13177 (version (git-version "0.2.0" "1" commit))
13178 (source
13179 (origin
13180 (method git-fetch)
13181 (uri (git-reference
13182 (url "https://github.com/gwkkwg/trivial-shell")
13183 (commit commit)))
13184 (file-name (git-file-name name version))
13185 (sha256
13186 (base32 "08mpkl5ij5sjfsyn8pq2kvsvpvyvr7ha1r8g1224fa667b8k2q85"))))
13187 (build-system asdf-build-system/sbcl)
13188 (native-inputs
13189 `(("lift" ,sbcl-lift)))
13190 (home-page "http://common-lisp.net/project/trivial-shell/")
13191 (synopsis "Common Lisp access to the shell")
13192 (description
13193 "A simple Common-Lisp interface to the underlying operating system.
13194 It's independent of the implementation and operating system.")
13195 (license license:expat))))
13196
13197 (define-public cl-trivial-shell
13198 (sbcl-package->cl-source-package sbcl-trivial-shell))
13199
13200 (define-public ecl-trivial-shell
13201 (sbcl-package->ecl-package sbcl-trivial-shell))
13202
13203 (define-public sbcl-clesh
13204 (let ((commit "44e96e04a72e5bc006dc4eb02ce8962348dd4a11"))
13205 (package
13206 (name "sbcl-clesh")
13207 (version (git-version "0.0.0" "1" commit))
13208 (source
13209 (origin
13210 (method git-fetch)
13211 (uri (git-reference
13212 (url "https://github.com/Neronus/Clesh")
13213 (commit commit)))
13214 (file-name (git-file-name name version))
13215 (sha256
13216 (base32 "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318"))))
13217 (build-system asdf-build-system/sbcl)
13218 (inputs
13219 `(("trivial-shell" ,sbcl-trivial-shell)
13220 ("named-readtables" ,sbcl-named-readtables)))
13221 (home-page "https://github.com/Neronus/Clesh")
13222 (synopsis "Embed shell code in Common Lisp")
13223 (description
13224 "This is a very short and simple program, written in Common Lisp, that
13225 extends Common Lisp to embed shell code in a manner similar to Perl's
13226 backtick. It has been forked from SHELISP.")
13227 (license license:bsd-2))))
13228
13229 (define-public cl-clesh
13230 (sbcl-package->cl-source-package sbcl-clesh))
13231
13232 (define-public ecl-clesh
13233 (sbcl-package->ecl-package sbcl-clesh))
13234
13235 (define-public sbcl-trivial-download
13236 (let ((commit "d2472061d86b1cf3d32f388daacd4e32a13af699"))
13237 (package
13238 (name "sbcl-trivial-download")
13239 (version (git-version "0.3" "1" commit))
13240 (source
13241 (origin
13242 (method git-fetch)
13243 (uri (git-reference
13244 (url "https://github.com/eudoxia0/trivial-download/")
13245 (commit commit)))
13246 (file-name (git-file-name name version))
13247 (sha256
13248 (base32 "06f46zr3gp3wlm2kgxna24qd2gpr1v89x9fynh1x5vrw6c6hqjcv"))))
13249 (build-system asdf-build-system/sbcl)
13250 (inputs
13251 `(("drakma" ,sbcl-drakma)))
13252 (home-page "https://github.com/eudoxia0/trivial-download/")
13253 (synopsis "Download files from Common Lisp")
13254 (description
13255 "@code{trivial-download} allows you to download files from the Internet
13256 from Common Lisp. It provides a progress bar.")
13257 (license license:bsd-2))))
13258
13259 (define-public cl-trivial-download
13260 (sbcl-package->cl-source-package sbcl-trivial-download))
13261
13262 (define-public ecl-trivial-download
13263 (sbcl-package->ecl-package sbcl-trivial-download))
13264
13265 (define-public sbcl-gtwiwtg
13266 (package
13267 (name "sbcl-gtwiwtg")
13268 (version "0.1.1")
13269 (source
13270 (origin
13271 (method git-fetch)
13272 (uri (git-reference
13273 (url "https://github.com/cbeo/gtwiwtg/")
13274 (commit version)))
13275 (file-name (git-file-name name version))
13276 (sha256
13277 (base32 "0lkraw0dwh4is4x5sp5rjrw6f93m0gr9849abrbi12s25ws7jbw4"))))
13278 (build-system asdf-build-system/sbcl)
13279 (native-inputs
13280 `(("osicat" ,sbcl-osicat)
13281 ("prove" ,sbcl-prove)))
13282 (home-page "https://github.com/cbeo/gtwiwtg/")
13283 (synopsis "Naive generators for Common Lisp")
13284 (description
13285 "The GTWIWTG library (Generators The Way I Want Them Generated --
13286 technically not generators, but iterators) is meant to be small, explorable,
13287 and understandable.")
13288 (license license:gpl3)))
13289
13290 (define-public cl-gtwiwtg
13291 (sbcl-package->cl-source-package sbcl-gtwiwtg))
13292
13293 (define-public ecl-gtwiwtg
13294 (sbcl-package->ecl-package sbcl-gtwiwtg))
13295
13296 (define-public sbcl-cl-progress-bar
13297 (let ((commit "9374170858663c8fe829e9fb5a29bd2cb48d95ae"))
13298 (package
13299 (name "sbcl-cl-progress-bar")
13300 (version (git-version "0.0.0" "1" commit))
13301 (source
13302 (origin
13303 (method git-fetch)
13304 (uri (git-reference
13305 (url "https://github.com/sirherrbatka/cl-progress-bar/")
13306 (commit commit)))
13307 (file-name (git-file-name name version))
13308 (sha256
13309 (base32 "1ldb4qhmx431n3lsq71ynwb9ybazbfqd55icjbhi06mj52ngndir"))))
13310 (build-system asdf-build-system/sbcl)
13311 (inputs
13312 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13313 ("documentation-utils-extensions" ,sbcl-documentation-utils-extensions)))
13314 (home-page "https://github.com/sirherrbatka/cl-progress-bar/")
13315 (synopsis "Progress bars in Common Lisp")
13316 (description
13317 "This library provides almost the same code as used inside Quicklisp
13318 for drawning progress bars")
13319 (license license:expat))))
13320
13321 (define-public cl-progress-bar
13322 (sbcl-package->cl-source-package sbcl-cl-progress-bar))
13323
13324 (define-public ecl-cl-progress-bar
13325 (sbcl-package->ecl-package sbcl-cl-progress-bar))
13326
13327 (define-public sbcl-repl-utilities
13328 (let ((commit "e0de9c92e774f77cab1a4cd92e2ac922ac3a807e"))
13329 (package
13330 (name "sbcl-repl-utilities")
13331 (version (git-version "0.0.0" "1" commit))
13332 (source
13333 (origin
13334 (method git-fetch)
13335 (uri (git-reference
13336 (url "https://github.com/m-n/repl-utilities/")
13337 (commit commit)))
13338 (file-name (git-file-name name version))
13339 (sha256
13340 (base32 "1r5icmw3ha5y77kvzqni3a9bcd66d9pz5mjsbw04xg3jk0d15cgz"))))
13341 (build-system asdf-build-system/sbcl)
13342 (home-page "https://github.com/m-n/repl-utilities")
13343 (synopsis "Ease common tasks at the Common Lisp REPL")
13344 (description
13345 "@code{repl-utilities} is a set of utilities which ease life at the
13346 REPL. It includes three sorts of features: introspective procedures,
13347 miscellaneous utility functions, and, pulling them together, methods to
13348 conveniently keep these symbols and optionally additional symbols available in
13349 whichever package you switch to.")
13350 (license license:bsd-2))))
13351
13352 (define-public cl-repl-utilities
13353 (sbcl-package->cl-source-package sbcl-repl-utilities))
13354
13355 (define-public ecl-repl-utilities
13356 (sbcl-package->ecl-package sbcl-repl-utilities))
13357
13358 (define-public sbcl-supertrace
13359 (let ((commit "66d22c3ff131ecd1c8048dfced1d62ed6024ecb0"))
13360 (package
13361 (name "sbcl-supertrace")
13362 (version (git-version "0.1.0" "1" commit))
13363 (source
13364 (origin
13365 (method git-fetch)
13366 (uri (git-reference
13367 (url "https://github.com/fukamachi/supertrace")
13368 (commit commit)))
13369 (file-name (git-file-name name version))
13370 (sha256
13371 (base32 "0n369n6b7y1m49biccnnr7svymjdsk8sksrkqrn3mj21vgv7s7bg"))))
13372 (build-system asdf-build-system/sbcl)
13373 (native-inputs
13374 `(("cffi-grovel" ,sbcl-cffi)
13375 ("rove" ,sbcl-rove)
13376 ("cl-ppcre" ,sbcl-cl-ppcre)
13377 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
13378 (inputs
13379 `(("cffi" ,sbcl-cffi)))
13380 (home-page "https://github.com/fukamachi/supertrace")
13381 (synopsis "Improved Common Lisp tracing for debugging and profiling")
13382 (description
13383 "Supertrace provides a superior Common Lisp @code{trace} functionality
13384 for debugging and profiling real world applications.")
13385 (license license:bsd-2))))
13386
13387 (define-public cl-supertrace
13388 (sbcl-package->cl-source-package sbcl-supertrace))
13389
13390 (define-public ecl-supertrace
13391 (sbcl-package->ecl-package sbcl-supertrace))
13392
13393 (define-public sbcl-trivial-benchmark
13394 (let ((commit "42d76733dd2e873471c6f1e27d39113293f7dd5c"))
13395 (package
13396 (name "sbcl-trivial-benchmark")
13397 (version (git-version "2.0.0" "1" commit))
13398 (source
13399 (origin
13400 (method git-fetch)
13401 (uri (git-reference
13402 (url "https://github.com/Shinmera/trivial-benchmark/")
13403 (commit commit)))
13404 (file-name (git-file-name name version))
13405 (sha256
13406 (base32 "0fbzqbpm2ixz85555krl36kbbbjyn699vdj6k383khi3g9y629fa"))))
13407 (build-system asdf-build-system/sbcl)
13408 (inputs
13409 `(("alexandria" ,sbcl-alexandria)))
13410 (home-page "http://shinmera.github.io/trivial-benchmark/")
13411 (synopsis "Easy to use benchmarking system for Common Lisp")
13412 (description
13413 "Trivial-Benchmark runs a block of code many times and outputs some
13414 statistical data for it. On SBCL this includes the data from @code{time}, for
13415 all other implementations just the @code{real-time} and @code{run-time} data.
13416 However, you can extend the system by adding your own @code{metrics} to it, or
13417 even by adding additional statistical @code{compute}ations. ")
13418 (license license:zlib))))
13419
13420 (define-public cl-trivial-benchmark
13421 (sbcl-package->cl-source-package sbcl-trivial-benchmark))
13422
13423 (define-public ecl-trivial-benchmark
13424 (sbcl-package->ecl-package sbcl-trivial-benchmark))
13425
13426 (define-public sbcl-glyphs
13427 (let ((commit "1ff5714e8c1dca327bc604dfe3e3d1f4b7755373"))
13428 (package
13429 (name "sbcl-glyphs")
13430 (version (git-version "0.0.0" "1" commit))
13431 (source
13432 (origin
13433 (method git-fetch)
13434 (uri (git-reference
13435 (url "https://github.com/ahungry/glyphs/")
13436 (commit commit)))
13437 (file-name (git-file-name name version))
13438 (sha256
13439 (base32 "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf"))))
13440 (build-system asdf-build-system/sbcl)
13441 (inputs
13442 `(("cl-ppcre" ,sbcl-cl-ppcre)
13443 ("parenscript" ,sbcl-parenscript)
13444 ("named-readtables" ,sbcl-named-readtables)))
13445 (home-page "https://github.com/ahungry/glyphs/")
13446 (synopsis "Reduce Common Lisp verbosity")
13447 (description
13448 "This library is a little experiment in reducing verbosity in Common
13449 Lisp, inspired by BODOL (@url{https://github.com/bodil/BODOL}).")
13450 (license license:gpl3))))
13451
13452 (define-public cl-glyphs
13453 (sbcl-package->cl-source-package sbcl-glyphs))
13454
13455 (define-public ecl-glyphs
13456 (sbcl-package->ecl-package sbcl-glyphs))
13457
13458 (define-public sbcl-zs3
13459 (package
13460 (name "sbcl-zs3")
13461 (version "1.3.3")
13462 (source
13463 (origin
13464 (method git-fetch)
13465 (uri
13466 (git-reference
13467 (url "https://github.com/xach/zs3")
13468 (commit (string-append "release-" version))))
13469 (file-name (git-file-name "zs3" version))
13470 (sha256
13471 (base32 "186v95wgsj2hkxdw2jl9x1w4fddjclp7arp0rrd9vf5ly8h8sbf3"))))
13472 (build-system asdf-build-system/sbcl)
13473 (inputs
13474 `(("drakma" ,sbcl-drakma)
13475 ("alexandria" ,sbcl-alexandria)
13476 ("cxml" ,sbcl-cxml)
13477 ("ironclad" ,sbcl-ironclad)
13478 ("puri" ,sbcl-puri)
13479 ("cl-base64" ,sbcl-cl-base64)))
13480 (synopsis "Work with Amazon S3 and Amazon CloudFront from Common Lisp")
13481 (description "This is ZS3, a library for working with Amazon's Simple Storage
13482 Service (S3) and CloudFront service from Common Lisp.")
13483 (home-page "https://github.com/xach/zs3")
13484 (license license:bsd-2)))
13485
13486 (define-public cl-zs3
13487 (sbcl-package->cl-source-package sbcl-zs3))
13488
13489 (define-public ecl-zs3
13490 (sbcl-package->ecl-package sbcl-zs3))
13491
13492 (define-public sbcl-simple-neural-network
13493 (package
13494 (name "sbcl-simple-neural-network")
13495 (version "3.1")
13496 (source
13497 (origin
13498 (method git-fetch)
13499 (uri (git-reference
13500 (url "https://github.com/glv2/simple-neural-network")
13501 (commit (string-append "v" version))))
13502 (file-name (git-file-name "simple-neural-network" version))
13503 (sha256
13504 (base32 "1jj1c90fr5clwka0jv32hv6xp1bkdlpa6x5jh19an13rhx8ll4zr"))))
13505 (build-system asdf-build-system/sbcl)
13506 (native-inputs
13507 `(("chipz" ,sbcl-chipz)
13508 ("fiveam" ,sbcl-fiveam)))
13509 (inputs
13510 `(("cl-store" ,sbcl-cl-store)
13511 ("lparallel" ,sbcl-lparallel)))
13512 (arguments
13513 `(#:phases
13514 (modify-phases %standard-phases
13515 (add-after 'check 'remove-test-data
13516 (lambda* (#:key outputs #:allow-other-keys)
13517 (let ((out (assoc-ref outputs "out")))
13518 (for-each delete-file (find-files out "\\.gz$"))))))))
13519 (synopsis "Simple neural network in Common Lisp")
13520 (description
13521 "@code{simple-neural-network} is a Common Lisp library for creating,
13522 training and using basic neural networks. The networks created by this
13523 library are feedforward neural networks trained using backpropagation.")
13524 (home-page "https://github.com/glv2/simple-neural-network")
13525 (license license:gpl3+)))
13526
13527 (define-public cl-simple-neural-network
13528 (sbcl-package->cl-source-package sbcl-simple-neural-network))
13529
13530 (define-public ecl-simple-neural-network
13531 (sbcl-package->ecl-package sbcl-simple-neural-network))
13532
13533 (define-public sbcl-zstd
13534 (let ((commit "d144582c581aaa52bac24d6686af27fa3e781e06")
13535 (revision "1"))
13536 (package
13537 (name "sbcl-zstd")
13538 (version (git-version "1.0" revision commit))
13539 (source
13540 (origin
13541 (method git-fetch)
13542 (uri (git-reference
13543 (url "https://github.com/glv2/cl-zstd")
13544 (commit commit)))
13545 (file-name (git-file-name "cl-zstd" version))
13546 (sha256
13547 (base32 "1774jy8hzbi6nih3sq6vchk66f7g8w86dwgpbvljyfzcnkcaz6ql"))))
13548 (build-system asdf-build-system/sbcl)
13549 (native-inputs
13550 `(("fiveam" ,sbcl-fiveam)))
13551 (inputs
13552 `(("cffi" ,sbcl-cffi)
13553 ("cl-octet-streams" ,sbcl-cl-octet-streams)
13554 ("zstd-lib" ,zstd "lib")))
13555 (arguments
13556 '(#:phases
13557 (modify-phases %standard-phases
13558 (add-after 'unpack 'fix-paths
13559 (lambda* (#:key inputs #:allow-other-keys)
13560 (substitute* "src/libzstd.lisp"
13561 (("libzstd\\.so")
13562 (string-append (assoc-ref inputs "zstd-lib")
13563 "/lib/libzstd.so")))
13564 #t)))))
13565 (synopsis "Common Lisp library for Zstandard (de)compression")
13566 (description
13567 "This Common Lisp library provides functions for Zstandard
13568 compression/decompression using bindings to the libzstd C library.")
13569 (home-page "https://github.com/glv2/cl-zstd")
13570 (license license:gpl3+))))
13571
13572 (define-public cl-zstd
13573 (sbcl-package->cl-source-package sbcl-zstd))
13574
13575 (define-public ecl-zstd
13576 (sbcl-package->ecl-package sbcl-zstd))
13577
13578 (define-public sbcl-agnostic-lizard
13579 (let ((commit "fe3a73719f05901c8819f8995a3ebae738257952")
13580 (revision "1"))
13581 (package
13582 (name "sbcl-agnostic-lizard")
13583 (version (git-version "0.0.0" revision commit))
13584 (source
13585 (origin
13586 (method git-fetch)
13587 (uri (git-reference
13588 (url "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
13589 (commit commit)))
13590 (file-name (git-file-name name version))
13591 (sha256
13592 (base32 "0ax78y8w4zlp5dcwyhz2nq7j3shi49qn31dkfg8lv2jlg7mkwh2d"))))
13593 (build-system asdf-build-system/sbcl)
13594 (synopsis "Almost correct portable code walker for Common Lisp")
13595 (description
13596 "Agnostic Lizard is a portable implementation of a code walker and in
13597 particular of the macroexpand-all function (and macro) that makes a best
13598 effort to be correct while not expecting much beyond what the Common Lisp
13599 standard requires.
13600
13601 It aims to be implementation-agnostic and to climb the syntax trees.")
13602 (home-page "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
13603 (license license:gpl3+))))
13604
13605 (define-public cl-agnostic-lizard
13606 (sbcl-package->cl-source-package sbcl-agnostic-lizard))
13607
13608 (define-public ecl-agnostic-lizard
13609 (sbcl-package->ecl-package sbcl-agnostic-lizard))
13610
13611 (define-public sbcl-dynamic-classes
13612 (package
13613 (name "sbcl-dynamic-classes")
13614 (version "1.0.2")
13615 (source
13616 (origin
13617 (method git-fetch)
13618 (uri (git-reference
13619 (url "https://github.com/gwkkwg/dynamic-classes")
13620 (commit (string-append "version-" version))))
13621 (file-name (git-file-name "dynamic-classes" version))
13622 (sha256
13623 (base32 "1z3ag6w4ff0v6715xa9zhvwjqnp4i6zrjfmxdz8m115sklbwgm6c"))))
13624 (build-system asdf-build-system/sbcl)
13625 (inputs
13626 `(("metatilities-base" ,sbcl-metatilities-base)))
13627 (arguments
13628 ;; NOTE: (Sharlatan-20210106222900+0000) Circular dependencies and failing
13629 ;; test suites. lift-standard.config contains referances to deprecated
13630 ;; functionality.
13631 `(#:tests? #f))
13632 (home-page "https://common-lisp.net/project/dynamic-classes/")
13633 (synopsis "Dynamic class definition for Common Lisp")
13634 (description "Dynamic-Classes helps to ease the prototyping process by
13635 bringing dynamism to class definition.")
13636 (license license:expat)))
13637
13638 (define-public ecl-dynamic-classes
13639 (sbcl-package->ecl-package sbcl-dynamic-classes))
13640
13641 (define-public cl-dynamic-classes
13642 (sbcl-package->cl-source-package sbcl-dynamic-classes))
13643
13644 (define-public sbcl-cl-markdown
13645 ;; NOTE: (Sharlatan-20210106214629+0000) latest version tag
13646 ;; "version-0.10.6_version-0.10.6" is failing to build due to missing system
13647 ;; #:container-dynamic-classes
13648 (package
13649 (name "sbcl-cl-markdown")
13650 (version "0.10.4")
13651 (source
13652 (origin
13653 (method git-fetch)
13654 (uri (git-reference
13655 (url "https://github.com/gwkkwg/cl-markdown")
13656 (commit (string-append "version-" version))))
13657 (file-name (git-file-name "cl-markdown" version))
13658 (sha256
13659 (base32 "1wdjbdd1zyskxf7zlilcp6fmwkivybj0wjp64vvzb265d5xi7p8p"))))
13660 (build-system asdf-build-system/sbcl)
13661 (inputs
13662 `(("anaphora" ,sbcl-anaphora)
13663 ("cl-containers" ,sbcl-cl-containers)
13664 ("cl-ppcre" ,sbcl-cl-ppcre)
13665 ("dynamic-classes" ,sbcl-dynamic-classes)
13666 ("metabang-bind" ,sbcl-metabang-bind)
13667 ("metatilities-base" ,sbcl-metatilities-base)))
13668 (arguments
13669 ;; NOTE: (Sharlatan-20210107213629+0000) Tests depend on too many not
13670 ;; available systems, which themself are abandoned.
13671 `(#:tests? #f))
13672 (home-page "https://common-lisp.net/project/cl-markdown/")
13673 (synopsis "Common Lisp rewrite of Markdown")
13674 (description
13675 "This is an implementation of a Markdown parser in Common Lisp.")
13676 (license license:expat)))
13677
13678 (define-public ecl-cl-markdown
13679 (sbcl-package->ecl-package sbcl-cl-markdown))
13680
13681 (define-public cl-markdown
13682 (sbcl-package->cl-source-package sbcl-cl-markdown))
13683
13684 (define-public sbcl-magicffi
13685 (let ((commit "d88f2f280c31f639e4e05be75215d8a8dce6aef2"))
13686 (package
13687 (name "sbcl-magicffi")
13688 (version (git-version "0.0.0" "1" commit))
13689 (source
13690 (origin
13691 (method git-fetch)
13692 (uri (git-reference
13693 (url "https://github.com/dochang/magicffi/")
13694 (commit commit)))
13695 (file-name (git-file-name name version))
13696 (sha256
13697 (base32 "0p6ysa92fk34bhxpw7bycbfgw150fv11z9x8jr9xb4lh8cm2hvp6"))))
13698 (build-system asdf-build-system/sbcl)
13699 (native-inputs
13700 `(("alexandria" ,sbcl-alexandria)))
13701 (inputs
13702 `(("cffi" ,sbcl-cffi)
13703 ("ppcre" ,sbcl-cl-ppcre)
13704 ("libmagic" ,file)))
13705 (arguments
13706 `(#:phases
13707 (modify-phases %standard-phases
13708 (add-after 'unpack 'fix-paths
13709 (lambda* (#:key inputs #:allow-other-keys)
13710 (let ((magic (assoc-ref inputs "libmagic")))
13711 (substitute* "grovel.lisp"
13712 (("/usr/include/magic.h")
13713 (string-append magic "/include/magic.h")))
13714 (substitute* "api.lisp"
13715 ((":default \"libmagic\"" all)
13716 (string-append ":default \"" magic "/lib/libmagic\"")))))))))
13717 (home-page "https://common-lisp.net/project/magicffi/")
13718 (synopsis "Common Lisp interface to libmagic based on CFFI")
13719 (description
13720 "MAGICFFI is a Common Lisp CFFI interface to libmagic(3), the file type
13721 determination library using @emph{magic} numbers.")
13722 (license license:bsd-2))))
13723
13724 (define-public ecl-magicffi
13725 (sbcl-package->ecl-package sbcl-magicffi))
13726
13727 (define-public cl-magicffi
13728 (sbcl-package->cl-source-package sbcl-magicffi))
13729
13730 (define-public sbcl-shlex
13731 (let ((commit "c5616dffca0d4d8ddbc1cd6f37a96d88477b2740"))
13732 (package
13733 (name "sbcl-shlex")
13734 (version (git-version "0.0.0" "1" commit))
13735 (source
13736 (origin
13737 (method git-fetch)
13738 (uri (git-reference
13739 (url "https://github.com/ruricolist/cl-shlex")
13740 (commit commit)))
13741 (file-name (git-file-name name version))
13742 (sha256
13743 (base32 "1nas024n4wv319bf40aal96g72bgi9nkapj2chywj2cc6r8hzkfg"))))
13744 (build-system asdf-build-system/sbcl)
13745 (inputs
13746 `(("alexandria" ,sbcl-alexandria)
13747 ("serapeum" ,sbcl-serapeum)
13748 ("ppcre" ,sbcl-cl-ppcre)
13749 ("unicode" ,sbcl-cl-unicode)))
13750 (home-page "https://github.com/ruricolist/cl-shlex")
13751 (synopsis "Common Lisp lexical analyzer for shell-like syntaxes")
13752 (description
13753 "This library contains a lexer for syntaxes that use shell-like rules
13754 for quoting and commenting. It is a port of the @code{shlex} module from Python’s
13755 standard library.")
13756 (license license:expat))))
13757
13758 (define-public ecl-shlex
13759 (sbcl-package->ecl-package sbcl-shlex))
13760
13761 (define-public cl-shlex
13762 (sbcl-package->cl-source-package sbcl-shlex))
13763
13764 (define-public sbcl-cmd
13765 (let ((commit "e6a54dbf660bf229c80abc124fa47e7bb6d20c93"))
13766 (package
13767 (name "sbcl-cmd")
13768 (version (git-version "0.0.1" "2" commit))
13769 (source
13770 (origin
13771 (method git-fetch)
13772 (uri (git-reference
13773 (url "https://github.com/ruricolist/cmd/")
13774 (commit commit)))
13775 (file-name (git-file-name name version))
13776 (sha256
13777 (base32 "1i0l8ci4cnkx84q4afmpkq51nxah24fqpi6k9kgjbxz6li3zp8hy"))))
13778 (build-system asdf-build-system/sbcl)
13779 (inputs
13780 `(("alexandria" ,sbcl-alexandria)
13781 ("coreutils" ,coreutils)
13782 ("serapeum" ,sbcl-serapeum)
13783 ("shlex" ,sbcl-shlex)
13784 ("trivia" ,sbcl-trivia)))
13785 (arguments
13786 `(#:phases
13787 (modify-phases %standard-phases
13788 (add-after 'unpack 'fix-paths
13789 (lambda* (#:key inputs #:allow-other-keys)
13790 (let ((bin (string-append (assoc-ref inputs "coreutils") "/bin")))
13791 (substitute* "cmd.lisp"
13792 (("\"env\"") (format #f "\"~a/env\"" bin))
13793 (("\"pwd\"") (format #f "\"~a/pwd\"" bin)))))))))
13794 (home-page "https://github.com/ruricolist/cmd")
13795 (synopsis "Conveniently run external programs from Common Lisp")
13796 (description
13797 "A utility for running external programs, built on UIOP.
13798 Cmd is designed to be natural to use, protect against shell interpolation and
13799 be usable from multi-threaded programs.")
13800 (license license:expat))))
13801
13802 (define-public ecl-cmd
13803 (sbcl-package->ecl-package sbcl-cmd))
13804
13805 (define-public cl-cmd
13806 (sbcl-package->cl-source-package sbcl-cmd))
13807
13808 (define-public sbcl-ppath
13809 (let ((commit "eb1a8173b4d1d691ea9a7699412123462f58c3ce"))
13810 (package
13811 (name "sbcl-ppath")
13812 (version (git-version "0.1" "1" commit))
13813 (source
13814 (origin
13815 (method git-fetch)
13816 (uri (git-reference
13817 (url "https://github.com/fourier/ppath/")
13818 (commit commit)))
13819 (file-name (git-file-name name commit))
13820 (sha256
13821 (base32 "1c46q9lmzqv14z80d3fwdawgn3pn4922x31fyqvsvbcjm4hd16fb"))))
13822 (build-system asdf-build-system/sbcl)
13823 (inputs
13824 `(("alexandria" ,sbcl-alexandria)
13825 ("cffi" ,sbcl-cffi)
13826 ("osicat" ,sbcl-osicat)
13827 ("ppcre" ,sbcl-cl-ppcre)
13828 ("split-sequence" ,sbcl-split-sequence)
13829 ("trivial-features" ,sbcl-trivial-features)))
13830 (native-inputs
13831 `(("cl-fad" ,sbcl-cl-fad)
13832 ("prove" ,sbcl-prove)))
13833 (home-page "https://github.com/fourier/ppath")
13834 (synopsis "Common Lisp's implementation of the Python's os.path module")
13835 (description
13836 "This library is a path strings manipulation library inspired by
13837 Python's @code{os.path}. All functionality from @code{os.path} is supported on
13838 major operation systems.
13839
13840 The philosophy behind is to use simple strings and \"dumb\" string
13841 manipulation functions to handle paths and filenames. Where possible the
13842 corresponding OS system functions are called.")
13843 (license license:bsd-2))))
13844
13845 (define-public ecl-ppath
13846 (sbcl-package->ecl-package sbcl-ppath))
13847
13848 (define-public cl-ppath
13849 (sbcl-package->cl-source-package sbcl-ppath))
13850
13851 (define-public sbcl-trivial-escapes
13852 (let ((commit "1eca78da2078495d09893be58c28b3aa7b8cc4d1"))
13853 (package
13854 (name "sbcl-trivial-escapes")
13855 (version (git-version "1.2.0" "1" commit))
13856 (source
13857 (origin
13858 (method git-fetch)
13859 (uri (git-reference
13860 (url "https://github.com/williamyaoh/trivial-escapes")
13861 (commit commit)))
13862 (file-name (git-file-name name commit))
13863 (sha256
13864 (base32 "0v6h8lk17iqv1qkxgqjyzn8gi6v0hvq2vmfbb01md3zjvjqxn6lr"))))
13865 (build-system asdf-build-system/sbcl)
13866 (inputs
13867 `(("named-readtables" ,sbcl-named-readtables)))
13868 (native-inputs
13869 `(("fiveam" ,sbcl-fiveam)))
13870 (home-page "https://github.com/williamyaoh/trivial-escapes")
13871 (synopsis "C-style escape directives for Common Lisp")
13872 (description
13873 "This Common Lisp library interprets escape characters the same way that
13874 most other programming language do.
13875 It provides four readtables. The default one lets you write strings like this:
13876 @code{#\"This string has\na newline in it!\"}.")
13877 (license license:public-domain))))
13878
13879 (define-public ecl-trivial-escapes
13880 (sbcl-package->ecl-package sbcl-trivial-escapes))
13881
13882 (define-public cl-trivial-escapes
13883 (sbcl-package->cl-source-package sbcl-trivial-escapes))
13884
13885 (define-public sbcl-cl-indentify
13886 (let ((commit "eb770f434defa4cd41d84bca822428dfd0dbac53"))
13887 (package
13888 (name "sbcl-cl-indentify")
13889 (version (git-version "0.1" "1" commit))
13890 (source
13891 (origin
13892 (method git-fetch)
13893 (uri (git-reference
13894 (url "https://github.com/yitzchak/cl-indentify")
13895 (commit commit)))
13896 (file-name (git-file-name name commit))
13897 (sha256
13898 (base32 "0ha36bhg474vr76vfhr13szc8cfdj1ickg92k1icz791bqaqg67p"))))
13899 (build-system asdf-build-system/sbcl)
13900 (inputs
13901 `(("alexandria" ,sbcl-alexandria)
13902 ("command-line-arguments" ,sbcl-command-line-arguments)
13903 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
13904 (native-inputs
13905 `(("trivial-escapes" ,sbcl-trivial-escapes)
13906 ("rove" ,sbcl-rove)))
13907 (home-page "https://github.com/yitzchak/cl-indentify")
13908 (synopsis "Code beautifier for Common Lisp")
13909 (description
13910 "A library and command line utility to automatically indent Common Lisp
13911 source files.")
13912 (license license:expat))))
13913
13914 (define-public ecl-cl-indentify
13915 (sbcl-package->ecl-package sbcl-cl-indentify))
13916
13917 (define-public cl-indentify
13918 (sbcl-package->cl-source-package sbcl-cl-indentify))
13919
13920 (define-public sbcl-concrete-syntax-tree
13921 (let ((commit "abd242a59dadc5452aa9dbc1d313c83ec2c11f46"))
13922 (package
13923 (name "sbcl-concrete-syntax-tree")
13924 (version (git-version "0.0.0" "1" commit))
13925 (source
13926 (origin
13927 (method git-fetch)
13928 (uri (git-reference
13929 (url "https://github.com/s-expressionists/Concrete-Syntax-Tree")
13930 (commit commit)))
13931 (file-name (git-file-name name commit))
13932 (sha256
13933 (base32 "1lyrglc3h1if44gxd9cwv90wa90nrdjvb7fry39b1xn8ywdfa7di"))))
13934 (build-system asdf-build-system/sbcl)
13935 (inputs
13936 `(("acclimation" ,sbcl-acclimation)))
13937 (home-page "https://github.com/s-expressionists/Concrete-Syntax-Tree")
13938 (synopsis "Parse Common Lisp code into a concrete syntax tree")
13939 (description
13940 "This library is intended to solve the problem of source tracking for
13941 Common Lisp code.
13942
13943 By \"source tracking\", it is meant that code elements that have a known
13944 origin in the form of a position in a file or in an editor buffer are
13945 associated with some kind of information about this origin.
13946
13947 Since the exact nature of such origin information depends on the Common Lisp
13948 implementation and the purpose of wanting to track that origin, the library
13949 does not impose a particular structure of this information. Instead, it
13950 provides utilities for manipulating source code in the form of what is called
13951 concrete syntax trees (CSTs for short) that preserve this information about
13952 the origin.")
13953 (license license:bsd-2))))
13954
13955 (define-public ecl-concrete-syntax-tree
13956 (sbcl-package->ecl-package sbcl-concrete-syntax-tree))
13957
13958 (define-public cl-concrete-syntax-tree
13959 (sbcl-package->cl-source-package sbcl-concrete-syntax-tree))
13960
13961 (define-public sbcl-eclector
13962 (package
13963 (name "sbcl-eclector")
13964 (version "0.5.0")
13965 (source
13966 (origin
13967 (method git-fetch)
13968 (uri (git-reference
13969 (url "https://github.com/s-expressionists/Eclector")
13970 (commit version)))
13971 (file-name (git-file-name name version))
13972 (sha256
13973 (base32 "0bwkla0jdp5bg0q1zca5wg22b0nbdmglgax345nrhsf8bdrh47wm"))))
13974 (build-system asdf-build-system/sbcl)
13975 (inputs
13976 `(("acclimation" ,sbcl-acclimation)
13977 ("alexandria" ,sbcl-alexandria)
13978 ("closer-mop" ,sbcl-closer-mop)
13979 ("concrete-syntax-tree" ,sbcl-concrete-syntax-tree)))
13980 (native-inputs
13981 `(("fiveam" ,sbcl-fiveam)))
13982 (arguments
13983 '(#:asd-systems '("eclector"
13984 "eclector-concrete-syntax-tree")))
13985 (home-page "https://s-expressionists.github.io/Eclector/")
13986 (synopsis "Highly customizable, portable Common Lisp reader")
13987 (description
13988 "Eclector is a portable Common Lisp reader that is highly customizable,
13989 can recover from errors and can return concrete syntax trees.
13990
13991 In contrast to many other reader implementations, eclector can recover from
13992 most errors in the input supplied to it and continue reading. This capability
13993 is realized as a restart.
13994
13995 It can also produce instances of the concrete syntax tree classes provided by
13996 the concrete syntax tree library.")
13997 (license license:bsd-2)))
13998
13999 (define-public ecl-eclector
14000 (sbcl-package->ecl-package sbcl-eclector))
14001
14002 (define-public cl-eclector
14003 (sbcl-package->cl-source-package sbcl-eclector))
14004
14005 (define-public sbcl-jsown
14006 (let ((commit "744c4407bef58dfa876d9da0b5c0205d869e7977"))
14007 (package
14008 (name "sbcl-jsown")
14009 (version (git-version "1.0.1" "1" commit))
14010 (source
14011 (origin
14012 (method git-fetch)
14013 (uri (git-reference
14014 (url "https://github.com/madnificent/jsown")
14015 (commit commit)))
14016 (file-name (git-file-name name commit))
14017 (sha256
14018 (base32 "0gadvmf1d9bq35s61z76psrsnzwwk12svi66jigf491hv48wigw7"))))
14019 (build-system asdf-build-system/sbcl)
14020 (home-page "https://github.com/madnificent/jsown")
14021 (synopsis "Fast JSON reader / writer library for Common Lisp")
14022 (description
14023 "@code{jsown} is a high performance Common Lisp JSON parser. Its aim
14024 is to allow for the fast parsing of JSON objects in Common Lisp. Recently,
14025 functions and macros have been added to ease the burden of writing and editing
14026 @code{jsown} objects.
14027
14028 @code{jsown} allows you to parse JSON objects quickly to a modifiable Lisp
14029 list and write them back. If you only need partial retrieval of objects,
14030 @code{jsown} allows you to select the keys which you would like to see parsed.
14031 @code{jsown} also has a JSON writer and some helper methods to alter the JSON
14032 objects themselves.")
14033 (license license:expat))))
14034
14035 (define-public ecl-jsown
14036 (sbcl-package->ecl-package sbcl-jsown))
14037
14038 (define-public cl-jsown
14039 (sbcl-package->cl-source-package sbcl-jsown))
14040
14041 (define-public sbcl-system-locale
14042 (let ((commit "4b334bc2fa45651bcaa28ae7d9331095d6bf0a17"))
14043 (package
14044 (name "sbcl-system-locale")
14045 (version (git-version "1.0.0" "1" commit))
14046 (source
14047 (origin
14048 (method git-fetch)
14049 (uri (git-reference
14050 (url "https://github.com/Shinmera/system-locale/")
14051 (commit commit)))
14052 (file-name (git-file-name name commit))
14053 (sha256
14054 (base32 "00p5c053kmgq4ks6l9mxsqz6g3bjcybvkvj0bh3r90qgpkaawm1p"))))
14055 (build-system asdf-build-system/sbcl)
14056 (inputs
14057 `(("documentation-utils" ,sbcl-documentation-utils)))
14058 (home-page "https://shinmera.github.io/system-locale/")
14059 (synopsis "Get the system's locale and language settings in Common Lisp")
14060 (description
14061 "This library retrieves locale information configured on the
14062 system. This is helpful if you want to write applications and libraries that
14063 display messages in the user's native language.")
14064 (license license:zlib))))
14065
14066 (define-public ecl-system-locale
14067 (sbcl-package->ecl-package sbcl-system-locale))
14068
14069 (define-public cl-system-locale
14070 (sbcl-package->cl-source-package sbcl-system-locale))
14071
14072 (define-public sbcl-language-codes
14073 (let ((commit "e7aa0e37cb97a3d37d6bc7316b479d01bff8f42e"))
14074 (package
14075 (name "sbcl-language-codes")
14076 (version (git-version "1.0.0" "1" commit))
14077 (source
14078 (origin
14079 (method git-fetch)
14080 (uri (git-reference
14081 (url "https://github.com/Shinmera/language-codes")
14082 (commit commit)))
14083 (file-name (git-file-name name commit))
14084 (sha256
14085 (base32 "0py176ibmsc01n5r0q1bs1ykqf5jwdbh8kx0j1a814l9y51241v0"))))
14086 (build-system asdf-build-system/sbcl)
14087 (inputs
14088 `(("documentation-utils" ,sbcl-documentation-utils)))
14089 (home-page "https://shinmera.github.io/language-codes/")
14090 (synopsis "Map ISO language codes to language names in Common Lisp")
14091 (description
14092 "This is a small library providing the ISO-639 language code to
14093 language name mapping.")
14094 (license license:zlib))))
14095
14096 (define-public ecl-language-codes
14097 (sbcl-package->ecl-package sbcl-language-codes))
14098
14099 (define-public cl-language-codes
14100 (sbcl-package->cl-source-package sbcl-language-codes))
14101
14102 (define-public sbcl-multilang-documentation
14103 (let ((commit "59e798a07e949e8957a20927f52aca425d84e4a0"))
14104 (package
14105 (name "sbcl-multilang-documentation")
14106 (version (git-version "1.0.0" "1" commit))
14107 (source
14108 (origin
14109 (method git-fetch)
14110 (uri (git-reference
14111 (url "https://github.com/Shinmera/multilang-documentation")
14112 (commit commit)))
14113 (file-name (git-file-name name commit))
14114 (sha256
14115 (base32 "13y5jskx8n2b7kimpfarr8v777w3b7zj5swg1b99nj3hk0843ixw"))))
14116 (build-system asdf-build-system/sbcl)
14117 (inputs
14118 `(("documentation-utils" ,sbcl-documentation-utils)
14119 ("language-codes" ,sbcl-language-codes)
14120 ("system-locale" ,sbcl-system-locale)))
14121 (home-page "https://shinmera.github.io/multilang-documentation/")
14122 (synopsis "Add multiple languages support to Common Lisp documentation")
14123 (description
14124 "This library provides a drop-in replacement function for
14125 cl:documentation that supports multiple docstrings per-language, allowing you
14126 to write documentation that can be internationalised.")
14127 (license license:zlib))))
14128
14129 (define-public ecl-multilang-documentation
14130 (sbcl-package->ecl-package sbcl-multilang-documentation))
14131
14132 (define-public cl-multilang-documentation
14133 (sbcl-package->cl-source-package sbcl-multilang-documentation))
14134
14135 (define-public sbcl-trivial-do
14136 (let ((commit "03a1729f1e71bad3ebcf6cf098a0cce52dfa1163"))
14137 (package
14138 (name "sbcl-trivial-do")
14139 (version (git-version "0.1" "1" commit))
14140 (source
14141 (origin
14142 (method git-fetch)
14143 (uri (git-reference
14144 (url "https://github.com/yitzchak/trivial-do")
14145 (commit commit)))
14146 (file-name (git-file-name name commit))
14147 (sha256
14148 (base32 "1ffva79nkicc7wc8c2ic5nayis3b2rk5sxzj74yjkymkjgbpcrgd"))))
14149 (build-system asdf-build-system/sbcl)
14150 (home-page "https://github.com/yitzchak/trivial-do")
14151 (synopsis "Additional dolist style macros for Common Lisp")
14152 (description
14153 "Additional dolist style macros for Common Lisp, such as
14154 @code{doalist}, @code{dohash}, @code{dolist*}, @code{doplist}, @code{doseq}
14155 and @code{doseq*}.")
14156 (license license:zlib))))
14157
14158 (define-public ecl-trivial-do
14159 (sbcl-package->ecl-package sbcl-trivial-do))
14160
14161 (define-public cl-trivial-do
14162 (sbcl-package->cl-source-package sbcl-trivial-do))
14163
14164 (define-public sbcl-common-lisp-jupyter
14165 (let ((commit "61a9a8e7a18e2abd7af7c697ba5146fd19bd9d62"))
14166 (package
14167 (name "sbcl-common-lisp-jupyter")
14168 (version (git-version "0.1" "1" commit))
14169 (source
14170 (origin
14171 (method git-fetch)
14172 (uri (git-reference
14173 (url "https://github.com/yitzchak/common-lisp-jupyter")
14174 (commit commit)))
14175 (file-name (git-file-name name commit))
14176 (sha256
14177 (base32 "0zyzl55l45w9z65ygi5pcwda5w5p1j1bb0p2zg2n5cpv8344dkh2"))))
14178 (build-system asdf-build-system/sbcl)
14179 (inputs
14180 `(("alexandria" ,sbcl-alexandria)
14181 ("babel" ,sbcl-babel)
14182 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14183 ("cl-base64" ,sbcl-cl-base64)
14184 ("cl-indentify" ,sbcl-cl-indentify)
14185 ("closer-mop" ,sbcl-closer-mop)
14186 ("eclector" ,sbcl-eclector)
14187 ("ironclad" ,sbcl-ironclad)
14188 ("iterate" ,sbcl-iterate)
14189 ("jsown" ,sbcl-jsown)
14190 ("multilang-documentation" ,sbcl-multilang-documentation)
14191 ("pzmq" ,sbcl-pzmq)
14192 ("puri" ,sbcl-puri)
14193 ("static-vectors" ,sbcl-static-vectors)
14194 ("trivial-do" ,sbcl-trivial-do)
14195 ("trivial-garbage" ,sbcl-trivial-garbage)
14196 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
14197 ("trivial-mimes" ,sbcl-trivial-mimes)))
14198 (home-page "https://yitzchak.github.io/common-lisp-jupyter/")
14199 (synopsis "Common Lisp kernel for Jupyter")
14200 (description
14201 "This is a Common Lisp kernel for Jupyter along with a library for
14202 building Jupyter kernels, based on Maxima-Jupyter which was based on
14203 @code{cl-jupyter}.")
14204 (license license:zlib))))
14205
14206 (define-public ecl-common-lisp-jupyter
14207 (sbcl-package->ecl-package sbcl-common-lisp-jupyter))
14208
14209 (define-public cl-common-lisp-jupyter
14210 (sbcl-package->cl-source-package sbcl-common-lisp-jupyter))
14211
14212 (define-public sbcl-radiance
14213 (let ((commit "5ffbe1f157edd17a13194495099efd81e052df85")
14214 (revision "1"))
14215 (package
14216 (name "sbcl-radiance")
14217 (version (git-version "2.1.2" revision commit))
14218 (source
14219 (origin
14220 (method git-fetch)
14221 (uri (git-reference
14222 (url "https://github.com/Shirakumo/radiance")
14223 (commit commit)))
14224 (file-name (git-file-name "radiance" version))
14225 (sha256
14226 (base32 "0hbkcnmnlj1cqzbv18zmla2iwbl65kxilz9764hndf8x8as1539c"))))
14227 (build-system asdf-build-system/sbcl)
14228 (arguments
14229 `(#:tests? #f ; TODO: The tests require some configuration.
14230 #:phases
14231 (modify-phases %standard-phases
14232 (add-after 'unpack 'disable-quicklisp
14233 (lambda _
14234 ;; Disable the automatic installation of systems by Quicklisp.
14235 ;; (Maybe there would be a way to package Quicklisp and make it
14236 ;; install things in the user's directory instead of
14237 ;; /gnu/store/...).
14238 (substitute* "interfaces.lisp"
14239 (("\\(unless \\(asdf:find-system configured-implementation NIL\\)"
14240 all)
14241 (string-append "#+quicklisp " all))))))))
14242 (native-inputs
14243 `(("alexandria" ,sbcl-alexandria)
14244 ("dexador" ,sbcl-dexador)
14245 ("parachute" ,sbcl-parachute)
14246 ("verbose" ,sbcl-verbose)))
14247 (inputs
14248 `(("babel" ,sbcl-babel)
14249 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14250 ("cl-ppcre" ,sbcl-cl-ppcre)
14251 ("closer-mop" ,sbcl-closer-mop)
14252 ("documentation-utils" ,sbcl-documentation-utils)
14253 ("deploy" ,sbcl-deploy)
14254 ("form-fiddle" ,sbcl-form-fiddle)
14255 ("lambda-fiddle" ,sbcl-lambda-fiddle)
14256 ("local-time" ,sbcl-local-time)
14257 ("modularize-hooks" ,sbcl-modularize-hooks)
14258 ("modularize-interfaces" ,sbcl-modularize-interfaces)
14259 ("puri" ,sbcl-puri)
14260 ("trivial-indent" ,sbcl-trivial-indent)
14261 ("trivial-mimes" ,sbcl-trivial-mimes)
14262 ("ubiquitous-concurrent" ,sbcl-ubiquitous)))
14263 (home-page "https://shirakumo.github.io/radiance/")
14264 (synopsis "Common Lisp web application environment")
14265 (description
14266 "Radiance is a web application environment, which is sort of like a web
14267 framework, but more general, more flexible. It should let you write personal
14268 websites and generally deployable applications easily and in such a way that
14269 they can be used on practically any setup without having to undergo special
14270 adaptations.")
14271 (license license:zlib))))
14272
14273 (define-public ecl-radiance
14274 (sbcl-package->ecl-package sbcl-radiance))
14275
14276 (define-public cl-radiance
14277 (sbcl-package->cl-source-package sbcl-radiance))