gnu: Add cl-bodge-utilities.
[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 ;;; Copyright © 2021 André A. Gomes <andremegafone@gmail.com>
27 ;;; Copyright © 2021 Cage <cage-dev@twistfold.it>
28 ;;;
29 ;;; This file is part of GNU Guix.
30 ;;;
31 ;;; GNU Guix is free software; you can redistribute it and/or modify it
32 ;;; under the terms of the GNU General Public License as published by
33 ;;; the Free Software Foundation; either version 3 of the License, or (at
34 ;;; your option) any later version.
35 ;;;
36 ;;; GNU Guix is distributed in the hope that it will be useful, but
37 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
38 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
39 ;;; GNU General Public License for more details.
40 ;;;
41 ;;; You should have received a copy of the GNU General Public License
42 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
43
44 ;;; This file only contains Common Lisp libraries.
45 ;;; Common Lisp compilers and tooling go to lisp.scm.
46 ;;; Common Lisp applications should go to the most appropriate file,
47 ;;; e.g. StumpWM is in wm.scm.
48
49 (define-module (gnu packages lisp-xyz)
50 #:use-module (gnu packages)
51 #:use-module ((guix licenses) #:prefix license:)
52 #:use-module (guix packages)
53 #:use-module (guix download)
54 #:use-module (guix git-download)
55 #:use-module (guix hg-download)
56 #:use-module (guix utils)
57 #:use-module (guix build-system asdf)
58 #:use-module (guix build-system trivial)
59 #:use-module (gnu packages base)
60 #:use-module (gnu packages c)
61 #:use-module (gnu packages compression)
62 #:use-module (gnu packages databases)
63 #:use-module (gnu packages enchant)
64 #:use-module (gnu packages file)
65 #:use-module (gnu packages fonts)
66 #:use-module (gnu packages fontutils)
67 #:use-module (gnu packages glib)
68 #:use-module (gnu packages gtk)
69 #:use-module (gnu packages imagemagick)
70 #:use-module (gnu packages libevent)
71 #:use-module (gnu packages libffi)
72 #:use-module (gnu packages linux)
73 #:use-module (gnu packages lisp)
74 #:use-module (gnu packages maths)
75 #:use-module (gnu packages mp3)
76 #:use-module (gnu packages ncurses)
77 #:use-module (gnu packages networking)
78 #:use-module (gnu packages pkg-config)
79 #:use-module (gnu packages python)
80 #:use-module (gnu packages python-xyz)
81 #:use-module (gnu packages sqlite)
82 #:use-module (gnu packages tcl)
83 #:use-module (gnu packages tls)
84 #:use-module (gnu packages video)
85 #:use-module (gnu packages web)
86 #:use-module (gnu packages webkit)
87 #:use-module (gnu packages xdisorg)
88 #:use-module (ice-9 match)
89 #:use-module (srfi srfi-1)
90 #:use-module (srfi srfi-19))
91
92 (define-public sbcl-alexandria
93 (package
94 (name "sbcl-alexandria")
95 (version "1.2")
96 (source
97 (origin
98 (method git-fetch)
99 (uri (git-reference
100 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
101 (commit (string-append "v" version))))
102 (sha256
103 (base32
104 "0bcqs0z9xlqgjz43qzgq9i07vdlnjllpm1wwa37wpkg0w975r712"))
105 (file-name (git-file-name name version))))
106 (build-system asdf-build-system/sbcl)
107 (native-inputs
108 `(("rt" ,sbcl-rt)))
109 (synopsis "Collection of portable utilities for Common Lisp")
110 (description
111 "Alexandria is a collection of portable utilities. It does not contain
112 conceptual extensions to Common Lisp. It is conservative in scope, and
113 portable between implementations.")
114 (home-page "https://common-lisp.net/project/alexandria/")
115 (license license:public-domain)))
116
117 (define-public cl-alexandria
118 (sbcl-package->cl-source-package sbcl-alexandria))
119
120 (define-public ecl-alexandria
121 (sbcl-package->ecl-package sbcl-alexandria))
122
123 (define-public sbcl-bodge-utilities
124 (let ((commit "6304bac4abe06d53579e2c0fc4437d14ff077d9f")
125 (revision "1"))
126 (package
127 (name "sbcl-bodge-utilities")
128 (version (git-version "1.0.0" revision commit))
129 (source
130 (origin
131 (method git-fetch)
132 (uri (git-reference
133 (url "https://github.com/borodust/bodge-utilities")
134 (commit commit)))
135 (file-name (git-file-name "bodge-utilities" version))
136 (sha256
137 (base32 "1z1blj05q71vzh323qwyn9p3xs7v0mq2yhwfyzza5libp37wqm3c"))))
138 (build-system asdf-build-system/sbcl)
139 (inputs
140 `(("alexandria" ,sbcl-alexandria)
141 ("cffi" ,sbcl-cffi)
142 ("claw" ,sbcl-claw)
143 ("dissect" ,sbcl-dissect)
144 ("local-time" ,sbcl-local-time)
145 ("log4cl" ,sbcl-log4cl)
146 ("split-sequence" ,sbcl-split-sequence)
147 ("static-vectors" ,sbcl-static-vectors)
148 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
149 (home-page "https://github.com/borodust/bodge-utilities")
150 (synopsis "Common Lisp utilities library for CL-BODGE")
151 (description
152 "This Common Lisp library provides utilities for the @emph{Bodge} library
153 collection.")
154 (license license:expat))))
155
156 (define-public ecl-bodge-utilities
157 (sbcl-package->ecl-package sbcl-bodge-utilities))
158
159 (define-public cl-bodge-utilities
160 (sbcl-package->cl-source-package sbcl-bodge-utilities))
161
162 (define-public sbcl-golden-utils
163 (let ((commit "9424419d867d5c2f819196ee41667a818a5058e7")
164 (revision "1"))
165 (package
166 (name "sbcl-golden-utils")
167 (version (git-version "0.0.0" revision commit))
168 (source
169 (origin
170 (method git-fetch)
171 (uri (git-reference
172 (url "https://git.mfiano.net/mfiano/golden-utils")
173 (commit commit)))
174 (file-name (git-file-name name version))
175 (sha256
176 (base32 "15x0phm6820yj3h37ibi06gjyh6z45sd2nz2n8lcbfflwm086q0h"))))
177 (build-system asdf-build-system/sbcl)
178 (inputs
179 `(("alexandria" ,sbcl-alexandria)))
180 (home-page "https://git.mfiano.net/mfiano/golden-utils")
181 (synopsis "Common Lisp utility library")
182 (description
183 "This is a Common Lisp library providing various utilities.")
184 (license license:expat))))
185
186 (define-public ecl-golden-utils
187 (sbcl-package->ecl-package sbcl-golden-utils))
188
189 (define-public cl-golden-utils
190 (sbcl-package->cl-source-package sbcl-golden-utils))
191
192 (define-public sbcl-asdf-finalizers
193 (let ((commit "7f537f6c598b662ae987c6acc268dd27c25977e0")
194 (revision "1"))
195 (package
196 (name "sbcl-asdf-finalizers")
197 (version (git-version "0.0.0" revision commit))
198 (source
199 (origin
200 (method git-fetch)
201 (uri (git-reference
202 (url "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
203 (commit commit)))
204 (file-name (git-file-name name version))
205 (sha256
206 (base32 "1w56c9yjjydjshsgqxz57qlp2v3r4ilbisnsgiqphvxnhvd41y0v"))))
207 (build-system asdf-build-system/sbcl)
208 (native-inputs
209 `(("fare-utils" ,sbcl-fare-utils)
210 ("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
211 (arguments
212 `(#:asd-files '("asdf-finalizers.asd"
213 "list-of.asd"
214 "asdf-finalizers-test.asd")
215 #:asd-systems '("asdf-finalizers"
216 "list-of")))
217 (home-page "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
218 (synopsis "Enforced calling of finalizers for Lisp code")
219 (description "This library allows you to implement and enforce proper
220 finalization of compile-time constructs while building Lisp source files.
221
222 It produces two systems: asdf-finalizers and list-of.")
223 (license license:expat))))
224
225 (define-public ecl-asdf-finalizers
226 (sbcl-package->ecl-package sbcl-asdf-finalizers))
227
228 (define-public cl-asdf-finalizers
229 (sbcl-package->cl-source-package sbcl-asdf-finalizers))
230
231 (define-public sbcl-net.didierverna.asdf-flv
232 (package
233 (name "sbcl-net.didierverna.asdf-flv")
234 (version "2.1")
235 (source
236 (origin
237 (method git-fetch)
238 (uri (git-reference
239 (url "https://github.com/didierverna/asdf-flv")
240 (commit (string-append "version-" version))))
241 (file-name (git-file-name "asdf-flv" version))
242 (sha256
243 (base32 "1fi2y4baxan103jbg4idjddzihy03kwnj2mzbwrknw4d4x7xlgwj"))))
244 (build-system asdf-build-system/sbcl)
245 (synopsis "Common Lisp ASDF extension to provide support for file-local variables")
246 (description "ASDF-FLV provides support for file-local variables through
247 ASDF. A file-local variable behaves like @code{*PACKAGE*} and
248 @code{*READTABLE*} with respect to @code{LOAD} and @code{COMPILE-FILE}: a new
249 dynamic binding is created before processing the file, so that any
250 modification to the variable becomes essentially file-local.
251
252 In order to make one or several variables file-local, use the macros
253 @code{SET-FILE-LOCAL-VARIABLE(S)}.")
254 (home-page "https://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv")
255 (license (license:non-copyleft
256 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
257 "GNU All-Permissive License"))))
258
259 (define-public cl-net.didierverna.asdf-flv
260 (sbcl-package->cl-source-package sbcl-net.didierverna.asdf-flv))
261
262 (define-public ecl-net.didierverna.asdf-flv
263 (sbcl-package->ecl-package sbcl-net.didierverna.asdf-flv))
264
265 (define-public sbcl-command-line-arguments
266 (let ((commit "fbac862fb01c0e368141204f3f639920462c23fe")
267 (revision "1"))
268 (package
269 (name "sbcl-command-line-arguments")
270 (version (git-version "2.0.0" revision commit))
271 (source
272 (origin
273 (method git-fetch)
274 (uri (git-reference
275 (url "https://github.com/fare/command-line-arguments")
276 (commit commit)))
277 (file-name (git-file-name name version))
278 (sha256
279 (base32 "054m1ikndzqf72mb9ajaa64136cwr3bgag4yfbi1574a9vq75mjq"))))
280 (build-system asdf-build-system/sbcl)
281 (home-page "https://github.com/fare/command-line-arguments")
282 (synopsis "Trivial command-line argument parsing library for Common Lisp")
283 (description "This is a library to abstract away the parsing of
284 Unix-style command-line arguments. Use it in conjunction with asdf:program-op
285 or cl-launch for portable processing of command-line arguments.")
286 (license license:expat))))
287
288 (define-public ecl-command-line-arguments
289 (sbcl-package->ecl-package sbcl-command-line-arguments))
290
291 (define-public cl-command-line-arguments
292 (sbcl-package->cl-source-package sbcl-command-line-arguments))
293
294 (define-public sbcl-fiveam
295 (package
296 (name "sbcl-fiveam")
297 (version "1.4.1")
298 (source
299 (origin
300 (method git-fetch)
301 (uri (git-reference
302 (url "https://github.com/sionescu/fiveam")
303 (commit (string-append "v" version))))
304 (file-name (git-file-name "fiveam" version))
305 (sha256
306 (base32 "1q3d38pwafnwnw42clq0f8g5xw7pbzr287jl9jsqmb1vb0n1vrli"))))
307 (inputs
308 `(("alexandria" ,sbcl-alexandria)
309 ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
310 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
311 (build-system asdf-build-system/sbcl)
312 (synopsis "Common Lisp testing framework")
313 (description "FiveAM is a simple (as far as writing and running tests
314 goes) regression testing framework. It has been designed with Common Lisp's
315 interactive development model in mind.")
316 (home-page "https://common-lisp.net/project/fiveam/")
317 (license license:bsd-3)))
318
319 (define-public cl-fiveam
320 (sbcl-package->cl-source-package sbcl-fiveam))
321
322 (define-public ecl-fiveam
323 (sbcl-package->ecl-package sbcl-fiveam))
324
325 (define-public sbcl-cl-irc
326 (let ((commit "963823537c7bfcda2edd4c44d172192da6722175")
327 (revision "0"))
328 (package
329 (name "sbcl-cl-irc")
330 (version (git-version "0.9.2" revision commit))
331 (source
332 (origin
333 (method git-fetch)
334 (uri (git-reference
335 (url "https://salsa.debian.org/common-lisp-team/cl-irc.git")
336 (commit commit)))
337 (file-name (git-file-name "cl-irc" version))
338 (sha256
339 (base32 "1b3nqbb4pj377lxl47rfgrs82pidadnrc65l48bk553c2f59b52w"))))
340 (build-system asdf-build-system/sbcl)
341 (native-inputs
342 ;; Tests only.
343 `(("rt" ,sbcl-rt)))
344 (inputs
345 `(("cl+ssl" ,sbcl-cl+ssl)
346 ("flexi-streams" ,sbcl-flexi-streams)
347 ("split-sequence" ,sbcl-split-sequence)
348 ("usocket" ,sbcl-usocket)))
349 (arguments
350 `(#:asd-systems '("cl-irc") ;; Some inexisting "c" system is
351 ;; found by guix otherwise.
352 #:asd-files '("cl-irc.asd")
353 #:test-asd-file "test/cl-irc-test.asd"))
354 (synopsis "IRC client library for Common Lisp")
355 (description "@code{cl-irc} is a Common Lisp IRC client library that
356 features (partial) DCC, CTCP and all relevant commands from the IRC
357 RFCs (RFC2810, RFC2811 and RFC2812).
358
359 Features:
360 @itemize
361 @item implements all commands in the RFCs
362 @item extra convenience commands such as op/deop, ban, ignore, etc.
363 @item partial DCC SEND/CHAT support
364 @item event driven model with hooks makes interfacing easy
365 @item the user can keep multiple connections
366 @item all CTCP commands
367 @end itemize\n")
368 (home-page "https://common-lisp.net/project/cl-irc/")
369 (license license:bsd-2))))
370
371 (define-public cl-irc
372 (sbcl-package->cl-source-package sbcl-cl-irc))
373
374 (define-public ecl-cl-irc
375 (sbcl-package->ecl-package sbcl-cl-irc))
376
377 (define-public sbcl-trivial-timeout
378 (let ((commit "feb869357f40f5e109570fb40abad215fb370c6c")
379 (revision "1"))
380 (package
381 (name "sbcl-trivial-timeout")
382 (version (git-version "0.1.5" revision commit))
383 (source
384 (origin
385 (method git-fetch)
386 (uri (git-reference
387 (url "https://github.com/gwkkwg/trivial-timeout/")
388 (commit commit)))
389 (file-name (git-file-name "trivial-timeout" version))
390 (sha256
391 (base32 "1kninxwvvih9nhh7a9y8lfgi7pdr76675y1clw4ss17vz8fbim5p"))))
392 (build-system asdf-build-system/sbcl)
393 (native-inputs
394 `(("lift" ,sbcl-lift)))
395 (arguments
396 ;; NOTE: (Sharlatan-20210202T231437+0000): Due to the age of this library
397 ;; tests use some deprecated functionality and keep failing.
398 `(#:tests? #f))
399 (home-page "https://github.com/gwkkwg/trivial-timeout/")
400 (synopsis "Timeout library for Common Lisp")
401 (description
402 "This library provides an OS and implementation independent access to
403 timeouts.")
404 (license license:expat))))
405
406 (define-public ecl-trivial-timeout
407 (sbcl-package->ecl-package sbcl-trivial-timeout))
408
409 (define-public cl-trivial-timeout
410 (sbcl-package->cl-source-package sbcl-trivial-timeout))
411
412 (define-public sbcl-bordeaux-threads
413 (package
414 (name "sbcl-bordeaux-threads")
415 (version "0.8.8")
416 (source (origin
417 (method git-fetch)
418 (uri (git-reference
419 (url "https://github.com/sionescu/bordeaux-threads")
420 (commit (string-append "v" version))))
421 (sha256
422 (base32 "19i443fz3488v1pbbr9x24y8h8vlyhny9vj6c9jk5prm702awrp6"))
423 (file-name
424 (git-file-name "bordeaux-threads" version))))
425 (inputs `(("alexandria" ,sbcl-alexandria)))
426 (native-inputs `(("fiveam" ,sbcl-fiveam)))
427 (build-system asdf-build-system/sbcl)
428 (synopsis "Portable shared-state concurrency library for Common Lisp")
429 (description "BORDEAUX-THREADS is a proposed standard for a minimal
430 MP/Threading interface. It is similar to the CLIM-SYS threading and lock
431 support.")
432 (home-page "https://common-lisp.net/project/bordeaux-threads/")
433 (license license:x11)))
434
435 (define-public cl-bordeaux-threads
436 (sbcl-package->cl-source-package sbcl-bordeaux-threads))
437
438 (define-public ecl-bordeaux-threads
439 (sbcl-package->ecl-package sbcl-bordeaux-threads))
440
441 (define-public sbcl-trivial-gray-streams
442 (let ((revision "1")
443 (commit "ebd59b1afed03b9dc8544320f8f432fdf92ab010"))
444 (package
445 (name "sbcl-trivial-gray-streams")
446 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
447 (source
448 (origin
449 (method git-fetch)
450 (uri
451 (git-reference
452 (url "https://github.com/trivial-gray-streams/trivial-gray-streams")
453 (commit commit)))
454 (sha256
455 (base32 "0b1pxlccmnagk9cbh4cy8s5k66g3x0gwib5shjwr24xvrji6lp94"))
456 (file-name
457 (string-append "trivial-gray-streams-" version "-checkout"))))
458 (build-system asdf-build-system/sbcl)
459 (synopsis "Compatibility layer for Gray streams implementations")
460 (description "Gray streams is an interface proposed for inclusion with
461 ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most
462 popular CL implementations implement it. This package provides an extremely
463 thin compatibility layer for gray streams.")
464 (home-page "https://www.cliki.net/trivial-gray-streams")
465 (license license:x11))))
466
467 (define-public cl-trivial-gray-streams
468 (sbcl-package->cl-source-package sbcl-trivial-gray-streams))
469
470 (define-public ecl-trivial-gray-streams
471 (sbcl-package->ecl-package sbcl-trivial-gray-streams))
472
473 (define-public sbcl-fiasco
474 (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
475 (revision "1"))
476 (package
477 (name "sbcl-fiasco")
478 (version (git-version "0.0.1" revision commit))
479 (source
480 (origin
481 (method git-fetch)
482 (uri (git-reference
483 (url "https://github.com/joaotavora/fiasco")
484 (commit commit)))
485 (file-name (git-file-name "fiasco" version))
486 (sha256
487 (base32
488 "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
489 (build-system asdf-build-system/sbcl)
490 (inputs
491 `(("alexandria" ,sbcl-alexandria)
492 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
493 (synopsis "Simple and powerful test framework for Common Lisp")
494 (description "A Common Lisp test framework that treasures your failures,
495 logical continuation of Stefil. It focuses on interactive debugging.")
496 (home-page "https://github.com/joaotavora/fiasco")
497 ;; LICENCE specifies this is public-domain unless the legislation
498 ;; doesn't allow or recognize it. In that case it falls back to a
499 ;; permissive licence.
500 (license (list license:public-domain
501 (license:x11-style "file://LICENCE"))))))
502
503 (define-public cl-fiasco
504 (sbcl-package->cl-source-package sbcl-fiasco))
505
506 (define-public ecl-fiasco
507 (sbcl-package->ecl-package sbcl-fiasco))
508
509 (define-public sbcl-flexi-streams
510 (package
511 (name "sbcl-flexi-streams")
512 (version "1.0.18")
513 (source
514 (origin
515 (method git-fetch)
516 (uri (git-reference
517 (url "https://github.com/edicl/flexi-streams")
518 (commit (string-append "v" version))))
519 (file-name (git-file-name "flexi-streams" version))
520 (sha256
521 (base32 "0bjv7fd2acknidc5dyi3h85pn10krxv5jyxs1xg8jya2rlfv7f1j"))))
522 (build-system asdf-build-system/sbcl)
523 (arguments
524 `(#:phases
525 (modify-phases %standard-phases
526 (add-after 'unpack 'make-git-checkout-writable
527 (lambda _
528 (for-each make-file-writable (find-files "."))
529 #t)))))
530 (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
531 (synopsis "Implementation of virtual bivalent streams for Common Lisp")
532 (description "Flexi-streams is an implementation of \"virtual\" bivalent
533 streams that can be layered atop real binary or bivalent streams and that can
534 be used to read and write character data in various single- or multi-octet
535 encodings which can be changed on the fly. It also supplies in-memory binary
536 streams which are similar to string streams.")
537 (home-page "http://weitz.de/flexi-streams/")
538 (license license:bsd-3)))
539
540 (define-public cl-flexi-streams
541 (sbcl-package->cl-source-package sbcl-flexi-streams))
542
543 (define-public ecl-flexi-streams
544 (sbcl-package->ecl-package sbcl-flexi-streams))
545
546 (define-public sbcl-cl-abnf
547 ;; There are no releases
548 (let ((commit "ba1fbb104dedbdaddb1ef93d2e4da711bd96cd70")
549 (revision "1"))
550 (package
551 (name "sbcl-cl-abnf")
552 (version (git-version "0.0.0" revision commit))
553 (source
554 (origin
555 (method git-fetch)
556 (uri (git-reference
557 (url "https://github.com/dimitri/cl-abnf")
558 (commit commit)))
559 (file-name (git-file-name "cl-abnf" version))
560 (sha256
561 (base32 "0f09nsndxa90acm71zd4qdnp40v705a4sqm04mnv9x76h6dlggmz"))))
562 (build-system asdf-build-system/sbcl)
563 (inputs
564 `(("cl-ppcre" ,sbcl-cl-ppcre)
565 ("esrap" ,sbcl-esrap)))
566 (arguments
567 `(#:asd-systems '("abnf")))
568 (home-page "https://github.com/dimitri/cl-abnf")
569 (synopsis "ABNF parser generator for Common Lisp")
570 (description "This Common Lisp library implements a parser generator for
571 the ABNF grammar format as described in RFC2234. The generated parser is a
572 regular expression scanner provided by the cl-ppcre lib, which means that we
573 can't parse recursive grammar definition. One such definition is the ABNF
574 definition as given by the RFC. Fortunately, as you have this lib, you most
575 probably don't need to generate another parser to handle that particular ABNF
576 grammar.")
577 (license license:expat))))
578
579 (define-public cl-abnf
580 (sbcl-package->cl-source-package sbcl-cl-abnf))
581
582 (define-public ecl-cl-abnf
583 (sbcl-package->ecl-package sbcl-cl-abnf))
584
585 (define-public sbcl-cl-ppcre
586 (package
587 (name "sbcl-cl-ppcre")
588 (version "2.1.1")
589 (source
590 (origin
591 (method git-fetch)
592 (uri (git-reference
593 (url "https://github.com/edicl/cl-ppcre")
594 (commit (string-append "v" version))))
595 (file-name (git-file-name "cl-ppcre" version))
596 (sha256
597 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
598 (build-system asdf-build-system/sbcl)
599 (native-inputs
600 `(("flexi-streams" ,sbcl-flexi-streams)))
601 (arguments
602 `(#:phases
603 (modify-phases %standard-phases
604 (add-after 'unpack 'disable-ppcre-unicode
605 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
606 ;; to work around the circular dependency between edicl/cl-ppcre
607 ;; and edicl/cl-unicode.
608 (lambda _
609 (delete-file "cl-ppcre-unicode.asd")
610 #t)))))
611 (synopsis "Portable regular expression library for Common Lisp")
612 (description "CL-PPCRE is a portable regular expression library for Common
613 Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
614 compatible with ANSI-compliant Common Lisp implementations.")
615 (home-page "http://weitz.de/cl-ppcre/")
616 (license license:bsd-2)))
617
618 (define-public cl-ppcre
619 (sbcl-package->cl-source-package sbcl-cl-ppcre))
620
621 (define-public ecl-cl-ppcre
622 (sbcl-package->ecl-package sbcl-cl-ppcre))
623
624 (define-public sbcl-parse
625 (let ((commit "2351ee78acac065fcf10b8713d3f404e2e910786")
626 (revision "1"))
627 (package
628 (name "sbcl-parse")
629 (version (git-version "1.0" revision commit))
630 (source
631 (origin
632 (method git-fetch)
633 (uri (git-reference
634 (url "https://github.com/massung/parse")
635 (commit commit)))
636 (file-name (git-file-name "parse" version))
637 (sha256
638 (base32 "0l18yabyh7jizm5lgvra0jxi8s1cfwghidi6ix1pyixjkdbjlmvy"))))
639 (build-system asdf-build-system/sbcl)
640 (home-page "https://github.com/massung/parse")
641 (synopsis "Monadic parsing for Common Lisp")
642 (description
643 "PARSE is a simple token parsing library for Common Lisp.")
644 (license license:asl2.0))))
645
646 (define-public ecl-parse
647 (sbcl-package->ecl-package sbcl-parse))
648
649 (define-public cl-parse
650 (sbcl-package->cl-source-package sbcl-parse))
651
652 (define-public sbcl-re
653 (let ((commit "cfbc1f482970221e80d445080a188fd5c755cd2c")
654 (revision "1"))
655 (package
656 (name "sbcl-re")
657 (version (git-version "1.0" revision commit))
658 (source
659 (origin
660 (method git-fetch)
661 (uri (git-reference
662 (url "https://github.com/massung/re")
663 (commit commit)))
664 (file-name (git-file-name "re" version))
665 (sha256
666 (base32 "1y2gq2sckspnq8118bix55p2j43dk9qn3p8a2rplp1ip2qxqbb1i"))))
667 (build-system asdf-build-system/sbcl)
668 (inputs
669 `(("parse" ,sbcl-parse)))
670 (home-page "https://github.com/massung/re")
671 (synopsis "Lua-style Pattern Matching for Common Lisp")
672 (description
673 "RE is a small, portable, lightweight, and quick, regular
674 expression library for Common Lisp. It is a non-recursive, backtracing VM.")
675 (license license:asl2.0))))
676
677 (define-public ecl-re
678 (sbcl-package->ecl-package sbcl-re))
679
680 (define-public cl-re
681 (sbcl-package->cl-source-package sbcl-re))
682
683 (define-public sbcl-ubiquitous
684 (let ((commit "35eb7bd9e1b3daee1705f6b41260775180cce8af")
685 (revision "1"))
686 (package
687 (name "sbcl-ubiquitous")
688 (version (git-version "2.0.0" revision commit))
689 (source
690 (origin
691 (method git-fetch)
692 (uri (git-reference
693 (url "https://github.com/Shinmera/ubiquitous")
694 (commit commit)))
695 (file-name (git-file-name "ubiquitous" version))
696 (sha256
697 (base32 "1xlkaqmjcpkiv2xl2s2pvvrv976dlc846wm16s1lj62iy1315i49"))))
698 (build-system asdf-build-system/sbcl)
699 (inputs
700 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
701 (arguments
702 '(#:asd-systems '("ubiquitous"
703 "ubiquitous-concurrent")))
704 (home-page "https://shinmera.github.io/ubiquitous/")
705 (synopsis "Application configuration mechanism for Common Lisp")
706 (description
707 "@code{UBIQUITOUS} is a very easy-to-use library for persistent
708 configuration storage. It automatically takes care of finding a suitable place
709 to save your data, and provides simple functions to access and modify the data
710 within.")
711 (license license:zlib))))
712
713 (define-public ecl-ubiquitous
714 (sbcl-package->ecl-package sbcl-ubiquitous))
715
716 (define-public cl-ubiquitous
717 (sbcl-package->cl-source-package sbcl-ubiquitous))
718
719 (define-public sbcl-uax-15
720 (package
721 (name "sbcl-uax-15")
722 (version "0.1.1")
723 (source
724 (origin
725 (method git-fetch)
726 (uri (git-reference
727 (url "https://github.com/sabracrolleton/uax-15")
728 (commit (string-append "v" version))))
729 (file-name (git-file-name "uax-15" version))
730 (sha256
731 (base32 "0p2ckw7mzxhwa9vbwj2q2dzayz9dl94d9yqd2ynp0pc5v8i0n2fr"))))
732 (build-system asdf-build-system/sbcl)
733 (arguments
734 `(#:asd-systems
735 '("uax-15")))
736 (native-inputs
737 `(("fiveam" ,sbcl-fiveam)))
738 (inputs
739 `(("cl-ppcre" ,sbcl-cl-ppcre)
740 ("split-sequence" ,sbcl-split-sequence)))
741 (home-page "https://github.com/sabracrolleton/uax-15")
742 (synopsis "Common Lisp implementation of unicode normalization functions")
743 (description
744 "This package provides supports for unicode normalization, RFC8264 and
745 RFC7564.")
746 (license license:expat)))
747
748 (define-public cl-uax-15
749 (sbcl-package->cl-source-package sbcl-uax-15))
750
751 (define-public ecl-uax-15
752 (sbcl-package->ecl-package sbcl-uax-15))
753
754 (define-public sbcl-cl-unicode
755 (package
756 (name "sbcl-cl-unicode")
757 (version "0.1.6")
758 (source (origin
759 (method git-fetch)
760 (uri (git-reference
761 (url "https://github.com/edicl/cl-unicode")
762 (commit (string-append "v" version))))
763 (file-name (git-file-name name version))
764 (sha256
765 (base32
766 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
767 (build-system asdf-build-system/sbcl)
768 (native-inputs
769 `(("flexi-streams" ,sbcl-flexi-streams)))
770 (inputs
771 `(("cl-ppcre" ,sbcl-cl-ppcre)))
772 (home-page "http://weitz.de/cl-unicode/")
773 (synopsis "Portable Unicode library for Common Lisp")
774 (description "CL-UNICODE is a portable Unicode library Common Lisp, which
775 is compatible with perl. It is pretty fast, thread-safe, and compatible with
776 ANSI-compliant Common Lisp implementations.")
777 (license license:bsd-2)))
778
779 (define-public ecl-cl-unicode
780 (sbcl-package->ecl-package sbcl-cl-unicode))
781
782 (define-public cl-unicode
783 (sbcl-package->cl-source-package sbcl-cl-unicode))
784
785 (define-public sbcl-cl-ppcre-unicode
786 (package (inherit sbcl-cl-ppcre)
787 (name "sbcl-cl-ppcre-unicode")
788 (inputs
789 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
790 ("sbcl-cl-unicode" ,sbcl-cl-unicode)))
791 (arguments
792 `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found"
793 #:phases
794 (modify-phases %standard-phases
795 (add-after 'unpack 'disable-ppcre
796 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
797 ;; to work around the circular dependency between edicl/cl-ppcre
798 ;; and edicl/cl-unicode.
799 (lambda _
800 (delete-file "cl-ppcre.asd")
801 #t)))))))
802
803 (define-public cl-ppcre-unicode
804 (sbcl-package->cl-source-package sbcl-cl-ppcre-unicode))
805
806 (define-public ecl-cl-ppcre-unicode
807 (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
808
809 (define-public sbcl-zpb-ttf
810 (package
811 (name "sbcl-zpb-ttf")
812 (version "1.0.3")
813 (source
814 (origin
815 (method git-fetch)
816 (uri (git-reference
817 (url "https://github.com/xach/zpb-ttf")
818 (commit (string-append "release-" version))))
819 (file-name (git-file-name name version))
820 (sha256
821 (base32
822 "1wh66vjijzqlydnrihynpwp6796917xwrh0i9li93c17kyxa74ih"))))
823 (build-system asdf-build-system/sbcl)
824 (home-page "https://github.com/xach/zpb-ttf")
825 (synopsis "TrueType font file access for Common Lisp")
826 (description
827 "ZPB-TTF is a TrueType font file parser that provides an interface for
828 reading typographic metrics, glyph outlines, and other information from the
829 file.")
830 (license license:bsd-2)))
831
832 (define-public ecl-zpb-ttf
833 (sbcl-package->ecl-package sbcl-zpb-ttf))
834
835 (define-public cl-zpb-ttf
836 (sbcl-package->cl-source-package sbcl-zpb-ttf))
837
838 (define-public sbcl-cl-vectors
839 (package
840 (name "sbcl-cl-vectors")
841 (version "0.1.5")
842 (source
843 (origin
844 (method url-fetch)
845 (uri (string-append "http://projects.tuxee.net/cl-vectors/"
846 "files/cl-vectors-" version ".tar.gz"))
847 (sha256
848 (base32
849 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh"))))
850 (build-system asdf-build-system/sbcl)
851 (inputs
852 `(("zpb-ttf" ,sbcl-zpb-ttf)))
853 (arguments
854 '(#:asd-systems '("cl-vectors"
855 "cl-paths-ttf")))
856 (home-page "http://projects.tuxee.net/cl-vectors/")
857 (synopsis "Create, transform and render anti-aliased vectorial paths")
858 (description
859 "This is a pure Common Lisp library to create, transform and render
860 anti-aliased vectorial paths.")
861 (license license:expat)))
862
863 (define-public ecl-cl-vectors
864 (sbcl-package->ecl-package sbcl-cl-vectors))
865
866 (define-public cl-vectors
867 (sbcl-package->cl-source-package sbcl-cl-vectors))
868
869 (define-public sbcl-spatial-trees
870 ;; There have been no releases.
871 (let ((commit "81fdad0a0bf109c80a53cc96eca2e093823400ba")
872 (revision "1"))
873 (package
874 (name "sbcl-spatial-trees")
875 (version (git-version "0" revision commit))
876 (source
877 (origin
878 (method git-fetch)
879 (uri (git-reference
880 (url "https://github.com/rpav/spatial-trees")
881 (commit commit)))
882 (file-name (git-file-name name version))
883 (sha256
884 (base32
885 "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"))))
886 (build-system asdf-build-system/sbcl)
887 (arguments
888 '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns
889 #:test-asd-file "spatial-trees.test.asd"))
890 (native-inputs
891 `(("fiveam" ,sbcl-fiveam)))
892 (home-page "https://github.com/rpav/spatial-trees")
893 (synopsis "Dynamic index data structures for spatially-extended data")
894 (description
895 "Spatial-trees is a set of dynamic index data structures for
896 spatially-extended data.")
897 (license license:bsd-3))))
898
899 (define-public ecl-spatial-trees
900 (sbcl-package->ecl-package sbcl-spatial-trees))
901
902 (define-public cl-spatial-trees
903 (sbcl-package->cl-source-package sbcl-spatial-trees))
904
905 (define-public sbcl-flexichain
906 ;; There are no releases.
907 (let ((commit "13d2a6c505ed0abfcd4c4ec7d7145059b06855d6")
908 (revision "1"))
909 (package
910 (name "sbcl-flexichain")
911 (version "1.5.1")
912 (source
913 (origin
914 (method git-fetch)
915 (uri (git-reference
916 (url "https://github.com/robert-strandh/Flexichain")
917 (commit commit)))
918 (file-name (git-file-name name version))
919 (sha256
920 (base32
921 "0pfyvhsfbjd2sjb30grfs52r51a428xglv7bwydvpg2lc117qimg"))))
922 (build-system asdf-build-system/sbcl)
923 (home-page "https://github.com/robert-strandh/Flexichain.git")
924 (synopsis "Dynamically add elements to or remove them from sequences")
925 (description
926 "This package provides an implementation of the flexichain protocol,
927 allowing client code to dynamically add elements to, and delete elements from
928 a sequence (or chain) of such elements.")
929 (license license:lgpl2.1+))))
930
931 (define-public ecl-flexichain
932 (sbcl-package->ecl-package sbcl-flexichain))
933
934 (define-public cl-flexichain
935 (sbcl-package->cl-source-package sbcl-flexichain))
936
937 (define-public sbcl-cl-pdf
938 ;; There are no releases
939 (let ((commit "752e337e6d6fc206f09d091a982e7f8e5c404e4e")
940 (revision "1"))
941 (package
942 (name "sbcl-cl-pdf")
943 (version (git-version "0" revision commit))
944 (source
945 (origin
946 (method git-fetch)
947 (uri (git-reference
948 (url "https://github.com/mbattyani/cl-pdf")
949 (commit commit)))
950 (file-name (git-file-name name version))
951 (sha256
952 (base32
953 "1cg3k3m3r11ipb8j008y8ipynj97l3xjlpi2knqc9ndmx4r3kb1r"))))
954 (build-system asdf-build-system/sbcl)
955 (inputs
956 `(("iterate" ,sbcl-iterate)
957 ("zpb-ttf" ,sbcl-zpb-ttf)))
958 (home-page "https://github.com/mbattyani/cl-pdf")
959 (synopsis "Common Lisp library for generating PDF files")
960 (description
961 "CL-PDF is a cross-platform Common Lisp library for generating PDF
962 files.")
963 (license license:bsd-2))))
964
965 (define-public ecl-cl-pdf
966 (sbcl-package->ecl-package sbcl-cl-pdf))
967
968 (define-public cl-pdf
969 (sbcl-package->cl-source-package sbcl-cl-pdf))
970
971 (define-public sbcl-clx
972 (package
973 (name "sbcl-clx")
974 (version "0.7.5")
975 (source
976 (origin
977 (method git-fetch)
978 (uri
979 (git-reference
980 (url "https://github.com/sharplispers/clx")
981 (commit version)))
982 (sha256
983 (base32
984 "1vi67z9hpj5rr4xcmfbfwzmlcc0ah7hzhrmfid6lqdkva238v2wf"))
985 (file-name (string-append "clx-" version))))
986 (build-system asdf-build-system/sbcl)
987 (native-inputs
988 `(("fiasco" ,sbcl-fiasco)))
989 (home-page "https://www.cliki.net/portable-clx")
990 (synopsis "X11 client library for Common Lisp")
991 (description "CLX is an X11 client library for Common Lisp. The code was
992 originally taken from a CMUCL distribution, was modified somewhat in order to
993 make it compile and run under SBCL, then a selection of patches were added
994 from other CLXes around the net.")
995 (license license:x11)))
996
997 (define-public cl-clx
998 (sbcl-package->cl-source-package sbcl-clx))
999
1000 (define-public ecl-clx
1001 (sbcl-package->ecl-package sbcl-clx))
1002
1003 (define-public sbcl-clx-truetype
1004 (let ((commit "c6e10a918d46632324d5863a8ed067a83fc26de8")
1005 (revision "1"))
1006 (package
1007 (name "sbcl-clx-truetype")
1008 (version (git-version "0.0.1" revision commit))
1009 (source
1010 (origin
1011 (method git-fetch)
1012 (uri (git-reference
1013 (url "https://github.com/l04m33/clx-truetype")
1014 (commit commit)))
1015 (file-name (git-file-name name version))
1016 (sha256
1017 (base32
1018 "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37"))
1019 (modules '((guix build utils)))
1020 (snippet
1021 '(begin
1022 (substitute* "package.lisp"
1023 ((":export") ":export\n :+font-cache-filename+"))
1024 #t))))
1025 (build-system asdf-build-system/sbcl)
1026 (inputs
1027 `(("clx" ,sbcl-clx)
1028 ("zpb-ttf" ,sbcl-zpb-ttf)
1029 ("cl-vectors" ,sbcl-cl-vectors)
1030 ("cl-fad" ,sbcl-cl-fad)
1031 ("cl-store" ,sbcl-cl-store)
1032 ("trivial-features" ,sbcl-trivial-features)))
1033 (home-page "https://github.com/l04m33/clx-truetype")
1034 (synopsis "Antialiased TrueType font rendering using CLX and XRender")
1035 (description "CLX-TrueType is pure common lisp solution for
1036 antialiased TrueType font rendering using CLX and XRender extension.")
1037 (license license:expat))))
1038
1039 (define-public cl-clx-truetype
1040 (sbcl-package->cl-source-package sbcl-clx-truetype))
1041
1042 (define-public ecl-clx-truetype
1043 (sbcl-package->ecl-package sbcl-clx-truetype))
1044
1045 (define-public sbcl-slynk
1046 (let ((commit "fb84318c08f59bc786e047006fc81e2ace568309"))
1047 (package
1048 (name "sbcl-slynk")
1049 (version (git-version "1.0.43" "4" commit))
1050 (source
1051 (origin
1052 (method git-fetch)
1053 (uri
1054 (git-reference
1055 (url "https://github.com/joaotavora/sly")
1056 (commit commit)))
1057 (sha256
1058 (base32 "0z123k9ak7yjb9bxb5qx48f33ma8066rhkqh8xc14z7shk75jybj"))
1059 (file-name (git-file-name "slynk" version))))
1060 (build-system asdf-build-system/sbcl)
1061 (outputs '("out" "image"))
1062 (arguments
1063 `(#:phases
1064 (modify-phases %standard-phases
1065 (add-after 'create-asdf-configuration 'build-image
1066 (lambda* (#:key outputs #:allow-other-keys)
1067 (build-image (string-append
1068 (assoc-ref %outputs "image")
1069 "/bin/slynk")
1070 %outputs
1071 #:dependencies '("slynk"
1072 "slynk/arglists"
1073 "slynk/fancy-inspector"
1074 "slynk/package-fu"
1075 "slynk/mrepl"
1076 "slynk/trace-dialog"
1077 "slynk/profiler"
1078 "slynk/stickers"
1079 "slynk/indentation"
1080 "slynk/retro"))
1081 #t)))))
1082 (synopsis "Common Lisp IDE for Emacs")
1083 (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
1084 It also features a completely redesigned REPL based on Emacs's own
1085 full-featured @code{comint-mode}, live code annotations, and a consistent interactive
1086 button interface. Everything can be copied to the REPL. One can create
1087 multiple inspectors with independent history.")
1088 (home-page "https://github.com/joaotavora/sly")
1089 (license license:public-domain)
1090 (properties `((cl-source-variant . ,(delay cl-slynk)))))))
1091
1092 (define-public cl-slynk
1093 (sbcl-package->cl-source-package sbcl-slynk))
1094
1095 (define-public ecl-slynk
1096 (let ((pkg (sbcl-package->ecl-package sbcl-slynk)))
1097 (package
1098 (inherit pkg)
1099 (outputs '("out"))
1100 (arguments
1101 (substitute-keyword-arguments (package-arguments pkg)
1102 ((#:phases phases)
1103 `(modify-phases ,phases
1104 (delete 'build-image))))))))
1105
1106 (define-public sbcl-parse-js
1107 (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
1108 (revision "1"))
1109 (package
1110 (name "sbcl-parse-js")
1111 (version (string-append "0.0.0-" revision "." (string-take commit 9)))
1112 (source
1113 (origin
1114 (method git-fetch)
1115 (uri (git-reference
1116 (url "http://marijn.haverbeke.nl/git/parse-js")
1117 (commit commit)))
1118 (file-name (string-append name "-" commit "-checkout"))
1119 (sha256
1120 (base32
1121 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
1122 (build-system asdf-build-system/sbcl)
1123 (home-page "https://marijnhaverbeke.nl/parse-js/")
1124 (synopsis "Parse JavaScript")
1125 (description "Parse-js is a Common Lisp package for parsing
1126 JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
1127 (license license:zlib))))
1128
1129 (define-public cl-parse-js
1130 (sbcl-package->cl-source-package sbcl-parse-js))
1131
1132 (define-public ecl-parse-js
1133 (sbcl-package->ecl-package sbcl-parse-js))
1134
1135 (define-public sbcl-parse-number
1136 (package
1137 (name "sbcl-parse-number")
1138 (version "1.7")
1139 (source
1140 (origin
1141 (method git-fetch)
1142 (uri (git-reference
1143 (url "https://github.com/sharplispers/parse-number/")
1144 (commit (string-append "v" version))))
1145 (file-name (git-file-name name version))
1146 (sha256
1147 (base32
1148 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"))))
1149 (build-system asdf-build-system/sbcl)
1150 (home-page "https://www.cliki.net/PARSE-NUMBER")
1151 (synopsis "Parse numbers")
1152 (description "@code{parse-number} is a library of functions for parsing
1153 strings into one of the standard Common Lisp number types without using the
1154 reader. @code{parse-number} accepts an arbitrary string and attempts to parse
1155 the string into one of the standard Common Lisp number types, if possible, or
1156 else @code{parse-number} signals an error of type @code{invalid-number}.")
1157 (license license:bsd-3)))
1158
1159 (define-public cl-parse-number
1160 (sbcl-package->cl-source-package sbcl-parse-number))
1161
1162 (define-public ecl-parse-number
1163 (sbcl-package->ecl-package sbcl-parse-number))
1164
1165 (define-public sbcl-iterate
1166 (package
1167 (name "sbcl-iterate")
1168 (version "1.5")
1169 (source
1170 (origin
1171 (method url-fetch)
1172 (uri (string-append "https://common-lisp.net/project/iterate/releases/"
1173 "iterate-" version ".tar.gz"))
1174 (sha256
1175 (base32
1176 "1lqsbhrkfl0yif46aymvb7l3nb9wdcmj4jyw485blj32jb4famzn"))))
1177 (build-system asdf-build-system/sbcl)
1178 (native-inputs
1179 `(("rt" ,sbcl-rt)))
1180 (home-page "https://common-lisp.net/project/iterate/")
1181 (synopsis "Iteration construct for Common Lisp")
1182 (description "@code{iterate} is an iteration construct for Common Lisp.
1183 It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
1184
1185 @itemize
1186 @item it is extensible,
1187 @item it helps editors like Emacs indent iterate forms by having a more
1188 lisp-like syntax, and
1189 @item it isn't part of the ANSI standard for Common Lisp.
1190 @end itemize\n")
1191 (license license:expat)))
1192
1193 (define-public cl-iterate
1194 (sbcl-package->cl-source-package sbcl-iterate))
1195
1196 (define-public ecl-iterate
1197 (sbcl-package->ecl-package sbcl-iterate))
1198
1199 (define-public sbcl-cl-uglify-js
1200 ;; There have been many bug fixes since the 2010 release.
1201 (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
1202 (revision "1"))
1203 (package
1204 (name "sbcl-cl-uglify-js")
1205 (version (string-append "0.1-" revision "." (string-take commit 9)))
1206 (source
1207 (origin
1208 (method git-fetch)
1209 (uri (git-reference
1210 (url "https://github.com/mishoo/cl-uglify-js")
1211 (commit commit)))
1212 (file-name (git-file-name name version))
1213 (sha256
1214 (base32
1215 "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"))))
1216 (build-system asdf-build-system/sbcl)
1217 (inputs
1218 `(("sbcl-parse-js" ,sbcl-parse-js)
1219 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
1220 ("sbcl-cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
1221 ("sbcl-parse-number" ,sbcl-parse-number)
1222 ("sbcl-iterate" ,sbcl-iterate)))
1223 (home-page "https://github.com/mishoo/cl-uglify-js")
1224 (synopsis "JavaScript compressor library for Common Lisp")
1225 (description "This is a Common Lisp version of UglifyJS, a JavaScript
1226 compressor. It works on data produced by @code{parse-js} to generate a
1227 @dfn{minified} version of the code. Currently it can:
1228
1229 @itemize
1230 @item reduce variable names (usually to single letters)
1231 @item join consecutive @code{var} statements
1232 @item resolve simple binary expressions
1233 @item group most consecutive statements using the @code{sequence} operator (comma)
1234 @item remove unnecessary blocks
1235 @item convert @code{IF} expressions in various ways that result in smaller code
1236 @item remove some unreachable code
1237 @end itemize\n")
1238 (license license:zlib))))
1239
1240 (define-public cl-uglify-js
1241 (sbcl-package->cl-source-package sbcl-cl-uglify-js))
1242
1243 (define-public ecl-cl-uglify-js
1244 (sbcl-package->ecl-package sbcl-cl-uglify-js))
1245
1246 (define-public uglify-js
1247 (package
1248 (inherit sbcl-cl-uglify-js)
1249 (name "uglify-js")
1250 (build-system trivial-build-system)
1251 (arguments
1252 `(#:modules ((guix build utils))
1253 #:builder
1254 (let* ((bin (string-append (assoc-ref %outputs "out") "/bin/"))
1255 (script (string-append bin "uglify-js")))
1256 (use-modules (guix build utils))
1257 (mkdir-p bin)
1258 (with-output-to-file script
1259 (lambda _
1260 (format #t "#!~a/bin/sbcl --script
1261
1262 (require :asdf)
1263 (asdf:initialize-source-registry
1264 #p\"~a/etc/common-lisp/source-registry.conf.d/\")
1265 (asdf:initialize-output-translations
1266 #p\"~a/etc/common-lisp/asdf-output-translations.conf.d/\")"
1267 (assoc-ref %build-inputs "sbcl")
1268 (assoc-ref %build-inputs "sbcl-cl-uglify-js")
1269 (assoc-ref %build-inputs "sbcl-cl-uglify-js"))
1270 ;; FIXME: cannot use progn here because otherwise it fails to
1271 ;; find cl-uglify-js.
1272 (for-each
1273 write
1274 '(;; Quiet, please!
1275 (let ((*standard-output* (make-broadcast-stream))
1276 (*error-output* (make-broadcast-stream)))
1277 (asdf:load-system :cl-uglify-js))
1278 (let ((file (cadr *posix-argv*)))
1279 (if file
1280 (format t "~a"
1281 (cl-uglify-js:ast-gen-code
1282 (cl-uglify-js:ast-mangle
1283 (cl-uglify-js:ast-squeeze
1284 (with-open-file (in file)
1285 (parse-js:parse-js in))))
1286 :beautify nil))
1287 (progn
1288 (format *error-output*
1289 "Please provide a JavaScript file.~%")
1290 (sb-ext:exit :code 1))))))))
1291 (chmod script #o755)
1292 #t)))
1293 (inputs
1294 `(("sbcl" ,sbcl)
1295 ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
1296 (synopsis "JavaScript compressor")))
1297
1298 (define-public sbcl-cl-strings
1299 (let ((revision "1")
1300 (commit "c5c5cbafbf3e6181d03c354d66e41a4f063f00ae"))
1301 (package
1302 (name "sbcl-cl-strings")
1303 (version (git-version "0.0.0" revision commit))
1304 (source
1305 (origin
1306 (method git-fetch)
1307 (uri (git-reference
1308 (url "https://github.com/diogoalexandrefranco/cl-strings")
1309 (commit commit)))
1310 (sha256
1311 (base32
1312 "00754mfaqallj480lwd346nkfb6ra8pa8xcxcylf4baqn604zlmv"))
1313 (file-name (string-append "cl-strings-" version "-checkout"))))
1314 (build-system asdf-build-system/sbcl)
1315 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
1316 (description
1317 "@command{cl-strings} is a small, portable, dependency-free set of
1318 utilities that make it even easier to manipulate text in Common Lisp. It has
1319 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
1320 (home-page "https://github.com/diogoalexandrefranco/cl-strings")
1321 (license license:expat))))
1322
1323 (define-public cl-strings
1324 (sbcl-package->cl-source-package sbcl-cl-strings))
1325
1326 (define-public ecl-cl-strings
1327 (sbcl-package->ecl-package sbcl-cl-strings))
1328
1329 (define-public sbcl-trivial-features
1330 ;; No release since 2014.
1331 (let ((commit "870d03de0ed44067963350936856e17ee725153e"))
1332 (package
1333 (name "sbcl-trivial-features")
1334 (version (git-version "0.8" "1" commit))
1335 (source
1336 (origin
1337 (method git-fetch)
1338 (uri (git-reference
1339 (url "https://github.com/trivial-features/trivial-features")
1340 (commit commit)))
1341 (file-name (git-file-name "trivial-features" version))
1342 (sha256
1343 (base32 "14pcahr8r2j3idhyy216zyw8jnj1dnrx0qbkkbdqkvwzign1ah4j"))))
1344 (build-system asdf-build-system/sbcl)
1345 (arguments
1346 '(#:asd-files '("trivial-features.asd")
1347 #:tests? #f))
1348 (home-page "https://cliki.net/trivial-features")
1349 (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
1350 (description "Trivial-features ensures that @code{*FEATURES*} is
1351 consistent across multiple Common Lisp implementations.")
1352 (license license:expat))))
1353
1354 (define-public cl-trivial-features
1355 (sbcl-package->cl-source-package sbcl-trivial-features))
1356
1357 (define-public ecl-trivial-features
1358 (sbcl-package->ecl-package sbcl-trivial-features))
1359
1360 (define-public sbcl-hu.dwim.asdf
1361 (let ((commit "67cdf84390e530af4303cc4bc815fdf2a5e48f59"))
1362 (package
1363 (name "sbcl-hu.dwim.asdf")
1364 (version "20200724")
1365 (source
1366 (origin
1367 (method git-fetch)
1368 (uri (git-reference
1369 (url "https://github.com/hu-dwim/hu.dwim.asdf")
1370 (commit commit)))
1371 (file-name (git-file-name name version))
1372 (sha256
1373 (base32
1374 "0p81jalilkaqw832a12s35q0z6rrarxjasm1jy6h4fvyj9pf0zkx"))))
1375 (build-system asdf-build-system/sbcl)
1376 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.asdf")
1377 (synopsis "Extensions to ASDF")
1378 (description "Various ASDF extensions such as attached test and
1379 documentation system, explicit development support, etc.")
1380 (license license:public-domain))))
1381
1382 (define-public cl-hu.dwim.asdf
1383 (sbcl-package->cl-source-package sbcl-hu.dwim.asdf))
1384
1385 (define-public ecl-hu.dwim.asdf
1386 (sbcl-package->ecl-package sbcl-hu.dwim.asdf))
1387
1388 (define-public sbcl-hu.dwim.stefil
1389 (let ((commit "414902c6f575818c39a8a156b8b61b1adfa73dad"))
1390 (package
1391 (name "sbcl-hu.dwim.stefil")
1392 (version (git-version "0.0.0" "2" commit))
1393 (source
1394 (origin
1395 (method git-fetch)
1396 (uri
1397 (git-reference
1398 (url "https://github.com/hu-dwim/hu.dwim.stefil")
1399 (commit commit)))
1400 (sha256
1401 (base32 "14izmjjim590rh74swrssavdmdznj2z8vhqixy780sjhpcr5pmkc"))
1402 (file-name (git-file-name "hu.dwim.stefil" version))))
1403 (build-system asdf-build-system/sbcl)
1404 (native-inputs
1405 `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
1406 (inputs
1407 `(("sbcl-alexandria" ,sbcl-alexandria)))
1408 (home-page "http://dwim.hu/project/hu.dwim.stefil")
1409 (synopsis "Simple test framework")
1410 (description "Stefil is a simple test framework for Common Lisp,
1411 with a focus on interactive development.")
1412 (license license:public-domain))))
1413
1414 (define-public cl-hu.dwim.stefil
1415 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
1416
1417 (define-public ecl-hu.dwim.stefil
1418 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
1419
1420 (define-public sbcl-babel
1421 ;; No release since 2014.
1422 (let ((commit "aeed2d1b76358db48e6b70a64399c05678a6b9ea"))
1423 (package
1424 (name "sbcl-babel")
1425 (version (git-version "0.5.0" "1" commit))
1426 (source
1427 (origin
1428 (method git-fetch)
1429 (uri (git-reference
1430 (url "https://github.com/cl-babel/babel")
1431 (commit commit)))
1432 (file-name (git-file-name "babel" version))
1433 (sha256
1434 (base32 "0lkvv4xdpv4cv1y2bqillmabx8sdb2y4l6pbinq6mjh33w2brpvb"))))
1435 (build-system asdf-build-system/sbcl)
1436 (native-inputs
1437 `(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
1438 (inputs
1439 `(("sbcl-alexandria" ,sbcl-alexandria)
1440 ("sbcl-trivial-features" ,sbcl-trivial-features)))
1441 (home-page "https://common-lisp.net/project/babel/")
1442 (synopsis "Charset encoding and decoding library")
1443 (description "Babel is a charset encoding and decoding library, not unlike
1444 GNU libiconv, but completely written in Common Lisp.")
1445 (license license:expat))))
1446
1447 (define-public cl-babel
1448 (sbcl-package->cl-source-package sbcl-babel))
1449
1450 (define-public ecl-babel
1451 (sbcl-package->ecl-package sbcl-babel))
1452
1453 (define-public sbcl-cl-yacc
1454 (package
1455 (name "sbcl-cl-yacc")
1456 (version "0.3")
1457 (source
1458 (origin
1459 (method git-fetch)
1460 (uri (git-reference
1461 (url "https://github.com/jech/cl-yacc")
1462 (commit (string-append "cl-yacc-" version))))
1463 (sha256
1464 (base32
1465 "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib"))
1466 (file-name (string-append "cl-yacc-" version "-checkout"))))
1467 (build-system asdf-build-system/sbcl)
1468 (arguments
1469 `(#:asd-systems '("yacc")))
1470 (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc")
1471 (description
1472 "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit
1473 to AT&T Yacc, Berkeley Yacc, GNU Bison, Zebu, lalr.cl or lalr.scm.
1474
1475 CL-Yacc uses the algorithm due to Aho and Ullman, which is the one also used
1476 by AT&T Yacc, Berkeley Yacc and Zebu. It does not use the faster algorithm due
1477 to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
1478 (home-page "https://www.irif.fr/~jch//software/cl-yacc/")
1479 (license license:expat)))
1480
1481 (define-public cl-yacc
1482 (sbcl-package->cl-source-package sbcl-cl-yacc))
1483
1484 (define-public ecl-cl-yacc
1485 (sbcl-package->ecl-package sbcl-cl-yacc))
1486
1487 (define-public sbcl-eager-future2
1488 (let ((commit "54df8effd9d9eccac917509590286b5ac5f9cb30"))
1489 (package
1490 (name "sbcl-eager-future2")
1491 (version (git-version "0.0.0" "1" commit))
1492 (source
1493 (origin
1494 (method git-fetch)
1495 (uri (git-reference
1496 (url "https://gitlab.common-lisp.net/vsedach/eager-future2.git")
1497 (commit commit)))
1498 (file-name (git-file-name name version))
1499 (sha256
1500 (base32
1501 "1qs1bv3m0ki8l5czhsflxcryh22r9d9g9a3a3b0cr0pl954q5rld"))))
1502 (build-system asdf-build-system/sbcl)
1503 (inputs
1504 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1505 ("trivial-garbage" ,sbcl-trivial-garbage)))
1506 (synopsis "Futures promises synchronization mechanism for Common Lisp")
1507 (description
1508 "Eager Future2 is a Common Lisp library that provides composable
1509 concurrency primitives that unify parallel and lazy evaluation, are integrated
1510 with the Common Lisp condition system, and have automatic resource
1511 management.")
1512 (home-page "https://gitlab.common-lisp.net/vsedach/eager-future2")
1513 (license license:lgpl3+))))
1514
1515 (define-public cl-eager-future2
1516 (sbcl-package->cl-source-package sbcl-eager-future2))
1517
1518 (define-public ecl-eager-future2
1519 (sbcl-package->ecl-package sbcl-eager-future2))
1520
1521 (define-public sbcl-jpl-util
1522 (let ((commit "0311ed374e19a49d43318064d729fe3abd9a3b62"))
1523 (package
1524 (name "sbcl-jpl-util")
1525 (version "20151005")
1526 (source
1527 (origin
1528 (method git-fetch)
1529 (uri (git-reference
1530 ;; Quicklisp uses this fork.
1531 (url "https://github.com/hawkir/cl-jpl-util")
1532 (commit commit)))
1533 (file-name
1534 (git-file-name "jpl-util" version))
1535 (sha256
1536 (base32
1537 "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"))))
1538 (build-system asdf-build-system/sbcl)
1539 (synopsis "Collection of Common Lisp utility functions and macros")
1540 (description
1541 "@command{cl-jpl-util} is a collection of Common Lisp utility functions
1542 and macros, primarily for software projects written in CL by the author.")
1543 (home-page "https://www.thoughtcrime.us/software/cl-jpl-util/")
1544 (license license:isc))))
1545
1546 (define-public cl-jpl-util
1547 (sbcl-package->cl-source-package sbcl-jpl-util))
1548
1549 (define-public ecl-jpl-util
1550 (sbcl-package->ecl-package sbcl-jpl-util))
1551
1552 (define-public sbcl-piping
1553 (let ((commit "c7a4163c00dea7e72bf6ad33d6abac0d5826a656")
1554 (revision "1"))
1555 (package
1556 (name "sbcl-piping")
1557 (version (git-version "2.0.0" revision commit))
1558 (source
1559 (origin
1560 (method git-fetch)
1561 (uri (git-reference
1562 (url "https://github.com/Shinmera/piping/")
1563 (commit commit)))
1564 (file-name (git-file-name "piping" version))
1565 (sha256
1566 (base32 "0in84qnfkynm36d4n4d6v87vprpi27xrydnga462wfhplji6klv5"))))
1567 (build-system asdf-build-system/sbcl)
1568 (home-page "https://shinmera.github.io/piping/")
1569 (synopsis "Library to enable simple message pipelines")
1570 (description
1571 "This is a Common Lisp library to enable simple message pipelines.")
1572 (license license:zlib))))
1573
1574 (define-public ecl-piping
1575 (sbcl-package->ecl-package sbcl-piping))
1576
1577 (define-public cl-piping
1578 (sbcl-package->cl-source-package sbcl-piping))
1579
1580 (define-public sbcl-cl-pcg
1581 (let ((commit "8263d85ab0ca17fb05637a4430c2d564456bce8f")
1582 (revision "1"))
1583 (package
1584 (name "sbcl-cl-pcg")
1585 (version (git-version "1.0.0" revision commit))
1586 (source
1587 (origin
1588 (method git-fetch)
1589 (uri (git-reference
1590 (url "https://github.com/sjl/cl-pcg")
1591 (commit commit)))
1592 (file-name (git-file-name "cl-pcg" version))
1593 (sha256
1594 (base32 "0s57wvvlvshp1gcp9i9d3qcmqhswnxps3i0y7wbb0v8i1a3p46m4"))))
1595 (build-system asdf-build-system/sbcl)
1596 (native-inputs
1597 `(("1am" ,sbcl-1am)))
1598 (home-page "https://github.com/sjl/cl-pcg")
1599 (synopsis "Permuted congruential generators in Common Lisp")
1600 (description
1601 "This is a bare-bones Permuted Congruential Generator implementation in
1602 pure Common Lisp.")
1603 (license license:expat))))
1604
1605 (define-public ecl-cl-pcg
1606 (sbcl-package->ecl-package sbcl-cl-pcg))
1607
1608 (define-public cl-pcg
1609 (sbcl-package->cl-source-package sbcl-cl-pcg))
1610
1611 (define-public sbcl-seedable-rng
1612 (let ((commit "aa1a1564b6e07e2698df37c7a98348c4f762cb15")
1613 (revision "1"))
1614 (package
1615 (name "sbcl-seedable-rng")
1616 (version (git-version "0.0.0" revision commit))
1617 (source
1618 (origin
1619 (method git-fetch)
1620 (uri (git-reference
1621 (url "https://git.mfiano.net/mfiano/seedable-rng")
1622 (commit commit)))
1623 (file-name (git-file-name "seedable-rng" version))
1624 (sha256
1625 (base32 "1ldpsbp3qrfzvknclsxj3sdyms1jf9ad20dvh4w0kw3zgahn2nr5"))))
1626 (build-system asdf-build-system/sbcl)
1627 (inputs
1628 `(("cl-pcg" ,sbcl-cl-pcg)
1629 ("golden-utils" ,sbcl-golden-utils)
1630 ("ironclad" ,sbcl-ironclad)))
1631 (home-page "https://git.mfiano.net/mfiano/seedable-rng")
1632 (synopsis "Common Lisp random number generator")
1633 (description
1634 "SEEDABLE-RNG provides a convenient means of generating random numbers
1635 that are seedable with deterministic results across hardware and Common Lisp
1636 implementations.")
1637 (license license:expat))))
1638
1639 (define-public ecl-seedable-rng
1640 (sbcl-package->ecl-package sbcl-seedable-rng))
1641
1642 (define-public cl-seedable-rng
1643 (sbcl-package->cl-source-package sbcl-seedable-rng))
1644
1645 (define-public sbcl-jpl-queues
1646 (package
1647 (name "sbcl-jpl-queues")
1648 (version "0.1")
1649 (source
1650 (origin
1651 (method url-fetch)
1652 (uri (string-append
1653 "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-"
1654 version
1655 ".tar.gz"))
1656 (sha256
1657 (base32
1658 "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96"))))
1659 (build-system asdf-build-system/sbcl)
1660 (inputs
1661 `(("jpl-util" ,sbcl-jpl-util)
1662 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1663 (arguments
1664 ;; Tests seem to be broken.
1665 `(#:tests? #f))
1666 (synopsis "Common Lisp library implementing a few different kinds of queues")
1667 (description
1668 "A Common Lisp library implementing a few different kinds of queues:
1669
1670 @itemize
1671 @item Bounded and unbounded FIFO queues.
1672 @item Lossy bounded FIFO queues that drop elements when full.
1673 @item Unbounded random-order queues that use less memory than unbounded FIFO queues.
1674 @end itemize
1675
1676 Additionally, a synchronization wrapper is provided to make any queue
1677 conforming to the @command{jpl-queues} API thread-safe for lightweight
1678 multithreading applications. (See Calispel for a more sophisticated CL
1679 multithreaded message-passing library with timeouts and alternation among
1680 several blockable channels.)")
1681 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1682 (license license:isc)))
1683
1684 (define-public cl-jpl-queues
1685 (sbcl-package->cl-source-package sbcl-jpl-queues))
1686
1687 (define-public ecl-jpl-queues
1688 (sbcl-package->ecl-package sbcl-jpl-queues))
1689
1690 (define-public sbcl-calispel
1691 (let ((commit "e9f2f9c1af97f4d7bb4c8ac25fb2a8f3e8fada7a"))
1692 (package
1693 (name "sbcl-calispel")
1694 (version (git-version "0.1" "1" commit))
1695 (source
1696 (origin
1697 (method git-fetch)
1698 (uri (git-reference
1699 ;; This fork replaces the dependency on the obsolete
1700 ;; eager-future with eager-future2.
1701 (url "https://github.com/hawkir/calispel")
1702 (commit commit)))
1703 (file-name (git-file-name name version))
1704 (sha256
1705 (base32
1706 "08bmf3pi7n5hadpmqqkg65cxcj6kbvm997wcs1f53ml1nb79d9z8"))))
1707 (build-system asdf-build-system/sbcl)
1708 (inputs
1709 `(("jpl-queues" ,sbcl-jpl-queues)
1710 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1711 (native-inputs
1712 `(("eager-future2" ,sbcl-eager-future2)))
1713 (synopsis "Thread-safe message-passing channels in Common Lisp")
1714 (description
1715 "Calispel is a Common Lisp library for thread-safe message-passing
1716 channels, in the style of the occam programming language, also known as
1717 communicating sequential processes (CSP). See
1718 @url{https://en.wikipedia.org/wiki/Communicating_sequential_processes}.
1719
1720 Calispel channels let one thread communicate with another, facilitating
1721 unidirectional communication of any Lisp object. Channels may be unbuffered,
1722 where a sender waits for a receiver (or vice versa) before either operation can
1723 continue, or channels may be buffered with flexible policy options.
1724
1725 Because sending and receiving on a channel may block, either operation can time
1726 out after a specified amount of time.
1727
1728 A syntax for alternation is provided (like @code{ALT} in occam, or Unix
1729 @code{select()}): given a sequence of operations, any or all of which may
1730 block, alternation selects the first operation that doesn't block and executes
1731 associated code. Alternation can also time out, executing an \"otherwise\"
1732 clause if no operation becomes available within a set amount of time.
1733
1734 Calispel is a message-passing library, and as such leaves the role of
1735 threading abstractions and utilities left to be filled by complementary
1736 libraries such as Bordeaux-Threads and Eager Future.")
1737 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1738 (license license:isc))))
1739
1740 (define-public cl-calispel
1741 (sbcl-package->cl-source-package sbcl-calispel))
1742
1743 (define-public ecl-calispel
1744 (sbcl-package->ecl-package sbcl-calispel))
1745
1746 (define-public sbcl-eos
1747 (let ((commit "b4413bccc4d142cbe1bf49516c3a0a22c9d99243")
1748 (revision "2"))
1749 (package
1750 (name "sbcl-eos")
1751 (version (git-version "0.0.0" revision commit))
1752 (source
1753 (origin
1754 (method git-fetch)
1755 (uri (git-reference
1756 (url "https://github.com/adlai/Eos")
1757 (commit commit)))
1758 (sha256
1759 (base32 "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk"))
1760 (file-name (git-file-name "eos" version))))
1761 (build-system asdf-build-system/sbcl)
1762 (synopsis "Unit Testing for Common Lisp")
1763 (description
1764 "Eos was a unit testing library for Common Lisp.
1765 It began as a fork of FiveAM; however, FiveAM development has continued, while
1766 that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
1767 (home-page "https://github.com/adlai/Eos")
1768 (license license:expat))))
1769
1770 (define-public cl-eos
1771 (sbcl-package->cl-source-package sbcl-eos))
1772
1773 (define-public ecl-eos
1774 (sbcl-package->ecl-package sbcl-eos))
1775
1776 (define-public sbcl-esrap
1777 (let ((commit "da6b24fb18bdb8e7e177bcf2820cdaf0b560deb6")
1778 (revision "1"))
1779 (package
1780 (name "sbcl-esrap")
1781 (version (git-version "0.18" revision commit))
1782 (source
1783 (origin
1784 (method git-fetch)
1785 (uri (git-reference
1786 (url "https://github.com/scymtym/esrap")
1787 (commit commit)))
1788 (sha256
1789 (base32 "12vf3bxwzf8icnf6rw1xalvm7493cfbb46r2vlhc09s59djkf39q"))
1790 (file-name (git-file-name "esrap" version))))
1791 (build-system asdf-build-system/sbcl)
1792 (native-inputs
1793 `(("fiveam" ,sbcl-fiveam)))
1794 (inputs
1795 `(("alexandria" ,sbcl-alexandria)))
1796 (synopsis "Common Lisp packrat parser")
1797 (description
1798 "This is a packrat parser for Common Lisp.
1799 In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
1800
1801 @itemize
1802 @item dynamic redefinition of nonterminals
1803 @item inline grammars
1804 @item semantic predicates
1805 @item introspective facilities (describing grammars, tracing, setting breaks)
1806 @item left-recursive grammars
1807 @item functions as terminals
1808 @item accurate, customizable parse error reports
1809 @end itemize\n")
1810 (home-page "https://scymtym.github.io/esrap/")
1811 (license license:expat))))
1812
1813 (define-public cl-esrap
1814 (sbcl-package->cl-source-package sbcl-esrap))
1815
1816 (define-public ecl-esrap
1817 (sbcl-package->ecl-package sbcl-esrap))
1818
1819 (define-public sbcl-split-sequence
1820 (package
1821 (name "sbcl-split-sequence")
1822 (version "2.0.0")
1823 (source
1824 (origin
1825 (method git-fetch)
1826 (uri (git-reference
1827 (url "https://github.com/sharplispers/split-sequence")
1828 (commit (string-append "v" version))))
1829 (sha256
1830 (base32
1831 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
1832 (file-name (git-file-name "split-sequence" version))))
1833 (build-system asdf-build-system/sbcl)
1834 (native-inputs
1835 `(("fiveam" ,sbcl-fiveam)))
1836 (synopsis "Member of the Common Lisp Utilities family of programs")
1837 (description
1838 "Splits sequence into a list of subsequences delimited by objects
1839 satisfying the test.")
1840 (home-page "https://cliki.net/split-sequence")
1841 (license license:expat)))
1842
1843 (define-public cl-split-sequence
1844 (sbcl-package->cl-source-package sbcl-split-sequence))
1845
1846 (define-public ecl-split-sequence
1847 (sbcl-package->ecl-package sbcl-split-sequence))
1848
1849 (define-public sbcl-html-encode
1850 (package
1851 (name "sbcl-html-encode")
1852 (version "1.2")
1853 (source
1854 (origin
1855 (method url-fetch)
1856 (uri (string-append
1857 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1858 version ".tgz"))
1859 (sha256
1860 (base32
1861 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1862 (file-name (string-append "colorize" version "-checkout"))))
1863 (build-system asdf-build-system/sbcl)
1864 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1865 (description
1866 "A library for encoding text in various web-savvy encodings.")
1867 (home-page "http://quickdocs.org/html-encode/")
1868 (license license:expat)))
1869
1870 (define-public cl-html-encode
1871 (sbcl-package->cl-source-package sbcl-html-encode))
1872
1873 (define-public ecl-html-encode
1874 (sbcl-package->ecl-package sbcl-html-encode))
1875
1876 (define-public sbcl-colorize
1877 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1878 (package
1879 (name "sbcl-colorize")
1880 (version (git-version "0.0.0" "1" commit))
1881 (source
1882 (origin
1883 (method git-fetch)
1884 (uri (git-reference
1885 (url "https://github.com/kingcons/colorize")
1886 (commit commit)))
1887 (sha256
1888 (base32
1889 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1890 (file-name (git-file-name "colorize" version))))
1891 (build-system asdf-build-system/sbcl)
1892 (inputs
1893 `(("alexandria" ,sbcl-alexandria)
1894 ("split-sequence" ,sbcl-split-sequence)
1895 ("html-encode" ,sbcl-html-encode)))
1896 (synopsis "Common Lisp for syntax highlighting")
1897 (description
1898 "@command{colorize} is a Lisp library for syntax highlighting
1899 supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1900 C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1901 (home-page "https://github.com/kingcons/colorize")
1902 ;; TODO: Missing license?
1903 (license license:expat))))
1904
1905 (define-public cl-colorize
1906 (sbcl-package->cl-source-package sbcl-colorize))
1907
1908 (define-public ecl-colorize
1909 (sbcl-package->ecl-package sbcl-colorize))
1910
1911 (define-public sbcl-3bmd
1912 (let ((commit "6fc5759448f6f6df6f6df556e020a289a2643288")
1913 (revision "2"))
1914 (package
1915 (name "sbcl-3bmd")
1916 (version (git-version "0.0.0" revision commit))
1917 (source
1918 (origin
1919 (method git-fetch)
1920 (uri (git-reference
1921 (url "https://github.com/3b/3bmd")
1922 (commit commit)))
1923 (sha256
1924 (base32 "1avmbp8xdjlbqpqk7p3vmj7abiw5p3vb5mrxp4wlvgql4sf6z3p4"))
1925 (file-name (git-file-name "3bmd" version))))
1926 (build-system asdf-build-system/sbcl)
1927 (arguments
1928 ;; FIXME: #41437 - Build fails when package name starts from a digit
1929 `(#:asd-systems
1930 '("3bmd"
1931 "3bmd-ext-definition-lists"
1932 "3bmd-ext-math"
1933 "3bmd-ext-tables"
1934 "3bmd-ext-wiki-links"
1935 "3bmd-youtube"
1936 "3bmd-ext-code-blocks")))
1937 (inputs
1938 `(("alexandria" ,sbcl-alexandria)
1939 ("colorize" ,sbcl-colorize)
1940 ("esrap" ,sbcl-esrap)
1941 ("split-sequence" ,sbcl-split-sequence)))
1942 (home-page "https://github.com/3b/3bmd")
1943 (synopsis "Markdown processor in Command Lisp using esrap parser")
1944 (description
1945 "This is a Common Lisp Markdown to HTML converter, using @command{esrap}
1946 for parsing, and grammar based on @command{peg-markdown}.")
1947 (license license:expat))))
1948
1949 (define-public cl-3bmd
1950 (sbcl-package->cl-source-package sbcl-3bmd))
1951
1952 (define-public ecl-3bmd
1953 (sbcl-package->ecl-package sbcl-3bmd))
1954
1955 (define-public sbcl-cl-fad
1956 (package
1957 (name "sbcl-cl-fad")
1958 (version "0.7.6")
1959 (source
1960 (origin
1961 (method git-fetch)
1962 (uri (git-reference
1963 (url "https://github.com/edicl/cl-fad/")
1964 (commit (string-append "v" version))))
1965 (sha256
1966 (base32
1967 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
1968 (file-name (string-append "cl-fad" version "-checkout"))))
1969 (build-system asdf-build-system/sbcl)
1970 (inputs
1971 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
1972 (synopsis "Portable pathname library for Common Lisp")
1973 (description
1974 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
1975 Lisp's standard pathname functions. It is intended to provide some
1976 unification between current CL implementations on Windows, OS X, Linux, and
1977 Unix. Most of the code was written by Peter Seibel for his book Practical
1978 Common Lisp.")
1979 (home-page "https://edicl.github.io/cl-fad/")
1980 (license license:bsd-2)))
1981
1982 (define-public cl-fad
1983 (sbcl-package->cl-source-package sbcl-cl-fad))
1984
1985 (define-public ecl-cl-fad
1986 (sbcl-package->ecl-package sbcl-cl-fad))
1987
1988 (define-public sbcl-fn
1989 (let ((commit "8d8587d03a7b5e26b306fc90018e385d9e5acc2c")
1990 (revision "1"))
1991 (package
1992 (name "sbcl-fn")
1993 (version (git-version "0.0.0" revision commit))
1994 (source
1995 (origin
1996 (method git-fetch)
1997 (uri (git-reference
1998 (url "https://github.com/cbaggers/fn")
1999 (commit commit)))
2000 (file-name (git-file-name "fn" version))
2001 (sha256
2002 (base32 "0yyp9z6iwx476whz0n1rpjznjyqqhlylhzwpgg5xx92lxmskl752"))))
2003 (build-system asdf-build-system/sbcl)
2004 (inputs
2005 `(("named-readtables" ,sbcl-named-readtables)))
2006 (home-page "https://github.com/cbaggers/fn")
2007 (synopsis "Macros for lambda brevity")
2008 (description
2009 "This is a Common Lisp library providing lambda shorthand macros aiming
2010 to be used in cases where the word @emph{lambda} and the arguments are longer
2011 than the body of the lambda.")
2012 (license license:public-domain))))
2013
2014 (define-public ecl-fn
2015 (sbcl-package->ecl-package sbcl-fn))
2016
2017 (define-public cl-fn
2018 (sbcl-package->cl-source-package sbcl-fn))
2019
2020 (define-public sbcl-rt
2021 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
2022 (revision "1"))
2023 (package
2024 (name "sbcl-rt")
2025 (version (git-version "1990.12.19" revision commit))
2026 (source
2027 (origin
2028 (method git-fetch)
2029 (uri (git-reference
2030 (url "http://git.kpe.io/rt.git")
2031 (commit commit)))
2032 (file-name (git-file-name name version))
2033 (sha256
2034 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
2035 (build-system asdf-build-system/sbcl)
2036 (synopsis "MIT Regression Tester")
2037 (description
2038 "RT provides a framework for writing regression test suites.")
2039 (home-page "https://www.cliki.net/rt")
2040 (license license:expat))))
2041
2042 (define-public cl-rt
2043 (sbcl-package->cl-source-package sbcl-rt))
2044
2045 (define-public ecl-rt
2046 (sbcl-package->ecl-package sbcl-rt))
2047
2048 (define-public sbcl-nibbles
2049 ;; No tagged release since 2018.
2050 (let ((commit "8e6b9b42d9f69000f55e5c45ad974d9e376ffdbd")
2051 (revision "1"))
2052 (package
2053 (name "sbcl-nibbles")
2054 (version (git-version "0.14" revision commit))
2055 (source
2056 (origin
2057 (method git-fetch)
2058 (uri (git-reference
2059 (url "https://github.com/sharplispers/nibbles/")
2060 (commit commit)))
2061 (sha256
2062 (base32 "15qlsm82h36pjgvfnbzdg60l21qxbaii4d049jc5y0dn56y93amb"))
2063 (file-name (git-file-name "nibbles" version))))
2064 (build-system asdf-build-system/sbcl)
2065 (native-inputs
2066 ;; Tests only.
2067 `(("rt" ,sbcl-rt)))
2068 (synopsis
2069 "Common Lisp library for accessing octet-addressed blocks of data")
2070 (description
2071 "When dealing with network protocols and file formats, it's common to
2072 have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
2073 flavors. Common Lisp sort of supports this by specifying :element-type for
2074 streams, but that facility is underspecified and there's nothing similar for
2075 read/write from octet vectors. What most people wind up doing is rolling their
2076 own small facility for their particular needs and calling it a day.
2077
2078 This library attempts to be comprehensive and centralize such
2079 facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
2080 vectors in signed or unsigned flavors are provided; these functions are also
2081 SETFable. Since it's sometimes desirable to read/write directly from streams,
2082 functions for doing so are also provided. On some implementations,
2083 reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
2084 also be supported.")
2085 (home-page "https://github.com/sharplispers/nibbles")
2086 (license license:bsd-3))))
2087
2088 (define-public cl-nibbles
2089 (sbcl-package->cl-source-package sbcl-nibbles))
2090
2091 (define-public ecl-nibbles
2092 (sbcl-package->ecl-package sbcl-nibbles))
2093
2094 (define-public sbcl-ironclad
2095 (package
2096 (name "sbcl-ironclad")
2097 (version "0.54")
2098 (source
2099 (origin
2100 (method git-fetch)
2101 (uri (git-reference
2102 (url "https://github.com/sharplispers/ironclad/")
2103 (commit (string-append "v" version))))
2104 (sha256
2105 (base32 "07g0wpvfqq2yk23prs890d4qvbnr3xd6w8ssd88g89xdg483wpvk"))
2106 (file-name (git-file-name name version))))
2107 (build-system asdf-build-system/sbcl)
2108 (native-inputs
2109 ;; Tests only.
2110 `(("rt" ,sbcl-rt)))
2111 (inputs
2112 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2113 ("flexi-streams" ,sbcl-flexi-streams)))
2114 (synopsis "Cryptographic toolkit written in Common Lisp")
2115 (description
2116 "Ironclad is a cryptography library written entirely in Common Lisp.
2117 It includes support for several popular ciphers, digests, MACs and public key
2118 cryptography algorithms. For several implementations that support Gray
2119 streams, support is included for convenient stream wrappers.")
2120 (home-page "https://github.com/sharplispers/ironclad")
2121 (license license:bsd-3)))
2122
2123 (define-public cl-ironclad
2124 (sbcl-package->cl-source-package sbcl-ironclad))
2125
2126 (define-public ecl-ironclad
2127 (sbcl-package->ecl-package sbcl-ironclad))
2128
2129 (define-public sbcl-named-readtables
2130 (let ((commit "585a28eee8b1b1999279b48cb7e9731187e14b66")
2131 (revision "3"))
2132 (package
2133 (name "sbcl-named-readtables")
2134 (version (git-version "0.9" revision commit))
2135 (source
2136 (origin
2137 (method git-fetch)
2138 (uri (git-reference
2139 (url "https://github.com/melisgl/named-readtables")
2140 (commit commit)))
2141 (sha256
2142 (base32 "072p5djqq9pliw9r20rmpz5r5q5yn6rhbp98vkkp7gfcnp5ppj51"))
2143 (file-name (git-file-name "named-readtables" version))))
2144 (build-system asdf-build-system/sbcl)
2145 (home-page "https://github.com/melisgl/named-readtables/")
2146 (synopsis "Library that creates a namespace for named readtables")
2147 (description
2148 "Named readtables is a library that creates a namespace for named
2149 readtables, which is akin to package namespacing in Common Lisp.")
2150 (license license:bsd-3))))
2151
2152 (define-public cl-named-readtables
2153 (sbcl-package->cl-source-package sbcl-named-readtables))
2154
2155 (define-public ecl-named-readtables
2156 (sbcl-package->ecl-package sbcl-named-readtables))
2157
2158 (define-public sbcl-py-configparser
2159 ;; NOTE: (Sharlatan <2021-01-05 Tue> <19:52:19 UTC+0000>) Project updated last
2160 ;; time 8y ago, it looks like abandoned. VCS of the project:
2161 ;; https://svn.common-lisp.net/py-configparser/trunk
2162 (package
2163 (name "sbcl-py-configparser")
2164 (version "1.0.3")
2165 (source
2166 (origin
2167 (method url-fetch)
2168 (uri (string-append
2169 "https://common-lisp.net/project/py-configparser/releases/"
2170 "py-configparser-" version ".tar.gz"))
2171 (sha256
2172 (base32 "0i4rqz5cv7d7c2w81x5lwy05s6fbi3zikf4k5kpi3bkx3cabwdxj"))))
2173 (build-system asdf-build-system/sbcl)
2174 (inputs
2175 `(("parse-number" ,sbcl-parse-number)))
2176 (home-page "http://common-lisp.net/project/py-configparser/")
2177 (synopsis "ConfigParser Python module functionality for Common Lisp")
2178 (description "The py-configparser package implements the ConfigParser
2179 Python module functionality in Common Lisp. In short, it implements reading
2180 and writing of .INI-file style configuration files with sections containing
2181 key/value pairs of configuration options. In line with the functionalities in
2182 the python module, does this package implement basic interpolation of option
2183 values in other options.")
2184 (license license:expat)))
2185
2186 (define-public cl-py-configparser
2187 (sbcl-package->cl-source-package sbcl-py-configparser))
2188
2189 (define-public ecl-py-configparser
2190 (sbcl-package->ecl-package sbcl-py-configparser))
2191
2192 (define-public sbcl-pythonic-string-reader
2193 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
2194 (package
2195 (name "sbcl-pythonic-string-reader")
2196 (version (git-version "0.0.0" "1" commit))
2197 (source
2198 (origin
2199 (method git-fetch)
2200 (uri (git-reference
2201 (url "https://github.com/smithzvk/pythonic-string-reader/")
2202 (commit commit)))
2203 (sha256
2204 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
2205 (file-name (git-file-name "pythonic-string-reader" version))))
2206 (build-system asdf-build-system/sbcl)
2207 (inputs
2208 `(("named-readtables" ,sbcl-named-readtables)))
2209 (home-page "https://github.com/smithzvk/pythonic-string-reader")
2210 (synopsis "Read table modification inspired by Python's three quote strings")
2211 (description "This piece of code sets up some reader macros that make it
2212 simpler to input string literals which contain backslashes and double quotes
2213 This is very useful for writing complicated docstrings and, as it turns out,
2214 writing code that contains string literals that contain code themselves.")
2215 (license license:bsd-3))))
2216
2217 (define-public cl-pythonic-string-reader
2218 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
2219
2220 (define-public ecl-pythonic-string-reader
2221 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
2222
2223 (define-public sbcl-slime-swank
2224 (package
2225 (name "sbcl-slime-swank")
2226 (version "2.26")
2227 (source
2228 (origin
2229 (file-name (git-file-name "slime-swank" version))
2230 (method git-fetch)
2231 (uri (git-reference
2232 (url "https://github.com/slime/slime/")
2233 (commit (string-append "v" version))))
2234 (sha256
2235 (base32
2236 "0mxb1wnw19v0s72w2wkz5afdlzvpy5nn7pr4vav403qybac0sw5c"))))
2237 (build-system asdf-build-system/sbcl)
2238 (arguments
2239 '(#:asd-systems '("swank")))
2240 (home-page "https://github.com/slime/slime")
2241 (synopsis "Common Lisp Swank server")
2242 (description
2243 "This is only useful if you want to start a Swank server in a Lisp
2244 processes that doesn't run under Emacs. Lisp processes created by
2245 @command{M-x slime} automatically start the server.")
2246 (license (list license:gpl2+ license:public-domain))))
2247
2248 (define-public cl-slime-swank
2249 (sbcl-package->cl-source-package sbcl-slime-swank))
2250
2251 (define-public ecl-slime-swank
2252 (sbcl-package->ecl-package sbcl-slime-swank))
2253
2254 (define-public sbcl-mgl-pax
2255 (let ((commit "4ada6eb26364e71addb169ce58e4ba83bc7a8eaa")
2256 (revision "2"))
2257 (package
2258 (name "sbcl-mgl-pax")
2259 (version (git-version "0.0.3" revision commit))
2260 (source
2261 (origin
2262 (method git-fetch)
2263 (uri (git-reference
2264 (url "https://github.com/melisgl/mgl-pax")
2265 (commit commit)))
2266 (sha256
2267 (base32 "1s38crgvmd9hgqwsscqpj6m6c10a074zjgg8k5sl15yih1wkpssm"))
2268 (file-name (git-file-name "mgl-pax" version))))
2269 (build-system asdf-build-system/sbcl)
2270 (inputs
2271 `(("3bmd" ,sbcl-3bmd)
2272 ("babel" ,sbcl-babel)
2273 ("cl-fad" ,sbcl-cl-fad)
2274 ("ironclad" ,sbcl-ironclad)
2275 ("named-readtables" ,sbcl-named-readtables)
2276 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)
2277 ("swank" ,sbcl-slime-swank)))
2278 (synopsis "Exploratory programming environment and documentation generator")
2279 (description
2280 "PAX provides an extremely poor man's Explorable Programming
2281 environment. Narrative primarily lives in so called sections that mix markdown
2282 docstrings with references to functions, variables, etc, all of which should
2283 probably have their own docstrings.
2284
2285 The primary focus is on making code easily explorable by using SLIME's
2286 @command{M-.} (@command{slime-edit-definition}). See how to enable some
2287 fanciness in Emacs Integration. Generating documentation from sections and all
2288 the referenced items in Markdown or HTML format is also implemented.
2289
2290 With the simplistic tools provided, one may accomplish similar effects as with
2291 Literate Programming, but documentation is generated from code, not vice versa
2292 and there is no support for chunking yet. Code is first, code must look
2293 pretty, documentation is code.")
2294 (home-page "http://quotenil.com/")
2295 (license license:expat))))
2296
2297 (define-public cl-mgl-pax
2298 (sbcl-package->cl-source-package sbcl-mgl-pax))
2299
2300 (define-public ecl-mgl-pax
2301 (sbcl-package->ecl-package sbcl-mgl-pax))
2302
2303 (define-public sbcl-mssql
2304 (let ((commit "045602a19a32254108f2b75871049293f49731eb")
2305 (revision "1"))
2306 (package
2307 (name "sbcl-mssql")
2308 (version (git-version "0.0.3" revision commit))
2309 (source
2310 (origin
2311 (method git-fetch)
2312 (uri (git-reference
2313 (url "https://github.com/archimag/cl-mssql")
2314 (commit commit)))
2315 (file-name (git-file-name "cl-mssql" version))
2316 (sha256
2317 (base32 "09i50adppgc1ybm3ka9vbindhwa2x29f9n3n0jkrryymdhb8zknm"))))
2318 (build-system asdf-build-system/sbcl)
2319 (inputs
2320 `(("cffi" ,sbcl-cffi)
2321 ("freetds" ,freetds)
2322 ("garbage-pools" ,sbcl-garbage-pools)
2323 ("iterate" ,sbcl-iterate)
2324 ("parse-number" ,sbcl-parse-number)))
2325 (arguments
2326 `(#:phases
2327 (modify-phases %standard-phases
2328 (add-after 'unpack 'fix-paths
2329 (lambda* (#:key inputs #:allow-other-keys)
2330 (substitute* "src/mssql.lisp"
2331 (("libsybdb" all)
2332 (string-append (assoc-ref inputs "freetds") "/lib/" all)))
2333 #t)))))
2334 (home-page "https://github.com/archimag/cl-mssql")
2335 (synopsis "Common Lisp library to interact with MS SQL Server databases")
2336 (description
2337 "@code{cl-mssql} provides an interface to connect to Microsoft SQL
2338 server. It uses the @code{libsybdb} foreign library provided by the FreeTDS
2339 project.")
2340 (license license:llgpl))))
2341
2342 (define-public ecl-mssql
2343 (sbcl-package->ecl-package sbcl-mssql))
2344
2345 (define-public cl-mssql
2346 (sbcl-package->cl-source-package sbcl-mssql))
2347
2348 (define-public sbcl-lisp-unit
2349 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
2350 (package
2351 (name "sbcl-lisp-unit")
2352 (version (git-version "0.0.0" "1" commit))
2353 (source
2354 (origin
2355 (method git-fetch)
2356 (uri (git-reference
2357 (url "https://github.com/OdonataResearchLLC/lisp-unit")
2358 (commit commit)))
2359 (sha256
2360 (base32
2361 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
2362 (file-name (git-file-name "lisp-unit" version))))
2363 (build-system asdf-build-system/sbcl)
2364 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
2365 (description
2366 "@command{lisp-unit} is a Common Lisp library that supports unit
2367 testing. It is an extension of the library written by Chris Riesbeck.")
2368 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
2369 (license license:expat))))
2370
2371 (define-public cl-lisp-unit
2372 (sbcl-package->cl-source-package sbcl-lisp-unit))
2373
2374 (define-public ecl-lisp-unit
2375 (sbcl-package->ecl-package sbcl-lisp-unit))
2376
2377 (define-public sbcl-anaphora
2378 (package
2379 (name "sbcl-anaphora")
2380 (version "0.9.6")
2381 (source
2382 (origin
2383 (method git-fetch)
2384 (uri (git-reference
2385 (url "https://github.com/tokenrove/anaphora")
2386 (commit version)))
2387 (sha256
2388 (base32
2389 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
2390 (file-name (git-file-name "anaphora" version))))
2391 (build-system asdf-build-system/sbcl)
2392 (native-inputs
2393 `(("rt" ,sbcl-rt)))
2394 (synopsis "The anaphoric macro collection from Hell")
2395 (description
2396 "Anaphora is the anaphoric macro collection from Hell: it includes many
2397 new fiends in addition to old friends like @command{aif} and
2398 @command{awhen}.")
2399 (home-page "https://github.com/tokenrove/anaphora")
2400 (license license:public-domain)))
2401
2402 (define-public cl-anaphora
2403 (sbcl-package->cl-source-package sbcl-anaphora))
2404
2405 (define-public ecl-anaphora
2406 (sbcl-package->ecl-package sbcl-anaphora))
2407
2408 (define-public sbcl-lift
2409 (let ((commit "2594160d6ca3a77d8750110dfa63214256aab852")
2410 (revision "2"))
2411 (package
2412 (name "sbcl-lift")
2413 (version (git-version "1.7.1" revision commit))
2414 (source
2415 (origin
2416 (method git-fetch)
2417 (uri (git-reference
2418 (url "https://github.com/gwkkwg/lift")
2419 (commit commit)))
2420 (sha256
2421 (base32 "01xvz9sl5l5lai4h9dabmcjnm659wf5zllaxqbs55lffskp6jwq3"))
2422 (file-name (git-file-name "lift" version))
2423 (modules '((guix build utils)))
2424 (snippet
2425 ;; Don't keep the bundled website
2426 `(begin
2427 (delete-file-recursively "website")
2428 #t))))
2429 (build-system asdf-build-system/sbcl)
2430 (arguments
2431 ;; The tests require a debugger, but we run with the debugger disabled.
2432 '(#:tests? #f))
2433 (synopsis "LIsp Framework for Testing")
2434 (description
2435 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
2436 Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
2437 testcases are organized into hierarchical testsuites each of which can have
2438 its own fixture. When run, a testcase can succeed, fail, or error. LIFT
2439 supports randomized testing, benchmarking, profiling, and reporting.")
2440 (home-page "https://github.com/gwkkwg/lift")
2441 (license license:expat))))
2442
2443 (define-public cl-lift
2444 (sbcl-package->cl-source-package sbcl-lift))
2445
2446 (define-public ecl-lift
2447 (sbcl-package->ecl-package sbcl-lift))
2448
2449 (define-public sbcl-let-plus
2450 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
2451 (package
2452 (name "sbcl-let-plus")
2453 (version (git-version "0.0.0" "1" commit))
2454 (source
2455 (origin
2456 (method git-fetch)
2457 (uri (git-reference
2458 (url "https://github.com/sharplispers/let-plus")
2459 (commit commit)))
2460 (sha256
2461 (base32
2462 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
2463 (file-name (git-file-name "let-plus" version))))
2464 (build-system asdf-build-system/sbcl)
2465 (inputs
2466 `(("alexandria" ,sbcl-alexandria)
2467 ("anaphora" ,sbcl-anaphora)))
2468 (native-inputs
2469 `(("lift" ,sbcl-lift)))
2470 (synopsis "Destructuring extension of let*")
2471 (description
2472 "This library implements the let+ macro, which is a dectructuring
2473 extension of let*. It features:
2474
2475 @itemize
2476 @item Clean, consistent syntax and small implementation (less than 300 LOC,
2477 not counting tests)
2478 @item Placeholder macros allow editor hints and syntax highlighting
2479 @item @command{&ign} for ignored values (in forms where that makes sense)
2480 @item Very easy to extend
2481 @end itemize\n")
2482 (home-page "https://github.com/sharplispers/let-plus")
2483 (license license:boost1.0))))
2484
2485 (define-public cl-let-plus
2486 (sbcl-package->cl-source-package sbcl-let-plus))
2487
2488 (define-public ecl-let-plus
2489 (sbcl-package->ecl-package sbcl-let-plus))
2490
2491 (define-public sbcl-cl-colors
2492 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
2493 (package
2494 (name "sbcl-cl-colors")
2495 (version (git-version "0.0.0" "1" commit))
2496 (source
2497 (origin
2498 (method git-fetch)
2499 (uri (git-reference
2500 (url "https://github.com/tpapp/cl-colors")
2501 (commit commit)))
2502 (sha256
2503 (base32
2504 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2505 (file-name (git-file-name "cl-colors" version))))
2506 (build-system asdf-build-system/sbcl)
2507 (inputs
2508 `(("alexandria" ,sbcl-alexandria)
2509 ("let-plus" ,sbcl-let-plus)))
2510 (synopsis "Simple color library for Common Lisp")
2511 (description
2512 "This is a very simple color library for Common Lisp, providing
2513
2514 @itemize
2515 @item Types for representing colors in HSV and RGB spaces.
2516 @item Simple conversion functions between the above types (and also
2517 hexadecimal representation for RGB).
2518 @item Some predefined colors (currently X11 color names – of course the
2519 library does not depend on X11).Because color in your terminal is nice.
2520 @end itemize
2521
2522 This library is no longer supported by its author.")
2523 (home-page "https://github.com/tpapp/cl-colors")
2524 (license license:boost1.0))))
2525
2526 (define-public cl-colors
2527 (sbcl-package->cl-source-package sbcl-cl-colors))
2528
2529 (define-public ecl-cl-colors
2530 (sbcl-package->ecl-package sbcl-cl-colors))
2531
2532 (define-public sbcl-cl-ansi-text
2533 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2534 (package
2535 (name "sbcl-cl-ansi-text")
2536 (version (git-version "1.0.0" "1" commit))
2537 (source
2538 (origin
2539 (method git-fetch)
2540 (uri (git-reference
2541 (url "https://github.com/pnathan/cl-ansi-text")
2542 (commit commit)))
2543 (sha256
2544 (base32
2545 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2546 (file-name (git-file-name "cl-ansi-text" version))))
2547 (build-system asdf-build-system/sbcl)
2548 (inputs
2549 `(("alexandria" ,sbcl-alexandria)
2550 ("cl-colors" ,sbcl-cl-colors)))
2551 (native-inputs
2552 `(("fiveam" ,sbcl-fiveam)))
2553 (synopsis "ANSI terminal color implementation for Common Lisp")
2554 (description
2555 "@command{cl-ansi-text} provides utilities which enable printing to an
2556 ANSI terminal with colored text. It provides the macro @command{with-color}
2557 which causes everything printed in the body to be displayed with the provided
2558 color. It further provides functions which will print the argument with the
2559 named color.")
2560 (home-page "https://github.com/pnathan/cl-ansi-text")
2561 (license license:llgpl))))
2562
2563 (define-public cl-ansi-text
2564 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2565
2566 (define-public ecl-cl-ansi-text
2567 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2568
2569 (define-public sbcl-prove
2570 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2571 (package
2572 (name "sbcl-prove")
2573 (version (git-version "1.0.0" "1" commit))
2574 (source
2575 (origin
2576 (method git-fetch)
2577 (uri (git-reference
2578 (url "https://github.com/fukamachi/prove")
2579 (commit commit)))
2580 (sha256
2581 (base32
2582 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2583 (file-name (git-file-name "prove" version))))
2584 (build-system asdf-build-system/sbcl)
2585 (inputs
2586 `(("alexandria" ,sbcl-alexandria)
2587 ("cl-ppcre" ,sbcl-cl-ppcre)
2588 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2589 (synopsis "Yet another unit testing framework for Common Lisp")
2590 (description
2591 "This project was originally called @command{cl-test-more}.
2592 @command{prove} is yet another unit testing framework for Common Lisp. The
2593 advantages of @command{prove} are:
2594
2595 @itemize
2596 @item Various simple functions for testing and informative error messages
2597 @item ASDF integration
2598 @item Extensible test reporters
2599 @item Colorizes the report if it's available (note for SLIME)
2600 @item Reports test durations
2601 @end itemize\n")
2602 (home-page "https://github.com/fukamachi/prove")
2603 (license license:expat))))
2604
2605 (define-public cl-prove
2606 (sbcl-package->cl-source-package sbcl-prove))
2607
2608 (define-public ecl-prove
2609 (sbcl-package->ecl-package sbcl-prove))
2610
2611 (define-public sbcl-proc-parse
2612 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2613 (package
2614 (name "sbcl-proc-parse")
2615 (version (git-version "0.0.0" "1" commit))
2616 (source
2617 (origin
2618 (method git-fetch)
2619 (uri (git-reference
2620 (url "https://github.com/fukamachi/proc-parse")
2621 (commit commit)))
2622 (sha256
2623 (base32
2624 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2625 (file-name (git-file-name "proc-parse" version))))
2626 (build-system asdf-build-system/sbcl)
2627 (inputs
2628 `(("alexandria" ,sbcl-alexandria)
2629 ("babel" ,sbcl-babel)))
2630 (native-inputs
2631 `(("prove" ,sbcl-prove)))
2632 (arguments
2633 ;; TODO: Tests don't find "proc-parse-test", why?
2634 `(#:tests? #f))
2635 (synopsis "Procedural vector parser")
2636 (description
2637 "This is a string/octets parser library for Common Lisp with speed and
2638 readability in mind. Unlike other libraries, the code is not a
2639 pattern-matching-like, but a char-by-char procedural parser.")
2640 (home-page "https://github.com/fukamachi/proc-parse")
2641 (license license:bsd-2))))
2642
2643 (define-public cl-proc-parse
2644 (sbcl-package->cl-source-package sbcl-proc-parse))
2645
2646 (define-public ecl-proc-parse
2647 (sbcl-package->ecl-package sbcl-proc-parse))
2648
2649 (define-public sbcl-parse-float
2650 (let ((commit "3074765101e41222b6b624a66aaf1e6416379f9c")
2651 (revision "2"))
2652 (package
2653 (name "sbcl-parse-float")
2654 (version (git-version "0.0.0" revision commit))
2655 (source
2656 (origin
2657 (method git-fetch)
2658 (uri (git-reference
2659 (url "https://github.com/soemraws/parse-float")
2660 (commit commit)))
2661 (sha256
2662 (base32 "0jd2spawc3v8vzqf8ky4cngl45jm65fhkrdf20mf6dcbn3mzpkmr"))
2663 (file-name (git-file-name "proc-parse" version))))
2664 (build-system asdf-build-system/sbcl)
2665 (arguments
2666 ;; FIXME: https://github.com/soemraws/parse-float/issues/12
2667 `(#:asd-systems '("parse-float" "parse-float-tests")))
2668 (native-inputs
2669 `(("lisp-unit" ,sbcl-lisp-unit)))
2670 (inputs
2671 `(("alexandria" ,sbcl-alexandria)))
2672 (home-page "https://github.com/soemraws/parse-float")
2673 (synopsis "Parse a floating point value from a string in Common Lisp")
2674 (description
2675 "This package exports the following function to parse floating-point
2676 values from a string in Common Lisp.")
2677 (license license:public-domain))))
2678
2679 (define-public cl-parse-float
2680 (sbcl-package->cl-source-package sbcl-parse-float))
2681
2682 (define-public ecl-parse-float
2683 (sbcl-package->ecl-package sbcl-parse-float))
2684
2685 (define-public sbcl-cl-string-match
2686 (let ((revision "1")
2687 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2688 (package
2689 (name "sbcl-cl-string-match")
2690 (version (git-version "0" revision changeset))
2691 (source
2692 (origin
2693 (method hg-fetch)
2694 (uri (hg-reference
2695 (url "https://bitbucket.org/vityok/cl-string-match/")
2696 (changeset changeset)))
2697 (sha256
2698 (base32
2699 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2700 (file-name (git-file-name "cl-string-match" version))))
2701 (build-system asdf-build-system/sbcl)
2702 (inputs
2703 `(("alexandria" ,sbcl-alexandria)
2704 ("babel" ,sbcl-babel)
2705 ("iterate" ,sbcl-iterate)
2706 ("jpl-queues" ,sbcl-jpl-queues)
2707 ("jpl-util" ,sbcl-jpl-util)
2708 ("mgl-pax" ,sbcl-mgl-pax)
2709 ("parse-float" ,sbcl-parse-float)
2710 ("proc-parse" ,sbcl-proc-parse)
2711 ("yacc" ,sbcl-cl-yacc)))
2712 ;; TODO: Tests are not evaluated properly.
2713 (native-inputs
2714 ;; For testing:
2715 `(("lisp-unit" ,sbcl-lisp-unit)))
2716 (arguments
2717 `(#:tests? #f))
2718 (synopsis "Set of utilities to manipulate strings in Common Lisp")
2719 (description
2720 "@command{cl-strings} is a small, portable, dependency-free set of
2721 utilities that make it even easier to manipulate text in Common Lisp. It has
2722 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
2723 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2724 (license license:bsd-3))))
2725
2726 (define-public cl-string-match
2727 (sbcl-package->cl-source-package sbcl-cl-string-match))
2728
2729 (define-public ecl-cl-string-match
2730 (sbcl-package->ecl-package sbcl-cl-string-match))
2731
2732 (define-public sbcl-ptester
2733 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2734 (revision "1"))
2735 (package
2736 (name "sbcl-ptester")
2737 (version (git-version "2.1.3" revision commit))
2738 (source
2739 (origin
2740 (method git-fetch)
2741 (uri (git-reference
2742 (url "http://git.kpe.io/ptester.git")
2743 (commit commit)))
2744 (file-name (git-file-name name version))
2745 (sha256
2746 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2747 (build-system asdf-build-system/sbcl)
2748 (home-page "http://quickdocs.org/ptester/")
2749 (synopsis "Portable test harness package")
2750 (description
2751 "@command{ptester} is a portable testing framework based on Franz's
2752 tester module.")
2753 (license license:llgpl))))
2754
2755 (define-public cl-ptester
2756 (sbcl-package->cl-source-package sbcl-ptester))
2757
2758 (define-public ecl-ptester
2759 (sbcl-package->ecl-package sbcl-ptester))
2760
2761 (define-public sbcl-puri
2762 (let ((commit "4bbab89d9ccbb26346899d1f496c97604fec567b")
2763 (revision "2"))
2764 (package
2765 (name "sbcl-puri")
2766 (version (git-version "1.5.7" revision commit))
2767 (source
2768 (origin
2769 (method git-fetch)
2770 (uri (git-reference
2771 (url "http://git.kpe.io/puri.git")
2772 (commit commit)))
2773 (file-name (git-file-name "puri" version))
2774 (sha256
2775 (base32 "0gq2rsr0aihs0z20v4zqvmdl4szq53b52rh97pvnmwrlbn4mapmd"))))
2776 (build-system asdf-build-system/sbcl)
2777 (native-inputs
2778 `(("ptester" ,sbcl-ptester)))
2779 (home-page "http://puri.kpe.io/")
2780 (synopsis "Portable URI Library")
2781 (description
2782 "This is a portable Universal Resource Identifier library for Common
2783 Lisp programs. It parses URI according to the RFC 2396 specification.")
2784 (license license:llgpl))))
2785
2786 (define-public cl-puri
2787 (sbcl-package->cl-source-package sbcl-puri))
2788
2789 (define-public ecl-puri
2790 (sbcl-package->ecl-package sbcl-puri))
2791
2792 (define-public sbcl-qmynd
2793 (let ((commit "7e56daf73f0ed5f49a931c01af75fb874bcf3445")
2794 (revision "1"))
2795 (package
2796 (name "sbcl-qmynd")
2797 (version (git-version "1.0.0" revision commit))
2798 (source
2799 (origin
2800 (method git-fetch)
2801 (uri (git-reference
2802 (url "https://github.com/qitab/qmynd")
2803 (commit commit)))
2804 (file-name (git-file-name name version))
2805 (sha256
2806 (base32
2807 "06gw5wxcpdclb6a5i5k9lbmdlyqsp182czrm9bm1cpklzbj0ihrl"))))
2808 (build-system asdf-build-system/sbcl)
2809 (inputs
2810 `(("asdf-finalizers" ,sbcl-asdf-finalizers)
2811 ("babel" ,sbcl-babel)
2812 ("chipz" ,sbcl-chipz)
2813 ("cl+ssl" ,sbcl-cl+ssl)
2814 ("flexi-streams" ,sbcl-flexi-streams)
2815 ("ironclad" ,sbcl-ironclad)
2816 ("salza2" ,sbcl-salza2)
2817 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
2818 ("usocket" ,sbcl-usocket)))
2819 (home-page "https://github.com/qitab/qmynd")
2820 (synopsis "QITAB MySQL Native Driver for Common Lisp")
2821 (description "QMyND, the QITAB MySQL Native Driver, is a MySQL client
2822 library that directly talks to a MySQL server in its native network protocol.
2823
2824 It's a part of QITAB umbrella project.")
2825 (license license:expat))))
2826
2827 (define-public ecl-qmynd
2828 (sbcl-package->ecl-package sbcl-qmynd))
2829
2830 (define-public cl-qmynd
2831 (sbcl-package->cl-source-package sbcl-qmynd))
2832
2833 (define-public sbcl-queues
2834 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2835 (package
2836 (name "sbcl-queues")
2837 (version (git-version "0.0.0" "1" commit))
2838 (source
2839 (origin
2840 (method git-fetch)
2841 (uri (git-reference
2842 (url "https://github.com/oconnore/queues")
2843 (commit commit)))
2844 (file-name (git-file-name "queues" version))
2845 (sha256
2846 (base32
2847 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2848 (build-system asdf-build-system/sbcl)
2849 (inputs
2850 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
2851 (arguments
2852 '(#:asd-systems '("queues"
2853 "queues.simple-queue"
2854 "queues.simple-cqueue"
2855 "queues.priority-queue"
2856 "queues.priority-cqueue")))
2857 (home-page "https://github.com/oconnore/queues")
2858 (synopsis "Common Lisp queue library")
2859 (description
2860 "This is a simple queue library for Common Lisp with features such as
2861 non-consing thread safe queues and fibonacci priority queues.")
2862 (license license:expat))))
2863
2864 (define-public cl-queues
2865 (sbcl-package->cl-source-package sbcl-queues))
2866
2867 (define-public ecl-queues
2868 (sbcl-package->ecl-package sbcl-queues))
2869
2870 (define-public sbcl-glsl-packing
2871 (let ((commit "03628159468a8e5b7f2a1d5e78b77053e136794a")
2872 (revision "1"))
2873 (package
2874 (name "sbcl-glsl-packing")
2875 (version (git-version "0.0.0" revision commit))
2876 (source
2877 (origin
2878 (method git-fetch)
2879 (uri (git-reference
2880 (url "https://github.com/3b/glsl-packing/")
2881 (commit commit)))
2882 (file-name (git-file-name "glsl-packing" version))
2883 (sha256
2884 (base32 "0k2f1771wd9kdrcasldy1r00k5bdgi9fd07in52zmjggc0i7dd80"))))
2885 (build-system asdf-build-system/sbcl)
2886 (inputs
2887 `(("alexandria" ,sbcl-alexandria)))
2888 (home-page "https://github.com/3b/glsl-packing/")
2889 (synopsis "Common Lisp utilities to calculate OpenGL layouts")
2890 (description
2891 "This is a Common Lisp library to calculate std140 or std430 layouts for
2892 a glsl UBO/SSBO.")
2893 (license license:expat))))
2894
2895 (define-public ecl-glsl-packing
2896 (sbcl-package->ecl-package sbcl-glsl-packing))
2897
2898 (define-public cl-glsl-packing
2899 (sbcl-package->cl-source-package sbcl-glsl-packing))
2900
2901 (define-public sbcl-glsl-spec
2902 (let ((commit "f04476f7da89355ae6856b33283c60ba95c6555d")
2903 (revision "1"))
2904 (package
2905 (name "sbcl-glsl-spec")
2906 (version (git-version "0.0.0" revision commit))
2907 (source
2908 (origin
2909 (method git-fetch)
2910 (uri (git-reference
2911 (url "https://github.com/cbaggers/glsl-spec")
2912 (commit commit)))
2913 (file-name (git-file-name "glsl-spec" version))
2914 (sha256
2915 (base32 "01ipspr22fgfj3w8wq2y81lzrjc4vpfiwnr3dqhjlpzzra46am8c"))))
2916 (build-system asdf-build-system/sbcl)
2917 (arguments
2918 `(#:asd-systems '("glsl-spec" "glsl-symbols" "glsl-docs")))
2919 (home-page "https://github.com/cbaggers/glsl-spec")
2920 (synopsis "Common Lisp GLSL specification as a datastructure")
2921 (description
2922 "This package contains the specification of all functions and variables
2923 from GLSL as data.")
2924 (license license:unlicense))))
2925
2926 (define-public ecl-glsl-spec
2927 (sbcl-package->ecl-package sbcl-glsl-spec))
2928
2929 (define-public cl-glsl-spec
2930 (sbcl-package->cl-source-package sbcl-glsl-spec))
2931
2932 (define-public sbcl-varjo
2933 (let ((commit "9e77f30220053155d2ef8870ceba157f75e538d4")
2934 (revision "1"))
2935 (package
2936 (name "sbcl-varjo")
2937 (version (git-version "0.0.0" revision commit))
2938 (source
2939 (origin
2940 (method git-fetch)
2941 (uri (git-reference
2942 (url "https://github.com/cbaggers/varjo")
2943 (commit commit)))
2944 (file-name (git-file-name "varjo" version))
2945 (sha256
2946 (base32 "1p9x1wj576x5d31yvls9r1avkjkyhri7kyxbjfkg9z93a1w18j9z"))))
2947 (build-system asdf-build-system/sbcl)
2948 (native-inputs
2949 `(("fiveam" ,sbcl-fiveam)))
2950 (inputs
2951 `(("alexandria" ,sbcl-alexandria)
2952 ("cl-ppcre" ,sbcl-cl-ppcre)
2953 ("documentation-utils" ,sbcl-documentation-utils)
2954 ("fn" ,sbcl-fn)
2955 ("glsl-spec" ,sbcl-glsl-spec)
2956 ("named-readtables" ,sbcl-named-readtables)
2957 ("parse-float" ,sbcl-parse-float)
2958 ("vas-string-metrics" ,sbcl-vas-string-metrics)))
2959 (home-page "https://github.com/cbaggers/varjo")
2960 (synopsis "Lisp to GLSL Language Translator")
2961 (description
2962 "Varjo is a Lisp to GLSL compiler. Vari is the dialect of lisp Varjo
2963 compiles. It aims to be as close to Common Lisp as possible, but naturally it
2964 is statically typed so there are differences.")
2965 (license license:bsd-2))))
2966
2967 (define-public ecl-varjo
2968 (sbcl-package->ecl-package sbcl-varjo))
2969
2970 (define-public cl-varjo
2971 (sbcl-package->cl-source-package sbcl-varjo))
2972
2973 (define-public sbcl-cffi
2974 (package
2975 (name "sbcl-cffi")
2976 (version "0.23.0")
2977 (source
2978 (origin
2979 (method git-fetch)
2980 (uri (git-reference
2981 (url "https://github.com/cffi/cffi")
2982 (commit (string-append "v" version))))
2983 (file-name (git-file-name "cffi-bootstrap" version))
2984 (sha256
2985 (base32 "03s98imc5niwnpj3hhrafl7dmxq45g74h96sm68976k7ahi3vl5b"))))
2986 (build-system asdf-build-system/sbcl)
2987 (inputs
2988 `(("alexandria" ,sbcl-alexandria)
2989 ("babel" ,sbcl-babel)
2990 ("libffi" ,libffi)
2991 ("trivial-features" ,sbcl-trivial-features)))
2992 (native-inputs
2993 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2994 ("pkg-config" ,pkg-config)
2995 ("rt" ,sbcl-rt)))
2996 (arguments
2997 '(#:phases
2998 (modify-phases %standard-phases
2999 (add-after 'unpack 'fix-arm-support
3000 (lambda _
3001 ;; This is apparently deprecated since libffi-3.3.
3002 (substitute* "libffi/libffi-types.lisp"
3003 (("\\\(\\\(:unix64.*") ")\n"))
3004 #t))
3005 (add-after 'unpack 'fix-paths
3006 (lambda* (#:key inputs #:allow-other-keys)
3007 (substitute* "libffi/libffi.lisp"
3008 (("libffi.so.7" all) (string-append
3009 (assoc-ref inputs "libffi")
3010 "/lib/" all)))
3011 (substitute* "toolchain/c-toolchain.lisp"
3012 (("\"cc\"") (format #f "~S" (which "gcc"))))))
3013 (add-after 'build 'install-headers
3014 (lambda* (#:key outputs #:allow-other-keys)
3015 (install-file "grovel/common.h"
3016 (string-append
3017 (assoc-ref outputs "out")
3018 "/include/grovel")))))
3019 #:asd-files '("cffi.asd"
3020 "cffi-toolchain.asd"
3021 "cffi-grovel.asd"
3022 "cffi-libffi.asd"
3023 "cffi-uffi-compat.asd")
3024 #:asd-systems '("cffi"
3025 "cffi-libffi"
3026 "cffi-uffi-compat")))
3027 (home-page "https://common-lisp.net/project/cffi/")
3028 (synopsis "Common Foreign Function Interface for Common Lisp")
3029 (description "The Common Foreign Function Interface (CFFI)
3030 purports to be a portable foreign function interface for Common Lisp.
3031 The CFFI library is composed of a Lisp-implementation-specific backend
3032 in the CFFI-SYS package, and a portable frontend in the CFFI
3033 package.")
3034 (license license:expat)))
3035
3036 (define-public cl-cffi
3037 (sbcl-package->cl-source-package sbcl-cffi))
3038
3039 (define-public ecl-cffi
3040 (sbcl-package->ecl-package sbcl-cffi))
3041
3042 (define-public sbcl-cffi-c-ref
3043 (let ((commit "8123cbb6034c5f7921a0766107cfb8c4e8efd5ce")
3044 (revision "0"))
3045 (package
3046 (name "sbcl-cffi-c-ref")
3047 (version (git-version "1.0" revision commit))
3048 (source
3049 (origin
3050 (method git-fetch)
3051 (uri (git-reference
3052 (url "https://github.com/borodust/cffi-c-ref")
3053 (commit commit)))
3054 (sha256
3055 (base32 "1a3pp6xcisabqir3rp1gvvjfdxcvpm8yr35p38nri9azsinmmc7z"))
3056 (file-name (git-file-name "cffi-c-ref" version))))
3057 (build-system asdf-build-system/sbcl)
3058 (inputs
3059 `(("alexandria" ,sbcl-alexandria)
3060 ("cffi" ,sbcl-cffi)))
3061 (synopsis "Streamlined access to foreign memory")
3062 (description
3063 "This Common Lisp library provides macros to access foreign memory.")
3064 (home-page "https://github.com/borodust/cffi-c-ref")
3065 (license license:expat))))
3066
3067 (define-public cl-cffi-c-ref
3068 (sbcl-package->cl-source-package sbcl-cffi-c-ref))
3069
3070 (define-public ecl-cffi-c-ref
3071 (sbcl-package->ecl-package sbcl-cffi-c-ref))
3072
3073 (define-public sbcl-cl-sqlite
3074 (package
3075 (name "sbcl-cl-sqlite")
3076 (version "0.2.1")
3077 (source
3078 (origin
3079 (method git-fetch)
3080 (uri (git-reference
3081 (url "https://github.com/dmitryvk/cl-sqlite")
3082 (commit version)))
3083 (file-name (git-file-name "cl-sqlite" version))
3084 (sha256
3085 (base32
3086 "08iv7b4m0hh7qx2cvq4f510nrgdld0vicnvmqsh9w0fgrcgmyg4k"))))
3087 (build-system asdf-build-system/sbcl)
3088 (inputs
3089 `(("iterate" ,sbcl-iterate)
3090 ("cffi" ,sbcl-cffi)
3091 ("sqlite" ,sqlite)))
3092 (native-inputs
3093 `(("fiveam" ,sbcl-fiveam)
3094 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
3095 (arguments
3096 `(#:asd-systems '("sqlite")
3097 #:phases
3098 (modify-phases %standard-phases
3099 (add-after 'unpack 'fix-paths
3100 (lambda* (#:key inputs #:allow-other-keys)
3101 (substitute* "sqlite-ffi.lisp"
3102 (("libsqlite3" all) (string-append
3103 (assoc-ref inputs "sqlite")"/lib/" all))))))))
3104 (home-page "https://common-lisp.net/project/cl-sqlite/")
3105 (synopsis "Common Lisp binding for SQLite")
3106 (description
3107 "The @command{cl-sqlite} package is an interface to the SQLite embedded
3108 relational database engine.")
3109 (license license:public-domain)))
3110
3111 (define-public cl-sqlite
3112 (sbcl-package->cl-source-package sbcl-cl-sqlite))
3113
3114 (define-public ecl-cl-sqlite
3115 (sbcl-package->ecl-package sbcl-cl-sqlite))
3116
3117 (define-public sbcl-parenscript
3118 ;; Source archives are overwritten on every release, we use the Git repo instead.
3119 (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766"))
3120 (package
3121 (name "sbcl-parenscript")
3122 (version (git-version "2.7.1" "1" commit))
3123 (source
3124 (origin
3125 (method git-fetch)
3126 (uri (git-reference
3127 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
3128 (commit commit)))
3129 (file-name (git-file-name "parenscript" version))
3130 (sha256
3131 (base32
3132 "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf"))))
3133 (build-system asdf-build-system/sbcl)
3134 (inputs
3135 `(("cl-ppcre" ,sbcl-cl-ppcre)
3136 ("anaphora" ,sbcl-anaphora)
3137 ("named-readtables" ,sbcl-named-readtables)))
3138 (home-page "https://common-lisp.net/project/parenscript/")
3139 (synopsis "Translator from a subset of Common Lisp to JavaScript")
3140 (description
3141 "Parenscript is a translator from an extended subset of Common Lisp to
3142 JavaScript. Parenscript code can run almost identically on both the
3143 browser (as JavaScript) and server (as Common Lisp).
3144
3145 Parenscript code is treated the same way as Common Lisp code, making the full
3146 power of Lisp macros available for JavaScript. This provides a web
3147 development environment that is unmatched in its ability to reduce code
3148 duplication and provide advanced meta-programming facilities to web
3149 developers.
3150
3151 At the same time, Parenscript is different from almost all other \"language
3152 X\" to JavaScript translators in that it imposes almost no overhead:
3153
3154 @itemize
3155 @item No run-time dependencies: Any piece of Parenscript code is runnable
3156 as-is. There are no JavaScript files to include.
3157 @item Native types: Parenscript works entirely with native JavaScript data
3158 types. There are no new types introduced, and object prototypes are not
3159 touched.
3160 @item Native calling convention: Any JavaScript code can be called without the
3161 need for bindings. Likewise, Parenscript can be used to make efficient,
3162 self-contained JavaScript libraries.
3163 @item Readable code: Parenscript generates concise, formatted, idiomatic
3164 JavaScript code. Identifier names are preserved. This enables seamless
3165 debugging in tools like Firebug.
3166 @item Efficiency: Parenscript introduces minimal overhead for advanced Common
3167 Lisp features. The generated code is almost as fast as hand-written
3168 JavaScript.
3169 @end itemize\n")
3170 (license license:bsd-3))))
3171
3172 (define-public cl-parenscript
3173 (sbcl-package->cl-source-package sbcl-parenscript))
3174
3175 (define-public ecl-parenscript
3176 (sbcl-package->ecl-package sbcl-parenscript))
3177
3178 (define-public sbcl-cl-json
3179 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
3180 (package
3181 (name "sbcl-cl-json")
3182 (version (git-version "0.5" "1" commit))
3183 (source
3184 (origin
3185 (method git-fetch)
3186 (uri (git-reference
3187 (url "https://github.com/hankhero/cl-json")
3188 (commit commit)))
3189 (file-name (git-file-name "cl-json" version))
3190 (sha256
3191 (base32
3192 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
3193 (build-system asdf-build-system/sbcl)
3194 (native-inputs
3195 `(("fiveam" ,sbcl-fiveam)))
3196 (home-page "https://github.com/hankhero/cl-json")
3197 (synopsis "JSON encoder and decoder for Common-Lisp")
3198 (description
3199 "@command{cl-json} provides an encoder of Lisp objects to JSON format
3200 and a corresponding decoder of JSON data to Lisp objects. Both the encoder
3201 and the decoder are highly customizable; at the same time, the default
3202 settings ensure a very simple mode of operation, similar to that provided by
3203 @command{yason} or @command{st-json}.")
3204 (license license:expat))))
3205
3206 (define-public cl-json
3207 (sbcl-package->cl-source-package sbcl-cl-json))
3208
3209 (define-public ecl-cl-json
3210 (sbcl-package->ecl-package sbcl-cl-json))
3211
3212 (define-public sbcl-unix-opts
3213 (package
3214 (name "sbcl-unix-opts")
3215 (version "0.1.7")
3216 (source
3217 (origin
3218 (method git-fetch)
3219 (uri (git-reference
3220 (url "https://github.com/libre-man/unix-opts")
3221 (commit version)))
3222 (file-name (git-file-name "unix-opts" version))
3223 (sha256
3224 (base32
3225 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
3226 (build-system asdf-build-system/sbcl)
3227 (home-page "https://github.com/hankhero/cl-json")
3228 (synopsis "Unix-style command line options parser")
3229 (description
3230 "This is a minimalistic parser of command line options. The main
3231 advantage of the library is the ability to concisely define command line
3232 options once and then use this definition for parsing and extraction of
3233 command line arguments, as well as printing description of command line
3234 options (you get --help for free). This way you don't need to repeat
3235 yourself. Also, @command{unix-opts} doesn't depend on anything and
3236 precisely controls the behavior of the parser via Common Lisp restarts.")
3237 (license license:expat)))
3238
3239 (define-public cl-unix-opts
3240 (sbcl-package->cl-source-package sbcl-unix-opts))
3241
3242 (define-public ecl-unix-opts
3243 (sbcl-package->ecl-package sbcl-unix-opts))
3244
3245 (define-public sbcl-trivial-garbage
3246 (package
3247 (name "sbcl-trivial-garbage")
3248 (version "0.21")
3249 (source
3250 (origin
3251 (method git-fetch)
3252 (uri (git-reference
3253 (url "https://github.com/trivial-garbage/trivial-garbage")
3254 (commit (string-append "v" version))))
3255 (file-name (git-file-name "trivial-garbage" version))
3256 (sha256
3257 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
3258 (build-system asdf-build-system/sbcl)
3259 (native-inputs
3260 `(("rt" ,sbcl-rt)))
3261 (home-page "https://common-lisp.net/project/trivial-garbage/")
3262 (synopsis "Portable GC-related APIs for Common Lisp")
3263 (description "@command{trivial-garbage} provides a portable API to
3264 finalizers, weak hash-tables and weak pointers on all major implementations of
3265 the Common Lisp programming language.")
3266 (license license:public-domain)))
3267
3268 (define-public cl-trivial-garbage
3269 (sbcl-package->cl-source-package sbcl-trivial-garbage))
3270
3271 (define-public ecl-trivial-garbage
3272 (sbcl-package->ecl-package sbcl-trivial-garbage))
3273
3274 (define-public sbcl-closer-mop
3275 (let ((commit "19c9d33f576e10715fd79cc1d4f688dab0f241d6"))
3276 (package
3277 (name "sbcl-closer-mop")
3278 (version (git-version "1.0.0" "2" commit))
3279 (source
3280 (origin
3281 (method git-fetch)
3282 (uri (git-reference
3283 (url "https://github.com/pcostanza/closer-mop")
3284 (commit commit)))
3285 (sha256
3286 (base32 "1w3x087wvlwkd6swfdgbvjfs6kazf0la8ax4pjfzikwjch4snn2c"))
3287 (file-name (git-file-name "closer-mop" version ))))
3288 (build-system asdf-build-system/sbcl)
3289 (home-page "https://github.com/pcostanza/closer-mop")
3290 (synopsis "Rectifies absent or incorrect CLOS MOP features")
3291 (description "Closer to MOP is a compatibility layer that rectifies many
3292 of the absent or incorrect CLOS MOP features across a broad range of Common
3293 Lisp implementations.")
3294 (license license:expat))))
3295
3296 (define-public cl-closer-mop
3297 (sbcl-package->cl-source-package sbcl-closer-mop))
3298
3299 (define-public ecl-closer-mop
3300 (sbcl-package->ecl-package sbcl-closer-mop))
3301
3302 (define-public sbcl-cl-cffi-gtk
3303 (let ((commit "e9a46df65995d9a16e6c8dbdc1e09b775eb4a966"))
3304 (package
3305 (name "sbcl-cl-cffi-gtk")
3306 (version (git-version "0.11.2" "2" commit))
3307 (source
3308 (origin
3309 (method git-fetch)
3310 (uri (git-reference
3311 (url "https://github.com/Ferada/cl-cffi-gtk/")
3312 (commit commit)))
3313 (file-name (git-file-name "cl-cffi-gtk" version))
3314 (sha256
3315 (base32
3316 "04vix0gmqsj91lm975sx7jhlnz5gq1xf9jp873mp7c8frc5dk1jj"))))
3317 (build-system asdf-build-system/sbcl)
3318 (native-inputs
3319 `(("fiveam" ,sbcl-fiveam)))
3320 (inputs
3321 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3322 ("cairo" ,cairo)
3323 ("cffi" ,sbcl-cffi)
3324 ("closer-mop" ,sbcl-closer-mop)
3325 ("gdk-pixbuf" ,gdk-pixbuf)
3326 ("glib" ,glib)
3327 ("gtk" ,gtk+)
3328 ("iterate" ,sbcl-iterate)
3329 ("pango" ,pango)
3330 ("trivial-features" ,sbcl-trivial-features)
3331 ("trivial-garbage" ,sbcl-trivial-garbage)))
3332 (arguments
3333 `(#:asd-files '("gtk/cl-cffi-gtk.asd"
3334 "glib/cl-cffi-gtk-glib.asd"
3335 "gobject/cl-cffi-gtk-gobject.asd"
3336 "gio/cl-cffi-gtk-gio.asd"
3337 "cairo/cl-cffi-gtk-cairo.asd"
3338 "pango/cl-cffi-gtk-pango.asd"
3339 "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
3340 "gdk/cl-cffi-gtk-gdk.asd")
3341 #:test-asd-file "test/cl-cffi-gtk-test.asd"
3342 ;; TODO: Tests fail with memory fault.
3343 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
3344 #:tests? #f
3345 #:phases
3346 (modify-phases %standard-phases
3347 (add-after 'unpack 'fix-paths
3348 (lambda* (#:key inputs #:allow-other-keys)
3349 (substitute* "glib/glib.init.lisp"
3350 (("libglib|libgthread" all)
3351 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3352 (substitute* "gobject/gobject.init.lisp"
3353 (("libgobject" all)
3354 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3355 (substitute* "gio/gio.init.lisp"
3356 (("libgio" all)
3357 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3358 (substitute* "cairo/cairo.init.lisp"
3359 (("libcairo" all)
3360 (string-append (assoc-ref inputs "cairo") "/lib/" all)))
3361 (substitute* "pango/pango.init.lisp"
3362 (("libpango" all)
3363 (string-append (assoc-ref inputs "pango") "/lib/" all)))
3364 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
3365 (("libgdk_pixbuf" all)
3366 (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))
3367 (substitute* "gdk/gdk.init.lisp"
3368 (("libgdk" all)
3369 (string-append (assoc-ref inputs "gtk") "/lib/" all)))
3370 (substitute* "gdk/gdk.package.lisp"
3371 (("libgtk" all)
3372 (string-append (assoc-ref inputs "gtk") "/lib/" all))))))))
3373 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
3374 (synopsis "Common Lisp binding for GTK+3")
3375 (description
3376 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
3377 is a library for creating graphical user interfaces.")
3378 (license license:lgpl3))))
3379
3380 (define-public cl-cffi-gtk
3381 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
3382
3383 (define-public ecl-cl-cffi-gtk
3384 (sbcl-package->ecl-package sbcl-cl-cffi-gtk))
3385
3386 (define-public sbcl-cl-webkit
3387 (let ((commit "0bc05cc73257670ab241853b9cc9ccb68940fe44"))
3388 (package
3389 (name "sbcl-cl-webkit")
3390 (version (git-version "2.4" "10" commit))
3391 (source
3392 (origin
3393 (method git-fetch)
3394 (uri (git-reference
3395 (url "https://github.com/joachifm/cl-webkit")
3396 (commit commit)))
3397 (file-name (git-file-name "cl-webkit" version))
3398 (sha256
3399 (base32
3400 "1kg6illspvb5647pm0x819ag2n7njnqvrm18jzgd28vk6nlkrcmq"))))
3401 (build-system asdf-build-system/sbcl)
3402 (inputs
3403 `(("cffi" ,sbcl-cffi)
3404 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3405 ("webkitgtk" ,webkitgtk)))
3406 (arguments
3407 `(#:asd-systems '("cl-webkit2")
3408 #:phases
3409 (modify-phases %standard-phases
3410 (add-after 'unpack 'fix-paths
3411 (lambda* (#:key inputs #:allow-other-keys)
3412 (substitute* "webkit2/webkit2.init.lisp"
3413 (("libwebkit2gtk" all)
3414 (string-append
3415 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
3416 (home-page "https://github.com/joachifm/cl-webkit")
3417 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3418 (description
3419 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3420 currently targeting WebKit version 2. The WebKitGTK+ library adds web
3421 browsing capabilities to an application, leveraging the full power of the
3422 WebKit browsing engine.")
3423 (license license:expat))))
3424
3425 (define-public cl-webkit
3426 (sbcl-package->cl-source-package sbcl-cl-webkit))
3427
3428 (define-public ecl-cl-webkit
3429 (sbcl-package->ecl-package sbcl-cl-webkit))
3430
3431 (define-public sbcl-lparallel
3432 (package
3433 (name "sbcl-lparallel")
3434 (version "2.8.4")
3435 (source
3436 (origin
3437 (method git-fetch)
3438 (uri (git-reference
3439 (url "https://github.com/lmj/lparallel/")
3440 (commit (string-append "lparallel-" version))))
3441 (file-name (git-file-name "lparallel" version))
3442 (sha256
3443 (base32
3444 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3445 (build-system asdf-build-system/sbcl)
3446 (inputs
3447 `(("alexandria" ,sbcl-alexandria)
3448 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3449 ("trivial-garbage" ,sbcl-trivial-garbage)))
3450 (arguments
3451 `(#:phases
3452 (modify-phases %standard-phases
3453 (add-after 'unpack 'fix-dependency
3454 ;; lparallel loads a SBCL specific system in its asd file. This is
3455 ;; not carried over into the fasl which is generated. In order for
3456 ;; it to be carried over, it needs to be listed as a dependency.
3457 (lambda _
3458 (substitute* "lparallel.asd"
3459 ((":depends-on \\(:alexandria" all)
3460 (string-append all " #+sbcl :sb-cltl2"))))))))
3461 (home-page "https://lparallel.org/")
3462 (synopsis "Parallelism for Common Lisp")
3463 (description
3464 "@command{lparallel} is a library for parallel programming in Common
3465 Lisp, featuring:
3466
3467 @itemize
3468 @item a simple model of task submission with receiving queue,
3469 @item constructs for expressing fine-grained parallelism,
3470 @item asynchronous condition handling across thread boundaries,
3471 @item parallel versions of map, reduce, sort, remove, and many others,
3472 @item promises, futures, and delayed evaluation constructs,
3473 @item computation trees for parallelizing interconnected tasks,
3474 @item bounded and unbounded FIFO queues,
3475 @item high and low priority tasks,
3476 @item task killing by category,
3477 @item integrated timeouts.
3478 @end itemize\n")
3479 (license license:expat)))
3480
3481 (define-public cl-lparallel
3482 (sbcl-package->cl-source-package sbcl-lparallel))
3483
3484 (define-public ecl-lparallel
3485 (package
3486 (inherit (sbcl-package->ecl-package sbcl-lparallel))
3487 (arguments
3488 ;; TODO: Find why the tests get stuck forever; disable them for now.
3489 `(#:tests? #f))))
3490
3491 (define-public sbcl-cl-markup
3492 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3493 (package
3494 (name "sbcl-cl-markup")
3495 (version (git-version "0.1" "1" commit))
3496 (source
3497 (origin
3498 (method git-fetch)
3499 (uri (git-reference
3500 (url "https://github.com/arielnetworks/cl-markup/")
3501 (commit commit)))
3502 (file-name (git-file-name "cl-markup" version))
3503 (sha256
3504 (base32
3505 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3506 (build-system asdf-build-system/sbcl)
3507 (home-page "https://github.com/arielnetworks/cl-markup/")
3508 (synopsis "Markup generation library for Common Lisp")
3509 (description
3510 "A modern markup generation library for Common Lisp that features:
3511
3512 @itemize
3513 @item Fast (even faster through compiling the code)
3514 @item Safety
3515 @item Support for multiple document types (markup, xml, html, html5, xhtml)
3516 @item Output with doctype
3517 @item Direct output to stream
3518 @end itemize\n")
3519 (license license:lgpl3+))))
3520
3521 (define-public cl-markup
3522 (sbcl-package->cl-source-package sbcl-cl-markup))
3523
3524 (define-public ecl-cl-markup
3525 (sbcl-package->ecl-package sbcl-cl-markup))
3526
3527 (define-public sbcl-cl-mustache
3528 (package
3529 (name "sbcl-cl-mustache")
3530 (version "0.12.1")
3531 (source
3532 (origin
3533 (method git-fetch)
3534 (uri (git-reference
3535 (url "https://github.com/kanru/cl-mustache")
3536 (commit (string-append "v" version))))
3537 (file-name (git-file-name "cl-mustache" version))
3538 (sha256
3539 (base32 "149xbb6wxq1napliwm9cv729hwcgfnjli6y8hingfixz7f10lhks"))))
3540 (build-system asdf-build-system/sbcl)
3541 (home-page "https://github.com/kanru/cl-mustache")
3542 (synopsis "Common Lisp Mustache template renderer")
3543 (description "This is a Common Lisp implementation for the Mustache
3544 template system. More details on the standard are available at
3545 @url{https://mustache.github.io}.")
3546 (license license:expat)))
3547
3548 (define-public cl-mustache
3549 (sbcl-package->cl-source-package sbcl-cl-mustache))
3550
3551 (define-public ecl-cl-mustache
3552 (sbcl-package->ecl-package sbcl-cl-mustache))
3553
3554 (define-public sbcl-cl-css
3555 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3556 (package
3557 (name "sbcl-cl-css")
3558 (version (git-version "0.1" "1" commit))
3559 (source
3560 (origin
3561 (method git-fetch)
3562 (uri (git-reference
3563 (url "https://github.com/inaimathi/cl-css/")
3564 (commit commit)))
3565 (file-name (git-file-name "cl-css" version))
3566 (sha256
3567 (base32
3568 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3569 (build-system asdf-build-system/sbcl)
3570 (home-page "https://github.com/inaimathi/cl-css/")
3571 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3572 (description
3573 "This is a dead-simple, non validating, inline CSS generator for Common
3574 Lisp. Its goals are axiomatic syntax, simple implementation to support
3575 portability, and boilerplate reduction in CSS.")
3576 (license license:expat))))
3577
3578 (define-public cl-css
3579 (sbcl-package->cl-source-package sbcl-cl-css))
3580
3581 (define-public ecl-cl-css
3582 (sbcl-package->ecl-package sbcl-cl-css))
3583
3584 (define-public sbcl-portable-threads
3585 (let ((commit "aa26bf38338a6b068bf8bfb3375d8d8c3b0a28df"))
3586 (package
3587 (name "sbcl-portable-threads")
3588 (version (git-version "2.3" "2" commit))
3589 (source
3590 (origin
3591 (method git-fetch)
3592 (uri (git-reference
3593 (url "https://github.com/binghe/portable-threads/")
3594 (commit commit)))
3595 (file-name (git-file-name "portable-threads" version))
3596 (sha256
3597 (base32 "058ksi07vfdmhrf5mdlc833s82m1rcqfja2266520m3r8bzs8bvs"))))
3598 (build-system asdf-build-system/sbcl)
3599 (arguments
3600 `(;; Tests seem broken.
3601 #:tests? #f))
3602 (home-page "https://github.com/binghe/portable-threads")
3603 (synopsis "Portable threads API for Common Lisp")
3604 (description
3605 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3606 Lisp (from GBBopen project).")
3607 (license license:asl2.0))))
3608
3609 (define-public cl-portable-threads
3610 (sbcl-package->cl-source-package sbcl-portable-threads))
3611
3612 (define-public ecl-portable-threads
3613 (sbcl-package->ecl-package sbcl-portable-threads))
3614
3615 (define-public sbcl-usocket
3616 (package
3617 (name "sbcl-usocket")
3618 (version "0.8.3")
3619 (source
3620 (origin
3621 (method git-fetch)
3622 (uri (git-reference
3623 (url "https://github.com/usocket/usocket/")
3624 (commit (string-append "v" version))))
3625 (file-name (git-file-name "usocket" version))
3626 (sha256
3627 (base32
3628 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3629 (build-system asdf-build-system/sbcl)
3630 (native-inputs
3631 `(("rt" ,sbcl-rt)))
3632 (inputs
3633 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3634 ("split-sequence" ,sbcl-split-sequence)))
3635 (arguments
3636 `(#:tests? #f ; FIXME: Tests need network access?
3637 #:asd-systems '("usocket"
3638 "usocket-server")))
3639 (home-page "https://common-lisp.net/project/usocket/")
3640 (synopsis "Universal socket library for Common Lisp")
3641 (description
3642 "This library strives to provide a portable TCP/IP and UDP/IP socket
3643 interface for as many Common Lisp implementations as possible, while keeping
3644 the abstraction and portability layer as thin as possible.")
3645 (license license:expat)))
3646
3647 (define-public cl-usocket
3648 (sbcl-package->cl-source-package sbcl-usocket))
3649
3650 (define-public ecl-usocket
3651 (sbcl-package->ecl-package sbcl-usocket))
3652
3653 (define-public sbcl-s-xml
3654 (package
3655 (name "sbcl-s-xml")
3656 (version "3")
3657 (source
3658 (origin
3659 (method url-fetch)
3660 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3661 (sha256
3662 (base32
3663 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3664 (build-system asdf-build-system/sbcl)
3665 (home-page "https://common-lisp.net/project/s-xml/")
3666 (synopsis "Simple XML parser implemented in Common Lisp")
3667 (description
3668 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3669 parser implementation has the following features:
3670
3671 @itemize
3672 @item It works (handling many common XML usages).
3673 @item It is very small (the core is about 700 lines of code, including
3674 comments and whitespace).
3675 @item It has a core API that is simple, efficient and pure functional, much
3676 like that from SSAX (see also http://ssax.sourceforge.net).
3677 @item It supports different DOM models: an XSML-based one, an LXML-based one
3678 and a classic xml-element struct based one.
3679 @item It is reasonably time and space efficient (internally avoiding garbage
3680 generatation as much as possible).
3681 @item It does support CDATA.
3682 @item It should support the same character sets as your Common Lisp
3683 implementation.
3684 @item It does support XML name spaces.
3685 @end itemize
3686
3687 This XML parser implementation has the following limitations:
3688
3689 @itemize
3690 @item It does not support any special tags (like processing instructions).
3691 @item It is not validating, even skips DTD's all together.
3692 @end itemize\n")
3693 (license license:lgpl3+)))
3694
3695 (define-public cl-s-xml
3696 (sbcl-package->cl-source-package sbcl-s-xml))
3697
3698 (define-public ecl-s-xml
3699 (sbcl-package->ecl-package sbcl-s-xml))
3700
3701 (define-public sbcl-s-xml-rpc
3702 (package
3703 (name "sbcl-s-xml-rpc")
3704 (version "7")
3705 (source
3706 (origin
3707 (method url-fetch)
3708 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3709 (sha256
3710 (base32
3711 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3712 (build-system asdf-build-system/sbcl)
3713 (inputs
3714 `(("s-xml" ,sbcl-s-xml)))
3715 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3716 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3717 (description
3718 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3719 client and server.")
3720 (license license:lgpl3+)))
3721
3722 (define-public cl-s-xml-rpc
3723 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3724
3725 (define-public ecl-s-xml-rpc
3726 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3727
3728 (define-public sbcl-trivial-arguments
3729 (let ((commit "ecd84ed9cf9ef8f1e873d7409e6bd04979372aa7")
3730 (revision "1"))
3731 (package
3732 (name "sbcl-trivial-arguments")
3733 (version (git-version "1.1.0" revision commit))
3734 (source
3735 (origin
3736 (method git-fetch)
3737 (uri (git-reference
3738 (url "https://github.com/Shinmera/trivial-arguments")
3739 (commit commit)))
3740 (file-name (git-file-name "trivial-arguments" version))
3741 (sha256
3742 (base32 "02vaqfavhj8jqxnr68nnzvzshm8jbgcy6m9lvyv4daa6f7ihqf88"))))
3743 (build-system asdf-build-system/sbcl)
3744 (home-page "https://github.com/Shinmera/trivial-arguments")
3745 (synopsis "Common Lisp library to retrieve a function's lambda-list")
3746 (description
3747 "This is a simple library to retrieve the argument list of a function.")
3748 (license license:zlib))))
3749
3750 (define-public ecl-trivial-arguments
3751 (sbcl-package->ecl-package sbcl-trivial-arguments))
3752
3753 (define-public cl-trivial-arguments
3754 (sbcl-package->cl-source-package sbcl-trivial-arguments))
3755
3756 (define-public sbcl-trivial-clipboard
3757 (let ((commit "8a580cb97196be7cf096548eb1f46794cd22bb39"))
3758 (package
3759 (name "sbcl-trivial-clipboard")
3760 (version (git-version "0.0.0.0" "4" commit))
3761 (source
3762 (origin
3763 (method git-fetch)
3764 (uri (git-reference
3765 (url "https://github.com/snmsts/trivial-clipboard")
3766 (commit commit)))
3767 (file-name (git-file-name "trivial-clipboard" version))
3768 (sha256
3769 (base32
3770 "0apkgqrscylw3hhm5x2vs0z3hz6h7zd7dl5y3wr2zl8qjpvpc80k"))))
3771 (build-system asdf-build-system/sbcl)
3772 (inputs
3773 `(("xclip" ,xclip)))
3774 (native-inputs
3775 `(("fiveam" ,sbcl-fiveam)))
3776 (arguments
3777 `(#:phases
3778 (modify-phases %standard-phases
3779 (add-after 'unpack 'fix-paths
3780 (lambda* (#:key inputs #:allow-other-keys)
3781 (substitute* "src/text.lisp"
3782 (("\"xclip\"")
3783 (string-append "\"" (assoc-ref inputs "xclip") "/bin/xclip\""))))))))
3784 (home-page "https://github.com/snmsts/trivial-clipboard")
3785 (synopsis "Access system clipboard in Common Lisp")
3786 (description
3787 "@command{trivial-clipboard} gives access to the system clipboard.")
3788 (license license:expat))))
3789
3790 (define-public cl-trivial-clipboard
3791 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3792
3793 (define-public ecl-trivial-clipboard
3794 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3795
3796 (define-public sbcl-trivial-backtrace
3797 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3798 (revision "1"))
3799 (package
3800 (name "sbcl-trivial-backtrace")
3801 (version (git-version "0.0.0" revision commit))
3802 (source
3803 (origin
3804 (method git-fetch)
3805 (uri (git-reference
3806 (url "https://github.com/gwkkwg/trivial-backtrace")
3807 (commit commit)))
3808 (file-name (git-file-name "trivial-backtrace" version))
3809 (sha256
3810 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3811 (build-system asdf-build-system/sbcl)
3812 (inputs
3813 `(("sbcl-lift" ,sbcl-lift)))
3814 (arguments
3815 `(#:phases
3816 (modify-phases %standard-phases
3817 (add-after 'check 'delete-test-results
3818 (lambda* (#:key outputs #:allow-other-keys)
3819 (let ((test-results (string-append (assoc-ref outputs "out")
3820 "/share/common-lisp/"
3821 (%lisp-type)
3822 "/trivial-backtrace"
3823 "/test-results")))
3824 (when (file-exists? test-results)
3825 (delete-file-recursively test-results)))
3826 #t)))))
3827 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3828 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3829 (description
3830 "One of the many things that didn't quite get into the Common Lisp
3831 standard was how to get a Lisp to output its call stack when something has
3832 gone wrong. As such, each Lisp has developed its own notion of what to
3833 display, how to display it, and what sort of arguments can be used to
3834 customize it. @code{trivial-backtrace} is a simple solution to generating a
3835 backtrace portably.")
3836 (license license:expat))))
3837
3838 (define-public cl-trivial-backtrace
3839 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3840
3841 (define-public ecl-trivial-backtrace
3842 (sbcl-package->ecl-package sbcl-trivial-backtrace))
3843
3844 (define-public sbcl-rfc2388
3845 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3846 (revision "1"))
3847 (package
3848 (name "sbcl-rfc2388")
3849 (version (git-version "0.0.0" revision commit))
3850 (source
3851 (origin
3852 (method git-fetch)
3853 (uri (git-reference
3854 (url "https://github.com/jdz/rfc2388")
3855 (commit commit)))
3856 (file-name (git-file-name "rfc2388" version))
3857 (sha256
3858 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3859 (build-system asdf-build-system/sbcl)
3860 (home-page "https://github.com/jdz/rfc2388/")
3861 (synopsis "An implementation of RFC 2388 in Common Lisp")
3862 (description
3863 "This package contains an implementation of RFC 2388, which is used to
3864 process form data posted with HTTP POST method using enctype
3865 \"multipart/form-data\".")
3866 (license license:bsd-2))))
3867
3868 (define-public cl-rfc2388
3869 (sbcl-package->cl-source-package sbcl-rfc2388))
3870
3871 (define-public ecl-rfc2388
3872 (sbcl-package->ecl-package sbcl-rfc2388))
3873
3874 (define-public sbcl-md5
3875 (package
3876 (name "sbcl-md5")
3877 (version "2.0.4")
3878 (source
3879 (origin
3880 (method git-fetch)
3881 (uri (git-reference
3882 (url "https://github.com/pmai/md5")
3883 (commit (string-append "release-" version))))
3884 (file-name (git-file-name "md5" version))
3885 (sha256
3886 (base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
3887 (build-system asdf-build-system/sbcl)
3888 (home-page "https://github.com/pmai/md5")
3889 (synopsis
3890 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3891 (description
3892 "This package implements The MD5 Message-Digest Algorithm, as defined in
3893 RFC 1321 by R. Rivest, published April 1992.")
3894 (license license:public-domain)))
3895
3896 (define-public cl-md5
3897 (sbcl-package->cl-source-package sbcl-md5))
3898
3899 (define-public ecl-md5
3900 (package
3901 (inherit (sbcl-package->ecl-package sbcl-md5))
3902 (inputs
3903 `(("flexi-streams" ,ecl-flexi-streams)))))
3904
3905 (define-public sbcl-cl+ssl
3906 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
3907 (revision "1"))
3908 (package
3909 (name "sbcl-cl+ssl")
3910 (version (git-version "0.0.0" revision commit))
3911 (source
3912 (origin
3913 (method git-fetch)
3914 (uri (git-reference
3915 (url "https://github.com/cl-plus-ssl/cl-plus-ssl")
3916 (commit commit)))
3917 (file-name (git-file-name "cl+ssl" version))
3918 (sha256
3919 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
3920 (build-system asdf-build-system/sbcl)
3921 (arguments
3922 '(#:phases
3923 (modify-phases %standard-phases
3924 (add-after 'unpack 'fix-paths
3925 (lambda* (#:key inputs #:allow-other-keys)
3926 (substitute* "src/reload.lisp"
3927 (("libssl.so" all)
3928 (string-append
3929 (assoc-ref inputs "openssl") "/lib/" all))))))))
3930 (inputs
3931 `(("openssl" ,openssl)
3932 ("sbcl-cffi" ,sbcl-cffi)
3933 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3934 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3935 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3936 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3937 ("sbcl-alexandria" ,sbcl-alexandria)
3938 ("sbcl-trivial-features" ,sbcl-trivial-features)))
3939 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
3940 (synopsis "Common Lisp bindings to OpenSSL")
3941 (description
3942 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3943 code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3944 Development into CL+SSL was done by David Lichteblau.")
3945 (license license:expat))))
3946
3947 (define-public cl-cl+ssl
3948 (sbcl-package->cl-source-package sbcl-cl+ssl))
3949
3950 (define-public ecl-cl+ssl
3951 (sbcl-package->ecl-package sbcl-cl+ssl))
3952
3953 (define-public sbcl-kmrcl
3954 (let ((version "1.111")
3955 (commit "4a27407aad9deb607ffb8847630cde3d041ea25a")
3956 (revision "1"))
3957 (package
3958 (name "sbcl-kmrcl")
3959 (version (git-version version revision commit))
3960 (source
3961 (origin
3962 (method git-fetch)
3963 (uri (git-reference
3964 (url "http://git.kpe.io/kmrcl.git/")
3965 (commit commit)))
3966 (file-name (git-file-name name version))
3967 (sha256
3968 (base32 "06gx04mah5nc8w78s0j8628divbf1s5w7af8w7pvzb2d5mgvrbd2"))))
3969 (build-system asdf-build-system/sbcl)
3970 (inputs
3971 `(("sbcl-rt" ,sbcl-rt)))
3972 (home-page "http://files.kpe.io/kmrcl/")
3973 (synopsis "General utilities for Common Lisp programs")
3974 (description
3975 "KMRCL is a collection of utilities used by a number of Kevin
3976 Rosenberg's Common Lisp packages.")
3977 (license license:llgpl))))
3978
3979 (define-public cl-kmrcl
3980 (sbcl-package->cl-source-package sbcl-kmrcl))
3981
3982 (define-public ecl-kmrcl
3983 (sbcl-package->ecl-package sbcl-kmrcl))
3984
3985 (define-public sbcl-cl-base64
3986 ;; 3.3.4 tests are broken, upstream fixes them.
3987 (let ((commit "577683b18fd880b82274d99fc96a18a710e3987a"))
3988 (package
3989 (name "sbcl-cl-base64")
3990 (version (git-version "3.3.4" "1" commit))
3991 (source
3992 (origin
3993 (method git-fetch)
3994 (uri (git-reference
3995 (url "http://git.kpe.io/cl-base64.git/")
3996 (commit commit)))
3997 (file-name (git-file-name name version))
3998 (sha256
3999 (base32 "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj"))))
4000 (build-system asdf-build-system/sbcl)
4001 (native-inputs ; For tests.
4002 `(("sbcl-ptester" ,sbcl-ptester)
4003 ("sbcl-kmrcl" ,sbcl-kmrcl)))
4004 (home-page "http://files.kpe.io/cl-base64/")
4005 (synopsis
4006 "Common Lisp package to encode and decode base64 with URI support")
4007 (description
4008 "This package provides highly optimized base64 encoding and decoding.
4009 Besides conversion to and from strings, integer conversions are supported.
4010 Encoding with Uniform Resource Identifiers is supported by using a modified
4011 encoding table that uses only URI-compatible characters.")
4012 (license license:bsd-3))))
4013
4014 (define-public cl-base64
4015 (sbcl-package->cl-source-package sbcl-cl-base64))
4016
4017 (define-public ecl-cl-base64
4018 (sbcl-package->ecl-package sbcl-cl-base64))
4019
4020 (define-public sbcl-chunga
4021 (package
4022 (name "sbcl-chunga")
4023 (version "1.1.7")
4024 (source
4025 (origin
4026 (method git-fetch)
4027 (uri (git-reference
4028 (url "https://github.com/edicl/chunga")
4029 (commit (string-append "v" version))))
4030 (file-name (git-file-name name version))
4031 (sha256
4032 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
4033 (build-system asdf-build-system/sbcl)
4034 (inputs
4035 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4036 (home-page "https://edicl.github.io/chunga/")
4037 (synopsis "Portable chunked streams for Common Lisp")
4038 (description
4039 "Chunga implements streams capable of chunked encoding on demand as
4040 defined in RFC 2616.")
4041 (license license:bsd-2)))
4042
4043 (define-public cl-chunga
4044 (sbcl-package->cl-source-package sbcl-chunga))
4045
4046 (define-public ecl-chunga
4047 (sbcl-package->ecl-package sbcl-chunga))
4048
4049 (define-public sbcl-cl-who
4050 (let ((version "1.1.4")
4051 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
4052 (revision "1"))
4053 (package
4054 (name "sbcl-cl-who")
4055 (version (git-version version revision commit))
4056 (source
4057 (origin
4058 (method git-fetch)
4059 (uri (git-reference
4060 (url "https://github.com/edicl/cl-who")
4061 (commit commit)))
4062 (file-name (git-file-name name version))
4063 (sha256
4064 (base32
4065 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
4066 (build-system asdf-build-system/sbcl)
4067 (native-inputs
4068 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4069 (home-page "https://edicl.github.io/cl-who/")
4070 (synopsis "Yet another Lisp markup language")
4071 (description
4072 "There are plenty of Lisp Markup Languages out there - every Lisp
4073 programmer seems to write at least one during his career - and CL-WHO (where
4074 WHO means \"with-html-output\" for want of a better acronym) is probably just
4075 as good or bad as the next one.")
4076 (license license:bsd-2))))
4077
4078 (define-public cl-who
4079 (sbcl-package->cl-source-package sbcl-cl-who))
4080
4081 (define-public ecl-cl-who
4082 (sbcl-package->ecl-package sbcl-cl-who))
4083
4084 (define-public sbcl-chipz
4085 (let ((version "0.8")
4086 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
4087 (revision "1"))
4088 (package
4089 (name "sbcl-chipz")
4090 (version (git-version version revision commit))
4091 (source
4092 (origin
4093 (method git-fetch)
4094 (uri (git-reference
4095 (url "https://github.com/froydnj/chipz")
4096 (commit commit)))
4097 (file-name (git-file-name name version))
4098 (sha256
4099 (base32
4100 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
4101 (build-system asdf-build-system/sbcl)
4102 (native-inputs
4103 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4104 (home-page "http://method-combination.net/lisp/chipz/")
4105 (synopsis
4106 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
4107 data")
4108 (description
4109 "DEFLATE data, defined in RFC1951, forms the core of popular
4110 compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
4111 Chipz also provides for decompressing data in those formats as well. BZIP2 is
4112 the format used by the popular compression tool bzip2.")
4113 ;; The author describes it as "MIT-like"
4114 (license license:expat))))
4115
4116 (define-public cl-chipz
4117 (sbcl-package->cl-source-package sbcl-chipz))
4118
4119 (define-public ecl-chipz
4120 (sbcl-package->ecl-package sbcl-chipz))
4121
4122 (define-public sbcl-drakma
4123 (package
4124 (name "sbcl-drakma")
4125 (version "2.0.7")
4126 (source
4127 (origin
4128 (method git-fetch)
4129 (uri (git-reference
4130 (url "https://github.com/edicl/drakma")
4131 (commit (string-append "v" version))))
4132 (file-name (git-file-name name version))
4133 (sha256
4134 (base32
4135 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
4136 (build-system asdf-build-system/sbcl)
4137 (inputs
4138 `(("sbcl-puri" ,sbcl-puri)
4139 ("sbcl-cl-base64" ,sbcl-cl-base64)
4140 ("sbcl-chunga" ,sbcl-chunga)
4141 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4142 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4143 ("sbcl-chipz" ,sbcl-chipz)
4144 ("sbcl-usocket" ,sbcl-usocket)
4145 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
4146 (native-inputs
4147 `(("sbcl-fiveam" ,sbcl-fiveam)))
4148 (home-page "https://edicl.github.io/drakma/")
4149 (synopsis "HTTP client written in Common Lisp")
4150 (description
4151 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
4152 knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
4153 sockets, SSL, continuable uploads, file uploads, cookies, and more.")
4154 (license license:bsd-2)))
4155
4156 (define-public cl-drakma
4157 (sbcl-package->cl-source-package sbcl-drakma))
4158
4159 (define-public ecl-drakma
4160 (sbcl-package->ecl-package sbcl-drakma))
4161
4162 (define-public sbcl-hunchentoot
4163 (package
4164 (name "sbcl-hunchentoot")
4165 (version "1.2.38")
4166 (source
4167 (origin
4168 (method git-fetch)
4169 (uri (git-reference
4170 (url "https://github.com/edicl/hunchentoot")
4171 (commit (string-append "v" version))))
4172 (file-name (git-file-name "hunchentoot" version))
4173 (sha256
4174 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
4175 (build-system asdf-build-system/sbcl)
4176 (native-inputs
4177 `(("sbcl-cl-who" ,sbcl-cl-who)
4178 ("sbcl-drakma" ,sbcl-drakma)))
4179 (inputs
4180 `(("sbcl-chunga" ,sbcl-chunga)
4181 ("sbcl-cl-base64" ,sbcl-cl-base64)
4182 ("sbcl-cl-fad" ,sbcl-cl-fad)
4183 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4184 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4185 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
4186 ("sbcl-md5" ,sbcl-md5)
4187 ("sbcl-rfc2388" ,sbcl-rfc2388)
4188 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
4189 ("sbcl-usocket" ,sbcl-usocket)))
4190 (home-page "https://edicl.github.io/hunchentoot/")
4191 (synopsis "Web server written in Common Lisp")
4192 (description
4193 "Hunchentoot is a web server written in Common Lisp and at the same
4194 time a toolkit for building dynamic websites. As a stand-alone web server,
4195 Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
4196 connections (keep-alive), and SSL.")
4197 (license license:bsd-2)))
4198
4199 (define-public cl-hunchentoot
4200 (sbcl-package->cl-source-package sbcl-hunchentoot))
4201
4202 (define-public ecl-hunchentoot
4203 (package
4204 (inherit (sbcl-package->ecl-package sbcl-hunchentoot))
4205 (arguments
4206 ;; Tests fail on ECL with 'Socket error in "socket": EINVAL'.
4207 '(#:tests? #f))))
4208
4209 (define-public sbcl-trivial-types
4210 (package
4211 (name "sbcl-trivial-types")
4212 (version "0.0.1")
4213 (source
4214 (origin
4215 (method git-fetch)
4216 (uri (git-reference
4217 (url "https://github.com/m2ym/trivial-types")
4218 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
4219 (file-name (git-file-name name version))
4220 (sha256
4221 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
4222 (build-system asdf-build-system/sbcl)
4223 (home-page "https://github.com/m2ym/trivial-types")
4224 (synopsis "Trivial type definitions for Common Lisp")
4225 (description
4226 "TRIVIAL-TYPES provides missing but important type definitions such as
4227 PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
4228 (license license:llgpl)))
4229
4230 (define-public cl-trivial-types
4231 (sbcl-package->cl-source-package sbcl-trivial-types))
4232
4233 (define-public ecl-trivial-types
4234 (sbcl-package->ecl-package sbcl-trivial-types))
4235
4236 (define-public sbcl-cl-annot
4237 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
4238 (revision "1"))
4239 (package
4240 (name "sbcl-cl-annot")
4241 (version (git-version "0.0.0" revision commit))
4242 (source
4243 (origin
4244 (method git-fetch)
4245 (uri (git-reference
4246 (url "https://github.com/m2ym/cl-annot")
4247 (commit commit)))
4248 (file-name (git-file-name name version))
4249 (sha256
4250 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
4251 (build-system asdf-build-system/sbcl)
4252 (inputs
4253 `(("sbcl-alexandria" ,sbcl-alexandria)))
4254 (home-page "https://github.com/m2ym/cl-annot")
4255 (synopsis "Python-like Annotation Syntax for Common Lisp.")
4256 (description
4257 "@code{cl-annot} is an general annotation library for Common Lisp.")
4258 (license license:llgpl))))
4259
4260 (define-public cl-annot
4261 (sbcl-package->cl-source-package sbcl-cl-annot))
4262
4263 (define-public ecl-cl-annot
4264 (sbcl-package->ecl-package sbcl-cl-annot))
4265
4266 (define-public sbcl-cl-syntax
4267 (package
4268 (name "sbcl-cl-syntax")
4269 (version "0.0.3")
4270 (source
4271 (origin
4272 (method git-fetch)
4273 (uri (git-reference
4274 (url "https://github.com/m2ym/cl-syntax")
4275 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
4276 (file-name (git-file-name "cl-syntax" version))
4277 (sha256
4278 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
4279 (build-system asdf-build-system/sbcl)
4280 (inputs
4281 `(("cl-annot" ,sbcl-cl-annot)
4282 ("cl-interpol" ,sbcl-cl-interpol)
4283 ("named-readtables" ,sbcl-named-readtables)
4284 ("trivial-types" ,sbcl-trivial-types)))
4285 (arguments
4286 '(#:asd-systems '("cl-syntax"
4287 "cl-syntax-annot"
4288 "cl-syntax-interpol")))
4289 (home-page "https://github.com/m2ym/cl-syntax")
4290 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
4291 (description
4292 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
4293 (license license:llgpl)))
4294
4295 (define-public cl-syntax
4296 (sbcl-package->cl-source-package sbcl-cl-syntax))
4297
4298 (define-public ecl-cl-syntax
4299 (sbcl-package->ecl-package sbcl-cl-syntax))
4300
4301 (define-public sbcl-cl-utilities
4302 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
4303 (revision "1"))
4304 (package
4305 (name "sbcl-cl-utilities")
4306 (version (git-version "0.0.0" revision commit))
4307 (source
4308 (origin
4309 (method url-fetch)
4310 (uri
4311 (string-append
4312 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
4313 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
4314 (sha256
4315 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
4316 (build-system asdf-build-system/sbcl)
4317 (arguments
4318 '(#:phases
4319 (modify-phases %standard-phases
4320 (add-after 'unpack 'fix-paths
4321 (lambda* (#:key inputs #:allow-other-keys)
4322 (substitute* "rotate-byte.lisp"
4323 (("in-package :cl-utilities)" all)
4324 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
4325 (home-page "http://common-lisp.net/project/cl-utilities")
4326 (synopsis "A collection of semi-standard utilities")
4327 (description
4328 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
4329 is a collection of Common Lisp Utilities, things that everybody writes since
4330 they're not part of the official standard. There are some very useful things
4331 there; the only problems are that they aren't implemented as well as you'd
4332 like (some aren't implemented at all) and they aren't conveniently packaged
4333 and maintained. It takes quite a bit of work to carefully implement utilities
4334 for common use, commented and documented, with error checking placed
4335 everywhere some dumb user might make a mistake.")
4336 (license license:public-domain))))
4337
4338 (define-public cl-utilities
4339 (sbcl-package->cl-source-package sbcl-cl-utilities))
4340
4341 (define-public ecl-cl-utilities
4342 (sbcl-package->ecl-package sbcl-cl-utilities))
4343
4344 (define-public sbcl-map-set
4345 (let ((commit "7b4b545b68b8")
4346 (revision "1"))
4347 (package
4348 (name "sbcl-map-set")
4349 (version (git-version "0.0.0" revision commit))
4350 (source
4351 (origin
4352 (method url-fetch)
4353 (uri (string-append
4354 "https://bitbucket.org/tarballs_are_good/map-set/get/"
4355 commit ".tar.gz"))
4356 (sha256
4357 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
4358 (build-system asdf-build-system/sbcl)
4359 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
4360 (synopsis "Set-like data structure")
4361 (description
4362 "Implementation of a set-like data structure with constant time
4363 addition, removal, and random selection.")
4364 (license license:bsd-3))))
4365
4366 (define-public cl-map-set
4367 (sbcl-package->cl-source-package sbcl-map-set))
4368
4369 (define-public ecl-map-set
4370 (sbcl-package->ecl-package sbcl-map-set))
4371
4372 (define-public sbcl-quri
4373 (package
4374 (name "sbcl-quri")
4375 (version "0.3.0")
4376 (source
4377 (origin
4378 (method git-fetch)
4379 (uri (git-reference
4380 (url "https://github.com/fukamachi/quri")
4381 (commit version)))
4382 (file-name (git-file-name name version))
4383 (sha256
4384 (base32 "1pkvpiwwhx2fcknr7x47h7036ypkg8xzsskqbl5z315ipfmi8s2m"))))
4385 (build-system asdf-build-system/sbcl)
4386 (arguments
4387 ;; Test system must be loaded before, otherwise tests fail with:
4388 ;; Component QURI-ASD::QURI-TEST not found, required by #<SYSTEM
4389 ;; "quri">.
4390 '(#:asd-systems '("quri-test"
4391 "quri")))
4392 (native-inputs `(("sbcl-prove" ,sbcl-prove)))
4393 (inputs `(("sbcl-babel" ,sbcl-babel)
4394 ("sbcl-split-sequence" ,sbcl-split-sequence)
4395 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
4396 ("sbcl-alexandria" ,sbcl-alexandria)))
4397 (home-page "https://github.com/fukamachi/quri")
4398 (synopsis "Yet another URI library for Common Lisp")
4399 (description
4400 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
4401 Lisp. It is intended to be a replacement of PURI.")
4402 (license license:bsd-3)))
4403
4404 (define-public cl-quri
4405 (sbcl-package->cl-source-package sbcl-quri))
4406
4407 (define-public ecl-quri
4408 (sbcl-package->ecl-package sbcl-quri))
4409
4410 (define-public sbcl-myway
4411 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
4412 (revision "1"))
4413 (package
4414 (name "sbcl-myway")
4415 (version (git-version "0.1.0" revision commit))
4416 (source
4417 (origin
4418 (method git-fetch)
4419 (uri (git-reference
4420 (url "https://github.com/fukamachi/myway")
4421 (commit commit)))
4422 (file-name (git-file-name "myway" version))
4423 (sha256
4424 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
4425 (build-system asdf-build-system/sbcl)
4426 (arguments
4427 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
4428 ;; by #<SYSTEM "myway">. Why?
4429 '(#:tests? #f))
4430 (native-inputs
4431 `(("sbcl-prove" ,sbcl-prove)))
4432 (inputs
4433 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4434 ("sbcl-quri" ,sbcl-quri)
4435 ("sbcl-map-set" ,sbcl-map-set)))
4436 (home-page "https://github.com/fukamachi/myway")
4437 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
4438 (description "My Way is a Sinatra-compatible URL routing library.")
4439 (license license:llgpl))))
4440
4441 (define-public cl-myway
4442 (sbcl-package->cl-source-package sbcl-myway))
4443
4444 (define-public ecl-myway
4445 (sbcl-package->ecl-package sbcl-myway))
4446
4447 (define-public sbcl-xsubseq
4448 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
4449 (revision "1"))
4450 (package
4451 (name "sbcl-xsubseq")
4452 (version (git-version "0.0.1" revision commit))
4453 (source
4454 (origin
4455 (method git-fetch)
4456 (uri (git-reference
4457 (url "https://github.com/fukamachi/xsubseq")
4458 (commit commit)))
4459 (file-name (git-file-name name version))
4460 (sha256
4461 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4462 (build-system asdf-build-system/sbcl)
4463 (arguments
4464 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4465 ;; required by #<SYSTEM "xsubseq">. Why?
4466 '(#:tests? #f))
4467 (native-inputs
4468 `(("sbcl-prove" ,sbcl-prove)))
4469 (home-page "https://github.com/fukamachi/xsubseq")
4470 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4471 (description
4472 "XSubseq provides functions to be able to handle \"subseq\"s more
4473 effieiently.")
4474 (license license:bsd-2))))
4475
4476 (define-public cl-xsubseq
4477 (sbcl-package->cl-source-package sbcl-xsubseq))
4478
4479 (define-public ecl-xsubseq
4480 (sbcl-package->ecl-package sbcl-xsubseq))
4481
4482 (define-public sbcl-smart-buffer
4483 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4484 (revision "1"))
4485 (package
4486 (name "sbcl-smart-buffer")
4487 (version (git-version "0.0.1" revision commit))
4488 (source
4489 (origin
4490 (method git-fetch)
4491 (uri (git-reference
4492 (url "https://github.com/fukamachi/smart-buffer")
4493 (commit commit)))
4494 (file-name (git-file-name name version))
4495 (sha256
4496 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4497 (build-system asdf-build-system/sbcl)
4498 (arguments
4499 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4500 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4501 `(#:tests? #f))
4502 (native-inputs
4503 `(("sbcl-prove" ,sbcl-prove)))
4504 (inputs
4505 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4506 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4507 (home-page "https://github.com/fukamachi/smart-buffer")
4508 (synopsis "Smart octets buffer")
4509 (description
4510 "Smart-buffer provides an output buffer which changes the destination
4511 depending on content size.")
4512 (license license:bsd-3))))
4513
4514 (define-public cl-smart-buffer
4515 (sbcl-package->cl-source-package sbcl-smart-buffer))
4516
4517 (define-public ecl-smart-buffer
4518 (sbcl-package->ecl-package sbcl-smart-buffer))
4519
4520 (define-public sbcl-fast-http
4521 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
4522 (revision "2"))
4523 (package
4524 (name "sbcl-fast-http")
4525 (version (git-version "0.2.0" revision commit))
4526 (source
4527 (origin
4528 (method git-fetch)
4529 (uri (git-reference
4530 (url "https://github.com/fukamachi/fast-http")
4531 (commit commit)))
4532 (file-name (git-file-name name version))
4533 (sha256
4534 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
4535 (build-system asdf-build-system/sbcl)
4536 (arguments
4537 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4538 ;; required by #<SYSTEM "fast-http">. Why?
4539 `(#:tests? #f))
4540 (native-inputs
4541 `(("sbcl-prove" ,sbcl-prove)
4542 ("cl-syntax" ,sbcl-cl-syntax)))
4543 (inputs
4544 `(("sbcl-alexandria" ,sbcl-alexandria)
4545 ("sbcl-proc-parse" ,sbcl-proc-parse)
4546 ("sbcl-xsubseq" ,sbcl-xsubseq)
4547 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4548 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4549 (home-page "https://github.com/fukamachi/fast-http")
4550 (synopsis "HTTP request/response parser for Common Lisp")
4551 (description
4552 "@code{fast-http} is a HTTP request/response protocol parser for Common
4553 Lisp.")
4554 ;; Author specified the MIT license
4555 (license license:expat))))
4556
4557 (define-public cl-fast-http
4558 (sbcl-package->cl-source-package sbcl-fast-http))
4559
4560 (define-public ecl-fast-http
4561 (sbcl-package->ecl-package sbcl-fast-http))
4562
4563 (define-public sbcl-static-vectors
4564 (package
4565 (name "sbcl-static-vectors")
4566 (version "1.8.6")
4567 (source
4568 (origin
4569 (method git-fetch)
4570 (uri (git-reference
4571 (url "https://github.com/sionescu/static-vectors")
4572 (commit (string-append "v" version))))
4573 (file-name (git-file-name name version))
4574 (sha256
4575 (base32 "01hwxzhyjkhsd3949g70120g7msw01byf0ia0pbj319q1a3cq7j9"))))
4576 (native-inputs
4577 `(("sbcl-fiveam" ,sbcl-fiveam)))
4578 (inputs
4579 `(("sbcl-alexandria" ,sbcl-alexandria)
4580 ("sbcl-cffi" ,sbcl-cffi)))
4581 (build-system asdf-build-system/sbcl)
4582 (home-page "https://github.com/sionescu/static-vectors")
4583 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4584 (description
4585 "With @code{static-vectors}, you can create vectors allocated in static
4586 memory.")
4587 (license license:expat)))
4588
4589 (define-public cl-static-vectors
4590 (sbcl-package->cl-source-package sbcl-static-vectors))
4591
4592 (define-public ecl-static-vectors
4593 (sbcl-package->ecl-package sbcl-static-vectors))
4594
4595 (define-public sbcl-marshal
4596 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4597 (revision "1"))
4598 (package
4599 (name "sbcl-marshal")
4600 (version (git-version "1.3.0" revision commit))
4601 (source
4602 (origin
4603 (method git-fetch)
4604 (uri (git-reference
4605 (url "https://github.com/wlbr/cl-marshal")
4606 (commit commit)))
4607 (file-name (git-file-name name version))
4608 (sha256
4609 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4610 (build-system asdf-build-system/sbcl)
4611 (home-page "https://github.com/wlbr/cl-marshal")
4612 (synopsis "Simple (de)serialization of Lisp datastructures")
4613 (description
4614 "Simple and fast marshalling of Lisp datastructures. Convert any object
4615 into a string representation, put it on a stream an revive it from there.
4616 Only minimal changes required to make your CLOS objects serializable.")
4617 (license license:expat))))
4618
4619 (define-public cl-marshal
4620 (sbcl-package->cl-source-package sbcl-marshal))
4621
4622 (define-public ecl-marshal
4623 (sbcl-package->ecl-package sbcl-marshal))
4624
4625 (define-public sbcl-checkl
4626 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4627 (revision "1"))
4628 (package
4629 (name "sbcl-checkl")
4630 (version (git-version "0.0.0" revision commit))
4631 (source
4632 (origin
4633 (method git-fetch)
4634 (uri (git-reference
4635 (url "https://github.com/rpav/CheckL")
4636 (commit commit)))
4637 (file-name (git-file-name name version))
4638 (sha256
4639 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4640 (build-system asdf-build-system/sbcl)
4641 (arguments
4642 ;; Error while trying to load definition for system checkl-test from
4643 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4644 ;; is undefined.
4645 '(#:asd-files '("checkl.asd")
4646 #:tests? #f))
4647 (native-inputs
4648 `(("sbcl-fiveam" ,sbcl-fiveam)))
4649 (inputs
4650 `(("sbcl-marshal" ,sbcl-marshal)))
4651 (home-page "https://github.com/rpav/CheckL/")
4652 (synopsis "Dynamic testing for Common Lisp")
4653 (description
4654 "CheckL lets you write tests dynamically, it checks resulting values
4655 against the last run.")
4656 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4657 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4658 ;; stronger of the two and so I think only listing this should suffice.
4659 (license license:llgpl))))
4660
4661 (define-public cl-checkl
4662 (sbcl-package->cl-source-package sbcl-checkl))
4663
4664 (define-public ecl-checkl
4665 (sbcl-package->ecl-package sbcl-checkl))
4666
4667 (define-public sbcl-fast-io
4668 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
4669 (revision "2"))
4670 (package
4671 (name "sbcl-fast-io")
4672 (version (git-version "1.0.0" revision commit))
4673 (source
4674 (origin
4675 (method git-fetch)
4676 (uri (git-reference
4677 (url "https://github.com/rpav/fast-io")
4678 (commit commit)))
4679 (file-name (git-file-name name version))
4680 (sha256
4681 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
4682 (build-system asdf-build-system/sbcl)
4683 (arguments
4684 ;; Error while trying to load definition for system fast-io-test from
4685 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4686 ;; is undefined.
4687 '(#:tests? #f
4688 #:asd-files '("fast-io.asd")))
4689 (native-inputs
4690 `(("sbcl-fiveam" ,sbcl-fiveam)
4691 ("sbcl-checkl" ,sbcl-checkl)))
4692 (inputs
4693 `(("sbcl-alexandria" ,sbcl-alexandria)
4694 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4695 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4696 (home-page "https://github.com/rpav/fast-io")
4697 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4698 (description
4699 "Fast-io is about improving performance to octet-vectors and octet
4700 streams (though primarily the former, while wrapping the latter).")
4701 ;; Author specifies this as NewBSD which is an alias
4702 (license license:bsd-3))))
4703
4704 (define-public cl-fast-io
4705 (sbcl-package->cl-source-package sbcl-fast-io))
4706
4707 (define-public ecl-fast-io
4708 (sbcl-package->ecl-package sbcl-fast-io))
4709
4710 (define-public sbcl-jonathan
4711 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4712 (revision "1"))
4713 (package
4714 (name "sbcl-jonathan")
4715 (version (git-version "0.1.0" revision commit))
4716 (source
4717 (origin
4718 (method git-fetch)
4719 (uri (git-reference
4720 (url "https://github.com/Rudolph-Miller/jonathan")
4721 (commit commit)))
4722 (file-name (git-file-name name version))
4723 (sha256
4724 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4725 (build-system asdf-build-system/sbcl)
4726 (arguments
4727 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4728 ;; required by #<SYSTEM "jonathan">. Why?
4729 `(#:tests? #f))
4730 (native-inputs
4731 `(("sbcl-prove" ,sbcl-prove)))
4732 (inputs
4733 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4734 ("sbcl-fast-io" ,sbcl-fast-io)
4735 ("sbcl-proc-parse" ,sbcl-proc-parse)
4736 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
4737 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
4738 (synopsis "JSON encoder and decoder")
4739 (description
4740 "High performance JSON encoder and decoder. Currently support: SBCL,
4741 CCL.")
4742 ;; Author specifies the MIT license
4743 (license license:expat))))
4744
4745 (define-public cl-jonathan
4746 (sbcl-package->cl-source-package sbcl-jonathan))
4747
4748 (define-public ecl-jonathan
4749 (sbcl-package->ecl-package sbcl-jonathan))
4750
4751 (define-public sbcl-http-body
4752 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4753 (revision "1"))
4754 (package
4755 (name "sbcl-http-body")
4756 (version (git-version "0.1.0" revision commit))
4757 (source
4758 (origin
4759 (method git-fetch)
4760 (uri (git-reference
4761 (url "https://github.com/fukamachi/http-body")
4762 (commit commit)))
4763 (file-name (git-file-name name version))
4764 (sha256
4765 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4766 (build-system asdf-build-system/sbcl)
4767 (arguments
4768 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4769 ;; found, required by #<SYSTEM "http-body">. Why?
4770 `(#:tests? #f))
4771 (native-inputs
4772 `(("sbcl-prove" ,sbcl-prove)))
4773 (inputs
4774 `(("sbcl-fast-http" ,sbcl-fast-http)
4775 ("sbcl-jonathan" ,sbcl-jonathan)
4776 ("sbcl-quri" ,sbcl-quri)))
4777 (home-page "https://github.com/fukamachi/http-body")
4778 (synopsis "HTTP POST data parser")
4779 (description
4780 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4781 supports application/x-www-form-urlencoded, application/json, and
4782 multipart/form-data.")
4783 (license license:bsd-2))))
4784
4785 (define-public cl-http-body
4786 (sbcl-package->cl-source-package sbcl-http-body))
4787
4788 (define-public ecl-http-body
4789 (sbcl-package->ecl-package sbcl-http-body))
4790
4791 (define-public sbcl-circular-streams
4792 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4793 (revision "1"))
4794 (package
4795 (name "sbcl-circular-streams")
4796 (version (git-version "0.1.0" revision commit))
4797 (source
4798 (origin
4799 (method git-fetch)
4800 (uri (git-reference
4801 (url "https://github.com/fukamachi/circular-streams")
4802 (commit commit)))
4803 (file-name (git-file-name name version))
4804 (sha256
4805 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4806 (build-system asdf-build-system/sbcl)
4807 (arguments
4808 ;; The tests depend on cl-test-more which is now prove. Prove
4809 ;; tests aren't working for some reason.
4810 `(#:tests? #f))
4811 (inputs
4812 `(("sbcl-fast-io" ,sbcl-fast-io)
4813 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4814 (home-page "https://github.com/fukamachi/circular-streams")
4815 (synopsis "Circularly readable streams for Common Lisp")
4816 (description
4817 "Circular-Streams allows you to read streams circularly by wrapping real
4818 streams. Once you reach end-of-file of a stream, it's file position will be
4819 reset to 0 and you're able to read it again.")
4820 (license license:llgpl))))
4821
4822 (define-public cl-circular-streams
4823 (sbcl-package->cl-source-package sbcl-circular-streams))
4824
4825 (define-public ecl-circular-streams
4826 (sbcl-package->ecl-package sbcl-circular-streams))
4827
4828 (define-public sbcl-lack
4829 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4830 (revision "1"))
4831 (package
4832 (name "sbcl-lack")
4833 (version (git-version "0.1.0" revision commit))
4834 (source
4835 (origin
4836 (method git-fetch)
4837 (uri (git-reference
4838 (url "https://github.com/fukamachi/lack")
4839 (commit commit)))
4840 (file-name (git-file-name "lack" version))
4841 (sha256
4842 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4843 (build-system asdf-build-system/sbcl)
4844 (native-inputs
4845 `(("prove" ,sbcl-prove)))
4846 (inputs
4847 `(("circular-streams" ,sbcl-circular-streams)
4848 ("http-body" ,sbcl-http-body)
4849 ("ironclad" ,sbcl-ironclad)
4850 ("local-time" ,sbcl-local-time)
4851 ("quri" ,sbcl-quri)
4852 ("trivial-mimes" ,sbcl-trivial-mimes)))
4853 (arguments
4854 '(#:asd-systems '("lack"
4855 "lack-request"
4856 "lack-response"
4857 "lack-component"
4858 "lack-util"
4859 "lack-middleware-backtrace"
4860 "lack-middleware-static")
4861 #:test-asd-file "t-lack.asd"
4862 ;; XXX: Component :CLACK not found
4863 #:tests? #f))
4864 (home-page "https://github.com/fukamachi/lack")
4865 (synopsis "Lack, the core of Clack")
4866 (description
4867 "Lack is a Common Lisp library which allows web applications to be
4868 constructed of modular components. It was originally a part of Clack, however
4869 it's going to be rewritten as an individual project since Clack v2 with
4870 performance and simplicity in mind.")
4871 (license license:llgpl))))
4872
4873 (define-public cl-lack
4874 (sbcl-package->cl-source-package sbcl-lack))
4875
4876 (define-public ecl-lack
4877 (sbcl-package->ecl-package sbcl-lack))
4878
4879 (define-public sbcl-local-time
4880 (let ((commit "a177eb911c0e8116e2bfceb79049265a884b701b")
4881 (revision "2"))
4882 (package
4883 (name "sbcl-local-time")
4884 (version (git-version "1.0.6" revision commit))
4885 (source
4886 (origin
4887 (method git-fetch)
4888 (uri (git-reference
4889 (url "https://github.com/dlowe-net/local-time")
4890 (commit commit)))
4891 (file-name (git-file-name name version))
4892 (sha256
4893 (base32 "0wld28xx20k0ysgg6akic5lg4vkjd0iyhv86m388xfrv8xh87wii"))))
4894 (build-system asdf-build-system/sbcl)
4895 (native-inputs
4896 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
4897 (home-page "https://common-lisp.net/project/local-time/")
4898 (synopsis "Time manipulation library for Common Lisp")
4899 (description
4900 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4901 dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4902 Long Painful History of Time\".")
4903 (license license:expat))))
4904
4905 (define-public cl-local-time
4906 (sbcl-package->cl-source-package sbcl-local-time))
4907
4908 (define-public ecl-local-time
4909 (sbcl-package->ecl-package sbcl-local-time))
4910
4911 (define-public sbcl-chronicity
4912 (package
4913 (name "sbcl-chronicity")
4914 (version "0.4.1")
4915 (source
4916 (origin
4917 (method git-fetch)
4918 (uri (git-reference
4919 (url "https://github.com/chaitanyagupta/chronicity")
4920 (commit (string-append "v" version))))
4921 (file-name (git-file-name "chronicity" version))
4922 (sha256
4923 (base32 "0rzrl9is2v1aqbm0sym0qx3blnpd0bl13dkkmll6mb3983k2mkax"))))
4924 (build-system asdf-build-system/sbcl)
4925 (native-inputs
4926 `(("lisp-unit" ,sbcl-lisp-unit)))
4927 (inputs
4928 `(("cl-interpol" ,sbcl-cl-interpol)
4929 ("cl-ppcre" ,sbcl-cl-ppcre)
4930 ("local-time" ,sbcl-local-time)))
4931 (home-page "https://github.com/chaitanyagupta/chronicity")
4932 (synopsis "Natural language date and time parser for Common Lisp")
4933 (description
4934 "CHRONICITY is Common Lisp natural language date and time parser inspired
4935 by Ruby's @code{Chronic}.")
4936 (license license:bsd-3)))
4937
4938 (define-public ecl-chronicity
4939 (sbcl-package->ecl-package sbcl-chronicity))
4940
4941 (define-public cl-chronicity
4942 (sbcl-package->cl-source-package sbcl-chronicity))
4943
4944 (define-public sbcl-trivial-mimes
4945 (let ((commit "a741fc2f567a4f86b853fd4677d75e62c03e51d9")
4946 (revision "2"))
4947 (package
4948 (name "sbcl-trivial-mimes")
4949 (version (git-version "1.1.0" revision commit))
4950 (source
4951 (origin
4952 (method git-fetch)
4953 (uri (git-reference
4954 (url "https://github.com/Shinmera/trivial-mimes")
4955 (commit commit)))
4956 (file-name (git-file-name name version))
4957 (sha256
4958 (base32 "00kcm17q5plpzdj1qwg83ldhxksilgpcdkf3m9azxcdr968xs9di"))))
4959 (build-system asdf-build-system/sbcl)
4960 (native-inputs
4961 `(("stefil" ,sbcl-hu.dwim.stefil)))
4962 (inputs
4963 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4964 (home-page "https://shinmera.github.io/trivial-mimes/")
4965 (synopsis "Tiny Common Lisp library to detect mime types in files")
4966 (description
4967 "This is a teensy library that provides some functions to determine the
4968 mime-type of a file.")
4969 (license license:zlib))))
4970
4971 (define-public cl-trivial-mimes
4972 (sbcl-package->cl-source-package sbcl-trivial-mimes))
4973
4974 (define-public ecl-trivial-mimes
4975 (sbcl-package->ecl-package sbcl-trivial-mimes))
4976
4977 (define-public sbcl-ningle
4978 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
4979 (revision "1"))
4980 (package
4981 (name "sbcl-ningle")
4982 (version (git-version "0.3.0" revision commit))
4983 (source
4984 (origin
4985 (method git-fetch)
4986 (uri (git-reference
4987 (url "https://github.com/fukamachi/ningle")
4988 (commit commit)))
4989 (file-name (git-file-name name version))
4990 (sha256
4991 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
4992 (build-system asdf-build-system/sbcl)
4993 (arguments
4994 ;; TODO: pull in clack-test
4995 '(#:tests? #f
4996 #:phases
4997 (modify-phases %standard-phases
4998 (delete 'cleanup-files)
4999 (delete 'cleanup)
5000 (add-before 'cleanup 'combine-fasls
5001 (lambda* (#:key outputs #:allow-other-keys)
5002 (let* ((out (assoc-ref outputs "out"))
5003 (lib (string-append out "/lib/sbcl"))
5004 (ningle-path (string-append lib "/ningle"))
5005 (fasl-files (find-files out "\\.fasl$")))
5006 (mkdir-p ningle-path)
5007 (let ((fasl-path (lambda (name)
5008 (string-append ningle-path
5009 "/"
5010 (basename name)
5011 "--system.fasl"))))
5012 (for-each (lambda (file)
5013 (rename-file file
5014 (fasl-path
5015 (basename file ".fasl"))))
5016 fasl-files))
5017 fasl-files)
5018 #t)))))
5019 (native-inputs
5020 `(("sbcl-prove" ,sbcl-prove)))
5021 (inputs
5022 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
5023 ("sbcl-myway" ,sbcl-myway)
5024 ("sbcl-lack" ,sbcl-lack)
5025 ("sbcl-alexandria" ,sbcl-alexandria)
5026 ("sbcl-babel" ,sbcl-babel)))
5027 (home-page "https://8arrow.org/ningle/")
5028 (synopsis "Super micro framework for Common Lisp")
5029 (description
5030 "Ningle is a lightweight web application framework for Common Lisp.")
5031 (license license:llgpl))))
5032
5033 (define-public cl-ningle
5034 (sbcl-package->cl-source-package sbcl-ningle))
5035
5036 (define-public ecl-ningle
5037 (sbcl-package->ecl-package sbcl-ningle))
5038
5039 (define-public sbcl-cl-fastcgi
5040 (let ((commit "de8b49b26de9863996ec18db28af8ab7e8ac4e20")
5041 (revision "2"))
5042 (package
5043 (name "sbcl-cl-fastcgi")
5044 (version (git-version "0.2" revision commit))
5045 (source
5046 (origin
5047 (method git-fetch)
5048 (uri (git-reference
5049 (url "https://github.com/KDr2/cl-fastcgi/")
5050 (commit commit)))
5051 (file-name (git-file-name name version))
5052 (sha256
5053 (base32 "0xgmhx766q4nmrvn5z7ag3ikpr9phlh8ypi8b14azshq9lqbq0m7"))))
5054 (build-system asdf-build-system/sbcl)
5055 (inputs
5056 `(("usocket" ,sbcl-usocket)
5057 ("cffi" ,sbcl-cffi)
5058 ("fcgi" ,fcgi)))
5059 (arguments
5060 `(#:phases
5061 (modify-phases %standard-phases
5062 (add-after 'unpack 'fix-paths
5063 (lambda* (#:key inputs #:allow-other-keys)
5064 (substitute* "cl-fastcgi.lisp"
5065 (("\"libfcgi.so\"")
5066 (string-append
5067 "\""
5068 (assoc-ref inputs "fcgi") "/lib/libfcgi.so\""))))))))
5069 (home-page "https://kdr2.com/project/cl-fastcgi.html")
5070 (synopsis "FastCGI wrapper for Common Lisp")
5071 (description
5072 "CL-FastCGI is a generic version of SB-FastCGI, targeting to run on
5073 mostly Common Lisp implementation.")
5074 (license license:bsd-2))))
5075
5076 (define-public cl-fastcgi
5077 (sbcl-package->cl-source-package sbcl-cl-fastcgi))
5078
5079 (define-public ecl-cl-fastcgi
5080 (sbcl-package->ecl-package sbcl-cl-fastcgi))
5081
5082 (define-public sbcl-clack
5083 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
5084 (revision "1"))
5085 (package
5086 (name "sbcl-clack")
5087 (version (git-version "2.0.0" revision commit))
5088 (source
5089 (origin
5090 (method git-fetch)
5091 (uri (git-reference
5092 (url "https://github.com/fukamachi/clack")
5093 (commit commit)))
5094 (file-name (git-file-name name version))
5095 (sha256
5096 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
5097 (build-system asdf-build-system/sbcl)
5098 (inputs
5099 `(("alexandria" ,sbcl-alexandria)
5100 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5101 ("cl-fastcgi" ,sbcl-cl-fastcgi)
5102 ("flexi-streams" ,sbcl-flexi-streams)
5103 ("hunchentoot" ,sbcl-hunchentoot)
5104 ("lack" ,sbcl-lack)
5105 ("split-sequence" ,sbcl-split-sequence)
5106 ("usocket" ,sbcl-usocket)
5107 ("quri" ,sbcl-quri)))
5108 (arguments
5109 '(#:asd-systems '("clack"
5110 "clack-handler-fcgi"
5111 "clack-socket"
5112 "clack-handler-hunchentoot")))
5113 (home-page "https://github.com/fukamachi/clack")
5114 (synopsis "Web Application Environment for Common Lisp")
5115 (description
5116 "Clack is a web application environment for Common Lisp inspired by
5117 Python's WSGI and Ruby's Rack.")
5118 (license license:llgpl))))
5119
5120 (define-public cl-clack
5121 (sbcl-package->cl-source-package sbcl-clack))
5122
5123 (define-public ecl-clack
5124 (sbcl-package->ecl-package sbcl-clack))
5125
5126 (define-public sbcl-cl-log
5127 (let ((commit "8f4b766d51e02245c310526cf1e4534ce634f837")
5128 (revision "1"))
5129 (package
5130 (name "sbcl-cl-log")
5131 (version "1.0.1")
5132 (source
5133 (origin
5134 (method git-fetch)
5135 (uri (git-reference
5136 (url "https://github.com/nicklevine/cl-log")
5137 (commit commit)))
5138 (sha256
5139 (base32 "1r3z9swy1b59swvaa5b97is9ysrfmjvjjhhw56p7p5hqg93b92ak"))
5140 (file-name (git-file-name "cl-log" version))))
5141 (build-system asdf-build-system/sbcl)
5142 (synopsis "Common Lisp general purpose logging utility")
5143 (description "CL-LOG is a general purpose logging utility, loosely modelled
5144 in some respects after Gary King's Log5. Its features include: logging to
5145 several destinations at once, via \"messengers\", each messenger is tailored to
5146 accept some log messages and reject others, and this tailoring can be changed
5147 on-the-fly, very rapid processing of messages which are rejected by all
5148 messengers, fully independent use of the utility by several different
5149 sub-systems in an application, support for messengers which cl:format text to a
5150 stream, support for messengers which do not invoke cl:format, timestamps in
5151 theory accurate to internal-time-units-per-second.")
5152 (home-page "https://github.com/nicklevine/cl-log")
5153 (license license:expat))))
5154
5155 (define-public cl-log
5156 (sbcl-package->cl-source-package sbcl-cl-log))
5157
5158 (define-public ecl-cl-log
5159 (sbcl-package->ecl-package sbcl-cl-log))
5160
5161 (define-public sbcl-log4cl
5162 (let ((commit "8c48d6f41d3a1475d0a91eed0638b9eecc398e35")
5163 (revision "1"))
5164 (package
5165 (name "sbcl-log4cl")
5166 (version (git-version "1.1.3" revision commit))
5167 (source
5168 (origin
5169 (method git-fetch)
5170 (uri (git-reference
5171 (url "https://github.com/sharplispers/log4cl")
5172 (commit commit)))
5173 (file-name (git-file-name "log4cl" version))
5174 (sha256
5175 (base32 "0166d9aip366pbpdk5gsi2f6xad6q61lssxgbrypa8zslwjn8736"))))
5176 (build-system asdf-build-system/sbcl)
5177 (native-inputs
5178 `(("stefil" ,sbcl-stefil)))
5179 (inputs
5180 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
5181 (home-page "https://github.com/7max/log4cl")
5182 (synopsis "Common Lisp logging framework, modeled after Log4J")
5183 (description
5184 "This is a Common Lisp logging framework that can log at various levels
5185 and mix text with expressions.")
5186 (license license:asl2.0))))
5187
5188 (define-public cl-log4cl
5189 (sbcl-package->cl-source-package sbcl-log4cl))
5190
5191 (define-public ecl-log4cl
5192 (sbcl-package->ecl-package sbcl-log4cl))
5193
5194 (define-public sbcl-printv
5195 (let ((commit "646d31978dbbb460fffb160fd65bb2be9a5a434e")
5196 (revision "1"))
5197 (package
5198 (name "sbcl-printv")
5199 (version (git-version "0.1.0" revision commit))
5200 (source
5201 (origin
5202 (method git-fetch)
5203 (uri (git-reference
5204 (url "https://github.com/danlentz/printv")
5205 (commit commit)))
5206 (file-name (git-file-name "printv" version))
5207 (sha256
5208 (base32 "08jvy82abm7qi3wrxh6gvmwg9gy0zzhg4cfqajdwrggbah8mj5a6"))))
5209 (build-system asdf-build-system/sbcl)
5210 (home-page "https://github.com/danlentz/printv")
5211 (synopsis "Common Lisp tracing and debug-logging macro")
5212 (description
5213 "@code{PRINTV} is a \"batteries-included\" tracing and debug-logging
5214 macro for Common Lisp.")
5215 (license license:asl2.0))))
5216
5217 (define-public ecl-printv
5218 (sbcl-package->ecl-package sbcl-printv))
5219
5220 (define-public cl-printv
5221 (sbcl-package->cl-source-package sbcl-printv))
5222
5223 (define-public sbcl-cl-debug
5224 (let ((commit "b334280806104ee7f7d3aec666bf7e08d2f89b31")
5225 (revision "1"))
5226 (package
5227 (name "sbcl-cl-debug")
5228 (version (git-version "1.0.0" revision commit))
5229 (source
5230 (origin
5231 (method git-fetch)
5232 (uri (git-reference
5233 (url "https://github.com/kmx-io/cl-debug")
5234 (commit commit)))
5235 (file-name (git-file-name "cl-debug" version))
5236 (sha256
5237 (base32 "0w5vxbjsgr3zfpivdmghmhzxskfdvm1p34c8whwps2xlhypxsa78"))))
5238 (build-system asdf-build-system/sbcl)
5239 (home-page "https://github.com/kmx-io/cl-debug")
5240 (synopsis "Common Lisp cross-package debugging facility")
5241 (description
5242 "CL-DEBUG provides a unified way to enable or disable debug-specific code.
5243 Debugging code can be enabled or disabled relative to program features denoted
5244 by either a symbol or a keyword.")
5245 (license license:isc))))
5246
5247 (define-public ecl-cl-debug
5248 (sbcl-package->ecl-package sbcl-cl-debug))
5249
5250 (define-public cl-debug
5251 (sbcl-package->cl-source-package sbcl-cl-debug))
5252
5253 (define-public sbcl-verbose
5254 (let ((commit "c5b7ecd465be61b35af17ef57564697b88397174")
5255 (revision "1"))
5256 (package
5257 (name "sbcl-verbose")
5258 (version (git-version "2.0.0" revision commit))
5259 (source
5260 (origin
5261 (method git-fetch)
5262 (uri (git-reference
5263 (url "https://github.com/Shinmera/verbose/")
5264 (commit commit)))
5265 (file-name (git-file-name "verbose" version))
5266 (sha256
5267 (base32 "0r51ydj5v7afi2jrlscbhxprv13d9vzg5316g1yzwaxc1kzsdsw6"))))
5268 (build-system asdf-build-system/sbcl)
5269 (inputs
5270 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
5271 ("dissect" ,sbcl-dissect)
5272 ("documentation-utils" ,sbcl-documentation-utils)
5273 ("local-time" ,sbcl-local-time)
5274 ("piping" ,sbcl-piping)))
5275 (home-page "https://shinmera.github.io/verbose/")
5276 (synopsis "Logging framework using the piping library")
5277 (description
5278 "This is a Common Lisp library providing logging faciltiy similar to
5279 @code{CL-LOG} and @code{LOG4CL}.")
5280 (license license:zlib))))
5281
5282 (define-public ecl-verbose
5283 (sbcl-package->ecl-package sbcl-verbose))
5284
5285 (define-public cl-verbose
5286 (sbcl-package->cl-source-package sbcl-verbose))
5287
5288 (define-public sbcl-find-port
5289 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
5290 (revision "1"))
5291 (package
5292 (name "sbcl-find-port")
5293 (build-system asdf-build-system/sbcl)
5294 (version "0.1")
5295 (home-page "https://github.com/eudoxia0/find-port")
5296 (source
5297 (origin
5298 (method git-fetch)
5299 (uri (git-reference
5300 (url home-page)
5301 (commit commit)))
5302 (file-name (git-file-name name version))
5303 (sha256
5304 (base32
5305 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
5306 (native-inputs
5307 `(("fiveam" ,sbcl-fiveam)))
5308 (inputs
5309 `(("sbcl-usocket" ,sbcl-usocket)))
5310 (synopsis "Find open ports programmatically in Common Lisp")
5311 (description "This is a small Common Lisp library that finds an open
5312 port within a range.")
5313 (license license:expat))))
5314
5315 (define-public cl-find-port
5316 (sbcl-package->cl-source-package sbcl-find-port))
5317
5318 (define-public ecl-find-port
5319 (sbcl-package->ecl-package sbcl-find-port))
5320
5321 (define-public sbcl-clunit
5322 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
5323 (revision "1"))
5324 (package
5325 (name "sbcl-clunit")
5326 (version (git-version "0.2.3" revision commit))
5327 (source
5328 (origin
5329 (method git-fetch)
5330 (uri (git-reference
5331 (url "https://github.com/tgutu/clunit")
5332 (commit commit)))
5333 (file-name (git-file-name name version))
5334 (sha256
5335 (base32
5336 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
5337 (build-system asdf-build-system/sbcl)
5338 (synopsis "CLUnit is a Common Lisp unit testing framework")
5339 (description
5340 "CLUnit is a Common Lisp unit testing framework. It is designed
5341 to be easy to use so that you can quickly start testing. CLUnit
5342 provides a rich set of features aimed at improving your unit testing
5343 experience.")
5344 (home-page "https://tgutu.github.io/clunit/")
5345 ;; MIT License
5346 (license license:expat))))
5347
5348 (define-public cl-clunit
5349 (sbcl-package->cl-source-package sbcl-clunit))
5350
5351 (define-public ecl-clunit
5352 (sbcl-package->ecl-package sbcl-clunit))
5353
5354 (define-public sbcl-py4cl
5355 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
5356 (revision "1"))
5357 (package
5358 (name "sbcl-py4cl")
5359 (version (git-version "0.0.0" revision commit))
5360 (source
5361 (origin
5362 (method git-fetch)
5363 (uri (git-reference
5364 (url "https://github.com/bendudson/py4cl")
5365 (commit commit)))
5366 (file-name (git-file-name name version))
5367 (sha256
5368 (base32
5369 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
5370 (modules '((guix build utils)))))
5371 (build-system asdf-build-system/sbcl)
5372 (native-inputs
5373 `(("sbcl-clunit" ,sbcl-clunit)))
5374 (inputs
5375 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5376 (propagated-inputs
5377 ;; This package doesn't do anything without python available
5378 `(("python" ,python)
5379 ;; For multi-dimensional array support
5380 ("python-numpy" ,python-numpy)))
5381 (arguments
5382 '(#:phases
5383 (modify-phases %standard-phases
5384 (add-after 'unpack 'replace-*base-directory*-var
5385 (lambda* (#:key outputs #:allow-other-keys)
5386 ;; In the ASD, the author makes an attempt to
5387 ;; programatically determine the location of the
5388 ;; source-code so lisp can call into "py4cl.py". We can
5389 ;; hard-code this since we know where this file will
5390 ;; reside.
5391 (substitute* "src/callpython.lisp"
5392 (("py4cl/config:\\*base-directory\\*")
5393 (string-append
5394 "\""
5395 (assoc-ref outputs "out")
5396 "/share/common-lisp/sbcl-source/py4cl/"
5397 "\""))))))))
5398 (synopsis "Call python from Common Lisp")
5399 (description
5400 "Py4CL is a bridge between Common Lisp and Python, which enables Common
5401 Lisp to interact with Python code. It uses streams to communicate with a
5402 separate python process, the approach taken by cl4py. This is different to
5403 the CFFI approach used by burgled-batteries, but has the same goal.")
5404 (home-page "https://github.com/bendudson/py4cl")
5405 ;; MIT License
5406 (license license:expat))))
5407
5408 (define-public cl-py4cl
5409 (sbcl-package->cl-source-package sbcl-py4cl))
5410
5411 (define-public ecl-py4cl
5412 (sbcl-package->ecl-package sbcl-py4cl))
5413
5414 (define-public sbcl-parse-declarations
5415 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
5416 (revision "1"))
5417 (package
5418 (name "sbcl-parse-declarations")
5419 (version (git-version "1.0.0" revision commit))
5420 (source
5421 (origin
5422 (method git-fetch)
5423 (uri (git-reference
5424 (url (string-append
5425 "https://gitlab.common-lisp.net/parse-declarations/"
5426 "parse-declarations.git"))
5427 (commit commit)))
5428 (file-name (git-file-name name version))
5429 (sha256
5430 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
5431 (build-system asdf-build-system/sbcl)
5432 (arguments
5433 `(#:asd-systems '("parse-declarations-1.0")))
5434 (home-page "https://common-lisp.net/project/parse-declarations/")
5435 (synopsis "Parse, filter, and build declarations")
5436 (description
5437 "Parse-Declarations is a Common Lisp library to help writing
5438 macros which establish bindings. To be semantically correct, such
5439 macros must take user declarations into account, as these may affect
5440 the bindings they establish. Yet the ANSI standard of Common Lisp does
5441 not provide any operators to work with declarations in a convenient,
5442 high-level way. This library provides such operators.")
5443 ;; MIT License
5444 (license license:expat))))
5445
5446 (define-public cl-parse-declarations
5447 (sbcl-package->cl-source-package sbcl-parse-declarations))
5448
5449 (define-public ecl-parse-declarations
5450 (sbcl-package->ecl-package sbcl-parse-declarations))
5451
5452 (define-public sbcl-cl-quickcheck
5453 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5454 (revision "1"))
5455 (package
5456 (name "sbcl-cl-quickcheck")
5457 (version (git-version "0.0.4" revision commit))
5458 (source
5459 (origin
5460 (method git-fetch)
5461 (uri (git-reference
5462 (url "https://github.com/mcandre/cl-quickcheck")
5463 (commit commit)))
5464 (file-name (git-file-name name version))
5465 (sha256
5466 (base32
5467 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5468 (build-system asdf-build-system/sbcl)
5469 (synopsis
5470 "Common Lisp port of the QuickCheck unit test framework")
5471 (description
5472 "Common Lisp port of the QuickCheck unit test framework")
5473 (home-page "https://github.com/mcandre/cl-quickcheck")
5474 ;; MIT
5475 (license license:expat))))
5476
5477 (define-public cl-quickcheck
5478 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5479
5480 (define-public ecl-cl-quickcheck
5481 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5482
5483 (define-public sbcl-burgled-batteries3
5484 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
5485 (revision "2"))
5486 (package
5487 (name "sbcl-burgled-batteries3")
5488 (version (git-version "0.0.0" revision commit))
5489 (source
5490 (origin
5491 (method git-fetch)
5492 (uri (git-reference
5493 (url "https://github.com/snmsts/burgled-batteries3")
5494 (commit commit)))
5495 (file-name (git-file-name name version))
5496 (sha256
5497 (base32
5498 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
5499 (build-system asdf-build-system/sbcl)
5500 (arguments
5501 `(#:tests? #f
5502 #:modules (((guix build python-build-system) #:select (python-version))
5503 ,@%asdf-build-system-modules)
5504 #:imported-modules ((guix build python-build-system)
5505 ,@%asdf-build-system-modules)
5506 #:phases
5507 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
5508 (add-after 'unpack 'set-*cpython-include-dir*-var
5509 (lambda* (#:key inputs #:allow-other-keys)
5510 (let ((python (assoc-ref inputs "python")))
5511 (setenv "BB_PYTHON3_INCLUDE_DIR"
5512 (string-append python "/include/python"
5513 (python-version python)))
5514 (setenv "BB_PYTHON3_DYLIB"
5515 (string-append python "/lib/libpython3.so"))
5516 #t)))
5517 (add-after 'unpack 'adjust-for-python-3.8
5518 (lambda _
5519 ;; This method is no longer part of the public API.
5520 (substitute* "ffi-interface.lisp"
5521 ((".*PyEval_ReInitThreads.*")
5522 ""))
5523 #t)))))
5524 (native-inputs
5525 `(("sbcl-cl-fad" ,sbcl-cl-fad)
5526 ("sbcl-lift" ,sbcl-lift)
5527 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5528 (inputs
5529 `(("python" ,python)
5530 ("sbcl-cffi" ,sbcl-cffi)
5531 ("sbcl-alexandria" , sbcl-alexandria)
5532 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5533 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5534 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5535 (description
5536 "This package provides a shim between Python3 (specifically, the
5537 CPython implementation of Python) and Common Lisp.")
5538 (home-page "https://github.com/snmsts/burgled-batteries3")
5539 (license license:expat))))
5540
5541 (define-public cl-burgled-batteries3
5542 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5543
5544 (define-public ecl-burgled-batteries3
5545 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5546
5547 (define-public sbcl-metabang-bind
5548 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5549 (revision "1"))
5550 (package
5551 (name "sbcl-metabang-bind")
5552 (version (git-version "0.8.0" revision commit))
5553 (source
5554 (origin
5555 (method git-fetch)
5556 (uri (git-reference
5557 (url "https://github.com/gwkkwg/metabang-bind")
5558 (commit commit)))
5559 (file-name (git-file-name name version))
5560 (sha256
5561 (base32
5562 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5563 (build-system asdf-build-system/sbcl)
5564 (native-inputs
5565 `(("sbcl-lift" ,sbcl-lift)))
5566 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5567 (description
5568 "Bind extends the idea of of let and destructing to provide a uniform
5569 syntax for all your accessor needs. It combines @code{let},
5570 @code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5571 editing, property or association-lists, and @code{multiple-value-bind} and a
5572 whole lot more into a single form.")
5573 (home-page "https://common-lisp.net/project/metabang-bind/")
5574 ;; MIT License
5575 (license license:expat))))
5576
5577 (define-public cl-metabang-bind
5578 (sbcl-package->cl-source-package sbcl-metabang-bind))
5579
5580 (define-public ecl-metabang-bind
5581 (sbcl-package->ecl-package sbcl-metabang-bind))
5582
5583 (define-public sbcl-fare-utils
5584 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5585 (revision "1"))
5586 (package
5587 (name "sbcl-fare-utils")
5588 (version (git-version "1.0.0.5" revision commit))
5589 (source
5590 (origin
5591 (method git-fetch)
5592 (uri
5593 (git-reference
5594 (url
5595 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5596 (commit commit)))
5597 (file-name (git-file-name name version))
5598 (sha256
5599 (base32
5600 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5601 (build-system asdf-build-system/sbcl)
5602 (arguments
5603 `(#:test-asd-file "test/fare-utils-test.asd"))
5604 (native-inputs
5605 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5606 (synopsis "Collection of utilities and data structures")
5607 (description
5608 "fare-utils is a small collection of utilities. It contains a lot of
5609 basic everyday functions and macros.")
5610 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5611 ;; MIT License
5612 (license license:expat))))
5613
5614 (define-public cl-fare-utils
5615 (sbcl-package->cl-source-package sbcl-fare-utils))
5616
5617 (define-public ecl-fare-utils
5618 (sbcl-package->ecl-package sbcl-fare-utils))
5619
5620 (define-public sbcl-trivial-utf-8
5621 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5622 (revision "1"))
5623 (package
5624 (name "sbcl-trivial-utf-8")
5625 (version (git-version "0.0.0" revision commit))
5626 (source
5627 (origin
5628 (method git-fetch)
5629 (uri
5630 (git-reference
5631 (url (string-append "https://gitlab.common-lisp.net/"
5632 "trivial-utf-8/trivial-utf-8.git"))
5633 (commit commit)))
5634 (file-name (git-file-name name version))
5635 (sha256
5636 (base32
5637 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5638 (arguments
5639 ;; Guix incorrectly assumes the "8" is part of the version
5640 ;; number and lobs it off.
5641 `(#:asd-systems '("trivial-utf-8")))
5642 (build-system asdf-build-system/sbcl)
5643 (synopsis "UTF-8 input/output library")
5644 (description
5645 "The Babel library solves a similar problem while understanding more
5646 encodings. Trivial UTF-8 was written before Babel existed, but for new
5647 projects you might be better off going with Babel. The one plus that Trivial
5648 UTF-8 has is that it doesn't depend on any other libraries.")
5649 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5650 (license license:bsd-3))))
5651
5652 (define-public cl-trivial-utf-8
5653 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5654
5655 (define-public ecl-trivial-utf-8
5656 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5657
5658 (define-public sbcl-idna
5659 (package
5660 (name "sbcl-idna")
5661 (build-system asdf-build-system/sbcl)
5662 (version "0.2.2")
5663 (home-page "https://github.com/antifuchs/idna")
5664 (source
5665 (origin
5666 (method git-fetch)
5667 (uri (git-reference
5668 (url home-page)
5669 (commit version)))
5670 (file-name (git-file-name name version))
5671 (sha256
5672 (base32
5673 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5674 (inputs
5675 `(("split-sequence" ,sbcl-split-sequence)))
5676 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5677 (description "This Common Lisp library provides string encoding and
5678 decoding routines for IDNA, the International Domain Names in Applications.")
5679 (license license:expat)))
5680
5681 (define-public cl-idna
5682 (sbcl-package->cl-source-package sbcl-idna))
5683
5684 (define-public ecl-idna
5685 (sbcl-package->ecl-package sbcl-idna))
5686
5687 (define-public sbcl-swap-bytes
5688 (package
5689 (name "sbcl-swap-bytes")
5690 (build-system asdf-build-system/sbcl)
5691 (version "1.2")
5692 (home-page "https://github.com/sionescu/swap-bytes")
5693 (source
5694 (origin
5695 (method git-fetch)
5696 (uri (git-reference
5697 (url home-page)
5698 (commit (string-append "v" version))))
5699 (file-name (git-file-name name version))
5700 (sha256
5701 (base32
5702 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
5703 (inputs
5704 `(("trivial-features" ,sbcl-trivial-features)))
5705 (native-inputs
5706 `(("fiveam" ,sbcl-fiveam)))
5707 (synopsis "Efficient endianness conversion for Common Lisp")
5708 (description "This Common Lisp library provides optimized byte-swapping
5709 primitives. The library can change endianness of unsigned integers of length
5710 1/2/4/8. Very useful in implementing various network protocols and file
5711 formats.")
5712 (license license:expat)))
5713
5714 (define-public cl-swap-bytes
5715 (sbcl-package->cl-source-package sbcl-swap-bytes))
5716
5717 (define-public ecl-swap-bytes
5718 (sbcl-package->ecl-package sbcl-swap-bytes))
5719
5720 (define-public sbcl-iolib
5721 ;; Latest release is from June 2017.
5722 (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
5723 (revision "2"))
5724 (package
5725 (name "sbcl-iolib")
5726 (version (git-version "0.8.3" revision commit))
5727 (home-page "https://github.com/sionescu/iolib")
5728 (source
5729 (origin
5730 (method git-fetch)
5731 (uri (git-reference
5732 (url home-page)
5733 (commit commit)))
5734 (file-name (git-file-name name version))
5735 (sha256
5736 (base32
5737 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
5738 (build-system asdf-build-system/sbcl)
5739 (inputs
5740 `(("alexandria" ,sbcl-alexandria)
5741 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5742 ("cffi" ,sbcl-cffi)
5743 ("idna" ,sbcl-idna)
5744 ("libfixposix" ,libfixposix)
5745 ("split-sequence" ,sbcl-split-sequence)
5746 ("swap-bytes" ,sbcl-swap-bytes)))
5747 (arguments
5748 '(#:asd-files '("iolib.asdf.asd"
5749 "iolib.conf.asd"
5750 "iolib.common-lisp.asd"
5751 "iolib.base.asd"
5752 "iolib.asd")
5753 #:phases
5754 (modify-phases %standard-phases
5755 (add-after 'unpack 'fix-paths
5756 (lambda* (#:key inputs #:allow-other-keys)
5757 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5758 (("\\(:default \"libfixposix\"\\)")
5759 (string-append
5760 "(:default \""
5761 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5762 ;; Socket tests need Internet access, disable them.
5763 (substitute* "iolib.asd"
5764 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5765 "")))))))
5766 (synopsis "Common Lisp I/O library")
5767 (description "IOlib is to be a better and more modern I/O library than
5768 the standard Common Lisp library. It contains a socket library, a DNS
5769 resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5770 and @code{kqueue(2)}), a pathname library and file-system utilities.")
5771 (license license:expat))))
5772
5773 (define-public cl-iolib
5774 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
5775 (package
5776 (inherit parent)
5777 (propagated-inputs
5778 ;; Need header to compile.
5779 `(("libfixposix" ,libfixposix)
5780 ,@(package-propagated-inputs parent))))))
5781
5782 (define-public ecl-iolib
5783 (sbcl-package->ecl-package sbcl-iolib))
5784
5785 (define-public sbcl-ieee-floats
5786 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5787 (revision "1"))
5788 (package
5789 (name "sbcl-ieee-floats")
5790 (build-system asdf-build-system/sbcl)
5791 (version (git-version "20170924" revision commit))
5792 (home-page "https://github.com/marijnh/ieee-floats/")
5793 (source
5794 (origin
5795 (method git-fetch)
5796 (uri (git-reference
5797 (url home-page)
5798 (commit commit)))
5799 (file-name (git-file-name name version))
5800 (sha256
5801 (base32
5802 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5803 (native-inputs
5804 `(("fiveam" ,sbcl-fiveam)))
5805 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5806 (description "This is a Common Lisp library that converts
5807 floating point values to IEEE 754 binary representation.")
5808 (license license:bsd-3))))
5809
5810 (define-public cl-ieee-floats
5811 (sbcl-package->cl-source-package sbcl-ieee-floats))
5812
5813 (define-public ecl-ieee-floats
5814 (sbcl-package->ecl-package sbcl-ieee-floats))
5815
5816 (define sbcl-closure-common
5817 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5818 (revision "1"))
5819 (package
5820 (name "sbcl-closure-common")
5821 (build-system asdf-build-system/sbcl)
5822 (version (git-version "20101006" revision commit))
5823 (home-page "https://common-lisp.net/project/cxml/")
5824 (source
5825 (origin
5826 (method git-fetch)
5827 (uri (git-reference
5828 (url "https://github.com/sharplispers/closure-common")
5829 (commit commit)))
5830 (file-name (git-file-name name version))
5831 (sha256
5832 (base32
5833 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5834 (inputs
5835 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5836 ("babel" ,sbcl-babel)))
5837 (synopsis "Support Common Lisp library for CXML")
5838 (description "Closure-common is an internal helper library. The name
5839 Closure is a reference to the web browser it was originally written for.")
5840 ;; TODO: License?
5841 (license #f))))
5842
5843 (define-public sbcl-cxml
5844 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5845 (revision "1"))
5846 (package
5847 (name "sbcl-cxml")
5848 (version (git-version "0.0.0" revision commit))
5849 (source
5850 (origin
5851 (method git-fetch)
5852 (uri (git-reference
5853 (url "https://github.com/sharplispers/cxml")
5854 (commit commit)))
5855 (file-name (git-file-name name version))
5856 (sha256
5857 (base32
5858 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5859 (build-system asdf-build-system/sbcl)
5860 (inputs
5861 `(("closure-common" ,sbcl-closure-common)
5862 ("puri" ,sbcl-puri)
5863 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5864 (synopsis "Common Lisp XML parser")
5865 (description "CXML implements a namespace-aware, validating XML 1.0
5866 parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5867 offered, one SAX-like, the other similar to StAX.")
5868 (home-page "https://common-lisp.net/project/cxml/")
5869 (license license:llgpl))))
5870
5871 (define-public cl-cxml
5872 (sbcl-package->cl-source-package sbcl-cxml))
5873
5874 (define-public ecl-cxml
5875 (sbcl-package->ecl-package sbcl-cxml))
5876
5877 (define-public sbcl-cl-reexport
5878 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5879 (revision "1"))
5880 (package
5881 (name "sbcl-cl-reexport")
5882 (build-system asdf-build-system/sbcl)
5883 (version (git-version "0.1" revision commit))
5884 (home-page "https://github.com/takagi/cl-reexport")
5885 (source
5886 (origin
5887 (method git-fetch)
5888 (uri (git-reference
5889 (url home-page)
5890 (commit commit)))
5891 (file-name (git-file-name name version))
5892 (sha256
5893 (base32
5894 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5895 (inputs
5896 `(("alexandria" ,sbcl-alexandria)))
5897 (arguments
5898 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5899 `(#:tests? #f))
5900 (synopsis "HTTP cookie manager for Common Lisp")
5901 (description "cl-cookie is a Common Lisp library featuring parsing of
5902 cookie headers, cookie creation, cookie jar creation and more.")
5903 (license license:llgpl))))
5904
5905 (define-public cl-reexport
5906 (sbcl-package->cl-source-package sbcl-cl-reexport))
5907
5908 (define-public ecl-cl-reexport
5909 (sbcl-package->ecl-package sbcl-cl-reexport))
5910
5911 (define-public sbcl-cl-cookie
5912 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5913 (revision "1"))
5914 (package
5915 (name "sbcl-cl-cookie")
5916 (build-system asdf-build-system/sbcl)
5917 (version (git-version "0.9.10" revision commit))
5918 (home-page "https://github.com/fukamachi/cl-cookie")
5919 (source
5920 (origin
5921 (method git-fetch)
5922 (uri (git-reference
5923 (url home-page)
5924 (commit commit)))
5925 (file-name (git-file-name name version))
5926 (sha256
5927 (base32
5928 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5929 (inputs
5930 `(("proc-parse" ,sbcl-proc-parse)
5931 ("alexandria" ,sbcl-alexandria)
5932 ("quri" ,sbcl-quri)
5933 ("cl-ppcre" ,sbcl-cl-ppcre)
5934 ("local-time" ,sbcl-local-time)))
5935 (native-inputs
5936 `(("prove" ,sbcl-prove)))
5937 (arguments
5938 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5939 `(#:tests? #f))
5940 (synopsis "HTTP cookie manager for Common Lisp")
5941 (description "cl-cookie is a Common Lisp library featuring parsing of
5942 cookie headers, cookie creation, cookie jar creation and more.")
5943 (license license:bsd-2))))
5944
5945 (define-public cl-cookie
5946 (sbcl-package->cl-source-package sbcl-cl-cookie))
5947
5948 (define-public ecl-cl-cookie
5949 (sbcl-package->ecl-package sbcl-cl-cookie))
5950
5951 (define-public sbcl-dexador
5952 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
5953 (revision "1"))
5954 (package
5955 (name "sbcl-dexador")
5956 (build-system asdf-build-system/sbcl)
5957 (version "0.9.14" )
5958 (home-page "https://github.com/fukamachi/dexador")
5959 (source
5960 (origin
5961 (method git-fetch)
5962 (uri (git-reference
5963 (url home-page)
5964 (commit commit)))
5965 (file-name (git-file-name name version))
5966 (sha256
5967 (base32
5968 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
5969 (inputs
5970 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5971 ("babel" ,sbcl-babel)
5972 ("usocket" ,sbcl-usocket)
5973 ("fast-http" ,sbcl-fast-http)
5974 ("quri" ,sbcl-quri)
5975 ("fast-io" ,sbcl-fast-io)
5976 ("chunga" ,sbcl-chunga)
5977 ("cl-ppcre" ,sbcl-cl-ppcre)
5978 ("cl-cookie" ,sbcl-cl-cookie)
5979 ("trivial-mimes" ,sbcl-trivial-mimes)
5980 ("chipz" ,sbcl-chipz)
5981 ("cl-base64" ,sbcl-cl-base64)
5982 ("cl-reexport" ,sbcl-cl-reexport)
5983 ("cl+ssl" ,sbcl-cl+ssl)
5984 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5985 ("alexandria" ,sbcl-alexandria)))
5986 (native-inputs
5987 `(("prove" ,sbcl-prove)
5988 ("lack" ,sbcl-lack)
5989 ("clack" ,sbcl-clack)
5990 ("babel" ,sbcl-babel)
5991 ("alexandria" ,sbcl-alexandria)
5992 ("cl-ppcre" ,sbcl-cl-ppcre)
5993 ("local-time" ,sbcl-local-time)
5994 ("trivial-features" ,sbcl-trivial-features)))
5995 (arguments
5996 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5997 `(#:tests? #f
5998 #:phases
5999 (modify-phases %standard-phases
6000 (add-after 'unpack 'fix-permissions
6001 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
6002 (synopsis "Yet another HTTP client for Common Lisp")
6003 (description "Dexador is yet another HTTP client for Common Lisp with
6004 neat APIs and connection-pooling. It is meant to supersede Drakma.")
6005 (license license:expat))))
6006
6007 (define-public cl-dexador
6008 (package
6009 (inherit (sbcl-package->cl-source-package sbcl-dexador))
6010 (arguments
6011 `(#:phases
6012 ;; asdf-build-system/source has its own phases and does not inherit
6013 ;; from asdf-build-system/sbcl phases.
6014 (modify-phases %standard-phases/source
6015 ;; Already done in SBCL package.
6016 (delete 'reset-gzip-timestamps))))))
6017
6018 (define-public ecl-dexador
6019 (sbcl-package->ecl-package sbcl-dexador))
6020
6021 (define-public sbcl-lisp-namespace
6022 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
6023 (revision "1"))
6024 (package
6025 (name "sbcl-lisp-namespace")
6026 (build-system asdf-build-system/sbcl)
6027 (version (git-version "0.1" revision commit))
6028 (home-page "https://github.com/guicho271828/lisp-namespace")
6029 (source
6030 (origin
6031 (method git-fetch)
6032 (uri (git-reference
6033 (url home-page)
6034 (commit commit)))
6035 (file-name (git-file-name name version))
6036 (sha256
6037 (base32
6038 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
6039 (inputs
6040 `(("alexandria" ,sbcl-alexandria)))
6041 (native-inputs
6042 `(("fiveam" ,sbcl-fiveam)))
6043 (arguments
6044 `(#:test-asd-file "lisp-namespace.test.asd"
6045 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
6046 #:tests? #f))
6047 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
6048 (description "Common Lisp already has major 2 namespaces, function
6049 namespace and value namespace (or variable namespace), but there are actually
6050 more — e.g., class namespace.
6051 This library offers macros to deal with symbols from any namespace.")
6052 (license license:llgpl))))
6053
6054 (define-public cl-lisp-namespace
6055 (sbcl-package->cl-source-package sbcl-lisp-namespace))
6056
6057 (define-public ecl-lisp-namespace
6058 (sbcl-package->ecl-package sbcl-lisp-namespace))
6059
6060 (define-public sbcl-trivial-cltl2
6061 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
6062 (revision "2"))
6063 (package
6064 (name "sbcl-trivial-cltl2")
6065 (build-system asdf-build-system/sbcl)
6066 (version (git-version "0.1.1" revision commit))
6067 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
6068 (source
6069 (origin
6070 (method git-fetch)
6071 (uri (git-reference
6072 (url home-page)
6073 (commit commit)))
6074 (file-name (git-file-name name version))
6075 (sha256
6076 (base32
6077 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
6078 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
6079 (description "This library is a portable compatibility layer around
6080 \"Common Lisp the Language, 2nd
6081 Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
6082 and it exports symbols from implementation-specific packages.")
6083 (license license:llgpl))))
6084
6085 (define-public cl-trivial-cltl2
6086 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
6087
6088 (define-public ecl-trivial-cltl2
6089 (sbcl-package->ecl-package sbcl-trivial-cltl2))
6090
6091 (define-public sbcl-introspect-environment
6092 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
6093 (revision "1"))
6094 (package
6095 (name "sbcl-introspect-environment")
6096 (build-system asdf-build-system/sbcl)
6097 (version (git-version "0.1" revision commit))
6098 (home-page "https://github.com/Bike/introspect-environment")
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 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
6109 (native-inputs
6110 `(("fiveam" ,sbcl-fiveam)))
6111 (synopsis "Common Lisp environment introspection portability layer")
6112 (description "This library is a small interface to portable but
6113 nonstandard introspection of Common Lisp environments. It is intended to
6114 allow a bit more compile-time introspection of environments in Common Lisp.
6115
6116 Quite a bit of information is available at the time a macro or compiler-macro
6117 runs; inlining info, type declarations, that sort of thing. This information
6118 is all standard - any Common Lisp program can @code{(declare (integer x))} and
6119 such.
6120
6121 This info ought to be accessible through the standard @code{&environment}
6122 parameters, but it is not. Several implementations keep the information for
6123 their own purposes but do not make it available to user programs, because
6124 there is no standard mechanism to do so.
6125
6126 This library uses implementation-specific hooks to make information available
6127 to users. This is currently supported on SBCL, CCL, and CMUCL. Other
6128 implementations have implementations of the functions that do as much as they
6129 can and/or provide reasonable defaults.")
6130 (license license:wtfpl2))))
6131
6132 (define-public cl-introspect-environment
6133 (sbcl-package->cl-source-package sbcl-introspect-environment))
6134
6135 (define-public ecl-introspect-environment
6136 (sbcl-package->ecl-package sbcl-introspect-environment))
6137
6138 (define-public sbcl-type-i
6139 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
6140 (revision "2"))
6141 (package
6142 (name "sbcl-type-i")
6143 (build-system asdf-build-system/sbcl)
6144 (version (git-version "0.1" revision commit))
6145 (home-page "https://github.com/guicho271828/type-i")
6146 (source
6147 (origin
6148 (method git-fetch)
6149 (uri (git-reference
6150 (url home-page)
6151 (commit commit)))
6152 (file-name (git-file-name name version))
6153 (sha256
6154 (base32
6155 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
6156 (inputs
6157 `(("alexandria" ,sbcl-alexandria)
6158 ("introspect-environment" ,sbcl-introspect-environment)
6159 ("trivia.trivial" ,sbcl-trivia.trivial)))
6160 (native-inputs
6161 `(("fiveam" ,sbcl-fiveam)))
6162 (arguments
6163 `(#:test-asd-file "type-i.test.asd"))
6164 (synopsis "Type inference utility on unary predicates for Common Lisp")
6165 (description "This library tries to provide a way to detect what kind of
6166 type the given predicate is trying to check. This is different from inferring
6167 the return type of a function.")
6168 (license license:llgpl))))
6169
6170 (define-public cl-type-i
6171 (sbcl-package->cl-source-package sbcl-type-i))
6172
6173 (define-public ecl-type-i
6174 (package
6175 (inherit (sbcl-package->ecl-package sbcl-type-i))
6176 (arguments
6177 ;; The tests get stuck indefinitly
6178 '(#:tests? #f))))
6179
6180 (define-public sbcl-optima
6181 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
6182 (revision "1"))
6183 (package
6184 (name "sbcl-optima")
6185 (build-system asdf-build-system/sbcl)
6186 (version (git-version "1.0" revision commit))
6187 (home-page "https://github.com/m2ym/optima")
6188 (source
6189 (origin
6190 (method git-fetch)
6191 (uri (git-reference
6192 (url home-page)
6193 (commit commit)))
6194 (file-name (git-file-name name version))
6195 (sha256
6196 (base32
6197 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
6198 (inputs
6199 `(("alexandria" ,sbcl-alexandria)
6200 ("closer-mop" ,sbcl-closer-mop)))
6201 (native-inputs
6202 `(("eos" ,sbcl-eos)))
6203 (arguments
6204 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
6205 `(#:tests? #f
6206 #:test-asd-file "optima.test.asd"))
6207 (synopsis "Optimized pattern matching library for Common Lisp")
6208 (description "Optima is a fast pattern matching library which uses
6209 optimizing techniques widely used in the functional programming world.")
6210 (license license:expat))))
6211
6212 (define-public cl-optima
6213 (sbcl-package->cl-source-package sbcl-optima))
6214
6215 (define-public ecl-optima
6216 (sbcl-package->ecl-package sbcl-optima))
6217
6218 (define-public sbcl-fare-quasiquote
6219 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
6220 (revision "1"))
6221 (package
6222 (name "sbcl-fare-quasiquote")
6223 (build-system asdf-build-system/sbcl)
6224 (version (git-version "1.0.1" revision commit))
6225 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
6226 (source
6227 (origin
6228 (method git-fetch)
6229 (uri (git-reference
6230 (url (string-append "https://gitlab.common-lisp.net/frideau/"
6231 "fare-quasiquote.git"))
6232 (commit commit)))
6233 (file-name (git-file-name name version))
6234 (sha256
6235 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
6236 (inputs
6237 `(("fare-utils" ,sbcl-fare-utils)
6238 ("named-readtables" ,sbcl-named-readtables)
6239 ("optima" ,sbcl-optima)))
6240 (arguments
6241 ;; XXX: Circular dependencies: Tests depend on subsystems,
6242 ;; which depend on the main systems.
6243 `(#:tests? #f
6244 #:asd-systems '("fare-quasiquote"
6245 "fare-quasiquote-extras")
6246 #:phases
6247 (modify-phases %standard-phases
6248 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
6249 ;; commits after 1.0.0.5, but ASDF fails to read the
6250 ;; "-REVISION-COMMIT" part generated by Guix.
6251 (add-after 'unpack 'patch-requirement
6252 (lambda _
6253 (substitute* "fare-quasiquote.asd"
6254 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
6255 "\"fare-utils\""))
6256 (substitute* "fare-quasiquote-optima.asd"
6257 (("\\(:version \"optima\" \"1\\.0\"\\)")
6258 "\"optima\""))
6259 #t)))))
6260 (synopsis "Pattern-matching friendly implementation of quasiquote")
6261 (description "The main purpose of this n+2nd reimplementation of
6262 quasiquote is enable matching of quasiquoted patterns, using Optima or
6263 Trivia.")
6264 (license license:expat))))
6265
6266 (define-public cl-fare-quasiquote
6267 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
6268
6269 (define-public ecl-fare-quasiquote
6270 (sbcl-package->ecl-package sbcl-fare-quasiquote))
6271
6272 ;;; Split the trivia package in two to work around the circular dependency
6273 ;;; between guicho271828/trivia and guicho271828/type-i.
6274 (define-public sbcl-trivia.trivial
6275 (let ((commit "7286d5d2a4f685f1cac8370816f95276c0851111")
6276 (revision "3"))
6277 (package
6278 (name "sbcl-trivia.trivial")
6279 (version (git-version "0.0.0" revision commit))
6280 (source
6281 (origin
6282 (method git-fetch)
6283 (uri (git-reference
6284 (url "https://github.com/guicho271828/trivia")
6285 (commit commit)))
6286 (file-name (git-file-name "trivia" version))
6287 (sha256
6288 (base32
6289 "0ln0sj3jry7kzbmxhnin66kpbqan1wp8wwgdbw4k29afbdblkcca"))))
6290 (build-system asdf-build-system/sbcl)
6291 (inputs
6292 `(("alexandria" ,sbcl-alexandria)
6293 ("closer-mop" ,sbcl-closer-mop)
6294 ("lisp-namespace" ,sbcl-lisp-namespace)
6295 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
6296 (arguments
6297 '(#:phases
6298 (modify-phases %standard-phases
6299 (add-after 'unpack 'fix-build
6300 (lambda _
6301 (for-each delete-file
6302 '("trivia.balland2006.asd"
6303 "trivia.ppcre.asd"
6304 "trivia.quasiquote.asd"
6305 "trivia.cffi.asd"
6306 "trivia.asd"
6307 "trivia.test.asd"))
6308 #t)))))
6309 (synopsis "Pattern matching in Common Lisp")
6310 (description "Trivia is a pattern matching compiler that is compatible
6311 with Optima, another pattern matching library for Common Lisp. It is meant to
6312 be faster and more extensible than Optima.")
6313 (home-page "https://github.com/guicho271828/trivia")
6314 (license license:llgpl))))
6315
6316 (define-public cl-trivia.trivial
6317 (sbcl-package->cl-source-package sbcl-trivia.trivial))
6318
6319 (define-public ecl-trivia.trivial
6320 (sbcl-package->ecl-package sbcl-trivia.trivial))
6321
6322 (define-public sbcl-trivia
6323 (package
6324 (inherit sbcl-trivia.trivial)
6325 (name "sbcl-trivia")
6326 (native-inputs
6327 `(("fiveam" ,sbcl-fiveam)
6328 ("optima" ,sbcl-optima)))
6329 (inputs
6330 `(("alexandria" ,sbcl-alexandria)
6331 ("cffi" ,sbcl-cffi)
6332 ("cl-ppcre" ,sbcl-cl-ppcre)
6333 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6334 ("iterate" ,sbcl-iterate)
6335 ("trivia.trivial" ,sbcl-trivia.trivial)
6336 ("type-i" ,sbcl-type-i)))
6337 (arguments
6338 '(#:asd-systems '("trivia"
6339 "trivia.ppcre"
6340 "trivia.quasiquote"
6341 "trivia.cffi")
6342 #:test-asd-file "trivia.test.asd"
6343 #:phases
6344 (modify-phases %standard-phases
6345 (add-after 'unpack 'fix-build
6346 (lambda _
6347 (for-each delete-file
6348 '("trivia.level0.asd"
6349 "trivia.level1.asd"
6350 "trivia.level2.asd"
6351 "trivia.trivial.asd"))
6352 #t)))))))
6353
6354 (define-public cl-trivia
6355 (sbcl-package->cl-source-package sbcl-trivia))
6356
6357 (define-public ecl-trivia
6358 (sbcl-package->ecl-package sbcl-trivia))
6359
6360 (define-public sbcl-mk-string-metrics
6361 (package
6362 (name "sbcl-mk-string-metrics")
6363 (version "0.1.2")
6364 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6365 (source (origin
6366 (method git-fetch)
6367 (uri (git-reference
6368 (url home-page)
6369 (commit version)))
6370 (sha256
6371 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6372 (file-name (git-file-name name version))))
6373 (build-system asdf-build-system/sbcl)
6374 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6375 (description "This library implements efficient algorithms that calculate
6376 various string metrics in Common Lisp:
6377
6378 @itemize
6379 @item Damerau-Levenshtein distance
6380 @item Hamming distance
6381 @item Jaccard similarity coefficient
6382 @item Jaro distance
6383 @item Jaro-Winkler distance
6384 @item Levenshtein distance
6385 @item Normalized Damerau-Levenshtein distance
6386 @item Normalized Levenshtein distance
6387 @item Overlap coefficient
6388 @end itemize\n")
6389 (license license:x11)))
6390
6391 (define-public cl-mk-string-metrics
6392 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6393
6394 (define-public ecl-mk-string-metrics
6395 (sbcl-package->ecl-package sbcl-mk-string-metrics))
6396
6397 (define-public sbcl-cl-str
6398 (package
6399 (name "sbcl-cl-str")
6400 (version "0.19")
6401 (home-page "https://github.com/vindarel/cl-str")
6402 (source (origin
6403 (method git-fetch)
6404 (uri (git-reference
6405 (url home-page)
6406 (commit version)))
6407 (sha256
6408 (base32 "1jyza2jhn7w6fl4w87pv0m87z5ia48m6dqw12k0mdh7l3mgjq839"))
6409 (file-name (git-file-name name version))))
6410 (build-system asdf-build-system/sbcl)
6411 (inputs
6412 `(("cl-ppcre" ,sbcl-cl-ppcre)
6413 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
6414 ("cl-change-case" ,sbcl-cl-change-case)))
6415 (native-inputs
6416 `(("prove" ,sbcl-prove)))
6417 (arguments
6418 `(#:asd-systems '("str")
6419 #:test-asd-file "str.test.asd"))
6420 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6421 (description "A modern and consistent Common Lisp string manipulation
6422 library that focuses on modernity, simplicity and discoverability:
6423 @code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6424 @code{str:concat strings} instead of an unusual format construct; one
6425 discoverable library instead of many; consistency and composability, where
6426 @code{s} is always the last argument, which makes it easier to feed pipes and
6427 arrows.")
6428 (license license:expat)))
6429
6430 (define-public cl-str
6431 (sbcl-package->cl-source-package sbcl-cl-str))
6432
6433 (define-public ecl-cl-str
6434 (sbcl-package->ecl-package sbcl-cl-str))
6435
6436 (define-public sbcl-cl-xmlspam
6437 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6438 (package
6439 (name "sbcl-cl-xmlspam")
6440 (build-system asdf-build-system/sbcl)
6441 (version (git-version "0.0.0" "1" commit))
6442 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6443 (source
6444 (origin
6445 (method git-fetch)
6446 (uri (git-reference
6447 (url home-page)
6448 (commit commit)))
6449 (file-name (string-append name "-" version))
6450 (sha256
6451 (base32
6452 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6453 (inputs
6454 `(("cxml" ,sbcl-cxml)
6455 ("cl-ppcre" ,sbcl-cl-ppcre)))
6456 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6457 (description "CXML does an excellent job at parsing XML elements, but what
6458 do you do when you have a XML file that's larger than you want to fit in
6459 memory, and you want to extract some information from it? Writing code to deal
6460 with SAX events, or even using Klacks, quickly becomes tedious.
6461 @code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6462 to write code that mirrors the structure of the XML that it's parsing. It
6463 also makes it easy to shift paradigms when necessary - the usual Lisp control
6464 constructs can be used interchangeably with pattern matching, and the full
6465 power of CXML is available when necessary.")
6466 (license license:bsd-3))))
6467
6468 (define-public cl-xmlspam
6469 (sbcl-package->cl-source-package sbcl-cl-xmlspam))
6470
6471 (define-public ecl-cl-xmlspam
6472 (sbcl-package->ecl-package sbcl-cl-xmlspam))
6473
6474 (define-public sbcl-dbus
6475 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6476 (revision "1"))
6477 (package
6478 (name "sbcl-dbus")
6479 (version (git-version "20190408" revision commit))
6480 (home-page "https://github.com/death/dbus")
6481 (source
6482 (origin
6483 (method git-fetch)
6484 (uri (git-reference
6485 (url home-page)
6486 (commit commit)))
6487 (file-name (git-file-name name version))
6488 (sha256
6489 (base32
6490 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
6491 (build-system asdf-build-system/sbcl)
6492 (inputs
6493 `(("alexandria" ,sbcl-alexandria)
6494 ("trivial-garbage" ,sbcl-trivial-garbage)
6495 ("babel" ,sbcl-babel)
6496 ("iolib" ,sbcl-iolib)
6497 ("ieee-floats" ,sbcl-ieee-floats)
6498 ("flexi-streams" ,sbcl-flexi-streams)
6499 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6500 ("ironclad" ,sbcl-ironclad)))
6501 (synopsis "D-Bus client library for Common Lisp")
6502 (description "This is a Common Lisp library that publishes D-Bus
6503 objects as well as send and notify other objects connected to a bus.")
6504 (license license:bsd-2))))
6505
6506 (define-public cl-dbus
6507 (sbcl-package->cl-source-package sbcl-dbus))
6508
6509 (define-public ecl-dbus
6510 (sbcl-package->ecl-package sbcl-dbus))
6511
6512 (define-public sbcl-cl-hooks
6513 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6514 (revision "1"))
6515 (package
6516 (name "sbcl-cl-hooks")
6517 (build-system asdf-build-system/sbcl)
6518 (version (git-version "0.2.1" revision commit))
6519 (home-page "https://github.com/scymtym/architecture.hooks")
6520 (source
6521 (origin
6522 (method git-fetch)
6523 (uri (git-reference
6524 (url home-page)
6525 (commit commit)))
6526 (file-name (git-file-name name version))
6527 (sha256
6528 (base32
6529 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6530 (inputs
6531 `(("alexandria" ,sbcl-alexandria)
6532 ("let-plus" ,sbcl-let-plus)
6533 ("trivial-garbage" ,sbcl-trivial-garbage)
6534 ("closer-mop" ,sbcl-closer-mop)))
6535 (native-inputs
6536 `(("fiveam" ,sbcl-fiveam)))
6537 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6538 (description "A hook, in the present context, is a certain kind of
6539 extension point in a program that allows interleaving the execution of
6540 arbitrary code with the execution of a the program without introducing any
6541 coupling between the two. Hooks are used extensively in the extensible editor
6542 Emacs.
6543
6544 In the Common LISP Object System (CLOS), a similar kind of extensibility is
6545 possible using the flexible multi-method dispatch mechanism. It may even seem
6546 that the concept of hooks does not provide any benefits over the possibilities
6547 of CLOS. However, there are some differences:
6548
6549 @itemize
6550
6551 @item There can be only one method for each combination of specializers and
6552 qualifiers. As a result this kind of extension point cannot be used by
6553 multiple extensions independently.
6554 @item Removing code previously attached via a @code{:before}, @code{:after} or
6555 @code{:around} method can be cumbersome.
6556 @item There could be other or even multiple extension points besides @code{:before}
6557 and @code{:after} in a single method.
6558 @item Attaching codes to individual objects using eql specializers can be
6559 cumbersome.
6560 @item Introspection of code attached a particular extension point is
6561 cumbersome since this requires enumerating and inspecting the methods of a
6562 generic function.
6563 @end itemize
6564
6565 This library tries to complement some of these weaknesses of method-based
6566 extension-points via the concept of hooks.")
6567 (license license:llgpl))))
6568
6569 (define-public cl-hooks
6570 (sbcl-package->cl-source-package sbcl-cl-hooks))
6571
6572 (define-public ecl-cl-hooks
6573 (sbcl-package->ecl-package sbcl-cl-hooks))
6574
6575 (define-public sbcl-cl-autowrap
6576 (let ((revision "1")
6577 (commit "ae846d6968fc0d000de0c541638929a157f3009e"))
6578 ;; no taged branches
6579 (package
6580 (name "sbcl-cl-autowrap")
6581 (version (git-version "1.0" revision commit))
6582 (source
6583 (origin
6584 (method git-fetch)
6585 (uri (git-reference
6586 (url "https://github.com/rpav/cl-autowrap")
6587 (commit commit)))
6588 (file-name (git-file-name name version))
6589 (sha256
6590 (base32 "1gisldp2zns92kdcaikghm7c38ldy2d884n8bfg0wcjvbz78p3ar"))))
6591 (build-system asdf-build-system/sbcl)
6592 (inputs
6593 `(("alexandria" ,sbcl-alexandria)
6594 ("cffi" ,sbcl-cffi)
6595 ("cl-json" ,sbcl-cl-json)
6596 ("cl-ppcre" ,sbcl-cl-ppcre)
6597 ("defpackage-plus" ,sbcl-defpackage-plus)
6598 ("trivial-features" ,sbcl-trivial-features)))
6599 (home-page "https://github.com/rpav/cl-autowrap")
6600 (synopsis "FFI wrapper generator for Common Lisp")
6601 (description "This is a c2ffi-based wrapper generator for Common Lisp.")
6602 (license license:bsd-2))))
6603
6604 (define-public cl-autowrap
6605 (sbcl-package->cl-source-package sbcl-cl-autowrap))
6606
6607 (define-public ecl-cl-autowrap
6608 (sbcl-package->ecl-package sbcl-cl-autowrap))
6609
6610 (define-public sbcl-s-sysdeps
6611 ;; No release since 2013.
6612 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
6613 (revision "2"))
6614 (package
6615 (name "sbcl-s-sysdeps")
6616 (build-system asdf-build-system/sbcl)
6617 (version (git-version "1" revision commit))
6618 (home-page "https://github.com/svenvc/s-sysdeps")
6619 (source
6620 (origin
6621 (method git-fetch)
6622 (uri (git-reference
6623 (url home-page)
6624 (commit commit)))
6625 (file-name (git-file-name name version))
6626 (sha256
6627 (base32
6628 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
6629 (inputs
6630 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
6631 ("usocket" ,sbcl-usocket)))
6632 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6633 (description "@code{s-sysdeps} is an abstraction layer over platform
6634 dependent functionality. This simple package is used as a building block in a
6635 number of other open source projects.
6636
6637 @code{s-sysdeps} abstracts:
6638
6639 @itemize
6640 @item managing processes,
6641 @item implementing a standard TCP/IP server,
6642 @item opening a client TCP/IP socket stream,
6643 @item working with process locks.
6644 @end itemize\n")
6645 (license license:llgpl))))
6646
6647 (define-public cl-s-sysdeps
6648 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6649
6650 (define-public ecl-s-sysdeps
6651 (sbcl-package->ecl-package sbcl-s-sysdeps))
6652
6653 (define-public sbcl-cl-prevalence
6654 (let ((commit "5a76be036092ed6c18cb695a9e03bce87e21b840")
6655 (revision "4"))
6656 (package
6657 (name "sbcl-cl-prevalence")
6658 (build-system asdf-build-system/sbcl)
6659 (version (git-version "5" revision commit))
6660 (home-page "https://github.com/40ants/cl-prevalence")
6661 (source
6662 (origin
6663 (method git-fetch)
6664 (uri (git-reference
6665 (url home-page)
6666 (commit commit)))
6667 (file-name (git-file-name name version))
6668 (sha256
6669 (base32
6670 "050h6hwv8f16b5v6fzba8zmih92hgaaq27i2x9wv1iib41gbia3r"))))
6671 (inputs
6672 `(("s-sysdeps" ,sbcl-s-sysdeps)
6673 ("s-xml" ,sbcl-s-xml)))
6674 (native-inputs
6675 `(("fiveam" ,sbcl-fiveam)))
6676 (synopsis "Implementation of object prevalence for Common Lisp")
6677 (description "This Common Lisp library implements object prevalence (see
6678 @url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6679 for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6680 classes and cyclic data structures are supported.")
6681 (license license:llgpl))))
6682
6683 (define-public cl-prevalence
6684 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6685
6686 (define-public ecl-cl-prevalence
6687 (sbcl-package->ecl-package sbcl-cl-prevalence))
6688
6689 (define-public sbcl-series
6690 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6691 (revision "1"))
6692 (package
6693 (name "sbcl-series")
6694 (version (git-version "2.2.11" revision commit))
6695 (source
6696 (origin
6697 (method git-fetch)
6698 (uri (git-reference
6699 (url "git://git.code.sf.net/p/series/series")
6700 (commit commit)))
6701 (file-name (git-file-name name version))
6702 (sha256
6703 (base32
6704 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6705 (build-system asdf-build-system/sbcl)
6706 (arguments
6707 ;; Disable the tests, they are apparently buggy and I didn't find
6708 ;; a simple way to make them run and pass.
6709 '(#:tests? #f))
6710 (synopsis "Series data structure for Common Lisp")
6711 (description
6712 "This Common Lisp library provides a series data structure much like
6713 a sequence, with similar kinds of operations. The difference is that in many
6714 situations, operations on series may be composed functionally and yet execute
6715 iteratively, without the need to construct intermediate series values
6716 explicitly. In this manner, series provide both the clarity of a functional
6717 programming style and the efficiency of an iterative programming style.")
6718 (home-page "http://series.sourceforge.net/")
6719 (license license:expat))))
6720
6721 (define-public cl-series
6722 (sbcl-package->cl-source-package sbcl-series))
6723
6724 (define-public ecl-series
6725 (sbcl-package->ecl-package sbcl-series))
6726
6727 (define-public sbcl-periods
6728 (let ((commit "60383dcef88a1ac11f82804ae7a33c361dcd2949")
6729 (revision "2"))
6730 (package
6731 (name "sbcl-periods")
6732 (version (git-version "0.0.2" revision commit))
6733 (source
6734 (origin
6735 (method git-fetch)
6736 (uri (git-reference
6737 (url "https://github.com/jwiegley/periods")
6738 (commit commit)))
6739 (file-name (git-file-name name version))
6740 (sha256
6741 (base32
6742 "1ym2j4an9ig2hl210jg91gpf7xfnp6mlhkw3n9kkdnwiji3ipqlk"))))
6743 (build-system asdf-build-system/sbcl)
6744 (inputs
6745 `(("local-time" ,sbcl-local-time)
6746 ("series" ,sbcl-series)))
6747 (arguments
6748 '(#:asd-systems '("periods"
6749 "periods-series")))
6750 (synopsis "Common Lisp library for manipulating date/time objects")
6751 (description
6752 "Periods is a Common Lisp library providing a set of utilities for
6753 manipulating times, distances between times, and both contiguous and
6754 discontiguous ranges of time.")
6755 (home-page "https://github.com/jwiegley/periods")
6756 (license license:bsd-3))))
6757
6758 (define-public cl-periods
6759 (sbcl-package->cl-source-package sbcl-periods))
6760
6761 (define-public ecl-periods
6762 (sbcl-package->ecl-package sbcl-periods))
6763
6764 (define-public sbcl-metatilities-base
6765 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6766 (revision "1"))
6767 (package
6768 (name "sbcl-metatilities-base")
6769 (version (git-version "0.6.6" revision commit))
6770 (source
6771 (origin
6772 (method git-fetch)
6773 (uri (git-reference
6774 (url "https://github.com/gwkkwg/metatilities-base")
6775 (commit commit)))
6776 (file-name (git-file-name name version))
6777 (sha256
6778 (base32
6779 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6780 (build-system asdf-build-system/sbcl)
6781 (native-inputs
6782 `(("lift" ,sbcl-lift)))
6783 (synopsis "Core of the metatilities Common Lisp library")
6784 (description
6785 "Metatilities-base is the core of the metatilities Common Lisp library
6786 which implements a set of utilities.")
6787 (home-page "https://common-lisp.net/project/metatilities-base/")
6788 (license license:expat))))
6789
6790 (define-public cl-metatilities-base
6791 (sbcl-package->cl-source-package sbcl-metatilities-base))
6792
6793 (define-public ecl-metatilities-base
6794 (sbcl-package->ecl-package sbcl-metatilities-base))
6795
6796 (define-public sbcl-cl-containers
6797 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6798 (revision "3"))
6799 (package
6800 (name "sbcl-cl-containers")
6801 (version (git-version "0.12.1" revision commit))
6802 (source
6803 (origin
6804 (method git-fetch)
6805 (uri (git-reference
6806 (url "https://github.com/gwkkwg/cl-containers")
6807 (commit commit)))
6808 (file-name (git-file-name name version))
6809 (sha256
6810 (base32
6811 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
6812 (build-system asdf-build-system/sbcl)
6813 (native-inputs
6814 `(("lift" ,sbcl-lift)))
6815 (inputs
6816 `(("metatilities-base" ,sbcl-metatilities-base)))
6817 (arguments
6818 '(#:asd-files '("cl-containers.asd")
6819 #:phases
6820 (modify-phases %standard-phases
6821 (add-after 'unpack 'relax-version-checks
6822 (lambda _
6823 (substitute* "cl-containers.asd"
6824 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6825 "\"metatilities-base\""))
6826 (substitute* "cl-containers-test.asd"
6827 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6828 "\"lift\""))
6829 #t)))))
6830 (synopsis "Container library for Common Lisp")
6831 (description
6832 "Common Lisp ships with a set of powerful built in data structures
6833 including the venerable list, full featured arrays, and hash-tables.
6834 CL-containers enhances and builds on these structures by adding containers
6835 that are not available in native Lisp (for example: binary search trees,
6836 red-black trees, sparse arrays and so on), and by providing a standard
6837 interface so that they are simpler to use and so that changing design
6838 decisions becomes significantly easier.")
6839 (home-page "https://common-lisp.net/project/cl-containers/")
6840 (license license:expat))))
6841
6842 (define-public cl-containers
6843 (sbcl-package->cl-source-package sbcl-cl-containers))
6844
6845 (define-public ecl-cl-containers
6846 (sbcl-package->ecl-package sbcl-cl-containers))
6847
6848 (define-public sbcl-xlunit
6849 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6850 (revision "1"))
6851 (package
6852 (name "sbcl-xlunit")
6853 (version (git-version "0.6.3" revision commit))
6854 (source
6855 (origin
6856 (method git-fetch)
6857 (uri (git-reference
6858 (url "http://git.kpe.io/xlunit.git")
6859 (commit commit)))
6860 (file-name (git-file-name name version))
6861 (sha256
6862 (base32
6863 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6864 (build-system asdf-build-system/sbcl)
6865 (arguments
6866 '(#:phases
6867 (modify-phases %standard-phases
6868 (add-after 'unpack 'fix-tests
6869 (lambda _
6870 (substitute* "xlunit.asd"
6871 ((" :force t") ""))
6872 #t)))))
6873 (synopsis "Unit testing package for Common Lisp")
6874 (description
6875 "The XLUnit package is a toolkit for building test suites. It is based
6876 on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6877 (home-page "http://quickdocs.org/xlunit/")
6878 (license license:bsd-3))))
6879
6880 (define-public cl-xlunit
6881 (sbcl-package->cl-source-package sbcl-xlunit))
6882
6883 (define-public ecl-xlunit
6884 (sbcl-package->ecl-package sbcl-xlunit))
6885
6886 (define-public sbcl-cambl
6887 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6888 (revision "1"))
6889 (package
6890 (name "sbcl-cambl")
6891 (version (git-version "4.0.0" revision commit))
6892 (source
6893 (origin
6894 (method git-fetch)
6895 (uri (git-reference
6896 (url "https://github.com/jwiegley/cambl")
6897 (commit commit)))
6898 (file-name (git-file-name "cambl" version))
6899 (sha256
6900 (base32 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6901 (build-system asdf-build-system/sbcl)
6902 (native-inputs
6903 `(("xlunit" ,sbcl-xlunit)))
6904 (inputs
6905 `(("alexandria" ,sbcl-alexandria)
6906 ("cl-containers" ,sbcl-cl-containers)
6907 ("local-time" ,sbcl-local-time)
6908 ("periods" ,sbcl-periods)))
6909 (arguments
6910 '(#:asd-files '("fprog.asd"
6911 "cambl.asd")))
6912 (synopsis "Commoditized amounts and balances for Common Lisp")
6913 (description
6914 "CAMBL is a Common Lisp library providing a convenient facility for
6915 working with commoditized values. It does not allow compound units (and so is
6916 not suited for scientific operations) but does work rather nicely for the
6917 purpose of financial calculations.")
6918 (home-page "https://github.com/jwiegley/cambl")
6919 (license license:bsd-3))))
6920
6921 (define-public cl-cambl
6922 (sbcl-package->cl-source-package sbcl-cambl))
6923
6924 (define-public ecl-cambl
6925 (sbcl-package->ecl-package sbcl-cambl))
6926
6927 (define-public sbcl-cl-ledger
6928 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6929 (revision "1"))
6930 (package
6931 (name "sbcl-cl-ledger")
6932 (version (git-version "4.0.0" revision commit))
6933 (source
6934 (origin
6935 (method git-fetch)
6936 (uri (git-reference
6937 (url "https://github.com/ledger/cl-ledger")
6938 (commit commit)))
6939 (file-name (git-file-name name version))
6940 (sha256
6941 (base32
6942 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6943 (build-system asdf-build-system/sbcl)
6944 (inputs
6945 `(("cambl" ,sbcl-cambl)
6946 ("cl-ppcre" ,sbcl-cl-ppcre)
6947 ("local-time" ,sbcl-local-time)
6948 ("periods" ,sbcl-periods)))
6949 (arguments
6950 '(#:phases
6951 (modify-phases %standard-phases
6952 (add-after 'unpack 'fix-system-definition
6953 (lambda _
6954 (substitute* "cl-ledger.asd"
6955 ((" :build-operation program-op") "")
6956 ((" :build-pathname \"cl-ledger\"") "")
6957 ((" :entry-point \"ledger::main\"") ""))
6958 #t)))))
6959 (synopsis "Common Lisp port of the Ledger accounting system")
6960 (description
6961 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6962 system.")
6963 (home-page "https://github.com/ledger/cl-ledger")
6964 (license license:bsd-3))))
6965
6966 (define-public cl-ledger
6967 (sbcl-package->cl-source-package sbcl-cl-ledger))
6968
6969 (define-public ecl-cl-ledger
6970 (sbcl-package->ecl-package sbcl-cl-ledger))
6971
6972 (define-public sbcl-bst
6973 (let ((commit "8545aed0d504df2829ad139566feeabe22305388")
6974 (revision "0"))
6975 (package
6976 (name "sbcl-bst")
6977 (version (git-version "2.0" revision commit))
6978 (source
6979 (origin
6980 (method git-fetch)
6981 (uri (git-reference
6982 (url "https://github.com/glv2/bst")
6983 (commit commit)))
6984 (file-name (git-file-name name version))
6985 (sha256
6986 (base32 "18ig7rvxcra69437g0i8sxyv7c5dg26jqnx1rc2f9pxmihdprgk8"))))
6987 (build-system asdf-build-system/sbcl)
6988 (native-inputs
6989 `(("alexandria" ,sbcl-alexandria)
6990 ("fiveam" ,sbcl-fiveam)))
6991 (synopsis "Binary search tree for Common Lisp")
6992 (description
6993 "BST is a Common Lisp library for working with binary search trees that
6994 can contain any kind of values.")
6995 (home-page "https://github.com/glv2/bst")
6996 (license license:gpl3))))
6997
6998 (define-public cl-bst
6999 (sbcl-package->cl-source-package sbcl-bst))
7000
7001 (define-public ecl-bst
7002 (sbcl-package->ecl-package sbcl-bst))
7003
7004 (define-public sbcl-cl-octet-streams
7005 (package
7006 (name "sbcl-cl-octet-streams")
7007 (version "1.2")
7008 (source
7009 (origin
7010 (method git-fetch)
7011 (uri (git-reference
7012 (url "https://github.com/glv2/cl-octet-streams")
7013 (commit (string-append "v" version))))
7014 (file-name (git-file-name name version))
7015 (sha256
7016 (base32 "1hffh98bv4w5yrchagzwqrc43d2p473pvw7ka4kyyvhrr52dk2f8"))))
7017 (build-system asdf-build-system/sbcl)
7018 (native-inputs
7019 `(("fiveam" ,sbcl-fiveam)))
7020 (inputs
7021 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7022 (synopsis "In-memory octet streams for Common Lisp")
7023 (description
7024 "CL-octet-streams is a library implementing in-memory octet
7025 streams for Common Lisp. It was inspired by the trivial-octet-streams and
7026 cl-plumbing libraries.")
7027 (home-page "https://github.com/glv2/cl-octet-streams")
7028 (license license:gpl3+)))
7029
7030 (define-public cl-octet-streams
7031 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
7032
7033 (define-public ecl-cl-octet-streams
7034 (sbcl-package->ecl-package sbcl-cl-octet-streams))
7035
7036 (define-public sbcl-lzlib
7037 (let ((commit "cad10f5becbcfebb44b9d311a257563778803452")
7038 (revision "2"))
7039 (package
7040 (name "sbcl-lzlib")
7041 (version (git-version "1.1" revision commit))
7042 (source
7043 (origin
7044 (method git-fetch)
7045 (uri (git-reference
7046 (url "https://github.com/glv2/cl-lzlib")
7047 (commit commit)))
7048 (file-name (git-file-name name version))
7049 (sha256
7050 (base32 "09lp7li35h4jkls0448fj1sh6pjslr1w7ranbc4szjr8g0c2bdry"))))
7051 (build-system asdf-build-system/sbcl)
7052 (native-inputs
7053 `(("fiveam" ,sbcl-fiveam)))
7054 (inputs
7055 `(("cffi" ,sbcl-cffi)
7056 ("cl-octet-streams" ,sbcl-cl-octet-streams)
7057 ("lparallel" ,sbcl-lparallel)
7058 ("lzlib" ,lzlib)))
7059 (arguments
7060 '(#:phases
7061 (modify-phases %standard-phases
7062 (add-after 'unpack 'fix-paths
7063 (lambda* (#:key inputs #:allow-other-keys)
7064 (substitute* "src/lzlib.lisp"
7065 (("liblz\\.so")
7066 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
7067 #t)))))
7068 (synopsis "Common Lisp library for lzip (de)compression")
7069 (description
7070 "This Common Lisp library provides functions for lzip (LZMA)
7071 compression/decompression using bindings to the lzlib C library.")
7072 (home-page "https://github.com/glv2/cl-lzlib")
7073 (license license:gpl3+))))
7074
7075 (define-public cl-lzlib
7076 (sbcl-package->cl-source-package sbcl-lzlib))
7077
7078 (define-public ecl-lzlib
7079 (sbcl-package->ecl-package sbcl-lzlib))
7080
7081 (define-public sbcl-chanl
7082 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
7083 (revision "1"))
7084 (package
7085 (name "sbcl-chanl")
7086 (version (git-version "0.4.1" revision commit))
7087 (source
7088 (origin
7089 (method git-fetch)
7090 (uri (git-reference
7091 (url "https://github.com/zkat/chanl")
7092 (commit commit)))
7093 (file-name (git-file-name name version))
7094 (sha256
7095 (base32
7096 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
7097 (build-system asdf-build-system/sbcl)
7098 (native-inputs
7099 `(("fiveam" ,sbcl-fiveam)))
7100 (inputs
7101 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
7102 (synopsis "Portable channel-based concurrency for Common Lisp")
7103 (description "Common Lisp library for channel-based concurrency. In
7104 a nutshell, you create various threads sequentially executing tasks you need
7105 done, and use channel objects to communicate and synchronize the state of these
7106 threads.")
7107 (home-page "https://github.com/zkat/chanl")
7108 (license (list license:expat license:bsd-3)))))
7109
7110 (define-public cl-chanl
7111 (sbcl-package->cl-source-package sbcl-chanl))
7112
7113 (define-public ecl-chanl
7114 (sbcl-package->ecl-package sbcl-chanl))
7115
7116 (define-public sbcl-cl-store
7117 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
7118 (revision "1"))
7119 (package
7120 (name "sbcl-cl-store")
7121 (version (git-version "0.8.11" revision commit))
7122 (source
7123 (origin
7124 (method git-fetch)
7125 (uri (git-reference
7126 (url "https://github.com/skypher/cl-store")
7127 (commit commit)))
7128 (file-name (git-file-name name version))
7129 (sha256
7130 (base32
7131 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
7132 (build-system asdf-build-system/sbcl)
7133 (native-inputs
7134 `(("rt" ,sbcl-rt)))
7135 (synopsis "Common Lisp library to serialize data")
7136 (description
7137 "CL-STORE is a portable serialization package which should give you the
7138 ability to store all Common Lisp data types into streams.")
7139 (home-page "https://www.common-lisp.net/project/cl-store/")
7140 (license license:expat))))
7141
7142 (define-public cl-store
7143 (sbcl-package->cl-source-package sbcl-cl-store))
7144
7145 (define-public ecl-cl-store
7146 (sbcl-package->ecl-package sbcl-cl-store))
7147
7148 (define-public sbcl-specialization-store
7149 (let ((commit "8d39a866a6f24986aad3cc52349e9cb2653496f3")
7150 (revision "1"))
7151 (package
7152 (name "sbcl-specialization-store")
7153 (version (git-version "0.0.5" revision commit))
7154 (source
7155 (origin
7156 (method git-fetch)
7157 (uri (git-reference
7158 (url "https://github.com/markcox80/specialization-store")
7159 (commit commit)))
7160 (file-name (git-file-name "specialization-store" version))
7161 (sha256
7162 (base32 "0r0bgb46q4gy72l78s7djkxq8ibb4bb3yh9brsry5lih7br8lhi0"))))
7163 (build-system asdf-build-system/sbcl)
7164 (native-inputs
7165 `(("fiveam" ,sbcl-fiveam)))
7166 (inputs
7167 `(("alexandria" ,sbcl-alexandria)
7168 ("introspect-environment" ,sbcl-introspect-environment)))
7169 (home-page "https://github.com/markcox80/specialization-store")
7170 (synopsis "Different type of generic function for Common Lisp")
7171 (description
7172 "SPECIALIZATION-STORE system provides a new kind of function, called
7173 a store function, whose behavior depends on the types of objects passed to the
7174 function.")
7175 (license license:bsd-2))))
7176
7177 (define-public ecl-specialization-store
7178 (package
7179 (inherit (sbcl-package->ecl-package sbcl-specialization-store))
7180 (arguments
7181 ;; TODO: Find why the tests get stuck forever; disable them for now.
7182 `(#:tests? #f))))
7183
7184 (define-public cl-specialization-store
7185 (sbcl-package->cl-source-package sbcl-specialization-store))
7186
7187 (define-public sbcl-cl-gobject-introspection
7188 (let ((commit "d0136c8d9ade2560123af1fc55bbf70d2e3db539")
7189 (revision "1"))
7190 (package
7191 (name "sbcl-cl-gobject-introspection")
7192 (version (git-version "0.3" revision commit))
7193 (home-page "https://github.com/andy128k/cl-gobject-introspection")
7194 (source
7195 (origin
7196 (method git-fetch)
7197 (uri (git-reference
7198 (url home-page)
7199 (commit commit)))
7200 (file-name (git-file-name name version))
7201 (sha256
7202 (base32
7203 "0dz0r73pq7yhz2iq2jnkq977awx2zws2qfxdcy33329sys1ii32p"))))
7204 (build-system asdf-build-system/sbcl)
7205 (inputs
7206 `(("alexandria" ,sbcl-alexandria)
7207 ("cffi" ,sbcl-cffi)
7208 ("iterate" ,sbcl-iterate)
7209 ("trivial-garbage" ,sbcl-trivial-garbage)
7210 ("glib" ,glib)
7211 ("gobject-introspection" ,gobject-introspection)))
7212 (native-inputs
7213 `(("fiveam" ,sbcl-fiveam)))
7214 (arguments
7215 '(#:phases
7216 (modify-phases %standard-phases
7217 (add-after 'unpack 'fix-paths
7218 (lambda* (#:key inputs #:allow-other-keys)
7219 (substitute* "src/init.lisp"
7220 (("libgobject-2\\.0\\.so")
7221 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
7222 (("libgirepository-1\\.0\\.so")
7223 (string-append (assoc-ref inputs "gobject-introspection")
7224 "/lib/libgirepository-1.0.so")))
7225 #t)))))
7226 (synopsis "Common Lisp bindings to GObject Introspection")
7227 (description
7228 "This library is a bridge between Common Lisp and GObject
7229 Introspection, which enables Common Lisp programs to access the full interface
7230 of C+GObject libraries without the need of writing dedicated bindings.")
7231 (license (list license:bsd-3
7232 ;; Tests are under a different license.
7233 license:llgpl)))))
7234
7235 (define-public cl-gobject-introspection
7236 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
7237
7238 (define-public ecl-cl-gobject-introspection
7239 (sbcl-package->ecl-package sbcl-cl-gobject-introspection))
7240
7241 (define-public sbcl-cl-slug
7242 (let ((commit "ffb229d10f0d3f7f54e706791725225e200bf749")
7243 (revision "1"))
7244 (package
7245 (name "sbcl-cl-slug")
7246 (version (git-version "0.4.1" revision commit))
7247 (source
7248 (origin
7249 (method git-fetch)
7250 (uri (git-reference
7251 (url "https://github.com/EuAndreh/cl-slug")
7252 (commit commit)))
7253 (file-name (git-file-name "cl-slug" version))
7254 (sha256
7255 (base32 "1asdq6xllmsvfw5fky9wblqcx9isac9jrrlkfl7vyxcq1wxrnflx"))))
7256 (build-system asdf-build-system/sbcl)
7257 (arguments
7258 `(#:asd-files '("cl-slug-test.asd" "cl-slug.asd")
7259 #:asd-systems '("cl-slug-test" "cl-slug")))
7260 (native-inputs
7261 `(("prove" ,sbcl-prove)))
7262 (inputs
7263 `(("ppcre" ,sbcl-cl-ppcre)))
7264 (home-page "https://github.com/EuAndreh/cl-slug")
7265 (synopsis "Multi-language slug formater")
7266 (description
7267 "This is a small Common Lisp library to make slugs, mainly for URIs,
7268 from english and beyond.")
7269 (license license:llgpl))))
7270
7271 (define-public ecl-cl-slug
7272 (sbcl-package->ecl-package sbcl-cl-slug))
7273
7274 (define-public cl-slug
7275 (sbcl-package->cl-source-package sbcl-cl-slug))
7276
7277 (define-public sbcl-string-case
7278 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
7279 (revision "0"))
7280 (package
7281 (name "sbcl-string-case")
7282 (version (git-version "0.0.2" revision commit))
7283 (home-page "https://github.com/pkhuong/string-case")
7284 (source
7285 (origin
7286 (method git-fetch)
7287 (uri (git-reference
7288 (url home-page)
7289 (commit commit)))
7290 (file-name (git-file-name name version))
7291 (sha256
7292 (base32
7293 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7294 (build-system asdf-build-system/sbcl)
7295 (synopsis "Efficient string= case in Common Lisp")
7296 (description
7297 "@code{string-case} is a Common Lisp macro that generates specialised decision
7298 trees to dispatch on string equality.")
7299 (license license:bsd-3))))
7300
7301 (define-public cl-string-case
7302 (sbcl-package->cl-source-package sbcl-string-case))
7303
7304 (define-public ecl-string-case
7305 (sbcl-package->ecl-package sbcl-string-case))
7306
7307 (define-public sbcl-garbage-pools
7308 (let ((commit "9a7cb7f48b04197c0495df3b6d2e8395ad13f790")
7309 (revision "1"))
7310 (package
7311 (name "sbcl-garbage-pools")
7312 (version (git-version "0.1.2" revision commit))
7313 (source
7314 (origin
7315 (method git-fetch)
7316 (uri (git-reference
7317 (url "https://github.com/archimag/garbage-pools")
7318 (commit commit)))
7319 (file-name (git-file-name name version))
7320 (sha256
7321 (base32 "04jqwr6j138him6wc4nrwjzm4lvyj5j31xqab02nkf8h9hmsf5v1"))))
7322 (build-system asdf-build-system/sbcl)
7323 (home-page "https://github.com/archimag/garbage-pools")
7324 (synopsis "Resource management pools for Common Lisp")
7325 (description "GARBAGE-POOLS is Common Lisp re-implementation of the APR
7326 Pools for resource management.")
7327 (license license:expat))))
7328
7329 (define-public ecl-garbage-pools
7330 (sbcl-package->ecl-package sbcl-garbage-pools))
7331
7332 (define-public cl-garbage-pools
7333 (sbcl-package->cl-source-package sbcl-garbage-pools))
7334
7335 (define-public sbcl-global-vars
7336 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7337 (revision "0"))
7338 (package
7339 (name "sbcl-global-vars")
7340 (version (git-version "1.0.0" revision commit))
7341 (home-page "https://github.com/lmj/global-vars")
7342 (source
7343 (origin
7344 (method git-fetch)
7345 (uri (git-reference
7346 (url home-page)
7347 (commit commit)))
7348 (file-name (git-file-name name version))
7349 (sha256
7350 (base32
7351 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7352 (build-system asdf-build-system/sbcl)
7353 (synopsis "Efficient global variables in Common Lisp")
7354 (description
7355 "In Common Lisp, a special variable that is never dynamically bound
7356 typically serves as a stand-in for a global variable. The @code{global-vars}
7357 library provides true global variables that are implemented by some compilers.
7358 An attempt to rebind a global variable properly results in a compiler error.
7359 That is, a global variable cannot be dynamically bound.
7360
7361 Global variables therefore allow us to communicate an intended usage that
7362 differs from special variables. Global variables are also more efficient than
7363 special variables, especially in the presence of threads.")
7364 (license license:expat))))
7365
7366 (define-public cl-global-vars
7367 (sbcl-package->cl-source-package sbcl-global-vars))
7368
7369 (define-public ecl-global-vars
7370 (sbcl-package->ecl-package sbcl-global-vars))
7371
7372 (define-public sbcl-trivial-file-size
7373 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7374 (revision "0"))
7375 (package
7376 (name "sbcl-trivial-file-size")
7377 (version (git-version "0.0.0" revision commit))
7378 (home-page "https://github.com/ruricolist/trivial-file-size")
7379 (source
7380 (origin
7381 (method git-fetch)
7382 (uri (git-reference
7383 (url home-page)
7384 (commit commit)))
7385 (file-name (git-file-name name version))
7386 (sha256
7387 (base32
7388 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7389 (build-system asdf-build-system/sbcl)
7390 (native-inputs
7391 `(("fiveam" ,sbcl-fiveam)))
7392 (synopsis "Size of a file in bytes in Common Lisp")
7393 (description
7394 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7395 is to open the file with an element type of (unsigned-byte 8) and then
7396 calculate the length of the stream. This is less than ideal. In most cases
7397 it is better to get the size of the file from its metadata, using a system
7398 call.
7399
7400 This library exports a single function, file-size-in-octets. It returns the
7401 size of a file in bytes, using system calls when possible.")
7402 (license license:expat))))
7403
7404 (define-public cl-trivial-file-size
7405 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7406
7407 (define-public ecl-trivial-file-size
7408 (sbcl-package->ecl-package sbcl-trivial-file-size))
7409
7410 (define-public sbcl-trivial-macroexpand-all
7411 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7412 (revision "0"))
7413 (package
7414 (name "sbcl-trivial-macroexpand-all")
7415 (version (git-version "0.0.0" revision commit))
7416 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7417 (source
7418 (origin
7419 (method git-fetch)
7420 (uri (git-reference
7421 (url home-page)
7422 (commit commit)))
7423 (file-name (git-file-name name version))
7424 (sha256
7425 (base32
7426 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7427 (build-system asdf-build-system/sbcl)
7428 (native-inputs
7429 `(("fiveam" ,sbcl-fiveam)))
7430 (synopsis "Portable macroexpand-all for Common Lisp")
7431 (description
7432 "This library provides a macroexpand-all function that calls the
7433 implementation specific equivalent.")
7434 (license license:unlicense))))
7435
7436 (define-public cl-trivial-macroexpand-all
7437 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7438
7439 (define-public ecl-trivial-macroexpand-all
7440 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7441
7442 (define-public sbcl-serapeum
7443 (let ((commit "263f415a350736b44e3878524ff3997e656fca32")
7444 (revision "4"))
7445 (package
7446 (name "sbcl-serapeum")
7447 (version (git-version "0.0.0" revision commit))
7448 (home-page "https://github.com/ruricolist/serapeum")
7449 (source
7450 (origin
7451 (method git-fetch)
7452 (uri (git-reference
7453 (url home-page)
7454 (commit commit)))
7455 (file-name (git-file-name name version))
7456 (sha256
7457 (base32
7458 "1669yidvxq41s3g6hb2jk21bcb5s2bnfsacpyd5b0hdxbmc7knq3"))))
7459 (build-system asdf-build-system/sbcl)
7460 (inputs
7461 `(("alexandria" ,sbcl-alexandria)
7462 ("trivia" ,sbcl-trivia)
7463 ("split-sequence" ,sbcl-split-sequence)
7464 ("string-case" ,sbcl-string-case)
7465 ("parse-number" ,sbcl-parse-number)
7466 ("trivial-garbage" ,sbcl-trivial-garbage)
7467 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7468 ("named-readtables" ,sbcl-named-readtables)
7469 ("fare-quasiquote" ,sbcl-fare-quasiquote)
7470 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7471 ("global-vars" ,sbcl-global-vars)
7472 ("trivial-file-size" ,sbcl-trivial-file-size)
7473 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7474 (native-inputs
7475 `(("fiveam" ,sbcl-fiveam)
7476 ("local-time" ,sbcl-local-time)))
7477 (arguments
7478 '(#:phases
7479 (modify-phases %standard-phases
7480 (add-after 'unpack 'disable-failing-tests
7481 (lambda* (#:key inputs #:allow-other-keys)
7482 (substitute* "serapeum.asd"
7483 ;; Guix does not have Quicklisp, and probably never will.
7484 (("\\(:file \"quicklisp\"\\)") ""))
7485 #t)))))
7486 (synopsis "Common Lisp utility library beyond Alexandria")
7487 (description
7488 "Serapeum is a conservative library of Common Lisp utilities. It is a
7489 supplement, not a competitor, to Alexandria.")
7490 (license license:expat))))
7491
7492 (define-public cl-serapeum
7493 (sbcl-package->cl-source-package sbcl-serapeum))
7494
7495 (define-public ecl-serapeum
7496 (sbcl-package->ecl-package sbcl-serapeum))
7497
7498 (define-public sbcl-arrows
7499 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7500 (revision "0"))
7501 (package
7502 (name "sbcl-arrows")
7503 (version (git-version "0.2.0" revision commit))
7504 (source
7505 (origin
7506 (method git-fetch)
7507 (uri (git-reference
7508 (url "https://gitlab.com/Harleqin/arrows.git")
7509 (commit commit)))
7510 (file-name (git-file-name name version))
7511 (sha256
7512 (base32
7513 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7514 (build-system asdf-build-system/sbcl)
7515 (native-inputs
7516 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7517 (synopsis "Clojure-like arrow macros for Common Lisp")
7518 (description
7519 "This library implements the @code{->} and @code{->>} macros from
7520 Clojure, as well as several expansions on the idea.")
7521 (home-page "https://gitlab.com/Harleqin/arrows")
7522 (license license:public-domain))))
7523
7524 (define-public cl-arrows
7525 (sbcl-package->cl-source-package sbcl-arrows))
7526
7527 (define-public ecl-arrows
7528 (sbcl-package->ecl-package sbcl-arrows))
7529
7530 (define-public sbcl-simple-parallel-tasks
7531 (let ((commit "ce7b60f788d8f68dfb69b24aac54c0e3b63379a6")
7532 (revision "1"))
7533 (package
7534 (name "sbcl-simple-parallel-tasks")
7535 (version (git-version "1.0" revision commit))
7536 (source
7537 (origin
7538 (method git-fetch)
7539 (uri (git-reference
7540 (url "https://github.com/glv2/simple-parallel-tasks")
7541 (commit commit)))
7542 (file-name (git-file-name name version))
7543 (sha256
7544 (base32 "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7"))))
7545 (build-system asdf-build-system/sbcl)
7546 (native-inputs
7547 `(("fiveam" ,sbcl-fiveam)))
7548 (inputs
7549 `(("chanl" ,sbcl-chanl)))
7550 (synopsis "Common Lisp library to evaluate some forms in parallel")
7551 (description "This is a simple Common Lisp library to evaluate some
7552 forms in parallel.")
7553 (home-page "https://github.com/glv2/simple-parallel-tasks")
7554 (license license:gpl3))))
7555
7556 (define-public cl-simple-parallel-tasks
7557 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7558
7559 (define-public ecl-simple-parallel-tasks
7560 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7561
7562 (define-public sbcl-cl-heap
7563 (package
7564 (name "sbcl-cl-heap")
7565 (version "0.1.6")
7566 (source
7567 (origin
7568 (method url-fetch)
7569 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7570 "cl-heap_" version ".tar.gz"))
7571 (sha256
7572 (base32
7573 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7574 (build-system asdf-build-system/sbcl)
7575 (native-inputs
7576 `(("xlunit" ,sbcl-xlunit)))
7577 (arguments
7578 `(#:test-asd-file "cl-heap-tests.asd"))
7579 (synopsis "Heap and priority queue data structures for Common Lisp")
7580 (description
7581 "CL-HEAP provides various implementations of heap data structures (a
7582 binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7583 (home-page "https://common-lisp.net/project/cl-heap/")
7584 (license license:gpl3+)))
7585
7586 (define-public cl-heap
7587 (sbcl-package->cl-source-package sbcl-cl-heap))
7588
7589 (define-public ecl-cl-heap
7590 (sbcl-package->ecl-package sbcl-cl-heap))
7591
7592 (define-public sbcl-curry-compose-reader-macros
7593 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7594 (revision "0"))
7595 (package
7596 (name "sbcl-curry-compose-reader-macros")
7597 (version (git-version "1.0.0" revision commit))
7598 (source
7599 (origin
7600 (method git-fetch)
7601 (uri
7602 (git-reference
7603 (url "https://github.com/eschulte/curry-compose-reader-macros")
7604 (commit commit)))
7605 (file-name (git-file-name name version))
7606 (sha256
7607 (base32
7608 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7609 (build-system asdf-build-system/sbcl)
7610 (inputs
7611 `(("alexandria" ,sbcl-alexandria)
7612 ("named-readtables" ,sbcl-named-readtables)))
7613 (synopsis "Reader macros for partial application and composition")
7614 (description
7615 "This Common Lisp library provides reader macros for concise expression
7616 of function partial application and composition.")
7617 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7618 (license license:public-domain))))
7619
7620 (define-public cl-curry-compose-reader-macros
7621 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7622
7623 (define-public ecl-curry-compose-reader-macros
7624 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7625
7626 (define-public sbcl-yason
7627 (package
7628 (name "sbcl-yason")
7629 (version "0.7.7")
7630 (source
7631 (origin
7632 (method git-fetch)
7633 (uri (git-reference
7634 (url "https://github.com/phmarek/yason")
7635 (commit (string-append "v" version))))
7636 (file-name (git-file-name name version))
7637 (sha256
7638 (base32
7639 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7640 (build-system asdf-build-system/sbcl)
7641 (inputs
7642 `(("alexandria" ,sbcl-alexandria)
7643 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7644 (synopsis "Common Lisp JSON parser/encoder")
7645 (description
7646 "YASON is a Common Lisp library for encoding and decoding data in the
7647 JSON interchange format.")
7648 (home-page "https://github.com/phmarek/yason")
7649 (license license:bsd-3)))
7650
7651 (define-public cl-yason
7652 (sbcl-package->cl-source-package sbcl-yason))
7653
7654 (define-public ecl-yason
7655 (sbcl-package->ecl-package sbcl-yason))
7656
7657 (define-public sbcl-stefil
7658 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7659 (revision "0"))
7660 (package
7661 (name "sbcl-stefil")
7662 (version (git-version "0.1" revision commit))
7663 (source
7664 (origin
7665 (method git-fetch)
7666 (uri (git-reference
7667 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7668 (commit commit)))
7669 (file-name (git-file-name name version))
7670 (sha256
7671 (base32
7672 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7673 (build-system asdf-build-system/sbcl)
7674 (inputs
7675 `(("alexandria" ,sbcl-alexandria)
7676 ("iterate" ,sbcl-iterate)
7677 ("metabang-bind" ,sbcl-metabang-bind)
7678 ("swank" ,sbcl-slime-swank)))
7679 (arguments
7680 '(#:phases
7681 (modify-phases %standard-phases
7682 (add-after 'unpack 'drop-unnecessary-dependency
7683 (lambda _
7684 (substitute* "package.lisp"
7685 ((":stefil-system") ""))
7686 #t)))))
7687 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7688 (synopsis "Simple test framework")
7689 (description
7690 "Stefil is a simple test framework for Common Lisp, with a focus on
7691 interactive development.")
7692 (license license:public-domain))))
7693
7694 (define-public cl-stefil
7695 (sbcl-package->cl-source-package sbcl-stefil))
7696
7697 (define-public ecl-stefil
7698 (sbcl-package->ecl-package sbcl-stefil))
7699
7700 (define-public sbcl-graph
7701 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7702 (revision "0"))
7703 (package
7704 (name "sbcl-graph")
7705 (version (git-version "0.0.0" revision commit))
7706 (source
7707 (origin
7708 (method git-fetch)
7709 (uri
7710 (git-reference
7711 (url "https://github.com/eschulte/graph")
7712 (commit commit)))
7713 (file-name (git-file-name name version))
7714 (sha256
7715 (base32
7716 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))))
7717 (build-system asdf-build-system/sbcl)
7718 (native-inputs
7719 `(("stefil" ,sbcl-stefil)))
7720 (inputs
7721 `(("alexandria" ,sbcl-alexandria)
7722 ("cl-heap" ,sbcl-cl-heap)
7723 ("cl-ppcre" ,sbcl-cl-ppcre)
7724 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7725 ("metabang-bind" ,sbcl-metabang-bind)
7726 ("named-readtables" ,sbcl-named-readtables)
7727 ("yason" ,sbcl-yason)))
7728 (arguments
7729 '(#:asd-systems '("graph"
7730 "graph/dot"
7731 "graph/json")))
7732 (synopsis "Graph data structure and algorithms for Common Lisp")
7733 (description
7734 "The GRAPH Common Lisp library provides a data structures to represent
7735 graphs, as well as some graph manipulation and analysis algorithms (shortest
7736 path, maximum flow, minimum spanning tree, etc.).")
7737 (home-page "https://eschulte.github.io/graph/")
7738 (license license:gpl3+))))
7739
7740 (define-public cl-graph
7741 (sbcl-package->cl-source-package sbcl-graph))
7742
7743 (define-public ecl-graph
7744 (sbcl-package->ecl-package sbcl-graph))
7745
7746 (define-public sbcl-trivial-indent
7747 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7748 (revision "0"))
7749 (package
7750 (name "sbcl-trivial-indent")
7751 (version (git-version "1.0.0" revision commit))
7752 (source
7753 (origin
7754 (method git-fetch)
7755 (uri
7756 (git-reference
7757 (url "https://github.com/Shinmera/trivial-indent")
7758 (commit commit)))
7759 (file-name (git-file-name name version))
7760 (sha256
7761 (base32
7762 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7763 (build-system asdf-build-system/sbcl)
7764 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7765 (description
7766 "This library allows you to define custom indentation hints for your
7767 macros if the one recognised by SLIME automatically produces unwanted
7768 results.")
7769 (home-page "https://shinmera.github.io/trivial-indent/")
7770 (license license:zlib))))
7771
7772 (define-public cl-trivial-indent
7773 (sbcl-package->cl-source-package sbcl-trivial-indent))
7774
7775 (define-public ecl-trivial-indent
7776 (sbcl-package->ecl-package sbcl-trivial-indent))
7777
7778 (define-public sbcl-documentation-utils
7779 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7780 (revision "0"))
7781 (package
7782 (name "sbcl-documentation-utils")
7783 (version (git-version "1.2.0" revision commit))
7784 (source
7785 (origin
7786 (method git-fetch)
7787 (uri
7788 (git-reference
7789 (url "https://github.com/Shinmera/documentation-utils")
7790 (commit commit)))
7791 (file-name (git-file-name name version))
7792 (sha256
7793 (base32
7794 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7795 (build-system asdf-build-system/sbcl)
7796 (inputs
7797 `(("trivial-indent" ,sbcl-trivial-indent)))
7798 (synopsis "Few simple tools to document Common Lisp libraries")
7799 (description
7800 "This is a small library to help you with managing the Common Lisp
7801 docstrings for your library.")
7802 (home-page "https://shinmera.github.io/documentation-utils/")
7803 (license license:zlib))))
7804
7805 (define-public cl-documentation-utils
7806 (sbcl-package->cl-source-package sbcl-documentation-utils))
7807
7808 (define-public ecl-documentation-utils
7809 (sbcl-package->ecl-package sbcl-documentation-utils))
7810
7811 (define-public sbcl-documentation-utils-extensions
7812 (let ((commit "f67f8a05d583174662a594b79356b201c1d9d750"))
7813 (package
7814 (name "sbcl-documentation-utils-extensions")
7815 (version (git-version "0.0.0" "1" commit))
7816 (source
7817 (origin
7818 (method git-fetch)
7819 (uri
7820 (git-reference
7821 (url "https://github.com/sirherrbatka/documentation-utils-extensions/")
7822 (commit commit)))
7823 (file-name (git-file-name name version))
7824 (sha256
7825 (base32
7826 "0pn45c9rbxlnhn5nvhqz6kyv0nlirwxpg4j27niwdq80yxzsn51f"))))
7827 (build-system asdf-build-system/sbcl)
7828 (inputs
7829 `(("documentation-utils" ,sbcl-documentation-utils)))
7830 (home-page "https://github.com/sirherrbatka/documentation-utils-extensions")
7831 (synopsis "Set of extensions for documentation-utils")
7832 (description
7833 "Use @code{rich-formatter} to format documentation with sections @code{:syntax},
7834 @code{:arguments}, @code{:examples}, @code{:description}, @code{:returns},
7835 @code{:side-effects}, @code{:thread-safety}, @code{:affected-by},
7836 @code{:see-also} and @code{:notes}. Gather unformatted input by using
7837 @code{rich-aggregating-formatter} and @code{*DOCUMENTATION*} variable. Find
7838 gathered documentation with find-documentation function. Execute code stored
7839 in documentation with @code{execute-documentation}. See the examples in the
7840 @code{src/documentation.lisp} file. See the @code{documentation-utils} system
7841 for more information.")
7842 (license license:expat))))
7843
7844 (define-public cl-documentation-utils-extensions
7845 (sbcl-package->cl-source-package sbcl-documentation-utils-extensions))
7846
7847 (define-public ecl-documentation-utils-extensions
7848 (sbcl-package->ecl-package sbcl-documentation-utils-extensions))
7849
7850 (define-public sbcl-form-fiddle
7851 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7852 (revision "0"))
7853 (package
7854 (name "sbcl-form-fiddle")
7855 (version (git-version "1.1.0" revision commit))
7856 (source
7857 (origin
7858 (method git-fetch)
7859 (uri
7860 (git-reference
7861 (url "https://github.com/Shinmera/form-fiddle")
7862 (commit commit)))
7863 (file-name (git-file-name name version))
7864 (sha256
7865 (base32
7866 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7867 (build-system asdf-build-system/sbcl)
7868 (inputs
7869 `(("documentation-utils" ,sbcl-documentation-utils)))
7870 (synopsis "Utilities to destructure Common Lisp lambda forms")
7871 (description
7872 "Often times we need to destructure a form definition in a Common Lisp
7873 macro. This library provides a set of simple utilities to help with that.")
7874 (home-page "https://shinmera.github.io/form-fiddle/")
7875 (license license:zlib))))
7876
7877 (define-public cl-form-fiddle
7878 (sbcl-package->cl-source-package sbcl-form-fiddle))
7879
7880 (define-public ecl-form-fiddle
7881 (sbcl-package->ecl-package sbcl-form-fiddle))
7882
7883 (define-public sbcl-parachute
7884 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7885 (revision "0"))
7886 (package
7887 (name "sbcl-parachute")
7888 (version (git-version "1.1.1" revision commit))
7889 (source
7890 (origin
7891 (method git-fetch)
7892 (uri
7893 (git-reference
7894 (url "https://github.com/Shinmera/parachute")
7895 (commit commit)))
7896 (file-name (git-file-name name version))
7897 (sha256
7898 (base32
7899 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7900 (build-system asdf-build-system/sbcl)
7901 (inputs
7902 `(("documentation-utils" ,sbcl-documentation-utils)
7903 ("form-fiddle" ,sbcl-form-fiddle)))
7904 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7905 (description
7906 "Parachute is a simple-to-use and extensible testing framework.
7907 In Parachute, things are organised as a bunch of named tests within a package.
7908 Each test can contain a bunch of test forms that make up its body.")
7909 (home-page "https://shinmera.github.io/parachute/")
7910 (license license:zlib))))
7911
7912 (define-public cl-parachute
7913 (sbcl-package->cl-source-package sbcl-parachute))
7914
7915 (define-public ecl-parachute
7916 (sbcl-package->ecl-package sbcl-parachute))
7917
7918 (define-public sbcl-array-utils
7919 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7920 (revision "0"))
7921 (package
7922 (name "sbcl-array-utils")
7923 (version (git-version "1.1.1" revision commit))
7924 (source
7925 (origin
7926 (method git-fetch)
7927 (uri
7928 (git-reference
7929 (url "https://github.com/Shinmera/array-utils")
7930 (commit commit)))
7931 (file-name (git-file-name name version))
7932 (sha256
7933 (base32
7934 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7935 (build-system asdf-build-system/sbcl)
7936 (native-inputs
7937 `(("parachute" ,sbcl-parachute)))
7938 (inputs
7939 `(("documentation-utils" ,sbcl-documentation-utils)))
7940 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7941 (description
7942 "A miniature toolkit that contains some useful shifting/popping/pushing
7943 functions for arrays and vectors. Originally from Plump.")
7944 (home-page "https://shinmera.github.io/array-utils/")
7945 (license license:zlib))))
7946
7947 (define-public cl-array-utils
7948 (sbcl-package->cl-source-package sbcl-array-utils))
7949
7950 (define-public ecl-array-utils
7951 (sbcl-package->ecl-package sbcl-array-utils))
7952
7953 (define-public sbcl-plump
7954 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
7955 (revision "1"))
7956 (package
7957 (name "sbcl-plump")
7958 (version (git-version "2.0.0" revision commit))
7959 (source
7960 (origin
7961 (method git-fetch)
7962 (uri
7963 (git-reference
7964 (url "https://github.com/Shinmera/plump")
7965 (commit commit)))
7966 (file-name (git-file-name name version))
7967 (sha256
7968 (base32
7969 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
7970 (build-system asdf-build-system/sbcl)
7971 (inputs
7972 `(("array-utils" ,sbcl-array-utils)
7973 ("documentation-utils" ,sbcl-documentation-utils)))
7974 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7975 (description
7976 "Plump is a parser for HTML/XML-like documents, focusing on being
7977 lenient towards invalid markup. It can handle things like invalid attributes,
7978 bad closing tag order, unencoded entities, inexistent tag types, self-closing
7979 tags and so on. It parses documents to a class representation and offers a
7980 small set of DOM functions to manipulate it. It can be extended to parse to
7981 your own classes.")
7982 (home-page "https://shinmera.github.io/plump/")
7983 (license license:zlib))))
7984
7985 (define-public cl-plump
7986 (sbcl-package->cl-source-package sbcl-plump))
7987
7988 (define-public ecl-plump
7989 (sbcl-package->ecl-package sbcl-plump))
7990
7991 ;;; Split the antik package in two to work around the circular dependency
7992 ;;; between antik/antik and antik/gsll.
7993 (define-public sbcl-antik-base
7994 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7995 (revision "1"))
7996 (package
7997 (name "sbcl-antik-base")
7998 (version (git-version "0.0.0" revision commit))
7999 (source
8000 (origin
8001 (method git-fetch)
8002 (uri (git-reference
8003 (url "https://gitlab.common-lisp.net/antik/antik.git")
8004 (commit commit)))
8005 (file-name (git-file-name name version))
8006 (sha256
8007 (base32
8008 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
8009 (build-system asdf-build-system/sbcl)
8010 (inputs
8011 `(("alexandria" ,sbcl-alexandria)
8012 ("cffi" ,sbcl-cffi)
8013 ("cl-ppcre" ,sbcl-cl-ppcre)
8014 ("drakma" ,sbcl-drakma)
8015 ("fare-utils" ,sbcl-fare-utils)
8016 ("iterate" ,sbcl-iterate)
8017 ("metabang-bind" ,sbcl-metabang-bind)
8018 ("named-readtables" ,sbcl-named-readtables)
8019 ("split-sequence" ,sbcl-split-sequence)
8020 ("static-vectors" ,sbcl-static-vectors)
8021 ("trivial-garbage" ,sbcl-trivial-garbage)
8022 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
8023 (native-inputs
8024 `(("lisp-unit" ,sbcl-lisp-unit)))
8025 (arguments
8026 '(#:asd-systems '("antik-base"
8027 "foreign-array")
8028 #:phases
8029 (modify-phases %standard-phases
8030 (add-after 'unpack 'fix-build
8031 (lambda _
8032 (for-each delete-file
8033 '("antik.asd"
8034 "physical-dimension.asd"
8035 "science-data.asd"))
8036 #t)))))
8037 (synopsis "Scientific and engineering computation in Common Lisp")
8038 (description
8039 "Antik provides a foundation for scientific and engineering
8040 computation in Common Lisp. It is designed not only to facilitate
8041 numerical computations, but to permit the use of numerical computation
8042 libraries and the interchange of data and procedures, whether
8043 foreign (non-Lisp) or Lisp libraries. It is named after the
8044 Antikythera mechanism, one of the oldest examples of a scientific
8045 computer known.")
8046 (home-page "https://common-lisp.net/project/antik/")
8047 (license license:gpl3))))
8048
8049 (define-public cl-antik-base
8050 (sbcl-package->cl-source-package sbcl-antik-base))
8051
8052 (define-public ecl-antik-base
8053 (let ((pkg (sbcl-package->ecl-package sbcl-antik-base)))
8054 (package
8055 (inherit pkg)
8056 (arguments
8057 (substitute-keyword-arguments (package-arguments pkg)
8058 ((#:phases phases)
8059 `(modify-phases ,phases
8060 (add-after 'unpack 'fix-readtable
8061 (lambda _
8062 (substitute* "input-output/readtable.lisp"
8063 (("#-ccl")
8064 "#-(or ccl ecl)"))
8065 #t)))))))))
8066
8067 (define-public sbcl-gsll
8068 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
8069 (revision "1"))
8070 (package
8071 (name "sbcl-gsll")
8072 (version (git-version "0.0.0" revision commit))
8073 (source
8074 (origin
8075 (method git-fetch)
8076 (uri (git-reference
8077 (url "https://gitlab.common-lisp.net/antik/gsll.git")
8078 (commit commit)))
8079 (file-name (git-file-name name version))
8080 (sha256
8081 (base32
8082 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
8083 (build-system asdf-build-system/sbcl)
8084 (native-inputs
8085 `(("lisp-unit" ,sbcl-lisp-unit)))
8086 (inputs
8087 `(("alexandria" ,sbcl-alexandria)
8088 ("antik-base" ,sbcl-antik-base)
8089 ("cffi" ,sbcl-cffi)
8090 ("gsl" ,gsl)
8091 ("metabang-bind" ,sbcl-metabang-bind)
8092 ("trivial-features" ,sbcl-trivial-features)
8093 ("trivial-garbage" ,sbcl-trivial-garbage)))
8094 (arguments
8095 `(#:tests? #f
8096 #:phases
8097 (modify-phases %standard-phases
8098 (add-after 'unpack 'fix-cffi-paths
8099 (lambda* (#:key inputs #:allow-other-keys)
8100 (substitute* "gsll.asd"
8101 ((":depends-on \\(#:foreign-array")
8102 ":depends-on (#:foreign-array #:cffi-libffi"))
8103 (substitute* "init/init.lisp"
8104 (("libgslcblas.so" all)
8105 (string-append
8106 (assoc-ref inputs "gsl") "/lib/" all)))
8107 (substitute* "init/init.lisp"
8108 (("libgsl.so" all)
8109 (string-append
8110 (assoc-ref inputs "gsl") "/lib/" all))))))))
8111 (synopsis "GNU Scientific Library for Lisp")
8112 (description
8113 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
8114 GNU Scientific Library (GSL) from Common Lisp. This library provides a
8115 full range of common mathematical operations useful to scientific and
8116 engineering applications. The design of the GSLL interface is such
8117 that access to most of the GSL library is possible in a Lisp-natural
8118 way; the intent is that the user not be hampered by the restrictions
8119 of the C language in which GSL has been written. GSLL thus provides
8120 interactive use of GSL for getting quick answers, even for someone not
8121 intending to program in Lisp.")
8122 (home-page "https://common-lisp.net/project/gsll/")
8123 (license license:gpl3))))
8124
8125 (define-public cl-gsll
8126 (sbcl-package->cl-source-package sbcl-gsll))
8127
8128 (define-public ecl-gsll
8129 (sbcl-package->ecl-package sbcl-gsll))
8130
8131 (define-public sbcl-antik
8132 (package
8133 (inherit sbcl-antik-base)
8134 (name "sbcl-antik")
8135 (inputs
8136 `(("antik-base" ,sbcl-antik-base)
8137 ("gsll" ,sbcl-gsll)))
8138 (arguments
8139 '(#:asd-systems '("antik"
8140 "science-data")
8141 #:phases
8142 (modify-phases %standard-phases
8143 (add-after 'unpack 'fix-build
8144 (lambda _
8145 (for-each delete-file
8146 '("antik-base.asd"
8147 "foreign-array.asd"))
8148 #t)))))))
8149
8150 (define-public cl-antik
8151 (sbcl-package->cl-source-package sbcl-antik))
8152
8153 (define-public sbcl-cl-interpol
8154 (let ((commit "70a1137f41dd8889004dbab9536b1adeac2497aa")
8155 (revision "1"))
8156 (package
8157 (name "sbcl-cl-interpol")
8158 (version (git-version "0.2.7" revision commit))
8159 (source
8160 (origin
8161 (method git-fetch)
8162 (uri (git-reference
8163 (url "https://github.com/edicl/cl-interpol")
8164 (commit commit)))
8165 (file-name (git-file-name "cl-interpol" version))
8166 (sha256
8167 (base32
8168 "1kr00zf62m7la7rxa2m5w49r9cyzamc106hvjcc8ffmi7a4jw490"))))
8169 (build-system asdf-build-system/sbcl)
8170 (inputs
8171 `(("cl-unicode" ,sbcl-cl-unicode)
8172 ("named-readtables" ,sbcl-named-readtables)))
8173 (native-inputs
8174 `(("flexi-streams" ,sbcl-flexi-streams)))
8175 (synopsis "String interpolation for Common Lisp")
8176 (description
8177 "CL-INTERPOL is a library for Common Lisp which modifies the
8178 reader so that you can have interpolation within strings similar to
8179 Perl or Unix Shell scripts. It also provides various ways to insert
8180 arbitrary characters into literal strings even if your editor/IDE
8181 doesn't support them.")
8182 (home-page "https://edicl.github.io/cl-interpol/")
8183 (license license:bsd-3))))
8184
8185 (define-public cl-interpol
8186 (sbcl-package->cl-source-package sbcl-cl-interpol))
8187
8188 (define-public ecl-cl-interpol
8189 (sbcl-package->ecl-package sbcl-cl-interpol))
8190
8191 (define-public sbcl-symbol-munger
8192 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
8193 (revision "1"))
8194 (package
8195 (name "sbcl-symbol-munger")
8196 (version (git-version "0.0.1" revision commit))
8197 (source
8198 (origin
8199 (method git-fetch)
8200 (uri (git-reference
8201 (url "https://github.com/AccelerationNet/symbol-munger")
8202 (commit commit)))
8203 (file-name (git-file-name name version))
8204 (sha256
8205 (base32
8206 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
8207 (build-system asdf-build-system/sbcl)
8208 (inputs
8209 `(("alexandria" ,sbcl-alexandria)
8210 ("iterate" ,sbcl-iterate)))
8211 (arguments
8212 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8213 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8214 '(#:tests? #f))
8215 (synopsis
8216 "Capitalization and spacing conversion functions for Common Lisp")
8217 (description
8218 "This is a Common Lisp library to change the capitalization and spacing
8219 of a string or a symbol. It can convert to and from Lisp, english, underscore
8220 and camel-case rules.")
8221 (home-page "https://github.com/AccelerationNet/symbol-munger")
8222 ;; The package declares a BSD license, but all of the license
8223 ;; text is MIT.
8224 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8225 (license license:expat))))
8226
8227 (define-public cl-symbol-munger
8228 (sbcl-package->cl-source-package sbcl-symbol-munger))
8229
8230 (define-public ecl-symbol-munger
8231 (sbcl-package->ecl-package sbcl-symbol-munger))
8232
8233 (define-public sbcl-lisp-unit2
8234 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8235 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8236 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
8237 (revision "1"))
8238 (package
8239 (name "sbcl-lisp-unit2")
8240 (version (git-version "0.2.0" revision commit))
8241 (source
8242 (origin
8243 (method git-fetch)
8244 (uri (git-reference
8245 (url "https://github.com/AccelerationNet/lisp-unit2")
8246 (commit commit)))
8247 (file-name (git-file-name name version))
8248 (sha256
8249 (base32
8250 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
8251 (build-system asdf-build-system/sbcl)
8252 (inputs
8253 `(("alexandria" ,sbcl-alexandria)
8254 ("cl-interpol" ,sbcl-cl-interpol)
8255 ("iterate" ,sbcl-iterate)
8256 ("symbol-munger" ,sbcl-symbol-munger)))
8257 (synopsis "Test Framework for Common Lisp")
8258 (description
8259 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
8260 style of JUnit for Java. It is a new version of the lisp-unit library written
8261 by Chris Riesbeck.")
8262 (home-page "https://github.com/AccelerationNet/lisp-unit2")
8263 (license license:expat))))
8264
8265 (define-public cl-lisp-unit2
8266 (sbcl-package->cl-source-package sbcl-lisp-unit2))
8267
8268 (define-public ecl-lisp-unit2
8269 (sbcl-package->ecl-package sbcl-lisp-unit2))
8270
8271 (define-public sbcl-cl-csv
8272 (let ((commit "68ecb5d816545677513d7f6308d9e5e8d2265651")
8273 (revision "2"))
8274 (package
8275 (name "sbcl-cl-csv")
8276 (version (git-version "1.0.6" revision commit))
8277 (source
8278 (origin
8279 (method git-fetch)
8280 (uri (git-reference
8281 (url "https://github.com/AccelerationNet/cl-csv")
8282 (commit commit)))
8283 (file-name (git-file-name name version))
8284 (sha256
8285 (base32
8286 "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x"))))
8287 (build-system asdf-build-system/sbcl)
8288 (arguments
8289 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8290 `(#:tests? #f))
8291 (inputs
8292 `(("alexandria" ,sbcl-alexandria)
8293 ("cl-interpol" ,sbcl-cl-interpol)
8294 ("iterate" ,sbcl-iterate)))
8295 (native-inputs
8296 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8297 (synopsis "Common lisp library for comma-separated values")
8298 (description
8299 "This is a Common Lisp library providing functions to read/write CSV
8300 from/to strings, streams and files.")
8301 (home-page "https://github.com/AccelerationNet/cl-csv")
8302 (license license:bsd-3))))
8303
8304 (define-public cl-csv
8305 (sbcl-package->cl-source-package sbcl-cl-csv))
8306
8307 (define-public ecl-cl-csv
8308 (sbcl-package->ecl-package sbcl-cl-csv))
8309
8310 (define-public sbcl-external-program
8311 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8312 (revision "1"))
8313 (package
8314 (name "sbcl-external-program")
8315 (version (git-version "0.0.6" revision commit))
8316 (source
8317 (origin
8318 (method git-fetch)
8319 (uri (git-reference
8320 (url "https://github.com/sellout/external-program")
8321 (commit commit)))
8322 (file-name (git-file-name name version))
8323 (sha256
8324 (base32
8325 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8326 (build-system asdf-build-system/sbcl)
8327 (inputs
8328 `(("trivial-features" ,sbcl-trivial-features)))
8329 (native-inputs
8330 `(("fiveam" ,sbcl-fiveam)))
8331 (synopsis "Common Lisp library for running external programs")
8332 (description
8333 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8334 process. It is an attempt to make the RUN-PROGRAM functionality in
8335 implementations like SBCL and CCL as portable as possible without
8336 sacrificing much in the way of power.")
8337 (home-page "https://github.com/sellout/external-program")
8338 (license license:llgpl))))
8339
8340 (define-public cl-external-program
8341 (sbcl-package->cl-source-package sbcl-external-program))
8342
8343 (define-public ecl-external-program
8344 (sbcl-package->ecl-package sbcl-external-program))
8345
8346 (define-public sbcl-cl-ana
8347 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8348 (revision "1"))
8349 (package
8350 (name "sbcl-cl-ana")
8351 (version (git-version "0.0.0" revision commit))
8352 (source
8353 (origin
8354 (method git-fetch)
8355 (uri (git-reference
8356 (url "https://github.com/ghollisjr/cl-ana")
8357 (commit commit)))
8358 (file-name (git-file-name name version))
8359 (sha256
8360 (base32 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8361 (build-system asdf-build-system/sbcl)
8362 (native-inputs
8363 `(("cl-fad" ,sbcl-cl-fad)))
8364 (inputs
8365 `(("alexandria" ,sbcl-alexandria)
8366 ("antik" ,sbcl-antik)
8367 ("cffi" ,sbcl-cffi)
8368 ("cl-csv" ,sbcl-cl-csv)
8369 ("closer-mop" ,sbcl-closer-mop)
8370 ("external-program" ,sbcl-external-program)
8371 ("gsl" ,gsl)
8372 ("gsll" ,sbcl-gsll)
8373 ("hdf5" ,hdf5-parallel-openmpi)
8374 ("iterate" ,sbcl-iterate)
8375 ("libffi" ,libffi)
8376 ("split-sequence" ,sbcl-split-sequence)))
8377 (arguments
8378 `(#:phases
8379 (modify-phases %standard-phases
8380 (add-after 'unpack 'fix-paths
8381 (lambda* (#:key inputs #:allow-other-keys)
8382 (substitute* "hdf-cffi/hdf-cffi.lisp"
8383 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8384 (string-append (assoc-ref inputs "hdf5")
8385 "/lib/libhdf5.so")))
8386 (substitute* "gsl-cffi/gsl-cffi.lisp"
8387 (("define-foreign-library gsl-cffi" all)
8388 (string-append all " (:unix "
8389 (assoc-ref inputs "gsl")
8390 "/lib/libgsl.so)")))
8391 #t)))))
8392 (synopsis "Common Lisp data analysis library")
8393 (description
8394 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8395 binned data analysis along with nonlinear least squares fitting and
8396 visualization.")
8397 (home-page "https://github.com/ghollisjr/cl-ana")
8398 (license license:gpl3))))
8399
8400 (define-public cl-ana
8401 (sbcl-package->cl-source-package sbcl-cl-ana))
8402
8403 (define-public sbcl-archive
8404 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
8405 (revision "1"))
8406 (package
8407 (name "sbcl-archive")
8408 (version (git-version "0.9" revision commit))
8409 (source (origin
8410 (method git-fetch)
8411 (uri (git-reference
8412 (url "https://github.com/sharplispers/archive")
8413 (commit commit)))
8414 (file-name (git-file-name name version))
8415 (sha256
8416 (base32
8417 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
8418 (build-system asdf-build-system/sbcl)
8419 (inputs
8420 `(("cl-fad" ,sbcl-cl-fad)
8421 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
8422 (synopsis "Common Lisp library for tar and cpio archives")
8423 (description
8424 "This is a Common Lisp library to read and write disk-based file
8425 archives such as those generated by the tar and cpio programs on Unix.")
8426 (home-page "https://github.com/sharplispers/archive")
8427 (license license:bsd-3))))
8428
8429 (define-public cl-archive
8430 (sbcl-package->cl-source-package sbcl-archive))
8431
8432 (define-public ecl-archive
8433 (sbcl-package->ecl-package sbcl-archive))
8434
8435 (define-public sbcl-misc-extensions
8436 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
8437 (revision "1"))
8438 (package
8439 (name "sbcl-misc-extensions")
8440 (version (git-version "3.3" revision commit))
8441 (source
8442 (origin
8443 (method git-fetch)
8444 (uri (git-reference
8445 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
8446 (commit commit)))
8447 (file-name (git-file-name name version))
8448 (sha256
8449 (base32
8450 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
8451 (build-system asdf-build-system/sbcl)
8452 (synopsis "Collection of small macros and extensions for Common Lisp")
8453 (description
8454 "This project is intended as a catchall for small, general-purpose
8455 extensions to Common Lisp. It contains:
8456
8457 @itemize
8458 @item @code{new-let}, a macro that combines and generalizes @code{let},
8459 @code{let*} and @code{multiple-value-bind},
8460 @item @code{gmap}, an iteration macro that generalizes @code{map}.
8461 @end itemize\n")
8462 (home-page "https://common-lisp.net/project/misc-extensions/")
8463 (license license:public-domain))))
8464
8465 (define-public cl-misc-extensions
8466 (sbcl-package->cl-source-package sbcl-misc-extensions))
8467
8468 (define-public ecl-misc-extensions
8469 (sbcl-package->ecl-package sbcl-misc-extensions))
8470
8471 (define-public sbcl-mt19937
8472 (package
8473 (name "sbcl-mt19937")
8474 (version "1.1")
8475 (source
8476 (origin
8477 (method url-fetch)
8478 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
8479 "mt19937-latest.tar.gz"))
8480 (sha256
8481 (base32
8482 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
8483 (build-system asdf-build-system/sbcl)
8484 (synopsis "Mersenne Twister pseudo-random number generator")
8485 (description
8486 "MT19937 is a portable Mersenne Twister pseudo-random number generator
8487 for Common Lisp.")
8488 (home-page "https://www.cliki.net/mt19937")
8489 (license license:public-domain)))
8490
8491 (define-public cl-mt19937
8492 (sbcl-package->cl-source-package sbcl-mt19937))
8493
8494 (define-public ecl-mt19937
8495 (sbcl-package->ecl-package sbcl-mt19937))
8496
8497 (define-public sbcl-fset
8498 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
8499 (revision "1"))
8500 (package
8501 (name "sbcl-fset")
8502 (version (git-version "1.3.2" revision commit))
8503 (source
8504 (origin
8505 (method git-fetch)
8506 (uri (git-reference
8507 (url "https://github.com/slburson/fset")
8508 (commit commit)))
8509 (file-name (git-file-name name version))
8510 (sha256
8511 (base32
8512 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
8513 (snippet '(begin
8514 ;; Remove obsolete copy of system definition.
8515 (delete-file "Code/fset.asd")
8516 #t))))
8517 (build-system asdf-build-system/sbcl)
8518 (inputs
8519 `(("misc-extensions" ,sbcl-misc-extensions)
8520 ("mt19937" ,sbcl-mt19937)
8521 ("named-readtables" ,sbcl-named-readtables)))
8522 (synopsis "Functional set-theoretic collections library")
8523 (description
8524 "FSet is a functional set-theoretic collections library for Common Lisp.
8525 Functional means that all update operations return a new collection rather than
8526 modifying an existing one in place. Set-theoretic means that collections may
8527 be nested arbitrarily with no additional programmer effort; for instance, sets
8528 may contain sets, maps may be keyed by sets, etc.")
8529 (home-page "https://common-lisp.net/project/fset/Site/index.html")
8530 (license license:llgpl))))
8531
8532 (define-public cl-fset
8533 (sbcl-package->cl-source-package sbcl-fset))
8534
8535 (define-public ecl-fset
8536 (package
8537 (inherit (sbcl-package->ecl-package sbcl-fset))
8538 (arguments
8539 ;; Tests fails on ECL with "The function FSET::MAKE-CHAR is undefined".
8540 '(#:tests? #f))))
8541
8542 (define-public sbcl-cl-cont
8543 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
8544 (revision "1"))
8545 (package
8546 (name "sbcl-cl-cont")
8547 (version (git-version "0.3.8" revision commit))
8548 (source
8549 (origin
8550 (method git-fetch)
8551 (uri (git-reference
8552 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
8553 (commit commit)))
8554 (file-name (git-file-name name version))
8555 (sha256
8556 (base32
8557 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
8558 (build-system asdf-build-system/sbcl)
8559 (inputs
8560 `(("alexandria" ,sbcl-alexandria)
8561 ("closer-mop" ,sbcl-closer-mop)))
8562 (native-inputs
8563 `(("rt" ,sbcl-rt)))
8564 (synopsis "Delimited continuations for Common Lisp")
8565 (description
8566 "This is a library that implements delimited continuations by
8567 transforming Common Lisp code to continuation passing style.")
8568 (home-page "https://common-lisp.net/project/cl-cont/")
8569 (license license:llgpl))))
8570
8571 (define-public cl-cont
8572 (sbcl-package->cl-source-package sbcl-cl-cont))
8573
8574 (define-public ecl-cl-cont
8575 (sbcl-package->ecl-package sbcl-cl-cont))
8576
8577 (define-public sbcl-cl-coroutine
8578 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
8579 (revision "1"))
8580 (package
8581 (name "sbcl-cl-coroutine")
8582 (version (git-version "0.1" revision commit))
8583 (source
8584 (origin
8585 (method git-fetch)
8586 (uri (git-reference
8587 (url "https://github.com/takagi/cl-coroutine")
8588 (commit commit)))
8589 (file-name (git-file-name name version))
8590 (sha256
8591 (base32
8592 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
8593 (build-system asdf-build-system/sbcl)
8594 (inputs
8595 `(("alexandria" ,sbcl-alexandria)
8596 ("cl-cont" ,sbcl-cl-cont)))
8597 (native-inputs
8598 `(("prove" ,sbcl-prove)))
8599 (arguments
8600 `(;; TODO: Fix the tests. They fail with:
8601 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
8602 #:tests? #f
8603 #:phases
8604 (modify-phases %standard-phases
8605 (add-after 'unpack 'fix-tests
8606 (lambda _
8607 (substitute* "cl-coroutine-test.asd"
8608 (("cl-test-more")
8609 "prove"))
8610 #t)))))
8611 (synopsis "Coroutine library for Common Lisp")
8612 (description
8613 "This is a coroutine library for Common Lisp implemented using the
8614 continuations of the @code{cl-cont} library.")
8615 (home-page "https://github.com/takagi/cl-coroutine")
8616 (license license:llgpl))))
8617
8618 (define-public cl-coroutine
8619 (sbcl-package->cl-source-package sbcl-cl-coroutine))
8620
8621 (define-public ecl-cl-coroutine
8622 (sbcl-package->ecl-package sbcl-cl-coroutine))
8623
8624 (define-public sbcl-vas-string-metrics
8625 (let ((commit "f2e4500b180316123fbd549bd51c751ee2d6ba0f")
8626 (revision "1"))
8627 (package
8628 (name "sbcl-vas-string-metrics")
8629 (version (git-version "0.0.0" revision commit))
8630 (source
8631 (origin
8632 (method git-fetch)
8633 (uri (git-reference
8634 (url "https://github.com/vsedach/vas-string-metrics")
8635 (commit commit)))
8636 (file-name (git-file-name "vas-string-metrics" version))
8637 (sha256
8638 (base32 "11fcnd03ybzz37rkg3z0wsb727yqgcd9gn70sccfb34l89ia279k"))))
8639 (build-system asdf-build-system/sbcl)
8640 (arguments
8641 `(#:test-asd-file "test.vas-string-metrics.asd"))
8642 (home-page "https://github.com/vsedach/vas-string-metrics")
8643 (synopsis "String distance algorithms for Common Lisp")
8644 (description
8645 "VAS-STRING-METRICS provides the Jaro, Jaro-Winkler, Soerensen-Dice,
8646 Levenshtein, and normalized Levenshtein string distance/similarity metrics
8647 algorithms.")
8648 (license license:lgpl3+))))
8649
8650 (define-public ecl-vas-string-metrics
8651 (sbcl-package->ecl-package sbcl-vas-string-metrics))
8652
8653 (define-public cl-vas-string-metrics
8654 (sbcl-package->cl-source-package sbcl-vas-string-metrics))
8655
8656 (define-public sbcl-vom
8657 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
8658 (revision "1"))
8659 (package
8660 (name "sbcl-vom")
8661 (version (git-version "0.1.4" revision commit))
8662 (source
8663 (origin
8664 (method git-fetch)
8665 (uri (git-reference
8666 (url "https://github.com/orthecreedence/vom")
8667 (commit commit)))
8668 (file-name (git-file-name name version))
8669 (sha256
8670 (base32
8671 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
8672 (build-system asdf-build-system/sbcl)
8673 (synopsis "Tiny logging utility for Common Lisp")
8674 (description
8675 "Vom is a logging library for Common Lisp. It's goal is to be useful
8676 and small. It does not provide a lot of features as other loggers do, but
8677 has a small codebase that's easy to understand and use.")
8678 (home-page "https://github.com/orthecreedence/vom")
8679 (license license:expat))))
8680
8681 (define-public cl-vom
8682 (sbcl-package->cl-source-package sbcl-vom))
8683
8684 (define-public ecl-vom
8685 (sbcl-package->ecl-package sbcl-vom))
8686
8687 (define-public sbcl-cl-libuv
8688 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
8689 (revision "1"))
8690 (package
8691 (name "sbcl-cl-libuv")
8692 (version (git-version "0.1.6" revision commit))
8693 (source
8694 (origin
8695 (method git-fetch)
8696 (uri (git-reference
8697 (url "https://github.com/orthecreedence/cl-libuv")
8698 (commit commit)))
8699 (file-name (git-file-name name version))
8700 (sha256
8701 (base32
8702 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
8703 (build-system asdf-build-system/sbcl)
8704 (inputs
8705 `(("alexandria" ,sbcl-alexandria)
8706 ("cffi" ,sbcl-cffi)
8707 ("libuv" ,libuv)))
8708 (arguments
8709 `(#:phases
8710 (modify-phases %standard-phases
8711 (add-after 'unpack 'fix-paths
8712 (lambda* (#:key inputs #:allow-other-keys)
8713 (substitute* "lib.lisp"
8714 (("/usr/lib/libuv.so")
8715 (string-append (assoc-ref inputs "libuv")
8716 "/lib/libuv.so")))
8717 #t))
8718 (add-after 'fix-paths 'fix-system-definition
8719 (lambda _
8720 (substitute* "cl-libuv.asd"
8721 (("#:cffi #:alexandria")
8722 "#:cffi #:cffi-grovel #:alexandria"))
8723 #t)))))
8724 (synopsis "Common Lisp bindings to libuv")
8725 (description
8726 "This library provides low-level libuv bindings for Common Lisp.")
8727 (home-page "https://github.com/orthecreedence/cl-libuv")
8728 (license license:expat))))
8729
8730 (define-public cl-libuv
8731 (sbcl-package->cl-source-package sbcl-cl-libuv))
8732
8733 (define-public ecl-cl-libuv
8734 (sbcl-package->ecl-package sbcl-cl-libuv))
8735
8736 (define-public sbcl-cl-async
8737 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
8738 (revision "1"))
8739 (package
8740 (name "sbcl-cl-async")
8741 (version (git-version "0.6.1" revision commit))
8742 (source
8743 (origin
8744 (method git-fetch)
8745 (uri (git-reference
8746 (url "https://github.com/orthecreedence/cl-async")
8747 (commit commit)))
8748 (file-name (git-file-name name version))
8749 (sha256
8750 (base32
8751 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
8752 (build-system asdf-build-system/sbcl)
8753 (inputs
8754 `(("babel" ,sbcl-babel)
8755 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8756 ("cffi" ,sbcl-cffi)
8757 ("cl-libuv" ,sbcl-cl-libuv)
8758 ("cl-ppcre" ,sbcl-cl-ppcre)
8759 ("fast-io" ,sbcl-fast-io)
8760 ("openssl" ,openssl)
8761 ("static-vectors" ,sbcl-static-vectors)
8762 ("trivial-features" ,sbcl-trivial-features)
8763 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
8764 ("vom" ,sbcl-vom)))
8765 (arguments
8766 `(#:asd-systems '("cl-async"
8767 "cl-async-repl"
8768 "cl-async-ssl")
8769 #:phases
8770 (modify-phases %standard-phases
8771 (add-after 'unpack 'fix-paths
8772 (lambda* (#:key inputs #:allow-other-keys)
8773 (substitute* "src/ssl/package.lisp"
8774 (("libcrypto\\.so")
8775 (string-append (assoc-ref inputs "openssl")
8776 "/lib/libcrypto.so"))
8777 (("libssl\\.so")
8778 (string-append (assoc-ref inputs "openssl")
8779 "/lib/libssl.so")))
8780 #t)))))
8781 (synopsis "Asynchronous operations for Common Lisp")
8782 (description
8783 "Cl-async is a library for general purpose, non-blocking programming in
8784 Common Lisp. It uses the libuv library as backend.")
8785 (home-page "https://orthecreedence.github.io/cl-async/")
8786 (license license:expat))))
8787
8788 (define-public cl-async
8789 (sbcl-package->cl-source-package sbcl-cl-async))
8790
8791 (define-public ecl-cl-async
8792 (sbcl-package->ecl-package sbcl-cl-async))
8793
8794 (define-public sbcl-blackbird
8795 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
8796 (revision "1"))
8797 (package
8798 (name "sbcl-blackbird")
8799 (version (git-version "0.5.2" revision commit))
8800 (source
8801 (origin
8802 (method git-fetch)
8803 (uri (git-reference
8804 (url "https://github.com/orthecreedence/blackbird")
8805 (commit commit)))
8806 (file-name (git-file-name name version))
8807 (sha256
8808 (base32
8809 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
8810 (build-system asdf-build-system/sbcl)
8811 (inputs
8812 `(("vom" ,sbcl-vom)))
8813 (native-inputs
8814 `(("cl-async" ,sbcl-cl-async)
8815 ("fiveam" ,sbcl-fiveam)))
8816 (synopsis "Promise implementation for Common Lisp")
8817 (description
8818 "This is a standalone promise implementation for Common Lisp. It is
8819 the successor to the now-deprecated cl-async-future project.")
8820 (home-page "https://orthecreedence.github.io/blackbird/")
8821 (license license:expat))))
8822
8823 (define-public cl-blackbird
8824 (sbcl-package->cl-source-package sbcl-blackbird))
8825
8826 (define-public ecl-blackbird
8827 (sbcl-package->ecl-package sbcl-blackbird))
8828
8829 (define-public sbcl-cl-async-future
8830 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
8831 (revision "1"))
8832 (package
8833 (name "sbcl-cl-async-future")
8834 (version (git-version "0.4.4.1" revision commit))
8835 (source
8836 (origin
8837 (method git-fetch)
8838 (uri (git-reference
8839 (url "https://github.com/orthecreedence/cl-async-future")
8840 (commit commit)))
8841 (file-name (git-file-name name version))
8842 (sha256
8843 (base32
8844 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
8845 (build-system asdf-build-system/sbcl)
8846 (inputs
8847 `(("blackbird" ,sbcl-blackbird)))
8848 (native-inputs
8849 `(("cl-async" ,sbcl-cl-async)
8850 ("eos" ,sbcl-eos)))
8851 (synopsis "Futures implementation for Common Lisp")
8852 (description
8853 "This is futures implementation for Common Lisp. It plugs in nicely
8854 to cl-async.")
8855 (home-page "https://orthecreedence.github.io/cl-async/future")
8856 (license license:expat))))
8857
8858 (define-public cl-async-future
8859 (sbcl-package->cl-source-package sbcl-cl-async-future))
8860
8861 (define-public ecl-cl-async-future
8862 (sbcl-package->ecl-package sbcl-cl-async-future))
8863
8864 (define-public sbcl-green-threads
8865 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
8866 (revision "1"))
8867 (package
8868 (name "sbcl-green-threads")
8869 (version (git-version "0.3" revision commit))
8870 (source
8871 (origin
8872 (method git-fetch)
8873 (uri (git-reference
8874 (url "https://github.com/thezerobit/green-threads")
8875 (commit commit)))
8876 (file-name (git-file-name name version))
8877 (sha256
8878 (base32
8879 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
8880 (build-system asdf-build-system/sbcl)
8881 (inputs
8882 `(("cl-async-future" ,sbcl-cl-async-future)
8883 ("cl-cont" ,sbcl-cl-cont)))
8884 (native-inputs
8885 `(("prove" ,sbcl-prove)))
8886 (arguments
8887 `(;; TODO: Fix the tests. They fail with:
8888 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
8889 #:tests? #f
8890 #:phases
8891 (modify-phases %standard-phases
8892 (add-after 'unpack 'fix-tests
8893 (lambda _
8894 (substitute* "green-threads-test.asd"
8895 (("cl-test-more")
8896 "prove"))
8897 #t)))))
8898 (synopsis "Cooperative multitasking library for Common Lisp")
8899 (description
8900 "This library allows for cooperative multitasking with help of cl-cont
8901 for continuations. It tries to mimic the API of bordeaux-threads as much as
8902 possible.")
8903 (home-page "https://github.com/thezerobit/green-threads")
8904 (license license:bsd-3))))
8905
8906 (define-public cl-green-threads
8907 (sbcl-package->cl-source-package sbcl-green-threads))
8908
8909 (define-public ecl-green-threads
8910 (sbcl-package->ecl-package sbcl-green-threads))
8911
8912 (define-public sbcl-cl-base32
8913 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
8914 (revision "1"))
8915 (package
8916 (name "sbcl-cl-base32")
8917 (version (git-version "0.1" revision commit))
8918 (source
8919 (origin
8920 (method git-fetch)
8921 (uri (git-reference
8922 (url "https://github.com/hargettp/cl-base32")
8923 (commit commit)))
8924 (file-name (git-file-name name version))
8925 (sha256
8926 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
8927 (build-system asdf-build-system/sbcl)
8928 (native-inputs
8929 `(("lisp-unit" ,sbcl-lisp-unit)))
8930 (synopsis "Common Lisp library for base32 encoding and decoding")
8931 (description
8932 "This package provides functions for base32 encoding and decoding as
8933 defined in RFC4648.")
8934 (home-page "https://github.com/hargettp/cl-base32")
8935 (license license:expat))))
8936
8937 (define-public cl-base32
8938 (sbcl-package->cl-source-package sbcl-cl-base32))
8939
8940 (define-public ecl-cl-base32
8941 (sbcl-package->ecl-package sbcl-cl-base32))
8942
8943 (define-public sbcl-cl-z85
8944 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
8945 (revision "1"))
8946 (package
8947 (name "sbcl-cl-z85")
8948 (version (git-version "1.0" revision commit))
8949 (source
8950 (origin
8951 (method git-fetch)
8952 (uri (git-reference
8953 (url "https://github.com/glv2/cl-z85")
8954 (commit commit)))
8955 (file-name (git-file-name name version))
8956 (sha256
8957 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
8958 (build-system asdf-build-system/sbcl)
8959 (native-inputs
8960 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
8961 ("fiveam" ,sbcl-fiveam)))
8962 (synopsis "Common Lisp library for Z85 encoding and decoding")
8963 (description
8964 "This package provides functions to encode or decode byte vectors or
8965 byte streams using the Z85 format, which is a base-85 encoding used by
8966 ZeroMQ.")
8967 (home-page "https://github.com/glv2/cl-z85")
8968 (license license:gpl3+))))
8969
8970 (define-public cl-z85
8971 (sbcl-package->cl-source-package sbcl-cl-z85))
8972
8973 (define-public ecl-cl-z85
8974 (sbcl-package->ecl-package sbcl-cl-z85))
8975
8976 (define-public sbcl-ltk
8977 (package
8978 (name "sbcl-ltk")
8979 (version "0.992")
8980 (source
8981 (origin
8982 (method git-fetch)
8983 (uri (git-reference
8984 (url "https://github.com/herth/ltk")
8985 (commit version)))
8986 (file-name (git-file-name name version))
8987 (sha256
8988 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
8989 (build-system asdf-build-system/sbcl)
8990 (inputs
8991 `(("imagemagick" ,imagemagick)
8992 ("tk" ,tk)))
8993 (arguments
8994 `(#:asd-systems '("ltk"
8995 "ltk-mw"
8996 "ltk-remote")
8997 #:tests? #f
8998 #:phases
8999 (modify-phases %standard-phases
9000 (add-after 'unpack 'fix-paths
9001 (lambda* (#:key inputs #:allow-other-keys)
9002 (substitute* "ltk/ltk.lisp"
9003 (("#-freebsd \"wish\"")
9004 (string-append "#-freebsd \""
9005 (assoc-ref inputs "tk")
9006 "/bin/wish\""))
9007 (("do-execute \"convert\"")
9008 (string-append "do-execute \""
9009 (assoc-ref inputs "imagemagick")
9010 "/bin/convert\"")))
9011 #t))
9012 (add-after 'unpack 'fix-build
9013 (lambda _
9014 (substitute* "ltk/ltk-remote.lisp"
9015 (("\\(:export")
9016 "(:shadow #:raise) (:export"))
9017 #t)))))
9018 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9019 (description
9020 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
9021 in pure Common Lisp and does not require any Tk knowledge for its usage.")
9022 (home-page "http://www.peter-herth.de/ltk/")
9023 (license license:llgpl)))
9024
9025 (define-public cl-ltk
9026 (sbcl-package->cl-source-package sbcl-ltk))
9027
9028 (define-public ecl-ltk
9029 (sbcl-package->ecl-package sbcl-ltk))
9030
9031 (define-public sbcl-cl-lex
9032 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
9033 (revision "1"))
9034 (package
9035 (name "sbcl-cl-lex")
9036 (version (git-version "1.1.3" revision commit))
9037 (source
9038 (origin
9039 (method git-fetch)
9040 (uri (git-reference
9041 (url "https://github.com/djr7C4/cl-lex")
9042 (commit commit)))
9043 (file-name (git-file-name name version))
9044 (sha256
9045 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
9046 (build-system asdf-build-system/sbcl)
9047 (inputs
9048 `(("cl-ppcre" ,sbcl-cl-ppcre)))
9049 (synopsis "Common Lisp macros for generating lexical analyzers")
9050 (description
9051 "This is a Common Lisp library providing a set of macros for generating
9052 lexical analyzers automatically. The lexers generated using @code{cl-lex} can
9053 be used with @code{cl-yacc}.")
9054 (home-page "https://github.com/djr7C4/cl-lex")
9055 (license license:gpl3))))
9056
9057 (define-public cl-lex
9058 (sbcl-package->cl-source-package sbcl-cl-lex))
9059
9060 (define-public ecl-cl-lex
9061 (sbcl-package->ecl-package sbcl-cl-lex))
9062
9063 (define-public sbcl-clunit2
9064 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
9065 (revision "1"))
9066 (package
9067 (name "sbcl-clunit2")
9068 (version (git-version "0.2.4" revision commit))
9069 (source
9070 (origin
9071 (method git-fetch)
9072 (uri (git-reference
9073 (url "https://notabug.org/cage/clunit2.git")
9074 (commit commit)))
9075 (file-name (git-file-name name version))
9076 (sha256
9077 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
9078 (build-system asdf-build-system/sbcl)
9079 (synopsis "Unit testing framework for Common Lisp")
9080 (description
9081 "CLUnit is a Common Lisp unit testing framework. It is designed to be
9082 easy to use so that you can quickly start testing.")
9083 (home-page "https://notabug.org/cage/clunit2")
9084 (license license:expat))))
9085
9086 (define-public cl-clunit2
9087 (sbcl-package->cl-source-package sbcl-clunit2))
9088
9089 (define-public ecl-clunit2
9090 (sbcl-package->ecl-package sbcl-clunit2))
9091
9092 (define-public sbcl-cl-colors2
9093 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
9094 (revision "1"))
9095 (package
9096 (name "sbcl-cl-colors2")
9097 (version (git-version "0.2.1" revision commit))
9098 (source
9099 (origin
9100 (method git-fetch)
9101 (uri (git-reference
9102 (url "https://notabug.org/cage/cl-colors2.git")
9103 (commit commit)))
9104 (file-name (git-file-name name version))
9105 (sha256
9106 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
9107 (build-system asdf-build-system/sbcl)
9108 (native-inputs
9109 `(("clunit2" ,sbcl-clunit2)))
9110 (inputs
9111 `(("alexandria" ,sbcl-alexandria)
9112 ("cl-ppcre" ,sbcl-cl-ppcre)))
9113 (synopsis "Color library for Common Lisp")
9114 (description
9115 "This is a very simple color library for Common Lisp, providing:
9116
9117 @itemize
9118 @item Types for representing colors in HSV and RGB spaces.
9119 @item Simple conversion functions between the above types (and also
9120 hexadecimal representation for RGB).
9121 @item Some predefined colors (currently X11 color names -- of course
9122 the library does not depend on X11).
9123 @end itemize\n")
9124 (home-page "https://notabug.org/cage/cl-colors2")
9125 (license license:boost1.0))))
9126
9127 (define-public cl-colors2
9128 (sbcl-package->cl-source-package sbcl-cl-colors2))
9129
9130 (define-public ecl-cl-colors2
9131 (sbcl-package->ecl-package sbcl-cl-colors2))
9132
9133 (define-public sbcl-cl-jpeg
9134 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
9135 (revision "1"))
9136 (package
9137 (name "sbcl-cl-jpeg")
9138 (version (git-version "2.8" revision commit))
9139 (source
9140 (origin
9141 (method git-fetch)
9142 (uri (git-reference
9143 (url "https://github.com/sharplispers/cl-jpeg")
9144 (commit commit)))
9145 (file-name (git-file-name name version))
9146 (sha256
9147 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
9148 (build-system asdf-build-system/sbcl)
9149 (synopsis "JPEG image library for Common Lisp")
9150 (description
9151 "This is a baseline JPEG codec written in Common Lisp. It can be used
9152 for reading and writing JPEG image files.")
9153 (home-page "https://github.com/sharplispers/cl-jpeg")
9154 (license license:bsd-3))))
9155
9156 (define-public cl-jpeg
9157 (sbcl-package->cl-source-package sbcl-cl-jpeg))
9158
9159 (define-public ecl-cl-jpeg
9160 (sbcl-package->ecl-package sbcl-cl-jpeg))
9161
9162 (define-public sbcl-nodgui
9163 (let ((commit "4a9c2e7714b278fbe97d198c56f54ea87290001d")
9164 (revision "1"))
9165 (package
9166 (name "sbcl-nodgui")
9167 (version (git-version "0.1.1" revision commit))
9168 (source
9169 (origin
9170 (method git-fetch)
9171 (uri (git-reference
9172 (url "https://notabug.org/cage/nodgui.git")
9173 (commit commit)))
9174 (file-name (git-file-name "nodgui" version))
9175 (sha256
9176 (base32 "1vgzzw459h32v2mi41cia6i940jqmvxlc8w3xj3516hbc2mqkaib"))))
9177 (build-system asdf-build-system/sbcl)
9178 (inputs
9179 `(("alexandria" ,sbcl-alexandria)
9180 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9181 ("cl-colors2" ,sbcl-cl-colors2)
9182 ("cl-jpeg" ,sbcl-cl-jpeg)
9183 ("cl-lex" ,sbcl-cl-lex)
9184 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
9185 ("cl-unicode" ,sbcl-cl-unicode)
9186 ("cl-yacc" ,sbcl-cl-yacc)
9187 ("clunit2" ,sbcl-clunit2)
9188 ("named-readtables" ,sbcl-named-readtables)
9189 ("parse-number" ,sbcl-parse-number)
9190 ("tk" ,tk)))
9191 (arguments
9192 `(#:phases (modify-phases %standard-phases
9193 (add-after 'unpack 'fix-paths
9194 (lambda* (#:key inputs #:allow-other-keys)
9195 (substitute* "src/wish-communication.lisp"
9196 (("#-freebsd \"wish\"")
9197 (string-append "#-freebsd \""
9198 (assoc-ref inputs "tk")
9199 "/bin/wish\"")))
9200 #t)))))
9201 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9202 (description
9203 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
9204 toolkit. It also provides a few additional widgets more than the standard Tk
9205 ones.")
9206 (home-page "https://www.autistici.org/interzona/nodgui.html")
9207 (license license:llgpl))))
9208
9209 (define-public cl-nodgui
9210 (sbcl-package->cl-source-package sbcl-nodgui))
9211
9212 (define-public ecl-nodgui
9213 (sbcl-package->ecl-package sbcl-nodgui))
9214
9215 (define-public sbcl-salza2
9216 (package
9217 (name "sbcl-salza2")
9218 (version "2.0.9")
9219 (source
9220 (origin
9221 (method git-fetch)
9222 (uri (git-reference
9223 (url "https://github.com/xach/salza2")
9224 (commit (string-append "release-" version))))
9225 (file-name (git-file-name name version))
9226 (sha256
9227 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
9228 (build-system asdf-build-system/sbcl)
9229 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
9230 (description
9231 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
9232 deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
9233 respectively.")
9234 (home-page "https://www.xach.com/lisp/salza2/")
9235 (license license:bsd-2)))
9236
9237 (define-public cl-salza2
9238 (sbcl-package->cl-source-package sbcl-salza2))
9239
9240 (define-public ecl-salza2
9241 (sbcl-package->ecl-package sbcl-salza2))
9242
9243 (define-public sbcl-origin
9244 (let ((commit "d646134302456408d6d43580bb05299f1695ab8e")
9245 (revision "1"))
9246 (package
9247 (name "sbcl-origin")
9248 (version (git-version "2.0.0" revision commit))
9249 (source
9250 (origin
9251 (method git-fetch)
9252 (uri (git-reference
9253 (url "https://git.mfiano.net/mfiano/origin")
9254 (commit commit)))
9255 (file-name (git-file-name "origin" version))
9256 (sha256
9257 (base32 "1n9aszaif3yh8prs5r8v51fbj4r5jd1a048mivd5yij3hplkm82b"))))
9258 (build-system asdf-build-system/sbcl)
9259 (native-inputs
9260 `(("parachute" ,sbcl-parachute)))
9261 (inputs
9262 `(("golden-utils" ,sbcl-golden-utils)
9263 ("specialization-store" ,sbcl-specialization-store)))
9264 (home-page "https://git.mfiano.net/mfiano/origin")
9265 (synopsis "Common Lisp graphics math library")
9266 (description
9267 "This is a native Common Lisp graphics math library with an emphasis on
9268 performance and correctness.")
9269 (license license:expat))))
9270
9271 (define-public ecl-origin
9272 (sbcl-package->ecl-package sbcl-origin))
9273
9274 (define-public cl-origin
9275 (sbcl-package->cl-source-package sbcl-origin))
9276
9277 (define-public sbcl-png-read
9278 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
9279 (revision "1"))
9280 (package
9281 (name "sbcl-png-read")
9282 (version (git-version "0.3.1" revision commit))
9283 (source
9284 (origin
9285 (method git-fetch)
9286 (uri (git-reference
9287 (url "https://github.com/Ramarren/png-read")
9288 (commit commit)))
9289 (file-name (git-file-name name version))
9290 (sha256
9291 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
9292 (build-system asdf-build-system/sbcl)
9293 (inputs
9294 `(("babel" ,sbcl-babel)
9295 ("chipz" ,sbcl-chipz)
9296 ("iterate" ,sbcl-iterate)))
9297 (synopsis "PNG decoder for Common Lisp")
9298 (description "This is a Common Lisp library for reading PNG images.")
9299 (home-page "https://github.com/Ramarren/png-read")
9300 (license license:bsd-3))))
9301
9302 (define-public cl-png-read
9303 (sbcl-package->cl-source-package sbcl-png-read))
9304
9305 (define-public ecl-png-read
9306 (sbcl-package->ecl-package sbcl-png-read))
9307
9308 (define-public sbcl-3b-bmfont
9309 (let ((commit "d1b5bec0de580c2d08ec947a93c56b1400f2a37a")
9310 (revision "1"))
9311 (package
9312 (name "sbcl-3b-bmfont")
9313 (version (git-version "0.0.1" revision commit))
9314 (source
9315 (origin
9316 (method git-fetch)
9317 (uri (git-reference
9318 (url "https://github.com/3b/3b-bmfont/")
9319 (commit commit)))
9320 (file-name (git-file-name "3b-bmfont" version))
9321 (sha256
9322 (base32 "12sgf7m0h6fqzhvkas7vmci6mprj3j3fnz778jlbqbsydln6v2yc"))))
9323 (build-system asdf-build-system/sbcl)
9324 (arguments
9325 `(#:asd-systems
9326 '("3b-bmfont"
9327 "3b-bmfont/text"
9328 "3b-bmfont/common"
9329 "3b-bmfont/xml"
9330 "3b-bmfont/json")))
9331 (inputs
9332 `(("alexandria" ,sbcl-alexandria)
9333 ("cxml" ,sbcl-cxml)
9334 ("flexi-streams" ,sbcl-flexi-streams)
9335 ("jsown" ,sbcl-jsown)
9336 ("split-sequence" ,sbcl-split-sequence)))
9337 (home-page "https://github.com/3b/3b-bmfont/")
9338 (synopsis "Read/write bmfont metadata files")
9339 (description
9340 "This is a Common Lisp library which provides functionality to
9341 read/write Bit Map Font (BMF) into text, JSON and XML.")
9342 (license license:expat))))
9343
9344 (define-public ecl-3b-bmfont
9345 (sbcl-package->ecl-package sbcl-3b-bmfont))
9346
9347 (define-public cl-3b-bmfont
9348 (sbcl-package->cl-source-package sbcl-3b-bmfont))
9349
9350 (define-public sbcl-zpng
9351 (package
9352 (name "sbcl-zpng")
9353 (version "1.2.2")
9354 (source
9355 (origin
9356 (method git-fetch)
9357 (uri (git-reference
9358 (url "https://github.com/xach/zpng")
9359 (commit (string-append "release-" version))))
9360 (file-name (git-file-name name version))
9361 (sha256
9362 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
9363 (build-system asdf-build-system/sbcl)
9364 (inputs
9365 `(("salza2" ,sbcl-salza2)))
9366 (synopsis "PNG encoder for Common Lisp")
9367 (description "This is a Common Lisp library for creating PNG images.")
9368 (home-page "https://www.xach.com/lisp/zpng/")
9369 (license license:bsd-2)))
9370
9371 (define-public cl-zpng
9372 (sbcl-package->cl-source-package sbcl-zpng))
9373
9374 (define-public ecl-zpng
9375 (sbcl-package->ecl-package sbcl-zpng))
9376
9377 (define-public sbcl-cl-qrencode
9378 (package
9379 (name "sbcl-cl-qrencode")
9380 (version "0.1.2")
9381 (source
9382 (origin
9383 (method git-fetch)
9384 (uri (git-reference
9385 (url "https://github.com/jnjcc/cl-qrencode")
9386 (commit (string-append "v" version))))
9387 (file-name (git-file-name name version))
9388 (sha256
9389 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
9390 (build-system asdf-build-system/sbcl)
9391 (native-inputs
9392 `(("lisp-unit" ,sbcl-lisp-unit)))
9393 (inputs
9394 `(("zpng" ,sbcl-zpng)))
9395 (synopsis "QR code encoder for Common Lisp")
9396 (description
9397 "This Common Lisp library provides function to make QR codes and to save
9398 them as PNG files.")
9399 (home-page "https://github.com/jnjcc/cl-qrencode")
9400 (license license:gpl2+)))
9401
9402 (define-public cl-qrencode
9403 (sbcl-package->cl-source-package sbcl-cl-qrencode))
9404
9405 (define-public ecl-cl-qrencode
9406 (sbcl-package->ecl-package sbcl-cl-qrencode))
9407
9408 (define-public sbcl-hdf5-cffi
9409 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
9410 (revision "1"))
9411 (package
9412 (name "sbcl-hdf5-cffi")
9413 (version (git-version "1.8.18" revision commit))
9414 (source
9415 (origin
9416 (method git-fetch)
9417 (uri (git-reference
9418 (url "https://github.com/hdfgroup/hdf5-cffi")
9419 (commit commit)))
9420 (file-name (git-file-name name version))
9421 (sha256
9422 (base32
9423 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
9424 (build-system asdf-build-system/sbcl)
9425 (synopsis "Common Lisp bindings for the HDF5 library")
9426 (description
9427 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
9428 (home-page "https://github.com/hdfgroup/hdf5-cffi")
9429 (license (license:non-copyleft
9430 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
9431 commit
9432 "/LICENSE")))
9433 (inputs
9434 `(("cffi" ,sbcl-cffi)
9435 ("hdf5" ,hdf5-1.10)))
9436 (native-inputs
9437 `(("fiveam" ,sbcl-fiveam)))
9438 (arguments
9439 `(#:test-asd-file "hdf5-cffi.test.asd"
9440 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
9441 ;; I don't know if there is a way to tell asdf-build-system to load
9442 ;; an additional system first, so tests are disabled.
9443 #:tests? #f
9444 #:phases
9445 (modify-phases %standard-phases
9446 (add-after 'unpack 'fix-paths
9447 (lambda* (#:key inputs #:allow-other-keys)
9448 (substitute* "src/library.lisp"
9449 (("libhdf5.so")
9450 (string-append
9451 (assoc-ref inputs "hdf5")
9452 "/lib/libhdf5.so")))))
9453 (add-after 'unpack 'fix-dependencies
9454 (lambda* (#:key inputs #:allow-other-keys)
9455 (substitute* "hdf5-cffi.asd"
9456 ((":depends-on \\(:cffi\\)")
9457 ":depends-on (:cffi :cffi-grovel)"))
9458 (substitute* "hdf5-cffi.test.asd"
9459 ((":depends-on \\(:cffi :hdf5-cffi")
9460 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
9461
9462 (define-public cl-hdf5-cffi
9463 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
9464
9465 (define-public ecl-hdf5-cffi
9466 (sbcl-package->ecl-package sbcl-hdf5-cffi))
9467
9468 (define-public sbcl-cl-randist
9469 (package
9470 (name "sbcl-cl-randist")
9471 (version "0.4.2")
9472 (source
9473 (origin
9474 (method git-fetch)
9475 (uri (git-reference
9476 (url "https://github.com/lvaruzza/cl-randist")
9477 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
9478 (file-name (git-file-name name version))
9479 (sha256
9480 (base32
9481 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
9482 (build-system asdf-build-system/sbcl)
9483 (synopsis "Random distributions for Common Lisp")
9484 (description
9485 "Manual translation from C to Common Lisp of some random number
9486 generation functions from the GSL library.")
9487 (home-page "https://github.com/lvaruzza/cl-randist")
9488 (license license:bsd-2)
9489 (arguments
9490 `(#:tests? #f))))
9491
9492 (define-public cl-randist
9493 (sbcl-package->cl-source-package sbcl-cl-randist))
9494
9495 (define-public ecl-cl-randist
9496 (sbcl-package->ecl-package sbcl-cl-randist))
9497
9498 (define-public sbcl-float-features
9499 (package
9500 (name "sbcl-float-features")
9501 (version "1.0.0")
9502 (source
9503 (origin
9504 (method git-fetch)
9505 (uri (git-reference
9506 (url "https://github.com/Shinmera/float-features")
9507 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
9508 (file-name (git-file-name name version))
9509 (sha256
9510 (base32
9511 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
9512 (build-system asdf-build-system/sbcl)
9513 (synopsis "Common Lisp IEEE float portability library")
9514 (description
9515 "Portability library for IEEE float features that are not
9516 covered by the Common Lisp standard.")
9517 (home-page "https://github.com/Shinmera/float-features")
9518 (license license:zlib)
9519 (inputs
9520 `(("documentation-utils" ,sbcl-documentation-utils)))
9521 (arguments
9522 `(#:tests? #f))))
9523
9524 (define-public cl-float-features
9525 (sbcl-package->cl-source-package sbcl-float-features))
9526
9527 (define-public ecl-float-features
9528 (sbcl-package->ecl-package sbcl-float-features))
9529
9530 (define-public sbcl-function-cache
9531 (package
9532 (name "sbcl-function-cache")
9533 (version "1.0.3")
9534 (source
9535 (origin
9536 (method git-fetch)
9537 (uri (git-reference
9538 (url "https://github.com/AccelerationNet/function-cache")
9539 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
9540 (file-name (git-file-name name version))
9541 (sha256
9542 (base32
9543 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
9544 (build-system asdf-build-system/sbcl)
9545 (synopsis "Function caching / memoization library for Common Lisp")
9546 (description
9547 "A common lisp library that provides extensible function result
9548 caching based on arguments (an expanded form of memoization).")
9549 (home-page "https://github.com/AccelerationNet/function-cache")
9550 (license
9551 (license:non-copyleft
9552 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
9553 (inputs
9554 `(("alexandria" ,sbcl-alexandria)
9555 ("cl-interpol" ,sbcl-cl-interpol)
9556 ("iterate" ,sbcl-iterate)
9557 ("symbol-munger" ,sbcl-symbol-munger)
9558 ("closer-mop" ,sbcl-closer-mop)))
9559 (arguments
9560 `(#:tests? #f))))
9561
9562 (define-public cl-function-cache
9563 (sbcl-package->cl-source-package sbcl-function-cache))
9564
9565 (define-public ecl-function-cache
9566 (sbcl-package->ecl-package sbcl-function-cache))
9567
9568 (define-public sbcl-type-r
9569 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
9570 (revision "1"))
9571 (package
9572 (name "sbcl-type-r")
9573 (version (git-version "0.0.0" revision commit))
9574 (source
9575 (origin
9576 (method git-fetch)
9577 (uri (git-reference
9578 (url "https://github.com/guicho271828/type-r")
9579 (commit commit)))
9580 (file-name (git-file-name name version))
9581 (sha256
9582 (base32
9583 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
9584 (build-system asdf-build-system/sbcl)
9585 (synopsis "Parser interface for Common Lisp built-in compound types")
9586 (description
9587 "Collections of accessor functions and patterns to access
9588 the elements in compound type specifier, e.g. @code{dimensions} in
9589 @code{(array element-type dimensions)}")
9590 (home-page "https://github.com/guicho271828/type-r")
9591 (license license:lgpl3+)
9592 (inputs
9593 `(("trivia" ,sbcl-trivia)
9594 ("alexandria" ,sbcl-alexandria)))
9595 (native-inputs
9596 `(("fiveam" ,sbcl-fiveam)))
9597 (arguments
9598 `(#:test-asd-file "type-r.test.asd")))))
9599
9600 (define-public cl-type-r
9601 (sbcl-package->cl-source-package sbcl-type-r))
9602
9603 (define-public ecl-type-r
9604 (sbcl-package->ecl-package sbcl-type-r))
9605
9606 (define-public sbcl-trivialib-type-unify
9607 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
9608 (revision "1"))
9609 (package
9610 (name "sbcl-trivialib-type-unify")
9611 (version (git-version "0.1" revision commit))
9612 (source
9613 (origin
9614 (method git-fetch)
9615 (uri (git-reference
9616 (url "https://github.com/guicho271828/trivialib.type-unify")
9617 (commit commit)))
9618 (file-name (git-file-name name version))
9619 (sha256
9620 (base32
9621 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
9622 (build-system asdf-build-system/sbcl)
9623 (synopsis "Common Lisp type unification")
9624 (description
9625 "Unifies a parametrized type specifier against an actual type specifier.
9626 Importantly, it handles complicated array-subtypes and number-related types
9627 correctly.")
9628 (home-page "https://github.com/guicho271828/trivialib.type-unify")
9629 (license license:lgpl3+)
9630 (inputs
9631 `(("alexandria" ,sbcl-alexandria)
9632 ("trivia" ,sbcl-trivia)
9633 ("introspect-environment" ,sbcl-introspect-environment)
9634 ("type-r" ,sbcl-type-r)))
9635 (native-inputs
9636 `(("fiveam" ,sbcl-fiveam)))
9637 (arguments
9638 `(#:asd-systems '("trivialib.type-unify")
9639 #:test-asd-file "trivialib.type-unify.test.asd")))))
9640
9641 (define-public cl-trivialib-type-unify
9642 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
9643
9644 (define-public ecl-trivialib-type-unify
9645 (sbcl-package->ecl-package sbcl-trivialib-type-unify))
9646
9647 (define-public sbcl-specialized-function
9648 (let ((commit "dee56d2d2b6ecd10500ad291c56217698604ec35")
9649 (revision "2"))
9650 (package
9651 (name "sbcl-specialized-function")
9652 (version (git-version "0.0.0" revision commit))
9653 (source
9654 (origin
9655 (method git-fetch)
9656 (uri (git-reference
9657 (url "https://github.com/numcl/specialized-function")
9658 (commit commit)))
9659 (file-name (git-file-name name version))
9660 (sha256
9661 (base32 "1mcc7mmpbnmgnr1cl2jl5r1ai54gn7fbisv2c14sh9za5w4sib82"))))
9662 (build-system asdf-build-system/sbcl)
9663 (synopsis "Julia-like dispatch for Common Lisp")
9664 (description
9665 "This library is part of NUMCL. It provides a macro
9666 @code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
9667 lazily compiling a type-specific version of the function from the same
9668 code. The main target of this macro is speed.")
9669 (home-page "https://github.com/numcl/specialized-function")
9670 (license license:lgpl3+)
9671 (inputs
9672 `(("trivia" ,sbcl-trivia)
9673 ("alexandria" ,sbcl-alexandria)
9674 ("iterate" ,sbcl-iterate)
9675 ("lisp-namespace" ,sbcl-lisp-namespace)
9676 ("type-r" ,sbcl-type-r)
9677 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
9678 (native-inputs
9679 `(("fiveam" ,sbcl-fiveam)))
9680 (arguments
9681 `(#:asd-files '("specialized-function.asd")
9682 #:test-asd-file "specialized-function.test.asd"
9683 ;; Tests fail because they try to use an internal symbol of SBCL
9684 ;; that does not exists in recent versions:
9685 ;; "The variable SB-VM:COMPLEX-VECTOR-NIL-WIDETAG is unbound."
9686 #:tests? #f)))))
9687
9688 (define-public cl-specialized-function
9689 (sbcl-package->cl-source-package sbcl-specialized-function))
9690
9691 (define-public ecl-specialized-function
9692 (sbcl-package->ecl-package sbcl-specialized-function))
9693
9694 (define-public sbcl-constantfold
9695 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
9696 (revision "1"))
9697 (package
9698 (name "sbcl-constantfold")
9699 (version (git-version "0.1" revision commit))
9700 (source
9701 (origin
9702 (method git-fetch)
9703 (uri (git-reference
9704 (url "https://github.com/numcl/constantfold")
9705 (commit commit)))
9706 (file-name (git-file-name name version))
9707 (sha256
9708 (base32
9709 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
9710 (build-system asdf-build-system/sbcl)
9711 (synopsis "Support library for numcl")
9712 (description
9713 "Support library for numcl. Registers a function as an
9714 additional form that is considered as a candidate for a constant.")
9715 (home-page "https://github.com/numcl/constantfold")
9716 (license license:lgpl3+)
9717 (inputs
9718 `(("trivia" ,sbcl-trivia)
9719 ("alexandria" ,sbcl-alexandria)
9720 ("iterate" ,sbcl-iterate)
9721 ("lisp-namespace" ,sbcl-lisp-namespace)))
9722 (native-inputs
9723 `(("fiveam" ,sbcl-fiveam)))
9724 (arguments
9725 `(#:asd-files '("constantfold.asd")
9726 #:test-asd-file "constantfold.test.asd")))))
9727
9728 (define-public cl-constantfold
9729 (sbcl-package->cl-source-package sbcl-constantfold))
9730
9731 (define-public ecl-constantfold
9732 (sbcl-package->ecl-package sbcl-constantfold))
9733
9734 (define-public sbcl-gtype
9735 (let ((commit "2442e32485635525af278ebd8fa69a27d5b8cf18")
9736 (revision "2"))
9737 (package
9738 (name "sbcl-gtype")
9739 (version (git-version "0.1" revision commit))
9740 (source
9741 (origin
9742 (method git-fetch)
9743 (uri (git-reference
9744 (url "https://github.com/numcl/gtype")
9745 (commit commit)))
9746 (file-name (git-file-name name version))
9747 (sha256
9748 (base32 "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h"))))
9749 (build-system asdf-build-system/sbcl)
9750 (synopsis "C++/Julia-like parametric types in Common Lisp")
9751 (description
9752 "Support library for numcl that provides Julia-like runtime parametric
9753 type correctness in Common Lisp. It is based on CLtL2 extensions.")
9754 (home-page "https://github.com/numcl/gtype")
9755 (license license:lgpl3+)
9756 (inputs
9757 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
9758 ("trivial-cltl2" ,sbcl-trivial-cltl2)
9759 ("trivia" ,sbcl-trivia)
9760 ("alexandria" ,sbcl-alexandria)
9761 ("iterate" ,sbcl-iterate)
9762 ("type-r" ,sbcl-type-r)))
9763 (native-inputs
9764 `(("fiveam" ,sbcl-fiveam)))
9765 (arguments
9766 `(#:asd-files '("gtype.asd")
9767 #:test-asd-file "gtype.test.asd")))))
9768
9769 (define-public cl-gtype
9770 (sbcl-package->cl-source-package sbcl-gtype))
9771
9772 (define-public ecl-gtype
9773 (let ((pkg (sbcl-package->ecl-package sbcl-gtype)))
9774 (package
9775 (inherit pkg)
9776 (arguments
9777 (substitute-keyword-arguments (package-arguments pkg)
9778 ;; The tests fail on ECL with a COMPILE-FILE-ERROR for t/package.lisp.
9779 ((#:tests? _ #f) #f))))))
9780
9781 (define-public sbcl-numcl
9782 (let ((commit "d19f36356be900c600ef08560c9e1af441a166cb")
9783 (revision "1"))
9784 (package
9785 (name "sbcl-numcl")
9786 (version (git-version "0.2.0" revision commit))
9787 (source
9788 (origin
9789 (method git-fetch)
9790 (uri (git-reference
9791 (url "https://github.com/numcl/numcl")
9792 (commit commit)))
9793 (file-name (git-file-name "numcl" version))
9794 (sha256
9795 (base32 "0q4ylfr7hl0gz2ynr0c15h09dmnli2x6ndnm5wr58wfplf1wfj31"))))
9796 (build-system asdf-build-system/sbcl)
9797 (arguments
9798 `(#:test-asd-file "numcl.test.asd"
9799 #:asd-files '("numcl.asd")))
9800 (native-inputs
9801 `(("fiveam" ,sbcl-fiveam)))
9802 (inputs
9803 `(("alexandria" ,sbcl-alexandria)
9804 ("cl-randist" ,sbcl-cl-randist)
9805 ("constantfold" ,sbcl-constantfold)
9806 ("float-features" ,sbcl-float-features)
9807 ("function-cache" ,sbcl-function-cache)
9808 ("gtype" ,sbcl-gtype)
9809 ("iterate" ,sbcl-iterate)
9810 ("lisp-namespace" ,sbcl-lisp-namespace)
9811 ("specialized-function" ,sbcl-specialized-function)
9812 ("trivia" ,sbcl-trivia)
9813 ("type-r" ,sbcl-type-r)))
9814 (home-page "https://numcl.github.io/numcl/")
9815 (synopsis "Numpy clone in Common Lisp")
9816 (description
9817 "This package is a Python Numpy clone implemented in pure Common Lisp.")
9818 (license license:lgpl3+))))
9819
9820 (define-public cl-numcl
9821 (sbcl-package->cl-source-package sbcl-numcl))
9822
9823 (define-public ecl-numcl
9824 (sbcl-package->ecl-package sbcl-numcl))
9825
9826 (define-public sbcl-pzmq
9827 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
9828 (revision "1"))
9829 (package
9830 (name "sbcl-pzmq")
9831 (version (git-version "0.0.0" revision commit))
9832 (source
9833 (origin
9834 (method git-fetch)
9835 (uri (git-reference
9836 (url "https://github.com/orivej/pzmq")
9837 (commit commit)))
9838 (file-name (git-file-name name version))
9839 (sha256
9840 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
9841 (build-system asdf-build-system/sbcl)
9842 (native-inputs
9843 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9844 ("fiveam" ,sbcl-fiveam)
9845 ("let-plus" ,sbcl-let-plus)))
9846 (inputs
9847 `(("cffi" ,sbcl-cffi)
9848 ("zeromq" ,zeromq)))
9849 (arguments
9850 `(#:phases (modify-phases %standard-phases
9851 (add-after 'unpack 'fix-paths
9852 (lambda* (#:key inputs #:allow-other-keys)
9853 (substitute* "c-api.lisp"
9854 (("\"libzmq")
9855 (string-append "\""
9856 (assoc-ref inputs "zeromq")
9857 "/lib/libzmq")))
9858 #t)))))
9859 (synopsis "Common Lisp bindings for the ZeroMQ library")
9860 (description "This Common Lisp library provides bindings for the ZeroMQ
9861 lightweight messaging kernel.")
9862 (home-page "https://github.com/orivej/pzmq")
9863 (license license:unlicense))))
9864
9865 (define-public cl-pzmq
9866 (sbcl-package->cl-source-package sbcl-pzmq))
9867
9868 (define-public ecl-pzmq
9869 (sbcl-package->ecl-package sbcl-pzmq))
9870
9871 (define-public sbcl-clss
9872 (let ((revision "1")
9873 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
9874 (package
9875 (name "sbcl-clss")
9876 (version (git-version "0.3.1" revision commit))
9877 (source
9878 (origin
9879 (method git-fetch)
9880 (uri
9881 (git-reference
9882 (url "https://github.com/Shinmera/clss")
9883 (commit commit)))
9884 (sha256
9885 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
9886 (file-name (git-file-name name version))))
9887 (inputs
9888 `(("array-utils" ,sbcl-array-utils)
9889 ("plump" ,sbcl-plump)))
9890 (build-system asdf-build-system/sbcl)
9891 (synopsis "DOM tree searching engine based on CSS selectors")
9892 (description "CLSS is a DOM traversal engine based on CSS
9893 selectors. It makes use of the Plump-DOM and is used by lQuery.")
9894 (home-page "https://github.com/Shinmera/clss")
9895 (license license:zlib))))
9896
9897 (define-public cl-clss
9898 (sbcl-package->cl-source-package sbcl-clss))
9899
9900 (define-public ecl-clss
9901 (sbcl-package->ecl-package sbcl-clss))
9902
9903 (define-public sbcl-lquery
9904 (let ((revision "1")
9905 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
9906 (package
9907 (name "sbcl-lquery")
9908 (version (git-version "3.2.1" revision commit))
9909 (source
9910 (origin
9911 (method git-fetch)
9912 (uri
9913 (git-reference
9914 (url "https://github.com/Shinmera/lquery")
9915 (commit commit)))
9916 (sha256
9917 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
9918 (file-name (git-file-name name version))))
9919 (native-inputs
9920 `(("fiveam" ,sbcl-fiveam)))
9921 (inputs
9922 `(("array-utils" ,sbcl-array-utils)
9923 ("form-fiddle" ,sbcl-form-fiddle)
9924 ("plump" ,sbcl-plump)
9925 ("clss" ,sbcl-clss)))
9926 (build-system asdf-build-system/sbcl)
9927 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
9928 (description "@code{lQuery} is a DOM manipulation library written in
9929 Common Lisp, inspired by and based on the jQuery syntax and
9930 functions. It uses Plump and CLSS as DOM and selector engines. The
9931 main idea behind lQuery is to provide a simple interface for crawling
9932 and modifying HTML sites, as well as to allow for an alternative
9933 approach to templating.")
9934 (home-page "https://github.com/Shinmera/lquery")
9935 (license license:zlib))))
9936
9937 (define-public cl-lquery
9938 (sbcl-package->cl-source-package sbcl-lquery))
9939
9940 (define-public ecl-lquery
9941 (sbcl-package->ecl-package sbcl-lquery))
9942
9943 (define-public sbcl-cl-mysql
9944 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
9945 (revision "1"))
9946 (package
9947 (name "sbcl-cl-mysql")
9948 (version (git-version "0.1" revision commit))
9949 (source
9950 (origin
9951 (method git-fetch)
9952 (uri (git-reference
9953 (url "https://github.com/hackinghat/cl-mysql")
9954 (commit commit)))
9955 (file-name (git-file-name name version))
9956 (sha256
9957 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
9958 (build-system asdf-build-system/sbcl)
9959 (native-inputs
9960 `(("stefil" ,sbcl-stefil)))
9961 (inputs
9962 `(("cffi" ,sbcl-cffi)
9963 ("mariadb-lib" ,mariadb "lib")))
9964 (arguments
9965 `(#:tests? #f ; TODO: Tests require a running server
9966 #:phases
9967 (modify-phases %standard-phases
9968 (add-after 'unpack 'fix-paths
9969 (lambda* (#:key inputs #:allow-other-keys)
9970 (substitute* "system.lisp"
9971 (("libmysqlclient_r" all)
9972 (string-append (assoc-ref inputs "mariadb-lib")
9973 "/lib/"
9974 all)))
9975 #t)))))
9976 (synopsis "Common Lisp wrapper for MySQL")
9977 (description
9978 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
9979 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
9980 (license license:expat))))
9981
9982 (define-public cl-mysql
9983 (sbcl-package->cl-source-package sbcl-cl-mysql))
9984
9985 (define-public ecl-cl-mysql
9986 (sbcl-package->ecl-package sbcl-cl-mysql))
9987
9988 (define-public sbcl-postmodern
9989 (package
9990 (name "sbcl-postmodern")
9991 (version "1.32.8")
9992 (source
9993 (origin
9994 (method git-fetch)
9995 (uri (git-reference
9996 (url "https://github.com/marijnh/Postmodern")
9997 (commit (string-append "v" version))))
9998 (file-name (git-file-name name version))
9999 (sha256
10000 (base32 "0vr5inbr8dldf6dsl0qj3h2yrnnsayzfwxfzwkn1pk7xbns2l78q"))))
10001 (build-system asdf-build-system/sbcl)
10002 (native-inputs
10003 `(("fiveam" ,sbcl-fiveam)))
10004 (inputs
10005 `(("alexandria" ,sbcl-alexandria)
10006 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10007 ("cl-base64" ,sbcl-cl-base64)
10008 ("cl-unicode" ,sbcl-cl-unicode)
10009 ("closer-mop" ,sbcl-closer-mop)
10010 ("global-vars" ,sbcl-global-vars)
10011 ("ironclad" ,sbcl-ironclad)
10012 ("local-time" ,sbcl-local-time)
10013 ("md5" ,sbcl-md5)
10014 ("split-sequence" ,sbcl-split-sequence)
10015 ("uax-15" ,sbcl-uax-15)
10016 ("usocket" ,sbcl-usocket)))
10017 (arguments
10018 ;; TODO: (Sharlatan-20210114T171037+0000) tests still failing but on other
10019 ;; step, some functionality in `local-time' prevents passing tests.
10020 ;; Error:
10021 ;;
10022 ;; Can't create directory
10023 ;; /gnu/store
10024 ;; /4f47agf1kyiz057ppy6x5p98i7mcbfsv-sbcl-local-time-1.0.6-2.a177eb9
10025 ;; /lib/common-lisp/sbcl/local-time/src/integration/
10026 ;;
10027 ;; NOTE: (Sharlatan-20210124T191940+0000): When set env HOME to /tmp above
10028 ;; issue is resolved but it required live test database to connect to now.
10029 ;; Keep tests switched off.
10030 `(#:tests? #f
10031 #:asd-systems '("cl-postgres"
10032 "s-sql"
10033 "postmodern"
10034 "simple-date"
10035 "simple-date/postgres-glue")))
10036 (synopsis "Common Lisp library for interacting with PostgreSQL")
10037 (description
10038 "@code{postmodern} is a Common Lisp library for interacting with
10039 PostgreSQL databases. It provides the following features:
10040
10041 @itemize
10042 @item Efficient communication with the database server without need for
10043 foreign libraries.
10044 @item Support for UTF-8 on Unicode-aware Lisp implementations.
10045 @item A syntax for mixing SQL and Lisp code.
10046 @item Convenient support for prepared statements and stored procedures.
10047 @item A metaclass for simple database-access objects.
10048 @end itemize\n
10049
10050 This package produces 4 systems: postmodern, cl-postgres, s-sql, simple-date
10051
10052 @code{SIMPLE-DATE} is a very basic implementation of date and time objects, used
10053 to support storing and retrieving time-related SQL types. It is not loaded by
10054 default and you can use local-time (which has support for timezones) instead.
10055
10056 @code{S-SQL} is used to compile s-expressions to strings of SQL code, escaping
10057 any Lisp values inside, and doing as much as possible of the work at compile
10058 time.
10059
10060 @code{CL-POSTGRES} is the low-level library used for interfacing with a PostgreSQL
10061 server over a socket.
10062
10063 @code{POSTMODERN} itself is a wrapper around these packages and provides higher
10064 level functions, a very simple data access object that can be mapped directly to
10065 database tables and some convient utilities. It then tries to put all these
10066 things together into a convenient programming interface")
10067 (home-page "https://marijnhaverbeke.nl/postmodern/")
10068 (license license:zlib)))
10069
10070 (define-public cl-postmodern
10071 (sbcl-package->cl-source-package sbcl-postmodern))
10072
10073 (define-public ecl-postmodern
10074 (package
10075 (inherit (sbcl-package->ecl-package sbcl-postmodern))
10076 (arguments
10077 `(#:tests? #f
10078 #:asd-systems '("cl-postgres"
10079 "s-sql"
10080 "postmodern"
10081 "simple-date"
10082 "simple-date/postgres-glue")
10083 #:phases
10084 (modify-phases %standard-phases
10085 (add-after 'unpack 'fix-build
10086 (lambda _
10087 (substitute* "cl-postgres.asd"
10088 ((":or :sbcl :allegro :ccl :clisp" all)
10089 (string-append all " :ecl")))
10090 #t)))))))
10091
10092 (define-public sbcl-db3
10093 (let ((commit "38e5ad35f025769fb7f8dcdc6e56df3e8efd8e6d")
10094 (revision "1"))
10095 (package
10096 (name "sbcl-db3")
10097 (version (git-version "0.0.0" revision commit))
10098 (source
10099 (origin
10100 (method git-fetch)
10101 (uri (git-reference
10102 (url "https://github.com/dimitri/cl-db3")
10103 (commit commit)))
10104 (file-name (git-file-name "cl-db3" version))
10105 (sha256
10106 (base32 "1i7j0mlri6kbklcx1lsm464s8kmyhhij5c4xh4aybrw8m4ixn1s5"))))
10107 (build-system asdf-build-system/sbcl)
10108 (home-page "https://github.com/dimitri/cl-db3")
10109 (synopsis "Common Lisp library to read dBase III database files")
10110 (description
10111 "This is a Common Lisp library for processing data found in dBase III
10112 database files (dbf and db3 files).")
10113 (license license:public-domain))))
10114
10115 (define-public ecl-db3
10116 (sbcl-package->ecl-package sbcl-db3))
10117
10118 (define-public cl-db3
10119 (sbcl-package->cl-source-package sbcl-db3))
10120
10121 (define-public sbcl-dbi
10122 ;; Master includes a breaking change which other packages depend on since
10123 ;; Quicklisp decided to follow it:
10124 ;; https://github.com/fukamachi/cl-dbi/commit/31c46869722f77fd5292a81b5b101f1347d7fce1
10125 (let ((commit "31c46869722f77fd5292a81b5b101f1347d7fce1"))
10126 (package
10127 (name "sbcl-dbi")
10128 (version (git-version "0.9.4" "1" commit))
10129 (source
10130 (origin
10131 (method git-fetch)
10132 (uri (git-reference
10133 (url "https://github.com/fukamachi/cl-dbi")
10134 (commit commit)))
10135 (file-name (git-file-name name version))
10136 (sha256
10137 (base32 "0r3n4rw12qqxad0cryym2ibm4ddl49gbq4ra227afibsr43nw5k3"))))
10138 (build-system asdf-build-system/sbcl)
10139 (native-inputs
10140 `(("rove" ,sbcl-rove)
10141 ("trivial-types" ,sbcl-trivial-types)))
10142 (inputs
10143 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10144 ("cl-mysql" ,sbcl-cl-mysql)
10145 ("cl-sqlite" ,sbcl-cl-sqlite)
10146 ("closer-mop" ,sbcl-closer-mop)
10147 ("postmodern" ,sbcl-postmodern)
10148 ("split-sequence" ,sbcl-split-sequence)
10149 ("trivial-garbage" ,sbcl-trivial-garbage)))
10150 (arguments
10151 `(#:asd-systems '("dbi"
10152 "dbd-mysql"
10153 "dbd-postgres"
10154 "dbd-sqlite3")))
10155 (synopsis "Database independent interface for Common Lisp")
10156 (description
10157 "@code{dbi} is a Common Lisp library providing a database independent
10158 interface for MySQL, PostgreSQL and SQLite.")
10159 (home-page "https://github.com/fukamachi/cl-dbi")
10160 (license license:llgpl))))
10161
10162 (define-public cl-dbi
10163 (sbcl-package->cl-source-package sbcl-dbi))
10164
10165 (define-public ecl-dbi
10166 (sbcl-package->ecl-package sbcl-dbi))
10167
10168 (define-public sbcl-uffi
10169 (package
10170 (name "sbcl-uffi")
10171 (version "2.1.2")
10172 (source
10173 (origin
10174 (method git-fetch)
10175 (uri (git-reference
10176 (url "http://git.kpe.io/uffi.git")
10177 (commit (string-append "v" version))))
10178 (file-name (git-file-name name version))
10179 (sha256
10180 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
10181 (build-system asdf-build-system/sbcl)
10182 (arguments
10183 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
10184 #:asd-files '("uffi.asd")
10185 #:phases
10186 (modify-phases %standard-phases
10187 (add-after 'unpack 'fix-permissions
10188 (lambda _
10189 (make-file-writable "doc/html.tar.gz")
10190 #t)))))
10191 (synopsis "Universal foreign function library for Common Lisp")
10192 (description
10193 "UFFI provides a universal foreign function interface (FFI)
10194 for Common Lisp.")
10195 (home-page "http://quickdocs.org/uffi/")
10196 (license license:llgpl)))
10197
10198 (define-public cl-uffi
10199 (package
10200 (inherit (sbcl-package->cl-source-package sbcl-uffi))
10201 (arguments
10202 `(#:phases
10203 ;; asdf-build-system/source has its own phases and does not inherit
10204 ;; from asdf-build-system/sbcl phases.
10205 (modify-phases %standard-phases/source
10206 ;; Already done in SBCL package.
10207 (delete 'reset-gzip-timestamps))))))
10208
10209 (define-public sbcl-clsql
10210 (package
10211 (name "sbcl-clsql")
10212 (version "6.7.0")
10213 (source
10214 (origin
10215 (method git-fetch)
10216 (uri (git-reference
10217 (url "http://git.kpe.io/clsql.git")
10218 (commit (string-append "v" version))))
10219 (file-name (git-file-name name version))
10220 (sha256
10221 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
10222 (snippet
10223 '(begin
10224 ;; Remove precompiled libraries.
10225 (delete-file "db-mysql/clsql_mysql.dll")
10226 (delete-file "uffi/clsql_uffi.dll")
10227 (delete-file "uffi/clsql_uffi.lib")
10228 #t))))
10229 (build-system asdf-build-system/sbcl)
10230 (native-inputs
10231 `(("rt" ,sbcl-rt)))
10232 (inputs
10233 `(("cffi" ,sbcl-cffi)
10234 ("md5" ,sbcl-md5)
10235 ("mysql" ,mysql)
10236 ("postgresql" ,postgresql)
10237 ("postmodern" ,sbcl-postmodern)
10238 ("sqlite" ,sqlite)
10239 ("uffi" ,sbcl-uffi)
10240 ("zlib" ,zlib)))
10241 (arguments
10242 `(#:asd-files '("clsql.asd"
10243 "clsql-uffi.asd"
10244 "clsql-sqlite3.asd"
10245 "clsql-postgresql.asd"
10246 "clsql-postgresql-socket3.asd"
10247 "clsql-mysql.asd")
10248 #:asd-systems '("clsql"
10249 "clsql-sqlite3"
10250 "clsql-postgresql"
10251 "clsql-postgresql-socket3"
10252 "clsql-mysql")
10253 #:phases
10254 (modify-phases %standard-phases
10255 (add-after 'unpack 'fix-permissions
10256 (lambda _
10257 (make-file-writable "doc/html.tar.gz")
10258 #t))
10259 (add-after 'unpack 'fix-build
10260 (lambda _
10261 (substitute* "clsql-uffi.asd"
10262 (("\\(:version uffi \"2.0\"\\)")
10263 "uffi"))
10264 (substitute* "db-postgresql/postgresql-api.lisp"
10265 (("\\(data :cstring\\)")
10266 "(data :string)"))
10267 #t))
10268 (add-after 'unpack 'fix-paths
10269 (lambda* (#:key inputs outputs #:allow-other-keys)
10270 (substitute* "db-sqlite3/sqlite3-loader.lisp"
10271 (("libsqlite3")
10272 (string-append (assoc-ref inputs "sqlite")
10273 "/lib/libsqlite3")))
10274 (substitute* "db-postgresql/postgresql-loader.lisp"
10275 (("libpq")
10276 (string-append (assoc-ref inputs "postgresql")
10277 "/lib/libpq")))
10278 (let ((lib (string-append "#p\""
10279 (assoc-ref outputs "out")
10280 "/lib/\"")))
10281 (substitute* "clsql-mysql.asd"
10282 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
10283 lib))
10284 (substitute* "db-mysql/mysql-loader.lisp"
10285 (("libmysqlclient" all)
10286 (string-append (assoc-ref inputs "mysql") "/lib/" all))
10287 (("clsql-mysql-system::\\*library-file-dir\\*")
10288 lib)))
10289 #t))
10290 (add-before 'build 'build-helper-library
10291 (lambda* (#:key inputs outputs #:allow-other-keys)
10292 (let* ((mysql (assoc-ref inputs "mysql"))
10293 (inc-dir (string-append mysql "/include/mysql"))
10294 (lib-dir (string-append mysql "/lib"))
10295 (shared-lib-dir (string-append (assoc-ref outputs "out")
10296 "/lib"))
10297 (shared-lib (string-append shared-lib-dir
10298 "/clsql_mysql.so")))
10299 (mkdir-p shared-lib-dir)
10300 (invoke "gcc" "-fPIC" "-shared"
10301 "-I" inc-dir
10302 "db-mysql/clsql_mysql.c"
10303 "-Wl,-soname=clsql_mysql"
10304 "-L" lib-dir "-lmysqlclient" "-lz"
10305 "-o" shared-lib)
10306 #t)))
10307 (add-after 'unpack 'fix-tests
10308 (lambda _
10309 (substitute* "clsql.asd"
10310 (("clsql-tests :force t")
10311 "clsql-tests"))
10312 #t)))))
10313 (synopsis "Common Lisp SQL Interface library")
10314 (description
10315 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
10316 Xanalys CommonSQL interface for Lispworks. It provides low-level database
10317 interfaces as well as a functional and an object oriented interface.")
10318 (home-page "http://clsql.kpe.io/")
10319 (license license:llgpl)))
10320
10321 (define-public cl-clsql
10322 (package
10323 (inherit (sbcl-package->cl-source-package sbcl-clsql))
10324 (native-inputs
10325 `(("rt" ,cl-rt)))
10326 (inputs
10327 `(("mysql" ,mysql)
10328 ("postgresql" ,postgresql)
10329 ("sqlite" ,sqlite)
10330 ("zlib" ,zlib)))
10331 (propagated-inputs
10332 `(("cffi" ,cl-cffi)
10333 ("md5" ,cl-md5)
10334 ("postmodern" ,cl-postmodern)
10335 ("uffi" ,cl-uffi)))
10336 (arguments
10337 `(#:phases
10338 ;; asdf-build-system/source has its own phases and does not inherit
10339 ;; from asdf-build-system/sbcl phases.
10340 (modify-phases %standard-phases/source
10341 (add-after 'unpack 'fix-permissions
10342 (lambda _
10343 (make-file-writable "doc/html.tar.gz")
10344 #t)))))))
10345
10346 (define-public ecl-clsql
10347 (let ((pkg (sbcl-package->ecl-package sbcl-clsql)))
10348 (package
10349 (inherit pkg)
10350 (inputs
10351 (alist-delete "uffi" (package-inputs pkg)))
10352 (arguments
10353 (substitute-keyword-arguments (package-arguments pkg)
10354 ((#:asd-files asd-files '())
10355 `(cons "clsql-cffi.asd" ,asd-files)))))))
10356
10357 (define-public sbcl-sycamore
10358 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
10359 (package
10360 (name "sbcl-sycamore")
10361 (version "0.0.20120604")
10362 (source
10363 (origin
10364 (method git-fetch)
10365 (uri (git-reference
10366 (url "https://github.com/ndantam/sycamore/")
10367 (commit commit)))
10368 (file-name (git-file-name name version))
10369 (sha256
10370 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
10371 (build-system asdf-build-system/sbcl)
10372 (inputs
10373 `(("alexandria" ,sbcl-alexandria)
10374 ("cl-ppcre" ,sbcl-cl-ppcre)))
10375 (synopsis "Purely functional data structure library in Common Lisp")
10376 (description
10377 "Sycamore is a fast, purely functional data structure library in Common Lisp.
10378 If features:
10379
10380 @itemize
10381 @item Fast, purely functional weight-balanced binary trees.
10382 @item Leaf nodes are simple-vectors, greatly reducing tree height.
10383 @item Interfaces for tree Sets and Maps (dictionaries).
10384 @item Ropes.
10385 @item Purely functional pairing heaps.
10386 @item Purely functional amortized queue.
10387 @end itemize\n")
10388 (home-page "http://ndantam.github.io/sycamore/")
10389 (license license:bsd-3))))
10390
10391 (define-public cl-sycamore
10392 (sbcl-package->cl-source-package sbcl-sycamore))
10393
10394 (define-public ecl-sycamore
10395 (sbcl-package->ecl-package sbcl-sycamore))
10396
10397 (define-public sbcl-trivial-package-local-nicknames
10398 (package
10399 (name "sbcl-trivial-package-local-nicknames")
10400 (version "0.2")
10401 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
10402 (source
10403 (origin
10404 (method git-fetch)
10405 (uri (git-reference
10406 (url home-page)
10407 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
10408 (file-name (git-file-name name version))
10409 (sha256
10410 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
10411 (build-system asdf-build-system/sbcl)
10412 (synopsis "Common Lisp compatibility library for package local nicknames")
10413 (description
10414 "This library is a portable compatibility layer around package local nicknames (PLN).
10415 This was done so there is a portability library for the PLN API not included
10416 in DEFPACKAGE.")
10417 (license license:unlicense)))
10418
10419 (define-public cl-trivial-package-local-nicknames
10420 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
10421
10422 (define-public ecl-trivial-package-local-nicknames
10423 (sbcl-package->ecl-package sbcl-trivial-package-local-nicknames))
10424
10425 (define-public sbcl-enchant
10426 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
10427 (package
10428 (name "sbcl-enchant")
10429 (version (git-version "0.0.0" "1" commit))
10430 (home-page "https://github.com/tlikonen/cl-enchant")
10431 (source
10432 (origin
10433 (method git-fetch)
10434 (uri (git-reference
10435 (url home-page)
10436 (commit commit)))
10437 (file-name (git-file-name name version))
10438 (sha256
10439 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
10440 (build-system asdf-build-system/sbcl)
10441 (inputs
10442 `(("enchant" ,enchant)
10443 ("cffi" ,sbcl-cffi)))
10444 (arguments
10445 `(#:phases
10446 (modify-phases %standard-phases
10447 (add-after 'unpack 'fix-paths
10448 (lambda* (#:key inputs #:allow-other-keys)
10449 (substitute* "load-enchant.lisp"
10450 (("libenchant")
10451 (string-append
10452 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
10453 (synopsis "Common Lisp interface for the Enchant spell-checker library")
10454 (description
10455 "Enchant is a Common Lisp interface for the Enchant spell-checker
10456 library. The Enchant library is a generic spell-checker library which uses
10457 other spell-checkers transparently as back-end. The library supports the
10458 multiple checkers, including Aspell and Hunspell.")
10459 (license license:public-domain))))
10460
10461 (define-public cl-enchant
10462 (sbcl-package->cl-source-package sbcl-enchant))
10463
10464 (define-public ecl-enchant
10465 (sbcl-package->ecl-package sbcl-enchant))
10466
10467 (define-public sbcl-cl-change-case
10468 (let ((commit "45c70b601125889689e0c1c37d7e727a3a0af022")
10469 (revision "1"))
10470 (package
10471 (name "sbcl-cl-change-case")
10472 (version (git-version "0.2.0" revision commit))
10473 (home-page "https://github.com/rudolfochrist/cl-change-case")
10474 (source
10475 (origin
10476 (method git-fetch)
10477 (uri (git-reference
10478 (url home-page)
10479 (commit commit)))
10480 (file-name (git-file-name "cl-change-case" version))
10481 (sha256
10482 (base32 "0qmk341zzcsbf8sq0w9ix3r080zg4ri6vzxym63lhdjfzwz3y8if"))))
10483 (build-system asdf-build-system/sbcl)
10484 (inputs
10485 `(("cl-ppcre" ,sbcl-cl-ppcre)
10486 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
10487 (native-inputs
10488 `(("fiveam" ,sbcl-fiveam)))
10489 (synopsis
10490 "Convert Common Lisp strings between camelCase, PascalCase and more")
10491 (description
10492 "@code{cl-change-case} is a library to convert strings between
10493 camelCase, PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
10494 (license license:llgpl))))
10495
10496 (define-public cl-change-case
10497 (sbcl-package->cl-source-package sbcl-cl-change-case))
10498
10499 (define-public ecl-cl-change-case
10500 (sbcl-package->ecl-package sbcl-cl-change-case))
10501
10502 (define-public sbcl-modularize
10503 (let ((commit "86c5d9a11fbd2df9f0f03ac10b5d71837c8934ba")
10504 (revision "1"))
10505 (package
10506 (name "sbcl-modularize")
10507 (version (git-version "1.0.0" revision commit))
10508 (source
10509 (origin
10510 (method git-fetch)
10511 (uri (git-reference
10512 (url "https://github.com/Shinmera/modularize")
10513 (commit commit)))
10514 (file-name (git-file-name name version))
10515 (sha256
10516 (base32 "1zys29rfkb649rkgl3snxhajk8d5yf7ryxkrwy020kwdh7zdsg7d"))))
10517 (build-system asdf-build-system/sbcl)
10518 (arguments
10519 `(#:test-asd-file "modularize-test-module.asd"
10520 #:asd-files '("modularize.asd" "modularize-test-module.asd")
10521 #:asd-systems '("modularize" "modularize-test-module")))
10522 (inputs
10523 `(("documentation-utils" ,sbcl-documentation-utils)
10524 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)))
10525 (home-page "https://shinmera.github.io/modularize/")
10526 (synopsis "Common Lisp modularization framework")
10527 (description
10528 "@code{MODULARIZE} is an attempt at providing a common interface to
10529 segregate major application components. This is achieved by adding special
10530 treatment to packages. Each module is a package that is specially registered,
10531 which allows it to interact and co-exist with other modules in better ways. For
10532 instance, by adding module definition options you can introduce mechanisms to
10533 tie modules together in functionality, hook into each other and so on.")
10534 (license license:zlib))))
10535
10536 (define-public ecl-modularize
10537 (sbcl-package->ecl-package sbcl-modularize))
10538
10539 (define-public cl-modularize
10540 (sbcl-package->cl-source-package sbcl-modularize))
10541
10542 (define-public sbcl-modularize-hooks
10543 (let ((commit "e0348ed3ffd59a9ec31ca4ab28289e748bfbf96a")
10544 (revision "1"))
10545 (package
10546 (name "sbcl-modularize-hooks")
10547 (version (git-version "1.0.2" revision commit))
10548 (source
10549 (origin
10550 (method git-fetch)
10551 (uri (git-reference
10552 (url "https://github.com/Shinmera/modularize-hooks")
10553 (commit commit)))
10554 (file-name (git-file-name "modularize-hooks" version))
10555 (sha256
10556 (base32 "12kjvin8hxidwkzfb7inqv5b6g5qzcssnj9wc497v2ixc56fqdz7"))))
10557 (build-system asdf-build-system/sbcl)
10558 (inputs
10559 `(("closer-mop" ,sbcl-closer-mop)
10560 ("lambda-fiddle" ,sbcl-lambda-fiddle)
10561 ("modularize" ,sbcl-modularize)
10562 ("trivial-arguments" ,sbcl-trivial-arguments)))
10563 (home-page "https://shinmera.github.io/modularize-hooks/")
10564 (synopsis "Generic hooks and triggers extension for Modularize")
10565 (description
10566 "This is a simple extension to @code{MODULARIZE} that allows modules to
10567 define and trigger hooks, which other modules can hook on to.")
10568 (license license:zlib))))
10569
10570 (define-public ecl-modularize-hooks
10571 (sbcl-package->ecl-package sbcl-modularize-hooks))
10572
10573 (define-public cl-modularize-hooks
10574 (sbcl-package->cl-source-package sbcl-modularize-hooks))
10575
10576 (define-public sbcl-modularize-interfaces
10577 (let ((commit "96353657afb8c7aeba7ef5b51eb04c5ed3bcb6ef")
10578 (revision "1"))
10579 (package
10580 (name "sbcl-modularize-interfaces")
10581 (version (git-version "0.9.3" revision commit))
10582 (source
10583 (origin
10584 (method git-fetch)
10585 (uri (git-reference
10586 (url "https://github.com/Shinmera/modularize-interfaces")
10587 (commit commit)))
10588 (file-name (git-file-name "modularize-interfaces" version))
10589 (sha256
10590 (base32 "0bjf4wy39cwf75m7vh0r7mmcchs09yz2lrbyap98hnq8blq70fhc"))))
10591 (build-system asdf-build-system/sbcl)
10592 (inputs
10593 `(("lambda-fiddle" ,sbcl-lambda-fiddle)
10594 ("modularize" ,sbcl-modularize)
10595 ("trivial-arguments" ,sbcl-trivial-arguments)
10596 ("trivial-indent" ,sbcl-trivial-indent)))
10597 (home-page "https://shinmera.github.io/modularize-interfaces/")
10598 (synopsis "Programmatical interfaces extension for Modularize")
10599 (description
10600 "This is an extension to @code{MODULARIZE} that allows your application
10601 to define interfaces in-code that serve both as a primary documentation and as
10602 compliance control.")
10603 (license license:zlib))))
10604
10605 (define-public ecl-modularize-interfaces
10606 (sbcl-package->ecl-package sbcl-modularize-interfaces))
10607
10608 (define-public cl-modularize-interfaces
10609 (sbcl-package->cl-source-package sbcl-modularize-interfaces))
10610
10611 (define-public sbcl-moptilities
10612 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
10613 (package
10614 (name "sbcl-moptilities")
10615 (version (git-version "0.3.13" "1" commit))
10616 (home-page "https://github.com/gwkkwg/moptilities/")
10617 (source
10618 (origin
10619 (method git-fetch)
10620 (uri (git-reference
10621 (url home-page)
10622 (commit commit)))
10623 (file-name (git-file-name name version))
10624 (sha256
10625 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
10626 (build-system asdf-build-system/sbcl)
10627 (inputs
10628 `(("closer-mop" ,sbcl-closer-mop)))
10629 (native-inputs
10630 `(("lift" ,sbcl-lift)))
10631 (arguments
10632 `(#:phases
10633 (modify-phases %standard-phases
10634 (add-after 'unpack 'fix-tests
10635 (lambda _
10636 (substitute* "lift-standard.config"
10637 ((":relative-to lift-test")
10638 ":relative-to moptilities-test"))
10639 #t)))))
10640 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
10641 (description
10642 "MOP utilities provide a common interface between Lisps and make the
10643 MOP easier to use.")
10644 (license license:expat))))
10645
10646 (define-public cl-moptilities
10647 (sbcl-package->cl-source-package sbcl-moptilities))
10648
10649 (define-public sbcl-osicat
10650 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
10651 (package
10652 (name "sbcl-osicat")
10653 (version (git-version "0.7.0" "1" commit))
10654 (home-page "http://www.common-lisp.net/project/osicat/")
10655 (source
10656 (origin
10657 (method git-fetch)
10658 (uri (git-reference
10659 (url "https://github.com/osicat/osicat")
10660 (commit commit)))
10661 (file-name (git-file-name name version))
10662 (sha256
10663 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
10664 (build-system asdf-build-system/sbcl)
10665 (inputs
10666 `(("alexandria" ,sbcl-alexandria)
10667 ("cffi" ,sbcl-cffi)
10668 ("trivial-features" ,sbcl-trivial-features)))
10669 (native-inputs
10670 `(("rt" ,sbcl-rt)))
10671 (synopsis "Operating system interface for Common Lisp")
10672 (description
10673 "Osicat is a lightweight operating system interface for Common Lisp on
10674 Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
10675 accompaniment to the standard ANSI facilities.")
10676 (license license:expat))))
10677
10678 (define-public cl-osicat
10679 (sbcl-package->cl-source-package sbcl-osicat))
10680
10681 (define-public ecl-osicat
10682 (sbcl-package->ecl-package sbcl-osicat))
10683
10684 (define-public sbcl-clx-xembed
10685 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
10686 (revision "1"))
10687 (package
10688 (name "sbcl-clx-xembed")
10689 (version (git-version "0.1" revision commit))
10690 (home-page "https://github.com/laynor/clx-xembed")
10691 (source
10692 (origin
10693 (method git-fetch)
10694 (uri (git-reference
10695 (url "https://github.com/laynor/clx-xembed")
10696 (commit commit)))
10697 (file-name (git-file-name name version))
10698 (sha256
10699 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
10700 (build-system asdf-build-system/sbcl)
10701 (arguments
10702 `(#:asd-systems '("xembed")))
10703 (inputs
10704 `(("sbcl-clx" ,sbcl-clx)))
10705 (synopsis "CL(x) xembed protocol implementation ")
10706 (description "CL(x) xembed protocol implementation")
10707 ;; MIT License
10708 (license license:expat))))
10709
10710 (define-public cl-clx-xembed
10711 (sbcl-package->cl-source-package sbcl-clx-xembed))
10712
10713 (define-public ecl-clx-xembed
10714 (sbcl-package->ecl-package sbcl-clx-xembed))
10715
10716 (define-public sbcl-quantile-estimator
10717 (package
10718 (name "sbcl-quantile-estimator")
10719 (version "0.0.1")
10720 (source
10721 (origin
10722 (method git-fetch)
10723 (uri (git-reference
10724 (url "https://github.com/deadtrickster/quantile-estimator.cl")
10725 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
10726 (file-name (git-file-name name version))
10727 (sha256
10728 (base32
10729 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
10730 (build-system asdf-build-system/sbcl)
10731 (arguments
10732 '(#:asd-files '("quantile-estimator.asd")))
10733 (inputs
10734 `(("alexandria" ,sbcl-alexandria)))
10735 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
10736 (synopsis
10737 "Effective computation of biased quantiles over data streams")
10738 (description
10739 "Common Lisp implementation of Graham Cormode and S.
10740 Muthukrishnan's Effective Computation of Biased Quantiles over Data
10741 Streams in ICDE’05.")
10742 (license license:expat)))
10743
10744 (define-public cl-quantile-estimator
10745 (sbcl-package->cl-source-package sbcl-quantile-estimator))
10746
10747 (define-public ecl-quantile-estimator
10748 (sbcl-package->ecl-package sbcl-quantile-estimator))
10749
10750 (define-public sbcl-prometheus
10751 (package
10752 (name "sbcl-prometheus")
10753 (version "0.4.1")
10754 (source
10755 (origin
10756 (method git-fetch)
10757 (uri (git-reference
10758 (url "https://github.com/deadtrickster/prometheus.cl")
10759 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
10760 (file-name (git-file-name name version))
10761 (sha256
10762 (base32
10763 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
10764 (build-system asdf-build-system/sbcl)
10765 (inputs
10766 `(("alexandria" ,sbcl-alexandria)
10767 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10768 ("cffi" ,sbcl-cffi)
10769 ("cl-fad" ,sbcl-cl-fad)
10770 ("cl-ppcre" ,sbcl-cl-ppcre)
10771 ("drakma" ,sbcl-drakma)
10772 ("hunchentoot" ,sbcl-hunchentoot)
10773 ("local-time" ,sbcl-local-time)
10774 ("quantile-estimator" ,sbcl-quantile-estimator)
10775 ("salza2" ,sbcl-salza2)
10776 ("split-sequence" ,sbcl-split-sequence)
10777 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10778 (arguments
10779 '(#:asd-files '("prometheus.asd"
10780 "prometheus.collectors.sbcl.asd"
10781 "prometheus.collectors.process.asd"
10782 "prometheus.formats.text.asd"
10783 "prometheus.exposers.hunchentoot.asd"
10784 "prometheus.pushgateway.asd")
10785 #:asd-systems '("prometheus"
10786 "prometheus.collectors.sbcl"
10787 "prometheus.collectors.process"
10788 "prometheus.formats.text"
10789 "prometheus.exposers.hunchentoot"
10790 "prometheus.pushgateway")))
10791 (home-page "https://github.com/deadtrickster/prometheus.cl")
10792 (synopsis "Prometheus.io Common Lisp client")
10793 (description "Prometheus.io Common Lisp client.")
10794 (license license:expat)))
10795
10796 (define-public cl-prometheus
10797 (sbcl-package->cl-source-package sbcl-prometheus))
10798
10799 (define-public ecl-prometheus
10800 (sbcl-package->ecl-package sbcl-prometheus))
10801
10802 (define-public sbcl-uuid
10803 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
10804 (package
10805 (name "sbcl-uuid")
10806 (version (git-version "2012.12.26" "1" commit))
10807 (source
10808 (origin
10809 (method git-fetch)
10810 (uri (git-reference
10811 (url "https://github.com/dardoria/uuid")
10812 (commit commit)))
10813 (file-name (git-file-name name version))
10814 (sha256
10815 (base32
10816 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
10817 (build-system asdf-build-system/sbcl)
10818 (inputs
10819 `(("ironclad" ,sbcl-ironclad)
10820 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10821 (home-page "https://github.com/dardoria/uuid")
10822 (synopsis
10823 "Common Lisp implementation of UUIDs according to RFC4122")
10824 (description
10825 "Common Lisp implementation of UUIDs according to RFC4122.")
10826 (license license:llgpl))))
10827
10828 (define-public cl-uuid
10829 (sbcl-package->cl-source-package sbcl-uuid))
10830
10831 (define-public ecl-uuid
10832 (sbcl-package->ecl-package sbcl-uuid))
10833
10834 (define-public sbcl-dissect
10835 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
10836 (package
10837 (name "sbcl-dissect")
10838 (version (git-version "1.0.0" "1" commit))
10839 (source
10840 (origin
10841 (method git-fetch)
10842 (uri (git-reference
10843 (url "https://github.com/Shinmera/dissect")
10844 (commit commit)))
10845 (file-name (git-file-name name version))
10846 (sha256
10847 (base32
10848 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
10849 (build-system asdf-build-system/sbcl)
10850 (inputs
10851 `(("cl-ppcre" ,sbcl-cl-ppcre)))
10852 (home-page "https://shinmera.github.io/dissect/")
10853 (synopsis
10854 "Introspection library for the call stack and restarts")
10855 (description
10856 "Dissect is a small Common Lisp library for introspecting the call stack
10857 and active restarts.")
10858 (license license:zlib))))
10859
10860 (define-public cl-dissect
10861 (sbcl-package->cl-source-package sbcl-dissect))
10862
10863 (define-public ecl-dissect
10864 (sbcl-package->ecl-package sbcl-dissect))
10865
10866 (define-public sbcl-rove
10867 (package
10868 (name "sbcl-rove")
10869 (version "0.9.6")
10870 (source
10871 (origin
10872 (method git-fetch)
10873 (uri (git-reference
10874 (url "https://github.com/fukamachi/rove")
10875 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
10876 (file-name (git-file-name name version))
10877 (sha256
10878 (base32
10879 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
10880 (build-system asdf-build-system/sbcl)
10881 (inputs
10882 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10883 ("dissect" ,sbcl-dissect)
10884 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
10885 (home-page "https://github.com/fukamachi/rove")
10886 (synopsis
10887 "Yet another common lisp testing library")
10888 (description
10889 "Rove is a unit testing framework for Common Lisp applications.
10890 This is intended to be a successor of Prove.")
10891 (license license:bsd-3)))
10892
10893 (define-public cl-rove
10894 (sbcl-package->cl-source-package sbcl-rove))
10895
10896 (define-public ecl-rove
10897 (sbcl-package->ecl-package sbcl-rove))
10898
10899 (define-public sbcl-exponential-backoff
10900 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
10901 (package
10902 (name "sbcl-exponential-backoff")
10903 (version (git-version "0" "1" commit))
10904 (source
10905 (origin
10906 (method git-fetch)
10907 (uri (git-reference
10908 (url "https://github.com/death/exponential-backoff")
10909 (commit commit)))
10910 (file-name (git-file-name name version))
10911 (sha256
10912 (base32
10913 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
10914 (build-system asdf-build-system/sbcl)
10915 (home-page "https://github.com/death/exponential-backoff")
10916 (synopsis "Exponential backoff algorithm in Common Lisp")
10917 (description
10918 "An implementation of the exponential backoff algorithm in Common Lisp.
10919 Inspired by the implementation found in Chromium. Read the header file to
10920 learn about each of the parameters.")
10921 (license license:expat))))
10922
10923 (define-public cl-exponential-backoff
10924 (sbcl-package->cl-source-package sbcl-exponential-backoff))
10925
10926 (define-public ecl-exponential-backoff
10927 (sbcl-package->ecl-package sbcl-exponential-backoff))
10928
10929 (define-public sbcl-sxql
10930 (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
10931 (package
10932 (name "sbcl-sxql")
10933 (version (git-version "0.1.0" "1" commit))
10934 (source
10935 (origin
10936 (method git-fetch)
10937 (uri (git-reference
10938 (url "https://github.com/fukamachi/sxql")
10939 (commit commit)))
10940 (file-name (git-file-name name version))
10941 (sha256
10942 (base32
10943 "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
10944 (build-system asdf-build-system/sbcl)
10945 (arguments
10946 `(#:test-asd-file "sxql-test.asd"))
10947 (inputs
10948 `(("alexandria" ,sbcl-alexandria)
10949 ("cl-syntax" ,sbcl-cl-syntax)
10950 ("iterate" ,sbcl-iterate)
10951 ("optima" ,sbcl-optima)
10952 ("split-sequence" ,sbcl-split-sequence)
10953 ("trivial-types" ,sbcl-trivial-types)))
10954 (native-inputs
10955 `(("prove" ,sbcl-prove)))
10956 (home-page "https://github.com/fukamachi/sxql")
10957 (synopsis "SQL generator for Common Lisp")
10958 (description "SQL generator for Common Lisp.")
10959 (license license:bsd-3))))
10960
10961 (define-public cl-sxql
10962 (sbcl-package->cl-source-package sbcl-sxql))
10963
10964 (define-public ecl-sxql
10965 (sbcl-package->ecl-package sbcl-sxql))
10966
10967 (define-public sbcl-1am
10968 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
10969 (package
10970 (name "sbcl-1am")
10971 (version (git-version "0.0" "1" commit))
10972 (source
10973 (origin
10974 (method git-fetch)
10975 (uri (git-reference
10976 (url "https://github.com/lmj/1am")
10977 (commit commit)))
10978 (file-name (git-file-name name version))
10979 (sha256
10980 (base32
10981 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
10982 (build-system asdf-build-system/sbcl)
10983 (arguments
10984 `(#:asd-systems '("1am")))
10985 (home-page "https://github.com/lmj/1am")
10986 (synopsis "Minimal testing framework for Common Lisp")
10987 (description "A minimal testing framework for Common Lisp.")
10988 (license license:expat))))
10989
10990 (define-public cl-1am
10991 (sbcl-package->cl-source-package sbcl-1am))
10992
10993 (define-public ecl-1am
10994 (sbcl-package->ecl-package sbcl-1am))
10995
10996 (define-public sbcl-cl-ascii-table
10997 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
10998 (revision "1"))
10999 (package
11000 (name "sbcl-cl-ascii-table")
11001 (version (git-version "0.0.0" revision commit))
11002 (source
11003 (origin
11004 (method git-fetch)
11005 (uri (git-reference
11006 (url "https://github.com/telephil/cl-ascii-table")
11007 (commit commit)))
11008 (file-name (git-file-name name version))
11009 (sha256
11010 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
11011 (build-system asdf-build-system/sbcl)
11012 (synopsis "Library to make ascii-art tables")
11013 (description
11014 "This is a Common Lisp library to present tabular data in ascii-art
11015 tables.")
11016 (home-page "https://github.com/telephil/cl-ascii-table")
11017 (license license:expat))))
11018
11019 (define-public cl-ascii-table
11020 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
11021
11022 (define-public ecl-cl-ascii-table
11023 (sbcl-package->ecl-package sbcl-cl-ascii-table))
11024
11025 (define-public sbcl-cl-rdkafka
11026 (package
11027 (name "sbcl-cl-rdkafka")
11028 (version "1.1.0")
11029 (source
11030 (origin
11031 (method git-fetch)
11032 (uri (git-reference
11033 (url "https://github.com/SahilKang/cl-rdkafka")
11034 (commit (string-append "v" version))))
11035 (file-name (git-file-name name version))
11036 (sha256
11037 (base32
11038 "0z2g0k0xy8k1p9g93h8dy9wbygaq7ziwagm4yz93zk67mhc0b84v"))))
11039 (build-system asdf-build-system/sbcl)
11040 (arguments
11041 `(#:tests? #f ; Attempts to connect to locally running Kafka
11042 #:phases
11043 (modify-phases %standard-phases
11044 (add-after 'unpack 'fix-paths
11045 (lambda* (#:key inputs #:allow-other-keys)
11046 (substitute* "src/low-level/librdkafka-bindings.lisp"
11047 (("librdkafka" all)
11048 (string-append (assoc-ref inputs "librdkafka") "/lib/"
11049 all))))))))
11050 (inputs
11051 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11052 ("cffi" ,sbcl-cffi)
11053 ("librdkafka" ,librdkafka)
11054 ("lparallel" ,sbcl-lparallel)
11055 ("trivial-garbage" ,sbcl-trivial-garbage)))
11056 (home-page "https://github.com/SahilKang/cl-rdkafka")
11057 (synopsis "Common Lisp client library for Apache Kafka")
11058 (description "A Common Lisp client library for Apache Kafka.")
11059 (license license:gpl3)))
11060
11061 (define-public cl-rdkafka
11062 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
11063
11064 (define-public ecl-cl-rdkafka
11065 (sbcl-package->ecl-package sbcl-cl-rdkafka))
11066
11067 (define-public sbcl-acclimation
11068 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
11069 (package
11070 (name "sbcl-acclimation")
11071 (version (git-version "0.0.0" "1" commit))
11072 (source
11073 (origin
11074 (method git-fetch)
11075 (uri (git-reference
11076 (url "https://github.com/robert-strandh/Acclimation")
11077 (commit commit)))
11078 (file-name (git-file-name name version))
11079 (sha256
11080 (base32
11081 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
11082 (build-system asdf-build-system/sbcl)
11083 (home-page "https://github.com/robert-strandh/Acclimation")
11084 (synopsis "Internationalization library for Common Lisp")
11085 (description "This project is meant to provide tools for
11086 internationalizing Common Lisp programs.
11087
11088 One important aspect of internationalization is of course the language used in
11089 error messages, documentation strings, etc. But with this project we provide
11090 tools for all other aspects of internationalization as well, including dates,
11091 weight, temperature, names of physical quantitites, etc.")
11092 (license license:bsd-2))))
11093
11094 (define-public cl-acclimation
11095 (sbcl-package->cl-source-package sbcl-acclimation))
11096
11097 (define-public ecl-acclimation
11098 (sbcl-package->ecl-package sbcl-acclimation))
11099
11100 (define-public sbcl-clump
11101 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
11102 (package
11103 (name "sbcl-clump")
11104 (version (git-version "0.0.0" "1" commit))
11105 (source
11106 (origin
11107 (method git-fetch)
11108 (uri (git-reference
11109 (url "https://github.com/robert-strandh/Clump")
11110 (commit commit)))
11111 (file-name (git-file-name name version))
11112 (sha256
11113 (base32
11114 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
11115 (inputs
11116 `(("acclimation" ,sbcl-acclimation)))
11117 (build-system asdf-build-system/sbcl)
11118 (home-page "https://github.com/robert-strandh/Clump")
11119 (synopsis "Collection of tree implementations for Common Lisp")
11120 (description "The purpose of this library is to provide a collection of
11121 implementations of trees.
11122
11123 In contrast to existing libraries such as cl-containers, it does not impose a
11124 particular use for the trees. Instead, it aims for a stratified design,
11125 allowing client code to choose between different levels of abstraction.
11126
11127 As a consequence of this policy, low-level interfaces are provided where
11128 the concrete representation is exposed, but also high level interfaces
11129 where the trees can be used as search trees or as trees that represent
11130 sequences of objects.")
11131 (license license:bsd-2))))
11132
11133 (define-public cl-clump
11134 (sbcl-package->cl-source-package sbcl-clump))
11135
11136 (define-public ecl-clump
11137 (sbcl-package->ecl-package sbcl-clump))
11138
11139 (define-public sbcl-cluffer
11140 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
11141 (package
11142 (name "sbcl-cluffer")
11143 (version (git-version "0.0.0" "1" commit))
11144 (source
11145 (origin
11146 (method git-fetch)
11147 (uri (git-reference
11148 (url "https://github.com/robert-strandh/cluffer")
11149 (commit commit)))
11150 (file-name (git-file-name name version))
11151 (sha256
11152 (base32
11153 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
11154 (build-system asdf-build-system/sbcl)
11155 (inputs
11156 `(("acclimation" ,sbcl-acclimation)
11157 ("clump" ,sbcl-clump)))
11158 (home-page "https://github.com/robert-strandh/cluffer")
11159 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
11160 (description "Cluffer is a library for representing the buffer of a text
11161 editor. As such, it defines a set of CLOS protocols for client code to
11162 interact with the buffer contents in various ways, and it supplies different
11163 implementations of those protocols for different purposes.")
11164 (license license:bsd-2))))
11165
11166 (define-public cl-cluffer
11167 (sbcl-package->cl-source-package sbcl-cluffer))
11168
11169 (define-public ecl-cluffer
11170 (sbcl-package->ecl-package sbcl-cluffer))
11171
11172 (define-public sbcl-cl-libsvm-format
11173 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
11174 (revision "0"))
11175 (package
11176 (name "sbcl-cl-libsvm-format")
11177 (version (git-version "0.1.0" revision commit))
11178 (source
11179 (origin
11180 (method git-fetch)
11181 (uri (git-reference
11182 (url "https://github.com/masatoi/cl-libsvm-format")
11183 (commit commit)))
11184 (file-name (git-file-name name version))
11185 (sha256
11186 (base32
11187 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
11188 (build-system asdf-build-system/sbcl)
11189 (native-inputs
11190 `(("prove" ,sbcl-prove)))
11191 (inputs
11192 `(("alexandria" ,sbcl-alexandria)))
11193 (synopsis "LibSVM data format reader for Common Lisp")
11194 (description
11195 "This Common Lisp library provides a fast reader for data in LibSVM
11196 format.")
11197 (home-page "https://github.com/masatoi/cl-libsvm-format")
11198 (license license:expat))))
11199
11200 (define-public cl-libsvm-format
11201 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
11202
11203 (define-public ecl-cl-libsvm-format
11204 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
11205
11206 (define-public sbcl-cl-online-learning
11207 (let ((commit "87fbef8a340219e853adb3a5bf44a0470da76964")
11208 (revision "1"))
11209 (package
11210 (name "sbcl-cl-online-learning")
11211 (version (git-version "0.5" revision commit))
11212 (source
11213 (origin
11214 (method git-fetch)
11215 (uri (git-reference
11216 (url "https://github.com/masatoi/cl-online-learning")
11217 (commit commit)))
11218 (file-name (git-file-name "cl-online-learning" version))
11219 (sha256
11220 (base32
11221 "1lfq04lnxivx59nq5dd02glyqsqzf3vdn4s9b8wnaln5fs8g2ph9"))))
11222 (build-system asdf-build-system/sbcl)
11223 (native-inputs
11224 `(("prove" ,sbcl-prove)))
11225 (inputs
11226 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11227 ("cl-store" ,sbcl-cl-store)))
11228 (arguments
11229 `(#:test-asd-file "cl-online-learning-test.asd"
11230 #:asd-systems '("cl-online-learning-test"
11231 "cl-online-learning")))
11232 (home-page "https://github.com/masatoi/cl-online-learning")
11233 (synopsis "Online Machine Learning for Common Lisp")
11234 (description
11235 "This library contains a collection of machine learning algorithms for
11236 online linear classification written in Common Lisp.")
11237 (license license:expat))))
11238
11239 (define-public cl-online-learning
11240 (sbcl-package->cl-source-package sbcl-cl-online-learning))
11241
11242 (define-public ecl-cl-online-learning
11243 (sbcl-package->ecl-package sbcl-cl-online-learning))
11244
11245 (define-public sbcl-cl-mpg123
11246 (let ((commit "5f042c839d2ea4a2ff2a7b60c839d8633d64161d")
11247 (revision "1"))
11248 (package
11249 (name "sbcl-cl-mpg123")
11250 (version (git-version "1.0.0" revision commit))
11251 (source
11252 (origin
11253 (method git-fetch)
11254 (uri (git-reference
11255 (url "https://github.com/Shirakumo/cl-mpg123")
11256 (commit commit)))
11257 (file-name (git-file-name "cl-mpg123" version))
11258 (sha256
11259 (base32 "1hl721xaczxck008ax2y3jpkm509ry1sg3lklh2k76764m3ndrjf"))
11260 (modules '((guix build utils)))
11261 (snippet
11262 '(begin
11263 ;; Remove bundled pre-compiled libraries.
11264 (delete-file-recursively "static")
11265 #t))))
11266 (build-system asdf-build-system/sbcl)
11267 (arguments
11268 `(#:asd-files '("cl-mpg123.asd" "cl-mpg123-example.asd")
11269 #:asd-systems '("cl-mpg123" "cl-mpg123-example")
11270 #:phases
11271 (modify-phases %standard-phases
11272 (add-after 'unpack 'fix-paths
11273 (lambda* (#:key inputs #:allow-other-keys)
11274 (substitute* "low-level.lisp"
11275 (("libmpg123.so" all)
11276 (string-append (assoc-ref inputs "libmpg123")
11277 "/lib/" all))))))))
11278 (inputs
11279 `(("cffi" ,sbcl-cffi)
11280 ("cl-out123" ,sbcl-cl-out123)
11281 ("documentation-utils" ,sbcl-documentation-utils)
11282 ("libmpg123" ,mpg123)
11283 ("trivial-features" ,sbcl-trivial-features)
11284 ("trivial-garbage" ,sbcl-trivial-garbage)
11285 ("verbose" ,sbcl-verbose)))
11286 (home-page "https://shirakumo.github.io/cl-mpg123/")
11287 (synopsis "Common Lisp bindings to libmpg123")
11288 (description
11289 "This is a bindings and wrapper library to @code{libmpg123} allowing for
11290 convenient, extensive, and fast decoding of MPEG1/2/3 (most prominently mp3)
11291 files.")
11292 (license license:zlib))))
11293
11294 (define-public ecl-cl-mpg123
11295 (sbcl-package->ecl-package sbcl-cl-mpg123))
11296
11297 (define-public cl-mpg123
11298 (sbcl-package->cl-source-package sbcl-cl-mpg123))
11299
11300 (define-public sbcl-cl-out123
11301 (let ((commit "6b58d3f8c2a28ad09059ac4c60fb3c781b9b421b")
11302 (revision "1"))
11303 (package
11304 (name "sbcl-cl-out123")
11305 (version (git-version "1.0.0" revision commit))
11306 (source
11307 (origin
11308 (method git-fetch)
11309 (uri (git-reference
11310 (url "https://github.com/Shirakumo/cl-out123")
11311 (commit commit)))
11312 (file-name (git-file-name "cl-out123" version))
11313 (sha256
11314 (base32 "0mdwgfax6sq68wvdgjjp78i40ah7wqkpqnvaq8a1c509k7ghdgv1"))
11315 (modules '((guix build utils)))
11316 (snippet
11317 '(begin
11318 ;; Remove bundled pre-compiled libraries.
11319 (delete-file-recursively "static")
11320 #t))))
11321 (build-system asdf-build-system/sbcl)
11322 (arguments
11323 `(#:phases
11324 (modify-phases %standard-phases
11325 (add-after 'unpack 'fix-paths
11326 (lambda* (#:key inputs #:allow-other-keys)
11327 (substitute* "low-level.lisp"
11328 (("libout123.so" all)
11329 (string-append (assoc-ref inputs "libout123")
11330 "/lib/" all)))))
11331 ;; NOTE: (Sharlatan-20210129T134529+0000): ECL package `ext' has no
11332 ;; exported macro `without-interrupts' it's moved to `mp' package
11333 ;; https://github.com/Shirakumo/cl-out123/issues/2
11334 ;; https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/src/lsp/mp.lsp
11335 (add-after 'unpack 'fix-ecl-package-name
11336 (lambda _
11337 (substitute* "wrapper.lisp"
11338 (("ext:without-interrupts.*") "mp:without-interrupts\n"))
11339 #t)))))
11340 (inputs
11341 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11342 ("cffi" ,sbcl-cffi)
11343 ("documentation-utils" ,sbcl-documentation-utils)
11344 ("libout123" ,mpg123)
11345 ("trivial-features" ,sbcl-trivial-features)
11346 ("trivial-garbage" ,sbcl-trivial-garbage)))
11347 (home-page "https://shirakumo.github.io/cl-out123/")
11348 (synopsis "Common Lisp bindings to libout123")
11349 (description
11350 "This is a bindings library to @code{libout123} which allows easy
11351 cross-platform audio playback.")
11352 (license license:zlib))))
11353
11354 (define-public ecl-cl-out123
11355 (sbcl-package->ecl-package sbcl-cl-out123))
11356
11357 (define-public cl-out123
11358 (sbcl-package->cl-source-package sbcl-cl-out123))
11359
11360 (define-public sbcl-cl-random-forest
11361 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
11362 (revision "1"))
11363 (package
11364 (name "sbcl-cl-random-forest")
11365 (version (git-version "0.1" revision commit))
11366 (source
11367 (origin
11368 (method git-fetch)
11369 (uri (git-reference
11370 (url "https://github.com/masatoi/cl-random-forest")
11371 (commit commit)))
11372 (file-name (git-file-name name version))
11373 (sha256
11374 (base32
11375 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
11376 (build-system asdf-build-system/sbcl)
11377 (native-inputs
11378 `(("prove" ,sbcl-prove)
11379 ("trivial-garbage" ,sbcl-trivial-garbage)))
11380 (inputs
11381 `(("alexandria" ,sbcl-alexandria)
11382 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11383 ("cl-online-learning" ,sbcl-cl-online-learning)
11384 ("lparallel" ,sbcl-lparallel)))
11385 (arguments
11386 `(#:tests? #f)) ; The tests download data from the Internet
11387 (synopsis "Random Forest and Global Refinement for Common Lisp")
11388 (description
11389 "CL-random-forest is an implementation of Random Forest for multiclass
11390 classification and univariate regression written in Common Lisp. It also
11391 includes an implementation of Global Refinement of Random Forest.")
11392 (home-page "https://github.com/masatoi/cl-random-forest")
11393 (license license:expat))))
11394
11395 (define-public cl-random-forest
11396 (sbcl-package->cl-source-package sbcl-cl-random-forest))
11397
11398 (define-public ecl-cl-random-forest
11399 (sbcl-package->ecl-package sbcl-cl-random-forest))
11400
11401 (define-public sbcl-bordeaux-fft
11402 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
11403 (revision "0"))
11404 (package
11405 (name "sbcl-bordeaux-fft")
11406 (version (git-version "1.0.1" revision commit))
11407 (source
11408 (origin
11409 (method git-fetch)
11410 (uri (git-reference
11411 (url "https://github.com/ahefner/bordeaux-fft")
11412 (commit commit)))
11413 (file-name (git-file-name name version))
11414 (sha256
11415 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
11416 (build-system asdf-build-system/sbcl)
11417 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
11418 (synopsis "Fast Fourier Transform for Common Lisp")
11419 (description
11420 "The Bordeaux-FFT library provides a reasonably efficient implementation
11421 of the Fast Fourier Transform and its inverse for complex-valued inputs, in
11422 portable Common Lisp.")
11423 (license license:gpl2+))))
11424
11425 (define-public cl-bordeaux-fft
11426 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
11427
11428 (define-public ecl-bordeaux-fft
11429 (sbcl-package->ecl-package sbcl-bordeaux-fft))
11430
11431 (define-public sbcl-napa-fft3
11432 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
11433 (revision "0"))
11434 (package
11435 (name "sbcl-napa-fft3")
11436 (version (git-version "0.0.1" revision commit))
11437 (source
11438 (origin
11439 (method git-fetch)
11440 (uri (git-reference
11441 (url "https://github.com/pkhuong/Napa-FFT3")
11442 (commit commit)))
11443 (file-name (git-file-name name version))
11444 (sha256
11445 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
11446 (build-system asdf-build-system/sbcl)
11447 (home-page "https://github.com/pkhuong/Napa-FFT3")
11448 (synopsis "Fast Fourier Transform routines in Common Lisp")
11449 (description
11450 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
11451 buildings blocks to express common operations that involve DFTs: filtering,
11452 convolutions, etc.")
11453 (license license:bsd-3))))
11454
11455 (define-public cl-napa-fft3
11456 (sbcl-package->cl-source-package sbcl-napa-fft3))
11457
11458 (define-public sbcl-cl-tga
11459 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
11460 (revision "0"))
11461 (package
11462 (name "sbcl-cl-tga")
11463 (version (git-version "0.0.0" revision commit))
11464 (source
11465 (origin
11466 (method git-fetch)
11467 (uri (git-reference
11468 (url "https://github.com/fisxoj/cl-tga")
11469 (commit commit)))
11470 (file-name (git-file-name name version))
11471 (sha256
11472 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
11473 (build-system asdf-build-system/sbcl)
11474 (home-page "https://github.com/fisxoj/cl-tga")
11475 (synopsis "TGA file loader for Common Lisp")
11476 (description
11477 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
11478 programs. It's a very simple library, and, at the moment, only supports
11479 non-RLE encoded forms of the files.")
11480 (license license:expat))))
11481
11482 (define-public cl-tga
11483 (sbcl-package->cl-source-package sbcl-cl-tga))
11484
11485 (define-public ecl-cl-tga
11486 (sbcl-package->ecl-package sbcl-cl-tga))
11487
11488 (define-public sbcl-com.gigamonkeys.binary-data
11489 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
11490 (revision "0"))
11491 (package
11492 (name "sbcl-com.gigamonkeys.binary-data")
11493 (version (git-version "0.0.0" revision commit))
11494 (source
11495 (origin
11496 (method git-fetch)
11497 (uri (git-reference
11498 (url "https://github.com/gigamonkey/monkeylib-binary-data")
11499 (commit commit)))
11500 (file-name (git-file-name name version))
11501 (sha256
11502 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
11503 (build-system asdf-build-system/sbcl)
11504 (inputs
11505 `(("alexandria" ,sbcl-alexandria)))
11506 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
11507 (synopsis "Common Lisp library for reading and writing binary data")
11508 (description
11509 "This a Common Lisp library for reading and writing binary data. It is
11510 based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
11511 (license license:bsd-3))))
11512
11513 (define-public cl-com.gigamonkeys.binary-data
11514 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
11515
11516 (define-public ecl-com.gigamonkeys.binary-data
11517 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
11518
11519 (define-public sbcl-deflate
11520 (package
11521 (name "sbcl-deflate")
11522 (version "1.0.3")
11523 (source
11524 (origin
11525 (method git-fetch)
11526 (uri (git-reference
11527 (url "https://github.com/pmai/Deflate")
11528 (commit (string-append "release-" version))))
11529 (file-name (git-file-name name version))
11530 (sha256
11531 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
11532 (build-system asdf-build-system/sbcl)
11533 (home-page "https://github.com/pmai/Deflate")
11534 (synopsis "Native deflate decompression for Common Lisp")
11535 (description
11536 "This library is an implementation of Deflate (RFC 1951) decompression,
11537 with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
11538 wrappers of deflate streams. It currently does not handle compression.")
11539 (license license:expat)))
11540
11541 (define-public cl-deflate
11542 (sbcl-package->cl-source-package sbcl-deflate))
11543
11544 (define-public ecl-deflate
11545 (sbcl-package->ecl-package sbcl-deflate))
11546
11547 (define-public sbcl-skippy
11548 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
11549 (revision "0"))
11550 (package
11551 (name "sbcl-skippy")
11552 (version (git-version "1.3.12" revision commit))
11553 (source
11554 (origin
11555 (method git-fetch)
11556 (uri (git-reference
11557 (url "https://github.com/xach/skippy")
11558 (commit commit)))
11559 (file-name (git-file-name name version))
11560 (sha256
11561 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
11562 (build-system asdf-build-system/sbcl)
11563 (home-page "https://xach.com/lisp/skippy/")
11564 (synopsis "Common Lisp library for GIF images")
11565 (description
11566 "Skippy is a Common Lisp library to read and write GIF image files.")
11567 (license license:bsd-2))))
11568
11569 (define-public cl-skippy
11570 (sbcl-package->cl-source-package sbcl-skippy))
11571
11572 (define-public ecl-skippy
11573 (sbcl-package->ecl-package sbcl-skippy))
11574
11575 (define-public sbcl-cl-freetype2
11576 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
11577 (revision "0"))
11578 (package
11579 (name "sbcl-cl-freetype2")
11580 (version (git-version "1.1" revision commit))
11581 (source
11582 (origin
11583 (method git-fetch)
11584 (uri (git-reference
11585 (url "https://github.com/rpav/cl-freetype2")
11586 (commit commit)))
11587 (file-name (git-file-name name version))
11588 (sha256
11589 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
11590 (build-system asdf-build-system/sbcl)
11591 (native-inputs
11592 `(("fiveam" ,sbcl-fiveam)))
11593 (inputs
11594 `(("alexandria" ,sbcl-alexandria)
11595 ("cffi" ,sbcl-cffi)
11596 ("freetype" ,freetype)
11597 ("trivial-garbage" ,sbcl-trivial-garbage)))
11598 (arguments
11599 `(#:phases
11600 (modify-phases %standard-phases
11601 (add-after 'unpack 'fix-paths
11602 (lambda* (#:key inputs #:allow-other-keys)
11603 (substitute* "src/ffi/ft2-lib.lisp"
11604 (("\"libfreetype\"")
11605 (string-append "\"" (assoc-ref inputs "freetype")
11606 "/lib/libfreetype\"")))
11607 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
11608 (("-I/usr/include/freetype")
11609 (string-append "-I" (assoc-ref inputs "freetype")
11610 "/include/freetype")))
11611 #t)))))
11612 (home-page "https://github.com/rpav/cl-freetype2")
11613 (synopsis "Common Lisp bindings for Freetype 2")
11614 (description
11615 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
11616 geared toward both using Freetype directly by providing a simplified API, as
11617 well as providing access to the underlying C structures and functions for use
11618 with other libraries which may also use Freetype.")
11619 (license license:bsd-3))))
11620
11621 (define-public cl-freetype2
11622 (sbcl-package->cl-source-package sbcl-cl-freetype2))
11623
11624 (define-public ecl-cl-freetype2
11625 (sbcl-package->ecl-package sbcl-cl-freetype2))
11626
11627 (define-public sbcl-opticl-core
11628 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
11629 (revision "0"))
11630 (package
11631 (name "sbcl-opticl-core")
11632 (version (git-version "0.0.0" revision commit))
11633 (source
11634 (origin
11635 (method git-fetch)
11636 (uri (git-reference
11637 (url "https://github.com/slyrus/opticl-core")
11638 (commit commit)))
11639 (file-name (git-file-name name version))
11640 (sha256
11641 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
11642 (build-system asdf-build-system/sbcl)
11643 (inputs
11644 `(("alexandria" ,sbcl-alexandria)))
11645 (home-page "https://github.com/slyrus/opticl-core")
11646 (synopsis "Core classes and pixel access macros for Opticl")
11647 (description
11648 "This Common Lisp library contains the core classes and pixel access
11649 macros for the Opticl image processing library.")
11650 (license license:bsd-2))))
11651
11652 (define-public cl-opticl-core
11653 (sbcl-package->cl-source-package sbcl-opticl-core))
11654
11655 (define-public ecl-opticl-core
11656 (sbcl-package->ecl-package sbcl-opticl-core))
11657
11658 (define-public sbcl-retrospectiff
11659 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
11660 (revision "0"))
11661 (package
11662 (name "sbcl-retrospectiff")
11663 (version (git-version "0.2" revision commit))
11664 (source
11665 (origin
11666 (method git-fetch)
11667 (uri (git-reference
11668 (url "https://github.com/slyrus/retrospectiff")
11669 (commit commit)))
11670 (file-name (git-file-name name version))
11671 (sha256
11672 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
11673 (build-system asdf-build-system/sbcl)
11674 (native-inputs
11675 `(("fiveam" ,sbcl-fiveam)))
11676 (inputs
11677 `(("cl-jpeg" ,sbcl-cl-jpeg)
11678 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
11679 ("deflate" ,sbcl-deflate)
11680 ("flexi-streams" ,sbcl-flexi-streams)
11681 ("ieee-floats" ,sbcl-ieee-floats)
11682 ("opticl-core" ,sbcl-opticl-core)))
11683 (home-page "https://github.com/slyrus/retrospectiff")
11684 (synopsis "Common Lisp library for TIFF images")
11685 (description
11686 "Retrospectiff is a common lisp library for reading and writing images
11687 in the TIFF (Tagged Image File Format) format.")
11688 (license license:bsd-2))))
11689
11690 (define-public cl-retrospectif
11691 (sbcl-package->cl-source-package sbcl-retrospectiff))
11692
11693 (define-public ecl-retrospectiff
11694 (sbcl-package->ecl-package sbcl-retrospectiff))
11695
11696 (define-public sbcl-mmap
11697 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
11698 (revision "0"))
11699 (package
11700 (name "sbcl-mmap")
11701 (version (git-version "1.0.0" revision commit))
11702 (source
11703 (origin
11704 (method git-fetch)
11705 (uri (git-reference
11706 (url "https://github.com/Shinmera/mmap")
11707 (commit commit)))
11708 (file-name (git-file-name name version))
11709 (sha256
11710 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
11711 (build-system asdf-build-system/sbcl)
11712 (native-inputs
11713 `(("alexandria" ,sbcl-alexandria)
11714 ("cffi" ,sbcl-cffi)
11715 ("parachute" ,sbcl-parachute)
11716 ("trivial-features" ,sbcl-trivial-features)))
11717 (inputs
11718 `(("cffi" ,sbcl-cffi)
11719 ("documentation-utils" ,sbcl-documentation-utils)))
11720 (home-page "https://shinmera.github.io/mmap/")
11721 (synopsis "File memory mapping for Common Lisp")
11722 (description
11723 "This is a utility library providing access to the @emph{mmap} family of
11724 functions in a portable way. It allows you to directly map a file into the
11725 address space of your process without having to manually read it into memory
11726 sequentially. Typically this is much more efficient for files that are larger
11727 than a few Kb.")
11728 (license license:zlib))))
11729
11730 (define-public cl-mmap
11731 (sbcl-package->cl-source-package sbcl-mmap))
11732
11733 (define-public ecl-mmap
11734 (sbcl-package->ecl-package sbcl-mmap))
11735
11736 (define-public sbcl-3bz
11737 (let ((commit "569614c40408f3aefc77ba233e0e4bd66d3850ad")
11738 (revision "1"))
11739 (package
11740 (name "sbcl-3bz")
11741 (version (git-version "0.0.0" revision commit))
11742 (source
11743 (origin
11744 (method git-fetch)
11745 (uri (git-reference
11746 (url "https://github.com/3b/3bz")
11747 (commit commit)))
11748 (file-name (git-file-name name version))
11749 (sha256
11750 (base32 "0kvvlvf50jhhw1s510f3clpr1a68632bq6d698yxcrx722igcrg4"))))
11751 (build-system asdf-build-system/sbcl)
11752 (inputs
11753 `(("alexandria" ,sbcl-alexandria)
11754 ("babel" ,sbcl-babel)
11755 ("cffi" ,sbcl-cffi)
11756 ("mmap" ,sbcl-mmap)
11757 ("nibbles" ,sbcl-nibbles)
11758 ("trivial-features" ,sbcl-trivial-features)))
11759 (arguments
11760 ;; FIXME: #41437 - Build fails when package name starts from a digit
11761 `(#:asd-systems '("3bz")))
11762 (home-page "https://github.com/3b/3bz")
11763 (synopsis "Deflate decompression for Common Lisp")
11764 (description
11765 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
11766 with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
11767 foreign pointers (for use with mmap and similar, etc), and from CL octet
11768 vectors and streams.")
11769 (license license:expat))))
11770
11771 (define-public cl-3bz
11772 (sbcl-package->cl-source-package sbcl-3bz))
11773
11774 (define-public ecl-3bz
11775 (sbcl-package->ecl-package sbcl-3bz))
11776
11777 (define-public sbcl-zpb-exif
11778 (package
11779 (name "sbcl-zpb-exif")
11780 (version "1.2.4")
11781 (source
11782 (origin
11783 (method git-fetch)
11784 (uri (git-reference
11785 (url "https://github.com/xach/zpb-exif")
11786 (commit (string-append "release-" version))))
11787 (file-name (git-file-name name version))
11788 (sha256
11789 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
11790 (build-system asdf-build-system/sbcl)
11791 (home-page "https://xach.com/lisp/zpb-exif/")
11792 (synopsis "EXIF information extractor for Common Lisp")
11793 (description
11794 "This is a Common Lisp library to extract EXIF information from image
11795 files.")
11796 (license license:bsd-2)))
11797
11798 (define-public cl-zpb-exif
11799 (sbcl-package->cl-source-package sbcl-zpb-exif))
11800
11801 (define-public ecl-zpb-exif
11802 (sbcl-package->ecl-package sbcl-zpb-exif))
11803
11804 (define-public sbcl-pngload
11805 (let ((commit "91f1d703c65bb6a94d6fee06ddbbbbbc5778b71f")
11806 (revision "2"))
11807 (package
11808 (name "sbcl-pngload")
11809 (version (git-version "2.0.0" revision commit))
11810 (source
11811 (origin
11812 (method git-fetch)
11813 (uri (git-reference
11814 (url "https://git.mfiano.net/mfiano/pngload.git")
11815 (commit commit)))
11816 (file-name (git-file-name "pngload" version))
11817 (sha256
11818 (base32 "0s94fdbrbqj12qvgyn2g4lfwvz7qhhzbclrpz5ni7adwxgrmvxl1"))))
11819 (build-system asdf-build-system/sbcl)
11820 (inputs
11821 `(("3bz" ,sbcl-3bz)
11822 ("alexandria" ,sbcl-alexandria)
11823 ("cffi" ,sbcl-cffi)
11824 ("mmap" ,sbcl-mmap)
11825 ("parse-float" ,sbcl-parse-float)
11826 ("static-vectors" ,sbcl-static-vectors)
11827 ("swap-bytes" ,sbcl-swap-bytes)
11828 ("zpb-exif" ,sbcl-zpb-exif)))
11829 (arguments
11830 ;; Test suite disabled because of a dependency cycle.
11831 ;; pngload tests depend on opticl which depends on pngload.
11832 '(#:tests? #f))
11833 (home-page "https://git.mfiano.net/mfiano/pngload.git")
11834 (synopsis "PNG image decoder for Common Lisp")
11835 (description
11836 "This is a Common Lisp library to load images in the PNG image format,
11837 both from files on disk, or streams in memory.")
11838 (license license:expat))))
11839
11840 (define-public cl-pngload
11841 (sbcl-package->cl-source-package sbcl-pngload))
11842
11843 (define-public ecl-pngload
11844 (sbcl-package->ecl-package sbcl-pngload))
11845
11846 (define-public sbcl-opticl
11847 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
11848 (revision "0"))
11849 (package
11850 (name "sbcl-opticl")
11851 (version (git-version "0.0.0" revision commit))
11852 (source
11853 (origin
11854 (method git-fetch)
11855 (uri (git-reference
11856 (url "https://github.com/slyrus/opticl")
11857 (commit commit)))
11858 (file-name (git-file-name name version))
11859 (sha256
11860 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
11861 (build-system asdf-build-system/sbcl)
11862 (native-inputs
11863 `(("fiveam" ,sbcl-fiveam)))
11864 (inputs
11865 `(("alexandria" ,sbcl-alexandria)
11866 ("cl-jpeg" ,sbcl-cl-jpeg)
11867 ("cl-tga" ,sbcl-cl-tga)
11868 ("png-read" ,sbcl-png-read)
11869 ("pngload" ,sbcl-pngload)
11870 ("retrospectiff" ,sbcl-retrospectiff)
11871 ("skippy" ,sbcl-skippy)
11872 ("zpng" ,sbcl-zpng)))
11873 (arguments
11874 '(#:asd-files '("opticl.asd")))
11875 (home-page "https://github.com/slyrus/opticl")
11876 (synopsis "Image processing library for Common Lisp")
11877 (description
11878 "Opticl is a Common Lisp library for representing, processing, loading,
11879 and saving 2-dimensional pixel-based images.")
11880 (license license:bsd-2))))
11881
11882 (define-public cl-opticl
11883 (sbcl-package->cl-source-package sbcl-opticl))
11884
11885 (define-public ecl-opticl
11886 (sbcl-package->ecl-package sbcl-opticl))
11887
11888 (define-public sbcl-mcclim
11889 (let ((commit "04cc542dd4b461b9d56406e40681d1a8f080730f")
11890 (revision "1"))
11891 (package
11892 (name "sbcl-mcclim")
11893 (version (git-version "0.9.7" revision commit))
11894 (source
11895 (origin
11896 (method git-fetch)
11897 (uri (git-reference
11898 (url "https://github.com/mcclim/mcclim")
11899 (commit commit)))
11900 (file-name (git-file-name name version))
11901 (sha256
11902 (base32 "1xjly8i62z72hfhlnz5kjd9i8xhrwckc7avyizxvhih67pkjmsx0"))))
11903 (build-system asdf-build-system/sbcl)
11904 (native-inputs
11905 `(("fiveam" ,sbcl-fiveam)
11906 ("pkg-config" ,pkg-config)))
11907 (inputs
11908 `(("alexandria" ,sbcl-alexandria)
11909 ("babel" ,sbcl-babel)
11910 ("bordeaux-threads" ,sbcl-bordeaux-threads)
11911 ("cl-freetype2" ,sbcl-cl-freetype2)
11912 ("cl-pdf" ,sbcl-cl-pdf)
11913 ("cffi" ,sbcl-cffi)
11914 ("cl-unicode" ,sbcl-cl-unicode)
11915 ("cl-vectors" ,sbcl-cl-vectors)
11916 ("closer-mop" ,sbcl-closer-mop)
11917 ("clx" ,sbcl-clx)
11918 ("flexi-streams" ,sbcl-flexi-streams)
11919 ("flexichain" ,sbcl-flexichain)
11920 ("font-dejavu" ,font-dejavu)
11921 ("fontconfig" ,fontconfig)
11922 ("freetype" ,freetype)
11923 ("harfbuzz" ,harfbuzz)
11924 ("log4cl" ,sbcl-log4cl)
11925 ("opticl" ,sbcl-opticl)
11926 ("spatial-trees" ,sbcl-spatial-trees)
11927 ("swank" ,sbcl-slime-swank)
11928 ("trivial-features" ,sbcl-trivial-features)
11929 ("trivial-garbage" ,sbcl-trivial-garbage)
11930 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
11931 ("zpb-ttf" ,sbcl-zpb-ttf)))
11932 (arguments
11933 '(#:asd-systems '("mcclim"
11934 "clim-examples")
11935 #:phases
11936 (modify-phases %standard-phases
11937 (add-after 'unpack 'fix-paths
11938 (lambda* (#:key inputs #:allow-other-keys)
11939 ;; mcclim-truetype uses DejaVu as default font and
11940 ;; sets the path at build time.
11941 (substitute* "Extensions/fonts/fontconfig.lisp"
11942 (("/usr/share/fonts/truetype/dejavu/")
11943 (string-append (assoc-ref inputs "font-dejavu")
11944 "/share/fonts/truetype/")))
11945 (substitute* "Extensions/fontconfig/src/functions.lisp"
11946 (("libfontconfig\\.so")
11947 (string-append (assoc-ref inputs "fontconfig")
11948 "/lib/libfontconfig.so")))
11949 (substitute* "Extensions/harfbuzz/src/functions.lisp"
11950 (("libharfbuzz\\.so")
11951 (string-append (assoc-ref inputs "harfbuzz")
11952 "/lib/libharfbuzz.so")))
11953 #t))
11954 (add-after 'unpack 'fix-build
11955 (lambda _
11956 ;; The cffi-grovel system does not get loaded automatically,
11957 ;; so we load it explicitly.
11958 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
11959 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
11960 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
11961 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
11962 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
11963 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
11964 #t)))))
11965 (home-page "https://common-lisp.net/project/mcclim/")
11966 (synopsis "Common Lisp GUI toolkit")
11967 (description
11968 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
11969 specification}, a toolkit for writing GUIs in Common Lisp.")
11970 (license license:lgpl2.1+))))
11971
11972 (define-public cl-mcclim
11973 (sbcl-package->cl-source-package sbcl-mcclim))
11974
11975 (define-public ecl-mcclim
11976 (sbcl-package->ecl-package sbcl-mcclim))
11977
11978 (define-public sbcl-cl-inflector
11979 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
11980 (revision "1"))
11981 (package
11982 (name "sbcl-cl-inflector")
11983 (version (git-version "0.2" revision commit))
11984 (source
11985 (origin
11986 (method git-fetch)
11987 (uri (git-reference
11988 (url "https://github.com/AccelerationNet/cl-inflector")
11989 (commit commit)))
11990 (file-name (git-file-name name version))
11991 (sha256
11992 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
11993 (build-system asdf-build-system/sbcl)
11994 (native-inputs
11995 `(("lisp-unit2" ,sbcl-lisp-unit2)))
11996 (inputs
11997 `(("alexandria" ,sbcl-alexandria)
11998 ("cl-ppcre" ,sbcl-cl-ppcre)))
11999 (home-page "https://github.com/AccelerationNet/cl-inflector")
12000 (synopsis "Library to pluralize/singularize English and Portuguese words")
12001 (description
12002 "This is a common lisp library to easily pluralize and singularize
12003 English and Portuguese words. This is a port of the ruby ActiveSupport
12004 Inflector module.")
12005 (license license:expat))))
12006
12007 (define-public cl-inflector
12008 (sbcl-package->cl-source-package sbcl-cl-inflector))
12009
12010 (define-public ecl-cl-inflector
12011 (sbcl-package->ecl-package sbcl-cl-inflector))
12012
12013 (define-public sbcl-ixf
12014 (let ((commit "ed26f87e4127e4a9e3aac4ff1e60d1f39cca5183")
12015 (revision "1"))
12016 (package
12017 (name "sbcl-ixf")
12018 (version (git-version "0.1.0" revision commit))
12019 (source
12020 (origin
12021 (method git-fetch)
12022 (uri (git-reference
12023 (url "https://github.com/dimitri/cl-ixf")
12024 (commit commit)))
12025 (file-name (git-file-name "cl-ixf" version))
12026 (sha256
12027 (base32 "1wjdnf4vr9z7lcfc49kl43g6l2i23q9n81siy494k17d766cdvqa"))))
12028 (build-system asdf-build-system/sbcl)
12029 (inputs
12030 `(("alexandria" ,sbcl-alexandria)
12031 ("babel" ,sbcl-babel)
12032 ("cl-ppcre" ,sbcl-cl-ppcre)
12033 ("ieee-floats" ,sbcl-ieee-floats)
12034 ("local-time" ,sbcl-local-time)
12035 ("md5" ,sbcl-md5)
12036 ("split-sequence" ,sbcl-split-sequence)))
12037 (home-page "https://github.com/dimitri/cl-ixf")
12038 (synopsis "Parse IBM IXF file format")
12039 (description
12040 "This is a Common Lisp library to handle the IBM PC version of the IXF
12041 (Integration Exchange Format) file format.")
12042 (license license:public-domain))))
12043
12044 (define-public ecl-ixf
12045 (sbcl-package->ecl-package sbcl-ixf))
12046
12047 (define-public cl-ixf
12048 (sbcl-package->cl-source-package sbcl-ixf))
12049
12050 (define-public sbcl-qbase64
12051 (package
12052 (name "sbcl-qbase64")
12053 (version "0.3.0")
12054 (source
12055 (origin
12056 (method git-fetch)
12057 (uri (git-reference
12058 (url "https://github.com/chaitanyagupta/qbase64")
12059 (commit version)))
12060 (file-name (git-file-name name version))
12061 (sha256
12062 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
12063 (build-system asdf-build-system/sbcl)
12064 (inputs
12065 `(("metabang-bind" ,sbcl-metabang-bind)
12066 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
12067 (native-inputs
12068 `(("fiveam" ,sbcl-fiveam)))
12069 (home-page "https://github.com/chaitanyagupta/qbase64")
12070 (synopsis "Base64 encoder and decoder for Common Lisp")
12071 (description "@code{qbase64} provides a fast and flexible base64 encoder
12072 and decoder for Common Lisp.")
12073 (license license:bsd-3)))
12074
12075 (define-public cl-qbase64
12076 (sbcl-package->cl-source-package sbcl-qbase64))
12077
12078 (define-public ecl-qbase64
12079 (sbcl-package->ecl-package sbcl-qbase64))
12080
12081 (define-public sbcl-lw-compat
12082 ;; No release since 2013.
12083 (let ((commit "aabfe28c6c1a4949f9d7b3cb30319367c9fd1c0d"))
12084 (package
12085 (name "sbcl-lw-compat")
12086 (version (git-version "1.0.0" "1" commit))
12087 (source
12088 (origin
12089 (method git-fetch)
12090 (uri (git-reference
12091 (url "https://github.com/pcostanza/lw-compat/")
12092 (commit commit)))
12093 (file-name (git-file-name name version))
12094 (sha256
12095 (base32 "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav"))))
12096 (build-system asdf-build-system/sbcl)
12097 (home-page "https://github.com/pcostanza/lw-compat/")
12098 (synopsis "LispWorks utilities ported to other Common Lisp implementations")
12099 (description "This package contains a few utility functions from the
12100 LispWorks library that are used in software such as ContextL.")
12101 (license license:expat))))
12102
12103 (define-public cl-lw-compat
12104 (sbcl-package->cl-source-package sbcl-lw-compat))
12105
12106 (define-public ecl-lw-compat
12107 (sbcl-package->ecl-package sbcl-lw-compat))
12108
12109 (define-public sbcl-contextl
12110 ;; No release since 2013.
12111 (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9"))
12112 (package
12113 (name "sbcl-contextl")
12114 (version (git-version "1.0.0" "1" commit))
12115 (source
12116 (origin
12117 (method git-fetch)
12118 (uri (git-reference
12119 (url "https://github.com/pcostanza/contextl/")
12120 (commit commit)))
12121 (file-name (git-file-name name version))
12122 (sha256
12123 (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226"))))
12124 (build-system asdf-build-system/sbcl)
12125 (inputs
12126 `(("closer-mop" ,sbcl-closer-mop)
12127 ("lw-compat" ,sbcl-lw-compat)))
12128 (home-page "https://github.com/pcostanza/contextl")
12129 (synopsis "Context-oriented programming for Common Lisp")
12130 (description "ContextL is a CLOS extension for Context-Oriented
12131 Programming (COP).
12132
12133 Find overview of ContextL's features in an overview paper:
12134 @url{http://www.p-cos.net/documents/contextl-soa.pdf}. See also this general
12135 overview article about COP which also contains some ContextL examples:
12136 @url{http://www.jot.fm/issues/issue_2008_03/article4/}.")
12137 (license license:expat))))
12138
12139 (define-public cl-contextl
12140 (sbcl-package->cl-source-package sbcl-contextl))
12141
12142 (define-public ecl-contextl
12143 (sbcl-package->ecl-package sbcl-contextl))
12144
12145 (define-public sbcl-hu.dwim.common-lisp
12146 (let ((commit "90558195773383142a57a16687d5e7f4adea6418"))
12147 (package
12148 (name "sbcl-hu.dwim.common-lisp")
12149 (version "2021-01-27")
12150 (source
12151 (origin
12152 (method git-fetch)
12153 (uri (git-reference
12154 (url "https://github.com/hu-dwim/hu.dwim.common-lisp/")
12155 (commit commit)))
12156 (file-name (git-file-name name version))
12157 (sha256
12158 (base32 "06zkdw3scnaw0d4nmsgkv7pi7sw00dikdgfgsqmbqfbz2yrsdabk"))))
12159 (build-system asdf-build-system/sbcl)
12160 (native-inputs
12161 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12162 (home-page "http://dwim.hu/project/hu.dwim.common-lisp")
12163 (synopsis "Redefine some standard Common Lisp names")
12164 (description "This library is a redefinition of the standard Common Lisp
12165 package that includes a number of renames and shadows. ")
12166 (license license:public-domain))))
12167
12168 (define-public cl-hu.dwim.common-lisp
12169 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
12170
12171 (define-public ecl-hu.dwim.common-lisp
12172 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
12173
12174 (define-public sbcl-hu.dwim.common
12175 (package
12176 (name "sbcl-hu.dwim.common")
12177 (version "2015-07-09")
12178 (source
12179 (origin
12180 (method url-fetch)
12181 (uri (string-append
12182 "http://beta.quicklisp.org/archive/hu.dwim.common/"
12183 version "/hu.dwim.common-"
12184 (string-replace-substring version "-" "")
12185 "-darcs.tgz"))
12186 (sha256
12187 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
12188 (build-system asdf-build-system/sbcl)
12189 (native-inputs
12190 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12191 (inputs
12192 `(("alexandria" ,sbcl-alexandria)
12193 ("anaphora" ,sbcl-anaphora)
12194 ("closer-mop" ,sbcl-closer-mop)
12195 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
12196 ("iterate" ,sbcl-iterate)
12197 ("metabang-bind" ,sbcl-metabang-bind)))
12198 (home-page "http://dwim.hu/")
12199 (synopsis "Common Lisp library shared by other hu.dwim systems")
12200 (description "This package contains a support library for other
12201 hu.dwim systems.")
12202 (license license:public-domain)))
12203
12204 (define-public cl-hu.dwim.common
12205 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
12206
12207 (define-public ecl-hu.dwim.common
12208 (sbcl-package->ecl-package sbcl-hu.dwim.common))
12209
12210 (define-public sbcl-hu.dwim.defclass-star
12211 (let ((commit "3086878a485074f9b2913c58267a9b764cd632fd"))
12212 (package
12213 (name "sbcl-hu.dwim.defclass-star")
12214 ;; We used to set version from the date when it was a darcs repo, so we
12215 ;; keep the year so that package gets updated on previous installs.
12216 (version (git-version "2021" "2" commit))
12217 (source
12218 (origin
12219 (method git-fetch)
12220 (uri (git-reference
12221 (url "https://github.com/hu-dwim/hu.dwim.defclass-star")
12222 (commit commit)))
12223 (file-name (git-file-name name version))
12224 (sha256
12225 (base32 "19ipds9r71qymfdp4izg0l7zmvinp06adr8rdalhaq7v7mzpg83z"))))
12226 (build-system asdf-build-system/sbcl)
12227 (native-inputs
12228 `( ;; These 2 inputs are only needed tests which are disabled, see below.
12229 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
12230 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
12231 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
12232 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12233 (arguments
12234 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
12235 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
12236 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
12237 #:tests? #f))
12238 (home-page "https://github.com/hu-dwim/hu.dwim.defclass-star")
12239 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
12240 (description "@code{defclass-star} provides defclass* and defcondition* to
12241 simplify class and condition declarations. Features include:
12242
12243 @itemize
12244 @item Automatically export all or select slots at compile time.
12245 @item Define the @code{:initarg} and @code{:accessor} automatically.
12246 @item Specify a name transformer for both the @code{:initarg} and
12247 @code{:accessor}, etc.
12248 @item Specify the @code{:initform} as second slot value.
12249 @end itemize
12250
12251 See
12252 @url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
12253 for an example.")
12254 (license license:public-domain))))
12255
12256 (define-public cl-hu.dwim.defclass-star
12257 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
12258
12259 (define-public ecl-hu.dwim.defclass-star
12260 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))
12261
12262 (define-public sbcl-livesupport
12263 (let ((commit "71e6e412df9f3759ad8378fabb203913d82e228a")
12264 (revision "1"))
12265 (package
12266 (name "sbcl-livesupport")
12267 (version (git-version "0.0.0" revision commit))
12268 (source
12269 (origin
12270 (method git-fetch)
12271 (uri (git-reference
12272 (url "https://github.com/cbaggers/livesupport")
12273 (commit commit)))
12274 (file-name (git-file-name name version))
12275 (sha256
12276 (base32 "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"))))
12277 (build-system asdf-build-system/sbcl)
12278 (home-page "https://github.com/cbaggers/livesupport")
12279 (synopsis "Some helpers that make livecoding a little easier")
12280 (description "This package provides a macro commonly used in livecoding to
12281 enable continuing when errors are raised. Simply wrap around a chunk of code
12282 and it provides a restart called @code{continue} which ignores the error and
12283 carrys on from the end of the body.")
12284 (license license:bsd-2))))
12285
12286 (define-public cl-livesupport
12287 (sbcl-package->cl-source-package sbcl-livesupport))
12288
12289 (define-public ecl-livesupport
12290 (sbcl-package->ecl-package sbcl-livesupport))
12291
12292 (define-public sbcl-envy
12293 (let ((commit "956321b2852d58ba71c6fe621f5c2924178e9f88")
12294 (revision "1"))
12295 (package
12296 (name "sbcl-envy")
12297 (version (git-version "0.1" revision commit))
12298 (home-page "https://github.com/fukamachi/envy")
12299 (source
12300 (origin
12301 (method git-fetch)
12302 (uri (git-reference
12303 (url home-page)
12304 (commit commit)))
12305 (file-name (git-file-name name version))
12306 (sha256
12307 (base32 "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg"))))
12308 (build-system asdf-build-system/sbcl)
12309 ;; (native-inputs ; Only for tests.
12310 ;; `(("prove" ,sbcl-prove)
12311 ;; ("osicat" ,sbcl-osicat)))
12312 (arguments
12313 '(#:phases
12314 (modify-phases %standard-phases
12315 (add-after 'unpack 'fix-tests
12316 (lambda _
12317 (substitute* "envy-test.asd"
12318 (("cl-test-more") "prove"))
12319 #t)))
12320 ;; Tests fail with
12321 ;; Component ENVY-ASD::ENVY-TEST not found, required by #<SYSTEM "envy">
12322 ;; like xsubseq. Why?
12323 #:tests? #f))
12324 (synopsis "Common Lisp configuration switcher inspired by Perl's Config::ENV.")
12325 (description "Envy is a configuration manager for various applications.
12326 Envy uses an environment variable to determine a configuration to use. This
12327 can separate configuration system from an implementation.")
12328 (license license:bsd-2))))
12329
12330 (define-public cl-envy
12331 (sbcl-package->cl-source-package sbcl-envy))
12332
12333 (define-public ecl-envy
12334 (sbcl-package->ecl-package sbcl-envy))
12335
12336 (define-public sbcl-mito
12337 (let ((commit "d3b9e375ef364a65692da2185085a08c969ac88a")
12338 (revision "1"))
12339 (package
12340 (name "sbcl-mito")
12341 (version (git-version "0.1" revision commit))
12342 (home-page "https://github.com/fukamachi/mito")
12343 (source
12344 (origin
12345 (method git-fetch)
12346 (uri (git-reference
12347 (url home-page)
12348 (commit commit)))
12349 (file-name (git-file-name name version))
12350 (sha256
12351 (base32 "08mncgzjnbbsf1a6am3l73iw4lyfvz5ldjg5g84awfaxml4p73mb"))))
12352 (build-system asdf-build-system/sbcl)
12353 (native-inputs
12354 `(("prove" ,sbcl-prove)))
12355 (inputs
12356 `(("alexandria" ,sbcl-alexandria)
12357 ("cl-ppcre" ,sbcl-cl-ppcre)
12358 ("cl-reexport" ,sbcl-cl-reexport)
12359 ("closer-mop" ,sbcl-closer-mop)
12360 ("dbi" ,sbcl-dbi)
12361 ("dissect" ,sbcl-dissect)
12362 ("esrap" ,sbcl-esrap)
12363 ("local-time" ,sbcl-local-time)
12364 ("optima" ,sbcl-optima)
12365 ("sxql" ,sbcl-sxql)
12366 ("uuid" ,sbcl-uuid)))
12367 (arguments
12368 '(#:phases
12369 (modify-phases %standard-phases
12370 (add-after 'unpack 'remove-non-functional-tests
12371 (lambda _
12372 (substitute* "mito-test.asd"
12373 (("\\(:test-file \"db/mysql\"\\)") "")
12374 (("\\(:test-file \"db/postgres\"\\)") "")
12375 (("\\(:test-file \"dao\"\\)") "")
12376 ;; TODO: migration/sqlite3 should work, re-enable once
12377 ;; upstream has fixed it:
12378 ;; https://github.com/fukamachi/mito/issues/70
12379 (("\\(:test-file \"migration/sqlite3\"\\)") "")
12380 (("\\(:test-file \"migration/mysql\"\\)") "")
12381 (("\\(:test-file \"migration/postgres\"\\)") "")
12382 (("\\(:test-file \"postgres-types\"\\)") "")
12383 (("\\(:test-file \"mixin\"\\)") ""))
12384 #t)))
12385 ;; TODO: While all enabled tests pass, the phase fails with:
12386 ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito">
12387 #:tests? #f))
12388 (synopsis "ORM for Common Lisp with migrations and relationships support")
12389 (description "Mito is yet another object relational mapper, and it aims
12390 to be a successor of Integral.
12391
12392 @itemize
12393 @item Support MySQL, PostgreSQL and SQLite3.
12394 @item Add id (serial/uuid primary key), created_at and updated_at by default
12395 like Ruby's ActiveRecord.
12396 @item Migrations.
12397 @item Database schema versioning.
12398 @end itemize\n")
12399 (license license:llgpl))))
12400
12401 (define-public cl-mito
12402 (sbcl-package->cl-source-package sbcl-mito))
12403
12404 (define-public ecl-mito
12405 (sbcl-package->ecl-package sbcl-mito))
12406
12407 (define-public sbcl-kebab
12408 (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b")
12409 (revision "1"))
12410 (package
12411 (name "sbcl-kebab")
12412 (version (git-version "0.1" revision commit))
12413 (home-page "https://github.com/pocket7878/kebab")
12414 (source
12415 (origin
12416 (method git-fetch)
12417 (uri (git-reference
12418 (url home-page)
12419 (commit commit)))
12420 (file-name (git-file-name name version))
12421 (sha256
12422 (base32 "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"))))
12423 (build-system asdf-build-system/sbcl)
12424 (inputs
12425 `(("cl-ppcre" ,sbcl-cl-ppcre)
12426 ("alexandria" ,sbcl-alexandria)
12427 ("cl-interpol" ,sbcl-cl-interpol)
12428 ("split-sequence" ,sbcl-split-sequence)))
12429 (native-inputs
12430 `(("prove" ,sbcl-prove)))
12431 (arguments
12432 ;; Tests passes but the phase fails with
12433 ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">.
12434 `(#:tests? #f))
12435 (synopsis "Common Lisp case converter")
12436 (description "This Common Lisp library converts strings, symbols and
12437 keywords between any of the following typographical cases: PascalCase,
12438 camelCase, snake_case, kebab-case (lisp-case).")
12439 (license license:llgpl))))
12440
12441 (define-public cl-kebab
12442 (sbcl-package->cl-source-package sbcl-kebab))
12443
12444 (define-public ecl-kebab
12445 (sbcl-package->ecl-package sbcl-kebab))
12446
12447 (define-public sbcl-datafly
12448 (let ((commit "adece27fcbc4b5ea39ad1a105048b6b7166e3b0d")
12449 (revision "1"))
12450 (package
12451 (name "sbcl-datafly")
12452 (version (git-version "0.1" revision commit))
12453 (home-page "https://github.com/fukamachi/datafly")
12454 (source
12455 (origin
12456 (method git-fetch)
12457 (uri (git-reference
12458 (url home-page)
12459 (commit commit)))
12460 (file-name (git-file-name name version))
12461 (sha256
12462 (base32 "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv"))))
12463 (build-system asdf-build-system/sbcl)
12464 (inputs
12465 `(("alexandria" ,sbcl-alexandria)
12466 ("iterate" ,sbcl-iterate)
12467 ("optima" ,sbcl-optima)
12468 ("trivial-types" ,sbcl-trivial-types)
12469 ("closer-mop" ,sbcl-closer-mop)
12470 ("cl-syntax" ,sbcl-cl-syntax)
12471 ("sxql" ,sbcl-sxql)
12472 ("dbi" ,sbcl-dbi)
12473 ("babel" ,sbcl-babel)
12474 ("local-time" ,sbcl-local-time)
12475 ("function-cache" ,sbcl-function-cache)
12476 ("jonathan" ,sbcl-jonathan)
12477 ("kebab" ,sbcl-kebab)
12478 ("log4cl" ,sbcl-log4cl)))
12479 (native-inputs
12480 `(("prove" ,sbcl-prove)))
12481 (arguments
12482 ;; TODO: Tests fail with
12483 ;; While evaluating the form starting at line 22, column 0
12484 ;; of #P"/tmp/guix-build-sbcl-datafly-0.1-1.adece27.drv-0/source/t/datafly.lisp":
12485 ;; Unhandled SQLITE:SQLITE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
12486 ;; {10009F8083}>:
12487 ;; Error when binding parameter 1 to value NIL.
12488 ;; Code RANGE: column index out of range.
12489 `(#:tests? #f))
12490 (synopsis "Lightweight database library for Common Lisp")
12491 (description "Datafly is a lightweight database library for Common Lisp.")
12492 (license license:bsd-3))))
12493
12494 (define-public cl-datafly
12495 (sbcl-package->cl-source-package sbcl-datafly))
12496
12497 (define-public ecl-datafly
12498 (sbcl-package->ecl-package sbcl-datafly))
12499
12500 (define-public sbcl-do-urlencode
12501 (let ((commit "199846441dad5dfac5478b8dee4b4e20d107af6a")
12502 (revision "1"))
12503 (package
12504 (name "sbcl-do-urlencode")
12505 (version (git-version "0.0.0" revision commit))
12506 (home-page "https://github.com/drdo/do-urlencode")
12507 (source
12508 (origin
12509 (method git-fetch)
12510 (uri (git-reference
12511 (url home-page)
12512 (commit commit)))
12513 (file-name (git-file-name name version))
12514 (sha256
12515 (base32 "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"))))
12516 (build-system asdf-build-system/sbcl)
12517 (inputs
12518 `(("alexandria" ,sbcl-alexandria)
12519 ("babel" ,sbcl-babel)))
12520 (synopsis "Percent Encoding (aka URL Encoding) Common Lisp library")
12521 (description "This library provides trivial percent encoding and
12522 decoding functions for URLs.")
12523 (license license:isc))))
12524
12525 (define-public cl-do-urlencode
12526 (sbcl-package->cl-source-package sbcl-do-urlencode))
12527
12528 (define-public ecl-do-urlencode
12529 (sbcl-package->ecl-package sbcl-do-urlencode))
12530
12531 (define-public sbcl-cl-emb
12532 (let ((commit "fd8652174d048d4525a81f38cdf42f4fa519f840")
12533 (revision "1"))
12534 (package
12535 (name "sbcl-cl-emb")
12536 (version (git-version "0.4.3" revision commit))
12537 (home-page "https://common-lisp.net/project/cl-emb/")
12538 (source
12539 (origin
12540 (method git-fetch)
12541 (uri (git-reference
12542 (url "https://github.com/38a938c2/cl-emb")
12543 (commit commit)))
12544 (file-name (git-file-name name version))
12545 (sha256
12546 (base32 "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"))))
12547 (build-system asdf-build-system/sbcl)
12548 (inputs
12549 `(("cl-ppcre" ,sbcl-cl-ppcre)))
12550 (synopsis "Templating system for Common Lisp")
12551 (description "A mixture of features from eRuby and HTML::Template. You
12552 could name it \"Yet Another LSP\" (LispServer Pages) but it's a bit more than
12553 that and not limited to a certain server or text format.")
12554 (license license:llgpl))))
12555
12556 (define-public cl-emb
12557 (sbcl-package->cl-source-package sbcl-cl-emb))
12558
12559 (define-public ecl-cl-emb
12560 (sbcl-package->ecl-package sbcl-cl-emb))
12561
12562 (define-public sbcl-cl-project
12563 (let ((commit "151107014e534fc4666222d57fec2cc8549c8814")
12564 (revision "1"))
12565 (package
12566 (name "sbcl-cl-project")
12567 (version (git-version "0.3.1" revision commit))
12568 (home-page "https://github.com/fukamachi/cl-project")
12569 (source
12570 (origin
12571 (method git-fetch)
12572 (uri (git-reference
12573 (url home-page)
12574 (commit commit)))
12575 (file-name (git-file-name name version))
12576 (sha256
12577 (base32 "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y"))))
12578 (build-system asdf-build-system/sbcl)
12579 (inputs
12580 `(("cl-emb" ,sbcl-cl-emb)
12581 ("cl-ppcre" ,sbcl-cl-ppcre)
12582 ("local-time" ,sbcl-local-time)
12583 ("prove" ,sbcl-prove)))
12584 (arguments
12585 ;; Tests depend on caveman, which in turns depends on cl-project.
12586 '(#:tests? #f
12587 #:asd-files '("cl-project.asd")))
12588 (synopsis "Generate a skeleton for modern Common Lisp projects")
12589 (description "This library provides a modern project skeleton generator.
12590 In contract with other generators, CL-Project generates one package per file
12591 and encourages unit testing by generating a system for unit testing, so you
12592 can begin writing unit tests as soon as the project is generated.")
12593 (license license:llgpl))))
12594
12595 (define-public cl-project
12596 (sbcl-package->cl-source-package sbcl-cl-project))
12597
12598 (define-public ecl-cl-project
12599 (sbcl-package->ecl-package sbcl-cl-project))
12600
12601 (define-public sbcl-caveman
12602 (let ((commit "faa5f7e3b364fd7e7096af9a7bb06728b8d80441") ; No release since 2012
12603 (revision "1"))
12604 (package
12605 (name "sbcl-caveman")
12606 (version (git-version "2.4.0" revision commit))
12607 (home-page "http://8arrow.org/caveman/")
12608 (source
12609 (origin
12610 (method git-fetch)
12611 (uri (git-reference
12612 (url "https://github.com/fukamachi/caveman/")
12613 (commit commit)))
12614 (file-name (git-file-name name version))
12615 (sha256
12616 (base32 "0kh0gx05pczk8f7r9qdi4zn1p3d0a2prps27k7jpgvc1dxkl8qhq"))))
12617 (build-system asdf-build-system/sbcl)
12618 (inputs
12619 `(("ningle" ,cl-ningle)
12620 ("lack" ,sbcl-lack)
12621 ("cl-project" ,sbcl-cl-project)
12622 ("dbi" ,sbcl-dbi)
12623 ("cl-syntax" ,sbcl-cl-syntax)
12624 ("myway" ,sbcl-myway)
12625 ("quri" ,sbcl-quri)))
12626 (native-inputs
12627 `(("usocket" ,sbcl-usocket)
12628 ("dexador" ,sbcl-dexador)))
12629 (arguments
12630 `(#:asd-files '("caveman2.asd")
12631 #:asd-systems '("caveman2")
12632 #:phases
12633 (modify-phases %standard-phases
12634 (add-after 'unpack 'remove-v1
12635 (lambda _
12636 (delete-file-recursively "v1")
12637 (for-each delete-file
12638 '("README.v1.markdown" "caveman.asd" "caveman-test.asd")))))
12639 ;; TODO: Tests fail with:
12640 ;; writing /gnu/store/...-sbcl-caveman-2.4.0-1.faa5f7e/share/common-lisp/sbcl-source/caveman2/v2/t/tmp/myapp573/tests/myapp573.lisp
12641 ;; While evaluating the form starting at line 38, column 0
12642 ;; of #P"/tmp/guix-build-sbcl-caveman-2.4.0-1.faa5f7e.drv-0/source/v2/t/caveman.lisp":
12643 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD "main thread" RUNNING
12644 ;; {10009F8083}>:
12645 ;; Component "myapp573" not found
12646 #:tests? #f))
12647 (synopsis "Lightweight web application framework in Common Lisp")
12648 (description "Caveman is intended to be a collection of common parts for
12649 web applications. Caveman2 has three design goals:
12650
12651 @itemize
12652 @item Be extensible.
12653 @item Be practical.
12654 @item Don't force anything.
12655 @end itemize\n")
12656 (license license:llgpl))))
12657
12658 (define-public cl-caveman
12659 (package
12660 (inherit
12661 (sbcl-package->cl-source-package sbcl-caveman))
12662 (propagated-inputs
12663 `(("ningle" ,cl-ningle)))))
12664
12665 (define-public ecl-caveman
12666 (sbcl-package->ecl-package sbcl-caveman))
12667
12668 (define-public sbcl-lambda-fiddle
12669 (let ((commit "d16bba55acf6065b412f64ab8fdff679a4a32b1e") ;; no tagged branch
12670 (revision "1"))
12671 (package
12672 (name "sbcl-lambda-fiddle")
12673 (version (git-version "1.0.0" revision commit))
12674 (source
12675 (origin
12676 (method git-fetch)
12677 (uri (git-reference
12678 (url "https://github.com/Shinmera/lambda-fiddle")
12679 (commit commit)))
12680 (file-name (git-file-name name version))
12681 (sha256
12682 (base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand"))))
12683 (build-system asdf-build-system/sbcl)
12684 (home-page "https://github.com/Shinmera/lambda-fiddle")
12685 (synopsis "Collection of utilities to process lambda-lists")
12686 (description "This collection of utilities is useful in contexts where
12687 you want a macro that uses lambda-lists in some fashion but need more precise
12688 processing.")
12689 (license license:zlib))))
12690
12691 (define-public cl-lambda-fiddle
12692 (sbcl-package->cl-source-package sbcl-lambda-fiddle))
12693
12694 (define-public ecl-lambda-fiddle
12695 (sbcl-package->ecl-package sbcl-lambda-fiddle))
12696
12697 (define-public sbcl-xmls
12698 (let ((commit "18546f0850b1338e03997ffd1696add1cb1800d1") ;; no tagged branch
12699 (revision "1"))
12700 (package
12701 (name "sbcl-xmls")
12702 (version (git-version "3.0.2" revision commit))
12703 (source
12704 (origin
12705 (method git-fetch)
12706 (uri (git-reference
12707 (url "https://github.com/rpgoldman/xmls")
12708 (commit commit)))
12709 (file-name (git-file-name name version))
12710 (sha256
12711 (base32 "1lmvfml2ldbb1wkhm25jqqk2bhwsz52hhcgljbnzj1xr8xhc3anp"))))
12712 (native-inputs
12713 `(("fiveam" ,sbcl-fiveam)))
12714 (build-system asdf-build-system/sbcl)
12715 (home-page "https://github.com/rpgoldman/xmls")
12716 (synopsis "Non-validating XML parser for Common Lisp")
12717 (description "Xmls is a self-contained, easily embedded parser that
12718 recognizes a useful subset of the XML spec. It provides a simple mapping from
12719 XML to Lisp structures or s-expressions and back.")
12720 (license license:bsd-2))))
12721
12722 (define-public cl-xmls
12723 (sbcl-package->cl-source-package sbcl-xmls))
12724
12725 (define-public ecl-xmls
12726 (sbcl-package->ecl-package sbcl-xmls))
12727
12728 (define-public sbcl-geco
12729 (package
12730 (name "sbcl-geco")
12731 (version "2.1.1")
12732 (source
12733 (origin
12734 (method git-fetch)
12735 (uri (git-reference
12736 (url "https://github.com/gpwwjr/GECO")
12737 (commit (string-append "v" version))))
12738 (file-name (git-file-name "geco" version))
12739 (sha256
12740 (base32 "1rc8a4mk40hjx5qy980hjylv6xxqdbq38hg8c4w30y93abfd519s"))))
12741 (build-system asdf-build-system/sbcl)
12742 (home-page "http://hiwaay.net/~gpw/geco/geco.html")
12743 (synopsis "Genetic algorithm toolkit for Common Lisp")
12744 (description
12745 "GECO (Genetic Evolution through Combination of Objects) is an extensible,
12746 object-oriented framework for prototyping genetic algorithms in Common Lisp.")
12747 (license license:lgpl2.1+)))
12748
12749 (define-public cl-geco
12750 (sbcl-package->cl-source-package sbcl-geco))
12751
12752 (define-public ecl-geco
12753 (sbcl-package->ecl-package sbcl-geco))
12754
12755 (define-public sbcl-html-entities
12756 (let ((commit "4af018048e891f41d77e7d680ed3aeb639e1eedb"))
12757 (package
12758 (name "sbcl-html-entities")
12759 (version (git-version "0.02" "1" commit))
12760 (source
12761 (origin
12762 (method git-fetch)
12763 (uri (git-reference
12764 (url "https://github.com/BnMcGn/html-entities/")
12765 (commit commit)))
12766 (file-name (git-file-name name version))
12767 (sha256
12768 (base32 "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"))))
12769 (build-system asdf-build-system/sbcl)
12770 (inputs
12771 `(("ppcre" ,sbcl-cl-ppcre)))
12772 (native-inputs
12773 `(("fiveam" ,sbcl-fiveam)))
12774 (home-page "https://github.com/BnMcGn/html-entities/")
12775 (synopsis "Encode and decode entities in HTML with Common Lisp")
12776 (description "Html-entities is a Common Lisp library that lets you
12777 encode and decode entities in HTML.")
12778 (license license:expat))))
12779
12780 (define-public cl-html-entities
12781 (sbcl-package->cl-source-package sbcl-html-entities))
12782
12783 (define-public ecl-html-entities
12784 (sbcl-package->ecl-package sbcl-html-entities))
12785
12786 (define-public sbcl-quicksearch
12787 (let ((commit "fb02ecf7c876ec580ab18c7d2c8c7814c06af599"))
12788 (package
12789 (name "sbcl-quicksearch")
12790 (version (git-version "0.01.04" "1" commit))
12791 (source
12792 (origin
12793 (method git-fetch)
12794 (uri (git-reference
12795 (url "https://github.com/tkych/quicksearch/")
12796 (commit commit)))
12797 (file-name (git-file-name name version))
12798 (sha256
12799 (base32 "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps"))))
12800 (build-system asdf-build-system/sbcl)
12801 (inputs
12802 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12803 ("iterate" ,sbcl-iterate)
12804 ("alexandria" ,sbcl-alexandria)
12805 ("anaphora" ,sbcl-anaphora)
12806 ("ppcre" ,sbcl-cl-ppcre)
12807 ("drakma" ,sbcl-drakma)
12808 ("html-entities" ,sbcl-html-entities)
12809 ("yason" ,sbcl-yason)
12810 ("flexi-streams" ,sbcl-flexi-streams)
12811 ("do-urlencode" ,sbcl-do-urlencode)))
12812 (home-page "https://github.com/tkych/quicksearch/")
12813 (synopsis "Search Engine Interface for Common Lisp packages")
12814 (description "Quicksearch is a search-engine-interface for Common Lisp.
12815 The goal of Quicksearch is to find the Common Lisp library quickly. For
12816 example, if you will find the library about json, just type @code{(qs:?
12817 'json)} at REPL.
12818
12819 The function @code{quicksearch} searches for Common Lisp projects in
12820 Quicklisp, Cliki, GitHub and BitBucket, then outputs results in REPL. The
12821 function @code{?} is abbreviation wrapper for @code{quicksearch}.")
12822 (license license:expat))))
12823
12824 (define-public cl-quicksearch
12825 (sbcl-package->cl-source-package sbcl-quicksearch))
12826
12827 (define-public ecl-quicksearch
12828 (sbcl-package->ecl-package sbcl-quicksearch))
12829
12830 (define-public sbcl-agutil
12831 (let ((commit "df188d754d472da9faa1601a48f1f37bb7b34d68"))
12832 (package
12833 (name "sbcl-agutil")
12834 (version (git-version "0.0.1" "1" commit))
12835 (source
12836 (origin
12837 (method git-fetch)
12838 (uri (git-reference
12839 (url "https://github.com/alex-gutev/agutil/")
12840 (commit commit)))
12841 (file-name (git-file-name name version))
12842 (sha256
12843 (base32 "1xpnyzksk2xld64b6lw6rw0gn5zxlb77jwna59sd4yl7kxhxlfpf"))))
12844 (build-system asdf-build-system/sbcl)
12845 (inputs
12846 `(("alexandria" ,sbcl-alexandria)
12847 ("trivia" ,sbcl-trivia)))
12848 (home-page "https://github.com/alex-gutev/agutil/")
12849 (synopsis "Collection of Common Lisp utilities")
12850 (description "A collection of Common Lisp utility functions and macros
12851 mostly not found in other utility packages.")
12852 (license license:expat))))
12853
12854 (define-public cl-agutil
12855 (sbcl-package->cl-source-package sbcl-agutil))
12856
12857 (define-public ecl-agutil
12858 (sbcl-package->ecl-package sbcl-agutil))
12859
12860 (define-public sbcl-custom-hash-table
12861 (let ((commit "f26983133940f5edf826ebbc8077acc04816ddfa"))
12862 (package
12863 (name "sbcl-custom-hash-table")
12864 (version (git-version "0.3" "1" commit))
12865 (source
12866 (origin
12867 (method git-fetch)
12868 (uri (git-reference
12869 (url "https://github.com/metawilm/cl-custom-hash-table")
12870 (commit commit)))
12871 (file-name (git-file-name name version))
12872 (sha256
12873 (base32 "1k4mvrpbqqds2fwjxp1bxmrfmr8ch4dkwhnkbw559knbqshvrlj5"))))
12874 (build-system asdf-build-system/sbcl)
12875 (arguments
12876 '(#:asd-files '("cl-custom-hash-table.asd")
12877 #:asd-systems '("cl-custom-hash-table")))
12878 (home-page "https://github.com/metawilm/cl-custom-hash-table")
12879 (synopsis "Custom hash tables for Common Lisp")
12880 (description "This library allows creation of hash tables with arbitrary
12881 @code{test}/@code{hash} functions, in addition to the @code{test} functions
12882 allowed by the standard (@code{EQ}, @code{EQL}, @code{EQUAL} and
12883 @code{EQUALP}), even in implementations that don't support this functionality
12884 directly.")
12885 (license license:expat))))
12886
12887 (define-public cl-custom-hash-table
12888 (sbcl-package->cl-source-package sbcl-custom-hash-table))
12889
12890 (define-public ecl-custom-hash-table
12891 (sbcl-package->ecl-package sbcl-custom-hash-table))
12892
12893 (define-public sbcl-collectors
12894 (let ((commit "13acef25d8422d1d82e067b1861e513587c166ee"))
12895 (package
12896 (name "sbcl-collectors")
12897 (version (git-version "0.1" "1" commit))
12898 (source
12899 (origin
12900 (method git-fetch)
12901 (uri (git-reference
12902 (url "https://github.com/AccelerationNet/collectors")
12903 (commit commit)))
12904 (file-name (git-file-name name version))
12905 (sha256
12906 (base32 "1si68n1j6rpns8jw6ksqjpb937pdl30v7xza8rld7j5vh0jhy2yi"))))
12907 (build-system asdf-build-system/sbcl)
12908 (inputs
12909 `(("alexandria" ,sbcl-alexandria)
12910 ("closer-mop" ,sbcl-closer-mop)
12911 ("symbol-munger" ,sbcl-symbol-munger)))
12912 (native-inputs
12913 `(("lisp-unit2" ,sbcl-lisp-unit2)))
12914 (home-page "https://github.com/AccelerationNet/collectors/")
12915 (synopsis "Common lisp library providing collector macros")
12916 (description "A small collection of common lisp macros to make
12917 collecting values easier.")
12918 (license license:bsd-3))))
12919
12920 (define-public cl-collectors
12921 (sbcl-package->cl-source-package sbcl-collectors))
12922
12923 (define-public ecl-collectors
12924 (sbcl-package->ecl-package sbcl-collectors))
12925
12926 (define-public sbcl-cl-environments
12927 (let ((commit "0b22154c5afefef23d1eba9a4fae11d73580ef41")) ; No version in 2 years.
12928 (package
12929 (name "sbcl-cl-environments")
12930 (version (git-version "0.2.3" "1" commit))
12931 (source
12932 (origin
12933 (method git-fetch)
12934 (uri (git-reference
12935 (url "https://github.com/alex-gutev/cl-environments")
12936 (commit commit)))
12937 (file-name (git-file-name name version))
12938 (sha256
12939 (base32
12940 "18r3wfarr7lgn78m6c66r0r9aazirv07gy7xgvqkl9pmrz1bc47m"))))
12941 (build-system asdf-build-system/sbcl)
12942 (inputs
12943 `(("alexandria" ,sbcl-alexandria)
12944 ("anaphora" ,sbcl-anaphora)
12945 ("collectors" ,sbcl-collectors)
12946 ("optima" ,sbcl-optima)))
12947 (native-inputs
12948 `(("prove" ,sbcl-prove)))
12949 (home-page "https://github.com/alex-gutev/cl-environments")
12950 (synopsis "Implements the Common Lisp standard environment access API")
12951 (description "This library provides a uniform API, as specified in Common
12952 Lisp the Language 2, for accessing information about variable and function
12953 bindings from implementation-defined lexical environment objects. All major
12954 Common Lisp implementations are supported, even those which don't support the
12955 CLTL2 environment access API.")
12956 (license license:expat))))
12957
12958 (define-public cl-environments
12959 (sbcl-package->cl-source-package sbcl-cl-environments))
12960
12961 (define-public ecl-environments
12962 (sbcl-package->ecl-package sbcl-cl-environments))
12963
12964 (define-public sbcl-static-dispatch
12965 (let ((commit "6243afcd152854c52ba33daef7394367b657d9c6")
12966 (revision "1"))
12967 (package
12968 (name "sbcl-static-dispatch")
12969 (version (git-version "0.3" revision commit))
12970 (source
12971 (origin
12972 (method git-fetch)
12973 (uri (git-reference
12974 (url "https://github.com/alex-gutev/static-dispatch")
12975 (commit commit)))
12976 (file-name (git-file-name "static-dispatch" version))
12977 (sha256
12978 (base32 "1lli9ar1xbnhkgb5d01rlw4pvfylg2arrw68np2c07fpkkafimg7"))))
12979 (build-system asdf-build-system/sbcl)
12980 (native-inputs
12981 `(("prove" ,sbcl-prove)))
12982 (inputs
12983 `(("agutil" ,sbcl-agutil)
12984 ("alexandria" ,sbcl-alexandria)
12985 ("anaphora" ,sbcl-anaphora)
12986 ("arrows" ,sbcl-arrows)
12987 ("cl-environments" ,sbcl-cl-environments)
12988 ("closer-mop" ,sbcl-closer-mop)
12989 ("iterate" ,sbcl-iterate)
12990 ("trivia" ,sbcl-trivia)))
12991 (home-page "https://github.com/alex-gutev/static-dispatch")
12992 (synopsis "Static generic function dispatch for Common Lisp")
12993 (description "Static dispatch is a Common Lisp library, inspired by
12994 @code{inlined-generic-function}, which allows standard Common Lisp generic
12995 function dispatch to be performed statically (at compile time) rather than
12996 dynamically (runtime). This is similar to what is known as \"overloading\" in
12997 languages such as C++ and Java.
12998
12999 The purpose of static dispatch is to provide an optimization in cases where
13000 the usual dynamic dispatch is too slow, and the dynamic features of generic
13001 functions, such as adding/removing methods at runtime are not required. An
13002 example of such a case is a generic equality comparison function. Currently
13003 generic functions are considered far too slow to implement generic arithmetic
13004 and comparison operations when used heavily in numeric code.")
13005 (license license:expat))))
13006
13007 (define-public cl-static-dispatch
13008 (sbcl-package->cl-source-package sbcl-static-dispatch))
13009
13010 (define-public ecl-static-dispatch
13011 (sbcl-package->ecl-package sbcl-static-dispatch))
13012
13013 (define-public sbcl-generic-cl
13014 ;; Latest commit includes a necessary fix for our Guix build.
13015 (let ((commit "8e5a81487ee3c13fe5ffdc8bdda161d476639535"))
13016 (package
13017 (name "sbcl-generic-cl")
13018 (version (git-version "0.7.1" "1" commit))
13019 (source
13020 (origin
13021 (method git-fetch)
13022 (uri (git-reference
13023 (url "https://github.com/alex-gutev/generic-cl")
13024 (commit commit)))
13025 (file-name (git-file-name name version))
13026 (sha256
13027 (base32
13028 "11w0g79s4wmc78vmfng437rmsgnp5qn246zcyr540fp5nw0ad6ix"))))
13029 (build-system asdf-build-system/sbcl)
13030 (inputs
13031 `(("agutil" ,sbcl-agutil)
13032 ("alexandria" ,sbcl-alexandria)
13033 ("anaphora" ,sbcl-anaphora)
13034 ("arrows" ,sbcl-arrows)
13035 ("cl-custom-hash-table" ,sbcl-custom-hash-table)
13036 ("static-dispatch" ,sbcl-static-dispatch)
13037 ("trivia" ,sbcl-trivia)))
13038 (native-inputs
13039 `(("prove" ,sbcl-prove)))
13040 (arguments
13041 ;; Tests fail because SBCL head size is not high enough.
13042 ;; https://github.com/alex-gutev/generic-cl/issues/6
13043 `(#:tests? #f))
13044 (home-page "https://alex-gutev.github.io/generic-cl/")
13045 (synopsis "Generic function interface to standard Common Lisp functions")
13046 (description "@code{generic-cl} provides a generic function wrapper over
13047 various functions in the Common Lisp standard, such as equality predicates and
13048 sequence operations. The goal of this wrapper is to provide a standard
13049 interface to common operations, such as testing for the equality of two
13050 objects, which is extensible to user-defined types.")
13051 (license license:expat))))
13052
13053 (define-public cl-generic-cl
13054 (sbcl-package->cl-source-package sbcl-generic-cl))
13055
13056 (define-public ecl-generic-cl
13057 (sbcl-package->ecl-package sbcl-generic-cl))
13058
13059 (define-public sbcl-defpackage-plus
13060 (let ((revision "0")
13061 (commit "5492e27e0bdb7b75fa5177ea4388519dc7a75f11"))
13062 (package
13063 (name "sbcl-defpackage-plus")
13064 (version (git-version "1.0" revision commit))
13065 (source
13066 (origin
13067 (method git-fetch)
13068 (uri (git-reference
13069 (url "https://github.com/rpav/defpackage-plus")
13070 (commit commit)))
13071 (file-name (git-file-name name version))
13072 (sha256
13073 (base32 "0lzljvf343xb6mlh6lni2i27hpm5qd376522mk6hr2pa20vd6rdq"))))
13074 (build-system asdf-build-system/sbcl)
13075 (inputs
13076 `(("alexandria" ,sbcl-alexandria)))
13077 (home-page "https://github.com/rpav/defpackage-plus")
13078 (synopsis "Extensible @code{DEFPACKAGE} variant with version support")
13079 (description
13080 "@code{DEFPACKAGE-PLUS} is an extensible @code{DEFPACKAGE} variant with
13081 predictable cross-platform behavior and some utilities useful for versioning.")
13082 (license license:bsd-2))))
13083
13084 (define-public cl-defpackage-plus
13085 (sbcl-package->cl-source-package sbcl-defpackage-plus))
13086
13087 (define-public ecl-defpackage-plus
13088 (sbcl-package->ecl-package sbcl-defpackage-plus))
13089
13090 (define-public sbcl-deploy
13091 (let ((commit "9b20e64fe924b9e31832304d87a3a72c383dc6d8")
13092 (revision "2"))
13093 (package
13094 (name "sbcl-deploy")
13095 (version (git-version "1.0.0" revision commit))
13096 (source
13097 (origin
13098 (method git-fetch)
13099 (uri (git-reference
13100 (url "https://github.com/Shinmera/deploy")
13101 (commit commit)))
13102 (file-name (git-file-name "deploy" version))
13103 (sha256
13104 (base32 "07pfkibaridihg8lbq2czwa4iqifqk24n6rx7bfnv7i49p1ppja1"))))
13105 (build-system asdf-build-system/sbcl)
13106 (arguments
13107 `(#:test-asd-file "deploy-test.asd"
13108 #:asd-files '("deploy.asd"
13109 "deploy-test.asd")))
13110 (native-inputs
13111 `(("cl-mpg123" ,sbcl-cl-mpg123)
13112 ("cl-out123" ,sbcl-cl-out123)))
13113 (inputs
13114 `(("cffi" ,sbcl-cffi)
13115 ("documentation-utils" ,sbcl-documentation-utils)
13116 ("trivial-features" ,sbcl-trivial-features)))
13117 (home-page "https://shinmera.github.io/deploy/")
13118 (synopsis "Deployment tools for standalone Common Lisp application")
13119 (description
13120 "This is a system to help you easily and quickly deploy standalone
13121 common lisp applications as binaries. Specifically it is geared towards
13122 applications with foreign library dependencies that run some kind of GUI.")
13123 (license license:artistic2.0))))
13124
13125 (define-public cl-deploy
13126 (sbcl-package->cl-source-package sbcl-deploy))
13127
13128 (define-public ecl-deploy
13129 (sbcl-package->ecl-package sbcl-deploy))
13130
13131 (define-public sbcl-deeds
13132 ;; taged branch is outdated
13133 (let ((revision "1")
13134 (commit "f5df54eac79b58a34030e0eb8acf3952c788410d"))
13135 (package
13136 (name "sbcl-deeds")
13137 (version (git-version "1.1.1" revision commit))
13138 (source
13139 (origin
13140 (method git-fetch)
13141 (uri (git-reference
13142 (url "https://github.com/Shinmera/deeds")
13143 (commit commit)))
13144 (file-name (git-file-name name version))
13145 (sha256
13146 (base32 "062cnb2dwli6pw3zvv46jfxyxdzcbzwsck5pa6nw03qf1j1hyg3k"))))
13147 (build-system asdf-build-system/sbcl)
13148 (inputs
13149 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13150 ("closer-mop" ,sbcl-closer-mop)
13151 ("form-fiddle" ,sbcl-form-fiddle)
13152 ("lambda-fiddle" ,sbcl-lambda-fiddle)))
13153 (home-page "https://github.com/Shinmera/deeds")
13154 (synopsis "Extensible Event Delivery System")
13155 (description
13156 "@code{deeds} allows for efficient event delivery to multiple handlers
13157 with a complex event filtering system.")
13158 (license license:zlib))))
13159
13160 (define-public cl-deeds
13161 (sbcl-package->cl-source-package sbcl-deeds))
13162
13163 (define-public ecl-deeds
13164 (sbcl-package->ecl-package sbcl-deeds))
13165
13166 (define-public sbcl-make-hash
13167 ;; no tagged branch
13168 (let ((revision "1")
13169 (commit "ae0909cd8e697520a1085fac6f54ac2b448ebd21"))
13170 (package
13171 (name "sbcl-make-hash")
13172 (version (git-version "1.0.2" revision commit))
13173 (source
13174 (origin
13175 (method git-fetch)
13176 (uri (git-reference
13177 (url "https://github.com/genovese/make-hash")
13178 (commit commit)))
13179 (file-name (git-file-name name version))
13180 (sha256
13181 (base32 "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8"))))
13182 (build-system asdf-build-system/sbcl)
13183 (home-page "https://github.com/genovese/make-hash")
13184 (synopsis "Common Lisp package for flexible hash table creation")
13185 (description
13186 "This is a Common Lisp package for hash table creation with flexible,
13187 extensible initializers.")
13188 (license license:bsd-3))))
13189
13190 (define-public cl-make-hash
13191 (sbcl-package->cl-source-package sbcl-make-hash))
13192
13193 (define-public ecl-make-hash
13194 (sbcl-package->ecl-package sbcl-make-hash))
13195
13196 (define-public sbcl-claw-support
13197 (package
13198 (name "sbcl-claw-support")
13199 (version "1.0.0")
13200 (source
13201 (origin
13202 (method git-fetch)
13203 (uri (git-reference
13204 (url "https://github.com/borodust/claw-support")
13205 (commit "9a15c8bed04585f45e6a461bcda1b475144dbd0b")))
13206 (file-name (git-file-name name version))
13207 (sha256
13208 (base32 "1my2ka7h72ipx5n3b465g6kjkasrhsvhqlijwcg6dhlzs5yygl23"))))
13209 (build-system asdf-build-system/sbcl)
13210 (home-page "https://github.com/borodust/claw-support")
13211 (synopsis "Support routines for claw")
13212 (description
13213 "This package provides support routines for the @code{claw} Common Lisp
13214 package.")
13215 (license license:expat)))
13216
13217 (define-public cl-claw-support
13218 (sbcl-package->cl-source-package sbcl-claw-support))
13219
13220 (define-public ecl-claw-support
13221 (sbcl-package->ecl-package sbcl-claw-support))
13222
13223 (define-public sbcl-claw
13224 (let ((revision "0")
13225 (commit "3cd4a96fca95eb9e8d5d069426694669f81b2250"))
13226 (package
13227 (name "sbcl-claw")
13228 (version (git-version "1.0" revision commit))
13229 (source
13230 (origin
13231 (method git-fetch)
13232 (uri (git-reference
13233 (url "https://github.com/borodust/claw")
13234 (commit commit)))
13235 (file-name (git-file-name "claw" version))
13236 (sha256
13237 (base32 "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d"))))
13238 (build-system asdf-build-system/sbcl)
13239 (inputs
13240 `(("alexandria" ,sbcl-alexandria)
13241 ("cffi" ,sbcl-cffi)
13242 ("cl-json" ,sbcl-cl-json)
13243 ("cl-ppcre" ,sbcl-cl-ppcre)
13244 ("claw-support" ,sbcl-claw-support)
13245 ("local-time" ,sbcl-local-time)
13246 ("trivial-features" ,sbcl-trivial-features)))
13247 (home-page "https://github.com/borodust/claw")
13248 (synopsis "Autowrapper for Common Lisp")
13249 (description
13250 "This is a Common Lisp autowrapping facility for quickly creating clean
13251 and lean bindings to C libraries.")
13252 (license license:bsd-2))))
13253
13254 (define-public cl-claw
13255 (sbcl-package->cl-source-package sbcl-claw))
13256
13257 (define-public ecl-claw
13258 (sbcl-package->ecl-package sbcl-claw))
13259
13260 (define-public sbcl-claw-utils
13261 (let ((revision "0")
13262 (commit "efe25016501973dc369f067a64c7d225802bc56f"))
13263 (package
13264 (name "sbcl-claw-utils")
13265 ;; version is not specified
13266 (version (git-version "0.0.0" revision commit))
13267 (source
13268 (origin
13269 (method git-fetch)
13270 (uri (git-reference
13271 (url "https://github.com/borodust/claw-utils")
13272 (commit commit)))
13273 (file-name (git-file-name "claw-utils" version))
13274 (sha256
13275 (base32 "01df3kyf2qs3czi332dnz2s35x2j0fq46vgmsw7wjrrvnqc22mk5"))))
13276 (build-system asdf-build-system/sbcl)
13277 (inputs
13278 `(("alexandria" ,sbcl-alexandria)
13279 ("cffi" ,sbcl-cffi)
13280 ("claw" ,sbcl-claw)))
13281 (home-page "https://github.com/borodust/claw-utils")
13282 (synopsis "Utilities for easier autowrapping")
13283 (description
13284 "This Common Lisp library contains various handy utilties to help
13285 autowrapping with @code{claw}.")
13286 (license license:expat))))
13287
13288 (define-public cl-claw-utils
13289 (sbcl-package->cl-source-package sbcl-claw-utils))
13290
13291 (define-public ecl-claw-utils
13292 (sbcl-package->ecl-package sbcl-claw-utils))
13293
13294 (define-public sbcl-array-operations
13295 (let ((commit "75cbc3b1adb2e3ce2109489753d0f290b071e81b")
13296 (revision "0"))
13297 (package
13298 (name "sbcl-array-operations")
13299 (version (git-version "0.0.0" revision commit))
13300 (source
13301 (origin
13302 (method git-fetch)
13303 (uri (git-reference
13304 (url "https://github.com/bendudson/array-operations")
13305 (commit commit)))
13306 (file-name (git-file-name "array-operations" version))
13307 (sha256
13308 (base32 "0ip49hhq32w80qsc7jmspyda5r2rsszvw0mk2r3341cld78sz9ya"))))
13309 (build-system asdf-build-system/sbcl)
13310 (native-inputs
13311 `(("alexandria" ,sbcl-alexandria)
13312 ("clunit2" ,sbcl-clunit2)))
13313 (inputs
13314 `(("let-plus" ,sbcl-let-plus)))
13315 (synopsis "Simple array operations library for Common Lisp")
13316 (description
13317 "This library is a collection of functions and macros for manipulating
13318 Common Lisp arrays and performing numerical calculations with them.")
13319 (home-page "https://github.com/bendudson/array-operations")
13320 (license license:expat))))
13321
13322 (define-public cl-array-operations
13323 (sbcl-package->cl-source-package sbcl-array-operations))
13324
13325 (define-public ecl-array-operations
13326 (sbcl-package->ecl-package sbcl-array-operations))
13327
13328 (define-public sbcl-clml
13329 (let ((commit "95505b54c8c7b4b27f500c3be97fa5732f4b51a8")
13330 (revision "0"))
13331 (package
13332 (name "sbcl-clml")
13333 (version (git-version "0.0.0" revision commit))
13334 (source
13335 (origin
13336 (method git-fetch)
13337 (uri (git-reference
13338 (url "https://github.com/mmaul/clml")
13339 (commit commit)))
13340 (file-name (git-file-name "clml" version))
13341 (sha256
13342 (base32 "006pii59nmpc61n7p7h8ha5vjg6x0dya327i58z0rnvxs249h345"))
13343 ;; TODO: Remove this when the patch has been merged upstream.
13344 (patches (search-patches "sbcl-clml-fix-types.patch"))))
13345 (build-system asdf-build-system/sbcl)
13346 (inputs
13347 `(("alexandia" ,sbcl-alexandria)
13348 ("array-operations" ,sbcl-array-operations)
13349 ("cl-fad" ,sbcl-cl-fad)
13350 ("cl-ppcre" ,sbcl-cl-ppcre)
13351 ("drakma" ,sbcl-drakma)
13352 ("introspect-environment" ,sbcl-introspect-environment)
13353 ("iterate" ,sbcl-iterate)
13354 ("lparallel" ,sbcl-lparallel)
13355 ("parse-number" ,sbcl-parse-number)
13356 ("split-sequence" ,sbcl-split-sequence)
13357 ("trivial-garbage" ,sbcl-trivial-garbage)))
13358 (synopsis "Common Lisp machine learning library")
13359 (description
13360 "CLML (Common Lisp Machine Learning) is a high performance and large
13361 scale statistical machine learning package")
13362 (home-page "https://mmaul.github.io/clml/")
13363 (license license:llgpl))))
13364
13365 (define-public cl-clml
13366 (sbcl-package->cl-source-package sbcl-clml))
13367
13368 (define-public sbcl-utm-ups
13369 (let ((commit "ffcb7b6d5a56fb7d4b2b95b83bbd28ffe6e6961f")
13370 (revision "0"))
13371 (package
13372 (name "sbcl-utm-ups")
13373 (version (git-version "1.1" revision commit))
13374 (source
13375 (origin
13376 (method git-fetch)
13377 (uri (git-reference
13378 (url "https://github.com/glv2/utm-ups")
13379 (commit commit)))
13380 (file-name (git-file-name "utm-ups" version))
13381 (sha256
13382 (base32 "1rvyh0srgd81kvbzmq4ysd9y6c0qdwh23naqxc9asw1vh7fq08x1"))))
13383 (build-system asdf-build-system/sbcl)
13384 (native-inputs
13385 `(("fiveam" ,sbcl-fiveam)))
13386 (synopsis
13387 "Convert coordinates between latitude/longitude and UTM or UPS")
13388 (description
13389 "This a Common Lisp library to convert geographic coordinates between
13390 latitude/longitude and UTM (Universal Transverse Mercator) or UPS (Universal
13391 Polar Stereographic).")
13392 (home-page "https://github.com/glv2/utm-ups")
13393 (license license:gpl3+))))
13394
13395 (define-public cl-utm-ups
13396 (sbcl-package->cl-source-package sbcl-utm-ups))
13397
13398 (define-public ecl-utm-ups
13399 (sbcl-package->ecl-package sbcl-utm-ups))
13400
13401 (define-public sbcl-mgrs
13402 (let ((commit "00455460407b7e5509d1be3da09bf6152956761f")
13403 (revision "0"))
13404 (package
13405 (name "sbcl-mgrs")
13406 (version (git-version "1.0" revision commit))
13407 (source
13408 (origin
13409 (method git-fetch)
13410 (uri (git-reference
13411 (url "https://github.com/glv2/mgrs")
13412 (commit commit)))
13413 (file-name (git-file-name "mgrs" version))
13414 (sha256
13415 (base32 "0ckvn4hg3wwivzavhfashb6fap4a1q10l8krhbng8bdb54ac10sz"))))
13416 (build-system asdf-build-system/sbcl)
13417 (native-inputs
13418 `(("fiveam" ,sbcl-fiveam)))
13419 (inputs
13420 `(("utm-ups" ,sbcl-utm-ups)))
13421 (synopsis
13422 "Convert coordinates between latitude/longitude and MGRS")
13423 (description
13424 "This a Common Lisp library to convert geographic coordinates between
13425 latitude/longitude and MGRS.")
13426 (home-page "https://github.com/glv2/mgrs")
13427 (license license:gpl3+))))
13428
13429 (define-public cl-mgrs
13430 (sbcl-package->cl-source-package sbcl-mgrs))
13431
13432 (define-public ecl-mgrs
13433 (sbcl-package->ecl-package sbcl-mgrs))
13434
13435 (define-public sbcl-maidenhead
13436 (let ((commit "b756d235c27b5d6798867aa240318af1a8f35d6d")
13437 (revision "0"))
13438 (package
13439 (name "sbcl-maidenhead")
13440 (version (git-version "1.0" revision commit))
13441 (source
13442 (origin
13443 (method git-fetch)
13444 (uri (git-reference
13445 (url "https://github.com/glv2/maidenhead")
13446 (commit commit)))
13447 (file-name (git-file-name "maidenhead" version))
13448 (sha256
13449 (base32 "02p990zprhjvifmsfk8yh3frvz6xyw26ikzxvzglqdixbal36nr3"))))
13450 (build-system asdf-build-system/sbcl)
13451 (native-inputs
13452 `(("fiveam" ,sbcl-fiveam)))
13453 (synopsis
13454 "Convert coordinates between latitude/longitude and Maidenhead")
13455 (description
13456 "This a Common Lisp library to convert geographic coordinates between
13457 latitude/longitude and Maidenhead locator system.")
13458 (home-page "https://github.com/glv2/maidenhead")
13459 (license license:gpl3+))))
13460
13461 (define-public cl-maidenhead
13462 (sbcl-package->cl-source-package sbcl-maidenhead))
13463
13464 (define-public ecl-maidenhead
13465 (sbcl-package->ecl-package sbcl-maidenhead))
13466
13467 (define-public sbcl-olc
13468 (let ((commit "517e27fa57d9a119b00a29c4b6b31e553deff309")
13469 (revision "0"))
13470 (package
13471 (name "sbcl-olc")
13472 (version (git-version "1.0" revision commit))
13473 (source
13474 (origin
13475 (method git-fetch)
13476 (uri (git-reference
13477 (url "https://github.com/glv2/olc")
13478 (commit commit)))
13479 (file-name (git-file-name "olc" version))
13480 (sha256
13481 (base32 "1lnfhp6z6kc8l605zp4siyjiw74y1h4bdq3jfizi084v505wxhgr"))))
13482 (build-system asdf-build-system/sbcl)
13483 (native-inputs
13484 `(("fiveam" ,sbcl-fiveam)))
13485 (synopsis
13486 "Convert coordinates between latitude/longitude and Open Location Code")
13487 (description
13488 "This a Common Lisp library to convert geographic coordinates between
13489 latitude/longitude and Open Location Code.")
13490 (home-page "https://github.com/glv2/olc")
13491 (license license:gpl3+))))
13492
13493 (define-public cl-olc
13494 (sbcl-package->cl-source-package sbcl-olc))
13495
13496 (define-public ecl-olc
13497 (sbcl-package->ecl-package sbcl-olc))
13498
13499 (define-public sbcl-regex
13500 (let ((commit "fbc9a9f313b9edc1788f33d4b23a29151635ae22"))
13501 (package
13502 (name "sbcl-regex")
13503 (version (git-version "1" "1" commit))
13504 (source
13505 (origin
13506 (method git-fetch)
13507 (uri (git-reference
13508 (url "https://github.com/michaelw/regex/")
13509 (commit commit)))
13510 (file-name (git-file-name name version))
13511 (sha256
13512 (base32 "0wq5wlafrxv13wg28hg5b10sc48b88swsvznpy2zg7x37m4nmm6a"))))
13513 (build-system asdf-build-system/sbcl)
13514 (home-page "https://github.com/michaelw/regex/")
13515 (synopsis "Regular expression engine for Common Lisp")
13516 (description
13517 "This Common Lisp package provides a regular expression engine.")
13518 (license license:bsd-2))))
13519
13520 (define-public cl-regex
13521 (sbcl-package->cl-source-package sbcl-regex))
13522
13523 (define-public ecl-regex
13524 (sbcl-package->ecl-package sbcl-regex))
13525
13526 (define-public sbcl-clawk
13527 (let ((commit "3a91634df686417114044a98c063cbe76bfac7b6"))
13528 (package
13529 (name "sbcl-clawk")
13530 (version (git-version "4" "1" commit))
13531 (source
13532 (origin
13533 (method git-fetch)
13534 (uri (git-reference
13535 (url "https://github.com/sharplispers/clawk")
13536 (commit commit)))
13537 (file-name (git-file-name name version))
13538 (sha256
13539 (base32 "1ph3xjqilvinvgr9q3w47zxqyz1sqnq030nlx7kgkkv8j3bnqk7a"))))
13540 (build-system asdf-build-system/sbcl)
13541 (inputs
13542 `(("sbcl-regex" ,sbcl-regex)))
13543 (home-page "https://github.com/sharplispers/clawk")
13544 (synopsis "Common Lisp AWK")
13545 (description
13546 "CLAWK is an AWK implementation embedded into Common Lisp.")
13547 (license license:bsd-2))))
13548
13549 (define-public cl-clawk
13550 (sbcl-package->cl-source-package sbcl-clawk))
13551
13552 (define-public ecl-clawk
13553 (sbcl-package->ecl-package sbcl-clawk))
13554
13555 (define-public sbcl-check-it
13556 (let ((commit "b79c9103665be3976915b56b570038f03486e62f"))
13557 (package
13558 (name "sbcl-check-it")
13559 (version (git-version "0.1.0" "1" commit))
13560 (source
13561 (origin
13562 (method git-fetch)
13563 (uri (git-reference
13564 (url "https://github.com/DalekBaldwin/check-it/")
13565 (commit commit)))
13566 (file-name (git-file-name name version))
13567 (sha256
13568 (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"))))
13569 (build-system asdf-build-system/sbcl)
13570 (inputs
13571 `(("alexandria" ,sbcl-alexandria)
13572 ("closer-mop" ,sbcl-closer-mop)
13573 ("optima" ,sbcl-optima)))
13574 (native-inputs
13575 `(("stefil" ,sbcl-stefil)))
13576 (home-page "https://github.com/arclanguage/Clamp")
13577 (synopsis "Randomized specification-based testing for Common Lisp")
13578 (description
13579 "This is a randomized property-based testing library for Common Lisp.
13580 Rather than being a full-fledged general test framework in its own right, it's
13581 designed to embed randomized tests in whatever framework you like.")
13582 (license license:llgpl))))
13583
13584 (define-public cl-check-it
13585 (sbcl-package->cl-source-package sbcl-check-it))
13586
13587 (define-public ecl-check-it
13588 (sbcl-package->ecl-package sbcl-check-it))
13589
13590 (define-public sbcl-clamp
13591 (let ((commit "02b8f3953e5753cc61a719807c82f3795cd28fe1"))
13592 (package
13593 (name "sbcl-clamp")
13594 (version (git-version "0.3" "1" commit))
13595 (source
13596 (origin
13597 (method git-fetch)
13598 (uri (git-reference
13599 (url "https://github.com/arclanguage/Clamp")
13600 (commit commit)))
13601 (file-name (git-file-name name version))
13602 (sha256
13603 (base32 "0fdr9nqfmmpxm6hvjdxi1jkclya9xlnrw1yc3cn1m4ww3f50p31m"))))
13604 (build-system asdf-build-system/sbcl)
13605 (inputs
13606 `(("iterate" ,sbcl-iterate)
13607 ("cl-syntax" ,sbcl-cl-syntax)))
13608 (native-inputs
13609 `(("cl-unit" ,sbcl-clunit)
13610 ("check-it" ,sbcl-check-it)))
13611 (arguments
13612 `(#:phases
13613 (modify-phases %standard-phases
13614 (add-after 'unpack 'fix-build
13615 (lambda _
13616 (substitute* "clamp.asd"
13617 (("\\(:file \"read\" :depends-on \\(\"aliases\"\\)\\)")
13618 "(:file \"read\" :depends-on (\"aliases\" \"base\"))"))
13619 #t)))))
13620 (home-page "https://github.com/arclanguage/Clamp")
13621 (synopsis "Common Lisp with Arc macros and procedures")
13622 (description
13623 "Clamp is an attempt to bring the powerful, but verbose, language of
13624 Common Lisp up to the terseness of Arc.
13625
13626 There are two parts to Clamp. There is the core of Clamp, which implements
13627 the utilities of Arc that are easily converted from Arc to Common Lisp. The
13628 other part is the \"experimental\" part. It contains features of Arc that are
13629 not so easy to copy (ssyntax, argument destructuring, etc.).")
13630 (license license:artistic2.0))))
13631
13632 (define-public cl-clamp
13633 (sbcl-package->cl-source-package sbcl-clamp))
13634
13635 (define-public ecl-clamp
13636 (sbcl-package->ecl-package sbcl-clamp))
13637
13638 (define-public sbcl-trivial-shell
13639 (let ((commit "e02ec191b34b52deca5d1c4ee99d4fa13b8772e0"))
13640 (package
13641 (name "sbcl-trivial-shell")
13642 (version (git-version "0.2.0" "1" commit))
13643 (source
13644 (origin
13645 (method git-fetch)
13646 (uri (git-reference
13647 (url "https://github.com/gwkkwg/trivial-shell")
13648 (commit commit)))
13649 (file-name (git-file-name name version))
13650 (sha256
13651 (base32 "08mpkl5ij5sjfsyn8pq2kvsvpvyvr7ha1r8g1224fa667b8k2q85"))))
13652 (build-system asdf-build-system/sbcl)
13653 (native-inputs
13654 `(("lift" ,sbcl-lift)))
13655 (home-page "http://common-lisp.net/project/trivial-shell/")
13656 (synopsis "Common Lisp access to the shell")
13657 (description
13658 "A simple Common-Lisp interface to the underlying operating system.
13659 It's independent of the implementation and operating system.")
13660 (license license:expat))))
13661
13662 (define-public cl-trivial-shell
13663 (sbcl-package->cl-source-package sbcl-trivial-shell))
13664
13665 (define-public ecl-trivial-shell
13666 (sbcl-package->ecl-package sbcl-trivial-shell))
13667
13668 (define-public sbcl-clesh
13669 (let ((commit "44e96e04a72e5bc006dc4eb02ce8962348dd4a11"))
13670 (package
13671 (name "sbcl-clesh")
13672 (version (git-version "0.0.0" "1" commit))
13673 (source
13674 (origin
13675 (method git-fetch)
13676 (uri (git-reference
13677 (url "https://github.com/Neronus/Clesh")
13678 (commit commit)))
13679 (file-name (git-file-name name version))
13680 (sha256
13681 (base32 "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318"))))
13682 (build-system asdf-build-system/sbcl)
13683 (inputs
13684 `(("trivial-shell" ,sbcl-trivial-shell)
13685 ("named-readtables" ,sbcl-named-readtables)))
13686 (home-page "https://github.com/Neronus/Clesh")
13687 (synopsis "Embed shell code in Common Lisp")
13688 (description
13689 "This is a very short and simple program, written in Common Lisp, that
13690 extends Common Lisp to embed shell code in a manner similar to Perl's
13691 backtick. It has been forked from SHELISP.")
13692 (license license:bsd-2))))
13693
13694 (define-public cl-clesh
13695 (sbcl-package->cl-source-package sbcl-clesh))
13696
13697 (define-public ecl-clesh
13698 (sbcl-package->ecl-package sbcl-clesh))
13699
13700 (define-public sbcl-trivial-channels
13701 (let ((commit "e2370118d8983ba69c0360a7695f8f2e2fd6a8a6")
13702 (revision "1"))
13703 (package
13704 (name "sbcl-trivial-channels")
13705 (version (git-version "1.0" revision commit))
13706 (source
13707 (origin
13708 (method git-fetch)
13709 (uri (git-reference
13710 (url "https://github.com/rpav/trivial-channels")
13711 (commit commit)))
13712 (file-name (git-file-name "trivial-channels" version))
13713 (sha256
13714 (base32 "04wnxcgk40x8p0gxnz9arv1a5wasdqrdxa8c4p5v7r2mycfps6jj"))))
13715 (build-system asdf-build-system/sbcl)
13716 (inputs
13717 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13718 ("trivial-timeout" ,sbcl-trivial-timeout)))
13719 (home-page "https://github.com/rpav/trivial-channels")
13720 (synopsis "Common Lisp simple thread-safe channels with timeout")
13721 (description
13722 "It's very basic implementation of channels and queue for Common Lisp.")
13723 (license license:bsd-2))))
13724
13725 (define-public ecl-trivial-channels
13726 (sbcl-package->ecl-package sbcl-trivial-channels))
13727
13728 (define-public cl-trivial-channels
13729 (sbcl-package->cl-source-package sbcl-trivial-channels))
13730
13731 (define-public sbcl-trivial-download
13732 (let ((commit "d2472061d86b1cf3d32f388daacd4e32a13af699"))
13733 (package
13734 (name "sbcl-trivial-download")
13735 (version (git-version "0.3" "1" commit))
13736 (source
13737 (origin
13738 (method git-fetch)
13739 (uri (git-reference
13740 (url "https://github.com/eudoxia0/trivial-download/")
13741 (commit commit)))
13742 (file-name (git-file-name name version))
13743 (sha256
13744 (base32 "06f46zr3gp3wlm2kgxna24qd2gpr1v89x9fynh1x5vrw6c6hqjcv"))))
13745 (build-system asdf-build-system/sbcl)
13746 (inputs
13747 `(("drakma" ,sbcl-drakma)))
13748 (home-page "https://github.com/eudoxia0/trivial-download/")
13749 (synopsis "Download files from Common Lisp")
13750 (description
13751 "@code{trivial-download} allows you to download files from the Internet
13752 from Common Lisp. It provides a progress bar.")
13753 (license license:bsd-2))))
13754
13755 (define-public cl-trivial-download
13756 (sbcl-package->cl-source-package sbcl-trivial-download))
13757
13758 (define-public ecl-trivial-download
13759 (sbcl-package->ecl-package sbcl-trivial-download))
13760
13761 (define-public sbcl-gtwiwtg
13762 (package
13763 (name "sbcl-gtwiwtg")
13764 (version "0.1.1")
13765 (source
13766 (origin
13767 (method git-fetch)
13768 (uri (git-reference
13769 (url "https://github.com/cbeo/gtwiwtg/")
13770 (commit version)))
13771 (file-name (git-file-name name version))
13772 (sha256
13773 (base32 "0lkraw0dwh4is4x5sp5rjrw6f93m0gr9849abrbi12s25ws7jbw4"))))
13774 (build-system asdf-build-system/sbcl)
13775 (native-inputs
13776 `(("osicat" ,sbcl-osicat)
13777 ("prove" ,sbcl-prove)))
13778 (home-page "https://github.com/cbeo/gtwiwtg/")
13779 (synopsis "Naive generators for Common Lisp")
13780 (description
13781 "The GTWIWTG library (Generators The Way I Want Them Generated --
13782 technically not generators, but iterators) is meant to be small, explorable,
13783 and understandable.")
13784 (license license:gpl3)))
13785
13786 (define-public cl-gtwiwtg
13787 (sbcl-package->cl-source-package sbcl-gtwiwtg))
13788
13789 (define-public ecl-gtwiwtg
13790 (sbcl-package->ecl-package sbcl-gtwiwtg))
13791
13792 (define-public sbcl-cl-progress-bar
13793 (let ((commit "9374170858663c8fe829e9fb5a29bd2cb48d95ae"))
13794 (package
13795 (name "sbcl-cl-progress-bar")
13796 (version (git-version "0.0.0" "1" commit))
13797 (source
13798 (origin
13799 (method git-fetch)
13800 (uri (git-reference
13801 (url "https://github.com/sirherrbatka/cl-progress-bar/")
13802 (commit commit)))
13803 (file-name (git-file-name name version))
13804 (sha256
13805 (base32 "1ldb4qhmx431n3lsq71ynwb9ybazbfqd55icjbhi06mj52ngndir"))))
13806 (build-system asdf-build-system/sbcl)
13807 (inputs
13808 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13809 ("documentation-utils-extensions" ,sbcl-documentation-utils-extensions)))
13810 (home-page "https://github.com/sirherrbatka/cl-progress-bar/")
13811 (synopsis "Progress bars in Common Lisp")
13812 (description
13813 "This library provides almost the same code as used inside Quicklisp
13814 for drawning progress bars")
13815 (license license:expat))))
13816
13817 (define-public cl-progress-bar
13818 (sbcl-package->cl-source-package sbcl-cl-progress-bar))
13819
13820 (define-public ecl-cl-progress-bar
13821 (sbcl-package->ecl-package sbcl-cl-progress-bar))
13822
13823 (define-public sbcl-repl-utilities
13824 (let ((commit "7e300df663177ea4581f4e7e9c601377881dd986"))
13825 (package
13826 (name "sbcl-repl-utilities")
13827 (version (git-version "0.0.0" "1" commit))
13828 (source
13829 (origin
13830 (method git-fetch)
13831 (uri (git-reference
13832 (url "https://github.com/m-n/repl-utilities/")
13833 (commit commit)))
13834 (file-name (git-file-name name version))
13835 (sha256
13836 (base32 "1hh56pq5nw3l4b83dzlyss69f06r038byj2cnjwvci4hfjhdfcc3"))))
13837 (build-system asdf-build-system/sbcl)
13838 (home-page "https://github.com/m-n/repl-utilities")
13839 (synopsis "Ease common tasks at the Common Lisp REPL")
13840 (description
13841 "@code{repl-utilities} is a set of utilities which ease life at the
13842 REPL. It includes three sorts of features: introspective procedures,
13843 miscellaneous utility functions, and, pulling them together, methods to
13844 conveniently keep these symbols and optionally additional symbols available in
13845 whichever package you switch to.")
13846 (license license:bsd-2))))
13847
13848 (define-public cl-repl-utilities
13849 (sbcl-package->cl-source-package sbcl-repl-utilities))
13850
13851 (define-public ecl-repl-utilities
13852 (sbcl-package->ecl-package sbcl-repl-utilities))
13853
13854 (define-public sbcl-supertrace
13855 (let ((commit "66d22c3ff131ecd1c8048dfced1d62ed6024ecb0"))
13856 (package
13857 (name "sbcl-supertrace")
13858 (version (git-version "0.1.0" "1" commit))
13859 (source
13860 (origin
13861 (method git-fetch)
13862 (uri (git-reference
13863 (url "https://github.com/fukamachi/supertrace")
13864 (commit commit)))
13865 (file-name (git-file-name name version))
13866 (sha256
13867 (base32 "0n369n6b7y1m49biccnnr7svymjdsk8sksrkqrn3mj21vgv7s7bg"))))
13868 (build-system asdf-build-system/sbcl)
13869 (native-inputs
13870 `(("cffi-grovel" ,sbcl-cffi)
13871 ("rove" ,sbcl-rove)
13872 ("cl-ppcre" ,sbcl-cl-ppcre)
13873 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
13874 (inputs
13875 `(("cffi" ,sbcl-cffi)))
13876 (home-page "https://github.com/fukamachi/supertrace")
13877 (synopsis "Improved Common Lisp tracing for debugging and profiling")
13878 (description
13879 "Supertrace provides a superior Common Lisp @code{trace} functionality
13880 for debugging and profiling real world applications.")
13881 (license license:bsd-2))))
13882
13883 (define-public cl-supertrace
13884 (sbcl-package->cl-source-package sbcl-supertrace))
13885
13886 (define-public ecl-supertrace
13887 (sbcl-package->ecl-package sbcl-supertrace))
13888
13889 (define-public sbcl-trivial-benchmark
13890 (let ((commit "42d76733dd2e873471c6f1e27d39113293f7dd5c"))
13891 (package
13892 (name "sbcl-trivial-benchmark")
13893 (version (git-version "2.0.0" "1" commit))
13894 (source
13895 (origin
13896 (method git-fetch)
13897 (uri (git-reference
13898 (url "https://github.com/Shinmera/trivial-benchmark/")
13899 (commit commit)))
13900 (file-name (git-file-name name version))
13901 (sha256
13902 (base32 "0fbzqbpm2ixz85555krl36kbbbjyn699vdj6k383khi3g9y629fa"))))
13903 (build-system asdf-build-system/sbcl)
13904 (inputs
13905 `(("alexandria" ,sbcl-alexandria)))
13906 (home-page "http://shinmera.github.io/trivial-benchmark/")
13907 (synopsis "Easy to use benchmarking system for Common Lisp")
13908 (description
13909 "Trivial-Benchmark runs a block of code many times and outputs some
13910 statistical data for it. On SBCL this includes the data from @code{time}, for
13911 all other implementations just the @code{real-time} and @code{run-time} data.
13912 However, you can extend the system by adding your own @code{metrics} to it, or
13913 even by adding additional statistical @code{compute}ations. ")
13914 (license license:zlib))))
13915
13916 (define-public cl-trivial-benchmark
13917 (sbcl-package->cl-source-package sbcl-trivial-benchmark))
13918
13919 (define-public ecl-trivial-benchmark
13920 (sbcl-package->ecl-package sbcl-trivial-benchmark))
13921
13922 (define-public sbcl-glyphs
13923 (let ((commit "1ff5714e8c1dca327bc604dfe3e3d1f4b7755373"))
13924 (package
13925 (name "sbcl-glyphs")
13926 (version (git-version "0.0.0" "1" commit))
13927 (source
13928 (origin
13929 (method git-fetch)
13930 (uri (git-reference
13931 (url "https://github.com/ahungry/glyphs/")
13932 (commit commit)))
13933 (file-name (git-file-name name version))
13934 (sha256
13935 (base32 "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf"))))
13936 (build-system asdf-build-system/sbcl)
13937 (inputs
13938 `(("cl-ppcre" ,sbcl-cl-ppcre)
13939 ("parenscript" ,sbcl-parenscript)
13940 ("named-readtables" ,sbcl-named-readtables)))
13941 (home-page "https://github.com/ahungry/glyphs/")
13942 (synopsis "Reduce Common Lisp verbosity")
13943 (description
13944 "This library is a little experiment in reducing verbosity in Common
13945 Lisp, inspired by BODOL (@url{https://github.com/bodil/BODOL}).")
13946 (license license:gpl3))))
13947
13948 (define-public cl-glyphs
13949 (sbcl-package->cl-source-package sbcl-glyphs))
13950
13951 (define-public ecl-glyphs
13952 (sbcl-package->ecl-package sbcl-glyphs))
13953
13954 (define-public sbcl-zs3
13955 (package
13956 (name "sbcl-zs3")
13957 (version "1.3.3")
13958 (source
13959 (origin
13960 (method git-fetch)
13961 (uri
13962 (git-reference
13963 (url "https://github.com/xach/zs3")
13964 (commit (string-append "release-" version))))
13965 (file-name (git-file-name "zs3" version))
13966 (sha256
13967 (base32 "186v95wgsj2hkxdw2jl9x1w4fddjclp7arp0rrd9vf5ly8h8sbf3"))))
13968 (build-system asdf-build-system/sbcl)
13969 (inputs
13970 `(("drakma" ,sbcl-drakma)
13971 ("alexandria" ,sbcl-alexandria)
13972 ("cxml" ,sbcl-cxml)
13973 ("ironclad" ,sbcl-ironclad)
13974 ("puri" ,sbcl-puri)
13975 ("cl-base64" ,sbcl-cl-base64)))
13976 (synopsis "Work with Amazon S3 and Amazon CloudFront from Common Lisp")
13977 (description "This is ZS3, a library for working with Amazon's Simple Storage
13978 Service (S3) and CloudFront service from Common Lisp.")
13979 (home-page "https://github.com/xach/zs3")
13980 (license license:bsd-2)))
13981
13982 (define-public cl-zs3
13983 (sbcl-package->cl-source-package sbcl-zs3))
13984
13985 (define-public ecl-zs3
13986 (sbcl-package->ecl-package sbcl-zs3))
13987
13988 (define-public sbcl-simple-neural-network
13989 (package
13990 (name "sbcl-simple-neural-network")
13991 (version "3.1")
13992 (source
13993 (origin
13994 (method git-fetch)
13995 (uri (git-reference
13996 (url "https://github.com/glv2/simple-neural-network")
13997 (commit (string-append "v" version))))
13998 (file-name (git-file-name "simple-neural-network" version))
13999 (sha256
14000 (base32 "1jj1c90fr5clwka0jv32hv6xp1bkdlpa6x5jh19an13rhx8ll4zr"))))
14001 (build-system asdf-build-system/sbcl)
14002 (native-inputs
14003 `(("chipz" ,sbcl-chipz)
14004 ("fiveam" ,sbcl-fiveam)))
14005 (inputs
14006 `(("cl-store" ,sbcl-cl-store)
14007 ("lparallel" ,sbcl-lparallel)))
14008 (arguments
14009 `(#:phases
14010 (modify-phases %standard-phases
14011 (add-after 'check 'remove-test-data
14012 (lambda* (#:key outputs #:allow-other-keys)
14013 (let ((out (assoc-ref outputs "out")))
14014 (for-each delete-file (find-files out "\\.gz$"))))))))
14015 (synopsis "Simple neural network in Common Lisp")
14016 (description
14017 "@code{simple-neural-network} is a Common Lisp library for creating,
14018 training and using basic neural networks. The networks created by this
14019 library are feedforward neural networks trained using backpropagation.")
14020 (home-page "https://github.com/glv2/simple-neural-network")
14021 (license license:gpl3+)))
14022
14023 (define-public cl-simple-neural-network
14024 (sbcl-package->cl-source-package sbcl-simple-neural-network))
14025
14026 (define-public ecl-simple-neural-network
14027 (sbcl-package->ecl-package sbcl-simple-neural-network))
14028
14029 (define-public sbcl-zstd
14030 (let ((commit "d144582c581aaa52bac24d6686af27fa3e781e06")
14031 (revision "1"))
14032 (package
14033 (name "sbcl-zstd")
14034 (version (git-version "1.0" revision commit))
14035 (source
14036 (origin
14037 (method git-fetch)
14038 (uri (git-reference
14039 (url "https://github.com/glv2/cl-zstd")
14040 (commit commit)))
14041 (file-name (git-file-name "cl-zstd" version))
14042 (sha256
14043 (base32 "1774jy8hzbi6nih3sq6vchk66f7g8w86dwgpbvljyfzcnkcaz6ql"))))
14044 (build-system asdf-build-system/sbcl)
14045 (native-inputs
14046 `(("fiveam" ,sbcl-fiveam)))
14047 (inputs
14048 `(("cffi" ,sbcl-cffi)
14049 ("cl-octet-streams" ,sbcl-cl-octet-streams)
14050 ("zstd-lib" ,zstd "lib")))
14051 (arguments
14052 '(#:phases
14053 (modify-phases %standard-phases
14054 (add-after 'unpack 'fix-paths
14055 (lambda* (#:key inputs #:allow-other-keys)
14056 (substitute* "src/libzstd.lisp"
14057 (("libzstd\\.so")
14058 (string-append (assoc-ref inputs "zstd-lib")
14059 "/lib/libzstd.so")))
14060 #t)))))
14061 (synopsis "Common Lisp library for Zstandard (de)compression")
14062 (description
14063 "This Common Lisp library provides functions for Zstandard
14064 compression/decompression using bindings to the libzstd C library.")
14065 (home-page "https://github.com/glv2/cl-zstd")
14066 (license license:gpl3+))))
14067
14068 (define-public cl-zstd
14069 (sbcl-package->cl-source-package sbcl-zstd))
14070
14071 (define-public ecl-zstd
14072 (sbcl-package->ecl-package sbcl-zstd))
14073
14074 (define-public sbcl-agnostic-lizard
14075 (let ((commit "fe3a73719f05901c8819f8995a3ebae738257952")
14076 (revision "1"))
14077 (package
14078 (name "sbcl-agnostic-lizard")
14079 (version (git-version "0.0.0" revision commit))
14080 (source
14081 (origin
14082 (method git-fetch)
14083 (uri (git-reference
14084 (url "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
14085 (commit commit)))
14086 (file-name (git-file-name name version))
14087 (sha256
14088 (base32 "0ax78y8w4zlp5dcwyhz2nq7j3shi49qn31dkfg8lv2jlg7mkwh2d"))))
14089 (build-system asdf-build-system/sbcl)
14090 (synopsis "Almost correct portable code walker for Common Lisp")
14091 (description
14092 "Agnostic Lizard is a portable implementation of a code walker and in
14093 particular of the macroexpand-all function (and macro) that makes a best
14094 effort to be correct while not expecting much beyond what the Common Lisp
14095 standard requires.
14096
14097 It aims to be implementation-agnostic and to climb the syntax trees.")
14098 (home-page "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
14099 (license license:gpl3+))))
14100
14101 (define-public cl-agnostic-lizard
14102 (sbcl-package->cl-source-package sbcl-agnostic-lizard))
14103
14104 (define-public ecl-agnostic-lizard
14105 (sbcl-package->ecl-package sbcl-agnostic-lizard))
14106
14107 (define-public sbcl-dynamic-classes
14108 (package
14109 (name "sbcl-dynamic-classes")
14110 (version "1.0.2")
14111 (source
14112 (origin
14113 (method git-fetch)
14114 (uri (git-reference
14115 (url "https://github.com/gwkkwg/dynamic-classes")
14116 (commit (string-append "version-" version))))
14117 (file-name (git-file-name "dynamic-classes" version))
14118 (sha256
14119 (base32 "1z3ag6w4ff0v6715xa9zhvwjqnp4i6zrjfmxdz8m115sklbwgm6c"))))
14120 (build-system asdf-build-system/sbcl)
14121 (inputs
14122 `(("metatilities-base" ,sbcl-metatilities-base)))
14123 (arguments
14124 ;; NOTE: (Sharlatan-20210106222900+0000) Circular dependencies and failing
14125 ;; test suites. lift-standard.config contains referances to deprecated
14126 ;; functionality.
14127 `(#:tests? #f))
14128 (home-page "https://common-lisp.net/project/dynamic-classes/")
14129 (synopsis "Dynamic class definition for Common Lisp")
14130 (description "Dynamic-Classes helps to ease the prototyping process by
14131 bringing dynamism to class definition.")
14132 (license license:expat)))
14133
14134 (define-public ecl-dynamic-classes
14135 (sbcl-package->ecl-package sbcl-dynamic-classes))
14136
14137 (define-public cl-dynamic-classes
14138 (sbcl-package->cl-source-package sbcl-dynamic-classes))
14139
14140 (define-public sbcl-cl-markdown
14141 ;; NOTE: (Sharlatan-20210106214629+0000) latest version tag
14142 ;; "version-0.10.6_version-0.10.6" is failing to build due to missing system
14143 ;; #:container-dynamic-classes
14144 (package
14145 (name "sbcl-cl-markdown")
14146 (version "0.10.4")
14147 (source
14148 (origin
14149 (method git-fetch)
14150 (uri (git-reference
14151 (url "https://github.com/gwkkwg/cl-markdown")
14152 (commit (string-append "version-" version))))
14153 (file-name (git-file-name "cl-markdown" version))
14154 (sha256
14155 (base32 "1wdjbdd1zyskxf7zlilcp6fmwkivybj0wjp64vvzb265d5xi7p8p"))))
14156 (build-system asdf-build-system/sbcl)
14157 (inputs
14158 `(("anaphora" ,sbcl-anaphora)
14159 ("cl-containers" ,sbcl-cl-containers)
14160 ("cl-ppcre" ,sbcl-cl-ppcre)
14161 ("dynamic-classes" ,sbcl-dynamic-classes)
14162 ("metabang-bind" ,sbcl-metabang-bind)
14163 ("metatilities-base" ,sbcl-metatilities-base)))
14164 (arguments
14165 ;; NOTE: (Sharlatan-20210107213629+0000) Tests depend on too many not
14166 ;; available systems, which themself are abandoned.
14167 `(#:tests? #f))
14168 (home-page "https://common-lisp.net/project/cl-markdown/")
14169 (synopsis "Common Lisp rewrite of Markdown")
14170 (description
14171 "This is an implementation of a Markdown parser in Common Lisp.")
14172 (license license:expat)))
14173
14174 (define-public ecl-cl-markdown
14175 (sbcl-package->ecl-package sbcl-cl-markdown))
14176
14177 (define-public cl-markdown
14178 (sbcl-package->cl-source-package sbcl-cl-markdown))
14179
14180 (define-public sbcl-magicffi
14181 (let ((commit "d88f2f280c31f639e4e05be75215d8a8dce6aef2"))
14182 (package
14183 (name "sbcl-magicffi")
14184 (version (git-version "0.0.0" "1" commit))
14185 (source
14186 (origin
14187 (method git-fetch)
14188 (uri (git-reference
14189 (url "https://github.com/dochang/magicffi/")
14190 (commit commit)))
14191 (file-name (git-file-name name version))
14192 (sha256
14193 (base32 "0p6ysa92fk34bhxpw7bycbfgw150fv11z9x8jr9xb4lh8cm2hvp6"))))
14194 (build-system asdf-build-system/sbcl)
14195 (native-inputs
14196 `(("alexandria" ,sbcl-alexandria)))
14197 (inputs
14198 `(("cffi" ,sbcl-cffi)
14199 ("ppcre" ,sbcl-cl-ppcre)
14200 ("libmagic" ,file)))
14201 (arguments
14202 `(#:phases
14203 (modify-phases %standard-phases
14204 (add-after 'unpack 'fix-paths
14205 (lambda* (#:key inputs #:allow-other-keys)
14206 (let ((magic (assoc-ref inputs "libmagic")))
14207 (substitute* "grovel.lisp"
14208 (("/usr/include/magic.h")
14209 (string-append magic "/include/magic.h")))
14210 (substitute* "api.lisp"
14211 ((":default \"libmagic\"" all)
14212 (string-append ":default \"" magic "/lib/libmagic\"")))))))))
14213 (home-page "https://common-lisp.net/project/magicffi/")
14214 (synopsis "Common Lisp interface to libmagic based on CFFI")
14215 (description
14216 "MAGICFFI is a Common Lisp CFFI interface to libmagic(3), the file type
14217 determination library using @emph{magic} numbers.")
14218 (license license:bsd-2))))
14219
14220 (define-public ecl-magicffi
14221 (sbcl-package->ecl-package sbcl-magicffi))
14222
14223 (define-public cl-magicffi
14224 (sbcl-package->cl-source-package sbcl-magicffi))
14225
14226 (define-public sbcl-shlex
14227 (let ((commit "c5616dffca0d4d8ddbc1cd6f37a96d88477b2740"))
14228 (package
14229 (name "sbcl-shlex")
14230 (version (git-version "0.0.0" "1" commit))
14231 (source
14232 (origin
14233 (method git-fetch)
14234 (uri (git-reference
14235 (url "https://github.com/ruricolist/cl-shlex")
14236 (commit commit)))
14237 (file-name (git-file-name name version))
14238 (sha256
14239 (base32 "1nas024n4wv319bf40aal96g72bgi9nkapj2chywj2cc6r8hzkfg"))))
14240 (build-system asdf-build-system/sbcl)
14241 (inputs
14242 `(("alexandria" ,sbcl-alexandria)
14243 ("serapeum" ,sbcl-serapeum)
14244 ("ppcre" ,sbcl-cl-ppcre)
14245 ("unicode" ,sbcl-cl-unicode)))
14246 (home-page "https://github.com/ruricolist/cl-shlex")
14247 (synopsis "Common Lisp lexical analyzer for shell-like syntaxes")
14248 (description
14249 "This library contains a lexer for syntaxes that use shell-like rules
14250 for quoting and commenting. It is a port of the @code{shlex} module from Python’s
14251 standard library.")
14252 (license license:expat))))
14253
14254 (define-public ecl-shlex
14255 (sbcl-package->ecl-package sbcl-shlex))
14256
14257 (define-public cl-shlex
14258 (sbcl-package->cl-source-package sbcl-shlex))
14259
14260 (define-public sbcl-cmd
14261 (let ((commit "bc5a3bee8f22917126e4c3d05b33f766e562dbd8"))
14262 (package
14263 (name "sbcl-cmd")
14264 (version (git-version "0.0.1" "3" commit))
14265 (source
14266 (origin
14267 (method git-fetch)
14268 (uri (git-reference
14269 (url "https://github.com/ruricolist/cmd/")
14270 (commit commit)))
14271 (file-name (git-file-name name version))
14272 (sha256
14273 (base32 "1sjlabrknw1kjb2y89vssjhcqh3slgly8wnr3152zgis8lsj2yc7"))))
14274 (build-system asdf-build-system/sbcl)
14275 (inputs
14276 `(("alexandria" ,sbcl-alexandria)
14277 ("coreutils" ,coreutils)
14278 ("procps" ,procps)
14279 ("serapeum" ,sbcl-serapeum)
14280 ("shlex" ,sbcl-shlex)
14281 ("trivia" ,sbcl-trivia)))
14282 (arguments
14283 `(#:phases
14284 (modify-phases %standard-phases
14285 (add-after 'unpack 'fix-paths
14286 (lambda* (#:key inputs #:allow-other-keys)
14287 (let ((bin (string-append (assoc-ref inputs "coreutils") "/bin"))
14288 (ps-bin (string-append (assoc-ref inputs "procps") "/bin")))
14289 (substitute* "cmd.lisp"
14290 (("\\(def \\+env\\+ \"env\"\\)")
14291 (format #f "(def +env+ \"~a/env\")" bin))
14292 (("\\(def \\+kill\\+ \"kill\"\\)")
14293 (format #f "(def +kill+ \"~a/kill\")" bin))
14294 (("\\(def \\+ps\\+ \"ps\"\\)")
14295 (format #f "(def +ps+ \"~a/ps\")" ps-bin))
14296 (("\\(def \\+pwd\\+ \"pwd\"\\)")
14297 (format #f "(def +pwd+ \"~a/pwd\")" bin))
14298 (("\\(def \\+sh\\+ \"/bin/sh\"\\)")
14299 (format #f "(def +sh+ \"~a\")" (which "sh")))
14300 (("\\(def \\+tr\\+ \"tr\"\\)")
14301 (format #f "(def +tr+ \"~a/tr\")" bin)))))))))
14302 (home-page "https://github.com/ruricolist/cmd")
14303 (synopsis "Conveniently run external programs from Common Lisp")
14304 (description
14305 "A utility for running external programs, built on UIOP.
14306 Cmd is designed to be natural to use, protect against shell interpolation and
14307 be usable from multi-threaded programs.")
14308 (license license:expat))))
14309
14310 (define-public ecl-cmd
14311 (sbcl-package->ecl-package sbcl-cmd))
14312
14313 (define-public cl-cmd
14314 (sbcl-package->cl-source-package sbcl-cmd))
14315
14316 (define-public sbcl-ppath
14317 (let ((commit "eb1a8173b4d1d691ea9a7699412123462f58c3ce"))
14318 (package
14319 (name "sbcl-ppath")
14320 (version (git-version "0.1" "1" commit))
14321 (source
14322 (origin
14323 (method git-fetch)
14324 (uri (git-reference
14325 (url "https://github.com/fourier/ppath/")
14326 (commit commit)))
14327 (file-name (git-file-name name commit))
14328 (sha256
14329 (base32 "1c46q9lmzqv14z80d3fwdawgn3pn4922x31fyqvsvbcjm4hd16fb"))))
14330 (build-system asdf-build-system/sbcl)
14331 (inputs
14332 `(("alexandria" ,sbcl-alexandria)
14333 ("cffi" ,sbcl-cffi)
14334 ("osicat" ,sbcl-osicat)
14335 ("ppcre" ,sbcl-cl-ppcre)
14336 ("split-sequence" ,sbcl-split-sequence)
14337 ("trivial-features" ,sbcl-trivial-features)))
14338 (native-inputs
14339 `(("cl-fad" ,sbcl-cl-fad)
14340 ("prove" ,sbcl-prove)))
14341 (home-page "https://github.com/fourier/ppath")
14342 (synopsis "Common Lisp's implementation of the Python's os.path module")
14343 (description
14344 "This library is a path strings manipulation library inspired by
14345 Python's @code{os.path}. All functionality from @code{os.path} is supported on
14346 major operation systems.
14347
14348 The philosophy behind is to use simple strings and \"dumb\" string
14349 manipulation functions to handle paths and filenames. Where possible the
14350 corresponding OS system functions are called.")
14351 (license license:bsd-2))))
14352
14353 (define-public ecl-ppath
14354 (sbcl-package->ecl-package sbcl-ppath))
14355
14356 (define-public cl-ppath
14357 (sbcl-package->cl-source-package sbcl-ppath))
14358
14359 (define-public sbcl-trivial-escapes
14360 (let ((commit "1eca78da2078495d09893be58c28b3aa7b8cc4d1"))
14361 (package
14362 (name "sbcl-trivial-escapes")
14363 (version (git-version "1.2.0" "1" commit))
14364 (source
14365 (origin
14366 (method git-fetch)
14367 (uri (git-reference
14368 (url "https://github.com/williamyaoh/trivial-escapes")
14369 (commit commit)))
14370 (file-name (git-file-name name commit))
14371 (sha256
14372 (base32 "0v6h8lk17iqv1qkxgqjyzn8gi6v0hvq2vmfbb01md3zjvjqxn6lr"))))
14373 (build-system asdf-build-system/sbcl)
14374 (inputs
14375 `(("named-readtables" ,sbcl-named-readtables)))
14376 (native-inputs
14377 `(("fiveam" ,sbcl-fiveam)))
14378 (home-page "https://github.com/williamyaoh/trivial-escapes")
14379 (synopsis "C-style escape directives for Common Lisp")
14380 (description
14381 "This Common Lisp library interprets escape characters the same way that
14382 most other programming language do.
14383 It provides four readtables. The default one lets you write strings like this:
14384 @code{#\"This string has\na newline in it!\"}.")
14385 (license license:public-domain))))
14386
14387 (define-public ecl-trivial-escapes
14388 (sbcl-package->ecl-package sbcl-trivial-escapes))
14389
14390 (define-public cl-trivial-escapes
14391 (sbcl-package->cl-source-package sbcl-trivial-escapes))
14392
14393 (define-public sbcl-cl-indentify
14394 (let ((commit "eb770f434defa4cd41d84bca822428dfd0dbac53"))
14395 (package
14396 (name "sbcl-cl-indentify")
14397 (version (git-version "0.1" "1" commit))
14398 (source
14399 (origin
14400 (method git-fetch)
14401 (uri (git-reference
14402 (url "https://github.com/yitzchak/cl-indentify")
14403 (commit commit)))
14404 (file-name (git-file-name name commit))
14405 (sha256
14406 (base32 "0ha36bhg474vr76vfhr13szc8cfdj1ickg92k1icz791bqaqg67p"))))
14407 (build-system asdf-build-system/sbcl)
14408 (inputs
14409 `(("alexandria" ,sbcl-alexandria)
14410 ("command-line-arguments" ,sbcl-command-line-arguments)
14411 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
14412 (native-inputs
14413 `(("trivial-escapes" ,sbcl-trivial-escapes)
14414 ("rove" ,sbcl-rove)))
14415 (home-page "https://github.com/yitzchak/cl-indentify")
14416 (synopsis "Code beautifier for Common Lisp")
14417 (description
14418 "A library and command line utility to automatically indent Common Lisp
14419 source files.")
14420 (license license:expat))))
14421
14422 (define-public ecl-cl-indentify
14423 (sbcl-package->ecl-package sbcl-cl-indentify))
14424
14425 (define-public cl-indentify
14426 (sbcl-package->cl-source-package sbcl-cl-indentify))
14427
14428 (define-public sbcl-concrete-syntax-tree
14429 (let ((commit "abd242a59dadc5452aa9dbc1d313c83ec2c11f46"))
14430 (package
14431 (name "sbcl-concrete-syntax-tree")
14432 (version (git-version "0.0.0" "1" commit))
14433 (source
14434 (origin
14435 (method git-fetch)
14436 (uri (git-reference
14437 (url "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14438 (commit commit)))
14439 (file-name (git-file-name name commit))
14440 (sha256
14441 (base32 "1lyrglc3h1if44gxd9cwv90wa90nrdjvb7fry39b1xn8ywdfa7di"))))
14442 (build-system asdf-build-system/sbcl)
14443 (inputs
14444 `(("acclimation" ,sbcl-acclimation)))
14445 (home-page "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14446 (synopsis "Parse Common Lisp code into a concrete syntax tree")
14447 (description
14448 "This library is intended to solve the problem of source tracking for
14449 Common Lisp code.
14450
14451 By \"source tracking\", it is meant that code elements that have a known
14452 origin in the form of a position in a file or in an editor buffer are
14453 associated with some kind of information about this origin.
14454
14455 Since the exact nature of such origin information depends on the Common Lisp
14456 implementation and the purpose of wanting to track that origin, the library
14457 does not impose a particular structure of this information. Instead, it
14458 provides utilities for manipulating source code in the form of what is called
14459 concrete syntax trees (CSTs for short) that preserve this information about
14460 the origin.")
14461 (license license:bsd-2))))
14462
14463 (define-public ecl-concrete-syntax-tree
14464 (sbcl-package->ecl-package sbcl-concrete-syntax-tree))
14465
14466 (define-public cl-concrete-syntax-tree
14467 (sbcl-package->cl-source-package sbcl-concrete-syntax-tree))
14468
14469 (define-public sbcl-eclector
14470 (package
14471 (name "sbcl-eclector")
14472 (version "0.5.0")
14473 (source
14474 (origin
14475 (method git-fetch)
14476 (uri (git-reference
14477 (url "https://github.com/s-expressionists/Eclector")
14478 (commit version)))
14479 (file-name (git-file-name name version))
14480 (sha256
14481 (base32 "0bwkla0jdp5bg0q1zca5wg22b0nbdmglgax345nrhsf8bdrh47wm"))))
14482 (build-system asdf-build-system/sbcl)
14483 (inputs
14484 `(("acclimation" ,sbcl-acclimation)
14485 ("alexandria" ,sbcl-alexandria)
14486 ("closer-mop" ,sbcl-closer-mop)
14487 ("concrete-syntax-tree" ,sbcl-concrete-syntax-tree)))
14488 (native-inputs
14489 `(("fiveam" ,sbcl-fiveam)))
14490 (arguments
14491 '(#:asd-systems '("eclector"
14492 "eclector-concrete-syntax-tree")))
14493 (home-page "https://s-expressionists.github.io/Eclector/")
14494 (synopsis "Highly customizable, portable Common Lisp reader")
14495 (description
14496 "Eclector is a portable Common Lisp reader that is highly customizable,
14497 can recover from errors and can return concrete syntax trees.
14498
14499 In contrast to many other reader implementations, eclector can recover from
14500 most errors in the input supplied to it and continue reading. This capability
14501 is realized as a restart.
14502
14503 It can also produce instances of the concrete syntax tree classes provided by
14504 the concrete syntax tree library.")
14505 (license license:bsd-2)))
14506
14507 (define-public ecl-eclector
14508 (sbcl-package->ecl-package sbcl-eclector))
14509
14510 (define-public cl-eclector
14511 (sbcl-package->cl-source-package sbcl-eclector))
14512
14513 (define-public sbcl-jsown
14514 (let ((commit "744c4407bef58dfa876d9da0b5c0205d869e7977"))
14515 (package
14516 (name "sbcl-jsown")
14517 (version (git-version "1.0.1" "1" commit))
14518 (source
14519 (origin
14520 (method git-fetch)
14521 (uri (git-reference
14522 (url "https://github.com/madnificent/jsown")
14523 (commit commit)))
14524 (file-name (git-file-name name commit))
14525 (sha256
14526 (base32 "0gadvmf1d9bq35s61z76psrsnzwwk12svi66jigf491hv48wigw7"))))
14527 (build-system asdf-build-system/sbcl)
14528 (home-page "https://github.com/madnificent/jsown")
14529 (synopsis "Fast JSON reader / writer library for Common Lisp")
14530 (description
14531 "@code{jsown} is a high performance Common Lisp JSON parser. Its aim
14532 is to allow for the fast parsing of JSON objects in Common Lisp. Recently,
14533 functions and macros have been added to ease the burden of writing and editing
14534 @code{jsown} objects.
14535
14536 @code{jsown} allows you to parse JSON objects quickly to a modifiable Lisp
14537 list and write them back. If you only need partial retrieval of objects,
14538 @code{jsown} allows you to select the keys which you would like to see parsed.
14539 @code{jsown} also has a JSON writer and some helper methods to alter the JSON
14540 objects themselves.")
14541 (license license:expat))))
14542
14543 (define-public ecl-jsown
14544 (sbcl-package->ecl-package sbcl-jsown))
14545
14546 (define-public cl-jsown
14547 (sbcl-package->cl-source-package sbcl-jsown))
14548
14549 (define-public sbcl-system-locale
14550 (let ((commit "4b334bc2fa45651bcaa28ae7d9331095d6bf0a17"))
14551 (package
14552 (name "sbcl-system-locale")
14553 (version (git-version "1.0.0" "1" commit))
14554 (source
14555 (origin
14556 (method git-fetch)
14557 (uri (git-reference
14558 (url "https://github.com/Shinmera/system-locale/")
14559 (commit commit)))
14560 (file-name (git-file-name name commit))
14561 (sha256
14562 (base32 "00p5c053kmgq4ks6l9mxsqz6g3bjcybvkvj0bh3r90qgpkaawm1p"))))
14563 (build-system asdf-build-system/sbcl)
14564 (inputs
14565 `(("documentation-utils" ,sbcl-documentation-utils)))
14566 (home-page "https://shinmera.github.io/system-locale/")
14567 (synopsis "Get the system's locale and language settings in Common Lisp")
14568 (description
14569 "This library retrieves locale information configured on the
14570 system. This is helpful if you want to write applications and libraries that
14571 display messages in the user's native language.")
14572 (license license:zlib))))
14573
14574 (define-public ecl-system-locale
14575 (sbcl-package->ecl-package sbcl-system-locale))
14576
14577 (define-public cl-system-locale
14578 (sbcl-package->cl-source-package sbcl-system-locale))
14579
14580 (define-public sbcl-language-codes
14581 (let ((commit "e7aa0e37cb97a3d37d6bc7316b479d01bff8f42e"))
14582 (package
14583 (name "sbcl-language-codes")
14584 (version (git-version "1.0.0" "1" commit))
14585 (source
14586 (origin
14587 (method git-fetch)
14588 (uri (git-reference
14589 (url "https://github.com/Shinmera/language-codes")
14590 (commit commit)))
14591 (file-name (git-file-name name commit))
14592 (sha256
14593 (base32 "0py176ibmsc01n5r0q1bs1ykqf5jwdbh8kx0j1a814l9y51241v0"))))
14594 (build-system asdf-build-system/sbcl)
14595 (inputs
14596 `(("documentation-utils" ,sbcl-documentation-utils)))
14597 (home-page "https://shinmera.github.io/language-codes/")
14598 (synopsis "Map ISO language codes to language names in Common Lisp")
14599 (description
14600 "This is a small library providing the ISO-639 language code to
14601 language name mapping.")
14602 (license license:zlib))))
14603
14604 (define-public ecl-language-codes
14605 (sbcl-package->ecl-package sbcl-language-codes))
14606
14607 (define-public cl-language-codes
14608 (sbcl-package->cl-source-package sbcl-language-codes))
14609
14610 (define-public sbcl-multilang-documentation
14611 (let ((commit "59e798a07e949e8957a20927f52aca425d84e4a0"))
14612 (package
14613 (name "sbcl-multilang-documentation")
14614 (version (git-version "1.0.0" "1" commit))
14615 (source
14616 (origin
14617 (method git-fetch)
14618 (uri (git-reference
14619 (url "https://github.com/Shinmera/multilang-documentation")
14620 (commit commit)))
14621 (file-name (git-file-name name commit))
14622 (sha256
14623 (base32 "13y5jskx8n2b7kimpfarr8v777w3b7zj5swg1b99nj3hk0843ixw"))))
14624 (build-system asdf-build-system/sbcl)
14625 (inputs
14626 `(("documentation-utils" ,sbcl-documentation-utils)
14627 ("language-codes" ,sbcl-language-codes)
14628 ("system-locale" ,sbcl-system-locale)))
14629 (home-page "https://shinmera.github.io/multilang-documentation/")
14630 (synopsis "Add multiple languages support to Common Lisp documentation")
14631 (description
14632 "This library provides a drop-in replacement function for
14633 cl:documentation that supports multiple docstrings per-language, allowing you
14634 to write documentation that can be internationalised.")
14635 (license license:zlib))))
14636
14637 (define-public ecl-multilang-documentation
14638 (sbcl-package->ecl-package sbcl-multilang-documentation))
14639
14640 (define-public cl-multilang-documentation
14641 (sbcl-package->cl-source-package sbcl-multilang-documentation))
14642
14643 (define-public sbcl-trivial-do
14644 (let ((commit "03a1729f1e71bad3ebcf6cf098a0cce52dfa1163"))
14645 (package
14646 (name "sbcl-trivial-do")
14647 (version (git-version "0.1" "1" commit))
14648 (source
14649 (origin
14650 (method git-fetch)
14651 (uri (git-reference
14652 (url "https://github.com/yitzchak/trivial-do")
14653 (commit commit)))
14654 (file-name (git-file-name name commit))
14655 (sha256
14656 (base32 "1ffva79nkicc7wc8c2ic5nayis3b2rk5sxzj74yjkymkjgbpcrgd"))))
14657 (build-system asdf-build-system/sbcl)
14658 (home-page "https://github.com/yitzchak/trivial-do")
14659 (synopsis "Additional dolist style macros for Common Lisp")
14660 (description
14661 "Additional dolist style macros for Common Lisp, such as
14662 @code{doalist}, @code{dohash}, @code{dolist*}, @code{doplist}, @code{doseq}
14663 and @code{doseq*}.")
14664 (license license:zlib))))
14665
14666 (define-public ecl-trivial-do
14667 (sbcl-package->ecl-package sbcl-trivial-do))
14668
14669 (define-public cl-trivial-do
14670 (sbcl-package->cl-source-package sbcl-trivial-do))
14671
14672 (define-public sbcl-common-lisp-jupyter
14673 (let ((commit "011f60b69a3b8c70eefeafe7acb724cd00dd3e62"))
14674 (package
14675 (name "sbcl-common-lisp-jupyter")
14676 (version (git-version "0.1" "2" commit))
14677 (source
14678 (origin
14679 (method git-fetch)
14680 (uri (git-reference
14681 (url "https://github.com/yitzchak/common-lisp-jupyter")
14682 (commit commit)))
14683 (file-name (git-file-name name commit))
14684 (sha256
14685 (base32 "10jdghlcmp9p6ygrvw7g49i8f9jy71ybzn29n544fzb6g47siqhw"))))
14686 (build-system asdf-build-system/sbcl)
14687 (inputs
14688 `(("alexandria" ,sbcl-alexandria)
14689 ("babel" ,sbcl-babel)
14690 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14691 ("cl-base64" ,sbcl-cl-base64)
14692 ("cl-indentify" ,sbcl-cl-indentify)
14693 ("closer-mop" ,sbcl-closer-mop)
14694 ("eclector" ,sbcl-eclector)
14695 ("ironclad" ,sbcl-ironclad)
14696 ("iterate" ,sbcl-iterate)
14697 ("jsown" ,sbcl-jsown)
14698 ("multilang-documentation" ,sbcl-multilang-documentation)
14699 ("pzmq" ,sbcl-pzmq)
14700 ("puri" ,sbcl-puri)
14701 ("static-vectors" ,sbcl-static-vectors)
14702 ("trivial-do" ,sbcl-trivial-do)
14703 ("trivial-garbage" ,sbcl-trivial-garbage)
14704 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
14705 ("trivial-mimes" ,sbcl-trivial-mimes)))
14706 (home-page "https://yitzchak.github.io/common-lisp-jupyter/")
14707 (synopsis "Common Lisp kernel for Jupyter")
14708 (description
14709 "This is a Common Lisp kernel for Jupyter along with a library for
14710 building Jupyter kernels, based on Maxima-Jupyter which was based on
14711 @code{cl-jupyter}.")
14712 (license license:zlib))))
14713
14714 (define-public ecl-common-lisp-jupyter
14715 (sbcl-package->ecl-package sbcl-common-lisp-jupyter))
14716
14717 (define-public cl-common-lisp-jupyter
14718 (sbcl-package->cl-source-package sbcl-common-lisp-jupyter))
14719
14720 (define-public sbcl-radiance
14721 (let ((commit "5ffbe1f157edd17a13194495099efd81e052df85")
14722 (revision "1"))
14723 (package
14724 (name "sbcl-radiance")
14725 (version (git-version "2.1.2" revision commit))
14726 (source
14727 (origin
14728 (method git-fetch)
14729 (uri (git-reference
14730 (url "https://github.com/Shirakumo/radiance")
14731 (commit commit)))
14732 (file-name (git-file-name "radiance" version))
14733 (sha256
14734 (base32 "0hbkcnmnlj1cqzbv18zmla2iwbl65kxilz9764hndf8x8as1539c"))))
14735 (build-system asdf-build-system/sbcl)
14736 (arguments
14737 `(#:tests? #f ; TODO: The tests require some configuration.
14738 #:phases
14739 (modify-phases %standard-phases
14740 (add-after 'unpack 'disable-quicklisp
14741 (lambda _
14742 ;; Disable the automatic installation of systems by Quicklisp.
14743 ;; (Maybe there would be a way to package Quicklisp and make it
14744 ;; install things in the user's directory instead of
14745 ;; /gnu/store/...).
14746 (substitute* "interfaces.lisp"
14747 (("\\(unless \\(asdf:find-system configured-implementation NIL\\)"
14748 all)
14749 (string-append "#+quicklisp " all))))))))
14750 (native-inputs
14751 `(("alexandria" ,sbcl-alexandria)
14752 ("dexador" ,sbcl-dexador)
14753 ("parachute" ,sbcl-parachute)
14754 ("verbose" ,sbcl-verbose)))
14755 (inputs
14756 `(("babel" ,sbcl-babel)
14757 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14758 ("cl-ppcre" ,sbcl-cl-ppcre)
14759 ("closer-mop" ,sbcl-closer-mop)
14760 ("documentation-utils" ,sbcl-documentation-utils)
14761 ("deploy" ,sbcl-deploy)
14762 ("form-fiddle" ,sbcl-form-fiddle)
14763 ("lambda-fiddle" ,sbcl-lambda-fiddle)
14764 ("local-time" ,sbcl-local-time)
14765 ("modularize-hooks" ,sbcl-modularize-hooks)
14766 ("modularize-interfaces" ,sbcl-modularize-interfaces)
14767 ("puri" ,sbcl-puri)
14768 ("trivial-indent" ,sbcl-trivial-indent)
14769 ("trivial-mimes" ,sbcl-trivial-mimes)
14770 ("ubiquitous-concurrent" ,sbcl-ubiquitous)))
14771 (home-page "https://shirakumo.github.io/radiance/")
14772 (synopsis "Common Lisp web application environment")
14773 (description
14774 "Radiance is a web application environment, which is sort of like a web
14775 framework, but more general, more flexible. It should let you write personal
14776 websites and generally deployable applications easily and in such a way that
14777 they can be used on practically any setup without having to undergo special
14778 adaptations.")
14779 (license license:zlib))))
14780
14781 (define-public ecl-radiance
14782 (sbcl-package->ecl-package sbcl-radiance))
14783
14784 (define-public cl-radiance
14785 (sbcl-package->cl-source-package sbcl-radiance))
14786
14787 (define-public sbcl-daemon
14788 (let ((commit "d5652f4332c3cee21e9bf83b9237129605004597")
14789 (revision "1"))
14790 (package
14791 (name "sbcl-daemon")
14792 (version (git-version "0.0.4" revision commit))
14793 (source
14794 (origin
14795 (method git-fetch)
14796 (uri (git-reference
14797 (url "https://github.com/snmsts/daemon")
14798 (commit commit)))
14799 (file-name (git-file-name "daemon" version))
14800 (sha256
14801 (base32 "1kdxfnhh9fz34j8qs7pn7mwjz3v33q4v9nh0hqkyzraq5xs2j3f4"))))
14802 (build-system asdf-build-system/sbcl)
14803 (inputs
14804 `(("trivial-features" ,sbcl-trivial-features)))
14805 (home-page "https://github.com/snmsts/daemon")
14806 (synopsis "Daemonize Common Lisp processes")
14807 (description
14808 "DAEMON provides the functionality of daemonizing Common Lisp processes
14809 on UNIX like platforms.")
14810 (license license:expat))))
14811
14812 (define-public ecl-daemon
14813 (sbcl-package->ecl-package sbcl-daemon))
14814
14815 (define-public cl-daemon
14816 (sbcl-package->cl-source-package sbcl-daemon))
14817
14818 (define-public sbcl-file-attributes
14819 (let ((commit "bbde396438f37d676de9775239115410bec4da2d"))
14820 (package
14821 (name "sbcl-file-attributes")
14822 (version (git-version "1.0.0" "2" commit))
14823 (source
14824 (origin
14825 (method git-fetch)
14826 (uri (git-reference
14827 (url "https://github.com/Shinmera/file-attributes/")
14828 (commit commit)))
14829 (file-name (git-file-name name version))
14830 (sha256
14831 (base32 "0n8q818ry2shggjfhp8gjby8v5mla9pg97c5g19pcglpnwim7a74"))))
14832 (build-system asdf-build-system/sbcl)
14833 (inputs
14834 `(("cffi" ,sbcl-cffi)
14835 ("documentation-utils" ,sbcl-documentation-utils)
14836 ("trivial-features" ,sbcl-trivial-features)))
14837 (home-page "https://shinmera.github.io/file-attributes/")
14838 (synopsis "Access to common file attributes in Common Lisp")
14839 (description
14840 "This is a small OS portability library to retrieve and set file
14841 attributes not supported by the Common Lisp standard functions.")
14842 (license license:zlib))))
14843
14844 (define-public ecl-file-attributes
14845 (sbcl-package->ecl-package sbcl-file-attributes))
14846
14847 (define-public cl-file-attributes
14848 (sbcl-package->cl-source-package sbcl-file-attributes))
14849
14850 (define-public sbcl-cl-difflib
14851 (let ((commit "98eb335c693f1881584b83ca7be4a0fe05355c4e")
14852 (revision "0"))
14853 (package
14854 (name "sbcl-cl-difflib")
14855 (version (git-version "0.2" revision commit))
14856 (source
14857 (origin
14858 (method git-fetch)
14859 (uri (git-reference
14860 (url "https://github.com/wiseman/cl-difflib")
14861 (commit commit)))
14862 (file-name
14863 (git-file-name name version))
14864 (sha256
14865 (base32 "08if0abhqg191xcz9s7xv8faqq51nswzp8hw423fkqjzr24pmq48"))))
14866 (build-system asdf-build-system/sbcl)
14867 ;; Due to the age of this library tests use some deprecated
14868 ;; functionality and keep failing.
14869 (arguments
14870 '(#:tests? #f
14871 #:asd-files '("cl-difflib.asd")))
14872 (home-page "https://github.com/wiseman/cl-difflib")
14873 (synopsis "Compute differences between pairs of sequences")
14874 (description
14875 "A Common Lisp library for computing differences between
14876 sequences based on the Python difflib module.")
14877 (license license:expat))))
14878
14879 (define-public ecl-cl-difflib
14880 (sbcl-package->ecl-package sbcl-cl-difflib))
14881
14882 (define-public cl-difflib
14883 (sbcl-package->cl-source-package sbcl-cl-difflib))
14884
14885 (define-public sbcl-cl-html-diff
14886 (let ((commit "5a0b39d1c524278d6f60851d7786bb2585614310")
14887 (revision "0"))
14888 (package
14889 (name "sbcl-cl-html-diff")
14890 (version (git-version "0.1" revision commit))
14891 (source
14892 (origin
14893 (method git-fetch)
14894 (uri (git-reference
14895 (url "https://github.com/wiseman/cl-html-diff")
14896 (commit commit)))
14897 (file-name
14898 (git-file-name name version))
14899 (sha256
14900 (base32 "1varnijivzd4jpimn1cz8p5ks713zzha5cgl4vmb0xr8ahravwzb"))))
14901 (build-system asdf-build-system/sbcl)
14902 (inputs
14903 `(("cl-difflib" ,sbcl-cl-difflib)))
14904 (home-page "https://github.com/wiseman/cl-html-diff")
14905 (synopsis "Generate a human-readable diff of two HTML documents")
14906 (description
14907 "A Common Lisp library for generating a human-readable diff of two
14908 HTML documents.")
14909 (license license:expat))))
14910
14911 (define-public ecl-cl-html-diff
14912 (sbcl-package->ecl-package sbcl-cl-html-diff))
14913
14914 (define-public cl-html-diff
14915 (sbcl-package->cl-source-package sbcl-cl-html-diff))
14916
14917 (define-public sbcl-tooter
14918 (let ((commit "b8d4b245b1d946bc9da6f51a3d8c2dc43e4d3868")
14919 (revision "1"))
14920 (package
14921 (name "sbcl-tooter")
14922 (version (git-version "1.0.0" revision commit))
14923 (source
14924 (origin
14925 (method git-fetch)
14926 (uri (git-reference
14927 (url "https://github.com/Shinmera/tooter")
14928 (commit commit)))
14929 (file-name (git-file-name "tooter" version))
14930 (sha256
14931 (base32 "0g40dlis4dbw4p3zxz3scx27b9zm8zlzihywapf5zqrdqfx5hpq9"))))
14932 (build-system asdf-build-system/sbcl)
14933 (inputs
14934 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
14935 ("sbcl-documentation-utils" ,sbcl-documentation-utils)
14936 ("sbcl-drakma" ,sbcl-drakma)
14937 ("sbcl-yason" ,sbcl-yason)))
14938 (synopsis "Common Lisp client library for Mastodon instances")
14939 (description
14940 "This is a Common Lisp library implementing the full v1 REST API
14941 protocol for Mastodon.")
14942 (home-page "https://shinmera.github.io/tooter/")
14943 (license license:zlib))))
14944
14945 (define-public ecl-tooter
14946 (sbcl-package->ecl-package sbcl-tooter))
14947
14948 (define-public cl-tooter
14949 (sbcl-package->cl-source-package sbcl-tooter))
14950
14951 (define-public sbcl-croatoan
14952 (let ((commit "89ecd147cf1548f569f23353b3ab656cfb74de1f")
14953 (revision "1"))
14954 (package
14955 (name "sbcl-croatoan")
14956 (version (git-version "0.0.1" revision commit))
14957 (source
14958 (origin
14959 (method git-fetch)
14960 (uri (git-reference
14961 (url "https://github.com/McParen/croatoan")
14962 (commit commit)))
14963 (file-name (git-file-name "croatoan" version))
14964 (sha256
14965 (base32 "0pk4mym88531jx0f1zmm6gmvrmdjzj2zcl2cdywdsxvjygr53zyx"))))
14966 (build-system asdf-build-system/sbcl)
14967 (arguments
14968 '(#:phases
14969 (modify-phases %standard-phases
14970 (add-after 'unpack 'fix-paths
14971 (lambda* (#:key inputs #:allow-other-keys)
14972 (substitute* "ncurses/ncurses.lisp"
14973 (("libncursesw" all)
14974 (string-append (assoc-ref inputs "ncurses")
14975 "/lib/"
14976 all))))))))
14977 (inputs
14978 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
14979 ("cffi" ,sbcl-cffi)
14980 ("ncurses" ,ncurses)
14981 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
14982 (synopsis "Common Lisp bindings for the ncurses terminal library")
14983 (description "Croatoan provides high-level Common Lisp CLOS bindings for
14984 the ncurses terminal library.")
14985 (home-page "https://github.com/McParen/croatoan")
14986 (license license:expat))))
14987
14988 (define-public ecl-croatoan
14989 (sbcl-package->ecl-package sbcl-croatoan))
14990
14991 (define-public cl-croatoan
14992 (sbcl-package->cl-source-package sbcl-croatoan))
14993
14994 (define-public sbcl-cl-spark
14995 (let ((commit "4e34bcebdcf8e45265986eb43ad4ad03bb41a581")
14996 (revision "1"))
14997 (package
14998 (name "sbcl-cl-spark")
14999 (version (git-version "0.1.13" revision commit))
15000 (source
15001 (origin
15002 (method git-fetch)
15003 (uri (git-reference
15004 (url "https://github.com/tkych/cl-spark")
15005 (commit commit)))
15006 (file-name (git-file-name "cl-spark" version))
15007 (sha256
15008 (base32 "0my1fsgi2rjaqkpk934f2bjy63pmnj7faza3fzvnk6k3l66y19nk"))))
15009 (build-system asdf-build-system/sbcl)
15010 (native-inputs
15011 `(("fiveam" ,sbcl-fiveam)))
15012 (synopsis "Common Lisp library to make histograms")
15013 (description "This is a Common Lisp library to make histograms using
15014 UTF-8 block characters.")
15015 (home-page "https://github.com/tkych/cl-spark")
15016 (license license:expat))))
15017
15018 (define-public ecl-cl-spark
15019 (sbcl-package->ecl-package sbcl-cl-spark))
15020
15021 (define-public cl-spark
15022 (sbcl-package->cl-source-package sbcl-cl-spark))
15023
15024 (define-public sbcl-access
15025 (let ((commit "1b26db3760018cdc4624f880f0a1e0155d8f6c50")
15026 (revision "1"))
15027 (package
15028 (name "sbcl-access")
15029 (version (git-version "1.5.0" revision commit))
15030 (source
15031 (origin
15032 (method git-fetch)
15033 (uri (git-reference
15034 (url "https://github.com/sharplispers/access")
15035 (commit commit)))
15036 (file-name (git-file-name "access" version))
15037 (sha256
15038 (base32 "1knd3n4mpzkc97i1znbas32pscd30416isvmx2pjmgvar6k93pl5"))))
15039 (build-system asdf-build-system/sbcl)
15040 (native-inputs
15041 `(("lisp-unit2" ,sbcl-lisp-unit2)))
15042 (inputs
15043 `(("alexandria" ,sbcl-alexandria)
15044 ("anaphora" ,sbcl-anaphora)
15045 ("closer-mop" ,sbcl-closer-mop)
15046 ("interpol" ,sbcl-cl-interpol)
15047 ("iterate" ,sbcl-iterate)))
15048 (synopsis
15049 "Common lisp library to unify access to dictionary-like structures")
15050 (description
15051 "This is a Common lisp library to unify access to the most common
15052 dictionary-like data structures.")
15053 (home-page "https://github.com/sharplispers/access")
15054 (license license:bsd-3))))
15055
15056 (define-public ecl-access
15057 (sbcl-package->ecl-package sbcl-access))
15058
15059 (define-public cl-access
15060 (sbcl-package->cl-source-package sbcl-access))
15061
15062 (define-public sbcl-sxql-composer
15063 (let ((commit "2b2230cb01ae1b68e28921d99e4814046867fb75")
15064 (revision "1"))
15065 (package
15066 (name "sbcl-sxql-composer")
15067 (version (git-version "0.1" revision commit))
15068 (source
15069 (origin
15070 (method git-fetch)
15071 (uri (git-reference
15072 (url "https://github.com/mmontone/sxql-composer")
15073 (commit commit)))
15074 (file-name (git-file-name "sxql-composer" version))
15075 (sha256
15076 (base32 "1agkrj3ymskzc3c7pxbrj123d1kygjqcls145m0ap3i07q96hh1r"))))
15077 (build-system asdf-build-system/sbcl)
15078 (inputs
15079 `(("sxql" ,sbcl-sxql)))
15080 (synopsis "Build and compose SXQL queries dynamically")
15081 (description
15082 "This is a Common Lisp library to build and compose SXQL queries
15083 dynamically.")
15084 (home-page "https://github.com/mmontone/sxql-composer")
15085 (license license:expat))))
15086
15087 (define-public ecl-sxql-composer
15088 (sbcl-package->ecl-package sbcl-sxql-composer))
15089
15090 (define-public cl-sxql-composer
15091 (sbcl-package->cl-source-package sbcl-sxql-composer))
15092
15093 (define-public sbcl-cl-i18n
15094 (let ((commit "fa0aa5bef8dfbdf2d72f7cc9f49e848ccbb567aa")
15095 (revision "1"))
15096 (package
15097 (name "sbcl-cl-i18n")
15098 (version (git-version "0.5.0" revision commit))
15099 (source
15100 (origin
15101 (method git-fetch)
15102 (uri (git-reference
15103 (url "https://notabug.org/cage/cl-i18n")
15104 (commit commit)))
15105 (file-name (git-file-name "cl-i18n" version))
15106 (sha256
15107 (base32 "1hpsdbb3hd79bzbrnbqgk2j3f0ispxvk91snp08fm2z3f1sds5as"))))
15108 (build-system asdf-build-system/sbcl)
15109 (inputs
15110 `(("alexandria" ,sbcl-alexandria)
15111 ("babel" ,sbcl-babel)
15112 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
15113 (synopsis "Internationalisation framework for Common Lisp")
15114 (description
15115 "This is a Gettext-style internationalisation framework for Common
15116 Lisp.")
15117 (home-page "https://notabug.org/cage/cl-i18n")
15118 (license license:llgpl))))
15119
15120 (define-public ecl-cl-i18n
15121 (sbcl-package->ecl-package sbcl-cl-i18n))
15122
15123 (define-public cl-i18n
15124 (sbcl-package->cl-source-package sbcl-cl-i18n))
15125
15126 (define-public sbcl-crypto-shortcuts
15127 (let ((commit "7efd22d80e867cd8c9f8f363d4fe7b51ee2dadc0")
15128 (revision "1"))
15129 (package
15130 (name "sbcl-crypto-shortcuts")
15131 (version (git-version "2.0.0" revision commit))
15132 (source
15133 (origin
15134 (method git-fetch)
15135 (uri (git-reference
15136 (url "https://github.com/Shinmera/crypto-shortcuts")
15137 (commit commit)))
15138 (file-name (git-file-name "crypto-shortcuts" version))
15139 (sha256
15140 (base32 "0c0m0ar04jn7qf2v8c4sivamlzki03r13rnxy8b3n27rh9r6hgin"))))
15141 (build-system asdf-build-system/sbcl)
15142 (inputs
15143 `(("cl-base64" ,sbcl-cl-base64)
15144 ("flexi-stream" ,sbcl-flexi-streams)
15145 ("ironclad" ,sbcl-ironclad)))
15146 (synopsis "Collection of common cryptography functions")
15147 (description
15148 "This is a collection of common cryptography functions for Common
15149 Lisp.")
15150 (home-page "https://shinmera.github.io/crypto-shortcuts/")
15151 (license license:zlib))))
15152
15153 (define-public ecl-crypto-shortcuts
15154 (sbcl-package->ecl-package sbcl-crypto-shortcuts))
15155
15156 (define-public cl-crypto-shortcuts
15157 (sbcl-package->cl-source-package sbcl-crypto-shortcuts))
15158
15159 (define-public sbcl-cl-html5-parser
15160 (let ((commit "74a92eb3a183a0afd089ea33350e816e6b9aeefa")
15161 (revision "1"))
15162 (package
15163 (name "sbcl-cl-html5-parser")
15164 (version (git-version "0.0.0" revision commit))
15165 (source
15166 (origin
15167 (method git-fetch)
15168 (uri (git-reference
15169 (url "https://github.com/rotatef/cl-html5-parser")
15170 (commit commit)))
15171 (file-name (git-file-name "cl-html5-parser" version))
15172 (sha256
15173 (base32 "04if61wigylsmn996rbfl8ylsd0d9hzdmg7p2wiglncibjzcl5k9"))))
15174 (build-system asdf-build-system/sbcl)
15175 (arguments
15176 '(#:tests? #f
15177 #:asd-systems '("cl-html5-parser")))
15178 (inputs
15179 `(("cl-ppcre" ,sbcl-cl-ppcre)
15180 ("flexi-stream" ,sbcl-flexi-streams)
15181 ("string-case" ,sbcl-string-case)))
15182 (synopsis "HTML5 parser for Common Lisp")
15183 (description "This a Common Lisp library to parse HTML5 documents.")
15184 (home-page "https://github.com/rotatef/cl-html5-parser")
15185 (license license:lgpl3+))))
15186
15187 (define-public ecl-cl-html5-parser
15188 (sbcl-package->ecl-package sbcl-cl-html5-parser))
15189
15190 (define-public cl-html5-parser
15191 (sbcl-package->cl-source-package sbcl-cl-html5-parser))
15192
15193 (define-public sbcl-percent-encoding
15194 (let ((commit "c1224e22bc8048fbd3ebbc9329715a0c1b673170")
15195 (revision "1"))
15196 (package
15197 (name "sbcl-percent-encoding")
15198 (version (git-version "0.1" revision commit))
15199 (source
15200 (origin
15201 (method git-fetch)
15202 (uri (git-reference
15203 (url "https://github.com/llibra/percent-encoding")
15204 (commit commit)))
15205 (file-name (git-file-name "percent-encoding" version))
15206 (sha256
15207 (base32 "0q1lh3sa6mkjr5gcdkgimkpc29rgf9cjhv90f61h8ridj28grq0h"))))
15208 (build-system asdf-build-system/sbcl)
15209 (native-inputs
15210 `(("fiveam" ,sbcl-fiveam)))
15211 (inputs
15212 `(("anaphora" ,sbcl-anaphora)
15213 ("babel" ,sbcl-babel)))
15214 (synopsis "RFC 3986 percent-encoding library")
15215 (description
15216 "This is a Common Lisp library providing RFC 3986 percent-encoding.")
15217 (home-page "https://github.com/llibra/percent-encoding")
15218 (license license:expat))))
15219
15220 (define-public ecl-percent-encoding
15221 (sbcl-package->ecl-package sbcl-percent-encoding))
15222
15223 (define-public cl-percent-encoding
15224 (sbcl-package->cl-source-package sbcl-percent-encoding))
15225
15226 (define-public sbcl-cl-mount-info
15227 (let ((commit "2024f5037a7f63db3e3587dc9972cd7b9318f06b")
15228 (revision "1"))
15229 (package
15230 (name "sbcl-cl-mount-info")
15231 (version (git-version "0.0.1" revision commit))
15232 (source
15233 (origin
15234 (method git-fetch)
15235 (uri (git-reference
15236 (url "https://notabug.org/cage/cl-mount-info.git")
15237 (commit commit)))
15238 (file-name (git-file-name "cl-mount-info" version))
15239 (sha256
15240 (base32 "0vza9gj9q42nzb5v8aj22lmn4aqx9vrddsb5a343nbwfz89hbh9x"))))
15241 (build-system asdf-build-system/sbcl)
15242 (inputs
15243 `(("alexandria" ,sbcl-alexandria)
15244 ("cffi" ,sbcl-cffi)
15245 ("cl-ppcre" ,sbcl-cl-ppcre)))
15246 (home-page "https://notabug.org/cage/cl-mount-info.git")
15247 (synopsis "Library to get information about mounted filesystems")
15248 (description
15249 "CL-MOUNT-INFO is a Common Lisp wrapper around @code{getmntent(3)} and
15250 related C functions to get information about the mounted file system.")
15251 (license license:lgpl3))))
15252
15253 (define-public ecl-cl-mount-info
15254 (sbcl-package->ecl-package sbcl-cl-mount-info))
15255
15256 (define-public cl-mount-info
15257 (sbcl-package->cl-source-package sbcl-cl-mount-info))
15258
15259 (define-public sbcl-cl-diskspace
15260 (let ((commit "2dce2d0387d58221c452bd76c7b9b7a7de81ef55")
15261 (revision "1"))
15262 (package
15263 (name "sbcl-cl-diskspace")
15264 (version (git-version "0.3.1" revision commit))
15265 (source
15266 (origin
15267 (method git-fetch)
15268 (uri (git-reference
15269 (url "https://github.com/muyinliu/cl-diskspace")
15270 (commit commit)))
15271 (file-name (git-file-name "cl-diskspace" version))
15272 (sha256
15273 (base32 "0l19hxqw6b8i5i1jdbr45k1xib9axcwdagsp3y8wkb35g6wwc0s7"))))
15274 (build-system asdf-build-system/sbcl)
15275 (arguments
15276 `(#:phases
15277 (modify-phases %standard-phases
15278 (add-after 'unpack 'fix-paths
15279 (lambda* (#:key inputs #:allow-other-keys)
15280 (substitute* "src/unix/cl-diskspace-list-all-disks-with-df.lisp"
15281 (("grep")
15282 (string-append (assoc-ref inputs "grep") "/bin/grep")))
15283 (substitute* "src/unix/cl-diskspace-list-all-disks-with-df.lisp"
15284 (("/bin/df")
15285 (which "df")))
15286 #t)))))
15287 (inputs
15288 `(("cl-ppcre" ,sbcl-cl-ppcre)
15289 ("cffi" ,sbcl-cffi)
15290 ("grep" ,grep)))
15291 (home-page "https://github.com/muyinliu/cl-diskspace")
15292 (synopsis "Disk space information library for Common Lisp")
15293 (description
15294 "CL-DISKSPACE is a Common Lisp library to list disks with the command
15295 line tool @code{df} and get disk space information using @code{statvfs}.")
15296 (license license:isc))))
15297
15298 (define-public ecl-cl-diskspace
15299 (sbcl-package->ecl-package sbcl-cl-diskspace))
15300
15301 (define-public cl-diskspace
15302 (sbcl-package->cl-source-package sbcl-cl-diskspace))
15303
15304 (define-public sbcl-fof
15305 (package
15306 (name "sbcl-fof")
15307 (version "0.1.0")
15308 (source
15309 (origin
15310 (method git-fetch)
15311 (uri (git-reference
15312 (url "https://gitlab.com/ambrevar/fof")
15313 (commit version)))
15314 (file-name (git-file-name name version))
15315 (sha256
15316 (base32 "1xdnlqrjfmgdgw58avkci881iwarv4am2vq09b14pfifmpxpzv10"))))
15317 (build-system asdf-build-system/sbcl)
15318 (arguments
15319 `(#:phases
15320 (modify-phases %standard-phases
15321 (add-after 'unpack 'fix-paths
15322 (lambda* (#:key inputs #:allow-other-keys)
15323 (substitute* "ffprobe.lisp"
15324 (("\\(defvar \\*ffprobe-command\\* \"ffprobe\"\\)")
15325 (format #f "(defvar *ffprobe-command* \"~a/bin/ffprobe\")"
15326 (assoc-ref inputs "ffmpeg") )))
15327 #t)))))
15328 (inputs
15329 `(("alexandria" ,sbcl-alexandria)
15330 ("hu.dwim.defclass-star" ,sbcl-hu.dwim.defclass-star)
15331 ("local-time" ,sbcl-local-time)
15332 ("magicffi" ,sbcl-magicffi)
15333 ("osicat" ,sbcl-osicat)
15334 ("serapeum" ,sbcl-serapeum)
15335 ("str" ,sbcl-cl-str)
15336 ("trivia" ,sbcl-trivia)
15337 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)
15338 ;; Non-CL deps:
15339 ("ffmpeg" ,ffmpeg)))
15340 (home-page "https://gitlab.com/ambrevar/fof")
15341 (synopsis "File object finder library for Common Lisp")
15342 (description
15343 "This library enable rapid file search, inspection and manipulation
15344 straight from the REPL.
15345 It aims at replacing Unix tools such as @code{find} or @code{du}.
15346 It also offers a replacement to the @code{pathname} Common Lisp API.
15347 Slot writers which commit changes to disk, e.g. permissions, modification
15348 time, etc.")
15349 (license license:gpl3+)))
15350
15351 (define-public ecl-fof
15352 (sbcl-package->ecl-package sbcl-fof))
15353
15354 (define-public cl-fof
15355 (sbcl-package->cl-source-package sbcl-fof))
15356
15357 (define-public sbcl-computable-reals
15358 (let ((commit "fdc73d75e79d0a4ce6d01c822c950ae2eb137d39"))
15359 (package
15360 (name "sbcl-computable-reals")
15361 (version (git-version "1.1.0" "1" commit))
15362 (source
15363 (origin
15364 (method git-fetch)
15365 (uri (git-reference
15366 (url "https://github.com/stylewarning/computable-reals")
15367 (commit commit)))
15368 (file-name (git-file-name name version))
15369 (sha256
15370 (base32 "0f12axi53x14l12dgf4a1lfq3p1fx7fh7sjfc0db3lk88ph9qfwl"))))
15371 (build-system asdf-build-system/sbcl)
15372 (home-page "https://github.com/stylewarning/computable-reals")
15373 (synopsis "Arbitrary-precision, re-computing real-numbers in Common Lisp")
15374 (description
15375 "This library provides arbitrary precision (floating point) real
15376 numbers in Common Lisp.")
15377 (license license:bsd-3))))
15378
15379 (define-public ecl-computable-reals
15380 (sbcl-package->ecl-package sbcl-computable-reals))
15381
15382 (define-public cl-computable-reals
15383 (sbcl-package->cl-source-package sbcl-computable-reals))
15384
15385 (define-public sbcl-html-template
15386 (package
15387 (name "sbcl-html-template")
15388 (version "0.9.2")
15389 (source
15390 (origin
15391 (method git-fetch)
15392 (uri (git-reference
15393 (url "https://github.com/edicl/html-template")
15394 (commit (string-append "v" version))))
15395 (file-name (git-file-name name version))
15396 (sha256
15397 (base32 "0wz3czvjsn4x971dsiia9f9nvvcmbkablcl75zsvxndkimc93wxb"))))
15398 (build-system asdf-build-system/sbcl)
15399 (home-page "https://edicl.github.io/html-template/")
15400 (synopsis "HTML templates from Common Lisp")
15401 (description
15402 "HTML-TEMPLATE is a Common Lisp library which can be used to fill
15403 templates with arbitrary (string) values at runtime. The result does not have
15404 to be HTML.
15405
15406 It is loosely modeled after the Perl module @code{HTML::Template} and
15407 partially compatible with a its syntax, though both libraries contain some
15408 extensions that the other does not support.
15409
15410 HTML-TEMPLATE translates templates into efficient closures which can be
15411 re-used as often as needed. It uses a cache mechanism so you can update
15412 templates while your program is running and have the changes take effect
15413 immediately.")
15414 (license license:bsd-2)))
15415
15416 (define-public ecl-html-template
15417 (sbcl-package->ecl-package sbcl-html-template))
15418
15419 (define-public cl-html-template
15420 (sbcl-package->cl-source-package sbcl-html-template))
15421
15422 (define-public sbcl-quickproject
15423 (package
15424 (name "sbcl-quickproject")
15425 (version "1.4.1")
15426 (source
15427 (origin
15428 (method git-fetch)
15429 (uri (git-reference
15430 (url "https://github.com/xach/quickproject")
15431 (commit (string-append "release-" version))))
15432 (file-name (git-file-name name version))
15433 (sha256
15434 (base32 "1szs8p2wr1yr9mjmj3h3557l6wxzzga0iszimb68z0hb1jj3lva6"))))
15435 (build-system asdf-build-system/sbcl)
15436 (inputs
15437 `(("cl-fad" ,sbcl-cl-fad)
15438 ("html-template" ,sbcl-html-template)))
15439 (arguments
15440 '(#:asd-files '("quickproject.asd")))
15441 (home-page "https://xach.com/lisp/quickproject/")
15442 (synopsis "Create Common Lisp project skeletons")
15443 (description
15444 "Quickproject provides a quick way to make a Common Lisp project. After
15445 creating a project, it extends the ASDF registry so the project may be
15446 immediately loaded.")
15447 (license license:expat)))
15448
15449 (define-public ecl-quickproject
15450 (sbcl-package->ecl-package sbcl-quickproject))
15451
15452 (define-public cl-quickproject
15453 (sbcl-package->cl-source-package sbcl-quickproject))