gnu: Add cl-glsl-spec.
[jackhill/guix/guix.git] / gnu / packages / lisp-xyz.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2014 John Darrington <jmd@gnu.org>
3 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
4 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
5 ;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch>
6 ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
7 ;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca>
8 ;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
9 ;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
10 ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
11 ;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
12 ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
13 ;;; Copyright © 2018, 2020, 2021 Pierre Neidhardt <mail@ambrevar.xyz>
14 ;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
15 ;;; Copyright © 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
16 ;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com>
17 ;;; Copyright © 2019, 2020, 2021 Guillaume Le Vaillant <glv@posteo.net>
18 ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
19 ;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
20 ;;; Copyright © 2020 Dimakis Dimakakos <me@bendersteed.tech>
21 ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
22 ;;; Copyright © 2020, 2021 Adam Kandur <rndd@tuta.io>
23 ;;; Copyright © 2020, 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
24 ;;; Copyright © 2021 Aurora <rind38@disroot.org>
25 ;;; Copyright © 2021 Matthew Kraai <kraai@ftbfs.org>
26 ;;;
27 ;;; This file is part of GNU Guix.
28 ;;;
29 ;;; GNU Guix is free software; you can redistribute it and/or modify it
30 ;;; under the terms of the GNU General Public License as published by
31 ;;; the Free Software Foundation; either version 3 of the License, or (at
32 ;;; your option) any later version.
33 ;;;
34 ;;; GNU Guix is distributed in the hope that it will be useful, but
35 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
36 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
37 ;;; GNU General Public License for more details.
38 ;;;
39 ;;; You should have received a copy of the GNU General Public License
40 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
41
42 ;;; This file only contains Common Lisp libraries.
43 ;;; Common Lisp compilers and tooling go to lisp.scm.
44 ;;; Common Lisp applications should go to the most appropriate file,
45 ;;; e.g. StumpWM is in wm.scm.
46
47 (define-module (gnu packages lisp-xyz)
48 #:use-module (gnu packages)
49 #:use-module ((guix licenses) #:prefix license:)
50 #:use-module (guix packages)
51 #:use-module (guix download)
52 #:use-module (guix git-download)
53 #:use-module (guix hg-download)
54 #:use-module (guix utils)
55 #:use-module (guix build-system asdf)
56 #:use-module (guix build-system trivial)
57 #:use-module (gnu packages base)
58 #:use-module (gnu packages c)
59 #:use-module (gnu packages compression)
60 #:use-module (gnu packages databases)
61 #:use-module (gnu packages enchant)
62 #:use-module (gnu packages file)
63 #:use-module (gnu packages fonts)
64 #:use-module (gnu packages fontutils)
65 #:use-module (gnu packages glib)
66 #:use-module (gnu packages gtk)
67 #:use-module (gnu packages imagemagick)
68 #:use-module (gnu packages libevent)
69 #:use-module (gnu packages libffi)
70 #:use-module (gnu packages lisp)
71 #:use-module (gnu packages maths)
72 #:use-module (gnu packages mp3)
73 #:use-module (gnu packages networking)
74 #:use-module (gnu packages pkg-config)
75 #:use-module (gnu packages python)
76 #:use-module (gnu packages python-xyz)
77 #:use-module (gnu packages sqlite)
78 #:use-module (gnu packages tcl)
79 #:use-module (gnu packages tls)
80 #:use-module (gnu packages web)
81 #:use-module (gnu packages webkit)
82 #:use-module (gnu packages xdisorg)
83 #:use-module (ice-9 match)
84 #:use-module (srfi srfi-1)
85 #:use-module (srfi srfi-19))
86
87 (define-public sbcl-alexandria
88 (package
89 (name "sbcl-alexandria")
90 (version "1.2")
91 (source
92 (origin
93 (method git-fetch)
94 (uri (git-reference
95 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
96 (commit (string-append "v" version))))
97 (sha256
98 (base32
99 "0bcqs0z9xlqgjz43qzgq9i07vdlnjllpm1wwa37wpkg0w975r712"))
100 (file-name (git-file-name name version))))
101 (build-system asdf-build-system/sbcl)
102 (native-inputs
103 `(("rt" ,sbcl-rt)))
104 (synopsis "Collection of portable utilities for Common Lisp")
105 (description
106 "Alexandria is a collection of portable utilities. It does not contain
107 conceptual extensions to Common Lisp. It is conservative in scope, and
108 portable between implementations.")
109 (home-page "https://common-lisp.net/project/alexandria/")
110 (license license:public-domain)))
111
112 (define-public cl-alexandria
113 (sbcl-package->cl-source-package sbcl-alexandria))
114
115 (define-public ecl-alexandria
116 (sbcl-package->ecl-package sbcl-alexandria))
117
118 (define-public sbcl-golden-utils
119 (let ((commit "9424419d867d5c2f819196ee41667a818a5058e7")
120 (revision "1"))
121 (package
122 (name "sbcl-golden-utils")
123 (version (git-version "0.0.0" revision commit))
124 (source
125 (origin
126 (method git-fetch)
127 (uri (git-reference
128 (url "https://git.mfiano.net/mfiano/golden-utils")
129 (commit commit)))
130 (file-name (git-file-name name version))
131 (sha256
132 (base32 "15x0phm6820yj3h37ibi06gjyh6z45sd2nz2n8lcbfflwm086q0h"))))
133 (build-system asdf-build-system/sbcl)
134 (inputs
135 `(("alexandria" ,sbcl-alexandria)))
136 (home-page "https://git.mfiano.net/mfiano/golden-utils")
137 (synopsis "Common Lisp utility library")
138 (description
139 "This is a Common Lisp library providing various utilities.")
140 (license license:expat))))
141
142 (define-public ecl-golden-utils
143 (sbcl-package->ecl-package sbcl-golden-utils))
144
145 (define-public cl-golden-utils
146 (sbcl-package->cl-source-package sbcl-golden-utils))
147
148 (define-public sbcl-asdf-finalizers
149 (let ((commit "7f537f6c598b662ae987c6acc268dd27c25977e0")
150 (revision "1"))
151 (package
152 (name "sbcl-asdf-finalizers")
153 (version (git-version "0.0.0" revision commit))
154 (source
155 (origin
156 (method git-fetch)
157 (uri (git-reference
158 (url "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
159 (commit commit)))
160 (file-name (git-file-name name version))
161 (sha256
162 (base32 "1w56c9yjjydjshsgqxz57qlp2v3r4ilbisnsgiqphvxnhvd41y0v"))))
163 (build-system asdf-build-system/sbcl)
164 (native-inputs
165 `(("fare-utils" ,sbcl-fare-utils)
166 ("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
167 (arguments
168 `(#:asd-files '("asdf-finalizers.asd"
169 "list-of.asd"
170 "asdf-finalizers-test.asd")
171 #:asd-systems '("asdf-finalizers"
172 "list-of")))
173 (home-page "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
174 (synopsis "Enforced calling of finalizers for Lisp code")
175 (description "This library allows you to implement and enforce proper
176 finalization of compile-time constructs while building Lisp source files.
177
178 It produces two systems: asdf-finalizers and list-of.")
179 (license license:expat))))
180
181 (define-public ecl-asdf-finalizers
182 (sbcl-package->ecl-package sbcl-asdf-finalizers))
183
184 (define-public cl-asdf-finalizers
185 (sbcl-package->cl-source-package sbcl-asdf-finalizers))
186
187 (define-public sbcl-net.didierverna.asdf-flv
188 (package
189 (name "sbcl-net.didierverna.asdf-flv")
190 (version "2.1")
191 (source
192 (origin
193 (method git-fetch)
194 (uri (git-reference
195 (url "https://github.com/didierverna/asdf-flv")
196 (commit (string-append "version-" version))))
197 (file-name (git-file-name "asdf-flv" version))
198 (sha256
199 (base32 "1fi2y4baxan103jbg4idjddzihy03kwnj2mzbwrknw4d4x7xlgwj"))))
200 (build-system asdf-build-system/sbcl)
201 (synopsis "Common Lisp ASDF extension to provide support for file-local variables")
202 (description "ASDF-FLV provides support for file-local variables through
203 ASDF. A file-local variable behaves like @code{*PACKAGE*} and
204 @code{*READTABLE*} with respect to @code{LOAD} and @code{COMPILE-FILE}: a new
205 dynamic binding is created before processing the file, so that any
206 modification to the variable becomes essentially file-local.
207
208 In order to make one or several variables file-local, use the macros
209 @code{SET-FILE-LOCAL-VARIABLE(S)}.")
210 (home-page "https://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv")
211 (license (license:non-copyleft
212 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
213 "GNU All-Permissive License"))))
214
215 (define-public cl-net.didierverna.asdf-flv
216 (sbcl-package->cl-source-package sbcl-net.didierverna.asdf-flv))
217
218 (define-public ecl-net.didierverna.asdf-flv
219 (sbcl-package->ecl-package sbcl-net.didierverna.asdf-flv))
220
221 (define-public sbcl-command-line-arguments
222 (let ((commit "fbac862fb01c0e368141204f3f639920462c23fe")
223 (revision "1"))
224 (package
225 (name "sbcl-command-line-arguments")
226 (version (git-version "2.0.0" revision commit))
227 (source
228 (origin
229 (method git-fetch)
230 (uri (git-reference
231 (url "https://github.com/fare/command-line-arguments")
232 (commit commit)))
233 (file-name (git-file-name name version))
234 (sha256
235 (base32 "054m1ikndzqf72mb9ajaa64136cwr3bgag4yfbi1574a9vq75mjq"))))
236 (build-system asdf-build-system/sbcl)
237 (home-page "https://github.com/fare/command-line-arguments")
238 (synopsis "Trivial command-line argument parsing library for Common Lisp")
239 (description "This is a library to abstract away the parsing of
240 Unix-style command-line arguments. Use it in conjunction with asdf:program-op
241 or cl-launch for portable processing of command-line arguments.")
242 (license license:expat))))
243
244 (define-public ecl-command-line-arguments
245 (sbcl-package->ecl-package sbcl-command-line-arguments))
246
247 (define-public cl-command-line-arguments
248 (sbcl-package->cl-source-package sbcl-command-line-arguments))
249
250 (define-public sbcl-fiveam
251 (package
252 (name "sbcl-fiveam")
253 (version "1.4.1")
254 (source
255 (origin
256 (method git-fetch)
257 (uri (git-reference
258 (url "https://github.com/sionescu/fiveam")
259 (commit (string-append "v" version))))
260 (file-name (git-file-name "fiveam" version))
261 (sha256
262 (base32 "1q3d38pwafnwnw42clq0f8g5xw7pbzr287jl9jsqmb1vb0n1vrli"))))
263 (inputs
264 `(("alexandria" ,sbcl-alexandria)
265 ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
266 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
267 (build-system asdf-build-system/sbcl)
268 (synopsis "Common Lisp testing framework")
269 (description "FiveAM is a simple (as far as writing and running tests
270 goes) regression testing framework. It has been designed with Common Lisp's
271 interactive development model in mind.")
272 (home-page "https://common-lisp.net/project/fiveam/")
273 (license license:bsd-3)))
274
275 (define-public cl-fiveam
276 (sbcl-package->cl-source-package sbcl-fiveam))
277
278 (define-public ecl-fiveam
279 (sbcl-package->ecl-package sbcl-fiveam))
280
281 (define-public sbcl-trivial-timeout
282 (let ((commit "feb869357f40f5e109570fb40abad215fb370c6c")
283 (revision "1"))
284 (package
285 (name "sbcl-trivial-timeout")
286 (version (git-version "0.1.5" revision commit))
287 (source
288 (origin
289 (method git-fetch)
290 (uri (git-reference
291 (url "https://github.com/gwkkwg/trivial-timeout/")
292 (commit commit)))
293 (file-name (git-file-name "trivial-timeout" version))
294 (sha256
295 (base32 "1kninxwvvih9nhh7a9y8lfgi7pdr76675y1clw4ss17vz8fbim5p"))))
296 (build-system asdf-build-system/sbcl)
297 (native-inputs
298 `(("lift" ,sbcl-lift)))
299 (arguments
300 ;; NOTE: (Sharlatan-20210202T231437+0000): Due to the age of this library
301 ;; tests use some deprecated functionality and keep failing.
302 `(#:tests? #f))
303 (home-page "https://github.com/gwkkwg/trivial-timeout/")
304 (synopsis "Timeout library for Common Lisp")
305 (description
306 "This library provides an OS and implementation independent access to
307 timeouts.")
308 (license license:expat))))
309
310 (define-public ecl-trivial-timeout
311 (sbcl-package->ecl-package sbcl-trivial-timeout))
312
313 (define-public cl-trivial-timeout
314 (sbcl-package->cl-source-package sbcl-trivial-timeout))
315
316 (define-public sbcl-bordeaux-threads
317 (package
318 (name "sbcl-bordeaux-threads")
319 (version "0.8.8")
320 (source (origin
321 (method git-fetch)
322 (uri (git-reference
323 (url "https://github.com/sionescu/bordeaux-threads")
324 (commit (string-append "v" version))))
325 (sha256
326 (base32 "19i443fz3488v1pbbr9x24y8h8vlyhny9vj6c9jk5prm702awrp6"))
327 (file-name
328 (git-file-name "bordeaux-threads" version))))
329 (inputs `(("alexandria" ,sbcl-alexandria)))
330 (native-inputs `(("fiveam" ,sbcl-fiveam)))
331 (build-system asdf-build-system/sbcl)
332 (synopsis "Portable shared-state concurrency library for Common Lisp")
333 (description "BORDEAUX-THREADS is a proposed standard for a minimal
334 MP/Threading interface. It is similar to the CLIM-SYS threading and lock
335 support.")
336 (home-page "https://common-lisp.net/project/bordeaux-threads/")
337 (license license:x11)))
338
339 (define-public cl-bordeaux-threads
340 (sbcl-package->cl-source-package sbcl-bordeaux-threads))
341
342 (define-public ecl-bordeaux-threads
343 (sbcl-package->ecl-package sbcl-bordeaux-threads))
344
345 (define-public sbcl-trivial-gray-streams
346 (let ((revision "1")
347 (commit "ebd59b1afed03b9dc8544320f8f432fdf92ab010"))
348 (package
349 (name "sbcl-trivial-gray-streams")
350 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
351 (source
352 (origin
353 (method git-fetch)
354 (uri
355 (git-reference
356 (url "https://github.com/trivial-gray-streams/trivial-gray-streams")
357 (commit commit)))
358 (sha256
359 (base32 "0b1pxlccmnagk9cbh4cy8s5k66g3x0gwib5shjwr24xvrji6lp94"))
360 (file-name
361 (string-append "trivial-gray-streams-" version "-checkout"))))
362 (build-system asdf-build-system/sbcl)
363 (synopsis "Compatibility layer for Gray streams implementations")
364 (description "Gray streams is an interface proposed for inclusion with
365 ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most
366 popular CL implementations implement it. This package provides an extremely
367 thin compatibility layer for gray streams.")
368 (home-page "https://www.cliki.net/trivial-gray-streams")
369 (license license:x11))))
370
371 (define-public cl-trivial-gray-streams
372 (sbcl-package->cl-source-package sbcl-trivial-gray-streams))
373
374 (define-public ecl-trivial-gray-streams
375 (sbcl-package->ecl-package sbcl-trivial-gray-streams))
376
377 (define-public sbcl-fiasco
378 (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
379 (revision "1"))
380 (package
381 (name "sbcl-fiasco")
382 (version (git-version "0.0.1" revision commit))
383 (source
384 (origin
385 (method git-fetch)
386 (uri (git-reference
387 (url "https://github.com/joaotavora/fiasco")
388 (commit commit)))
389 (file-name (git-file-name "fiasco" version))
390 (sha256
391 (base32
392 "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
393 (build-system asdf-build-system/sbcl)
394 (inputs
395 `(("alexandria" ,sbcl-alexandria)
396 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
397 (synopsis "Simple and powerful test framework for Common Lisp")
398 (description "A Common Lisp test framework that treasures your failures,
399 logical continuation of Stefil. It focuses on interactive debugging.")
400 (home-page "https://github.com/joaotavora/fiasco")
401 ;; LICENCE specifies this is public-domain unless the legislation
402 ;; doesn't allow or recognize it. In that case it falls back to a
403 ;; permissive licence.
404 (license (list license:public-domain
405 (license:x11-style "file://LICENCE"))))))
406
407 (define-public cl-fiasco
408 (sbcl-package->cl-source-package sbcl-fiasco))
409
410 (define-public ecl-fiasco
411 (sbcl-package->ecl-package sbcl-fiasco))
412
413 (define-public sbcl-flexi-streams
414 (package
415 (name "sbcl-flexi-streams")
416 (version "1.0.18")
417 (source
418 (origin
419 (method git-fetch)
420 (uri (git-reference
421 (url "https://github.com/edicl/flexi-streams")
422 (commit (string-append "v" version))))
423 (file-name (git-file-name "flexi-streams" version))
424 (sha256
425 (base32 "0bjv7fd2acknidc5dyi3h85pn10krxv5jyxs1xg8jya2rlfv7f1j"))))
426 (build-system asdf-build-system/sbcl)
427 (arguments
428 `(#:phases
429 (modify-phases %standard-phases
430 (add-after 'unpack 'make-git-checkout-writable
431 (lambda _
432 (for-each make-file-writable (find-files "."))
433 #t)))))
434 (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
435 (synopsis "Implementation of virtual bivalent streams for Common Lisp")
436 (description "Flexi-streams is an implementation of \"virtual\" bivalent
437 streams that can be layered atop real binary or bivalent streams and that can
438 be used to read and write character data in various single- or multi-octet
439 encodings which can be changed on the fly. It also supplies in-memory binary
440 streams which are similar to string streams.")
441 (home-page "http://weitz.de/flexi-streams/")
442 (license license:bsd-3)))
443
444 (define-public cl-flexi-streams
445 (sbcl-package->cl-source-package sbcl-flexi-streams))
446
447 (define-public ecl-flexi-streams
448 (sbcl-package->ecl-package sbcl-flexi-streams))
449
450 (define-public sbcl-cl-abnf
451 ;; There are no releases
452 (let ((commit "ba1fbb104dedbdaddb1ef93d2e4da711bd96cd70")
453 (revision "1"))
454 (package
455 (name "sbcl-cl-abnf")
456 (version (git-version "0.0.0" revision commit))
457 (source
458 (origin
459 (method git-fetch)
460 (uri (git-reference
461 (url "https://github.com/dimitri/cl-abnf")
462 (commit commit)))
463 (file-name (git-file-name "cl-abnf" version))
464 (sha256
465 (base32 "0f09nsndxa90acm71zd4qdnp40v705a4sqm04mnv9x76h6dlggmz"))))
466 (build-system asdf-build-system/sbcl)
467 (inputs
468 `(("cl-ppcre" ,sbcl-cl-ppcre)
469 ("esrap" ,sbcl-esrap)))
470 (arguments
471 `(#:asd-systems '("abnf")))
472 (home-page "https://github.com/dimitri/cl-abnf")
473 (synopsis "ABNF parser generator for Common Lisp")
474 (description "This Common Lisp library implements a parser generator for
475 the ABNF grammar format as described in RFC2234. The generated parser is a
476 regular expression scanner provided by the cl-ppcre lib, which means that we
477 can't parse recursive grammar definition. One such definition is the ABNF
478 definition as given by the RFC. Fortunately, as you have this lib, you most
479 probably don't need to generate another parser to handle that particular ABNF
480 grammar.")
481 (license license:expat))))
482
483 (define-public cl-abnf
484 (sbcl-package->cl-source-package sbcl-cl-abnf))
485
486 (define-public ecl-cl-abnf
487 (sbcl-package->ecl-package sbcl-cl-abnf))
488
489 (define-public sbcl-cl-ppcre
490 (package
491 (name "sbcl-cl-ppcre")
492 (version "2.1.1")
493 (source
494 (origin
495 (method git-fetch)
496 (uri (git-reference
497 (url "https://github.com/edicl/cl-ppcre")
498 (commit (string-append "v" version))))
499 (file-name (git-file-name "cl-ppcre" version))
500 (sha256
501 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
502 (build-system asdf-build-system/sbcl)
503 (native-inputs
504 `(("flexi-streams" ,sbcl-flexi-streams)))
505 (arguments
506 `(#:phases
507 (modify-phases %standard-phases
508 (add-after 'unpack 'disable-ppcre-unicode
509 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
510 ;; to work around the circular dependency between edicl/cl-ppcre
511 ;; and edicl/cl-unicode.
512 (lambda _
513 (delete-file "cl-ppcre-unicode.asd")
514 #t)))))
515 (synopsis "Portable regular expression library for Common Lisp")
516 (description "CL-PPCRE is a portable regular expression library for Common
517 Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
518 compatible with ANSI-compliant Common Lisp implementations.")
519 (home-page "http://weitz.de/cl-ppcre/")
520 (license license:bsd-2)))
521
522 (define-public cl-ppcre
523 (sbcl-package->cl-source-package sbcl-cl-ppcre))
524
525 (define-public ecl-cl-ppcre
526 (sbcl-package->ecl-package sbcl-cl-ppcre))
527
528 (define-public sbcl-ubiquitous
529 (let ((commit "35eb7bd9e1b3daee1705f6b41260775180cce8af")
530 (revision "1"))
531 (package
532 (name "sbcl-ubiquitous")
533 (version (git-version "2.0.0" revision commit))
534 (source
535 (origin
536 (method git-fetch)
537 (uri (git-reference
538 (url "https://github.com/Shinmera/ubiquitous")
539 (commit commit)))
540 (file-name (git-file-name "ubiquitous" version))
541 (sha256
542 (base32 "1xlkaqmjcpkiv2xl2s2pvvrv976dlc846wm16s1lj62iy1315i49"))))
543 (build-system asdf-build-system/sbcl)
544 (inputs
545 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
546 (arguments
547 '(#:asd-systems '("ubiquitous"
548 "ubiquitous-concurrent")))
549 (home-page "https://shinmera.github.io/ubiquitous/")
550 (synopsis "Application configuration mechanism for Common Lisp")
551 (description
552 "@code{UBIQUITOUS} is a very easy-to-use library for persistent
553 configuration storage. It automatically takes care of finding a suitable place
554 to save your data, and provides simple functions to access and modify the data
555 within.")
556 (license license:zlib))))
557
558 (define-public ecl-ubiquitous
559 (sbcl-package->ecl-package sbcl-ubiquitous))
560
561 (define-public cl-ubiquitous
562 (sbcl-package->cl-source-package sbcl-ubiquitous))
563
564 (define-public sbcl-uax-15
565 (package
566 (name "sbcl-uax-15")
567 (version "0.1.1")
568 (source
569 (origin
570 (method git-fetch)
571 (uri (git-reference
572 (url "https://github.com/sabracrolleton/uax-15")
573 (commit (string-append "v" version))))
574 (file-name (git-file-name "uax-15" version))
575 (sha256
576 (base32 "0p2ckw7mzxhwa9vbwj2q2dzayz9dl94d9yqd2ynp0pc5v8i0n2fr"))))
577 (build-system asdf-build-system/sbcl)
578 (arguments
579 `(#:asd-systems
580 '("uax-15")))
581 (native-inputs
582 `(("fiveam" ,sbcl-fiveam)))
583 (inputs
584 `(("cl-ppcre" ,sbcl-cl-ppcre)
585 ("split-sequence" ,sbcl-split-sequence)))
586 (home-page "https://github.com/sabracrolleton/uax-15")
587 (synopsis "Common Lisp implementation of unicode normalization functions")
588 (description
589 "This package provides supports for unicode normalization, RFC8264 and
590 RFC7564.")
591 (license license:expat)))
592
593 (define-public cl-uax-15
594 (sbcl-package->cl-source-package sbcl-uax-15))
595
596 (define-public ecl-uax-15
597 (sbcl-package->ecl-package sbcl-uax-15))
598
599 (define-public sbcl-cl-unicode
600 (package
601 (name "sbcl-cl-unicode")
602 (version "0.1.6")
603 (source (origin
604 (method git-fetch)
605 (uri (git-reference
606 (url "https://github.com/edicl/cl-unicode")
607 (commit (string-append "v" version))))
608 (file-name (git-file-name name version))
609 (sha256
610 (base32
611 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
612 (build-system asdf-build-system/sbcl)
613 (native-inputs
614 `(("flexi-streams" ,sbcl-flexi-streams)))
615 (inputs
616 `(("cl-ppcre" ,sbcl-cl-ppcre)))
617 (home-page "http://weitz.de/cl-unicode/")
618 (synopsis "Portable Unicode library for Common Lisp")
619 (description "CL-UNICODE is a portable Unicode library Common Lisp, which
620 is compatible with perl. It is pretty fast, thread-safe, and compatible with
621 ANSI-compliant Common Lisp implementations.")
622 (license license:bsd-2)))
623
624 (define-public ecl-cl-unicode
625 (sbcl-package->ecl-package sbcl-cl-unicode))
626
627 (define-public cl-unicode
628 (sbcl-package->cl-source-package sbcl-cl-unicode))
629
630 (define-public sbcl-cl-ppcre-unicode
631 (package (inherit sbcl-cl-ppcre)
632 (name "sbcl-cl-ppcre-unicode")
633 (inputs
634 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
635 ("sbcl-cl-unicode" ,sbcl-cl-unicode)))
636 (arguments
637 `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found"
638 #:phases
639 (modify-phases %standard-phases
640 (add-after 'unpack 'disable-ppcre
641 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
642 ;; to work around the circular dependency between edicl/cl-ppcre
643 ;; and edicl/cl-unicode.
644 (lambda _
645 (delete-file "cl-ppcre.asd")
646 #t)))))))
647
648 (define-public cl-ppcre-unicode
649 (sbcl-package->cl-source-package sbcl-cl-ppcre-unicode))
650
651 (define-public ecl-cl-ppcre-unicode
652 (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
653
654 (define-public sbcl-zpb-ttf
655 (package
656 (name "sbcl-zpb-ttf")
657 (version "1.0.3")
658 (source
659 (origin
660 (method git-fetch)
661 (uri (git-reference
662 (url "https://github.com/xach/zpb-ttf")
663 (commit (string-append "release-" version))))
664 (file-name (git-file-name name version))
665 (sha256
666 (base32
667 "1wh66vjijzqlydnrihynpwp6796917xwrh0i9li93c17kyxa74ih"))))
668 (build-system asdf-build-system/sbcl)
669 (home-page "https://github.com/xach/zpb-ttf")
670 (synopsis "TrueType font file access for Common Lisp")
671 (description
672 "ZPB-TTF is a TrueType font file parser that provides an interface for
673 reading typographic metrics, glyph outlines, and other information from the
674 file.")
675 (license license:bsd-2)))
676
677 (define-public ecl-zpb-ttf
678 (sbcl-package->ecl-package sbcl-zpb-ttf))
679
680 (define-public cl-zpb-ttf
681 (sbcl-package->cl-source-package sbcl-zpb-ttf))
682
683 (define-public sbcl-cl-vectors
684 (package
685 (name "sbcl-cl-vectors")
686 (version "0.1.5")
687 (source
688 (origin
689 (method url-fetch)
690 (uri (string-append "http://projects.tuxee.net/cl-vectors/"
691 "files/cl-vectors-" version ".tar.gz"))
692 (sha256
693 (base32
694 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh"))))
695 (build-system asdf-build-system/sbcl)
696 (inputs
697 `(("zpb-ttf" ,sbcl-zpb-ttf)))
698 (arguments
699 '(#:asd-systems '("cl-vectors"
700 "cl-paths-ttf")))
701 (home-page "http://projects.tuxee.net/cl-vectors/")
702 (synopsis "Create, transform and render anti-aliased vectorial paths")
703 (description
704 "This is a pure Common Lisp library to create, transform and render
705 anti-aliased vectorial paths.")
706 (license license:expat)))
707
708 (define-public ecl-cl-vectors
709 (sbcl-package->ecl-package sbcl-cl-vectors))
710
711 (define-public cl-vectors
712 (sbcl-package->cl-source-package sbcl-cl-vectors))
713
714 (define-public sbcl-spatial-trees
715 ;; There have been no releases.
716 (let ((commit "81fdad0a0bf109c80a53cc96eca2e093823400ba")
717 (revision "1"))
718 (package
719 (name "sbcl-spatial-trees")
720 (version (git-version "0" revision commit))
721 (source
722 (origin
723 (method git-fetch)
724 (uri (git-reference
725 (url "https://github.com/rpav/spatial-trees")
726 (commit commit)))
727 (file-name (git-file-name name version))
728 (sha256
729 (base32
730 "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"))))
731 (build-system asdf-build-system/sbcl)
732 (arguments
733 '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns
734 #:test-asd-file "spatial-trees.test.asd"))
735 (native-inputs
736 `(("fiveam" ,sbcl-fiveam)))
737 (home-page "https://github.com/rpav/spatial-trees")
738 (synopsis "Dynamic index data structures for spatially-extended data")
739 (description
740 "Spatial-trees is a set of dynamic index data structures for
741 spatially-extended data.")
742 (license license:bsd-3))))
743
744 (define-public ecl-spatial-trees
745 (sbcl-package->ecl-package sbcl-spatial-trees))
746
747 (define-public cl-spatial-trees
748 (sbcl-package->cl-source-package sbcl-spatial-trees))
749
750 (define-public sbcl-flexichain
751 ;; There are no releases.
752 (let ((commit "13d2a6c505ed0abfcd4c4ec7d7145059b06855d6")
753 (revision "1"))
754 (package
755 (name "sbcl-flexichain")
756 (version "1.5.1")
757 (source
758 (origin
759 (method git-fetch)
760 (uri (git-reference
761 (url "https://github.com/robert-strandh/Flexichain")
762 (commit commit)))
763 (file-name (git-file-name name version))
764 (sha256
765 (base32
766 "0pfyvhsfbjd2sjb30grfs52r51a428xglv7bwydvpg2lc117qimg"))))
767 (build-system asdf-build-system/sbcl)
768 (home-page "https://github.com/robert-strandh/Flexichain.git")
769 (synopsis "Dynamically add elements to or remove them from sequences")
770 (description
771 "This package provides an implementation of the flexichain protocol,
772 allowing client code to dynamically add elements to, and delete elements from
773 a sequence (or chain) of such elements.")
774 (license license:lgpl2.1+))))
775
776 (define-public ecl-flexichain
777 (sbcl-package->ecl-package sbcl-flexichain))
778
779 (define-public cl-flexichain
780 (sbcl-package->cl-source-package sbcl-flexichain))
781
782 (define-public sbcl-cl-pdf
783 ;; There are no releases
784 (let ((commit "752e337e6d6fc206f09d091a982e7f8e5c404e4e")
785 (revision "1"))
786 (package
787 (name "sbcl-cl-pdf")
788 (version (git-version "0" revision commit))
789 (source
790 (origin
791 (method git-fetch)
792 (uri (git-reference
793 (url "https://github.com/mbattyani/cl-pdf")
794 (commit commit)))
795 (file-name (git-file-name name version))
796 (sha256
797 (base32
798 "1cg3k3m3r11ipb8j008y8ipynj97l3xjlpi2knqc9ndmx4r3kb1r"))))
799 (build-system asdf-build-system/sbcl)
800 (inputs
801 `(("iterate" ,sbcl-iterate)
802 ("zpb-ttf" ,sbcl-zpb-ttf)))
803 (home-page "https://github.com/mbattyani/cl-pdf")
804 (synopsis "Common Lisp library for generating PDF files")
805 (description
806 "CL-PDF is a cross-platform Common Lisp library for generating PDF
807 files.")
808 (license license:bsd-2))))
809
810 (define-public ecl-cl-pdf
811 (sbcl-package->ecl-package sbcl-cl-pdf))
812
813 (define-public cl-pdf
814 (sbcl-package->cl-source-package sbcl-cl-pdf))
815
816 (define-public sbcl-clx
817 (package
818 (name "sbcl-clx")
819 (version "0.7.5")
820 (source
821 (origin
822 (method git-fetch)
823 (uri
824 (git-reference
825 (url "https://github.com/sharplispers/clx")
826 (commit version)))
827 (sha256
828 (base32
829 "1vi67z9hpj5rr4xcmfbfwzmlcc0ah7hzhrmfid6lqdkva238v2wf"))
830 (file-name (string-append "clx-" version))))
831 (build-system asdf-build-system/sbcl)
832 (native-inputs
833 `(("fiasco" ,sbcl-fiasco)))
834 (home-page "https://www.cliki.net/portable-clx")
835 (synopsis "X11 client library for Common Lisp")
836 (description "CLX is an X11 client library for Common Lisp. The code was
837 originally taken from a CMUCL distribution, was modified somewhat in order to
838 make it compile and run under SBCL, then a selection of patches were added
839 from other CLXes around the net.")
840 (license license:x11)))
841
842 (define-public cl-clx
843 (sbcl-package->cl-source-package sbcl-clx))
844
845 (define-public ecl-clx
846 (sbcl-package->ecl-package sbcl-clx))
847
848 (define-public sbcl-clx-truetype
849 (let ((commit "c6e10a918d46632324d5863a8ed067a83fc26de8")
850 (revision "1"))
851 (package
852 (name "sbcl-clx-truetype")
853 (version (git-version "0.0.1" revision commit))
854 (source
855 (origin
856 (method git-fetch)
857 (uri (git-reference
858 (url "https://github.com/l04m33/clx-truetype")
859 (commit commit)))
860 (file-name (git-file-name name version))
861 (sha256
862 (base32
863 "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37"))
864 (modules '((guix build utils)))
865 (snippet
866 '(begin
867 (substitute* "package.lisp"
868 ((":export") ":export\n :+font-cache-filename+"))
869 #t))))
870 (build-system asdf-build-system/sbcl)
871 (inputs
872 `(("clx" ,sbcl-clx)
873 ("zpb-ttf" ,sbcl-zpb-ttf)
874 ("cl-vectors" ,sbcl-cl-vectors)
875 ("cl-fad" ,sbcl-cl-fad)
876 ("cl-store" ,sbcl-cl-store)
877 ("trivial-features" ,sbcl-trivial-features)))
878 (home-page "https://github.com/l04m33/clx-truetype")
879 (synopsis "Antialiased TrueType font rendering using CLX and XRender")
880 (description "CLX-TrueType is pure common lisp solution for
881 antialiased TrueType font rendering using CLX and XRender extension.")
882 (license license:expat))))
883
884 (define-public cl-clx-truetype
885 (sbcl-package->cl-source-package sbcl-clx-truetype))
886
887 (define-public ecl-clx-truetype
888 (sbcl-package->ecl-package sbcl-clx-truetype))
889
890 (define-public sbcl-slynk
891 (let ((commit "0f46f91a9542599d62c0c332b39636b2941ea372"))
892 (package
893 (name "sbcl-slynk")
894 (version (git-version "1.0.43" "3" commit))
895 (source
896 (origin
897 (method git-fetch)
898 (uri
899 (git-reference
900 (url "https://github.com/joaotavora/sly")
901 (commit commit)))
902 (sha256
903 (base32 "0p3j0zylacy6vms8ngis2hx2351xnwfzsw3zy043q6vmqd14wrf1"))
904 (file-name (git-file-name "slynk" version))))
905 (build-system asdf-build-system/sbcl)
906 (outputs '("out" "image"))
907 (arguments
908 `(#:phases
909 (modify-phases %standard-phases
910 (add-after 'create-asdf-configuration 'build-image
911 (lambda* (#:key outputs #:allow-other-keys)
912 (build-image (string-append
913 (assoc-ref %outputs "image")
914 "/bin/slynk")
915 %outputs
916 #:dependencies '("slynk"
917 "slynk/arglists"
918 "slynk/fancy-inspector"
919 "slynk/package-fu"
920 "slynk/mrepl"
921 "slynk/trace-dialog"
922 "slynk/profiler"
923 "slynk/stickers"
924 "slynk/indentation"
925 "slynk/retro"))
926 #t)))))
927 (synopsis "Common Lisp IDE for Emacs")
928 (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
929 It also features a completely redesigned REPL based on Emacs's own
930 full-featured @code{comint-mode}, live code annotations, and a consistent interactive
931 button interface. Everything can be copied to the REPL. One can create
932 multiple inspectors with independent history.")
933 (home-page "https://github.com/joaotavora/sly")
934 (license license:public-domain)
935 (properties `((cl-source-variant . ,(delay cl-slynk)))))))
936
937 (define-public cl-slynk
938 (sbcl-package->cl-source-package sbcl-slynk))
939
940 (define-public ecl-slynk
941 (let ((pkg (sbcl-package->ecl-package sbcl-slynk)))
942 (package
943 (inherit pkg)
944 (outputs '("out"))
945 (arguments
946 (substitute-keyword-arguments (package-arguments pkg)
947 ((#:phases phases)
948 `(modify-phases ,phases
949 (delete 'build-image))))))))
950
951 (define-public sbcl-parse-js
952 (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
953 (revision "1"))
954 (package
955 (name "sbcl-parse-js")
956 (version (string-append "0.0.0-" revision "." (string-take commit 9)))
957 (source
958 (origin
959 (method git-fetch)
960 (uri (git-reference
961 (url "http://marijn.haverbeke.nl/git/parse-js")
962 (commit commit)))
963 (file-name (string-append name "-" commit "-checkout"))
964 (sha256
965 (base32
966 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
967 (build-system asdf-build-system/sbcl)
968 (home-page "https://marijnhaverbeke.nl/parse-js/")
969 (synopsis "Parse JavaScript")
970 (description "Parse-js is a Common Lisp package for parsing
971 JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
972 (license license:zlib))))
973
974 (define-public cl-parse-js
975 (sbcl-package->cl-source-package sbcl-parse-js))
976
977 (define-public ecl-parse-js
978 (sbcl-package->ecl-package sbcl-parse-js))
979
980 (define-public sbcl-parse-number
981 (package
982 (name "sbcl-parse-number")
983 (version "1.7")
984 (source
985 (origin
986 (method git-fetch)
987 (uri (git-reference
988 (url "https://github.com/sharplispers/parse-number/")
989 (commit (string-append "v" version))))
990 (file-name (git-file-name name version))
991 (sha256
992 (base32
993 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"))))
994 (build-system asdf-build-system/sbcl)
995 (home-page "https://www.cliki.net/PARSE-NUMBER")
996 (synopsis "Parse numbers")
997 (description "@code{parse-number} is a library of functions for parsing
998 strings into one of the standard Common Lisp number types without using the
999 reader. @code{parse-number} accepts an arbitrary string and attempts to parse
1000 the string into one of the standard Common Lisp number types, if possible, or
1001 else @code{parse-number} signals an error of type @code{invalid-number}.")
1002 (license license:bsd-3)))
1003
1004 (define-public cl-parse-number
1005 (sbcl-package->cl-source-package sbcl-parse-number))
1006
1007 (define-public ecl-parse-number
1008 (sbcl-package->ecl-package sbcl-parse-number))
1009
1010 (define-public sbcl-iterate
1011 (package
1012 (name "sbcl-iterate")
1013 (version "1.5")
1014 (source
1015 (origin
1016 (method url-fetch)
1017 (uri (string-append "https://common-lisp.net/project/iterate/releases/"
1018 "iterate-" version ".tar.gz"))
1019 (sha256
1020 (base32
1021 "1lqsbhrkfl0yif46aymvb7l3nb9wdcmj4jyw485blj32jb4famzn"))))
1022 (build-system asdf-build-system/sbcl)
1023 (native-inputs
1024 `(("rt" ,sbcl-rt)))
1025 (home-page "https://common-lisp.net/project/iterate/")
1026 (synopsis "Iteration construct for Common Lisp")
1027 (description "@code{iterate} is an iteration construct for Common Lisp.
1028 It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
1029
1030 @itemize
1031 @item it is extensible,
1032 @item it helps editors like Emacs indent iterate forms by having a more
1033 lisp-like syntax, and
1034 @item it isn't part of the ANSI standard for Common Lisp.
1035 @end itemize\n")
1036 (license license:expat)))
1037
1038 (define-public cl-iterate
1039 (sbcl-package->cl-source-package sbcl-iterate))
1040
1041 (define-public ecl-iterate
1042 (sbcl-package->ecl-package sbcl-iterate))
1043
1044 (define-public sbcl-cl-uglify-js
1045 ;; There have been many bug fixes since the 2010 release.
1046 (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
1047 (revision "1"))
1048 (package
1049 (name "sbcl-cl-uglify-js")
1050 (version (string-append "0.1-" revision "." (string-take commit 9)))
1051 (source
1052 (origin
1053 (method git-fetch)
1054 (uri (git-reference
1055 (url "https://github.com/mishoo/cl-uglify-js")
1056 (commit commit)))
1057 (file-name (git-file-name name version))
1058 (sha256
1059 (base32
1060 "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"))))
1061 (build-system asdf-build-system/sbcl)
1062 (inputs
1063 `(("sbcl-parse-js" ,sbcl-parse-js)
1064 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
1065 ("sbcl-cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
1066 ("sbcl-parse-number" ,sbcl-parse-number)
1067 ("sbcl-iterate" ,sbcl-iterate)))
1068 (home-page "https://github.com/mishoo/cl-uglify-js")
1069 (synopsis "JavaScript compressor library for Common Lisp")
1070 (description "This is a Common Lisp version of UglifyJS, a JavaScript
1071 compressor. It works on data produced by @code{parse-js} to generate a
1072 @dfn{minified} version of the code. Currently it can:
1073
1074 @itemize
1075 @item reduce variable names (usually to single letters)
1076 @item join consecutive @code{var} statements
1077 @item resolve simple binary expressions
1078 @item group most consecutive statements using the @code{sequence} operator (comma)
1079 @item remove unnecessary blocks
1080 @item convert @code{IF} expressions in various ways that result in smaller code
1081 @item remove some unreachable code
1082 @end itemize\n")
1083 (license license:zlib))))
1084
1085 (define-public cl-uglify-js
1086 (sbcl-package->cl-source-package sbcl-cl-uglify-js))
1087
1088 (define-public ecl-cl-uglify-js
1089 (sbcl-package->ecl-package sbcl-cl-uglify-js))
1090
1091 (define-public uglify-js
1092 (package
1093 (inherit sbcl-cl-uglify-js)
1094 (name "uglify-js")
1095 (build-system trivial-build-system)
1096 (arguments
1097 `(#:modules ((guix build utils))
1098 #:builder
1099 (let* ((bin (string-append (assoc-ref %outputs "out") "/bin/"))
1100 (script (string-append bin "uglify-js")))
1101 (use-modules (guix build utils))
1102 (mkdir-p bin)
1103 (with-output-to-file script
1104 (lambda _
1105 (format #t "#!~a/bin/sbcl --script
1106
1107 (require :asdf)
1108 (asdf:initialize-source-registry
1109 #p\"~a/etc/common-lisp/source-registry.conf.d/\")
1110 (asdf:initialize-output-translations
1111 #p\"~a/etc/common-lisp/asdf-output-translations.conf.d/\")"
1112 (assoc-ref %build-inputs "sbcl")
1113 (assoc-ref %build-inputs "sbcl-cl-uglify-js")
1114 (assoc-ref %build-inputs "sbcl-cl-uglify-js"))
1115 ;; FIXME: cannot use progn here because otherwise it fails to
1116 ;; find cl-uglify-js.
1117 (for-each
1118 write
1119 '(;; Quiet, please!
1120 (let ((*standard-output* (make-broadcast-stream))
1121 (*error-output* (make-broadcast-stream)))
1122 (asdf:load-system :cl-uglify-js))
1123 (let ((file (cadr *posix-argv*)))
1124 (if file
1125 (format t "~a"
1126 (cl-uglify-js:ast-gen-code
1127 (cl-uglify-js:ast-mangle
1128 (cl-uglify-js:ast-squeeze
1129 (with-open-file (in file)
1130 (parse-js:parse-js in))))
1131 :beautify nil))
1132 (progn
1133 (format *error-output*
1134 "Please provide a JavaScript file.~%")
1135 (sb-ext:exit :code 1))))))))
1136 (chmod script #o755)
1137 #t)))
1138 (inputs
1139 `(("sbcl" ,sbcl)
1140 ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
1141 (synopsis "JavaScript compressor")))
1142
1143 (define-public sbcl-cl-strings
1144 (let ((revision "1")
1145 (commit "c5c5cbafbf3e6181d03c354d66e41a4f063f00ae"))
1146 (package
1147 (name "sbcl-cl-strings")
1148 (version (git-version "0.0.0" revision commit))
1149 (source
1150 (origin
1151 (method git-fetch)
1152 (uri (git-reference
1153 (url "https://github.com/diogoalexandrefranco/cl-strings")
1154 (commit commit)))
1155 (sha256
1156 (base32
1157 "00754mfaqallj480lwd346nkfb6ra8pa8xcxcylf4baqn604zlmv"))
1158 (file-name (string-append "cl-strings-" version "-checkout"))))
1159 (build-system asdf-build-system/sbcl)
1160 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
1161 (description
1162 "@command{cl-strings} is a small, portable, dependency-free set of
1163 utilities that make it even easier to manipulate text in Common Lisp. It has
1164 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
1165 (home-page "https://github.com/diogoalexandrefranco/cl-strings")
1166 (license license:expat))))
1167
1168 (define-public cl-strings
1169 (sbcl-package->cl-source-package sbcl-cl-strings))
1170
1171 (define-public ecl-cl-strings
1172 (sbcl-package->ecl-package sbcl-cl-strings))
1173
1174 (define-public sbcl-trivial-features
1175 ;; No release since 2014.
1176 (let ((commit "870d03de0ed44067963350936856e17ee725153e"))
1177 (package
1178 (name "sbcl-trivial-features")
1179 (version (git-version "0.8" "1" commit))
1180 (source
1181 (origin
1182 (method git-fetch)
1183 (uri (git-reference
1184 (url "https://github.com/trivial-features/trivial-features")
1185 (commit commit)))
1186 (file-name (git-file-name "trivial-features" version))
1187 (sha256
1188 (base32 "14pcahr8r2j3idhyy216zyw8jnj1dnrx0qbkkbdqkvwzign1ah4j"))))
1189 (build-system asdf-build-system/sbcl)
1190 (arguments
1191 '(#:asd-files '("trivial-features.asd")
1192 #:tests? #f))
1193 (home-page "https://cliki.net/trivial-features")
1194 (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
1195 (description "Trivial-features ensures that @code{*FEATURES*} is
1196 consistent across multiple Common Lisp implementations.")
1197 (license license:expat))))
1198
1199 (define-public cl-trivial-features
1200 (sbcl-package->cl-source-package sbcl-trivial-features))
1201
1202 (define-public ecl-trivial-features
1203 (sbcl-package->ecl-package sbcl-trivial-features))
1204
1205 (define-public sbcl-hu.dwim.asdf
1206 (package
1207 (name "sbcl-hu.dwim.asdf")
1208 (version "20190521")
1209 (source
1210 (origin
1211 (method url-fetch)
1212 (uri (string-append "http://beta.quicklisp.org/archive/hu.dwim.asdf/"
1213 "2019-05-21/hu.dwim.asdf-" version "-darcs.tgz"))
1214 (sha256
1215 (base32
1216 "0rsbv71vyszy8w35yjwb5h6zcmknjq223hkzir79y72qdsc6sabn"))))
1217 (build-system asdf-build-system/sbcl)
1218 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.asdf")
1219 (synopsis "Extensions to ASDF")
1220 (description "Various ASDF extensions such as attached test and
1221 documentation system, explicit development support, etc.")
1222 (license license:public-domain)))
1223
1224 (define-public cl-hu.dwim.asdf
1225 (sbcl-package->cl-source-package sbcl-hu.dwim.asdf))
1226
1227 (define-public ecl-hu.dwim.asdf
1228 (sbcl-package->ecl-package sbcl-hu.dwim.asdf))
1229
1230 (define-public sbcl-hu.dwim.stefil
1231 (let ((commit "ab6d1aa8995878a1b66d745dfd0ba021090bbcf9"))
1232 (package
1233 (name "sbcl-hu.dwim.stefil")
1234 (version (git-version "0.0.0" "1" commit))
1235 (source
1236 (origin
1237 (method git-fetch)
1238 (uri
1239 (git-reference
1240 (url "https://gitlab.common-lisp.net/xcvb/hu.dwim.stefil.git")
1241 (commit commit)))
1242 (sha256
1243 (base32 "1d8yccw65zj3zh46cbi3x6nmn1dwdb76s9d0av035077mvyirqqp"))
1244 (file-name (git-file-name "hu.dwim.stefil" version))))
1245 (build-system asdf-build-system/sbcl)
1246 (native-inputs
1247 `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
1248 (inputs
1249 `(("sbcl-alexandria" ,sbcl-alexandria)))
1250 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.stefil")
1251 (synopsis "Simple test framework")
1252 (description "Stefil is a simple test framework for Common Lisp,
1253 with a focus on interactive development.")
1254 (license license:public-domain))))
1255
1256 (define-public cl-hu.dwim.stefil
1257 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
1258
1259 (define-public ecl-hu.dwim.stefil
1260 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
1261
1262 (define-public sbcl-babel
1263 ;; No release since 2014.
1264 (let ((commit "aeed2d1b76358db48e6b70a64399c05678a6b9ea"))
1265 (package
1266 (name "sbcl-babel")
1267 (version (git-version "0.5.0" "1" commit))
1268 (source
1269 (origin
1270 (method git-fetch)
1271 (uri (git-reference
1272 (url "https://github.com/cl-babel/babel")
1273 (commit commit)))
1274 (file-name (git-file-name "babel" version))
1275 (sha256
1276 (base32 "0lkvv4xdpv4cv1y2bqillmabx8sdb2y4l6pbinq6mjh33w2brpvb"))))
1277 (build-system asdf-build-system/sbcl)
1278 (native-inputs
1279 `(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
1280 (inputs
1281 `(("sbcl-alexandria" ,sbcl-alexandria)
1282 ("sbcl-trivial-features" ,sbcl-trivial-features)))
1283 (home-page "https://common-lisp.net/project/babel/")
1284 (synopsis "Charset encoding and decoding library")
1285 (description "Babel is a charset encoding and decoding library, not unlike
1286 GNU libiconv, but completely written in Common Lisp.")
1287 (license license:expat))))
1288
1289 (define-public cl-babel
1290 (sbcl-package->cl-source-package sbcl-babel))
1291
1292 (define-public ecl-babel
1293 (sbcl-package->ecl-package sbcl-babel))
1294
1295 (define-public sbcl-cl-yacc
1296 (package
1297 (name "sbcl-cl-yacc")
1298 (version "0.3")
1299 (source
1300 (origin
1301 (method git-fetch)
1302 (uri (git-reference
1303 (url "https://github.com/jech/cl-yacc")
1304 (commit (string-append "cl-yacc-" version))))
1305 (sha256
1306 (base32
1307 "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib"))
1308 (file-name (string-append "cl-yacc-" version "-checkout"))))
1309 (build-system asdf-build-system/sbcl)
1310 (arguments
1311 `(#:asd-systems '("yacc")))
1312 (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc")
1313 (description
1314 "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit
1315 to AT&T Yacc, Berkeley Yacc, GNU Bison, Zebu, lalr.cl or lalr.scm.
1316
1317 CL-Yacc uses the algorithm due to Aho and Ullman, which is the one also used
1318 by AT&T Yacc, Berkeley Yacc and Zebu. It does not use the faster algorithm due
1319 to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
1320 (home-page "https://www.irif.fr/~jch//software/cl-yacc/")
1321 (license license:expat)))
1322
1323 (define-public cl-yacc
1324 (sbcl-package->cl-source-package sbcl-cl-yacc))
1325
1326 (define-public ecl-cl-yacc
1327 (sbcl-package->ecl-package sbcl-cl-yacc))
1328
1329 (define-public sbcl-eager-future2
1330 (let ((commit "54df8effd9d9eccac917509590286b5ac5f9cb30"))
1331 (package
1332 (name "sbcl-eager-future2")
1333 (version (git-version "0.0.0" "1" commit))
1334 (source
1335 (origin
1336 (method git-fetch)
1337 (uri (git-reference
1338 (url "https://gitlab.common-lisp.net/vsedach/eager-future2.git")
1339 (commit commit)))
1340 (file-name (git-file-name name version))
1341 (sha256
1342 (base32
1343 "1qs1bv3m0ki8l5czhsflxcryh22r9d9g9a3a3b0cr0pl954q5rld"))))
1344 (build-system asdf-build-system/sbcl)
1345 (inputs
1346 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1347 ("trivial-garbage" ,sbcl-trivial-garbage)))
1348 (synopsis "Futures promises synchronization mechanism for Common Lisp")
1349 (description
1350 "Eager Future2 is a Common Lisp library that provides composable
1351 concurrency primitives that unify parallel and lazy evaluation, are integrated
1352 with the Common Lisp condition system, and have automatic resource
1353 management.")
1354 (home-page "https://gitlab.common-lisp.net/vsedach/eager-future2")
1355 (license license:lgpl3+))))
1356
1357 (define-public cl-eager-future2
1358 (sbcl-package->cl-source-package sbcl-eager-future2))
1359
1360 (define-public ecl-eager-future2
1361 (sbcl-package->ecl-package sbcl-eager-future2))
1362
1363 (define-public sbcl-jpl-util
1364 (let ((commit "0311ed374e19a49d43318064d729fe3abd9a3b62"))
1365 (package
1366 (name "sbcl-jpl-util")
1367 (version "20151005")
1368 (source
1369 (origin
1370 (method git-fetch)
1371 (uri (git-reference
1372 ;; Quicklisp uses this fork.
1373 (url "https://github.com/hawkir/cl-jpl-util")
1374 (commit commit)))
1375 (file-name
1376 (git-file-name "jpl-util" version))
1377 (sha256
1378 (base32
1379 "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"))))
1380 (build-system asdf-build-system/sbcl)
1381 (synopsis "Collection of Common Lisp utility functions and macros")
1382 (description
1383 "@command{cl-jpl-util} is a collection of Common Lisp utility functions
1384 and macros, primarily for software projects written in CL by the author.")
1385 (home-page "https://www.thoughtcrime.us/software/cl-jpl-util/")
1386 (license license:isc))))
1387
1388 (define-public cl-jpl-util
1389 (sbcl-package->cl-source-package sbcl-jpl-util))
1390
1391 (define-public ecl-jpl-util
1392 (sbcl-package->ecl-package sbcl-jpl-util))
1393
1394 (define-public sbcl-piping
1395 (let ((commit "c7a4163c00dea7e72bf6ad33d6abac0d5826a656")
1396 (revision "1"))
1397 (package
1398 (name "sbcl-piping")
1399 (version (git-version "2.0.0" revision commit))
1400 (source
1401 (origin
1402 (method git-fetch)
1403 (uri (git-reference
1404 (url "https://github.com/Shinmera/piping/")
1405 (commit commit)))
1406 (file-name (git-file-name "piping" version))
1407 (sha256
1408 (base32 "0in84qnfkynm36d4n4d6v87vprpi27xrydnga462wfhplji6klv5"))))
1409 (build-system asdf-build-system/sbcl)
1410 (home-page "https://shinmera.github.io/piping/")
1411 (synopsis "Library to enable simple message pipelines")
1412 (description
1413 "This is a Common Lisp library to enable simple message pipelines.")
1414 (license license:zlib))))
1415
1416 (define-public ecl-piping
1417 (sbcl-package->ecl-package sbcl-piping))
1418
1419 (define-public cl-piping
1420 (sbcl-package->cl-source-package sbcl-piping))
1421
1422 (define-public sbcl-jpl-queues
1423 (package
1424 (name "sbcl-jpl-queues")
1425 (version "0.1")
1426 (source
1427 (origin
1428 (method url-fetch)
1429 (uri (string-append
1430 "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-"
1431 version
1432 ".tar.gz"))
1433 (sha256
1434 (base32
1435 "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96"))))
1436 (build-system asdf-build-system/sbcl)
1437 (inputs
1438 `(("jpl-util" ,sbcl-jpl-util)
1439 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1440 (arguments
1441 ;; Tests seem to be broken.
1442 `(#:tests? #f))
1443 (synopsis "Common Lisp library implementing a few different kinds of queues")
1444 (description
1445 "A Common Lisp library implementing a few different kinds of queues:
1446
1447 @itemize
1448 @item Bounded and unbounded FIFO queues.
1449 @item Lossy bounded FIFO queues that drop elements when full.
1450 @item Unbounded random-order queues that use less memory than unbounded FIFO queues.
1451 @end itemize
1452
1453 Additionally, a synchronization wrapper is provided to make any queue
1454 conforming to the @command{jpl-queues} API thread-safe for lightweight
1455 multithreading applications. (See Calispel for a more sophisticated CL
1456 multithreaded message-passing library with timeouts and alternation among
1457 several blockable channels.)")
1458 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1459 (license license:isc)))
1460
1461 (define-public cl-jpl-queues
1462 (sbcl-package->cl-source-package sbcl-jpl-queues))
1463
1464 (define-public ecl-jpl-queues
1465 (sbcl-package->ecl-package sbcl-jpl-queues))
1466
1467 (define-public sbcl-calispel
1468 (let ((commit "e9f2f9c1af97f4d7bb4c8ac25fb2a8f3e8fada7a"))
1469 (package
1470 (name "sbcl-calispel")
1471 (version (git-version "0.1" "1" commit))
1472 (source
1473 (origin
1474 (method git-fetch)
1475 (uri (git-reference
1476 ;; This fork replaces the dependency on the obsolete
1477 ;; eager-future with eager-future2.
1478 (url "https://github.com/hawkir/calispel")
1479 (commit commit)))
1480 (file-name (git-file-name name version))
1481 (sha256
1482 (base32
1483 "08bmf3pi7n5hadpmqqkg65cxcj6kbvm997wcs1f53ml1nb79d9z8"))))
1484 (build-system asdf-build-system/sbcl)
1485 (inputs
1486 `(("jpl-queues" ,sbcl-jpl-queues)
1487 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1488 (native-inputs
1489 `(("eager-future2" ,sbcl-eager-future2)))
1490 (synopsis "Thread-safe message-passing channels in Common Lisp")
1491 (description
1492 "Calispel is a Common Lisp library for thread-safe message-passing
1493 channels, in the style of the occam programming language, also known as
1494 communicating sequential processes (CSP). See
1495 @url{https://en.wikipedia.org/wiki/Communicating_sequential_processes}.
1496
1497 Calispel channels let one thread communicate with another, facilitating
1498 unidirectional communication of any Lisp object. Channels may be unbuffered,
1499 where a sender waits for a receiver (or vice versa) before either operation can
1500 continue, or channels may be buffered with flexible policy options.
1501
1502 Because sending and receiving on a channel may block, either operation can time
1503 out after a specified amount of time.
1504
1505 A syntax for alternation is provided (like @code{ALT} in occam, or Unix
1506 @code{select()}): given a sequence of operations, any or all of which may
1507 block, alternation selects the first operation that doesn't block and executes
1508 associated code. Alternation can also time out, executing an \"otherwise\"
1509 clause if no operation becomes available within a set amount of time.
1510
1511 Calispel is a message-passing library, and as such leaves the role of
1512 threading abstractions and utilities left to be filled by complementary
1513 libraries such as Bordeaux-Threads and Eager Future.")
1514 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1515 (license license:isc))))
1516
1517 (define-public cl-calispel
1518 (sbcl-package->cl-source-package sbcl-calispel))
1519
1520 (define-public ecl-calispel
1521 (sbcl-package->ecl-package sbcl-calispel))
1522
1523 (define-public sbcl-eos
1524 (let ((commit "b4413bccc4d142cbe1bf49516c3a0a22c9d99243")
1525 (revision "2"))
1526 (package
1527 (name "sbcl-eos")
1528 (version (git-version "0.0.0" revision commit))
1529 (source
1530 (origin
1531 (method git-fetch)
1532 (uri (git-reference
1533 (url "https://github.com/adlai/Eos")
1534 (commit commit)))
1535 (sha256
1536 (base32 "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk"))
1537 (file-name (git-file-name "eos" version))))
1538 (build-system asdf-build-system/sbcl)
1539 (synopsis "Unit Testing for Common Lisp")
1540 (description
1541 "Eos was a unit testing library for Common Lisp.
1542 It began as a fork of FiveAM; however, FiveAM development has continued, while
1543 that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
1544 (home-page "https://github.com/adlai/Eos")
1545 (license license:expat))))
1546
1547 (define-public cl-eos
1548 (sbcl-package->cl-source-package sbcl-eos))
1549
1550 (define-public ecl-eos
1551 (sbcl-package->ecl-package sbcl-eos))
1552
1553 (define-public sbcl-esrap
1554 (let ((commit "133be8b05c2aae48696fe5b739eea2fa573fa48d"))
1555 (package
1556 (name "sbcl-esrap")
1557 (version (git-version "0.0.0" "1" commit))
1558 (source
1559 (origin
1560 (method git-fetch)
1561 (uri (git-reference
1562 (url "https://github.com/nikodemus/esrap")
1563 (commit commit)))
1564 (sha256
1565 (base32
1566 "02d5clihsdryhf7pix8c5di2571fdsffh75d40fkzhws90r5mksl"))
1567 (file-name (git-file-name "esrap" version))))
1568 (build-system asdf-build-system/sbcl)
1569 (native-inputs
1570 `(("eos" ,sbcl-eos))) ;For testing only.
1571 (inputs
1572 `(("alexandria" ,sbcl-alexandria)))
1573 (synopsis "Common Lisp packrat parser")
1574 (description
1575 "A packrat parser for Common Lisp.
1576 In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
1577
1578 @itemize
1579 @item dynamic redefinition of nonterminals
1580 @item inline grammars
1581 @item semantic predicates
1582 @item introspective facilities (describing grammars, tracing, setting breaks)
1583 @end itemize\n")
1584 (home-page "https://nikodemus.github.io/esrap/")
1585 (license license:expat))))
1586
1587 (define-public cl-esrap
1588 (sbcl-package->cl-source-package sbcl-esrap))
1589
1590 (define-public ecl-esrap
1591 (sbcl-package->ecl-package sbcl-esrap))
1592
1593 (define-public sbcl-split-sequence
1594 (package
1595 (name "sbcl-split-sequence")
1596 (version "2.0.0")
1597 (source
1598 (origin
1599 (method git-fetch)
1600 (uri (git-reference
1601 (url "https://github.com/sharplispers/split-sequence")
1602 (commit (string-append "v" version))))
1603 (sha256
1604 (base32
1605 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
1606 (file-name (git-file-name "split-sequence" version))))
1607 (build-system asdf-build-system/sbcl)
1608 (native-inputs
1609 `(("fiveam" ,sbcl-fiveam)))
1610 (synopsis "Member of the Common Lisp Utilities family of programs")
1611 (description
1612 "Splits sequence into a list of subsequences delimited by objects
1613 satisfying the test.")
1614 (home-page "https://cliki.net/split-sequence")
1615 (license license:expat)))
1616
1617 (define-public cl-split-sequence
1618 (sbcl-package->cl-source-package sbcl-split-sequence))
1619
1620 (define-public ecl-split-sequence
1621 (sbcl-package->ecl-package sbcl-split-sequence))
1622
1623 (define-public sbcl-html-encode
1624 (package
1625 (name "sbcl-html-encode")
1626 (version "1.2")
1627 (source
1628 (origin
1629 (method url-fetch)
1630 (uri (string-append
1631 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1632 version ".tgz"))
1633 (sha256
1634 (base32
1635 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1636 (file-name (string-append "colorize" version "-checkout"))))
1637 (build-system asdf-build-system/sbcl)
1638 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1639 (description
1640 "A library for encoding text in various web-savvy encodings.")
1641 (home-page "http://quickdocs.org/html-encode/")
1642 (license license:expat)))
1643
1644 (define-public cl-html-encode
1645 (sbcl-package->cl-source-package sbcl-html-encode))
1646
1647 (define-public ecl-html-encode
1648 (sbcl-package->ecl-package sbcl-html-encode))
1649
1650 (define-public sbcl-colorize
1651 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1652 (package
1653 (name "sbcl-colorize")
1654 (version (git-version "0.0.0" "1" commit))
1655 (source
1656 (origin
1657 (method git-fetch)
1658 (uri (git-reference
1659 (url "https://github.com/kingcons/colorize")
1660 (commit commit)))
1661 (sha256
1662 (base32
1663 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1664 (file-name (git-file-name "colorize" version))))
1665 (build-system asdf-build-system/sbcl)
1666 (inputs
1667 `(("alexandria" ,sbcl-alexandria)
1668 ("split-sequence" ,sbcl-split-sequence)
1669 ("html-encode" ,sbcl-html-encode)))
1670 (synopsis "Common Lisp for syntax highlighting")
1671 (description
1672 "@command{colorize} is a Lisp library for syntax highlighting
1673 supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1674 C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1675 (home-page "https://github.com/kingcons/colorize")
1676 ;; TODO: Missing license?
1677 (license license:expat))))
1678
1679 (define-public cl-colorize
1680 (sbcl-package->cl-source-package sbcl-colorize))
1681
1682 (define-public ecl-colorize
1683 (sbcl-package->ecl-package sbcl-colorize))
1684
1685 (define-public sbcl-3bmd
1686 (let ((commit "6fc5759448f6f6df6f6df556e020a289a2643288")
1687 (revision "2"))
1688 (package
1689 (name "sbcl-3bmd")
1690 (version (git-version "0.0.0" revision commit))
1691 (source
1692 (origin
1693 (method git-fetch)
1694 (uri (git-reference
1695 (url "https://github.com/3b/3bmd")
1696 (commit commit)))
1697 (sha256
1698 (base32 "1avmbp8xdjlbqpqk7p3vmj7abiw5p3vb5mrxp4wlvgql4sf6z3p4"))
1699 (file-name (git-file-name "3bmd" version))))
1700 (build-system asdf-build-system/sbcl)
1701 (arguments
1702 ;; FIXME: #41437 - Build fails when package name starts from a digit
1703 `(#:asd-systems
1704 '("3bmd"
1705 "3bmd-ext-definition-lists"
1706 "3bmd-ext-math"
1707 "3bmd-ext-tables"
1708 "3bmd-ext-wiki-links"
1709 "3bmd-youtube"
1710 "3bmd-ext-code-blocks")))
1711 (inputs
1712 `(("alexandria" ,sbcl-alexandria)
1713 ("colorize" ,sbcl-colorize)
1714 ("esrap" ,sbcl-esrap)
1715 ("split-sequence" ,sbcl-split-sequence)))
1716 (home-page "https://github.com/3b/3bmd")
1717 (synopsis "Markdown processor in Command Lisp using esrap parser")
1718 (description
1719 "This is a Common Lisp Markdown to HTML converter, using @command{esrap}
1720 for parsing, and grammar based on @command{peg-markdown}.")
1721 (license license:expat))))
1722
1723 (define-public cl-3bmd
1724 (sbcl-package->cl-source-package sbcl-3bmd))
1725
1726 (define-public ecl-3bmd
1727 (sbcl-package->ecl-package sbcl-3bmd))
1728
1729 (define-public sbcl-cl-fad
1730 (package
1731 (name "sbcl-cl-fad")
1732 (version "0.7.6")
1733 (source
1734 (origin
1735 (method git-fetch)
1736 (uri (git-reference
1737 (url "https://github.com/edicl/cl-fad/")
1738 (commit (string-append "v" version))))
1739 (sha256
1740 (base32
1741 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
1742 (file-name (string-append "cl-fad" version "-checkout"))))
1743 (build-system asdf-build-system/sbcl)
1744 (inputs
1745 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
1746 (synopsis "Portable pathname library for Common Lisp")
1747 (description
1748 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
1749 Lisp's standard pathname functions. It is intended to provide some
1750 unification between current CL implementations on Windows, OS X, Linux, and
1751 Unix. Most of the code was written by Peter Seibel for his book Practical
1752 Common Lisp.")
1753 (home-page "https://edicl.github.io/cl-fad/")
1754 (license license:bsd-2)))
1755
1756 (define-public cl-fad
1757 (sbcl-package->cl-source-package sbcl-cl-fad))
1758
1759 (define-public ecl-cl-fad
1760 (sbcl-package->ecl-package sbcl-cl-fad))
1761
1762 (define-public sbcl-fn
1763 (let ((commit "8d8587d03a7b5e26b306fc90018e385d9e5acc2c")
1764 (revision "1"))
1765 (package
1766 (name "sbcl-fn")
1767 (version (git-version "0.0.0" revision commit))
1768 (source
1769 (origin
1770 (method git-fetch)
1771 (uri (git-reference
1772 (url "https://github.com/cbaggers/fn")
1773 (commit commit)))
1774 (file-name (git-file-name "fn" version))
1775 (sha256
1776 (base32 "0yyp9z6iwx476whz0n1rpjznjyqqhlylhzwpgg5xx92lxmskl752"))))
1777 (build-system asdf-build-system/sbcl)
1778 (inputs
1779 `(("named-readtables" ,sbcl-named-readtables)))
1780 (home-page "https://github.com/cbaggers/fn")
1781 (synopsis "Macros for lambda brevity")
1782 (description
1783 "This is a Common Lisp library providing lambda shorthand macros aiming
1784 to be used in cases where the word @emph{lambda} and the arguments are longer
1785 than the body of the lambda.")
1786 (license license:public-domain))))
1787
1788 (define-public ecl-fn
1789 (sbcl-package->ecl-package sbcl-fn))
1790
1791 (define-public cl-fn
1792 (sbcl-package->cl-source-package sbcl-fn))
1793
1794 (define-public sbcl-rt
1795 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
1796 (revision "1"))
1797 (package
1798 (name "sbcl-rt")
1799 (version (git-version "1990.12.19" revision commit))
1800 (source
1801 (origin
1802 (method git-fetch)
1803 (uri (git-reference
1804 (url "http://git.kpe.io/rt.git")
1805 (commit commit)))
1806 (file-name (git-file-name name version))
1807 (sha256
1808 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
1809 (build-system asdf-build-system/sbcl)
1810 (synopsis "MIT Regression Tester")
1811 (description
1812 "RT provides a framework for writing regression test suites.")
1813 (home-page "https://www.cliki.net/rt")
1814 (license license:expat))))
1815
1816 (define-public cl-rt
1817 (sbcl-package->cl-source-package sbcl-rt))
1818
1819 (define-public ecl-rt
1820 (sbcl-package->ecl-package sbcl-rt))
1821
1822 (define-public sbcl-nibbles
1823 ;; No tagged release since 2018.
1824 (let ((commit "8e6b9b42d9f69000f55e5c45ad974d9e376ffdbd")
1825 (revision "1"))
1826 (package
1827 (name "sbcl-nibbles")
1828 (version (git-version "0.14" revision commit))
1829 (source
1830 (origin
1831 (method git-fetch)
1832 (uri (git-reference
1833 (url "https://github.com/sharplispers/nibbles/")
1834 (commit commit)))
1835 (sha256
1836 (base32 "15qlsm82h36pjgvfnbzdg60l21qxbaii4d049jc5y0dn56y93amb"))
1837 (file-name (git-file-name "nibbles" version))))
1838 (build-system asdf-build-system/sbcl)
1839 (native-inputs
1840 ;; Tests only.
1841 `(("rt" ,sbcl-rt)))
1842 (synopsis
1843 "Common Lisp library for accessing octet-addressed blocks of data")
1844 (description
1845 "When dealing with network protocols and file formats, it's common to
1846 have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
1847 flavors. Common Lisp sort of supports this by specifying :element-type for
1848 streams, but that facility is underspecified and there's nothing similar for
1849 read/write from octet vectors. What most people wind up doing is rolling their
1850 own small facility for their particular needs and calling it a day.
1851
1852 This library attempts to be comprehensive and centralize such
1853 facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
1854 vectors in signed or unsigned flavors are provided; these functions are also
1855 SETFable. Since it's sometimes desirable to read/write directly from streams,
1856 functions for doing so are also provided. On some implementations,
1857 reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
1858 also be supported.")
1859 (home-page "https://github.com/sharplispers/nibbles")
1860 (license license:bsd-3))))
1861
1862 (define-public cl-nibbles
1863 (sbcl-package->cl-source-package sbcl-nibbles))
1864
1865 (define-public ecl-nibbles
1866 (sbcl-package->ecl-package sbcl-nibbles))
1867
1868 (define-public sbcl-ironclad
1869 (package
1870 (name "sbcl-ironclad")
1871 (version "0.54")
1872 (source
1873 (origin
1874 (method git-fetch)
1875 (uri (git-reference
1876 (url "https://github.com/sharplispers/ironclad/")
1877 (commit (string-append "v" version))))
1878 (sha256
1879 (base32 "07g0wpvfqq2yk23prs890d4qvbnr3xd6w8ssd88g89xdg483wpvk"))
1880 (file-name (git-file-name name version))))
1881 (build-system asdf-build-system/sbcl)
1882 (native-inputs
1883 ;; Tests only.
1884 `(("rt" ,sbcl-rt)))
1885 (inputs
1886 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1887 ("flexi-streams" ,sbcl-flexi-streams)))
1888 (synopsis "Cryptographic toolkit written in Common Lisp")
1889 (description
1890 "Ironclad is a cryptography library written entirely in Common Lisp.
1891 It includes support for several popular ciphers, digests, MACs and public key
1892 cryptography algorithms. For several implementations that support Gray
1893 streams, support is included for convenient stream wrappers.")
1894 (home-page "https://github.com/sharplispers/ironclad")
1895 (license license:bsd-3)))
1896
1897 (define-public cl-ironclad
1898 (sbcl-package->cl-source-package sbcl-ironclad))
1899
1900 (define-public ecl-ironclad
1901 (sbcl-package->ecl-package sbcl-ironclad))
1902
1903 (define-public sbcl-named-readtables
1904 (let ((commit "585a28eee8b1b1999279b48cb7e9731187e14b66")
1905 (revision "3"))
1906 (package
1907 (name "sbcl-named-readtables")
1908 (version (git-version "0.9" revision commit))
1909 (source
1910 (origin
1911 (method git-fetch)
1912 (uri (git-reference
1913 (url "https://github.com/melisgl/named-readtables")
1914 (commit commit)))
1915 (sha256
1916 (base32 "072p5djqq9pliw9r20rmpz5r5q5yn6rhbp98vkkp7gfcnp5ppj51"))
1917 (file-name (git-file-name "named-readtables" version))))
1918 (build-system asdf-build-system/sbcl)
1919 (home-page "https://github.com/melisgl/named-readtables/")
1920 (synopsis "Library that creates a namespace for named readtables")
1921 (description
1922 "Named readtables is a library that creates a namespace for named
1923 readtables, which is akin to package namespacing in Common Lisp.")
1924 (license license:bsd-3))))
1925
1926 (define-public cl-named-readtables
1927 (sbcl-package->cl-source-package sbcl-named-readtables))
1928
1929 (define-public ecl-named-readtables
1930 (sbcl-package->ecl-package sbcl-named-readtables))
1931
1932 (define-public sbcl-py-configparser
1933 ;; NOTE: (Sharlatan <2021-01-05 Tue> <19:52:19 UTC+0000>) Project updated last
1934 ;; time 8y ago, it looks like abandoned. VCS of the project:
1935 ;; https://svn.common-lisp.net/py-configparser/trunk
1936 (package
1937 (name "sbcl-py-configparser")
1938 (version "1.0.3")
1939 (source
1940 (origin
1941 (method url-fetch)
1942 (uri (string-append
1943 "https://common-lisp.net/project/py-configparser/releases/"
1944 "py-configparser-" version ".tar.gz"))
1945 (sha256
1946 (base32 "0i4rqz5cv7d7c2w81x5lwy05s6fbi3zikf4k5kpi3bkx3cabwdxj"))))
1947 (build-system asdf-build-system/sbcl)
1948 (inputs
1949 `(("parse-number" ,sbcl-parse-number)))
1950 (home-page "http://common-lisp.net/project/py-configparser/")
1951 (synopsis "ConfigParser Python module functionality for Common Lisp")
1952 (description "The py-configparser package implements the ConfigParser
1953 Python module functionality in Common Lisp. In short, it implements reading
1954 and writing of .INI-file style configuration files with sections containing
1955 key/value pairs of configuration options. In line with the functionalities in
1956 the python module, does this package implement basic interpolation of option
1957 values in other options.")
1958 (license license:expat)))
1959
1960 (define-public cl-py-configparser
1961 (sbcl-package->cl-source-package sbcl-py-configparser))
1962
1963 (define-public ecl-py-configparser
1964 (sbcl-package->ecl-package sbcl-py-configparser))
1965
1966 (define-public sbcl-pythonic-string-reader
1967 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
1968 (package
1969 (name "sbcl-pythonic-string-reader")
1970 (version (git-version "0.0.0" "1" commit))
1971 (source
1972 (origin
1973 (method git-fetch)
1974 (uri (git-reference
1975 (url "https://github.com/smithzvk/pythonic-string-reader/")
1976 (commit commit)))
1977 (sha256
1978 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
1979 (file-name (git-file-name "pythonic-string-reader" version))))
1980 (build-system asdf-build-system/sbcl)
1981 (inputs
1982 `(("named-readtables" ,sbcl-named-readtables)))
1983 (home-page "https://github.com/smithzvk/pythonic-string-reader")
1984 (synopsis "Read table modification inspired by Python's three quote strings")
1985 (description "This piece of code sets up some reader macros that make it
1986 simpler to input string literals which contain backslashes and double quotes
1987 This is very useful for writing complicated docstrings and, as it turns out,
1988 writing code that contains string literals that contain code themselves.")
1989 (license license:bsd-3))))
1990
1991 (define-public cl-pythonic-string-reader
1992 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
1993
1994 (define-public ecl-pythonic-string-reader
1995 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
1996
1997 (define-public sbcl-slime-swank
1998 (package
1999 (name "sbcl-slime-swank")
2000 (version "2.26")
2001 (source
2002 (origin
2003 (file-name (git-file-name "slime-swank" version))
2004 (method git-fetch)
2005 (uri (git-reference
2006 (url "https://github.com/slime/slime/")
2007 (commit (string-append "v" version))))
2008 (sha256
2009 (base32
2010 "0mxb1wnw19v0s72w2wkz5afdlzvpy5nn7pr4vav403qybac0sw5c"))))
2011 (build-system asdf-build-system/sbcl)
2012 (arguments
2013 '(#:asd-systems '("swank")))
2014 (home-page "https://github.com/slime/slime")
2015 (synopsis "Common Lisp Swank server")
2016 (description
2017 "This is only useful if you want to start a Swank server in a Lisp
2018 processes that doesn't run under Emacs. Lisp processes created by
2019 @command{M-x slime} automatically start the server.")
2020 (license (list license:gpl2+ license:public-domain))))
2021
2022 (define-public cl-slime-swank
2023 (sbcl-package->cl-source-package sbcl-slime-swank))
2024
2025 (define-public ecl-slime-swank
2026 (sbcl-package->ecl-package sbcl-slime-swank))
2027
2028 (define-public sbcl-mgl-pax
2029 (let ((commit "818448418d6b9de74620f606f5b23033c6082769"))
2030 (package
2031 (name "sbcl-mgl-pax")
2032 (version (git-version "0.0.0" "1" commit))
2033 (source
2034 (origin
2035 (method git-fetch)
2036 (uri (git-reference
2037 (url "https://github.com/melisgl/mgl-pax")
2038 (commit commit)))
2039 (sha256
2040 (base32
2041 "1p97zfkh130bdxqqxwaw2j9psv58751wakx7czbfpq410lg7dd7i"))
2042 (file-name (git-file-name "mgl-pax" version))))
2043 (build-system asdf-build-system/sbcl)
2044 (inputs
2045 `(("3bmd" ,sbcl-3bmd)
2046 ("babel" ,sbcl-babel)
2047 ("cl-fad" ,sbcl-cl-fad)
2048 ("ironclad" ,sbcl-ironclad)
2049 ("named-readtables" ,sbcl-named-readtables)
2050 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)
2051 ("swank" ,sbcl-slime-swank)))
2052 (synopsis "Exploratory programming environment and documentation generator")
2053 (description
2054 "PAX provides an extremely poor man's Explorable Programming
2055 environment. Narrative primarily lives in so called sections that mix markdown
2056 docstrings with references to functions, variables, etc, all of which should
2057 probably have their own docstrings.
2058
2059 The primary focus is on making code easily explorable by using SLIME's
2060 @command{M-.} (@command{slime-edit-definition}). See how to enable some
2061 fanciness in Emacs Integration. Generating documentation from sections and all
2062 the referenced items in Markdown or HTML format is also implemented.
2063
2064 With the simplistic tools provided, one may accomplish similar effects as with
2065 Literate Programming, but documentation is generated from code, not vice versa
2066 and there is no support for chunking yet. Code is first, code must look
2067 pretty, documentation is code.")
2068 (home-page "http://quotenil.com/")
2069 (license license:expat))))
2070
2071 (define-public cl-mgl-pax
2072 (sbcl-package->cl-source-package sbcl-mgl-pax))
2073
2074 (define-public ecl-mgl-pax
2075 (let ((pkg (sbcl-package->ecl-package sbcl-mgl-pax)))
2076 (package
2077 (inherit pkg)
2078 (arguments
2079 (substitute-keyword-arguments (package-arguments pkg)
2080 ;; TODO: Find why the tests fail on ECL.
2081 ((#:tests? _ #f) #f))))))
2082
2083 (define-public sbcl-mssql
2084 (let ((commit "045602a19a32254108f2b75871049293f49731eb")
2085 (revision "1"))
2086 (package
2087 (name "sbcl-mssql")
2088 (version (git-version "0.0.3" revision commit))
2089 (source
2090 (origin
2091 (method git-fetch)
2092 (uri (git-reference
2093 (url "https://github.com/archimag/cl-mssql")
2094 (commit commit)))
2095 (file-name (git-file-name "cl-mssql" version))
2096 (sha256
2097 (base32 "09i50adppgc1ybm3ka9vbindhwa2x29f9n3n0jkrryymdhb8zknm"))))
2098 (build-system asdf-build-system/sbcl)
2099 (inputs
2100 `(("cffi" ,sbcl-cffi)
2101 ("freetds" ,freetds)
2102 ("garbage-pools" ,sbcl-garbage-pools)
2103 ("iterate" ,sbcl-iterate)
2104 ("parse-number" ,sbcl-parse-number)))
2105 (arguments
2106 `(#:phases
2107 (modify-phases %standard-phases
2108 (add-after 'unpack 'fix-paths
2109 (lambda* (#:key inputs #:allow-other-keys)
2110 (substitute* "src/mssql.lisp"
2111 (("libsybdb" all)
2112 (string-append (assoc-ref inputs "freetds") "/lib/" all)))
2113 #t)))))
2114 (home-page "https://github.com/archimag/cl-mssql")
2115 (synopsis "Common Lisp library to interact with MS SQL Server databases")
2116 (description
2117 "@code{cl-mssql} provides an interface to connect to Microsoft SQL
2118 server. It uses the @code{libsybdb} foreign library provided by the FreeTDS
2119 project.")
2120 (license license:llgpl))))
2121
2122 (define-public ecl-mssql
2123 (sbcl-package->ecl-package sbcl-mssql))
2124
2125 (define-public cl-mssql
2126 (sbcl-package->cl-source-package sbcl-mssql))
2127
2128 (define-public sbcl-lisp-unit
2129 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
2130 (package
2131 (name "sbcl-lisp-unit")
2132 (version (git-version "0.0.0" "1" commit))
2133 (source
2134 (origin
2135 (method git-fetch)
2136 (uri (git-reference
2137 (url "https://github.com/OdonataResearchLLC/lisp-unit")
2138 (commit commit)))
2139 (sha256
2140 (base32
2141 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
2142 (file-name (git-file-name "lisp-unit" version))))
2143 (build-system asdf-build-system/sbcl)
2144 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
2145 (description
2146 "@command{lisp-unit} is a Common Lisp library that supports unit
2147 testing. It is an extension of the library written by Chris Riesbeck.")
2148 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
2149 (license license:expat))))
2150
2151 (define-public cl-lisp-unit
2152 (sbcl-package->cl-source-package sbcl-lisp-unit))
2153
2154 (define-public ecl-lisp-unit
2155 (sbcl-package->ecl-package sbcl-lisp-unit))
2156
2157 (define-public sbcl-anaphora
2158 (package
2159 (name "sbcl-anaphora")
2160 (version "0.9.6")
2161 (source
2162 (origin
2163 (method git-fetch)
2164 (uri (git-reference
2165 (url "https://github.com/tokenrove/anaphora")
2166 (commit version)))
2167 (sha256
2168 (base32
2169 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
2170 (file-name (git-file-name "anaphora" version))))
2171 (build-system asdf-build-system/sbcl)
2172 (native-inputs
2173 `(("rt" ,sbcl-rt)))
2174 (synopsis "The anaphoric macro collection from Hell")
2175 (description
2176 "Anaphora is the anaphoric macro collection from Hell: it includes many
2177 new fiends in addition to old friends like @command{aif} and
2178 @command{awhen}.")
2179 (home-page "https://github.com/tokenrove/anaphora")
2180 (license license:public-domain)))
2181
2182 (define-public cl-anaphora
2183 (sbcl-package->cl-source-package sbcl-anaphora))
2184
2185 (define-public ecl-anaphora
2186 (sbcl-package->ecl-package sbcl-anaphora))
2187
2188 (define-public sbcl-lift
2189 (let ((commit "7d49a66c62759535624037826891152223d4206c"))
2190 (package
2191 (name "sbcl-lift")
2192 (version (git-version "1.7.1" "1" commit))
2193 (source
2194 (origin
2195 (method git-fetch)
2196 (uri (git-reference
2197 (url "https://github.com/gwkkwg/lift")
2198 (commit commit)))
2199 (sha256
2200 (base32
2201 "127v5avpz1i4m0lkaxqrq8hrl69rdazqaxf6s8awf0nd7wj2g4dp"))
2202 (file-name (git-file-name "lift" version))
2203 (modules '((guix build utils)))
2204 (snippet
2205 ;; Don't keep the bundled website
2206 `(begin
2207 (delete-file-recursively "website")
2208 #t))))
2209 (build-system asdf-build-system/sbcl)
2210 (arguments
2211 ;; The tests require a debugger, but we run with the debugger disabled.
2212 '(#:tests? #f))
2213 (synopsis "LIsp Framework for Testing")
2214 (description
2215 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
2216 Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
2217 testcases are organized into hierarchical testsuites each of which can have
2218 its own fixture. When run, a testcase can succeed, fail, or error. LIFT
2219 supports randomized testing, benchmarking, profiling, and reporting.")
2220 (home-page "https://github.com/gwkkwg/lift")
2221 (license license:expat))))
2222
2223 (define-public cl-lift
2224 (sbcl-package->cl-source-package sbcl-lift))
2225
2226 (define-public ecl-lift
2227 (sbcl-package->ecl-package sbcl-lift))
2228
2229 (define-public sbcl-let-plus
2230 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
2231 (package
2232 (name "sbcl-let-plus")
2233 (version (git-version "0.0.0" "1" commit))
2234 (source
2235 (origin
2236 (method git-fetch)
2237 (uri (git-reference
2238 (url "https://github.com/sharplispers/let-plus")
2239 (commit commit)))
2240 (sha256
2241 (base32
2242 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
2243 (file-name (git-file-name "let-plus" version))))
2244 (build-system asdf-build-system/sbcl)
2245 (inputs
2246 `(("alexandria" ,sbcl-alexandria)
2247 ("anaphora" ,sbcl-anaphora)))
2248 (native-inputs
2249 `(("lift" ,sbcl-lift)))
2250 (synopsis "Destructuring extension of let*")
2251 (description
2252 "This library implements the let+ macro, which is a dectructuring
2253 extension of let*. It features:
2254
2255 @itemize
2256 @item Clean, consistent syntax and small implementation (less than 300 LOC,
2257 not counting tests)
2258 @item Placeholder macros allow editor hints and syntax highlighting
2259 @item @command{&ign} for ignored values (in forms where that makes sense)
2260 @item Very easy to extend
2261 @end itemize\n")
2262 (home-page "https://github.com/sharplispers/let-plus")
2263 (license license:boost1.0))))
2264
2265 (define-public cl-let-plus
2266 (sbcl-package->cl-source-package sbcl-let-plus))
2267
2268 (define-public ecl-let-plus
2269 (sbcl-package->ecl-package sbcl-let-plus))
2270
2271 (define-public sbcl-cl-colors
2272 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
2273 (package
2274 (name "sbcl-cl-colors")
2275 (version (git-version "0.0.0" "1" commit))
2276 (source
2277 (origin
2278 (method git-fetch)
2279 (uri (git-reference
2280 (url "https://github.com/tpapp/cl-colors")
2281 (commit commit)))
2282 (sha256
2283 (base32
2284 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2285 (file-name (git-file-name "cl-colors" version))))
2286 (build-system asdf-build-system/sbcl)
2287 (inputs
2288 `(("alexandria" ,sbcl-alexandria)
2289 ("let-plus" ,sbcl-let-plus)))
2290 (synopsis "Simple color library for Common Lisp")
2291 (description
2292 "This is a very simple color library for Common Lisp, providing
2293
2294 @itemize
2295 @item Types for representing colors in HSV and RGB spaces.
2296 @item Simple conversion functions between the above types (and also
2297 hexadecimal representation for RGB).
2298 @item Some predefined colors (currently X11 color names – of course the
2299 library does not depend on X11).Because color in your terminal is nice.
2300 @end itemize
2301
2302 This library is no longer supported by its author.")
2303 (home-page "https://github.com/tpapp/cl-colors")
2304 (license license:boost1.0))))
2305
2306 (define-public cl-colors
2307 (sbcl-package->cl-source-package sbcl-cl-colors))
2308
2309 (define-public ecl-cl-colors
2310 (sbcl-package->ecl-package sbcl-cl-colors))
2311
2312 (define-public sbcl-cl-ansi-text
2313 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2314 (package
2315 (name "sbcl-cl-ansi-text")
2316 (version (git-version "1.0.0" "1" commit))
2317 (source
2318 (origin
2319 (method git-fetch)
2320 (uri (git-reference
2321 (url "https://github.com/pnathan/cl-ansi-text")
2322 (commit commit)))
2323 (sha256
2324 (base32
2325 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2326 (file-name (git-file-name "cl-ansi-text" version))))
2327 (build-system asdf-build-system/sbcl)
2328 (inputs
2329 `(("alexandria" ,sbcl-alexandria)
2330 ("cl-colors" ,sbcl-cl-colors)))
2331 (native-inputs
2332 `(("fiveam" ,sbcl-fiveam)))
2333 (synopsis "ANSI terminal color implementation for Common Lisp")
2334 (description
2335 "@command{cl-ansi-text} provides utilities which enable printing to an
2336 ANSI terminal with colored text. It provides the macro @command{with-color}
2337 which causes everything printed in the body to be displayed with the provided
2338 color. It further provides functions which will print the argument with the
2339 named color.")
2340 (home-page "https://github.com/pnathan/cl-ansi-text")
2341 (license license:llgpl))))
2342
2343 (define-public cl-ansi-text
2344 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2345
2346 (define-public ecl-cl-ansi-text
2347 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2348
2349 (define-public sbcl-prove
2350 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2351 (package
2352 (name "sbcl-prove")
2353 (version (git-version "1.0.0" "1" commit))
2354 (source
2355 (origin
2356 (method git-fetch)
2357 (uri (git-reference
2358 (url "https://github.com/fukamachi/prove")
2359 (commit commit)))
2360 (sha256
2361 (base32
2362 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2363 (file-name (git-file-name "prove" version))))
2364 (build-system asdf-build-system/sbcl)
2365 (inputs
2366 `(("alexandria" ,sbcl-alexandria)
2367 ("cl-ppcre" ,sbcl-cl-ppcre)
2368 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2369 (synopsis "Yet another unit testing framework for Common Lisp")
2370 (description
2371 "This project was originally called @command{cl-test-more}.
2372 @command{prove} is yet another unit testing framework for Common Lisp. The
2373 advantages of @command{prove} are:
2374
2375 @itemize
2376 @item Various simple functions for testing and informative error messages
2377 @item ASDF integration
2378 @item Extensible test reporters
2379 @item Colorizes the report if it's available (note for SLIME)
2380 @item Reports test durations
2381 @end itemize\n")
2382 (home-page "https://github.com/fukamachi/prove")
2383 (license license:expat))))
2384
2385 (define-public cl-prove
2386 (sbcl-package->cl-source-package sbcl-prove))
2387
2388 (define-public ecl-prove
2389 (sbcl-package->ecl-package sbcl-prove))
2390
2391 (define-public sbcl-proc-parse
2392 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2393 (package
2394 (name "sbcl-proc-parse")
2395 (version (git-version "0.0.0" "1" commit))
2396 (source
2397 (origin
2398 (method git-fetch)
2399 (uri (git-reference
2400 (url "https://github.com/fukamachi/proc-parse")
2401 (commit commit)))
2402 (sha256
2403 (base32
2404 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2405 (file-name (git-file-name "proc-parse" version))))
2406 (build-system asdf-build-system/sbcl)
2407 (inputs
2408 `(("alexandria" ,sbcl-alexandria)
2409 ("babel" ,sbcl-babel)))
2410 (native-inputs
2411 `(("prove" ,sbcl-prove)))
2412 (arguments
2413 ;; TODO: Tests don't find "proc-parse-test", why?
2414 `(#:tests? #f))
2415 (synopsis "Procedural vector parser")
2416 (description
2417 "This is a string/octets parser library for Common Lisp with speed and
2418 readability in mind. Unlike other libraries, the code is not a
2419 pattern-matching-like, but a char-by-char procedural parser.")
2420 (home-page "https://github.com/fukamachi/proc-parse")
2421 (license license:bsd-2))))
2422
2423 (define-public cl-proc-parse
2424 (sbcl-package->cl-source-package sbcl-proc-parse))
2425
2426 (define-public ecl-proc-parse
2427 (sbcl-package->ecl-package sbcl-proc-parse))
2428
2429 (define-public sbcl-parse-float
2430 (let ((commit "3074765101e41222b6b624a66aaf1e6416379f9c")
2431 (revision "2"))
2432 (package
2433 (name "sbcl-parse-float")
2434 (version (git-version "0.0.0" revision commit))
2435 (source
2436 (origin
2437 (method git-fetch)
2438 (uri (git-reference
2439 (url "https://github.com/soemraws/parse-float")
2440 (commit commit)))
2441 (sha256
2442 (base32 "0jd2spawc3v8vzqf8ky4cngl45jm65fhkrdf20mf6dcbn3mzpkmr"))
2443 (file-name (git-file-name "proc-parse" version))))
2444 (build-system asdf-build-system/sbcl)
2445 (arguments
2446 ;; FIXME: https://github.com/soemraws/parse-float/issues/12
2447 `(#:asd-systems '("parse-float" "parse-float-tests")))
2448 (native-inputs
2449 `(("lisp-unit" ,sbcl-lisp-unit)))
2450 (inputs
2451 `(("alexandria" ,sbcl-alexandria)))
2452 (home-page "https://github.com/soemraws/parse-float")
2453 (synopsis "Parse a floating point value from a string in Common Lisp")
2454 (description
2455 "This package exports the following function to parse floating-point
2456 values from a string in Common Lisp.")
2457 (license license:public-domain))))
2458
2459 (define-public cl-parse-float
2460 (sbcl-package->cl-source-package sbcl-parse-float))
2461
2462 (define-public ecl-parse-float
2463 (sbcl-package->ecl-package sbcl-parse-float))
2464
2465 (define-public sbcl-cl-string-match
2466 (let ((revision "1")
2467 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2468 (package
2469 (name "sbcl-cl-string-match")
2470 (version (git-version "0" revision changeset))
2471 (source
2472 (origin
2473 (method hg-fetch)
2474 (uri (hg-reference
2475 (url "https://bitbucket.org/vityok/cl-string-match/")
2476 (changeset changeset)))
2477 (sha256
2478 (base32
2479 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2480 (file-name (git-file-name "cl-string-match" version))))
2481 (build-system asdf-build-system/sbcl)
2482 (inputs
2483 `(("alexandria" ,sbcl-alexandria)
2484 ("babel" ,sbcl-babel)
2485 ("iterate" ,sbcl-iterate)
2486 ("jpl-queues" ,sbcl-jpl-queues)
2487 ("jpl-util" ,sbcl-jpl-util)
2488 ("mgl-pax" ,sbcl-mgl-pax)
2489 ("parse-float" ,sbcl-parse-float)
2490 ("proc-parse" ,sbcl-proc-parse)
2491 ("yacc" ,sbcl-cl-yacc)))
2492 ;; TODO: Tests are not evaluated properly.
2493 (native-inputs
2494 ;; For testing:
2495 `(("lisp-unit" ,sbcl-lisp-unit)))
2496 (arguments
2497 `(#:tests? #f))
2498 (synopsis "Set of utilities to manipulate strings in Common Lisp")
2499 (description
2500 "@command{cl-strings} is a small, portable, dependency-free set of
2501 utilities that make it even easier to manipulate text in Common Lisp. It has
2502 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
2503 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2504 (license license:bsd-3))))
2505
2506 (define-public cl-string-match
2507 (sbcl-package->cl-source-package sbcl-cl-string-match))
2508
2509 (define-public ecl-cl-string-match
2510 (sbcl-package->ecl-package sbcl-cl-string-match))
2511
2512 (define-public sbcl-ptester
2513 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2514 (revision "1"))
2515 (package
2516 (name "sbcl-ptester")
2517 (version (git-version "2.1.3" revision commit))
2518 (source
2519 (origin
2520 (method git-fetch)
2521 (uri (git-reference
2522 (url "http://git.kpe.io/ptester.git")
2523 (commit commit)))
2524 (file-name (git-file-name name version))
2525 (sha256
2526 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2527 (build-system asdf-build-system/sbcl)
2528 (home-page "http://quickdocs.org/ptester/")
2529 (synopsis "Portable test harness package")
2530 (description
2531 "@command{ptester} is a portable testing framework based on Franz's
2532 tester module.")
2533 (license license:llgpl))))
2534
2535 (define-public cl-ptester
2536 (sbcl-package->cl-source-package sbcl-ptester))
2537
2538 (define-public ecl-ptester
2539 (sbcl-package->ecl-package sbcl-ptester))
2540
2541 (define-public sbcl-puri
2542 (let ((commit "4bbab89d9ccbb26346899d1f496c97604fec567b")
2543 (revision "2"))
2544 (package
2545 (name "sbcl-puri")
2546 (version (git-version "1.5.7" revision commit))
2547 (source
2548 (origin
2549 (method git-fetch)
2550 (uri (git-reference
2551 (url "http://git.kpe.io/puri.git")
2552 (commit commit)))
2553 (file-name (git-file-name "puri" version))
2554 (sha256
2555 (base32 "0gq2rsr0aihs0z20v4zqvmdl4szq53b52rh97pvnmwrlbn4mapmd"))))
2556 (build-system asdf-build-system/sbcl)
2557 (native-inputs
2558 `(("ptester" ,sbcl-ptester)))
2559 (home-page "http://puri.kpe.io/")
2560 (synopsis "Portable URI Library")
2561 (description
2562 "This is a portable Universal Resource Identifier library for Common
2563 Lisp programs. It parses URI according to the RFC 2396 specification.")
2564 (license license:llgpl))))
2565
2566 (define-public cl-puri
2567 (sbcl-package->cl-source-package sbcl-puri))
2568
2569 (define-public ecl-puri
2570 (sbcl-package->ecl-package sbcl-puri))
2571
2572 (define-public sbcl-qmynd
2573 (let ((commit "7e56daf73f0ed5f49a931c01af75fb874bcf3445")
2574 (revision "1"))
2575 (package
2576 (name "sbcl-qmynd")
2577 (version (git-version "1.0.0" revision commit))
2578 (source
2579 (origin
2580 (method git-fetch)
2581 (uri (git-reference
2582 (url "https://github.com/qitab/qmynd")
2583 (commit commit)))
2584 (file-name (git-file-name name version))
2585 (sha256
2586 (base32
2587 "06gw5wxcpdclb6a5i5k9lbmdlyqsp182czrm9bm1cpklzbj0ihrl"))))
2588 (build-system asdf-build-system/sbcl)
2589 (inputs
2590 `(("asdf-finalizers" ,sbcl-asdf-finalizers)
2591 ("babel" ,sbcl-babel)
2592 ("chipz" ,sbcl-chipz)
2593 ("cl+ssl" ,sbcl-cl+ssl)
2594 ("flexi-streams" ,sbcl-flexi-streams)
2595 ("ironclad" ,sbcl-ironclad)
2596 ("salza2" ,sbcl-salza2)
2597 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
2598 ("usocket" ,sbcl-usocket)))
2599 (home-page "https://github.com/qitab/qmynd")
2600 (synopsis "QITAB MySQL Native Driver for Common Lisp")
2601 (description "QMyND, the QITAB MySQL Native Driver, is a MySQL client
2602 library that directly talks to a MySQL server in its native network protocol.
2603
2604 It's a part of QITAB umbrella project.")
2605 (license license:expat))))
2606
2607 (define-public ecl-qmynd
2608 (sbcl-package->ecl-package sbcl-qmynd))
2609
2610 (define-public cl-qmynd
2611 (sbcl-package->cl-source-package sbcl-qmynd))
2612
2613 (define-public sbcl-queues
2614 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2615 (package
2616 (name "sbcl-queues")
2617 (version (git-version "0.0.0" "1" commit))
2618 (source
2619 (origin
2620 (method git-fetch)
2621 (uri (git-reference
2622 (url "https://github.com/oconnore/queues")
2623 (commit commit)))
2624 (file-name (git-file-name "queues" version))
2625 (sha256
2626 (base32
2627 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2628 (build-system asdf-build-system/sbcl)
2629 (inputs
2630 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
2631 (arguments
2632 '(#:asd-systems '("queues"
2633 "queues.simple-queue"
2634 "queues.simple-cqueue"
2635 "queues.priority-queue"
2636 "queues.priority-cqueue")))
2637 (home-page "https://github.com/oconnore/queues")
2638 (synopsis "Common Lisp queue library")
2639 (description
2640 "This is a simple queue library for Common Lisp with features such as
2641 non-consing thread safe queues and fibonacci priority queues.")
2642 (license license:expat))))
2643
2644 (define-public cl-queues
2645 (sbcl-package->cl-source-package sbcl-queues))
2646
2647 (define-public ecl-queues
2648 (sbcl-package->ecl-package sbcl-queues))
2649
2650 (define-public sbcl-glsl-spec
2651 (let ((commit "f04476f7da89355ae6856b33283c60ba95c6555d")
2652 (revision "1"))
2653 (package
2654 (name "sbcl-glsl-spec")
2655 (version (git-version "0.0.0" revision commit))
2656 (source
2657 (origin
2658 (method git-fetch)
2659 (uri (git-reference
2660 (url "https://github.com/cbaggers/glsl-spec")
2661 (commit commit)))
2662 (file-name (git-file-name "glsl-spec" version))
2663 (sha256
2664 (base32 "01ipspr22fgfj3w8wq2y81lzrjc4vpfiwnr3dqhjlpzzra46am8c"))))
2665 (build-system asdf-build-system/sbcl)
2666 (arguments
2667 `(#:asd-systems '("glsl-spec" "glsl-symbols" "glsl-docs")))
2668 (home-page "https://github.com/cbaggers/glsl-spec")
2669 (synopsis "Common Lisp GLSL specification as a datastructure")
2670 (description
2671 "This package contains the specification of all functions and variables
2672 from GLSL as data.")
2673 (license license:unlicense))))
2674
2675 (define-public ecl-glsl-spec
2676 (sbcl-package->ecl-package sbcl-glsl-spec))
2677
2678 (define-public cl-glsl-spec
2679 (sbcl-package->cl-source-package sbcl-glsl-spec))
2680
2681 (define-public sbcl-cffi
2682 (package
2683 (name "sbcl-cffi")
2684 (version "0.23.0")
2685 (source
2686 (origin
2687 (method git-fetch)
2688 (uri (git-reference
2689 (url "https://github.com/cffi/cffi")
2690 (commit (string-append "v" version))))
2691 (file-name (git-file-name "cffi-bootstrap" version))
2692 (sha256
2693 (base32 "03s98imc5niwnpj3hhrafl7dmxq45g74h96sm68976k7ahi3vl5b"))))
2694 (build-system asdf-build-system/sbcl)
2695 (inputs
2696 `(("alexandria" ,sbcl-alexandria)
2697 ("babel" ,sbcl-babel)
2698 ("libffi" ,libffi)
2699 ("trivial-features" ,sbcl-trivial-features)))
2700 (native-inputs
2701 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2702 ("pkg-config" ,pkg-config)
2703 ("rt" ,sbcl-rt)))
2704 (arguments
2705 '(#:phases
2706 (modify-phases %standard-phases
2707 (add-after 'unpack 'fix-arm-support
2708 (lambda _
2709 ;; This is apparently deprecated since libffi-3.3.
2710 (substitute* "libffi/libffi-types.lisp"
2711 (("\\\(\\\(:unix64.*") ")\n"))
2712 #t))
2713 (add-after 'unpack 'fix-paths
2714 (lambda* (#:key inputs #:allow-other-keys)
2715 (substitute* "libffi/libffi.lisp"
2716 (("libffi.so.7" all) (string-append
2717 (assoc-ref inputs "libffi")
2718 "/lib/" all)))
2719 (substitute* "toolchain/c-toolchain.lisp"
2720 (("\"cc\"") (format #f "~S" (which "gcc"))))))
2721 (add-after 'build 'install-headers
2722 (lambda* (#:key outputs #:allow-other-keys)
2723 (install-file "grovel/common.h"
2724 (string-append
2725 (assoc-ref outputs "out")
2726 "/include/grovel")))))
2727 #:asd-files '("cffi.asd"
2728 "cffi-toolchain.asd"
2729 "cffi-grovel.asd"
2730 "cffi-libffi.asd"
2731 "cffi-uffi-compat.asd")
2732 #:asd-systems '("cffi"
2733 "cffi-libffi"
2734 "cffi-uffi-compat")))
2735 (home-page "https://common-lisp.net/project/cffi/")
2736 (synopsis "Common Foreign Function Interface for Common Lisp")
2737 (description "The Common Foreign Function Interface (CFFI)
2738 purports to be a portable foreign function interface for Common Lisp.
2739 The CFFI library is composed of a Lisp-implementation-specific backend
2740 in the CFFI-SYS package, and a portable frontend in the CFFI
2741 package.")
2742 (license license:expat)))
2743
2744 (define-public cl-cffi
2745 (sbcl-package->cl-source-package sbcl-cffi))
2746
2747 (define-public ecl-cffi
2748 (sbcl-package->ecl-package sbcl-cffi))
2749
2750 (define-public sbcl-cl-sqlite
2751 (package
2752 (name "sbcl-cl-sqlite")
2753 (version "0.2.1")
2754 (source
2755 (origin
2756 (method git-fetch)
2757 (uri (git-reference
2758 (url "https://github.com/dmitryvk/cl-sqlite")
2759 (commit version)))
2760 (file-name (git-file-name "cl-sqlite" version))
2761 (sha256
2762 (base32
2763 "08iv7b4m0hh7qx2cvq4f510nrgdld0vicnvmqsh9w0fgrcgmyg4k"))))
2764 (build-system asdf-build-system/sbcl)
2765 (inputs
2766 `(("iterate" ,sbcl-iterate)
2767 ("cffi" ,sbcl-cffi)
2768 ("sqlite" ,sqlite)))
2769 (native-inputs
2770 `(("fiveam" ,sbcl-fiveam)
2771 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2772 (arguments
2773 `(#:asd-systems '("sqlite")
2774 #:phases
2775 (modify-phases %standard-phases
2776 (add-after 'unpack 'fix-paths
2777 (lambda* (#:key inputs #:allow-other-keys)
2778 (substitute* "sqlite-ffi.lisp"
2779 (("libsqlite3" all) (string-append
2780 (assoc-ref inputs "sqlite")"/lib/" all))))))))
2781 (home-page "https://common-lisp.net/project/cl-sqlite/")
2782 (synopsis "Common Lisp binding for SQLite")
2783 (description
2784 "The @command{cl-sqlite} package is an interface to the SQLite embedded
2785 relational database engine.")
2786 (license license:public-domain)))
2787
2788 (define-public cl-sqlite
2789 (sbcl-package->cl-source-package sbcl-cl-sqlite))
2790
2791 (define-public ecl-cl-sqlite
2792 (sbcl-package->ecl-package sbcl-cl-sqlite))
2793
2794 (define-public sbcl-parenscript
2795 ;; Source archives are overwritten on every release, we use the Git repo instead.
2796 (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766"))
2797 (package
2798 (name "sbcl-parenscript")
2799 (version (git-version "2.7.1" "1" commit))
2800 (source
2801 (origin
2802 (method git-fetch)
2803 (uri (git-reference
2804 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
2805 (commit commit)))
2806 (file-name (git-file-name "parenscript" version))
2807 (sha256
2808 (base32
2809 "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf"))))
2810 (build-system asdf-build-system/sbcl)
2811 (inputs
2812 `(("cl-ppcre" ,sbcl-cl-ppcre)
2813 ("anaphora" ,sbcl-anaphora)
2814 ("named-readtables" ,sbcl-named-readtables)))
2815 (home-page "https://common-lisp.net/project/parenscript/")
2816 (synopsis "Translator from a subset of Common Lisp to JavaScript")
2817 (description
2818 "Parenscript is a translator from an extended subset of Common Lisp to
2819 JavaScript. Parenscript code can run almost identically on both the
2820 browser (as JavaScript) and server (as Common Lisp).
2821
2822 Parenscript code is treated the same way as Common Lisp code, making the full
2823 power of Lisp macros available for JavaScript. This provides a web
2824 development environment that is unmatched in its ability to reduce code
2825 duplication and provide advanced meta-programming facilities to web
2826 developers.
2827
2828 At the same time, Parenscript is different from almost all other \"language
2829 X\" to JavaScript translators in that it imposes almost no overhead:
2830
2831 @itemize
2832 @item No run-time dependencies: Any piece of Parenscript code is runnable
2833 as-is. There are no JavaScript files to include.
2834 @item Native types: Parenscript works entirely with native JavaScript data
2835 types. There are no new types introduced, and object prototypes are not
2836 touched.
2837 @item Native calling convention: Any JavaScript code can be called without the
2838 need for bindings. Likewise, Parenscript can be used to make efficient,
2839 self-contained JavaScript libraries.
2840 @item Readable code: Parenscript generates concise, formatted, idiomatic
2841 JavaScript code. Identifier names are preserved. This enables seamless
2842 debugging in tools like Firebug.
2843 @item Efficiency: Parenscript introduces minimal overhead for advanced Common
2844 Lisp features. The generated code is almost as fast as hand-written
2845 JavaScript.
2846 @end itemize\n")
2847 (license license:bsd-3))))
2848
2849 (define-public cl-parenscript
2850 (sbcl-package->cl-source-package sbcl-parenscript))
2851
2852 (define-public ecl-parenscript
2853 (sbcl-package->ecl-package sbcl-parenscript))
2854
2855 (define-public sbcl-cl-json
2856 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
2857 (package
2858 (name "sbcl-cl-json")
2859 (version (git-version "0.5" "1" commit))
2860 (source
2861 (origin
2862 (method git-fetch)
2863 (uri (git-reference
2864 (url "https://github.com/hankhero/cl-json")
2865 (commit commit)))
2866 (file-name (git-file-name "cl-json" version))
2867 (sha256
2868 (base32
2869 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
2870 (build-system asdf-build-system/sbcl)
2871 (native-inputs
2872 `(("fiveam" ,sbcl-fiveam)))
2873 (home-page "https://github.com/hankhero/cl-json")
2874 (synopsis "JSON encoder and decoder for Common-Lisp")
2875 (description
2876 "@command{cl-json} provides an encoder of Lisp objects to JSON format
2877 and a corresponding decoder of JSON data to Lisp objects. Both the encoder
2878 and the decoder are highly customizable; at the same time, the default
2879 settings ensure a very simple mode of operation, similar to that provided by
2880 @command{yason} or @command{st-json}.")
2881 (license license:expat))))
2882
2883 (define-public cl-json
2884 (sbcl-package->cl-source-package sbcl-cl-json))
2885
2886 (define-public ecl-cl-json
2887 (sbcl-package->ecl-package sbcl-cl-json))
2888
2889 (define-public sbcl-unix-opts
2890 (package
2891 (name "sbcl-unix-opts")
2892 (version "0.1.7")
2893 (source
2894 (origin
2895 (method git-fetch)
2896 (uri (git-reference
2897 (url "https://github.com/libre-man/unix-opts")
2898 (commit version)))
2899 (file-name (git-file-name "unix-opts" version))
2900 (sha256
2901 (base32
2902 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
2903 (build-system asdf-build-system/sbcl)
2904 (home-page "https://github.com/hankhero/cl-json")
2905 (synopsis "Unix-style command line options parser")
2906 (description
2907 "This is a minimalistic parser of command line options. The main
2908 advantage of the library is the ability to concisely define command line
2909 options once and then use this definition for parsing and extraction of
2910 command line arguments, as well as printing description of command line
2911 options (you get --help for free). This way you don't need to repeat
2912 yourself. Also, @command{unix-opts} doesn't depend on anything and
2913 precisely controls the behavior of the parser via Common Lisp restarts.")
2914 (license license:expat)))
2915
2916 (define-public cl-unix-opts
2917 (sbcl-package->cl-source-package sbcl-unix-opts))
2918
2919 (define-public ecl-unix-opts
2920 (sbcl-package->ecl-package sbcl-unix-opts))
2921
2922 (define-public sbcl-trivial-garbage
2923 (package
2924 (name "sbcl-trivial-garbage")
2925 (version "0.21")
2926 (source
2927 (origin
2928 (method git-fetch)
2929 (uri (git-reference
2930 (url "https://github.com/trivial-garbage/trivial-garbage")
2931 (commit (string-append "v" version))))
2932 (file-name (git-file-name "trivial-garbage" version))
2933 (sha256
2934 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
2935 (build-system asdf-build-system/sbcl)
2936 (native-inputs
2937 `(("rt" ,sbcl-rt)))
2938 (home-page "https://common-lisp.net/project/trivial-garbage/")
2939 (synopsis "Portable GC-related APIs for Common Lisp")
2940 (description "@command{trivial-garbage} provides a portable API to
2941 finalizers, weak hash-tables and weak pointers on all major implementations of
2942 the Common Lisp programming language.")
2943 (license license:public-domain)))
2944
2945 (define-public cl-trivial-garbage
2946 (sbcl-package->cl-source-package sbcl-trivial-garbage))
2947
2948 (define-public ecl-trivial-garbage
2949 (sbcl-package->ecl-package sbcl-trivial-garbage))
2950
2951 (define-public sbcl-closer-mop
2952 (let ((commit "19c9d33f576e10715fd79cc1d4f688dab0f241d6"))
2953 (package
2954 (name "sbcl-closer-mop")
2955 (version (git-version "1.0.0" "2" commit))
2956 (source
2957 (origin
2958 (method git-fetch)
2959 (uri (git-reference
2960 (url "https://github.com/pcostanza/closer-mop")
2961 (commit commit)))
2962 (sha256
2963 (base32 "1w3x087wvlwkd6swfdgbvjfs6kazf0la8ax4pjfzikwjch4snn2c"))
2964 (file-name (git-file-name "closer-mop" version ))))
2965 (build-system asdf-build-system/sbcl)
2966 (home-page "https://github.com/pcostanza/closer-mop")
2967 (synopsis "Rectifies absent or incorrect CLOS MOP features")
2968 (description "Closer to MOP is a compatibility layer that rectifies many
2969 of the absent or incorrect CLOS MOP features across a broad range of Common
2970 Lisp implementations.")
2971 (license license:expat))))
2972
2973 (define-public cl-closer-mop
2974 (sbcl-package->cl-source-package sbcl-closer-mop))
2975
2976 (define-public ecl-closer-mop
2977 (sbcl-package->ecl-package sbcl-closer-mop))
2978
2979 (define-public sbcl-cl-cffi-gtk
2980 (let ((commit "e9a46df65995d9a16e6c8dbdc1e09b775eb4a966"))
2981 (package
2982 (name "sbcl-cl-cffi-gtk")
2983 (version (git-version "0.11.2" "2" commit))
2984 (source
2985 (origin
2986 (method git-fetch)
2987 (uri (git-reference
2988 (url "https://github.com/Ferada/cl-cffi-gtk/")
2989 (commit commit)))
2990 (file-name (git-file-name "cl-cffi-gtk" version))
2991 (sha256
2992 (base32
2993 "04vix0gmqsj91lm975sx7jhlnz5gq1xf9jp873mp7c8frc5dk1jj"))))
2994 (build-system asdf-build-system/sbcl)
2995 (native-inputs
2996 `(("fiveam" ,sbcl-fiveam)))
2997 (inputs
2998 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2999 ("cairo" ,cairo)
3000 ("cffi" ,sbcl-cffi)
3001 ("closer-mop" ,sbcl-closer-mop)
3002 ("gdk-pixbuf" ,gdk-pixbuf)
3003 ("glib" ,glib)
3004 ("gtk" ,gtk+)
3005 ("iterate" ,sbcl-iterate)
3006 ("pango" ,pango)
3007 ("trivial-features" ,sbcl-trivial-features)
3008 ("trivial-garbage" ,sbcl-trivial-garbage)))
3009 (arguments
3010 `(#:asd-files '("gtk/cl-cffi-gtk.asd"
3011 "glib/cl-cffi-gtk-glib.asd"
3012 "gobject/cl-cffi-gtk-gobject.asd"
3013 "gio/cl-cffi-gtk-gio.asd"
3014 "cairo/cl-cffi-gtk-cairo.asd"
3015 "pango/cl-cffi-gtk-pango.asd"
3016 "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
3017 "gdk/cl-cffi-gtk-gdk.asd")
3018 #:test-asd-file "test/cl-cffi-gtk-test.asd"
3019 ;; TODO: Tests fail with memory fault.
3020 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
3021 #:tests? #f
3022 #:phases
3023 (modify-phases %standard-phases
3024 (add-after 'unpack 'fix-paths
3025 (lambda* (#:key inputs #:allow-other-keys)
3026 (substitute* "glib/glib.init.lisp"
3027 (("libglib|libgthread" all)
3028 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3029 (substitute* "gobject/gobject.init.lisp"
3030 (("libgobject" all)
3031 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3032 (substitute* "gio/gio.init.lisp"
3033 (("libgio" all)
3034 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3035 (substitute* "cairo/cairo.init.lisp"
3036 (("libcairo" all)
3037 (string-append (assoc-ref inputs "cairo") "/lib/" all)))
3038 (substitute* "pango/pango.init.lisp"
3039 (("libpango" all)
3040 (string-append (assoc-ref inputs "pango") "/lib/" all)))
3041 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
3042 (("libgdk_pixbuf" all)
3043 (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))
3044 (substitute* "gdk/gdk.init.lisp"
3045 (("libgdk" all)
3046 (string-append (assoc-ref inputs "gtk") "/lib/" all)))
3047 (substitute* "gdk/gdk.package.lisp"
3048 (("libgtk" all)
3049 (string-append (assoc-ref inputs "gtk") "/lib/" all))))))))
3050 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
3051 (synopsis "Common Lisp binding for GTK+3")
3052 (description
3053 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
3054 is a library for creating graphical user interfaces.")
3055 (license license:lgpl3))))
3056
3057 (define-public cl-cffi-gtk
3058 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
3059
3060 (define-public ecl-cl-cffi-gtk
3061 (sbcl-package->ecl-package sbcl-cl-cffi-gtk))
3062
3063 (define-public sbcl-cl-webkit
3064 (let ((commit "0bc05cc73257670ab241853b9cc9ccb68940fe44"))
3065 (package
3066 (name "sbcl-cl-webkit")
3067 (version (git-version "2.4" "10" commit))
3068 (source
3069 (origin
3070 (method git-fetch)
3071 (uri (git-reference
3072 (url "https://github.com/joachifm/cl-webkit")
3073 (commit commit)))
3074 (file-name (git-file-name "cl-webkit" version))
3075 (sha256
3076 (base32
3077 "1kg6illspvb5647pm0x819ag2n7njnqvrm18jzgd28vk6nlkrcmq"))))
3078 (build-system asdf-build-system/sbcl)
3079 (inputs
3080 `(("cffi" ,sbcl-cffi)
3081 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3082 ("webkitgtk" ,webkitgtk)))
3083 (arguments
3084 `(#:asd-systems '("cl-webkit2")
3085 #:phases
3086 (modify-phases %standard-phases
3087 (add-after 'unpack 'fix-paths
3088 (lambda* (#:key inputs #:allow-other-keys)
3089 (substitute* "webkit2/webkit2.init.lisp"
3090 (("libwebkit2gtk" all)
3091 (string-append
3092 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
3093 (home-page "https://github.com/joachifm/cl-webkit")
3094 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3095 (description
3096 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3097 currently targeting WebKit version 2. The WebKitGTK+ library adds web
3098 browsing capabilities to an application, leveraging the full power of the
3099 WebKit browsing engine.")
3100 (license license:expat))))
3101
3102 (define-public cl-webkit
3103 (sbcl-package->cl-source-package sbcl-cl-webkit))
3104
3105 (define-public ecl-cl-webkit
3106 (sbcl-package->ecl-package sbcl-cl-webkit))
3107
3108 (define-public sbcl-lparallel
3109 (package
3110 (name "sbcl-lparallel")
3111 (version "2.8.4")
3112 (source
3113 (origin
3114 (method git-fetch)
3115 (uri (git-reference
3116 (url "https://github.com/lmj/lparallel/")
3117 (commit (string-append "lparallel-" version))))
3118 (file-name (git-file-name "lparallel" version))
3119 (sha256
3120 (base32
3121 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3122 (build-system asdf-build-system/sbcl)
3123 (inputs
3124 `(("alexandria" ,sbcl-alexandria)
3125 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3126 ("trivial-garbage" ,sbcl-trivial-garbage)))
3127 (arguments
3128 `(#:phases
3129 (modify-phases %standard-phases
3130 (add-after 'unpack 'fix-dependency
3131 ;; lparallel loads a SBCL specific system in its asd file. This is
3132 ;; not carried over into the fasl which is generated. In order for
3133 ;; it to be carried over, it needs to be listed as a dependency.
3134 (lambda _
3135 (substitute* "lparallel.asd"
3136 ((":depends-on \\(:alexandria" all)
3137 (string-append all " #+sbcl :sb-cltl2"))))))))
3138 (home-page "https://lparallel.org/")
3139 (synopsis "Parallelism for Common Lisp")
3140 (description
3141 "@command{lparallel} is a library for parallel programming in Common
3142 Lisp, featuring:
3143
3144 @itemize
3145 @item a simple model of task submission with receiving queue,
3146 @item constructs for expressing fine-grained parallelism,
3147 @item asynchronous condition handling across thread boundaries,
3148 @item parallel versions of map, reduce, sort, remove, and many others,
3149 @item promises, futures, and delayed evaluation constructs,
3150 @item computation trees for parallelizing interconnected tasks,
3151 @item bounded and unbounded FIFO queues,
3152 @item high and low priority tasks,
3153 @item task killing by category,
3154 @item integrated timeouts.
3155 @end itemize\n")
3156 (license license:expat)))
3157
3158 (define-public cl-lparallel
3159 (sbcl-package->cl-source-package sbcl-lparallel))
3160
3161 (define-public ecl-lparallel
3162 (package
3163 (inherit (sbcl-package->ecl-package sbcl-lparallel))
3164 (arguments
3165 ;; TODO: Find why the tests get stuck forever; disable them for now.
3166 `(#:tests? #f))))
3167
3168 (define-public sbcl-cl-markup
3169 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3170 (package
3171 (name "sbcl-cl-markup")
3172 (version (git-version "0.1" "1" commit))
3173 (source
3174 (origin
3175 (method git-fetch)
3176 (uri (git-reference
3177 (url "https://github.com/arielnetworks/cl-markup/")
3178 (commit commit)))
3179 (file-name (git-file-name "cl-markup" version))
3180 (sha256
3181 (base32
3182 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3183 (build-system asdf-build-system/sbcl)
3184 (home-page "https://github.com/arielnetworks/cl-markup/")
3185 (synopsis "Markup generation library for Common Lisp")
3186 (description
3187 "A modern markup generation library for Common Lisp that features:
3188
3189 @itemize
3190 @item Fast (even faster through compiling the code)
3191 @item Safety
3192 @item Support for multiple document types (markup, xml, html, html5, xhtml)
3193 @item Output with doctype
3194 @item Direct output to stream
3195 @end itemize\n")
3196 (license license:lgpl3+))))
3197
3198 (define-public cl-markup
3199 (sbcl-package->cl-source-package sbcl-cl-markup))
3200
3201 (define-public ecl-cl-markup
3202 (sbcl-package->ecl-package sbcl-cl-markup))
3203
3204 (define-public sbcl-cl-mustache
3205 (package
3206 (name "sbcl-cl-mustache")
3207 (version "0.12.1")
3208 (source
3209 (origin
3210 (method git-fetch)
3211 (uri (git-reference
3212 (url "https://github.com/kanru/cl-mustache")
3213 (commit (string-append "v" version))))
3214 (file-name (git-file-name "cl-mustache" version))
3215 (sha256
3216 (base32 "149xbb6wxq1napliwm9cv729hwcgfnjli6y8hingfixz7f10lhks"))))
3217 (build-system asdf-build-system/sbcl)
3218 (home-page "https://github.com/kanru/cl-mustache")
3219 (synopsis "Common Lisp Mustache template renderer")
3220 (description "This is a Common Lisp implementation for the Mustache
3221 template system. More details on the standard are available at
3222 @url{https://mustache.github.io}.")
3223 (license license:expat)))
3224
3225 (define-public cl-mustache
3226 (sbcl-package->cl-source-package sbcl-cl-mustache))
3227
3228 (define-public ecl-cl-mustache
3229 (sbcl-package->ecl-package sbcl-cl-mustache))
3230
3231 (define-public sbcl-cl-css
3232 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3233 (package
3234 (name "sbcl-cl-css")
3235 (version (git-version "0.1" "1" commit))
3236 (source
3237 (origin
3238 (method git-fetch)
3239 (uri (git-reference
3240 (url "https://github.com/inaimathi/cl-css/")
3241 (commit commit)))
3242 (file-name (git-file-name "cl-css" version))
3243 (sha256
3244 (base32
3245 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3246 (build-system asdf-build-system/sbcl)
3247 (home-page "https://github.com/inaimathi/cl-css/")
3248 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3249 (description
3250 "This is a dead-simple, non validating, inline CSS generator for Common
3251 Lisp. Its goals are axiomatic syntax, simple implementation to support
3252 portability, and boilerplate reduction in CSS.")
3253 (license license:expat))))
3254
3255 (define-public cl-css
3256 (sbcl-package->cl-source-package sbcl-cl-css))
3257
3258 (define-public ecl-cl-css
3259 (sbcl-package->ecl-package sbcl-cl-css))
3260
3261 (define-public sbcl-portable-threads
3262 (let ((commit "aa26bf38338a6b068bf8bfb3375d8d8c3b0a28df"))
3263 (package
3264 (name "sbcl-portable-threads")
3265 (version (git-version "2.3" "2" commit))
3266 (source
3267 (origin
3268 (method git-fetch)
3269 (uri (git-reference
3270 (url "https://github.com/binghe/portable-threads/")
3271 (commit commit)))
3272 (file-name (git-file-name "portable-threads" version))
3273 (sha256
3274 (base32 "058ksi07vfdmhrf5mdlc833s82m1rcqfja2266520m3r8bzs8bvs"))))
3275 (build-system asdf-build-system/sbcl)
3276 (arguments
3277 `(;; Tests seem broken.
3278 #:tests? #f))
3279 (home-page "https://github.com/binghe/portable-threads")
3280 (synopsis "Portable threads API for Common Lisp")
3281 (description
3282 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3283 Lisp (from GBBopen project).")
3284 (license license:asl2.0))))
3285
3286 (define-public cl-portable-threads
3287 (sbcl-package->cl-source-package sbcl-portable-threads))
3288
3289 (define-public ecl-portable-threads
3290 (sbcl-package->ecl-package sbcl-portable-threads))
3291
3292 (define-public sbcl-usocket
3293 (package
3294 (name "sbcl-usocket")
3295 (version "0.8.3")
3296 (source
3297 (origin
3298 (method git-fetch)
3299 (uri (git-reference
3300 (url "https://github.com/usocket/usocket/")
3301 (commit (string-append "v" version))))
3302 (file-name (git-file-name "usocket" version))
3303 (sha256
3304 (base32
3305 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3306 (build-system asdf-build-system/sbcl)
3307 (native-inputs
3308 `(("rt" ,sbcl-rt)))
3309 (inputs
3310 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3311 ("split-sequence" ,sbcl-split-sequence)))
3312 (arguments
3313 `(#:tests? #f ; FIXME: Tests need network access?
3314 #:asd-systems '("usocket"
3315 "usocket-server")))
3316 (home-page "https://common-lisp.net/project/usocket/")
3317 (synopsis "Universal socket library for Common Lisp")
3318 (description
3319 "This library strives to provide a portable TCP/IP and UDP/IP socket
3320 interface for as many Common Lisp implementations as possible, while keeping
3321 the abstraction and portability layer as thin as possible.")
3322 (license license:expat)))
3323
3324 (define-public cl-usocket
3325 (sbcl-package->cl-source-package sbcl-usocket))
3326
3327 (define-public ecl-usocket
3328 (sbcl-package->ecl-package sbcl-usocket))
3329
3330 (define-public sbcl-s-xml
3331 (package
3332 (name "sbcl-s-xml")
3333 (version "3")
3334 (source
3335 (origin
3336 (method url-fetch)
3337 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3338 (sha256
3339 (base32
3340 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3341 (build-system asdf-build-system/sbcl)
3342 (home-page "https://common-lisp.net/project/s-xml/")
3343 (synopsis "Simple XML parser implemented in Common Lisp")
3344 (description
3345 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3346 parser implementation has the following features:
3347
3348 @itemize
3349 @item It works (handling many common XML usages).
3350 @item It is very small (the core is about 700 lines of code, including
3351 comments and whitespace).
3352 @item It has a core API that is simple, efficient and pure functional, much
3353 like that from SSAX (see also http://ssax.sourceforge.net).
3354 @item It supports different DOM models: an XSML-based one, an LXML-based one
3355 and a classic xml-element struct based one.
3356 @item It is reasonably time and space efficient (internally avoiding garbage
3357 generatation as much as possible).
3358 @item It does support CDATA.
3359 @item It should support the same character sets as your Common Lisp
3360 implementation.
3361 @item It does support XML name spaces.
3362 @end itemize
3363
3364 This XML parser implementation has the following limitations:
3365
3366 @itemize
3367 @item It does not support any special tags (like processing instructions).
3368 @item It is not validating, even skips DTD's all together.
3369 @end itemize\n")
3370 (license license:lgpl3+)))
3371
3372 (define-public cl-s-xml
3373 (sbcl-package->cl-source-package sbcl-s-xml))
3374
3375 (define-public ecl-s-xml
3376 (sbcl-package->ecl-package sbcl-s-xml))
3377
3378 (define-public sbcl-s-xml-rpc
3379 (package
3380 (name "sbcl-s-xml-rpc")
3381 (version "7")
3382 (source
3383 (origin
3384 (method url-fetch)
3385 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3386 (sha256
3387 (base32
3388 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3389 (build-system asdf-build-system/sbcl)
3390 (inputs
3391 `(("s-xml" ,sbcl-s-xml)))
3392 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3393 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3394 (description
3395 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3396 client and server.")
3397 (license license:lgpl3+)))
3398
3399 (define-public cl-s-xml-rpc
3400 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3401
3402 (define-public ecl-s-xml-rpc
3403 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3404
3405 (define-public sbcl-trivial-arguments
3406 (let ((commit "ecd84ed9cf9ef8f1e873d7409e6bd04979372aa7")
3407 (revision "1"))
3408 (package
3409 (name "sbcl-trivial-arguments")
3410 (version (git-version "1.1.0" revision commit))
3411 (source
3412 (origin
3413 (method git-fetch)
3414 (uri (git-reference
3415 (url "https://github.com/Shinmera/trivial-arguments")
3416 (commit commit)))
3417 (file-name (git-file-name "trivial-arguments" version))
3418 (sha256
3419 (base32 "02vaqfavhj8jqxnr68nnzvzshm8jbgcy6m9lvyv4daa6f7ihqf88"))))
3420 (build-system asdf-build-system/sbcl)
3421 (home-page "https://github.com/Shinmera/trivial-arguments")
3422 (synopsis "Common Lisp library to retrieve a function's lambda-list")
3423 (description
3424 "This is a simple library to retrieve the argument list of a function.")
3425 (license license:zlib))))
3426
3427 (define-public ecl-trivial-arguments
3428 (sbcl-package->ecl-package sbcl-trivial-arguments))
3429
3430 (define-public cl-trivial-arguments
3431 (sbcl-package->cl-source-package sbcl-trivial-arguments))
3432
3433 (define-public sbcl-trivial-clipboard
3434 (let ((commit "afcd3743b842f5a81fc86dba60f9db59970f49c5"))
3435 (package
3436 (name "sbcl-trivial-clipboard")
3437 (version (git-version "0.0.0.0" "3" commit))
3438 (source
3439 (origin
3440 (method git-fetch)
3441 (uri (git-reference
3442 (url "https://github.com/snmsts/trivial-clipboard")
3443 (commit commit)))
3444 (file-name (git-file-name "trivial-clipboard" version))
3445 (sha256
3446 (base32
3447 "1qfbvkzmvkbqpc5s3sx31c5653sy6qlcixafgzd10qpykb843prr"))))
3448 (build-system asdf-build-system/sbcl)
3449 (inputs
3450 `(("xclip" ,xclip)))
3451 (native-inputs
3452 `(("fiveam" ,sbcl-fiveam)))
3453 (arguments
3454 `(#:phases
3455 (modify-phases %standard-phases
3456 (add-after 'unpack 'fix-paths
3457 (lambda* (#:key inputs #:allow-other-keys)
3458 (substitute* "src/text.lisp"
3459 (("\\(executable-find \"xclip\"\\)")
3460 (string-append "(executable-find \""
3461 (assoc-ref inputs "xclip")
3462 "/bin/xclip\")"))))))))
3463 (home-page "https://github.com/snmsts/trivial-clipboard")
3464 (synopsis "Access system clipboard in Common Lisp")
3465 (description
3466 "@command{trivial-clipboard} gives access to the system clipboard.")
3467 (license license:expat))))
3468
3469 (define-public cl-trivial-clipboard
3470 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3471
3472 (define-public ecl-trivial-clipboard
3473 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3474
3475 (define-public sbcl-trivial-backtrace
3476 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3477 (revision "1"))
3478 (package
3479 (name "sbcl-trivial-backtrace")
3480 (version (git-version "0.0.0" revision commit))
3481 (source
3482 (origin
3483 (method git-fetch)
3484 (uri (git-reference
3485 (url "https://github.com/gwkkwg/trivial-backtrace")
3486 (commit commit)))
3487 (file-name (git-file-name "trivial-backtrace" version))
3488 (sha256
3489 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3490 (build-system asdf-build-system/sbcl)
3491 (inputs
3492 `(("sbcl-lift" ,sbcl-lift)))
3493 (arguments
3494 `(#:phases
3495 (modify-phases %standard-phases
3496 (add-after 'check 'delete-test-results
3497 (lambda* (#:key outputs #:allow-other-keys)
3498 (let ((test-results (string-append (assoc-ref outputs "out")
3499 "/share/common-lisp/"
3500 (%lisp-type)
3501 "/trivial-backtrace"
3502 "/test-results")))
3503 (when (file-exists? test-results)
3504 (delete-file-recursively test-results)))
3505 #t)))))
3506 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3507 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3508 (description
3509 "One of the many things that didn't quite get into the Common Lisp
3510 standard was how to get a Lisp to output its call stack when something has
3511 gone wrong. As such, each Lisp has developed its own notion of what to
3512 display, how to display it, and what sort of arguments can be used to
3513 customize it. @code{trivial-backtrace} is a simple solution to generating a
3514 backtrace portably.")
3515 (license license:expat))))
3516
3517 (define-public cl-trivial-backtrace
3518 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3519
3520 (define-public ecl-trivial-backtrace
3521 (sbcl-package->ecl-package sbcl-trivial-backtrace))
3522
3523 (define-public sbcl-rfc2388
3524 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3525 (revision "1"))
3526 (package
3527 (name "sbcl-rfc2388")
3528 (version (git-version "0.0.0" revision commit))
3529 (source
3530 (origin
3531 (method git-fetch)
3532 (uri (git-reference
3533 (url "https://github.com/jdz/rfc2388")
3534 (commit commit)))
3535 (file-name (git-file-name "rfc2388" version))
3536 (sha256
3537 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3538 (build-system asdf-build-system/sbcl)
3539 (home-page "https://github.com/jdz/rfc2388/")
3540 (synopsis "An implementation of RFC 2388 in Common Lisp")
3541 (description
3542 "This package contains an implementation of RFC 2388, which is used to
3543 process form data posted with HTTP POST method using enctype
3544 \"multipart/form-data\".")
3545 (license license:bsd-2))))
3546
3547 (define-public cl-rfc2388
3548 (sbcl-package->cl-source-package sbcl-rfc2388))
3549
3550 (define-public ecl-rfc2388
3551 (sbcl-package->ecl-package sbcl-rfc2388))
3552
3553 (define-public sbcl-md5
3554 (package
3555 (name "sbcl-md5")
3556 (version "2.0.4")
3557 (source
3558 (origin
3559 (method git-fetch)
3560 (uri (git-reference
3561 (url "https://github.com/pmai/md5")
3562 (commit (string-append "release-" version))))
3563 (file-name (git-file-name "md5" version))
3564 (sha256
3565 (base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
3566 (build-system asdf-build-system/sbcl)
3567 (home-page "https://github.com/pmai/md5")
3568 (synopsis
3569 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3570 (description
3571 "This package implements The MD5 Message-Digest Algorithm, as defined in
3572 RFC 1321 by R. Rivest, published April 1992.")
3573 (license license:public-domain)))
3574
3575 (define-public cl-md5
3576 (sbcl-package->cl-source-package sbcl-md5))
3577
3578 (define-public ecl-md5
3579 (package
3580 (inherit (sbcl-package->ecl-package sbcl-md5))
3581 (inputs
3582 `(("flexi-streams" ,ecl-flexi-streams)))))
3583
3584 (define-public sbcl-cl+ssl
3585 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
3586 (revision "1"))
3587 (package
3588 (name "sbcl-cl+ssl")
3589 (version (git-version "0.0.0" revision commit))
3590 (source
3591 (origin
3592 (method git-fetch)
3593 (uri (git-reference
3594 (url "https://github.com/cl-plus-ssl/cl-plus-ssl")
3595 (commit commit)))
3596 (file-name (git-file-name "cl+ssl" version))
3597 (sha256
3598 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
3599 (build-system asdf-build-system/sbcl)
3600 (arguments
3601 '(#:phases
3602 (modify-phases %standard-phases
3603 (add-after 'unpack 'fix-paths
3604 (lambda* (#:key inputs #:allow-other-keys)
3605 (substitute* "src/reload.lisp"
3606 (("libssl.so" all)
3607 (string-append
3608 (assoc-ref inputs "openssl") "/lib/" all))))))))
3609 (inputs
3610 `(("openssl" ,openssl)
3611 ("sbcl-cffi" ,sbcl-cffi)
3612 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3613 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3614 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3615 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3616 ("sbcl-alexandria" ,sbcl-alexandria)
3617 ("sbcl-trivial-features" ,sbcl-trivial-features)))
3618 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
3619 (synopsis "Common Lisp bindings to OpenSSL")
3620 (description
3621 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3622 code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3623 Development into CL+SSL was done by David Lichteblau.")
3624 (license license:expat))))
3625
3626 (define-public cl-cl+ssl
3627 (sbcl-package->cl-source-package sbcl-cl+ssl))
3628
3629 (define-public ecl-cl+ssl
3630 (sbcl-package->ecl-package sbcl-cl+ssl))
3631
3632 (define-public sbcl-kmrcl
3633 (let ((version "1.111")
3634 (commit "4a27407aad9deb607ffb8847630cde3d041ea25a")
3635 (revision "1"))
3636 (package
3637 (name "sbcl-kmrcl")
3638 (version (git-version version revision commit))
3639 (source
3640 (origin
3641 (method git-fetch)
3642 (uri (git-reference
3643 (url "http://git.kpe.io/kmrcl.git/")
3644 (commit commit)))
3645 (file-name (git-file-name name version))
3646 (sha256
3647 (base32 "06gx04mah5nc8w78s0j8628divbf1s5w7af8w7pvzb2d5mgvrbd2"))))
3648 (build-system asdf-build-system/sbcl)
3649 (inputs
3650 `(("sbcl-rt" ,sbcl-rt)))
3651 (home-page "http://files.kpe.io/kmrcl/")
3652 (synopsis "General utilities for Common Lisp programs")
3653 (description
3654 "KMRCL is a collection of utilities used by a number of Kevin
3655 Rosenberg's Common Lisp packages.")
3656 (license license:llgpl))))
3657
3658 (define-public cl-kmrcl
3659 (sbcl-package->cl-source-package sbcl-kmrcl))
3660
3661 (define-public ecl-kmrcl
3662 (sbcl-package->ecl-package sbcl-kmrcl))
3663
3664 (define-public sbcl-cl-base64
3665 ;; 3.3.4 tests are broken, upstream fixes them.
3666 (let ((commit "577683b18fd880b82274d99fc96a18a710e3987a"))
3667 (package
3668 (name "sbcl-cl-base64")
3669 (version (git-version "3.3.4" "1" commit))
3670 (source
3671 (origin
3672 (method git-fetch)
3673 (uri (git-reference
3674 (url "http://git.kpe.io/cl-base64.git/")
3675 (commit commit)))
3676 (file-name (git-file-name name version))
3677 (sha256
3678 (base32 "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj"))))
3679 (build-system asdf-build-system/sbcl)
3680 (native-inputs ; For tests.
3681 `(("sbcl-ptester" ,sbcl-ptester)
3682 ("sbcl-kmrcl" ,sbcl-kmrcl)))
3683 (home-page "http://files.kpe.io/cl-base64/")
3684 (synopsis
3685 "Common Lisp package to encode and decode base64 with URI support")
3686 (description
3687 "This package provides highly optimized base64 encoding and decoding.
3688 Besides conversion to and from strings, integer conversions are supported.
3689 Encoding with Uniform Resource Identifiers is supported by using a modified
3690 encoding table that uses only URI-compatible characters.")
3691 (license license:bsd-3))))
3692
3693 (define-public cl-base64
3694 (sbcl-package->cl-source-package sbcl-cl-base64))
3695
3696 (define-public ecl-cl-base64
3697 (sbcl-package->ecl-package sbcl-cl-base64))
3698
3699 (define-public sbcl-chunga
3700 (package
3701 (name "sbcl-chunga")
3702 (version "1.1.7")
3703 (source
3704 (origin
3705 (method git-fetch)
3706 (uri (git-reference
3707 (url "https://github.com/edicl/chunga")
3708 (commit (string-append "v" version))))
3709 (file-name (git-file-name name version))
3710 (sha256
3711 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
3712 (build-system asdf-build-system/sbcl)
3713 (inputs
3714 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3715 (home-page "https://edicl.github.io/chunga/")
3716 (synopsis "Portable chunked streams for Common Lisp")
3717 (description
3718 "Chunga implements streams capable of chunked encoding on demand as
3719 defined in RFC 2616.")
3720 (license license:bsd-2)))
3721
3722 (define-public cl-chunga
3723 (sbcl-package->cl-source-package sbcl-chunga))
3724
3725 (define-public ecl-chunga
3726 (sbcl-package->ecl-package sbcl-chunga))
3727
3728 (define-public sbcl-cl-who
3729 (let ((version "1.1.4")
3730 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
3731 (revision "1"))
3732 (package
3733 (name "sbcl-cl-who")
3734 (version (git-version version revision commit))
3735 (source
3736 (origin
3737 (method git-fetch)
3738 (uri (git-reference
3739 (url "https://github.com/edicl/cl-who")
3740 (commit commit)))
3741 (file-name (git-file-name name version))
3742 (sha256
3743 (base32
3744 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
3745 (build-system asdf-build-system/sbcl)
3746 (native-inputs
3747 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3748 (home-page "https://edicl.github.io/cl-who/")
3749 (synopsis "Yet another Lisp markup language")
3750 (description
3751 "There are plenty of Lisp Markup Languages out there - every Lisp
3752 programmer seems to write at least one during his career - and CL-WHO (where
3753 WHO means \"with-html-output\" for want of a better acronym) is probably just
3754 as good or bad as the next one.")
3755 (license license:bsd-2))))
3756
3757 (define-public cl-who
3758 (sbcl-package->cl-source-package sbcl-cl-who))
3759
3760 (define-public ecl-cl-who
3761 (sbcl-package->ecl-package sbcl-cl-who))
3762
3763 (define-public sbcl-chipz
3764 (let ((version "0.8")
3765 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
3766 (revision "1"))
3767 (package
3768 (name "sbcl-chipz")
3769 (version (git-version version revision commit))
3770 (source
3771 (origin
3772 (method git-fetch)
3773 (uri (git-reference
3774 (url "https://github.com/froydnj/chipz")
3775 (commit commit)))
3776 (file-name (git-file-name name version))
3777 (sha256
3778 (base32
3779 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
3780 (build-system asdf-build-system/sbcl)
3781 (native-inputs
3782 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3783 (home-page "http://method-combination.net/lisp/chipz/")
3784 (synopsis
3785 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
3786 data")
3787 (description
3788 "DEFLATE data, defined in RFC1951, forms the core of popular
3789 compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
3790 Chipz also provides for decompressing data in those formats as well. BZIP2 is
3791 the format used by the popular compression tool bzip2.")
3792 ;; The author describes it as "MIT-like"
3793 (license license:expat))))
3794
3795 (define-public cl-chipz
3796 (sbcl-package->cl-source-package sbcl-chipz))
3797
3798 (define-public ecl-chipz
3799 (sbcl-package->ecl-package sbcl-chipz))
3800
3801 (define-public sbcl-drakma
3802 (package
3803 (name "sbcl-drakma")
3804 (version "2.0.7")
3805 (source
3806 (origin
3807 (method git-fetch)
3808 (uri (git-reference
3809 (url "https://github.com/edicl/drakma")
3810 (commit (string-append "v" version))))
3811 (file-name (git-file-name name version))
3812 (sha256
3813 (base32
3814 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
3815 (build-system asdf-build-system/sbcl)
3816 (inputs
3817 `(("sbcl-puri" ,sbcl-puri)
3818 ("sbcl-cl-base64" ,sbcl-cl-base64)
3819 ("sbcl-chunga" ,sbcl-chunga)
3820 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3821 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3822 ("sbcl-chipz" ,sbcl-chipz)
3823 ("sbcl-usocket" ,sbcl-usocket)
3824 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
3825 (native-inputs
3826 `(("sbcl-fiveam" ,sbcl-fiveam)))
3827 (home-page "https://edicl.github.io/drakma/")
3828 (synopsis "HTTP client written in Common Lisp")
3829 (description
3830 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
3831 knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
3832 sockets, SSL, continuable uploads, file uploads, cookies, and more.")
3833 (license license:bsd-2)))
3834
3835 (define-public cl-drakma
3836 (sbcl-package->cl-source-package sbcl-drakma))
3837
3838 (define-public ecl-drakma
3839 (sbcl-package->ecl-package sbcl-drakma))
3840
3841 (define-public sbcl-hunchentoot
3842 (package
3843 (name "sbcl-hunchentoot")
3844 (version "1.2.38")
3845 (source
3846 (origin
3847 (method git-fetch)
3848 (uri (git-reference
3849 (url "https://github.com/edicl/hunchentoot")
3850 (commit (string-append "v" version))))
3851 (file-name (git-file-name "hunchentoot" version))
3852 (sha256
3853 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
3854 (build-system asdf-build-system/sbcl)
3855 (native-inputs
3856 `(("sbcl-cl-who" ,sbcl-cl-who)
3857 ("sbcl-drakma" ,sbcl-drakma)))
3858 (inputs
3859 `(("sbcl-chunga" ,sbcl-chunga)
3860 ("sbcl-cl-base64" ,sbcl-cl-base64)
3861 ("sbcl-cl-fad" ,sbcl-cl-fad)
3862 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3863 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3864 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
3865 ("sbcl-md5" ,sbcl-md5)
3866 ("sbcl-rfc2388" ,sbcl-rfc2388)
3867 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
3868 ("sbcl-usocket" ,sbcl-usocket)))
3869 (home-page "https://edicl.github.io/hunchentoot/")
3870 (synopsis "Web server written in Common Lisp")
3871 (description
3872 "Hunchentoot is a web server written in Common Lisp and at the same
3873 time a toolkit for building dynamic websites. As a stand-alone web server,
3874 Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
3875 connections (keep-alive), and SSL.")
3876 (license license:bsd-2)))
3877
3878 (define-public cl-hunchentoot
3879 (sbcl-package->cl-source-package sbcl-hunchentoot))
3880
3881 (define-public ecl-hunchentoot
3882 (package
3883 (inherit (sbcl-package->ecl-package sbcl-hunchentoot))
3884 (arguments
3885 ;; Tests fail on ECL with 'Socket error in "socket": EINVAL'.
3886 '(#:tests? #f))))
3887
3888 (define-public sbcl-trivial-types
3889 (package
3890 (name "sbcl-trivial-types")
3891 (version "0.0.1")
3892 (source
3893 (origin
3894 (method git-fetch)
3895 (uri (git-reference
3896 (url "https://github.com/m2ym/trivial-types")
3897 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
3898 (file-name (git-file-name name version))
3899 (sha256
3900 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
3901 (build-system asdf-build-system/sbcl)
3902 (home-page "https://github.com/m2ym/trivial-types")
3903 (synopsis "Trivial type definitions for Common Lisp")
3904 (description
3905 "TRIVIAL-TYPES provides missing but important type definitions such as
3906 PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
3907 (license license:llgpl)))
3908
3909 (define-public cl-trivial-types
3910 (sbcl-package->cl-source-package sbcl-trivial-types))
3911
3912 (define-public ecl-trivial-types
3913 (sbcl-package->ecl-package sbcl-trivial-types))
3914
3915 (define-public sbcl-cl-annot
3916 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
3917 (revision "1"))
3918 (package
3919 (name "sbcl-cl-annot")
3920 (version (git-version "0.0.0" revision commit))
3921 (source
3922 (origin
3923 (method git-fetch)
3924 (uri (git-reference
3925 (url "https://github.com/m2ym/cl-annot")
3926 (commit commit)))
3927 (file-name (git-file-name name version))
3928 (sha256
3929 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
3930 (build-system asdf-build-system/sbcl)
3931 (inputs
3932 `(("sbcl-alexandria" ,sbcl-alexandria)))
3933 (home-page "https://github.com/m2ym/cl-annot")
3934 (synopsis "Python-like Annotation Syntax for Common Lisp.")
3935 (description
3936 "@code{cl-annot} is an general annotation library for Common Lisp.")
3937 (license license:llgpl))))
3938
3939 (define-public cl-annot
3940 (sbcl-package->cl-source-package sbcl-cl-annot))
3941
3942 (define-public ecl-cl-annot
3943 (sbcl-package->ecl-package sbcl-cl-annot))
3944
3945 (define-public sbcl-cl-syntax
3946 (package
3947 (name "sbcl-cl-syntax")
3948 (version "0.0.3")
3949 (source
3950 (origin
3951 (method git-fetch)
3952 (uri (git-reference
3953 (url "https://github.com/m2ym/cl-syntax")
3954 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
3955 (file-name (git-file-name "cl-syntax" version))
3956 (sha256
3957 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
3958 (build-system asdf-build-system/sbcl)
3959 (inputs
3960 `(("cl-annot" ,sbcl-cl-annot)
3961 ("cl-interpol" ,sbcl-cl-interpol)
3962 ("named-readtables" ,sbcl-named-readtables)
3963 ("trivial-types" ,sbcl-trivial-types)))
3964 (arguments
3965 '(#:asd-systems '("cl-syntax"
3966 "cl-syntax-annot"
3967 "cl-syntax-interpol")))
3968 (home-page "https://github.com/m2ym/cl-syntax")
3969 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
3970 (description
3971 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
3972 (license license:llgpl)))
3973
3974 (define-public cl-syntax
3975 (sbcl-package->cl-source-package sbcl-cl-syntax))
3976
3977 (define-public ecl-cl-syntax
3978 (sbcl-package->ecl-package sbcl-cl-syntax))
3979
3980 (define-public sbcl-cl-utilities
3981 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
3982 (revision "1"))
3983 (package
3984 (name "sbcl-cl-utilities")
3985 (version (git-version "0.0.0" revision commit))
3986 (source
3987 (origin
3988 (method url-fetch)
3989 (uri
3990 (string-append
3991 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
3992 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
3993 (sha256
3994 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
3995 (build-system asdf-build-system/sbcl)
3996 (arguments
3997 '(#:phases
3998 (modify-phases %standard-phases
3999 (add-after 'unpack 'fix-paths
4000 (lambda* (#:key inputs #:allow-other-keys)
4001 (substitute* "rotate-byte.lisp"
4002 (("in-package :cl-utilities)" all)
4003 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
4004 (home-page "http://common-lisp.net/project/cl-utilities")
4005 (synopsis "A collection of semi-standard utilities")
4006 (description
4007 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
4008 is a collection of Common Lisp Utilities, things that everybody writes since
4009 they're not part of the official standard. There are some very useful things
4010 there; the only problems are that they aren't implemented as well as you'd
4011 like (some aren't implemented at all) and they aren't conveniently packaged
4012 and maintained. It takes quite a bit of work to carefully implement utilities
4013 for common use, commented and documented, with error checking placed
4014 everywhere some dumb user might make a mistake.")
4015 (license license:public-domain))))
4016
4017 (define-public cl-utilities
4018 (sbcl-package->cl-source-package sbcl-cl-utilities))
4019
4020 (define-public ecl-cl-utilities
4021 (sbcl-package->ecl-package sbcl-cl-utilities))
4022
4023 (define-public sbcl-map-set
4024 (let ((commit "7b4b545b68b8")
4025 (revision "1"))
4026 (package
4027 (name "sbcl-map-set")
4028 (version (git-version "0.0.0" revision commit))
4029 (source
4030 (origin
4031 (method url-fetch)
4032 (uri (string-append
4033 "https://bitbucket.org/tarballs_are_good/map-set/get/"
4034 commit ".tar.gz"))
4035 (sha256
4036 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
4037 (build-system asdf-build-system/sbcl)
4038 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
4039 (synopsis "Set-like data structure")
4040 (description
4041 "Implementation of a set-like data structure with constant time
4042 addition, removal, and random selection.")
4043 (license license:bsd-3))))
4044
4045 (define-public cl-map-set
4046 (sbcl-package->cl-source-package sbcl-map-set))
4047
4048 (define-public ecl-map-set
4049 (sbcl-package->ecl-package sbcl-map-set))
4050
4051 (define-public sbcl-quri
4052 (let ((commit "d7f2720568146c6674187f625f115925e6364a7f")
4053 (revision "4"))
4054 (package
4055 (name "sbcl-quri")
4056 (version (git-version "0.1.0" revision commit))
4057 (source
4058 (origin
4059 (method git-fetch)
4060 (uri (git-reference
4061 (url "https://github.com/fukamachi/quri")
4062 (commit commit)))
4063 (file-name (git-file-name name version))
4064 (sha256
4065 (base32 "0yrcvz5ksfr7x8yx741vp65il0fxxaskppq3iyk9bq895s1jn37w"))))
4066 (build-system asdf-build-system/sbcl)
4067 (arguments
4068 ;; Test system must be loaded before, otherwise tests fail with:
4069 ;; Component QURI-ASD::QURI-TEST not found, required by #<SYSTEM
4070 ;; "quri">.
4071 '(#:asd-systems '("quri-test"
4072 "quri")))
4073 (native-inputs `(("sbcl-prove" ,sbcl-prove)))
4074 (inputs `(("sbcl-babel" ,sbcl-babel)
4075 ("sbcl-split-sequence" ,sbcl-split-sequence)
4076 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
4077 ("sbcl-alexandria" ,sbcl-alexandria)))
4078 (home-page "https://github.com/fukamachi/quri")
4079 (synopsis "Yet another URI library for Common Lisp")
4080 (description
4081 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
4082 Lisp. It is intended to be a replacement of PURI.")
4083 (license license:bsd-3))))
4084
4085 (define-public cl-quri
4086 (sbcl-package->cl-source-package sbcl-quri))
4087
4088 (define-public ecl-quri
4089 (sbcl-package->ecl-package sbcl-quri))
4090
4091 (define-public sbcl-myway
4092 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
4093 (revision "1"))
4094 (package
4095 (name "sbcl-myway")
4096 (version (git-version "0.1.0" revision commit))
4097 (source
4098 (origin
4099 (method git-fetch)
4100 (uri (git-reference
4101 (url "https://github.com/fukamachi/myway")
4102 (commit commit)))
4103 (file-name (git-file-name "myway" version))
4104 (sha256
4105 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
4106 (build-system asdf-build-system/sbcl)
4107 (arguments
4108 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
4109 ;; by #<SYSTEM "myway">. Why?
4110 '(#:tests? #f))
4111 (native-inputs
4112 `(("sbcl-prove" ,sbcl-prove)))
4113 (inputs
4114 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4115 ("sbcl-quri" ,sbcl-quri)
4116 ("sbcl-map-set" ,sbcl-map-set)))
4117 (home-page "https://github.com/fukamachi/myway")
4118 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
4119 (description "My Way is a Sinatra-compatible URL routing library.")
4120 (license license:llgpl))))
4121
4122 (define-public cl-myway
4123 (sbcl-package->cl-source-package sbcl-myway))
4124
4125 (define-public ecl-myway
4126 (sbcl-package->ecl-package sbcl-myway))
4127
4128 (define-public sbcl-xsubseq
4129 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
4130 (revision "1"))
4131 (package
4132 (name "sbcl-xsubseq")
4133 (version (git-version "0.0.1" revision commit))
4134 (source
4135 (origin
4136 (method git-fetch)
4137 (uri (git-reference
4138 (url "https://github.com/fukamachi/xsubseq")
4139 (commit commit)))
4140 (file-name (git-file-name name version))
4141 (sha256
4142 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4143 (build-system asdf-build-system/sbcl)
4144 (arguments
4145 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4146 ;; required by #<SYSTEM "xsubseq">. Why?
4147 '(#:tests? #f))
4148 (native-inputs
4149 `(("sbcl-prove" ,sbcl-prove)))
4150 (home-page "https://github.com/fukamachi/xsubseq")
4151 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4152 (description
4153 "XSubseq provides functions to be able to handle \"subseq\"s more
4154 effieiently.")
4155 (license license:bsd-2))))
4156
4157 (define-public cl-xsubseq
4158 (sbcl-package->cl-source-package sbcl-xsubseq))
4159
4160 (define-public ecl-xsubseq
4161 (sbcl-package->ecl-package sbcl-xsubseq))
4162
4163 (define-public sbcl-smart-buffer
4164 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4165 (revision "1"))
4166 (package
4167 (name "sbcl-smart-buffer")
4168 (version (git-version "0.0.1" revision commit))
4169 (source
4170 (origin
4171 (method git-fetch)
4172 (uri (git-reference
4173 (url "https://github.com/fukamachi/smart-buffer")
4174 (commit commit)))
4175 (file-name (git-file-name name version))
4176 (sha256
4177 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4178 (build-system asdf-build-system/sbcl)
4179 (arguments
4180 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4181 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4182 `(#:tests? #f))
4183 (native-inputs
4184 `(("sbcl-prove" ,sbcl-prove)))
4185 (inputs
4186 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4187 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4188 (home-page "https://github.com/fukamachi/smart-buffer")
4189 (synopsis "Smart octets buffer")
4190 (description
4191 "Smart-buffer provides an output buffer which changes the destination
4192 depending on content size.")
4193 (license license:bsd-3))))
4194
4195 (define-public cl-smart-buffer
4196 (sbcl-package->cl-source-package sbcl-smart-buffer))
4197
4198 (define-public ecl-smart-buffer
4199 (sbcl-package->ecl-package sbcl-smart-buffer))
4200
4201 (define-public sbcl-fast-http
4202 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
4203 (revision "2"))
4204 (package
4205 (name "sbcl-fast-http")
4206 (version (git-version "0.2.0" revision commit))
4207 (source
4208 (origin
4209 (method git-fetch)
4210 (uri (git-reference
4211 (url "https://github.com/fukamachi/fast-http")
4212 (commit commit)))
4213 (file-name (git-file-name name version))
4214 (sha256
4215 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
4216 (build-system asdf-build-system/sbcl)
4217 (arguments
4218 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4219 ;; required by #<SYSTEM "fast-http">. Why?
4220 `(#:tests? #f))
4221 (native-inputs
4222 `(("sbcl-prove" ,sbcl-prove)
4223 ("cl-syntax" ,sbcl-cl-syntax)))
4224 (inputs
4225 `(("sbcl-alexandria" ,sbcl-alexandria)
4226 ("sbcl-proc-parse" ,sbcl-proc-parse)
4227 ("sbcl-xsubseq" ,sbcl-xsubseq)
4228 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4229 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4230 (home-page "https://github.com/fukamachi/fast-http")
4231 (synopsis "HTTP request/response parser for Common Lisp")
4232 (description
4233 "@code{fast-http} is a HTTP request/response protocol parser for Common
4234 Lisp.")
4235 ;; Author specified the MIT license
4236 (license license:expat))))
4237
4238 (define-public cl-fast-http
4239 (sbcl-package->cl-source-package sbcl-fast-http))
4240
4241 (define-public ecl-fast-http
4242 (sbcl-package->ecl-package sbcl-fast-http))
4243
4244 (define-public sbcl-static-vectors
4245 (package
4246 (name "sbcl-static-vectors")
4247 (version "1.8.6")
4248 (source
4249 (origin
4250 (method git-fetch)
4251 (uri (git-reference
4252 (url "https://github.com/sionescu/static-vectors")
4253 (commit (string-append "v" version))))
4254 (file-name (git-file-name name version))
4255 (sha256
4256 (base32 "01hwxzhyjkhsd3949g70120g7msw01byf0ia0pbj319q1a3cq7j9"))))
4257 (native-inputs
4258 `(("sbcl-fiveam" ,sbcl-fiveam)))
4259 (inputs
4260 `(("sbcl-alexandria" ,sbcl-alexandria)
4261 ("sbcl-cffi" ,sbcl-cffi)))
4262 (build-system asdf-build-system/sbcl)
4263 (home-page "https://github.com/sionescu/static-vectors")
4264 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4265 (description
4266 "With @code{static-vectors}, you can create vectors allocated in static
4267 memory.")
4268 (license license:expat)))
4269
4270 (define-public cl-static-vectors
4271 (sbcl-package->cl-source-package sbcl-static-vectors))
4272
4273 (define-public ecl-static-vectors
4274 (sbcl-package->ecl-package sbcl-static-vectors))
4275
4276 (define-public sbcl-marshal
4277 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4278 (revision "1"))
4279 (package
4280 (name "sbcl-marshal")
4281 (version (git-version "1.3.0" revision commit))
4282 (source
4283 (origin
4284 (method git-fetch)
4285 (uri (git-reference
4286 (url "https://github.com/wlbr/cl-marshal")
4287 (commit commit)))
4288 (file-name (git-file-name name version))
4289 (sha256
4290 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4291 (build-system asdf-build-system/sbcl)
4292 (home-page "https://github.com/wlbr/cl-marshal")
4293 (synopsis "Simple (de)serialization of Lisp datastructures")
4294 (description
4295 "Simple and fast marshalling of Lisp datastructures. Convert any object
4296 into a string representation, put it on a stream an revive it from there.
4297 Only minimal changes required to make your CLOS objects serializable.")
4298 (license license:expat))))
4299
4300 (define-public cl-marshal
4301 (sbcl-package->cl-source-package sbcl-marshal))
4302
4303 (define-public ecl-marshal
4304 (sbcl-package->ecl-package sbcl-marshal))
4305
4306 (define-public sbcl-checkl
4307 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4308 (revision "1"))
4309 (package
4310 (name "sbcl-checkl")
4311 (version (git-version "0.0.0" revision commit))
4312 (source
4313 (origin
4314 (method git-fetch)
4315 (uri (git-reference
4316 (url "https://github.com/rpav/CheckL")
4317 (commit commit)))
4318 (file-name (git-file-name name version))
4319 (sha256
4320 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4321 (build-system asdf-build-system/sbcl)
4322 (arguments
4323 ;; Error while trying to load definition for system checkl-test from
4324 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4325 ;; is undefined.
4326 '(#:asd-files '("checkl.asd")
4327 #:tests? #f))
4328 (native-inputs
4329 `(("sbcl-fiveam" ,sbcl-fiveam)))
4330 (inputs
4331 `(("sbcl-marshal" ,sbcl-marshal)))
4332 (home-page "https://github.com/rpav/CheckL/")
4333 (synopsis "Dynamic testing for Common Lisp")
4334 (description
4335 "CheckL lets you write tests dynamically, it checks resulting values
4336 against the last run.")
4337 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4338 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4339 ;; stronger of the two and so I think only listing this should suffice.
4340 (license license:llgpl))))
4341
4342 (define-public cl-checkl
4343 (sbcl-package->cl-source-package sbcl-checkl))
4344
4345 (define-public ecl-checkl
4346 (sbcl-package->ecl-package sbcl-checkl))
4347
4348 (define-public sbcl-fast-io
4349 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
4350 (revision "2"))
4351 (package
4352 (name "sbcl-fast-io")
4353 (version (git-version "1.0.0" revision commit))
4354 (source
4355 (origin
4356 (method git-fetch)
4357 (uri (git-reference
4358 (url "https://github.com/rpav/fast-io")
4359 (commit commit)))
4360 (file-name (git-file-name name version))
4361 (sha256
4362 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
4363 (build-system asdf-build-system/sbcl)
4364 (arguments
4365 ;; Error while trying to load definition for system fast-io-test from
4366 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4367 ;; is undefined.
4368 '(#:tests? #f
4369 #:asd-files '("fast-io.asd")))
4370 (native-inputs
4371 `(("sbcl-fiveam" ,sbcl-fiveam)
4372 ("sbcl-checkl" ,sbcl-checkl)))
4373 (inputs
4374 `(("sbcl-alexandria" ,sbcl-alexandria)
4375 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4376 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4377 (home-page "https://github.com/rpav/fast-io")
4378 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4379 (description
4380 "Fast-io is about improving performance to octet-vectors and octet
4381 streams (though primarily the former, while wrapping the latter).")
4382 ;; Author specifies this as NewBSD which is an alias
4383 (license license:bsd-3))))
4384
4385 (define-public cl-fast-io
4386 (sbcl-package->cl-source-package sbcl-fast-io))
4387
4388 (define-public ecl-fast-io
4389 (sbcl-package->ecl-package sbcl-fast-io))
4390
4391 (define-public sbcl-jonathan
4392 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4393 (revision "1"))
4394 (package
4395 (name "sbcl-jonathan")
4396 (version (git-version "0.1.0" revision commit))
4397 (source
4398 (origin
4399 (method git-fetch)
4400 (uri (git-reference
4401 (url "https://github.com/Rudolph-Miller/jonathan")
4402 (commit commit)))
4403 (file-name (git-file-name name version))
4404 (sha256
4405 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4406 (build-system asdf-build-system/sbcl)
4407 (arguments
4408 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4409 ;; required by #<SYSTEM "jonathan">. Why?
4410 `(#:tests? #f))
4411 (native-inputs
4412 `(("sbcl-prove" ,sbcl-prove)))
4413 (inputs
4414 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4415 ("sbcl-fast-io" ,sbcl-fast-io)
4416 ("sbcl-proc-parse" ,sbcl-proc-parse)
4417 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
4418 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
4419 (synopsis "JSON encoder and decoder")
4420 (description
4421 "High performance JSON encoder and decoder. Currently support: SBCL,
4422 CCL.")
4423 ;; Author specifies the MIT license
4424 (license license:expat))))
4425
4426 (define-public cl-jonathan
4427 (sbcl-package->cl-source-package sbcl-jonathan))
4428
4429 (define-public ecl-jonathan
4430 (sbcl-package->ecl-package sbcl-jonathan))
4431
4432 (define-public sbcl-http-body
4433 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4434 (revision "1"))
4435 (package
4436 (name "sbcl-http-body")
4437 (version (git-version "0.1.0" revision commit))
4438 (source
4439 (origin
4440 (method git-fetch)
4441 (uri (git-reference
4442 (url "https://github.com/fukamachi/http-body")
4443 (commit commit)))
4444 (file-name (git-file-name name version))
4445 (sha256
4446 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4447 (build-system asdf-build-system/sbcl)
4448 (arguments
4449 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4450 ;; found, required by #<SYSTEM "http-body">. Why?
4451 `(#:tests? #f))
4452 (native-inputs
4453 `(("sbcl-prove" ,sbcl-prove)))
4454 (inputs
4455 `(("sbcl-fast-http" ,sbcl-fast-http)
4456 ("sbcl-jonathan" ,sbcl-jonathan)
4457 ("sbcl-quri" ,sbcl-quri)))
4458 (home-page "https://github.com/fukamachi/http-body")
4459 (synopsis "HTTP POST data parser")
4460 (description
4461 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4462 supports application/x-www-form-urlencoded, application/json, and
4463 multipart/form-data.")
4464 (license license:bsd-2))))
4465
4466 (define-public cl-http-body
4467 (sbcl-package->cl-source-package sbcl-http-body))
4468
4469 (define-public ecl-http-body
4470 (sbcl-package->ecl-package sbcl-http-body))
4471
4472 (define-public sbcl-circular-streams
4473 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4474 (revision "1"))
4475 (package
4476 (name "sbcl-circular-streams")
4477 (version (git-version "0.1.0" revision commit))
4478 (source
4479 (origin
4480 (method git-fetch)
4481 (uri (git-reference
4482 (url "https://github.com/fukamachi/circular-streams")
4483 (commit commit)))
4484 (file-name (git-file-name name version))
4485 (sha256
4486 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4487 (build-system asdf-build-system/sbcl)
4488 (arguments
4489 ;; The tests depend on cl-test-more which is now prove. Prove
4490 ;; tests aren't working for some reason.
4491 `(#:tests? #f))
4492 (inputs
4493 `(("sbcl-fast-io" ,sbcl-fast-io)
4494 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4495 (home-page "https://github.com/fukamachi/circular-streams")
4496 (synopsis "Circularly readable streams for Common Lisp")
4497 (description
4498 "Circular-Streams allows you to read streams circularly by wrapping real
4499 streams. Once you reach end-of-file of a stream, it's file position will be
4500 reset to 0 and you're able to read it again.")
4501 (license license:llgpl))))
4502
4503 (define-public cl-circular-streams
4504 (sbcl-package->cl-source-package sbcl-circular-streams))
4505
4506 (define-public ecl-circular-streams
4507 (sbcl-package->ecl-package sbcl-circular-streams))
4508
4509 (define-public sbcl-lack
4510 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4511 (revision "1"))
4512 (package
4513 (name "sbcl-lack")
4514 (version (git-version "0.1.0" revision commit))
4515 (source
4516 (origin
4517 (method git-fetch)
4518 (uri (git-reference
4519 (url "https://github.com/fukamachi/lack")
4520 (commit commit)))
4521 (file-name (git-file-name "lack" version))
4522 (sha256
4523 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4524 (build-system asdf-build-system/sbcl)
4525 (native-inputs
4526 `(("prove" ,sbcl-prove)))
4527 (inputs
4528 `(("circular-streams" ,sbcl-circular-streams)
4529 ("http-body" ,sbcl-http-body)
4530 ("ironclad" ,sbcl-ironclad)
4531 ("local-time" ,sbcl-local-time)
4532 ("quri" ,sbcl-quri)
4533 ("trivial-mimes" ,sbcl-trivial-mimes)))
4534 (arguments
4535 '(#:asd-systems '("lack"
4536 "lack-request"
4537 "lack-response"
4538 "lack-component"
4539 "lack-util"
4540 "lack-middleware-backtrace"
4541 "lack-middleware-static")
4542 #:test-asd-file "t-lack.asd"
4543 ;; XXX: Component :CLACK not found
4544 #:tests? #f))
4545 (home-page "https://github.com/fukamachi/lack")
4546 (synopsis "Lack, the core of Clack")
4547 (description
4548 "Lack is a Common Lisp library which allows web applications to be
4549 constructed of modular components. It was originally a part of Clack, however
4550 it's going to be rewritten as an individual project since Clack v2 with
4551 performance and simplicity in mind.")
4552 (license license:llgpl))))
4553
4554 (define-public cl-lack
4555 (sbcl-package->cl-source-package sbcl-lack))
4556
4557 (define-public ecl-lack
4558 (sbcl-package->ecl-package sbcl-lack))
4559
4560 (define-public sbcl-local-time
4561 (let ((commit "a177eb911c0e8116e2bfceb79049265a884b701b")
4562 (revision "2"))
4563 (package
4564 (name "sbcl-local-time")
4565 (version (git-version "1.0.6" revision commit))
4566 (source
4567 (origin
4568 (method git-fetch)
4569 (uri (git-reference
4570 (url "https://github.com/dlowe-net/local-time")
4571 (commit commit)))
4572 (file-name (git-file-name name version))
4573 (sha256
4574 (base32 "0wld28xx20k0ysgg6akic5lg4vkjd0iyhv86m388xfrv8xh87wii"))))
4575 (build-system asdf-build-system/sbcl)
4576 (native-inputs
4577 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
4578 (home-page "https://common-lisp.net/project/local-time/")
4579 (synopsis "Time manipulation library for Common Lisp")
4580 (description
4581 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4582 dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4583 Long Painful History of Time\".")
4584 (license license:expat))))
4585
4586 (define-public cl-local-time
4587 (sbcl-package->cl-source-package sbcl-local-time))
4588
4589 (define-public ecl-local-time
4590 (sbcl-package->ecl-package sbcl-local-time))
4591
4592 (define-public sbcl-trivial-mimes
4593 (let ((commit "a741fc2f567a4f86b853fd4677d75e62c03e51d9")
4594 (revision "2"))
4595 (package
4596 (name "sbcl-trivial-mimes")
4597 (version (git-version "1.1.0" revision commit))
4598 (source
4599 (origin
4600 (method git-fetch)
4601 (uri (git-reference
4602 (url "https://github.com/Shinmera/trivial-mimes")
4603 (commit commit)))
4604 (file-name (git-file-name name version))
4605 (sha256
4606 (base32 "00kcm17q5plpzdj1qwg83ldhxksilgpcdkf3m9azxcdr968xs9di"))))
4607 (build-system asdf-build-system/sbcl)
4608 (native-inputs
4609 `(("stefil" ,sbcl-hu.dwim.stefil)))
4610 (inputs
4611 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4612 (home-page "https://shinmera.github.io/trivial-mimes/")
4613 (synopsis "Tiny Common Lisp library to detect mime types in files")
4614 (description
4615 "This is a teensy library that provides some functions to determine the
4616 mime-type of a file.")
4617 (license license:zlib))))
4618
4619 (define-public cl-trivial-mimes
4620 (sbcl-package->cl-source-package sbcl-trivial-mimes))
4621
4622 (define-public ecl-trivial-mimes
4623 (sbcl-package->ecl-package sbcl-trivial-mimes))
4624
4625 (define-public sbcl-ningle
4626 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
4627 (revision "1"))
4628 (package
4629 (name "sbcl-ningle")
4630 (version (git-version "0.3.0" revision commit))
4631 (source
4632 (origin
4633 (method git-fetch)
4634 (uri (git-reference
4635 (url "https://github.com/fukamachi/ningle")
4636 (commit commit)))
4637 (file-name (git-file-name name version))
4638 (sha256
4639 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
4640 (build-system asdf-build-system/sbcl)
4641 (arguments
4642 ;; TODO: pull in clack-test
4643 '(#:tests? #f
4644 #:phases
4645 (modify-phases %standard-phases
4646 (delete 'cleanup-files)
4647 (delete 'cleanup)
4648 (add-before 'cleanup 'combine-fasls
4649 (lambda* (#:key outputs #:allow-other-keys)
4650 (let* ((out (assoc-ref outputs "out"))
4651 (lib (string-append out "/lib/sbcl"))
4652 (ningle-path (string-append lib "/ningle"))
4653 (fasl-files (find-files out "\\.fasl$")))
4654 (mkdir-p ningle-path)
4655 (let ((fasl-path (lambda (name)
4656 (string-append ningle-path
4657 "/"
4658 (basename name)
4659 "--system.fasl"))))
4660 (for-each (lambda (file)
4661 (rename-file file
4662 (fasl-path
4663 (basename file ".fasl"))))
4664 fasl-files))
4665 fasl-files)
4666 #t)))))
4667 (native-inputs
4668 `(("sbcl-prove" ,sbcl-prove)))
4669 (inputs
4670 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4671 ("sbcl-myway" ,sbcl-myway)
4672 ("sbcl-lack" ,sbcl-lack)
4673 ("sbcl-alexandria" ,sbcl-alexandria)
4674 ("sbcl-babel" ,sbcl-babel)))
4675 (home-page "https://8arrow.org/ningle/")
4676 (synopsis "Super micro framework for Common Lisp")
4677 (description
4678 "Ningle is a lightweight web application framework for Common Lisp.")
4679 (license license:llgpl))))
4680
4681 (define-public cl-ningle
4682 (sbcl-package->cl-source-package sbcl-ningle))
4683
4684 (define-public ecl-ningle
4685 (sbcl-package->ecl-package sbcl-ningle))
4686
4687 (define-public sbcl-cl-fastcgi
4688 (let ((commit "de8b49b26de9863996ec18db28af8ab7e8ac4e20")
4689 (revision "2"))
4690 (package
4691 (name "sbcl-cl-fastcgi")
4692 (version (git-version "0.2" revision commit))
4693 (source
4694 (origin
4695 (method git-fetch)
4696 (uri (git-reference
4697 (url "https://github.com/KDr2/cl-fastcgi/")
4698 (commit commit)))
4699 (file-name (git-file-name name version))
4700 (sha256
4701 (base32 "0xgmhx766q4nmrvn5z7ag3ikpr9phlh8ypi8b14azshq9lqbq0m7"))))
4702 (build-system asdf-build-system/sbcl)
4703 (inputs
4704 `(("usocket" ,sbcl-usocket)
4705 ("cffi" ,sbcl-cffi)
4706 ("fcgi" ,fcgi)))
4707 (arguments
4708 `(#:phases
4709 (modify-phases %standard-phases
4710 (add-after 'unpack 'fix-paths
4711 (lambda* (#:key inputs #:allow-other-keys)
4712 (substitute* "cl-fastcgi.lisp"
4713 (("\"libfcgi.so\"")
4714 (string-append
4715 "\""
4716 (assoc-ref inputs "fcgi") "/lib/libfcgi.so\""))))))))
4717 (home-page "https://kdr2.com/project/cl-fastcgi.html")
4718 (synopsis "FastCGI wrapper for Common Lisp")
4719 (description
4720 "CL-FastCGI is a generic version of SB-FastCGI, targeting to run on
4721 mostly Common Lisp implementation.")
4722 (license license:bsd-2))))
4723
4724 (define-public cl-fastcgi
4725 (sbcl-package->cl-source-package sbcl-cl-fastcgi))
4726
4727 (define-public ecl-cl-fastcgi
4728 (sbcl-package->ecl-package sbcl-cl-fastcgi))
4729
4730 (define-public sbcl-clack
4731 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
4732 (revision "1"))
4733 (package
4734 (name "sbcl-clack")
4735 (version (git-version "2.0.0" revision commit))
4736 (source
4737 (origin
4738 (method git-fetch)
4739 (uri (git-reference
4740 (url "https://github.com/fukamachi/clack")
4741 (commit commit)))
4742 (file-name (git-file-name name version))
4743 (sha256
4744 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
4745 (build-system asdf-build-system/sbcl)
4746 (inputs
4747 `(("alexandria" ,sbcl-alexandria)
4748 ("bordeaux-threads" ,sbcl-bordeaux-threads)
4749 ("cl-fastcgi" ,sbcl-cl-fastcgi)
4750 ("flexi-streams" ,sbcl-flexi-streams)
4751 ("hunchentoot" ,sbcl-hunchentoot)
4752 ("lack" ,sbcl-lack)
4753 ("split-sequence" ,sbcl-split-sequence)
4754 ("usocket" ,sbcl-usocket)
4755 ("quri" ,sbcl-quri)))
4756 (arguments
4757 '(#:asd-systems '("clack"
4758 "clack-handler-fcgi"
4759 "clack-socket"
4760 "clack-handler-hunchentoot")))
4761 (home-page "https://github.com/fukamachi/clack")
4762 (synopsis "Web Application Environment for Common Lisp")
4763 (description
4764 "Clack is a web application environment for Common Lisp inspired by
4765 Python's WSGI and Ruby's Rack.")
4766 (license license:llgpl))))
4767
4768 (define-public cl-clack
4769 (sbcl-package->cl-source-package sbcl-clack))
4770
4771 (define-public ecl-clack
4772 (sbcl-package->ecl-package sbcl-clack))
4773
4774 (define-public sbcl-cl-log
4775 (let ((commit "8f4b766d51e02245c310526cf1e4534ce634f837")
4776 (revision "1"))
4777 (package
4778 (name "sbcl-cl-log")
4779 (version "1.0.1")
4780 (source
4781 (origin
4782 (method git-fetch)
4783 (uri (git-reference
4784 (url "https://github.com/nicklevine/cl-log")
4785 (commit commit)))
4786 (sha256
4787 (base32 "1r3z9swy1b59swvaa5b97is9ysrfmjvjjhhw56p7p5hqg93b92ak"))
4788 (file-name (git-file-name "cl-log" version))))
4789 (build-system asdf-build-system/sbcl)
4790 (synopsis "Common Lisp general purpose logging utility")
4791 (description "CL-LOG is a general purpose logging utility, loosely modelled
4792 in some respects after Gary King's Log5. Its features include: logging to
4793 several destinations at once, via \"messengers\", each messenger is tailored to
4794 accept some log messages and reject others, and this tailoring can be changed
4795 on-the-fly, very rapid processing of messages which are rejected by all
4796 messengers, fully independent use of the utility by several different
4797 sub-systems in an application, support for messengers which cl:format text to a
4798 stream, support for messengers which do not invoke cl:format, timestamps in
4799 theory accurate to internal-time-units-per-second.")
4800 (home-page "https://github.com/nicklevine/cl-log")
4801 (license license:expat))))
4802
4803 (define-public cl-log
4804 (sbcl-package->cl-source-package sbcl-cl-log))
4805
4806 (define-public ecl-cl-log
4807 (sbcl-package->ecl-package sbcl-cl-log))
4808
4809 (define-public sbcl-log4cl
4810 (let ((commit "8c48d6f41d3a1475d0a91eed0638b9eecc398e35")
4811 (revision "1"))
4812 (package
4813 (name "sbcl-log4cl")
4814 (version (git-version "1.1.3" revision commit))
4815 (source
4816 (origin
4817 (method git-fetch)
4818 (uri (git-reference
4819 (url "https://github.com/sharplispers/log4cl")
4820 (commit commit)))
4821 (file-name (git-file-name "log4cl" version))
4822 (sha256
4823 (base32 "0166d9aip366pbpdk5gsi2f6xad6q61lssxgbrypa8zslwjn8736"))))
4824 (build-system asdf-build-system/sbcl)
4825 (native-inputs
4826 `(("stefil" ,sbcl-stefil)))
4827 (inputs
4828 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
4829 (home-page "https://github.com/7max/log4cl")
4830 (synopsis "Common Lisp logging framework, modeled after Log4J")
4831 (description
4832 "This is a Common Lisp logging framework that can log at various levels
4833 and mix text with expressions.")
4834 (license license:asl2.0))))
4835
4836 (define-public cl-log4cl
4837 (sbcl-package->cl-source-package sbcl-log4cl))
4838
4839 (define-public ecl-log4cl
4840 (sbcl-package->ecl-package sbcl-log4cl))
4841
4842 (define-public sbcl-printv
4843 (let ((commit "646d31978dbbb460fffb160fd65bb2be9a5a434e")
4844 (revision "1"))
4845 (package
4846 (name "sbcl-printv")
4847 (version (git-version "0.1.0" revision commit))
4848 (source
4849 (origin
4850 (method git-fetch)
4851 (uri (git-reference
4852 (url "https://github.com/danlentz/printv")
4853 (commit commit)))
4854 (file-name (git-file-name "printv" version))
4855 (sha256
4856 (base32 "08jvy82abm7qi3wrxh6gvmwg9gy0zzhg4cfqajdwrggbah8mj5a6"))))
4857 (build-system asdf-build-system/sbcl)
4858 (home-page "https://github.com/danlentz/printv")
4859 (synopsis "Common Lisp tracing and debug-logging macro")
4860 (description
4861 "@code{PRINTV} is a \"batteries-included\" tracing and debug-logging
4862 macro for Common Lisp.")
4863 (license license:asl2.0))))
4864
4865 (define-public ecl-printv
4866 (sbcl-package->ecl-package sbcl-printv))
4867
4868 (define-public cl-printv
4869 (sbcl-package->cl-source-package sbcl-printv))
4870
4871 (define-public sbcl-verbose
4872 (let ((commit "c5b7ecd465be61b35af17ef57564697b88397174")
4873 (revision "1"))
4874 (package
4875 (name "sbcl-verbose")
4876 (version (git-version "2.0.0" revision commit))
4877 (source
4878 (origin
4879 (method git-fetch)
4880 (uri (git-reference
4881 (url "https://github.com/Shinmera/verbose/")
4882 (commit commit)))
4883 (file-name (git-file-name "verbose" version))
4884 (sha256
4885 (base32 "0r51ydj5v7afi2jrlscbhxprv13d9vzg5316g1yzwaxc1kzsdsw6"))))
4886 (build-system asdf-build-system/sbcl)
4887 (inputs
4888 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
4889 ("dissect" ,sbcl-dissect)
4890 ("documentation-utils" ,sbcl-documentation-utils)
4891 ("local-time" ,sbcl-local-time)
4892 ("piping" ,sbcl-piping)))
4893 (home-page "https://shinmera.github.io/verbose/")
4894 (synopsis "Logging framework using the piping library")
4895 (description
4896 "This is a Common Lisp library providing logging faciltiy similar to
4897 @code{CL-LOG} and @code{LOG4CL}.")
4898 (license license:zlib))))
4899
4900 (define-public ecl-verbose
4901 (sbcl-package->ecl-package sbcl-verbose))
4902
4903 (define-public cl-verbose
4904 (sbcl-package->cl-source-package sbcl-verbose))
4905
4906 (define-public sbcl-find-port
4907 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
4908 (revision "1"))
4909 (package
4910 (name "sbcl-find-port")
4911 (build-system asdf-build-system/sbcl)
4912 (version "0.1")
4913 (home-page "https://github.com/eudoxia0/find-port")
4914 (source
4915 (origin
4916 (method git-fetch)
4917 (uri (git-reference
4918 (url home-page)
4919 (commit commit)))
4920 (file-name (git-file-name name version))
4921 (sha256
4922 (base32
4923 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
4924 (native-inputs
4925 `(("fiveam" ,sbcl-fiveam)))
4926 (inputs
4927 `(("sbcl-usocket" ,sbcl-usocket)))
4928 (synopsis "Find open ports programmatically in Common Lisp")
4929 (description "This is a small Common Lisp library that finds an open
4930 port within a range.")
4931 (license license:expat))))
4932
4933 (define-public cl-find-port
4934 (sbcl-package->cl-source-package sbcl-find-port))
4935
4936 (define-public ecl-find-port
4937 (sbcl-package->ecl-package sbcl-find-port))
4938
4939 (define-public sbcl-clunit
4940 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
4941 (revision "1"))
4942 (package
4943 (name "sbcl-clunit")
4944 (version (git-version "0.2.3" revision commit))
4945 (source
4946 (origin
4947 (method git-fetch)
4948 (uri (git-reference
4949 (url "https://github.com/tgutu/clunit")
4950 (commit commit)))
4951 (file-name (git-file-name name version))
4952 (sha256
4953 (base32
4954 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
4955 (build-system asdf-build-system/sbcl)
4956 (synopsis "CLUnit is a Common Lisp unit testing framework")
4957 (description
4958 "CLUnit is a Common Lisp unit testing framework. It is designed
4959 to be easy to use so that you can quickly start testing. CLUnit
4960 provides a rich set of features aimed at improving your unit testing
4961 experience.")
4962 (home-page "https://tgutu.github.io/clunit/")
4963 ;; MIT License
4964 (license license:expat))))
4965
4966 (define-public cl-clunit
4967 (sbcl-package->cl-source-package sbcl-clunit))
4968
4969 (define-public ecl-clunit
4970 (sbcl-package->ecl-package sbcl-clunit))
4971
4972 (define-public sbcl-py4cl
4973 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
4974 (revision "1"))
4975 (package
4976 (name "sbcl-py4cl")
4977 (version (git-version "0.0.0" revision commit))
4978 (source
4979 (origin
4980 (method git-fetch)
4981 (uri (git-reference
4982 (url "https://github.com/bendudson/py4cl")
4983 (commit commit)))
4984 (file-name (git-file-name name version))
4985 (sha256
4986 (base32
4987 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
4988 (modules '((guix build utils)))))
4989 (build-system asdf-build-system/sbcl)
4990 (native-inputs
4991 `(("sbcl-clunit" ,sbcl-clunit)))
4992 (inputs
4993 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
4994 (propagated-inputs
4995 ;; This package doesn't do anything without python available
4996 `(("python" ,python)
4997 ;; For multi-dimensional array support
4998 ("python-numpy" ,python-numpy)))
4999 (arguments
5000 '(#:phases
5001 (modify-phases %standard-phases
5002 (add-after 'unpack 'replace-*base-directory*-var
5003 (lambda* (#:key outputs #:allow-other-keys)
5004 ;; In the ASD, the author makes an attempt to
5005 ;; programatically determine the location of the
5006 ;; source-code so lisp can call into "py4cl.py". We can
5007 ;; hard-code this since we know where this file will
5008 ;; reside.
5009 (substitute* "src/callpython.lisp"
5010 (("py4cl/config:\\*base-directory\\*")
5011 (string-append
5012 "\""
5013 (assoc-ref outputs "out")
5014 "/share/common-lisp/sbcl-source/py4cl/"
5015 "\""))))))))
5016 (synopsis "Call python from Common Lisp")
5017 (description
5018 "Py4CL is a bridge between Common Lisp and Python, which enables Common
5019 Lisp to interact with Python code. It uses streams to communicate with a
5020 separate python process, the approach taken by cl4py. This is different to
5021 the CFFI approach used by burgled-batteries, but has the same goal.")
5022 (home-page "https://github.com/bendudson/py4cl")
5023 ;; MIT License
5024 (license license:expat))))
5025
5026 (define-public cl-py4cl
5027 (sbcl-package->cl-source-package sbcl-py4cl))
5028
5029 (define-public ecl-py4cl
5030 (sbcl-package->ecl-package sbcl-py4cl))
5031
5032 (define-public sbcl-parse-declarations
5033 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
5034 (revision "1"))
5035 (package
5036 (name "sbcl-parse-declarations")
5037 (version (git-version "1.0.0" revision commit))
5038 (source
5039 (origin
5040 (method git-fetch)
5041 (uri (git-reference
5042 (url (string-append
5043 "https://gitlab.common-lisp.net/parse-declarations/"
5044 "parse-declarations.git"))
5045 (commit commit)))
5046 (file-name (git-file-name name version))
5047 (sha256
5048 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
5049 (build-system asdf-build-system/sbcl)
5050 (arguments
5051 `(#:asd-systems '("parse-declarations-1.0")))
5052 (home-page "https://common-lisp.net/project/parse-declarations/")
5053 (synopsis "Parse, filter, and build declarations")
5054 (description
5055 "Parse-Declarations is a Common Lisp library to help writing
5056 macros which establish bindings. To be semantically correct, such
5057 macros must take user declarations into account, as these may affect
5058 the bindings they establish. Yet the ANSI standard of Common Lisp does
5059 not provide any operators to work with declarations in a convenient,
5060 high-level way. This library provides such operators.")
5061 ;; MIT License
5062 (license license:expat))))
5063
5064 (define-public cl-parse-declarations
5065 (sbcl-package->cl-source-package sbcl-parse-declarations))
5066
5067 (define-public ecl-parse-declarations
5068 (sbcl-package->ecl-package sbcl-parse-declarations))
5069
5070 (define-public sbcl-cl-quickcheck
5071 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5072 (revision "1"))
5073 (package
5074 (name "sbcl-cl-quickcheck")
5075 (version (git-version "0.0.4" revision commit))
5076 (source
5077 (origin
5078 (method git-fetch)
5079 (uri (git-reference
5080 (url "https://github.com/mcandre/cl-quickcheck")
5081 (commit commit)))
5082 (file-name (git-file-name name version))
5083 (sha256
5084 (base32
5085 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5086 (build-system asdf-build-system/sbcl)
5087 (synopsis
5088 "Common Lisp port of the QuickCheck unit test framework")
5089 (description
5090 "Common Lisp port of the QuickCheck unit test framework")
5091 (home-page "https://github.com/mcandre/cl-quickcheck")
5092 ;; MIT
5093 (license license:expat))))
5094
5095 (define-public cl-quickcheck
5096 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5097
5098 (define-public ecl-cl-quickcheck
5099 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5100
5101 (define-public sbcl-burgled-batteries3
5102 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
5103 (revision "2"))
5104 (package
5105 (name "sbcl-burgled-batteries3")
5106 (version (git-version "0.0.0" revision commit))
5107 (source
5108 (origin
5109 (method git-fetch)
5110 (uri (git-reference
5111 (url "https://github.com/snmsts/burgled-batteries3")
5112 (commit commit)))
5113 (file-name (git-file-name name version))
5114 (sha256
5115 (base32
5116 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
5117 (build-system asdf-build-system/sbcl)
5118 (arguments
5119 `(#:tests? #f
5120 #:modules (((guix build python-build-system) #:select (python-version))
5121 ,@%asdf-build-system-modules)
5122 #:imported-modules ((guix build python-build-system)
5123 ,@%asdf-build-system-modules)
5124 #:phases
5125 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
5126 (add-after 'unpack 'set-*cpython-include-dir*-var
5127 (lambda* (#:key inputs #:allow-other-keys)
5128 (let ((python (assoc-ref inputs "python")))
5129 (setenv "BB_PYTHON3_INCLUDE_DIR"
5130 (string-append python "/include/python"
5131 (python-version python)))
5132 (setenv "BB_PYTHON3_DYLIB"
5133 (string-append python "/lib/libpython3.so"))
5134 #t)))
5135 (add-after 'unpack 'adjust-for-python-3.8
5136 (lambda _
5137 ;; This method is no longer part of the public API.
5138 (substitute* "ffi-interface.lisp"
5139 ((".*PyEval_ReInitThreads.*")
5140 ""))
5141 #t)))))
5142 (native-inputs
5143 `(("sbcl-cl-fad" ,sbcl-cl-fad)
5144 ("sbcl-lift" ,sbcl-lift)
5145 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5146 (inputs
5147 `(("python" ,python)
5148 ("sbcl-cffi" ,sbcl-cffi)
5149 ("sbcl-alexandria" , sbcl-alexandria)
5150 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5151 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5152 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5153 (description
5154 "This package provides a shim between Python3 (specifically, the
5155 CPython implementation of Python) and Common Lisp.")
5156 (home-page "https://github.com/snmsts/burgled-batteries3")
5157 (license license:expat))))
5158
5159 (define-public cl-burgled-batteries3
5160 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5161
5162 (define-public ecl-burgled-batteries3
5163 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5164
5165 (define-public sbcl-metabang-bind
5166 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5167 (revision "1"))
5168 (package
5169 (name "sbcl-metabang-bind")
5170 (version (git-version "0.8.0" revision commit))
5171 (source
5172 (origin
5173 (method git-fetch)
5174 (uri (git-reference
5175 (url "https://github.com/gwkkwg/metabang-bind")
5176 (commit commit)))
5177 (file-name (git-file-name name version))
5178 (sha256
5179 (base32
5180 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5181 (build-system asdf-build-system/sbcl)
5182 (native-inputs
5183 `(("sbcl-lift" ,sbcl-lift)))
5184 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5185 (description
5186 "Bind extends the idea of of let and destructing to provide a uniform
5187 syntax for all your accessor needs. It combines @code{let},
5188 @code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5189 editing, property or association-lists, and @code{multiple-value-bind} and a
5190 whole lot more into a single form.")
5191 (home-page "https://common-lisp.net/project/metabang-bind/")
5192 ;; MIT License
5193 (license license:expat))))
5194
5195 (define-public cl-metabang-bind
5196 (sbcl-package->cl-source-package sbcl-metabang-bind))
5197
5198 (define-public ecl-metabang-bind
5199 (sbcl-package->ecl-package sbcl-metabang-bind))
5200
5201 (define-public sbcl-fare-utils
5202 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5203 (revision "1"))
5204 (package
5205 (name "sbcl-fare-utils")
5206 (version (git-version "1.0.0.5" revision commit))
5207 (source
5208 (origin
5209 (method git-fetch)
5210 (uri
5211 (git-reference
5212 (url
5213 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5214 (commit commit)))
5215 (file-name (git-file-name name version))
5216 (sha256
5217 (base32
5218 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5219 (build-system asdf-build-system/sbcl)
5220 (arguments
5221 `(#:test-asd-file "test/fare-utils-test.asd"))
5222 (native-inputs
5223 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5224 (synopsis "Collection of utilities and data structures")
5225 (description
5226 "fare-utils is a small collection of utilities. It contains a lot of
5227 basic everyday functions and macros.")
5228 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5229 ;; MIT License
5230 (license license:expat))))
5231
5232 (define-public cl-fare-utils
5233 (sbcl-package->cl-source-package sbcl-fare-utils))
5234
5235 (define-public ecl-fare-utils
5236 (sbcl-package->ecl-package sbcl-fare-utils))
5237
5238 (define-public sbcl-trivial-utf-8
5239 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5240 (revision "1"))
5241 (package
5242 (name "sbcl-trivial-utf-8")
5243 (version (git-version "0.0.0" revision commit))
5244 (source
5245 (origin
5246 (method git-fetch)
5247 (uri
5248 (git-reference
5249 (url (string-append "https://gitlab.common-lisp.net/"
5250 "trivial-utf-8/trivial-utf-8.git"))
5251 (commit commit)))
5252 (file-name (git-file-name name version))
5253 (sha256
5254 (base32
5255 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5256 (arguments
5257 ;; Guix incorrectly assumes the "8" is part of the version
5258 ;; number and lobs it off.
5259 `(#:asd-systems '("trivial-utf-8")))
5260 (build-system asdf-build-system/sbcl)
5261 (synopsis "UTF-8 input/output library")
5262 (description
5263 "The Babel library solves a similar problem while understanding more
5264 encodings. Trivial UTF-8 was written before Babel existed, but for new
5265 projects you might be better off going with Babel. The one plus that Trivial
5266 UTF-8 has is that it doesn't depend on any other libraries.")
5267 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5268 (license license:bsd-3))))
5269
5270 (define-public cl-trivial-utf-8
5271 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5272
5273 (define-public ecl-trivial-utf-8
5274 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5275
5276 (define-public sbcl-idna
5277 (package
5278 (name "sbcl-idna")
5279 (build-system asdf-build-system/sbcl)
5280 (version "0.2.2")
5281 (home-page "https://github.com/antifuchs/idna")
5282 (source
5283 (origin
5284 (method git-fetch)
5285 (uri (git-reference
5286 (url home-page)
5287 (commit version)))
5288 (file-name (git-file-name name version))
5289 (sha256
5290 (base32
5291 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5292 (inputs
5293 `(("split-sequence" ,sbcl-split-sequence)))
5294 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5295 (description "This Common Lisp library provides string encoding and
5296 decoding routines for IDNA, the International Domain Names in Applications.")
5297 (license license:expat)))
5298
5299 (define-public cl-idna
5300 (sbcl-package->cl-source-package sbcl-idna))
5301
5302 (define-public ecl-idna
5303 (sbcl-package->ecl-package sbcl-idna))
5304
5305 (define-public sbcl-swap-bytes
5306 (package
5307 (name "sbcl-swap-bytes")
5308 (build-system asdf-build-system/sbcl)
5309 (version "1.2")
5310 (home-page "https://github.com/sionescu/swap-bytes")
5311 (source
5312 (origin
5313 (method git-fetch)
5314 (uri (git-reference
5315 (url home-page)
5316 (commit (string-append "v" version))))
5317 (file-name (git-file-name name version))
5318 (sha256
5319 (base32
5320 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
5321 (inputs
5322 `(("trivial-features" ,sbcl-trivial-features)))
5323 (native-inputs
5324 `(("fiveam" ,sbcl-fiveam)))
5325 (synopsis "Efficient endianness conversion for Common Lisp")
5326 (description "This Common Lisp library provides optimized byte-swapping
5327 primitives. The library can change endianness of unsigned integers of length
5328 1/2/4/8. Very useful in implementing various network protocols and file
5329 formats.")
5330 (license license:expat)))
5331
5332 (define-public cl-swap-bytes
5333 (sbcl-package->cl-source-package sbcl-swap-bytes))
5334
5335 (define-public ecl-swap-bytes
5336 (sbcl-package->ecl-package sbcl-swap-bytes))
5337
5338 (define-public sbcl-iolib
5339 ;; Latest release is from June 2017.
5340 (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
5341 (revision "2"))
5342 (package
5343 (name "sbcl-iolib")
5344 (version (git-version "0.8.3" revision commit))
5345 (home-page "https://github.com/sionescu/iolib")
5346 (source
5347 (origin
5348 (method git-fetch)
5349 (uri (git-reference
5350 (url home-page)
5351 (commit commit)))
5352 (file-name (git-file-name name version))
5353 (sha256
5354 (base32
5355 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
5356 (build-system asdf-build-system/sbcl)
5357 (inputs
5358 `(("alexandria" ,sbcl-alexandria)
5359 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5360 ("cffi" ,sbcl-cffi)
5361 ("idna" ,sbcl-idna)
5362 ("libfixposix" ,libfixposix)
5363 ("split-sequence" ,sbcl-split-sequence)
5364 ("swap-bytes" ,sbcl-swap-bytes)))
5365 (arguments
5366 '(#:asd-files '("iolib.asdf.asd"
5367 "iolib.conf.asd"
5368 "iolib.common-lisp.asd"
5369 "iolib.base.asd"
5370 "iolib.asd")
5371 #:phases
5372 (modify-phases %standard-phases
5373 (add-after 'unpack 'fix-paths
5374 (lambda* (#:key inputs #:allow-other-keys)
5375 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5376 (("\\(:default \"libfixposix\"\\)")
5377 (string-append
5378 "(:default \""
5379 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5380 ;; Socket tests need Internet access, disable them.
5381 (substitute* "iolib.asd"
5382 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5383 "")))))))
5384 (synopsis "Common Lisp I/O library")
5385 (description "IOlib is to be a better and more modern I/O library than
5386 the standard Common Lisp library. It contains a socket library, a DNS
5387 resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5388 and @code{kqueue(2)}), a pathname library and file-system utilities.")
5389 (license license:expat))))
5390
5391 (define-public cl-iolib
5392 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
5393 (package
5394 (inherit parent)
5395 (propagated-inputs
5396 ;; Need header to compile.
5397 `(("libfixposix" ,libfixposix)
5398 ,@(package-propagated-inputs parent))))))
5399
5400 (define-public ecl-iolib
5401 (sbcl-package->ecl-package sbcl-iolib))
5402
5403 (define-public sbcl-ieee-floats
5404 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5405 (revision "1"))
5406 (package
5407 (name "sbcl-ieee-floats")
5408 (build-system asdf-build-system/sbcl)
5409 (version (git-version "20170924" revision commit))
5410 (home-page "https://github.com/marijnh/ieee-floats/")
5411 (source
5412 (origin
5413 (method git-fetch)
5414 (uri (git-reference
5415 (url home-page)
5416 (commit commit)))
5417 (file-name (git-file-name name version))
5418 (sha256
5419 (base32
5420 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5421 (native-inputs
5422 `(("fiveam" ,sbcl-fiveam)))
5423 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5424 (description "This is a Common Lisp library that converts
5425 floating point values to IEEE 754 binary representation.")
5426 (license license:bsd-3))))
5427
5428 (define-public cl-ieee-floats
5429 (sbcl-package->cl-source-package sbcl-ieee-floats))
5430
5431 (define-public ecl-ieee-floats
5432 (sbcl-package->ecl-package sbcl-ieee-floats))
5433
5434 (define sbcl-closure-common
5435 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5436 (revision "1"))
5437 (package
5438 (name "sbcl-closure-common")
5439 (build-system asdf-build-system/sbcl)
5440 (version (git-version "20101006" revision commit))
5441 (home-page "https://common-lisp.net/project/cxml/")
5442 (source
5443 (origin
5444 (method git-fetch)
5445 (uri (git-reference
5446 (url "https://github.com/sharplispers/closure-common")
5447 (commit commit)))
5448 (file-name (git-file-name name version))
5449 (sha256
5450 (base32
5451 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5452 (inputs
5453 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5454 ("babel" ,sbcl-babel)))
5455 (synopsis "Support Common Lisp library for CXML")
5456 (description "Closure-common is an internal helper library. The name
5457 Closure is a reference to the web browser it was originally written for.")
5458 ;; TODO: License?
5459 (license #f))))
5460
5461 (define-public sbcl-cxml
5462 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5463 (revision "1"))
5464 (package
5465 (name "sbcl-cxml")
5466 (version (git-version "0.0.0" revision commit))
5467 (source
5468 (origin
5469 (method git-fetch)
5470 (uri (git-reference
5471 (url "https://github.com/sharplispers/cxml")
5472 (commit commit)))
5473 (file-name (git-file-name name version))
5474 (sha256
5475 (base32
5476 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5477 (build-system asdf-build-system/sbcl)
5478 (inputs
5479 `(("closure-common" ,sbcl-closure-common)
5480 ("puri" ,sbcl-puri)
5481 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5482 (synopsis "Common Lisp XML parser")
5483 (description "CXML implements a namespace-aware, validating XML 1.0
5484 parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5485 offered, one SAX-like, the other similar to StAX.")
5486 (home-page "https://common-lisp.net/project/cxml/")
5487 (license license:llgpl))))
5488
5489 (define-public cl-cxml
5490 (sbcl-package->cl-source-package sbcl-cxml))
5491
5492 (define-public ecl-cxml
5493 (sbcl-package->ecl-package sbcl-cxml))
5494
5495 (define-public sbcl-cl-reexport
5496 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5497 (revision "1"))
5498 (package
5499 (name "sbcl-cl-reexport")
5500 (build-system asdf-build-system/sbcl)
5501 (version (git-version "0.1" revision commit))
5502 (home-page "https://github.com/takagi/cl-reexport")
5503 (source
5504 (origin
5505 (method git-fetch)
5506 (uri (git-reference
5507 (url home-page)
5508 (commit commit)))
5509 (file-name (git-file-name name version))
5510 (sha256
5511 (base32
5512 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5513 (inputs
5514 `(("alexandria" ,sbcl-alexandria)))
5515 (arguments
5516 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5517 `(#:tests? #f))
5518 (synopsis "HTTP cookie manager for Common Lisp")
5519 (description "cl-cookie is a Common Lisp library featuring parsing of
5520 cookie headers, cookie creation, cookie jar creation and more.")
5521 (license license:llgpl))))
5522
5523 (define-public cl-reexport
5524 (sbcl-package->cl-source-package sbcl-cl-reexport))
5525
5526 (define-public ecl-cl-reexport
5527 (sbcl-package->ecl-package sbcl-cl-reexport))
5528
5529 (define-public sbcl-cl-cookie
5530 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5531 (revision "1"))
5532 (package
5533 (name "sbcl-cl-cookie")
5534 (build-system asdf-build-system/sbcl)
5535 (version (git-version "0.9.10" revision commit))
5536 (home-page "https://github.com/fukamachi/cl-cookie")
5537 (source
5538 (origin
5539 (method git-fetch)
5540 (uri (git-reference
5541 (url home-page)
5542 (commit commit)))
5543 (file-name (git-file-name name version))
5544 (sha256
5545 (base32
5546 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5547 (inputs
5548 `(("proc-parse" ,sbcl-proc-parse)
5549 ("alexandria" ,sbcl-alexandria)
5550 ("quri" ,sbcl-quri)
5551 ("cl-ppcre" ,sbcl-cl-ppcre)
5552 ("local-time" ,sbcl-local-time)))
5553 (native-inputs
5554 `(("prove" ,sbcl-prove)))
5555 (arguments
5556 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5557 `(#:tests? #f))
5558 (synopsis "HTTP cookie manager for Common Lisp")
5559 (description "cl-cookie is a Common Lisp library featuring parsing of
5560 cookie headers, cookie creation, cookie jar creation and more.")
5561 (license license:bsd-2))))
5562
5563 (define-public cl-cookie
5564 (sbcl-package->cl-source-package sbcl-cl-cookie))
5565
5566 (define-public ecl-cl-cookie
5567 (sbcl-package->ecl-package sbcl-cl-cookie))
5568
5569 (define-public sbcl-dexador
5570 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
5571 (revision "1"))
5572 (package
5573 (name "sbcl-dexador")
5574 (build-system asdf-build-system/sbcl)
5575 (version "0.9.14" )
5576 (home-page "https://github.com/fukamachi/dexador")
5577 (source
5578 (origin
5579 (method git-fetch)
5580 (uri (git-reference
5581 (url home-page)
5582 (commit commit)))
5583 (file-name (git-file-name name version))
5584 (sha256
5585 (base32
5586 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
5587 (inputs
5588 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5589 ("babel" ,sbcl-babel)
5590 ("usocket" ,sbcl-usocket)
5591 ("fast-http" ,sbcl-fast-http)
5592 ("quri" ,sbcl-quri)
5593 ("fast-io" ,sbcl-fast-io)
5594 ("chunga" ,sbcl-chunga)
5595 ("cl-ppcre" ,sbcl-cl-ppcre)
5596 ("cl-cookie" ,sbcl-cl-cookie)
5597 ("trivial-mimes" ,sbcl-trivial-mimes)
5598 ("chipz" ,sbcl-chipz)
5599 ("cl-base64" ,sbcl-cl-base64)
5600 ("cl-reexport" ,sbcl-cl-reexport)
5601 ("cl+ssl" ,sbcl-cl+ssl)
5602 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5603 ("alexandria" ,sbcl-alexandria)))
5604 (native-inputs
5605 `(("prove" ,sbcl-prove)
5606 ("lack" ,sbcl-lack)
5607 ("clack" ,sbcl-clack)
5608 ("babel" ,sbcl-babel)
5609 ("alexandria" ,sbcl-alexandria)
5610 ("cl-ppcre" ,sbcl-cl-ppcre)
5611 ("local-time" ,sbcl-local-time)
5612 ("trivial-features" ,sbcl-trivial-features)))
5613 (arguments
5614 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5615 `(#:tests? #f
5616 #:phases
5617 (modify-phases %standard-phases
5618 (add-after 'unpack 'fix-permissions
5619 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5620 (synopsis "Yet another HTTP client for Common Lisp")
5621 (description "Dexador is yet another HTTP client for Common Lisp with
5622 neat APIs and connection-pooling. It is meant to supersede Drakma.")
5623 (license license:expat))))
5624
5625 (define-public cl-dexador
5626 (package
5627 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5628 (arguments
5629 `(#:phases
5630 ;; asdf-build-system/source has its own phases and does not inherit
5631 ;; from asdf-build-system/sbcl phases.
5632 (modify-phases %standard-phases/source
5633 ;; Already done in SBCL package.
5634 (delete 'reset-gzip-timestamps))))))
5635
5636 (define-public ecl-dexador
5637 (sbcl-package->ecl-package sbcl-dexador))
5638
5639 (define-public sbcl-lisp-namespace
5640 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5641 (revision "1"))
5642 (package
5643 (name "sbcl-lisp-namespace")
5644 (build-system asdf-build-system/sbcl)
5645 (version (git-version "0.1" revision commit))
5646 (home-page "https://github.com/guicho271828/lisp-namespace")
5647 (source
5648 (origin
5649 (method git-fetch)
5650 (uri (git-reference
5651 (url home-page)
5652 (commit commit)))
5653 (file-name (git-file-name name version))
5654 (sha256
5655 (base32
5656 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5657 (inputs
5658 `(("alexandria" ,sbcl-alexandria)))
5659 (native-inputs
5660 `(("fiveam" ,sbcl-fiveam)))
5661 (arguments
5662 `(#:test-asd-file "lisp-namespace.test.asd"
5663 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5664 #:tests? #f))
5665 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5666 (description "Common Lisp already has major 2 namespaces, function
5667 namespace and value namespace (or variable namespace), but there are actually
5668 more — e.g., class namespace.
5669 This library offers macros to deal with symbols from any namespace.")
5670 (license license:llgpl))))
5671
5672 (define-public cl-lisp-namespace
5673 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5674
5675 (define-public ecl-lisp-namespace
5676 (sbcl-package->ecl-package sbcl-lisp-namespace))
5677
5678 (define-public sbcl-trivial-cltl2
5679 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
5680 (revision "2"))
5681 (package
5682 (name "sbcl-trivial-cltl2")
5683 (build-system asdf-build-system/sbcl)
5684 (version (git-version "0.1.1" revision commit))
5685 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
5686 (source
5687 (origin
5688 (method git-fetch)
5689 (uri (git-reference
5690 (url home-page)
5691 (commit commit)))
5692 (file-name (git-file-name name version))
5693 (sha256
5694 (base32
5695 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
5696 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5697 (description "This library is a portable compatibility layer around
5698 \"Common Lisp the Language, 2nd
5699 Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5700 and it exports symbols from implementation-specific packages.")
5701 (license license:llgpl))))
5702
5703 (define-public cl-trivial-cltl2
5704 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5705
5706 (define-public ecl-trivial-cltl2
5707 (sbcl-package->ecl-package sbcl-trivial-cltl2))
5708
5709 (define-public sbcl-introspect-environment
5710 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
5711 (revision "1"))
5712 (package
5713 (name "sbcl-introspect-environment")
5714 (build-system asdf-build-system/sbcl)
5715 (version (git-version "0.1" revision commit))
5716 (home-page "https://github.com/Bike/introspect-environment")
5717 (source
5718 (origin
5719 (method git-fetch)
5720 (uri (git-reference
5721 (url home-page)
5722 (commit commit)))
5723 (file-name (git-file-name name version))
5724 (sha256
5725 (base32
5726 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
5727 (native-inputs
5728 `(("fiveam" ,sbcl-fiveam)))
5729 (synopsis "Common Lisp environment introspection portability layer")
5730 (description "This library is a small interface to portable but
5731 nonstandard introspection of Common Lisp environments. It is intended to
5732 allow a bit more compile-time introspection of environments in Common Lisp.
5733
5734 Quite a bit of information is available at the time a macro or compiler-macro
5735 runs; inlining info, type declarations, that sort of thing. This information
5736 is all standard - any Common Lisp program can @code{(declare (integer x))} and
5737 such.
5738
5739 This info ought to be accessible through the standard @code{&environment}
5740 parameters, but it is not. Several implementations keep the information for
5741 their own purposes but do not make it available to user programs, because
5742 there is no standard mechanism to do so.
5743
5744 This library uses implementation-specific hooks to make information available
5745 to users. This is currently supported on SBCL, CCL, and CMUCL. Other
5746 implementations have implementations of the functions that do as much as they
5747 can and/or provide reasonable defaults.")
5748 (license license:wtfpl2))))
5749
5750 (define-public cl-introspect-environment
5751 (sbcl-package->cl-source-package sbcl-introspect-environment))
5752
5753 (define-public ecl-introspect-environment
5754 (sbcl-package->ecl-package sbcl-introspect-environment))
5755
5756 (define-public sbcl-type-i
5757 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
5758 (revision "2"))
5759 (package
5760 (name "sbcl-type-i")
5761 (build-system asdf-build-system/sbcl)
5762 (version (git-version "0.1" revision commit))
5763 (home-page "https://github.com/guicho271828/type-i")
5764 (source
5765 (origin
5766 (method git-fetch)
5767 (uri (git-reference
5768 (url home-page)
5769 (commit commit)))
5770 (file-name (git-file-name name version))
5771 (sha256
5772 (base32
5773 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
5774 (inputs
5775 `(("alexandria" ,sbcl-alexandria)
5776 ("introspect-environment" ,sbcl-introspect-environment)
5777 ("trivia.trivial" ,sbcl-trivia.trivial)))
5778 (native-inputs
5779 `(("fiveam" ,sbcl-fiveam)))
5780 (arguments
5781 `(#:test-asd-file "type-i.test.asd"))
5782 (synopsis "Type inference utility on unary predicates for Common Lisp")
5783 (description "This library tries to provide a way to detect what kind of
5784 type the given predicate is trying to check. This is different from inferring
5785 the return type of a function.")
5786 (license license:llgpl))))
5787
5788 (define-public cl-type-i
5789 (sbcl-package->cl-source-package sbcl-type-i))
5790
5791 (define-public ecl-type-i
5792 (package
5793 (inherit (sbcl-package->ecl-package sbcl-type-i))
5794 (arguments
5795 ;; The tests get stuck indefinitly
5796 '(#:tests? #f))))
5797
5798 (define-public sbcl-optima
5799 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
5800 (revision "1"))
5801 (package
5802 (name "sbcl-optima")
5803 (build-system asdf-build-system/sbcl)
5804 (version (git-version "1.0" revision commit))
5805 (home-page "https://github.com/m2ym/optima")
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 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
5816 (inputs
5817 `(("alexandria" ,sbcl-alexandria)
5818 ("closer-mop" ,sbcl-closer-mop)))
5819 (native-inputs
5820 `(("eos" ,sbcl-eos)))
5821 (arguments
5822 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
5823 `(#:tests? #f
5824 #:test-asd-file "optima.test.asd"))
5825 (synopsis "Optimized pattern matching library for Common Lisp")
5826 (description "Optima is a fast pattern matching library which uses
5827 optimizing techniques widely used in the functional programming world.")
5828 (license license:expat))))
5829
5830 (define-public cl-optima
5831 (sbcl-package->cl-source-package sbcl-optima))
5832
5833 (define-public ecl-optima
5834 (sbcl-package->ecl-package sbcl-optima))
5835
5836 (define-public sbcl-fare-quasiquote
5837 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
5838 (revision "1"))
5839 (package
5840 (name "sbcl-fare-quasiquote")
5841 (build-system asdf-build-system/sbcl)
5842 (version (git-version "1.0.1" revision commit))
5843 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
5844 (source
5845 (origin
5846 (method git-fetch)
5847 (uri (git-reference
5848 (url (string-append "https://gitlab.common-lisp.net/frideau/"
5849 "fare-quasiquote.git"))
5850 (commit commit)))
5851 (file-name (git-file-name name version))
5852 (sha256
5853 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
5854 (inputs
5855 `(("fare-utils" ,sbcl-fare-utils)
5856 ("named-readtables" ,sbcl-named-readtables)
5857 ("optima" ,sbcl-optima)))
5858 (arguments
5859 ;; XXX: Circular dependencies: Tests depend on subsystems,
5860 ;; which depend on the main systems.
5861 `(#:tests? #f
5862 #:asd-systems '("fare-quasiquote"
5863 "fare-quasiquote-extras")
5864 #:phases
5865 (modify-phases %standard-phases
5866 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
5867 ;; commits after 1.0.0.5, but ASDF fails to read the
5868 ;; "-REVISION-COMMIT" part generated by Guix.
5869 (add-after 'unpack 'patch-requirement
5870 (lambda _
5871 (substitute* "fare-quasiquote.asd"
5872 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
5873 "\"fare-utils\""))
5874 (substitute* "fare-quasiquote-optima.asd"
5875 (("\\(:version \"optima\" \"1\\.0\"\\)")
5876 "\"optima\""))
5877 #t)))))
5878 (synopsis "Pattern-matching friendly implementation of quasiquote")
5879 (description "The main purpose of this n+2nd reimplementation of
5880 quasiquote is enable matching of quasiquoted patterns, using Optima or
5881 Trivia.")
5882 (license license:expat))))
5883
5884 (define-public cl-fare-quasiquote
5885 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
5886
5887 (define-public ecl-fare-quasiquote
5888 (sbcl-package->ecl-package sbcl-fare-quasiquote))
5889
5890 ;;; Split the trivia package in two to work around the circular dependency
5891 ;;; between guicho271828/trivia and guicho271828/type-i.
5892 (define-public sbcl-trivia.trivial
5893 (let ((commit "7286d5d2a4f685f1cac8370816f95276c0851111")
5894 (revision "3"))
5895 (package
5896 (name "sbcl-trivia.trivial")
5897 (version (git-version "0.0.0" revision commit))
5898 (source
5899 (origin
5900 (method git-fetch)
5901 (uri (git-reference
5902 (url "https://github.com/guicho271828/trivia")
5903 (commit commit)))
5904 (file-name (git-file-name "trivia" version))
5905 (sha256
5906 (base32
5907 "0ln0sj3jry7kzbmxhnin66kpbqan1wp8wwgdbw4k29afbdblkcca"))))
5908 (build-system asdf-build-system/sbcl)
5909 (inputs
5910 `(("alexandria" ,sbcl-alexandria)
5911 ("closer-mop" ,sbcl-closer-mop)
5912 ("lisp-namespace" ,sbcl-lisp-namespace)
5913 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
5914 (arguments
5915 '(#:phases
5916 (modify-phases %standard-phases
5917 (add-after 'unpack 'fix-build
5918 (lambda _
5919 (for-each delete-file
5920 '("trivia.balland2006.asd"
5921 "trivia.ppcre.asd"
5922 "trivia.quasiquote.asd"
5923 "trivia.cffi.asd"
5924 "trivia.asd"
5925 "trivia.test.asd"))
5926 #t)))))
5927 (synopsis "Pattern matching in Common Lisp")
5928 (description "Trivia is a pattern matching compiler that is compatible
5929 with Optima, another pattern matching library for Common Lisp. It is meant to
5930 be faster and more extensible than Optima.")
5931 (home-page "https://github.com/guicho271828/trivia")
5932 (license license:llgpl))))
5933
5934 (define-public cl-trivia.trivial
5935 (sbcl-package->cl-source-package sbcl-trivia.trivial))
5936
5937 (define-public ecl-trivia.trivial
5938 (sbcl-package->ecl-package sbcl-trivia.trivial))
5939
5940 (define-public sbcl-trivia
5941 (package
5942 (inherit sbcl-trivia.trivial)
5943 (name "sbcl-trivia")
5944 (native-inputs
5945 `(("fiveam" ,sbcl-fiveam)
5946 ("optima" ,sbcl-optima)))
5947 (inputs
5948 `(("alexandria" ,sbcl-alexandria)
5949 ("cffi" ,sbcl-cffi)
5950 ("cl-ppcre" ,sbcl-cl-ppcre)
5951 ("fare-quasiquote" ,sbcl-fare-quasiquote)
5952 ("iterate" ,sbcl-iterate)
5953 ("trivia.trivial" ,sbcl-trivia.trivial)
5954 ("type-i" ,sbcl-type-i)))
5955 (arguments
5956 '(#:asd-systems '("trivia"
5957 "trivia.ppcre"
5958 "trivia.quasiquote"
5959 "trivia.cffi")
5960 #:test-asd-file "trivia.test.asd"
5961 #:phases
5962 (modify-phases %standard-phases
5963 (add-after 'unpack 'fix-build
5964 (lambda _
5965 (for-each delete-file
5966 '("trivia.level0.asd"
5967 "trivia.level1.asd"
5968 "trivia.level2.asd"
5969 "trivia.trivial.asd"))
5970 #t)))))))
5971
5972 (define-public cl-trivia
5973 (sbcl-package->cl-source-package sbcl-trivia))
5974
5975 (define-public ecl-trivia
5976 (sbcl-package->ecl-package sbcl-trivia))
5977
5978 (define-public sbcl-mk-string-metrics
5979 (package
5980 (name "sbcl-mk-string-metrics")
5981 (version "0.1.2")
5982 (home-page "https://github.com/cbaggers/mk-string-metrics/")
5983 (source (origin
5984 (method git-fetch)
5985 (uri (git-reference
5986 (url home-page)
5987 (commit version)))
5988 (sha256
5989 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
5990 (file-name (git-file-name name version))))
5991 (build-system asdf-build-system/sbcl)
5992 (synopsis "Calculate various string metrics efficiently in Common Lisp")
5993 (description "This library implements efficient algorithms that calculate
5994 various string metrics in Common Lisp:
5995
5996 @itemize
5997 @item Damerau-Levenshtein distance
5998 @item Hamming distance
5999 @item Jaccard similarity coefficient
6000 @item Jaro distance
6001 @item Jaro-Winkler distance
6002 @item Levenshtein distance
6003 @item Normalized Damerau-Levenshtein distance
6004 @item Normalized Levenshtein distance
6005 @item Overlap coefficient
6006 @end itemize\n")
6007 (license license:x11)))
6008
6009 (define-public cl-mk-string-metrics
6010 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6011
6012 (define-public ecl-mk-string-metrics
6013 (sbcl-package->ecl-package sbcl-mk-string-metrics))
6014
6015 (define-public sbcl-cl-str
6016 (package
6017 (name "sbcl-cl-str")
6018 (version "0.19")
6019 (home-page "https://github.com/vindarel/cl-str")
6020 (source (origin
6021 (method git-fetch)
6022 (uri (git-reference
6023 (url home-page)
6024 (commit version)))
6025 (sha256
6026 (base32 "1jyza2jhn7w6fl4w87pv0m87z5ia48m6dqw12k0mdh7l3mgjq839"))
6027 (file-name (git-file-name name version))))
6028 (build-system asdf-build-system/sbcl)
6029 (inputs
6030 `(("cl-ppcre" ,sbcl-cl-ppcre)
6031 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
6032 ("cl-change-case" ,sbcl-cl-change-case)))
6033 (native-inputs
6034 `(("prove" ,sbcl-prove)))
6035 (arguments
6036 `(#:asd-systems '("str")
6037 #:test-asd-file "str.test.asd"))
6038 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6039 (description "A modern and consistent Common Lisp string manipulation
6040 library that focuses on modernity, simplicity and discoverability:
6041 @code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6042 @code{str:concat strings} instead of an unusual format construct; one
6043 discoverable library instead of many; consistency and composability, where
6044 @code{s} is always the last argument, which makes it easier to feed pipes and
6045 arrows.")
6046 (license license:expat)))
6047
6048 (define-public cl-str
6049 (sbcl-package->cl-source-package sbcl-cl-str))
6050
6051 (define-public ecl-cl-str
6052 (sbcl-package->ecl-package sbcl-cl-str))
6053
6054 (define-public sbcl-cl-xmlspam
6055 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6056 (package
6057 (name "sbcl-cl-xmlspam")
6058 (build-system asdf-build-system/sbcl)
6059 (version (git-version "0.0.0" "1" commit))
6060 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6061 (source
6062 (origin
6063 (method git-fetch)
6064 (uri (git-reference
6065 (url home-page)
6066 (commit commit)))
6067 (file-name (string-append name "-" version))
6068 (sha256
6069 (base32
6070 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6071 (inputs
6072 `(("cxml" ,sbcl-cxml)
6073 ("cl-ppcre" ,sbcl-cl-ppcre)))
6074 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6075 (description "CXML does an excellent job at parsing XML elements, but what
6076 do you do when you have a XML file that's larger than you want to fit in
6077 memory, and you want to extract some information from it? Writing code to deal
6078 with SAX events, or even using Klacks, quickly becomes tedious.
6079 @code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6080 to write code that mirrors the structure of the XML that it's parsing. It
6081 also makes it easy to shift paradigms when necessary - the usual Lisp control
6082 constructs can be used interchangeably with pattern matching, and the full
6083 power of CXML is available when necessary.")
6084 (license license:bsd-3))))
6085
6086 (define-public cl-xmlspam
6087 (sbcl-package->cl-source-package sbcl-cl-xmlspam))
6088
6089 (define-public ecl-cl-xmlspam
6090 (sbcl-package->ecl-package sbcl-cl-xmlspam))
6091
6092 (define-public sbcl-dbus
6093 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6094 (revision "1"))
6095 (package
6096 (name "sbcl-dbus")
6097 (version (git-version "20190408" revision commit))
6098 (home-page "https://github.com/death/dbus")
6099 (source
6100 (origin
6101 (method git-fetch)
6102 (uri (git-reference
6103 (url home-page)
6104 (commit commit)))
6105 (file-name (git-file-name name version))
6106 (sha256
6107 (base32
6108 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
6109 (build-system asdf-build-system/sbcl)
6110 (inputs
6111 `(("alexandria" ,sbcl-alexandria)
6112 ("trivial-garbage" ,sbcl-trivial-garbage)
6113 ("babel" ,sbcl-babel)
6114 ("iolib" ,sbcl-iolib)
6115 ("ieee-floats" ,sbcl-ieee-floats)
6116 ("flexi-streams" ,sbcl-flexi-streams)
6117 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6118 ("ironclad" ,sbcl-ironclad)))
6119 (synopsis "D-Bus client library for Common Lisp")
6120 (description "This is a Common Lisp library that publishes D-Bus
6121 objects as well as send and notify other objects connected to a bus.")
6122 (license license:bsd-2))))
6123
6124 (define-public cl-dbus
6125 (sbcl-package->cl-source-package sbcl-dbus))
6126
6127 (define-public ecl-dbus
6128 (sbcl-package->ecl-package sbcl-dbus))
6129
6130 (define-public sbcl-cl-hooks
6131 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6132 (revision "1"))
6133 (package
6134 (name "sbcl-cl-hooks")
6135 (build-system asdf-build-system/sbcl)
6136 (version (git-version "0.2.1" revision commit))
6137 (home-page "https://github.com/scymtym/architecture.hooks")
6138 (source
6139 (origin
6140 (method git-fetch)
6141 (uri (git-reference
6142 (url home-page)
6143 (commit commit)))
6144 (file-name (git-file-name name version))
6145 (sha256
6146 (base32
6147 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6148 (inputs
6149 `(("alexandria" ,sbcl-alexandria)
6150 ("let-plus" ,sbcl-let-plus)
6151 ("trivial-garbage" ,sbcl-trivial-garbage)
6152 ("closer-mop" ,sbcl-closer-mop)))
6153 (native-inputs
6154 `(("fiveam" ,sbcl-fiveam)))
6155 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6156 (description "A hook, in the present context, is a certain kind of
6157 extension point in a program that allows interleaving the execution of
6158 arbitrary code with the execution of a the program without introducing any
6159 coupling between the two. Hooks are used extensively in the extensible editor
6160 Emacs.
6161
6162 In the Common LISP Object System (CLOS), a similar kind of extensibility is
6163 possible using the flexible multi-method dispatch mechanism. It may even seem
6164 that the concept of hooks does not provide any benefits over the possibilities
6165 of CLOS. However, there are some differences:
6166
6167 @itemize
6168
6169 @item There can be only one method for each combination of specializers and
6170 qualifiers. As a result this kind of extension point cannot be used by
6171 multiple extensions independently.
6172 @item Removing code previously attached via a @code{:before}, @code{:after} or
6173 @code{:around} method can be cumbersome.
6174 @item There could be other or even multiple extension points besides @code{:before}
6175 and @code{:after} in a single method.
6176 @item Attaching codes to individual objects using eql specializers can be
6177 cumbersome.
6178 @item Introspection of code attached a particular extension point is
6179 cumbersome since this requires enumerating and inspecting the methods of a
6180 generic function.
6181 @end itemize
6182
6183 This library tries to complement some of these weaknesses of method-based
6184 extension-points via the concept of hooks.")
6185 (license license:llgpl))))
6186
6187 (define-public cl-hooks
6188 (sbcl-package->cl-source-package sbcl-cl-hooks))
6189
6190 (define-public ecl-cl-hooks
6191 (sbcl-package->ecl-package sbcl-cl-hooks))
6192
6193 (define-public sbcl-cl-autowrap
6194 (let ((revision "1")
6195 (commit "ae846d6968fc0d000de0c541638929a157f3009e"))
6196 ;; no taged branches
6197 (package
6198 (name "sbcl-cl-autowrap")
6199 (version (git-version "1.0" revision commit))
6200 (source
6201 (origin
6202 (method git-fetch)
6203 (uri (git-reference
6204 (url "https://github.com/rpav/cl-autowrap")
6205 (commit commit)))
6206 (file-name (git-file-name name version))
6207 (sha256
6208 (base32 "1gisldp2zns92kdcaikghm7c38ldy2d884n8bfg0wcjvbz78p3ar"))))
6209 (build-system asdf-build-system/sbcl)
6210 (inputs
6211 `(("alexandria" ,sbcl-alexandria)
6212 ("cffi" ,sbcl-cffi)
6213 ("cl-json" ,sbcl-cl-json)
6214 ("cl-ppcre" ,sbcl-cl-ppcre)
6215 ("defpackage-plus" ,sbcl-defpackage-plus)
6216 ("trivial-features" ,sbcl-trivial-features)))
6217 (home-page "https://github.com/rpav/cl-autowrap")
6218 (synopsis "FFI wrapper generator for Common Lisp")
6219 (description "This is a c2ffi-based wrapper generator for Common Lisp.")
6220 (license license:bsd-2))))
6221
6222 (define-public cl-autowrap
6223 (sbcl-package->cl-source-package sbcl-cl-autowrap))
6224
6225 (define-public ecl-cl-autowrap
6226 (sbcl-package->ecl-package sbcl-cl-autowrap))
6227
6228 (define-public sbcl-s-sysdeps
6229 ;; No release since 2013.
6230 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
6231 (revision "2"))
6232 (package
6233 (name "sbcl-s-sysdeps")
6234 (build-system asdf-build-system/sbcl)
6235 (version (git-version "1" revision commit))
6236 (home-page "https://github.com/svenvc/s-sysdeps")
6237 (source
6238 (origin
6239 (method git-fetch)
6240 (uri (git-reference
6241 (url home-page)
6242 (commit commit)))
6243 (file-name (git-file-name name version))
6244 (sha256
6245 (base32
6246 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
6247 (inputs
6248 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
6249 ("usocket" ,sbcl-usocket)))
6250 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6251 (description "@code{s-sysdeps} is an abstraction layer over platform
6252 dependent functionality. This simple package is used as a building block in a
6253 number of other open source projects.
6254
6255 @code{s-sysdeps} abstracts:
6256
6257 @itemize
6258 @item managing processes,
6259 @item implementing a standard TCP/IP server,
6260 @item opening a client TCP/IP socket stream,
6261 @item working with process locks.
6262 @end itemize\n")
6263 (license license:llgpl))))
6264
6265 (define-public cl-s-sysdeps
6266 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6267
6268 (define-public ecl-s-sysdeps
6269 (sbcl-package->ecl-package sbcl-s-sysdeps))
6270
6271 (define-public sbcl-cl-prevalence
6272 (let ((commit "5a76be036092ed6c18cb695a9e03bce87e21b840")
6273 (revision "4"))
6274 (package
6275 (name "sbcl-cl-prevalence")
6276 (build-system asdf-build-system/sbcl)
6277 (version (git-version "5" revision commit))
6278 (home-page "https://github.com/40ants/cl-prevalence")
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 "050h6hwv8f16b5v6fzba8zmih92hgaaq27i2x9wv1iib41gbia3r"))))
6289 (inputs
6290 `(("s-sysdeps" ,sbcl-s-sysdeps)
6291 ("s-xml" ,sbcl-s-xml)))
6292 (native-inputs
6293 `(("fiveam" ,sbcl-fiveam)))
6294 (synopsis "Implementation of object prevalence for Common Lisp")
6295 (description "This Common Lisp library implements object prevalence (see
6296 @url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6297 for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6298 classes and cyclic data structures are supported.")
6299 (license license:llgpl))))
6300
6301 (define-public cl-prevalence
6302 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6303
6304 (define-public ecl-cl-prevalence
6305 (sbcl-package->ecl-package sbcl-cl-prevalence))
6306
6307 (define-public sbcl-series
6308 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6309 (revision "1"))
6310 (package
6311 (name "sbcl-series")
6312 (version (git-version "2.2.11" revision commit))
6313 (source
6314 (origin
6315 (method git-fetch)
6316 (uri (git-reference
6317 (url "git://git.code.sf.net/p/series/series")
6318 (commit commit)))
6319 (file-name (git-file-name name version))
6320 (sha256
6321 (base32
6322 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6323 (build-system asdf-build-system/sbcl)
6324 (arguments
6325 ;; Disable the tests, they are apparently buggy and I didn't find
6326 ;; a simple way to make them run and pass.
6327 '(#:tests? #f))
6328 (synopsis "Series data structure for Common Lisp")
6329 (description
6330 "This Common Lisp library provides a series data structure much like
6331 a sequence, with similar kinds of operations. The difference is that in many
6332 situations, operations on series may be composed functionally and yet execute
6333 iteratively, without the need to construct intermediate series values
6334 explicitly. In this manner, series provide both the clarity of a functional
6335 programming style and the efficiency of an iterative programming style.")
6336 (home-page "http://series.sourceforge.net/")
6337 (license license:expat))))
6338
6339 (define-public cl-series
6340 (sbcl-package->cl-source-package sbcl-series))
6341
6342 (define-public ecl-series
6343 (sbcl-package->ecl-package sbcl-series))
6344
6345 (define-public sbcl-periods
6346 (let ((commit "60383dcef88a1ac11f82804ae7a33c361dcd2949")
6347 (revision "2"))
6348 (package
6349 (name "sbcl-periods")
6350 (version (git-version "0.0.2" revision commit))
6351 (source
6352 (origin
6353 (method git-fetch)
6354 (uri (git-reference
6355 (url "https://github.com/jwiegley/periods")
6356 (commit commit)))
6357 (file-name (git-file-name name version))
6358 (sha256
6359 (base32
6360 "1ym2j4an9ig2hl210jg91gpf7xfnp6mlhkw3n9kkdnwiji3ipqlk"))))
6361 (build-system asdf-build-system/sbcl)
6362 (inputs
6363 `(("local-time" ,sbcl-local-time)
6364 ("series" ,sbcl-series)))
6365 (arguments
6366 '(#:asd-systems '("periods"
6367 "periods-series")))
6368 (synopsis "Common Lisp library for manipulating date/time objects")
6369 (description
6370 "Periods is a Common Lisp library providing a set of utilities for
6371 manipulating times, distances between times, and both contiguous and
6372 discontiguous ranges of time.")
6373 (home-page "https://github.com/jwiegley/periods")
6374 (license license:bsd-3))))
6375
6376 (define-public cl-periods
6377 (sbcl-package->cl-source-package sbcl-periods))
6378
6379 (define-public ecl-periods
6380 (sbcl-package->ecl-package sbcl-periods))
6381
6382 (define-public sbcl-metatilities-base
6383 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6384 (revision "1"))
6385 (package
6386 (name "sbcl-metatilities-base")
6387 (version (git-version "0.6.6" revision commit))
6388 (source
6389 (origin
6390 (method git-fetch)
6391 (uri (git-reference
6392 (url "https://github.com/gwkkwg/metatilities-base")
6393 (commit commit)))
6394 (file-name (git-file-name name version))
6395 (sha256
6396 (base32
6397 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6398 (build-system asdf-build-system/sbcl)
6399 (native-inputs
6400 `(("lift" ,sbcl-lift)))
6401 (synopsis "Core of the metatilities Common Lisp library")
6402 (description
6403 "Metatilities-base is the core of the metatilities Common Lisp library
6404 which implements a set of utilities.")
6405 (home-page "https://common-lisp.net/project/metatilities-base/")
6406 (license license:expat))))
6407
6408 (define-public cl-metatilities-base
6409 (sbcl-package->cl-source-package sbcl-metatilities-base))
6410
6411 (define-public ecl-metatilities-base
6412 (sbcl-package->ecl-package sbcl-metatilities-base))
6413
6414 (define-public sbcl-cl-containers
6415 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6416 (revision "3"))
6417 (package
6418 (name "sbcl-cl-containers")
6419 (version (git-version "0.12.1" revision commit))
6420 (source
6421 (origin
6422 (method git-fetch)
6423 (uri (git-reference
6424 (url "https://github.com/gwkkwg/cl-containers")
6425 (commit commit)))
6426 (file-name (git-file-name name version))
6427 (sha256
6428 (base32
6429 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
6430 (build-system asdf-build-system/sbcl)
6431 (native-inputs
6432 `(("lift" ,sbcl-lift)))
6433 (inputs
6434 `(("metatilities-base" ,sbcl-metatilities-base)))
6435 (arguments
6436 '(#:asd-files '("cl-containers.asd")
6437 #:phases
6438 (modify-phases %standard-phases
6439 (add-after 'unpack 'relax-version-checks
6440 (lambda _
6441 (substitute* "cl-containers.asd"
6442 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6443 "\"metatilities-base\""))
6444 (substitute* "cl-containers-test.asd"
6445 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6446 "\"lift\""))
6447 #t)))))
6448 (synopsis "Container library for Common Lisp")
6449 (description
6450 "Common Lisp ships with a set of powerful built in data structures
6451 including the venerable list, full featured arrays, and hash-tables.
6452 CL-containers enhances and builds on these structures by adding containers
6453 that are not available in native Lisp (for example: binary search trees,
6454 red-black trees, sparse arrays and so on), and by providing a standard
6455 interface so that they are simpler to use and so that changing design
6456 decisions becomes significantly easier.")
6457 (home-page "https://common-lisp.net/project/cl-containers/")
6458 (license license:expat))))
6459
6460 (define-public cl-containers
6461 (sbcl-package->cl-source-package sbcl-cl-containers))
6462
6463 (define-public ecl-cl-containers
6464 (sbcl-package->ecl-package sbcl-cl-containers))
6465
6466 (define-public sbcl-xlunit
6467 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6468 (revision "1"))
6469 (package
6470 (name "sbcl-xlunit")
6471 (version (git-version "0.6.3" revision commit))
6472 (source
6473 (origin
6474 (method git-fetch)
6475 (uri (git-reference
6476 (url "http://git.kpe.io/xlunit.git")
6477 (commit commit)))
6478 (file-name (git-file-name name version))
6479 (sha256
6480 (base32
6481 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6482 (build-system asdf-build-system/sbcl)
6483 (arguments
6484 '(#:phases
6485 (modify-phases %standard-phases
6486 (add-after 'unpack 'fix-tests
6487 (lambda _
6488 (substitute* "xlunit.asd"
6489 ((" :force t") ""))
6490 #t)))))
6491 (synopsis "Unit testing package for Common Lisp")
6492 (description
6493 "The XLUnit package is a toolkit for building test suites. It is based
6494 on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6495 (home-page "http://quickdocs.org/xlunit/")
6496 (license license:bsd-3))))
6497
6498 (define-public cl-xlunit
6499 (sbcl-package->cl-source-package sbcl-xlunit))
6500
6501 (define-public ecl-xlunit
6502 (sbcl-package->ecl-package sbcl-xlunit))
6503
6504 (define-public sbcl-cambl
6505 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6506 (revision "1"))
6507 (package
6508 (name "sbcl-cambl")
6509 (version (git-version "4.0.0" revision commit))
6510 (source
6511 (origin
6512 (method git-fetch)
6513 (uri (git-reference
6514 (url "https://github.com/jwiegley/cambl")
6515 (commit commit)))
6516 (file-name (git-file-name "cambl" version))
6517 (sha256
6518 (base32 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6519 (build-system asdf-build-system/sbcl)
6520 (native-inputs
6521 `(("xlunit" ,sbcl-xlunit)))
6522 (inputs
6523 `(("alexandria" ,sbcl-alexandria)
6524 ("cl-containers" ,sbcl-cl-containers)
6525 ("local-time" ,sbcl-local-time)
6526 ("periods" ,sbcl-periods)))
6527 (arguments
6528 '(#:asd-files '("fprog.asd"
6529 "cambl.asd")))
6530 (synopsis "Commoditized amounts and balances for Common Lisp")
6531 (description
6532 "CAMBL is a Common Lisp library providing a convenient facility for
6533 working with commoditized values. It does not allow compound units (and so is
6534 not suited for scientific operations) but does work rather nicely for the
6535 purpose of financial calculations.")
6536 (home-page "https://github.com/jwiegley/cambl")
6537 (license license:bsd-3))))
6538
6539 (define-public cl-cambl
6540 (sbcl-package->cl-source-package sbcl-cambl))
6541
6542 (define-public ecl-cambl
6543 (sbcl-package->ecl-package sbcl-cambl))
6544
6545 (define-public sbcl-cl-ledger
6546 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6547 (revision "1"))
6548 (package
6549 (name "sbcl-cl-ledger")
6550 (version (git-version "4.0.0" revision commit))
6551 (source
6552 (origin
6553 (method git-fetch)
6554 (uri (git-reference
6555 (url "https://github.com/ledger/cl-ledger")
6556 (commit commit)))
6557 (file-name (git-file-name name version))
6558 (sha256
6559 (base32
6560 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6561 (build-system asdf-build-system/sbcl)
6562 (inputs
6563 `(("cambl" ,sbcl-cambl)
6564 ("cl-ppcre" ,sbcl-cl-ppcre)
6565 ("local-time" ,sbcl-local-time)
6566 ("periods" ,sbcl-periods)))
6567 (arguments
6568 '(#:phases
6569 (modify-phases %standard-phases
6570 (add-after 'unpack 'fix-system-definition
6571 (lambda _
6572 (substitute* "cl-ledger.asd"
6573 ((" :build-operation program-op") "")
6574 ((" :build-pathname \"cl-ledger\"") "")
6575 ((" :entry-point \"ledger::main\"") ""))
6576 #t)))))
6577 (synopsis "Common Lisp port of the Ledger accounting system")
6578 (description
6579 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6580 system.")
6581 (home-page "https://github.com/ledger/cl-ledger")
6582 (license license:bsd-3))))
6583
6584 (define-public cl-ledger
6585 (sbcl-package->cl-source-package sbcl-cl-ledger))
6586
6587 (define-public ecl-cl-ledger
6588 (sbcl-package->ecl-package sbcl-cl-ledger))
6589
6590 (define-public sbcl-bst
6591 (let ((commit "8545aed0d504df2829ad139566feeabe22305388")
6592 (revision "0"))
6593 (package
6594 (name "sbcl-bst")
6595 (version (git-version "2.0" revision commit))
6596 (source
6597 (origin
6598 (method git-fetch)
6599 (uri (git-reference
6600 (url "https://github.com/glv2/bst")
6601 (commit commit)))
6602 (file-name (git-file-name name version))
6603 (sha256
6604 (base32 "18ig7rvxcra69437g0i8sxyv7c5dg26jqnx1rc2f9pxmihdprgk8"))))
6605 (build-system asdf-build-system/sbcl)
6606 (native-inputs
6607 `(("alexandria" ,sbcl-alexandria)
6608 ("fiveam" ,sbcl-fiveam)))
6609 (synopsis "Binary search tree for Common Lisp")
6610 (description
6611 "BST is a Common Lisp library for working with binary search trees that
6612 can contain any kind of values.")
6613 (home-page "https://github.com/glv2/bst")
6614 (license license:gpl3))))
6615
6616 (define-public cl-bst
6617 (sbcl-package->cl-source-package sbcl-bst))
6618
6619 (define-public ecl-bst
6620 (sbcl-package->ecl-package sbcl-bst))
6621
6622 (define-public sbcl-cl-octet-streams
6623 (package
6624 (name "sbcl-cl-octet-streams")
6625 (version "1.2")
6626 (source
6627 (origin
6628 (method git-fetch)
6629 (uri (git-reference
6630 (url "https://github.com/glv2/cl-octet-streams")
6631 (commit (string-append "v" version))))
6632 (file-name (git-file-name name version))
6633 (sha256
6634 (base32 "1hffh98bv4w5yrchagzwqrc43d2p473pvw7ka4kyyvhrr52dk2f8"))))
6635 (build-system asdf-build-system/sbcl)
6636 (native-inputs
6637 `(("fiveam" ,sbcl-fiveam)))
6638 (inputs
6639 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6640 (synopsis "In-memory octet streams for Common Lisp")
6641 (description
6642 "CL-octet-streams is a library implementing in-memory octet
6643 streams for Common Lisp. It was inspired by the trivial-octet-streams and
6644 cl-plumbing libraries.")
6645 (home-page "https://github.com/glv2/cl-octet-streams")
6646 (license license:gpl3+)))
6647
6648 (define-public cl-octet-streams
6649 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
6650
6651 (define-public ecl-cl-octet-streams
6652 (sbcl-package->ecl-package sbcl-cl-octet-streams))
6653
6654 (define-public sbcl-lzlib
6655 (let ((commit "cad10f5becbcfebb44b9d311a257563778803452")
6656 (revision "2"))
6657 (package
6658 (name "sbcl-lzlib")
6659 (version (git-version "1.1" revision commit))
6660 (source
6661 (origin
6662 (method git-fetch)
6663 (uri (git-reference
6664 (url "https://github.com/glv2/cl-lzlib")
6665 (commit commit)))
6666 (file-name (git-file-name name version))
6667 (sha256
6668 (base32 "09lp7li35h4jkls0448fj1sh6pjslr1w7ranbc4szjr8g0c2bdry"))))
6669 (build-system asdf-build-system/sbcl)
6670 (native-inputs
6671 `(("fiveam" ,sbcl-fiveam)))
6672 (inputs
6673 `(("cffi" ,sbcl-cffi)
6674 ("cl-octet-streams" ,sbcl-cl-octet-streams)
6675 ("lparallel" ,sbcl-lparallel)
6676 ("lzlib" ,lzlib)))
6677 (arguments
6678 '(#:phases
6679 (modify-phases %standard-phases
6680 (add-after 'unpack 'fix-paths
6681 (lambda* (#:key inputs #:allow-other-keys)
6682 (substitute* "src/lzlib.lisp"
6683 (("liblz\\.so")
6684 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
6685 #t)))))
6686 (synopsis "Common Lisp library for lzip (de)compression")
6687 (description
6688 "This Common Lisp library provides functions for lzip (LZMA)
6689 compression/decompression using bindings to the lzlib C library.")
6690 (home-page "https://github.com/glv2/cl-lzlib")
6691 (license license:gpl3+))))
6692
6693 (define-public cl-lzlib
6694 (sbcl-package->cl-source-package sbcl-lzlib))
6695
6696 (define-public ecl-lzlib
6697 (sbcl-package->ecl-package sbcl-lzlib))
6698
6699 (define-public sbcl-chanl
6700 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
6701 (revision "1"))
6702 (package
6703 (name "sbcl-chanl")
6704 (version (git-version "0.4.1" revision commit))
6705 (source
6706 (origin
6707 (method git-fetch)
6708 (uri (git-reference
6709 (url "https://github.com/zkat/chanl")
6710 (commit commit)))
6711 (file-name (git-file-name name version))
6712 (sha256
6713 (base32
6714 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
6715 (build-system asdf-build-system/sbcl)
6716 (native-inputs
6717 `(("fiveam" ,sbcl-fiveam)))
6718 (inputs
6719 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
6720 (synopsis "Portable channel-based concurrency for Common Lisp")
6721 (description "Common Lisp library for channel-based concurrency. In
6722 a nutshell, you create various threads sequentially executing tasks you need
6723 done, and use channel objects to communicate and synchronize the state of these
6724 threads.")
6725 (home-page "https://github.com/zkat/chanl")
6726 (license (list license:expat license:bsd-3)))))
6727
6728 (define-public cl-chanl
6729 (sbcl-package->cl-source-package sbcl-chanl))
6730
6731 (define-public ecl-chanl
6732 (sbcl-package->ecl-package sbcl-chanl))
6733
6734 (define-public sbcl-cl-store
6735 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
6736 (revision "1"))
6737 (package
6738 (name "sbcl-cl-store")
6739 (version (git-version "0.8.11" revision commit))
6740 (source
6741 (origin
6742 (method git-fetch)
6743 (uri (git-reference
6744 (url "https://github.com/skypher/cl-store")
6745 (commit commit)))
6746 (file-name (git-file-name name version))
6747 (sha256
6748 (base32
6749 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
6750 (build-system asdf-build-system/sbcl)
6751 (native-inputs
6752 `(("rt" ,sbcl-rt)))
6753 (synopsis "Common Lisp library to serialize data")
6754 (description
6755 "CL-STORE is a portable serialization package which should give you the
6756 ability to store all Common Lisp data types into streams.")
6757 (home-page "https://www.common-lisp.net/project/cl-store/")
6758 (license license:expat))))
6759
6760 (define-public cl-store
6761 (sbcl-package->cl-source-package sbcl-cl-store))
6762
6763 (define-public ecl-cl-store
6764 (sbcl-package->ecl-package sbcl-cl-store))
6765
6766 (define-public sbcl-specialization-store
6767 (let ((commit "8d39a866a6f24986aad3cc52349e9cb2653496f3")
6768 (revision "1"))
6769 (package
6770 (name "sbcl-specialization-store")
6771 (version (git-version "0.0.5" revision commit))
6772 (source
6773 (origin
6774 (method git-fetch)
6775 (uri (git-reference
6776 (url "https://github.com/markcox80/specialization-store")
6777 (commit commit)))
6778 (file-name (git-file-name "specialization-store" version))
6779 (sha256
6780 (base32 "0r0bgb46q4gy72l78s7djkxq8ibb4bb3yh9brsry5lih7br8lhi0"))))
6781 (build-system asdf-build-system/sbcl)
6782 (native-inputs
6783 `(("fiveam" ,sbcl-fiveam)))
6784 (inputs
6785 `(("alexandria" ,sbcl-alexandria)
6786 ("introspect-environment" ,sbcl-introspect-environment)))
6787 (home-page "https://github.com/markcox80/specialization-store")
6788 (synopsis "Different type of generic function for Common Lisp")
6789 (description
6790 "SPECIALIZATION-STORE system provides a new kind of function, called
6791 a store function, whose behavior depends on the types of objects passed to the
6792 function.")
6793 (license license:bsd-2))))
6794
6795 (define-public ecl-specialization-store
6796 (package
6797 (inherit (sbcl-package->ecl-package sbcl-specialization-store))
6798 (arguments
6799 ;; TODO: Find why the tests get stuck forever; disable them for now.
6800 `(#:tests? #f))))
6801
6802 (define-public cl-specialization-store
6803 (sbcl-package->cl-source-package sbcl-specialization-store))
6804
6805 (define-public sbcl-cl-gobject-introspection
6806 (let ((commit "d0136c8d9ade2560123af1fc55bbf70d2e3db539")
6807 (revision "1"))
6808 (package
6809 (name "sbcl-cl-gobject-introspection")
6810 (version (git-version "0.3" revision commit))
6811 (home-page "https://github.com/andy128k/cl-gobject-introspection")
6812 (source
6813 (origin
6814 (method git-fetch)
6815 (uri (git-reference
6816 (url home-page)
6817 (commit commit)))
6818 (file-name (git-file-name name version))
6819 (sha256
6820 (base32
6821 "0dz0r73pq7yhz2iq2jnkq977awx2zws2qfxdcy33329sys1ii32p"))))
6822 (build-system asdf-build-system/sbcl)
6823 (inputs
6824 `(("alexandria" ,sbcl-alexandria)
6825 ("cffi" ,sbcl-cffi)
6826 ("iterate" ,sbcl-iterate)
6827 ("trivial-garbage" ,sbcl-trivial-garbage)
6828 ("glib" ,glib)
6829 ("gobject-introspection" ,gobject-introspection)))
6830 (native-inputs
6831 `(("fiveam" ,sbcl-fiveam)))
6832 (arguments
6833 '(#:phases
6834 (modify-phases %standard-phases
6835 (add-after 'unpack 'fix-paths
6836 (lambda* (#:key inputs #:allow-other-keys)
6837 (substitute* "src/init.lisp"
6838 (("libgobject-2\\.0\\.so")
6839 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
6840 (("libgirepository-1\\.0\\.so")
6841 (string-append (assoc-ref inputs "gobject-introspection")
6842 "/lib/libgirepository-1.0.so")))
6843 #t)))))
6844 (synopsis "Common Lisp bindings to GObject Introspection")
6845 (description
6846 "This library is a bridge between Common Lisp and GObject
6847 Introspection, which enables Common Lisp programs to access the full interface
6848 of C+GObject libraries without the need of writing dedicated bindings.")
6849 (license (list license:bsd-3
6850 ;; Tests are under a different license.
6851 license:llgpl)))))
6852
6853 (define-public cl-gobject-introspection
6854 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
6855
6856 (define-public ecl-cl-gobject-introspection
6857 (sbcl-package->ecl-package sbcl-cl-gobject-introspection))
6858
6859 (define-public sbcl-cl-slug
6860 (let ((commit "ffb229d10f0d3f7f54e706791725225e200bf749")
6861 (revision "1"))
6862 (package
6863 (name "sbcl-cl-slug")
6864 (version (git-version "0.4.1" revision commit))
6865 (source
6866 (origin
6867 (method git-fetch)
6868 (uri (git-reference
6869 (url "https://github.com/EuAndreh/cl-slug")
6870 (commit commit)))
6871 (file-name (git-file-name "cl-slug" version))
6872 (sha256
6873 (base32 "1asdq6xllmsvfw5fky9wblqcx9isac9jrrlkfl7vyxcq1wxrnflx"))))
6874 (build-system asdf-build-system/sbcl)
6875 (arguments
6876 `(#:asd-files '("cl-slug-test.asd" "cl-slug.asd")
6877 #:asd-systems '("cl-slug-test" "cl-slug")))
6878 (native-inputs
6879 `(("prove" ,sbcl-prove)))
6880 (inputs
6881 `(("ppcre" ,sbcl-cl-ppcre)))
6882 (home-page "https://github.com/EuAndreh/cl-slug")
6883 (synopsis "Multi-language slug formater")
6884 (description
6885 "This is a small Common Lisp library to make slugs, mainly for URIs,
6886 from english and beyond.")
6887 (license license:llgpl))))
6888
6889 (define-public ecl-cl-slug
6890 (sbcl-package->ecl-package sbcl-cl-slug))
6891
6892 (define-public cl-slug
6893 (sbcl-package->cl-source-package sbcl-cl-slug))
6894
6895 (define-public sbcl-string-case
6896 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
6897 (revision "0"))
6898 (package
6899 (name "sbcl-string-case")
6900 (version (git-version "0.0.2" revision commit))
6901 (home-page "https://github.com/pkhuong/string-case")
6902 (source
6903 (origin
6904 (method git-fetch)
6905 (uri (git-reference
6906 (url home-page)
6907 (commit commit)))
6908 (file-name (git-file-name name version))
6909 (sha256
6910 (base32
6911 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
6912 (build-system asdf-build-system/sbcl)
6913 (synopsis "Efficient string= case in Common Lisp")
6914 (description
6915 "@code{string-case} is a Common Lisp macro that generates specialised decision
6916 trees to dispatch on string equality.")
6917 (license license:bsd-3))))
6918
6919 (define-public cl-string-case
6920 (sbcl-package->cl-source-package sbcl-string-case))
6921
6922 (define-public ecl-string-case
6923 (sbcl-package->ecl-package sbcl-string-case))
6924
6925 (define-public sbcl-garbage-pools
6926 (let ((commit "9a7cb7f48b04197c0495df3b6d2e8395ad13f790")
6927 (revision "1"))
6928 (package
6929 (name "sbcl-garbage-pools")
6930 (version (git-version "0.1.2" revision commit))
6931 (source
6932 (origin
6933 (method git-fetch)
6934 (uri (git-reference
6935 (url "https://github.com/archimag/garbage-pools")
6936 (commit commit)))
6937 (file-name (git-file-name name version))
6938 (sha256
6939 (base32 "04jqwr6j138him6wc4nrwjzm4lvyj5j31xqab02nkf8h9hmsf5v1"))))
6940 (build-system asdf-build-system/sbcl)
6941 (home-page "https://github.com/archimag/garbage-pools")
6942 (synopsis "Resource management pools for Common Lisp")
6943 (description "GARBAGE-POOLS is Common Lisp re-implementation of the APR
6944 Pools for resource management.")
6945 (license license:expat))))
6946
6947 (define-public ecl-garbage-pools
6948 (sbcl-package->ecl-package sbcl-garbage-pools))
6949
6950 (define-public cl-garbage-pools
6951 (sbcl-package->cl-source-package sbcl-garbage-pools))
6952
6953 (define-public sbcl-global-vars
6954 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
6955 (revision "0"))
6956 (package
6957 (name "sbcl-global-vars")
6958 (version (git-version "1.0.0" revision commit))
6959 (home-page "https://github.com/lmj/global-vars")
6960 (source
6961 (origin
6962 (method git-fetch)
6963 (uri (git-reference
6964 (url home-page)
6965 (commit commit)))
6966 (file-name (git-file-name name version))
6967 (sha256
6968 (base32
6969 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
6970 (build-system asdf-build-system/sbcl)
6971 (synopsis "Efficient global variables in Common Lisp")
6972 (description
6973 "In Common Lisp, a special variable that is never dynamically bound
6974 typically serves as a stand-in for a global variable. The @code{global-vars}
6975 library provides true global variables that are implemented by some compilers.
6976 An attempt to rebind a global variable properly results in a compiler error.
6977 That is, a global variable cannot be dynamically bound.
6978
6979 Global variables therefore allow us to communicate an intended usage that
6980 differs from special variables. Global variables are also more efficient than
6981 special variables, especially in the presence of threads.")
6982 (license license:expat))))
6983
6984 (define-public cl-global-vars
6985 (sbcl-package->cl-source-package sbcl-global-vars))
6986
6987 (define-public ecl-global-vars
6988 (sbcl-package->ecl-package sbcl-global-vars))
6989
6990 (define-public sbcl-trivial-file-size
6991 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
6992 (revision "0"))
6993 (package
6994 (name "sbcl-trivial-file-size")
6995 (version (git-version "0.0.0" revision commit))
6996 (home-page "https://github.com/ruricolist/trivial-file-size")
6997 (source
6998 (origin
6999 (method git-fetch)
7000 (uri (git-reference
7001 (url home-page)
7002 (commit commit)))
7003 (file-name (git-file-name name version))
7004 (sha256
7005 (base32
7006 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7007 (build-system asdf-build-system/sbcl)
7008 (native-inputs
7009 `(("fiveam" ,sbcl-fiveam)))
7010 (synopsis "Size of a file in bytes in Common Lisp")
7011 (description
7012 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7013 is to open the file with an element type of (unsigned-byte 8) and then
7014 calculate the length of the stream. This is less than ideal. In most cases
7015 it is better to get the size of the file from its metadata, using a system
7016 call.
7017
7018 This library exports a single function, file-size-in-octets. It returns the
7019 size of a file in bytes, using system calls when possible.")
7020 (license license:expat))))
7021
7022 (define-public cl-trivial-file-size
7023 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7024
7025 (define-public ecl-trivial-file-size
7026 (sbcl-package->ecl-package sbcl-trivial-file-size))
7027
7028 (define-public sbcl-trivial-macroexpand-all
7029 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7030 (revision "0"))
7031 (package
7032 (name "sbcl-trivial-macroexpand-all")
7033 (version (git-version "0.0.0" revision commit))
7034 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7035 (source
7036 (origin
7037 (method git-fetch)
7038 (uri (git-reference
7039 (url home-page)
7040 (commit commit)))
7041 (file-name (git-file-name name version))
7042 (sha256
7043 (base32
7044 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7045 (build-system asdf-build-system/sbcl)
7046 (native-inputs
7047 `(("fiveam" ,sbcl-fiveam)))
7048 (synopsis "Portable macroexpand-all for Common Lisp")
7049 (description
7050 "This library provides a macroexpand-all function that calls the
7051 implementation specific equivalent.")
7052 (license license:unlicense))))
7053
7054 (define-public cl-trivial-macroexpand-all
7055 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7056
7057 (define-public ecl-trivial-macroexpand-all
7058 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7059
7060 (define-public sbcl-serapeum
7061 (let ((commit "263f415a350736b44e3878524ff3997e656fca32")
7062 (revision "4"))
7063 (package
7064 (name "sbcl-serapeum")
7065 (version (git-version "0.0.0" revision commit))
7066 (home-page "https://github.com/ruricolist/serapeum")
7067 (source
7068 (origin
7069 (method git-fetch)
7070 (uri (git-reference
7071 (url home-page)
7072 (commit commit)))
7073 (file-name (git-file-name name version))
7074 (sha256
7075 (base32
7076 "1669yidvxq41s3g6hb2jk21bcb5s2bnfsacpyd5b0hdxbmc7knq3"))))
7077 (build-system asdf-build-system/sbcl)
7078 (inputs
7079 `(("alexandria" ,sbcl-alexandria)
7080 ("trivia" ,sbcl-trivia)
7081 ("split-sequence" ,sbcl-split-sequence)
7082 ("string-case" ,sbcl-string-case)
7083 ("parse-number" ,sbcl-parse-number)
7084 ("trivial-garbage" ,sbcl-trivial-garbage)
7085 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7086 ("named-readtables" ,sbcl-named-readtables)
7087 ("fare-quasiquote" ,sbcl-fare-quasiquote)
7088 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7089 ("global-vars" ,sbcl-global-vars)
7090 ("trivial-file-size" ,sbcl-trivial-file-size)
7091 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7092 (native-inputs
7093 `(("fiveam" ,sbcl-fiveam)
7094 ("local-time" ,sbcl-local-time)))
7095 (arguments
7096 '(#:phases
7097 (modify-phases %standard-phases
7098 (add-after 'unpack 'disable-failing-tests
7099 (lambda* (#:key inputs #:allow-other-keys)
7100 (substitute* "serapeum.asd"
7101 ;; Guix does not have Quicklisp, and probably never will.
7102 (("\\(:file \"quicklisp\"\\)") ""))
7103 #t)))))
7104 (synopsis "Common Lisp utility library beyond Alexandria")
7105 (description
7106 "Serapeum is a conservative library of Common Lisp utilities. It is a
7107 supplement, not a competitor, to Alexandria.")
7108 (license license:expat))))
7109
7110 (define-public cl-serapeum
7111 (sbcl-package->cl-source-package sbcl-serapeum))
7112
7113 (define-public ecl-serapeum
7114 (sbcl-package->ecl-package sbcl-serapeum))
7115
7116 (define-public sbcl-arrows
7117 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7118 (revision "0"))
7119 (package
7120 (name "sbcl-arrows")
7121 (version (git-version "0.2.0" revision commit))
7122 (source
7123 (origin
7124 (method git-fetch)
7125 (uri (git-reference
7126 (url "https://gitlab.com/Harleqin/arrows.git")
7127 (commit commit)))
7128 (file-name (git-file-name name version))
7129 (sha256
7130 (base32
7131 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7132 (build-system asdf-build-system/sbcl)
7133 (native-inputs
7134 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7135 (synopsis "Clojure-like arrow macros for Common Lisp")
7136 (description
7137 "This library implements the @code{->} and @code{->>} macros from
7138 Clojure, as well as several expansions on the idea.")
7139 (home-page "https://gitlab.com/Harleqin/arrows")
7140 (license license:public-domain))))
7141
7142 (define-public cl-arrows
7143 (sbcl-package->cl-source-package sbcl-arrows))
7144
7145 (define-public ecl-arrows
7146 (sbcl-package->ecl-package sbcl-arrows))
7147
7148 (define-public sbcl-simple-parallel-tasks
7149 (let ((commit "ce7b60f788d8f68dfb69b24aac54c0e3b63379a6")
7150 (revision "1"))
7151 (package
7152 (name "sbcl-simple-parallel-tasks")
7153 (version (git-version "1.0" revision commit))
7154 (source
7155 (origin
7156 (method git-fetch)
7157 (uri (git-reference
7158 (url "https://github.com/glv2/simple-parallel-tasks")
7159 (commit commit)))
7160 (file-name (git-file-name name version))
7161 (sha256
7162 (base32 "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7"))))
7163 (build-system asdf-build-system/sbcl)
7164 (native-inputs
7165 `(("fiveam" ,sbcl-fiveam)))
7166 (inputs
7167 `(("chanl" ,sbcl-chanl)))
7168 (synopsis "Common Lisp library to evaluate some forms in parallel")
7169 (description "This is a simple Common Lisp library to evaluate some
7170 forms in parallel.")
7171 (home-page "https://github.com/glv2/simple-parallel-tasks")
7172 (license license:gpl3))))
7173
7174 (define-public cl-simple-parallel-tasks
7175 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7176
7177 (define-public ecl-simple-parallel-tasks
7178 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7179
7180 (define-public sbcl-cl-heap
7181 (package
7182 (name "sbcl-cl-heap")
7183 (version "0.1.6")
7184 (source
7185 (origin
7186 (method url-fetch)
7187 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7188 "cl-heap_" version ".tar.gz"))
7189 (sha256
7190 (base32
7191 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7192 (build-system asdf-build-system/sbcl)
7193 (native-inputs
7194 `(("xlunit" ,sbcl-xlunit)))
7195 (arguments
7196 `(#:test-asd-file "cl-heap-tests.asd"))
7197 (synopsis "Heap and priority queue data structures for Common Lisp")
7198 (description
7199 "CL-HEAP provides various implementations of heap data structures (a
7200 binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7201 (home-page "https://common-lisp.net/project/cl-heap/")
7202 (license license:gpl3+)))
7203
7204 (define-public cl-heap
7205 (sbcl-package->cl-source-package sbcl-cl-heap))
7206
7207 (define-public ecl-cl-heap
7208 (sbcl-package->ecl-package sbcl-cl-heap))
7209
7210 (define-public sbcl-curry-compose-reader-macros
7211 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7212 (revision "0"))
7213 (package
7214 (name "sbcl-curry-compose-reader-macros")
7215 (version (git-version "1.0.0" revision commit))
7216 (source
7217 (origin
7218 (method git-fetch)
7219 (uri
7220 (git-reference
7221 (url "https://github.com/eschulte/curry-compose-reader-macros")
7222 (commit commit)))
7223 (file-name (git-file-name name version))
7224 (sha256
7225 (base32
7226 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7227 (build-system asdf-build-system/sbcl)
7228 (inputs
7229 `(("alexandria" ,sbcl-alexandria)
7230 ("named-readtables" ,sbcl-named-readtables)))
7231 (synopsis "Reader macros for partial application and composition")
7232 (description
7233 "This Common Lisp library provides reader macros for concise expression
7234 of function partial application and composition.")
7235 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7236 (license license:public-domain))))
7237
7238 (define-public cl-curry-compose-reader-macros
7239 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7240
7241 (define-public ecl-curry-compose-reader-macros
7242 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7243
7244 (define-public sbcl-yason
7245 (package
7246 (name "sbcl-yason")
7247 (version "0.7.7")
7248 (source
7249 (origin
7250 (method git-fetch)
7251 (uri (git-reference
7252 (url "https://github.com/phmarek/yason")
7253 (commit (string-append "v" version))))
7254 (file-name (git-file-name name version))
7255 (sha256
7256 (base32
7257 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7258 (build-system asdf-build-system/sbcl)
7259 (inputs
7260 `(("alexandria" ,sbcl-alexandria)
7261 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7262 (synopsis "Common Lisp JSON parser/encoder")
7263 (description
7264 "YASON is a Common Lisp library for encoding and decoding data in the
7265 JSON interchange format.")
7266 (home-page "https://github.com/phmarek/yason")
7267 (license license:bsd-3)))
7268
7269 (define-public cl-yason
7270 (sbcl-package->cl-source-package sbcl-yason))
7271
7272 (define-public ecl-yason
7273 (sbcl-package->ecl-package sbcl-yason))
7274
7275 (define-public sbcl-stefil
7276 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7277 (revision "0"))
7278 (package
7279 (name "sbcl-stefil")
7280 (version (git-version "0.1" revision commit))
7281 (source
7282 (origin
7283 (method git-fetch)
7284 (uri (git-reference
7285 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7286 (commit commit)))
7287 (file-name (git-file-name name version))
7288 (sha256
7289 (base32
7290 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7291 (build-system asdf-build-system/sbcl)
7292 (inputs
7293 `(("alexandria" ,sbcl-alexandria)
7294 ("iterate" ,sbcl-iterate)
7295 ("metabang-bind" ,sbcl-metabang-bind)
7296 ("swank" ,sbcl-slime-swank)))
7297 (arguments
7298 '(#:phases
7299 (modify-phases %standard-phases
7300 (add-after 'unpack 'drop-unnecessary-dependency
7301 (lambda _
7302 (substitute* "package.lisp"
7303 ((":stefil-system") ""))
7304 #t)))))
7305 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7306 (synopsis "Simple test framework")
7307 (description
7308 "Stefil is a simple test framework for Common Lisp, with a focus on
7309 interactive development.")
7310 (license license:public-domain))))
7311
7312 (define-public cl-stefil
7313 (sbcl-package->cl-source-package sbcl-stefil))
7314
7315 (define-public ecl-stefil
7316 (sbcl-package->ecl-package sbcl-stefil))
7317
7318 (define-public sbcl-graph
7319 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7320 (revision "0"))
7321 (package
7322 (name "sbcl-graph")
7323 (version (git-version "0.0.0" revision commit))
7324 (source
7325 (origin
7326 (method git-fetch)
7327 (uri
7328 (git-reference
7329 (url "https://github.com/eschulte/graph")
7330 (commit commit)))
7331 (file-name (git-file-name name version))
7332 (sha256
7333 (base32
7334 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))))
7335 (build-system asdf-build-system/sbcl)
7336 (native-inputs
7337 `(("stefil" ,sbcl-stefil)))
7338 (inputs
7339 `(("alexandria" ,sbcl-alexandria)
7340 ("cl-heap" ,sbcl-cl-heap)
7341 ("cl-ppcre" ,sbcl-cl-ppcre)
7342 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7343 ("metabang-bind" ,sbcl-metabang-bind)
7344 ("named-readtables" ,sbcl-named-readtables)
7345 ("yason" ,sbcl-yason)))
7346 (arguments
7347 '(#:asd-systems '("graph"
7348 "graph/dot"
7349 "graph/json")))
7350 (synopsis "Graph data structure and algorithms for Common Lisp")
7351 (description
7352 "The GRAPH Common Lisp library provides a data structures to represent
7353 graphs, as well as some graph manipulation and analysis algorithms (shortest
7354 path, maximum flow, minimum spanning tree, etc.).")
7355 (home-page "https://eschulte.github.io/graph/")
7356 (license license:gpl3+))))
7357
7358 (define-public cl-graph
7359 (sbcl-package->cl-source-package sbcl-graph))
7360
7361 (define-public ecl-graph
7362 (sbcl-package->ecl-package sbcl-graph))
7363
7364 (define-public sbcl-trivial-indent
7365 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7366 (revision "0"))
7367 (package
7368 (name "sbcl-trivial-indent")
7369 (version (git-version "1.0.0" revision commit))
7370 (source
7371 (origin
7372 (method git-fetch)
7373 (uri
7374 (git-reference
7375 (url "https://github.com/Shinmera/trivial-indent")
7376 (commit commit)))
7377 (file-name (git-file-name name version))
7378 (sha256
7379 (base32
7380 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7381 (build-system asdf-build-system/sbcl)
7382 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7383 (description
7384 "This library allows you to define custom indentation hints for your
7385 macros if the one recognised by SLIME automatically produces unwanted
7386 results.")
7387 (home-page "https://shinmera.github.io/trivial-indent/")
7388 (license license:zlib))))
7389
7390 (define-public cl-trivial-indent
7391 (sbcl-package->cl-source-package sbcl-trivial-indent))
7392
7393 (define-public ecl-trivial-indent
7394 (sbcl-package->ecl-package sbcl-trivial-indent))
7395
7396 (define-public sbcl-documentation-utils
7397 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7398 (revision "0"))
7399 (package
7400 (name "sbcl-documentation-utils")
7401 (version (git-version "1.2.0" revision commit))
7402 (source
7403 (origin
7404 (method git-fetch)
7405 (uri
7406 (git-reference
7407 (url "https://github.com/Shinmera/documentation-utils")
7408 (commit commit)))
7409 (file-name (git-file-name name version))
7410 (sha256
7411 (base32
7412 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7413 (build-system asdf-build-system/sbcl)
7414 (inputs
7415 `(("trivial-indent" ,sbcl-trivial-indent)))
7416 (synopsis "Few simple tools to document Common Lisp libraries")
7417 (description
7418 "This is a small library to help you with managing the Common Lisp
7419 docstrings for your library.")
7420 (home-page "https://shinmera.github.io/documentation-utils/")
7421 (license license:zlib))))
7422
7423 (define-public cl-documentation-utils
7424 (sbcl-package->cl-source-package sbcl-documentation-utils))
7425
7426 (define-public ecl-documentation-utils
7427 (sbcl-package->ecl-package sbcl-documentation-utils))
7428
7429 (define-public sbcl-documentation-utils-extensions
7430 (let ((commit "f67f8a05d583174662a594b79356b201c1d9d750"))
7431 (package
7432 (name "sbcl-documentation-utils-extensions")
7433 (version (git-version "0.0.0" "1" commit))
7434 (source
7435 (origin
7436 (method git-fetch)
7437 (uri
7438 (git-reference
7439 (url "https://github.com/sirherrbatka/documentation-utils-extensions/")
7440 (commit commit)))
7441 (file-name (git-file-name name version))
7442 (sha256
7443 (base32
7444 "0pn45c9rbxlnhn5nvhqz6kyv0nlirwxpg4j27niwdq80yxzsn51f"))))
7445 (build-system asdf-build-system/sbcl)
7446 (inputs
7447 `(("documentation-utils" ,sbcl-documentation-utils)))
7448 (home-page "https://github.com/sirherrbatka/documentation-utils-extensions")
7449 (synopsis "Set of extensions for documentation-utils")
7450 (description
7451 "Use @code{rich-formatter} to format documentation with sections @code{:syntax},
7452 @code{:arguments}, @code{:examples}, @code{:description}, @code{:returns},
7453 @code{:side-effects}, @code{:thread-safety}, @code{:affected-by},
7454 @code{:see-also} and @code{:notes}. Gather unformatted input by using
7455 @code{rich-aggregating-formatter} and @code{*DOCUMENTATION*} variable. Find
7456 gathered documentation with find-documentation function. Execute code stored
7457 in documentation with @code{execute-documentation}. See the examples in the
7458 @code{src/documentation.lisp} file. See the @code{documentation-utils} system
7459 for more information.")
7460 (license license:expat))))
7461
7462 (define-public cl-documentation-utils-extensions
7463 (sbcl-package->cl-source-package sbcl-documentation-utils-extensions))
7464
7465 (define-public ecl-documentation-utils-extensions
7466 (sbcl-package->ecl-package sbcl-documentation-utils-extensions))
7467
7468 (define-public sbcl-form-fiddle
7469 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7470 (revision "0"))
7471 (package
7472 (name "sbcl-form-fiddle")
7473 (version (git-version "1.1.0" revision commit))
7474 (source
7475 (origin
7476 (method git-fetch)
7477 (uri
7478 (git-reference
7479 (url "https://github.com/Shinmera/form-fiddle")
7480 (commit commit)))
7481 (file-name (git-file-name name version))
7482 (sha256
7483 (base32
7484 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7485 (build-system asdf-build-system/sbcl)
7486 (inputs
7487 `(("documentation-utils" ,sbcl-documentation-utils)))
7488 (synopsis "Utilities to destructure Common Lisp lambda forms")
7489 (description
7490 "Often times we need to destructure a form definition in a Common Lisp
7491 macro. This library provides a set of simple utilities to help with that.")
7492 (home-page "https://shinmera.github.io/form-fiddle/")
7493 (license license:zlib))))
7494
7495 (define-public cl-form-fiddle
7496 (sbcl-package->cl-source-package sbcl-form-fiddle))
7497
7498 (define-public ecl-form-fiddle
7499 (sbcl-package->ecl-package sbcl-form-fiddle))
7500
7501 (define-public sbcl-parachute
7502 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7503 (revision "0"))
7504 (package
7505 (name "sbcl-parachute")
7506 (version (git-version "1.1.1" revision commit))
7507 (source
7508 (origin
7509 (method git-fetch)
7510 (uri
7511 (git-reference
7512 (url "https://github.com/Shinmera/parachute")
7513 (commit commit)))
7514 (file-name (git-file-name name version))
7515 (sha256
7516 (base32
7517 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7518 (build-system asdf-build-system/sbcl)
7519 (inputs
7520 `(("documentation-utils" ,sbcl-documentation-utils)
7521 ("form-fiddle" ,sbcl-form-fiddle)))
7522 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7523 (description
7524 "Parachute is a simple-to-use and extensible testing framework.
7525 In Parachute, things are organised as a bunch of named tests within a package.
7526 Each test can contain a bunch of test forms that make up its body.")
7527 (home-page "https://shinmera.github.io/parachute/")
7528 (license license:zlib))))
7529
7530 (define-public cl-parachute
7531 (sbcl-package->cl-source-package sbcl-parachute))
7532
7533 (define-public ecl-parachute
7534 (sbcl-package->ecl-package sbcl-parachute))
7535
7536 (define-public sbcl-array-utils
7537 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7538 (revision "0"))
7539 (package
7540 (name "sbcl-array-utils")
7541 (version (git-version "1.1.1" revision commit))
7542 (source
7543 (origin
7544 (method git-fetch)
7545 (uri
7546 (git-reference
7547 (url "https://github.com/Shinmera/array-utils")
7548 (commit commit)))
7549 (file-name (git-file-name name version))
7550 (sha256
7551 (base32
7552 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7553 (build-system asdf-build-system/sbcl)
7554 (native-inputs
7555 `(("parachute" ,sbcl-parachute)))
7556 (inputs
7557 `(("documentation-utils" ,sbcl-documentation-utils)))
7558 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7559 (description
7560 "A miniature toolkit that contains some useful shifting/popping/pushing
7561 functions for arrays and vectors. Originally from Plump.")
7562 (home-page "https://shinmera.github.io/array-utils/")
7563 (license license:zlib))))
7564
7565 (define-public cl-array-utils
7566 (sbcl-package->cl-source-package sbcl-array-utils))
7567
7568 (define-public ecl-array-utils
7569 (sbcl-package->ecl-package sbcl-array-utils))
7570
7571 (define-public sbcl-plump
7572 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
7573 (revision "1"))
7574 (package
7575 (name "sbcl-plump")
7576 (version (git-version "2.0.0" revision commit))
7577 (source
7578 (origin
7579 (method git-fetch)
7580 (uri
7581 (git-reference
7582 (url "https://github.com/Shinmera/plump")
7583 (commit commit)))
7584 (file-name (git-file-name name version))
7585 (sha256
7586 (base32
7587 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
7588 (build-system asdf-build-system/sbcl)
7589 (inputs
7590 `(("array-utils" ,sbcl-array-utils)
7591 ("documentation-utils" ,sbcl-documentation-utils)))
7592 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7593 (description
7594 "Plump is a parser for HTML/XML-like documents, focusing on being
7595 lenient towards invalid markup. It can handle things like invalid attributes,
7596 bad closing tag order, unencoded entities, inexistent tag types, self-closing
7597 tags and so on. It parses documents to a class representation and offers a
7598 small set of DOM functions to manipulate it. It can be extended to parse to
7599 your own classes.")
7600 (home-page "https://shinmera.github.io/plump/")
7601 (license license:zlib))))
7602
7603 (define-public cl-plump
7604 (sbcl-package->cl-source-package sbcl-plump))
7605
7606 (define-public ecl-plump
7607 (sbcl-package->ecl-package sbcl-plump))
7608
7609 ;;; Split the antik package in two to work around the circular dependency
7610 ;;; between antik/antik and antik/gsll.
7611 (define-public sbcl-antik-base
7612 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7613 (revision "1"))
7614 (package
7615 (name "sbcl-antik-base")
7616 (version (git-version "0.0.0" revision commit))
7617 (source
7618 (origin
7619 (method git-fetch)
7620 (uri (git-reference
7621 (url "https://gitlab.common-lisp.net/antik/antik.git")
7622 (commit commit)))
7623 (file-name (git-file-name name version))
7624 (sha256
7625 (base32
7626 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7627 (build-system asdf-build-system/sbcl)
7628 (inputs
7629 `(("alexandria" ,sbcl-alexandria)
7630 ("cffi" ,sbcl-cffi)
7631 ("cl-ppcre" ,sbcl-cl-ppcre)
7632 ("drakma" ,sbcl-drakma)
7633 ("fare-utils" ,sbcl-fare-utils)
7634 ("iterate" ,sbcl-iterate)
7635 ("metabang-bind" ,sbcl-metabang-bind)
7636 ("named-readtables" ,sbcl-named-readtables)
7637 ("split-sequence" ,sbcl-split-sequence)
7638 ("static-vectors" ,sbcl-static-vectors)
7639 ("trivial-garbage" ,sbcl-trivial-garbage)
7640 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7641 (native-inputs
7642 `(("lisp-unit" ,sbcl-lisp-unit)))
7643 (arguments
7644 '(#:asd-systems '("antik-base"
7645 "foreign-array")
7646 #:phases
7647 (modify-phases %standard-phases
7648 (add-after 'unpack 'fix-build
7649 (lambda _
7650 (for-each delete-file
7651 '("antik.asd"
7652 "physical-dimension.asd"
7653 "science-data.asd"))
7654 #t)))))
7655 (synopsis "Scientific and engineering computation in Common Lisp")
7656 (description
7657 "Antik provides a foundation for scientific and engineering
7658 computation in Common Lisp. It is designed not only to facilitate
7659 numerical computations, but to permit the use of numerical computation
7660 libraries and the interchange of data and procedures, whether
7661 foreign (non-Lisp) or Lisp libraries. It is named after the
7662 Antikythera mechanism, one of the oldest examples of a scientific
7663 computer known.")
7664 (home-page "https://common-lisp.net/project/antik/")
7665 (license license:gpl3))))
7666
7667 (define-public cl-antik-base
7668 (sbcl-package->cl-source-package sbcl-antik-base))
7669
7670 (define-public ecl-antik-base
7671 (let ((pkg (sbcl-package->ecl-package sbcl-antik-base)))
7672 (package
7673 (inherit pkg)
7674 (arguments
7675 (substitute-keyword-arguments (package-arguments pkg)
7676 ((#:phases phases)
7677 `(modify-phases ,phases
7678 (add-after 'unpack 'fix-readtable
7679 (lambda _
7680 (substitute* "input-output/readtable.lisp"
7681 (("#-ccl")
7682 "#-(or ccl ecl)"))
7683 #t)))))))))
7684
7685 (define-public sbcl-gsll
7686 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7687 (revision "1"))
7688 (package
7689 (name "sbcl-gsll")
7690 (version (git-version "0.0.0" revision commit))
7691 (source
7692 (origin
7693 (method git-fetch)
7694 (uri (git-reference
7695 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7696 (commit commit)))
7697 (file-name (git-file-name name version))
7698 (sha256
7699 (base32
7700 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7701 (build-system asdf-build-system/sbcl)
7702 (native-inputs
7703 `(("lisp-unit" ,sbcl-lisp-unit)))
7704 (inputs
7705 `(("alexandria" ,sbcl-alexandria)
7706 ("antik-base" ,sbcl-antik-base)
7707 ("cffi" ,sbcl-cffi)
7708 ("gsl" ,gsl)
7709 ("metabang-bind" ,sbcl-metabang-bind)
7710 ("trivial-features" ,sbcl-trivial-features)
7711 ("trivial-garbage" ,sbcl-trivial-garbage)))
7712 (arguments
7713 `(#:tests? #f
7714 #:phases
7715 (modify-phases %standard-phases
7716 (add-after 'unpack 'fix-cffi-paths
7717 (lambda* (#:key inputs #:allow-other-keys)
7718 (substitute* "gsll.asd"
7719 ((":depends-on \\(#:foreign-array")
7720 ":depends-on (#:foreign-array #:cffi-libffi"))
7721 (substitute* "init/init.lisp"
7722 (("libgslcblas.so" all)
7723 (string-append
7724 (assoc-ref inputs "gsl") "/lib/" all)))
7725 (substitute* "init/init.lisp"
7726 (("libgsl.so" all)
7727 (string-append
7728 (assoc-ref inputs "gsl") "/lib/" all))))))))
7729 (synopsis "GNU Scientific Library for Lisp")
7730 (description
7731 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
7732 GNU Scientific Library (GSL) from Common Lisp. This library provides a
7733 full range of common mathematical operations useful to scientific and
7734 engineering applications. The design of the GSLL interface is such
7735 that access to most of the GSL library is possible in a Lisp-natural
7736 way; the intent is that the user not be hampered by the restrictions
7737 of the C language in which GSL has been written. GSLL thus provides
7738 interactive use of GSL for getting quick answers, even for someone not
7739 intending to program in Lisp.")
7740 (home-page "https://common-lisp.net/project/gsll/")
7741 (license license:gpl3))))
7742
7743 (define-public cl-gsll
7744 (sbcl-package->cl-source-package sbcl-gsll))
7745
7746 (define-public ecl-gsll
7747 (sbcl-package->ecl-package sbcl-gsll))
7748
7749 (define-public sbcl-antik
7750 (package
7751 (inherit sbcl-antik-base)
7752 (name "sbcl-antik")
7753 (inputs
7754 `(("antik-base" ,sbcl-antik-base)
7755 ("gsll" ,sbcl-gsll)))
7756 (arguments
7757 '(#:asd-systems '("antik"
7758 "science-data")
7759 #:phases
7760 (modify-phases %standard-phases
7761 (add-after 'unpack 'fix-build
7762 (lambda _
7763 (for-each delete-file
7764 '("antik-base.asd"
7765 "foreign-array.asd"))
7766 #t)))))))
7767
7768 (define-public cl-antik
7769 (sbcl-package->cl-source-package sbcl-antik))
7770
7771 (define-public sbcl-cl-interpol
7772 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
7773 (revision "1"))
7774 (package
7775 (name "sbcl-cl-interpol")
7776 (version (git-version "0.2.6" revision commit))
7777 (source
7778 (origin
7779 (method git-fetch)
7780 (uri (git-reference
7781 (url "https://github.com/edicl/cl-interpol")
7782 (commit commit)))
7783 (file-name (git-file-name name version))
7784 (sha256
7785 (base32
7786 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
7787 (build-system asdf-build-system/sbcl)
7788 (inputs
7789 `(("cl-unicode" ,sbcl-cl-unicode)
7790 ("named-readtables" ,sbcl-named-readtables)))
7791 (native-inputs
7792 `(("flexi-streams" ,sbcl-flexi-streams)))
7793 (synopsis "String interpolation for Common Lisp")
7794 (description
7795 "CL-INTERPOL is a library for Common Lisp which modifies the
7796 reader so that you can have interpolation within strings similar to
7797 Perl or Unix Shell scripts. It also provides various ways to insert
7798 arbitrary characters into literal strings even if your editor/IDE
7799 doesn't support them.")
7800 (home-page "https://edicl.github.io/cl-interpol/")
7801 (license license:bsd-3))))
7802
7803 (define-public cl-interpol
7804 (sbcl-package->cl-source-package sbcl-cl-interpol))
7805
7806 (define-public ecl-cl-interpol
7807 (sbcl-package->ecl-package sbcl-cl-interpol))
7808
7809 (define-public sbcl-symbol-munger
7810 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
7811 (revision "1"))
7812 (package
7813 (name "sbcl-symbol-munger")
7814 (version (git-version "0.0.1" revision commit))
7815 (source
7816 (origin
7817 (method git-fetch)
7818 (uri (git-reference
7819 (url "https://github.com/AccelerationNet/symbol-munger")
7820 (commit commit)))
7821 (file-name (git-file-name name version))
7822 (sha256
7823 (base32
7824 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
7825 (build-system asdf-build-system/sbcl)
7826 (inputs
7827 `(("alexandria" ,sbcl-alexandria)
7828 ("iterate" ,sbcl-iterate)))
7829 (arguments
7830 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7831 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7832 '(#:tests? #f))
7833 (synopsis
7834 "Capitalization and spacing conversion functions for Common Lisp")
7835 (description
7836 "This is a Common Lisp library to change the capitalization and spacing
7837 of a string or a symbol. It can convert to and from Lisp, english, underscore
7838 and camel-case rules.")
7839 (home-page "https://github.com/AccelerationNet/symbol-munger")
7840 ;; The package declares a BSD license, but all of the license
7841 ;; text is MIT.
7842 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
7843 (license license:expat))))
7844
7845 (define-public cl-symbol-munger
7846 (sbcl-package->cl-source-package sbcl-symbol-munger))
7847
7848 (define-public ecl-symbol-munger
7849 (sbcl-package->ecl-package sbcl-symbol-munger))
7850
7851 (define-public sbcl-lisp-unit2
7852 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7853 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7854 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
7855 (revision "1"))
7856 (package
7857 (name "sbcl-lisp-unit2")
7858 (version (git-version "0.2.0" revision commit))
7859 (source
7860 (origin
7861 (method git-fetch)
7862 (uri (git-reference
7863 (url "https://github.com/AccelerationNet/lisp-unit2")
7864 (commit commit)))
7865 (file-name (git-file-name name version))
7866 (sha256
7867 (base32
7868 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
7869 (build-system asdf-build-system/sbcl)
7870 (inputs
7871 `(("alexandria" ,sbcl-alexandria)
7872 ("cl-interpol" ,sbcl-cl-interpol)
7873 ("iterate" ,sbcl-iterate)
7874 ("symbol-munger" ,sbcl-symbol-munger)))
7875 (synopsis "Test Framework for Common Lisp")
7876 (description
7877 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
7878 style of JUnit for Java. It is a new version of the lisp-unit library written
7879 by Chris Riesbeck.")
7880 (home-page "https://github.com/AccelerationNet/lisp-unit2")
7881 (license license:expat))))
7882
7883 (define-public cl-lisp-unit2
7884 (sbcl-package->cl-source-package sbcl-lisp-unit2))
7885
7886 (define-public ecl-lisp-unit2
7887 (sbcl-package->ecl-package sbcl-lisp-unit2))
7888
7889 (define-public sbcl-cl-csv
7890 (let ((commit "68ecb5d816545677513d7f6308d9e5e8d2265651")
7891 (revision "2"))
7892 (package
7893 (name "sbcl-cl-csv")
7894 (version (git-version "1.0.6" revision commit))
7895 (source
7896 (origin
7897 (method git-fetch)
7898 (uri (git-reference
7899 (url "https://github.com/AccelerationNet/cl-csv")
7900 (commit commit)))
7901 (file-name (git-file-name name version))
7902 (sha256
7903 (base32
7904 "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x"))))
7905 (build-system asdf-build-system/sbcl)
7906 (arguments
7907 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
7908 `(#:tests? #f))
7909 (inputs
7910 `(("alexandria" ,sbcl-alexandria)
7911 ("cl-interpol" ,sbcl-cl-interpol)
7912 ("iterate" ,sbcl-iterate)))
7913 (native-inputs
7914 `(("lisp-unit2" ,sbcl-lisp-unit2)))
7915 (synopsis "Common lisp library for comma-separated values")
7916 (description
7917 "This is a Common Lisp library providing functions to read/write CSV
7918 from/to strings, streams and files.")
7919 (home-page "https://github.com/AccelerationNet/cl-csv")
7920 (license license:bsd-3))))
7921
7922 (define-public cl-csv
7923 (sbcl-package->cl-source-package sbcl-cl-csv))
7924
7925 (define-public ecl-cl-csv
7926 (sbcl-package->ecl-package sbcl-cl-csv))
7927
7928 (define-public sbcl-external-program
7929 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
7930 (revision "1"))
7931 (package
7932 (name "sbcl-external-program")
7933 (version (git-version "0.0.6" revision commit))
7934 (source
7935 (origin
7936 (method git-fetch)
7937 (uri (git-reference
7938 (url "https://github.com/sellout/external-program")
7939 (commit commit)))
7940 (file-name (git-file-name name version))
7941 (sha256
7942 (base32
7943 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
7944 (build-system asdf-build-system/sbcl)
7945 (inputs
7946 `(("trivial-features" ,sbcl-trivial-features)))
7947 (native-inputs
7948 `(("fiveam" ,sbcl-fiveam)))
7949 (synopsis "Common Lisp library for running external programs")
7950 (description
7951 "EXTERNAL-PROGRAM enables running programs outside the Lisp
7952 process. It is an attempt to make the RUN-PROGRAM functionality in
7953 implementations like SBCL and CCL as portable as possible without
7954 sacrificing much in the way of power.")
7955 (home-page "https://github.com/sellout/external-program")
7956 (license license:llgpl))))
7957
7958 (define-public cl-external-program
7959 (sbcl-package->cl-source-package sbcl-external-program))
7960
7961 (define-public ecl-external-program
7962 (sbcl-package->ecl-package sbcl-external-program))
7963
7964 (define-public sbcl-cl-ana
7965 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
7966 (revision "1"))
7967 (package
7968 (name "sbcl-cl-ana")
7969 (version (git-version "0.0.0" revision commit))
7970 (source
7971 (origin
7972 (method git-fetch)
7973 (uri (git-reference
7974 (url "https://github.com/ghollisjr/cl-ana")
7975 (commit commit)))
7976 (file-name (git-file-name name version))
7977 (sha256
7978 (base32 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
7979 (build-system asdf-build-system/sbcl)
7980 (native-inputs
7981 `(("cl-fad" ,sbcl-cl-fad)))
7982 (inputs
7983 `(("alexandria" ,sbcl-alexandria)
7984 ("antik" ,sbcl-antik)
7985 ("cffi" ,sbcl-cffi)
7986 ("cl-csv" ,sbcl-cl-csv)
7987 ("closer-mop" ,sbcl-closer-mop)
7988 ("external-program" ,sbcl-external-program)
7989 ("gsl" ,gsl)
7990 ("gsll" ,sbcl-gsll)
7991 ("hdf5" ,hdf5-parallel-openmpi)
7992 ("iterate" ,sbcl-iterate)
7993 ("libffi" ,libffi)
7994 ("split-sequence" ,sbcl-split-sequence)))
7995 (arguments
7996 `(#:phases
7997 (modify-phases %standard-phases
7998 (add-after 'unpack 'fix-paths
7999 (lambda* (#:key inputs #:allow-other-keys)
8000 (substitute* "hdf-cffi/hdf-cffi.lisp"
8001 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8002 (string-append (assoc-ref inputs "hdf5")
8003 "/lib/libhdf5.so")))
8004 (substitute* "gsl-cffi/gsl-cffi.lisp"
8005 (("define-foreign-library gsl-cffi" all)
8006 (string-append all " (:unix "
8007 (assoc-ref inputs "gsl")
8008 "/lib/libgsl.so)")))
8009 #t)))))
8010 (synopsis "Common Lisp data analysis library")
8011 (description
8012 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8013 binned data analysis along with nonlinear least squares fitting and
8014 visualization.")
8015 (home-page "https://github.com/ghollisjr/cl-ana")
8016 (license license:gpl3))))
8017
8018 (define-public cl-ana
8019 (sbcl-package->cl-source-package sbcl-cl-ana))
8020
8021 (define-public sbcl-archive
8022 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
8023 (revision "1"))
8024 (package
8025 (name "sbcl-archive")
8026 (version (git-version "0.9" revision commit))
8027 (source (origin
8028 (method git-fetch)
8029 (uri (git-reference
8030 (url "https://github.com/sharplispers/archive")
8031 (commit commit)))
8032 (file-name (git-file-name name version))
8033 (sha256
8034 (base32
8035 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
8036 (build-system asdf-build-system/sbcl)
8037 (inputs
8038 `(("cl-fad" ,sbcl-cl-fad)
8039 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
8040 (synopsis "Common Lisp library for tar and cpio archives")
8041 (description
8042 "This is a Common Lisp library to read and write disk-based file
8043 archives such as those generated by the tar and cpio programs on Unix.")
8044 (home-page "https://github.com/sharplispers/archive")
8045 (license license:bsd-3))))
8046
8047 (define-public cl-archive
8048 (sbcl-package->cl-source-package sbcl-archive))
8049
8050 (define-public ecl-archive
8051 (sbcl-package->ecl-package sbcl-archive))
8052
8053 (define-public sbcl-misc-extensions
8054 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
8055 (revision "1"))
8056 (package
8057 (name "sbcl-misc-extensions")
8058 (version (git-version "3.3" revision commit))
8059 (source
8060 (origin
8061 (method git-fetch)
8062 (uri (git-reference
8063 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
8064 (commit commit)))
8065 (file-name (git-file-name name version))
8066 (sha256
8067 (base32
8068 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
8069 (build-system asdf-build-system/sbcl)
8070 (synopsis "Collection of small macros and extensions for Common Lisp")
8071 (description
8072 "This project is intended as a catchall for small, general-purpose
8073 extensions to Common Lisp. It contains:
8074
8075 @itemize
8076 @item @code{new-let}, a macro that combines and generalizes @code{let},
8077 @code{let*} and @code{multiple-value-bind},
8078 @item @code{gmap}, an iteration macro that generalizes @code{map}.
8079 @end itemize\n")
8080 (home-page "https://common-lisp.net/project/misc-extensions/")
8081 (license license:public-domain))))
8082
8083 (define-public cl-misc-extensions
8084 (sbcl-package->cl-source-package sbcl-misc-extensions))
8085
8086 (define-public ecl-misc-extensions
8087 (sbcl-package->ecl-package sbcl-misc-extensions))
8088
8089 (define-public sbcl-mt19937
8090 (package
8091 (name "sbcl-mt19937")
8092 (version "1.1")
8093 (source
8094 (origin
8095 (method url-fetch)
8096 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
8097 "mt19937-latest.tar.gz"))
8098 (sha256
8099 (base32
8100 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
8101 (build-system asdf-build-system/sbcl)
8102 (synopsis "Mersenne Twister pseudo-random number generator")
8103 (description
8104 "MT19937 is a portable Mersenne Twister pseudo-random number generator
8105 for Common Lisp.")
8106 (home-page "https://www.cliki.net/mt19937")
8107 (license license:public-domain)))
8108
8109 (define-public cl-mt19937
8110 (sbcl-package->cl-source-package sbcl-mt19937))
8111
8112 (define-public ecl-mt19937
8113 (sbcl-package->ecl-package sbcl-mt19937))
8114
8115 (define-public sbcl-fset
8116 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
8117 (revision "1"))
8118 (package
8119 (name "sbcl-fset")
8120 (version (git-version "1.3.2" revision commit))
8121 (source
8122 (origin
8123 (method git-fetch)
8124 (uri (git-reference
8125 (url "https://github.com/slburson/fset")
8126 (commit commit)))
8127 (file-name (git-file-name name version))
8128 (sha256
8129 (base32
8130 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
8131 (snippet '(begin
8132 ;; Remove obsolete copy of system definition.
8133 (delete-file "Code/fset.asd")
8134 #t))))
8135 (build-system asdf-build-system/sbcl)
8136 (inputs
8137 `(("misc-extensions" ,sbcl-misc-extensions)
8138 ("mt19937" ,sbcl-mt19937)
8139 ("named-readtables" ,sbcl-named-readtables)))
8140 (synopsis "Functional set-theoretic collections library")
8141 (description
8142 "FSet is a functional set-theoretic collections library for Common Lisp.
8143 Functional means that all update operations return a new collection rather than
8144 modifying an existing one in place. Set-theoretic means that collections may
8145 be nested arbitrarily with no additional programmer effort; for instance, sets
8146 may contain sets, maps may be keyed by sets, etc.")
8147 (home-page "https://common-lisp.net/project/fset/Site/index.html")
8148 (license license:llgpl))))
8149
8150 (define-public cl-fset
8151 (sbcl-package->cl-source-package sbcl-fset))
8152
8153 (define-public ecl-fset
8154 (package
8155 (inherit (sbcl-package->ecl-package sbcl-fset))
8156 (arguments
8157 ;; Tests fails on ECL with "The function FSET::MAKE-CHAR is undefined".
8158 '(#:tests? #f))))
8159
8160 (define-public sbcl-cl-cont
8161 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
8162 (revision "1"))
8163 (package
8164 (name "sbcl-cl-cont")
8165 (version (git-version "0.3.8" revision commit))
8166 (source
8167 (origin
8168 (method git-fetch)
8169 (uri (git-reference
8170 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
8171 (commit commit)))
8172 (file-name (git-file-name name version))
8173 (sha256
8174 (base32
8175 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
8176 (build-system asdf-build-system/sbcl)
8177 (inputs
8178 `(("alexandria" ,sbcl-alexandria)
8179 ("closer-mop" ,sbcl-closer-mop)))
8180 (native-inputs
8181 `(("rt" ,sbcl-rt)))
8182 (synopsis "Delimited continuations for Common Lisp")
8183 (description
8184 "This is a library that implements delimited continuations by
8185 transforming Common Lisp code to continuation passing style.")
8186 (home-page "https://common-lisp.net/project/cl-cont/")
8187 (license license:llgpl))))
8188
8189 (define-public cl-cont
8190 (sbcl-package->cl-source-package sbcl-cl-cont))
8191
8192 (define-public ecl-cl-cont
8193 (sbcl-package->ecl-package sbcl-cl-cont))
8194
8195 (define-public sbcl-cl-coroutine
8196 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
8197 (revision "1"))
8198 (package
8199 (name "sbcl-cl-coroutine")
8200 (version (git-version "0.1" revision commit))
8201 (source
8202 (origin
8203 (method git-fetch)
8204 (uri (git-reference
8205 (url "https://github.com/takagi/cl-coroutine")
8206 (commit commit)))
8207 (file-name (git-file-name name version))
8208 (sha256
8209 (base32
8210 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
8211 (build-system asdf-build-system/sbcl)
8212 (inputs
8213 `(("alexandria" ,sbcl-alexandria)
8214 ("cl-cont" ,sbcl-cl-cont)))
8215 (native-inputs
8216 `(("prove" ,sbcl-prove)))
8217 (arguments
8218 `(;; TODO: Fix the tests. They fail with:
8219 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
8220 #:tests? #f
8221 #:phases
8222 (modify-phases %standard-phases
8223 (add-after 'unpack 'fix-tests
8224 (lambda _
8225 (substitute* "cl-coroutine-test.asd"
8226 (("cl-test-more")
8227 "prove"))
8228 #t)))))
8229 (synopsis "Coroutine library for Common Lisp")
8230 (description
8231 "This is a coroutine library for Common Lisp implemented using the
8232 continuations of the @code{cl-cont} library.")
8233 (home-page "https://github.com/takagi/cl-coroutine")
8234 (license license:llgpl))))
8235
8236 (define-public cl-coroutine
8237 (sbcl-package->cl-source-package sbcl-cl-coroutine))
8238
8239 (define-public ecl-cl-coroutine
8240 (sbcl-package->ecl-package sbcl-cl-coroutine))
8241
8242 (define-public sbcl-vas-string-metrics
8243 (let ((commit "f2e4500b180316123fbd549bd51c751ee2d6ba0f")
8244 (revision "1"))
8245 (package
8246 (name "sbcl-vas-string-metrics")
8247 (version (git-version "0.0.0" revision commit))
8248 (source
8249 (origin
8250 (method git-fetch)
8251 (uri (git-reference
8252 (url "https://github.com/vsedach/vas-string-metrics")
8253 (commit commit)))
8254 (file-name (git-file-name "vas-string-metrics" version))
8255 (sha256
8256 (base32 "11fcnd03ybzz37rkg3z0wsb727yqgcd9gn70sccfb34l89ia279k"))))
8257 (build-system asdf-build-system/sbcl)
8258 (arguments
8259 `(#:test-asd-file "test.vas-string-metrics.asd"))
8260 (home-page "https://github.com/vsedach/vas-string-metrics")
8261 (synopsis "String distance algorithms for Common Lisp")
8262 (description
8263 "VAS-STRING-METRICS provides the Jaro, Jaro-Winkler, Soerensen-Dice,
8264 Levenshtein, and normalized Levenshtein string distance/similarity metrics
8265 algorithms.")
8266 (license license:lgpl3+))))
8267
8268 (define-public ecl-vas-string-metrics
8269 (sbcl-package->ecl-package sbcl-vas-string-metrics))
8270
8271 (define-public cl-vas-string-metrics
8272 (sbcl-package->cl-source-package sbcl-vas-string-metrics))
8273
8274 (define-public sbcl-vom
8275 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
8276 (revision "1"))
8277 (package
8278 (name "sbcl-vom")
8279 (version (git-version "0.1.4" revision commit))
8280 (source
8281 (origin
8282 (method git-fetch)
8283 (uri (git-reference
8284 (url "https://github.com/orthecreedence/vom")
8285 (commit commit)))
8286 (file-name (git-file-name name version))
8287 (sha256
8288 (base32
8289 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
8290 (build-system asdf-build-system/sbcl)
8291 (synopsis "Tiny logging utility for Common Lisp")
8292 (description
8293 "Vom is a logging library for Common Lisp. It's goal is to be useful
8294 and small. It does not provide a lot of features as other loggers do, but
8295 has a small codebase that's easy to understand and use.")
8296 (home-page "https://github.com/orthecreedence/vom")
8297 (license license:expat))))
8298
8299 (define-public cl-vom
8300 (sbcl-package->cl-source-package sbcl-vom))
8301
8302 (define-public ecl-vom
8303 (sbcl-package->ecl-package sbcl-vom))
8304
8305 (define-public sbcl-cl-libuv
8306 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
8307 (revision "1"))
8308 (package
8309 (name "sbcl-cl-libuv")
8310 (version (git-version "0.1.6" revision commit))
8311 (source
8312 (origin
8313 (method git-fetch)
8314 (uri (git-reference
8315 (url "https://github.com/orthecreedence/cl-libuv")
8316 (commit commit)))
8317 (file-name (git-file-name name version))
8318 (sha256
8319 (base32
8320 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
8321 (build-system asdf-build-system/sbcl)
8322 (inputs
8323 `(("alexandria" ,sbcl-alexandria)
8324 ("cffi" ,sbcl-cffi)
8325 ("libuv" ,libuv)))
8326 (arguments
8327 `(#:phases
8328 (modify-phases %standard-phases
8329 (add-after 'unpack 'fix-paths
8330 (lambda* (#:key inputs #:allow-other-keys)
8331 (substitute* "lib.lisp"
8332 (("/usr/lib/libuv.so")
8333 (string-append (assoc-ref inputs "libuv")
8334 "/lib/libuv.so")))
8335 #t))
8336 (add-after 'fix-paths 'fix-system-definition
8337 (lambda _
8338 (substitute* "cl-libuv.asd"
8339 (("#:cffi #:alexandria")
8340 "#:cffi #:cffi-grovel #:alexandria"))
8341 #t)))))
8342 (synopsis "Common Lisp bindings to libuv")
8343 (description
8344 "This library provides low-level libuv bindings for Common Lisp.")
8345 (home-page "https://github.com/orthecreedence/cl-libuv")
8346 (license license:expat))))
8347
8348 (define-public cl-libuv
8349 (sbcl-package->cl-source-package sbcl-cl-libuv))
8350
8351 (define-public ecl-cl-libuv
8352 (sbcl-package->ecl-package sbcl-cl-libuv))
8353
8354 (define-public sbcl-cl-async
8355 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
8356 (revision "1"))
8357 (package
8358 (name "sbcl-cl-async")
8359 (version (git-version "0.6.1" revision commit))
8360 (source
8361 (origin
8362 (method git-fetch)
8363 (uri (git-reference
8364 (url "https://github.com/orthecreedence/cl-async")
8365 (commit commit)))
8366 (file-name (git-file-name name version))
8367 (sha256
8368 (base32
8369 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
8370 (build-system asdf-build-system/sbcl)
8371 (inputs
8372 `(("babel" ,sbcl-babel)
8373 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8374 ("cffi" ,sbcl-cffi)
8375 ("cl-libuv" ,sbcl-cl-libuv)
8376 ("cl-ppcre" ,sbcl-cl-ppcre)
8377 ("fast-io" ,sbcl-fast-io)
8378 ("openssl" ,openssl)
8379 ("static-vectors" ,sbcl-static-vectors)
8380 ("trivial-features" ,sbcl-trivial-features)
8381 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
8382 ("vom" ,sbcl-vom)))
8383 (arguments
8384 `(#:asd-systems '("cl-async"
8385 "cl-async-repl"
8386 "cl-async-ssl")
8387 #:phases
8388 (modify-phases %standard-phases
8389 (add-after 'unpack 'fix-paths
8390 (lambda* (#:key inputs #:allow-other-keys)
8391 (substitute* "src/ssl/package.lisp"
8392 (("libcrypto\\.so")
8393 (string-append (assoc-ref inputs "openssl")
8394 "/lib/libcrypto.so"))
8395 (("libssl\\.so")
8396 (string-append (assoc-ref inputs "openssl")
8397 "/lib/libssl.so")))
8398 #t)))))
8399 (synopsis "Asynchronous operations for Common Lisp")
8400 (description
8401 "Cl-async is a library for general purpose, non-blocking programming in
8402 Common Lisp. It uses the libuv library as backend.")
8403 (home-page "https://orthecreedence.github.io/cl-async/")
8404 (license license:expat))))
8405
8406 (define-public cl-async
8407 (sbcl-package->cl-source-package sbcl-cl-async))
8408
8409 (define-public ecl-cl-async
8410 (sbcl-package->ecl-package sbcl-cl-async))
8411
8412 (define-public sbcl-blackbird
8413 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
8414 (revision "1"))
8415 (package
8416 (name "sbcl-blackbird")
8417 (version (git-version "0.5.2" revision commit))
8418 (source
8419 (origin
8420 (method git-fetch)
8421 (uri (git-reference
8422 (url "https://github.com/orthecreedence/blackbird")
8423 (commit commit)))
8424 (file-name (git-file-name name version))
8425 (sha256
8426 (base32
8427 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
8428 (build-system asdf-build-system/sbcl)
8429 (inputs
8430 `(("vom" ,sbcl-vom)))
8431 (native-inputs
8432 `(("cl-async" ,sbcl-cl-async)
8433 ("fiveam" ,sbcl-fiveam)))
8434 (synopsis "Promise implementation for Common Lisp")
8435 (description
8436 "This is a standalone promise implementation for Common Lisp. It is
8437 the successor to the now-deprecated cl-async-future project.")
8438 (home-page "https://orthecreedence.github.io/blackbird/")
8439 (license license:expat))))
8440
8441 (define-public cl-blackbird
8442 (sbcl-package->cl-source-package sbcl-blackbird))
8443
8444 (define-public ecl-blackbird
8445 (sbcl-package->ecl-package sbcl-blackbird))
8446
8447 (define-public sbcl-cl-async-future
8448 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
8449 (revision "1"))
8450 (package
8451 (name "sbcl-cl-async-future")
8452 (version (git-version "0.4.4.1" revision commit))
8453 (source
8454 (origin
8455 (method git-fetch)
8456 (uri (git-reference
8457 (url "https://github.com/orthecreedence/cl-async-future")
8458 (commit commit)))
8459 (file-name (git-file-name name version))
8460 (sha256
8461 (base32
8462 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
8463 (build-system asdf-build-system/sbcl)
8464 (inputs
8465 `(("blackbird" ,sbcl-blackbird)))
8466 (native-inputs
8467 `(("cl-async" ,sbcl-cl-async)
8468 ("eos" ,sbcl-eos)))
8469 (synopsis "Futures implementation for Common Lisp")
8470 (description
8471 "This is futures implementation for Common Lisp. It plugs in nicely
8472 to cl-async.")
8473 (home-page "https://orthecreedence.github.io/cl-async/future")
8474 (license license:expat))))
8475
8476 (define-public cl-async-future
8477 (sbcl-package->cl-source-package sbcl-cl-async-future))
8478
8479 (define-public ecl-cl-async-future
8480 (sbcl-package->ecl-package sbcl-cl-async-future))
8481
8482 (define-public sbcl-green-threads
8483 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
8484 (revision "1"))
8485 (package
8486 (name "sbcl-green-threads")
8487 (version (git-version "0.3" revision commit))
8488 (source
8489 (origin
8490 (method git-fetch)
8491 (uri (git-reference
8492 (url "https://github.com/thezerobit/green-threads")
8493 (commit commit)))
8494 (file-name (git-file-name name version))
8495 (sha256
8496 (base32
8497 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
8498 (build-system asdf-build-system/sbcl)
8499 (inputs
8500 `(("cl-async-future" ,sbcl-cl-async-future)
8501 ("cl-cont" ,sbcl-cl-cont)))
8502 (native-inputs
8503 `(("prove" ,sbcl-prove)))
8504 (arguments
8505 `(;; TODO: Fix the tests. They fail with:
8506 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
8507 #:tests? #f
8508 #:phases
8509 (modify-phases %standard-phases
8510 (add-after 'unpack 'fix-tests
8511 (lambda _
8512 (substitute* "green-threads-test.asd"
8513 (("cl-test-more")
8514 "prove"))
8515 #t)))))
8516 (synopsis "Cooperative multitasking library for Common Lisp")
8517 (description
8518 "This library allows for cooperative multitasking with help of cl-cont
8519 for continuations. It tries to mimic the API of bordeaux-threads as much as
8520 possible.")
8521 (home-page "https://github.com/thezerobit/green-threads")
8522 (license license:bsd-3))))
8523
8524 (define-public cl-green-threads
8525 (sbcl-package->cl-source-package sbcl-green-threads))
8526
8527 (define-public ecl-green-threads
8528 (sbcl-package->ecl-package sbcl-green-threads))
8529
8530 (define-public sbcl-cl-base32
8531 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
8532 (revision "1"))
8533 (package
8534 (name "sbcl-cl-base32")
8535 (version (git-version "0.1" revision commit))
8536 (source
8537 (origin
8538 (method git-fetch)
8539 (uri (git-reference
8540 (url "https://github.com/hargettp/cl-base32")
8541 (commit commit)))
8542 (file-name (git-file-name name version))
8543 (sha256
8544 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
8545 (build-system asdf-build-system/sbcl)
8546 (native-inputs
8547 `(("lisp-unit" ,sbcl-lisp-unit)))
8548 (synopsis "Common Lisp library for base32 encoding and decoding")
8549 (description
8550 "This package provides functions for base32 encoding and decoding as
8551 defined in RFC4648.")
8552 (home-page "https://github.com/hargettp/cl-base32")
8553 (license license:expat))))
8554
8555 (define-public cl-base32
8556 (sbcl-package->cl-source-package sbcl-cl-base32))
8557
8558 (define-public ecl-cl-base32
8559 (sbcl-package->ecl-package sbcl-cl-base32))
8560
8561 (define-public sbcl-cl-z85
8562 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
8563 (revision "1"))
8564 (package
8565 (name "sbcl-cl-z85")
8566 (version (git-version "1.0" revision commit))
8567 (source
8568 (origin
8569 (method git-fetch)
8570 (uri (git-reference
8571 (url "https://github.com/glv2/cl-z85")
8572 (commit commit)))
8573 (file-name (git-file-name name version))
8574 (sha256
8575 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
8576 (build-system asdf-build-system/sbcl)
8577 (native-inputs
8578 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
8579 ("fiveam" ,sbcl-fiveam)))
8580 (synopsis "Common Lisp library for Z85 encoding and decoding")
8581 (description
8582 "This package provides functions to encode or decode byte vectors or
8583 byte streams using the Z85 format, which is a base-85 encoding used by
8584 ZeroMQ.")
8585 (home-page "https://github.com/glv2/cl-z85")
8586 (license license:gpl3+))))
8587
8588 (define-public cl-z85
8589 (sbcl-package->cl-source-package sbcl-cl-z85))
8590
8591 (define-public ecl-cl-z85
8592 (sbcl-package->ecl-package sbcl-cl-z85))
8593
8594 (define-public sbcl-ltk
8595 (package
8596 (name "sbcl-ltk")
8597 (version "0.992")
8598 (source
8599 (origin
8600 (method git-fetch)
8601 (uri (git-reference
8602 (url "https://github.com/herth/ltk")
8603 (commit version)))
8604 (file-name (git-file-name name version))
8605 (sha256
8606 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
8607 (build-system asdf-build-system/sbcl)
8608 (inputs
8609 `(("imagemagick" ,imagemagick)
8610 ("tk" ,tk)))
8611 (arguments
8612 `(#:asd-systems '("ltk"
8613 "ltk-mw"
8614 "ltk-remote")
8615 #:tests? #f
8616 #:phases
8617 (modify-phases %standard-phases
8618 (add-after 'unpack 'fix-paths
8619 (lambda* (#:key inputs #:allow-other-keys)
8620 (substitute* "ltk/ltk.lisp"
8621 (("#-freebsd \"wish\"")
8622 (string-append "#-freebsd \""
8623 (assoc-ref inputs "tk")
8624 "/bin/wish\""))
8625 (("do-execute \"convert\"")
8626 (string-append "do-execute \""
8627 (assoc-ref inputs "imagemagick")
8628 "/bin/convert\"")))
8629 #t))
8630 (add-after 'unpack 'fix-build
8631 (lambda _
8632 (substitute* "ltk/ltk-remote.lisp"
8633 (("\\(:export")
8634 "(:shadow #:raise) (:export"))
8635 #t)))))
8636 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
8637 (description
8638 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
8639 in pure Common Lisp and does not require any Tk knowledge for its usage.")
8640 (home-page "http://www.peter-herth.de/ltk/")
8641 (license license:llgpl)))
8642
8643 (define-public cl-ltk
8644 (sbcl-package->cl-source-package sbcl-ltk))
8645
8646 (define-public ecl-ltk
8647 (sbcl-package->ecl-package sbcl-ltk))
8648
8649 (define-public sbcl-cl-lex
8650 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
8651 (revision "1"))
8652 (package
8653 (name "sbcl-cl-lex")
8654 (version (git-version "1.1.3" revision commit))
8655 (source
8656 (origin
8657 (method git-fetch)
8658 (uri (git-reference
8659 (url "https://github.com/djr7C4/cl-lex")
8660 (commit commit)))
8661 (file-name (git-file-name name version))
8662 (sha256
8663 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
8664 (build-system asdf-build-system/sbcl)
8665 (inputs
8666 `(("cl-ppcre" ,sbcl-cl-ppcre)))
8667 (synopsis "Common Lisp macros for generating lexical analyzers")
8668 (description
8669 "This is a Common Lisp library providing a set of macros for generating
8670 lexical analyzers automatically. The lexers generated using @code{cl-lex} can
8671 be used with @code{cl-yacc}.")
8672 (home-page "https://github.com/djr7C4/cl-lex")
8673 (license license:gpl3))))
8674
8675 (define-public cl-lex
8676 (sbcl-package->cl-source-package sbcl-cl-lex))
8677
8678 (define-public ecl-cl-lex
8679 (sbcl-package->ecl-package sbcl-cl-lex))
8680
8681 (define-public sbcl-clunit2
8682 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
8683 (revision "1"))
8684 (package
8685 (name "sbcl-clunit2")
8686 (version (git-version "0.2.4" revision commit))
8687 (source
8688 (origin
8689 (method git-fetch)
8690 (uri (git-reference
8691 (url "https://notabug.org/cage/clunit2.git")
8692 (commit commit)))
8693 (file-name (git-file-name name version))
8694 (sha256
8695 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
8696 (build-system asdf-build-system/sbcl)
8697 (synopsis "Unit testing framework for Common Lisp")
8698 (description
8699 "CLUnit is a Common Lisp unit testing framework. It is designed to be
8700 easy to use so that you can quickly start testing.")
8701 (home-page "https://notabug.org/cage/clunit2")
8702 (license license:expat))))
8703
8704 (define-public cl-clunit2
8705 (sbcl-package->cl-source-package sbcl-clunit2))
8706
8707 (define-public ecl-clunit2
8708 (sbcl-package->ecl-package sbcl-clunit2))
8709
8710 (define-public sbcl-cl-colors2
8711 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
8712 (revision "1"))
8713 (package
8714 (name "sbcl-cl-colors2")
8715 (version (git-version "0.2.1" revision commit))
8716 (source
8717 (origin
8718 (method git-fetch)
8719 (uri (git-reference
8720 (url "https://notabug.org/cage/cl-colors2.git")
8721 (commit commit)))
8722 (file-name (git-file-name name version))
8723 (sha256
8724 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
8725 (build-system asdf-build-system/sbcl)
8726 (native-inputs
8727 `(("clunit2" ,sbcl-clunit2)))
8728 (inputs
8729 `(("alexandria" ,sbcl-alexandria)
8730 ("cl-ppcre" ,sbcl-cl-ppcre)))
8731 (synopsis "Color library for Common Lisp")
8732 (description
8733 "This is a very simple color library for Common Lisp, providing:
8734
8735 @itemize
8736 @item Types for representing colors in HSV and RGB spaces.
8737 @item Simple conversion functions between the above types (and also
8738 hexadecimal representation for RGB).
8739 @item Some predefined colors (currently X11 color names -- of course
8740 the library does not depend on X11).
8741 @end itemize\n")
8742 (home-page "https://notabug.org/cage/cl-colors2")
8743 (license license:boost1.0))))
8744
8745 (define-public cl-colors2
8746 (sbcl-package->cl-source-package sbcl-cl-colors2))
8747
8748 (define-public ecl-cl-colors2
8749 (sbcl-package->ecl-package sbcl-cl-colors2))
8750
8751 (define-public sbcl-cl-jpeg
8752 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
8753 (revision "1"))
8754 (package
8755 (name "sbcl-cl-jpeg")
8756 (version (git-version "2.8" revision commit))
8757 (source
8758 (origin
8759 (method git-fetch)
8760 (uri (git-reference
8761 (url "https://github.com/sharplispers/cl-jpeg")
8762 (commit commit)))
8763 (file-name (git-file-name name version))
8764 (sha256
8765 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
8766 (build-system asdf-build-system/sbcl)
8767 (synopsis "JPEG image library for Common Lisp")
8768 (description
8769 "This is a baseline JPEG codec written in Common Lisp. It can be used
8770 for reading and writing JPEG image files.")
8771 (home-page "https://github.com/sharplispers/cl-jpeg")
8772 (license license:bsd-3))))
8773
8774 (define-public cl-jpeg
8775 (sbcl-package->cl-source-package sbcl-cl-jpeg))
8776
8777 (define-public ecl-cl-jpeg
8778 (sbcl-package->ecl-package sbcl-cl-jpeg))
8779
8780 (define-public sbcl-nodgui
8781 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
8782 (revision "1"))
8783 (package
8784 (name "sbcl-nodgui")
8785 (version (git-version "0.0.5" revision commit))
8786 (source
8787 (origin
8788 (method git-fetch)
8789 (uri (git-reference
8790 (url "https://notabug.org/cage/nodgui.git")
8791 (commit commit)))
8792 (file-name (git-file-name name version))
8793 (sha256
8794 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
8795 (build-system asdf-build-system/sbcl)
8796 (inputs
8797 `(("alexandria" ,sbcl-alexandria)
8798 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8799 ("cl-colors2" ,sbcl-cl-colors2)
8800 ("cl-jpeg" ,sbcl-cl-jpeg)
8801 ("cl-lex" ,sbcl-cl-lex)
8802 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
8803 ("cl-unicode" ,sbcl-cl-unicode)
8804 ("cl-yacc" ,sbcl-cl-yacc)
8805 ("clunit2" ,sbcl-clunit2)
8806 ("named-readtables" ,sbcl-named-readtables)
8807 ("parse-number" ,sbcl-parse-number)
8808 ("tk" ,tk)))
8809 (arguments
8810 `(#:phases (modify-phases %standard-phases
8811 (add-after 'unpack 'fix-paths
8812 (lambda* (#:key inputs #:allow-other-keys)
8813 (substitute* "src/wish-communication.lisp"
8814 (("#-freebsd \"wish\"")
8815 (string-append "#-freebsd \""
8816 (assoc-ref inputs "tk")
8817 "/bin/wish\"")))
8818 #t)))))
8819 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
8820 (description
8821 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
8822 toolkit. It also provides a few additional widgets more than the standard Tk
8823 ones.")
8824 (home-page "https://www.autistici.org/interzona/nodgui.html")
8825 (license license:llgpl))))
8826
8827 (define-public cl-nodgui
8828 (sbcl-package->cl-source-package sbcl-nodgui))
8829
8830 (define-public ecl-nodgui
8831 (sbcl-package->ecl-package sbcl-nodgui))
8832
8833 (define-public sbcl-salza2
8834 (package
8835 (name "sbcl-salza2")
8836 (version "2.0.9")
8837 (source
8838 (origin
8839 (method git-fetch)
8840 (uri (git-reference
8841 (url "https://github.com/xach/salza2")
8842 (commit (string-append "release-" version))))
8843 (file-name (git-file-name name version))
8844 (sha256
8845 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
8846 (build-system asdf-build-system/sbcl)
8847 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
8848 (description
8849 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
8850 deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
8851 respectively.")
8852 (home-page "https://www.xach.com/lisp/salza2/")
8853 (license license:bsd-2)))
8854
8855 (define-public cl-salza2
8856 (sbcl-package->cl-source-package sbcl-salza2))
8857
8858 (define-public ecl-salza2
8859 (sbcl-package->ecl-package sbcl-salza2))
8860
8861 (define-public sbcl-origin
8862 (let ((commit "d646134302456408d6d43580bb05299f1695ab8e")
8863 (revision "1"))
8864 (package
8865 (name "sbcl-origin")
8866 (version (git-version "2.0.0" revision commit))
8867 (source
8868 (origin
8869 (method git-fetch)
8870 (uri (git-reference
8871 (url "https://git.mfiano.net/mfiano/origin")
8872 (commit commit)))
8873 (file-name (git-file-name "origin" version))
8874 (sha256
8875 (base32 "1n9aszaif3yh8prs5r8v51fbj4r5jd1a048mivd5yij3hplkm82b"))))
8876 (build-system asdf-build-system/sbcl)
8877 (native-inputs
8878 `(("parachute" ,sbcl-parachute)))
8879 (inputs
8880 `(("golden-utils" ,sbcl-golden-utils)
8881 ("specialization-store" ,sbcl-specialization-store)))
8882 (home-page "https://git.mfiano.net/mfiano/origin")
8883 (synopsis "Common Lisp graphics math library")
8884 (description
8885 "This is a native Common Lisp graphics math library with an emphasis on
8886 performance and correctness.")
8887 (license license:expat))))
8888
8889 (define-public ecl-origin
8890 (sbcl-package->ecl-package sbcl-origin))
8891
8892 (define-public cl-origin
8893 (sbcl-package->cl-source-package sbcl-origin))
8894
8895 (define-public sbcl-png-read
8896 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
8897 (revision "1"))
8898 (package
8899 (name "sbcl-png-read")
8900 (version (git-version "0.3.1" revision commit))
8901 (source
8902 (origin
8903 (method git-fetch)
8904 (uri (git-reference
8905 (url "https://github.com/Ramarren/png-read")
8906 (commit commit)))
8907 (file-name (git-file-name name version))
8908 (sha256
8909 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
8910 (build-system asdf-build-system/sbcl)
8911 (inputs
8912 `(("babel" ,sbcl-babel)
8913 ("chipz" ,sbcl-chipz)
8914 ("iterate" ,sbcl-iterate)))
8915 (synopsis "PNG decoder for Common Lisp")
8916 (description "This is a Common Lisp library for reading PNG images.")
8917 (home-page "https://github.com/Ramarren/png-read")
8918 (license license:bsd-3))))
8919
8920 (define-public cl-png-read
8921 (sbcl-package->cl-source-package sbcl-png-read))
8922
8923 (define-public ecl-png-read
8924 (sbcl-package->ecl-package sbcl-png-read))
8925
8926 (define-public sbcl-3b-bmfont
8927 (let ((commit "d1b5bec0de580c2d08ec947a93c56b1400f2a37a")
8928 (revision "1"))
8929 (package
8930 (name "sbcl-3b-bmfont")
8931 (version (git-version "0.0.1" revision commit))
8932 (source
8933 (origin
8934 (method git-fetch)
8935 (uri (git-reference
8936 (url "https://github.com/3b/3b-bmfont/")
8937 (commit commit)))
8938 (file-name (git-file-name "3b-bmfont" version))
8939 (sha256
8940 (base32 "12sgf7m0h6fqzhvkas7vmci6mprj3j3fnz778jlbqbsydln6v2yc"))))
8941 (build-system asdf-build-system/sbcl)
8942 (arguments
8943 `(#:asd-systems
8944 '("3b-bmfont"
8945 "3b-bmfont/text"
8946 "3b-bmfont/common"
8947 "3b-bmfont/xml"
8948 "3b-bmfont/json")))
8949 (inputs
8950 `(("alexandria" ,sbcl-alexandria)
8951 ("cxml" ,sbcl-cxml)
8952 ("flexi-streams" ,sbcl-flexi-streams)
8953 ("jsown" ,sbcl-jsown)
8954 ("split-sequence" ,sbcl-split-sequence)))
8955 (home-page "https://github.com/3b/3b-bmfont/")
8956 (synopsis "Read/write bmfont metadata files")
8957 (description
8958 "This is a Common Lisp library which provides functionality to
8959 read/write Bit Map Font (BMF) into text, JSON and XML.")
8960 (license license:expat))))
8961
8962 (define-public ecl-3b-bmfont
8963 (sbcl-package->ecl-package sbcl-3b-bmfont))
8964
8965 (define-public cl-3b-bmfont
8966 (sbcl-package->cl-source-package sbcl-3b-bmfont))
8967
8968 (define-public sbcl-zpng
8969 (package
8970 (name "sbcl-zpng")
8971 (version "1.2.2")
8972 (source
8973 (origin
8974 (method git-fetch)
8975 (uri (git-reference
8976 (url "https://github.com/xach/zpng")
8977 (commit (string-append "release-" version))))
8978 (file-name (git-file-name name version))
8979 (sha256
8980 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
8981 (build-system asdf-build-system/sbcl)
8982 (inputs
8983 `(("salza2" ,sbcl-salza2)))
8984 (synopsis "PNG encoder for Common Lisp")
8985 (description "This is a Common Lisp library for creating PNG images.")
8986 (home-page "https://www.xach.com/lisp/zpng/")
8987 (license license:bsd-2)))
8988
8989 (define-public cl-zpng
8990 (sbcl-package->cl-source-package sbcl-zpng))
8991
8992 (define-public ecl-zpng
8993 (sbcl-package->ecl-package sbcl-zpng))
8994
8995 (define-public sbcl-cl-qrencode
8996 (package
8997 (name "sbcl-cl-qrencode")
8998 (version "0.1.2")
8999 (source
9000 (origin
9001 (method git-fetch)
9002 (uri (git-reference
9003 (url "https://github.com/jnjcc/cl-qrencode")
9004 (commit (string-append "v" version))))
9005 (file-name (git-file-name name version))
9006 (sha256
9007 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
9008 (build-system asdf-build-system/sbcl)
9009 (native-inputs
9010 `(("lisp-unit" ,sbcl-lisp-unit)))
9011 (inputs
9012 `(("zpng" ,sbcl-zpng)))
9013 (synopsis "QR code encoder for Common Lisp")
9014 (description
9015 "This Common Lisp library provides function to make QR codes and to save
9016 them as PNG files.")
9017 (home-page "https://github.com/jnjcc/cl-qrencode")
9018 (license license:gpl2+)))
9019
9020 (define-public cl-qrencode
9021 (sbcl-package->cl-source-package sbcl-cl-qrencode))
9022
9023 (define-public ecl-cl-qrencode
9024 (sbcl-package->ecl-package sbcl-cl-qrencode))
9025
9026 (define-public sbcl-hdf5-cffi
9027 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
9028 (revision "1"))
9029 (package
9030 (name "sbcl-hdf5-cffi")
9031 (version (git-version "1.8.18" revision commit))
9032 (source
9033 (origin
9034 (method git-fetch)
9035 (uri (git-reference
9036 (url "https://github.com/hdfgroup/hdf5-cffi")
9037 (commit commit)))
9038 (file-name (git-file-name name version))
9039 (sha256
9040 (base32
9041 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
9042 (build-system asdf-build-system/sbcl)
9043 (synopsis "Common Lisp bindings for the HDF5 library")
9044 (description
9045 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
9046 (home-page "https://github.com/hdfgroup/hdf5-cffi")
9047 (license (license:non-copyleft
9048 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
9049 commit
9050 "/LICENSE")))
9051 (inputs
9052 `(("cffi" ,sbcl-cffi)
9053 ("hdf5" ,hdf5-1.10)))
9054 (native-inputs
9055 `(("fiveam" ,sbcl-fiveam)))
9056 (arguments
9057 `(#:test-asd-file "hdf5-cffi.test.asd"
9058 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
9059 ;; I don't know if there is a way to tell asdf-build-system to load
9060 ;; an additional system first, so tests are disabled.
9061 #:tests? #f
9062 #:phases
9063 (modify-phases %standard-phases
9064 (add-after 'unpack 'fix-paths
9065 (lambda* (#:key inputs #:allow-other-keys)
9066 (substitute* "src/library.lisp"
9067 (("libhdf5.so")
9068 (string-append
9069 (assoc-ref inputs "hdf5")
9070 "/lib/libhdf5.so")))))
9071 (add-after 'unpack 'fix-dependencies
9072 (lambda* (#:key inputs #:allow-other-keys)
9073 (substitute* "hdf5-cffi.asd"
9074 ((":depends-on \\(:cffi\\)")
9075 ":depends-on (:cffi :cffi-grovel)"))
9076 (substitute* "hdf5-cffi.test.asd"
9077 ((":depends-on \\(:cffi :hdf5-cffi")
9078 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
9079
9080 (define-public cl-hdf5-cffi
9081 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
9082
9083 (define-public ecl-hdf5-cffi
9084 (sbcl-package->ecl-package sbcl-hdf5-cffi))
9085
9086 (define-public sbcl-cl-randist
9087 (package
9088 (name "sbcl-cl-randist")
9089 (version "0.4.2")
9090 (source
9091 (origin
9092 (method git-fetch)
9093 (uri (git-reference
9094 (url "https://github.com/lvaruzza/cl-randist")
9095 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
9096 (file-name (git-file-name name version))
9097 (sha256
9098 (base32
9099 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
9100 (build-system asdf-build-system/sbcl)
9101 (synopsis "Random distributions for Common Lisp")
9102 (description
9103 "Manual translation from C to Common Lisp of some random number
9104 generation functions from the GSL library.")
9105 (home-page "https://github.com/lvaruzza/cl-randist")
9106 (license license:bsd-2)
9107 (arguments
9108 `(#:tests? #f))))
9109
9110 (define-public cl-randist
9111 (sbcl-package->cl-source-package sbcl-cl-randist))
9112
9113 (define-public ecl-cl-randist
9114 (sbcl-package->ecl-package sbcl-cl-randist))
9115
9116 (define-public sbcl-float-features
9117 (package
9118 (name "sbcl-float-features")
9119 (version "1.0.0")
9120 (source
9121 (origin
9122 (method git-fetch)
9123 (uri (git-reference
9124 (url "https://github.com/Shinmera/float-features")
9125 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
9126 (file-name (git-file-name name version))
9127 (sha256
9128 (base32
9129 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
9130 (build-system asdf-build-system/sbcl)
9131 (synopsis "Common Lisp IEEE float portability library")
9132 (description
9133 "Portability library for IEEE float features that are not
9134 covered by the Common Lisp standard.")
9135 (home-page "https://github.com/Shinmera/float-features")
9136 (license license:zlib)
9137 (inputs
9138 `(("documentation-utils" ,sbcl-documentation-utils)))
9139 (arguments
9140 `(#:tests? #f))))
9141
9142 (define-public cl-float-features
9143 (sbcl-package->cl-source-package sbcl-float-features))
9144
9145 (define-public ecl-float-features
9146 (sbcl-package->ecl-package sbcl-float-features))
9147
9148 (define-public sbcl-function-cache
9149 (package
9150 (name "sbcl-function-cache")
9151 (version "1.0.3")
9152 (source
9153 (origin
9154 (method git-fetch)
9155 (uri (git-reference
9156 (url "https://github.com/AccelerationNet/function-cache")
9157 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
9158 (file-name (git-file-name name version))
9159 (sha256
9160 (base32
9161 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
9162 (build-system asdf-build-system/sbcl)
9163 (synopsis "Function caching / memoization library for Common Lisp")
9164 (description
9165 "A common lisp library that provides extensible function result
9166 caching based on arguments (an expanded form of memoization).")
9167 (home-page "https://github.com/AccelerationNet/function-cache")
9168 (license
9169 (license:non-copyleft
9170 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
9171 (inputs
9172 `(("alexandria" ,sbcl-alexandria)
9173 ("cl-interpol" ,sbcl-cl-interpol)
9174 ("iterate" ,sbcl-iterate)
9175 ("symbol-munger" ,sbcl-symbol-munger)
9176 ("closer-mop" ,sbcl-closer-mop)))
9177 (arguments
9178 `(#:tests? #f))))
9179
9180 (define-public cl-function-cache
9181 (sbcl-package->cl-source-package sbcl-function-cache))
9182
9183 (define-public ecl-function-cache
9184 (sbcl-package->ecl-package sbcl-function-cache))
9185
9186 (define-public sbcl-type-r
9187 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
9188 (revision "1"))
9189 (package
9190 (name "sbcl-type-r")
9191 (version (git-version "0.0.0" revision commit))
9192 (source
9193 (origin
9194 (method git-fetch)
9195 (uri (git-reference
9196 (url "https://github.com/guicho271828/type-r")
9197 (commit commit)))
9198 (file-name (git-file-name name version))
9199 (sha256
9200 (base32
9201 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
9202 (build-system asdf-build-system/sbcl)
9203 (synopsis "Parser interface for Common Lisp built-in compound types")
9204 (description
9205 "Collections of accessor functions and patterns to access
9206 the elements in compound type specifier, e.g. @code{dimensions} in
9207 @code{(array element-type dimensions)}")
9208 (home-page "https://github.com/guicho271828/type-r")
9209 (license license:lgpl3+)
9210 (inputs
9211 `(("trivia" ,sbcl-trivia)
9212 ("alexandria" ,sbcl-alexandria)))
9213 (native-inputs
9214 `(("fiveam" ,sbcl-fiveam)))
9215 (arguments
9216 `(#:test-asd-file "type-r.test.asd")))))
9217
9218 (define-public cl-type-r
9219 (sbcl-package->cl-source-package sbcl-type-r))
9220
9221 (define-public ecl-type-r
9222 (sbcl-package->ecl-package sbcl-type-r))
9223
9224 (define-public sbcl-trivialib-type-unify
9225 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
9226 (revision "1"))
9227 (package
9228 (name "sbcl-trivialib-type-unify")
9229 (version (git-version "0.1" revision commit))
9230 (source
9231 (origin
9232 (method git-fetch)
9233 (uri (git-reference
9234 (url "https://github.com/guicho271828/trivialib.type-unify")
9235 (commit commit)))
9236 (file-name (git-file-name name version))
9237 (sha256
9238 (base32
9239 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
9240 (build-system asdf-build-system/sbcl)
9241 (synopsis "Common Lisp type unification")
9242 (description
9243 "Unifies a parametrized type specifier against an actual type specifier.
9244 Importantly, it handles complicated array-subtypes and number-related types
9245 correctly.")
9246 (home-page "https://github.com/guicho271828/trivialib.type-unify")
9247 (license license:lgpl3+)
9248 (inputs
9249 `(("alexandria" ,sbcl-alexandria)
9250 ("trivia" ,sbcl-trivia)
9251 ("introspect-environment" ,sbcl-introspect-environment)
9252 ("type-r" ,sbcl-type-r)))
9253 (native-inputs
9254 `(("fiveam" ,sbcl-fiveam)))
9255 (arguments
9256 `(#:asd-systems '("trivialib.type-unify")
9257 #:test-asd-file "trivialib.type-unify.test.asd")))))
9258
9259 (define-public cl-trivialib-type-unify
9260 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
9261
9262 (define-public ecl-trivialib-type-unify
9263 (sbcl-package->ecl-package sbcl-trivialib-type-unify))
9264
9265 (define-public sbcl-specialized-function
9266 (let ((commit "dee56d2d2b6ecd10500ad291c56217698604ec35")
9267 (revision "2"))
9268 (package
9269 (name "sbcl-specialized-function")
9270 (version (git-version "0.0.0" revision commit))
9271 (source
9272 (origin
9273 (method git-fetch)
9274 (uri (git-reference
9275 (url "https://github.com/numcl/specialized-function")
9276 (commit commit)))
9277 (file-name (git-file-name name version))
9278 (sha256
9279 (base32 "1mcc7mmpbnmgnr1cl2jl5r1ai54gn7fbisv2c14sh9za5w4sib82"))))
9280 (build-system asdf-build-system/sbcl)
9281 (synopsis "Julia-like dispatch for Common Lisp")
9282 (description
9283 "This library is part of NUMCL. It provides a macro
9284 @code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
9285 lazily compiling a type-specific version of the function from the same
9286 code. The main target of this macro is speed.")
9287 (home-page "https://github.com/numcl/specialized-function")
9288 (license license:lgpl3+)
9289 (inputs
9290 `(("trivia" ,sbcl-trivia)
9291 ("alexandria" ,sbcl-alexandria)
9292 ("iterate" ,sbcl-iterate)
9293 ("lisp-namespace" ,sbcl-lisp-namespace)
9294 ("type-r" ,sbcl-type-r)
9295 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
9296 (native-inputs
9297 `(("fiveam" ,sbcl-fiveam)))
9298 (arguments
9299 `(#:asd-files '("specialized-function.asd")
9300 #:test-asd-file "specialized-function.test.asd"
9301 ;; Tests fail because they try to use an internal symbol of SBCL
9302 ;; that does not exists in recent versions:
9303 ;; "The variable SB-VM:COMPLEX-VECTOR-NIL-WIDETAG is unbound."
9304 #:tests? #f)))))
9305
9306 (define-public cl-specialized-function
9307 (sbcl-package->cl-source-package sbcl-specialized-function))
9308
9309 (define-public ecl-specialized-function
9310 (sbcl-package->ecl-package sbcl-specialized-function))
9311
9312 (define-public sbcl-constantfold
9313 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
9314 (revision "1"))
9315 (package
9316 (name "sbcl-constantfold")
9317 (version (git-version "0.1" revision commit))
9318 (source
9319 (origin
9320 (method git-fetch)
9321 (uri (git-reference
9322 (url "https://github.com/numcl/constantfold")
9323 (commit commit)))
9324 (file-name (git-file-name name version))
9325 (sha256
9326 (base32
9327 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
9328 (build-system asdf-build-system/sbcl)
9329 (synopsis "Support library for numcl")
9330 (description
9331 "Support library for numcl. Registers a function as an
9332 additional form that is considered as a candidate for a constant.")
9333 (home-page "https://github.com/numcl/constantfold")
9334 (license license:lgpl3+)
9335 (inputs
9336 `(("trivia" ,sbcl-trivia)
9337 ("alexandria" ,sbcl-alexandria)
9338 ("iterate" ,sbcl-iterate)
9339 ("lisp-namespace" ,sbcl-lisp-namespace)))
9340 (native-inputs
9341 `(("fiveam" ,sbcl-fiveam)))
9342 (arguments
9343 `(#:asd-files '("constantfold.asd")
9344 #:test-asd-file "constantfold.test.asd")))))
9345
9346 (define-public cl-constantfold
9347 (sbcl-package->cl-source-package sbcl-constantfold))
9348
9349 (define-public ecl-constantfold
9350 (sbcl-package->ecl-package sbcl-constantfold))
9351
9352 (define-public sbcl-gtype
9353 (let ((commit "2442e32485635525af278ebd8fa69a27d5b8cf18")
9354 (revision "2"))
9355 (package
9356 (name "sbcl-gtype")
9357 (version (git-version "0.1" revision commit))
9358 (source
9359 (origin
9360 (method git-fetch)
9361 (uri (git-reference
9362 (url "https://github.com/numcl/gtype")
9363 (commit commit)))
9364 (file-name (git-file-name name version))
9365 (sha256
9366 (base32 "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h"))))
9367 (build-system asdf-build-system/sbcl)
9368 (synopsis "C++/Julia-like parametric types in Common Lisp")
9369 (description
9370 "Support library for numcl that provides Julia-like runtime parametric
9371 type correctness in Common Lisp. It is based on CLtL2 extensions.")
9372 (home-page "https://github.com/numcl/gtype")
9373 (license license:lgpl3+)
9374 (inputs
9375 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
9376 ("trivial-cltl2" ,sbcl-trivial-cltl2)
9377 ("trivia" ,sbcl-trivia)
9378 ("alexandria" ,sbcl-alexandria)
9379 ("iterate" ,sbcl-iterate)
9380 ("type-r" ,sbcl-type-r)))
9381 (native-inputs
9382 `(("fiveam" ,sbcl-fiveam)))
9383 (arguments
9384 `(#:asd-files '("gtype.asd")
9385 #:test-asd-file "gtype.test.asd")))))
9386
9387 (define-public cl-gtype
9388 (sbcl-package->cl-source-package sbcl-gtype))
9389
9390 (define-public ecl-gtype
9391 (let ((pkg (sbcl-package->ecl-package sbcl-gtype)))
9392 (package
9393 (inherit pkg)
9394 (arguments
9395 (substitute-keyword-arguments (package-arguments pkg)
9396 ;; The tests fail on ECL with a COMPILE-FILE-ERROR for t/package.lisp.
9397 ((#:tests? _ #f) #f))))))
9398
9399 (define-public sbcl-numcl
9400 (let ((commit "3e8d40bf774e070e7af1d3dbf01bc8c37dbebd3a")
9401 (revision "2"))
9402 (package
9403 (name "sbcl-numcl")
9404 (version (git-version "0.1.0" revision commit))
9405 (source
9406 (origin
9407 (method git-fetch)
9408 (uri (git-reference
9409 (url "https://github.com/numcl/numcl")
9410 (commit commit)))
9411 (file-name (git-file-name name version))
9412 (sha256
9413 (base32 "1hqpr68f6xkxaj1hjjayyh97wcdmj51k20qrd3nsv1rcpmdc5ll4"))))
9414 (build-system asdf-build-system/sbcl)
9415 (synopsis "Numpy clone in Common Lisp")
9416 (description
9417 "This is a Numpy clone in Common Lisp. At the moment the
9418 library is written in pure Common Lisp, focusing more on correctness
9419 and usefulness, not speed. Track the progress at
9420 @url{https://github.com/numcl/numcl/projects/1}.")
9421 (home-page "https://github.com/numcl/numcl")
9422 (license license:lgpl3+)
9423 (inputs
9424 `(("trivia" ,sbcl-trivia)
9425 ("alexandria" ,sbcl-alexandria)
9426 ("iterate" ,sbcl-iterate)
9427 ("lisp-namespace" ,sbcl-lisp-namespace)
9428 ("type-r" ,sbcl-type-r)
9429 ("constantfold" ,sbcl-constantfold)
9430 ("cl-randist" ,sbcl-cl-randist)
9431 ("float-features" ,sbcl-float-features)
9432 ("function-cache" ,sbcl-function-cache)
9433 ("specialized-function" ,sbcl-specialized-function)
9434 ("gtype" ,sbcl-gtype)))
9435 (native-inputs
9436 `(("fiveam" ,sbcl-fiveam)))
9437 (arguments
9438 `(#:asd-files '("numcl.asd")
9439 #:test-asd-file "numcl.test.asd"
9440 ;; Tests fail on SBCL with "Heap exhausted, game over",
9441 ;; but they pass on ECL.
9442 #:tests? #f)))))
9443
9444 (define-public cl-numcl
9445 (sbcl-package->cl-source-package sbcl-numcl))
9446
9447 (define-public ecl-numcl
9448 (let ((pkg (sbcl-package->ecl-package sbcl-numcl)))
9449 (package
9450 (inherit pkg)
9451 (arguments
9452 (substitute-keyword-arguments (package-arguments pkg)
9453 ((#:tests? _ #f) #t))))))
9454
9455 (define-public sbcl-pzmq
9456 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
9457 (revision "1"))
9458 (package
9459 (name "sbcl-pzmq")
9460 (version (git-version "0.0.0" revision commit))
9461 (source
9462 (origin
9463 (method git-fetch)
9464 (uri (git-reference
9465 (url "https://github.com/orivej/pzmq")
9466 (commit commit)))
9467 (file-name (git-file-name name version))
9468 (sha256
9469 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
9470 (build-system asdf-build-system/sbcl)
9471 (native-inputs
9472 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9473 ("fiveam" ,sbcl-fiveam)
9474 ("let-plus" ,sbcl-let-plus)))
9475 (inputs
9476 `(("cffi" ,sbcl-cffi)
9477 ("zeromq" ,zeromq)))
9478 (arguments
9479 `(#:phases (modify-phases %standard-phases
9480 (add-after 'unpack 'fix-paths
9481 (lambda* (#:key inputs #:allow-other-keys)
9482 (substitute* "c-api.lisp"
9483 (("\"libzmq")
9484 (string-append "\""
9485 (assoc-ref inputs "zeromq")
9486 "/lib/libzmq")))
9487 #t)))))
9488 (synopsis "Common Lisp bindings for the ZeroMQ library")
9489 (description "This Common Lisp library provides bindings for the ZeroMQ
9490 lightweight messaging kernel.")
9491 (home-page "https://github.com/orivej/pzmq")
9492 (license license:unlicense))))
9493
9494 (define-public cl-pzmq
9495 (sbcl-package->cl-source-package sbcl-pzmq))
9496
9497 (define-public ecl-pzmq
9498 (sbcl-package->ecl-package sbcl-pzmq))
9499
9500 (define-public sbcl-clss
9501 (let ((revision "1")
9502 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
9503 (package
9504 (name "sbcl-clss")
9505 (version (git-version "0.3.1" revision commit))
9506 (source
9507 (origin
9508 (method git-fetch)
9509 (uri
9510 (git-reference
9511 (url "https://github.com/Shinmera/clss")
9512 (commit commit)))
9513 (sha256
9514 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
9515 (file-name (git-file-name name version))))
9516 (inputs
9517 `(("array-utils" ,sbcl-array-utils)
9518 ("plump" ,sbcl-plump)))
9519 (build-system asdf-build-system/sbcl)
9520 (synopsis "DOM tree searching engine based on CSS selectors")
9521 (description "CLSS is a DOM traversal engine based on CSS
9522 selectors. It makes use of the Plump-DOM and is used by lQuery.")
9523 (home-page "https://github.com/Shinmera/clss")
9524 (license license:zlib))))
9525
9526 (define-public cl-clss
9527 (sbcl-package->cl-source-package sbcl-clss))
9528
9529 (define-public ecl-clss
9530 (sbcl-package->ecl-package sbcl-clss))
9531
9532 (define-public sbcl-lquery
9533 (let ((revision "1")
9534 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
9535 (package
9536 (name "sbcl-lquery")
9537 (version (git-version "3.2.1" revision commit))
9538 (source
9539 (origin
9540 (method git-fetch)
9541 (uri
9542 (git-reference
9543 (url "https://github.com/Shinmera/lquery")
9544 (commit commit)))
9545 (sha256
9546 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
9547 (file-name (git-file-name name version))))
9548 (native-inputs
9549 `(("fiveam" ,sbcl-fiveam)))
9550 (inputs
9551 `(("array-utils" ,sbcl-array-utils)
9552 ("form-fiddle" ,sbcl-form-fiddle)
9553 ("plump" ,sbcl-plump)
9554 ("clss" ,sbcl-clss)))
9555 (build-system asdf-build-system/sbcl)
9556 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
9557 (description "@code{lQuery} is a DOM manipulation library written in
9558 Common Lisp, inspired by and based on the jQuery syntax and
9559 functions. It uses Plump and CLSS as DOM and selector engines. The
9560 main idea behind lQuery is to provide a simple interface for crawling
9561 and modifying HTML sites, as well as to allow for an alternative
9562 approach to templating.")
9563 (home-page "https://github.com/Shinmera/lquery")
9564 (license license:zlib))))
9565
9566 (define-public cl-lquery
9567 (sbcl-package->cl-source-package sbcl-lquery))
9568
9569 (define-public ecl-lquery
9570 (sbcl-package->ecl-package sbcl-lquery))
9571
9572 (define-public sbcl-cl-mysql
9573 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
9574 (revision "1"))
9575 (package
9576 (name "sbcl-cl-mysql")
9577 (version (git-version "0.1" revision commit))
9578 (source
9579 (origin
9580 (method git-fetch)
9581 (uri (git-reference
9582 (url "https://github.com/hackinghat/cl-mysql")
9583 (commit commit)))
9584 (file-name (git-file-name name version))
9585 (sha256
9586 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
9587 (build-system asdf-build-system/sbcl)
9588 (native-inputs
9589 `(("stefil" ,sbcl-stefil)))
9590 (inputs
9591 `(("cffi" ,sbcl-cffi)
9592 ("mariadb-lib" ,mariadb "lib")))
9593 (arguments
9594 `(#:tests? #f ; TODO: Tests require a running server
9595 #:phases
9596 (modify-phases %standard-phases
9597 (add-after 'unpack 'fix-paths
9598 (lambda* (#:key inputs #:allow-other-keys)
9599 (substitute* "system.lisp"
9600 (("libmysqlclient_r" all)
9601 (string-append (assoc-ref inputs "mariadb-lib")
9602 "/lib/"
9603 all)))
9604 #t)))))
9605 (synopsis "Common Lisp wrapper for MySQL")
9606 (description
9607 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
9608 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
9609 (license license:expat))))
9610
9611 (define-public cl-mysql
9612 (sbcl-package->cl-source-package sbcl-cl-mysql))
9613
9614 (define-public ecl-cl-mysql
9615 (sbcl-package->ecl-package sbcl-cl-mysql))
9616
9617 (define-public sbcl-postmodern
9618 (package
9619 (name "sbcl-postmodern")
9620 (version "1.32.8")
9621 (source
9622 (origin
9623 (method git-fetch)
9624 (uri (git-reference
9625 (url "https://github.com/marijnh/Postmodern")
9626 (commit (string-append "v" version))))
9627 (file-name (git-file-name name version))
9628 (sha256
9629 (base32 "0vr5inbr8dldf6dsl0qj3h2yrnnsayzfwxfzwkn1pk7xbns2l78q"))))
9630 (build-system asdf-build-system/sbcl)
9631 (native-inputs
9632 `(("fiveam" ,sbcl-fiveam)))
9633 (inputs
9634 `(("alexandria" ,sbcl-alexandria)
9635 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9636 ("cl-base64" ,sbcl-cl-base64)
9637 ("cl-unicode" ,sbcl-cl-unicode)
9638 ("closer-mop" ,sbcl-closer-mop)
9639 ("global-vars" ,sbcl-global-vars)
9640 ("ironclad" ,sbcl-ironclad)
9641 ("local-time" ,sbcl-local-time)
9642 ("md5" ,sbcl-md5)
9643 ("split-sequence" ,sbcl-split-sequence)
9644 ("uax-15" ,sbcl-uax-15)
9645 ("usocket" ,sbcl-usocket)))
9646 (arguments
9647 ;; TODO: (Sharlatan-20210114T171037+0000) tests still failing but on other
9648 ;; step, some functionality in `local-time' prevents passing tests.
9649 ;; Error:
9650 ;;
9651 ;; Can't create directory
9652 ;; /gnu/store
9653 ;; /4f47agf1kyiz057ppy6x5p98i7mcbfsv-sbcl-local-time-1.0.6-2.a177eb9
9654 ;; /lib/common-lisp/sbcl/local-time/src/integration/
9655 ;;
9656 ;; NOTE: (Sharlatan-20210124T191940+0000): When set env HOME to /tmp above
9657 ;; issue is resolved but it required live test database to connect to now.
9658 ;; Keep tests switched off.
9659 `(#:tests? #f
9660 #:asd-systems '("cl-postgres"
9661 "s-sql"
9662 "postmodern"
9663 "simple-date"
9664 "simple-date/postgres-glue")))
9665 (synopsis "Common Lisp library for interacting with PostgreSQL")
9666 (description
9667 "@code{postmodern} is a Common Lisp library for interacting with
9668 PostgreSQL databases. It provides the following features:
9669
9670 @itemize
9671 @item Efficient communication with the database server without need for
9672 foreign libraries.
9673 @item Support for UTF-8 on Unicode-aware Lisp implementations.
9674 @item A syntax for mixing SQL and Lisp code.
9675 @item Convenient support for prepared statements and stored procedures.
9676 @item A metaclass for simple database-access objects.
9677 @end itemize\n
9678
9679 This package produces 4 systems: postmodern, cl-postgres, s-sql, simple-date
9680
9681 @code{SIMPLE-DATE} is a very basic implementation of date and time objects, used
9682 to support storing and retrieving time-related SQL types. It is not loaded by
9683 default and you can use local-time (which has support for timezones) instead.
9684
9685 @code{S-SQL} is used to compile s-expressions to strings of SQL code, escaping
9686 any Lisp values inside, and doing as much as possible of the work at compile
9687 time.
9688
9689 @code{CL-POSTGRES} is the low-level library used for interfacing with a PostgreSQL
9690 server over a socket.
9691
9692 @code{POSTMODERN} itself is a wrapper around these packages and provides higher
9693 level functions, a very simple data access object that can be mapped directly to
9694 database tables and some convient utilities. It then tries to put all these
9695 things together into a convenient programming interface")
9696 (home-page "https://marijnhaverbeke.nl/postmodern/")
9697 (license license:zlib)))
9698
9699 (define-public cl-postmodern
9700 (sbcl-package->cl-source-package sbcl-postmodern))
9701
9702 (define-public ecl-postmodern
9703 (package
9704 (inherit (sbcl-package->ecl-package sbcl-postmodern))
9705 (arguments
9706 `(#:tests? #f
9707 #:asd-systems '("cl-postgres"
9708 "s-sql"
9709 "postmodern"
9710 "simple-date"
9711 "simple-date/postgres-glue")
9712 #:phases
9713 (modify-phases %standard-phases
9714 (add-after 'unpack 'fix-build
9715 (lambda _
9716 (substitute* "cl-postgres.asd"
9717 ((":or :sbcl :allegro :ccl :clisp" all)
9718 (string-append all " :ecl")))
9719 #t)))))))
9720
9721 (define-public sbcl-db3
9722 (let ((commit "38e5ad35f025769fb7f8dcdc6e56df3e8efd8e6d")
9723 (revision "1"))
9724 (package
9725 (name "sbcl-db3")
9726 (version (git-version "0.0.0" revision commit))
9727 (source
9728 (origin
9729 (method git-fetch)
9730 (uri (git-reference
9731 (url "https://github.com/dimitri/cl-db3")
9732 (commit commit)))
9733 (file-name (git-file-name "cl-db3" version))
9734 (sha256
9735 (base32 "1i7j0mlri6kbklcx1lsm464s8kmyhhij5c4xh4aybrw8m4ixn1s5"))))
9736 (build-system asdf-build-system/sbcl)
9737 (home-page "https://github.com/dimitri/cl-db3")
9738 (synopsis "Common Lisp library to read dBase III database files")
9739 (description
9740 "This is a Common Lisp library for processing data found in dBase III
9741 database files (dbf and db3 files).")
9742 (license license:public-domain))))
9743
9744 (define-public ecl-db3
9745 (sbcl-package->ecl-package sbcl-db3))
9746
9747 (define-public cl-db3
9748 (sbcl-package->cl-source-package sbcl-db3))
9749
9750 (define-public sbcl-dbi
9751 ;; Master includes a breaking change which other packages depend on since
9752 ;; Quicklisp decided to follow it:
9753 ;; https://github.com/fukamachi/cl-dbi/commit/31c46869722f77fd5292a81b5b101f1347d7fce1
9754 (let ((commit "31c46869722f77fd5292a81b5b101f1347d7fce1"))
9755 (package
9756 (name "sbcl-dbi")
9757 (version (git-version "0.9.4" "1" commit))
9758 (source
9759 (origin
9760 (method git-fetch)
9761 (uri (git-reference
9762 (url "https://github.com/fukamachi/cl-dbi")
9763 (commit commit)))
9764 (file-name (git-file-name name version))
9765 (sha256
9766 (base32 "0r3n4rw12qqxad0cryym2ibm4ddl49gbq4ra227afibsr43nw5k3"))))
9767 (build-system asdf-build-system/sbcl)
9768 (native-inputs
9769 `(("rove" ,sbcl-rove)
9770 ("trivial-types" ,sbcl-trivial-types)))
9771 (inputs
9772 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9773 ("cl-mysql" ,sbcl-cl-mysql)
9774 ("cl-sqlite" ,sbcl-cl-sqlite)
9775 ("closer-mop" ,sbcl-closer-mop)
9776 ("postmodern" ,sbcl-postmodern)
9777 ("split-sequence" ,sbcl-split-sequence)
9778 ("trivial-garbage" ,sbcl-trivial-garbage)))
9779 (arguments
9780 `(#:asd-systems '("dbi"
9781 "dbd-mysql"
9782 "dbd-postgres"
9783 "dbd-sqlite3")))
9784 (synopsis "Database independent interface for Common Lisp")
9785 (description
9786 "@code{dbi} is a Common Lisp library providing a database independent
9787 interface for MySQL, PostgreSQL and SQLite.")
9788 (home-page "https://github.com/fukamachi/cl-dbi")
9789 (license license:llgpl))))
9790
9791 (define-public cl-dbi
9792 (sbcl-package->cl-source-package sbcl-dbi))
9793
9794 (define-public ecl-dbi
9795 (sbcl-package->ecl-package sbcl-dbi))
9796
9797 (define-public sbcl-uffi
9798 (package
9799 (name "sbcl-uffi")
9800 (version "2.1.2")
9801 (source
9802 (origin
9803 (method git-fetch)
9804 (uri (git-reference
9805 (url "http://git.kpe.io/uffi.git")
9806 (commit (string-append "v" version))))
9807 (file-name (git-file-name name version))
9808 (sha256
9809 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
9810 (build-system asdf-build-system/sbcl)
9811 (arguments
9812 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
9813 #:asd-files '("uffi.asd")
9814 #:phases
9815 (modify-phases %standard-phases
9816 (add-after 'unpack 'fix-permissions
9817 (lambda _
9818 (make-file-writable "doc/html.tar.gz")
9819 #t)))))
9820 (synopsis "Universal foreign function library for Common Lisp")
9821 (description
9822 "UFFI provides a universal foreign function interface (FFI)
9823 for Common Lisp.")
9824 (home-page "http://quickdocs.org/uffi/")
9825 (license license:llgpl)))
9826
9827 (define-public cl-uffi
9828 (package
9829 (inherit (sbcl-package->cl-source-package sbcl-uffi))
9830 (arguments
9831 `(#:phases
9832 ;; asdf-build-system/source has its own phases and does not inherit
9833 ;; from asdf-build-system/sbcl phases.
9834 (modify-phases %standard-phases/source
9835 ;; Already done in SBCL package.
9836 (delete 'reset-gzip-timestamps))))))
9837
9838 (define-public sbcl-clsql
9839 (package
9840 (name "sbcl-clsql")
9841 (version "6.7.0")
9842 (source
9843 (origin
9844 (method git-fetch)
9845 (uri (git-reference
9846 (url "http://git.kpe.io/clsql.git")
9847 (commit (string-append "v" version))))
9848 (file-name (git-file-name name version))
9849 (sha256
9850 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
9851 (snippet
9852 '(begin
9853 ;; Remove precompiled libraries.
9854 (delete-file "db-mysql/clsql_mysql.dll")
9855 (delete-file "uffi/clsql_uffi.dll")
9856 (delete-file "uffi/clsql_uffi.lib")
9857 #t))))
9858 (build-system asdf-build-system/sbcl)
9859 (native-inputs
9860 `(("rt" ,sbcl-rt)))
9861 (inputs
9862 `(("cffi" ,sbcl-cffi)
9863 ("md5" ,sbcl-md5)
9864 ("mysql" ,mysql)
9865 ("postgresql" ,postgresql)
9866 ("postmodern" ,sbcl-postmodern)
9867 ("sqlite" ,sqlite)
9868 ("uffi" ,sbcl-uffi)
9869 ("zlib" ,zlib)))
9870 (arguments
9871 `(#:asd-files '("clsql.asd"
9872 "clsql-uffi.asd"
9873 "clsql-sqlite3.asd"
9874 "clsql-postgresql.asd"
9875 "clsql-postgresql-socket3.asd"
9876 "clsql-mysql.asd")
9877 #:asd-systems '("clsql"
9878 "clsql-sqlite3"
9879 "clsql-postgresql"
9880 "clsql-postgresql-socket3"
9881 "clsql-mysql")
9882 #:phases
9883 (modify-phases %standard-phases
9884 (add-after 'unpack 'fix-permissions
9885 (lambda _
9886 (make-file-writable "doc/html.tar.gz")
9887 #t))
9888 (add-after 'unpack 'fix-build
9889 (lambda _
9890 (substitute* "clsql-uffi.asd"
9891 (("\\(:version uffi \"2.0\"\\)")
9892 "uffi"))
9893 (substitute* "db-postgresql/postgresql-api.lisp"
9894 (("\\(data :cstring\\)")
9895 "(data :string)"))
9896 #t))
9897 (add-after 'unpack 'fix-paths
9898 (lambda* (#:key inputs outputs #:allow-other-keys)
9899 (substitute* "db-sqlite3/sqlite3-loader.lisp"
9900 (("libsqlite3")
9901 (string-append (assoc-ref inputs "sqlite")
9902 "/lib/libsqlite3")))
9903 (substitute* "db-postgresql/postgresql-loader.lisp"
9904 (("libpq")
9905 (string-append (assoc-ref inputs "postgresql")
9906 "/lib/libpq")))
9907 (let ((lib (string-append "#p\""
9908 (assoc-ref outputs "out")
9909 "/lib/\"")))
9910 (substitute* "clsql-mysql.asd"
9911 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
9912 lib))
9913 (substitute* "db-mysql/mysql-loader.lisp"
9914 (("libmysqlclient" all)
9915 (string-append (assoc-ref inputs "mysql") "/lib/" all))
9916 (("clsql-mysql-system::\\*library-file-dir\\*")
9917 lib)))
9918 #t))
9919 (add-before 'build 'build-helper-library
9920 (lambda* (#:key inputs outputs #:allow-other-keys)
9921 (let* ((mysql (assoc-ref inputs "mysql"))
9922 (inc-dir (string-append mysql "/include/mysql"))
9923 (lib-dir (string-append mysql "/lib"))
9924 (shared-lib-dir (string-append (assoc-ref outputs "out")
9925 "/lib"))
9926 (shared-lib (string-append shared-lib-dir
9927 "/clsql_mysql.so")))
9928 (mkdir-p shared-lib-dir)
9929 (invoke "gcc" "-fPIC" "-shared"
9930 "-I" inc-dir
9931 "db-mysql/clsql_mysql.c"
9932 "-Wl,-soname=clsql_mysql"
9933 "-L" lib-dir "-lmysqlclient" "-lz"
9934 "-o" shared-lib)
9935 #t)))
9936 (add-after 'unpack 'fix-tests
9937 (lambda _
9938 (substitute* "clsql.asd"
9939 (("clsql-tests :force t")
9940 "clsql-tests"))
9941 #t)))))
9942 (synopsis "Common Lisp SQL Interface library")
9943 (description
9944 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
9945 Xanalys CommonSQL interface for Lispworks. It provides low-level database
9946 interfaces as well as a functional and an object oriented interface.")
9947 (home-page "http://clsql.kpe.io/")
9948 (license license:llgpl)))
9949
9950 (define-public cl-clsql
9951 (package
9952 (inherit (sbcl-package->cl-source-package sbcl-clsql))
9953 (native-inputs
9954 `(("rt" ,cl-rt)))
9955 (inputs
9956 `(("mysql" ,mysql)
9957 ("postgresql" ,postgresql)
9958 ("sqlite" ,sqlite)
9959 ("zlib" ,zlib)))
9960 (propagated-inputs
9961 `(("cffi" ,cl-cffi)
9962 ("md5" ,cl-md5)
9963 ("postmodern" ,cl-postmodern)
9964 ("uffi" ,cl-uffi)))
9965 (arguments
9966 `(#:phases
9967 ;; asdf-build-system/source has its own phases and does not inherit
9968 ;; from asdf-build-system/sbcl phases.
9969 (modify-phases %standard-phases/source
9970 (add-after 'unpack 'fix-permissions
9971 (lambda _
9972 (make-file-writable "doc/html.tar.gz")
9973 #t)))))))
9974
9975 (define-public ecl-clsql
9976 (let ((pkg (sbcl-package->ecl-package sbcl-clsql)))
9977 (package
9978 (inherit pkg)
9979 (inputs
9980 (alist-delete "uffi" (package-inputs pkg)))
9981 (arguments
9982 (substitute-keyword-arguments (package-arguments pkg)
9983 ((#:asd-files asd-files '())
9984 `(cons "clsql-cffi.asd" ,asd-files)))))))
9985
9986 (define-public sbcl-sycamore
9987 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
9988 (package
9989 (name "sbcl-sycamore")
9990 (version "0.0.20120604")
9991 (source
9992 (origin
9993 (method git-fetch)
9994 (uri (git-reference
9995 (url "https://github.com/ndantam/sycamore/")
9996 (commit commit)))
9997 (file-name (git-file-name name version))
9998 (sha256
9999 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
10000 (build-system asdf-build-system/sbcl)
10001 (inputs
10002 `(("alexandria" ,sbcl-alexandria)
10003 ("cl-ppcre" ,sbcl-cl-ppcre)))
10004 (synopsis "Purely functional data structure library in Common Lisp")
10005 (description
10006 "Sycamore is a fast, purely functional data structure library in Common Lisp.
10007 If features:
10008
10009 @itemize
10010 @item Fast, purely functional weight-balanced binary trees.
10011 @item Leaf nodes are simple-vectors, greatly reducing tree height.
10012 @item Interfaces for tree Sets and Maps (dictionaries).
10013 @item Ropes.
10014 @item Purely functional pairing heaps.
10015 @item Purely functional amortized queue.
10016 @end itemize\n")
10017 (home-page "http://ndantam.github.io/sycamore/")
10018 (license license:bsd-3))))
10019
10020 (define-public cl-sycamore
10021 (sbcl-package->cl-source-package sbcl-sycamore))
10022
10023 (define-public ecl-sycamore
10024 (sbcl-package->ecl-package sbcl-sycamore))
10025
10026 (define-public sbcl-trivial-package-local-nicknames
10027 (package
10028 (name "sbcl-trivial-package-local-nicknames")
10029 (version "0.2")
10030 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
10031 (source
10032 (origin
10033 (method git-fetch)
10034 (uri (git-reference
10035 (url home-page)
10036 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
10037 (file-name (git-file-name name version))
10038 (sha256
10039 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
10040 (build-system asdf-build-system/sbcl)
10041 (synopsis "Common Lisp compatibility library for package local nicknames")
10042 (description
10043 "This library is a portable compatibility layer around package local nicknames (PLN).
10044 This was done so there is a portability library for the PLN API not included
10045 in DEFPACKAGE.")
10046 (license license:unlicense)))
10047
10048 (define-public cl-trivial-package-local-nicknames
10049 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
10050
10051 (define-public ecl-trivial-package-local-nicknames
10052 (sbcl-package->ecl-package sbcl-trivial-package-local-nicknames))
10053
10054 (define-public sbcl-enchant
10055 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
10056 (package
10057 (name "sbcl-enchant")
10058 (version (git-version "0.0.0" "1" commit))
10059 (home-page "https://github.com/tlikonen/cl-enchant")
10060 (source
10061 (origin
10062 (method git-fetch)
10063 (uri (git-reference
10064 (url home-page)
10065 (commit commit)))
10066 (file-name (git-file-name name version))
10067 (sha256
10068 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
10069 (build-system asdf-build-system/sbcl)
10070 (inputs
10071 `(("enchant" ,enchant)
10072 ("cffi" ,sbcl-cffi)))
10073 (arguments
10074 `(#:phases
10075 (modify-phases %standard-phases
10076 (add-after 'unpack 'fix-paths
10077 (lambda* (#:key inputs #:allow-other-keys)
10078 (substitute* "load-enchant.lisp"
10079 (("libenchant")
10080 (string-append
10081 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
10082 (synopsis "Common Lisp interface for the Enchant spell-checker library")
10083 (description
10084 "Enchant is a Common Lisp interface for the Enchant spell-checker
10085 library. The Enchant library is a generic spell-checker library which uses
10086 other spell-checkers transparently as back-end. The library supports the
10087 multiple checkers, including Aspell and Hunspell.")
10088 (license license:public-domain))))
10089
10090 (define-public cl-enchant
10091 (sbcl-package->cl-source-package sbcl-enchant))
10092
10093 (define-public ecl-enchant
10094 (sbcl-package->ecl-package sbcl-enchant))
10095
10096 (define-public sbcl-cl-change-case
10097 (let ((commit "5ceff2a5f8bd845b6cb510c6364176b27a238fd3"))
10098 (package
10099 (name "sbcl-cl-change-case")
10100 (version (git-version "0.1.0" "1" commit))
10101 (home-page "https://github.com/rudolfochrist/cl-change-case")
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 "1afyglglk9z3yg8gylcl301bl2r8vq3sllyznzj9s5xi5gs6qyf2"))))
10111 (build-system asdf-build-system/sbcl)
10112 (inputs
10113 `(("cl-ppcre" ,sbcl-cl-ppcre)
10114 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
10115 (native-inputs
10116 `(("fiveam" ,sbcl-fiveam)))
10117 (arguments
10118 '(;; FIXME: Test pass but phase fails with 'Component
10119 ;; "cl-change-case-test" not found, required by'.
10120 #:tests? #f
10121 #:test-asd-file "cl-change-case-test.asd"))
10122 (synopsis "Convert Common Lisp strings between camelCase, PascalCase and more")
10123 (description
10124 "@code{cl-change-case} is library to convert strings between camelCase,
10125 PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
10126 (license license:llgpl))))
10127
10128 (define-public cl-change-case
10129 (sbcl-package->cl-source-package sbcl-cl-change-case))
10130
10131 (define-public ecl-cl-change-case
10132 (sbcl-package->ecl-package sbcl-cl-change-case))
10133
10134 (define-public sbcl-modularize
10135 (let ((commit "86c5d9a11fbd2df9f0f03ac10b5d71837c8934ba")
10136 (revision "1"))
10137 (package
10138 (name "sbcl-modularize")
10139 (version (git-version "1.0.0" revision commit))
10140 (source
10141 (origin
10142 (method git-fetch)
10143 (uri (git-reference
10144 (url "https://github.com/Shinmera/modularize")
10145 (commit commit)))
10146 (file-name (git-file-name name version))
10147 (sha256
10148 (base32 "1zys29rfkb649rkgl3snxhajk8d5yf7ryxkrwy020kwdh7zdsg7d"))))
10149 (build-system asdf-build-system/sbcl)
10150 (arguments
10151 `(#:test-asd-file "modularize-test-module.asd"
10152 #:asd-files '("modularize.asd" "modularize-test-module.asd")
10153 #:asd-systems '("modularize" "modularize-test-module")))
10154 (inputs
10155 `(("documentation-utils" ,sbcl-documentation-utils)
10156 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)))
10157 (home-page "https://shinmera.github.io/modularize/")
10158 (synopsis "Common Lisp modularization framework")
10159 (description
10160 "@code{MODULARIZE} is an attempt at providing a common interface to
10161 segregate major application components. This is achieved by adding special
10162 treatment to packages. Each module is a package that is specially registered,
10163 which allows it to interact and co-exist with other modules in better ways. For
10164 instance, by adding module definition options you can introduce mechanisms to
10165 tie modules together in functionality, hook into each other and so on.")
10166 (license license:zlib))))
10167
10168 (define-public ecl-modularize
10169 (sbcl-package->ecl-package sbcl-modularize))
10170
10171 (define-public cl-modularize
10172 (sbcl-package->cl-source-package sbcl-modularize))
10173
10174 (define-public sbcl-modularize-hooks
10175 (let ((commit "e0348ed3ffd59a9ec31ca4ab28289e748bfbf96a")
10176 (revision "1"))
10177 (package
10178 (name "sbcl-modularize-hooks")
10179 (version (git-version "1.0.2" revision commit))
10180 (source
10181 (origin
10182 (method git-fetch)
10183 (uri (git-reference
10184 (url "https://github.com/Shinmera/modularize-hooks")
10185 (commit commit)))
10186 (file-name (git-file-name "modularize-hooks" version))
10187 (sha256
10188 (base32 "12kjvin8hxidwkzfb7inqv5b6g5qzcssnj9wc497v2ixc56fqdz7"))))
10189 (build-system asdf-build-system/sbcl)
10190 (inputs
10191 `(("closer-mop" ,sbcl-closer-mop)
10192 ("lambda-fiddle" ,sbcl-lambda-fiddle)
10193 ("modularize" ,sbcl-modularize)
10194 ("trivial-arguments" ,sbcl-trivial-arguments)))
10195 (home-page "https://shinmera.github.io/modularize-hooks/")
10196 (synopsis "Generic hooks and triggers extension for Modularize")
10197 (description
10198 "This is a simple extension to @code{MODULARIZE} that allows modules to
10199 define and trigger hooks, which other modules can hook on to.")
10200 (license license:zlib))))
10201
10202 (define-public ecl-modularize-hooks
10203 (sbcl-package->ecl-package sbcl-modularize-hooks))
10204
10205 (define-public cl-modularize-hooks
10206 (sbcl-package->cl-source-package sbcl-modularize-hooks))
10207
10208 (define-public sbcl-modularize-interfaces
10209 (let ((commit "96353657afb8c7aeba7ef5b51eb04c5ed3bcb6ef")
10210 (revision "1"))
10211 (package
10212 (name "sbcl-modularize-interfaces")
10213 (version (git-version "0.9.3" revision commit))
10214 (source
10215 (origin
10216 (method git-fetch)
10217 (uri (git-reference
10218 (url "https://github.com/Shinmera/modularize-interfaces")
10219 (commit commit)))
10220 (file-name (git-file-name "modularize-interfaces" version))
10221 (sha256
10222 (base32 "0bjf4wy39cwf75m7vh0r7mmcchs09yz2lrbyap98hnq8blq70fhc"))))
10223 (build-system asdf-build-system/sbcl)
10224 (inputs
10225 `(("lambda-fiddle" ,sbcl-lambda-fiddle)
10226 ("modularize" ,sbcl-modularize)
10227 ("trivial-arguments" ,sbcl-trivial-arguments)
10228 ("trivial-indent" ,sbcl-trivial-indent)))
10229 (home-page "https://shinmera.github.io/modularize-interfaces/")
10230 (synopsis "Programmatical interfaces extension for Modularize")
10231 (description
10232 "This is an extension to @code{MODULARIZE} that allows your application
10233 to define interfaces in-code that serve both as a primary documentation and as
10234 compliance control.")
10235 (license license:zlib))))
10236
10237 (define-public ecl-modularize-interfaces
10238 (sbcl-package->ecl-package sbcl-modularize-interfaces))
10239
10240 (define-public cl-modularize-interfaces
10241 (sbcl-package->cl-source-package sbcl-modularize-interfaces))
10242
10243 (define-public sbcl-moptilities
10244 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
10245 (package
10246 (name "sbcl-moptilities")
10247 (version (git-version "0.3.13" "1" commit))
10248 (home-page "https://github.com/gwkkwg/moptilities/")
10249 (source
10250 (origin
10251 (method git-fetch)
10252 (uri (git-reference
10253 (url home-page)
10254 (commit commit)))
10255 (file-name (git-file-name name version))
10256 (sha256
10257 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
10258 (build-system asdf-build-system/sbcl)
10259 (inputs
10260 `(("closer-mop" ,sbcl-closer-mop)))
10261 (native-inputs
10262 `(("lift" ,sbcl-lift)))
10263 (arguments
10264 `(#:phases
10265 (modify-phases %standard-phases
10266 (add-after 'unpack 'fix-tests
10267 (lambda _
10268 (substitute* "lift-standard.config"
10269 ((":relative-to lift-test")
10270 ":relative-to moptilities-test"))
10271 #t)))))
10272 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
10273 (description
10274 "MOP utilities provide a common interface between Lisps and make the
10275 MOP easier to use.")
10276 (license license:expat))))
10277
10278 (define-public cl-moptilities
10279 (sbcl-package->cl-source-package sbcl-moptilities))
10280
10281 (define-public sbcl-osicat
10282 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
10283 (package
10284 (name "sbcl-osicat")
10285 (version (git-version "0.7.0" "1" commit))
10286 (home-page "http://www.common-lisp.net/project/osicat/")
10287 (source
10288 (origin
10289 (method git-fetch)
10290 (uri (git-reference
10291 (url "https://github.com/osicat/osicat")
10292 (commit commit)))
10293 (file-name (git-file-name name version))
10294 (sha256
10295 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
10296 (build-system asdf-build-system/sbcl)
10297 (inputs
10298 `(("alexandria" ,sbcl-alexandria)
10299 ("cffi" ,sbcl-cffi)
10300 ("trivial-features" ,sbcl-trivial-features)))
10301 (native-inputs
10302 `(("rt" ,sbcl-rt)))
10303 (synopsis "Operating system interface for Common Lisp")
10304 (description
10305 "Osicat is a lightweight operating system interface for Common Lisp on
10306 Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
10307 accompaniment to the standard ANSI facilities.")
10308 (license license:expat))))
10309
10310 (define-public cl-osicat
10311 (sbcl-package->cl-source-package sbcl-osicat))
10312
10313 (define-public ecl-osicat
10314 (sbcl-package->ecl-package sbcl-osicat))
10315
10316 (define-public sbcl-clx-xembed
10317 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
10318 (revision "1"))
10319 (package
10320 (name "sbcl-clx-xembed")
10321 (version (git-version "0.1" revision commit))
10322 (home-page "https://github.com/laynor/clx-xembed")
10323 (source
10324 (origin
10325 (method git-fetch)
10326 (uri (git-reference
10327 (url "https://github.com/laynor/clx-xembed")
10328 (commit commit)))
10329 (file-name (git-file-name name version))
10330 (sha256
10331 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
10332 (build-system asdf-build-system/sbcl)
10333 (arguments
10334 `(#:asd-systems '("xembed")))
10335 (inputs
10336 `(("sbcl-clx" ,sbcl-clx)))
10337 (synopsis "CL(x) xembed protocol implementation ")
10338 (description "CL(x) xembed protocol implementation")
10339 ;; MIT License
10340 (license license:expat))))
10341
10342 (define-public cl-clx-xembed
10343 (sbcl-package->cl-source-package sbcl-clx-xembed))
10344
10345 (define-public ecl-clx-xembed
10346 (sbcl-package->ecl-package sbcl-clx-xembed))
10347
10348 (define-public sbcl-quantile-estimator
10349 (package
10350 (name "sbcl-quantile-estimator")
10351 (version "0.0.1")
10352 (source
10353 (origin
10354 (method git-fetch)
10355 (uri (git-reference
10356 (url "https://github.com/deadtrickster/quantile-estimator.cl")
10357 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
10358 (file-name (git-file-name name version))
10359 (sha256
10360 (base32
10361 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
10362 (build-system asdf-build-system/sbcl)
10363 (arguments
10364 '(#:asd-files '("quantile-estimator.asd")))
10365 (inputs
10366 `(("alexandria" ,sbcl-alexandria)))
10367 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
10368 (synopsis
10369 "Effective computation of biased quantiles over data streams")
10370 (description
10371 "Common Lisp implementation of Graham Cormode and S.
10372 Muthukrishnan's Effective Computation of Biased Quantiles over Data
10373 Streams in ICDE’05.")
10374 (license license:expat)))
10375
10376 (define-public cl-quantile-estimator
10377 (sbcl-package->cl-source-package sbcl-quantile-estimator))
10378
10379 (define-public ecl-quantile-estimator
10380 (sbcl-package->ecl-package sbcl-quantile-estimator))
10381
10382 (define-public sbcl-prometheus
10383 (package
10384 (name "sbcl-prometheus")
10385 (version "0.4.1")
10386 (source
10387 (origin
10388 (method git-fetch)
10389 (uri (git-reference
10390 (url "https://github.com/deadtrickster/prometheus.cl")
10391 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
10392 (file-name (git-file-name name version))
10393 (sha256
10394 (base32
10395 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
10396 (build-system asdf-build-system/sbcl)
10397 (inputs
10398 `(("alexandria" ,sbcl-alexandria)
10399 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10400 ("cffi" ,sbcl-cffi)
10401 ("cl-fad" ,sbcl-cl-fad)
10402 ("cl-ppcre" ,sbcl-cl-ppcre)
10403 ("drakma" ,sbcl-drakma)
10404 ("hunchentoot" ,sbcl-hunchentoot)
10405 ("local-time" ,sbcl-local-time)
10406 ("quantile-estimator" ,sbcl-quantile-estimator)
10407 ("salza2" ,sbcl-salza2)
10408 ("split-sequence" ,sbcl-split-sequence)
10409 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10410 (arguments
10411 '(#:asd-files '("prometheus.asd"
10412 "prometheus.collectors.sbcl.asd"
10413 "prometheus.collectors.process.asd"
10414 "prometheus.formats.text.asd"
10415 "prometheus.exposers.hunchentoot.asd"
10416 "prometheus.pushgateway.asd")
10417 #:asd-systems '("prometheus"
10418 "prometheus.collectors.sbcl"
10419 "prometheus.collectors.process"
10420 "prometheus.formats.text"
10421 "prometheus.exposers.hunchentoot"
10422 "prometheus.pushgateway")))
10423 (home-page "https://github.com/deadtrickster/prometheus.cl")
10424 (synopsis "Prometheus.io Common Lisp client")
10425 (description "Prometheus.io Common Lisp client.")
10426 (license license:expat)))
10427
10428 (define-public cl-prometheus
10429 (sbcl-package->cl-source-package sbcl-prometheus))
10430
10431 (define-public ecl-prometheus
10432 (sbcl-package->ecl-package sbcl-prometheus))
10433
10434 (define-public sbcl-uuid
10435 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
10436 (package
10437 (name "sbcl-uuid")
10438 (version (git-version "2012.12.26" "1" commit))
10439 (source
10440 (origin
10441 (method git-fetch)
10442 (uri (git-reference
10443 (url "https://github.com/dardoria/uuid")
10444 (commit commit)))
10445 (file-name (git-file-name name version))
10446 (sha256
10447 (base32
10448 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
10449 (build-system asdf-build-system/sbcl)
10450 (inputs
10451 `(("ironclad" ,sbcl-ironclad)
10452 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10453 (home-page "https://github.com/dardoria/uuid")
10454 (synopsis
10455 "Common Lisp implementation of UUIDs according to RFC4122")
10456 (description
10457 "Common Lisp implementation of UUIDs according to RFC4122.")
10458 (license license:llgpl))))
10459
10460 (define-public cl-uuid
10461 (sbcl-package->cl-source-package sbcl-uuid))
10462
10463 (define-public ecl-uuid
10464 (sbcl-package->ecl-package sbcl-uuid))
10465
10466 (define-public sbcl-dissect
10467 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
10468 (package
10469 (name "sbcl-dissect")
10470 (version (git-version "1.0.0" "1" commit))
10471 (source
10472 (origin
10473 (method git-fetch)
10474 (uri (git-reference
10475 (url "https://github.com/Shinmera/dissect")
10476 (commit commit)))
10477 (file-name (git-file-name name version))
10478 (sha256
10479 (base32
10480 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
10481 (build-system asdf-build-system/sbcl)
10482 (inputs
10483 `(("cl-ppcre" ,sbcl-cl-ppcre)))
10484 (home-page "https://shinmera.github.io/dissect/")
10485 (synopsis
10486 "Introspection library for the call stack and restarts")
10487 (description
10488 "Dissect is a small Common Lisp library for introspecting the call stack
10489 and active restarts.")
10490 (license license:zlib))))
10491
10492 (define-public cl-dissect
10493 (sbcl-package->cl-source-package sbcl-dissect))
10494
10495 (define-public ecl-dissect
10496 (sbcl-package->ecl-package sbcl-dissect))
10497
10498 (define-public sbcl-rove
10499 (package
10500 (name "sbcl-rove")
10501 (version "0.9.6")
10502 (source
10503 (origin
10504 (method git-fetch)
10505 (uri (git-reference
10506 (url "https://github.com/fukamachi/rove")
10507 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
10508 (file-name (git-file-name name version))
10509 (sha256
10510 (base32
10511 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
10512 (build-system asdf-build-system/sbcl)
10513 (inputs
10514 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10515 ("dissect" ,sbcl-dissect)
10516 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
10517 (home-page "https://github.com/fukamachi/rove")
10518 (synopsis
10519 "Yet another common lisp testing library")
10520 (description
10521 "Rove is a unit testing framework for Common Lisp applications.
10522 This is intended to be a successor of Prove.")
10523 (license license:bsd-3)))
10524
10525 (define-public cl-rove
10526 (sbcl-package->cl-source-package sbcl-rove))
10527
10528 (define-public ecl-rove
10529 (sbcl-package->ecl-package sbcl-rove))
10530
10531 (define-public sbcl-exponential-backoff
10532 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
10533 (package
10534 (name "sbcl-exponential-backoff")
10535 (version (git-version "0" "1" commit))
10536 (source
10537 (origin
10538 (method git-fetch)
10539 (uri (git-reference
10540 (url "https://github.com/death/exponential-backoff")
10541 (commit commit)))
10542 (file-name (git-file-name name version))
10543 (sha256
10544 (base32
10545 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
10546 (build-system asdf-build-system/sbcl)
10547 (home-page "https://github.com/death/exponential-backoff")
10548 (synopsis "Exponential backoff algorithm in Common Lisp")
10549 (description
10550 "An implementation of the exponential backoff algorithm in Common Lisp.
10551 Inspired by the implementation found in Chromium. Read the header file to
10552 learn about each of the parameters.")
10553 (license license:expat))))
10554
10555 (define-public cl-exponential-backoff
10556 (sbcl-package->cl-source-package sbcl-exponential-backoff))
10557
10558 (define-public ecl-exponential-backoff
10559 (sbcl-package->ecl-package sbcl-exponential-backoff))
10560
10561 (define-public sbcl-sxql
10562 (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
10563 (package
10564 (name "sbcl-sxql")
10565 (version (git-version "0.1.0" "1" commit))
10566 (source
10567 (origin
10568 (method git-fetch)
10569 (uri (git-reference
10570 (url "https://github.com/fukamachi/sxql")
10571 (commit commit)))
10572 (file-name (git-file-name name version))
10573 (sha256
10574 (base32
10575 "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
10576 (build-system asdf-build-system/sbcl)
10577 (arguments
10578 `(#:test-asd-file "sxql-test.asd"))
10579 (inputs
10580 `(("alexandria" ,sbcl-alexandria)
10581 ("cl-syntax" ,sbcl-cl-syntax)
10582 ("iterate" ,sbcl-iterate)
10583 ("optima" ,sbcl-optima)
10584 ("split-sequence" ,sbcl-split-sequence)
10585 ("trivial-types" ,sbcl-trivial-types)))
10586 (native-inputs
10587 `(("prove" ,sbcl-prove)))
10588 (home-page "https://github.com/fukamachi/sxql")
10589 (synopsis "SQL generator for Common Lisp")
10590 (description "SQL generator for Common Lisp.")
10591 (license license:bsd-3))))
10592
10593 (define-public cl-sxql
10594 (sbcl-package->cl-source-package sbcl-sxql))
10595
10596 (define-public ecl-sxql
10597 (sbcl-package->ecl-package sbcl-sxql))
10598
10599 (define-public sbcl-1am
10600 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
10601 (package
10602 (name "sbcl-1am")
10603 (version (git-version "0.0" "1" commit))
10604 (source
10605 (origin
10606 (method git-fetch)
10607 (uri (git-reference
10608 (url "https://github.com/lmj/1am")
10609 (commit commit)))
10610 (file-name (git-file-name name version))
10611 (sha256
10612 (base32
10613 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
10614 (build-system asdf-build-system/sbcl)
10615 (arguments
10616 `(#:asd-systems '("1am")))
10617 (home-page "https://github.com/lmj/1am")
10618 (synopsis "Minimal testing framework for Common Lisp")
10619 (description "A minimal testing framework for Common Lisp.")
10620 (license license:expat))))
10621
10622 (define-public cl-1am
10623 (sbcl-package->cl-source-package sbcl-1am))
10624
10625 (define-public ecl-1am
10626 (sbcl-package->ecl-package sbcl-1am))
10627
10628 (define-public sbcl-cl-ascii-table
10629 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
10630 (revision "1"))
10631 (package
10632 (name "sbcl-cl-ascii-table")
10633 (version (git-version "0.0.0" revision commit))
10634 (source
10635 (origin
10636 (method git-fetch)
10637 (uri (git-reference
10638 (url "https://github.com/telephil/cl-ascii-table")
10639 (commit commit)))
10640 (file-name (git-file-name name version))
10641 (sha256
10642 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
10643 (build-system asdf-build-system/sbcl)
10644 (synopsis "Library to make ascii-art tables")
10645 (description
10646 "This is a Common Lisp library to present tabular data in ascii-art
10647 tables.")
10648 (home-page "https://github.com/telephil/cl-ascii-table")
10649 (license license:expat))))
10650
10651 (define-public cl-ascii-table
10652 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
10653
10654 (define-public ecl-cl-ascii-table
10655 (sbcl-package->ecl-package sbcl-cl-ascii-table))
10656
10657 (define-public sbcl-cl-rdkafka
10658 (package
10659 (name "sbcl-cl-rdkafka")
10660 (version "1.0.2")
10661 (source
10662 (origin
10663 (method git-fetch)
10664 (uri (git-reference
10665 (url "https://github.com/SahilKang/cl-rdkafka")
10666 (commit (string-append "v" version))))
10667 (file-name (git-file-name name version))
10668 (sha256
10669 (base32
10670 "1qcgfd4h7syilzmrmd4z2vknbvawda3q3ykw7xm8n381syry4g82"))))
10671 (build-system asdf-build-system/sbcl)
10672 (arguments
10673 `(#:tests? #f ; Attempts to connect to locally running Kafka
10674 #:phases
10675 (modify-phases %standard-phases
10676 (add-after 'unpack 'fix-paths
10677 (lambda* (#:key inputs #:allow-other-keys)
10678 (substitute* "src/low-level/librdkafka-bindings.lisp"
10679 (("librdkafka" all)
10680 (string-append (assoc-ref inputs "librdkafka") "/lib/"
10681 all))))))))
10682 (inputs
10683 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10684 ("cffi" ,sbcl-cffi)
10685 ("librdkafka" ,librdkafka)
10686 ("lparallel" ,sbcl-lparallel)
10687 ("trivial-garbage" ,sbcl-trivial-garbage)))
10688 (home-page "https://github.com/SahilKang/cl-rdkafka")
10689 (synopsis "Common Lisp client library for Apache Kafka")
10690 (description "A Common Lisp client library for Apache Kafka.")
10691 (license license:gpl3)))
10692
10693 (define-public cl-rdkafka
10694 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
10695
10696 (define-public ecl-cl-rdkafka
10697 (sbcl-package->ecl-package sbcl-cl-rdkafka))
10698
10699 (define-public sbcl-acclimation
10700 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
10701 (package
10702 (name "sbcl-acclimation")
10703 (version (git-version "0.0.0" "1" commit))
10704 (source
10705 (origin
10706 (method git-fetch)
10707 (uri (git-reference
10708 (url "https://github.com/robert-strandh/Acclimation")
10709 (commit commit)))
10710 (file-name (git-file-name name version))
10711 (sha256
10712 (base32
10713 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
10714 (build-system asdf-build-system/sbcl)
10715 (home-page "https://github.com/robert-strandh/Acclimation")
10716 (synopsis "Internationalization library for Common Lisp")
10717 (description "This project is meant to provide tools for
10718 internationalizing Common Lisp programs.
10719
10720 One important aspect of internationalization is of course the language used in
10721 error messages, documentation strings, etc. But with this project we provide
10722 tools for all other aspects of internationalization as well, including dates,
10723 weight, temperature, names of physical quantitites, etc.")
10724 (license license:bsd-2))))
10725
10726 (define-public cl-acclimation
10727 (sbcl-package->cl-source-package sbcl-acclimation))
10728
10729 (define-public ecl-acclimation
10730 (sbcl-package->ecl-package sbcl-acclimation))
10731
10732 (define-public sbcl-clump
10733 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
10734 (package
10735 (name "sbcl-clump")
10736 (version (git-version "0.0.0" "1" commit))
10737 (source
10738 (origin
10739 (method git-fetch)
10740 (uri (git-reference
10741 (url "https://github.com/robert-strandh/Clump")
10742 (commit commit)))
10743 (file-name (git-file-name name version))
10744 (sha256
10745 (base32
10746 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
10747 (inputs
10748 `(("acclimation" ,sbcl-acclimation)))
10749 (build-system asdf-build-system/sbcl)
10750 (home-page "https://github.com/robert-strandh/Clump")
10751 (synopsis "Collection of tree implementations for Common Lisp")
10752 (description "The purpose of this library is to provide a collection of
10753 implementations of trees.
10754
10755 In contrast to existing libraries such as cl-containers, it does not impose a
10756 particular use for the trees. Instead, it aims for a stratified design,
10757 allowing client code to choose between different levels of abstraction.
10758
10759 As a consequence of this policy, low-level interfaces are provided where
10760 the concrete representation is exposed, but also high level interfaces
10761 where the trees can be used as search trees or as trees that represent
10762 sequences of objects.")
10763 (license license:bsd-2))))
10764
10765 (define-public cl-clump
10766 (sbcl-package->cl-source-package sbcl-clump))
10767
10768 (define-public ecl-clump
10769 (sbcl-package->ecl-package sbcl-clump))
10770
10771 (define-public sbcl-cluffer
10772 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
10773 (package
10774 (name "sbcl-cluffer")
10775 (version (git-version "0.0.0" "1" commit))
10776 (source
10777 (origin
10778 (method git-fetch)
10779 (uri (git-reference
10780 (url "https://github.com/robert-strandh/cluffer")
10781 (commit commit)))
10782 (file-name (git-file-name name version))
10783 (sha256
10784 (base32
10785 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
10786 (build-system asdf-build-system/sbcl)
10787 (inputs
10788 `(("acclimation" ,sbcl-acclimation)
10789 ("clump" ,sbcl-clump)))
10790 (home-page "https://github.com/robert-strandh/cluffer")
10791 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
10792 (description "Cluffer is a library for representing the buffer of a text
10793 editor. As such, it defines a set of CLOS protocols for client code to
10794 interact with the buffer contents in various ways, and it supplies different
10795 implementations of those protocols for different purposes.")
10796 (license license:bsd-2))))
10797
10798 (define-public cl-cluffer
10799 (sbcl-package->cl-source-package sbcl-cluffer))
10800
10801 (define-public ecl-cluffer
10802 (sbcl-package->ecl-package sbcl-cluffer))
10803
10804 (define-public sbcl-cl-libsvm-format
10805 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
10806 (revision "0"))
10807 (package
10808 (name "sbcl-cl-libsvm-format")
10809 (version (git-version "0.1.0" revision commit))
10810 (source
10811 (origin
10812 (method git-fetch)
10813 (uri (git-reference
10814 (url "https://github.com/masatoi/cl-libsvm-format")
10815 (commit commit)))
10816 (file-name (git-file-name name version))
10817 (sha256
10818 (base32
10819 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
10820 (build-system asdf-build-system/sbcl)
10821 (native-inputs
10822 `(("prove" ,sbcl-prove)))
10823 (inputs
10824 `(("alexandria" ,sbcl-alexandria)))
10825 (synopsis "LibSVM data format reader for Common Lisp")
10826 (description
10827 "This Common Lisp library provides a fast reader for data in LibSVM
10828 format.")
10829 (home-page "https://github.com/masatoi/cl-libsvm-format")
10830 (license license:expat))))
10831
10832 (define-public cl-libsvm-format
10833 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
10834
10835 (define-public ecl-cl-libsvm-format
10836 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
10837
10838 (define-public sbcl-cl-online-learning
10839 (let ((commit "87fbef8a340219e853adb3a5bf44a0470da76964")
10840 (revision "1"))
10841 (package
10842 (name "sbcl-cl-online-learning")
10843 (version (git-version "0.5" revision commit))
10844 (source
10845 (origin
10846 (method git-fetch)
10847 (uri (git-reference
10848 (url "https://github.com/masatoi/cl-online-learning")
10849 (commit commit)))
10850 (file-name (git-file-name "cl-online-learning" version))
10851 (sha256
10852 (base32
10853 "1lfq04lnxivx59nq5dd02glyqsqzf3vdn4s9b8wnaln5fs8g2ph9"))))
10854 (build-system asdf-build-system/sbcl)
10855 (native-inputs
10856 `(("prove" ,sbcl-prove)))
10857 (inputs
10858 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
10859 ("cl-store" ,sbcl-cl-store)))
10860 (arguments
10861 `(#:test-asd-file "cl-online-learning-test.asd"
10862 #:asd-systems '("cl-online-learning-test"
10863 "cl-online-learning")))
10864 (home-page "https://github.com/masatoi/cl-online-learning")
10865 (synopsis "Online Machine Learning for Common Lisp")
10866 (description
10867 "This library contains a collection of machine learning algorithms for
10868 online linear classification written in Common Lisp.")
10869 (license license:expat))))
10870
10871 (define-public cl-online-learning
10872 (sbcl-package->cl-source-package sbcl-cl-online-learning))
10873
10874 (define-public ecl-cl-online-learning
10875 (sbcl-package->ecl-package sbcl-cl-online-learning))
10876
10877 (define-public sbcl-cl-mpg123
10878 (let ((commit "5f042c839d2ea4a2ff2a7b60c839d8633d64161d")
10879 (revision "1"))
10880 (package
10881 (name "sbcl-cl-mpg123")
10882 (version (git-version "1.0.0" revision commit))
10883 (source
10884 (origin
10885 (method git-fetch)
10886 (uri (git-reference
10887 (url "https://github.com/Shirakumo/cl-mpg123")
10888 (commit commit)))
10889 (file-name (git-file-name "cl-mpg123" version))
10890 (sha256
10891 (base32 "1hl721xaczxck008ax2y3jpkm509ry1sg3lklh2k76764m3ndrjf"))
10892 (modules '((guix build utils)))
10893 (snippet
10894 '(begin
10895 ;; Remove bundled pre-compiled libraries.
10896 (delete-file-recursively "static")
10897 #t))))
10898 (build-system asdf-build-system/sbcl)
10899 (arguments
10900 `(#:asd-files '("cl-mpg123.asd" "cl-mpg123-example.asd")
10901 #:asd-systems '("cl-mpg123" "cl-mpg123-example")
10902 #:phases
10903 (modify-phases %standard-phases
10904 (add-after 'unpack 'fix-paths
10905 (lambda* (#:key inputs #:allow-other-keys)
10906 (substitute* "low-level.lisp"
10907 (("libmpg123.so" all)
10908 (string-append (assoc-ref inputs "libmpg123")
10909 "/lib/" all))))))))
10910 (inputs
10911 `(("cffi" ,sbcl-cffi)
10912 ("cl-out123" ,sbcl-cl-out123)
10913 ("documentation-utils" ,sbcl-documentation-utils)
10914 ("libmpg123" ,mpg123)
10915 ("trivial-features" ,sbcl-trivial-features)
10916 ("trivial-garbage" ,sbcl-trivial-garbage)
10917 ("verbose" ,sbcl-verbose)))
10918 (home-page "https://shirakumo.github.io/cl-mpg123/")
10919 (synopsis "Common Lisp bindings to libmpg123")
10920 (description
10921 "This is a bindings and wrapper library to @code{libmpg123} allowing for
10922 convenient, extensive, and fast decoding of MPEG1/2/3 (most prominently mp3)
10923 files.")
10924 (license license:zlib))))
10925
10926 (define-public ecl-cl-mpg123
10927 (sbcl-package->ecl-package sbcl-cl-mpg123))
10928
10929 (define-public cl-mpg123
10930 (sbcl-package->cl-source-package sbcl-cl-mpg123))
10931
10932 (define-public sbcl-cl-out123
10933 (let ((commit "6b58d3f8c2a28ad09059ac4c60fb3c781b9b421b")
10934 (revision "1"))
10935 (package
10936 (name "sbcl-cl-out123")
10937 (version (git-version "1.0.0" revision commit))
10938 (source
10939 (origin
10940 (method git-fetch)
10941 (uri (git-reference
10942 (url "https://github.com/Shirakumo/cl-out123")
10943 (commit commit)))
10944 (file-name (git-file-name "cl-out123" version))
10945 (sha256
10946 (base32 "0mdwgfax6sq68wvdgjjp78i40ah7wqkpqnvaq8a1c509k7ghdgv1"))
10947 (modules '((guix build utils)))
10948 (snippet
10949 '(begin
10950 ;; Remove bundled pre-compiled libraries.
10951 (delete-file-recursively "static")
10952 #t))))
10953 (build-system asdf-build-system/sbcl)
10954 (arguments
10955 `(#:phases
10956 (modify-phases %standard-phases
10957 (add-after 'unpack 'fix-paths
10958 (lambda* (#:key inputs #:allow-other-keys)
10959 (substitute* "low-level.lisp"
10960 (("libout123.so" all)
10961 (string-append (assoc-ref inputs "libout123")
10962 "/lib/" all)))))
10963 ;; NOTE: (Sharlatan-20210129T134529+0000): ECL package `ext' has no
10964 ;; exported macro `without-interrupts' it's moved to `mp' package
10965 ;; https://github.com/Shirakumo/cl-out123/issues/2
10966 ;; https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/src/lsp/mp.lsp
10967 (add-after 'unpack 'fix-ecl-package-name
10968 (lambda _
10969 (substitute* "wrapper.lisp"
10970 (("ext:without-interrupts.*") "mp:without-interrupts\n"))
10971 #t)))))
10972 (inputs
10973 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10974 ("cffi" ,sbcl-cffi)
10975 ("documentation-utils" ,sbcl-documentation-utils)
10976 ("libout123" ,mpg123)
10977 ("trivial-features" ,sbcl-trivial-features)
10978 ("trivial-garbage" ,sbcl-trivial-garbage)))
10979 (home-page "https://shirakumo.github.io/cl-out123/")
10980 (synopsis "Common Lisp bindings to libout123")
10981 (description
10982 "This is a bindings library to @code{libout123} which allows easy
10983 cross-platform audio playback.")
10984 (license license:zlib))))
10985
10986 (define-public ecl-cl-out123
10987 (sbcl-package->ecl-package sbcl-cl-out123))
10988
10989 (define-public cl-out123
10990 (sbcl-package->cl-source-package sbcl-cl-out123))
10991
10992 (define-public sbcl-cl-random-forest
10993 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
10994 (revision "1"))
10995 (package
10996 (name "sbcl-cl-random-forest")
10997 (version (git-version "0.1" revision commit))
10998 (source
10999 (origin
11000 (method git-fetch)
11001 (uri (git-reference
11002 (url "https://github.com/masatoi/cl-random-forest")
11003 (commit commit)))
11004 (file-name (git-file-name name version))
11005 (sha256
11006 (base32
11007 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
11008 (build-system asdf-build-system/sbcl)
11009 (native-inputs
11010 `(("prove" ,sbcl-prove)
11011 ("trivial-garbage" ,sbcl-trivial-garbage)))
11012 (inputs
11013 `(("alexandria" ,sbcl-alexandria)
11014 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11015 ("cl-online-learning" ,sbcl-cl-online-learning)
11016 ("lparallel" ,sbcl-lparallel)))
11017 (arguments
11018 `(#:tests? #f)) ; The tests download data from the Internet
11019 (synopsis "Random Forest and Global Refinement for Common Lisp")
11020 (description
11021 "CL-random-forest is an implementation of Random Forest for multiclass
11022 classification and univariate regression written in Common Lisp. It also
11023 includes an implementation of Global Refinement of Random Forest.")
11024 (home-page "https://github.com/masatoi/cl-random-forest")
11025 (license license:expat))))
11026
11027 (define-public cl-random-forest
11028 (sbcl-package->cl-source-package sbcl-cl-random-forest))
11029
11030 (define-public ecl-cl-random-forest
11031 (sbcl-package->ecl-package sbcl-cl-random-forest))
11032
11033 (define-public sbcl-bordeaux-fft
11034 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
11035 (revision "0"))
11036 (package
11037 (name "sbcl-bordeaux-fft")
11038 (version (git-version "1.0.1" revision commit))
11039 (source
11040 (origin
11041 (method git-fetch)
11042 (uri (git-reference
11043 (url "https://github.com/ahefner/bordeaux-fft")
11044 (commit commit)))
11045 (file-name (git-file-name name version))
11046 (sha256
11047 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
11048 (build-system asdf-build-system/sbcl)
11049 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
11050 (synopsis "Fast Fourier Transform for Common Lisp")
11051 (description
11052 "The Bordeaux-FFT library provides a reasonably efficient implementation
11053 of the Fast Fourier Transform and its inverse for complex-valued inputs, in
11054 portable Common Lisp.")
11055 (license license:gpl2+))))
11056
11057 (define-public cl-bordeaux-fft
11058 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
11059
11060 (define-public ecl-bordeaux-fft
11061 (sbcl-package->ecl-package sbcl-bordeaux-fft))
11062
11063 (define-public sbcl-napa-fft3
11064 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
11065 (revision "0"))
11066 (package
11067 (name "sbcl-napa-fft3")
11068 (version (git-version "0.0.1" revision commit))
11069 (source
11070 (origin
11071 (method git-fetch)
11072 (uri (git-reference
11073 (url "https://github.com/pkhuong/Napa-FFT3")
11074 (commit commit)))
11075 (file-name (git-file-name name version))
11076 (sha256
11077 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
11078 (build-system asdf-build-system/sbcl)
11079 (home-page "https://github.com/pkhuong/Napa-FFT3")
11080 (synopsis "Fast Fourier Transform routines in Common Lisp")
11081 (description
11082 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
11083 buildings blocks to express common operations that involve DFTs: filtering,
11084 convolutions, etc.")
11085 (license license:bsd-3))))
11086
11087 (define-public cl-napa-fft3
11088 (sbcl-package->cl-source-package sbcl-napa-fft3))
11089
11090 (define-public sbcl-cl-tga
11091 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
11092 (revision "0"))
11093 (package
11094 (name "sbcl-cl-tga")
11095 (version (git-version "0.0.0" revision commit))
11096 (source
11097 (origin
11098 (method git-fetch)
11099 (uri (git-reference
11100 (url "https://github.com/fisxoj/cl-tga")
11101 (commit commit)))
11102 (file-name (git-file-name name version))
11103 (sha256
11104 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
11105 (build-system asdf-build-system/sbcl)
11106 (home-page "https://github.com/fisxoj/cl-tga")
11107 (synopsis "TGA file loader for Common Lisp")
11108 (description
11109 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
11110 programs. It's a very simple library, and, at the moment, only supports
11111 non-RLE encoded forms of the files.")
11112 (license license:expat))))
11113
11114 (define-public cl-tga
11115 (sbcl-package->cl-source-package sbcl-cl-tga))
11116
11117 (define-public ecl-cl-tga
11118 (sbcl-package->ecl-package sbcl-cl-tga))
11119
11120 (define-public sbcl-com.gigamonkeys.binary-data
11121 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
11122 (revision "0"))
11123 (package
11124 (name "sbcl-com.gigamonkeys.binary-data")
11125 (version (git-version "0.0.0" revision commit))
11126 (source
11127 (origin
11128 (method git-fetch)
11129 (uri (git-reference
11130 (url "https://github.com/gigamonkey/monkeylib-binary-data")
11131 (commit commit)))
11132 (file-name (git-file-name name version))
11133 (sha256
11134 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
11135 (build-system asdf-build-system/sbcl)
11136 (inputs
11137 `(("alexandria" ,sbcl-alexandria)))
11138 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
11139 (synopsis "Common Lisp library for reading and writing binary data")
11140 (description
11141 "This a Common Lisp library for reading and writing binary data. It is
11142 based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
11143 (license license:bsd-3))))
11144
11145 (define-public cl-com.gigamonkeys.binary-data
11146 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
11147
11148 (define-public ecl-com.gigamonkeys.binary-data
11149 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
11150
11151 (define-public sbcl-deflate
11152 (package
11153 (name "sbcl-deflate")
11154 (version "1.0.3")
11155 (source
11156 (origin
11157 (method git-fetch)
11158 (uri (git-reference
11159 (url "https://github.com/pmai/Deflate")
11160 (commit (string-append "release-" version))))
11161 (file-name (git-file-name name version))
11162 (sha256
11163 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
11164 (build-system asdf-build-system/sbcl)
11165 (home-page "https://github.com/pmai/Deflate")
11166 (synopsis "Native deflate decompression for Common Lisp")
11167 (description
11168 "This library is an implementation of Deflate (RFC 1951) decompression,
11169 with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
11170 wrappers of deflate streams. It currently does not handle compression.")
11171 (license license:expat)))
11172
11173 (define-public cl-deflate
11174 (sbcl-package->cl-source-package sbcl-deflate))
11175
11176 (define-public ecl-deflate
11177 (sbcl-package->ecl-package sbcl-deflate))
11178
11179 (define-public sbcl-skippy
11180 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
11181 (revision "0"))
11182 (package
11183 (name "sbcl-skippy")
11184 (version (git-version "1.3.12" revision commit))
11185 (source
11186 (origin
11187 (method git-fetch)
11188 (uri (git-reference
11189 (url "https://github.com/xach/skippy")
11190 (commit commit)))
11191 (file-name (git-file-name name version))
11192 (sha256
11193 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
11194 (build-system asdf-build-system/sbcl)
11195 (home-page "https://xach.com/lisp/skippy/")
11196 (synopsis "Common Lisp library for GIF images")
11197 (description
11198 "Skippy is a Common Lisp library to read and write GIF image files.")
11199 (license license:bsd-2))))
11200
11201 (define-public cl-skippy
11202 (sbcl-package->cl-source-package sbcl-skippy))
11203
11204 (define-public ecl-skippy
11205 (sbcl-package->ecl-package sbcl-skippy))
11206
11207 (define-public sbcl-cl-freetype2
11208 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
11209 (revision "0"))
11210 (package
11211 (name "sbcl-cl-freetype2")
11212 (version (git-version "1.1" revision commit))
11213 (source
11214 (origin
11215 (method git-fetch)
11216 (uri (git-reference
11217 (url "https://github.com/rpav/cl-freetype2")
11218 (commit commit)))
11219 (file-name (git-file-name name version))
11220 (sha256
11221 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
11222 (build-system asdf-build-system/sbcl)
11223 (native-inputs
11224 `(("fiveam" ,sbcl-fiveam)))
11225 (inputs
11226 `(("alexandria" ,sbcl-alexandria)
11227 ("cffi" ,sbcl-cffi)
11228 ("freetype" ,freetype)
11229 ("trivial-garbage" ,sbcl-trivial-garbage)))
11230 (arguments
11231 `(#:phases
11232 (modify-phases %standard-phases
11233 (add-after 'unpack 'fix-paths
11234 (lambda* (#:key inputs #:allow-other-keys)
11235 (substitute* "src/ffi/ft2-lib.lisp"
11236 (("\"libfreetype\"")
11237 (string-append "\"" (assoc-ref inputs "freetype")
11238 "/lib/libfreetype\"")))
11239 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
11240 (("-I/usr/include/freetype")
11241 (string-append "-I" (assoc-ref inputs "freetype")
11242 "/include/freetype")))
11243 #t)))))
11244 (home-page "https://github.com/rpav/cl-freetype2")
11245 (synopsis "Common Lisp bindings for Freetype 2")
11246 (description
11247 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
11248 geared toward both using Freetype directly by providing a simplified API, as
11249 well as providing access to the underlying C structures and functions for use
11250 with other libraries which may also use Freetype.")
11251 (license license:bsd-3))))
11252
11253 (define-public cl-freetype2
11254 (sbcl-package->cl-source-package sbcl-cl-freetype2))
11255
11256 (define-public ecl-cl-freetype2
11257 (sbcl-package->ecl-package sbcl-cl-freetype2))
11258
11259 (define-public sbcl-opticl-core
11260 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
11261 (revision "0"))
11262 (package
11263 (name "sbcl-opticl-core")
11264 (version (git-version "0.0.0" revision commit))
11265 (source
11266 (origin
11267 (method git-fetch)
11268 (uri (git-reference
11269 (url "https://github.com/slyrus/opticl-core")
11270 (commit commit)))
11271 (file-name (git-file-name name version))
11272 (sha256
11273 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
11274 (build-system asdf-build-system/sbcl)
11275 (inputs
11276 `(("alexandria" ,sbcl-alexandria)))
11277 (home-page "https://github.com/slyrus/opticl-core")
11278 (synopsis "Core classes and pixel access macros for Opticl")
11279 (description
11280 "This Common Lisp library contains the core classes and pixel access
11281 macros for the Opticl image processing library.")
11282 (license license:bsd-2))))
11283
11284 (define-public cl-opticl-core
11285 (sbcl-package->cl-source-package sbcl-opticl-core))
11286
11287 (define-public ecl-opticl-core
11288 (sbcl-package->ecl-package sbcl-opticl-core))
11289
11290 (define-public sbcl-retrospectiff
11291 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
11292 (revision "0"))
11293 (package
11294 (name "sbcl-retrospectiff")
11295 (version (git-version "0.2" revision commit))
11296 (source
11297 (origin
11298 (method git-fetch)
11299 (uri (git-reference
11300 (url "https://github.com/slyrus/retrospectiff")
11301 (commit commit)))
11302 (file-name (git-file-name name version))
11303 (sha256
11304 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
11305 (build-system asdf-build-system/sbcl)
11306 (native-inputs
11307 `(("fiveam" ,sbcl-fiveam)))
11308 (inputs
11309 `(("cl-jpeg" ,sbcl-cl-jpeg)
11310 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
11311 ("deflate" ,sbcl-deflate)
11312 ("flexi-streams" ,sbcl-flexi-streams)
11313 ("ieee-floats" ,sbcl-ieee-floats)
11314 ("opticl-core" ,sbcl-opticl-core)))
11315 (home-page "https://github.com/slyrus/retrospectiff")
11316 (synopsis "Common Lisp library for TIFF images")
11317 (description
11318 "Retrospectiff is a common lisp library for reading and writing images
11319 in the TIFF (Tagged Image File Format) format.")
11320 (license license:bsd-2))))
11321
11322 (define-public cl-retrospectif
11323 (sbcl-package->cl-source-package sbcl-retrospectiff))
11324
11325 (define-public ecl-retrospectiff
11326 (sbcl-package->ecl-package sbcl-retrospectiff))
11327
11328 (define-public sbcl-mmap
11329 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
11330 (revision "0"))
11331 (package
11332 (name "sbcl-mmap")
11333 (version (git-version "1.0.0" revision commit))
11334 (source
11335 (origin
11336 (method git-fetch)
11337 (uri (git-reference
11338 (url "https://github.com/Shinmera/mmap")
11339 (commit commit)))
11340 (file-name (git-file-name name version))
11341 (sha256
11342 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
11343 (build-system asdf-build-system/sbcl)
11344 (native-inputs
11345 `(("alexandria" ,sbcl-alexandria)
11346 ("cffi" ,sbcl-cffi)
11347 ("parachute" ,sbcl-parachute)
11348 ("trivial-features" ,sbcl-trivial-features)))
11349 (inputs
11350 `(("cffi" ,sbcl-cffi)
11351 ("documentation-utils" ,sbcl-documentation-utils)))
11352 (home-page "https://shinmera.github.io/mmap/")
11353 (synopsis "File memory mapping for Common Lisp")
11354 (description
11355 "This is a utility library providing access to the @emph{mmap} family of
11356 functions in a portable way. It allows you to directly map a file into the
11357 address space of your process without having to manually read it into memory
11358 sequentially. Typically this is much more efficient for files that are larger
11359 than a few Kb.")
11360 (license license:zlib))))
11361
11362 (define-public cl-mmap
11363 (sbcl-package->cl-source-package sbcl-mmap))
11364
11365 (define-public ecl-mmap
11366 (sbcl-package->ecl-package sbcl-mmap))
11367
11368 (define-public sbcl-3bz
11369 (let ((commit "569614c40408f3aefc77ba233e0e4bd66d3850ad")
11370 (revision "1"))
11371 (package
11372 (name "sbcl-3bz")
11373 (version (git-version "0.0.0" revision commit))
11374 (source
11375 (origin
11376 (method git-fetch)
11377 (uri (git-reference
11378 (url "https://github.com/3b/3bz")
11379 (commit commit)))
11380 (file-name (git-file-name name version))
11381 (sha256
11382 (base32 "0kvvlvf50jhhw1s510f3clpr1a68632bq6d698yxcrx722igcrg4"))))
11383 (build-system asdf-build-system/sbcl)
11384 (inputs
11385 `(("alexandria" ,sbcl-alexandria)
11386 ("babel" ,sbcl-babel)
11387 ("cffi" ,sbcl-cffi)
11388 ("mmap" ,sbcl-mmap)
11389 ("nibbles" ,sbcl-nibbles)
11390 ("trivial-features" ,sbcl-trivial-features)))
11391 (arguments
11392 ;; FIXME: #41437 - Build fails when package name starts from a digit
11393 `(#:asd-systems '("3bz")))
11394 (home-page "https://github.com/3b/3bz")
11395 (synopsis "Deflate decompression for Common Lisp")
11396 (description
11397 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
11398 with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
11399 foreign pointers (for use with mmap and similar, etc), and from CL octet
11400 vectors and streams.")
11401 (license license:expat))))
11402
11403 (define-public cl-3bz
11404 (sbcl-package->cl-source-package sbcl-3bz))
11405
11406 (define-public ecl-3bz
11407 (sbcl-package->ecl-package sbcl-3bz))
11408
11409 (define-public sbcl-zpb-exif
11410 (package
11411 (name "sbcl-zpb-exif")
11412 (version "1.2.4")
11413 (source
11414 (origin
11415 (method git-fetch)
11416 (uri (git-reference
11417 (url "https://github.com/xach/zpb-exif")
11418 (commit (string-append "release-" version))))
11419 (file-name (git-file-name name version))
11420 (sha256
11421 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
11422 (build-system asdf-build-system/sbcl)
11423 (home-page "https://xach.com/lisp/zpb-exif/")
11424 (synopsis "EXIF information extractor for Common Lisp")
11425 (description
11426 "This is a Common Lisp library to extract EXIF information from image
11427 files.")
11428 (license license:bsd-2)))
11429
11430 (define-public cl-zpb-exif
11431 (sbcl-package->cl-source-package sbcl-zpb-exif))
11432
11433 (define-public ecl-zpb-exif
11434 (sbcl-package->ecl-package sbcl-zpb-exif))
11435
11436 (define-public sbcl-pngload
11437 (package
11438 (name "sbcl-pngload")
11439 (version "2.0.0")
11440 (source
11441 (origin
11442 (method git-fetch)
11443 (uri (git-reference
11444 (url "https://github.com/bufferswap/pngload")
11445 (commit version)))
11446 (file-name (git-file-name name version))
11447 (sha256
11448 (base32 "1ix8dd0fxlf8xm0bszh1s7sx83hn0vqq8b8c9gkrd5m310w8mpvh"))))
11449 (build-system asdf-build-system/sbcl)
11450 (inputs
11451 `(("3bz" ,sbcl-3bz)
11452 ("alexandria" ,sbcl-alexandria)
11453 ("cffi" ,sbcl-cffi)
11454 ("mmap" ,sbcl-mmap)
11455 ("parse-float" ,sbcl-parse-float)
11456 ("static-vectors" ,sbcl-static-vectors)
11457 ("swap-bytes" ,sbcl-swap-bytes)
11458 ("zpb-exif" ,sbcl-zpb-exif)))
11459 (arguments
11460 ;; Test suite disabled because of a dependency cycle.
11461 ;; pngload tests depend on opticl which depends on pngload.
11462 '(#:tests? #f))
11463 (home-page "https://github.com/bufferswap/pngload")
11464 (synopsis "PNG image decoder for Common Lisp")
11465 (description
11466 "This is a Common Lisp library to load images in the PNG image format,
11467 both from files on disk, or streams in memory.")
11468 (license license:expat)))
11469
11470 (define-public cl-pngload
11471 (sbcl-package->cl-source-package sbcl-pngload))
11472
11473 (define-public ecl-pngload
11474 (sbcl-package->ecl-package sbcl-pngload))
11475
11476 (define-public sbcl-opticl
11477 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
11478 (revision "0"))
11479 (package
11480 (name "sbcl-opticl")
11481 (version (git-version "0.0.0" revision commit))
11482 (source
11483 (origin
11484 (method git-fetch)
11485 (uri (git-reference
11486 (url "https://github.com/slyrus/opticl")
11487 (commit commit)))
11488 (file-name (git-file-name name version))
11489 (sha256
11490 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
11491 (build-system asdf-build-system/sbcl)
11492 (native-inputs
11493 `(("fiveam" ,sbcl-fiveam)))
11494 (inputs
11495 `(("alexandria" ,sbcl-alexandria)
11496 ("cl-jpeg" ,sbcl-cl-jpeg)
11497 ("cl-tga" ,sbcl-cl-tga)
11498 ("png-read" ,sbcl-png-read)
11499 ("pngload" ,sbcl-pngload)
11500 ("retrospectiff" ,sbcl-retrospectiff)
11501 ("skippy" ,sbcl-skippy)
11502 ("zpng" ,sbcl-zpng)))
11503 (arguments
11504 '(#:asd-files '("opticl.asd")))
11505 (home-page "https://github.com/slyrus/opticl")
11506 (synopsis "Image processing library for Common Lisp")
11507 (description
11508 "Opticl is a Common Lisp library for representing, processing, loading,
11509 and saving 2-dimensional pixel-based images.")
11510 (license license:bsd-2))))
11511
11512 (define-public cl-opticl
11513 (sbcl-package->cl-source-package sbcl-opticl))
11514
11515 (define-public ecl-opticl
11516 (sbcl-package->ecl-package sbcl-opticl))
11517
11518 (define-public sbcl-mcclim
11519 (let ((commit "04cc542dd4b461b9d56406e40681d1a8f080730f")
11520 (revision "1"))
11521 (package
11522 (name "sbcl-mcclim")
11523 (version (git-version "0.9.7" revision commit))
11524 (source
11525 (origin
11526 (method git-fetch)
11527 (uri (git-reference
11528 (url "https://github.com/mcclim/mcclim")
11529 (commit commit)))
11530 (file-name (git-file-name name version))
11531 (sha256
11532 (base32 "1xjly8i62z72hfhlnz5kjd9i8xhrwckc7avyizxvhih67pkjmsx0"))))
11533 (build-system asdf-build-system/sbcl)
11534 (native-inputs
11535 `(("fiveam" ,sbcl-fiveam)
11536 ("pkg-config" ,pkg-config)))
11537 (inputs
11538 `(("alexandria" ,sbcl-alexandria)
11539 ("babel" ,sbcl-babel)
11540 ("bordeaux-threads" ,sbcl-bordeaux-threads)
11541 ("cl-freetype2" ,sbcl-cl-freetype2)
11542 ("cl-pdf" ,sbcl-cl-pdf)
11543 ("cffi" ,sbcl-cffi)
11544 ("cl-unicode" ,sbcl-cl-unicode)
11545 ("cl-vectors" ,sbcl-cl-vectors)
11546 ("closer-mop" ,sbcl-closer-mop)
11547 ("clx" ,sbcl-clx)
11548 ("flexi-streams" ,sbcl-flexi-streams)
11549 ("flexichain" ,sbcl-flexichain)
11550 ("font-dejavu" ,font-dejavu)
11551 ("fontconfig" ,fontconfig)
11552 ("freetype" ,freetype)
11553 ("harfbuzz" ,harfbuzz)
11554 ("log4cl" ,sbcl-log4cl)
11555 ("opticl" ,sbcl-opticl)
11556 ("spatial-trees" ,sbcl-spatial-trees)
11557 ("swank" ,sbcl-slime-swank)
11558 ("trivial-features" ,sbcl-trivial-features)
11559 ("trivial-garbage" ,sbcl-trivial-garbage)
11560 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
11561 ("zpb-ttf" ,sbcl-zpb-ttf)))
11562 (arguments
11563 '(#:asd-systems '("mcclim"
11564 "clim-examples")
11565 #:phases
11566 (modify-phases %standard-phases
11567 (add-after 'unpack 'fix-paths
11568 (lambda* (#:key inputs #:allow-other-keys)
11569 ;; mcclim-truetype uses DejaVu as default font and
11570 ;; sets the path at build time.
11571 (substitute* "Extensions/fonts/fontconfig.lisp"
11572 (("/usr/share/fonts/truetype/dejavu/")
11573 (string-append (assoc-ref inputs "font-dejavu")
11574 "/share/fonts/truetype/")))
11575 (substitute* "Extensions/fontconfig/src/functions.lisp"
11576 (("libfontconfig\\.so")
11577 (string-append (assoc-ref inputs "fontconfig")
11578 "/lib/libfontconfig.so")))
11579 (substitute* "Extensions/harfbuzz/src/functions.lisp"
11580 (("libharfbuzz\\.so")
11581 (string-append (assoc-ref inputs "harfbuzz")
11582 "/lib/libharfbuzz.so")))
11583 #t))
11584 (add-after 'unpack 'fix-build
11585 (lambda _
11586 ;; The cffi-grovel system does not get loaded automatically,
11587 ;; so we load it explicitly.
11588 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
11589 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
11590 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
11591 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
11592 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
11593 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
11594 #t)))))
11595 (home-page "https://common-lisp.net/project/mcclim/")
11596 (synopsis "Common Lisp GUI toolkit")
11597 (description
11598 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
11599 specification}, a toolkit for writing GUIs in Common Lisp.")
11600 (license license:lgpl2.1+))))
11601
11602 (define-public cl-mcclim
11603 (sbcl-package->cl-source-package sbcl-mcclim))
11604
11605 (define-public ecl-mcclim
11606 (sbcl-package->ecl-package sbcl-mcclim))
11607
11608 (define-public sbcl-cl-inflector
11609 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
11610 (revision "1"))
11611 (package
11612 (name "sbcl-cl-inflector")
11613 (version (git-version "0.2" revision commit))
11614 (source
11615 (origin
11616 (method git-fetch)
11617 (uri (git-reference
11618 (url "https://github.com/AccelerationNet/cl-inflector")
11619 (commit commit)))
11620 (file-name (git-file-name name version))
11621 (sha256
11622 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
11623 (build-system asdf-build-system/sbcl)
11624 (native-inputs
11625 `(("lisp-unit2" ,sbcl-lisp-unit2)))
11626 (inputs
11627 `(("alexandria" ,sbcl-alexandria)
11628 ("cl-ppcre" ,sbcl-cl-ppcre)))
11629 (home-page "https://github.com/AccelerationNet/cl-inflector")
11630 (synopsis "Library to pluralize/singularize English and Portuguese words")
11631 (description
11632 "This is a common lisp library to easily pluralize and singularize
11633 English and Portuguese words. This is a port of the ruby ActiveSupport
11634 Inflector module.")
11635 (license license:expat))))
11636
11637 (define-public cl-inflector
11638 (sbcl-package->cl-source-package sbcl-cl-inflector))
11639
11640 (define-public ecl-cl-inflector
11641 (sbcl-package->ecl-package sbcl-cl-inflector))
11642
11643 (define-public sbcl-ixf
11644 (let ((commit "ed26f87e4127e4a9e3aac4ff1e60d1f39cca5183")
11645 (revision "1"))
11646 (package
11647 (name "sbcl-ixf")
11648 (version (git-version "0.1.0" revision commit))
11649 (source
11650 (origin
11651 (method git-fetch)
11652 (uri (git-reference
11653 (url "https://github.com/dimitri/cl-ixf")
11654 (commit commit)))
11655 (file-name (git-file-name "cl-ixf" version))
11656 (sha256
11657 (base32 "1wjdnf4vr9z7lcfc49kl43g6l2i23q9n81siy494k17d766cdvqa"))))
11658 (build-system asdf-build-system/sbcl)
11659 (inputs
11660 `(("alexandria" ,sbcl-alexandria)
11661 ("babel" ,sbcl-babel)
11662 ("cl-ppcre" ,sbcl-cl-ppcre)
11663 ("ieee-floats" ,sbcl-ieee-floats)
11664 ("local-time" ,sbcl-local-time)
11665 ("md5" ,sbcl-md5)
11666 ("split-sequence" ,sbcl-split-sequence)))
11667 (home-page "https://github.com/dimitri/cl-ixf")
11668 (synopsis "Parse IBM IXF file format")
11669 (description
11670 "This is a Common Lisp library to handle the IBM PC version of the IXF
11671 (Integration Exchange Format) file format.")
11672 (license license:public-domain))))
11673
11674 (define-public ecl-ixf
11675 (sbcl-package->ecl-package sbcl-ixf))
11676
11677 (define-public cl-ixf
11678 (sbcl-package->cl-source-package sbcl-ixf))
11679
11680 (define-public sbcl-qbase64
11681 (package
11682 (name "sbcl-qbase64")
11683 (version "0.3.0")
11684 (source
11685 (origin
11686 (method git-fetch)
11687 (uri (git-reference
11688 (url "https://github.com/chaitanyagupta/qbase64")
11689 (commit version)))
11690 (file-name (git-file-name name version))
11691 (sha256
11692 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
11693 (build-system asdf-build-system/sbcl)
11694 (inputs
11695 `(("metabang-bind" ,sbcl-metabang-bind)
11696 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
11697 (native-inputs
11698 `(("fiveam" ,sbcl-fiveam)))
11699 (home-page "https://github.com/chaitanyagupta/qbase64")
11700 (synopsis "Base64 encoder and decoder for Common Lisp")
11701 (description "@code{qbase64} provides a fast and flexible base64 encoder
11702 and decoder for Common Lisp.")
11703 (license license:bsd-3)))
11704
11705 (define-public cl-qbase64
11706 (sbcl-package->cl-source-package sbcl-qbase64))
11707
11708 (define-public ecl-qbase64
11709 (sbcl-package->ecl-package sbcl-qbase64))
11710
11711 (define-public sbcl-lw-compat
11712 ;; No release since 2013.
11713 (let ((commit "aabfe28c6c1a4949f9d7b3cb30319367c9fd1c0d"))
11714 (package
11715 (name "sbcl-lw-compat")
11716 (version (git-version "1.0.0" "1" commit))
11717 (source
11718 (origin
11719 (method git-fetch)
11720 (uri (git-reference
11721 (url "https://github.com/pcostanza/lw-compat/")
11722 (commit commit)))
11723 (file-name (git-file-name name version))
11724 (sha256
11725 (base32 "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav"))))
11726 (build-system asdf-build-system/sbcl)
11727 (home-page "https://github.com/pcostanza/lw-compat/")
11728 (synopsis "LispWorks utilities ported to other Common Lisp implementations")
11729 (description "This package contains a few utility functions from the
11730 LispWorks library that are used in software such as ContextL.")
11731 (license license:expat))))
11732
11733 (define-public cl-lw-compat
11734 (sbcl-package->cl-source-package sbcl-lw-compat))
11735
11736 (define-public ecl-lw-compat
11737 (sbcl-package->ecl-package sbcl-lw-compat))
11738
11739 (define-public sbcl-contextl
11740 ;; No release since 2013.
11741 (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9"))
11742 (package
11743 (name "sbcl-contextl")
11744 (version (git-version "1.0.0" "1" commit))
11745 (source
11746 (origin
11747 (method git-fetch)
11748 (uri (git-reference
11749 (url "https://github.com/pcostanza/contextl/")
11750 (commit commit)))
11751 (file-name (git-file-name name version))
11752 (sha256
11753 (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226"))))
11754 (build-system asdf-build-system/sbcl)
11755 (inputs
11756 `(("closer-mop" ,sbcl-closer-mop)
11757 ("lw-compat" ,sbcl-lw-compat)))
11758 (home-page "https://github.com/pcostanza/contextl")
11759 (synopsis "Context-oriented programming for Common Lisp")
11760 (description "ContextL is a CLOS extension for Context-Oriented
11761 Programming (COP).
11762
11763 Find overview of ContextL's features in an overview paper:
11764 @url{http://www.p-cos.net/documents/contextl-soa.pdf}. See also this general
11765 overview article about COP which also contains some ContextL examples:
11766 @url{http://www.jot.fm/issues/issue_2008_03/article4/}.")
11767 (license license:expat))))
11768
11769 (define-public cl-contextl
11770 (sbcl-package->cl-source-package sbcl-contextl))
11771
11772 (define-public ecl-contextl
11773 (sbcl-package->ecl-package sbcl-contextl))
11774
11775 (define-public sbcl-hu.dwim.common-lisp
11776 (package
11777 (name "sbcl-hu.dwim.common-lisp")
11778 (version "2015-07-09")
11779 (source
11780 (origin
11781 (method url-fetch)
11782 (uri (string-append
11783 "http://beta.quicklisp.org/archive/hu.dwim.common-lisp/"
11784 version "/hu.dwim.common-lisp-"
11785 (string-replace-substring version "-" "")
11786 "-darcs.tgz"))
11787 (sha256
11788 (base32 "13cxrvh55rw080mvfir7s7k735l9rcfh3khxp97qfwd5rz0gadb9"))))
11789 (build-system asdf-build-system/sbcl)
11790 (native-inputs
11791 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11792 (home-page "http://dwim.hu/")
11793 (synopsis "Redefine some standard Common Lisp names")
11794 (description "This library is a redefinition of the standard Common Lisp
11795 package that includes a number of renames and shadows. ")
11796 (license license:public-domain)))
11797
11798 (define-public cl-hu.dwim.common-lisp
11799 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
11800
11801 (define-public ecl-hu.dwim.common-lisp
11802 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
11803
11804 (define-public sbcl-hu.dwim.common
11805 (package
11806 (name "sbcl-hu.dwim.common")
11807 (version "2015-07-09")
11808 (source
11809 (origin
11810 (method url-fetch)
11811 (uri (string-append
11812 "http://beta.quicklisp.org/archive/hu.dwim.common/"
11813 version "/hu.dwim.common-"
11814 (string-replace-substring version "-" "")
11815 "-darcs.tgz"))
11816 (sha256
11817 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
11818 (build-system asdf-build-system/sbcl)
11819 (native-inputs
11820 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11821 (inputs
11822 `(("alexandria" ,sbcl-alexandria)
11823 ("anaphora" ,sbcl-anaphora)
11824 ("closer-mop" ,sbcl-closer-mop)
11825 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
11826 ("iterate" ,sbcl-iterate)
11827 ("metabang-bind" ,sbcl-metabang-bind)))
11828 (home-page "http://dwim.hu/")
11829 (synopsis "Common Lisp library shared by other hu.dwim systems")
11830 (description "This package contains a support library for other
11831 hu.dwim systems.")
11832 (license license:public-domain)))
11833
11834 (define-public cl-hu.dwim.common
11835 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
11836
11837 (define-public ecl-hu.dwim.common
11838 (sbcl-package->ecl-package sbcl-hu.dwim.common))
11839
11840 (define-public sbcl-hu.dwim.defclass-star
11841 (let ((commit "39d458f1b1bc830d1f5e18a6a35bf0e96a2cfd61"))
11842 (package
11843 (name "sbcl-hu.dwim.defclass-star")
11844 ;; We used to set version from the date when it was a darcs repo, so we
11845 ;; keep the year so that package gets updated on previous installs.
11846 (version (git-version "2021" "1" commit))
11847 (source
11848 (origin
11849 (method git-fetch)
11850 (uri (git-reference
11851 (url "https://github.com/hu-dwim/hu.dwim.defclass-star")
11852 (commit commit)))
11853 (file-name (git-file-name name version))
11854 (sha256
11855 (base32 "0hfkq2wad98vkyxdg1wh18y86d9w9yqkm8lxkk96szvpwymm7lmq"))))
11856 (build-system asdf-build-system/sbcl)
11857 (native-inputs
11858 `( ;; These 2 inputs are only needed tests which are disabled, see below.
11859 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
11860 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
11861 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
11862 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11863 (arguments
11864 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
11865 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
11866 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
11867 #:tests? #f))
11868 (home-page "https://github.com/hu-dwim/hu.dwim.defclass-star")
11869 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
11870 (description "@code{defclass-star} provides defclass* and defcondition* to
11871 simplify class and condition declarations. Features include:
11872
11873 @itemize
11874 @item Automatically export all or select slots at compile time.
11875 @item Define the @code{:initarg} and @code{:accessor} automatically.
11876 @item Specify a name transformer for both the @code{:initarg} and
11877 @code{:accessor}, etc.
11878 @item Specify the @code{:initform} as second slot value.
11879 @end itemize
11880
11881 See
11882 @url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
11883 for an example.")
11884 (license license:public-domain))))
11885
11886 (define-public cl-hu.dwim.defclass-star
11887 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
11888
11889 (define-public ecl-hu.dwim.defclass-star
11890 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))
11891
11892 (define-public sbcl-livesupport
11893 (let ((commit "71e6e412df9f3759ad8378fabb203913d82e228a")
11894 (revision "1"))
11895 (package
11896 (name "sbcl-livesupport")
11897 (version (git-version "0.0.0" revision commit))
11898 (source
11899 (origin
11900 (method git-fetch)
11901 (uri (git-reference
11902 (url "https://github.com/cbaggers/livesupport")
11903 (commit commit)))
11904 (file-name (git-file-name name version))
11905 (sha256
11906 (base32 "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"))))
11907 (build-system asdf-build-system/sbcl)
11908 (home-page "https://github.com/cbaggers/livesupport")
11909 (synopsis "Some helpers that make livecoding a little easier")
11910 (description "This package provides a macro commonly used in livecoding to
11911 enable continuing when errors are raised. Simply wrap around a chunk of code
11912 and it provides a restart called @code{continue} which ignores the error and
11913 carrys on from the end of the body.")
11914 (license license:bsd-2))))
11915
11916 (define-public cl-livesupport
11917 (sbcl-package->cl-source-package sbcl-livesupport))
11918
11919 (define-public ecl-livesupport
11920 (sbcl-package->ecl-package sbcl-livesupport))
11921
11922 (define-public sbcl-envy
11923 (let ((commit "956321b2852d58ba71c6fe621f5c2924178e9f88")
11924 (revision "1"))
11925 (package
11926 (name "sbcl-envy")
11927 (version (git-version "0.1" revision commit))
11928 (home-page "https://github.com/fukamachi/envy")
11929 (source
11930 (origin
11931 (method git-fetch)
11932 (uri (git-reference
11933 (url home-page)
11934 (commit commit)))
11935 (file-name (git-file-name name version))
11936 (sha256
11937 (base32 "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg"))))
11938 (build-system asdf-build-system/sbcl)
11939 ;; (native-inputs ; Only for tests.
11940 ;; `(("prove" ,sbcl-prove)
11941 ;; ("osicat" ,sbcl-osicat)))
11942 (arguments
11943 '(#:phases
11944 (modify-phases %standard-phases
11945 (add-after 'unpack 'fix-tests
11946 (lambda _
11947 (substitute* "envy-test.asd"
11948 (("cl-test-more") "prove"))
11949 #t)))
11950 ;; Tests fail with
11951 ;; Component ENVY-ASD::ENVY-TEST not found, required by #<SYSTEM "envy">
11952 ;; like xsubseq. Why?
11953 #:tests? #f))
11954 (synopsis "Common Lisp configuration switcher inspired by Perl's Config::ENV.")
11955 (description "Envy is a configuration manager for various applications.
11956 Envy uses an environment variable to determine a configuration to use. This
11957 can separate configuration system from an implementation.")
11958 (license license:bsd-2))))
11959
11960 (define-public cl-envy
11961 (sbcl-package->cl-source-package sbcl-envy))
11962
11963 (define-public ecl-envy
11964 (sbcl-package->ecl-package sbcl-envy))
11965
11966 (define-public sbcl-mito
11967 (let ((commit "d3b9e375ef364a65692da2185085a08c969ac88a")
11968 (revision "1"))
11969 (package
11970 (name "sbcl-mito")
11971 (version (git-version "0.1" revision commit))
11972 (home-page "https://github.com/fukamachi/mito")
11973 (source
11974 (origin
11975 (method git-fetch)
11976 (uri (git-reference
11977 (url home-page)
11978 (commit commit)))
11979 (file-name (git-file-name name version))
11980 (sha256
11981 (base32 "08mncgzjnbbsf1a6am3l73iw4lyfvz5ldjg5g84awfaxml4p73mb"))))
11982 (build-system asdf-build-system/sbcl)
11983 (native-inputs
11984 `(("prove" ,sbcl-prove)))
11985 (inputs
11986 `(("alexandria" ,sbcl-alexandria)
11987 ("cl-ppcre" ,sbcl-cl-ppcre)
11988 ("cl-reexport" ,sbcl-cl-reexport)
11989 ("closer-mop" ,sbcl-closer-mop)
11990 ("dbi" ,sbcl-dbi)
11991 ("dissect" ,sbcl-dissect)
11992 ("esrap" ,sbcl-esrap)
11993 ("local-time" ,sbcl-local-time)
11994 ("optima" ,sbcl-optima)
11995 ("sxql" ,sbcl-sxql)
11996 ("uuid" ,sbcl-uuid)))
11997 (arguments
11998 '(#:phases
11999 (modify-phases %standard-phases
12000 (add-after 'unpack 'remove-non-functional-tests
12001 (lambda _
12002 (substitute* "mito-test.asd"
12003 (("\\(:test-file \"db/mysql\"\\)") "")
12004 (("\\(:test-file \"db/postgres\"\\)") "")
12005 (("\\(:test-file \"dao\"\\)") "")
12006 ;; TODO: migration/sqlite3 should work, re-enable once
12007 ;; upstream has fixed it:
12008 ;; https://github.com/fukamachi/mito/issues/70
12009 (("\\(:test-file \"migration/sqlite3\"\\)") "")
12010 (("\\(:test-file \"migration/mysql\"\\)") "")
12011 (("\\(:test-file \"migration/postgres\"\\)") "")
12012 (("\\(:test-file \"postgres-types\"\\)") "")
12013 (("\\(:test-file \"mixin\"\\)") ""))
12014 #t)))
12015 ;; TODO: While all enabled tests pass, the phase fails with:
12016 ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito">
12017 #:tests? #f))
12018 (synopsis "ORM for Common Lisp with migrations and relationships support")
12019 (description "Mito is yet another object relational mapper, and it aims
12020 to be a successor of Integral.
12021
12022 @itemize
12023 @item Support MySQL, PostgreSQL and SQLite3.
12024 @item Add id (serial/uuid primary key), created_at and updated_at by default
12025 like Ruby's ActiveRecord.
12026 @item Migrations.
12027 @item Database schema versioning.
12028 @end itemize\n")
12029 (license license:llgpl))))
12030
12031 (define-public cl-mito
12032 (sbcl-package->cl-source-package sbcl-mito))
12033
12034 (define-public ecl-mito
12035 (sbcl-package->ecl-package sbcl-mito))
12036
12037 (define-public sbcl-kebab
12038 (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b")
12039 (revision "1"))
12040 (package
12041 (name "sbcl-kebab")
12042 (version (git-version "0.1" revision commit))
12043 (home-page "https://github.com/pocket7878/kebab")
12044 (source
12045 (origin
12046 (method git-fetch)
12047 (uri (git-reference
12048 (url home-page)
12049 (commit commit)))
12050 (file-name (git-file-name name version))
12051 (sha256
12052 (base32 "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"))))
12053 (build-system asdf-build-system/sbcl)
12054 (inputs
12055 `(("cl-ppcre" ,sbcl-cl-ppcre)
12056 ("alexandria" ,sbcl-alexandria)
12057 ("cl-interpol" ,sbcl-cl-interpol)
12058 ("split-sequence" ,sbcl-split-sequence)))
12059 (native-inputs
12060 `(("prove" ,sbcl-prove)))
12061 (arguments
12062 ;; Tests passes but the phase fails with
12063 ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">.
12064 `(#:tests? #f))
12065 (synopsis "Common Lisp case converter")
12066 (description "This Common Lisp library converts strings, symbols and
12067 keywords between any of the following typographical cases: PascalCase,
12068 camelCase, snake_case, kebab-case (lisp-case).")
12069 (license license:llgpl))))
12070
12071 (define-public cl-kebab
12072 (sbcl-package->cl-source-package sbcl-kebab))
12073
12074 (define-public ecl-kebab
12075 (sbcl-package->ecl-package sbcl-kebab))
12076
12077 (define-public sbcl-datafly
12078 (let ((commit "adece27fcbc4b5ea39ad1a105048b6b7166e3b0d")
12079 (revision "1"))
12080 (package
12081 (name "sbcl-datafly")
12082 (version (git-version "0.1" revision commit))
12083 (home-page "https://github.com/fukamachi/datafly")
12084 (source
12085 (origin
12086 (method git-fetch)
12087 (uri (git-reference
12088 (url home-page)
12089 (commit commit)))
12090 (file-name (git-file-name name version))
12091 (sha256
12092 (base32 "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv"))))
12093 (build-system asdf-build-system/sbcl)
12094 (inputs
12095 `(("alexandria" ,sbcl-alexandria)
12096 ("iterate" ,sbcl-iterate)
12097 ("optima" ,sbcl-optima)
12098 ("trivial-types" ,sbcl-trivial-types)
12099 ("closer-mop" ,sbcl-closer-mop)
12100 ("cl-syntax" ,sbcl-cl-syntax)
12101 ("sxql" ,sbcl-sxql)
12102 ("dbi" ,sbcl-dbi)
12103 ("babel" ,sbcl-babel)
12104 ("local-time" ,sbcl-local-time)
12105 ("function-cache" ,sbcl-function-cache)
12106 ("jonathan" ,sbcl-jonathan)
12107 ("kebab" ,sbcl-kebab)
12108 ("log4cl" ,sbcl-log4cl)))
12109 (native-inputs
12110 `(("prove" ,sbcl-prove)))
12111 (arguments
12112 ;; TODO: Tests fail with
12113 ;; While evaluating the form starting at line 22, column 0
12114 ;; of #P"/tmp/guix-build-sbcl-datafly-0.1-1.adece27.drv-0/source/t/datafly.lisp":
12115 ;; Unhandled SQLITE:SQLITE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
12116 ;; {10009F8083}>:
12117 ;; Error when binding parameter 1 to value NIL.
12118 ;; Code RANGE: column index out of range.
12119 `(#:tests? #f))
12120 (synopsis "Lightweight database library for Common Lisp")
12121 (description "Datafly is a lightweight database library for Common Lisp.")
12122 (license license:bsd-3))))
12123
12124 (define-public cl-datafly
12125 (sbcl-package->cl-source-package sbcl-datafly))
12126
12127 (define-public ecl-datafly
12128 (sbcl-package->ecl-package sbcl-datafly))
12129
12130 (define-public sbcl-do-urlencode
12131 (let ((commit "199846441dad5dfac5478b8dee4b4e20d107af6a")
12132 (revision "1"))
12133 (package
12134 (name "sbcl-do-urlencode")
12135 (version (git-version "0.0.0" revision commit))
12136 (home-page "https://github.com/drdo/do-urlencode")
12137 (source
12138 (origin
12139 (method git-fetch)
12140 (uri (git-reference
12141 (url home-page)
12142 (commit commit)))
12143 (file-name (git-file-name name version))
12144 (sha256
12145 (base32 "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"))))
12146 (build-system asdf-build-system/sbcl)
12147 (inputs
12148 `(("alexandria" ,sbcl-alexandria)
12149 ("babel" ,sbcl-babel)))
12150 (synopsis "Percent Encoding (aka URL Encoding) Common Lisp library")
12151 (description "This library provides trivial percent encoding and
12152 decoding functions for URLs.")
12153 (license license:isc))))
12154
12155 (define-public cl-do-urlencode
12156 (sbcl-package->cl-source-package sbcl-do-urlencode))
12157
12158 (define-public ecl-do-urlencode
12159 (sbcl-package->ecl-package sbcl-do-urlencode))
12160
12161 (define-public sbcl-cl-emb
12162 (let ((commit "fd8652174d048d4525a81f38cdf42f4fa519f840")
12163 (revision "1"))
12164 (package
12165 (name "sbcl-cl-emb")
12166 (version (git-version "0.4.3" revision commit))
12167 (home-page "https://common-lisp.net/project/cl-emb/")
12168 (source
12169 (origin
12170 (method git-fetch)
12171 (uri (git-reference
12172 (url "https://github.com/38a938c2/cl-emb")
12173 (commit commit)))
12174 (file-name (git-file-name name version))
12175 (sha256
12176 (base32 "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"))))
12177 (build-system asdf-build-system/sbcl)
12178 (inputs
12179 `(("cl-ppcre" ,sbcl-cl-ppcre)))
12180 (synopsis "Templating system for Common Lisp")
12181 (description "A mixture of features from eRuby and HTML::Template. You
12182 could name it \"Yet Another LSP\" (LispServer Pages) but it's a bit more than
12183 that and not limited to a certain server or text format.")
12184 (license license:llgpl))))
12185
12186 (define-public cl-emb
12187 (sbcl-package->cl-source-package sbcl-cl-emb))
12188
12189 (define-public ecl-cl-emb
12190 (sbcl-package->ecl-package sbcl-cl-emb))
12191
12192 (define-public sbcl-cl-project
12193 (let ((commit "151107014e534fc4666222d57fec2cc8549c8814")
12194 (revision "1"))
12195 (package
12196 (name "sbcl-cl-project")
12197 (version (git-version "0.3.1" revision commit))
12198 (home-page "https://github.com/fukamachi/cl-project")
12199 (source
12200 (origin
12201 (method git-fetch)
12202 (uri (git-reference
12203 (url home-page)
12204 (commit commit)))
12205 (file-name (git-file-name name version))
12206 (sha256
12207 (base32 "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y"))))
12208 (build-system asdf-build-system/sbcl)
12209 (inputs
12210 `(("cl-emb" ,sbcl-cl-emb)
12211 ("cl-ppcre" ,sbcl-cl-ppcre)
12212 ("local-time" ,sbcl-local-time)
12213 ("prove" ,sbcl-prove)))
12214 (arguments
12215 ;; Tests depend on caveman, which in turns depends on cl-project.
12216 '(#:tests? #f
12217 #:asd-files '("cl-project.asd")))
12218 (synopsis "Generate a skeleton for modern Common Lisp projects")
12219 (description "This library provides a modern project skeleton generator.
12220 In contract with other generators, CL-Project generates one package per file
12221 and encourages unit testing by generating a system for unit testing, so you
12222 can begin writing unit tests as soon as the project is generated.")
12223 (license license:llgpl))))
12224
12225 (define-public cl-project
12226 (sbcl-package->cl-source-package sbcl-cl-project))
12227
12228 (define-public ecl-cl-project
12229 (sbcl-package->ecl-package sbcl-cl-project))
12230
12231 (define-public sbcl-caveman
12232 (let ((commit "faa5f7e3b364fd7e7096af9a7bb06728b8d80441") ; No release since 2012
12233 (revision "1"))
12234 (package
12235 (name "sbcl-caveman")
12236 (version (git-version "2.4.0" revision commit))
12237 (home-page "http://8arrow.org/caveman/")
12238 (source
12239 (origin
12240 (method git-fetch)
12241 (uri (git-reference
12242 (url "https://github.com/fukamachi/caveman/")
12243 (commit commit)))
12244 (file-name (git-file-name name version))
12245 (sha256
12246 (base32 "0kh0gx05pczk8f7r9qdi4zn1p3d0a2prps27k7jpgvc1dxkl8qhq"))))
12247 (build-system asdf-build-system/sbcl)
12248 (inputs
12249 `(("ningle" ,cl-ningle)
12250 ("lack" ,sbcl-lack)
12251 ("cl-project" ,sbcl-cl-project)
12252 ("dbi" ,sbcl-dbi)
12253 ("cl-syntax" ,sbcl-cl-syntax)
12254 ("myway" ,sbcl-myway)
12255 ("quri" ,sbcl-quri)))
12256 (native-inputs
12257 `(("usocket" ,sbcl-usocket)
12258 ("dexador" ,sbcl-dexador)))
12259 (arguments
12260 `(#:asd-files '("caveman2.asd")
12261 #:asd-systems '("caveman2")
12262 #:phases
12263 (modify-phases %standard-phases
12264 (add-after 'unpack 'remove-v1
12265 (lambda _
12266 (delete-file-recursively "v1")
12267 (for-each delete-file
12268 '("README.v1.markdown" "caveman.asd" "caveman-test.asd")))))
12269 ;; TODO: Tests fail with:
12270 ;; writing /gnu/store/...-sbcl-caveman-2.4.0-1.faa5f7e/share/common-lisp/sbcl-source/caveman2/v2/t/tmp/myapp573/tests/myapp573.lisp
12271 ;; While evaluating the form starting at line 38, column 0
12272 ;; of #P"/tmp/guix-build-sbcl-caveman-2.4.0-1.faa5f7e.drv-0/source/v2/t/caveman.lisp":
12273 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD "main thread" RUNNING
12274 ;; {10009F8083}>:
12275 ;; Component "myapp573" not found
12276 #:tests? #f))
12277 (synopsis "Lightweight web application framework in Common Lisp")
12278 (description "Caveman is intended to be a collection of common parts for
12279 web applications. Caveman2 has three design goals:
12280
12281 @itemize
12282 @item Be extensible.
12283 @item Be practical.
12284 @item Don't force anything.
12285 @end itemize\n")
12286 (license license:llgpl))))
12287
12288 (define-public cl-caveman
12289 (package
12290 (inherit
12291 (sbcl-package->cl-source-package sbcl-caveman))
12292 (propagated-inputs
12293 `(("ningle" ,cl-ningle)))))
12294
12295 (define-public ecl-caveman
12296 (sbcl-package->ecl-package sbcl-caveman))
12297
12298 (define-public sbcl-lambda-fiddle
12299 (let ((commit "d16bba55acf6065b412f64ab8fdff679a4a32b1e") ;; no tagged branch
12300 (revision "1"))
12301 (package
12302 (name "sbcl-lambda-fiddle")
12303 (version (git-version "1.0.0" revision commit))
12304 (source
12305 (origin
12306 (method git-fetch)
12307 (uri (git-reference
12308 (url "https://github.com/Shinmera/lambda-fiddle")
12309 (commit commit)))
12310 (file-name (git-file-name name version))
12311 (sha256
12312 (base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand"))))
12313 (build-system asdf-build-system/sbcl)
12314 (home-page "https://github.com/Shinmera/lambda-fiddle")
12315 (synopsis "Collection of utilities to process lambda-lists")
12316 (description "This collection of utilities is useful in contexts where
12317 you want a macro that uses lambda-lists in some fashion but need more precise
12318 processing.")
12319 (license license:zlib))))
12320
12321 (define-public cl-lambda-fiddle
12322 (sbcl-package->cl-source-package sbcl-lambda-fiddle))
12323
12324 (define-public ecl-lambda-fiddle
12325 (sbcl-package->ecl-package sbcl-lambda-fiddle))
12326
12327 (define-public sbcl-xmls
12328 (let ((commit "18546f0850b1338e03997ffd1696add1cb1800d1") ;; no tagged branch
12329 (revision "1"))
12330 (package
12331 (name "sbcl-xmls")
12332 (version (git-version "3.0.2" revision commit))
12333 (source
12334 (origin
12335 (method git-fetch)
12336 (uri (git-reference
12337 (url "https://github.com/rpgoldman/xmls")
12338 (commit commit)))
12339 (file-name (git-file-name name version))
12340 (sha256
12341 (base32 "1lmvfml2ldbb1wkhm25jqqk2bhwsz52hhcgljbnzj1xr8xhc3anp"))))
12342 (native-inputs
12343 `(("fiveam" ,sbcl-fiveam)))
12344 (build-system asdf-build-system/sbcl)
12345 (home-page "https://github.com/rpgoldman/xmls")
12346 (synopsis "Non-validating XML parser for Common Lisp")
12347 (description "Xmls is a self-contained, easily embedded parser that
12348 recognizes a useful subset of the XML spec. It provides a simple mapping from
12349 XML to Lisp structures or s-expressions and back.")
12350 (license license:bsd-2))))
12351
12352 (define-public cl-xmls
12353 (sbcl-package->cl-source-package sbcl-xmls))
12354
12355 (define-public ecl-xmls
12356 (sbcl-package->ecl-package sbcl-xmls))
12357
12358 (define-public sbcl-geco
12359 (package
12360 (name "sbcl-geco")
12361 (version "2.1.1")
12362 (source
12363 (origin
12364 (method git-fetch)
12365 (uri (git-reference
12366 (url "https://github.com/gpwwjr/GECO")
12367 (commit (string-append "v" version))))
12368 (file-name (git-file-name "geco" version))
12369 (sha256
12370 (base32 "1rc8a4mk40hjx5qy980hjylv6xxqdbq38hg8c4w30y93abfd519s"))))
12371 (build-system asdf-build-system/sbcl)
12372 (home-page "http://hiwaay.net/~gpw/geco/geco.html")
12373 (synopsis "Genetic algorithm toolkit for Common Lisp")
12374 (description
12375 "GECO (Genetic Evolution through Combination of Objects) is an extensible,
12376 object-oriented framework for prototyping genetic algorithms in Common Lisp.")
12377 (license license:lgpl2.1+)))
12378
12379 (define-public cl-geco
12380 (sbcl-package->cl-source-package sbcl-geco))
12381
12382 (define-public ecl-geco
12383 (sbcl-package->ecl-package sbcl-geco))
12384
12385 (define-public sbcl-html-entities
12386 (let ((commit "4af018048e891f41d77e7d680ed3aeb639e1eedb"))
12387 (package
12388 (name "sbcl-html-entities")
12389 (version (git-version "0.02" "1" commit))
12390 (source
12391 (origin
12392 (method git-fetch)
12393 (uri (git-reference
12394 (url "https://github.com/BnMcGn/html-entities/")
12395 (commit commit)))
12396 (file-name (git-file-name name version))
12397 (sha256
12398 (base32 "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"))))
12399 (build-system asdf-build-system/sbcl)
12400 (inputs
12401 `(("ppcre" ,sbcl-cl-ppcre)))
12402 (native-inputs
12403 `(("fiveam" ,sbcl-fiveam)))
12404 (home-page "https://github.com/BnMcGn/html-entities/")
12405 (synopsis "Encode and decode entities in HTML with Common Lisp")
12406 (description "Html-entities is a Common Lisp library that lets you
12407 encode and decode entities in HTML.")
12408 (license license:expat))))
12409
12410 (define-public cl-html-entities
12411 (sbcl-package->cl-source-package sbcl-html-entities))
12412
12413 (define-public ecl-html-entities
12414 (sbcl-package->ecl-package sbcl-html-entities))
12415
12416 (define-public sbcl-quicksearch
12417 (let ((commit "fb02ecf7c876ec580ab18c7d2c8c7814c06af599"))
12418 (package
12419 (name "sbcl-quicksearch")
12420 (version (git-version "0.01.04" "1" commit))
12421 (source
12422 (origin
12423 (method git-fetch)
12424 (uri (git-reference
12425 (url "https://github.com/tkych/quicksearch/")
12426 (commit commit)))
12427 (file-name (git-file-name name version))
12428 (sha256
12429 (base32 "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps"))))
12430 (build-system asdf-build-system/sbcl)
12431 (inputs
12432 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12433 ("iterate" ,sbcl-iterate)
12434 ("alexandria" ,sbcl-alexandria)
12435 ("anaphora" ,sbcl-anaphora)
12436 ("ppcre" ,sbcl-cl-ppcre)
12437 ("drakma" ,sbcl-drakma)
12438 ("html-entities" ,sbcl-html-entities)
12439 ("yason" ,sbcl-yason)
12440 ("flexi-streams" ,sbcl-flexi-streams)
12441 ("do-urlencode" ,sbcl-do-urlencode)))
12442 (home-page "https://github.com/tkych/quicksearch/")
12443 (synopsis "Search Engine Interface for Common Lisp packages")
12444 (description "Quicksearch is a search-engine-interface for Common Lisp.
12445 The goal of Quicksearch is to find the Common Lisp library quickly. For
12446 example, if you will find the library about json, just type @code{(qs:?
12447 'json)} at REPL.
12448
12449 The function @code{quicksearch} searches for Common Lisp projects in
12450 Quicklisp, Cliki, GitHub and BitBucket, then outputs results in REPL. The
12451 function @code{?} is abbreviation wrapper for @code{quicksearch}.")
12452 (license license:expat))))
12453
12454 (define-public cl-quicksearch
12455 (sbcl-package->cl-source-package sbcl-quicksearch))
12456
12457 (define-public ecl-quicksearch
12458 (sbcl-package->ecl-package sbcl-quicksearch))
12459
12460 (define-public sbcl-agutil
12461 (let ((commit "df188d754d472da9faa1601a48f1f37bb7b34d68"))
12462 (package
12463 (name "sbcl-agutil")
12464 (version (git-version "0.0.1" "1" commit))
12465 (source
12466 (origin
12467 (method git-fetch)
12468 (uri (git-reference
12469 (url "https://github.com/alex-gutev/agutil/")
12470 (commit commit)))
12471 (file-name (git-file-name name version))
12472 (sha256
12473 (base32 "1xpnyzksk2xld64b6lw6rw0gn5zxlb77jwna59sd4yl7kxhxlfpf"))))
12474 (build-system asdf-build-system/sbcl)
12475 (inputs
12476 `(("alexandria" ,sbcl-alexandria)
12477 ("trivia" ,sbcl-trivia)))
12478 (home-page "https://github.com/alex-gutev/agutil/")
12479 (synopsis "Collection of Common Lisp utilities")
12480 (description "A collection of Common Lisp utility functions and macros
12481 mostly not found in other utility packages.")
12482 (license license:expat))))
12483
12484 (define-public cl-agutil
12485 (sbcl-package->cl-source-package sbcl-agutil))
12486
12487 (define-public ecl-agutil
12488 (sbcl-package->ecl-package sbcl-agutil))
12489
12490 (define-public sbcl-custom-hash-table
12491 (let ((commit "f26983133940f5edf826ebbc8077acc04816ddfa"))
12492 (package
12493 (name "sbcl-custom-hash-table")
12494 (version (git-version "0.3" "1" commit))
12495 (source
12496 (origin
12497 (method git-fetch)
12498 (uri (git-reference
12499 (url "https://github.com/metawilm/cl-custom-hash-table")
12500 (commit commit)))
12501 (file-name (git-file-name name version))
12502 (sha256
12503 (base32 "1k4mvrpbqqds2fwjxp1bxmrfmr8ch4dkwhnkbw559knbqshvrlj5"))))
12504 (build-system asdf-build-system/sbcl)
12505 (arguments
12506 '(#:asd-files '("cl-custom-hash-table.asd")
12507 #:asd-systems '("cl-custom-hash-table")))
12508 (home-page "https://github.com/metawilm/cl-custom-hash-table")
12509 (synopsis "Custom hash tables for Common Lisp")
12510 (description "This library allows creation of hash tables with arbitrary
12511 @code{test}/@code{hash} functions, in addition to the @code{test} functions
12512 allowed by the standard (@code{EQ}, @code{EQL}, @code{EQUAL} and
12513 @code{EQUALP}), even in implementations that don't support this functionality
12514 directly.")
12515 (license license:expat))))
12516
12517 (define-public cl-custom-hash-table
12518 (sbcl-package->cl-source-package sbcl-custom-hash-table))
12519
12520 (define-public ecl-custom-hash-table
12521 (sbcl-package->ecl-package sbcl-custom-hash-table))
12522
12523 (define-public sbcl-collectors
12524 (let ((commit "13acef25d8422d1d82e067b1861e513587c166ee"))
12525 (package
12526 (name "sbcl-collectors")
12527 (version (git-version "0.1" "1" commit))
12528 (source
12529 (origin
12530 (method git-fetch)
12531 (uri (git-reference
12532 (url "https://github.com/AccelerationNet/collectors")
12533 (commit commit)))
12534 (file-name (git-file-name name version))
12535 (sha256
12536 (base32 "1si68n1j6rpns8jw6ksqjpb937pdl30v7xza8rld7j5vh0jhy2yi"))))
12537 (build-system asdf-build-system/sbcl)
12538 (inputs
12539 `(("alexandria" ,sbcl-alexandria)
12540 ("closer-mop" ,sbcl-closer-mop)
12541 ("symbol-munger" ,sbcl-symbol-munger)))
12542 (native-inputs
12543 `(("lisp-unit2" ,sbcl-lisp-unit2)))
12544 (home-page "https://github.com/AccelerationNet/collectors/")
12545 (synopsis "Common lisp library providing collector macros")
12546 (description "A small collection of common lisp macros to make
12547 collecting values easier.")
12548 (license license:bsd-3))))
12549
12550 (define-public cl-collectors
12551 (sbcl-package->cl-source-package sbcl-collectors))
12552
12553 (define-public ecl-collectors
12554 (sbcl-package->ecl-package sbcl-collectors))
12555
12556 (define-public sbcl-cl-environments
12557 (let ((commit "0b22154c5afefef23d1eba9a4fae11d73580ef41")) ; No version in 2 years.
12558 (package
12559 (name "sbcl-cl-environments")
12560 (version (git-version "0.2.3" "1" commit))
12561 (source
12562 (origin
12563 (method git-fetch)
12564 (uri (git-reference
12565 (url "https://github.com/alex-gutev/cl-environments")
12566 (commit commit)))
12567 (file-name (git-file-name name version))
12568 (sha256
12569 (base32
12570 "18r3wfarr7lgn78m6c66r0r9aazirv07gy7xgvqkl9pmrz1bc47m"))))
12571 (build-system asdf-build-system/sbcl)
12572 (inputs
12573 `(("alexandria" ,sbcl-alexandria)
12574 ("anaphora" ,sbcl-anaphora)
12575 ("collectors" ,sbcl-collectors)
12576 ("optima" ,sbcl-optima)))
12577 (native-inputs
12578 `(("prove" ,sbcl-prove)))
12579 (home-page "https://github.com/alex-gutev/cl-environments")
12580 (synopsis "Implements the Common Lisp standard environment access API")
12581 (description "This library provides a uniform API, as specified in Common
12582 Lisp the Language 2, for accessing information about variable and function
12583 bindings from implementation-defined lexical environment objects. All major
12584 Common Lisp implementations are supported, even those which don't support the
12585 CLTL2 environment access API.")
12586 (license license:expat))))
12587
12588 (define-public cl-environments
12589 (sbcl-package->cl-source-package sbcl-cl-environments))
12590
12591 (define-public ecl-environments
12592 (sbcl-package->ecl-package sbcl-cl-environments))
12593
12594 (define-public sbcl-static-dispatch
12595 (let ((commit "6243afcd152854c52ba33daef7394367b657d9c6")
12596 (revision "1"))
12597 (package
12598 (name "sbcl-static-dispatch")
12599 (version (git-version "0.3" revision commit))
12600 (source
12601 (origin
12602 (method git-fetch)
12603 (uri (git-reference
12604 (url "https://github.com/alex-gutev/static-dispatch")
12605 (commit commit)))
12606 (file-name (git-file-name "static-dispatch" version))
12607 (sha256
12608 (base32 "1lli9ar1xbnhkgb5d01rlw4pvfylg2arrw68np2c07fpkkafimg7"))))
12609 (build-system asdf-build-system/sbcl)
12610 (native-inputs
12611 `(("prove" ,sbcl-prove)))
12612 (inputs
12613 `(("agutil" ,sbcl-agutil)
12614 ("alexandria" ,sbcl-alexandria)
12615 ("anaphora" ,sbcl-anaphora)
12616 ("arrows" ,sbcl-arrows)
12617 ("cl-environments" ,sbcl-cl-environments)
12618 ("closer-mop" ,sbcl-closer-mop)
12619 ("iterate" ,sbcl-iterate)
12620 ("trivia" ,sbcl-trivia)))
12621 (home-page "https://github.com/alex-gutev/static-dispatch")
12622 (synopsis "Static generic function dispatch for Common Lisp")
12623 (description "Static dispatch is a Common Lisp library, inspired by
12624 @code{inlined-generic-function}, which allows standard Common Lisp generic
12625 function dispatch to be performed statically (at compile time) rather than
12626 dynamically (runtime). This is similar to what is known as \"overloading\" in
12627 languages such as C++ and Java.
12628
12629 The purpose of static dispatch is to provide an optimization in cases where
12630 the usual dynamic dispatch is too slow, and the dynamic features of generic
12631 functions, such as adding/removing methods at runtime are not required. An
12632 example of such a case is a generic equality comparison function. Currently
12633 generic functions are considered far too slow to implement generic arithmetic
12634 and comparison operations when used heavily in numeric code.")
12635 (license license:expat))))
12636
12637 (define-public cl-static-dispatch
12638 (sbcl-package->cl-source-package sbcl-static-dispatch))
12639
12640 (define-public ecl-static-dispatch
12641 (sbcl-package->ecl-package sbcl-static-dispatch))
12642
12643 (define-public sbcl-generic-cl
12644 ;; Latest commit includes a necessary fix for our Guix build.
12645 (let ((commit "8e5a81487ee3c13fe5ffdc8bdda161d476639535"))
12646 (package
12647 (name "sbcl-generic-cl")
12648 (version (git-version "0.7.1" "1" commit))
12649 (source
12650 (origin
12651 (method git-fetch)
12652 (uri (git-reference
12653 (url "https://github.com/alex-gutev/generic-cl")
12654 (commit commit)))
12655 (file-name (git-file-name name version))
12656 (sha256
12657 (base32
12658 "11w0g79s4wmc78vmfng437rmsgnp5qn246zcyr540fp5nw0ad6ix"))))
12659 (build-system asdf-build-system/sbcl)
12660 (inputs
12661 `(("agutil" ,sbcl-agutil)
12662 ("alexandria" ,sbcl-alexandria)
12663 ("anaphora" ,sbcl-anaphora)
12664 ("arrows" ,sbcl-arrows)
12665 ("cl-custom-hash-table" ,sbcl-custom-hash-table)
12666 ("static-dispatch" ,sbcl-static-dispatch)
12667 ("trivia" ,sbcl-trivia)))
12668 (native-inputs
12669 `(("prove" ,sbcl-prove)))
12670 (arguments
12671 ;; Tests fail because SBCL head size is not high enough.
12672 ;; https://github.com/alex-gutev/generic-cl/issues/6
12673 `(#:tests? #f))
12674 (home-page "https://alex-gutev.github.io/generic-cl/")
12675 (synopsis "Generic function interface to standard Common Lisp functions")
12676 (description "@code{generic-cl} provides a generic function wrapper over
12677 various functions in the Common Lisp standard, such as equality predicates and
12678 sequence operations. The goal of this wrapper is to provide a standard
12679 interface to common operations, such as testing for the equality of two
12680 objects, which is extensible to user-defined types.")
12681 (license license:expat))))
12682
12683 (define-public cl-generic-cl
12684 (sbcl-package->cl-source-package sbcl-generic-cl))
12685
12686 (define-public ecl-generic-cl
12687 (sbcl-package->ecl-package sbcl-generic-cl))
12688
12689 (define-public sbcl-defpackage-plus
12690 (let ((revision "0")
12691 (commit "5492e27e0bdb7b75fa5177ea4388519dc7a75f11"))
12692 (package
12693 (name "sbcl-defpackage-plus")
12694 (version (git-version "1.0" revision commit))
12695 (source
12696 (origin
12697 (method git-fetch)
12698 (uri (git-reference
12699 (url "https://github.com/rpav/defpackage-plus")
12700 (commit commit)))
12701 (file-name (git-file-name name version))
12702 (sha256
12703 (base32 "0lzljvf343xb6mlh6lni2i27hpm5qd376522mk6hr2pa20vd6rdq"))))
12704 (build-system asdf-build-system/sbcl)
12705 (inputs
12706 `(("alexandria" ,sbcl-alexandria)))
12707 (home-page "https://github.com/rpav/defpackage-plus")
12708 (synopsis "Extensible @code{DEFPACKAGE} variant with version support")
12709 (description
12710 "@code{DEFPACKAGE-PLUS} is an extensible @code{DEFPACKAGE} variant with
12711 predictable cross-platform behavior and some utilities useful for versioning.")
12712 (license license:bsd-2))))
12713
12714 (define-public cl-defpackage-plus
12715 (sbcl-package->cl-source-package sbcl-defpackage-plus))
12716
12717 (define-public ecl-defpackage-plus
12718 (sbcl-package->ecl-package sbcl-defpackage-plus))
12719
12720 (define-public sbcl-deploy
12721 (let ((commit "9b20e64fe924b9e31832304d87a3a72c383dc6d8")
12722 (revision "2"))
12723 (package
12724 (name "sbcl-deploy")
12725 (version (git-version "1.0.0" revision commit))
12726 (source
12727 (origin
12728 (method git-fetch)
12729 (uri (git-reference
12730 (url "https://github.com/Shinmera/deploy")
12731 (commit commit)))
12732 (file-name (git-file-name "deploy" version))
12733 (sha256
12734 (base32 "07pfkibaridihg8lbq2czwa4iqifqk24n6rx7bfnv7i49p1ppja1"))))
12735 (build-system asdf-build-system/sbcl)
12736 (arguments
12737 `(#:test-asd-file "deploy-test.asd"
12738 #:asd-files '("deploy.asd"
12739 "deploy-test.asd")))
12740 (native-inputs
12741 `(("cl-mpg123" ,sbcl-cl-mpg123)
12742 ("cl-out123" ,sbcl-cl-out123)))
12743 (inputs
12744 `(("cffi" ,sbcl-cffi)
12745 ("documentation-utils" ,sbcl-documentation-utils)
12746 ("trivial-features" ,sbcl-trivial-features)))
12747 (home-page "https://shinmera.github.io/deploy/")
12748 (synopsis "Deployment tools for standalone Common Lisp application")
12749 (description
12750 "This is a system to help you easily and quickly deploy standalone
12751 common lisp applications as binaries. Specifically it is geared towards
12752 applications with foreign library dependencies that run some kind of GUI.")
12753 (license license:artistic2.0))))
12754
12755 (define-public cl-deploy
12756 (sbcl-package->cl-source-package sbcl-deploy))
12757
12758 (define-public ecl-deploy
12759 (sbcl-package->ecl-package sbcl-deploy))
12760
12761 (define-public sbcl-deeds
12762 ;; taged branch is outdated
12763 (let ((revision "1")
12764 (commit "f5df54eac79b58a34030e0eb8acf3952c788410d"))
12765 (package
12766 (name "sbcl-deeds")
12767 (version (git-version "1.1.1" revision commit))
12768 (source
12769 (origin
12770 (method git-fetch)
12771 (uri (git-reference
12772 (url "https://github.com/Shinmera/deeds")
12773 (commit commit)))
12774 (file-name (git-file-name name version))
12775 (sha256
12776 (base32 "062cnb2dwli6pw3zvv46jfxyxdzcbzwsck5pa6nw03qf1j1hyg3k"))))
12777 (build-system asdf-build-system/sbcl)
12778 (inputs
12779 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12780 ("closer-mop" ,sbcl-closer-mop)
12781 ("form-fiddle" ,sbcl-form-fiddle)
12782 ("lambda-fiddle" ,sbcl-lambda-fiddle)))
12783 (home-page "https://github.com/Shinmera/deeds")
12784 (synopsis "Extensible Event Delivery System")
12785 (description
12786 "@code{deeds} allows for efficient event delivery to multiple handlers
12787 with a complex event filtering system.")
12788 (license license:zlib))))
12789
12790 (define-public cl-deeds
12791 (sbcl-package->cl-source-package sbcl-deeds))
12792
12793 (define-public ecl-deeds
12794 (sbcl-package->ecl-package sbcl-deeds))
12795
12796 (define-public sbcl-make-hash
12797 ;; no tagged branch
12798 (let ((revision "1")
12799 (commit "ae0909cd8e697520a1085fac6f54ac2b448ebd21"))
12800 (package
12801 (name "sbcl-make-hash")
12802 (version (git-version "1.0.2" revision commit))
12803 (source
12804 (origin
12805 (method git-fetch)
12806 (uri (git-reference
12807 (url "https://github.com/genovese/make-hash")
12808 (commit commit)))
12809 (file-name (git-file-name name version))
12810 (sha256
12811 (base32 "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8"))))
12812 (build-system asdf-build-system/sbcl)
12813 (home-page "https://github.com/genovese/make-hash")
12814 (synopsis "Common Lisp package for flexible hash table creation")
12815 (description
12816 "This is a Common Lisp package for hash table creation with flexible,
12817 extensible initializers.")
12818 (license license:bsd-3))))
12819
12820 (define-public cl-make-hash
12821 (sbcl-package->cl-source-package sbcl-make-hash))
12822
12823 (define-public ecl-make-hash
12824 (sbcl-package->ecl-package sbcl-make-hash))
12825
12826 (define-public sbcl-claw-support
12827 (package
12828 (name "sbcl-claw-support")
12829 (version "1.0.0")
12830 (source
12831 (origin
12832 (method git-fetch)
12833 (uri (git-reference
12834 (url "https://github.com/borodust/claw-support")
12835 (commit "9a15c8bed04585f45e6a461bcda1b475144dbd0b")))
12836 (file-name (git-file-name name version))
12837 (sha256
12838 (base32 "1my2ka7h72ipx5n3b465g6kjkasrhsvhqlijwcg6dhlzs5yygl23"))))
12839 (build-system asdf-build-system/sbcl)
12840 (home-page "https://github.com/borodust/claw-support")
12841 (synopsis "Support routines for claw")
12842 (description
12843 "This package provides support routines for the @code{claw} Common Lisp
12844 package.")
12845 (license license:expat)))
12846
12847 (define-public cl-claw-support
12848 (sbcl-package->cl-source-package sbcl-claw-support))
12849
12850 (define-public ecl-claw-support
12851 (sbcl-package->ecl-package sbcl-claw-support))
12852
12853 (define-public sbcl-claw
12854 (let ((revision "0")
12855 (commit "3cd4a96fca95eb9e8d5d069426694669f81b2250"))
12856 (package
12857 (name "sbcl-claw")
12858 (version (git-version "1.0" revision commit))
12859 (source
12860 (origin
12861 (method git-fetch)
12862 (uri (git-reference
12863 (url "https://github.com/borodust/claw")
12864 (commit commit)))
12865 (file-name (git-file-name "claw" version))
12866 (sha256
12867 (base32 "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d"))))
12868 (build-system asdf-build-system/sbcl)
12869 (inputs
12870 `(("alexandria" ,sbcl-alexandria)
12871 ("cffi" ,sbcl-cffi)
12872 ("cl-json" ,sbcl-cl-json)
12873 ("cl-ppcre" ,sbcl-cl-ppcre)
12874 ("claw-support" ,sbcl-claw-support)
12875 ("local-time" ,sbcl-local-time)
12876 ("trivial-features" ,sbcl-trivial-features)))
12877 (home-page "https://github.com/borodust/claw")
12878 (synopsis "Autowrapper for Common Lisp")
12879 (description
12880 "This is a Common Lisp autowrapping facility for quickly creating clean
12881 and lean bindings to C libraries.")
12882 (license license:bsd-2))))
12883
12884 (define-public cl-claw
12885 (sbcl-package->cl-source-package sbcl-claw))
12886
12887 (define-public ecl-claw
12888 (sbcl-package->ecl-package sbcl-claw))
12889
12890 (define-public sbcl-claw-utils
12891 (let ((revision "0")
12892 (commit "efe25016501973dc369f067a64c7d225802bc56f"))
12893 (package
12894 (name "sbcl-claw-utils")
12895 ;; version is not specified
12896 (version (git-version "0.0.0" revision commit))
12897 (source
12898 (origin
12899 (method git-fetch)
12900 (uri (git-reference
12901 (url "https://github.com/borodust/claw-utils")
12902 (commit commit)))
12903 (file-name (git-file-name "claw-utils" version))
12904 (sha256
12905 (base32 "01df3kyf2qs3czi332dnz2s35x2j0fq46vgmsw7wjrrvnqc22mk5"))))
12906 (build-system asdf-build-system/sbcl)
12907 (inputs
12908 `(("alexandria" ,sbcl-alexandria)
12909 ("cffi" ,sbcl-cffi)
12910 ("claw" ,sbcl-claw)))
12911 (home-page "https://github.com/borodust/claw-utils")
12912 (synopsis "Utilities for easier autowrapping")
12913 (description
12914 "This Common Lisp library contains various handy utilties to help
12915 autowrapping with @code{claw}.")
12916 (license license:expat))))
12917
12918 (define-public cl-claw-utils
12919 (sbcl-package->cl-source-package sbcl-claw-utils))
12920
12921 (define-public ecl-claw-utils
12922 (sbcl-package->ecl-package sbcl-claw-utils))
12923
12924 (define-public sbcl-array-operations
12925 (let ((commit "75cbc3b1adb2e3ce2109489753d0f290b071e81b")
12926 (revision "0"))
12927 (package
12928 (name "sbcl-array-operations")
12929 (version (git-version "0.0.0" revision commit))
12930 (source
12931 (origin
12932 (method git-fetch)
12933 (uri (git-reference
12934 (url "https://github.com/bendudson/array-operations")
12935 (commit commit)))
12936 (file-name (git-file-name "array-operations" version))
12937 (sha256
12938 (base32 "0ip49hhq32w80qsc7jmspyda5r2rsszvw0mk2r3341cld78sz9ya"))))
12939 (build-system asdf-build-system/sbcl)
12940 (native-inputs
12941 `(("alexandria" ,sbcl-alexandria)
12942 ("clunit2" ,sbcl-clunit2)))
12943 (inputs
12944 `(("let-plus" ,sbcl-let-plus)))
12945 (synopsis "Simple array operations library for Common Lisp")
12946 (description
12947 "This library is a collection of functions and macros for manipulating
12948 Common Lisp arrays and performing numerical calculations with them.")
12949 (home-page "https://github.com/bendudson/array-operations")
12950 (license license:expat))))
12951
12952 (define-public cl-array-operations
12953 (sbcl-package->cl-source-package sbcl-array-operations))
12954
12955 (define-public ecl-array-operations
12956 (sbcl-package->ecl-package sbcl-array-operations))
12957
12958 (define-public sbcl-clml
12959 (let ((commit "95505b54c8c7b4b27f500c3be97fa5732f4b51a8")
12960 (revision "0"))
12961 (package
12962 (name "sbcl-clml")
12963 (version (git-version "0.0.0" revision commit))
12964 (source
12965 (origin
12966 (method git-fetch)
12967 (uri (git-reference
12968 (url "https://github.com/mmaul/clml")
12969 (commit commit)))
12970 (file-name (git-file-name "clml" version))
12971 (sha256
12972 (base32 "006pii59nmpc61n7p7h8ha5vjg6x0dya327i58z0rnvxs249h345"))
12973 ;; TODO: Remove this when the patch has been merged upstream.
12974 (patches (search-patches "sbcl-clml-fix-types.patch"))))
12975 (build-system asdf-build-system/sbcl)
12976 (inputs
12977 `(("alexandia" ,sbcl-alexandria)
12978 ("array-operations" ,sbcl-array-operations)
12979 ("cl-fad" ,sbcl-cl-fad)
12980 ("cl-ppcre" ,sbcl-cl-ppcre)
12981 ("drakma" ,sbcl-drakma)
12982 ("introspect-environment" ,sbcl-introspect-environment)
12983 ("iterate" ,sbcl-iterate)
12984 ("lparallel" ,sbcl-lparallel)
12985 ("parse-number" ,sbcl-parse-number)
12986 ("split-sequence" ,sbcl-split-sequence)
12987 ("trivial-garbage" ,sbcl-trivial-garbage)))
12988 (synopsis "Common Lisp machine learning library")
12989 (description
12990 "CLML (Common Lisp Machine Learning) is a high performance and large
12991 scale statistical machine learning package")
12992 (home-page "https://mmaul.github.io/clml/")
12993 (license license:llgpl))))
12994
12995 (define-public cl-clml
12996 (sbcl-package->cl-source-package sbcl-clml))
12997
12998 (define-public sbcl-utm-ups
12999 (let ((commit "780f1d8ab6290ad2be0f40e2cddc2535fa6fe979")
13000 (revision "0"))
13001 (package
13002 (name "sbcl-utm-ups")
13003 (version (git-version "1.0" revision commit))
13004 (source
13005 (origin
13006 (method git-fetch)
13007 (uri (git-reference
13008 (url "https://github.com/glv2/utm-ups")
13009 (commit commit)))
13010 (file-name (git-file-name "utm-ups" version))
13011 (sha256
13012 (base32 "0l3kr2m56skf5cx3kkkdcis7msmidcsixx9fqjapkcjsj8x67aqq"))))
13013 (build-system asdf-build-system/sbcl)
13014 (native-inputs
13015 `(("fiveam" ,sbcl-fiveam)))
13016 (synopsis
13017 "Convert coordinates between latitude/longitude and UTM or UPS")
13018 (description
13019 "This a Common Lisp library to convert geographic coordinates between
13020 latitude/longitude and UTM (Universal Transverse Mercator) or UPS (Universal
13021 Polar Stereographic).")
13022 (home-page "https://github.com/glv2/utm-ups")
13023 (license license:gpl3+))))
13024
13025 (define-public cl-utm-ups
13026 (sbcl-package->cl-source-package sbcl-utm-ups))
13027
13028 (define-public ecl-utm-ups
13029 (sbcl-package->ecl-package sbcl-utm-ups))
13030
13031 (define-public sbcl-mgrs
13032 (let ((commit "00455460407b7e5509d1be3da09bf6152956761f")
13033 (revision "0"))
13034 (package
13035 (name "sbcl-mgrs")
13036 (version (git-version "1.0" revision commit))
13037 (source
13038 (origin
13039 (method git-fetch)
13040 (uri (git-reference
13041 (url "https://github.com/glv2/mgrs")
13042 (commit commit)))
13043 (file-name (git-file-name "mgrs" version))
13044 (sha256
13045 (base32 "0ckvn4hg3wwivzavhfashb6fap4a1q10l8krhbng8bdb54ac10sz"))))
13046 (build-system asdf-build-system/sbcl)
13047 (native-inputs
13048 `(("fiveam" ,sbcl-fiveam)))
13049 (inputs
13050 `(("utm-ups" ,sbcl-utm-ups)))
13051 (synopsis
13052 "Convert coordinates between latitude/longitude and MGRS")
13053 (description
13054 "This a Common Lisp library to convert geographic coordinates between
13055 latitude/longitude and MGRS.")
13056 (home-page "https://github.com/glv2/mgrs")
13057 (license license:gpl3+))))
13058
13059 (define-public cl-mgrs
13060 (sbcl-package->cl-source-package sbcl-mgrs))
13061
13062 (define-public ecl-mgrs
13063 (sbcl-package->ecl-package sbcl-mgrs))
13064
13065 (define-public sbcl-maidenhead
13066 (let ((commit "b756d235c27b5d6798867aa240318af1a8f35d6d")
13067 (revision "0"))
13068 (package
13069 (name "sbcl-maidenhead")
13070 (version (git-version "1.0" revision commit))
13071 (source
13072 (origin
13073 (method git-fetch)
13074 (uri (git-reference
13075 (url "https://github.com/glv2/maidenhead")
13076 (commit commit)))
13077 (file-name (git-file-name "maidenhead" version))
13078 (sha256
13079 (base32 "02p990zprhjvifmsfk8yh3frvz6xyw26ikzxvzglqdixbal36nr3"))))
13080 (build-system asdf-build-system/sbcl)
13081 (native-inputs
13082 `(("fiveam" ,sbcl-fiveam)))
13083 (synopsis
13084 "Convert coordinates between latitude/longitude and Maidenhead")
13085 (description
13086 "This a Common Lisp library to convert geographic coordinates between
13087 latitude/longitude and Maidenhead locator system.")
13088 (home-page "https://github.com/glv2/maidenhead")
13089 (license license:gpl3+))))
13090
13091 (define-public cl-maidenhead
13092 (sbcl-package->cl-source-package sbcl-maidenhead))
13093
13094 (define-public ecl-maidenhead
13095 (sbcl-package->ecl-package sbcl-maidenhead))
13096
13097 (define-public sbcl-olc
13098 (let ((commit "517e27fa57d9a119b00a29c4b6b31e553deff309")
13099 (revision "0"))
13100 (package
13101 (name "sbcl-olc")
13102 (version (git-version "1.0" revision commit))
13103 (source
13104 (origin
13105 (method git-fetch)
13106 (uri (git-reference
13107 (url "https://github.com/glv2/olc")
13108 (commit commit)))
13109 (file-name (git-file-name "olc" version))
13110 (sha256
13111 (base32 "1lnfhp6z6kc8l605zp4siyjiw74y1h4bdq3jfizi084v505wxhgr"))))
13112 (build-system asdf-build-system/sbcl)
13113 (native-inputs
13114 `(("fiveam" ,sbcl-fiveam)))
13115 (synopsis
13116 "Convert coordinates between latitude/longitude and Open Location Code")
13117 (description
13118 "This a Common Lisp library to convert geographic coordinates between
13119 latitude/longitude and Open Location Code.")
13120 (home-page "https://github.com/glv2/olc")
13121 (license license:gpl3+))))
13122
13123 (define-public cl-olc
13124 (sbcl-package->cl-source-package sbcl-olc))
13125
13126 (define-public ecl-olc
13127 (sbcl-package->ecl-package sbcl-olc))
13128
13129 (define-public sbcl-regex
13130 (let ((commit "fbc9a9f313b9edc1788f33d4b23a29151635ae22"))
13131 (package
13132 (name "sbcl-regex")
13133 (version (git-version "1" "1" commit))
13134 (source
13135 (origin
13136 (method git-fetch)
13137 (uri (git-reference
13138 (url "https://github.com/michaelw/regex/")
13139 (commit commit)))
13140 (file-name (git-file-name name version))
13141 (sha256
13142 (base32 "0wq5wlafrxv13wg28hg5b10sc48b88swsvznpy2zg7x37m4nmm6a"))))
13143 (build-system asdf-build-system/sbcl)
13144 (home-page "https://github.com/michaelw/regex/")
13145 (synopsis "Regular expression engine for Common Lisp")
13146 (description
13147 "This Common Lisp package provides a regular expression engine.")
13148 (license license:bsd-2))))
13149
13150 (define-public cl-regex
13151 (sbcl-package->cl-source-package sbcl-regex))
13152
13153 (define-public ecl-regex
13154 (sbcl-package->ecl-package sbcl-regex))
13155
13156 (define-public sbcl-clawk
13157 (let ((commit "3a91634df686417114044a98c063cbe76bfac7b6"))
13158 (package
13159 (name "sbcl-clawk")
13160 (version (git-version "4" "1" commit))
13161 (source
13162 (origin
13163 (method git-fetch)
13164 (uri (git-reference
13165 (url "https://github.com/sharplispers/clawk")
13166 (commit commit)))
13167 (file-name (git-file-name name version))
13168 (sha256
13169 (base32 "1ph3xjqilvinvgr9q3w47zxqyz1sqnq030nlx7kgkkv8j3bnqk7a"))))
13170 (build-system asdf-build-system/sbcl)
13171 (inputs
13172 `(("sbcl-regex" ,sbcl-regex)))
13173 (home-page "https://github.com/sharplispers/clawk")
13174 (synopsis "Common Lisp AWK")
13175 (description
13176 "CLAWK is an AWK implementation embedded into Common Lisp.")
13177 (license license:bsd-2))))
13178
13179 (define-public cl-clawk
13180 (sbcl-package->cl-source-package sbcl-clawk))
13181
13182 (define-public ecl-clawk
13183 (sbcl-package->ecl-package sbcl-clawk))
13184
13185 (define-public sbcl-check-it
13186 (let ((commit "b79c9103665be3976915b56b570038f03486e62f"))
13187 (package
13188 (name "sbcl-check-it")
13189 (version (git-version "0.1.0" "1" commit))
13190 (source
13191 (origin
13192 (method git-fetch)
13193 (uri (git-reference
13194 (url "https://github.com/DalekBaldwin/check-it/")
13195 (commit commit)))
13196 (file-name (git-file-name name version))
13197 (sha256
13198 (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"))))
13199 (build-system asdf-build-system/sbcl)
13200 (inputs
13201 `(("alexandria" ,sbcl-alexandria)
13202 ("closer-mop" ,sbcl-closer-mop)
13203 ("optima" ,sbcl-optima)))
13204 (native-inputs
13205 `(("stefil" ,sbcl-stefil)))
13206 (home-page "https://github.com/arclanguage/Clamp")
13207 (synopsis "Randomized specification-based testing for Common Lisp")
13208 (description
13209 "This is a randomized property-based testing library for Common Lisp.
13210 Rather than being a full-fledged general test framework in its own right, it's
13211 designed to embed randomized tests in whatever framework you like.")
13212 (license license:llgpl))))
13213
13214 (define-public cl-check-it
13215 (sbcl-package->cl-source-package sbcl-check-it))
13216
13217 (define-public ecl-check-it
13218 (sbcl-package->ecl-package sbcl-check-it))
13219
13220 (define-public sbcl-clamp
13221 (let ((commit "02b8f3953e5753cc61a719807c82f3795cd28fe1"))
13222 (package
13223 (name "sbcl-clamp")
13224 (version (git-version "0.3" "1" commit))
13225 (source
13226 (origin
13227 (method git-fetch)
13228 (uri (git-reference
13229 (url "https://github.com/arclanguage/Clamp")
13230 (commit commit)))
13231 (file-name (git-file-name name version))
13232 (sha256
13233 (base32 "0fdr9nqfmmpxm6hvjdxi1jkclya9xlnrw1yc3cn1m4ww3f50p31m"))))
13234 (build-system asdf-build-system/sbcl)
13235 (inputs
13236 `(("iterate" ,sbcl-iterate)
13237 ("cl-syntax" ,sbcl-cl-syntax)))
13238 (native-inputs
13239 `(("cl-unit" ,sbcl-clunit)
13240 ("check-it" ,sbcl-check-it)))
13241 (arguments
13242 `(#:phases
13243 (modify-phases %standard-phases
13244 (add-after 'unpack 'fix-build
13245 (lambda _
13246 (substitute* "clamp.asd"
13247 (("\\(:file \"read\" :depends-on \\(\"aliases\"\\)\\)")
13248 "(:file \"read\" :depends-on (\"aliases\" \"base\"))"))
13249 #t)))))
13250 (home-page "https://github.com/arclanguage/Clamp")
13251 (synopsis "Common Lisp with Arc macros and procedures")
13252 (description
13253 "Clamp is an attempt to bring the powerful, but verbose, language of
13254 Common Lisp up to the terseness of Arc.
13255
13256 There are two parts to Clamp. There is the core of Clamp, which implements
13257 the utilities of Arc that are easily converted from Arc to Common Lisp. The
13258 other part is the \"experimental\" part. It contains features of Arc that are
13259 not so easy to copy (ssyntax, argument destructuring, etc.).")
13260 (license license:artistic2.0))))
13261
13262 (define-public cl-clamp
13263 (sbcl-package->cl-source-package sbcl-clamp))
13264
13265 (define-public ecl-clamp
13266 (sbcl-package->ecl-package sbcl-clamp))
13267
13268 (define-public sbcl-trivial-shell
13269 (let ((commit "e02ec191b34b52deca5d1c4ee99d4fa13b8772e0"))
13270 (package
13271 (name "sbcl-trivial-shell")
13272 (version (git-version "0.2.0" "1" commit))
13273 (source
13274 (origin
13275 (method git-fetch)
13276 (uri (git-reference
13277 (url "https://github.com/gwkkwg/trivial-shell")
13278 (commit commit)))
13279 (file-name (git-file-name name version))
13280 (sha256
13281 (base32 "08mpkl5ij5sjfsyn8pq2kvsvpvyvr7ha1r8g1224fa667b8k2q85"))))
13282 (build-system asdf-build-system/sbcl)
13283 (native-inputs
13284 `(("lift" ,sbcl-lift)))
13285 (home-page "http://common-lisp.net/project/trivial-shell/")
13286 (synopsis "Common Lisp access to the shell")
13287 (description
13288 "A simple Common-Lisp interface to the underlying operating system.
13289 It's independent of the implementation and operating system.")
13290 (license license:expat))))
13291
13292 (define-public cl-trivial-shell
13293 (sbcl-package->cl-source-package sbcl-trivial-shell))
13294
13295 (define-public ecl-trivial-shell
13296 (sbcl-package->ecl-package sbcl-trivial-shell))
13297
13298 (define-public sbcl-clesh
13299 (let ((commit "44e96e04a72e5bc006dc4eb02ce8962348dd4a11"))
13300 (package
13301 (name "sbcl-clesh")
13302 (version (git-version "0.0.0" "1" commit))
13303 (source
13304 (origin
13305 (method git-fetch)
13306 (uri (git-reference
13307 (url "https://github.com/Neronus/Clesh")
13308 (commit commit)))
13309 (file-name (git-file-name name version))
13310 (sha256
13311 (base32 "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318"))))
13312 (build-system asdf-build-system/sbcl)
13313 (inputs
13314 `(("trivial-shell" ,sbcl-trivial-shell)
13315 ("named-readtables" ,sbcl-named-readtables)))
13316 (home-page "https://github.com/Neronus/Clesh")
13317 (synopsis "Embed shell code in Common Lisp")
13318 (description
13319 "This is a very short and simple program, written in Common Lisp, that
13320 extends Common Lisp to embed shell code in a manner similar to Perl's
13321 backtick. It has been forked from SHELISP.")
13322 (license license:bsd-2))))
13323
13324 (define-public cl-clesh
13325 (sbcl-package->cl-source-package sbcl-clesh))
13326
13327 (define-public ecl-clesh
13328 (sbcl-package->ecl-package sbcl-clesh))
13329
13330 (define-public sbcl-trivial-download
13331 (let ((commit "d2472061d86b1cf3d32f388daacd4e32a13af699"))
13332 (package
13333 (name "sbcl-trivial-download")
13334 (version (git-version "0.3" "1" commit))
13335 (source
13336 (origin
13337 (method git-fetch)
13338 (uri (git-reference
13339 (url "https://github.com/eudoxia0/trivial-download/")
13340 (commit commit)))
13341 (file-name (git-file-name name version))
13342 (sha256
13343 (base32 "06f46zr3gp3wlm2kgxna24qd2gpr1v89x9fynh1x5vrw6c6hqjcv"))))
13344 (build-system asdf-build-system/sbcl)
13345 (inputs
13346 `(("drakma" ,sbcl-drakma)))
13347 (home-page "https://github.com/eudoxia0/trivial-download/")
13348 (synopsis "Download files from Common Lisp")
13349 (description
13350 "@code{trivial-download} allows you to download files from the Internet
13351 from Common Lisp. It provides a progress bar.")
13352 (license license:bsd-2))))
13353
13354 (define-public cl-trivial-download
13355 (sbcl-package->cl-source-package sbcl-trivial-download))
13356
13357 (define-public ecl-trivial-download
13358 (sbcl-package->ecl-package sbcl-trivial-download))
13359
13360 (define-public sbcl-gtwiwtg
13361 (package
13362 (name "sbcl-gtwiwtg")
13363 (version "0.1.1")
13364 (source
13365 (origin
13366 (method git-fetch)
13367 (uri (git-reference
13368 (url "https://github.com/cbeo/gtwiwtg/")
13369 (commit version)))
13370 (file-name (git-file-name name version))
13371 (sha256
13372 (base32 "0lkraw0dwh4is4x5sp5rjrw6f93m0gr9849abrbi12s25ws7jbw4"))))
13373 (build-system asdf-build-system/sbcl)
13374 (native-inputs
13375 `(("osicat" ,sbcl-osicat)
13376 ("prove" ,sbcl-prove)))
13377 (home-page "https://github.com/cbeo/gtwiwtg/")
13378 (synopsis "Naive generators for Common Lisp")
13379 (description
13380 "The GTWIWTG library (Generators The Way I Want Them Generated --
13381 technically not generators, but iterators) is meant to be small, explorable,
13382 and understandable.")
13383 (license license:gpl3)))
13384
13385 (define-public cl-gtwiwtg
13386 (sbcl-package->cl-source-package sbcl-gtwiwtg))
13387
13388 (define-public ecl-gtwiwtg
13389 (sbcl-package->ecl-package sbcl-gtwiwtg))
13390
13391 (define-public sbcl-cl-progress-bar
13392 (let ((commit "9374170858663c8fe829e9fb5a29bd2cb48d95ae"))
13393 (package
13394 (name "sbcl-cl-progress-bar")
13395 (version (git-version "0.0.0" "1" commit))
13396 (source
13397 (origin
13398 (method git-fetch)
13399 (uri (git-reference
13400 (url "https://github.com/sirherrbatka/cl-progress-bar/")
13401 (commit commit)))
13402 (file-name (git-file-name name version))
13403 (sha256
13404 (base32 "1ldb4qhmx431n3lsq71ynwb9ybazbfqd55icjbhi06mj52ngndir"))))
13405 (build-system asdf-build-system/sbcl)
13406 (inputs
13407 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13408 ("documentation-utils-extensions" ,sbcl-documentation-utils-extensions)))
13409 (home-page "https://github.com/sirherrbatka/cl-progress-bar/")
13410 (synopsis "Progress bars in Common Lisp")
13411 (description
13412 "This library provides almost the same code as used inside Quicklisp
13413 for drawning progress bars")
13414 (license license:expat))))
13415
13416 (define-public cl-progress-bar
13417 (sbcl-package->cl-source-package sbcl-cl-progress-bar))
13418
13419 (define-public ecl-cl-progress-bar
13420 (sbcl-package->ecl-package sbcl-cl-progress-bar))
13421
13422 (define-public sbcl-repl-utilities
13423 (let ((commit "e0de9c92e774f77cab1a4cd92e2ac922ac3a807e"))
13424 (package
13425 (name "sbcl-repl-utilities")
13426 (version (git-version "0.0.0" "1" commit))
13427 (source
13428 (origin
13429 (method git-fetch)
13430 (uri (git-reference
13431 (url "https://github.com/m-n/repl-utilities/")
13432 (commit commit)))
13433 (file-name (git-file-name name version))
13434 (sha256
13435 (base32 "1r5icmw3ha5y77kvzqni3a9bcd66d9pz5mjsbw04xg3jk0d15cgz"))))
13436 (build-system asdf-build-system/sbcl)
13437 (home-page "https://github.com/m-n/repl-utilities")
13438 (synopsis "Ease common tasks at the Common Lisp REPL")
13439 (description
13440 "@code{repl-utilities} is a set of utilities which ease life at the
13441 REPL. It includes three sorts of features: introspective procedures,
13442 miscellaneous utility functions, and, pulling them together, methods to
13443 conveniently keep these symbols and optionally additional symbols available in
13444 whichever package you switch to.")
13445 (license license:bsd-2))))
13446
13447 (define-public cl-repl-utilities
13448 (sbcl-package->cl-source-package sbcl-repl-utilities))
13449
13450 (define-public ecl-repl-utilities
13451 (sbcl-package->ecl-package sbcl-repl-utilities))
13452
13453 (define-public sbcl-supertrace
13454 (let ((commit "66d22c3ff131ecd1c8048dfced1d62ed6024ecb0"))
13455 (package
13456 (name "sbcl-supertrace")
13457 (version (git-version "0.1.0" "1" commit))
13458 (source
13459 (origin
13460 (method git-fetch)
13461 (uri (git-reference
13462 (url "https://github.com/fukamachi/supertrace")
13463 (commit commit)))
13464 (file-name (git-file-name name version))
13465 (sha256
13466 (base32 "0n369n6b7y1m49biccnnr7svymjdsk8sksrkqrn3mj21vgv7s7bg"))))
13467 (build-system asdf-build-system/sbcl)
13468 (native-inputs
13469 `(("cffi-grovel" ,sbcl-cffi)
13470 ("rove" ,sbcl-rove)
13471 ("cl-ppcre" ,sbcl-cl-ppcre)
13472 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
13473 (inputs
13474 `(("cffi" ,sbcl-cffi)))
13475 (home-page "https://github.com/fukamachi/supertrace")
13476 (synopsis "Improved Common Lisp tracing for debugging and profiling")
13477 (description
13478 "Supertrace provides a superior Common Lisp @code{trace} functionality
13479 for debugging and profiling real world applications.")
13480 (license license:bsd-2))))
13481
13482 (define-public cl-supertrace
13483 (sbcl-package->cl-source-package sbcl-supertrace))
13484
13485 (define-public ecl-supertrace
13486 (sbcl-package->ecl-package sbcl-supertrace))
13487
13488 (define-public sbcl-trivial-benchmark
13489 (let ((commit "42d76733dd2e873471c6f1e27d39113293f7dd5c"))
13490 (package
13491 (name "sbcl-trivial-benchmark")
13492 (version (git-version "2.0.0" "1" commit))
13493 (source
13494 (origin
13495 (method git-fetch)
13496 (uri (git-reference
13497 (url "https://github.com/Shinmera/trivial-benchmark/")
13498 (commit commit)))
13499 (file-name (git-file-name name version))
13500 (sha256
13501 (base32 "0fbzqbpm2ixz85555krl36kbbbjyn699vdj6k383khi3g9y629fa"))))
13502 (build-system asdf-build-system/sbcl)
13503 (inputs
13504 `(("alexandria" ,sbcl-alexandria)))
13505 (home-page "http://shinmera.github.io/trivial-benchmark/")
13506 (synopsis "Easy to use benchmarking system for Common Lisp")
13507 (description
13508 "Trivial-Benchmark runs a block of code many times and outputs some
13509 statistical data for it. On SBCL this includes the data from @code{time}, for
13510 all other implementations just the @code{real-time} and @code{run-time} data.
13511 However, you can extend the system by adding your own @code{metrics} to it, or
13512 even by adding additional statistical @code{compute}ations. ")
13513 (license license:zlib))))
13514
13515 (define-public cl-trivial-benchmark
13516 (sbcl-package->cl-source-package sbcl-trivial-benchmark))
13517
13518 (define-public ecl-trivial-benchmark
13519 (sbcl-package->ecl-package sbcl-trivial-benchmark))
13520
13521 (define-public sbcl-glyphs
13522 (let ((commit "1ff5714e8c1dca327bc604dfe3e3d1f4b7755373"))
13523 (package
13524 (name "sbcl-glyphs")
13525 (version (git-version "0.0.0" "1" commit))
13526 (source
13527 (origin
13528 (method git-fetch)
13529 (uri (git-reference
13530 (url "https://github.com/ahungry/glyphs/")
13531 (commit commit)))
13532 (file-name (git-file-name name version))
13533 (sha256
13534 (base32 "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf"))))
13535 (build-system asdf-build-system/sbcl)
13536 (inputs
13537 `(("cl-ppcre" ,sbcl-cl-ppcre)
13538 ("parenscript" ,sbcl-parenscript)
13539 ("named-readtables" ,sbcl-named-readtables)))
13540 (home-page "https://github.com/ahungry/glyphs/")
13541 (synopsis "Reduce Common Lisp verbosity")
13542 (description
13543 "This library is a little experiment in reducing verbosity in Common
13544 Lisp, inspired by BODOL (@url{https://github.com/bodil/BODOL}).")
13545 (license license:gpl3))))
13546
13547 (define-public cl-glyphs
13548 (sbcl-package->cl-source-package sbcl-glyphs))
13549
13550 (define-public ecl-glyphs
13551 (sbcl-package->ecl-package sbcl-glyphs))
13552
13553 (define-public sbcl-zs3
13554 (package
13555 (name "sbcl-zs3")
13556 (version "1.3.3")
13557 (source
13558 (origin
13559 (method git-fetch)
13560 (uri
13561 (git-reference
13562 (url "https://github.com/xach/zs3")
13563 (commit (string-append "release-" version))))
13564 (file-name (git-file-name "zs3" version))
13565 (sha256
13566 (base32 "186v95wgsj2hkxdw2jl9x1w4fddjclp7arp0rrd9vf5ly8h8sbf3"))))
13567 (build-system asdf-build-system/sbcl)
13568 (inputs
13569 `(("drakma" ,sbcl-drakma)
13570 ("alexandria" ,sbcl-alexandria)
13571 ("cxml" ,sbcl-cxml)
13572 ("ironclad" ,sbcl-ironclad)
13573 ("puri" ,sbcl-puri)
13574 ("cl-base64" ,sbcl-cl-base64)))
13575 (synopsis "Work with Amazon S3 and Amazon CloudFront from Common Lisp")
13576 (description "This is ZS3, a library for working with Amazon's Simple Storage
13577 Service (S3) and CloudFront service from Common Lisp.")
13578 (home-page "https://github.com/xach/zs3")
13579 (license license:bsd-2)))
13580
13581 (define-public cl-zs3
13582 (sbcl-package->cl-source-package sbcl-zs3))
13583
13584 (define-public ecl-zs3
13585 (sbcl-package->ecl-package sbcl-zs3))
13586
13587 (define-public sbcl-simple-neural-network
13588 (package
13589 (name "sbcl-simple-neural-network")
13590 (version "3.1")
13591 (source
13592 (origin
13593 (method git-fetch)
13594 (uri (git-reference
13595 (url "https://github.com/glv2/simple-neural-network")
13596 (commit (string-append "v" version))))
13597 (file-name (git-file-name "simple-neural-network" version))
13598 (sha256
13599 (base32 "1jj1c90fr5clwka0jv32hv6xp1bkdlpa6x5jh19an13rhx8ll4zr"))))
13600 (build-system asdf-build-system/sbcl)
13601 (native-inputs
13602 `(("chipz" ,sbcl-chipz)
13603 ("fiveam" ,sbcl-fiveam)))
13604 (inputs
13605 `(("cl-store" ,sbcl-cl-store)
13606 ("lparallel" ,sbcl-lparallel)))
13607 (arguments
13608 `(#:phases
13609 (modify-phases %standard-phases
13610 (add-after 'check 'remove-test-data
13611 (lambda* (#:key outputs #:allow-other-keys)
13612 (let ((out (assoc-ref outputs "out")))
13613 (for-each delete-file (find-files out "\\.gz$"))))))))
13614 (synopsis "Simple neural network in Common Lisp")
13615 (description
13616 "@code{simple-neural-network} is a Common Lisp library for creating,
13617 training and using basic neural networks. The networks created by this
13618 library are feedforward neural networks trained using backpropagation.")
13619 (home-page "https://github.com/glv2/simple-neural-network")
13620 (license license:gpl3+)))
13621
13622 (define-public cl-simple-neural-network
13623 (sbcl-package->cl-source-package sbcl-simple-neural-network))
13624
13625 (define-public ecl-simple-neural-network
13626 (sbcl-package->ecl-package sbcl-simple-neural-network))
13627
13628 (define-public sbcl-zstd
13629 (let ((commit "d144582c581aaa52bac24d6686af27fa3e781e06")
13630 (revision "1"))
13631 (package
13632 (name "sbcl-zstd")
13633 (version (git-version "1.0" revision commit))
13634 (source
13635 (origin
13636 (method git-fetch)
13637 (uri (git-reference
13638 (url "https://github.com/glv2/cl-zstd")
13639 (commit commit)))
13640 (file-name (git-file-name "cl-zstd" version))
13641 (sha256
13642 (base32 "1774jy8hzbi6nih3sq6vchk66f7g8w86dwgpbvljyfzcnkcaz6ql"))))
13643 (build-system asdf-build-system/sbcl)
13644 (native-inputs
13645 `(("fiveam" ,sbcl-fiveam)))
13646 (inputs
13647 `(("cffi" ,sbcl-cffi)
13648 ("cl-octet-streams" ,sbcl-cl-octet-streams)
13649 ("zstd-lib" ,zstd "lib")))
13650 (arguments
13651 '(#:phases
13652 (modify-phases %standard-phases
13653 (add-after 'unpack 'fix-paths
13654 (lambda* (#:key inputs #:allow-other-keys)
13655 (substitute* "src/libzstd.lisp"
13656 (("libzstd\\.so")
13657 (string-append (assoc-ref inputs "zstd-lib")
13658 "/lib/libzstd.so")))
13659 #t)))))
13660 (synopsis "Common Lisp library for Zstandard (de)compression")
13661 (description
13662 "This Common Lisp library provides functions for Zstandard
13663 compression/decompression using bindings to the libzstd C library.")
13664 (home-page "https://github.com/glv2/cl-zstd")
13665 (license license:gpl3+))))
13666
13667 (define-public cl-zstd
13668 (sbcl-package->cl-source-package sbcl-zstd))
13669
13670 (define-public ecl-zstd
13671 (sbcl-package->ecl-package sbcl-zstd))
13672
13673 (define-public sbcl-agnostic-lizard
13674 (let ((commit "fe3a73719f05901c8819f8995a3ebae738257952")
13675 (revision "1"))
13676 (package
13677 (name "sbcl-agnostic-lizard")
13678 (version (git-version "0.0.0" revision commit))
13679 (source
13680 (origin
13681 (method git-fetch)
13682 (uri (git-reference
13683 (url "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
13684 (commit commit)))
13685 (file-name (git-file-name name version))
13686 (sha256
13687 (base32 "0ax78y8w4zlp5dcwyhz2nq7j3shi49qn31dkfg8lv2jlg7mkwh2d"))))
13688 (build-system asdf-build-system/sbcl)
13689 (synopsis "Almost correct portable code walker for Common Lisp")
13690 (description
13691 "Agnostic Lizard is a portable implementation of a code walker and in
13692 particular of the macroexpand-all function (and macro) that makes a best
13693 effort to be correct while not expecting much beyond what the Common Lisp
13694 standard requires.
13695
13696 It aims to be implementation-agnostic and to climb the syntax trees.")
13697 (home-page "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
13698 (license license:gpl3+))))
13699
13700 (define-public cl-agnostic-lizard
13701 (sbcl-package->cl-source-package sbcl-agnostic-lizard))
13702
13703 (define-public ecl-agnostic-lizard
13704 (sbcl-package->ecl-package sbcl-agnostic-lizard))
13705
13706 (define-public sbcl-dynamic-classes
13707 (package
13708 (name "sbcl-dynamic-classes")
13709 (version "1.0.2")
13710 (source
13711 (origin
13712 (method git-fetch)
13713 (uri (git-reference
13714 (url "https://github.com/gwkkwg/dynamic-classes")
13715 (commit (string-append "version-" version))))
13716 (file-name (git-file-name "dynamic-classes" version))
13717 (sha256
13718 (base32 "1z3ag6w4ff0v6715xa9zhvwjqnp4i6zrjfmxdz8m115sklbwgm6c"))))
13719 (build-system asdf-build-system/sbcl)
13720 (inputs
13721 `(("metatilities-base" ,sbcl-metatilities-base)))
13722 (arguments
13723 ;; NOTE: (Sharlatan-20210106222900+0000) Circular dependencies and failing
13724 ;; test suites. lift-standard.config contains referances to deprecated
13725 ;; functionality.
13726 `(#:tests? #f))
13727 (home-page "https://common-lisp.net/project/dynamic-classes/")
13728 (synopsis "Dynamic class definition for Common Lisp")
13729 (description "Dynamic-Classes helps to ease the prototyping process by
13730 bringing dynamism to class definition.")
13731 (license license:expat)))
13732
13733 (define-public ecl-dynamic-classes
13734 (sbcl-package->ecl-package sbcl-dynamic-classes))
13735
13736 (define-public cl-dynamic-classes
13737 (sbcl-package->cl-source-package sbcl-dynamic-classes))
13738
13739 (define-public sbcl-cl-markdown
13740 ;; NOTE: (Sharlatan-20210106214629+0000) latest version tag
13741 ;; "version-0.10.6_version-0.10.6" is failing to build due to missing system
13742 ;; #:container-dynamic-classes
13743 (package
13744 (name "sbcl-cl-markdown")
13745 (version "0.10.4")
13746 (source
13747 (origin
13748 (method git-fetch)
13749 (uri (git-reference
13750 (url "https://github.com/gwkkwg/cl-markdown")
13751 (commit (string-append "version-" version))))
13752 (file-name (git-file-name "cl-markdown" version))
13753 (sha256
13754 (base32 "1wdjbdd1zyskxf7zlilcp6fmwkivybj0wjp64vvzb265d5xi7p8p"))))
13755 (build-system asdf-build-system/sbcl)
13756 (inputs
13757 `(("anaphora" ,sbcl-anaphora)
13758 ("cl-containers" ,sbcl-cl-containers)
13759 ("cl-ppcre" ,sbcl-cl-ppcre)
13760 ("dynamic-classes" ,sbcl-dynamic-classes)
13761 ("metabang-bind" ,sbcl-metabang-bind)
13762 ("metatilities-base" ,sbcl-metatilities-base)))
13763 (arguments
13764 ;; NOTE: (Sharlatan-20210107213629+0000) Tests depend on too many not
13765 ;; available systems, which themself are abandoned.
13766 `(#:tests? #f))
13767 (home-page "https://common-lisp.net/project/cl-markdown/")
13768 (synopsis "Common Lisp rewrite of Markdown")
13769 (description
13770 "This is an implementation of a Markdown parser in Common Lisp.")
13771 (license license:expat)))
13772
13773 (define-public ecl-cl-markdown
13774 (sbcl-package->ecl-package sbcl-cl-markdown))
13775
13776 (define-public cl-markdown
13777 (sbcl-package->cl-source-package sbcl-cl-markdown))
13778
13779 (define-public sbcl-magicffi
13780 (let ((commit "d88f2f280c31f639e4e05be75215d8a8dce6aef2"))
13781 (package
13782 (name "sbcl-magicffi")
13783 (version (git-version "0.0.0" "1" commit))
13784 (source
13785 (origin
13786 (method git-fetch)
13787 (uri (git-reference
13788 (url "https://github.com/dochang/magicffi/")
13789 (commit commit)))
13790 (file-name (git-file-name name version))
13791 (sha256
13792 (base32 "0p6ysa92fk34bhxpw7bycbfgw150fv11z9x8jr9xb4lh8cm2hvp6"))))
13793 (build-system asdf-build-system/sbcl)
13794 (native-inputs
13795 `(("alexandria" ,sbcl-alexandria)))
13796 (inputs
13797 `(("cffi" ,sbcl-cffi)
13798 ("ppcre" ,sbcl-cl-ppcre)
13799 ("libmagic" ,file)))
13800 (arguments
13801 `(#:phases
13802 (modify-phases %standard-phases
13803 (add-after 'unpack 'fix-paths
13804 (lambda* (#:key inputs #:allow-other-keys)
13805 (let ((magic (assoc-ref inputs "libmagic")))
13806 (substitute* "grovel.lisp"
13807 (("/usr/include/magic.h")
13808 (string-append magic "/include/magic.h")))
13809 (substitute* "api.lisp"
13810 ((":default \"libmagic\"" all)
13811 (string-append ":default \"" magic "/lib/libmagic\"")))))))))
13812 (home-page "https://common-lisp.net/project/magicffi/")
13813 (synopsis "Common Lisp interface to libmagic based on CFFI")
13814 (description
13815 "MAGICFFI is a Common Lisp CFFI interface to libmagic(3), the file type
13816 determination library using @emph{magic} numbers.")
13817 (license license:bsd-2))))
13818
13819 (define-public ecl-magicffi
13820 (sbcl-package->ecl-package sbcl-magicffi))
13821
13822 (define-public cl-magicffi
13823 (sbcl-package->cl-source-package sbcl-magicffi))
13824
13825 (define-public sbcl-shlex
13826 (let ((commit "c5616dffca0d4d8ddbc1cd6f37a96d88477b2740"))
13827 (package
13828 (name "sbcl-shlex")
13829 (version (git-version "0.0.0" "1" commit))
13830 (source
13831 (origin
13832 (method git-fetch)
13833 (uri (git-reference
13834 (url "https://github.com/ruricolist/cl-shlex")
13835 (commit commit)))
13836 (file-name (git-file-name name version))
13837 (sha256
13838 (base32 "1nas024n4wv319bf40aal96g72bgi9nkapj2chywj2cc6r8hzkfg"))))
13839 (build-system asdf-build-system/sbcl)
13840 (inputs
13841 `(("alexandria" ,sbcl-alexandria)
13842 ("serapeum" ,sbcl-serapeum)
13843 ("ppcre" ,sbcl-cl-ppcre)
13844 ("unicode" ,sbcl-cl-unicode)))
13845 (home-page "https://github.com/ruricolist/cl-shlex")
13846 (synopsis "Common Lisp lexical analyzer for shell-like syntaxes")
13847 (description
13848 "This library contains a lexer for syntaxes that use shell-like rules
13849 for quoting and commenting. It is a port of the @code{shlex} module from Python’s
13850 standard library.")
13851 (license license:expat))))
13852
13853 (define-public ecl-shlex
13854 (sbcl-package->ecl-package sbcl-shlex))
13855
13856 (define-public cl-shlex
13857 (sbcl-package->cl-source-package sbcl-shlex))
13858
13859 (define-public sbcl-cmd
13860 (let ((commit "e6a54dbf660bf229c80abc124fa47e7bb6d20c93"))
13861 (package
13862 (name "sbcl-cmd")
13863 (version (git-version "0.0.1" "2" commit))
13864 (source
13865 (origin
13866 (method git-fetch)
13867 (uri (git-reference
13868 (url "https://github.com/ruricolist/cmd/")
13869 (commit commit)))
13870 (file-name (git-file-name name version))
13871 (sha256
13872 (base32 "1i0l8ci4cnkx84q4afmpkq51nxah24fqpi6k9kgjbxz6li3zp8hy"))))
13873 (build-system asdf-build-system/sbcl)
13874 (inputs
13875 `(("alexandria" ,sbcl-alexandria)
13876 ("coreutils" ,coreutils)
13877 ("serapeum" ,sbcl-serapeum)
13878 ("shlex" ,sbcl-shlex)
13879 ("trivia" ,sbcl-trivia)))
13880 (arguments
13881 `(#:phases
13882 (modify-phases %standard-phases
13883 (add-after 'unpack 'fix-paths
13884 (lambda* (#:key inputs #:allow-other-keys)
13885 (let ((bin (string-append (assoc-ref inputs "coreutils") "/bin")))
13886 (substitute* "cmd.lisp"
13887 (("\"env\"") (format #f "\"~a/env\"" bin))
13888 (("\"pwd\"") (format #f "\"~a/pwd\"" bin)))))))))
13889 (home-page "https://github.com/ruricolist/cmd")
13890 (synopsis "Conveniently run external programs from Common Lisp")
13891 (description
13892 "A utility for running external programs, built on UIOP.
13893 Cmd is designed to be natural to use, protect against shell interpolation and
13894 be usable from multi-threaded programs.")
13895 (license license:expat))))
13896
13897 (define-public ecl-cmd
13898 (sbcl-package->ecl-package sbcl-cmd))
13899
13900 (define-public cl-cmd
13901 (sbcl-package->cl-source-package sbcl-cmd))
13902
13903 (define-public sbcl-ppath
13904 (let ((commit "eb1a8173b4d1d691ea9a7699412123462f58c3ce"))
13905 (package
13906 (name "sbcl-ppath")
13907 (version (git-version "0.1" "1" commit))
13908 (source
13909 (origin
13910 (method git-fetch)
13911 (uri (git-reference
13912 (url "https://github.com/fourier/ppath/")
13913 (commit commit)))
13914 (file-name (git-file-name name commit))
13915 (sha256
13916 (base32 "1c46q9lmzqv14z80d3fwdawgn3pn4922x31fyqvsvbcjm4hd16fb"))))
13917 (build-system asdf-build-system/sbcl)
13918 (inputs
13919 `(("alexandria" ,sbcl-alexandria)
13920 ("cffi" ,sbcl-cffi)
13921 ("osicat" ,sbcl-osicat)
13922 ("ppcre" ,sbcl-cl-ppcre)
13923 ("split-sequence" ,sbcl-split-sequence)
13924 ("trivial-features" ,sbcl-trivial-features)))
13925 (native-inputs
13926 `(("cl-fad" ,sbcl-cl-fad)
13927 ("prove" ,sbcl-prove)))
13928 (home-page "https://github.com/fourier/ppath")
13929 (synopsis "Common Lisp's implementation of the Python's os.path module")
13930 (description
13931 "This library is a path strings manipulation library inspired by
13932 Python's @code{os.path}. All functionality from @code{os.path} is supported on
13933 major operation systems.
13934
13935 The philosophy behind is to use simple strings and \"dumb\" string
13936 manipulation functions to handle paths and filenames. Where possible the
13937 corresponding OS system functions are called.")
13938 (license license:bsd-2))))
13939
13940 (define-public ecl-ppath
13941 (sbcl-package->ecl-package sbcl-ppath))
13942
13943 (define-public cl-ppath
13944 (sbcl-package->cl-source-package sbcl-ppath))
13945
13946 (define-public sbcl-trivial-escapes
13947 (let ((commit "1eca78da2078495d09893be58c28b3aa7b8cc4d1"))
13948 (package
13949 (name "sbcl-trivial-escapes")
13950 (version (git-version "1.2.0" "1" commit))
13951 (source
13952 (origin
13953 (method git-fetch)
13954 (uri (git-reference
13955 (url "https://github.com/williamyaoh/trivial-escapes")
13956 (commit commit)))
13957 (file-name (git-file-name name commit))
13958 (sha256
13959 (base32 "0v6h8lk17iqv1qkxgqjyzn8gi6v0hvq2vmfbb01md3zjvjqxn6lr"))))
13960 (build-system asdf-build-system/sbcl)
13961 (inputs
13962 `(("named-readtables" ,sbcl-named-readtables)))
13963 (native-inputs
13964 `(("fiveam" ,sbcl-fiveam)))
13965 (home-page "https://github.com/williamyaoh/trivial-escapes")
13966 (synopsis "C-style escape directives for Common Lisp")
13967 (description
13968 "This Common Lisp library interprets escape characters the same way that
13969 most other programming language do.
13970 It provides four readtables. The default one lets you write strings like this:
13971 @code{#\"This string has\na newline in it!\"}.")
13972 (license license:public-domain))))
13973
13974 (define-public ecl-trivial-escapes
13975 (sbcl-package->ecl-package sbcl-trivial-escapes))
13976
13977 (define-public cl-trivial-escapes
13978 (sbcl-package->cl-source-package sbcl-trivial-escapes))
13979
13980 (define-public sbcl-cl-indentify
13981 (let ((commit "eb770f434defa4cd41d84bca822428dfd0dbac53"))
13982 (package
13983 (name "sbcl-cl-indentify")
13984 (version (git-version "0.1" "1" commit))
13985 (source
13986 (origin
13987 (method git-fetch)
13988 (uri (git-reference
13989 (url "https://github.com/yitzchak/cl-indentify")
13990 (commit commit)))
13991 (file-name (git-file-name name commit))
13992 (sha256
13993 (base32 "0ha36bhg474vr76vfhr13szc8cfdj1ickg92k1icz791bqaqg67p"))))
13994 (build-system asdf-build-system/sbcl)
13995 (inputs
13996 `(("alexandria" ,sbcl-alexandria)
13997 ("command-line-arguments" ,sbcl-command-line-arguments)
13998 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
13999 (native-inputs
14000 `(("trivial-escapes" ,sbcl-trivial-escapes)
14001 ("rove" ,sbcl-rove)))
14002 (home-page "https://github.com/yitzchak/cl-indentify")
14003 (synopsis "Code beautifier for Common Lisp")
14004 (description
14005 "A library and command line utility to automatically indent Common Lisp
14006 source files.")
14007 (license license:expat))))
14008
14009 (define-public ecl-cl-indentify
14010 (sbcl-package->ecl-package sbcl-cl-indentify))
14011
14012 (define-public cl-indentify
14013 (sbcl-package->cl-source-package sbcl-cl-indentify))
14014
14015 (define-public sbcl-concrete-syntax-tree
14016 (let ((commit "abd242a59dadc5452aa9dbc1d313c83ec2c11f46"))
14017 (package
14018 (name "sbcl-concrete-syntax-tree")
14019 (version (git-version "0.0.0" "1" commit))
14020 (source
14021 (origin
14022 (method git-fetch)
14023 (uri (git-reference
14024 (url "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14025 (commit commit)))
14026 (file-name (git-file-name name commit))
14027 (sha256
14028 (base32 "1lyrglc3h1if44gxd9cwv90wa90nrdjvb7fry39b1xn8ywdfa7di"))))
14029 (build-system asdf-build-system/sbcl)
14030 (inputs
14031 `(("acclimation" ,sbcl-acclimation)))
14032 (home-page "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14033 (synopsis "Parse Common Lisp code into a concrete syntax tree")
14034 (description
14035 "This library is intended to solve the problem of source tracking for
14036 Common Lisp code.
14037
14038 By \"source tracking\", it is meant that code elements that have a known
14039 origin in the form of a position in a file or in an editor buffer are
14040 associated with some kind of information about this origin.
14041
14042 Since the exact nature of such origin information depends on the Common Lisp
14043 implementation and the purpose of wanting to track that origin, the library
14044 does not impose a particular structure of this information. Instead, it
14045 provides utilities for manipulating source code in the form of what is called
14046 concrete syntax trees (CSTs for short) that preserve this information about
14047 the origin.")
14048 (license license:bsd-2))))
14049
14050 (define-public ecl-concrete-syntax-tree
14051 (sbcl-package->ecl-package sbcl-concrete-syntax-tree))
14052
14053 (define-public cl-concrete-syntax-tree
14054 (sbcl-package->cl-source-package sbcl-concrete-syntax-tree))
14055
14056 (define-public sbcl-eclector
14057 (package
14058 (name "sbcl-eclector")
14059 (version "0.5.0")
14060 (source
14061 (origin
14062 (method git-fetch)
14063 (uri (git-reference
14064 (url "https://github.com/s-expressionists/Eclector")
14065 (commit version)))
14066 (file-name (git-file-name name version))
14067 (sha256
14068 (base32 "0bwkla0jdp5bg0q1zca5wg22b0nbdmglgax345nrhsf8bdrh47wm"))))
14069 (build-system asdf-build-system/sbcl)
14070 (inputs
14071 `(("acclimation" ,sbcl-acclimation)
14072 ("alexandria" ,sbcl-alexandria)
14073 ("closer-mop" ,sbcl-closer-mop)
14074 ("concrete-syntax-tree" ,sbcl-concrete-syntax-tree)))
14075 (native-inputs
14076 `(("fiveam" ,sbcl-fiveam)))
14077 (arguments
14078 '(#:asd-systems '("eclector"
14079 "eclector-concrete-syntax-tree")))
14080 (home-page "https://s-expressionists.github.io/Eclector/")
14081 (synopsis "Highly customizable, portable Common Lisp reader")
14082 (description
14083 "Eclector is a portable Common Lisp reader that is highly customizable,
14084 can recover from errors and can return concrete syntax trees.
14085
14086 In contrast to many other reader implementations, eclector can recover from
14087 most errors in the input supplied to it and continue reading. This capability
14088 is realized as a restart.
14089
14090 It can also produce instances of the concrete syntax tree classes provided by
14091 the concrete syntax tree library.")
14092 (license license:bsd-2)))
14093
14094 (define-public ecl-eclector
14095 (sbcl-package->ecl-package sbcl-eclector))
14096
14097 (define-public cl-eclector
14098 (sbcl-package->cl-source-package sbcl-eclector))
14099
14100 (define-public sbcl-jsown
14101 (let ((commit "744c4407bef58dfa876d9da0b5c0205d869e7977"))
14102 (package
14103 (name "sbcl-jsown")
14104 (version (git-version "1.0.1" "1" commit))
14105 (source
14106 (origin
14107 (method git-fetch)
14108 (uri (git-reference
14109 (url "https://github.com/madnificent/jsown")
14110 (commit commit)))
14111 (file-name (git-file-name name commit))
14112 (sha256
14113 (base32 "0gadvmf1d9bq35s61z76psrsnzwwk12svi66jigf491hv48wigw7"))))
14114 (build-system asdf-build-system/sbcl)
14115 (home-page "https://github.com/madnificent/jsown")
14116 (synopsis "Fast JSON reader / writer library for Common Lisp")
14117 (description
14118 "@code{jsown} is a high performance Common Lisp JSON parser. Its aim
14119 is to allow for the fast parsing of JSON objects in Common Lisp. Recently,
14120 functions and macros have been added to ease the burden of writing and editing
14121 @code{jsown} objects.
14122
14123 @code{jsown} allows you to parse JSON objects quickly to a modifiable Lisp
14124 list and write them back. If you only need partial retrieval of objects,
14125 @code{jsown} allows you to select the keys which you would like to see parsed.
14126 @code{jsown} also has a JSON writer and some helper methods to alter the JSON
14127 objects themselves.")
14128 (license license:expat))))
14129
14130 (define-public ecl-jsown
14131 (sbcl-package->ecl-package sbcl-jsown))
14132
14133 (define-public cl-jsown
14134 (sbcl-package->cl-source-package sbcl-jsown))
14135
14136 (define-public sbcl-system-locale
14137 (let ((commit "4b334bc2fa45651bcaa28ae7d9331095d6bf0a17"))
14138 (package
14139 (name "sbcl-system-locale")
14140 (version (git-version "1.0.0" "1" commit))
14141 (source
14142 (origin
14143 (method git-fetch)
14144 (uri (git-reference
14145 (url "https://github.com/Shinmera/system-locale/")
14146 (commit commit)))
14147 (file-name (git-file-name name commit))
14148 (sha256
14149 (base32 "00p5c053kmgq4ks6l9mxsqz6g3bjcybvkvj0bh3r90qgpkaawm1p"))))
14150 (build-system asdf-build-system/sbcl)
14151 (inputs
14152 `(("documentation-utils" ,sbcl-documentation-utils)))
14153 (home-page "https://shinmera.github.io/system-locale/")
14154 (synopsis "Get the system's locale and language settings in Common Lisp")
14155 (description
14156 "This library retrieves locale information configured on the
14157 system. This is helpful if you want to write applications and libraries that
14158 display messages in the user's native language.")
14159 (license license:zlib))))
14160
14161 (define-public ecl-system-locale
14162 (sbcl-package->ecl-package sbcl-system-locale))
14163
14164 (define-public cl-system-locale
14165 (sbcl-package->cl-source-package sbcl-system-locale))
14166
14167 (define-public sbcl-language-codes
14168 (let ((commit "e7aa0e37cb97a3d37d6bc7316b479d01bff8f42e"))
14169 (package
14170 (name "sbcl-language-codes")
14171 (version (git-version "1.0.0" "1" commit))
14172 (source
14173 (origin
14174 (method git-fetch)
14175 (uri (git-reference
14176 (url "https://github.com/Shinmera/language-codes")
14177 (commit commit)))
14178 (file-name (git-file-name name commit))
14179 (sha256
14180 (base32 "0py176ibmsc01n5r0q1bs1ykqf5jwdbh8kx0j1a814l9y51241v0"))))
14181 (build-system asdf-build-system/sbcl)
14182 (inputs
14183 `(("documentation-utils" ,sbcl-documentation-utils)))
14184 (home-page "https://shinmera.github.io/language-codes/")
14185 (synopsis "Map ISO language codes to language names in Common Lisp")
14186 (description
14187 "This is a small library providing the ISO-639 language code to
14188 language name mapping.")
14189 (license license:zlib))))
14190
14191 (define-public ecl-language-codes
14192 (sbcl-package->ecl-package sbcl-language-codes))
14193
14194 (define-public cl-language-codes
14195 (sbcl-package->cl-source-package sbcl-language-codes))
14196
14197 (define-public sbcl-multilang-documentation
14198 (let ((commit "59e798a07e949e8957a20927f52aca425d84e4a0"))
14199 (package
14200 (name "sbcl-multilang-documentation")
14201 (version (git-version "1.0.0" "1" commit))
14202 (source
14203 (origin
14204 (method git-fetch)
14205 (uri (git-reference
14206 (url "https://github.com/Shinmera/multilang-documentation")
14207 (commit commit)))
14208 (file-name (git-file-name name commit))
14209 (sha256
14210 (base32 "13y5jskx8n2b7kimpfarr8v777w3b7zj5swg1b99nj3hk0843ixw"))))
14211 (build-system asdf-build-system/sbcl)
14212 (inputs
14213 `(("documentation-utils" ,sbcl-documentation-utils)
14214 ("language-codes" ,sbcl-language-codes)
14215 ("system-locale" ,sbcl-system-locale)))
14216 (home-page "https://shinmera.github.io/multilang-documentation/")
14217 (synopsis "Add multiple languages support to Common Lisp documentation")
14218 (description
14219 "This library provides a drop-in replacement function for
14220 cl:documentation that supports multiple docstrings per-language, allowing you
14221 to write documentation that can be internationalised.")
14222 (license license:zlib))))
14223
14224 (define-public ecl-multilang-documentation
14225 (sbcl-package->ecl-package sbcl-multilang-documentation))
14226
14227 (define-public cl-multilang-documentation
14228 (sbcl-package->cl-source-package sbcl-multilang-documentation))
14229
14230 (define-public sbcl-trivial-do
14231 (let ((commit "03a1729f1e71bad3ebcf6cf098a0cce52dfa1163"))
14232 (package
14233 (name "sbcl-trivial-do")
14234 (version (git-version "0.1" "1" commit))
14235 (source
14236 (origin
14237 (method git-fetch)
14238 (uri (git-reference
14239 (url "https://github.com/yitzchak/trivial-do")
14240 (commit commit)))
14241 (file-name (git-file-name name commit))
14242 (sha256
14243 (base32 "1ffva79nkicc7wc8c2ic5nayis3b2rk5sxzj74yjkymkjgbpcrgd"))))
14244 (build-system asdf-build-system/sbcl)
14245 (home-page "https://github.com/yitzchak/trivial-do")
14246 (synopsis "Additional dolist style macros for Common Lisp")
14247 (description
14248 "Additional dolist style macros for Common Lisp, such as
14249 @code{doalist}, @code{dohash}, @code{dolist*}, @code{doplist}, @code{doseq}
14250 and @code{doseq*}.")
14251 (license license:zlib))))
14252
14253 (define-public ecl-trivial-do
14254 (sbcl-package->ecl-package sbcl-trivial-do))
14255
14256 (define-public cl-trivial-do
14257 (sbcl-package->cl-source-package sbcl-trivial-do))
14258
14259 (define-public sbcl-common-lisp-jupyter
14260 (let ((commit "61a9a8e7a18e2abd7af7c697ba5146fd19bd9d62"))
14261 (package
14262 (name "sbcl-common-lisp-jupyter")
14263 (version (git-version "0.1" "1" commit))
14264 (source
14265 (origin
14266 (method git-fetch)
14267 (uri (git-reference
14268 (url "https://github.com/yitzchak/common-lisp-jupyter")
14269 (commit commit)))
14270 (file-name (git-file-name name commit))
14271 (sha256
14272 (base32 "0zyzl55l45w9z65ygi5pcwda5w5p1j1bb0p2zg2n5cpv8344dkh2"))))
14273 (build-system asdf-build-system/sbcl)
14274 (inputs
14275 `(("alexandria" ,sbcl-alexandria)
14276 ("babel" ,sbcl-babel)
14277 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14278 ("cl-base64" ,sbcl-cl-base64)
14279 ("cl-indentify" ,sbcl-cl-indentify)
14280 ("closer-mop" ,sbcl-closer-mop)
14281 ("eclector" ,sbcl-eclector)
14282 ("ironclad" ,sbcl-ironclad)
14283 ("iterate" ,sbcl-iterate)
14284 ("jsown" ,sbcl-jsown)
14285 ("multilang-documentation" ,sbcl-multilang-documentation)
14286 ("pzmq" ,sbcl-pzmq)
14287 ("puri" ,sbcl-puri)
14288 ("static-vectors" ,sbcl-static-vectors)
14289 ("trivial-do" ,sbcl-trivial-do)
14290 ("trivial-garbage" ,sbcl-trivial-garbage)
14291 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
14292 ("trivial-mimes" ,sbcl-trivial-mimes)))
14293 (home-page "https://yitzchak.github.io/common-lisp-jupyter/")
14294 (synopsis "Common Lisp kernel for Jupyter")
14295 (description
14296 "This is a Common Lisp kernel for Jupyter along with a library for
14297 building Jupyter kernels, based on Maxima-Jupyter which was based on
14298 @code{cl-jupyter}.")
14299 (license license:zlib))))
14300
14301 (define-public ecl-common-lisp-jupyter
14302 (sbcl-package->ecl-package sbcl-common-lisp-jupyter))
14303
14304 (define-public cl-common-lisp-jupyter
14305 (sbcl-package->cl-source-package sbcl-common-lisp-jupyter))
14306
14307 (define-public sbcl-radiance
14308 (let ((commit "5ffbe1f157edd17a13194495099efd81e052df85")
14309 (revision "1"))
14310 (package
14311 (name "sbcl-radiance")
14312 (version (git-version "2.1.2" revision commit))
14313 (source
14314 (origin
14315 (method git-fetch)
14316 (uri (git-reference
14317 (url "https://github.com/Shirakumo/radiance")
14318 (commit commit)))
14319 (file-name (git-file-name "radiance" version))
14320 (sha256
14321 (base32 "0hbkcnmnlj1cqzbv18zmla2iwbl65kxilz9764hndf8x8as1539c"))))
14322 (build-system asdf-build-system/sbcl)
14323 (arguments
14324 `(#:tests? #f ; TODO: The tests require some configuration.
14325 #:phases
14326 (modify-phases %standard-phases
14327 (add-after 'unpack 'disable-quicklisp
14328 (lambda _
14329 ;; Disable the automatic installation of systems by Quicklisp.
14330 ;; (Maybe there would be a way to package Quicklisp and make it
14331 ;; install things in the user's directory instead of
14332 ;; /gnu/store/...).
14333 (substitute* "interfaces.lisp"
14334 (("\\(unless \\(asdf:find-system configured-implementation NIL\\)"
14335 all)
14336 (string-append "#+quicklisp " all))))))))
14337 (native-inputs
14338 `(("alexandria" ,sbcl-alexandria)
14339 ("dexador" ,sbcl-dexador)
14340 ("parachute" ,sbcl-parachute)
14341 ("verbose" ,sbcl-verbose)))
14342 (inputs
14343 `(("babel" ,sbcl-babel)
14344 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14345 ("cl-ppcre" ,sbcl-cl-ppcre)
14346 ("closer-mop" ,sbcl-closer-mop)
14347 ("documentation-utils" ,sbcl-documentation-utils)
14348 ("deploy" ,sbcl-deploy)
14349 ("form-fiddle" ,sbcl-form-fiddle)
14350 ("lambda-fiddle" ,sbcl-lambda-fiddle)
14351 ("local-time" ,sbcl-local-time)
14352 ("modularize-hooks" ,sbcl-modularize-hooks)
14353 ("modularize-interfaces" ,sbcl-modularize-interfaces)
14354 ("puri" ,sbcl-puri)
14355 ("trivial-indent" ,sbcl-trivial-indent)
14356 ("trivial-mimes" ,sbcl-trivial-mimes)
14357 ("ubiquitous-concurrent" ,sbcl-ubiquitous)))
14358 (home-page "https://shirakumo.github.io/radiance/")
14359 (synopsis "Common Lisp web application environment")
14360 (description
14361 "Radiance is a web application environment, which is sort of like a web
14362 framework, but more general, more flexible. It should let you write personal
14363 websites and generally deployable applications easily and in such a way that
14364 they can be used on practically any setup without having to undergo special
14365 adaptations.")
14366 (license license:zlib))))
14367
14368 (define-public ecl-radiance
14369 (sbcl-package->ecl-package sbcl-radiance))
14370
14371 (define-public cl-radiance
14372 (sbcl-package->cl-source-package sbcl-radiance))