gnu: sbcl-cl-rdkafka: Update to 1.1.0.
[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-jpl-queues
1424 (package
1425 (name "sbcl-jpl-queues")
1426 (version "0.1")
1427 (source
1428 (origin
1429 (method url-fetch)
1430 (uri (string-append
1431 "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-"
1432 version
1433 ".tar.gz"))
1434 (sha256
1435 (base32
1436 "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96"))))
1437 (build-system asdf-build-system/sbcl)
1438 (inputs
1439 `(("jpl-util" ,sbcl-jpl-util)
1440 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1441 (arguments
1442 ;; Tests seem to be broken.
1443 `(#:tests? #f))
1444 (synopsis "Common Lisp library implementing a few different kinds of queues")
1445 (description
1446 "A Common Lisp library implementing a few different kinds of queues:
1447
1448 @itemize
1449 @item Bounded and unbounded FIFO queues.
1450 @item Lossy bounded FIFO queues that drop elements when full.
1451 @item Unbounded random-order queues that use less memory than unbounded FIFO queues.
1452 @end itemize
1453
1454 Additionally, a synchronization wrapper is provided to make any queue
1455 conforming to the @command{jpl-queues} API thread-safe for lightweight
1456 multithreading applications. (See Calispel for a more sophisticated CL
1457 multithreaded message-passing library with timeouts and alternation among
1458 several blockable channels.)")
1459 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1460 (license license:isc)))
1461
1462 (define-public cl-jpl-queues
1463 (sbcl-package->cl-source-package sbcl-jpl-queues))
1464
1465 (define-public ecl-jpl-queues
1466 (sbcl-package->ecl-package sbcl-jpl-queues))
1467
1468 (define-public sbcl-calispel
1469 (let ((commit "e9f2f9c1af97f4d7bb4c8ac25fb2a8f3e8fada7a"))
1470 (package
1471 (name "sbcl-calispel")
1472 (version (git-version "0.1" "1" commit))
1473 (source
1474 (origin
1475 (method git-fetch)
1476 (uri (git-reference
1477 ;; This fork replaces the dependency on the obsolete
1478 ;; eager-future with eager-future2.
1479 (url "https://github.com/hawkir/calispel")
1480 (commit commit)))
1481 (file-name (git-file-name name version))
1482 (sha256
1483 (base32
1484 "08bmf3pi7n5hadpmqqkg65cxcj6kbvm997wcs1f53ml1nb79d9z8"))))
1485 (build-system asdf-build-system/sbcl)
1486 (inputs
1487 `(("jpl-queues" ,sbcl-jpl-queues)
1488 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1489 (native-inputs
1490 `(("eager-future2" ,sbcl-eager-future2)))
1491 (synopsis "Thread-safe message-passing channels in Common Lisp")
1492 (description
1493 "Calispel is a Common Lisp library for thread-safe message-passing
1494 channels, in the style of the occam programming language, also known as
1495 communicating sequential processes (CSP). See
1496 @url{https://en.wikipedia.org/wiki/Communicating_sequential_processes}.
1497
1498 Calispel channels let one thread communicate with another, facilitating
1499 unidirectional communication of any Lisp object. Channels may be unbuffered,
1500 where a sender waits for a receiver (or vice versa) before either operation can
1501 continue, or channels may be buffered with flexible policy options.
1502
1503 Because sending and receiving on a channel may block, either operation can time
1504 out after a specified amount of time.
1505
1506 A syntax for alternation is provided (like @code{ALT} in occam, or Unix
1507 @code{select()}): given a sequence of operations, any or all of which may
1508 block, alternation selects the first operation that doesn't block and executes
1509 associated code. Alternation can also time out, executing an \"otherwise\"
1510 clause if no operation becomes available within a set amount of time.
1511
1512 Calispel is a message-passing library, and as such leaves the role of
1513 threading abstractions and utilities left to be filled by complementary
1514 libraries such as Bordeaux-Threads and Eager Future.")
1515 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1516 (license license:isc))))
1517
1518 (define-public cl-calispel
1519 (sbcl-package->cl-source-package sbcl-calispel))
1520
1521 (define-public ecl-calispel
1522 (sbcl-package->ecl-package sbcl-calispel))
1523
1524 (define-public sbcl-eos
1525 (let ((commit "b4413bccc4d142cbe1bf49516c3a0a22c9d99243")
1526 (revision "2"))
1527 (package
1528 (name "sbcl-eos")
1529 (version (git-version "0.0.0" revision commit))
1530 (source
1531 (origin
1532 (method git-fetch)
1533 (uri (git-reference
1534 (url "https://github.com/adlai/Eos")
1535 (commit commit)))
1536 (sha256
1537 (base32 "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk"))
1538 (file-name (git-file-name "eos" version))))
1539 (build-system asdf-build-system/sbcl)
1540 (synopsis "Unit Testing for Common Lisp")
1541 (description
1542 "Eos was a unit testing library for Common Lisp.
1543 It began as a fork of FiveAM; however, FiveAM development has continued, while
1544 that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
1545 (home-page "https://github.com/adlai/Eos")
1546 (license license:expat))))
1547
1548 (define-public cl-eos
1549 (sbcl-package->cl-source-package sbcl-eos))
1550
1551 (define-public ecl-eos
1552 (sbcl-package->ecl-package sbcl-eos))
1553
1554 (define-public sbcl-esrap
1555 (let ((commit "133be8b05c2aae48696fe5b739eea2fa573fa48d"))
1556 (package
1557 (name "sbcl-esrap")
1558 (version (git-version "0.0.0" "1" commit))
1559 (source
1560 (origin
1561 (method git-fetch)
1562 (uri (git-reference
1563 (url "https://github.com/nikodemus/esrap")
1564 (commit commit)))
1565 (sha256
1566 (base32
1567 "02d5clihsdryhf7pix8c5di2571fdsffh75d40fkzhws90r5mksl"))
1568 (file-name (git-file-name "esrap" version))))
1569 (build-system asdf-build-system/sbcl)
1570 (native-inputs
1571 `(("eos" ,sbcl-eos))) ;For testing only.
1572 (inputs
1573 `(("alexandria" ,sbcl-alexandria)))
1574 (synopsis "Common Lisp packrat parser")
1575 (description
1576 "A packrat parser for Common Lisp.
1577 In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
1578
1579 @itemize
1580 @item dynamic redefinition of nonterminals
1581 @item inline grammars
1582 @item semantic predicates
1583 @item introspective facilities (describing grammars, tracing, setting breaks)
1584 @end itemize\n")
1585 (home-page "https://nikodemus.github.io/esrap/")
1586 (license license:expat))))
1587
1588 (define-public cl-esrap
1589 (sbcl-package->cl-source-package sbcl-esrap))
1590
1591 (define-public ecl-esrap
1592 (sbcl-package->ecl-package sbcl-esrap))
1593
1594 (define-public sbcl-split-sequence
1595 (package
1596 (name "sbcl-split-sequence")
1597 (version "2.0.0")
1598 (source
1599 (origin
1600 (method git-fetch)
1601 (uri (git-reference
1602 (url "https://github.com/sharplispers/split-sequence")
1603 (commit (string-append "v" version))))
1604 (sha256
1605 (base32
1606 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
1607 (file-name (git-file-name "split-sequence" version))))
1608 (build-system asdf-build-system/sbcl)
1609 (native-inputs
1610 `(("fiveam" ,sbcl-fiveam)))
1611 (synopsis "Member of the Common Lisp Utilities family of programs")
1612 (description
1613 "Splits sequence into a list of subsequences delimited by objects
1614 satisfying the test.")
1615 (home-page "https://cliki.net/split-sequence")
1616 (license license:expat)))
1617
1618 (define-public cl-split-sequence
1619 (sbcl-package->cl-source-package sbcl-split-sequence))
1620
1621 (define-public ecl-split-sequence
1622 (sbcl-package->ecl-package sbcl-split-sequence))
1623
1624 (define-public sbcl-html-encode
1625 (package
1626 (name "sbcl-html-encode")
1627 (version "1.2")
1628 (source
1629 (origin
1630 (method url-fetch)
1631 (uri (string-append
1632 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1633 version ".tgz"))
1634 (sha256
1635 (base32
1636 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1637 (file-name (string-append "colorize" version "-checkout"))))
1638 (build-system asdf-build-system/sbcl)
1639 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1640 (description
1641 "A library for encoding text in various web-savvy encodings.")
1642 (home-page "http://quickdocs.org/html-encode/")
1643 (license license:expat)))
1644
1645 (define-public cl-html-encode
1646 (sbcl-package->cl-source-package sbcl-html-encode))
1647
1648 (define-public ecl-html-encode
1649 (sbcl-package->ecl-package sbcl-html-encode))
1650
1651 (define-public sbcl-colorize
1652 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1653 (package
1654 (name "sbcl-colorize")
1655 (version (git-version "0.0.0" "1" commit))
1656 (source
1657 (origin
1658 (method git-fetch)
1659 (uri (git-reference
1660 (url "https://github.com/kingcons/colorize")
1661 (commit commit)))
1662 (sha256
1663 (base32
1664 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1665 (file-name (git-file-name "colorize" version))))
1666 (build-system asdf-build-system/sbcl)
1667 (inputs
1668 `(("alexandria" ,sbcl-alexandria)
1669 ("split-sequence" ,sbcl-split-sequence)
1670 ("html-encode" ,sbcl-html-encode)))
1671 (synopsis "Common Lisp for syntax highlighting")
1672 (description
1673 "@command{colorize} is a Lisp library for syntax highlighting
1674 supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1675 C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1676 (home-page "https://github.com/kingcons/colorize")
1677 ;; TODO: Missing license?
1678 (license license:expat))))
1679
1680 (define-public cl-colorize
1681 (sbcl-package->cl-source-package sbcl-colorize))
1682
1683 (define-public ecl-colorize
1684 (sbcl-package->ecl-package sbcl-colorize))
1685
1686 (define-public sbcl-3bmd
1687 (let ((commit "6fc5759448f6f6df6f6df556e020a289a2643288")
1688 (revision "2"))
1689 (package
1690 (name "sbcl-3bmd")
1691 (version (git-version "0.0.0" revision commit))
1692 (source
1693 (origin
1694 (method git-fetch)
1695 (uri (git-reference
1696 (url "https://github.com/3b/3bmd")
1697 (commit commit)))
1698 (sha256
1699 (base32 "1avmbp8xdjlbqpqk7p3vmj7abiw5p3vb5mrxp4wlvgql4sf6z3p4"))
1700 (file-name (git-file-name "3bmd" version))))
1701 (build-system asdf-build-system/sbcl)
1702 (arguments
1703 ;; FIXME: #41437 - Build fails when package name starts from a digit
1704 `(#:asd-systems
1705 '("3bmd"
1706 "3bmd-ext-definition-lists"
1707 "3bmd-ext-math"
1708 "3bmd-ext-tables"
1709 "3bmd-ext-wiki-links"
1710 "3bmd-youtube"
1711 "3bmd-ext-code-blocks")))
1712 (inputs
1713 `(("alexandria" ,sbcl-alexandria)
1714 ("colorize" ,sbcl-colorize)
1715 ("esrap" ,sbcl-esrap)
1716 ("split-sequence" ,sbcl-split-sequence)))
1717 (home-page "https://github.com/3b/3bmd")
1718 (synopsis "Markdown processor in Command Lisp using esrap parser")
1719 (description
1720 "This is a Common Lisp Markdown to HTML converter, using @command{esrap}
1721 for parsing, and grammar based on @command{peg-markdown}.")
1722 (license license:expat))))
1723
1724 (define-public cl-3bmd
1725 (sbcl-package->cl-source-package sbcl-3bmd))
1726
1727 (define-public ecl-3bmd
1728 (sbcl-package->ecl-package sbcl-3bmd))
1729
1730 (define-public sbcl-cl-fad
1731 (package
1732 (name "sbcl-cl-fad")
1733 (version "0.7.6")
1734 (source
1735 (origin
1736 (method git-fetch)
1737 (uri (git-reference
1738 (url "https://github.com/edicl/cl-fad/")
1739 (commit (string-append "v" version))))
1740 (sha256
1741 (base32
1742 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
1743 (file-name (string-append "cl-fad" version "-checkout"))))
1744 (build-system asdf-build-system/sbcl)
1745 (inputs
1746 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
1747 (synopsis "Portable pathname library for Common Lisp")
1748 (description
1749 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
1750 Lisp's standard pathname functions. It is intended to provide some
1751 unification between current CL implementations on Windows, OS X, Linux, and
1752 Unix. Most of the code was written by Peter Seibel for his book Practical
1753 Common Lisp.")
1754 (home-page "https://edicl.github.io/cl-fad/")
1755 (license license:bsd-2)))
1756
1757 (define-public cl-fad
1758 (sbcl-package->cl-source-package sbcl-cl-fad))
1759
1760 (define-public ecl-cl-fad
1761 (sbcl-package->ecl-package sbcl-cl-fad))
1762
1763 (define-public sbcl-fn
1764 (let ((commit "8d8587d03a7b5e26b306fc90018e385d9e5acc2c")
1765 (revision "1"))
1766 (package
1767 (name "sbcl-fn")
1768 (version (git-version "0.0.0" revision commit))
1769 (source
1770 (origin
1771 (method git-fetch)
1772 (uri (git-reference
1773 (url "https://github.com/cbaggers/fn")
1774 (commit commit)))
1775 (file-name (git-file-name "fn" version))
1776 (sha256
1777 (base32 "0yyp9z6iwx476whz0n1rpjznjyqqhlylhzwpgg5xx92lxmskl752"))))
1778 (build-system asdf-build-system/sbcl)
1779 (inputs
1780 `(("named-readtables" ,sbcl-named-readtables)))
1781 (home-page "https://github.com/cbaggers/fn")
1782 (synopsis "Macros for lambda brevity")
1783 (description
1784 "This is a Common Lisp library providing lambda shorthand macros aiming
1785 to be used in cases where the word @emph{lambda} and the arguments are longer
1786 than the body of the lambda.")
1787 (license license:public-domain))))
1788
1789 (define-public ecl-fn
1790 (sbcl-package->ecl-package sbcl-fn))
1791
1792 (define-public cl-fn
1793 (sbcl-package->cl-source-package sbcl-fn))
1794
1795 (define-public sbcl-rt
1796 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
1797 (revision "1"))
1798 (package
1799 (name "sbcl-rt")
1800 (version (git-version "1990.12.19" revision commit))
1801 (source
1802 (origin
1803 (method git-fetch)
1804 (uri (git-reference
1805 (url "http://git.kpe.io/rt.git")
1806 (commit commit)))
1807 (file-name (git-file-name name version))
1808 (sha256
1809 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
1810 (build-system asdf-build-system/sbcl)
1811 (synopsis "MIT Regression Tester")
1812 (description
1813 "RT provides a framework for writing regression test suites.")
1814 (home-page "https://www.cliki.net/rt")
1815 (license license:expat))))
1816
1817 (define-public cl-rt
1818 (sbcl-package->cl-source-package sbcl-rt))
1819
1820 (define-public ecl-rt
1821 (sbcl-package->ecl-package sbcl-rt))
1822
1823 (define-public sbcl-nibbles
1824 ;; No tagged release since 2018.
1825 (let ((commit "8e6b9b42d9f69000f55e5c45ad974d9e376ffdbd")
1826 (revision "1"))
1827 (package
1828 (name "sbcl-nibbles")
1829 (version (git-version "0.14" revision commit))
1830 (source
1831 (origin
1832 (method git-fetch)
1833 (uri (git-reference
1834 (url "https://github.com/sharplispers/nibbles/")
1835 (commit commit)))
1836 (sha256
1837 (base32 "15qlsm82h36pjgvfnbzdg60l21qxbaii4d049jc5y0dn56y93amb"))
1838 (file-name (git-file-name "nibbles" version))))
1839 (build-system asdf-build-system/sbcl)
1840 (native-inputs
1841 ;; Tests only.
1842 `(("rt" ,sbcl-rt)))
1843 (synopsis
1844 "Common Lisp library for accessing octet-addressed blocks of data")
1845 (description
1846 "When dealing with network protocols and file formats, it's common to
1847 have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
1848 flavors. Common Lisp sort of supports this by specifying :element-type for
1849 streams, but that facility is underspecified and there's nothing similar for
1850 read/write from octet vectors. What most people wind up doing is rolling their
1851 own small facility for their particular needs and calling it a day.
1852
1853 This library attempts to be comprehensive and centralize such
1854 facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
1855 vectors in signed or unsigned flavors are provided; these functions are also
1856 SETFable. Since it's sometimes desirable to read/write directly from streams,
1857 functions for doing so are also provided. On some implementations,
1858 reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
1859 also be supported.")
1860 (home-page "https://github.com/sharplispers/nibbles")
1861 (license license:bsd-3))))
1862
1863 (define-public cl-nibbles
1864 (sbcl-package->cl-source-package sbcl-nibbles))
1865
1866 (define-public ecl-nibbles
1867 (sbcl-package->ecl-package sbcl-nibbles))
1868
1869 (define-public sbcl-ironclad
1870 (package
1871 (name "sbcl-ironclad")
1872 (version "0.54")
1873 (source
1874 (origin
1875 (method git-fetch)
1876 (uri (git-reference
1877 (url "https://github.com/sharplispers/ironclad/")
1878 (commit (string-append "v" version))))
1879 (sha256
1880 (base32 "07g0wpvfqq2yk23prs890d4qvbnr3xd6w8ssd88g89xdg483wpvk"))
1881 (file-name (git-file-name name version))))
1882 (build-system asdf-build-system/sbcl)
1883 (native-inputs
1884 ;; Tests only.
1885 `(("rt" ,sbcl-rt)))
1886 (inputs
1887 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1888 ("flexi-streams" ,sbcl-flexi-streams)))
1889 (synopsis "Cryptographic toolkit written in Common Lisp")
1890 (description
1891 "Ironclad is a cryptography library written entirely in Common Lisp.
1892 It includes support for several popular ciphers, digests, MACs and public key
1893 cryptography algorithms. For several implementations that support Gray
1894 streams, support is included for convenient stream wrappers.")
1895 (home-page "https://github.com/sharplispers/ironclad")
1896 (license license:bsd-3)))
1897
1898 (define-public cl-ironclad
1899 (sbcl-package->cl-source-package sbcl-ironclad))
1900
1901 (define-public ecl-ironclad
1902 (sbcl-package->ecl-package sbcl-ironclad))
1903
1904 (define-public sbcl-named-readtables
1905 (let ((commit "585a28eee8b1b1999279b48cb7e9731187e14b66")
1906 (revision "3"))
1907 (package
1908 (name "sbcl-named-readtables")
1909 (version (git-version "0.9" revision commit))
1910 (source
1911 (origin
1912 (method git-fetch)
1913 (uri (git-reference
1914 (url "https://github.com/melisgl/named-readtables")
1915 (commit commit)))
1916 (sha256
1917 (base32 "072p5djqq9pliw9r20rmpz5r5q5yn6rhbp98vkkp7gfcnp5ppj51"))
1918 (file-name (git-file-name "named-readtables" version))))
1919 (build-system asdf-build-system/sbcl)
1920 (home-page "https://github.com/melisgl/named-readtables/")
1921 (synopsis "Library that creates a namespace for named readtables")
1922 (description
1923 "Named readtables is a library that creates a namespace for named
1924 readtables, which is akin to package namespacing in Common Lisp.")
1925 (license license:bsd-3))))
1926
1927 (define-public cl-named-readtables
1928 (sbcl-package->cl-source-package sbcl-named-readtables))
1929
1930 (define-public ecl-named-readtables
1931 (sbcl-package->ecl-package sbcl-named-readtables))
1932
1933 (define-public sbcl-py-configparser
1934 ;; NOTE: (Sharlatan <2021-01-05 Tue> <19:52:19 UTC+0000>) Project updated last
1935 ;; time 8y ago, it looks like abandoned. VCS of the project:
1936 ;; https://svn.common-lisp.net/py-configparser/trunk
1937 (package
1938 (name "sbcl-py-configparser")
1939 (version "1.0.3")
1940 (source
1941 (origin
1942 (method url-fetch)
1943 (uri (string-append
1944 "https://common-lisp.net/project/py-configparser/releases/"
1945 "py-configparser-" version ".tar.gz"))
1946 (sha256
1947 (base32 "0i4rqz5cv7d7c2w81x5lwy05s6fbi3zikf4k5kpi3bkx3cabwdxj"))))
1948 (build-system asdf-build-system/sbcl)
1949 (inputs
1950 `(("parse-number" ,sbcl-parse-number)))
1951 (home-page "http://common-lisp.net/project/py-configparser/")
1952 (synopsis "ConfigParser Python module functionality for Common Lisp")
1953 (description "The py-configparser package implements the ConfigParser
1954 Python module functionality in Common Lisp. In short, it implements reading
1955 and writing of .INI-file style configuration files with sections containing
1956 key/value pairs of configuration options. In line with the functionalities in
1957 the python module, does this package implement basic interpolation of option
1958 values in other options.")
1959 (license license:expat)))
1960
1961 (define-public cl-py-configparser
1962 (sbcl-package->cl-source-package sbcl-py-configparser))
1963
1964 (define-public ecl-py-configparser
1965 (sbcl-package->ecl-package sbcl-py-configparser))
1966
1967 (define-public sbcl-pythonic-string-reader
1968 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
1969 (package
1970 (name "sbcl-pythonic-string-reader")
1971 (version (git-version "0.0.0" "1" commit))
1972 (source
1973 (origin
1974 (method git-fetch)
1975 (uri (git-reference
1976 (url "https://github.com/smithzvk/pythonic-string-reader/")
1977 (commit commit)))
1978 (sha256
1979 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
1980 (file-name (git-file-name "pythonic-string-reader" version))))
1981 (build-system asdf-build-system/sbcl)
1982 (inputs
1983 `(("named-readtables" ,sbcl-named-readtables)))
1984 (home-page "https://github.com/smithzvk/pythonic-string-reader")
1985 (synopsis "Read table modification inspired by Python's three quote strings")
1986 (description "This piece of code sets up some reader macros that make it
1987 simpler to input string literals which contain backslashes and double quotes
1988 This is very useful for writing complicated docstrings and, as it turns out,
1989 writing code that contains string literals that contain code themselves.")
1990 (license license:bsd-3))))
1991
1992 (define-public cl-pythonic-string-reader
1993 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
1994
1995 (define-public ecl-pythonic-string-reader
1996 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
1997
1998 (define-public sbcl-slime-swank
1999 (package
2000 (name "sbcl-slime-swank")
2001 (version "2.26")
2002 (source
2003 (origin
2004 (file-name (git-file-name "slime-swank" version))
2005 (method git-fetch)
2006 (uri (git-reference
2007 (url "https://github.com/slime/slime/")
2008 (commit (string-append "v" version))))
2009 (sha256
2010 (base32
2011 "0mxb1wnw19v0s72w2wkz5afdlzvpy5nn7pr4vav403qybac0sw5c"))))
2012 (build-system asdf-build-system/sbcl)
2013 (arguments
2014 '(#:asd-systems '("swank")))
2015 (home-page "https://github.com/slime/slime")
2016 (synopsis "Common Lisp Swank server")
2017 (description
2018 "This is only useful if you want to start a Swank server in a Lisp
2019 processes that doesn't run under Emacs. Lisp processes created by
2020 @command{M-x slime} automatically start the server.")
2021 (license (list license:gpl2+ license:public-domain))))
2022
2023 (define-public cl-slime-swank
2024 (sbcl-package->cl-source-package sbcl-slime-swank))
2025
2026 (define-public ecl-slime-swank
2027 (sbcl-package->ecl-package sbcl-slime-swank))
2028
2029 (define-public sbcl-mgl-pax
2030 (let ((commit "818448418d6b9de74620f606f5b23033c6082769"))
2031 (package
2032 (name "sbcl-mgl-pax")
2033 (version (git-version "0.0.0" "1" commit))
2034 (source
2035 (origin
2036 (method git-fetch)
2037 (uri (git-reference
2038 (url "https://github.com/melisgl/mgl-pax")
2039 (commit commit)))
2040 (sha256
2041 (base32
2042 "1p97zfkh130bdxqqxwaw2j9psv58751wakx7czbfpq410lg7dd7i"))
2043 (file-name (git-file-name "mgl-pax" version))))
2044 (build-system asdf-build-system/sbcl)
2045 (inputs
2046 `(("3bmd" ,sbcl-3bmd)
2047 ("babel" ,sbcl-babel)
2048 ("cl-fad" ,sbcl-cl-fad)
2049 ("ironclad" ,sbcl-ironclad)
2050 ("named-readtables" ,sbcl-named-readtables)
2051 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)
2052 ("swank" ,sbcl-slime-swank)))
2053 (synopsis "Exploratory programming environment and documentation generator")
2054 (description
2055 "PAX provides an extremely poor man's Explorable Programming
2056 environment. Narrative primarily lives in so called sections that mix markdown
2057 docstrings with references to functions, variables, etc, all of which should
2058 probably have their own docstrings.
2059
2060 The primary focus is on making code easily explorable by using SLIME's
2061 @command{M-.} (@command{slime-edit-definition}). See how to enable some
2062 fanciness in Emacs Integration. Generating documentation from sections and all
2063 the referenced items in Markdown or HTML format is also implemented.
2064
2065 With the simplistic tools provided, one may accomplish similar effects as with
2066 Literate Programming, but documentation is generated from code, not vice versa
2067 and there is no support for chunking yet. Code is first, code must look
2068 pretty, documentation is code.")
2069 (home-page "http://quotenil.com/")
2070 (license license:expat))))
2071
2072 (define-public cl-mgl-pax
2073 (sbcl-package->cl-source-package sbcl-mgl-pax))
2074
2075 (define-public ecl-mgl-pax
2076 (let ((pkg (sbcl-package->ecl-package sbcl-mgl-pax)))
2077 (package
2078 (inherit pkg)
2079 (arguments
2080 (substitute-keyword-arguments (package-arguments pkg)
2081 ;; TODO: Find why the tests fail on ECL.
2082 ((#:tests? _ #f) #f))))))
2083
2084 (define-public sbcl-mssql
2085 (let ((commit "045602a19a32254108f2b75871049293f49731eb")
2086 (revision "1"))
2087 (package
2088 (name "sbcl-mssql")
2089 (version (git-version "0.0.3" revision commit))
2090 (source
2091 (origin
2092 (method git-fetch)
2093 (uri (git-reference
2094 (url "https://github.com/archimag/cl-mssql")
2095 (commit commit)))
2096 (file-name (git-file-name "cl-mssql" version))
2097 (sha256
2098 (base32 "09i50adppgc1ybm3ka9vbindhwa2x29f9n3n0jkrryymdhb8zknm"))))
2099 (build-system asdf-build-system/sbcl)
2100 (inputs
2101 `(("cffi" ,sbcl-cffi)
2102 ("freetds" ,freetds)
2103 ("garbage-pools" ,sbcl-garbage-pools)
2104 ("iterate" ,sbcl-iterate)
2105 ("parse-number" ,sbcl-parse-number)))
2106 (arguments
2107 `(#:phases
2108 (modify-phases %standard-phases
2109 (add-after 'unpack 'fix-paths
2110 (lambda* (#:key inputs #:allow-other-keys)
2111 (substitute* "src/mssql.lisp"
2112 (("libsybdb" all)
2113 (string-append (assoc-ref inputs "freetds") "/lib/" all)))
2114 #t)))))
2115 (home-page "https://github.com/archimag/cl-mssql")
2116 (synopsis "Common Lisp library to interact with MS SQL Server databases")
2117 (description
2118 "@code{cl-mssql} provides an interface to connect to Microsoft SQL
2119 server. It uses the @code{libsybdb} foreign library provided by the FreeTDS
2120 project.")
2121 (license license:llgpl))))
2122
2123 (define-public ecl-mssql
2124 (sbcl-package->ecl-package sbcl-mssql))
2125
2126 (define-public cl-mssql
2127 (sbcl-package->cl-source-package sbcl-mssql))
2128
2129 (define-public sbcl-lisp-unit
2130 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
2131 (package
2132 (name "sbcl-lisp-unit")
2133 (version (git-version "0.0.0" "1" commit))
2134 (source
2135 (origin
2136 (method git-fetch)
2137 (uri (git-reference
2138 (url "https://github.com/OdonataResearchLLC/lisp-unit")
2139 (commit commit)))
2140 (sha256
2141 (base32
2142 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
2143 (file-name (git-file-name "lisp-unit" version))))
2144 (build-system asdf-build-system/sbcl)
2145 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
2146 (description
2147 "@command{lisp-unit} is a Common Lisp library that supports unit
2148 testing. It is an extension of the library written by Chris Riesbeck.")
2149 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
2150 (license license:expat))))
2151
2152 (define-public cl-lisp-unit
2153 (sbcl-package->cl-source-package sbcl-lisp-unit))
2154
2155 (define-public ecl-lisp-unit
2156 (sbcl-package->ecl-package sbcl-lisp-unit))
2157
2158 (define-public sbcl-anaphora
2159 (package
2160 (name "sbcl-anaphora")
2161 (version "0.9.6")
2162 (source
2163 (origin
2164 (method git-fetch)
2165 (uri (git-reference
2166 (url "https://github.com/tokenrove/anaphora")
2167 (commit version)))
2168 (sha256
2169 (base32
2170 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
2171 (file-name (git-file-name "anaphora" version))))
2172 (build-system asdf-build-system/sbcl)
2173 (native-inputs
2174 `(("rt" ,sbcl-rt)))
2175 (synopsis "The anaphoric macro collection from Hell")
2176 (description
2177 "Anaphora is the anaphoric macro collection from Hell: it includes many
2178 new fiends in addition to old friends like @command{aif} and
2179 @command{awhen}.")
2180 (home-page "https://github.com/tokenrove/anaphora")
2181 (license license:public-domain)))
2182
2183 (define-public cl-anaphora
2184 (sbcl-package->cl-source-package sbcl-anaphora))
2185
2186 (define-public ecl-anaphora
2187 (sbcl-package->ecl-package sbcl-anaphora))
2188
2189 (define-public sbcl-lift
2190 (let ((commit "7d49a66c62759535624037826891152223d4206c"))
2191 (package
2192 (name "sbcl-lift")
2193 (version (git-version "1.7.1" "1" commit))
2194 (source
2195 (origin
2196 (method git-fetch)
2197 (uri (git-reference
2198 (url "https://github.com/gwkkwg/lift")
2199 (commit commit)))
2200 (sha256
2201 (base32
2202 "127v5avpz1i4m0lkaxqrq8hrl69rdazqaxf6s8awf0nd7wj2g4dp"))
2203 (file-name (git-file-name "lift" version))
2204 (modules '((guix build utils)))
2205 (snippet
2206 ;; Don't keep the bundled website
2207 `(begin
2208 (delete-file-recursively "website")
2209 #t))))
2210 (build-system asdf-build-system/sbcl)
2211 (arguments
2212 ;; The tests require a debugger, but we run with the debugger disabled.
2213 '(#:tests? #f))
2214 (synopsis "LIsp Framework for Testing")
2215 (description
2216 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
2217 Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
2218 testcases are organized into hierarchical testsuites each of which can have
2219 its own fixture. When run, a testcase can succeed, fail, or error. LIFT
2220 supports randomized testing, benchmarking, profiling, and reporting.")
2221 (home-page "https://github.com/gwkkwg/lift")
2222 (license license:expat))))
2223
2224 (define-public cl-lift
2225 (sbcl-package->cl-source-package sbcl-lift))
2226
2227 (define-public ecl-lift
2228 (sbcl-package->ecl-package sbcl-lift))
2229
2230 (define-public sbcl-let-plus
2231 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
2232 (package
2233 (name "sbcl-let-plus")
2234 (version (git-version "0.0.0" "1" commit))
2235 (source
2236 (origin
2237 (method git-fetch)
2238 (uri (git-reference
2239 (url "https://github.com/sharplispers/let-plus")
2240 (commit commit)))
2241 (sha256
2242 (base32
2243 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
2244 (file-name (git-file-name "let-plus" version))))
2245 (build-system asdf-build-system/sbcl)
2246 (inputs
2247 `(("alexandria" ,sbcl-alexandria)
2248 ("anaphora" ,sbcl-anaphora)))
2249 (native-inputs
2250 `(("lift" ,sbcl-lift)))
2251 (synopsis "Destructuring extension of let*")
2252 (description
2253 "This library implements the let+ macro, which is a dectructuring
2254 extension of let*. It features:
2255
2256 @itemize
2257 @item Clean, consistent syntax and small implementation (less than 300 LOC,
2258 not counting tests)
2259 @item Placeholder macros allow editor hints and syntax highlighting
2260 @item @command{&ign} for ignored values (in forms where that makes sense)
2261 @item Very easy to extend
2262 @end itemize\n")
2263 (home-page "https://github.com/sharplispers/let-plus")
2264 (license license:boost1.0))))
2265
2266 (define-public cl-let-plus
2267 (sbcl-package->cl-source-package sbcl-let-plus))
2268
2269 (define-public ecl-let-plus
2270 (sbcl-package->ecl-package sbcl-let-plus))
2271
2272 (define-public sbcl-cl-colors
2273 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
2274 (package
2275 (name "sbcl-cl-colors")
2276 (version (git-version "0.0.0" "1" commit))
2277 (source
2278 (origin
2279 (method git-fetch)
2280 (uri (git-reference
2281 (url "https://github.com/tpapp/cl-colors")
2282 (commit commit)))
2283 (sha256
2284 (base32
2285 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2286 (file-name (git-file-name "cl-colors" version))))
2287 (build-system asdf-build-system/sbcl)
2288 (inputs
2289 `(("alexandria" ,sbcl-alexandria)
2290 ("let-plus" ,sbcl-let-plus)))
2291 (synopsis "Simple color library for Common Lisp")
2292 (description
2293 "This is a very simple color library for Common Lisp, providing
2294
2295 @itemize
2296 @item Types for representing colors in HSV and RGB spaces.
2297 @item Simple conversion functions between the above types (and also
2298 hexadecimal representation for RGB).
2299 @item Some predefined colors (currently X11 color names – of course the
2300 library does not depend on X11).Because color in your terminal is nice.
2301 @end itemize
2302
2303 This library is no longer supported by its author.")
2304 (home-page "https://github.com/tpapp/cl-colors")
2305 (license license:boost1.0))))
2306
2307 (define-public cl-colors
2308 (sbcl-package->cl-source-package sbcl-cl-colors))
2309
2310 (define-public ecl-cl-colors
2311 (sbcl-package->ecl-package sbcl-cl-colors))
2312
2313 (define-public sbcl-cl-ansi-text
2314 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2315 (package
2316 (name "sbcl-cl-ansi-text")
2317 (version (git-version "1.0.0" "1" commit))
2318 (source
2319 (origin
2320 (method git-fetch)
2321 (uri (git-reference
2322 (url "https://github.com/pnathan/cl-ansi-text")
2323 (commit commit)))
2324 (sha256
2325 (base32
2326 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2327 (file-name (git-file-name "cl-ansi-text" version))))
2328 (build-system asdf-build-system/sbcl)
2329 (inputs
2330 `(("alexandria" ,sbcl-alexandria)
2331 ("cl-colors" ,sbcl-cl-colors)))
2332 (native-inputs
2333 `(("fiveam" ,sbcl-fiveam)))
2334 (synopsis "ANSI terminal color implementation for Common Lisp")
2335 (description
2336 "@command{cl-ansi-text} provides utilities which enable printing to an
2337 ANSI terminal with colored text. It provides the macro @command{with-color}
2338 which causes everything printed in the body to be displayed with the provided
2339 color. It further provides functions which will print the argument with the
2340 named color.")
2341 (home-page "https://github.com/pnathan/cl-ansi-text")
2342 (license license:llgpl))))
2343
2344 (define-public cl-ansi-text
2345 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2346
2347 (define-public ecl-cl-ansi-text
2348 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2349
2350 (define-public sbcl-prove
2351 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2352 (package
2353 (name "sbcl-prove")
2354 (version (git-version "1.0.0" "1" commit))
2355 (source
2356 (origin
2357 (method git-fetch)
2358 (uri (git-reference
2359 (url "https://github.com/fukamachi/prove")
2360 (commit commit)))
2361 (sha256
2362 (base32
2363 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2364 (file-name (git-file-name "prove" version))))
2365 (build-system asdf-build-system/sbcl)
2366 (inputs
2367 `(("alexandria" ,sbcl-alexandria)
2368 ("cl-ppcre" ,sbcl-cl-ppcre)
2369 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2370 (synopsis "Yet another unit testing framework for Common Lisp")
2371 (description
2372 "This project was originally called @command{cl-test-more}.
2373 @command{prove} is yet another unit testing framework for Common Lisp. The
2374 advantages of @command{prove} are:
2375
2376 @itemize
2377 @item Various simple functions for testing and informative error messages
2378 @item ASDF integration
2379 @item Extensible test reporters
2380 @item Colorizes the report if it's available (note for SLIME)
2381 @item Reports test durations
2382 @end itemize\n")
2383 (home-page "https://github.com/fukamachi/prove")
2384 (license license:expat))))
2385
2386 (define-public cl-prove
2387 (sbcl-package->cl-source-package sbcl-prove))
2388
2389 (define-public ecl-prove
2390 (sbcl-package->ecl-package sbcl-prove))
2391
2392 (define-public sbcl-proc-parse
2393 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2394 (package
2395 (name "sbcl-proc-parse")
2396 (version (git-version "0.0.0" "1" commit))
2397 (source
2398 (origin
2399 (method git-fetch)
2400 (uri (git-reference
2401 (url "https://github.com/fukamachi/proc-parse")
2402 (commit commit)))
2403 (sha256
2404 (base32
2405 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2406 (file-name (git-file-name "proc-parse" version))))
2407 (build-system asdf-build-system/sbcl)
2408 (inputs
2409 `(("alexandria" ,sbcl-alexandria)
2410 ("babel" ,sbcl-babel)))
2411 (native-inputs
2412 `(("prove" ,sbcl-prove)))
2413 (arguments
2414 ;; TODO: Tests don't find "proc-parse-test", why?
2415 `(#:tests? #f))
2416 (synopsis "Procedural vector parser")
2417 (description
2418 "This is a string/octets parser library for Common Lisp with speed and
2419 readability in mind. Unlike other libraries, the code is not a
2420 pattern-matching-like, but a char-by-char procedural parser.")
2421 (home-page "https://github.com/fukamachi/proc-parse")
2422 (license license:bsd-2))))
2423
2424 (define-public cl-proc-parse
2425 (sbcl-package->cl-source-package sbcl-proc-parse))
2426
2427 (define-public ecl-proc-parse
2428 (sbcl-package->ecl-package sbcl-proc-parse))
2429
2430 (define-public sbcl-parse-float
2431 (let ((commit "3074765101e41222b6b624a66aaf1e6416379f9c")
2432 (revision "2"))
2433 (package
2434 (name "sbcl-parse-float")
2435 (version (git-version "0.0.0" revision commit))
2436 (source
2437 (origin
2438 (method git-fetch)
2439 (uri (git-reference
2440 (url "https://github.com/soemraws/parse-float")
2441 (commit commit)))
2442 (sha256
2443 (base32 "0jd2spawc3v8vzqf8ky4cngl45jm65fhkrdf20mf6dcbn3mzpkmr"))
2444 (file-name (git-file-name "proc-parse" version))))
2445 (build-system asdf-build-system/sbcl)
2446 (arguments
2447 ;; FIXME: https://github.com/soemraws/parse-float/issues/12
2448 `(#:asd-systems '("parse-float" "parse-float-tests")))
2449 (native-inputs
2450 `(("lisp-unit" ,sbcl-lisp-unit)))
2451 (inputs
2452 `(("alexandria" ,sbcl-alexandria)))
2453 (home-page "https://github.com/soemraws/parse-float")
2454 (synopsis "Parse a floating point value from a string in Common Lisp")
2455 (description
2456 "This package exports the following function to parse floating-point
2457 values from a string in Common Lisp.")
2458 (license license:public-domain))))
2459
2460 (define-public cl-parse-float
2461 (sbcl-package->cl-source-package sbcl-parse-float))
2462
2463 (define-public ecl-parse-float
2464 (sbcl-package->ecl-package sbcl-parse-float))
2465
2466 (define-public sbcl-cl-string-match
2467 (let ((revision "1")
2468 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2469 (package
2470 (name "sbcl-cl-string-match")
2471 (version (git-version "0" revision changeset))
2472 (source
2473 (origin
2474 (method hg-fetch)
2475 (uri (hg-reference
2476 (url "https://bitbucket.org/vityok/cl-string-match/")
2477 (changeset changeset)))
2478 (sha256
2479 (base32
2480 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2481 (file-name (git-file-name "cl-string-match" version))))
2482 (build-system asdf-build-system/sbcl)
2483 (inputs
2484 `(("alexandria" ,sbcl-alexandria)
2485 ("babel" ,sbcl-babel)
2486 ("iterate" ,sbcl-iterate)
2487 ("jpl-queues" ,sbcl-jpl-queues)
2488 ("jpl-util" ,sbcl-jpl-util)
2489 ("mgl-pax" ,sbcl-mgl-pax)
2490 ("parse-float" ,sbcl-parse-float)
2491 ("proc-parse" ,sbcl-proc-parse)
2492 ("yacc" ,sbcl-cl-yacc)))
2493 ;; TODO: Tests are not evaluated properly.
2494 (native-inputs
2495 ;; For testing:
2496 `(("lisp-unit" ,sbcl-lisp-unit)))
2497 (arguments
2498 `(#:tests? #f))
2499 (synopsis "Set of utilities to manipulate strings in Common Lisp")
2500 (description
2501 "@command{cl-strings} is a small, portable, dependency-free set of
2502 utilities that make it even easier to manipulate text in Common Lisp. It has
2503 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
2504 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2505 (license license:bsd-3))))
2506
2507 (define-public cl-string-match
2508 (sbcl-package->cl-source-package sbcl-cl-string-match))
2509
2510 (define-public ecl-cl-string-match
2511 (sbcl-package->ecl-package sbcl-cl-string-match))
2512
2513 (define-public sbcl-ptester
2514 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2515 (revision "1"))
2516 (package
2517 (name "sbcl-ptester")
2518 (version (git-version "2.1.3" revision commit))
2519 (source
2520 (origin
2521 (method git-fetch)
2522 (uri (git-reference
2523 (url "http://git.kpe.io/ptester.git")
2524 (commit commit)))
2525 (file-name (git-file-name name version))
2526 (sha256
2527 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2528 (build-system asdf-build-system/sbcl)
2529 (home-page "http://quickdocs.org/ptester/")
2530 (synopsis "Portable test harness package")
2531 (description
2532 "@command{ptester} is a portable testing framework based on Franz's
2533 tester module.")
2534 (license license:llgpl))))
2535
2536 (define-public cl-ptester
2537 (sbcl-package->cl-source-package sbcl-ptester))
2538
2539 (define-public ecl-ptester
2540 (sbcl-package->ecl-package sbcl-ptester))
2541
2542 (define-public sbcl-puri
2543 (let ((commit "4bbab89d9ccbb26346899d1f496c97604fec567b")
2544 (revision "2"))
2545 (package
2546 (name "sbcl-puri")
2547 (version (git-version "1.5.7" revision commit))
2548 (source
2549 (origin
2550 (method git-fetch)
2551 (uri (git-reference
2552 (url "http://git.kpe.io/puri.git")
2553 (commit commit)))
2554 (file-name (git-file-name "puri" version))
2555 (sha256
2556 (base32 "0gq2rsr0aihs0z20v4zqvmdl4szq53b52rh97pvnmwrlbn4mapmd"))))
2557 (build-system asdf-build-system/sbcl)
2558 (native-inputs
2559 `(("ptester" ,sbcl-ptester)))
2560 (home-page "http://puri.kpe.io/")
2561 (synopsis "Portable URI Library")
2562 (description
2563 "This is a portable Universal Resource Identifier library for Common
2564 Lisp programs. It parses URI according to the RFC 2396 specification.")
2565 (license license:llgpl))))
2566
2567 (define-public cl-puri
2568 (sbcl-package->cl-source-package sbcl-puri))
2569
2570 (define-public ecl-puri
2571 (sbcl-package->ecl-package sbcl-puri))
2572
2573 (define-public sbcl-qmynd
2574 (let ((commit "7e56daf73f0ed5f49a931c01af75fb874bcf3445")
2575 (revision "1"))
2576 (package
2577 (name "sbcl-qmynd")
2578 (version (git-version "1.0.0" revision commit))
2579 (source
2580 (origin
2581 (method git-fetch)
2582 (uri (git-reference
2583 (url "https://github.com/qitab/qmynd")
2584 (commit commit)))
2585 (file-name (git-file-name name version))
2586 (sha256
2587 (base32
2588 "06gw5wxcpdclb6a5i5k9lbmdlyqsp182czrm9bm1cpklzbj0ihrl"))))
2589 (build-system asdf-build-system/sbcl)
2590 (inputs
2591 `(("asdf-finalizers" ,sbcl-asdf-finalizers)
2592 ("babel" ,sbcl-babel)
2593 ("chipz" ,sbcl-chipz)
2594 ("cl+ssl" ,sbcl-cl+ssl)
2595 ("flexi-streams" ,sbcl-flexi-streams)
2596 ("ironclad" ,sbcl-ironclad)
2597 ("salza2" ,sbcl-salza2)
2598 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
2599 ("usocket" ,sbcl-usocket)))
2600 (home-page "https://github.com/qitab/qmynd")
2601 (synopsis "QITAB MySQL Native Driver for Common Lisp")
2602 (description "QMyND, the QITAB MySQL Native Driver, is a MySQL client
2603 library that directly talks to a MySQL server in its native network protocol.
2604
2605 It's a part of QITAB umbrella project.")
2606 (license license:expat))))
2607
2608 (define-public ecl-qmynd
2609 (sbcl-package->ecl-package sbcl-qmynd))
2610
2611 (define-public cl-qmynd
2612 (sbcl-package->cl-source-package sbcl-qmynd))
2613
2614 (define-public sbcl-queues
2615 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2616 (package
2617 (name "sbcl-queues")
2618 (version (git-version "0.0.0" "1" commit))
2619 (source
2620 (origin
2621 (method git-fetch)
2622 (uri (git-reference
2623 (url "https://github.com/oconnore/queues")
2624 (commit commit)))
2625 (file-name (git-file-name "queues" version))
2626 (sha256
2627 (base32
2628 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2629 (build-system asdf-build-system/sbcl)
2630 (inputs
2631 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
2632 (arguments
2633 '(#:asd-systems '("queues"
2634 "queues.simple-queue"
2635 "queues.simple-cqueue"
2636 "queues.priority-queue"
2637 "queues.priority-cqueue")))
2638 (home-page "https://github.com/oconnore/queues")
2639 (synopsis "Common Lisp queue library")
2640 (description
2641 "This is a simple queue library for Common Lisp with features such as
2642 non-consing thread safe queues and fibonacci priority queues.")
2643 (license license:expat))))
2644
2645 (define-public cl-queues
2646 (sbcl-package->cl-source-package sbcl-queues))
2647
2648 (define-public ecl-queues
2649 (sbcl-package->ecl-package sbcl-queues))
2650
2651 (define-public sbcl-glsl-spec
2652 (let ((commit "f04476f7da89355ae6856b33283c60ba95c6555d")
2653 (revision "1"))
2654 (package
2655 (name "sbcl-glsl-spec")
2656 (version (git-version "0.0.0" revision commit))
2657 (source
2658 (origin
2659 (method git-fetch)
2660 (uri (git-reference
2661 (url "https://github.com/cbaggers/glsl-spec")
2662 (commit commit)))
2663 (file-name (git-file-name "glsl-spec" version))
2664 (sha256
2665 (base32 "01ipspr22fgfj3w8wq2y81lzrjc4vpfiwnr3dqhjlpzzra46am8c"))))
2666 (build-system asdf-build-system/sbcl)
2667 (arguments
2668 `(#:asd-systems '("glsl-spec" "glsl-symbols" "glsl-docs")))
2669 (home-page "https://github.com/cbaggers/glsl-spec")
2670 (synopsis "Common Lisp GLSL specification as a datastructure")
2671 (description
2672 "This package contains the specification of all functions and variables
2673 from GLSL as data.")
2674 (license license:unlicense))))
2675
2676 (define-public ecl-glsl-spec
2677 (sbcl-package->ecl-package sbcl-glsl-spec))
2678
2679 (define-public cl-glsl-spec
2680 (sbcl-package->cl-source-package sbcl-glsl-spec))
2681
2682 (define-public sbcl-varjo
2683 (let ((commit "9e77f30220053155d2ef8870ceba157f75e538d4")
2684 (revision "1"))
2685 (package
2686 (name "sbcl-varjo")
2687 (version (git-version "0.0.0" revision commit))
2688 (source
2689 (origin
2690 (method git-fetch)
2691 (uri (git-reference
2692 (url "https://github.com/cbaggers/varjo")
2693 (commit commit)))
2694 (file-name (git-file-name "varjo" version))
2695 (sha256
2696 (base32 "1p9x1wj576x5d31yvls9r1avkjkyhri7kyxbjfkg9z93a1w18j9z"))))
2697 (build-system asdf-build-system/sbcl)
2698 (native-inputs
2699 `(("fiveam" ,sbcl-fiveam)))
2700 (inputs
2701 `(("alexandria" ,sbcl-alexandria)
2702 ("cl-ppcre" ,sbcl-cl-ppcre)
2703 ("documentation-utils" ,sbcl-documentation-utils)
2704 ("fn" ,sbcl-fn)
2705 ("glsl-spec" ,sbcl-glsl-spec)
2706 ("named-readtables" ,sbcl-named-readtables)
2707 ("parse-float" ,sbcl-parse-float)
2708 ("vas-string-metrics" ,sbcl-vas-string-metrics)))
2709 (home-page "https://github.com/cbaggers/varjo")
2710 (synopsis "Lisp to GLSL Language Translator")
2711 (description
2712 "Varjo is a Lisp to GLSL compiler. Vari is the dialect of lisp Varjo
2713 compiles. It aims to be as close to Common Lisp as possible, but naturally it
2714 is statically typed so there are differences.")
2715 (license license:bsd-2))))
2716
2717 (define-public ecl-varjo
2718 (sbcl-package->ecl-package sbcl-varjo))
2719
2720 (define-public cl-varjo
2721 (sbcl-package->cl-source-package sbcl-varjo))
2722
2723 (define-public sbcl-cffi
2724 (package
2725 (name "sbcl-cffi")
2726 (version "0.23.0")
2727 (source
2728 (origin
2729 (method git-fetch)
2730 (uri (git-reference
2731 (url "https://github.com/cffi/cffi")
2732 (commit (string-append "v" version))))
2733 (file-name (git-file-name "cffi-bootstrap" version))
2734 (sha256
2735 (base32 "03s98imc5niwnpj3hhrafl7dmxq45g74h96sm68976k7ahi3vl5b"))))
2736 (build-system asdf-build-system/sbcl)
2737 (inputs
2738 `(("alexandria" ,sbcl-alexandria)
2739 ("babel" ,sbcl-babel)
2740 ("libffi" ,libffi)
2741 ("trivial-features" ,sbcl-trivial-features)))
2742 (native-inputs
2743 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2744 ("pkg-config" ,pkg-config)
2745 ("rt" ,sbcl-rt)))
2746 (arguments
2747 '(#:phases
2748 (modify-phases %standard-phases
2749 (add-after 'unpack 'fix-arm-support
2750 (lambda _
2751 ;; This is apparently deprecated since libffi-3.3.
2752 (substitute* "libffi/libffi-types.lisp"
2753 (("\\\(\\\(:unix64.*") ")\n"))
2754 #t))
2755 (add-after 'unpack 'fix-paths
2756 (lambda* (#:key inputs #:allow-other-keys)
2757 (substitute* "libffi/libffi.lisp"
2758 (("libffi.so.7" all) (string-append
2759 (assoc-ref inputs "libffi")
2760 "/lib/" all)))
2761 (substitute* "toolchain/c-toolchain.lisp"
2762 (("\"cc\"") (format #f "~S" (which "gcc"))))))
2763 (add-after 'build 'install-headers
2764 (lambda* (#:key outputs #:allow-other-keys)
2765 (install-file "grovel/common.h"
2766 (string-append
2767 (assoc-ref outputs "out")
2768 "/include/grovel")))))
2769 #:asd-files '("cffi.asd"
2770 "cffi-toolchain.asd"
2771 "cffi-grovel.asd"
2772 "cffi-libffi.asd"
2773 "cffi-uffi-compat.asd")
2774 #:asd-systems '("cffi"
2775 "cffi-libffi"
2776 "cffi-uffi-compat")))
2777 (home-page "https://common-lisp.net/project/cffi/")
2778 (synopsis "Common Foreign Function Interface for Common Lisp")
2779 (description "The Common Foreign Function Interface (CFFI)
2780 purports to be a portable foreign function interface for Common Lisp.
2781 The CFFI library is composed of a Lisp-implementation-specific backend
2782 in the CFFI-SYS package, and a portable frontend in the CFFI
2783 package.")
2784 (license license:expat)))
2785
2786 (define-public cl-cffi
2787 (sbcl-package->cl-source-package sbcl-cffi))
2788
2789 (define-public ecl-cffi
2790 (sbcl-package->ecl-package sbcl-cffi))
2791
2792 (define-public sbcl-cl-sqlite
2793 (package
2794 (name "sbcl-cl-sqlite")
2795 (version "0.2.1")
2796 (source
2797 (origin
2798 (method git-fetch)
2799 (uri (git-reference
2800 (url "https://github.com/dmitryvk/cl-sqlite")
2801 (commit version)))
2802 (file-name (git-file-name "cl-sqlite" version))
2803 (sha256
2804 (base32
2805 "08iv7b4m0hh7qx2cvq4f510nrgdld0vicnvmqsh9w0fgrcgmyg4k"))))
2806 (build-system asdf-build-system/sbcl)
2807 (inputs
2808 `(("iterate" ,sbcl-iterate)
2809 ("cffi" ,sbcl-cffi)
2810 ("sqlite" ,sqlite)))
2811 (native-inputs
2812 `(("fiveam" ,sbcl-fiveam)
2813 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2814 (arguments
2815 `(#:asd-systems '("sqlite")
2816 #:phases
2817 (modify-phases %standard-phases
2818 (add-after 'unpack 'fix-paths
2819 (lambda* (#:key inputs #:allow-other-keys)
2820 (substitute* "sqlite-ffi.lisp"
2821 (("libsqlite3" all) (string-append
2822 (assoc-ref inputs "sqlite")"/lib/" all))))))))
2823 (home-page "https://common-lisp.net/project/cl-sqlite/")
2824 (synopsis "Common Lisp binding for SQLite")
2825 (description
2826 "The @command{cl-sqlite} package is an interface to the SQLite embedded
2827 relational database engine.")
2828 (license license:public-domain)))
2829
2830 (define-public cl-sqlite
2831 (sbcl-package->cl-source-package sbcl-cl-sqlite))
2832
2833 (define-public ecl-cl-sqlite
2834 (sbcl-package->ecl-package sbcl-cl-sqlite))
2835
2836 (define-public sbcl-parenscript
2837 ;; Source archives are overwritten on every release, we use the Git repo instead.
2838 (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766"))
2839 (package
2840 (name "sbcl-parenscript")
2841 (version (git-version "2.7.1" "1" commit))
2842 (source
2843 (origin
2844 (method git-fetch)
2845 (uri (git-reference
2846 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
2847 (commit commit)))
2848 (file-name (git-file-name "parenscript" version))
2849 (sha256
2850 (base32
2851 "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf"))))
2852 (build-system asdf-build-system/sbcl)
2853 (inputs
2854 `(("cl-ppcre" ,sbcl-cl-ppcre)
2855 ("anaphora" ,sbcl-anaphora)
2856 ("named-readtables" ,sbcl-named-readtables)))
2857 (home-page "https://common-lisp.net/project/parenscript/")
2858 (synopsis "Translator from a subset of Common Lisp to JavaScript")
2859 (description
2860 "Parenscript is a translator from an extended subset of Common Lisp to
2861 JavaScript. Parenscript code can run almost identically on both the
2862 browser (as JavaScript) and server (as Common Lisp).
2863
2864 Parenscript code is treated the same way as Common Lisp code, making the full
2865 power of Lisp macros available for JavaScript. This provides a web
2866 development environment that is unmatched in its ability to reduce code
2867 duplication and provide advanced meta-programming facilities to web
2868 developers.
2869
2870 At the same time, Parenscript is different from almost all other \"language
2871 X\" to JavaScript translators in that it imposes almost no overhead:
2872
2873 @itemize
2874 @item No run-time dependencies: Any piece of Parenscript code is runnable
2875 as-is. There are no JavaScript files to include.
2876 @item Native types: Parenscript works entirely with native JavaScript data
2877 types. There are no new types introduced, and object prototypes are not
2878 touched.
2879 @item Native calling convention: Any JavaScript code can be called without the
2880 need for bindings. Likewise, Parenscript can be used to make efficient,
2881 self-contained JavaScript libraries.
2882 @item Readable code: Parenscript generates concise, formatted, idiomatic
2883 JavaScript code. Identifier names are preserved. This enables seamless
2884 debugging in tools like Firebug.
2885 @item Efficiency: Parenscript introduces minimal overhead for advanced Common
2886 Lisp features. The generated code is almost as fast as hand-written
2887 JavaScript.
2888 @end itemize\n")
2889 (license license:bsd-3))))
2890
2891 (define-public cl-parenscript
2892 (sbcl-package->cl-source-package sbcl-parenscript))
2893
2894 (define-public ecl-parenscript
2895 (sbcl-package->ecl-package sbcl-parenscript))
2896
2897 (define-public sbcl-cl-json
2898 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
2899 (package
2900 (name "sbcl-cl-json")
2901 (version (git-version "0.5" "1" commit))
2902 (source
2903 (origin
2904 (method git-fetch)
2905 (uri (git-reference
2906 (url "https://github.com/hankhero/cl-json")
2907 (commit commit)))
2908 (file-name (git-file-name "cl-json" version))
2909 (sha256
2910 (base32
2911 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
2912 (build-system asdf-build-system/sbcl)
2913 (native-inputs
2914 `(("fiveam" ,sbcl-fiveam)))
2915 (home-page "https://github.com/hankhero/cl-json")
2916 (synopsis "JSON encoder and decoder for Common-Lisp")
2917 (description
2918 "@command{cl-json} provides an encoder of Lisp objects to JSON format
2919 and a corresponding decoder of JSON data to Lisp objects. Both the encoder
2920 and the decoder are highly customizable; at the same time, the default
2921 settings ensure a very simple mode of operation, similar to that provided by
2922 @command{yason} or @command{st-json}.")
2923 (license license:expat))))
2924
2925 (define-public cl-json
2926 (sbcl-package->cl-source-package sbcl-cl-json))
2927
2928 (define-public ecl-cl-json
2929 (sbcl-package->ecl-package sbcl-cl-json))
2930
2931 (define-public sbcl-unix-opts
2932 (package
2933 (name "sbcl-unix-opts")
2934 (version "0.1.7")
2935 (source
2936 (origin
2937 (method git-fetch)
2938 (uri (git-reference
2939 (url "https://github.com/libre-man/unix-opts")
2940 (commit version)))
2941 (file-name (git-file-name "unix-opts" version))
2942 (sha256
2943 (base32
2944 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
2945 (build-system asdf-build-system/sbcl)
2946 (home-page "https://github.com/hankhero/cl-json")
2947 (synopsis "Unix-style command line options parser")
2948 (description
2949 "This is a minimalistic parser of command line options. The main
2950 advantage of the library is the ability to concisely define command line
2951 options once and then use this definition for parsing and extraction of
2952 command line arguments, as well as printing description of command line
2953 options (you get --help for free). This way you don't need to repeat
2954 yourself. Also, @command{unix-opts} doesn't depend on anything and
2955 precisely controls the behavior of the parser via Common Lisp restarts.")
2956 (license license:expat)))
2957
2958 (define-public cl-unix-opts
2959 (sbcl-package->cl-source-package sbcl-unix-opts))
2960
2961 (define-public ecl-unix-opts
2962 (sbcl-package->ecl-package sbcl-unix-opts))
2963
2964 (define-public sbcl-trivial-garbage
2965 (package
2966 (name "sbcl-trivial-garbage")
2967 (version "0.21")
2968 (source
2969 (origin
2970 (method git-fetch)
2971 (uri (git-reference
2972 (url "https://github.com/trivial-garbage/trivial-garbage")
2973 (commit (string-append "v" version))))
2974 (file-name (git-file-name "trivial-garbage" version))
2975 (sha256
2976 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
2977 (build-system asdf-build-system/sbcl)
2978 (native-inputs
2979 `(("rt" ,sbcl-rt)))
2980 (home-page "https://common-lisp.net/project/trivial-garbage/")
2981 (synopsis "Portable GC-related APIs for Common Lisp")
2982 (description "@command{trivial-garbage} provides a portable API to
2983 finalizers, weak hash-tables and weak pointers on all major implementations of
2984 the Common Lisp programming language.")
2985 (license license:public-domain)))
2986
2987 (define-public cl-trivial-garbage
2988 (sbcl-package->cl-source-package sbcl-trivial-garbage))
2989
2990 (define-public ecl-trivial-garbage
2991 (sbcl-package->ecl-package sbcl-trivial-garbage))
2992
2993 (define-public sbcl-closer-mop
2994 (let ((commit "19c9d33f576e10715fd79cc1d4f688dab0f241d6"))
2995 (package
2996 (name "sbcl-closer-mop")
2997 (version (git-version "1.0.0" "2" commit))
2998 (source
2999 (origin
3000 (method git-fetch)
3001 (uri (git-reference
3002 (url "https://github.com/pcostanza/closer-mop")
3003 (commit commit)))
3004 (sha256
3005 (base32 "1w3x087wvlwkd6swfdgbvjfs6kazf0la8ax4pjfzikwjch4snn2c"))
3006 (file-name (git-file-name "closer-mop" version ))))
3007 (build-system asdf-build-system/sbcl)
3008 (home-page "https://github.com/pcostanza/closer-mop")
3009 (synopsis "Rectifies absent or incorrect CLOS MOP features")
3010 (description "Closer to MOP is a compatibility layer that rectifies many
3011 of the absent or incorrect CLOS MOP features across a broad range of Common
3012 Lisp implementations.")
3013 (license license:expat))))
3014
3015 (define-public cl-closer-mop
3016 (sbcl-package->cl-source-package sbcl-closer-mop))
3017
3018 (define-public ecl-closer-mop
3019 (sbcl-package->ecl-package sbcl-closer-mop))
3020
3021 (define-public sbcl-cl-cffi-gtk
3022 (let ((commit "e9a46df65995d9a16e6c8dbdc1e09b775eb4a966"))
3023 (package
3024 (name "sbcl-cl-cffi-gtk")
3025 (version (git-version "0.11.2" "2" commit))
3026 (source
3027 (origin
3028 (method git-fetch)
3029 (uri (git-reference
3030 (url "https://github.com/Ferada/cl-cffi-gtk/")
3031 (commit commit)))
3032 (file-name (git-file-name "cl-cffi-gtk" version))
3033 (sha256
3034 (base32
3035 "04vix0gmqsj91lm975sx7jhlnz5gq1xf9jp873mp7c8frc5dk1jj"))))
3036 (build-system asdf-build-system/sbcl)
3037 (native-inputs
3038 `(("fiveam" ,sbcl-fiveam)))
3039 (inputs
3040 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3041 ("cairo" ,cairo)
3042 ("cffi" ,sbcl-cffi)
3043 ("closer-mop" ,sbcl-closer-mop)
3044 ("gdk-pixbuf" ,gdk-pixbuf)
3045 ("glib" ,glib)
3046 ("gtk" ,gtk+)
3047 ("iterate" ,sbcl-iterate)
3048 ("pango" ,pango)
3049 ("trivial-features" ,sbcl-trivial-features)
3050 ("trivial-garbage" ,sbcl-trivial-garbage)))
3051 (arguments
3052 `(#:asd-files '("gtk/cl-cffi-gtk.asd"
3053 "glib/cl-cffi-gtk-glib.asd"
3054 "gobject/cl-cffi-gtk-gobject.asd"
3055 "gio/cl-cffi-gtk-gio.asd"
3056 "cairo/cl-cffi-gtk-cairo.asd"
3057 "pango/cl-cffi-gtk-pango.asd"
3058 "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
3059 "gdk/cl-cffi-gtk-gdk.asd")
3060 #:test-asd-file "test/cl-cffi-gtk-test.asd"
3061 ;; TODO: Tests fail with memory fault.
3062 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
3063 #:tests? #f
3064 #:phases
3065 (modify-phases %standard-phases
3066 (add-after 'unpack 'fix-paths
3067 (lambda* (#:key inputs #:allow-other-keys)
3068 (substitute* "glib/glib.init.lisp"
3069 (("libglib|libgthread" all)
3070 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3071 (substitute* "gobject/gobject.init.lisp"
3072 (("libgobject" all)
3073 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3074 (substitute* "gio/gio.init.lisp"
3075 (("libgio" all)
3076 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3077 (substitute* "cairo/cairo.init.lisp"
3078 (("libcairo" all)
3079 (string-append (assoc-ref inputs "cairo") "/lib/" all)))
3080 (substitute* "pango/pango.init.lisp"
3081 (("libpango" all)
3082 (string-append (assoc-ref inputs "pango") "/lib/" all)))
3083 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
3084 (("libgdk_pixbuf" all)
3085 (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))
3086 (substitute* "gdk/gdk.init.lisp"
3087 (("libgdk" all)
3088 (string-append (assoc-ref inputs "gtk") "/lib/" all)))
3089 (substitute* "gdk/gdk.package.lisp"
3090 (("libgtk" all)
3091 (string-append (assoc-ref inputs "gtk") "/lib/" all))))))))
3092 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
3093 (synopsis "Common Lisp binding for GTK+3")
3094 (description
3095 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
3096 is a library for creating graphical user interfaces.")
3097 (license license:lgpl3))))
3098
3099 (define-public cl-cffi-gtk
3100 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
3101
3102 (define-public ecl-cl-cffi-gtk
3103 (sbcl-package->ecl-package sbcl-cl-cffi-gtk))
3104
3105 (define-public sbcl-cl-webkit
3106 (let ((commit "0bc05cc73257670ab241853b9cc9ccb68940fe44"))
3107 (package
3108 (name "sbcl-cl-webkit")
3109 (version (git-version "2.4" "10" commit))
3110 (source
3111 (origin
3112 (method git-fetch)
3113 (uri (git-reference
3114 (url "https://github.com/joachifm/cl-webkit")
3115 (commit commit)))
3116 (file-name (git-file-name "cl-webkit" version))
3117 (sha256
3118 (base32
3119 "1kg6illspvb5647pm0x819ag2n7njnqvrm18jzgd28vk6nlkrcmq"))))
3120 (build-system asdf-build-system/sbcl)
3121 (inputs
3122 `(("cffi" ,sbcl-cffi)
3123 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3124 ("webkitgtk" ,webkitgtk)))
3125 (arguments
3126 `(#:asd-systems '("cl-webkit2")
3127 #:phases
3128 (modify-phases %standard-phases
3129 (add-after 'unpack 'fix-paths
3130 (lambda* (#:key inputs #:allow-other-keys)
3131 (substitute* "webkit2/webkit2.init.lisp"
3132 (("libwebkit2gtk" all)
3133 (string-append
3134 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
3135 (home-page "https://github.com/joachifm/cl-webkit")
3136 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3137 (description
3138 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3139 currently targeting WebKit version 2. The WebKitGTK+ library adds web
3140 browsing capabilities to an application, leveraging the full power of the
3141 WebKit browsing engine.")
3142 (license license:expat))))
3143
3144 (define-public cl-webkit
3145 (sbcl-package->cl-source-package sbcl-cl-webkit))
3146
3147 (define-public ecl-cl-webkit
3148 (sbcl-package->ecl-package sbcl-cl-webkit))
3149
3150 (define-public sbcl-lparallel
3151 (package
3152 (name "sbcl-lparallel")
3153 (version "2.8.4")
3154 (source
3155 (origin
3156 (method git-fetch)
3157 (uri (git-reference
3158 (url "https://github.com/lmj/lparallel/")
3159 (commit (string-append "lparallel-" version))))
3160 (file-name (git-file-name "lparallel" version))
3161 (sha256
3162 (base32
3163 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3164 (build-system asdf-build-system/sbcl)
3165 (inputs
3166 `(("alexandria" ,sbcl-alexandria)
3167 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3168 ("trivial-garbage" ,sbcl-trivial-garbage)))
3169 (arguments
3170 `(#:phases
3171 (modify-phases %standard-phases
3172 (add-after 'unpack 'fix-dependency
3173 ;; lparallel loads a SBCL specific system in its asd file. This is
3174 ;; not carried over into the fasl which is generated. In order for
3175 ;; it to be carried over, it needs to be listed as a dependency.
3176 (lambda _
3177 (substitute* "lparallel.asd"
3178 ((":depends-on \\(:alexandria" all)
3179 (string-append all " #+sbcl :sb-cltl2"))))))))
3180 (home-page "https://lparallel.org/")
3181 (synopsis "Parallelism for Common Lisp")
3182 (description
3183 "@command{lparallel} is a library for parallel programming in Common
3184 Lisp, featuring:
3185
3186 @itemize
3187 @item a simple model of task submission with receiving queue,
3188 @item constructs for expressing fine-grained parallelism,
3189 @item asynchronous condition handling across thread boundaries,
3190 @item parallel versions of map, reduce, sort, remove, and many others,
3191 @item promises, futures, and delayed evaluation constructs,
3192 @item computation trees for parallelizing interconnected tasks,
3193 @item bounded and unbounded FIFO queues,
3194 @item high and low priority tasks,
3195 @item task killing by category,
3196 @item integrated timeouts.
3197 @end itemize\n")
3198 (license license:expat)))
3199
3200 (define-public cl-lparallel
3201 (sbcl-package->cl-source-package sbcl-lparallel))
3202
3203 (define-public ecl-lparallel
3204 (package
3205 (inherit (sbcl-package->ecl-package sbcl-lparallel))
3206 (arguments
3207 ;; TODO: Find why the tests get stuck forever; disable them for now.
3208 `(#:tests? #f))))
3209
3210 (define-public sbcl-cl-markup
3211 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3212 (package
3213 (name "sbcl-cl-markup")
3214 (version (git-version "0.1" "1" commit))
3215 (source
3216 (origin
3217 (method git-fetch)
3218 (uri (git-reference
3219 (url "https://github.com/arielnetworks/cl-markup/")
3220 (commit commit)))
3221 (file-name (git-file-name "cl-markup" version))
3222 (sha256
3223 (base32
3224 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3225 (build-system asdf-build-system/sbcl)
3226 (home-page "https://github.com/arielnetworks/cl-markup/")
3227 (synopsis "Markup generation library for Common Lisp")
3228 (description
3229 "A modern markup generation library for Common Lisp that features:
3230
3231 @itemize
3232 @item Fast (even faster through compiling the code)
3233 @item Safety
3234 @item Support for multiple document types (markup, xml, html, html5, xhtml)
3235 @item Output with doctype
3236 @item Direct output to stream
3237 @end itemize\n")
3238 (license license:lgpl3+))))
3239
3240 (define-public cl-markup
3241 (sbcl-package->cl-source-package sbcl-cl-markup))
3242
3243 (define-public ecl-cl-markup
3244 (sbcl-package->ecl-package sbcl-cl-markup))
3245
3246 (define-public sbcl-cl-mustache
3247 (package
3248 (name "sbcl-cl-mustache")
3249 (version "0.12.1")
3250 (source
3251 (origin
3252 (method git-fetch)
3253 (uri (git-reference
3254 (url "https://github.com/kanru/cl-mustache")
3255 (commit (string-append "v" version))))
3256 (file-name (git-file-name "cl-mustache" version))
3257 (sha256
3258 (base32 "149xbb6wxq1napliwm9cv729hwcgfnjli6y8hingfixz7f10lhks"))))
3259 (build-system asdf-build-system/sbcl)
3260 (home-page "https://github.com/kanru/cl-mustache")
3261 (synopsis "Common Lisp Mustache template renderer")
3262 (description "This is a Common Lisp implementation for the Mustache
3263 template system. More details on the standard are available at
3264 @url{https://mustache.github.io}.")
3265 (license license:expat)))
3266
3267 (define-public cl-mustache
3268 (sbcl-package->cl-source-package sbcl-cl-mustache))
3269
3270 (define-public ecl-cl-mustache
3271 (sbcl-package->ecl-package sbcl-cl-mustache))
3272
3273 (define-public sbcl-cl-css
3274 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3275 (package
3276 (name "sbcl-cl-css")
3277 (version (git-version "0.1" "1" commit))
3278 (source
3279 (origin
3280 (method git-fetch)
3281 (uri (git-reference
3282 (url "https://github.com/inaimathi/cl-css/")
3283 (commit commit)))
3284 (file-name (git-file-name "cl-css" version))
3285 (sha256
3286 (base32
3287 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3288 (build-system asdf-build-system/sbcl)
3289 (home-page "https://github.com/inaimathi/cl-css/")
3290 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3291 (description
3292 "This is a dead-simple, non validating, inline CSS generator for Common
3293 Lisp. Its goals are axiomatic syntax, simple implementation to support
3294 portability, and boilerplate reduction in CSS.")
3295 (license license:expat))))
3296
3297 (define-public cl-css
3298 (sbcl-package->cl-source-package sbcl-cl-css))
3299
3300 (define-public ecl-cl-css
3301 (sbcl-package->ecl-package sbcl-cl-css))
3302
3303 (define-public sbcl-portable-threads
3304 (let ((commit "aa26bf38338a6b068bf8bfb3375d8d8c3b0a28df"))
3305 (package
3306 (name "sbcl-portable-threads")
3307 (version (git-version "2.3" "2" commit))
3308 (source
3309 (origin
3310 (method git-fetch)
3311 (uri (git-reference
3312 (url "https://github.com/binghe/portable-threads/")
3313 (commit commit)))
3314 (file-name (git-file-name "portable-threads" version))
3315 (sha256
3316 (base32 "058ksi07vfdmhrf5mdlc833s82m1rcqfja2266520m3r8bzs8bvs"))))
3317 (build-system asdf-build-system/sbcl)
3318 (arguments
3319 `(;; Tests seem broken.
3320 #:tests? #f))
3321 (home-page "https://github.com/binghe/portable-threads")
3322 (synopsis "Portable threads API for Common Lisp")
3323 (description
3324 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3325 Lisp (from GBBopen project).")
3326 (license license:asl2.0))))
3327
3328 (define-public cl-portable-threads
3329 (sbcl-package->cl-source-package sbcl-portable-threads))
3330
3331 (define-public ecl-portable-threads
3332 (sbcl-package->ecl-package sbcl-portable-threads))
3333
3334 (define-public sbcl-usocket
3335 (package
3336 (name "sbcl-usocket")
3337 (version "0.8.3")
3338 (source
3339 (origin
3340 (method git-fetch)
3341 (uri (git-reference
3342 (url "https://github.com/usocket/usocket/")
3343 (commit (string-append "v" version))))
3344 (file-name (git-file-name "usocket" version))
3345 (sha256
3346 (base32
3347 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3348 (build-system asdf-build-system/sbcl)
3349 (native-inputs
3350 `(("rt" ,sbcl-rt)))
3351 (inputs
3352 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3353 ("split-sequence" ,sbcl-split-sequence)))
3354 (arguments
3355 `(#:tests? #f ; FIXME: Tests need network access?
3356 #:asd-systems '("usocket"
3357 "usocket-server")))
3358 (home-page "https://common-lisp.net/project/usocket/")
3359 (synopsis "Universal socket library for Common Lisp")
3360 (description
3361 "This library strives to provide a portable TCP/IP and UDP/IP socket
3362 interface for as many Common Lisp implementations as possible, while keeping
3363 the abstraction and portability layer as thin as possible.")
3364 (license license:expat)))
3365
3366 (define-public cl-usocket
3367 (sbcl-package->cl-source-package sbcl-usocket))
3368
3369 (define-public ecl-usocket
3370 (sbcl-package->ecl-package sbcl-usocket))
3371
3372 (define-public sbcl-s-xml
3373 (package
3374 (name "sbcl-s-xml")
3375 (version "3")
3376 (source
3377 (origin
3378 (method url-fetch)
3379 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3380 (sha256
3381 (base32
3382 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3383 (build-system asdf-build-system/sbcl)
3384 (home-page "https://common-lisp.net/project/s-xml/")
3385 (synopsis "Simple XML parser implemented in Common Lisp")
3386 (description
3387 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3388 parser implementation has the following features:
3389
3390 @itemize
3391 @item It works (handling many common XML usages).
3392 @item It is very small (the core is about 700 lines of code, including
3393 comments and whitespace).
3394 @item It has a core API that is simple, efficient and pure functional, much
3395 like that from SSAX (see also http://ssax.sourceforge.net).
3396 @item It supports different DOM models: an XSML-based one, an LXML-based one
3397 and a classic xml-element struct based one.
3398 @item It is reasonably time and space efficient (internally avoiding garbage
3399 generatation as much as possible).
3400 @item It does support CDATA.
3401 @item It should support the same character sets as your Common Lisp
3402 implementation.
3403 @item It does support XML name spaces.
3404 @end itemize
3405
3406 This XML parser implementation has the following limitations:
3407
3408 @itemize
3409 @item It does not support any special tags (like processing instructions).
3410 @item It is not validating, even skips DTD's all together.
3411 @end itemize\n")
3412 (license license:lgpl3+)))
3413
3414 (define-public cl-s-xml
3415 (sbcl-package->cl-source-package sbcl-s-xml))
3416
3417 (define-public ecl-s-xml
3418 (sbcl-package->ecl-package sbcl-s-xml))
3419
3420 (define-public sbcl-s-xml-rpc
3421 (package
3422 (name "sbcl-s-xml-rpc")
3423 (version "7")
3424 (source
3425 (origin
3426 (method url-fetch)
3427 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3428 (sha256
3429 (base32
3430 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3431 (build-system asdf-build-system/sbcl)
3432 (inputs
3433 `(("s-xml" ,sbcl-s-xml)))
3434 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3435 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3436 (description
3437 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3438 client and server.")
3439 (license license:lgpl3+)))
3440
3441 (define-public cl-s-xml-rpc
3442 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3443
3444 (define-public ecl-s-xml-rpc
3445 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3446
3447 (define-public sbcl-trivial-arguments
3448 (let ((commit "ecd84ed9cf9ef8f1e873d7409e6bd04979372aa7")
3449 (revision "1"))
3450 (package
3451 (name "sbcl-trivial-arguments")
3452 (version (git-version "1.1.0" revision commit))
3453 (source
3454 (origin
3455 (method git-fetch)
3456 (uri (git-reference
3457 (url "https://github.com/Shinmera/trivial-arguments")
3458 (commit commit)))
3459 (file-name (git-file-name "trivial-arguments" version))
3460 (sha256
3461 (base32 "02vaqfavhj8jqxnr68nnzvzshm8jbgcy6m9lvyv4daa6f7ihqf88"))))
3462 (build-system asdf-build-system/sbcl)
3463 (home-page "https://github.com/Shinmera/trivial-arguments")
3464 (synopsis "Common Lisp library to retrieve a function's lambda-list")
3465 (description
3466 "This is a simple library to retrieve the argument list of a function.")
3467 (license license:zlib))))
3468
3469 (define-public ecl-trivial-arguments
3470 (sbcl-package->ecl-package sbcl-trivial-arguments))
3471
3472 (define-public cl-trivial-arguments
3473 (sbcl-package->cl-source-package sbcl-trivial-arguments))
3474
3475 (define-public sbcl-trivial-clipboard
3476 (let ((commit "afcd3743b842f5a81fc86dba60f9db59970f49c5"))
3477 (package
3478 (name "sbcl-trivial-clipboard")
3479 (version (git-version "0.0.0.0" "3" commit))
3480 (source
3481 (origin
3482 (method git-fetch)
3483 (uri (git-reference
3484 (url "https://github.com/snmsts/trivial-clipboard")
3485 (commit commit)))
3486 (file-name (git-file-name "trivial-clipboard" version))
3487 (sha256
3488 (base32
3489 "1qfbvkzmvkbqpc5s3sx31c5653sy6qlcixafgzd10qpykb843prr"))))
3490 (build-system asdf-build-system/sbcl)
3491 (inputs
3492 `(("xclip" ,xclip)))
3493 (native-inputs
3494 `(("fiveam" ,sbcl-fiveam)))
3495 (arguments
3496 `(#:phases
3497 (modify-phases %standard-phases
3498 (add-after 'unpack 'fix-paths
3499 (lambda* (#:key inputs #:allow-other-keys)
3500 (substitute* "src/text.lisp"
3501 (("\\(executable-find \"xclip\"\\)")
3502 (string-append "(executable-find \""
3503 (assoc-ref inputs "xclip")
3504 "/bin/xclip\")"))))))))
3505 (home-page "https://github.com/snmsts/trivial-clipboard")
3506 (synopsis "Access system clipboard in Common Lisp")
3507 (description
3508 "@command{trivial-clipboard} gives access to the system clipboard.")
3509 (license license:expat))))
3510
3511 (define-public cl-trivial-clipboard
3512 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3513
3514 (define-public ecl-trivial-clipboard
3515 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3516
3517 (define-public sbcl-trivial-backtrace
3518 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3519 (revision "1"))
3520 (package
3521 (name "sbcl-trivial-backtrace")
3522 (version (git-version "0.0.0" revision commit))
3523 (source
3524 (origin
3525 (method git-fetch)
3526 (uri (git-reference
3527 (url "https://github.com/gwkkwg/trivial-backtrace")
3528 (commit commit)))
3529 (file-name (git-file-name "trivial-backtrace" version))
3530 (sha256
3531 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3532 (build-system asdf-build-system/sbcl)
3533 (inputs
3534 `(("sbcl-lift" ,sbcl-lift)))
3535 (arguments
3536 `(#:phases
3537 (modify-phases %standard-phases
3538 (add-after 'check 'delete-test-results
3539 (lambda* (#:key outputs #:allow-other-keys)
3540 (let ((test-results (string-append (assoc-ref outputs "out")
3541 "/share/common-lisp/"
3542 (%lisp-type)
3543 "/trivial-backtrace"
3544 "/test-results")))
3545 (when (file-exists? test-results)
3546 (delete-file-recursively test-results)))
3547 #t)))))
3548 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3549 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3550 (description
3551 "One of the many things that didn't quite get into the Common Lisp
3552 standard was how to get a Lisp to output its call stack when something has
3553 gone wrong. As such, each Lisp has developed its own notion of what to
3554 display, how to display it, and what sort of arguments can be used to
3555 customize it. @code{trivial-backtrace} is a simple solution to generating a
3556 backtrace portably.")
3557 (license license:expat))))
3558
3559 (define-public cl-trivial-backtrace
3560 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3561
3562 (define-public ecl-trivial-backtrace
3563 (sbcl-package->ecl-package sbcl-trivial-backtrace))
3564
3565 (define-public sbcl-rfc2388
3566 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3567 (revision "1"))
3568 (package
3569 (name "sbcl-rfc2388")
3570 (version (git-version "0.0.0" revision commit))
3571 (source
3572 (origin
3573 (method git-fetch)
3574 (uri (git-reference
3575 (url "https://github.com/jdz/rfc2388")
3576 (commit commit)))
3577 (file-name (git-file-name "rfc2388" version))
3578 (sha256
3579 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3580 (build-system asdf-build-system/sbcl)
3581 (home-page "https://github.com/jdz/rfc2388/")
3582 (synopsis "An implementation of RFC 2388 in Common Lisp")
3583 (description
3584 "This package contains an implementation of RFC 2388, which is used to
3585 process form data posted with HTTP POST method using enctype
3586 \"multipart/form-data\".")
3587 (license license:bsd-2))))
3588
3589 (define-public cl-rfc2388
3590 (sbcl-package->cl-source-package sbcl-rfc2388))
3591
3592 (define-public ecl-rfc2388
3593 (sbcl-package->ecl-package sbcl-rfc2388))
3594
3595 (define-public sbcl-md5
3596 (package
3597 (name "sbcl-md5")
3598 (version "2.0.4")
3599 (source
3600 (origin
3601 (method git-fetch)
3602 (uri (git-reference
3603 (url "https://github.com/pmai/md5")
3604 (commit (string-append "release-" version))))
3605 (file-name (git-file-name "md5" version))
3606 (sha256
3607 (base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
3608 (build-system asdf-build-system/sbcl)
3609 (home-page "https://github.com/pmai/md5")
3610 (synopsis
3611 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3612 (description
3613 "This package implements The MD5 Message-Digest Algorithm, as defined in
3614 RFC 1321 by R. Rivest, published April 1992.")
3615 (license license:public-domain)))
3616
3617 (define-public cl-md5
3618 (sbcl-package->cl-source-package sbcl-md5))
3619
3620 (define-public ecl-md5
3621 (package
3622 (inherit (sbcl-package->ecl-package sbcl-md5))
3623 (inputs
3624 `(("flexi-streams" ,ecl-flexi-streams)))))
3625
3626 (define-public sbcl-cl+ssl
3627 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
3628 (revision "1"))
3629 (package
3630 (name "sbcl-cl+ssl")
3631 (version (git-version "0.0.0" revision commit))
3632 (source
3633 (origin
3634 (method git-fetch)
3635 (uri (git-reference
3636 (url "https://github.com/cl-plus-ssl/cl-plus-ssl")
3637 (commit commit)))
3638 (file-name (git-file-name "cl+ssl" version))
3639 (sha256
3640 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
3641 (build-system asdf-build-system/sbcl)
3642 (arguments
3643 '(#:phases
3644 (modify-phases %standard-phases
3645 (add-after 'unpack 'fix-paths
3646 (lambda* (#:key inputs #:allow-other-keys)
3647 (substitute* "src/reload.lisp"
3648 (("libssl.so" all)
3649 (string-append
3650 (assoc-ref inputs "openssl") "/lib/" all))))))))
3651 (inputs
3652 `(("openssl" ,openssl)
3653 ("sbcl-cffi" ,sbcl-cffi)
3654 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3655 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3656 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3657 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3658 ("sbcl-alexandria" ,sbcl-alexandria)
3659 ("sbcl-trivial-features" ,sbcl-trivial-features)))
3660 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
3661 (synopsis "Common Lisp bindings to OpenSSL")
3662 (description
3663 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3664 code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3665 Development into CL+SSL was done by David Lichteblau.")
3666 (license license:expat))))
3667
3668 (define-public cl-cl+ssl
3669 (sbcl-package->cl-source-package sbcl-cl+ssl))
3670
3671 (define-public ecl-cl+ssl
3672 (sbcl-package->ecl-package sbcl-cl+ssl))
3673
3674 (define-public sbcl-kmrcl
3675 (let ((version "1.111")
3676 (commit "4a27407aad9deb607ffb8847630cde3d041ea25a")
3677 (revision "1"))
3678 (package
3679 (name "sbcl-kmrcl")
3680 (version (git-version version revision commit))
3681 (source
3682 (origin
3683 (method git-fetch)
3684 (uri (git-reference
3685 (url "http://git.kpe.io/kmrcl.git/")
3686 (commit commit)))
3687 (file-name (git-file-name name version))
3688 (sha256
3689 (base32 "06gx04mah5nc8w78s0j8628divbf1s5w7af8w7pvzb2d5mgvrbd2"))))
3690 (build-system asdf-build-system/sbcl)
3691 (inputs
3692 `(("sbcl-rt" ,sbcl-rt)))
3693 (home-page "http://files.kpe.io/kmrcl/")
3694 (synopsis "General utilities for Common Lisp programs")
3695 (description
3696 "KMRCL is a collection of utilities used by a number of Kevin
3697 Rosenberg's Common Lisp packages.")
3698 (license license:llgpl))))
3699
3700 (define-public cl-kmrcl
3701 (sbcl-package->cl-source-package sbcl-kmrcl))
3702
3703 (define-public ecl-kmrcl
3704 (sbcl-package->ecl-package sbcl-kmrcl))
3705
3706 (define-public sbcl-cl-base64
3707 ;; 3.3.4 tests are broken, upstream fixes them.
3708 (let ((commit "577683b18fd880b82274d99fc96a18a710e3987a"))
3709 (package
3710 (name "sbcl-cl-base64")
3711 (version (git-version "3.3.4" "1" commit))
3712 (source
3713 (origin
3714 (method git-fetch)
3715 (uri (git-reference
3716 (url "http://git.kpe.io/cl-base64.git/")
3717 (commit commit)))
3718 (file-name (git-file-name name version))
3719 (sha256
3720 (base32 "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj"))))
3721 (build-system asdf-build-system/sbcl)
3722 (native-inputs ; For tests.
3723 `(("sbcl-ptester" ,sbcl-ptester)
3724 ("sbcl-kmrcl" ,sbcl-kmrcl)))
3725 (home-page "http://files.kpe.io/cl-base64/")
3726 (synopsis
3727 "Common Lisp package to encode and decode base64 with URI support")
3728 (description
3729 "This package provides highly optimized base64 encoding and decoding.
3730 Besides conversion to and from strings, integer conversions are supported.
3731 Encoding with Uniform Resource Identifiers is supported by using a modified
3732 encoding table that uses only URI-compatible characters.")
3733 (license license:bsd-3))))
3734
3735 (define-public cl-base64
3736 (sbcl-package->cl-source-package sbcl-cl-base64))
3737
3738 (define-public ecl-cl-base64
3739 (sbcl-package->ecl-package sbcl-cl-base64))
3740
3741 (define-public sbcl-chunga
3742 (package
3743 (name "sbcl-chunga")
3744 (version "1.1.7")
3745 (source
3746 (origin
3747 (method git-fetch)
3748 (uri (git-reference
3749 (url "https://github.com/edicl/chunga")
3750 (commit (string-append "v" version))))
3751 (file-name (git-file-name name version))
3752 (sha256
3753 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
3754 (build-system asdf-build-system/sbcl)
3755 (inputs
3756 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3757 (home-page "https://edicl.github.io/chunga/")
3758 (synopsis "Portable chunked streams for Common Lisp")
3759 (description
3760 "Chunga implements streams capable of chunked encoding on demand as
3761 defined in RFC 2616.")
3762 (license license:bsd-2)))
3763
3764 (define-public cl-chunga
3765 (sbcl-package->cl-source-package sbcl-chunga))
3766
3767 (define-public ecl-chunga
3768 (sbcl-package->ecl-package sbcl-chunga))
3769
3770 (define-public sbcl-cl-who
3771 (let ((version "1.1.4")
3772 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
3773 (revision "1"))
3774 (package
3775 (name "sbcl-cl-who")
3776 (version (git-version version revision commit))
3777 (source
3778 (origin
3779 (method git-fetch)
3780 (uri (git-reference
3781 (url "https://github.com/edicl/cl-who")
3782 (commit commit)))
3783 (file-name (git-file-name name version))
3784 (sha256
3785 (base32
3786 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
3787 (build-system asdf-build-system/sbcl)
3788 (native-inputs
3789 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3790 (home-page "https://edicl.github.io/cl-who/")
3791 (synopsis "Yet another Lisp markup language")
3792 (description
3793 "There are plenty of Lisp Markup Languages out there - every Lisp
3794 programmer seems to write at least one during his career - and CL-WHO (where
3795 WHO means \"with-html-output\" for want of a better acronym) is probably just
3796 as good or bad as the next one.")
3797 (license license:bsd-2))))
3798
3799 (define-public cl-who
3800 (sbcl-package->cl-source-package sbcl-cl-who))
3801
3802 (define-public ecl-cl-who
3803 (sbcl-package->ecl-package sbcl-cl-who))
3804
3805 (define-public sbcl-chipz
3806 (let ((version "0.8")
3807 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
3808 (revision "1"))
3809 (package
3810 (name "sbcl-chipz")
3811 (version (git-version version revision commit))
3812 (source
3813 (origin
3814 (method git-fetch)
3815 (uri (git-reference
3816 (url "https://github.com/froydnj/chipz")
3817 (commit commit)))
3818 (file-name (git-file-name name version))
3819 (sha256
3820 (base32
3821 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
3822 (build-system asdf-build-system/sbcl)
3823 (native-inputs
3824 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3825 (home-page "http://method-combination.net/lisp/chipz/")
3826 (synopsis
3827 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
3828 data")
3829 (description
3830 "DEFLATE data, defined in RFC1951, forms the core of popular
3831 compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
3832 Chipz also provides for decompressing data in those formats as well. BZIP2 is
3833 the format used by the popular compression tool bzip2.")
3834 ;; The author describes it as "MIT-like"
3835 (license license:expat))))
3836
3837 (define-public cl-chipz
3838 (sbcl-package->cl-source-package sbcl-chipz))
3839
3840 (define-public ecl-chipz
3841 (sbcl-package->ecl-package sbcl-chipz))
3842
3843 (define-public sbcl-drakma
3844 (package
3845 (name "sbcl-drakma")
3846 (version "2.0.7")
3847 (source
3848 (origin
3849 (method git-fetch)
3850 (uri (git-reference
3851 (url "https://github.com/edicl/drakma")
3852 (commit (string-append "v" version))))
3853 (file-name (git-file-name name version))
3854 (sha256
3855 (base32
3856 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
3857 (build-system asdf-build-system/sbcl)
3858 (inputs
3859 `(("sbcl-puri" ,sbcl-puri)
3860 ("sbcl-cl-base64" ,sbcl-cl-base64)
3861 ("sbcl-chunga" ,sbcl-chunga)
3862 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3863 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3864 ("sbcl-chipz" ,sbcl-chipz)
3865 ("sbcl-usocket" ,sbcl-usocket)
3866 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
3867 (native-inputs
3868 `(("sbcl-fiveam" ,sbcl-fiveam)))
3869 (home-page "https://edicl.github.io/drakma/")
3870 (synopsis "HTTP client written in Common Lisp")
3871 (description
3872 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
3873 knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
3874 sockets, SSL, continuable uploads, file uploads, cookies, and more.")
3875 (license license:bsd-2)))
3876
3877 (define-public cl-drakma
3878 (sbcl-package->cl-source-package sbcl-drakma))
3879
3880 (define-public ecl-drakma
3881 (sbcl-package->ecl-package sbcl-drakma))
3882
3883 (define-public sbcl-hunchentoot
3884 (package
3885 (name "sbcl-hunchentoot")
3886 (version "1.2.38")
3887 (source
3888 (origin
3889 (method git-fetch)
3890 (uri (git-reference
3891 (url "https://github.com/edicl/hunchentoot")
3892 (commit (string-append "v" version))))
3893 (file-name (git-file-name "hunchentoot" version))
3894 (sha256
3895 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
3896 (build-system asdf-build-system/sbcl)
3897 (native-inputs
3898 `(("sbcl-cl-who" ,sbcl-cl-who)
3899 ("sbcl-drakma" ,sbcl-drakma)))
3900 (inputs
3901 `(("sbcl-chunga" ,sbcl-chunga)
3902 ("sbcl-cl-base64" ,sbcl-cl-base64)
3903 ("sbcl-cl-fad" ,sbcl-cl-fad)
3904 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3905 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3906 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
3907 ("sbcl-md5" ,sbcl-md5)
3908 ("sbcl-rfc2388" ,sbcl-rfc2388)
3909 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
3910 ("sbcl-usocket" ,sbcl-usocket)))
3911 (home-page "https://edicl.github.io/hunchentoot/")
3912 (synopsis "Web server written in Common Lisp")
3913 (description
3914 "Hunchentoot is a web server written in Common Lisp and at the same
3915 time a toolkit for building dynamic websites. As a stand-alone web server,
3916 Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
3917 connections (keep-alive), and SSL.")
3918 (license license:bsd-2)))
3919
3920 (define-public cl-hunchentoot
3921 (sbcl-package->cl-source-package sbcl-hunchentoot))
3922
3923 (define-public ecl-hunchentoot
3924 (package
3925 (inherit (sbcl-package->ecl-package sbcl-hunchentoot))
3926 (arguments
3927 ;; Tests fail on ECL with 'Socket error in "socket": EINVAL'.
3928 '(#:tests? #f))))
3929
3930 (define-public sbcl-trivial-types
3931 (package
3932 (name "sbcl-trivial-types")
3933 (version "0.0.1")
3934 (source
3935 (origin
3936 (method git-fetch)
3937 (uri (git-reference
3938 (url "https://github.com/m2ym/trivial-types")
3939 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
3940 (file-name (git-file-name name version))
3941 (sha256
3942 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
3943 (build-system asdf-build-system/sbcl)
3944 (home-page "https://github.com/m2ym/trivial-types")
3945 (synopsis "Trivial type definitions for Common Lisp")
3946 (description
3947 "TRIVIAL-TYPES provides missing but important type definitions such as
3948 PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
3949 (license license:llgpl)))
3950
3951 (define-public cl-trivial-types
3952 (sbcl-package->cl-source-package sbcl-trivial-types))
3953
3954 (define-public ecl-trivial-types
3955 (sbcl-package->ecl-package sbcl-trivial-types))
3956
3957 (define-public sbcl-cl-annot
3958 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
3959 (revision "1"))
3960 (package
3961 (name "sbcl-cl-annot")
3962 (version (git-version "0.0.0" revision commit))
3963 (source
3964 (origin
3965 (method git-fetch)
3966 (uri (git-reference
3967 (url "https://github.com/m2ym/cl-annot")
3968 (commit commit)))
3969 (file-name (git-file-name name version))
3970 (sha256
3971 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
3972 (build-system asdf-build-system/sbcl)
3973 (inputs
3974 `(("sbcl-alexandria" ,sbcl-alexandria)))
3975 (home-page "https://github.com/m2ym/cl-annot")
3976 (synopsis "Python-like Annotation Syntax for Common Lisp.")
3977 (description
3978 "@code{cl-annot} is an general annotation library for Common Lisp.")
3979 (license license:llgpl))))
3980
3981 (define-public cl-annot
3982 (sbcl-package->cl-source-package sbcl-cl-annot))
3983
3984 (define-public ecl-cl-annot
3985 (sbcl-package->ecl-package sbcl-cl-annot))
3986
3987 (define-public sbcl-cl-syntax
3988 (package
3989 (name "sbcl-cl-syntax")
3990 (version "0.0.3")
3991 (source
3992 (origin
3993 (method git-fetch)
3994 (uri (git-reference
3995 (url "https://github.com/m2ym/cl-syntax")
3996 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
3997 (file-name (git-file-name "cl-syntax" version))
3998 (sha256
3999 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
4000 (build-system asdf-build-system/sbcl)
4001 (inputs
4002 `(("cl-annot" ,sbcl-cl-annot)
4003 ("cl-interpol" ,sbcl-cl-interpol)
4004 ("named-readtables" ,sbcl-named-readtables)
4005 ("trivial-types" ,sbcl-trivial-types)))
4006 (arguments
4007 '(#:asd-systems '("cl-syntax"
4008 "cl-syntax-annot"
4009 "cl-syntax-interpol")))
4010 (home-page "https://github.com/m2ym/cl-syntax")
4011 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
4012 (description
4013 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
4014 (license license:llgpl)))
4015
4016 (define-public cl-syntax
4017 (sbcl-package->cl-source-package sbcl-cl-syntax))
4018
4019 (define-public ecl-cl-syntax
4020 (sbcl-package->ecl-package sbcl-cl-syntax))
4021
4022 (define-public sbcl-cl-utilities
4023 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
4024 (revision "1"))
4025 (package
4026 (name "sbcl-cl-utilities")
4027 (version (git-version "0.0.0" revision commit))
4028 (source
4029 (origin
4030 (method url-fetch)
4031 (uri
4032 (string-append
4033 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
4034 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
4035 (sha256
4036 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
4037 (build-system asdf-build-system/sbcl)
4038 (arguments
4039 '(#:phases
4040 (modify-phases %standard-phases
4041 (add-after 'unpack 'fix-paths
4042 (lambda* (#:key inputs #:allow-other-keys)
4043 (substitute* "rotate-byte.lisp"
4044 (("in-package :cl-utilities)" all)
4045 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
4046 (home-page "http://common-lisp.net/project/cl-utilities")
4047 (synopsis "A collection of semi-standard utilities")
4048 (description
4049 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
4050 is a collection of Common Lisp Utilities, things that everybody writes since
4051 they're not part of the official standard. There are some very useful things
4052 there; the only problems are that they aren't implemented as well as you'd
4053 like (some aren't implemented at all) and they aren't conveniently packaged
4054 and maintained. It takes quite a bit of work to carefully implement utilities
4055 for common use, commented and documented, with error checking placed
4056 everywhere some dumb user might make a mistake.")
4057 (license license:public-domain))))
4058
4059 (define-public cl-utilities
4060 (sbcl-package->cl-source-package sbcl-cl-utilities))
4061
4062 (define-public ecl-cl-utilities
4063 (sbcl-package->ecl-package sbcl-cl-utilities))
4064
4065 (define-public sbcl-map-set
4066 (let ((commit "7b4b545b68b8")
4067 (revision "1"))
4068 (package
4069 (name "sbcl-map-set")
4070 (version (git-version "0.0.0" revision commit))
4071 (source
4072 (origin
4073 (method url-fetch)
4074 (uri (string-append
4075 "https://bitbucket.org/tarballs_are_good/map-set/get/"
4076 commit ".tar.gz"))
4077 (sha256
4078 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
4079 (build-system asdf-build-system/sbcl)
4080 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
4081 (synopsis "Set-like data structure")
4082 (description
4083 "Implementation of a set-like data structure with constant time
4084 addition, removal, and random selection.")
4085 (license license:bsd-3))))
4086
4087 (define-public cl-map-set
4088 (sbcl-package->cl-source-package sbcl-map-set))
4089
4090 (define-public ecl-map-set
4091 (sbcl-package->ecl-package sbcl-map-set))
4092
4093 (define-public sbcl-quri
4094 (let ((commit "d7f2720568146c6674187f625f115925e6364a7f")
4095 (revision "4"))
4096 (package
4097 (name "sbcl-quri")
4098 (version (git-version "0.1.0" revision commit))
4099 (source
4100 (origin
4101 (method git-fetch)
4102 (uri (git-reference
4103 (url "https://github.com/fukamachi/quri")
4104 (commit commit)))
4105 (file-name (git-file-name name version))
4106 (sha256
4107 (base32 "0yrcvz5ksfr7x8yx741vp65il0fxxaskppq3iyk9bq895s1jn37w"))))
4108 (build-system asdf-build-system/sbcl)
4109 (arguments
4110 ;; Test system must be loaded before, otherwise tests fail with:
4111 ;; Component QURI-ASD::QURI-TEST not found, required by #<SYSTEM
4112 ;; "quri">.
4113 '(#:asd-systems '("quri-test"
4114 "quri")))
4115 (native-inputs `(("sbcl-prove" ,sbcl-prove)))
4116 (inputs `(("sbcl-babel" ,sbcl-babel)
4117 ("sbcl-split-sequence" ,sbcl-split-sequence)
4118 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
4119 ("sbcl-alexandria" ,sbcl-alexandria)))
4120 (home-page "https://github.com/fukamachi/quri")
4121 (synopsis "Yet another URI library for Common Lisp")
4122 (description
4123 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
4124 Lisp. It is intended to be a replacement of PURI.")
4125 (license license:bsd-3))))
4126
4127 (define-public cl-quri
4128 (sbcl-package->cl-source-package sbcl-quri))
4129
4130 (define-public ecl-quri
4131 (sbcl-package->ecl-package sbcl-quri))
4132
4133 (define-public sbcl-myway
4134 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
4135 (revision "1"))
4136 (package
4137 (name "sbcl-myway")
4138 (version (git-version "0.1.0" revision commit))
4139 (source
4140 (origin
4141 (method git-fetch)
4142 (uri (git-reference
4143 (url "https://github.com/fukamachi/myway")
4144 (commit commit)))
4145 (file-name (git-file-name "myway" version))
4146 (sha256
4147 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
4148 (build-system asdf-build-system/sbcl)
4149 (arguments
4150 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
4151 ;; by #<SYSTEM "myway">. Why?
4152 '(#:tests? #f))
4153 (native-inputs
4154 `(("sbcl-prove" ,sbcl-prove)))
4155 (inputs
4156 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4157 ("sbcl-quri" ,sbcl-quri)
4158 ("sbcl-map-set" ,sbcl-map-set)))
4159 (home-page "https://github.com/fukamachi/myway")
4160 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
4161 (description "My Way is a Sinatra-compatible URL routing library.")
4162 (license license:llgpl))))
4163
4164 (define-public cl-myway
4165 (sbcl-package->cl-source-package sbcl-myway))
4166
4167 (define-public ecl-myway
4168 (sbcl-package->ecl-package sbcl-myway))
4169
4170 (define-public sbcl-xsubseq
4171 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
4172 (revision "1"))
4173 (package
4174 (name "sbcl-xsubseq")
4175 (version (git-version "0.0.1" revision commit))
4176 (source
4177 (origin
4178 (method git-fetch)
4179 (uri (git-reference
4180 (url "https://github.com/fukamachi/xsubseq")
4181 (commit commit)))
4182 (file-name (git-file-name name version))
4183 (sha256
4184 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4185 (build-system asdf-build-system/sbcl)
4186 (arguments
4187 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4188 ;; required by #<SYSTEM "xsubseq">. Why?
4189 '(#:tests? #f))
4190 (native-inputs
4191 `(("sbcl-prove" ,sbcl-prove)))
4192 (home-page "https://github.com/fukamachi/xsubseq")
4193 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4194 (description
4195 "XSubseq provides functions to be able to handle \"subseq\"s more
4196 effieiently.")
4197 (license license:bsd-2))))
4198
4199 (define-public cl-xsubseq
4200 (sbcl-package->cl-source-package sbcl-xsubseq))
4201
4202 (define-public ecl-xsubseq
4203 (sbcl-package->ecl-package sbcl-xsubseq))
4204
4205 (define-public sbcl-smart-buffer
4206 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4207 (revision "1"))
4208 (package
4209 (name "sbcl-smart-buffer")
4210 (version (git-version "0.0.1" revision commit))
4211 (source
4212 (origin
4213 (method git-fetch)
4214 (uri (git-reference
4215 (url "https://github.com/fukamachi/smart-buffer")
4216 (commit commit)))
4217 (file-name (git-file-name name version))
4218 (sha256
4219 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4220 (build-system asdf-build-system/sbcl)
4221 (arguments
4222 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4223 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4224 `(#:tests? #f))
4225 (native-inputs
4226 `(("sbcl-prove" ,sbcl-prove)))
4227 (inputs
4228 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4229 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4230 (home-page "https://github.com/fukamachi/smart-buffer")
4231 (synopsis "Smart octets buffer")
4232 (description
4233 "Smart-buffer provides an output buffer which changes the destination
4234 depending on content size.")
4235 (license license:bsd-3))))
4236
4237 (define-public cl-smart-buffer
4238 (sbcl-package->cl-source-package sbcl-smart-buffer))
4239
4240 (define-public ecl-smart-buffer
4241 (sbcl-package->ecl-package sbcl-smart-buffer))
4242
4243 (define-public sbcl-fast-http
4244 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
4245 (revision "2"))
4246 (package
4247 (name "sbcl-fast-http")
4248 (version (git-version "0.2.0" revision commit))
4249 (source
4250 (origin
4251 (method git-fetch)
4252 (uri (git-reference
4253 (url "https://github.com/fukamachi/fast-http")
4254 (commit commit)))
4255 (file-name (git-file-name name version))
4256 (sha256
4257 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
4258 (build-system asdf-build-system/sbcl)
4259 (arguments
4260 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4261 ;; required by #<SYSTEM "fast-http">. Why?
4262 `(#:tests? #f))
4263 (native-inputs
4264 `(("sbcl-prove" ,sbcl-prove)
4265 ("cl-syntax" ,sbcl-cl-syntax)))
4266 (inputs
4267 `(("sbcl-alexandria" ,sbcl-alexandria)
4268 ("sbcl-proc-parse" ,sbcl-proc-parse)
4269 ("sbcl-xsubseq" ,sbcl-xsubseq)
4270 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4271 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4272 (home-page "https://github.com/fukamachi/fast-http")
4273 (synopsis "HTTP request/response parser for Common Lisp")
4274 (description
4275 "@code{fast-http} is a HTTP request/response protocol parser for Common
4276 Lisp.")
4277 ;; Author specified the MIT license
4278 (license license:expat))))
4279
4280 (define-public cl-fast-http
4281 (sbcl-package->cl-source-package sbcl-fast-http))
4282
4283 (define-public ecl-fast-http
4284 (sbcl-package->ecl-package sbcl-fast-http))
4285
4286 (define-public sbcl-static-vectors
4287 (package
4288 (name "sbcl-static-vectors")
4289 (version "1.8.6")
4290 (source
4291 (origin
4292 (method git-fetch)
4293 (uri (git-reference
4294 (url "https://github.com/sionescu/static-vectors")
4295 (commit (string-append "v" version))))
4296 (file-name (git-file-name name version))
4297 (sha256
4298 (base32 "01hwxzhyjkhsd3949g70120g7msw01byf0ia0pbj319q1a3cq7j9"))))
4299 (native-inputs
4300 `(("sbcl-fiveam" ,sbcl-fiveam)))
4301 (inputs
4302 `(("sbcl-alexandria" ,sbcl-alexandria)
4303 ("sbcl-cffi" ,sbcl-cffi)))
4304 (build-system asdf-build-system/sbcl)
4305 (home-page "https://github.com/sionescu/static-vectors")
4306 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4307 (description
4308 "With @code{static-vectors}, you can create vectors allocated in static
4309 memory.")
4310 (license license:expat)))
4311
4312 (define-public cl-static-vectors
4313 (sbcl-package->cl-source-package sbcl-static-vectors))
4314
4315 (define-public ecl-static-vectors
4316 (sbcl-package->ecl-package sbcl-static-vectors))
4317
4318 (define-public sbcl-marshal
4319 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4320 (revision "1"))
4321 (package
4322 (name "sbcl-marshal")
4323 (version (git-version "1.3.0" revision commit))
4324 (source
4325 (origin
4326 (method git-fetch)
4327 (uri (git-reference
4328 (url "https://github.com/wlbr/cl-marshal")
4329 (commit commit)))
4330 (file-name (git-file-name name version))
4331 (sha256
4332 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4333 (build-system asdf-build-system/sbcl)
4334 (home-page "https://github.com/wlbr/cl-marshal")
4335 (synopsis "Simple (de)serialization of Lisp datastructures")
4336 (description
4337 "Simple and fast marshalling of Lisp datastructures. Convert any object
4338 into a string representation, put it on a stream an revive it from there.
4339 Only minimal changes required to make your CLOS objects serializable.")
4340 (license license:expat))))
4341
4342 (define-public cl-marshal
4343 (sbcl-package->cl-source-package sbcl-marshal))
4344
4345 (define-public ecl-marshal
4346 (sbcl-package->ecl-package sbcl-marshal))
4347
4348 (define-public sbcl-checkl
4349 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4350 (revision "1"))
4351 (package
4352 (name "sbcl-checkl")
4353 (version (git-version "0.0.0" revision commit))
4354 (source
4355 (origin
4356 (method git-fetch)
4357 (uri (git-reference
4358 (url "https://github.com/rpav/CheckL")
4359 (commit commit)))
4360 (file-name (git-file-name name version))
4361 (sha256
4362 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4363 (build-system asdf-build-system/sbcl)
4364 (arguments
4365 ;; Error while trying to load definition for system checkl-test from
4366 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4367 ;; is undefined.
4368 '(#:asd-files '("checkl.asd")
4369 #:tests? #f))
4370 (native-inputs
4371 `(("sbcl-fiveam" ,sbcl-fiveam)))
4372 (inputs
4373 `(("sbcl-marshal" ,sbcl-marshal)))
4374 (home-page "https://github.com/rpav/CheckL/")
4375 (synopsis "Dynamic testing for Common Lisp")
4376 (description
4377 "CheckL lets you write tests dynamically, it checks resulting values
4378 against the last run.")
4379 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4380 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4381 ;; stronger of the two and so I think only listing this should suffice.
4382 (license license:llgpl))))
4383
4384 (define-public cl-checkl
4385 (sbcl-package->cl-source-package sbcl-checkl))
4386
4387 (define-public ecl-checkl
4388 (sbcl-package->ecl-package sbcl-checkl))
4389
4390 (define-public sbcl-fast-io
4391 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
4392 (revision "2"))
4393 (package
4394 (name "sbcl-fast-io")
4395 (version (git-version "1.0.0" revision commit))
4396 (source
4397 (origin
4398 (method git-fetch)
4399 (uri (git-reference
4400 (url "https://github.com/rpav/fast-io")
4401 (commit commit)))
4402 (file-name (git-file-name name version))
4403 (sha256
4404 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
4405 (build-system asdf-build-system/sbcl)
4406 (arguments
4407 ;; Error while trying to load definition for system fast-io-test from
4408 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4409 ;; is undefined.
4410 '(#:tests? #f
4411 #:asd-files '("fast-io.asd")))
4412 (native-inputs
4413 `(("sbcl-fiveam" ,sbcl-fiveam)
4414 ("sbcl-checkl" ,sbcl-checkl)))
4415 (inputs
4416 `(("sbcl-alexandria" ,sbcl-alexandria)
4417 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4418 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4419 (home-page "https://github.com/rpav/fast-io")
4420 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4421 (description
4422 "Fast-io is about improving performance to octet-vectors and octet
4423 streams (though primarily the former, while wrapping the latter).")
4424 ;; Author specifies this as NewBSD which is an alias
4425 (license license:bsd-3))))
4426
4427 (define-public cl-fast-io
4428 (sbcl-package->cl-source-package sbcl-fast-io))
4429
4430 (define-public ecl-fast-io
4431 (sbcl-package->ecl-package sbcl-fast-io))
4432
4433 (define-public sbcl-jonathan
4434 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4435 (revision "1"))
4436 (package
4437 (name "sbcl-jonathan")
4438 (version (git-version "0.1.0" revision commit))
4439 (source
4440 (origin
4441 (method git-fetch)
4442 (uri (git-reference
4443 (url "https://github.com/Rudolph-Miller/jonathan")
4444 (commit commit)))
4445 (file-name (git-file-name name version))
4446 (sha256
4447 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4448 (build-system asdf-build-system/sbcl)
4449 (arguments
4450 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4451 ;; required by #<SYSTEM "jonathan">. Why?
4452 `(#:tests? #f))
4453 (native-inputs
4454 `(("sbcl-prove" ,sbcl-prove)))
4455 (inputs
4456 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4457 ("sbcl-fast-io" ,sbcl-fast-io)
4458 ("sbcl-proc-parse" ,sbcl-proc-parse)
4459 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
4460 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
4461 (synopsis "JSON encoder and decoder")
4462 (description
4463 "High performance JSON encoder and decoder. Currently support: SBCL,
4464 CCL.")
4465 ;; Author specifies the MIT license
4466 (license license:expat))))
4467
4468 (define-public cl-jonathan
4469 (sbcl-package->cl-source-package sbcl-jonathan))
4470
4471 (define-public ecl-jonathan
4472 (sbcl-package->ecl-package sbcl-jonathan))
4473
4474 (define-public sbcl-http-body
4475 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4476 (revision "1"))
4477 (package
4478 (name "sbcl-http-body")
4479 (version (git-version "0.1.0" revision commit))
4480 (source
4481 (origin
4482 (method git-fetch)
4483 (uri (git-reference
4484 (url "https://github.com/fukamachi/http-body")
4485 (commit commit)))
4486 (file-name (git-file-name name version))
4487 (sha256
4488 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4489 (build-system asdf-build-system/sbcl)
4490 (arguments
4491 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4492 ;; found, required by #<SYSTEM "http-body">. Why?
4493 `(#:tests? #f))
4494 (native-inputs
4495 `(("sbcl-prove" ,sbcl-prove)))
4496 (inputs
4497 `(("sbcl-fast-http" ,sbcl-fast-http)
4498 ("sbcl-jonathan" ,sbcl-jonathan)
4499 ("sbcl-quri" ,sbcl-quri)))
4500 (home-page "https://github.com/fukamachi/http-body")
4501 (synopsis "HTTP POST data parser")
4502 (description
4503 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4504 supports application/x-www-form-urlencoded, application/json, and
4505 multipart/form-data.")
4506 (license license:bsd-2))))
4507
4508 (define-public cl-http-body
4509 (sbcl-package->cl-source-package sbcl-http-body))
4510
4511 (define-public ecl-http-body
4512 (sbcl-package->ecl-package sbcl-http-body))
4513
4514 (define-public sbcl-circular-streams
4515 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4516 (revision "1"))
4517 (package
4518 (name "sbcl-circular-streams")
4519 (version (git-version "0.1.0" revision commit))
4520 (source
4521 (origin
4522 (method git-fetch)
4523 (uri (git-reference
4524 (url "https://github.com/fukamachi/circular-streams")
4525 (commit commit)))
4526 (file-name (git-file-name name version))
4527 (sha256
4528 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4529 (build-system asdf-build-system/sbcl)
4530 (arguments
4531 ;; The tests depend on cl-test-more which is now prove. Prove
4532 ;; tests aren't working for some reason.
4533 `(#:tests? #f))
4534 (inputs
4535 `(("sbcl-fast-io" ,sbcl-fast-io)
4536 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4537 (home-page "https://github.com/fukamachi/circular-streams")
4538 (synopsis "Circularly readable streams for Common Lisp")
4539 (description
4540 "Circular-Streams allows you to read streams circularly by wrapping real
4541 streams. Once you reach end-of-file of a stream, it's file position will be
4542 reset to 0 and you're able to read it again.")
4543 (license license:llgpl))))
4544
4545 (define-public cl-circular-streams
4546 (sbcl-package->cl-source-package sbcl-circular-streams))
4547
4548 (define-public ecl-circular-streams
4549 (sbcl-package->ecl-package sbcl-circular-streams))
4550
4551 (define-public sbcl-lack
4552 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4553 (revision "1"))
4554 (package
4555 (name "sbcl-lack")
4556 (version (git-version "0.1.0" revision commit))
4557 (source
4558 (origin
4559 (method git-fetch)
4560 (uri (git-reference
4561 (url "https://github.com/fukamachi/lack")
4562 (commit commit)))
4563 (file-name (git-file-name "lack" version))
4564 (sha256
4565 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4566 (build-system asdf-build-system/sbcl)
4567 (native-inputs
4568 `(("prove" ,sbcl-prove)))
4569 (inputs
4570 `(("circular-streams" ,sbcl-circular-streams)
4571 ("http-body" ,sbcl-http-body)
4572 ("ironclad" ,sbcl-ironclad)
4573 ("local-time" ,sbcl-local-time)
4574 ("quri" ,sbcl-quri)
4575 ("trivial-mimes" ,sbcl-trivial-mimes)))
4576 (arguments
4577 '(#:asd-systems '("lack"
4578 "lack-request"
4579 "lack-response"
4580 "lack-component"
4581 "lack-util"
4582 "lack-middleware-backtrace"
4583 "lack-middleware-static")
4584 #:test-asd-file "t-lack.asd"
4585 ;; XXX: Component :CLACK not found
4586 #:tests? #f))
4587 (home-page "https://github.com/fukamachi/lack")
4588 (synopsis "Lack, the core of Clack")
4589 (description
4590 "Lack is a Common Lisp library which allows web applications to be
4591 constructed of modular components. It was originally a part of Clack, however
4592 it's going to be rewritten as an individual project since Clack v2 with
4593 performance and simplicity in mind.")
4594 (license license:llgpl))))
4595
4596 (define-public cl-lack
4597 (sbcl-package->cl-source-package sbcl-lack))
4598
4599 (define-public ecl-lack
4600 (sbcl-package->ecl-package sbcl-lack))
4601
4602 (define-public sbcl-local-time
4603 (let ((commit "a177eb911c0e8116e2bfceb79049265a884b701b")
4604 (revision "2"))
4605 (package
4606 (name "sbcl-local-time")
4607 (version (git-version "1.0.6" revision commit))
4608 (source
4609 (origin
4610 (method git-fetch)
4611 (uri (git-reference
4612 (url "https://github.com/dlowe-net/local-time")
4613 (commit commit)))
4614 (file-name (git-file-name name version))
4615 (sha256
4616 (base32 "0wld28xx20k0ysgg6akic5lg4vkjd0iyhv86m388xfrv8xh87wii"))))
4617 (build-system asdf-build-system/sbcl)
4618 (native-inputs
4619 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
4620 (home-page "https://common-lisp.net/project/local-time/")
4621 (synopsis "Time manipulation library for Common Lisp")
4622 (description
4623 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4624 dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4625 Long Painful History of Time\".")
4626 (license license:expat))))
4627
4628 (define-public cl-local-time
4629 (sbcl-package->cl-source-package sbcl-local-time))
4630
4631 (define-public ecl-local-time
4632 (sbcl-package->ecl-package sbcl-local-time))
4633
4634 (define-public sbcl-trivial-mimes
4635 (let ((commit "a741fc2f567a4f86b853fd4677d75e62c03e51d9")
4636 (revision "2"))
4637 (package
4638 (name "sbcl-trivial-mimes")
4639 (version (git-version "1.1.0" revision commit))
4640 (source
4641 (origin
4642 (method git-fetch)
4643 (uri (git-reference
4644 (url "https://github.com/Shinmera/trivial-mimes")
4645 (commit commit)))
4646 (file-name (git-file-name name version))
4647 (sha256
4648 (base32 "00kcm17q5plpzdj1qwg83ldhxksilgpcdkf3m9azxcdr968xs9di"))))
4649 (build-system asdf-build-system/sbcl)
4650 (native-inputs
4651 `(("stefil" ,sbcl-hu.dwim.stefil)))
4652 (inputs
4653 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4654 (home-page "https://shinmera.github.io/trivial-mimes/")
4655 (synopsis "Tiny Common Lisp library to detect mime types in files")
4656 (description
4657 "This is a teensy library that provides some functions to determine the
4658 mime-type of a file.")
4659 (license license:zlib))))
4660
4661 (define-public cl-trivial-mimes
4662 (sbcl-package->cl-source-package sbcl-trivial-mimes))
4663
4664 (define-public ecl-trivial-mimes
4665 (sbcl-package->ecl-package sbcl-trivial-mimes))
4666
4667 (define-public sbcl-ningle
4668 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
4669 (revision "1"))
4670 (package
4671 (name "sbcl-ningle")
4672 (version (git-version "0.3.0" revision commit))
4673 (source
4674 (origin
4675 (method git-fetch)
4676 (uri (git-reference
4677 (url "https://github.com/fukamachi/ningle")
4678 (commit commit)))
4679 (file-name (git-file-name name version))
4680 (sha256
4681 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
4682 (build-system asdf-build-system/sbcl)
4683 (arguments
4684 ;; TODO: pull in clack-test
4685 '(#:tests? #f
4686 #:phases
4687 (modify-phases %standard-phases
4688 (delete 'cleanup-files)
4689 (delete 'cleanup)
4690 (add-before 'cleanup 'combine-fasls
4691 (lambda* (#:key outputs #:allow-other-keys)
4692 (let* ((out (assoc-ref outputs "out"))
4693 (lib (string-append out "/lib/sbcl"))
4694 (ningle-path (string-append lib "/ningle"))
4695 (fasl-files (find-files out "\\.fasl$")))
4696 (mkdir-p ningle-path)
4697 (let ((fasl-path (lambda (name)
4698 (string-append ningle-path
4699 "/"
4700 (basename name)
4701 "--system.fasl"))))
4702 (for-each (lambda (file)
4703 (rename-file file
4704 (fasl-path
4705 (basename file ".fasl"))))
4706 fasl-files))
4707 fasl-files)
4708 #t)))))
4709 (native-inputs
4710 `(("sbcl-prove" ,sbcl-prove)))
4711 (inputs
4712 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4713 ("sbcl-myway" ,sbcl-myway)
4714 ("sbcl-lack" ,sbcl-lack)
4715 ("sbcl-alexandria" ,sbcl-alexandria)
4716 ("sbcl-babel" ,sbcl-babel)))
4717 (home-page "https://8arrow.org/ningle/")
4718 (synopsis "Super micro framework for Common Lisp")
4719 (description
4720 "Ningle is a lightweight web application framework for Common Lisp.")
4721 (license license:llgpl))))
4722
4723 (define-public cl-ningle
4724 (sbcl-package->cl-source-package sbcl-ningle))
4725
4726 (define-public ecl-ningle
4727 (sbcl-package->ecl-package sbcl-ningle))
4728
4729 (define-public sbcl-cl-fastcgi
4730 (let ((commit "de8b49b26de9863996ec18db28af8ab7e8ac4e20")
4731 (revision "2"))
4732 (package
4733 (name "sbcl-cl-fastcgi")
4734 (version (git-version "0.2" revision commit))
4735 (source
4736 (origin
4737 (method git-fetch)
4738 (uri (git-reference
4739 (url "https://github.com/KDr2/cl-fastcgi/")
4740 (commit commit)))
4741 (file-name (git-file-name name version))
4742 (sha256
4743 (base32 "0xgmhx766q4nmrvn5z7ag3ikpr9phlh8ypi8b14azshq9lqbq0m7"))))
4744 (build-system asdf-build-system/sbcl)
4745 (inputs
4746 `(("usocket" ,sbcl-usocket)
4747 ("cffi" ,sbcl-cffi)
4748 ("fcgi" ,fcgi)))
4749 (arguments
4750 `(#:phases
4751 (modify-phases %standard-phases
4752 (add-after 'unpack 'fix-paths
4753 (lambda* (#:key inputs #:allow-other-keys)
4754 (substitute* "cl-fastcgi.lisp"
4755 (("\"libfcgi.so\"")
4756 (string-append
4757 "\""
4758 (assoc-ref inputs "fcgi") "/lib/libfcgi.so\""))))))))
4759 (home-page "https://kdr2.com/project/cl-fastcgi.html")
4760 (synopsis "FastCGI wrapper for Common Lisp")
4761 (description
4762 "CL-FastCGI is a generic version of SB-FastCGI, targeting to run on
4763 mostly Common Lisp implementation.")
4764 (license license:bsd-2))))
4765
4766 (define-public cl-fastcgi
4767 (sbcl-package->cl-source-package sbcl-cl-fastcgi))
4768
4769 (define-public ecl-cl-fastcgi
4770 (sbcl-package->ecl-package sbcl-cl-fastcgi))
4771
4772 (define-public sbcl-clack
4773 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
4774 (revision "1"))
4775 (package
4776 (name "sbcl-clack")
4777 (version (git-version "2.0.0" revision commit))
4778 (source
4779 (origin
4780 (method git-fetch)
4781 (uri (git-reference
4782 (url "https://github.com/fukamachi/clack")
4783 (commit commit)))
4784 (file-name (git-file-name name version))
4785 (sha256
4786 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
4787 (build-system asdf-build-system/sbcl)
4788 (inputs
4789 `(("alexandria" ,sbcl-alexandria)
4790 ("bordeaux-threads" ,sbcl-bordeaux-threads)
4791 ("cl-fastcgi" ,sbcl-cl-fastcgi)
4792 ("flexi-streams" ,sbcl-flexi-streams)
4793 ("hunchentoot" ,sbcl-hunchentoot)
4794 ("lack" ,sbcl-lack)
4795 ("split-sequence" ,sbcl-split-sequence)
4796 ("usocket" ,sbcl-usocket)
4797 ("quri" ,sbcl-quri)))
4798 (arguments
4799 '(#:asd-systems '("clack"
4800 "clack-handler-fcgi"
4801 "clack-socket"
4802 "clack-handler-hunchentoot")))
4803 (home-page "https://github.com/fukamachi/clack")
4804 (synopsis "Web Application Environment for Common Lisp")
4805 (description
4806 "Clack is a web application environment for Common Lisp inspired by
4807 Python's WSGI and Ruby's Rack.")
4808 (license license:llgpl))))
4809
4810 (define-public cl-clack
4811 (sbcl-package->cl-source-package sbcl-clack))
4812
4813 (define-public ecl-clack
4814 (sbcl-package->ecl-package sbcl-clack))
4815
4816 (define-public sbcl-cl-log
4817 (let ((commit "8f4b766d51e02245c310526cf1e4534ce634f837")
4818 (revision "1"))
4819 (package
4820 (name "sbcl-cl-log")
4821 (version "1.0.1")
4822 (source
4823 (origin
4824 (method git-fetch)
4825 (uri (git-reference
4826 (url "https://github.com/nicklevine/cl-log")
4827 (commit commit)))
4828 (sha256
4829 (base32 "1r3z9swy1b59swvaa5b97is9ysrfmjvjjhhw56p7p5hqg93b92ak"))
4830 (file-name (git-file-name "cl-log" version))))
4831 (build-system asdf-build-system/sbcl)
4832 (synopsis "Common Lisp general purpose logging utility")
4833 (description "CL-LOG is a general purpose logging utility, loosely modelled
4834 in some respects after Gary King's Log5. Its features include: logging to
4835 several destinations at once, via \"messengers\", each messenger is tailored to
4836 accept some log messages and reject others, and this tailoring can be changed
4837 on-the-fly, very rapid processing of messages which are rejected by all
4838 messengers, fully independent use of the utility by several different
4839 sub-systems in an application, support for messengers which cl:format text to a
4840 stream, support for messengers which do not invoke cl:format, timestamps in
4841 theory accurate to internal-time-units-per-second.")
4842 (home-page "https://github.com/nicklevine/cl-log")
4843 (license license:expat))))
4844
4845 (define-public cl-log
4846 (sbcl-package->cl-source-package sbcl-cl-log))
4847
4848 (define-public ecl-cl-log
4849 (sbcl-package->ecl-package sbcl-cl-log))
4850
4851 (define-public sbcl-log4cl
4852 (let ((commit "8c48d6f41d3a1475d0a91eed0638b9eecc398e35")
4853 (revision "1"))
4854 (package
4855 (name "sbcl-log4cl")
4856 (version (git-version "1.1.3" revision commit))
4857 (source
4858 (origin
4859 (method git-fetch)
4860 (uri (git-reference
4861 (url "https://github.com/sharplispers/log4cl")
4862 (commit commit)))
4863 (file-name (git-file-name "log4cl" version))
4864 (sha256
4865 (base32 "0166d9aip366pbpdk5gsi2f6xad6q61lssxgbrypa8zslwjn8736"))))
4866 (build-system asdf-build-system/sbcl)
4867 (native-inputs
4868 `(("stefil" ,sbcl-stefil)))
4869 (inputs
4870 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
4871 (home-page "https://github.com/7max/log4cl")
4872 (synopsis "Common Lisp logging framework, modeled after Log4J")
4873 (description
4874 "This is a Common Lisp logging framework that can log at various levels
4875 and mix text with expressions.")
4876 (license license:asl2.0))))
4877
4878 (define-public cl-log4cl
4879 (sbcl-package->cl-source-package sbcl-log4cl))
4880
4881 (define-public ecl-log4cl
4882 (sbcl-package->ecl-package sbcl-log4cl))
4883
4884 (define-public sbcl-printv
4885 (let ((commit "646d31978dbbb460fffb160fd65bb2be9a5a434e")
4886 (revision "1"))
4887 (package
4888 (name "sbcl-printv")
4889 (version (git-version "0.1.0" revision commit))
4890 (source
4891 (origin
4892 (method git-fetch)
4893 (uri (git-reference
4894 (url "https://github.com/danlentz/printv")
4895 (commit commit)))
4896 (file-name (git-file-name "printv" version))
4897 (sha256
4898 (base32 "08jvy82abm7qi3wrxh6gvmwg9gy0zzhg4cfqajdwrggbah8mj5a6"))))
4899 (build-system asdf-build-system/sbcl)
4900 (home-page "https://github.com/danlentz/printv")
4901 (synopsis "Common Lisp tracing and debug-logging macro")
4902 (description
4903 "@code{PRINTV} is a \"batteries-included\" tracing and debug-logging
4904 macro for Common Lisp.")
4905 (license license:asl2.0))))
4906
4907 (define-public ecl-printv
4908 (sbcl-package->ecl-package sbcl-printv))
4909
4910 (define-public cl-printv
4911 (sbcl-package->cl-source-package sbcl-printv))
4912
4913 (define-public sbcl-verbose
4914 (let ((commit "c5b7ecd465be61b35af17ef57564697b88397174")
4915 (revision "1"))
4916 (package
4917 (name "sbcl-verbose")
4918 (version (git-version "2.0.0" revision commit))
4919 (source
4920 (origin
4921 (method git-fetch)
4922 (uri (git-reference
4923 (url "https://github.com/Shinmera/verbose/")
4924 (commit commit)))
4925 (file-name (git-file-name "verbose" version))
4926 (sha256
4927 (base32 "0r51ydj5v7afi2jrlscbhxprv13d9vzg5316g1yzwaxc1kzsdsw6"))))
4928 (build-system asdf-build-system/sbcl)
4929 (inputs
4930 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
4931 ("dissect" ,sbcl-dissect)
4932 ("documentation-utils" ,sbcl-documentation-utils)
4933 ("local-time" ,sbcl-local-time)
4934 ("piping" ,sbcl-piping)))
4935 (home-page "https://shinmera.github.io/verbose/")
4936 (synopsis "Logging framework using the piping library")
4937 (description
4938 "This is a Common Lisp library providing logging faciltiy similar to
4939 @code{CL-LOG} and @code{LOG4CL}.")
4940 (license license:zlib))))
4941
4942 (define-public ecl-verbose
4943 (sbcl-package->ecl-package sbcl-verbose))
4944
4945 (define-public cl-verbose
4946 (sbcl-package->cl-source-package sbcl-verbose))
4947
4948 (define-public sbcl-find-port
4949 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
4950 (revision "1"))
4951 (package
4952 (name "sbcl-find-port")
4953 (build-system asdf-build-system/sbcl)
4954 (version "0.1")
4955 (home-page "https://github.com/eudoxia0/find-port")
4956 (source
4957 (origin
4958 (method git-fetch)
4959 (uri (git-reference
4960 (url home-page)
4961 (commit commit)))
4962 (file-name (git-file-name name version))
4963 (sha256
4964 (base32
4965 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
4966 (native-inputs
4967 `(("fiveam" ,sbcl-fiveam)))
4968 (inputs
4969 `(("sbcl-usocket" ,sbcl-usocket)))
4970 (synopsis "Find open ports programmatically in Common Lisp")
4971 (description "This is a small Common Lisp library that finds an open
4972 port within a range.")
4973 (license license:expat))))
4974
4975 (define-public cl-find-port
4976 (sbcl-package->cl-source-package sbcl-find-port))
4977
4978 (define-public ecl-find-port
4979 (sbcl-package->ecl-package sbcl-find-port))
4980
4981 (define-public sbcl-clunit
4982 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
4983 (revision "1"))
4984 (package
4985 (name "sbcl-clunit")
4986 (version (git-version "0.2.3" revision commit))
4987 (source
4988 (origin
4989 (method git-fetch)
4990 (uri (git-reference
4991 (url "https://github.com/tgutu/clunit")
4992 (commit commit)))
4993 (file-name (git-file-name name version))
4994 (sha256
4995 (base32
4996 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
4997 (build-system asdf-build-system/sbcl)
4998 (synopsis "CLUnit is a Common Lisp unit testing framework")
4999 (description
5000 "CLUnit is a Common Lisp unit testing framework. It is designed
5001 to be easy to use so that you can quickly start testing. CLUnit
5002 provides a rich set of features aimed at improving your unit testing
5003 experience.")
5004 (home-page "https://tgutu.github.io/clunit/")
5005 ;; MIT License
5006 (license license:expat))))
5007
5008 (define-public cl-clunit
5009 (sbcl-package->cl-source-package sbcl-clunit))
5010
5011 (define-public ecl-clunit
5012 (sbcl-package->ecl-package sbcl-clunit))
5013
5014 (define-public sbcl-py4cl
5015 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
5016 (revision "1"))
5017 (package
5018 (name "sbcl-py4cl")
5019 (version (git-version "0.0.0" revision commit))
5020 (source
5021 (origin
5022 (method git-fetch)
5023 (uri (git-reference
5024 (url "https://github.com/bendudson/py4cl")
5025 (commit commit)))
5026 (file-name (git-file-name name version))
5027 (sha256
5028 (base32
5029 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
5030 (modules '((guix build utils)))))
5031 (build-system asdf-build-system/sbcl)
5032 (native-inputs
5033 `(("sbcl-clunit" ,sbcl-clunit)))
5034 (inputs
5035 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5036 (propagated-inputs
5037 ;; This package doesn't do anything without python available
5038 `(("python" ,python)
5039 ;; For multi-dimensional array support
5040 ("python-numpy" ,python-numpy)))
5041 (arguments
5042 '(#:phases
5043 (modify-phases %standard-phases
5044 (add-after 'unpack 'replace-*base-directory*-var
5045 (lambda* (#:key outputs #:allow-other-keys)
5046 ;; In the ASD, the author makes an attempt to
5047 ;; programatically determine the location of the
5048 ;; source-code so lisp can call into "py4cl.py". We can
5049 ;; hard-code this since we know where this file will
5050 ;; reside.
5051 (substitute* "src/callpython.lisp"
5052 (("py4cl/config:\\*base-directory\\*")
5053 (string-append
5054 "\""
5055 (assoc-ref outputs "out")
5056 "/share/common-lisp/sbcl-source/py4cl/"
5057 "\""))))))))
5058 (synopsis "Call python from Common Lisp")
5059 (description
5060 "Py4CL is a bridge between Common Lisp and Python, which enables Common
5061 Lisp to interact with Python code. It uses streams to communicate with a
5062 separate python process, the approach taken by cl4py. This is different to
5063 the CFFI approach used by burgled-batteries, but has the same goal.")
5064 (home-page "https://github.com/bendudson/py4cl")
5065 ;; MIT License
5066 (license license:expat))))
5067
5068 (define-public cl-py4cl
5069 (sbcl-package->cl-source-package sbcl-py4cl))
5070
5071 (define-public ecl-py4cl
5072 (sbcl-package->ecl-package sbcl-py4cl))
5073
5074 (define-public sbcl-parse-declarations
5075 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
5076 (revision "1"))
5077 (package
5078 (name "sbcl-parse-declarations")
5079 (version (git-version "1.0.0" revision commit))
5080 (source
5081 (origin
5082 (method git-fetch)
5083 (uri (git-reference
5084 (url (string-append
5085 "https://gitlab.common-lisp.net/parse-declarations/"
5086 "parse-declarations.git"))
5087 (commit commit)))
5088 (file-name (git-file-name name version))
5089 (sha256
5090 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
5091 (build-system asdf-build-system/sbcl)
5092 (arguments
5093 `(#:asd-systems '("parse-declarations-1.0")))
5094 (home-page "https://common-lisp.net/project/parse-declarations/")
5095 (synopsis "Parse, filter, and build declarations")
5096 (description
5097 "Parse-Declarations is a Common Lisp library to help writing
5098 macros which establish bindings. To be semantically correct, such
5099 macros must take user declarations into account, as these may affect
5100 the bindings they establish. Yet the ANSI standard of Common Lisp does
5101 not provide any operators to work with declarations in a convenient,
5102 high-level way. This library provides such operators.")
5103 ;; MIT License
5104 (license license:expat))))
5105
5106 (define-public cl-parse-declarations
5107 (sbcl-package->cl-source-package sbcl-parse-declarations))
5108
5109 (define-public ecl-parse-declarations
5110 (sbcl-package->ecl-package sbcl-parse-declarations))
5111
5112 (define-public sbcl-cl-quickcheck
5113 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5114 (revision "1"))
5115 (package
5116 (name "sbcl-cl-quickcheck")
5117 (version (git-version "0.0.4" revision commit))
5118 (source
5119 (origin
5120 (method git-fetch)
5121 (uri (git-reference
5122 (url "https://github.com/mcandre/cl-quickcheck")
5123 (commit commit)))
5124 (file-name (git-file-name name version))
5125 (sha256
5126 (base32
5127 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5128 (build-system asdf-build-system/sbcl)
5129 (synopsis
5130 "Common Lisp port of the QuickCheck unit test framework")
5131 (description
5132 "Common Lisp port of the QuickCheck unit test framework")
5133 (home-page "https://github.com/mcandre/cl-quickcheck")
5134 ;; MIT
5135 (license license:expat))))
5136
5137 (define-public cl-quickcheck
5138 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5139
5140 (define-public ecl-cl-quickcheck
5141 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5142
5143 (define-public sbcl-burgled-batteries3
5144 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
5145 (revision "2"))
5146 (package
5147 (name "sbcl-burgled-batteries3")
5148 (version (git-version "0.0.0" revision commit))
5149 (source
5150 (origin
5151 (method git-fetch)
5152 (uri (git-reference
5153 (url "https://github.com/snmsts/burgled-batteries3")
5154 (commit commit)))
5155 (file-name (git-file-name name version))
5156 (sha256
5157 (base32
5158 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
5159 (build-system asdf-build-system/sbcl)
5160 (arguments
5161 `(#:tests? #f
5162 #:modules (((guix build python-build-system) #:select (python-version))
5163 ,@%asdf-build-system-modules)
5164 #:imported-modules ((guix build python-build-system)
5165 ,@%asdf-build-system-modules)
5166 #:phases
5167 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
5168 (add-after 'unpack 'set-*cpython-include-dir*-var
5169 (lambda* (#:key inputs #:allow-other-keys)
5170 (let ((python (assoc-ref inputs "python")))
5171 (setenv "BB_PYTHON3_INCLUDE_DIR"
5172 (string-append python "/include/python"
5173 (python-version python)))
5174 (setenv "BB_PYTHON3_DYLIB"
5175 (string-append python "/lib/libpython3.so"))
5176 #t)))
5177 (add-after 'unpack 'adjust-for-python-3.8
5178 (lambda _
5179 ;; This method is no longer part of the public API.
5180 (substitute* "ffi-interface.lisp"
5181 ((".*PyEval_ReInitThreads.*")
5182 ""))
5183 #t)))))
5184 (native-inputs
5185 `(("sbcl-cl-fad" ,sbcl-cl-fad)
5186 ("sbcl-lift" ,sbcl-lift)
5187 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5188 (inputs
5189 `(("python" ,python)
5190 ("sbcl-cffi" ,sbcl-cffi)
5191 ("sbcl-alexandria" , sbcl-alexandria)
5192 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5193 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5194 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5195 (description
5196 "This package provides a shim between Python3 (specifically, the
5197 CPython implementation of Python) and Common Lisp.")
5198 (home-page "https://github.com/snmsts/burgled-batteries3")
5199 (license license:expat))))
5200
5201 (define-public cl-burgled-batteries3
5202 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5203
5204 (define-public ecl-burgled-batteries3
5205 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5206
5207 (define-public sbcl-metabang-bind
5208 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5209 (revision "1"))
5210 (package
5211 (name "sbcl-metabang-bind")
5212 (version (git-version "0.8.0" revision commit))
5213 (source
5214 (origin
5215 (method git-fetch)
5216 (uri (git-reference
5217 (url "https://github.com/gwkkwg/metabang-bind")
5218 (commit commit)))
5219 (file-name (git-file-name name version))
5220 (sha256
5221 (base32
5222 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5223 (build-system asdf-build-system/sbcl)
5224 (native-inputs
5225 `(("sbcl-lift" ,sbcl-lift)))
5226 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5227 (description
5228 "Bind extends the idea of of let and destructing to provide a uniform
5229 syntax for all your accessor needs. It combines @code{let},
5230 @code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5231 editing, property or association-lists, and @code{multiple-value-bind} and a
5232 whole lot more into a single form.")
5233 (home-page "https://common-lisp.net/project/metabang-bind/")
5234 ;; MIT License
5235 (license license:expat))))
5236
5237 (define-public cl-metabang-bind
5238 (sbcl-package->cl-source-package sbcl-metabang-bind))
5239
5240 (define-public ecl-metabang-bind
5241 (sbcl-package->ecl-package sbcl-metabang-bind))
5242
5243 (define-public sbcl-fare-utils
5244 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5245 (revision "1"))
5246 (package
5247 (name "sbcl-fare-utils")
5248 (version (git-version "1.0.0.5" revision commit))
5249 (source
5250 (origin
5251 (method git-fetch)
5252 (uri
5253 (git-reference
5254 (url
5255 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5256 (commit commit)))
5257 (file-name (git-file-name name version))
5258 (sha256
5259 (base32
5260 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5261 (build-system asdf-build-system/sbcl)
5262 (arguments
5263 `(#:test-asd-file "test/fare-utils-test.asd"))
5264 (native-inputs
5265 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5266 (synopsis "Collection of utilities and data structures")
5267 (description
5268 "fare-utils is a small collection of utilities. It contains a lot of
5269 basic everyday functions and macros.")
5270 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5271 ;; MIT License
5272 (license license:expat))))
5273
5274 (define-public cl-fare-utils
5275 (sbcl-package->cl-source-package sbcl-fare-utils))
5276
5277 (define-public ecl-fare-utils
5278 (sbcl-package->ecl-package sbcl-fare-utils))
5279
5280 (define-public sbcl-trivial-utf-8
5281 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5282 (revision "1"))
5283 (package
5284 (name "sbcl-trivial-utf-8")
5285 (version (git-version "0.0.0" revision commit))
5286 (source
5287 (origin
5288 (method git-fetch)
5289 (uri
5290 (git-reference
5291 (url (string-append "https://gitlab.common-lisp.net/"
5292 "trivial-utf-8/trivial-utf-8.git"))
5293 (commit commit)))
5294 (file-name (git-file-name name version))
5295 (sha256
5296 (base32
5297 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5298 (arguments
5299 ;; Guix incorrectly assumes the "8" is part of the version
5300 ;; number and lobs it off.
5301 `(#:asd-systems '("trivial-utf-8")))
5302 (build-system asdf-build-system/sbcl)
5303 (synopsis "UTF-8 input/output library")
5304 (description
5305 "The Babel library solves a similar problem while understanding more
5306 encodings. Trivial UTF-8 was written before Babel existed, but for new
5307 projects you might be better off going with Babel. The one plus that Trivial
5308 UTF-8 has is that it doesn't depend on any other libraries.")
5309 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5310 (license license:bsd-3))))
5311
5312 (define-public cl-trivial-utf-8
5313 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5314
5315 (define-public ecl-trivial-utf-8
5316 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5317
5318 (define-public sbcl-idna
5319 (package
5320 (name "sbcl-idna")
5321 (build-system asdf-build-system/sbcl)
5322 (version "0.2.2")
5323 (home-page "https://github.com/antifuchs/idna")
5324 (source
5325 (origin
5326 (method git-fetch)
5327 (uri (git-reference
5328 (url home-page)
5329 (commit version)))
5330 (file-name (git-file-name name version))
5331 (sha256
5332 (base32
5333 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5334 (inputs
5335 `(("split-sequence" ,sbcl-split-sequence)))
5336 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5337 (description "This Common Lisp library provides string encoding and
5338 decoding routines for IDNA, the International Domain Names in Applications.")
5339 (license license:expat)))
5340
5341 (define-public cl-idna
5342 (sbcl-package->cl-source-package sbcl-idna))
5343
5344 (define-public ecl-idna
5345 (sbcl-package->ecl-package sbcl-idna))
5346
5347 (define-public sbcl-swap-bytes
5348 (package
5349 (name "sbcl-swap-bytes")
5350 (build-system asdf-build-system/sbcl)
5351 (version "1.2")
5352 (home-page "https://github.com/sionescu/swap-bytes")
5353 (source
5354 (origin
5355 (method git-fetch)
5356 (uri (git-reference
5357 (url home-page)
5358 (commit (string-append "v" version))))
5359 (file-name (git-file-name name version))
5360 (sha256
5361 (base32
5362 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
5363 (inputs
5364 `(("trivial-features" ,sbcl-trivial-features)))
5365 (native-inputs
5366 `(("fiveam" ,sbcl-fiveam)))
5367 (synopsis "Efficient endianness conversion for Common Lisp")
5368 (description "This Common Lisp library provides optimized byte-swapping
5369 primitives. The library can change endianness of unsigned integers of length
5370 1/2/4/8. Very useful in implementing various network protocols and file
5371 formats.")
5372 (license license:expat)))
5373
5374 (define-public cl-swap-bytes
5375 (sbcl-package->cl-source-package sbcl-swap-bytes))
5376
5377 (define-public ecl-swap-bytes
5378 (sbcl-package->ecl-package sbcl-swap-bytes))
5379
5380 (define-public sbcl-iolib
5381 ;; Latest release is from June 2017.
5382 (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
5383 (revision "2"))
5384 (package
5385 (name "sbcl-iolib")
5386 (version (git-version "0.8.3" revision commit))
5387 (home-page "https://github.com/sionescu/iolib")
5388 (source
5389 (origin
5390 (method git-fetch)
5391 (uri (git-reference
5392 (url home-page)
5393 (commit commit)))
5394 (file-name (git-file-name name version))
5395 (sha256
5396 (base32
5397 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
5398 (build-system asdf-build-system/sbcl)
5399 (inputs
5400 `(("alexandria" ,sbcl-alexandria)
5401 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5402 ("cffi" ,sbcl-cffi)
5403 ("idna" ,sbcl-idna)
5404 ("libfixposix" ,libfixposix)
5405 ("split-sequence" ,sbcl-split-sequence)
5406 ("swap-bytes" ,sbcl-swap-bytes)))
5407 (arguments
5408 '(#:asd-files '("iolib.asdf.asd"
5409 "iolib.conf.asd"
5410 "iolib.common-lisp.asd"
5411 "iolib.base.asd"
5412 "iolib.asd")
5413 #:phases
5414 (modify-phases %standard-phases
5415 (add-after 'unpack 'fix-paths
5416 (lambda* (#:key inputs #:allow-other-keys)
5417 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5418 (("\\(:default \"libfixposix\"\\)")
5419 (string-append
5420 "(:default \""
5421 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5422 ;; Socket tests need Internet access, disable them.
5423 (substitute* "iolib.asd"
5424 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5425 "")))))))
5426 (synopsis "Common Lisp I/O library")
5427 (description "IOlib is to be a better and more modern I/O library than
5428 the standard Common Lisp library. It contains a socket library, a DNS
5429 resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5430 and @code{kqueue(2)}), a pathname library and file-system utilities.")
5431 (license license:expat))))
5432
5433 (define-public cl-iolib
5434 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
5435 (package
5436 (inherit parent)
5437 (propagated-inputs
5438 ;; Need header to compile.
5439 `(("libfixposix" ,libfixposix)
5440 ,@(package-propagated-inputs parent))))))
5441
5442 (define-public ecl-iolib
5443 (sbcl-package->ecl-package sbcl-iolib))
5444
5445 (define-public sbcl-ieee-floats
5446 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5447 (revision "1"))
5448 (package
5449 (name "sbcl-ieee-floats")
5450 (build-system asdf-build-system/sbcl)
5451 (version (git-version "20170924" revision commit))
5452 (home-page "https://github.com/marijnh/ieee-floats/")
5453 (source
5454 (origin
5455 (method git-fetch)
5456 (uri (git-reference
5457 (url home-page)
5458 (commit commit)))
5459 (file-name (git-file-name name version))
5460 (sha256
5461 (base32
5462 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5463 (native-inputs
5464 `(("fiveam" ,sbcl-fiveam)))
5465 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5466 (description "This is a Common Lisp library that converts
5467 floating point values to IEEE 754 binary representation.")
5468 (license license:bsd-3))))
5469
5470 (define-public cl-ieee-floats
5471 (sbcl-package->cl-source-package sbcl-ieee-floats))
5472
5473 (define-public ecl-ieee-floats
5474 (sbcl-package->ecl-package sbcl-ieee-floats))
5475
5476 (define sbcl-closure-common
5477 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5478 (revision "1"))
5479 (package
5480 (name "sbcl-closure-common")
5481 (build-system asdf-build-system/sbcl)
5482 (version (git-version "20101006" revision commit))
5483 (home-page "https://common-lisp.net/project/cxml/")
5484 (source
5485 (origin
5486 (method git-fetch)
5487 (uri (git-reference
5488 (url "https://github.com/sharplispers/closure-common")
5489 (commit commit)))
5490 (file-name (git-file-name name version))
5491 (sha256
5492 (base32
5493 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5494 (inputs
5495 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5496 ("babel" ,sbcl-babel)))
5497 (synopsis "Support Common Lisp library for CXML")
5498 (description "Closure-common is an internal helper library. The name
5499 Closure is a reference to the web browser it was originally written for.")
5500 ;; TODO: License?
5501 (license #f))))
5502
5503 (define-public sbcl-cxml
5504 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5505 (revision "1"))
5506 (package
5507 (name "sbcl-cxml")
5508 (version (git-version "0.0.0" revision commit))
5509 (source
5510 (origin
5511 (method git-fetch)
5512 (uri (git-reference
5513 (url "https://github.com/sharplispers/cxml")
5514 (commit commit)))
5515 (file-name (git-file-name name version))
5516 (sha256
5517 (base32
5518 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5519 (build-system asdf-build-system/sbcl)
5520 (inputs
5521 `(("closure-common" ,sbcl-closure-common)
5522 ("puri" ,sbcl-puri)
5523 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5524 (synopsis "Common Lisp XML parser")
5525 (description "CXML implements a namespace-aware, validating XML 1.0
5526 parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5527 offered, one SAX-like, the other similar to StAX.")
5528 (home-page "https://common-lisp.net/project/cxml/")
5529 (license license:llgpl))))
5530
5531 (define-public cl-cxml
5532 (sbcl-package->cl-source-package sbcl-cxml))
5533
5534 (define-public ecl-cxml
5535 (sbcl-package->ecl-package sbcl-cxml))
5536
5537 (define-public sbcl-cl-reexport
5538 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5539 (revision "1"))
5540 (package
5541 (name "sbcl-cl-reexport")
5542 (build-system asdf-build-system/sbcl)
5543 (version (git-version "0.1" revision commit))
5544 (home-page "https://github.com/takagi/cl-reexport")
5545 (source
5546 (origin
5547 (method git-fetch)
5548 (uri (git-reference
5549 (url home-page)
5550 (commit commit)))
5551 (file-name (git-file-name name version))
5552 (sha256
5553 (base32
5554 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5555 (inputs
5556 `(("alexandria" ,sbcl-alexandria)))
5557 (arguments
5558 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5559 `(#:tests? #f))
5560 (synopsis "HTTP cookie manager for Common Lisp")
5561 (description "cl-cookie is a Common Lisp library featuring parsing of
5562 cookie headers, cookie creation, cookie jar creation and more.")
5563 (license license:llgpl))))
5564
5565 (define-public cl-reexport
5566 (sbcl-package->cl-source-package sbcl-cl-reexport))
5567
5568 (define-public ecl-cl-reexport
5569 (sbcl-package->ecl-package sbcl-cl-reexport))
5570
5571 (define-public sbcl-cl-cookie
5572 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5573 (revision "1"))
5574 (package
5575 (name "sbcl-cl-cookie")
5576 (build-system asdf-build-system/sbcl)
5577 (version (git-version "0.9.10" revision commit))
5578 (home-page "https://github.com/fukamachi/cl-cookie")
5579 (source
5580 (origin
5581 (method git-fetch)
5582 (uri (git-reference
5583 (url home-page)
5584 (commit commit)))
5585 (file-name (git-file-name name version))
5586 (sha256
5587 (base32
5588 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5589 (inputs
5590 `(("proc-parse" ,sbcl-proc-parse)
5591 ("alexandria" ,sbcl-alexandria)
5592 ("quri" ,sbcl-quri)
5593 ("cl-ppcre" ,sbcl-cl-ppcre)
5594 ("local-time" ,sbcl-local-time)))
5595 (native-inputs
5596 `(("prove" ,sbcl-prove)))
5597 (arguments
5598 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5599 `(#:tests? #f))
5600 (synopsis "HTTP cookie manager for Common Lisp")
5601 (description "cl-cookie is a Common Lisp library featuring parsing of
5602 cookie headers, cookie creation, cookie jar creation and more.")
5603 (license license:bsd-2))))
5604
5605 (define-public cl-cookie
5606 (sbcl-package->cl-source-package sbcl-cl-cookie))
5607
5608 (define-public ecl-cl-cookie
5609 (sbcl-package->ecl-package sbcl-cl-cookie))
5610
5611 (define-public sbcl-dexador
5612 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
5613 (revision "1"))
5614 (package
5615 (name "sbcl-dexador")
5616 (build-system asdf-build-system/sbcl)
5617 (version "0.9.14" )
5618 (home-page "https://github.com/fukamachi/dexador")
5619 (source
5620 (origin
5621 (method git-fetch)
5622 (uri (git-reference
5623 (url home-page)
5624 (commit commit)))
5625 (file-name (git-file-name name version))
5626 (sha256
5627 (base32
5628 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
5629 (inputs
5630 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5631 ("babel" ,sbcl-babel)
5632 ("usocket" ,sbcl-usocket)
5633 ("fast-http" ,sbcl-fast-http)
5634 ("quri" ,sbcl-quri)
5635 ("fast-io" ,sbcl-fast-io)
5636 ("chunga" ,sbcl-chunga)
5637 ("cl-ppcre" ,sbcl-cl-ppcre)
5638 ("cl-cookie" ,sbcl-cl-cookie)
5639 ("trivial-mimes" ,sbcl-trivial-mimes)
5640 ("chipz" ,sbcl-chipz)
5641 ("cl-base64" ,sbcl-cl-base64)
5642 ("cl-reexport" ,sbcl-cl-reexport)
5643 ("cl+ssl" ,sbcl-cl+ssl)
5644 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5645 ("alexandria" ,sbcl-alexandria)))
5646 (native-inputs
5647 `(("prove" ,sbcl-prove)
5648 ("lack" ,sbcl-lack)
5649 ("clack" ,sbcl-clack)
5650 ("babel" ,sbcl-babel)
5651 ("alexandria" ,sbcl-alexandria)
5652 ("cl-ppcre" ,sbcl-cl-ppcre)
5653 ("local-time" ,sbcl-local-time)
5654 ("trivial-features" ,sbcl-trivial-features)))
5655 (arguments
5656 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5657 `(#:tests? #f
5658 #:phases
5659 (modify-phases %standard-phases
5660 (add-after 'unpack 'fix-permissions
5661 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5662 (synopsis "Yet another HTTP client for Common Lisp")
5663 (description "Dexador is yet another HTTP client for Common Lisp with
5664 neat APIs and connection-pooling. It is meant to supersede Drakma.")
5665 (license license:expat))))
5666
5667 (define-public cl-dexador
5668 (package
5669 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5670 (arguments
5671 `(#:phases
5672 ;; asdf-build-system/source has its own phases and does not inherit
5673 ;; from asdf-build-system/sbcl phases.
5674 (modify-phases %standard-phases/source
5675 ;; Already done in SBCL package.
5676 (delete 'reset-gzip-timestamps))))))
5677
5678 (define-public ecl-dexador
5679 (sbcl-package->ecl-package sbcl-dexador))
5680
5681 (define-public sbcl-lisp-namespace
5682 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5683 (revision "1"))
5684 (package
5685 (name "sbcl-lisp-namespace")
5686 (build-system asdf-build-system/sbcl)
5687 (version (git-version "0.1" revision commit))
5688 (home-page "https://github.com/guicho271828/lisp-namespace")
5689 (source
5690 (origin
5691 (method git-fetch)
5692 (uri (git-reference
5693 (url home-page)
5694 (commit commit)))
5695 (file-name (git-file-name name version))
5696 (sha256
5697 (base32
5698 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5699 (inputs
5700 `(("alexandria" ,sbcl-alexandria)))
5701 (native-inputs
5702 `(("fiveam" ,sbcl-fiveam)))
5703 (arguments
5704 `(#:test-asd-file "lisp-namespace.test.asd"
5705 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5706 #:tests? #f))
5707 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5708 (description "Common Lisp already has major 2 namespaces, function
5709 namespace and value namespace (or variable namespace), but there are actually
5710 more — e.g., class namespace.
5711 This library offers macros to deal with symbols from any namespace.")
5712 (license license:llgpl))))
5713
5714 (define-public cl-lisp-namespace
5715 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5716
5717 (define-public ecl-lisp-namespace
5718 (sbcl-package->ecl-package sbcl-lisp-namespace))
5719
5720 (define-public sbcl-trivial-cltl2
5721 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
5722 (revision "2"))
5723 (package
5724 (name "sbcl-trivial-cltl2")
5725 (build-system asdf-build-system/sbcl)
5726 (version (git-version "0.1.1" revision commit))
5727 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
5728 (source
5729 (origin
5730 (method git-fetch)
5731 (uri (git-reference
5732 (url home-page)
5733 (commit commit)))
5734 (file-name (git-file-name name version))
5735 (sha256
5736 (base32
5737 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
5738 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5739 (description "This library is a portable compatibility layer around
5740 \"Common Lisp the Language, 2nd
5741 Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5742 and it exports symbols from implementation-specific packages.")
5743 (license license:llgpl))))
5744
5745 (define-public cl-trivial-cltl2
5746 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5747
5748 (define-public ecl-trivial-cltl2
5749 (sbcl-package->ecl-package sbcl-trivial-cltl2))
5750
5751 (define-public sbcl-introspect-environment
5752 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
5753 (revision "1"))
5754 (package
5755 (name "sbcl-introspect-environment")
5756 (build-system asdf-build-system/sbcl)
5757 (version (git-version "0.1" revision commit))
5758 (home-page "https://github.com/Bike/introspect-environment")
5759 (source
5760 (origin
5761 (method git-fetch)
5762 (uri (git-reference
5763 (url home-page)
5764 (commit commit)))
5765 (file-name (git-file-name name version))
5766 (sha256
5767 (base32
5768 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
5769 (native-inputs
5770 `(("fiveam" ,sbcl-fiveam)))
5771 (synopsis "Common Lisp environment introspection portability layer")
5772 (description "This library is a small interface to portable but
5773 nonstandard introspection of Common Lisp environments. It is intended to
5774 allow a bit more compile-time introspection of environments in Common Lisp.
5775
5776 Quite a bit of information is available at the time a macro or compiler-macro
5777 runs; inlining info, type declarations, that sort of thing. This information
5778 is all standard - any Common Lisp program can @code{(declare (integer x))} and
5779 such.
5780
5781 This info ought to be accessible through the standard @code{&environment}
5782 parameters, but it is not. Several implementations keep the information for
5783 their own purposes but do not make it available to user programs, because
5784 there is no standard mechanism to do so.
5785
5786 This library uses implementation-specific hooks to make information available
5787 to users. This is currently supported on SBCL, CCL, and CMUCL. Other
5788 implementations have implementations of the functions that do as much as they
5789 can and/or provide reasonable defaults.")
5790 (license license:wtfpl2))))
5791
5792 (define-public cl-introspect-environment
5793 (sbcl-package->cl-source-package sbcl-introspect-environment))
5794
5795 (define-public ecl-introspect-environment
5796 (sbcl-package->ecl-package sbcl-introspect-environment))
5797
5798 (define-public sbcl-type-i
5799 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
5800 (revision "2"))
5801 (package
5802 (name "sbcl-type-i")
5803 (build-system asdf-build-system/sbcl)
5804 (version (git-version "0.1" revision commit))
5805 (home-page "https://github.com/guicho271828/type-i")
5806 (source
5807 (origin
5808 (method git-fetch)
5809 (uri (git-reference
5810 (url home-page)
5811 (commit commit)))
5812 (file-name (git-file-name name version))
5813 (sha256
5814 (base32
5815 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
5816 (inputs
5817 `(("alexandria" ,sbcl-alexandria)
5818 ("introspect-environment" ,sbcl-introspect-environment)
5819 ("trivia.trivial" ,sbcl-trivia.trivial)))
5820 (native-inputs
5821 `(("fiveam" ,sbcl-fiveam)))
5822 (arguments
5823 `(#:test-asd-file "type-i.test.asd"))
5824 (synopsis "Type inference utility on unary predicates for Common Lisp")
5825 (description "This library tries to provide a way to detect what kind of
5826 type the given predicate is trying to check. This is different from inferring
5827 the return type of a function.")
5828 (license license:llgpl))))
5829
5830 (define-public cl-type-i
5831 (sbcl-package->cl-source-package sbcl-type-i))
5832
5833 (define-public ecl-type-i
5834 (package
5835 (inherit (sbcl-package->ecl-package sbcl-type-i))
5836 (arguments
5837 ;; The tests get stuck indefinitly
5838 '(#:tests? #f))))
5839
5840 (define-public sbcl-optima
5841 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
5842 (revision "1"))
5843 (package
5844 (name "sbcl-optima")
5845 (build-system asdf-build-system/sbcl)
5846 (version (git-version "1.0" revision commit))
5847 (home-page "https://github.com/m2ym/optima")
5848 (source
5849 (origin
5850 (method git-fetch)
5851 (uri (git-reference
5852 (url home-page)
5853 (commit commit)))
5854 (file-name (git-file-name name version))
5855 (sha256
5856 (base32
5857 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
5858 (inputs
5859 `(("alexandria" ,sbcl-alexandria)
5860 ("closer-mop" ,sbcl-closer-mop)))
5861 (native-inputs
5862 `(("eos" ,sbcl-eos)))
5863 (arguments
5864 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
5865 `(#:tests? #f
5866 #:test-asd-file "optima.test.asd"))
5867 (synopsis "Optimized pattern matching library for Common Lisp")
5868 (description "Optima is a fast pattern matching library which uses
5869 optimizing techniques widely used in the functional programming world.")
5870 (license license:expat))))
5871
5872 (define-public cl-optima
5873 (sbcl-package->cl-source-package sbcl-optima))
5874
5875 (define-public ecl-optima
5876 (sbcl-package->ecl-package sbcl-optima))
5877
5878 (define-public sbcl-fare-quasiquote
5879 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
5880 (revision "1"))
5881 (package
5882 (name "sbcl-fare-quasiquote")
5883 (build-system asdf-build-system/sbcl)
5884 (version (git-version "1.0.1" revision commit))
5885 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
5886 (source
5887 (origin
5888 (method git-fetch)
5889 (uri (git-reference
5890 (url (string-append "https://gitlab.common-lisp.net/frideau/"
5891 "fare-quasiquote.git"))
5892 (commit commit)))
5893 (file-name (git-file-name name version))
5894 (sha256
5895 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
5896 (inputs
5897 `(("fare-utils" ,sbcl-fare-utils)
5898 ("named-readtables" ,sbcl-named-readtables)
5899 ("optima" ,sbcl-optima)))
5900 (arguments
5901 ;; XXX: Circular dependencies: Tests depend on subsystems,
5902 ;; which depend on the main systems.
5903 `(#:tests? #f
5904 #:asd-systems '("fare-quasiquote"
5905 "fare-quasiquote-extras")
5906 #:phases
5907 (modify-phases %standard-phases
5908 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
5909 ;; commits after 1.0.0.5, but ASDF fails to read the
5910 ;; "-REVISION-COMMIT" part generated by Guix.
5911 (add-after 'unpack 'patch-requirement
5912 (lambda _
5913 (substitute* "fare-quasiquote.asd"
5914 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
5915 "\"fare-utils\""))
5916 (substitute* "fare-quasiquote-optima.asd"
5917 (("\\(:version \"optima\" \"1\\.0\"\\)")
5918 "\"optima\""))
5919 #t)))))
5920 (synopsis "Pattern-matching friendly implementation of quasiquote")
5921 (description "The main purpose of this n+2nd reimplementation of
5922 quasiquote is enable matching of quasiquoted patterns, using Optima or
5923 Trivia.")
5924 (license license:expat))))
5925
5926 (define-public cl-fare-quasiquote
5927 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
5928
5929 (define-public ecl-fare-quasiquote
5930 (sbcl-package->ecl-package sbcl-fare-quasiquote))
5931
5932 ;;; Split the trivia package in two to work around the circular dependency
5933 ;;; between guicho271828/trivia and guicho271828/type-i.
5934 (define-public sbcl-trivia.trivial
5935 (let ((commit "7286d5d2a4f685f1cac8370816f95276c0851111")
5936 (revision "3"))
5937 (package
5938 (name "sbcl-trivia.trivial")
5939 (version (git-version "0.0.0" revision commit))
5940 (source
5941 (origin
5942 (method git-fetch)
5943 (uri (git-reference
5944 (url "https://github.com/guicho271828/trivia")
5945 (commit commit)))
5946 (file-name (git-file-name "trivia" version))
5947 (sha256
5948 (base32
5949 "0ln0sj3jry7kzbmxhnin66kpbqan1wp8wwgdbw4k29afbdblkcca"))))
5950 (build-system asdf-build-system/sbcl)
5951 (inputs
5952 `(("alexandria" ,sbcl-alexandria)
5953 ("closer-mop" ,sbcl-closer-mop)
5954 ("lisp-namespace" ,sbcl-lisp-namespace)
5955 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
5956 (arguments
5957 '(#:phases
5958 (modify-phases %standard-phases
5959 (add-after 'unpack 'fix-build
5960 (lambda _
5961 (for-each delete-file
5962 '("trivia.balland2006.asd"
5963 "trivia.ppcre.asd"
5964 "trivia.quasiquote.asd"
5965 "trivia.cffi.asd"
5966 "trivia.asd"
5967 "trivia.test.asd"))
5968 #t)))))
5969 (synopsis "Pattern matching in Common Lisp")
5970 (description "Trivia is a pattern matching compiler that is compatible
5971 with Optima, another pattern matching library for Common Lisp. It is meant to
5972 be faster and more extensible than Optima.")
5973 (home-page "https://github.com/guicho271828/trivia")
5974 (license license:llgpl))))
5975
5976 (define-public cl-trivia.trivial
5977 (sbcl-package->cl-source-package sbcl-trivia.trivial))
5978
5979 (define-public ecl-trivia.trivial
5980 (sbcl-package->ecl-package sbcl-trivia.trivial))
5981
5982 (define-public sbcl-trivia
5983 (package
5984 (inherit sbcl-trivia.trivial)
5985 (name "sbcl-trivia")
5986 (native-inputs
5987 `(("fiveam" ,sbcl-fiveam)
5988 ("optima" ,sbcl-optima)))
5989 (inputs
5990 `(("alexandria" ,sbcl-alexandria)
5991 ("cffi" ,sbcl-cffi)
5992 ("cl-ppcre" ,sbcl-cl-ppcre)
5993 ("fare-quasiquote" ,sbcl-fare-quasiquote)
5994 ("iterate" ,sbcl-iterate)
5995 ("trivia.trivial" ,sbcl-trivia.trivial)
5996 ("type-i" ,sbcl-type-i)))
5997 (arguments
5998 '(#:asd-systems '("trivia"
5999 "trivia.ppcre"
6000 "trivia.quasiquote"
6001 "trivia.cffi")
6002 #:test-asd-file "trivia.test.asd"
6003 #:phases
6004 (modify-phases %standard-phases
6005 (add-after 'unpack 'fix-build
6006 (lambda _
6007 (for-each delete-file
6008 '("trivia.level0.asd"
6009 "trivia.level1.asd"
6010 "trivia.level2.asd"
6011 "trivia.trivial.asd"))
6012 #t)))))))
6013
6014 (define-public cl-trivia
6015 (sbcl-package->cl-source-package sbcl-trivia))
6016
6017 (define-public ecl-trivia
6018 (sbcl-package->ecl-package sbcl-trivia))
6019
6020 (define-public sbcl-mk-string-metrics
6021 (package
6022 (name "sbcl-mk-string-metrics")
6023 (version "0.1.2")
6024 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6025 (source (origin
6026 (method git-fetch)
6027 (uri (git-reference
6028 (url home-page)
6029 (commit version)))
6030 (sha256
6031 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6032 (file-name (git-file-name name version))))
6033 (build-system asdf-build-system/sbcl)
6034 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6035 (description "This library implements efficient algorithms that calculate
6036 various string metrics in Common Lisp:
6037
6038 @itemize
6039 @item Damerau-Levenshtein distance
6040 @item Hamming distance
6041 @item Jaccard similarity coefficient
6042 @item Jaro distance
6043 @item Jaro-Winkler distance
6044 @item Levenshtein distance
6045 @item Normalized Damerau-Levenshtein distance
6046 @item Normalized Levenshtein distance
6047 @item Overlap coefficient
6048 @end itemize\n")
6049 (license license:x11)))
6050
6051 (define-public cl-mk-string-metrics
6052 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6053
6054 (define-public ecl-mk-string-metrics
6055 (sbcl-package->ecl-package sbcl-mk-string-metrics))
6056
6057 (define-public sbcl-cl-str
6058 (package
6059 (name "sbcl-cl-str")
6060 (version "0.19")
6061 (home-page "https://github.com/vindarel/cl-str")
6062 (source (origin
6063 (method git-fetch)
6064 (uri (git-reference
6065 (url home-page)
6066 (commit version)))
6067 (sha256
6068 (base32 "1jyza2jhn7w6fl4w87pv0m87z5ia48m6dqw12k0mdh7l3mgjq839"))
6069 (file-name (git-file-name name version))))
6070 (build-system asdf-build-system/sbcl)
6071 (inputs
6072 `(("cl-ppcre" ,sbcl-cl-ppcre)
6073 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
6074 ("cl-change-case" ,sbcl-cl-change-case)))
6075 (native-inputs
6076 `(("prove" ,sbcl-prove)))
6077 (arguments
6078 `(#:asd-systems '("str")
6079 #:test-asd-file "str.test.asd"))
6080 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6081 (description "A modern and consistent Common Lisp string manipulation
6082 library that focuses on modernity, simplicity and discoverability:
6083 @code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6084 @code{str:concat strings} instead of an unusual format construct; one
6085 discoverable library instead of many; consistency and composability, where
6086 @code{s} is always the last argument, which makes it easier to feed pipes and
6087 arrows.")
6088 (license license:expat)))
6089
6090 (define-public cl-str
6091 (sbcl-package->cl-source-package sbcl-cl-str))
6092
6093 (define-public ecl-cl-str
6094 (sbcl-package->ecl-package sbcl-cl-str))
6095
6096 (define-public sbcl-cl-xmlspam
6097 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6098 (package
6099 (name "sbcl-cl-xmlspam")
6100 (build-system asdf-build-system/sbcl)
6101 (version (git-version "0.0.0" "1" commit))
6102 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6103 (source
6104 (origin
6105 (method git-fetch)
6106 (uri (git-reference
6107 (url home-page)
6108 (commit commit)))
6109 (file-name (string-append name "-" version))
6110 (sha256
6111 (base32
6112 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6113 (inputs
6114 `(("cxml" ,sbcl-cxml)
6115 ("cl-ppcre" ,sbcl-cl-ppcre)))
6116 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6117 (description "CXML does an excellent job at parsing XML elements, but what
6118 do you do when you have a XML file that's larger than you want to fit in
6119 memory, and you want to extract some information from it? Writing code to deal
6120 with SAX events, or even using Klacks, quickly becomes tedious.
6121 @code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6122 to write code that mirrors the structure of the XML that it's parsing. It
6123 also makes it easy to shift paradigms when necessary - the usual Lisp control
6124 constructs can be used interchangeably with pattern matching, and the full
6125 power of CXML is available when necessary.")
6126 (license license:bsd-3))))
6127
6128 (define-public cl-xmlspam
6129 (sbcl-package->cl-source-package sbcl-cl-xmlspam))
6130
6131 (define-public ecl-cl-xmlspam
6132 (sbcl-package->ecl-package sbcl-cl-xmlspam))
6133
6134 (define-public sbcl-dbus
6135 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6136 (revision "1"))
6137 (package
6138 (name "sbcl-dbus")
6139 (version (git-version "20190408" revision commit))
6140 (home-page "https://github.com/death/dbus")
6141 (source
6142 (origin
6143 (method git-fetch)
6144 (uri (git-reference
6145 (url home-page)
6146 (commit commit)))
6147 (file-name (git-file-name name version))
6148 (sha256
6149 (base32
6150 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
6151 (build-system asdf-build-system/sbcl)
6152 (inputs
6153 `(("alexandria" ,sbcl-alexandria)
6154 ("trivial-garbage" ,sbcl-trivial-garbage)
6155 ("babel" ,sbcl-babel)
6156 ("iolib" ,sbcl-iolib)
6157 ("ieee-floats" ,sbcl-ieee-floats)
6158 ("flexi-streams" ,sbcl-flexi-streams)
6159 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6160 ("ironclad" ,sbcl-ironclad)))
6161 (synopsis "D-Bus client library for Common Lisp")
6162 (description "This is a Common Lisp library that publishes D-Bus
6163 objects as well as send and notify other objects connected to a bus.")
6164 (license license:bsd-2))))
6165
6166 (define-public cl-dbus
6167 (sbcl-package->cl-source-package sbcl-dbus))
6168
6169 (define-public ecl-dbus
6170 (sbcl-package->ecl-package sbcl-dbus))
6171
6172 (define-public sbcl-cl-hooks
6173 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6174 (revision "1"))
6175 (package
6176 (name "sbcl-cl-hooks")
6177 (build-system asdf-build-system/sbcl)
6178 (version (git-version "0.2.1" revision commit))
6179 (home-page "https://github.com/scymtym/architecture.hooks")
6180 (source
6181 (origin
6182 (method git-fetch)
6183 (uri (git-reference
6184 (url home-page)
6185 (commit commit)))
6186 (file-name (git-file-name name version))
6187 (sha256
6188 (base32
6189 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6190 (inputs
6191 `(("alexandria" ,sbcl-alexandria)
6192 ("let-plus" ,sbcl-let-plus)
6193 ("trivial-garbage" ,sbcl-trivial-garbage)
6194 ("closer-mop" ,sbcl-closer-mop)))
6195 (native-inputs
6196 `(("fiveam" ,sbcl-fiveam)))
6197 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6198 (description "A hook, in the present context, is a certain kind of
6199 extension point in a program that allows interleaving the execution of
6200 arbitrary code with the execution of a the program without introducing any
6201 coupling between the two. Hooks are used extensively in the extensible editor
6202 Emacs.
6203
6204 In the Common LISP Object System (CLOS), a similar kind of extensibility is
6205 possible using the flexible multi-method dispatch mechanism. It may even seem
6206 that the concept of hooks does not provide any benefits over the possibilities
6207 of CLOS. However, there are some differences:
6208
6209 @itemize
6210
6211 @item There can be only one method for each combination of specializers and
6212 qualifiers. As a result this kind of extension point cannot be used by
6213 multiple extensions independently.
6214 @item Removing code previously attached via a @code{:before}, @code{:after} or
6215 @code{:around} method can be cumbersome.
6216 @item There could be other or even multiple extension points besides @code{:before}
6217 and @code{:after} in a single method.
6218 @item Attaching codes to individual objects using eql specializers can be
6219 cumbersome.
6220 @item Introspection of code attached a particular extension point is
6221 cumbersome since this requires enumerating and inspecting the methods of a
6222 generic function.
6223 @end itemize
6224
6225 This library tries to complement some of these weaknesses of method-based
6226 extension-points via the concept of hooks.")
6227 (license license:llgpl))))
6228
6229 (define-public cl-hooks
6230 (sbcl-package->cl-source-package sbcl-cl-hooks))
6231
6232 (define-public ecl-cl-hooks
6233 (sbcl-package->ecl-package sbcl-cl-hooks))
6234
6235 (define-public sbcl-cl-autowrap
6236 (let ((revision "1")
6237 (commit "ae846d6968fc0d000de0c541638929a157f3009e"))
6238 ;; no taged branches
6239 (package
6240 (name "sbcl-cl-autowrap")
6241 (version (git-version "1.0" revision commit))
6242 (source
6243 (origin
6244 (method git-fetch)
6245 (uri (git-reference
6246 (url "https://github.com/rpav/cl-autowrap")
6247 (commit commit)))
6248 (file-name (git-file-name name version))
6249 (sha256
6250 (base32 "1gisldp2zns92kdcaikghm7c38ldy2d884n8bfg0wcjvbz78p3ar"))))
6251 (build-system asdf-build-system/sbcl)
6252 (inputs
6253 `(("alexandria" ,sbcl-alexandria)
6254 ("cffi" ,sbcl-cffi)
6255 ("cl-json" ,sbcl-cl-json)
6256 ("cl-ppcre" ,sbcl-cl-ppcre)
6257 ("defpackage-plus" ,sbcl-defpackage-plus)
6258 ("trivial-features" ,sbcl-trivial-features)))
6259 (home-page "https://github.com/rpav/cl-autowrap")
6260 (synopsis "FFI wrapper generator for Common Lisp")
6261 (description "This is a c2ffi-based wrapper generator for Common Lisp.")
6262 (license license:bsd-2))))
6263
6264 (define-public cl-autowrap
6265 (sbcl-package->cl-source-package sbcl-cl-autowrap))
6266
6267 (define-public ecl-cl-autowrap
6268 (sbcl-package->ecl-package sbcl-cl-autowrap))
6269
6270 (define-public sbcl-s-sysdeps
6271 ;; No release since 2013.
6272 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
6273 (revision "2"))
6274 (package
6275 (name "sbcl-s-sysdeps")
6276 (build-system asdf-build-system/sbcl)
6277 (version (git-version "1" revision commit))
6278 (home-page "https://github.com/svenvc/s-sysdeps")
6279 (source
6280 (origin
6281 (method git-fetch)
6282 (uri (git-reference
6283 (url home-page)
6284 (commit commit)))
6285 (file-name (git-file-name name version))
6286 (sha256
6287 (base32
6288 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
6289 (inputs
6290 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
6291 ("usocket" ,sbcl-usocket)))
6292 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6293 (description "@code{s-sysdeps} is an abstraction layer over platform
6294 dependent functionality. This simple package is used as a building block in a
6295 number of other open source projects.
6296
6297 @code{s-sysdeps} abstracts:
6298
6299 @itemize
6300 @item managing processes,
6301 @item implementing a standard TCP/IP server,
6302 @item opening a client TCP/IP socket stream,
6303 @item working with process locks.
6304 @end itemize\n")
6305 (license license:llgpl))))
6306
6307 (define-public cl-s-sysdeps
6308 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6309
6310 (define-public ecl-s-sysdeps
6311 (sbcl-package->ecl-package sbcl-s-sysdeps))
6312
6313 (define-public sbcl-cl-prevalence
6314 (let ((commit "5a76be036092ed6c18cb695a9e03bce87e21b840")
6315 (revision "4"))
6316 (package
6317 (name "sbcl-cl-prevalence")
6318 (build-system asdf-build-system/sbcl)
6319 (version (git-version "5" revision commit))
6320 (home-page "https://github.com/40ants/cl-prevalence")
6321 (source
6322 (origin
6323 (method git-fetch)
6324 (uri (git-reference
6325 (url home-page)
6326 (commit commit)))
6327 (file-name (git-file-name name version))
6328 (sha256
6329 (base32
6330 "050h6hwv8f16b5v6fzba8zmih92hgaaq27i2x9wv1iib41gbia3r"))))
6331 (inputs
6332 `(("s-sysdeps" ,sbcl-s-sysdeps)
6333 ("s-xml" ,sbcl-s-xml)))
6334 (native-inputs
6335 `(("fiveam" ,sbcl-fiveam)))
6336 (synopsis "Implementation of object prevalence for Common Lisp")
6337 (description "This Common Lisp library implements object prevalence (see
6338 @url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6339 for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6340 classes and cyclic data structures are supported.")
6341 (license license:llgpl))))
6342
6343 (define-public cl-prevalence
6344 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6345
6346 (define-public ecl-cl-prevalence
6347 (sbcl-package->ecl-package sbcl-cl-prevalence))
6348
6349 (define-public sbcl-series
6350 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6351 (revision "1"))
6352 (package
6353 (name "sbcl-series")
6354 (version (git-version "2.2.11" revision commit))
6355 (source
6356 (origin
6357 (method git-fetch)
6358 (uri (git-reference
6359 (url "git://git.code.sf.net/p/series/series")
6360 (commit commit)))
6361 (file-name (git-file-name name version))
6362 (sha256
6363 (base32
6364 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6365 (build-system asdf-build-system/sbcl)
6366 (arguments
6367 ;; Disable the tests, they are apparently buggy and I didn't find
6368 ;; a simple way to make them run and pass.
6369 '(#:tests? #f))
6370 (synopsis "Series data structure for Common Lisp")
6371 (description
6372 "This Common Lisp library provides a series data structure much like
6373 a sequence, with similar kinds of operations. The difference is that in many
6374 situations, operations on series may be composed functionally and yet execute
6375 iteratively, without the need to construct intermediate series values
6376 explicitly. In this manner, series provide both the clarity of a functional
6377 programming style and the efficiency of an iterative programming style.")
6378 (home-page "http://series.sourceforge.net/")
6379 (license license:expat))))
6380
6381 (define-public cl-series
6382 (sbcl-package->cl-source-package sbcl-series))
6383
6384 (define-public ecl-series
6385 (sbcl-package->ecl-package sbcl-series))
6386
6387 (define-public sbcl-periods
6388 (let ((commit "60383dcef88a1ac11f82804ae7a33c361dcd2949")
6389 (revision "2"))
6390 (package
6391 (name "sbcl-periods")
6392 (version (git-version "0.0.2" revision commit))
6393 (source
6394 (origin
6395 (method git-fetch)
6396 (uri (git-reference
6397 (url "https://github.com/jwiegley/periods")
6398 (commit commit)))
6399 (file-name (git-file-name name version))
6400 (sha256
6401 (base32
6402 "1ym2j4an9ig2hl210jg91gpf7xfnp6mlhkw3n9kkdnwiji3ipqlk"))))
6403 (build-system asdf-build-system/sbcl)
6404 (inputs
6405 `(("local-time" ,sbcl-local-time)
6406 ("series" ,sbcl-series)))
6407 (arguments
6408 '(#:asd-systems '("periods"
6409 "periods-series")))
6410 (synopsis "Common Lisp library for manipulating date/time objects")
6411 (description
6412 "Periods is a Common Lisp library providing a set of utilities for
6413 manipulating times, distances between times, and both contiguous and
6414 discontiguous ranges of time.")
6415 (home-page "https://github.com/jwiegley/periods")
6416 (license license:bsd-3))))
6417
6418 (define-public cl-periods
6419 (sbcl-package->cl-source-package sbcl-periods))
6420
6421 (define-public ecl-periods
6422 (sbcl-package->ecl-package sbcl-periods))
6423
6424 (define-public sbcl-metatilities-base
6425 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6426 (revision "1"))
6427 (package
6428 (name "sbcl-metatilities-base")
6429 (version (git-version "0.6.6" revision commit))
6430 (source
6431 (origin
6432 (method git-fetch)
6433 (uri (git-reference
6434 (url "https://github.com/gwkkwg/metatilities-base")
6435 (commit commit)))
6436 (file-name (git-file-name name version))
6437 (sha256
6438 (base32
6439 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6440 (build-system asdf-build-system/sbcl)
6441 (native-inputs
6442 `(("lift" ,sbcl-lift)))
6443 (synopsis "Core of the metatilities Common Lisp library")
6444 (description
6445 "Metatilities-base is the core of the metatilities Common Lisp library
6446 which implements a set of utilities.")
6447 (home-page "https://common-lisp.net/project/metatilities-base/")
6448 (license license:expat))))
6449
6450 (define-public cl-metatilities-base
6451 (sbcl-package->cl-source-package sbcl-metatilities-base))
6452
6453 (define-public ecl-metatilities-base
6454 (sbcl-package->ecl-package sbcl-metatilities-base))
6455
6456 (define-public sbcl-cl-containers
6457 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6458 (revision "3"))
6459 (package
6460 (name "sbcl-cl-containers")
6461 (version (git-version "0.12.1" revision commit))
6462 (source
6463 (origin
6464 (method git-fetch)
6465 (uri (git-reference
6466 (url "https://github.com/gwkkwg/cl-containers")
6467 (commit commit)))
6468 (file-name (git-file-name name version))
6469 (sha256
6470 (base32
6471 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
6472 (build-system asdf-build-system/sbcl)
6473 (native-inputs
6474 `(("lift" ,sbcl-lift)))
6475 (inputs
6476 `(("metatilities-base" ,sbcl-metatilities-base)))
6477 (arguments
6478 '(#:asd-files '("cl-containers.asd")
6479 #:phases
6480 (modify-phases %standard-phases
6481 (add-after 'unpack 'relax-version-checks
6482 (lambda _
6483 (substitute* "cl-containers.asd"
6484 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6485 "\"metatilities-base\""))
6486 (substitute* "cl-containers-test.asd"
6487 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6488 "\"lift\""))
6489 #t)))))
6490 (synopsis "Container library for Common Lisp")
6491 (description
6492 "Common Lisp ships with a set of powerful built in data structures
6493 including the venerable list, full featured arrays, and hash-tables.
6494 CL-containers enhances and builds on these structures by adding containers
6495 that are not available in native Lisp (for example: binary search trees,
6496 red-black trees, sparse arrays and so on), and by providing a standard
6497 interface so that they are simpler to use and so that changing design
6498 decisions becomes significantly easier.")
6499 (home-page "https://common-lisp.net/project/cl-containers/")
6500 (license license:expat))))
6501
6502 (define-public cl-containers
6503 (sbcl-package->cl-source-package sbcl-cl-containers))
6504
6505 (define-public ecl-cl-containers
6506 (sbcl-package->ecl-package sbcl-cl-containers))
6507
6508 (define-public sbcl-xlunit
6509 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6510 (revision "1"))
6511 (package
6512 (name "sbcl-xlunit")
6513 (version (git-version "0.6.3" revision commit))
6514 (source
6515 (origin
6516 (method git-fetch)
6517 (uri (git-reference
6518 (url "http://git.kpe.io/xlunit.git")
6519 (commit commit)))
6520 (file-name (git-file-name name version))
6521 (sha256
6522 (base32
6523 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6524 (build-system asdf-build-system/sbcl)
6525 (arguments
6526 '(#:phases
6527 (modify-phases %standard-phases
6528 (add-after 'unpack 'fix-tests
6529 (lambda _
6530 (substitute* "xlunit.asd"
6531 ((" :force t") ""))
6532 #t)))))
6533 (synopsis "Unit testing package for Common Lisp")
6534 (description
6535 "The XLUnit package is a toolkit for building test suites. It is based
6536 on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6537 (home-page "http://quickdocs.org/xlunit/")
6538 (license license:bsd-3))))
6539
6540 (define-public cl-xlunit
6541 (sbcl-package->cl-source-package sbcl-xlunit))
6542
6543 (define-public ecl-xlunit
6544 (sbcl-package->ecl-package sbcl-xlunit))
6545
6546 (define-public sbcl-cambl
6547 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6548 (revision "1"))
6549 (package
6550 (name "sbcl-cambl")
6551 (version (git-version "4.0.0" revision commit))
6552 (source
6553 (origin
6554 (method git-fetch)
6555 (uri (git-reference
6556 (url "https://github.com/jwiegley/cambl")
6557 (commit commit)))
6558 (file-name (git-file-name "cambl" version))
6559 (sha256
6560 (base32 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6561 (build-system asdf-build-system/sbcl)
6562 (native-inputs
6563 `(("xlunit" ,sbcl-xlunit)))
6564 (inputs
6565 `(("alexandria" ,sbcl-alexandria)
6566 ("cl-containers" ,sbcl-cl-containers)
6567 ("local-time" ,sbcl-local-time)
6568 ("periods" ,sbcl-periods)))
6569 (arguments
6570 '(#:asd-files '("fprog.asd"
6571 "cambl.asd")))
6572 (synopsis "Commoditized amounts and balances for Common Lisp")
6573 (description
6574 "CAMBL is a Common Lisp library providing a convenient facility for
6575 working with commoditized values. It does not allow compound units (and so is
6576 not suited for scientific operations) but does work rather nicely for the
6577 purpose of financial calculations.")
6578 (home-page "https://github.com/jwiegley/cambl")
6579 (license license:bsd-3))))
6580
6581 (define-public cl-cambl
6582 (sbcl-package->cl-source-package sbcl-cambl))
6583
6584 (define-public ecl-cambl
6585 (sbcl-package->ecl-package sbcl-cambl))
6586
6587 (define-public sbcl-cl-ledger
6588 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6589 (revision "1"))
6590 (package
6591 (name "sbcl-cl-ledger")
6592 (version (git-version "4.0.0" revision commit))
6593 (source
6594 (origin
6595 (method git-fetch)
6596 (uri (git-reference
6597 (url "https://github.com/ledger/cl-ledger")
6598 (commit commit)))
6599 (file-name (git-file-name name version))
6600 (sha256
6601 (base32
6602 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6603 (build-system asdf-build-system/sbcl)
6604 (inputs
6605 `(("cambl" ,sbcl-cambl)
6606 ("cl-ppcre" ,sbcl-cl-ppcre)
6607 ("local-time" ,sbcl-local-time)
6608 ("periods" ,sbcl-periods)))
6609 (arguments
6610 '(#:phases
6611 (modify-phases %standard-phases
6612 (add-after 'unpack 'fix-system-definition
6613 (lambda _
6614 (substitute* "cl-ledger.asd"
6615 ((" :build-operation program-op") "")
6616 ((" :build-pathname \"cl-ledger\"") "")
6617 ((" :entry-point \"ledger::main\"") ""))
6618 #t)))))
6619 (synopsis "Common Lisp port of the Ledger accounting system")
6620 (description
6621 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6622 system.")
6623 (home-page "https://github.com/ledger/cl-ledger")
6624 (license license:bsd-3))))
6625
6626 (define-public cl-ledger
6627 (sbcl-package->cl-source-package sbcl-cl-ledger))
6628
6629 (define-public ecl-cl-ledger
6630 (sbcl-package->ecl-package sbcl-cl-ledger))
6631
6632 (define-public sbcl-bst
6633 (let ((commit "8545aed0d504df2829ad139566feeabe22305388")
6634 (revision "0"))
6635 (package
6636 (name "sbcl-bst")
6637 (version (git-version "2.0" revision commit))
6638 (source
6639 (origin
6640 (method git-fetch)
6641 (uri (git-reference
6642 (url "https://github.com/glv2/bst")
6643 (commit commit)))
6644 (file-name (git-file-name name version))
6645 (sha256
6646 (base32 "18ig7rvxcra69437g0i8sxyv7c5dg26jqnx1rc2f9pxmihdprgk8"))))
6647 (build-system asdf-build-system/sbcl)
6648 (native-inputs
6649 `(("alexandria" ,sbcl-alexandria)
6650 ("fiveam" ,sbcl-fiveam)))
6651 (synopsis "Binary search tree for Common Lisp")
6652 (description
6653 "BST is a Common Lisp library for working with binary search trees that
6654 can contain any kind of values.")
6655 (home-page "https://github.com/glv2/bst")
6656 (license license:gpl3))))
6657
6658 (define-public cl-bst
6659 (sbcl-package->cl-source-package sbcl-bst))
6660
6661 (define-public ecl-bst
6662 (sbcl-package->ecl-package sbcl-bst))
6663
6664 (define-public sbcl-cl-octet-streams
6665 (package
6666 (name "sbcl-cl-octet-streams")
6667 (version "1.2")
6668 (source
6669 (origin
6670 (method git-fetch)
6671 (uri (git-reference
6672 (url "https://github.com/glv2/cl-octet-streams")
6673 (commit (string-append "v" version))))
6674 (file-name (git-file-name name version))
6675 (sha256
6676 (base32 "1hffh98bv4w5yrchagzwqrc43d2p473pvw7ka4kyyvhrr52dk2f8"))))
6677 (build-system asdf-build-system/sbcl)
6678 (native-inputs
6679 `(("fiveam" ,sbcl-fiveam)))
6680 (inputs
6681 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6682 (synopsis "In-memory octet streams for Common Lisp")
6683 (description
6684 "CL-octet-streams is a library implementing in-memory octet
6685 streams for Common Lisp. It was inspired by the trivial-octet-streams and
6686 cl-plumbing libraries.")
6687 (home-page "https://github.com/glv2/cl-octet-streams")
6688 (license license:gpl3+)))
6689
6690 (define-public cl-octet-streams
6691 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
6692
6693 (define-public ecl-cl-octet-streams
6694 (sbcl-package->ecl-package sbcl-cl-octet-streams))
6695
6696 (define-public sbcl-lzlib
6697 (let ((commit "cad10f5becbcfebb44b9d311a257563778803452")
6698 (revision "2"))
6699 (package
6700 (name "sbcl-lzlib")
6701 (version (git-version "1.1" revision commit))
6702 (source
6703 (origin
6704 (method git-fetch)
6705 (uri (git-reference
6706 (url "https://github.com/glv2/cl-lzlib")
6707 (commit commit)))
6708 (file-name (git-file-name name version))
6709 (sha256
6710 (base32 "09lp7li35h4jkls0448fj1sh6pjslr1w7ranbc4szjr8g0c2bdry"))))
6711 (build-system asdf-build-system/sbcl)
6712 (native-inputs
6713 `(("fiveam" ,sbcl-fiveam)))
6714 (inputs
6715 `(("cffi" ,sbcl-cffi)
6716 ("cl-octet-streams" ,sbcl-cl-octet-streams)
6717 ("lparallel" ,sbcl-lparallel)
6718 ("lzlib" ,lzlib)))
6719 (arguments
6720 '(#:phases
6721 (modify-phases %standard-phases
6722 (add-after 'unpack 'fix-paths
6723 (lambda* (#:key inputs #:allow-other-keys)
6724 (substitute* "src/lzlib.lisp"
6725 (("liblz\\.so")
6726 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
6727 #t)))))
6728 (synopsis "Common Lisp library for lzip (de)compression")
6729 (description
6730 "This Common Lisp library provides functions for lzip (LZMA)
6731 compression/decompression using bindings to the lzlib C library.")
6732 (home-page "https://github.com/glv2/cl-lzlib")
6733 (license license:gpl3+))))
6734
6735 (define-public cl-lzlib
6736 (sbcl-package->cl-source-package sbcl-lzlib))
6737
6738 (define-public ecl-lzlib
6739 (sbcl-package->ecl-package sbcl-lzlib))
6740
6741 (define-public sbcl-chanl
6742 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
6743 (revision "1"))
6744 (package
6745 (name "sbcl-chanl")
6746 (version (git-version "0.4.1" revision commit))
6747 (source
6748 (origin
6749 (method git-fetch)
6750 (uri (git-reference
6751 (url "https://github.com/zkat/chanl")
6752 (commit commit)))
6753 (file-name (git-file-name name version))
6754 (sha256
6755 (base32
6756 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
6757 (build-system asdf-build-system/sbcl)
6758 (native-inputs
6759 `(("fiveam" ,sbcl-fiveam)))
6760 (inputs
6761 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
6762 (synopsis "Portable channel-based concurrency for Common Lisp")
6763 (description "Common Lisp library for channel-based concurrency. In
6764 a nutshell, you create various threads sequentially executing tasks you need
6765 done, and use channel objects to communicate and synchronize the state of these
6766 threads.")
6767 (home-page "https://github.com/zkat/chanl")
6768 (license (list license:expat license:bsd-3)))))
6769
6770 (define-public cl-chanl
6771 (sbcl-package->cl-source-package sbcl-chanl))
6772
6773 (define-public ecl-chanl
6774 (sbcl-package->ecl-package sbcl-chanl))
6775
6776 (define-public sbcl-cl-store
6777 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
6778 (revision "1"))
6779 (package
6780 (name "sbcl-cl-store")
6781 (version (git-version "0.8.11" revision commit))
6782 (source
6783 (origin
6784 (method git-fetch)
6785 (uri (git-reference
6786 (url "https://github.com/skypher/cl-store")
6787 (commit commit)))
6788 (file-name (git-file-name name version))
6789 (sha256
6790 (base32
6791 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
6792 (build-system asdf-build-system/sbcl)
6793 (native-inputs
6794 `(("rt" ,sbcl-rt)))
6795 (synopsis "Common Lisp library to serialize data")
6796 (description
6797 "CL-STORE is a portable serialization package which should give you the
6798 ability to store all Common Lisp data types into streams.")
6799 (home-page "https://www.common-lisp.net/project/cl-store/")
6800 (license license:expat))))
6801
6802 (define-public cl-store
6803 (sbcl-package->cl-source-package sbcl-cl-store))
6804
6805 (define-public ecl-cl-store
6806 (sbcl-package->ecl-package sbcl-cl-store))
6807
6808 (define-public sbcl-specialization-store
6809 (let ((commit "8d39a866a6f24986aad3cc52349e9cb2653496f3")
6810 (revision "1"))
6811 (package
6812 (name "sbcl-specialization-store")
6813 (version (git-version "0.0.5" revision commit))
6814 (source
6815 (origin
6816 (method git-fetch)
6817 (uri (git-reference
6818 (url "https://github.com/markcox80/specialization-store")
6819 (commit commit)))
6820 (file-name (git-file-name "specialization-store" version))
6821 (sha256
6822 (base32 "0r0bgb46q4gy72l78s7djkxq8ibb4bb3yh9brsry5lih7br8lhi0"))))
6823 (build-system asdf-build-system/sbcl)
6824 (native-inputs
6825 `(("fiveam" ,sbcl-fiveam)))
6826 (inputs
6827 `(("alexandria" ,sbcl-alexandria)
6828 ("introspect-environment" ,sbcl-introspect-environment)))
6829 (home-page "https://github.com/markcox80/specialization-store")
6830 (synopsis "Different type of generic function for Common Lisp")
6831 (description
6832 "SPECIALIZATION-STORE system provides a new kind of function, called
6833 a store function, whose behavior depends on the types of objects passed to the
6834 function.")
6835 (license license:bsd-2))))
6836
6837 (define-public ecl-specialization-store
6838 (package
6839 (inherit (sbcl-package->ecl-package sbcl-specialization-store))
6840 (arguments
6841 ;; TODO: Find why the tests get stuck forever; disable them for now.
6842 `(#:tests? #f))))
6843
6844 (define-public cl-specialization-store
6845 (sbcl-package->cl-source-package sbcl-specialization-store))
6846
6847 (define-public sbcl-cl-gobject-introspection
6848 (let ((commit "d0136c8d9ade2560123af1fc55bbf70d2e3db539")
6849 (revision "1"))
6850 (package
6851 (name "sbcl-cl-gobject-introspection")
6852 (version (git-version "0.3" revision commit))
6853 (home-page "https://github.com/andy128k/cl-gobject-introspection")
6854 (source
6855 (origin
6856 (method git-fetch)
6857 (uri (git-reference
6858 (url home-page)
6859 (commit commit)))
6860 (file-name (git-file-name name version))
6861 (sha256
6862 (base32
6863 "0dz0r73pq7yhz2iq2jnkq977awx2zws2qfxdcy33329sys1ii32p"))))
6864 (build-system asdf-build-system/sbcl)
6865 (inputs
6866 `(("alexandria" ,sbcl-alexandria)
6867 ("cffi" ,sbcl-cffi)
6868 ("iterate" ,sbcl-iterate)
6869 ("trivial-garbage" ,sbcl-trivial-garbage)
6870 ("glib" ,glib)
6871 ("gobject-introspection" ,gobject-introspection)))
6872 (native-inputs
6873 `(("fiveam" ,sbcl-fiveam)))
6874 (arguments
6875 '(#:phases
6876 (modify-phases %standard-phases
6877 (add-after 'unpack 'fix-paths
6878 (lambda* (#:key inputs #:allow-other-keys)
6879 (substitute* "src/init.lisp"
6880 (("libgobject-2\\.0\\.so")
6881 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
6882 (("libgirepository-1\\.0\\.so")
6883 (string-append (assoc-ref inputs "gobject-introspection")
6884 "/lib/libgirepository-1.0.so")))
6885 #t)))))
6886 (synopsis "Common Lisp bindings to GObject Introspection")
6887 (description
6888 "This library is a bridge between Common Lisp and GObject
6889 Introspection, which enables Common Lisp programs to access the full interface
6890 of C+GObject libraries without the need of writing dedicated bindings.")
6891 (license (list license:bsd-3
6892 ;; Tests are under a different license.
6893 license:llgpl)))))
6894
6895 (define-public cl-gobject-introspection
6896 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
6897
6898 (define-public ecl-cl-gobject-introspection
6899 (sbcl-package->ecl-package sbcl-cl-gobject-introspection))
6900
6901 (define-public sbcl-cl-slug
6902 (let ((commit "ffb229d10f0d3f7f54e706791725225e200bf749")
6903 (revision "1"))
6904 (package
6905 (name "sbcl-cl-slug")
6906 (version (git-version "0.4.1" revision commit))
6907 (source
6908 (origin
6909 (method git-fetch)
6910 (uri (git-reference
6911 (url "https://github.com/EuAndreh/cl-slug")
6912 (commit commit)))
6913 (file-name (git-file-name "cl-slug" version))
6914 (sha256
6915 (base32 "1asdq6xllmsvfw5fky9wblqcx9isac9jrrlkfl7vyxcq1wxrnflx"))))
6916 (build-system asdf-build-system/sbcl)
6917 (arguments
6918 `(#:asd-files '("cl-slug-test.asd" "cl-slug.asd")
6919 #:asd-systems '("cl-slug-test" "cl-slug")))
6920 (native-inputs
6921 `(("prove" ,sbcl-prove)))
6922 (inputs
6923 `(("ppcre" ,sbcl-cl-ppcre)))
6924 (home-page "https://github.com/EuAndreh/cl-slug")
6925 (synopsis "Multi-language slug formater")
6926 (description
6927 "This is a small Common Lisp library to make slugs, mainly for URIs,
6928 from english and beyond.")
6929 (license license:llgpl))))
6930
6931 (define-public ecl-cl-slug
6932 (sbcl-package->ecl-package sbcl-cl-slug))
6933
6934 (define-public cl-slug
6935 (sbcl-package->cl-source-package sbcl-cl-slug))
6936
6937 (define-public sbcl-string-case
6938 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
6939 (revision "0"))
6940 (package
6941 (name "sbcl-string-case")
6942 (version (git-version "0.0.2" revision commit))
6943 (home-page "https://github.com/pkhuong/string-case")
6944 (source
6945 (origin
6946 (method git-fetch)
6947 (uri (git-reference
6948 (url home-page)
6949 (commit commit)))
6950 (file-name (git-file-name name version))
6951 (sha256
6952 (base32
6953 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
6954 (build-system asdf-build-system/sbcl)
6955 (synopsis "Efficient string= case in Common Lisp")
6956 (description
6957 "@code{string-case} is a Common Lisp macro that generates specialised decision
6958 trees to dispatch on string equality.")
6959 (license license:bsd-3))))
6960
6961 (define-public cl-string-case
6962 (sbcl-package->cl-source-package sbcl-string-case))
6963
6964 (define-public ecl-string-case
6965 (sbcl-package->ecl-package sbcl-string-case))
6966
6967 (define-public sbcl-garbage-pools
6968 (let ((commit "9a7cb7f48b04197c0495df3b6d2e8395ad13f790")
6969 (revision "1"))
6970 (package
6971 (name "sbcl-garbage-pools")
6972 (version (git-version "0.1.2" revision commit))
6973 (source
6974 (origin
6975 (method git-fetch)
6976 (uri (git-reference
6977 (url "https://github.com/archimag/garbage-pools")
6978 (commit commit)))
6979 (file-name (git-file-name name version))
6980 (sha256
6981 (base32 "04jqwr6j138him6wc4nrwjzm4lvyj5j31xqab02nkf8h9hmsf5v1"))))
6982 (build-system asdf-build-system/sbcl)
6983 (home-page "https://github.com/archimag/garbage-pools")
6984 (synopsis "Resource management pools for Common Lisp")
6985 (description "GARBAGE-POOLS is Common Lisp re-implementation of the APR
6986 Pools for resource management.")
6987 (license license:expat))))
6988
6989 (define-public ecl-garbage-pools
6990 (sbcl-package->ecl-package sbcl-garbage-pools))
6991
6992 (define-public cl-garbage-pools
6993 (sbcl-package->cl-source-package sbcl-garbage-pools))
6994
6995 (define-public sbcl-global-vars
6996 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
6997 (revision "0"))
6998 (package
6999 (name "sbcl-global-vars")
7000 (version (git-version "1.0.0" revision commit))
7001 (home-page "https://github.com/lmj/global-vars")
7002 (source
7003 (origin
7004 (method git-fetch)
7005 (uri (git-reference
7006 (url home-page)
7007 (commit commit)))
7008 (file-name (git-file-name name version))
7009 (sha256
7010 (base32
7011 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7012 (build-system asdf-build-system/sbcl)
7013 (synopsis "Efficient global variables in Common Lisp")
7014 (description
7015 "In Common Lisp, a special variable that is never dynamically bound
7016 typically serves as a stand-in for a global variable. The @code{global-vars}
7017 library provides true global variables that are implemented by some compilers.
7018 An attempt to rebind a global variable properly results in a compiler error.
7019 That is, a global variable cannot be dynamically bound.
7020
7021 Global variables therefore allow us to communicate an intended usage that
7022 differs from special variables. Global variables are also more efficient than
7023 special variables, especially in the presence of threads.")
7024 (license license:expat))))
7025
7026 (define-public cl-global-vars
7027 (sbcl-package->cl-source-package sbcl-global-vars))
7028
7029 (define-public ecl-global-vars
7030 (sbcl-package->ecl-package sbcl-global-vars))
7031
7032 (define-public sbcl-trivial-file-size
7033 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7034 (revision "0"))
7035 (package
7036 (name "sbcl-trivial-file-size")
7037 (version (git-version "0.0.0" revision commit))
7038 (home-page "https://github.com/ruricolist/trivial-file-size")
7039 (source
7040 (origin
7041 (method git-fetch)
7042 (uri (git-reference
7043 (url home-page)
7044 (commit commit)))
7045 (file-name (git-file-name name version))
7046 (sha256
7047 (base32
7048 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7049 (build-system asdf-build-system/sbcl)
7050 (native-inputs
7051 `(("fiveam" ,sbcl-fiveam)))
7052 (synopsis "Size of a file in bytes in Common Lisp")
7053 (description
7054 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7055 is to open the file with an element type of (unsigned-byte 8) and then
7056 calculate the length of the stream. This is less than ideal. In most cases
7057 it is better to get the size of the file from its metadata, using a system
7058 call.
7059
7060 This library exports a single function, file-size-in-octets. It returns the
7061 size of a file in bytes, using system calls when possible.")
7062 (license license:expat))))
7063
7064 (define-public cl-trivial-file-size
7065 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7066
7067 (define-public ecl-trivial-file-size
7068 (sbcl-package->ecl-package sbcl-trivial-file-size))
7069
7070 (define-public sbcl-trivial-macroexpand-all
7071 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7072 (revision "0"))
7073 (package
7074 (name "sbcl-trivial-macroexpand-all")
7075 (version (git-version "0.0.0" revision commit))
7076 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7077 (source
7078 (origin
7079 (method git-fetch)
7080 (uri (git-reference
7081 (url home-page)
7082 (commit commit)))
7083 (file-name (git-file-name name version))
7084 (sha256
7085 (base32
7086 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7087 (build-system asdf-build-system/sbcl)
7088 (native-inputs
7089 `(("fiveam" ,sbcl-fiveam)))
7090 (synopsis "Portable macroexpand-all for Common Lisp")
7091 (description
7092 "This library provides a macroexpand-all function that calls the
7093 implementation specific equivalent.")
7094 (license license:unlicense))))
7095
7096 (define-public cl-trivial-macroexpand-all
7097 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7098
7099 (define-public ecl-trivial-macroexpand-all
7100 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7101
7102 (define-public sbcl-serapeum
7103 (let ((commit "263f415a350736b44e3878524ff3997e656fca32")
7104 (revision "4"))
7105 (package
7106 (name "sbcl-serapeum")
7107 (version (git-version "0.0.0" revision commit))
7108 (home-page "https://github.com/ruricolist/serapeum")
7109 (source
7110 (origin
7111 (method git-fetch)
7112 (uri (git-reference
7113 (url home-page)
7114 (commit commit)))
7115 (file-name (git-file-name name version))
7116 (sha256
7117 (base32
7118 "1669yidvxq41s3g6hb2jk21bcb5s2bnfsacpyd5b0hdxbmc7knq3"))))
7119 (build-system asdf-build-system/sbcl)
7120 (inputs
7121 `(("alexandria" ,sbcl-alexandria)
7122 ("trivia" ,sbcl-trivia)
7123 ("split-sequence" ,sbcl-split-sequence)
7124 ("string-case" ,sbcl-string-case)
7125 ("parse-number" ,sbcl-parse-number)
7126 ("trivial-garbage" ,sbcl-trivial-garbage)
7127 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7128 ("named-readtables" ,sbcl-named-readtables)
7129 ("fare-quasiquote" ,sbcl-fare-quasiquote)
7130 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7131 ("global-vars" ,sbcl-global-vars)
7132 ("trivial-file-size" ,sbcl-trivial-file-size)
7133 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7134 (native-inputs
7135 `(("fiveam" ,sbcl-fiveam)
7136 ("local-time" ,sbcl-local-time)))
7137 (arguments
7138 '(#:phases
7139 (modify-phases %standard-phases
7140 (add-after 'unpack 'disable-failing-tests
7141 (lambda* (#:key inputs #:allow-other-keys)
7142 (substitute* "serapeum.asd"
7143 ;; Guix does not have Quicklisp, and probably never will.
7144 (("\\(:file \"quicklisp\"\\)") ""))
7145 #t)))))
7146 (synopsis "Common Lisp utility library beyond Alexandria")
7147 (description
7148 "Serapeum is a conservative library of Common Lisp utilities. It is a
7149 supplement, not a competitor, to Alexandria.")
7150 (license license:expat))))
7151
7152 (define-public cl-serapeum
7153 (sbcl-package->cl-source-package sbcl-serapeum))
7154
7155 (define-public ecl-serapeum
7156 (sbcl-package->ecl-package sbcl-serapeum))
7157
7158 (define-public sbcl-arrows
7159 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7160 (revision "0"))
7161 (package
7162 (name "sbcl-arrows")
7163 (version (git-version "0.2.0" revision commit))
7164 (source
7165 (origin
7166 (method git-fetch)
7167 (uri (git-reference
7168 (url "https://gitlab.com/Harleqin/arrows.git")
7169 (commit commit)))
7170 (file-name (git-file-name name version))
7171 (sha256
7172 (base32
7173 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7174 (build-system asdf-build-system/sbcl)
7175 (native-inputs
7176 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7177 (synopsis "Clojure-like arrow macros for Common Lisp")
7178 (description
7179 "This library implements the @code{->} and @code{->>} macros from
7180 Clojure, as well as several expansions on the idea.")
7181 (home-page "https://gitlab.com/Harleqin/arrows")
7182 (license license:public-domain))))
7183
7184 (define-public cl-arrows
7185 (sbcl-package->cl-source-package sbcl-arrows))
7186
7187 (define-public ecl-arrows
7188 (sbcl-package->ecl-package sbcl-arrows))
7189
7190 (define-public sbcl-simple-parallel-tasks
7191 (let ((commit "ce7b60f788d8f68dfb69b24aac54c0e3b63379a6")
7192 (revision "1"))
7193 (package
7194 (name "sbcl-simple-parallel-tasks")
7195 (version (git-version "1.0" revision commit))
7196 (source
7197 (origin
7198 (method git-fetch)
7199 (uri (git-reference
7200 (url "https://github.com/glv2/simple-parallel-tasks")
7201 (commit commit)))
7202 (file-name (git-file-name name version))
7203 (sha256
7204 (base32 "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7"))))
7205 (build-system asdf-build-system/sbcl)
7206 (native-inputs
7207 `(("fiveam" ,sbcl-fiveam)))
7208 (inputs
7209 `(("chanl" ,sbcl-chanl)))
7210 (synopsis "Common Lisp library to evaluate some forms in parallel")
7211 (description "This is a simple Common Lisp library to evaluate some
7212 forms in parallel.")
7213 (home-page "https://github.com/glv2/simple-parallel-tasks")
7214 (license license:gpl3))))
7215
7216 (define-public cl-simple-parallel-tasks
7217 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7218
7219 (define-public ecl-simple-parallel-tasks
7220 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7221
7222 (define-public sbcl-cl-heap
7223 (package
7224 (name "sbcl-cl-heap")
7225 (version "0.1.6")
7226 (source
7227 (origin
7228 (method url-fetch)
7229 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7230 "cl-heap_" version ".tar.gz"))
7231 (sha256
7232 (base32
7233 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7234 (build-system asdf-build-system/sbcl)
7235 (native-inputs
7236 `(("xlunit" ,sbcl-xlunit)))
7237 (arguments
7238 `(#:test-asd-file "cl-heap-tests.asd"))
7239 (synopsis "Heap and priority queue data structures for Common Lisp")
7240 (description
7241 "CL-HEAP provides various implementations of heap data structures (a
7242 binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7243 (home-page "https://common-lisp.net/project/cl-heap/")
7244 (license license:gpl3+)))
7245
7246 (define-public cl-heap
7247 (sbcl-package->cl-source-package sbcl-cl-heap))
7248
7249 (define-public ecl-cl-heap
7250 (sbcl-package->ecl-package sbcl-cl-heap))
7251
7252 (define-public sbcl-curry-compose-reader-macros
7253 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7254 (revision "0"))
7255 (package
7256 (name "sbcl-curry-compose-reader-macros")
7257 (version (git-version "1.0.0" revision commit))
7258 (source
7259 (origin
7260 (method git-fetch)
7261 (uri
7262 (git-reference
7263 (url "https://github.com/eschulte/curry-compose-reader-macros")
7264 (commit commit)))
7265 (file-name (git-file-name name version))
7266 (sha256
7267 (base32
7268 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7269 (build-system asdf-build-system/sbcl)
7270 (inputs
7271 `(("alexandria" ,sbcl-alexandria)
7272 ("named-readtables" ,sbcl-named-readtables)))
7273 (synopsis "Reader macros for partial application and composition")
7274 (description
7275 "This Common Lisp library provides reader macros for concise expression
7276 of function partial application and composition.")
7277 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7278 (license license:public-domain))))
7279
7280 (define-public cl-curry-compose-reader-macros
7281 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7282
7283 (define-public ecl-curry-compose-reader-macros
7284 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7285
7286 (define-public sbcl-yason
7287 (package
7288 (name "sbcl-yason")
7289 (version "0.7.7")
7290 (source
7291 (origin
7292 (method git-fetch)
7293 (uri (git-reference
7294 (url "https://github.com/phmarek/yason")
7295 (commit (string-append "v" version))))
7296 (file-name (git-file-name name version))
7297 (sha256
7298 (base32
7299 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7300 (build-system asdf-build-system/sbcl)
7301 (inputs
7302 `(("alexandria" ,sbcl-alexandria)
7303 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7304 (synopsis "Common Lisp JSON parser/encoder")
7305 (description
7306 "YASON is a Common Lisp library for encoding and decoding data in the
7307 JSON interchange format.")
7308 (home-page "https://github.com/phmarek/yason")
7309 (license license:bsd-3)))
7310
7311 (define-public cl-yason
7312 (sbcl-package->cl-source-package sbcl-yason))
7313
7314 (define-public ecl-yason
7315 (sbcl-package->ecl-package sbcl-yason))
7316
7317 (define-public sbcl-stefil
7318 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7319 (revision "0"))
7320 (package
7321 (name "sbcl-stefil")
7322 (version (git-version "0.1" revision commit))
7323 (source
7324 (origin
7325 (method git-fetch)
7326 (uri (git-reference
7327 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7328 (commit commit)))
7329 (file-name (git-file-name name version))
7330 (sha256
7331 (base32
7332 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7333 (build-system asdf-build-system/sbcl)
7334 (inputs
7335 `(("alexandria" ,sbcl-alexandria)
7336 ("iterate" ,sbcl-iterate)
7337 ("metabang-bind" ,sbcl-metabang-bind)
7338 ("swank" ,sbcl-slime-swank)))
7339 (arguments
7340 '(#:phases
7341 (modify-phases %standard-phases
7342 (add-after 'unpack 'drop-unnecessary-dependency
7343 (lambda _
7344 (substitute* "package.lisp"
7345 ((":stefil-system") ""))
7346 #t)))))
7347 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7348 (synopsis "Simple test framework")
7349 (description
7350 "Stefil is a simple test framework for Common Lisp, with a focus on
7351 interactive development.")
7352 (license license:public-domain))))
7353
7354 (define-public cl-stefil
7355 (sbcl-package->cl-source-package sbcl-stefil))
7356
7357 (define-public ecl-stefil
7358 (sbcl-package->ecl-package sbcl-stefil))
7359
7360 (define-public sbcl-graph
7361 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7362 (revision "0"))
7363 (package
7364 (name "sbcl-graph")
7365 (version (git-version "0.0.0" revision commit))
7366 (source
7367 (origin
7368 (method git-fetch)
7369 (uri
7370 (git-reference
7371 (url "https://github.com/eschulte/graph")
7372 (commit commit)))
7373 (file-name (git-file-name name version))
7374 (sha256
7375 (base32
7376 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))))
7377 (build-system asdf-build-system/sbcl)
7378 (native-inputs
7379 `(("stefil" ,sbcl-stefil)))
7380 (inputs
7381 `(("alexandria" ,sbcl-alexandria)
7382 ("cl-heap" ,sbcl-cl-heap)
7383 ("cl-ppcre" ,sbcl-cl-ppcre)
7384 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7385 ("metabang-bind" ,sbcl-metabang-bind)
7386 ("named-readtables" ,sbcl-named-readtables)
7387 ("yason" ,sbcl-yason)))
7388 (arguments
7389 '(#:asd-systems '("graph"
7390 "graph/dot"
7391 "graph/json")))
7392 (synopsis "Graph data structure and algorithms for Common Lisp")
7393 (description
7394 "The GRAPH Common Lisp library provides a data structures to represent
7395 graphs, as well as some graph manipulation and analysis algorithms (shortest
7396 path, maximum flow, minimum spanning tree, etc.).")
7397 (home-page "https://eschulte.github.io/graph/")
7398 (license license:gpl3+))))
7399
7400 (define-public cl-graph
7401 (sbcl-package->cl-source-package sbcl-graph))
7402
7403 (define-public ecl-graph
7404 (sbcl-package->ecl-package sbcl-graph))
7405
7406 (define-public sbcl-trivial-indent
7407 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7408 (revision "0"))
7409 (package
7410 (name "sbcl-trivial-indent")
7411 (version (git-version "1.0.0" revision commit))
7412 (source
7413 (origin
7414 (method git-fetch)
7415 (uri
7416 (git-reference
7417 (url "https://github.com/Shinmera/trivial-indent")
7418 (commit commit)))
7419 (file-name (git-file-name name version))
7420 (sha256
7421 (base32
7422 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7423 (build-system asdf-build-system/sbcl)
7424 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7425 (description
7426 "This library allows you to define custom indentation hints for your
7427 macros if the one recognised by SLIME automatically produces unwanted
7428 results.")
7429 (home-page "https://shinmera.github.io/trivial-indent/")
7430 (license license:zlib))))
7431
7432 (define-public cl-trivial-indent
7433 (sbcl-package->cl-source-package sbcl-trivial-indent))
7434
7435 (define-public ecl-trivial-indent
7436 (sbcl-package->ecl-package sbcl-trivial-indent))
7437
7438 (define-public sbcl-documentation-utils
7439 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7440 (revision "0"))
7441 (package
7442 (name "sbcl-documentation-utils")
7443 (version (git-version "1.2.0" revision commit))
7444 (source
7445 (origin
7446 (method git-fetch)
7447 (uri
7448 (git-reference
7449 (url "https://github.com/Shinmera/documentation-utils")
7450 (commit commit)))
7451 (file-name (git-file-name name version))
7452 (sha256
7453 (base32
7454 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7455 (build-system asdf-build-system/sbcl)
7456 (inputs
7457 `(("trivial-indent" ,sbcl-trivial-indent)))
7458 (synopsis "Few simple tools to document Common Lisp libraries")
7459 (description
7460 "This is a small library to help you with managing the Common Lisp
7461 docstrings for your library.")
7462 (home-page "https://shinmera.github.io/documentation-utils/")
7463 (license license:zlib))))
7464
7465 (define-public cl-documentation-utils
7466 (sbcl-package->cl-source-package sbcl-documentation-utils))
7467
7468 (define-public ecl-documentation-utils
7469 (sbcl-package->ecl-package sbcl-documentation-utils))
7470
7471 (define-public sbcl-documentation-utils-extensions
7472 (let ((commit "f67f8a05d583174662a594b79356b201c1d9d750"))
7473 (package
7474 (name "sbcl-documentation-utils-extensions")
7475 (version (git-version "0.0.0" "1" commit))
7476 (source
7477 (origin
7478 (method git-fetch)
7479 (uri
7480 (git-reference
7481 (url "https://github.com/sirherrbatka/documentation-utils-extensions/")
7482 (commit commit)))
7483 (file-name (git-file-name name version))
7484 (sha256
7485 (base32
7486 "0pn45c9rbxlnhn5nvhqz6kyv0nlirwxpg4j27niwdq80yxzsn51f"))))
7487 (build-system asdf-build-system/sbcl)
7488 (inputs
7489 `(("documentation-utils" ,sbcl-documentation-utils)))
7490 (home-page "https://github.com/sirherrbatka/documentation-utils-extensions")
7491 (synopsis "Set of extensions for documentation-utils")
7492 (description
7493 "Use @code{rich-formatter} to format documentation with sections @code{:syntax},
7494 @code{:arguments}, @code{:examples}, @code{:description}, @code{:returns},
7495 @code{:side-effects}, @code{:thread-safety}, @code{:affected-by},
7496 @code{:see-also} and @code{:notes}. Gather unformatted input by using
7497 @code{rich-aggregating-formatter} and @code{*DOCUMENTATION*} variable. Find
7498 gathered documentation with find-documentation function. Execute code stored
7499 in documentation with @code{execute-documentation}. See the examples in the
7500 @code{src/documentation.lisp} file. See the @code{documentation-utils} system
7501 for more information.")
7502 (license license:expat))))
7503
7504 (define-public cl-documentation-utils-extensions
7505 (sbcl-package->cl-source-package sbcl-documentation-utils-extensions))
7506
7507 (define-public ecl-documentation-utils-extensions
7508 (sbcl-package->ecl-package sbcl-documentation-utils-extensions))
7509
7510 (define-public sbcl-form-fiddle
7511 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7512 (revision "0"))
7513 (package
7514 (name "sbcl-form-fiddle")
7515 (version (git-version "1.1.0" revision commit))
7516 (source
7517 (origin
7518 (method git-fetch)
7519 (uri
7520 (git-reference
7521 (url "https://github.com/Shinmera/form-fiddle")
7522 (commit commit)))
7523 (file-name (git-file-name name version))
7524 (sha256
7525 (base32
7526 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7527 (build-system asdf-build-system/sbcl)
7528 (inputs
7529 `(("documentation-utils" ,sbcl-documentation-utils)))
7530 (synopsis "Utilities to destructure Common Lisp lambda forms")
7531 (description
7532 "Often times we need to destructure a form definition in a Common Lisp
7533 macro. This library provides a set of simple utilities to help with that.")
7534 (home-page "https://shinmera.github.io/form-fiddle/")
7535 (license license:zlib))))
7536
7537 (define-public cl-form-fiddle
7538 (sbcl-package->cl-source-package sbcl-form-fiddle))
7539
7540 (define-public ecl-form-fiddle
7541 (sbcl-package->ecl-package sbcl-form-fiddle))
7542
7543 (define-public sbcl-parachute
7544 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7545 (revision "0"))
7546 (package
7547 (name "sbcl-parachute")
7548 (version (git-version "1.1.1" revision commit))
7549 (source
7550 (origin
7551 (method git-fetch)
7552 (uri
7553 (git-reference
7554 (url "https://github.com/Shinmera/parachute")
7555 (commit commit)))
7556 (file-name (git-file-name name version))
7557 (sha256
7558 (base32
7559 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7560 (build-system asdf-build-system/sbcl)
7561 (inputs
7562 `(("documentation-utils" ,sbcl-documentation-utils)
7563 ("form-fiddle" ,sbcl-form-fiddle)))
7564 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7565 (description
7566 "Parachute is a simple-to-use and extensible testing framework.
7567 In Parachute, things are organised as a bunch of named tests within a package.
7568 Each test can contain a bunch of test forms that make up its body.")
7569 (home-page "https://shinmera.github.io/parachute/")
7570 (license license:zlib))))
7571
7572 (define-public cl-parachute
7573 (sbcl-package->cl-source-package sbcl-parachute))
7574
7575 (define-public ecl-parachute
7576 (sbcl-package->ecl-package sbcl-parachute))
7577
7578 (define-public sbcl-array-utils
7579 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7580 (revision "0"))
7581 (package
7582 (name "sbcl-array-utils")
7583 (version (git-version "1.1.1" revision commit))
7584 (source
7585 (origin
7586 (method git-fetch)
7587 (uri
7588 (git-reference
7589 (url "https://github.com/Shinmera/array-utils")
7590 (commit commit)))
7591 (file-name (git-file-name name version))
7592 (sha256
7593 (base32
7594 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7595 (build-system asdf-build-system/sbcl)
7596 (native-inputs
7597 `(("parachute" ,sbcl-parachute)))
7598 (inputs
7599 `(("documentation-utils" ,sbcl-documentation-utils)))
7600 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7601 (description
7602 "A miniature toolkit that contains some useful shifting/popping/pushing
7603 functions for arrays and vectors. Originally from Plump.")
7604 (home-page "https://shinmera.github.io/array-utils/")
7605 (license license:zlib))))
7606
7607 (define-public cl-array-utils
7608 (sbcl-package->cl-source-package sbcl-array-utils))
7609
7610 (define-public ecl-array-utils
7611 (sbcl-package->ecl-package sbcl-array-utils))
7612
7613 (define-public sbcl-plump
7614 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
7615 (revision "1"))
7616 (package
7617 (name "sbcl-plump")
7618 (version (git-version "2.0.0" revision commit))
7619 (source
7620 (origin
7621 (method git-fetch)
7622 (uri
7623 (git-reference
7624 (url "https://github.com/Shinmera/plump")
7625 (commit commit)))
7626 (file-name (git-file-name name version))
7627 (sha256
7628 (base32
7629 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
7630 (build-system asdf-build-system/sbcl)
7631 (inputs
7632 `(("array-utils" ,sbcl-array-utils)
7633 ("documentation-utils" ,sbcl-documentation-utils)))
7634 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7635 (description
7636 "Plump is a parser for HTML/XML-like documents, focusing on being
7637 lenient towards invalid markup. It can handle things like invalid attributes,
7638 bad closing tag order, unencoded entities, inexistent tag types, self-closing
7639 tags and so on. It parses documents to a class representation and offers a
7640 small set of DOM functions to manipulate it. It can be extended to parse to
7641 your own classes.")
7642 (home-page "https://shinmera.github.io/plump/")
7643 (license license:zlib))))
7644
7645 (define-public cl-plump
7646 (sbcl-package->cl-source-package sbcl-plump))
7647
7648 (define-public ecl-plump
7649 (sbcl-package->ecl-package sbcl-plump))
7650
7651 ;;; Split the antik package in two to work around the circular dependency
7652 ;;; between antik/antik and antik/gsll.
7653 (define-public sbcl-antik-base
7654 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7655 (revision "1"))
7656 (package
7657 (name "sbcl-antik-base")
7658 (version (git-version "0.0.0" revision commit))
7659 (source
7660 (origin
7661 (method git-fetch)
7662 (uri (git-reference
7663 (url "https://gitlab.common-lisp.net/antik/antik.git")
7664 (commit commit)))
7665 (file-name (git-file-name name version))
7666 (sha256
7667 (base32
7668 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7669 (build-system asdf-build-system/sbcl)
7670 (inputs
7671 `(("alexandria" ,sbcl-alexandria)
7672 ("cffi" ,sbcl-cffi)
7673 ("cl-ppcre" ,sbcl-cl-ppcre)
7674 ("drakma" ,sbcl-drakma)
7675 ("fare-utils" ,sbcl-fare-utils)
7676 ("iterate" ,sbcl-iterate)
7677 ("metabang-bind" ,sbcl-metabang-bind)
7678 ("named-readtables" ,sbcl-named-readtables)
7679 ("split-sequence" ,sbcl-split-sequence)
7680 ("static-vectors" ,sbcl-static-vectors)
7681 ("trivial-garbage" ,sbcl-trivial-garbage)
7682 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7683 (native-inputs
7684 `(("lisp-unit" ,sbcl-lisp-unit)))
7685 (arguments
7686 '(#:asd-systems '("antik-base"
7687 "foreign-array")
7688 #:phases
7689 (modify-phases %standard-phases
7690 (add-after 'unpack 'fix-build
7691 (lambda _
7692 (for-each delete-file
7693 '("antik.asd"
7694 "physical-dimension.asd"
7695 "science-data.asd"))
7696 #t)))))
7697 (synopsis "Scientific and engineering computation in Common Lisp")
7698 (description
7699 "Antik provides a foundation for scientific and engineering
7700 computation in Common Lisp. It is designed not only to facilitate
7701 numerical computations, but to permit the use of numerical computation
7702 libraries and the interchange of data and procedures, whether
7703 foreign (non-Lisp) or Lisp libraries. It is named after the
7704 Antikythera mechanism, one of the oldest examples of a scientific
7705 computer known.")
7706 (home-page "https://common-lisp.net/project/antik/")
7707 (license license:gpl3))))
7708
7709 (define-public cl-antik-base
7710 (sbcl-package->cl-source-package sbcl-antik-base))
7711
7712 (define-public ecl-antik-base
7713 (let ((pkg (sbcl-package->ecl-package sbcl-antik-base)))
7714 (package
7715 (inherit pkg)
7716 (arguments
7717 (substitute-keyword-arguments (package-arguments pkg)
7718 ((#:phases phases)
7719 `(modify-phases ,phases
7720 (add-after 'unpack 'fix-readtable
7721 (lambda _
7722 (substitute* "input-output/readtable.lisp"
7723 (("#-ccl")
7724 "#-(or ccl ecl)"))
7725 #t)))))))))
7726
7727 (define-public sbcl-gsll
7728 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7729 (revision "1"))
7730 (package
7731 (name "sbcl-gsll")
7732 (version (git-version "0.0.0" revision commit))
7733 (source
7734 (origin
7735 (method git-fetch)
7736 (uri (git-reference
7737 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7738 (commit commit)))
7739 (file-name (git-file-name name version))
7740 (sha256
7741 (base32
7742 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7743 (build-system asdf-build-system/sbcl)
7744 (native-inputs
7745 `(("lisp-unit" ,sbcl-lisp-unit)))
7746 (inputs
7747 `(("alexandria" ,sbcl-alexandria)
7748 ("antik-base" ,sbcl-antik-base)
7749 ("cffi" ,sbcl-cffi)
7750 ("gsl" ,gsl)
7751 ("metabang-bind" ,sbcl-metabang-bind)
7752 ("trivial-features" ,sbcl-trivial-features)
7753 ("trivial-garbage" ,sbcl-trivial-garbage)))
7754 (arguments
7755 `(#:tests? #f
7756 #:phases
7757 (modify-phases %standard-phases
7758 (add-after 'unpack 'fix-cffi-paths
7759 (lambda* (#:key inputs #:allow-other-keys)
7760 (substitute* "gsll.asd"
7761 ((":depends-on \\(#:foreign-array")
7762 ":depends-on (#:foreign-array #:cffi-libffi"))
7763 (substitute* "init/init.lisp"
7764 (("libgslcblas.so" all)
7765 (string-append
7766 (assoc-ref inputs "gsl") "/lib/" all)))
7767 (substitute* "init/init.lisp"
7768 (("libgsl.so" all)
7769 (string-append
7770 (assoc-ref inputs "gsl") "/lib/" all))))))))
7771 (synopsis "GNU Scientific Library for Lisp")
7772 (description
7773 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
7774 GNU Scientific Library (GSL) from Common Lisp. This library provides a
7775 full range of common mathematical operations useful to scientific and
7776 engineering applications. The design of the GSLL interface is such
7777 that access to most of the GSL library is possible in a Lisp-natural
7778 way; the intent is that the user not be hampered by the restrictions
7779 of the C language in which GSL has been written. GSLL thus provides
7780 interactive use of GSL for getting quick answers, even for someone not
7781 intending to program in Lisp.")
7782 (home-page "https://common-lisp.net/project/gsll/")
7783 (license license:gpl3))))
7784
7785 (define-public cl-gsll
7786 (sbcl-package->cl-source-package sbcl-gsll))
7787
7788 (define-public ecl-gsll
7789 (sbcl-package->ecl-package sbcl-gsll))
7790
7791 (define-public sbcl-antik
7792 (package
7793 (inherit sbcl-antik-base)
7794 (name "sbcl-antik")
7795 (inputs
7796 `(("antik-base" ,sbcl-antik-base)
7797 ("gsll" ,sbcl-gsll)))
7798 (arguments
7799 '(#:asd-systems '("antik"
7800 "science-data")
7801 #:phases
7802 (modify-phases %standard-phases
7803 (add-after 'unpack 'fix-build
7804 (lambda _
7805 (for-each delete-file
7806 '("antik-base.asd"
7807 "foreign-array.asd"))
7808 #t)))))))
7809
7810 (define-public cl-antik
7811 (sbcl-package->cl-source-package sbcl-antik))
7812
7813 (define-public sbcl-cl-interpol
7814 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
7815 (revision "1"))
7816 (package
7817 (name "sbcl-cl-interpol")
7818 (version (git-version "0.2.6" revision commit))
7819 (source
7820 (origin
7821 (method git-fetch)
7822 (uri (git-reference
7823 (url "https://github.com/edicl/cl-interpol")
7824 (commit commit)))
7825 (file-name (git-file-name name version))
7826 (sha256
7827 (base32
7828 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
7829 (build-system asdf-build-system/sbcl)
7830 (inputs
7831 `(("cl-unicode" ,sbcl-cl-unicode)
7832 ("named-readtables" ,sbcl-named-readtables)))
7833 (native-inputs
7834 `(("flexi-streams" ,sbcl-flexi-streams)))
7835 (synopsis "String interpolation for Common Lisp")
7836 (description
7837 "CL-INTERPOL is a library for Common Lisp which modifies the
7838 reader so that you can have interpolation within strings similar to
7839 Perl or Unix Shell scripts. It also provides various ways to insert
7840 arbitrary characters into literal strings even if your editor/IDE
7841 doesn't support them.")
7842 (home-page "https://edicl.github.io/cl-interpol/")
7843 (license license:bsd-3))))
7844
7845 (define-public cl-interpol
7846 (sbcl-package->cl-source-package sbcl-cl-interpol))
7847
7848 (define-public ecl-cl-interpol
7849 (sbcl-package->ecl-package sbcl-cl-interpol))
7850
7851 (define-public sbcl-symbol-munger
7852 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
7853 (revision "1"))
7854 (package
7855 (name "sbcl-symbol-munger")
7856 (version (git-version "0.0.1" revision commit))
7857 (source
7858 (origin
7859 (method git-fetch)
7860 (uri (git-reference
7861 (url "https://github.com/AccelerationNet/symbol-munger")
7862 (commit commit)))
7863 (file-name (git-file-name name version))
7864 (sha256
7865 (base32
7866 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
7867 (build-system asdf-build-system/sbcl)
7868 (inputs
7869 `(("alexandria" ,sbcl-alexandria)
7870 ("iterate" ,sbcl-iterate)))
7871 (arguments
7872 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7873 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7874 '(#:tests? #f))
7875 (synopsis
7876 "Capitalization and spacing conversion functions for Common Lisp")
7877 (description
7878 "This is a Common Lisp library to change the capitalization and spacing
7879 of a string or a symbol. It can convert to and from Lisp, english, underscore
7880 and camel-case rules.")
7881 (home-page "https://github.com/AccelerationNet/symbol-munger")
7882 ;; The package declares a BSD license, but all of the license
7883 ;; text is MIT.
7884 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
7885 (license license:expat))))
7886
7887 (define-public cl-symbol-munger
7888 (sbcl-package->cl-source-package sbcl-symbol-munger))
7889
7890 (define-public ecl-symbol-munger
7891 (sbcl-package->ecl-package sbcl-symbol-munger))
7892
7893 (define-public sbcl-lisp-unit2
7894 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7895 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7896 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
7897 (revision "1"))
7898 (package
7899 (name "sbcl-lisp-unit2")
7900 (version (git-version "0.2.0" revision commit))
7901 (source
7902 (origin
7903 (method git-fetch)
7904 (uri (git-reference
7905 (url "https://github.com/AccelerationNet/lisp-unit2")
7906 (commit commit)))
7907 (file-name (git-file-name name version))
7908 (sha256
7909 (base32
7910 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
7911 (build-system asdf-build-system/sbcl)
7912 (inputs
7913 `(("alexandria" ,sbcl-alexandria)
7914 ("cl-interpol" ,sbcl-cl-interpol)
7915 ("iterate" ,sbcl-iterate)
7916 ("symbol-munger" ,sbcl-symbol-munger)))
7917 (synopsis "Test Framework for Common Lisp")
7918 (description
7919 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
7920 style of JUnit for Java. It is a new version of the lisp-unit library written
7921 by Chris Riesbeck.")
7922 (home-page "https://github.com/AccelerationNet/lisp-unit2")
7923 (license license:expat))))
7924
7925 (define-public cl-lisp-unit2
7926 (sbcl-package->cl-source-package sbcl-lisp-unit2))
7927
7928 (define-public ecl-lisp-unit2
7929 (sbcl-package->ecl-package sbcl-lisp-unit2))
7930
7931 (define-public sbcl-cl-csv
7932 (let ((commit "68ecb5d816545677513d7f6308d9e5e8d2265651")
7933 (revision "2"))
7934 (package
7935 (name "sbcl-cl-csv")
7936 (version (git-version "1.0.6" revision commit))
7937 (source
7938 (origin
7939 (method git-fetch)
7940 (uri (git-reference
7941 (url "https://github.com/AccelerationNet/cl-csv")
7942 (commit commit)))
7943 (file-name (git-file-name name version))
7944 (sha256
7945 (base32
7946 "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x"))))
7947 (build-system asdf-build-system/sbcl)
7948 (arguments
7949 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
7950 `(#:tests? #f))
7951 (inputs
7952 `(("alexandria" ,sbcl-alexandria)
7953 ("cl-interpol" ,sbcl-cl-interpol)
7954 ("iterate" ,sbcl-iterate)))
7955 (native-inputs
7956 `(("lisp-unit2" ,sbcl-lisp-unit2)))
7957 (synopsis "Common lisp library for comma-separated values")
7958 (description
7959 "This is a Common Lisp library providing functions to read/write CSV
7960 from/to strings, streams and files.")
7961 (home-page "https://github.com/AccelerationNet/cl-csv")
7962 (license license:bsd-3))))
7963
7964 (define-public cl-csv
7965 (sbcl-package->cl-source-package sbcl-cl-csv))
7966
7967 (define-public ecl-cl-csv
7968 (sbcl-package->ecl-package sbcl-cl-csv))
7969
7970 (define-public sbcl-external-program
7971 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
7972 (revision "1"))
7973 (package
7974 (name "sbcl-external-program")
7975 (version (git-version "0.0.6" revision commit))
7976 (source
7977 (origin
7978 (method git-fetch)
7979 (uri (git-reference
7980 (url "https://github.com/sellout/external-program")
7981 (commit commit)))
7982 (file-name (git-file-name name version))
7983 (sha256
7984 (base32
7985 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
7986 (build-system asdf-build-system/sbcl)
7987 (inputs
7988 `(("trivial-features" ,sbcl-trivial-features)))
7989 (native-inputs
7990 `(("fiveam" ,sbcl-fiveam)))
7991 (synopsis "Common Lisp library for running external programs")
7992 (description
7993 "EXTERNAL-PROGRAM enables running programs outside the Lisp
7994 process. It is an attempt to make the RUN-PROGRAM functionality in
7995 implementations like SBCL and CCL as portable as possible without
7996 sacrificing much in the way of power.")
7997 (home-page "https://github.com/sellout/external-program")
7998 (license license:llgpl))))
7999
8000 (define-public cl-external-program
8001 (sbcl-package->cl-source-package sbcl-external-program))
8002
8003 (define-public ecl-external-program
8004 (sbcl-package->ecl-package sbcl-external-program))
8005
8006 (define-public sbcl-cl-ana
8007 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8008 (revision "1"))
8009 (package
8010 (name "sbcl-cl-ana")
8011 (version (git-version "0.0.0" revision commit))
8012 (source
8013 (origin
8014 (method git-fetch)
8015 (uri (git-reference
8016 (url "https://github.com/ghollisjr/cl-ana")
8017 (commit commit)))
8018 (file-name (git-file-name name version))
8019 (sha256
8020 (base32 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8021 (build-system asdf-build-system/sbcl)
8022 (native-inputs
8023 `(("cl-fad" ,sbcl-cl-fad)))
8024 (inputs
8025 `(("alexandria" ,sbcl-alexandria)
8026 ("antik" ,sbcl-antik)
8027 ("cffi" ,sbcl-cffi)
8028 ("cl-csv" ,sbcl-cl-csv)
8029 ("closer-mop" ,sbcl-closer-mop)
8030 ("external-program" ,sbcl-external-program)
8031 ("gsl" ,gsl)
8032 ("gsll" ,sbcl-gsll)
8033 ("hdf5" ,hdf5-parallel-openmpi)
8034 ("iterate" ,sbcl-iterate)
8035 ("libffi" ,libffi)
8036 ("split-sequence" ,sbcl-split-sequence)))
8037 (arguments
8038 `(#:phases
8039 (modify-phases %standard-phases
8040 (add-after 'unpack 'fix-paths
8041 (lambda* (#:key inputs #:allow-other-keys)
8042 (substitute* "hdf-cffi/hdf-cffi.lisp"
8043 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8044 (string-append (assoc-ref inputs "hdf5")
8045 "/lib/libhdf5.so")))
8046 (substitute* "gsl-cffi/gsl-cffi.lisp"
8047 (("define-foreign-library gsl-cffi" all)
8048 (string-append all " (:unix "
8049 (assoc-ref inputs "gsl")
8050 "/lib/libgsl.so)")))
8051 #t)))))
8052 (synopsis "Common Lisp data analysis library")
8053 (description
8054 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8055 binned data analysis along with nonlinear least squares fitting and
8056 visualization.")
8057 (home-page "https://github.com/ghollisjr/cl-ana")
8058 (license license:gpl3))))
8059
8060 (define-public cl-ana
8061 (sbcl-package->cl-source-package sbcl-cl-ana))
8062
8063 (define-public sbcl-archive
8064 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
8065 (revision "1"))
8066 (package
8067 (name "sbcl-archive")
8068 (version (git-version "0.9" revision commit))
8069 (source (origin
8070 (method git-fetch)
8071 (uri (git-reference
8072 (url "https://github.com/sharplispers/archive")
8073 (commit commit)))
8074 (file-name (git-file-name name version))
8075 (sha256
8076 (base32
8077 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
8078 (build-system asdf-build-system/sbcl)
8079 (inputs
8080 `(("cl-fad" ,sbcl-cl-fad)
8081 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
8082 (synopsis "Common Lisp library for tar and cpio archives")
8083 (description
8084 "This is a Common Lisp library to read and write disk-based file
8085 archives such as those generated by the tar and cpio programs on Unix.")
8086 (home-page "https://github.com/sharplispers/archive")
8087 (license license:bsd-3))))
8088
8089 (define-public cl-archive
8090 (sbcl-package->cl-source-package sbcl-archive))
8091
8092 (define-public ecl-archive
8093 (sbcl-package->ecl-package sbcl-archive))
8094
8095 (define-public sbcl-misc-extensions
8096 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
8097 (revision "1"))
8098 (package
8099 (name "sbcl-misc-extensions")
8100 (version (git-version "3.3" revision commit))
8101 (source
8102 (origin
8103 (method git-fetch)
8104 (uri (git-reference
8105 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
8106 (commit commit)))
8107 (file-name (git-file-name name version))
8108 (sha256
8109 (base32
8110 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
8111 (build-system asdf-build-system/sbcl)
8112 (synopsis "Collection of small macros and extensions for Common Lisp")
8113 (description
8114 "This project is intended as a catchall for small, general-purpose
8115 extensions to Common Lisp. It contains:
8116
8117 @itemize
8118 @item @code{new-let}, a macro that combines and generalizes @code{let},
8119 @code{let*} and @code{multiple-value-bind},
8120 @item @code{gmap}, an iteration macro that generalizes @code{map}.
8121 @end itemize\n")
8122 (home-page "https://common-lisp.net/project/misc-extensions/")
8123 (license license:public-domain))))
8124
8125 (define-public cl-misc-extensions
8126 (sbcl-package->cl-source-package sbcl-misc-extensions))
8127
8128 (define-public ecl-misc-extensions
8129 (sbcl-package->ecl-package sbcl-misc-extensions))
8130
8131 (define-public sbcl-mt19937
8132 (package
8133 (name "sbcl-mt19937")
8134 (version "1.1")
8135 (source
8136 (origin
8137 (method url-fetch)
8138 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
8139 "mt19937-latest.tar.gz"))
8140 (sha256
8141 (base32
8142 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
8143 (build-system asdf-build-system/sbcl)
8144 (synopsis "Mersenne Twister pseudo-random number generator")
8145 (description
8146 "MT19937 is a portable Mersenne Twister pseudo-random number generator
8147 for Common Lisp.")
8148 (home-page "https://www.cliki.net/mt19937")
8149 (license license:public-domain)))
8150
8151 (define-public cl-mt19937
8152 (sbcl-package->cl-source-package sbcl-mt19937))
8153
8154 (define-public ecl-mt19937
8155 (sbcl-package->ecl-package sbcl-mt19937))
8156
8157 (define-public sbcl-fset
8158 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
8159 (revision "1"))
8160 (package
8161 (name "sbcl-fset")
8162 (version (git-version "1.3.2" revision commit))
8163 (source
8164 (origin
8165 (method git-fetch)
8166 (uri (git-reference
8167 (url "https://github.com/slburson/fset")
8168 (commit commit)))
8169 (file-name (git-file-name name version))
8170 (sha256
8171 (base32
8172 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
8173 (snippet '(begin
8174 ;; Remove obsolete copy of system definition.
8175 (delete-file "Code/fset.asd")
8176 #t))))
8177 (build-system asdf-build-system/sbcl)
8178 (inputs
8179 `(("misc-extensions" ,sbcl-misc-extensions)
8180 ("mt19937" ,sbcl-mt19937)
8181 ("named-readtables" ,sbcl-named-readtables)))
8182 (synopsis "Functional set-theoretic collections library")
8183 (description
8184 "FSet is a functional set-theoretic collections library for Common Lisp.
8185 Functional means that all update operations return a new collection rather than
8186 modifying an existing one in place. Set-theoretic means that collections may
8187 be nested arbitrarily with no additional programmer effort; for instance, sets
8188 may contain sets, maps may be keyed by sets, etc.")
8189 (home-page "https://common-lisp.net/project/fset/Site/index.html")
8190 (license license:llgpl))))
8191
8192 (define-public cl-fset
8193 (sbcl-package->cl-source-package sbcl-fset))
8194
8195 (define-public ecl-fset
8196 (package
8197 (inherit (sbcl-package->ecl-package sbcl-fset))
8198 (arguments
8199 ;; Tests fails on ECL with "The function FSET::MAKE-CHAR is undefined".
8200 '(#:tests? #f))))
8201
8202 (define-public sbcl-cl-cont
8203 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
8204 (revision "1"))
8205 (package
8206 (name "sbcl-cl-cont")
8207 (version (git-version "0.3.8" revision commit))
8208 (source
8209 (origin
8210 (method git-fetch)
8211 (uri (git-reference
8212 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
8213 (commit commit)))
8214 (file-name (git-file-name name version))
8215 (sha256
8216 (base32
8217 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
8218 (build-system asdf-build-system/sbcl)
8219 (inputs
8220 `(("alexandria" ,sbcl-alexandria)
8221 ("closer-mop" ,sbcl-closer-mop)))
8222 (native-inputs
8223 `(("rt" ,sbcl-rt)))
8224 (synopsis "Delimited continuations for Common Lisp")
8225 (description
8226 "This is a library that implements delimited continuations by
8227 transforming Common Lisp code to continuation passing style.")
8228 (home-page "https://common-lisp.net/project/cl-cont/")
8229 (license license:llgpl))))
8230
8231 (define-public cl-cont
8232 (sbcl-package->cl-source-package sbcl-cl-cont))
8233
8234 (define-public ecl-cl-cont
8235 (sbcl-package->ecl-package sbcl-cl-cont))
8236
8237 (define-public sbcl-cl-coroutine
8238 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
8239 (revision "1"))
8240 (package
8241 (name "sbcl-cl-coroutine")
8242 (version (git-version "0.1" revision commit))
8243 (source
8244 (origin
8245 (method git-fetch)
8246 (uri (git-reference
8247 (url "https://github.com/takagi/cl-coroutine")
8248 (commit commit)))
8249 (file-name (git-file-name name version))
8250 (sha256
8251 (base32
8252 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
8253 (build-system asdf-build-system/sbcl)
8254 (inputs
8255 `(("alexandria" ,sbcl-alexandria)
8256 ("cl-cont" ,sbcl-cl-cont)))
8257 (native-inputs
8258 `(("prove" ,sbcl-prove)))
8259 (arguments
8260 `(;; TODO: Fix the tests. They fail with:
8261 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
8262 #:tests? #f
8263 #:phases
8264 (modify-phases %standard-phases
8265 (add-after 'unpack 'fix-tests
8266 (lambda _
8267 (substitute* "cl-coroutine-test.asd"
8268 (("cl-test-more")
8269 "prove"))
8270 #t)))))
8271 (synopsis "Coroutine library for Common Lisp")
8272 (description
8273 "This is a coroutine library for Common Lisp implemented using the
8274 continuations of the @code{cl-cont} library.")
8275 (home-page "https://github.com/takagi/cl-coroutine")
8276 (license license:llgpl))))
8277
8278 (define-public cl-coroutine
8279 (sbcl-package->cl-source-package sbcl-cl-coroutine))
8280
8281 (define-public ecl-cl-coroutine
8282 (sbcl-package->ecl-package sbcl-cl-coroutine))
8283
8284 (define-public sbcl-vas-string-metrics
8285 (let ((commit "f2e4500b180316123fbd549bd51c751ee2d6ba0f")
8286 (revision "1"))
8287 (package
8288 (name "sbcl-vas-string-metrics")
8289 (version (git-version "0.0.0" revision commit))
8290 (source
8291 (origin
8292 (method git-fetch)
8293 (uri (git-reference
8294 (url "https://github.com/vsedach/vas-string-metrics")
8295 (commit commit)))
8296 (file-name (git-file-name "vas-string-metrics" version))
8297 (sha256
8298 (base32 "11fcnd03ybzz37rkg3z0wsb727yqgcd9gn70sccfb34l89ia279k"))))
8299 (build-system asdf-build-system/sbcl)
8300 (arguments
8301 `(#:test-asd-file "test.vas-string-metrics.asd"))
8302 (home-page "https://github.com/vsedach/vas-string-metrics")
8303 (synopsis "String distance algorithms for Common Lisp")
8304 (description
8305 "VAS-STRING-METRICS provides the Jaro, Jaro-Winkler, Soerensen-Dice,
8306 Levenshtein, and normalized Levenshtein string distance/similarity metrics
8307 algorithms.")
8308 (license license:lgpl3+))))
8309
8310 (define-public ecl-vas-string-metrics
8311 (sbcl-package->ecl-package sbcl-vas-string-metrics))
8312
8313 (define-public cl-vas-string-metrics
8314 (sbcl-package->cl-source-package sbcl-vas-string-metrics))
8315
8316 (define-public sbcl-vom
8317 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
8318 (revision "1"))
8319 (package
8320 (name "sbcl-vom")
8321 (version (git-version "0.1.4" revision commit))
8322 (source
8323 (origin
8324 (method git-fetch)
8325 (uri (git-reference
8326 (url "https://github.com/orthecreedence/vom")
8327 (commit commit)))
8328 (file-name (git-file-name name version))
8329 (sha256
8330 (base32
8331 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
8332 (build-system asdf-build-system/sbcl)
8333 (synopsis "Tiny logging utility for Common Lisp")
8334 (description
8335 "Vom is a logging library for Common Lisp. It's goal is to be useful
8336 and small. It does not provide a lot of features as other loggers do, but
8337 has a small codebase that's easy to understand and use.")
8338 (home-page "https://github.com/orthecreedence/vom")
8339 (license license:expat))))
8340
8341 (define-public cl-vom
8342 (sbcl-package->cl-source-package sbcl-vom))
8343
8344 (define-public ecl-vom
8345 (sbcl-package->ecl-package sbcl-vom))
8346
8347 (define-public sbcl-cl-libuv
8348 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
8349 (revision "1"))
8350 (package
8351 (name "sbcl-cl-libuv")
8352 (version (git-version "0.1.6" revision commit))
8353 (source
8354 (origin
8355 (method git-fetch)
8356 (uri (git-reference
8357 (url "https://github.com/orthecreedence/cl-libuv")
8358 (commit commit)))
8359 (file-name (git-file-name name version))
8360 (sha256
8361 (base32
8362 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
8363 (build-system asdf-build-system/sbcl)
8364 (inputs
8365 `(("alexandria" ,sbcl-alexandria)
8366 ("cffi" ,sbcl-cffi)
8367 ("libuv" ,libuv)))
8368 (arguments
8369 `(#:phases
8370 (modify-phases %standard-phases
8371 (add-after 'unpack 'fix-paths
8372 (lambda* (#:key inputs #:allow-other-keys)
8373 (substitute* "lib.lisp"
8374 (("/usr/lib/libuv.so")
8375 (string-append (assoc-ref inputs "libuv")
8376 "/lib/libuv.so")))
8377 #t))
8378 (add-after 'fix-paths 'fix-system-definition
8379 (lambda _
8380 (substitute* "cl-libuv.asd"
8381 (("#:cffi #:alexandria")
8382 "#:cffi #:cffi-grovel #:alexandria"))
8383 #t)))))
8384 (synopsis "Common Lisp bindings to libuv")
8385 (description
8386 "This library provides low-level libuv bindings for Common Lisp.")
8387 (home-page "https://github.com/orthecreedence/cl-libuv")
8388 (license license:expat))))
8389
8390 (define-public cl-libuv
8391 (sbcl-package->cl-source-package sbcl-cl-libuv))
8392
8393 (define-public ecl-cl-libuv
8394 (sbcl-package->ecl-package sbcl-cl-libuv))
8395
8396 (define-public sbcl-cl-async
8397 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
8398 (revision "1"))
8399 (package
8400 (name "sbcl-cl-async")
8401 (version (git-version "0.6.1" revision commit))
8402 (source
8403 (origin
8404 (method git-fetch)
8405 (uri (git-reference
8406 (url "https://github.com/orthecreedence/cl-async")
8407 (commit commit)))
8408 (file-name (git-file-name name version))
8409 (sha256
8410 (base32
8411 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
8412 (build-system asdf-build-system/sbcl)
8413 (inputs
8414 `(("babel" ,sbcl-babel)
8415 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8416 ("cffi" ,sbcl-cffi)
8417 ("cl-libuv" ,sbcl-cl-libuv)
8418 ("cl-ppcre" ,sbcl-cl-ppcre)
8419 ("fast-io" ,sbcl-fast-io)
8420 ("openssl" ,openssl)
8421 ("static-vectors" ,sbcl-static-vectors)
8422 ("trivial-features" ,sbcl-trivial-features)
8423 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
8424 ("vom" ,sbcl-vom)))
8425 (arguments
8426 `(#:asd-systems '("cl-async"
8427 "cl-async-repl"
8428 "cl-async-ssl")
8429 #:phases
8430 (modify-phases %standard-phases
8431 (add-after 'unpack 'fix-paths
8432 (lambda* (#:key inputs #:allow-other-keys)
8433 (substitute* "src/ssl/package.lisp"
8434 (("libcrypto\\.so")
8435 (string-append (assoc-ref inputs "openssl")
8436 "/lib/libcrypto.so"))
8437 (("libssl\\.so")
8438 (string-append (assoc-ref inputs "openssl")
8439 "/lib/libssl.so")))
8440 #t)))))
8441 (synopsis "Asynchronous operations for Common Lisp")
8442 (description
8443 "Cl-async is a library for general purpose, non-blocking programming in
8444 Common Lisp. It uses the libuv library as backend.")
8445 (home-page "https://orthecreedence.github.io/cl-async/")
8446 (license license:expat))))
8447
8448 (define-public cl-async
8449 (sbcl-package->cl-source-package sbcl-cl-async))
8450
8451 (define-public ecl-cl-async
8452 (sbcl-package->ecl-package sbcl-cl-async))
8453
8454 (define-public sbcl-blackbird
8455 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
8456 (revision "1"))
8457 (package
8458 (name "sbcl-blackbird")
8459 (version (git-version "0.5.2" revision commit))
8460 (source
8461 (origin
8462 (method git-fetch)
8463 (uri (git-reference
8464 (url "https://github.com/orthecreedence/blackbird")
8465 (commit commit)))
8466 (file-name (git-file-name name version))
8467 (sha256
8468 (base32
8469 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
8470 (build-system asdf-build-system/sbcl)
8471 (inputs
8472 `(("vom" ,sbcl-vom)))
8473 (native-inputs
8474 `(("cl-async" ,sbcl-cl-async)
8475 ("fiveam" ,sbcl-fiveam)))
8476 (synopsis "Promise implementation for Common Lisp")
8477 (description
8478 "This is a standalone promise implementation for Common Lisp. It is
8479 the successor to the now-deprecated cl-async-future project.")
8480 (home-page "https://orthecreedence.github.io/blackbird/")
8481 (license license:expat))))
8482
8483 (define-public cl-blackbird
8484 (sbcl-package->cl-source-package sbcl-blackbird))
8485
8486 (define-public ecl-blackbird
8487 (sbcl-package->ecl-package sbcl-blackbird))
8488
8489 (define-public sbcl-cl-async-future
8490 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
8491 (revision "1"))
8492 (package
8493 (name "sbcl-cl-async-future")
8494 (version (git-version "0.4.4.1" revision commit))
8495 (source
8496 (origin
8497 (method git-fetch)
8498 (uri (git-reference
8499 (url "https://github.com/orthecreedence/cl-async-future")
8500 (commit commit)))
8501 (file-name (git-file-name name version))
8502 (sha256
8503 (base32
8504 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
8505 (build-system asdf-build-system/sbcl)
8506 (inputs
8507 `(("blackbird" ,sbcl-blackbird)))
8508 (native-inputs
8509 `(("cl-async" ,sbcl-cl-async)
8510 ("eos" ,sbcl-eos)))
8511 (synopsis "Futures implementation for Common Lisp")
8512 (description
8513 "This is futures implementation for Common Lisp. It plugs in nicely
8514 to cl-async.")
8515 (home-page "https://orthecreedence.github.io/cl-async/future")
8516 (license license:expat))))
8517
8518 (define-public cl-async-future
8519 (sbcl-package->cl-source-package sbcl-cl-async-future))
8520
8521 (define-public ecl-cl-async-future
8522 (sbcl-package->ecl-package sbcl-cl-async-future))
8523
8524 (define-public sbcl-green-threads
8525 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
8526 (revision "1"))
8527 (package
8528 (name "sbcl-green-threads")
8529 (version (git-version "0.3" revision commit))
8530 (source
8531 (origin
8532 (method git-fetch)
8533 (uri (git-reference
8534 (url "https://github.com/thezerobit/green-threads")
8535 (commit commit)))
8536 (file-name (git-file-name name version))
8537 (sha256
8538 (base32
8539 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
8540 (build-system asdf-build-system/sbcl)
8541 (inputs
8542 `(("cl-async-future" ,sbcl-cl-async-future)
8543 ("cl-cont" ,sbcl-cl-cont)))
8544 (native-inputs
8545 `(("prove" ,sbcl-prove)))
8546 (arguments
8547 `(;; TODO: Fix the tests. They fail with:
8548 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
8549 #:tests? #f
8550 #:phases
8551 (modify-phases %standard-phases
8552 (add-after 'unpack 'fix-tests
8553 (lambda _
8554 (substitute* "green-threads-test.asd"
8555 (("cl-test-more")
8556 "prove"))
8557 #t)))))
8558 (synopsis "Cooperative multitasking library for Common Lisp")
8559 (description
8560 "This library allows for cooperative multitasking with help of cl-cont
8561 for continuations. It tries to mimic the API of bordeaux-threads as much as
8562 possible.")
8563 (home-page "https://github.com/thezerobit/green-threads")
8564 (license license:bsd-3))))
8565
8566 (define-public cl-green-threads
8567 (sbcl-package->cl-source-package sbcl-green-threads))
8568
8569 (define-public ecl-green-threads
8570 (sbcl-package->ecl-package sbcl-green-threads))
8571
8572 (define-public sbcl-cl-base32
8573 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
8574 (revision "1"))
8575 (package
8576 (name "sbcl-cl-base32")
8577 (version (git-version "0.1" revision commit))
8578 (source
8579 (origin
8580 (method git-fetch)
8581 (uri (git-reference
8582 (url "https://github.com/hargettp/cl-base32")
8583 (commit commit)))
8584 (file-name (git-file-name name version))
8585 (sha256
8586 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
8587 (build-system asdf-build-system/sbcl)
8588 (native-inputs
8589 `(("lisp-unit" ,sbcl-lisp-unit)))
8590 (synopsis "Common Lisp library for base32 encoding and decoding")
8591 (description
8592 "This package provides functions for base32 encoding and decoding as
8593 defined in RFC4648.")
8594 (home-page "https://github.com/hargettp/cl-base32")
8595 (license license:expat))))
8596
8597 (define-public cl-base32
8598 (sbcl-package->cl-source-package sbcl-cl-base32))
8599
8600 (define-public ecl-cl-base32
8601 (sbcl-package->ecl-package sbcl-cl-base32))
8602
8603 (define-public sbcl-cl-z85
8604 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
8605 (revision "1"))
8606 (package
8607 (name "sbcl-cl-z85")
8608 (version (git-version "1.0" revision commit))
8609 (source
8610 (origin
8611 (method git-fetch)
8612 (uri (git-reference
8613 (url "https://github.com/glv2/cl-z85")
8614 (commit commit)))
8615 (file-name (git-file-name name version))
8616 (sha256
8617 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
8618 (build-system asdf-build-system/sbcl)
8619 (native-inputs
8620 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
8621 ("fiveam" ,sbcl-fiveam)))
8622 (synopsis "Common Lisp library for Z85 encoding and decoding")
8623 (description
8624 "This package provides functions to encode or decode byte vectors or
8625 byte streams using the Z85 format, which is a base-85 encoding used by
8626 ZeroMQ.")
8627 (home-page "https://github.com/glv2/cl-z85")
8628 (license license:gpl3+))))
8629
8630 (define-public cl-z85
8631 (sbcl-package->cl-source-package sbcl-cl-z85))
8632
8633 (define-public ecl-cl-z85
8634 (sbcl-package->ecl-package sbcl-cl-z85))
8635
8636 (define-public sbcl-ltk
8637 (package
8638 (name "sbcl-ltk")
8639 (version "0.992")
8640 (source
8641 (origin
8642 (method git-fetch)
8643 (uri (git-reference
8644 (url "https://github.com/herth/ltk")
8645 (commit version)))
8646 (file-name (git-file-name name version))
8647 (sha256
8648 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
8649 (build-system asdf-build-system/sbcl)
8650 (inputs
8651 `(("imagemagick" ,imagemagick)
8652 ("tk" ,tk)))
8653 (arguments
8654 `(#:asd-systems '("ltk"
8655 "ltk-mw"
8656 "ltk-remote")
8657 #:tests? #f
8658 #:phases
8659 (modify-phases %standard-phases
8660 (add-after 'unpack 'fix-paths
8661 (lambda* (#:key inputs #:allow-other-keys)
8662 (substitute* "ltk/ltk.lisp"
8663 (("#-freebsd \"wish\"")
8664 (string-append "#-freebsd \""
8665 (assoc-ref inputs "tk")
8666 "/bin/wish\""))
8667 (("do-execute \"convert\"")
8668 (string-append "do-execute \""
8669 (assoc-ref inputs "imagemagick")
8670 "/bin/convert\"")))
8671 #t))
8672 (add-after 'unpack 'fix-build
8673 (lambda _
8674 (substitute* "ltk/ltk-remote.lisp"
8675 (("\\(:export")
8676 "(:shadow #:raise) (:export"))
8677 #t)))))
8678 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
8679 (description
8680 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
8681 in pure Common Lisp and does not require any Tk knowledge for its usage.")
8682 (home-page "http://www.peter-herth.de/ltk/")
8683 (license license:llgpl)))
8684
8685 (define-public cl-ltk
8686 (sbcl-package->cl-source-package sbcl-ltk))
8687
8688 (define-public ecl-ltk
8689 (sbcl-package->ecl-package sbcl-ltk))
8690
8691 (define-public sbcl-cl-lex
8692 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
8693 (revision "1"))
8694 (package
8695 (name "sbcl-cl-lex")
8696 (version (git-version "1.1.3" revision commit))
8697 (source
8698 (origin
8699 (method git-fetch)
8700 (uri (git-reference
8701 (url "https://github.com/djr7C4/cl-lex")
8702 (commit commit)))
8703 (file-name (git-file-name name version))
8704 (sha256
8705 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
8706 (build-system asdf-build-system/sbcl)
8707 (inputs
8708 `(("cl-ppcre" ,sbcl-cl-ppcre)))
8709 (synopsis "Common Lisp macros for generating lexical analyzers")
8710 (description
8711 "This is a Common Lisp library providing a set of macros for generating
8712 lexical analyzers automatically. The lexers generated using @code{cl-lex} can
8713 be used with @code{cl-yacc}.")
8714 (home-page "https://github.com/djr7C4/cl-lex")
8715 (license license:gpl3))))
8716
8717 (define-public cl-lex
8718 (sbcl-package->cl-source-package sbcl-cl-lex))
8719
8720 (define-public ecl-cl-lex
8721 (sbcl-package->ecl-package sbcl-cl-lex))
8722
8723 (define-public sbcl-clunit2
8724 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
8725 (revision "1"))
8726 (package
8727 (name "sbcl-clunit2")
8728 (version (git-version "0.2.4" revision commit))
8729 (source
8730 (origin
8731 (method git-fetch)
8732 (uri (git-reference
8733 (url "https://notabug.org/cage/clunit2.git")
8734 (commit commit)))
8735 (file-name (git-file-name name version))
8736 (sha256
8737 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
8738 (build-system asdf-build-system/sbcl)
8739 (synopsis "Unit testing framework for Common Lisp")
8740 (description
8741 "CLUnit is a Common Lisp unit testing framework. It is designed to be
8742 easy to use so that you can quickly start testing.")
8743 (home-page "https://notabug.org/cage/clunit2")
8744 (license license:expat))))
8745
8746 (define-public cl-clunit2
8747 (sbcl-package->cl-source-package sbcl-clunit2))
8748
8749 (define-public ecl-clunit2
8750 (sbcl-package->ecl-package sbcl-clunit2))
8751
8752 (define-public sbcl-cl-colors2
8753 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
8754 (revision "1"))
8755 (package
8756 (name "sbcl-cl-colors2")
8757 (version (git-version "0.2.1" revision commit))
8758 (source
8759 (origin
8760 (method git-fetch)
8761 (uri (git-reference
8762 (url "https://notabug.org/cage/cl-colors2.git")
8763 (commit commit)))
8764 (file-name (git-file-name name version))
8765 (sha256
8766 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
8767 (build-system asdf-build-system/sbcl)
8768 (native-inputs
8769 `(("clunit2" ,sbcl-clunit2)))
8770 (inputs
8771 `(("alexandria" ,sbcl-alexandria)
8772 ("cl-ppcre" ,sbcl-cl-ppcre)))
8773 (synopsis "Color library for Common Lisp")
8774 (description
8775 "This is a very simple color library for Common Lisp, providing:
8776
8777 @itemize
8778 @item Types for representing colors in HSV and RGB spaces.
8779 @item Simple conversion functions between the above types (and also
8780 hexadecimal representation for RGB).
8781 @item Some predefined colors (currently X11 color names -- of course
8782 the library does not depend on X11).
8783 @end itemize\n")
8784 (home-page "https://notabug.org/cage/cl-colors2")
8785 (license license:boost1.0))))
8786
8787 (define-public cl-colors2
8788 (sbcl-package->cl-source-package sbcl-cl-colors2))
8789
8790 (define-public ecl-cl-colors2
8791 (sbcl-package->ecl-package sbcl-cl-colors2))
8792
8793 (define-public sbcl-cl-jpeg
8794 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
8795 (revision "1"))
8796 (package
8797 (name "sbcl-cl-jpeg")
8798 (version (git-version "2.8" revision commit))
8799 (source
8800 (origin
8801 (method git-fetch)
8802 (uri (git-reference
8803 (url "https://github.com/sharplispers/cl-jpeg")
8804 (commit commit)))
8805 (file-name (git-file-name name version))
8806 (sha256
8807 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
8808 (build-system asdf-build-system/sbcl)
8809 (synopsis "JPEG image library for Common Lisp")
8810 (description
8811 "This is a baseline JPEG codec written in Common Lisp. It can be used
8812 for reading and writing JPEG image files.")
8813 (home-page "https://github.com/sharplispers/cl-jpeg")
8814 (license license:bsd-3))))
8815
8816 (define-public cl-jpeg
8817 (sbcl-package->cl-source-package sbcl-cl-jpeg))
8818
8819 (define-public ecl-cl-jpeg
8820 (sbcl-package->ecl-package sbcl-cl-jpeg))
8821
8822 (define-public sbcl-nodgui
8823 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
8824 (revision "1"))
8825 (package
8826 (name "sbcl-nodgui")
8827 (version (git-version "0.0.5" revision commit))
8828 (source
8829 (origin
8830 (method git-fetch)
8831 (uri (git-reference
8832 (url "https://notabug.org/cage/nodgui.git")
8833 (commit commit)))
8834 (file-name (git-file-name name version))
8835 (sha256
8836 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
8837 (build-system asdf-build-system/sbcl)
8838 (inputs
8839 `(("alexandria" ,sbcl-alexandria)
8840 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8841 ("cl-colors2" ,sbcl-cl-colors2)
8842 ("cl-jpeg" ,sbcl-cl-jpeg)
8843 ("cl-lex" ,sbcl-cl-lex)
8844 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
8845 ("cl-unicode" ,sbcl-cl-unicode)
8846 ("cl-yacc" ,sbcl-cl-yacc)
8847 ("clunit2" ,sbcl-clunit2)
8848 ("named-readtables" ,sbcl-named-readtables)
8849 ("parse-number" ,sbcl-parse-number)
8850 ("tk" ,tk)))
8851 (arguments
8852 `(#:phases (modify-phases %standard-phases
8853 (add-after 'unpack 'fix-paths
8854 (lambda* (#:key inputs #:allow-other-keys)
8855 (substitute* "src/wish-communication.lisp"
8856 (("#-freebsd \"wish\"")
8857 (string-append "#-freebsd \""
8858 (assoc-ref inputs "tk")
8859 "/bin/wish\"")))
8860 #t)))))
8861 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
8862 (description
8863 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
8864 toolkit. It also provides a few additional widgets more than the standard Tk
8865 ones.")
8866 (home-page "https://www.autistici.org/interzona/nodgui.html")
8867 (license license:llgpl))))
8868
8869 (define-public cl-nodgui
8870 (sbcl-package->cl-source-package sbcl-nodgui))
8871
8872 (define-public ecl-nodgui
8873 (sbcl-package->ecl-package sbcl-nodgui))
8874
8875 (define-public sbcl-salza2
8876 (package
8877 (name "sbcl-salza2")
8878 (version "2.0.9")
8879 (source
8880 (origin
8881 (method git-fetch)
8882 (uri (git-reference
8883 (url "https://github.com/xach/salza2")
8884 (commit (string-append "release-" version))))
8885 (file-name (git-file-name name version))
8886 (sha256
8887 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
8888 (build-system asdf-build-system/sbcl)
8889 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
8890 (description
8891 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
8892 deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
8893 respectively.")
8894 (home-page "https://www.xach.com/lisp/salza2/")
8895 (license license:bsd-2)))
8896
8897 (define-public cl-salza2
8898 (sbcl-package->cl-source-package sbcl-salza2))
8899
8900 (define-public ecl-salza2
8901 (sbcl-package->ecl-package sbcl-salza2))
8902
8903 (define-public sbcl-origin
8904 (let ((commit "d646134302456408d6d43580bb05299f1695ab8e")
8905 (revision "1"))
8906 (package
8907 (name "sbcl-origin")
8908 (version (git-version "2.0.0" revision commit))
8909 (source
8910 (origin
8911 (method git-fetch)
8912 (uri (git-reference
8913 (url "https://git.mfiano.net/mfiano/origin")
8914 (commit commit)))
8915 (file-name (git-file-name "origin" version))
8916 (sha256
8917 (base32 "1n9aszaif3yh8prs5r8v51fbj4r5jd1a048mivd5yij3hplkm82b"))))
8918 (build-system asdf-build-system/sbcl)
8919 (native-inputs
8920 `(("parachute" ,sbcl-parachute)))
8921 (inputs
8922 `(("golden-utils" ,sbcl-golden-utils)
8923 ("specialization-store" ,sbcl-specialization-store)))
8924 (home-page "https://git.mfiano.net/mfiano/origin")
8925 (synopsis "Common Lisp graphics math library")
8926 (description
8927 "This is a native Common Lisp graphics math library with an emphasis on
8928 performance and correctness.")
8929 (license license:expat))))
8930
8931 (define-public ecl-origin
8932 (sbcl-package->ecl-package sbcl-origin))
8933
8934 (define-public cl-origin
8935 (sbcl-package->cl-source-package sbcl-origin))
8936
8937 (define-public sbcl-png-read
8938 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
8939 (revision "1"))
8940 (package
8941 (name "sbcl-png-read")
8942 (version (git-version "0.3.1" revision commit))
8943 (source
8944 (origin
8945 (method git-fetch)
8946 (uri (git-reference
8947 (url "https://github.com/Ramarren/png-read")
8948 (commit commit)))
8949 (file-name (git-file-name name version))
8950 (sha256
8951 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
8952 (build-system asdf-build-system/sbcl)
8953 (inputs
8954 `(("babel" ,sbcl-babel)
8955 ("chipz" ,sbcl-chipz)
8956 ("iterate" ,sbcl-iterate)))
8957 (synopsis "PNG decoder for Common Lisp")
8958 (description "This is a Common Lisp library for reading PNG images.")
8959 (home-page "https://github.com/Ramarren/png-read")
8960 (license license:bsd-3))))
8961
8962 (define-public cl-png-read
8963 (sbcl-package->cl-source-package sbcl-png-read))
8964
8965 (define-public ecl-png-read
8966 (sbcl-package->ecl-package sbcl-png-read))
8967
8968 (define-public sbcl-3b-bmfont
8969 (let ((commit "d1b5bec0de580c2d08ec947a93c56b1400f2a37a")
8970 (revision "1"))
8971 (package
8972 (name "sbcl-3b-bmfont")
8973 (version (git-version "0.0.1" revision commit))
8974 (source
8975 (origin
8976 (method git-fetch)
8977 (uri (git-reference
8978 (url "https://github.com/3b/3b-bmfont/")
8979 (commit commit)))
8980 (file-name (git-file-name "3b-bmfont" version))
8981 (sha256
8982 (base32 "12sgf7m0h6fqzhvkas7vmci6mprj3j3fnz778jlbqbsydln6v2yc"))))
8983 (build-system asdf-build-system/sbcl)
8984 (arguments
8985 `(#:asd-systems
8986 '("3b-bmfont"
8987 "3b-bmfont/text"
8988 "3b-bmfont/common"
8989 "3b-bmfont/xml"
8990 "3b-bmfont/json")))
8991 (inputs
8992 `(("alexandria" ,sbcl-alexandria)
8993 ("cxml" ,sbcl-cxml)
8994 ("flexi-streams" ,sbcl-flexi-streams)
8995 ("jsown" ,sbcl-jsown)
8996 ("split-sequence" ,sbcl-split-sequence)))
8997 (home-page "https://github.com/3b/3b-bmfont/")
8998 (synopsis "Read/write bmfont metadata files")
8999 (description
9000 "This is a Common Lisp library which provides functionality to
9001 read/write Bit Map Font (BMF) into text, JSON and XML.")
9002 (license license:expat))))
9003
9004 (define-public ecl-3b-bmfont
9005 (sbcl-package->ecl-package sbcl-3b-bmfont))
9006
9007 (define-public cl-3b-bmfont
9008 (sbcl-package->cl-source-package sbcl-3b-bmfont))
9009
9010 (define-public sbcl-zpng
9011 (package
9012 (name "sbcl-zpng")
9013 (version "1.2.2")
9014 (source
9015 (origin
9016 (method git-fetch)
9017 (uri (git-reference
9018 (url "https://github.com/xach/zpng")
9019 (commit (string-append "release-" version))))
9020 (file-name (git-file-name name version))
9021 (sha256
9022 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
9023 (build-system asdf-build-system/sbcl)
9024 (inputs
9025 `(("salza2" ,sbcl-salza2)))
9026 (synopsis "PNG encoder for Common Lisp")
9027 (description "This is a Common Lisp library for creating PNG images.")
9028 (home-page "https://www.xach.com/lisp/zpng/")
9029 (license license:bsd-2)))
9030
9031 (define-public cl-zpng
9032 (sbcl-package->cl-source-package sbcl-zpng))
9033
9034 (define-public ecl-zpng
9035 (sbcl-package->ecl-package sbcl-zpng))
9036
9037 (define-public sbcl-cl-qrencode
9038 (package
9039 (name "sbcl-cl-qrencode")
9040 (version "0.1.2")
9041 (source
9042 (origin
9043 (method git-fetch)
9044 (uri (git-reference
9045 (url "https://github.com/jnjcc/cl-qrencode")
9046 (commit (string-append "v" version))))
9047 (file-name (git-file-name name version))
9048 (sha256
9049 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
9050 (build-system asdf-build-system/sbcl)
9051 (native-inputs
9052 `(("lisp-unit" ,sbcl-lisp-unit)))
9053 (inputs
9054 `(("zpng" ,sbcl-zpng)))
9055 (synopsis "QR code encoder for Common Lisp")
9056 (description
9057 "This Common Lisp library provides function to make QR codes and to save
9058 them as PNG files.")
9059 (home-page "https://github.com/jnjcc/cl-qrencode")
9060 (license license:gpl2+)))
9061
9062 (define-public cl-qrencode
9063 (sbcl-package->cl-source-package sbcl-cl-qrencode))
9064
9065 (define-public ecl-cl-qrencode
9066 (sbcl-package->ecl-package sbcl-cl-qrencode))
9067
9068 (define-public sbcl-hdf5-cffi
9069 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
9070 (revision "1"))
9071 (package
9072 (name "sbcl-hdf5-cffi")
9073 (version (git-version "1.8.18" revision commit))
9074 (source
9075 (origin
9076 (method git-fetch)
9077 (uri (git-reference
9078 (url "https://github.com/hdfgroup/hdf5-cffi")
9079 (commit commit)))
9080 (file-name (git-file-name name version))
9081 (sha256
9082 (base32
9083 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
9084 (build-system asdf-build-system/sbcl)
9085 (synopsis "Common Lisp bindings for the HDF5 library")
9086 (description
9087 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
9088 (home-page "https://github.com/hdfgroup/hdf5-cffi")
9089 (license (license:non-copyleft
9090 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
9091 commit
9092 "/LICENSE")))
9093 (inputs
9094 `(("cffi" ,sbcl-cffi)
9095 ("hdf5" ,hdf5-1.10)))
9096 (native-inputs
9097 `(("fiveam" ,sbcl-fiveam)))
9098 (arguments
9099 `(#:test-asd-file "hdf5-cffi.test.asd"
9100 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
9101 ;; I don't know if there is a way to tell asdf-build-system to load
9102 ;; an additional system first, so tests are disabled.
9103 #:tests? #f
9104 #:phases
9105 (modify-phases %standard-phases
9106 (add-after 'unpack 'fix-paths
9107 (lambda* (#:key inputs #:allow-other-keys)
9108 (substitute* "src/library.lisp"
9109 (("libhdf5.so")
9110 (string-append
9111 (assoc-ref inputs "hdf5")
9112 "/lib/libhdf5.so")))))
9113 (add-after 'unpack 'fix-dependencies
9114 (lambda* (#:key inputs #:allow-other-keys)
9115 (substitute* "hdf5-cffi.asd"
9116 ((":depends-on \\(:cffi\\)")
9117 ":depends-on (:cffi :cffi-grovel)"))
9118 (substitute* "hdf5-cffi.test.asd"
9119 ((":depends-on \\(:cffi :hdf5-cffi")
9120 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
9121
9122 (define-public cl-hdf5-cffi
9123 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
9124
9125 (define-public ecl-hdf5-cffi
9126 (sbcl-package->ecl-package sbcl-hdf5-cffi))
9127
9128 (define-public sbcl-cl-randist
9129 (package
9130 (name "sbcl-cl-randist")
9131 (version "0.4.2")
9132 (source
9133 (origin
9134 (method git-fetch)
9135 (uri (git-reference
9136 (url "https://github.com/lvaruzza/cl-randist")
9137 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
9138 (file-name (git-file-name name version))
9139 (sha256
9140 (base32
9141 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
9142 (build-system asdf-build-system/sbcl)
9143 (synopsis "Random distributions for Common Lisp")
9144 (description
9145 "Manual translation from C to Common Lisp of some random number
9146 generation functions from the GSL library.")
9147 (home-page "https://github.com/lvaruzza/cl-randist")
9148 (license license:bsd-2)
9149 (arguments
9150 `(#:tests? #f))))
9151
9152 (define-public cl-randist
9153 (sbcl-package->cl-source-package sbcl-cl-randist))
9154
9155 (define-public ecl-cl-randist
9156 (sbcl-package->ecl-package sbcl-cl-randist))
9157
9158 (define-public sbcl-float-features
9159 (package
9160 (name "sbcl-float-features")
9161 (version "1.0.0")
9162 (source
9163 (origin
9164 (method git-fetch)
9165 (uri (git-reference
9166 (url "https://github.com/Shinmera/float-features")
9167 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
9168 (file-name (git-file-name name version))
9169 (sha256
9170 (base32
9171 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
9172 (build-system asdf-build-system/sbcl)
9173 (synopsis "Common Lisp IEEE float portability library")
9174 (description
9175 "Portability library for IEEE float features that are not
9176 covered by the Common Lisp standard.")
9177 (home-page "https://github.com/Shinmera/float-features")
9178 (license license:zlib)
9179 (inputs
9180 `(("documentation-utils" ,sbcl-documentation-utils)))
9181 (arguments
9182 `(#:tests? #f))))
9183
9184 (define-public cl-float-features
9185 (sbcl-package->cl-source-package sbcl-float-features))
9186
9187 (define-public ecl-float-features
9188 (sbcl-package->ecl-package sbcl-float-features))
9189
9190 (define-public sbcl-function-cache
9191 (package
9192 (name "sbcl-function-cache")
9193 (version "1.0.3")
9194 (source
9195 (origin
9196 (method git-fetch)
9197 (uri (git-reference
9198 (url "https://github.com/AccelerationNet/function-cache")
9199 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
9200 (file-name (git-file-name name version))
9201 (sha256
9202 (base32
9203 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
9204 (build-system asdf-build-system/sbcl)
9205 (synopsis "Function caching / memoization library for Common Lisp")
9206 (description
9207 "A common lisp library that provides extensible function result
9208 caching based on arguments (an expanded form of memoization).")
9209 (home-page "https://github.com/AccelerationNet/function-cache")
9210 (license
9211 (license:non-copyleft
9212 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
9213 (inputs
9214 `(("alexandria" ,sbcl-alexandria)
9215 ("cl-interpol" ,sbcl-cl-interpol)
9216 ("iterate" ,sbcl-iterate)
9217 ("symbol-munger" ,sbcl-symbol-munger)
9218 ("closer-mop" ,sbcl-closer-mop)))
9219 (arguments
9220 `(#:tests? #f))))
9221
9222 (define-public cl-function-cache
9223 (sbcl-package->cl-source-package sbcl-function-cache))
9224
9225 (define-public ecl-function-cache
9226 (sbcl-package->ecl-package sbcl-function-cache))
9227
9228 (define-public sbcl-type-r
9229 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
9230 (revision "1"))
9231 (package
9232 (name "sbcl-type-r")
9233 (version (git-version "0.0.0" revision commit))
9234 (source
9235 (origin
9236 (method git-fetch)
9237 (uri (git-reference
9238 (url "https://github.com/guicho271828/type-r")
9239 (commit commit)))
9240 (file-name (git-file-name name version))
9241 (sha256
9242 (base32
9243 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
9244 (build-system asdf-build-system/sbcl)
9245 (synopsis "Parser interface for Common Lisp built-in compound types")
9246 (description
9247 "Collections of accessor functions and patterns to access
9248 the elements in compound type specifier, e.g. @code{dimensions} in
9249 @code{(array element-type dimensions)}")
9250 (home-page "https://github.com/guicho271828/type-r")
9251 (license license:lgpl3+)
9252 (inputs
9253 `(("trivia" ,sbcl-trivia)
9254 ("alexandria" ,sbcl-alexandria)))
9255 (native-inputs
9256 `(("fiveam" ,sbcl-fiveam)))
9257 (arguments
9258 `(#:test-asd-file "type-r.test.asd")))))
9259
9260 (define-public cl-type-r
9261 (sbcl-package->cl-source-package sbcl-type-r))
9262
9263 (define-public ecl-type-r
9264 (sbcl-package->ecl-package sbcl-type-r))
9265
9266 (define-public sbcl-trivialib-type-unify
9267 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
9268 (revision "1"))
9269 (package
9270 (name "sbcl-trivialib-type-unify")
9271 (version (git-version "0.1" revision commit))
9272 (source
9273 (origin
9274 (method git-fetch)
9275 (uri (git-reference
9276 (url "https://github.com/guicho271828/trivialib.type-unify")
9277 (commit commit)))
9278 (file-name (git-file-name name version))
9279 (sha256
9280 (base32
9281 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
9282 (build-system asdf-build-system/sbcl)
9283 (synopsis "Common Lisp type unification")
9284 (description
9285 "Unifies a parametrized type specifier against an actual type specifier.
9286 Importantly, it handles complicated array-subtypes and number-related types
9287 correctly.")
9288 (home-page "https://github.com/guicho271828/trivialib.type-unify")
9289 (license license:lgpl3+)
9290 (inputs
9291 `(("alexandria" ,sbcl-alexandria)
9292 ("trivia" ,sbcl-trivia)
9293 ("introspect-environment" ,sbcl-introspect-environment)
9294 ("type-r" ,sbcl-type-r)))
9295 (native-inputs
9296 `(("fiveam" ,sbcl-fiveam)))
9297 (arguments
9298 `(#:asd-systems '("trivialib.type-unify")
9299 #:test-asd-file "trivialib.type-unify.test.asd")))))
9300
9301 (define-public cl-trivialib-type-unify
9302 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
9303
9304 (define-public ecl-trivialib-type-unify
9305 (sbcl-package->ecl-package sbcl-trivialib-type-unify))
9306
9307 (define-public sbcl-specialized-function
9308 (let ((commit "dee56d2d2b6ecd10500ad291c56217698604ec35")
9309 (revision "2"))
9310 (package
9311 (name "sbcl-specialized-function")
9312 (version (git-version "0.0.0" revision commit))
9313 (source
9314 (origin
9315 (method git-fetch)
9316 (uri (git-reference
9317 (url "https://github.com/numcl/specialized-function")
9318 (commit commit)))
9319 (file-name (git-file-name name version))
9320 (sha256
9321 (base32 "1mcc7mmpbnmgnr1cl2jl5r1ai54gn7fbisv2c14sh9za5w4sib82"))))
9322 (build-system asdf-build-system/sbcl)
9323 (synopsis "Julia-like dispatch for Common Lisp")
9324 (description
9325 "This library is part of NUMCL. It provides a macro
9326 @code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
9327 lazily compiling a type-specific version of the function from the same
9328 code. The main target of this macro is speed.")
9329 (home-page "https://github.com/numcl/specialized-function")
9330 (license license:lgpl3+)
9331 (inputs
9332 `(("trivia" ,sbcl-trivia)
9333 ("alexandria" ,sbcl-alexandria)
9334 ("iterate" ,sbcl-iterate)
9335 ("lisp-namespace" ,sbcl-lisp-namespace)
9336 ("type-r" ,sbcl-type-r)
9337 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
9338 (native-inputs
9339 `(("fiveam" ,sbcl-fiveam)))
9340 (arguments
9341 `(#:asd-files '("specialized-function.asd")
9342 #:test-asd-file "specialized-function.test.asd"
9343 ;; Tests fail because they try to use an internal symbol of SBCL
9344 ;; that does not exists in recent versions:
9345 ;; "The variable SB-VM:COMPLEX-VECTOR-NIL-WIDETAG is unbound."
9346 #:tests? #f)))))
9347
9348 (define-public cl-specialized-function
9349 (sbcl-package->cl-source-package sbcl-specialized-function))
9350
9351 (define-public ecl-specialized-function
9352 (sbcl-package->ecl-package sbcl-specialized-function))
9353
9354 (define-public sbcl-constantfold
9355 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
9356 (revision "1"))
9357 (package
9358 (name "sbcl-constantfold")
9359 (version (git-version "0.1" revision commit))
9360 (source
9361 (origin
9362 (method git-fetch)
9363 (uri (git-reference
9364 (url "https://github.com/numcl/constantfold")
9365 (commit commit)))
9366 (file-name (git-file-name name version))
9367 (sha256
9368 (base32
9369 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
9370 (build-system asdf-build-system/sbcl)
9371 (synopsis "Support library for numcl")
9372 (description
9373 "Support library for numcl. Registers a function as an
9374 additional form that is considered as a candidate for a constant.")
9375 (home-page "https://github.com/numcl/constantfold")
9376 (license license:lgpl3+)
9377 (inputs
9378 `(("trivia" ,sbcl-trivia)
9379 ("alexandria" ,sbcl-alexandria)
9380 ("iterate" ,sbcl-iterate)
9381 ("lisp-namespace" ,sbcl-lisp-namespace)))
9382 (native-inputs
9383 `(("fiveam" ,sbcl-fiveam)))
9384 (arguments
9385 `(#:asd-files '("constantfold.asd")
9386 #:test-asd-file "constantfold.test.asd")))))
9387
9388 (define-public cl-constantfold
9389 (sbcl-package->cl-source-package sbcl-constantfold))
9390
9391 (define-public ecl-constantfold
9392 (sbcl-package->ecl-package sbcl-constantfold))
9393
9394 (define-public sbcl-gtype
9395 (let ((commit "2442e32485635525af278ebd8fa69a27d5b8cf18")
9396 (revision "2"))
9397 (package
9398 (name "sbcl-gtype")
9399 (version (git-version "0.1" revision commit))
9400 (source
9401 (origin
9402 (method git-fetch)
9403 (uri (git-reference
9404 (url "https://github.com/numcl/gtype")
9405 (commit commit)))
9406 (file-name (git-file-name name version))
9407 (sha256
9408 (base32 "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h"))))
9409 (build-system asdf-build-system/sbcl)
9410 (synopsis "C++/Julia-like parametric types in Common Lisp")
9411 (description
9412 "Support library for numcl that provides Julia-like runtime parametric
9413 type correctness in Common Lisp. It is based on CLtL2 extensions.")
9414 (home-page "https://github.com/numcl/gtype")
9415 (license license:lgpl3+)
9416 (inputs
9417 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
9418 ("trivial-cltl2" ,sbcl-trivial-cltl2)
9419 ("trivia" ,sbcl-trivia)
9420 ("alexandria" ,sbcl-alexandria)
9421 ("iterate" ,sbcl-iterate)
9422 ("type-r" ,sbcl-type-r)))
9423 (native-inputs
9424 `(("fiveam" ,sbcl-fiveam)))
9425 (arguments
9426 `(#:asd-files '("gtype.asd")
9427 #:test-asd-file "gtype.test.asd")))))
9428
9429 (define-public cl-gtype
9430 (sbcl-package->cl-source-package sbcl-gtype))
9431
9432 (define-public ecl-gtype
9433 (let ((pkg (sbcl-package->ecl-package sbcl-gtype)))
9434 (package
9435 (inherit pkg)
9436 (arguments
9437 (substitute-keyword-arguments (package-arguments pkg)
9438 ;; The tests fail on ECL with a COMPILE-FILE-ERROR for t/package.lisp.
9439 ((#:tests? _ #f) #f))))))
9440
9441 (define-public sbcl-numcl
9442 (let ((commit "3e8d40bf774e070e7af1d3dbf01bc8c37dbebd3a")
9443 (revision "2"))
9444 (package
9445 (name "sbcl-numcl")
9446 (version (git-version "0.1.0" revision commit))
9447 (source
9448 (origin
9449 (method git-fetch)
9450 (uri (git-reference
9451 (url "https://github.com/numcl/numcl")
9452 (commit commit)))
9453 (file-name (git-file-name name version))
9454 (sha256
9455 (base32 "1hqpr68f6xkxaj1hjjayyh97wcdmj51k20qrd3nsv1rcpmdc5ll4"))))
9456 (build-system asdf-build-system/sbcl)
9457 (synopsis "Numpy clone in Common Lisp")
9458 (description
9459 "This is a Numpy clone in Common Lisp. At the moment the
9460 library is written in pure Common Lisp, focusing more on correctness
9461 and usefulness, not speed. Track the progress at
9462 @url{https://github.com/numcl/numcl/projects/1}.")
9463 (home-page "https://github.com/numcl/numcl")
9464 (license license:lgpl3+)
9465 (inputs
9466 `(("trivia" ,sbcl-trivia)
9467 ("alexandria" ,sbcl-alexandria)
9468 ("iterate" ,sbcl-iterate)
9469 ("lisp-namespace" ,sbcl-lisp-namespace)
9470 ("type-r" ,sbcl-type-r)
9471 ("constantfold" ,sbcl-constantfold)
9472 ("cl-randist" ,sbcl-cl-randist)
9473 ("float-features" ,sbcl-float-features)
9474 ("function-cache" ,sbcl-function-cache)
9475 ("specialized-function" ,sbcl-specialized-function)
9476 ("gtype" ,sbcl-gtype)))
9477 (native-inputs
9478 `(("fiveam" ,sbcl-fiveam)))
9479 (arguments
9480 `(#:asd-files '("numcl.asd")
9481 #:test-asd-file "numcl.test.asd"
9482 ;; Tests fail on SBCL with "Heap exhausted, game over",
9483 ;; but they pass on ECL.
9484 #:tests? #f)))))
9485
9486 (define-public cl-numcl
9487 (sbcl-package->cl-source-package sbcl-numcl))
9488
9489 (define-public ecl-numcl
9490 (let ((pkg (sbcl-package->ecl-package sbcl-numcl)))
9491 (package
9492 (inherit pkg)
9493 (arguments
9494 (substitute-keyword-arguments (package-arguments pkg)
9495 ((#:tests? _ #f) #t))))))
9496
9497 (define-public sbcl-pzmq
9498 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
9499 (revision "1"))
9500 (package
9501 (name "sbcl-pzmq")
9502 (version (git-version "0.0.0" revision commit))
9503 (source
9504 (origin
9505 (method git-fetch)
9506 (uri (git-reference
9507 (url "https://github.com/orivej/pzmq")
9508 (commit commit)))
9509 (file-name (git-file-name name version))
9510 (sha256
9511 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
9512 (build-system asdf-build-system/sbcl)
9513 (native-inputs
9514 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9515 ("fiveam" ,sbcl-fiveam)
9516 ("let-plus" ,sbcl-let-plus)))
9517 (inputs
9518 `(("cffi" ,sbcl-cffi)
9519 ("zeromq" ,zeromq)))
9520 (arguments
9521 `(#:phases (modify-phases %standard-phases
9522 (add-after 'unpack 'fix-paths
9523 (lambda* (#:key inputs #:allow-other-keys)
9524 (substitute* "c-api.lisp"
9525 (("\"libzmq")
9526 (string-append "\""
9527 (assoc-ref inputs "zeromq")
9528 "/lib/libzmq")))
9529 #t)))))
9530 (synopsis "Common Lisp bindings for the ZeroMQ library")
9531 (description "This Common Lisp library provides bindings for the ZeroMQ
9532 lightweight messaging kernel.")
9533 (home-page "https://github.com/orivej/pzmq")
9534 (license license:unlicense))))
9535
9536 (define-public cl-pzmq
9537 (sbcl-package->cl-source-package sbcl-pzmq))
9538
9539 (define-public ecl-pzmq
9540 (sbcl-package->ecl-package sbcl-pzmq))
9541
9542 (define-public sbcl-clss
9543 (let ((revision "1")
9544 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
9545 (package
9546 (name "sbcl-clss")
9547 (version (git-version "0.3.1" revision commit))
9548 (source
9549 (origin
9550 (method git-fetch)
9551 (uri
9552 (git-reference
9553 (url "https://github.com/Shinmera/clss")
9554 (commit commit)))
9555 (sha256
9556 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
9557 (file-name (git-file-name name version))))
9558 (inputs
9559 `(("array-utils" ,sbcl-array-utils)
9560 ("plump" ,sbcl-plump)))
9561 (build-system asdf-build-system/sbcl)
9562 (synopsis "DOM tree searching engine based on CSS selectors")
9563 (description "CLSS is a DOM traversal engine based on CSS
9564 selectors. It makes use of the Plump-DOM and is used by lQuery.")
9565 (home-page "https://github.com/Shinmera/clss")
9566 (license license:zlib))))
9567
9568 (define-public cl-clss
9569 (sbcl-package->cl-source-package sbcl-clss))
9570
9571 (define-public ecl-clss
9572 (sbcl-package->ecl-package sbcl-clss))
9573
9574 (define-public sbcl-lquery
9575 (let ((revision "1")
9576 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
9577 (package
9578 (name "sbcl-lquery")
9579 (version (git-version "3.2.1" revision commit))
9580 (source
9581 (origin
9582 (method git-fetch)
9583 (uri
9584 (git-reference
9585 (url "https://github.com/Shinmera/lquery")
9586 (commit commit)))
9587 (sha256
9588 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
9589 (file-name (git-file-name name version))))
9590 (native-inputs
9591 `(("fiveam" ,sbcl-fiveam)))
9592 (inputs
9593 `(("array-utils" ,sbcl-array-utils)
9594 ("form-fiddle" ,sbcl-form-fiddle)
9595 ("plump" ,sbcl-plump)
9596 ("clss" ,sbcl-clss)))
9597 (build-system asdf-build-system/sbcl)
9598 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
9599 (description "@code{lQuery} is a DOM manipulation library written in
9600 Common Lisp, inspired by and based on the jQuery syntax and
9601 functions. It uses Plump and CLSS as DOM and selector engines. The
9602 main idea behind lQuery is to provide a simple interface for crawling
9603 and modifying HTML sites, as well as to allow for an alternative
9604 approach to templating.")
9605 (home-page "https://github.com/Shinmera/lquery")
9606 (license license:zlib))))
9607
9608 (define-public cl-lquery
9609 (sbcl-package->cl-source-package sbcl-lquery))
9610
9611 (define-public ecl-lquery
9612 (sbcl-package->ecl-package sbcl-lquery))
9613
9614 (define-public sbcl-cl-mysql
9615 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
9616 (revision "1"))
9617 (package
9618 (name "sbcl-cl-mysql")
9619 (version (git-version "0.1" revision commit))
9620 (source
9621 (origin
9622 (method git-fetch)
9623 (uri (git-reference
9624 (url "https://github.com/hackinghat/cl-mysql")
9625 (commit commit)))
9626 (file-name (git-file-name name version))
9627 (sha256
9628 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
9629 (build-system asdf-build-system/sbcl)
9630 (native-inputs
9631 `(("stefil" ,sbcl-stefil)))
9632 (inputs
9633 `(("cffi" ,sbcl-cffi)
9634 ("mariadb-lib" ,mariadb "lib")))
9635 (arguments
9636 `(#:tests? #f ; TODO: Tests require a running server
9637 #:phases
9638 (modify-phases %standard-phases
9639 (add-after 'unpack 'fix-paths
9640 (lambda* (#:key inputs #:allow-other-keys)
9641 (substitute* "system.lisp"
9642 (("libmysqlclient_r" all)
9643 (string-append (assoc-ref inputs "mariadb-lib")
9644 "/lib/"
9645 all)))
9646 #t)))))
9647 (synopsis "Common Lisp wrapper for MySQL")
9648 (description
9649 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
9650 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
9651 (license license:expat))))
9652
9653 (define-public cl-mysql
9654 (sbcl-package->cl-source-package sbcl-cl-mysql))
9655
9656 (define-public ecl-cl-mysql
9657 (sbcl-package->ecl-package sbcl-cl-mysql))
9658
9659 (define-public sbcl-postmodern
9660 (package
9661 (name "sbcl-postmodern")
9662 (version "1.32.8")
9663 (source
9664 (origin
9665 (method git-fetch)
9666 (uri (git-reference
9667 (url "https://github.com/marijnh/Postmodern")
9668 (commit (string-append "v" version))))
9669 (file-name (git-file-name name version))
9670 (sha256
9671 (base32 "0vr5inbr8dldf6dsl0qj3h2yrnnsayzfwxfzwkn1pk7xbns2l78q"))))
9672 (build-system asdf-build-system/sbcl)
9673 (native-inputs
9674 `(("fiveam" ,sbcl-fiveam)))
9675 (inputs
9676 `(("alexandria" ,sbcl-alexandria)
9677 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9678 ("cl-base64" ,sbcl-cl-base64)
9679 ("cl-unicode" ,sbcl-cl-unicode)
9680 ("closer-mop" ,sbcl-closer-mop)
9681 ("global-vars" ,sbcl-global-vars)
9682 ("ironclad" ,sbcl-ironclad)
9683 ("local-time" ,sbcl-local-time)
9684 ("md5" ,sbcl-md5)
9685 ("split-sequence" ,sbcl-split-sequence)
9686 ("uax-15" ,sbcl-uax-15)
9687 ("usocket" ,sbcl-usocket)))
9688 (arguments
9689 ;; TODO: (Sharlatan-20210114T171037+0000) tests still failing but on other
9690 ;; step, some functionality in `local-time' prevents passing tests.
9691 ;; Error:
9692 ;;
9693 ;; Can't create directory
9694 ;; /gnu/store
9695 ;; /4f47agf1kyiz057ppy6x5p98i7mcbfsv-sbcl-local-time-1.0.6-2.a177eb9
9696 ;; /lib/common-lisp/sbcl/local-time/src/integration/
9697 ;;
9698 ;; NOTE: (Sharlatan-20210124T191940+0000): When set env HOME to /tmp above
9699 ;; issue is resolved but it required live test database to connect to now.
9700 ;; Keep tests switched off.
9701 `(#:tests? #f
9702 #:asd-systems '("cl-postgres"
9703 "s-sql"
9704 "postmodern"
9705 "simple-date"
9706 "simple-date/postgres-glue")))
9707 (synopsis "Common Lisp library for interacting with PostgreSQL")
9708 (description
9709 "@code{postmodern} is a Common Lisp library for interacting with
9710 PostgreSQL databases. It provides the following features:
9711
9712 @itemize
9713 @item Efficient communication with the database server without need for
9714 foreign libraries.
9715 @item Support for UTF-8 on Unicode-aware Lisp implementations.
9716 @item A syntax for mixing SQL and Lisp code.
9717 @item Convenient support for prepared statements and stored procedures.
9718 @item A metaclass for simple database-access objects.
9719 @end itemize\n
9720
9721 This package produces 4 systems: postmodern, cl-postgres, s-sql, simple-date
9722
9723 @code{SIMPLE-DATE} is a very basic implementation of date and time objects, used
9724 to support storing and retrieving time-related SQL types. It is not loaded by
9725 default and you can use local-time (which has support for timezones) instead.
9726
9727 @code{S-SQL} is used to compile s-expressions to strings of SQL code, escaping
9728 any Lisp values inside, and doing as much as possible of the work at compile
9729 time.
9730
9731 @code{CL-POSTGRES} is the low-level library used for interfacing with a PostgreSQL
9732 server over a socket.
9733
9734 @code{POSTMODERN} itself is a wrapper around these packages and provides higher
9735 level functions, a very simple data access object that can be mapped directly to
9736 database tables and some convient utilities. It then tries to put all these
9737 things together into a convenient programming interface")
9738 (home-page "https://marijnhaverbeke.nl/postmodern/")
9739 (license license:zlib)))
9740
9741 (define-public cl-postmodern
9742 (sbcl-package->cl-source-package sbcl-postmodern))
9743
9744 (define-public ecl-postmodern
9745 (package
9746 (inherit (sbcl-package->ecl-package sbcl-postmodern))
9747 (arguments
9748 `(#:tests? #f
9749 #:asd-systems '("cl-postgres"
9750 "s-sql"
9751 "postmodern"
9752 "simple-date"
9753 "simple-date/postgres-glue")
9754 #:phases
9755 (modify-phases %standard-phases
9756 (add-after 'unpack 'fix-build
9757 (lambda _
9758 (substitute* "cl-postgres.asd"
9759 ((":or :sbcl :allegro :ccl :clisp" all)
9760 (string-append all " :ecl")))
9761 #t)))))))
9762
9763 (define-public sbcl-db3
9764 (let ((commit "38e5ad35f025769fb7f8dcdc6e56df3e8efd8e6d")
9765 (revision "1"))
9766 (package
9767 (name "sbcl-db3")
9768 (version (git-version "0.0.0" revision commit))
9769 (source
9770 (origin
9771 (method git-fetch)
9772 (uri (git-reference
9773 (url "https://github.com/dimitri/cl-db3")
9774 (commit commit)))
9775 (file-name (git-file-name "cl-db3" version))
9776 (sha256
9777 (base32 "1i7j0mlri6kbklcx1lsm464s8kmyhhij5c4xh4aybrw8m4ixn1s5"))))
9778 (build-system asdf-build-system/sbcl)
9779 (home-page "https://github.com/dimitri/cl-db3")
9780 (synopsis "Common Lisp library to read dBase III database files")
9781 (description
9782 "This is a Common Lisp library for processing data found in dBase III
9783 database files (dbf and db3 files).")
9784 (license license:public-domain))))
9785
9786 (define-public ecl-db3
9787 (sbcl-package->ecl-package sbcl-db3))
9788
9789 (define-public cl-db3
9790 (sbcl-package->cl-source-package sbcl-db3))
9791
9792 (define-public sbcl-dbi
9793 ;; Master includes a breaking change which other packages depend on since
9794 ;; Quicklisp decided to follow it:
9795 ;; https://github.com/fukamachi/cl-dbi/commit/31c46869722f77fd5292a81b5b101f1347d7fce1
9796 (let ((commit "31c46869722f77fd5292a81b5b101f1347d7fce1"))
9797 (package
9798 (name "sbcl-dbi")
9799 (version (git-version "0.9.4" "1" commit))
9800 (source
9801 (origin
9802 (method git-fetch)
9803 (uri (git-reference
9804 (url "https://github.com/fukamachi/cl-dbi")
9805 (commit commit)))
9806 (file-name (git-file-name name version))
9807 (sha256
9808 (base32 "0r3n4rw12qqxad0cryym2ibm4ddl49gbq4ra227afibsr43nw5k3"))))
9809 (build-system asdf-build-system/sbcl)
9810 (native-inputs
9811 `(("rove" ,sbcl-rove)
9812 ("trivial-types" ,sbcl-trivial-types)))
9813 (inputs
9814 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9815 ("cl-mysql" ,sbcl-cl-mysql)
9816 ("cl-sqlite" ,sbcl-cl-sqlite)
9817 ("closer-mop" ,sbcl-closer-mop)
9818 ("postmodern" ,sbcl-postmodern)
9819 ("split-sequence" ,sbcl-split-sequence)
9820 ("trivial-garbage" ,sbcl-trivial-garbage)))
9821 (arguments
9822 `(#:asd-systems '("dbi"
9823 "dbd-mysql"
9824 "dbd-postgres"
9825 "dbd-sqlite3")))
9826 (synopsis "Database independent interface for Common Lisp")
9827 (description
9828 "@code{dbi} is a Common Lisp library providing a database independent
9829 interface for MySQL, PostgreSQL and SQLite.")
9830 (home-page "https://github.com/fukamachi/cl-dbi")
9831 (license license:llgpl))))
9832
9833 (define-public cl-dbi
9834 (sbcl-package->cl-source-package sbcl-dbi))
9835
9836 (define-public ecl-dbi
9837 (sbcl-package->ecl-package sbcl-dbi))
9838
9839 (define-public sbcl-uffi
9840 (package
9841 (name "sbcl-uffi")
9842 (version "2.1.2")
9843 (source
9844 (origin
9845 (method git-fetch)
9846 (uri (git-reference
9847 (url "http://git.kpe.io/uffi.git")
9848 (commit (string-append "v" version))))
9849 (file-name (git-file-name name version))
9850 (sha256
9851 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
9852 (build-system asdf-build-system/sbcl)
9853 (arguments
9854 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
9855 #:asd-files '("uffi.asd")
9856 #:phases
9857 (modify-phases %standard-phases
9858 (add-after 'unpack 'fix-permissions
9859 (lambda _
9860 (make-file-writable "doc/html.tar.gz")
9861 #t)))))
9862 (synopsis "Universal foreign function library for Common Lisp")
9863 (description
9864 "UFFI provides a universal foreign function interface (FFI)
9865 for Common Lisp.")
9866 (home-page "http://quickdocs.org/uffi/")
9867 (license license:llgpl)))
9868
9869 (define-public cl-uffi
9870 (package
9871 (inherit (sbcl-package->cl-source-package sbcl-uffi))
9872 (arguments
9873 `(#:phases
9874 ;; asdf-build-system/source has its own phases and does not inherit
9875 ;; from asdf-build-system/sbcl phases.
9876 (modify-phases %standard-phases/source
9877 ;; Already done in SBCL package.
9878 (delete 'reset-gzip-timestamps))))))
9879
9880 (define-public sbcl-clsql
9881 (package
9882 (name "sbcl-clsql")
9883 (version "6.7.0")
9884 (source
9885 (origin
9886 (method git-fetch)
9887 (uri (git-reference
9888 (url "http://git.kpe.io/clsql.git")
9889 (commit (string-append "v" version))))
9890 (file-name (git-file-name name version))
9891 (sha256
9892 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
9893 (snippet
9894 '(begin
9895 ;; Remove precompiled libraries.
9896 (delete-file "db-mysql/clsql_mysql.dll")
9897 (delete-file "uffi/clsql_uffi.dll")
9898 (delete-file "uffi/clsql_uffi.lib")
9899 #t))))
9900 (build-system asdf-build-system/sbcl)
9901 (native-inputs
9902 `(("rt" ,sbcl-rt)))
9903 (inputs
9904 `(("cffi" ,sbcl-cffi)
9905 ("md5" ,sbcl-md5)
9906 ("mysql" ,mysql)
9907 ("postgresql" ,postgresql)
9908 ("postmodern" ,sbcl-postmodern)
9909 ("sqlite" ,sqlite)
9910 ("uffi" ,sbcl-uffi)
9911 ("zlib" ,zlib)))
9912 (arguments
9913 `(#:asd-files '("clsql.asd"
9914 "clsql-uffi.asd"
9915 "clsql-sqlite3.asd"
9916 "clsql-postgresql.asd"
9917 "clsql-postgresql-socket3.asd"
9918 "clsql-mysql.asd")
9919 #:asd-systems '("clsql"
9920 "clsql-sqlite3"
9921 "clsql-postgresql"
9922 "clsql-postgresql-socket3"
9923 "clsql-mysql")
9924 #:phases
9925 (modify-phases %standard-phases
9926 (add-after 'unpack 'fix-permissions
9927 (lambda _
9928 (make-file-writable "doc/html.tar.gz")
9929 #t))
9930 (add-after 'unpack 'fix-build
9931 (lambda _
9932 (substitute* "clsql-uffi.asd"
9933 (("\\(:version uffi \"2.0\"\\)")
9934 "uffi"))
9935 (substitute* "db-postgresql/postgresql-api.lisp"
9936 (("\\(data :cstring\\)")
9937 "(data :string)"))
9938 #t))
9939 (add-after 'unpack 'fix-paths
9940 (lambda* (#:key inputs outputs #:allow-other-keys)
9941 (substitute* "db-sqlite3/sqlite3-loader.lisp"
9942 (("libsqlite3")
9943 (string-append (assoc-ref inputs "sqlite")
9944 "/lib/libsqlite3")))
9945 (substitute* "db-postgresql/postgresql-loader.lisp"
9946 (("libpq")
9947 (string-append (assoc-ref inputs "postgresql")
9948 "/lib/libpq")))
9949 (let ((lib (string-append "#p\""
9950 (assoc-ref outputs "out")
9951 "/lib/\"")))
9952 (substitute* "clsql-mysql.asd"
9953 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
9954 lib))
9955 (substitute* "db-mysql/mysql-loader.lisp"
9956 (("libmysqlclient" all)
9957 (string-append (assoc-ref inputs "mysql") "/lib/" all))
9958 (("clsql-mysql-system::\\*library-file-dir\\*")
9959 lib)))
9960 #t))
9961 (add-before 'build 'build-helper-library
9962 (lambda* (#:key inputs outputs #:allow-other-keys)
9963 (let* ((mysql (assoc-ref inputs "mysql"))
9964 (inc-dir (string-append mysql "/include/mysql"))
9965 (lib-dir (string-append mysql "/lib"))
9966 (shared-lib-dir (string-append (assoc-ref outputs "out")
9967 "/lib"))
9968 (shared-lib (string-append shared-lib-dir
9969 "/clsql_mysql.so")))
9970 (mkdir-p shared-lib-dir)
9971 (invoke "gcc" "-fPIC" "-shared"
9972 "-I" inc-dir
9973 "db-mysql/clsql_mysql.c"
9974 "-Wl,-soname=clsql_mysql"
9975 "-L" lib-dir "-lmysqlclient" "-lz"
9976 "-o" shared-lib)
9977 #t)))
9978 (add-after 'unpack 'fix-tests
9979 (lambda _
9980 (substitute* "clsql.asd"
9981 (("clsql-tests :force t")
9982 "clsql-tests"))
9983 #t)))))
9984 (synopsis "Common Lisp SQL Interface library")
9985 (description
9986 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
9987 Xanalys CommonSQL interface for Lispworks. It provides low-level database
9988 interfaces as well as a functional and an object oriented interface.")
9989 (home-page "http://clsql.kpe.io/")
9990 (license license:llgpl)))
9991
9992 (define-public cl-clsql
9993 (package
9994 (inherit (sbcl-package->cl-source-package sbcl-clsql))
9995 (native-inputs
9996 `(("rt" ,cl-rt)))
9997 (inputs
9998 `(("mysql" ,mysql)
9999 ("postgresql" ,postgresql)
10000 ("sqlite" ,sqlite)
10001 ("zlib" ,zlib)))
10002 (propagated-inputs
10003 `(("cffi" ,cl-cffi)
10004 ("md5" ,cl-md5)
10005 ("postmodern" ,cl-postmodern)
10006 ("uffi" ,cl-uffi)))
10007 (arguments
10008 `(#:phases
10009 ;; asdf-build-system/source has its own phases and does not inherit
10010 ;; from asdf-build-system/sbcl phases.
10011 (modify-phases %standard-phases/source
10012 (add-after 'unpack 'fix-permissions
10013 (lambda _
10014 (make-file-writable "doc/html.tar.gz")
10015 #t)))))))
10016
10017 (define-public ecl-clsql
10018 (let ((pkg (sbcl-package->ecl-package sbcl-clsql)))
10019 (package
10020 (inherit pkg)
10021 (inputs
10022 (alist-delete "uffi" (package-inputs pkg)))
10023 (arguments
10024 (substitute-keyword-arguments (package-arguments pkg)
10025 ((#:asd-files asd-files '())
10026 `(cons "clsql-cffi.asd" ,asd-files)))))))
10027
10028 (define-public sbcl-sycamore
10029 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
10030 (package
10031 (name "sbcl-sycamore")
10032 (version "0.0.20120604")
10033 (source
10034 (origin
10035 (method git-fetch)
10036 (uri (git-reference
10037 (url "https://github.com/ndantam/sycamore/")
10038 (commit commit)))
10039 (file-name (git-file-name name version))
10040 (sha256
10041 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
10042 (build-system asdf-build-system/sbcl)
10043 (inputs
10044 `(("alexandria" ,sbcl-alexandria)
10045 ("cl-ppcre" ,sbcl-cl-ppcre)))
10046 (synopsis "Purely functional data structure library in Common Lisp")
10047 (description
10048 "Sycamore is a fast, purely functional data structure library in Common Lisp.
10049 If features:
10050
10051 @itemize
10052 @item Fast, purely functional weight-balanced binary trees.
10053 @item Leaf nodes are simple-vectors, greatly reducing tree height.
10054 @item Interfaces for tree Sets and Maps (dictionaries).
10055 @item Ropes.
10056 @item Purely functional pairing heaps.
10057 @item Purely functional amortized queue.
10058 @end itemize\n")
10059 (home-page "http://ndantam.github.io/sycamore/")
10060 (license license:bsd-3))))
10061
10062 (define-public cl-sycamore
10063 (sbcl-package->cl-source-package sbcl-sycamore))
10064
10065 (define-public ecl-sycamore
10066 (sbcl-package->ecl-package sbcl-sycamore))
10067
10068 (define-public sbcl-trivial-package-local-nicknames
10069 (package
10070 (name "sbcl-trivial-package-local-nicknames")
10071 (version "0.2")
10072 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
10073 (source
10074 (origin
10075 (method git-fetch)
10076 (uri (git-reference
10077 (url home-page)
10078 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
10079 (file-name (git-file-name name version))
10080 (sha256
10081 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
10082 (build-system asdf-build-system/sbcl)
10083 (synopsis "Common Lisp compatibility library for package local nicknames")
10084 (description
10085 "This library is a portable compatibility layer around package local nicknames (PLN).
10086 This was done so there is a portability library for the PLN API not included
10087 in DEFPACKAGE.")
10088 (license license:unlicense)))
10089
10090 (define-public cl-trivial-package-local-nicknames
10091 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
10092
10093 (define-public ecl-trivial-package-local-nicknames
10094 (sbcl-package->ecl-package sbcl-trivial-package-local-nicknames))
10095
10096 (define-public sbcl-enchant
10097 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
10098 (package
10099 (name "sbcl-enchant")
10100 (version (git-version "0.0.0" "1" commit))
10101 (home-page "https://github.com/tlikonen/cl-enchant")
10102 (source
10103 (origin
10104 (method git-fetch)
10105 (uri (git-reference
10106 (url home-page)
10107 (commit commit)))
10108 (file-name (git-file-name name version))
10109 (sha256
10110 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
10111 (build-system asdf-build-system/sbcl)
10112 (inputs
10113 `(("enchant" ,enchant)
10114 ("cffi" ,sbcl-cffi)))
10115 (arguments
10116 `(#:phases
10117 (modify-phases %standard-phases
10118 (add-after 'unpack 'fix-paths
10119 (lambda* (#:key inputs #:allow-other-keys)
10120 (substitute* "load-enchant.lisp"
10121 (("libenchant")
10122 (string-append
10123 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
10124 (synopsis "Common Lisp interface for the Enchant spell-checker library")
10125 (description
10126 "Enchant is a Common Lisp interface for the Enchant spell-checker
10127 library. The Enchant library is a generic spell-checker library which uses
10128 other spell-checkers transparently as back-end. The library supports the
10129 multiple checkers, including Aspell and Hunspell.")
10130 (license license:public-domain))))
10131
10132 (define-public cl-enchant
10133 (sbcl-package->cl-source-package sbcl-enchant))
10134
10135 (define-public ecl-enchant
10136 (sbcl-package->ecl-package sbcl-enchant))
10137
10138 (define-public sbcl-cl-change-case
10139 (let ((commit "5ceff2a5f8bd845b6cb510c6364176b27a238fd3"))
10140 (package
10141 (name "sbcl-cl-change-case")
10142 (version (git-version "0.1.0" "1" commit))
10143 (home-page "https://github.com/rudolfochrist/cl-change-case")
10144 (source
10145 (origin
10146 (method git-fetch)
10147 (uri (git-reference
10148 (url home-page)
10149 (commit commit)))
10150 (file-name (git-file-name name version))
10151 (sha256
10152 (base32 "1afyglglk9z3yg8gylcl301bl2r8vq3sllyznzj9s5xi5gs6qyf2"))))
10153 (build-system asdf-build-system/sbcl)
10154 (inputs
10155 `(("cl-ppcre" ,sbcl-cl-ppcre)
10156 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
10157 (native-inputs
10158 `(("fiveam" ,sbcl-fiveam)))
10159 (arguments
10160 '(;; FIXME: Test pass but phase fails with 'Component
10161 ;; "cl-change-case-test" not found, required by'.
10162 #:tests? #f
10163 #:test-asd-file "cl-change-case-test.asd"))
10164 (synopsis "Convert Common Lisp strings between camelCase, PascalCase and more")
10165 (description
10166 "@code{cl-change-case} is library to convert strings between camelCase,
10167 PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
10168 (license license:llgpl))))
10169
10170 (define-public cl-change-case
10171 (sbcl-package->cl-source-package sbcl-cl-change-case))
10172
10173 (define-public ecl-cl-change-case
10174 (sbcl-package->ecl-package sbcl-cl-change-case))
10175
10176 (define-public sbcl-modularize
10177 (let ((commit "86c5d9a11fbd2df9f0f03ac10b5d71837c8934ba")
10178 (revision "1"))
10179 (package
10180 (name "sbcl-modularize")
10181 (version (git-version "1.0.0" revision commit))
10182 (source
10183 (origin
10184 (method git-fetch)
10185 (uri (git-reference
10186 (url "https://github.com/Shinmera/modularize")
10187 (commit commit)))
10188 (file-name (git-file-name name version))
10189 (sha256
10190 (base32 "1zys29rfkb649rkgl3snxhajk8d5yf7ryxkrwy020kwdh7zdsg7d"))))
10191 (build-system asdf-build-system/sbcl)
10192 (arguments
10193 `(#:test-asd-file "modularize-test-module.asd"
10194 #:asd-files '("modularize.asd" "modularize-test-module.asd")
10195 #:asd-systems '("modularize" "modularize-test-module")))
10196 (inputs
10197 `(("documentation-utils" ,sbcl-documentation-utils)
10198 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)))
10199 (home-page "https://shinmera.github.io/modularize/")
10200 (synopsis "Common Lisp modularization framework")
10201 (description
10202 "@code{MODULARIZE} is an attempt at providing a common interface to
10203 segregate major application components. This is achieved by adding special
10204 treatment to packages. Each module is a package that is specially registered,
10205 which allows it to interact and co-exist with other modules in better ways. For
10206 instance, by adding module definition options you can introduce mechanisms to
10207 tie modules together in functionality, hook into each other and so on.")
10208 (license license:zlib))))
10209
10210 (define-public ecl-modularize
10211 (sbcl-package->ecl-package sbcl-modularize))
10212
10213 (define-public cl-modularize
10214 (sbcl-package->cl-source-package sbcl-modularize))
10215
10216 (define-public sbcl-modularize-hooks
10217 (let ((commit "e0348ed3ffd59a9ec31ca4ab28289e748bfbf96a")
10218 (revision "1"))
10219 (package
10220 (name "sbcl-modularize-hooks")
10221 (version (git-version "1.0.2" revision commit))
10222 (source
10223 (origin
10224 (method git-fetch)
10225 (uri (git-reference
10226 (url "https://github.com/Shinmera/modularize-hooks")
10227 (commit commit)))
10228 (file-name (git-file-name "modularize-hooks" version))
10229 (sha256
10230 (base32 "12kjvin8hxidwkzfb7inqv5b6g5qzcssnj9wc497v2ixc56fqdz7"))))
10231 (build-system asdf-build-system/sbcl)
10232 (inputs
10233 `(("closer-mop" ,sbcl-closer-mop)
10234 ("lambda-fiddle" ,sbcl-lambda-fiddle)
10235 ("modularize" ,sbcl-modularize)
10236 ("trivial-arguments" ,sbcl-trivial-arguments)))
10237 (home-page "https://shinmera.github.io/modularize-hooks/")
10238 (synopsis "Generic hooks and triggers extension for Modularize")
10239 (description
10240 "This is a simple extension to @code{MODULARIZE} that allows modules to
10241 define and trigger hooks, which other modules can hook on to.")
10242 (license license:zlib))))
10243
10244 (define-public ecl-modularize-hooks
10245 (sbcl-package->ecl-package sbcl-modularize-hooks))
10246
10247 (define-public cl-modularize-hooks
10248 (sbcl-package->cl-source-package sbcl-modularize-hooks))
10249
10250 (define-public sbcl-modularize-interfaces
10251 (let ((commit "96353657afb8c7aeba7ef5b51eb04c5ed3bcb6ef")
10252 (revision "1"))
10253 (package
10254 (name "sbcl-modularize-interfaces")
10255 (version (git-version "0.9.3" revision commit))
10256 (source
10257 (origin
10258 (method git-fetch)
10259 (uri (git-reference
10260 (url "https://github.com/Shinmera/modularize-interfaces")
10261 (commit commit)))
10262 (file-name (git-file-name "modularize-interfaces" version))
10263 (sha256
10264 (base32 "0bjf4wy39cwf75m7vh0r7mmcchs09yz2lrbyap98hnq8blq70fhc"))))
10265 (build-system asdf-build-system/sbcl)
10266 (inputs
10267 `(("lambda-fiddle" ,sbcl-lambda-fiddle)
10268 ("modularize" ,sbcl-modularize)
10269 ("trivial-arguments" ,sbcl-trivial-arguments)
10270 ("trivial-indent" ,sbcl-trivial-indent)))
10271 (home-page "https://shinmera.github.io/modularize-interfaces/")
10272 (synopsis "Programmatical interfaces extension for Modularize")
10273 (description
10274 "This is an extension to @code{MODULARIZE} that allows your application
10275 to define interfaces in-code that serve both as a primary documentation and as
10276 compliance control.")
10277 (license license:zlib))))
10278
10279 (define-public ecl-modularize-interfaces
10280 (sbcl-package->ecl-package sbcl-modularize-interfaces))
10281
10282 (define-public cl-modularize-interfaces
10283 (sbcl-package->cl-source-package sbcl-modularize-interfaces))
10284
10285 (define-public sbcl-moptilities
10286 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
10287 (package
10288 (name "sbcl-moptilities")
10289 (version (git-version "0.3.13" "1" commit))
10290 (home-page "https://github.com/gwkkwg/moptilities/")
10291 (source
10292 (origin
10293 (method git-fetch)
10294 (uri (git-reference
10295 (url home-page)
10296 (commit commit)))
10297 (file-name (git-file-name name version))
10298 (sha256
10299 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
10300 (build-system asdf-build-system/sbcl)
10301 (inputs
10302 `(("closer-mop" ,sbcl-closer-mop)))
10303 (native-inputs
10304 `(("lift" ,sbcl-lift)))
10305 (arguments
10306 `(#:phases
10307 (modify-phases %standard-phases
10308 (add-after 'unpack 'fix-tests
10309 (lambda _
10310 (substitute* "lift-standard.config"
10311 ((":relative-to lift-test")
10312 ":relative-to moptilities-test"))
10313 #t)))))
10314 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
10315 (description
10316 "MOP utilities provide a common interface between Lisps and make the
10317 MOP easier to use.")
10318 (license license:expat))))
10319
10320 (define-public cl-moptilities
10321 (sbcl-package->cl-source-package sbcl-moptilities))
10322
10323 (define-public sbcl-osicat
10324 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
10325 (package
10326 (name "sbcl-osicat")
10327 (version (git-version "0.7.0" "1" commit))
10328 (home-page "http://www.common-lisp.net/project/osicat/")
10329 (source
10330 (origin
10331 (method git-fetch)
10332 (uri (git-reference
10333 (url "https://github.com/osicat/osicat")
10334 (commit commit)))
10335 (file-name (git-file-name name version))
10336 (sha256
10337 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
10338 (build-system asdf-build-system/sbcl)
10339 (inputs
10340 `(("alexandria" ,sbcl-alexandria)
10341 ("cffi" ,sbcl-cffi)
10342 ("trivial-features" ,sbcl-trivial-features)))
10343 (native-inputs
10344 `(("rt" ,sbcl-rt)))
10345 (synopsis "Operating system interface for Common Lisp")
10346 (description
10347 "Osicat is a lightweight operating system interface for Common Lisp on
10348 Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
10349 accompaniment to the standard ANSI facilities.")
10350 (license license:expat))))
10351
10352 (define-public cl-osicat
10353 (sbcl-package->cl-source-package sbcl-osicat))
10354
10355 (define-public ecl-osicat
10356 (sbcl-package->ecl-package sbcl-osicat))
10357
10358 (define-public sbcl-clx-xembed
10359 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
10360 (revision "1"))
10361 (package
10362 (name "sbcl-clx-xembed")
10363 (version (git-version "0.1" revision commit))
10364 (home-page "https://github.com/laynor/clx-xembed")
10365 (source
10366 (origin
10367 (method git-fetch)
10368 (uri (git-reference
10369 (url "https://github.com/laynor/clx-xembed")
10370 (commit commit)))
10371 (file-name (git-file-name name version))
10372 (sha256
10373 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
10374 (build-system asdf-build-system/sbcl)
10375 (arguments
10376 `(#:asd-systems '("xembed")))
10377 (inputs
10378 `(("sbcl-clx" ,sbcl-clx)))
10379 (synopsis "CL(x) xembed protocol implementation ")
10380 (description "CL(x) xembed protocol implementation")
10381 ;; MIT License
10382 (license license:expat))))
10383
10384 (define-public cl-clx-xembed
10385 (sbcl-package->cl-source-package sbcl-clx-xembed))
10386
10387 (define-public ecl-clx-xembed
10388 (sbcl-package->ecl-package sbcl-clx-xembed))
10389
10390 (define-public sbcl-quantile-estimator
10391 (package
10392 (name "sbcl-quantile-estimator")
10393 (version "0.0.1")
10394 (source
10395 (origin
10396 (method git-fetch)
10397 (uri (git-reference
10398 (url "https://github.com/deadtrickster/quantile-estimator.cl")
10399 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
10400 (file-name (git-file-name name version))
10401 (sha256
10402 (base32
10403 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
10404 (build-system asdf-build-system/sbcl)
10405 (arguments
10406 '(#:asd-files '("quantile-estimator.asd")))
10407 (inputs
10408 `(("alexandria" ,sbcl-alexandria)))
10409 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
10410 (synopsis
10411 "Effective computation of biased quantiles over data streams")
10412 (description
10413 "Common Lisp implementation of Graham Cormode and S.
10414 Muthukrishnan's Effective Computation of Biased Quantiles over Data
10415 Streams in ICDE’05.")
10416 (license license:expat)))
10417
10418 (define-public cl-quantile-estimator
10419 (sbcl-package->cl-source-package sbcl-quantile-estimator))
10420
10421 (define-public ecl-quantile-estimator
10422 (sbcl-package->ecl-package sbcl-quantile-estimator))
10423
10424 (define-public sbcl-prometheus
10425 (package
10426 (name "sbcl-prometheus")
10427 (version "0.4.1")
10428 (source
10429 (origin
10430 (method git-fetch)
10431 (uri (git-reference
10432 (url "https://github.com/deadtrickster/prometheus.cl")
10433 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
10434 (file-name (git-file-name name version))
10435 (sha256
10436 (base32
10437 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
10438 (build-system asdf-build-system/sbcl)
10439 (inputs
10440 `(("alexandria" ,sbcl-alexandria)
10441 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10442 ("cffi" ,sbcl-cffi)
10443 ("cl-fad" ,sbcl-cl-fad)
10444 ("cl-ppcre" ,sbcl-cl-ppcre)
10445 ("drakma" ,sbcl-drakma)
10446 ("hunchentoot" ,sbcl-hunchentoot)
10447 ("local-time" ,sbcl-local-time)
10448 ("quantile-estimator" ,sbcl-quantile-estimator)
10449 ("salza2" ,sbcl-salza2)
10450 ("split-sequence" ,sbcl-split-sequence)
10451 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10452 (arguments
10453 '(#:asd-files '("prometheus.asd"
10454 "prometheus.collectors.sbcl.asd"
10455 "prometheus.collectors.process.asd"
10456 "prometheus.formats.text.asd"
10457 "prometheus.exposers.hunchentoot.asd"
10458 "prometheus.pushgateway.asd")
10459 #:asd-systems '("prometheus"
10460 "prometheus.collectors.sbcl"
10461 "prometheus.collectors.process"
10462 "prometheus.formats.text"
10463 "prometheus.exposers.hunchentoot"
10464 "prometheus.pushgateway")))
10465 (home-page "https://github.com/deadtrickster/prometheus.cl")
10466 (synopsis "Prometheus.io Common Lisp client")
10467 (description "Prometheus.io Common Lisp client.")
10468 (license license:expat)))
10469
10470 (define-public cl-prometheus
10471 (sbcl-package->cl-source-package sbcl-prometheus))
10472
10473 (define-public ecl-prometheus
10474 (sbcl-package->ecl-package sbcl-prometheus))
10475
10476 (define-public sbcl-uuid
10477 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
10478 (package
10479 (name "sbcl-uuid")
10480 (version (git-version "2012.12.26" "1" commit))
10481 (source
10482 (origin
10483 (method git-fetch)
10484 (uri (git-reference
10485 (url "https://github.com/dardoria/uuid")
10486 (commit commit)))
10487 (file-name (git-file-name name version))
10488 (sha256
10489 (base32
10490 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
10491 (build-system asdf-build-system/sbcl)
10492 (inputs
10493 `(("ironclad" ,sbcl-ironclad)
10494 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10495 (home-page "https://github.com/dardoria/uuid")
10496 (synopsis
10497 "Common Lisp implementation of UUIDs according to RFC4122")
10498 (description
10499 "Common Lisp implementation of UUIDs according to RFC4122.")
10500 (license license:llgpl))))
10501
10502 (define-public cl-uuid
10503 (sbcl-package->cl-source-package sbcl-uuid))
10504
10505 (define-public ecl-uuid
10506 (sbcl-package->ecl-package sbcl-uuid))
10507
10508 (define-public sbcl-dissect
10509 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
10510 (package
10511 (name "sbcl-dissect")
10512 (version (git-version "1.0.0" "1" commit))
10513 (source
10514 (origin
10515 (method git-fetch)
10516 (uri (git-reference
10517 (url "https://github.com/Shinmera/dissect")
10518 (commit commit)))
10519 (file-name (git-file-name name version))
10520 (sha256
10521 (base32
10522 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
10523 (build-system asdf-build-system/sbcl)
10524 (inputs
10525 `(("cl-ppcre" ,sbcl-cl-ppcre)))
10526 (home-page "https://shinmera.github.io/dissect/")
10527 (synopsis
10528 "Introspection library for the call stack and restarts")
10529 (description
10530 "Dissect is a small Common Lisp library for introspecting the call stack
10531 and active restarts.")
10532 (license license:zlib))))
10533
10534 (define-public cl-dissect
10535 (sbcl-package->cl-source-package sbcl-dissect))
10536
10537 (define-public ecl-dissect
10538 (sbcl-package->ecl-package sbcl-dissect))
10539
10540 (define-public sbcl-rove
10541 (package
10542 (name "sbcl-rove")
10543 (version "0.9.6")
10544 (source
10545 (origin
10546 (method git-fetch)
10547 (uri (git-reference
10548 (url "https://github.com/fukamachi/rove")
10549 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
10550 (file-name (git-file-name name version))
10551 (sha256
10552 (base32
10553 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
10554 (build-system asdf-build-system/sbcl)
10555 (inputs
10556 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10557 ("dissect" ,sbcl-dissect)
10558 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
10559 (home-page "https://github.com/fukamachi/rove")
10560 (synopsis
10561 "Yet another common lisp testing library")
10562 (description
10563 "Rove is a unit testing framework for Common Lisp applications.
10564 This is intended to be a successor of Prove.")
10565 (license license:bsd-3)))
10566
10567 (define-public cl-rove
10568 (sbcl-package->cl-source-package sbcl-rove))
10569
10570 (define-public ecl-rove
10571 (sbcl-package->ecl-package sbcl-rove))
10572
10573 (define-public sbcl-exponential-backoff
10574 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
10575 (package
10576 (name "sbcl-exponential-backoff")
10577 (version (git-version "0" "1" commit))
10578 (source
10579 (origin
10580 (method git-fetch)
10581 (uri (git-reference
10582 (url "https://github.com/death/exponential-backoff")
10583 (commit commit)))
10584 (file-name (git-file-name name version))
10585 (sha256
10586 (base32
10587 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
10588 (build-system asdf-build-system/sbcl)
10589 (home-page "https://github.com/death/exponential-backoff")
10590 (synopsis "Exponential backoff algorithm in Common Lisp")
10591 (description
10592 "An implementation of the exponential backoff algorithm in Common Lisp.
10593 Inspired by the implementation found in Chromium. Read the header file to
10594 learn about each of the parameters.")
10595 (license license:expat))))
10596
10597 (define-public cl-exponential-backoff
10598 (sbcl-package->cl-source-package sbcl-exponential-backoff))
10599
10600 (define-public ecl-exponential-backoff
10601 (sbcl-package->ecl-package sbcl-exponential-backoff))
10602
10603 (define-public sbcl-sxql
10604 (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
10605 (package
10606 (name "sbcl-sxql")
10607 (version (git-version "0.1.0" "1" commit))
10608 (source
10609 (origin
10610 (method git-fetch)
10611 (uri (git-reference
10612 (url "https://github.com/fukamachi/sxql")
10613 (commit commit)))
10614 (file-name (git-file-name name version))
10615 (sha256
10616 (base32
10617 "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
10618 (build-system asdf-build-system/sbcl)
10619 (arguments
10620 `(#:test-asd-file "sxql-test.asd"))
10621 (inputs
10622 `(("alexandria" ,sbcl-alexandria)
10623 ("cl-syntax" ,sbcl-cl-syntax)
10624 ("iterate" ,sbcl-iterate)
10625 ("optima" ,sbcl-optima)
10626 ("split-sequence" ,sbcl-split-sequence)
10627 ("trivial-types" ,sbcl-trivial-types)))
10628 (native-inputs
10629 `(("prove" ,sbcl-prove)))
10630 (home-page "https://github.com/fukamachi/sxql")
10631 (synopsis "SQL generator for Common Lisp")
10632 (description "SQL generator for Common Lisp.")
10633 (license license:bsd-3))))
10634
10635 (define-public cl-sxql
10636 (sbcl-package->cl-source-package sbcl-sxql))
10637
10638 (define-public ecl-sxql
10639 (sbcl-package->ecl-package sbcl-sxql))
10640
10641 (define-public sbcl-1am
10642 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
10643 (package
10644 (name "sbcl-1am")
10645 (version (git-version "0.0" "1" commit))
10646 (source
10647 (origin
10648 (method git-fetch)
10649 (uri (git-reference
10650 (url "https://github.com/lmj/1am")
10651 (commit commit)))
10652 (file-name (git-file-name name version))
10653 (sha256
10654 (base32
10655 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
10656 (build-system asdf-build-system/sbcl)
10657 (arguments
10658 `(#:asd-systems '("1am")))
10659 (home-page "https://github.com/lmj/1am")
10660 (synopsis "Minimal testing framework for Common Lisp")
10661 (description "A minimal testing framework for Common Lisp.")
10662 (license license:expat))))
10663
10664 (define-public cl-1am
10665 (sbcl-package->cl-source-package sbcl-1am))
10666
10667 (define-public ecl-1am
10668 (sbcl-package->ecl-package sbcl-1am))
10669
10670 (define-public sbcl-cl-ascii-table
10671 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
10672 (revision "1"))
10673 (package
10674 (name "sbcl-cl-ascii-table")
10675 (version (git-version "0.0.0" revision commit))
10676 (source
10677 (origin
10678 (method git-fetch)
10679 (uri (git-reference
10680 (url "https://github.com/telephil/cl-ascii-table")
10681 (commit commit)))
10682 (file-name (git-file-name name version))
10683 (sha256
10684 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
10685 (build-system asdf-build-system/sbcl)
10686 (synopsis "Library to make ascii-art tables")
10687 (description
10688 "This is a Common Lisp library to present tabular data in ascii-art
10689 tables.")
10690 (home-page "https://github.com/telephil/cl-ascii-table")
10691 (license license:expat))))
10692
10693 (define-public cl-ascii-table
10694 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
10695
10696 (define-public ecl-cl-ascii-table
10697 (sbcl-package->ecl-package sbcl-cl-ascii-table))
10698
10699 (define-public sbcl-cl-rdkafka
10700 (package
10701 (name "sbcl-cl-rdkafka")
10702 (version "1.1.0")
10703 (source
10704 (origin
10705 (method git-fetch)
10706 (uri (git-reference
10707 (url "https://github.com/SahilKang/cl-rdkafka")
10708 (commit (string-append "v" version))))
10709 (file-name (git-file-name name version))
10710 (sha256
10711 (base32
10712 "0z2g0k0xy8k1p9g93h8dy9wbygaq7ziwagm4yz93zk67mhc0b84v"))))
10713 (build-system asdf-build-system/sbcl)
10714 (arguments
10715 `(#:tests? #f ; Attempts to connect to locally running Kafka
10716 #:phases
10717 (modify-phases %standard-phases
10718 (add-after 'unpack 'fix-paths
10719 (lambda* (#:key inputs #:allow-other-keys)
10720 (substitute* "src/low-level/librdkafka-bindings.lisp"
10721 (("librdkafka" all)
10722 (string-append (assoc-ref inputs "librdkafka") "/lib/"
10723 all))))))))
10724 (inputs
10725 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10726 ("cffi" ,sbcl-cffi)
10727 ("librdkafka" ,librdkafka)
10728 ("lparallel" ,sbcl-lparallel)
10729 ("trivial-garbage" ,sbcl-trivial-garbage)))
10730 (home-page "https://github.com/SahilKang/cl-rdkafka")
10731 (synopsis "Common Lisp client library for Apache Kafka")
10732 (description "A Common Lisp client library for Apache Kafka.")
10733 (license license:gpl3)))
10734
10735 (define-public cl-rdkafka
10736 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
10737
10738 (define-public ecl-cl-rdkafka
10739 (sbcl-package->ecl-package sbcl-cl-rdkafka))
10740
10741 (define-public sbcl-acclimation
10742 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
10743 (package
10744 (name "sbcl-acclimation")
10745 (version (git-version "0.0.0" "1" commit))
10746 (source
10747 (origin
10748 (method git-fetch)
10749 (uri (git-reference
10750 (url "https://github.com/robert-strandh/Acclimation")
10751 (commit commit)))
10752 (file-name (git-file-name name version))
10753 (sha256
10754 (base32
10755 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
10756 (build-system asdf-build-system/sbcl)
10757 (home-page "https://github.com/robert-strandh/Acclimation")
10758 (synopsis "Internationalization library for Common Lisp")
10759 (description "This project is meant to provide tools for
10760 internationalizing Common Lisp programs.
10761
10762 One important aspect of internationalization is of course the language used in
10763 error messages, documentation strings, etc. But with this project we provide
10764 tools for all other aspects of internationalization as well, including dates,
10765 weight, temperature, names of physical quantitites, etc.")
10766 (license license:bsd-2))))
10767
10768 (define-public cl-acclimation
10769 (sbcl-package->cl-source-package sbcl-acclimation))
10770
10771 (define-public ecl-acclimation
10772 (sbcl-package->ecl-package sbcl-acclimation))
10773
10774 (define-public sbcl-clump
10775 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
10776 (package
10777 (name "sbcl-clump")
10778 (version (git-version "0.0.0" "1" commit))
10779 (source
10780 (origin
10781 (method git-fetch)
10782 (uri (git-reference
10783 (url "https://github.com/robert-strandh/Clump")
10784 (commit commit)))
10785 (file-name (git-file-name name version))
10786 (sha256
10787 (base32
10788 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
10789 (inputs
10790 `(("acclimation" ,sbcl-acclimation)))
10791 (build-system asdf-build-system/sbcl)
10792 (home-page "https://github.com/robert-strandh/Clump")
10793 (synopsis "Collection of tree implementations for Common Lisp")
10794 (description "The purpose of this library is to provide a collection of
10795 implementations of trees.
10796
10797 In contrast to existing libraries such as cl-containers, it does not impose a
10798 particular use for the trees. Instead, it aims for a stratified design,
10799 allowing client code to choose between different levels of abstraction.
10800
10801 As a consequence of this policy, low-level interfaces are provided where
10802 the concrete representation is exposed, but also high level interfaces
10803 where the trees can be used as search trees or as trees that represent
10804 sequences of objects.")
10805 (license license:bsd-2))))
10806
10807 (define-public cl-clump
10808 (sbcl-package->cl-source-package sbcl-clump))
10809
10810 (define-public ecl-clump
10811 (sbcl-package->ecl-package sbcl-clump))
10812
10813 (define-public sbcl-cluffer
10814 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
10815 (package
10816 (name "sbcl-cluffer")
10817 (version (git-version "0.0.0" "1" commit))
10818 (source
10819 (origin
10820 (method git-fetch)
10821 (uri (git-reference
10822 (url "https://github.com/robert-strandh/cluffer")
10823 (commit commit)))
10824 (file-name (git-file-name name version))
10825 (sha256
10826 (base32
10827 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
10828 (build-system asdf-build-system/sbcl)
10829 (inputs
10830 `(("acclimation" ,sbcl-acclimation)
10831 ("clump" ,sbcl-clump)))
10832 (home-page "https://github.com/robert-strandh/cluffer")
10833 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
10834 (description "Cluffer is a library for representing the buffer of a text
10835 editor. As such, it defines a set of CLOS protocols for client code to
10836 interact with the buffer contents in various ways, and it supplies different
10837 implementations of those protocols for different purposes.")
10838 (license license:bsd-2))))
10839
10840 (define-public cl-cluffer
10841 (sbcl-package->cl-source-package sbcl-cluffer))
10842
10843 (define-public ecl-cluffer
10844 (sbcl-package->ecl-package sbcl-cluffer))
10845
10846 (define-public sbcl-cl-libsvm-format
10847 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
10848 (revision "0"))
10849 (package
10850 (name "sbcl-cl-libsvm-format")
10851 (version (git-version "0.1.0" revision commit))
10852 (source
10853 (origin
10854 (method git-fetch)
10855 (uri (git-reference
10856 (url "https://github.com/masatoi/cl-libsvm-format")
10857 (commit commit)))
10858 (file-name (git-file-name name version))
10859 (sha256
10860 (base32
10861 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
10862 (build-system asdf-build-system/sbcl)
10863 (native-inputs
10864 `(("prove" ,sbcl-prove)))
10865 (inputs
10866 `(("alexandria" ,sbcl-alexandria)))
10867 (synopsis "LibSVM data format reader for Common Lisp")
10868 (description
10869 "This Common Lisp library provides a fast reader for data in LibSVM
10870 format.")
10871 (home-page "https://github.com/masatoi/cl-libsvm-format")
10872 (license license:expat))))
10873
10874 (define-public cl-libsvm-format
10875 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
10876
10877 (define-public ecl-cl-libsvm-format
10878 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
10879
10880 (define-public sbcl-cl-online-learning
10881 (let ((commit "87fbef8a340219e853adb3a5bf44a0470da76964")
10882 (revision "1"))
10883 (package
10884 (name "sbcl-cl-online-learning")
10885 (version (git-version "0.5" revision commit))
10886 (source
10887 (origin
10888 (method git-fetch)
10889 (uri (git-reference
10890 (url "https://github.com/masatoi/cl-online-learning")
10891 (commit commit)))
10892 (file-name (git-file-name "cl-online-learning" version))
10893 (sha256
10894 (base32
10895 "1lfq04lnxivx59nq5dd02glyqsqzf3vdn4s9b8wnaln5fs8g2ph9"))))
10896 (build-system asdf-build-system/sbcl)
10897 (native-inputs
10898 `(("prove" ,sbcl-prove)))
10899 (inputs
10900 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
10901 ("cl-store" ,sbcl-cl-store)))
10902 (arguments
10903 `(#:test-asd-file "cl-online-learning-test.asd"
10904 #:asd-systems '("cl-online-learning-test"
10905 "cl-online-learning")))
10906 (home-page "https://github.com/masatoi/cl-online-learning")
10907 (synopsis "Online Machine Learning for Common Lisp")
10908 (description
10909 "This library contains a collection of machine learning algorithms for
10910 online linear classification written in Common Lisp.")
10911 (license license:expat))))
10912
10913 (define-public cl-online-learning
10914 (sbcl-package->cl-source-package sbcl-cl-online-learning))
10915
10916 (define-public ecl-cl-online-learning
10917 (sbcl-package->ecl-package sbcl-cl-online-learning))
10918
10919 (define-public sbcl-cl-mpg123
10920 (let ((commit "5f042c839d2ea4a2ff2a7b60c839d8633d64161d")
10921 (revision "1"))
10922 (package
10923 (name "sbcl-cl-mpg123")
10924 (version (git-version "1.0.0" revision commit))
10925 (source
10926 (origin
10927 (method git-fetch)
10928 (uri (git-reference
10929 (url "https://github.com/Shirakumo/cl-mpg123")
10930 (commit commit)))
10931 (file-name (git-file-name "cl-mpg123" version))
10932 (sha256
10933 (base32 "1hl721xaczxck008ax2y3jpkm509ry1sg3lklh2k76764m3ndrjf"))
10934 (modules '((guix build utils)))
10935 (snippet
10936 '(begin
10937 ;; Remove bundled pre-compiled libraries.
10938 (delete-file-recursively "static")
10939 #t))))
10940 (build-system asdf-build-system/sbcl)
10941 (arguments
10942 `(#:asd-files '("cl-mpg123.asd" "cl-mpg123-example.asd")
10943 #:asd-systems '("cl-mpg123" "cl-mpg123-example")
10944 #:phases
10945 (modify-phases %standard-phases
10946 (add-after 'unpack 'fix-paths
10947 (lambda* (#:key inputs #:allow-other-keys)
10948 (substitute* "low-level.lisp"
10949 (("libmpg123.so" all)
10950 (string-append (assoc-ref inputs "libmpg123")
10951 "/lib/" all))))))))
10952 (inputs
10953 `(("cffi" ,sbcl-cffi)
10954 ("cl-out123" ,sbcl-cl-out123)
10955 ("documentation-utils" ,sbcl-documentation-utils)
10956 ("libmpg123" ,mpg123)
10957 ("trivial-features" ,sbcl-trivial-features)
10958 ("trivial-garbage" ,sbcl-trivial-garbage)
10959 ("verbose" ,sbcl-verbose)))
10960 (home-page "https://shirakumo.github.io/cl-mpg123/")
10961 (synopsis "Common Lisp bindings to libmpg123")
10962 (description
10963 "This is a bindings and wrapper library to @code{libmpg123} allowing for
10964 convenient, extensive, and fast decoding of MPEG1/2/3 (most prominently mp3)
10965 files.")
10966 (license license:zlib))))
10967
10968 (define-public ecl-cl-mpg123
10969 (sbcl-package->ecl-package sbcl-cl-mpg123))
10970
10971 (define-public cl-mpg123
10972 (sbcl-package->cl-source-package sbcl-cl-mpg123))
10973
10974 (define-public sbcl-cl-out123
10975 (let ((commit "6b58d3f8c2a28ad09059ac4c60fb3c781b9b421b")
10976 (revision "1"))
10977 (package
10978 (name "sbcl-cl-out123")
10979 (version (git-version "1.0.0" revision commit))
10980 (source
10981 (origin
10982 (method git-fetch)
10983 (uri (git-reference
10984 (url "https://github.com/Shirakumo/cl-out123")
10985 (commit commit)))
10986 (file-name (git-file-name "cl-out123" version))
10987 (sha256
10988 (base32 "0mdwgfax6sq68wvdgjjp78i40ah7wqkpqnvaq8a1c509k7ghdgv1"))
10989 (modules '((guix build utils)))
10990 (snippet
10991 '(begin
10992 ;; Remove bundled pre-compiled libraries.
10993 (delete-file-recursively "static")
10994 #t))))
10995 (build-system asdf-build-system/sbcl)
10996 (arguments
10997 `(#:phases
10998 (modify-phases %standard-phases
10999 (add-after 'unpack 'fix-paths
11000 (lambda* (#:key inputs #:allow-other-keys)
11001 (substitute* "low-level.lisp"
11002 (("libout123.so" all)
11003 (string-append (assoc-ref inputs "libout123")
11004 "/lib/" all)))))
11005 ;; NOTE: (Sharlatan-20210129T134529+0000): ECL package `ext' has no
11006 ;; exported macro `without-interrupts' it's moved to `mp' package
11007 ;; https://github.com/Shirakumo/cl-out123/issues/2
11008 ;; https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/src/lsp/mp.lsp
11009 (add-after 'unpack 'fix-ecl-package-name
11010 (lambda _
11011 (substitute* "wrapper.lisp"
11012 (("ext:without-interrupts.*") "mp:without-interrupts\n"))
11013 #t)))))
11014 (inputs
11015 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11016 ("cffi" ,sbcl-cffi)
11017 ("documentation-utils" ,sbcl-documentation-utils)
11018 ("libout123" ,mpg123)
11019 ("trivial-features" ,sbcl-trivial-features)
11020 ("trivial-garbage" ,sbcl-trivial-garbage)))
11021 (home-page "https://shirakumo.github.io/cl-out123/")
11022 (synopsis "Common Lisp bindings to libout123")
11023 (description
11024 "This is a bindings library to @code{libout123} which allows easy
11025 cross-platform audio playback.")
11026 (license license:zlib))))
11027
11028 (define-public ecl-cl-out123
11029 (sbcl-package->ecl-package sbcl-cl-out123))
11030
11031 (define-public cl-out123
11032 (sbcl-package->cl-source-package sbcl-cl-out123))
11033
11034 (define-public sbcl-cl-random-forest
11035 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
11036 (revision "1"))
11037 (package
11038 (name "sbcl-cl-random-forest")
11039 (version (git-version "0.1" revision commit))
11040 (source
11041 (origin
11042 (method git-fetch)
11043 (uri (git-reference
11044 (url "https://github.com/masatoi/cl-random-forest")
11045 (commit commit)))
11046 (file-name (git-file-name name version))
11047 (sha256
11048 (base32
11049 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
11050 (build-system asdf-build-system/sbcl)
11051 (native-inputs
11052 `(("prove" ,sbcl-prove)
11053 ("trivial-garbage" ,sbcl-trivial-garbage)))
11054 (inputs
11055 `(("alexandria" ,sbcl-alexandria)
11056 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11057 ("cl-online-learning" ,sbcl-cl-online-learning)
11058 ("lparallel" ,sbcl-lparallel)))
11059 (arguments
11060 `(#:tests? #f)) ; The tests download data from the Internet
11061 (synopsis "Random Forest and Global Refinement for Common Lisp")
11062 (description
11063 "CL-random-forest is an implementation of Random Forest for multiclass
11064 classification and univariate regression written in Common Lisp. It also
11065 includes an implementation of Global Refinement of Random Forest.")
11066 (home-page "https://github.com/masatoi/cl-random-forest")
11067 (license license:expat))))
11068
11069 (define-public cl-random-forest
11070 (sbcl-package->cl-source-package sbcl-cl-random-forest))
11071
11072 (define-public ecl-cl-random-forest
11073 (sbcl-package->ecl-package sbcl-cl-random-forest))
11074
11075 (define-public sbcl-bordeaux-fft
11076 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
11077 (revision "0"))
11078 (package
11079 (name "sbcl-bordeaux-fft")
11080 (version (git-version "1.0.1" revision commit))
11081 (source
11082 (origin
11083 (method git-fetch)
11084 (uri (git-reference
11085 (url "https://github.com/ahefner/bordeaux-fft")
11086 (commit commit)))
11087 (file-name (git-file-name name version))
11088 (sha256
11089 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
11090 (build-system asdf-build-system/sbcl)
11091 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
11092 (synopsis "Fast Fourier Transform for Common Lisp")
11093 (description
11094 "The Bordeaux-FFT library provides a reasonably efficient implementation
11095 of the Fast Fourier Transform and its inverse for complex-valued inputs, in
11096 portable Common Lisp.")
11097 (license license:gpl2+))))
11098
11099 (define-public cl-bordeaux-fft
11100 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
11101
11102 (define-public ecl-bordeaux-fft
11103 (sbcl-package->ecl-package sbcl-bordeaux-fft))
11104
11105 (define-public sbcl-napa-fft3
11106 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
11107 (revision "0"))
11108 (package
11109 (name "sbcl-napa-fft3")
11110 (version (git-version "0.0.1" revision commit))
11111 (source
11112 (origin
11113 (method git-fetch)
11114 (uri (git-reference
11115 (url "https://github.com/pkhuong/Napa-FFT3")
11116 (commit commit)))
11117 (file-name (git-file-name name version))
11118 (sha256
11119 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
11120 (build-system asdf-build-system/sbcl)
11121 (home-page "https://github.com/pkhuong/Napa-FFT3")
11122 (synopsis "Fast Fourier Transform routines in Common Lisp")
11123 (description
11124 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
11125 buildings blocks to express common operations that involve DFTs: filtering,
11126 convolutions, etc.")
11127 (license license:bsd-3))))
11128
11129 (define-public cl-napa-fft3
11130 (sbcl-package->cl-source-package sbcl-napa-fft3))
11131
11132 (define-public sbcl-cl-tga
11133 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
11134 (revision "0"))
11135 (package
11136 (name "sbcl-cl-tga")
11137 (version (git-version "0.0.0" revision commit))
11138 (source
11139 (origin
11140 (method git-fetch)
11141 (uri (git-reference
11142 (url "https://github.com/fisxoj/cl-tga")
11143 (commit commit)))
11144 (file-name (git-file-name name version))
11145 (sha256
11146 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
11147 (build-system asdf-build-system/sbcl)
11148 (home-page "https://github.com/fisxoj/cl-tga")
11149 (synopsis "TGA file loader for Common Lisp")
11150 (description
11151 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
11152 programs. It's a very simple library, and, at the moment, only supports
11153 non-RLE encoded forms of the files.")
11154 (license license:expat))))
11155
11156 (define-public cl-tga
11157 (sbcl-package->cl-source-package sbcl-cl-tga))
11158
11159 (define-public ecl-cl-tga
11160 (sbcl-package->ecl-package sbcl-cl-tga))
11161
11162 (define-public sbcl-com.gigamonkeys.binary-data
11163 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
11164 (revision "0"))
11165 (package
11166 (name "sbcl-com.gigamonkeys.binary-data")
11167 (version (git-version "0.0.0" revision commit))
11168 (source
11169 (origin
11170 (method git-fetch)
11171 (uri (git-reference
11172 (url "https://github.com/gigamonkey/monkeylib-binary-data")
11173 (commit commit)))
11174 (file-name (git-file-name name version))
11175 (sha256
11176 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
11177 (build-system asdf-build-system/sbcl)
11178 (inputs
11179 `(("alexandria" ,sbcl-alexandria)))
11180 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
11181 (synopsis "Common Lisp library for reading and writing binary data")
11182 (description
11183 "This a Common Lisp library for reading and writing binary data. It is
11184 based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
11185 (license license:bsd-3))))
11186
11187 (define-public cl-com.gigamonkeys.binary-data
11188 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
11189
11190 (define-public ecl-com.gigamonkeys.binary-data
11191 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
11192
11193 (define-public sbcl-deflate
11194 (package
11195 (name "sbcl-deflate")
11196 (version "1.0.3")
11197 (source
11198 (origin
11199 (method git-fetch)
11200 (uri (git-reference
11201 (url "https://github.com/pmai/Deflate")
11202 (commit (string-append "release-" version))))
11203 (file-name (git-file-name name version))
11204 (sha256
11205 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
11206 (build-system asdf-build-system/sbcl)
11207 (home-page "https://github.com/pmai/Deflate")
11208 (synopsis "Native deflate decompression for Common Lisp")
11209 (description
11210 "This library is an implementation of Deflate (RFC 1951) decompression,
11211 with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
11212 wrappers of deflate streams. It currently does not handle compression.")
11213 (license license:expat)))
11214
11215 (define-public cl-deflate
11216 (sbcl-package->cl-source-package sbcl-deflate))
11217
11218 (define-public ecl-deflate
11219 (sbcl-package->ecl-package sbcl-deflate))
11220
11221 (define-public sbcl-skippy
11222 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
11223 (revision "0"))
11224 (package
11225 (name "sbcl-skippy")
11226 (version (git-version "1.3.12" revision commit))
11227 (source
11228 (origin
11229 (method git-fetch)
11230 (uri (git-reference
11231 (url "https://github.com/xach/skippy")
11232 (commit commit)))
11233 (file-name (git-file-name name version))
11234 (sha256
11235 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
11236 (build-system asdf-build-system/sbcl)
11237 (home-page "https://xach.com/lisp/skippy/")
11238 (synopsis "Common Lisp library for GIF images")
11239 (description
11240 "Skippy is a Common Lisp library to read and write GIF image files.")
11241 (license license:bsd-2))))
11242
11243 (define-public cl-skippy
11244 (sbcl-package->cl-source-package sbcl-skippy))
11245
11246 (define-public ecl-skippy
11247 (sbcl-package->ecl-package sbcl-skippy))
11248
11249 (define-public sbcl-cl-freetype2
11250 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
11251 (revision "0"))
11252 (package
11253 (name "sbcl-cl-freetype2")
11254 (version (git-version "1.1" revision commit))
11255 (source
11256 (origin
11257 (method git-fetch)
11258 (uri (git-reference
11259 (url "https://github.com/rpav/cl-freetype2")
11260 (commit commit)))
11261 (file-name (git-file-name name version))
11262 (sha256
11263 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
11264 (build-system asdf-build-system/sbcl)
11265 (native-inputs
11266 `(("fiveam" ,sbcl-fiveam)))
11267 (inputs
11268 `(("alexandria" ,sbcl-alexandria)
11269 ("cffi" ,sbcl-cffi)
11270 ("freetype" ,freetype)
11271 ("trivial-garbage" ,sbcl-trivial-garbage)))
11272 (arguments
11273 `(#:phases
11274 (modify-phases %standard-phases
11275 (add-after 'unpack 'fix-paths
11276 (lambda* (#:key inputs #:allow-other-keys)
11277 (substitute* "src/ffi/ft2-lib.lisp"
11278 (("\"libfreetype\"")
11279 (string-append "\"" (assoc-ref inputs "freetype")
11280 "/lib/libfreetype\"")))
11281 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
11282 (("-I/usr/include/freetype")
11283 (string-append "-I" (assoc-ref inputs "freetype")
11284 "/include/freetype")))
11285 #t)))))
11286 (home-page "https://github.com/rpav/cl-freetype2")
11287 (synopsis "Common Lisp bindings for Freetype 2")
11288 (description
11289 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
11290 geared toward both using Freetype directly by providing a simplified API, as
11291 well as providing access to the underlying C structures and functions for use
11292 with other libraries which may also use Freetype.")
11293 (license license:bsd-3))))
11294
11295 (define-public cl-freetype2
11296 (sbcl-package->cl-source-package sbcl-cl-freetype2))
11297
11298 (define-public ecl-cl-freetype2
11299 (sbcl-package->ecl-package sbcl-cl-freetype2))
11300
11301 (define-public sbcl-opticl-core
11302 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
11303 (revision "0"))
11304 (package
11305 (name "sbcl-opticl-core")
11306 (version (git-version "0.0.0" revision commit))
11307 (source
11308 (origin
11309 (method git-fetch)
11310 (uri (git-reference
11311 (url "https://github.com/slyrus/opticl-core")
11312 (commit commit)))
11313 (file-name (git-file-name name version))
11314 (sha256
11315 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
11316 (build-system asdf-build-system/sbcl)
11317 (inputs
11318 `(("alexandria" ,sbcl-alexandria)))
11319 (home-page "https://github.com/slyrus/opticl-core")
11320 (synopsis "Core classes and pixel access macros for Opticl")
11321 (description
11322 "This Common Lisp library contains the core classes and pixel access
11323 macros for the Opticl image processing library.")
11324 (license license:bsd-2))))
11325
11326 (define-public cl-opticl-core
11327 (sbcl-package->cl-source-package sbcl-opticl-core))
11328
11329 (define-public ecl-opticl-core
11330 (sbcl-package->ecl-package sbcl-opticl-core))
11331
11332 (define-public sbcl-retrospectiff
11333 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
11334 (revision "0"))
11335 (package
11336 (name "sbcl-retrospectiff")
11337 (version (git-version "0.2" revision commit))
11338 (source
11339 (origin
11340 (method git-fetch)
11341 (uri (git-reference
11342 (url "https://github.com/slyrus/retrospectiff")
11343 (commit commit)))
11344 (file-name (git-file-name name version))
11345 (sha256
11346 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
11347 (build-system asdf-build-system/sbcl)
11348 (native-inputs
11349 `(("fiveam" ,sbcl-fiveam)))
11350 (inputs
11351 `(("cl-jpeg" ,sbcl-cl-jpeg)
11352 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
11353 ("deflate" ,sbcl-deflate)
11354 ("flexi-streams" ,sbcl-flexi-streams)
11355 ("ieee-floats" ,sbcl-ieee-floats)
11356 ("opticl-core" ,sbcl-opticl-core)))
11357 (home-page "https://github.com/slyrus/retrospectiff")
11358 (synopsis "Common Lisp library for TIFF images")
11359 (description
11360 "Retrospectiff is a common lisp library for reading and writing images
11361 in the TIFF (Tagged Image File Format) format.")
11362 (license license:bsd-2))))
11363
11364 (define-public cl-retrospectif
11365 (sbcl-package->cl-source-package sbcl-retrospectiff))
11366
11367 (define-public ecl-retrospectiff
11368 (sbcl-package->ecl-package sbcl-retrospectiff))
11369
11370 (define-public sbcl-mmap
11371 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
11372 (revision "0"))
11373 (package
11374 (name "sbcl-mmap")
11375 (version (git-version "1.0.0" revision commit))
11376 (source
11377 (origin
11378 (method git-fetch)
11379 (uri (git-reference
11380 (url "https://github.com/Shinmera/mmap")
11381 (commit commit)))
11382 (file-name (git-file-name name version))
11383 (sha256
11384 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
11385 (build-system asdf-build-system/sbcl)
11386 (native-inputs
11387 `(("alexandria" ,sbcl-alexandria)
11388 ("cffi" ,sbcl-cffi)
11389 ("parachute" ,sbcl-parachute)
11390 ("trivial-features" ,sbcl-trivial-features)))
11391 (inputs
11392 `(("cffi" ,sbcl-cffi)
11393 ("documentation-utils" ,sbcl-documentation-utils)))
11394 (home-page "https://shinmera.github.io/mmap/")
11395 (synopsis "File memory mapping for Common Lisp")
11396 (description
11397 "This is a utility library providing access to the @emph{mmap} family of
11398 functions in a portable way. It allows you to directly map a file into the
11399 address space of your process without having to manually read it into memory
11400 sequentially. Typically this is much more efficient for files that are larger
11401 than a few Kb.")
11402 (license license:zlib))))
11403
11404 (define-public cl-mmap
11405 (sbcl-package->cl-source-package sbcl-mmap))
11406
11407 (define-public ecl-mmap
11408 (sbcl-package->ecl-package sbcl-mmap))
11409
11410 (define-public sbcl-3bz
11411 (let ((commit "569614c40408f3aefc77ba233e0e4bd66d3850ad")
11412 (revision "1"))
11413 (package
11414 (name "sbcl-3bz")
11415 (version (git-version "0.0.0" revision commit))
11416 (source
11417 (origin
11418 (method git-fetch)
11419 (uri (git-reference
11420 (url "https://github.com/3b/3bz")
11421 (commit commit)))
11422 (file-name (git-file-name name version))
11423 (sha256
11424 (base32 "0kvvlvf50jhhw1s510f3clpr1a68632bq6d698yxcrx722igcrg4"))))
11425 (build-system asdf-build-system/sbcl)
11426 (inputs
11427 `(("alexandria" ,sbcl-alexandria)
11428 ("babel" ,sbcl-babel)
11429 ("cffi" ,sbcl-cffi)
11430 ("mmap" ,sbcl-mmap)
11431 ("nibbles" ,sbcl-nibbles)
11432 ("trivial-features" ,sbcl-trivial-features)))
11433 (arguments
11434 ;; FIXME: #41437 - Build fails when package name starts from a digit
11435 `(#:asd-systems '("3bz")))
11436 (home-page "https://github.com/3b/3bz")
11437 (synopsis "Deflate decompression for Common Lisp")
11438 (description
11439 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
11440 with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
11441 foreign pointers (for use with mmap and similar, etc), and from CL octet
11442 vectors and streams.")
11443 (license license:expat))))
11444
11445 (define-public cl-3bz
11446 (sbcl-package->cl-source-package sbcl-3bz))
11447
11448 (define-public ecl-3bz
11449 (sbcl-package->ecl-package sbcl-3bz))
11450
11451 (define-public sbcl-zpb-exif
11452 (package
11453 (name "sbcl-zpb-exif")
11454 (version "1.2.4")
11455 (source
11456 (origin
11457 (method git-fetch)
11458 (uri (git-reference
11459 (url "https://github.com/xach/zpb-exif")
11460 (commit (string-append "release-" version))))
11461 (file-name (git-file-name name version))
11462 (sha256
11463 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
11464 (build-system asdf-build-system/sbcl)
11465 (home-page "https://xach.com/lisp/zpb-exif/")
11466 (synopsis "EXIF information extractor for Common Lisp")
11467 (description
11468 "This is a Common Lisp library to extract EXIF information from image
11469 files.")
11470 (license license:bsd-2)))
11471
11472 (define-public cl-zpb-exif
11473 (sbcl-package->cl-source-package sbcl-zpb-exif))
11474
11475 (define-public ecl-zpb-exif
11476 (sbcl-package->ecl-package sbcl-zpb-exif))
11477
11478 (define-public sbcl-pngload
11479 (package
11480 (name "sbcl-pngload")
11481 (version "2.0.0")
11482 (source
11483 (origin
11484 (method git-fetch)
11485 (uri (git-reference
11486 (url "https://github.com/bufferswap/pngload")
11487 (commit version)))
11488 (file-name (git-file-name name version))
11489 (sha256
11490 (base32 "1ix8dd0fxlf8xm0bszh1s7sx83hn0vqq8b8c9gkrd5m310w8mpvh"))))
11491 (build-system asdf-build-system/sbcl)
11492 (inputs
11493 `(("3bz" ,sbcl-3bz)
11494 ("alexandria" ,sbcl-alexandria)
11495 ("cffi" ,sbcl-cffi)
11496 ("mmap" ,sbcl-mmap)
11497 ("parse-float" ,sbcl-parse-float)
11498 ("static-vectors" ,sbcl-static-vectors)
11499 ("swap-bytes" ,sbcl-swap-bytes)
11500 ("zpb-exif" ,sbcl-zpb-exif)))
11501 (arguments
11502 ;; Test suite disabled because of a dependency cycle.
11503 ;; pngload tests depend on opticl which depends on pngload.
11504 '(#:tests? #f))
11505 (home-page "https://github.com/bufferswap/pngload")
11506 (synopsis "PNG image decoder for Common Lisp")
11507 (description
11508 "This is a Common Lisp library to load images in the PNG image format,
11509 both from files on disk, or streams in memory.")
11510 (license license:expat)))
11511
11512 (define-public cl-pngload
11513 (sbcl-package->cl-source-package sbcl-pngload))
11514
11515 (define-public ecl-pngload
11516 (sbcl-package->ecl-package sbcl-pngload))
11517
11518 (define-public sbcl-opticl
11519 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
11520 (revision "0"))
11521 (package
11522 (name "sbcl-opticl")
11523 (version (git-version "0.0.0" revision commit))
11524 (source
11525 (origin
11526 (method git-fetch)
11527 (uri (git-reference
11528 (url "https://github.com/slyrus/opticl")
11529 (commit commit)))
11530 (file-name (git-file-name name version))
11531 (sha256
11532 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
11533 (build-system asdf-build-system/sbcl)
11534 (native-inputs
11535 `(("fiveam" ,sbcl-fiveam)))
11536 (inputs
11537 `(("alexandria" ,sbcl-alexandria)
11538 ("cl-jpeg" ,sbcl-cl-jpeg)
11539 ("cl-tga" ,sbcl-cl-tga)
11540 ("png-read" ,sbcl-png-read)
11541 ("pngload" ,sbcl-pngload)
11542 ("retrospectiff" ,sbcl-retrospectiff)
11543 ("skippy" ,sbcl-skippy)
11544 ("zpng" ,sbcl-zpng)))
11545 (arguments
11546 '(#:asd-files '("opticl.asd")))
11547 (home-page "https://github.com/slyrus/opticl")
11548 (synopsis "Image processing library for Common Lisp")
11549 (description
11550 "Opticl is a Common Lisp library for representing, processing, loading,
11551 and saving 2-dimensional pixel-based images.")
11552 (license license:bsd-2))))
11553
11554 (define-public cl-opticl
11555 (sbcl-package->cl-source-package sbcl-opticl))
11556
11557 (define-public ecl-opticl
11558 (sbcl-package->ecl-package sbcl-opticl))
11559
11560 (define-public sbcl-mcclim
11561 (let ((commit "04cc542dd4b461b9d56406e40681d1a8f080730f")
11562 (revision "1"))
11563 (package
11564 (name "sbcl-mcclim")
11565 (version (git-version "0.9.7" revision commit))
11566 (source
11567 (origin
11568 (method git-fetch)
11569 (uri (git-reference
11570 (url "https://github.com/mcclim/mcclim")
11571 (commit commit)))
11572 (file-name (git-file-name name version))
11573 (sha256
11574 (base32 "1xjly8i62z72hfhlnz5kjd9i8xhrwckc7avyizxvhih67pkjmsx0"))))
11575 (build-system asdf-build-system/sbcl)
11576 (native-inputs
11577 `(("fiveam" ,sbcl-fiveam)
11578 ("pkg-config" ,pkg-config)))
11579 (inputs
11580 `(("alexandria" ,sbcl-alexandria)
11581 ("babel" ,sbcl-babel)
11582 ("bordeaux-threads" ,sbcl-bordeaux-threads)
11583 ("cl-freetype2" ,sbcl-cl-freetype2)
11584 ("cl-pdf" ,sbcl-cl-pdf)
11585 ("cffi" ,sbcl-cffi)
11586 ("cl-unicode" ,sbcl-cl-unicode)
11587 ("cl-vectors" ,sbcl-cl-vectors)
11588 ("closer-mop" ,sbcl-closer-mop)
11589 ("clx" ,sbcl-clx)
11590 ("flexi-streams" ,sbcl-flexi-streams)
11591 ("flexichain" ,sbcl-flexichain)
11592 ("font-dejavu" ,font-dejavu)
11593 ("fontconfig" ,fontconfig)
11594 ("freetype" ,freetype)
11595 ("harfbuzz" ,harfbuzz)
11596 ("log4cl" ,sbcl-log4cl)
11597 ("opticl" ,sbcl-opticl)
11598 ("spatial-trees" ,sbcl-spatial-trees)
11599 ("swank" ,sbcl-slime-swank)
11600 ("trivial-features" ,sbcl-trivial-features)
11601 ("trivial-garbage" ,sbcl-trivial-garbage)
11602 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
11603 ("zpb-ttf" ,sbcl-zpb-ttf)))
11604 (arguments
11605 '(#:asd-systems '("mcclim"
11606 "clim-examples")
11607 #:phases
11608 (modify-phases %standard-phases
11609 (add-after 'unpack 'fix-paths
11610 (lambda* (#:key inputs #:allow-other-keys)
11611 ;; mcclim-truetype uses DejaVu as default font and
11612 ;; sets the path at build time.
11613 (substitute* "Extensions/fonts/fontconfig.lisp"
11614 (("/usr/share/fonts/truetype/dejavu/")
11615 (string-append (assoc-ref inputs "font-dejavu")
11616 "/share/fonts/truetype/")))
11617 (substitute* "Extensions/fontconfig/src/functions.lisp"
11618 (("libfontconfig\\.so")
11619 (string-append (assoc-ref inputs "fontconfig")
11620 "/lib/libfontconfig.so")))
11621 (substitute* "Extensions/harfbuzz/src/functions.lisp"
11622 (("libharfbuzz\\.so")
11623 (string-append (assoc-ref inputs "harfbuzz")
11624 "/lib/libharfbuzz.so")))
11625 #t))
11626 (add-after 'unpack 'fix-build
11627 (lambda _
11628 ;; The cffi-grovel system does not get loaded automatically,
11629 ;; so we load it explicitly.
11630 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
11631 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
11632 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
11633 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
11634 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
11635 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
11636 #t)))))
11637 (home-page "https://common-lisp.net/project/mcclim/")
11638 (synopsis "Common Lisp GUI toolkit")
11639 (description
11640 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
11641 specification}, a toolkit for writing GUIs in Common Lisp.")
11642 (license license:lgpl2.1+))))
11643
11644 (define-public cl-mcclim
11645 (sbcl-package->cl-source-package sbcl-mcclim))
11646
11647 (define-public ecl-mcclim
11648 (sbcl-package->ecl-package sbcl-mcclim))
11649
11650 (define-public sbcl-cl-inflector
11651 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
11652 (revision "1"))
11653 (package
11654 (name "sbcl-cl-inflector")
11655 (version (git-version "0.2" revision commit))
11656 (source
11657 (origin
11658 (method git-fetch)
11659 (uri (git-reference
11660 (url "https://github.com/AccelerationNet/cl-inflector")
11661 (commit commit)))
11662 (file-name (git-file-name name version))
11663 (sha256
11664 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
11665 (build-system asdf-build-system/sbcl)
11666 (native-inputs
11667 `(("lisp-unit2" ,sbcl-lisp-unit2)))
11668 (inputs
11669 `(("alexandria" ,sbcl-alexandria)
11670 ("cl-ppcre" ,sbcl-cl-ppcre)))
11671 (home-page "https://github.com/AccelerationNet/cl-inflector")
11672 (synopsis "Library to pluralize/singularize English and Portuguese words")
11673 (description
11674 "This is a common lisp library to easily pluralize and singularize
11675 English and Portuguese words. This is a port of the ruby ActiveSupport
11676 Inflector module.")
11677 (license license:expat))))
11678
11679 (define-public cl-inflector
11680 (sbcl-package->cl-source-package sbcl-cl-inflector))
11681
11682 (define-public ecl-cl-inflector
11683 (sbcl-package->ecl-package sbcl-cl-inflector))
11684
11685 (define-public sbcl-ixf
11686 (let ((commit "ed26f87e4127e4a9e3aac4ff1e60d1f39cca5183")
11687 (revision "1"))
11688 (package
11689 (name "sbcl-ixf")
11690 (version (git-version "0.1.0" revision commit))
11691 (source
11692 (origin
11693 (method git-fetch)
11694 (uri (git-reference
11695 (url "https://github.com/dimitri/cl-ixf")
11696 (commit commit)))
11697 (file-name (git-file-name "cl-ixf" version))
11698 (sha256
11699 (base32 "1wjdnf4vr9z7lcfc49kl43g6l2i23q9n81siy494k17d766cdvqa"))))
11700 (build-system asdf-build-system/sbcl)
11701 (inputs
11702 `(("alexandria" ,sbcl-alexandria)
11703 ("babel" ,sbcl-babel)
11704 ("cl-ppcre" ,sbcl-cl-ppcre)
11705 ("ieee-floats" ,sbcl-ieee-floats)
11706 ("local-time" ,sbcl-local-time)
11707 ("md5" ,sbcl-md5)
11708 ("split-sequence" ,sbcl-split-sequence)))
11709 (home-page "https://github.com/dimitri/cl-ixf")
11710 (synopsis "Parse IBM IXF file format")
11711 (description
11712 "This is a Common Lisp library to handle the IBM PC version of the IXF
11713 (Integration Exchange Format) file format.")
11714 (license license:public-domain))))
11715
11716 (define-public ecl-ixf
11717 (sbcl-package->ecl-package sbcl-ixf))
11718
11719 (define-public cl-ixf
11720 (sbcl-package->cl-source-package sbcl-ixf))
11721
11722 (define-public sbcl-qbase64
11723 (package
11724 (name "sbcl-qbase64")
11725 (version "0.3.0")
11726 (source
11727 (origin
11728 (method git-fetch)
11729 (uri (git-reference
11730 (url "https://github.com/chaitanyagupta/qbase64")
11731 (commit version)))
11732 (file-name (git-file-name name version))
11733 (sha256
11734 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
11735 (build-system asdf-build-system/sbcl)
11736 (inputs
11737 `(("metabang-bind" ,sbcl-metabang-bind)
11738 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
11739 (native-inputs
11740 `(("fiveam" ,sbcl-fiveam)))
11741 (home-page "https://github.com/chaitanyagupta/qbase64")
11742 (synopsis "Base64 encoder and decoder for Common Lisp")
11743 (description "@code{qbase64} provides a fast and flexible base64 encoder
11744 and decoder for Common Lisp.")
11745 (license license:bsd-3)))
11746
11747 (define-public cl-qbase64
11748 (sbcl-package->cl-source-package sbcl-qbase64))
11749
11750 (define-public ecl-qbase64
11751 (sbcl-package->ecl-package sbcl-qbase64))
11752
11753 (define-public sbcl-lw-compat
11754 ;; No release since 2013.
11755 (let ((commit "aabfe28c6c1a4949f9d7b3cb30319367c9fd1c0d"))
11756 (package
11757 (name "sbcl-lw-compat")
11758 (version (git-version "1.0.0" "1" commit))
11759 (source
11760 (origin
11761 (method git-fetch)
11762 (uri (git-reference
11763 (url "https://github.com/pcostanza/lw-compat/")
11764 (commit commit)))
11765 (file-name (git-file-name name version))
11766 (sha256
11767 (base32 "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav"))))
11768 (build-system asdf-build-system/sbcl)
11769 (home-page "https://github.com/pcostanza/lw-compat/")
11770 (synopsis "LispWorks utilities ported to other Common Lisp implementations")
11771 (description "This package contains a few utility functions from the
11772 LispWorks library that are used in software such as ContextL.")
11773 (license license:expat))))
11774
11775 (define-public cl-lw-compat
11776 (sbcl-package->cl-source-package sbcl-lw-compat))
11777
11778 (define-public ecl-lw-compat
11779 (sbcl-package->ecl-package sbcl-lw-compat))
11780
11781 (define-public sbcl-contextl
11782 ;; No release since 2013.
11783 (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9"))
11784 (package
11785 (name "sbcl-contextl")
11786 (version (git-version "1.0.0" "1" commit))
11787 (source
11788 (origin
11789 (method git-fetch)
11790 (uri (git-reference
11791 (url "https://github.com/pcostanza/contextl/")
11792 (commit commit)))
11793 (file-name (git-file-name name version))
11794 (sha256
11795 (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226"))))
11796 (build-system asdf-build-system/sbcl)
11797 (inputs
11798 `(("closer-mop" ,sbcl-closer-mop)
11799 ("lw-compat" ,sbcl-lw-compat)))
11800 (home-page "https://github.com/pcostanza/contextl")
11801 (synopsis "Context-oriented programming for Common Lisp")
11802 (description "ContextL is a CLOS extension for Context-Oriented
11803 Programming (COP).
11804
11805 Find overview of ContextL's features in an overview paper:
11806 @url{http://www.p-cos.net/documents/contextl-soa.pdf}. See also this general
11807 overview article about COP which also contains some ContextL examples:
11808 @url{http://www.jot.fm/issues/issue_2008_03/article4/}.")
11809 (license license:expat))))
11810
11811 (define-public cl-contextl
11812 (sbcl-package->cl-source-package sbcl-contextl))
11813
11814 (define-public ecl-contextl
11815 (sbcl-package->ecl-package sbcl-contextl))
11816
11817 (define-public sbcl-hu.dwim.common-lisp
11818 (package
11819 (name "sbcl-hu.dwim.common-lisp")
11820 (version "2015-07-09")
11821 (source
11822 (origin
11823 (method url-fetch)
11824 (uri (string-append
11825 "http://beta.quicklisp.org/archive/hu.dwim.common-lisp/"
11826 version "/hu.dwim.common-lisp-"
11827 (string-replace-substring version "-" "")
11828 "-darcs.tgz"))
11829 (sha256
11830 (base32 "13cxrvh55rw080mvfir7s7k735l9rcfh3khxp97qfwd5rz0gadb9"))))
11831 (build-system asdf-build-system/sbcl)
11832 (native-inputs
11833 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11834 (home-page "http://dwim.hu/")
11835 (synopsis "Redefine some standard Common Lisp names")
11836 (description "This library is a redefinition of the standard Common Lisp
11837 package that includes a number of renames and shadows. ")
11838 (license license:public-domain)))
11839
11840 (define-public cl-hu.dwim.common-lisp
11841 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
11842
11843 (define-public ecl-hu.dwim.common-lisp
11844 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
11845
11846 (define-public sbcl-hu.dwim.common
11847 (package
11848 (name "sbcl-hu.dwim.common")
11849 (version "2015-07-09")
11850 (source
11851 (origin
11852 (method url-fetch)
11853 (uri (string-append
11854 "http://beta.quicklisp.org/archive/hu.dwim.common/"
11855 version "/hu.dwim.common-"
11856 (string-replace-substring version "-" "")
11857 "-darcs.tgz"))
11858 (sha256
11859 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
11860 (build-system asdf-build-system/sbcl)
11861 (native-inputs
11862 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11863 (inputs
11864 `(("alexandria" ,sbcl-alexandria)
11865 ("anaphora" ,sbcl-anaphora)
11866 ("closer-mop" ,sbcl-closer-mop)
11867 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
11868 ("iterate" ,sbcl-iterate)
11869 ("metabang-bind" ,sbcl-metabang-bind)))
11870 (home-page "http://dwim.hu/")
11871 (synopsis "Common Lisp library shared by other hu.dwim systems")
11872 (description "This package contains a support library for other
11873 hu.dwim systems.")
11874 (license license:public-domain)))
11875
11876 (define-public cl-hu.dwim.common
11877 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
11878
11879 (define-public ecl-hu.dwim.common
11880 (sbcl-package->ecl-package sbcl-hu.dwim.common))
11881
11882 (define-public sbcl-hu.dwim.defclass-star
11883 (let ((commit "39d458f1b1bc830d1f5e18a6a35bf0e96a2cfd61"))
11884 (package
11885 (name "sbcl-hu.dwim.defclass-star")
11886 ;; We used to set version from the date when it was a darcs repo, so we
11887 ;; keep the year so that package gets updated on previous installs.
11888 (version (git-version "2021" "1" commit))
11889 (source
11890 (origin
11891 (method git-fetch)
11892 (uri (git-reference
11893 (url "https://github.com/hu-dwim/hu.dwim.defclass-star")
11894 (commit commit)))
11895 (file-name (git-file-name name version))
11896 (sha256
11897 (base32 "0hfkq2wad98vkyxdg1wh18y86d9w9yqkm8lxkk96szvpwymm7lmq"))))
11898 (build-system asdf-build-system/sbcl)
11899 (native-inputs
11900 `( ;; These 2 inputs are only needed tests which are disabled, see below.
11901 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
11902 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
11903 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
11904 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11905 (arguments
11906 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
11907 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
11908 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
11909 #:tests? #f))
11910 (home-page "https://github.com/hu-dwim/hu.dwim.defclass-star")
11911 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
11912 (description "@code{defclass-star} provides defclass* and defcondition* to
11913 simplify class and condition declarations. Features include:
11914
11915 @itemize
11916 @item Automatically export all or select slots at compile time.
11917 @item Define the @code{:initarg} and @code{:accessor} automatically.
11918 @item Specify a name transformer for both the @code{:initarg} and
11919 @code{:accessor}, etc.
11920 @item Specify the @code{:initform} as second slot value.
11921 @end itemize
11922
11923 See
11924 @url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
11925 for an example.")
11926 (license license:public-domain))))
11927
11928 (define-public cl-hu.dwim.defclass-star
11929 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
11930
11931 (define-public ecl-hu.dwim.defclass-star
11932 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))
11933
11934 (define-public sbcl-livesupport
11935 (let ((commit "71e6e412df9f3759ad8378fabb203913d82e228a")
11936 (revision "1"))
11937 (package
11938 (name "sbcl-livesupport")
11939 (version (git-version "0.0.0" revision commit))
11940 (source
11941 (origin
11942 (method git-fetch)
11943 (uri (git-reference
11944 (url "https://github.com/cbaggers/livesupport")
11945 (commit commit)))
11946 (file-name (git-file-name name version))
11947 (sha256
11948 (base32 "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"))))
11949 (build-system asdf-build-system/sbcl)
11950 (home-page "https://github.com/cbaggers/livesupport")
11951 (synopsis "Some helpers that make livecoding a little easier")
11952 (description "This package provides a macro commonly used in livecoding to
11953 enable continuing when errors are raised. Simply wrap around a chunk of code
11954 and it provides a restart called @code{continue} which ignores the error and
11955 carrys on from the end of the body.")
11956 (license license:bsd-2))))
11957
11958 (define-public cl-livesupport
11959 (sbcl-package->cl-source-package sbcl-livesupport))
11960
11961 (define-public ecl-livesupport
11962 (sbcl-package->ecl-package sbcl-livesupport))
11963
11964 (define-public sbcl-envy
11965 (let ((commit "956321b2852d58ba71c6fe621f5c2924178e9f88")
11966 (revision "1"))
11967 (package
11968 (name "sbcl-envy")
11969 (version (git-version "0.1" revision commit))
11970 (home-page "https://github.com/fukamachi/envy")
11971 (source
11972 (origin
11973 (method git-fetch)
11974 (uri (git-reference
11975 (url home-page)
11976 (commit commit)))
11977 (file-name (git-file-name name version))
11978 (sha256
11979 (base32 "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg"))))
11980 (build-system asdf-build-system/sbcl)
11981 ;; (native-inputs ; Only for tests.
11982 ;; `(("prove" ,sbcl-prove)
11983 ;; ("osicat" ,sbcl-osicat)))
11984 (arguments
11985 '(#:phases
11986 (modify-phases %standard-phases
11987 (add-after 'unpack 'fix-tests
11988 (lambda _
11989 (substitute* "envy-test.asd"
11990 (("cl-test-more") "prove"))
11991 #t)))
11992 ;; Tests fail with
11993 ;; Component ENVY-ASD::ENVY-TEST not found, required by #<SYSTEM "envy">
11994 ;; like xsubseq. Why?
11995 #:tests? #f))
11996 (synopsis "Common Lisp configuration switcher inspired by Perl's Config::ENV.")
11997 (description "Envy is a configuration manager for various applications.
11998 Envy uses an environment variable to determine a configuration to use. This
11999 can separate configuration system from an implementation.")
12000 (license license:bsd-2))))
12001
12002 (define-public cl-envy
12003 (sbcl-package->cl-source-package sbcl-envy))
12004
12005 (define-public ecl-envy
12006 (sbcl-package->ecl-package sbcl-envy))
12007
12008 (define-public sbcl-mito
12009 (let ((commit "d3b9e375ef364a65692da2185085a08c969ac88a")
12010 (revision "1"))
12011 (package
12012 (name "sbcl-mito")
12013 (version (git-version "0.1" revision commit))
12014 (home-page "https://github.com/fukamachi/mito")
12015 (source
12016 (origin
12017 (method git-fetch)
12018 (uri (git-reference
12019 (url home-page)
12020 (commit commit)))
12021 (file-name (git-file-name name version))
12022 (sha256
12023 (base32 "08mncgzjnbbsf1a6am3l73iw4lyfvz5ldjg5g84awfaxml4p73mb"))))
12024 (build-system asdf-build-system/sbcl)
12025 (native-inputs
12026 `(("prove" ,sbcl-prove)))
12027 (inputs
12028 `(("alexandria" ,sbcl-alexandria)
12029 ("cl-ppcre" ,sbcl-cl-ppcre)
12030 ("cl-reexport" ,sbcl-cl-reexport)
12031 ("closer-mop" ,sbcl-closer-mop)
12032 ("dbi" ,sbcl-dbi)
12033 ("dissect" ,sbcl-dissect)
12034 ("esrap" ,sbcl-esrap)
12035 ("local-time" ,sbcl-local-time)
12036 ("optima" ,sbcl-optima)
12037 ("sxql" ,sbcl-sxql)
12038 ("uuid" ,sbcl-uuid)))
12039 (arguments
12040 '(#:phases
12041 (modify-phases %standard-phases
12042 (add-after 'unpack 'remove-non-functional-tests
12043 (lambda _
12044 (substitute* "mito-test.asd"
12045 (("\\(:test-file \"db/mysql\"\\)") "")
12046 (("\\(:test-file \"db/postgres\"\\)") "")
12047 (("\\(:test-file \"dao\"\\)") "")
12048 ;; TODO: migration/sqlite3 should work, re-enable once
12049 ;; upstream has fixed it:
12050 ;; https://github.com/fukamachi/mito/issues/70
12051 (("\\(:test-file \"migration/sqlite3\"\\)") "")
12052 (("\\(:test-file \"migration/mysql\"\\)") "")
12053 (("\\(:test-file \"migration/postgres\"\\)") "")
12054 (("\\(:test-file \"postgres-types\"\\)") "")
12055 (("\\(:test-file \"mixin\"\\)") ""))
12056 #t)))
12057 ;; TODO: While all enabled tests pass, the phase fails with:
12058 ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito">
12059 #:tests? #f))
12060 (synopsis "ORM for Common Lisp with migrations and relationships support")
12061 (description "Mito is yet another object relational mapper, and it aims
12062 to be a successor of Integral.
12063
12064 @itemize
12065 @item Support MySQL, PostgreSQL and SQLite3.
12066 @item Add id (serial/uuid primary key), created_at and updated_at by default
12067 like Ruby's ActiveRecord.
12068 @item Migrations.
12069 @item Database schema versioning.
12070 @end itemize\n")
12071 (license license:llgpl))))
12072
12073 (define-public cl-mito
12074 (sbcl-package->cl-source-package sbcl-mito))
12075
12076 (define-public ecl-mito
12077 (sbcl-package->ecl-package sbcl-mito))
12078
12079 (define-public sbcl-kebab
12080 (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b")
12081 (revision "1"))
12082 (package
12083 (name "sbcl-kebab")
12084 (version (git-version "0.1" revision commit))
12085 (home-page "https://github.com/pocket7878/kebab")
12086 (source
12087 (origin
12088 (method git-fetch)
12089 (uri (git-reference
12090 (url home-page)
12091 (commit commit)))
12092 (file-name (git-file-name name version))
12093 (sha256
12094 (base32 "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"))))
12095 (build-system asdf-build-system/sbcl)
12096 (inputs
12097 `(("cl-ppcre" ,sbcl-cl-ppcre)
12098 ("alexandria" ,sbcl-alexandria)
12099 ("cl-interpol" ,sbcl-cl-interpol)
12100 ("split-sequence" ,sbcl-split-sequence)))
12101 (native-inputs
12102 `(("prove" ,sbcl-prove)))
12103 (arguments
12104 ;; Tests passes but the phase fails with
12105 ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">.
12106 `(#:tests? #f))
12107 (synopsis "Common Lisp case converter")
12108 (description "This Common Lisp library converts strings, symbols and
12109 keywords between any of the following typographical cases: PascalCase,
12110 camelCase, snake_case, kebab-case (lisp-case).")
12111 (license license:llgpl))))
12112
12113 (define-public cl-kebab
12114 (sbcl-package->cl-source-package sbcl-kebab))
12115
12116 (define-public ecl-kebab
12117 (sbcl-package->ecl-package sbcl-kebab))
12118
12119 (define-public sbcl-datafly
12120 (let ((commit "adece27fcbc4b5ea39ad1a105048b6b7166e3b0d")
12121 (revision "1"))
12122 (package
12123 (name "sbcl-datafly")
12124 (version (git-version "0.1" revision commit))
12125 (home-page "https://github.com/fukamachi/datafly")
12126 (source
12127 (origin
12128 (method git-fetch)
12129 (uri (git-reference
12130 (url home-page)
12131 (commit commit)))
12132 (file-name (git-file-name name version))
12133 (sha256
12134 (base32 "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv"))))
12135 (build-system asdf-build-system/sbcl)
12136 (inputs
12137 `(("alexandria" ,sbcl-alexandria)
12138 ("iterate" ,sbcl-iterate)
12139 ("optima" ,sbcl-optima)
12140 ("trivial-types" ,sbcl-trivial-types)
12141 ("closer-mop" ,sbcl-closer-mop)
12142 ("cl-syntax" ,sbcl-cl-syntax)
12143 ("sxql" ,sbcl-sxql)
12144 ("dbi" ,sbcl-dbi)
12145 ("babel" ,sbcl-babel)
12146 ("local-time" ,sbcl-local-time)
12147 ("function-cache" ,sbcl-function-cache)
12148 ("jonathan" ,sbcl-jonathan)
12149 ("kebab" ,sbcl-kebab)
12150 ("log4cl" ,sbcl-log4cl)))
12151 (native-inputs
12152 `(("prove" ,sbcl-prove)))
12153 (arguments
12154 ;; TODO: Tests fail with
12155 ;; While evaluating the form starting at line 22, column 0
12156 ;; of #P"/tmp/guix-build-sbcl-datafly-0.1-1.adece27.drv-0/source/t/datafly.lisp":
12157 ;; Unhandled SQLITE:SQLITE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
12158 ;; {10009F8083}>:
12159 ;; Error when binding parameter 1 to value NIL.
12160 ;; Code RANGE: column index out of range.
12161 `(#:tests? #f))
12162 (synopsis "Lightweight database library for Common Lisp")
12163 (description "Datafly is a lightweight database library for Common Lisp.")
12164 (license license:bsd-3))))
12165
12166 (define-public cl-datafly
12167 (sbcl-package->cl-source-package sbcl-datafly))
12168
12169 (define-public ecl-datafly
12170 (sbcl-package->ecl-package sbcl-datafly))
12171
12172 (define-public sbcl-do-urlencode
12173 (let ((commit "199846441dad5dfac5478b8dee4b4e20d107af6a")
12174 (revision "1"))
12175 (package
12176 (name "sbcl-do-urlencode")
12177 (version (git-version "0.0.0" revision commit))
12178 (home-page "https://github.com/drdo/do-urlencode")
12179 (source
12180 (origin
12181 (method git-fetch)
12182 (uri (git-reference
12183 (url home-page)
12184 (commit commit)))
12185 (file-name (git-file-name name version))
12186 (sha256
12187 (base32 "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"))))
12188 (build-system asdf-build-system/sbcl)
12189 (inputs
12190 `(("alexandria" ,sbcl-alexandria)
12191 ("babel" ,sbcl-babel)))
12192 (synopsis "Percent Encoding (aka URL Encoding) Common Lisp library")
12193 (description "This library provides trivial percent encoding and
12194 decoding functions for URLs.")
12195 (license license:isc))))
12196
12197 (define-public cl-do-urlencode
12198 (sbcl-package->cl-source-package sbcl-do-urlencode))
12199
12200 (define-public ecl-do-urlencode
12201 (sbcl-package->ecl-package sbcl-do-urlencode))
12202
12203 (define-public sbcl-cl-emb
12204 (let ((commit "fd8652174d048d4525a81f38cdf42f4fa519f840")
12205 (revision "1"))
12206 (package
12207 (name "sbcl-cl-emb")
12208 (version (git-version "0.4.3" revision commit))
12209 (home-page "https://common-lisp.net/project/cl-emb/")
12210 (source
12211 (origin
12212 (method git-fetch)
12213 (uri (git-reference
12214 (url "https://github.com/38a938c2/cl-emb")
12215 (commit commit)))
12216 (file-name (git-file-name name version))
12217 (sha256
12218 (base32 "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"))))
12219 (build-system asdf-build-system/sbcl)
12220 (inputs
12221 `(("cl-ppcre" ,sbcl-cl-ppcre)))
12222 (synopsis "Templating system for Common Lisp")
12223 (description "A mixture of features from eRuby and HTML::Template. You
12224 could name it \"Yet Another LSP\" (LispServer Pages) but it's a bit more than
12225 that and not limited to a certain server or text format.")
12226 (license license:llgpl))))
12227
12228 (define-public cl-emb
12229 (sbcl-package->cl-source-package sbcl-cl-emb))
12230
12231 (define-public ecl-cl-emb
12232 (sbcl-package->ecl-package sbcl-cl-emb))
12233
12234 (define-public sbcl-cl-project
12235 (let ((commit "151107014e534fc4666222d57fec2cc8549c8814")
12236 (revision "1"))
12237 (package
12238 (name "sbcl-cl-project")
12239 (version (git-version "0.3.1" revision commit))
12240 (home-page "https://github.com/fukamachi/cl-project")
12241 (source
12242 (origin
12243 (method git-fetch)
12244 (uri (git-reference
12245 (url home-page)
12246 (commit commit)))
12247 (file-name (git-file-name name version))
12248 (sha256
12249 (base32 "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y"))))
12250 (build-system asdf-build-system/sbcl)
12251 (inputs
12252 `(("cl-emb" ,sbcl-cl-emb)
12253 ("cl-ppcre" ,sbcl-cl-ppcre)
12254 ("local-time" ,sbcl-local-time)
12255 ("prove" ,sbcl-prove)))
12256 (arguments
12257 ;; Tests depend on caveman, which in turns depends on cl-project.
12258 '(#:tests? #f
12259 #:asd-files '("cl-project.asd")))
12260 (synopsis "Generate a skeleton for modern Common Lisp projects")
12261 (description "This library provides a modern project skeleton generator.
12262 In contract with other generators, CL-Project generates one package per file
12263 and encourages unit testing by generating a system for unit testing, so you
12264 can begin writing unit tests as soon as the project is generated.")
12265 (license license:llgpl))))
12266
12267 (define-public cl-project
12268 (sbcl-package->cl-source-package sbcl-cl-project))
12269
12270 (define-public ecl-cl-project
12271 (sbcl-package->ecl-package sbcl-cl-project))
12272
12273 (define-public sbcl-caveman
12274 (let ((commit "faa5f7e3b364fd7e7096af9a7bb06728b8d80441") ; No release since 2012
12275 (revision "1"))
12276 (package
12277 (name "sbcl-caveman")
12278 (version (git-version "2.4.0" revision commit))
12279 (home-page "http://8arrow.org/caveman/")
12280 (source
12281 (origin
12282 (method git-fetch)
12283 (uri (git-reference
12284 (url "https://github.com/fukamachi/caveman/")
12285 (commit commit)))
12286 (file-name (git-file-name name version))
12287 (sha256
12288 (base32 "0kh0gx05pczk8f7r9qdi4zn1p3d0a2prps27k7jpgvc1dxkl8qhq"))))
12289 (build-system asdf-build-system/sbcl)
12290 (inputs
12291 `(("ningle" ,cl-ningle)
12292 ("lack" ,sbcl-lack)
12293 ("cl-project" ,sbcl-cl-project)
12294 ("dbi" ,sbcl-dbi)
12295 ("cl-syntax" ,sbcl-cl-syntax)
12296 ("myway" ,sbcl-myway)
12297 ("quri" ,sbcl-quri)))
12298 (native-inputs
12299 `(("usocket" ,sbcl-usocket)
12300 ("dexador" ,sbcl-dexador)))
12301 (arguments
12302 `(#:asd-files '("caveman2.asd")
12303 #:asd-systems '("caveman2")
12304 #:phases
12305 (modify-phases %standard-phases
12306 (add-after 'unpack 'remove-v1
12307 (lambda _
12308 (delete-file-recursively "v1")
12309 (for-each delete-file
12310 '("README.v1.markdown" "caveman.asd" "caveman-test.asd")))))
12311 ;; TODO: Tests fail with:
12312 ;; writing /gnu/store/...-sbcl-caveman-2.4.0-1.faa5f7e/share/common-lisp/sbcl-source/caveman2/v2/t/tmp/myapp573/tests/myapp573.lisp
12313 ;; While evaluating the form starting at line 38, column 0
12314 ;; of #P"/tmp/guix-build-sbcl-caveman-2.4.0-1.faa5f7e.drv-0/source/v2/t/caveman.lisp":
12315 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD "main thread" RUNNING
12316 ;; {10009F8083}>:
12317 ;; Component "myapp573" not found
12318 #:tests? #f))
12319 (synopsis "Lightweight web application framework in Common Lisp")
12320 (description "Caveman is intended to be a collection of common parts for
12321 web applications. Caveman2 has three design goals:
12322
12323 @itemize
12324 @item Be extensible.
12325 @item Be practical.
12326 @item Don't force anything.
12327 @end itemize\n")
12328 (license license:llgpl))))
12329
12330 (define-public cl-caveman
12331 (package
12332 (inherit
12333 (sbcl-package->cl-source-package sbcl-caveman))
12334 (propagated-inputs
12335 `(("ningle" ,cl-ningle)))))
12336
12337 (define-public ecl-caveman
12338 (sbcl-package->ecl-package sbcl-caveman))
12339
12340 (define-public sbcl-lambda-fiddle
12341 (let ((commit "d16bba55acf6065b412f64ab8fdff679a4a32b1e") ;; no tagged branch
12342 (revision "1"))
12343 (package
12344 (name "sbcl-lambda-fiddle")
12345 (version (git-version "1.0.0" revision commit))
12346 (source
12347 (origin
12348 (method git-fetch)
12349 (uri (git-reference
12350 (url "https://github.com/Shinmera/lambda-fiddle")
12351 (commit commit)))
12352 (file-name (git-file-name name version))
12353 (sha256
12354 (base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand"))))
12355 (build-system asdf-build-system/sbcl)
12356 (home-page "https://github.com/Shinmera/lambda-fiddle")
12357 (synopsis "Collection of utilities to process lambda-lists")
12358 (description "This collection of utilities is useful in contexts where
12359 you want a macro that uses lambda-lists in some fashion but need more precise
12360 processing.")
12361 (license license:zlib))))
12362
12363 (define-public cl-lambda-fiddle
12364 (sbcl-package->cl-source-package sbcl-lambda-fiddle))
12365
12366 (define-public ecl-lambda-fiddle
12367 (sbcl-package->ecl-package sbcl-lambda-fiddle))
12368
12369 (define-public sbcl-xmls
12370 (let ((commit "18546f0850b1338e03997ffd1696add1cb1800d1") ;; no tagged branch
12371 (revision "1"))
12372 (package
12373 (name "sbcl-xmls")
12374 (version (git-version "3.0.2" revision commit))
12375 (source
12376 (origin
12377 (method git-fetch)
12378 (uri (git-reference
12379 (url "https://github.com/rpgoldman/xmls")
12380 (commit commit)))
12381 (file-name (git-file-name name version))
12382 (sha256
12383 (base32 "1lmvfml2ldbb1wkhm25jqqk2bhwsz52hhcgljbnzj1xr8xhc3anp"))))
12384 (native-inputs
12385 `(("fiveam" ,sbcl-fiveam)))
12386 (build-system asdf-build-system/sbcl)
12387 (home-page "https://github.com/rpgoldman/xmls")
12388 (synopsis "Non-validating XML parser for Common Lisp")
12389 (description "Xmls is a self-contained, easily embedded parser that
12390 recognizes a useful subset of the XML spec. It provides a simple mapping from
12391 XML to Lisp structures or s-expressions and back.")
12392 (license license:bsd-2))))
12393
12394 (define-public cl-xmls
12395 (sbcl-package->cl-source-package sbcl-xmls))
12396
12397 (define-public ecl-xmls
12398 (sbcl-package->ecl-package sbcl-xmls))
12399
12400 (define-public sbcl-geco
12401 (package
12402 (name "sbcl-geco")
12403 (version "2.1.1")
12404 (source
12405 (origin
12406 (method git-fetch)
12407 (uri (git-reference
12408 (url "https://github.com/gpwwjr/GECO")
12409 (commit (string-append "v" version))))
12410 (file-name (git-file-name "geco" version))
12411 (sha256
12412 (base32 "1rc8a4mk40hjx5qy980hjylv6xxqdbq38hg8c4w30y93abfd519s"))))
12413 (build-system asdf-build-system/sbcl)
12414 (home-page "http://hiwaay.net/~gpw/geco/geco.html")
12415 (synopsis "Genetic algorithm toolkit for Common Lisp")
12416 (description
12417 "GECO (Genetic Evolution through Combination of Objects) is an extensible,
12418 object-oriented framework for prototyping genetic algorithms in Common Lisp.")
12419 (license license:lgpl2.1+)))
12420
12421 (define-public cl-geco
12422 (sbcl-package->cl-source-package sbcl-geco))
12423
12424 (define-public ecl-geco
12425 (sbcl-package->ecl-package sbcl-geco))
12426
12427 (define-public sbcl-html-entities
12428 (let ((commit "4af018048e891f41d77e7d680ed3aeb639e1eedb"))
12429 (package
12430 (name "sbcl-html-entities")
12431 (version (git-version "0.02" "1" commit))
12432 (source
12433 (origin
12434 (method git-fetch)
12435 (uri (git-reference
12436 (url "https://github.com/BnMcGn/html-entities/")
12437 (commit commit)))
12438 (file-name (git-file-name name version))
12439 (sha256
12440 (base32 "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"))))
12441 (build-system asdf-build-system/sbcl)
12442 (inputs
12443 `(("ppcre" ,sbcl-cl-ppcre)))
12444 (native-inputs
12445 `(("fiveam" ,sbcl-fiveam)))
12446 (home-page "https://github.com/BnMcGn/html-entities/")
12447 (synopsis "Encode and decode entities in HTML with Common Lisp")
12448 (description "Html-entities is a Common Lisp library that lets you
12449 encode and decode entities in HTML.")
12450 (license license:expat))))
12451
12452 (define-public cl-html-entities
12453 (sbcl-package->cl-source-package sbcl-html-entities))
12454
12455 (define-public ecl-html-entities
12456 (sbcl-package->ecl-package sbcl-html-entities))
12457
12458 (define-public sbcl-quicksearch
12459 (let ((commit "fb02ecf7c876ec580ab18c7d2c8c7814c06af599"))
12460 (package
12461 (name "sbcl-quicksearch")
12462 (version (git-version "0.01.04" "1" commit))
12463 (source
12464 (origin
12465 (method git-fetch)
12466 (uri (git-reference
12467 (url "https://github.com/tkych/quicksearch/")
12468 (commit commit)))
12469 (file-name (git-file-name name version))
12470 (sha256
12471 (base32 "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps"))))
12472 (build-system asdf-build-system/sbcl)
12473 (inputs
12474 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12475 ("iterate" ,sbcl-iterate)
12476 ("alexandria" ,sbcl-alexandria)
12477 ("anaphora" ,sbcl-anaphora)
12478 ("ppcre" ,sbcl-cl-ppcre)
12479 ("drakma" ,sbcl-drakma)
12480 ("html-entities" ,sbcl-html-entities)
12481 ("yason" ,sbcl-yason)
12482 ("flexi-streams" ,sbcl-flexi-streams)
12483 ("do-urlencode" ,sbcl-do-urlencode)))
12484 (home-page "https://github.com/tkych/quicksearch/")
12485 (synopsis "Search Engine Interface for Common Lisp packages")
12486 (description "Quicksearch is a search-engine-interface for Common Lisp.
12487 The goal of Quicksearch is to find the Common Lisp library quickly. For
12488 example, if you will find the library about json, just type @code{(qs:?
12489 'json)} at REPL.
12490
12491 The function @code{quicksearch} searches for Common Lisp projects in
12492 Quicklisp, Cliki, GitHub and BitBucket, then outputs results in REPL. The
12493 function @code{?} is abbreviation wrapper for @code{quicksearch}.")
12494 (license license:expat))))
12495
12496 (define-public cl-quicksearch
12497 (sbcl-package->cl-source-package sbcl-quicksearch))
12498
12499 (define-public ecl-quicksearch
12500 (sbcl-package->ecl-package sbcl-quicksearch))
12501
12502 (define-public sbcl-agutil
12503 (let ((commit "df188d754d472da9faa1601a48f1f37bb7b34d68"))
12504 (package
12505 (name "sbcl-agutil")
12506 (version (git-version "0.0.1" "1" commit))
12507 (source
12508 (origin
12509 (method git-fetch)
12510 (uri (git-reference
12511 (url "https://github.com/alex-gutev/agutil/")
12512 (commit commit)))
12513 (file-name (git-file-name name version))
12514 (sha256
12515 (base32 "1xpnyzksk2xld64b6lw6rw0gn5zxlb77jwna59sd4yl7kxhxlfpf"))))
12516 (build-system asdf-build-system/sbcl)
12517 (inputs
12518 `(("alexandria" ,sbcl-alexandria)
12519 ("trivia" ,sbcl-trivia)))
12520 (home-page "https://github.com/alex-gutev/agutil/")
12521 (synopsis "Collection of Common Lisp utilities")
12522 (description "A collection of Common Lisp utility functions and macros
12523 mostly not found in other utility packages.")
12524 (license license:expat))))
12525
12526 (define-public cl-agutil
12527 (sbcl-package->cl-source-package sbcl-agutil))
12528
12529 (define-public ecl-agutil
12530 (sbcl-package->ecl-package sbcl-agutil))
12531
12532 (define-public sbcl-custom-hash-table
12533 (let ((commit "f26983133940f5edf826ebbc8077acc04816ddfa"))
12534 (package
12535 (name "sbcl-custom-hash-table")
12536 (version (git-version "0.3" "1" commit))
12537 (source
12538 (origin
12539 (method git-fetch)
12540 (uri (git-reference
12541 (url "https://github.com/metawilm/cl-custom-hash-table")
12542 (commit commit)))
12543 (file-name (git-file-name name version))
12544 (sha256
12545 (base32 "1k4mvrpbqqds2fwjxp1bxmrfmr8ch4dkwhnkbw559knbqshvrlj5"))))
12546 (build-system asdf-build-system/sbcl)
12547 (arguments
12548 '(#:asd-files '("cl-custom-hash-table.asd")
12549 #:asd-systems '("cl-custom-hash-table")))
12550 (home-page "https://github.com/metawilm/cl-custom-hash-table")
12551 (synopsis "Custom hash tables for Common Lisp")
12552 (description "This library allows creation of hash tables with arbitrary
12553 @code{test}/@code{hash} functions, in addition to the @code{test} functions
12554 allowed by the standard (@code{EQ}, @code{EQL}, @code{EQUAL} and
12555 @code{EQUALP}), even in implementations that don't support this functionality
12556 directly.")
12557 (license license:expat))))
12558
12559 (define-public cl-custom-hash-table
12560 (sbcl-package->cl-source-package sbcl-custom-hash-table))
12561
12562 (define-public ecl-custom-hash-table
12563 (sbcl-package->ecl-package sbcl-custom-hash-table))
12564
12565 (define-public sbcl-collectors
12566 (let ((commit "13acef25d8422d1d82e067b1861e513587c166ee"))
12567 (package
12568 (name "sbcl-collectors")
12569 (version (git-version "0.1" "1" commit))
12570 (source
12571 (origin
12572 (method git-fetch)
12573 (uri (git-reference
12574 (url "https://github.com/AccelerationNet/collectors")
12575 (commit commit)))
12576 (file-name (git-file-name name version))
12577 (sha256
12578 (base32 "1si68n1j6rpns8jw6ksqjpb937pdl30v7xza8rld7j5vh0jhy2yi"))))
12579 (build-system asdf-build-system/sbcl)
12580 (inputs
12581 `(("alexandria" ,sbcl-alexandria)
12582 ("closer-mop" ,sbcl-closer-mop)
12583 ("symbol-munger" ,sbcl-symbol-munger)))
12584 (native-inputs
12585 `(("lisp-unit2" ,sbcl-lisp-unit2)))
12586 (home-page "https://github.com/AccelerationNet/collectors/")
12587 (synopsis "Common lisp library providing collector macros")
12588 (description "A small collection of common lisp macros to make
12589 collecting values easier.")
12590 (license license:bsd-3))))
12591
12592 (define-public cl-collectors
12593 (sbcl-package->cl-source-package sbcl-collectors))
12594
12595 (define-public ecl-collectors
12596 (sbcl-package->ecl-package sbcl-collectors))
12597
12598 (define-public sbcl-cl-environments
12599 (let ((commit "0b22154c5afefef23d1eba9a4fae11d73580ef41")) ; No version in 2 years.
12600 (package
12601 (name "sbcl-cl-environments")
12602 (version (git-version "0.2.3" "1" commit))
12603 (source
12604 (origin
12605 (method git-fetch)
12606 (uri (git-reference
12607 (url "https://github.com/alex-gutev/cl-environments")
12608 (commit commit)))
12609 (file-name (git-file-name name version))
12610 (sha256
12611 (base32
12612 "18r3wfarr7lgn78m6c66r0r9aazirv07gy7xgvqkl9pmrz1bc47m"))))
12613 (build-system asdf-build-system/sbcl)
12614 (inputs
12615 `(("alexandria" ,sbcl-alexandria)
12616 ("anaphora" ,sbcl-anaphora)
12617 ("collectors" ,sbcl-collectors)
12618 ("optima" ,sbcl-optima)))
12619 (native-inputs
12620 `(("prove" ,sbcl-prove)))
12621 (home-page "https://github.com/alex-gutev/cl-environments")
12622 (synopsis "Implements the Common Lisp standard environment access API")
12623 (description "This library provides a uniform API, as specified in Common
12624 Lisp the Language 2, for accessing information about variable and function
12625 bindings from implementation-defined lexical environment objects. All major
12626 Common Lisp implementations are supported, even those which don't support the
12627 CLTL2 environment access API.")
12628 (license license:expat))))
12629
12630 (define-public cl-environments
12631 (sbcl-package->cl-source-package sbcl-cl-environments))
12632
12633 (define-public ecl-environments
12634 (sbcl-package->ecl-package sbcl-cl-environments))
12635
12636 (define-public sbcl-static-dispatch
12637 (let ((commit "6243afcd152854c52ba33daef7394367b657d9c6")
12638 (revision "1"))
12639 (package
12640 (name "sbcl-static-dispatch")
12641 (version (git-version "0.3" revision commit))
12642 (source
12643 (origin
12644 (method git-fetch)
12645 (uri (git-reference
12646 (url "https://github.com/alex-gutev/static-dispatch")
12647 (commit commit)))
12648 (file-name (git-file-name "static-dispatch" version))
12649 (sha256
12650 (base32 "1lli9ar1xbnhkgb5d01rlw4pvfylg2arrw68np2c07fpkkafimg7"))))
12651 (build-system asdf-build-system/sbcl)
12652 (native-inputs
12653 `(("prove" ,sbcl-prove)))
12654 (inputs
12655 `(("agutil" ,sbcl-agutil)
12656 ("alexandria" ,sbcl-alexandria)
12657 ("anaphora" ,sbcl-anaphora)
12658 ("arrows" ,sbcl-arrows)
12659 ("cl-environments" ,sbcl-cl-environments)
12660 ("closer-mop" ,sbcl-closer-mop)
12661 ("iterate" ,sbcl-iterate)
12662 ("trivia" ,sbcl-trivia)))
12663 (home-page "https://github.com/alex-gutev/static-dispatch")
12664 (synopsis "Static generic function dispatch for Common Lisp")
12665 (description "Static dispatch is a Common Lisp library, inspired by
12666 @code{inlined-generic-function}, which allows standard Common Lisp generic
12667 function dispatch to be performed statically (at compile time) rather than
12668 dynamically (runtime). This is similar to what is known as \"overloading\" in
12669 languages such as C++ and Java.
12670
12671 The purpose of static dispatch is to provide an optimization in cases where
12672 the usual dynamic dispatch is too slow, and the dynamic features of generic
12673 functions, such as adding/removing methods at runtime are not required. An
12674 example of such a case is a generic equality comparison function. Currently
12675 generic functions are considered far too slow to implement generic arithmetic
12676 and comparison operations when used heavily in numeric code.")
12677 (license license:expat))))
12678
12679 (define-public cl-static-dispatch
12680 (sbcl-package->cl-source-package sbcl-static-dispatch))
12681
12682 (define-public ecl-static-dispatch
12683 (sbcl-package->ecl-package sbcl-static-dispatch))
12684
12685 (define-public sbcl-generic-cl
12686 ;; Latest commit includes a necessary fix for our Guix build.
12687 (let ((commit "8e5a81487ee3c13fe5ffdc8bdda161d476639535"))
12688 (package
12689 (name "sbcl-generic-cl")
12690 (version (git-version "0.7.1" "1" commit))
12691 (source
12692 (origin
12693 (method git-fetch)
12694 (uri (git-reference
12695 (url "https://github.com/alex-gutev/generic-cl")
12696 (commit commit)))
12697 (file-name (git-file-name name version))
12698 (sha256
12699 (base32
12700 "11w0g79s4wmc78vmfng437rmsgnp5qn246zcyr540fp5nw0ad6ix"))))
12701 (build-system asdf-build-system/sbcl)
12702 (inputs
12703 `(("agutil" ,sbcl-agutil)
12704 ("alexandria" ,sbcl-alexandria)
12705 ("anaphora" ,sbcl-anaphora)
12706 ("arrows" ,sbcl-arrows)
12707 ("cl-custom-hash-table" ,sbcl-custom-hash-table)
12708 ("static-dispatch" ,sbcl-static-dispatch)
12709 ("trivia" ,sbcl-trivia)))
12710 (native-inputs
12711 `(("prove" ,sbcl-prove)))
12712 (arguments
12713 ;; Tests fail because SBCL head size is not high enough.
12714 ;; https://github.com/alex-gutev/generic-cl/issues/6
12715 `(#:tests? #f))
12716 (home-page "https://alex-gutev.github.io/generic-cl/")
12717 (synopsis "Generic function interface to standard Common Lisp functions")
12718 (description "@code{generic-cl} provides a generic function wrapper over
12719 various functions in the Common Lisp standard, such as equality predicates and
12720 sequence operations. The goal of this wrapper is to provide a standard
12721 interface to common operations, such as testing for the equality of two
12722 objects, which is extensible to user-defined types.")
12723 (license license:expat))))
12724
12725 (define-public cl-generic-cl
12726 (sbcl-package->cl-source-package sbcl-generic-cl))
12727
12728 (define-public ecl-generic-cl
12729 (sbcl-package->ecl-package sbcl-generic-cl))
12730
12731 (define-public sbcl-defpackage-plus
12732 (let ((revision "0")
12733 (commit "5492e27e0bdb7b75fa5177ea4388519dc7a75f11"))
12734 (package
12735 (name "sbcl-defpackage-plus")
12736 (version (git-version "1.0" revision commit))
12737 (source
12738 (origin
12739 (method git-fetch)
12740 (uri (git-reference
12741 (url "https://github.com/rpav/defpackage-plus")
12742 (commit commit)))
12743 (file-name (git-file-name name version))
12744 (sha256
12745 (base32 "0lzljvf343xb6mlh6lni2i27hpm5qd376522mk6hr2pa20vd6rdq"))))
12746 (build-system asdf-build-system/sbcl)
12747 (inputs
12748 `(("alexandria" ,sbcl-alexandria)))
12749 (home-page "https://github.com/rpav/defpackage-plus")
12750 (synopsis "Extensible @code{DEFPACKAGE} variant with version support")
12751 (description
12752 "@code{DEFPACKAGE-PLUS} is an extensible @code{DEFPACKAGE} variant with
12753 predictable cross-platform behavior and some utilities useful for versioning.")
12754 (license license:bsd-2))))
12755
12756 (define-public cl-defpackage-plus
12757 (sbcl-package->cl-source-package sbcl-defpackage-plus))
12758
12759 (define-public ecl-defpackage-plus
12760 (sbcl-package->ecl-package sbcl-defpackage-plus))
12761
12762 (define-public sbcl-deploy
12763 (let ((commit "9b20e64fe924b9e31832304d87a3a72c383dc6d8")
12764 (revision "2"))
12765 (package
12766 (name "sbcl-deploy")
12767 (version (git-version "1.0.0" revision commit))
12768 (source
12769 (origin
12770 (method git-fetch)
12771 (uri (git-reference
12772 (url "https://github.com/Shinmera/deploy")
12773 (commit commit)))
12774 (file-name (git-file-name "deploy" version))
12775 (sha256
12776 (base32 "07pfkibaridihg8lbq2czwa4iqifqk24n6rx7bfnv7i49p1ppja1"))))
12777 (build-system asdf-build-system/sbcl)
12778 (arguments
12779 `(#:test-asd-file "deploy-test.asd"
12780 #:asd-files '("deploy.asd"
12781 "deploy-test.asd")))
12782 (native-inputs
12783 `(("cl-mpg123" ,sbcl-cl-mpg123)
12784 ("cl-out123" ,sbcl-cl-out123)))
12785 (inputs
12786 `(("cffi" ,sbcl-cffi)
12787 ("documentation-utils" ,sbcl-documentation-utils)
12788 ("trivial-features" ,sbcl-trivial-features)))
12789 (home-page "https://shinmera.github.io/deploy/")
12790 (synopsis "Deployment tools for standalone Common Lisp application")
12791 (description
12792 "This is a system to help you easily and quickly deploy standalone
12793 common lisp applications as binaries. Specifically it is geared towards
12794 applications with foreign library dependencies that run some kind of GUI.")
12795 (license license:artistic2.0))))
12796
12797 (define-public cl-deploy
12798 (sbcl-package->cl-source-package sbcl-deploy))
12799
12800 (define-public ecl-deploy
12801 (sbcl-package->ecl-package sbcl-deploy))
12802
12803 (define-public sbcl-deeds
12804 ;; taged branch is outdated
12805 (let ((revision "1")
12806 (commit "f5df54eac79b58a34030e0eb8acf3952c788410d"))
12807 (package
12808 (name "sbcl-deeds")
12809 (version (git-version "1.1.1" revision commit))
12810 (source
12811 (origin
12812 (method git-fetch)
12813 (uri (git-reference
12814 (url "https://github.com/Shinmera/deeds")
12815 (commit commit)))
12816 (file-name (git-file-name name version))
12817 (sha256
12818 (base32 "062cnb2dwli6pw3zvv46jfxyxdzcbzwsck5pa6nw03qf1j1hyg3k"))))
12819 (build-system asdf-build-system/sbcl)
12820 (inputs
12821 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12822 ("closer-mop" ,sbcl-closer-mop)
12823 ("form-fiddle" ,sbcl-form-fiddle)
12824 ("lambda-fiddle" ,sbcl-lambda-fiddle)))
12825 (home-page "https://github.com/Shinmera/deeds")
12826 (synopsis "Extensible Event Delivery System")
12827 (description
12828 "@code{deeds} allows for efficient event delivery to multiple handlers
12829 with a complex event filtering system.")
12830 (license license:zlib))))
12831
12832 (define-public cl-deeds
12833 (sbcl-package->cl-source-package sbcl-deeds))
12834
12835 (define-public ecl-deeds
12836 (sbcl-package->ecl-package sbcl-deeds))
12837
12838 (define-public sbcl-make-hash
12839 ;; no tagged branch
12840 (let ((revision "1")
12841 (commit "ae0909cd8e697520a1085fac6f54ac2b448ebd21"))
12842 (package
12843 (name "sbcl-make-hash")
12844 (version (git-version "1.0.2" revision commit))
12845 (source
12846 (origin
12847 (method git-fetch)
12848 (uri (git-reference
12849 (url "https://github.com/genovese/make-hash")
12850 (commit commit)))
12851 (file-name (git-file-name name version))
12852 (sha256
12853 (base32 "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8"))))
12854 (build-system asdf-build-system/sbcl)
12855 (home-page "https://github.com/genovese/make-hash")
12856 (synopsis "Common Lisp package for flexible hash table creation")
12857 (description
12858 "This is a Common Lisp package for hash table creation with flexible,
12859 extensible initializers.")
12860 (license license:bsd-3))))
12861
12862 (define-public cl-make-hash
12863 (sbcl-package->cl-source-package sbcl-make-hash))
12864
12865 (define-public ecl-make-hash
12866 (sbcl-package->ecl-package sbcl-make-hash))
12867
12868 (define-public sbcl-claw-support
12869 (package
12870 (name "sbcl-claw-support")
12871 (version "1.0.0")
12872 (source
12873 (origin
12874 (method git-fetch)
12875 (uri (git-reference
12876 (url "https://github.com/borodust/claw-support")
12877 (commit "9a15c8bed04585f45e6a461bcda1b475144dbd0b")))
12878 (file-name (git-file-name name version))
12879 (sha256
12880 (base32 "1my2ka7h72ipx5n3b465g6kjkasrhsvhqlijwcg6dhlzs5yygl23"))))
12881 (build-system asdf-build-system/sbcl)
12882 (home-page "https://github.com/borodust/claw-support")
12883 (synopsis "Support routines for claw")
12884 (description
12885 "This package provides support routines for the @code{claw} Common Lisp
12886 package.")
12887 (license license:expat)))
12888
12889 (define-public cl-claw-support
12890 (sbcl-package->cl-source-package sbcl-claw-support))
12891
12892 (define-public ecl-claw-support
12893 (sbcl-package->ecl-package sbcl-claw-support))
12894
12895 (define-public sbcl-claw
12896 (let ((revision "0")
12897 (commit "3cd4a96fca95eb9e8d5d069426694669f81b2250"))
12898 (package
12899 (name "sbcl-claw")
12900 (version (git-version "1.0" revision commit))
12901 (source
12902 (origin
12903 (method git-fetch)
12904 (uri (git-reference
12905 (url "https://github.com/borodust/claw")
12906 (commit commit)))
12907 (file-name (git-file-name "claw" version))
12908 (sha256
12909 (base32 "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d"))))
12910 (build-system asdf-build-system/sbcl)
12911 (inputs
12912 `(("alexandria" ,sbcl-alexandria)
12913 ("cffi" ,sbcl-cffi)
12914 ("cl-json" ,sbcl-cl-json)
12915 ("cl-ppcre" ,sbcl-cl-ppcre)
12916 ("claw-support" ,sbcl-claw-support)
12917 ("local-time" ,sbcl-local-time)
12918 ("trivial-features" ,sbcl-trivial-features)))
12919 (home-page "https://github.com/borodust/claw")
12920 (synopsis "Autowrapper for Common Lisp")
12921 (description
12922 "This is a Common Lisp autowrapping facility for quickly creating clean
12923 and lean bindings to C libraries.")
12924 (license license:bsd-2))))
12925
12926 (define-public cl-claw
12927 (sbcl-package->cl-source-package sbcl-claw))
12928
12929 (define-public ecl-claw
12930 (sbcl-package->ecl-package sbcl-claw))
12931
12932 (define-public sbcl-claw-utils
12933 (let ((revision "0")
12934 (commit "efe25016501973dc369f067a64c7d225802bc56f"))
12935 (package
12936 (name "sbcl-claw-utils")
12937 ;; version is not specified
12938 (version (git-version "0.0.0" revision commit))
12939 (source
12940 (origin
12941 (method git-fetch)
12942 (uri (git-reference
12943 (url "https://github.com/borodust/claw-utils")
12944 (commit commit)))
12945 (file-name (git-file-name "claw-utils" version))
12946 (sha256
12947 (base32 "01df3kyf2qs3czi332dnz2s35x2j0fq46vgmsw7wjrrvnqc22mk5"))))
12948 (build-system asdf-build-system/sbcl)
12949 (inputs
12950 `(("alexandria" ,sbcl-alexandria)
12951 ("cffi" ,sbcl-cffi)
12952 ("claw" ,sbcl-claw)))
12953 (home-page "https://github.com/borodust/claw-utils")
12954 (synopsis "Utilities for easier autowrapping")
12955 (description
12956 "This Common Lisp library contains various handy utilties to help
12957 autowrapping with @code{claw}.")
12958 (license license:expat))))
12959
12960 (define-public cl-claw-utils
12961 (sbcl-package->cl-source-package sbcl-claw-utils))
12962
12963 (define-public ecl-claw-utils
12964 (sbcl-package->ecl-package sbcl-claw-utils))
12965
12966 (define-public sbcl-array-operations
12967 (let ((commit "75cbc3b1adb2e3ce2109489753d0f290b071e81b")
12968 (revision "0"))
12969 (package
12970 (name "sbcl-array-operations")
12971 (version (git-version "0.0.0" revision commit))
12972 (source
12973 (origin
12974 (method git-fetch)
12975 (uri (git-reference
12976 (url "https://github.com/bendudson/array-operations")
12977 (commit commit)))
12978 (file-name (git-file-name "array-operations" version))
12979 (sha256
12980 (base32 "0ip49hhq32w80qsc7jmspyda5r2rsszvw0mk2r3341cld78sz9ya"))))
12981 (build-system asdf-build-system/sbcl)
12982 (native-inputs
12983 `(("alexandria" ,sbcl-alexandria)
12984 ("clunit2" ,sbcl-clunit2)))
12985 (inputs
12986 `(("let-plus" ,sbcl-let-plus)))
12987 (synopsis "Simple array operations library for Common Lisp")
12988 (description
12989 "This library is a collection of functions and macros for manipulating
12990 Common Lisp arrays and performing numerical calculations with them.")
12991 (home-page "https://github.com/bendudson/array-operations")
12992 (license license:expat))))
12993
12994 (define-public cl-array-operations
12995 (sbcl-package->cl-source-package sbcl-array-operations))
12996
12997 (define-public ecl-array-operations
12998 (sbcl-package->ecl-package sbcl-array-operations))
12999
13000 (define-public sbcl-clml
13001 (let ((commit "95505b54c8c7b4b27f500c3be97fa5732f4b51a8")
13002 (revision "0"))
13003 (package
13004 (name "sbcl-clml")
13005 (version (git-version "0.0.0" revision commit))
13006 (source
13007 (origin
13008 (method git-fetch)
13009 (uri (git-reference
13010 (url "https://github.com/mmaul/clml")
13011 (commit commit)))
13012 (file-name (git-file-name "clml" version))
13013 (sha256
13014 (base32 "006pii59nmpc61n7p7h8ha5vjg6x0dya327i58z0rnvxs249h345"))
13015 ;; TODO: Remove this when the patch has been merged upstream.
13016 (patches (search-patches "sbcl-clml-fix-types.patch"))))
13017 (build-system asdf-build-system/sbcl)
13018 (inputs
13019 `(("alexandia" ,sbcl-alexandria)
13020 ("array-operations" ,sbcl-array-operations)
13021 ("cl-fad" ,sbcl-cl-fad)
13022 ("cl-ppcre" ,sbcl-cl-ppcre)
13023 ("drakma" ,sbcl-drakma)
13024 ("introspect-environment" ,sbcl-introspect-environment)
13025 ("iterate" ,sbcl-iterate)
13026 ("lparallel" ,sbcl-lparallel)
13027 ("parse-number" ,sbcl-parse-number)
13028 ("split-sequence" ,sbcl-split-sequence)
13029 ("trivial-garbage" ,sbcl-trivial-garbage)))
13030 (synopsis "Common Lisp machine learning library")
13031 (description
13032 "CLML (Common Lisp Machine Learning) is a high performance and large
13033 scale statistical machine learning package")
13034 (home-page "https://mmaul.github.io/clml/")
13035 (license license:llgpl))))
13036
13037 (define-public cl-clml
13038 (sbcl-package->cl-source-package sbcl-clml))
13039
13040 (define-public sbcl-utm-ups
13041 (let ((commit "780f1d8ab6290ad2be0f40e2cddc2535fa6fe979")
13042 (revision "0"))
13043 (package
13044 (name "sbcl-utm-ups")
13045 (version (git-version "1.0" revision commit))
13046 (source
13047 (origin
13048 (method git-fetch)
13049 (uri (git-reference
13050 (url "https://github.com/glv2/utm-ups")
13051 (commit commit)))
13052 (file-name (git-file-name "utm-ups" version))
13053 (sha256
13054 (base32 "0l3kr2m56skf5cx3kkkdcis7msmidcsixx9fqjapkcjsj8x67aqq"))))
13055 (build-system asdf-build-system/sbcl)
13056 (native-inputs
13057 `(("fiveam" ,sbcl-fiveam)))
13058 (synopsis
13059 "Convert coordinates between latitude/longitude and UTM or UPS")
13060 (description
13061 "This a Common Lisp library to convert geographic coordinates between
13062 latitude/longitude and UTM (Universal Transverse Mercator) or UPS (Universal
13063 Polar Stereographic).")
13064 (home-page "https://github.com/glv2/utm-ups")
13065 (license license:gpl3+))))
13066
13067 (define-public cl-utm-ups
13068 (sbcl-package->cl-source-package sbcl-utm-ups))
13069
13070 (define-public ecl-utm-ups
13071 (sbcl-package->ecl-package sbcl-utm-ups))
13072
13073 (define-public sbcl-mgrs
13074 (let ((commit "00455460407b7e5509d1be3da09bf6152956761f")
13075 (revision "0"))
13076 (package
13077 (name "sbcl-mgrs")
13078 (version (git-version "1.0" revision commit))
13079 (source
13080 (origin
13081 (method git-fetch)
13082 (uri (git-reference
13083 (url "https://github.com/glv2/mgrs")
13084 (commit commit)))
13085 (file-name (git-file-name "mgrs" version))
13086 (sha256
13087 (base32 "0ckvn4hg3wwivzavhfashb6fap4a1q10l8krhbng8bdb54ac10sz"))))
13088 (build-system asdf-build-system/sbcl)
13089 (native-inputs
13090 `(("fiveam" ,sbcl-fiveam)))
13091 (inputs
13092 `(("utm-ups" ,sbcl-utm-ups)))
13093 (synopsis
13094 "Convert coordinates between latitude/longitude and MGRS")
13095 (description
13096 "This a Common Lisp library to convert geographic coordinates between
13097 latitude/longitude and MGRS.")
13098 (home-page "https://github.com/glv2/mgrs")
13099 (license license:gpl3+))))
13100
13101 (define-public cl-mgrs
13102 (sbcl-package->cl-source-package sbcl-mgrs))
13103
13104 (define-public ecl-mgrs
13105 (sbcl-package->ecl-package sbcl-mgrs))
13106
13107 (define-public sbcl-maidenhead
13108 (let ((commit "b756d235c27b5d6798867aa240318af1a8f35d6d")
13109 (revision "0"))
13110 (package
13111 (name "sbcl-maidenhead")
13112 (version (git-version "1.0" revision commit))
13113 (source
13114 (origin
13115 (method git-fetch)
13116 (uri (git-reference
13117 (url "https://github.com/glv2/maidenhead")
13118 (commit commit)))
13119 (file-name (git-file-name "maidenhead" version))
13120 (sha256
13121 (base32 "02p990zprhjvifmsfk8yh3frvz6xyw26ikzxvzglqdixbal36nr3"))))
13122 (build-system asdf-build-system/sbcl)
13123 (native-inputs
13124 `(("fiveam" ,sbcl-fiveam)))
13125 (synopsis
13126 "Convert coordinates between latitude/longitude and Maidenhead")
13127 (description
13128 "This a Common Lisp library to convert geographic coordinates between
13129 latitude/longitude and Maidenhead locator system.")
13130 (home-page "https://github.com/glv2/maidenhead")
13131 (license license:gpl3+))))
13132
13133 (define-public cl-maidenhead
13134 (sbcl-package->cl-source-package sbcl-maidenhead))
13135
13136 (define-public ecl-maidenhead
13137 (sbcl-package->ecl-package sbcl-maidenhead))
13138
13139 (define-public sbcl-olc
13140 (let ((commit "517e27fa57d9a119b00a29c4b6b31e553deff309")
13141 (revision "0"))
13142 (package
13143 (name "sbcl-olc")
13144 (version (git-version "1.0" revision commit))
13145 (source
13146 (origin
13147 (method git-fetch)
13148 (uri (git-reference
13149 (url "https://github.com/glv2/olc")
13150 (commit commit)))
13151 (file-name (git-file-name "olc" version))
13152 (sha256
13153 (base32 "1lnfhp6z6kc8l605zp4siyjiw74y1h4bdq3jfizi084v505wxhgr"))))
13154 (build-system asdf-build-system/sbcl)
13155 (native-inputs
13156 `(("fiveam" ,sbcl-fiveam)))
13157 (synopsis
13158 "Convert coordinates between latitude/longitude and Open Location Code")
13159 (description
13160 "This a Common Lisp library to convert geographic coordinates between
13161 latitude/longitude and Open Location Code.")
13162 (home-page "https://github.com/glv2/olc")
13163 (license license:gpl3+))))
13164
13165 (define-public cl-olc
13166 (sbcl-package->cl-source-package sbcl-olc))
13167
13168 (define-public ecl-olc
13169 (sbcl-package->ecl-package sbcl-olc))
13170
13171 (define-public sbcl-regex
13172 (let ((commit "fbc9a9f313b9edc1788f33d4b23a29151635ae22"))
13173 (package
13174 (name "sbcl-regex")
13175 (version (git-version "1" "1" commit))
13176 (source
13177 (origin
13178 (method git-fetch)
13179 (uri (git-reference
13180 (url "https://github.com/michaelw/regex/")
13181 (commit commit)))
13182 (file-name (git-file-name name version))
13183 (sha256
13184 (base32 "0wq5wlafrxv13wg28hg5b10sc48b88swsvznpy2zg7x37m4nmm6a"))))
13185 (build-system asdf-build-system/sbcl)
13186 (home-page "https://github.com/michaelw/regex/")
13187 (synopsis "Regular expression engine for Common Lisp")
13188 (description
13189 "This Common Lisp package provides a regular expression engine.")
13190 (license license:bsd-2))))
13191
13192 (define-public cl-regex
13193 (sbcl-package->cl-source-package sbcl-regex))
13194
13195 (define-public ecl-regex
13196 (sbcl-package->ecl-package sbcl-regex))
13197
13198 (define-public sbcl-clawk
13199 (let ((commit "3a91634df686417114044a98c063cbe76bfac7b6"))
13200 (package
13201 (name "sbcl-clawk")
13202 (version (git-version "4" "1" commit))
13203 (source
13204 (origin
13205 (method git-fetch)
13206 (uri (git-reference
13207 (url "https://github.com/sharplispers/clawk")
13208 (commit commit)))
13209 (file-name (git-file-name name version))
13210 (sha256
13211 (base32 "1ph3xjqilvinvgr9q3w47zxqyz1sqnq030nlx7kgkkv8j3bnqk7a"))))
13212 (build-system asdf-build-system/sbcl)
13213 (inputs
13214 `(("sbcl-regex" ,sbcl-regex)))
13215 (home-page "https://github.com/sharplispers/clawk")
13216 (synopsis "Common Lisp AWK")
13217 (description
13218 "CLAWK is an AWK implementation embedded into Common Lisp.")
13219 (license license:bsd-2))))
13220
13221 (define-public cl-clawk
13222 (sbcl-package->cl-source-package sbcl-clawk))
13223
13224 (define-public ecl-clawk
13225 (sbcl-package->ecl-package sbcl-clawk))
13226
13227 (define-public sbcl-check-it
13228 (let ((commit "b79c9103665be3976915b56b570038f03486e62f"))
13229 (package
13230 (name "sbcl-check-it")
13231 (version (git-version "0.1.0" "1" commit))
13232 (source
13233 (origin
13234 (method git-fetch)
13235 (uri (git-reference
13236 (url "https://github.com/DalekBaldwin/check-it/")
13237 (commit commit)))
13238 (file-name (git-file-name name version))
13239 (sha256
13240 (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"))))
13241 (build-system asdf-build-system/sbcl)
13242 (inputs
13243 `(("alexandria" ,sbcl-alexandria)
13244 ("closer-mop" ,sbcl-closer-mop)
13245 ("optima" ,sbcl-optima)))
13246 (native-inputs
13247 `(("stefil" ,sbcl-stefil)))
13248 (home-page "https://github.com/arclanguage/Clamp")
13249 (synopsis "Randomized specification-based testing for Common Lisp")
13250 (description
13251 "This is a randomized property-based testing library for Common Lisp.
13252 Rather than being a full-fledged general test framework in its own right, it's
13253 designed to embed randomized tests in whatever framework you like.")
13254 (license license:llgpl))))
13255
13256 (define-public cl-check-it
13257 (sbcl-package->cl-source-package sbcl-check-it))
13258
13259 (define-public ecl-check-it
13260 (sbcl-package->ecl-package sbcl-check-it))
13261
13262 (define-public sbcl-clamp
13263 (let ((commit "02b8f3953e5753cc61a719807c82f3795cd28fe1"))
13264 (package
13265 (name "sbcl-clamp")
13266 (version (git-version "0.3" "1" commit))
13267 (source
13268 (origin
13269 (method git-fetch)
13270 (uri (git-reference
13271 (url "https://github.com/arclanguage/Clamp")
13272 (commit commit)))
13273 (file-name (git-file-name name version))
13274 (sha256
13275 (base32 "0fdr9nqfmmpxm6hvjdxi1jkclya9xlnrw1yc3cn1m4ww3f50p31m"))))
13276 (build-system asdf-build-system/sbcl)
13277 (inputs
13278 `(("iterate" ,sbcl-iterate)
13279 ("cl-syntax" ,sbcl-cl-syntax)))
13280 (native-inputs
13281 `(("cl-unit" ,sbcl-clunit)
13282 ("check-it" ,sbcl-check-it)))
13283 (arguments
13284 `(#:phases
13285 (modify-phases %standard-phases
13286 (add-after 'unpack 'fix-build
13287 (lambda _
13288 (substitute* "clamp.asd"
13289 (("\\(:file \"read\" :depends-on \\(\"aliases\"\\)\\)")
13290 "(:file \"read\" :depends-on (\"aliases\" \"base\"))"))
13291 #t)))))
13292 (home-page "https://github.com/arclanguage/Clamp")
13293 (synopsis "Common Lisp with Arc macros and procedures")
13294 (description
13295 "Clamp is an attempt to bring the powerful, but verbose, language of
13296 Common Lisp up to the terseness of Arc.
13297
13298 There are two parts to Clamp. There is the core of Clamp, which implements
13299 the utilities of Arc that are easily converted from Arc to Common Lisp. The
13300 other part is the \"experimental\" part. It contains features of Arc that are
13301 not so easy to copy (ssyntax, argument destructuring, etc.).")
13302 (license license:artistic2.0))))
13303
13304 (define-public cl-clamp
13305 (sbcl-package->cl-source-package sbcl-clamp))
13306
13307 (define-public ecl-clamp
13308 (sbcl-package->ecl-package sbcl-clamp))
13309
13310 (define-public sbcl-trivial-shell
13311 (let ((commit "e02ec191b34b52deca5d1c4ee99d4fa13b8772e0"))
13312 (package
13313 (name "sbcl-trivial-shell")
13314 (version (git-version "0.2.0" "1" commit))
13315 (source
13316 (origin
13317 (method git-fetch)
13318 (uri (git-reference
13319 (url "https://github.com/gwkkwg/trivial-shell")
13320 (commit commit)))
13321 (file-name (git-file-name name version))
13322 (sha256
13323 (base32 "08mpkl5ij5sjfsyn8pq2kvsvpvyvr7ha1r8g1224fa667b8k2q85"))))
13324 (build-system asdf-build-system/sbcl)
13325 (native-inputs
13326 `(("lift" ,sbcl-lift)))
13327 (home-page "http://common-lisp.net/project/trivial-shell/")
13328 (synopsis "Common Lisp access to the shell")
13329 (description
13330 "A simple Common-Lisp interface to the underlying operating system.
13331 It's independent of the implementation and operating system.")
13332 (license license:expat))))
13333
13334 (define-public cl-trivial-shell
13335 (sbcl-package->cl-source-package sbcl-trivial-shell))
13336
13337 (define-public ecl-trivial-shell
13338 (sbcl-package->ecl-package sbcl-trivial-shell))
13339
13340 (define-public sbcl-clesh
13341 (let ((commit "44e96e04a72e5bc006dc4eb02ce8962348dd4a11"))
13342 (package
13343 (name "sbcl-clesh")
13344 (version (git-version "0.0.0" "1" commit))
13345 (source
13346 (origin
13347 (method git-fetch)
13348 (uri (git-reference
13349 (url "https://github.com/Neronus/Clesh")
13350 (commit commit)))
13351 (file-name (git-file-name name version))
13352 (sha256
13353 (base32 "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318"))))
13354 (build-system asdf-build-system/sbcl)
13355 (inputs
13356 `(("trivial-shell" ,sbcl-trivial-shell)
13357 ("named-readtables" ,sbcl-named-readtables)))
13358 (home-page "https://github.com/Neronus/Clesh")
13359 (synopsis "Embed shell code in Common Lisp")
13360 (description
13361 "This is a very short and simple program, written in Common Lisp, that
13362 extends Common Lisp to embed shell code in a manner similar to Perl's
13363 backtick. It has been forked from SHELISP.")
13364 (license license:bsd-2))))
13365
13366 (define-public cl-clesh
13367 (sbcl-package->cl-source-package sbcl-clesh))
13368
13369 (define-public ecl-clesh
13370 (sbcl-package->ecl-package sbcl-clesh))
13371
13372 (define-public sbcl-trivial-download
13373 (let ((commit "d2472061d86b1cf3d32f388daacd4e32a13af699"))
13374 (package
13375 (name "sbcl-trivial-download")
13376 (version (git-version "0.3" "1" commit))
13377 (source
13378 (origin
13379 (method git-fetch)
13380 (uri (git-reference
13381 (url "https://github.com/eudoxia0/trivial-download/")
13382 (commit commit)))
13383 (file-name (git-file-name name version))
13384 (sha256
13385 (base32 "06f46zr3gp3wlm2kgxna24qd2gpr1v89x9fynh1x5vrw6c6hqjcv"))))
13386 (build-system asdf-build-system/sbcl)
13387 (inputs
13388 `(("drakma" ,sbcl-drakma)))
13389 (home-page "https://github.com/eudoxia0/trivial-download/")
13390 (synopsis "Download files from Common Lisp")
13391 (description
13392 "@code{trivial-download} allows you to download files from the Internet
13393 from Common Lisp. It provides a progress bar.")
13394 (license license:bsd-2))))
13395
13396 (define-public cl-trivial-download
13397 (sbcl-package->cl-source-package sbcl-trivial-download))
13398
13399 (define-public ecl-trivial-download
13400 (sbcl-package->ecl-package sbcl-trivial-download))
13401
13402 (define-public sbcl-gtwiwtg
13403 (package
13404 (name "sbcl-gtwiwtg")
13405 (version "0.1.1")
13406 (source
13407 (origin
13408 (method git-fetch)
13409 (uri (git-reference
13410 (url "https://github.com/cbeo/gtwiwtg/")
13411 (commit version)))
13412 (file-name (git-file-name name version))
13413 (sha256
13414 (base32 "0lkraw0dwh4is4x5sp5rjrw6f93m0gr9849abrbi12s25ws7jbw4"))))
13415 (build-system asdf-build-system/sbcl)
13416 (native-inputs
13417 `(("osicat" ,sbcl-osicat)
13418 ("prove" ,sbcl-prove)))
13419 (home-page "https://github.com/cbeo/gtwiwtg/")
13420 (synopsis "Naive generators for Common Lisp")
13421 (description
13422 "The GTWIWTG library (Generators The Way I Want Them Generated --
13423 technically not generators, but iterators) is meant to be small, explorable,
13424 and understandable.")
13425 (license license:gpl3)))
13426
13427 (define-public cl-gtwiwtg
13428 (sbcl-package->cl-source-package sbcl-gtwiwtg))
13429
13430 (define-public ecl-gtwiwtg
13431 (sbcl-package->ecl-package sbcl-gtwiwtg))
13432
13433 (define-public sbcl-cl-progress-bar
13434 (let ((commit "9374170858663c8fe829e9fb5a29bd2cb48d95ae"))
13435 (package
13436 (name "sbcl-cl-progress-bar")
13437 (version (git-version "0.0.0" "1" commit))
13438 (source
13439 (origin
13440 (method git-fetch)
13441 (uri (git-reference
13442 (url "https://github.com/sirherrbatka/cl-progress-bar/")
13443 (commit commit)))
13444 (file-name (git-file-name name version))
13445 (sha256
13446 (base32 "1ldb4qhmx431n3lsq71ynwb9ybazbfqd55icjbhi06mj52ngndir"))))
13447 (build-system asdf-build-system/sbcl)
13448 (inputs
13449 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13450 ("documentation-utils-extensions" ,sbcl-documentation-utils-extensions)))
13451 (home-page "https://github.com/sirherrbatka/cl-progress-bar/")
13452 (synopsis "Progress bars in Common Lisp")
13453 (description
13454 "This library provides almost the same code as used inside Quicklisp
13455 for drawning progress bars")
13456 (license license:expat))))
13457
13458 (define-public cl-progress-bar
13459 (sbcl-package->cl-source-package sbcl-cl-progress-bar))
13460
13461 (define-public ecl-cl-progress-bar
13462 (sbcl-package->ecl-package sbcl-cl-progress-bar))
13463
13464 (define-public sbcl-repl-utilities
13465 (let ((commit "e0de9c92e774f77cab1a4cd92e2ac922ac3a807e"))
13466 (package
13467 (name "sbcl-repl-utilities")
13468 (version (git-version "0.0.0" "1" commit))
13469 (source
13470 (origin
13471 (method git-fetch)
13472 (uri (git-reference
13473 (url "https://github.com/m-n/repl-utilities/")
13474 (commit commit)))
13475 (file-name (git-file-name name version))
13476 (sha256
13477 (base32 "1r5icmw3ha5y77kvzqni3a9bcd66d9pz5mjsbw04xg3jk0d15cgz"))))
13478 (build-system asdf-build-system/sbcl)
13479 (home-page "https://github.com/m-n/repl-utilities")
13480 (synopsis "Ease common tasks at the Common Lisp REPL")
13481 (description
13482 "@code{repl-utilities} is a set of utilities which ease life at the
13483 REPL. It includes three sorts of features: introspective procedures,
13484 miscellaneous utility functions, and, pulling them together, methods to
13485 conveniently keep these symbols and optionally additional symbols available in
13486 whichever package you switch to.")
13487 (license license:bsd-2))))
13488
13489 (define-public cl-repl-utilities
13490 (sbcl-package->cl-source-package sbcl-repl-utilities))
13491
13492 (define-public ecl-repl-utilities
13493 (sbcl-package->ecl-package sbcl-repl-utilities))
13494
13495 (define-public sbcl-supertrace
13496 (let ((commit "66d22c3ff131ecd1c8048dfced1d62ed6024ecb0"))
13497 (package
13498 (name "sbcl-supertrace")
13499 (version (git-version "0.1.0" "1" commit))
13500 (source
13501 (origin
13502 (method git-fetch)
13503 (uri (git-reference
13504 (url "https://github.com/fukamachi/supertrace")
13505 (commit commit)))
13506 (file-name (git-file-name name version))
13507 (sha256
13508 (base32 "0n369n6b7y1m49biccnnr7svymjdsk8sksrkqrn3mj21vgv7s7bg"))))
13509 (build-system asdf-build-system/sbcl)
13510 (native-inputs
13511 `(("cffi-grovel" ,sbcl-cffi)
13512 ("rove" ,sbcl-rove)
13513 ("cl-ppcre" ,sbcl-cl-ppcre)
13514 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
13515 (inputs
13516 `(("cffi" ,sbcl-cffi)))
13517 (home-page "https://github.com/fukamachi/supertrace")
13518 (synopsis "Improved Common Lisp tracing for debugging and profiling")
13519 (description
13520 "Supertrace provides a superior Common Lisp @code{trace} functionality
13521 for debugging and profiling real world applications.")
13522 (license license:bsd-2))))
13523
13524 (define-public cl-supertrace
13525 (sbcl-package->cl-source-package sbcl-supertrace))
13526
13527 (define-public ecl-supertrace
13528 (sbcl-package->ecl-package sbcl-supertrace))
13529
13530 (define-public sbcl-trivial-benchmark
13531 (let ((commit "42d76733dd2e873471c6f1e27d39113293f7dd5c"))
13532 (package
13533 (name "sbcl-trivial-benchmark")
13534 (version (git-version "2.0.0" "1" commit))
13535 (source
13536 (origin
13537 (method git-fetch)
13538 (uri (git-reference
13539 (url "https://github.com/Shinmera/trivial-benchmark/")
13540 (commit commit)))
13541 (file-name (git-file-name name version))
13542 (sha256
13543 (base32 "0fbzqbpm2ixz85555krl36kbbbjyn699vdj6k383khi3g9y629fa"))))
13544 (build-system asdf-build-system/sbcl)
13545 (inputs
13546 `(("alexandria" ,sbcl-alexandria)))
13547 (home-page "http://shinmera.github.io/trivial-benchmark/")
13548 (synopsis "Easy to use benchmarking system for Common Lisp")
13549 (description
13550 "Trivial-Benchmark runs a block of code many times and outputs some
13551 statistical data for it. On SBCL this includes the data from @code{time}, for
13552 all other implementations just the @code{real-time} and @code{run-time} data.
13553 However, you can extend the system by adding your own @code{metrics} to it, or
13554 even by adding additional statistical @code{compute}ations. ")
13555 (license license:zlib))))
13556
13557 (define-public cl-trivial-benchmark
13558 (sbcl-package->cl-source-package sbcl-trivial-benchmark))
13559
13560 (define-public ecl-trivial-benchmark
13561 (sbcl-package->ecl-package sbcl-trivial-benchmark))
13562
13563 (define-public sbcl-glyphs
13564 (let ((commit "1ff5714e8c1dca327bc604dfe3e3d1f4b7755373"))
13565 (package
13566 (name "sbcl-glyphs")
13567 (version (git-version "0.0.0" "1" commit))
13568 (source
13569 (origin
13570 (method git-fetch)
13571 (uri (git-reference
13572 (url "https://github.com/ahungry/glyphs/")
13573 (commit commit)))
13574 (file-name (git-file-name name version))
13575 (sha256
13576 (base32 "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf"))))
13577 (build-system asdf-build-system/sbcl)
13578 (inputs
13579 `(("cl-ppcre" ,sbcl-cl-ppcre)
13580 ("parenscript" ,sbcl-parenscript)
13581 ("named-readtables" ,sbcl-named-readtables)))
13582 (home-page "https://github.com/ahungry/glyphs/")
13583 (synopsis "Reduce Common Lisp verbosity")
13584 (description
13585 "This library is a little experiment in reducing verbosity in Common
13586 Lisp, inspired by BODOL (@url{https://github.com/bodil/BODOL}).")
13587 (license license:gpl3))))
13588
13589 (define-public cl-glyphs
13590 (sbcl-package->cl-source-package sbcl-glyphs))
13591
13592 (define-public ecl-glyphs
13593 (sbcl-package->ecl-package sbcl-glyphs))
13594
13595 (define-public sbcl-zs3
13596 (package
13597 (name "sbcl-zs3")
13598 (version "1.3.3")
13599 (source
13600 (origin
13601 (method git-fetch)
13602 (uri
13603 (git-reference
13604 (url "https://github.com/xach/zs3")
13605 (commit (string-append "release-" version))))
13606 (file-name (git-file-name "zs3" version))
13607 (sha256
13608 (base32 "186v95wgsj2hkxdw2jl9x1w4fddjclp7arp0rrd9vf5ly8h8sbf3"))))
13609 (build-system asdf-build-system/sbcl)
13610 (inputs
13611 `(("drakma" ,sbcl-drakma)
13612 ("alexandria" ,sbcl-alexandria)
13613 ("cxml" ,sbcl-cxml)
13614 ("ironclad" ,sbcl-ironclad)
13615 ("puri" ,sbcl-puri)
13616 ("cl-base64" ,sbcl-cl-base64)))
13617 (synopsis "Work with Amazon S3 and Amazon CloudFront from Common Lisp")
13618 (description "This is ZS3, a library for working with Amazon's Simple Storage
13619 Service (S3) and CloudFront service from Common Lisp.")
13620 (home-page "https://github.com/xach/zs3")
13621 (license license:bsd-2)))
13622
13623 (define-public cl-zs3
13624 (sbcl-package->cl-source-package sbcl-zs3))
13625
13626 (define-public ecl-zs3
13627 (sbcl-package->ecl-package sbcl-zs3))
13628
13629 (define-public sbcl-simple-neural-network
13630 (package
13631 (name "sbcl-simple-neural-network")
13632 (version "3.1")
13633 (source
13634 (origin
13635 (method git-fetch)
13636 (uri (git-reference
13637 (url "https://github.com/glv2/simple-neural-network")
13638 (commit (string-append "v" version))))
13639 (file-name (git-file-name "simple-neural-network" version))
13640 (sha256
13641 (base32 "1jj1c90fr5clwka0jv32hv6xp1bkdlpa6x5jh19an13rhx8ll4zr"))))
13642 (build-system asdf-build-system/sbcl)
13643 (native-inputs
13644 `(("chipz" ,sbcl-chipz)
13645 ("fiveam" ,sbcl-fiveam)))
13646 (inputs
13647 `(("cl-store" ,sbcl-cl-store)
13648 ("lparallel" ,sbcl-lparallel)))
13649 (arguments
13650 `(#:phases
13651 (modify-phases %standard-phases
13652 (add-after 'check 'remove-test-data
13653 (lambda* (#:key outputs #:allow-other-keys)
13654 (let ((out (assoc-ref outputs "out")))
13655 (for-each delete-file (find-files out "\\.gz$"))))))))
13656 (synopsis "Simple neural network in Common Lisp")
13657 (description
13658 "@code{simple-neural-network} is a Common Lisp library for creating,
13659 training and using basic neural networks. The networks created by this
13660 library are feedforward neural networks trained using backpropagation.")
13661 (home-page "https://github.com/glv2/simple-neural-network")
13662 (license license:gpl3+)))
13663
13664 (define-public cl-simple-neural-network
13665 (sbcl-package->cl-source-package sbcl-simple-neural-network))
13666
13667 (define-public ecl-simple-neural-network
13668 (sbcl-package->ecl-package sbcl-simple-neural-network))
13669
13670 (define-public sbcl-zstd
13671 (let ((commit "d144582c581aaa52bac24d6686af27fa3e781e06")
13672 (revision "1"))
13673 (package
13674 (name "sbcl-zstd")
13675 (version (git-version "1.0" revision commit))
13676 (source
13677 (origin
13678 (method git-fetch)
13679 (uri (git-reference
13680 (url "https://github.com/glv2/cl-zstd")
13681 (commit commit)))
13682 (file-name (git-file-name "cl-zstd" version))
13683 (sha256
13684 (base32 "1774jy8hzbi6nih3sq6vchk66f7g8w86dwgpbvljyfzcnkcaz6ql"))))
13685 (build-system asdf-build-system/sbcl)
13686 (native-inputs
13687 `(("fiveam" ,sbcl-fiveam)))
13688 (inputs
13689 `(("cffi" ,sbcl-cffi)
13690 ("cl-octet-streams" ,sbcl-cl-octet-streams)
13691 ("zstd-lib" ,zstd "lib")))
13692 (arguments
13693 '(#:phases
13694 (modify-phases %standard-phases
13695 (add-after 'unpack 'fix-paths
13696 (lambda* (#:key inputs #:allow-other-keys)
13697 (substitute* "src/libzstd.lisp"
13698 (("libzstd\\.so")
13699 (string-append (assoc-ref inputs "zstd-lib")
13700 "/lib/libzstd.so")))
13701 #t)))))
13702 (synopsis "Common Lisp library for Zstandard (de)compression")
13703 (description
13704 "This Common Lisp library provides functions for Zstandard
13705 compression/decompression using bindings to the libzstd C library.")
13706 (home-page "https://github.com/glv2/cl-zstd")
13707 (license license:gpl3+))))
13708
13709 (define-public cl-zstd
13710 (sbcl-package->cl-source-package sbcl-zstd))
13711
13712 (define-public ecl-zstd
13713 (sbcl-package->ecl-package sbcl-zstd))
13714
13715 (define-public sbcl-agnostic-lizard
13716 (let ((commit "fe3a73719f05901c8819f8995a3ebae738257952")
13717 (revision "1"))
13718 (package
13719 (name "sbcl-agnostic-lizard")
13720 (version (git-version "0.0.0" revision commit))
13721 (source
13722 (origin
13723 (method git-fetch)
13724 (uri (git-reference
13725 (url "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
13726 (commit commit)))
13727 (file-name (git-file-name name version))
13728 (sha256
13729 (base32 "0ax78y8w4zlp5dcwyhz2nq7j3shi49qn31dkfg8lv2jlg7mkwh2d"))))
13730 (build-system asdf-build-system/sbcl)
13731 (synopsis "Almost correct portable code walker for Common Lisp")
13732 (description
13733 "Agnostic Lizard is a portable implementation of a code walker and in
13734 particular of the macroexpand-all function (and macro) that makes a best
13735 effort to be correct while not expecting much beyond what the Common Lisp
13736 standard requires.
13737
13738 It aims to be implementation-agnostic and to climb the syntax trees.")
13739 (home-page "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
13740 (license license:gpl3+))))
13741
13742 (define-public cl-agnostic-lizard
13743 (sbcl-package->cl-source-package sbcl-agnostic-lizard))
13744
13745 (define-public ecl-agnostic-lizard
13746 (sbcl-package->ecl-package sbcl-agnostic-lizard))
13747
13748 (define-public sbcl-dynamic-classes
13749 (package
13750 (name "sbcl-dynamic-classes")
13751 (version "1.0.2")
13752 (source
13753 (origin
13754 (method git-fetch)
13755 (uri (git-reference
13756 (url "https://github.com/gwkkwg/dynamic-classes")
13757 (commit (string-append "version-" version))))
13758 (file-name (git-file-name "dynamic-classes" version))
13759 (sha256
13760 (base32 "1z3ag6w4ff0v6715xa9zhvwjqnp4i6zrjfmxdz8m115sklbwgm6c"))))
13761 (build-system asdf-build-system/sbcl)
13762 (inputs
13763 `(("metatilities-base" ,sbcl-metatilities-base)))
13764 (arguments
13765 ;; NOTE: (Sharlatan-20210106222900+0000) Circular dependencies and failing
13766 ;; test suites. lift-standard.config contains referances to deprecated
13767 ;; functionality.
13768 `(#:tests? #f))
13769 (home-page "https://common-lisp.net/project/dynamic-classes/")
13770 (synopsis "Dynamic class definition for Common Lisp")
13771 (description "Dynamic-Classes helps to ease the prototyping process by
13772 bringing dynamism to class definition.")
13773 (license license:expat)))
13774
13775 (define-public ecl-dynamic-classes
13776 (sbcl-package->ecl-package sbcl-dynamic-classes))
13777
13778 (define-public cl-dynamic-classes
13779 (sbcl-package->cl-source-package sbcl-dynamic-classes))
13780
13781 (define-public sbcl-cl-markdown
13782 ;; NOTE: (Sharlatan-20210106214629+0000) latest version tag
13783 ;; "version-0.10.6_version-0.10.6" is failing to build due to missing system
13784 ;; #:container-dynamic-classes
13785 (package
13786 (name "sbcl-cl-markdown")
13787 (version "0.10.4")
13788 (source
13789 (origin
13790 (method git-fetch)
13791 (uri (git-reference
13792 (url "https://github.com/gwkkwg/cl-markdown")
13793 (commit (string-append "version-" version))))
13794 (file-name (git-file-name "cl-markdown" version))
13795 (sha256
13796 (base32 "1wdjbdd1zyskxf7zlilcp6fmwkivybj0wjp64vvzb265d5xi7p8p"))))
13797 (build-system asdf-build-system/sbcl)
13798 (inputs
13799 `(("anaphora" ,sbcl-anaphora)
13800 ("cl-containers" ,sbcl-cl-containers)
13801 ("cl-ppcre" ,sbcl-cl-ppcre)
13802 ("dynamic-classes" ,sbcl-dynamic-classes)
13803 ("metabang-bind" ,sbcl-metabang-bind)
13804 ("metatilities-base" ,sbcl-metatilities-base)))
13805 (arguments
13806 ;; NOTE: (Sharlatan-20210107213629+0000) Tests depend on too many not
13807 ;; available systems, which themself are abandoned.
13808 `(#:tests? #f))
13809 (home-page "https://common-lisp.net/project/cl-markdown/")
13810 (synopsis "Common Lisp rewrite of Markdown")
13811 (description
13812 "This is an implementation of a Markdown parser in Common Lisp.")
13813 (license license:expat)))
13814
13815 (define-public ecl-cl-markdown
13816 (sbcl-package->ecl-package sbcl-cl-markdown))
13817
13818 (define-public cl-markdown
13819 (sbcl-package->cl-source-package sbcl-cl-markdown))
13820
13821 (define-public sbcl-magicffi
13822 (let ((commit "d88f2f280c31f639e4e05be75215d8a8dce6aef2"))
13823 (package
13824 (name "sbcl-magicffi")
13825 (version (git-version "0.0.0" "1" commit))
13826 (source
13827 (origin
13828 (method git-fetch)
13829 (uri (git-reference
13830 (url "https://github.com/dochang/magicffi/")
13831 (commit commit)))
13832 (file-name (git-file-name name version))
13833 (sha256
13834 (base32 "0p6ysa92fk34bhxpw7bycbfgw150fv11z9x8jr9xb4lh8cm2hvp6"))))
13835 (build-system asdf-build-system/sbcl)
13836 (native-inputs
13837 `(("alexandria" ,sbcl-alexandria)))
13838 (inputs
13839 `(("cffi" ,sbcl-cffi)
13840 ("ppcre" ,sbcl-cl-ppcre)
13841 ("libmagic" ,file)))
13842 (arguments
13843 `(#:phases
13844 (modify-phases %standard-phases
13845 (add-after 'unpack 'fix-paths
13846 (lambda* (#:key inputs #:allow-other-keys)
13847 (let ((magic (assoc-ref inputs "libmagic")))
13848 (substitute* "grovel.lisp"
13849 (("/usr/include/magic.h")
13850 (string-append magic "/include/magic.h")))
13851 (substitute* "api.lisp"
13852 ((":default \"libmagic\"" all)
13853 (string-append ":default \"" magic "/lib/libmagic\"")))))))))
13854 (home-page "https://common-lisp.net/project/magicffi/")
13855 (synopsis "Common Lisp interface to libmagic based on CFFI")
13856 (description
13857 "MAGICFFI is a Common Lisp CFFI interface to libmagic(3), the file type
13858 determination library using @emph{magic} numbers.")
13859 (license license:bsd-2))))
13860
13861 (define-public ecl-magicffi
13862 (sbcl-package->ecl-package sbcl-magicffi))
13863
13864 (define-public cl-magicffi
13865 (sbcl-package->cl-source-package sbcl-magicffi))
13866
13867 (define-public sbcl-shlex
13868 (let ((commit "c5616dffca0d4d8ddbc1cd6f37a96d88477b2740"))
13869 (package
13870 (name "sbcl-shlex")
13871 (version (git-version "0.0.0" "1" commit))
13872 (source
13873 (origin
13874 (method git-fetch)
13875 (uri (git-reference
13876 (url "https://github.com/ruricolist/cl-shlex")
13877 (commit commit)))
13878 (file-name (git-file-name name version))
13879 (sha256
13880 (base32 "1nas024n4wv319bf40aal96g72bgi9nkapj2chywj2cc6r8hzkfg"))))
13881 (build-system asdf-build-system/sbcl)
13882 (inputs
13883 `(("alexandria" ,sbcl-alexandria)
13884 ("serapeum" ,sbcl-serapeum)
13885 ("ppcre" ,sbcl-cl-ppcre)
13886 ("unicode" ,sbcl-cl-unicode)))
13887 (home-page "https://github.com/ruricolist/cl-shlex")
13888 (synopsis "Common Lisp lexical analyzer for shell-like syntaxes")
13889 (description
13890 "This library contains a lexer for syntaxes that use shell-like rules
13891 for quoting and commenting. It is a port of the @code{shlex} module from Python’s
13892 standard library.")
13893 (license license:expat))))
13894
13895 (define-public ecl-shlex
13896 (sbcl-package->ecl-package sbcl-shlex))
13897
13898 (define-public cl-shlex
13899 (sbcl-package->cl-source-package sbcl-shlex))
13900
13901 (define-public sbcl-cmd
13902 (let ((commit "bc5a3bee8f22917126e4c3d05b33f766e562dbd8"))
13903 (package
13904 (name "sbcl-cmd")
13905 (version (git-version "0.0.1" "3" commit))
13906 (source
13907 (origin
13908 (method git-fetch)
13909 (uri (git-reference
13910 (url "https://github.com/ruricolist/cmd/")
13911 (commit commit)))
13912 (file-name (git-file-name name version))
13913 (sha256
13914 (base32 "1sjlabrknw1kjb2y89vssjhcqh3slgly8wnr3152zgis8lsj2yc7"))))
13915 (build-system asdf-build-system/sbcl)
13916 (inputs
13917 `(("alexandria" ,sbcl-alexandria)
13918 ("coreutils" ,coreutils)
13919 ("procps" ,procps)
13920 ("serapeum" ,sbcl-serapeum)
13921 ("shlex" ,sbcl-shlex)
13922 ("trivia" ,sbcl-trivia)))
13923 (arguments
13924 `(#:phases
13925 (modify-phases %standard-phases
13926 (add-after 'unpack 'fix-paths
13927 (lambda* (#:key inputs #:allow-other-keys)
13928 (let ((bin (string-append (assoc-ref inputs "coreutils") "/bin"))
13929 (ps-bin (string-append (assoc-ref inputs "procps") "/bin")))
13930 (substitute* "cmd.lisp"
13931 (("\\(def \\+env\\+ \"env\"\\)")
13932 (format #f "(def +env+ \"~a/env\")" bin))
13933 (("\\(def \\+kill\\+ \"kill\"\\)")
13934 (format #f "(def +kill+ \"~a/kill\")" bin))
13935 (("\\(def \\+ps\\+ \"ps\"\\)")
13936 (format #f "(def +ps+ \"~a/ps\")" ps-bin))
13937 (("\\(def \\+pwd\\+ \"pwd\"\\)")
13938 (format #f "(def +pwd+ \"~a/pwd\")" bin))
13939 (("\\(def \\+sh\\+ \"/bin/sh\"\\)")
13940 (format #f "(def +sh+ \"~a\")" (which "sh")))
13941 (("\\(def \\+tr\\+ \"tr\"\\)")
13942 (format #f "(def +tr+ \"~a/tr\")" bin)))))))))
13943 (home-page "https://github.com/ruricolist/cmd")
13944 (synopsis "Conveniently run external programs from Common Lisp")
13945 (description
13946 "A utility for running external programs, built on UIOP.
13947 Cmd is designed to be natural to use, protect against shell interpolation and
13948 be usable from multi-threaded programs.")
13949 (license license:expat))))
13950
13951 (define-public ecl-cmd
13952 (sbcl-package->ecl-package sbcl-cmd))
13953
13954 (define-public cl-cmd
13955 (sbcl-package->cl-source-package sbcl-cmd))
13956
13957 (define-public sbcl-ppath
13958 (let ((commit "eb1a8173b4d1d691ea9a7699412123462f58c3ce"))
13959 (package
13960 (name "sbcl-ppath")
13961 (version (git-version "0.1" "1" commit))
13962 (source
13963 (origin
13964 (method git-fetch)
13965 (uri (git-reference
13966 (url "https://github.com/fourier/ppath/")
13967 (commit commit)))
13968 (file-name (git-file-name name commit))
13969 (sha256
13970 (base32 "1c46q9lmzqv14z80d3fwdawgn3pn4922x31fyqvsvbcjm4hd16fb"))))
13971 (build-system asdf-build-system/sbcl)
13972 (inputs
13973 `(("alexandria" ,sbcl-alexandria)
13974 ("cffi" ,sbcl-cffi)
13975 ("osicat" ,sbcl-osicat)
13976 ("ppcre" ,sbcl-cl-ppcre)
13977 ("split-sequence" ,sbcl-split-sequence)
13978 ("trivial-features" ,sbcl-trivial-features)))
13979 (native-inputs
13980 `(("cl-fad" ,sbcl-cl-fad)
13981 ("prove" ,sbcl-prove)))
13982 (home-page "https://github.com/fourier/ppath")
13983 (synopsis "Common Lisp's implementation of the Python's os.path module")
13984 (description
13985 "This library is a path strings manipulation library inspired by
13986 Python's @code{os.path}. All functionality from @code{os.path} is supported on
13987 major operation systems.
13988
13989 The philosophy behind is to use simple strings and \"dumb\" string
13990 manipulation functions to handle paths and filenames. Where possible the
13991 corresponding OS system functions are called.")
13992 (license license:bsd-2))))
13993
13994 (define-public ecl-ppath
13995 (sbcl-package->ecl-package sbcl-ppath))
13996
13997 (define-public cl-ppath
13998 (sbcl-package->cl-source-package sbcl-ppath))
13999
14000 (define-public sbcl-trivial-escapes
14001 (let ((commit "1eca78da2078495d09893be58c28b3aa7b8cc4d1"))
14002 (package
14003 (name "sbcl-trivial-escapes")
14004 (version (git-version "1.2.0" "1" commit))
14005 (source
14006 (origin
14007 (method git-fetch)
14008 (uri (git-reference
14009 (url "https://github.com/williamyaoh/trivial-escapes")
14010 (commit commit)))
14011 (file-name (git-file-name name commit))
14012 (sha256
14013 (base32 "0v6h8lk17iqv1qkxgqjyzn8gi6v0hvq2vmfbb01md3zjvjqxn6lr"))))
14014 (build-system asdf-build-system/sbcl)
14015 (inputs
14016 `(("named-readtables" ,sbcl-named-readtables)))
14017 (native-inputs
14018 `(("fiveam" ,sbcl-fiveam)))
14019 (home-page "https://github.com/williamyaoh/trivial-escapes")
14020 (synopsis "C-style escape directives for Common Lisp")
14021 (description
14022 "This Common Lisp library interprets escape characters the same way that
14023 most other programming language do.
14024 It provides four readtables. The default one lets you write strings like this:
14025 @code{#\"This string has\na newline in it!\"}.")
14026 (license license:public-domain))))
14027
14028 (define-public ecl-trivial-escapes
14029 (sbcl-package->ecl-package sbcl-trivial-escapes))
14030
14031 (define-public cl-trivial-escapes
14032 (sbcl-package->cl-source-package sbcl-trivial-escapes))
14033
14034 (define-public sbcl-cl-indentify
14035 (let ((commit "eb770f434defa4cd41d84bca822428dfd0dbac53"))
14036 (package
14037 (name "sbcl-cl-indentify")
14038 (version (git-version "0.1" "1" commit))
14039 (source
14040 (origin
14041 (method git-fetch)
14042 (uri (git-reference
14043 (url "https://github.com/yitzchak/cl-indentify")
14044 (commit commit)))
14045 (file-name (git-file-name name commit))
14046 (sha256
14047 (base32 "0ha36bhg474vr76vfhr13szc8cfdj1ickg92k1icz791bqaqg67p"))))
14048 (build-system asdf-build-system/sbcl)
14049 (inputs
14050 `(("alexandria" ,sbcl-alexandria)
14051 ("command-line-arguments" ,sbcl-command-line-arguments)
14052 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
14053 (native-inputs
14054 `(("trivial-escapes" ,sbcl-trivial-escapes)
14055 ("rove" ,sbcl-rove)))
14056 (home-page "https://github.com/yitzchak/cl-indentify")
14057 (synopsis "Code beautifier for Common Lisp")
14058 (description
14059 "A library and command line utility to automatically indent Common Lisp
14060 source files.")
14061 (license license:expat))))
14062
14063 (define-public ecl-cl-indentify
14064 (sbcl-package->ecl-package sbcl-cl-indentify))
14065
14066 (define-public cl-indentify
14067 (sbcl-package->cl-source-package sbcl-cl-indentify))
14068
14069 (define-public sbcl-concrete-syntax-tree
14070 (let ((commit "abd242a59dadc5452aa9dbc1d313c83ec2c11f46"))
14071 (package
14072 (name "sbcl-concrete-syntax-tree")
14073 (version (git-version "0.0.0" "1" commit))
14074 (source
14075 (origin
14076 (method git-fetch)
14077 (uri (git-reference
14078 (url "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14079 (commit commit)))
14080 (file-name (git-file-name name commit))
14081 (sha256
14082 (base32 "1lyrglc3h1if44gxd9cwv90wa90nrdjvb7fry39b1xn8ywdfa7di"))))
14083 (build-system asdf-build-system/sbcl)
14084 (inputs
14085 `(("acclimation" ,sbcl-acclimation)))
14086 (home-page "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14087 (synopsis "Parse Common Lisp code into a concrete syntax tree")
14088 (description
14089 "This library is intended to solve the problem of source tracking for
14090 Common Lisp code.
14091
14092 By \"source tracking\", it is meant that code elements that have a known
14093 origin in the form of a position in a file or in an editor buffer are
14094 associated with some kind of information about this origin.
14095
14096 Since the exact nature of such origin information depends on the Common Lisp
14097 implementation and the purpose of wanting to track that origin, the library
14098 does not impose a particular structure of this information. Instead, it
14099 provides utilities for manipulating source code in the form of what is called
14100 concrete syntax trees (CSTs for short) that preserve this information about
14101 the origin.")
14102 (license license:bsd-2))))
14103
14104 (define-public ecl-concrete-syntax-tree
14105 (sbcl-package->ecl-package sbcl-concrete-syntax-tree))
14106
14107 (define-public cl-concrete-syntax-tree
14108 (sbcl-package->cl-source-package sbcl-concrete-syntax-tree))
14109
14110 (define-public sbcl-eclector
14111 (package
14112 (name "sbcl-eclector")
14113 (version "0.5.0")
14114 (source
14115 (origin
14116 (method git-fetch)
14117 (uri (git-reference
14118 (url "https://github.com/s-expressionists/Eclector")
14119 (commit version)))
14120 (file-name (git-file-name name version))
14121 (sha256
14122 (base32 "0bwkla0jdp5bg0q1zca5wg22b0nbdmglgax345nrhsf8bdrh47wm"))))
14123 (build-system asdf-build-system/sbcl)
14124 (inputs
14125 `(("acclimation" ,sbcl-acclimation)
14126 ("alexandria" ,sbcl-alexandria)
14127 ("closer-mop" ,sbcl-closer-mop)
14128 ("concrete-syntax-tree" ,sbcl-concrete-syntax-tree)))
14129 (native-inputs
14130 `(("fiveam" ,sbcl-fiveam)))
14131 (arguments
14132 '(#:asd-systems '("eclector"
14133 "eclector-concrete-syntax-tree")))
14134 (home-page "https://s-expressionists.github.io/Eclector/")
14135 (synopsis "Highly customizable, portable Common Lisp reader")
14136 (description
14137 "Eclector is a portable Common Lisp reader that is highly customizable,
14138 can recover from errors and can return concrete syntax trees.
14139
14140 In contrast to many other reader implementations, eclector can recover from
14141 most errors in the input supplied to it and continue reading. This capability
14142 is realized as a restart.
14143
14144 It can also produce instances of the concrete syntax tree classes provided by
14145 the concrete syntax tree library.")
14146 (license license:bsd-2)))
14147
14148 (define-public ecl-eclector
14149 (sbcl-package->ecl-package sbcl-eclector))
14150
14151 (define-public cl-eclector
14152 (sbcl-package->cl-source-package sbcl-eclector))
14153
14154 (define-public sbcl-jsown
14155 (let ((commit "744c4407bef58dfa876d9da0b5c0205d869e7977"))
14156 (package
14157 (name "sbcl-jsown")
14158 (version (git-version "1.0.1" "1" commit))
14159 (source
14160 (origin
14161 (method git-fetch)
14162 (uri (git-reference
14163 (url "https://github.com/madnificent/jsown")
14164 (commit commit)))
14165 (file-name (git-file-name name commit))
14166 (sha256
14167 (base32 "0gadvmf1d9bq35s61z76psrsnzwwk12svi66jigf491hv48wigw7"))))
14168 (build-system asdf-build-system/sbcl)
14169 (home-page "https://github.com/madnificent/jsown")
14170 (synopsis "Fast JSON reader / writer library for Common Lisp")
14171 (description
14172 "@code{jsown} is a high performance Common Lisp JSON parser. Its aim
14173 is to allow for the fast parsing of JSON objects in Common Lisp. Recently,
14174 functions and macros have been added to ease the burden of writing and editing
14175 @code{jsown} objects.
14176
14177 @code{jsown} allows you to parse JSON objects quickly to a modifiable Lisp
14178 list and write them back. If you only need partial retrieval of objects,
14179 @code{jsown} allows you to select the keys which you would like to see parsed.
14180 @code{jsown} also has a JSON writer and some helper methods to alter the JSON
14181 objects themselves.")
14182 (license license:expat))))
14183
14184 (define-public ecl-jsown
14185 (sbcl-package->ecl-package sbcl-jsown))
14186
14187 (define-public cl-jsown
14188 (sbcl-package->cl-source-package sbcl-jsown))
14189
14190 (define-public sbcl-system-locale
14191 (let ((commit "4b334bc2fa45651bcaa28ae7d9331095d6bf0a17"))
14192 (package
14193 (name "sbcl-system-locale")
14194 (version (git-version "1.0.0" "1" commit))
14195 (source
14196 (origin
14197 (method git-fetch)
14198 (uri (git-reference
14199 (url "https://github.com/Shinmera/system-locale/")
14200 (commit commit)))
14201 (file-name (git-file-name name commit))
14202 (sha256
14203 (base32 "00p5c053kmgq4ks6l9mxsqz6g3bjcybvkvj0bh3r90qgpkaawm1p"))))
14204 (build-system asdf-build-system/sbcl)
14205 (inputs
14206 `(("documentation-utils" ,sbcl-documentation-utils)))
14207 (home-page "https://shinmera.github.io/system-locale/")
14208 (synopsis "Get the system's locale and language settings in Common Lisp")
14209 (description
14210 "This library retrieves locale information configured on the
14211 system. This is helpful if you want to write applications and libraries that
14212 display messages in the user's native language.")
14213 (license license:zlib))))
14214
14215 (define-public ecl-system-locale
14216 (sbcl-package->ecl-package sbcl-system-locale))
14217
14218 (define-public cl-system-locale
14219 (sbcl-package->cl-source-package sbcl-system-locale))
14220
14221 (define-public sbcl-language-codes
14222 (let ((commit "e7aa0e37cb97a3d37d6bc7316b479d01bff8f42e"))
14223 (package
14224 (name "sbcl-language-codes")
14225 (version (git-version "1.0.0" "1" commit))
14226 (source
14227 (origin
14228 (method git-fetch)
14229 (uri (git-reference
14230 (url "https://github.com/Shinmera/language-codes")
14231 (commit commit)))
14232 (file-name (git-file-name name commit))
14233 (sha256
14234 (base32 "0py176ibmsc01n5r0q1bs1ykqf5jwdbh8kx0j1a814l9y51241v0"))))
14235 (build-system asdf-build-system/sbcl)
14236 (inputs
14237 `(("documentation-utils" ,sbcl-documentation-utils)))
14238 (home-page "https://shinmera.github.io/language-codes/")
14239 (synopsis "Map ISO language codes to language names in Common Lisp")
14240 (description
14241 "This is a small library providing the ISO-639 language code to
14242 language name mapping.")
14243 (license license:zlib))))
14244
14245 (define-public ecl-language-codes
14246 (sbcl-package->ecl-package sbcl-language-codes))
14247
14248 (define-public cl-language-codes
14249 (sbcl-package->cl-source-package sbcl-language-codes))
14250
14251 (define-public sbcl-multilang-documentation
14252 (let ((commit "59e798a07e949e8957a20927f52aca425d84e4a0"))
14253 (package
14254 (name "sbcl-multilang-documentation")
14255 (version (git-version "1.0.0" "1" commit))
14256 (source
14257 (origin
14258 (method git-fetch)
14259 (uri (git-reference
14260 (url "https://github.com/Shinmera/multilang-documentation")
14261 (commit commit)))
14262 (file-name (git-file-name name commit))
14263 (sha256
14264 (base32 "13y5jskx8n2b7kimpfarr8v777w3b7zj5swg1b99nj3hk0843ixw"))))
14265 (build-system asdf-build-system/sbcl)
14266 (inputs
14267 `(("documentation-utils" ,sbcl-documentation-utils)
14268 ("language-codes" ,sbcl-language-codes)
14269 ("system-locale" ,sbcl-system-locale)))
14270 (home-page "https://shinmera.github.io/multilang-documentation/")
14271 (synopsis "Add multiple languages support to Common Lisp documentation")
14272 (description
14273 "This library provides a drop-in replacement function for
14274 cl:documentation that supports multiple docstrings per-language, allowing you
14275 to write documentation that can be internationalised.")
14276 (license license:zlib))))
14277
14278 (define-public ecl-multilang-documentation
14279 (sbcl-package->ecl-package sbcl-multilang-documentation))
14280
14281 (define-public cl-multilang-documentation
14282 (sbcl-package->cl-source-package sbcl-multilang-documentation))
14283
14284 (define-public sbcl-trivial-do
14285 (let ((commit "03a1729f1e71bad3ebcf6cf098a0cce52dfa1163"))
14286 (package
14287 (name "sbcl-trivial-do")
14288 (version (git-version "0.1" "1" commit))
14289 (source
14290 (origin
14291 (method git-fetch)
14292 (uri (git-reference
14293 (url "https://github.com/yitzchak/trivial-do")
14294 (commit commit)))
14295 (file-name (git-file-name name commit))
14296 (sha256
14297 (base32 "1ffva79nkicc7wc8c2ic5nayis3b2rk5sxzj74yjkymkjgbpcrgd"))))
14298 (build-system asdf-build-system/sbcl)
14299 (home-page "https://github.com/yitzchak/trivial-do")
14300 (synopsis "Additional dolist style macros for Common Lisp")
14301 (description
14302 "Additional dolist style macros for Common Lisp, such as
14303 @code{doalist}, @code{dohash}, @code{dolist*}, @code{doplist}, @code{doseq}
14304 and @code{doseq*}.")
14305 (license license:zlib))))
14306
14307 (define-public ecl-trivial-do
14308 (sbcl-package->ecl-package sbcl-trivial-do))
14309
14310 (define-public cl-trivial-do
14311 (sbcl-package->cl-source-package sbcl-trivial-do))
14312
14313 (define-public sbcl-common-lisp-jupyter
14314 (let ((commit "61a9a8e7a18e2abd7af7c697ba5146fd19bd9d62"))
14315 (package
14316 (name "sbcl-common-lisp-jupyter")
14317 (version (git-version "0.1" "1" commit))
14318 (source
14319 (origin
14320 (method git-fetch)
14321 (uri (git-reference
14322 (url "https://github.com/yitzchak/common-lisp-jupyter")
14323 (commit commit)))
14324 (file-name (git-file-name name commit))
14325 (sha256
14326 (base32 "0zyzl55l45w9z65ygi5pcwda5w5p1j1bb0p2zg2n5cpv8344dkh2"))))
14327 (build-system asdf-build-system/sbcl)
14328 (inputs
14329 `(("alexandria" ,sbcl-alexandria)
14330 ("babel" ,sbcl-babel)
14331 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14332 ("cl-base64" ,sbcl-cl-base64)
14333 ("cl-indentify" ,sbcl-cl-indentify)
14334 ("closer-mop" ,sbcl-closer-mop)
14335 ("eclector" ,sbcl-eclector)
14336 ("ironclad" ,sbcl-ironclad)
14337 ("iterate" ,sbcl-iterate)
14338 ("jsown" ,sbcl-jsown)
14339 ("multilang-documentation" ,sbcl-multilang-documentation)
14340 ("pzmq" ,sbcl-pzmq)
14341 ("puri" ,sbcl-puri)
14342 ("static-vectors" ,sbcl-static-vectors)
14343 ("trivial-do" ,sbcl-trivial-do)
14344 ("trivial-garbage" ,sbcl-trivial-garbage)
14345 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
14346 ("trivial-mimes" ,sbcl-trivial-mimes)))
14347 (home-page "https://yitzchak.github.io/common-lisp-jupyter/")
14348 (synopsis "Common Lisp kernel for Jupyter")
14349 (description
14350 "This is a Common Lisp kernel for Jupyter along with a library for
14351 building Jupyter kernels, based on Maxima-Jupyter which was based on
14352 @code{cl-jupyter}.")
14353 (license license:zlib))))
14354
14355 (define-public ecl-common-lisp-jupyter
14356 (sbcl-package->ecl-package sbcl-common-lisp-jupyter))
14357
14358 (define-public cl-common-lisp-jupyter
14359 (sbcl-package->cl-source-package sbcl-common-lisp-jupyter))
14360
14361 (define-public sbcl-radiance
14362 (let ((commit "5ffbe1f157edd17a13194495099efd81e052df85")
14363 (revision "1"))
14364 (package
14365 (name "sbcl-radiance")
14366 (version (git-version "2.1.2" revision commit))
14367 (source
14368 (origin
14369 (method git-fetch)
14370 (uri (git-reference
14371 (url "https://github.com/Shirakumo/radiance")
14372 (commit commit)))
14373 (file-name (git-file-name "radiance" version))
14374 (sha256
14375 (base32 "0hbkcnmnlj1cqzbv18zmla2iwbl65kxilz9764hndf8x8as1539c"))))
14376 (build-system asdf-build-system/sbcl)
14377 (arguments
14378 `(#:tests? #f ; TODO: The tests require some configuration.
14379 #:phases
14380 (modify-phases %standard-phases
14381 (add-after 'unpack 'disable-quicklisp
14382 (lambda _
14383 ;; Disable the automatic installation of systems by Quicklisp.
14384 ;; (Maybe there would be a way to package Quicklisp and make it
14385 ;; install things in the user's directory instead of
14386 ;; /gnu/store/...).
14387 (substitute* "interfaces.lisp"
14388 (("\\(unless \\(asdf:find-system configured-implementation NIL\\)"
14389 all)
14390 (string-append "#+quicklisp " all))))))))
14391 (native-inputs
14392 `(("alexandria" ,sbcl-alexandria)
14393 ("dexador" ,sbcl-dexador)
14394 ("parachute" ,sbcl-parachute)
14395 ("verbose" ,sbcl-verbose)))
14396 (inputs
14397 `(("babel" ,sbcl-babel)
14398 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14399 ("cl-ppcre" ,sbcl-cl-ppcre)
14400 ("closer-mop" ,sbcl-closer-mop)
14401 ("documentation-utils" ,sbcl-documentation-utils)
14402 ("deploy" ,sbcl-deploy)
14403 ("form-fiddle" ,sbcl-form-fiddle)
14404 ("lambda-fiddle" ,sbcl-lambda-fiddle)
14405 ("local-time" ,sbcl-local-time)
14406 ("modularize-hooks" ,sbcl-modularize-hooks)
14407 ("modularize-interfaces" ,sbcl-modularize-interfaces)
14408 ("puri" ,sbcl-puri)
14409 ("trivial-indent" ,sbcl-trivial-indent)
14410 ("trivial-mimes" ,sbcl-trivial-mimes)
14411 ("ubiquitous-concurrent" ,sbcl-ubiquitous)))
14412 (home-page "https://shirakumo.github.io/radiance/")
14413 (synopsis "Common Lisp web application environment")
14414 (description
14415 "Radiance is a web application environment, which is sort of like a web
14416 framework, but more general, more flexible. It should let you write personal
14417 websites and generally deployable applications easily and in such a way that
14418 they can be used on practically any setup without having to undergo special
14419 adaptations.")
14420 (license license:zlib))))
14421
14422 (define-public ecl-radiance
14423 (sbcl-package->ecl-package sbcl-radiance))
14424
14425 (define-public cl-radiance
14426 (sbcl-package->cl-source-package sbcl-radiance))