gnu: ecl-numcl: Simplify package definition.
[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-spec
2711 (let ((commit "f04476f7da89355ae6856b33283c60ba95c6555d")
2712 (revision "1"))
2713 (package
2714 (name "sbcl-glsl-spec")
2715 (version (git-version "0.0.0" revision commit))
2716 (source
2717 (origin
2718 (method git-fetch)
2719 (uri (git-reference
2720 (url "https://github.com/cbaggers/glsl-spec")
2721 (commit commit)))
2722 (file-name (git-file-name "glsl-spec" version))
2723 (sha256
2724 (base32 "01ipspr22fgfj3w8wq2y81lzrjc4vpfiwnr3dqhjlpzzra46am8c"))))
2725 (build-system asdf-build-system/sbcl)
2726 (arguments
2727 `(#:asd-systems '("glsl-spec" "glsl-symbols" "glsl-docs")))
2728 (home-page "https://github.com/cbaggers/glsl-spec")
2729 (synopsis "Common Lisp GLSL specification as a datastructure")
2730 (description
2731 "This package contains the specification of all functions and variables
2732 from GLSL as data.")
2733 (license license:unlicense))))
2734
2735 (define-public ecl-glsl-spec
2736 (sbcl-package->ecl-package sbcl-glsl-spec))
2737
2738 (define-public cl-glsl-spec
2739 (sbcl-package->cl-source-package sbcl-glsl-spec))
2740
2741 (define-public sbcl-varjo
2742 (let ((commit "9e77f30220053155d2ef8870ceba157f75e538d4")
2743 (revision "1"))
2744 (package
2745 (name "sbcl-varjo")
2746 (version (git-version "0.0.0" revision commit))
2747 (source
2748 (origin
2749 (method git-fetch)
2750 (uri (git-reference
2751 (url "https://github.com/cbaggers/varjo")
2752 (commit commit)))
2753 (file-name (git-file-name "varjo" version))
2754 (sha256
2755 (base32 "1p9x1wj576x5d31yvls9r1avkjkyhri7kyxbjfkg9z93a1w18j9z"))))
2756 (build-system asdf-build-system/sbcl)
2757 (native-inputs
2758 `(("fiveam" ,sbcl-fiveam)))
2759 (inputs
2760 `(("alexandria" ,sbcl-alexandria)
2761 ("cl-ppcre" ,sbcl-cl-ppcre)
2762 ("documentation-utils" ,sbcl-documentation-utils)
2763 ("fn" ,sbcl-fn)
2764 ("glsl-spec" ,sbcl-glsl-spec)
2765 ("named-readtables" ,sbcl-named-readtables)
2766 ("parse-float" ,sbcl-parse-float)
2767 ("vas-string-metrics" ,sbcl-vas-string-metrics)))
2768 (home-page "https://github.com/cbaggers/varjo")
2769 (synopsis "Lisp to GLSL Language Translator")
2770 (description
2771 "Varjo is a Lisp to GLSL compiler. Vari is the dialect of lisp Varjo
2772 compiles. It aims to be as close to Common Lisp as possible, but naturally it
2773 is statically typed so there are differences.")
2774 (license license:bsd-2))))
2775
2776 (define-public ecl-varjo
2777 (sbcl-package->ecl-package sbcl-varjo))
2778
2779 (define-public cl-varjo
2780 (sbcl-package->cl-source-package sbcl-varjo))
2781
2782 (define-public sbcl-cffi
2783 (package
2784 (name "sbcl-cffi")
2785 (version "0.23.0")
2786 (source
2787 (origin
2788 (method git-fetch)
2789 (uri (git-reference
2790 (url "https://github.com/cffi/cffi")
2791 (commit (string-append "v" version))))
2792 (file-name (git-file-name "cffi-bootstrap" version))
2793 (sha256
2794 (base32 "03s98imc5niwnpj3hhrafl7dmxq45g74h96sm68976k7ahi3vl5b"))))
2795 (build-system asdf-build-system/sbcl)
2796 (inputs
2797 `(("alexandria" ,sbcl-alexandria)
2798 ("babel" ,sbcl-babel)
2799 ("libffi" ,libffi)
2800 ("trivial-features" ,sbcl-trivial-features)))
2801 (native-inputs
2802 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2803 ("pkg-config" ,pkg-config)
2804 ("rt" ,sbcl-rt)))
2805 (arguments
2806 '(#:phases
2807 (modify-phases %standard-phases
2808 (add-after 'unpack 'fix-arm-support
2809 (lambda _
2810 ;; This is apparently deprecated since libffi-3.3.
2811 (substitute* "libffi/libffi-types.lisp"
2812 (("\\\(\\\(:unix64.*") ")\n"))
2813 #t))
2814 (add-after 'unpack 'fix-paths
2815 (lambda* (#:key inputs #:allow-other-keys)
2816 (substitute* "libffi/libffi.lisp"
2817 (("libffi.so.7" all) (string-append
2818 (assoc-ref inputs "libffi")
2819 "/lib/" all)))
2820 (substitute* "toolchain/c-toolchain.lisp"
2821 (("\"cc\"") (format #f "~S" (which "gcc"))))))
2822 (add-after 'build 'install-headers
2823 (lambda* (#:key outputs #:allow-other-keys)
2824 (install-file "grovel/common.h"
2825 (string-append
2826 (assoc-ref outputs "out")
2827 "/include/grovel")))))
2828 #:asd-files '("cffi.asd"
2829 "cffi-toolchain.asd"
2830 "cffi-grovel.asd"
2831 "cffi-libffi.asd"
2832 "cffi-uffi-compat.asd")
2833 #:asd-systems '("cffi"
2834 "cffi-libffi"
2835 "cffi-uffi-compat")))
2836 (home-page "https://common-lisp.net/project/cffi/")
2837 (synopsis "Common Foreign Function Interface for Common Lisp")
2838 (description "The Common Foreign Function Interface (CFFI)
2839 purports to be a portable foreign function interface for Common Lisp.
2840 The CFFI library is composed of a Lisp-implementation-specific backend
2841 in the CFFI-SYS package, and a portable frontend in the CFFI
2842 package.")
2843 (license license:expat)))
2844
2845 (define-public cl-cffi
2846 (sbcl-package->cl-source-package sbcl-cffi))
2847
2848 (define-public ecl-cffi
2849 (sbcl-package->ecl-package sbcl-cffi))
2850
2851 (define-public sbcl-cl-sqlite
2852 (package
2853 (name "sbcl-cl-sqlite")
2854 (version "0.2.1")
2855 (source
2856 (origin
2857 (method git-fetch)
2858 (uri (git-reference
2859 (url "https://github.com/dmitryvk/cl-sqlite")
2860 (commit version)))
2861 (file-name (git-file-name "cl-sqlite" version))
2862 (sha256
2863 (base32
2864 "08iv7b4m0hh7qx2cvq4f510nrgdld0vicnvmqsh9w0fgrcgmyg4k"))))
2865 (build-system asdf-build-system/sbcl)
2866 (inputs
2867 `(("iterate" ,sbcl-iterate)
2868 ("cffi" ,sbcl-cffi)
2869 ("sqlite" ,sqlite)))
2870 (native-inputs
2871 `(("fiveam" ,sbcl-fiveam)
2872 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2873 (arguments
2874 `(#:asd-systems '("sqlite")
2875 #:phases
2876 (modify-phases %standard-phases
2877 (add-after 'unpack 'fix-paths
2878 (lambda* (#:key inputs #:allow-other-keys)
2879 (substitute* "sqlite-ffi.lisp"
2880 (("libsqlite3" all) (string-append
2881 (assoc-ref inputs "sqlite")"/lib/" all))))))))
2882 (home-page "https://common-lisp.net/project/cl-sqlite/")
2883 (synopsis "Common Lisp binding for SQLite")
2884 (description
2885 "The @command{cl-sqlite} package is an interface to the SQLite embedded
2886 relational database engine.")
2887 (license license:public-domain)))
2888
2889 (define-public cl-sqlite
2890 (sbcl-package->cl-source-package sbcl-cl-sqlite))
2891
2892 (define-public ecl-cl-sqlite
2893 (sbcl-package->ecl-package sbcl-cl-sqlite))
2894
2895 (define-public sbcl-parenscript
2896 ;; Source archives are overwritten on every release, we use the Git repo instead.
2897 (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766"))
2898 (package
2899 (name "sbcl-parenscript")
2900 (version (git-version "2.7.1" "1" commit))
2901 (source
2902 (origin
2903 (method git-fetch)
2904 (uri (git-reference
2905 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
2906 (commit commit)))
2907 (file-name (git-file-name "parenscript" version))
2908 (sha256
2909 (base32
2910 "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf"))))
2911 (build-system asdf-build-system/sbcl)
2912 (inputs
2913 `(("cl-ppcre" ,sbcl-cl-ppcre)
2914 ("anaphora" ,sbcl-anaphora)
2915 ("named-readtables" ,sbcl-named-readtables)))
2916 (home-page "https://common-lisp.net/project/parenscript/")
2917 (synopsis "Translator from a subset of Common Lisp to JavaScript")
2918 (description
2919 "Parenscript is a translator from an extended subset of Common Lisp to
2920 JavaScript. Parenscript code can run almost identically on both the
2921 browser (as JavaScript) and server (as Common Lisp).
2922
2923 Parenscript code is treated the same way as Common Lisp code, making the full
2924 power of Lisp macros available for JavaScript. This provides a web
2925 development environment that is unmatched in its ability to reduce code
2926 duplication and provide advanced meta-programming facilities to web
2927 developers.
2928
2929 At the same time, Parenscript is different from almost all other \"language
2930 X\" to JavaScript translators in that it imposes almost no overhead:
2931
2932 @itemize
2933 @item No run-time dependencies: Any piece of Parenscript code is runnable
2934 as-is. There are no JavaScript files to include.
2935 @item Native types: Parenscript works entirely with native JavaScript data
2936 types. There are no new types introduced, and object prototypes are not
2937 touched.
2938 @item Native calling convention: Any JavaScript code can be called without the
2939 need for bindings. Likewise, Parenscript can be used to make efficient,
2940 self-contained JavaScript libraries.
2941 @item Readable code: Parenscript generates concise, formatted, idiomatic
2942 JavaScript code. Identifier names are preserved. This enables seamless
2943 debugging in tools like Firebug.
2944 @item Efficiency: Parenscript introduces minimal overhead for advanced Common
2945 Lisp features. The generated code is almost as fast as hand-written
2946 JavaScript.
2947 @end itemize\n")
2948 (license license:bsd-3))))
2949
2950 (define-public cl-parenscript
2951 (sbcl-package->cl-source-package sbcl-parenscript))
2952
2953 (define-public ecl-parenscript
2954 (sbcl-package->ecl-package sbcl-parenscript))
2955
2956 (define-public sbcl-cl-json
2957 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
2958 (package
2959 (name "sbcl-cl-json")
2960 (version (git-version "0.5" "1" commit))
2961 (source
2962 (origin
2963 (method git-fetch)
2964 (uri (git-reference
2965 (url "https://github.com/hankhero/cl-json")
2966 (commit commit)))
2967 (file-name (git-file-name "cl-json" version))
2968 (sha256
2969 (base32
2970 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
2971 (build-system asdf-build-system/sbcl)
2972 (native-inputs
2973 `(("fiveam" ,sbcl-fiveam)))
2974 (home-page "https://github.com/hankhero/cl-json")
2975 (synopsis "JSON encoder and decoder for Common-Lisp")
2976 (description
2977 "@command{cl-json} provides an encoder of Lisp objects to JSON format
2978 and a corresponding decoder of JSON data to Lisp objects. Both the encoder
2979 and the decoder are highly customizable; at the same time, the default
2980 settings ensure a very simple mode of operation, similar to that provided by
2981 @command{yason} or @command{st-json}.")
2982 (license license:expat))))
2983
2984 (define-public cl-json
2985 (sbcl-package->cl-source-package sbcl-cl-json))
2986
2987 (define-public ecl-cl-json
2988 (sbcl-package->ecl-package sbcl-cl-json))
2989
2990 (define-public sbcl-unix-opts
2991 (package
2992 (name "sbcl-unix-opts")
2993 (version "0.1.7")
2994 (source
2995 (origin
2996 (method git-fetch)
2997 (uri (git-reference
2998 (url "https://github.com/libre-man/unix-opts")
2999 (commit version)))
3000 (file-name (git-file-name "unix-opts" version))
3001 (sha256
3002 (base32
3003 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
3004 (build-system asdf-build-system/sbcl)
3005 (home-page "https://github.com/hankhero/cl-json")
3006 (synopsis "Unix-style command line options parser")
3007 (description
3008 "This is a minimalistic parser of command line options. The main
3009 advantage of the library is the ability to concisely define command line
3010 options once and then use this definition for parsing and extraction of
3011 command line arguments, as well as printing description of command line
3012 options (you get --help for free). This way you don't need to repeat
3013 yourself. Also, @command{unix-opts} doesn't depend on anything and
3014 precisely controls the behavior of the parser via Common Lisp restarts.")
3015 (license license:expat)))
3016
3017 (define-public cl-unix-opts
3018 (sbcl-package->cl-source-package sbcl-unix-opts))
3019
3020 (define-public ecl-unix-opts
3021 (sbcl-package->ecl-package sbcl-unix-opts))
3022
3023 (define-public sbcl-trivial-garbage
3024 (package
3025 (name "sbcl-trivial-garbage")
3026 (version "0.21")
3027 (source
3028 (origin
3029 (method git-fetch)
3030 (uri (git-reference
3031 (url "https://github.com/trivial-garbage/trivial-garbage")
3032 (commit (string-append "v" version))))
3033 (file-name (git-file-name "trivial-garbage" version))
3034 (sha256
3035 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
3036 (build-system asdf-build-system/sbcl)
3037 (native-inputs
3038 `(("rt" ,sbcl-rt)))
3039 (home-page "https://common-lisp.net/project/trivial-garbage/")
3040 (synopsis "Portable GC-related APIs for Common Lisp")
3041 (description "@command{trivial-garbage} provides a portable API to
3042 finalizers, weak hash-tables and weak pointers on all major implementations of
3043 the Common Lisp programming language.")
3044 (license license:public-domain)))
3045
3046 (define-public cl-trivial-garbage
3047 (sbcl-package->cl-source-package sbcl-trivial-garbage))
3048
3049 (define-public ecl-trivial-garbage
3050 (sbcl-package->ecl-package sbcl-trivial-garbage))
3051
3052 (define-public sbcl-closer-mop
3053 (let ((commit "19c9d33f576e10715fd79cc1d4f688dab0f241d6"))
3054 (package
3055 (name "sbcl-closer-mop")
3056 (version (git-version "1.0.0" "2" commit))
3057 (source
3058 (origin
3059 (method git-fetch)
3060 (uri (git-reference
3061 (url "https://github.com/pcostanza/closer-mop")
3062 (commit commit)))
3063 (sha256
3064 (base32 "1w3x087wvlwkd6swfdgbvjfs6kazf0la8ax4pjfzikwjch4snn2c"))
3065 (file-name (git-file-name "closer-mop" version ))))
3066 (build-system asdf-build-system/sbcl)
3067 (home-page "https://github.com/pcostanza/closer-mop")
3068 (synopsis "Rectifies absent or incorrect CLOS MOP features")
3069 (description "Closer to MOP is a compatibility layer that rectifies many
3070 of the absent or incorrect CLOS MOP features across a broad range of Common
3071 Lisp implementations.")
3072 (license license:expat))))
3073
3074 (define-public cl-closer-mop
3075 (sbcl-package->cl-source-package sbcl-closer-mop))
3076
3077 (define-public ecl-closer-mop
3078 (sbcl-package->ecl-package sbcl-closer-mop))
3079
3080 (define-public sbcl-cl-cffi-gtk
3081 (let ((commit "e9a46df65995d9a16e6c8dbdc1e09b775eb4a966"))
3082 (package
3083 (name "sbcl-cl-cffi-gtk")
3084 (version (git-version "0.11.2" "2" commit))
3085 (source
3086 (origin
3087 (method git-fetch)
3088 (uri (git-reference
3089 (url "https://github.com/Ferada/cl-cffi-gtk/")
3090 (commit commit)))
3091 (file-name (git-file-name "cl-cffi-gtk" version))
3092 (sha256
3093 (base32
3094 "04vix0gmqsj91lm975sx7jhlnz5gq1xf9jp873mp7c8frc5dk1jj"))))
3095 (build-system asdf-build-system/sbcl)
3096 (native-inputs
3097 `(("fiveam" ,sbcl-fiveam)))
3098 (inputs
3099 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3100 ("cairo" ,cairo)
3101 ("cffi" ,sbcl-cffi)
3102 ("closer-mop" ,sbcl-closer-mop)
3103 ("gdk-pixbuf" ,gdk-pixbuf)
3104 ("glib" ,glib)
3105 ("gtk" ,gtk+)
3106 ("iterate" ,sbcl-iterate)
3107 ("pango" ,pango)
3108 ("trivial-features" ,sbcl-trivial-features)
3109 ("trivial-garbage" ,sbcl-trivial-garbage)))
3110 (arguments
3111 `(#:asd-files '("gtk/cl-cffi-gtk.asd"
3112 "glib/cl-cffi-gtk-glib.asd"
3113 "gobject/cl-cffi-gtk-gobject.asd"
3114 "gio/cl-cffi-gtk-gio.asd"
3115 "cairo/cl-cffi-gtk-cairo.asd"
3116 "pango/cl-cffi-gtk-pango.asd"
3117 "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
3118 "gdk/cl-cffi-gtk-gdk.asd")
3119 #:test-asd-file "test/cl-cffi-gtk-test.asd"
3120 ;; TODO: Tests fail with memory fault.
3121 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
3122 #:tests? #f
3123 #:phases
3124 (modify-phases %standard-phases
3125 (add-after 'unpack 'fix-paths
3126 (lambda* (#:key inputs #:allow-other-keys)
3127 (substitute* "glib/glib.init.lisp"
3128 (("libglib|libgthread" all)
3129 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3130 (substitute* "gobject/gobject.init.lisp"
3131 (("libgobject" all)
3132 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3133 (substitute* "gio/gio.init.lisp"
3134 (("libgio" all)
3135 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3136 (substitute* "cairo/cairo.init.lisp"
3137 (("libcairo" all)
3138 (string-append (assoc-ref inputs "cairo") "/lib/" all)))
3139 (substitute* "pango/pango.init.lisp"
3140 (("libpango" all)
3141 (string-append (assoc-ref inputs "pango") "/lib/" all)))
3142 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
3143 (("libgdk_pixbuf" all)
3144 (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))
3145 (substitute* "gdk/gdk.init.lisp"
3146 (("libgdk" all)
3147 (string-append (assoc-ref inputs "gtk") "/lib/" all)))
3148 (substitute* "gdk/gdk.package.lisp"
3149 (("libgtk" all)
3150 (string-append (assoc-ref inputs "gtk") "/lib/" all))))))))
3151 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
3152 (synopsis "Common Lisp binding for GTK+3")
3153 (description
3154 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
3155 is a library for creating graphical user interfaces.")
3156 (license license:lgpl3))))
3157
3158 (define-public cl-cffi-gtk
3159 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
3160
3161 (define-public ecl-cl-cffi-gtk
3162 (sbcl-package->ecl-package sbcl-cl-cffi-gtk))
3163
3164 (define-public sbcl-cl-webkit
3165 (let ((commit "0bc05cc73257670ab241853b9cc9ccb68940fe44"))
3166 (package
3167 (name "sbcl-cl-webkit")
3168 (version (git-version "2.4" "10" commit))
3169 (source
3170 (origin
3171 (method git-fetch)
3172 (uri (git-reference
3173 (url "https://github.com/joachifm/cl-webkit")
3174 (commit commit)))
3175 (file-name (git-file-name "cl-webkit" version))
3176 (sha256
3177 (base32
3178 "1kg6illspvb5647pm0x819ag2n7njnqvrm18jzgd28vk6nlkrcmq"))))
3179 (build-system asdf-build-system/sbcl)
3180 (inputs
3181 `(("cffi" ,sbcl-cffi)
3182 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3183 ("webkitgtk" ,webkitgtk)))
3184 (arguments
3185 `(#:asd-systems '("cl-webkit2")
3186 #:phases
3187 (modify-phases %standard-phases
3188 (add-after 'unpack 'fix-paths
3189 (lambda* (#:key inputs #:allow-other-keys)
3190 (substitute* "webkit2/webkit2.init.lisp"
3191 (("libwebkit2gtk" all)
3192 (string-append
3193 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
3194 (home-page "https://github.com/joachifm/cl-webkit")
3195 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3196 (description
3197 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3198 currently targeting WebKit version 2. The WebKitGTK+ library adds web
3199 browsing capabilities to an application, leveraging the full power of the
3200 WebKit browsing engine.")
3201 (license license:expat))))
3202
3203 (define-public cl-webkit
3204 (sbcl-package->cl-source-package sbcl-cl-webkit))
3205
3206 (define-public ecl-cl-webkit
3207 (sbcl-package->ecl-package sbcl-cl-webkit))
3208
3209 (define-public sbcl-lparallel
3210 (package
3211 (name "sbcl-lparallel")
3212 (version "2.8.4")
3213 (source
3214 (origin
3215 (method git-fetch)
3216 (uri (git-reference
3217 (url "https://github.com/lmj/lparallel/")
3218 (commit (string-append "lparallel-" version))))
3219 (file-name (git-file-name "lparallel" version))
3220 (sha256
3221 (base32
3222 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3223 (build-system asdf-build-system/sbcl)
3224 (inputs
3225 `(("alexandria" ,sbcl-alexandria)
3226 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3227 ("trivial-garbage" ,sbcl-trivial-garbage)))
3228 (arguments
3229 `(#:phases
3230 (modify-phases %standard-phases
3231 (add-after 'unpack 'fix-dependency
3232 ;; lparallel loads a SBCL specific system in its asd file. This is
3233 ;; not carried over into the fasl which is generated. In order for
3234 ;; it to be carried over, it needs to be listed as a dependency.
3235 (lambda _
3236 (substitute* "lparallel.asd"
3237 ((":depends-on \\(:alexandria" all)
3238 (string-append all " #+sbcl :sb-cltl2"))))))))
3239 (home-page "https://lparallel.org/")
3240 (synopsis "Parallelism for Common Lisp")
3241 (description
3242 "@command{lparallel} is a library for parallel programming in Common
3243 Lisp, featuring:
3244
3245 @itemize
3246 @item a simple model of task submission with receiving queue,
3247 @item constructs for expressing fine-grained parallelism,
3248 @item asynchronous condition handling across thread boundaries,
3249 @item parallel versions of map, reduce, sort, remove, and many others,
3250 @item promises, futures, and delayed evaluation constructs,
3251 @item computation trees for parallelizing interconnected tasks,
3252 @item bounded and unbounded FIFO queues,
3253 @item high and low priority tasks,
3254 @item task killing by category,
3255 @item integrated timeouts.
3256 @end itemize\n")
3257 (license license:expat)))
3258
3259 (define-public cl-lparallel
3260 (sbcl-package->cl-source-package sbcl-lparallel))
3261
3262 (define-public ecl-lparallel
3263 (package
3264 (inherit (sbcl-package->ecl-package sbcl-lparallel))
3265 (arguments
3266 ;; TODO: Find why the tests get stuck forever; disable them for now.
3267 `(#:tests? #f))))
3268
3269 (define-public sbcl-cl-markup
3270 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3271 (package
3272 (name "sbcl-cl-markup")
3273 (version (git-version "0.1" "1" commit))
3274 (source
3275 (origin
3276 (method git-fetch)
3277 (uri (git-reference
3278 (url "https://github.com/arielnetworks/cl-markup/")
3279 (commit commit)))
3280 (file-name (git-file-name "cl-markup" version))
3281 (sha256
3282 (base32
3283 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3284 (build-system asdf-build-system/sbcl)
3285 (home-page "https://github.com/arielnetworks/cl-markup/")
3286 (synopsis "Markup generation library for Common Lisp")
3287 (description
3288 "A modern markup generation library for Common Lisp that features:
3289
3290 @itemize
3291 @item Fast (even faster through compiling the code)
3292 @item Safety
3293 @item Support for multiple document types (markup, xml, html, html5, xhtml)
3294 @item Output with doctype
3295 @item Direct output to stream
3296 @end itemize\n")
3297 (license license:lgpl3+))))
3298
3299 (define-public cl-markup
3300 (sbcl-package->cl-source-package sbcl-cl-markup))
3301
3302 (define-public ecl-cl-markup
3303 (sbcl-package->ecl-package sbcl-cl-markup))
3304
3305 (define-public sbcl-cl-mustache
3306 (package
3307 (name "sbcl-cl-mustache")
3308 (version "0.12.1")
3309 (source
3310 (origin
3311 (method git-fetch)
3312 (uri (git-reference
3313 (url "https://github.com/kanru/cl-mustache")
3314 (commit (string-append "v" version))))
3315 (file-name (git-file-name "cl-mustache" version))
3316 (sha256
3317 (base32 "149xbb6wxq1napliwm9cv729hwcgfnjli6y8hingfixz7f10lhks"))))
3318 (build-system asdf-build-system/sbcl)
3319 (home-page "https://github.com/kanru/cl-mustache")
3320 (synopsis "Common Lisp Mustache template renderer")
3321 (description "This is a Common Lisp implementation for the Mustache
3322 template system. More details on the standard are available at
3323 @url{https://mustache.github.io}.")
3324 (license license:expat)))
3325
3326 (define-public cl-mustache
3327 (sbcl-package->cl-source-package sbcl-cl-mustache))
3328
3329 (define-public ecl-cl-mustache
3330 (sbcl-package->ecl-package sbcl-cl-mustache))
3331
3332 (define-public sbcl-cl-css
3333 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3334 (package
3335 (name "sbcl-cl-css")
3336 (version (git-version "0.1" "1" commit))
3337 (source
3338 (origin
3339 (method git-fetch)
3340 (uri (git-reference
3341 (url "https://github.com/inaimathi/cl-css/")
3342 (commit commit)))
3343 (file-name (git-file-name "cl-css" version))
3344 (sha256
3345 (base32
3346 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3347 (build-system asdf-build-system/sbcl)
3348 (home-page "https://github.com/inaimathi/cl-css/")
3349 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3350 (description
3351 "This is a dead-simple, non validating, inline CSS generator for Common
3352 Lisp. Its goals are axiomatic syntax, simple implementation to support
3353 portability, and boilerplate reduction in CSS.")
3354 (license license:expat))))
3355
3356 (define-public cl-css
3357 (sbcl-package->cl-source-package sbcl-cl-css))
3358
3359 (define-public ecl-cl-css
3360 (sbcl-package->ecl-package sbcl-cl-css))
3361
3362 (define-public sbcl-portable-threads
3363 (let ((commit "aa26bf38338a6b068bf8bfb3375d8d8c3b0a28df"))
3364 (package
3365 (name "sbcl-portable-threads")
3366 (version (git-version "2.3" "2" commit))
3367 (source
3368 (origin
3369 (method git-fetch)
3370 (uri (git-reference
3371 (url "https://github.com/binghe/portable-threads/")
3372 (commit commit)))
3373 (file-name (git-file-name "portable-threads" version))
3374 (sha256
3375 (base32 "058ksi07vfdmhrf5mdlc833s82m1rcqfja2266520m3r8bzs8bvs"))))
3376 (build-system asdf-build-system/sbcl)
3377 (arguments
3378 `(;; Tests seem broken.
3379 #:tests? #f))
3380 (home-page "https://github.com/binghe/portable-threads")
3381 (synopsis "Portable threads API for Common Lisp")
3382 (description
3383 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3384 Lisp (from GBBopen project).")
3385 (license license:asl2.0))))
3386
3387 (define-public cl-portable-threads
3388 (sbcl-package->cl-source-package sbcl-portable-threads))
3389
3390 (define-public ecl-portable-threads
3391 (sbcl-package->ecl-package sbcl-portable-threads))
3392
3393 (define-public sbcl-usocket
3394 (package
3395 (name "sbcl-usocket")
3396 (version "0.8.3")
3397 (source
3398 (origin
3399 (method git-fetch)
3400 (uri (git-reference
3401 (url "https://github.com/usocket/usocket/")
3402 (commit (string-append "v" version))))
3403 (file-name (git-file-name "usocket" version))
3404 (sha256
3405 (base32
3406 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3407 (build-system asdf-build-system/sbcl)
3408 (native-inputs
3409 `(("rt" ,sbcl-rt)))
3410 (inputs
3411 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3412 ("split-sequence" ,sbcl-split-sequence)))
3413 (arguments
3414 `(#:tests? #f ; FIXME: Tests need network access?
3415 #:asd-systems '("usocket"
3416 "usocket-server")))
3417 (home-page "https://common-lisp.net/project/usocket/")
3418 (synopsis "Universal socket library for Common Lisp")
3419 (description
3420 "This library strives to provide a portable TCP/IP and UDP/IP socket
3421 interface for as many Common Lisp implementations as possible, while keeping
3422 the abstraction and portability layer as thin as possible.")
3423 (license license:expat)))
3424
3425 (define-public cl-usocket
3426 (sbcl-package->cl-source-package sbcl-usocket))
3427
3428 (define-public ecl-usocket
3429 (sbcl-package->ecl-package sbcl-usocket))
3430
3431 (define-public sbcl-s-xml
3432 (package
3433 (name "sbcl-s-xml")
3434 (version "3")
3435 (source
3436 (origin
3437 (method url-fetch)
3438 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3439 (sha256
3440 (base32
3441 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3442 (build-system asdf-build-system/sbcl)
3443 (home-page "https://common-lisp.net/project/s-xml/")
3444 (synopsis "Simple XML parser implemented in Common Lisp")
3445 (description
3446 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3447 parser implementation has the following features:
3448
3449 @itemize
3450 @item It works (handling many common XML usages).
3451 @item It is very small (the core is about 700 lines of code, including
3452 comments and whitespace).
3453 @item It has a core API that is simple, efficient and pure functional, much
3454 like that from SSAX (see also http://ssax.sourceforge.net).
3455 @item It supports different DOM models: an XSML-based one, an LXML-based one
3456 and a classic xml-element struct based one.
3457 @item It is reasonably time and space efficient (internally avoiding garbage
3458 generatation as much as possible).
3459 @item It does support CDATA.
3460 @item It should support the same character sets as your Common Lisp
3461 implementation.
3462 @item It does support XML name spaces.
3463 @end itemize
3464
3465 This XML parser implementation has the following limitations:
3466
3467 @itemize
3468 @item It does not support any special tags (like processing instructions).
3469 @item It is not validating, even skips DTD's all together.
3470 @end itemize\n")
3471 (license license:lgpl3+)))
3472
3473 (define-public cl-s-xml
3474 (sbcl-package->cl-source-package sbcl-s-xml))
3475
3476 (define-public ecl-s-xml
3477 (sbcl-package->ecl-package sbcl-s-xml))
3478
3479 (define-public sbcl-s-xml-rpc
3480 (package
3481 (name "sbcl-s-xml-rpc")
3482 (version "7")
3483 (source
3484 (origin
3485 (method url-fetch)
3486 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3487 (sha256
3488 (base32
3489 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3490 (build-system asdf-build-system/sbcl)
3491 (inputs
3492 `(("s-xml" ,sbcl-s-xml)))
3493 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3494 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3495 (description
3496 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3497 client and server.")
3498 (license license:lgpl3+)))
3499
3500 (define-public cl-s-xml-rpc
3501 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3502
3503 (define-public ecl-s-xml-rpc
3504 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3505
3506 (define-public sbcl-trivial-arguments
3507 (let ((commit "ecd84ed9cf9ef8f1e873d7409e6bd04979372aa7")
3508 (revision "1"))
3509 (package
3510 (name "sbcl-trivial-arguments")
3511 (version (git-version "1.1.0" revision commit))
3512 (source
3513 (origin
3514 (method git-fetch)
3515 (uri (git-reference
3516 (url "https://github.com/Shinmera/trivial-arguments")
3517 (commit commit)))
3518 (file-name (git-file-name "trivial-arguments" version))
3519 (sha256
3520 (base32 "02vaqfavhj8jqxnr68nnzvzshm8jbgcy6m9lvyv4daa6f7ihqf88"))))
3521 (build-system asdf-build-system/sbcl)
3522 (home-page "https://github.com/Shinmera/trivial-arguments")
3523 (synopsis "Common Lisp library to retrieve a function's lambda-list")
3524 (description
3525 "This is a simple library to retrieve the argument list of a function.")
3526 (license license:zlib))))
3527
3528 (define-public ecl-trivial-arguments
3529 (sbcl-package->ecl-package sbcl-trivial-arguments))
3530
3531 (define-public cl-trivial-arguments
3532 (sbcl-package->cl-source-package sbcl-trivial-arguments))
3533
3534 (define-public sbcl-trivial-clipboard
3535 (let ((commit "afcd3743b842f5a81fc86dba60f9db59970f49c5"))
3536 (package
3537 (name "sbcl-trivial-clipboard")
3538 (version (git-version "0.0.0.0" "3" commit))
3539 (source
3540 (origin
3541 (method git-fetch)
3542 (uri (git-reference
3543 (url "https://github.com/snmsts/trivial-clipboard")
3544 (commit commit)))
3545 (file-name (git-file-name "trivial-clipboard" version))
3546 (sha256
3547 (base32
3548 "1qfbvkzmvkbqpc5s3sx31c5653sy6qlcixafgzd10qpykb843prr"))))
3549 (build-system asdf-build-system/sbcl)
3550 (inputs
3551 `(("xclip" ,xclip)))
3552 (native-inputs
3553 `(("fiveam" ,sbcl-fiveam)))
3554 (arguments
3555 `(#:phases
3556 (modify-phases %standard-phases
3557 (add-after 'unpack 'fix-paths
3558 (lambda* (#:key inputs #:allow-other-keys)
3559 (substitute* "src/text.lisp"
3560 (("\\(executable-find \"xclip\"\\)")
3561 (string-append "(executable-find \""
3562 (assoc-ref inputs "xclip")
3563 "/bin/xclip\")"))))))))
3564 (home-page "https://github.com/snmsts/trivial-clipboard")
3565 (synopsis "Access system clipboard in Common Lisp")
3566 (description
3567 "@command{trivial-clipboard} gives access to the system clipboard.")
3568 (license license:expat))))
3569
3570 (define-public cl-trivial-clipboard
3571 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3572
3573 (define-public ecl-trivial-clipboard
3574 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3575
3576 (define-public sbcl-trivial-backtrace
3577 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3578 (revision "1"))
3579 (package
3580 (name "sbcl-trivial-backtrace")
3581 (version (git-version "0.0.0" revision commit))
3582 (source
3583 (origin
3584 (method git-fetch)
3585 (uri (git-reference
3586 (url "https://github.com/gwkkwg/trivial-backtrace")
3587 (commit commit)))
3588 (file-name (git-file-name "trivial-backtrace" version))
3589 (sha256
3590 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3591 (build-system asdf-build-system/sbcl)
3592 (inputs
3593 `(("sbcl-lift" ,sbcl-lift)))
3594 (arguments
3595 `(#:phases
3596 (modify-phases %standard-phases
3597 (add-after 'check 'delete-test-results
3598 (lambda* (#:key outputs #:allow-other-keys)
3599 (let ((test-results (string-append (assoc-ref outputs "out")
3600 "/share/common-lisp/"
3601 (%lisp-type)
3602 "/trivial-backtrace"
3603 "/test-results")))
3604 (when (file-exists? test-results)
3605 (delete-file-recursively test-results)))
3606 #t)))))
3607 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3608 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3609 (description
3610 "One of the many things that didn't quite get into the Common Lisp
3611 standard was how to get a Lisp to output its call stack when something has
3612 gone wrong. As such, each Lisp has developed its own notion of what to
3613 display, how to display it, and what sort of arguments can be used to
3614 customize it. @code{trivial-backtrace} is a simple solution to generating a
3615 backtrace portably.")
3616 (license license:expat))))
3617
3618 (define-public cl-trivial-backtrace
3619 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3620
3621 (define-public ecl-trivial-backtrace
3622 (sbcl-package->ecl-package sbcl-trivial-backtrace))
3623
3624 (define-public sbcl-rfc2388
3625 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3626 (revision "1"))
3627 (package
3628 (name "sbcl-rfc2388")
3629 (version (git-version "0.0.0" revision commit))
3630 (source
3631 (origin
3632 (method git-fetch)
3633 (uri (git-reference
3634 (url "https://github.com/jdz/rfc2388")
3635 (commit commit)))
3636 (file-name (git-file-name "rfc2388" version))
3637 (sha256
3638 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3639 (build-system asdf-build-system/sbcl)
3640 (home-page "https://github.com/jdz/rfc2388/")
3641 (synopsis "An implementation of RFC 2388 in Common Lisp")
3642 (description
3643 "This package contains an implementation of RFC 2388, which is used to
3644 process form data posted with HTTP POST method using enctype
3645 \"multipart/form-data\".")
3646 (license license:bsd-2))))
3647
3648 (define-public cl-rfc2388
3649 (sbcl-package->cl-source-package sbcl-rfc2388))
3650
3651 (define-public ecl-rfc2388
3652 (sbcl-package->ecl-package sbcl-rfc2388))
3653
3654 (define-public sbcl-md5
3655 (package
3656 (name "sbcl-md5")
3657 (version "2.0.4")
3658 (source
3659 (origin
3660 (method git-fetch)
3661 (uri (git-reference
3662 (url "https://github.com/pmai/md5")
3663 (commit (string-append "release-" version))))
3664 (file-name (git-file-name "md5" version))
3665 (sha256
3666 (base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
3667 (build-system asdf-build-system/sbcl)
3668 (home-page "https://github.com/pmai/md5")
3669 (synopsis
3670 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3671 (description
3672 "This package implements The MD5 Message-Digest Algorithm, as defined in
3673 RFC 1321 by R. Rivest, published April 1992.")
3674 (license license:public-domain)))
3675
3676 (define-public cl-md5
3677 (sbcl-package->cl-source-package sbcl-md5))
3678
3679 (define-public ecl-md5
3680 (package
3681 (inherit (sbcl-package->ecl-package sbcl-md5))
3682 (inputs
3683 `(("flexi-streams" ,ecl-flexi-streams)))))
3684
3685 (define-public sbcl-cl+ssl
3686 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
3687 (revision "1"))
3688 (package
3689 (name "sbcl-cl+ssl")
3690 (version (git-version "0.0.0" revision commit))
3691 (source
3692 (origin
3693 (method git-fetch)
3694 (uri (git-reference
3695 (url "https://github.com/cl-plus-ssl/cl-plus-ssl")
3696 (commit commit)))
3697 (file-name (git-file-name "cl+ssl" version))
3698 (sha256
3699 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
3700 (build-system asdf-build-system/sbcl)
3701 (arguments
3702 '(#:phases
3703 (modify-phases %standard-phases
3704 (add-after 'unpack 'fix-paths
3705 (lambda* (#:key inputs #:allow-other-keys)
3706 (substitute* "src/reload.lisp"
3707 (("libssl.so" all)
3708 (string-append
3709 (assoc-ref inputs "openssl") "/lib/" all))))))))
3710 (inputs
3711 `(("openssl" ,openssl)
3712 ("sbcl-cffi" ,sbcl-cffi)
3713 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3714 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3715 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3716 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3717 ("sbcl-alexandria" ,sbcl-alexandria)
3718 ("sbcl-trivial-features" ,sbcl-trivial-features)))
3719 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
3720 (synopsis "Common Lisp bindings to OpenSSL")
3721 (description
3722 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3723 code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3724 Development into CL+SSL was done by David Lichteblau.")
3725 (license license:expat))))
3726
3727 (define-public cl-cl+ssl
3728 (sbcl-package->cl-source-package sbcl-cl+ssl))
3729
3730 (define-public ecl-cl+ssl
3731 (sbcl-package->ecl-package sbcl-cl+ssl))
3732
3733 (define-public sbcl-kmrcl
3734 (let ((version "1.111")
3735 (commit "4a27407aad9deb607ffb8847630cde3d041ea25a")
3736 (revision "1"))
3737 (package
3738 (name "sbcl-kmrcl")
3739 (version (git-version version revision commit))
3740 (source
3741 (origin
3742 (method git-fetch)
3743 (uri (git-reference
3744 (url "http://git.kpe.io/kmrcl.git/")
3745 (commit commit)))
3746 (file-name (git-file-name name version))
3747 (sha256
3748 (base32 "06gx04mah5nc8w78s0j8628divbf1s5w7af8w7pvzb2d5mgvrbd2"))))
3749 (build-system asdf-build-system/sbcl)
3750 (inputs
3751 `(("sbcl-rt" ,sbcl-rt)))
3752 (home-page "http://files.kpe.io/kmrcl/")
3753 (synopsis "General utilities for Common Lisp programs")
3754 (description
3755 "KMRCL is a collection of utilities used by a number of Kevin
3756 Rosenberg's Common Lisp packages.")
3757 (license license:llgpl))))
3758
3759 (define-public cl-kmrcl
3760 (sbcl-package->cl-source-package sbcl-kmrcl))
3761
3762 (define-public ecl-kmrcl
3763 (sbcl-package->ecl-package sbcl-kmrcl))
3764
3765 (define-public sbcl-cl-base64
3766 ;; 3.3.4 tests are broken, upstream fixes them.
3767 (let ((commit "577683b18fd880b82274d99fc96a18a710e3987a"))
3768 (package
3769 (name "sbcl-cl-base64")
3770 (version (git-version "3.3.4" "1" commit))
3771 (source
3772 (origin
3773 (method git-fetch)
3774 (uri (git-reference
3775 (url "http://git.kpe.io/cl-base64.git/")
3776 (commit commit)))
3777 (file-name (git-file-name name version))
3778 (sha256
3779 (base32 "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj"))))
3780 (build-system asdf-build-system/sbcl)
3781 (native-inputs ; For tests.
3782 `(("sbcl-ptester" ,sbcl-ptester)
3783 ("sbcl-kmrcl" ,sbcl-kmrcl)))
3784 (home-page "http://files.kpe.io/cl-base64/")
3785 (synopsis
3786 "Common Lisp package to encode and decode base64 with URI support")
3787 (description
3788 "This package provides highly optimized base64 encoding and decoding.
3789 Besides conversion to and from strings, integer conversions are supported.
3790 Encoding with Uniform Resource Identifiers is supported by using a modified
3791 encoding table that uses only URI-compatible characters.")
3792 (license license:bsd-3))))
3793
3794 (define-public cl-base64
3795 (sbcl-package->cl-source-package sbcl-cl-base64))
3796
3797 (define-public ecl-cl-base64
3798 (sbcl-package->ecl-package sbcl-cl-base64))
3799
3800 (define-public sbcl-chunga
3801 (package
3802 (name "sbcl-chunga")
3803 (version "1.1.7")
3804 (source
3805 (origin
3806 (method git-fetch)
3807 (uri (git-reference
3808 (url "https://github.com/edicl/chunga")
3809 (commit (string-append "v" version))))
3810 (file-name (git-file-name name version))
3811 (sha256
3812 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
3813 (build-system asdf-build-system/sbcl)
3814 (inputs
3815 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3816 (home-page "https://edicl.github.io/chunga/")
3817 (synopsis "Portable chunked streams for Common Lisp")
3818 (description
3819 "Chunga implements streams capable of chunked encoding on demand as
3820 defined in RFC 2616.")
3821 (license license:bsd-2)))
3822
3823 (define-public cl-chunga
3824 (sbcl-package->cl-source-package sbcl-chunga))
3825
3826 (define-public ecl-chunga
3827 (sbcl-package->ecl-package sbcl-chunga))
3828
3829 (define-public sbcl-cl-who
3830 (let ((version "1.1.4")
3831 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
3832 (revision "1"))
3833 (package
3834 (name "sbcl-cl-who")
3835 (version (git-version version revision commit))
3836 (source
3837 (origin
3838 (method git-fetch)
3839 (uri (git-reference
3840 (url "https://github.com/edicl/cl-who")
3841 (commit commit)))
3842 (file-name (git-file-name name version))
3843 (sha256
3844 (base32
3845 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
3846 (build-system asdf-build-system/sbcl)
3847 (native-inputs
3848 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3849 (home-page "https://edicl.github.io/cl-who/")
3850 (synopsis "Yet another Lisp markup language")
3851 (description
3852 "There are plenty of Lisp Markup Languages out there - every Lisp
3853 programmer seems to write at least one during his career - and CL-WHO (where
3854 WHO means \"with-html-output\" for want of a better acronym) is probably just
3855 as good or bad as the next one.")
3856 (license license:bsd-2))))
3857
3858 (define-public cl-who
3859 (sbcl-package->cl-source-package sbcl-cl-who))
3860
3861 (define-public ecl-cl-who
3862 (sbcl-package->ecl-package sbcl-cl-who))
3863
3864 (define-public sbcl-chipz
3865 (let ((version "0.8")
3866 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
3867 (revision "1"))
3868 (package
3869 (name "sbcl-chipz")
3870 (version (git-version version revision commit))
3871 (source
3872 (origin
3873 (method git-fetch)
3874 (uri (git-reference
3875 (url "https://github.com/froydnj/chipz")
3876 (commit commit)))
3877 (file-name (git-file-name name version))
3878 (sha256
3879 (base32
3880 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
3881 (build-system asdf-build-system/sbcl)
3882 (native-inputs
3883 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3884 (home-page "http://method-combination.net/lisp/chipz/")
3885 (synopsis
3886 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
3887 data")
3888 (description
3889 "DEFLATE data, defined in RFC1951, forms the core of popular
3890 compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
3891 Chipz also provides for decompressing data in those formats as well. BZIP2 is
3892 the format used by the popular compression tool bzip2.")
3893 ;; The author describes it as "MIT-like"
3894 (license license:expat))))
3895
3896 (define-public cl-chipz
3897 (sbcl-package->cl-source-package sbcl-chipz))
3898
3899 (define-public ecl-chipz
3900 (sbcl-package->ecl-package sbcl-chipz))
3901
3902 (define-public sbcl-drakma
3903 (package
3904 (name "sbcl-drakma")
3905 (version "2.0.7")
3906 (source
3907 (origin
3908 (method git-fetch)
3909 (uri (git-reference
3910 (url "https://github.com/edicl/drakma")
3911 (commit (string-append "v" version))))
3912 (file-name (git-file-name name version))
3913 (sha256
3914 (base32
3915 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
3916 (build-system asdf-build-system/sbcl)
3917 (inputs
3918 `(("sbcl-puri" ,sbcl-puri)
3919 ("sbcl-cl-base64" ,sbcl-cl-base64)
3920 ("sbcl-chunga" ,sbcl-chunga)
3921 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3922 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3923 ("sbcl-chipz" ,sbcl-chipz)
3924 ("sbcl-usocket" ,sbcl-usocket)
3925 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
3926 (native-inputs
3927 `(("sbcl-fiveam" ,sbcl-fiveam)))
3928 (home-page "https://edicl.github.io/drakma/")
3929 (synopsis "HTTP client written in Common Lisp")
3930 (description
3931 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
3932 knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
3933 sockets, SSL, continuable uploads, file uploads, cookies, and more.")
3934 (license license:bsd-2)))
3935
3936 (define-public cl-drakma
3937 (sbcl-package->cl-source-package sbcl-drakma))
3938
3939 (define-public ecl-drakma
3940 (sbcl-package->ecl-package sbcl-drakma))
3941
3942 (define-public sbcl-hunchentoot
3943 (package
3944 (name "sbcl-hunchentoot")
3945 (version "1.2.38")
3946 (source
3947 (origin
3948 (method git-fetch)
3949 (uri (git-reference
3950 (url "https://github.com/edicl/hunchentoot")
3951 (commit (string-append "v" version))))
3952 (file-name (git-file-name "hunchentoot" version))
3953 (sha256
3954 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
3955 (build-system asdf-build-system/sbcl)
3956 (native-inputs
3957 `(("sbcl-cl-who" ,sbcl-cl-who)
3958 ("sbcl-drakma" ,sbcl-drakma)))
3959 (inputs
3960 `(("sbcl-chunga" ,sbcl-chunga)
3961 ("sbcl-cl-base64" ,sbcl-cl-base64)
3962 ("sbcl-cl-fad" ,sbcl-cl-fad)
3963 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3964 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3965 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
3966 ("sbcl-md5" ,sbcl-md5)
3967 ("sbcl-rfc2388" ,sbcl-rfc2388)
3968 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
3969 ("sbcl-usocket" ,sbcl-usocket)))
3970 (home-page "https://edicl.github.io/hunchentoot/")
3971 (synopsis "Web server written in Common Lisp")
3972 (description
3973 "Hunchentoot is a web server written in Common Lisp and at the same
3974 time a toolkit for building dynamic websites. As a stand-alone web server,
3975 Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
3976 connections (keep-alive), and SSL.")
3977 (license license:bsd-2)))
3978
3979 (define-public cl-hunchentoot
3980 (sbcl-package->cl-source-package sbcl-hunchentoot))
3981
3982 (define-public ecl-hunchentoot
3983 (package
3984 (inherit (sbcl-package->ecl-package sbcl-hunchentoot))
3985 (arguments
3986 ;; Tests fail on ECL with 'Socket error in "socket": EINVAL'.
3987 '(#:tests? #f))))
3988
3989 (define-public sbcl-trivial-types
3990 (package
3991 (name "sbcl-trivial-types")
3992 (version "0.0.1")
3993 (source
3994 (origin
3995 (method git-fetch)
3996 (uri (git-reference
3997 (url "https://github.com/m2ym/trivial-types")
3998 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
3999 (file-name (git-file-name name version))
4000 (sha256
4001 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
4002 (build-system asdf-build-system/sbcl)
4003 (home-page "https://github.com/m2ym/trivial-types")
4004 (synopsis "Trivial type definitions for Common Lisp")
4005 (description
4006 "TRIVIAL-TYPES provides missing but important type definitions such as
4007 PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
4008 (license license:llgpl)))
4009
4010 (define-public cl-trivial-types
4011 (sbcl-package->cl-source-package sbcl-trivial-types))
4012
4013 (define-public ecl-trivial-types
4014 (sbcl-package->ecl-package sbcl-trivial-types))
4015
4016 (define-public sbcl-cl-annot
4017 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
4018 (revision "1"))
4019 (package
4020 (name "sbcl-cl-annot")
4021 (version (git-version "0.0.0" revision commit))
4022 (source
4023 (origin
4024 (method git-fetch)
4025 (uri (git-reference
4026 (url "https://github.com/m2ym/cl-annot")
4027 (commit commit)))
4028 (file-name (git-file-name name version))
4029 (sha256
4030 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
4031 (build-system asdf-build-system/sbcl)
4032 (inputs
4033 `(("sbcl-alexandria" ,sbcl-alexandria)))
4034 (home-page "https://github.com/m2ym/cl-annot")
4035 (synopsis "Python-like Annotation Syntax for Common Lisp.")
4036 (description
4037 "@code{cl-annot} is an general annotation library for Common Lisp.")
4038 (license license:llgpl))))
4039
4040 (define-public cl-annot
4041 (sbcl-package->cl-source-package sbcl-cl-annot))
4042
4043 (define-public ecl-cl-annot
4044 (sbcl-package->ecl-package sbcl-cl-annot))
4045
4046 (define-public sbcl-cl-syntax
4047 (package
4048 (name "sbcl-cl-syntax")
4049 (version "0.0.3")
4050 (source
4051 (origin
4052 (method git-fetch)
4053 (uri (git-reference
4054 (url "https://github.com/m2ym/cl-syntax")
4055 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
4056 (file-name (git-file-name "cl-syntax" version))
4057 (sha256
4058 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
4059 (build-system asdf-build-system/sbcl)
4060 (inputs
4061 `(("cl-annot" ,sbcl-cl-annot)
4062 ("cl-interpol" ,sbcl-cl-interpol)
4063 ("named-readtables" ,sbcl-named-readtables)
4064 ("trivial-types" ,sbcl-trivial-types)))
4065 (arguments
4066 '(#:asd-systems '("cl-syntax"
4067 "cl-syntax-annot"
4068 "cl-syntax-interpol")))
4069 (home-page "https://github.com/m2ym/cl-syntax")
4070 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
4071 (description
4072 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
4073 (license license:llgpl)))
4074
4075 (define-public cl-syntax
4076 (sbcl-package->cl-source-package sbcl-cl-syntax))
4077
4078 (define-public ecl-cl-syntax
4079 (sbcl-package->ecl-package sbcl-cl-syntax))
4080
4081 (define-public sbcl-cl-utilities
4082 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
4083 (revision "1"))
4084 (package
4085 (name "sbcl-cl-utilities")
4086 (version (git-version "0.0.0" revision commit))
4087 (source
4088 (origin
4089 (method url-fetch)
4090 (uri
4091 (string-append
4092 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
4093 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
4094 (sha256
4095 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
4096 (build-system asdf-build-system/sbcl)
4097 (arguments
4098 '(#:phases
4099 (modify-phases %standard-phases
4100 (add-after 'unpack 'fix-paths
4101 (lambda* (#:key inputs #:allow-other-keys)
4102 (substitute* "rotate-byte.lisp"
4103 (("in-package :cl-utilities)" all)
4104 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
4105 (home-page "http://common-lisp.net/project/cl-utilities")
4106 (synopsis "A collection of semi-standard utilities")
4107 (description
4108 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
4109 is a collection of Common Lisp Utilities, things that everybody writes since
4110 they're not part of the official standard. There are some very useful things
4111 there; the only problems are that they aren't implemented as well as you'd
4112 like (some aren't implemented at all) and they aren't conveniently packaged
4113 and maintained. It takes quite a bit of work to carefully implement utilities
4114 for common use, commented and documented, with error checking placed
4115 everywhere some dumb user might make a mistake.")
4116 (license license:public-domain))))
4117
4118 (define-public cl-utilities
4119 (sbcl-package->cl-source-package sbcl-cl-utilities))
4120
4121 (define-public ecl-cl-utilities
4122 (sbcl-package->ecl-package sbcl-cl-utilities))
4123
4124 (define-public sbcl-map-set
4125 (let ((commit "7b4b545b68b8")
4126 (revision "1"))
4127 (package
4128 (name "sbcl-map-set")
4129 (version (git-version "0.0.0" revision commit))
4130 (source
4131 (origin
4132 (method url-fetch)
4133 (uri (string-append
4134 "https://bitbucket.org/tarballs_are_good/map-set/get/"
4135 commit ".tar.gz"))
4136 (sha256
4137 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
4138 (build-system asdf-build-system/sbcl)
4139 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
4140 (synopsis "Set-like data structure")
4141 (description
4142 "Implementation of a set-like data structure with constant time
4143 addition, removal, and random selection.")
4144 (license license:bsd-3))))
4145
4146 (define-public cl-map-set
4147 (sbcl-package->cl-source-package sbcl-map-set))
4148
4149 (define-public ecl-map-set
4150 (sbcl-package->ecl-package sbcl-map-set))
4151
4152 (define-public sbcl-quri
4153 (let ((commit "d7f2720568146c6674187f625f115925e6364a7f")
4154 (revision "4"))
4155 (package
4156 (name "sbcl-quri")
4157 (version (git-version "0.1.0" revision commit))
4158 (source
4159 (origin
4160 (method git-fetch)
4161 (uri (git-reference
4162 (url "https://github.com/fukamachi/quri")
4163 (commit commit)))
4164 (file-name (git-file-name name version))
4165 (sha256
4166 (base32 "0yrcvz5ksfr7x8yx741vp65il0fxxaskppq3iyk9bq895s1jn37w"))))
4167 (build-system asdf-build-system/sbcl)
4168 (arguments
4169 ;; Test system must be loaded before, otherwise tests fail with:
4170 ;; Component QURI-ASD::QURI-TEST not found, required by #<SYSTEM
4171 ;; "quri">.
4172 '(#:asd-systems '("quri-test"
4173 "quri")))
4174 (native-inputs `(("sbcl-prove" ,sbcl-prove)))
4175 (inputs `(("sbcl-babel" ,sbcl-babel)
4176 ("sbcl-split-sequence" ,sbcl-split-sequence)
4177 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
4178 ("sbcl-alexandria" ,sbcl-alexandria)))
4179 (home-page "https://github.com/fukamachi/quri")
4180 (synopsis "Yet another URI library for Common Lisp")
4181 (description
4182 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
4183 Lisp. It is intended to be a replacement of PURI.")
4184 (license license:bsd-3))))
4185
4186 (define-public cl-quri
4187 (sbcl-package->cl-source-package sbcl-quri))
4188
4189 (define-public ecl-quri
4190 (sbcl-package->ecl-package sbcl-quri))
4191
4192 (define-public sbcl-myway
4193 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
4194 (revision "1"))
4195 (package
4196 (name "sbcl-myway")
4197 (version (git-version "0.1.0" revision commit))
4198 (source
4199 (origin
4200 (method git-fetch)
4201 (uri (git-reference
4202 (url "https://github.com/fukamachi/myway")
4203 (commit commit)))
4204 (file-name (git-file-name "myway" version))
4205 (sha256
4206 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
4207 (build-system asdf-build-system/sbcl)
4208 (arguments
4209 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
4210 ;; by #<SYSTEM "myway">. Why?
4211 '(#:tests? #f))
4212 (native-inputs
4213 `(("sbcl-prove" ,sbcl-prove)))
4214 (inputs
4215 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4216 ("sbcl-quri" ,sbcl-quri)
4217 ("sbcl-map-set" ,sbcl-map-set)))
4218 (home-page "https://github.com/fukamachi/myway")
4219 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
4220 (description "My Way is a Sinatra-compatible URL routing library.")
4221 (license license:llgpl))))
4222
4223 (define-public cl-myway
4224 (sbcl-package->cl-source-package sbcl-myway))
4225
4226 (define-public ecl-myway
4227 (sbcl-package->ecl-package sbcl-myway))
4228
4229 (define-public sbcl-xsubseq
4230 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
4231 (revision "1"))
4232 (package
4233 (name "sbcl-xsubseq")
4234 (version (git-version "0.0.1" revision commit))
4235 (source
4236 (origin
4237 (method git-fetch)
4238 (uri (git-reference
4239 (url "https://github.com/fukamachi/xsubseq")
4240 (commit commit)))
4241 (file-name (git-file-name name version))
4242 (sha256
4243 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4244 (build-system asdf-build-system/sbcl)
4245 (arguments
4246 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4247 ;; required by #<SYSTEM "xsubseq">. Why?
4248 '(#:tests? #f))
4249 (native-inputs
4250 `(("sbcl-prove" ,sbcl-prove)))
4251 (home-page "https://github.com/fukamachi/xsubseq")
4252 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4253 (description
4254 "XSubseq provides functions to be able to handle \"subseq\"s more
4255 effieiently.")
4256 (license license:bsd-2))))
4257
4258 (define-public cl-xsubseq
4259 (sbcl-package->cl-source-package sbcl-xsubseq))
4260
4261 (define-public ecl-xsubseq
4262 (sbcl-package->ecl-package sbcl-xsubseq))
4263
4264 (define-public sbcl-smart-buffer
4265 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4266 (revision "1"))
4267 (package
4268 (name "sbcl-smart-buffer")
4269 (version (git-version "0.0.1" revision commit))
4270 (source
4271 (origin
4272 (method git-fetch)
4273 (uri (git-reference
4274 (url "https://github.com/fukamachi/smart-buffer")
4275 (commit commit)))
4276 (file-name (git-file-name name version))
4277 (sha256
4278 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4279 (build-system asdf-build-system/sbcl)
4280 (arguments
4281 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4282 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4283 `(#:tests? #f))
4284 (native-inputs
4285 `(("sbcl-prove" ,sbcl-prove)))
4286 (inputs
4287 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4288 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4289 (home-page "https://github.com/fukamachi/smart-buffer")
4290 (synopsis "Smart octets buffer")
4291 (description
4292 "Smart-buffer provides an output buffer which changes the destination
4293 depending on content size.")
4294 (license license:bsd-3))))
4295
4296 (define-public cl-smart-buffer
4297 (sbcl-package->cl-source-package sbcl-smart-buffer))
4298
4299 (define-public ecl-smart-buffer
4300 (sbcl-package->ecl-package sbcl-smart-buffer))
4301
4302 (define-public sbcl-fast-http
4303 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
4304 (revision "2"))
4305 (package
4306 (name "sbcl-fast-http")
4307 (version (git-version "0.2.0" revision commit))
4308 (source
4309 (origin
4310 (method git-fetch)
4311 (uri (git-reference
4312 (url "https://github.com/fukamachi/fast-http")
4313 (commit commit)))
4314 (file-name (git-file-name name version))
4315 (sha256
4316 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
4317 (build-system asdf-build-system/sbcl)
4318 (arguments
4319 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4320 ;; required by #<SYSTEM "fast-http">. Why?
4321 `(#:tests? #f))
4322 (native-inputs
4323 `(("sbcl-prove" ,sbcl-prove)
4324 ("cl-syntax" ,sbcl-cl-syntax)))
4325 (inputs
4326 `(("sbcl-alexandria" ,sbcl-alexandria)
4327 ("sbcl-proc-parse" ,sbcl-proc-parse)
4328 ("sbcl-xsubseq" ,sbcl-xsubseq)
4329 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4330 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4331 (home-page "https://github.com/fukamachi/fast-http")
4332 (synopsis "HTTP request/response parser for Common Lisp")
4333 (description
4334 "@code{fast-http} is a HTTP request/response protocol parser for Common
4335 Lisp.")
4336 ;; Author specified the MIT license
4337 (license license:expat))))
4338
4339 (define-public cl-fast-http
4340 (sbcl-package->cl-source-package sbcl-fast-http))
4341
4342 (define-public ecl-fast-http
4343 (sbcl-package->ecl-package sbcl-fast-http))
4344
4345 (define-public sbcl-static-vectors
4346 (package
4347 (name "sbcl-static-vectors")
4348 (version "1.8.6")
4349 (source
4350 (origin
4351 (method git-fetch)
4352 (uri (git-reference
4353 (url "https://github.com/sionescu/static-vectors")
4354 (commit (string-append "v" version))))
4355 (file-name (git-file-name name version))
4356 (sha256
4357 (base32 "01hwxzhyjkhsd3949g70120g7msw01byf0ia0pbj319q1a3cq7j9"))))
4358 (native-inputs
4359 `(("sbcl-fiveam" ,sbcl-fiveam)))
4360 (inputs
4361 `(("sbcl-alexandria" ,sbcl-alexandria)
4362 ("sbcl-cffi" ,sbcl-cffi)))
4363 (build-system asdf-build-system/sbcl)
4364 (home-page "https://github.com/sionescu/static-vectors")
4365 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4366 (description
4367 "With @code{static-vectors}, you can create vectors allocated in static
4368 memory.")
4369 (license license:expat)))
4370
4371 (define-public cl-static-vectors
4372 (sbcl-package->cl-source-package sbcl-static-vectors))
4373
4374 (define-public ecl-static-vectors
4375 (sbcl-package->ecl-package sbcl-static-vectors))
4376
4377 (define-public sbcl-marshal
4378 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4379 (revision "1"))
4380 (package
4381 (name "sbcl-marshal")
4382 (version (git-version "1.3.0" revision commit))
4383 (source
4384 (origin
4385 (method git-fetch)
4386 (uri (git-reference
4387 (url "https://github.com/wlbr/cl-marshal")
4388 (commit commit)))
4389 (file-name (git-file-name name version))
4390 (sha256
4391 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4392 (build-system asdf-build-system/sbcl)
4393 (home-page "https://github.com/wlbr/cl-marshal")
4394 (synopsis "Simple (de)serialization of Lisp datastructures")
4395 (description
4396 "Simple and fast marshalling of Lisp datastructures. Convert any object
4397 into a string representation, put it on a stream an revive it from there.
4398 Only minimal changes required to make your CLOS objects serializable.")
4399 (license license:expat))))
4400
4401 (define-public cl-marshal
4402 (sbcl-package->cl-source-package sbcl-marshal))
4403
4404 (define-public ecl-marshal
4405 (sbcl-package->ecl-package sbcl-marshal))
4406
4407 (define-public sbcl-checkl
4408 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4409 (revision "1"))
4410 (package
4411 (name "sbcl-checkl")
4412 (version (git-version "0.0.0" revision commit))
4413 (source
4414 (origin
4415 (method git-fetch)
4416 (uri (git-reference
4417 (url "https://github.com/rpav/CheckL")
4418 (commit commit)))
4419 (file-name (git-file-name name version))
4420 (sha256
4421 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4422 (build-system asdf-build-system/sbcl)
4423 (arguments
4424 ;; Error while trying to load definition for system checkl-test from
4425 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4426 ;; is undefined.
4427 '(#:asd-files '("checkl.asd")
4428 #:tests? #f))
4429 (native-inputs
4430 `(("sbcl-fiveam" ,sbcl-fiveam)))
4431 (inputs
4432 `(("sbcl-marshal" ,sbcl-marshal)))
4433 (home-page "https://github.com/rpav/CheckL/")
4434 (synopsis "Dynamic testing for Common Lisp")
4435 (description
4436 "CheckL lets you write tests dynamically, it checks resulting values
4437 against the last run.")
4438 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4439 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4440 ;; stronger of the two and so I think only listing this should suffice.
4441 (license license:llgpl))))
4442
4443 (define-public cl-checkl
4444 (sbcl-package->cl-source-package sbcl-checkl))
4445
4446 (define-public ecl-checkl
4447 (sbcl-package->ecl-package sbcl-checkl))
4448
4449 (define-public sbcl-fast-io
4450 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
4451 (revision "2"))
4452 (package
4453 (name "sbcl-fast-io")
4454 (version (git-version "1.0.0" revision commit))
4455 (source
4456 (origin
4457 (method git-fetch)
4458 (uri (git-reference
4459 (url "https://github.com/rpav/fast-io")
4460 (commit commit)))
4461 (file-name (git-file-name name version))
4462 (sha256
4463 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
4464 (build-system asdf-build-system/sbcl)
4465 (arguments
4466 ;; Error while trying to load definition for system fast-io-test from
4467 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4468 ;; is undefined.
4469 '(#:tests? #f
4470 #:asd-files '("fast-io.asd")))
4471 (native-inputs
4472 `(("sbcl-fiveam" ,sbcl-fiveam)
4473 ("sbcl-checkl" ,sbcl-checkl)))
4474 (inputs
4475 `(("sbcl-alexandria" ,sbcl-alexandria)
4476 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4477 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4478 (home-page "https://github.com/rpav/fast-io")
4479 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4480 (description
4481 "Fast-io is about improving performance to octet-vectors and octet
4482 streams (though primarily the former, while wrapping the latter).")
4483 ;; Author specifies this as NewBSD which is an alias
4484 (license license:bsd-3))))
4485
4486 (define-public cl-fast-io
4487 (sbcl-package->cl-source-package sbcl-fast-io))
4488
4489 (define-public ecl-fast-io
4490 (sbcl-package->ecl-package sbcl-fast-io))
4491
4492 (define-public sbcl-jonathan
4493 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4494 (revision "1"))
4495 (package
4496 (name "sbcl-jonathan")
4497 (version (git-version "0.1.0" revision commit))
4498 (source
4499 (origin
4500 (method git-fetch)
4501 (uri (git-reference
4502 (url "https://github.com/Rudolph-Miller/jonathan")
4503 (commit commit)))
4504 (file-name (git-file-name name version))
4505 (sha256
4506 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4507 (build-system asdf-build-system/sbcl)
4508 (arguments
4509 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4510 ;; required by #<SYSTEM "jonathan">. Why?
4511 `(#:tests? #f))
4512 (native-inputs
4513 `(("sbcl-prove" ,sbcl-prove)))
4514 (inputs
4515 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4516 ("sbcl-fast-io" ,sbcl-fast-io)
4517 ("sbcl-proc-parse" ,sbcl-proc-parse)
4518 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
4519 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
4520 (synopsis "JSON encoder and decoder")
4521 (description
4522 "High performance JSON encoder and decoder. Currently support: SBCL,
4523 CCL.")
4524 ;; Author specifies the MIT license
4525 (license license:expat))))
4526
4527 (define-public cl-jonathan
4528 (sbcl-package->cl-source-package sbcl-jonathan))
4529
4530 (define-public ecl-jonathan
4531 (sbcl-package->ecl-package sbcl-jonathan))
4532
4533 (define-public sbcl-http-body
4534 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4535 (revision "1"))
4536 (package
4537 (name "sbcl-http-body")
4538 (version (git-version "0.1.0" revision commit))
4539 (source
4540 (origin
4541 (method git-fetch)
4542 (uri (git-reference
4543 (url "https://github.com/fukamachi/http-body")
4544 (commit commit)))
4545 (file-name (git-file-name name version))
4546 (sha256
4547 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4548 (build-system asdf-build-system/sbcl)
4549 (arguments
4550 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4551 ;; found, required by #<SYSTEM "http-body">. Why?
4552 `(#:tests? #f))
4553 (native-inputs
4554 `(("sbcl-prove" ,sbcl-prove)))
4555 (inputs
4556 `(("sbcl-fast-http" ,sbcl-fast-http)
4557 ("sbcl-jonathan" ,sbcl-jonathan)
4558 ("sbcl-quri" ,sbcl-quri)))
4559 (home-page "https://github.com/fukamachi/http-body")
4560 (synopsis "HTTP POST data parser")
4561 (description
4562 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4563 supports application/x-www-form-urlencoded, application/json, and
4564 multipart/form-data.")
4565 (license license:bsd-2))))
4566
4567 (define-public cl-http-body
4568 (sbcl-package->cl-source-package sbcl-http-body))
4569
4570 (define-public ecl-http-body
4571 (sbcl-package->ecl-package sbcl-http-body))
4572
4573 (define-public sbcl-circular-streams
4574 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4575 (revision "1"))
4576 (package
4577 (name "sbcl-circular-streams")
4578 (version (git-version "0.1.0" revision commit))
4579 (source
4580 (origin
4581 (method git-fetch)
4582 (uri (git-reference
4583 (url "https://github.com/fukamachi/circular-streams")
4584 (commit commit)))
4585 (file-name (git-file-name name version))
4586 (sha256
4587 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4588 (build-system asdf-build-system/sbcl)
4589 (arguments
4590 ;; The tests depend on cl-test-more which is now prove. Prove
4591 ;; tests aren't working for some reason.
4592 `(#:tests? #f))
4593 (inputs
4594 `(("sbcl-fast-io" ,sbcl-fast-io)
4595 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4596 (home-page "https://github.com/fukamachi/circular-streams")
4597 (synopsis "Circularly readable streams for Common Lisp")
4598 (description
4599 "Circular-Streams allows you to read streams circularly by wrapping real
4600 streams. Once you reach end-of-file of a stream, it's file position will be
4601 reset to 0 and you're able to read it again.")
4602 (license license:llgpl))))
4603
4604 (define-public cl-circular-streams
4605 (sbcl-package->cl-source-package sbcl-circular-streams))
4606
4607 (define-public ecl-circular-streams
4608 (sbcl-package->ecl-package sbcl-circular-streams))
4609
4610 (define-public sbcl-lack
4611 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4612 (revision "1"))
4613 (package
4614 (name "sbcl-lack")
4615 (version (git-version "0.1.0" revision commit))
4616 (source
4617 (origin
4618 (method git-fetch)
4619 (uri (git-reference
4620 (url "https://github.com/fukamachi/lack")
4621 (commit commit)))
4622 (file-name (git-file-name "lack" version))
4623 (sha256
4624 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4625 (build-system asdf-build-system/sbcl)
4626 (native-inputs
4627 `(("prove" ,sbcl-prove)))
4628 (inputs
4629 `(("circular-streams" ,sbcl-circular-streams)
4630 ("http-body" ,sbcl-http-body)
4631 ("ironclad" ,sbcl-ironclad)
4632 ("local-time" ,sbcl-local-time)
4633 ("quri" ,sbcl-quri)
4634 ("trivial-mimes" ,sbcl-trivial-mimes)))
4635 (arguments
4636 '(#:asd-systems '("lack"
4637 "lack-request"
4638 "lack-response"
4639 "lack-component"
4640 "lack-util"
4641 "lack-middleware-backtrace"
4642 "lack-middleware-static")
4643 #:test-asd-file "t-lack.asd"
4644 ;; XXX: Component :CLACK not found
4645 #:tests? #f))
4646 (home-page "https://github.com/fukamachi/lack")
4647 (synopsis "Lack, the core of Clack")
4648 (description
4649 "Lack is a Common Lisp library which allows web applications to be
4650 constructed of modular components. It was originally a part of Clack, however
4651 it's going to be rewritten as an individual project since Clack v2 with
4652 performance and simplicity in mind.")
4653 (license license:llgpl))))
4654
4655 (define-public cl-lack
4656 (sbcl-package->cl-source-package sbcl-lack))
4657
4658 (define-public ecl-lack
4659 (sbcl-package->ecl-package sbcl-lack))
4660
4661 (define-public sbcl-local-time
4662 (let ((commit "a177eb911c0e8116e2bfceb79049265a884b701b")
4663 (revision "2"))
4664 (package
4665 (name "sbcl-local-time")
4666 (version (git-version "1.0.6" revision commit))
4667 (source
4668 (origin
4669 (method git-fetch)
4670 (uri (git-reference
4671 (url "https://github.com/dlowe-net/local-time")
4672 (commit commit)))
4673 (file-name (git-file-name name version))
4674 (sha256
4675 (base32 "0wld28xx20k0ysgg6akic5lg4vkjd0iyhv86m388xfrv8xh87wii"))))
4676 (build-system asdf-build-system/sbcl)
4677 (native-inputs
4678 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
4679 (home-page "https://common-lisp.net/project/local-time/")
4680 (synopsis "Time manipulation library for Common Lisp")
4681 (description
4682 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4683 dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4684 Long Painful History of Time\".")
4685 (license license:expat))))
4686
4687 (define-public cl-local-time
4688 (sbcl-package->cl-source-package sbcl-local-time))
4689
4690 (define-public ecl-local-time
4691 (sbcl-package->ecl-package sbcl-local-time))
4692
4693 (define-public sbcl-trivial-mimes
4694 (let ((commit "a741fc2f567a4f86b853fd4677d75e62c03e51d9")
4695 (revision "2"))
4696 (package
4697 (name "sbcl-trivial-mimes")
4698 (version (git-version "1.1.0" revision commit))
4699 (source
4700 (origin
4701 (method git-fetch)
4702 (uri (git-reference
4703 (url "https://github.com/Shinmera/trivial-mimes")
4704 (commit commit)))
4705 (file-name (git-file-name name version))
4706 (sha256
4707 (base32 "00kcm17q5plpzdj1qwg83ldhxksilgpcdkf3m9azxcdr968xs9di"))))
4708 (build-system asdf-build-system/sbcl)
4709 (native-inputs
4710 `(("stefil" ,sbcl-hu.dwim.stefil)))
4711 (inputs
4712 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4713 (home-page "https://shinmera.github.io/trivial-mimes/")
4714 (synopsis "Tiny Common Lisp library to detect mime types in files")
4715 (description
4716 "This is a teensy library that provides some functions to determine the
4717 mime-type of a file.")
4718 (license license:zlib))))
4719
4720 (define-public cl-trivial-mimes
4721 (sbcl-package->cl-source-package sbcl-trivial-mimes))
4722
4723 (define-public ecl-trivial-mimes
4724 (sbcl-package->ecl-package sbcl-trivial-mimes))
4725
4726 (define-public sbcl-ningle
4727 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
4728 (revision "1"))
4729 (package
4730 (name "sbcl-ningle")
4731 (version (git-version "0.3.0" revision commit))
4732 (source
4733 (origin
4734 (method git-fetch)
4735 (uri (git-reference
4736 (url "https://github.com/fukamachi/ningle")
4737 (commit commit)))
4738 (file-name (git-file-name name version))
4739 (sha256
4740 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
4741 (build-system asdf-build-system/sbcl)
4742 (arguments
4743 ;; TODO: pull in clack-test
4744 '(#:tests? #f
4745 #:phases
4746 (modify-phases %standard-phases
4747 (delete 'cleanup-files)
4748 (delete 'cleanup)
4749 (add-before 'cleanup 'combine-fasls
4750 (lambda* (#:key outputs #:allow-other-keys)
4751 (let* ((out (assoc-ref outputs "out"))
4752 (lib (string-append out "/lib/sbcl"))
4753 (ningle-path (string-append lib "/ningle"))
4754 (fasl-files (find-files out "\\.fasl$")))
4755 (mkdir-p ningle-path)
4756 (let ((fasl-path (lambda (name)
4757 (string-append ningle-path
4758 "/"
4759 (basename name)
4760 "--system.fasl"))))
4761 (for-each (lambda (file)
4762 (rename-file file
4763 (fasl-path
4764 (basename file ".fasl"))))
4765 fasl-files))
4766 fasl-files)
4767 #t)))))
4768 (native-inputs
4769 `(("sbcl-prove" ,sbcl-prove)))
4770 (inputs
4771 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4772 ("sbcl-myway" ,sbcl-myway)
4773 ("sbcl-lack" ,sbcl-lack)
4774 ("sbcl-alexandria" ,sbcl-alexandria)
4775 ("sbcl-babel" ,sbcl-babel)))
4776 (home-page "https://8arrow.org/ningle/")
4777 (synopsis "Super micro framework for Common Lisp")
4778 (description
4779 "Ningle is a lightweight web application framework for Common Lisp.")
4780 (license license:llgpl))))
4781
4782 (define-public cl-ningle
4783 (sbcl-package->cl-source-package sbcl-ningle))
4784
4785 (define-public ecl-ningle
4786 (sbcl-package->ecl-package sbcl-ningle))
4787
4788 (define-public sbcl-cl-fastcgi
4789 (let ((commit "de8b49b26de9863996ec18db28af8ab7e8ac4e20")
4790 (revision "2"))
4791 (package
4792 (name "sbcl-cl-fastcgi")
4793 (version (git-version "0.2" revision commit))
4794 (source
4795 (origin
4796 (method git-fetch)
4797 (uri (git-reference
4798 (url "https://github.com/KDr2/cl-fastcgi/")
4799 (commit commit)))
4800 (file-name (git-file-name name version))
4801 (sha256
4802 (base32 "0xgmhx766q4nmrvn5z7ag3ikpr9phlh8ypi8b14azshq9lqbq0m7"))))
4803 (build-system asdf-build-system/sbcl)
4804 (inputs
4805 `(("usocket" ,sbcl-usocket)
4806 ("cffi" ,sbcl-cffi)
4807 ("fcgi" ,fcgi)))
4808 (arguments
4809 `(#:phases
4810 (modify-phases %standard-phases
4811 (add-after 'unpack 'fix-paths
4812 (lambda* (#:key inputs #:allow-other-keys)
4813 (substitute* "cl-fastcgi.lisp"
4814 (("\"libfcgi.so\"")
4815 (string-append
4816 "\""
4817 (assoc-ref inputs "fcgi") "/lib/libfcgi.so\""))))))))
4818 (home-page "https://kdr2.com/project/cl-fastcgi.html")
4819 (synopsis "FastCGI wrapper for Common Lisp")
4820 (description
4821 "CL-FastCGI is a generic version of SB-FastCGI, targeting to run on
4822 mostly Common Lisp implementation.")
4823 (license license:bsd-2))))
4824
4825 (define-public cl-fastcgi
4826 (sbcl-package->cl-source-package sbcl-cl-fastcgi))
4827
4828 (define-public ecl-cl-fastcgi
4829 (sbcl-package->ecl-package sbcl-cl-fastcgi))
4830
4831 (define-public sbcl-clack
4832 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
4833 (revision "1"))
4834 (package
4835 (name "sbcl-clack")
4836 (version (git-version "2.0.0" revision commit))
4837 (source
4838 (origin
4839 (method git-fetch)
4840 (uri (git-reference
4841 (url "https://github.com/fukamachi/clack")
4842 (commit commit)))
4843 (file-name (git-file-name name version))
4844 (sha256
4845 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
4846 (build-system asdf-build-system/sbcl)
4847 (inputs
4848 `(("alexandria" ,sbcl-alexandria)
4849 ("bordeaux-threads" ,sbcl-bordeaux-threads)
4850 ("cl-fastcgi" ,sbcl-cl-fastcgi)
4851 ("flexi-streams" ,sbcl-flexi-streams)
4852 ("hunchentoot" ,sbcl-hunchentoot)
4853 ("lack" ,sbcl-lack)
4854 ("split-sequence" ,sbcl-split-sequence)
4855 ("usocket" ,sbcl-usocket)
4856 ("quri" ,sbcl-quri)))
4857 (arguments
4858 '(#:asd-systems '("clack"
4859 "clack-handler-fcgi"
4860 "clack-socket"
4861 "clack-handler-hunchentoot")))
4862 (home-page "https://github.com/fukamachi/clack")
4863 (synopsis "Web Application Environment for Common Lisp")
4864 (description
4865 "Clack is a web application environment for Common Lisp inspired by
4866 Python's WSGI and Ruby's Rack.")
4867 (license license:llgpl))))
4868
4869 (define-public cl-clack
4870 (sbcl-package->cl-source-package sbcl-clack))
4871
4872 (define-public ecl-clack
4873 (sbcl-package->ecl-package sbcl-clack))
4874
4875 (define-public sbcl-cl-log
4876 (let ((commit "8f4b766d51e02245c310526cf1e4534ce634f837")
4877 (revision "1"))
4878 (package
4879 (name "sbcl-cl-log")
4880 (version "1.0.1")
4881 (source
4882 (origin
4883 (method git-fetch)
4884 (uri (git-reference
4885 (url "https://github.com/nicklevine/cl-log")
4886 (commit commit)))
4887 (sha256
4888 (base32 "1r3z9swy1b59swvaa5b97is9ysrfmjvjjhhw56p7p5hqg93b92ak"))
4889 (file-name (git-file-name "cl-log" version))))
4890 (build-system asdf-build-system/sbcl)
4891 (synopsis "Common Lisp general purpose logging utility")
4892 (description "CL-LOG is a general purpose logging utility, loosely modelled
4893 in some respects after Gary King's Log5. Its features include: logging to
4894 several destinations at once, via \"messengers\", each messenger is tailored to
4895 accept some log messages and reject others, and this tailoring can be changed
4896 on-the-fly, very rapid processing of messages which are rejected by all
4897 messengers, fully independent use of the utility by several different
4898 sub-systems in an application, support for messengers which cl:format text to a
4899 stream, support for messengers which do not invoke cl:format, timestamps in
4900 theory accurate to internal-time-units-per-second.")
4901 (home-page "https://github.com/nicklevine/cl-log")
4902 (license license:expat))))
4903
4904 (define-public cl-log
4905 (sbcl-package->cl-source-package sbcl-cl-log))
4906
4907 (define-public ecl-cl-log
4908 (sbcl-package->ecl-package sbcl-cl-log))
4909
4910 (define-public sbcl-log4cl
4911 (let ((commit "8c48d6f41d3a1475d0a91eed0638b9eecc398e35")
4912 (revision "1"))
4913 (package
4914 (name "sbcl-log4cl")
4915 (version (git-version "1.1.3" revision commit))
4916 (source
4917 (origin
4918 (method git-fetch)
4919 (uri (git-reference
4920 (url "https://github.com/sharplispers/log4cl")
4921 (commit commit)))
4922 (file-name (git-file-name "log4cl" version))
4923 (sha256
4924 (base32 "0166d9aip366pbpdk5gsi2f6xad6q61lssxgbrypa8zslwjn8736"))))
4925 (build-system asdf-build-system/sbcl)
4926 (native-inputs
4927 `(("stefil" ,sbcl-stefil)))
4928 (inputs
4929 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
4930 (home-page "https://github.com/7max/log4cl")
4931 (synopsis "Common Lisp logging framework, modeled after Log4J")
4932 (description
4933 "This is a Common Lisp logging framework that can log at various levels
4934 and mix text with expressions.")
4935 (license license:asl2.0))))
4936
4937 (define-public cl-log4cl
4938 (sbcl-package->cl-source-package sbcl-log4cl))
4939
4940 (define-public ecl-log4cl
4941 (sbcl-package->ecl-package sbcl-log4cl))
4942
4943 (define-public sbcl-printv
4944 (let ((commit "646d31978dbbb460fffb160fd65bb2be9a5a434e")
4945 (revision "1"))
4946 (package
4947 (name "sbcl-printv")
4948 (version (git-version "0.1.0" revision commit))
4949 (source
4950 (origin
4951 (method git-fetch)
4952 (uri (git-reference
4953 (url "https://github.com/danlentz/printv")
4954 (commit commit)))
4955 (file-name (git-file-name "printv" version))
4956 (sha256
4957 (base32 "08jvy82abm7qi3wrxh6gvmwg9gy0zzhg4cfqajdwrggbah8mj5a6"))))
4958 (build-system asdf-build-system/sbcl)
4959 (home-page "https://github.com/danlentz/printv")
4960 (synopsis "Common Lisp tracing and debug-logging macro")
4961 (description
4962 "@code{PRINTV} is a \"batteries-included\" tracing and debug-logging
4963 macro for Common Lisp.")
4964 (license license:asl2.0))))
4965
4966 (define-public ecl-printv
4967 (sbcl-package->ecl-package sbcl-printv))
4968
4969 (define-public cl-printv
4970 (sbcl-package->cl-source-package sbcl-printv))
4971
4972 (define-public sbcl-verbose
4973 (let ((commit "c5b7ecd465be61b35af17ef57564697b88397174")
4974 (revision "1"))
4975 (package
4976 (name "sbcl-verbose")
4977 (version (git-version "2.0.0" revision commit))
4978 (source
4979 (origin
4980 (method git-fetch)
4981 (uri (git-reference
4982 (url "https://github.com/Shinmera/verbose/")
4983 (commit commit)))
4984 (file-name (git-file-name "verbose" version))
4985 (sha256
4986 (base32 "0r51ydj5v7afi2jrlscbhxprv13d9vzg5316g1yzwaxc1kzsdsw6"))))
4987 (build-system asdf-build-system/sbcl)
4988 (inputs
4989 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
4990 ("dissect" ,sbcl-dissect)
4991 ("documentation-utils" ,sbcl-documentation-utils)
4992 ("local-time" ,sbcl-local-time)
4993 ("piping" ,sbcl-piping)))
4994 (home-page "https://shinmera.github.io/verbose/")
4995 (synopsis "Logging framework using the piping library")
4996 (description
4997 "This is a Common Lisp library providing logging faciltiy similar to
4998 @code{CL-LOG} and @code{LOG4CL}.")
4999 (license license:zlib))))
5000
5001 (define-public ecl-verbose
5002 (sbcl-package->ecl-package sbcl-verbose))
5003
5004 (define-public cl-verbose
5005 (sbcl-package->cl-source-package sbcl-verbose))
5006
5007 (define-public sbcl-find-port
5008 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
5009 (revision "1"))
5010 (package
5011 (name "sbcl-find-port")
5012 (build-system asdf-build-system/sbcl)
5013 (version "0.1")
5014 (home-page "https://github.com/eudoxia0/find-port")
5015 (source
5016 (origin
5017 (method git-fetch)
5018 (uri (git-reference
5019 (url home-page)
5020 (commit commit)))
5021 (file-name (git-file-name name version))
5022 (sha256
5023 (base32
5024 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
5025 (native-inputs
5026 `(("fiveam" ,sbcl-fiveam)))
5027 (inputs
5028 `(("sbcl-usocket" ,sbcl-usocket)))
5029 (synopsis "Find open ports programmatically in Common Lisp")
5030 (description "This is a small Common Lisp library that finds an open
5031 port within a range.")
5032 (license license:expat))))
5033
5034 (define-public cl-find-port
5035 (sbcl-package->cl-source-package sbcl-find-port))
5036
5037 (define-public ecl-find-port
5038 (sbcl-package->ecl-package sbcl-find-port))
5039
5040 (define-public sbcl-clunit
5041 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
5042 (revision "1"))
5043 (package
5044 (name "sbcl-clunit")
5045 (version (git-version "0.2.3" revision commit))
5046 (source
5047 (origin
5048 (method git-fetch)
5049 (uri (git-reference
5050 (url "https://github.com/tgutu/clunit")
5051 (commit commit)))
5052 (file-name (git-file-name name version))
5053 (sha256
5054 (base32
5055 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
5056 (build-system asdf-build-system/sbcl)
5057 (synopsis "CLUnit is a Common Lisp unit testing framework")
5058 (description
5059 "CLUnit is a Common Lisp unit testing framework. It is designed
5060 to be easy to use so that you can quickly start testing. CLUnit
5061 provides a rich set of features aimed at improving your unit testing
5062 experience.")
5063 (home-page "https://tgutu.github.io/clunit/")
5064 ;; MIT License
5065 (license license:expat))))
5066
5067 (define-public cl-clunit
5068 (sbcl-package->cl-source-package sbcl-clunit))
5069
5070 (define-public ecl-clunit
5071 (sbcl-package->ecl-package sbcl-clunit))
5072
5073 (define-public sbcl-py4cl
5074 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
5075 (revision "1"))
5076 (package
5077 (name "sbcl-py4cl")
5078 (version (git-version "0.0.0" revision commit))
5079 (source
5080 (origin
5081 (method git-fetch)
5082 (uri (git-reference
5083 (url "https://github.com/bendudson/py4cl")
5084 (commit commit)))
5085 (file-name (git-file-name name version))
5086 (sha256
5087 (base32
5088 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
5089 (modules '((guix build utils)))))
5090 (build-system asdf-build-system/sbcl)
5091 (native-inputs
5092 `(("sbcl-clunit" ,sbcl-clunit)))
5093 (inputs
5094 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5095 (propagated-inputs
5096 ;; This package doesn't do anything without python available
5097 `(("python" ,python)
5098 ;; For multi-dimensional array support
5099 ("python-numpy" ,python-numpy)))
5100 (arguments
5101 '(#:phases
5102 (modify-phases %standard-phases
5103 (add-after 'unpack 'replace-*base-directory*-var
5104 (lambda* (#:key outputs #:allow-other-keys)
5105 ;; In the ASD, the author makes an attempt to
5106 ;; programatically determine the location of the
5107 ;; source-code so lisp can call into "py4cl.py". We can
5108 ;; hard-code this since we know where this file will
5109 ;; reside.
5110 (substitute* "src/callpython.lisp"
5111 (("py4cl/config:\\*base-directory\\*")
5112 (string-append
5113 "\""
5114 (assoc-ref outputs "out")
5115 "/share/common-lisp/sbcl-source/py4cl/"
5116 "\""))))))))
5117 (synopsis "Call python from Common Lisp")
5118 (description
5119 "Py4CL is a bridge between Common Lisp and Python, which enables Common
5120 Lisp to interact with Python code. It uses streams to communicate with a
5121 separate python process, the approach taken by cl4py. This is different to
5122 the CFFI approach used by burgled-batteries, but has the same goal.")
5123 (home-page "https://github.com/bendudson/py4cl")
5124 ;; MIT License
5125 (license license:expat))))
5126
5127 (define-public cl-py4cl
5128 (sbcl-package->cl-source-package sbcl-py4cl))
5129
5130 (define-public ecl-py4cl
5131 (sbcl-package->ecl-package sbcl-py4cl))
5132
5133 (define-public sbcl-parse-declarations
5134 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
5135 (revision "1"))
5136 (package
5137 (name "sbcl-parse-declarations")
5138 (version (git-version "1.0.0" revision commit))
5139 (source
5140 (origin
5141 (method git-fetch)
5142 (uri (git-reference
5143 (url (string-append
5144 "https://gitlab.common-lisp.net/parse-declarations/"
5145 "parse-declarations.git"))
5146 (commit commit)))
5147 (file-name (git-file-name name version))
5148 (sha256
5149 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
5150 (build-system asdf-build-system/sbcl)
5151 (arguments
5152 `(#:asd-systems '("parse-declarations-1.0")))
5153 (home-page "https://common-lisp.net/project/parse-declarations/")
5154 (synopsis "Parse, filter, and build declarations")
5155 (description
5156 "Parse-Declarations is a Common Lisp library to help writing
5157 macros which establish bindings. To be semantically correct, such
5158 macros must take user declarations into account, as these may affect
5159 the bindings they establish. Yet the ANSI standard of Common Lisp does
5160 not provide any operators to work with declarations in a convenient,
5161 high-level way. This library provides such operators.")
5162 ;; MIT License
5163 (license license:expat))))
5164
5165 (define-public cl-parse-declarations
5166 (sbcl-package->cl-source-package sbcl-parse-declarations))
5167
5168 (define-public ecl-parse-declarations
5169 (sbcl-package->ecl-package sbcl-parse-declarations))
5170
5171 (define-public sbcl-cl-quickcheck
5172 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5173 (revision "1"))
5174 (package
5175 (name "sbcl-cl-quickcheck")
5176 (version (git-version "0.0.4" revision commit))
5177 (source
5178 (origin
5179 (method git-fetch)
5180 (uri (git-reference
5181 (url "https://github.com/mcandre/cl-quickcheck")
5182 (commit commit)))
5183 (file-name (git-file-name name version))
5184 (sha256
5185 (base32
5186 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5187 (build-system asdf-build-system/sbcl)
5188 (synopsis
5189 "Common Lisp port of the QuickCheck unit test framework")
5190 (description
5191 "Common Lisp port of the QuickCheck unit test framework")
5192 (home-page "https://github.com/mcandre/cl-quickcheck")
5193 ;; MIT
5194 (license license:expat))))
5195
5196 (define-public cl-quickcheck
5197 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5198
5199 (define-public ecl-cl-quickcheck
5200 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5201
5202 (define-public sbcl-burgled-batteries3
5203 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
5204 (revision "2"))
5205 (package
5206 (name "sbcl-burgled-batteries3")
5207 (version (git-version "0.0.0" revision commit))
5208 (source
5209 (origin
5210 (method git-fetch)
5211 (uri (git-reference
5212 (url "https://github.com/snmsts/burgled-batteries3")
5213 (commit commit)))
5214 (file-name (git-file-name name version))
5215 (sha256
5216 (base32
5217 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
5218 (build-system asdf-build-system/sbcl)
5219 (arguments
5220 `(#:tests? #f
5221 #:modules (((guix build python-build-system) #:select (python-version))
5222 ,@%asdf-build-system-modules)
5223 #:imported-modules ((guix build python-build-system)
5224 ,@%asdf-build-system-modules)
5225 #:phases
5226 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
5227 (add-after 'unpack 'set-*cpython-include-dir*-var
5228 (lambda* (#:key inputs #:allow-other-keys)
5229 (let ((python (assoc-ref inputs "python")))
5230 (setenv "BB_PYTHON3_INCLUDE_DIR"
5231 (string-append python "/include/python"
5232 (python-version python)))
5233 (setenv "BB_PYTHON3_DYLIB"
5234 (string-append python "/lib/libpython3.so"))
5235 #t)))
5236 (add-after 'unpack 'adjust-for-python-3.8
5237 (lambda _
5238 ;; This method is no longer part of the public API.
5239 (substitute* "ffi-interface.lisp"
5240 ((".*PyEval_ReInitThreads.*")
5241 ""))
5242 #t)))))
5243 (native-inputs
5244 `(("sbcl-cl-fad" ,sbcl-cl-fad)
5245 ("sbcl-lift" ,sbcl-lift)
5246 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5247 (inputs
5248 `(("python" ,python)
5249 ("sbcl-cffi" ,sbcl-cffi)
5250 ("sbcl-alexandria" , sbcl-alexandria)
5251 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5252 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5253 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5254 (description
5255 "This package provides a shim between Python3 (specifically, the
5256 CPython implementation of Python) and Common Lisp.")
5257 (home-page "https://github.com/snmsts/burgled-batteries3")
5258 (license license:expat))))
5259
5260 (define-public cl-burgled-batteries3
5261 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5262
5263 (define-public ecl-burgled-batteries3
5264 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5265
5266 (define-public sbcl-metabang-bind
5267 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5268 (revision "1"))
5269 (package
5270 (name "sbcl-metabang-bind")
5271 (version (git-version "0.8.0" revision commit))
5272 (source
5273 (origin
5274 (method git-fetch)
5275 (uri (git-reference
5276 (url "https://github.com/gwkkwg/metabang-bind")
5277 (commit commit)))
5278 (file-name (git-file-name name version))
5279 (sha256
5280 (base32
5281 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5282 (build-system asdf-build-system/sbcl)
5283 (native-inputs
5284 `(("sbcl-lift" ,sbcl-lift)))
5285 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5286 (description
5287 "Bind extends the idea of of let and destructing to provide a uniform
5288 syntax for all your accessor needs. It combines @code{let},
5289 @code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5290 editing, property or association-lists, and @code{multiple-value-bind} and a
5291 whole lot more into a single form.")
5292 (home-page "https://common-lisp.net/project/metabang-bind/")
5293 ;; MIT License
5294 (license license:expat))))
5295
5296 (define-public cl-metabang-bind
5297 (sbcl-package->cl-source-package sbcl-metabang-bind))
5298
5299 (define-public ecl-metabang-bind
5300 (sbcl-package->ecl-package sbcl-metabang-bind))
5301
5302 (define-public sbcl-fare-utils
5303 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5304 (revision "1"))
5305 (package
5306 (name "sbcl-fare-utils")
5307 (version (git-version "1.0.0.5" revision commit))
5308 (source
5309 (origin
5310 (method git-fetch)
5311 (uri
5312 (git-reference
5313 (url
5314 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5315 (commit commit)))
5316 (file-name (git-file-name name version))
5317 (sha256
5318 (base32
5319 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5320 (build-system asdf-build-system/sbcl)
5321 (arguments
5322 `(#:test-asd-file "test/fare-utils-test.asd"))
5323 (native-inputs
5324 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5325 (synopsis "Collection of utilities and data structures")
5326 (description
5327 "fare-utils is a small collection of utilities. It contains a lot of
5328 basic everyday functions and macros.")
5329 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5330 ;; MIT License
5331 (license license:expat))))
5332
5333 (define-public cl-fare-utils
5334 (sbcl-package->cl-source-package sbcl-fare-utils))
5335
5336 (define-public ecl-fare-utils
5337 (sbcl-package->ecl-package sbcl-fare-utils))
5338
5339 (define-public sbcl-trivial-utf-8
5340 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5341 (revision "1"))
5342 (package
5343 (name "sbcl-trivial-utf-8")
5344 (version (git-version "0.0.0" revision commit))
5345 (source
5346 (origin
5347 (method git-fetch)
5348 (uri
5349 (git-reference
5350 (url (string-append "https://gitlab.common-lisp.net/"
5351 "trivial-utf-8/trivial-utf-8.git"))
5352 (commit commit)))
5353 (file-name (git-file-name name version))
5354 (sha256
5355 (base32
5356 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5357 (arguments
5358 ;; Guix incorrectly assumes the "8" is part of the version
5359 ;; number and lobs it off.
5360 `(#:asd-systems '("trivial-utf-8")))
5361 (build-system asdf-build-system/sbcl)
5362 (synopsis "UTF-8 input/output library")
5363 (description
5364 "The Babel library solves a similar problem while understanding more
5365 encodings. Trivial UTF-8 was written before Babel existed, but for new
5366 projects you might be better off going with Babel. The one plus that Trivial
5367 UTF-8 has is that it doesn't depend on any other libraries.")
5368 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5369 (license license:bsd-3))))
5370
5371 (define-public cl-trivial-utf-8
5372 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5373
5374 (define-public ecl-trivial-utf-8
5375 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5376
5377 (define-public sbcl-idna
5378 (package
5379 (name "sbcl-idna")
5380 (build-system asdf-build-system/sbcl)
5381 (version "0.2.2")
5382 (home-page "https://github.com/antifuchs/idna")
5383 (source
5384 (origin
5385 (method git-fetch)
5386 (uri (git-reference
5387 (url home-page)
5388 (commit version)))
5389 (file-name (git-file-name name version))
5390 (sha256
5391 (base32
5392 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5393 (inputs
5394 `(("split-sequence" ,sbcl-split-sequence)))
5395 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5396 (description "This Common Lisp library provides string encoding and
5397 decoding routines for IDNA, the International Domain Names in Applications.")
5398 (license license:expat)))
5399
5400 (define-public cl-idna
5401 (sbcl-package->cl-source-package sbcl-idna))
5402
5403 (define-public ecl-idna
5404 (sbcl-package->ecl-package sbcl-idna))
5405
5406 (define-public sbcl-swap-bytes
5407 (package
5408 (name "sbcl-swap-bytes")
5409 (build-system asdf-build-system/sbcl)
5410 (version "1.2")
5411 (home-page "https://github.com/sionescu/swap-bytes")
5412 (source
5413 (origin
5414 (method git-fetch)
5415 (uri (git-reference
5416 (url home-page)
5417 (commit (string-append "v" version))))
5418 (file-name (git-file-name name version))
5419 (sha256
5420 (base32
5421 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
5422 (inputs
5423 `(("trivial-features" ,sbcl-trivial-features)))
5424 (native-inputs
5425 `(("fiveam" ,sbcl-fiveam)))
5426 (synopsis "Efficient endianness conversion for Common Lisp")
5427 (description "This Common Lisp library provides optimized byte-swapping
5428 primitives. The library can change endianness of unsigned integers of length
5429 1/2/4/8. Very useful in implementing various network protocols and file
5430 formats.")
5431 (license license:expat)))
5432
5433 (define-public cl-swap-bytes
5434 (sbcl-package->cl-source-package sbcl-swap-bytes))
5435
5436 (define-public ecl-swap-bytes
5437 (sbcl-package->ecl-package sbcl-swap-bytes))
5438
5439 (define-public sbcl-iolib
5440 ;; Latest release is from June 2017.
5441 (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
5442 (revision "2"))
5443 (package
5444 (name "sbcl-iolib")
5445 (version (git-version "0.8.3" revision commit))
5446 (home-page "https://github.com/sionescu/iolib")
5447 (source
5448 (origin
5449 (method git-fetch)
5450 (uri (git-reference
5451 (url home-page)
5452 (commit commit)))
5453 (file-name (git-file-name name version))
5454 (sha256
5455 (base32
5456 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
5457 (build-system asdf-build-system/sbcl)
5458 (inputs
5459 `(("alexandria" ,sbcl-alexandria)
5460 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5461 ("cffi" ,sbcl-cffi)
5462 ("idna" ,sbcl-idna)
5463 ("libfixposix" ,libfixposix)
5464 ("split-sequence" ,sbcl-split-sequence)
5465 ("swap-bytes" ,sbcl-swap-bytes)))
5466 (arguments
5467 '(#:asd-files '("iolib.asdf.asd"
5468 "iolib.conf.asd"
5469 "iolib.common-lisp.asd"
5470 "iolib.base.asd"
5471 "iolib.asd")
5472 #:phases
5473 (modify-phases %standard-phases
5474 (add-after 'unpack 'fix-paths
5475 (lambda* (#:key inputs #:allow-other-keys)
5476 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5477 (("\\(:default \"libfixposix\"\\)")
5478 (string-append
5479 "(:default \""
5480 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5481 ;; Socket tests need Internet access, disable them.
5482 (substitute* "iolib.asd"
5483 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5484 "")))))))
5485 (synopsis "Common Lisp I/O library")
5486 (description "IOlib is to be a better and more modern I/O library than
5487 the standard Common Lisp library. It contains a socket library, a DNS
5488 resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5489 and @code{kqueue(2)}), a pathname library and file-system utilities.")
5490 (license license:expat))))
5491
5492 (define-public cl-iolib
5493 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
5494 (package
5495 (inherit parent)
5496 (propagated-inputs
5497 ;; Need header to compile.
5498 `(("libfixposix" ,libfixposix)
5499 ,@(package-propagated-inputs parent))))))
5500
5501 (define-public ecl-iolib
5502 (sbcl-package->ecl-package sbcl-iolib))
5503
5504 (define-public sbcl-ieee-floats
5505 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5506 (revision "1"))
5507 (package
5508 (name "sbcl-ieee-floats")
5509 (build-system asdf-build-system/sbcl)
5510 (version (git-version "20170924" revision commit))
5511 (home-page "https://github.com/marijnh/ieee-floats/")
5512 (source
5513 (origin
5514 (method git-fetch)
5515 (uri (git-reference
5516 (url home-page)
5517 (commit commit)))
5518 (file-name (git-file-name name version))
5519 (sha256
5520 (base32
5521 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5522 (native-inputs
5523 `(("fiveam" ,sbcl-fiveam)))
5524 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5525 (description "This is a Common Lisp library that converts
5526 floating point values to IEEE 754 binary representation.")
5527 (license license:bsd-3))))
5528
5529 (define-public cl-ieee-floats
5530 (sbcl-package->cl-source-package sbcl-ieee-floats))
5531
5532 (define-public ecl-ieee-floats
5533 (sbcl-package->ecl-package sbcl-ieee-floats))
5534
5535 (define sbcl-closure-common
5536 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5537 (revision "1"))
5538 (package
5539 (name "sbcl-closure-common")
5540 (build-system asdf-build-system/sbcl)
5541 (version (git-version "20101006" revision commit))
5542 (home-page "https://common-lisp.net/project/cxml/")
5543 (source
5544 (origin
5545 (method git-fetch)
5546 (uri (git-reference
5547 (url "https://github.com/sharplispers/closure-common")
5548 (commit commit)))
5549 (file-name (git-file-name name version))
5550 (sha256
5551 (base32
5552 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5553 (inputs
5554 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5555 ("babel" ,sbcl-babel)))
5556 (synopsis "Support Common Lisp library for CXML")
5557 (description "Closure-common is an internal helper library. The name
5558 Closure is a reference to the web browser it was originally written for.")
5559 ;; TODO: License?
5560 (license #f))))
5561
5562 (define-public sbcl-cxml
5563 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5564 (revision "1"))
5565 (package
5566 (name "sbcl-cxml")
5567 (version (git-version "0.0.0" revision commit))
5568 (source
5569 (origin
5570 (method git-fetch)
5571 (uri (git-reference
5572 (url "https://github.com/sharplispers/cxml")
5573 (commit commit)))
5574 (file-name (git-file-name name version))
5575 (sha256
5576 (base32
5577 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5578 (build-system asdf-build-system/sbcl)
5579 (inputs
5580 `(("closure-common" ,sbcl-closure-common)
5581 ("puri" ,sbcl-puri)
5582 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5583 (synopsis "Common Lisp XML parser")
5584 (description "CXML implements a namespace-aware, validating XML 1.0
5585 parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5586 offered, one SAX-like, the other similar to StAX.")
5587 (home-page "https://common-lisp.net/project/cxml/")
5588 (license license:llgpl))))
5589
5590 (define-public cl-cxml
5591 (sbcl-package->cl-source-package sbcl-cxml))
5592
5593 (define-public ecl-cxml
5594 (sbcl-package->ecl-package sbcl-cxml))
5595
5596 (define-public sbcl-cl-reexport
5597 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5598 (revision "1"))
5599 (package
5600 (name "sbcl-cl-reexport")
5601 (build-system asdf-build-system/sbcl)
5602 (version (git-version "0.1" revision commit))
5603 (home-page "https://github.com/takagi/cl-reexport")
5604 (source
5605 (origin
5606 (method git-fetch)
5607 (uri (git-reference
5608 (url home-page)
5609 (commit commit)))
5610 (file-name (git-file-name name version))
5611 (sha256
5612 (base32
5613 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5614 (inputs
5615 `(("alexandria" ,sbcl-alexandria)))
5616 (arguments
5617 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5618 `(#:tests? #f))
5619 (synopsis "HTTP cookie manager for Common Lisp")
5620 (description "cl-cookie is a Common Lisp library featuring parsing of
5621 cookie headers, cookie creation, cookie jar creation and more.")
5622 (license license:llgpl))))
5623
5624 (define-public cl-reexport
5625 (sbcl-package->cl-source-package sbcl-cl-reexport))
5626
5627 (define-public ecl-cl-reexport
5628 (sbcl-package->ecl-package sbcl-cl-reexport))
5629
5630 (define-public sbcl-cl-cookie
5631 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5632 (revision "1"))
5633 (package
5634 (name "sbcl-cl-cookie")
5635 (build-system asdf-build-system/sbcl)
5636 (version (git-version "0.9.10" revision commit))
5637 (home-page "https://github.com/fukamachi/cl-cookie")
5638 (source
5639 (origin
5640 (method git-fetch)
5641 (uri (git-reference
5642 (url home-page)
5643 (commit commit)))
5644 (file-name (git-file-name name version))
5645 (sha256
5646 (base32
5647 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5648 (inputs
5649 `(("proc-parse" ,sbcl-proc-parse)
5650 ("alexandria" ,sbcl-alexandria)
5651 ("quri" ,sbcl-quri)
5652 ("cl-ppcre" ,sbcl-cl-ppcre)
5653 ("local-time" ,sbcl-local-time)))
5654 (native-inputs
5655 `(("prove" ,sbcl-prove)))
5656 (arguments
5657 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5658 `(#:tests? #f))
5659 (synopsis "HTTP cookie manager for Common Lisp")
5660 (description "cl-cookie is a Common Lisp library featuring parsing of
5661 cookie headers, cookie creation, cookie jar creation and more.")
5662 (license license:bsd-2))))
5663
5664 (define-public cl-cookie
5665 (sbcl-package->cl-source-package sbcl-cl-cookie))
5666
5667 (define-public ecl-cl-cookie
5668 (sbcl-package->ecl-package sbcl-cl-cookie))
5669
5670 (define-public sbcl-dexador
5671 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
5672 (revision "1"))
5673 (package
5674 (name "sbcl-dexador")
5675 (build-system asdf-build-system/sbcl)
5676 (version "0.9.14" )
5677 (home-page "https://github.com/fukamachi/dexador")
5678 (source
5679 (origin
5680 (method git-fetch)
5681 (uri (git-reference
5682 (url home-page)
5683 (commit commit)))
5684 (file-name (git-file-name name version))
5685 (sha256
5686 (base32
5687 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
5688 (inputs
5689 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5690 ("babel" ,sbcl-babel)
5691 ("usocket" ,sbcl-usocket)
5692 ("fast-http" ,sbcl-fast-http)
5693 ("quri" ,sbcl-quri)
5694 ("fast-io" ,sbcl-fast-io)
5695 ("chunga" ,sbcl-chunga)
5696 ("cl-ppcre" ,sbcl-cl-ppcre)
5697 ("cl-cookie" ,sbcl-cl-cookie)
5698 ("trivial-mimes" ,sbcl-trivial-mimes)
5699 ("chipz" ,sbcl-chipz)
5700 ("cl-base64" ,sbcl-cl-base64)
5701 ("cl-reexport" ,sbcl-cl-reexport)
5702 ("cl+ssl" ,sbcl-cl+ssl)
5703 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5704 ("alexandria" ,sbcl-alexandria)))
5705 (native-inputs
5706 `(("prove" ,sbcl-prove)
5707 ("lack" ,sbcl-lack)
5708 ("clack" ,sbcl-clack)
5709 ("babel" ,sbcl-babel)
5710 ("alexandria" ,sbcl-alexandria)
5711 ("cl-ppcre" ,sbcl-cl-ppcre)
5712 ("local-time" ,sbcl-local-time)
5713 ("trivial-features" ,sbcl-trivial-features)))
5714 (arguments
5715 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5716 `(#:tests? #f
5717 #:phases
5718 (modify-phases %standard-phases
5719 (add-after 'unpack 'fix-permissions
5720 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5721 (synopsis "Yet another HTTP client for Common Lisp")
5722 (description "Dexador is yet another HTTP client for Common Lisp with
5723 neat APIs and connection-pooling. It is meant to supersede Drakma.")
5724 (license license:expat))))
5725
5726 (define-public cl-dexador
5727 (package
5728 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5729 (arguments
5730 `(#:phases
5731 ;; asdf-build-system/source has its own phases and does not inherit
5732 ;; from asdf-build-system/sbcl phases.
5733 (modify-phases %standard-phases/source
5734 ;; Already done in SBCL package.
5735 (delete 'reset-gzip-timestamps))))))
5736
5737 (define-public ecl-dexador
5738 (sbcl-package->ecl-package sbcl-dexador))
5739
5740 (define-public sbcl-lisp-namespace
5741 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5742 (revision "1"))
5743 (package
5744 (name "sbcl-lisp-namespace")
5745 (build-system asdf-build-system/sbcl)
5746 (version (git-version "0.1" revision commit))
5747 (home-page "https://github.com/guicho271828/lisp-namespace")
5748 (source
5749 (origin
5750 (method git-fetch)
5751 (uri (git-reference
5752 (url home-page)
5753 (commit commit)))
5754 (file-name (git-file-name name version))
5755 (sha256
5756 (base32
5757 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5758 (inputs
5759 `(("alexandria" ,sbcl-alexandria)))
5760 (native-inputs
5761 `(("fiveam" ,sbcl-fiveam)))
5762 (arguments
5763 `(#:test-asd-file "lisp-namespace.test.asd"
5764 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5765 #:tests? #f))
5766 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5767 (description "Common Lisp already has major 2 namespaces, function
5768 namespace and value namespace (or variable namespace), but there are actually
5769 more — e.g., class namespace.
5770 This library offers macros to deal with symbols from any namespace.")
5771 (license license:llgpl))))
5772
5773 (define-public cl-lisp-namespace
5774 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5775
5776 (define-public ecl-lisp-namespace
5777 (sbcl-package->ecl-package sbcl-lisp-namespace))
5778
5779 (define-public sbcl-trivial-cltl2
5780 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
5781 (revision "2"))
5782 (package
5783 (name "sbcl-trivial-cltl2")
5784 (build-system asdf-build-system/sbcl)
5785 (version (git-version "0.1.1" revision commit))
5786 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
5787 (source
5788 (origin
5789 (method git-fetch)
5790 (uri (git-reference
5791 (url home-page)
5792 (commit commit)))
5793 (file-name (git-file-name name version))
5794 (sha256
5795 (base32
5796 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
5797 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5798 (description "This library is a portable compatibility layer around
5799 \"Common Lisp the Language, 2nd
5800 Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5801 and it exports symbols from implementation-specific packages.")
5802 (license license:llgpl))))
5803
5804 (define-public cl-trivial-cltl2
5805 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5806
5807 (define-public ecl-trivial-cltl2
5808 (sbcl-package->ecl-package sbcl-trivial-cltl2))
5809
5810 (define-public sbcl-introspect-environment
5811 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
5812 (revision "1"))
5813 (package
5814 (name "sbcl-introspect-environment")
5815 (build-system asdf-build-system/sbcl)
5816 (version (git-version "0.1" revision commit))
5817 (home-page "https://github.com/Bike/introspect-environment")
5818 (source
5819 (origin
5820 (method git-fetch)
5821 (uri (git-reference
5822 (url home-page)
5823 (commit commit)))
5824 (file-name (git-file-name name version))
5825 (sha256
5826 (base32
5827 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
5828 (native-inputs
5829 `(("fiveam" ,sbcl-fiveam)))
5830 (synopsis "Common Lisp environment introspection portability layer")
5831 (description "This library is a small interface to portable but
5832 nonstandard introspection of Common Lisp environments. It is intended to
5833 allow a bit more compile-time introspection of environments in Common Lisp.
5834
5835 Quite a bit of information is available at the time a macro or compiler-macro
5836 runs; inlining info, type declarations, that sort of thing. This information
5837 is all standard - any Common Lisp program can @code{(declare (integer x))} and
5838 such.
5839
5840 This info ought to be accessible through the standard @code{&environment}
5841 parameters, but it is not. Several implementations keep the information for
5842 their own purposes but do not make it available to user programs, because
5843 there is no standard mechanism to do so.
5844
5845 This library uses implementation-specific hooks to make information available
5846 to users. This is currently supported on SBCL, CCL, and CMUCL. Other
5847 implementations have implementations of the functions that do as much as they
5848 can and/or provide reasonable defaults.")
5849 (license license:wtfpl2))))
5850
5851 (define-public cl-introspect-environment
5852 (sbcl-package->cl-source-package sbcl-introspect-environment))
5853
5854 (define-public ecl-introspect-environment
5855 (sbcl-package->ecl-package sbcl-introspect-environment))
5856
5857 (define-public sbcl-type-i
5858 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
5859 (revision "2"))
5860 (package
5861 (name "sbcl-type-i")
5862 (build-system asdf-build-system/sbcl)
5863 (version (git-version "0.1" revision commit))
5864 (home-page "https://github.com/guicho271828/type-i")
5865 (source
5866 (origin
5867 (method git-fetch)
5868 (uri (git-reference
5869 (url home-page)
5870 (commit commit)))
5871 (file-name (git-file-name name version))
5872 (sha256
5873 (base32
5874 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
5875 (inputs
5876 `(("alexandria" ,sbcl-alexandria)
5877 ("introspect-environment" ,sbcl-introspect-environment)
5878 ("trivia.trivial" ,sbcl-trivia.trivial)))
5879 (native-inputs
5880 `(("fiveam" ,sbcl-fiveam)))
5881 (arguments
5882 `(#:test-asd-file "type-i.test.asd"))
5883 (synopsis "Type inference utility on unary predicates for Common Lisp")
5884 (description "This library tries to provide a way to detect what kind of
5885 type the given predicate is trying to check. This is different from inferring
5886 the return type of a function.")
5887 (license license:llgpl))))
5888
5889 (define-public cl-type-i
5890 (sbcl-package->cl-source-package sbcl-type-i))
5891
5892 (define-public ecl-type-i
5893 (package
5894 (inherit (sbcl-package->ecl-package sbcl-type-i))
5895 (arguments
5896 ;; The tests get stuck indefinitly
5897 '(#:tests? #f))))
5898
5899 (define-public sbcl-optima
5900 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
5901 (revision "1"))
5902 (package
5903 (name "sbcl-optima")
5904 (build-system asdf-build-system/sbcl)
5905 (version (git-version "1.0" revision commit))
5906 (home-page "https://github.com/m2ym/optima")
5907 (source
5908 (origin
5909 (method git-fetch)
5910 (uri (git-reference
5911 (url home-page)
5912 (commit commit)))
5913 (file-name (git-file-name name version))
5914 (sha256
5915 (base32
5916 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
5917 (inputs
5918 `(("alexandria" ,sbcl-alexandria)
5919 ("closer-mop" ,sbcl-closer-mop)))
5920 (native-inputs
5921 `(("eos" ,sbcl-eos)))
5922 (arguments
5923 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
5924 `(#:tests? #f
5925 #:test-asd-file "optima.test.asd"))
5926 (synopsis "Optimized pattern matching library for Common Lisp")
5927 (description "Optima is a fast pattern matching library which uses
5928 optimizing techniques widely used in the functional programming world.")
5929 (license license:expat))))
5930
5931 (define-public cl-optima
5932 (sbcl-package->cl-source-package sbcl-optima))
5933
5934 (define-public ecl-optima
5935 (sbcl-package->ecl-package sbcl-optima))
5936
5937 (define-public sbcl-fare-quasiquote
5938 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
5939 (revision "1"))
5940 (package
5941 (name "sbcl-fare-quasiquote")
5942 (build-system asdf-build-system/sbcl)
5943 (version (git-version "1.0.1" revision commit))
5944 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
5945 (source
5946 (origin
5947 (method git-fetch)
5948 (uri (git-reference
5949 (url (string-append "https://gitlab.common-lisp.net/frideau/"
5950 "fare-quasiquote.git"))
5951 (commit commit)))
5952 (file-name (git-file-name name version))
5953 (sha256
5954 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
5955 (inputs
5956 `(("fare-utils" ,sbcl-fare-utils)
5957 ("named-readtables" ,sbcl-named-readtables)
5958 ("optima" ,sbcl-optima)))
5959 (arguments
5960 ;; XXX: Circular dependencies: Tests depend on subsystems,
5961 ;; which depend on the main systems.
5962 `(#:tests? #f
5963 #:asd-systems '("fare-quasiquote"
5964 "fare-quasiquote-extras")
5965 #:phases
5966 (modify-phases %standard-phases
5967 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
5968 ;; commits after 1.0.0.5, but ASDF fails to read the
5969 ;; "-REVISION-COMMIT" part generated by Guix.
5970 (add-after 'unpack 'patch-requirement
5971 (lambda _
5972 (substitute* "fare-quasiquote.asd"
5973 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
5974 "\"fare-utils\""))
5975 (substitute* "fare-quasiquote-optima.asd"
5976 (("\\(:version \"optima\" \"1\\.0\"\\)")
5977 "\"optima\""))
5978 #t)))))
5979 (synopsis "Pattern-matching friendly implementation of quasiquote")
5980 (description "The main purpose of this n+2nd reimplementation of
5981 quasiquote is enable matching of quasiquoted patterns, using Optima or
5982 Trivia.")
5983 (license license:expat))))
5984
5985 (define-public cl-fare-quasiquote
5986 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
5987
5988 (define-public ecl-fare-quasiquote
5989 (sbcl-package->ecl-package sbcl-fare-quasiquote))
5990
5991 ;;; Split the trivia package in two to work around the circular dependency
5992 ;;; between guicho271828/trivia and guicho271828/type-i.
5993 (define-public sbcl-trivia.trivial
5994 (let ((commit "7286d5d2a4f685f1cac8370816f95276c0851111")
5995 (revision "3"))
5996 (package
5997 (name "sbcl-trivia.trivial")
5998 (version (git-version "0.0.0" revision commit))
5999 (source
6000 (origin
6001 (method git-fetch)
6002 (uri (git-reference
6003 (url "https://github.com/guicho271828/trivia")
6004 (commit commit)))
6005 (file-name (git-file-name "trivia" version))
6006 (sha256
6007 (base32
6008 "0ln0sj3jry7kzbmxhnin66kpbqan1wp8wwgdbw4k29afbdblkcca"))))
6009 (build-system asdf-build-system/sbcl)
6010 (inputs
6011 `(("alexandria" ,sbcl-alexandria)
6012 ("closer-mop" ,sbcl-closer-mop)
6013 ("lisp-namespace" ,sbcl-lisp-namespace)
6014 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
6015 (arguments
6016 '(#:phases
6017 (modify-phases %standard-phases
6018 (add-after 'unpack 'fix-build
6019 (lambda _
6020 (for-each delete-file
6021 '("trivia.balland2006.asd"
6022 "trivia.ppcre.asd"
6023 "trivia.quasiquote.asd"
6024 "trivia.cffi.asd"
6025 "trivia.asd"
6026 "trivia.test.asd"))
6027 #t)))))
6028 (synopsis "Pattern matching in Common Lisp")
6029 (description "Trivia is a pattern matching compiler that is compatible
6030 with Optima, another pattern matching library for Common Lisp. It is meant to
6031 be faster and more extensible than Optima.")
6032 (home-page "https://github.com/guicho271828/trivia")
6033 (license license:llgpl))))
6034
6035 (define-public cl-trivia.trivial
6036 (sbcl-package->cl-source-package sbcl-trivia.trivial))
6037
6038 (define-public ecl-trivia.trivial
6039 (sbcl-package->ecl-package sbcl-trivia.trivial))
6040
6041 (define-public sbcl-trivia
6042 (package
6043 (inherit sbcl-trivia.trivial)
6044 (name "sbcl-trivia")
6045 (native-inputs
6046 `(("fiveam" ,sbcl-fiveam)
6047 ("optima" ,sbcl-optima)))
6048 (inputs
6049 `(("alexandria" ,sbcl-alexandria)
6050 ("cffi" ,sbcl-cffi)
6051 ("cl-ppcre" ,sbcl-cl-ppcre)
6052 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6053 ("iterate" ,sbcl-iterate)
6054 ("trivia.trivial" ,sbcl-trivia.trivial)
6055 ("type-i" ,sbcl-type-i)))
6056 (arguments
6057 '(#:asd-systems '("trivia"
6058 "trivia.ppcre"
6059 "trivia.quasiquote"
6060 "trivia.cffi")
6061 #:test-asd-file "trivia.test.asd"
6062 #:phases
6063 (modify-phases %standard-phases
6064 (add-after 'unpack 'fix-build
6065 (lambda _
6066 (for-each delete-file
6067 '("trivia.level0.asd"
6068 "trivia.level1.asd"
6069 "trivia.level2.asd"
6070 "trivia.trivial.asd"))
6071 #t)))))))
6072
6073 (define-public cl-trivia
6074 (sbcl-package->cl-source-package sbcl-trivia))
6075
6076 (define-public ecl-trivia
6077 (sbcl-package->ecl-package sbcl-trivia))
6078
6079 (define-public sbcl-mk-string-metrics
6080 (package
6081 (name "sbcl-mk-string-metrics")
6082 (version "0.1.2")
6083 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6084 (source (origin
6085 (method git-fetch)
6086 (uri (git-reference
6087 (url home-page)
6088 (commit version)))
6089 (sha256
6090 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6091 (file-name (git-file-name name version))))
6092 (build-system asdf-build-system/sbcl)
6093 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6094 (description "This library implements efficient algorithms that calculate
6095 various string metrics in Common Lisp:
6096
6097 @itemize
6098 @item Damerau-Levenshtein distance
6099 @item Hamming distance
6100 @item Jaccard similarity coefficient
6101 @item Jaro distance
6102 @item Jaro-Winkler distance
6103 @item Levenshtein distance
6104 @item Normalized Damerau-Levenshtein distance
6105 @item Normalized Levenshtein distance
6106 @item Overlap coefficient
6107 @end itemize\n")
6108 (license license:x11)))
6109
6110 (define-public cl-mk-string-metrics
6111 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6112
6113 (define-public ecl-mk-string-metrics
6114 (sbcl-package->ecl-package sbcl-mk-string-metrics))
6115
6116 (define-public sbcl-cl-str
6117 (package
6118 (name "sbcl-cl-str")
6119 (version "0.19")
6120 (home-page "https://github.com/vindarel/cl-str")
6121 (source (origin
6122 (method git-fetch)
6123 (uri (git-reference
6124 (url home-page)
6125 (commit version)))
6126 (sha256
6127 (base32 "1jyza2jhn7w6fl4w87pv0m87z5ia48m6dqw12k0mdh7l3mgjq839"))
6128 (file-name (git-file-name name version))))
6129 (build-system asdf-build-system/sbcl)
6130 (inputs
6131 `(("cl-ppcre" ,sbcl-cl-ppcre)
6132 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
6133 ("cl-change-case" ,sbcl-cl-change-case)))
6134 (native-inputs
6135 `(("prove" ,sbcl-prove)))
6136 (arguments
6137 `(#:asd-systems '("str")
6138 #:test-asd-file "str.test.asd"))
6139 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6140 (description "A modern and consistent Common Lisp string manipulation
6141 library that focuses on modernity, simplicity and discoverability:
6142 @code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6143 @code{str:concat strings} instead of an unusual format construct; one
6144 discoverable library instead of many; consistency and composability, where
6145 @code{s} is always the last argument, which makes it easier to feed pipes and
6146 arrows.")
6147 (license license:expat)))
6148
6149 (define-public cl-str
6150 (sbcl-package->cl-source-package sbcl-cl-str))
6151
6152 (define-public ecl-cl-str
6153 (sbcl-package->ecl-package sbcl-cl-str))
6154
6155 (define-public sbcl-cl-xmlspam
6156 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6157 (package
6158 (name "sbcl-cl-xmlspam")
6159 (build-system asdf-build-system/sbcl)
6160 (version (git-version "0.0.0" "1" commit))
6161 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6162 (source
6163 (origin
6164 (method git-fetch)
6165 (uri (git-reference
6166 (url home-page)
6167 (commit commit)))
6168 (file-name (string-append name "-" version))
6169 (sha256
6170 (base32
6171 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6172 (inputs
6173 `(("cxml" ,sbcl-cxml)
6174 ("cl-ppcre" ,sbcl-cl-ppcre)))
6175 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6176 (description "CXML does an excellent job at parsing XML elements, but what
6177 do you do when you have a XML file that's larger than you want to fit in
6178 memory, and you want to extract some information from it? Writing code to deal
6179 with SAX events, or even using Klacks, quickly becomes tedious.
6180 @code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6181 to write code that mirrors the structure of the XML that it's parsing. It
6182 also makes it easy to shift paradigms when necessary - the usual Lisp control
6183 constructs can be used interchangeably with pattern matching, and the full
6184 power of CXML is available when necessary.")
6185 (license license:bsd-3))))
6186
6187 (define-public cl-xmlspam
6188 (sbcl-package->cl-source-package sbcl-cl-xmlspam))
6189
6190 (define-public ecl-cl-xmlspam
6191 (sbcl-package->ecl-package sbcl-cl-xmlspam))
6192
6193 (define-public sbcl-dbus
6194 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6195 (revision "1"))
6196 (package
6197 (name "sbcl-dbus")
6198 (version (git-version "20190408" revision commit))
6199 (home-page "https://github.com/death/dbus")
6200 (source
6201 (origin
6202 (method git-fetch)
6203 (uri (git-reference
6204 (url home-page)
6205 (commit commit)))
6206 (file-name (git-file-name name version))
6207 (sha256
6208 (base32
6209 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
6210 (build-system asdf-build-system/sbcl)
6211 (inputs
6212 `(("alexandria" ,sbcl-alexandria)
6213 ("trivial-garbage" ,sbcl-trivial-garbage)
6214 ("babel" ,sbcl-babel)
6215 ("iolib" ,sbcl-iolib)
6216 ("ieee-floats" ,sbcl-ieee-floats)
6217 ("flexi-streams" ,sbcl-flexi-streams)
6218 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6219 ("ironclad" ,sbcl-ironclad)))
6220 (synopsis "D-Bus client library for Common Lisp")
6221 (description "This is a Common Lisp library that publishes D-Bus
6222 objects as well as send and notify other objects connected to a bus.")
6223 (license license:bsd-2))))
6224
6225 (define-public cl-dbus
6226 (sbcl-package->cl-source-package sbcl-dbus))
6227
6228 (define-public ecl-dbus
6229 (sbcl-package->ecl-package sbcl-dbus))
6230
6231 (define-public sbcl-cl-hooks
6232 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6233 (revision "1"))
6234 (package
6235 (name "sbcl-cl-hooks")
6236 (build-system asdf-build-system/sbcl)
6237 (version (git-version "0.2.1" revision commit))
6238 (home-page "https://github.com/scymtym/architecture.hooks")
6239 (source
6240 (origin
6241 (method git-fetch)
6242 (uri (git-reference
6243 (url home-page)
6244 (commit commit)))
6245 (file-name (git-file-name name version))
6246 (sha256
6247 (base32
6248 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6249 (inputs
6250 `(("alexandria" ,sbcl-alexandria)
6251 ("let-plus" ,sbcl-let-plus)
6252 ("trivial-garbage" ,sbcl-trivial-garbage)
6253 ("closer-mop" ,sbcl-closer-mop)))
6254 (native-inputs
6255 `(("fiveam" ,sbcl-fiveam)))
6256 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6257 (description "A hook, in the present context, is a certain kind of
6258 extension point in a program that allows interleaving the execution of
6259 arbitrary code with the execution of a the program without introducing any
6260 coupling between the two. Hooks are used extensively in the extensible editor
6261 Emacs.
6262
6263 In the Common LISP Object System (CLOS), a similar kind of extensibility is
6264 possible using the flexible multi-method dispatch mechanism. It may even seem
6265 that the concept of hooks does not provide any benefits over the possibilities
6266 of CLOS. However, there are some differences:
6267
6268 @itemize
6269
6270 @item There can be only one method for each combination of specializers and
6271 qualifiers. As a result this kind of extension point cannot be used by
6272 multiple extensions independently.
6273 @item Removing code previously attached via a @code{:before}, @code{:after} or
6274 @code{:around} method can be cumbersome.
6275 @item There could be other or even multiple extension points besides @code{:before}
6276 and @code{:after} in a single method.
6277 @item Attaching codes to individual objects using eql specializers can be
6278 cumbersome.
6279 @item Introspection of code attached a particular extension point is
6280 cumbersome since this requires enumerating and inspecting the methods of a
6281 generic function.
6282 @end itemize
6283
6284 This library tries to complement some of these weaknesses of method-based
6285 extension-points via the concept of hooks.")
6286 (license license:llgpl))))
6287
6288 (define-public cl-hooks
6289 (sbcl-package->cl-source-package sbcl-cl-hooks))
6290
6291 (define-public ecl-cl-hooks
6292 (sbcl-package->ecl-package sbcl-cl-hooks))
6293
6294 (define-public sbcl-cl-autowrap
6295 (let ((revision "1")
6296 (commit "ae846d6968fc0d000de0c541638929a157f3009e"))
6297 ;; no taged branches
6298 (package
6299 (name "sbcl-cl-autowrap")
6300 (version (git-version "1.0" revision commit))
6301 (source
6302 (origin
6303 (method git-fetch)
6304 (uri (git-reference
6305 (url "https://github.com/rpav/cl-autowrap")
6306 (commit commit)))
6307 (file-name (git-file-name name version))
6308 (sha256
6309 (base32 "1gisldp2zns92kdcaikghm7c38ldy2d884n8bfg0wcjvbz78p3ar"))))
6310 (build-system asdf-build-system/sbcl)
6311 (inputs
6312 `(("alexandria" ,sbcl-alexandria)
6313 ("cffi" ,sbcl-cffi)
6314 ("cl-json" ,sbcl-cl-json)
6315 ("cl-ppcre" ,sbcl-cl-ppcre)
6316 ("defpackage-plus" ,sbcl-defpackage-plus)
6317 ("trivial-features" ,sbcl-trivial-features)))
6318 (home-page "https://github.com/rpav/cl-autowrap")
6319 (synopsis "FFI wrapper generator for Common Lisp")
6320 (description "This is a c2ffi-based wrapper generator for Common Lisp.")
6321 (license license:bsd-2))))
6322
6323 (define-public cl-autowrap
6324 (sbcl-package->cl-source-package sbcl-cl-autowrap))
6325
6326 (define-public ecl-cl-autowrap
6327 (sbcl-package->ecl-package sbcl-cl-autowrap))
6328
6329 (define-public sbcl-s-sysdeps
6330 ;; No release since 2013.
6331 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
6332 (revision "2"))
6333 (package
6334 (name "sbcl-s-sysdeps")
6335 (build-system asdf-build-system/sbcl)
6336 (version (git-version "1" revision commit))
6337 (home-page "https://github.com/svenvc/s-sysdeps")
6338 (source
6339 (origin
6340 (method git-fetch)
6341 (uri (git-reference
6342 (url home-page)
6343 (commit commit)))
6344 (file-name (git-file-name name version))
6345 (sha256
6346 (base32
6347 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
6348 (inputs
6349 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
6350 ("usocket" ,sbcl-usocket)))
6351 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6352 (description "@code{s-sysdeps} is an abstraction layer over platform
6353 dependent functionality. This simple package is used as a building block in a
6354 number of other open source projects.
6355
6356 @code{s-sysdeps} abstracts:
6357
6358 @itemize
6359 @item managing processes,
6360 @item implementing a standard TCP/IP server,
6361 @item opening a client TCP/IP socket stream,
6362 @item working with process locks.
6363 @end itemize\n")
6364 (license license:llgpl))))
6365
6366 (define-public cl-s-sysdeps
6367 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6368
6369 (define-public ecl-s-sysdeps
6370 (sbcl-package->ecl-package sbcl-s-sysdeps))
6371
6372 (define-public sbcl-cl-prevalence
6373 (let ((commit "5a76be036092ed6c18cb695a9e03bce87e21b840")
6374 (revision "4"))
6375 (package
6376 (name "sbcl-cl-prevalence")
6377 (build-system asdf-build-system/sbcl)
6378 (version (git-version "5" revision commit))
6379 (home-page "https://github.com/40ants/cl-prevalence")
6380 (source
6381 (origin
6382 (method git-fetch)
6383 (uri (git-reference
6384 (url home-page)
6385 (commit commit)))
6386 (file-name (git-file-name name version))
6387 (sha256
6388 (base32
6389 "050h6hwv8f16b5v6fzba8zmih92hgaaq27i2x9wv1iib41gbia3r"))))
6390 (inputs
6391 `(("s-sysdeps" ,sbcl-s-sysdeps)
6392 ("s-xml" ,sbcl-s-xml)))
6393 (native-inputs
6394 `(("fiveam" ,sbcl-fiveam)))
6395 (synopsis "Implementation of object prevalence for Common Lisp")
6396 (description "This Common Lisp library implements object prevalence (see
6397 @url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6398 for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6399 classes and cyclic data structures are supported.")
6400 (license license:llgpl))))
6401
6402 (define-public cl-prevalence
6403 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6404
6405 (define-public ecl-cl-prevalence
6406 (sbcl-package->ecl-package sbcl-cl-prevalence))
6407
6408 (define-public sbcl-series
6409 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6410 (revision "1"))
6411 (package
6412 (name "sbcl-series")
6413 (version (git-version "2.2.11" revision commit))
6414 (source
6415 (origin
6416 (method git-fetch)
6417 (uri (git-reference
6418 (url "git://git.code.sf.net/p/series/series")
6419 (commit commit)))
6420 (file-name (git-file-name name version))
6421 (sha256
6422 (base32
6423 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6424 (build-system asdf-build-system/sbcl)
6425 (arguments
6426 ;; Disable the tests, they are apparently buggy and I didn't find
6427 ;; a simple way to make them run and pass.
6428 '(#:tests? #f))
6429 (synopsis "Series data structure for Common Lisp")
6430 (description
6431 "This Common Lisp library provides a series data structure much like
6432 a sequence, with similar kinds of operations. The difference is that in many
6433 situations, operations on series may be composed functionally and yet execute
6434 iteratively, without the need to construct intermediate series values
6435 explicitly. In this manner, series provide both the clarity of a functional
6436 programming style and the efficiency of an iterative programming style.")
6437 (home-page "http://series.sourceforge.net/")
6438 (license license:expat))))
6439
6440 (define-public cl-series
6441 (sbcl-package->cl-source-package sbcl-series))
6442
6443 (define-public ecl-series
6444 (sbcl-package->ecl-package sbcl-series))
6445
6446 (define-public sbcl-periods
6447 (let ((commit "60383dcef88a1ac11f82804ae7a33c361dcd2949")
6448 (revision "2"))
6449 (package
6450 (name "sbcl-periods")
6451 (version (git-version "0.0.2" revision commit))
6452 (source
6453 (origin
6454 (method git-fetch)
6455 (uri (git-reference
6456 (url "https://github.com/jwiegley/periods")
6457 (commit commit)))
6458 (file-name (git-file-name name version))
6459 (sha256
6460 (base32
6461 "1ym2j4an9ig2hl210jg91gpf7xfnp6mlhkw3n9kkdnwiji3ipqlk"))))
6462 (build-system asdf-build-system/sbcl)
6463 (inputs
6464 `(("local-time" ,sbcl-local-time)
6465 ("series" ,sbcl-series)))
6466 (arguments
6467 '(#:asd-systems '("periods"
6468 "periods-series")))
6469 (synopsis "Common Lisp library for manipulating date/time objects")
6470 (description
6471 "Periods is a Common Lisp library providing a set of utilities for
6472 manipulating times, distances between times, and both contiguous and
6473 discontiguous ranges of time.")
6474 (home-page "https://github.com/jwiegley/periods")
6475 (license license:bsd-3))))
6476
6477 (define-public cl-periods
6478 (sbcl-package->cl-source-package sbcl-periods))
6479
6480 (define-public ecl-periods
6481 (sbcl-package->ecl-package sbcl-periods))
6482
6483 (define-public sbcl-metatilities-base
6484 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6485 (revision "1"))
6486 (package
6487 (name "sbcl-metatilities-base")
6488 (version (git-version "0.6.6" revision commit))
6489 (source
6490 (origin
6491 (method git-fetch)
6492 (uri (git-reference
6493 (url "https://github.com/gwkkwg/metatilities-base")
6494 (commit commit)))
6495 (file-name (git-file-name name version))
6496 (sha256
6497 (base32
6498 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6499 (build-system asdf-build-system/sbcl)
6500 (native-inputs
6501 `(("lift" ,sbcl-lift)))
6502 (synopsis "Core of the metatilities Common Lisp library")
6503 (description
6504 "Metatilities-base is the core of the metatilities Common Lisp library
6505 which implements a set of utilities.")
6506 (home-page "https://common-lisp.net/project/metatilities-base/")
6507 (license license:expat))))
6508
6509 (define-public cl-metatilities-base
6510 (sbcl-package->cl-source-package sbcl-metatilities-base))
6511
6512 (define-public ecl-metatilities-base
6513 (sbcl-package->ecl-package sbcl-metatilities-base))
6514
6515 (define-public sbcl-cl-containers
6516 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6517 (revision "3"))
6518 (package
6519 (name "sbcl-cl-containers")
6520 (version (git-version "0.12.1" revision commit))
6521 (source
6522 (origin
6523 (method git-fetch)
6524 (uri (git-reference
6525 (url "https://github.com/gwkkwg/cl-containers")
6526 (commit commit)))
6527 (file-name (git-file-name name version))
6528 (sha256
6529 (base32
6530 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
6531 (build-system asdf-build-system/sbcl)
6532 (native-inputs
6533 `(("lift" ,sbcl-lift)))
6534 (inputs
6535 `(("metatilities-base" ,sbcl-metatilities-base)))
6536 (arguments
6537 '(#:asd-files '("cl-containers.asd")
6538 #:phases
6539 (modify-phases %standard-phases
6540 (add-after 'unpack 'relax-version-checks
6541 (lambda _
6542 (substitute* "cl-containers.asd"
6543 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6544 "\"metatilities-base\""))
6545 (substitute* "cl-containers-test.asd"
6546 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6547 "\"lift\""))
6548 #t)))))
6549 (synopsis "Container library for Common Lisp")
6550 (description
6551 "Common Lisp ships with a set of powerful built in data structures
6552 including the venerable list, full featured arrays, and hash-tables.
6553 CL-containers enhances and builds on these structures by adding containers
6554 that are not available in native Lisp (for example: binary search trees,
6555 red-black trees, sparse arrays and so on), and by providing a standard
6556 interface so that they are simpler to use and so that changing design
6557 decisions becomes significantly easier.")
6558 (home-page "https://common-lisp.net/project/cl-containers/")
6559 (license license:expat))))
6560
6561 (define-public cl-containers
6562 (sbcl-package->cl-source-package sbcl-cl-containers))
6563
6564 (define-public ecl-cl-containers
6565 (sbcl-package->ecl-package sbcl-cl-containers))
6566
6567 (define-public sbcl-xlunit
6568 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6569 (revision "1"))
6570 (package
6571 (name "sbcl-xlunit")
6572 (version (git-version "0.6.3" revision commit))
6573 (source
6574 (origin
6575 (method git-fetch)
6576 (uri (git-reference
6577 (url "http://git.kpe.io/xlunit.git")
6578 (commit commit)))
6579 (file-name (git-file-name name version))
6580 (sha256
6581 (base32
6582 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6583 (build-system asdf-build-system/sbcl)
6584 (arguments
6585 '(#:phases
6586 (modify-phases %standard-phases
6587 (add-after 'unpack 'fix-tests
6588 (lambda _
6589 (substitute* "xlunit.asd"
6590 ((" :force t") ""))
6591 #t)))))
6592 (synopsis "Unit testing package for Common Lisp")
6593 (description
6594 "The XLUnit package is a toolkit for building test suites. It is based
6595 on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6596 (home-page "http://quickdocs.org/xlunit/")
6597 (license license:bsd-3))))
6598
6599 (define-public cl-xlunit
6600 (sbcl-package->cl-source-package sbcl-xlunit))
6601
6602 (define-public ecl-xlunit
6603 (sbcl-package->ecl-package sbcl-xlunit))
6604
6605 (define-public sbcl-cambl
6606 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6607 (revision "1"))
6608 (package
6609 (name "sbcl-cambl")
6610 (version (git-version "4.0.0" revision commit))
6611 (source
6612 (origin
6613 (method git-fetch)
6614 (uri (git-reference
6615 (url "https://github.com/jwiegley/cambl")
6616 (commit commit)))
6617 (file-name (git-file-name "cambl" version))
6618 (sha256
6619 (base32 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6620 (build-system asdf-build-system/sbcl)
6621 (native-inputs
6622 `(("xlunit" ,sbcl-xlunit)))
6623 (inputs
6624 `(("alexandria" ,sbcl-alexandria)
6625 ("cl-containers" ,sbcl-cl-containers)
6626 ("local-time" ,sbcl-local-time)
6627 ("periods" ,sbcl-periods)))
6628 (arguments
6629 '(#:asd-files '("fprog.asd"
6630 "cambl.asd")))
6631 (synopsis "Commoditized amounts and balances for Common Lisp")
6632 (description
6633 "CAMBL is a Common Lisp library providing a convenient facility for
6634 working with commoditized values. It does not allow compound units (and so is
6635 not suited for scientific operations) but does work rather nicely for the
6636 purpose of financial calculations.")
6637 (home-page "https://github.com/jwiegley/cambl")
6638 (license license:bsd-3))))
6639
6640 (define-public cl-cambl
6641 (sbcl-package->cl-source-package sbcl-cambl))
6642
6643 (define-public ecl-cambl
6644 (sbcl-package->ecl-package sbcl-cambl))
6645
6646 (define-public sbcl-cl-ledger
6647 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6648 (revision "1"))
6649 (package
6650 (name "sbcl-cl-ledger")
6651 (version (git-version "4.0.0" revision commit))
6652 (source
6653 (origin
6654 (method git-fetch)
6655 (uri (git-reference
6656 (url "https://github.com/ledger/cl-ledger")
6657 (commit commit)))
6658 (file-name (git-file-name name version))
6659 (sha256
6660 (base32
6661 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6662 (build-system asdf-build-system/sbcl)
6663 (inputs
6664 `(("cambl" ,sbcl-cambl)
6665 ("cl-ppcre" ,sbcl-cl-ppcre)
6666 ("local-time" ,sbcl-local-time)
6667 ("periods" ,sbcl-periods)))
6668 (arguments
6669 '(#:phases
6670 (modify-phases %standard-phases
6671 (add-after 'unpack 'fix-system-definition
6672 (lambda _
6673 (substitute* "cl-ledger.asd"
6674 ((" :build-operation program-op") "")
6675 ((" :build-pathname \"cl-ledger\"") "")
6676 ((" :entry-point \"ledger::main\"") ""))
6677 #t)))))
6678 (synopsis "Common Lisp port of the Ledger accounting system")
6679 (description
6680 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6681 system.")
6682 (home-page "https://github.com/ledger/cl-ledger")
6683 (license license:bsd-3))))
6684
6685 (define-public cl-ledger
6686 (sbcl-package->cl-source-package sbcl-cl-ledger))
6687
6688 (define-public ecl-cl-ledger
6689 (sbcl-package->ecl-package sbcl-cl-ledger))
6690
6691 (define-public sbcl-bst
6692 (let ((commit "8545aed0d504df2829ad139566feeabe22305388")
6693 (revision "0"))
6694 (package
6695 (name "sbcl-bst")
6696 (version (git-version "2.0" revision commit))
6697 (source
6698 (origin
6699 (method git-fetch)
6700 (uri (git-reference
6701 (url "https://github.com/glv2/bst")
6702 (commit commit)))
6703 (file-name (git-file-name name version))
6704 (sha256
6705 (base32 "18ig7rvxcra69437g0i8sxyv7c5dg26jqnx1rc2f9pxmihdprgk8"))))
6706 (build-system asdf-build-system/sbcl)
6707 (native-inputs
6708 `(("alexandria" ,sbcl-alexandria)
6709 ("fiveam" ,sbcl-fiveam)))
6710 (synopsis "Binary search tree for Common Lisp")
6711 (description
6712 "BST is a Common Lisp library for working with binary search trees that
6713 can contain any kind of values.")
6714 (home-page "https://github.com/glv2/bst")
6715 (license license:gpl3))))
6716
6717 (define-public cl-bst
6718 (sbcl-package->cl-source-package sbcl-bst))
6719
6720 (define-public ecl-bst
6721 (sbcl-package->ecl-package sbcl-bst))
6722
6723 (define-public sbcl-cl-octet-streams
6724 (package
6725 (name "sbcl-cl-octet-streams")
6726 (version "1.2")
6727 (source
6728 (origin
6729 (method git-fetch)
6730 (uri (git-reference
6731 (url "https://github.com/glv2/cl-octet-streams")
6732 (commit (string-append "v" version))))
6733 (file-name (git-file-name name version))
6734 (sha256
6735 (base32 "1hffh98bv4w5yrchagzwqrc43d2p473pvw7ka4kyyvhrr52dk2f8"))))
6736 (build-system asdf-build-system/sbcl)
6737 (native-inputs
6738 `(("fiveam" ,sbcl-fiveam)))
6739 (inputs
6740 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6741 (synopsis "In-memory octet streams for Common Lisp")
6742 (description
6743 "CL-octet-streams is a library implementing in-memory octet
6744 streams for Common Lisp. It was inspired by the trivial-octet-streams and
6745 cl-plumbing libraries.")
6746 (home-page "https://github.com/glv2/cl-octet-streams")
6747 (license license:gpl3+)))
6748
6749 (define-public cl-octet-streams
6750 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
6751
6752 (define-public ecl-cl-octet-streams
6753 (sbcl-package->ecl-package sbcl-cl-octet-streams))
6754
6755 (define-public sbcl-lzlib
6756 (let ((commit "cad10f5becbcfebb44b9d311a257563778803452")
6757 (revision "2"))
6758 (package
6759 (name "sbcl-lzlib")
6760 (version (git-version "1.1" revision commit))
6761 (source
6762 (origin
6763 (method git-fetch)
6764 (uri (git-reference
6765 (url "https://github.com/glv2/cl-lzlib")
6766 (commit commit)))
6767 (file-name (git-file-name name version))
6768 (sha256
6769 (base32 "09lp7li35h4jkls0448fj1sh6pjslr1w7ranbc4szjr8g0c2bdry"))))
6770 (build-system asdf-build-system/sbcl)
6771 (native-inputs
6772 `(("fiveam" ,sbcl-fiveam)))
6773 (inputs
6774 `(("cffi" ,sbcl-cffi)
6775 ("cl-octet-streams" ,sbcl-cl-octet-streams)
6776 ("lparallel" ,sbcl-lparallel)
6777 ("lzlib" ,lzlib)))
6778 (arguments
6779 '(#:phases
6780 (modify-phases %standard-phases
6781 (add-after 'unpack 'fix-paths
6782 (lambda* (#:key inputs #:allow-other-keys)
6783 (substitute* "src/lzlib.lisp"
6784 (("liblz\\.so")
6785 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
6786 #t)))))
6787 (synopsis "Common Lisp library for lzip (de)compression")
6788 (description
6789 "This Common Lisp library provides functions for lzip (LZMA)
6790 compression/decompression using bindings to the lzlib C library.")
6791 (home-page "https://github.com/glv2/cl-lzlib")
6792 (license license:gpl3+))))
6793
6794 (define-public cl-lzlib
6795 (sbcl-package->cl-source-package sbcl-lzlib))
6796
6797 (define-public ecl-lzlib
6798 (sbcl-package->ecl-package sbcl-lzlib))
6799
6800 (define-public sbcl-chanl
6801 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
6802 (revision "1"))
6803 (package
6804 (name "sbcl-chanl")
6805 (version (git-version "0.4.1" revision commit))
6806 (source
6807 (origin
6808 (method git-fetch)
6809 (uri (git-reference
6810 (url "https://github.com/zkat/chanl")
6811 (commit commit)))
6812 (file-name (git-file-name name version))
6813 (sha256
6814 (base32
6815 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
6816 (build-system asdf-build-system/sbcl)
6817 (native-inputs
6818 `(("fiveam" ,sbcl-fiveam)))
6819 (inputs
6820 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
6821 (synopsis "Portable channel-based concurrency for Common Lisp")
6822 (description "Common Lisp library for channel-based concurrency. In
6823 a nutshell, you create various threads sequentially executing tasks you need
6824 done, and use channel objects to communicate and synchronize the state of these
6825 threads.")
6826 (home-page "https://github.com/zkat/chanl")
6827 (license (list license:expat license:bsd-3)))))
6828
6829 (define-public cl-chanl
6830 (sbcl-package->cl-source-package sbcl-chanl))
6831
6832 (define-public ecl-chanl
6833 (sbcl-package->ecl-package sbcl-chanl))
6834
6835 (define-public sbcl-cl-store
6836 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
6837 (revision "1"))
6838 (package
6839 (name "sbcl-cl-store")
6840 (version (git-version "0.8.11" revision commit))
6841 (source
6842 (origin
6843 (method git-fetch)
6844 (uri (git-reference
6845 (url "https://github.com/skypher/cl-store")
6846 (commit commit)))
6847 (file-name (git-file-name name version))
6848 (sha256
6849 (base32
6850 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
6851 (build-system asdf-build-system/sbcl)
6852 (native-inputs
6853 `(("rt" ,sbcl-rt)))
6854 (synopsis "Common Lisp library to serialize data")
6855 (description
6856 "CL-STORE is a portable serialization package which should give you the
6857 ability to store all Common Lisp data types into streams.")
6858 (home-page "https://www.common-lisp.net/project/cl-store/")
6859 (license license:expat))))
6860
6861 (define-public cl-store
6862 (sbcl-package->cl-source-package sbcl-cl-store))
6863
6864 (define-public ecl-cl-store
6865 (sbcl-package->ecl-package sbcl-cl-store))
6866
6867 (define-public sbcl-specialization-store
6868 (let ((commit "8d39a866a6f24986aad3cc52349e9cb2653496f3")
6869 (revision "1"))
6870 (package
6871 (name "sbcl-specialization-store")
6872 (version (git-version "0.0.5" revision commit))
6873 (source
6874 (origin
6875 (method git-fetch)
6876 (uri (git-reference
6877 (url "https://github.com/markcox80/specialization-store")
6878 (commit commit)))
6879 (file-name (git-file-name "specialization-store" version))
6880 (sha256
6881 (base32 "0r0bgb46q4gy72l78s7djkxq8ibb4bb3yh9brsry5lih7br8lhi0"))))
6882 (build-system asdf-build-system/sbcl)
6883 (native-inputs
6884 `(("fiveam" ,sbcl-fiveam)))
6885 (inputs
6886 `(("alexandria" ,sbcl-alexandria)
6887 ("introspect-environment" ,sbcl-introspect-environment)))
6888 (home-page "https://github.com/markcox80/specialization-store")
6889 (synopsis "Different type of generic function for Common Lisp")
6890 (description
6891 "SPECIALIZATION-STORE system provides a new kind of function, called
6892 a store function, whose behavior depends on the types of objects passed to the
6893 function.")
6894 (license license:bsd-2))))
6895
6896 (define-public ecl-specialization-store
6897 (package
6898 (inherit (sbcl-package->ecl-package sbcl-specialization-store))
6899 (arguments
6900 ;; TODO: Find why the tests get stuck forever; disable them for now.
6901 `(#:tests? #f))))
6902
6903 (define-public cl-specialization-store
6904 (sbcl-package->cl-source-package sbcl-specialization-store))
6905
6906 (define-public sbcl-cl-gobject-introspection
6907 (let ((commit "d0136c8d9ade2560123af1fc55bbf70d2e3db539")
6908 (revision "1"))
6909 (package
6910 (name "sbcl-cl-gobject-introspection")
6911 (version (git-version "0.3" revision commit))
6912 (home-page "https://github.com/andy128k/cl-gobject-introspection")
6913 (source
6914 (origin
6915 (method git-fetch)
6916 (uri (git-reference
6917 (url home-page)
6918 (commit commit)))
6919 (file-name (git-file-name name version))
6920 (sha256
6921 (base32
6922 "0dz0r73pq7yhz2iq2jnkq977awx2zws2qfxdcy33329sys1ii32p"))))
6923 (build-system asdf-build-system/sbcl)
6924 (inputs
6925 `(("alexandria" ,sbcl-alexandria)
6926 ("cffi" ,sbcl-cffi)
6927 ("iterate" ,sbcl-iterate)
6928 ("trivial-garbage" ,sbcl-trivial-garbage)
6929 ("glib" ,glib)
6930 ("gobject-introspection" ,gobject-introspection)))
6931 (native-inputs
6932 `(("fiveam" ,sbcl-fiveam)))
6933 (arguments
6934 '(#:phases
6935 (modify-phases %standard-phases
6936 (add-after 'unpack 'fix-paths
6937 (lambda* (#:key inputs #:allow-other-keys)
6938 (substitute* "src/init.lisp"
6939 (("libgobject-2\\.0\\.so")
6940 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
6941 (("libgirepository-1\\.0\\.so")
6942 (string-append (assoc-ref inputs "gobject-introspection")
6943 "/lib/libgirepository-1.0.so")))
6944 #t)))))
6945 (synopsis "Common Lisp bindings to GObject Introspection")
6946 (description
6947 "This library is a bridge between Common Lisp and GObject
6948 Introspection, which enables Common Lisp programs to access the full interface
6949 of C+GObject libraries without the need of writing dedicated bindings.")
6950 (license (list license:bsd-3
6951 ;; Tests are under a different license.
6952 license:llgpl)))))
6953
6954 (define-public cl-gobject-introspection
6955 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
6956
6957 (define-public ecl-cl-gobject-introspection
6958 (sbcl-package->ecl-package sbcl-cl-gobject-introspection))
6959
6960 (define-public sbcl-cl-slug
6961 (let ((commit "ffb229d10f0d3f7f54e706791725225e200bf749")
6962 (revision "1"))
6963 (package
6964 (name "sbcl-cl-slug")
6965 (version (git-version "0.4.1" revision commit))
6966 (source
6967 (origin
6968 (method git-fetch)
6969 (uri (git-reference
6970 (url "https://github.com/EuAndreh/cl-slug")
6971 (commit commit)))
6972 (file-name (git-file-name "cl-slug" version))
6973 (sha256
6974 (base32 "1asdq6xllmsvfw5fky9wblqcx9isac9jrrlkfl7vyxcq1wxrnflx"))))
6975 (build-system asdf-build-system/sbcl)
6976 (arguments
6977 `(#:asd-files '("cl-slug-test.asd" "cl-slug.asd")
6978 #:asd-systems '("cl-slug-test" "cl-slug")))
6979 (native-inputs
6980 `(("prove" ,sbcl-prove)))
6981 (inputs
6982 `(("ppcre" ,sbcl-cl-ppcre)))
6983 (home-page "https://github.com/EuAndreh/cl-slug")
6984 (synopsis "Multi-language slug formater")
6985 (description
6986 "This is a small Common Lisp library to make slugs, mainly for URIs,
6987 from english and beyond.")
6988 (license license:llgpl))))
6989
6990 (define-public ecl-cl-slug
6991 (sbcl-package->ecl-package sbcl-cl-slug))
6992
6993 (define-public cl-slug
6994 (sbcl-package->cl-source-package sbcl-cl-slug))
6995
6996 (define-public sbcl-string-case
6997 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
6998 (revision "0"))
6999 (package
7000 (name "sbcl-string-case")
7001 (version (git-version "0.0.2" revision commit))
7002 (home-page "https://github.com/pkhuong/string-case")
7003 (source
7004 (origin
7005 (method git-fetch)
7006 (uri (git-reference
7007 (url home-page)
7008 (commit commit)))
7009 (file-name (git-file-name name version))
7010 (sha256
7011 (base32
7012 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7013 (build-system asdf-build-system/sbcl)
7014 (synopsis "Efficient string= case in Common Lisp")
7015 (description
7016 "@code{string-case} is a Common Lisp macro that generates specialised decision
7017 trees to dispatch on string equality.")
7018 (license license:bsd-3))))
7019
7020 (define-public cl-string-case
7021 (sbcl-package->cl-source-package sbcl-string-case))
7022
7023 (define-public ecl-string-case
7024 (sbcl-package->ecl-package sbcl-string-case))
7025
7026 (define-public sbcl-garbage-pools
7027 (let ((commit "9a7cb7f48b04197c0495df3b6d2e8395ad13f790")
7028 (revision "1"))
7029 (package
7030 (name "sbcl-garbage-pools")
7031 (version (git-version "0.1.2" revision commit))
7032 (source
7033 (origin
7034 (method git-fetch)
7035 (uri (git-reference
7036 (url "https://github.com/archimag/garbage-pools")
7037 (commit commit)))
7038 (file-name (git-file-name name version))
7039 (sha256
7040 (base32 "04jqwr6j138him6wc4nrwjzm4lvyj5j31xqab02nkf8h9hmsf5v1"))))
7041 (build-system asdf-build-system/sbcl)
7042 (home-page "https://github.com/archimag/garbage-pools")
7043 (synopsis "Resource management pools for Common Lisp")
7044 (description "GARBAGE-POOLS is Common Lisp re-implementation of the APR
7045 Pools for resource management.")
7046 (license license:expat))))
7047
7048 (define-public ecl-garbage-pools
7049 (sbcl-package->ecl-package sbcl-garbage-pools))
7050
7051 (define-public cl-garbage-pools
7052 (sbcl-package->cl-source-package sbcl-garbage-pools))
7053
7054 (define-public sbcl-global-vars
7055 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7056 (revision "0"))
7057 (package
7058 (name "sbcl-global-vars")
7059 (version (git-version "1.0.0" revision commit))
7060 (home-page "https://github.com/lmj/global-vars")
7061 (source
7062 (origin
7063 (method git-fetch)
7064 (uri (git-reference
7065 (url home-page)
7066 (commit commit)))
7067 (file-name (git-file-name name version))
7068 (sha256
7069 (base32
7070 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7071 (build-system asdf-build-system/sbcl)
7072 (synopsis "Efficient global variables in Common Lisp")
7073 (description
7074 "In Common Lisp, a special variable that is never dynamically bound
7075 typically serves as a stand-in for a global variable. The @code{global-vars}
7076 library provides true global variables that are implemented by some compilers.
7077 An attempt to rebind a global variable properly results in a compiler error.
7078 That is, a global variable cannot be dynamically bound.
7079
7080 Global variables therefore allow us to communicate an intended usage that
7081 differs from special variables. Global variables are also more efficient than
7082 special variables, especially in the presence of threads.")
7083 (license license:expat))))
7084
7085 (define-public cl-global-vars
7086 (sbcl-package->cl-source-package sbcl-global-vars))
7087
7088 (define-public ecl-global-vars
7089 (sbcl-package->ecl-package sbcl-global-vars))
7090
7091 (define-public sbcl-trivial-file-size
7092 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7093 (revision "0"))
7094 (package
7095 (name "sbcl-trivial-file-size")
7096 (version (git-version "0.0.0" revision commit))
7097 (home-page "https://github.com/ruricolist/trivial-file-size")
7098 (source
7099 (origin
7100 (method git-fetch)
7101 (uri (git-reference
7102 (url home-page)
7103 (commit commit)))
7104 (file-name (git-file-name name version))
7105 (sha256
7106 (base32
7107 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7108 (build-system asdf-build-system/sbcl)
7109 (native-inputs
7110 `(("fiveam" ,sbcl-fiveam)))
7111 (synopsis "Size of a file in bytes in Common Lisp")
7112 (description
7113 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7114 is to open the file with an element type of (unsigned-byte 8) and then
7115 calculate the length of the stream. This is less than ideal. In most cases
7116 it is better to get the size of the file from its metadata, using a system
7117 call.
7118
7119 This library exports a single function, file-size-in-octets. It returns the
7120 size of a file in bytes, using system calls when possible.")
7121 (license license:expat))))
7122
7123 (define-public cl-trivial-file-size
7124 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7125
7126 (define-public ecl-trivial-file-size
7127 (sbcl-package->ecl-package sbcl-trivial-file-size))
7128
7129 (define-public sbcl-trivial-macroexpand-all
7130 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7131 (revision "0"))
7132 (package
7133 (name "sbcl-trivial-macroexpand-all")
7134 (version (git-version "0.0.0" revision commit))
7135 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7136 (source
7137 (origin
7138 (method git-fetch)
7139 (uri (git-reference
7140 (url home-page)
7141 (commit commit)))
7142 (file-name (git-file-name name version))
7143 (sha256
7144 (base32
7145 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7146 (build-system asdf-build-system/sbcl)
7147 (native-inputs
7148 `(("fiveam" ,sbcl-fiveam)))
7149 (synopsis "Portable macroexpand-all for Common Lisp")
7150 (description
7151 "This library provides a macroexpand-all function that calls the
7152 implementation specific equivalent.")
7153 (license license:unlicense))))
7154
7155 (define-public cl-trivial-macroexpand-all
7156 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7157
7158 (define-public ecl-trivial-macroexpand-all
7159 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7160
7161 (define-public sbcl-serapeum
7162 (let ((commit "263f415a350736b44e3878524ff3997e656fca32")
7163 (revision "4"))
7164 (package
7165 (name "sbcl-serapeum")
7166 (version (git-version "0.0.0" revision commit))
7167 (home-page "https://github.com/ruricolist/serapeum")
7168 (source
7169 (origin
7170 (method git-fetch)
7171 (uri (git-reference
7172 (url home-page)
7173 (commit commit)))
7174 (file-name (git-file-name name version))
7175 (sha256
7176 (base32
7177 "1669yidvxq41s3g6hb2jk21bcb5s2bnfsacpyd5b0hdxbmc7knq3"))))
7178 (build-system asdf-build-system/sbcl)
7179 (inputs
7180 `(("alexandria" ,sbcl-alexandria)
7181 ("trivia" ,sbcl-trivia)
7182 ("split-sequence" ,sbcl-split-sequence)
7183 ("string-case" ,sbcl-string-case)
7184 ("parse-number" ,sbcl-parse-number)
7185 ("trivial-garbage" ,sbcl-trivial-garbage)
7186 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7187 ("named-readtables" ,sbcl-named-readtables)
7188 ("fare-quasiquote" ,sbcl-fare-quasiquote)
7189 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7190 ("global-vars" ,sbcl-global-vars)
7191 ("trivial-file-size" ,sbcl-trivial-file-size)
7192 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7193 (native-inputs
7194 `(("fiveam" ,sbcl-fiveam)
7195 ("local-time" ,sbcl-local-time)))
7196 (arguments
7197 '(#:phases
7198 (modify-phases %standard-phases
7199 (add-after 'unpack 'disable-failing-tests
7200 (lambda* (#:key inputs #:allow-other-keys)
7201 (substitute* "serapeum.asd"
7202 ;; Guix does not have Quicklisp, and probably never will.
7203 (("\\(:file \"quicklisp\"\\)") ""))
7204 #t)))))
7205 (synopsis "Common Lisp utility library beyond Alexandria")
7206 (description
7207 "Serapeum is a conservative library of Common Lisp utilities. It is a
7208 supplement, not a competitor, to Alexandria.")
7209 (license license:expat))))
7210
7211 (define-public cl-serapeum
7212 (sbcl-package->cl-source-package sbcl-serapeum))
7213
7214 (define-public ecl-serapeum
7215 (sbcl-package->ecl-package sbcl-serapeum))
7216
7217 (define-public sbcl-arrows
7218 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7219 (revision "0"))
7220 (package
7221 (name "sbcl-arrows")
7222 (version (git-version "0.2.0" revision commit))
7223 (source
7224 (origin
7225 (method git-fetch)
7226 (uri (git-reference
7227 (url "https://gitlab.com/Harleqin/arrows.git")
7228 (commit commit)))
7229 (file-name (git-file-name name version))
7230 (sha256
7231 (base32
7232 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7233 (build-system asdf-build-system/sbcl)
7234 (native-inputs
7235 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7236 (synopsis "Clojure-like arrow macros for Common Lisp")
7237 (description
7238 "This library implements the @code{->} and @code{->>} macros from
7239 Clojure, as well as several expansions on the idea.")
7240 (home-page "https://gitlab.com/Harleqin/arrows")
7241 (license license:public-domain))))
7242
7243 (define-public cl-arrows
7244 (sbcl-package->cl-source-package sbcl-arrows))
7245
7246 (define-public ecl-arrows
7247 (sbcl-package->ecl-package sbcl-arrows))
7248
7249 (define-public sbcl-simple-parallel-tasks
7250 (let ((commit "ce7b60f788d8f68dfb69b24aac54c0e3b63379a6")
7251 (revision "1"))
7252 (package
7253 (name "sbcl-simple-parallel-tasks")
7254 (version (git-version "1.0" revision commit))
7255 (source
7256 (origin
7257 (method git-fetch)
7258 (uri (git-reference
7259 (url "https://github.com/glv2/simple-parallel-tasks")
7260 (commit commit)))
7261 (file-name (git-file-name name version))
7262 (sha256
7263 (base32 "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7"))))
7264 (build-system asdf-build-system/sbcl)
7265 (native-inputs
7266 `(("fiveam" ,sbcl-fiveam)))
7267 (inputs
7268 `(("chanl" ,sbcl-chanl)))
7269 (synopsis "Common Lisp library to evaluate some forms in parallel")
7270 (description "This is a simple Common Lisp library to evaluate some
7271 forms in parallel.")
7272 (home-page "https://github.com/glv2/simple-parallel-tasks")
7273 (license license:gpl3))))
7274
7275 (define-public cl-simple-parallel-tasks
7276 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7277
7278 (define-public ecl-simple-parallel-tasks
7279 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7280
7281 (define-public sbcl-cl-heap
7282 (package
7283 (name "sbcl-cl-heap")
7284 (version "0.1.6")
7285 (source
7286 (origin
7287 (method url-fetch)
7288 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7289 "cl-heap_" version ".tar.gz"))
7290 (sha256
7291 (base32
7292 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7293 (build-system asdf-build-system/sbcl)
7294 (native-inputs
7295 `(("xlunit" ,sbcl-xlunit)))
7296 (arguments
7297 `(#:test-asd-file "cl-heap-tests.asd"))
7298 (synopsis "Heap and priority queue data structures for Common Lisp")
7299 (description
7300 "CL-HEAP provides various implementations of heap data structures (a
7301 binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7302 (home-page "https://common-lisp.net/project/cl-heap/")
7303 (license license:gpl3+)))
7304
7305 (define-public cl-heap
7306 (sbcl-package->cl-source-package sbcl-cl-heap))
7307
7308 (define-public ecl-cl-heap
7309 (sbcl-package->ecl-package sbcl-cl-heap))
7310
7311 (define-public sbcl-curry-compose-reader-macros
7312 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7313 (revision "0"))
7314 (package
7315 (name "sbcl-curry-compose-reader-macros")
7316 (version (git-version "1.0.0" revision commit))
7317 (source
7318 (origin
7319 (method git-fetch)
7320 (uri
7321 (git-reference
7322 (url "https://github.com/eschulte/curry-compose-reader-macros")
7323 (commit commit)))
7324 (file-name (git-file-name name version))
7325 (sha256
7326 (base32
7327 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7328 (build-system asdf-build-system/sbcl)
7329 (inputs
7330 `(("alexandria" ,sbcl-alexandria)
7331 ("named-readtables" ,sbcl-named-readtables)))
7332 (synopsis "Reader macros for partial application and composition")
7333 (description
7334 "This Common Lisp library provides reader macros for concise expression
7335 of function partial application and composition.")
7336 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7337 (license license:public-domain))))
7338
7339 (define-public cl-curry-compose-reader-macros
7340 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7341
7342 (define-public ecl-curry-compose-reader-macros
7343 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7344
7345 (define-public sbcl-yason
7346 (package
7347 (name "sbcl-yason")
7348 (version "0.7.7")
7349 (source
7350 (origin
7351 (method git-fetch)
7352 (uri (git-reference
7353 (url "https://github.com/phmarek/yason")
7354 (commit (string-append "v" version))))
7355 (file-name (git-file-name name version))
7356 (sha256
7357 (base32
7358 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7359 (build-system asdf-build-system/sbcl)
7360 (inputs
7361 `(("alexandria" ,sbcl-alexandria)
7362 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7363 (synopsis "Common Lisp JSON parser/encoder")
7364 (description
7365 "YASON is a Common Lisp library for encoding and decoding data in the
7366 JSON interchange format.")
7367 (home-page "https://github.com/phmarek/yason")
7368 (license license:bsd-3)))
7369
7370 (define-public cl-yason
7371 (sbcl-package->cl-source-package sbcl-yason))
7372
7373 (define-public ecl-yason
7374 (sbcl-package->ecl-package sbcl-yason))
7375
7376 (define-public sbcl-stefil
7377 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7378 (revision "0"))
7379 (package
7380 (name "sbcl-stefil")
7381 (version (git-version "0.1" revision commit))
7382 (source
7383 (origin
7384 (method git-fetch)
7385 (uri (git-reference
7386 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7387 (commit commit)))
7388 (file-name (git-file-name name version))
7389 (sha256
7390 (base32
7391 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7392 (build-system asdf-build-system/sbcl)
7393 (inputs
7394 `(("alexandria" ,sbcl-alexandria)
7395 ("iterate" ,sbcl-iterate)
7396 ("metabang-bind" ,sbcl-metabang-bind)
7397 ("swank" ,sbcl-slime-swank)))
7398 (arguments
7399 '(#:phases
7400 (modify-phases %standard-phases
7401 (add-after 'unpack 'drop-unnecessary-dependency
7402 (lambda _
7403 (substitute* "package.lisp"
7404 ((":stefil-system") ""))
7405 #t)))))
7406 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7407 (synopsis "Simple test framework")
7408 (description
7409 "Stefil is a simple test framework for Common Lisp, with a focus on
7410 interactive development.")
7411 (license license:public-domain))))
7412
7413 (define-public cl-stefil
7414 (sbcl-package->cl-source-package sbcl-stefil))
7415
7416 (define-public ecl-stefil
7417 (sbcl-package->ecl-package sbcl-stefil))
7418
7419 (define-public sbcl-graph
7420 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7421 (revision "0"))
7422 (package
7423 (name "sbcl-graph")
7424 (version (git-version "0.0.0" revision commit))
7425 (source
7426 (origin
7427 (method git-fetch)
7428 (uri
7429 (git-reference
7430 (url "https://github.com/eschulte/graph")
7431 (commit commit)))
7432 (file-name (git-file-name name version))
7433 (sha256
7434 (base32
7435 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))))
7436 (build-system asdf-build-system/sbcl)
7437 (native-inputs
7438 `(("stefil" ,sbcl-stefil)))
7439 (inputs
7440 `(("alexandria" ,sbcl-alexandria)
7441 ("cl-heap" ,sbcl-cl-heap)
7442 ("cl-ppcre" ,sbcl-cl-ppcre)
7443 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7444 ("metabang-bind" ,sbcl-metabang-bind)
7445 ("named-readtables" ,sbcl-named-readtables)
7446 ("yason" ,sbcl-yason)))
7447 (arguments
7448 '(#:asd-systems '("graph"
7449 "graph/dot"
7450 "graph/json")))
7451 (synopsis "Graph data structure and algorithms for Common Lisp")
7452 (description
7453 "The GRAPH Common Lisp library provides a data structures to represent
7454 graphs, as well as some graph manipulation and analysis algorithms (shortest
7455 path, maximum flow, minimum spanning tree, etc.).")
7456 (home-page "https://eschulte.github.io/graph/")
7457 (license license:gpl3+))))
7458
7459 (define-public cl-graph
7460 (sbcl-package->cl-source-package sbcl-graph))
7461
7462 (define-public ecl-graph
7463 (sbcl-package->ecl-package sbcl-graph))
7464
7465 (define-public sbcl-trivial-indent
7466 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7467 (revision "0"))
7468 (package
7469 (name "sbcl-trivial-indent")
7470 (version (git-version "1.0.0" revision commit))
7471 (source
7472 (origin
7473 (method git-fetch)
7474 (uri
7475 (git-reference
7476 (url "https://github.com/Shinmera/trivial-indent")
7477 (commit commit)))
7478 (file-name (git-file-name name version))
7479 (sha256
7480 (base32
7481 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7482 (build-system asdf-build-system/sbcl)
7483 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7484 (description
7485 "This library allows you to define custom indentation hints for your
7486 macros if the one recognised by SLIME automatically produces unwanted
7487 results.")
7488 (home-page "https://shinmera.github.io/trivial-indent/")
7489 (license license:zlib))))
7490
7491 (define-public cl-trivial-indent
7492 (sbcl-package->cl-source-package sbcl-trivial-indent))
7493
7494 (define-public ecl-trivial-indent
7495 (sbcl-package->ecl-package sbcl-trivial-indent))
7496
7497 (define-public sbcl-documentation-utils
7498 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7499 (revision "0"))
7500 (package
7501 (name "sbcl-documentation-utils")
7502 (version (git-version "1.2.0" revision commit))
7503 (source
7504 (origin
7505 (method git-fetch)
7506 (uri
7507 (git-reference
7508 (url "https://github.com/Shinmera/documentation-utils")
7509 (commit commit)))
7510 (file-name (git-file-name name version))
7511 (sha256
7512 (base32
7513 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7514 (build-system asdf-build-system/sbcl)
7515 (inputs
7516 `(("trivial-indent" ,sbcl-trivial-indent)))
7517 (synopsis "Few simple tools to document Common Lisp libraries")
7518 (description
7519 "This is a small library to help you with managing the Common Lisp
7520 docstrings for your library.")
7521 (home-page "https://shinmera.github.io/documentation-utils/")
7522 (license license:zlib))))
7523
7524 (define-public cl-documentation-utils
7525 (sbcl-package->cl-source-package sbcl-documentation-utils))
7526
7527 (define-public ecl-documentation-utils
7528 (sbcl-package->ecl-package sbcl-documentation-utils))
7529
7530 (define-public sbcl-documentation-utils-extensions
7531 (let ((commit "f67f8a05d583174662a594b79356b201c1d9d750"))
7532 (package
7533 (name "sbcl-documentation-utils-extensions")
7534 (version (git-version "0.0.0" "1" commit))
7535 (source
7536 (origin
7537 (method git-fetch)
7538 (uri
7539 (git-reference
7540 (url "https://github.com/sirherrbatka/documentation-utils-extensions/")
7541 (commit commit)))
7542 (file-name (git-file-name name version))
7543 (sha256
7544 (base32
7545 "0pn45c9rbxlnhn5nvhqz6kyv0nlirwxpg4j27niwdq80yxzsn51f"))))
7546 (build-system asdf-build-system/sbcl)
7547 (inputs
7548 `(("documentation-utils" ,sbcl-documentation-utils)))
7549 (home-page "https://github.com/sirherrbatka/documentation-utils-extensions")
7550 (synopsis "Set of extensions for documentation-utils")
7551 (description
7552 "Use @code{rich-formatter} to format documentation with sections @code{:syntax},
7553 @code{:arguments}, @code{:examples}, @code{:description}, @code{:returns},
7554 @code{:side-effects}, @code{:thread-safety}, @code{:affected-by},
7555 @code{:see-also} and @code{:notes}. Gather unformatted input by using
7556 @code{rich-aggregating-formatter} and @code{*DOCUMENTATION*} variable. Find
7557 gathered documentation with find-documentation function. Execute code stored
7558 in documentation with @code{execute-documentation}. See the examples in the
7559 @code{src/documentation.lisp} file. See the @code{documentation-utils} system
7560 for more information.")
7561 (license license:expat))))
7562
7563 (define-public cl-documentation-utils-extensions
7564 (sbcl-package->cl-source-package sbcl-documentation-utils-extensions))
7565
7566 (define-public ecl-documentation-utils-extensions
7567 (sbcl-package->ecl-package sbcl-documentation-utils-extensions))
7568
7569 (define-public sbcl-form-fiddle
7570 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7571 (revision "0"))
7572 (package
7573 (name "sbcl-form-fiddle")
7574 (version (git-version "1.1.0" revision commit))
7575 (source
7576 (origin
7577 (method git-fetch)
7578 (uri
7579 (git-reference
7580 (url "https://github.com/Shinmera/form-fiddle")
7581 (commit commit)))
7582 (file-name (git-file-name name version))
7583 (sha256
7584 (base32
7585 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7586 (build-system asdf-build-system/sbcl)
7587 (inputs
7588 `(("documentation-utils" ,sbcl-documentation-utils)))
7589 (synopsis "Utilities to destructure Common Lisp lambda forms")
7590 (description
7591 "Often times we need to destructure a form definition in a Common Lisp
7592 macro. This library provides a set of simple utilities to help with that.")
7593 (home-page "https://shinmera.github.io/form-fiddle/")
7594 (license license:zlib))))
7595
7596 (define-public cl-form-fiddle
7597 (sbcl-package->cl-source-package sbcl-form-fiddle))
7598
7599 (define-public ecl-form-fiddle
7600 (sbcl-package->ecl-package sbcl-form-fiddle))
7601
7602 (define-public sbcl-parachute
7603 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7604 (revision "0"))
7605 (package
7606 (name "sbcl-parachute")
7607 (version (git-version "1.1.1" revision commit))
7608 (source
7609 (origin
7610 (method git-fetch)
7611 (uri
7612 (git-reference
7613 (url "https://github.com/Shinmera/parachute")
7614 (commit commit)))
7615 (file-name (git-file-name name version))
7616 (sha256
7617 (base32
7618 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7619 (build-system asdf-build-system/sbcl)
7620 (inputs
7621 `(("documentation-utils" ,sbcl-documentation-utils)
7622 ("form-fiddle" ,sbcl-form-fiddle)))
7623 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7624 (description
7625 "Parachute is a simple-to-use and extensible testing framework.
7626 In Parachute, things are organised as a bunch of named tests within a package.
7627 Each test can contain a bunch of test forms that make up its body.")
7628 (home-page "https://shinmera.github.io/parachute/")
7629 (license license:zlib))))
7630
7631 (define-public cl-parachute
7632 (sbcl-package->cl-source-package sbcl-parachute))
7633
7634 (define-public ecl-parachute
7635 (sbcl-package->ecl-package sbcl-parachute))
7636
7637 (define-public sbcl-array-utils
7638 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7639 (revision "0"))
7640 (package
7641 (name "sbcl-array-utils")
7642 (version (git-version "1.1.1" revision commit))
7643 (source
7644 (origin
7645 (method git-fetch)
7646 (uri
7647 (git-reference
7648 (url "https://github.com/Shinmera/array-utils")
7649 (commit commit)))
7650 (file-name (git-file-name name version))
7651 (sha256
7652 (base32
7653 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7654 (build-system asdf-build-system/sbcl)
7655 (native-inputs
7656 `(("parachute" ,sbcl-parachute)))
7657 (inputs
7658 `(("documentation-utils" ,sbcl-documentation-utils)))
7659 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7660 (description
7661 "A miniature toolkit that contains some useful shifting/popping/pushing
7662 functions for arrays and vectors. Originally from Plump.")
7663 (home-page "https://shinmera.github.io/array-utils/")
7664 (license license:zlib))))
7665
7666 (define-public cl-array-utils
7667 (sbcl-package->cl-source-package sbcl-array-utils))
7668
7669 (define-public ecl-array-utils
7670 (sbcl-package->ecl-package sbcl-array-utils))
7671
7672 (define-public sbcl-plump
7673 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
7674 (revision "1"))
7675 (package
7676 (name "sbcl-plump")
7677 (version (git-version "2.0.0" revision commit))
7678 (source
7679 (origin
7680 (method git-fetch)
7681 (uri
7682 (git-reference
7683 (url "https://github.com/Shinmera/plump")
7684 (commit commit)))
7685 (file-name (git-file-name name version))
7686 (sha256
7687 (base32
7688 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
7689 (build-system asdf-build-system/sbcl)
7690 (inputs
7691 `(("array-utils" ,sbcl-array-utils)
7692 ("documentation-utils" ,sbcl-documentation-utils)))
7693 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7694 (description
7695 "Plump is a parser for HTML/XML-like documents, focusing on being
7696 lenient towards invalid markup. It can handle things like invalid attributes,
7697 bad closing tag order, unencoded entities, inexistent tag types, self-closing
7698 tags and so on. It parses documents to a class representation and offers a
7699 small set of DOM functions to manipulate it. It can be extended to parse to
7700 your own classes.")
7701 (home-page "https://shinmera.github.io/plump/")
7702 (license license:zlib))))
7703
7704 (define-public cl-plump
7705 (sbcl-package->cl-source-package sbcl-plump))
7706
7707 (define-public ecl-plump
7708 (sbcl-package->ecl-package sbcl-plump))
7709
7710 ;;; Split the antik package in two to work around the circular dependency
7711 ;;; between antik/antik and antik/gsll.
7712 (define-public sbcl-antik-base
7713 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7714 (revision "1"))
7715 (package
7716 (name "sbcl-antik-base")
7717 (version (git-version "0.0.0" revision commit))
7718 (source
7719 (origin
7720 (method git-fetch)
7721 (uri (git-reference
7722 (url "https://gitlab.common-lisp.net/antik/antik.git")
7723 (commit commit)))
7724 (file-name (git-file-name name version))
7725 (sha256
7726 (base32
7727 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7728 (build-system asdf-build-system/sbcl)
7729 (inputs
7730 `(("alexandria" ,sbcl-alexandria)
7731 ("cffi" ,sbcl-cffi)
7732 ("cl-ppcre" ,sbcl-cl-ppcre)
7733 ("drakma" ,sbcl-drakma)
7734 ("fare-utils" ,sbcl-fare-utils)
7735 ("iterate" ,sbcl-iterate)
7736 ("metabang-bind" ,sbcl-metabang-bind)
7737 ("named-readtables" ,sbcl-named-readtables)
7738 ("split-sequence" ,sbcl-split-sequence)
7739 ("static-vectors" ,sbcl-static-vectors)
7740 ("trivial-garbage" ,sbcl-trivial-garbage)
7741 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7742 (native-inputs
7743 `(("lisp-unit" ,sbcl-lisp-unit)))
7744 (arguments
7745 '(#:asd-systems '("antik-base"
7746 "foreign-array")
7747 #:phases
7748 (modify-phases %standard-phases
7749 (add-after 'unpack 'fix-build
7750 (lambda _
7751 (for-each delete-file
7752 '("antik.asd"
7753 "physical-dimension.asd"
7754 "science-data.asd"))
7755 #t)))))
7756 (synopsis "Scientific and engineering computation in Common Lisp")
7757 (description
7758 "Antik provides a foundation for scientific and engineering
7759 computation in Common Lisp. It is designed not only to facilitate
7760 numerical computations, but to permit the use of numerical computation
7761 libraries and the interchange of data and procedures, whether
7762 foreign (non-Lisp) or Lisp libraries. It is named after the
7763 Antikythera mechanism, one of the oldest examples of a scientific
7764 computer known.")
7765 (home-page "https://common-lisp.net/project/antik/")
7766 (license license:gpl3))))
7767
7768 (define-public cl-antik-base
7769 (sbcl-package->cl-source-package sbcl-antik-base))
7770
7771 (define-public ecl-antik-base
7772 (let ((pkg (sbcl-package->ecl-package sbcl-antik-base)))
7773 (package
7774 (inherit pkg)
7775 (arguments
7776 (substitute-keyword-arguments (package-arguments pkg)
7777 ((#:phases phases)
7778 `(modify-phases ,phases
7779 (add-after 'unpack 'fix-readtable
7780 (lambda _
7781 (substitute* "input-output/readtable.lisp"
7782 (("#-ccl")
7783 "#-(or ccl ecl)"))
7784 #t)))))))))
7785
7786 (define-public sbcl-gsll
7787 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7788 (revision "1"))
7789 (package
7790 (name "sbcl-gsll")
7791 (version (git-version "0.0.0" revision commit))
7792 (source
7793 (origin
7794 (method git-fetch)
7795 (uri (git-reference
7796 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7797 (commit commit)))
7798 (file-name (git-file-name name version))
7799 (sha256
7800 (base32
7801 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7802 (build-system asdf-build-system/sbcl)
7803 (native-inputs
7804 `(("lisp-unit" ,sbcl-lisp-unit)))
7805 (inputs
7806 `(("alexandria" ,sbcl-alexandria)
7807 ("antik-base" ,sbcl-antik-base)
7808 ("cffi" ,sbcl-cffi)
7809 ("gsl" ,gsl)
7810 ("metabang-bind" ,sbcl-metabang-bind)
7811 ("trivial-features" ,sbcl-trivial-features)
7812 ("trivial-garbage" ,sbcl-trivial-garbage)))
7813 (arguments
7814 `(#:tests? #f
7815 #:phases
7816 (modify-phases %standard-phases
7817 (add-after 'unpack 'fix-cffi-paths
7818 (lambda* (#:key inputs #:allow-other-keys)
7819 (substitute* "gsll.asd"
7820 ((":depends-on \\(#:foreign-array")
7821 ":depends-on (#:foreign-array #:cffi-libffi"))
7822 (substitute* "init/init.lisp"
7823 (("libgslcblas.so" all)
7824 (string-append
7825 (assoc-ref inputs "gsl") "/lib/" all)))
7826 (substitute* "init/init.lisp"
7827 (("libgsl.so" all)
7828 (string-append
7829 (assoc-ref inputs "gsl") "/lib/" all))))))))
7830 (synopsis "GNU Scientific Library for Lisp")
7831 (description
7832 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
7833 GNU Scientific Library (GSL) from Common Lisp. This library provides a
7834 full range of common mathematical operations useful to scientific and
7835 engineering applications. The design of the GSLL interface is such
7836 that access to most of the GSL library is possible in a Lisp-natural
7837 way; the intent is that the user not be hampered by the restrictions
7838 of the C language in which GSL has been written. GSLL thus provides
7839 interactive use of GSL for getting quick answers, even for someone not
7840 intending to program in Lisp.")
7841 (home-page "https://common-lisp.net/project/gsll/")
7842 (license license:gpl3))))
7843
7844 (define-public cl-gsll
7845 (sbcl-package->cl-source-package sbcl-gsll))
7846
7847 (define-public ecl-gsll
7848 (sbcl-package->ecl-package sbcl-gsll))
7849
7850 (define-public sbcl-antik
7851 (package
7852 (inherit sbcl-antik-base)
7853 (name "sbcl-antik")
7854 (inputs
7855 `(("antik-base" ,sbcl-antik-base)
7856 ("gsll" ,sbcl-gsll)))
7857 (arguments
7858 '(#:asd-systems '("antik"
7859 "science-data")
7860 #:phases
7861 (modify-phases %standard-phases
7862 (add-after 'unpack 'fix-build
7863 (lambda _
7864 (for-each delete-file
7865 '("antik-base.asd"
7866 "foreign-array.asd"))
7867 #t)))))))
7868
7869 (define-public cl-antik
7870 (sbcl-package->cl-source-package sbcl-antik))
7871
7872 (define-public sbcl-cl-interpol
7873 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
7874 (revision "1"))
7875 (package
7876 (name "sbcl-cl-interpol")
7877 (version (git-version "0.2.6" revision commit))
7878 (source
7879 (origin
7880 (method git-fetch)
7881 (uri (git-reference
7882 (url "https://github.com/edicl/cl-interpol")
7883 (commit commit)))
7884 (file-name (git-file-name name version))
7885 (sha256
7886 (base32
7887 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
7888 (build-system asdf-build-system/sbcl)
7889 (inputs
7890 `(("cl-unicode" ,sbcl-cl-unicode)
7891 ("named-readtables" ,sbcl-named-readtables)))
7892 (native-inputs
7893 `(("flexi-streams" ,sbcl-flexi-streams)))
7894 (synopsis "String interpolation for Common Lisp")
7895 (description
7896 "CL-INTERPOL is a library for Common Lisp which modifies the
7897 reader so that you can have interpolation within strings similar to
7898 Perl or Unix Shell scripts. It also provides various ways to insert
7899 arbitrary characters into literal strings even if your editor/IDE
7900 doesn't support them.")
7901 (home-page "https://edicl.github.io/cl-interpol/")
7902 (license license:bsd-3))))
7903
7904 (define-public cl-interpol
7905 (sbcl-package->cl-source-package sbcl-cl-interpol))
7906
7907 (define-public ecl-cl-interpol
7908 (sbcl-package->ecl-package sbcl-cl-interpol))
7909
7910 (define-public sbcl-symbol-munger
7911 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
7912 (revision "1"))
7913 (package
7914 (name "sbcl-symbol-munger")
7915 (version (git-version "0.0.1" revision commit))
7916 (source
7917 (origin
7918 (method git-fetch)
7919 (uri (git-reference
7920 (url "https://github.com/AccelerationNet/symbol-munger")
7921 (commit commit)))
7922 (file-name (git-file-name name version))
7923 (sha256
7924 (base32
7925 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
7926 (build-system asdf-build-system/sbcl)
7927 (inputs
7928 `(("alexandria" ,sbcl-alexandria)
7929 ("iterate" ,sbcl-iterate)))
7930 (arguments
7931 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7932 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7933 '(#:tests? #f))
7934 (synopsis
7935 "Capitalization and spacing conversion functions for Common Lisp")
7936 (description
7937 "This is a Common Lisp library to change the capitalization and spacing
7938 of a string or a symbol. It can convert to and from Lisp, english, underscore
7939 and camel-case rules.")
7940 (home-page "https://github.com/AccelerationNet/symbol-munger")
7941 ;; The package declares a BSD license, but all of the license
7942 ;; text is MIT.
7943 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
7944 (license license:expat))))
7945
7946 (define-public cl-symbol-munger
7947 (sbcl-package->cl-source-package sbcl-symbol-munger))
7948
7949 (define-public ecl-symbol-munger
7950 (sbcl-package->ecl-package sbcl-symbol-munger))
7951
7952 (define-public sbcl-lisp-unit2
7953 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7954 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7955 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
7956 (revision "1"))
7957 (package
7958 (name "sbcl-lisp-unit2")
7959 (version (git-version "0.2.0" revision commit))
7960 (source
7961 (origin
7962 (method git-fetch)
7963 (uri (git-reference
7964 (url "https://github.com/AccelerationNet/lisp-unit2")
7965 (commit commit)))
7966 (file-name (git-file-name name version))
7967 (sha256
7968 (base32
7969 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
7970 (build-system asdf-build-system/sbcl)
7971 (inputs
7972 `(("alexandria" ,sbcl-alexandria)
7973 ("cl-interpol" ,sbcl-cl-interpol)
7974 ("iterate" ,sbcl-iterate)
7975 ("symbol-munger" ,sbcl-symbol-munger)))
7976 (synopsis "Test Framework for Common Lisp")
7977 (description
7978 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
7979 style of JUnit for Java. It is a new version of the lisp-unit library written
7980 by Chris Riesbeck.")
7981 (home-page "https://github.com/AccelerationNet/lisp-unit2")
7982 (license license:expat))))
7983
7984 (define-public cl-lisp-unit2
7985 (sbcl-package->cl-source-package sbcl-lisp-unit2))
7986
7987 (define-public ecl-lisp-unit2
7988 (sbcl-package->ecl-package sbcl-lisp-unit2))
7989
7990 (define-public sbcl-cl-csv
7991 (let ((commit "68ecb5d816545677513d7f6308d9e5e8d2265651")
7992 (revision "2"))
7993 (package
7994 (name "sbcl-cl-csv")
7995 (version (git-version "1.0.6" revision commit))
7996 (source
7997 (origin
7998 (method git-fetch)
7999 (uri (git-reference
8000 (url "https://github.com/AccelerationNet/cl-csv")
8001 (commit commit)))
8002 (file-name (git-file-name name version))
8003 (sha256
8004 (base32
8005 "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x"))))
8006 (build-system asdf-build-system/sbcl)
8007 (arguments
8008 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8009 `(#:tests? #f))
8010 (inputs
8011 `(("alexandria" ,sbcl-alexandria)
8012 ("cl-interpol" ,sbcl-cl-interpol)
8013 ("iterate" ,sbcl-iterate)))
8014 (native-inputs
8015 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8016 (synopsis "Common lisp library for comma-separated values")
8017 (description
8018 "This is a Common Lisp library providing functions to read/write CSV
8019 from/to strings, streams and files.")
8020 (home-page "https://github.com/AccelerationNet/cl-csv")
8021 (license license:bsd-3))))
8022
8023 (define-public cl-csv
8024 (sbcl-package->cl-source-package sbcl-cl-csv))
8025
8026 (define-public ecl-cl-csv
8027 (sbcl-package->ecl-package sbcl-cl-csv))
8028
8029 (define-public sbcl-external-program
8030 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8031 (revision "1"))
8032 (package
8033 (name "sbcl-external-program")
8034 (version (git-version "0.0.6" revision commit))
8035 (source
8036 (origin
8037 (method git-fetch)
8038 (uri (git-reference
8039 (url "https://github.com/sellout/external-program")
8040 (commit commit)))
8041 (file-name (git-file-name name version))
8042 (sha256
8043 (base32
8044 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8045 (build-system asdf-build-system/sbcl)
8046 (inputs
8047 `(("trivial-features" ,sbcl-trivial-features)))
8048 (native-inputs
8049 `(("fiveam" ,sbcl-fiveam)))
8050 (synopsis "Common Lisp library for running external programs")
8051 (description
8052 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8053 process. It is an attempt to make the RUN-PROGRAM functionality in
8054 implementations like SBCL and CCL as portable as possible without
8055 sacrificing much in the way of power.")
8056 (home-page "https://github.com/sellout/external-program")
8057 (license license:llgpl))))
8058
8059 (define-public cl-external-program
8060 (sbcl-package->cl-source-package sbcl-external-program))
8061
8062 (define-public ecl-external-program
8063 (sbcl-package->ecl-package sbcl-external-program))
8064
8065 (define-public sbcl-cl-ana
8066 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8067 (revision "1"))
8068 (package
8069 (name "sbcl-cl-ana")
8070 (version (git-version "0.0.0" revision commit))
8071 (source
8072 (origin
8073 (method git-fetch)
8074 (uri (git-reference
8075 (url "https://github.com/ghollisjr/cl-ana")
8076 (commit commit)))
8077 (file-name (git-file-name name version))
8078 (sha256
8079 (base32 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8080 (build-system asdf-build-system/sbcl)
8081 (native-inputs
8082 `(("cl-fad" ,sbcl-cl-fad)))
8083 (inputs
8084 `(("alexandria" ,sbcl-alexandria)
8085 ("antik" ,sbcl-antik)
8086 ("cffi" ,sbcl-cffi)
8087 ("cl-csv" ,sbcl-cl-csv)
8088 ("closer-mop" ,sbcl-closer-mop)
8089 ("external-program" ,sbcl-external-program)
8090 ("gsl" ,gsl)
8091 ("gsll" ,sbcl-gsll)
8092 ("hdf5" ,hdf5-parallel-openmpi)
8093 ("iterate" ,sbcl-iterate)
8094 ("libffi" ,libffi)
8095 ("split-sequence" ,sbcl-split-sequence)))
8096 (arguments
8097 `(#:phases
8098 (modify-phases %standard-phases
8099 (add-after 'unpack 'fix-paths
8100 (lambda* (#:key inputs #:allow-other-keys)
8101 (substitute* "hdf-cffi/hdf-cffi.lisp"
8102 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8103 (string-append (assoc-ref inputs "hdf5")
8104 "/lib/libhdf5.so")))
8105 (substitute* "gsl-cffi/gsl-cffi.lisp"
8106 (("define-foreign-library gsl-cffi" all)
8107 (string-append all " (:unix "
8108 (assoc-ref inputs "gsl")
8109 "/lib/libgsl.so)")))
8110 #t)))))
8111 (synopsis "Common Lisp data analysis library")
8112 (description
8113 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8114 binned data analysis along with nonlinear least squares fitting and
8115 visualization.")
8116 (home-page "https://github.com/ghollisjr/cl-ana")
8117 (license license:gpl3))))
8118
8119 (define-public cl-ana
8120 (sbcl-package->cl-source-package sbcl-cl-ana))
8121
8122 (define-public sbcl-archive
8123 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
8124 (revision "1"))
8125 (package
8126 (name "sbcl-archive")
8127 (version (git-version "0.9" revision commit))
8128 (source (origin
8129 (method git-fetch)
8130 (uri (git-reference
8131 (url "https://github.com/sharplispers/archive")
8132 (commit commit)))
8133 (file-name (git-file-name name version))
8134 (sha256
8135 (base32
8136 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
8137 (build-system asdf-build-system/sbcl)
8138 (inputs
8139 `(("cl-fad" ,sbcl-cl-fad)
8140 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
8141 (synopsis "Common Lisp library for tar and cpio archives")
8142 (description
8143 "This is a Common Lisp library to read and write disk-based file
8144 archives such as those generated by the tar and cpio programs on Unix.")
8145 (home-page "https://github.com/sharplispers/archive")
8146 (license license:bsd-3))))
8147
8148 (define-public cl-archive
8149 (sbcl-package->cl-source-package sbcl-archive))
8150
8151 (define-public ecl-archive
8152 (sbcl-package->ecl-package sbcl-archive))
8153
8154 (define-public sbcl-misc-extensions
8155 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
8156 (revision "1"))
8157 (package
8158 (name "sbcl-misc-extensions")
8159 (version (git-version "3.3" revision commit))
8160 (source
8161 (origin
8162 (method git-fetch)
8163 (uri (git-reference
8164 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
8165 (commit commit)))
8166 (file-name (git-file-name name version))
8167 (sha256
8168 (base32
8169 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
8170 (build-system asdf-build-system/sbcl)
8171 (synopsis "Collection of small macros and extensions for Common Lisp")
8172 (description
8173 "This project is intended as a catchall for small, general-purpose
8174 extensions to Common Lisp. It contains:
8175
8176 @itemize
8177 @item @code{new-let}, a macro that combines and generalizes @code{let},
8178 @code{let*} and @code{multiple-value-bind},
8179 @item @code{gmap}, an iteration macro that generalizes @code{map}.
8180 @end itemize\n")
8181 (home-page "https://common-lisp.net/project/misc-extensions/")
8182 (license license:public-domain))))
8183
8184 (define-public cl-misc-extensions
8185 (sbcl-package->cl-source-package sbcl-misc-extensions))
8186
8187 (define-public ecl-misc-extensions
8188 (sbcl-package->ecl-package sbcl-misc-extensions))
8189
8190 (define-public sbcl-mt19937
8191 (package
8192 (name "sbcl-mt19937")
8193 (version "1.1")
8194 (source
8195 (origin
8196 (method url-fetch)
8197 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
8198 "mt19937-latest.tar.gz"))
8199 (sha256
8200 (base32
8201 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
8202 (build-system asdf-build-system/sbcl)
8203 (synopsis "Mersenne Twister pseudo-random number generator")
8204 (description
8205 "MT19937 is a portable Mersenne Twister pseudo-random number generator
8206 for Common Lisp.")
8207 (home-page "https://www.cliki.net/mt19937")
8208 (license license:public-domain)))
8209
8210 (define-public cl-mt19937
8211 (sbcl-package->cl-source-package sbcl-mt19937))
8212
8213 (define-public ecl-mt19937
8214 (sbcl-package->ecl-package sbcl-mt19937))
8215
8216 (define-public sbcl-fset
8217 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
8218 (revision "1"))
8219 (package
8220 (name "sbcl-fset")
8221 (version (git-version "1.3.2" revision commit))
8222 (source
8223 (origin
8224 (method git-fetch)
8225 (uri (git-reference
8226 (url "https://github.com/slburson/fset")
8227 (commit commit)))
8228 (file-name (git-file-name name version))
8229 (sha256
8230 (base32
8231 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
8232 (snippet '(begin
8233 ;; Remove obsolete copy of system definition.
8234 (delete-file "Code/fset.asd")
8235 #t))))
8236 (build-system asdf-build-system/sbcl)
8237 (inputs
8238 `(("misc-extensions" ,sbcl-misc-extensions)
8239 ("mt19937" ,sbcl-mt19937)
8240 ("named-readtables" ,sbcl-named-readtables)))
8241 (synopsis "Functional set-theoretic collections library")
8242 (description
8243 "FSet is a functional set-theoretic collections library for Common Lisp.
8244 Functional means that all update operations return a new collection rather than
8245 modifying an existing one in place. Set-theoretic means that collections may
8246 be nested arbitrarily with no additional programmer effort; for instance, sets
8247 may contain sets, maps may be keyed by sets, etc.")
8248 (home-page "https://common-lisp.net/project/fset/Site/index.html")
8249 (license license:llgpl))))
8250
8251 (define-public cl-fset
8252 (sbcl-package->cl-source-package sbcl-fset))
8253
8254 (define-public ecl-fset
8255 (package
8256 (inherit (sbcl-package->ecl-package sbcl-fset))
8257 (arguments
8258 ;; Tests fails on ECL with "The function FSET::MAKE-CHAR is undefined".
8259 '(#:tests? #f))))
8260
8261 (define-public sbcl-cl-cont
8262 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
8263 (revision "1"))
8264 (package
8265 (name "sbcl-cl-cont")
8266 (version (git-version "0.3.8" revision commit))
8267 (source
8268 (origin
8269 (method git-fetch)
8270 (uri (git-reference
8271 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
8272 (commit commit)))
8273 (file-name (git-file-name name version))
8274 (sha256
8275 (base32
8276 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
8277 (build-system asdf-build-system/sbcl)
8278 (inputs
8279 `(("alexandria" ,sbcl-alexandria)
8280 ("closer-mop" ,sbcl-closer-mop)))
8281 (native-inputs
8282 `(("rt" ,sbcl-rt)))
8283 (synopsis "Delimited continuations for Common Lisp")
8284 (description
8285 "This is a library that implements delimited continuations by
8286 transforming Common Lisp code to continuation passing style.")
8287 (home-page "https://common-lisp.net/project/cl-cont/")
8288 (license license:llgpl))))
8289
8290 (define-public cl-cont
8291 (sbcl-package->cl-source-package sbcl-cl-cont))
8292
8293 (define-public ecl-cl-cont
8294 (sbcl-package->ecl-package sbcl-cl-cont))
8295
8296 (define-public sbcl-cl-coroutine
8297 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
8298 (revision "1"))
8299 (package
8300 (name "sbcl-cl-coroutine")
8301 (version (git-version "0.1" revision commit))
8302 (source
8303 (origin
8304 (method git-fetch)
8305 (uri (git-reference
8306 (url "https://github.com/takagi/cl-coroutine")
8307 (commit commit)))
8308 (file-name (git-file-name name version))
8309 (sha256
8310 (base32
8311 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
8312 (build-system asdf-build-system/sbcl)
8313 (inputs
8314 `(("alexandria" ,sbcl-alexandria)
8315 ("cl-cont" ,sbcl-cl-cont)))
8316 (native-inputs
8317 `(("prove" ,sbcl-prove)))
8318 (arguments
8319 `(;; TODO: Fix the tests. They fail with:
8320 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
8321 #:tests? #f
8322 #:phases
8323 (modify-phases %standard-phases
8324 (add-after 'unpack 'fix-tests
8325 (lambda _
8326 (substitute* "cl-coroutine-test.asd"
8327 (("cl-test-more")
8328 "prove"))
8329 #t)))))
8330 (synopsis "Coroutine library for Common Lisp")
8331 (description
8332 "This is a coroutine library for Common Lisp implemented using the
8333 continuations of the @code{cl-cont} library.")
8334 (home-page "https://github.com/takagi/cl-coroutine")
8335 (license license:llgpl))))
8336
8337 (define-public cl-coroutine
8338 (sbcl-package->cl-source-package sbcl-cl-coroutine))
8339
8340 (define-public ecl-cl-coroutine
8341 (sbcl-package->ecl-package sbcl-cl-coroutine))
8342
8343 (define-public sbcl-vas-string-metrics
8344 (let ((commit "f2e4500b180316123fbd549bd51c751ee2d6ba0f")
8345 (revision "1"))
8346 (package
8347 (name "sbcl-vas-string-metrics")
8348 (version (git-version "0.0.0" revision commit))
8349 (source
8350 (origin
8351 (method git-fetch)
8352 (uri (git-reference
8353 (url "https://github.com/vsedach/vas-string-metrics")
8354 (commit commit)))
8355 (file-name (git-file-name "vas-string-metrics" version))
8356 (sha256
8357 (base32 "11fcnd03ybzz37rkg3z0wsb727yqgcd9gn70sccfb34l89ia279k"))))
8358 (build-system asdf-build-system/sbcl)
8359 (arguments
8360 `(#:test-asd-file "test.vas-string-metrics.asd"))
8361 (home-page "https://github.com/vsedach/vas-string-metrics")
8362 (synopsis "String distance algorithms for Common Lisp")
8363 (description
8364 "VAS-STRING-METRICS provides the Jaro, Jaro-Winkler, Soerensen-Dice,
8365 Levenshtein, and normalized Levenshtein string distance/similarity metrics
8366 algorithms.")
8367 (license license:lgpl3+))))
8368
8369 (define-public ecl-vas-string-metrics
8370 (sbcl-package->ecl-package sbcl-vas-string-metrics))
8371
8372 (define-public cl-vas-string-metrics
8373 (sbcl-package->cl-source-package sbcl-vas-string-metrics))
8374
8375 (define-public sbcl-vom
8376 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
8377 (revision "1"))
8378 (package
8379 (name "sbcl-vom")
8380 (version (git-version "0.1.4" revision commit))
8381 (source
8382 (origin
8383 (method git-fetch)
8384 (uri (git-reference
8385 (url "https://github.com/orthecreedence/vom")
8386 (commit commit)))
8387 (file-name (git-file-name name version))
8388 (sha256
8389 (base32
8390 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
8391 (build-system asdf-build-system/sbcl)
8392 (synopsis "Tiny logging utility for Common Lisp")
8393 (description
8394 "Vom is a logging library for Common Lisp. It's goal is to be useful
8395 and small. It does not provide a lot of features as other loggers do, but
8396 has a small codebase that's easy to understand and use.")
8397 (home-page "https://github.com/orthecreedence/vom")
8398 (license license:expat))))
8399
8400 (define-public cl-vom
8401 (sbcl-package->cl-source-package sbcl-vom))
8402
8403 (define-public ecl-vom
8404 (sbcl-package->ecl-package sbcl-vom))
8405
8406 (define-public sbcl-cl-libuv
8407 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
8408 (revision "1"))
8409 (package
8410 (name "sbcl-cl-libuv")
8411 (version (git-version "0.1.6" revision commit))
8412 (source
8413 (origin
8414 (method git-fetch)
8415 (uri (git-reference
8416 (url "https://github.com/orthecreedence/cl-libuv")
8417 (commit commit)))
8418 (file-name (git-file-name name version))
8419 (sha256
8420 (base32
8421 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
8422 (build-system asdf-build-system/sbcl)
8423 (inputs
8424 `(("alexandria" ,sbcl-alexandria)
8425 ("cffi" ,sbcl-cffi)
8426 ("libuv" ,libuv)))
8427 (arguments
8428 `(#:phases
8429 (modify-phases %standard-phases
8430 (add-after 'unpack 'fix-paths
8431 (lambda* (#:key inputs #:allow-other-keys)
8432 (substitute* "lib.lisp"
8433 (("/usr/lib/libuv.so")
8434 (string-append (assoc-ref inputs "libuv")
8435 "/lib/libuv.so")))
8436 #t))
8437 (add-after 'fix-paths 'fix-system-definition
8438 (lambda _
8439 (substitute* "cl-libuv.asd"
8440 (("#:cffi #:alexandria")
8441 "#:cffi #:cffi-grovel #:alexandria"))
8442 #t)))))
8443 (synopsis "Common Lisp bindings to libuv")
8444 (description
8445 "This library provides low-level libuv bindings for Common Lisp.")
8446 (home-page "https://github.com/orthecreedence/cl-libuv")
8447 (license license:expat))))
8448
8449 (define-public cl-libuv
8450 (sbcl-package->cl-source-package sbcl-cl-libuv))
8451
8452 (define-public ecl-cl-libuv
8453 (sbcl-package->ecl-package sbcl-cl-libuv))
8454
8455 (define-public sbcl-cl-async
8456 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
8457 (revision "1"))
8458 (package
8459 (name "sbcl-cl-async")
8460 (version (git-version "0.6.1" revision commit))
8461 (source
8462 (origin
8463 (method git-fetch)
8464 (uri (git-reference
8465 (url "https://github.com/orthecreedence/cl-async")
8466 (commit commit)))
8467 (file-name (git-file-name name version))
8468 (sha256
8469 (base32
8470 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
8471 (build-system asdf-build-system/sbcl)
8472 (inputs
8473 `(("babel" ,sbcl-babel)
8474 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8475 ("cffi" ,sbcl-cffi)
8476 ("cl-libuv" ,sbcl-cl-libuv)
8477 ("cl-ppcre" ,sbcl-cl-ppcre)
8478 ("fast-io" ,sbcl-fast-io)
8479 ("openssl" ,openssl)
8480 ("static-vectors" ,sbcl-static-vectors)
8481 ("trivial-features" ,sbcl-trivial-features)
8482 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
8483 ("vom" ,sbcl-vom)))
8484 (arguments
8485 `(#:asd-systems '("cl-async"
8486 "cl-async-repl"
8487 "cl-async-ssl")
8488 #:phases
8489 (modify-phases %standard-phases
8490 (add-after 'unpack 'fix-paths
8491 (lambda* (#:key inputs #:allow-other-keys)
8492 (substitute* "src/ssl/package.lisp"
8493 (("libcrypto\\.so")
8494 (string-append (assoc-ref inputs "openssl")
8495 "/lib/libcrypto.so"))
8496 (("libssl\\.so")
8497 (string-append (assoc-ref inputs "openssl")
8498 "/lib/libssl.so")))
8499 #t)))))
8500 (synopsis "Asynchronous operations for Common Lisp")
8501 (description
8502 "Cl-async is a library for general purpose, non-blocking programming in
8503 Common Lisp. It uses the libuv library as backend.")
8504 (home-page "https://orthecreedence.github.io/cl-async/")
8505 (license license:expat))))
8506
8507 (define-public cl-async
8508 (sbcl-package->cl-source-package sbcl-cl-async))
8509
8510 (define-public ecl-cl-async
8511 (sbcl-package->ecl-package sbcl-cl-async))
8512
8513 (define-public sbcl-blackbird
8514 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
8515 (revision "1"))
8516 (package
8517 (name "sbcl-blackbird")
8518 (version (git-version "0.5.2" revision commit))
8519 (source
8520 (origin
8521 (method git-fetch)
8522 (uri (git-reference
8523 (url "https://github.com/orthecreedence/blackbird")
8524 (commit commit)))
8525 (file-name (git-file-name name version))
8526 (sha256
8527 (base32
8528 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
8529 (build-system asdf-build-system/sbcl)
8530 (inputs
8531 `(("vom" ,sbcl-vom)))
8532 (native-inputs
8533 `(("cl-async" ,sbcl-cl-async)
8534 ("fiveam" ,sbcl-fiveam)))
8535 (synopsis "Promise implementation for Common Lisp")
8536 (description
8537 "This is a standalone promise implementation for Common Lisp. It is
8538 the successor to the now-deprecated cl-async-future project.")
8539 (home-page "https://orthecreedence.github.io/blackbird/")
8540 (license license:expat))))
8541
8542 (define-public cl-blackbird
8543 (sbcl-package->cl-source-package sbcl-blackbird))
8544
8545 (define-public ecl-blackbird
8546 (sbcl-package->ecl-package sbcl-blackbird))
8547
8548 (define-public sbcl-cl-async-future
8549 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
8550 (revision "1"))
8551 (package
8552 (name "sbcl-cl-async-future")
8553 (version (git-version "0.4.4.1" revision commit))
8554 (source
8555 (origin
8556 (method git-fetch)
8557 (uri (git-reference
8558 (url "https://github.com/orthecreedence/cl-async-future")
8559 (commit commit)))
8560 (file-name (git-file-name name version))
8561 (sha256
8562 (base32
8563 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
8564 (build-system asdf-build-system/sbcl)
8565 (inputs
8566 `(("blackbird" ,sbcl-blackbird)))
8567 (native-inputs
8568 `(("cl-async" ,sbcl-cl-async)
8569 ("eos" ,sbcl-eos)))
8570 (synopsis "Futures implementation for Common Lisp")
8571 (description
8572 "This is futures implementation for Common Lisp. It plugs in nicely
8573 to cl-async.")
8574 (home-page "https://orthecreedence.github.io/cl-async/future")
8575 (license license:expat))))
8576
8577 (define-public cl-async-future
8578 (sbcl-package->cl-source-package sbcl-cl-async-future))
8579
8580 (define-public ecl-cl-async-future
8581 (sbcl-package->ecl-package sbcl-cl-async-future))
8582
8583 (define-public sbcl-green-threads
8584 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
8585 (revision "1"))
8586 (package
8587 (name "sbcl-green-threads")
8588 (version (git-version "0.3" revision commit))
8589 (source
8590 (origin
8591 (method git-fetch)
8592 (uri (git-reference
8593 (url "https://github.com/thezerobit/green-threads")
8594 (commit commit)))
8595 (file-name (git-file-name name version))
8596 (sha256
8597 (base32
8598 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
8599 (build-system asdf-build-system/sbcl)
8600 (inputs
8601 `(("cl-async-future" ,sbcl-cl-async-future)
8602 ("cl-cont" ,sbcl-cl-cont)))
8603 (native-inputs
8604 `(("prove" ,sbcl-prove)))
8605 (arguments
8606 `(;; TODO: Fix the tests. They fail with:
8607 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
8608 #:tests? #f
8609 #:phases
8610 (modify-phases %standard-phases
8611 (add-after 'unpack 'fix-tests
8612 (lambda _
8613 (substitute* "green-threads-test.asd"
8614 (("cl-test-more")
8615 "prove"))
8616 #t)))))
8617 (synopsis "Cooperative multitasking library for Common Lisp")
8618 (description
8619 "This library allows for cooperative multitasking with help of cl-cont
8620 for continuations. It tries to mimic the API of bordeaux-threads as much as
8621 possible.")
8622 (home-page "https://github.com/thezerobit/green-threads")
8623 (license license:bsd-3))))
8624
8625 (define-public cl-green-threads
8626 (sbcl-package->cl-source-package sbcl-green-threads))
8627
8628 (define-public ecl-green-threads
8629 (sbcl-package->ecl-package sbcl-green-threads))
8630
8631 (define-public sbcl-cl-base32
8632 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
8633 (revision "1"))
8634 (package
8635 (name "sbcl-cl-base32")
8636 (version (git-version "0.1" revision commit))
8637 (source
8638 (origin
8639 (method git-fetch)
8640 (uri (git-reference
8641 (url "https://github.com/hargettp/cl-base32")
8642 (commit commit)))
8643 (file-name (git-file-name name version))
8644 (sha256
8645 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
8646 (build-system asdf-build-system/sbcl)
8647 (native-inputs
8648 `(("lisp-unit" ,sbcl-lisp-unit)))
8649 (synopsis "Common Lisp library for base32 encoding and decoding")
8650 (description
8651 "This package provides functions for base32 encoding and decoding as
8652 defined in RFC4648.")
8653 (home-page "https://github.com/hargettp/cl-base32")
8654 (license license:expat))))
8655
8656 (define-public cl-base32
8657 (sbcl-package->cl-source-package sbcl-cl-base32))
8658
8659 (define-public ecl-cl-base32
8660 (sbcl-package->ecl-package sbcl-cl-base32))
8661
8662 (define-public sbcl-cl-z85
8663 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
8664 (revision "1"))
8665 (package
8666 (name "sbcl-cl-z85")
8667 (version (git-version "1.0" revision commit))
8668 (source
8669 (origin
8670 (method git-fetch)
8671 (uri (git-reference
8672 (url "https://github.com/glv2/cl-z85")
8673 (commit commit)))
8674 (file-name (git-file-name name version))
8675 (sha256
8676 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
8677 (build-system asdf-build-system/sbcl)
8678 (native-inputs
8679 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
8680 ("fiveam" ,sbcl-fiveam)))
8681 (synopsis "Common Lisp library for Z85 encoding and decoding")
8682 (description
8683 "This package provides functions to encode or decode byte vectors or
8684 byte streams using the Z85 format, which is a base-85 encoding used by
8685 ZeroMQ.")
8686 (home-page "https://github.com/glv2/cl-z85")
8687 (license license:gpl3+))))
8688
8689 (define-public cl-z85
8690 (sbcl-package->cl-source-package sbcl-cl-z85))
8691
8692 (define-public ecl-cl-z85
8693 (sbcl-package->ecl-package sbcl-cl-z85))
8694
8695 (define-public sbcl-ltk
8696 (package
8697 (name "sbcl-ltk")
8698 (version "0.992")
8699 (source
8700 (origin
8701 (method git-fetch)
8702 (uri (git-reference
8703 (url "https://github.com/herth/ltk")
8704 (commit version)))
8705 (file-name (git-file-name name version))
8706 (sha256
8707 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
8708 (build-system asdf-build-system/sbcl)
8709 (inputs
8710 `(("imagemagick" ,imagemagick)
8711 ("tk" ,tk)))
8712 (arguments
8713 `(#:asd-systems '("ltk"
8714 "ltk-mw"
8715 "ltk-remote")
8716 #:tests? #f
8717 #:phases
8718 (modify-phases %standard-phases
8719 (add-after 'unpack 'fix-paths
8720 (lambda* (#:key inputs #:allow-other-keys)
8721 (substitute* "ltk/ltk.lisp"
8722 (("#-freebsd \"wish\"")
8723 (string-append "#-freebsd \""
8724 (assoc-ref inputs "tk")
8725 "/bin/wish\""))
8726 (("do-execute \"convert\"")
8727 (string-append "do-execute \""
8728 (assoc-ref inputs "imagemagick")
8729 "/bin/convert\"")))
8730 #t))
8731 (add-after 'unpack 'fix-build
8732 (lambda _
8733 (substitute* "ltk/ltk-remote.lisp"
8734 (("\\(:export")
8735 "(:shadow #:raise) (:export"))
8736 #t)))))
8737 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
8738 (description
8739 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
8740 in pure Common Lisp and does not require any Tk knowledge for its usage.")
8741 (home-page "http://www.peter-herth.de/ltk/")
8742 (license license:llgpl)))
8743
8744 (define-public cl-ltk
8745 (sbcl-package->cl-source-package sbcl-ltk))
8746
8747 (define-public ecl-ltk
8748 (sbcl-package->ecl-package sbcl-ltk))
8749
8750 (define-public sbcl-cl-lex
8751 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
8752 (revision "1"))
8753 (package
8754 (name "sbcl-cl-lex")
8755 (version (git-version "1.1.3" revision commit))
8756 (source
8757 (origin
8758 (method git-fetch)
8759 (uri (git-reference
8760 (url "https://github.com/djr7C4/cl-lex")
8761 (commit commit)))
8762 (file-name (git-file-name name version))
8763 (sha256
8764 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
8765 (build-system asdf-build-system/sbcl)
8766 (inputs
8767 `(("cl-ppcre" ,sbcl-cl-ppcre)))
8768 (synopsis "Common Lisp macros for generating lexical analyzers")
8769 (description
8770 "This is a Common Lisp library providing a set of macros for generating
8771 lexical analyzers automatically. The lexers generated using @code{cl-lex} can
8772 be used with @code{cl-yacc}.")
8773 (home-page "https://github.com/djr7C4/cl-lex")
8774 (license license:gpl3))))
8775
8776 (define-public cl-lex
8777 (sbcl-package->cl-source-package sbcl-cl-lex))
8778
8779 (define-public ecl-cl-lex
8780 (sbcl-package->ecl-package sbcl-cl-lex))
8781
8782 (define-public sbcl-clunit2
8783 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
8784 (revision "1"))
8785 (package
8786 (name "sbcl-clunit2")
8787 (version (git-version "0.2.4" revision commit))
8788 (source
8789 (origin
8790 (method git-fetch)
8791 (uri (git-reference
8792 (url "https://notabug.org/cage/clunit2.git")
8793 (commit commit)))
8794 (file-name (git-file-name name version))
8795 (sha256
8796 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
8797 (build-system asdf-build-system/sbcl)
8798 (synopsis "Unit testing framework for Common Lisp")
8799 (description
8800 "CLUnit is a Common Lisp unit testing framework. It is designed to be
8801 easy to use so that you can quickly start testing.")
8802 (home-page "https://notabug.org/cage/clunit2")
8803 (license license:expat))))
8804
8805 (define-public cl-clunit2
8806 (sbcl-package->cl-source-package sbcl-clunit2))
8807
8808 (define-public ecl-clunit2
8809 (sbcl-package->ecl-package sbcl-clunit2))
8810
8811 (define-public sbcl-cl-colors2
8812 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
8813 (revision "1"))
8814 (package
8815 (name "sbcl-cl-colors2")
8816 (version (git-version "0.2.1" revision commit))
8817 (source
8818 (origin
8819 (method git-fetch)
8820 (uri (git-reference
8821 (url "https://notabug.org/cage/cl-colors2.git")
8822 (commit commit)))
8823 (file-name (git-file-name name version))
8824 (sha256
8825 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
8826 (build-system asdf-build-system/sbcl)
8827 (native-inputs
8828 `(("clunit2" ,sbcl-clunit2)))
8829 (inputs
8830 `(("alexandria" ,sbcl-alexandria)
8831 ("cl-ppcre" ,sbcl-cl-ppcre)))
8832 (synopsis "Color library for Common Lisp")
8833 (description
8834 "This is a very simple color library for Common Lisp, providing:
8835
8836 @itemize
8837 @item Types for representing colors in HSV and RGB spaces.
8838 @item Simple conversion functions between the above types (and also
8839 hexadecimal representation for RGB).
8840 @item Some predefined colors (currently X11 color names -- of course
8841 the library does not depend on X11).
8842 @end itemize\n")
8843 (home-page "https://notabug.org/cage/cl-colors2")
8844 (license license:boost1.0))))
8845
8846 (define-public cl-colors2
8847 (sbcl-package->cl-source-package sbcl-cl-colors2))
8848
8849 (define-public ecl-cl-colors2
8850 (sbcl-package->ecl-package sbcl-cl-colors2))
8851
8852 (define-public sbcl-cl-jpeg
8853 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
8854 (revision "1"))
8855 (package
8856 (name "sbcl-cl-jpeg")
8857 (version (git-version "2.8" revision commit))
8858 (source
8859 (origin
8860 (method git-fetch)
8861 (uri (git-reference
8862 (url "https://github.com/sharplispers/cl-jpeg")
8863 (commit commit)))
8864 (file-name (git-file-name name version))
8865 (sha256
8866 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
8867 (build-system asdf-build-system/sbcl)
8868 (synopsis "JPEG image library for Common Lisp")
8869 (description
8870 "This is a baseline JPEG codec written in Common Lisp. It can be used
8871 for reading and writing JPEG image files.")
8872 (home-page "https://github.com/sharplispers/cl-jpeg")
8873 (license license:bsd-3))))
8874
8875 (define-public cl-jpeg
8876 (sbcl-package->cl-source-package sbcl-cl-jpeg))
8877
8878 (define-public ecl-cl-jpeg
8879 (sbcl-package->ecl-package sbcl-cl-jpeg))
8880
8881 (define-public sbcl-nodgui
8882 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
8883 (revision "1"))
8884 (package
8885 (name "sbcl-nodgui")
8886 (version (git-version "0.0.5" revision commit))
8887 (source
8888 (origin
8889 (method git-fetch)
8890 (uri (git-reference
8891 (url "https://notabug.org/cage/nodgui.git")
8892 (commit commit)))
8893 (file-name (git-file-name name version))
8894 (sha256
8895 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
8896 (build-system asdf-build-system/sbcl)
8897 (inputs
8898 `(("alexandria" ,sbcl-alexandria)
8899 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8900 ("cl-colors2" ,sbcl-cl-colors2)
8901 ("cl-jpeg" ,sbcl-cl-jpeg)
8902 ("cl-lex" ,sbcl-cl-lex)
8903 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
8904 ("cl-unicode" ,sbcl-cl-unicode)
8905 ("cl-yacc" ,sbcl-cl-yacc)
8906 ("clunit2" ,sbcl-clunit2)
8907 ("named-readtables" ,sbcl-named-readtables)
8908 ("parse-number" ,sbcl-parse-number)
8909 ("tk" ,tk)))
8910 (arguments
8911 `(#:phases (modify-phases %standard-phases
8912 (add-after 'unpack 'fix-paths
8913 (lambda* (#:key inputs #:allow-other-keys)
8914 (substitute* "src/wish-communication.lisp"
8915 (("#-freebsd \"wish\"")
8916 (string-append "#-freebsd \""
8917 (assoc-ref inputs "tk")
8918 "/bin/wish\"")))
8919 #t)))))
8920 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
8921 (description
8922 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
8923 toolkit. It also provides a few additional widgets more than the standard Tk
8924 ones.")
8925 (home-page "https://www.autistici.org/interzona/nodgui.html")
8926 (license license:llgpl))))
8927
8928 (define-public cl-nodgui
8929 (sbcl-package->cl-source-package sbcl-nodgui))
8930
8931 (define-public ecl-nodgui
8932 (sbcl-package->ecl-package sbcl-nodgui))
8933
8934 (define-public sbcl-salza2
8935 (package
8936 (name "sbcl-salza2")
8937 (version "2.0.9")
8938 (source
8939 (origin
8940 (method git-fetch)
8941 (uri (git-reference
8942 (url "https://github.com/xach/salza2")
8943 (commit (string-append "release-" version))))
8944 (file-name (git-file-name name version))
8945 (sha256
8946 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
8947 (build-system asdf-build-system/sbcl)
8948 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
8949 (description
8950 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
8951 deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
8952 respectively.")
8953 (home-page "https://www.xach.com/lisp/salza2/")
8954 (license license:bsd-2)))
8955
8956 (define-public cl-salza2
8957 (sbcl-package->cl-source-package sbcl-salza2))
8958
8959 (define-public ecl-salza2
8960 (sbcl-package->ecl-package sbcl-salza2))
8961
8962 (define-public sbcl-origin
8963 (let ((commit "d646134302456408d6d43580bb05299f1695ab8e")
8964 (revision "1"))
8965 (package
8966 (name "sbcl-origin")
8967 (version (git-version "2.0.0" revision commit))
8968 (source
8969 (origin
8970 (method git-fetch)
8971 (uri (git-reference
8972 (url "https://git.mfiano.net/mfiano/origin")
8973 (commit commit)))
8974 (file-name (git-file-name "origin" version))
8975 (sha256
8976 (base32 "1n9aszaif3yh8prs5r8v51fbj4r5jd1a048mivd5yij3hplkm82b"))))
8977 (build-system asdf-build-system/sbcl)
8978 (native-inputs
8979 `(("parachute" ,sbcl-parachute)))
8980 (inputs
8981 `(("golden-utils" ,sbcl-golden-utils)
8982 ("specialization-store" ,sbcl-specialization-store)))
8983 (home-page "https://git.mfiano.net/mfiano/origin")
8984 (synopsis "Common Lisp graphics math library")
8985 (description
8986 "This is a native Common Lisp graphics math library with an emphasis on
8987 performance and correctness.")
8988 (license license:expat))))
8989
8990 (define-public ecl-origin
8991 (sbcl-package->ecl-package sbcl-origin))
8992
8993 (define-public cl-origin
8994 (sbcl-package->cl-source-package sbcl-origin))
8995
8996 (define-public sbcl-png-read
8997 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
8998 (revision "1"))
8999 (package
9000 (name "sbcl-png-read")
9001 (version (git-version "0.3.1" revision commit))
9002 (source
9003 (origin
9004 (method git-fetch)
9005 (uri (git-reference
9006 (url "https://github.com/Ramarren/png-read")
9007 (commit commit)))
9008 (file-name (git-file-name name version))
9009 (sha256
9010 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
9011 (build-system asdf-build-system/sbcl)
9012 (inputs
9013 `(("babel" ,sbcl-babel)
9014 ("chipz" ,sbcl-chipz)
9015 ("iterate" ,sbcl-iterate)))
9016 (synopsis "PNG decoder for Common Lisp")
9017 (description "This is a Common Lisp library for reading PNG images.")
9018 (home-page "https://github.com/Ramarren/png-read")
9019 (license license:bsd-3))))
9020
9021 (define-public cl-png-read
9022 (sbcl-package->cl-source-package sbcl-png-read))
9023
9024 (define-public ecl-png-read
9025 (sbcl-package->ecl-package sbcl-png-read))
9026
9027 (define-public sbcl-3b-bmfont
9028 (let ((commit "d1b5bec0de580c2d08ec947a93c56b1400f2a37a")
9029 (revision "1"))
9030 (package
9031 (name "sbcl-3b-bmfont")
9032 (version (git-version "0.0.1" revision commit))
9033 (source
9034 (origin
9035 (method git-fetch)
9036 (uri (git-reference
9037 (url "https://github.com/3b/3b-bmfont/")
9038 (commit commit)))
9039 (file-name (git-file-name "3b-bmfont" version))
9040 (sha256
9041 (base32 "12sgf7m0h6fqzhvkas7vmci6mprj3j3fnz778jlbqbsydln6v2yc"))))
9042 (build-system asdf-build-system/sbcl)
9043 (arguments
9044 `(#:asd-systems
9045 '("3b-bmfont"
9046 "3b-bmfont/text"
9047 "3b-bmfont/common"
9048 "3b-bmfont/xml"
9049 "3b-bmfont/json")))
9050 (inputs
9051 `(("alexandria" ,sbcl-alexandria)
9052 ("cxml" ,sbcl-cxml)
9053 ("flexi-streams" ,sbcl-flexi-streams)
9054 ("jsown" ,sbcl-jsown)
9055 ("split-sequence" ,sbcl-split-sequence)))
9056 (home-page "https://github.com/3b/3b-bmfont/")
9057 (synopsis "Read/write bmfont metadata files")
9058 (description
9059 "This is a Common Lisp library which provides functionality to
9060 read/write Bit Map Font (BMF) into text, JSON and XML.")
9061 (license license:expat))))
9062
9063 (define-public ecl-3b-bmfont
9064 (sbcl-package->ecl-package sbcl-3b-bmfont))
9065
9066 (define-public cl-3b-bmfont
9067 (sbcl-package->cl-source-package sbcl-3b-bmfont))
9068
9069 (define-public sbcl-zpng
9070 (package
9071 (name "sbcl-zpng")
9072 (version "1.2.2")
9073 (source
9074 (origin
9075 (method git-fetch)
9076 (uri (git-reference
9077 (url "https://github.com/xach/zpng")
9078 (commit (string-append "release-" version))))
9079 (file-name (git-file-name name version))
9080 (sha256
9081 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
9082 (build-system asdf-build-system/sbcl)
9083 (inputs
9084 `(("salza2" ,sbcl-salza2)))
9085 (synopsis "PNG encoder for Common Lisp")
9086 (description "This is a Common Lisp library for creating PNG images.")
9087 (home-page "https://www.xach.com/lisp/zpng/")
9088 (license license:bsd-2)))
9089
9090 (define-public cl-zpng
9091 (sbcl-package->cl-source-package sbcl-zpng))
9092
9093 (define-public ecl-zpng
9094 (sbcl-package->ecl-package sbcl-zpng))
9095
9096 (define-public sbcl-cl-qrencode
9097 (package
9098 (name "sbcl-cl-qrencode")
9099 (version "0.1.2")
9100 (source
9101 (origin
9102 (method git-fetch)
9103 (uri (git-reference
9104 (url "https://github.com/jnjcc/cl-qrencode")
9105 (commit (string-append "v" version))))
9106 (file-name (git-file-name name version))
9107 (sha256
9108 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
9109 (build-system asdf-build-system/sbcl)
9110 (native-inputs
9111 `(("lisp-unit" ,sbcl-lisp-unit)))
9112 (inputs
9113 `(("zpng" ,sbcl-zpng)))
9114 (synopsis "QR code encoder for Common Lisp")
9115 (description
9116 "This Common Lisp library provides function to make QR codes and to save
9117 them as PNG files.")
9118 (home-page "https://github.com/jnjcc/cl-qrencode")
9119 (license license:gpl2+)))
9120
9121 (define-public cl-qrencode
9122 (sbcl-package->cl-source-package sbcl-cl-qrencode))
9123
9124 (define-public ecl-cl-qrencode
9125 (sbcl-package->ecl-package sbcl-cl-qrencode))
9126
9127 (define-public sbcl-hdf5-cffi
9128 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
9129 (revision "1"))
9130 (package
9131 (name "sbcl-hdf5-cffi")
9132 (version (git-version "1.8.18" revision commit))
9133 (source
9134 (origin
9135 (method git-fetch)
9136 (uri (git-reference
9137 (url "https://github.com/hdfgroup/hdf5-cffi")
9138 (commit commit)))
9139 (file-name (git-file-name name version))
9140 (sha256
9141 (base32
9142 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
9143 (build-system asdf-build-system/sbcl)
9144 (synopsis "Common Lisp bindings for the HDF5 library")
9145 (description
9146 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
9147 (home-page "https://github.com/hdfgroup/hdf5-cffi")
9148 (license (license:non-copyleft
9149 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
9150 commit
9151 "/LICENSE")))
9152 (inputs
9153 `(("cffi" ,sbcl-cffi)
9154 ("hdf5" ,hdf5-1.10)))
9155 (native-inputs
9156 `(("fiveam" ,sbcl-fiveam)))
9157 (arguments
9158 `(#:test-asd-file "hdf5-cffi.test.asd"
9159 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
9160 ;; I don't know if there is a way to tell asdf-build-system to load
9161 ;; an additional system first, so tests are disabled.
9162 #:tests? #f
9163 #:phases
9164 (modify-phases %standard-phases
9165 (add-after 'unpack 'fix-paths
9166 (lambda* (#:key inputs #:allow-other-keys)
9167 (substitute* "src/library.lisp"
9168 (("libhdf5.so")
9169 (string-append
9170 (assoc-ref inputs "hdf5")
9171 "/lib/libhdf5.so")))))
9172 (add-after 'unpack 'fix-dependencies
9173 (lambda* (#:key inputs #:allow-other-keys)
9174 (substitute* "hdf5-cffi.asd"
9175 ((":depends-on \\(:cffi\\)")
9176 ":depends-on (:cffi :cffi-grovel)"))
9177 (substitute* "hdf5-cffi.test.asd"
9178 ((":depends-on \\(:cffi :hdf5-cffi")
9179 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
9180
9181 (define-public cl-hdf5-cffi
9182 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
9183
9184 (define-public ecl-hdf5-cffi
9185 (sbcl-package->ecl-package sbcl-hdf5-cffi))
9186
9187 (define-public sbcl-cl-randist
9188 (package
9189 (name "sbcl-cl-randist")
9190 (version "0.4.2")
9191 (source
9192 (origin
9193 (method git-fetch)
9194 (uri (git-reference
9195 (url "https://github.com/lvaruzza/cl-randist")
9196 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
9197 (file-name (git-file-name name version))
9198 (sha256
9199 (base32
9200 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
9201 (build-system asdf-build-system/sbcl)
9202 (synopsis "Random distributions for Common Lisp")
9203 (description
9204 "Manual translation from C to Common Lisp of some random number
9205 generation functions from the GSL library.")
9206 (home-page "https://github.com/lvaruzza/cl-randist")
9207 (license license:bsd-2)
9208 (arguments
9209 `(#:tests? #f))))
9210
9211 (define-public cl-randist
9212 (sbcl-package->cl-source-package sbcl-cl-randist))
9213
9214 (define-public ecl-cl-randist
9215 (sbcl-package->ecl-package sbcl-cl-randist))
9216
9217 (define-public sbcl-float-features
9218 (package
9219 (name "sbcl-float-features")
9220 (version "1.0.0")
9221 (source
9222 (origin
9223 (method git-fetch)
9224 (uri (git-reference
9225 (url "https://github.com/Shinmera/float-features")
9226 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
9227 (file-name (git-file-name name version))
9228 (sha256
9229 (base32
9230 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
9231 (build-system asdf-build-system/sbcl)
9232 (synopsis "Common Lisp IEEE float portability library")
9233 (description
9234 "Portability library for IEEE float features that are not
9235 covered by the Common Lisp standard.")
9236 (home-page "https://github.com/Shinmera/float-features")
9237 (license license:zlib)
9238 (inputs
9239 `(("documentation-utils" ,sbcl-documentation-utils)))
9240 (arguments
9241 `(#:tests? #f))))
9242
9243 (define-public cl-float-features
9244 (sbcl-package->cl-source-package sbcl-float-features))
9245
9246 (define-public ecl-float-features
9247 (sbcl-package->ecl-package sbcl-float-features))
9248
9249 (define-public sbcl-function-cache
9250 (package
9251 (name "sbcl-function-cache")
9252 (version "1.0.3")
9253 (source
9254 (origin
9255 (method git-fetch)
9256 (uri (git-reference
9257 (url "https://github.com/AccelerationNet/function-cache")
9258 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
9259 (file-name (git-file-name name version))
9260 (sha256
9261 (base32
9262 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
9263 (build-system asdf-build-system/sbcl)
9264 (synopsis "Function caching / memoization library for Common Lisp")
9265 (description
9266 "A common lisp library that provides extensible function result
9267 caching based on arguments (an expanded form of memoization).")
9268 (home-page "https://github.com/AccelerationNet/function-cache")
9269 (license
9270 (license:non-copyleft
9271 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
9272 (inputs
9273 `(("alexandria" ,sbcl-alexandria)
9274 ("cl-interpol" ,sbcl-cl-interpol)
9275 ("iterate" ,sbcl-iterate)
9276 ("symbol-munger" ,sbcl-symbol-munger)
9277 ("closer-mop" ,sbcl-closer-mop)))
9278 (arguments
9279 `(#:tests? #f))))
9280
9281 (define-public cl-function-cache
9282 (sbcl-package->cl-source-package sbcl-function-cache))
9283
9284 (define-public ecl-function-cache
9285 (sbcl-package->ecl-package sbcl-function-cache))
9286
9287 (define-public sbcl-type-r
9288 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
9289 (revision "1"))
9290 (package
9291 (name "sbcl-type-r")
9292 (version (git-version "0.0.0" revision commit))
9293 (source
9294 (origin
9295 (method git-fetch)
9296 (uri (git-reference
9297 (url "https://github.com/guicho271828/type-r")
9298 (commit commit)))
9299 (file-name (git-file-name name version))
9300 (sha256
9301 (base32
9302 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
9303 (build-system asdf-build-system/sbcl)
9304 (synopsis "Parser interface for Common Lisp built-in compound types")
9305 (description
9306 "Collections of accessor functions and patterns to access
9307 the elements in compound type specifier, e.g. @code{dimensions} in
9308 @code{(array element-type dimensions)}")
9309 (home-page "https://github.com/guicho271828/type-r")
9310 (license license:lgpl3+)
9311 (inputs
9312 `(("trivia" ,sbcl-trivia)
9313 ("alexandria" ,sbcl-alexandria)))
9314 (native-inputs
9315 `(("fiveam" ,sbcl-fiveam)))
9316 (arguments
9317 `(#:test-asd-file "type-r.test.asd")))))
9318
9319 (define-public cl-type-r
9320 (sbcl-package->cl-source-package sbcl-type-r))
9321
9322 (define-public ecl-type-r
9323 (sbcl-package->ecl-package sbcl-type-r))
9324
9325 (define-public sbcl-trivialib-type-unify
9326 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
9327 (revision "1"))
9328 (package
9329 (name "sbcl-trivialib-type-unify")
9330 (version (git-version "0.1" revision commit))
9331 (source
9332 (origin
9333 (method git-fetch)
9334 (uri (git-reference
9335 (url "https://github.com/guicho271828/trivialib.type-unify")
9336 (commit commit)))
9337 (file-name (git-file-name name version))
9338 (sha256
9339 (base32
9340 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
9341 (build-system asdf-build-system/sbcl)
9342 (synopsis "Common Lisp type unification")
9343 (description
9344 "Unifies a parametrized type specifier against an actual type specifier.
9345 Importantly, it handles complicated array-subtypes and number-related types
9346 correctly.")
9347 (home-page "https://github.com/guicho271828/trivialib.type-unify")
9348 (license license:lgpl3+)
9349 (inputs
9350 `(("alexandria" ,sbcl-alexandria)
9351 ("trivia" ,sbcl-trivia)
9352 ("introspect-environment" ,sbcl-introspect-environment)
9353 ("type-r" ,sbcl-type-r)))
9354 (native-inputs
9355 `(("fiveam" ,sbcl-fiveam)))
9356 (arguments
9357 `(#:asd-systems '("trivialib.type-unify")
9358 #:test-asd-file "trivialib.type-unify.test.asd")))))
9359
9360 (define-public cl-trivialib-type-unify
9361 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
9362
9363 (define-public ecl-trivialib-type-unify
9364 (sbcl-package->ecl-package sbcl-trivialib-type-unify))
9365
9366 (define-public sbcl-specialized-function
9367 (let ((commit "dee56d2d2b6ecd10500ad291c56217698604ec35")
9368 (revision "2"))
9369 (package
9370 (name "sbcl-specialized-function")
9371 (version (git-version "0.0.0" revision commit))
9372 (source
9373 (origin
9374 (method git-fetch)
9375 (uri (git-reference
9376 (url "https://github.com/numcl/specialized-function")
9377 (commit commit)))
9378 (file-name (git-file-name name version))
9379 (sha256
9380 (base32 "1mcc7mmpbnmgnr1cl2jl5r1ai54gn7fbisv2c14sh9za5w4sib82"))))
9381 (build-system asdf-build-system/sbcl)
9382 (synopsis "Julia-like dispatch for Common Lisp")
9383 (description
9384 "This library is part of NUMCL. It provides a macro
9385 @code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
9386 lazily compiling a type-specific version of the function from the same
9387 code. The main target of this macro is speed.")
9388 (home-page "https://github.com/numcl/specialized-function")
9389 (license license:lgpl3+)
9390 (inputs
9391 `(("trivia" ,sbcl-trivia)
9392 ("alexandria" ,sbcl-alexandria)
9393 ("iterate" ,sbcl-iterate)
9394 ("lisp-namespace" ,sbcl-lisp-namespace)
9395 ("type-r" ,sbcl-type-r)
9396 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
9397 (native-inputs
9398 `(("fiveam" ,sbcl-fiveam)))
9399 (arguments
9400 `(#:asd-files '("specialized-function.asd")
9401 #:test-asd-file "specialized-function.test.asd"
9402 ;; Tests fail because they try to use an internal symbol of SBCL
9403 ;; that does not exists in recent versions:
9404 ;; "The variable SB-VM:COMPLEX-VECTOR-NIL-WIDETAG is unbound."
9405 #:tests? #f)))))
9406
9407 (define-public cl-specialized-function
9408 (sbcl-package->cl-source-package sbcl-specialized-function))
9409
9410 (define-public ecl-specialized-function
9411 (sbcl-package->ecl-package sbcl-specialized-function))
9412
9413 (define-public sbcl-constantfold
9414 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
9415 (revision "1"))
9416 (package
9417 (name "sbcl-constantfold")
9418 (version (git-version "0.1" revision commit))
9419 (source
9420 (origin
9421 (method git-fetch)
9422 (uri (git-reference
9423 (url "https://github.com/numcl/constantfold")
9424 (commit commit)))
9425 (file-name (git-file-name name version))
9426 (sha256
9427 (base32
9428 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
9429 (build-system asdf-build-system/sbcl)
9430 (synopsis "Support library for numcl")
9431 (description
9432 "Support library for numcl. Registers a function as an
9433 additional form that is considered as a candidate for a constant.")
9434 (home-page "https://github.com/numcl/constantfold")
9435 (license license:lgpl3+)
9436 (inputs
9437 `(("trivia" ,sbcl-trivia)
9438 ("alexandria" ,sbcl-alexandria)
9439 ("iterate" ,sbcl-iterate)
9440 ("lisp-namespace" ,sbcl-lisp-namespace)))
9441 (native-inputs
9442 `(("fiveam" ,sbcl-fiveam)))
9443 (arguments
9444 `(#:asd-files '("constantfold.asd")
9445 #:test-asd-file "constantfold.test.asd")))))
9446
9447 (define-public cl-constantfold
9448 (sbcl-package->cl-source-package sbcl-constantfold))
9449
9450 (define-public ecl-constantfold
9451 (sbcl-package->ecl-package sbcl-constantfold))
9452
9453 (define-public sbcl-gtype
9454 (let ((commit "2442e32485635525af278ebd8fa69a27d5b8cf18")
9455 (revision "2"))
9456 (package
9457 (name "sbcl-gtype")
9458 (version (git-version "0.1" revision commit))
9459 (source
9460 (origin
9461 (method git-fetch)
9462 (uri (git-reference
9463 (url "https://github.com/numcl/gtype")
9464 (commit commit)))
9465 (file-name (git-file-name name version))
9466 (sha256
9467 (base32 "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h"))))
9468 (build-system asdf-build-system/sbcl)
9469 (synopsis "C++/Julia-like parametric types in Common Lisp")
9470 (description
9471 "Support library for numcl that provides Julia-like runtime parametric
9472 type correctness in Common Lisp. It is based on CLtL2 extensions.")
9473 (home-page "https://github.com/numcl/gtype")
9474 (license license:lgpl3+)
9475 (inputs
9476 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
9477 ("trivial-cltl2" ,sbcl-trivial-cltl2)
9478 ("trivia" ,sbcl-trivia)
9479 ("alexandria" ,sbcl-alexandria)
9480 ("iterate" ,sbcl-iterate)
9481 ("type-r" ,sbcl-type-r)))
9482 (native-inputs
9483 `(("fiveam" ,sbcl-fiveam)))
9484 (arguments
9485 `(#:asd-files '("gtype.asd")
9486 #:test-asd-file "gtype.test.asd")))))
9487
9488 (define-public cl-gtype
9489 (sbcl-package->cl-source-package sbcl-gtype))
9490
9491 (define-public ecl-gtype
9492 (let ((pkg (sbcl-package->ecl-package sbcl-gtype)))
9493 (package
9494 (inherit pkg)
9495 (arguments
9496 (substitute-keyword-arguments (package-arguments pkg)
9497 ;; The tests fail on ECL with a COMPILE-FILE-ERROR for t/package.lisp.
9498 ((#:tests? _ #f) #f))))))
9499
9500 (define-public sbcl-numcl
9501 (let ((commit "d19f36356be900c600ef08560c9e1af441a166cb")
9502 (revision "1"))
9503 (package
9504 (name "sbcl-numcl")
9505 (version (git-version "0.2.0" revision commit))
9506 (source
9507 (origin
9508 (method git-fetch)
9509 (uri (git-reference
9510 (url "https://github.com/numcl/numcl")
9511 (commit commit)))
9512 (file-name (git-file-name "numcl" version))
9513 (sha256
9514 (base32 "0q4ylfr7hl0gz2ynr0c15h09dmnli2x6ndnm5wr58wfplf1wfj31"))))
9515 (build-system asdf-build-system/sbcl)
9516 (arguments
9517 `(#:test-asd-file "numcl.test.asd"
9518 #:asd-files '("numcl.asd")))
9519 (native-inputs
9520 `(("fiveam" ,sbcl-fiveam)))
9521 (inputs
9522 `(("alexandria" ,sbcl-alexandria)
9523 ("cl-randist" ,sbcl-cl-randist)
9524 ("constantfold" ,sbcl-constantfold)
9525 ("float-features" ,sbcl-float-features)
9526 ("function-cache" ,sbcl-function-cache)
9527 ("gtype" ,sbcl-gtype)
9528 ("iterate" ,sbcl-iterate)
9529 ("lisp-namespace" ,sbcl-lisp-namespace)
9530 ("specialized-function" ,sbcl-specialized-function)
9531 ("trivia" ,sbcl-trivia)
9532 ("type-r" ,sbcl-type-r)))
9533 (home-page "https://numcl.github.io/numcl/")
9534 (synopsis "Numpy clone in Common Lisp")
9535 (description
9536 "This package is a Python Numpy clone implemented in pure Common Lisp.")
9537 (license license:lgpl3+))))
9538
9539 (define-public cl-numcl
9540 (sbcl-package->cl-source-package sbcl-numcl))
9541
9542 (define-public ecl-numcl
9543 (sbcl-package->ecl-package sbcl-numcl))
9544
9545 (define-public sbcl-pzmq
9546 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
9547 (revision "1"))
9548 (package
9549 (name "sbcl-pzmq")
9550 (version (git-version "0.0.0" revision commit))
9551 (source
9552 (origin
9553 (method git-fetch)
9554 (uri (git-reference
9555 (url "https://github.com/orivej/pzmq")
9556 (commit commit)))
9557 (file-name (git-file-name name version))
9558 (sha256
9559 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
9560 (build-system asdf-build-system/sbcl)
9561 (native-inputs
9562 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9563 ("fiveam" ,sbcl-fiveam)
9564 ("let-plus" ,sbcl-let-plus)))
9565 (inputs
9566 `(("cffi" ,sbcl-cffi)
9567 ("zeromq" ,zeromq)))
9568 (arguments
9569 `(#:phases (modify-phases %standard-phases
9570 (add-after 'unpack 'fix-paths
9571 (lambda* (#:key inputs #:allow-other-keys)
9572 (substitute* "c-api.lisp"
9573 (("\"libzmq")
9574 (string-append "\""
9575 (assoc-ref inputs "zeromq")
9576 "/lib/libzmq")))
9577 #t)))))
9578 (synopsis "Common Lisp bindings for the ZeroMQ library")
9579 (description "This Common Lisp library provides bindings for the ZeroMQ
9580 lightweight messaging kernel.")
9581 (home-page "https://github.com/orivej/pzmq")
9582 (license license:unlicense))))
9583
9584 (define-public cl-pzmq
9585 (sbcl-package->cl-source-package sbcl-pzmq))
9586
9587 (define-public ecl-pzmq
9588 (sbcl-package->ecl-package sbcl-pzmq))
9589
9590 (define-public sbcl-clss
9591 (let ((revision "1")
9592 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
9593 (package
9594 (name "sbcl-clss")
9595 (version (git-version "0.3.1" revision commit))
9596 (source
9597 (origin
9598 (method git-fetch)
9599 (uri
9600 (git-reference
9601 (url "https://github.com/Shinmera/clss")
9602 (commit commit)))
9603 (sha256
9604 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
9605 (file-name (git-file-name name version))))
9606 (inputs
9607 `(("array-utils" ,sbcl-array-utils)
9608 ("plump" ,sbcl-plump)))
9609 (build-system asdf-build-system/sbcl)
9610 (synopsis "DOM tree searching engine based on CSS selectors")
9611 (description "CLSS is a DOM traversal engine based on CSS
9612 selectors. It makes use of the Plump-DOM and is used by lQuery.")
9613 (home-page "https://github.com/Shinmera/clss")
9614 (license license:zlib))))
9615
9616 (define-public cl-clss
9617 (sbcl-package->cl-source-package sbcl-clss))
9618
9619 (define-public ecl-clss
9620 (sbcl-package->ecl-package sbcl-clss))
9621
9622 (define-public sbcl-lquery
9623 (let ((revision "1")
9624 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
9625 (package
9626 (name "sbcl-lquery")
9627 (version (git-version "3.2.1" revision commit))
9628 (source
9629 (origin
9630 (method git-fetch)
9631 (uri
9632 (git-reference
9633 (url "https://github.com/Shinmera/lquery")
9634 (commit commit)))
9635 (sha256
9636 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
9637 (file-name (git-file-name name version))))
9638 (native-inputs
9639 `(("fiveam" ,sbcl-fiveam)))
9640 (inputs
9641 `(("array-utils" ,sbcl-array-utils)
9642 ("form-fiddle" ,sbcl-form-fiddle)
9643 ("plump" ,sbcl-plump)
9644 ("clss" ,sbcl-clss)))
9645 (build-system asdf-build-system/sbcl)
9646 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
9647 (description "@code{lQuery} is a DOM manipulation library written in
9648 Common Lisp, inspired by and based on the jQuery syntax and
9649 functions. It uses Plump and CLSS as DOM and selector engines. The
9650 main idea behind lQuery is to provide a simple interface for crawling
9651 and modifying HTML sites, as well as to allow for an alternative
9652 approach to templating.")
9653 (home-page "https://github.com/Shinmera/lquery")
9654 (license license:zlib))))
9655
9656 (define-public cl-lquery
9657 (sbcl-package->cl-source-package sbcl-lquery))
9658
9659 (define-public ecl-lquery
9660 (sbcl-package->ecl-package sbcl-lquery))
9661
9662 (define-public sbcl-cl-mysql
9663 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
9664 (revision "1"))
9665 (package
9666 (name "sbcl-cl-mysql")
9667 (version (git-version "0.1" revision commit))
9668 (source
9669 (origin
9670 (method git-fetch)
9671 (uri (git-reference
9672 (url "https://github.com/hackinghat/cl-mysql")
9673 (commit commit)))
9674 (file-name (git-file-name name version))
9675 (sha256
9676 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
9677 (build-system asdf-build-system/sbcl)
9678 (native-inputs
9679 `(("stefil" ,sbcl-stefil)))
9680 (inputs
9681 `(("cffi" ,sbcl-cffi)
9682 ("mariadb-lib" ,mariadb "lib")))
9683 (arguments
9684 `(#:tests? #f ; TODO: Tests require a running server
9685 #:phases
9686 (modify-phases %standard-phases
9687 (add-after 'unpack 'fix-paths
9688 (lambda* (#:key inputs #:allow-other-keys)
9689 (substitute* "system.lisp"
9690 (("libmysqlclient_r" all)
9691 (string-append (assoc-ref inputs "mariadb-lib")
9692 "/lib/"
9693 all)))
9694 #t)))))
9695 (synopsis "Common Lisp wrapper for MySQL")
9696 (description
9697 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
9698 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
9699 (license license:expat))))
9700
9701 (define-public cl-mysql
9702 (sbcl-package->cl-source-package sbcl-cl-mysql))
9703
9704 (define-public ecl-cl-mysql
9705 (sbcl-package->ecl-package sbcl-cl-mysql))
9706
9707 (define-public sbcl-postmodern
9708 (package
9709 (name "sbcl-postmodern")
9710 (version "1.32.8")
9711 (source
9712 (origin
9713 (method git-fetch)
9714 (uri (git-reference
9715 (url "https://github.com/marijnh/Postmodern")
9716 (commit (string-append "v" version))))
9717 (file-name (git-file-name name version))
9718 (sha256
9719 (base32 "0vr5inbr8dldf6dsl0qj3h2yrnnsayzfwxfzwkn1pk7xbns2l78q"))))
9720 (build-system asdf-build-system/sbcl)
9721 (native-inputs
9722 `(("fiveam" ,sbcl-fiveam)))
9723 (inputs
9724 `(("alexandria" ,sbcl-alexandria)
9725 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9726 ("cl-base64" ,sbcl-cl-base64)
9727 ("cl-unicode" ,sbcl-cl-unicode)
9728 ("closer-mop" ,sbcl-closer-mop)
9729 ("global-vars" ,sbcl-global-vars)
9730 ("ironclad" ,sbcl-ironclad)
9731 ("local-time" ,sbcl-local-time)
9732 ("md5" ,sbcl-md5)
9733 ("split-sequence" ,sbcl-split-sequence)
9734 ("uax-15" ,sbcl-uax-15)
9735 ("usocket" ,sbcl-usocket)))
9736 (arguments
9737 ;; TODO: (Sharlatan-20210114T171037+0000) tests still failing but on other
9738 ;; step, some functionality in `local-time' prevents passing tests.
9739 ;; Error:
9740 ;;
9741 ;; Can't create directory
9742 ;; /gnu/store
9743 ;; /4f47agf1kyiz057ppy6x5p98i7mcbfsv-sbcl-local-time-1.0.6-2.a177eb9
9744 ;; /lib/common-lisp/sbcl/local-time/src/integration/
9745 ;;
9746 ;; NOTE: (Sharlatan-20210124T191940+0000): When set env HOME to /tmp above
9747 ;; issue is resolved but it required live test database to connect to now.
9748 ;; Keep tests switched off.
9749 `(#:tests? #f
9750 #:asd-systems '("cl-postgres"
9751 "s-sql"
9752 "postmodern"
9753 "simple-date"
9754 "simple-date/postgres-glue")))
9755 (synopsis "Common Lisp library for interacting with PostgreSQL")
9756 (description
9757 "@code{postmodern} is a Common Lisp library for interacting with
9758 PostgreSQL databases. It provides the following features:
9759
9760 @itemize
9761 @item Efficient communication with the database server without need for
9762 foreign libraries.
9763 @item Support for UTF-8 on Unicode-aware Lisp implementations.
9764 @item A syntax for mixing SQL and Lisp code.
9765 @item Convenient support for prepared statements and stored procedures.
9766 @item A metaclass for simple database-access objects.
9767 @end itemize\n
9768
9769 This package produces 4 systems: postmodern, cl-postgres, s-sql, simple-date
9770
9771 @code{SIMPLE-DATE} is a very basic implementation of date and time objects, used
9772 to support storing and retrieving time-related SQL types. It is not loaded by
9773 default and you can use local-time (which has support for timezones) instead.
9774
9775 @code{S-SQL} is used to compile s-expressions to strings of SQL code, escaping
9776 any Lisp values inside, and doing as much as possible of the work at compile
9777 time.
9778
9779 @code{CL-POSTGRES} is the low-level library used for interfacing with a PostgreSQL
9780 server over a socket.
9781
9782 @code{POSTMODERN} itself is a wrapper around these packages and provides higher
9783 level functions, a very simple data access object that can be mapped directly to
9784 database tables and some convient utilities. It then tries to put all these
9785 things together into a convenient programming interface")
9786 (home-page "https://marijnhaverbeke.nl/postmodern/")
9787 (license license:zlib)))
9788
9789 (define-public cl-postmodern
9790 (sbcl-package->cl-source-package sbcl-postmodern))
9791
9792 (define-public ecl-postmodern
9793 (package
9794 (inherit (sbcl-package->ecl-package sbcl-postmodern))
9795 (arguments
9796 `(#:tests? #f
9797 #:asd-systems '("cl-postgres"
9798 "s-sql"
9799 "postmodern"
9800 "simple-date"
9801 "simple-date/postgres-glue")
9802 #:phases
9803 (modify-phases %standard-phases
9804 (add-after 'unpack 'fix-build
9805 (lambda _
9806 (substitute* "cl-postgres.asd"
9807 ((":or :sbcl :allegro :ccl :clisp" all)
9808 (string-append all " :ecl")))
9809 #t)))))))
9810
9811 (define-public sbcl-db3
9812 (let ((commit "38e5ad35f025769fb7f8dcdc6e56df3e8efd8e6d")
9813 (revision "1"))
9814 (package
9815 (name "sbcl-db3")
9816 (version (git-version "0.0.0" revision commit))
9817 (source
9818 (origin
9819 (method git-fetch)
9820 (uri (git-reference
9821 (url "https://github.com/dimitri/cl-db3")
9822 (commit commit)))
9823 (file-name (git-file-name "cl-db3" version))
9824 (sha256
9825 (base32 "1i7j0mlri6kbklcx1lsm464s8kmyhhij5c4xh4aybrw8m4ixn1s5"))))
9826 (build-system asdf-build-system/sbcl)
9827 (home-page "https://github.com/dimitri/cl-db3")
9828 (synopsis "Common Lisp library to read dBase III database files")
9829 (description
9830 "This is a Common Lisp library for processing data found in dBase III
9831 database files (dbf and db3 files).")
9832 (license license:public-domain))))
9833
9834 (define-public ecl-db3
9835 (sbcl-package->ecl-package sbcl-db3))
9836
9837 (define-public cl-db3
9838 (sbcl-package->cl-source-package sbcl-db3))
9839
9840 (define-public sbcl-dbi
9841 ;; Master includes a breaking change which other packages depend on since
9842 ;; Quicklisp decided to follow it:
9843 ;; https://github.com/fukamachi/cl-dbi/commit/31c46869722f77fd5292a81b5b101f1347d7fce1
9844 (let ((commit "31c46869722f77fd5292a81b5b101f1347d7fce1"))
9845 (package
9846 (name "sbcl-dbi")
9847 (version (git-version "0.9.4" "1" commit))
9848 (source
9849 (origin
9850 (method git-fetch)
9851 (uri (git-reference
9852 (url "https://github.com/fukamachi/cl-dbi")
9853 (commit commit)))
9854 (file-name (git-file-name name version))
9855 (sha256
9856 (base32 "0r3n4rw12qqxad0cryym2ibm4ddl49gbq4ra227afibsr43nw5k3"))))
9857 (build-system asdf-build-system/sbcl)
9858 (native-inputs
9859 `(("rove" ,sbcl-rove)
9860 ("trivial-types" ,sbcl-trivial-types)))
9861 (inputs
9862 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9863 ("cl-mysql" ,sbcl-cl-mysql)
9864 ("cl-sqlite" ,sbcl-cl-sqlite)
9865 ("closer-mop" ,sbcl-closer-mop)
9866 ("postmodern" ,sbcl-postmodern)
9867 ("split-sequence" ,sbcl-split-sequence)
9868 ("trivial-garbage" ,sbcl-trivial-garbage)))
9869 (arguments
9870 `(#:asd-systems '("dbi"
9871 "dbd-mysql"
9872 "dbd-postgres"
9873 "dbd-sqlite3")))
9874 (synopsis "Database independent interface for Common Lisp")
9875 (description
9876 "@code{dbi} is a Common Lisp library providing a database independent
9877 interface for MySQL, PostgreSQL and SQLite.")
9878 (home-page "https://github.com/fukamachi/cl-dbi")
9879 (license license:llgpl))))
9880
9881 (define-public cl-dbi
9882 (sbcl-package->cl-source-package sbcl-dbi))
9883
9884 (define-public ecl-dbi
9885 (sbcl-package->ecl-package sbcl-dbi))
9886
9887 (define-public sbcl-uffi
9888 (package
9889 (name "sbcl-uffi")
9890 (version "2.1.2")
9891 (source
9892 (origin
9893 (method git-fetch)
9894 (uri (git-reference
9895 (url "http://git.kpe.io/uffi.git")
9896 (commit (string-append "v" version))))
9897 (file-name (git-file-name name version))
9898 (sha256
9899 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
9900 (build-system asdf-build-system/sbcl)
9901 (arguments
9902 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
9903 #:asd-files '("uffi.asd")
9904 #:phases
9905 (modify-phases %standard-phases
9906 (add-after 'unpack 'fix-permissions
9907 (lambda _
9908 (make-file-writable "doc/html.tar.gz")
9909 #t)))))
9910 (synopsis "Universal foreign function library for Common Lisp")
9911 (description
9912 "UFFI provides a universal foreign function interface (FFI)
9913 for Common Lisp.")
9914 (home-page "http://quickdocs.org/uffi/")
9915 (license license:llgpl)))
9916
9917 (define-public cl-uffi
9918 (package
9919 (inherit (sbcl-package->cl-source-package sbcl-uffi))
9920 (arguments
9921 `(#:phases
9922 ;; asdf-build-system/source has its own phases and does not inherit
9923 ;; from asdf-build-system/sbcl phases.
9924 (modify-phases %standard-phases/source
9925 ;; Already done in SBCL package.
9926 (delete 'reset-gzip-timestamps))))))
9927
9928 (define-public sbcl-clsql
9929 (package
9930 (name "sbcl-clsql")
9931 (version "6.7.0")
9932 (source
9933 (origin
9934 (method git-fetch)
9935 (uri (git-reference
9936 (url "http://git.kpe.io/clsql.git")
9937 (commit (string-append "v" version))))
9938 (file-name (git-file-name name version))
9939 (sha256
9940 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
9941 (snippet
9942 '(begin
9943 ;; Remove precompiled libraries.
9944 (delete-file "db-mysql/clsql_mysql.dll")
9945 (delete-file "uffi/clsql_uffi.dll")
9946 (delete-file "uffi/clsql_uffi.lib")
9947 #t))))
9948 (build-system asdf-build-system/sbcl)
9949 (native-inputs
9950 `(("rt" ,sbcl-rt)))
9951 (inputs
9952 `(("cffi" ,sbcl-cffi)
9953 ("md5" ,sbcl-md5)
9954 ("mysql" ,mysql)
9955 ("postgresql" ,postgresql)
9956 ("postmodern" ,sbcl-postmodern)
9957 ("sqlite" ,sqlite)
9958 ("uffi" ,sbcl-uffi)
9959 ("zlib" ,zlib)))
9960 (arguments
9961 `(#:asd-files '("clsql.asd"
9962 "clsql-uffi.asd"
9963 "clsql-sqlite3.asd"
9964 "clsql-postgresql.asd"
9965 "clsql-postgresql-socket3.asd"
9966 "clsql-mysql.asd")
9967 #:asd-systems '("clsql"
9968 "clsql-sqlite3"
9969 "clsql-postgresql"
9970 "clsql-postgresql-socket3"
9971 "clsql-mysql")
9972 #:phases
9973 (modify-phases %standard-phases
9974 (add-after 'unpack 'fix-permissions
9975 (lambda _
9976 (make-file-writable "doc/html.tar.gz")
9977 #t))
9978 (add-after 'unpack 'fix-build
9979 (lambda _
9980 (substitute* "clsql-uffi.asd"
9981 (("\\(:version uffi \"2.0\"\\)")
9982 "uffi"))
9983 (substitute* "db-postgresql/postgresql-api.lisp"
9984 (("\\(data :cstring\\)")
9985 "(data :string)"))
9986 #t))
9987 (add-after 'unpack 'fix-paths
9988 (lambda* (#:key inputs outputs #:allow-other-keys)
9989 (substitute* "db-sqlite3/sqlite3-loader.lisp"
9990 (("libsqlite3")
9991 (string-append (assoc-ref inputs "sqlite")
9992 "/lib/libsqlite3")))
9993 (substitute* "db-postgresql/postgresql-loader.lisp"
9994 (("libpq")
9995 (string-append (assoc-ref inputs "postgresql")
9996 "/lib/libpq")))
9997 (let ((lib (string-append "#p\""
9998 (assoc-ref outputs "out")
9999 "/lib/\"")))
10000 (substitute* "clsql-mysql.asd"
10001 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
10002 lib))
10003 (substitute* "db-mysql/mysql-loader.lisp"
10004 (("libmysqlclient" all)
10005 (string-append (assoc-ref inputs "mysql") "/lib/" all))
10006 (("clsql-mysql-system::\\*library-file-dir\\*")
10007 lib)))
10008 #t))
10009 (add-before 'build 'build-helper-library
10010 (lambda* (#:key inputs outputs #:allow-other-keys)
10011 (let* ((mysql (assoc-ref inputs "mysql"))
10012 (inc-dir (string-append mysql "/include/mysql"))
10013 (lib-dir (string-append mysql "/lib"))
10014 (shared-lib-dir (string-append (assoc-ref outputs "out")
10015 "/lib"))
10016 (shared-lib (string-append shared-lib-dir
10017 "/clsql_mysql.so")))
10018 (mkdir-p shared-lib-dir)
10019 (invoke "gcc" "-fPIC" "-shared"
10020 "-I" inc-dir
10021 "db-mysql/clsql_mysql.c"
10022 "-Wl,-soname=clsql_mysql"
10023 "-L" lib-dir "-lmysqlclient" "-lz"
10024 "-o" shared-lib)
10025 #t)))
10026 (add-after 'unpack 'fix-tests
10027 (lambda _
10028 (substitute* "clsql.asd"
10029 (("clsql-tests :force t")
10030 "clsql-tests"))
10031 #t)))))
10032 (synopsis "Common Lisp SQL Interface library")
10033 (description
10034 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
10035 Xanalys CommonSQL interface for Lispworks. It provides low-level database
10036 interfaces as well as a functional and an object oriented interface.")
10037 (home-page "http://clsql.kpe.io/")
10038 (license license:llgpl)))
10039
10040 (define-public cl-clsql
10041 (package
10042 (inherit (sbcl-package->cl-source-package sbcl-clsql))
10043 (native-inputs
10044 `(("rt" ,cl-rt)))
10045 (inputs
10046 `(("mysql" ,mysql)
10047 ("postgresql" ,postgresql)
10048 ("sqlite" ,sqlite)
10049 ("zlib" ,zlib)))
10050 (propagated-inputs
10051 `(("cffi" ,cl-cffi)
10052 ("md5" ,cl-md5)
10053 ("postmodern" ,cl-postmodern)
10054 ("uffi" ,cl-uffi)))
10055 (arguments
10056 `(#:phases
10057 ;; asdf-build-system/source has its own phases and does not inherit
10058 ;; from asdf-build-system/sbcl phases.
10059 (modify-phases %standard-phases/source
10060 (add-after 'unpack 'fix-permissions
10061 (lambda _
10062 (make-file-writable "doc/html.tar.gz")
10063 #t)))))))
10064
10065 (define-public ecl-clsql
10066 (let ((pkg (sbcl-package->ecl-package sbcl-clsql)))
10067 (package
10068 (inherit pkg)
10069 (inputs
10070 (alist-delete "uffi" (package-inputs pkg)))
10071 (arguments
10072 (substitute-keyword-arguments (package-arguments pkg)
10073 ((#:asd-files asd-files '())
10074 `(cons "clsql-cffi.asd" ,asd-files)))))))
10075
10076 (define-public sbcl-sycamore
10077 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
10078 (package
10079 (name "sbcl-sycamore")
10080 (version "0.0.20120604")
10081 (source
10082 (origin
10083 (method git-fetch)
10084 (uri (git-reference
10085 (url "https://github.com/ndantam/sycamore/")
10086 (commit commit)))
10087 (file-name (git-file-name name version))
10088 (sha256
10089 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
10090 (build-system asdf-build-system/sbcl)
10091 (inputs
10092 `(("alexandria" ,sbcl-alexandria)
10093 ("cl-ppcre" ,sbcl-cl-ppcre)))
10094 (synopsis "Purely functional data structure library in Common Lisp")
10095 (description
10096 "Sycamore is a fast, purely functional data structure library in Common Lisp.
10097 If features:
10098
10099 @itemize
10100 @item Fast, purely functional weight-balanced binary trees.
10101 @item Leaf nodes are simple-vectors, greatly reducing tree height.
10102 @item Interfaces for tree Sets and Maps (dictionaries).
10103 @item Ropes.
10104 @item Purely functional pairing heaps.
10105 @item Purely functional amortized queue.
10106 @end itemize\n")
10107 (home-page "http://ndantam.github.io/sycamore/")
10108 (license license:bsd-3))))
10109
10110 (define-public cl-sycamore
10111 (sbcl-package->cl-source-package sbcl-sycamore))
10112
10113 (define-public ecl-sycamore
10114 (sbcl-package->ecl-package sbcl-sycamore))
10115
10116 (define-public sbcl-trivial-package-local-nicknames
10117 (package
10118 (name "sbcl-trivial-package-local-nicknames")
10119 (version "0.2")
10120 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
10121 (source
10122 (origin
10123 (method git-fetch)
10124 (uri (git-reference
10125 (url home-page)
10126 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
10127 (file-name (git-file-name name version))
10128 (sha256
10129 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
10130 (build-system asdf-build-system/sbcl)
10131 (synopsis "Common Lisp compatibility library for package local nicknames")
10132 (description
10133 "This library is a portable compatibility layer around package local nicknames (PLN).
10134 This was done so there is a portability library for the PLN API not included
10135 in DEFPACKAGE.")
10136 (license license:unlicense)))
10137
10138 (define-public cl-trivial-package-local-nicknames
10139 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
10140
10141 (define-public ecl-trivial-package-local-nicknames
10142 (sbcl-package->ecl-package sbcl-trivial-package-local-nicknames))
10143
10144 (define-public sbcl-enchant
10145 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
10146 (package
10147 (name "sbcl-enchant")
10148 (version (git-version "0.0.0" "1" commit))
10149 (home-page "https://github.com/tlikonen/cl-enchant")
10150 (source
10151 (origin
10152 (method git-fetch)
10153 (uri (git-reference
10154 (url home-page)
10155 (commit commit)))
10156 (file-name (git-file-name name version))
10157 (sha256
10158 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
10159 (build-system asdf-build-system/sbcl)
10160 (inputs
10161 `(("enchant" ,enchant)
10162 ("cffi" ,sbcl-cffi)))
10163 (arguments
10164 `(#:phases
10165 (modify-phases %standard-phases
10166 (add-after 'unpack 'fix-paths
10167 (lambda* (#:key inputs #:allow-other-keys)
10168 (substitute* "load-enchant.lisp"
10169 (("libenchant")
10170 (string-append
10171 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
10172 (synopsis "Common Lisp interface for the Enchant spell-checker library")
10173 (description
10174 "Enchant is a Common Lisp interface for the Enchant spell-checker
10175 library. The Enchant library is a generic spell-checker library which uses
10176 other spell-checkers transparently as back-end. The library supports the
10177 multiple checkers, including Aspell and Hunspell.")
10178 (license license:public-domain))))
10179
10180 (define-public cl-enchant
10181 (sbcl-package->cl-source-package sbcl-enchant))
10182
10183 (define-public ecl-enchant
10184 (sbcl-package->ecl-package sbcl-enchant))
10185
10186 (define-public sbcl-cl-change-case
10187 (let ((commit "45c70b601125889689e0c1c37d7e727a3a0af022")
10188 (revision "1"))
10189 (package
10190 (name "sbcl-cl-change-case")
10191 (version (git-version "0.2.0" revision commit))
10192 (home-page "https://github.com/rudolfochrist/cl-change-case")
10193 (source
10194 (origin
10195 (method git-fetch)
10196 (uri (git-reference
10197 (url home-page)
10198 (commit commit)))
10199 (file-name (git-file-name "cl-change-case" version))
10200 (sha256
10201 (base32 "0qmk341zzcsbf8sq0w9ix3r080zg4ri6vzxym63lhdjfzwz3y8if"))))
10202 (build-system asdf-build-system/sbcl)
10203 (inputs
10204 `(("cl-ppcre" ,sbcl-cl-ppcre)
10205 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
10206 (native-inputs
10207 `(("fiveam" ,sbcl-fiveam)))
10208 (synopsis
10209 "Convert Common Lisp strings between camelCase, PascalCase and more")
10210 (description
10211 "@code{cl-change-case} is a library to convert strings between
10212 camelCase, PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
10213 (license license:llgpl))))
10214
10215 (define-public cl-change-case
10216 (sbcl-package->cl-source-package sbcl-cl-change-case))
10217
10218 (define-public ecl-cl-change-case
10219 (sbcl-package->ecl-package sbcl-cl-change-case))
10220
10221 (define-public sbcl-modularize
10222 (let ((commit "86c5d9a11fbd2df9f0f03ac10b5d71837c8934ba")
10223 (revision "1"))
10224 (package
10225 (name "sbcl-modularize")
10226 (version (git-version "1.0.0" revision commit))
10227 (source
10228 (origin
10229 (method git-fetch)
10230 (uri (git-reference
10231 (url "https://github.com/Shinmera/modularize")
10232 (commit commit)))
10233 (file-name (git-file-name name version))
10234 (sha256
10235 (base32 "1zys29rfkb649rkgl3snxhajk8d5yf7ryxkrwy020kwdh7zdsg7d"))))
10236 (build-system asdf-build-system/sbcl)
10237 (arguments
10238 `(#:test-asd-file "modularize-test-module.asd"
10239 #:asd-files '("modularize.asd" "modularize-test-module.asd")
10240 #:asd-systems '("modularize" "modularize-test-module")))
10241 (inputs
10242 `(("documentation-utils" ,sbcl-documentation-utils)
10243 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)))
10244 (home-page "https://shinmera.github.io/modularize/")
10245 (synopsis "Common Lisp modularization framework")
10246 (description
10247 "@code{MODULARIZE} is an attempt at providing a common interface to
10248 segregate major application components. This is achieved by adding special
10249 treatment to packages. Each module is a package that is specially registered,
10250 which allows it to interact and co-exist with other modules in better ways. For
10251 instance, by adding module definition options you can introduce mechanisms to
10252 tie modules together in functionality, hook into each other and so on.")
10253 (license license:zlib))))
10254
10255 (define-public ecl-modularize
10256 (sbcl-package->ecl-package sbcl-modularize))
10257
10258 (define-public cl-modularize
10259 (sbcl-package->cl-source-package sbcl-modularize))
10260
10261 (define-public sbcl-modularize-hooks
10262 (let ((commit "e0348ed3ffd59a9ec31ca4ab28289e748bfbf96a")
10263 (revision "1"))
10264 (package
10265 (name "sbcl-modularize-hooks")
10266 (version (git-version "1.0.2" revision commit))
10267 (source
10268 (origin
10269 (method git-fetch)
10270 (uri (git-reference
10271 (url "https://github.com/Shinmera/modularize-hooks")
10272 (commit commit)))
10273 (file-name (git-file-name "modularize-hooks" version))
10274 (sha256
10275 (base32 "12kjvin8hxidwkzfb7inqv5b6g5qzcssnj9wc497v2ixc56fqdz7"))))
10276 (build-system asdf-build-system/sbcl)
10277 (inputs
10278 `(("closer-mop" ,sbcl-closer-mop)
10279 ("lambda-fiddle" ,sbcl-lambda-fiddle)
10280 ("modularize" ,sbcl-modularize)
10281 ("trivial-arguments" ,sbcl-trivial-arguments)))
10282 (home-page "https://shinmera.github.io/modularize-hooks/")
10283 (synopsis "Generic hooks and triggers extension for Modularize")
10284 (description
10285 "This is a simple extension to @code{MODULARIZE} that allows modules to
10286 define and trigger hooks, which other modules can hook on to.")
10287 (license license:zlib))))
10288
10289 (define-public ecl-modularize-hooks
10290 (sbcl-package->ecl-package sbcl-modularize-hooks))
10291
10292 (define-public cl-modularize-hooks
10293 (sbcl-package->cl-source-package sbcl-modularize-hooks))
10294
10295 (define-public sbcl-modularize-interfaces
10296 (let ((commit "96353657afb8c7aeba7ef5b51eb04c5ed3bcb6ef")
10297 (revision "1"))
10298 (package
10299 (name "sbcl-modularize-interfaces")
10300 (version (git-version "0.9.3" revision commit))
10301 (source
10302 (origin
10303 (method git-fetch)
10304 (uri (git-reference
10305 (url "https://github.com/Shinmera/modularize-interfaces")
10306 (commit commit)))
10307 (file-name (git-file-name "modularize-interfaces" version))
10308 (sha256
10309 (base32 "0bjf4wy39cwf75m7vh0r7mmcchs09yz2lrbyap98hnq8blq70fhc"))))
10310 (build-system asdf-build-system/sbcl)
10311 (inputs
10312 `(("lambda-fiddle" ,sbcl-lambda-fiddle)
10313 ("modularize" ,sbcl-modularize)
10314 ("trivial-arguments" ,sbcl-trivial-arguments)
10315 ("trivial-indent" ,sbcl-trivial-indent)))
10316 (home-page "https://shinmera.github.io/modularize-interfaces/")
10317 (synopsis "Programmatical interfaces extension for Modularize")
10318 (description
10319 "This is an extension to @code{MODULARIZE} that allows your application
10320 to define interfaces in-code that serve both as a primary documentation and as
10321 compliance control.")
10322 (license license:zlib))))
10323
10324 (define-public ecl-modularize-interfaces
10325 (sbcl-package->ecl-package sbcl-modularize-interfaces))
10326
10327 (define-public cl-modularize-interfaces
10328 (sbcl-package->cl-source-package sbcl-modularize-interfaces))
10329
10330 (define-public sbcl-moptilities
10331 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
10332 (package
10333 (name "sbcl-moptilities")
10334 (version (git-version "0.3.13" "1" commit))
10335 (home-page "https://github.com/gwkkwg/moptilities/")
10336 (source
10337 (origin
10338 (method git-fetch)
10339 (uri (git-reference
10340 (url home-page)
10341 (commit commit)))
10342 (file-name (git-file-name name version))
10343 (sha256
10344 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
10345 (build-system asdf-build-system/sbcl)
10346 (inputs
10347 `(("closer-mop" ,sbcl-closer-mop)))
10348 (native-inputs
10349 `(("lift" ,sbcl-lift)))
10350 (arguments
10351 `(#:phases
10352 (modify-phases %standard-phases
10353 (add-after 'unpack 'fix-tests
10354 (lambda _
10355 (substitute* "lift-standard.config"
10356 ((":relative-to lift-test")
10357 ":relative-to moptilities-test"))
10358 #t)))))
10359 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
10360 (description
10361 "MOP utilities provide a common interface between Lisps and make the
10362 MOP easier to use.")
10363 (license license:expat))))
10364
10365 (define-public cl-moptilities
10366 (sbcl-package->cl-source-package sbcl-moptilities))
10367
10368 (define-public sbcl-osicat
10369 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
10370 (package
10371 (name "sbcl-osicat")
10372 (version (git-version "0.7.0" "1" commit))
10373 (home-page "http://www.common-lisp.net/project/osicat/")
10374 (source
10375 (origin
10376 (method git-fetch)
10377 (uri (git-reference
10378 (url "https://github.com/osicat/osicat")
10379 (commit commit)))
10380 (file-name (git-file-name name version))
10381 (sha256
10382 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
10383 (build-system asdf-build-system/sbcl)
10384 (inputs
10385 `(("alexandria" ,sbcl-alexandria)
10386 ("cffi" ,sbcl-cffi)
10387 ("trivial-features" ,sbcl-trivial-features)))
10388 (native-inputs
10389 `(("rt" ,sbcl-rt)))
10390 (synopsis "Operating system interface for Common Lisp")
10391 (description
10392 "Osicat is a lightweight operating system interface for Common Lisp on
10393 Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
10394 accompaniment to the standard ANSI facilities.")
10395 (license license:expat))))
10396
10397 (define-public cl-osicat
10398 (sbcl-package->cl-source-package sbcl-osicat))
10399
10400 (define-public ecl-osicat
10401 (sbcl-package->ecl-package sbcl-osicat))
10402
10403 (define-public sbcl-clx-xembed
10404 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
10405 (revision "1"))
10406 (package
10407 (name "sbcl-clx-xembed")
10408 (version (git-version "0.1" revision commit))
10409 (home-page "https://github.com/laynor/clx-xembed")
10410 (source
10411 (origin
10412 (method git-fetch)
10413 (uri (git-reference
10414 (url "https://github.com/laynor/clx-xembed")
10415 (commit commit)))
10416 (file-name (git-file-name name version))
10417 (sha256
10418 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
10419 (build-system asdf-build-system/sbcl)
10420 (arguments
10421 `(#:asd-systems '("xembed")))
10422 (inputs
10423 `(("sbcl-clx" ,sbcl-clx)))
10424 (synopsis "CL(x) xembed protocol implementation ")
10425 (description "CL(x) xembed protocol implementation")
10426 ;; MIT License
10427 (license license:expat))))
10428
10429 (define-public cl-clx-xembed
10430 (sbcl-package->cl-source-package sbcl-clx-xembed))
10431
10432 (define-public ecl-clx-xembed
10433 (sbcl-package->ecl-package sbcl-clx-xembed))
10434
10435 (define-public sbcl-quantile-estimator
10436 (package
10437 (name "sbcl-quantile-estimator")
10438 (version "0.0.1")
10439 (source
10440 (origin
10441 (method git-fetch)
10442 (uri (git-reference
10443 (url "https://github.com/deadtrickster/quantile-estimator.cl")
10444 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
10445 (file-name (git-file-name name version))
10446 (sha256
10447 (base32
10448 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
10449 (build-system asdf-build-system/sbcl)
10450 (arguments
10451 '(#:asd-files '("quantile-estimator.asd")))
10452 (inputs
10453 `(("alexandria" ,sbcl-alexandria)))
10454 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
10455 (synopsis
10456 "Effective computation of biased quantiles over data streams")
10457 (description
10458 "Common Lisp implementation of Graham Cormode and S.
10459 Muthukrishnan's Effective Computation of Biased Quantiles over Data
10460 Streams in ICDE’05.")
10461 (license license:expat)))
10462
10463 (define-public cl-quantile-estimator
10464 (sbcl-package->cl-source-package sbcl-quantile-estimator))
10465
10466 (define-public ecl-quantile-estimator
10467 (sbcl-package->ecl-package sbcl-quantile-estimator))
10468
10469 (define-public sbcl-prometheus
10470 (package
10471 (name "sbcl-prometheus")
10472 (version "0.4.1")
10473 (source
10474 (origin
10475 (method git-fetch)
10476 (uri (git-reference
10477 (url "https://github.com/deadtrickster/prometheus.cl")
10478 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
10479 (file-name (git-file-name name version))
10480 (sha256
10481 (base32
10482 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
10483 (build-system asdf-build-system/sbcl)
10484 (inputs
10485 `(("alexandria" ,sbcl-alexandria)
10486 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10487 ("cffi" ,sbcl-cffi)
10488 ("cl-fad" ,sbcl-cl-fad)
10489 ("cl-ppcre" ,sbcl-cl-ppcre)
10490 ("drakma" ,sbcl-drakma)
10491 ("hunchentoot" ,sbcl-hunchentoot)
10492 ("local-time" ,sbcl-local-time)
10493 ("quantile-estimator" ,sbcl-quantile-estimator)
10494 ("salza2" ,sbcl-salza2)
10495 ("split-sequence" ,sbcl-split-sequence)
10496 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10497 (arguments
10498 '(#:asd-files '("prometheus.asd"
10499 "prometheus.collectors.sbcl.asd"
10500 "prometheus.collectors.process.asd"
10501 "prometheus.formats.text.asd"
10502 "prometheus.exposers.hunchentoot.asd"
10503 "prometheus.pushgateway.asd")
10504 #:asd-systems '("prometheus"
10505 "prometheus.collectors.sbcl"
10506 "prometheus.collectors.process"
10507 "prometheus.formats.text"
10508 "prometheus.exposers.hunchentoot"
10509 "prometheus.pushgateway")))
10510 (home-page "https://github.com/deadtrickster/prometheus.cl")
10511 (synopsis "Prometheus.io Common Lisp client")
10512 (description "Prometheus.io Common Lisp client.")
10513 (license license:expat)))
10514
10515 (define-public cl-prometheus
10516 (sbcl-package->cl-source-package sbcl-prometheus))
10517
10518 (define-public ecl-prometheus
10519 (sbcl-package->ecl-package sbcl-prometheus))
10520
10521 (define-public sbcl-uuid
10522 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
10523 (package
10524 (name "sbcl-uuid")
10525 (version (git-version "2012.12.26" "1" commit))
10526 (source
10527 (origin
10528 (method git-fetch)
10529 (uri (git-reference
10530 (url "https://github.com/dardoria/uuid")
10531 (commit commit)))
10532 (file-name (git-file-name name version))
10533 (sha256
10534 (base32
10535 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
10536 (build-system asdf-build-system/sbcl)
10537 (inputs
10538 `(("ironclad" ,sbcl-ironclad)
10539 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10540 (home-page "https://github.com/dardoria/uuid")
10541 (synopsis
10542 "Common Lisp implementation of UUIDs according to RFC4122")
10543 (description
10544 "Common Lisp implementation of UUIDs according to RFC4122.")
10545 (license license:llgpl))))
10546
10547 (define-public cl-uuid
10548 (sbcl-package->cl-source-package sbcl-uuid))
10549
10550 (define-public ecl-uuid
10551 (sbcl-package->ecl-package sbcl-uuid))
10552
10553 (define-public sbcl-dissect
10554 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
10555 (package
10556 (name "sbcl-dissect")
10557 (version (git-version "1.0.0" "1" commit))
10558 (source
10559 (origin
10560 (method git-fetch)
10561 (uri (git-reference
10562 (url "https://github.com/Shinmera/dissect")
10563 (commit commit)))
10564 (file-name (git-file-name name version))
10565 (sha256
10566 (base32
10567 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
10568 (build-system asdf-build-system/sbcl)
10569 (inputs
10570 `(("cl-ppcre" ,sbcl-cl-ppcre)))
10571 (home-page "https://shinmera.github.io/dissect/")
10572 (synopsis
10573 "Introspection library for the call stack and restarts")
10574 (description
10575 "Dissect is a small Common Lisp library for introspecting the call stack
10576 and active restarts.")
10577 (license license:zlib))))
10578
10579 (define-public cl-dissect
10580 (sbcl-package->cl-source-package sbcl-dissect))
10581
10582 (define-public ecl-dissect
10583 (sbcl-package->ecl-package sbcl-dissect))
10584
10585 (define-public sbcl-rove
10586 (package
10587 (name "sbcl-rove")
10588 (version "0.9.6")
10589 (source
10590 (origin
10591 (method git-fetch)
10592 (uri (git-reference
10593 (url "https://github.com/fukamachi/rove")
10594 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
10595 (file-name (git-file-name name version))
10596 (sha256
10597 (base32
10598 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
10599 (build-system asdf-build-system/sbcl)
10600 (inputs
10601 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10602 ("dissect" ,sbcl-dissect)
10603 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
10604 (home-page "https://github.com/fukamachi/rove")
10605 (synopsis
10606 "Yet another common lisp testing library")
10607 (description
10608 "Rove is a unit testing framework for Common Lisp applications.
10609 This is intended to be a successor of Prove.")
10610 (license license:bsd-3)))
10611
10612 (define-public cl-rove
10613 (sbcl-package->cl-source-package sbcl-rove))
10614
10615 (define-public ecl-rove
10616 (sbcl-package->ecl-package sbcl-rove))
10617
10618 (define-public sbcl-exponential-backoff
10619 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
10620 (package
10621 (name "sbcl-exponential-backoff")
10622 (version (git-version "0" "1" commit))
10623 (source
10624 (origin
10625 (method git-fetch)
10626 (uri (git-reference
10627 (url "https://github.com/death/exponential-backoff")
10628 (commit commit)))
10629 (file-name (git-file-name name version))
10630 (sha256
10631 (base32
10632 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
10633 (build-system asdf-build-system/sbcl)
10634 (home-page "https://github.com/death/exponential-backoff")
10635 (synopsis "Exponential backoff algorithm in Common Lisp")
10636 (description
10637 "An implementation of the exponential backoff algorithm in Common Lisp.
10638 Inspired by the implementation found in Chromium. Read the header file to
10639 learn about each of the parameters.")
10640 (license license:expat))))
10641
10642 (define-public cl-exponential-backoff
10643 (sbcl-package->cl-source-package sbcl-exponential-backoff))
10644
10645 (define-public ecl-exponential-backoff
10646 (sbcl-package->ecl-package sbcl-exponential-backoff))
10647
10648 (define-public sbcl-sxql
10649 (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
10650 (package
10651 (name "sbcl-sxql")
10652 (version (git-version "0.1.0" "1" commit))
10653 (source
10654 (origin
10655 (method git-fetch)
10656 (uri (git-reference
10657 (url "https://github.com/fukamachi/sxql")
10658 (commit commit)))
10659 (file-name (git-file-name name version))
10660 (sha256
10661 (base32
10662 "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
10663 (build-system asdf-build-system/sbcl)
10664 (arguments
10665 `(#:test-asd-file "sxql-test.asd"))
10666 (inputs
10667 `(("alexandria" ,sbcl-alexandria)
10668 ("cl-syntax" ,sbcl-cl-syntax)
10669 ("iterate" ,sbcl-iterate)
10670 ("optima" ,sbcl-optima)
10671 ("split-sequence" ,sbcl-split-sequence)
10672 ("trivial-types" ,sbcl-trivial-types)))
10673 (native-inputs
10674 `(("prove" ,sbcl-prove)))
10675 (home-page "https://github.com/fukamachi/sxql")
10676 (synopsis "SQL generator for Common Lisp")
10677 (description "SQL generator for Common Lisp.")
10678 (license license:bsd-3))))
10679
10680 (define-public cl-sxql
10681 (sbcl-package->cl-source-package sbcl-sxql))
10682
10683 (define-public ecl-sxql
10684 (sbcl-package->ecl-package sbcl-sxql))
10685
10686 (define-public sbcl-1am
10687 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
10688 (package
10689 (name "sbcl-1am")
10690 (version (git-version "0.0" "1" commit))
10691 (source
10692 (origin
10693 (method git-fetch)
10694 (uri (git-reference
10695 (url "https://github.com/lmj/1am")
10696 (commit commit)))
10697 (file-name (git-file-name name version))
10698 (sha256
10699 (base32
10700 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
10701 (build-system asdf-build-system/sbcl)
10702 (arguments
10703 `(#:asd-systems '("1am")))
10704 (home-page "https://github.com/lmj/1am")
10705 (synopsis "Minimal testing framework for Common Lisp")
10706 (description "A minimal testing framework for Common Lisp.")
10707 (license license:expat))))
10708
10709 (define-public cl-1am
10710 (sbcl-package->cl-source-package sbcl-1am))
10711
10712 (define-public ecl-1am
10713 (sbcl-package->ecl-package sbcl-1am))
10714
10715 (define-public sbcl-cl-ascii-table
10716 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
10717 (revision "1"))
10718 (package
10719 (name "sbcl-cl-ascii-table")
10720 (version (git-version "0.0.0" revision commit))
10721 (source
10722 (origin
10723 (method git-fetch)
10724 (uri (git-reference
10725 (url "https://github.com/telephil/cl-ascii-table")
10726 (commit commit)))
10727 (file-name (git-file-name name version))
10728 (sha256
10729 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
10730 (build-system asdf-build-system/sbcl)
10731 (synopsis "Library to make ascii-art tables")
10732 (description
10733 "This is a Common Lisp library to present tabular data in ascii-art
10734 tables.")
10735 (home-page "https://github.com/telephil/cl-ascii-table")
10736 (license license:expat))))
10737
10738 (define-public cl-ascii-table
10739 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
10740
10741 (define-public ecl-cl-ascii-table
10742 (sbcl-package->ecl-package sbcl-cl-ascii-table))
10743
10744 (define-public sbcl-cl-rdkafka
10745 (package
10746 (name "sbcl-cl-rdkafka")
10747 (version "1.1.0")
10748 (source
10749 (origin
10750 (method git-fetch)
10751 (uri (git-reference
10752 (url "https://github.com/SahilKang/cl-rdkafka")
10753 (commit (string-append "v" version))))
10754 (file-name (git-file-name name version))
10755 (sha256
10756 (base32
10757 "0z2g0k0xy8k1p9g93h8dy9wbygaq7ziwagm4yz93zk67mhc0b84v"))))
10758 (build-system asdf-build-system/sbcl)
10759 (arguments
10760 `(#:tests? #f ; Attempts to connect to locally running Kafka
10761 #:phases
10762 (modify-phases %standard-phases
10763 (add-after 'unpack 'fix-paths
10764 (lambda* (#:key inputs #:allow-other-keys)
10765 (substitute* "src/low-level/librdkafka-bindings.lisp"
10766 (("librdkafka" all)
10767 (string-append (assoc-ref inputs "librdkafka") "/lib/"
10768 all))))))))
10769 (inputs
10770 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10771 ("cffi" ,sbcl-cffi)
10772 ("librdkafka" ,librdkafka)
10773 ("lparallel" ,sbcl-lparallel)
10774 ("trivial-garbage" ,sbcl-trivial-garbage)))
10775 (home-page "https://github.com/SahilKang/cl-rdkafka")
10776 (synopsis "Common Lisp client library for Apache Kafka")
10777 (description "A Common Lisp client library for Apache Kafka.")
10778 (license license:gpl3)))
10779
10780 (define-public cl-rdkafka
10781 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
10782
10783 (define-public ecl-cl-rdkafka
10784 (sbcl-package->ecl-package sbcl-cl-rdkafka))
10785
10786 (define-public sbcl-acclimation
10787 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
10788 (package
10789 (name "sbcl-acclimation")
10790 (version (git-version "0.0.0" "1" commit))
10791 (source
10792 (origin
10793 (method git-fetch)
10794 (uri (git-reference
10795 (url "https://github.com/robert-strandh/Acclimation")
10796 (commit commit)))
10797 (file-name (git-file-name name version))
10798 (sha256
10799 (base32
10800 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
10801 (build-system asdf-build-system/sbcl)
10802 (home-page "https://github.com/robert-strandh/Acclimation")
10803 (synopsis "Internationalization library for Common Lisp")
10804 (description "This project is meant to provide tools for
10805 internationalizing Common Lisp programs.
10806
10807 One important aspect of internationalization is of course the language used in
10808 error messages, documentation strings, etc. But with this project we provide
10809 tools for all other aspects of internationalization as well, including dates,
10810 weight, temperature, names of physical quantitites, etc.")
10811 (license license:bsd-2))))
10812
10813 (define-public cl-acclimation
10814 (sbcl-package->cl-source-package sbcl-acclimation))
10815
10816 (define-public ecl-acclimation
10817 (sbcl-package->ecl-package sbcl-acclimation))
10818
10819 (define-public sbcl-clump
10820 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
10821 (package
10822 (name "sbcl-clump")
10823 (version (git-version "0.0.0" "1" commit))
10824 (source
10825 (origin
10826 (method git-fetch)
10827 (uri (git-reference
10828 (url "https://github.com/robert-strandh/Clump")
10829 (commit commit)))
10830 (file-name (git-file-name name version))
10831 (sha256
10832 (base32
10833 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
10834 (inputs
10835 `(("acclimation" ,sbcl-acclimation)))
10836 (build-system asdf-build-system/sbcl)
10837 (home-page "https://github.com/robert-strandh/Clump")
10838 (synopsis "Collection of tree implementations for Common Lisp")
10839 (description "The purpose of this library is to provide a collection of
10840 implementations of trees.
10841
10842 In contrast to existing libraries such as cl-containers, it does not impose a
10843 particular use for the trees. Instead, it aims for a stratified design,
10844 allowing client code to choose between different levels of abstraction.
10845
10846 As a consequence of this policy, low-level interfaces are provided where
10847 the concrete representation is exposed, but also high level interfaces
10848 where the trees can be used as search trees or as trees that represent
10849 sequences of objects.")
10850 (license license:bsd-2))))
10851
10852 (define-public cl-clump
10853 (sbcl-package->cl-source-package sbcl-clump))
10854
10855 (define-public ecl-clump
10856 (sbcl-package->ecl-package sbcl-clump))
10857
10858 (define-public sbcl-cluffer
10859 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
10860 (package
10861 (name "sbcl-cluffer")
10862 (version (git-version "0.0.0" "1" commit))
10863 (source
10864 (origin
10865 (method git-fetch)
10866 (uri (git-reference
10867 (url "https://github.com/robert-strandh/cluffer")
10868 (commit commit)))
10869 (file-name (git-file-name name version))
10870 (sha256
10871 (base32
10872 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
10873 (build-system asdf-build-system/sbcl)
10874 (inputs
10875 `(("acclimation" ,sbcl-acclimation)
10876 ("clump" ,sbcl-clump)))
10877 (home-page "https://github.com/robert-strandh/cluffer")
10878 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
10879 (description "Cluffer is a library for representing the buffer of a text
10880 editor. As such, it defines a set of CLOS protocols for client code to
10881 interact with the buffer contents in various ways, and it supplies different
10882 implementations of those protocols for different purposes.")
10883 (license license:bsd-2))))
10884
10885 (define-public cl-cluffer
10886 (sbcl-package->cl-source-package sbcl-cluffer))
10887
10888 (define-public ecl-cluffer
10889 (sbcl-package->ecl-package sbcl-cluffer))
10890
10891 (define-public sbcl-cl-libsvm-format
10892 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
10893 (revision "0"))
10894 (package
10895 (name "sbcl-cl-libsvm-format")
10896 (version (git-version "0.1.0" revision commit))
10897 (source
10898 (origin
10899 (method git-fetch)
10900 (uri (git-reference
10901 (url "https://github.com/masatoi/cl-libsvm-format")
10902 (commit commit)))
10903 (file-name (git-file-name name version))
10904 (sha256
10905 (base32
10906 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
10907 (build-system asdf-build-system/sbcl)
10908 (native-inputs
10909 `(("prove" ,sbcl-prove)))
10910 (inputs
10911 `(("alexandria" ,sbcl-alexandria)))
10912 (synopsis "LibSVM data format reader for Common Lisp")
10913 (description
10914 "This Common Lisp library provides a fast reader for data in LibSVM
10915 format.")
10916 (home-page "https://github.com/masatoi/cl-libsvm-format")
10917 (license license:expat))))
10918
10919 (define-public cl-libsvm-format
10920 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
10921
10922 (define-public ecl-cl-libsvm-format
10923 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
10924
10925 (define-public sbcl-cl-online-learning
10926 (let ((commit "87fbef8a340219e853adb3a5bf44a0470da76964")
10927 (revision "1"))
10928 (package
10929 (name "sbcl-cl-online-learning")
10930 (version (git-version "0.5" revision commit))
10931 (source
10932 (origin
10933 (method git-fetch)
10934 (uri (git-reference
10935 (url "https://github.com/masatoi/cl-online-learning")
10936 (commit commit)))
10937 (file-name (git-file-name "cl-online-learning" version))
10938 (sha256
10939 (base32
10940 "1lfq04lnxivx59nq5dd02glyqsqzf3vdn4s9b8wnaln5fs8g2ph9"))))
10941 (build-system asdf-build-system/sbcl)
10942 (native-inputs
10943 `(("prove" ,sbcl-prove)))
10944 (inputs
10945 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
10946 ("cl-store" ,sbcl-cl-store)))
10947 (arguments
10948 `(#:test-asd-file "cl-online-learning-test.asd"
10949 #:asd-systems '("cl-online-learning-test"
10950 "cl-online-learning")))
10951 (home-page "https://github.com/masatoi/cl-online-learning")
10952 (synopsis "Online Machine Learning for Common Lisp")
10953 (description
10954 "This library contains a collection of machine learning algorithms for
10955 online linear classification written in Common Lisp.")
10956 (license license:expat))))
10957
10958 (define-public cl-online-learning
10959 (sbcl-package->cl-source-package sbcl-cl-online-learning))
10960
10961 (define-public ecl-cl-online-learning
10962 (sbcl-package->ecl-package sbcl-cl-online-learning))
10963
10964 (define-public sbcl-cl-mpg123
10965 (let ((commit "5f042c839d2ea4a2ff2a7b60c839d8633d64161d")
10966 (revision "1"))
10967 (package
10968 (name "sbcl-cl-mpg123")
10969 (version (git-version "1.0.0" revision commit))
10970 (source
10971 (origin
10972 (method git-fetch)
10973 (uri (git-reference
10974 (url "https://github.com/Shirakumo/cl-mpg123")
10975 (commit commit)))
10976 (file-name (git-file-name "cl-mpg123" version))
10977 (sha256
10978 (base32 "1hl721xaczxck008ax2y3jpkm509ry1sg3lklh2k76764m3ndrjf"))
10979 (modules '((guix build utils)))
10980 (snippet
10981 '(begin
10982 ;; Remove bundled pre-compiled libraries.
10983 (delete-file-recursively "static")
10984 #t))))
10985 (build-system asdf-build-system/sbcl)
10986 (arguments
10987 `(#:asd-files '("cl-mpg123.asd" "cl-mpg123-example.asd")
10988 #:asd-systems '("cl-mpg123" "cl-mpg123-example")
10989 #:phases
10990 (modify-phases %standard-phases
10991 (add-after 'unpack 'fix-paths
10992 (lambda* (#:key inputs #:allow-other-keys)
10993 (substitute* "low-level.lisp"
10994 (("libmpg123.so" all)
10995 (string-append (assoc-ref inputs "libmpg123")
10996 "/lib/" all))))))))
10997 (inputs
10998 `(("cffi" ,sbcl-cffi)
10999 ("cl-out123" ,sbcl-cl-out123)
11000 ("documentation-utils" ,sbcl-documentation-utils)
11001 ("libmpg123" ,mpg123)
11002 ("trivial-features" ,sbcl-trivial-features)
11003 ("trivial-garbage" ,sbcl-trivial-garbage)
11004 ("verbose" ,sbcl-verbose)))
11005 (home-page "https://shirakumo.github.io/cl-mpg123/")
11006 (synopsis "Common Lisp bindings to libmpg123")
11007 (description
11008 "This is a bindings and wrapper library to @code{libmpg123} allowing for
11009 convenient, extensive, and fast decoding of MPEG1/2/3 (most prominently mp3)
11010 files.")
11011 (license license:zlib))))
11012
11013 (define-public ecl-cl-mpg123
11014 (sbcl-package->ecl-package sbcl-cl-mpg123))
11015
11016 (define-public cl-mpg123
11017 (sbcl-package->cl-source-package sbcl-cl-mpg123))
11018
11019 (define-public sbcl-cl-out123
11020 (let ((commit "6b58d3f8c2a28ad09059ac4c60fb3c781b9b421b")
11021 (revision "1"))
11022 (package
11023 (name "sbcl-cl-out123")
11024 (version (git-version "1.0.0" revision commit))
11025 (source
11026 (origin
11027 (method git-fetch)
11028 (uri (git-reference
11029 (url "https://github.com/Shirakumo/cl-out123")
11030 (commit commit)))
11031 (file-name (git-file-name "cl-out123" version))
11032 (sha256
11033 (base32 "0mdwgfax6sq68wvdgjjp78i40ah7wqkpqnvaq8a1c509k7ghdgv1"))
11034 (modules '((guix build utils)))
11035 (snippet
11036 '(begin
11037 ;; Remove bundled pre-compiled libraries.
11038 (delete-file-recursively "static")
11039 #t))))
11040 (build-system asdf-build-system/sbcl)
11041 (arguments
11042 `(#:phases
11043 (modify-phases %standard-phases
11044 (add-after 'unpack 'fix-paths
11045 (lambda* (#:key inputs #:allow-other-keys)
11046 (substitute* "low-level.lisp"
11047 (("libout123.so" all)
11048 (string-append (assoc-ref inputs "libout123")
11049 "/lib/" all)))))
11050 ;; NOTE: (Sharlatan-20210129T134529+0000): ECL package `ext' has no
11051 ;; exported macro `without-interrupts' it's moved to `mp' package
11052 ;; https://github.com/Shirakumo/cl-out123/issues/2
11053 ;; https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/src/lsp/mp.lsp
11054 (add-after 'unpack 'fix-ecl-package-name
11055 (lambda _
11056 (substitute* "wrapper.lisp"
11057 (("ext:without-interrupts.*") "mp:without-interrupts\n"))
11058 #t)))))
11059 (inputs
11060 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11061 ("cffi" ,sbcl-cffi)
11062 ("documentation-utils" ,sbcl-documentation-utils)
11063 ("libout123" ,mpg123)
11064 ("trivial-features" ,sbcl-trivial-features)
11065 ("trivial-garbage" ,sbcl-trivial-garbage)))
11066 (home-page "https://shirakumo.github.io/cl-out123/")
11067 (synopsis "Common Lisp bindings to libout123")
11068 (description
11069 "This is a bindings library to @code{libout123} which allows easy
11070 cross-platform audio playback.")
11071 (license license:zlib))))
11072
11073 (define-public ecl-cl-out123
11074 (sbcl-package->ecl-package sbcl-cl-out123))
11075
11076 (define-public cl-out123
11077 (sbcl-package->cl-source-package sbcl-cl-out123))
11078
11079 (define-public sbcl-cl-random-forest
11080 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
11081 (revision "1"))
11082 (package
11083 (name "sbcl-cl-random-forest")
11084 (version (git-version "0.1" revision commit))
11085 (source
11086 (origin
11087 (method git-fetch)
11088 (uri (git-reference
11089 (url "https://github.com/masatoi/cl-random-forest")
11090 (commit commit)))
11091 (file-name (git-file-name name version))
11092 (sha256
11093 (base32
11094 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
11095 (build-system asdf-build-system/sbcl)
11096 (native-inputs
11097 `(("prove" ,sbcl-prove)
11098 ("trivial-garbage" ,sbcl-trivial-garbage)))
11099 (inputs
11100 `(("alexandria" ,sbcl-alexandria)
11101 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11102 ("cl-online-learning" ,sbcl-cl-online-learning)
11103 ("lparallel" ,sbcl-lparallel)))
11104 (arguments
11105 `(#:tests? #f)) ; The tests download data from the Internet
11106 (synopsis "Random Forest and Global Refinement for Common Lisp")
11107 (description
11108 "CL-random-forest is an implementation of Random Forest for multiclass
11109 classification and univariate regression written in Common Lisp. It also
11110 includes an implementation of Global Refinement of Random Forest.")
11111 (home-page "https://github.com/masatoi/cl-random-forest")
11112 (license license:expat))))
11113
11114 (define-public cl-random-forest
11115 (sbcl-package->cl-source-package sbcl-cl-random-forest))
11116
11117 (define-public ecl-cl-random-forest
11118 (sbcl-package->ecl-package sbcl-cl-random-forest))
11119
11120 (define-public sbcl-bordeaux-fft
11121 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
11122 (revision "0"))
11123 (package
11124 (name "sbcl-bordeaux-fft")
11125 (version (git-version "1.0.1" revision commit))
11126 (source
11127 (origin
11128 (method git-fetch)
11129 (uri (git-reference
11130 (url "https://github.com/ahefner/bordeaux-fft")
11131 (commit commit)))
11132 (file-name (git-file-name name version))
11133 (sha256
11134 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
11135 (build-system asdf-build-system/sbcl)
11136 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
11137 (synopsis "Fast Fourier Transform for Common Lisp")
11138 (description
11139 "The Bordeaux-FFT library provides a reasonably efficient implementation
11140 of the Fast Fourier Transform and its inverse for complex-valued inputs, in
11141 portable Common Lisp.")
11142 (license license:gpl2+))))
11143
11144 (define-public cl-bordeaux-fft
11145 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
11146
11147 (define-public ecl-bordeaux-fft
11148 (sbcl-package->ecl-package sbcl-bordeaux-fft))
11149
11150 (define-public sbcl-napa-fft3
11151 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
11152 (revision "0"))
11153 (package
11154 (name "sbcl-napa-fft3")
11155 (version (git-version "0.0.1" revision commit))
11156 (source
11157 (origin
11158 (method git-fetch)
11159 (uri (git-reference
11160 (url "https://github.com/pkhuong/Napa-FFT3")
11161 (commit commit)))
11162 (file-name (git-file-name name version))
11163 (sha256
11164 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
11165 (build-system asdf-build-system/sbcl)
11166 (home-page "https://github.com/pkhuong/Napa-FFT3")
11167 (synopsis "Fast Fourier Transform routines in Common Lisp")
11168 (description
11169 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
11170 buildings blocks to express common operations that involve DFTs: filtering,
11171 convolutions, etc.")
11172 (license license:bsd-3))))
11173
11174 (define-public cl-napa-fft3
11175 (sbcl-package->cl-source-package sbcl-napa-fft3))
11176
11177 (define-public sbcl-cl-tga
11178 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
11179 (revision "0"))
11180 (package
11181 (name "sbcl-cl-tga")
11182 (version (git-version "0.0.0" revision commit))
11183 (source
11184 (origin
11185 (method git-fetch)
11186 (uri (git-reference
11187 (url "https://github.com/fisxoj/cl-tga")
11188 (commit commit)))
11189 (file-name (git-file-name name version))
11190 (sha256
11191 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
11192 (build-system asdf-build-system/sbcl)
11193 (home-page "https://github.com/fisxoj/cl-tga")
11194 (synopsis "TGA file loader for Common Lisp")
11195 (description
11196 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
11197 programs. It's a very simple library, and, at the moment, only supports
11198 non-RLE encoded forms of the files.")
11199 (license license:expat))))
11200
11201 (define-public cl-tga
11202 (sbcl-package->cl-source-package sbcl-cl-tga))
11203
11204 (define-public ecl-cl-tga
11205 (sbcl-package->ecl-package sbcl-cl-tga))
11206
11207 (define-public sbcl-com.gigamonkeys.binary-data
11208 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
11209 (revision "0"))
11210 (package
11211 (name "sbcl-com.gigamonkeys.binary-data")
11212 (version (git-version "0.0.0" revision commit))
11213 (source
11214 (origin
11215 (method git-fetch)
11216 (uri (git-reference
11217 (url "https://github.com/gigamonkey/monkeylib-binary-data")
11218 (commit commit)))
11219 (file-name (git-file-name name version))
11220 (sha256
11221 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
11222 (build-system asdf-build-system/sbcl)
11223 (inputs
11224 `(("alexandria" ,sbcl-alexandria)))
11225 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
11226 (synopsis "Common Lisp library for reading and writing binary data")
11227 (description
11228 "This a Common Lisp library for reading and writing binary data. It is
11229 based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
11230 (license license:bsd-3))))
11231
11232 (define-public cl-com.gigamonkeys.binary-data
11233 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
11234
11235 (define-public ecl-com.gigamonkeys.binary-data
11236 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
11237
11238 (define-public sbcl-deflate
11239 (package
11240 (name "sbcl-deflate")
11241 (version "1.0.3")
11242 (source
11243 (origin
11244 (method git-fetch)
11245 (uri (git-reference
11246 (url "https://github.com/pmai/Deflate")
11247 (commit (string-append "release-" version))))
11248 (file-name (git-file-name name version))
11249 (sha256
11250 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
11251 (build-system asdf-build-system/sbcl)
11252 (home-page "https://github.com/pmai/Deflate")
11253 (synopsis "Native deflate decompression for Common Lisp")
11254 (description
11255 "This library is an implementation of Deflate (RFC 1951) decompression,
11256 with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
11257 wrappers of deflate streams. It currently does not handle compression.")
11258 (license license:expat)))
11259
11260 (define-public cl-deflate
11261 (sbcl-package->cl-source-package sbcl-deflate))
11262
11263 (define-public ecl-deflate
11264 (sbcl-package->ecl-package sbcl-deflate))
11265
11266 (define-public sbcl-skippy
11267 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
11268 (revision "0"))
11269 (package
11270 (name "sbcl-skippy")
11271 (version (git-version "1.3.12" revision commit))
11272 (source
11273 (origin
11274 (method git-fetch)
11275 (uri (git-reference
11276 (url "https://github.com/xach/skippy")
11277 (commit commit)))
11278 (file-name (git-file-name name version))
11279 (sha256
11280 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
11281 (build-system asdf-build-system/sbcl)
11282 (home-page "https://xach.com/lisp/skippy/")
11283 (synopsis "Common Lisp library for GIF images")
11284 (description
11285 "Skippy is a Common Lisp library to read and write GIF image files.")
11286 (license license:bsd-2))))
11287
11288 (define-public cl-skippy
11289 (sbcl-package->cl-source-package sbcl-skippy))
11290
11291 (define-public ecl-skippy
11292 (sbcl-package->ecl-package sbcl-skippy))
11293
11294 (define-public sbcl-cl-freetype2
11295 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
11296 (revision "0"))
11297 (package
11298 (name "sbcl-cl-freetype2")
11299 (version (git-version "1.1" revision commit))
11300 (source
11301 (origin
11302 (method git-fetch)
11303 (uri (git-reference
11304 (url "https://github.com/rpav/cl-freetype2")
11305 (commit commit)))
11306 (file-name (git-file-name name version))
11307 (sha256
11308 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
11309 (build-system asdf-build-system/sbcl)
11310 (native-inputs
11311 `(("fiveam" ,sbcl-fiveam)))
11312 (inputs
11313 `(("alexandria" ,sbcl-alexandria)
11314 ("cffi" ,sbcl-cffi)
11315 ("freetype" ,freetype)
11316 ("trivial-garbage" ,sbcl-trivial-garbage)))
11317 (arguments
11318 `(#:phases
11319 (modify-phases %standard-phases
11320 (add-after 'unpack 'fix-paths
11321 (lambda* (#:key inputs #:allow-other-keys)
11322 (substitute* "src/ffi/ft2-lib.lisp"
11323 (("\"libfreetype\"")
11324 (string-append "\"" (assoc-ref inputs "freetype")
11325 "/lib/libfreetype\"")))
11326 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
11327 (("-I/usr/include/freetype")
11328 (string-append "-I" (assoc-ref inputs "freetype")
11329 "/include/freetype")))
11330 #t)))))
11331 (home-page "https://github.com/rpav/cl-freetype2")
11332 (synopsis "Common Lisp bindings for Freetype 2")
11333 (description
11334 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
11335 geared toward both using Freetype directly by providing a simplified API, as
11336 well as providing access to the underlying C structures and functions for use
11337 with other libraries which may also use Freetype.")
11338 (license license:bsd-3))))
11339
11340 (define-public cl-freetype2
11341 (sbcl-package->cl-source-package sbcl-cl-freetype2))
11342
11343 (define-public ecl-cl-freetype2
11344 (sbcl-package->ecl-package sbcl-cl-freetype2))
11345
11346 (define-public sbcl-opticl-core
11347 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
11348 (revision "0"))
11349 (package
11350 (name "sbcl-opticl-core")
11351 (version (git-version "0.0.0" revision commit))
11352 (source
11353 (origin
11354 (method git-fetch)
11355 (uri (git-reference
11356 (url "https://github.com/slyrus/opticl-core")
11357 (commit commit)))
11358 (file-name (git-file-name name version))
11359 (sha256
11360 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
11361 (build-system asdf-build-system/sbcl)
11362 (inputs
11363 `(("alexandria" ,sbcl-alexandria)))
11364 (home-page "https://github.com/slyrus/opticl-core")
11365 (synopsis "Core classes and pixel access macros for Opticl")
11366 (description
11367 "This Common Lisp library contains the core classes and pixel access
11368 macros for the Opticl image processing library.")
11369 (license license:bsd-2))))
11370
11371 (define-public cl-opticl-core
11372 (sbcl-package->cl-source-package sbcl-opticl-core))
11373
11374 (define-public ecl-opticl-core
11375 (sbcl-package->ecl-package sbcl-opticl-core))
11376
11377 (define-public sbcl-retrospectiff
11378 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
11379 (revision "0"))
11380 (package
11381 (name "sbcl-retrospectiff")
11382 (version (git-version "0.2" revision commit))
11383 (source
11384 (origin
11385 (method git-fetch)
11386 (uri (git-reference
11387 (url "https://github.com/slyrus/retrospectiff")
11388 (commit commit)))
11389 (file-name (git-file-name name version))
11390 (sha256
11391 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
11392 (build-system asdf-build-system/sbcl)
11393 (native-inputs
11394 `(("fiveam" ,sbcl-fiveam)))
11395 (inputs
11396 `(("cl-jpeg" ,sbcl-cl-jpeg)
11397 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
11398 ("deflate" ,sbcl-deflate)
11399 ("flexi-streams" ,sbcl-flexi-streams)
11400 ("ieee-floats" ,sbcl-ieee-floats)
11401 ("opticl-core" ,sbcl-opticl-core)))
11402 (home-page "https://github.com/slyrus/retrospectiff")
11403 (synopsis "Common Lisp library for TIFF images")
11404 (description
11405 "Retrospectiff is a common lisp library for reading and writing images
11406 in the TIFF (Tagged Image File Format) format.")
11407 (license license:bsd-2))))
11408
11409 (define-public cl-retrospectif
11410 (sbcl-package->cl-source-package sbcl-retrospectiff))
11411
11412 (define-public ecl-retrospectiff
11413 (sbcl-package->ecl-package sbcl-retrospectiff))
11414
11415 (define-public sbcl-mmap
11416 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
11417 (revision "0"))
11418 (package
11419 (name "sbcl-mmap")
11420 (version (git-version "1.0.0" revision commit))
11421 (source
11422 (origin
11423 (method git-fetch)
11424 (uri (git-reference
11425 (url "https://github.com/Shinmera/mmap")
11426 (commit commit)))
11427 (file-name (git-file-name name version))
11428 (sha256
11429 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
11430 (build-system asdf-build-system/sbcl)
11431 (native-inputs
11432 `(("alexandria" ,sbcl-alexandria)
11433 ("cffi" ,sbcl-cffi)
11434 ("parachute" ,sbcl-parachute)
11435 ("trivial-features" ,sbcl-trivial-features)))
11436 (inputs
11437 `(("cffi" ,sbcl-cffi)
11438 ("documentation-utils" ,sbcl-documentation-utils)))
11439 (home-page "https://shinmera.github.io/mmap/")
11440 (synopsis "File memory mapping for Common Lisp")
11441 (description
11442 "This is a utility library providing access to the @emph{mmap} family of
11443 functions in a portable way. It allows you to directly map a file into the
11444 address space of your process without having to manually read it into memory
11445 sequentially. Typically this is much more efficient for files that are larger
11446 than a few Kb.")
11447 (license license:zlib))))
11448
11449 (define-public cl-mmap
11450 (sbcl-package->cl-source-package sbcl-mmap))
11451
11452 (define-public ecl-mmap
11453 (sbcl-package->ecl-package sbcl-mmap))
11454
11455 (define-public sbcl-3bz
11456 (let ((commit "569614c40408f3aefc77ba233e0e4bd66d3850ad")
11457 (revision "1"))
11458 (package
11459 (name "sbcl-3bz")
11460 (version (git-version "0.0.0" revision commit))
11461 (source
11462 (origin
11463 (method git-fetch)
11464 (uri (git-reference
11465 (url "https://github.com/3b/3bz")
11466 (commit commit)))
11467 (file-name (git-file-name name version))
11468 (sha256
11469 (base32 "0kvvlvf50jhhw1s510f3clpr1a68632bq6d698yxcrx722igcrg4"))))
11470 (build-system asdf-build-system/sbcl)
11471 (inputs
11472 `(("alexandria" ,sbcl-alexandria)
11473 ("babel" ,sbcl-babel)
11474 ("cffi" ,sbcl-cffi)
11475 ("mmap" ,sbcl-mmap)
11476 ("nibbles" ,sbcl-nibbles)
11477 ("trivial-features" ,sbcl-trivial-features)))
11478 (arguments
11479 ;; FIXME: #41437 - Build fails when package name starts from a digit
11480 `(#:asd-systems '("3bz")))
11481 (home-page "https://github.com/3b/3bz")
11482 (synopsis "Deflate decompression for Common Lisp")
11483 (description
11484 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
11485 with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
11486 foreign pointers (for use with mmap and similar, etc), and from CL octet
11487 vectors and streams.")
11488 (license license:expat))))
11489
11490 (define-public cl-3bz
11491 (sbcl-package->cl-source-package sbcl-3bz))
11492
11493 (define-public ecl-3bz
11494 (sbcl-package->ecl-package sbcl-3bz))
11495
11496 (define-public sbcl-zpb-exif
11497 (package
11498 (name "sbcl-zpb-exif")
11499 (version "1.2.4")
11500 (source
11501 (origin
11502 (method git-fetch)
11503 (uri (git-reference
11504 (url "https://github.com/xach/zpb-exif")
11505 (commit (string-append "release-" version))))
11506 (file-name (git-file-name name version))
11507 (sha256
11508 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
11509 (build-system asdf-build-system/sbcl)
11510 (home-page "https://xach.com/lisp/zpb-exif/")
11511 (synopsis "EXIF information extractor for Common Lisp")
11512 (description
11513 "This is a Common Lisp library to extract EXIF information from image
11514 files.")
11515 (license license:bsd-2)))
11516
11517 (define-public cl-zpb-exif
11518 (sbcl-package->cl-source-package sbcl-zpb-exif))
11519
11520 (define-public ecl-zpb-exif
11521 (sbcl-package->ecl-package sbcl-zpb-exif))
11522
11523 (define-public sbcl-pngload
11524 (let ((commit "91f1d703c65bb6a94d6fee06ddbbbbbc5778b71f")
11525 (revision "2"))
11526 (package
11527 (name "sbcl-pngload")
11528 (version (git-version "2.0.0" revision commit))
11529 (source
11530 (origin
11531 (method git-fetch)
11532 (uri (git-reference
11533 (url "https://git.mfiano.net/mfiano/pngload.git")
11534 (commit commit)))
11535 (file-name (git-file-name "pngload" version))
11536 (sha256
11537 (base32 "0s94fdbrbqj12qvgyn2g4lfwvz7qhhzbclrpz5ni7adwxgrmvxl1"))))
11538 (build-system asdf-build-system/sbcl)
11539 (inputs
11540 `(("3bz" ,sbcl-3bz)
11541 ("alexandria" ,sbcl-alexandria)
11542 ("cffi" ,sbcl-cffi)
11543 ("mmap" ,sbcl-mmap)
11544 ("parse-float" ,sbcl-parse-float)
11545 ("static-vectors" ,sbcl-static-vectors)
11546 ("swap-bytes" ,sbcl-swap-bytes)
11547 ("zpb-exif" ,sbcl-zpb-exif)))
11548 (arguments
11549 ;; Test suite disabled because of a dependency cycle.
11550 ;; pngload tests depend on opticl which depends on pngload.
11551 '(#:tests? #f))
11552 (home-page "https://git.mfiano.net/mfiano/pngload.git")
11553 (synopsis "PNG image decoder for Common Lisp")
11554 (description
11555 "This is a Common Lisp library to load images in the PNG image format,
11556 both from files on disk, or streams in memory.")
11557 (license license:expat))))
11558
11559 (define-public cl-pngload
11560 (sbcl-package->cl-source-package sbcl-pngload))
11561
11562 (define-public ecl-pngload
11563 (sbcl-package->ecl-package sbcl-pngload))
11564
11565 (define-public sbcl-opticl
11566 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
11567 (revision "0"))
11568 (package
11569 (name "sbcl-opticl")
11570 (version (git-version "0.0.0" revision commit))
11571 (source
11572 (origin
11573 (method git-fetch)
11574 (uri (git-reference
11575 (url "https://github.com/slyrus/opticl")
11576 (commit commit)))
11577 (file-name (git-file-name name version))
11578 (sha256
11579 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
11580 (build-system asdf-build-system/sbcl)
11581 (native-inputs
11582 `(("fiveam" ,sbcl-fiveam)))
11583 (inputs
11584 `(("alexandria" ,sbcl-alexandria)
11585 ("cl-jpeg" ,sbcl-cl-jpeg)
11586 ("cl-tga" ,sbcl-cl-tga)
11587 ("png-read" ,sbcl-png-read)
11588 ("pngload" ,sbcl-pngload)
11589 ("retrospectiff" ,sbcl-retrospectiff)
11590 ("skippy" ,sbcl-skippy)
11591 ("zpng" ,sbcl-zpng)))
11592 (arguments
11593 '(#:asd-files '("opticl.asd")))
11594 (home-page "https://github.com/slyrus/opticl")
11595 (synopsis "Image processing library for Common Lisp")
11596 (description
11597 "Opticl is a Common Lisp library for representing, processing, loading,
11598 and saving 2-dimensional pixel-based images.")
11599 (license license:bsd-2))))
11600
11601 (define-public cl-opticl
11602 (sbcl-package->cl-source-package sbcl-opticl))
11603
11604 (define-public ecl-opticl
11605 (sbcl-package->ecl-package sbcl-opticl))
11606
11607 (define-public sbcl-mcclim
11608 (let ((commit "04cc542dd4b461b9d56406e40681d1a8f080730f")
11609 (revision "1"))
11610 (package
11611 (name "sbcl-mcclim")
11612 (version (git-version "0.9.7" revision commit))
11613 (source
11614 (origin
11615 (method git-fetch)
11616 (uri (git-reference
11617 (url "https://github.com/mcclim/mcclim")
11618 (commit commit)))
11619 (file-name (git-file-name name version))
11620 (sha256
11621 (base32 "1xjly8i62z72hfhlnz5kjd9i8xhrwckc7avyizxvhih67pkjmsx0"))))
11622 (build-system asdf-build-system/sbcl)
11623 (native-inputs
11624 `(("fiveam" ,sbcl-fiveam)
11625 ("pkg-config" ,pkg-config)))
11626 (inputs
11627 `(("alexandria" ,sbcl-alexandria)
11628 ("babel" ,sbcl-babel)
11629 ("bordeaux-threads" ,sbcl-bordeaux-threads)
11630 ("cl-freetype2" ,sbcl-cl-freetype2)
11631 ("cl-pdf" ,sbcl-cl-pdf)
11632 ("cffi" ,sbcl-cffi)
11633 ("cl-unicode" ,sbcl-cl-unicode)
11634 ("cl-vectors" ,sbcl-cl-vectors)
11635 ("closer-mop" ,sbcl-closer-mop)
11636 ("clx" ,sbcl-clx)
11637 ("flexi-streams" ,sbcl-flexi-streams)
11638 ("flexichain" ,sbcl-flexichain)
11639 ("font-dejavu" ,font-dejavu)
11640 ("fontconfig" ,fontconfig)
11641 ("freetype" ,freetype)
11642 ("harfbuzz" ,harfbuzz)
11643 ("log4cl" ,sbcl-log4cl)
11644 ("opticl" ,sbcl-opticl)
11645 ("spatial-trees" ,sbcl-spatial-trees)
11646 ("swank" ,sbcl-slime-swank)
11647 ("trivial-features" ,sbcl-trivial-features)
11648 ("trivial-garbage" ,sbcl-trivial-garbage)
11649 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
11650 ("zpb-ttf" ,sbcl-zpb-ttf)))
11651 (arguments
11652 '(#:asd-systems '("mcclim"
11653 "clim-examples")
11654 #:phases
11655 (modify-phases %standard-phases
11656 (add-after 'unpack 'fix-paths
11657 (lambda* (#:key inputs #:allow-other-keys)
11658 ;; mcclim-truetype uses DejaVu as default font and
11659 ;; sets the path at build time.
11660 (substitute* "Extensions/fonts/fontconfig.lisp"
11661 (("/usr/share/fonts/truetype/dejavu/")
11662 (string-append (assoc-ref inputs "font-dejavu")
11663 "/share/fonts/truetype/")))
11664 (substitute* "Extensions/fontconfig/src/functions.lisp"
11665 (("libfontconfig\\.so")
11666 (string-append (assoc-ref inputs "fontconfig")
11667 "/lib/libfontconfig.so")))
11668 (substitute* "Extensions/harfbuzz/src/functions.lisp"
11669 (("libharfbuzz\\.so")
11670 (string-append (assoc-ref inputs "harfbuzz")
11671 "/lib/libharfbuzz.so")))
11672 #t))
11673 (add-after 'unpack 'fix-build
11674 (lambda _
11675 ;; The cffi-grovel system does not get loaded automatically,
11676 ;; so we load it explicitly.
11677 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
11678 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
11679 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
11680 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
11681 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
11682 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
11683 #t)))))
11684 (home-page "https://common-lisp.net/project/mcclim/")
11685 (synopsis "Common Lisp GUI toolkit")
11686 (description
11687 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
11688 specification}, a toolkit for writing GUIs in Common Lisp.")
11689 (license license:lgpl2.1+))))
11690
11691 (define-public cl-mcclim
11692 (sbcl-package->cl-source-package sbcl-mcclim))
11693
11694 (define-public ecl-mcclim
11695 (sbcl-package->ecl-package sbcl-mcclim))
11696
11697 (define-public sbcl-cl-inflector
11698 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
11699 (revision "1"))
11700 (package
11701 (name "sbcl-cl-inflector")
11702 (version (git-version "0.2" revision commit))
11703 (source
11704 (origin
11705 (method git-fetch)
11706 (uri (git-reference
11707 (url "https://github.com/AccelerationNet/cl-inflector")
11708 (commit commit)))
11709 (file-name (git-file-name name version))
11710 (sha256
11711 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
11712 (build-system asdf-build-system/sbcl)
11713 (native-inputs
11714 `(("lisp-unit2" ,sbcl-lisp-unit2)))
11715 (inputs
11716 `(("alexandria" ,sbcl-alexandria)
11717 ("cl-ppcre" ,sbcl-cl-ppcre)))
11718 (home-page "https://github.com/AccelerationNet/cl-inflector")
11719 (synopsis "Library to pluralize/singularize English and Portuguese words")
11720 (description
11721 "This is a common lisp library to easily pluralize and singularize
11722 English and Portuguese words. This is a port of the ruby ActiveSupport
11723 Inflector module.")
11724 (license license:expat))))
11725
11726 (define-public cl-inflector
11727 (sbcl-package->cl-source-package sbcl-cl-inflector))
11728
11729 (define-public ecl-cl-inflector
11730 (sbcl-package->ecl-package sbcl-cl-inflector))
11731
11732 (define-public sbcl-ixf
11733 (let ((commit "ed26f87e4127e4a9e3aac4ff1e60d1f39cca5183")
11734 (revision "1"))
11735 (package
11736 (name "sbcl-ixf")
11737 (version (git-version "0.1.0" revision commit))
11738 (source
11739 (origin
11740 (method git-fetch)
11741 (uri (git-reference
11742 (url "https://github.com/dimitri/cl-ixf")
11743 (commit commit)))
11744 (file-name (git-file-name "cl-ixf" version))
11745 (sha256
11746 (base32 "1wjdnf4vr9z7lcfc49kl43g6l2i23q9n81siy494k17d766cdvqa"))))
11747 (build-system asdf-build-system/sbcl)
11748 (inputs
11749 `(("alexandria" ,sbcl-alexandria)
11750 ("babel" ,sbcl-babel)
11751 ("cl-ppcre" ,sbcl-cl-ppcre)
11752 ("ieee-floats" ,sbcl-ieee-floats)
11753 ("local-time" ,sbcl-local-time)
11754 ("md5" ,sbcl-md5)
11755 ("split-sequence" ,sbcl-split-sequence)))
11756 (home-page "https://github.com/dimitri/cl-ixf")
11757 (synopsis "Parse IBM IXF file format")
11758 (description
11759 "This is a Common Lisp library to handle the IBM PC version of the IXF
11760 (Integration Exchange Format) file format.")
11761 (license license:public-domain))))
11762
11763 (define-public ecl-ixf
11764 (sbcl-package->ecl-package sbcl-ixf))
11765
11766 (define-public cl-ixf
11767 (sbcl-package->cl-source-package sbcl-ixf))
11768
11769 (define-public sbcl-qbase64
11770 (package
11771 (name "sbcl-qbase64")
11772 (version "0.3.0")
11773 (source
11774 (origin
11775 (method git-fetch)
11776 (uri (git-reference
11777 (url "https://github.com/chaitanyagupta/qbase64")
11778 (commit version)))
11779 (file-name (git-file-name name version))
11780 (sha256
11781 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
11782 (build-system asdf-build-system/sbcl)
11783 (inputs
11784 `(("metabang-bind" ,sbcl-metabang-bind)
11785 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
11786 (native-inputs
11787 `(("fiveam" ,sbcl-fiveam)))
11788 (home-page "https://github.com/chaitanyagupta/qbase64")
11789 (synopsis "Base64 encoder and decoder for Common Lisp")
11790 (description "@code{qbase64} provides a fast and flexible base64 encoder
11791 and decoder for Common Lisp.")
11792 (license license:bsd-3)))
11793
11794 (define-public cl-qbase64
11795 (sbcl-package->cl-source-package sbcl-qbase64))
11796
11797 (define-public ecl-qbase64
11798 (sbcl-package->ecl-package sbcl-qbase64))
11799
11800 (define-public sbcl-lw-compat
11801 ;; No release since 2013.
11802 (let ((commit "aabfe28c6c1a4949f9d7b3cb30319367c9fd1c0d"))
11803 (package
11804 (name "sbcl-lw-compat")
11805 (version (git-version "1.0.0" "1" commit))
11806 (source
11807 (origin
11808 (method git-fetch)
11809 (uri (git-reference
11810 (url "https://github.com/pcostanza/lw-compat/")
11811 (commit commit)))
11812 (file-name (git-file-name name version))
11813 (sha256
11814 (base32 "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav"))))
11815 (build-system asdf-build-system/sbcl)
11816 (home-page "https://github.com/pcostanza/lw-compat/")
11817 (synopsis "LispWorks utilities ported to other Common Lisp implementations")
11818 (description "This package contains a few utility functions from the
11819 LispWorks library that are used in software such as ContextL.")
11820 (license license:expat))))
11821
11822 (define-public cl-lw-compat
11823 (sbcl-package->cl-source-package sbcl-lw-compat))
11824
11825 (define-public ecl-lw-compat
11826 (sbcl-package->ecl-package sbcl-lw-compat))
11827
11828 (define-public sbcl-contextl
11829 ;; No release since 2013.
11830 (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9"))
11831 (package
11832 (name "sbcl-contextl")
11833 (version (git-version "1.0.0" "1" commit))
11834 (source
11835 (origin
11836 (method git-fetch)
11837 (uri (git-reference
11838 (url "https://github.com/pcostanza/contextl/")
11839 (commit commit)))
11840 (file-name (git-file-name name version))
11841 (sha256
11842 (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226"))))
11843 (build-system asdf-build-system/sbcl)
11844 (inputs
11845 `(("closer-mop" ,sbcl-closer-mop)
11846 ("lw-compat" ,sbcl-lw-compat)))
11847 (home-page "https://github.com/pcostanza/contextl")
11848 (synopsis "Context-oriented programming for Common Lisp")
11849 (description "ContextL is a CLOS extension for Context-Oriented
11850 Programming (COP).
11851
11852 Find overview of ContextL's features in an overview paper:
11853 @url{http://www.p-cos.net/documents/contextl-soa.pdf}. See also this general
11854 overview article about COP which also contains some ContextL examples:
11855 @url{http://www.jot.fm/issues/issue_2008_03/article4/}.")
11856 (license license:expat))))
11857
11858 (define-public cl-contextl
11859 (sbcl-package->cl-source-package sbcl-contextl))
11860
11861 (define-public ecl-contextl
11862 (sbcl-package->ecl-package sbcl-contextl))
11863
11864 (define-public sbcl-hu.dwim.common-lisp
11865 (package
11866 (name "sbcl-hu.dwim.common-lisp")
11867 (version "2015-07-09")
11868 (source
11869 (origin
11870 (method url-fetch)
11871 (uri (string-append
11872 "http://beta.quicklisp.org/archive/hu.dwim.common-lisp/"
11873 version "/hu.dwim.common-lisp-"
11874 (string-replace-substring version "-" "")
11875 "-darcs.tgz"))
11876 (sha256
11877 (base32 "13cxrvh55rw080mvfir7s7k735l9rcfh3khxp97qfwd5rz0gadb9"))))
11878 (build-system asdf-build-system/sbcl)
11879 (native-inputs
11880 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11881 (home-page "http://dwim.hu/")
11882 (synopsis "Redefine some standard Common Lisp names")
11883 (description "This library is a redefinition of the standard Common Lisp
11884 package that includes a number of renames and shadows. ")
11885 (license license:public-domain)))
11886
11887 (define-public cl-hu.dwim.common-lisp
11888 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
11889
11890 (define-public ecl-hu.dwim.common-lisp
11891 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
11892
11893 (define-public sbcl-hu.dwim.common
11894 (package
11895 (name "sbcl-hu.dwim.common")
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/"
11902 version "/hu.dwim.common-"
11903 (string-replace-substring version "-" "")
11904 "-darcs.tgz"))
11905 (sha256
11906 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
11907 (build-system asdf-build-system/sbcl)
11908 (native-inputs
11909 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11910 (inputs
11911 `(("alexandria" ,sbcl-alexandria)
11912 ("anaphora" ,sbcl-anaphora)
11913 ("closer-mop" ,sbcl-closer-mop)
11914 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
11915 ("iterate" ,sbcl-iterate)
11916 ("metabang-bind" ,sbcl-metabang-bind)))
11917 (home-page "http://dwim.hu/")
11918 (synopsis "Common Lisp library shared by other hu.dwim systems")
11919 (description "This package contains a support library for other
11920 hu.dwim systems.")
11921 (license license:public-domain)))
11922
11923 (define-public cl-hu.dwim.common
11924 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
11925
11926 (define-public ecl-hu.dwim.common
11927 (sbcl-package->ecl-package sbcl-hu.dwim.common))
11928
11929 (define-public sbcl-hu.dwim.defclass-star
11930 (let ((commit "39d458f1b1bc830d1f5e18a6a35bf0e96a2cfd61"))
11931 (package
11932 (name "sbcl-hu.dwim.defclass-star")
11933 ;; We used to set version from the date when it was a darcs repo, so we
11934 ;; keep the year so that package gets updated on previous installs.
11935 (version (git-version "2021" "1" commit))
11936 (source
11937 (origin
11938 (method git-fetch)
11939 (uri (git-reference
11940 (url "https://github.com/hu-dwim/hu.dwim.defclass-star")
11941 (commit commit)))
11942 (file-name (git-file-name name version))
11943 (sha256
11944 (base32 "0hfkq2wad98vkyxdg1wh18y86d9w9yqkm8lxkk96szvpwymm7lmq"))))
11945 (build-system asdf-build-system/sbcl)
11946 (native-inputs
11947 `( ;; These 2 inputs are only needed tests which are disabled, see below.
11948 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
11949 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
11950 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
11951 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11952 (arguments
11953 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
11954 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
11955 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
11956 #:tests? #f))
11957 (home-page "https://github.com/hu-dwim/hu.dwim.defclass-star")
11958 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
11959 (description "@code{defclass-star} provides defclass* and defcondition* to
11960 simplify class and condition declarations. Features include:
11961
11962 @itemize
11963 @item Automatically export all or select slots at compile time.
11964 @item Define the @code{:initarg} and @code{:accessor} automatically.
11965 @item Specify a name transformer for both the @code{:initarg} and
11966 @code{:accessor}, etc.
11967 @item Specify the @code{:initform} as second slot value.
11968 @end itemize
11969
11970 See
11971 @url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
11972 for an example.")
11973 (license license:public-domain))))
11974
11975 (define-public cl-hu.dwim.defclass-star
11976 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
11977
11978 (define-public ecl-hu.dwim.defclass-star
11979 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))
11980
11981 (define-public sbcl-livesupport
11982 (let ((commit "71e6e412df9f3759ad8378fabb203913d82e228a")
11983 (revision "1"))
11984 (package
11985 (name "sbcl-livesupport")
11986 (version (git-version "0.0.0" revision commit))
11987 (source
11988 (origin
11989 (method git-fetch)
11990 (uri (git-reference
11991 (url "https://github.com/cbaggers/livesupport")
11992 (commit commit)))
11993 (file-name (git-file-name name version))
11994 (sha256
11995 (base32 "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"))))
11996 (build-system asdf-build-system/sbcl)
11997 (home-page "https://github.com/cbaggers/livesupport")
11998 (synopsis "Some helpers that make livecoding a little easier")
11999 (description "This package provides a macro commonly used in livecoding to
12000 enable continuing when errors are raised. Simply wrap around a chunk of code
12001 and it provides a restart called @code{continue} which ignores the error and
12002 carrys on from the end of the body.")
12003 (license license:bsd-2))))
12004
12005 (define-public cl-livesupport
12006 (sbcl-package->cl-source-package sbcl-livesupport))
12007
12008 (define-public ecl-livesupport
12009 (sbcl-package->ecl-package sbcl-livesupport))
12010
12011 (define-public sbcl-envy
12012 (let ((commit "956321b2852d58ba71c6fe621f5c2924178e9f88")
12013 (revision "1"))
12014 (package
12015 (name "sbcl-envy")
12016 (version (git-version "0.1" revision commit))
12017 (home-page "https://github.com/fukamachi/envy")
12018 (source
12019 (origin
12020 (method git-fetch)
12021 (uri (git-reference
12022 (url home-page)
12023 (commit commit)))
12024 (file-name (git-file-name name version))
12025 (sha256
12026 (base32 "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg"))))
12027 (build-system asdf-build-system/sbcl)
12028 ;; (native-inputs ; Only for tests.
12029 ;; `(("prove" ,sbcl-prove)
12030 ;; ("osicat" ,sbcl-osicat)))
12031 (arguments
12032 '(#:phases
12033 (modify-phases %standard-phases
12034 (add-after 'unpack 'fix-tests
12035 (lambda _
12036 (substitute* "envy-test.asd"
12037 (("cl-test-more") "prove"))
12038 #t)))
12039 ;; Tests fail with
12040 ;; Component ENVY-ASD::ENVY-TEST not found, required by #<SYSTEM "envy">
12041 ;; like xsubseq. Why?
12042 #:tests? #f))
12043 (synopsis "Common Lisp configuration switcher inspired by Perl's Config::ENV.")
12044 (description "Envy is a configuration manager for various applications.
12045 Envy uses an environment variable to determine a configuration to use. This
12046 can separate configuration system from an implementation.")
12047 (license license:bsd-2))))
12048
12049 (define-public cl-envy
12050 (sbcl-package->cl-source-package sbcl-envy))
12051
12052 (define-public ecl-envy
12053 (sbcl-package->ecl-package sbcl-envy))
12054
12055 (define-public sbcl-mito
12056 (let ((commit "d3b9e375ef364a65692da2185085a08c969ac88a")
12057 (revision "1"))
12058 (package
12059 (name "sbcl-mito")
12060 (version (git-version "0.1" revision commit))
12061 (home-page "https://github.com/fukamachi/mito")
12062 (source
12063 (origin
12064 (method git-fetch)
12065 (uri (git-reference
12066 (url home-page)
12067 (commit commit)))
12068 (file-name (git-file-name name version))
12069 (sha256
12070 (base32 "08mncgzjnbbsf1a6am3l73iw4lyfvz5ldjg5g84awfaxml4p73mb"))))
12071 (build-system asdf-build-system/sbcl)
12072 (native-inputs
12073 `(("prove" ,sbcl-prove)))
12074 (inputs
12075 `(("alexandria" ,sbcl-alexandria)
12076 ("cl-ppcre" ,sbcl-cl-ppcre)
12077 ("cl-reexport" ,sbcl-cl-reexport)
12078 ("closer-mop" ,sbcl-closer-mop)
12079 ("dbi" ,sbcl-dbi)
12080 ("dissect" ,sbcl-dissect)
12081 ("esrap" ,sbcl-esrap)
12082 ("local-time" ,sbcl-local-time)
12083 ("optima" ,sbcl-optima)
12084 ("sxql" ,sbcl-sxql)
12085 ("uuid" ,sbcl-uuid)))
12086 (arguments
12087 '(#:phases
12088 (modify-phases %standard-phases
12089 (add-after 'unpack 'remove-non-functional-tests
12090 (lambda _
12091 (substitute* "mito-test.asd"
12092 (("\\(:test-file \"db/mysql\"\\)") "")
12093 (("\\(:test-file \"db/postgres\"\\)") "")
12094 (("\\(:test-file \"dao\"\\)") "")
12095 ;; TODO: migration/sqlite3 should work, re-enable once
12096 ;; upstream has fixed it:
12097 ;; https://github.com/fukamachi/mito/issues/70
12098 (("\\(:test-file \"migration/sqlite3\"\\)") "")
12099 (("\\(:test-file \"migration/mysql\"\\)") "")
12100 (("\\(:test-file \"migration/postgres\"\\)") "")
12101 (("\\(:test-file \"postgres-types\"\\)") "")
12102 (("\\(:test-file \"mixin\"\\)") ""))
12103 #t)))
12104 ;; TODO: While all enabled tests pass, the phase fails with:
12105 ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito">
12106 #:tests? #f))
12107 (synopsis "ORM for Common Lisp with migrations and relationships support")
12108 (description "Mito is yet another object relational mapper, and it aims
12109 to be a successor of Integral.
12110
12111 @itemize
12112 @item Support MySQL, PostgreSQL and SQLite3.
12113 @item Add id (serial/uuid primary key), created_at and updated_at by default
12114 like Ruby's ActiveRecord.
12115 @item Migrations.
12116 @item Database schema versioning.
12117 @end itemize\n")
12118 (license license:llgpl))))
12119
12120 (define-public cl-mito
12121 (sbcl-package->cl-source-package sbcl-mito))
12122
12123 (define-public ecl-mito
12124 (sbcl-package->ecl-package sbcl-mito))
12125
12126 (define-public sbcl-kebab
12127 (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b")
12128 (revision "1"))
12129 (package
12130 (name "sbcl-kebab")
12131 (version (git-version "0.1" revision commit))
12132 (home-page "https://github.com/pocket7878/kebab")
12133 (source
12134 (origin
12135 (method git-fetch)
12136 (uri (git-reference
12137 (url home-page)
12138 (commit commit)))
12139 (file-name (git-file-name name version))
12140 (sha256
12141 (base32 "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"))))
12142 (build-system asdf-build-system/sbcl)
12143 (inputs
12144 `(("cl-ppcre" ,sbcl-cl-ppcre)
12145 ("alexandria" ,sbcl-alexandria)
12146 ("cl-interpol" ,sbcl-cl-interpol)
12147 ("split-sequence" ,sbcl-split-sequence)))
12148 (native-inputs
12149 `(("prove" ,sbcl-prove)))
12150 (arguments
12151 ;; Tests passes but the phase fails with
12152 ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">.
12153 `(#:tests? #f))
12154 (synopsis "Common Lisp case converter")
12155 (description "This Common Lisp library converts strings, symbols and
12156 keywords between any of the following typographical cases: PascalCase,
12157 camelCase, snake_case, kebab-case (lisp-case).")
12158 (license license:llgpl))))
12159
12160 (define-public cl-kebab
12161 (sbcl-package->cl-source-package sbcl-kebab))
12162
12163 (define-public ecl-kebab
12164 (sbcl-package->ecl-package sbcl-kebab))
12165
12166 (define-public sbcl-datafly
12167 (let ((commit "adece27fcbc4b5ea39ad1a105048b6b7166e3b0d")
12168 (revision "1"))
12169 (package
12170 (name "sbcl-datafly")
12171 (version (git-version "0.1" revision commit))
12172 (home-page "https://github.com/fukamachi/datafly")
12173 (source
12174 (origin
12175 (method git-fetch)
12176 (uri (git-reference
12177 (url home-page)
12178 (commit commit)))
12179 (file-name (git-file-name name version))
12180 (sha256
12181 (base32 "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv"))))
12182 (build-system asdf-build-system/sbcl)
12183 (inputs
12184 `(("alexandria" ,sbcl-alexandria)
12185 ("iterate" ,sbcl-iterate)
12186 ("optima" ,sbcl-optima)
12187 ("trivial-types" ,sbcl-trivial-types)
12188 ("closer-mop" ,sbcl-closer-mop)
12189 ("cl-syntax" ,sbcl-cl-syntax)
12190 ("sxql" ,sbcl-sxql)
12191 ("dbi" ,sbcl-dbi)
12192 ("babel" ,sbcl-babel)
12193 ("local-time" ,sbcl-local-time)
12194 ("function-cache" ,sbcl-function-cache)
12195 ("jonathan" ,sbcl-jonathan)
12196 ("kebab" ,sbcl-kebab)
12197 ("log4cl" ,sbcl-log4cl)))
12198 (native-inputs
12199 `(("prove" ,sbcl-prove)))
12200 (arguments
12201 ;; TODO: Tests fail with
12202 ;; While evaluating the form starting at line 22, column 0
12203 ;; of #P"/tmp/guix-build-sbcl-datafly-0.1-1.adece27.drv-0/source/t/datafly.lisp":
12204 ;; Unhandled SQLITE:SQLITE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
12205 ;; {10009F8083}>:
12206 ;; Error when binding parameter 1 to value NIL.
12207 ;; Code RANGE: column index out of range.
12208 `(#:tests? #f))
12209 (synopsis "Lightweight database library for Common Lisp")
12210 (description "Datafly is a lightweight database library for Common Lisp.")
12211 (license license:bsd-3))))
12212
12213 (define-public cl-datafly
12214 (sbcl-package->cl-source-package sbcl-datafly))
12215
12216 (define-public ecl-datafly
12217 (sbcl-package->ecl-package sbcl-datafly))
12218
12219 (define-public sbcl-do-urlencode
12220 (let ((commit "199846441dad5dfac5478b8dee4b4e20d107af6a")
12221 (revision "1"))
12222 (package
12223 (name "sbcl-do-urlencode")
12224 (version (git-version "0.0.0" revision commit))
12225 (home-page "https://github.com/drdo/do-urlencode")
12226 (source
12227 (origin
12228 (method git-fetch)
12229 (uri (git-reference
12230 (url home-page)
12231 (commit commit)))
12232 (file-name (git-file-name name version))
12233 (sha256
12234 (base32 "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"))))
12235 (build-system asdf-build-system/sbcl)
12236 (inputs
12237 `(("alexandria" ,sbcl-alexandria)
12238 ("babel" ,sbcl-babel)))
12239 (synopsis "Percent Encoding (aka URL Encoding) Common Lisp library")
12240 (description "This library provides trivial percent encoding and
12241 decoding functions for URLs.")
12242 (license license:isc))))
12243
12244 (define-public cl-do-urlencode
12245 (sbcl-package->cl-source-package sbcl-do-urlencode))
12246
12247 (define-public ecl-do-urlencode
12248 (sbcl-package->ecl-package sbcl-do-urlencode))
12249
12250 (define-public sbcl-cl-emb
12251 (let ((commit "fd8652174d048d4525a81f38cdf42f4fa519f840")
12252 (revision "1"))
12253 (package
12254 (name "sbcl-cl-emb")
12255 (version (git-version "0.4.3" revision commit))
12256 (home-page "https://common-lisp.net/project/cl-emb/")
12257 (source
12258 (origin
12259 (method git-fetch)
12260 (uri (git-reference
12261 (url "https://github.com/38a938c2/cl-emb")
12262 (commit commit)))
12263 (file-name (git-file-name name version))
12264 (sha256
12265 (base32 "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"))))
12266 (build-system asdf-build-system/sbcl)
12267 (inputs
12268 `(("cl-ppcre" ,sbcl-cl-ppcre)))
12269 (synopsis "Templating system for Common Lisp")
12270 (description "A mixture of features from eRuby and HTML::Template. You
12271 could name it \"Yet Another LSP\" (LispServer Pages) but it's a bit more than
12272 that and not limited to a certain server or text format.")
12273 (license license:llgpl))))
12274
12275 (define-public cl-emb
12276 (sbcl-package->cl-source-package sbcl-cl-emb))
12277
12278 (define-public ecl-cl-emb
12279 (sbcl-package->ecl-package sbcl-cl-emb))
12280
12281 (define-public sbcl-cl-project
12282 (let ((commit "151107014e534fc4666222d57fec2cc8549c8814")
12283 (revision "1"))
12284 (package
12285 (name "sbcl-cl-project")
12286 (version (git-version "0.3.1" revision commit))
12287 (home-page "https://github.com/fukamachi/cl-project")
12288 (source
12289 (origin
12290 (method git-fetch)
12291 (uri (git-reference
12292 (url home-page)
12293 (commit commit)))
12294 (file-name (git-file-name name version))
12295 (sha256
12296 (base32 "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y"))))
12297 (build-system asdf-build-system/sbcl)
12298 (inputs
12299 `(("cl-emb" ,sbcl-cl-emb)
12300 ("cl-ppcre" ,sbcl-cl-ppcre)
12301 ("local-time" ,sbcl-local-time)
12302 ("prove" ,sbcl-prove)))
12303 (arguments
12304 ;; Tests depend on caveman, which in turns depends on cl-project.
12305 '(#:tests? #f
12306 #:asd-files '("cl-project.asd")))
12307 (synopsis "Generate a skeleton for modern Common Lisp projects")
12308 (description "This library provides a modern project skeleton generator.
12309 In contract with other generators, CL-Project generates one package per file
12310 and encourages unit testing by generating a system for unit testing, so you
12311 can begin writing unit tests as soon as the project is generated.")
12312 (license license:llgpl))))
12313
12314 (define-public cl-project
12315 (sbcl-package->cl-source-package sbcl-cl-project))
12316
12317 (define-public ecl-cl-project
12318 (sbcl-package->ecl-package sbcl-cl-project))
12319
12320 (define-public sbcl-caveman
12321 (let ((commit "faa5f7e3b364fd7e7096af9a7bb06728b8d80441") ; No release since 2012
12322 (revision "1"))
12323 (package
12324 (name "sbcl-caveman")
12325 (version (git-version "2.4.0" revision commit))
12326 (home-page "http://8arrow.org/caveman/")
12327 (source
12328 (origin
12329 (method git-fetch)
12330 (uri (git-reference
12331 (url "https://github.com/fukamachi/caveman/")
12332 (commit commit)))
12333 (file-name (git-file-name name version))
12334 (sha256
12335 (base32 "0kh0gx05pczk8f7r9qdi4zn1p3d0a2prps27k7jpgvc1dxkl8qhq"))))
12336 (build-system asdf-build-system/sbcl)
12337 (inputs
12338 `(("ningle" ,cl-ningle)
12339 ("lack" ,sbcl-lack)
12340 ("cl-project" ,sbcl-cl-project)
12341 ("dbi" ,sbcl-dbi)
12342 ("cl-syntax" ,sbcl-cl-syntax)
12343 ("myway" ,sbcl-myway)
12344 ("quri" ,sbcl-quri)))
12345 (native-inputs
12346 `(("usocket" ,sbcl-usocket)
12347 ("dexador" ,sbcl-dexador)))
12348 (arguments
12349 `(#:asd-files '("caveman2.asd")
12350 #:asd-systems '("caveman2")
12351 #:phases
12352 (modify-phases %standard-phases
12353 (add-after 'unpack 'remove-v1
12354 (lambda _
12355 (delete-file-recursively "v1")
12356 (for-each delete-file
12357 '("README.v1.markdown" "caveman.asd" "caveman-test.asd")))))
12358 ;; TODO: Tests fail with:
12359 ;; writing /gnu/store/...-sbcl-caveman-2.4.0-1.faa5f7e/share/common-lisp/sbcl-source/caveman2/v2/t/tmp/myapp573/tests/myapp573.lisp
12360 ;; While evaluating the form starting at line 38, column 0
12361 ;; of #P"/tmp/guix-build-sbcl-caveman-2.4.0-1.faa5f7e.drv-0/source/v2/t/caveman.lisp":
12362 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD "main thread" RUNNING
12363 ;; {10009F8083}>:
12364 ;; Component "myapp573" not found
12365 #:tests? #f))
12366 (synopsis "Lightweight web application framework in Common Lisp")
12367 (description "Caveman is intended to be a collection of common parts for
12368 web applications. Caveman2 has three design goals:
12369
12370 @itemize
12371 @item Be extensible.
12372 @item Be practical.
12373 @item Don't force anything.
12374 @end itemize\n")
12375 (license license:llgpl))))
12376
12377 (define-public cl-caveman
12378 (package
12379 (inherit
12380 (sbcl-package->cl-source-package sbcl-caveman))
12381 (propagated-inputs
12382 `(("ningle" ,cl-ningle)))))
12383
12384 (define-public ecl-caveman
12385 (sbcl-package->ecl-package sbcl-caveman))
12386
12387 (define-public sbcl-lambda-fiddle
12388 (let ((commit "d16bba55acf6065b412f64ab8fdff679a4a32b1e") ;; no tagged branch
12389 (revision "1"))
12390 (package
12391 (name "sbcl-lambda-fiddle")
12392 (version (git-version "1.0.0" revision commit))
12393 (source
12394 (origin
12395 (method git-fetch)
12396 (uri (git-reference
12397 (url "https://github.com/Shinmera/lambda-fiddle")
12398 (commit commit)))
12399 (file-name (git-file-name name version))
12400 (sha256
12401 (base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand"))))
12402 (build-system asdf-build-system/sbcl)
12403 (home-page "https://github.com/Shinmera/lambda-fiddle")
12404 (synopsis "Collection of utilities to process lambda-lists")
12405 (description "This collection of utilities is useful in contexts where
12406 you want a macro that uses lambda-lists in some fashion but need more precise
12407 processing.")
12408 (license license:zlib))))
12409
12410 (define-public cl-lambda-fiddle
12411 (sbcl-package->cl-source-package sbcl-lambda-fiddle))
12412
12413 (define-public ecl-lambda-fiddle
12414 (sbcl-package->ecl-package sbcl-lambda-fiddle))
12415
12416 (define-public sbcl-xmls
12417 (let ((commit "18546f0850b1338e03997ffd1696add1cb1800d1") ;; no tagged branch
12418 (revision "1"))
12419 (package
12420 (name "sbcl-xmls")
12421 (version (git-version "3.0.2" revision commit))
12422 (source
12423 (origin
12424 (method git-fetch)
12425 (uri (git-reference
12426 (url "https://github.com/rpgoldman/xmls")
12427 (commit commit)))
12428 (file-name (git-file-name name version))
12429 (sha256
12430 (base32 "1lmvfml2ldbb1wkhm25jqqk2bhwsz52hhcgljbnzj1xr8xhc3anp"))))
12431 (native-inputs
12432 `(("fiveam" ,sbcl-fiveam)))
12433 (build-system asdf-build-system/sbcl)
12434 (home-page "https://github.com/rpgoldman/xmls")
12435 (synopsis "Non-validating XML parser for Common Lisp")
12436 (description "Xmls is a self-contained, easily embedded parser that
12437 recognizes a useful subset of the XML spec. It provides a simple mapping from
12438 XML to Lisp structures or s-expressions and back.")
12439 (license license:bsd-2))))
12440
12441 (define-public cl-xmls
12442 (sbcl-package->cl-source-package sbcl-xmls))
12443
12444 (define-public ecl-xmls
12445 (sbcl-package->ecl-package sbcl-xmls))
12446
12447 (define-public sbcl-geco
12448 (package
12449 (name "sbcl-geco")
12450 (version "2.1.1")
12451 (source
12452 (origin
12453 (method git-fetch)
12454 (uri (git-reference
12455 (url "https://github.com/gpwwjr/GECO")
12456 (commit (string-append "v" version))))
12457 (file-name (git-file-name "geco" version))
12458 (sha256
12459 (base32 "1rc8a4mk40hjx5qy980hjylv6xxqdbq38hg8c4w30y93abfd519s"))))
12460 (build-system asdf-build-system/sbcl)
12461 (home-page "http://hiwaay.net/~gpw/geco/geco.html")
12462 (synopsis "Genetic algorithm toolkit for Common Lisp")
12463 (description
12464 "GECO (Genetic Evolution through Combination of Objects) is an extensible,
12465 object-oriented framework for prototyping genetic algorithms in Common Lisp.")
12466 (license license:lgpl2.1+)))
12467
12468 (define-public cl-geco
12469 (sbcl-package->cl-source-package sbcl-geco))
12470
12471 (define-public ecl-geco
12472 (sbcl-package->ecl-package sbcl-geco))
12473
12474 (define-public sbcl-html-entities
12475 (let ((commit "4af018048e891f41d77e7d680ed3aeb639e1eedb"))
12476 (package
12477 (name "sbcl-html-entities")
12478 (version (git-version "0.02" "1" commit))
12479 (source
12480 (origin
12481 (method git-fetch)
12482 (uri (git-reference
12483 (url "https://github.com/BnMcGn/html-entities/")
12484 (commit commit)))
12485 (file-name (git-file-name name version))
12486 (sha256
12487 (base32 "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"))))
12488 (build-system asdf-build-system/sbcl)
12489 (inputs
12490 `(("ppcre" ,sbcl-cl-ppcre)))
12491 (native-inputs
12492 `(("fiveam" ,sbcl-fiveam)))
12493 (home-page "https://github.com/BnMcGn/html-entities/")
12494 (synopsis "Encode and decode entities in HTML with Common Lisp")
12495 (description "Html-entities is a Common Lisp library that lets you
12496 encode and decode entities in HTML.")
12497 (license license:expat))))
12498
12499 (define-public cl-html-entities
12500 (sbcl-package->cl-source-package sbcl-html-entities))
12501
12502 (define-public ecl-html-entities
12503 (sbcl-package->ecl-package sbcl-html-entities))
12504
12505 (define-public sbcl-quicksearch
12506 (let ((commit "fb02ecf7c876ec580ab18c7d2c8c7814c06af599"))
12507 (package
12508 (name "sbcl-quicksearch")
12509 (version (git-version "0.01.04" "1" commit))
12510 (source
12511 (origin
12512 (method git-fetch)
12513 (uri (git-reference
12514 (url "https://github.com/tkych/quicksearch/")
12515 (commit commit)))
12516 (file-name (git-file-name name version))
12517 (sha256
12518 (base32 "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps"))))
12519 (build-system asdf-build-system/sbcl)
12520 (inputs
12521 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12522 ("iterate" ,sbcl-iterate)
12523 ("alexandria" ,sbcl-alexandria)
12524 ("anaphora" ,sbcl-anaphora)
12525 ("ppcre" ,sbcl-cl-ppcre)
12526 ("drakma" ,sbcl-drakma)
12527 ("html-entities" ,sbcl-html-entities)
12528 ("yason" ,sbcl-yason)
12529 ("flexi-streams" ,sbcl-flexi-streams)
12530 ("do-urlencode" ,sbcl-do-urlencode)))
12531 (home-page "https://github.com/tkych/quicksearch/")
12532 (synopsis "Search Engine Interface for Common Lisp packages")
12533 (description "Quicksearch is a search-engine-interface for Common Lisp.
12534 The goal of Quicksearch is to find the Common Lisp library quickly. For
12535 example, if you will find the library about json, just type @code{(qs:?
12536 'json)} at REPL.
12537
12538 The function @code{quicksearch} searches for Common Lisp projects in
12539 Quicklisp, Cliki, GitHub and BitBucket, then outputs results in REPL. The
12540 function @code{?} is abbreviation wrapper for @code{quicksearch}.")
12541 (license license:expat))))
12542
12543 (define-public cl-quicksearch
12544 (sbcl-package->cl-source-package sbcl-quicksearch))
12545
12546 (define-public ecl-quicksearch
12547 (sbcl-package->ecl-package sbcl-quicksearch))
12548
12549 (define-public sbcl-agutil
12550 (let ((commit "df188d754d472da9faa1601a48f1f37bb7b34d68"))
12551 (package
12552 (name "sbcl-agutil")
12553 (version (git-version "0.0.1" "1" commit))
12554 (source
12555 (origin
12556 (method git-fetch)
12557 (uri (git-reference
12558 (url "https://github.com/alex-gutev/agutil/")
12559 (commit commit)))
12560 (file-name (git-file-name name version))
12561 (sha256
12562 (base32 "1xpnyzksk2xld64b6lw6rw0gn5zxlb77jwna59sd4yl7kxhxlfpf"))))
12563 (build-system asdf-build-system/sbcl)
12564 (inputs
12565 `(("alexandria" ,sbcl-alexandria)
12566 ("trivia" ,sbcl-trivia)))
12567 (home-page "https://github.com/alex-gutev/agutil/")
12568 (synopsis "Collection of Common Lisp utilities")
12569 (description "A collection of Common Lisp utility functions and macros
12570 mostly not found in other utility packages.")
12571 (license license:expat))))
12572
12573 (define-public cl-agutil
12574 (sbcl-package->cl-source-package sbcl-agutil))
12575
12576 (define-public ecl-agutil
12577 (sbcl-package->ecl-package sbcl-agutil))
12578
12579 (define-public sbcl-custom-hash-table
12580 (let ((commit "f26983133940f5edf826ebbc8077acc04816ddfa"))
12581 (package
12582 (name "sbcl-custom-hash-table")
12583 (version (git-version "0.3" "1" commit))
12584 (source
12585 (origin
12586 (method git-fetch)
12587 (uri (git-reference
12588 (url "https://github.com/metawilm/cl-custom-hash-table")
12589 (commit commit)))
12590 (file-name (git-file-name name version))
12591 (sha256
12592 (base32 "1k4mvrpbqqds2fwjxp1bxmrfmr8ch4dkwhnkbw559knbqshvrlj5"))))
12593 (build-system asdf-build-system/sbcl)
12594 (arguments
12595 '(#:asd-files '("cl-custom-hash-table.asd")
12596 #:asd-systems '("cl-custom-hash-table")))
12597 (home-page "https://github.com/metawilm/cl-custom-hash-table")
12598 (synopsis "Custom hash tables for Common Lisp")
12599 (description "This library allows creation of hash tables with arbitrary
12600 @code{test}/@code{hash} functions, in addition to the @code{test} functions
12601 allowed by the standard (@code{EQ}, @code{EQL}, @code{EQUAL} and
12602 @code{EQUALP}), even in implementations that don't support this functionality
12603 directly.")
12604 (license license:expat))))
12605
12606 (define-public cl-custom-hash-table
12607 (sbcl-package->cl-source-package sbcl-custom-hash-table))
12608
12609 (define-public ecl-custom-hash-table
12610 (sbcl-package->ecl-package sbcl-custom-hash-table))
12611
12612 (define-public sbcl-collectors
12613 (let ((commit "13acef25d8422d1d82e067b1861e513587c166ee"))
12614 (package
12615 (name "sbcl-collectors")
12616 (version (git-version "0.1" "1" commit))
12617 (source
12618 (origin
12619 (method git-fetch)
12620 (uri (git-reference
12621 (url "https://github.com/AccelerationNet/collectors")
12622 (commit commit)))
12623 (file-name (git-file-name name version))
12624 (sha256
12625 (base32 "1si68n1j6rpns8jw6ksqjpb937pdl30v7xza8rld7j5vh0jhy2yi"))))
12626 (build-system asdf-build-system/sbcl)
12627 (inputs
12628 `(("alexandria" ,sbcl-alexandria)
12629 ("closer-mop" ,sbcl-closer-mop)
12630 ("symbol-munger" ,sbcl-symbol-munger)))
12631 (native-inputs
12632 `(("lisp-unit2" ,sbcl-lisp-unit2)))
12633 (home-page "https://github.com/AccelerationNet/collectors/")
12634 (synopsis "Common lisp library providing collector macros")
12635 (description "A small collection of common lisp macros to make
12636 collecting values easier.")
12637 (license license:bsd-3))))
12638
12639 (define-public cl-collectors
12640 (sbcl-package->cl-source-package sbcl-collectors))
12641
12642 (define-public ecl-collectors
12643 (sbcl-package->ecl-package sbcl-collectors))
12644
12645 (define-public sbcl-cl-environments
12646 (let ((commit "0b22154c5afefef23d1eba9a4fae11d73580ef41")) ; No version in 2 years.
12647 (package
12648 (name "sbcl-cl-environments")
12649 (version (git-version "0.2.3" "1" commit))
12650 (source
12651 (origin
12652 (method git-fetch)
12653 (uri (git-reference
12654 (url "https://github.com/alex-gutev/cl-environments")
12655 (commit commit)))
12656 (file-name (git-file-name name version))
12657 (sha256
12658 (base32
12659 "18r3wfarr7lgn78m6c66r0r9aazirv07gy7xgvqkl9pmrz1bc47m"))))
12660 (build-system asdf-build-system/sbcl)
12661 (inputs
12662 `(("alexandria" ,sbcl-alexandria)
12663 ("anaphora" ,sbcl-anaphora)
12664 ("collectors" ,sbcl-collectors)
12665 ("optima" ,sbcl-optima)))
12666 (native-inputs
12667 `(("prove" ,sbcl-prove)))
12668 (home-page "https://github.com/alex-gutev/cl-environments")
12669 (synopsis "Implements the Common Lisp standard environment access API")
12670 (description "This library provides a uniform API, as specified in Common
12671 Lisp the Language 2, for accessing information about variable and function
12672 bindings from implementation-defined lexical environment objects. All major
12673 Common Lisp implementations are supported, even those which don't support the
12674 CLTL2 environment access API.")
12675 (license license:expat))))
12676
12677 (define-public cl-environments
12678 (sbcl-package->cl-source-package sbcl-cl-environments))
12679
12680 (define-public ecl-environments
12681 (sbcl-package->ecl-package sbcl-cl-environments))
12682
12683 (define-public sbcl-static-dispatch
12684 (let ((commit "6243afcd152854c52ba33daef7394367b657d9c6")
12685 (revision "1"))
12686 (package
12687 (name "sbcl-static-dispatch")
12688 (version (git-version "0.3" revision commit))
12689 (source
12690 (origin
12691 (method git-fetch)
12692 (uri (git-reference
12693 (url "https://github.com/alex-gutev/static-dispatch")
12694 (commit commit)))
12695 (file-name (git-file-name "static-dispatch" version))
12696 (sha256
12697 (base32 "1lli9ar1xbnhkgb5d01rlw4pvfylg2arrw68np2c07fpkkafimg7"))))
12698 (build-system asdf-build-system/sbcl)
12699 (native-inputs
12700 `(("prove" ,sbcl-prove)))
12701 (inputs
12702 `(("agutil" ,sbcl-agutil)
12703 ("alexandria" ,sbcl-alexandria)
12704 ("anaphora" ,sbcl-anaphora)
12705 ("arrows" ,sbcl-arrows)
12706 ("cl-environments" ,sbcl-cl-environments)
12707 ("closer-mop" ,sbcl-closer-mop)
12708 ("iterate" ,sbcl-iterate)
12709 ("trivia" ,sbcl-trivia)))
12710 (home-page "https://github.com/alex-gutev/static-dispatch")
12711 (synopsis "Static generic function dispatch for Common Lisp")
12712 (description "Static dispatch is a Common Lisp library, inspired by
12713 @code{inlined-generic-function}, which allows standard Common Lisp generic
12714 function dispatch to be performed statically (at compile time) rather than
12715 dynamically (runtime). This is similar to what is known as \"overloading\" in
12716 languages such as C++ and Java.
12717
12718 The purpose of static dispatch is to provide an optimization in cases where
12719 the usual dynamic dispatch is too slow, and the dynamic features of generic
12720 functions, such as adding/removing methods at runtime are not required. An
12721 example of such a case is a generic equality comparison function. Currently
12722 generic functions are considered far too slow to implement generic arithmetic
12723 and comparison operations when used heavily in numeric code.")
12724 (license license:expat))))
12725
12726 (define-public cl-static-dispatch
12727 (sbcl-package->cl-source-package sbcl-static-dispatch))
12728
12729 (define-public ecl-static-dispatch
12730 (sbcl-package->ecl-package sbcl-static-dispatch))
12731
12732 (define-public sbcl-generic-cl
12733 ;; Latest commit includes a necessary fix for our Guix build.
12734 (let ((commit "8e5a81487ee3c13fe5ffdc8bdda161d476639535"))
12735 (package
12736 (name "sbcl-generic-cl")
12737 (version (git-version "0.7.1" "1" commit))
12738 (source
12739 (origin
12740 (method git-fetch)
12741 (uri (git-reference
12742 (url "https://github.com/alex-gutev/generic-cl")
12743 (commit commit)))
12744 (file-name (git-file-name name version))
12745 (sha256
12746 (base32
12747 "11w0g79s4wmc78vmfng437rmsgnp5qn246zcyr540fp5nw0ad6ix"))))
12748 (build-system asdf-build-system/sbcl)
12749 (inputs
12750 `(("agutil" ,sbcl-agutil)
12751 ("alexandria" ,sbcl-alexandria)
12752 ("anaphora" ,sbcl-anaphora)
12753 ("arrows" ,sbcl-arrows)
12754 ("cl-custom-hash-table" ,sbcl-custom-hash-table)
12755 ("static-dispatch" ,sbcl-static-dispatch)
12756 ("trivia" ,sbcl-trivia)))
12757 (native-inputs
12758 `(("prove" ,sbcl-prove)))
12759 (arguments
12760 ;; Tests fail because SBCL head size is not high enough.
12761 ;; https://github.com/alex-gutev/generic-cl/issues/6
12762 `(#:tests? #f))
12763 (home-page "https://alex-gutev.github.io/generic-cl/")
12764 (synopsis "Generic function interface to standard Common Lisp functions")
12765 (description "@code{generic-cl} provides a generic function wrapper over
12766 various functions in the Common Lisp standard, such as equality predicates and
12767 sequence operations. The goal of this wrapper is to provide a standard
12768 interface to common operations, such as testing for the equality of two
12769 objects, which is extensible to user-defined types.")
12770 (license license:expat))))
12771
12772 (define-public cl-generic-cl
12773 (sbcl-package->cl-source-package sbcl-generic-cl))
12774
12775 (define-public ecl-generic-cl
12776 (sbcl-package->ecl-package sbcl-generic-cl))
12777
12778 (define-public sbcl-defpackage-plus
12779 (let ((revision "0")
12780 (commit "5492e27e0bdb7b75fa5177ea4388519dc7a75f11"))
12781 (package
12782 (name "sbcl-defpackage-plus")
12783 (version (git-version "1.0" revision commit))
12784 (source
12785 (origin
12786 (method git-fetch)
12787 (uri (git-reference
12788 (url "https://github.com/rpav/defpackage-plus")
12789 (commit commit)))
12790 (file-name (git-file-name name version))
12791 (sha256
12792 (base32 "0lzljvf343xb6mlh6lni2i27hpm5qd376522mk6hr2pa20vd6rdq"))))
12793 (build-system asdf-build-system/sbcl)
12794 (inputs
12795 `(("alexandria" ,sbcl-alexandria)))
12796 (home-page "https://github.com/rpav/defpackage-plus")
12797 (synopsis "Extensible @code{DEFPACKAGE} variant with version support")
12798 (description
12799 "@code{DEFPACKAGE-PLUS} is an extensible @code{DEFPACKAGE} variant with
12800 predictable cross-platform behavior and some utilities useful for versioning.")
12801 (license license:bsd-2))))
12802
12803 (define-public cl-defpackage-plus
12804 (sbcl-package->cl-source-package sbcl-defpackage-plus))
12805
12806 (define-public ecl-defpackage-plus
12807 (sbcl-package->ecl-package sbcl-defpackage-plus))
12808
12809 (define-public sbcl-deploy
12810 (let ((commit "9b20e64fe924b9e31832304d87a3a72c383dc6d8")
12811 (revision "2"))
12812 (package
12813 (name "sbcl-deploy")
12814 (version (git-version "1.0.0" revision commit))
12815 (source
12816 (origin
12817 (method git-fetch)
12818 (uri (git-reference
12819 (url "https://github.com/Shinmera/deploy")
12820 (commit commit)))
12821 (file-name (git-file-name "deploy" version))
12822 (sha256
12823 (base32 "07pfkibaridihg8lbq2czwa4iqifqk24n6rx7bfnv7i49p1ppja1"))))
12824 (build-system asdf-build-system/sbcl)
12825 (arguments
12826 `(#:test-asd-file "deploy-test.asd"
12827 #:asd-files '("deploy.asd"
12828 "deploy-test.asd")))
12829 (native-inputs
12830 `(("cl-mpg123" ,sbcl-cl-mpg123)
12831 ("cl-out123" ,sbcl-cl-out123)))
12832 (inputs
12833 `(("cffi" ,sbcl-cffi)
12834 ("documentation-utils" ,sbcl-documentation-utils)
12835 ("trivial-features" ,sbcl-trivial-features)))
12836 (home-page "https://shinmera.github.io/deploy/")
12837 (synopsis "Deployment tools for standalone Common Lisp application")
12838 (description
12839 "This is a system to help you easily and quickly deploy standalone
12840 common lisp applications as binaries. Specifically it is geared towards
12841 applications with foreign library dependencies that run some kind of GUI.")
12842 (license license:artistic2.0))))
12843
12844 (define-public cl-deploy
12845 (sbcl-package->cl-source-package sbcl-deploy))
12846
12847 (define-public ecl-deploy
12848 (sbcl-package->ecl-package sbcl-deploy))
12849
12850 (define-public sbcl-deeds
12851 ;; taged branch is outdated
12852 (let ((revision "1")
12853 (commit "f5df54eac79b58a34030e0eb8acf3952c788410d"))
12854 (package
12855 (name "sbcl-deeds")
12856 (version (git-version "1.1.1" revision commit))
12857 (source
12858 (origin
12859 (method git-fetch)
12860 (uri (git-reference
12861 (url "https://github.com/Shinmera/deeds")
12862 (commit commit)))
12863 (file-name (git-file-name name version))
12864 (sha256
12865 (base32 "062cnb2dwli6pw3zvv46jfxyxdzcbzwsck5pa6nw03qf1j1hyg3k"))))
12866 (build-system asdf-build-system/sbcl)
12867 (inputs
12868 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12869 ("closer-mop" ,sbcl-closer-mop)
12870 ("form-fiddle" ,sbcl-form-fiddle)
12871 ("lambda-fiddle" ,sbcl-lambda-fiddle)))
12872 (home-page "https://github.com/Shinmera/deeds")
12873 (synopsis "Extensible Event Delivery System")
12874 (description
12875 "@code{deeds} allows for efficient event delivery to multiple handlers
12876 with a complex event filtering system.")
12877 (license license:zlib))))
12878
12879 (define-public cl-deeds
12880 (sbcl-package->cl-source-package sbcl-deeds))
12881
12882 (define-public ecl-deeds
12883 (sbcl-package->ecl-package sbcl-deeds))
12884
12885 (define-public sbcl-make-hash
12886 ;; no tagged branch
12887 (let ((revision "1")
12888 (commit "ae0909cd8e697520a1085fac6f54ac2b448ebd21"))
12889 (package
12890 (name "sbcl-make-hash")
12891 (version (git-version "1.0.2" revision commit))
12892 (source
12893 (origin
12894 (method git-fetch)
12895 (uri (git-reference
12896 (url "https://github.com/genovese/make-hash")
12897 (commit commit)))
12898 (file-name (git-file-name name version))
12899 (sha256
12900 (base32 "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8"))))
12901 (build-system asdf-build-system/sbcl)
12902 (home-page "https://github.com/genovese/make-hash")
12903 (synopsis "Common Lisp package for flexible hash table creation")
12904 (description
12905 "This is a Common Lisp package for hash table creation with flexible,
12906 extensible initializers.")
12907 (license license:bsd-3))))
12908
12909 (define-public cl-make-hash
12910 (sbcl-package->cl-source-package sbcl-make-hash))
12911
12912 (define-public ecl-make-hash
12913 (sbcl-package->ecl-package sbcl-make-hash))
12914
12915 (define-public sbcl-claw-support
12916 (package
12917 (name "sbcl-claw-support")
12918 (version "1.0.0")
12919 (source
12920 (origin
12921 (method git-fetch)
12922 (uri (git-reference
12923 (url "https://github.com/borodust/claw-support")
12924 (commit "9a15c8bed04585f45e6a461bcda1b475144dbd0b")))
12925 (file-name (git-file-name name version))
12926 (sha256
12927 (base32 "1my2ka7h72ipx5n3b465g6kjkasrhsvhqlijwcg6dhlzs5yygl23"))))
12928 (build-system asdf-build-system/sbcl)
12929 (home-page "https://github.com/borodust/claw-support")
12930 (synopsis "Support routines for claw")
12931 (description
12932 "This package provides support routines for the @code{claw} Common Lisp
12933 package.")
12934 (license license:expat)))
12935
12936 (define-public cl-claw-support
12937 (sbcl-package->cl-source-package sbcl-claw-support))
12938
12939 (define-public ecl-claw-support
12940 (sbcl-package->ecl-package sbcl-claw-support))
12941
12942 (define-public sbcl-claw
12943 (let ((revision "0")
12944 (commit "3cd4a96fca95eb9e8d5d069426694669f81b2250"))
12945 (package
12946 (name "sbcl-claw")
12947 (version (git-version "1.0" revision commit))
12948 (source
12949 (origin
12950 (method git-fetch)
12951 (uri (git-reference
12952 (url "https://github.com/borodust/claw")
12953 (commit commit)))
12954 (file-name (git-file-name "claw" version))
12955 (sha256
12956 (base32 "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d"))))
12957 (build-system asdf-build-system/sbcl)
12958 (inputs
12959 `(("alexandria" ,sbcl-alexandria)
12960 ("cffi" ,sbcl-cffi)
12961 ("cl-json" ,sbcl-cl-json)
12962 ("cl-ppcre" ,sbcl-cl-ppcre)
12963 ("claw-support" ,sbcl-claw-support)
12964 ("local-time" ,sbcl-local-time)
12965 ("trivial-features" ,sbcl-trivial-features)))
12966 (home-page "https://github.com/borodust/claw")
12967 (synopsis "Autowrapper for Common Lisp")
12968 (description
12969 "This is a Common Lisp autowrapping facility for quickly creating clean
12970 and lean bindings to C libraries.")
12971 (license license:bsd-2))))
12972
12973 (define-public cl-claw
12974 (sbcl-package->cl-source-package sbcl-claw))
12975
12976 (define-public ecl-claw
12977 (sbcl-package->ecl-package sbcl-claw))
12978
12979 (define-public sbcl-claw-utils
12980 (let ((revision "0")
12981 (commit "efe25016501973dc369f067a64c7d225802bc56f"))
12982 (package
12983 (name "sbcl-claw-utils")
12984 ;; version is not specified
12985 (version (git-version "0.0.0" revision commit))
12986 (source
12987 (origin
12988 (method git-fetch)
12989 (uri (git-reference
12990 (url "https://github.com/borodust/claw-utils")
12991 (commit commit)))
12992 (file-name (git-file-name "claw-utils" version))
12993 (sha256
12994 (base32 "01df3kyf2qs3czi332dnz2s35x2j0fq46vgmsw7wjrrvnqc22mk5"))))
12995 (build-system asdf-build-system/sbcl)
12996 (inputs
12997 `(("alexandria" ,sbcl-alexandria)
12998 ("cffi" ,sbcl-cffi)
12999 ("claw" ,sbcl-claw)))
13000 (home-page "https://github.com/borodust/claw-utils")
13001 (synopsis "Utilities for easier autowrapping")
13002 (description
13003 "This Common Lisp library contains various handy utilties to help
13004 autowrapping with @code{claw}.")
13005 (license license:expat))))
13006
13007 (define-public cl-claw-utils
13008 (sbcl-package->cl-source-package sbcl-claw-utils))
13009
13010 (define-public ecl-claw-utils
13011 (sbcl-package->ecl-package sbcl-claw-utils))
13012
13013 (define-public sbcl-array-operations
13014 (let ((commit "75cbc3b1adb2e3ce2109489753d0f290b071e81b")
13015 (revision "0"))
13016 (package
13017 (name "sbcl-array-operations")
13018 (version (git-version "0.0.0" revision commit))
13019 (source
13020 (origin
13021 (method git-fetch)
13022 (uri (git-reference
13023 (url "https://github.com/bendudson/array-operations")
13024 (commit commit)))
13025 (file-name (git-file-name "array-operations" version))
13026 (sha256
13027 (base32 "0ip49hhq32w80qsc7jmspyda5r2rsszvw0mk2r3341cld78sz9ya"))))
13028 (build-system asdf-build-system/sbcl)
13029 (native-inputs
13030 `(("alexandria" ,sbcl-alexandria)
13031 ("clunit2" ,sbcl-clunit2)))
13032 (inputs
13033 `(("let-plus" ,sbcl-let-plus)))
13034 (synopsis "Simple array operations library for Common Lisp")
13035 (description
13036 "This library is a collection of functions and macros for manipulating
13037 Common Lisp arrays and performing numerical calculations with them.")
13038 (home-page "https://github.com/bendudson/array-operations")
13039 (license license:expat))))
13040
13041 (define-public cl-array-operations
13042 (sbcl-package->cl-source-package sbcl-array-operations))
13043
13044 (define-public ecl-array-operations
13045 (sbcl-package->ecl-package sbcl-array-operations))
13046
13047 (define-public sbcl-clml
13048 (let ((commit "95505b54c8c7b4b27f500c3be97fa5732f4b51a8")
13049 (revision "0"))
13050 (package
13051 (name "sbcl-clml")
13052 (version (git-version "0.0.0" revision commit))
13053 (source
13054 (origin
13055 (method git-fetch)
13056 (uri (git-reference
13057 (url "https://github.com/mmaul/clml")
13058 (commit commit)))
13059 (file-name (git-file-name "clml" version))
13060 (sha256
13061 (base32 "006pii59nmpc61n7p7h8ha5vjg6x0dya327i58z0rnvxs249h345"))
13062 ;; TODO: Remove this when the patch has been merged upstream.
13063 (patches (search-patches "sbcl-clml-fix-types.patch"))))
13064 (build-system asdf-build-system/sbcl)
13065 (inputs
13066 `(("alexandia" ,sbcl-alexandria)
13067 ("array-operations" ,sbcl-array-operations)
13068 ("cl-fad" ,sbcl-cl-fad)
13069 ("cl-ppcre" ,sbcl-cl-ppcre)
13070 ("drakma" ,sbcl-drakma)
13071 ("introspect-environment" ,sbcl-introspect-environment)
13072 ("iterate" ,sbcl-iterate)
13073 ("lparallel" ,sbcl-lparallel)
13074 ("parse-number" ,sbcl-parse-number)
13075 ("split-sequence" ,sbcl-split-sequence)
13076 ("trivial-garbage" ,sbcl-trivial-garbage)))
13077 (synopsis "Common Lisp machine learning library")
13078 (description
13079 "CLML (Common Lisp Machine Learning) is a high performance and large
13080 scale statistical machine learning package")
13081 (home-page "https://mmaul.github.io/clml/")
13082 (license license:llgpl))))
13083
13084 (define-public cl-clml
13085 (sbcl-package->cl-source-package sbcl-clml))
13086
13087 (define-public sbcl-utm-ups
13088 (let ((commit "780f1d8ab6290ad2be0f40e2cddc2535fa6fe979")
13089 (revision "0"))
13090 (package
13091 (name "sbcl-utm-ups")
13092 (version (git-version "1.0" revision commit))
13093 (source
13094 (origin
13095 (method git-fetch)
13096 (uri (git-reference
13097 (url "https://github.com/glv2/utm-ups")
13098 (commit commit)))
13099 (file-name (git-file-name "utm-ups" version))
13100 (sha256
13101 (base32 "0l3kr2m56skf5cx3kkkdcis7msmidcsixx9fqjapkcjsj8x67aqq"))))
13102 (build-system asdf-build-system/sbcl)
13103 (native-inputs
13104 `(("fiveam" ,sbcl-fiveam)))
13105 (synopsis
13106 "Convert coordinates between latitude/longitude and UTM or UPS")
13107 (description
13108 "This a Common Lisp library to convert geographic coordinates between
13109 latitude/longitude and UTM (Universal Transverse Mercator) or UPS (Universal
13110 Polar Stereographic).")
13111 (home-page "https://github.com/glv2/utm-ups")
13112 (license license:gpl3+))))
13113
13114 (define-public cl-utm-ups
13115 (sbcl-package->cl-source-package sbcl-utm-ups))
13116
13117 (define-public ecl-utm-ups
13118 (sbcl-package->ecl-package sbcl-utm-ups))
13119
13120 (define-public sbcl-mgrs
13121 (let ((commit "00455460407b7e5509d1be3da09bf6152956761f")
13122 (revision "0"))
13123 (package
13124 (name "sbcl-mgrs")
13125 (version (git-version "1.0" revision commit))
13126 (source
13127 (origin
13128 (method git-fetch)
13129 (uri (git-reference
13130 (url "https://github.com/glv2/mgrs")
13131 (commit commit)))
13132 (file-name (git-file-name "mgrs" version))
13133 (sha256
13134 (base32 "0ckvn4hg3wwivzavhfashb6fap4a1q10l8krhbng8bdb54ac10sz"))))
13135 (build-system asdf-build-system/sbcl)
13136 (native-inputs
13137 `(("fiveam" ,sbcl-fiveam)))
13138 (inputs
13139 `(("utm-ups" ,sbcl-utm-ups)))
13140 (synopsis
13141 "Convert coordinates between latitude/longitude and MGRS")
13142 (description
13143 "This a Common Lisp library to convert geographic coordinates between
13144 latitude/longitude and MGRS.")
13145 (home-page "https://github.com/glv2/mgrs")
13146 (license license:gpl3+))))
13147
13148 (define-public cl-mgrs
13149 (sbcl-package->cl-source-package sbcl-mgrs))
13150
13151 (define-public ecl-mgrs
13152 (sbcl-package->ecl-package sbcl-mgrs))
13153
13154 (define-public sbcl-maidenhead
13155 (let ((commit "b756d235c27b5d6798867aa240318af1a8f35d6d")
13156 (revision "0"))
13157 (package
13158 (name "sbcl-maidenhead")
13159 (version (git-version "1.0" revision commit))
13160 (source
13161 (origin
13162 (method git-fetch)
13163 (uri (git-reference
13164 (url "https://github.com/glv2/maidenhead")
13165 (commit commit)))
13166 (file-name (git-file-name "maidenhead" version))
13167 (sha256
13168 (base32 "02p990zprhjvifmsfk8yh3frvz6xyw26ikzxvzglqdixbal36nr3"))))
13169 (build-system asdf-build-system/sbcl)
13170 (native-inputs
13171 `(("fiveam" ,sbcl-fiveam)))
13172 (synopsis
13173 "Convert coordinates between latitude/longitude and Maidenhead")
13174 (description
13175 "This a Common Lisp library to convert geographic coordinates between
13176 latitude/longitude and Maidenhead locator system.")
13177 (home-page "https://github.com/glv2/maidenhead")
13178 (license license:gpl3+))))
13179
13180 (define-public cl-maidenhead
13181 (sbcl-package->cl-source-package sbcl-maidenhead))
13182
13183 (define-public ecl-maidenhead
13184 (sbcl-package->ecl-package sbcl-maidenhead))
13185
13186 (define-public sbcl-olc
13187 (let ((commit "517e27fa57d9a119b00a29c4b6b31e553deff309")
13188 (revision "0"))
13189 (package
13190 (name "sbcl-olc")
13191 (version (git-version "1.0" revision commit))
13192 (source
13193 (origin
13194 (method git-fetch)
13195 (uri (git-reference
13196 (url "https://github.com/glv2/olc")
13197 (commit commit)))
13198 (file-name (git-file-name "olc" version))
13199 (sha256
13200 (base32 "1lnfhp6z6kc8l605zp4siyjiw74y1h4bdq3jfizi084v505wxhgr"))))
13201 (build-system asdf-build-system/sbcl)
13202 (native-inputs
13203 `(("fiveam" ,sbcl-fiveam)))
13204 (synopsis
13205 "Convert coordinates between latitude/longitude and Open Location Code")
13206 (description
13207 "This a Common Lisp library to convert geographic coordinates between
13208 latitude/longitude and Open Location Code.")
13209 (home-page "https://github.com/glv2/olc")
13210 (license license:gpl3+))))
13211
13212 (define-public cl-olc
13213 (sbcl-package->cl-source-package sbcl-olc))
13214
13215 (define-public ecl-olc
13216 (sbcl-package->ecl-package sbcl-olc))
13217
13218 (define-public sbcl-regex
13219 (let ((commit "fbc9a9f313b9edc1788f33d4b23a29151635ae22"))
13220 (package
13221 (name "sbcl-regex")
13222 (version (git-version "1" "1" commit))
13223 (source
13224 (origin
13225 (method git-fetch)
13226 (uri (git-reference
13227 (url "https://github.com/michaelw/regex/")
13228 (commit commit)))
13229 (file-name (git-file-name name version))
13230 (sha256
13231 (base32 "0wq5wlafrxv13wg28hg5b10sc48b88swsvznpy2zg7x37m4nmm6a"))))
13232 (build-system asdf-build-system/sbcl)
13233 (home-page "https://github.com/michaelw/regex/")
13234 (synopsis "Regular expression engine for Common Lisp")
13235 (description
13236 "This Common Lisp package provides a regular expression engine.")
13237 (license license:bsd-2))))
13238
13239 (define-public cl-regex
13240 (sbcl-package->cl-source-package sbcl-regex))
13241
13242 (define-public ecl-regex
13243 (sbcl-package->ecl-package sbcl-regex))
13244
13245 (define-public sbcl-clawk
13246 (let ((commit "3a91634df686417114044a98c063cbe76bfac7b6"))
13247 (package
13248 (name "sbcl-clawk")
13249 (version (git-version "4" "1" commit))
13250 (source
13251 (origin
13252 (method git-fetch)
13253 (uri (git-reference
13254 (url "https://github.com/sharplispers/clawk")
13255 (commit commit)))
13256 (file-name (git-file-name name version))
13257 (sha256
13258 (base32 "1ph3xjqilvinvgr9q3w47zxqyz1sqnq030nlx7kgkkv8j3bnqk7a"))))
13259 (build-system asdf-build-system/sbcl)
13260 (inputs
13261 `(("sbcl-regex" ,sbcl-regex)))
13262 (home-page "https://github.com/sharplispers/clawk")
13263 (synopsis "Common Lisp AWK")
13264 (description
13265 "CLAWK is an AWK implementation embedded into Common Lisp.")
13266 (license license:bsd-2))))
13267
13268 (define-public cl-clawk
13269 (sbcl-package->cl-source-package sbcl-clawk))
13270
13271 (define-public ecl-clawk
13272 (sbcl-package->ecl-package sbcl-clawk))
13273
13274 (define-public sbcl-check-it
13275 (let ((commit "b79c9103665be3976915b56b570038f03486e62f"))
13276 (package
13277 (name "sbcl-check-it")
13278 (version (git-version "0.1.0" "1" commit))
13279 (source
13280 (origin
13281 (method git-fetch)
13282 (uri (git-reference
13283 (url "https://github.com/DalekBaldwin/check-it/")
13284 (commit commit)))
13285 (file-name (git-file-name name version))
13286 (sha256
13287 (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"))))
13288 (build-system asdf-build-system/sbcl)
13289 (inputs
13290 `(("alexandria" ,sbcl-alexandria)
13291 ("closer-mop" ,sbcl-closer-mop)
13292 ("optima" ,sbcl-optima)))
13293 (native-inputs
13294 `(("stefil" ,sbcl-stefil)))
13295 (home-page "https://github.com/arclanguage/Clamp")
13296 (synopsis "Randomized specification-based testing for Common Lisp")
13297 (description
13298 "This is a randomized property-based testing library for Common Lisp.
13299 Rather than being a full-fledged general test framework in its own right, it's
13300 designed to embed randomized tests in whatever framework you like.")
13301 (license license:llgpl))))
13302
13303 (define-public cl-check-it
13304 (sbcl-package->cl-source-package sbcl-check-it))
13305
13306 (define-public ecl-check-it
13307 (sbcl-package->ecl-package sbcl-check-it))
13308
13309 (define-public sbcl-clamp
13310 (let ((commit "02b8f3953e5753cc61a719807c82f3795cd28fe1"))
13311 (package
13312 (name "sbcl-clamp")
13313 (version (git-version "0.3" "1" commit))
13314 (source
13315 (origin
13316 (method git-fetch)
13317 (uri (git-reference
13318 (url "https://github.com/arclanguage/Clamp")
13319 (commit commit)))
13320 (file-name (git-file-name name version))
13321 (sha256
13322 (base32 "0fdr9nqfmmpxm6hvjdxi1jkclya9xlnrw1yc3cn1m4ww3f50p31m"))))
13323 (build-system asdf-build-system/sbcl)
13324 (inputs
13325 `(("iterate" ,sbcl-iterate)
13326 ("cl-syntax" ,sbcl-cl-syntax)))
13327 (native-inputs
13328 `(("cl-unit" ,sbcl-clunit)
13329 ("check-it" ,sbcl-check-it)))
13330 (arguments
13331 `(#:phases
13332 (modify-phases %standard-phases
13333 (add-after 'unpack 'fix-build
13334 (lambda _
13335 (substitute* "clamp.asd"
13336 (("\\(:file \"read\" :depends-on \\(\"aliases\"\\)\\)")
13337 "(:file \"read\" :depends-on (\"aliases\" \"base\"))"))
13338 #t)))))
13339 (home-page "https://github.com/arclanguage/Clamp")
13340 (synopsis "Common Lisp with Arc macros and procedures")
13341 (description
13342 "Clamp is an attempt to bring the powerful, but verbose, language of
13343 Common Lisp up to the terseness of Arc.
13344
13345 There are two parts to Clamp. There is the core of Clamp, which implements
13346 the utilities of Arc that are easily converted from Arc to Common Lisp. The
13347 other part is the \"experimental\" part. It contains features of Arc that are
13348 not so easy to copy (ssyntax, argument destructuring, etc.).")
13349 (license license:artistic2.0))))
13350
13351 (define-public cl-clamp
13352 (sbcl-package->cl-source-package sbcl-clamp))
13353
13354 (define-public ecl-clamp
13355 (sbcl-package->ecl-package sbcl-clamp))
13356
13357 (define-public sbcl-trivial-shell
13358 (let ((commit "e02ec191b34b52deca5d1c4ee99d4fa13b8772e0"))
13359 (package
13360 (name "sbcl-trivial-shell")
13361 (version (git-version "0.2.0" "1" commit))
13362 (source
13363 (origin
13364 (method git-fetch)
13365 (uri (git-reference
13366 (url "https://github.com/gwkkwg/trivial-shell")
13367 (commit commit)))
13368 (file-name (git-file-name name version))
13369 (sha256
13370 (base32 "08mpkl5ij5sjfsyn8pq2kvsvpvyvr7ha1r8g1224fa667b8k2q85"))))
13371 (build-system asdf-build-system/sbcl)
13372 (native-inputs
13373 `(("lift" ,sbcl-lift)))
13374 (home-page "http://common-lisp.net/project/trivial-shell/")
13375 (synopsis "Common Lisp access to the shell")
13376 (description
13377 "A simple Common-Lisp interface to the underlying operating system.
13378 It's independent of the implementation and operating system.")
13379 (license license:expat))))
13380
13381 (define-public cl-trivial-shell
13382 (sbcl-package->cl-source-package sbcl-trivial-shell))
13383
13384 (define-public ecl-trivial-shell
13385 (sbcl-package->ecl-package sbcl-trivial-shell))
13386
13387 (define-public sbcl-clesh
13388 (let ((commit "44e96e04a72e5bc006dc4eb02ce8962348dd4a11"))
13389 (package
13390 (name "sbcl-clesh")
13391 (version (git-version "0.0.0" "1" commit))
13392 (source
13393 (origin
13394 (method git-fetch)
13395 (uri (git-reference
13396 (url "https://github.com/Neronus/Clesh")
13397 (commit commit)))
13398 (file-name (git-file-name name version))
13399 (sha256
13400 (base32 "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318"))))
13401 (build-system asdf-build-system/sbcl)
13402 (inputs
13403 `(("trivial-shell" ,sbcl-trivial-shell)
13404 ("named-readtables" ,sbcl-named-readtables)))
13405 (home-page "https://github.com/Neronus/Clesh")
13406 (synopsis "Embed shell code in Common Lisp")
13407 (description
13408 "This is a very short and simple program, written in Common Lisp, that
13409 extends Common Lisp to embed shell code in a manner similar to Perl's
13410 backtick. It has been forked from SHELISP.")
13411 (license license:bsd-2))))
13412
13413 (define-public cl-clesh
13414 (sbcl-package->cl-source-package sbcl-clesh))
13415
13416 (define-public ecl-clesh
13417 (sbcl-package->ecl-package sbcl-clesh))
13418
13419 (define-public sbcl-trivial-channels
13420 (let ((commit "e2370118d8983ba69c0360a7695f8f2e2fd6a8a6")
13421 (revision "1"))
13422 (package
13423 (name "sbcl-trivial-channels")
13424 (version (git-version "1.0" revision commit))
13425 (source
13426 (origin
13427 (method git-fetch)
13428 (uri (git-reference
13429 (url "https://github.com/rpav/trivial-channels")
13430 (commit commit)))
13431 (file-name (git-file-name "trivial-channels" version))
13432 (sha256
13433 (base32 "04wnxcgk40x8p0gxnz9arv1a5wasdqrdxa8c4p5v7r2mycfps6jj"))))
13434 (build-system asdf-build-system/sbcl)
13435 (inputs
13436 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13437 ("trivial-timeout" ,sbcl-trivial-timeout)))
13438 (home-page "https://github.com/rpav/trivial-channels")
13439 (synopsis "Common Lisp simple thread-safe channels with timeout")
13440 (description
13441 "It's very basic implementation of channels and queue for Common Lisp.")
13442 (license license:bsd-2))))
13443
13444 (define-public ecl-trivial-channels
13445 (sbcl-package->ecl-package sbcl-trivial-channels))
13446
13447 (define-public cl-trivial-channels
13448 (sbcl-package->cl-source-package sbcl-trivial-channels))
13449
13450 (define-public sbcl-trivial-download
13451 (let ((commit "d2472061d86b1cf3d32f388daacd4e32a13af699"))
13452 (package
13453 (name "sbcl-trivial-download")
13454 (version (git-version "0.3" "1" commit))
13455 (source
13456 (origin
13457 (method git-fetch)
13458 (uri (git-reference
13459 (url "https://github.com/eudoxia0/trivial-download/")
13460 (commit commit)))
13461 (file-name (git-file-name name version))
13462 (sha256
13463 (base32 "06f46zr3gp3wlm2kgxna24qd2gpr1v89x9fynh1x5vrw6c6hqjcv"))))
13464 (build-system asdf-build-system/sbcl)
13465 (inputs
13466 `(("drakma" ,sbcl-drakma)))
13467 (home-page "https://github.com/eudoxia0/trivial-download/")
13468 (synopsis "Download files from Common Lisp")
13469 (description
13470 "@code{trivial-download} allows you to download files from the Internet
13471 from Common Lisp. It provides a progress bar.")
13472 (license license:bsd-2))))
13473
13474 (define-public cl-trivial-download
13475 (sbcl-package->cl-source-package sbcl-trivial-download))
13476
13477 (define-public ecl-trivial-download
13478 (sbcl-package->ecl-package sbcl-trivial-download))
13479
13480 (define-public sbcl-gtwiwtg
13481 (package
13482 (name "sbcl-gtwiwtg")
13483 (version "0.1.1")
13484 (source
13485 (origin
13486 (method git-fetch)
13487 (uri (git-reference
13488 (url "https://github.com/cbeo/gtwiwtg/")
13489 (commit version)))
13490 (file-name (git-file-name name version))
13491 (sha256
13492 (base32 "0lkraw0dwh4is4x5sp5rjrw6f93m0gr9849abrbi12s25ws7jbw4"))))
13493 (build-system asdf-build-system/sbcl)
13494 (native-inputs
13495 `(("osicat" ,sbcl-osicat)
13496 ("prove" ,sbcl-prove)))
13497 (home-page "https://github.com/cbeo/gtwiwtg/")
13498 (synopsis "Naive generators for Common Lisp")
13499 (description
13500 "The GTWIWTG library (Generators The Way I Want Them Generated --
13501 technically not generators, but iterators) is meant to be small, explorable,
13502 and understandable.")
13503 (license license:gpl3)))
13504
13505 (define-public cl-gtwiwtg
13506 (sbcl-package->cl-source-package sbcl-gtwiwtg))
13507
13508 (define-public ecl-gtwiwtg
13509 (sbcl-package->ecl-package sbcl-gtwiwtg))
13510
13511 (define-public sbcl-cl-progress-bar
13512 (let ((commit "9374170858663c8fe829e9fb5a29bd2cb48d95ae"))
13513 (package
13514 (name "sbcl-cl-progress-bar")
13515 (version (git-version "0.0.0" "1" commit))
13516 (source
13517 (origin
13518 (method git-fetch)
13519 (uri (git-reference
13520 (url "https://github.com/sirherrbatka/cl-progress-bar/")
13521 (commit commit)))
13522 (file-name (git-file-name name version))
13523 (sha256
13524 (base32 "1ldb4qhmx431n3lsq71ynwb9ybazbfqd55icjbhi06mj52ngndir"))))
13525 (build-system asdf-build-system/sbcl)
13526 (inputs
13527 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13528 ("documentation-utils-extensions" ,sbcl-documentation-utils-extensions)))
13529 (home-page "https://github.com/sirherrbatka/cl-progress-bar/")
13530 (synopsis "Progress bars in Common Lisp")
13531 (description
13532 "This library provides almost the same code as used inside Quicklisp
13533 for drawning progress bars")
13534 (license license:expat))))
13535
13536 (define-public cl-progress-bar
13537 (sbcl-package->cl-source-package sbcl-cl-progress-bar))
13538
13539 (define-public ecl-cl-progress-bar
13540 (sbcl-package->ecl-package sbcl-cl-progress-bar))
13541
13542 (define-public sbcl-repl-utilities
13543 (let ((commit "7e300df663177ea4581f4e7e9c601377881dd986"))
13544 (package
13545 (name "sbcl-repl-utilities")
13546 (version (git-version "0.0.0" "1" commit))
13547 (source
13548 (origin
13549 (method git-fetch)
13550 (uri (git-reference
13551 (url "https://github.com/m-n/repl-utilities/")
13552 (commit commit)))
13553 (file-name (git-file-name name version))
13554 (sha256
13555 (base32 "1hh56pq5nw3l4b83dzlyss69f06r038byj2cnjwvci4hfjhdfcc3"))))
13556 (build-system asdf-build-system/sbcl)
13557 (home-page "https://github.com/m-n/repl-utilities")
13558 (synopsis "Ease common tasks at the Common Lisp REPL")
13559 (description
13560 "@code{repl-utilities} is a set of utilities which ease life at the
13561 REPL. It includes three sorts of features: introspective procedures,
13562 miscellaneous utility functions, and, pulling them together, methods to
13563 conveniently keep these symbols and optionally additional symbols available in
13564 whichever package you switch to.")
13565 (license license:bsd-2))))
13566
13567 (define-public cl-repl-utilities
13568 (sbcl-package->cl-source-package sbcl-repl-utilities))
13569
13570 (define-public ecl-repl-utilities
13571 (sbcl-package->ecl-package sbcl-repl-utilities))
13572
13573 (define-public sbcl-supertrace
13574 (let ((commit "66d22c3ff131ecd1c8048dfced1d62ed6024ecb0"))
13575 (package
13576 (name "sbcl-supertrace")
13577 (version (git-version "0.1.0" "1" commit))
13578 (source
13579 (origin
13580 (method git-fetch)
13581 (uri (git-reference
13582 (url "https://github.com/fukamachi/supertrace")
13583 (commit commit)))
13584 (file-name (git-file-name name version))
13585 (sha256
13586 (base32 "0n369n6b7y1m49biccnnr7svymjdsk8sksrkqrn3mj21vgv7s7bg"))))
13587 (build-system asdf-build-system/sbcl)
13588 (native-inputs
13589 `(("cffi-grovel" ,sbcl-cffi)
13590 ("rove" ,sbcl-rove)
13591 ("cl-ppcre" ,sbcl-cl-ppcre)
13592 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
13593 (inputs
13594 `(("cffi" ,sbcl-cffi)))
13595 (home-page "https://github.com/fukamachi/supertrace")
13596 (synopsis "Improved Common Lisp tracing for debugging and profiling")
13597 (description
13598 "Supertrace provides a superior Common Lisp @code{trace} functionality
13599 for debugging and profiling real world applications.")
13600 (license license:bsd-2))))
13601
13602 (define-public cl-supertrace
13603 (sbcl-package->cl-source-package sbcl-supertrace))
13604
13605 (define-public ecl-supertrace
13606 (sbcl-package->ecl-package sbcl-supertrace))
13607
13608 (define-public sbcl-trivial-benchmark
13609 (let ((commit "42d76733dd2e873471c6f1e27d39113293f7dd5c"))
13610 (package
13611 (name "sbcl-trivial-benchmark")
13612 (version (git-version "2.0.0" "1" commit))
13613 (source
13614 (origin
13615 (method git-fetch)
13616 (uri (git-reference
13617 (url "https://github.com/Shinmera/trivial-benchmark/")
13618 (commit commit)))
13619 (file-name (git-file-name name version))
13620 (sha256
13621 (base32 "0fbzqbpm2ixz85555krl36kbbbjyn699vdj6k383khi3g9y629fa"))))
13622 (build-system asdf-build-system/sbcl)
13623 (inputs
13624 `(("alexandria" ,sbcl-alexandria)))
13625 (home-page "http://shinmera.github.io/trivial-benchmark/")
13626 (synopsis "Easy to use benchmarking system for Common Lisp")
13627 (description
13628 "Trivial-Benchmark runs a block of code many times and outputs some
13629 statistical data for it. On SBCL this includes the data from @code{time}, for
13630 all other implementations just the @code{real-time} and @code{run-time} data.
13631 However, you can extend the system by adding your own @code{metrics} to it, or
13632 even by adding additional statistical @code{compute}ations. ")
13633 (license license:zlib))))
13634
13635 (define-public cl-trivial-benchmark
13636 (sbcl-package->cl-source-package sbcl-trivial-benchmark))
13637
13638 (define-public ecl-trivial-benchmark
13639 (sbcl-package->ecl-package sbcl-trivial-benchmark))
13640
13641 (define-public sbcl-glyphs
13642 (let ((commit "1ff5714e8c1dca327bc604dfe3e3d1f4b7755373"))
13643 (package
13644 (name "sbcl-glyphs")
13645 (version (git-version "0.0.0" "1" commit))
13646 (source
13647 (origin
13648 (method git-fetch)
13649 (uri (git-reference
13650 (url "https://github.com/ahungry/glyphs/")
13651 (commit commit)))
13652 (file-name (git-file-name name version))
13653 (sha256
13654 (base32 "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf"))))
13655 (build-system asdf-build-system/sbcl)
13656 (inputs
13657 `(("cl-ppcre" ,sbcl-cl-ppcre)
13658 ("parenscript" ,sbcl-parenscript)
13659 ("named-readtables" ,sbcl-named-readtables)))
13660 (home-page "https://github.com/ahungry/glyphs/")
13661 (synopsis "Reduce Common Lisp verbosity")
13662 (description
13663 "This library is a little experiment in reducing verbosity in Common
13664 Lisp, inspired by BODOL (@url{https://github.com/bodil/BODOL}).")
13665 (license license:gpl3))))
13666
13667 (define-public cl-glyphs
13668 (sbcl-package->cl-source-package sbcl-glyphs))
13669
13670 (define-public ecl-glyphs
13671 (sbcl-package->ecl-package sbcl-glyphs))
13672
13673 (define-public sbcl-zs3
13674 (package
13675 (name "sbcl-zs3")
13676 (version "1.3.3")
13677 (source
13678 (origin
13679 (method git-fetch)
13680 (uri
13681 (git-reference
13682 (url "https://github.com/xach/zs3")
13683 (commit (string-append "release-" version))))
13684 (file-name (git-file-name "zs3" version))
13685 (sha256
13686 (base32 "186v95wgsj2hkxdw2jl9x1w4fddjclp7arp0rrd9vf5ly8h8sbf3"))))
13687 (build-system asdf-build-system/sbcl)
13688 (inputs
13689 `(("drakma" ,sbcl-drakma)
13690 ("alexandria" ,sbcl-alexandria)
13691 ("cxml" ,sbcl-cxml)
13692 ("ironclad" ,sbcl-ironclad)
13693 ("puri" ,sbcl-puri)
13694 ("cl-base64" ,sbcl-cl-base64)))
13695 (synopsis "Work with Amazon S3 and Amazon CloudFront from Common Lisp")
13696 (description "This is ZS3, a library for working with Amazon's Simple Storage
13697 Service (S3) and CloudFront service from Common Lisp.")
13698 (home-page "https://github.com/xach/zs3")
13699 (license license:bsd-2)))
13700
13701 (define-public cl-zs3
13702 (sbcl-package->cl-source-package sbcl-zs3))
13703
13704 (define-public ecl-zs3
13705 (sbcl-package->ecl-package sbcl-zs3))
13706
13707 (define-public sbcl-simple-neural-network
13708 (package
13709 (name "sbcl-simple-neural-network")
13710 (version "3.1")
13711 (source
13712 (origin
13713 (method git-fetch)
13714 (uri (git-reference
13715 (url "https://github.com/glv2/simple-neural-network")
13716 (commit (string-append "v" version))))
13717 (file-name (git-file-name "simple-neural-network" version))
13718 (sha256
13719 (base32 "1jj1c90fr5clwka0jv32hv6xp1bkdlpa6x5jh19an13rhx8ll4zr"))))
13720 (build-system asdf-build-system/sbcl)
13721 (native-inputs
13722 `(("chipz" ,sbcl-chipz)
13723 ("fiveam" ,sbcl-fiveam)))
13724 (inputs
13725 `(("cl-store" ,sbcl-cl-store)
13726 ("lparallel" ,sbcl-lparallel)))
13727 (arguments
13728 `(#:phases
13729 (modify-phases %standard-phases
13730 (add-after 'check 'remove-test-data
13731 (lambda* (#:key outputs #:allow-other-keys)
13732 (let ((out (assoc-ref outputs "out")))
13733 (for-each delete-file (find-files out "\\.gz$"))))))))
13734 (synopsis "Simple neural network in Common Lisp")
13735 (description
13736 "@code{simple-neural-network} is a Common Lisp library for creating,
13737 training and using basic neural networks. The networks created by this
13738 library are feedforward neural networks trained using backpropagation.")
13739 (home-page "https://github.com/glv2/simple-neural-network")
13740 (license license:gpl3+)))
13741
13742 (define-public cl-simple-neural-network
13743 (sbcl-package->cl-source-package sbcl-simple-neural-network))
13744
13745 (define-public ecl-simple-neural-network
13746 (sbcl-package->ecl-package sbcl-simple-neural-network))
13747
13748 (define-public sbcl-zstd
13749 (let ((commit "d144582c581aaa52bac24d6686af27fa3e781e06")
13750 (revision "1"))
13751 (package
13752 (name "sbcl-zstd")
13753 (version (git-version "1.0" revision commit))
13754 (source
13755 (origin
13756 (method git-fetch)
13757 (uri (git-reference
13758 (url "https://github.com/glv2/cl-zstd")
13759 (commit commit)))
13760 (file-name (git-file-name "cl-zstd" version))
13761 (sha256
13762 (base32 "1774jy8hzbi6nih3sq6vchk66f7g8w86dwgpbvljyfzcnkcaz6ql"))))
13763 (build-system asdf-build-system/sbcl)
13764 (native-inputs
13765 `(("fiveam" ,sbcl-fiveam)))
13766 (inputs
13767 `(("cffi" ,sbcl-cffi)
13768 ("cl-octet-streams" ,sbcl-cl-octet-streams)
13769 ("zstd-lib" ,zstd "lib")))
13770 (arguments
13771 '(#:phases
13772 (modify-phases %standard-phases
13773 (add-after 'unpack 'fix-paths
13774 (lambda* (#:key inputs #:allow-other-keys)
13775 (substitute* "src/libzstd.lisp"
13776 (("libzstd\\.so")
13777 (string-append (assoc-ref inputs "zstd-lib")
13778 "/lib/libzstd.so")))
13779 #t)))))
13780 (synopsis "Common Lisp library for Zstandard (de)compression")
13781 (description
13782 "This Common Lisp library provides functions for Zstandard
13783 compression/decompression using bindings to the libzstd C library.")
13784 (home-page "https://github.com/glv2/cl-zstd")
13785 (license license:gpl3+))))
13786
13787 (define-public cl-zstd
13788 (sbcl-package->cl-source-package sbcl-zstd))
13789
13790 (define-public ecl-zstd
13791 (sbcl-package->ecl-package sbcl-zstd))
13792
13793 (define-public sbcl-agnostic-lizard
13794 (let ((commit "fe3a73719f05901c8819f8995a3ebae738257952")
13795 (revision "1"))
13796 (package
13797 (name "sbcl-agnostic-lizard")
13798 (version (git-version "0.0.0" revision commit))
13799 (source
13800 (origin
13801 (method git-fetch)
13802 (uri (git-reference
13803 (url "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
13804 (commit commit)))
13805 (file-name (git-file-name name version))
13806 (sha256
13807 (base32 "0ax78y8w4zlp5dcwyhz2nq7j3shi49qn31dkfg8lv2jlg7mkwh2d"))))
13808 (build-system asdf-build-system/sbcl)
13809 (synopsis "Almost correct portable code walker for Common Lisp")
13810 (description
13811 "Agnostic Lizard is a portable implementation of a code walker and in
13812 particular of the macroexpand-all function (and macro) that makes a best
13813 effort to be correct while not expecting much beyond what the Common Lisp
13814 standard requires.
13815
13816 It aims to be implementation-agnostic and to climb the syntax trees.")
13817 (home-page "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
13818 (license license:gpl3+))))
13819
13820 (define-public cl-agnostic-lizard
13821 (sbcl-package->cl-source-package sbcl-agnostic-lizard))
13822
13823 (define-public ecl-agnostic-lizard
13824 (sbcl-package->ecl-package sbcl-agnostic-lizard))
13825
13826 (define-public sbcl-dynamic-classes
13827 (package
13828 (name "sbcl-dynamic-classes")
13829 (version "1.0.2")
13830 (source
13831 (origin
13832 (method git-fetch)
13833 (uri (git-reference
13834 (url "https://github.com/gwkkwg/dynamic-classes")
13835 (commit (string-append "version-" version))))
13836 (file-name (git-file-name "dynamic-classes" version))
13837 (sha256
13838 (base32 "1z3ag6w4ff0v6715xa9zhvwjqnp4i6zrjfmxdz8m115sklbwgm6c"))))
13839 (build-system asdf-build-system/sbcl)
13840 (inputs
13841 `(("metatilities-base" ,sbcl-metatilities-base)))
13842 (arguments
13843 ;; NOTE: (Sharlatan-20210106222900+0000) Circular dependencies and failing
13844 ;; test suites. lift-standard.config contains referances to deprecated
13845 ;; functionality.
13846 `(#:tests? #f))
13847 (home-page "https://common-lisp.net/project/dynamic-classes/")
13848 (synopsis "Dynamic class definition for Common Lisp")
13849 (description "Dynamic-Classes helps to ease the prototyping process by
13850 bringing dynamism to class definition.")
13851 (license license:expat)))
13852
13853 (define-public ecl-dynamic-classes
13854 (sbcl-package->ecl-package sbcl-dynamic-classes))
13855
13856 (define-public cl-dynamic-classes
13857 (sbcl-package->cl-source-package sbcl-dynamic-classes))
13858
13859 (define-public sbcl-cl-markdown
13860 ;; NOTE: (Sharlatan-20210106214629+0000) latest version tag
13861 ;; "version-0.10.6_version-0.10.6" is failing to build due to missing system
13862 ;; #:container-dynamic-classes
13863 (package
13864 (name "sbcl-cl-markdown")
13865 (version "0.10.4")
13866 (source
13867 (origin
13868 (method git-fetch)
13869 (uri (git-reference
13870 (url "https://github.com/gwkkwg/cl-markdown")
13871 (commit (string-append "version-" version))))
13872 (file-name (git-file-name "cl-markdown" version))
13873 (sha256
13874 (base32 "1wdjbdd1zyskxf7zlilcp6fmwkivybj0wjp64vvzb265d5xi7p8p"))))
13875 (build-system asdf-build-system/sbcl)
13876 (inputs
13877 `(("anaphora" ,sbcl-anaphora)
13878 ("cl-containers" ,sbcl-cl-containers)
13879 ("cl-ppcre" ,sbcl-cl-ppcre)
13880 ("dynamic-classes" ,sbcl-dynamic-classes)
13881 ("metabang-bind" ,sbcl-metabang-bind)
13882 ("metatilities-base" ,sbcl-metatilities-base)))
13883 (arguments
13884 ;; NOTE: (Sharlatan-20210107213629+0000) Tests depend on too many not
13885 ;; available systems, which themself are abandoned.
13886 `(#:tests? #f))
13887 (home-page "https://common-lisp.net/project/cl-markdown/")
13888 (synopsis "Common Lisp rewrite of Markdown")
13889 (description
13890 "This is an implementation of a Markdown parser in Common Lisp.")
13891 (license license:expat)))
13892
13893 (define-public ecl-cl-markdown
13894 (sbcl-package->ecl-package sbcl-cl-markdown))
13895
13896 (define-public cl-markdown
13897 (sbcl-package->cl-source-package sbcl-cl-markdown))
13898
13899 (define-public sbcl-magicffi
13900 (let ((commit "d88f2f280c31f639e4e05be75215d8a8dce6aef2"))
13901 (package
13902 (name "sbcl-magicffi")
13903 (version (git-version "0.0.0" "1" commit))
13904 (source
13905 (origin
13906 (method git-fetch)
13907 (uri (git-reference
13908 (url "https://github.com/dochang/magicffi/")
13909 (commit commit)))
13910 (file-name (git-file-name name version))
13911 (sha256
13912 (base32 "0p6ysa92fk34bhxpw7bycbfgw150fv11z9x8jr9xb4lh8cm2hvp6"))))
13913 (build-system asdf-build-system/sbcl)
13914 (native-inputs
13915 `(("alexandria" ,sbcl-alexandria)))
13916 (inputs
13917 `(("cffi" ,sbcl-cffi)
13918 ("ppcre" ,sbcl-cl-ppcre)
13919 ("libmagic" ,file)))
13920 (arguments
13921 `(#:phases
13922 (modify-phases %standard-phases
13923 (add-after 'unpack 'fix-paths
13924 (lambda* (#:key inputs #:allow-other-keys)
13925 (let ((magic (assoc-ref inputs "libmagic")))
13926 (substitute* "grovel.lisp"
13927 (("/usr/include/magic.h")
13928 (string-append magic "/include/magic.h")))
13929 (substitute* "api.lisp"
13930 ((":default \"libmagic\"" all)
13931 (string-append ":default \"" magic "/lib/libmagic\"")))))))))
13932 (home-page "https://common-lisp.net/project/magicffi/")
13933 (synopsis "Common Lisp interface to libmagic based on CFFI")
13934 (description
13935 "MAGICFFI is a Common Lisp CFFI interface to libmagic(3), the file type
13936 determination library using @emph{magic} numbers.")
13937 (license license:bsd-2))))
13938
13939 (define-public ecl-magicffi
13940 (sbcl-package->ecl-package sbcl-magicffi))
13941
13942 (define-public cl-magicffi
13943 (sbcl-package->cl-source-package sbcl-magicffi))
13944
13945 (define-public sbcl-shlex
13946 (let ((commit "c5616dffca0d4d8ddbc1cd6f37a96d88477b2740"))
13947 (package
13948 (name "sbcl-shlex")
13949 (version (git-version "0.0.0" "1" commit))
13950 (source
13951 (origin
13952 (method git-fetch)
13953 (uri (git-reference
13954 (url "https://github.com/ruricolist/cl-shlex")
13955 (commit commit)))
13956 (file-name (git-file-name name version))
13957 (sha256
13958 (base32 "1nas024n4wv319bf40aal96g72bgi9nkapj2chywj2cc6r8hzkfg"))))
13959 (build-system asdf-build-system/sbcl)
13960 (inputs
13961 `(("alexandria" ,sbcl-alexandria)
13962 ("serapeum" ,sbcl-serapeum)
13963 ("ppcre" ,sbcl-cl-ppcre)
13964 ("unicode" ,sbcl-cl-unicode)))
13965 (home-page "https://github.com/ruricolist/cl-shlex")
13966 (synopsis "Common Lisp lexical analyzer for shell-like syntaxes")
13967 (description
13968 "This library contains a lexer for syntaxes that use shell-like rules
13969 for quoting and commenting. It is a port of the @code{shlex} module from Python’s
13970 standard library.")
13971 (license license:expat))))
13972
13973 (define-public ecl-shlex
13974 (sbcl-package->ecl-package sbcl-shlex))
13975
13976 (define-public cl-shlex
13977 (sbcl-package->cl-source-package sbcl-shlex))
13978
13979 (define-public sbcl-cmd
13980 (let ((commit "bc5a3bee8f22917126e4c3d05b33f766e562dbd8"))
13981 (package
13982 (name "sbcl-cmd")
13983 (version (git-version "0.0.1" "3" commit))
13984 (source
13985 (origin
13986 (method git-fetch)
13987 (uri (git-reference
13988 (url "https://github.com/ruricolist/cmd/")
13989 (commit commit)))
13990 (file-name (git-file-name name version))
13991 (sha256
13992 (base32 "1sjlabrknw1kjb2y89vssjhcqh3slgly8wnr3152zgis8lsj2yc7"))))
13993 (build-system asdf-build-system/sbcl)
13994 (inputs
13995 `(("alexandria" ,sbcl-alexandria)
13996 ("coreutils" ,coreutils)
13997 ("procps" ,procps)
13998 ("serapeum" ,sbcl-serapeum)
13999 ("shlex" ,sbcl-shlex)
14000 ("trivia" ,sbcl-trivia)))
14001 (arguments
14002 `(#:phases
14003 (modify-phases %standard-phases
14004 (add-after 'unpack 'fix-paths
14005 (lambda* (#:key inputs #:allow-other-keys)
14006 (let ((bin (string-append (assoc-ref inputs "coreutils") "/bin"))
14007 (ps-bin (string-append (assoc-ref inputs "procps") "/bin")))
14008 (substitute* "cmd.lisp"
14009 (("\\(def \\+env\\+ \"env\"\\)")
14010 (format #f "(def +env+ \"~a/env\")" bin))
14011 (("\\(def \\+kill\\+ \"kill\"\\)")
14012 (format #f "(def +kill+ \"~a/kill\")" bin))
14013 (("\\(def \\+ps\\+ \"ps\"\\)")
14014 (format #f "(def +ps+ \"~a/ps\")" ps-bin))
14015 (("\\(def \\+pwd\\+ \"pwd\"\\)")
14016 (format #f "(def +pwd+ \"~a/pwd\")" bin))
14017 (("\\(def \\+sh\\+ \"/bin/sh\"\\)")
14018 (format #f "(def +sh+ \"~a\")" (which "sh")))
14019 (("\\(def \\+tr\\+ \"tr\"\\)")
14020 (format #f "(def +tr+ \"~a/tr\")" bin)))))))))
14021 (home-page "https://github.com/ruricolist/cmd")
14022 (synopsis "Conveniently run external programs from Common Lisp")
14023 (description
14024 "A utility for running external programs, built on UIOP.
14025 Cmd is designed to be natural to use, protect against shell interpolation and
14026 be usable from multi-threaded programs.")
14027 (license license:expat))))
14028
14029 (define-public ecl-cmd
14030 (sbcl-package->ecl-package sbcl-cmd))
14031
14032 (define-public cl-cmd
14033 (sbcl-package->cl-source-package sbcl-cmd))
14034
14035 (define-public sbcl-ppath
14036 (let ((commit "eb1a8173b4d1d691ea9a7699412123462f58c3ce"))
14037 (package
14038 (name "sbcl-ppath")
14039 (version (git-version "0.1" "1" commit))
14040 (source
14041 (origin
14042 (method git-fetch)
14043 (uri (git-reference
14044 (url "https://github.com/fourier/ppath/")
14045 (commit commit)))
14046 (file-name (git-file-name name commit))
14047 (sha256
14048 (base32 "1c46q9lmzqv14z80d3fwdawgn3pn4922x31fyqvsvbcjm4hd16fb"))))
14049 (build-system asdf-build-system/sbcl)
14050 (inputs
14051 `(("alexandria" ,sbcl-alexandria)
14052 ("cffi" ,sbcl-cffi)
14053 ("osicat" ,sbcl-osicat)
14054 ("ppcre" ,sbcl-cl-ppcre)
14055 ("split-sequence" ,sbcl-split-sequence)
14056 ("trivial-features" ,sbcl-trivial-features)))
14057 (native-inputs
14058 `(("cl-fad" ,sbcl-cl-fad)
14059 ("prove" ,sbcl-prove)))
14060 (home-page "https://github.com/fourier/ppath")
14061 (synopsis "Common Lisp's implementation of the Python's os.path module")
14062 (description
14063 "This library is a path strings manipulation library inspired by
14064 Python's @code{os.path}. All functionality from @code{os.path} is supported on
14065 major operation systems.
14066
14067 The philosophy behind is to use simple strings and \"dumb\" string
14068 manipulation functions to handle paths and filenames. Where possible the
14069 corresponding OS system functions are called.")
14070 (license license:bsd-2))))
14071
14072 (define-public ecl-ppath
14073 (sbcl-package->ecl-package sbcl-ppath))
14074
14075 (define-public cl-ppath
14076 (sbcl-package->cl-source-package sbcl-ppath))
14077
14078 (define-public sbcl-trivial-escapes
14079 (let ((commit "1eca78da2078495d09893be58c28b3aa7b8cc4d1"))
14080 (package
14081 (name "sbcl-trivial-escapes")
14082 (version (git-version "1.2.0" "1" commit))
14083 (source
14084 (origin
14085 (method git-fetch)
14086 (uri (git-reference
14087 (url "https://github.com/williamyaoh/trivial-escapes")
14088 (commit commit)))
14089 (file-name (git-file-name name commit))
14090 (sha256
14091 (base32 "0v6h8lk17iqv1qkxgqjyzn8gi6v0hvq2vmfbb01md3zjvjqxn6lr"))))
14092 (build-system asdf-build-system/sbcl)
14093 (inputs
14094 `(("named-readtables" ,sbcl-named-readtables)))
14095 (native-inputs
14096 `(("fiveam" ,sbcl-fiveam)))
14097 (home-page "https://github.com/williamyaoh/trivial-escapes")
14098 (synopsis "C-style escape directives for Common Lisp")
14099 (description
14100 "This Common Lisp library interprets escape characters the same way that
14101 most other programming language do.
14102 It provides four readtables. The default one lets you write strings like this:
14103 @code{#\"This string has\na newline in it!\"}.")
14104 (license license:public-domain))))
14105
14106 (define-public ecl-trivial-escapes
14107 (sbcl-package->ecl-package sbcl-trivial-escapes))
14108
14109 (define-public cl-trivial-escapes
14110 (sbcl-package->cl-source-package sbcl-trivial-escapes))
14111
14112 (define-public sbcl-cl-indentify
14113 (let ((commit "eb770f434defa4cd41d84bca822428dfd0dbac53"))
14114 (package
14115 (name "sbcl-cl-indentify")
14116 (version (git-version "0.1" "1" commit))
14117 (source
14118 (origin
14119 (method git-fetch)
14120 (uri (git-reference
14121 (url "https://github.com/yitzchak/cl-indentify")
14122 (commit commit)))
14123 (file-name (git-file-name name commit))
14124 (sha256
14125 (base32 "0ha36bhg474vr76vfhr13szc8cfdj1ickg92k1icz791bqaqg67p"))))
14126 (build-system asdf-build-system/sbcl)
14127 (inputs
14128 `(("alexandria" ,sbcl-alexandria)
14129 ("command-line-arguments" ,sbcl-command-line-arguments)
14130 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
14131 (native-inputs
14132 `(("trivial-escapes" ,sbcl-trivial-escapes)
14133 ("rove" ,sbcl-rove)))
14134 (home-page "https://github.com/yitzchak/cl-indentify")
14135 (synopsis "Code beautifier for Common Lisp")
14136 (description
14137 "A library and command line utility to automatically indent Common Lisp
14138 source files.")
14139 (license license:expat))))
14140
14141 (define-public ecl-cl-indentify
14142 (sbcl-package->ecl-package sbcl-cl-indentify))
14143
14144 (define-public cl-indentify
14145 (sbcl-package->cl-source-package sbcl-cl-indentify))
14146
14147 (define-public sbcl-concrete-syntax-tree
14148 (let ((commit "abd242a59dadc5452aa9dbc1d313c83ec2c11f46"))
14149 (package
14150 (name "sbcl-concrete-syntax-tree")
14151 (version (git-version "0.0.0" "1" commit))
14152 (source
14153 (origin
14154 (method git-fetch)
14155 (uri (git-reference
14156 (url "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14157 (commit commit)))
14158 (file-name (git-file-name name commit))
14159 (sha256
14160 (base32 "1lyrglc3h1if44gxd9cwv90wa90nrdjvb7fry39b1xn8ywdfa7di"))))
14161 (build-system asdf-build-system/sbcl)
14162 (inputs
14163 `(("acclimation" ,sbcl-acclimation)))
14164 (home-page "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14165 (synopsis "Parse Common Lisp code into a concrete syntax tree")
14166 (description
14167 "This library is intended to solve the problem of source tracking for
14168 Common Lisp code.
14169
14170 By \"source tracking\", it is meant that code elements that have a known
14171 origin in the form of a position in a file or in an editor buffer are
14172 associated with some kind of information about this origin.
14173
14174 Since the exact nature of such origin information depends on the Common Lisp
14175 implementation and the purpose of wanting to track that origin, the library
14176 does not impose a particular structure of this information. Instead, it
14177 provides utilities for manipulating source code in the form of what is called
14178 concrete syntax trees (CSTs for short) that preserve this information about
14179 the origin.")
14180 (license license:bsd-2))))
14181
14182 (define-public ecl-concrete-syntax-tree
14183 (sbcl-package->ecl-package sbcl-concrete-syntax-tree))
14184
14185 (define-public cl-concrete-syntax-tree
14186 (sbcl-package->cl-source-package sbcl-concrete-syntax-tree))
14187
14188 (define-public sbcl-eclector
14189 (package
14190 (name "sbcl-eclector")
14191 (version "0.5.0")
14192 (source
14193 (origin
14194 (method git-fetch)
14195 (uri (git-reference
14196 (url "https://github.com/s-expressionists/Eclector")
14197 (commit version)))
14198 (file-name (git-file-name name version))
14199 (sha256
14200 (base32 "0bwkla0jdp5bg0q1zca5wg22b0nbdmglgax345nrhsf8bdrh47wm"))))
14201 (build-system asdf-build-system/sbcl)
14202 (inputs
14203 `(("acclimation" ,sbcl-acclimation)
14204 ("alexandria" ,sbcl-alexandria)
14205 ("closer-mop" ,sbcl-closer-mop)
14206 ("concrete-syntax-tree" ,sbcl-concrete-syntax-tree)))
14207 (native-inputs
14208 `(("fiveam" ,sbcl-fiveam)))
14209 (arguments
14210 '(#:asd-systems '("eclector"
14211 "eclector-concrete-syntax-tree")))
14212 (home-page "https://s-expressionists.github.io/Eclector/")
14213 (synopsis "Highly customizable, portable Common Lisp reader")
14214 (description
14215 "Eclector is a portable Common Lisp reader that is highly customizable,
14216 can recover from errors and can return concrete syntax trees.
14217
14218 In contrast to many other reader implementations, eclector can recover from
14219 most errors in the input supplied to it and continue reading. This capability
14220 is realized as a restart.
14221
14222 It can also produce instances of the concrete syntax tree classes provided by
14223 the concrete syntax tree library.")
14224 (license license:bsd-2)))
14225
14226 (define-public ecl-eclector
14227 (sbcl-package->ecl-package sbcl-eclector))
14228
14229 (define-public cl-eclector
14230 (sbcl-package->cl-source-package sbcl-eclector))
14231
14232 (define-public sbcl-jsown
14233 (let ((commit "744c4407bef58dfa876d9da0b5c0205d869e7977"))
14234 (package
14235 (name "sbcl-jsown")
14236 (version (git-version "1.0.1" "1" commit))
14237 (source
14238 (origin
14239 (method git-fetch)
14240 (uri (git-reference
14241 (url "https://github.com/madnificent/jsown")
14242 (commit commit)))
14243 (file-name (git-file-name name commit))
14244 (sha256
14245 (base32 "0gadvmf1d9bq35s61z76psrsnzwwk12svi66jigf491hv48wigw7"))))
14246 (build-system asdf-build-system/sbcl)
14247 (home-page "https://github.com/madnificent/jsown")
14248 (synopsis "Fast JSON reader / writer library for Common Lisp")
14249 (description
14250 "@code{jsown} is a high performance Common Lisp JSON parser. Its aim
14251 is to allow for the fast parsing of JSON objects in Common Lisp. Recently,
14252 functions and macros have been added to ease the burden of writing and editing
14253 @code{jsown} objects.
14254
14255 @code{jsown} allows you to parse JSON objects quickly to a modifiable Lisp
14256 list and write them back. If you only need partial retrieval of objects,
14257 @code{jsown} allows you to select the keys which you would like to see parsed.
14258 @code{jsown} also has a JSON writer and some helper methods to alter the JSON
14259 objects themselves.")
14260 (license license:expat))))
14261
14262 (define-public ecl-jsown
14263 (sbcl-package->ecl-package sbcl-jsown))
14264
14265 (define-public cl-jsown
14266 (sbcl-package->cl-source-package sbcl-jsown))
14267
14268 (define-public sbcl-system-locale
14269 (let ((commit "4b334bc2fa45651bcaa28ae7d9331095d6bf0a17"))
14270 (package
14271 (name "sbcl-system-locale")
14272 (version (git-version "1.0.0" "1" commit))
14273 (source
14274 (origin
14275 (method git-fetch)
14276 (uri (git-reference
14277 (url "https://github.com/Shinmera/system-locale/")
14278 (commit commit)))
14279 (file-name (git-file-name name commit))
14280 (sha256
14281 (base32 "00p5c053kmgq4ks6l9mxsqz6g3bjcybvkvj0bh3r90qgpkaawm1p"))))
14282 (build-system asdf-build-system/sbcl)
14283 (inputs
14284 `(("documentation-utils" ,sbcl-documentation-utils)))
14285 (home-page "https://shinmera.github.io/system-locale/")
14286 (synopsis "Get the system's locale and language settings in Common Lisp")
14287 (description
14288 "This library retrieves locale information configured on the
14289 system. This is helpful if you want to write applications and libraries that
14290 display messages in the user's native language.")
14291 (license license:zlib))))
14292
14293 (define-public ecl-system-locale
14294 (sbcl-package->ecl-package sbcl-system-locale))
14295
14296 (define-public cl-system-locale
14297 (sbcl-package->cl-source-package sbcl-system-locale))
14298
14299 (define-public sbcl-language-codes
14300 (let ((commit "e7aa0e37cb97a3d37d6bc7316b479d01bff8f42e"))
14301 (package
14302 (name "sbcl-language-codes")
14303 (version (git-version "1.0.0" "1" commit))
14304 (source
14305 (origin
14306 (method git-fetch)
14307 (uri (git-reference
14308 (url "https://github.com/Shinmera/language-codes")
14309 (commit commit)))
14310 (file-name (git-file-name name commit))
14311 (sha256
14312 (base32 "0py176ibmsc01n5r0q1bs1ykqf5jwdbh8kx0j1a814l9y51241v0"))))
14313 (build-system asdf-build-system/sbcl)
14314 (inputs
14315 `(("documentation-utils" ,sbcl-documentation-utils)))
14316 (home-page "https://shinmera.github.io/language-codes/")
14317 (synopsis "Map ISO language codes to language names in Common Lisp")
14318 (description
14319 "This is a small library providing the ISO-639 language code to
14320 language name mapping.")
14321 (license license:zlib))))
14322
14323 (define-public ecl-language-codes
14324 (sbcl-package->ecl-package sbcl-language-codes))
14325
14326 (define-public cl-language-codes
14327 (sbcl-package->cl-source-package sbcl-language-codes))
14328
14329 (define-public sbcl-multilang-documentation
14330 (let ((commit "59e798a07e949e8957a20927f52aca425d84e4a0"))
14331 (package
14332 (name "sbcl-multilang-documentation")
14333 (version (git-version "1.0.0" "1" commit))
14334 (source
14335 (origin
14336 (method git-fetch)
14337 (uri (git-reference
14338 (url "https://github.com/Shinmera/multilang-documentation")
14339 (commit commit)))
14340 (file-name (git-file-name name commit))
14341 (sha256
14342 (base32 "13y5jskx8n2b7kimpfarr8v777w3b7zj5swg1b99nj3hk0843ixw"))))
14343 (build-system asdf-build-system/sbcl)
14344 (inputs
14345 `(("documentation-utils" ,sbcl-documentation-utils)
14346 ("language-codes" ,sbcl-language-codes)
14347 ("system-locale" ,sbcl-system-locale)))
14348 (home-page "https://shinmera.github.io/multilang-documentation/")
14349 (synopsis "Add multiple languages support to Common Lisp documentation")
14350 (description
14351 "This library provides a drop-in replacement function for
14352 cl:documentation that supports multiple docstrings per-language, allowing you
14353 to write documentation that can be internationalised.")
14354 (license license:zlib))))
14355
14356 (define-public ecl-multilang-documentation
14357 (sbcl-package->ecl-package sbcl-multilang-documentation))
14358
14359 (define-public cl-multilang-documentation
14360 (sbcl-package->cl-source-package sbcl-multilang-documentation))
14361
14362 (define-public sbcl-trivial-do
14363 (let ((commit "03a1729f1e71bad3ebcf6cf098a0cce52dfa1163"))
14364 (package
14365 (name "sbcl-trivial-do")
14366 (version (git-version "0.1" "1" commit))
14367 (source
14368 (origin
14369 (method git-fetch)
14370 (uri (git-reference
14371 (url "https://github.com/yitzchak/trivial-do")
14372 (commit commit)))
14373 (file-name (git-file-name name commit))
14374 (sha256
14375 (base32 "1ffva79nkicc7wc8c2ic5nayis3b2rk5sxzj74yjkymkjgbpcrgd"))))
14376 (build-system asdf-build-system/sbcl)
14377 (home-page "https://github.com/yitzchak/trivial-do")
14378 (synopsis "Additional dolist style macros for Common Lisp")
14379 (description
14380 "Additional dolist style macros for Common Lisp, such as
14381 @code{doalist}, @code{dohash}, @code{dolist*}, @code{doplist}, @code{doseq}
14382 and @code{doseq*}.")
14383 (license license:zlib))))
14384
14385 (define-public ecl-trivial-do
14386 (sbcl-package->ecl-package sbcl-trivial-do))
14387
14388 (define-public cl-trivial-do
14389 (sbcl-package->cl-source-package sbcl-trivial-do))
14390
14391 (define-public sbcl-common-lisp-jupyter
14392 (let ((commit "61a9a8e7a18e2abd7af7c697ba5146fd19bd9d62"))
14393 (package
14394 (name "sbcl-common-lisp-jupyter")
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/common-lisp-jupyter")
14401 (commit commit)))
14402 (file-name (git-file-name name commit))
14403 (sha256
14404 (base32 "0zyzl55l45w9z65ygi5pcwda5w5p1j1bb0p2zg2n5cpv8344dkh2"))))
14405 (build-system asdf-build-system/sbcl)
14406 (inputs
14407 `(("alexandria" ,sbcl-alexandria)
14408 ("babel" ,sbcl-babel)
14409 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14410 ("cl-base64" ,sbcl-cl-base64)
14411 ("cl-indentify" ,sbcl-cl-indentify)
14412 ("closer-mop" ,sbcl-closer-mop)
14413 ("eclector" ,sbcl-eclector)
14414 ("ironclad" ,sbcl-ironclad)
14415 ("iterate" ,sbcl-iterate)
14416 ("jsown" ,sbcl-jsown)
14417 ("multilang-documentation" ,sbcl-multilang-documentation)
14418 ("pzmq" ,sbcl-pzmq)
14419 ("puri" ,sbcl-puri)
14420 ("static-vectors" ,sbcl-static-vectors)
14421 ("trivial-do" ,sbcl-trivial-do)
14422 ("trivial-garbage" ,sbcl-trivial-garbage)
14423 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
14424 ("trivial-mimes" ,sbcl-trivial-mimes)))
14425 (home-page "https://yitzchak.github.io/common-lisp-jupyter/")
14426 (synopsis "Common Lisp kernel for Jupyter")
14427 (description
14428 "This is a Common Lisp kernel for Jupyter along with a library for
14429 building Jupyter kernels, based on Maxima-Jupyter which was based on
14430 @code{cl-jupyter}.")
14431 (license license:zlib))))
14432
14433 (define-public ecl-common-lisp-jupyter
14434 (sbcl-package->ecl-package sbcl-common-lisp-jupyter))
14435
14436 (define-public cl-common-lisp-jupyter
14437 (sbcl-package->cl-source-package sbcl-common-lisp-jupyter))
14438
14439 (define-public sbcl-radiance
14440 (let ((commit "5ffbe1f157edd17a13194495099efd81e052df85")
14441 (revision "1"))
14442 (package
14443 (name "sbcl-radiance")
14444 (version (git-version "2.1.2" revision commit))
14445 (source
14446 (origin
14447 (method git-fetch)
14448 (uri (git-reference
14449 (url "https://github.com/Shirakumo/radiance")
14450 (commit commit)))
14451 (file-name (git-file-name "radiance" version))
14452 (sha256
14453 (base32 "0hbkcnmnlj1cqzbv18zmla2iwbl65kxilz9764hndf8x8as1539c"))))
14454 (build-system asdf-build-system/sbcl)
14455 (arguments
14456 `(#:tests? #f ; TODO: The tests require some configuration.
14457 #:phases
14458 (modify-phases %standard-phases
14459 (add-after 'unpack 'disable-quicklisp
14460 (lambda _
14461 ;; Disable the automatic installation of systems by Quicklisp.
14462 ;; (Maybe there would be a way to package Quicklisp and make it
14463 ;; install things in the user's directory instead of
14464 ;; /gnu/store/...).
14465 (substitute* "interfaces.lisp"
14466 (("\\(unless \\(asdf:find-system configured-implementation NIL\\)"
14467 all)
14468 (string-append "#+quicklisp " all))))))))
14469 (native-inputs
14470 `(("alexandria" ,sbcl-alexandria)
14471 ("dexador" ,sbcl-dexador)
14472 ("parachute" ,sbcl-parachute)
14473 ("verbose" ,sbcl-verbose)))
14474 (inputs
14475 `(("babel" ,sbcl-babel)
14476 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14477 ("cl-ppcre" ,sbcl-cl-ppcre)
14478 ("closer-mop" ,sbcl-closer-mop)
14479 ("documentation-utils" ,sbcl-documentation-utils)
14480 ("deploy" ,sbcl-deploy)
14481 ("form-fiddle" ,sbcl-form-fiddle)
14482 ("lambda-fiddle" ,sbcl-lambda-fiddle)
14483 ("local-time" ,sbcl-local-time)
14484 ("modularize-hooks" ,sbcl-modularize-hooks)
14485 ("modularize-interfaces" ,sbcl-modularize-interfaces)
14486 ("puri" ,sbcl-puri)
14487 ("trivial-indent" ,sbcl-trivial-indent)
14488 ("trivial-mimes" ,sbcl-trivial-mimes)
14489 ("ubiquitous-concurrent" ,sbcl-ubiquitous)))
14490 (home-page "https://shirakumo.github.io/radiance/")
14491 (synopsis "Common Lisp web application environment")
14492 (description
14493 "Radiance is a web application environment, which is sort of like a web
14494 framework, but more general, more flexible. It should let you write personal
14495 websites and generally deployable applications easily and in such a way that
14496 they can be used on practically any setup without having to undergo special
14497 adaptations.")
14498 (license license:zlib))))
14499
14500 (define-public ecl-radiance
14501 (sbcl-package->ecl-package sbcl-radiance))
14502
14503 (define-public cl-radiance
14504 (sbcl-package->cl-source-package sbcl-radiance))