gnu: sbcl-common-lisp-jupyter: Update to 20210217.
[jackhill/guix/guix.git] / gnu / packages / lisp-xyz.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2014 John Darrington <jmd@gnu.org>
3 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
4 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
5 ;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch>
6 ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
7 ;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca>
8 ;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
9 ;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
10 ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
11 ;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
12 ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
13 ;;; Copyright © 2018, 2020, 2021 Pierre Neidhardt <mail@ambrevar.xyz>
14 ;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
15 ;;; Copyright © 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
16 ;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com>
17 ;;; Copyright © 2019, 2020, 2021 Guillaume Le Vaillant <glv@posteo.net>
18 ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
19 ;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
20 ;;; Copyright © 2020 Dimakis Dimakakos <me@bendersteed.tech>
21 ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
22 ;;; Copyright © 2020, 2021 Adam Kandur <rndd@tuta.io>
23 ;;; Copyright © 2020, 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
24 ;;; Copyright © 2021 Aurora <rind38@disroot.org>
25 ;;; Copyright © 2021 Matthew Kraai <kraai@ftbfs.org>
26 ;;;
27 ;;; This file is part of GNU Guix.
28 ;;;
29 ;;; GNU Guix is free software; you can redistribute it and/or modify it
30 ;;; under the terms of the GNU General Public License as published by
31 ;;; the Free Software Foundation; either version 3 of the License, or (at
32 ;;; your option) any later version.
33 ;;;
34 ;;; GNU Guix is distributed in the hope that it will be useful, but
35 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
36 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
37 ;;; GNU General Public License for more details.
38 ;;;
39 ;;; You should have received a copy of the GNU General Public License
40 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
41
42 ;;; This file only contains Common Lisp libraries.
43 ;;; Common Lisp compilers and tooling go to lisp.scm.
44 ;;; Common Lisp applications should go to the most appropriate file,
45 ;;; e.g. StumpWM is in wm.scm.
46
47 (define-module (gnu packages lisp-xyz)
48 #:use-module (gnu packages)
49 #:use-module ((guix licenses) #:prefix license:)
50 #:use-module (guix packages)
51 #:use-module (guix download)
52 #:use-module (guix git-download)
53 #:use-module (guix hg-download)
54 #:use-module (guix utils)
55 #:use-module (guix build-system asdf)
56 #:use-module (guix build-system trivial)
57 #:use-module (gnu packages base)
58 #:use-module (gnu packages c)
59 #:use-module (gnu packages compression)
60 #:use-module (gnu packages databases)
61 #:use-module (gnu packages enchant)
62 #:use-module (gnu packages file)
63 #:use-module (gnu packages fonts)
64 #:use-module (gnu packages fontutils)
65 #:use-module (gnu packages glib)
66 #:use-module (gnu packages gtk)
67 #:use-module (gnu packages imagemagick)
68 #:use-module (gnu packages libevent)
69 #:use-module (gnu packages libffi)
70 #:use-module (gnu packages linux)
71 #:use-module (gnu packages lisp)
72 #:use-module (gnu packages maths)
73 #:use-module (gnu packages mp3)
74 #:use-module (gnu packages networking)
75 #:use-module (gnu packages pkg-config)
76 #:use-module (gnu packages python)
77 #:use-module (gnu packages python-xyz)
78 #:use-module (gnu packages sqlite)
79 #:use-module (gnu packages tcl)
80 #:use-module (gnu packages tls)
81 #:use-module (gnu packages web)
82 #:use-module (gnu packages webkit)
83 #:use-module (gnu packages xdisorg)
84 #:use-module (ice-9 match)
85 #:use-module (srfi srfi-1)
86 #:use-module (srfi srfi-19))
87
88 (define-public sbcl-alexandria
89 (package
90 (name "sbcl-alexandria")
91 (version "1.2")
92 (source
93 (origin
94 (method git-fetch)
95 (uri (git-reference
96 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
97 (commit (string-append "v" version))))
98 (sha256
99 (base32
100 "0bcqs0z9xlqgjz43qzgq9i07vdlnjllpm1wwa37wpkg0w975r712"))
101 (file-name (git-file-name name version))))
102 (build-system asdf-build-system/sbcl)
103 (native-inputs
104 `(("rt" ,sbcl-rt)))
105 (synopsis "Collection of portable utilities for Common Lisp")
106 (description
107 "Alexandria is a collection of portable utilities. It does not contain
108 conceptual extensions to Common Lisp. It is conservative in scope, and
109 portable between implementations.")
110 (home-page "https://common-lisp.net/project/alexandria/")
111 (license license:public-domain)))
112
113 (define-public cl-alexandria
114 (sbcl-package->cl-source-package sbcl-alexandria))
115
116 (define-public ecl-alexandria
117 (sbcl-package->ecl-package sbcl-alexandria))
118
119 (define-public sbcl-golden-utils
120 (let ((commit "9424419d867d5c2f819196ee41667a818a5058e7")
121 (revision "1"))
122 (package
123 (name "sbcl-golden-utils")
124 (version (git-version "0.0.0" revision commit))
125 (source
126 (origin
127 (method git-fetch)
128 (uri (git-reference
129 (url "https://git.mfiano.net/mfiano/golden-utils")
130 (commit commit)))
131 (file-name (git-file-name name version))
132 (sha256
133 (base32 "15x0phm6820yj3h37ibi06gjyh6z45sd2nz2n8lcbfflwm086q0h"))))
134 (build-system asdf-build-system/sbcl)
135 (inputs
136 `(("alexandria" ,sbcl-alexandria)))
137 (home-page "https://git.mfiano.net/mfiano/golden-utils")
138 (synopsis "Common Lisp utility library")
139 (description
140 "This is a Common Lisp library providing various utilities.")
141 (license license:expat))))
142
143 (define-public ecl-golden-utils
144 (sbcl-package->ecl-package sbcl-golden-utils))
145
146 (define-public cl-golden-utils
147 (sbcl-package->cl-source-package sbcl-golden-utils))
148
149 (define-public sbcl-asdf-finalizers
150 (let ((commit "7f537f6c598b662ae987c6acc268dd27c25977e0")
151 (revision "1"))
152 (package
153 (name "sbcl-asdf-finalizers")
154 (version (git-version "0.0.0" revision commit))
155 (source
156 (origin
157 (method git-fetch)
158 (uri (git-reference
159 (url "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
160 (commit commit)))
161 (file-name (git-file-name name version))
162 (sha256
163 (base32 "1w56c9yjjydjshsgqxz57qlp2v3r4ilbisnsgiqphvxnhvd41y0v"))))
164 (build-system asdf-build-system/sbcl)
165 (native-inputs
166 `(("fare-utils" ,sbcl-fare-utils)
167 ("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
168 (arguments
169 `(#:asd-files '("asdf-finalizers.asd"
170 "list-of.asd"
171 "asdf-finalizers-test.asd")
172 #:asd-systems '("asdf-finalizers"
173 "list-of")))
174 (home-page "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
175 (synopsis "Enforced calling of finalizers for Lisp code")
176 (description "This library allows you to implement and enforce proper
177 finalization of compile-time constructs while building Lisp source files.
178
179 It produces two systems: asdf-finalizers and list-of.")
180 (license license:expat))))
181
182 (define-public ecl-asdf-finalizers
183 (sbcl-package->ecl-package sbcl-asdf-finalizers))
184
185 (define-public cl-asdf-finalizers
186 (sbcl-package->cl-source-package sbcl-asdf-finalizers))
187
188 (define-public sbcl-net.didierverna.asdf-flv
189 (package
190 (name "sbcl-net.didierverna.asdf-flv")
191 (version "2.1")
192 (source
193 (origin
194 (method git-fetch)
195 (uri (git-reference
196 (url "https://github.com/didierverna/asdf-flv")
197 (commit (string-append "version-" version))))
198 (file-name (git-file-name "asdf-flv" version))
199 (sha256
200 (base32 "1fi2y4baxan103jbg4idjddzihy03kwnj2mzbwrknw4d4x7xlgwj"))))
201 (build-system asdf-build-system/sbcl)
202 (synopsis "Common Lisp ASDF extension to provide support for file-local variables")
203 (description "ASDF-FLV provides support for file-local variables through
204 ASDF. A file-local variable behaves like @code{*PACKAGE*} and
205 @code{*READTABLE*} with respect to @code{LOAD} and @code{COMPILE-FILE}: a new
206 dynamic binding is created before processing the file, so that any
207 modification to the variable becomes essentially file-local.
208
209 In order to make one or several variables file-local, use the macros
210 @code{SET-FILE-LOCAL-VARIABLE(S)}.")
211 (home-page "https://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv")
212 (license (license:non-copyleft
213 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
214 "GNU All-Permissive License"))))
215
216 (define-public cl-net.didierverna.asdf-flv
217 (sbcl-package->cl-source-package sbcl-net.didierverna.asdf-flv))
218
219 (define-public ecl-net.didierverna.asdf-flv
220 (sbcl-package->ecl-package sbcl-net.didierverna.asdf-flv))
221
222 (define-public sbcl-command-line-arguments
223 (let ((commit "fbac862fb01c0e368141204f3f639920462c23fe")
224 (revision "1"))
225 (package
226 (name "sbcl-command-line-arguments")
227 (version (git-version "2.0.0" revision commit))
228 (source
229 (origin
230 (method git-fetch)
231 (uri (git-reference
232 (url "https://github.com/fare/command-line-arguments")
233 (commit commit)))
234 (file-name (git-file-name name version))
235 (sha256
236 (base32 "054m1ikndzqf72mb9ajaa64136cwr3bgag4yfbi1574a9vq75mjq"))))
237 (build-system asdf-build-system/sbcl)
238 (home-page "https://github.com/fare/command-line-arguments")
239 (synopsis "Trivial command-line argument parsing library for Common Lisp")
240 (description "This is a library to abstract away the parsing of
241 Unix-style command-line arguments. Use it in conjunction with asdf:program-op
242 or cl-launch for portable processing of command-line arguments.")
243 (license license:expat))))
244
245 (define-public ecl-command-line-arguments
246 (sbcl-package->ecl-package sbcl-command-line-arguments))
247
248 (define-public cl-command-line-arguments
249 (sbcl-package->cl-source-package sbcl-command-line-arguments))
250
251 (define-public sbcl-fiveam
252 (package
253 (name "sbcl-fiveam")
254 (version "1.4.1")
255 (source
256 (origin
257 (method git-fetch)
258 (uri (git-reference
259 (url "https://github.com/sionescu/fiveam")
260 (commit (string-append "v" version))))
261 (file-name (git-file-name "fiveam" version))
262 (sha256
263 (base32 "1q3d38pwafnwnw42clq0f8g5xw7pbzr287jl9jsqmb1vb0n1vrli"))))
264 (inputs
265 `(("alexandria" ,sbcl-alexandria)
266 ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
267 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
268 (build-system asdf-build-system/sbcl)
269 (synopsis "Common Lisp testing framework")
270 (description "FiveAM is a simple (as far as writing and running tests
271 goes) regression testing framework. It has been designed with Common Lisp's
272 interactive development model in mind.")
273 (home-page "https://common-lisp.net/project/fiveam/")
274 (license license:bsd-3)))
275
276 (define-public cl-fiveam
277 (sbcl-package->cl-source-package sbcl-fiveam))
278
279 (define-public ecl-fiveam
280 (sbcl-package->ecl-package sbcl-fiveam))
281
282 (define-public sbcl-trivial-timeout
283 (let ((commit "feb869357f40f5e109570fb40abad215fb370c6c")
284 (revision "1"))
285 (package
286 (name "sbcl-trivial-timeout")
287 (version (git-version "0.1.5" revision commit))
288 (source
289 (origin
290 (method git-fetch)
291 (uri (git-reference
292 (url "https://github.com/gwkkwg/trivial-timeout/")
293 (commit commit)))
294 (file-name (git-file-name "trivial-timeout" version))
295 (sha256
296 (base32 "1kninxwvvih9nhh7a9y8lfgi7pdr76675y1clw4ss17vz8fbim5p"))))
297 (build-system asdf-build-system/sbcl)
298 (native-inputs
299 `(("lift" ,sbcl-lift)))
300 (arguments
301 ;; NOTE: (Sharlatan-20210202T231437+0000): Due to the age of this library
302 ;; tests use some deprecated functionality and keep failing.
303 `(#:tests? #f))
304 (home-page "https://github.com/gwkkwg/trivial-timeout/")
305 (synopsis "Timeout library for Common Lisp")
306 (description
307 "This library provides an OS and implementation independent access to
308 timeouts.")
309 (license license:expat))))
310
311 (define-public ecl-trivial-timeout
312 (sbcl-package->ecl-package sbcl-trivial-timeout))
313
314 (define-public cl-trivial-timeout
315 (sbcl-package->cl-source-package sbcl-trivial-timeout))
316
317 (define-public sbcl-bordeaux-threads
318 (package
319 (name "sbcl-bordeaux-threads")
320 (version "0.8.8")
321 (source (origin
322 (method git-fetch)
323 (uri (git-reference
324 (url "https://github.com/sionescu/bordeaux-threads")
325 (commit (string-append "v" version))))
326 (sha256
327 (base32 "19i443fz3488v1pbbr9x24y8h8vlyhny9vj6c9jk5prm702awrp6"))
328 (file-name
329 (git-file-name "bordeaux-threads" version))))
330 (inputs `(("alexandria" ,sbcl-alexandria)))
331 (native-inputs `(("fiveam" ,sbcl-fiveam)))
332 (build-system asdf-build-system/sbcl)
333 (synopsis "Portable shared-state concurrency library for Common Lisp")
334 (description "BORDEAUX-THREADS is a proposed standard for a minimal
335 MP/Threading interface. It is similar to the CLIM-SYS threading and lock
336 support.")
337 (home-page "https://common-lisp.net/project/bordeaux-threads/")
338 (license license:x11)))
339
340 (define-public cl-bordeaux-threads
341 (sbcl-package->cl-source-package sbcl-bordeaux-threads))
342
343 (define-public ecl-bordeaux-threads
344 (sbcl-package->ecl-package sbcl-bordeaux-threads))
345
346 (define-public sbcl-trivial-gray-streams
347 (let ((revision "1")
348 (commit "ebd59b1afed03b9dc8544320f8f432fdf92ab010"))
349 (package
350 (name "sbcl-trivial-gray-streams")
351 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
352 (source
353 (origin
354 (method git-fetch)
355 (uri
356 (git-reference
357 (url "https://github.com/trivial-gray-streams/trivial-gray-streams")
358 (commit commit)))
359 (sha256
360 (base32 "0b1pxlccmnagk9cbh4cy8s5k66g3x0gwib5shjwr24xvrji6lp94"))
361 (file-name
362 (string-append "trivial-gray-streams-" version "-checkout"))))
363 (build-system asdf-build-system/sbcl)
364 (synopsis "Compatibility layer for Gray streams implementations")
365 (description "Gray streams is an interface proposed for inclusion with
366 ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most
367 popular CL implementations implement it. This package provides an extremely
368 thin compatibility layer for gray streams.")
369 (home-page "https://www.cliki.net/trivial-gray-streams")
370 (license license:x11))))
371
372 (define-public cl-trivial-gray-streams
373 (sbcl-package->cl-source-package sbcl-trivial-gray-streams))
374
375 (define-public ecl-trivial-gray-streams
376 (sbcl-package->ecl-package sbcl-trivial-gray-streams))
377
378 (define-public sbcl-fiasco
379 (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
380 (revision "1"))
381 (package
382 (name "sbcl-fiasco")
383 (version (git-version "0.0.1" revision commit))
384 (source
385 (origin
386 (method git-fetch)
387 (uri (git-reference
388 (url "https://github.com/joaotavora/fiasco")
389 (commit commit)))
390 (file-name (git-file-name "fiasco" version))
391 (sha256
392 (base32
393 "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
394 (build-system asdf-build-system/sbcl)
395 (inputs
396 `(("alexandria" ,sbcl-alexandria)
397 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
398 (synopsis "Simple and powerful test framework for Common Lisp")
399 (description "A Common Lisp test framework that treasures your failures,
400 logical continuation of Stefil. It focuses on interactive debugging.")
401 (home-page "https://github.com/joaotavora/fiasco")
402 ;; LICENCE specifies this is public-domain unless the legislation
403 ;; doesn't allow or recognize it. In that case it falls back to a
404 ;; permissive licence.
405 (license (list license:public-domain
406 (license:x11-style "file://LICENCE"))))))
407
408 (define-public cl-fiasco
409 (sbcl-package->cl-source-package sbcl-fiasco))
410
411 (define-public ecl-fiasco
412 (sbcl-package->ecl-package sbcl-fiasco))
413
414 (define-public sbcl-flexi-streams
415 (package
416 (name "sbcl-flexi-streams")
417 (version "1.0.18")
418 (source
419 (origin
420 (method git-fetch)
421 (uri (git-reference
422 (url "https://github.com/edicl/flexi-streams")
423 (commit (string-append "v" version))))
424 (file-name (git-file-name "flexi-streams" version))
425 (sha256
426 (base32 "0bjv7fd2acknidc5dyi3h85pn10krxv5jyxs1xg8jya2rlfv7f1j"))))
427 (build-system asdf-build-system/sbcl)
428 (arguments
429 `(#:phases
430 (modify-phases %standard-phases
431 (add-after 'unpack 'make-git-checkout-writable
432 (lambda _
433 (for-each make-file-writable (find-files "."))
434 #t)))))
435 (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
436 (synopsis "Implementation of virtual bivalent streams for Common Lisp")
437 (description "Flexi-streams is an implementation of \"virtual\" bivalent
438 streams that can be layered atop real binary or bivalent streams and that can
439 be used to read and write character data in various single- or multi-octet
440 encodings which can be changed on the fly. It also supplies in-memory binary
441 streams which are similar to string streams.")
442 (home-page "http://weitz.de/flexi-streams/")
443 (license license:bsd-3)))
444
445 (define-public cl-flexi-streams
446 (sbcl-package->cl-source-package sbcl-flexi-streams))
447
448 (define-public ecl-flexi-streams
449 (sbcl-package->ecl-package sbcl-flexi-streams))
450
451 (define-public sbcl-cl-abnf
452 ;; There are no releases
453 (let ((commit "ba1fbb104dedbdaddb1ef93d2e4da711bd96cd70")
454 (revision "1"))
455 (package
456 (name "sbcl-cl-abnf")
457 (version (git-version "0.0.0" revision commit))
458 (source
459 (origin
460 (method git-fetch)
461 (uri (git-reference
462 (url "https://github.com/dimitri/cl-abnf")
463 (commit commit)))
464 (file-name (git-file-name "cl-abnf" version))
465 (sha256
466 (base32 "0f09nsndxa90acm71zd4qdnp40v705a4sqm04mnv9x76h6dlggmz"))))
467 (build-system asdf-build-system/sbcl)
468 (inputs
469 `(("cl-ppcre" ,sbcl-cl-ppcre)
470 ("esrap" ,sbcl-esrap)))
471 (arguments
472 `(#:asd-systems '("abnf")))
473 (home-page "https://github.com/dimitri/cl-abnf")
474 (synopsis "ABNF parser generator for Common Lisp")
475 (description "This Common Lisp library implements a parser generator for
476 the ABNF grammar format as described in RFC2234. The generated parser is a
477 regular expression scanner provided by the cl-ppcre lib, which means that we
478 can't parse recursive grammar definition. One such definition is the ABNF
479 definition as given by the RFC. Fortunately, as you have this lib, you most
480 probably don't need to generate another parser to handle that particular ABNF
481 grammar.")
482 (license license:expat))))
483
484 (define-public cl-abnf
485 (sbcl-package->cl-source-package sbcl-cl-abnf))
486
487 (define-public ecl-cl-abnf
488 (sbcl-package->ecl-package sbcl-cl-abnf))
489
490 (define-public sbcl-cl-ppcre
491 (package
492 (name "sbcl-cl-ppcre")
493 (version "2.1.1")
494 (source
495 (origin
496 (method git-fetch)
497 (uri (git-reference
498 (url "https://github.com/edicl/cl-ppcre")
499 (commit (string-append "v" version))))
500 (file-name (git-file-name "cl-ppcre" version))
501 (sha256
502 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
503 (build-system asdf-build-system/sbcl)
504 (native-inputs
505 `(("flexi-streams" ,sbcl-flexi-streams)))
506 (arguments
507 `(#:phases
508 (modify-phases %standard-phases
509 (add-after 'unpack 'disable-ppcre-unicode
510 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
511 ;; to work around the circular dependency between edicl/cl-ppcre
512 ;; and edicl/cl-unicode.
513 (lambda _
514 (delete-file "cl-ppcre-unicode.asd")
515 #t)))))
516 (synopsis "Portable regular expression library for Common Lisp")
517 (description "CL-PPCRE is a portable regular expression library for Common
518 Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
519 compatible with ANSI-compliant Common Lisp implementations.")
520 (home-page "http://weitz.de/cl-ppcre/")
521 (license license:bsd-2)))
522
523 (define-public cl-ppcre
524 (sbcl-package->cl-source-package sbcl-cl-ppcre))
525
526 (define-public ecl-cl-ppcre
527 (sbcl-package->ecl-package sbcl-cl-ppcre))
528
529 (define-public sbcl-ubiquitous
530 (let ((commit "35eb7bd9e1b3daee1705f6b41260775180cce8af")
531 (revision "1"))
532 (package
533 (name "sbcl-ubiquitous")
534 (version (git-version "2.0.0" revision commit))
535 (source
536 (origin
537 (method git-fetch)
538 (uri (git-reference
539 (url "https://github.com/Shinmera/ubiquitous")
540 (commit commit)))
541 (file-name (git-file-name "ubiquitous" version))
542 (sha256
543 (base32 "1xlkaqmjcpkiv2xl2s2pvvrv976dlc846wm16s1lj62iy1315i49"))))
544 (build-system asdf-build-system/sbcl)
545 (inputs
546 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
547 (arguments
548 '(#:asd-systems '("ubiquitous"
549 "ubiquitous-concurrent")))
550 (home-page "https://shinmera.github.io/ubiquitous/")
551 (synopsis "Application configuration mechanism for Common Lisp")
552 (description
553 "@code{UBIQUITOUS} is a very easy-to-use library for persistent
554 configuration storage. It automatically takes care of finding a suitable place
555 to save your data, and provides simple functions to access and modify the data
556 within.")
557 (license license:zlib))))
558
559 (define-public ecl-ubiquitous
560 (sbcl-package->ecl-package sbcl-ubiquitous))
561
562 (define-public cl-ubiquitous
563 (sbcl-package->cl-source-package sbcl-ubiquitous))
564
565 (define-public sbcl-uax-15
566 (package
567 (name "sbcl-uax-15")
568 (version "0.1.1")
569 (source
570 (origin
571 (method git-fetch)
572 (uri (git-reference
573 (url "https://github.com/sabracrolleton/uax-15")
574 (commit (string-append "v" version))))
575 (file-name (git-file-name "uax-15" version))
576 (sha256
577 (base32 "0p2ckw7mzxhwa9vbwj2q2dzayz9dl94d9yqd2ynp0pc5v8i0n2fr"))))
578 (build-system asdf-build-system/sbcl)
579 (arguments
580 `(#:asd-systems
581 '("uax-15")))
582 (native-inputs
583 `(("fiveam" ,sbcl-fiveam)))
584 (inputs
585 `(("cl-ppcre" ,sbcl-cl-ppcre)
586 ("split-sequence" ,sbcl-split-sequence)))
587 (home-page "https://github.com/sabracrolleton/uax-15")
588 (synopsis "Common Lisp implementation of unicode normalization functions")
589 (description
590 "This package provides supports for unicode normalization, RFC8264 and
591 RFC7564.")
592 (license license:expat)))
593
594 (define-public cl-uax-15
595 (sbcl-package->cl-source-package sbcl-uax-15))
596
597 (define-public ecl-uax-15
598 (sbcl-package->ecl-package sbcl-uax-15))
599
600 (define-public sbcl-cl-unicode
601 (package
602 (name "sbcl-cl-unicode")
603 (version "0.1.6")
604 (source (origin
605 (method git-fetch)
606 (uri (git-reference
607 (url "https://github.com/edicl/cl-unicode")
608 (commit (string-append "v" version))))
609 (file-name (git-file-name name version))
610 (sha256
611 (base32
612 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
613 (build-system asdf-build-system/sbcl)
614 (native-inputs
615 `(("flexi-streams" ,sbcl-flexi-streams)))
616 (inputs
617 `(("cl-ppcre" ,sbcl-cl-ppcre)))
618 (home-page "http://weitz.de/cl-unicode/")
619 (synopsis "Portable Unicode library for Common Lisp")
620 (description "CL-UNICODE is a portable Unicode library Common Lisp, which
621 is compatible with perl. It is pretty fast, thread-safe, and compatible with
622 ANSI-compliant Common Lisp implementations.")
623 (license license:bsd-2)))
624
625 (define-public ecl-cl-unicode
626 (sbcl-package->ecl-package sbcl-cl-unicode))
627
628 (define-public cl-unicode
629 (sbcl-package->cl-source-package sbcl-cl-unicode))
630
631 (define-public sbcl-cl-ppcre-unicode
632 (package (inherit sbcl-cl-ppcre)
633 (name "sbcl-cl-ppcre-unicode")
634 (inputs
635 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
636 ("sbcl-cl-unicode" ,sbcl-cl-unicode)))
637 (arguments
638 `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found"
639 #:phases
640 (modify-phases %standard-phases
641 (add-after 'unpack 'disable-ppcre
642 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
643 ;; to work around the circular dependency between edicl/cl-ppcre
644 ;; and edicl/cl-unicode.
645 (lambda _
646 (delete-file "cl-ppcre.asd")
647 #t)))))))
648
649 (define-public cl-ppcre-unicode
650 (sbcl-package->cl-source-package sbcl-cl-ppcre-unicode))
651
652 (define-public ecl-cl-ppcre-unicode
653 (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
654
655 (define-public sbcl-zpb-ttf
656 (package
657 (name "sbcl-zpb-ttf")
658 (version "1.0.3")
659 (source
660 (origin
661 (method git-fetch)
662 (uri (git-reference
663 (url "https://github.com/xach/zpb-ttf")
664 (commit (string-append "release-" version))))
665 (file-name (git-file-name name version))
666 (sha256
667 (base32
668 "1wh66vjijzqlydnrihynpwp6796917xwrh0i9li93c17kyxa74ih"))))
669 (build-system asdf-build-system/sbcl)
670 (home-page "https://github.com/xach/zpb-ttf")
671 (synopsis "TrueType font file access for Common Lisp")
672 (description
673 "ZPB-TTF is a TrueType font file parser that provides an interface for
674 reading typographic metrics, glyph outlines, and other information from the
675 file.")
676 (license license:bsd-2)))
677
678 (define-public ecl-zpb-ttf
679 (sbcl-package->ecl-package sbcl-zpb-ttf))
680
681 (define-public cl-zpb-ttf
682 (sbcl-package->cl-source-package sbcl-zpb-ttf))
683
684 (define-public sbcl-cl-vectors
685 (package
686 (name "sbcl-cl-vectors")
687 (version "0.1.5")
688 (source
689 (origin
690 (method url-fetch)
691 (uri (string-append "http://projects.tuxee.net/cl-vectors/"
692 "files/cl-vectors-" version ".tar.gz"))
693 (sha256
694 (base32
695 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh"))))
696 (build-system asdf-build-system/sbcl)
697 (inputs
698 `(("zpb-ttf" ,sbcl-zpb-ttf)))
699 (arguments
700 '(#:asd-systems '("cl-vectors"
701 "cl-paths-ttf")))
702 (home-page "http://projects.tuxee.net/cl-vectors/")
703 (synopsis "Create, transform and render anti-aliased vectorial paths")
704 (description
705 "This is a pure Common Lisp library to create, transform and render
706 anti-aliased vectorial paths.")
707 (license license:expat)))
708
709 (define-public ecl-cl-vectors
710 (sbcl-package->ecl-package sbcl-cl-vectors))
711
712 (define-public cl-vectors
713 (sbcl-package->cl-source-package sbcl-cl-vectors))
714
715 (define-public sbcl-spatial-trees
716 ;; There have been no releases.
717 (let ((commit "81fdad0a0bf109c80a53cc96eca2e093823400ba")
718 (revision "1"))
719 (package
720 (name "sbcl-spatial-trees")
721 (version (git-version "0" revision commit))
722 (source
723 (origin
724 (method git-fetch)
725 (uri (git-reference
726 (url "https://github.com/rpav/spatial-trees")
727 (commit commit)))
728 (file-name (git-file-name name version))
729 (sha256
730 (base32
731 "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"))))
732 (build-system asdf-build-system/sbcl)
733 (arguments
734 '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns
735 #:test-asd-file "spatial-trees.test.asd"))
736 (native-inputs
737 `(("fiveam" ,sbcl-fiveam)))
738 (home-page "https://github.com/rpav/spatial-trees")
739 (synopsis "Dynamic index data structures for spatially-extended data")
740 (description
741 "Spatial-trees is a set of dynamic index data structures for
742 spatially-extended data.")
743 (license license:bsd-3))))
744
745 (define-public ecl-spatial-trees
746 (sbcl-package->ecl-package sbcl-spatial-trees))
747
748 (define-public cl-spatial-trees
749 (sbcl-package->cl-source-package sbcl-spatial-trees))
750
751 (define-public sbcl-flexichain
752 ;; There are no releases.
753 (let ((commit "13d2a6c505ed0abfcd4c4ec7d7145059b06855d6")
754 (revision "1"))
755 (package
756 (name "sbcl-flexichain")
757 (version "1.5.1")
758 (source
759 (origin
760 (method git-fetch)
761 (uri (git-reference
762 (url "https://github.com/robert-strandh/Flexichain")
763 (commit commit)))
764 (file-name (git-file-name name version))
765 (sha256
766 (base32
767 "0pfyvhsfbjd2sjb30grfs52r51a428xglv7bwydvpg2lc117qimg"))))
768 (build-system asdf-build-system/sbcl)
769 (home-page "https://github.com/robert-strandh/Flexichain.git")
770 (synopsis "Dynamically add elements to or remove them from sequences")
771 (description
772 "This package provides an implementation of the flexichain protocol,
773 allowing client code to dynamically add elements to, and delete elements from
774 a sequence (or chain) of such elements.")
775 (license license:lgpl2.1+))))
776
777 (define-public ecl-flexichain
778 (sbcl-package->ecl-package sbcl-flexichain))
779
780 (define-public cl-flexichain
781 (sbcl-package->cl-source-package sbcl-flexichain))
782
783 (define-public sbcl-cl-pdf
784 ;; There are no releases
785 (let ((commit "752e337e6d6fc206f09d091a982e7f8e5c404e4e")
786 (revision "1"))
787 (package
788 (name "sbcl-cl-pdf")
789 (version (git-version "0" revision commit))
790 (source
791 (origin
792 (method git-fetch)
793 (uri (git-reference
794 (url "https://github.com/mbattyani/cl-pdf")
795 (commit commit)))
796 (file-name (git-file-name name version))
797 (sha256
798 (base32
799 "1cg3k3m3r11ipb8j008y8ipynj97l3xjlpi2knqc9ndmx4r3kb1r"))))
800 (build-system asdf-build-system/sbcl)
801 (inputs
802 `(("iterate" ,sbcl-iterate)
803 ("zpb-ttf" ,sbcl-zpb-ttf)))
804 (home-page "https://github.com/mbattyani/cl-pdf")
805 (synopsis "Common Lisp library for generating PDF files")
806 (description
807 "CL-PDF is a cross-platform Common Lisp library for generating PDF
808 files.")
809 (license license:bsd-2))))
810
811 (define-public ecl-cl-pdf
812 (sbcl-package->ecl-package sbcl-cl-pdf))
813
814 (define-public cl-pdf
815 (sbcl-package->cl-source-package sbcl-cl-pdf))
816
817 (define-public sbcl-clx
818 (package
819 (name "sbcl-clx")
820 (version "0.7.5")
821 (source
822 (origin
823 (method git-fetch)
824 (uri
825 (git-reference
826 (url "https://github.com/sharplispers/clx")
827 (commit version)))
828 (sha256
829 (base32
830 "1vi67z9hpj5rr4xcmfbfwzmlcc0ah7hzhrmfid6lqdkva238v2wf"))
831 (file-name (string-append "clx-" version))))
832 (build-system asdf-build-system/sbcl)
833 (native-inputs
834 `(("fiasco" ,sbcl-fiasco)))
835 (home-page "https://www.cliki.net/portable-clx")
836 (synopsis "X11 client library for Common Lisp")
837 (description "CLX is an X11 client library for Common Lisp. The code was
838 originally taken from a CMUCL distribution, was modified somewhat in order to
839 make it compile and run under SBCL, then a selection of patches were added
840 from other CLXes around the net.")
841 (license license:x11)))
842
843 (define-public cl-clx
844 (sbcl-package->cl-source-package sbcl-clx))
845
846 (define-public ecl-clx
847 (sbcl-package->ecl-package sbcl-clx))
848
849 (define-public sbcl-clx-truetype
850 (let ((commit "c6e10a918d46632324d5863a8ed067a83fc26de8")
851 (revision "1"))
852 (package
853 (name "sbcl-clx-truetype")
854 (version (git-version "0.0.1" revision commit))
855 (source
856 (origin
857 (method git-fetch)
858 (uri (git-reference
859 (url "https://github.com/l04m33/clx-truetype")
860 (commit commit)))
861 (file-name (git-file-name name version))
862 (sha256
863 (base32
864 "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37"))
865 (modules '((guix build utils)))
866 (snippet
867 '(begin
868 (substitute* "package.lisp"
869 ((":export") ":export\n :+font-cache-filename+"))
870 #t))))
871 (build-system asdf-build-system/sbcl)
872 (inputs
873 `(("clx" ,sbcl-clx)
874 ("zpb-ttf" ,sbcl-zpb-ttf)
875 ("cl-vectors" ,sbcl-cl-vectors)
876 ("cl-fad" ,sbcl-cl-fad)
877 ("cl-store" ,sbcl-cl-store)
878 ("trivial-features" ,sbcl-trivial-features)))
879 (home-page "https://github.com/l04m33/clx-truetype")
880 (synopsis "Antialiased TrueType font rendering using CLX and XRender")
881 (description "CLX-TrueType is pure common lisp solution for
882 antialiased TrueType font rendering using CLX and XRender extension.")
883 (license license:expat))))
884
885 (define-public cl-clx-truetype
886 (sbcl-package->cl-source-package sbcl-clx-truetype))
887
888 (define-public ecl-clx-truetype
889 (sbcl-package->ecl-package sbcl-clx-truetype))
890
891 (define-public sbcl-slynk
892 (let ((commit "0f46f91a9542599d62c0c332b39636b2941ea372"))
893 (package
894 (name "sbcl-slynk")
895 (version (git-version "1.0.43" "3" commit))
896 (source
897 (origin
898 (method git-fetch)
899 (uri
900 (git-reference
901 (url "https://github.com/joaotavora/sly")
902 (commit commit)))
903 (sha256
904 (base32 "0p3j0zylacy6vms8ngis2hx2351xnwfzsw3zy043q6vmqd14wrf1"))
905 (file-name (git-file-name "slynk" version))))
906 (build-system asdf-build-system/sbcl)
907 (outputs '("out" "image"))
908 (arguments
909 `(#:phases
910 (modify-phases %standard-phases
911 (add-after 'create-asdf-configuration 'build-image
912 (lambda* (#:key outputs #:allow-other-keys)
913 (build-image (string-append
914 (assoc-ref %outputs "image")
915 "/bin/slynk")
916 %outputs
917 #:dependencies '("slynk"
918 "slynk/arglists"
919 "slynk/fancy-inspector"
920 "slynk/package-fu"
921 "slynk/mrepl"
922 "slynk/trace-dialog"
923 "slynk/profiler"
924 "slynk/stickers"
925 "slynk/indentation"
926 "slynk/retro"))
927 #t)))))
928 (synopsis "Common Lisp IDE for Emacs")
929 (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
930 It also features a completely redesigned REPL based on Emacs's own
931 full-featured @code{comint-mode}, live code annotations, and a consistent interactive
932 button interface. Everything can be copied to the REPL. One can create
933 multiple inspectors with independent history.")
934 (home-page "https://github.com/joaotavora/sly")
935 (license license:public-domain)
936 (properties `((cl-source-variant . ,(delay cl-slynk)))))))
937
938 (define-public cl-slynk
939 (sbcl-package->cl-source-package sbcl-slynk))
940
941 (define-public ecl-slynk
942 (let ((pkg (sbcl-package->ecl-package sbcl-slynk)))
943 (package
944 (inherit pkg)
945 (outputs '("out"))
946 (arguments
947 (substitute-keyword-arguments (package-arguments pkg)
948 ((#:phases phases)
949 `(modify-phases ,phases
950 (delete 'build-image))))))))
951
952 (define-public sbcl-parse-js
953 (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
954 (revision "1"))
955 (package
956 (name "sbcl-parse-js")
957 (version (string-append "0.0.0-" revision "." (string-take commit 9)))
958 (source
959 (origin
960 (method git-fetch)
961 (uri (git-reference
962 (url "http://marijn.haverbeke.nl/git/parse-js")
963 (commit commit)))
964 (file-name (string-append name "-" commit "-checkout"))
965 (sha256
966 (base32
967 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
968 (build-system asdf-build-system/sbcl)
969 (home-page "https://marijnhaverbeke.nl/parse-js/")
970 (synopsis "Parse JavaScript")
971 (description "Parse-js is a Common Lisp package for parsing
972 JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
973 (license license:zlib))))
974
975 (define-public cl-parse-js
976 (sbcl-package->cl-source-package sbcl-parse-js))
977
978 (define-public ecl-parse-js
979 (sbcl-package->ecl-package sbcl-parse-js))
980
981 (define-public sbcl-parse-number
982 (package
983 (name "sbcl-parse-number")
984 (version "1.7")
985 (source
986 (origin
987 (method git-fetch)
988 (uri (git-reference
989 (url "https://github.com/sharplispers/parse-number/")
990 (commit (string-append "v" version))))
991 (file-name (git-file-name name version))
992 (sha256
993 (base32
994 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"))))
995 (build-system asdf-build-system/sbcl)
996 (home-page "https://www.cliki.net/PARSE-NUMBER")
997 (synopsis "Parse numbers")
998 (description "@code{parse-number} is a library of functions for parsing
999 strings into one of the standard Common Lisp number types without using the
1000 reader. @code{parse-number} accepts an arbitrary string and attempts to parse
1001 the string into one of the standard Common Lisp number types, if possible, or
1002 else @code{parse-number} signals an error of type @code{invalid-number}.")
1003 (license license:bsd-3)))
1004
1005 (define-public cl-parse-number
1006 (sbcl-package->cl-source-package sbcl-parse-number))
1007
1008 (define-public ecl-parse-number
1009 (sbcl-package->ecl-package sbcl-parse-number))
1010
1011 (define-public sbcl-iterate
1012 (package
1013 (name "sbcl-iterate")
1014 (version "1.5")
1015 (source
1016 (origin
1017 (method url-fetch)
1018 (uri (string-append "https://common-lisp.net/project/iterate/releases/"
1019 "iterate-" version ".tar.gz"))
1020 (sha256
1021 (base32
1022 "1lqsbhrkfl0yif46aymvb7l3nb9wdcmj4jyw485blj32jb4famzn"))))
1023 (build-system asdf-build-system/sbcl)
1024 (native-inputs
1025 `(("rt" ,sbcl-rt)))
1026 (home-page "https://common-lisp.net/project/iterate/")
1027 (synopsis "Iteration construct for Common Lisp")
1028 (description "@code{iterate} is an iteration construct for Common Lisp.
1029 It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
1030
1031 @itemize
1032 @item it is extensible,
1033 @item it helps editors like Emacs indent iterate forms by having a more
1034 lisp-like syntax, and
1035 @item it isn't part of the ANSI standard for Common Lisp.
1036 @end itemize\n")
1037 (license license:expat)))
1038
1039 (define-public cl-iterate
1040 (sbcl-package->cl-source-package sbcl-iterate))
1041
1042 (define-public ecl-iterate
1043 (sbcl-package->ecl-package sbcl-iterate))
1044
1045 (define-public sbcl-cl-uglify-js
1046 ;; There have been many bug fixes since the 2010 release.
1047 (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
1048 (revision "1"))
1049 (package
1050 (name "sbcl-cl-uglify-js")
1051 (version (string-append "0.1-" revision "." (string-take commit 9)))
1052 (source
1053 (origin
1054 (method git-fetch)
1055 (uri (git-reference
1056 (url "https://github.com/mishoo/cl-uglify-js")
1057 (commit commit)))
1058 (file-name (git-file-name name version))
1059 (sha256
1060 (base32
1061 "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"))))
1062 (build-system asdf-build-system/sbcl)
1063 (inputs
1064 `(("sbcl-parse-js" ,sbcl-parse-js)
1065 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
1066 ("sbcl-cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
1067 ("sbcl-parse-number" ,sbcl-parse-number)
1068 ("sbcl-iterate" ,sbcl-iterate)))
1069 (home-page "https://github.com/mishoo/cl-uglify-js")
1070 (synopsis "JavaScript compressor library for Common Lisp")
1071 (description "This is a Common Lisp version of UglifyJS, a JavaScript
1072 compressor. It works on data produced by @code{parse-js} to generate a
1073 @dfn{minified} version of the code. Currently it can:
1074
1075 @itemize
1076 @item reduce variable names (usually to single letters)
1077 @item join consecutive @code{var} statements
1078 @item resolve simple binary expressions
1079 @item group most consecutive statements using the @code{sequence} operator (comma)
1080 @item remove unnecessary blocks
1081 @item convert @code{IF} expressions in various ways that result in smaller code
1082 @item remove some unreachable code
1083 @end itemize\n")
1084 (license license:zlib))))
1085
1086 (define-public cl-uglify-js
1087 (sbcl-package->cl-source-package sbcl-cl-uglify-js))
1088
1089 (define-public ecl-cl-uglify-js
1090 (sbcl-package->ecl-package sbcl-cl-uglify-js))
1091
1092 (define-public uglify-js
1093 (package
1094 (inherit sbcl-cl-uglify-js)
1095 (name "uglify-js")
1096 (build-system trivial-build-system)
1097 (arguments
1098 `(#:modules ((guix build utils))
1099 #:builder
1100 (let* ((bin (string-append (assoc-ref %outputs "out") "/bin/"))
1101 (script (string-append bin "uglify-js")))
1102 (use-modules (guix build utils))
1103 (mkdir-p bin)
1104 (with-output-to-file script
1105 (lambda _
1106 (format #t "#!~a/bin/sbcl --script
1107
1108 (require :asdf)
1109 (asdf:initialize-source-registry
1110 #p\"~a/etc/common-lisp/source-registry.conf.d/\")
1111 (asdf:initialize-output-translations
1112 #p\"~a/etc/common-lisp/asdf-output-translations.conf.d/\")"
1113 (assoc-ref %build-inputs "sbcl")
1114 (assoc-ref %build-inputs "sbcl-cl-uglify-js")
1115 (assoc-ref %build-inputs "sbcl-cl-uglify-js"))
1116 ;; FIXME: cannot use progn here because otherwise it fails to
1117 ;; find cl-uglify-js.
1118 (for-each
1119 write
1120 '(;; Quiet, please!
1121 (let ((*standard-output* (make-broadcast-stream))
1122 (*error-output* (make-broadcast-stream)))
1123 (asdf:load-system :cl-uglify-js))
1124 (let ((file (cadr *posix-argv*)))
1125 (if file
1126 (format t "~a"
1127 (cl-uglify-js:ast-gen-code
1128 (cl-uglify-js:ast-mangle
1129 (cl-uglify-js:ast-squeeze
1130 (with-open-file (in file)
1131 (parse-js:parse-js in))))
1132 :beautify nil))
1133 (progn
1134 (format *error-output*
1135 "Please provide a JavaScript file.~%")
1136 (sb-ext:exit :code 1))))))))
1137 (chmod script #o755)
1138 #t)))
1139 (inputs
1140 `(("sbcl" ,sbcl)
1141 ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
1142 (synopsis "JavaScript compressor")))
1143
1144 (define-public sbcl-cl-strings
1145 (let ((revision "1")
1146 (commit "c5c5cbafbf3e6181d03c354d66e41a4f063f00ae"))
1147 (package
1148 (name "sbcl-cl-strings")
1149 (version (git-version "0.0.0" revision commit))
1150 (source
1151 (origin
1152 (method git-fetch)
1153 (uri (git-reference
1154 (url "https://github.com/diogoalexandrefranco/cl-strings")
1155 (commit commit)))
1156 (sha256
1157 (base32
1158 "00754mfaqallj480lwd346nkfb6ra8pa8xcxcylf4baqn604zlmv"))
1159 (file-name (string-append "cl-strings-" version "-checkout"))))
1160 (build-system asdf-build-system/sbcl)
1161 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
1162 (description
1163 "@command{cl-strings} is a small, portable, dependency-free set of
1164 utilities that make it even easier to manipulate text in Common Lisp. It has
1165 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
1166 (home-page "https://github.com/diogoalexandrefranco/cl-strings")
1167 (license license:expat))))
1168
1169 (define-public cl-strings
1170 (sbcl-package->cl-source-package sbcl-cl-strings))
1171
1172 (define-public ecl-cl-strings
1173 (sbcl-package->ecl-package sbcl-cl-strings))
1174
1175 (define-public sbcl-trivial-features
1176 ;; No release since 2014.
1177 (let ((commit "870d03de0ed44067963350936856e17ee725153e"))
1178 (package
1179 (name "sbcl-trivial-features")
1180 (version (git-version "0.8" "1" commit))
1181 (source
1182 (origin
1183 (method git-fetch)
1184 (uri (git-reference
1185 (url "https://github.com/trivial-features/trivial-features")
1186 (commit commit)))
1187 (file-name (git-file-name "trivial-features" version))
1188 (sha256
1189 (base32 "14pcahr8r2j3idhyy216zyw8jnj1dnrx0qbkkbdqkvwzign1ah4j"))))
1190 (build-system asdf-build-system/sbcl)
1191 (arguments
1192 '(#:asd-files '("trivial-features.asd")
1193 #:tests? #f))
1194 (home-page "https://cliki.net/trivial-features")
1195 (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
1196 (description "Trivial-features ensures that @code{*FEATURES*} is
1197 consistent across multiple Common Lisp implementations.")
1198 (license license:expat))))
1199
1200 (define-public cl-trivial-features
1201 (sbcl-package->cl-source-package sbcl-trivial-features))
1202
1203 (define-public ecl-trivial-features
1204 (sbcl-package->ecl-package sbcl-trivial-features))
1205
1206 (define-public sbcl-hu.dwim.asdf
1207 (package
1208 (name "sbcl-hu.dwim.asdf")
1209 (version "20190521")
1210 (source
1211 (origin
1212 (method url-fetch)
1213 (uri (string-append "http://beta.quicklisp.org/archive/hu.dwim.asdf/"
1214 "2019-05-21/hu.dwim.asdf-" version "-darcs.tgz"))
1215 (sha256
1216 (base32
1217 "0rsbv71vyszy8w35yjwb5h6zcmknjq223hkzir79y72qdsc6sabn"))))
1218 (build-system asdf-build-system/sbcl)
1219 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.asdf")
1220 (synopsis "Extensions to ASDF")
1221 (description "Various ASDF extensions such as attached test and
1222 documentation system, explicit development support, etc.")
1223 (license license:public-domain)))
1224
1225 (define-public cl-hu.dwim.asdf
1226 (sbcl-package->cl-source-package sbcl-hu.dwim.asdf))
1227
1228 (define-public ecl-hu.dwim.asdf
1229 (sbcl-package->ecl-package sbcl-hu.dwim.asdf))
1230
1231 (define-public sbcl-hu.dwim.stefil
1232 (let ((commit "ab6d1aa8995878a1b66d745dfd0ba021090bbcf9"))
1233 (package
1234 (name "sbcl-hu.dwim.stefil")
1235 (version (git-version "0.0.0" "1" commit))
1236 (source
1237 (origin
1238 (method git-fetch)
1239 (uri
1240 (git-reference
1241 (url "https://gitlab.common-lisp.net/xcvb/hu.dwim.stefil.git")
1242 (commit commit)))
1243 (sha256
1244 (base32 "1d8yccw65zj3zh46cbi3x6nmn1dwdb76s9d0av035077mvyirqqp"))
1245 (file-name (git-file-name "hu.dwim.stefil" version))))
1246 (build-system asdf-build-system/sbcl)
1247 (native-inputs
1248 `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
1249 (inputs
1250 `(("sbcl-alexandria" ,sbcl-alexandria)))
1251 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.stefil")
1252 (synopsis "Simple test framework")
1253 (description "Stefil is a simple test framework for Common Lisp,
1254 with a focus on interactive development.")
1255 (license license:public-domain))))
1256
1257 (define-public cl-hu.dwim.stefil
1258 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
1259
1260 (define-public ecl-hu.dwim.stefil
1261 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
1262
1263 (define-public sbcl-babel
1264 ;; No release since 2014.
1265 (let ((commit "aeed2d1b76358db48e6b70a64399c05678a6b9ea"))
1266 (package
1267 (name "sbcl-babel")
1268 (version (git-version "0.5.0" "1" commit))
1269 (source
1270 (origin
1271 (method git-fetch)
1272 (uri (git-reference
1273 (url "https://github.com/cl-babel/babel")
1274 (commit commit)))
1275 (file-name (git-file-name "babel" version))
1276 (sha256
1277 (base32 "0lkvv4xdpv4cv1y2bqillmabx8sdb2y4l6pbinq6mjh33w2brpvb"))))
1278 (build-system asdf-build-system/sbcl)
1279 (native-inputs
1280 `(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
1281 (inputs
1282 `(("sbcl-alexandria" ,sbcl-alexandria)
1283 ("sbcl-trivial-features" ,sbcl-trivial-features)))
1284 (home-page "https://common-lisp.net/project/babel/")
1285 (synopsis "Charset encoding and decoding library")
1286 (description "Babel is a charset encoding and decoding library, not unlike
1287 GNU libiconv, but completely written in Common Lisp.")
1288 (license license:expat))))
1289
1290 (define-public cl-babel
1291 (sbcl-package->cl-source-package sbcl-babel))
1292
1293 (define-public ecl-babel
1294 (sbcl-package->ecl-package sbcl-babel))
1295
1296 (define-public sbcl-cl-yacc
1297 (package
1298 (name "sbcl-cl-yacc")
1299 (version "0.3")
1300 (source
1301 (origin
1302 (method git-fetch)
1303 (uri (git-reference
1304 (url "https://github.com/jech/cl-yacc")
1305 (commit (string-append "cl-yacc-" version))))
1306 (sha256
1307 (base32
1308 "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib"))
1309 (file-name (string-append "cl-yacc-" version "-checkout"))))
1310 (build-system asdf-build-system/sbcl)
1311 (arguments
1312 `(#:asd-systems '("yacc")))
1313 (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc")
1314 (description
1315 "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit
1316 to AT&T Yacc, Berkeley Yacc, GNU Bison, Zebu, lalr.cl or lalr.scm.
1317
1318 CL-Yacc uses the algorithm due to Aho and Ullman, which is the one also used
1319 by AT&T Yacc, Berkeley Yacc and Zebu. It does not use the faster algorithm due
1320 to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
1321 (home-page "https://www.irif.fr/~jch//software/cl-yacc/")
1322 (license license:expat)))
1323
1324 (define-public cl-yacc
1325 (sbcl-package->cl-source-package sbcl-cl-yacc))
1326
1327 (define-public ecl-cl-yacc
1328 (sbcl-package->ecl-package sbcl-cl-yacc))
1329
1330 (define-public sbcl-eager-future2
1331 (let ((commit "54df8effd9d9eccac917509590286b5ac5f9cb30"))
1332 (package
1333 (name "sbcl-eager-future2")
1334 (version (git-version "0.0.0" "1" commit))
1335 (source
1336 (origin
1337 (method git-fetch)
1338 (uri (git-reference
1339 (url "https://gitlab.common-lisp.net/vsedach/eager-future2.git")
1340 (commit commit)))
1341 (file-name (git-file-name name version))
1342 (sha256
1343 (base32
1344 "1qs1bv3m0ki8l5czhsflxcryh22r9d9g9a3a3b0cr0pl954q5rld"))))
1345 (build-system asdf-build-system/sbcl)
1346 (inputs
1347 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1348 ("trivial-garbage" ,sbcl-trivial-garbage)))
1349 (synopsis "Futures promises synchronization mechanism for Common Lisp")
1350 (description
1351 "Eager Future2 is a Common Lisp library that provides composable
1352 concurrency primitives that unify parallel and lazy evaluation, are integrated
1353 with the Common Lisp condition system, and have automatic resource
1354 management.")
1355 (home-page "https://gitlab.common-lisp.net/vsedach/eager-future2")
1356 (license license:lgpl3+))))
1357
1358 (define-public cl-eager-future2
1359 (sbcl-package->cl-source-package sbcl-eager-future2))
1360
1361 (define-public ecl-eager-future2
1362 (sbcl-package->ecl-package sbcl-eager-future2))
1363
1364 (define-public sbcl-jpl-util
1365 (let ((commit "0311ed374e19a49d43318064d729fe3abd9a3b62"))
1366 (package
1367 (name "sbcl-jpl-util")
1368 (version "20151005")
1369 (source
1370 (origin
1371 (method git-fetch)
1372 (uri (git-reference
1373 ;; Quicklisp uses this fork.
1374 (url "https://github.com/hawkir/cl-jpl-util")
1375 (commit commit)))
1376 (file-name
1377 (git-file-name "jpl-util" version))
1378 (sha256
1379 (base32
1380 "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"))))
1381 (build-system asdf-build-system/sbcl)
1382 (synopsis "Collection of Common Lisp utility functions and macros")
1383 (description
1384 "@command{cl-jpl-util} is a collection of Common Lisp utility functions
1385 and macros, primarily for software projects written in CL by the author.")
1386 (home-page "https://www.thoughtcrime.us/software/cl-jpl-util/")
1387 (license license:isc))))
1388
1389 (define-public cl-jpl-util
1390 (sbcl-package->cl-source-package sbcl-jpl-util))
1391
1392 (define-public ecl-jpl-util
1393 (sbcl-package->ecl-package sbcl-jpl-util))
1394
1395 (define-public sbcl-piping
1396 (let ((commit "c7a4163c00dea7e72bf6ad33d6abac0d5826a656")
1397 (revision "1"))
1398 (package
1399 (name "sbcl-piping")
1400 (version (git-version "2.0.0" revision commit))
1401 (source
1402 (origin
1403 (method git-fetch)
1404 (uri (git-reference
1405 (url "https://github.com/Shinmera/piping/")
1406 (commit commit)))
1407 (file-name (git-file-name "piping" version))
1408 (sha256
1409 (base32 "0in84qnfkynm36d4n4d6v87vprpi27xrydnga462wfhplji6klv5"))))
1410 (build-system asdf-build-system/sbcl)
1411 (home-page "https://shinmera.github.io/piping/")
1412 (synopsis "Library to enable simple message pipelines")
1413 (description
1414 "This is a Common Lisp library to enable simple message pipelines.")
1415 (license license:zlib))))
1416
1417 (define-public ecl-piping
1418 (sbcl-package->ecl-package sbcl-piping))
1419
1420 (define-public cl-piping
1421 (sbcl-package->cl-source-package sbcl-piping))
1422
1423 (define-public sbcl-cl-pcg
1424 (let ((commit "8263d85ab0ca17fb05637a4430c2d564456bce8f")
1425 (revision "1"))
1426 (package
1427 (name "sbcl-cl-pcg")
1428 (version (git-version "1.0.0" revision commit))
1429 (source
1430 (origin
1431 (method git-fetch)
1432 (uri (git-reference
1433 (url "https://github.com/sjl/cl-pcg")
1434 (commit commit)))
1435 (file-name (git-file-name "cl-pcg" version))
1436 (sha256
1437 (base32 "0s57wvvlvshp1gcp9i9d3qcmqhswnxps3i0y7wbb0v8i1a3p46m4"))))
1438 (build-system asdf-build-system/sbcl)
1439 (native-inputs
1440 `(("1am" ,sbcl-1am)))
1441 (home-page "https://github.com/sjl/cl-pcg")
1442 (synopsis "Permuted congruential generators in Common Lisp")
1443 (description
1444 "This is a bare-bones Permuted Congruential Generator implementation in
1445 pure Common Lisp.")
1446 (license license:expat))))
1447
1448 (define-public ecl-cl-pcg
1449 (sbcl-package->ecl-package sbcl-cl-pcg))
1450
1451 (define-public cl-pcg
1452 (sbcl-package->cl-source-package sbcl-cl-pcg))
1453
1454 (define-public sbcl-seedable-rng
1455 (let ((commit "aa1a1564b6e07e2698df37c7a98348c4f762cb15")
1456 (revision "1"))
1457 (package
1458 (name "sbcl-seedable-rng")
1459 (version (git-version "0.0.0" revision commit))
1460 (source
1461 (origin
1462 (method git-fetch)
1463 (uri (git-reference
1464 (url "https://git.mfiano.net/mfiano/seedable-rng")
1465 (commit commit)))
1466 (file-name (git-file-name "seedable-rng" version))
1467 (sha256
1468 (base32 "1ldpsbp3qrfzvknclsxj3sdyms1jf9ad20dvh4w0kw3zgahn2nr5"))))
1469 (build-system asdf-build-system/sbcl)
1470 (inputs
1471 `(("cl-pcg" ,sbcl-cl-pcg)
1472 ("golden-utils" ,sbcl-golden-utils)
1473 ("ironclad" ,sbcl-ironclad)))
1474 (home-page "https://git.mfiano.net/mfiano/seedable-rng")
1475 (synopsis "Common Lisp random number generator")
1476 (description
1477 "SEEDABLE-RNG provides a convenient means of generating random numbers
1478 that are seedable with deterministic results across hardware and Common Lisp
1479 implementations.")
1480 (license license:expat))))
1481
1482 (define-public ecl-seedable-rng
1483 (sbcl-package->ecl-package sbcl-seedable-rng))
1484
1485 (define-public cl-seedable-rng
1486 (sbcl-package->cl-source-package sbcl-seedable-rng))
1487
1488 (define-public sbcl-jpl-queues
1489 (package
1490 (name "sbcl-jpl-queues")
1491 (version "0.1")
1492 (source
1493 (origin
1494 (method url-fetch)
1495 (uri (string-append
1496 "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-"
1497 version
1498 ".tar.gz"))
1499 (sha256
1500 (base32
1501 "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96"))))
1502 (build-system asdf-build-system/sbcl)
1503 (inputs
1504 `(("jpl-util" ,sbcl-jpl-util)
1505 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1506 (arguments
1507 ;; Tests seem to be broken.
1508 `(#:tests? #f))
1509 (synopsis "Common Lisp library implementing a few different kinds of queues")
1510 (description
1511 "A Common Lisp library implementing a few different kinds of queues:
1512
1513 @itemize
1514 @item Bounded and unbounded FIFO queues.
1515 @item Lossy bounded FIFO queues that drop elements when full.
1516 @item Unbounded random-order queues that use less memory than unbounded FIFO queues.
1517 @end itemize
1518
1519 Additionally, a synchronization wrapper is provided to make any queue
1520 conforming to the @command{jpl-queues} API thread-safe for lightweight
1521 multithreading applications. (See Calispel for a more sophisticated CL
1522 multithreaded message-passing library with timeouts and alternation among
1523 several blockable channels.)")
1524 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1525 (license license:isc)))
1526
1527 (define-public cl-jpl-queues
1528 (sbcl-package->cl-source-package sbcl-jpl-queues))
1529
1530 (define-public ecl-jpl-queues
1531 (sbcl-package->ecl-package sbcl-jpl-queues))
1532
1533 (define-public sbcl-calispel
1534 (let ((commit "e9f2f9c1af97f4d7bb4c8ac25fb2a8f3e8fada7a"))
1535 (package
1536 (name "sbcl-calispel")
1537 (version (git-version "0.1" "1" commit))
1538 (source
1539 (origin
1540 (method git-fetch)
1541 (uri (git-reference
1542 ;; This fork replaces the dependency on the obsolete
1543 ;; eager-future with eager-future2.
1544 (url "https://github.com/hawkir/calispel")
1545 (commit commit)))
1546 (file-name (git-file-name name version))
1547 (sha256
1548 (base32
1549 "08bmf3pi7n5hadpmqqkg65cxcj6kbvm997wcs1f53ml1nb79d9z8"))))
1550 (build-system asdf-build-system/sbcl)
1551 (inputs
1552 `(("jpl-queues" ,sbcl-jpl-queues)
1553 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1554 (native-inputs
1555 `(("eager-future2" ,sbcl-eager-future2)))
1556 (synopsis "Thread-safe message-passing channels in Common Lisp")
1557 (description
1558 "Calispel is a Common Lisp library for thread-safe message-passing
1559 channels, in the style of the occam programming language, also known as
1560 communicating sequential processes (CSP). See
1561 @url{https://en.wikipedia.org/wiki/Communicating_sequential_processes}.
1562
1563 Calispel channels let one thread communicate with another, facilitating
1564 unidirectional communication of any Lisp object. Channels may be unbuffered,
1565 where a sender waits for a receiver (or vice versa) before either operation can
1566 continue, or channels may be buffered with flexible policy options.
1567
1568 Because sending and receiving on a channel may block, either operation can time
1569 out after a specified amount of time.
1570
1571 A syntax for alternation is provided (like @code{ALT} in occam, or Unix
1572 @code{select()}): given a sequence of operations, any or all of which may
1573 block, alternation selects the first operation that doesn't block and executes
1574 associated code. Alternation can also time out, executing an \"otherwise\"
1575 clause if no operation becomes available within a set amount of time.
1576
1577 Calispel is a message-passing library, and as such leaves the role of
1578 threading abstractions and utilities left to be filled by complementary
1579 libraries such as Bordeaux-Threads and Eager Future.")
1580 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1581 (license license:isc))))
1582
1583 (define-public cl-calispel
1584 (sbcl-package->cl-source-package sbcl-calispel))
1585
1586 (define-public ecl-calispel
1587 (sbcl-package->ecl-package sbcl-calispel))
1588
1589 (define-public sbcl-eos
1590 (let ((commit "b4413bccc4d142cbe1bf49516c3a0a22c9d99243")
1591 (revision "2"))
1592 (package
1593 (name "sbcl-eos")
1594 (version (git-version "0.0.0" revision commit))
1595 (source
1596 (origin
1597 (method git-fetch)
1598 (uri (git-reference
1599 (url "https://github.com/adlai/Eos")
1600 (commit commit)))
1601 (sha256
1602 (base32 "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk"))
1603 (file-name (git-file-name "eos" version))))
1604 (build-system asdf-build-system/sbcl)
1605 (synopsis "Unit Testing for Common Lisp")
1606 (description
1607 "Eos was a unit testing library for Common Lisp.
1608 It began as a fork of FiveAM; however, FiveAM development has continued, while
1609 that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
1610 (home-page "https://github.com/adlai/Eos")
1611 (license license:expat))))
1612
1613 (define-public cl-eos
1614 (sbcl-package->cl-source-package sbcl-eos))
1615
1616 (define-public ecl-eos
1617 (sbcl-package->ecl-package sbcl-eos))
1618
1619 (define-public sbcl-esrap
1620 (let ((commit "133be8b05c2aae48696fe5b739eea2fa573fa48d"))
1621 (package
1622 (name "sbcl-esrap")
1623 (version (git-version "0.0.0" "1" commit))
1624 (source
1625 (origin
1626 (method git-fetch)
1627 (uri (git-reference
1628 (url "https://github.com/nikodemus/esrap")
1629 (commit commit)))
1630 (sha256
1631 (base32
1632 "02d5clihsdryhf7pix8c5di2571fdsffh75d40fkzhws90r5mksl"))
1633 (file-name (git-file-name "esrap" version))))
1634 (build-system asdf-build-system/sbcl)
1635 (native-inputs
1636 `(("eos" ,sbcl-eos))) ;For testing only.
1637 (inputs
1638 `(("alexandria" ,sbcl-alexandria)))
1639 (synopsis "Common Lisp packrat parser")
1640 (description
1641 "A packrat parser for Common Lisp.
1642 In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
1643
1644 @itemize
1645 @item dynamic redefinition of nonterminals
1646 @item inline grammars
1647 @item semantic predicates
1648 @item introspective facilities (describing grammars, tracing, setting breaks)
1649 @end itemize\n")
1650 (home-page "https://nikodemus.github.io/esrap/")
1651 (license license:expat))))
1652
1653 (define-public cl-esrap
1654 (sbcl-package->cl-source-package sbcl-esrap))
1655
1656 (define-public ecl-esrap
1657 (sbcl-package->ecl-package sbcl-esrap))
1658
1659 (define-public sbcl-split-sequence
1660 (package
1661 (name "sbcl-split-sequence")
1662 (version "2.0.0")
1663 (source
1664 (origin
1665 (method git-fetch)
1666 (uri (git-reference
1667 (url "https://github.com/sharplispers/split-sequence")
1668 (commit (string-append "v" version))))
1669 (sha256
1670 (base32
1671 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
1672 (file-name (git-file-name "split-sequence" version))))
1673 (build-system asdf-build-system/sbcl)
1674 (native-inputs
1675 `(("fiveam" ,sbcl-fiveam)))
1676 (synopsis "Member of the Common Lisp Utilities family of programs")
1677 (description
1678 "Splits sequence into a list of subsequences delimited by objects
1679 satisfying the test.")
1680 (home-page "https://cliki.net/split-sequence")
1681 (license license:expat)))
1682
1683 (define-public cl-split-sequence
1684 (sbcl-package->cl-source-package sbcl-split-sequence))
1685
1686 (define-public ecl-split-sequence
1687 (sbcl-package->ecl-package sbcl-split-sequence))
1688
1689 (define-public sbcl-html-encode
1690 (package
1691 (name "sbcl-html-encode")
1692 (version "1.2")
1693 (source
1694 (origin
1695 (method url-fetch)
1696 (uri (string-append
1697 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1698 version ".tgz"))
1699 (sha256
1700 (base32
1701 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1702 (file-name (string-append "colorize" version "-checkout"))))
1703 (build-system asdf-build-system/sbcl)
1704 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1705 (description
1706 "A library for encoding text in various web-savvy encodings.")
1707 (home-page "http://quickdocs.org/html-encode/")
1708 (license license:expat)))
1709
1710 (define-public cl-html-encode
1711 (sbcl-package->cl-source-package sbcl-html-encode))
1712
1713 (define-public ecl-html-encode
1714 (sbcl-package->ecl-package sbcl-html-encode))
1715
1716 (define-public sbcl-colorize
1717 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1718 (package
1719 (name "sbcl-colorize")
1720 (version (git-version "0.0.0" "1" commit))
1721 (source
1722 (origin
1723 (method git-fetch)
1724 (uri (git-reference
1725 (url "https://github.com/kingcons/colorize")
1726 (commit commit)))
1727 (sha256
1728 (base32
1729 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1730 (file-name (git-file-name "colorize" version))))
1731 (build-system asdf-build-system/sbcl)
1732 (inputs
1733 `(("alexandria" ,sbcl-alexandria)
1734 ("split-sequence" ,sbcl-split-sequence)
1735 ("html-encode" ,sbcl-html-encode)))
1736 (synopsis "Common Lisp for syntax highlighting")
1737 (description
1738 "@command{colorize} is a Lisp library for syntax highlighting
1739 supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1740 C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1741 (home-page "https://github.com/kingcons/colorize")
1742 ;; TODO: Missing license?
1743 (license license:expat))))
1744
1745 (define-public cl-colorize
1746 (sbcl-package->cl-source-package sbcl-colorize))
1747
1748 (define-public ecl-colorize
1749 (sbcl-package->ecl-package sbcl-colorize))
1750
1751 (define-public sbcl-3bmd
1752 (let ((commit "6fc5759448f6f6df6f6df556e020a289a2643288")
1753 (revision "2"))
1754 (package
1755 (name "sbcl-3bmd")
1756 (version (git-version "0.0.0" revision commit))
1757 (source
1758 (origin
1759 (method git-fetch)
1760 (uri (git-reference
1761 (url "https://github.com/3b/3bmd")
1762 (commit commit)))
1763 (sha256
1764 (base32 "1avmbp8xdjlbqpqk7p3vmj7abiw5p3vb5mrxp4wlvgql4sf6z3p4"))
1765 (file-name (git-file-name "3bmd" version))))
1766 (build-system asdf-build-system/sbcl)
1767 (arguments
1768 ;; FIXME: #41437 - Build fails when package name starts from a digit
1769 `(#:asd-systems
1770 '("3bmd"
1771 "3bmd-ext-definition-lists"
1772 "3bmd-ext-math"
1773 "3bmd-ext-tables"
1774 "3bmd-ext-wiki-links"
1775 "3bmd-youtube"
1776 "3bmd-ext-code-blocks")))
1777 (inputs
1778 `(("alexandria" ,sbcl-alexandria)
1779 ("colorize" ,sbcl-colorize)
1780 ("esrap" ,sbcl-esrap)
1781 ("split-sequence" ,sbcl-split-sequence)))
1782 (home-page "https://github.com/3b/3bmd")
1783 (synopsis "Markdown processor in Command Lisp using esrap parser")
1784 (description
1785 "This is a Common Lisp Markdown to HTML converter, using @command{esrap}
1786 for parsing, and grammar based on @command{peg-markdown}.")
1787 (license license:expat))))
1788
1789 (define-public cl-3bmd
1790 (sbcl-package->cl-source-package sbcl-3bmd))
1791
1792 (define-public ecl-3bmd
1793 (sbcl-package->ecl-package sbcl-3bmd))
1794
1795 (define-public sbcl-cl-fad
1796 (package
1797 (name "sbcl-cl-fad")
1798 (version "0.7.6")
1799 (source
1800 (origin
1801 (method git-fetch)
1802 (uri (git-reference
1803 (url "https://github.com/edicl/cl-fad/")
1804 (commit (string-append "v" version))))
1805 (sha256
1806 (base32
1807 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
1808 (file-name (string-append "cl-fad" version "-checkout"))))
1809 (build-system asdf-build-system/sbcl)
1810 (inputs
1811 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
1812 (synopsis "Portable pathname library for Common Lisp")
1813 (description
1814 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
1815 Lisp's standard pathname functions. It is intended to provide some
1816 unification between current CL implementations on Windows, OS X, Linux, and
1817 Unix. Most of the code was written by Peter Seibel for his book Practical
1818 Common Lisp.")
1819 (home-page "https://edicl.github.io/cl-fad/")
1820 (license license:bsd-2)))
1821
1822 (define-public cl-fad
1823 (sbcl-package->cl-source-package sbcl-cl-fad))
1824
1825 (define-public ecl-cl-fad
1826 (sbcl-package->ecl-package sbcl-cl-fad))
1827
1828 (define-public sbcl-fn
1829 (let ((commit "8d8587d03a7b5e26b306fc90018e385d9e5acc2c")
1830 (revision "1"))
1831 (package
1832 (name "sbcl-fn")
1833 (version (git-version "0.0.0" revision commit))
1834 (source
1835 (origin
1836 (method git-fetch)
1837 (uri (git-reference
1838 (url "https://github.com/cbaggers/fn")
1839 (commit commit)))
1840 (file-name (git-file-name "fn" version))
1841 (sha256
1842 (base32 "0yyp9z6iwx476whz0n1rpjznjyqqhlylhzwpgg5xx92lxmskl752"))))
1843 (build-system asdf-build-system/sbcl)
1844 (inputs
1845 `(("named-readtables" ,sbcl-named-readtables)))
1846 (home-page "https://github.com/cbaggers/fn")
1847 (synopsis "Macros for lambda brevity")
1848 (description
1849 "This is a Common Lisp library providing lambda shorthand macros aiming
1850 to be used in cases where the word @emph{lambda} and the arguments are longer
1851 than the body of the lambda.")
1852 (license license:public-domain))))
1853
1854 (define-public ecl-fn
1855 (sbcl-package->ecl-package sbcl-fn))
1856
1857 (define-public cl-fn
1858 (sbcl-package->cl-source-package sbcl-fn))
1859
1860 (define-public sbcl-rt
1861 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
1862 (revision "1"))
1863 (package
1864 (name "sbcl-rt")
1865 (version (git-version "1990.12.19" revision commit))
1866 (source
1867 (origin
1868 (method git-fetch)
1869 (uri (git-reference
1870 (url "http://git.kpe.io/rt.git")
1871 (commit commit)))
1872 (file-name (git-file-name name version))
1873 (sha256
1874 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
1875 (build-system asdf-build-system/sbcl)
1876 (synopsis "MIT Regression Tester")
1877 (description
1878 "RT provides a framework for writing regression test suites.")
1879 (home-page "https://www.cliki.net/rt")
1880 (license license:expat))))
1881
1882 (define-public cl-rt
1883 (sbcl-package->cl-source-package sbcl-rt))
1884
1885 (define-public ecl-rt
1886 (sbcl-package->ecl-package sbcl-rt))
1887
1888 (define-public sbcl-nibbles
1889 ;; No tagged release since 2018.
1890 (let ((commit "8e6b9b42d9f69000f55e5c45ad974d9e376ffdbd")
1891 (revision "1"))
1892 (package
1893 (name "sbcl-nibbles")
1894 (version (git-version "0.14" revision commit))
1895 (source
1896 (origin
1897 (method git-fetch)
1898 (uri (git-reference
1899 (url "https://github.com/sharplispers/nibbles/")
1900 (commit commit)))
1901 (sha256
1902 (base32 "15qlsm82h36pjgvfnbzdg60l21qxbaii4d049jc5y0dn56y93amb"))
1903 (file-name (git-file-name "nibbles" version))))
1904 (build-system asdf-build-system/sbcl)
1905 (native-inputs
1906 ;; Tests only.
1907 `(("rt" ,sbcl-rt)))
1908 (synopsis
1909 "Common Lisp library for accessing octet-addressed blocks of data")
1910 (description
1911 "When dealing with network protocols and file formats, it's common to
1912 have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
1913 flavors. Common Lisp sort of supports this by specifying :element-type for
1914 streams, but that facility is underspecified and there's nothing similar for
1915 read/write from octet vectors. What most people wind up doing is rolling their
1916 own small facility for their particular needs and calling it a day.
1917
1918 This library attempts to be comprehensive and centralize such
1919 facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
1920 vectors in signed or unsigned flavors are provided; these functions are also
1921 SETFable. Since it's sometimes desirable to read/write directly from streams,
1922 functions for doing so are also provided. On some implementations,
1923 reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
1924 also be supported.")
1925 (home-page "https://github.com/sharplispers/nibbles")
1926 (license license:bsd-3))))
1927
1928 (define-public cl-nibbles
1929 (sbcl-package->cl-source-package sbcl-nibbles))
1930
1931 (define-public ecl-nibbles
1932 (sbcl-package->ecl-package sbcl-nibbles))
1933
1934 (define-public sbcl-ironclad
1935 (package
1936 (name "sbcl-ironclad")
1937 (version "0.54")
1938 (source
1939 (origin
1940 (method git-fetch)
1941 (uri (git-reference
1942 (url "https://github.com/sharplispers/ironclad/")
1943 (commit (string-append "v" version))))
1944 (sha256
1945 (base32 "07g0wpvfqq2yk23prs890d4qvbnr3xd6w8ssd88g89xdg483wpvk"))
1946 (file-name (git-file-name name version))))
1947 (build-system asdf-build-system/sbcl)
1948 (native-inputs
1949 ;; Tests only.
1950 `(("rt" ,sbcl-rt)))
1951 (inputs
1952 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1953 ("flexi-streams" ,sbcl-flexi-streams)))
1954 (synopsis "Cryptographic toolkit written in Common Lisp")
1955 (description
1956 "Ironclad is a cryptography library written entirely in Common Lisp.
1957 It includes support for several popular ciphers, digests, MACs and public key
1958 cryptography algorithms. For several implementations that support Gray
1959 streams, support is included for convenient stream wrappers.")
1960 (home-page "https://github.com/sharplispers/ironclad")
1961 (license license:bsd-3)))
1962
1963 (define-public cl-ironclad
1964 (sbcl-package->cl-source-package sbcl-ironclad))
1965
1966 (define-public ecl-ironclad
1967 (sbcl-package->ecl-package sbcl-ironclad))
1968
1969 (define-public sbcl-named-readtables
1970 (let ((commit "585a28eee8b1b1999279b48cb7e9731187e14b66")
1971 (revision "3"))
1972 (package
1973 (name "sbcl-named-readtables")
1974 (version (git-version "0.9" revision commit))
1975 (source
1976 (origin
1977 (method git-fetch)
1978 (uri (git-reference
1979 (url "https://github.com/melisgl/named-readtables")
1980 (commit commit)))
1981 (sha256
1982 (base32 "072p5djqq9pliw9r20rmpz5r5q5yn6rhbp98vkkp7gfcnp5ppj51"))
1983 (file-name (git-file-name "named-readtables" version))))
1984 (build-system asdf-build-system/sbcl)
1985 (home-page "https://github.com/melisgl/named-readtables/")
1986 (synopsis "Library that creates a namespace for named readtables")
1987 (description
1988 "Named readtables is a library that creates a namespace for named
1989 readtables, which is akin to package namespacing in Common Lisp.")
1990 (license license:bsd-3))))
1991
1992 (define-public cl-named-readtables
1993 (sbcl-package->cl-source-package sbcl-named-readtables))
1994
1995 (define-public ecl-named-readtables
1996 (sbcl-package->ecl-package sbcl-named-readtables))
1997
1998 (define-public sbcl-py-configparser
1999 ;; NOTE: (Sharlatan <2021-01-05 Tue> <19:52:19 UTC+0000>) Project updated last
2000 ;; time 8y ago, it looks like abandoned. VCS of the project:
2001 ;; https://svn.common-lisp.net/py-configparser/trunk
2002 (package
2003 (name "sbcl-py-configparser")
2004 (version "1.0.3")
2005 (source
2006 (origin
2007 (method url-fetch)
2008 (uri (string-append
2009 "https://common-lisp.net/project/py-configparser/releases/"
2010 "py-configparser-" version ".tar.gz"))
2011 (sha256
2012 (base32 "0i4rqz5cv7d7c2w81x5lwy05s6fbi3zikf4k5kpi3bkx3cabwdxj"))))
2013 (build-system asdf-build-system/sbcl)
2014 (inputs
2015 `(("parse-number" ,sbcl-parse-number)))
2016 (home-page "http://common-lisp.net/project/py-configparser/")
2017 (synopsis "ConfigParser Python module functionality for Common Lisp")
2018 (description "The py-configparser package implements the ConfigParser
2019 Python module functionality in Common Lisp. In short, it implements reading
2020 and writing of .INI-file style configuration files with sections containing
2021 key/value pairs of configuration options. In line with the functionalities in
2022 the python module, does this package implement basic interpolation of option
2023 values in other options.")
2024 (license license:expat)))
2025
2026 (define-public cl-py-configparser
2027 (sbcl-package->cl-source-package sbcl-py-configparser))
2028
2029 (define-public ecl-py-configparser
2030 (sbcl-package->ecl-package sbcl-py-configparser))
2031
2032 (define-public sbcl-pythonic-string-reader
2033 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
2034 (package
2035 (name "sbcl-pythonic-string-reader")
2036 (version (git-version "0.0.0" "1" commit))
2037 (source
2038 (origin
2039 (method git-fetch)
2040 (uri (git-reference
2041 (url "https://github.com/smithzvk/pythonic-string-reader/")
2042 (commit commit)))
2043 (sha256
2044 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
2045 (file-name (git-file-name "pythonic-string-reader" version))))
2046 (build-system asdf-build-system/sbcl)
2047 (inputs
2048 `(("named-readtables" ,sbcl-named-readtables)))
2049 (home-page "https://github.com/smithzvk/pythonic-string-reader")
2050 (synopsis "Read table modification inspired by Python's three quote strings")
2051 (description "This piece of code sets up some reader macros that make it
2052 simpler to input string literals which contain backslashes and double quotes
2053 This is very useful for writing complicated docstrings and, as it turns out,
2054 writing code that contains string literals that contain code themselves.")
2055 (license license:bsd-3))))
2056
2057 (define-public cl-pythonic-string-reader
2058 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
2059
2060 (define-public ecl-pythonic-string-reader
2061 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
2062
2063 (define-public sbcl-slime-swank
2064 (package
2065 (name "sbcl-slime-swank")
2066 (version "2.26")
2067 (source
2068 (origin
2069 (file-name (git-file-name "slime-swank" version))
2070 (method git-fetch)
2071 (uri (git-reference
2072 (url "https://github.com/slime/slime/")
2073 (commit (string-append "v" version))))
2074 (sha256
2075 (base32
2076 "0mxb1wnw19v0s72w2wkz5afdlzvpy5nn7pr4vav403qybac0sw5c"))))
2077 (build-system asdf-build-system/sbcl)
2078 (arguments
2079 '(#:asd-systems '("swank")))
2080 (home-page "https://github.com/slime/slime")
2081 (synopsis "Common Lisp Swank server")
2082 (description
2083 "This is only useful if you want to start a Swank server in a Lisp
2084 processes that doesn't run under Emacs. Lisp processes created by
2085 @command{M-x slime} automatically start the server.")
2086 (license (list license:gpl2+ license:public-domain))))
2087
2088 (define-public cl-slime-swank
2089 (sbcl-package->cl-source-package sbcl-slime-swank))
2090
2091 (define-public ecl-slime-swank
2092 (sbcl-package->ecl-package sbcl-slime-swank))
2093
2094 (define-public sbcl-mgl-pax
2095 (let ((commit "4ada6eb26364e71addb169ce58e4ba83bc7a8eaa")
2096 (revision "2"))
2097 (package
2098 (name "sbcl-mgl-pax")
2099 (version (git-version "0.0.3" revision commit))
2100 (source
2101 (origin
2102 (method git-fetch)
2103 (uri (git-reference
2104 (url "https://github.com/melisgl/mgl-pax")
2105 (commit commit)))
2106 (sha256
2107 (base32 "1s38crgvmd9hgqwsscqpj6m6c10a074zjgg8k5sl15yih1wkpssm"))
2108 (file-name (git-file-name "mgl-pax" version))))
2109 (build-system asdf-build-system/sbcl)
2110 (inputs
2111 `(("3bmd" ,sbcl-3bmd)
2112 ("babel" ,sbcl-babel)
2113 ("cl-fad" ,sbcl-cl-fad)
2114 ("ironclad" ,sbcl-ironclad)
2115 ("named-readtables" ,sbcl-named-readtables)
2116 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)
2117 ("swank" ,sbcl-slime-swank)))
2118 (synopsis "Exploratory programming environment and documentation generator")
2119 (description
2120 "PAX provides an extremely poor man's Explorable Programming
2121 environment. Narrative primarily lives in so called sections that mix markdown
2122 docstrings with references to functions, variables, etc, all of which should
2123 probably have their own docstrings.
2124
2125 The primary focus is on making code easily explorable by using SLIME's
2126 @command{M-.} (@command{slime-edit-definition}). See how to enable some
2127 fanciness in Emacs Integration. Generating documentation from sections and all
2128 the referenced items in Markdown or HTML format is also implemented.
2129
2130 With the simplistic tools provided, one may accomplish similar effects as with
2131 Literate Programming, but documentation is generated from code, not vice versa
2132 and there is no support for chunking yet. Code is first, code must look
2133 pretty, documentation is code.")
2134 (home-page "http://quotenil.com/")
2135 (license license:expat))))
2136
2137 (define-public cl-mgl-pax
2138 (sbcl-package->cl-source-package sbcl-mgl-pax))
2139
2140 (define-public ecl-mgl-pax
2141 (sbcl-package->ecl-package sbcl-mgl-pax))
2142
2143 (define-public sbcl-mssql
2144 (let ((commit "045602a19a32254108f2b75871049293f49731eb")
2145 (revision "1"))
2146 (package
2147 (name "sbcl-mssql")
2148 (version (git-version "0.0.3" revision commit))
2149 (source
2150 (origin
2151 (method git-fetch)
2152 (uri (git-reference
2153 (url "https://github.com/archimag/cl-mssql")
2154 (commit commit)))
2155 (file-name (git-file-name "cl-mssql" version))
2156 (sha256
2157 (base32 "09i50adppgc1ybm3ka9vbindhwa2x29f9n3n0jkrryymdhb8zknm"))))
2158 (build-system asdf-build-system/sbcl)
2159 (inputs
2160 `(("cffi" ,sbcl-cffi)
2161 ("freetds" ,freetds)
2162 ("garbage-pools" ,sbcl-garbage-pools)
2163 ("iterate" ,sbcl-iterate)
2164 ("parse-number" ,sbcl-parse-number)))
2165 (arguments
2166 `(#:phases
2167 (modify-phases %standard-phases
2168 (add-after 'unpack 'fix-paths
2169 (lambda* (#:key inputs #:allow-other-keys)
2170 (substitute* "src/mssql.lisp"
2171 (("libsybdb" all)
2172 (string-append (assoc-ref inputs "freetds") "/lib/" all)))
2173 #t)))))
2174 (home-page "https://github.com/archimag/cl-mssql")
2175 (synopsis "Common Lisp library to interact with MS SQL Server databases")
2176 (description
2177 "@code{cl-mssql} provides an interface to connect to Microsoft SQL
2178 server. It uses the @code{libsybdb} foreign library provided by the FreeTDS
2179 project.")
2180 (license license:llgpl))))
2181
2182 (define-public ecl-mssql
2183 (sbcl-package->ecl-package sbcl-mssql))
2184
2185 (define-public cl-mssql
2186 (sbcl-package->cl-source-package sbcl-mssql))
2187
2188 (define-public sbcl-lisp-unit
2189 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
2190 (package
2191 (name "sbcl-lisp-unit")
2192 (version (git-version "0.0.0" "1" commit))
2193 (source
2194 (origin
2195 (method git-fetch)
2196 (uri (git-reference
2197 (url "https://github.com/OdonataResearchLLC/lisp-unit")
2198 (commit commit)))
2199 (sha256
2200 (base32
2201 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
2202 (file-name (git-file-name "lisp-unit" version))))
2203 (build-system asdf-build-system/sbcl)
2204 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
2205 (description
2206 "@command{lisp-unit} is a Common Lisp library that supports unit
2207 testing. It is an extension of the library written by Chris Riesbeck.")
2208 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
2209 (license license:expat))))
2210
2211 (define-public cl-lisp-unit
2212 (sbcl-package->cl-source-package sbcl-lisp-unit))
2213
2214 (define-public ecl-lisp-unit
2215 (sbcl-package->ecl-package sbcl-lisp-unit))
2216
2217 (define-public sbcl-anaphora
2218 (package
2219 (name "sbcl-anaphora")
2220 (version "0.9.6")
2221 (source
2222 (origin
2223 (method git-fetch)
2224 (uri (git-reference
2225 (url "https://github.com/tokenrove/anaphora")
2226 (commit version)))
2227 (sha256
2228 (base32
2229 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
2230 (file-name (git-file-name "anaphora" version))))
2231 (build-system asdf-build-system/sbcl)
2232 (native-inputs
2233 `(("rt" ,sbcl-rt)))
2234 (synopsis "The anaphoric macro collection from Hell")
2235 (description
2236 "Anaphora is the anaphoric macro collection from Hell: it includes many
2237 new fiends in addition to old friends like @command{aif} and
2238 @command{awhen}.")
2239 (home-page "https://github.com/tokenrove/anaphora")
2240 (license license:public-domain)))
2241
2242 (define-public cl-anaphora
2243 (sbcl-package->cl-source-package sbcl-anaphora))
2244
2245 (define-public ecl-anaphora
2246 (sbcl-package->ecl-package sbcl-anaphora))
2247
2248 (define-public sbcl-lift
2249 (let ((commit "2594160d6ca3a77d8750110dfa63214256aab852")
2250 (revision "2"))
2251 (package
2252 (name "sbcl-lift")
2253 (version (git-version "1.7.1" revision commit))
2254 (source
2255 (origin
2256 (method git-fetch)
2257 (uri (git-reference
2258 (url "https://github.com/gwkkwg/lift")
2259 (commit commit)))
2260 (sha256
2261 (base32 "01xvz9sl5l5lai4h9dabmcjnm659wf5zllaxqbs55lffskp6jwq3"))
2262 (file-name (git-file-name "lift" version))
2263 (modules '((guix build utils)))
2264 (snippet
2265 ;; Don't keep the bundled website
2266 `(begin
2267 (delete-file-recursively "website")
2268 #t))))
2269 (build-system asdf-build-system/sbcl)
2270 (arguments
2271 ;; The tests require a debugger, but we run with the debugger disabled.
2272 '(#:tests? #f))
2273 (synopsis "LIsp Framework for Testing")
2274 (description
2275 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
2276 Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
2277 testcases are organized into hierarchical testsuites each of which can have
2278 its own fixture. When run, a testcase can succeed, fail, or error. LIFT
2279 supports randomized testing, benchmarking, profiling, and reporting.")
2280 (home-page "https://github.com/gwkkwg/lift")
2281 (license license:expat))))
2282
2283 (define-public cl-lift
2284 (sbcl-package->cl-source-package sbcl-lift))
2285
2286 (define-public ecl-lift
2287 (sbcl-package->ecl-package sbcl-lift))
2288
2289 (define-public sbcl-let-plus
2290 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
2291 (package
2292 (name "sbcl-let-plus")
2293 (version (git-version "0.0.0" "1" commit))
2294 (source
2295 (origin
2296 (method git-fetch)
2297 (uri (git-reference
2298 (url "https://github.com/sharplispers/let-plus")
2299 (commit commit)))
2300 (sha256
2301 (base32
2302 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
2303 (file-name (git-file-name "let-plus" version))))
2304 (build-system asdf-build-system/sbcl)
2305 (inputs
2306 `(("alexandria" ,sbcl-alexandria)
2307 ("anaphora" ,sbcl-anaphora)))
2308 (native-inputs
2309 `(("lift" ,sbcl-lift)))
2310 (synopsis "Destructuring extension of let*")
2311 (description
2312 "This library implements the let+ macro, which is a dectructuring
2313 extension of let*. It features:
2314
2315 @itemize
2316 @item Clean, consistent syntax and small implementation (less than 300 LOC,
2317 not counting tests)
2318 @item Placeholder macros allow editor hints and syntax highlighting
2319 @item @command{&ign} for ignored values (in forms where that makes sense)
2320 @item Very easy to extend
2321 @end itemize\n")
2322 (home-page "https://github.com/sharplispers/let-plus")
2323 (license license:boost1.0))))
2324
2325 (define-public cl-let-plus
2326 (sbcl-package->cl-source-package sbcl-let-plus))
2327
2328 (define-public ecl-let-plus
2329 (sbcl-package->ecl-package sbcl-let-plus))
2330
2331 (define-public sbcl-cl-colors
2332 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
2333 (package
2334 (name "sbcl-cl-colors")
2335 (version (git-version "0.0.0" "1" commit))
2336 (source
2337 (origin
2338 (method git-fetch)
2339 (uri (git-reference
2340 (url "https://github.com/tpapp/cl-colors")
2341 (commit commit)))
2342 (sha256
2343 (base32
2344 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2345 (file-name (git-file-name "cl-colors" version))))
2346 (build-system asdf-build-system/sbcl)
2347 (inputs
2348 `(("alexandria" ,sbcl-alexandria)
2349 ("let-plus" ,sbcl-let-plus)))
2350 (synopsis "Simple color library for Common Lisp")
2351 (description
2352 "This is a very simple color library for Common Lisp, providing
2353
2354 @itemize
2355 @item Types for representing colors in HSV and RGB spaces.
2356 @item Simple conversion functions between the above types (and also
2357 hexadecimal representation for RGB).
2358 @item Some predefined colors (currently X11 color names – of course the
2359 library does not depend on X11).Because color in your terminal is nice.
2360 @end itemize
2361
2362 This library is no longer supported by its author.")
2363 (home-page "https://github.com/tpapp/cl-colors")
2364 (license license:boost1.0))))
2365
2366 (define-public cl-colors
2367 (sbcl-package->cl-source-package sbcl-cl-colors))
2368
2369 (define-public ecl-cl-colors
2370 (sbcl-package->ecl-package sbcl-cl-colors))
2371
2372 (define-public sbcl-cl-ansi-text
2373 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2374 (package
2375 (name "sbcl-cl-ansi-text")
2376 (version (git-version "1.0.0" "1" commit))
2377 (source
2378 (origin
2379 (method git-fetch)
2380 (uri (git-reference
2381 (url "https://github.com/pnathan/cl-ansi-text")
2382 (commit commit)))
2383 (sha256
2384 (base32
2385 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2386 (file-name (git-file-name "cl-ansi-text" version))))
2387 (build-system asdf-build-system/sbcl)
2388 (inputs
2389 `(("alexandria" ,sbcl-alexandria)
2390 ("cl-colors" ,sbcl-cl-colors)))
2391 (native-inputs
2392 `(("fiveam" ,sbcl-fiveam)))
2393 (synopsis "ANSI terminal color implementation for Common Lisp")
2394 (description
2395 "@command{cl-ansi-text} provides utilities which enable printing to an
2396 ANSI terminal with colored text. It provides the macro @command{with-color}
2397 which causes everything printed in the body to be displayed with the provided
2398 color. It further provides functions which will print the argument with the
2399 named color.")
2400 (home-page "https://github.com/pnathan/cl-ansi-text")
2401 (license license:llgpl))))
2402
2403 (define-public cl-ansi-text
2404 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2405
2406 (define-public ecl-cl-ansi-text
2407 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2408
2409 (define-public sbcl-prove
2410 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2411 (package
2412 (name "sbcl-prove")
2413 (version (git-version "1.0.0" "1" commit))
2414 (source
2415 (origin
2416 (method git-fetch)
2417 (uri (git-reference
2418 (url "https://github.com/fukamachi/prove")
2419 (commit commit)))
2420 (sha256
2421 (base32
2422 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2423 (file-name (git-file-name "prove" version))))
2424 (build-system asdf-build-system/sbcl)
2425 (inputs
2426 `(("alexandria" ,sbcl-alexandria)
2427 ("cl-ppcre" ,sbcl-cl-ppcre)
2428 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2429 (synopsis "Yet another unit testing framework for Common Lisp")
2430 (description
2431 "This project was originally called @command{cl-test-more}.
2432 @command{prove} is yet another unit testing framework for Common Lisp. The
2433 advantages of @command{prove} are:
2434
2435 @itemize
2436 @item Various simple functions for testing and informative error messages
2437 @item ASDF integration
2438 @item Extensible test reporters
2439 @item Colorizes the report if it's available (note for SLIME)
2440 @item Reports test durations
2441 @end itemize\n")
2442 (home-page "https://github.com/fukamachi/prove")
2443 (license license:expat))))
2444
2445 (define-public cl-prove
2446 (sbcl-package->cl-source-package sbcl-prove))
2447
2448 (define-public ecl-prove
2449 (sbcl-package->ecl-package sbcl-prove))
2450
2451 (define-public sbcl-proc-parse
2452 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2453 (package
2454 (name "sbcl-proc-parse")
2455 (version (git-version "0.0.0" "1" commit))
2456 (source
2457 (origin
2458 (method git-fetch)
2459 (uri (git-reference
2460 (url "https://github.com/fukamachi/proc-parse")
2461 (commit commit)))
2462 (sha256
2463 (base32
2464 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2465 (file-name (git-file-name "proc-parse" version))))
2466 (build-system asdf-build-system/sbcl)
2467 (inputs
2468 `(("alexandria" ,sbcl-alexandria)
2469 ("babel" ,sbcl-babel)))
2470 (native-inputs
2471 `(("prove" ,sbcl-prove)))
2472 (arguments
2473 ;; TODO: Tests don't find "proc-parse-test", why?
2474 `(#:tests? #f))
2475 (synopsis "Procedural vector parser")
2476 (description
2477 "This is a string/octets parser library for Common Lisp with speed and
2478 readability in mind. Unlike other libraries, the code is not a
2479 pattern-matching-like, but a char-by-char procedural parser.")
2480 (home-page "https://github.com/fukamachi/proc-parse")
2481 (license license:bsd-2))))
2482
2483 (define-public cl-proc-parse
2484 (sbcl-package->cl-source-package sbcl-proc-parse))
2485
2486 (define-public ecl-proc-parse
2487 (sbcl-package->ecl-package sbcl-proc-parse))
2488
2489 (define-public sbcl-parse-float
2490 (let ((commit "3074765101e41222b6b624a66aaf1e6416379f9c")
2491 (revision "2"))
2492 (package
2493 (name "sbcl-parse-float")
2494 (version (git-version "0.0.0" revision commit))
2495 (source
2496 (origin
2497 (method git-fetch)
2498 (uri (git-reference
2499 (url "https://github.com/soemraws/parse-float")
2500 (commit commit)))
2501 (sha256
2502 (base32 "0jd2spawc3v8vzqf8ky4cngl45jm65fhkrdf20mf6dcbn3mzpkmr"))
2503 (file-name (git-file-name "proc-parse" version))))
2504 (build-system asdf-build-system/sbcl)
2505 (arguments
2506 ;; FIXME: https://github.com/soemraws/parse-float/issues/12
2507 `(#:asd-systems '("parse-float" "parse-float-tests")))
2508 (native-inputs
2509 `(("lisp-unit" ,sbcl-lisp-unit)))
2510 (inputs
2511 `(("alexandria" ,sbcl-alexandria)))
2512 (home-page "https://github.com/soemraws/parse-float")
2513 (synopsis "Parse a floating point value from a string in Common Lisp")
2514 (description
2515 "This package exports the following function to parse floating-point
2516 values from a string in Common Lisp.")
2517 (license license:public-domain))))
2518
2519 (define-public cl-parse-float
2520 (sbcl-package->cl-source-package sbcl-parse-float))
2521
2522 (define-public ecl-parse-float
2523 (sbcl-package->ecl-package sbcl-parse-float))
2524
2525 (define-public sbcl-cl-string-match
2526 (let ((revision "1")
2527 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2528 (package
2529 (name "sbcl-cl-string-match")
2530 (version (git-version "0" revision changeset))
2531 (source
2532 (origin
2533 (method hg-fetch)
2534 (uri (hg-reference
2535 (url "https://bitbucket.org/vityok/cl-string-match/")
2536 (changeset changeset)))
2537 (sha256
2538 (base32
2539 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2540 (file-name (git-file-name "cl-string-match" version))))
2541 (build-system asdf-build-system/sbcl)
2542 (inputs
2543 `(("alexandria" ,sbcl-alexandria)
2544 ("babel" ,sbcl-babel)
2545 ("iterate" ,sbcl-iterate)
2546 ("jpl-queues" ,sbcl-jpl-queues)
2547 ("jpl-util" ,sbcl-jpl-util)
2548 ("mgl-pax" ,sbcl-mgl-pax)
2549 ("parse-float" ,sbcl-parse-float)
2550 ("proc-parse" ,sbcl-proc-parse)
2551 ("yacc" ,sbcl-cl-yacc)))
2552 ;; TODO: Tests are not evaluated properly.
2553 (native-inputs
2554 ;; For testing:
2555 `(("lisp-unit" ,sbcl-lisp-unit)))
2556 (arguments
2557 `(#:tests? #f))
2558 (synopsis "Set of utilities to manipulate strings in Common Lisp")
2559 (description
2560 "@command{cl-strings} is a small, portable, dependency-free set of
2561 utilities that make it even easier to manipulate text in Common Lisp. It has
2562 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
2563 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2564 (license license:bsd-3))))
2565
2566 (define-public cl-string-match
2567 (sbcl-package->cl-source-package sbcl-cl-string-match))
2568
2569 (define-public ecl-cl-string-match
2570 (sbcl-package->ecl-package sbcl-cl-string-match))
2571
2572 (define-public sbcl-ptester
2573 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2574 (revision "1"))
2575 (package
2576 (name "sbcl-ptester")
2577 (version (git-version "2.1.3" revision commit))
2578 (source
2579 (origin
2580 (method git-fetch)
2581 (uri (git-reference
2582 (url "http://git.kpe.io/ptester.git")
2583 (commit commit)))
2584 (file-name (git-file-name name version))
2585 (sha256
2586 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2587 (build-system asdf-build-system/sbcl)
2588 (home-page "http://quickdocs.org/ptester/")
2589 (synopsis "Portable test harness package")
2590 (description
2591 "@command{ptester} is a portable testing framework based on Franz's
2592 tester module.")
2593 (license license:llgpl))))
2594
2595 (define-public cl-ptester
2596 (sbcl-package->cl-source-package sbcl-ptester))
2597
2598 (define-public ecl-ptester
2599 (sbcl-package->ecl-package sbcl-ptester))
2600
2601 (define-public sbcl-puri
2602 (let ((commit "4bbab89d9ccbb26346899d1f496c97604fec567b")
2603 (revision "2"))
2604 (package
2605 (name "sbcl-puri")
2606 (version (git-version "1.5.7" revision commit))
2607 (source
2608 (origin
2609 (method git-fetch)
2610 (uri (git-reference
2611 (url "http://git.kpe.io/puri.git")
2612 (commit commit)))
2613 (file-name (git-file-name "puri" version))
2614 (sha256
2615 (base32 "0gq2rsr0aihs0z20v4zqvmdl4szq53b52rh97pvnmwrlbn4mapmd"))))
2616 (build-system asdf-build-system/sbcl)
2617 (native-inputs
2618 `(("ptester" ,sbcl-ptester)))
2619 (home-page "http://puri.kpe.io/")
2620 (synopsis "Portable URI Library")
2621 (description
2622 "This is a portable Universal Resource Identifier library for Common
2623 Lisp programs. It parses URI according to the RFC 2396 specification.")
2624 (license license:llgpl))))
2625
2626 (define-public cl-puri
2627 (sbcl-package->cl-source-package sbcl-puri))
2628
2629 (define-public ecl-puri
2630 (sbcl-package->ecl-package sbcl-puri))
2631
2632 (define-public sbcl-qmynd
2633 (let ((commit "7e56daf73f0ed5f49a931c01af75fb874bcf3445")
2634 (revision "1"))
2635 (package
2636 (name "sbcl-qmynd")
2637 (version (git-version "1.0.0" revision commit))
2638 (source
2639 (origin
2640 (method git-fetch)
2641 (uri (git-reference
2642 (url "https://github.com/qitab/qmynd")
2643 (commit commit)))
2644 (file-name (git-file-name name version))
2645 (sha256
2646 (base32
2647 "06gw5wxcpdclb6a5i5k9lbmdlyqsp182czrm9bm1cpklzbj0ihrl"))))
2648 (build-system asdf-build-system/sbcl)
2649 (inputs
2650 `(("asdf-finalizers" ,sbcl-asdf-finalizers)
2651 ("babel" ,sbcl-babel)
2652 ("chipz" ,sbcl-chipz)
2653 ("cl+ssl" ,sbcl-cl+ssl)
2654 ("flexi-streams" ,sbcl-flexi-streams)
2655 ("ironclad" ,sbcl-ironclad)
2656 ("salza2" ,sbcl-salza2)
2657 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
2658 ("usocket" ,sbcl-usocket)))
2659 (home-page "https://github.com/qitab/qmynd")
2660 (synopsis "QITAB MySQL Native Driver for Common Lisp")
2661 (description "QMyND, the QITAB MySQL Native Driver, is a MySQL client
2662 library that directly talks to a MySQL server in its native network protocol.
2663
2664 It's a part of QITAB umbrella project.")
2665 (license license:expat))))
2666
2667 (define-public ecl-qmynd
2668 (sbcl-package->ecl-package sbcl-qmynd))
2669
2670 (define-public cl-qmynd
2671 (sbcl-package->cl-source-package sbcl-qmynd))
2672
2673 (define-public sbcl-queues
2674 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2675 (package
2676 (name "sbcl-queues")
2677 (version (git-version "0.0.0" "1" commit))
2678 (source
2679 (origin
2680 (method git-fetch)
2681 (uri (git-reference
2682 (url "https://github.com/oconnore/queues")
2683 (commit commit)))
2684 (file-name (git-file-name "queues" version))
2685 (sha256
2686 (base32
2687 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2688 (build-system asdf-build-system/sbcl)
2689 (inputs
2690 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
2691 (arguments
2692 '(#:asd-systems '("queues"
2693 "queues.simple-queue"
2694 "queues.simple-cqueue"
2695 "queues.priority-queue"
2696 "queues.priority-cqueue")))
2697 (home-page "https://github.com/oconnore/queues")
2698 (synopsis "Common Lisp queue library")
2699 (description
2700 "This is a simple queue library for Common Lisp with features such as
2701 non-consing thread safe queues and fibonacci priority queues.")
2702 (license license:expat))))
2703
2704 (define-public cl-queues
2705 (sbcl-package->cl-source-package sbcl-queues))
2706
2707 (define-public ecl-queues
2708 (sbcl-package->ecl-package sbcl-queues))
2709
2710 (define-public sbcl-glsl-packing
2711 (let ((commit "03628159468a8e5b7f2a1d5e78b77053e136794a")
2712 (revision "1"))
2713 (package
2714 (name "sbcl-glsl-packing")
2715 (version (git-version "0.0.0" revision commit))
2716 (source
2717 (origin
2718 (method git-fetch)
2719 (uri (git-reference
2720 (url "https://github.com/3b/glsl-packing/")
2721 (commit commit)))
2722 (file-name (git-file-name "glsl-packing" version))
2723 (sha256
2724 (base32 "0k2f1771wd9kdrcasldy1r00k5bdgi9fd07in52zmjggc0i7dd80"))))
2725 (build-system asdf-build-system/sbcl)
2726 (inputs
2727 `(("alexandria" ,sbcl-alexandria)))
2728 (home-page "https://github.com/3b/glsl-packing/")
2729 (synopsis "Common Lisp utilities to calculate OpenGL layouts")
2730 (description
2731 "This is a Common Lisp library to calculate std140 or std430 layouts for
2732 a glsl UBO/SSBO.")
2733 (license license:expat))))
2734
2735 (define-public ecl-glsl-packing
2736 (sbcl-package->ecl-package sbcl-glsl-packing))
2737
2738 (define-public cl-glsl-packing
2739 (sbcl-package->cl-source-package sbcl-glsl-packing))
2740
2741 (define-public sbcl-glsl-spec
2742 (let ((commit "f04476f7da89355ae6856b33283c60ba95c6555d")
2743 (revision "1"))
2744 (package
2745 (name "sbcl-glsl-spec")
2746 (version (git-version "0.0.0" revision commit))
2747 (source
2748 (origin
2749 (method git-fetch)
2750 (uri (git-reference
2751 (url "https://github.com/cbaggers/glsl-spec")
2752 (commit commit)))
2753 (file-name (git-file-name "glsl-spec" version))
2754 (sha256
2755 (base32 "01ipspr22fgfj3w8wq2y81lzrjc4vpfiwnr3dqhjlpzzra46am8c"))))
2756 (build-system asdf-build-system/sbcl)
2757 (arguments
2758 `(#:asd-systems '("glsl-spec" "glsl-symbols" "glsl-docs")))
2759 (home-page "https://github.com/cbaggers/glsl-spec")
2760 (synopsis "Common Lisp GLSL specification as a datastructure")
2761 (description
2762 "This package contains the specification of all functions and variables
2763 from GLSL as data.")
2764 (license license:unlicense))))
2765
2766 (define-public ecl-glsl-spec
2767 (sbcl-package->ecl-package sbcl-glsl-spec))
2768
2769 (define-public cl-glsl-spec
2770 (sbcl-package->cl-source-package sbcl-glsl-spec))
2771
2772 (define-public sbcl-varjo
2773 (let ((commit "9e77f30220053155d2ef8870ceba157f75e538d4")
2774 (revision "1"))
2775 (package
2776 (name "sbcl-varjo")
2777 (version (git-version "0.0.0" revision commit))
2778 (source
2779 (origin
2780 (method git-fetch)
2781 (uri (git-reference
2782 (url "https://github.com/cbaggers/varjo")
2783 (commit commit)))
2784 (file-name (git-file-name "varjo" version))
2785 (sha256
2786 (base32 "1p9x1wj576x5d31yvls9r1avkjkyhri7kyxbjfkg9z93a1w18j9z"))))
2787 (build-system asdf-build-system/sbcl)
2788 (native-inputs
2789 `(("fiveam" ,sbcl-fiveam)))
2790 (inputs
2791 `(("alexandria" ,sbcl-alexandria)
2792 ("cl-ppcre" ,sbcl-cl-ppcre)
2793 ("documentation-utils" ,sbcl-documentation-utils)
2794 ("fn" ,sbcl-fn)
2795 ("glsl-spec" ,sbcl-glsl-spec)
2796 ("named-readtables" ,sbcl-named-readtables)
2797 ("parse-float" ,sbcl-parse-float)
2798 ("vas-string-metrics" ,sbcl-vas-string-metrics)))
2799 (home-page "https://github.com/cbaggers/varjo")
2800 (synopsis "Lisp to GLSL Language Translator")
2801 (description
2802 "Varjo is a Lisp to GLSL compiler. Vari is the dialect of lisp Varjo
2803 compiles. It aims to be as close to Common Lisp as possible, but naturally it
2804 is statically typed so there are differences.")
2805 (license license:bsd-2))))
2806
2807 (define-public ecl-varjo
2808 (sbcl-package->ecl-package sbcl-varjo))
2809
2810 (define-public cl-varjo
2811 (sbcl-package->cl-source-package sbcl-varjo))
2812
2813 (define-public sbcl-cffi
2814 (package
2815 (name "sbcl-cffi")
2816 (version "0.23.0")
2817 (source
2818 (origin
2819 (method git-fetch)
2820 (uri (git-reference
2821 (url "https://github.com/cffi/cffi")
2822 (commit (string-append "v" version))))
2823 (file-name (git-file-name "cffi-bootstrap" version))
2824 (sha256
2825 (base32 "03s98imc5niwnpj3hhrafl7dmxq45g74h96sm68976k7ahi3vl5b"))))
2826 (build-system asdf-build-system/sbcl)
2827 (inputs
2828 `(("alexandria" ,sbcl-alexandria)
2829 ("babel" ,sbcl-babel)
2830 ("libffi" ,libffi)
2831 ("trivial-features" ,sbcl-trivial-features)))
2832 (native-inputs
2833 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2834 ("pkg-config" ,pkg-config)
2835 ("rt" ,sbcl-rt)))
2836 (arguments
2837 '(#:phases
2838 (modify-phases %standard-phases
2839 (add-after 'unpack 'fix-arm-support
2840 (lambda _
2841 ;; This is apparently deprecated since libffi-3.3.
2842 (substitute* "libffi/libffi-types.lisp"
2843 (("\\\(\\\(:unix64.*") ")\n"))
2844 #t))
2845 (add-after 'unpack 'fix-paths
2846 (lambda* (#:key inputs #:allow-other-keys)
2847 (substitute* "libffi/libffi.lisp"
2848 (("libffi.so.7" all) (string-append
2849 (assoc-ref inputs "libffi")
2850 "/lib/" all)))
2851 (substitute* "toolchain/c-toolchain.lisp"
2852 (("\"cc\"") (format #f "~S" (which "gcc"))))))
2853 (add-after 'build 'install-headers
2854 (lambda* (#:key outputs #:allow-other-keys)
2855 (install-file "grovel/common.h"
2856 (string-append
2857 (assoc-ref outputs "out")
2858 "/include/grovel")))))
2859 #:asd-files '("cffi.asd"
2860 "cffi-toolchain.asd"
2861 "cffi-grovel.asd"
2862 "cffi-libffi.asd"
2863 "cffi-uffi-compat.asd")
2864 #:asd-systems '("cffi"
2865 "cffi-libffi"
2866 "cffi-uffi-compat")))
2867 (home-page "https://common-lisp.net/project/cffi/")
2868 (synopsis "Common Foreign Function Interface for Common Lisp")
2869 (description "The Common Foreign Function Interface (CFFI)
2870 purports to be a portable foreign function interface for Common Lisp.
2871 The CFFI library is composed of a Lisp-implementation-specific backend
2872 in the CFFI-SYS package, and a portable frontend in the CFFI
2873 package.")
2874 (license license:expat)))
2875
2876 (define-public cl-cffi
2877 (sbcl-package->cl-source-package sbcl-cffi))
2878
2879 (define-public ecl-cffi
2880 (sbcl-package->ecl-package sbcl-cffi))
2881
2882 (define-public sbcl-cl-sqlite
2883 (package
2884 (name "sbcl-cl-sqlite")
2885 (version "0.2.1")
2886 (source
2887 (origin
2888 (method git-fetch)
2889 (uri (git-reference
2890 (url "https://github.com/dmitryvk/cl-sqlite")
2891 (commit version)))
2892 (file-name (git-file-name "cl-sqlite" version))
2893 (sha256
2894 (base32
2895 "08iv7b4m0hh7qx2cvq4f510nrgdld0vicnvmqsh9w0fgrcgmyg4k"))))
2896 (build-system asdf-build-system/sbcl)
2897 (inputs
2898 `(("iterate" ,sbcl-iterate)
2899 ("cffi" ,sbcl-cffi)
2900 ("sqlite" ,sqlite)))
2901 (native-inputs
2902 `(("fiveam" ,sbcl-fiveam)
2903 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2904 (arguments
2905 `(#:asd-systems '("sqlite")
2906 #:phases
2907 (modify-phases %standard-phases
2908 (add-after 'unpack 'fix-paths
2909 (lambda* (#:key inputs #:allow-other-keys)
2910 (substitute* "sqlite-ffi.lisp"
2911 (("libsqlite3" all) (string-append
2912 (assoc-ref inputs "sqlite")"/lib/" all))))))))
2913 (home-page "https://common-lisp.net/project/cl-sqlite/")
2914 (synopsis "Common Lisp binding for SQLite")
2915 (description
2916 "The @command{cl-sqlite} package is an interface to the SQLite embedded
2917 relational database engine.")
2918 (license license:public-domain)))
2919
2920 (define-public cl-sqlite
2921 (sbcl-package->cl-source-package sbcl-cl-sqlite))
2922
2923 (define-public ecl-cl-sqlite
2924 (sbcl-package->ecl-package sbcl-cl-sqlite))
2925
2926 (define-public sbcl-parenscript
2927 ;; Source archives are overwritten on every release, we use the Git repo instead.
2928 (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766"))
2929 (package
2930 (name "sbcl-parenscript")
2931 (version (git-version "2.7.1" "1" commit))
2932 (source
2933 (origin
2934 (method git-fetch)
2935 (uri (git-reference
2936 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
2937 (commit commit)))
2938 (file-name (git-file-name "parenscript" version))
2939 (sha256
2940 (base32
2941 "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf"))))
2942 (build-system asdf-build-system/sbcl)
2943 (inputs
2944 `(("cl-ppcre" ,sbcl-cl-ppcre)
2945 ("anaphora" ,sbcl-anaphora)
2946 ("named-readtables" ,sbcl-named-readtables)))
2947 (home-page "https://common-lisp.net/project/parenscript/")
2948 (synopsis "Translator from a subset of Common Lisp to JavaScript")
2949 (description
2950 "Parenscript is a translator from an extended subset of Common Lisp to
2951 JavaScript. Parenscript code can run almost identically on both the
2952 browser (as JavaScript) and server (as Common Lisp).
2953
2954 Parenscript code is treated the same way as Common Lisp code, making the full
2955 power of Lisp macros available for JavaScript. This provides a web
2956 development environment that is unmatched in its ability to reduce code
2957 duplication and provide advanced meta-programming facilities to web
2958 developers.
2959
2960 At the same time, Parenscript is different from almost all other \"language
2961 X\" to JavaScript translators in that it imposes almost no overhead:
2962
2963 @itemize
2964 @item No run-time dependencies: Any piece of Parenscript code is runnable
2965 as-is. There are no JavaScript files to include.
2966 @item Native types: Parenscript works entirely with native JavaScript data
2967 types. There are no new types introduced, and object prototypes are not
2968 touched.
2969 @item Native calling convention: Any JavaScript code can be called without the
2970 need for bindings. Likewise, Parenscript can be used to make efficient,
2971 self-contained JavaScript libraries.
2972 @item Readable code: Parenscript generates concise, formatted, idiomatic
2973 JavaScript code. Identifier names are preserved. This enables seamless
2974 debugging in tools like Firebug.
2975 @item Efficiency: Parenscript introduces minimal overhead for advanced Common
2976 Lisp features. The generated code is almost as fast as hand-written
2977 JavaScript.
2978 @end itemize\n")
2979 (license license:bsd-3))))
2980
2981 (define-public cl-parenscript
2982 (sbcl-package->cl-source-package sbcl-parenscript))
2983
2984 (define-public ecl-parenscript
2985 (sbcl-package->ecl-package sbcl-parenscript))
2986
2987 (define-public sbcl-cl-json
2988 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
2989 (package
2990 (name "sbcl-cl-json")
2991 (version (git-version "0.5" "1" commit))
2992 (source
2993 (origin
2994 (method git-fetch)
2995 (uri (git-reference
2996 (url "https://github.com/hankhero/cl-json")
2997 (commit commit)))
2998 (file-name (git-file-name "cl-json" version))
2999 (sha256
3000 (base32
3001 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
3002 (build-system asdf-build-system/sbcl)
3003 (native-inputs
3004 `(("fiveam" ,sbcl-fiveam)))
3005 (home-page "https://github.com/hankhero/cl-json")
3006 (synopsis "JSON encoder and decoder for Common-Lisp")
3007 (description
3008 "@command{cl-json} provides an encoder of Lisp objects to JSON format
3009 and a corresponding decoder of JSON data to Lisp objects. Both the encoder
3010 and the decoder are highly customizable; at the same time, the default
3011 settings ensure a very simple mode of operation, similar to that provided by
3012 @command{yason} or @command{st-json}.")
3013 (license license:expat))))
3014
3015 (define-public cl-json
3016 (sbcl-package->cl-source-package sbcl-cl-json))
3017
3018 (define-public ecl-cl-json
3019 (sbcl-package->ecl-package sbcl-cl-json))
3020
3021 (define-public sbcl-unix-opts
3022 (package
3023 (name "sbcl-unix-opts")
3024 (version "0.1.7")
3025 (source
3026 (origin
3027 (method git-fetch)
3028 (uri (git-reference
3029 (url "https://github.com/libre-man/unix-opts")
3030 (commit version)))
3031 (file-name (git-file-name "unix-opts" version))
3032 (sha256
3033 (base32
3034 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
3035 (build-system asdf-build-system/sbcl)
3036 (home-page "https://github.com/hankhero/cl-json")
3037 (synopsis "Unix-style command line options parser")
3038 (description
3039 "This is a minimalistic parser of command line options. The main
3040 advantage of the library is the ability to concisely define command line
3041 options once and then use this definition for parsing and extraction of
3042 command line arguments, as well as printing description of command line
3043 options (you get --help for free). This way you don't need to repeat
3044 yourself. Also, @command{unix-opts} doesn't depend on anything and
3045 precisely controls the behavior of the parser via Common Lisp restarts.")
3046 (license license:expat)))
3047
3048 (define-public cl-unix-opts
3049 (sbcl-package->cl-source-package sbcl-unix-opts))
3050
3051 (define-public ecl-unix-opts
3052 (sbcl-package->ecl-package sbcl-unix-opts))
3053
3054 (define-public sbcl-trivial-garbage
3055 (package
3056 (name "sbcl-trivial-garbage")
3057 (version "0.21")
3058 (source
3059 (origin
3060 (method git-fetch)
3061 (uri (git-reference
3062 (url "https://github.com/trivial-garbage/trivial-garbage")
3063 (commit (string-append "v" version))))
3064 (file-name (git-file-name "trivial-garbage" version))
3065 (sha256
3066 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
3067 (build-system asdf-build-system/sbcl)
3068 (native-inputs
3069 `(("rt" ,sbcl-rt)))
3070 (home-page "https://common-lisp.net/project/trivial-garbage/")
3071 (synopsis "Portable GC-related APIs for Common Lisp")
3072 (description "@command{trivial-garbage} provides a portable API to
3073 finalizers, weak hash-tables and weak pointers on all major implementations of
3074 the Common Lisp programming language.")
3075 (license license:public-domain)))
3076
3077 (define-public cl-trivial-garbage
3078 (sbcl-package->cl-source-package sbcl-trivial-garbage))
3079
3080 (define-public ecl-trivial-garbage
3081 (sbcl-package->ecl-package sbcl-trivial-garbage))
3082
3083 (define-public sbcl-closer-mop
3084 (let ((commit "19c9d33f576e10715fd79cc1d4f688dab0f241d6"))
3085 (package
3086 (name "sbcl-closer-mop")
3087 (version (git-version "1.0.0" "2" commit))
3088 (source
3089 (origin
3090 (method git-fetch)
3091 (uri (git-reference
3092 (url "https://github.com/pcostanza/closer-mop")
3093 (commit commit)))
3094 (sha256
3095 (base32 "1w3x087wvlwkd6swfdgbvjfs6kazf0la8ax4pjfzikwjch4snn2c"))
3096 (file-name (git-file-name "closer-mop" version ))))
3097 (build-system asdf-build-system/sbcl)
3098 (home-page "https://github.com/pcostanza/closer-mop")
3099 (synopsis "Rectifies absent or incorrect CLOS MOP features")
3100 (description "Closer to MOP is a compatibility layer that rectifies many
3101 of the absent or incorrect CLOS MOP features across a broad range of Common
3102 Lisp implementations.")
3103 (license license:expat))))
3104
3105 (define-public cl-closer-mop
3106 (sbcl-package->cl-source-package sbcl-closer-mop))
3107
3108 (define-public ecl-closer-mop
3109 (sbcl-package->ecl-package sbcl-closer-mop))
3110
3111 (define-public sbcl-cl-cffi-gtk
3112 (let ((commit "e9a46df65995d9a16e6c8dbdc1e09b775eb4a966"))
3113 (package
3114 (name "sbcl-cl-cffi-gtk")
3115 (version (git-version "0.11.2" "2" commit))
3116 (source
3117 (origin
3118 (method git-fetch)
3119 (uri (git-reference
3120 (url "https://github.com/Ferada/cl-cffi-gtk/")
3121 (commit commit)))
3122 (file-name (git-file-name "cl-cffi-gtk" version))
3123 (sha256
3124 (base32
3125 "04vix0gmqsj91lm975sx7jhlnz5gq1xf9jp873mp7c8frc5dk1jj"))))
3126 (build-system asdf-build-system/sbcl)
3127 (native-inputs
3128 `(("fiveam" ,sbcl-fiveam)))
3129 (inputs
3130 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3131 ("cairo" ,cairo)
3132 ("cffi" ,sbcl-cffi)
3133 ("closer-mop" ,sbcl-closer-mop)
3134 ("gdk-pixbuf" ,gdk-pixbuf)
3135 ("glib" ,glib)
3136 ("gtk" ,gtk+)
3137 ("iterate" ,sbcl-iterate)
3138 ("pango" ,pango)
3139 ("trivial-features" ,sbcl-trivial-features)
3140 ("trivial-garbage" ,sbcl-trivial-garbage)))
3141 (arguments
3142 `(#:asd-files '("gtk/cl-cffi-gtk.asd"
3143 "glib/cl-cffi-gtk-glib.asd"
3144 "gobject/cl-cffi-gtk-gobject.asd"
3145 "gio/cl-cffi-gtk-gio.asd"
3146 "cairo/cl-cffi-gtk-cairo.asd"
3147 "pango/cl-cffi-gtk-pango.asd"
3148 "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
3149 "gdk/cl-cffi-gtk-gdk.asd")
3150 #:test-asd-file "test/cl-cffi-gtk-test.asd"
3151 ;; TODO: Tests fail with memory fault.
3152 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
3153 #:tests? #f
3154 #:phases
3155 (modify-phases %standard-phases
3156 (add-after 'unpack 'fix-paths
3157 (lambda* (#:key inputs #:allow-other-keys)
3158 (substitute* "glib/glib.init.lisp"
3159 (("libglib|libgthread" all)
3160 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3161 (substitute* "gobject/gobject.init.lisp"
3162 (("libgobject" all)
3163 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3164 (substitute* "gio/gio.init.lisp"
3165 (("libgio" all)
3166 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3167 (substitute* "cairo/cairo.init.lisp"
3168 (("libcairo" all)
3169 (string-append (assoc-ref inputs "cairo") "/lib/" all)))
3170 (substitute* "pango/pango.init.lisp"
3171 (("libpango" all)
3172 (string-append (assoc-ref inputs "pango") "/lib/" all)))
3173 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
3174 (("libgdk_pixbuf" all)
3175 (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))
3176 (substitute* "gdk/gdk.init.lisp"
3177 (("libgdk" all)
3178 (string-append (assoc-ref inputs "gtk") "/lib/" all)))
3179 (substitute* "gdk/gdk.package.lisp"
3180 (("libgtk" all)
3181 (string-append (assoc-ref inputs "gtk") "/lib/" all))))))))
3182 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
3183 (synopsis "Common Lisp binding for GTK+3")
3184 (description
3185 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
3186 is a library for creating graphical user interfaces.")
3187 (license license:lgpl3))))
3188
3189 (define-public cl-cffi-gtk
3190 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
3191
3192 (define-public ecl-cl-cffi-gtk
3193 (sbcl-package->ecl-package sbcl-cl-cffi-gtk))
3194
3195 (define-public sbcl-cl-webkit
3196 (let ((commit "0bc05cc73257670ab241853b9cc9ccb68940fe44"))
3197 (package
3198 (name "sbcl-cl-webkit")
3199 (version (git-version "2.4" "10" commit))
3200 (source
3201 (origin
3202 (method git-fetch)
3203 (uri (git-reference
3204 (url "https://github.com/joachifm/cl-webkit")
3205 (commit commit)))
3206 (file-name (git-file-name "cl-webkit" version))
3207 (sha256
3208 (base32
3209 "1kg6illspvb5647pm0x819ag2n7njnqvrm18jzgd28vk6nlkrcmq"))))
3210 (build-system asdf-build-system/sbcl)
3211 (inputs
3212 `(("cffi" ,sbcl-cffi)
3213 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3214 ("webkitgtk" ,webkitgtk)))
3215 (arguments
3216 `(#:asd-systems '("cl-webkit2")
3217 #:phases
3218 (modify-phases %standard-phases
3219 (add-after 'unpack 'fix-paths
3220 (lambda* (#:key inputs #:allow-other-keys)
3221 (substitute* "webkit2/webkit2.init.lisp"
3222 (("libwebkit2gtk" all)
3223 (string-append
3224 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
3225 (home-page "https://github.com/joachifm/cl-webkit")
3226 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3227 (description
3228 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3229 currently targeting WebKit version 2. The WebKitGTK+ library adds web
3230 browsing capabilities to an application, leveraging the full power of the
3231 WebKit browsing engine.")
3232 (license license:expat))))
3233
3234 (define-public cl-webkit
3235 (sbcl-package->cl-source-package sbcl-cl-webkit))
3236
3237 (define-public ecl-cl-webkit
3238 (sbcl-package->ecl-package sbcl-cl-webkit))
3239
3240 (define-public sbcl-lparallel
3241 (package
3242 (name "sbcl-lparallel")
3243 (version "2.8.4")
3244 (source
3245 (origin
3246 (method git-fetch)
3247 (uri (git-reference
3248 (url "https://github.com/lmj/lparallel/")
3249 (commit (string-append "lparallel-" version))))
3250 (file-name (git-file-name "lparallel" version))
3251 (sha256
3252 (base32
3253 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3254 (build-system asdf-build-system/sbcl)
3255 (inputs
3256 `(("alexandria" ,sbcl-alexandria)
3257 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3258 ("trivial-garbage" ,sbcl-trivial-garbage)))
3259 (arguments
3260 `(#:phases
3261 (modify-phases %standard-phases
3262 (add-after 'unpack 'fix-dependency
3263 ;; lparallel loads a SBCL specific system in its asd file. This is
3264 ;; not carried over into the fasl which is generated. In order for
3265 ;; it to be carried over, it needs to be listed as a dependency.
3266 (lambda _
3267 (substitute* "lparallel.asd"
3268 ((":depends-on \\(:alexandria" all)
3269 (string-append all " #+sbcl :sb-cltl2"))))))))
3270 (home-page "https://lparallel.org/")
3271 (synopsis "Parallelism for Common Lisp")
3272 (description
3273 "@command{lparallel} is a library for parallel programming in Common
3274 Lisp, featuring:
3275
3276 @itemize
3277 @item a simple model of task submission with receiving queue,
3278 @item constructs for expressing fine-grained parallelism,
3279 @item asynchronous condition handling across thread boundaries,
3280 @item parallel versions of map, reduce, sort, remove, and many others,
3281 @item promises, futures, and delayed evaluation constructs,
3282 @item computation trees for parallelizing interconnected tasks,
3283 @item bounded and unbounded FIFO queues,
3284 @item high and low priority tasks,
3285 @item task killing by category,
3286 @item integrated timeouts.
3287 @end itemize\n")
3288 (license license:expat)))
3289
3290 (define-public cl-lparallel
3291 (sbcl-package->cl-source-package sbcl-lparallel))
3292
3293 (define-public ecl-lparallel
3294 (package
3295 (inherit (sbcl-package->ecl-package sbcl-lparallel))
3296 (arguments
3297 ;; TODO: Find why the tests get stuck forever; disable them for now.
3298 `(#:tests? #f))))
3299
3300 (define-public sbcl-cl-markup
3301 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3302 (package
3303 (name "sbcl-cl-markup")
3304 (version (git-version "0.1" "1" commit))
3305 (source
3306 (origin
3307 (method git-fetch)
3308 (uri (git-reference
3309 (url "https://github.com/arielnetworks/cl-markup/")
3310 (commit commit)))
3311 (file-name (git-file-name "cl-markup" version))
3312 (sha256
3313 (base32
3314 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3315 (build-system asdf-build-system/sbcl)
3316 (home-page "https://github.com/arielnetworks/cl-markup/")
3317 (synopsis "Markup generation library for Common Lisp")
3318 (description
3319 "A modern markup generation library for Common Lisp that features:
3320
3321 @itemize
3322 @item Fast (even faster through compiling the code)
3323 @item Safety
3324 @item Support for multiple document types (markup, xml, html, html5, xhtml)
3325 @item Output with doctype
3326 @item Direct output to stream
3327 @end itemize\n")
3328 (license license:lgpl3+))))
3329
3330 (define-public cl-markup
3331 (sbcl-package->cl-source-package sbcl-cl-markup))
3332
3333 (define-public ecl-cl-markup
3334 (sbcl-package->ecl-package sbcl-cl-markup))
3335
3336 (define-public sbcl-cl-mustache
3337 (package
3338 (name "sbcl-cl-mustache")
3339 (version "0.12.1")
3340 (source
3341 (origin
3342 (method git-fetch)
3343 (uri (git-reference
3344 (url "https://github.com/kanru/cl-mustache")
3345 (commit (string-append "v" version))))
3346 (file-name (git-file-name "cl-mustache" version))
3347 (sha256
3348 (base32 "149xbb6wxq1napliwm9cv729hwcgfnjli6y8hingfixz7f10lhks"))))
3349 (build-system asdf-build-system/sbcl)
3350 (home-page "https://github.com/kanru/cl-mustache")
3351 (synopsis "Common Lisp Mustache template renderer")
3352 (description "This is a Common Lisp implementation for the Mustache
3353 template system. More details on the standard are available at
3354 @url{https://mustache.github.io}.")
3355 (license license:expat)))
3356
3357 (define-public cl-mustache
3358 (sbcl-package->cl-source-package sbcl-cl-mustache))
3359
3360 (define-public ecl-cl-mustache
3361 (sbcl-package->ecl-package sbcl-cl-mustache))
3362
3363 (define-public sbcl-cl-css
3364 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3365 (package
3366 (name "sbcl-cl-css")
3367 (version (git-version "0.1" "1" commit))
3368 (source
3369 (origin
3370 (method git-fetch)
3371 (uri (git-reference
3372 (url "https://github.com/inaimathi/cl-css/")
3373 (commit commit)))
3374 (file-name (git-file-name "cl-css" version))
3375 (sha256
3376 (base32
3377 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3378 (build-system asdf-build-system/sbcl)
3379 (home-page "https://github.com/inaimathi/cl-css/")
3380 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3381 (description
3382 "This is a dead-simple, non validating, inline CSS generator for Common
3383 Lisp. Its goals are axiomatic syntax, simple implementation to support
3384 portability, and boilerplate reduction in CSS.")
3385 (license license:expat))))
3386
3387 (define-public cl-css
3388 (sbcl-package->cl-source-package sbcl-cl-css))
3389
3390 (define-public ecl-cl-css
3391 (sbcl-package->ecl-package sbcl-cl-css))
3392
3393 (define-public sbcl-portable-threads
3394 (let ((commit "aa26bf38338a6b068bf8bfb3375d8d8c3b0a28df"))
3395 (package
3396 (name "sbcl-portable-threads")
3397 (version (git-version "2.3" "2" commit))
3398 (source
3399 (origin
3400 (method git-fetch)
3401 (uri (git-reference
3402 (url "https://github.com/binghe/portable-threads/")
3403 (commit commit)))
3404 (file-name (git-file-name "portable-threads" version))
3405 (sha256
3406 (base32 "058ksi07vfdmhrf5mdlc833s82m1rcqfja2266520m3r8bzs8bvs"))))
3407 (build-system asdf-build-system/sbcl)
3408 (arguments
3409 `(;; Tests seem broken.
3410 #:tests? #f))
3411 (home-page "https://github.com/binghe/portable-threads")
3412 (synopsis "Portable threads API for Common Lisp")
3413 (description
3414 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3415 Lisp (from GBBopen project).")
3416 (license license:asl2.0))))
3417
3418 (define-public cl-portable-threads
3419 (sbcl-package->cl-source-package sbcl-portable-threads))
3420
3421 (define-public ecl-portable-threads
3422 (sbcl-package->ecl-package sbcl-portable-threads))
3423
3424 (define-public sbcl-usocket
3425 (package
3426 (name "sbcl-usocket")
3427 (version "0.8.3")
3428 (source
3429 (origin
3430 (method git-fetch)
3431 (uri (git-reference
3432 (url "https://github.com/usocket/usocket/")
3433 (commit (string-append "v" version))))
3434 (file-name (git-file-name "usocket" version))
3435 (sha256
3436 (base32
3437 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3438 (build-system asdf-build-system/sbcl)
3439 (native-inputs
3440 `(("rt" ,sbcl-rt)))
3441 (inputs
3442 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3443 ("split-sequence" ,sbcl-split-sequence)))
3444 (arguments
3445 `(#:tests? #f ; FIXME: Tests need network access?
3446 #:asd-systems '("usocket"
3447 "usocket-server")))
3448 (home-page "https://common-lisp.net/project/usocket/")
3449 (synopsis "Universal socket library for Common Lisp")
3450 (description
3451 "This library strives to provide a portable TCP/IP and UDP/IP socket
3452 interface for as many Common Lisp implementations as possible, while keeping
3453 the abstraction and portability layer as thin as possible.")
3454 (license license:expat)))
3455
3456 (define-public cl-usocket
3457 (sbcl-package->cl-source-package sbcl-usocket))
3458
3459 (define-public ecl-usocket
3460 (sbcl-package->ecl-package sbcl-usocket))
3461
3462 (define-public sbcl-s-xml
3463 (package
3464 (name "sbcl-s-xml")
3465 (version "3")
3466 (source
3467 (origin
3468 (method url-fetch)
3469 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3470 (sha256
3471 (base32
3472 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3473 (build-system asdf-build-system/sbcl)
3474 (home-page "https://common-lisp.net/project/s-xml/")
3475 (synopsis "Simple XML parser implemented in Common Lisp")
3476 (description
3477 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3478 parser implementation has the following features:
3479
3480 @itemize
3481 @item It works (handling many common XML usages).
3482 @item It is very small (the core is about 700 lines of code, including
3483 comments and whitespace).
3484 @item It has a core API that is simple, efficient and pure functional, much
3485 like that from SSAX (see also http://ssax.sourceforge.net).
3486 @item It supports different DOM models: an XSML-based one, an LXML-based one
3487 and a classic xml-element struct based one.
3488 @item It is reasonably time and space efficient (internally avoiding garbage
3489 generatation as much as possible).
3490 @item It does support CDATA.
3491 @item It should support the same character sets as your Common Lisp
3492 implementation.
3493 @item It does support XML name spaces.
3494 @end itemize
3495
3496 This XML parser implementation has the following limitations:
3497
3498 @itemize
3499 @item It does not support any special tags (like processing instructions).
3500 @item It is not validating, even skips DTD's all together.
3501 @end itemize\n")
3502 (license license:lgpl3+)))
3503
3504 (define-public cl-s-xml
3505 (sbcl-package->cl-source-package sbcl-s-xml))
3506
3507 (define-public ecl-s-xml
3508 (sbcl-package->ecl-package sbcl-s-xml))
3509
3510 (define-public sbcl-s-xml-rpc
3511 (package
3512 (name "sbcl-s-xml-rpc")
3513 (version "7")
3514 (source
3515 (origin
3516 (method url-fetch)
3517 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3518 (sha256
3519 (base32
3520 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3521 (build-system asdf-build-system/sbcl)
3522 (inputs
3523 `(("s-xml" ,sbcl-s-xml)))
3524 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3525 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3526 (description
3527 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3528 client and server.")
3529 (license license:lgpl3+)))
3530
3531 (define-public cl-s-xml-rpc
3532 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3533
3534 (define-public ecl-s-xml-rpc
3535 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3536
3537 (define-public sbcl-trivial-arguments
3538 (let ((commit "ecd84ed9cf9ef8f1e873d7409e6bd04979372aa7")
3539 (revision "1"))
3540 (package
3541 (name "sbcl-trivial-arguments")
3542 (version (git-version "1.1.0" revision commit))
3543 (source
3544 (origin
3545 (method git-fetch)
3546 (uri (git-reference
3547 (url "https://github.com/Shinmera/trivial-arguments")
3548 (commit commit)))
3549 (file-name (git-file-name "trivial-arguments" version))
3550 (sha256
3551 (base32 "02vaqfavhj8jqxnr68nnzvzshm8jbgcy6m9lvyv4daa6f7ihqf88"))))
3552 (build-system asdf-build-system/sbcl)
3553 (home-page "https://github.com/Shinmera/trivial-arguments")
3554 (synopsis "Common Lisp library to retrieve a function's lambda-list")
3555 (description
3556 "This is a simple library to retrieve the argument list of a function.")
3557 (license license:zlib))))
3558
3559 (define-public ecl-trivial-arguments
3560 (sbcl-package->ecl-package sbcl-trivial-arguments))
3561
3562 (define-public cl-trivial-arguments
3563 (sbcl-package->cl-source-package sbcl-trivial-arguments))
3564
3565 (define-public sbcl-trivial-clipboard
3566 (let ((commit "8a580cb97196be7cf096548eb1f46794cd22bb39"))
3567 (package
3568 (name "sbcl-trivial-clipboard")
3569 (version (git-version "0.0.0.0" "4" commit))
3570 (source
3571 (origin
3572 (method git-fetch)
3573 (uri (git-reference
3574 (url "https://github.com/snmsts/trivial-clipboard")
3575 (commit commit)))
3576 (file-name (git-file-name "trivial-clipboard" version))
3577 (sha256
3578 (base32
3579 "0apkgqrscylw3hhm5x2vs0z3hz6h7zd7dl5y3wr2zl8qjpvpc80k"))))
3580 (build-system asdf-build-system/sbcl)
3581 (inputs
3582 `(("xclip" ,xclip)))
3583 (native-inputs
3584 `(("fiveam" ,sbcl-fiveam)))
3585 (arguments
3586 `(#:phases
3587 (modify-phases %standard-phases
3588 (add-after 'unpack 'fix-paths
3589 (lambda* (#:key inputs #:allow-other-keys)
3590 (substitute* "src/text.lisp"
3591 (("\"xclip\"")
3592 (string-append "\"" (assoc-ref inputs "xclip") "/bin/xclip\""))))))))
3593 (home-page "https://github.com/snmsts/trivial-clipboard")
3594 (synopsis "Access system clipboard in Common Lisp")
3595 (description
3596 "@command{trivial-clipboard} gives access to the system clipboard.")
3597 (license license:expat))))
3598
3599 (define-public cl-trivial-clipboard
3600 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3601
3602 (define-public ecl-trivial-clipboard
3603 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3604
3605 (define-public sbcl-trivial-backtrace
3606 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3607 (revision "1"))
3608 (package
3609 (name "sbcl-trivial-backtrace")
3610 (version (git-version "0.0.0" revision commit))
3611 (source
3612 (origin
3613 (method git-fetch)
3614 (uri (git-reference
3615 (url "https://github.com/gwkkwg/trivial-backtrace")
3616 (commit commit)))
3617 (file-name (git-file-name "trivial-backtrace" version))
3618 (sha256
3619 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3620 (build-system asdf-build-system/sbcl)
3621 (inputs
3622 `(("sbcl-lift" ,sbcl-lift)))
3623 (arguments
3624 `(#:phases
3625 (modify-phases %standard-phases
3626 (add-after 'check 'delete-test-results
3627 (lambda* (#:key outputs #:allow-other-keys)
3628 (let ((test-results (string-append (assoc-ref outputs "out")
3629 "/share/common-lisp/"
3630 (%lisp-type)
3631 "/trivial-backtrace"
3632 "/test-results")))
3633 (when (file-exists? test-results)
3634 (delete-file-recursively test-results)))
3635 #t)))))
3636 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3637 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3638 (description
3639 "One of the many things that didn't quite get into the Common Lisp
3640 standard was how to get a Lisp to output its call stack when something has
3641 gone wrong. As such, each Lisp has developed its own notion of what to
3642 display, how to display it, and what sort of arguments can be used to
3643 customize it. @code{trivial-backtrace} is a simple solution to generating a
3644 backtrace portably.")
3645 (license license:expat))))
3646
3647 (define-public cl-trivial-backtrace
3648 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3649
3650 (define-public ecl-trivial-backtrace
3651 (sbcl-package->ecl-package sbcl-trivial-backtrace))
3652
3653 (define-public sbcl-rfc2388
3654 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3655 (revision "1"))
3656 (package
3657 (name "sbcl-rfc2388")
3658 (version (git-version "0.0.0" revision commit))
3659 (source
3660 (origin
3661 (method git-fetch)
3662 (uri (git-reference
3663 (url "https://github.com/jdz/rfc2388")
3664 (commit commit)))
3665 (file-name (git-file-name "rfc2388" version))
3666 (sha256
3667 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3668 (build-system asdf-build-system/sbcl)
3669 (home-page "https://github.com/jdz/rfc2388/")
3670 (synopsis "An implementation of RFC 2388 in Common Lisp")
3671 (description
3672 "This package contains an implementation of RFC 2388, which is used to
3673 process form data posted with HTTP POST method using enctype
3674 \"multipart/form-data\".")
3675 (license license:bsd-2))))
3676
3677 (define-public cl-rfc2388
3678 (sbcl-package->cl-source-package sbcl-rfc2388))
3679
3680 (define-public ecl-rfc2388
3681 (sbcl-package->ecl-package sbcl-rfc2388))
3682
3683 (define-public sbcl-md5
3684 (package
3685 (name "sbcl-md5")
3686 (version "2.0.4")
3687 (source
3688 (origin
3689 (method git-fetch)
3690 (uri (git-reference
3691 (url "https://github.com/pmai/md5")
3692 (commit (string-append "release-" version))))
3693 (file-name (git-file-name "md5" version))
3694 (sha256
3695 (base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
3696 (build-system asdf-build-system/sbcl)
3697 (home-page "https://github.com/pmai/md5")
3698 (synopsis
3699 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3700 (description
3701 "This package implements The MD5 Message-Digest Algorithm, as defined in
3702 RFC 1321 by R. Rivest, published April 1992.")
3703 (license license:public-domain)))
3704
3705 (define-public cl-md5
3706 (sbcl-package->cl-source-package sbcl-md5))
3707
3708 (define-public ecl-md5
3709 (package
3710 (inherit (sbcl-package->ecl-package sbcl-md5))
3711 (inputs
3712 `(("flexi-streams" ,ecl-flexi-streams)))))
3713
3714 (define-public sbcl-cl+ssl
3715 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
3716 (revision "1"))
3717 (package
3718 (name "sbcl-cl+ssl")
3719 (version (git-version "0.0.0" revision commit))
3720 (source
3721 (origin
3722 (method git-fetch)
3723 (uri (git-reference
3724 (url "https://github.com/cl-plus-ssl/cl-plus-ssl")
3725 (commit commit)))
3726 (file-name (git-file-name "cl+ssl" version))
3727 (sha256
3728 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
3729 (build-system asdf-build-system/sbcl)
3730 (arguments
3731 '(#:phases
3732 (modify-phases %standard-phases
3733 (add-after 'unpack 'fix-paths
3734 (lambda* (#:key inputs #:allow-other-keys)
3735 (substitute* "src/reload.lisp"
3736 (("libssl.so" all)
3737 (string-append
3738 (assoc-ref inputs "openssl") "/lib/" all))))))))
3739 (inputs
3740 `(("openssl" ,openssl)
3741 ("sbcl-cffi" ,sbcl-cffi)
3742 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3743 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3744 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3745 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3746 ("sbcl-alexandria" ,sbcl-alexandria)
3747 ("sbcl-trivial-features" ,sbcl-trivial-features)))
3748 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
3749 (synopsis "Common Lisp bindings to OpenSSL")
3750 (description
3751 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3752 code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3753 Development into CL+SSL was done by David Lichteblau.")
3754 (license license:expat))))
3755
3756 (define-public cl-cl+ssl
3757 (sbcl-package->cl-source-package sbcl-cl+ssl))
3758
3759 (define-public ecl-cl+ssl
3760 (sbcl-package->ecl-package sbcl-cl+ssl))
3761
3762 (define-public sbcl-kmrcl
3763 (let ((version "1.111")
3764 (commit "4a27407aad9deb607ffb8847630cde3d041ea25a")
3765 (revision "1"))
3766 (package
3767 (name "sbcl-kmrcl")
3768 (version (git-version version revision commit))
3769 (source
3770 (origin
3771 (method git-fetch)
3772 (uri (git-reference
3773 (url "http://git.kpe.io/kmrcl.git/")
3774 (commit commit)))
3775 (file-name (git-file-name name version))
3776 (sha256
3777 (base32 "06gx04mah5nc8w78s0j8628divbf1s5w7af8w7pvzb2d5mgvrbd2"))))
3778 (build-system asdf-build-system/sbcl)
3779 (inputs
3780 `(("sbcl-rt" ,sbcl-rt)))
3781 (home-page "http://files.kpe.io/kmrcl/")
3782 (synopsis "General utilities for Common Lisp programs")
3783 (description
3784 "KMRCL is a collection of utilities used by a number of Kevin
3785 Rosenberg's Common Lisp packages.")
3786 (license license:llgpl))))
3787
3788 (define-public cl-kmrcl
3789 (sbcl-package->cl-source-package sbcl-kmrcl))
3790
3791 (define-public ecl-kmrcl
3792 (sbcl-package->ecl-package sbcl-kmrcl))
3793
3794 (define-public sbcl-cl-base64
3795 ;; 3.3.4 tests are broken, upstream fixes them.
3796 (let ((commit "577683b18fd880b82274d99fc96a18a710e3987a"))
3797 (package
3798 (name "sbcl-cl-base64")
3799 (version (git-version "3.3.4" "1" commit))
3800 (source
3801 (origin
3802 (method git-fetch)
3803 (uri (git-reference
3804 (url "http://git.kpe.io/cl-base64.git/")
3805 (commit commit)))
3806 (file-name (git-file-name name version))
3807 (sha256
3808 (base32 "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj"))))
3809 (build-system asdf-build-system/sbcl)
3810 (native-inputs ; For tests.
3811 `(("sbcl-ptester" ,sbcl-ptester)
3812 ("sbcl-kmrcl" ,sbcl-kmrcl)))
3813 (home-page "http://files.kpe.io/cl-base64/")
3814 (synopsis
3815 "Common Lisp package to encode and decode base64 with URI support")
3816 (description
3817 "This package provides highly optimized base64 encoding and decoding.
3818 Besides conversion to and from strings, integer conversions are supported.
3819 Encoding with Uniform Resource Identifiers is supported by using a modified
3820 encoding table that uses only URI-compatible characters.")
3821 (license license:bsd-3))))
3822
3823 (define-public cl-base64
3824 (sbcl-package->cl-source-package sbcl-cl-base64))
3825
3826 (define-public ecl-cl-base64
3827 (sbcl-package->ecl-package sbcl-cl-base64))
3828
3829 (define-public sbcl-chunga
3830 (package
3831 (name "sbcl-chunga")
3832 (version "1.1.7")
3833 (source
3834 (origin
3835 (method git-fetch)
3836 (uri (git-reference
3837 (url "https://github.com/edicl/chunga")
3838 (commit (string-append "v" version))))
3839 (file-name (git-file-name name version))
3840 (sha256
3841 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
3842 (build-system asdf-build-system/sbcl)
3843 (inputs
3844 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3845 (home-page "https://edicl.github.io/chunga/")
3846 (synopsis "Portable chunked streams for Common Lisp")
3847 (description
3848 "Chunga implements streams capable of chunked encoding on demand as
3849 defined in RFC 2616.")
3850 (license license:bsd-2)))
3851
3852 (define-public cl-chunga
3853 (sbcl-package->cl-source-package sbcl-chunga))
3854
3855 (define-public ecl-chunga
3856 (sbcl-package->ecl-package sbcl-chunga))
3857
3858 (define-public sbcl-cl-who
3859 (let ((version "1.1.4")
3860 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
3861 (revision "1"))
3862 (package
3863 (name "sbcl-cl-who")
3864 (version (git-version version revision commit))
3865 (source
3866 (origin
3867 (method git-fetch)
3868 (uri (git-reference
3869 (url "https://github.com/edicl/cl-who")
3870 (commit commit)))
3871 (file-name (git-file-name name version))
3872 (sha256
3873 (base32
3874 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
3875 (build-system asdf-build-system/sbcl)
3876 (native-inputs
3877 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3878 (home-page "https://edicl.github.io/cl-who/")
3879 (synopsis "Yet another Lisp markup language")
3880 (description
3881 "There are plenty of Lisp Markup Languages out there - every Lisp
3882 programmer seems to write at least one during his career - and CL-WHO (where
3883 WHO means \"with-html-output\" for want of a better acronym) is probably just
3884 as good or bad as the next one.")
3885 (license license:bsd-2))))
3886
3887 (define-public cl-who
3888 (sbcl-package->cl-source-package sbcl-cl-who))
3889
3890 (define-public ecl-cl-who
3891 (sbcl-package->ecl-package sbcl-cl-who))
3892
3893 (define-public sbcl-chipz
3894 (let ((version "0.8")
3895 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
3896 (revision "1"))
3897 (package
3898 (name "sbcl-chipz")
3899 (version (git-version version revision commit))
3900 (source
3901 (origin
3902 (method git-fetch)
3903 (uri (git-reference
3904 (url "https://github.com/froydnj/chipz")
3905 (commit commit)))
3906 (file-name (git-file-name name version))
3907 (sha256
3908 (base32
3909 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
3910 (build-system asdf-build-system/sbcl)
3911 (native-inputs
3912 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3913 (home-page "http://method-combination.net/lisp/chipz/")
3914 (synopsis
3915 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
3916 data")
3917 (description
3918 "DEFLATE data, defined in RFC1951, forms the core of popular
3919 compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
3920 Chipz also provides for decompressing data in those formats as well. BZIP2 is
3921 the format used by the popular compression tool bzip2.")
3922 ;; The author describes it as "MIT-like"
3923 (license license:expat))))
3924
3925 (define-public cl-chipz
3926 (sbcl-package->cl-source-package sbcl-chipz))
3927
3928 (define-public ecl-chipz
3929 (sbcl-package->ecl-package sbcl-chipz))
3930
3931 (define-public sbcl-drakma
3932 (package
3933 (name "sbcl-drakma")
3934 (version "2.0.7")
3935 (source
3936 (origin
3937 (method git-fetch)
3938 (uri (git-reference
3939 (url "https://github.com/edicl/drakma")
3940 (commit (string-append "v" version))))
3941 (file-name (git-file-name name version))
3942 (sha256
3943 (base32
3944 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
3945 (build-system asdf-build-system/sbcl)
3946 (inputs
3947 `(("sbcl-puri" ,sbcl-puri)
3948 ("sbcl-cl-base64" ,sbcl-cl-base64)
3949 ("sbcl-chunga" ,sbcl-chunga)
3950 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3951 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3952 ("sbcl-chipz" ,sbcl-chipz)
3953 ("sbcl-usocket" ,sbcl-usocket)
3954 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
3955 (native-inputs
3956 `(("sbcl-fiveam" ,sbcl-fiveam)))
3957 (home-page "https://edicl.github.io/drakma/")
3958 (synopsis "HTTP client written in Common Lisp")
3959 (description
3960 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
3961 knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
3962 sockets, SSL, continuable uploads, file uploads, cookies, and more.")
3963 (license license:bsd-2)))
3964
3965 (define-public cl-drakma
3966 (sbcl-package->cl-source-package sbcl-drakma))
3967
3968 (define-public ecl-drakma
3969 (sbcl-package->ecl-package sbcl-drakma))
3970
3971 (define-public sbcl-hunchentoot
3972 (package
3973 (name "sbcl-hunchentoot")
3974 (version "1.2.38")
3975 (source
3976 (origin
3977 (method git-fetch)
3978 (uri (git-reference
3979 (url "https://github.com/edicl/hunchentoot")
3980 (commit (string-append "v" version))))
3981 (file-name (git-file-name "hunchentoot" version))
3982 (sha256
3983 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
3984 (build-system asdf-build-system/sbcl)
3985 (native-inputs
3986 `(("sbcl-cl-who" ,sbcl-cl-who)
3987 ("sbcl-drakma" ,sbcl-drakma)))
3988 (inputs
3989 `(("sbcl-chunga" ,sbcl-chunga)
3990 ("sbcl-cl-base64" ,sbcl-cl-base64)
3991 ("sbcl-cl-fad" ,sbcl-cl-fad)
3992 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3993 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3994 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
3995 ("sbcl-md5" ,sbcl-md5)
3996 ("sbcl-rfc2388" ,sbcl-rfc2388)
3997 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
3998 ("sbcl-usocket" ,sbcl-usocket)))
3999 (home-page "https://edicl.github.io/hunchentoot/")
4000 (synopsis "Web server written in Common Lisp")
4001 (description
4002 "Hunchentoot is a web server written in Common Lisp and at the same
4003 time a toolkit for building dynamic websites. As a stand-alone web server,
4004 Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
4005 connections (keep-alive), and SSL.")
4006 (license license:bsd-2)))
4007
4008 (define-public cl-hunchentoot
4009 (sbcl-package->cl-source-package sbcl-hunchentoot))
4010
4011 (define-public ecl-hunchentoot
4012 (package
4013 (inherit (sbcl-package->ecl-package sbcl-hunchentoot))
4014 (arguments
4015 ;; Tests fail on ECL with 'Socket error in "socket": EINVAL'.
4016 '(#:tests? #f))))
4017
4018 (define-public sbcl-trivial-types
4019 (package
4020 (name "sbcl-trivial-types")
4021 (version "0.0.1")
4022 (source
4023 (origin
4024 (method git-fetch)
4025 (uri (git-reference
4026 (url "https://github.com/m2ym/trivial-types")
4027 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
4028 (file-name (git-file-name name version))
4029 (sha256
4030 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
4031 (build-system asdf-build-system/sbcl)
4032 (home-page "https://github.com/m2ym/trivial-types")
4033 (synopsis "Trivial type definitions for Common Lisp")
4034 (description
4035 "TRIVIAL-TYPES provides missing but important type definitions such as
4036 PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
4037 (license license:llgpl)))
4038
4039 (define-public cl-trivial-types
4040 (sbcl-package->cl-source-package sbcl-trivial-types))
4041
4042 (define-public ecl-trivial-types
4043 (sbcl-package->ecl-package sbcl-trivial-types))
4044
4045 (define-public sbcl-cl-annot
4046 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
4047 (revision "1"))
4048 (package
4049 (name "sbcl-cl-annot")
4050 (version (git-version "0.0.0" revision commit))
4051 (source
4052 (origin
4053 (method git-fetch)
4054 (uri (git-reference
4055 (url "https://github.com/m2ym/cl-annot")
4056 (commit commit)))
4057 (file-name (git-file-name name version))
4058 (sha256
4059 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
4060 (build-system asdf-build-system/sbcl)
4061 (inputs
4062 `(("sbcl-alexandria" ,sbcl-alexandria)))
4063 (home-page "https://github.com/m2ym/cl-annot")
4064 (synopsis "Python-like Annotation Syntax for Common Lisp.")
4065 (description
4066 "@code{cl-annot} is an general annotation library for Common Lisp.")
4067 (license license:llgpl))))
4068
4069 (define-public cl-annot
4070 (sbcl-package->cl-source-package sbcl-cl-annot))
4071
4072 (define-public ecl-cl-annot
4073 (sbcl-package->ecl-package sbcl-cl-annot))
4074
4075 (define-public sbcl-cl-syntax
4076 (package
4077 (name "sbcl-cl-syntax")
4078 (version "0.0.3")
4079 (source
4080 (origin
4081 (method git-fetch)
4082 (uri (git-reference
4083 (url "https://github.com/m2ym/cl-syntax")
4084 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
4085 (file-name (git-file-name "cl-syntax" version))
4086 (sha256
4087 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
4088 (build-system asdf-build-system/sbcl)
4089 (inputs
4090 `(("cl-annot" ,sbcl-cl-annot)
4091 ("cl-interpol" ,sbcl-cl-interpol)
4092 ("named-readtables" ,sbcl-named-readtables)
4093 ("trivial-types" ,sbcl-trivial-types)))
4094 (arguments
4095 '(#:asd-systems '("cl-syntax"
4096 "cl-syntax-annot"
4097 "cl-syntax-interpol")))
4098 (home-page "https://github.com/m2ym/cl-syntax")
4099 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
4100 (description
4101 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
4102 (license license:llgpl)))
4103
4104 (define-public cl-syntax
4105 (sbcl-package->cl-source-package sbcl-cl-syntax))
4106
4107 (define-public ecl-cl-syntax
4108 (sbcl-package->ecl-package sbcl-cl-syntax))
4109
4110 (define-public sbcl-cl-utilities
4111 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
4112 (revision "1"))
4113 (package
4114 (name "sbcl-cl-utilities")
4115 (version (git-version "0.0.0" revision commit))
4116 (source
4117 (origin
4118 (method url-fetch)
4119 (uri
4120 (string-append
4121 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
4122 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
4123 (sha256
4124 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
4125 (build-system asdf-build-system/sbcl)
4126 (arguments
4127 '(#:phases
4128 (modify-phases %standard-phases
4129 (add-after 'unpack 'fix-paths
4130 (lambda* (#:key inputs #:allow-other-keys)
4131 (substitute* "rotate-byte.lisp"
4132 (("in-package :cl-utilities)" all)
4133 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
4134 (home-page "http://common-lisp.net/project/cl-utilities")
4135 (synopsis "A collection of semi-standard utilities")
4136 (description
4137 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
4138 is a collection of Common Lisp Utilities, things that everybody writes since
4139 they're not part of the official standard. There are some very useful things
4140 there; the only problems are that they aren't implemented as well as you'd
4141 like (some aren't implemented at all) and they aren't conveniently packaged
4142 and maintained. It takes quite a bit of work to carefully implement utilities
4143 for common use, commented and documented, with error checking placed
4144 everywhere some dumb user might make a mistake.")
4145 (license license:public-domain))))
4146
4147 (define-public cl-utilities
4148 (sbcl-package->cl-source-package sbcl-cl-utilities))
4149
4150 (define-public ecl-cl-utilities
4151 (sbcl-package->ecl-package sbcl-cl-utilities))
4152
4153 (define-public sbcl-map-set
4154 (let ((commit "7b4b545b68b8")
4155 (revision "1"))
4156 (package
4157 (name "sbcl-map-set")
4158 (version (git-version "0.0.0" revision commit))
4159 (source
4160 (origin
4161 (method url-fetch)
4162 (uri (string-append
4163 "https://bitbucket.org/tarballs_are_good/map-set/get/"
4164 commit ".tar.gz"))
4165 (sha256
4166 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
4167 (build-system asdf-build-system/sbcl)
4168 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
4169 (synopsis "Set-like data structure")
4170 (description
4171 "Implementation of a set-like data structure with constant time
4172 addition, removal, and random selection.")
4173 (license license:bsd-3))))
4174
4175 (define-public cl-map-set
4176 (sbcl-package->cl-source-package sbcl-map-set))
4177
4178 (define-public ecl-map-set
4179 (sbcl-package->ecl-package sbcl-map-set))
4180
4181 (define-public sbcl-quri
4182 (let ((commit "d7f2720568146c6674187f625f115925e6364a7f")
4183 (revision "4"))
4184 (package
4185 (name "sbcl-quri")
4186 (version (git-version "0.1.0" revision commit))
4187 (source
4188 (origin
4189 (method git-fetch)
4190 (uri (git-reference
4191 (url "https://github.com/fukamachi/quri")
4192 (commit commit)))
4193 (file-name (git-file-name name version))
4194 (sha256
4195 (base32 "0yrcvz5ksfr7x8yx741vp65il0fxxaskppq3iyk9bq895s1jn37w"))))
4196 (build-system asdf-build-system/sbcl)
4197 (arguments
4198 ;; Test system must be loaded before, otherwise tests fail with:
4199 ;; Component QURI-ASD::QURI-TEST not found, required by #<SYSTEM
4200 ;; "quri">.
4201 '(#:asd-systems '("quri-test"
4202 "quri")))
4203 (native-inputs `(("sbcl-prove" ,sbcl-prove)))
4204 (inputs `(("sbcl-babel" ,sbcl-babel)
4205 ("sbcl-split-sequence" ,sbcl-split-sequence)
4206 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
4207 ("sbcl-alexandria" ,sbcl-alexandria)))
4208 (home-page "https://github.com/fukamachi/quri")
4209 (synopsis "Yet another URI library for Common Lisp")
4210 (description
4211 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
4212 Lisp. It is intended to be a replacement of PURI.")
4213 (license license:bsd-3))))
4214
4215 (define-public cl-quri
4216 (sbcl-package->cl-source-package sbcl-quri))
4217
4218 (define-public ecl-quri
4219 (sbcl-package->ecl-package sbcl-quri))
4220
4221 (define-public sbcl-myway
4222 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
4223 (revision "1"))
4224 (package
4225 (name "sbcl-myway")
4226 (version (git-version "0.1.0" revision commit))
4227 (source
4228 (origin
4229 (method git-fetch)
4230 (uri (git-reference
4231 (url "https://github.com/fukamachi/myway")
4232 (commit commit)))
4233 (file-name (git-file-name "myway" version))
4234 (sha256
4235 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
4236 (build-system asdf-build-system/sbcl)
4237 (arguments
4238 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
4239 ;; by #<SYSTEM "myway">. Why?
4240 '(#:tests? #f))
4241 (native-inputs
4242 `(("sbcl-prove" ,sbcl-prove)))
4243 (inputs
4244 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4245 ("sbcl-quri" ,sbcl-quri)
4246 ("sbcl-map-set" ,sbcl-map-set)))
4247 (home-page "https://github.com/fukamachi/myway")
4248 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
4249 (description "My Way is a Sinatra-compatible URL routing library.")
4250 (license license:llgpl))))
4251
4252 (define-public cl-myway
4253 (sbcl-package->cl-source-package sbcl-myway))
4254
4255 (define-public ecl-myway
4256 (sbcl-package->ecl-package sbcl-myway))
4257
4258 (define-public sbcl-xsubseq
4259 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
4260 (revision "1"))
4261 (package
4262 (name "sbcl-xsubseq")
4263 (version (git-version "0.0.1" revision commit))
4264 (source
4265 (origin
4266 (method git-fetch)
4267 (uri (git-reference
4268 (url "https://github.com/fukamachi/xsubseq")
4269 (commit commit)))
4270 (file-name (git-file-name name version))
4271 (sha256
4272 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4273 (build-system asdf-build-system/sbcl)
4274 (arguments
4275 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4276 ;; required by #<SYSTEM "xsubseq">. Why?
4277 '(#:tests? #f))
4278 (native-inputs
4279 `(("sbcl-prove" ,sbcl-prove)))
4280 (home-page "https://github.com/fukamachi/xsubseq")
4281 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4282 (description
4283 "XSubseq provides functions to be able to handle \"subseq\"s more
4284 effieiently.")
4285 (license license:bsd-2))))
4286
4287 (define-public cl-xsubseq
4288 (sbcl-package->cl-source-package sbcl-xsubseq))
4289
4290 (define-public ecl-xsubseq
4291 (sbcl-package->ecl-package sbcl-xsubseq))
4292
4293 (define-public sbcl-smart-buffer
4294 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4295 (revision "1"))
4296 (package
4297 (name "sbcl-smart-buffer")
4298 (version (git-version "0.0.1" revision commit))
4299 (source
4300 (origin
4301 (method git-fetch)
4302 (uri (git-reference
4303 (url "https://github.com/fukamachi/smart-buffer")
4304 (commit commit)))
4305 (file-name (git-file-name name version))
4306 (sha256
4307 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4308 (build-system asdf-build-system/sbcl)
4309 (arguments
4310 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4311 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4312 `(#:tests? #f))
4313 (native-inputs
4314 `(("sbcl-prove" ,sbcl-prove)))
4315 (inputs
4316 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4317 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4318 (home-page "https://github.com/fukamachi/smart-buffer")
4319 (synopsis "Smart octets buffer")
4320 (description
4321 "Smart-buffer provides an output buffer which changes the destination
4322 depending on content size.")
4323 (license license:bsd-3))))
4324
4325 (define-public cl-smart-buffer
4326 (sbcl-package->cl-source-package sbcl-smart-buffer))
4327
4328 (define-public ecl-smart-buffer
4329 (sbcl-package->ecl-package sbcl-smart-buffer))
4330
4331 (define-public sbcl-fast-http
4332 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
4333 (revision "2"))
4334 (package
4335 (name "sbcl-fast-http")
4336 (version (git-version "0.2.0" revision commit))
4337 (source
4338 (origin
4339 (method git-fetch)
4340 (uri (git-reference
4341 (url "https://github.com/fukamachi/fast-http")
4342 (commit commit)))
4343 (file-name (git-file-name name version))
4344 (sha256
4345 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
4346 (build-system asdf-build-system/sbcl)
4347 (arguments
4348 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4349 ;; required by #<SYSTEM "fast-http">. Why?
4350 `(#:tests? #f))
4351 (native-inputs
4352 `(("sbcl-prove" ,sbcl-prove)
4353 ("cl-syntax" ,sbcl-cl-syntax)))
4354 (inputs
4355 `(("sbcl-alexandria" ,sbcl-alexandria)
4356 ("sbcl-proc-parse" ,sbcl-proc-parse)
4357 ("sbcl-xsubseq" ,sbcl-xsubseq)
4358 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4359 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4360 (home-page "https://github.com/fukamachi/fast-http")
4361 (synopsis "HTTP request/response parser for Common Lisp")
4362 (description
4363 "@code{fast-http} is a HTTP request/response protocol parser for Common
4364 Lisp.")
4365 ;; Author specified the MIT license
4366 (license license:expat))))
4367
4368 (define-public cl-fast-http
4369 (sbcl-package->cl-source-package sbcl-fast-http))
4370
4371 (define-public ecl-fast-http
4372 (sbcl-package->ecl-package sbcl-fast-http))
4373
4374 (define-public sbcl-static-vectors
4375 (package
4376 (name "sbcl-static-vectors")
4377 (version "1.8.6")
4378 (source
4379 (origin
4380 (method git-fetch)
4381 (uri (git-reference
4382 (url "https://github.com/sionescu/static-vectors")
4383 (commit (string-append "v" version))))
4384 (file-name (git-file-name name version))
4385 (sha256
4386 (base32 "01hwxzhyjkhsd3949g70120g7msw01byf0ia0pbj319q1a3cq7j9"))))
4387 (native-inputs
4388 `(("sbcl-fiveam" ,sbcl-fiveam)))
4389 (inputs
4390 `(("sbcl-alexandria" ,sbcl-alexandria)
4391 ("sbcl-cffi" ,sbcl-cffi)))
4392 (build-system asdf-build-system/sbcl)
4393 (home-page "https://github.com/sionescu/static-vectors")
4394 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4395 (description
4396 "With @code{static-vectors}, you can create vectors allocated in static
4397 memory.")
4398 (license license:expat)))
4399
4400 (define-public cl-static-vectors
4401 (sbcl-package->cl-source-package sbcl-static-vectors))
4402
4403 (define-public ecl-static-vectors
4404 (sbcl-package->ecl-package sbcl-static-vectors))
4405
4406 (define-public sbcl-marshal
4407 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4408 (revision "1"))
4409 (package
4410 (name "sbcl-marshal")
4411 (version (git-version "1.3.0" revision commit))
4412 (source
4413 (origin
4414 (method git-fetch)
4415 (uri (git-reference
4416 (url "https://github.com/wlbr/cl-marshal")
4417 (commit commit)))
4418 (file-name (git-file-name name version))
4419 (sha256
4420 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4421 (build-system asdf-build-system/sbcl)
4422 (home-page "https://github.com/wlbr/cl-marshal")
4423 (synopsis "Simple (de)serialization of Lisp datastructures")
4424 (description
4425 "Simple and fast marshalling of Lisp datastructures. Convert any object
4426 into a string representation, put it on a stream an revive it from there.
4427 Only minimal changes required to make your CLOS objects serializable.")
4428 (license license:expat))))
4429
4430 (define-public cl-marshal
4431 (sbcl-package->cl-source-package sbcl-marshal))
4432
4433 (define-public ecl-marshal
4434 (sbcl-package->ecl-package sbcl-marshal))
4435
4436 (define-public sbcl-checkl
4437 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4438 (revision "1"))
4439 (package
4440 (name "sbcl-checkl")
4441 (version (git-version "0.0.0" revision commit))
4442 (source
4443 (origin
4444 (method git-fetch)
4445 (uri (git-reference
4446 (url "https://github.com/rpav/CheckL")
4447 (commit commit)))
4448 (file-name (git-file-name name version))
4449 (sha256
4450 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4451 (build-system asdf-build-system/sbcl)
4452 (arguments
4453 ;; Error while trying to load definition for system checkl-test from
4454 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4455 ;; is undefined.
4456 '(#:asd-files '("checkl.asd")
4457 #:tests? #f))
4458 (native-inputs
4459 `(("sbcl-fiveam" ,sbcl-fiveam)))
4460 (inputs
4461 `(("sbcl-marshal" ,sbcl-marshal)))
4462 (home-page "https://github.com/rpav/CheckL/")
4463 (synopsis "Dynamic testing for Common Lisp")
4464 (description
4465 "CheckL lets you write tests dynamically, it checks resulting values
4466 against the last run.")
4467 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4468 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4469 ;; stronger of the two and so I think only listing this should suffice.
4470 (license license:llgpl))))
4471
4472 (define-public cl-checkl
4473 (sbcl-package->cl-source-package sbcl-checkl))
4474
4475 (define-public ecl-checkl
4476 (sbcl-package->ecl-package sbcl-checkl))
4477
4478 (define-public sbcl-fast-io
4479 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
4480 (revision "2"))
4481 (package
4482 (name "sbcl-fast-io")
4483 (version (git-version "1.0.0" revision commit))
4484 (source
4485 (origin
4486 (method git-fetch)
4487 (uri (git-reference
4488 (url "https://github.com/rpav/fast-io")
4489 (commit commit)))
4490 (file-name (git-file-name name version))
4491 (sha256
4492 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
4493 (build-system asdf-build-system/sbcl)
4494 (arguments
4495 ;; Error while trying to load definition for system fast-io-test from
4496 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4497 ;; is undefined.
4498 '(#:tests? #f
4499 #:asd-files '("fast-io.asd")))
4500 (native-inputs
4501 `(("sbcl-fiveam" ,sbcl-fiveam)
4502 ("sbcl-checkl" ,sbcl-checkl)))
4503 (inputs
4504 `(("sbcl-alexandria" ,sbcl-alexandria)
4505 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4506 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4507 (home-page "https://github.com/rpav/fast-io")
4508 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4509 (description
4510 "Fast-io is about improving performance to octet-vectors and octet
4511 streams (though primarily the former, while wrapping the latter).")
4512 ;; Author specifies this as NewBSD which is an alias
4513 (license license:bsd-3))))
4514
4515 (define-public cl-fast-io
4516 (sbcl-package->cl-source-package sbcl-fast-io))
4517
4518 (define-public ecl-fast-io
4519 (sbcl-package->ecl-package sbcl-fast-io))
4520
4521 (define-public sbcl-jonathan
4522 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4523 (revision "1"))
4524 (package
4525 (name "sbcl-jonathan")
4526 (version (git-version "0.1.0" revision commit))
4527 (source
4528 (origin
4529 (method git-fetch)
4530 (uri (git-reference
4531 (url "https://github.com/Rudolph-Miller/jonathan")
4532 (commit commit)))
4533 (file-name (git-file-name name version))
4534 (sha256
4535 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4536 (build-system asdf-build-system/sbcl)
4537 (arguments
4538 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4539 ;; required by #<SYSTEM "jonathan">. Why?
4540 `(#:tests? #f))
4541 (native-inputs
4542 `(("sbcl-prove" ,sbcl-prove)))
4543 (inputs
4544 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4545 ("sbcl-fast-io" ,sbcl-fast-io)
4546 ("sbcl-proc-parse" ,sbcl-proc-parse)
4547 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
4548 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
4549 (synopsis "JSON encoder and decoder")
4550 (description
4551 "High performance JSON encoder and decoder. Currently support: SBCL,
4552 CCL.")
4553 ;; Author specifies the MIT license
4554 (license license:expat))))
4555
4556 (define-public cl-jonathan
4557 (sbcl-package->cl-source-package sbcl-jonathan))
4558
4559 (define-public ecl-jonathan
4560 (sbcl-package->ecl-package sbcl-jonathan))
4561
4562 (define-public sbcl-http-body
4563 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4564 (revision "1"))
4565 (package
4566 (name "sbcl-http-body")
4567 (version (git-version "0.1.0" revision commit))
4568 (source
4569 (origin
4570 (method git-fetch)
4571 (uri (git-reference
4572 (url "https://github.com/fukamachi/http-body")
4573 (commit commit)))
4574 (file-name (git-file-name name version))
4575 (sha256
4576 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4577 (build-system asdf-build-system/sbcl)
4578 (arguments
4579 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4580 ;; found, required by #<SYSTEM "http-body">. Why?
4581 `(#:tests? #f))
4582 (native-inputs
4583 `(("sbcl-prove" ,sbcl-prove)))
4584 (inputs
4585 `(("sbcl-fast-http" ,sbcl-fast-http)
4586 ("sbcl-jonathan" ,sbcl-jonathan)
4587 ("sbcl-quri" ,sbcl-quri)))
4588 (home-page "https://github.com/fukamachi/http-body")
4589 (synopsis "HTTP POST data parser")
4590 (description
4591 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4592 supports application/x-www-form-urlencoded, application/json, and
4593 multipart/form-data.")
4594 (license license:bsd-2))))
4595
4596 (define-public cl-http-body
4597 (sbcl-package->cl-source-package sbcl-http-body))
4598
4599 (define-public ecl-http-body
4600 (sbcl-package->ecl-package sbcl-http-body))
4601
4602 (define-public sbcl-circular-streams
4603 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4604 (revision "1"))
4605 (package
4606 (name "sbcl-circular-streams")
4607 (version (git-version "0.1.0" revision commit))
4608 (source
4609 (origin
4610 (method git-fetch)
4611 (uri (git-reference
4612 (url "https://github.com/fukamachi/circular-streams")
4613 (commit commit)))
4614 (file-name (git-file-name name version))
4615 (sha256
4616 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4617 (build-system asdf-build-system/sbcl)
4618 (arguments
4619 ;; The tests depend on cl-test-more which is now prove. Prove
4620 ;; tests aren't working for some reason.
4621 `(#:tests? #f))
4622 (inputs
4623 `(("sbcl-fast-io" ,sbcl-fast-io)
4624 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4625 (home-page "https://github.com/fukamachi/circular-streams")
4626 (synopsis "Circularly readable streams for Common Lisp")
4627 (description
4628 "Circular-Streams allows you to read streams circularly by wrapping real
4629 streams. Once you reach end-of-file of a stream, it's file position will be
4630 reset to 0 and you're able to read it again.")
4631 (license license:llgpl))))
4632
4633 (define-public cl-circular-streams
4634 (sbcl-package->cl-source-package sbcl-circular-streams))
4635
4636 (define-public ecl-circular-streams
4637 (sbcl-package->ecl-package sbcl-circular-streams))
4638
4639 (define-public sbcl-lack
4640 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4641 (revision "1"))
4642 (package
4643 (name "sbcl-lack")
4644 (version (git-version "0.1.0" revision commit))
4645 (source
4646 (origin
4647 (method git-fetch)
4648 (uri (git-reference
4649 (url "https://github.com/fukamachi/lack")
4650 (commit commit)))
4651 (file-name (git-file-name "lack" version))
4652 (sha256
4653 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4654 (build-system asdf-build-system/sbcl)
4655 (native-inputs
4656 `(("prove" ,sbcl-prove)))
4657 (inputs
4658 `(("circular-streams" ,sbcl-circular-streams)
4659 ("http-body" ,sbcl-http-body)
4660 ("ironclad" ,sbcl-ironclad)
4661 ("local-time" ,sbcl-local-time)
4662 ("quri" ,sbcl-quri)
4663 ("trivial-mimes" ,sbcl-trivial-mimes)))
4664 (arguments
4665 '(#:asd-systems '("lack"
4666 "lack-request"
4667 "lack-response"
4668 "lack-component"
4669 "lack-util"
4670 "lack-middleware-backtrace"
4671 "lack-middleware-static")
4672 #:test-asd-file "t-lack.asd"
4673 ;; XXX: Component :CLACK not found
4674 #:tests? #f))
4675 (home-page "https://github.com/fukamachi/lack")
4676 (synopsis "Lack, the core of Clack")
4677 (description
4678 "Lack is a Common Lisp library which allows web applications to be
4679 constructed of modular components. It was originally a part of Clack, however
4680 it's going to be rewritten as an individual project since Clack v2 with
4681 performance and simplicity in mind.")
4682 (license license:llgpl))))
4683
4684 (define-public cl-lack
4685 (sbcl-package->cl-source-package sbcl-lack))
4686
4687 (define-public ecl-lack
4688 (sbcl-package->ecl-package sbcl-lack))
4689
4690 (define-public sbcl-local-time
4691 (let ((commit "a177eb911c0e8116e2bfceb79049265a884b701b")
4692 (revision "2"))
4693 (package
4694 (name "sbcl-local-time")
4695 (version (git-version "1.0.6" revision commit))
4696 (source
4697 (origin
4698 (method git-fetch)
4699 (uri (git-reference
4700 (url "https://github.com/dlowe-net/local-time")
4701 (commit commit)))
4702 (file-name (git-file-name name version))
4703 (sha256
4704 (base32 "0wld28xx20k0ysgg6akic5lg4vkjd0iyhv86m388xfrv8xh87wii"))))
4705 (build-system asdf-build-system/sbcl)
4706 (native-inputs
4707 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
4708 (home-page "https://common-lisp.net/project/local-time/")
4709 (synopsis "Time manipulation library for Common Lisp")
4710 (description
4711 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4712 dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4713 Long Painful History of Time\".")
4714 (license license:expat))))
4715
4716 (define-public cl-local-time
4717 (sbcl-package->cl-source-package sbcl-local-time))
4718
4719 (define-public ecl-local-time
4720 (sbcl-package->ecl-package sbcl-local-time))
4721
4722 (define-public sbcl-trivial-mimes
4723 (let ((commit "a741fc2f567a4f86b853fd4677d75e62c03e51d9")
4724 (revision "2"))
4725 (package
4726 (name "sbcl-trivial-mimes")
4727 (version (git-version "1.1.0" revision commit))
4728 (source
4729 (origin
4730 (method git-fetch)
4731 (uri (git-reference
4732 (url "https://github.com/Shinmera/trivial-mimes")
4733 (commit commit)))
4734 (file-name (git-file-name name version))
4735 (sha256
4736 (base32 "00kcm17q5plpzdj1qwg83ldhxksilgpcdkf3m9azxcdr968xs9di"))))
4737 (build-system asdf-build-system/sbcl)
4738 (native-inputs
4739 `(("stefil" ,sbcl-hu.dwim.stefil)))
4740 (inputs
4741 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4742 (home-page "https://shinmera.github.io/trivial-mimes/")
4743 (synopsis "Tiny Common Lisp library to detect mime types in files")
4744 (description
4745 "This is a teensy library that provides some functions to determine the
4746 mime-type of a file.")
4747 (license license:zlib))))
4748
4749 (define-public cl-trivial-mimes
4750 (sbcl-package->cl-source-package sbcl-trivial-mimes))
4751
4752 (define-public ecl-trivial-mimes
4753 (sbcl-package->ecl-package sbcl-trivial-mimes))
4754
4755 (define-public sbcl-ningle
4756 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
4757 (revision "1"))
4758 (package
4759 (name "sbcl-ningle")
4760 (version (git-version "0.3.0" revision commit))
4761 (source
4762 (origin
4763 (method git-fetch)
4764 (uri (git-reference
4765 (url "https://github.com/fukamachi/ningle")
4766 (commit commit)))
4767 (file-name (git-file-name name version))
4768 (sha256
4769 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
4770 (build-system asdf-build-system/sbcl)
4771 (arguments
4772 ;; TODO: pull in clack-test
4773 '(#:tests? #f
4774 #:phases
4775 (modify-phases %standard-phases
4776 (delete 'cleanup-files)
4777 (delete 'cleanup)
4778 (add-before 'cleanup 'combine-fasls
4779 (lambda* (#:key outputs #:allow-other-keys)
4780 (let* ((out (assoc-ref outputs "out"))
4781 (lib (string-append out "/lib/sbcl"))
4782 (ningle-path (string-append lib "/ningle"))
4783 (fasl-files (find-files out "\\.fasl$")))
4784 (mkdir-p ningle-path)
4785 (let ((fasl-path (lambda (name)
4786 (string-append ningle-path
4787 "/"
4788 (basename name)
4789 "--system.fasl"))))
4790 (for-each (lambda (file)
4791 (rename-file file
4792 (fasl-path
4793 (basename file ".fasl"))))
4794 fasl-files))
4795 fasl-files)
4796 #t)))))
4797 (native-inputs
4798 `(("sbcl-prove" ,sbcl-prove)))
4799 (inputs
4800 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4801 ("sbcl-myway" ,sbcl-myway)
4802 ("sbcl-lack" ,sbcl-lack)
4803 ("sbcl-alexandria" ,sbcl-alexandria)
4804 ("sbcl-babel" ,sbcl-babel)))
4805 (home-page "https://8arrow.org/ningle/")
4806 (synopsis "Super micro framework for Common Lisp")
4807 (description
4808 "Ningle is a lightweight web application framework for Common Lisp.")
4809 (license license:llgpl))))
4810
4811 (define-public cl-ningle
4812 (sbcl-package->cl-source-package sbcl-ningle))
4813
4814 (define-public ecl-ningle
4815 (sbcl-package->ecl-package sbcl-ningle))
4816
4817 (define-public sbcl-cl-fastcgi
4818 (let ((commit "de8b49b26de9863996ec18db28af8ab7e8ac4e20")
4819 (revision "2"))
4820 (package
4821 (name "sbcl-cl-fastcgi")
4822 (version (git-version "0.2" revision commit))
4823 (source
4824 (origin
4825 (method git-fetch)
4826 (uri (git-reference
4827 (url "https://github.com/KDr2/cl-fastcgi/")
4828 (commit commit)))
4829 (file-name (git-file-name name version))
4830 (sha256
4831 (base32 "0xgmhx766q4nmrvn5z7ag3ikpr9phlh8ypi8b14azshq9lqbq0m7"))))
4832 (build-system asdf-build-system/sbcl)
4833 (inputs
4834 `(("usocket" ,sbcl-usocket)
4835 ("cffi" ,sbcl-cffi)
4836 ("fcgi" ,fcgi)))
4837 (arguments
4838 `(#:phases
4839 (modify-phases %standard-phases
4840 (add-after 'unpack 'fix-paths
4841 (lambda* (#:key inputs #:allow-other-keys)
4842 (substitute* "cl-fastcgi.lisp"
4843 (("\"libfcgi.so\"")
4844 (string-append
4845 "\""
4846 (assoc-ref inputs "fcgi") "/lib/libfcgi.so\""))))))))
4847 (home-page "https://kdr2.com/project/cl-fastcgi.html")
4848 (synopsis "FastCGI wrapper for Common Lisp")
4849 (description
4850 "CL-FastCGI is a generic version of SB-FastCGI, targeting to run on
4851 mostly Common Lisp implementation.")
4852 (license license:bsd-2))))
4853
4854 (define-public cl-fastcgi
4855 (sbcl-package->cl-source-package sbcl-cl-fastcgi))
4856
4857 (define-public ecl-cl-fastcgi
4858 (sbcl-package->ecl-package sbcl-cl-fastcgi))
4859
4860 (define-public sbcl-clack
4861 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
4862 (revision "1"))
4863 (package
4864 (name "sbcl-clack")
4865 (version (git-version "2.0.0" revision commit))
4866 (source
4867 (origin
4868 (method git-fetch)
4869 (uri (git-reference
4870 (url "https://github.com/fukamachi/clack")
4871 (commit commit)))
4872 (file-name (git-file-name name version))
4873 (sha256
4874 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
4875 (build-system asdf-build-system/sbcl)
4876 (inputs
4877 `(("alexandria" ,sbcl-alexandria)
4878 ("bordeaux-threads" ,sbcl-bordeaux-threads)
4879 ("cl-fastcgi" ,sbcl-cl-fastcgi)
4880 ("flexi-streams" ,sbcl-flexi-streams)
4881 ("hunchentoot" ,sbcl-hunchentoot)
4882 ("lack" ,sbcl-lack)
4883 ("split-sequence" ,sbcl-split-sequence)
4884 ("usocket" ,sbcl-usocket)
4885 ("quri" ,sbcl-quri)))
4886 (arguments
4887 '(#:asd-systems '("clack"
4888 "clack-handler-fcgi"
4889 "clack-socket"
4890 "clack-handler-hunchentoot")))
4891 (home-page "https://github.com/fukamachi/clack")
4892 (synopsis "Web Application Environment for Common Lisp")
4893 (description
4894 "Clack is a web application environment for Common Lisp inspired by
4895 Python's WSGI and Ruby's Rack.")
4896 (license license:llgpl))))
4897
4898 (define-public cl-clack
4899 (sbcl-package->cl-source-package sbcl-clack))
4900
4901 (define-public ecl-clack
4902 (sbcl-package->ecl-package sbcl-clack))
4903
4904 (define-public sbcl-cl-log
4905 (let ((commit "8f4b766d51e02245c310526cf1e4534ce634f837")
4906 (revision "1"))
4907 (package
4908 (name "sbcl-cl-log")
4909 (version "1.0.1")
4910 (source
4911 (origin
4912 (method git-fetch)
4913 (uri (git-reference
4914 (url "https://github.com/nicklevine/cl-log")
4915 (commit commit)))
4916 (sha256
4917 (base32 "1r3z9swy1b59swvaa5b97is9ysrfmjvjjhhw56p7p5hqg93b92ak"))
4918 (file-name (git-file-name "cl-log" version))))
4919 (build-system asdf-build-system/sbcl)
4920 (synopsis "Common Lisp general purpose logging utility")
4921 (description "CL-LOG is a general purpose logging utility, loosely modelled
4922 in some respects after Gary King's Log5. Its features include: logging to
4923 several destinations at once, via \"messengers\", each messenger is tailored to
4924 accept some log messages and reject others, and this tailoring can be changed
4925 on-the-fly, very rapid processing of messages which are rejected by all
4926 messengers, fully independent use of the utility by several different
4927 sub-systems in an application, support for messengers which cl:format text to a
4928 stream, support for messengers which do not invoke cl:format, timestamps in
4929 theory accurate to internal-time-units-per-second.")
4930 (home-page "https://github.com/nicklevine/cl-log")
4931 (license license:expat))))
4932
4933 (define-public cl-log
4934 (sbcl-package->cl-source-package sbcl-cl-log))
4935
4936 (define-public ecl-cl-log
4937 (sbcl-package->ecl-package sbcl-cl-log))
4938
4939 (define-public sbcl-log4cl
4940 (let ((commit "8c48d6f41d3a1475d0a91eed0638b9eecc398e35")
4941 (revision "1"))
4942 (package
4943 (name "sbcl-log4cl")
4944 (version (git-version "1.1.3" revision commit))
4945 (source
4946 (origin
4947 (method git-fetch)
4948 (uri (git-reference
4949 (url "https://github.com/sharplispers/log4cl")
4950 (commit commit)))
4951 (file-name (git-file-name "log4cl" version))
4952 (sha256
4953 (base32 "0166d9aip366pbpdk5gsi2f6xad6q61lssxgbrypa8zslwjn8736"))))
4954 (build-system asdf-build-system/sbcl)
4955 (native-inputs
4956 `(("stefil" ,sbcl-stefil)))
4957 (inputs
4958 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
4959 (home-page "https://github.com/7max/log4cl")
4960 (synopsis "Common Lisp logging framework, modeled after Log4J")
4961 (description
4962 "This is a Common Lisp logging framework that can log at various levels
4963 and mix text with expressions.")
4964 (license license:asl2.0))))
4965
4966 (define-public cl-log4cl
4967 (sbcl-package->cl-source-package sbcl-log4cl))
4968
4969 (define-public ecl-log4cl
4970 (sbcl-package->ecl-package sbcl-log4cl))
4971
4972 (define-public sbcl-printv
4973 (let ((commit "646d31978dbbb460fffb160fd65bb2be9a5a434e")
4974 (revision "1"))
4975 (package
4976 (name "sbcl-printv")
4977 (version (git-version "0.1.0" revision commit))
4978 (source
4979 (origin
4980 (method git-fetch)
4981 (uri (git-reference
4982 (url "https://github.com/danlentz/printv")
4983 (commit commit)))
4984 (file-name (git-file-name "printv" version))
4985 (sha256
4986 (base32 "08jvy82abm7qi3wrxh6gvmwg9gy0zzhg4cfqajdwrggbah8mj5a6"))))
4987 (build-system asdf-build-system/sbcl)
4988 (home-page "https://github.com/danlentz/printv")
4989 (synopsis "Common Lisp tracing and debug-logging macro")
4990 (description
4991 "@code{PRINTV} is a \"batteries-included\" tracing and debug-logging
4992 macro for Common Lisp.")
4993 (license license:asl2.0))))
4994
4995 (define-public ecl-printv
4996 (sbcl-package->ecl-package sbcl-printv))
4997
4998 (define-public cl-printv
4999 (sbcl-package->cl-source-package sbcl-printv))
5000
5001 (define-public sbcl-verbose
5002 (let ((commit "c5b7ecd465be61b35af17ef57564697b88397174")
5003 (revision "1"))
5004 (package
5005 (name "sbcl-verbose")
5006 (version (git-version "2.0.0" revision commit))
5007 (source
5008 (origin
5009 (method git-fetch)
5010 (uri (git-reference
5011 (url "https://github.com/Shinmera/verbose/")
5012 (commit commit)))
5013 (file-name (git-file-name "verbose" version))
5014 (sha256
5015 (base32 "0r51ydj5v7afi2jrlscbhxprv13d9vzg5316g1yzwaxc1kzsdsw6"))))
5016 (build-system asdf-build-system/sbcl)
5017 (inputs
5018 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
5019 ("dissect" ,sbcl-dissect)
5020 ("documentation-utils" ,sbcl-documentation-utils)
5021 ("local-time" ,sbcl-local-time)
5022 ("piping" ,sbcl-piping)))
5023 (home-page "https://shinmera.github.io/verbose/")
5024 (synopsis "Logging framework using the piping library")
5025 (description
5026 "This is a Common Lisp library providing logging faciltiy similar to
5027 @code{CL-LOG} and @code{LOG4CL}.")
5028 (license license:zlib))))
5029
5030 (define-public ecl-verbose
5031 (sbcl-package->ecl-package sbcl-verbose))
5032
5033 (define-public cl-verbose
5034 (sbcl-package->cl-source-package sbcl-verbose))
5035
5036 (define-public sbcl-find-port
5037 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
5038 (revision "1"))
5039 (package
5040 (name "sbcl-find-port")
5041 (build-system asdf-build-system/sbcl)
5042 (version "0.1")
5043 (home-page "https://github.com/eudoxia0/find-port")
5044 (source
5045 (origin
5046 (method git-fetch)
5047 (uri (git-reference
5048 (url home-page)
5049 (commit commit)))
5050 (file-name (git-file-name name version))
5051 (sha256
5052 (base32
5053 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
5054 (native-inputs
5055 `(("fiveam" ,sbcl-fiveam)))
5056 (inputs
5057 `(("sbcl-usocket" ,sbcl-usocket)))
5058 (synopsis "Find open ports programmatically in Common Lisp")
5059 (description "This is a small Common Lisp library that finds an open
5060 port within a range.")
5061 (license license:expat))))
5062
5063 (define-public cl-find-port
5064 (sbcl-package->cl-source-package sbcl-find-port))
5065
5066 (define-public ecl-find-port
5067 (sbcl-package->ecl-package sbcl-find-port))
5068
5069 (define-public sbcl-clunit
5070 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
5071 (revision "1"))
5072 (package
5073 (name "sbcl-clunit")
5074 (version (git-version "0.2.3" revision commit))
5075 (source
5076 (origin
5077 (method git-fetch)
5078 (uri (git-reference
5079 (url "https://github.com/tgutu/clunit")
5080 (commit commit)))
5081 (file-name (git-file-name name version))
5082 (sha256
5083 (base32
5084 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
5085 (build-system asdf-build-system/sbcl)
5086 (synopsis "CLUnit is a Common Lisp unit testing framework")
5087 (description
5088 "CLUnit is a Common Lisp unit testing framework. It is designed
5089 to be easy to use so that you can quickly start testing. CLUnit
5090 provides a rich set of features aimed at improving your unit testing
5091 experience.")
5092 (home-page "https://tgutu.github.io/clunit/")
5093 ;; MIT License
5094 (license license:expat))))
5095
5096 (define-public cl-clunit
5097 (sbcl-package->cl-source-package sbcl-clunit))
5098
5099 (define-public ecl-clunit
5100 (sbcl-package->ecl-package sbcl-clunit))
5101
5102 (define-public sbcl-py4cl
5103 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
5104 (revision "1"))
5105 (package
5106 (name "sbcl-py4cl")
5107 (version (git-version "0.0.0" revision commit))
5108 (source
5109 (origin
5110 (method git-fetch)
5111 (uri (git-reference
5112 (url "https://github.com/bendudson/py4cl")
5113 (commit commit)))
5114 (file-name (git-file-name name version))
5115 (sha256
5116 (base32
5117 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
5118 (modules '((guix build utils)))))
5119 (build-system asdf-build-system/sbcl)
5120 (native-inputs
5121 `(("sbcl-clunit" ,sbcl-clunit)))
5122 (inputs
5123 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5124 (propagated-inputs
5125 ;; This package doesn't do anything without python available
5126 `(("python" ,python)
5127 ;; For multi-dimensional array support
5128 ("python-numpy" ,python-numpy)))
5129 (arguments
5130 '(#:phases
5131 (modify-phases %standard-phases
5132 (add-after 'unpack 'replace-*base-directory*-var
5133 (lambda* (#:key outputs #:allow-other-keys)
5134 ;; In the ASD, the author makes an attempt to
5135 ;; programatically determine the location of the
5136 ;; source-code so lisp can call into "py4cl.py". We can
5137 ;; hard-code this since we know where this file will
5138 ;; reside.
5139 (substitute* "src/callpython.lisp"
5140 (("py4cl/config:\\*base-directory\\*")
5141 (string-append
5142 "\""
5143 (assoc-ref outputs "out")
5144 "/share/common-lisp/sbcl-source/py4cl/"
5145 "\""))))))))
5146 (synopsis "Call python from Common Lisp")
5147 (description
5148 "Py4CL is a bridge between Common Lisp and Python, which enables Common
5149 Lisp to interact with Python code. It uses streams to communicate with a
5150 separate python process, the approach taken by cl4py. This is different to
5151 the CFFI approach used by burgled-batteries, but has the same goal.")
5152 (home-page "https://github.com/bendudson/py4cl")
5153 ;; MIT License
5154 (license license:expat))))
5155
5156 (define-public cl-py4cl
5157 (sbcl-package->cl-source-package sbcl-py4cl))
5158
5159 (define-public ecl-py4cl
5160 (sbcl-package->ecl-package sbcl-py4cl))
5161
5162 (define-public sbcl-parse-declarations
5163 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
5164 (revision "1"))
5165 (package
5166 (name "sbcl-parse-declarations")
5167 (version (git-version "1.0.0" revision commit))
5168 (source
5169 (origin
5170 (method git-fetch)
5171 (uri (git-reference
5172 (url (string-append
5173 "https://gitlab.common-lisp.net/parse-declarations/"
5174 "parse-declarations.git"))
5175 (commit commit)))
5176 (file-name (git-file-name name version))
5177 (sha256
5178 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
5179 (build-system asdf-build-system/sbcl)
5180 (arguments
5181 `(#:asd-systems '("parse-declarations-1.0")))
5182 (home-page "https://common-lisp.net/project/parse-declarations/")
5183 (synopsis "Parse, filter, and build declarations")
5184 (description
5185 "Parse-Declarations is a Common Lisp library to help writing
5186 macros which establish bindings. To be semantically correct, such
5187 macros must take user declarations into account, as these may affect
5188 the bindings they establish. Yet the ANSI standard of Common Lisp does
5189 not provide any operators to work with declarations in a convenient,
5190 high-level way. This library provides such operators.")
5191 ;; MIT License
5192 (license license:expat))))
5193
5194 (define-public cl-parse-declarations
5195 (sbcl-package->cl-source-package sbcl-parse-declarations))
5196
5197 (define-public ecl-parse-declarations
5198 (sbcl-package->ecl-package sbcl-parse-declarations))
5199
5200 (define-public sbcl-cl-quickcheck
5201 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5202 (revision "1"))
5203 (package
5204 (name "sbcl-cl-quickcheck")
5205 (version (git-version "0.0.4" revision commit))
5206 (source
5207 (origin
5208 (method git-fetch)
5209 (uri (git-reference
5210 (url "https://github.com/mcandre/cl-quickcheck")
5211 (commit commit)))
5212 (file-name (git-file-name name version))
5213 (sha256
5214 (base32
5215 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5216 (build-system asdf-build-system/sbcl)
5217 (synopsis
5218 "Common Lisp port of the QuickCheck unit test framework")
5219 (description
5220 "Common Lisp port of the QuickCheck unit test framework")
5221 (home-page "https://github.com/mcandre/cl-quickcheck")
5222 ;; MIT
5223 (license license:expat))))
5224
5225 (define-public cl-quickcheck
5226 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5227
5228 (define-public ecl-cl-quickcheck
5229 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5230
5231 (define-public sbcl-burgled-batteries3
5232 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
5233 (revision "2"))
5234 (package
5235 (name "sbcl-burgled-batteries3")
5236 (version (git-version "0.0.0" revision commit))
5237 (source
5238 (origin
5239 (method git-fetch)
5240 (uri (git-reference
5241 (url "https://github.com/snmsts/burgled-batteries3")
5242 (commit commit)))
5243 (file-name (git-file-name name version))
5244 (sha256
5245 (base32
5246 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
5247 (build-system asdf-build-system/sbcl)
5248 (arguments
5249 `(#:tests? #f
5250 #:modules (((guix build python-build-system) #:select (python-version))
5251 ,@%asdf-build-system-modules)
5252 #:imported-modules ((guix build python-build-system)
5253 ,@%asdf-build-system-modules)
5254 #:phases
5255 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
5256 (add-after 'unpack 'set-*cpython-include-dir*-var
5257 (lambda* (#:key inputs #:allow-other-keys)
5258 (let ((python (assoc-ref inputs "python")))
5259 (setenv "BB_PYTHON3_INCLUDE_DIR"
5260 (string-append python "/include/python"
5261 (python-version python)))
5262 (setenv "BB_PYTHON3_DYLIB"
5263 (string-append python "/lib/libpython3.so"))
5264 #t)))
5265 (add-after 'unpack 'adjust-for-python-3.8
5266 (lambda _
5267 ;; This method is no longer part of the public API.
5268 (substitute* "ffi-interface.lisp"
5269 ((".*PyEval_ReInitThreads.*")
5270 ""))
5271 #t)))))
5272 (native-inputs
5273 `(("sbcl-cl-fad" ,sbcl-cl-fad)
5274 ("sbcl-lift" ,sbcl-lift)
5275 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5276 (inputs
5277 `(("python" ,python)
5278 ("sbcl-cffi" ,sbcl-cffi)
5279 ("sbcl-alexandria" , sbcl-alexandria)
5280 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5281 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5282 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5283 (description
5284 "This package provides a shim between Python3 (specifically, the
5285 CPython implementation of Python) and Common Lisp.")
5286 (home-page "https://github.com/snmsts/burgled-batteries3")
5287 (license license:expat))))
5288
5289 (define-public cl-burgled-batteries3
5290 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5291
5292 (define-public ecl-burgled-batteries3
5293 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5294
5295 (define-public sbcl-metabang-bind
5296 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5297 (revision "1"))
5298 (package
5299 (name "sbcl-metabang-bind")
5300 (version (git-version "0.8.0" revision commit))
5301 (source
5302 (origin
5303 (method git-fetch)
5304 (uri (git-reference
5305 (url "https://github.com/gwkkwg/metabang-bind")
5306 (commit commit)))
5307 (file-name (git-file-name name version))
5308 (sha256
5309 (base32
5310 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5311 (build-system asdf-build-system/sbcl)
5312 (native-inputs
5313 `(("sbcl-lift" ,sbcl-lift)))
5314 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5315 (description
5316 "Bind extends the idea of of let and destructing to provide a uniform
5317 syntax for all your accessor needs. It combines @code{let},
5318 @code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5319 editing, property or association-lists, and @code{multiple-value-bind} and a
5320 whole lot more into a single form.")
5321 (home-page "https://common-lisp.net/project/metabang-bind/")
5322 ;; MIT License
5323 (license license:expat))))
5324
5325 (define-public cl-metabang-bind
5326 (sbcl-package->cl-source-package sbcl-metabang-bind))
5327
5328 (define-public ecl-metabang-bind
5329 (sbcl-package->ecl-package sbcl-metabang-bind))
5330
5331 (define-public sbcl-fare-utils
5332 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5333 (revision "1"))
5334 (package
5335 (name "sbcl-fare-utils")
5336 (version (git-version "1.0.0.5" revision commit))
5337 (source
5338 (origin
5339 (method git-fetch)
5340 (uri
5341 (git-reference
5342 (url
5343 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5344 (commit commit)))
5345 (file-name (git-file-name name version))
5346 (sha256
5347 (base32
5348 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5349 (build-system asdf-build-system/sbcl)
5350 (arguments
5351 `(#:test-asd-file "test/fare-utils-test.asd"))
5352 (native-inputs
5353 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5354 (synopsis "Collection of utilities and data structures")
5355 (description
5356 "fare-utils is a small collection of utilities. It contains a lot of
5357 basic everyday functions and macros.")
5358 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5359 ;; MIT License
5360 (license license:expat))))
5361
5362 (define-public cl-fare-utils
5363 (sbcl-package->cl-source-package sbcl-fare-utils))
5364
5365 (define-public ecl-fare-utils
5366 (sbcl-package->ecl-package sbcl-fare-utils))
5367
5368 (define-public sbcl-trivial-utf-8
5369 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5370 (revision "1"))
5371 (package
5372 (name "sbcl-trivial-utf-8")
5373 (version (git-version "0.0.0" revision commit))
5374 (source
5375 (origin
5376 (method git-fetch)
5377 (uri
5378 (git-reference
5379 (url (string-append "https://gitlab.common-lisp.net/"
5380 "trivial-utf-8/trivial-utf-8.git"))
5381 (commit commit)))
5382 (file-name (git-file-name name version))
5383 (sha256
5384 (base32
5385 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5386 (arguments
5387 ;; Guix incorrectly assumes the "8" is part of the version
5388 ;; number and lobs it off.
5389 `(#:asd-systems '("trivial-utf-8")))
5390 (build-system asdf-build-system/sbcl)
5391 (synopsis "UTF-8 input/output library")
5392 (description
5393 "The Babel library solves a similar problem while understanding more
5394 encodings. Trivial UTF-8 was written before Babel existed, but for new
5395 projects you might be better off going with Babel. The one plus that Trivial
5396 UTF-8 has is that it doesn't depend on any other libraries.")
5397 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5398 (license license:bsd-3))))
5399
5400 (define-public cl-trivial-utf-8
5401 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5402
5403 (define-public ecl-trivial-utf-8
5404 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5405
5406 (define-public sbcl-idna
5407 (package
5408 (name "sbcl-idna")
5409 (build-system asdf-build-system/sbcl)
5410 (version "0.2.2")
5411 (home-page "https://github.com/antifuchs/idna")
5412 (source
5413 (origin
5414 (method git-fetch)
5415 (uri (git-reference
5416 (url home-page)
5417 (commit version)))
5418 (file-name (git-file-name name version))
5419 (sha256
5420 (base32
5421 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5422 (inputs
5423 `(("split-sequence" ,sbcl-split-sequence)))
5424 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5425 (description "This Common Lisp library provides string encoding and
5426 decoding routines for IDNA, the International Domain Names in Applications.")
5427 (license license:expat)))
5428
5429 (define-public cl-idna
5430 (sbcl-package->cl-source-package sbcl-idna))
5431
5432 (define-public ecl-idna
5433 (sbcl-package->ecl-package sbcl-idna))
5434
5435 (define-public sbcl-swap-bytes
5436 (package
5437 (name "sbcl-swap-bytes")
5438 (build-system asdf-build-system/sbcl)
5439 (version "1.2")
5440 (home-page "https://github.com/sionescu/swap-bytes")
5441 (source
5442 (origin
5443 (method git-fetch)
5444 (uri (git-reference
5445 (url home-page)
5446 (commit (string-append "v" version))))
5447 (file-name (git-file-name name version))
5448 (sha256
5449 (base32
5450 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
5451 (inputs
5452 `(("trivial-features" ,sbcl-trivial-features)))
5453 (native-inputs
5454 `(("fiveam" ,sbcl-fiveam)))
5455 (synopsis "Efficient endianness conversion for Common Lisp")
5456 (description "This Common Lisp library provides optimized byte-swapping
5457 primitives. The library can change endianness of unsigned integers of length
5458 1/2/4/8. Very useful in implementing various network protocols and file
5459 formats.")
5460 (license license:expat)))
5461
5462 (define-public cl-swap-bytes
5463 (sbcl-package->cl-source-package sbcl-swap-bytes))
5464
5465 (define-public ecl-swap-bytes
5466 (sbcl-package->ecl-package sbcl-swap-bytes))
5467
5468 (define-public sbcl-iolib
5469 ;; Latest release is from June 2017.
5470 (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
5471 (revision "2"))
5472 (package
5473 (name "sbcl-iolib")
5474 (version (git-version "0.8.3" revision commit))
5475 (home-page "https://github.com/sionescu/iolib")
5476 (source
5477 (origin
5478 (method git-fetch)
5479 (uri (git-reference
5480 (url home-page)
5481 (commit commit)))
5482 (file-name (git-file-name name version))
5483 (sha256
5484 (base32
5485 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
5486 (build-system asdf-build-system/sbcl)
5487 (inputs
5488 `(("alexandria" ,sbcl-alexandria)
5489 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5490 ("cffi" ,sbcl-cffi)
5491 ("idna" ,sbcl-idna)
5492 ("libfixposix" ,libfixposix)
5493 ("split-sequence" ,sbcl-split-sequence)
5494 ("swap-bytes" ,sbcl-swap-bytes)))
5495 (arguments
5496 '(#:asd-files '("iolib.asdf.asd"
5497 "iolib.conf.asd"
5498 "iolib.common-lisp.asd"
5499 "iolib.base.asd"
5500 "iolib.asd")
5501 #:phases
5502 (modify-phases %standard-phases
5503 (add-after 'unpack 'fix-paths
5504 (lambda* (#:key inputs #:allow-other-keys)
5505 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5506 (("\\(:default \"libfixposix\"\\)")
5507 (string-append
5508 "(:default \""
5509 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5510 ;; Socket tests need Internet access, disable them.
5511 (substitute* "iolib.asd"
5512 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5513 "")))))))
5514 (synopsis "Common Lisp I/O library")
5515 (description "IOlib is to be a better and more modern I/O library than
5516 the standard Common Lisp library. It contains a socket library, a DNS
5517 resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5518 and @code{kqueue(2)}), a pathname library and file-system utilities.")
5519 (license license:expat))))
5520
5521 (define-public cl-iolib
5522 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
5523 (package
5524 (inherit parent)
5525 (propagated-inputs
5526 ;; Need header to compile.
5527 `(("libfixposix" ,libfixposix)
5528 ,@(package-propagated-inputs parent))))))
5529
5530 (define-public ecl-iolib
5531 (sbcl-package->ecl-package sbcl-iolib))
5532
5533 (define-public sbcl-ieee-floats
5534 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5535 (revision "1"))
5536 (package
5537 (name "sbcl-ieee-floats")
5538 (build-system asdf-build-system/sbcl)
5539 (version (git-version "20170924" revision commit))
5540 (home-page "https://github.com/marijnh/ieee-floats/")
5541 (source
5542 (origin
5543 (method git-fetch)
5544 (uri (git-reference
5545 (url home-page)
5546 (commit commit)))
5547 (file-name (git-file-name name version))
5548 (sha256
5549 (base32
5550 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5551 (native-inputs
5552 `(("fiveam" ,sbcl-fiveam)))
5553 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5554 (description "This is a Common Lisp library that converts
5555 floating point values to IEEE 754 binary representation.")
5556 (license license:bsd-3))))
5557
5558 (define-public cl-ieee-floats
5559 (sbcl-package->cl-source-package sbcl-ieee-floats))
5560
5561 (define-public ecl-ieee-floats
5562 (sbcl-package->ecl-package sbcl-ieee-floats))
5563
5564 (define sbcl-closure-common
5565 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5566 (revision "1"))
5567 (package
5568 (name "sbcl-closure-common")
5569 (build-system asdf-build-system/sbcl)
5570 (version (git-version "20101006" revision commit))
5571 (home-page "https://common-lisp.net/project/cxml/")
5572 (source
5573 (origin
5574 (method git-fetch)
5575 (uri (git-reference
5576 (url "https://github.com/sharplispers/closure-common")
5577 (commit commit)))
5578 (file-name (git-file-name name version))
5579 (sha256
5580 (base32
5581 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5582 (inputs
5583 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5584 ("babel" ,sbcl-babel)))
5585 (synopsis "Support Common Lisp library for CXML")
5586 (description "Closure-common is an internal helper library. The name
5587 Closure is a reference to the web browser it was originally written for.")
5588 ;; TODO: License?
5589 (license #f))))
5590
5591 (define-public sbcl-cxml
5592 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5593 (revision "1"))
5594 (package
5595 (name "sbcl-cxml")
5596 (version (git-version "0.0.0" revision commit))
5597 (source
5598 (origin
5599 (method git-fetch)
5600 (uri (git-reference
5601 (url "https://github.com/sharplispers/cxml")
5602 (commit commit)))
5603 (file-name (git-file-name name version))
5604 (sha256
5605 (base32
5606 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5607 (build-system asdf-build-system/sbcl)
5608 (inputs
5609 `(("closure-common" ,sbcl-closure-common)
5610 ("puri" ,sbcl-puri)
5611 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5612 (synopsis "Common Lisp XML parser")
5613 (description "CXML implements a namespace-aware, validating XML 1.0
5614 parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5615 offered, one SAX-like, the other similar to StAX.")
5616 (home-page "https://common-lisp.net/project/cxml/")
5617 (license license:llgpl))))
5618
5619 (define-public cl-cxml
5620 (sbcl-package->cl-source-package sbcl-cxml))
5621
5622 (define-public ecl-cxml
5623 (sbcl-package->ecl-package sbcl-cxml))
5624
5625 (define-public sbcl-cl-reexport
5626 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5627 (revision "1"))
5628 (package
5629 (name "sbcl-cl-reexport")
5630 (build-system asdf-build-system/sbcl)
5631 (version (git-version "0.1" revision commit))
5632 (home-page "https://github.com/takagi/cl-reexport")
5633 (source
5634 (origin
5635 (method git-fetch)
5636 (uri (git-reference
5637 (url home-page)
5638 (commit commit)))
5639 (file-name (git-file-name name version))
5640 (sha256
5641 (base32
5642 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5643 (inputs
5644 `(("alexandria" ,sbcl-alexandria)))
5645 (arguments
5646 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5647 `(#:tests? #f))
5648 (synopsis "HTTP cookie manager for Common Lisp")
5649 (description "cl-cookie is a Common Lisp library featuring parsing of
5650 cookie headers, cookie creation, cookie jar creation and more.")
5651 (license license:llgpl))))
5652
5653 (define-public cl-reexport
5654 (sbcl-package->cl-source-package sbcl-cl-reexport))
5655
5656 (define-public ecl-cl-reexport
5657 (sbcl-package->ecl-package sbcl-cl-reexport))
5658
5659 (define-public sbcl-cl-cookie
5660 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5661 (revision "1"))
5662 (package
5663 (name "sbcl-cl-cookie")
5664 (build-system asdf-build-system/sbcl)
5665 (version (git-version "0.9.10" revision commit))
5666 (home-page "https://github.com/fukamachi/cl-cookie")
5667 (source
5668 (origin
5669 (method git-fetch)
5670 (uri (git-reference
5671 (url home-page)
5672 (commit commit)))
5673 (file-name (git-file-name name version))
5674 (sha256
5675 (base32
5676 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5677 (inputs
5678 `(("proc-parse" ,sbcl-proc-parse)
5679 ("alexandria" ,sbcl-alexandria)
5680 ("quri" ,sbcl-quri)
5681 ("cl-ppcre" ,sbcl-cl-ppcre)
5682 ("local-time" ,sbcl-local-time)))
5683 (native-inputs
5684 `(("prove" ,sbcl-prove)))
5685 (arguments
5686 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5687 `(#:tests? #f))
5688 (synopsis "HTTP cookie manager for Common Lisp")
5689 (description "cl-cookie is a Common Lisp library featuring parsing of
5690 cookie headers, cookie creation, cookie jar creation and more.")
5691 (license license:bsd-2))))
5692
5693 (define-public cl-cookie
5694 (sbcl-package->cl-source-package sbcl-cl-cookie))
5695
5696 (define-public ecl-cl-cookie
5697 (sbcl-package->ecl-package sbcl-cl-cookie))
5698
5699 (define-public sbcl-dexador
5700 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
5701 (revision "1"))
5702 (package
5703 (name "sbcl-dexador")
5704 (build-system asdf-build-system/sbcl)
5705 (version "0.9.14" )
5706 (home-page "https://github.com/fukamachi/dexador")
5707 (source
5708 (origin
5709 (method git-fetch)
5710 (uri (git-reference
5711 (url home-page)
5712 (commit commit)))
5713 (file-name (git-file-name name version))
5714 (sha256
5715 (base32
5716 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
5717 (inputs
5718 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5719 ("babel" ,sbcl-babel)
5720 ("usocket" ,sbcl-usocket)
5721 ("fast-http" ,sbcl-fast-http)
5722 ("quri" ,sbcl-quri)
5723 ("fast-io" ,sbcl-fast-io)
5724 ("chunga" ,sbcl-chunga)
5725 ("cl-ppcre" ,sbcl-cl-ppcre)
5726 ("cl-cookie" ,sbcl-cl-cookie)
5727 ("trivial-mimes" ,sbcl-trivial-mimes)
5728 ("chipz" ,sbcl-chipz)
5729 ("cl-base64" ,sbcl-cl-base64)
5730 ("cl-reexport" ,sbcl-cl-reexport)
5731 ("cl+ssl" ,sbcl-cl+ssl)
5732 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5733 ("alexandria" ,sbcl-alexandria)))
5734 (native-inputs
5735 `(("prove" ,sbcl-prove)
5736 ("lack" ,sbcl-lack)
5737 ("clack" ,sbcl-clack)
5738 ("babel" ,sbcl-babel)
5739 ("alexandria" ,sbcl-alexandria)
5740 ("cl-ppcre" ,sbcl-cl-ppcre)
5741 ("local-time" ,sbcl-local-time)
5742 ("trivial-features" ,sbcl-trivial-features)))
5743 (arguments
5744 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5745 `(#:tests? #f
5746 #:phases
5747 (modify-phases %standard-phases
5748 (add-after 'unpack 'fix-permissions
5749 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5750 (synopsis "Yet another HTTP client for Common Lisp")
5751 (description "Dexador is yet another HTTP client for Common Lisp with
5752 neat APIs and connection-pooling. It is meant to supersede Drakma.")
5753 (license license:expat))))
5754
5755 (define-public cl-dexador
5756 (package
5757 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5758 (arguments
5759 `(#:phases
5760 ;; asdf-build-system/source has its own phases and does not inherit
5761 ;; from asdf-build-system/sbcl phases.
5762 (modify-phases %standard-phases/source
5763 ;; Already done in SBCL package.
5764 (delete 'reset-gzip-timestamps))))))
5765
5766 (define-public ecl-dexador
5767 (sbcl-package->ecl-package sbcl-dexador))
5768
5769 (define-public sbcl-lisp-namespace
5770 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5771 (revision "1"))
5772 (package
5773 (name "sbcl-lisp-namespace")
5774 (build-system asdf-build-system/sbcl)
5775 (version (git-version "0.1" revision commit))
5776 (home-page "https://github.com/guicho271828/lisp-namespace")
5777 (source
5778 (origin
5779 (method git-fetch)
5780 (uri (git-reference
5781 (url home-page)
5782 (commit commit)))
5783 (file-name (git-file-name name version))
5784 (sha256
5785 (base32
5786 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5787 (inputs
5788 `(("alexandria" ,sbcl-alexandria)))
5789 (native-inputs
5790 `(("fiveam" ,sbcl-fiveam)))
5791 (arguments
5792 `(#:test-asd-file "lisp-namespace.test.asd"
5793 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5794 #:tests? #f))
5795 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5796 (description "Common Lisp already has major 2 namespaces, function
5797 namespace and value namespace (or variable namespace), but there are actually
5798 more — e.g., class namespace.
5799 This library offers macros to deal with symbols from any namespace.")
5800 (license license:llgpl))))
5801
5802 (define-public cl-lisp-namespace
5803 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5804
5805 (define-public ecl-lisp-namespace
5806 (sbcl-package->ecl-package sbcl-lisp-namespace))
5807
5808 (define-public sbcl-trivial-cltl2
5809 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
5810 (revision "2"))
5811 (package
5812 (name "sbcl-trivial-cltl2")
5813 (build-system asdf-build-system/sbcl)
5814 (version (git-version "0.1.1" revision commit))
5815 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
5816 (source
5817 (origin
5818 (method git-fetch)
5819 (uri (git-reference
5820 (url home-page)
5821 (commit commit)))
5822 (file-name (git-file-name name version))
5823 (sha256
5824 (base32
5825 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
5826 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5827 (description "This library is a portable compatibility layer around
5828 \"Common Lisp the Language, 2nd
5829 Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5830 and it exports symbols from implementation-specific packages.")
5831 (license license:llgpl))))
5832
5833 (define-public cl-trivial-cltl2
5834 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5835
5836 (define-public ecl-trivial-cltl2
5837 (sbcl-package->ecl-package sbcl-trivial-cltl2))
5838
5839 (define-public sbcl-introspect-environment
5840 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
5841 (revision "1"))
5842 (package
5843 (name "sbcl-introspect-environment")
5844 (build-system asdf-build-system/sbcl)
5845 (version (git-version "0.1" revision commit))
5846 (home-page "https://github.com/Bike/introspect-environment")
5847 (source
5848 (origin
5849 (method git-fetch)
5850 (uri (git-reference
5851 (url home-page)
5852 (commit commit)))
5853 (file-name (git-file-name name version))
5854 (sha256
5855 (base32
5856 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
5857 (native-inputs
5858 `(("fiveam" ,sbcl-fiveam)))
5859 (synopsis "Common Lisp environment introspection portability layer")
5860 (description "This library is a small interface to portable but
5861 nonstandard introspection of Common Lisp environments. It is intended to
5862 allow a bit more compile-time introspection of environments in Common Lisp.
5863
5864 Quite a bit of information is available at the time a macro or compiler-macro
5865 runs; inlining info, type declarations, that sort of thing. This information
5866 is all standard - any Common Lisp program can @code{(declare (integer x))} and
5867 such.
5868
5869 This info ought to be accessible through the standard @code{&environment}
5870 parameters, but it is not. Several implementations keep the information for
5871 their own purposes but do not make it available to user programs, because
5872 there is no standard mechanism to do so.
5873
5874 This library uses implementation-specific hooks to make information available
5875 to users. This is currently supported on SBCL, CCL, and CMUCL. Other
5876 implementations have implementations of the functions that do as much as they
5877 can and/or provide reasonable defaults.")
5878 (license license:wtfpl2))))
5879
5880 (define-public cl-introspect-environment
5881 (sbcl-package->cl-source-package sbcl-introspect-environment))
5882
5883 (define-public ecl-introspect-environment
5884 (sbcl-package->ecl-package sbcl-introspect-environment))
5885
5886 (define-public sbcl-type-i
5887 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
5888 (revision "2"))
5889 (package
5890 (name "sbcl-type-i")
5891 (build-system asdf-build-system/sbcl)
5892 (version (git-version "0.1" revision commit))
5893 (home-page "https://github.com/guicho271828/type-i")
5894 (source
5895 (origin
5896 (method git-fetch)
5897 (uri (git-reference
5898 (url home-page)
5899 (commit commit)))
5900 (file-name (git-file-name name version))
5901 (sha256
5902 (base32
5903 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
5904 (inputs
5905 `(("alexandria" ,sbcl-alexandria)
5906 ("introspect-environment" ,sbcl-introspect-environment)
5907 ("trivia.trivial" ,sbcl-trivia.trivial)))
5908 (native-inputs
5909 `(("fiveam" ,sbcl-fiveam)))
5910 (arguments
5911 `(#:test-asd-file "type-i.test.asd"))
5912 (synopsis "Type inference utility on unary predicates for Common Lisp")
5913 (description "This library tries to provide a way to detect what kind of
5914 type the given predicate is trying to check. This is different from inferring
5915 the return type of a function.")
5916 (license license:llgpl))))
5917
5918 (define-public cl-type-i
5919 (sbcl-package->cl-source-package sbcl-type-i))
5920
5921 (define-public ecl-type-i
5922 (package
5923 (inherit (sbcl-package->ecl-package sbcl-type-i))
5924 (arguments
5925 ;; The tests get stuck indefinitly
5926 '(#:tests? #f))))
5927
5928 (define-public sbcl-optima
5929 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
5930 (revision "1"))
5931 (package
5932 (name "sbcl-optima")
5933 (build-system asdf-build-system/sbcl)
5934 (version (git-version "1.0" revision commit))
5935 (home-page "https://github.com/m2ym/optima")
5936 (source
5937 (origin
5938 (method git-fetch)
5939 (uri (git-reference
5940 (url home-page)
5941 (commit commit)))
5942 (file-name (git-file-name name version))
5943 (sha256
5944 (base32
5945 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
5946 (inputs
5947 `(("alexandria" ,sbcl-alexandria)
5948 ("closer-mop" ,sbcl-closer-mop)))
5949 (native-inputs
5950 `(("eos" ,sbcl-eos)))
5951 (arguments
5952 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
5953 `(#:tests? #f
5954 #:test-asd-file "optima.test.asd"))
5955 (synopsis "Optimized pattern matching library for Common Lisp")
5956 (description "Optima is a fast pattern matching library which uses
5957 optimizing techniques widely used in the functional programming world.")
5958 (license license:expat))))
5959
5960 (define-public cl-optima
5961 (sbcl-package->cl-source-package sbcl-optima))
5962
5963 (define-public ecl-optima
5964 (sbcl-package->ecl-package sbcl-optima))
5965
5966 (define-public sbcl-fare-quasiquote
5967 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
5968 (revision "1"))
5969 (package
5970 (name "sbcl-fare-quasiquote")
5971 (build-system asdf-build-system/sbcl)
5972 (version (git-version "1.0.1" revision commit))
5973 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
5974 (source
5975 (origin
5976 (method git-fetch)
5977 (uri (git-reference
5978 (url (string-append "https://gitlab.common-lisp.net/frideau/"
5979 "fare-quasiquote.git"))
5980 (commit commit)))
5981 (file-name (git-file-name name version))
5982 (sha256
5983 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
5984 (inputs
5985 `(("fare-utils" ,sbcl-fare-utils)
5986 ("named-readtables" ,sbcl-named-readtables)
5987 ("optima" ,sbcl-optima)))
5988 (arguments
5989 ;; XXX: Circular dependencies: Tests depend on subsystems,
5990 ;; which depend on the main systems.
5991 `(#:tests? #f
5992 #:asd-systems '("fare-quasiquote"
5993 "fare-quasiquote-extras")
5994 #:phases
5995 (modify-phases %standard-phases
5996 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
5997 ;; commits after 1.0.0.5, but ASDF fails to read the
5998 ;; "-REVISION-COMMIT" part generated by Guix.
5999 (add-after 'unpack 'patch-requirement
6000 (lambda _
6001 (substitute* "fare-quasiquote.asd"
6002 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
6003 "\"fare-utils\""))
6004 (substitute* "fare-quasiquote-optima.asd"
6005 (("\\(:version \"optima\" \"1\\.0\"\\)")
6006 "\"optima\""))
6007 #t)))))
6008 (synopsis "Pattern-matching friendly implementation of quasiquote")
6009 (description "The main purpose of this n+2nd reimplementation of
6010 quasiquote is enable matching of quasiquoted patterns, using Optima or
6011 Trivia.")
6012 (license license:expat))))
6013
6014 (define-public cl-fare-quasiquote
6015 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
6016
6017 (define-public ecl-fare-quasiquote
6018 (sbcl-package->ecl-package sbcl-fare-quasiquote))
6019
6020 ;;; Split the trivia package in two to work around the circular dependency
6021 ;;; between guicho271828/trivia and guicho271828/type-i.
6022 (define-public sbcl-trivia.trivial
6023 (let ((commit "7286d5d2a4f685f1cac8370816f95276c0851111")
6024 (revision "3"))
6025 (package
6026 (name "sbcl-trivia.trivial")
6027 (version (git-version "0.0.0" revision commit))
6028 (source
6029 (origin
6030 (method git-fetch)
6031 (uri (git-reference
6032 (url "https://github.com/guicho271828/trivia")
6033 (commit commit)))
6034 (file-name (git-file-name "trivia" version))
6035 (sha256
6036 (base32
6037 "0ln0sj3jry7kzbmxhnin66kpbqan1wp8wwgdbw4k29afbdblkcca"))))
6038 (build-system asdf-build-system/sbcl)
6039 (inputs
6040 `(("alexandria" ,sbcl-alexandria)
6041 ("closer-mop" ,sbcl-closer-mop)
6042 ("lisp-namespace" ,sbcl-lisp-namespace)
6043 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
6044 (arguments
6045 '(#:phases
6046 (modify-phases %standard-phases
6047 (add-after 'unpack 'fix-build
6048 (lambda _
6049 (for-each delete-file
6050 '("trivia.balland2006.asd"
6051 "trivia.ppcre.asd"
6052 "trivia.quasiquote.asd"
6053 "trivia.cffi.asd"
6054 "trivia.asd"
6055 "trivia.test.asd"))
6056 #t)))))
6057 (synopsis "Pattern matching in Common Lisp")
6058 (description "Trivia is a pattern matching compiler that is compatible
6059 with Optima, another pattern matching library for Common Lisp. It is meant to
6060 be faster and more extensible than Optima.")
6061 (home-page "https://github.com/guicho271828/trivia")
6062 (license license:llgpl))))
6063
6064 (define-public cl-trivia.trivial
6065 (sbcl-package->cl-source-package sbcl-trivia.trivial))
6066
6067 (define-public ecl-trivia.trivial
6068 (sbcl-package->ecl-package sbcl-trivia.trivial))
6069
6070 (define-public sbcl-trivia
6071 (package
6072 (inherit sbcl-trivia.trivial)
6073 (name "sbcl-trivia")
6074 (native-inputs
6075 `(("fiveam" ,sbcl-fiveam)
6076 ("optima" ,sbcl-optima)))
6077 (inputs
6078 `(("alexandria" ,sbcl-alexandria)
6079 ("cffi" ,sbcl-cffi)
6080 ("cl-ppcre" ,sbcl-cl-ppcre)
6081 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6082 ("iterate" ,sbcl-iterate)
6083 ("trivia.trivial" ,sbcl-trivia.trivial)
6084 ("type-i" ,sbcl-type-i)))
6085 (arguments
6086 '(#:asd-systems '("trivia"
6087 "trivia.ppcre"
6088 "trivia.quasiquote"
6089 "trivia.cffi")
6090 #:test-asd-file "trivia.test.asd"
6091 #:phases
6092 (modify-phases %standard-phases
6093 (add-after 'unpack 'fix-build
6094 (lambda _
6095 (for-each delete-file
6096 '("trivia.level0.asd"
6097 "trivia.level1.asd"
6098 "trivia.level2.asd"
6099 "trivia.trivial.asd"))
6100 #t)))))))
6101
6102 (define-public cl-trivia
6103 (sbcl-package->cl-source-package sbcl-trivia))
6104
6105 (define-public ecl-trivia
6106 (sbcl-package->ecl-package sbcl-trivia))
6107
6108 (define-public sbcl-mk-string-metrics
6109 (package
6110 (name "sbcl-mk-string-metrics")
6111 (version "0.1.2")
6112 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6113 (source (origin
6114 (method git-fetch)
6115 (uri (git-reference
6116 (url home-page)
6117 (commit version)))
6118 (sha256
6119 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6120 (file-name (git-file-name name version))))
6121 (build-system asdf-build-system/sbcl)
6122 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6123 (description "This library implements efficient algorithms that calculate
6124 various string metrics in Common Lisp:
6125
6126 @itemize
6127 @item Damerau-Levenshtein distance
6128 @item Hamming distance
6129 @item Jaccard similarity coefficient
6130 @item Jaro distance
6131 @item Jaro-Winkler distance
6132 @item Levenshtein distance
6133 @item Normalized Damerau-Levenshtein distance
6134 @item Normalized Levenshtein distance
6135 @item Overlap coefficient
6136 @end itemize\n")
6137 (license license:x11)))
6138
6139 (define-public cl-mk-string-metrics
6140 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6141
6142 (define-public ecl-mk-string-metrics
6143 (sbcl-package->ecl-package sbcl-mk-string-metrics))
6144
6145 (define-public sbcl-cl-str
6146 (package
6147 (name "sbcl-cl-str")
6148 (version "0.19")
6149 (home-page "https://github.com/vindarel/cl-str")
6150 (source (origin
6151 (method git-fetch)
6152 (uri (git-reference
6153 (url home-page)
6154 (commit version)))
6155 (sha256
6156 (base32 "1jyza2jhn7w6fl4w87pv0m87z5ia48m6dqw12k0mdh7l3mgjq839"))
6157 (file-name (git-file-name name version))))
6158 (build-system asdf-build-system/sbcl)
6159 (inputs
6160 `(("cl-ppcre" ,sbcl-cl-ppcre)
6161 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
6162 ("cl-change-case" ,sbcl-cl-change-case)))
6163 (native-inputs
6164 `(("prove" ,sbcl-prove)))
6165 (arguments
6166 `(#:asd-systems '("str")
6167 #:test-asd-file "str.test.asd"))
6168 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6169 (description "A modern and consistent Common Lisp string manipulation
6170 library that focuses on modernity, simplicity and discoverability:
6171 @code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6172 @code{str:concat strings} instead of an unusual format construct; one
6173 discoverable library instead of many; consistency and composability, where
6174 @code{s} is always the last argument, which makes it easier to feed pipes and
6175 arrows.")
6176 (license license:expat)))
6177
6178 (define-public cl-str
6179 (sbcl-package->cl-source-package sbcl-cl-str))
6180
6181 (define-public ecl-cl-str
6182 (sbcl-package->ecl-package sbcl-cl-str))
6183
6184 (define-public sbcl-cl-xmlspam
6185 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6186 (package
6187 (name "sbcl-cl-xmlspam")
6188 (build-system asdf-build-system/sbcl)
6189 (version (git-version "0.0.0" "1" commit))
6190 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6191 (source
6192 (origin
6193 (method git-fetch)
6194 (uri (git-reference
6195 (url home-page)
6196 (commit commit)))
6197 (file-name (string-append name "-" version))
6198 (sha256
6199 (base32
6200 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6201 (inputs
6202 `(("cxml" ,sbcl-cxml)
6203 ("cl-ppcre" ,sbcl-cl-ppcre)))
6204 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6205 (description "CXML does an excellent job at parsing XML elements, but what
6206 do you do when you have a XML file that's larger than you want to fit in
6207 memory, and you want to extract some information from it? Writing code to deal
6208 with SAX events, or even using Klacks, quickly becomes tedious.
6209 @code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6210 to write code that mirrors the structure of the XML that it's parsing. It
6211 also makes it easy to shift paradigms when necessary - the usual Lisp control
6212 constructs can be used interchangeably with pattern matching, and the full
6213 power of CXML is available when necessary.")
6214 (license license:bsd-3))))
6215
6216 (define-public cl-xmlspam
6217 (sbcl-package->cl-source-package sbcl-cl-xmlspam))
6218
6219 (define-public ecl-cl-xmlspam
6220 (sbcl-package->ecl-package sbcl-cl-xmlspam))
6221
6222 (define-public sbcl-dbus
6223 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6224 (revision "1"))
6225 (package
6226 (name "sbcl-dbus")
6227 (version (git-version "20190408" revision commit))
6228 (home-page "https://github.com/death/dbus")
6229 (source
6230 (origin
6231 (method git-fetch)
6232 (uri (git-reference
6233 (url home-page)
6234 (commit commit)))
6235 (file-name (git-file-name name version))
6236 (sha256
6237 (base32
6238 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
6239 (build-system asdf-build-system/sbcl)
6240 (inputs
6241 `(("alexandria" ,sbcl-alexandria)
6242 ("trivial-garbage" ,sbcl-trivial-garbage)
6243 ("babel" ,sbcl-babel)
6244 ("iolib" ,sbcl-iolib)
6245 ("ieee-floats" ,sbcl-ieee-floats)
6246 ("flexi-streams" ,sbcl-flexi-streams)
6247 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6248 ("ironclad" ,sbcl-ironclad)))
6249 (synopsis "D-Bus client library for Common Lisp")
6250 (description "This is a Common Lisp library that publishes D-Bus
6251 objects as well as send and notify other objects connected to a bus.")
6252 (license license:bsd-2))))
6253
6254 (define-public cl-dbus
6255 (sbcl-package->cl-source-package sbcl-dbus))
6256
6257 (define-public ecl-dbus
6258 (sbcl-package->ecl-package sbcl-dbus))
6259
6260 (define-public sbcl-cl-hooks
6261 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6262 (revision "1"))
6263 (package
6264 (name "sbcl-cl-hooks")
6265 (build-system asdf-build-system/sbcl)
6266 (version (git-version "0.2.1" revision commit))
6267 (home-page "https://github.com/scymtym/architecture.hooks")
6268 (source
6269 (origin
6270 (method git-fetch)
6271 (uri (git-reference
6272 (url home-page)
6273 (commit commit)))
6274 (file-name (git-file-name name version))
6275 (sha256
6276 (base32
6277 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6278 (inputs
6279 `(("alexandria" ,sbcl-alexandria)
6280 ("let-plus" ,sbcl-let-plus)
6281 ("trivial-garbage" ,sbcl-trivial-garbage)
6282 ("closer-mop" ,sbcl-closer-mop)))
6283 (native-inputs
6284 `(("fiveam" ,sbcl-fiveam)))
6285 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6286 (description "A hook, in the present context, is a certain kind of
6287 extension point in a program that allows interleaving the execution of
6288 arbitrary code with the execution of a the program without introducing any
6289 coupling between the two. Hooks are used extensively in the extensible editor
6290 Emacs.
6291
6292 In the Common LISP Object System (CLOS), a similar kind of extensibility is
6293 possible using the flexible multi-method dispatch mechanism. It may even seem
6294 that the concept of hooks does not provide any benefits over the possibilities
6295 of CLOS. However, there are some differences:
6296
6297 @itemize
6298
6299 @item There can be only one method for each combination of specializers and
6300 qualifiers. As a result this kind of extension point cannot be used by
6301 multiple extensions independently.
6302 @item Removing code previously attached via a @code{:before}, @code{:after} or
6303 @code{:around} method can be cumbersome.
6304 @item There could be other or even multiple extension points besides @code{:before}
6305 and @code{:after} in a single method.
6306 @item Attaching codes to individual objects using eql specializers can be
6307 cumbersome.
6308 @item Introspection of code attached a particular extension point is
6309 cumbersome since this requires enumerating and inspecting the methods of a
6310 generic function.
6311 @end itemize
6312
6313 This library tries to complement some of these weaknesses of method-based
6314 extension-points via the concept of hooks.")
6315 (license license:llgpl))))
6316
6317 (define-public cl-hooks
6318 (sbcl-package->cl-source-package sbcl-cl-hooks))
6319
6320 (define-public ecl-cl-hooks
6321 (sbcl-package->ecl-package sbcl-cl-hooks))
6322
6323 (define-public sbcl-cl-autowrap
6324 (let ((revision "1")
6325 (commit "ae846d6968fc0d000de0c541638929a157f3009e"))
6326 ;; no taged branches
6327 (package
6328 (name "sbcl-cl-autowrap")
6329 (version (git-version "1.0" revision commit))
6330 (source
6331 (origin
6332 (method git-fetch)
6333 (uri (git-reference
6334 (url "https://github.com/rpav/cl-autowrap")
6335 (commit commit)))
6336 (file-name (git-file-name name version))
6337 (sha256
6338 (base32 "1gisldp2zns92kdcaikghm7c38ldy2d884n8bfg0wcjvbz78p3ar"))))
6339 (build-system asdf-build-system/sbcl)
6340 (inputs
6341 `(("alexandria" ,sbcl-alexandria)
6342 ("cffi" ,sbcl-cffi)
6343 ("cl-json" ,sbcl-cl-json)
6344 ("cl-ppcre" ,sbcl-cl-ppcre)
6345 ("defpackage-plus" ,sbcl-defpackage-plus)
6346 ("trivial-features" ,sbcl-trivial-features)))
6347 (home-page "https://github.com/rpav/cl-autowrap")
6348 (synopsis "FFI wrapper generator for Common Lisp")
6349 (description "This is a c2ffi-based wrapper generator for Common Lisp.")
6350 (license license:bsd-2))))
6351
6352 (define-public cl-autowrap
6353 (sbcl-package->cl-source-package sbcl-cl-autowrap))
6354
6355 (define-public ecl-cl-autowrap
6356 (sbcl-package->ecl-package sbcl-cl-autowrap))
6357
6358 (define-public sbcl-s-sysdeps
6359 ;; No release since 2013.
6360 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
6361 (revision "2"))
6362 (package
6363 (name "sbcl-s-sysdeps")
6364 (build-system asdf-build-system/sbcl)
6365 (version (git-version "1" revision commit))
6366 (home-page "https://github.com/svenvc/s-sysdeps")
6367 (source
6368 (origin
6369 (method git-fetch)
6370 (uri (git-reference
6371 (url home-page)
6372 (commit commit)))
6373 (file-name (git-file-name name version))
6374 (sha256
6375 (base32
6376 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
6377 (inputs
6378 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
6379 ("usocket" ,sbcl-usocket)))
6380 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6381 (description "@code{s-sysdeps} is an abstraction layer over platform
6382 dependent functionality. This simple package is used as a building block in a
6383 number of other open source projects.
6384
6385 @code{s-sysdeps} abstracts:
6386
6387 @itemize
6388 @item managing processes,
6389 @item implementing a standard TCP/IP server,
6390 @item opening a client TCP/IP socket stream,
6391 @item working with process locks.
6392 @end itemize\n")
6393 (license license:llgpl))))
6394
6395 (define-public cl-s-sysdeps
6396 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6397
6398 (define-public ecl-s-sysdeps
6399 (sbcl-package->ecl-package sbcl-s-sysdeps))
6400
6401 (define-public sbcl-cl-prevalence
6402 (let ((commit "5a76be036092ed6c18cb695a9e03bce87e21b840")
6403 (revision "4"))
6404 (package
6405 (name "sbcl-cl-prevalence")
6406 (build-system asdf-build-system/sbcl)
6407 (version (git-version "5" revision commit))
6408 (home-page "https://github.com/40ants/cl-prevalence")
6409 (source
6410 (origin
6411 (method git-fetch)
6412 (uri (git-reference
6413 (url home-page)
6414 (commit commit)))
6415 (file-name (git-file-name name version))
6416 (sha256
6417 (base32
6418 "050h6hwv8f16b5v6fzba8zmih92hgaaq27i2x9wv1iib41gbia3r"))))
6419 (inputs
6420 `(("s-sysdeps" ,sbcl-s-sysdeps)
6421 ("s-xml" ,sbcl-s-xml)))
6422 (native-inputs
6423 `(("fiveam" ,sbcl-fiveam)))
6424 (synopsis "Implementation of object prevalence for Common Lisp")
6425 (description "This Common Lisp library implements object prevalence (see
6426 @url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6427 for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6428 classes and cyclic data structures are supported.")
6429 (license license:llgpl))))
6430
6431 (define-public cl-prevalence
6432 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6433
6434 (define-public ecl-cl-prevalence
6435 (sbcl-package->ecl-package sbcl-cl-prevalence))
6436
6437 (define-public sbcl-series
6438 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6439 (revision "1"))
6440 (package
6441 (name "sbcl-series")
6442 (version (git-version "2.2.11" revision commit))
6443 (source
6444 (origin
6445 (method git-fetch)
6446 (uri (git-reference
6447 (url "git://git.code.sf.net/p/series/series")
6448 (commit commit)))
6449 (file-name (git-file-name name version))
6450 (sha256
6451 (base32
6452 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6453 (build-system asdf-build-system/sbcl)
6454 (arguments
6455 ;; Disable the tests, they are apparently buggy and I didn't find
6456 ;; a simple way to make them run and pass.
6457 '(#:tests? #f))
6458 (synopsis "Series data structure for Common Lisp")
6459 (description
6460 "This Common Lisp library provides a series data structure much like
6461 a sequence, with similar kinds of operations. The difference is that in many
6462 situations, operations on series may be composed functionally and yet execute
6463 iteratively, without the need to construct intermediate series values
6464 explicitly. In this manner, series provide both the clarity of a functional
6465 programming style and the efficiency of an iterative programming style.")
6466 (home-page "http://series.sourceforge.net/")
6467 (license license:expat))))
6468
6469 (define-public cl-series
6470 (sbcl-package->cl-source-package sbcl-series))
6471
6472 (define-public ecl-series
6473 (sbcl-package->ecl-package sbcl-series))
6474
6475 (define-public sbcl-periods
6476 (let ((commit "60383dcef88a1ac11f82804ae7a33c361dcd2949")
6477 (revision "2"))
6478 (package
6479 (name "sbcl-periods")
6480 (version (git-version "0.0.2" revision commit))
6481 (source
6482 (origin
6483 (method git-fetch)
6484 (uri (git-reference
6485 (url "https://github.com/jwiegley/periods")
6486 (commit commit)))
6487 (file-name (git-file-name name version))
6488 (sha256
6489 (base32
6490 "1ym2j4an9ig2hl210jg91gpf7xfnp6mlhkw3n9kkdnwiji3ipqlk"))))
6491 (build-system asdf-build-system/sbcl)
6492 (inputs
6493 `(("local-time" ,sbcl-local-time)
6494 ("series" ,sbcl-series)))
6495 (arguments
6496 '(#:asd-systems '("periods"
6497 "periods-series")))
6498 (synopsis "Common Lisp library for manipulating date/time objects")
6499 (description
6500 "Periods is a Common Lisp library providing a set of utilities for
6501 manipulating times, distances between times, and both contiguous and
6502 discontiguous ranges of time.")
6503 (home-page "https://github.com/jwiegley/periods")
6504 (license license:bsd-3))))
6505
6506 (define-public cl-periods
6507 (sbcl-package->cl-source-package sbcl-periods))
6508
6509 (define-public ecl-periods
6510 (sbcl-package->ecl-package sbcl-periods))
6511
6512 (define-public sbcl-metatilities-base
6513 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6514 (revision "1"))
6515 (package
6516 (name "sbcl-metatilities-base")
6517 (version (git-version "0.6.6" revision commit))
6518 (source
6519 (origin
6520 (method git-fetch)
6521 (uri (git-reference
6522 (url "https://github.com/gwkkwg/metatilities-base")
6523 (commit commit)))
6524 (file-name (git-file-name name version))
6525 (sha256
6526 (base32
6527 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6528 (build-system asdf-build-system/sbcl)
6529 (native-inputs
6530 `(("lift" ,sbcl-lift)))
6531 (synopsis "Core of the metatilities Common Lisp library")
6532 (description
6533 "Metatilities-base is the core of the metatilities Common Lisp library
6534 which implements a set of utilities.")
6535 (home-page "https://common-lisp.net/project/metatilities-base/")
6536 (license license:expat))))
6537
6538 (define-public cl-metatilities-base
6539 (sbcl-package->cl-source-package sbcl-metatilities-base))
6540
6541 (define-public ecl-metatilities-base
6542 (sbcl-package->ecl-package sbcl-metatilities-base))
6543
6544 (define-public sbcl-cl-containers
6545 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6546 (revision "3"))
6547 (package
6548 (name "sbcl-cl-containers")
6549 (version (git-version "0.12.1" revision commit))
6550 (source
6551 (origin
6552 (method git-fetch)
6553 (uri (git-reference
6554 (url "https://github.com/gwkkwg/cl-containers")
6555 (commit commit)))
6556 (file-name (git-file-name name version))
6557 (sha256
6558 (base32
6559 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
6560 (build-system asdf-build-system/sbcl)
6561 (native-inputs
6562 `(("lift" ,sbcl-lift)))
6563 (inputs
6564 `(("metatilities-base" ,sbcl-metatilities-base)))
6565 (arguments
6566 '(#:asd-files '("cl-containers.asd")
6567 #:phases
6568 (modify-phases %standard-phases
6569 (add-after 'unpack 'relax-version-checks
6570 (lambda _
6571 (substitute* "cl-containers.asd"
6572 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6573 "\"metatilities-base\""))
6574 (substitute* "cl-containers-test.asd"
6575 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6576 "\"lift\""))
6577 #t)))))
6578 (synopsis "Container library for Common Lisp")
6579 (description
6580 "Common Lisp ships with a set of powerful built in data structures
6581 including the venerable list, full featured arrays, and hash-tables.
6582 CL-containers enhances and builds on these structures by adding containers
6583 that are not available in native Lisp (for example: binary search trees,
6584 red-black trees, sparse arrays and so on), and by providing a standard
6585 interface so that they are simpler to use and so that changing design
6586 decisions becomes significantly easier.")
6587 (home-page "https://common-lisp.net/project/cl-containers/")
6588 (license license:expat))))
6589
6590 (define-public cl-containers
6591 (sbcl-package->cl-source-package sbcl-cl-containers))
6592
6593 (define-public ecl-cl-containers
6594 (sbcl-package->ecl-package sbcl-cl-containers))
6595
6596 (define-public sbcl-xlunit
6597 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6598 (revision "1"))
6599 (package
6600 (name "sbcl-xlunit")
6601 (version (git-version "0.6.3" revision commit))
6602 (source
6603 (origin
6604 (method git-fetch)
6605 (uri (git-reference
6606 (url "http://git.kpe.io/xlunit.git")
6607 (commit commit)))
6608 (file-name (git-file-name name version))
6609 (sha256
6610 (base32
6611 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6612 (build-system asdf-build-system/sbcl)
6613 (arguments
6614 '(#:phases
6615 (modify-phases %standard-phases
6616 (add-after 'unpack 'fix-tests
6617 (lambda _
6618 (substitute* "xlunit.asd"
6619 ((" :force t") ""))
6620 #t)))))
6621 (synopsis "Unit testing package for Common Lisp")
6622 (description
6623 "The XLUnit package is a toolkit for building test suites. It is based
6624 on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6625 (home-page "http://quickdocs.org/xlunit/")
6626 (license license:bsd-3))))
6627
6628 (define-public cl-xlunit
6629 (sbcl-package->cl-source-package sbcl-xlunit))
6630
6631 (define-public ecl-xlunit
6632 (sbcl-package->ecl-package sbcl-xlunit))
6633
6634 (define-public sbcl-cambl
6635 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6636 (revision "1"))
6637 (package
6638 (name "sbcl-cambl")
6639 (version (git-version "4.0.0" revision commit))
6640 (source
6641 (origin
6642 (method git-fetch)
6643 (uri (git-reference
6644 (url "https://github.com/jwiegley/cambl")
6645 (commit commit)))
6646 (file-name (git-file-name "cambl" version))
6647 (sha256
6648 (base32 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6649 (build-system asdf-build-system/sbcl)
6650 (native-inputs
6651 `(("xlunit" ,sbcl-xlunit)))
6652 (inputs
6653 `(("alexandria" ,sbcl-alexandria)
6654 ("cl-containers" ,sbcl-cl-containers)
6655 ("local-time" ,sbcl-local-time)
6656 ("periods" ,sbcl-periods)))
6657 (arguments
6658 '(#:asd-files '("fprog.asd"
6659 "cambl.asd")))
6660 (synopsis "Commoditized amounts and balances for Common Lisp")
6661 (description
6662 "CAMBL is a Common Lisp library providing a convenient facility for
6663 working with commoditized values. It does not allow compound units (and so is
6664 not suited for scientific operations) but does work rather nicely for the
6665 purpose of financial calculations.")
6666 (home-page "https://github.com/jwiegley/cambl")
6667 (license license:bsd-3))))
6668
6669 (define-public cl-cambl
6670 (sbcl-package->cl-source-package sbcl-cambl))
6671
6672 (define-public ecl-cambl
6673 (sbcl-package->ecl-package sbcl-cambl))
6674
6675 (define-public sbcl-cl-ledger
6676 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6677 (revision "1"))
6678 (package
6679 (name "sbcl-cl-ledger")
6680 (version (git-version "4.0.0" revision commit))
6681 (source
6682 (origin
6683 (method git-fetch)
6684 (uri (git-reference
6685 (url "https://github.com/ledger/cl-ledger")
6686 (commit commit)))
6687 (file-name (git-file-name name version))
6688 (sha256
6689 (base32
6690 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6691 (build-system asdf-build-system/sbcl)
6692 (inputs
6693 `(("cambl" ,sbcl-cambl)
6694 ("cl-ppcre" ,sbcl-cl-ppcre)
6695 ("local-time" ,sbcl-local-time)
6696 ("periods" ,sbcl-periods)))
6697 (arguments
6698 '(#:phases
6699 (modify-phases %standard-phases
6700 (add-after 'unpack 'fix-system-definition
6701 (lambda _
6702 (substitute* "cl-ledger.asd"
6703 ((" :build-operation program-op") "")
6704 ((" :build-pathname \"cl-ledger\"") "")
6705 ((" :entry-point \"ledger::main\"") ""))
6706 #t)))))
6707 (synopsis "Common Lisp port of the Ledger accounting system")
6708 (description
6709 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6710 system.")
6711 (home-page "https://github.com/ledger/cl-ledger")
6712 (license license:bsd-3))))
6713
6714 (define-public cl-ledger
6715 (sbcl-package->cl-source-package sbcl-cl-ledger))
6716
6717 (define-public ecl-cl-ledger
6718 (sbcl-package->ecl-package sbcl-cl-ledger))
6719
6720 (define-public sbcl-bst
6721 (let ((commit "8545aed0d504df2829ad139566feeabe22305388")
6722 (revision "0"))
6723 (package
6724 (name "sbcl-bst")
6725 (version (git-version "2.0" revision commit))
6726 (source
6727 (origin
6728 (method git-fetch)
6729 (uri (git-reference
6730 (url "https://github.com/glv2/bst")
6731 (commit commit)))
6732 (file-name (git-file-name name version))
6733 (sha256
6734 (base32 "18ig7rvxcra69437g0i8sxyv7c5dg26jqnx1rc2f9pxmihdprgk8"))))
6735 (build-system asdf-build-system/sbcl)
6736 (native-inputs
6737 `(("alexandria" ,sbcl-alexandria)
6738 ("fiveam" ,sbcl-fiveam)))
6739 (synopsis "Binary search tree for Common Lisp")
6740 (description
6741 "BST is a Common Lisp library for working with binary search trees that
6742 can contain any kind of values.")
6743 (home-page "https://github.com/glv2/bst")
6744 (license license:gpl3))))
6745
6746 (define-public cl-bst
6747 (sbcl-package->cl-source-package sbcl-bst))
6748
6749 (define-public ecl-bst
6750 (sbcl-package->ecl-package sbcl-bst))
6751
6752 (define-public sbcl-cl-octet-streams
6753 (package
6754 (name "sbcl-cl-octet-streams")
6755 (version "1.2")
6756 (source
6757 (origin
6758 (method git-fetch)
6759 (uri (git-reference
6760 (url "https://github.com/glv2/cl-octet-streams")
6761 (commit (string-append "v" version))))
6762 (file-name (git-file-name name version))
6763 (sha256
6764 (base32 "1hffh98bv4w5yrchagzwqrc43d2p473pvw7ka4kyyvhrr52dk2f8"))))
6765 (build-system asdf-build-system/sbcl)
6766 (native-inputs
6767 `(("fiveam" ,sbcl-fiveam)))
6768 (inputs
6769 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6770 (synopsis "In-memory octet streams for Common Lisp")
6771 (description
6772 "CL-octet-streams is a library implementing in-memory octet
6773 streams for Common Lisp. It was inspired by the trivial-octet-streams and
6774 cl-plumbing libraries.")
6775 (home-page "https://github.com/glv2/cl-octet-streams")
6776 (license license:gpl3+)))
6777
6778 (define-public cl-octet-streams
6779 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
6780
6781 (define-public ecl-cl-octet-streams
6782 (sbcl-package->ecl-package sbcl-cl-octet-streams))
6783
6784 (define-public sbcl-lzlib
6785 (let ((commit "cad10f5becbcfebb44b9d311a257563778803452")
6786 (revision "2"))
6787 (package
6788 (name "sbcl-lzlib")
6789 (version (git-version "1.1" revision commit))
6790 (source
6791 (origin
6792 (method git-fetch)
6793 (uri (git-reference
6794 (url "https://github.com/glv2/cl-lzlib")
6795 (commit commit)))
6796 (file-name (git-file-name name version))
6797 (sha256
6798 (base32 "09lp7li35h4jkls0448fj1sh6pjslr1w7ranbc4szjr8g0c2bdry"))))
6799 (build-system asdf-build-system/sbcl)
6800 (native-inputs
6801 `(("fiveam" ,sbcl-fiveam)))
6802 (inputs
6803 `(("cffi" ,sbcl-cffi)
6804 ("cl-octet-streams" ,sbcl-cl-octet-streams)
6805 ("lparallel" ,sbcl-lparallel)
6806 ("lzlib" ,lzlib)))
6807 (arguments
6808 '(#:phases
6809 (modify-phases %standard-phases
6810 (add-after 'unpack 'fix-paths
6811 (lambda* (#:key inputs #:allow-other-keys)
6812 (substitute* "src/lzlib.lisp"
6813 (("liblz\\.so")
6814 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
6815 #t)))))
6816 (synopsis "Common Lisp library for lzip (de)compression")
6817 (description
6818 "This Common Lisp library provides functions for lzip (LZMA)
6819 compression/decompression using bindings to the lzlib C library.")
6820 (home-page "https://github.com/glv2/cl-lzlib")
6821 (license license:gpl3+))))
6822
6823 (define-public cl-lzlib
6824 (sbcl-package->cl-source-package sbcl-lzlib))
6825
6826 (define-public ecl-lzlib
6827 (sbcl-package->ecl-package sbcl-lzlib))
6828
6829 (define-public sbcl-chanl
6830 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
6831 (revision "1"))
6832 (package
6833 (name "sbcl-chanl")
6834 (version (git-version "0.4.1" revision commit))
6835 (source
6836 (origin
6837 (method git-fetch)
6838 (uri (git-reference
6839 (url "https://github.com/zkat/chanl")
6840 (commit commit)))
6841 (file-name (git-file-name name version))
6842 (sha256
6843 (base32
6844 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
6845 (build-system asdf-build-system/sbcl)
6846 (native-inputs
6847 `(("fiveam" ,sbcl-fiveam)))
6848 (inputs
6849 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
6850 (synopsis "Portable channel-based concurrency for Common Lisp")
6851 (description "Common Lisp library for channel-based concurrency. In
6852 a nutshell, you create various threads sequentially executing tasks you need
6853 done, and use channel objects to communicate and synchronize the state of these
6854 threads.")
6855 (home-page "https://github.com/zkat/chanl")
6856 (license (list license:expat license:bsd-3)))))
6857
6858 (define-public cl-chanl
6859 (sbcl-package->cl-source-package sbcl-chanl))
6860
6861 (define-public ecl-chanl
6862 (sbcl-package->ecl-package sbcl-chanl))
6863
6864 (define-public sbcl-cl-store
6865 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
6866 (revision "1"))
6867 (package
6868 (name "sbcl-cl-store")
6869 (version (git-version "0.8.11" revision commit))
6870 (source
6871 (origin
6872 (method git-fetch)
6873 (uri (git-reference
6874 (url "https://github.com/skypher/cl-store")
6875 (commit commit)))
6876 (file-name (git-file-name name version))
6877 (sha256
6878 (base32
6879 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
6880 (build-system asdf-build-system/sbcl)
6881 (native-inputs
6882 `(("rt" ,sbcl-rt)))
6883 (synopsis "Common Lisp library to serialize data")
6884 (description
6885 "CL-STORE is a portable serialization package which should give you the
6886 ability to store all Common Lisp data types into streams.")
6887 (home-page "https://www.common-lisp.net/project/cl-store/")
6888 (license license:expat))))
6889
6890 (define-public cl-store
6891 (sbcl-package->cl-source-package sbcl-cl-store))
6892
6893 (define-public ecl-cl-store
6894 (sbcl-package->ecl-package sbcl-cl-store))
6895
6896 (define-public sbcl-specialization-store
6897 (let ((commit "8d39a866a6f24986aad3cc52349e9cb2653496f3")
6898 (revision "1"))
6899 (package
6900 (name "sbcl-specialization-store")
6901 (version (git-version "0.0.5" revision commit))
6902 (source
6903 (origin
6904 (method git-fetch)
6905 (uri (git-reference
6906 (url "https://github.com/markcox80/specialization-store")
6907 (commit commit)))
6908 (file-name (git-file-name "specialization-store" version))
6909 (sha256
6910 (base32 "0r0bgb46q4gy72l78s7djkxq8ibb4bb3yh9brsry5lih7br8lhi0"))))
6911 (build-system asdf-build-system/sbcl)
6912 (native-inputs
6913 `(("fiveam" ,sbcl-fiveam)))
6914 (inputs
6915 `(("alexandria" ,sbcl-alexandria)
6916 ("introspect-environment" ,sbcl-introspect-environment)))
6917 (home-page "https://github.com/markcox80/specialization-store")
6918 (synopsis "Different type of generic function for Common Lisp")
6919 (description
6920 "SPECIALIZATION-STORE system provides a new kind of function, called
6921 a store function, whose behavior depends on the types of objects passed to the
6922 function.")
6923 (license license:bsd-2))))
6924
6925 (define-public ecl-specialization-store
6926 (package
6927 (inherit (sbcl-package->ecl-package sbcl-specialization-store))
6928 (arguments
6929 ;; TODO: Find why the tests get stuck forever; disable them for now.
6930 `(#:tests? #f))))
6931
6932 (define-public cl-specialization-store
6933 (sbcl-package->cl-source-package sbcl-specialization-store))
6934
6935 (define-public sbcl-cl-gobject-introspection
6936 (let ((commit "d0136c8d9ade2560123af1fc55bbf70d2e3db539")
6937 (revision "1"))
6938 (package
6939 (name "sbcl-cl-gobject-introspection")
6940 (version (git-version "0.3" revision commit))
6941 (home-page "https://github.com/andy128k/cl-gobject-introspection")
6942 (source
6943 (origin
6944 (method git-fetch)
6945 (uri (git-reference
6946 (url home-page)
6947 (commit commit)))
6948 (file-name (git-file-name name version))
6949 (sha256
6950 (base32
6951 "0dz0r73pq7yhz2iq2jnkq977awx2zws2qfxdcy33329sys1ii32p"))))
6952 (build-system asdf-build-system/sbcl)
6953 (inputs
6954 `(("alexandria" ,sbcl-alexandria)
6955 ("cffi" ,sbcl-cffi)
6956 ("iterate" ,sbcl-iterate)
6957 ("trivial-garbage" ,sbcl-trivial-garbage)
6958 ("glib" ,glib)
6959 ("gobject-introspection" ,gobject-introspection)))
6960 (native-inputs
6961 `(("fiveam" ,sbcl-fiveam)))
6962 (arguments
6963 '(#:phases
6964 (modify-phases %standard-phases
6965 (add-after 'unpack 'fix-paths
6966 (lambda* (#:key inputs #:allow-other-keys)
6967 (substitute* "src/init.lisp"
6968 (("libgobject-2\\.0\\.so")
6969 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
6970 (("libgirepository-1\\.0\\.so")
6971 (string-append (assoc-ref inputs "gobject-introspection")
6972 "/lib/libgirepository-1.0.so")))
6973 #t)))))
6974 (synopsis "Common Lisp bindings to GObject Introspection")
6975 (description
6976 "This library is a bridge between Common Lisp and GObject
6977 Introspection, which enables Common Lisp programs to access the full interface
6978 of C+GObject libraries without the need of writing dedicated bindings.")
6979 (license (list license:bsd-3
6980 ;; Tests are under a different license.
6981 license:llgpl)))))
6982
6983 (define-public cl-gobject-introspection
6984 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
6985
6986 (define-public ecl-cl-gobject-introspection
6987 (sbcl-package->ecl-package sbcl-cl-gobject-introspection))
6988
6989 (define-public sbcl-cl-slug
6990 (let ((commit "ffb229d10f0d3f7f54e706791725225e200bf749")
6991 (revision "1"))
6992 (package
6993 (name "sbcl-cl-slug")
6994 (version (git-version "0.4.1" revision commit))
6995 (source
6996 (origin
6997 (method git-fetch)
6998 (uri (git-reference
6999 (url "https://github.com/EuAndreh/cl-slug")
7000 (commit commit)))
7001 (file-name (git-file-name "cl-slug" version))
7002 (sha256
7003 (base32 "1asdq6xllmsvfw5fky9wblqcx9isac9jrrlkfl7vyxcq1wxrnflx"))))
7004 (build-system asdf-build-system/sbcl)
7005 (arguments
7006 `(#:asd-files '("cl-slug-test.asd" "cl-slug.asd")
7007 #:asd-systems '("cl-slug-test" "cl-slug")))
7008 (native-inputs
7009 `(("prove" ,sbcl-prove)))
7010 (inputs
7011 `(("ppcre" ,sbcl-cl-ppcre)))
7012 (home-page "https://github.com/EuAndreh/cl-slug")
7013 (synopsis "Multi-language slug formater")
7014 (description
7015 "This is a small Common Lisp library to make slugs, mainly for URIs,
7016 from english and beyond.")
7017 (license license:llgpl))))
7018
7019 (define-public ecl-cl-slug
7020 (sbcl-package->ecl-package sbcl-cl-slug))
7021
7022 (define-public cl-slug
7023 (sbcl-package->cl-source-package sbcl-cl-slug))
7024
7025 (define-public sbcl-string-case
7026 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
7027 (revision "0"))
7028 (package
7029 (name "sbcl-string-case")
7030 (version (git-version "0.0.2" revision commit))
7031 (home-page "https://github.com/pkhuong/string-case")
7032 (source
7033 (origin
7034 (method git-fetch)
7035 (uri (git-reference
7036 (url home-page)
7037 (commit commit)))
7038 (file-name (git-file-name name version))
7039 (sha256
7040 (base32
7041 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7042 (build-system asdf-build-system/sbcl)
7043 (synopsis "Efficient string= case in Common Lisp")
7044 (description
7045 "@code{string-case} is a Common Lisp macro that generates specialised decision
7046 trees to dispatch on string equality.")
7047 (license license:bsd-3))))
7048
7049 (define-public cl-string-case
7050 (sbcl-package->cl-source-package sbcl-string-case))
7051
7052 (define-public ecl-string-case
7053 (sbcl-package->ecl-package sbcl-string-case))
7054
7055 (define-public sbcl-garbage-pools
7056 (let ((commit "9a7cb7f48b04197c0495df3b6d2e8395ad13f790")
7057 (revision "1"))
7058 (package
7059 (name "sbcl-garbage-pools")
7060 (version (git-version "0.1.2" revision commit))
7061 (source
7062 (origin
7063 (method git-fetch)
7064 (uri (git-reference
7065 (url "https://github.com/archimag/garbage-pools")
7066 (commit commit)))
7067 (file-name (git-file-name name version))
7068 (sha256
7069 (base32 "04jqwr6j138him6wc4nrwjzm4lvyj5j31xqab02nkf8h9hmsf5v1"))))
7070 (build-system asdf-build-system/sbcl)
7071 (home-page "https://github.com/archimag/garbage-pools")
7072 (synopsis "Resource management pools for Common Lisp")
7073 (description "GARBAGE-POOLS is Common Lisp re-implementation of the APR
7074 Pools for resource management.")
7075 (license license:expat))))
7076
7077 (define-public ecl-garbage-pools
7078 (sbcl-package->ecl-package sbcl-garbage-pools))
7079
7080 (define-public cl-garbage-pools
7081 (sbcl-package->cl-source-package sbcl-garbage-pools))
7082
7083 (define-public sbcl-global-vars
7084 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7085 (revision "0"))
7086 (package
7087 (name "sbcl-global-vars")
7088 (version (git-version "1.0.0" revision commit))
7089 (home-page "https://github.com/lmj/global-vars")
7090 (source
7091 (origin
7092 (method git-fetch)
7093 (uri (git-reference
7094 (url home-page)
7095 (commit commit)))
7096 (file-name (git-file-name name version))
7097 (sha256
7098 (base32
7099 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7100 (build-system asdf-build-system/sbcl)
7101 (synopsis "Efficient global variables in Common Lisp")
7102 (description
7103 "In Common Lisp, a special variable that is never dynamically bound
7104 typically serves as a stand-in for a global variable. The @code{global-vars}
7105 library provides true global variables that are implemented by some compilers.
7106 An attempt to rebind a global variable properly results in a compiler error.
7107 That is, a global variable cannot be dynamically bound.
7108
7109 Global variables therefore allow us to communicate an intended usage that
7110 differs from special variables. Global variables are also more efficient than
7111 special variables, especially in the presence of threads.")
7112 (license license:expat))))
7113
7114 (define-public cl-global-vars
7115 (sbcl-package->cl-source-package sbcl-global-vars))
7116
7117 (define-public ecl-global-vars
7118 (sbcl-package->ecl-package sbcl-global-vars))
7119
7120 (define-public sbcl-trivial-file-size
7121 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7122 (revision "0"))
7123 (package
7124 (name "sbcl-trivial-file-size")
7125 (version (git-version "0.0.0" revision commit))
7126 (home-page "https://github.com/ruricolist/trivial-file-size")
7127 (source
7128 (origin
7129 (method git-fetch)
7130 (uri (git-reference
7131 (url home-page)
7132 (commit commit)))
7133 (file-name (git-file-name name version))
7134 (sha256
7135 (base32
7136 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7137 (build-system asdf-build-system/sbcl)
7138 (native-inputs
7139 `(("fiveam" ,sbcl-fiveam)))
7140 (synopsis "Size of a file in bytes in Common Lisp")
7141 (description
7142 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7143 is to open the file with an element type of (unsigned-byte 8) and then
7144 calculate the length of the stream. This is less than ideal. In most cases
7145 it is better to get the size of the file from its metadata, using a system
7146 call.
7147
7148 This library exports a single function, file-size-in-octets. It returns the
7149 size of a file in bytes, using system calls when possible.")
7150 (license license:expat))))
7151
7152 (define-public cl-trivial-file-size
7153 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7154
7155 (define-public ecl-trivial-file-size
7156 (sbcl-package->ecl-package sbcl-trivial-file-size))
7157
7158 (define-public sbcl-trivial-macroexpand-all
7159 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7160 (revision "0"))
7161 (package
7162 (name "sbcl-trivial-macroexpand-all")
7163 (version (git-version "0.0.0" revision commit))
7164 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7165 (source
7166 (origin
7167 (method git-fetch)
7168 (uri (git-reference
7169 (url home-page)
7170 (commit commit)))
7171 (file-name (git-file-name name version))
7172 (sha256
7173 (base32
7174 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7175 (build-system asdf-build-system/sbcl)
7176 (native-inputs
7177 `(("fiveam" ,sbcl-fiveam)))
7178 (synopsis "Portable macroexpand-all for Common Lisp")
7179 (description
7180 "This library provides a macroexpand-all function that calls the
7181 implementation specific equivalent.")
7182 (license license:unlicense))))
7183
7184 (define-public cl-trivial-macroexpand-all
7185 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7186
7187 (define-public ecl-trivial-macroexpand-all
7188 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7189
7190 (define-public sbcl-serapeum
7191 (let ((commit "263f415a350736b44e3878524ff3997e656fca32")
7192 (revision "4"))
7193 (package
7194 (name "sbcl-serapeum")
7195 (version (git-version "0.0.0" revision commit))
7196 (home-page "https://github.com/ruricolist/serapeum")
7197 (source
7198 (origin
7199 (method git-fetch)
7200 (uri (git-reference
7201 (url home-page)
7202 (commit commit)))
7203 (file-name (git-file-name name version))
7204 (sha256
7205 (base32
7206 "1669yidvxq41s3g6hb2jk21bcb5s2bnfsacpyd5b0hdxbmc7knq3"))))
7207 (build-system asdf-build-system/sbcl)
7208 (inputs
7209 `(("alexandria" ,sbcl-alexandria)
7210 ("trivia" ,sbcl-trivia)
7211 ("split-sequence" ,sbcl-split-sequence)
7212 ("string-case" ,sbcl-string-case)
7213 ("parse-number" ,sbcl-parse-number)
7214 ("trivial-garbage" ,sbcl-trivial-garbage)
7215 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7216 ("named-readtables" ,sbcl-named-readtables)
7217 ("fare-quasiquote" ,sbcl-fare-quasiquote)
7218 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7219 ("global-vars" ,sbcl-global-vars)
7220 ("trivial-file-size" ,sbcl-trivial-file-size)
7221 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7222 (native-inputs
7223 `(("fiveam" ,sbcl-fiveam)
7224 ("local-time" ,sbcl-local-time)))
7225 (arguments
7226 '(#:phases
7227 (modify-phases %standard-phases
7228 (add-after 'unpack 'disable-failing-tests
7229 (lambda* (#:key inputs #:allow-other-keys)
7230 (substitute* "serapeum.asd"
7231 ;; Guix does not have Quicklisp, and probably never will.
7232 (("\\(:file \"quicklisp\"\\)") ""))
7233 #t)))))
7234 (synopsis "Common Lisp utility library beyond Alexandria")
7235 (description
7236 "Serapeum is a conservative library of Common Lisp utilities. It is a
7237 supplement, not a competitor, to Alexandria.")
7238 (license license:expat))))
7239
7240 (define-public cl-serapeum
7241 (sbcl-package->cl-source-package sbcl-serapeum))
7242
7243 (define-public ecl-serapeum
7244 (sbcl-package->ecl-package sbcl-serapeum))
7245
7246 (define-public sbcl-arrows
7247 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7248 (revision "0"))
7249 (package
7250 (name "sbcl-arrows")
7251 (version (git-version "0.2.0" revision commit))
7252 (source
7253 (origin
7254 (method git-fetch)
7255 (uri (git-reference
7256 (url "https://gitlab.com/Harleqin/arrows.git")
7257 (commit commit)))
7258 (file-name (git-file-name name version))
7259 (sha256
7260 (base32
7261 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7262 (build-system asdf-build-system/sbcl)
7263 (native-inputs
7264 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7265 (synopsis "Clojure-like arrow macros for Common Lisp")
7266 (description
7267 "This library implements the @code{->} and @code{->>} macros from
7268 Clojure, as well as several expansions on the idea.")
7269 (home-page "https://gitlab.com/Harleqin/arrows")
7270 (license license:public-domain))))
7271
7272 (define-public cl-arrows
7273 (sbcl-package->cl-source-package sbcl-arrows))
7274
7275 (define-public ecl-arrows
7276 (sbcl-package->ecl-package sbcl-arrows))
7277
7278 (define-public sbcl-simple-parallel-tasks
7279 (let ((commit "ce7b60f788d8f68dfb69b24aac54c0e3b63379a6")
7280 (revision "1"))
7281 (package
7282 (name "sbcl-simple-parallel-tasks")
7283 (version (git-version "1.0" revision commit))
7284 (source
7285 (origin
7286 (method git-fetch)
7287 (uri (git-reference
7288 (url "https://github.com/glv2/simple-parallel-tasks")
7289 (commit commit)))
7290 (file-name (git-file-name name version))
7291 (sha256
7292 (base32 "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7"))))
7293 (build-system asdf-build-system/sbcl)
7294 (native-inputs
7295 `(("fiveam" ,sbcl-fiveam)))
7296 (inputs
7297 `(("chanl" ,sbcl-chanl)))
7298 (synopsis "Common Lisp library to evaluate some forms in parallel")
7299 (description "This is a simple Common Lisp library to evaluate some
7300 forms in parallel.")
7301 (home-page "https://github.com/glv2/simple-parallel-tasks")
7302 (license license:gpl3))))
7303
7304 (define-public cl-simple-parallel-tasks
7305 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7306
7307 (define-public ecl-simple-parallel-tasks
7308 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7309
7310 (define-public sbcl-cl-heap
7311 (package
7312 (name "sbcl-cl-heap")
7313 (version "0.1.6")
7314 (source
7315 (origin
7316 (method url-fetch)
7317 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7318 "cl-heap_" version ".tar.gz"))
7319 (sha256
7320 (base32
7321 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7322 (build-system asdf-build-system/sbcl)
7323 (native-inputs
7324 `(("xlunit" ,sbcl-xlunit)))
7325 (arguments
7326 `(#:test-asd-file "cl-heap-tests.asd"))
7327 (synopsis "Heap and priority queue data structures for Common Lisp")
7328 (description
7329 "CL-HEAP provides various implementations of heap data structures (a
7330 binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7331 (home-page "https://common-lisp.net/project/cl-heap/")
7332 (license license:gpl3+)))
7333
7334 (define-public cl-heap
7335 (sbcl-package->cl-source-package sbcl-cl-heap))
7336
7337 (define-public ecl-cl-heap
7338 (sbcl-package->ecl-package sbcl-cl-heap))
7339
7340 (define-public sbcl-curry-compose-reader-macros
7341 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7342 (revision "0"))
7343 (package
7344 (name "sbcl-curry-compose-reader-macros")
7345 (version (git-version "1.0.0" revision commit))
7346 (source
7347 (origin
7348 (method git-fetch)
7349 (uri
7350 (git-reference
7351 (url "https://github.com/eschulte/curry-compose-reader-macros")
7352 (commit commit)))
7353 (file-name (git-file-name name version))
7354 (sha256
7355 (base32
7356 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7357 (build-system asdf-build-system/sbcl)
7358 (inputs
7359 `(("alexandria" ,sbcl-alexandria)
7360 ("named-readtables" ,sbcl-named-readtables)))
7361 (synopsis "Reader macros for partial application and composition")
7362 (description
7363 "This Common Lisp library provides reader macros for concise expression
7364 of function partial application and composition.")
7365 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7366 (license license:public-domain))))
7367
7368 (define-public cl-curry-compose-reader-macros
7369 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7370
7371 (define-public ecl-curry-compose-reader-macros
7372 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7373
7374 (define-public sbcl-yason
7375 (package
7376 (name "sbcl-yason")
7377 (version "0.7.7")
7378 (source
7379 (origin
7380 (method git-fetch)
7381 (uri (git-reference
7382 (url "https://github.com/phmarek/yason")
7383 (commit (string-append "v" version))))
7384 (file-name (git-file-name name version))
7385 (sha256
7386 (base32
7387 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7388 (build-system asdf-build-system/sbcl)
7389 (inputs
7390 `(("alexandria" ,sbcl-alexandria)
7391 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7392 (synopsis "Common Lisp JSON parser/encoder")
7393 (description
7394 "YASON is a Common Lisp library for encoding and decoding data in the
7395 JSON interchange format.")
7396 (home-page "https://github.com/phmarek/yason")
7397 (license license:bsd-3)))
7398
7399 (define-public cl-yason
7400 (sbcl-package->cl-source-package sbcl-yason))
7401
7402 (define-public ecl-yason
7403 (sbcl-package->ecl-package sbcl-yason))
7404
7405 (define-public sbcl-stefil
7406 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7407 (revision "0"))
7408 (package
7409 (name "sbcl-stefil")
7410 (version (git-version "0.1" revision commit))
7411 (source
7412 (origin
7413 (method git-fetch)
7414 (uri (git-reference
7415 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7416 (commit commit)))
7417 (file-name (git-file-name name version))
7418 (sha256
7419 (base32
7420 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7421 (build-system asdf-build-system/sbcl)
7422 (inputs
7423 `(("alexandria" ,sbcl-alexandria)
7424 ("iterate" ,sbcl-iterate)
7425 ("metabang-bind" ,sbcl-metabang-bind)
7426 ("swank" ,sbcl-slime-swank)))
7427 (arguments
7428 '(#:phases
7429 (modify-phases %standard-phases
7430 (add-after 'unpack 'drop-unnecessary-dependency
7431 (lambda _
7432 (substitute* "package.lisp"
7433 ((":stefil-system") ""))
7434 #t)))))
7435 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7436 (synopsis "Simple test framework")
7437 (description
7438 "Stefil is a simple test framework for Common Lisp, with a focus on
7439 interactive development.")
7440 (license license:public-domain))))
7441
7442 (define-public cl-stefil
7443 (sbcl-package->cl-source-package sbcl-stefil))
7444
7445 (define-public ecl-stefil
7446 (sbcl-package->ecl-package sbcl-stefil))
7447
7448 (define-public sbcl-graph
7449 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7450 (revision "0"))
7451 (package
7452 (name "sbcl-graph")
7453 (version (git-version "0.0.0" revision commit))
7454 (source
7455 (origin
7456 (method git-fetch)
7457 (uri
7458 (git-reference
7459 (url "https://github.com/eschulte/graph")
7460 (commit commit)))
7461 (file-name (git-file-name name version))
7462 (sha256
7463 (base32
7464 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))))
7465 (build-system asdf-build-system/sbcl)
7466 (native-inputs
7467 `(("stefil" ,sbcl-stefil)))
7468 (inputs
7469 `(("alexandria" ,sbcl-alexandria)
7470 ("cl-heap" ,sbcl-cl-heap)
7471 ("cl-ppcre" ,sbcl-cl-ppcre)
7472 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7473 ("metabang-bind" ,sbcl-metabang-bind)
7474 ("named-readtables" ,sbcl-named-readtables)
7475 ("yason" ,sbcl-yason)))
7476 (arguments
7477 '(#:asd-systems '("graph"
7478 "graph/dot"
7479 "graph/json")))
7480 (synopsis "Graph data structure and algorithms for Common Lisp")
7481 (description
7482 "The GRAPH Common Lisp library provides a data structures to represent
7483 graphs, as well as some graph manipulation and analysis algorithms (shortest
7484 path, maximum flow, minimum spanning tree, etc.).")
7485 (home-page "https://eschulte.github.io/graph/")
7486 (license license:gpl3+))))
7487
7488 (define-public cl-graph
7489 (sbcl-package->cl-source-package sbcl-graph))
7490
7491 (define-public ecl-graph
7492 (sbcl-package->ecl-package sbcl-graph))
7493
7494 (define-public sbcl-trivial-indent
7495 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7496 (revision "0"))
7497 (package
7498 (name "sbcl-trivial-indent")
7499 (version (git-version "1.0.0" revision commit))
7500 (source
7501 (origin
7502 (method git-fetch)
7503 (uri
7504 (git-reference
7505 (url "https://github.com/Shinmera/trivial-indent")
7506 (commit commit)))
7507 (file-name (git-file-name name version))
7508 (sha256
7509 (base32
7510 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7511 (build-system asdf-build-system/sbcl)
7512 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7513 (description
7514 "This library allows you to define custom indentation hints for your
7515 macros if the one recognised by SLIME automatically produces unwanted
7516 results.")
7517 (home-page "https://shinmera.github.io/trivial-indent/")
7518 (license license:zlib))))
7519
7520 (define-public cl-trivial-indent
7521 (sbcl-package->cl-source-package sbcl-trivial-indent))
7522
7523 (define-public ecl-trivial-indent
7524 (sbcl-package->ecl-package sbcl-trivial-indent))
7525
7526 (define-public sbcl-documentation-utils
7527 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7528 (revision "0"))
7529 (package
7530 (name "sbcl-documentation-utils")
7531 (version (git-version "1.2.0" revision commit))
7532 (source
7533 (origin
7534 (method git-fetch)
7535 (uri
7536 (git-reference
7537 (url "https://github.com/Shinmera/documentation-utils")
7538 (commit commit)))
7539 (file-name (git-file-name name version))
7540 (sha256
7541 (base32
7542 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7543 (build-system asdf-build-system/sbcl)
7544 (inputs
7545 `(("trivial-indent" ,sbcl-trivial-indent)))
7546 (synopsis "Few simple tools to document Common Lisp libraries")
7547 (description
7548 "This is a small library to help you with managing the Common Lisp
7549 docstrings for your library.")
7550 (home-page "https://shinmera.github.io/documentation-utils/")
7551 (license license:zlib))))
7552
7553 (define-public cl-documentation-utils
7554 (sbcl-package->cl-source-package sbcl-documentation-utils))
7555
7556 (define-public ecl-documentation-utils
7557 (sbcl-package->ecl-package sbcl-documentation-utils))
7558
7559 (define-public sbcl-documentation-utils-extensions
7560 (let ((commit "f67f8a05d583174662a594b79356b201c1d9d750"))
7561 (package
7562 (name "sbcl-documentation-utils-extensions")
7563 (version (git-version "0.0.0" "1" commit))
7564 (source
7565 (origin
7566 (method git-fetch)
7567 (uri
7568 (git-reference
7569 (url "https://github.com/sirherrbatka/documentation-utils-extensions/")
7570 (commit commit)))
7571 (file-name (git-file-name name version))
7572 (sha256
7573 (base32
7574 "0pn45c9rbxlnhn5nvhqz6kyv0nlirwxpg4j27niwdq80yxzsn51f"))))
7575 (build-system asdf-build-system/sbcl)
7576 (inputs
7577 `(("documentation-utils" ,sbcl-documentation-utils)))
7578 (home-page "https://github.com/sirherrbatka/documentation-utils-extensions")
7579 (synopsis "Set of extensions for documentation-utils")
7580 (description
7581 "Use @code{rich-formatter} to format documentation with sections @code{:syntax},
7582 @code{:arguments}, @code{:examples}, @code{:description}, @code{:returns},
7583 @code{:side-effects}, @code{:thread-safety}, @code{:affected-by},
7584 @code{:see-also} and @code{:notes}. Gather unformatted input by using
7585 @code{rich-aggregating-formatter} and @code{*DOCUMENTATION*} variable. Find
7586 gathered documentation with find-documentation function. Execute code stored
7587 in documentation with @code{execute-documentation}. See the examples in the
7588 @code{src/documentation.lisp} file. See the @code{documentation-utils} system
7589 for more information.")
7590 (license license:expat))))
7591
7592 (define-public cl-documentation-utils-extensions
7593 (sbcl-package->cl-source-package sbcl-documentation-utils-extensions))
7594
7595 (define-public ecl-documentation-utils-extensions
7596 (sbcl-package->ecl-package sbcl-documentation-utils-extensions))
7597
7598 (define-public sbcl-form-fiddle
7599 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7600 (revision "0"))
7601 (package
7602 (name "sbcl-form-fiddle")
7603 (version (git-version "1.1.0" revision commit))
7604 (source
7605 (origin
7606 (method git-fetch)
7607 (uri
7608 (git-reference
7609 (url "https://github.com/Shinmera/form-fiddle")
7610 (commit commit)))
7611 (file-name (git-file-name name version))
7612 (sha256
7613 (base32
7614 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7615 (build-system asdf-build-system/sbcl)
7616 (inputs
7617 `(("documentation-utils" ,sbcl-documentation-utils)))
7618 (synopsis "Utilities to destructure Common Lisp lambda forms")
7619 (description
7620 "Often times we need to destructure a form definition in a Common Lisp
7621 macro. This library provides a set of simple utilities to help with that.")
7622 (home-page "https://shinmera.github.io/form-fiddle/")
7623 (license license:zlib))))
7624
7625 (define-public cl-form-fiddle
7626 (sbcl-package->cl-source-package sbcl-form-fiddle))
7627
7628 (define-public ecl-form-fiddle
7629 (sbcl-package->ecl-package sbcl-form-fiddle))
7630
7631 (define-public sbcl-parachute
7632 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7633 (revision "0"))
7634 (package
7635 (name "sbcl-parachute")
7636 (version (git-version "1.1.1" revision commit))
7637 (source
7638 (origin
7639 (method git-fetch)
7640 (uri
7641 (git-reference
7642 (url "https://github.com/Shinmera/parachute")
7643 (commit commit)))
7644 (file-name (git-file-name name version))
7645 (sha256
7646 (base32
7647 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7648 (build-system asdf-build-system/sbcl)
7649 (inputs
7650 `(("documentation-utils" ,sbcl-documentation-utils)
7651 ("form-fiddle" ,sbcl-form-fiddle)))
7652 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7653 (description
7654 "Parachute is a simple-to-use and extensible testing framework.
7655 In Parachute, things are organised as a bunch of named tests within a package.
7656 Each test can contain a bunch of test forms that make up its body.")
7657 (home-page "https://shinmera.github.io/parachute/")
7658 (license license:zlib))))
7659
7660 (define-public cl-parachute
7661 (sbcl-package->cl-source-package sbcl-parachute))
7662
7663 (define-public ecl-parachute
7664 (sbcl-package->ecl-package sbcl-parachute))
7665
7666 (define-public sbcl-array-utils
7667 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7668 (revision "0"))
7669 (package
7670 (name "sbcl-array-utils")
7671 (version (git-version "1.1.1" revision commit))
7672 (source
7673 (origin
7674 (method git-fetch)
7675 (uri
7676 (git-reference
7677 (url "https://github.com/Shinmera/array-utils")
7678 (commit commit)))
7679 (file-name (git-file-name name version))
7680 (sha256
7681 (base32
7682 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7683 (build-system asdf-build-system/sbcl)
7684 (native-inputs
7685 `(("parachute" ,sbcl-parachute)))
7686 (inputs
7687 `(("documentation-utils" ,sbcl-documentation-utils)))
7688 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7689 (description
7690 "A miniature toolkit that contains some useful shifting/popping/pushing
7691 functions for arrays and vectors. Originally from Plump.")
7692 (home-page "https://shinmera.github.io/array-utils/")
7693 (license license:zlib))))
7694
7695 (define-public cl-array-utils
7696 (sbcl-package->cl-source-package sbcl-array-utils))
7697
7698 (define-public ecl-array-utils
7699 (sbcl-package->ecl-package sbcl-array-utils))
7700
7701 (define-public sbcl-plump
7702 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
7703 (revision "1"))
7704 (package
7705 (name "sbcl-plump")
7706 (version (git-version "2.0.0" revision commit))
7707 (source
7708 (origin
7709 (method git-fetch)
7710 (uri
7711 (git-reference
7712 (url "https://github.com/Shinmera/plump")
7713 (commit commit)))
7714 (file-name (git-file-name name version))
7715 (sha256
7716 (base32
7717 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
7718 (build-system asdf-build-system/sbcl)
7719 (inputs
7720 `(("array-utils" ,sbcl-array-utils)
7721 ("documentation-utils" ,sbcl-documentation-utils)))
7722 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7723 (description
7724 "Plump is a parser for HTML/XML-like documents, focusing on being
7725 lenient towards invalid markup. It can handle things like invalid attributes,
7726 bad closing tag order, unencoded entities, inexistent tag types, self-closing
7727 tags and so on. It parses documents to a class representation and offers a
7728 small set of DOM functions to manipulate it. It can be extended to parse to
7729 your own classes.")
7730 (home-page "https://shinmera.github.io/plump/")
7731 (license license:zlib))))
7732
7733 (define-public cl-plump
7734 (sbcl-package->cl-source-package sbcl-plump))
7735
7736 (define-public ecl-plump
7737 (sbcl-package->ecl-package sbcl-plump))
7738
7739 ;;; Split the antik package in two to work around the circular dependency
7740 ;;; between antik/antik and antik/gsll.
7741 (define-public sbcl-antik-base
7742 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7743 (revision "1"))
7744 (package
7745 (name "sbcl-antik-base")
7746 (version (git-version "0.0.0" revision commit))
7747 (source
7748 (origin
7749 (method git-fetch)
7750 (uri (git-reference
7751 (url "https://gitlab.common-lisp.net/antik/antik.git")
7752 (commit commit)))
7753 (file-name (git-file-name name version))
7754 (sha256
7755 (base32
7756 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7757 (build-system asdf-build-system/sbcl)
7758 (inputs
7759 `(("alexandria" ,sbcl-alexandria)
7760 ("cffi" ,sbcl-cffi)
7761 ("cl-ppcre" ,sbcl-cl-ppcre)
7762 ("drakma" ,sbcl-drakma)
7763 ("fare-utils" ,sbcl-fare-utils)
7764 ("iterate" ,sbcl-iterate)
7765 ("metabang-bind" ,sbcl-metabang-bind)
7766 ("named-readtables" ,sbcl-named-readtables)
7767 ("split-sequence" ,sbcl-split-sequence)
7768 ("static-vectors" ,sbcl-static-vectors)
7769 ("trivial-garbage" ,sbcl-trivial-garbage)
7770 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7771 (native-inputs
7772 `(("lisp-unit" ,sbcl-lisp-unit)))
7773 (arguments
7774 '(#:asd-systems '("antik-base"
7775 "foreign-array")
7776 #:phases
7777 (modify-phases %standard-phases
7778 (add-after 'unpack 'fix-build
7779 (lambda _
7780 (for-each delete-file
7781 '("antik.asd"
7782 "physical-dimension.asd"
7783 "science-data.asd"))
7784 #t)))))
7785 (synopsis "Scientific and engineering computation in Common Lisp")
7786 (description
7787 "Antik provides a foundation for scientific and engineering
7788 computation in Common Lisp. It is designed not only to facilitate
7789 numerical computations, but to permit the use of numerical computation
7790 libraries and the interchange of data and procedures, whether
7791 foreign (non-Lisp) or Lisp libraries. It is named after the
7792 Antikythera mechanism, one of the oldest examples of a scientific
7793 computer known.")
7794 (home-page "https://common-lisp.net/project/antik/")
7795 (license license:gpl3))))
7796
7797 (define-public cl-antik-base
7798 (sbcl-package->cl-source-package sbcl-antik-base))
7799
7800 (define-public ecl-antik-base
7801 (let ((pkg (sbcl-package->ecl-package sbcl-antik-base)))
7802 (package
7803 (inherit pkg)
7804 (arguments
7805 (substitute-keyword-arguments (package-arguments pkg)
7806 ((#:phases phases)
7807 `(modify-phases ,phases
7808 (add-after 'unpack 'fix-readtable
7809 (lambda _
7810 (substitute* "input-output/readtable.lisp"
7811 (("#-ccl")
7812 "#-(or ccl ecl)"))
7813 #t)))))))))
7814
7815 (define-public sbcl-gsll
7816 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7817 (revision "1"))
7818 (package
7819 (name "sbcl-gsll")
7820 (version (git-version "0.0.0" revision commit))
7821 (source
7822 (origin
7823 (method git-fetch)
7824 (uri (git-reference
7825 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7826 (commit commit)))
7827 (file-name (git-file-name name version))
7828 (sha256
7829 (base32
7830 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7831 (build-system asdf-build-system/sbcl)
7832 (native-inputs
7833 `(("lisp-unit" ,sbcl-lisp-unit)))
7834 (inputs
7835 `(("alexandria" ,sbcl-alexandria)
7836 ("antik-base" ,sbcl-antik-base)
7837 ("cffi" ,sbcl-cffi)
7838 ("gsl" ,gsl)
7839 ("metabang-bind" ,sbcl-metabang-bind)
7840 ("trivial-features" ,sbcl-trivial-features)
7841 ("trivial-garbage" ,sbcl-trivial-garbage)))
7842 (arguments
7843 `(#:tests? #f
7844 #:phases
7845 (modify-phases %standard-phases
7846 (add-after 'unpack 'fix-cffi-paths
7847 (lambda* (#:key inputs #:allow-other-keys)
7848 (substitute* "gsll.asd"
7849 ((":depends-on \\(#:foreign-array")
7850 ":depends-on (#:foreign-array #:cffi-libffi"))
7851 (substitute* "init/init.lisp"
7852 (("libgslcblas.so" all)
7853 (string-append
7854 (assoc-ref inputs "gsl") "/lib/" all)))
7855 (substitute* "init/init.lisp"
7856 (("libgsl.so" all)
7857 (string-append
7858 (assoc-ref inputs "gsl") "/lib/" all))))))))
7859 (synopsis "GNU Scientific Library for Lisp")
7860 (description
7861 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
7862 GNU Scientific Library (GSL) from Common Lisp. This library provides a
7863 full range of common mathematical operations useful to scientific and
7864 engineering applications. The design of the GSLL interface is such
7865 that access to most of the GSL library is possible in a Lisp-natural
7866 way; the intent is that the user not be hampered by the restrictions
7867 of the C language in which GSL has been written. GSLL thus provides
7868 interactive use of GSL for getting quick answers, even for someone not
7869 intending to program in Lisp.")
7870 (home-page "https://common-lisp.net/project/gsll/")
7871 (license license:gpl3))))
7872
7873 (define-public cl-gsll
7874 (sbcl-package->cl-source-package sbcl-gsll))
7875
7876 (define-public ecl-gsll
7877 (sbcl-package->ecl-package sbcl-gsll))
7878
7879 (define-public sbcl-antik
7880 (package
7881 (inherit sbcl-antik-base)
7882 (name "sbcl-antik")
7883 (inputs
7884 `(("antik-base" ,sbcl-antik-base)
7885 ("gsll" ,sbcl-gsll)))
7886 (arguments
7887 '(#:asd-systems '("antik"
7888 "science-data")
7889 #:phases
7890 (modify-phases %standard-phases
7891 (add-after 'unpack 'fix-build
7892 (lambda _
7893 (for-each delete-file
7894 '("antik-base.asd"
7895 "foreign-array.asd"))
7896 #t)))))))
7897
7898 (define-public cl-antik
7899 (sbcl-package->cl-source-package sbcl-antik))
7900
7901 (define-public sbcl-cl-interpol
7902 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
7903 (revision "1"))
7904 (package
7905 (name "sbcl-cl-interpol")
7906 (version (git-version "0.2.6" revision commit))
7907 (source
7908 (origin
7909 (method git-fetch)
7910 (uri (git-reference
7911 (url "https://github.com/edicl/cl-interpol")
7912 (commit commit)))
7913 (file-name (git-file-name name version))
7914 (sha256
7915 (base32
7916 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
7917 (build-system asdf-build-system/sbcl)
7918 (inputs
7919 `(("cl-unicode" ,sbcl-cl-unicode)
7920 ("named-readtables" ,sbcl-named-readtables)))
7921 (native-inputs
7922 `(("flexi-streams" ,sbcl-flexi-streams)))
7923 (synopsis "String interpolation for Common Lisp")
7924 (description
7925 "CL-INTERPOL is a library for Common Lisp which modifies the
7926 reader so that you can have interpolation within strings similar to
7927 Perl or Unix Shell scripts. It also provides various ways to insert
7928 arbitrary characters into literal strings even if your editor/IDE
7929 doesn't support them.")
7930 (home-page "https://edicl.github.io/cl-interpol/")
7931 (license license:bsd-3))))
7932
7933 (define-public cl-interpol
7934 (sbcl-package->cl-source-package sbcl-cl-interpol))
7935
7936 (define-public ecl-cl-interpol
7937 (sbcl-package->ecl-package sbcl-cl-interpol))
7938
7939 (define-public sbcl-symbol-munger
7940 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
7941 (revision "1"))
7942 (package
7943 (name "sbcl-symbol-munger")
7944 (version (git-version "0.0.1" revision commit))
7945 (source
7946 (origin
7947 (method git-fetch)
7948 (uri (git-reference
7949 (url "https://github.com/AccelerationNet/symbol-munger")
7950 (commit commit)))
7951 (file-name (git-file-name name version))
7952 (sha256
7953 (base32
7954 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
7955 (build-system asdf-build-system/sbcl)
7956 (inputs
7957 `(("alexandria" ,sbcl-alexandria)
7958 ("iterate" ,sbcl-iterate)))
7959 (arguments
7960 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7961 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7962 '(#:tests? #f))
7963 (synopsis
7964 "Capitalization and spacing conversion functions for Common Lisp")
7965 (description
7966 "This is a Common Lisp library to change the capitalization and spacing
7967 of a string or a symbol. It can convert to and from Lisp, english, underscore
7968 and camel-case rules.")
7969 (home-page "https://github.com/AccelerationNet/symbol-munger")
7970 ;; The package declares a BSD license, but all of the license
7971 ;; text is MIT.
7972 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
7973 (license license:expat))))
7974
7975 (define-public cl-symbol-munger
7976 (sbcl-package->cl-source-package sbcl-symbol-munger))
7977
7978 (define-public ecl-symbol-munger
7979 (sbcl-package->ecl-package sbcl-symbol-munger))
7980
7981 (define-public sbcl-lisp-unit2
7982 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7983 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7984 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
7985 (revision "1"))
7986 (package
7987 (name "sbcl-lisp-unit2")
7988 (version (git-version "0.2.0" revision commit))
7989 (source
7990 (origin
7991 (method git-fetch)
7992 (uri (git-reference
7993 (url "https://github.com/AccelerationNet/lisp-unit2")
7994 (commit commit)))
7995 (file-name (git-file-name name version))
7996 (sha256
7997 (base32
7998 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
7999 (build-system asdf-build-system/sbcl)
8000 (inputs
8001 `(("alexandria" ,sbcl-alexandria)
8002 ("cl-interpol" ,sbcl-cl-interpol)
8003 ("iterate" ,sbcl-iterate)
8004 ("symbol-munger" ,sbcl-symbol-munger)))
8005 (synopsis "Test Framework for Common Lisp")
8006 (description
8007 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
8008 style of JUnit for Java. It is a new version of the lisp-unit library written
8009 by Chris Riesbeck.")
8010 (home-page "https://github.com/AccelerationNet/lisp-unit2")
8011 (license license:expat))))
8012
8013 (define-public cl-lisp-unit2
8014 (sbcl-package->cl-source-package sbcl-lisp-unit2))
8015
8016 (define-public ecl-lisp-unit2
8017 (sbcl-package->ecl-package sbcl-lisp-unit2))
8018
8019 (define-public sbcl-cl-csv
8020 (let ((commit "68ecb5d816545677513d7f6308d9e5e8d2265651")
8021 (revision "2"))
8022 (package
8023 (name "sbcl-cl-csv")
8024 (version (git-version "1.0.6" revision commit))
8025 (source
8026 (origin
8027 (method git-fetch)
8028 (uri (git-reference
8029 (url "https://github.com/AccelerationNet/cl-csv")
8030 (commit commit)))
8031 (file-name (git-file-name name version))
8032 (sha256
8033 (base32
8034 "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x"))))
8035 (build-system asdf-build-system/sbcl)
8036 (arguments
8037 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8038 `(#:tests? #f))
8039 (inputs
8040 `(("alexandria" ,sbcl-alexandria)
8041 ("cl-interpol" ,sbcl-cl-interpol)
8042 ("iterate" ,sbcl-iterate)))
8043 (native-inputs
8044 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8045 (synopsis "Common lisp library for comma-separated values")
8046 (description
8047 "This is a Common Lisp library providing functions to read/write CSV
8048 from/to strings, streams and files.")
8049 (home-page "https://github.com/AccelerationNet/cl-csv")
8050 (license license:bsd-3))))
8051
8052 (define-public cl-csv
8053 (sbcl-package->cl-source-package sbcl-cl-csv))
8054
8055 (define-public ecl-cl-csv
8056 (sbcl-package->ecl-package sbcl-cl-csv))
8057
8058 (define-public sbcl-external-program
8059 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8060 (revision "1"))
8061 (package
8062 (name "sbcl-external-program")
8063 (version (git-version "0.0.6" revision commit))
8064 (source
8065 (origin
8066 (method git-fetch)
8067 (uri (git-reference
8068 (url "https://github.com/sellout/external-program")
8069 (commit commit)))
8070 (file-name (git-file-name name version))
8071 (sha256
8072 (base32
8073 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8074 (build-system asdf-build-system/sbcl)
8075 (inputs
8076 `(("trivial-features" ,sbcl-trivial-features)))
8077 (native-inputs
8078 `(("fiveam" ,sbcl-fiveam)))
8079 (synopsis "Common Lisp library for running external programs")
8080 (description
8081 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8082 process. It is an attempt to make the RUN-PROGRAM functionality in
8083 implementations like SBCL and CCL as portable as possible without
8084 sacrificing much in the way of power.")
8085 (home-page "https://github.com/sellout/external-program")
8086 (license license:llgpl))))
8087
8088 (define-public cl-external-program
8089 (sbcl-package->cl-source-package sbcl-external-program))
8090
8091 (define-public ecl-external-program
8092 (sbcl-package->ecl-package sbcl-external-program))
8093
8094 (define-public sbcl-cl-ana
8095 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8096 (revision "1"))
8097 (package
8098 (name "sbcl-cl-ana")
8099 (version (git-version "0.0.0" revision commit))
8100 (source
8101 (origin
8102 (method git-fetch)
8103 (uri (git-reference
8104 (url "https://github.com/ghollisjr/cl-ana")
8105 (commit commit)))
8106 (file-name (git-file-name name version))
8107 (sha256
8108 (base32 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8109 (build-system asdf-build-system/sbcl)
8110 (native-inputs
8111 `(("cl-fad" ,sbcl-cl-fad)))
8112 (inputs
8113 `(("alexandria" ,sbcl-alexandria)
8114 ("antik" ,sbcl-antik)
8115 ("cffi" ,sbcl-cffi)
8116 ("cl-csv" ,sbcl-cl-csv)
8117 ("closer-mop" ,sbcl-closer-mop)
8118 ("external-program" ,sbcl-external-program)
8119 ("gsl" ,gsl)
8120 ("gsll" ,sbcl-gsll)
8121 ("hdf5" ,hdf5-parallel-openmpi)
8122 ("iterate" ,sbcl-iterate)
8123 ("libffi" ,libffi)
8124 ("split-sequence" ,sbcl-split-sequence)))
8125 (arguments
8126 `(#:phases
8127 (modify-phases %standard-phases
8128 (add-after 'unpack 'fix-paths
8129 (lambda* (#:key inputs #:allow-other-keys)
8130 (substitute* "hdf-cffi/hdf-cffi.lisp"
8131 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8132 (string-append (assoc-ref inputs "hdf5")
8133 "/lib/libhdf5.so")))
8134 (substitute* "gsl-cffi/gsl-cffi.lisp"
8135 (("define-foreign-library gsl-cffi" all)
8136 (string-append all " (:unix "
8137 (assoc-ref inputs "gsl")
8138 "/lib/libgsl.so)")))
8139 #t)))))
8140 (synopsis "Common Lisp data analysis library")
8141 (description
8142 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8143 binned data analysis along with nonlinear least squares fitting and
8144 visualization.")
8145 (home-page "https://github.com/ghollisjr/cl-ana")
8146 (license license:gpl3))))
8147
8148 (define-public cl-ana
8149 (sbcl-package->cl-source-package sbcl-cl-ana))
8150
8151 (define-public sbcl-archive
8152 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
8153 (revision "1"))
8154 (package
8155 (name "sbcl-archive")
8156 (version (git-version "0.9" revision commit))
8157 (source (origin
8158 (method git-fetch)
8159 (uri (git-reference
8160 (url "https://github.com/sharplispers/archive")
8161 (commit commit)))
8162 (file-name (git-file-name name version))
8163 (sha256
8164 (base32
8165 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
8166 (build-system asdf-build-system/sbcl)
8167 (inputs
8168 `(("cl-fad" ,sbcl-cl-fad)
8169 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
8170 (synopsis "Common Lisp library for tar and cpio archives")
8171 (description
8172 "This is a Common Lisp library to read and write disk-based file
8173 archives such as those generated by the tar and cpio programs on Unix.")
8174 (home-page "https://github.com/sharplispers/archive")
8175 (license license:bsd-3))))
8176
8177 (define-public cl-archive
8178 (sbcl-package->cl-source-package sbcl-archive))
8179
8180 (define-public ecl-archive
8181 (sbcl-package->ecl-package sbcl-archive))
8182
8183 (define-public sbcl-misc-extensions
8184 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
8185 (revision "1"))
8186 (package
8187 (name "sbcl-misc-extensions")
8188 (version (git-version "3.3" revision commit))
8189 (source
8190 (origin
8191 (method git-fetch)
8192 (uri (git-reference
8193 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
8194 (commit commit)))
8195 (file-name (git-file-name name version))
8196 (sha256
8197 (base32
8198 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
8199 (build-system asdf-build-system/sbcl)
8200 (synopsis "Collection of small macros and extensions for Common Lisp")
8201 (description
8202 "This project is intended as a catchall for small, general-purpose
8203 extensions to Common Lisp. It contains:
8204
8205 @itemize
8206 @item @code{new-let}, a macro that combines and generalizes @code{let},
8207 @code{let*} and @code{multiple-value-bind},
8208 @item @code{gmap}, an iteration macro that generalizes @code{map}.
8209 @end itemize\n")
8210 (home-page "https://common-lisp.net/project/misc-extensions/")
8211 (license license:public-domain))))
8212
8213 (define-public cl-misc-extensions
8214 (sbcl-package->cl-source-package sbcl-misc-extensions))
8215
8216 (define-public ecl-misc-extensions
8217 (sbcl-package->ecl-package sbcl-misc-extensions))
8218
8219 (define-public sbcl-mt19937
8220 (package
8221 (name "sbcl-mt19937")
8222 (version "1.1")
8223 (source
8224 (origin
8225 (method url-fetch)
8226 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
8227 "mt19937-latest.tar.gz"))
8228 (sha256
8229 (base32
8230 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
8231 (build-system asdf-build-system/sbcl)
8232 (synopsis "Mersenne Twister pseudo-random number generator")
8233 (description
8234 "MT19937 is a portable Mersenne Twister pseudo-random number generator
8235 for Common Lisp.")
8236 (home-page "https://www.cliki.net/mt19937")
8237 (license license:public-domain)))
8238
8239 (define-public cl-mt19937
8240 (sbcl-package->cl-source-package sbcl-mt19937))
8241
8242 (define-public ecl-mt19937
8243 (sbcl-package->ecl-package sbcl-mt19937))
8244
8245 (define-public sbcl-fset
8246 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
8247 (revision "1"))
8248 (package
8249 (name "sbcl-fset")
8250 (version (git-version "1.3.2" revision commit))
8251 (source
8252 (origin
8253 (method git-fetch)
8254 (uri (git-reference
8255 (url "https://github.com/slburson/fset")
8256 (commit commit)))
8257 (file-name (git-file-name name version))
8258 (sha256
8259 (base32
8260 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
8261 (snippet '(begin
8262 ;; Remove obsolete copy of system definition.
8263 (delete-file "Code/fset.asd")
8264 #t))))
8265 (build-system asdf-build-system/sbcl)
8266 (inputs
8267 `(("misc-extensions" ,sbcl-misc-extensions)
8268 ("mt19937" ,sbcl-mt19937)
8269 ("named-readtables" ,sbcl-named-readtables)))
8270 (synopsis "Functional set-theoretic collections library")
8271 (description
8272 "FSet is a functional set-theoretic collections library for Common Lisp.
8273 Functional means that all update operations return a new collection rather than
8274 modifying an existing one in place. Set-theoretic means that collections may
8275 be nested arbitrarily with no additional programmer effort; for instance, sets
8276 may contain sets, maps may be keyed by sets, etc.")
8277 (home-page "https://common-lisp.net/project/fset/Site/index.html")
8278 (license license:llgpl))))
8279
8280 (define-public cl-fset
8281 (sbcl-package->cl-source-package sbcl-fset))
8282
8283 (define-public ecl-fset
8284 (package
8285 (inherit (sbcl-package->ecl-package sbcl-fset))
8286 (arguments
8287 ;; Tests fails on ECL with "The function FSET::MAKE-CHAR is undefined".
8288 '(#:tests? #f))))
8289
8290 (define-public sbcl-cl-cont
8291 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
8292 (revision "1"))
8293 (package
8294 (name "sbcl-cl-cont")
8295 (version (git-version "0.3.8" revision commit))
8296 (source
8297 (origin
8298 (method git-fetch)
8299 (uri (git-reference
8300 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
8301 (commit commit)))
8302 (file-name (git-file-name name version))
8303 (sha256
8304 (base32
8305 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
8306 (build-system asdf-build-system/sbcl)
8307 (inputs
8308 `(("alexandria" ,sbcl-alexandria)
8309 ("closer-mop" ,sbcl-closer-mop)))
8310 (native-inputs
8311 `(("rt" ,sbcl-rt)))
8312 (synopsis "Delimited continuations for Common Lisp")
8313 (description
8314 "This is a library that implements delimited continuations by
8315 transforming Common Lisp code to continuation passing style.")
8316 (home-page "https://common-lisp.net/project/cl-cont/")
8317 (license license:llgpl))))
8318
8319 (define-public cl-cont
8320 (sbcl-package->cl-source-package sbcl-cl-cont))
8321
8322 (define-public ecl-cl-cont
8323 (sbcl-package->ecl-package sbcl-cl-cont))
8324
8325 (define-public sbcl-cl-coroutine
8326 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
8327 (revision "1"))
8328 (package
8329 (name "sbcl-cl-coroutine")
8330 (version (git-version "0.1" revision commit))
8331 (source
8332 (origin
8333 (method git-fetch)
8334 (uri (git-reference
8335 (url "https://github.com/takagi/cl-coroutine")
8336 (commit commit)))
8337 (file-name (git-file-name name version))
8338 (sha256
8339 (base32
8340 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
8341 (build-system asdf-build-system/sbcl)
8342 (inputs
8343 `(("alexandria" ,sbcl-alexandria)
8344 ("cl-cont" ,sbcl-cl-cont)))
8345 (native-inputs
8346 `(("prove" ,sbcl-prove)))
8347 (arguments
8348 `(;; TODO: Fix the tests. They fail with:
8349 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
8350 #:tests? #f
8351 #:phases
8352 (modify-phases %standard-phases
8353 (add-after 'unpack 'fix-tests
8354 (lambda _
8355 (substitute* "cl-coroutine-test.asd"
8356 (("cl-test-more")
8357 "prove"))
8358 #t)))))
8359 (synopsis "Coroutine library for Common Lisp")
8360 (description
8361 "This is a coroutine library for Common Lisp implemented using the
8362 continuations of the @code{cl-cont} library.")
8363 (home-page "https://github.com/takagi/cl-coroutine")
8364 (license license:llgpl))))
8365
8366 (define-public cl-coroutine
8367 (sbcl-package->cl-source-package sbcl-cl-coroutine))
8368
8369 (define-public ecl-cl-coroutine
8370 (sbcl-package->ecl-package sbcl-cl-coroutine))
8371
8372 (define-public sbcl-vas-string-metrics
8373 (let ((commit "f2e4500b180316123fbd549bd51c751ee2d6ba0f")
8374 (revision "1"))
8375 (package
8376 (name "sbcl-vas-string-metrics")
8377 (version (git-version "0.0.0" revision commit))
8378 (source
8379 (origin
8380 (method git-fetch)
8381 (uri (git-reference
8382 (url "https://github.com/vsedach/vas-string-metrics")
8383 (commit commit)))
8384 (file-name (git-file-name "vas-string-metrics" version))
8385 (sha256
8386 (base32 "11fcnd03ybzz37rkg3z0wsb727yqgcd9gn70sccfb34l89ia279k"))))
8387 (build-system asdf-build-system/sbcl)
8388 (arguments
8389 `(#:test-asd-file "test.vas-string-metrics.asd"))
8390 (home-page "https://github.com/vsedach/vas-string-metrics")
8391 (synopsis "String distance algorithms for Common Lisp")
8392 (description
8393 "VAS-STRING-METRICS provides the Jaro, Jaro-Winkler, Soerensen-Dice,
8394 Levenshtein, and normalized Levenshtein string distance/similarity metrics
8395 algorithms.")
8396 (license license:lgpl3+))))
8397
8398 (define-public ecl-vas-string-metrics
8399 (sbcl-package->ecl-package sbcl-vas-string-metrics))
8400
8401 (define-public cl-vas-string-metrics
8402 (sbcl-package->cl-source-package sbcl-vas-string-metrics))
8403
8404 (define-public sbcl-vom
8405 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
8406 (revision "1"))
8407 (package
8408 (name "sbcl-vom")
8409 (version (git-version "0.1.4" revision commit))
8410 (source
8411 (origin
8412 (method git-fetch)
8413 (uri (git-reference
8414 (url "https://github.com/orthecreedence/vom")
8415 (commit commit)))
8416 (file-name (git-file-name name version))
8417 (sha256
8418 (base32
8419 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
8420 (build-system asdf-build-system/sbcl)
8421 (synopsis "Tiny logging utility for Common Lisp")
8422 (description
8423 "Vom is a logging library for Common Lisp. It's goal is to be useful
8424 and small. It does not provide a lot of features as other loggers do, but
8425 has a small codebase that's easy to understand and use.")
8426 (home-page "https://github.com/orthecreedence/vom")
8427 (license license:expat))))
8428
8429 (define-public cl-vom
8430 (sbcl-package->cl-source-package sbcl-vom))
8431
8432 (define-public ecl-vom
8433 (sbcl-package->ecl-package sbcl-vom))
8434
8435 (define-public sbcl-cl-libuv
8436 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
8437 (revision "1"))
8438 (package
8439 (name "sbcl-cl-libuv")
8440 (version (git-version "0.1.6" revision commit))
8441 (source
8442 (origin
8443 (method git-fetch)
8444 (uri (git-reference
8445 (url "https://github.com/orthecreedence/cl-libuv")
8446 (commit commit)))
8447 (file-name (git-file-name name version))
8448 (sha256
8449 (base32
8450 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
8451 (build-system asdf-build-system/sbcl)
8452 (inputs
8453 `(("alexandria" ,sbcl-alexandria)
8454 ("cffi" ,sbcl-cffi)
8455 ("libuv" ,libuv)))
8456 (arguments
8457 `(#:phases
8458 (modify-phases %standard-phases
8459 (add-after 'unpack 'fix-paths
8460 (lambda* (#:key inputs #:allow-other-keys)
8461 (substitute* "lib.lisp"
8462 (("/usr/lib/libuv.so")
8463 (string-append (assoc-ref inputs "libuv")
8464 "/lib/libuv.so")))
8465 #t))
8466 (add-after 'fix-paths 'fix-system-definition
8467 (lambda _
8468 (substitute* "cl-libuv.asd"
8469 (("#:cffi #:alexandria")
8470 "#:cffi #:cffi-grovel #:alexandria"))
8471 #t)))))
8472 (synopsis "Common Lisp bindings to libuv")
8473 (description
8474 "This library provides low-level libuv bindings for Common Lisp.")
8475 (home-page "https://github.com/orthecreedence/cl-libuv")
8476 (license license:expat))))
8477
8478 (define-public cl-libuv
8479 (sbcl-package->cl-source-package sbcl-cl-libuv))
8480
8481 (define-public ecl-cl-libuv
8482 (sbcl-package->ecl-package sbcl-cl-libuv))
8483
8484 (define-public sbcl-cl-async
8485 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
8486 (revision "1"))
8487 (package
8488 (name "sbcl-cl-async")
8489 (version (git-version "0.6.1" revision commit))
8490 (source
8491 (origin
8492 (method git-fetch)
8493 (uri (git-reference
8494 (url "https://github.com/orthecreedence/cl-async")
8495 (commit commit)))
8496 (file-name (git-file-name name version))
8497 (sha256
8498 (base32
8499 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
8500 (build-system asdf-build-system/sbcl)
8501 (inputs
8502 `(("babel" ,sbcl-babel)
8503 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8504 ("cffi" ,sbcl-cffi)
8505 ("cl-libuv" ,sbcl-cl-libuv)
8506 ("cl-ppcre" ,sbcl-cl-ppcre)
8507 ("fast-io" ,sbcl-fast-io)
8508 ("openssl" ,openssl)
8509 ("static-vectors" ,sbcl-static-vectors)
8510 ("trivial-features" ,sbcl-trivial-features)
8511 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
8512 ("vom" ,sbcl-vom)))
8513 (arguments
8514 `(#:asd-systems '("cl-async"
8515 "cl-async-repl"
8516 "cl-async-ssl")
8517 #:phases
8518 (modify-phases %standard-phases
8519 (add-after 'unpack 'fix-paths
8520 (lambda* (#:key inputs #:allow-other-keys)
8521 (substitute* "src/ssl/package.lisp"
8522 (("libcrypto\\.so")
8523 (string-append (assoc-ref inputs "openssl")
8524 "/lib/libcrypto.so"))
8525 (("libssl\\.so")
8526 (string-append (assoc-ref inputs "openssl")
8527 "/lib/libssl.so")))
8528 #t)))))
8529 (synopsis "Asynchronous operations for Common Lisp")
8530 (description
8531 "Cl-async is a library for general purpose, non-blocking programming in
8532 Common Lisp. It uses the libuv library as backend.")
8533 (home-page "https://orthecreedence.github.io/cl-async/")
8534 (license license:expat))))
8535
8536 (define-public cl-async
8537 (sbcl-package->cl-source-package sbcl-cl-async))
8538
8539 (define-public ecl-cl-async
8540 (sbcl-package->ecl-package sbcl-cl-async))
8541
8542 (define-public sbcl-blackbird
8543 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
8544 (revision "1"))
8545 (package
8546 (name "sbcl-blackbird")
8547 (version (git-version "0.5.2" revision commit))
8548 (source
8549 (origin
8550 (method git-fetch)
8551 (uri (git-reference
8552 (url "https://github.com/orthecreedence/blackbird")
8553 (commit commit)))
8554 (file-name (git-file-name name version))
8555 (sha256
8556 (base32
8557 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
8558 (build-system asdf-build-system/sbcl)
8559 (inputs
8560 `(("vom" ,sbcl-vom)))
8561 (native-inputs
8562 `(("cl-async" ,sbcl-cl-async)
8563 ("fiveam" ,sbcl-fiveam)))
8564 (synopsis "Promise implementation for Common Lisp")
8565 (description
8566 "This is a standalone promise implementation for Common Lisp. It is
8567 the successor to the now-deprecated cl-async-future project.")
8568 (home-page "https://orthecreedence.github.io/blackbird/")
8569 (license license:expat))))
8570
8571 (define-public cl-blackbird
8572 (sbcl-package->cl-source-package sbcl-blackbird))
8573
8574 (define-public ecl-blackbird
8575 (sbcl-package->ecl-package sbcl-blackbird))
8576
8577 (define-public sbcl-cl-async-future
8578 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
8579 (revision "1"))
8580 (package
8581 (name "sbcl-cl-async-future")
8582 (version (git-version "0.4.4.1" revision commit))
8583 (source
8584 (origin
8585 (method git-fetch)
8586 (uri (git-reference
8587 (url "https://github.com/orthecreedence/cl-async-future")
8588 (commit commit)))
8589 (file-name (git-file-name name version))
8590 (sha256
8591 (base32
8592 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
8593 (build-system asdf-build-system/sbcl)
8594 (inputs
8595 `(("blackbird" ,sbcl-blackbird)))
8596 (native-inputs
8597 `(("cl-async" ,sbcl-cl-async)
8598 ("eos" ,sbcl-eos)))
8599 (synopsis "Futures implementation for Common Lisp")
8600 (description
8601 "This is futures implementation for Common Lisp. It plugs in nicely
8602 to cl-async.")
8603 (home-page "https://orthecreedence.github.io/cl-async/future")
8604 (license license:expat))))
8605
8606 (define-public cl-async-future
8607 (sbcl-package->cl-source-package sbcl-cl-async-future))
8608
8609 (define-public ecl-cl-async-future
8610 (sbcl-package->ecl-package sbcl-cl-async-future))
8611
8612 (define-public sbcl-green-threads
8613 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
8614 (revision "1"))
8615 (package
8616 (name "sbcl-green-threads")
8617 (version (git-version "0.3" revision commit))
8618 (source
8619 (origin
8620 (method git-fetch)
8621 (uri (git-reference
8622 (url "https://github.com/thezerobit/green-threads")
8623 (commit commit)))
8624 (file-name (git-file-name name version))
8625 (sha256
8626 (base32
8627 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
8628 (build-system asdf-build-system/sbcl)
8629 (inputs
8630 `(("cl-async-future" ,sbcl-cl-async-future)
8631 ("cl-cont" ,sbcl-cl-cont)))
8632 (native-inputs
8633 `(("prove" ,sbcl-prove)))
8634 (arguments
8635 `(;; TODO: Fix the tests. They fail with:
8636 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
8637 #:tests? #f
8638 #:phases
8639 (modify-phases %standard-phases
8640 (add-after 'unpack 'fix-tests
8641 (lambda _
8642 (substitute* "green-threads-test.asd"
8643 (("cl-test-more")
8644 "prove"))
8645 #t)))))
8646 (synopsis "Cooperative multitasking library for Common Lisp")
8647 (description
8648 "This library allows for cooperative multitasking with help of cl-cont
8649 for continuations. It tries to mimic the API of bordeaux-threads as much as
8650 possible.")
8651 (home-page "https://github.com/thezerobit/green-threads")
8652 (license license:bsd-3))))
8653
8654 (define-public cl-green-threads
8655 (sbcl-package->cl-source-package sbcl-green-threads))
8656
8657 (define-public ecl-green-threads
8658 (sbcl-package->ecl-package sbcl-green-threads))
8659
8660 (define-public sbcl-cl-base32
8661 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
8662 (revision "1"))
8663 (package
8664 (name "sbcl-cl-base32")
8665 (version (git-version "0.1" revision commit))
8666 (source
8667 (origin
8668 (method git-fetch)
8669 (uri (git-reference
8670 (url "https://github.com/hargettp/cl-base32")
8671 (commit commit)))
8672 (file-name (git-file-name name version))
8673 (sha256
8674 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
8675 (build-system asdf-build-system/sbcl)
8676 (native-inputs
8677 `(("lisp-unit" ,sbcl-lisp-unit)))
8678 (synopsis "Common Lisp library for base32 encoding and decoding")
8679 (description
8680 "This package provides functions for base32 encoding and decoding as
8681 defined in RFC4648.")
8682 (home-page "https://github.com/hargettp/cl-base32")
8683 (license license:expat))))
8684
8685 (define-public cl-base32
8686 (sbcl-package->cl-source-package sbcl-cl-base32))
8687
8688 (define-public ecl-cl-base32
8689 (sbcl-package->ecl-package sbcl-cl-base32))
8690
8691 (define-public sbcl-cl-z85
8692 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
8693 (revision "1"))
8694 (package
8695 (name "sbcl-cl-z85")
8696 (version (git-version "1.0" revision commit))
8697 (source
8698 (origin
8699 (method git-fetch)
8700 (uri (git-reference
8701 (url "https://github.com/glv2/cl-z85")
8702 (commit commit)))
8703 (file-name (git-file-name name version))
8704 (sha256
8705 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
8706 (build-system asdf-build-system/sbcl)
8707 (native-inputs
8708 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
8709 ("fiveam" ,sbcl-fiveam)))
8710 (synopsis "Common Lisp library for Z85 encoding and decoding")
8711 (description
8712 "This package provides functions to encode or decode byte vectors or
8713 byte streams using the Z85 format, which is a base-85 encoding used by
8714 ZeroMQ.")
8715 (home-page "https://github.com/glv2/cl-z85")
8716 (license license:gpl3+))))
8717
8718 (define-public cl-z85
8719 (sbcl-package->cl-source-package sbcl-cl-z85))
8720
8721 (define-public ecl-cl-z85
8722 (sbcl-package->ecl-package sbcl-cl-z85))
8723
8724 (define-public sbcl-ltk
8725 (package
8726 (name "sbcl-ltk")
8727 (version "0.992")
8728 (source
8729 (origin
8730 (method git-fetch)
8731 (uri (git-reference
8732 (url "https://github.com/herth/ltk")
8733 (commit version)))
8734 (file-name (git-file-name name version))
8735 (sha256
8736 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
8737 (build-system asdf-build-system/sbcl)
8738 (inputs
8739 `(("imagemagick" ,imagemagick)
8740 ("tk" ,tk)))
8741 (arguments
8742 `(#:asd-systems '("ltk"
8743 "ltk-mw"
8744 "ltk-remote")
8745 #:tests? #f
8746 #:phases
8747 (modify-phases %standard-phases
8748 (add-after 'unpack 'fix-paths
8749 (lambda* (#:key inputs #:allow-other-keys)
8750 (substitute* "ltk/ltk.lisp"
8751 (("#-freebsd \"wish\"")
8752 (string-append "#-freebsd \""
8753 (assoc-ref inputs "tk")
8754 "/bin/wish\""))
8755 (("do-execute \"convert\"")
8756 (string-append "do-execute \""
8757 (assoc-ref inputs "imagemagick")
8758 "/bin/convert\"")))
8759 #t))
8760 (add-after 'unpack 'fix-build
8761 (lambda _
8762 (substitute* "ltk/ltk-remote.lisp"
8763 (("\\(:export")
8764 "(:shadow #:raise) (:export"))
8765 #t)))))
8766 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
8767 (description
8768 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
8769 in pure Common Lisp and does not require any Tk knowledge for its usage.")
8770 (home-page "http://www.peter-herth.de/ltk/")
8771 (license license:llgpl)))
8772
8773 (define-public cl-ltk
8774 (sbcl-package->cl-source-package sbcl-ltk))
8775
8776 (define-public ecl-ltk
8777 (sbcl-package->ecl-package sbcl-ltk))
8778
8779 (define-public sbcl-cl-lex
8780 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
8781 (revision "1"))
8782 (package
8783 (name "sbcl-cl-lex")
8784 (version (git-version "1.1.3" revision commit))
8785 (source
8786 (origin
8787 (method git-fetch)
8788 (uri (git-reference
8789 (url "https://github.com/djr7C4/cl-lex")
8790 (commit commit)))
8791 (file-name (git-file-name name version))
8792 (sha256
8793 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
8794 (build-system asdf-build-system/sbcl)
8795 (inputs
8796 `(("cl-ppcre" ,sbcl-cl-ppcre)))
8797 (synopsis "Common Lisp macros for generating lexical analyzers")
8798 (description
8799 "This is a Common Lisp library providing a set of macros for generating
8800 lexical analyzers automatically. The lexers generated using @code{cl-lex} can
8801 be used with @code{cl-yacc}.")
8802 (home-page "https://github.com/djr7C4/cl-lex")
8803 (license license:gpl3))))
8804
8805 (define-public cl-lex
8806 (sbcl-package->cl-source-package sbcl-cl-lex))
8807
8808 (define-public ecl-cl-lex
8809 (sbcl-package->ecl-package sbcl-cl-lex))
8810
8811 (define-public sbcl-clunit2
8812 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
8813 (revision "1"))
8814 (package
8815 (name "sbcl-clunit2")
8816 (version (git-version "0.2.4" revision commit))
8817 (source
8818 (origin
8819 (method git-fetch)
8820 (uri (git-reference
8821 (url "https://notabug.org/cage/clunit2.git")
8822 (commit commit)))
8823 (file-name (git-file-name name version))
8824 (sha256
8825 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
8826 (build-system asdf-build-system/sbcl)
8827 (synopsis "Unit testing framework for Common Lisp")
8828 (description
8829 "CLUnit is a Common Lisp unit testing framework. It is designed to be
8830 easy to use so that you can quickly start testing.")
8831 (home-page "https://notabug.org/cage/clunit2")
8832 (license license:expat))))
8833
8834 (define-public cl-clunit2
8835 (sbcl-package->cl-source-package sbcl-clunit2))
8836
8837 (define-public ecl-clunit2
8838 (sbcl-package->ecl-package sbcl-clunit2))
8839
8840 (define-public sbcl-cl-colors2
8841 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
8842 (revision "1"))
8843 (package
8844 (name "sbcl-cl-colors2")
8845 (version (git-version "0.2.1" revision commit))
8846 (source
8847 (origin
8848 (method git-fetch)
8849 (uri (git-reference
8850 (url "https://notabug.org/cage/cl-colors2.git")
8851 (commit commit)))
8852 (file-name (git-file-name name version))
8853 (sha256
8854 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
8855 (build-system asdf-build-system/sbcl)
8856 (native-inputs
8857 `(("clunit2" ,sbcl-clunit2)))
8858 (inputs
8859 `(("alexandria" ,sbcl-alexandria)
8860 ("cl-ppcre" ,sbcl-cl-ppcre)))
8861 (synopsis "Color library for Common Lisp")
8862 (description
8863 "This is a very simple color library for Common Lisp, providing:
8864
8865 @itemize
8866 @item Types for representing colors in HSV and RGB spaces.
8867 @item Simple conversion functions between the above types (and also
8868 hexadecimal representation for RGB).
8869 @item Some predefined colors (currently X11 color names -- of course
8870 the library does not depend on X11).
8871 @end itemize\n")
8872 (home-page "https://notabug.org/cage/cl-colors2")
8873 (license license:boost1.0))))
8874
8875 (define-public cl-colors2
8876 (sbcl-package->cl-source-package sbcl-cl-colors2))
8877
8878 (define-public ecl-cl-colors2
8879 (sbcl-package->ecl-package sbcl-cl-colors2))
8880
8881 (define-public sbcl-cl-jpeg
8882 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
8883 (revision "1"))
8884 (package
8885 (name "sbcl-cl-jpeg")
8886 (version (git-version "2.8" revision commit))
8887 (source
8888 (origin
8889 (method git-fetch)
8890 (uri (git-reference
8891 (url "https://github.com/sharplispers/cl-jpeg")
8892 (commit commit)))
8893 (file-name (git-file-name name version))
8894 (sha256
8895 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
8896 (build-system asdf-build-system/sbcl)
8897 (synopsis "JPEG image library for Common Lisp")
8898 (description
8899 "This is a baseline JPEG codec written in Common Lisp. It can be used
8900 for reading and writing JPEG image files.")
8901 (home-page "https://github.com/sharplispers/cl-jpeg")
8902 (license license:bsd-3))))
8903
8904 (define-public cl-jpeg
8905 (sbcl-package->cl-source-package sbcl-cl-jpeg))
8906
8907 (define-public ecl-cl-jpeg
8908 (sbcl-package->ecl-package sbcl-cl-jpeg))
8909
8910 (define-public sbcl-nodgui
8911 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
8912 (revision "1"))
8913 (package
8914 (name "sbcl-nodgui")
8915 (version (git-version "0.0.5" revision commit))
8916 (source
8917 (origin
8918 (method git-fetch)
8919 (uri (git-reference
8920 (url "https://notabug.org/cage/nodgui.git")
8921 (commit commit)))
8922 (file-name (git-file-name name version))
8923 (sha256
8924 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
8925 (build-system asdf-build-system/sbcl)
8926 (inputs
8927 `(("alexandria" ,sbcl-alexandria)
8928 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8929 ("cl-colors2" ,sbcl-cl-colors2)
8930 ("cl-jpeg" ,sbcl-cl-jpeg)
8931 ("cl-lex" ,sbcl-cl-lex)
8932 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
8933 ("cl-unicode" ,sbcl-cl-unicode)
8934 ("cl-yacc" ,sbcl-cl-yacc)
8935 ("clunit2" ,sbcl-clunit2)
8936 ("named-readtables" ,sbcl-named-readtables)
8937 ("parse-number" ,sbcl-parse-number)
8938 ("tk" ,tk)))
8939 (arguments
8940 `(#:phases (modify-phases %standard-phases
8941 (add-after 'unpack 'fix-paths
8942 (lambda* (#:key inputs #:allow-other-keys)
8943 (substitute* "src/wish-communication.lisp"
8944 (("#-freebsd \"wish\"")
8945 (string-append "#-freebsd \""
8946 (assoc-ref inputs "tk")
8947 "/bin/wish\"")))
8948 #t)))))
8949 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
8950 (description
8951 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
8952 toolkit. It also provides a few additional widgets more than the standard Tk
8953 ones.")
8954 (home-page "https://www.autistici.org/interzona/nodgui.html")
8955 (license license:llgpl))))
8956
8957 (define-public cl-nodgui
8958 (sbcl-package->cl-source-package sbcl-nodgui))
8959
8960 (define-public ecl-nodgui
8961 (sbcl-package->ecl-package sbcl-nodgui))
8962
8963 (define-public sbcl-salza2
8964 (package
8965 (name "sbcl-salza2")
8966 (version "2.0.9")
8967 (source
8968 (origin
8969 (method git-fetch)
8970 (uri (git-reference
8971 (url "https://github.com/xach/salza2")
8972 (commit (string-append "release-" version))))
8973 (file-name (git-file-name name version))
8974 (sha256
8975 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
8976 (build-system asdf-build-system/sbcl)
8977 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
8978 (description
8979 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
8980 deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
8981 respectively.")
8982 (home-page "https://www.xach.com/lisp/salza2/")
8983 (license license:bsd-2)))
8984
8985 (define-public cl-salza2
8986 (sbcl-package->cl-source-package sbcl-salza2))
8987
8988 (define-public ecl-salza2
8989 (sbcl-package->ecl-package sbcl-salza2))
8990
8991 (define-public sbcl-origin
8992 (let ((commit "d646134302456408d6d43580bb05299f1695ab8e")
8993 (revision "1"))
8994 (package
8995 (name "sbcl-origin")
8996 (version (git-version "2.0.0" revision commit))
8997 (source
8998 (origin
8999 (method git-fetch)
9000 (uri (git-reference
9001 (url "https://git.mfiano.net/mfiano/origin")
9002 (commit commit)))
9003 (file-name (git-file-name "origin" version))
9004 (sha256
9005 (base32 "1n9aszaif3yh8prs5r8v51fbj4r5jd1a048mivd5yij3hplkm82b"))))
9006 (build-system asdf-build-system/sbcl)
9007 (native-inputs
9008 `(("parachute" ,sbcl-parachute)))
9009 (inputs
9010 `(("golden-utils" ,sbcl-golden-utils)
9011 ("specialization-store" ,sbcl-specialization-store)))
9012 (home-page "https://git.mfiano.net/mfiano/origin")
9013 (synopsis "Common Lisp graphics math library")
9014 (description
9015 "This is a native Common Lisp graphics math library with an emphasis on
9016 performance and correctness.")
9017 (license license:expat))))
9018
9019 (define-public ecl-origin
9020 (sbcl-package->ecl-package sbcl-origin))
9021
9022 (define-public cl-origin
9023 (sbcl-package->cl-source-package sbcl-origin))
9024
9025 (define-public sbcl-png-read
9026 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
9027 (revision "1"))
9028 (package
9029 (name "sbcl-png-read")
9030 (version (git-version "0.3.1" revision commit))
9031 (source
9032 (origin
9033 (method git-fetch)
9034 (uri (git-reference
9035 (url "https://github.com/Ramarren/png-read")
9036 (commit commit)))
9037 (file-name (git-file-name name version))
9038 (sha256
9039 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
9040 (build-system asdf-build-system/sbcl)
9041 (inputs
9042 `(("babel" ,sbcl-babel)
9043 ("chipz" ,sbcl-chipz)
9044 ("iterate" ,sbcl-iterate)))
9045 (synopsis "PNG decoder for Common Lisp")
9046 (description "This is a Common Lisp library for reading PNG images.")
9047 (home-page "https://github.com/Ramarren/png-read")
9048 (license license:bsd-3))))
9049
9050 (define-public cl-png-read
9051 (sbcl-package->cl-source-package sbcl-png-read))
9052
9053 (define-public ecl-png-read
9054 (sbcl-package->ecl-package sbcl-png-read))
9055
9056 (define-public sbcl-3b-bmfont
9057 (let ((commit "d1b5bec0de580c2d08ec947a93c56b1400f2a37a")
9058 (revision "1"))
9059 (package
9060 (name "sbcl-3b-bmfont")
9061 (version (git-version "0.0.1" revision commit))
9062 (source
9063 (origin
9064 (method git-fetch)
9065 (uri (git-reference
9066 (url "https://github.com/3b/3b-bmfont/")
9067 (commit commit)))
9068 (file-name (git-file-name "3b-bmfont" version))
9069 (sha256
9070 (base32 "12sgf7m0h6fqzhvkas7vmci6mprj3j3fnz778jlbqbsydln6v2yc"))))
9071 (build-system asdf-build-system/sbcl)
9072 (arguments
9073 `(#:asd-systems
9074 '("3b-bmfont"
9075 "3b-bmfont/text"
9076 "3b-bmfont/common"
9077 "3b-bmfont/xml"
9078 "3b-bmfont/json")))
9079 (inputs
9080 `(("alexandria" ,sbcl-alexandria)
9081 ("cxml" ,sbcl-cxml)
9082 ("flexi-streams" ,sbcl-flexi-streams)
9083 ("jsown" ,sbcl-jsown)
9084 ("split-sequence" ,sbcl-split-sequence)))
9085 (home-page "https://github.com/3b/3b-bmfont/")
9086 (synopsis "Read/write bmfont metadata files")
9087 (description
9088 "This is a Common Lisp library which provides functionality to
9089 read/write Bit Map Font (BMF) into text, JSON and XML.")
9090 (license license:expat))))
9091
9092 (define-public ecl-3b-bmfont
9093 (sbcl-package->ecl-package sbcl-3b-bmfont))
9094
9095 (define-public cl-3b-bmfont
9096 (sbcl-package->cl-source-package sbcl-3b-bmfont))
9097
9098 (define-public sbcl-zpng
9099 (package
9100 (name "sbcl-zpng")
9101 (version "1.2.2")
9102 (source
9103 (origin
9104 (method git-fetch)
9105 (uri (git-reference
9106 (url "https://github.com/xach/zpng")
9107 (commit (string-append "release-" version))))
9108 (file-name (git-file-name name version))
9109 (sha256
9110 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
9111 (build-system asdf-build-system/sbcl)
9112 (inputs
9113 `(("salza2" ,sbcl-salza2)))
9114 (synopsis "PNG encoder for Common Lisp")
9115 (description "This is a Common Lisp library for creating PNG images.")
9116 (home-page "https://www.xach.com/lisp/zpng/")
9117 (license license:bsd-2)))
9118
9119 (define-public cl-zpng
9120 (sbcl-package->cl-source-package sbcl-zpng))
9121
9122 (define-public ecl-zpng
9123 (sbcl-package->ecl-package sbcl-zpng))
9124
9125 (define-public sbcl-cl-qrencode
9126 (package
9127 (name "sbcl-cl-qrencode")
9128 (version "0.1.2")
9129 (source
9130 (origin
9131 (method git-fetch)
9132 (uri (git-reference
9133 (url "https://github.com/jnjcc/cl-qrencode")
9134 (commit (string-append "v" version))))
9135 (file-name (git-file-name name version))
9136 (sha256
9137 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
9138 (build-system asdf-build-system/sbcl)
9139 (native-inputs
9140 `(("lisp-unit" ,sbcl-lisp-unit)))
9141 (inputs
9142 `(("zpng" ,sbcl-zpng)))
9143 (synopsis "QR code encoder for Common Lisp")
9144 (description
9145 "This Common Lisp library provides function to make QR codes and to save
9146 them as PNG files.")
9147 (home-page "https://github.com/jnjcc/cl-qrencode")
9148 (license license:gpl2+)))
9149
9150 (define-public cl-qrencode
9151 (sbcl-package->cl-source-package sbcl-cl-qrencode))
9152
9153 (define-public ecl-cl-qrencode
9154 (sbcl-package->ecl-package sbcl-cl-qrencode))
9155
9156 (define-public sbcl-hdf5-cffi
9157 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
9158 (revision "1"))
9159 (package
9160 (name "sbcl-hdf5-cffi")
9161 (version (git-version "1.8.18" revision commit))
9162 (source
9163 (origin
9164 (method git-fetch)
9165 (uri (git-reference
9166 (url "https://github.com/hdfgroup/hdf5-cffi")
9167 (commit commit)))
9168 (file-name (git-file-name name version))
9169 (sha256
9170 (base32
9171 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
9172 (build-system asdf-build-system/sbcl)
9173 (synopsis "Common Lisp bindings for the HDF5 library")
9174 (description
9175 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
9176 (home-page "https://github.com/hdfgroup/hdf5-cffi")
9177 (license (license:non-copyleft
9178 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
9179 commit
9180 "/LICENSE")))
9181 (inputs
9182 `(("cffi" ,sbcl-cffi)
9183 ("hdf5" ,hdf5-1.10)))
9184 (native-inputs
9185 `(("fiveam" ,sbcl-fiveam)))
9186 (arguments
9187 `(#:test-asd-file "hdf5-cffi.test.asd"
9188 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
9189 ;; I don't know if there is a way to tell asdf-build-system to load
9190 ;; an additional system first, so tests are disabled.
9191 #:tests? #f
9192 #:phases
9193 (modify-phases %standard-phases
9194 (add-after 'unpack 'fix-paths
9195 (lambda* (#:key inputs #:allow-other-keys)
9196 (substitute* "src/library.lisp"
9197 (("libhdf5.so")
9198 (string-append
9199 (assoc-ref inputs "hdf5")
9200 "/lib/libhdf5.so")))))
9201 (add-after 'unpack 'fix-dependencies
9202 (lambda* (#:key inputs #:allow-other-keys)
9203 (substitute* "hdf5-cffi.asd"
9204 ((":depends-on \\(:cffi\\)")
9205 ":depends-on (:cffi :cffi-grovel)"))
9206 (substitute* "hdf5-cffi.test.asd"
9207 ((":depends-on \\(:cffi :hdf5-cffi")
9208 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
9209
9210 (define-public cl-hdf5-cffi
9211 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
9212
9213 (define-public ecl-hdf5-cffi
9214 (sbcl-package->ecl-package sbcl-hdf5-cffi))
9215
9216 (define-public sbcl-cl-randist
9217 (package
9218 (name "sbcl-cl-randist")
9219 (version "0.4.2")
9220 (source
9221 (origin
9222 (method git-fetch)
9223 (uri (git-reference
9224 (url "https://github.com/lvaruzza/cl-randist")
9225 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
9226 (file-name (git-file-name name version))
9227 (sha256
9228 (base32
9229 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
9230 (build-system asdf-build-system/sbcl)
9231 (synopsis "Random distributions for Common Lisp")
9232 (description
9233 "Manual translation from C to Common Lisp of some random number
9234 generation functions from the GSL library.")
9235 (home-page "https://github.com/lvaruzza/cl-randist")
9236 (license license:bsd-2)
9237 (arguments
9238 `(#:tests? #f))))
9239
9240 (define-public cl-randist
9241 (sbcl-package->cl-source-package sbcl-cl-randist))
9242
9243 (define-public ecl-cl-randist
9244 (sbcl-package->ecl-package sbcl-cl-randist))
9245
9246 (define-public sbcl-float-features
9247 (package
9248 (name "sbcl-float-features")
9249 (version "1.0.0")
9250 (source
9251 (origin
9252 (method git-fetch)
9253 (uri (git-reference
9254 (url "https://github.com/Shinmera/float-features")
9255 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
9256 (file-name (git-file-name name version))
9257 (sha256
9258 (base32
9259 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
9260 (build-system asdf-build-system/sbcl)
9261 (synopsis "Common Lisp IEEE float portability library")
9262 (description
9263 "Portability library for IEEE float features that are not
9264 covered by the Common Lisp standard.")
9265 (home-page "https://github.com/Shinmera/float-features")
9266 (license license:zlib)
9267 (inputs
9268 `(("documentation-utils" ,sbcl-documentation-utils)))
9269 (arguments
9270 `(#:tests? #f))))
9271
9272 (define-public cl-float-features
9273 (sbcl-package->cl-source-package sbcl-float-features))
9274
9275 (define-public ecl-float-features
9276 (sbcl-package->ecl-package sbcl-float-features))
9277
9278 (define-public sbcl-function-cache
9279 (package
9280 (name "sbcl-function-cache")
9281 (version "1.0.3")
9282 (source
9283 (origin
9284 (method git-fetch)
9285 (uri (git-reference
9286 (url "https://github.com/AccelerationNet/function-cache")
9287 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
9288 (file-name (git-file-name name version))
9289 (sha256
9290 (base32
9291 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
9292 (build-system asdf-build-system/sbcl)
9293 (synopsis "Function caching / memoization library for Common Lisp")
9294 (description
9295 "A common lisp library that provides extensible function result
9296 caching based on arguments (an expanded form of memoization).")
9297 (home-page "https://github.com/AccelerationNet/function-cache")
9298 (license
9299 (license:non-copyleft
9300 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
9301 (inputs
9302 `(("alexandria" ,sbcl-alexandria)
9303 ("cl-interpol" ,sbcl-cl-interpol)
9304 ("iterate" ,sbcl-iterate)
9305 ("symbol-munger" ,sbcl-symbol-munger)
9306 ("closer-mop" ,sbcl-closer-mop)))
9307 (arguments
9308 `(#:tests? #f))))
9309
9310 (define-public cl-function-cache
9311 (sbcl-package->cl-source-package sbcl-function-cache))
9312
9313 (define-public ecl-function-cache
9314 (sbcl-package->ecl-package sbcl-function-cache))
9315
9316 (define-public sbcl-type-r
9317 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
9318 (revision "1"))
9319 (package
9320 (name "sbcl-type-r")
9321 (version (git-version "0.0.0" revision commit))
9322 (source
9323 (origin
9324 (method git-fetch)
9325 (uri (git-reference
9326 (url "https://github.com/guicho271828/type-r")
9327 (commit commit)))
9328 (file-name (git-file-name name version))
9329 (sha256
9330 (base32
9331 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
9332 (build-system asdf-build-system/sbcl)
9333 (synopsis "Parser interface for Common Lisp built-in compound types")
9334 (description
9335 "Collections of accessor functions and patterns to access
9336 the elements in compound type specifier, e.g. @code{dimensions} in
9337 @code{(array element-type dimensions)}")
9338 (home-page "https://github.com/guicho271828/type-r")
9339 (license license:lgpl3+)
9340 (inputs
9341 `(("trivia" ,sbcl-trivia)
9342 ("alexandria" ,sbcl-alexandria)))
9343 (native-inputs
9344 `(("fiveam" ,sbcl-fiveam)))
9345 (arguments
9346 `(#:test-asd-file "type-r.test.asd")))))
9347
9348 (define-public cl-type-r
9349 (sbcl-package->cl-source-package sbcl-type-r))
9350
9351 (define-public ecl-type-r
9352 (sbcl-package->ecl-package sbcl-type-r))
9353
9354 (define-public sbcl-trivialib-type-unify
9355 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
9356 (revision "1"))
9357 (package
9358 (name "sbcl-trivialib-type-unify")
9359 (version (git-version "0.1" revision commit))
9360 (source
9361 (origin
9362 (method git-fetch)
9363 (uri (git-reference
9364 (url "https://github.com/guicho271828/trivialib.type-unify")
9365 (commit commit)))
9366 (file-name (git-file-name name version))
9367 (sha256
9368 (base32
9369 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
9370 (build-system asdf-build-system/sbcl)
9371 (synopsis "Common Lisp type unification")
9372 (description
9373 "Unifies a parametrized type specifier against an actual type specifier.
9374 Importantly, it handles complicated array-subtypes and number-related types
9375 correctly.")
9376 (home-page "https://github.com/guicho271828/trivialib.type-unify")
9377 (license license:lgpl3+)
9378 (inputs
9379 `(("alexandria" ,sbcl-alexandria)
9380 ("trivia" ,sbcl-trivia)
9381 ("introspect-environment" ,sbcl-introspect-environment)
9382 ("type-r" ,sbcl-type-r)))
9383 (native-inputs
9384 `(("fiveam" ,sbcl-fiveam)))
9385 (arguments
9386 `(#:asd-systems '("trivialib.type-unify")
9387 #:test-asd-file "trivialib.type-unify.test.asd")))))
9388
9389 (define-public cl-trivialib-type-unify
9390 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
9391
9392 (define-public ecl-trivialib-type-unify
9393 (sbcl-package->ecl-package sbcl-trivialib-type-unify))
9394
9395 (define-public sbcl-specialized-function
9396 (let ((commit "dee56d2d2b6ecd10500ad291c56217698604ec35")
9397 (revision "2"))
9398 (package
9399 (name "sbcl-specialized-function")
9400 (version (git-version "0.0.0" revision commit))
9401 (source
9402 (origin
9403 (method git-fetch)
9404 (uri (git-reference
9405 (url "https://github.com/numcl/specialized-function")
9406 (commit commit)))
9407 (file-name (git-file-name name version))
9408 (sha256
9409 (base32 "1mcc7mmpbnmgnr1cl2jl5r1ai54gn7fbisv2c14sh9za5w4sib82"))))
9410 (build-system asdf-build-system/sbcl)
9411 (synopsis "Julia-like dispatch for Common Lisp")
9412 (description
9413 "This library is part of NUMCL. It provides a macro
9414 @code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
9415 lazily compiling a type-specific version of the function from the same
9416 code. The main target of this macro is speed.")
9417 (home-page "https://github.com/numcl/specialized-function")
9418 (license license:lgpl3+)
9419 (inputs
9420 `(("trivia" ,sbcl-trivia)
9421 ("alexandria" ,sbcl-alexandria)
9422 ("iterate" ,sbcl-iterate)
9423 ("lisp-namespace" ,sbcl-lisp-namespace)
9424 ("type-r" ,sbcl-type-r)
9425 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
9426 (native-inputs
9427 `(("fiveam" ,sbcl-fiveam)))
9428 (arguments
9429 `(#:asd-files '("specialized-function.asd")
9430 #:test-asd-file "specialized-function.test.asd"
9431 ;; Tests fail because they try to use an internal symbol of SBCL
9432 ;; that does not exists in recent versions:
9433 ;; "The variable SB-VM:COMPLEX-VECTOR-NIL-WIDETAG is unbound."
9434 #:tests? #f)))))
9435
9436 (define-public cl-specialized-function
9437 (sbcl-package->cl-source-package sbcl-specialized-function))
9438
9439 (define-public ecl-specialized-function
9440 (sbcl-package->ecl-package sbcl-specialized-function))
9441
9442 (define-public sbcl-constantfold
9443 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
9444 (revision "1"))
9445 (package
9446 (name "sbcl-constantfold")
9447 (version (git-version "0.1" revision commit))
9448 (source
9449 (origin
9450 (method git-fetch)
9451 (uri (git-reference
9452 (url "https://github.com/numcl/constantfold")
9453 (commit commit)))
9454 (file-name (git-file-name name version))
9455 (sha256
9456 (base32
9457 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
9458 (build-system asdf-build-system/sbcl)
9459 (synopsis "Support library for numcl")
9460 (description
9461 "Support library for numcl. Registers a function as an
9462 additional form that is considered as a candidate for a constant.")
9463 (home-page "https://github.com/numcl/constantfold")
9464 (license license:lgpl3+)
9465 (inputs
9466 `(("trivia" ,sbcl-trivia)
9467 ("alexandria" ,sbcl-alexandria)
9468 ("iterate" ,sbcl-iterate)
9469 ("lisp-namespace" ,sbcl-lisp-namespace)))
9470 (native-inputs
9471 `(("fiveam" ,sbcl-fiveam)))
9472 (arguments
9473 `(#:asd-files '("constantfold.asd")
9474 #:test-asd-file "constantfold.test.asd")))))
9475
9476 (define-public cl-constantfold
9477 (sbcl-package->cl-source-package sbcl-constantfold))
9478
9479 (define-public ecl-constantfold
9480 (sbcl-package->ecl-package sbcl-constantfold))
9481
9482 (define-public sbcl-gtype
9483 (let ((commit "2442e32485635525af278ebd8fa69a27d5b8cf18")
9484 (revision "2"))
9485 (package
9486 (name "sbcl-gtype")
9487 (version (git-version "0.1" revision commit))
9488 (source
9489 (origin
9490 (method git-fetch)
9491 (uri (git-reference
9492 (url "https://github.com/numcl/gtype")
9493 (commit commit)))
9494 (file-name (git-file-name name version))
9495 (sha256
9496 (base32 "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h"))))
9497 (build-system asdf-build-system/sbcl)
9498 (synopsis "C++/Julia-like parametric types in Common Lisp")
9499 (description
9500 "Support library for numcl that provides Julia-like runtime parametric
9501 type correctness in Common Lisp. It is based on CLtL2 extensions.")
9502 (home-page "https://github.com/numcl/gtype")
9503 (license license:lgpl3+)
9504 (inputs
9505 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
9506 ("trivial-cltl2" ,sbcl-trivial-cltl2)
9507 ("trivia" ,sbcl-trivia)
9508 ("alexandria" ,sbcl-alexandria)
9509 ("iterate" ,sbcl-iterate)
9510 ("type-r" ,sbcl-type-r)))
9511 (native-inputs
9512 `(("fiveam" ,sbcl-fiveam)))
9513 (arguments
9514 `(#:asd-files '("gtype.asd")
9515 #:test-asd-file "gtype.test.asd")))))
9516
9517 (define-public cl-gtype
9518 (sbcl-package->cl-source-package sbcl-gtype))
9519
9520 (define-public ecl-gtype
9521 (let ((pkg (sbcl-package->ecl-package sbcl-gtype)))
9522 (package
9523 (inherit pkg)
9524 (arguments
9525 (substitute-keyword-arguments (package-arguments pkg)
9526 ;; The tests fail on ECL with a COMPILE-FILE-ERROR for t/package.lisp.
9527 ((#:tests? _ #f) #f))))))
9528
9529 (define-public sbcl-numcl
9530 (let ((commit "d19f36356be900c600ef08560c9e1af441a166cb")
9531 (revision "1"))
9532 (package
9533 (name "sbcl-numcl")
9534 (version (git-version "0.2.0" revision commit))
9535 (source
9536 (origin
9537 (method git-fetch)
9538 (uri (git-reference
9539 (url "https://github.com/numcl/numcl")
9540 (commit commit)))
9541 (file-name (git-file-name "numcl" version))
9542 (sha256
9543 (base32 "0q4ylfr7hl0gz2ynr0c15h09dmnli2x6ndnm5wr58wfplf1wfj31"))))
9544 (build-system asdf-build-system/sbcl)
9545 (arguments
9546 `(#:test-asd-file "numcl.test.asd"
9547 #:asd-files '("numcl.asd")))
9548 (native-inputs
9549 `(("fiveam" ,sbcl-fiveam)))
9550 (inputs
9551 `(("alexandria" ,sbcl-alexandria)
9552 ("cl-randist" ,sbcl-cl-randist)
9553 ("constantfold" ,sbcl-constantfold)
9554 ("float-features" ,sbcl-float-features)
9555 ("function-cache" ,sbcl-function-cache)
9556 ("gtype" ,sbcl-gtype)
9557 ("iterate" ,sbcl-iterate)
9558 ("lisp-namespace" ,sbcl-lisp-namespace)
9559 ("specialized-function" ,sbcl-specialized-function)
9560 ("trivia" ,sbcl-trivia)
9561 ("type-r" ,sbcl-type-r)))
9562 (home-page "https://numcl.github.io/numcl/")
9563 (synopsis "Numpy clone in Common Lisp")
9564 (description
9565 "This package is a Python Numpy clone implemented in pure Common Lisp.")
9566 (license license:lgpl3+))))
9567
9568 (define-public cl-numcl
9569 (sbcl-package->cl-source-package sbcl-numcl))
9570
9571 (define-public ecl-numcl
9572 (sbcl-package->ecl-package sbcl-numcl))
9573
9574 (define-public sbcl-pzmq
9575 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
9576 (revision "1"))
9577 (package
9578 (name "sbcl-pzmq")
9579 (version (git-version "0.0.0" revision commit))
9580 (source
9581 (origin
9582 (method git-fetch)
9583 (uri (git-reference
9584 (url "https://github.com/orivej/pzmq")
9585 (commit commit)))
9586 (file-name (git-file-name name version))
9587 (sha256
9588 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
9589 (build-system asdf-build-system/sbcl)
9590 (native-inputs
9591 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9592 ("fiveam" ,sbcl-fiveam)
9593 ("let-plus" ,sbcl-let-plus)))
9594 (inputs
9595 `(("cffi" ,sbcl-cffi)
9596 ("zeromq" ,zeromq)))
9597 (arguments
9598 `(#:phases (modify-phases %standard-phases
9599 (add-after 'unpack 'fix-paths
9600 (lambda* (#:key inputs #:allow-other-keys)
9601 (substitute* "c-api.lisp"
9602 (("\"libzmq")
9603 (string-append "\""
9604 (assoc-ref inputs "zeromq")
9605 "/lib/libzmq")))
9606 #t)))))
9607 (synopsis "Common Lisp bindings for the ZeroMQ library")
9608 (description "This Common Lisp library provides bindings for the ZeroMQ
9609 lightweight messaging kernel.")
9610 (home-page "https://github.com/orivej/pzmq")
9611 (license license:unlicense))))
9612
9613 (define-public cl-pzmq
9614 (sbcl-package->cl-source-package sbcl-pzmq))
9615
9616 (define-public ecl-pzmq
9617 (sbcl-package->ecl-package sbcl-pzmq))
9618
9619 (define-public sbcl-clss
9620 (let ((revision "1")
9621 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
9622 (package
9623 (name "sbcl-clss")
9624 (version (git-version "0.3.1" revision commit))
9625 (source
9626 (origin
9627 (method git-fetch)
9628 (uri
9629 (git-reference
9630 (url "https://github.com/Shinmera/clss")
9631 (commit commit)))
9632 (sha256
9633 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
9634 (file-name (git-file-name name version))))
9635 (inputs
9636 `(("array-utils" ,sbcl-array-utils)
9637 ("plump" ,sbcl-plump)))
9638 (build-system asdf-build-system/sbcl)
9639 (synopsis "DOM tree searching engine based on CSS selectors")
9640 (description "CLSS is a DOM traversal engine based on CSS
9641 selectors. It makes use of the Plump-DOM and is used by lQuery.")
9642 (home-page "https://github.com/Shinmera/clss")
9643 (license license:zlib))))
9644
9645 (define-public cl-clss
9646 (sbcl-package->cl-source-package sbcl-clss))
9647
9648 (define-public ecl-clss
9649 (sbcl-package->ecl-package sbcl-clss))
9650
9651 (define-public sbcl-lquery
9652 (let ((revision "1")
9653 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
9654 (package
9655 (name "sbcl-lquery")
9656 (version (git-version "3.2.1" revision commit))
9657 (source
9658 (origin
9659 (method git-fetch)
9660 (uri
9661 (git-reference
9662 (url "https://github.com/Shinmera/lquery")
9663 (commit commit)))
9664 (sha256
9665 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
9666 (file-name (git-file-name name version))))
9667 (native-inputs
9668 `(("fiveam" ,sbcl-fiveam)))
9669 (inputs
9670 `(("array-utils" ,sbcl-array-utils)
9671 ("form-fiddle" ,sbcl-form-fiddle)
9672 ("plump" ,sbcl-plump)
9673 ("clss" ,sbcl-clss)))
9674 (build-system asdf-build-system/sbcl)
9675 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
9676 (description "@code{lQuery} is a DOM manipulation library written in
9677 Common Lisp, inspired by and based on the jQuery syntax and
9678 functions. It uses Plump and CLSS as DOM and selector engines. The
9679 main idea behind lQuery is to provide a simple interface for crawling
9680 and modifying HTML sites, as well as to allow for an alternative
9681 approach to templating.")
9682 (home-page "https://github.com/Shinmera/lquery")
9683 (license license:zlib))))
9684
9685 (define-public cl-lquery
9686 (sbcl-package->cl-source-package sbcl-lquery))
9687
9688 (define-public ecl-lquery
9689 (sbcl-package->ecl-package sbcl-lquery))
9690
9691 (define-public sbcl-cl-mysql
9692 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
9693 (revision "1"))
9694 (package
9695 (name "sbcl-cl-mysql")
9696 (version (git-version "0.1" revision commit))
9697 (source
9698 (origin
9699 (method git-fetch)
9700 (uri (git-reference
9701 (url "https://github.com/hackinghat/cl-mysql")
9702 (commit commit)))
9703 (file-name (git-file-name name version))
9704 (sha256
9705 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
9706 (build-system asdf-build-system/sbcl)
9707 (native-inputs
9708 `(("stefil" ,sbcl-stefil)))
9709 (inputs
9710 `(("cffi" ,sbcl-cffi)
9711 ("mariadb-lib" ,mariadb "lib")))
9712 (arguments
9713 `(#:tests? #f ; TODO: Tests require a running server
9714 #:phases
9715 (modify-phases %standard-phases
9716 (add-after 'unpack 'fix-paths
9717 (lambda* (#:key inputs #:allow-other-keys)
9718 (substitute* "system.lisp"
9719 (("libmysqlclient_r" all)
9720 (string-append (assoc-ref inputs "mariadb-lib")
9721 "/lib/"
9722 all)))
9723 #t)))))
9724 (synopsis "Common Lisp wrapper for MySQL")
9725 (description
9726 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
9727 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
9728 (license license:expat))))
9729
9730 (define-public cl-mysql
9731 (sbcl-package->cl-source-package sbcl-cl-mysql))
9732
9733 (define-public ecl-cl-mysql
9734 (sbcl-package->ecl-package sbcl-cl-mysql))
9735
9736 (define-public sbcl-postmodern
9737 (package
9738 (name "sbcl-postmodern")
9739 (version "1.32.8")
9740 (source
9741 (origin
9742 (method git-fetch)
9743 (uri (git-reference
9744 (url "https://github.com/marijnh/Postmodern")
9745 (commit (string-append "v" version))))
9746 (file-name (git-file-name name version))
9747 (sha256
9748 (base32 "0vr5inbr8dldf6dsl0qj3h2yrnnsayzfwxfzwkn1pk7xbns2l78q"))))
9749 (build-system asdf-build-system/sbcl)
9750 (native-inputs
9751 `(("fiveam" ,sbcl-fiveam)))
9752 (inputs
9753 `(("alexandria" ,sbcl-alexandria)
9754 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9755 ("cl-base64" ,sbcl-cl-base64)
9756 ("cl-unicode" ,sbcl-cl-unicode)
9757 ("closer-mop" ,sbcl-closer-mop)
9758 ("global-vars" ,sbcl-global-vars)
9759 ("ironclad" ,sbcl-ironclad)
9760 ("local-time" ,sbcl-local-time)
9761 ("md5" ,sbcl-md5)
9762 ("split-sequence" ,sbcl-split-sequence)
9763 ("uax-15" ,sbcl-uax-15)
9764 ("usocket" ,sbcl-usocket)))
9765 (arguments
9766 ;; TODO: (Sharlatan-20210114T171037+0000) tests still failing but on other
9767 ;; step, some functionality in `local-time' prevents passing tests.
9768 ;; Error:
9769 ;;
9770 ;; Can't create directory
9771 ;; /gnu/store
9772 ;; /4f47agf1kyiz057ppy6x5p98i7mcbfsv-sbcl-local-time-1.0.6-2.a177eb9
9773 ;; /lib/common-lisp/sbcl/local-time/src/integration/
9774 ;;
9775 ;; NOTE: (Sharlatan-20210124T191940+0000): When set env HOME to /tmp above
9776 ;; issue is resolved but it required live test database to connect to now.
9777 ;; Keep tests switched off.
9778 `(#:tests? #f
9779 #:asd-systems '("cl-postgres"
9780 "s-sql"
9781 "postmodern"
9782 "simple-date"
9783 "simple-date/postgres-glue")))
9784 (synopsis "Common Lisp library for interacting with PostgreSQL")
9785 (description
9786 "@code{postmodern} is a Common Lisp library for interacting with
9787 PostgreSQL databases. It provides the following features:
9788
9789 @itemize
9790 @item Efficient communication with the database server without need for
9791 foreign libraries.
9792 @item Support for UTF-8 on Unicode-aware Lisp implementations.
9793 @item A syntax for mixing SQL and Lisp code.
9794 @item Convenient support for prepared statements and stored procedures.
9795 @item A metaclass for simple database-access objects.
9796 @end itemize\n
9797
9798 This package produces 4 systems: postmodern, cl-postgres, s-sql, simple-date
9799
9800 @code{SIMPLE-DATE} is a very basic implementation of date and time objects, used
9801 to support storing and retrieving time-related SQL types. It is not loaded by
9802 default and you can use local-time (which has support for timezones) instead.
9803
9804 @code{S-SQL} is used to compile s-expressions to strings of SQL code, escaping
9805 any Lisp values inside, and doing as much as possible of the work at compile
9806 time.
9807
9808 @code{CL-POSTGRES} is the low-level library used for interfacing with a PostgreSQL
9809 server over a socket.
9810
9811 @code{POSTMODERN} itself is a wrapper around these packages and provides higher
9812 level functions, a very simple data access object that can be mapped directly to
9813 database tables and some convient utilities. It then tries to put all these
9814 things together into a convenient programming interface")
9815 (home-page "https://marijnhaverbeke.nl/postmodern/")
9816 (license license:zlib)))
9817
9818 (define-public cl-postmodern
9819 (sbcl-package->cl-source-package sbcl-postmodern))
9820
9821 (define-public ecl-postmodern
9822 (package
9823 (inherit (sbcl-package->ecl-package sbcl-postmodern))
9824 (arguments
9825 `(#:tests? #f
9826 #:asd-systems '("cl-postgres"
9827 "s-sql"
9828 "postmodern"
9829 "simple-date"
9830 "simple-date/postgres-glue")
9831 #:phases
9832 (modify-phases %standard-phases
9833 (add-after 'unpack 'fix-build
9834 (lambda _
9835 (substitute* "cl-postgres.asd"
9836 ((":or :sbcl :allegro :ccl :clisp" all)
9837 (string-append all " :ecl")))
9838 #t)))))))
9839
9840 (define-public sbcl-db3
9841 (let ((commit "38e5ad35f025769fb7f8dcdc6e56df3e8efd8e6d")
9842 (revision "1"))
9843 (package
9844 (name "sbcl-db3")
9845 (version (git-version "0.0.0" revision commit))
9846 (source
9847 (origin
9848 (method git-fetch)
9849 (uri (git-reference
9850 (url "https://github.com/dimitri/cl-db3")
9851 (commit commit)))
9852 (file-name (git-file-name "cl-db3" version))
9853 (sha256
9854 (base32 "1i7j0mlri6kbklcx1lsm464s8kmyhhij5c4xh4aybrw8m4ixn1s5"))))
9855 (build-system asdf-build-system/sbcl)
9856 (home-page "https://github.com/dimitri/cl-db3")
9857 (synopsis "Common Lisp library to read dBase III database files")
9858 (description
9859 "This is a Common Lisp library for processing data found in dBase III
9860 database files (dbf and db3 files).")
9861 (license license:public-domain))))
9862
9863 (define-public ecl-db3
9864 (sbcl-package->ecl-package sbcl-db3))
9865
9866 (define-public cl-db3
9867 (sbcl-package->cl-source-package sbcl-db3))
9868
9869 (define-public sbcl-dbi
9870 ;; Master includes a breaking change which other packages depend on since
9871 ;; Quicklisp decided to follow it:
9872 ;; https://github.com/fukamachi/cl-dbi/commit/31c46869722f77fd5292a81b5b101f1347d7fce1
9873 (let ((commit "31c46869722f77fd5292a81b5b101f1347d7fce1"))
9874 (package
9875 (name "sbcl-dbi")
9876 (version (git-version "0.9.4" "1" commit))
9877 (source
9878 (origin
9879 (method git-fetch)
9880 (uri (git-reference
9881 (url "https://github.com/fukamachi/cl-dbi")
9882 (commit commit)))
9883 (file-name (git-file-name name version))
9884 (sha256
9885 (base32 "0r3n4rw12qqxad0cryym2ibm4ddl49gbq4ra227afibsr43nw5k3"))))
9886 (build-system asdf-build-system/sbcl)
9887 (native-inputs
9888 `(("rove" ,sbcl-rove)
9889 ("trivial-types" ,sbcl-trivial-types)))
9890 (inputs
9891 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9892 ("cl-mysql" ,sbcl-cl-mysql)
9893 ("cl-sqlite" ,sbcl-cl-sqlite)
9894 ("closer-mop" ,sbcl-closer-mop)
9895 ("postmodern" ,sbcl-postmodern)
9896 ("split-sequence" ,sbcl-split-sequence)
9897 ("trivial-garbage" ,sbcl-trivial-garbage)))
9898 (arguments
9899 `(#:asd-systems '("dbi"
9900 "dbd-mysql"
9901 "dbd-postgres"
9902 "dbd-sqlite3")))
9903 (synopsis "Database independent interface for Common Lisp")
9904 (description
9905 "@code{dbi} is a Common Lisp library providing a database independent
9906 interface for MySQL, PostgreSQL and SQLite.")
9907 (home-page "https://github.com/fukamachi/cl-dbi")
9908 (license license:llgpl))))
9909
9910 (define-public cl-dbi
9911 (sbcl-package->cl-source-package sbcl-dbi))
9912
9913 (define-public ecl-dbi
9914 (sbcl-package->ecl-package sbcl-dbi))
9915
9916 (define-public sbcl-uffi
9917 (package
9918 (name "sbcl-uffi")
9919 (version "2.1.2")
9920 (source
9921 (origin
9922 (method git-fetch)
9923 (uri (git-reference
9924 (url "http://git.kpe.io/uffi.git")
9925 (commit (string-append "v" version))))
9926 (file-name (git-file-name name version))
9927 (sha256
9928 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
9929 (build-system asdf-build-system/sbcl)
9930 (arguments
9931 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
9932 #:asd-files '("uffi.asd")
9933 #:phases
9934 (modify-phases %standard-phases
9935 (add-after 'unpack 'fix-permissions
9936 (lambda _
9937 (make-file-writable "doc/html.tar.gz")
9938 #t)))))
9939 (synopsis "Universal foreign function library for Common Lisp")
9940 (description
9941 "UFFI provides a universal foreign function interface (FFI)
9942 for Common Lisp.")
9943 (home-page "http://quickdocs.org/uffi/")
9944 (license license:llgpl)))
9945
9946 (define-public cl-uffi
9947 (package
9948 (inherit (sbcl-package->cl-source-package sbcl-uffi))
9949 (arguments
9950 `(#:phases
9951 ;; asdf-build-system/source has its own phases and does not inherit
9952 ;; from asdf-build-system/sbcl phases.
9953 (modify-phases %standard-phases/source
9954 ;; Already done in SBCL package.
9955 (delete 'reset-gzip-timestamps))))))
9956
9957 (define-public sbcl-clsql
9958 (package
9959 (name "sbcl-clsql")
9960 (version "6.7.0")
9961 (source
9962 (origin
9963 (method git-fetch)
9964 (uri (git-reference
9965 (url "http://git.kpe.io/clsql.git")
9966 (commit (string-append "v" version))))
9967 (file-name (git-file-name name version))
9968 (sha256
9969 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
9970 (snippet
9971 '(begin
9972 ;; Remove precompiled libraries.
9973 (delete-file "db-mysql/clsql_mysql.dll")
9974 (delete-file "uffi/clsql_uffi.dll")
9975 (delete-file "uffi/clsql_uffi.lib")
9976 #t))))
9977 (build-system asdf-build-system/sbcl)
9978 (native-inputs
9979 `(("rt" ,sbcl-rt)))
9980 (inputs
9981 `(("cffi" ,sbcl-cffi)
9982 ("md5" ,sbcl-md5)
9983 ("mysql" ,mysql)
9984 ("postgresql" ,postgresql)
9985 ("postmodern" ,sbcl-postmodern)
9986 ("sqlite" ,sqlite)
9987 ("uffi" ,sbcl-uffi)
9988 ("zlib" ,zlib)))
9989 (arguments
9990 `(#:asd-files '("clsql.asd"
9991 "clsql-uffi.asd"
9992 "clsql-sqlite3.asd"
9993 "clsql-postgresql.asd"
9994 "clsql-postgresql-socket3.asd"
9995 "clsql-mysql.asd")
9996 #:asd-systems '("clsql"
9997 "clsql-sqlite3"
9998 "clsql-postgresql"
9999 "clsql-postgresql-socket3"
10000 "clsql-mysql")
10001 #:phases
10002 (modify-phases %standard-phases
10003 (add-after 'unpack 'fix-permissions
10004 (lambda _
10005 (make-file-writable "doc/html.tar.gz")
10006 #t))
10007 (add-after 'unpack 'fix-build
10008 (lambda _
10009 (substitute* "clsql-uffi.asd"
10010 (("\\(:version uffi \"2.0\"\\)")
10011 "uffi"))
10012 (substitute* "db-postgresql/postgresql-api.lisp"
10013 (("\\(data :cstring\\)")
10014 "(data :string)"))
10015 #t))
10016 (add-after 'unpack 'fix-paths
10017 (lambda* (#:key inputs outputs #:allow-other-keys)
10018 (substitute* "db-sqlite3/sqlite3-loader.lisp"
10019 (("libsqlite3")
10020 (string-append (assoc-ref inputs "sqlite")
10021 "/lib/libsqlite3")))
10022 (substitute* "db-postgresql/postgresql-loader.lisp"
10023 (("libpq")
10024 (string-append (assoc-ref inputs "postgresql")
10025 "/lib/libpq")))
10026 (let ((lib (string-append "#p\""
10027 (assoc-ref outputs "out")
10028 "/lib/\"")))
10029 (substitute* "clsql-mysql.asd"
10030 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
10031 lib))
10032 (substitute* "db-mysql/mysql-loader.lisp"
10033 (("libmysqlclient" all)
10034 (string-append (assoc-ref inputs "mysql") "/lib/" all))
10035 (("clsql-mysql-system::\\*library-file-dir\\*")
10036 lib)))
10037 #t))
10038 (add-before 'build 'build-helper-library
10039 (lambda* (#:key inputs outputs #:allow-other-keys)
10040 (let* ((mysql (assoc-ref inputs "mysql"))
10041 (inc-dir (string-append mysql "/include/mysql"))
10042 (lib-dir (string-append mysql "/lib"))
10043 (shared-lib-dir (string-append (assoc-ref outputs "out")
10044 "/lib"))
10045 (shared-lib (string-append shared-lib-dir
10046 "/clsql_mysql.so")))
10047 (mkdir-p shared-lib-dir)
10048 (invoke "gcc" "-fPIC" "-shared"
10049 "-I" inc-dir
10050 "db-mysql/clsql_mysql.c"
10051 "-Wl,-soname=clsql_mysql"
10052 "-L" lib-dir "-lmysqlclient" "-lz"
10053 "-o" shared-lib)
10054 #t)))
10055 (add-after 'unpack 'fix-tests
10056 (lambda _
10057 (substitute* "clsql.asd"
10058 (("clsql-tests :force t")
10059 "clsql-tests"))
10060 #t)))))
10061 (synopsis "Common Lisp SQL Interface library")
10062 (description
10063 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
10064 Xanalys CommonSQL interface for Lispworks. It provides low-level database
10065 interfaces as well as a functional and an object oriented interface.")
10066 (home-page "http://clsql.kpe.io/")
10067 (license license:llgpl)))
10068
10069 (define-public cl-clsql
10070 (package
10071 (inherit (sbcl-package->cl-source-package sbcl-clsql))
10072 (native-inputs
10073 `(("rt" ,cl-rt)))
10074 (inputs
10075 `(("mysql" ,mysql)
10076 ("postgresql" ,postgresql)
10077 ("sqlite" ,sqlite)
10078 ("zlib" ,zlib)))
10079 (propagated-inputs
10080 `(("cffi" ,cl-cffi)
10081 ("md5" ,cl-md5)
10082 ("postmodern" ,cl-postmodern)
10083 ("uffi" ,cl-uffi)))
10084 (arguments
10085 `(#:phases
10086 ;; asdf-build-system/source has its own phases and does not inherit
10087 ;; from asdf-build-system/sbcl phases.
10088 (modify-phases %standard-phases/source
10089 (add-after 'unpack 'fix-permissions
10090 (lambda _
10091 (make-file-writable "doc/html.tar.gz")
10092 #t)))))))
10093
10094 (define-public ecl-clsql
10095 (let ((pkg (sbcl-package->ecl-package sbcl-clsql)))
10096 (package
10097 (inherit pkg)
10098 (inputs
10099 (alist-delete "uffi" (package-inputs pkg)))
10100 (arguments
10101 (substitute-keyword-arguments (package-arguments pkg)
10102 ((#:asd-files asd-files '())
10103 `(cons "clsql-cffi.asd" ,asd-files)))))))
10104
10105 (define-public sbcl-sycamore
10106 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
10107 (package
10108 (name "sbcl-sycamore")
10109 (version "0.0.20120604")
10110 (source
10111 (origin
10112 (method git-fetch)
10113 (uri (git-reference
10114 (url "https://github.com/ndantam/sycamore/")
10115 (commit commit)))
10116 (file-name (git-file-name name version))
10117 (sha256
10118 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
10119 (build-system asdf-build-system/sbcl)
10120 (inputs
10121 `(("alexandria" ,sbcl-alexandria)
10122 ("cl-ppcre" ,sbcl-cl-ppcre)))
10123 (synopsis "Purely functional data structure library in Common Lisp")
10124 (description
10125 "Sycamore is a fast, purely functional data structure library in Common Lisp.
10126 If features:
10127
10128 @itemize
10129 @item Fast, purely functional weight-balanced binary trees.
10130 @item Leaf nodes are simple-vectors, greatly reducing tree height.
10131 @item Interfaces for tree Sets and Maps (dictionaries).
10132 @item Ropes.
10133 @item Purely functional pairing heaps.
10134 @item Purely functional amortized queue.
10135 @end itemize\n")
10136 (home-page "http://ndantam.github.io/sycamore/")
10137 (license license:bsd-3))))
10138
10139 (define-public cl-sycamore
10140 (sbcl-package->cl-source-package sbcl-sycamore))
10141
10142 (define-public ecl-sycamore
10143 (sbcl-package->ecl-package sbcl-sycamore))
10144
10145 (define-public sbcl-trivial-package-local-nicknames
10146 (package
10147 (name "sbcl-trivial-package-local-nicknames")
10148 (version "0.2")
10149 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
10150 (source
10151 (origin
10152 (method git-fetch)
10153 (uri (git-reference
10154 (url home-page)
10155 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
10156 (file-name (git-file-name name version))
10157 (sha256
10158 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
10159 (build-system asdf-build-system/sbcl)
10160 (synopsis "Common Lisp compatibility library for package local nicknames")
10161 (description
10162 "This library is a portable compatibility layer around package local nicknames (PLN).
10163 This was done so there is a portability library for the PLN API not included
10164 in DEFPACKAGE.")
10165 (license license:unlicense)))
10166
10167 (define-public cl-trivial-package-local-nicknames
10168 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
10169
10170 (define-public ecl-trivial-package-local-nicknames
10171 (sbcl-package->ecl-package sbcl-trivial-package-local-nicknames))
10172
10173 (define-public sbcl-enchant
10174 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
10175 (package
10176 (name "sbcl-enchant")
10177 (version (git-version "0.0.0" "1" commit))
10178 (home-page "https://github.com/tlikonen/cl-enchant")
10179 (source
10180 (origin
10181 (method git-fetch)
10182 (uri (git-reference
10183 (url home-page)
10184 (commit commit)))
10185 (file-name (git-file-name name version))
10186 (sha256
10187 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
10188 (build-system asdf-build-system/sbcl)
10189 (inputs
10190 `(("enchant" ,enchant)
10191 ("cffi" ,sbcl-cffi)))
10192 (arguments
10193 `(#:phases
10194 (modify-phases %standard-phases
10195 (add-after 'unpack 'fix-paths
10196 (lambda* (#:key inputs #:allow-other-keys)
10197 (substitute* "load-enchant.lisp"
10198 (("libenchant")
10199 (string-append
10200 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
10201 (synopsis "Common Lisp interface for the Enchant spell-checker library")
10202 (description
10203 "Enchant is a Common Lisp interface for the Enchant spell-checker
10204 library. The Enchant library is a generic spell-checker library which uses
10205 other spell-checkers transparently as back-end. The library supports the
10206 multiple checkers, including Aspell and Hunspell.")
10207 (license license:public-domain))))
10208
10209 (define-public cl-enchant
10210 (sbcl-package->cl-source-package sbcl-enchant))
10211
10212 (define-public ecl-enchant
10213 (sbcl-package->ecl-package sbcl-enchant))
10214
10215 (define-public sbcl-cl-change-case
10216 (let ((commit "45c70b601125889689e0c1c37d7e727a3a0af022")
10217 (revision "1"))
10218 (package
10219 (name "sbcl-cl-change-case")
10220 (version (git-version "0.2.0" revision commit))
10221 (home-page "https://github.com/rudolfochrist/cl-change-case")
10222 (source
10223 (origin
10224 (method git-fetch)
10225 (uri (git-reference
10226 (url home-page)
10227 (commit commit)))
10228 (file-name (git-file-name "cl-change-case" version))
10229 (sha256
10230 (base32 "0qmk341zzcsbf8sq0w9ix3r080zg4ri6vzxym63lhdjfzwz3y8if"))))
10231 (build-system asdf-build-system/sbcl)
10232 (inputs
10233 `(("cl-ppcre" ,sbcl-cl-ppcre)
10234 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
10235 (native-inputs
10236 `(("fiveam" ,sbcl-fiveam)))
10237 (synopsis
10238 "Convert Common Lisp strings between camelCase, PascalCase and more")
10239 (description
10240 "@code{cl-change-case} is a library to convert strings between
10241 camelCase, PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
10242 (license license:llgpl))))
10243
10244 (define-public cl-change-case
10245 (sbcl-package->cl-source-package sbcl-cl-change-case))
10246
10247 (define-public ecl-cl-change-case
10248 (sbcl-package->ecl-package sbcl-cl-change-case))
10249
10250 (define-public sbcl-modularize
10251 (let ((commit "86c5d9a11fbd2df9f0f03ac10b5d71837c8934ba")
10252 (revision "1"))
10253 (package
10254 (name "sbcl-modularize")
10255 (version (git-version "1.0.0" revision commit))
10256 (source
10257 (origin
10258 (method git-fetch)
10259 (uri (git-reference
10260 (url "https://github.com/Shinmera/modularize")
10261 (commit commit)))
10262 (file-name (git-file-name name version))
10263 (sha256
10264 (base32 "1zys29rfkb649rkgl3snxhajk8d5yf7ryxkrwy020kwdh7zdsg7d"))))
10265 (build-system asdf-build-system/sbcl)
10266 (arguments
10267 `(#:test-asd-file "modularize-test-module.asd"
10268 #:asd-files '("modularize.asd" "modularize-test-module.asd")
10269 #:asd-systems '("modularize" "modularize-test-module")))
10270 (inputs
10271 `(("documentation-utils" ,sbcl-documentation-utils)
10272 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)))
10273 (home-page "https://shinmera.github.io/modularize/")
10274 (synopsis "Common Lisp modularization framework")
10275 (description
10276 "@code{MODULARIZE} is an attempt at providing a common interface to
10277 segregate major application components. This is achieved by adding special
10278 treatment to packages. Each module is a package that is specially registered,
10279 which allows it to interact and co-exist with other modules in better ways. For
10280 instance, by adding module definition options you can introduce mechanisms to
10281 tie modules together in functionality, hook into each other and so on.")
10282 (license license:zlib))))
10283
10284 (define-public ecl-modularize
10285 (sbcl-package->ecl-package sbcl-modularize))
10286
10287 (define-public cl-modularize
10288 (sbcl-package->cl-source-package sbcl-modularize))
10289
10290 (define-public sbcl-modularize-hooks
10291 (let ((commit "e0348ed3ffd59a9ec31ca4ab28289e748bfbf96a")
10292 (revision "1"))
10293 (package
10294 (name "sbcl-modularize-hooks")
10295 (version (git-version "1.0.2" revision commit))
10296 (source
10297 (origin
10298 (method git-fetch)
10299 (uri (git-reference
10300 (url "https://github.com/Shinmera/modularize-hooks")
10301 (commit commit)))
10302 (file-name (git-file-name "modularize-hooks" version))
10303 (sha256
10304 (base32 "12kjvin8hxidwkzfb7inqv5b6g5qzcssnj9wc497v2ixc56fqdz7"))))
10305 (build-system asdf-build-system/sbcl)
10306 (inputs
10307 `(("closer-mop" ,sbcl-closer-mop)
10308 ("lambda-fiddle" ,sbcl-lambda-fiddle)
10309 ("modularize" ,sbcl-modularize)
10310 ("trivial-arguments" ,sbcl-trivial-arguments)))
10311 (home-page "https://shinmera.github.io/modularize-hooks/")
10312 (synopsis "Generic hooks and triggers extension for Modularize")
10313 (description
10314 "This is a simple extension to @code{MODULARIZE} that allows modules to
10315 define and trigger hooks, which other modules can hook on to.")
10316 (license license:zlib))))
10317
10318 (define-public ecl-modularize-hooks
10319 (sbcl-package->ecl-package sbcl-modularize-hooks))
10320
10321 (define-public cl-modularize-hooks
10322 (sbcl-package->cl-source-package sbcl-modularize-hooks))
10323
10324 (define-public sbcl-modularize-interfaces
10325 (let ((commit "96353657afb8c7aeba7ef5b51eb04c5ed3bcb6ef")
10326 (revision "1"))
10327 (package
10328 (name "sbcl-modularize-interfaces")
10329 (version (git-version "0.9.3" revision commit))
10330 (source
10331 (origin
10332 (method git-fetch)
10333 (uri (git-reference
10334 (url "https://github.com/Shinmera/modularize-interfaces")
10335 (commit commit)))
10336 (file-name (git-file-name "modularize-interfaces" version))
10337 (sha256
10338 (base32 "0bjf4wy39cwf75m7vh0r7mmcchs09yz2lrbyap98hnq8blq70fhc"))))
10339 (build-system asdf-build-system/sbcl)
10340 (inputs
10341 `(("lambda-fiddle" ,sbcl-lambda-fiddle)
10342 ("modularize" ,sbcl-modularize)
10343 ("trivial-arguments" ,sbcl-trivial-arguments)
10344 ("trivial-indent" ,sbcl-trivial-indent)))
10345 (home-page "https://shinmera.github.io/modularize-interfaces/")
10346 (synopsis "Programmatical interfaces extension for Modularize")
10347 (description
10348 "This is an extension to @code{MODULARIZE} that allows your application
10349 to define interfaces in-code that serve both as a primary documentation and as
10350 compliance control.")
10351 (license license:zlib))))
10352
10353 (define-public ecl-modularize-interfaces
10354 (sbcl-package->ecl-package sbcl-modularize-interfaces))
10355
10356 (define-public cl-modularize-interfaces
10357 (sbcl-package->cl-source-package sbcl-modularize-interfaces))
10358
10359 (define-public sbcl-moptilities
10360 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
10361 (package
10362 (name "sbcl-moptilities")
10363 (version (git-version "0.3.13" "1" commit))
10364 (home-page "https://github.com/gwkkwg/moptilities/")
10365 (source
10366 (origin
10367 (method git-fetch)
10368 (uri (git-reference
10369 (url home-page)
10370 (commit commit)))
10371 (file-name (git-file-name name version))
10372 (sha256
10373 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
10374 (build-system asdf-build-system/sbcl)
10375 (inputs
10376 `(("closer-mop" ,sbcl-closer-mop)))
10377 (native-inputs
10378 `(("lift" ,sbcl-lift)))
10379 (arguments
10380 `(#:phases
10381 (modify-phases %standard-phases
10382 (add-after 'unpack 'fix-tests
10383 (lambda _
10384 (substitute* "lift-standard.config"
10385 ((":relative-to lift-test")
10386 ":relative-to moptilities-test"))
10387 #t)))))
10388 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
10389 (description
10390 "MOP utilities provide a common interface between Lisps and make the
10391 MOP easier to use.")
10392 (license license:expat))))
10393
10394 (define-public cl-moptilities
10395 (sbcl-package->cl-source-package sbcl-moptilities))
10396
10397 (define-public sbcl-osicat
10398 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
10399 (package
10400 (name "sbcl-osicat")
10401 (version (git-version "0.7.0" "1" commit))
10402 (home-page "http://www.common-lisp.net/project/osicat/")
10403 (source
10404 (origin
10405 (method git-fetch)
10406 (uri (git-reference
10407 (url "https://github.com/osicat/osicat")
10408 (commit commit)))
10409 (file-name (git-file-name name version))
10410 (sha256
10411 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
10412 (build-system asdf-build-system/sbcl)
10413 (inputs
10414 `(("alexandria" ,sbcl-alexandria)
10415 ("cffi" ,sbcl-cffi)
10416 ("trivial-features" ,sbcl-trivial-features)))
10417 (native-inputs
10418 `(("rt" ,sbcl-rt)))
10419 (synopsis "Operating system interface for Common Lisp")
10420 (description
10421 "Osicat is a lightweight operating system interface for Common Lisp on
10422 Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
10423 accompaniment to the standard ANSI facilities.")
10424 (license license:expat))))
10425
10426 (define-public cl-osicat
10427 (sbcl-package->cl-source-package sbcl-osicat))
10428
10429 (define-public ecl-osicat
10430 (sbcl-package->ecl-package sbcl-osicat))
10431
10432 (define-public sbcl-clx-xembed
10433 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
10434 (revision "1"))
10435 (package
10436 (name "sbcl-clx-xembed")
10437 (version (git-version "0.1" revision commit))
10438 (home-page "https://github.com/laynor/clx-xembed")
10439 (source
10440 (origin
10441 (method git-fetch)
10442 (uri (git-reference
10443 (url "https://github.com/laynor/clx-xembed")
10444 (commit commit)))
10445 (file-name (git-file-name name version))
10446 (sha256
10447 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
10448 (build-system asdf-build-system/sbcl)
10449 (arguments
10450 `(#:asd-systems '("xembed")))
10451 (inputs
10452 `(("sbcl-clx" ,sbcl-clx)))
10453 (synopsis "CL(x) xembed protocol implementation ")
10454 (description "CL(x) xembed protocol implementation")
10455 ;; MIT License
10456 (license license:expat))))
10457
10458 (define-public cl-clx-xembed
10459 (sbcl-package->cl-source-package sbcl-clx-xembed))
10460
10461 (define-public ecl-clx-xembed
10462 (sbcl-package->ecl-package sbcl-clx-xembed))
10463
10464 (define-public sbcl-quantile-estimator
10465 (package
10466 (name "sbcl-quantile-estimator")
10467 (version "0.0.1")
10468 (source
10469 (origin
10470 (method git-fetch)
10471 (uri (git-reference
10472 (url "https://github.com/deadtrickster/quantile-estimator.cl")
10473 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
10474 (file-name (git-file-name name version))
10475 (sha256
10476 (base32
10477 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
10478 (build-system asdf-build-system/sbcl)
10479 (arguments
10480 '(#:asd-files '("quantile-estimator.asd")))
10481 (inputs
10482 `(("alexandria" ,sbcl-alexandria)))
10483 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
10484 (synopsis
10485 "Effective computation of biased quantiles over data streams")
10486 (description
10487 "Common Lisp implementation of Graham Cormode and S.
10488 Muthukrishnan's Effective Computation of Biased Quantiles over Data
10489 Streams in ICDE’05.")
10490 (license license:expat)))
10491
10492 (define-public cl-quantile-estimator
10493 (sbcl-package->cl-source-package sbcl-quantile-estimator))
10494
10495 (define-public ecl-quantile-estimator
10496 (sbcl-package->ecl-package sbcl-quantile-estimator))
10497
10498 (define-public sbcl-prometheus
10499 (package
10500 (name "sbcl-prometheus")
10501 (version "0.4.1")
10502 (source
10503 (origin
10504 (method git-fetch)
10505 (uri (git-reference
10506 (url "https://github.com/deadtrickster/prometheus.cl")
10507 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
10508 (file-name (git-file-name name version))
10509 (sha256
10510 (base32
10511 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
10512 (build-system asdf-build-system/sbcl)
10513 (inputs
10514 `(("alexandria" ,sbcl-alexandria)
10515 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10516 ("cffi" ,sbcl-cffi)
10517 ("cl-fad" ,sbcl-cl-fad)
10518 ("cl-ppcre" ,sbcl-cl-ppcre)
10519 ("drakma" ,sbcl-drakma)
10520 ("hunchentoot" ,sbcl-hunchentoot)
10521 ("local-time" ,sbcl-local-time)
10522 ("quantile-estimator" ,sbcl-quantile-estimator)
10523 ("salza2" ,sbcl-salza2)
10524 ("split-sequence" ,sbcl-split-sequence)
10525 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10526 (arguments
10527 '(#:asd-files '("prometheus.asd"
10528 "prometheus.collectors.sbcl.asd"
10529 "prometheus.collectors.process.asd"
10530 "prometheus.formats.text.asd"
10531 "prometheus.exposers.hunchentoot.asd"
10532 "prometheus.pushgateway.asd")
10533 #:asd-systems '("prometheus"
10534 "prometheus.collectors.sbcl"
10535 "prometheus.collectors.process"
10536 "prometheus.formats.text"
10537 "prometheus.exposers.hunchentoot"
10538 "prometheus.pushgateway")))
10539 (home-page "https://github.com/deadtrickster/prometheus.cl")
10540 (synopsis "Prometheus.io Common Lisp client")
10541 (description "Prometheus.io Common Lisp client.")
10542 (license license:expat)))
10543
10544 (define-public cl-prometheus
10545 (sbcl-package->cl-source-package sbcl-prometheus))
10546
10547 (define-public ecl-prometheus
10548 (sbcl-package->ecl-package sbcl-prometheus))
10549
10550 (define-public sbcl-uuid
10551 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
10552 (package
10553 (name "sbcl-uuid")
10554 (version (git-version "2012.12.26" "1" commit))
10555 (source
10556 (origin
10557 (method git-fetch)
10558 (uri (git-reference
10559 (url "https://github.com/dardoria/uuid")
10560 (commit commit)))
10561 (file-name (git-file-name name version))
10562 (sha256
10563 (base32
10564 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
10565 (build-system asdf-build-system/sbcl)
10566 (inputs
10567 `(("ironclad" ,sbcl-ironclad)
10568 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10569 (home-page "https://github.com/dardoria/uuid")
10570 (synopsis
10571 "Common Lisp implementation of UUIDs according to RFC4122")
10572 (description
10573 "Common Lisp implementation of UUIDs according to RFC4122.")
10574 (license license:llgpl))))
10575
10576 (define-public cl-uuid
10577 (sbcl-package->cl-source-package sbcl-uuid))
10578
10579 (define-public ecl-uuid
10580 (sbcl-package->ecl-package sbcl-uuid))
10581
10582 (define-public sbcl-dissect
10583 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
10584 (package
10585 (name "sbcl-dissect")
10586 (version (git-version "1.0.0" "1" commit))
10587 (source
10588 (origin
10589 (method git-fetch)
10590 (uri (git-reference
10591 (url "https://github.com/Shinmera/dissect")
10592 (commit commit)))
10593 (file-name (git-file-name name version))
10594 (sha256
10595 (base32
10596 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
10597 (build-system asdf-build-system/sbcl)
10598 (inputs
10599 `(("cl-ppcre" ,sbcl-cl-ppcre)))
10600 (home-page "https://shinmera.github.io/dissect/")
10601 (synopsis
10602 "Introspection library for the call stack and restarts")
10603 (description
10604 "Dissect is a small Common Lisp library for introspecting the call stack
10605 and active restarts.")
10606 (license license:zlib))))
10607
10608 (define-public cl-dissect
10609 (sbcl-package->cl-source-package sbcl-dissect))
10610
10611 (define-public ecl-dissect
10612 (sbcl-package->ecl-package sbcl-dissect))
10613
10614 (define-public sbcl-rove
10615 (package
10616 (name "sbcl-rove")
10617 (version "0.9.6")
10618 (source
10619 (origin
10620 (method git-fetch)
10621 (uri (git-reference
10622 (url "https://github.com/fukamachi/rove")
10623 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
10624 (file-name (git-file-name name version))
10625 (sha256
10626 (base32
10627 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
10628 (build-system asdf-build-system/sbcl)
10629 (inputs
10630 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10631 ("dissect" ,sbcl-dissect)
10632 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
10633 (home-page "https://github.com/fukamachi/rove")
10634 (synopsis
10635 "Yet another common lisp testing library")
10636 (description
10637 "Rove is a unit testing framework for Common Lisp applications.
10638 This is intended to be a successor of Prove.")
10639 (license license:bsd-3)))
10640
10641 (define-public cl-rove
10642 (sbcl-package->cl-source-package sbcl-rove))
10643
10644 (define-public ecl-rove
10645 (sbcl-package->ecl-package sbcl-rove))
10646
10647 (define-public sbcl-exponential-backoff
10648 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
10649 (package
10650 (name "sbcl-exponential-backoff")
10651 (version (git-version "0" "1" commit))
10652 (source
10653 (origin
10654 (method git-fetch)
10655 (uri (git-reference
10656 (url "https://github.com/death/exponential-backoff")
10657 (commit commit)))
10658 (file-name (git-file-name name version))
10659 (sha256
10660 (base32
10661 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
10662 (build-system asdf-build-system/sbcl)
10663 (home-page "https://github.com/death/exponential-backoff")
10664 (synopsis "Exponential backoff algorithm in Common Lisp")
10665 (description
10666 "An implementation of the exponential backoff algorithm in Common Lisp.
10667 Inspired by the implementation found in Chromium. Read the header file to
10668 learn about each of the parameters.")
10669 (license license:expat))))
10670
10671 (define-public cl-exponential-backoff
10672 (sbcl-package->cl-source-package sbcl-exponential-backoff))
10673
10674 (define-public ecl-exponential-backoff
10675 (sbcl-package->ecl-package sbcl-exponential-backoff))
10676
10677 (define-public sbcl-sxql
10678 (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
10679 (package
10680 (name "sbcl-sxql")
10681 (version (git-version "0.1.0" "1" commit))
10682 (source
10683 (origin
10684 (method git-fetch)
10685 (uri (git-reference
10686 (url "https://github.com/fukamachi/sxql")
10687 (commit commit)))
10688 (file-name (git-file-name name version))
10689 (sha256
10690 (base32
10691 "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
10692 (build-system asdf-build-system/sbcl)
10693 (arguments
10694 `(#:test-asd-file "sxql-test.asd"))
10695 (inputs
10696 `(("alexandria" ,sbcl-alexandria)
10697 ("cl-syntax" ,sbcl-cl-syntax)
10698 ("iterate" ,sbcl-iterate)
10699 ("optima" ,sbcl-optima)
10700 ("split-sequence" ,sbcl-split-sequence)
10701 ("trivial-types" ,sbcl-trivial-types)))
10702 (native-inputs
10703 `(("prove" ,sbcl-prove)))
10704 (home-page "https://github.com/fukamachi/sxql")
10705 (synopsis "SQL generator for Common Lisp")
10706 (description "SQL generator for Common Lisp.")
10707 (license license:bsd-3))))
10708
10709 (define-public cl-sxql
10710 (sbcl-package->cl-source-package sbcl-sxql))
10711
10712 (define-public ecl-sxql
10713 (sbcl-package->ecl-package sbcl-sxql))
10714
10715 (define-public sbcl-1am
10716 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
10717 (package
10718 (name "sbcl-1am")
10719 (version (git-version "0.0" "1" commit))
10720 (source
10721 (origin
10722 (method git-fetch)
10723 (uri (git-reference
10724 (url "https://github.com/lmj/1am")
10725 (commit commit)))
10726 (file-name (git-file-name name version))
10727 (sha256
10728 (base32
10729 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
10730 (build-system asdf-build-system/sbcl)
10731 (arguments
10732 `(#:asd-systems '("1am")))
10733 (home-page "https://github.com/lmj/1am")
10734 (synopsis "Minimal testing framework for Common Lisp")
10735 (description "A minimal testing framework for Common Lisp.")
10736 (license license:expat))))
10737
10738 (define-public cl-1am
10739 (sbcl-package->cl-source-package sbcl-1am))
10740
10741 (define-public ecl-1am
10742 (sbcl-package->ecl-package sbcl-1am))
10743
10744 (define-public sbcl-cl-ascii-table
10745 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
10746 (revision "1"))
10747 (package
10748 (name "sbcl-cl-ascii-table")
10749 (version (git-version "0.0.0" revision commit))
10750 (source
10751 (origin
10752 (method git-fetch)
10753 (uri (git-reference
10754 (url "https://github.com/telephil/cl-ascii-table")
10755 (commit commit)))
10756 (file-name (git-file-name name version))
10757 (sha256
10758 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
10759 (build-system asdf-build-system/sbcl)
10760 (synopsis "Library to make ascii-art tables")
10761 (description
10762 "This is a Common Lisp library to present tabular data in ascii-art
10763 tables.")
10764 (home-page "https://github.com/telephil/cl-ascii-table")
10765 (license license:expat))))
10766
10767 (define-public cl-ascii-table
10768 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
10769
10770 (define-public ecl-cl-ascii-table
10771 (sbcl-package->ecl-package sbcl-cl-ascii-table))
10772
10773 (define-public sbcl-cl-rdkafka
10774 (package
10775 (name "sbcl-cl-rdkafka")
10776 (version "1.1.0")
10777 (source
10778 (origin
10779 (method git-fetch)
10780 (uri (git-reference
10781 (url "https://github.com/SahilKang/cl-rdkafka")
10782 (commit (string-append "v" version))))
10783 (file-name (git-file-name name version))
10784 (sha256
10785 (base32
10786 "0z2g0k0xy8k1p9g93h8dy9wbygaq7ziwagm4yz93zk67mhc0b84v"))))
10787 (build-system asdf-build-system/sbcl)
10788 (arguments
10789 `(#:tests? #f ; Attempts to connect to locally running Kafka
10790 #:phases
10791 (modify-phases %standard-phases
10792 (add-after 'unpack 'fix-paths
10793 (lambda* (#:key inputs #:allow-other-keys)
10794 (substitute* "src/low-level/librdkafka-bindings.lisp"
10795 (("librdkafka" all)
10796 (string-append (assoc-ref inputs "librdkafka") "/lib/"
10797 all))))))))
10798 (inputs
10799 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10800 ("cffi" ,sbcl-cffi)
10801 ("librdkafka" ,librdkafka)
10802 ("lparallel" ,sbcl-lparallel)
10803 ("trivial-garbage" ,sbcl-trivial-garbage)))
10804 (home-page "https://github.com/SahilKang/cl-rdkafka")
10805 (synopsis "Common Lisp client library for Apache Kafka")
10806 (description "A Common Lisp client library for Apache Kafka.")
10807 (license license:gpl3)))
10808
10809 (define-public cl-rdkafka
10810 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
10811
10812 (define-public ecl-cl-rdkafka
10813 (sbcl-package->ecl-package sbcl-cl-rdkafka))
10814
10815 (define-public sbcl-acclimation
10816 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
10817 (package
10818 (name "sbcl-acclimation")
10819 (version (git-version "0.0.0" "1" commit))
10820 (source
10821 (origin
10822 (method git-fetch)
10823 (uri (git-reference
10824 (url "https://github.com/robert-strandh/Acclimation")
10825 (commit commit)))
10826 (file-name (git-file-name name version))
10827 (sha256
10828 (base32
10829 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
10830 (build-system asdf-build-system/sbcl)
10831 (home-page "https://github.com/robert-strandh/Acclimation")
10832 (synopsis "Internationalization library for Common Lisp")
10833 (description "This project is meant to provide tools for
10834 internationalizing Common Lisp programs.
10835
10836 One important aspect of internationalization is of course the language used in
10837 error messages, documentation strings, etc. But with this project we provide
10838 tools for all other aspects of internationalization as well, including dates,
10839 weight, temperature, names of physical quantitites, etc.")
10840 (license license:bsd-2))))
10841
10842 (define-public cl-acclimation
10843 (sbcl-package->cl-source-package sbcl-acclimation))
10844
10845 (define-public ecl-acclimation
10846 (sbcl-package->ecl-package sbcl-acclimation))
10847
10848 (define-public sbcl-clump
10849 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
10850 (package
10851 (name "sbcl-clump")
10852 (version (git-version "0.0.0" "1" commit))
10853 (source
10854 (origin
10855 (method git-fetch)
10856 (uri (git-reference
10857 (url "https://github.com/robert-strandh/Clump")
10858 (commit commit)))
10859 (file-name (git-file-name name version))
10860 (sha256
10861 (base32
10862 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
10863 (inputs
10864 `(("acclimation" ,sbcl-acclimation)))
10865 (build-system asdf-build-system/sbcl)
10866 (home-page "https://github.com/robert-strandh/Clump")
10867 (synopsis "Collection of tree implementations for Common Lisp")
10868 (description "The purpose of this library is to provide a collection of
10869 implementations of trees.
10870
10871 In contrast to existing libraries such as cl-containers, it does not impose a
10872 particular use for the trees. Instead, it aims for a stratified design,
10873 allowing client code to choose between different levels of abstraction.
10874
10875 As a consequence of this policy, low-level interfaces are provided where
10876 the concrete representation is exposed, but also high level interfaces
10877 where the trees can be used as search trees or as trees that represent
10878 sequences of objects.")
10879 (license license:bsd-2))))
10880
10881 (define-public cl-clump
10882 (sbcl-package->cl-source-package sbcl-clump))
10883
10884 (define-public ecl-clump
10885 (sbcl-package->ecl-package sbcl-clump))
10886
10887 (define-public sbcl-cluffer
10888 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
10889 (package
10890 (name "sbcl-cluffer")
10891 (version (git-version "0.0.0" "1" commit))
10892 (source
10893 (origin
10894 (method git-fetch)
10895 (uri (git-reference
10896 (url "https://github.com/robert-strandh/cluffer")
10897 (commit commit)))
10898 (file-name (git-file-name name version))
10899 (sha256
10900 (base32
10901 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
10902 (build-system asdf-build-system/sbcl)
10903 (inputs
10904 `(("acclimation" ,sbcl-acclimation)
10905 ("clump" ,sbcl-clump)))
10906 (home-page "https://github.com/robert-strandh/cluffer")
10907 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
10908 (description "Cluffer is a library for representing the buffer of a text
10909 editor. As such, it defines a set of CLOS protocols for client code to
10910 interact with the buffer contents in various ways, and it supplies different
10911 implementations of those protocols for different purposes.")
10912 (license license:bsd-2))))
10913
10914 (define-public cl-cluffer
10915 (sbcl-package->cl-source-package sbcl-cluffer))
10916
10917 (define-public ecl-cluffer
10918 (sbcl-package->ecl-package sbcl-cluffer))
10919
10920 (define-public sbcl-cl-libsvm-format
10921 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
10922 (revision "0"))
10923 (package
10924 (name "sbcl-cl-libsvm-format")
10925 (version (git-version "0.1.0" revision commit))
10926 (source
10927 (origin
10928 (method git-fetch)
10929 (uri (git-reference
10930 (url "https://github.com/masatoi/cl-libsvm-format")
10931 (commit commit)))
10932 (file-name (git-file-name name version))
10933 (sha256
10934 (base32
10935 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
10936 (build-system asdf-build-system/sbcl)
10937 (native-inputs
10938 `(("prove" ,sbcl-prove)))
10939 (inputs
10940 `(("alexandria" ,sbcl-alexandria)))
10941 (synopsis "LibSVM data format reader for Common Lisp")
10942 (description
10943 "This Common Lisp library provides a fast reader for data in LibSVM
10944 format.")
10945 (home-page "https://github.com/masatoi/cl-libsvm-format")
10946 (license license:expat))))
10947
10948 (define-public cl-libsvm-format
10949 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
10950
10951 (define-public ecl-cl-libsvm-format
10952 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
10953
10954 (define-public sbcl-cl-online-learning
10955 (let ((commit "87fbef8a340219e853adb3a5bf44a0470da76964")
10956 (revision "1"))
10957 (package
10958 (name "sbcl-cl-online-learning")
10959 (version (git-version "0.5" revision commit))
10960 (source
10961 (origin
10962 (method git-fetch)
10963 (uri (git-reference
10964 (url "https://github.com/masatoi/cl-online-learning")
10965 (commit commit)))
10966 (file-name (git-file-name "cl-online-learning" version))
10967 (sha256
10968 (base32
10969 "1lfq04lnxivx59nq5dd02glyqsqzf3vdn4s9b8wnaln5fs8g2ph9"))))
10970 (build-system asdf-build-system/sbcl)
10971 (native-inputs
10972 `(("prove" ,sbcl-prove)))
10973 (inputs
10974 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
10975 ("cl-store" ,sbcl-cl-store)))
10976 (arguments
10977 `(#:test-asd-file "cl-online-learning-test.asd"
10978 #:asd-systems '("cl-online-learning-test"
10979 "cl-online-learning")))
10980 (home-page "https://github.com/masatoi/cl-online-learning")
10981 (synopsis "Online Machine Learning for Common Lisp")
10982 (description
10983 "This library contains a collection of machine learning algorithms for
10984 online linear classification written in Common Lisp.")
10985 (license license:expat))))
10986
10987 (define-public cl-online-learning
10988 (sbcl-package->cl-source-package sbcl-cl-online-learning))
10989
10990 (define-public ecl-cl-online-learning
10991 (sbcl-package->ecl-package sbcl-cl-online-learning))
10992
10993 (define-public sbcl-cl-mpg123
10994 (let ((commit "5f042c839d2ea4a2ff2a7b60c839d8633d64161d")
10995 (revision "1"))
10996 (package
10997 (name "sbcl-cl-mpg123")
10998 (version (git-version "1.0.0" revision commit))
10999 (source
11000 (origin
11001 (method git-fetch)
11002 (uri (git-reference
11003 (url "https://github.com/Shirakumo/cl-mpg123")
11004 (commit commit)))
11005 (file-name (git-file-name "cl-mpg123" version))
11006 (sha256
11007 (base32 "1hl721xaczxck008ax2y3jpkm509ry1sg3lklh2k76764m3ndrjf"))
11008 (modules '((guix build utils)))
11009 (snippet
11010 '(begin
11011 ;; Remove bundled pre-compiled libraries.
11012 (delete-file-recursively "static")
11013 #t))))
11014 (build-system asdf-build-system/sbcl)
11015 (arguments
11016 `(#:asd-files '("cl-mpg123.asd" "cl-mpg123-example.asd")
11017 #:asd-systems '("cl-mpg123" "cl-mpg123-example")
11018 #:phases
11019 (modify-phases %standard-phases
11020 (add-after 'unpack 'fix-paths
11021 (lambda* (#:key inputs #:allow-other-keys)
11022 (substitute* "low-level.lisp"
11023 (("libmpg123.so" all)
11024 (string-append (assoc-ref inputs "libmpg123")
11025 "/lib/" all))))))))
11026 (inputs
11027 `(("cffi" ,sbcl-cffi)
11028 ("cl-out123" ,sbcl-cl-out123)
11029 ("documentation-utils" ,sbcl-documentation-utils)
11030 ("libmpg123" ,mpg123)
11031 ("trivial-features" ,sbcl-trivial-features)
11032 ("trivial-garbage" ,sbcl-trivial-garbage)
11033 ("verbose" ,sbcl-verbose)))
11034 (home-page "https://shirakumo.github.io/cl-mpg123/")
11035 (synopsis "Common Lisp bindings to libmpg123")
11036 (description
11037 "This is a bindings and wrapper library to @code{libmpg123} allowing for
11038 convenient, extensive, and fast decoding of MPEG1/2/3 (most prominently mp3)
11039 files.")
11040 (license license:zlib))))
11041
11042 (define-public ecl-cl-mpg123
11043 (sbcl-package->ecl-package sbcl-cl-mpg123))
11044
11045 (define-public cl-mpg123
11046 (sbcl-package->cl-source-package sbcl-cl-mpg123))
11047
11048 (define-public sbcl-cl-out123
11049 (let ((commit "6b58d3f8c2a28ad09059ac4c60fb3c781b9b421b")
11050 (revision "1"))
11051 (package
11052 (name "sbcl-cl-out123")
11053 (version (git-version "1.0.0" revision commit))
11054 (source
11055 (origin
11056 (method git-fetch)
11057 (uri (git-reference
11058 (url "https://github.com/Shirakumo/cl-out123")
11059 (commit commit)))
11060 (file-name (git-file-name "cl-out123" version))
11061 (sha256
11062 (base32 "0mdwgfax6sq68wvdgjjp78i40ah7wqkpqnvaq8a1c509k7ghdgv1"))
11063 (modules '((guix build utils)))
11064 (snippet
11065 '(begin
11066 ;; Remove bundled pre-compiled libraries.
11067 (delete-file-recursively "static")
11068 #t))))
11069 (build-system asdf-build-system/sbcl)
11070 (arguments
11071 `(#:phases
11072 (modify-phases %standard-phases
11073 (add-after 'unpack 'fix-paths
11074 (lambda* (#:key inputs #:allow-other-keys)
11075 (substitute* "low-level.lisp"
11076 (("libout123.so" all)
11077 (string-append (assoc-ref inputs "libout123")
11078 "/lib/" all)))))
11079 ;; NOTE: (Sharlatan-20210129T134529+0000): ECL package `ext' has no
11080 ;; exported macro `without-interrupts' it's moved to `mp' package
11081 ;; https://github.com/Shirakumo/cl-out123/issues/2
11082 ;; https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/src/lsp/mp.lsp
11083 (add-after 'unpack 'fix-ecl-package-name
11084 (lambda _
11085 (substitute* "wrapper.lisp"
11086 (("ext:without-interrupts.*") "mp:without-interrupts\n"))
11087 #t)))))
11088 (inputs
11089 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11090 ("cffi" ,sbcl-cffi)
11091 ("documentation-utils" ,sbcl-documentation-utils)
11092 ("libout123" ,mpg123)
11093 ("trivial-features" ,sbcl-trivial-features)
11094 ("trivial-garbage" ,sbcl-trivial-garbage)))
11095 (home-page "https://shirakumo.github.io/cl-out123/")
11096 (synopsis "Common Lisp bindings to libout123")
11097 (description
11098 "This is a bindings library to @code{libout123} which allows easy
11099 cross-platform audio playback.")
11100 (license license:zlib))))
11101
11102 (define-public ecl-cl-out123
11103 (sbcl-package->ecl-package sbcl-cl-out123))
11104
11105 (define-public cl-out123
11106 (sbcl-package->cl-source-package sbcl-cl-out123))
11107
11108 (define-public sbcl-cl-random-forest
11109 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
11110 (revision "1"))
11111 (package
11112 (name "sbcl-cl-random-forest")
11113 (version (git-version "0.1" revision commit))
11114 (source
11115 (origin
11116 (method git-fetch)
11117 (uri (git-reference
11118 (url "https://github.com/masatoi/cl-random-forest")
11119 (commit commit)))
11120 (file-name (git-file-name name version))
11121 (sha256
11122 (base32
11123 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
11124 (build-system asdf-build-system/sbcl)
11125 (native-inputs
11126 `(("prove" ,sbcl-prove)
11127 ("trivial-garbage" ,sbcl-trivial-garbage)))
11128 (inputs
11129 `(("alexandria" ,sbcl-alexandria)
11130 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11131 ("cl-online-learning" ,sbcl-cl-online-learning)
11132 ("lparallel" ,sbcl-lparallel)))
11133 (arguments
11134 `(#:tests? #f)) ; The tests download data from the Internet
11135 (synopsis "Random Forest and Global Refinement for Common Lisp")
11136 (description
11137 "CL-random-forest is an implementation of Random Forest for multiclass
11138 classification and univariate regression written in Common Lisp. It also
11139 includes an implementation of Global Refinement of Random Forest.")
11140 (home-page "https://github.com/masatoi/cl-random-forest")
11141 (license license:expat))))
11142
11143 (define-public cl-random-forest
11144 (sbcl-package->cl-source-package sbcl-cl-random-forest))
11145
11146 (define-public ecl-cl-random-forest
11147 (sbcl-package->ecl-package sbcl-cl-random-forest))
11148
11149 (define-public sbcl-bordeaux-fft
11150 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
11151 (revision "0"))
11152 (package
11153 (name "sbcl-bordeaux-fft")
11154 (version (git-version "1.0.1" revision commit))
11155 (source
11156 (origin
11157 (method git-fetch)
11158 (uri (git-reference
11159 (url "https://github.com/ahefner/bordeaux-fft")
11160 (commit commit)))
11161 (file-name (git-file-name name version))
11162 (sha256
11163 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
11164 (build-system asdf-build-system/sbcl)
11165 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
11166 (synopsis "Fast Fourier Transform for Common Lisp")
11167 (description
11168 "The Bordeaux-FFT library provides a reasonably efficient implementation
11169 of the Fast Fourier Transform and its inverse for complex-valued inputs, in
11170 portable Common Lisp.")
11171 (license license:gpl2+))))
11172
11173 (define-public cl-bordeaux-fft
11174 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
11175
11176 (define-public ecl-bordeaux-fft
11177 (sbcl-package->ecl-package sbcl-bordeaux-fft))
11178
11179 (define-public sbcl-napa-fft3
11180 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
11181 (revision "0"))
11182 (package
11183 (name "sbcl-napa-fft3")
11184 (version (git-version "0.0.1" revision commit))
11185 (source
11186 (origin
11187 (method git-fetch)
11188 (uri (git-reference
11189 (url "https://github.com/pkhuong/Napa-FFT3")
11190 (commit commit)))
11191 (file-name (git-file-name name version))
11192 (sha256
11193 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
11194 (build-system asdf-build-system/sbcl)
11195 (home-page "https://github.com/pkhuong/Napa-FFT3")
11196 (synopsis "Fast Fourier Transform routines in Common Lisp")
11197 (description
11198 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
11199 buildings blocks to express common operations that involve DFTs: filtering,
11200 convolutions, etc.")
11201 (license license:bsd-3))))
11202
11203 (define-public cl-napa-fft3
11204 (sbcl-package->cl-source-package sbcl-napa-fft3))
11205
11206 (define-public sbcl-cl-tga
11207 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
11208 (revision "0"))
11209 (package
11210 (name "sbcl-cl-tga")
11211 (version (git-version "0.0.0" revision commit))
11212 (source
11213 (origin
11214 (method git-fetch)
11215 (uri (git-reference
11216 (url "https://github.com/fisxoj/cl-tga")
11217 (commit commit)))
11218 (file-name (git-file-name name version))
11219 (sha256
11220 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
11221 (build-system asdf-build-system/sbcl)
11222 (home-page "https://github.com/fisxoj/cl-tga")
11223 (synopsis "TGA file loader for Common Lisp")
11224 (description
11225 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
11226 programs. It's a very simple library, and, at the moment, only supports
11227 non-RLE encoded forms of the files.")
11228 (license license:expat))))
11229
11230 (define-public cl-tga
11231 (sbcl-package->cl-source-package sbcl-cl-tga))
11232
11233 (define-public ecl-cl-tga
11234 (sbcl-package->ecl-package sbcl-cl-tga))
11235
11236 (define-public sbcl-com.gigamonkeys.binary-data
11237 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
11238 (revision "0"))
11239 (package
11240 (name "sbcl-com.gigamonkeys.binary-data")
11241 (version (git-version "0.0.0" revision commit))
11242 (source
11243 (origin
11244 (method git-fetch)
11245 (uri (git-reference
11246 (url "https://github.com/gigamonkey/monkeylib-binary-data")
11247 (commit commit)))
11248 (file-name (git-file-name name version))
11249 (sha256
11250 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
11251 (build-system asdf-build-system/sbcl)
11252 (inputs
11253 `(("alexandria" ,sbcl-alexandria)))
11254 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
11255 (synopsis "Common Lisp library for reading and writing binary data")
11256 (description
11257 "This a Common Lisp library for reading and writing binary data. It is
11258 based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
11259 (license license:bsd-3))))
11260
11261 (define-public cl-com.gigamonkeys.binary-data
11262 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
11263
11264 (define-public ecl-com.gigamonkeys.binary-data
11265 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
11266
11267 (define-public sbcl-deflate
11268 (package
11269 (name "sbcl-deflate")
11270 (version "1.0.3")
11271 (source
11272 (origin
11273 (method git-fetch)
11274 (uri (git-reference
11275 (url "https://github.com/pmai/Deflate")
11276 (commit (string-append "release-" version))))
11277 (file-name (git-file-name name version))
11278 (sha256
11279 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
11280 (build-system asdf-build-system/sbcl)
11281 (home-page "https://github.com/pmai/Deflate")
11282 (synopsis "Native deflate decompression for Common Lisp")
11283 (description
11284 "This library is an implementation of Deflate (RFC 1951) decompression,
11285 with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
11286 wrappers of deflate streams. It currently does not handle compression.")
11287 (license license:expat)))
11288
11289 (define-public cl-deflate
11290 (sbcl-package->cl-source-package sbcl-deflate))
11291
11292 (define-public ecl-deflate
11293 (sbcl-package->ecl-package sbcl-deflate))
11294
11295 (define-public sbcl-skippy
11296 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
11297 (revision "0"))
11298 (package
11299 (name "sbcl-skippy")
11300 (version (git-version "1.3.12" revision commit))
11301 (source
11302 (origin
11303 (method git-fetch)
11304 (uri (git-reference
11305 (url "https://github.com/xach/skippy")
11306 (commit commit)))
11307 (file-name (git-file-name name version))
11308 (sha256
11309 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
11310 (build-system asdf-build-system/sbcl)
11311 (home-page "https://xach.com/lisp/skippy/")
11312 (synopsis "Common Lisp library for GIF images")
11313 (description
11314 "Skippy is a Common Lisp library to read and write GIF image files.")
11315 (license license:bsd-2))))
11316
11317 (define-public cl-skippy
11318 (sbcl-package->cl-source-package sbcl-skippy))
11319
11320 (define-public ecl-skippy
11321 (sbcl-package->ecl-package sbcl-skippy))
11322
11323 (define-public sbcl-cl-freetype2
11324 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
11325 (revision "0"))
11326 (package
11327 (name "sbcl-cl-freetype2")
11328 (version (git-version "1.1" revision commit))
11329 (source
11330 (origin
11331 (method git-fetch)
11332 (uri (git-reference
11333 (url "https://github.com/rpav/cl-freetype2")
11334 (commit commit)))
11335 (file-name (git-file-name name version))
11336 (sha256
11337 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
11338 (build-system asdf-build-system/sbcl)
11339 (native-inputs
11340 `(("fiveam" ,sbcl-fiveam)))
11341 (inputs
11342 `(("alexandria" ,sbcl-alexandria)
11343 ("cffi" ,sbcl-cffi)
11344 ("freetype" ,freetype)
11345 ("trivial-garbage" ,sbcl-trivial-garbage)))
11346 (arguments
11347 `(#:phases
11348 (modify-phases %standard-phases
11349 (add-after 'unpack 'fix-paths
11350 (lambda* (#:key inputs #:allow-other-keys)
11351 (substitute* "src/ffi/ft2-lib.lisp"
11352 (("\"libfreetype\"")
11353 (string-append "\"" (assoc-ref inputs "freetype")
11354 "/lib/libfreetype\"")))
11355 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
11356 (("-I/usr/include/freetype")
11357 (string-append "-I" (assoc-ref inputs "freetype")
11358 "/include/freetype")))
11359 #t)))))
11360 (home-page "https://github.com/rpav/cl-freetype2")
11361 (synopsis "Common Lisp bindings for Freetype 2")
11362 (description
11363 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
11364 geared toward both using Freetype directly by providing a simplified API, as
11365 well as providing access to the underlying C structures and functions for use
11366 with other libraries which may also use Freetype.")
11367 (license license:bsd-3))))
11368
11369 (define-public cl-freetype2
11370 (sbcl-package->cl-source-package sbcl-cl-freetype2))
11371
11372 (define-public ecl-cl-freetype2
11373 (sbcl-package->ecl-package sbcl-cl-freetype2))
11374
11375 (define-public sbcl-opticl-core
11376 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
11377 (revision "0"))
11378 (package
11379 (name "sbcl-opticl-core")
11380 (version (git-version "0.0.0" revision commit))
11381 (source
11382 (origin
11383 (method git-fetch)
11384 (uri (git-reference
11385 (url "https://github.com/slyrus/opticl-core")
11386 (commit commit)))
11387 (file-name (git-file-name name version))
11388 (sha256
11389 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
11390 (build-system asdf-build-system/sbcl)
11391 (inputs
11392 `(("alexandria" ,sbcl-alexandria)))
11393 (home-page "https://github.com/slyrus/opticl-core")
11394 (synopsis "Core classes and pixel access macros for Opticl")
11395 (description
11396 "This Common Lisp library contains the core classes and pixel access
11397 macros for the Opticl image processing library.")
11398 (license license:bsd-2))))
11399
11400 (define-public cl-opticl-core
11401 (sbcl-package->cl-source-package sbcl-opticl-core))
11402
11403 (define-public ecl-opticl-core
11404 (sbcl-package->ecl-package sbcl-opticl-core))
11405
11406 (define-public sbcl-retrospectiff
11407 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
11408 (revision "0"))
11409 (package
11410 (name "sbcl-retrospectiff")
11411 (version (git-version "0.2" revision commit))
11412 (source
11413 (origin
11414 (method git-fetch)
11415 (uri (git-reference
11416 (url "https://github.com/slyrus/retrospectiff")
11417 (commit commit)))
11418 (file-name (git-file-name name version))
11419 (sha256
11420 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
11421 (build-system asdf-build-system/sbcl)
11422 (native-inputs
11423 `(("fiveam" ,sbcl-fiveam)))
11424 (inputs
11425 `(("cl-jpeg" ,sbcl-cl-jpeg)
11426 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
11427 ("deflate" ,sbcl-deflate)
11428 ("flexi-streams" ,sbcl-flexi-streams)
11429 ("ieee-floats" ,sbcl-ieee-floats)
11430 ("opticl-core" ,sbcl-opticl-core)))
11431 (home-page "https://github.com/slyrus/retrospectiff")
11432 (synopsis "Common Lisp library for TIFF images")
11433 (description
11434 "Retrospectiff is a common lisp library for reading and writing images
11435 in the TIFF (Tagged Image File Format) format.")
11436 (license license:bsd-2))))
11437
11438 (define-public cl-retrospectif
11439 (sbcl-package->cl-source-package sbcl-retrospectiff))
11440
11441 (define-public ecl-retrospectiff
11442 (sbcl-package->ecl-package sbcl-retrospectiff))
11443
11444 (define-public sbcl-mmap
11445 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
11446 (revision "0"))
11447 (package
11448 (name "sbcl-mmap")
11449 (version (git-version "1.0.0" revision commit))
11450 (source
11451 (origin
11452 (method git-fetch)
11453 (uri (git-reference
11454 (url "https://github.com/Shinmera/mmap")
11455 (commit commit)))
11456 (file-name (git-file-name name version))
11457 (sha256
11458 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
11459 (build-system asdf-build-system/sbcl)
11460 (native-inputs
11461 `(("alexandria" ,sbcl-alexandria)
11462 ("cffi" ,sbcl-cffi)
11463 ("parachute" ,sbcl-parachute)
11464 ("trivial-features" ,sbcl-trivial-features)))
11465 (inputs
11466 `(("cffi" ,sbcl-cffi)
11467 ("documentation-utils" ,sbcl-documentation-utils)))
11468 (home-page "https://shinmera.github.io/mmap/")
11469 (synopsis "File memory mapping for Common Lisp")
11470 (description
11471 "This is a utility library providing access to the @emph{mmap} family of
11472 functions in a portable way. It allows you to directly map a file into the
11473 address space of your process without having to manually read it into memory
11474 sequentially. Typically this is much more efficient for files that are larger
11475 than a few Kb.")
11476 (license license:zlib))))
11477
11478 (define-public cl-mmap
11479 (sbcl-package->cl-source-package sbcl-mmap))
11480
11481 (define-public ecl-mmap
11482 (sbcl-package->ecl-package sbcl-mmap))
11483
11484 (define-public sbcl-3bz
11485 (let ((commit "569614c40408f3aefc77ba233e0e4bd66d3850ad")
11486 (revision "1"))
11487 (package
11488 (name "sbcl-3bz")
11489 (version (git-version "0.0.0" revision commit))
11490 (source
11491 (origin
11492 (method git-fetch)
11493 (uri (git-reference
11494 (url "https://github.com/3b/3bz")
11495 (commit commit)))
11496 (file-name (git-file-name name version))
11497 (sha256
11498 (base32 "0kvvlvf50jhhw1s510f3clpr1a68632bq6d698yxcrx722igcrg4"))))
11499 (build-system asdf-build-system/sbcl)
11500 (inputs
11501 `(("alexandria" ,sbcl-alexandria)
11502 ("babel" ,sbcl-babel)
11503 ("cffi" ,sbcl-cffi)
11504 ("mmap" ,sbcl-mmap)
11505 ("nibbles" ,sbcl-nibbles)
11506 ("trivial-features" ,sbcl-trivial-features)))
11507 (arguments
11508 ;; FIXME: #41437 - Build fails when package name starts from a digit
11509 `(#:asd-systems '("3bz")))
11510 (home-page "https://github.com/3b/3bz")
11511 (synopsis "Deflate decompression for Common Lisp")
11512 (description
11513 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
11514 with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
11515 foreign pointers (for use with mmap and similar, etc), and from CL octet
11516 vectors and streams.")
11517 (license license:expat))))
11518
11519 (define-public cl-3bz
11520 (sbcl-package->cl-source-package sbcl-3bz))
11521
11522 (define-public ecl-3bz
11523 (sbcl-package->ecl-package sbcl-3bz))
11524
11525 (define-public sbcl-zpb-exif
11526 (package
11527 (name "sbcl-zpb-exif")
11528 (version "1.2.4")
11529 (source
11530 (origin
11531 (method git-fetch)
11532 (uri (git-reference
11533 (url "https://github.com/xach/zpb-exif")
11534 (commit (string-append "release-" version))))
11535 (file-name (git-file-name name version))
11536 (sha256
11537 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
11538 (build-system asdf-build-system/sbcl)
11539 (home-page "https://xach.com/lisp/zpb-exif/")
11540 (synopsis "EXIF information extractor for Common Lisp")
11541 (description
11542 "This is a Common Lisp library to extract EXIF information from image
11543 files.")
11544 (license license:bsd-2)))
11545
11546 (define-public cl-zpb-exif
11547 (sbcl-package->cl-source-package sbcl-zpb-exif))
11548
11549 (define-public ecl-zpb-exif
11550 (sbcl-package->ecl-package sbcl-zpb-exif))
11551
11552 (define-public sbcl-pngload
11553 (let ((commit "91f1d703c65bb6a94d6fee06ddbbbbbc5778b71f")
11554 (revision "2"))
11555 (package
11556 (name "sbcl-pngload")
11557 (version (git-version "2.0.0" revision commit))
11558 (source
11559 (origin
11560 (method git-fetch)
11561 (uri (git-reference
11562 (url "https://git.mfiano.net/mfiano/pngload.git")
11563 (commit commit)))
11564 (file-name (git-file-name "pngload" version))
11565 (sha256
11566 (base32 "0s94fdbrbqj12qvgyn2g4lfwvz7qhhzbclrpz5ni7adwxgrmvxl1"))))
11567 (build-system asdf-build-system/sbcl)
11568 (inputs
11569 `(("3bz" ,sbcl-3bz)
11570 ("alexandria" ,sbcl-alexandria)
11571 ("cffi" ,sbcl-cffi)
11572 ("mmap" ,sbcl-mmap)
11573 ("parse-float" ,sbcl-parse-float)
11574 ("static-vectors" ,sbcl-static-vectors)
11575 ("swap-bytes" ,sbcl-swap-bytes)
11576 ("zpb-exif" ,sbcl-zpb-exif)))
11577 (arguments
11578 ;; Test suite disabled because of a dependency cycle.
11579 ;; pngload tests depend on opticl which depends on pngload.
11580 '(#:tests? #f))
11581 (home-page "https://git.mfiano.net/mfiano/pngload.git")
11582 (synopsis "PNG image decoder for Common Lisp")
11583 (description
11584 "This is a Common Lisp library to load images in the PNG image format,
11585 both from files on disk, or streams in memory.")
11586 (license license:expat))))
11587
11588 (define-public cl-pngload
11589 (sbcl-package->cl-source-package sbcl-pngload))
11590
11591 (define-public ecl-pngload
11592 (sbcl-package->ecl-package sbcl-pngload))
11593
11594 (define-public sbcl-opticl
11595 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
11596 (revision "0"))
11597 (package
11598 (name "sbcl-opticl")
11599 (version (git-version "0.0.0" revision commit))
11600 (source
11601 (origin
11602 (method git-fetch)
11603 (uri (git-reference
11604 (url "https://github.com/slyrus/opticl")
11605 (commit commit)))
11606 (file-name (git-file-name name version))
11607 (sha256
11608 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
11609 (build-system asdf-build-system/sbcl)
11610 (native-inputs
11611 `(("fiveam" ,sbcl-fiveam)))
11612 (inputs
11613 `(("alexandria" ,sbcl-alexandria)
11614 ("cl-jpeg" ,sbcl-cl-jpeg)
11615 ("cl-tga" ,sbcl-cl-tga)
11616 ("png-read" ,sbcl-png-read)
11617 ("pngload" ,sbcl-pngload)
11618 ("retrospectiff" ,sbcl-retrospectiff)
11619 ("skippy" ,sbcl-skippy)
11620 ("zpng" ,sbcl-zpng)))
11621 (arguments
11622 '(#:asd-files '("opticl.asd")))
11623 (home-page "https://github.com/slyrus/opticl")
11624 (synopsis "Image processing library for Common Lisp")
11625 (description
11626 "Opticl is a Common Lisp library for representing, processing, loading,
11627 and saving 2-dimensional pixel-based images.")
11628 (license license:bsd-2))))
11629
11630 (define-public cl-opticl
11631 (sbcl-package->cl-source-package sbcl-opticl))
11632
11633 (define-public ecl-opticl
11634 (sbcl-package->ecl-package sbcl-opticl))
11635
11636 (define-public sbcl-mcclim
11637 (let ((commit "04cc542dd4b461b9d56406e40681d1a8f080730f")
11638 (revision "1"))
11639 (package
11640 (name "sbcl-mcclim")
11641 (version (git-version "0.9.7" revision commit))
11642 (source
11643 (origin
11644 (method git-fetch)
11645 (uri (git-reference
11646 (url "https://github.com/mcclim/mcclim")
11647 (commit commit)))
11648 (file-name (git-file-name name version))
11649 (sha256
11650 (base32 "1xjly8i62z72hfhlnz5kjd9i8xhrwckc7avyizxvhih67pkjmsx0"))))
11651 (build-system asdf-build-system/sbcl)
11652 (native-inputs
11653 `(("fiveam" ,sbcl-fiveam)
11654 ("pkg-config" ,pkg-config)))
11655 (inputs
11656 `(("alexandria" ,sbcl-alexandria)
11657 ("babel" ,sbcl-babel)
11658 ("bordeaux-threads" ,sbcl-bordeaux-threads)
11659 ("cl-freetype2" ,sbcl-cl-freetype2)
11660 ("cl-pdf" ,sbcl-cl-pdf)
11661 ("cffi" ,sbcl-cffi)
11662 ("cl-unicode" ,sbcl-cl-unicode)
11663 ("cl-vectors" ,sbcl-cl-vectors)
11664 ("closer-mop" ,sbcl-closer-mop)
11665 ("clx" ,sbcl-clx)
11666 ("flexi-streams" ,sbcl-flexi-streams)
11667 ("flexichain" ,sbcl-flexichain)
11668 ("font-dejavu" ,font-dejavu)
11669 ("fontconfig" ,fontconfig)
11670 ("freetype" ,freetype)
11671 ("harfbuzz" ,harfbuzz)
11672 ("log4cl" ,sbcl-log4cl)
11673 ("opticl" ,sbcl-opticl)
11674 ("spatial-trees" ,sbcl-spatial-trees)
11675 ("swank" ,sbcl-slime-swank)
11676 ("trivial-features" ,sbcl-trivial-features)
11677 ("trivial-garbage" ,sbcl-trivial-garbage)
11678 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
11679 ("zpb-ttf" ,sbcl-zpb-ttf)))
11680 (arguments
11681 '(#:asd-systems '("mcclim"
11682 "clim-examples")
11683 #:phases
11684 (modify-phases %standard-phases
11685 (add-after 'unpack 'fix-paths
11686 (lambda* (#:key inputs #:allow-other-keys)
11687 ;; mcclim-truetype uses DejaVu as default font and
11688 ;; sets the path at build time.
11689 (substitute* "Extensions/fonts/fontconfig.lisp"
11690 (("/usr/share/fonts/truetype/dejavu/")
11691 (string-append (assoc-ref inputs "font-dejavu")
11692 "/share/fonts/truetype/")))
11693 (substitute* "Extensions/fontconfig/src/functions.lisp"
11694 (("libfontconfig\\.so")
11695 (string-append (assoc-ref inputs "fontconfig")
11696 "/lib/libfontconfig.so")))
11697 (substitute* "Extensions/harfbuzz/src/functions.lisp"
11698 (("libharfbuzz\\.so")
11699 (string-append (assoc-ref inputs "harfbuzz")
11700 "/lib/libharfbuzz.so")))
11701 #t))
11702 (add-after 'unpack 'fix-build
11703 (lambda _
11704 ;; The cffi-grovel system does not get loaded automatically,
11705 ;; so we load it explicitly.
11706 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
11707 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
11708 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
11709 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
11710 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
11711 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
11712 #t)))))
11713 (home-page "https://common-lisp.net/project/mcclim/")
11714 (synopsis "Common Lisp GUI toolkit")
11715 (description
11716 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
11717 specification}, a toolkit for writing GUIs in Common Lisp.")
11718 (license license:lgpl2.1+))))
11719
11720 (define-public cl-mcclim
11721 (sbcl-package->cl-source-package sbcl-mcclim))
11722
11723 (define-public ecl-mcclim
11724 (sbcl-package->ecl-package sbcl-mcclim))
11725
11726 (define-public sbcl-cl-inflector
11727 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
11728 (revision "1"))
11729 (package
11730 (name "sbcl-cl-inflector")
11731 (version (git-version "0.2" revision commit))
11732 (source
11733 (origin
11734 (method git-fetch)
11735 (uri (git-reference
11736 (url "https://github.com/AccelerationNet/cl-inflector")
11737 (commit commit)))
11738 (file-name (git-file-name name version))
11739 (sha256
11740 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
11741 (build-system asdf-build-system/sbcl)
11742 (native-inputs
11743 `(("lisp-unit2" ,sbcl-lisp-unit2)))
11744 (inputs
11745 `(("alexandria" ,sbcl-alexandria)
11746 ("cl-ppcre" ,sbcl-cl-ppcre)))
11747 (home-page "https://github.com/AccelerationNet/cl-inflector")
11748 (synopsis "Library to pluralize/singularize English and Portuguese words")
11749 (description
11750 "This is a common lisp library to easily pluralize and singularize
11751 English and Portuguese words. This is a port of the ruby ActiveSupport
11752 Inflector module.")
11753 (license license:expat))))
11754
11755 (define-public cl-inflector
11756 (sbcl-package->cl-source-package sbcl-cl-inflector))
11757
11758 (define-public ecl-cl-inflector
11759 (sbcl-package->ecl-package sbcl-cl-inflector))
11760
11761 (define-public sbcl-ixf
11762 (let ((commit "ed26f87e4127e4a9e3aac4ff1e60d1f39cca5183")
11763 (revision "1"))
11764 (package
11765 (name "sbcl-ixf")
11766 (version (git-version "0.1.0" revision commit))
11767 (source
11768 (origin
11769 (method git-fetch)
11770 (uri (git-reference
11771 (url "https://github.com/dimitri/cl-ixf")
11772 (commit commit)))
11773 (file-name (git-file-name "cl-ixf" version))
11774 (sha256
11775 (base32 "1wjdnf4vr9z7lcfc49kl43g6l2i23q9n81siy494k17d766cdvqa"))))
11776 (build-system asdf-build-system/sbcl)
11777 (inputs
11778 `(("alexandria" ,sbcl-alexandria)
11779 ("babel" ,sbcl-babel)
11780 ("cl-ppcre" ,sbcl-cl-ppcre)
11781 ("ieee-floats" ,sbcl-ieee-floats)
11782 ("local-time" ,sbcl-local-time)
11783 ("md5" ,sbcl-md5)
11784 ("split-sequence" ,sbcl-split-sequence)))
11785 (home-page "https://github.com/dimitri/cl-ixf")
11786 (synopsis "Parse IBM IXF file format")
11787 (description
11788 "This is a Common Lisp library to handle the IBM PC version of the IXF
11789 (Integration Exchange Format) file format.")
11790 (license license:public-domain))))
11791
11792 (define-public ecl-ixf
11793 (sbcl-package->ecl-package sbcl-ixf))
11794
11795 (define-public cl-ixf
11796 (sbcl-package->cl-source-package sbcl-ixf))
11797
11798 (define-public sbcl-qbase64
11799 (package
11800 (name "sbcl-qbase64")
11801 (version "0.3.0")
11802 (source
11803 (origin
11804 (method git-fetch)
11805 (uri (git-reference
11806 (url "https://github.com/chaitanyagupta/qbase64")
11807 (commit version)))
11808 (file-name (git-file-name name version))
11809 (sha256
11810 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
11811 (build-system asdf-build-system/sbcl)
11812 (inputs
11813 `(("metabang-bind" ,sbcl-metabang-bind)
11814 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
11815 (native-inputs
11816 `(("fiveam" ,sbcl-fiveam)))
11817 (home-page "https://github.com/chaitanyagupta/qbase64")
11818 (synopsis "Base64 encoder and decoder for Common Lisp")
11819 (description "@code{qbase64} provides a fast and flexible base64 encoder
11820 and decoder for Common Lisp.")
11821 (license license:bsd-3)))
11822
11823 (define-public cl-qbase64
11824 (sbcl-package->cl-source-package sbcl-qbase64))
11825
11826 (define-public ecl-qbase64
11827 (sbcl-package->ecl-package sbcl-qbase64))
11828
11829 (define-public sbcl-lw-compat
11830 ;; No release since 2013.
11831 (let ((commit "aabfe28c6c1a4949f9d7b3cb30319367c9fd1c0d"))
11832 (package
11833 (name "sbcl-lw-compat")
11834 (version (git-version "1.0.0" "1" commit))
11835 (source
11836 (origin
11837 (method git-fetch)
11838 (uri (git-reference
11839 (url "https://github.com/pcostanza/lw-compat/")
11840 (commit commit)))
11841 (file-name (git-file-name name version))
11842 (sha256
11843 (base32 "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav"))))
11844 (build-system asdf-build-system/sbcl)
11845 (home-page "https://github.com/pcostanza/lw-compat/")
11846 (synopsis "LispWorks utilities ported to other Common Lisp implementations")
11847 (description "This package contains a few utility functions from the
11848 LispWorks library that are used in software such as ContextL.")
11849 (license license:expat))))
11850
11851 (define-public cl-lw-compat
11852 (sbcl-package->cl-source-package sbcl-lw-compat))
11853
11854 (define-public ecl-lw-compat
11855 (sbcl-package->ecl-package sbcl-lw-compat))
11856
11857 (define-public sbcl-contextl
11858 ;; No release since 2013.
11859 (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9"))
11860 (package
11861 (name "sbcl-contextl")
11862 (version (git-version "1.0.0" "1" commit))
11863 (source
11864 (origin
11865 (method git-fetch)
11866 (uri (git-reference
11867 (url "https://github.com/pcostanza/contextl/")
11868 (commit commit)))
11869 (file-name (git-file-name name version))
11870 (sha256
11871 (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226"))))
11872 (build-system asdf-build-system/sbcl)
11873 (inputs
11874 `(("closer-mop" ,sbcl-closer-mop)
11875 ("lw-compat" ,sbcl-lw-compat)))
11876 (home-page "https://github.com/pcostanza/contextl")
11877 (synopsis "Context-oriented programming for Common Lisp")
11878 (description "ContextL is a CLOS extension for Context-Oriented
11879 Programming (COP).
11880
11881 Find overview of ContextL's features in an overview paper:
11882 @url{http://www.p-cos.net/documents/contextl-soa.pdf}. See also this general
11883 overview article about COP which also contains some ContextL examples:
11884 @url{http://www.jot.fm/issues/issue_2008_03/article4/}.")
11885 (license license:expat))))
11886
11887 (define-public cl-contextl
11888 (sbcl-package->cl-source-package sbcl-contextl))
11889
11890 (define-public ecl-contextl
11891 (sbcl-package->ecl-package sbcl-contextl))
11892
11893 (define-public sbcl-hu.dwim.common-lisp
11894 (package
11895 (name "sbcl-hu.dwim.common-lisp")
11896 (version "2015-07-09")
11897 (source
11898 (origin
11899 (method url-fetch)
11900 (uri (string-append
11901 "http://beta.quicklisp.org/archive/hu.dwim.common-lisp/"
11902 version "/hu.dwim.common-lisp-"
11903 (string-replace-substring version "-" "")
11904 "-darcs.tgz"))
11905 (sha256
11906 (base32 "13cxrvh55rw080mvfir7s7k735l9rcfh3khxp97qfwd5rz0gadb9"))))
11907 (build-system asdf-build-system/sbcl)
11908 (native-inputs
11909 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11910 (home-page "http://dwim.hu/")
11911 (synopsis "Redefine some standard Common Lisp names")
11912 (description "This library is a redefinition of the standard Common Lisp
11913 package that includes a number of renames and shadows. ")
11914 (license license:public-domain)))
11915
11916 (define-public cl-hu.dwim.common-lisp
11917 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
11918
11919 (define-public ecl-hu.dwim.common-lisp
11920 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
11921
11922 (define-public sbcl-hu.dwim.common
11923 (package
11924 (name "sbcl-hu.dwim.common")
11925 (version "2015-07-09")
11926 (source
11927 (origin
11928 (method url-fetch)
11929 (uri (string-append
11930 "http://beta.quicklisp.org/archive/hu.dwim.common/"
11931 version "/hu.dwim.common-"
11932 (string-replace-substring version "-" "")
11933 "-darcs.tgz"))
11934 (sha256
11935 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
11936 (build-system asdf-build-system/sbcl)
11937 (native-inputs
11938 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11939 (inputs
11940 `(("alexandria" ,sbcl-alexandria)
11941 ("anaphora" ,sbcl-anaphora)
11942 ("closer-mop" ,sbcl-closer-mop)
11943 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
11944 ("iterate" ,sbcl-iterate)
11945 ("metabang-bind" ,sbcl-metabang-bind)))
11946 (home-page "http://dwim.hu/")
11947 (synopsis "Common Lisp library shared by other hu.dwim systems")
11948 (description "This package contains a support library for other
11949 hu.dwim systems.")
11950 (license license:public-domain)))
11951
11952 (define-public cl-hu.dwim.common
11953 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
11954
11955 (define-public ecl-hu.dwim.common
11956 (sbcl-package->ecl-package sbcl-hu.dwim.common))
11957
11958 (define-public sbcl-hu.dwim.defclass-star
11959 (let ((commit "39d458f1b1bc830d1f5e18a6a35bf0e96a2cfd61"))
11960 (package
11961 (name "sbcl-hu.dwim.defclass-star")
11962 ;; We used to set version from the date when it was a darcs repo, so we
11963 ;; keep the year so that package gets updated on previous installs.
11964 (version (git-version "2021" "1" commit))
11965 (source
11966 (origin
11967 (method git-fetch)
11968 (uri (git-reference
11969 (url "https://github.com/hu-dwim/hu.dwim.defclass-star")
11970 (commit commit)))
11971 (file-name (git-file-name name version))
11972 (sha256
11973 (base32 "0hfkq2wad98vkyxdg1wh18y86d9w9yqkm8lxkk96szvpwymm7lmq"))))
11974 (build-system asdf-build-system/sbcl)
11975 (native-inputs
11976 `( ;; These 2 inputs are only needed tests which are disabled, see below.
11977 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
11978 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
11979 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
11980 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11981 (arguments
11982 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
11983 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
11984 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
11985 #:tests? #f))
11986 (home-page "https://github.com/hu-dwim/hu.dwim.defclass-star")
11987 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
11988 (description "@code{defclass-star} provides defclass* and defcondition* to
11989 simplify class and condition declarations. Features include:
11990
11991 @itemize
11992 @item Automatically export all or select slots at compile time.
11993 @item Define the @code{:initarg} and @code{:accessor} automatically.
11994 @item Specify a name transformer for both the @code{:initarg} and
11995 @code{:accessor}, etc.
11996 @item Specify the @code{:initform} as second slot value.
11997 @end itemize
11998
11999 See
12000 @url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
12001 for an example.")
12002 (license license:public-domain))))
12003
12004 (define-public cl-hu.dwim.defclass-star
12005 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
12006
12007 (define-public ecl-hu.dwim.defclass-star
12008 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))
12009
12010 (define-public sbcl-livesupport
12011 (let ((commit "71e6e412df9f3759ad8378fabb203913d82e228a")
12012 (revision "1"))
12013 (package
12014 (name "sbcl-livesupport")
12015 (version (git-version "0.0.0" revision commit))
12016 (source
12017 (origin
12018 (method git-fetch)
12019 (uri (git-reference
12020 (url "https://github.com/cbaggers/livesupport")
12021 (commit commit)))
12022 (file-name (git-file-name name version))
12023 (sha256
12024 (base32 "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"))))
12025 (build-system asdf-build-system/sbcl)
12026 (home-page "https://github.com/cbaggers/livesupport")
12027 (synopsis "Some helpers that make livecoding a little easier")
12028 (description "This package provides a macro commonly used in livecoding to
12029 enable continuing when errors are raised. Simply wrap around a chunk of code
12030 and it provides a restart called @code{continue} which ignores the error and
12031 carrys on from the end of the body.")
12032 (license license:bsd-2))))
12033
12034 (define-public cl-livesupport
12035 (sbcl-package->cl-source-package sbcl-livesupport))
12036
12037 (define-public ecl-livesupport
12038 (sbcl-package->ecl-package sbcl-livesupport))
12039
12040 (define-public sbcl-envy
12041 (let ((commit "956321b2852d58ba71c6fe621f5c2924178e9f88")
12042 (revision "1"))
12043 (package
12044 (name "sbcl-envy")
12045 (version (git-version "0.1" revision commit))
12046 (home-page "https://github.com/fukamachi/envy")
12047 (source
12048 (origin
12049 (method git-fetch)
12050 (uri (git-reference
12051 (url home-page)
12052 (commit commit)))
12053 (file-name (git-file-name name version))
12054 (sha256
12055 (base32 "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg"))))
12056 (build-system asdf-build-system/sbcl)
12057 ;; (native-inputs ; Only for tests.
12058 ;; `(("prove" ,sbcl-prove)
12059 ;; ("osicat" ,sbcl-osicat)))
12060 (arguments
12061 '(#:phases
12062 (modify-phases %standard-phases
12063 (add-after 'unpack 'fix-tests
12064 (lambda _
12065 (substitute* "envy-test.asd"
12066 (("cl-test-more") "prove"))
12067 #t)))
12068 ;; Tests fail with
12069 ;; Component ENVY-ASD::ENVY-TEST not found, required by #<SYSTEM "envy">
12070 ;; like xsubseq. Why?
12071 #:tests? #f))
12072 (synopsis "Common Lisp configuration switcher inspired by Perl's Config::ENV.")
12073 (description "Envy is a configuration manager for various applications.
12074 Envy uses an environment variable to determine a configuration to use. This
12075 can separate configuration system from an implementation.")
12076 (license license:bsd-2))))
12077
12078 (define-public cl-envy
12079 (sbcl-package->cl-source-package sbcl-envy))
12080
12081 (define-public ecl-envy
12082 (sbcl-package->ecl-package sbcl-envy))
12083
12084 (define-public sbcl-mito
12085 (let ((commit "d3b9e375ef364a65692da2185085a08c969ac88a")
12086 (revision "1"))
12087 (package
12088 (name "sbcl-mito")
12089 (version (git-version "0.1" revision commit))
12090 (home-page "https://github.com/fukamachi/mito")
12091 (source
12092 (origin
12093 (method git-fetch)
12094 (uri (git-reference
12095 (url home-page)
12096 (commit commit)))
12097 (file-name (git-file-name name version))
12098 (sha256
12099 (base32 "08mncgzjnbbsf1a6am3l73iw4lyfvz5ldjg5g84awfaxml4p73mb"))))
12100 (build-system asdf-build-system/sbcl)
12101 (native-inputs
12102 `(("prove" ,sbcl-prove)))
12103 (inputs
12104 `(("alexandria" ,sbcl-alexandria)
12105 ("cl-ppcre" ,sbcl-cl-ppcre)
12106 ("cl-reexport" ,sbcl-cl-reexport)
12107 ("closer-mop" ,sbcl-closer-mop)
12108 ("dbi" ,sbcl-dbi)
12109 ("dissect" ,sbcl-dissect)
12110 ("esrap" ,sbcl-esrap)
12111 ("local-time" ,sbcl-local-time)
12112 ("optima" ,sbcl-optima)
12113 ("sxql" ,sbcl-sxql)
12114 ("uuid" ,sbcl-uuid)))
12115 (arguments
12116 '(#:phases
12117 (modify-phases %standard-phases
12118 (add-after 'unpack 'remove-non-functional-tests
12119 (lambda _
12120 (substitute* "mito-test.asd"
12121 (("\\(:test-file \"db/mysql\"\\)") "")
12122 (("\\(:test-file \"db/postgres\"\\)") "")
12123 (("\\(:test-file \"dao\"\\)") "")
12124 ;; TODO: migration/sqlite3 should work, re-enable once
12125 ;; upstream has fixed it:
12126 ;; https://github.com/fukamachi/mito/issues/70
12127 (("\\(:test-file \"migration/sqlite3\"\\)") "")
12128 (("\\(:test-file \"migration/mysql\"\\)") "")
12129 (("\\(:test-file \"migration/postgres\"\\)") "")
12130 (("\\(:test-file \"postgres-types\"\\)") "")
12131 (("\\(:test-file \"mixin\"\\)") ""))
12132 #t)))
12133 ;; TODO: While all enabled tests pass, the phase fails with:
12134 ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito">
12135 #:tests? #f))
12136 (synopsis "ORM for Common Lisp with migrations and relationships support")
12137 (description "Mito is yet another object relational mapper, and it aims
12138 to be a successor of Integral.
12139
12140 @itemize
12141 @item Support MySQL, PostgreSQL and SQLite3.
12142 @item Add id (serial/uuid primary key), created_at and updated_at by default
12143 like Ruby's ActiveRecord.
12144 @item Migrations.
12145 @item Database schema versioning.
12146 @end itemize\n")
12147 (license license:llgpl))))
12148
12149 (define-public cl-mito
12150 (sbcl-package->cl-source-package sbcl-mito))
12151
12152 (define-public ecl-mito
12153 (sbcl-package->ecl-package sbcl-mito))
12154
12155 (define-public sbcl-kebab
12156 (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b")
12157 (revision "1"))
12158 (package
12159 (name "sbcl-kebab")
12160 (version (git-version "0.1" revision commit))
12161 (home-page "https://github.com/pocket7878/kebab")
12162 (source
12163 (origin
12164 (method git-fetch)
12165 (uri (git-reference
12166 (url home-page)
12167 (commit commit)))
12168 (file-name (git-file-name name version))
12169 (sha256
12170 (base32 "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"))))
12171 (build-system asdf-build-system/sbcl)
12172 (inputs
12173 `(("cl-ppcre" ,sbcl-cl-ppcre)
12174 ("alexandria" ,sbcl-alexandria)
12175 ("cl-interpol" ,sbcl-cl-interpol)
12176 ("split-sequence" ,sbcl-split-sequence)))
12177 (native-inputs
12178 `(("prove" ,sbcl-prove)))
12179 (arguments
12180 ;; Tests passes but the phase fails with
12181 ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">.
12182 `(#:tests? #f))
12183 (synopsis "Common Lisp case converter")
12184 (description "This Common Lisp library converts strings, symbols and
12185 keywords between any of the following typographical cases: PascalCase,
12186 camelCase, snake_case, kebab-case (lisp-case).")
12187 (license license:llgpl))))
12188
12189 (define-public cl-kebab
12190 (sbcl-package->cl-source-package sbcl-kebab))
12191
12192 (define-public ecl-kebab
12193 (sbcl-package->ecl-package sbcl-kebab))
12194
12195 (define-public sbcl-datafly
12196 (let ((commit "adece27fcbc4b5ea39ad1a105048b6b7166e3b0d")
12197 (revision "1"))
12198 (package
12199 (name "sbcl-datafly")
12200 (version (git-version "0.1" revision commit))
12201 (home-page "https://github.com/fukamachi/datafly")
12202 (source
12203 (origin
12204 (method git-fetch)
12205 (uri (git-reference
12206 (url home-page)
12207 (commit commit)))
12208 (file-name (git-file-name name version))
12209 (sha256
12210 (base32 "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv"))))
12211 (build-system asdf-build-system/sbcl)
12212 (inputs
12213 `(("alexandria" ,sbcl-alexandria)
12214 ("iterate" ,sbcl-iterate)
12215 ("optima" ,sbcl-optima)
12216 ("trivial-types" ,sbcl-trivial-types)
12217 ("closer-mop" ,sbcl-closer-mop)
12218 ("cl-syntax" ,sbcl-cl-syntax)
12219 ("sxql" ,sbcl-sxql)
12220 ("dbi" ,sbcl-dbi)
12221 ("babel" ,sbcl-babel)
12222 ("local-time" ,sbcl-local-time)
12223 ("function-cache" ,sbcl-function-cache)
12224 ("jonathan" ,sbcl-jonathan)
12225 ("kebab" ,sbcl-kebab)
12226 ("log4cl" ,sbcl-log4cl)))
12227 (native-inputs
12228 `(("prove" ,sbcl-prove)))
12229 (arguments
12230 ;; TODO: Tests fail with
12231 ;; While evaluating the form starting at line 22, column 0
12232 ;; of #P"/tmp/guix-build-sbcl-datafly-0.1-1.adece27.drv-0/source/t/datafly.lisp":
12233 ;; Unhandled SQLITE:SQLITE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
12234 ;; {10009F8083}>:
12235 ;; Error when binding parameter 1 to value NIL.
12236 ;; Code RANGE: column index out of range.
12237 `(#:tests? #f))
12238 (synopsis "Lightweight database library for Common Lisp")
12239 (description "Datafly is a lightweight database library for Common Lisp.")
12240 (license license:bsd-3))))
12241
12242 (define-public cl-datafly
12243 (sbcl-package->cl-source-package sbcl-datafly))
12244
12245 (define-public ecl-datafly
12246 (sbcl-package->ecl-package sbcl-datafly))
12247
12248 (define-public sbcl-do-urlencode
12249 (let ((commit "199846441dad5dfac5478b8dee4b4e20d107af6a")
12250 (revision "1"))
12251 (package
12252 (name "sbcl-do-urlencode")
12253 (version (git-version "0.0.0" revision commit))
12254 (home-page "https://github.com/drdo/do-urlencode")
12255 (source
12256 (origin
12257 (method git-fetch)
12258 (uri (git-reference
12259 (url home-page)
12260 (commit commit)))
12261 (file-name (git-file-name name version))
12262 (sha256
12263 (base32 "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"))))
12264 (build-system asdf-build-system/sbcl)
12265 (inputs
12266 `(("alexandria" ,sbcl-alexandria)
12267 ("babel" ,sbcl-babel)))
12268 (synopsis "Percent Encoding (aka URL Encoding) Common Lisp library")
12269 (description "This library provides trivial percent encoding and
12270 decoding functions for URLs.")
12271 (license license:isc))))
12272
12273 (define-public cl-do-urlencode
12274 (sbcl-package->cl-source-package sbcl-do-urlencode))
12275
12276 (define-public ecl-do-urlencode
12277 (sbcl-package->ecl-package sbcl-do-urlencode))
12278
12279 (define-public sbcl-cl-emb
12280 (let ((commit "fd8652174d048d4525a81f38cdf42f4fa519f840")
12281 (revision "1"))
12282 (package
12283 (name "sbcl-cl-emb")
12284 (version (git-version "0.4.3" revision commit))
12285 (home-page "https://common-lisp.net/project/cl-emb/")
12286 (source
12287 (origin
12288 (method git-fetch)
12289 (uri (git-reference
12290 (url "https://github.com/38a938c2/cl-emb")
12291 (commit commit)))
12292 (file-name (git-file-name name version))
12293 (sha256
12294 (base32 "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"))))
12295 (build-system asdf-build-system/sbcl)
12296 (inputs
12297 `(("cl-ppcre" ,sbcl-cl-ppcre)))
12298 (synopsis "Templating system for Common Lisp")
12299 (description "A mixture of features from eRuby and HTML::Template. You
12300 could name it \"Yet Another LSP\" (LispServer Pages) but it's a bit more than
12301 that and not limited to a certain server or text format.")
12302 (license license:llgpl))))
12303
12304 (define-public cl-emb
12305 (sbcl-package->cl-source-package sbcl-cl-emb))
12306
12307 (define-public ecl-cl-emb
12308 (sbcl-package->ecl-package sbcl-cl-emb))
12309
12310 (define-public sbcl-cl-project
12311 (let ((commit "151107014e534fc4666222d57fec2cc8549c8814")
12312 (revision "1"))
12313 (package
12314 (name "sbcl-cl-project")
12315 (version (git-version "0.3.1" revision commit))
12316 (home-page "https://github.com/fukamachi/cl-project")
12317 (source
12318 (origin
12319 (method git-fetch)
12320 (uri (git-reference
12321 (url home-page)
12322 (commit commit)))
12323 (file-name (git-file-name name version))
12324 (sha256
12325 (base32 "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y"))))
12326 (build-system asdf-build-system/sbcl)
12327 (inputs
12328 `(("cl-emb" ,sbcl-cl-emb)
12329 ("cl-ppcre" ,sbcl-cl-ppcre)
12330 ("local-time" ,sbcl-local-time)
12331 ("prove" ,sbcl-prove)))
12332 (arguments
12333 ;; Tests depend on caveman, which in turns depends on cl-project.
12334 '(#:tests? #f
12335 #:asd-files '("cl-project.asd")))
12336 (synopsis "Generate a skeleton for modern Common Lisp projects")
12337 (description "This library provides a modern project skeleton generator.
12338 In contract with other generators, CL-Project generates one package per file
12339 and encourages unit testing by generating a system for unit testing, so you
12340 can begin writing unit tests as soon as the project is generated.")
12341 (license license:llgpl))))
12342
12343 (define-public cl-project
12344 (sbcl-package->cl-source-package sbcl-cl-project))
12345
12346 (define-public ecl-cl-project
12347 (sbcl-package->ecl-package sbcl-cl-project))
12348
12349 (define-public sbcl-caveman
12350 (let ((commit "faa5f7e3b364fd7e7096af9a7bb06728b8d80441") ; No release since 2012
12351 (revision "1"))
12352 (package
12353 (name "sbcl-caveman")
12354 (version (git-version "2.4.0" revision commit))
12355 (home-page "http://8arrow.org/caveman/")
12356 (source
12357 (origin
12358 (method git-fetch)
12359 (uri (git-reference
12360 (url "https://github.com/fukamachi/caveman/")
12361 (commit commit)))
12362 (file-name (git-file-name name version))
12363 (sha256
12364 (base32 "0kh0gx05pczk8f7r9qdi4zn1p3d0a2prps27k7jpgvc1dxkl8qhq"))))
12365 (build-system asdf-build-system/sbcl)
12366 (inputs
12367 `(("ningle" ,cl-ningle)
12368 ("lack" ,sbcl-lack)
12369 ("cl-project" ,sbcl-cl-project)
12370 ("dbi" ,sbcl-dbi)
12371 ("cl-syntax" ,sbcl-cl-syntax)
12372 ("myway" ,sbcl-myway)
12373 ("quri" ,sbcl-quri)))
12374 (native-inputs
12375 `(("usocket" ,sbcl-usocket)
12376 ("dexador" ,sbcl-dexador)))
12377 (arguments
12378 `(#:asd-files '("caveman2.asd")
12379 #:asd-systems '("caveman2")
12380 #:phases
12381 (modify-phases %standard-phases
12382 (add-after 'unpack 'remove-v1
12383 (lambda _
12384 (delete-file-recursively "v1")
12385 (for-each delete-file
12386 '("README.v1.markdown" "caveman.asd" "caveman-test.asd")))))
12387 ;; TODO: Tests fail with:
12388 ;; writing /gnu/store/...-sbcl-caveman-2.4.0-1.faa5f7e/share/common-lisp/sbcl-source/caveman2/v2/t/tmp/myapp573/tests/myapp573.lisp
12389 ;; While evaluating the form starting at line 38, column 0
12390 ;; of #P"/tmp/guix-build-sbcl-caveman-2.4.0-1.faa5f7e.drv-0/source/v2/t/caveman.lisp":
12391 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD "main thread" RUNNING
12392 ;; {10009F8083}>:
12393 ;; Component "myapp573" not found
12394 #:tests? #f))
12395 (synopsis "Lightweight web application framework in Common Lisp")
12396 (description "Caveman is intended to be a collection of common parts for
12397 web applications. Caveman2 has three design goals:
12398
12399 @itemize
12400 @item Be extensible.
12401 @item Be practical.
12402 @item Don't force anything.
12403 @end itemize\n")
12404 (license license:llgpl))))
12405
12406 (define-public cl-caveman
12407 (package
12408 (inherit
12409 (sbcl-package->cl-source-package sbcl-caveman))
12410 (propagated-inputs
12411 `(("ningle" ,cl-ningle)))))
12412
12413 (define-public ecl-caveman
12414 (sbcl-package->ecl-package sbcl-caveman))
12415
12416 (define-public sbcl-lambda-fiddle
12417 (let ((commit "d16bba55acf6065b412f64ab8fdff679a4a32b1e") ;; no tagged branch
12418 (revision "1"))
12419 (package
12420 (name "sbcl-lambda-fiddle")
12421 (version (git-version "1.0.0" revision commit))
12422 (source
12423 (origin
12424 (method git-fetch)
12425 (uri (git-reference
12426 (url "https://github.com/Shinmera/lambda-fiddle")
12427 (commit commit)))
12428 (file-name (git-file-name name version))
12429 (sha256
12430 (base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand"))))
12431 (build-system asdf-build-system/sbcl)
12432 (home-page "https://github.com/Shinmera/lambda-fiddle")
12433 (synopsis "Collection of utilities to process lambda-lists")
12434 (description "This collection of utilities is useful in contexts where
12435 you want a macro that uses lambda-lists in some fashion but need more precise
12436 processing.")
12437 (license license:zlib))))
12438
12439 (define-public cl-lambda-fiddle
12440 (sbcl-package->cl-source-package sbcl-lambda-fiddle))
12441
12442 (define-public ecl-lambda-fiddle
12443 (sbcl-package->ecl-package sbcl-lambda-fiddle))
12444
12445 (define-public sbcl-xmls
12446 (let ((commit "18546f0850b1338e03997ffd1696add1cb1800d1") ;; no tagged branch
12447 (revision "1"))
12448 (package
12449 (name "sbcl-xmls")
12450 (version (git-version "3.0.2" revision commit))
12451 (source
12452 (origin
12453 (method git-fetch)
12454 (uri (git-reference
12455 (url "https://github.com/rpgoldman/xmls")
12456 (commit commit)))
12457 (file-name (git-file-name name version))
12458 (sha256
12459 (base32 "1lmvfml2ldbb1wkhm25jqqk2bhwsz52hhcgljbnzj1xr8xhc3anp"))))
12460 (native-inputs
12461 `(("fiveam" ,sbcl-fiveam)))
12462 (build-system asdf-build-system/sbcl)
12463 (home-page "https://github.com/rpgoldman/xmls")
12464 (synopsis "Non-validating XML parser for Common Lisp")
12465 (description "Xmls is a self-contained, easily embedded parser that
12466 recognizes a useful subset of the XML spec. It provides a simple mapping from
12467 XML to Lisp structures or s-expressions and back.")
12468 (license license:bsd-2))))
12469
12470 (define-public cl-xmls
12471 (sbcl-package->cl-source-package sbcl-xmls))
12472
12473 (define-public ecl-xmls
12474 (sbcl-package->ecl-package sbcl-xmls))
12475
12476 (define-public sbcl-geco
12477 (package
12478 (name "sbcl-geco")
12479 (version "2.1.1")
12480 (source
12481 (origin
12482 (method git-fetch)
12483 (uri (git-reference
12484 (url "https://github.com/gpwwjr/GECO")
12485 (commit (string-append "v" version))))
12486 (file-name (git-file-name "geco" version))
12487 (sha256
12488 (base32 "1rc8a4mk40hjx5qy980hjylv6xxqdbq38hg8c4w30y93abfd519s"))))
12489 (build-system asdf-build-system/sbcl)
12490 (home-page "http://hiwaay.net/~gpw/geco/geco.html")
12491 (synopsis "Genetic algorithm toolkit for Common Lisp")
12492 (description
12493 "GECO (Genetic Evolution through Combination of Objects) is an extensible,
12494 object-oriented framework for prototyping genetic algorithms in Common Lisp.")
12495 (license license:lgpl2.1+)))
12496
12497 (define-public cl-geco
12498 (sbcl-package->cl-source-package sbcl-geco))
12499
12500 (define-public ecl-geco
12501 (sbcl-package->ecl-package sbcl-geco))
12502
12503 (define-public sbcl-html-entities
12504 (let ((commit "4af018048e891f41d77e7d680ed3aeb639e1eedb"))
12505 (package
12506 (name "sbcl-html-entities")
12507 (version (git-version "0.02" "1" commit))
12508 (source
12509 (origin
12510 (method git-fetch)
12511 (uri (git-reference
12512 (url "https://github.com/BnMcGn/html-entities/")
12513 (commit commit)))
12514 (file-name (git-file-name name version))
12515 (sha256
12516 (base32 "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"))))
12517 (build-system asdf-build-system/sbcl)
12518 (inputs
12519 `(("ppcre" ,sbcl-cl-ppcre)))
12520 (native-inputs
12521 `(("fiveam" ,sbcl-fiveam)))
12522 (home-page "https://github.com/BnMcGn/html-entities/")
12523 (synopsis "Encode and decode entities in HTML with Common Lisp")
12524 (description "Html-entities is a Common Lisp library that lets you
12525 encode and decode entities in HTML.")
12526 (license license:expat))))
12527
12528 (define-public cl-html-entities
12529 (sbcl-package->cl-source-package sbcl-html-entities))
12530
12531 (define-public ecl-html-entities
12532 (sbcl-package->ecl-package sbcl-html-entities))
12533
12534 (define-public sbcl-quicksearch
12535 (let ((commit "fb02ecf7c876ec580ab18c7d2c8c7814c06af599"))
12536 (package
12537 (name "sbcl-quicksearch")
12538 (version (git-version "0.01.04" "1" commit))
12539 (source
12540 (origin
12541 (method git-fetch)
12542 (uri (git-reference
12543 (url "https://github.com/tkych/quicksearch/")
12544 (commit commit)))
12545 (file-name (git-file-name name version))
12546 (sha256
12547 (base32 "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps"))))
12548 (build-system asdf-build-system/sbcl)
12549 (inputs
12550 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12551 ("iterate" ,sbcl-iterate)
12552 ("alexandria" ,sbcl-alexandria)
12553 ("anaphora" ,sbcl-anaphora)
12554 ("ppcre" ,sbcl-cl-ppcre)
12555 ("drakma" ,sbcl-drakma)
12556 ("html-entities" ,sbcl-html-entities)
12557 ("yason" ,sbcl-yason)
12558 ("flexi-streams" ,sbcl-flexi-streams)
12559 ("do-urlencode" ,sbcl-do-urlencode)))
12560 (home-page "https://github.com/tkych/quicksearch/")
12561 (synopsis "Search Engine Interface for Common Lisp packages")
12562 (description "Quicksearch is a search-engine-interface for Common Lisp.
12563 The goal of Quicksearch is to find the Common Lisp library quickly. For
12564 example, if you will find the library about json, just type @code{(qs:?
12565 'json)} at REPL.
12566
12567 The function @code{quicksearch} searches for Common Lisp projects in
12568 Quicklisp, Cliki, GitHub and BitBucket, then outputs results in REPL. The
12569 function @code{?} is abbreviation wrapper for @code{quicksearch}.")
12570 (license license:expat))))
12571
12572 (define-public cl-quicksearch
12573 (sbcl-package->cl-source-package sbcl-quicksearch))
12574
12575 (define-public ecl-quicksearch
12576 (sbcl-package->ecl-package sbcl-quicksearch))
12577
12578 (define-public sbcl-agutil
12579 (let ((commit "df188d754d472da9faa1601a48f1f37bb7b34d68"))
12580 (package
12581 (name "sbcl-agutil")
12582 (version (git-version "0.0.1" "1" commit))
12583 (source
12584 (origin
12585 (method git-fetch)
12586 (uri (git-reference
12587 (url "https://github.com/alex-gutev/agutil/")
12588 (commit commit)))
12589 (file-name (git-file-name name version))
12590 (sha256
12591 (base32 "1xpnyzksk2xld64b6lw6rw0gn5zxlb77jwna59sd4yl7kxhxlfpf"))))
12592 (build-system asdf-build-system/sbcl)
12593 (inputs
12594 `(("alexandria" ,sbcl-alexandria)
12595 ("trivia" ,sbcl-trivia)))
12596 (home-page "https://github.com/alex-gutev/agutil/")
12597 (synopsis "Collection of Common Lisp utilities")
12598 (description "A collection of Common Lisp utility functions and macros
12599 mostly not found in other utility packages.")
12600 (license license:expat))))
12601
12602 (define-public cl-agutil
12603 (sbcl-package->cl-source-package sbcl-agutil))
12604
12605 (define-public ecl-agutil
12606 (sbcl-package->ecl-package sbcl-agutil))
12607
12608 (define-public sbcl-custom-hash-table
12609 (let ((commit "f26983133940f5edf826ebbc8077acc04816ddfa"))
12610 (package
12611 (name "sbcl-custom-hash-table")
12612 (version (git-version "0.3" "1" commit))
12613 (source
12614 (origin
12615 (method git-fetch)
12616 (uri (git-reference
12617 (url "https://github.com/metawilm/cl-custom-hash-table")
12618 (commit commit)))
12619 (file-name (git-file-name name version))
12620 (sha256
12621 (base32 "1k4mvrpbqqds2fwjxp1bxmrfmr8ch4dkwhnkbw559knbqshvrlj5"))))
12622 (build-system asdf-build-system/sbcl)
12623 (arguments
12624 '(#:asd-files '("cl-custom-hash-table.asd")
12625 #:asd-systems '("cl-custom-hash-table")))
12626 (home-page "https://github.com/metawilm/cl-custom-hash-table")
12627 (synopsis "Custom hash tables for Common Lisp")
12628 (description "This library allows creation of hash tables with arbitrary
12629 @code{test}/@code{hash} functions, in addition to the @code{test} functions
12630 allowed by the standard (@code{EQ}, @code{EQL}, @code{EQUAL} and
12631 @code{EQUALP}), even in implementations that don't support this functionality
12632 directly.")
12633 (license license:expat))))
12634
12635 (define-public cl-custom-hash-table
12636 (sbcl-package->cl-source-package sbcl-custom-hash-table))
12637
12638 (define-public ecl-custom-hash-table
12639 (sbcl-package->ecl-package sbcl-custom-hash-table))
12640
12641 (define-public sbcl-collectors
12642 (let ((commit "13acef25d8422d1d82e067b1861e513587c166ee"))
12643 (package
12644 (name "sbcl-collectors")
12645 (version (git-version "0.1" "1" commit))
12646 (source
12647 (origin
12648 (method git-fetch)
12649 (uri (git-reference
12650 (url "https://github.com/AccelerationNet/collectors")
12651 (commit commit)))
12652 (file-name (git-file-name name version))
12653 (sha256
12654 (base32 "1si68n1j6rpns8jw6ksqjpb937pdl30v7xza8rld7j5vh0jhy2yi"))))
12655 (build-system asdf-build-system/sbcl)
12656 (inputs
12657 `(("alexandria" ,sbcl-alexandria)
12658 ("closer-mop" ,sbcl-closer-mop)
12659 ("symbol-munger" ,sbcl-symbol-munger)))
12660 (native-inputs
12661 `(("lisp-unit2" ,sbcl-lisp-unit2)))
12662 (home-page "https://github.com/AccelerationNet/collectors/")
12663 (synopsis "Common lisp library providing collector macros")
12664 (description "A small collection of common lisp macros to make
12665 collecting values easier.")
12666 (license license:bsd-3))))
12667
12668 (define-public cl-collectors
12669 (sbcl-package->cl-source-package sbcl-collectors))
12670
12671 (define-public ecl-collectors
12672 (sbcl-package->ecl-package sbcl-collectors))
12673
12674 (define-public sbcl-cl-environments
12675 (let ((commit "0b22154c5afefef23d1eba9a4fae11d73580ef41")) ; No version in 2 years.
12676 (package
12677 (name "sbcl-cl-environments")
12678 (version (git-version "0.2.3" "1" commit))
12679 (source
12680 (origin
12681 (method git-fetch)
12682 (uri (git-reference
12683 (url "https://github.com/alex-gutev/cl-environments")
12684 (commit commit)))
12685 (file-name (git-file-name name version))
12686 (sha256
12687 (base32
12688 "18r3wfarr7lgn78m6c66r0r9aazirv07gy7xgvqkl9pmrz1bc47m"))))
12689 (build-system asdf-build-system/sbcl)
12690 (inputs
12691 `(("alexandria" ,sbcl-alexandria)
12692 ("anaphora" ,sbcl-anaphora)
12693 ("collectors" ,sbcl-collectors)
12694 ("optima" ,sbcl-optima)))
12695 (native-inputs
12696 `(("prove" ,sbcl-prove)))
12697 (home-page "https://github.com/alex-gutev/cl-environments")
12698 (synopsis "Implements the Common Lisp standard environment access API")
12699 (description "This library provides a uniform API, as specified in Common
12700 Lisp the Language 2, for accessing information about variable and function
12701 bindings from implementation-defined lexical environment objects. All major
12702 Common Lisp implementations are supported, even those which don't support the
12703 CLTL2 environment access API.")
12704 (license license:expat))))
12705
12706 (define-public cl-environments
12707 (sbcl-package->cl-source-package sbcl-cl-environments))
12708
12709 (define-public ecl-environments
12710 (sbcl-package->ecl-package sbcl-cl-environments))
12711
12712 (define-public sbcl-static-dispatch
12713 (let ((commit "6243afcd152854c52ba33daef7394367b657d9c6")
12714 (revision "1"))
12715 (package
12716 (name "sbcl-static-dispatch")
12717 (version (git-version "0.3" revision commit))
12718 (source
12719 (origin
12720 (method git-fetch)
12721 (uri (git-reference
12722 (url "https://github.com/alex-gutev/static-dispatch")
12723 (commit commit)))
12724 (file-name (git-file-name "static-dispatch" version))
12725 (sha256
12726 (base32 "1lli9ar1xbnhkgb5d01rlw4pvfylg2arrw68np2c07fpkkafimg7"))))
12727 (build-system asdf-build-system/sbcl)
12728 (native-inputs
12729 `(("prove" ,sbcl-prove)))
12730 (inputs
12731 `(("agutil" ,sbcl-agutil)
12732 ("alexandria" ,sbcl-alexandria)
12733 ("anaphora" ,sbcl-anaphora)
12734 ("arrows" ,sbcl-arrows)
12735 ("cl-environments" ,sbcl-cl-environments)
12736 ("closer-mop" ,sbcl-closer-mop)
12737 ("iterate" ,sbcl-iterate)
12738 ("trivia" ,sbcl-trivia)))
12739 (home-page "https://github.com/alex-gutev/static-dispatch")
12740 (synopsis "Static generic function dispatch for Common Lisp")
12741 (description "Static dispatch is a Common Lisp library, inspired by
12742 @code{inlined-generic-function}, which allows standard Common Lisp generic
12743 function dispatch to be performed statically (at compile time) rather than
12744 dynamically (runtime). This is similar to what is known as \"overloading\" in
12745 languages such as C++ and Java.
12746
12747 The purpose of static dispatch is to provide an optimization in cases where
12748 the usual dynamic dispatch is too slow, and the dynamic features of generic
12749 functions, such as adding/removing methods at runtime are not required. An
12750 example of such a case is a generic equality comparison function. Currently
12751 generic functions are considered far too slow to implement generic arithmetic
12752 and comparison operations when used heavily in numeric code.")
12753 (license license:expat))))
12754
12755 (define-public cl-static-dispatch
12756 (sbcl-package->cl-source-package sbcl-static-dispatch))
12757
12758 (define-public ecl-static-dispatch
12759 (sbcl-package->ecl-package sbcl-static-dispatch))
12760
12761 (define-public sbcl-generic-cl
12762 ;; Latest commit includes a necessary fix for our Guix build.
12763 (let ((commit "8e5a81487ee3c13fe5ffdc8bdda161d476639535"))
12764 (package
12765 (name "sbcl-generic-cl")
12766 (version (git-version "0.7.1" "1" commit))
12767 (source
12768 (origin
12769 (method git-fetch)
12770 (uri (git-reference
12771 (url "https://github.com/alex-gutev/generic-cl")
12772 (commit commit)))
12773 (file-name (git-file-name name version))
12774 (sha256
12775 (base32
12776 "11w0g79s4wmc78vmfng437rmsgnp5qn246zcyr540fp5nw0ad6ix"))))
12777 (build-system asdf-build-system/sbcl)
12778 (inputs
12779 `(("agutil" ,sbcl-agutil)
12780 ("alexandria" ,sbcl-alexandria)
12781 ("anaphora" ,sbcl-anaphora)
12782 ("arrows" ,sbcl-arrows)
12783 ("cl-custom-hash-table" ,sbcl-custom-hash-table)
12784 ("static-dispatch" ,sbcl-static-dispatch)
12785 ("trivia" ,sbcl-trivia)))
12786 (native-inputs
12787 `(("prove" ,sbcl-prove)))
12788 (arguments
12789 ;; Tests fail because SBCL head size is not high enough.
12790 ;; https://github.com/alex-gutev/generic-cl/issues/6
12791 `(#:tests? #f))
12792 (home-page "https://alex-gutev.github.io/generic-cl/")
12793 (synopsis "Generic function interface to standard Common Lisp functions")
12794 (description "@code{generic-cl} provides a generic function wrapper over
12795 various functions in the Common Lisp standard, such as equality predicates and
12796 sequence operations. The goal of this wrapper is to provide a standard
12797 interface to common operations, such as testing for the equality of two
12798 objects, which is extensible to user-defined types.")
12799 (license license:expat))))
12800
12801 (define-public cl-generic-cl
12802 (sbcl-package->cl-source-package sbcl-generic-cl))
12803
12804 (define-public ecl-generic-cl
12805 (sbcl-package->ecl-package sbcl-generic-cl))
12806
12807 (define-public sbcl-defpackage-plus
12808 (let ((revision "0")
12809 (commit "5492e27e0bdb7b75fa5177ea4388519dc7a75f11"))
12810 (package
12811 (name "sbcl-defpackage-plus")
12812 (version (git-version "1.0" revision commit))
12813 (source
12814 (origin
12815 (method git-fetch)
12816 (uri (git-reference
12817 (url "https://github.com/rpav/defpackage-plus")
12818 (commit commit)))
12819 (file-name (git-file-name name version))
12820 (sha256
12821 (base32 "0lzljvf343xb6mlh6lni2i27hpm5qd376522mk6hr2pa20vd6rdq"))))
12822 (build-system asdf-build-system/sbcl)
12823 (inputs
12824 `(("alexandria" ,sbcl-alexandria)))
12825 (home-page "https://github.com/rpav/defpackage-plus")
12826 (synopsis "Extensible @code{DEFPACKAGE} variant with version support")
12827 (description
12828 "@code{DEFPACKAGE-PLUS} is an extensible @code{DEFPACKAGE} variant with
12829 predictable cross-platform behavior and some utilities useful for versioning.")
12830 (license license:bsd-2))))
12831
12832 (define-public cl-defpackage-plus
12833 (sbcl-package->cl-source-package sbcl-defpackage-plus))
12834
12835 (define-public ecl-defpackage-plus
12836 (sbcl-package->ecl-package sbcl-defpackage-plus))
12837
12838 (define-public sbcl-deploy
12839 (let ((commit "9b20e64fe924b9e31832304d87a3a72c383dc6d8")
12840 (revision "2"))
12841 (package
12842 (name "sbcl-deploy")
12843 (version (git-version "1.0.0" revision commit))
12844 (source
12845 (origin
12846 (method git-fetch)
12847 (uri (git-reference
12848 (url "https://github.com/Shinmera/deploy")
12849 (commit commit)))
12850 (file-name (git-file-name "deploy" version))
12851 (sha256
12852 (base32 "07pfkibaridihg8lbq2czwa4iqifqk24n6rx7bfnv7i49p1ppja1"))))
12853 (build-system asdf-build-system/sbcl)
12854 (arguments
12855 `(#:test-asd-file "deploy-test.asd"
12856 #:asd-files '("deploy.asd"
12857 "deploy-test.asd")))
12858 (native-inputs
12859 `(("cl-mpg123" ,sbcl-cl-mpg123)
12860 ("cl-out123" ,sbcl-cl-out123)))
12861 (inputs
12862 `(("cffi" ,sbcl-cffi)
12863 ("documentation-utils" ,sbcl-documentation-utils)
12864 ("trivial-features" ,sbcl-trivial-features)))
12865 (home-page "https://shinmera.github.io/deploy/")
12866 (synopsis "Deployment tools for standalone Common Lisp application")
12867 (description
12868 "This is a system to help you easily and quickly deploy standalone
12869 common lisp applications as binaries. Specifically it is geared towards
12870 applications with foreign library dependencies that run some kind of GUI.")
12871 (license license:artistic2.0))))
12872
12873 (define-public cl-deploy
12874 (sbcl-package->cl-source-package sbcl-deploy))
12875
12876 (define-public ecl-deploy
12877 (sbcl-package->ecl-package sbcl-deploy))
12878
12879 (define-public sbcl-deeds
12880 ;; taged branch is outdated
12881 (let ((revision "1")
12882 (commit "f5df54eac79b58a34030e0eb8acf3952c788410d"))
12883 (package
12884 (name "sbcl-deeds")
12885 (version (git-version "1.1.1" revision commit))
12886 (source
12887 (origin
12888 (method git-fetch)
12889 (uri (git-reference
12890 (url "https://github.com/Shinmera/deeds")
12891 (commit commit)))
12892 (file-name (git-file-name name version))
12893 (sha256
12894 (base32 "062cnb2dwli6pw3zvv46jfxyxdzcbzwsck5pa6nw03qf1j1hyg3k"))))
12895 (build-system asdf-build-system/sbcl)
12896 (inputs
12897 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12898 ("closer-mop" ,sbcl-closer-mop)
12899 ("form-fiddle" ,sbcl-form-fiddle)
12900 ("lambda-fiddle" ,sbcl-lambda-fiddle)))
12901 (home-page "https://github.com/Shinmera/deeds")
12902 (synopsis "Extensible Event Delivery System")
12903 (description
12904 "@code{deeds} allows for efficient event delivery to multiple handlers
12905 with a complex event filtering system.")
12906 (license license:zlib))))
12907
12908 (define-public cl-deeds
12909 (sbcl-package->cl-source-package sbcl-deeds))
12910
12911 (define-public ecl-deeds
12912 (sbcl-package->ecl-package sbcl-deeds))
12913
12914 (define-public sbcl-make-hash
12915 ;; no tagged branch
12916 (let ((revision "1")
12917 (commit "ae0909cd8e697520a1085fac6f54ac2b448ebd21"))
12918 (package
12919 (name "sbcl-make-hash")
12920 (version (git-version "1.0.2" revision commit))
12921 (source
12922 (origin
12923 (method git-fetch)
12924 (uri (git-reference
12925 (url "https://github.com/genovese/make-hash")
12926 (commit commit)))
12927 (file-name (git-file-name name version))
12928 (sha256
12929 (base32 "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8"))))
12930 (build-system asdf-build-system/sbcl)
12931 (home-page "https://github.com/genovese/make-hash")
12932 (synopsis "Common Lisp package for flexible hash table creation")
12933 (description
12934 "This is a Common Lisp package for hash table creation with flexible,
12935 extensible initializers.")
12936 (license license:bsd-3))))
12937
12938 (define-public cl-make-hash
12939 (sbcl-package->cl-source-package sbcl-make-hash))
12940
12941 (define-public ecl-make-hash
12942 (sbcl-package->ecl-package sbcl-make-hash))
12943
12944 (define-public sbcl-claw-support
12945 (package
12946 (name "sbcl-claw-support")
12947 (version "1.0.0")
12948 (source
12949 (origin
12950 (method git-fetch)
12951 (uri (git-reference
12952 (url "https://github.com/borodust/claw-support")
12953 (commit "9a15c8bed04585f45e6a461bcda1b475144dbd0b")))
12954 (file-name (git-file-name name version))
12955 (sha256
12956 (base32 "1my2ka7h72ipx5n3b465g6kjkasrhsvhqlijwcg6dhlzs5yygl23"))))
12957 (build-system asdf-build-system/sbcl)
12958 (home-page "https://github.com/borodust/claw-support")
12959 (synopsis "Support routines for claw")
12960 (description
12961 "This package provides support routines for the @code{claw} Common Lisp
12962 package.")
12963 (license license:expat)))
12964
12965 (define-public cl-claw-support
12966 (sbcl-package->cl-source-package sbcl-claw-support))
12967
12968 (define-public ecl-claw-support
12969 (sbcl-package->ecl-package sbcl-claw-support))
12970
12971 (define-public sbcl-claw
12972 (let ((revision "0")
12973 (commit "3cd4a96fca95eb9e8d5d069426694669f81b2250"))
12974 (package
12975 (name "sbcl-claw")
12976 (version (git-version "1.0" revision commit))
12977 (source
12978 (origin
12979 (method git-fetch)
12980 (uri (git-reference
12981 (url "https://github.com/borodust/claw")
12982 (commit commit)))
12983 (file-name (git-file-name "claw" version))
12984 (sha256
12985 (base32 "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d"))))
12986 (build-system asdf-build-system/sbcl)
12987 (inputs
12988 `(("alexandria" ,sbcl-alexandria)
12989 ("cffi" ,sbcl-cffi)
12990 ("cl-json" ,sbcl-cl-json)
12991 ("cl-ppcre" ,sbcl-cl-ppcre)
12992 ("claw-support" ,sbcl-claw-support)
12993 ("local-time" ,sbcl-local-time)
12994 ("trivial-features" ,sbcl-trivial-features)))
12995 (home-page "https://github.com/borodust/claw")
12996 (synopsis "Autowrapper for Common Lisp")
12997 (description
12998 "This is a Common Lisp autowrapping facility for quickly creating clean
12999 and lean bindings to C libraries.")
13000 (license license:bsd-2))))
13001
13002 (define-public cl-claw
13003 (sbcl-package->cl-source-package sbcl-claw))
13004
13005 (define-public ecl-claw
13006 (sbcl-package->ecl-package sbcl-claw))
13007
13008 (define-public sbcl-claw-utils
13009 (let ((revision "0")
13010 (commit "efe25016501973dc369f067a64c7d225802bc56f"))
13011 (package
13012 (name "sbcl-claw-utils")
13013 ;; version is not specified
13014 (version (git-version "0.0.0" revision commit))
13015 (source
13016 (origin
13017 (method git-fetch)
13018 (uri (git-reference
13019 (url "https://github.com/borodust/claw-utils")
13020 (commit commit)))
13021 (file-name (git-file-name "claw-utils" version))
13022 (sha256
13023 (base32 "01df3kyf2qs3czi332dnz2s35x2j0fq46vgmsw7wjrrvnqc22mk5"))))
13024 (build-system asdf-build-system/sbcl)
13025 (inputs
13026 `(("alexandria" ,sbcl-alexandria)
13027 ("cffi" ,sbcl-cffi)
13028 ("claw" ,sbcl-claw)))
13029 (home-page "https://github.com/borodust/claw-utils")
13030 (synopsis "Utilities for easier autowrapping")
13031 (description
13032 "This Common Lisp library contains various handy utilties to help
13033 autowrapping with @code{claw}.")
13034 (license license:expat))))
13035
13036 (define-public cl-claw-utils
13037 (sbcl-package->cl-source-package sbcl-claw-utils))
13038
13039 (define-public ecl-claw-utils
13040 (sbcl-package->ecl-package sbcl-claw-utils))
13041
13042 (define-public sbcl-array-operations
13043 (let ((commit "75cbc3b1adb2e3ce2109489753d0f290b071e81b")
13044 (revision "0"))
13045 (package
13046 (name "sbcl-array-operations")
13047 (version (git-version "0.0.0" revision commit))
13048 (source
13049 (origin
13050 (method git-fetch)
13051 (uri (git-reference
13052 (url "https://github.com/bendudson/array-operations")
13053 (commit commit)))
13054 (file-name (git-file-name "array-operations" version))
13055 (sha256
13056 (base32 "0ip49hhq32w80qsc7jmspyda5r2rsszvw0mk2r3341cld78sz9ya"))))
13057 (build-system asdf-build-system/sbcl)
13058 (native-inputs
13059 `(("alexandria" ,sbcl-alexandria)
13060 ("clunit2" ,sbcl-clunit2)))
13061 (inputs
13062 `(("let-plus" ,sbcl-let-plus)))
13063 (synopsis "Simple array operations library for Common Lisp")
13064 (description
13065 "This library is a collection of functions and macros for manipulating
13066 Common Lisp arrays and performing numerical calculations with them.")
13067 (home-page "https://github.com/bendudson/array-operations")
13068 (license license:expat))))
13069
13070 (define-public cl-array-operations
13071 (sbcl-package->cl-source-package sbcl-array-operations))
13072
13073 (define-public ecl-array-operations
13074 (sbcl-package->ecl-package sbcl-array-operations))
13075
13076 (define-public sbcl-clml
13077 (let ((commit "95505b54c8c7b4b27f500c3be97fa5732f4b51a8")
13078 (revision "0"))
13079 (package
13080 (name "sbcl-clml")
13081 (version (git-version "0.0.0" revision commit))
13082 (source
13083 (origin
13084 (method git-fetch)
13085 (uri (git-reference
13086 (url "https://github.com/mmaul/clml")
13087 (commit commit)))
13088 (file-name (git-file-name "clml" version))
13089 (sha256
13090 (base32 "006pii59nmpc61n7p7h8ha5vjg6x0dya327i58z0rnvxs249h345"))
13091 ;; TODO: Remove this when the patch has been merged upstream.
13092 (patches (search-patches "sbcl-clml-fix-types.patch"))))
13093 (build-system asdf-build-system/sbcl)
13094 (inputs
13095 `(("alexandia" ,sbcl-alexandria)
13096 ("array-operations" ,sbcl-array-operations)
13097 ("cl-fad" ,sbcl-cl-fad)
13098 ("cl-ppcre" ,sbcl-cl-ppcre)
13099 ("drakma" ,sbcl-drakma)
13100 ("introspect-environment" ,sbcl-introspect-environment)
13101 ("iterate" ,sbcl-iterate)
13102 ("lparallel" ,sbcl-lparallel)
13103 ("parse-number" ,sbcl-parse-number)
13104 ("split-sequence" ,sbcl-split-sequence)
13105 ("trivial-garbage" ,sbcl-trivial-garbage)))
13106 (synopsis "Common Lisp machine learning library")
13107 (description
13108 "CLML (Common Lisp Machine Learning) is a high performance and large
13109 scale statistical machine learning package")
13110 (home-page "https://mmaul.github.io/clml/")
13111 (license license:llgpl))))
13112
13113 (define-public cl-clml
13114 (sbcl-package->cl-source-package sbcl-clml))
13115
13116 (define-public sbcl-utm-ups
13117 (let ((commit "ffcb7b6d5a56fb7d4b2b95b83bbd28ffe6e6961f")
13118 (revision "0"))
13119 (package
13120 (name "sbcl-utm-ups")
13121 (version (git-version "1.1" revision commit))
13122 (source
13123 (origin
13124 (method git-fetch)
13125 (uri (git-reference
13126 (url "https://github.com/glv2/utm-ups")
13127 (commit commit)))
13128 (file-name (git-file-name "utm-ups" version))
13129 (sha256
13130 (base32 "1rvyh0srgd81kvbzmq4ysd9y6c0qdwh23naqxc9asw1vh7fq08x1"))))
13131 (build-system asdf-build-system/sbcl)
13132 (native-inputs
13133 `(("fiveam" ,sbcl-fiveam)))
13134 (synopsis
13135 "Convert coordinates between latitude/longitude and UTM or UPS")
13136 (description
13137 "This a Common Lisp library to convert geographic coordinates between
13138 latitude/longitude and UTM (Universal Transverse Mercator) or UPS (Universal
13139 Polar Stereographic).")
13140 (home-page "https://github.com/glv2/utm-ups")
13141 (license license:gpl3+))))
13142
13143 (define-public cl-utm-ups
13144 (sbcl-package->cl-source-package sbcl-utm-ups))
13145
13146 (define-public ecl-utm-ups
13147 (sbcl-package->ecl-package sbcl-utm-ups))
13148
13149 (define-public sbcl-mgrs
13150 (let ((commit "00455460407b7e5509d1be3da09bf6152956761f")
13151 (revision "0"))
13152 (package
13153 (name "sbcl-mgrs")
13154 (version (git-version "1.0" revision commit))
13155 (source
13156 (origin
13157 (method git-fetch)
13158 (uri (git-reference
13159 (url "https://github.com/glv2/mgrs")
13160 (commit commit)))
13161 (file-name (git-file-name "mgrs" version))
13162 (sha256
13163 (base32 "0ckvn4hg3wwivzavhfashb6fap4a1q10l8krhbng8bdb54ac10sz"))))
13164 (build-system asdf-build-system/sbcl)
13165 (native-inputs
13166 `(("fiveam" ,sbcl-fiveam)))
13167 (inputs
13168 `(("utm-ups" ,sbcl-utm-ups)))
13169 (synopsis
13170 "Convert coordinates between latitude/longitude and MGRS")
13171 (description
13172 "This a Common Lisp library to convert geographic coordinates between
13173 latitude/longitude and MGRS.")
13174 (home-page "https://github.com/glv2/mgrs")
13175 (license license:gpl3+))))
13176
13177 (define-public cl-mgrs
13178 (sbcl-package->cl-source-package sbcl-mgrs))
13179
13180 (define-public ecl-mgrs
13181 (sbcl-package->ecl-package sbcl-mgrs))
13182
13183 (define-public sbcl-maidenhead
13184 (let ((commit "b756d235c27b5d6798867aa240318af1a8f35d6d")
13185 (revision "0"))
13186 (package
13187 (name "sbcl-maidenhead")
13188 (version (git-version "1.0" revision commit))
13189 (source
13190 (origin
13191 (method git-fetch)
13192 (uri (git-reference
13193 (url "https://github.com/glv2/maidenhead")
13194 (commit commit)))
13195 (file-name (git-file-name "maidenhead" version))
13196 (sha256
13197 (base32 "02p990zprhjvifmsfk8yh3frvz6xyw26ikzxvzglqdixbal36nr3"))))
13198 (build-system asdf-build-system/sbcl)
13199 (native-inputs
13200 `(("fiveam" ,sbcl-fiveam)))
13201 (synopsis
13202 "Convert coordinates between latitude/longitude and Maidenhead")
13203 (description
13204 "This a Common Lisp library to convert geographic coordinates between
13205 latitude/longitude and Maidenhead locator system.")
13206 (home-page "https://github.com/glv2/maidenhead")
13207 (license license:gpl3+))))
13208
13209 (define-public cl-maidenhead
13210 (sbcl-package->cl-source-package sbcl-maidenhead))
13211
13212 (define-public ecl-maidenhead
13213 (sbcl-package->ecl-package sbcl-maidenhead))
13214
13215 (define-public sbcl-olc
13216 (let ((commit "517e27fa57d9a119b00a29c4b6b31e553deff309")
13217 (revision "0"))
13218 (package
13219 (name "sbcl-olc")
13220 (version (git-version "1.0" revision commit))
13221 (source
13222 (origin
13223 (method git-fetch)
13224 (uri (git-reference
13225 (url "https://github.com/glv2/olc")
13226 (commit commit)))
13227 (file-name (git-file-name "olc" version))
13228 (sha256
13229 (base32 "1lnfhp6z6kc8l605zp4siyjiw74y1h4bdq3jfizi084v505wxhgr"))))
13230 (build-system asdf-build-system/sbcl)
13231 (native-inputs
13232 `(("fiveam" ,sbcl-fiveam)))
13233 (synopsis
13234 "Convert coordinates between latitude/longitude and Open Location Code")
13235 (description
13236 "This a Common Lisp library to convert geographic coordinates between
13237 latitude/longitude and Open Location Code.")
13238 (home-page "https://github.com/glv2/olc")
13239 (license license:gpl3+))))
13240
13241 (define-public cl-olc
13242 (sbcl-package->cl-source-package sbcl-olc))
13243
13244 (define-public ecl-olc
13245 (sbcl-package->ecl-package sbcl-olc))
13246
13247 (define-public sbcl-regex
13248 (let ((commit "fbc9a9f313b9edc1788f33d4b23a29151635ae22"))
13249 (package
13250 (name "sbcl-regex")
13251 (version (git-version "1" "1" commit))
13252 (source
13253 (origin
13254 (method git-fetch)
13255 (uri (git-reference
13256 (url "https://github.com/michaelw/regex/")
13257 (commit commit)))
13258 (file-name (git-file-name name version))
13259 (sha256
13260 (base32 "0wq5wlafrxv13wg28hg5b10sc48b88swsvznpy2zg7x37m4nmm6a"))))
13261 (build-system asdf-build-system/sbcl)
13262 (home-page "https://github.com/michaelw/regex/")
13263 (synopsis "Regular expression engine for Common Lisp")
13264 (description
13265 "This Common Lisp package provides a regular expression engine.")
13266 (license license:bsd-2))))
13267
13268 (define-public cl-regex
13269 (sbcl-package->cl-source-package sbcl-regex))
13270
13271 (define-public ecl-regex
13272 (sbcl-package->ecl-package sbcl-regex))
13273
13274 (define-public sbcl-clawk
13275 (let ((commit "3a91634df686417114044a98c063cbe76bfac7b6"))
13276 (package
13277 (name "sbcl-clawk")
13278 (version (git-version "4" "1" commit))
13279 (source
13280 (origin
13281 (method git-fetch)
13282 (uri (git-reference
13283 (url "https://github.com/sharplispers/clawk")
13284 (commit commit)))
13285 (file-name (git-file-name name version))
13286 (sha256
13287 (base32 "1ph3xjqilvinvgr9q3w47zxqyz1sqnq030nlx7kgkkv8j3bnqk7a"))))
13288 (build-system asdf-build-system/sbcl)
13289 (inputs
13290 `(("sbcl-regex" ,sbcl-regex)))
13291 (home-page "https://github.com/sharplispers/clawk")
13292 (synopsis "Common Lisp AWK")
13293 (description
13294 "CLAWK is an AWK implementation embedded into Common Lisp.")
13295 (license license:bsd-2))))
13296
13297 (define-public cl-clawk
13298 (sbcl-package->cl-source-package sbcl-clawk))
13299
13300 (define-public ecl-clawk
13301 (sbcl-package->ecl-package sbcl-clawk))
13302
13303 (define-public sbcl-check-it
13304 (let ((commit "b79c9103665be3976915b56b570038f03486e62f"))
13305 (package
13306 (name "sbcl-check-it")
13307 (version (git-version "0.1.0" "1" commit))
13308 (source
13309 (origin
13310 (method git-fetch)
13311 (uri (git-reference
13312 (url "https://github.com/DalekBaldwin/check-it/")
13313 (commit commit)))
13314 (file-name (git-file-name name version))
13315 (sha256
13316 (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"))))
13317 (build-system asdf-build-system/sbcl)
13318 (inputs
13319 `(("alexandria" ,sbcl-alexandria)
13320 ("closer-mop" ,sbcl-closer-mop)
13321 ("optima" ,sbcl-optima)))
13322 (native-inputs
13323 `(("stefil" ,sbcl-stefil)))
13324 (home-page "https://github.com/arclanguage/Clamp")
13325 (synopsis "Randomized specification-based testing for Common Lisp")
13326 (description
13327 "This is a randomized property-based testing library for Common Lisp.
13328 Rather than being a full-fledged general test framework in its own right, it's
13329 designed to embed randomized tests in whatever framework you like.")
13330 (license license:llgpl))))
13331
13332 (define-public cl-check-it
13333 (sbcl-package->cl-source-package sbcl-check-it))
13334
13335 (define-public ecl-check-it
13336 (sbcl-package->ecl-package sbcl-check-it))
13337
13338 (define-public sbcl-clamp
13339 (let ((commit "02b8f3953e5753cc61a719807c82f3795cd28fe1"))
13340 (package
13341 (name "sbcl-clamp")
13342 (version (git-version "0.3" "1" commit))
13343 (source
13344 (origin
13345 (method git-fetch)
13346 (uri (git-reference
13347 (url "https://github.com/arclanguage/Clamp")
13348 (commit commit)))
13349 (file-name (git-file-name name version))
13350 (sha256
13351 (base32 "0fdr9nqfmmpxm6hvjdxi1jkclya9xlnrw1yc3cn1m4ww3f50p31m"))))
13352 (build-system asdf-build-system/sbcl)
13353 (inputs
13354 `(("iterate" ,sbcl-iterate)
13355 ("cl-syntax" ,sbcl-cl-syntax)))
13356 (native-inputs
13357 `(("cl-unit" ,sbcl-clunit)
13358 ("check-it" ,sbcl-check-it)))
13359 (arguments
13360 `(#:phases
13361 (modify-phases %standard-phases
13362 (add-after 'unpack 'fix-build
13363 (lambda _
13364 (substitute* "clamp.asd"
13365 (("\\(:file \"read\" :depends-on \\(\"aliases\"\\)\\)")
13366 "(:file \"read\" :depends-on (\"aliases\" \"base\"))"))
13367 #t)))))
13368 (home-page "https://github.com/arclanguage/Clamp")
13369 (synopsis "Common Lisp with Arc macros and procedures")
13370 (description
13371 "Clamp is an attempt to bring the powerful, but verbose, language of
13372 Common Lisp up to the terseness of Arc.
13373
13374 There are two parts to Clamp. There is the core of Clamp, which implements
13375 the utilities of Arc that are easily converted from Arc to Common Lisp. The
13376 other part is the \"experimental\" part. It contains features of Arc that are
13377 not so easy to copy (ssyntax, argument destructuring, etc.).")
13378 (license license:artistic2.0))))
13379
13380 (define-public cl-clamp
13381 (sbcl-package->cl-source-package sbcl-clamp))
13382
13383 (define-public ecl-clamp
13384 (sbcl-package->ecl-package sbcl-clamp))
13385
13386 (define-public sbcl-trivial-shell
13387 (let ((commit "e02ec191b34b52deca5d1c4ee99d4fa13b8772e0"))
13388 (package
13389 (name "sbcl-trivial-shell")
13390 (version (git-version "0.2.0" "1" commit))
13391 (source
13392 (origin
13393 (method git-fetch)
13394 (uri (git-reference
13395 (url "https://github.com/gwkkwg/trivial-shell")
13396 (commit commit)))
13397 (file-name (git-file-name name version))
13398 (sha256
13399 (base32 "08mpkl5ij5sjfsyn8pq2kvsvpvyvr7ha1r8g1224fa667b8k2q85"))))
13400 (build-system asdf-build-system/sbcl)
13401 (native-inputs
13402 `(("lift" ,sbcl-lift)))
13403 (home-page "http://common-lisp.net/project/trivial-shell/")
13404 (synopsis "Common Lisp access to the shell")
13405 (description
13406 "A simple Common-Lisp interface to the underlying operating system.
13407 It's independent of the implementation and operating system.")
13408 (license license:expat))))
13409
13410 (define-public cl-trivial-shell
13411 (sbcl-package->cl-source-package sbcl-trivial-shell))
13412
13413 (define-public ecl-trivial-shell
13414 (sbcl-package->ecl-package sbcl-trivial-shell))
13415
13416 (define-public sbcl-clesh
13417 (let ((commit "44e96e04a72e5bc006dc4eb02ce8962348dd4a11"))
13418 (package
13419 (name "sbcl-clesh")
13420 (version (git-version "0.0.0" "1" commit))
13421 (source
13422 (origin
13423 (method git-fetch)
13424 (uri (git-reference
13425 (url "https://github.com/Neronus/Clesh")
13426 (commit commit)))
13427 (file-name (git-file-name name version))
13428 (sha256
13429 (base32 "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318"))))
13430 (build-system asdf-build-system/sbcl)
13431 (inputs
13432 `(("trivial-shell" ,sbcl-trivial-shell)
13433 ("named-readtables" ,sbcl-named-readtables)))
13434 (home-page "https://github.com/Neronus/Clesh")
13435 (synopsis "Embed shell code in Common Lisp")
13436 (description
13437 "This is a very short and simple program, written in Common Lisp, that
13438 extends Common Lisp to embed shell code in a manner similar to Perl's
13439 backtick. It has been forked from SHELISP.")
13440 (license license:bsd-2))))
13441
13442 (define-public cl-clesh
13443 (sbcl-package->cl-source-package sbcl-clesh))
13444
13445 (define-public ecl-clesh
13446 (sbcl-package->ecl-package sbcl-clesh))
13447
13448 (define-public sbcl-trivial-channels
13449 (let ((commit "e2370118d8983ba69c0360a7695f8f2e2fd6a8a6")
13450 (revision "1"))
13451 (package
13452 (name "sbcl-trivial-channels")
13453 (version (git-version "1.0" revision commit))
13454 (source
13455 (origin
13456 (method git-fetch)
13457 (uri (git-reference
13458 (url "https://github.com/rpav/trivial-channels")
13459 (commit commit)))
13460 (file-name (git-file-name "trivial-channels" version))
13461 (sha256
13462 (base32 "04wnxcgk40x8p0gxnz9arv1a5wasdqrdxa8c4p5v7r2mycfps6jj"))))
13463 (build-system asdf-build-system/sbcl)
13464 (inputs
13465 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13466 ("trivial-timeout" ,sbcl-trivial-timeout)))
13467 (home-page "https://github.com/rpav/trivial-channels")
13468 (synopsis "Common Lisp simple thread-safe channels with timeout")
13469 (description
13470 "It's very basic implementation of channels and queue for Common Lisp.")
13471 (license license:bsd-2))))
13472
13473 (define-public ecl-trivial-channels
13474 (sbcl-package->ecl-package sbcl-trivial-channels))
13475
13476 (define-public cl-trivial-channels
13477 (sbcl-package->cl-source-package sbcl-trivial-channels))
13478
13479 (define-public sbcl-trivial-download
13480 (let ((commit "d2472061d86b1cf3d32f388daacd4e32a13af699"))
13481 (package
13482 (name "sbcl-trivial-download")
13483 (version (git-version "0.3" "1" commit))
13484 (source
13485 (origin
13486 (method git-fetch)
13487 (uri (git-reference
13488 (url "https://github.com/eudoxia0/trivial-download/")
13489 (commit commit)))
13490 (file-name (git-file-name name version))
13491 (sha256
13492 (base32 "06f46zr3gp3wlm2kgxna24qd2gpr1v89x9fynh1x5vrw6c6hqjcv"))))
13493 (build-system asdf-build-system/sbcl)
13494 (inputs
13495 `(("drakma" ,sbcl-drakma)))
13496 (home-page "https://github.com/eudoxia0/trivial-download/")
13497 (synopsis "Download files from Common Lisp")
13498 (description
13499 "@code{trivial-download} allows you to download files from the Internet
13500 from Common Lisp. It provides a progress bar.")
13501 (license license:bsd-2))))
13502
13503 (define-public cl-trivial-download
13504 (sbcl-package->cl-source-package sbcl-trivial-download))
13505
13506 (define-public ecl-trivial-download
13507 (sbcl-package->ecl-package sbcl-trivial-download))
13508
13509 (define-public sbcl-gtwiwtg
13510 (package
13511 (name "sbcl-gtwiwtg")
13512 (version "0.1.1")
13513 (source
13514 (origin
13515 (method git-fetch)
13516 (uri (git-reference
13517 (url "https://github.com/cbeo/gtwiwtg/")
13518 (commit version)))
13519 (file-name (git-file-name name version))
13520 (sha256
13521 (base32 "0lkraw0dwh4is4x5sp5rjrw6f93m0gr9849abrbi12s25ws7jbw4"))))
13522 (build-system asdf-build-system/sbcl)
13523 (native-inputs
13524 `(("osicat" ,sbcl-osicat)
13525 ("prove" ,sbcl-prove)))
13526 (home-page "https://github.com/cbeo/gtwiwtg/")
13527 (synopsis "Naive generators for Common Lisp")
13528 (description
13529 "The GTWIWTG library (Generators The Way I Want Them Generated --
13530 technically not generators, but iterators) is meant to be small, explorable,
13531 and understandable.")
13532 (license license:gpl3)))
13533
13534 (define-public cl-gtwiwtg
13535 (sbcl-package->cl-source-package sbcl-gtwiwtg))
13536
13537 (define-public ecl-gtwiwtg
13538 (sbcl-package->ecl-package sbcl-gtwiwtg))
13539
13540 (define-public sbcl-cl-progress-bar
13541 (let ((commit "9374170858663c8fe829e9fb5a29bd2cb48d95ae"))
13542 (package
13543 (name "sbcl-cl-progress-bar")
13544 (version (git-version "0.0.0" "1" commit))
13545 (source
13546 (origin
13547 (method git-fetch)
13548 (uri (git-reference
13549 (url "https://github.com/sirherrbatka/cl-progress-bar/")
13550 (commit commit)))
13551 (file-name (git-file-name name version))
13552 (sha256
13553 (base32 "1ldb4qhmx431n3lsq71ynwb9ybazbfqd55icjbhi06mj52ngndir"))))
13554 (build-system asdf-build-system/sbcl)
13555 (inputs
13556 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13557 ("documentation-utils-extensions" ,sbcl-documentation-utils-extensions)))
13558 (home-page "https://github.com/sirherrbatka/cl-progress-bar/")
13559 (synopsis "Progress bars in Common Lisp")
13560 (description
13561 "This library provides almost the same code as used inside Quicklisp
13562 for drawning progress bars")
13563 (license license:expat))))
13564
13565 (define-public cl-progress-bar
13566 (sbcl-package->cl-source-package sbcl-cl-progress-bar))
13567
13568 (define-public ecl-cl-progress-bar
13569 (sbcl-package->ecl-package sbcl-cl-progress-bar))
13570
13571 (define-public sbcl-repl-utilities
13572 (let ((commit "7e300df663177ea4581f4e7e9c601377881dd986"))
13573 (package
13574 (name "sbcl-repl-utilities")
13575 (version (git-version "0.0.0" "1" commit))
13576 (source
13577 (origin
13578 (method git-fetch)
13579 (uri (git-reference
13580 (url "https://github.com/m-n/repl-utilities/")
13581 (commit commit)))
13582 (file-name (git-file-name name version))
13583 (sha256
13584 (base32 "1hh56pq5nw3l4b83dzlyss69f06r038byj2cnjwvci4hfjhdfcc3"))))
13585 (build-system asdf-build-system/sbcl)
13586 (home-page "https://github.com/m-n/repl-utilities")
13587 (synopsis "Ease common tasks at the Common Lisp REPL")
13588 (description
13589 "@code{repl-utilities} is a set of utilities which ease life at the
13590 REPL. It includes three sorts of features: introspective procedures,
13591 miscellaneous utility functions, and, pulling them together, methods to
13592 conveniently keep these symbols and optionally additional symbols available in
13593 whichever package you switch to.")
13594 (license license:bsd-2))))
13595
13596 (define-public cl-repl-utilities
13597 (sbcl-package->cl-source-package sbcl-repl-utilities))
13598
13599 (define-public ecl-repl-utilities
13600 (sbcl-package->ecl-package sbcl-repl-utilities))
13601
13602 (define-public sbcl-supertrace
13603 (let ((commit "66d22c3ff131ecd1c8048dfced1d62ed6024ecb0"))
13604 (package
13605 (name "sbcl-supertrace")
13606 (version (git-version "0.1.0" "1" commit))
13607 (source
13608 (origin
13609 (method git-fetch)
13610 (uri (git-reference
13611 (url "https://github.com/fukamachi/supertrace")
13612 (commit commit)))
13613 (file-name (git-file-name name version))
13614 (sha256
13615 (base32 "0n369n6b7y1m49biccnnr7svymjdsk8sksrkqrn3mj21vgv7s7bg"))))
13616 (build-system asdf-build-system/sbcl)
13617 (native-inputs
13618 `(("cffi-grovel" ,sbcl-cffi)
13619 ("rove" ,sbcl-rove)
13620 ("cl-ppcre" ,sbcl-cl-ppcre)
13621 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
13622 (inputs
13623 `(("cffi" ,sbcl-cffi)))
13624 (home-page "https://github.com/fukamachi/supertrace")
13625 (synopsis "Improved Common Lisp tracing for debugging and profiling")
13626 (description
13627 "Supertrace provides a superior Common Lisp @code{trace} functionality
13628 for debugging and profiling real world applications.")
13629 (license license:bsd-2))))
13630
13631 (define-public cl-supertrace
13632 (sbcl-package->cl-source-package sbcl-supertrace))
13633
13634 (define-public ecl-supertrace
13635 (sbcl-package->ecl-package sbcl-supertrace))
13636
13637 (define-public sbcl-trivial-benchmark
13638 (let ((commit "42d76733dd2e873471c6f1e27d39113293f7dd5c"))
13639 (package
13640 (name "sbcl-trivial-benchmark")
13641 (version (git-version "2.0.0" "1" commit))
13642 (source
13643 (origin
13644 (method git-fetch)
13645 (uri (git-reference
13646 (url "https://github.com/Shinmera/trivial-benchmark/")
13647 (commit commit)))
13648 (file-name (git-file-name name version))
13649 (sha256
13650 (base32 "0fbzqbpm2ixz85555krl36kbbbjyn699vdj6k383khi3g9y629fa"))))
13651 (build-system asdf-build-system/sbcl)
13652 (inputs
13653 `(("alexandria" ,sbcl-alexandria)))
13654 (home-page "http://shinmera.github.io/trivial-benchmark/")
13655 (synopsis "Easy to use benchmarking system for Common Lisp")
13656 (description
13657 "Trivial-Benchmark runs a block of code many times and outputs some
13658 statistical data for it. On SBCL this includes the data from @code{time}, for
13659 all other implementations just the @code{real-time} and @code{run-time} data.
13660 However, you can extend the system by adding your own @code{metrics} to it, or
13661 even by adding additional statistical @code{compute}ations. ")
13662 (license license:zlib))))
13663
13664 (define-public cl-trivial-benchmark
13665 (sbcl-package->cl-source-package sbcl-trivial-benchmark))
13666
13667 (define-public ecl-trivial-benchmark
13668 (sbcl-package->ecl-package sbcl-trivial-benchmark))
13669
13670 (define-public sbcl-glyphs
13671 (let ((commit "1ff5714e8c1dca327bc604dfe3e3d1f4b7755373"))
13672 (package
13673 (name "sbcl-glyphs")
13674 (version (git-version "0.0.0" "1" commit))
13675 (source
13676 (origin
13677 (method git-fetch)
13678 (uri (git-reference
13679 (url "https://github.com/ahungry/glyphs/")
13680 (commit commit)))
13681 (file-name (git-file-name name version))
13682 (sha256
13683 (base32 "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf"))))
13684 (build-system asdf-build-system/sbcl)
13685 (inputs
13686 `(("cl-ppcre" ,sbcl-cl-ppcre)
13687 ("parenscript" ,sbcl-parenscript)
13688 ("named-readtables" ,sbcl-named-readtables)))
13689 (home-page "https://github.com/ahungry/glyphs/")
13690 (synopsis "Reduce Common Lisp verbosity")
13691 (description
13692 "This library is a little experiment in reducing verbosity in Common
13693 Lisp, inspired by BODOL (@url{https://github.com/bodil/BODOL}).")
13694 (license license:gpl3))))
13695
13696 (define-public cl-glyphs
13697 (sbcl-package->cl-source-package sbcl-glyphs))
13698
13699 (define-public ecl-glyphs
13700 (sbcl-package->ecl-package sbcl-glyphs))
13701
13702 (define-public sbcl-zs3
13703 (package
13704 (name "sbcl-zs3")
13705 (version "1.3.3")
13706 (source
13707 (origin
13708 (method git-fetch)
13709 (uri
13710 (git-reference
13711 (url "https://github.com/xach/zs3")
13712 (commit (string-append "release-" version))))
13713 (file-name (git-file-name "zs3" version))
13714 (sha256
13715 (base32 "186v95wgsj2hkxdw2jl9x1w4fddjclp7arp0rrd9vf5ly8h8sbf3"))))
13716 (build-system asdf-build-system/sbcl)
13717 (inputs
13718 `(("drakma" ,sbcl-drakma)
13719 ("alexandria" ,sbcl-alexandria)
13720 ("cxml" ,sbcl-cxml)
13721 ("ironclad" ,sbcl-ironclad)
13722 ("puri" ,sbcl-puri)
13723 ("cl-base64" ,sbcl-cl-base64)))
13724 (synopsis "Work with Amazon S3 and Amazon CloudFront from Common Lisp")
13725 (description "This is ZS3, a library for working with Amazon's Simple Storage
13726 Service (S3) and CloudFront service from Common Lisp.")
13727 (home-page "https://github.com/xach/zs3")
13728 (license license:bsd-2)))
13729
13730 (define-public cl-zs3
13731 (sbcl-package->cl-source-package sbcl-zs3))
13732
13733 (define-public ecl-zs3
13734 (sbcl-package->ecl-package sbcl-zs3))
13735
13736 (define-public sbcl-simple-neural-network
13737 (package
13738 (name "sbcl-simple-neural-network")
13739 (version "3.1")
13740 (source
13741 (origin
13742 (method git-fetch)
13743 (uri (git-reference
13744 (url "https://github.com/glv2/simple-neural-network")
13745 (commit (string-append "v" version))))
13746 (file-name (git-file-name "simple-neural-network" version))
13747 (sha256
13748 (base32 "1jj1c90fr5clwka0jv32hv6xp1bkdlpa6x5jh19an13rhx8ll4zr"))))
13749 (build-system asdf-build-system/sbcl)
13750 (native-inputs
13751 `(("chipz" ,sbcl-chipz)
13752 ("fiveam" ,sbcl-fiveam)))
13753 (inputs
13754 `(("cl-store" ,sbcl-cl-store)
13755 ("lparallel" ,sbcl-lparallel)))
13756 (arguments
13757 `(#:phases
13758 (modify-phases %standard-phases
13759 (add-after 'check 'remove-test-data
13760 (lambda* (#:key outputs #:allow-other-keys)
13761 (let ((out (assoc-ref outputs "out")))
13762 (for-each delete-file (find-files out "\\.gz$"))))))))
13763 (synopsis "Simple neural network in Common Lisp")
13764 (description
13765 "@code{simple-neural-network} is a Common Lisp library for creating,
13766 training and using basic neural networks. The networks created by this
13767 library are feedforward neural networks trained using backpropagation.")
13768 (home-page "https://github.com/glv2/simple-neural-network")
13769 (license license:gpl3+)))
13770
13771 (define-public cl-simple-neural-network
13772 (sbcl-package->cl-source-package sbcl-simple-neural-network))
13773
13774 (define-public ecl-simple-neural-network
13775 (sbcl-package->ecl-package sbcl-simple-neural-network))
13776
13777 (define-public sbcl-zstd
13778 (let ((commit "d144582c581aaa52bac24d6686af27fa3e781e06")
13779 (revision "1"))
13780 (package
13781 (name "sbcl-zstd")
13782 (version (git-version "1.0" revision commit))
13783 (source
13784 (origin
13785 (method git-fetch)
13786 (uri (git-reference
13787 (url "https://github.com/glv2/cl-zstd")
13788 (commit commit)))
13789 (file-name (git-file-name "cl-zstd" version))
13790 (sha256
13791 (base32 "1774jy8hzbi6nih3sq6vchk66f7g8w86dwgpbvljyfzcnkcaz6ql"))))
13792 (build-system asdf-build-system/sbcl)
13793 (native-inputs
13794 `(("fiveam" ,sbcl-fiveam)))
13795 (inputs
13796 `(("cffi" ,sbcl-cffi)
13797 ("cl-octet-streams" ,sbcl-cl-octet-streams)
13798 ("zstd-lib" ,zstd "lib")))
13799 (arguments
13800 '(#:phases
13801 (modify-phases %standard-phases
13802 (add-after 'unpack 'fix-paths
13803 (lambda* (#:key inputs #:allow-other-keys)
13804 (substitute* "src/libzstd.lisp"
13805 (("libzstd\\.so")
13806 (string-append (assoc-ref inputs "zstd-lib")
13807 "/lib/libzstd.so")))
13808 #t)))))
13809 (synopsis "Common Lisp library for Zstandard (de)compression")
13810 (description
13811 "This Common Lisp library provides functions for Zstandard
13812 compression/decompression using bindings to the libzstd C library.")
13813 (home-page "https://github.com/glv2/cl-zstd")
13814 (license license:gpl3+))))
13815
13816 (define-public cl-zstd
13817 (sbcl-package->cl-source-package sbcl-zstd))
13818
13819 (define-public ecl-zstd
13820 (sbcl-package->ecl-package sbcl-zstd))
13821
13822 (define-public sbcl-agnostic-lizard
13823 (let ((commit "fe3a73719f05901c8819f8995a3ebae738257952")
13824 (revision "1"))
13825 (package
13826 (name "sbcl-agnostic-lizard")
13827 (version (git-version "0.0.0" revision commit))
13828 (source
13829 (origin
13830 (method git-fetch)
13831 (uri (git-reference
13832 (url "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
13833 (commit commit)))
13834 (file-name (git-file-name name version))
13835 (sha256
13836 (base32 "0ax78y8w4zlp5dcwyhz2nq7j3shi49qn31dkfg8lv2jlg7mkwh2d"))))
13837 (build-system asdf-build-system/sbcl)
13838 (synopsis "Almost correct portable code walker for Common Lisp")
13839 (description
13840 "Agnostic Lizard is a portable implementation of a code walker and in
13841 particular of the macroexpand-all function (and macro) that makes a best
13842 effort to be correct while not expecting much beyond what the Common Lisp
13843 standard requires.
13844
13845 It aims to be implementation-agnostic and to climb the syntax trees.")
13846 (home-page "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
13847 (license license:gpl3+))))
13848
13849 (define-public cl-agnostic-lizard
13850 (sbcl-package->cl-source-package sbcl-agnostic-lizard))
13851
13852 (define-public ecl-agnostic-lizard
13853 (sbcl-package->ecl-package sbcl-agnostic-lizard))
13854
13855 (define-public sbcl-dynamic-classes
13856 (package
13857 (name "sbcl-dynamic-classes")
13858 (version "1.0.2")
13859 (source
13860 (origin
13861 (method git-fetch)
13862 (uri (git-reference
13863 (url "https://github.com/gwkkwg/dynamic-classes")
13864 (commit (string-append "version-" version))))
13865 (file-name (git-file-name "dynamic-classes" version))
13866 (sha256
13867 (base32 "1z3ag6w4ff0v6715xa9zhvwjqnp4i6zrjfmxdz8m115sklbwgm6c"))))
13868 (build-system asdf-build-system/sbcl)
13869 (inputs
13870 `(("metatilities-base" ,sbcl-metatilities-base)))
13871 (arguments
13872 ;; NOTE: (Sharlatan-20210106222900+0000) Circular dependencies and failing
13873 ;; test suites. lift-standard.config contains referances to deprecated
13874 ;; functionality.
13875 `(#:tests? #f))
13876 (home-page "https://common-lisp.net/project/dynamic-classes/")
13877 (synopsis "Dynamic class definition for Common Lisp")
13878 (description "Dynamic-Classes helps to ease the prototyping process by
13879 bringing dynamism to class definition.")
13880 (license license:expat)))
13881
13882 (define-public ecl-dynamic-classes
13883 (sbcl-package->ecl-package sbcl-dynamic-classes))
13884
13885 (define-public cl-dynamic-classes
13886 (sbcl-package->cl-source-package sbcl-dynamic-classes))
13887
13888 (define-public sbcl-cl-markdown
13889 ;; NOTE: (Sharlatan-20210106214629+0000) latest version tag
13890 ;; "version-0.10.6_version-0.10.6" is failing to build due to missing system
13891 ;; #:container-dynamic-classes
13892 (package
13893 (name "sbcl-cl-markdown")
13894 (version "0.10.4")
13895 (source
13896 (origin
13897 (method git-fetch)
13898 (uri (git-reference
13899 (url "https://github.com/gwkkwg/cl-markdown")
13900 (commit (string-append "version-" version))))
13901 (file-name (git-file-name "cl-markdown" version))
13902 (sha256
13903 (base32 "1wdjbdd1zyskxf7zlilcp6fmwkivybj0wjp64vvzb265d5xi7p8p"))))
13904 (build-system asdf-build-system/sbcl)
13905 (inputs
13906 `(("anaphora" ,sbcl-anaphora)
13907 ("cl-containers" ,sbcl-cl-containers)
13908 ("cl-ppcre" ,sbcl-cl-ppcre)
13909 ("dynamic-classes" ,sbcl-dynamic-classes)
13910 ("metabang-bind" ,sbcl-metabang-bind)
13911 ("metatilities-base" ,sbcl-metatilities-base)))
13912 (arguments
13913 ;; NOTE: (Sharlatan-20210107213629+0000) Tests depend on too many not
13914 ;; available systems, which themself are abandoned.
13915 `(#:tests? #f))
13916 (home-page "https://common-lisp.net/project/cl-markdown/")
13917 (synopsis "Common Lisp rewrite of Markdown")
13918 (description
13919 "This is an implementation of a Markdown parser in Common Lisp.")
13920 (license license:expat)))
13921
13922 (define-public ecl-cl-markdown
13923 (sbcl-package->ecl-package sbcl-cl-markdown))
13924
13925 (define-public cl-markdown
13926 (sbcl-package->cl-source-package sbcl-cl-markdown))
13927
13928 (define-public sbcl-magicffi
13929 (let ((commit "d88f2f280c31f639e4e05be75215d8a8dce6aef2"))
13930 (package
13931 (name "sbcl-magicffi")
13932 (version (git-version "0.0.0" "1" commit))
13933 (source
13934 (origin
13935 (method git-fetch)
13936 (uri (git-reference
13937 (url "https://github.com/dochang/magicffi/")
13938 (commit commit)))
13939 (file-name (git-file-name name version))
13940 (sha256
13941 (base32 "0p6ysa92fk34bhxpw7bycbfgw150fv11z9x8jr9xb4lh8cm2hvp6"))))
13942 (build-system asdf-build-system/sbcl)
13943 (native-inputs
13944 `(("alexandria" ,sbcl-alexandria)))
13945 (inputs
13946 `(("cffi" ,sbcl-cffi)
13947 ("ppcre" ,sbcl-cl-ppcre)
13948 ("libmagic" ,file)))
13949 (arguments
13950 `(#:phases
13951 (modify-phases %standard-phases
13952 (add-after 'unpack 'fix-paths
13953 (lambda* (#:key inputs #:allow-other-keys)
13954 (let ((magic (assoc-ref inputs "libmagic")))
13955 (substitute* "grovel.lisp"
13956 (("/usr/include/magic.h")
13957 (string-append magic "/include/magic.h")))
13958 (substitute* "api.lisp"
13959 ((":default \"libmagic\"" all)
13960 (string-append ":default \"" magic "/lib/libmagic\"")))))))))
13961 (home-page "https://common-lisp.net/project/magicffi/")
13962 (synopsis "Common Lisp interface to libmagic based on CFFI")
13963 (description
13964 "MAGICFFI is a Common Lisp CFFI interface to libmagic(3), the file type
13965 determination library using @emph{magic} numbers.")
13966 (license license:bsd-2))))
13967
13968 (define-public ecl-magicffi
13969 (sbcl-package->ecl-package sbcl-magicffi))
13970
13971 (define-public cl-magicffi
13972 (sbcl-package->cl-source-package sbcl-magicffi))
13973
13974 (define-public sbcl-shlex
13975 (let ((commit "c5616dffca0d4d8ddbc1cd6f37a96d88477b2740"))
13976 (package
13977 (name "sbcl-shlex")
13978 (version (git-version "0.0.0" "1" commit))
13979 (source
13980 (origin
13981 (method git-fetch)
13982 (uri (git-reference
13983 (url "https://github.com/ruricolist/cl-shlex")
13984 (commit commit)))
13985 (file-name (git-file-name name version))
13986 (sha256
13987 (base32 "1nas024n4wv319bf40aal96g72bgi9nkapj2chywj2cc6r8hzkfg"))))
13988 (build-system asdf-build-system/sbcl)
13989 (inputs
13990 `(("alexandria" ,sbcl-alexandria)
13991 ("serapeum" ,sbcl-serapeum)
13992 ("ppcre" ,sbcl-cl-ppcre)
13993 ("unicode" ,sbcl-cl-unicode)))
13994 (home-page "https://github.com/ruricolist/cl-shlex")
13995 (synopsis "Common Lisp lexical analyzer for shell-like syntaxes")
13996 (description
13997 "This library contains a lexer for syntaxes that use shell-like rules
13998 for quoting and commenting. It is a port of the @code{shlex} module from Python’s
13999 standard library.")
14000 (license license:expat))))
14001
14002 (define-public ecl-shlex
14003 (sbcl-package->ecl-package sbcl-shlex))
14004
14005 (define-public cl-shlex
14006 (sbcl-package->cl-source-package sbcl-shlex))
14007
14008 (define-public sbcl-cmd
14009 (let ((commit "bc5a3bee8f22917126e4c3d05b33f766e562dbd8"))
14010 (package
14011 (name "sbcl-cmd")
14012 (version (git-version "0.0.1" "3" commit))
14013 (source
14014 (origin
14015 (method git-fetch)
14016 (uri (git-reference
14017 (url "https://github.com/ruricolist/cmd/")
14018 (commit commit)))
14019 (file-name (git-file-name name version))
14020 (sha256
14021 (base32 "1sjlabrknw1kjb2y89vssjhcqh3slgly8wnr3152zgis8lsj2yc7"))))
14022 (build-system asdf-build-system/sbcl)
14023 (inputs
14024 `(("alexandria" ,sbcl-alexandria)
14025 ("coreutils" ,coreutils)
14026 ("procps" ,procps)
14027 ("serapeum" ,sbcl-serapeum)
14028 ("shlex" ,sbcl-shlex)
14029 ("trivia" ,sbcl-trivia)))
14030 (arguments
14031 `(#:phases
14032 (modify-phases %standard-phases
14033 (add-after 'unpack 'fix-paths
14034 (lambda* (#:key inputs #:allow-other-keys)
14035 (let ((bin (string-append (assoc-ref inputs "coreutils") "/bin"))
14036 (ps-bin (string-append (assoc-ref inputs "procps") "/bin")))
14037 (substitute* "cmd.lisp"
14038 (("\\(def \\+env\\+ \"env\"\\)")
14039 (format #f "(def +env+ \"~a/env\")" bin))
14040 (("\\(def \\+kill\\+ \"kill\"\\)")
14041 (format #f "(def +kill+ \"~a/kill\")" bin))
14042 (("\\(def \\+ps\\+ \"ps\"\\)")
14043 (format #f "(def +ps+ \"~a/ps\")" ps-bin))
14044 (("\\(def \\+pwd\\+ \"pwd\"\\)")
14045 (format #f "(def +pwd+ \"~a/pwd\")" bin))
14046 (("\\(def \\+sh\\+ \"/bin/sh\"\\)")
14047 (format #f "(def +sh+ \"~a\")" (which "sh")))
14048 (("\\(def \\+tr\\+ \"tr\"\\)")
14049 (format #f "(def +tr+ \"~a/tr\")" bin)))))))))
14050 (home-page "https://github.com/ruricolist/cmd")
14051 (synopsis "Conveniently run external programs from Common Lisp")
14052 (description
14053 "A utility for running external programs, built on UIOP.
14054 Cmd is designed to be natural to use, protect against shell interpolation and
14055 be usable from multi-threaded programs.")
14056 (license license:expat))))
14057
14058 (define-public ecl-cmd
14059 (sbcl-package->ecl-package sbcl-cmd))
14060
14061 (define-public cl-cmd
14062 (sbcl-package->cl-source-package sbcl-cmd))
14063
14064 (define-public sbcl-ppath
14065 (let ((commit "eb1a8173b4d1d691ea9a7699412123462f58c3ce"))
14066 (package
14067 (name "sbcl-ppath")
14068 (version (git-version "0.1" "1" commit))
14069 (source
14070 (origin
14071 (method git-fetch)
14072 (uri (git-reference
14073 (url "https://github.com/fourier/ppath/")
14074 (commit commit)))
14075 (file-name (git-file-name name commit))
14076 (sha256
14077 (base32 "1c46q9lmzqv14z80d3fwdawgn3pn4922x31fyqvsvbcjm4hd16fb"))))
14078 (build-system asdf-build-system/sbcl)
14079 (inputs
14080 `(("alexandria" ,sbcl-alexandria)
14081 ("cffi" ,sbcl-cffi)
14082 ("osicat" ,sbcl-osicat)
14083 ("ppcre" ,sbcl-cl-ppcre)
14084 ("split-sequence" ,sbcl-split-sequence)
14085 ("trivial-features" ,sbcl-trivial-features)))
14086 (native-inputs
14087 `(("cl-fad" ,sbcl-cl-fad)
14088 ("prove" ,sbcl-prove)))
14089 (home-page "https://github.com/fourier/ppath")
14090 (synopsis "Common Lisp's implementation of the Python's os.path module")
14091 (description
14092 "This library is a path strings manipulation library inspired by
14093 Python's @code{os.path}. All functionality from @code{os.path} is supported on
14094 major operation systems.
14095
14096 The philosophy behind is to use simple strings and \"dumb\" string
14097 manipulation functions to handle paths and filenames. Where possible the
14098 corresponding OS system functions are called.")
14099 (license license:bsd-2))))
14100
14101 (define-public ecl-ppath
14102 (sbcl-package->ecl-package sbcl-ppath))
14103
14104 (define-public cl-ppath
14105 (sbcl-package->cl-source-package sbcl-ppath))
14106
14107 (define-public sbcl-trivial-escapes
14108 (let ((commit "1eca78da2078495d09893be58c28b3aa7b8cc4d1"))
14109 (package
14110 (name "sbcl-trivial-escapes")
14111 (version (git-version "1.2.0" "1" commit))
14112 (source
14113 (origin
14114 (method git-fetch)
14115 (uri (git-reference
14116 (url "https://github.com/williamyaoh/trivial-escapes")
14117 (commit commit)))
14118 (file-name (git-file-name name commit))
14119 (sha256
14120 (base32 "0v6h8lk17iqv1qkxgqjyzn8gi6v0hvq2vmfbb01md3zjvjqxn6lr"))))
14121 (build-system asdf-build-system/sbcl)
14122 (inputs
14123 `(("named-readtables" ,sbcl-named-readtables)))
14124 (native-inputs
14125 `(("fiveam" ,sbcl-fiveam)))
14126 (home-page "https://github.com/williamyaoh/trivial-escapes")
14127 (synopsis "C-style escape directives for Common Lisp")
14128 (description
14129 "This Common Lisp library interprets escape characters the same way that
14130 most other programming language do.
14131 It provides four readtables. The default one lets you write strings like this:
14132 @code{#\"This string has\na newline in it!\"}.")
14133 (license license:public-domain))))
14134
14135 (define-public ecl-trivial-escapes
14136 (sbcl-package->ecl-package sbcl-trivial-escapes))
14137
14138 (define-public cl-trivial-escapes
14139 (sbcl-package->cl-source-package sbcl-trivial-escapes))
14140
14141 (define-public sbcl-cl-indentify
14142 (let ((commit "eb770f434defa4cd41d84bca822428dfd0dbac53"))
14143 (package
14144 (name "sbcl-cl-indentify")
14145 (version (git-version "0.1" "1" commit))
14146 (source
14147 (origin
14148 (method git-fetch)
14149 (uri (git-reference
14150 (url "https://github.com/yitzchak/cl-indentify")
14151 (commit commit)))
14152 (file-name (git-file-name name commit))
14153 (sha256
14154 (base32 "0ha36bhg474vr76vfhr13szc8cfdj1ickg92k1icz791bqaqg67p"))))
14155 (build-system asdf-build-system/sbcl)
14156 (inputs
14157 `(("alexandria" ,sbcl-alexandria)
14158 ("command-line-arguments" ,sbcl-command-line-arguments)
14159 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
14160 (native-inputs
14161 `(("trivial-escapes" ,sbcl-trivial-escapes)
14162 ("rove" ,sbcl-rove)))
14163 (home-page "https://github.com/yitzchak/cl-indentify")
14164 (synopsis "Code beautifier for Common Lisp")
14165 (description
14166 "A library and command line utility to automatically indent Common Lisp
14167 source files.")
14168 (license license:expat))))
14169
14170 (define-public ecl-cl-indentify
14171 (sbcl-package->ecl-package sbcl-cl-indentify))
14172
14173 (define-public cl-indentify
14174 (sbcl-package->cl-source-package sbcl-cl-indentify))
14175
14176 (define-public sbcl-concrete-syntax-tree
14177 (let ((commit "abd242a59dadc5452aa9dbc1d313c83ec2c11f46"))
14178 (package
14179 (name "sbcl-concrete-syntax-tree")
14180 (version (git-version "0.0.0" "1" commit))
14181 (source
14182 (origin
14183 (method git-fetch)
14184 (uri (git-reference
14185 (url "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14186 (commit commit)))
14187 (file-name (git-file-name name commit))
14188 (sha256
14189 (base32 "1lyrglc3h1if44gxd9cwv90wa90nrdjvb7fry39b1xn8ywdfa7di"))))
14190 (build-system asdf-build-system/sbcl)
14191 (inputs
14192 `(("acclimation" ,sbcl-acclimation)))
14193 (home-page "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14194 (synopsis "Parse Common Lisp code into a concrete syntax tree")
14195 (description
14196 "This library is intended to solve the problem of source tracking for
14197 Common Lisp code.
14198
14199 By \"source tracking\", it is meant that code elements that have a known
14200 origin in the form of a position in a file or in an editor buffer are
14201 associated with some kind of information about this origin.
14202
14203 Since the exact nature of such origin information depends on the Common Lisp
14204 implementation and the purpose of wanting to track that origin, the library
14205 does not impose a particular structure of this information. Instead, it
14206 provides utilities for manipulating source code in the form of what is called
14207 concrete syntax trees (CSTs for short) that preserve this information about
14208 the origin.")
14209 (license license:bsd-2))))
14210
14211 (define-public ecl-concrete-syntax-tree
14212 (sbcl-package->ecl-package sbcl-concrete-syntax-tree))
14213
14214 (define-public cl-concrete-syntax-tree
14215 (sbcl-package->cl-source-package sbcl-concrete-syntax-tree))
14216
14217 (define-public sbcl-eclector
14218 (package
14219 (name "sbcl-eclector")
14220 (version "0.5.0")
14221 (source
14222 (origin
14223 (method git-fetch)
14224 (uri (git-reference
14225 (url "https://github.com/s-expressionists/Eclector")
14226 (commit version)))
14227 (file-name (git-file-name name version))
14228 (sha256
14229 (base32 "0bwkla0jdp5bg0q1zca5wg22b0nbdmglgax345nrhsf8bdrh47wm"))))
14230 (build-system asdf-build-system/sbcl)
14231 (inputs
14232 `(("acclimation" ,sbcl-acclimation)
14233 ("alexandria" ,sbcl-alexandria)
14234 ("closer-mop" ,sbcl-closer-mop)
14235 ("concrete-syntax-tree" ,sbcl-concrete-syntax-tree)))
14236 (native-inputs
14237 `(("fiveam" ,sbcl-fiveam)))
14238 (arguments
14239 '(#:asd-systems '("eclector"
14240 "eclector-concrete-syntax-tree")))
14241 (home-page "https://s-expressionists.github.io/Eclector/")
14242 (synopsis "Highly customizable, portable Common Lisp reader")
14243 (description
14244 "Eclector is a portable Common Lisp reader that is highly customizable,
14245 can recover from errors and can return concrete syntax trees.
14246
14247 In contrast to many other reader implementations, eclector can recover from
14248 most errors in the input supplied to it and continue reading. This capability
14249 is realized as a restart.
14250
14251 It can also produce instances of the concrete syntax tree classes provided by
14252 the concrete syntax tree library.")
14253 (license license:bsd-2)))
14254
14255 (define-public ecl-eclector
14256 (sbcl-package->ecl-package sbcl-eclector))
14257
14258 (define-public cl-eclector
14259 (sbcl-package->cl-source-package sbcl-eclector))
14260
14261 (define-public sbcl-jsown
14262 (let ((commit "744c4407bef58dfa876d9da0b5c0205d869e7977"))
14263 (package
14264 (name "sbcl-jsown")
14265 (version (git-version "1.0.1" "1" commit))
14266 (source
14267 (origin
14268 (method git-fetch)
14269 (uri (git-reference
14270 (url "https://github.com/madnificent/jsown")
14271 (commit commit)))
14272 (file-name (git-file-name name commit))
14273 (sha256
14274 (base32 "0gadvmf1d9bq35s61z76psrsnzwwk12svi66jigf491hv48wigw7"))))
14275 (build-system asdf-build-system/sbcl)
14276 (home-page "https://github.com/madnificent/jsown")
14277 (synopsis "Fast JSON reader / writer library for Common Lisp")
14278 (description
14279 "@code{jsown} is a high performance Common Lisp JSON parser. Its aim
14280 is to allow for the fast parsing of JSON objects in Common Lisp. Recently,
14281 functions and macros have been added to ease the burden of writing and editing
14282 @code{jsown} objects.
14283
14284 @code{jsown} allows you to parse JSON objects quickly to a modifiable Lisp
14285 list and write them back. If you only need partial retrieval of objects,
14286 @code{jsown} allows you to select the keys which you would like to see parsed.
14287 @code{jsown} also has a JSON writer and some helper methods to alter the JSON
14288 objects themselves.")
14289 (license license:expat))))
14290
14291 (define-public ecl-jsown
14292 (sbcl-package->ecl-package sbcl-jsown))
14293
14294 (define-public cl-jsown
14295 (sbcl-package->cl-source-package sbcl-jsown))
14296
14297 (define-public sbcl-system-locale
14298 (let ((commit "4b334bc2fa45651bcaa28ae7d9331095d6bf0a17"))
14299 (package
14300 (name "sbcl-system-locale")
14301 (version (git-version "1.0.0" "1" commit))
14302 (source
14303 (origin
14304 (method git-fetch)
14305 (uri (git-reference
14306 (url "https://github.com/Shinmera/system-locale/")
14307 (commit commit)))
14308 (file-name (git-file-name name commit))
14309 (sha256
14310 (base32 "00p5c053kmgq4ks6l9mxsqz6g3bjcybvkvj0bh3r90qgpkaawm1p"))))
14311 (build-system asdf-build-system/sbcl)
14312 (inputs
14313 `(("documentation-utils" ,sbcl-documentation-utils)))
14314 (home-page "https://shinmera.github.io/system-locale/")
14315 (synopsis "Get the system's locale and language settings in Common Lisp")
14316 (description
14317 "This library retrieves locale information configured on the
14318 system. This is helpful if you want to write applications and libraries that
14319 display messages in the user's native language.")
14320 (license license:zlib))))
14321
14322 (define-public ecl-system-locale
14323 (sbcl-package->ecl-package sbcl-system-locale))
14324
14325 (define-public cl-system-locale
14326 (sbcl-package->cl-source-package sbcl-system-locale))
14327
14328 (define-public sbcl-language-codes
14329 (let ((commit "e7aa0e37cb97a3d37d6bc7316b479d01bff8f42e"))
14330 (package
14331 (name "sbcl-language-codes")
14332 (version (git-version "1.0.0" "1" commit))
14333 (source
14334 (origin
14335 (method git-fetch)
14336 (uri (git-reference
14337 (url "https://github.com/Shinmera/language-codes")
14338 (commit commit)))
14339 (file-name (git-file-name name commit))
14340 (sha256
14341 (base32 "0py176ibmsc01n5r0q1bs1ykqf5jwdbh8kx0j1a814l9y51241v0"))))
14342 (build-system asdf-build-system/sbcl)
14343 (inputs
14344 `(("documentation-utils" ,sbcl-documentation-utils)))
14345 (home-page "https://shinmera.github.io/language-codes/")
14346 (synopsis "Map ISO language codes to language names in Common Lisp")
14347 (description
14348 "This is a small library providing the ISO-639 language code to
14349 language name mapping.")
14350 (license license:zlib))))
14351
14352 (define-public ecl-language-codes
14353 (sbcl-package->ecl-package sbcl-language-codes))
14354
14355 (define-public cl-language-codes
14356 (sbcl-package->cl-source-package sbcl-language-codes))
14357
14358 (define-public sbcl-multilang-documentation
14359 (let ((commit "59e798a07e949e8957a20927f52aca425d84e4a0"))
14360 (package
14361 (name "sbcl-multilang-documentation")
14362 (version (git-version "1.0.0" "1" commit))
14363 (source
14364 (origin
14365 (method git-fetch)
14366 (uri (git-reference
14367 (url "https://github.com/Shinmera/multilang-documentation")
14368 (commit commit)))
14369 (file-name (git-file-name name commit))
14370 (sha256
14371 (base32 "13y5jskx8n2b7kimpfarr8v777w3b7zj5swg1b99nj3hk0843ixw"))))
14372 (build-system asdf-build-system/sbcl)
14373 (inputs
14374 `(("documentation-utils" ,sbcl-documentation-utils)
14375 ("language-codes" ,sbcl-language-codes)
14376 ("system-locale" ,sbcl-system-locale)))
14377 (home-page "https://shinmera.github.io/multilang-documentation/")
14378 (synopsis "Add multiple languages support to Common Lisp documentation")
14379 (description
14380 "This library provides a drop-in replacement function for
14381 cl:documentation that supports multiple docstrings per-language, allowing you
14382 to write documentation that can be internationalised.")
14383 (license license:zlib))))
14384
14385 (define-public ecl-multilang-documentation
14386 (sbcl-package->ecl-package sbcl-multilang-documentation))
14387
14388 (define-public cl-multilang-documentation
14389 (sbcl-package->cl-source-package sbcl-multilang-documentation))
14390
14391 (define-public sbcl-trivial-do
14392 (let ((commit "03a1729f1e71bad3ebcf6cf098a0cce52dfa1163"))
14393 (package
14394 (name "sbcl-trivial-do")
14395 (version (git-version "0.1" "1" commit))
14396 (source
14397 (origin
14398 (method git-fetch)
14399 (uri (git-reference
14400 (url "https://github.com/yitzchak/trivial-do")
14401 (commit commit)))
14402 (file-name (git-file-name name commit))
14403 (sha256
14404 (base32 "1ffva79nkicc7wc8c2ic5nayis3b2rk5sxzj74yjkymkjgbpcrgd"))))
14405 (build-system asdf-build-system/sbcl)
14406 (home-page "https://github.com/yitzchak/trivial-do")
14407 (synopsis "Additional dolist style macros for Common Lisp")
14408 (description
14409 "Additional dolist style macros for Common Lisp, such as
14410 @code{doalist}, @code{dohash}, @code{dolist*}, @code{doplist}, @code{doseq}
14411 and @code{doseq*}.")
14412 (license license:zlib))))
14413
14414 (define-public ecl-trivial-do
14415 (sbcl-package->ecl-package sbcl-trivial-do))
14416
14417 (define-public cl-trivial-do
14418 (sbcl-package->cl-source-package sbcl-trivial-do))
14419
14420 (define-public sbcl-common-lisp-jupyter
14421 (let ((commit "011f60b69a3b8c70eefeafe7acb724cd00dd3e62"))
14422 (package
14423 (name "sbcl-common-lisp-jupyter")
14424 (version (git-version "0.1" "2" commit))
14425 (source
14426 (origin
14427 (method git-fetch)
14428 (uri (git-reference
14429 (url "https://github.com/yitzchak/common-lisp-jupyter")
14430 (commit commit)))
14431 (file-name (git-file-name name commit))
14432 (sha256
14433 (base32 "10jdghlcmp9p6ygrvw7g49i8f9jy71ybzn29n544fzb6g47siqhw"))))
14434 (build-system asdf-build-system/sbcl)
14435 (inputs
14436 `(("alexandria" ,sbcl-alexandria)
14437 ("babel" ,sbcl-babel)
14438 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14439 ("cl-base64" ,sbcl-cl-base64)
14440 ("cl-indentify" ,sbcl-cl-indentify)
14441 ("closer-mop" ,sbcl-closer-mop)
14442 ("eclector" ,sbcl-eclector)
14443 ("ironclad" ,sbcl-ironclad)
14444 ("iterate" ,sbcl-iterate)
14445 ("jsown" ,sbcl-jsown)
14446 ("multilang-documentation" ,sbcl-multilang-documentation)
14447 ("pzmq" ,sbcl-pzmq)
14448 ("puri" ,sbcl-puri)
14449 ("static-vectors" ,sbcl-static-vectors)
14450 ("trivial-do" ,sbcl-trivial-do)
14451 ("trivial-garbage" ,sbcl-trivial-garbage)
14452 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
14453 ("trivial-mimes" ,sbcl-trivial-mimes)))
14454 (home-page "https://yitzchak.github.io/common-lisp-jupyter/")
14455 (synopsis "Common Lisp kernel for Jupyter")
14456 (description
14457 "This is a Common Lisp kernel for Jupyter along with a library for
14458 building Jupyter kernels, based on Maxima-Jupyter which was based on
14459 @code{cl-jupyter}.")
14460 (license license:zlib))))
14461
14462 (define-public ecl-common-lisp-jupyter
14463 (sbcl-package->ecl-package sbcl-common-lisp-jupyter))
14464
14465 (define-public cl-common-lisp-jupyter
14466 (sbcl-package->cl-source-package sbcl-common-lisp-jupyter))
14467
14468 (define-public sbcl-radiance
14469 (let ((commit "5ffbe1f157edd17a13194495099efd81e052df85")
14470 (revision "1"))
14471 (package
14472 (name "sbcl-radiance")
14473 (version (git-version "2.1.2" revision commit))
14474 (source
14475 (origin
14476 (method git-fetch)
14477 (uri (git-reference
14478 (url "https://github.com/Shirakumo/radiance")
14479 (commit commit)))
14480 (file-name (git-file-name "radiance" version))
14481 (sha256
14482 (base32 "0hbkcnmnlj1cqzbv18zmla2iwbl65kxilz9764hndf8x8as1539c"))))
14483 (build-system asdf-build-system/sbcl)
14484 (arguments
14485 `(#:tests? #f ; TODO: The tests require some configuration.
14486 #:phases
14487 (modify-phases %standard-phases
14488 (add-after 'unpack 'disable-quicklisp
14489 (lambda _
14490 ;; Disable the automatic installation of systems by Quicklisp.
14491 ;; (Maybe there would be a way to package Quicklisp and make it
14492 ;; install things in the user's directory instead of
14493 ;; /gnu/store/...).
14494 (substitute* "interfaces.lisp"
14495 (("\\(unless \\(asdf:find-system configured-implementation NIL\\)"
14496 all)
14497 (string-append "#+quicklisp " all))))))))
14498 (native-inputs
14499 `(("alexandria" ,sbcl-alexandria)
14500 ("dexador" ,sbcl-dexador)
14501 ("parachute" ,sbcl-parachute)
14502 ("verbose" ,sbcl-verbose)))
14503 (inputs
14504 `(("babel" ,sbcl-babel)
14505 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14506 ("cl-ppcre" ,sbcl-cl-ppcre)
14507 ("closer-mop" ,sbcl-closer-mop)
14508 ("documentation-utils" ,sbcl-documentation-utils)
14509 ("deploy" ,sbcl-deploy)
14510 ("form-fiddle" ,sbcl-form-fiddle)
14511 ("lambda-fiddle" ,sbcl-lambda-fiddle)
14512 ("local-time" ,sbcl-local-time)
14513 ("modularize-hooks" ,sbcl-modularize-hooks)
14514 ("modularize-interfaces" ,sbcl-modularize-interfaces)
14515 ("puri" ,sbcl-puri)
14516 ("trivial-indent" ,sbcl-trivial-indent)
14517 ("trivial-mimes" ,sbcl-trivial-mimes)
14518 ("ubiquitous-concurrent" ,sbcl-ubiquitous)))
14519 (home-page "https://shirakumo.github.io/radiance/")
14520 (synopsis "Common Lisp web application environment")
14521 (description
14522 "Radiance is a web application environment, which is sort of like a web
14523 framework, but more general, more flexible. It should let you write personal
14524 websites and generally deployable applications easily and in such a way that
14525 they can be used on practically any setup without having to undergo special
14526 adaptations.")
14527 (license license:zlib))))
14528
14529 (define-public ecl-radiance
14530 (sbcl-package->ecl-package sbcl-radiance))
14531
14532 (define-public cl-radiance
14533 (sbcl-package->cl-source-package sbcl-radiance))