gnu: sbcl-shlex: Update to 0.0.0-2.3dee1cb.
[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 ;;; Copyright © 2021 Cameron Chaparro <cameron@cameronchaparro.com>
29 ;;;
30 ;;; This file is part of GNU Guix.
31 ;;;
32 ;;; GNU Guix is free software; you can redistribute it and/or modify it
33 ;;; under the terms of the GNU General Public License as published by
34 ;;; the Free Software Foundation; either version 3 of the License, or (at
35 ;;; your option) any later version.
36 ;;;
37 ;;; GNU Guix is distributed in the hope that it will be useful, but
38 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
39 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
40 ;;; GNU General Public License for more details.
41 ;;;
42 ;;; You should have received a copy of the GNU General Public License
43 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
44
45 ;;; This file only contains Common Lisp libraries.
46 ;;; Common Lisp compilers and tooling go to lisp.scm.
47 ;;; Common Lisp applications should go to the most appropriate file,
48 ;;; e.g. StumpWM is in wm.scm.
49
50 (define-module (gnu packages lisp-xyz)
51 #:use-module (gnu packages)
52 #:use-module ((guix licenses) #:prefix license:)
53 #:use-module (guix packages)
54 #:use-module (guix download)
55 #:use-module (guix git-download)
56 #:use-module (guix hg-download)
57 #:use-module (guix utils)
58 #:use-module (guix build-system asdf)
59 #:use-module (guix build-system trivial)
60 #:use-module (gnu packages base)
61 #:use-module (gnu packages c)
62 #:use-module (gnu packages compression)
63 #:use-module (gnu packages databases)
64 #:use-module (gnu packages enchant)
65 #:use-module (gnu packages file)
66 #:use-module (gnu packages fonts)
67 #:use-module (gnu packages fontutils)
68 #:use-module (gnu packages gl)
69 #:use-module (gnu packages glib)
70 #:use-module (gnu packages gtk)
71 #:use-module (gnu packages image)
72 #:use-module (gnu packages imagemagick)
73 #:use-module (gnu packages libevent)
74 #:use-module (gnu packages libffi)
75 #:use-module (gnu packages linux)
76 #:use-module (gnu packages lisp)
77 #:use-module (gnu packages maths)
78 #:use-module (gnu packages mp3)
79 #:use-module (gnu packages ncurses)
80 #:use-module (gnu packages networking)
81 #:use-module (gnu packages pkg-config)
82 #:use-module (gnu packages python)
83 #:use-module (gnu packages python-xyz)
84 #:use-module (gnu packages sdl)
85 #:use-module (gnu packages sqlite)
86 #:use-module (gnu packages tcl)
87 #:use-module (gnu packages tls)
88 #:use-module (gnu packages video)
89 #:use-module (gnu packages web)
90 #:use-module (gnu packages webkit)
91 #:use-module (gnu packages xdisorg)
92 #:use-module (ice-9 match)
93 #:use-module (srfi srfi-1)
94 #:use-module (srfi srfi-19))
95
96 (define-public sbcl-alexandria
97 (package
98 (name "sbcl-alexandria")
99 (version "1.2")
100 (source
101 (origin
102 (method git-fetch)
103 (uri (git-reference
104 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
105 (commit (string-append "v" version))))
106 (sha256
107 (base32
108 "0bcqs0z9xlqgjz43qzgq9i07vdlnjllpm1wwa37wpkg0w975r712"))
109 (file-name (git-file-name name version))))
110 (build-system asdf-build-system/sbcl)
111 (native-inputs
112 `(("rt" ,sbcl-rt)))
113 (synopsis "Collection of portable utilities for Common Lisp")
114 (description
115 "Alexandria is a collection of portable utilities. It does not contain
116 conceptual extensions to Common Lisp. It is conservative in scope, and
117 portable between implementations.")
118 (home-page "https://common-lisp.net/project/alexandria/")
119 (license license:public-domain)))
120
121 (define-public cl-alexandria
122 (sbcl-package->cl-source-package sbcl-alexandria))
123
124 (define-public ecl-alexandria
125 (sbcl-package->ecl-package sbcl-alexandria))
126
127 (define-public sbcl-bodge-utilities
128 (let ((commit "6304bac4abe06d53579e2c0fc4437d14ff077d9f")
129 (revision "1"))
130 (package
131 (name "sbcl-bodge-utilities")
132 (version (git-version "1.0.0" revision commit))
133 (source
134 (origin
135 (method git-fetch)
136 (uri (git-reference
137 (url "https://github.com/borodust/bodge-utilities")
138 (commit commit)))
139 (file-name (git-file-name "bodge-utilities" version))
140 (sha256
141 (base32 "1z1blj05q71vzh323qwyn9p3xs7v0mq2yhwfyzza5libp37wqm3c"))))
142 (build-system asdf-build-system/sbcl)
143 (inputs
144 `(("alexandria" ,sbcl-alexandria)
145 ("cffi" ,sbcl-cffi)
146 ("claw" ,sbcl-claw)
147 ("dissect" ,sbcl-dissect)
148 ("local-time" ,sbcl-local-time)
149 ("log4cl" ,sbcl-log4cl)
150 ("split-sequence" ,sbcl-split-sequence)
151 ("static-vectors" ,sbcl-static-vectors)
152 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
153 (home-page "https://github.com/borodust/bodge-utilities")
154 (synopsis "Common Lisp utilities library for CL-BODGE")
155 (description
156 "This Common Lisp library provides utilities for the @emph{Bodge} library
157 collection.")
158 (license license:expat))))
159
160 (define-public ecl-bodge-utilities
161 (sbcl-package->ecl-package sbcl-bodge-utilities))
162
163 (define-public cl-bodge-utilities
164 (sbcl-package->cl-source-package sbcl-bodge-utilities))
165
166 (define-public sbcl-bodge-queue
167 (let ((commit "948c9a501dcd412689952d09eb7453ec2722336a")
168 (revision "0"))
169 (package
170 (name "sbcl-bodge-queue")
171 (version (git-version "0.0.0" revision commit))
172 (source
173 (origin
174 (method git-fetch)
175 (uri (git-reference
176 (url "https://github.com/borodust/bodge-queue")
177 (commit commit)))
178 (file-name (git-file-name "bodge-queue" version))
179 (sha256
180 (base32 "148hjikqk8v2m30mj15xh89zni6szf9z3prav580qk9dqr8djjdr"))))
181 (build-system asdf-build-system/sbcl)
182 (native-inputs
183 `(("fiveam" ,sbcl-fiveam)))
184 (home-page "https://github.com/borodust/bodge-queue")
185 (synopsis "Simple queue for Common Lisp")
186 (description "This Common Lisp library provides a simple FIFO
187 implementation with no external dependencies.")
188 (license license:expat))))
189
190 (define-public cl-bodge-queue
191 (sbcl-package->cl-source-package sbcl-bodge-queue))
192
193 (define-public ecl-bodge-queue
194 (sbcl-package->ecl-package sbcl-bodge-queue))
195
196 (define-public sbcl-golden-utils
197 (let ((commit "62a5cb948a011eb26e7a89f56d5839a3334b4100")
198 (revision "2"))
199 (package
200 (name "sbcl-golden-utils")
201 (version (git-version "0.0.0" revision commit))
202 (source
203 (origin
204 (method git-fetch)
205 (uri (git-reference
206 (url "https://git.mfiano.net/mfiano/golden-utils")
207 (commit commit)))
208 (file-name (git-file-name "golden-utils" version))
209 (sha256
210 (base32 "13mvxqwd1nmpq8h5hb1s60wyqdj7ji4haxrqr0sy3csyqa8aq2j8"))))
211 (build-system asdf-build-system/sbcl)
212 (inputs
213 `(("alexandria" ,sbcl-alexandria)))
214 (home-page "https://git.mfiano.net/mfiano/golden-utils")
215 (synopsis "Common Lisp utility library")
216 (description
217 "This is a Common Lisp library providing various utilities.")
218 (license license:expat))))
219
220 (define-public ecl-golden-utils
221 (sbcl-package->ecl-package sbcl-golden-utils))
222
223 (define-public cl-golden-utils
224 (sbcl-package->cl-source-package sbcl-golden-utils))
225
226 (define-public sbcl-asdf-finalizers
227 (let ((commit "7f537f6c598b662ae987c6acc268dd27c25977e0")
228 (revision "1"))
229 (package
230 (name "sbcl-asdf-finalizers")
231 (version (git-version "0.0.0" revision commit))
232 (source
233 (origin
234 (method git-fetch)
235 (uri (git-reference
236 (url "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
237 (commit commit)))
238 (file-name (git-file-name name version))
239 (sha256
240 (base32 "1w56c9yjjydjshsgqxz57qlp2v3r4ilbisnsgiqphvxnhvd41y0v"))))
241 (build-system asdf-build-system/sbcl)
242 (native-inputs
243 `(("fare-utils" ,sbcl-fare-utils)
244 ("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
245 (arguments
246 `(#:asd-files '("asdf-finalizers.asd"
247 "list-of.asd"
248 "asdf-finalizers-test.asd")
249 #:asd-systems '("asdf-finalizers"
250 "list-of")))
251 (home-page "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
252 (synopsis "Enforced calling of finalizers for Lisp code")
253 (description "This library allows you to implement and enforce proper
254 finalization of compile-time constructs while building Lisp source files.
255
256 It produces two systems: asdf-finalizers and list-of.")
257 (license license:expat))))
258
259 (define-public ecl-asdf-finalizers
260 (sbcl-package->ecl-package sbcl-asdf-finalizers))
261
262 (define-public cl-asdf-finalizers
263 (sbcl-package->cl-source-package sbcl-asdf-finalizers))
264
265 (define-public sbcl-net.didierverna.asdf-flv
266 (package
267 (name "sbcl-net.didierverna.asdf-flv")
268 (version "2.1")
269 (source
270 (origin
271 (method git-fetch)
272 (uri (git-reference
273 (url "https://github.com/didierverna/asdf-flv")
274 (commit (string-append "version-" version))))
275 (file-name (git-file-name "asdf-flv" version))
276 (sha256
277 (base32 "1fi2y4baxan103jbg4idjddzihy03kwnj2mzbwrknw4d4x7xlgwj"))))
278 (build-system asdf-build-system/sbcl)
279 (synopsis "Common Lisp ASDF extension to provide support for file-local variables")
280 (description "ASDF-FLV provides support for file-local variables through
281 ASDF. A file-local variable behaves like @code{*PACKAGE*} and
282 @code{*READTABLE*} with respect to @code{LOAD} and @code{COMPILE-FILE}: a new
283 dynamic binding is created before processing the file, so that any
284 modification to the variable becomes essentially file-local.
285
286 In order to make one or several variables file-local, use the macros
287 @code{SET-FILE-LOCAL-VARIABLE(S)}.")
288 (home-page "https://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv")
289 (license (license:non-copyleft
290 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
291 "GNU All-Permissive License"))))
292
293 (define-public cl-net.didierverna.asdf-flv
294 (sbcl-package->cl-source-package sbcl-net.didierverna.asdf-flv))
295
296 (define-public ecl-net.didierverna.asdf-flv
297 (sbcl-package->ecl-package sbcl-net.didierverna.asdf-flv))
298
299 (define-public sbcl-command-line-arguments
300 (let ((commit "fbac862fb01c0e368141204f3f639920462c23fe")
301 (revision "1"))
302 (package
303 (name "sbcl-command-line-arguments")
304 (version (git-version "2.0.0" revision commit))
305 (source
306 (origin
307 (method git-fetch)
308 (uri (git-reference
309 (url "https://github.com/fare/command-line-arguments")
310 (commit commit)))
311 (file-name (git-file-name name version))
312 (sha256
313 (base32 "054m1ikndzqf72mb9ajaa64136cwr3bgag4yfbi1574a9vq75mjq"))))
314 (build-system asdf-build-system/sbcl)
315 (home-page "https://github.com/fare/command-line-arguments")
316 (synopsis "Trivial command-line argument parsing library for Common Lisp")
317 (description "This is a library to abstract away the parsing of
318 Unix-style command-line arguments. Use it in conjunction with asdf:program-op
319 or cl-launch for portable processing of command-line arguments.")
320 (license license:expat))))
321
322 (define-public ecl-command-line-arguments
323 (sbcl-package->ecl-package sbcl-command-line-arguments))
324
325 (define-public cl-command-line-arguments
326 (sbcl-package->cl-source-package sbcl-command-line-arguments))
327
328 (define-public sbcl-fiveam
329 (package
330 (name "sbcl-fiveam")
331 (version "1.4.1")
332 (source
333 (origin
334 (method git-fetch)
335 (uri (git-reference
336 (url "https://github.com/sionescu/fiveam")
337 (commit (string-append "v" version))))
338 (file-name (git-file-name "fiveam" version))
339 (sha256
340 (base32 "1q3d38pwafnwnw42clq0f8g5xw7pbzr287jl9jsqmb1vb0n1vrli"))))
341 (inputs
342 `(("alexandria" ,sbcl-alexandria)
343 ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
344 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
345 (build-system asdf-build-system/sbcl)
346 (synopsis "Common Lisp testing framework")
347 (description "FiveAM is a simple (as far as writing and running tests
348 goes) regression testing framework. It has been designed with Common Lisp's
349 interactive development model in mind.")
350 (home-page "https://common-lisp.net/project/fiveam/")
351 (license license:bsd-3)))
352
353 (define-public cl-fiveam
354 (sbcl-package->cl-source-package sbcl-fiveam))
355
356 (define-public ecl-fiveam
357 (sbcl-package->ecl-package sbcl-fiveam))
358
359 (define-public sbcl-cl-irc
360 (let ((commit "963823537c7bfcda2edd4c44d172192da6722175")
361 (revision "0"))
362 (package
363 (name "sbcl-cl-irc")
364 (version (git-version "0.9.2" revision commit))
365 (source
366 (origin
367 (method git-fetch)
368 (uri (git-reference
369 (url "https://salsa.debian.org/common-lisp-team/cl-irc.git")
370 (commit commit)))
371 (file-name (git-file-name "cl-irc" version))
372 (sha256
373 (base32 "1b3nqbb4pj377lxl47rfgrs82pidadnrc65l48bk553c2f59b52w"))))
374 (build-system asdf-build-system/sbcl)
375 (native-inputs
376 ;; Tests only.
377 `(("rt" ,sbcl-rt)))
378 (inputs
379 `(("cl+ssl" ,sbcl-cl+ssl)
380 ("flexi-streams" ,sbcl-flexi-streams)
381 ("split-sequence" ,sbcl-split-sequence)
382 ("usocket" ,sbcl-usocket)))
383 (arguments
384 `(#:asd-systems '("cl-irc") ;; Some inexisting "c" system is
385 ;; found by guix otherwise.
386 #:asd-files '("cl-irc.asd")
387 #:test-asd-file "test/cl-irc-test.asd"))
388 (synopsis "IRC client library for Common Lisp")
389 (description "@code{cl-irc} is a Common Lisp IRC client library that
390 features (partial) DCC, CTCP and all relevant commands from the IRC
391 RFCs (RFC2810, RFC2811 and RFC2812).
392
393 Features:
394 @itemize
395 @item implements all commands in the RFCs
396 @item extra convenience commands such as op/deop, ban, ignore, etc.
397 @item partial DCC SEND/CHAT support
398 @item event driven model with hooks makes interfacing easy
399 @item the user can keep multiple connections
400 @item all CTCP commands
401 @end itemize\n")
402 (home-page "https://common-lisp.net/project/cl-irc/")
403 (license license:bsd-2))))
404
405 (define-public cl-irc
406 (sbcl-package->cl-source-package sbcl-cl-irc))
407
408 (define-public ecl-cl-irc
409 (sbcl-package->ecl-package sbcl-cl-irc))
410
411 (define-public sbcl-trivial-timeout
412 (let ((commit "feb869357f40f5e109570fb40abad215fb370c6c")
413 (revision "1"))
414 (package
415 (name "sbcl-trivial-timeout")
416 (version (git-version "0.1.5" revision commit))
417 (source
418 (origin
419 (method git-fetch)
420 (uri (git-reference
421 (url "https://github.com/gwkkwg/trivial-timeout/")
422 (commit commit)))
423 (file-name (git-file-name "trivial-timeout" version))
424 (sha256
425 (base32 "1kninxwvvih9nhh7a9y8lfgi7pdr76675y1clw4ss17vz8fbim5p"))))
426 (build-system asdf-build-system/sbcl)
427 (native-inputs
428 `(("lift" ,sbcl-lift)))
429 (arguments
430 ;; NOTE: (Sharlatan-20210202T231437+0000): Due to the age of this library
431 ;; tests use some deprecated functionality and keep failing.
432 `(#:tests? #f))
433 (home-page "https://github.com/gwkkwg/trivial-timeout/")
434 (synopsis "Timeout library for Common Lisp")
435 (description
436 "This library provides an OS and implementation independent access to
437 timeouts.")
438 (license license:expat))))
439
440 (define-public ecl-trivial-timeout
441 (sbcl-package->ecl-package sbcl-trivial-timeout))
442
443 (define-public cl-trivial-timeout
444 (sbcl-package->cl-source-package sbcl-trivial-timeout))
445
446 (define-public sbcl-bordeaux-threads
447 (package
448 (name "sbcl-bordeaux-threads")
449 (version "0.8.8")
450 (source (origin
451 (method git-fetch)
452 (uri (git-reference
453 (url "https://github.com/sionescu/bordeaux-threads")
454 (commit (string-append "v" version))))
455 (sha256
456 (base32 "19i443fz3488v1pbbr9x24y8h8vlyhny9vj6c9jk5prm702awrp6"))
457 (file-name
458 (git-file-name "bordeaux-threads" version))))
459 (inputs `(("alexandria" ,sbcl-alexandria)))
460 (native-inputs `(("fiveam" ,sbcl-fiveam)))
461 (build-system asdf-build-system/sbcl)
462 (synopsis "Portable shared-state concurrency library for Common Lisp")
463 (description "BORDEAUX-THREADS is a proposed standard for a minimal
464 MP/Threading interface. It is similar to the CLIM-SYS threading and lock
465 support.")
466 (home-page "https://common-lisp.net/project/bordeaux-threads/")
467 (license license:x11)))
468
469 (define-public cl-bordeaux-threads
470 (sbcl-package->cl-source-package sbcl-bordeaux-threads))
471
472 (define-public ecl-bordeaux-threads
473 (sbcl-package->ecl-package sbcl-bordeaux-threads))
474
475 (define-public sbcl-trivial-gray-streams
476 (let ((revision "1")
477 (commit "ebd59b1afed03b9dc8544320f8f432fdf92ab010"))
478 (package
479 (name "sbcl-trivial-gray-streams")
480 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
481 (source
482 (origin
483 (method git-fetch)
484 (uri
485 (git-reference
486 (url "https://github.com/trivial-gray-streams/trivial-gray-streams")
487 (commit commit)))
488 (sha256
489 (base32 "0b1pxlccmnagk9cbh4cy8s5k66g3x0gwib5shjwr24xvrji6lp94"))
490 (file-name
491 (string-append "trivial-gray-streams-" version "-checkout"))))
492 (build-system asdf-build-system/sbcl)
493 (synopsis "Compatibility layer for Gray streams implementations")
494 (description "Gray streams is an interface proposed for inclusion with
495 ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most
496 popular CL implementations implement it. This package provides an extremely
497 thin compatibility layer for gray streams.")
498 (home-page "https://www.cliki.net/trivial-gray-streams")
499 (license license:x11))))
500
501 (define-public cl-trivial-gray-streams
502 (sbcl-package->cl-source-package sbcl-trivial-gray-streams))
503
504 (define-public ecl-trivial-gray-streams
505 (sbcl-package->ecl-package sbcl-trivial-gray-streams))
506
507 (define-public sbcl-fiasco
508 (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
509 (revision "1"))
510 (package
511 (name "sbcl-fiasco")
512 (version (git-version "0.0.1" revision commit))
513 (source
514 (origin
515 (method git-fetch)
516 (uri (git-reference
517 (url "https://github.com/joaotavora/fiasco")
518 (commit commit)))
519 (file-name (git-file-name "fiasco" version))
520 (sha256
521 (base32
522 "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
523 (build-system asdf-build-system/sbcl)
524 (inputs
525 `(("alexandria" ,sbcl-alexandria)
526 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
527 (synopsis "Simple and powerful test framework for Common Lisp")
528 (description "A Common Lisp test framework that treasures your failures,
529 logical continuation of Stefil. It focuses on interactive debugging.")
530 (home-page "https://github.com/joaotavora/fiasco")
531 ;; LICENCE specifies this is public-domain unless the legislation
532 ;; doesn't allow or recognize it. In that case it falls back to a
533 ;; permissive licence.
534 (license (list license:public-domain
535 (license:x11-style "file://LICENCE"))))))
536
537 (define-public cl-fiasco
538 (sbcl-package->cl-source-package sbcl-fiasco))
539
540 (define-public ecl-fiasco
541 (sbcl-package->ecl-package sbcl-fiasco))
542
543 (define-public sbcl-flexi-streams
544 (package
545 (name "sbcl-flexi-streams")
546 (version "1.0.18")
547 (source
548 (origin
549 (method git-fetch)
550 (uri (git-reference
551 (url "https://github.com/edicl/flexi-streams")
552 (commit (string-append "v" version))))
553 (file-name (git-file-name "flexi-streams" version))
554 (sha256
555 (base32 "0bjv7fd2acknidc5dyi3h85pn10krxv5jyxs1xg8jya2rlfv7f1j"))))
556 (build-system asdf-build-system/sbcl)
557 (arguments
558 `(#:phases
559 (modify-phases %standard-phases
560 (add-after 'unpack 'make-git-checkout-writable
561 (lambda _
562 (for-each make-file-writable (find-files "."))
563 #t)))))
564 (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
565 (synopsis "Implementation of virtual bivalent streams for Common Lisp")
566 (description "Flexi-streams is an implementation of \"virtual\" bivalent
567 streams that can be layered atop real binary or bivalent streams and that can
568 be used to read and write character data in various single- or multi-octet
569 encodings which can be changed on the fly. It also supplies in-memory binary
570 streams which are similar to string streams.")
571 (home-page "http://weitz.de/flexi-streams/")
572 (license license:bsd-3)))
573
574 (define-public cl-flexi-streams
575 (sbcl-package->cl-source-package sbcl-flexi-streams))
576
577 (define-public ecl-flexi-streams
578 (sbcl-package->ecl-package sbcl-flexi-streams))
579
580 (define-public sbcl-cl-abnf
581 ;; There are no releases
582 (let ((commit "ba1fbb104dedbdaddb1ef93d2e4da711bd96cd70")
583 (revision "1"))
584 (package
585 (name "sbcl-cl-abnf")
586 (version (git-version "0.0.0" revision commit))
587 (source
588 (origin
589 (method git-fetch)
590 (uri (git-reference
591 (url "https://github.com/dimitri/cl-abnf")
592 (commit commit)))
593 (file-name (git-file-name "cl-abnf" version))
594 (sha256
595 (base32 "0f09nsndxa90acm71zd4qdnp40v705a4sqm04mnv9x76h6dlggmz"))))
596 (build-system asdf-build-system/sbcl)
597 (inputs
598 `(("cl-ppcre" ,sbcl-cl-ppcre)
599 ("esrap" ,sbcl-esrap)))
600 (arguments
601 `(#:asd-systems '("abnf")))
602 (home-page "https://github.com/dimitri/cl-abnf")
603 (synopsis "ABNF parser generator for Common Lisp")
604 (description "This Common Lisp library implements a parser generator for
605 the ABNF grammar format as described in RFC2234. The generated parser is a
606 regular expression scanner provided by the cl-ppcre lib, which means that we
607 can't parse recursive grammar definition. One such definition is the ABNF
608 definition as given by the RFC. Fortunately, as you have this lib, you most
609 probably don't need to generate another parser to handle that particular ABNF
610 grammar.")
611 (license license:expat))))
612
613 (define-public cl-abnf
614 (sbcl-package->cl-source-package sbcl-cl-abnf))
615
616 (define-public ecl-cl-abnf
617 (sbcl-package->ecl-package sbcl-cl-abnf))
618
619 (define-public sbcl-cl-ppcre
620 (package
621 (name "sbcl-cl-ppcre")
622 (version "2.1.1")
623 (source
624 (origin
625 (method git-fetch)
626 (uri (git-reference
627 (url "https://github.com/edicl/cl-ppcre")
628 (commit (string-append "v" version))))
629 (file-name (git-file-name "cl-ppcre" version))
630 (sha256
631 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
632 (build-system asdf-build-system/sbcl)
633 (native-inputs
634 `(("flexi-streams" ,sbcl-flexi-streams)))
635 (arguments
636 `(#:phases
637 (modify-phases %standard-phases
638 (add-after 'unpack 'disable-ppcre-unicode
639 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
640 ;; to work around the circular dependency between edicl/cl-ppcre
641 ;; and edicl/cl-unicode.
642 (lambda _
643 (delete-file "cl-ppcre-unicode.asd")
644 #t)))))
645 (synopsis "Portable regular expression library for Common Lisp")
646 (description "CL-PPCRE is a portable regular expression library for Common
647 Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
648 compatible with ANSI-compliant Common Lisp implementations.")
649 (home-page "http://weitz.de/cl-ppcre/")
650 (license license:bsd-2)))
651
652 (define-public cl-ppcre
653 (sbcl-package->cl-source-package sbcl-cl-ppcre))
654
655 (define-public ecl-cl-ppcre
656 (sbcl-package->ecl-package sbcl-cl-ppcre))
657
658 (define-public sbcl-parse
659 (let ((commit "2351ee78acac065fcf10b8713d3f404e2e910786")
660 (revision "1"))
661 (package
662 (name "sbcl-parse")
663 (version (git-version "1.0" revision commit))
664 (source
665 (origin
666 (method git-fetch)
667 (uri (git-reference
668 (url "https://github.com/massung/parse")
669 (commit commit)))
670 (file-name (git-file-name "parse" version))
671 (sha256
672 (base32 "0l18yabyh7jizm5lgvra0jxi8s1cfwghidi6ix1pyixjkdbjlmvy"))))
673 (build-system asdf-build-system/sbcl)
674 (home-page "https://github.com/massung/parse")
675 (synopsis "Monadic parsing for Common Lisp")
676 (description
677 "PARSE is a simple token parsing library for Common Lisp.")
678 (license license:asl2.0))))
679
680 (define-public ecl-parse
681 (sbcl-package->ecl-package sbcl-parse))
682
683 (define-public cl-parse
684 (sbcl-package->cl-source-package sbcl-parse))
685
686 (define-public sbcl-re
687 (let ((commit "cfbc1f482970221e80d445080a188fd5c755cd2c")
688 (revision "1"))
689 (package
690 (name "sbcl-re")
691 (version (git-version "1.0" revision commit))
692 (source
693 (origin
694 (method git-fetch)
695 (uri (git-reference
696 (url "https://github.com/massung/re")
697 (commit commit)))
698 (file-name (git-file-name "re" version))
699 (sha256
700 (base32 "1y2gq2sckspnq8118bix55p2j43dk9qn3p8a2rplp1ip2qxqbb1i"))))
701 (build-system asdf-build-system/sbcl)
702 (inputs
703 `(("parse" ,sbcl-parse)))
704 (home-page "https://github.com/massung/re")
705 (synopsis "Lua-style Pattern Matching for Common Lisp")
706 (description
707 "RE is a small, portable, lightweight, and quick, regular
708 expression library for Common Lisp. It is a non-recursive, backtracing VM.")
709 (license license:asl2.0))))
710
711 (define-public ecl-re
712 (sbcl-package->ecl-package sbcl-re))
713
714 (define-public cl-re
715 (sbcl-package->cl-source-package sbcl-re))
716
717 (define-public sbcl-ubiquitous
718 (let ((commit "35eb7bd9e1b3daee1705f6b41260775180cce8af")
719 (revision "1"))
720 (package
721 (name "sbcl-ubiquitous")
722 (version (git-version "2.0.0" revision commit))
723 (source
724 (origin
725 (method git-fetch)
726 (uri (git-reference
727 (url "https://github.com/Shinmera/ubiquitous")
728 (commit commit)))
729 (file-name (git-file-name "ubiquitous" version))
730 (sha256
731 (base32 "1xlkaqmjcpkiv2xl2s2pvvrv976dlc846wm16s1lj62iy1315i49"))))
732 (build-system asdf-build-system/sbcl)
733 (inputs
734 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
735 (arguments
736 '(#:asd-systems '("ubiquitous"
737 "ubiquitous-concurrent")))
738 (home-page "https://shinmera.github.io/ubiquitous/")
739 (synopsis "Application configuration mechanism for Common Lisp")
740 (description
741 "@code{UBIQUITOUS} is a very easy-to-use library for persistent
742 configuration storage. It automatically takes care of finding a suitable place
743 to save your data, and provides simple functions to access and modify the data
744 within.")
745 (license license:zlib))))
746
747 (define-public ecl-ubiquitous
748 (sbcl-package->ecl-package sbcl-ubiquitous))
749
750 (define-public cl-ubiquitous
751 (sbcl-package->cl-source-package sbcl-ubiquitous))
752
753 (define-public sbcl-uax-15
754 (package
755 (name "sbcl-uax-15")
756 (version "0.1.1")
757 (source
758 (origin
759 (method git-fetch)
760 (uri (git-reference
761 (url "https://github.com/sabracrolleton/uax-15")
762 (commit (string-append "v" version))))
763 (file-name (git-file-name "uax-15" version))
764 (sha256
765 (base32 "0p2ckw7mzxhwa9vbwj2q2dzayz9dl94d9yqd2ynp0pc5v8i0n2fr"))))
766 (build-system asdf-build-system/sbcl)
767 (arguments
768 `(#:asd-systems
769 '("uax-15")))
770 (native-inputs
771 `(("fiveam" ,sbcl-fiveam)))
772 (inputs
773 `(("cl-ppcre" ,sbcl-cl-ppcre)
774 ("split-sequence" ,sbcl-split-sequence)))
775 (home-page "https://github.com/sabracrolleton/uax-15")
776 (synopsis "Common Lisp implementation of unicode normalization functions")
777 (description
778 "This package provides supports for unicode normalization, RFC8264 and
779 RFC7564.")
780 (license license:expat)))
781
782 (define-public cl-uax-15
783 (sbcl-package->cl-source-package sbcl-uax-15))
784
785 (define-public ecl-uax-15
786 (sbcl-package->ecl-package sbcl-uax-15))
787
788 (define-public sbcl-cl-unicode
789 (package
790 (name "sbcl-cl-unicode")
791 (version "0.1.6")
792 (source (origin
793 (method git-fetch)
794 (uri (git-reference
795 (url "https://github.com/edicl/cl-unicode")
796 (commit (string-append "v" version))))
797 (file-name (git-file-name name version))
798 (sha256
799 (base32
800 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
801 (build-system asdf-build-system/sbcl)
802 (native-inputs
803 `(("flexi-streams" ,sbcl-flexi-streams)))
804 (inputs
805 `(("cl-ppcre" ,sbcl-cl-ppcre)))
806 (home-page "http://weitz.de/cl-unicode/")
807 (synopsis "Portable Unicode library for Common Lisp")
808 (description "CL-UNICODE is a portable Unicode library Common Lisp, which
809 is compatible with perl. It is pretty fast, thread-safe, and compatible with
810 ANSI-compliant Common Lisp implementations.")
811 (license license:bsd-2)))
812
813 (define-public ecl-cl-unicode
814 (sbcl-package->ecl-package sbcl-cl-unicode))
815
816 (define-public cl-unicode
817 (sbcl-package->cl-source-package sbcl-cl-unicode))
818
819 (define-public sbcl-cl-ppcre-unicode
820 (package (inherit sbcl-cl-ppcre)
821 (name "sbcl-cl-ppcre-unicode")
822 (inputs
823 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
824 ("sbcl-cl-unicode" ,sbcl-cl-unicode)))
825 (arguments
826 `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found"
827 #:phases
828 (modify-phases %standard-phases
829 (add-after 'unpack 'disable-ppcre
830 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
831 ;; to work around the circular dependency between edicl/cl-ppcre
832 ;; and edicl/cl-unicode.
833 (lambda _
834 (delete-file "cl-ppcre.asd")
835 #t)))))))
836
837 (define-public cl-ppcre-unicode
838 (sbcl-package->cl-source-package sbcl-cl-ppcre-unicode))
839
840 (define-public ecl-cl-ppcre-unicode
841 (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
842
843 (define-public sbcl-zpb-ttf
844 (package
845 (name "sbcl-zpb-ttf")
846 (version "1.0.3")
847 (source
848 (origin
849 (method git-fetch)
850 (uri (git-reference
851 (url "https://github.com/xach/zpb-ttf")
852 (commit (string-append "release-" version))))
853 (file-name (git-file-name name version))
854 (sha256
855 (base32
856 "1wh66vjijzqlydnrihynpwp6796917xwrh0i9li93c17kyxa74ih"))))
857 (build-system asdf-build-system/sbcl)
858 (home-page "https://github.com/xach/zpb-ttf")
859 (synopsis "TrueType font file access for Common Lisp")
860 (description
861 "ZPB-TTF is a TrueType font file parser that provides an interface for
862 reading typographic metrics, glyph outlines, and other information from the
863 file.")
864 (license license:bsd-2)))
865
866 (define-public ecl-zpb-ttf
867 (sbcl-package->ecl-package sbcl-zpb-ttf))
868
869 (define-public cl-zpb-ttf
870 (sbcl-package->cl-source-package sbcl-zpb-ttf))
871
872 (define-public sbcl-cl-vectors
873 (package
874 (name "sbcl-cl-vectors")
875 (version "0.1.5")
876 (source
877 (origin
878 (method url-fetch)
879 (uri (string-append "http://projects.tuxee.net/cl-vectors/"
880 "files/cl-vectors-" version ".tar.gz"))
881 (sha256
882 (base32
883 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh"))))
884 (build-system asdf-build-system/sbcl)
885 (inputs
886 `(("zpb-ttf" ,sbcl-zpb-ttf)))
887 (arguments
888 '(#:asd-systems '("cl-vectors"
889 "cl-paths-ttf")))
890 (home-page "http://projects.tuxee.net/cl-vectors/")
891 (synopsis "Create, transform and render anti-aliased vectorial paths")
892 (description
893 "This is a pure Common Lisp library to create, transform and render
894 anti-aliased vectorial paths.")
895 (license license:expat)))
896
897 (define-public ecl-cl-vectors
898 (sbcl-package->ecl-package sbcl-cl-vectors))
899
900 (define-public cl-vectors
901 (sbcl-package->cl-source-package sbcl-cl-vectors))
902
903 (define-public sbcl-spatial-trees
904 ;; There have been no releases.
905 (let ((commit "81fdad0a0bf109c80a53cc96eca2e093823400ba")
906 (revision "1"))
907 (package
908 (name "sbcl-spatial-trees")
909 (version (git-version "0" revision commit))
910 (source
911 (origin
912 (method git-fetch)
913 (uri (git-reference
914 (url "https://github.com/rpav/spatial-trees")
915 (commit commit)))
916 (file-name (git-file-name name version))
917 (sha256
918 (base32
919 "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"))))
920 (build-system asdf-build-system/sbcl)
921 (arguments
922 '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns
923 #:test-asd-file "spatial-trees.test.asd"))
924 (native-inputs
925 `(("fiveam" ,sbcl-fiveam)))
926 (home-page "https://github.com/rpav/spatial-trees")
927 (synopsis "Dynamic index data structures for spatially-extended data")
928 (description
929 "Spatial-trees is a set of dynamic index data structures for
930 spatially-extended data.")
931 (license license:bsd-3))))
932
933 (define-public ecl-spatial-trees
934 (sbcl-package->ecl-package sbcl-spatial-trees))
935
936 (define-public cl-spatial-trees
937 (sbcl-package->cl-source-package sbcl-spatial-trees))
938
939 (define-public sbcl-flexichain
940 ;; There are no releases.
941 (let ((commit "13d2a6c505ed0abfcd4c4ec7d7145059b06855d6")
942 (revision "1"))
943 (package
944 (name "sbcl-flexichain")
945 (version "1.5.1")
946 (source
947 (origin
948 (method git-fetch)
949 (uri (git-reference
950 (url "https://github.com/robert-strandh/Flexichain")
951 (commit commit)))
952 (file-name (git-file-name name version))
953 (sha256
954 (base32
955 "0pfyvhsfbjd2sjb30grfs52r51a428xglv7bwydvpg2lc117qimg"))))
956 (build-system asdf-build-system/sbcl)
957 (home-page "https://github.com/robert-strandh/Flexichain.git")
958 (synopsis "Dynamically add elements to or remove them from sequences")
959 (description
960 "This package provides an implementation of the flexichain protocol,
961 allowing client code to dynamically add elements to, and delete elements from
962 a sequence (or chain) of such elements.")
963 (license license:lgpl2.1+))))
964
965 (define-public ecl-flexichain
966 (sbcl-package->ecl-package sbcl-flexichain))
967
968 (define-public cl-flexichain
969 (sbcl-package->cl-source-package sbcl-flexichain))
970
971 (define-public sbcl-cl-pdf
972 ;; There are no releases
973 (let ((commit "752e337e6d6fc206f09d091a982e7f8e5c404e4e")
974 (revision "1"))
975 (package
976 (name "sbcl-cl-pdf")
977 (version (git-version "0" revision commit))
978 (source
979 (origin
980 (method git-fetch)
981 (uri (git-reference
982 (url "https://github.com/mbattyani/cl-pdf")
983 (commit commit)))
984 (file-name (git-file-name name version))
985 (sha256
986 (base32
987 "1cg3k3m3r11ipb8j008y8ipynj97l3xjlpi2knqc9ndmx4r3kb1r"))))
988 (build-system asdf-build-system/sbcl)
989 (inputs
990 `(("iterate" ,sbcl-iterate)
991 ("zpb-ttf" ,sbcl-zpb-ttf)))
992 (home-page "https://github.com/mbattyani/cl-pdf")
993 (synopsis "Common Lisp library for generating PDF files")
994 (description
995 "CL-PDF is a cross-platform Common Lisp library for generating PDF
996 files.")
997 (license license:bsd-2))))
998
999 (define-public ecl-cl-pdf
1000 (sbcl-package->ecl-package sbcl-cl-pdf))
1001
1002 (define-public cl-pdf
1003 (sbcl-package->cl-source-package sbcl-cl-pdf))
1004
1005 (define-public sbcl-clx
1006 (package
1007 (name "sbcl-clx")
1008 (version "0.7.5")
1009 (source
1010 (origin
1011 (method git-fetch)
1012 (uri
1013 (git-reference
1014 (url "https://github.com/sharplispers/clx")
1015 (commit version)))
1016 (sha256
1017 (base32
1018 "1vi67z9hpj5rr4xcmfbfwzmlcc0ah7hzhrmfid6lqdkva238v2wf"))
1019 (file-name (string-append "clx-" version))))
1020 (build-system asdf-build-system/sbcl)
1021 (native-inputs
1022 `(("fiasco" ,sbcl-fiasco)))
1023 (home-page "https://www.cliki.net/portable-clx")
1024 (synopsis "X11 client library for Common Lisp")
1025 (description "CLX is an X11 client library for Common Lisp. The code was
1026 originally taken from a CMUCL distribution, was modified somewhat in order to
1027 make it compile and run under SBCL, then a selection of patches were added
1028 from other CLXes around the net.")
1029 (license license:x11)))
1030
1031 (define-public cl-clx
1032 (sbcl-package->cl-source-package sbcl-clx))
1033
1034 (define-public ecl-clx
1035 (sbcl-package->ecl-package sbcl-clx))
1036
1037 (define-public sbcl-clx-truetype
1038 (let ((commit "c6e10a918d46632324d5863a8ed067a83fc26de8")
1039 (revision "1"))
1040 (package
1041 (name "sbcl-clx-truetype")
1042 (version (git-version "0.0.1" revision commit))
1043 (source
1044 (origin
1045 (method git-fetch)
1046 (uri (git-reference
1047 (url "https://github.com/l04m33/clx-truetype")
1048 (commit commit)))
1049 (file-name (git-file-name name version))
1050 (sha256
1051 (base32
1052 "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37"))
1053 (modules '((guix build utils)))
1054 (snippet
1055 '(begin
1056 (substitute* "package.lisp"
1057 ((":export") ":export\n :+font-cache-filename+"))
1058 #t))))
1059 (build-system asdf-build-system/sbcl)
1060 (inputs
1061 `(("clx" ,sbcl-clx)
1062 ("zpb-ttf" ,sbcl-zpb-ttf)
1063 ("cl-vectors" ,sbcl-cl-vectors)
1064 ("cl-fad" ,sbcl-cl-fad)
1065 ("cl-store" ,sbcl-cl-store)
1066 ("trivial-features" ,sbcl-trivial-features)))
1067 (home-page "https://github.com/l04m33/clx-truetype")
1068 (synopsis "Antialiased TrueType font rendering using CLX and XRender")
1069 (description "CLX-TrueType is pure common lisp solution for
1070 antialiased TrueType font rendering using CLX and XRender extension.")
1071 (license license:expat))))
1072
1073 (define-public cl-clx-truetype
1074 (sbcl-package->cl-source-package sbcl-clx-truetype))
1075
1076 (define-public ecl-clx-truetype
1077 (sbcl-package->ecl-package sbcl-clx-truetype))
1078
1079 (define-public sbcl-slynk
1080 (let ((commit "fb84318c08f59bc786e047006fc81e2ace568309"))
1081 (package
1082 (name "sbcl-slynk")
1083 (version (git-version "1.0.43" "4" commit))
1084 (source
1085 (origin
1086 (method git-fetch)
1087 (uri
1088 (git-reference
1089 (url "https://github.com/joaotavora/sly")
1090 (commit commit)))
1091 (sha256
1092 (base32 "0z123k9ak7yjb9bxb5qx48f33ma8066rhkqh8xc14z7shk75jybj"))
1093 (file-name (git-file-name "slynk" version))))
1094 (build-system asdf-build-system/sbcl)
1095 (outputs '("out" "image"))
1096 (arguments
1097 `(#:phases
1098 (modify-phases %standard-phases
1099 (add-after 'create-asdf-configuration 'build-image
1100 (lambda* (#:key outputs #:allow-other-keys)
1101 (build-image (string-append
1102 (assoc-ref %outputs "image")
1103 "/bin/slynk")
1104 %outputs
1105 #:dependencies '("slynk"
1106 "slynk/arglists"
1107 "slynk/fancy-inspector"
1108 "slynk/package-fu"
1109 "slynk/mrepl"
1110 "slynk/trace-dialog"
1111 "slynk/profiler"
1112 "slynk/stickers"
1113 "slynk/indentation"
1114 "slynk/retro"))
1115 #t)))))
1116 (synopsis "Common Lisp IDE for Emacs")
1117 (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
1118 It also features a completely redesigned REPL based on Emacs's own
1119 full-featured @code{comint-mode}, live code annotations, and a consistent interactive
1120 button interface. Everything can be copied to the REPL. One can create
1121 multiple inspectors with independent history.")
1122 (home-page "https://github.com/joaotavora/sly")
1123 (license license:public-domain)
1124 (properties `((cl-source-variant . ,(delay cl-slynk)))))))
1125
1126 (define-public cl-slynk
1127 (sbcl-package->cl-source-package sbcl-slynk))
1128
1129 (define-public ecl-slynk
1130 (let ((pkg (sbcl-package->ecl-package sbcl-slynk)))
1131 (package
1132 (inherit pkg)
1133 (outputs '("out"))
1134 (arguments
1135 (substitute-keyword-arguments (package-arguments pkg)
1136 ((#:phases phases)
1137 `(modify-phases ,phases
1138 (delete 'build-image))))))))
1139
1140 (define-public sbcl-parse-js
1141 (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
1142 (revision "1"))
1143 (package
1144 (name "sbcl-parse-js")
1145 (version (string-append "0.0.0-" revision "." (string-take commit 9)))
1146 (source
1147 (origin
1148 (method git-fetch)
1149 (uri (git-reference
1150 (url "http://marijn.haverbeke.nl/git/parse-js")
1151 (commit commit)))
1152 (file-name (string-append name "-" commit "-checkout"))
1153 (sha256
1154 (base32
1155 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
1156 (build-system asdf-build-system/sbcl)
1157 (home-page "https://marijnhaverbeke.nl/parse-js/")
1158 (synopsis "Parse JavaScript")
1159 (description "Parse-js is a Common Lisp package for parsing
1160 JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
1161 (license license:zlib))))
1162
1163 (define-public cl-parse-js
1164 (sbcl-package->cl-source-package sbcl-parse-js))
1165
1166 (define-public ecl-parse-js
1167 (sbcl-package->ecl-package sbcl-parse-js))
1168
1169 (define-public sbcl-parse-number
1170 (package
1171 (name "sbcl-parse-number")
1172 (version "1.7")
1173 (source
1174 (origin
1175 (method git-fetch)
1176 (uri (git-reference
1177 (url "https://github.com/sharplispers/parse-number/")
1178 (commit (string-append "v" version))))
1179 (file-name (git-file-name name version))
1180 (sha256
1181 (base32
1182 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"))))
1183 (build-system asdf-build-system/sbcl)
1184 (home-page "https://www.cliki.net/PARSE-NUMBER")
1185 (synopsis "Parse numbers")
1186 (description "@code{parse-number} is a library of functions for parsing
1187 strings into one of the standard Common Lisp number types without using the
1188 reader. @code{parse-number} accepts an arbitrary string and attempts to parse
1189 the string into one of the standard Common Lisp number types, if possible, or
1190 else @code{parse-number} signals an error of type @code{invalid-number}.")
1191 (license license:bsd-3)))
1192
1193 (define-public cl-parse-number
1194 (sbcl-package->cl-source-package sbcl-parse-number))
1195
1196 (define-public ecl-parse-number
1197 (sbcl-package->ecl-package sbcl-parse-number))
1198
1199 (define-public sbcl-iterate
1200 (package
1201 (name "sbcl-iterate")
1202 (version "1.5")
1203 (source
1204 (origin
1205 (method url-fetch)
1206 (uri (string-append "https://common-lisp.net/project/iterate/releases/"
1207 "iterate-" version ".tar.gz"))
1208 (sha256
1209 (base32
1210 "1lqsbhrkfl0yif46aymvb7l3nb9wdcmj4jyw485blj32jb4famzn"))))
1211 (build-system asdf-build-system/sbcl)
1212 (native-inputs
1213 `(("rt" ,sbcl-rt)))
1214 (home-page "https://common-lisp.net/project/iterate/")
1215 (synopsis "Iteration construct for Common Lisp")
1216 (description "@code{iterate} is an iteration construct for Common Lisp.
1217 It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
1218
1219 @itemize
1220 @item it is extensible,
1221 @item it helps editors like Emacs indent iterate forms by having a more
1222 lisp-like syntax, and
1223 @item it isn't part of the ANSI standard for Common Lisp.
1224 @end itemize\n")
1225 (license license:expat)))
1226
1227 (define-public cl-iterate
1228 (sbcl-package->cl-source-package sbcl-iterate))
1229
1230 (define-public ecl-iterate
1231 (sbcl-package->ecl-package sbcl-iterate))
1232
1233 (define-public sbcl-cl-uglify-js
1234 ;; There have been many bug fixes since the 2010 release.
1235 (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
1236 (revision "1"))
1237 (package
1238 (name "sbcl-cl-uglify-js")
1239 (version (string-append "0.1-" revision "." (string-take commit 9)))
1240 (source
1241 (origin
1242 (method git-fetch)
1243 (uri (git-reference
1244 (url "https://github.com/mishoo/cl-uglify-js")
1245 (commit commit)))
1246 (file-name (git-file-name name version))
1247 (sha256
1248 (base32
1249 "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"))))
1250 (build-system asdf-build-system/sbcl)
1251 (inputs
1252 `(("sbcl-parse-js" ,sbcl-parse-js)
1253 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
1254 ("sbcl-cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
1255 ("sbcl-parse-number" ,sbcl-parse-number)
1256 ("sbcl-iterate" ,sbcl-iterate)))
1257 (home-page "https://github.com/mishoo/cl-uglify-js")
1258 (synopsis "JavaScript compressor library for Common Lisp")
1259 (description "This is a Common Lisp version of UglifyJS, a JavaScript
1260 compressor. It works on data produced by @code{parse-js} to generate a
1261 @dfn{minified} version of the code. Currently it can:
1262
1263 @itemize
1264 @item reduce variable names (usually to single letters)
1265 @item join consecutive @code{var} statements
1266 @item resolve simple binary expressions
1267 @item group most consecutive statements using the @code{sequence} operator (comma)
1268 @item remove unnecessary blocks
1269 @item convert @code{IF} expressions in various ways that result in smaller code
1270 @item remove some unreachable code
1271 @end itemize\n")
1272 (license license:zlib))))
1273
1274 (define-public cl-uglify-js
1275 (sbcl-package->cl-source-package sbcl-cl-uglify-js))
1276
1277 (define-public ecl-cl-uglify-js
1278 (sbcl-package->ecl-package sbcl-cl-uglify-js))
1279
1280 (define-public uglify-js
1281 (package
1282 (inherit sbcl-cl-uglify-js)
1283 (name "uglify-js")
1284 (build-system trivial-build-system)
1285 (arguments
1286 `(#:modules ((guix build utils))
1287 #:builder
1288 (let* ((bin (string-append (assoc-ref %outputs "out") "/bin/"))
1289 (script (string-append bin "uglify-js")))
1290 (use-modules (guix build utils))
1291 (mkdir-p bin)
1292 (with-output-to-file script
1293 (lambda _
1294 (format #t "#!~a/bin/sbcl --script
1295
1296 (require :asdf)
1297 (asdf:initialize-source-registry
1298 #p\"~a/etc/common-lisp/source-registry.conf.d/\")
1299 (asdf:initialize-output-translations
1300 #p\"~a/etc/common-lisp/asdf-output-translations.conf.d/\")"
1301 (assoc-ref %build-inputs "sbcl")
1302 (assoc-ref %build-inputs "sbcl-cl-uglify-js")
1303 (assoc-ref %build-inputs "sbcl-cl-uglify-js"))
1304 ;; FIXME: cannot use progn here because otherwise it fails to
1305 ;; find cl-uglify-js.
1306 (for-each
1307 write
1308 '(;; Quiet, please!
1309 (let ((*standard-output* (make-broadcast-stream))
1310 (*error-output* (make-broadcast-stream)))
1311 (asdf:load-system :cl-uglify-js))
1312 (let ((file (cadr *posix-argv*)))
1313 (if file
1314 (format t "~a"
1315 (cl-uglify-js:ast-gen-code
1316 (cl-uglify-js:ast-mangle
1317 (cl-uglify-js:ast-squeeze
1318 (with-open-file (in file)
1319 (parse-js:parse-js in))))
1320 :beautify nil))
1321 (progn
1322 (format *error-output*
1323 "Please provide a JavaScript file.~%")
1324 (sb-ext:exit :code 1))))))))
1325 (chmod script #o755)
1326 #t)))
1327 (inputs
1328 `(("sbcl" ,sbcl)
1329 ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
1330 (synopsis "JavaScript compressor")))
1331
1332 (define-public sbcl-cl-strings
1333 (let ((revision "1")
1334 (commit "c5c5cbafbf3e6181d03c354d66e41a4f063f00ae"))
1335 (package
1336 (name "sbcl-cl-strings")
1337 (version (git-version "0.0.0" revision commit))
1338 (source
1339 (origin
1340 (method git-fetch)
1341 (uri (git-reference
1342 (url "https://github.com/diogoalexandrefranco/cl-strings")
1343 (commit commit)))
1344 (sha256
1345 (base32
1346 "00754mfaqallj480lwd346nkfb6ra8pa8xcxcylf4baqn604zlmv"))
1347 (file-name (string-append "cl-strings-" version "-checkout"))))
1348 (build-system asdf-build-system/sbcl)
1349 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
1350 (description
1351 "@command{cl-strings} is a small, portable, dependency-free set of
1352 utilities that make it even easier to manipulate text in Common Lisp. It has
1353 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
1354 (home-page "https://github.com/diogoalexandrefranco/cl-strings")
1355 (license license:expat))))
1356
1357 (define-public cl-strings
1358 (sbcl-package->cl-source-package sbcl-cl-strings))
1359
1360 (define-public ecl-cl-strings
1361 (sbcl-package->ecl-package sbcl-cl-strings))
1362
1363 (define-public sbcl-trivial-features
1364 ;; No release since 2014.
1365 (let ((commit "870d03de0ed44067963350936856e17ee725153e"))
1366 (package
1367 (name "sbcl-trivial-features")
1368 (version (git-version "0.8" "1" commit))
1369 (source
1370 (origin
1371 (method git-fetch)
1372 (uri (git-reference
1373 (url "https://github.com/trivial-features/trivial-features")
1374 (commit commit)))
1375 (file-name (git-file-name "trivial-features" version))
1376 (sha256
1377 (base32 "14pcahr8r2j3idhyy216zyw8jnj1dnrx0qbkkbdqkvwzign1ah4j"))))
1378 (build-system asdf-build-system/sbcl)
1379 (arguments
1380 '(#:asd-files '("trivial-features.asd")
1381 #:tests? #f))
1382 (home-page "https://cliki.net/trivial-features")
1383 (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
1384 (description "Trivial-features ensures that @code{*FEATURES*} is
1385 consistent across multiple Common Lisp implementations.")
1386 (license license:expat))))
1387
1388 (define-public cl-trivial-features
1389 (sbcl-package->cl-source-package sbcl-trivial-features))
1390
1391 (define-public ecl-trivial-features
1392 (sbcl-package->ecl-package sbcl-trivial-features))
1393
1394 (define-public sbcl-hu.dwim.asdf
1395 (let ((commit "67cdf84390e530af4303cc4bc815fdf2a5e48f59"))
1396 (package
1397 (name "sbcl-hu.dwim.asdf")
1398 (version "20200724")
1399 (source
1400 (origin
1401 (method git-fetch)
1402 (uri (git-reference
1403 (url "https://github.com/hu-dwim/hu.dwim.asdf")
1404 (commit commit)))
1405 (file-name (git-file-name name version))
1406 (sha256
1407 (base32
1408 "0p81jalilkaqw832a12s35q0z6rrarxjasm1jy6h4fvyj9pf0zkx"))))
1409 (build-system asdf-build-system/sbcl)
1410 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.asdf")
1411 (synopsis "Extensions to ASDF")
1412 (description "Various ASDF extensions such as attached test and
1413 documentation system, explicit development support, etc.")
1414 (license license:public-domain))))
1415
1416 (define-public cl-hu.dwim.asdf
1417 (sbcl-package->cl-source-package sbcl-hu.dwim.asdf))
1418
1419 (define-public ecl-hu.dwim.asdf
1420 (sbcl-package->ecl-package sbcl-hu.dwim.asdf))
1421
1422 (define-public sbcl-hu.dwim.stefil
1423 (let ((commit "414902c6f575818c39a8a156b8b61b1adfa73dad"))
1424 (package
1425 (name "sbcl-hu.dwim.stefil")
1426 (version (git-version "0.0.0" "2" commit))
1427 (source
1428 (origin
1429 (method git-fetch)
1430 (uri
1431 (git-reference
1432 (url "https://github.com/hu-dwim/hu.dwim.stefil")
1433 (commit commit)))
1434 (sha256
1435 (base32 "14izmjjim590rh74swrssavdmdznj2z8vhqixy780sjhpcr5pmkc"))
1436 (file-name (git-file-name "hu.dwim.stefil" version))))
1437 (build-system asdf-build-system/sbcl)
1438 (native-inputs
1439 `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
1440 (inputs
1441 `(("sbcl-alexandria" ,sbcl-alexandria)))
1442 (home-page "http://dwim.hu/project/hu.dwim.stefil")
1443 (synopsis "Simple test framework")
1444 (description "Stefil is a simple test framework for Common Lisp,
1445 with a focus on interactive development.")
1446 (license license:public-domain))))
1447
1448 (define-public cl-hu.dwim.stefil
1449 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
1450
1451 (define-public ecl-hu.dwim.stefil
1452 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
1453
1454 (define-public sbcl-babel
1455 ;; No release since 2014.
1456 (let ((commit "aeed2d1b76358db48e6b70a64399c05678a6b9ea"))
1457 (package
1458 (name "sbcl-babel")
1459 (version (git-version "0.5.0" "1" commit))
1460 (source
1461 (origin
1462 (method git-fetch)
1463 (uri (git-reference
1464 (url "https://github.com/cl-babel/babel")
1465 (commit commit)))
1466 (file-name (git-file-name "babel" version))
1467 (sha256
1468 (base32 "0lkvv4xdpv4cv1y2bqillmabx8sdb2y4l6pbinq6mjh33w2brpvb"))))
1469 (build-system asdf-build-system/sbcl)
1470 (native-inputs
1471 `(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
1472 (inputs
1473 `(("sbcl-alexandria" ,sbcl-alexandria)
1474 ("sbcl-trivial-features" ,sbcl-trivial-features)))
1475 (home-page "https://common-lisp.net/project/babel/")
1476 (synopsis "Charset encoding and decoding library")
1477 (description "Babel is a charset encoding and decoding library, not unlike
1478 GNU libiconv, but completely written in Common Lisp.")
1479 (license license:expat))))
1480
1481 (define-public cl-babel
1482 (sbcl-package->cl-source-package sbcl-babel))
1483
1484 (define-public ecl-babel
1485 (sbcl-package->ecl-package sbcl-babel))
1486
1487 (define-public sbcl-cl-yacc
1488 (package
1489 (name "sbcl-cl-yacc")
1490 (version "0.3")
1491 (source
1492 (origin
1493 (method git-fetch)
1494 (uri (git-reference
1495 (url "https://github.com/jech/cl-yacc")
1496 (commit (string-append "cl-yacc-" version))))
1497 (sha256
1498 (base32
1499 "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib"))
1500 (file-name (string-append "cl-yacc-" version "-checkout"))))
1501 (build-system asdf-build-system/sbcl)
1502 (arguments
1503 `(#:asd-systems '("yacc")))
1504 (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc")
1505 (description
1506 "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit
1507 to AT&T Yacc, Berkeley Yacc, GNU Bison, Zebu, lalr.cl or lalr.scm.
1508
1509 CL-Yacc uses the algorithm due to Aho and Ullman, which is the one also used
1510 by AT&T Yacc, Berkeley Yacc and Zebu. It does not use the faster algorithm due
1511 to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
1512 (home-page "https://www.irif.fr/~jch//software/cl-yacc/")
1513 (license license:expat)))
1514
1515 (define-public cl-yacc
1516 (sbcl-package->cl-source-package sbcl-cl-yacc))
1517
1518 (define-public ecl-cl-yacc
1519 (sbcl-package->ecl-package sbcl-cl-yacc))
1520
1521 (define-public sbcl-eager-future2
1522 (let ((commit "54df8effd9d9eccac917509590286b5ac5f9cb30"))
1523 (package
1524 (name "sbcl-eager-future2")
1525 (version (git-version "0.0.0" "1" commit))
1526 (source
1527 (origin
1528 (method git-fetch)
1529 (uri (git-reference
1530 (url "https://gitlab.common-lisp.net/vsedach/eager-future2.git")
1531 (commit commit)))
1532 (file-name (git-file-name name version))
1533 (sha256
1534 (base32
1535 "1qs1bv3m0ki8l5czhsflxcryh22r9d9g9a3a3b0cr0pl954q5rld"))))
1536 (build-system asdf-build-system/sbcl)
1537 (inputs
1538 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1539 ("trivial-garbage" ,sbcl-trivial-garbage)))
1540 (synopsis "Futures promises synchronization mechanism for Common Lisp")
1541 (description
1542 "Eager Future2 is a Common Lisp library that provides composable
1543 concurrency primitives that unify parallel and lazy evaluation, are integrated
1544 with the Common Lisp condition system, and have automatic resource
1545 management.")
1546 (home-page "https://gitlab.common-lisp.net/vsedach/eager-future2")
1547 (license license:lgpl3+))))
1548
1549 (define-public cl-eager-future2
1550 (sbcl-package->cl-source-package sbcl-eager-future2))
1551
1552 (define-public ecl-eager-future2
1553 (sbcl-package->ecl-package sbcl-eager-future2))
1554
1555 (define-public sbcl-jpl-util
1556 (let ((commit "0311ed374e19a49d43318064d729fe3abd9a3b62"))
1557 (package
1558 (name "sbcl-jpl-util")
1559 (version "20151005")
1560 (source
1561 (origin
1562 (method git-fetch)
1563 (uri (git-reference
1564 ;; Quicklisp uses this fork.
1565 (url "https://github.com/hawkir/cl-jpl-util")
1566 (commit commit)))
1567 (file-name
1568 (git-file-name "jpl-util" version))
1569 (sha256
1570 (base32
1571 "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"))))
1572 (build-system asdf-build-system/sbcl)
1573 (synopsis "Collection of Common Lisp utility functions and macros")
1574 (description
1575 "@command{cl-jpl-util} is a collection of Common Lisp utility functions
1576 and macros, primarily for software projects written in CL by the author.")
1577 (home-page "https://www.thoughtcrime.us/software/cl-jpl-util/")
1578 (license license:isc))))
1579
1580 (define-public cl-jpl-util
1581 (sbcl-package->cl-source-package sbcl-jpl-util))
1582
1583 (define-public ecl-jpl-util
1584 (sbcl-package->ecl-package sbcl-jpl-util))
1585
1586 (define-public sbcl-piping
1587 (let ((commit "c7a4163c00dea7e72bf6ad33d6abac0d5826a656")
1588 (revision "1"))
1589 (package
1590 (name "sbcl-piping")
1591 (version (git-version "2.0.0" revision commit))
1592 (source
1593 (origin
1594 (method git-fetch)
1595 (uri (git-reference
1596 (url "https://github.com/Shinmera/piping/")
1597 (commit commit)))
1598 (file-name (git-file-name "piping" version))
1599 (sha256
1600 (base32 "0in84qnfkynm36d4n4d6v87vprpi27xrydnga462wfhplji6klv5"))))
1601 (build-system asdf-build-system/sbcl)
1602 (home-page "https://shinmera.github.io/piping/")
1603 (synopsis "Library to enable simple message pipelines")
1604 (description
1605 "This is a Common Lisp library to enable simple message pipelines.")
1606 (license license:zlib))))
1607
1608 (define-public ecl-piping
1609 (sbcl-package->ecl-package sbcl-piping))
1610
1611 (define-public cl-piping
1612 (sbcl-package->cl-source-package sbcl-piping))
1613
1614 (define-public sbcl-cl-pcg
1615 (let ((commit "8263d85ab0ca17fb05637a4430c2d564456bce8f")
1616 (revision "1"))
1617 (package
1618 (name "sbcl-cl-pcg")
1619 (version (git-version "1.0.0" revision commit))
1620 (source
1621 (origin
1622 (method git-fetch)
1623 (uri (git-reference
1624 (url "https://github.com/sjl/cl-pcg")
1625 (commit commit)))
1626 (file-name (git-file-name "cl-pcg" version))
1627 (sha256
1628 (base32 "0s57wvvlvshp1gcp9i9d3qcmqhswnxps3i0y7wbb0v8i1a3p46m4"))))
1629 (build-system asdf-build-system/sbcl)
1630 (native-inputs
1631 `(("1am" ,sbcl-1am)))
1632 (home-page "https://github.com/sjl/cl-pcg")
1633 (synopsis "Permuted congruential generators in Common Lisp")
1634 (description
1635 "This is a bare-bones Permuted Congruential Generator implementation in
1636 pure Common Lisp.")
1637 (license license:expat))))
1638
1639 (define-public ecl-cl-pcg
1640 (sbcl-package->ecl-package sbcl-cl-pcg))
1641
1642 (define-public cl-pcg
1643 (sbcl-package->cl-source-package sbcl-cl-pcg))
1644
1645 (define-public sbcl-seedable-rng
1646 (let ((commit "aa1a1564b6e07e2698df37c7a98348c4f762cb15")
1647 (revision "1"))
1648 (package
1649 (name "sbcl-seedable-rng")
1650 (version (git-version "0.0.0" revision commit))
1651 (source
1652 (origin
1653 (method git-fetch)
1654 (uri (git-reference
1655 (url "https://git.mfiano.net/mfiano/seedable-rng")
1656 (commit commit)))
1657 (file-name (git-file-name "seedable-rng" version))
1658 (sha256
1659 (base32 "1ldpsbp3qrfzvknclsxj3sdyms1jf9ad20dvh4w0kw3zgahn2nr5"))))
1660 (build-system asdf-build-system/sbcl)
1661 (inputs
1662 `(("cl-pcg" ,sbcl-cl-pcg)
1663 ("golden-utils" ,sbcl-golden-utils)
1664 ("ironclad" ,sbcl-ironclad)))
1665 (home-page "https://git.mfiano.net/mfiano/seedable-rng")
1666 (synopsis "Common Lisp random number generator")
1667 (description
1668 "SEEDABLE-RNG provides a convenient means of generating random numbers
1669 that are seedable with deterministic results across hardware and Common Lisp
1670 implementations.")
1671 (license license:expat))))
1672
1673 (define-public ecl-seedable-rng
1674 (sbcl-package->ecl-package sbcl-seedable-rng))
1675
1676 (define-public cl-seedable-rng
1677 (sbcl-package->cl-source-package sbcl-seedable-rng))
1678
1679 (define-public sbcl-jpl-queues
1680 (package
1681 (name "sbcl-jpl-queues")
1682 (version "0.1")
1683 (source
1684 (origin
1685 (method url-fetch)
1686 (uri (string-append
1687 "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-"
1688 version
1689 ".tar.gz"))
1690 (sha256
1691 (base32
1692 "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96"))))
1693 (build-system asdf-build-system/sbcl)
1694 (inputs
1695 `(("jpl-util" ,sbcl-jpl-util)
1696 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1697 (arguments
1698 ;; Tests seem to be broken.
1699 `(#:tests? #f))
1700 (synopsis "Common Lisp library implementing a few different kinds of queues")
1701 (description
1702 "A Common Lisp library implementing a few different kinds of queues:
1703
1704 @itemize
1705 @item Bounded and unbounded FIFO queues.
1706 @item Lossy bounded FIFO queues that drop elements when full.
1707 @item Unbounded random-order queues that use less memory than unbounded FIFO queues.
1708 @end itemize
1709
1710 Additionally, a synchronization wrapper is provided to make any queue
1711 conforming to the @command{jpl-queues} API thread-safe for lightweight
1712 multithreading applications. (See Calispel for a more sophisticated CL
1713 multithreaded message-passing library with timeouts and alternation among
1714 several blockable channels.)")
1715 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1716 (license license:isc)))
1717
1718 (define-public cl-jpl-queues
1719 (sbcl-package->cl-source-package sbcl-jpl-queues))
1720
1721 (define-public ecl-jpl-queues
1722 (sbcl-package->ecl-package sbcl-jpl-queues))
1723
1724 (define-public sbcl-calispel
1725 (let ((commit "e9f2f9c1af97f4d7bb4c8ac25fb2a8f3e8fada7a"))
1726 (package
1727 (name "sbcl-calispel")
1728 (version (git-version "0.1" "1" commit))
1729 (source
1730 (origin
1731 (method git-fetch)
1732 (uri (git-reference
1733 ;; This fork replaces the dependency on the obsolete
1734 ;; eager-future with eager-future2.
1735 (url "https://github.com/hawkir/calispel")
1736 (commit commit)))
1737 (file-name (git-file-name name version))
1738 (sha256
1739 (base32
1740 "08bmf3pi7n5hadpmqqkg65cxcj6kbvm997wcs1f53ml1nb79d9z8"))))
1741 (build-system asdf-build-system/sbcl)
1742 (inputs
1743 `(("jpl-queues" ,sbcl-jpl-queues)
1744 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1745 (native-inputs
1746 `(("eager-future2" ,sbcl-eager-future2)))
1747 (synopsis "Thread-safe message-passing channels in Common Lisp")
1748 (description
1749 "Calispel is a Common Lisp library for thread-safe message-passing
1750 channels, in the style of the occam programming language, also known as
1751 communicating sequential processes (CSP). See
1752 @url{https://en.wikipedia.org/wiki/Communicating_sequential_processes}.
1753
1754 Calispel channels let one thread communicate with another, facilitating
1755 unidirectional communication of any Lisp object. Channels may be unbuffered,
1756 where a sender waits for a receiver (or vice versa) before either operation can
1757 continue, or channels may be buffered with flexible policy options.
1758
1759 Because sending and receiving on a channel may block, either operation can time
1760 out after a specified amount of time.
1761
1762 A syntax for alternation is provided (like @code{ALT} in occam, or Unix
1763 @code{select()}): given a sequence of operations, any or all of which may
1764 block, alternation selects the first operation that doesn't block and executes
1765 associated code. Alternation can also time out, executing an \"otherwise\"
1766 clause if no operation becomes available within a set amount of time.
1767
1768 Calispel is a message-passing library, and as such leaves the role of
1769 threading abstractions and utilities left to be filled by complementary
1770 libraries such as Bordeaux-Threads and Eager Future.")
1771 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1772 (license license:isc))))
1773
1774 (define-public cl-calispel
1775 (sbcl-package->cl-source-package sbcl-calispel))
1776
1777 (define-public ecl-calispel
1778 (sbcl-package->ecl-package sbcl-calispel))
1779
1780 (define-public sbcl-eos
1781 (let ((commit "b4413bccc4d142cbe1bf49516c3a0a22c9d99243")
1782 (revision "2"))
1783 (package
1784 (name "sbcl-eos")
1785 (version (git-version "0.0.0" revision commit))
1786 (source
1787 (origin
1788 (method git-fetch)
1789 (uri (git-reference
1790 (url "https://github.com/adlai/Eos")
1791 (commit commit)))
1792 (sha256
1793 (base32 "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk"))
1794 (file-name (git-file-name "eos" version))))
1795 (build-system asdf-build-system/sbcl)
1796 (synopsis "Unit Testing for Common Lisp")
1797 (description
1798 "Eos was a unit testing library for Common Lisp.
1799 It began as a fork of FiveAM; however, FiveAM development has continued, while
1800 that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
1801 (home-page "https://github.com/adlai/Eos")
1802 (license license:expat))))
1803
1804 (define-public cl-eos
1805 (sbcl-package->cl-source-package sbcl-eos))
1806
1807 (define-public ecl-eos
1808 (sbcl-package->ecl-package sbcl-eos))
1809
1810 (define-public sbcl-esrap
1811 (let ((commit "da6b24fb18bdb8e7e177bcf2820cdaf0b560deb6")
1812 (revision "1"))
1813 (package
1814 (name "sbcl-esrap")
1815 (version (git-version "0.18" revision commit))
1816 (source
1817 (origin
1818 (method git-fetch)
1819 (uri (git-reference
1820 (url "https://github.com/scymtym/esrap")
1821 (commit commit)))
1822 (sha256
1823 (base32 "12vf3bxwzf8icnf6rw1xalvm7493cfbb46r2vlhc09s59djkf39q"))
1824 (file-name (git-file-name "esrap" version))))
1825 (build-system asdf-build-system/sbcl)
1826 (native-inputs
1827 `(("fiveam" ,sbcl-fiveam)))
1828 (inputs
1829 `(("alexandria" ,sbcl-alexandria)))
1830 (synopsis "Common Lisp packrat parser")
1831 (description
1832 "This is a packrat parser for Common Lisp.
1833 In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
1834
1835 @itemize
1836 @item dynamic redefinition of nonterminals
1837 @item inline grammars
1838 @item semantic predicates
1839 @item introspective facilities (describing grammars, tracing, setting breaks)
1840 @item left-recursive grammars
1841 @item functions as terminals
1842 @item accurate, customizable parse error reports
1843 @end itemize\n")
1844 (home-page "https://scymtym.github.io/esrap/")
1845 (license license:expat))))
1846
1847 (define-public cl-esrap
1848 (sbcl-package->cl-source-package sbcl-esrap))
1849
1850 (define-public ecl-esrap
1851 (sbcl-package->ecl-package sbcl-esrap))
1852
1853 (define-public sbcl-split-sequence
1854 (package
1855 (name "sbcl-split-sequence")
1856 (version "2.0.0")
1857 (source
1858 (origin
1859 (method git-fetch)
1860 (uri (git-reference
1861 (url "https://github.com/sharplispers/split-sequence")
1862 (commit (string-append "v" version))))
1863 (sha256
1864 (base32
1865 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
1866 (file-name (git-file-name "split-sequence" version))))
1867 (build-system asdf-build-system/sbcl)
1868 (native-inputs
1869 `(("fiveam" ,sbcl-fiveam)))
1870 (synopsis "Member of the Common Lisp Utilities family of programs")
1871 (description
1872 "Splits sequence into a list of subsequences delimited by objects
1873 satisfying the test.")
1874 (home-page "https://cliki.net/split-sequence")
1875 (license license:expat)))
1876
1877 (define-public cl-split-sequence
1878 (sbcl-package->cl-source-package sbcl-split-sequence))
1879
1880 (define-public ecl-split-sequence
1881 (sbcl-package->ecl-package sbcl-split-sequence))
1882
1883 (define-public sbcl-html-encode
1884 (package
1885 (name "sbcl-html-encode")
1886 (version "1.2")
1887 (source
1888 (origin
1889 (method url-fetch)
1890 (uri (string-append
1891 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1892 version ".tgz"))
1893 (sha256
1894 (base32
1895 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1896 (file-name (string-append "colorize" version "-checkout"))))
1897 (build-system asdf-build-system/sbcl)
1898 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1899 (description
1900 "A library for encoding text in various web-savvy encodings.")
1901 (home-page "http://quickdocs.org/html-encode/")
1902 (license license:expat)))
1903
1904 (define-public cl-html-encode
1905 (sbcl-package->cl-source-package sbcl-html-encode))
1906
1907 (define-public ecl-html-encode
1908 (sbcl-package->ecl-package sbcl-html-encode))
1909
1910 (define-public sbcl-colorize
1911 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1912 (package
1913 (name "sbcl-colorize")
1914 (version (git-version "0.0.0" "1" commit))
1915 (source
1916 (origin
1917 (method git-fetch)
1918 (uri (git-reference
1919 (url "https://github.com/kingcons/colorize")
1920 (commit commit)))
1921 (sha256
1922 (base32
1923 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1924 (file-name (git-file-name "colorize" version))))
1925 (build-system asdf-build-system/sbcl)
1926 (inputs
1927 `(("alexandria" ,sbcl-alexandria)
1928 ("split-sequence" ,sbcl-split-sequence)
1929 ("html-encode" ,sbcl-html-encode)))
1930 (synopsis "Common Lisp for syntax highlighting")
1931 (description
1932 "@command{colorize} is a Lisp library for syntax highlighting
1933 supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1934 C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1935 (home-page "https://github.com/kingcons/colorize")
1936 ;; TODO: Missing license?
1937 (license license:expat))))
1938
1939 (define-public cl-colorize
1940 (sbcl-package->cl-source-package sbcl-colorize))
1941
1942 (define-public ecl-colorize
1943 (sbcl-package->ecl-package sbcl-colorize))
1944
1945 (define-public sbcl-3bmd
1946 (let ((commit "6fc5759448f6f6df6f6df556e020a289a2643288")
1947 (revision "2"))
1948 (package
1949 (name "sbcl-3bmd")
1950 (version (git-version "0.0.0" revision commit))
1951 (source
1952 (origin
1953 (method git-fetch)
1954 (uri (git-reference
1955 (url "https://github.com/3b/3bmd")
1956 (commit commit)))
1957 (sha256
1958 (base32 "1avmbp8xdjlbqpqk7p3vmj7abiw5p3vb5mrxp4wlvgql4sf6z3p4"))
1959 (file-name (git-file-name "3bmd" version))))
1960 (build-system asdf-build-system/sbcl)
1961 (arguments
1962 `(#:asd-systems
1963 '("3bmd"
1964 "3bmd-ext-definition-lists"
1965 "3bmd-ext-math"
1966 "3bmd-ext-tables"
1967 "3bmd-ext-wiki-links"
1968 "3bmd-youtube"
1969 "3bmd-ext-code-blocks")))
1970 (inputs
1971 `(("alexandria" ,sbcl-alexandria)
1972 ("colorize" ,sbcl-colorize)
1973 ("esrap" ,sbcl-esrap)
1974 ("split-sequence" ,sbcl-split-sequence)))
1975 (home-page "https://github.com/3b/3bmd")
1976 (synopsis "Markdown processor in Command Lisp using esrap parser")
1977 (description
1978 "This is a Common Lisp Markdown to HTML converter, using @command{esrap}
1979 for parsing, and grammar based on @command{peg-markdown}.")
1980 (license license:expat))))
1981
1982 (define-public cl-3bmd
1983 (sbcl-package->cl-source-package sbcl-3bmd))
1984
1985 (define-public ecl-3bmd
1986 (sbcl-package->ecl-package sbcl-3bmd))
1987
1988 (define-public sbcl-cl-fad
1989 (package
1990 (name "sbcl-cl-fad")
1991 (version "0.7.6")
1992 (source
1993 (origin
1994 (method git-fetch)
1995 (uri (git-reference
1996 (url "https://github.com/edicl/cl-fad/")
1997 (commit (string-append "v" version))))
1998 (sha256
1999 (base32
2000 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
2001 (file-name (string-append "cl-fad" version "-checkout"))))
2002 (build-system asdf-build-system/sbcl)
2003 (inputs
2004 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
2005 (synopsis "Portable pathname library for Common Lisp")
2006 (description
2007 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
2008 Lisp's standard pathname functions. It is intended to provide some
2009 unification between current CL implementations on Windows, OS X, Linux, and
2010 Unix. Most of the code was written by Peter Seibel for his book Practical
2011 Common Lisp.")
2012 (home-page "https://edicl.github.io/cl-fad/")
2013 (license license:bsd-2)))
2014
2015 (define-public cl-fad
2016 (sbcl-package->cl-source-package sbcl-cl-fad))
2017
2018 (define-public ecl-cl-fad
2019 (sbcl-package->ecl-package sbcl-cl-fad))
2020
2021 (define-public sbcl-fn
2022 (let ((commit "8d8587d03a7b5e26b306fc90018e385d9e5acc2c")
2023 (revision "1"))
2024 (package
2025 (name "sbcl-fn")
2026 (version (git-version "0.0.0" revision commit))
2027 (source
2028 (origin
2029 (method git-fetch)
2030 (uri (git-reference
2031 (url "https://github.com/cbaggers/fn")
2032 (commit commit)))
2033 (file-name (git-file-name "fn" version))
2034 (sha256
2035 (base32 "0yyp9z6iwx476whz0n1rpjznjyqqhlylhzwpgg5xx92lxmskl752"))))
2036 (build-system asdf-build-system/sbcl)
2037 (inputs
2038 `(("named-readtables" ,sbcl-named-readtables)))
2039 (home-page "https://github.com/cbaggers/fn")
2040 (synopsis "Macros for lambda brevity")
2041 (description
2042 "This is a Common Lisp library providing lambda shorthand macros aiming
2043 to be used in cases where the word @emph{lambda} and the arguments are longer
2044 than the body of the lambda.")
2045 (license license:public-domain))))
2046
2047 (define-public ecl-fn
2048 (sbcl-package->ecl-package sbcl-fn))
2049
2050 (define-public cl-fn
2051 (sbcl-package->cl-source-package sbcl-fn))
2052
2053 (define-public sbcl-rt
2054 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
2055 (revision "1"))
2056 (package
2057 (name "sbcl-rt")
2058 (version (git-version "1990.12.19" revision commit))
2059 (source
2060 (origin
2061 (method git-fetch)
2062 (uri (git-reference
2063 (url "http://git.kpe.io/rt.git")
2064 (commit commit)))
2065 (file-name (git-file-name name version))
2066 (sha256
2067 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
2068 (build-system asdf-build-system/sbcl)
2069 (synopsis "MIT Regression Tester")
2070 (description
2071 "RT provides a framework for writing regression test suites.")
2072 (home-page "https://www.cliki.net/rt")
2073 (license license:expat))))
2074
2075 (define-public cl-rt
2076 (sbcl-package->cl-source-package sbcl-rt))
2077
2078 (define-public ecl-rt
2079 (sbcl-package->ecl-package sbcl-rt))
2080
2081 (define-public sbcl-nibbles
2082 ;; No tagged release since 2018.
2083 (let ((commit "8e6b9b42d9f69000f55e5c45ad974d9e376ffdbd")
2084 (revision "1"))
2085 (package
2086 (name "sbcl-nibbles")
2087 (version (git-version "0.14" revision commit))
2088 (source
2089 (origin
2090 (method git-fetch)
2091 (uri (git-reference
2092 (url "https://github.com/sharplispers/nibbles/")
2093 (commit commit)))
2094 (sha256
2095 (base32 "15qlsm82h36pjgvfnbzdg60l21qxbaii4d049jc5y0dn56y93amb"))
2096 (file-name (git-file-name "nibbles" version))))
2097 (build-system asdf-build-system/sbcl)
2098 (native-inputs
2099 ;; Tests only.
2100 `(("rt" ,sbcl-rt)))
2101 (synopsis
2102 "Common Lisp library for accessing octet-addressed blocks of data")
2103 (description
2104 "When dealing with network protocols and file formats, it's common to
2105 have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
2106 flavors. Common Lisp sort of supports this by specifying :element-type for
2107 streams, but that facility is underspecified and there's nothing similar for
2108 read/write from octet vectors. What most people wind up doing is rolling their
2109 own small facility for their particular needs and calling it a day.
2110
2111 This library attempts to be comprehensive and centralize such
2112 facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
2113 vectors in signed or unsigned flavors are provided; these functions are also
2114 SETFable. Since it's sometimes desirable to read/write directly from streams,
2115 functions for doing so are also provided. On some implementations,
2116 reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
2117 also be supported.")
2118 (home-page "https://github.com/sharplispers/nibbles")
2119 (license license:bsd-3))))
2120
2121 (define-public cl-nibbles
2122 (sbcl-package->cl-source-package sbcl-nibbles))
2123
2124 (define-public ecl-nibbles
2125 (sbcl-package->ecl-package sbcl-nibbles))
2126
2127 (define-public sbcl-ironclad
2128 (package
2129 (name "sbcl-ironclad")
2130 (version "0.55")
2131 (source
2132 (origin
2133 (method git-fetch)
2134 (uri (git-reference
2135 (url "https://github.com/sharplispers/ironclad/")
2136 (commit (string-append "v" version))))
2137 (sha256
2138 (base32 "1w4slnc4143w1gcff1wxsivzb8kcji0bpd7y9rld3sabay0qprwl"))
2139 (file-name (git-file-name name version))))
2140 (build-system asdf-build-system/sbcl)
2141 (native-inputs
2142 ;; Tests only.
2143 `(("rt" ,sbcl-rt)))
2144 (inputs
2145 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2146 ("flexi-streams" ,sbcl-flexi-streams)))
2147 (synopsis "Cryptographic toolkit written in Common Lisp")
2148 (description
2149 "Ironclad is a cryptography library written entirely in Common Lisp.
2150 It includes support for several popular ciphers, digests, MACs and public key
2151 cryptography algorithms. For several implementations that support Gray
2152 streams, support is included for convenient stream wrappers.")
2153 (home-page "https://github.com/sharplispers/ironclad")
2154 (license license:bsd-3)))
2155
2156 (define-public cl-ironclad
2157 (sbcl-package->cl-source-package sbcl-ironclad))
2158
2159 (define-public ecl-ironclad
2160 (sbcl-package->ecl-package sbcl-ironclad))
2161
2162 (define-public sbcl-named-readtables
2163 (let ((commit "585a28eee8b1b1999279b48cb7e9731187e14b66")
2164 (revision "3"))
2165 (package
2166 (name "sbcl-named-readtables")
2167 (version (git-version "0.9" revision commit))
2168 (source
2169 (origin
2170 (method git-fetch)
2171 (uri (git-reference
2172 (url "https://github.com/melisgl/named-readtables")
2173 (commit commit)))
2174 (sha256
2175 (base32 "072p5djqq9pliw9r20rmpz5r5q5yn6rhbp98vkkp7gfcnp5ppj51"))
2176 (file-name (git-file-name "named-readtables" version))))
2177 (build-system asdf-build-system/sbcl)
2178 (home-page "https://github.com/melisgl/named-readtables/")
2179 (synopsis "Library that creates a namespace for named readtables")
2180 (description
2181 "Named readtables is a library that creates a namespace for named
2182 readtables, which is akin to package namespacing in Common Lisp.")
2183 (license license:bsd-3))))
2184
2185 (define-public cl-named-readtables
2186 (sbcl-package->cl-source-package sbcl-named-readtables))
2187
2188 (define-public ecl-named-readtables
2189 (sbcl-package->ecl-package sbcl-named-readtables))
2190
2191 (define-public sbcl-py-configparser
2192 ;; NOTE: (Sharlatan <2021-01-05 Tue> <19:52:19 UTC+0000>) Project updated last
2193 ;; time 8y ago, it looks like abandoned. VCS of the project:
2194 ;; https://svn.common-lisp.net/py-configparser/trunk
2195 (package
2196 (name "sbcl-py-configparser")
2197 (version "1.0.3")
2198 (source
2199 (origin
2200 (method url-fetch)
2201 (uri (string-append
2202 "https://common-lisp.net/project/py-configparser/releases/"
2203 "py-configparser-" version ".tar.gz"))
2204 (sha256
2205 (base32 "0i4rqz5cv7d7c2w81x5lwy05s6fbi3zikf4k5kpi3bkx3cabwdxj"))))
2206 (build-system asdf-build-system/sbcl)
2207 (inputs
2208 `(("parse-number" ,sbcl-parse-number)))
2209 (home-page "http://common-lisp.net/project/py-configparser/")
2210 (synopsis "ConfigParser Python module functionality for Common Lisp")
2211 (description "The py-configparser package implements the ConfigParser
2212 Python module functionality in Common Lisp. In short, it implements reading
2213 and writing of .INI-file style configuration files with sections containing
2214 key/value pairs of configuration options. In line with the functionalities in
2215 the python module, does this package implement basic interpolation of option
2216 values in other options.")
2217 (license license:expat)))
2218
2219 (define-public cl-py-configparser
2220 (sbcl-package->cl-source-package sbcl-py-configparser))
2221
2222 (define-public ecl-py-configparser
2223 (sbcl-package->ecl-package sbcl-py-configparser))
2224
2225 (define-public sbcl-pythonic-string-reader
2226 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
2227 (package
2228 (name "sbcl-pythonic-string-reader")
2229 (version (git-version "0.0.0" "1" commit))
2230 (source
2231 (origin
2232 (method git-fetch)
2233 (uri (git-reference
2234 (url "https://github.com/smithzvk/pythonic-string-reader/")
2235 (commit commit)))
2236 (sha256
2237 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
2238 (file-name (git-file-name "pythonic-string-reader" version))))
2239 (build-system asdf-build-system/sbcl)
2240 (inputs
2241 `(("named-readtables" ,sbcl-named-readtables)))
2242 (home-page "https://github.com/smithzvk/pythonic-string-reader")
2243 (synopsis "Read table modification inspired by Python's three quote strings")
2244 (description "This piece of code sets up some reader macros that make it
2245 simpler to input string literals which contain backslashes and double quotes
2246 This is very useful for writing complicated docstrings and, as it turns out,
2247 writing code that contains string literals that contain code themselves.")
2248 (license license:bsd-3))))
2249
2250 (define-public cl-pythonic-string-reader
2251 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
2252
2253 (define-public ecl-pythonic-string-reader
2254 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
2255
2256 (define-public sbcl-slime-swank
2257 (package
2258 (name "sbcl-slime-swank")
2259 (version "2.26")
2260 (source
2261 (origin
2262 (file-name (git-file-name "slime-swank" version))
2263 (method git-fetch)
2264 (uri (git-reference
2265 (url "https://github.com/slime/slime/")
2266 (commit (string-append "v" version))))
2267 (sha256
2268 (base32
2269 "0mxb1wnw19v0s72w2wkz5afdlzvpy5nn7pr4vav403qybac0sw5c"))))
2270 (build-system asdf-build-system/sbcl)
2271 (arguments
2272 '(#:asd-systems '("swank")))
2273 (home-page "https://github.com/slime/slime")
2274 (synopsis "Common Lisp Swank server")
2275 (description
2276 "This is only useful if you want to start a Swank server in a Lisp
2277 processes that doesn't run under Emacs. Lisp processes created by
2278 @command{M-x slime} automatically start the server.")
2279 (license (list license:gpl2+ license:public-domain))))
2280
2281 (define-public cl-slime-swank
2282 (sbcl-package->cl-source-package sbcl-slime-swank))
2283
2284 (define-public ecl-slime-swank
2285 (sbcl-package->ecl-package sbcl-slime-swank))
2286
2287 (define-public sbcl-mgl-pax
2288 (let ((commit "4ada6eb26364e71addb169ce58e4ba83bc7a8eaa")
2289 (revision "2"))
2290 (package
2291 (name "sbcl-mgl-pax")
2292 (version (git-version "0.0.3" revision commit))
2293 (source
2294 (origin
2295 (method git-fetch)
2296 (uri (git-reference
2297 (url "https://github.com/melisgl/mgl-pax")
2298 (commit commit)))
2299 (sha256
2300 (base32 "1s38crgvmd9hgqwsscqpj6m6c10a074zjgg8k5sl15yih1wkpssm"))
2301 (file-name (git-file-name "mgl-pax" version))))
2302 (build-system asdf-build-system/sbcl)
2303 (inputs
2304 `(("3bmd" ,sbcl-3bmd)
2305 ("babel" ,sbcl-babel)
2306 ("cl-fad" ,sbcl-cl-fad)
2307 ("ironclad" ,sbcl-ironclad)
2308 ("named-readtables" ,sbcl-named-readtables)
2309 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)
2310 ("swank" ,sbcl-slime-swank)))
2311 (synopsis "Exploratory programming environment and documentation generator")
2312 (description
2313 "PAX provides an extremely poor man's Explorable Programming
2314 environment. Narrative primarily lives in so called sections that mix markdown
2315 docstrings with references to functions, variables, etc, all of which should
2316 probably have their own docstrings.
2317
2318 The primary focus is on making code easily explorable by using SLIME's
2319 @command{M-.} (@command{slime-edit-definition}). See how to enable some
2320 fanciness in Emacs Integration. Generating documentation from sections and all
2321 the referenced items in Markdown or HTML format is also implemented.
2322
2323 With the simplistic tools provided, one may accomplish similar effects as with
2324 Literate Programming, but documentation is generated from code, not vice versa
2325 and there is no support for chunking yet. Code is first, code must look
2326 pretty, documentation is code.")
2327 (home-page "http://quotenil.com/")
2328 (license license:expat))))
2329
2330 (define-public cl-mgl-pax
2331 (sbcl-package->cl-source-package sbcl-mgl-pax))
2332
2333 (define-public ecl-mgl-pax
2334 (sbcl-package->ecl-package sbcl-mgl-pax))
2335
2336 (define-public sbcl-mssql
2337 (let ((commit "045602a19a32254108f2b75871049293f49731eb")
2338 (revision "1"))
2339 (package
2340 (name "sbcl-mssql")
2341 (version (git-version "0.0.3" revision commit))
2342 (source
2343 (origin
2344 (method git-fetch)
2345 (uri (git-reference
2346 (url "https://github.com/archimag/cl-mssql")
2347 (commit commit)))
2348 (file-name (git-file-name "cl-mssql" version))
2349 (sha256
2350 (base32 "09i50adppgc1ybm3ka9vbindhwa2x29f9n3n0jkrryymdhb8zknm"))))
2351 (build-system asdf-build-system/sbcl)
2352 (inputs
2353 `(("cffi" ,sbcl-cffi)
2354 ("freetds" ,freetds)
2355 ("garbage-pools" ,sbcl-garbage-pools)
2356 ("iterate" ,sbcl-iterate)
2357 ("parse-number" ,sbcl-parse-number)))
2358 (arguments
2359 `(#:phases
2360 (modify-phases %standard-phases
2361 (add-after 'unpack 'fix-paths
2362 (lambda* (#:key inputs #:allow-other-keys)
2363 (substitute* "src/mssql.lisp"
2364 (("libsybdb" all)
2365 (string-append (assoc-ref inputs "freetds") "/lib/" all)))
2366 #t)))))
2367 (home-page "https://github.com/archimag/cl-mssql")
2368 (synopsis "Common Lisp library to interact with MS SQL Server databases")
2369 (description
2370 "@code{cl-mssql} provides an interface to connect to Microsoft SQL
2371 server. It uses the @code{libsybdb} foreign library provided by the FreeTDS
2372 project.")
2373 (license license:llgpl))))
2374
2375 (define-public ecl-mssql
2376 (sbcl-package->ecl-package sbcl-mssql))
2377
2378 (define-public cl-mssql
2379 (sbcl-package->cl-source-package sbcl-mssql))
2380
2381 (define-public sbcl-lisp-unit
2382 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
2383 (package
2384 (name "sbcl-lisp-unit")
2385 (version (git-version "0.0.0" "1" commit))
2386 (source
2387 (origin
2388 (method git-fetch)
2389 (uri (git-reference
2390 (url "https://github.com/OdonataResearchLLC/lisp-unit")
2391 (commit commit)))
2392 (sha256
2393 (base32
2394 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
2395 (file-name (git-file-name "lisp-unit" version))))
2396 (build-system asdf-build-system/sbcl)
2397 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
2398 (description
2399 "@command{lisp-unit} is a Common Lisp library that supports unit
2400 testing. It is an extension of the library written by Chris Riesbeck.")
2401 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
2402 (license license:expat))))
2403
2404 (define-public cl-lisp-unit
2405 (sbcl-package->cl-source-package sbcl-lisp-unit))
2406
2407 (define-public ecl-lisp-unit
2408 (sbcl-package->ecl-package sbcl-lisp-unit))
2409
2410 (define-public sbcl-anaphora
2411 (package
2412 (name "sbcl-anaphora")
2413 (version "0.9.6")
2414 (source
2415 (origin
2416 (method git-fetch)
2417 (uri (git-reference
2418 (url "https://github.com/tokenrove/anaphora")
2419 (commit version)))
2420 (sha256
2421 (base32
2422 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
2423 (file-name (git-file-name "anaphora" version))))
2424 (build-system asdf-build-system/sbcl)
2425 (native-inputs
2426 `(("rt" ,sbcl-rt)))
2427 (synopsis "The anaphoric macro collection from Hell")
2428 (description
2429 "Anaphora is the anaphoric macro collection from Hell: it includes many
2430 new fiends in addition to old friends like @command{aif} and
2431 @command{awhen}.")
2432 (home-page "https://github.com/tokenrove/anaphora")
2433 (license license:public-domain)))
2434
2435 (define-public cl-anaphora
2436 (sbcl-package->cl-source-package sbcl-anaphora))
2437
2438 (define-public ecl-anaphora
2439 (sbcl-package->ecl-package sbcl-anaphora))
2440
2441 (define-public sbcl-lift
2442 (let ((commit "2594160d6ca3a77d8750110dfa63214256aab852")
2443 (revision "2"))
2444 (package
2445 (name "sbcl-lift")
2446 (version (git-version "1.7.1" revision commit))
2447 (source
2448 (origin
2449 (method git-fetch)
2450 (uri (git-reference
2451 (url "https://github.com/gwkkwg/lift")
2452 (commit commit)))
2453 (sha256
2454 (base32 "01xvz9sl5l5lai4h9dabmcjnm659wf5zllaxqbs55lffskp6jwq3"))
2455 (file-name (git-file-name "lift" version))
2456 (modules '((guix build utils)))
2457 (snippet
2458 ;; Don't keep the bundled website
2459 `(begin
2460 (delete-file-recursively "website")
2461 #t))))
2462 (build-system asdf-build-system/sbcl)
2463 (arguments
2464 ;; The tests require a debugger, but we run with the debugger disabled.
2465 '(#:tests? #f))
2466 (synopsis "LIsp Framework for Testing")
2467 (description
2468 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
2469 Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
2470 testcases are organized into hierarchical testsuites each of which can have
2471 its own fixture. When run, a testcase can succeed, fail, or error. LIFT
2472 supports randomized testing, benchmarking, profiling, and reporting.")
2473 (home-page "https://github.com/gwkkwg/lift")
2474 (license license:expat))))
2475
2476 (define-public cl-lift
2477 (sbcl-package->cl-source-package sbcl-lift))
2478
2479 (define-public ecl-lift
2480 (sbcl-package->ecl-package sbcl-lift))
2481
2482 (define-public sbcl-let-plus
2483 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
2484 (package
2485 (name "sbcl-let-plus")
2486 (version (git-version "0.0.0" "1" commit))
2487 (source
2488 (origin
2489 (method git-fetch)
2490 (uri (git-reference
2491 (url "https://github.com/sharplispers/let-plus")
2492 (commit commit)))
2493 (sha256
2494 (base32
2495 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
2496 (file-name (git-file-name "let-plus" version))))
2497 (build-system asdf-build-system/sbcl)
2498 (inputs
2499 `(("alexandria" ,sbcl-alexandria)
2500 ("anaphora" ,sbcl-anaphora)))
2501 (native-inputs
2502 `(("lift" ,sbcl-lift)))
2503 (synopsis "Destructuring extension of let*")
2504 (description
2505 "This library implements the let+ macro, which is a dectructuring
2506 extension of let*. It features:
2507
2508 @itemize
2509 @item Clean, consistent syntax and small implementation (less than 300 LOC,
2510 not counting tests)
2511 @item Placeholder macros allow editor hints and syntax highlighting
2512 @item @command{&ign} for ignored values (in forms where that makes sense)
2513 @item Very easy to extend
2514 @end itemize\n")
2515 (home-page "https://github.com/sharplispers/let-plus")
2516 (license license:boost1.0))))
2517
2518 (define-public cl-let-plus
2519 (sbcl-package->cl-source-package sbcl-let-plus))
2520
2521 (define-public ecl-let-plus
2522 (sbcl-package->ecl-package sbcl-let-plus))
2523
2524 (define-public sbcl-cl-colors
2525 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
2526 (package
2527 (name "sbcl-cl-colors")
2528 (version (git-version "0.0.0" "1" commit))
2529 (source
2530 (origin
2531 (method git-fetch)
2532 (uri (git-reference
2533 (url "https://github.com/tpapp/cl-colors")
2534 (commit commit)))
2535 (sha256
2536 (base32
2537 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2538 (file-name (git-file-name "cl-colors" version))))
2539 (build-system asdf-build-system/sbcl)
2540 (inputs
2541 `(("alexandria" ,sbcl-alexandria)
2542 ("let-plus" ,sbcl-let-plus)))
2543 (synopsis "Simple color library for Common Lisp")
2544 (description
2545 "This is a very simple color library for Common Lisp, providing
2546
2547 @itemize
2548 @item Types for representing colors in HSV and RGB spaces.
2549 @item Simple conversion functions between the above types (and also
2550 hexadecimal representation for RGB).
2551 @item Some predefined colors (currently X11 color names – of course the
2552 library does not depend on X11).Because color in your terminal is nice.
2553 @end itemize
2554
2555 This library is no longer supported by its author.")
2556 (home-page "https://github.com/tpapp/cl-colors")
2557 (license license:boost1.0))))
2558
2559 (define-public cl-colors
2560 (sbcl-package->cl-source-package sbcl-cl-colors))
2561
2562 (define-public ecl-cl-colors
2563 (sbcl-package->ecl-package sbcl-cl-colors))
2564
2565 (define-public sbcl-cl-ansi-text
2566 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2567 (package
2568 (name "sbcl-cl-ansi-text")
2569 (version (git-version "1.0.0" "1" commit))
2570 (source
2571 (origin
2572 (method git-fetch)
2573 (uri (git-reference
2574 (url "https://github.com/pnathan/cl-ansi-text")
2575 (commit commit)))
2576 (sha256
2577 (base32
2578 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2579 (file-name (git-file-name "cl-ansi-text" version))))
2580 (build-system asdf-build-system/sbcl)
2581 (inputs
2582 `(("alexandria" ,sbcl-alexandria)
2583 ("cl-colors" ,sbcl-cl-colors)))
2584 (native-inputs
2585 `(("fiveam" ,sbcl-fiveam)))
2586 (synopsis "ANSI terminal color implementation for Common Lisp")
2587 (description
2588 "@command{cl-ansi-text} provides utilities which enable printing to an
2589 ANSI terminal with colored text. It provides the macro @command{with-color}
2590 which causes everything printed in the body to be displayed with the provided
2591 color. It further provides functions which will print the argument with the
2592 named color.")
2593 (home-page "https://github.com/pnathan/cl-ansi-text")
2594 (license license:llgpl))))
2595
2596 (define-public cl-ansi-text
2597 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2598
2599 (define-public ecl-cl-ansi-text
2600 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2601
2602 (define-public sbcl-prove
2603 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2604 (package
2605 (name "sbcl-prove")
2606 (version (git-version "1.0.0" "1" commit))
2607 (source
2608 (origin
2609 (method git-fetch)
2610 (uri (git-reference
2611 (url "https://github.com/fukamachi/prove")
2612 (commit commit)))
2613 (sha256
2614 (base32
2615 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2616 (file-name (git-file-name "prove" version))))
2617 (build-system asdf-build-system/sbcl)
2618 (inputs
2619 `(("alexandria" ,sbcl-alexandria)
2620 ("cl-ppcre" ,sbcl-cl-ppcre)
2621 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2622 (synopsis "Yet another unit testing framework for Common Lisp")
2623 (description
2624 "This project was originally called @command{cl-test-more}.
2625 @command{prove} is yet another unit testing framework for Common Lisp. The
2626 advantages of @command{prove} are:
2627
2628 @itemize
2629 @item Various simple functions for testing and informative error messages
2630 @item ASDF integration
2631 @item Extensible test reporters
2632 @item Colorizes the report if it's available (note for SLIME)
2633 @item Reports test durations
2634 @end itemize\n")
2635 (home-page "https://github.com/fukamachi/prove")
2636 (license license:expat))))
2637
2638 (define-public cl-prove
2639 (sbcl-package->cl-source-package sbcl-prove))
2640
2641 (define-public ecl-prove
2642 (sbcl-package->ecl-package sbcl-prove))
2643
2644 (define-public sbcl-proc-parse
2645 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2646 (package
2647 (name "sbcl-proc-parse")
2648 (version (git-version "0.0.0" "1" commit))
2649 (source
2650 (origin
2651 (method git-fetch)
2652 (uri (git-reference
2653 (url "https://github.com/fukamachi/proc-parse")
2654 (commit commit)))
2655 (sha256
2656 (base32
2657 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2658 (file-name (git-file-name "proc-parse" version))))
2659 (build-system asdf-build-system/sbcl)
2660 (inputs
2661 `(("alexandria" ,sbcl-alexandria)
2662 ("babel" ,sbcl-babel)))
2663 (native-inputs
2664 `(("prove" ,sbcl-prove)))
2665 (arguments
2666 ;; TODO: Tests don't find "proc-parse-test", why?
2667 `(#:tests? #f))
2668 (synopsis "Procedural vector parser")
2669 (description
2670 "This is a string/octets parser library for Common Lisp with speed and
2671 readability in mind. Unlike other libraries, the code is not a
2672 pattern-matching-like, but a char-by-char procedural parser.")
2673 (home-page "https://github.com/fukamachi/proc-parse")
2674 (license license:bsd-2))))
2675
2676 (define-public cl-proc-parse
2677 (sbcl-package->cl-source-package sbcl-proc-parse))
2678
2679 (define-public ecl-proc-parse
2680 (sbcl-package->ecl-package sbcl-proc-parse))
2681
2682 (define-public sbcl-parse-float
2683 (let ((commit "3074765101e41222b6b624a66aaf1e6416379f9c")
2684 (revision "2"))
2685 (package
2686 (name "sbcl-parse-float")
2687 (version (git-version "0.0.0" revision commit))
2688 (source
2689 (origin
2690 (method git-fetch)
2691 (uri (git-reference
2692 (url "https://github.com/soemraws/parse-float")
2693 (commit commit)))
2694 (sha256
2695 (base32 "0jd2spawc3v8vzqf8ky4cngl45jm65fhkrdf20mf6dcbn3mzpkmr"))
2696 (file-name (git-file-name "proc-parse" version))))
2697 (build-system asdf-build-system/sbcl)
2698 (arguments
2699 ;; FIXME: https://github.com/soemraws/parse-float/issues/12
2700 `(#:asd-systems '("parse-float" "parse-float-tests")))
2701 (native-inputs
2702 `(("lisp-unit" ,sbcl-lisp-unit)))
2703 (inputs
2704 `(("alexandria" ,sbcl-alexandria)))
2705 (home-page "https://github.com/soemraws/parse-float")
2706 (synopsis "Parse a floating point value from a string in Common Lisp")
2707 (description
2708 "This package exports the following function to parse floating-point
2709 values from a string in Common Lisp.")
2710 (license license:public-domain))))
2711
2712 (define-public cl-parse-float
2713 (sbcl-package->cl-source-package sbcl-parse-float))
2714
2715 (define-public ecl-parse-float
2716 (sbcl-package->ecl-package sbcl-parse-float))
2717
2718 (define-public sbcl-cl-string-match
2719 (let ((revision "1")
2720 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2721 (package
2722 (name "sbcl-cl-string-match")
2723 (version (git-version "0" revision changeset))
2724 (source
2725 (origin
2726 (method hg-fetch)
2727 (uri (hg-reference
2728 (url "https://bitbucket.org/vityok/cl-string-match/")
2729 (changeset changeset)))
2730 (sha256
2731 (base32
2732 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2733 (file-name (git-file-name "cl-string-match" version))))
2734 (build-system asdf-build-system/sbcl)
2735 (inputs
2736 `(("alexandria" ,sbcl-alexandria)
2737 ("babel" ,sbcl-babel)
2738 ("iterate" ,sbcl-iterate)
2739 ("jpl-queues" ,sbcl-jpl-queues)
2740 ("jpl-util" ,sbcl-jpl-util)
2741 ("mgl-pax" ,sbcl-mgl-pax)
2742 ("parse-float" ,sbcl-parse-float)
2743 ("proc-parse" ,sbcl-proc-parse)
2744 ("yacc" ,sbcl-cl-yacc)))
2745 ;; TODO: Tests are not evaluated properly.
2746 (native-inputs
2747 ;; For testing:
2748 `(("lisp-unit" ,sbcl-lisp-unit)))
2749 (arguments
2750 `(#:tests? #f))
2751 (synopsis "Set of utilities to manipulate strings in Common Lisp")
2752 (description
2753 "@command{cl-strings} is a small, portable, dependency-free set of
2754 utilities that make it even easier to manipulate text in Common Lisp. It has
2755 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
2756 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2757 (license license:bsd-3))))
2758
2759 (define-public cl-string-match
2760 (sbcl-package->cl-source-package sbcl-cl-string-match))
2761
2762 (define-public ecl-cl-string-match
2763 (sbcl-package->ecl-package sbcl-cl-string-match))
2764
2765 (define-public sbcl-ptester
2766 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2767 (revision "1"))
2768 (package
2769 (name "sbcl-ptester")
2770 (version (git-version "2.1.3" revision commit))
2771 (source
2772 (origin
2773 (method git-fetch)
2774 (uri (git-reference
2775 (url "http://git.kpe.io/ptester.git")
2776 (commit commit)))
2777 (file-name (git-file-name name version))
2778 (sha256
2779 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2780 (build-system asdf-build-system/sbcl)
2781 (home-page "http://quickdocs.org/ptester/")
2782 (synopsis "Portable test harness package")
2783 (description
2784 "@command{ptester} is a portable testing framework based on Franz's
2785 tester module.")
2786 (license license:llgpl))))
2787
2788 (define-public cl-ptester
2789 (sbcl-package->cl-source-package sbcl-ptester))
2790
2791 (define-public ecl-ptester
2792 (sbcl-package->ecl-package sbcl-ptester))
2793
2794 (define-public sbcl-puri
2795 (let ((commit "4bbab89d9ccbb26346899d1f496c97604fec567b")
2796 (revision "2"))
2797 (package
2798 (name "sbcl-puri")
2799 (version (git-version "1.5.7" revision commit))
2800 (source
2801 (origin
2802 (method git-fetch)
2803 (uri (git-reference
2804 (url "http://git.kpe.io/puri.git")
2805 (commit commit)))
2806 (file-name (git-file-name "puri" version))
2807 (sha256
2808 (base32 "0gq2rsr0aihs0z20v4zqvmdl4szq53b52rh97pvnmwrlbn4mapmd"))))
2809 (build-system asdf-build-system/sbcl)
2810 (native-inputs
2811 `(("ptester" ,sbcl-ptester)))
2812 (home-page "http://puri.kpe.io/")
2813 (synopsis "Portable URI Library")
2814 (description
2815 "This is a portable Universal Resource Identifier library for Common
2816 Lisp programs. It parses URI according to the RFC 2396 specification.")
2817 (license license:llgpl))))
2818
2819 (define-public cl-puri
2820 (sbcl-package->cl-source-package sbcl-puri))
2821
2822 (define-public ecl-puri
2823 (sbcl-package->ecl-package sbcl-puri))
2824
2825 (define-public sbcl-qmynd
2826 (let ((commit "7e56daf73f0ed5f49a931c01af75fb874bcf3445")
2827 (revision "1"))
2828 (package
2829 (name "sbcl-qmynd")
2830 (version (git-version "1.0.0" revision commit))
2831 (source
2832 (origin
2833 (method git-fetch)
2834 (uri (git-reference
2835 (url "https://github.com/qitab/qmynd")
2836 (commit commit)))
2837 (file-name (git-file-name name version))
2838 (sha256
2839 (base32
2840 "06gw5wxcpdclb6a5i5k9lbmdlyqsp182czrm9bm1cpklzbj0ihrl"))))
2841 (build-system asdf-build-system/sbcl)
2842 (inputs
2843 `(("asdf-finalizers" ,sbcl-asdf-finalizers)
2844 ("babel" ,sbcl-babel)
2845 ("chipz" ,sbcl-chipz)
2846 ("cl+ssl" ,sbcl-cl+ssl)
2847 ("flexi-streams" ,sbcl-flexi-streams)
2848 ("ironclad" ,sbcl-ironclad)
2849 ("salza2" ,sbcl-salza2)
2850 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
2851 ("usocket" ,sbcl-usocket)))
2852 (home-page "https://github.com/qitab/qmynd")
2853 (synopsis "QITAB MySQL Native Driver for Common Lisp")
2854 (description "QMyND, the QITAB MySQL Native Driver, is a MySQL client
2855 library that directly talks to a MySQL server in its native network protocol.
2856
2857 It's a part of QITAB umbrella project.")
2858 (license license:expat))))
2859
2860 (define-public ecl-qmynd
2861 (sbcl-package->ecl-package sbcl-qmynd))
2862
2863 (define-public cl-qmynd
2864 (sbcl-package->cl-source-package sbcl-qmynd))
2865
2866 (define-public sbcl-queues
2867 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2868 (package
2869 (name "sbcl-queues")
2870 (version (git-version "0.0.0" "1" commit))
2871 (source
2872 (origin
2873 (method git-fetch)
2874 (uri (git-reference
2875 (url "https://github.com/oconnore/queues")
2876 (commit commit)))
2877 (file-name (git-file-name "queues" version))
2878 (sha256
2879 (base32
2880 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2881 (build-system asdf-build-system/sbcl)
2882 (inputs
2883 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
2884 (arguments
2885 '(#:asd-systems '("queues"
2886 "queues.simple-queue"
2887 "queues.simple-cqueue"
2888 "queues.priority-queue"
2889 "queues.priority-cqueue")))
2890 (home-page "https://github.com/oconnore/queues")
2891 (synopsis "Common Lisp queue library")
2892 (description
2893 "This is a simple queue library for Common Lisp with features such as
2894 non-consing thread safe queues and fibonacci priority queues.")
2895 (license license:expat))))
2896
2897 (define-public cl-queues
2898 (sbcl-package->cl-source-package sbcl-queues))
2899
2900 (define-public ecl-queues
2901 (sbcl-package->ecl-package sbcl-queues))
2902
2903 (define-public sbcl-glsl-packing
2904 (let ((commit "03628159468a8e5b7f2a1d5e78b77053e136794a")
2905 (revision "1"))
2906 (package
2907 (name "sbcl-glsl-packing")
2908 (version (git-version "0.0.0" revision commit))
2909 (source
2910 (origin
2911 (method git-fetch)
2912 (uri (git-reference
2913 (url "https://github.com/3b/glsl-packing/")
2914 (commit commit)))
2915 (file-name (git-file-name "glsl-packing" version))
2916 (sha256
2917 (base32 "0k2f1771wd9kdrcasldy1r00k5bdgi9fd07in52zmjggc0i7dd80"))))
2918 (build-system asdf-build-system/sbcl)
2919 (inputs
2920 `(("alexandria" ,sbcl-alexandria)))
2921 (home-page "https://github.com/3b/glsl-packing/")
2922 (synopsis "Common Lisp utilities to calculate OpenGL layouts")
2923 (description
2924 "This is a Common Lisp library to calculate std140 or std430 layouts for
2925 a glsl UBO/SSBO.")
2926 (license license:expat))))
2927
2928 (define-public ecl-glsl-packing
2929 (sbcl-package->ecl-package sbcl-glsl-packing))
2930
2931 (define-public cl-glsl-packing
2932 (sbcl-package->cl-source-package sbcl-glsl-packing))
2933
2934 (define-public sbcl-glsl-spec
2935 (let ((commit "f04476f7da89355ae6856b33283c60ba95c6555d")
2936 (revision "1"))
2937 (package
2938 (name "sbcl-glsl-spec")
2939 (version (git-version "0.0.0" revision commit))
2940 (source
2941 (origin
2942 (method git-fetch)
2943 (uri (git-reference
2944 (url "https://github.com/cbaggers/glsl-spec")
2945 (commit commit)))
2946 (file-name (git-file-name "glsl-spec" version))
2947 (sha256
2948 (base32 "01ipspr22fgfj3w8wq2y81lzrjc4vpfiwnr3dqhjlpzzra46am8c"))))
2949 (build-system asdf-build-system/sbcl)
2950 (arguments
2951 `(#:asd-systems '("glsl-spec" "glsl-symbols" "glsl-docs")))
2952 (home-page "https://github.com/cbaggers/glsl-spec")
2953 (synopsis "Common Lisp GLSL specification as a datastructure")
2954 (description
2955 "This package contains the specification of all functions and variables
2956 from GLSL as data.")
2957 (license license:unlicense))))
2958
2959 (define-public ecl-glsl-spec
2960 (sbcl-package->ecl-package sbcl-glsl-spec))
2961
2962 (define-public cl-glsl-spec
2963 (sbcl-package->cl-source-package sbcl-glsl-spec))
2964
2965 (define-public sbcl-rtg-math
2966 (let ((commit "29fc5b3d0028a4a11a82355ecc8cca62662c69e0")
2967 (revision "1"))
2968 (package
2969 (name "sbcl-rtg-math")
2970 (version (git-version "0.0.0" revision commit))
2971 (source
2972 (origin
2973 (method git-fetch)
2974 (uri (git-reference
2975 (url "https://github.com/cbaggers/rtg-math")
2976 (commit commit)))
2977 (file-name (git-file-name "rtg-math" version))
2978 (sha256
2979 (base32 "0bhxxnv7ldkkb18zdxyz2rj2a3iawzq2kcp7cn5i91iby7n0082x"))))
2980 (build-system asdf-build-system/sbcl)
2981 (inputs
2982 `(("alexandria" ,sbcl-alexandria)
2983 ("documentation-utils" ,sbcl-documentation-utils)
2984 ("glsl-symbols" ,sbcl-glsl-spec)))
2985 (home-page "https://github.com/cbaggers/rtg-math")
2986 (synopsis "Common Lisp library of game-related math functions")
2987 (description
2988 "RTG-MATH provides a selection of the math routines most commonly needed
2989 for making realtime graphics in Lisp.")
2990 (license license:bsd-2))))
2991
2992 (define-public ecl-rtg-math
2993 (sbcl-package->ecl-package sbcl-rtg-math))
2994
2995 (define-public cl-rtg-math
2996 (sbcl-package->cl-source-package sbcl-rtg-math))
2997
2998 (define-public sbcl-varjo
2999 (let ((commit "9e77f30220053155d2ef8870ceba157f75e538d4")
3000 (revision "1"))
3001 (package
3002 (name "sbcl-varjo")
3003 (version (git-version "0.0.0" revision commit))
3004 (source
3005 (origin
3006 (method git-fetch)
3007 (uri (git-reference
3008 (url "https://github.com/cbaggers/varjo")
3009 (commit commit)))
3010 (file-name (git-file-name "varjo" version))
3011 (sha256
3012 (base32 "1p9x1wj576x5d31yvls9r1avkjkyhri7kyxbjfkg9z93a1w18j9z"))))
3013 (build-system asdf-build-system/sbcl)
3014 (native-inputs
3015 `(("fiveam" ,sbcl-fiveam)))
3016 (inputs
3017 `(("alexandria" ,sbcl-alexandria)
3018 ("cl-ppcre" ,sbcl-cl-ppcre)
3019 ("documentation-utils" ,sbcl-documentation-utils)
3020 ("fn" ,sbcl-fn)
3021 ("glsl-spec" ,sbcl-glsl-spec)
3022 ("named-readtables" ,sbcl-named-readtables)
3023 ("parse-float" ,sbcl-parse-float)
3024 ("vas-string-metrics" ,sbcl-vas-string-metrics)))
3025 (home-page "https://github.com/cbaggers/varjo")
3026 (synopsis "Lisp to GLSL Language Translator")
3027 (description
3028 "Varjo is a Lisp to GLSL compiler. Vari is the dialect of lisp Varjo
3029 compiles. It aims to be as close to Common Lisp as possible, but naturally it
3030 is statically typed so there are differences.")
3031 (license license:bsd-2))))
3032
3033 (define-public ecl-varjo
3034 (sbcl-package->ecl-package sbcl-varjo))
3035
3036 (define-public cl-varjo
3037 (sbcl-package->cl-source-package sbcl-varjo))
3038
3039 (define-public sbcl-cffi
3040 (package
3041 (name "sbcl-cffi")
3042 (version "0.23.0")
3043 (source
3044 (origin
3045 (method git-fetch)
3046 (uri (git-reference
3047 (url "https://github.com/cffi/cffi")
3048 (commit (string-append "v" version))))
3049 (file-name (git-file-name "cffi-bootstrap" version))
3050 (sha256
3051 (base32 "03s98imc5niwnpj3hhrafl7dmxq45g74h96sm68976k7ahi3vl5b"))))
3052 (build-system asdf-build-system/sbcl)
3053 (inputs
3054 `(("alexandria" ,sbcl-alexandria)
3055 ("babel" ,sbcl-babel)
3056 ("libffi" ,libffi)
3057 ("trivial-features" ,sbcl-trivial-features)))
3058 (native-inputs
3059 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3060 ("pkg-config" ,pkg-config)
3061 ("rt" ,sbcl-rt)))
3062 (arguments
3063 '(#:phases
3064 (modify-phases %standard-phases
3065 (add-after 'unpack 'fix-arm-support
3066 (lambda _
3067 ;; This is apparently deprecated since libffi-3.3.
3068 (substitute* "libffi/libffi-types.lisp"
3069 (("\\\(\\\(:unix64.*") ")\n"))
3070 #t))
3071 (add-after 'unpack 'fix-paths
3072 (lambda* (#:key inputs #:allow-other-keys)
3073 (substitute* "libffi/libffi.lisp"
3074 (("libffi.so.7" all) (string-append
3075 (assoc-ref inputs "libffi")
3076 "/lib/" all)))
3077 (substitute* "toolchain/c-toolchain.lisp"
3078 (("\"cc\"") (format #f "~S" (which "gcc"))))))
3079 (add-after 'build 'install-headers
3080 (lambda* (#:key outputs #:allow-other-keys)
3081 (install-file "grovel/common.h"
3082 (string-append
3083 (assoc-ref outputs "out")
3084 "/include/grovel")))))
3085 #:asd-files '("cffi.asd"
3086 "cffi-toolchain.asd"
3087 "cffi-grovel.asd"
3088 "cffi-libffi.asd"
3089 "cffi-uffi-compat.asd")
3090 #:asd-systems '("cffi"
3091 "cffi-libffi"
3092 "cffi-uffi-compat")))
3093 (home-page "https://common-lisp.net/project/cffi/")
3094 (synopsis "Common Foreign Function Interface for Common Lisp")
3095 (description "The Common Foreign Function Interface (CFFI)
3096 purports to be a portable foreign function interface for Common Lisp.
3097 The CFFI library is composed of a Lisp-implementation-specific backend
3098 in the CFFI-SYS package, and a portable frontend in the CFFI
3099 package.")
3100 (license license:expat)))
3101
3102 (define-public cl-cffi
3103 (sbcl-package->cl-source-package sbcl-cffi))
3104
3105 (define-public ecl-cffi
3106 (sbcl-package->ecl-package sbcl-cffi))
3107
3108 (define-public sbcl-cffi-c-ref
3109 (let ((commit "8123cbb6034c5f7921a0766107cfb8c4e8efd5ce")
3110 (revision "0"))
3111 (package
3112 (name "sbcl-cffi-c-ref")
3113 (version (git-version "1.0" revision commit))
3114 (source
3115 (origin
3116 (method git-fetch)
3117 (uri (git-reference
3118 (url "https://github.com/borodust/cffi-c-ref")
3119 (commit commit)))
3120 (sha256
3121 (base32 "1a3pp6xcisabqir3rp1gvvjfdxcvpm8yr35p38nri9azsinmmc7z"))
3122 (file-name (git-file-name "cffi-c-ref" version))))
3123 (build-system asdf-build-system/sbcl)
3124 (inputs
3125 `(("alexandria" ,sbcl-alexandria)
3126 ("cffi" ,sbcl-cffi)))
3127 (synopsis "Streamlined access to foreign memory")
3128 (description
3129 "This Common Lisp library provides macros to access foreign memory.")
3130 (home-page "https://github.com/borodust/cffi-c-ref")
3131 (license license:expat))))
3132
3133 (define-public cl-cffi-c-ref
3134 (sbcl-package->cl-source-package sbcl-cffi-c-ref))
3135
3136 (define-public ecl-cffi-c-ref
3137 (sbcl-package->ecl-package sbcl-cffi-c-ref))
3138
3139 (define-public sbcl-cl-sqlite
3140 (package
3141 (name "sbcl-cl-sqlite")
3142 (version "0.2.1")
3143 (source
3144 (origin
3145 (method git-fetch)
3146 (uri (git-reference
3147 (url "https://github.com/dmitryvk/cl-sqlite")
3148 (commit version)))
3149 (file-name (git-file-name "cl-sqlite" version))
3150 (sha256
3151 (base32
3152 "08iv7b4m0hh7qx2cvq4f510nrgdld0vicnvmqsh9w0fgrcgmyg4k"))))
3153 (build-system asdf-build-system/sbcl)
3154 (inputs
3155 `(("iterate" ,sbcl-iterate)
3156 ("cffi" ,sbcl-cffi)
3157 ("sqlite" ,sqlite)))
3158 (native-inputs
3159 `(("fiveam" ,sbcl-fiveam)
3160 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
3161 (arguments
3162 `(#:asd-systems '("sqlite")
3163 #:phases
3164 (modify-phases %standard-phases
3165 (add-after 'unpack 'fix-paths
3166 (lambda* (#:key inputs #:allow-other-keys)
3167 (substitute* "sqlite-ffi.lisp"
3168 (("libsqlite3" all) (string-append
3169 (assoc-ref inputs "sqlite")"/lib/" all))))))))
3170 (home-page "https://common-lisp.net/project/cl-sqlite/")
3171 (synopsis "Common Lisp binding for SQLite")
3172 (description
3173 "The @command{cl-sqlite} package is an interface to the SQLite embedded
3174 relational database engine.")
3175 (license license:public-domain)))
3176
3177 (define-public cl-sqlite
3178 (sbcl-package->cl-source-package sbcl-cl-sqlite))
3179
3180 (define-public ecl-cl-sqlite
3181 (sbcl-package->ecl-package sbcl-cl-sqlite))
3182
3183 (define-public sbcl-parenscript
3184 ;; Source archives are overwritten on every release, we use the Git repo instead.
3185 (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766"))
3186 (package
3187 (name "sbcl-parenscript")
3188 (version (git-version "2.7.1" "1" commit))
3189 (source
3190 (origin
3191 (method git-fetch)
3192 (uri (git-reference
3193 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
3194 (commit commit)))
3195 (file-name (git-file-name "parenscript" version))
3196 (sha256
3197 (base32
3198 "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf"))))
3199 (build-system asdf-build-system/sbcl)
3200 (inputs
3201 `(("cl-ppcre" ,sbcl-cl-ppcre)
3202 ("anaphora" ,sbcl-anaphora)
3203 ("named-readtables" ,sbcl-named-readtables)))
3204 (home-page "https://common-lisp.net/project/parenscript/")
3205 (synopsis "Translator from a subset of Common Lisp to JavaScript")
3206 (description
3207 "Parenscript is a translator from an extended subset of Common Lisp to
3208 JavaScript. Parenscript code can run almost identically on both the
3209 browser (as JavaScript) and server (as Common Lisp).
3210
3211 Parenscript code is treated the same way as Common Lisp code, making the full
3212 power of Lisp macros available for JavaScript. This provides a web
3213 development environment that is unmatched in its ability to reduce code
3214 duplication and provide advanced meta-programming facilities to web
3215 developers.
3216
3217 At the same time, Parenscript is different from almost all other \"language
3218 X\" to JavaScript translators in that it imposes almost no overhead:
3219
3220 @itemize
3221 @item No run-time dependencies: Any piece of Parenscript code is runnable
3222 as-is. There are no JavaScript files to include.
3223 @item Native types: Parenscript works entirely with native JavaScript data
3224 types. There are no new types introduced, and object prototypes are not
3225 touched.
3226 @item Native calling convention: Any JavaScript code can be called without the
3227 need for bindings. Likewise, Parenscript can be used to make efficient,
3228 self-contained JavaScript libraries.
3229 @item Readable code: Parenscript generates concise, formatted, idiomatic
3230 JavaScript code. Identifier names are preserved. This enables seamless
3231 debugging in tools like Firebug.
3232 @item Efficiency: Parenscript introduces minimal overhead for advanced Common
3233 Lisp features. The generated code is almost as fast as hand-written
3234 JavaScript.
3235 @end itemize\n")
3236 (license license:bsd-3))))
3237
3238 (define-public cl-parenscript
3239 (sbcl-package->cl-source-package sbcl-parenscript))
3240
3241 (define-public ecl-parenscript
3242 (sbcl-package->ecl-package sbcl-parenscript))
3243
3244 (define-public sbcl-cl-json
3245 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
3246 (package
3247 (name "sbcl-cl-json")
3248 (version (git-version "0.5" "1" commit))
3249 (source
3250 (origin
3251 (method git-fetch)
3252 (uri (git-reference
3253 (url "https://github.com/hankhero/cl-json")
3254 (commit commit)))
3255 (file-name (git-file-name "cl-json" version))
3256 (sha256
3257 (base32
3258 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
3259 (build-system asdf-build-system/sbcl)
3260 (native-inputs
3261 `(("fiveam" ,sbcl-fiveam)))
3262 (home-page "https://github.com/hankhero/cl-json")
3263 (synopsis "JSON encoder and decoder for Common-Lisp")
3264 (description
3265 "@command{cl-json} provides an encoder of Lisp objects to JSON format
3266 and a corresponding decoder of JSON data to Lisp objects. Both the encoder
3267 and the decoder are highly customizable; at the same time, the default
3268 settings ensure a very simple mode of operation, similar to that provided by
3269 @command{yason} or @command{st-json}.")
3270 (license license:expat))))
3271
3272 (define-public cl-json
3273 (sbcl-package->cl-source-package sbcl-cl-json))
3274
3275 (define-public ecl-cl-json
3276 (sbcl-package->ecl-package sbcl-cl-json))
3277
3278 (define-public sbcl-unix-opts
3279 (package
3280 (name "sbcl-unix-opts")
3281 (version "0.1.7")
3282 (source
3283 (origin
3284 (method git-fetch)
3285 (uri (git-reference
3286 (url "https://github.com/libre-man/unix-opts")
3287 (commit version)))
3288 (file-name (git-file-name "unix-opts" version))
3289 (sha256
3290 (base32
3291 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
3292 (build-system asdf-build-system/sbcl)
3293 (home-page "https://github.com/hankhero/cl-json")
3294 (synopsis "Unix-style command line options parser")
3295 (description
3296 "This is a minimalistic parser of command line options. The main
3297 advantage of the library is the ability to concisely define command line
3298 options once and then use this definition for parsing and extraction of
3299 command line arguments, as well as printing description of command line
3300 options (you get --help for free). This way you don't need to repeat
3301 yourself. Also, @command{unix-opts} doesn't depend on anything and
3302 precisely controls the behavior of the parser via Common Lisp restarts.")
3303 (license license:expat)))
3304
3305 (define-public cl-unix-opts
3306 (sbcl-package->cl-source-package sbcl-unix-opts))
3307
3308 (define-public ecl-unix-opts
3309 (sbcl-package->ecl-package sbcl-unix-opts))
3310
3311 (define-public sbcl-trivial-garbage
3312 (package
3313 (name "sbcl-trivial-garbage")
3314 (version "0.21")
3315 (source
3316 (origin
3317 (method git-fetch)
3318 (uri (git-reference
3319 (url "https://github.com/trivial-garbage/trivial-garbage")
3320 (commit (string-append "v" version))))
3321 (file-name (git-file-name "trivial-garbage" version))
3322 (sha256
3323 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
3324 (build-system asdf-build-system/sbcl)
3325 (native-inputs
3326 `(("rt" ,sbcl-rt)))
3327 (home-page "https://common-lisp.net/project/trivial-garbage/")
3328 (synopsis "Portable GC-related APIs for Common Lisp")
3329 (description "@command{trivial-garbage} provides a portable API to
3330 finalizers, weak hash-tables and weak pointers on all major implementations of
3331 the Common Lisp programming language.")
3332 (license license:public-domain)))
3333
3334 (define-public cl-trivial-garbage
3335 (sbcl-package->cl-source-package sbcl-trivial-garbage))
3336
3337 (define-public ecl-trivial-garbage
3338 (sbcl-package->ecl-package sbcl-trivial-garbage))
3339
3340 (define-public sbcl-closer-mop
3341 (let ((commit "19c9d33f576e10715fd79cc1d4f688dab0f241d6"))
3342 (package
3343 (name "sbcl-closer-mop")
3344 (version (git-version "1.0.0" "2" commit))
3345 (source
3346 (origin
3347 (method git-fetch)
3348 (uri (git-reference
3349 (url "https://github.com/pcostanza/closer-mop")
3350 (commit commit)))
3351 (sha256
3352 (base32 "1w3x087wvlwkd6swfdgbvjfs6kazf0la8ax4pjfzikwjch4snn2c"))
3353 (file-name (git-file-name "closer-mop" version ))))
3354 (build-system asdf-build-system/sbcl)
3355 (home-page "https://github.com/pcostanza/closer-mop")
3356 (synopsis "Rectifies absent or incorrect CLOS MOP features")
3357 (description "Closer to MOP is a compatibility layer that rectifies many
3358 of the absent or incorrect CLOS MOP features across a broad range of Common
3359 Lisp implementations.")
3360 (license license:expat))))
3361
3362 (define-public cl-closer-mop
3363 (sbcl-package->cl-source-package sbcl-closer-mop))
3364
3365 (define-public ecl-closer-mop
3366 (sbcl-package->ecl-package sbcl-closer-mop))
3367
3368 (define-public sbcl-cl-cffi-gtk
3369 (let ((commit "e9a46df65995d9a16e6c8dbdc1e09b775eb4a966"))
3370 (package
3371 (name "sbcl-cl-cffi-gtk")
3372 (version (git-version "0.11.2" "2" commit))
3373 (source
3374 (origin
3375 (method git-fetch)
3376 (uri (git-reference
3377 (url "https://github.com/Ferada/cl-cffi-gtk/")
3378 (commit commit)))
3379 (file-name (git-file-name "cl-cffi-gtk" version))
3380 (sha256
3381 (base32
3382 "04vix0gmqsj91lm975sx7jhlnz5gq1xf9jp873mp7c8frc5dk1jj"))))
3383 (build-system asdf-build-system/sbcl)
3384 (native-inputs
3385 `(("fiveam" ,sbcl-fiveam)))
3386 (inputs
3387 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3388 ("cairo" ,cairo)
3389 ("cffi" ,sbcl-cffi)
3390 ("closer-mop" ,sbcl-closer-mop)
3391 ("gdk-pixbuf" ,gdk-pixbuf)
3392 ("glib" ,glib)
3393 ("gtk" ,gtk+)
3394 ("iterate" ,sbcl-iterate)
3395 ("pango" ,pango)
3396 ("trivial-features" ,sbcl-trivial-features)
3397 ("trivial-garbage" ,sbcl-trivial-garbage)))
3398 (arguments
3399 `(#:asd-files '("gtk/cl-cffi-gtk.asd"
3400 "glib/cl-cffi-gtk-glib.asd"
3401 "gobject/cl-cffi-gtk-gobject.asd"
3402 "gio/cl-cffi-gtk-gio.asd"
3403 "cairo/cl-cffi-gtk-cairo.asd"
3404 "pango/cl-cffi-gtk-pango.asd"
3405 "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
3406 "gdk/cl-cffi-gtk-gdk.asd")
3407 #:test-asd-file "test/cl-cffi-gtk-test.asd"
3408 ;; TODO: Tests fail with memory fault.
3409 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
3410 #:tests? #f
3411 #:phases
3412 (modify-phases %standard-phases
3413 (add-after 'unpack 'fix-paths
3414 (lambda* (#:key inputs #:allow-other-keys)
3415 (substitute* "glib/glib.init.lisp"
3416 (("libglib|libgthread" all)
3417 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3418 (substitute* "gobject/gobject.init.lisp"
3419 (("libgobject" all)
3420 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3421 (substitute* "gio/gio.init.lisp"
3422 (("libgio" all)
3423 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3424 (substitute* "cairo/cairo.init.lisp"
3425 (("libcairo" all)
3426 (string-append (assoc-ref inputs "cairo") "/lib/" all)))
3427 (substitute* "pango/pango.init.lisp"
3428 (("libpango" all)
3429 (string-append (assoc-ref inputs "pango") "/lib/" all)))
3430 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
3431 (("libgdk_pixbuf" all)
3432 (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))
3433 (substitute* "gdk/gdk.init.lisp"
3434 (("libgdk" all)
3435 (string-append (assoc-ref inputs "gtk") "/lib/" all)))
3436 (substitute* "gdk/gdk.package.lisp"
3437 (("libgtk" all)
3438 (string-append (assoc-ref inputs "gtk") "/lib/" all))))))))
3439 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
3440 (synopsis "Common Lisp binding for GTK+3")
3441 (description
3442 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
3443 is a library for creating graphical user interfaces.")
3444 (license license:lgpl3))))
3445
3446 (define-public cl-cffi-gtk
3447 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
3448
3449 (define-public ecl-cl-cffi-gtk
3450 (sbcl-package->ecl-package sbcl-cl-cffi-gtk))
3451
3452 (define-public sbcl-cl-webkit
3453 (let ((commit "9ead3cac1382154fe03c61a1cabd483a8e5dfbfb"))
3454 (package
3455 (name "sbcl-cl-webkit")
3456 (version (git-version "2.4" "14" commit))
3457 (source
3458 (origin
3459 (method git-fetch)
3460 (uri (git-reference
3461 (url "https://github.com/joachifm/cl-webkit")
3462 (commit commit)))
3463 (file-name (git-file-name "cl-webkit" version))
3464 (sha256
3465 (base32
3466 "1brrd9ha5j3z2p8nf0mbw25pslhj3cdqjljff8ignr5idq3ggsd1"))))
3467 (build-system asdf-build-system/sbcl)
3468 (inputs
3469 `(("cffi" ,sbcl-cffi)
3470 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3471 ("webkitgtk" ,webkitgtk)))
3472 (arguments
3473 `(#:asd-systems '("cl-webkit2")
3474 #:phases
3475 (modify-phases %standard-phases
3476 (add-after 'unpack 'fix-paths
3477 (lambda* (#:key inputs #:allow-other-keys)
3478 (substitute* "webkit2/webkit2.init.lisp"
3479 (("libwebkit2gtk" all)
3480 (string-append
3481 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
3482 (home-page "https://github.com/joachifm/cl-webkit")
3483 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3484 (description
3485 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3486 currently targeting WebKit version 2. The WebKitGTK+ library adds web
3487 browsing capabilities to an application, leveraging the full power of the
3488 WebKit browsing engine.")
3489 (license license:expat))))
3490
3491 (define-public cl-webkit
3492 (sbcl-package->cl-source-package sbcl-cl-webkit))
3493
3494 (define-public ecl-cl-webkit
3495 (sbcl-package->ecl-package sbcl-cl-webkit))
3496
3497 (define-public sbcl-lparallel
3498 (package
3499 (name "sbcl-lparallel")
3500 (version "2.8.4")
3501 (source
3502 (origin
3503 (method git-fetch)
3504 (uri (git-reference
3505 (url "https://github.com/lmj/lparallel/")
3506 (commit (string-append "lparallel-" version))))
3507 (file-name (git-file-name "lparallel" version))
3508 (sha256
3509 (base32
3510 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3511 (build-system asdf-build-system/sbcl)
3512 (inputs
3513 `(("alexandria" ,sbcl-alexandria)
3514 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3515 ("trivial-garbage" ,sbcl-trivial-garbage)))
3516 (arguments
3517 `(#:phases
3518 (modify-phases %standard-phases
3519 (add-after 'unpack 'fix-dependency
3520 ;; lparallel loads a SBCL specific system in its asd file. This is
3521 ;; not carried over into the fasl which is generated. In order for
3522 ;; it to be carried over, it needs to be listed as a dependency.
3523 (lambda _
3524 (substitute* "lparallel.asd"
3525 ((":depends-on \\(:alexandria" all)
3526 (string-append all " #+sbcl :sb-cltl2"))))))))
3527 (home-page "https://lparallel.org/")
3528 (synopsis "Parallelism for Common Lisp")
3529 (description
3530 "@command{lparallel} is a library for parallel programming in Common
3531 Lisp, featuring:
3532
3533 @itemize
3534 @item a simple model of task submission with receiving queue,
3535 @item constructs for expressing fine-grained parallelism,
3536 @item asynchronous condition handling across thread boundaries,
3537 @item parallel versions of map, reduce, sort, remove, and many others,
3538 @item promises, futures, and delayed evaluation constructs,
3539 @item computation trees for parallelizing interconnected tasks,
3540 @item bounded and unbounded FIFO queues,
3541 @item high and low priority tasks,
3542 @item task killing by category,
3543 @item integrated timeouts.
3544 @end itemize\n")
3545 (license license:expat)))
3546
3547 (define-public cl-lparallel
3548 (sbcl-package->cl-source-package sbcl-lparallel))
3549
3550 (define-public ecl-lparallel
3551 (package
3552 (inherit (sbcl-package->ecl-package sbcl-lparallel))
3553 (arguments
3554 ;; TODO: Find why the tests get stuck forever; disable them for now.
3555 `(#:tests? #f))))
3556
3557 (define-public sbcl-cl-markup
3558 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3559 (package
3560 (name "sbcl-cl-markup")
3561 (version (git-version "0.1" "1" commit))
3562 (source
3563 (origin
3564 (method git-fetch)
3565 (uri (git-reference
3566 (url "https://github.com/arielnetworks/cl-markup/")
3567 (commit commit)))
3568 (file-name (git-file-name "cl-markup" version))
3569 (sha256
3570 (base32
3571 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3572 (build-system asdf-build-system/sbcl)
3573 (home-page "https://github.com/arielnetworks/cl-markup/")
3574 (synopsis "Markup generation library for Common Lisp")
3575 (description
3576 "A modern markup generation library for Common Lisp that features:
3577
3578 @itemize
3579 @item Fast (even faster through compiling the code)
3580 @item Safety
3581 @item Support for multiple document types (markup, xml, html, html5, xhtml)
3582 @item Output with doctype
3583 @item Direct output to stream
3584 @end itemize\n")
3585 (license license:lgpl3+))))
3586
3587 (define-public cl-markup
3588 (sbcl-package->cl-source-package sbcl-cl-markup))
3589
3590 (define-public ecl-cl-markup
3591 (sbcl-package->ecl-package sbcl-cl-markup))
3592
3593 (define-public sbcl-cl-mustache
3594 (package
3595 (name "sbcl-cl-mustache")
3596 (version "0.12.1")
3597 (source
3598 (origin
3599 (method git-fetch)
3600 (uri (git-reference
3601 (url "https://github.com/kanru/cl-mustache")
3602 (commit (string-append "v" version))))
3603 (file-name (git-file-name "cl-mustache" version))
3604 (sha256
3605 (base32 "149xbb6wxq1napliwm9cv729hwcgfnjli6y8hingfixz7f10lhks"))))
3606 (build-system asdf-build-system/sbcl)
3607 (home-page "https://github.com/kanru/cl-mustache")
3608 (synopsis "Common Lisp Mustache template renderer")
3609 (description "This is a Common Lisp implementation for the Mustache
3610 template system. More details on the standard are available at
3611 @url{https://mustache.github.io}.")
3612 (license license:expat)))
3613
3614 (define-public cl-mustache
3615 (sbcl-package->cl-source-package sbcl-cl-mustache))
3616
3617 (define-public ecl-cl-mustache
3618 (sbcl-package->ecl-package sbcl-cl-mustache))
3619
3620 (define-public sbcl-cl-css
3621 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3622 (package
3623 (name "sbcl-cl-css")
3624 (version (git-version "0.1" "1" commit))
3625 (source
3626 (origin
3627 (method git-fetch)
3628 (uri (git-reference
3629 (url "https://github.com/inaimathi/cl-css/")
3630 (commit commit)))
3631 (file-name (git-file-name "cl-css" version))
3632 (sha256
3633 (base32
3634 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3635 (build-system asdf-build-system/sbcl)
3636 (home-page "https://github.com/inaimathi/cl-css/")
3637 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3638 (description
3639 "This is a dead-simple, non validating, inline CSS generator for Common
3640 Lisp. Its goals are axiomatic syntax, simple implementation to support
3641 portability, and boilerplate reduction in CSS.")
3642 (license license:expat))))
3643
3644 (define-public cl-css
3645 (sbcl-package->cl-source-package sbcl-cl-css))
3646
3647 (define-public ecl-cl-css
3648 (sbcl-package->ecl-package sbcl-cl-css))
3649
3650 (define-public sbcl-portable-threads
3651 (let ((commit "aa26bf38338a6b068bf8bfb3375d8d8c3b0a28df"))
3652 (package
3653 (name "sbcl-portable-threads")
3654 (version (git-version "2.3" "2" commit))
3655 (source
3656 (origin
3657 (method git-fetch)
3658 (uri (git-reference
3659 (url "https://github.com/binghe/portable-threads/")
3660 (commit commit)))
3661 (file-name (git-file-name "portable-threads" version))
3662 (sha256
3663 (base32 "058ksi07vfdmhrf5mdlc833s82m1rcqfja2266520m3r8bzs8bvs"))))
3664 (build-system asdf-build-system/sbcl)
3665 (arguments
3666 `(;; Tests seem broken.
3667 #:tests? #f))
3668 (home-page "https://github.com/binghe/portable-threads")
3669 (synopsis "Portable threads API for Common Lisp")
3670 (description
3671 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3672 Lisp (from GBBopen project).")
3673 (license license:asl2.0))))
3674
3675 (define-public cl-portable-threads
3676 (sbcl-package->cl-source-package sbcl-portable-threads))
3677
3678 (define-public ecl-portable-threads
3679 (sbcl-package->ecl-package sbcl-portable-threads))
3680
3681 (define-public sbcl-usocket
3682 (package
3683 (name "sbcl-usocket")
3684 (version "0.8.3")
3685 (source
3686 (origin
3687 (method git-fetch)
3688 (uri (git-reference
3689 (url "https://github.com/usocket/usocket/")
3690 (commit (string-append "v" version))))
3691 (file-name (git-file-name "usocket" version))
3692 (sha256
3693 (base32
3694 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3695 (build-system asdf-build-system/sbcl)
3696 (native-inputs
3697 `(("rt" ,sbcl-rt)))
3698 (inputs
3699 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3700 ("split-sequence" ,sbcl-split-sequence)))
3701 (arguments
3702 `(#:tests? #f ; FIXME: Tests need network access?
3703 #:asd-systems '("usocket"
3704 "usocket-server")))
3705 (home-page "https://common-lisp.net/project/usocket/")
3706 (synopsis "Universal socket library for Common Lisp")
3707 (description
3708 "This library strives to provide a portable TCP/IP and UDP/IP socket
3709 interface for as many Common Lisp implementations as possible, while keeping
3710 the abstraction and portability layer as thin as possible.")
3711 (license license:expat)))
3712
3713 (define-public cl-usocket
3714 (sbcl-package->cl-source-package sbcl-usocket))
3715
3716 (define-public ecl-usocket
3717 (sbcl-package->ecl-package sbcl-usocket))
3718
3719 (define-public sbcl-s-xml
3720 (package
3721 (name "sbcl-s-xml")
3722 (version "3")
3723 (source
3724 (origin
3725 (method url-fetch)
3726 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3727 (sha256
3728 (base32
3729 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3730 (build-system asdf-build-system/sbcl)
3731 (home-page "https://common-lisp.net/project/s-xml/")
3732 (synopsis "Simple XML parser implemented in Common Lisp")
3733 (description
3734 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3735 parser implementation has the following features:
3736
3737 @itemize
3738 @item It works (handling many common XML usages).
3739 @item It is very small (the core is about 700 lines of code, including
3740 comments and whitespace).
3741 @item It has a core API that is simple, efficient and pure functional, much
3742 like that from SSAX (see also http://ssax.sourceforge.net).
3743 @item It supports different DOM models: an XSML-based one, an LXML-based one
3744 and a classic xml-element struct based one.
3745 @item It is reasonably time and space efficient (internally avoiding garbage
3746 generatation as much as possible).
3747 @item It does support CDATA.
3748 @item It should support the same character sets as your Common Lisp
3749 implementation.
3750 @item It does support XML name spaces.
3751 @end itemize
3752
3753 This XML parser implementation has the following limitations:
3754
3755 @itemize
3756 @item It does not support any special tags (like processing instructions).
3757 @item It is not validating, even skips DTD's all together.
3758 @end itemize\n")
3759 (license license:lgpl3+)))
3760
3761 (define-public cl-s-xml
3762 (sbcl-package->cl-source-package sbcl-s-xml))
3763
3764 (define-public ecl-s-xml
3765 (sbcl-package->ecl-package sbcl-s-xml))
3766
3767 (define-public sbcl-s-xml-rpc
3768 (package
3769 (name "sbcl-s-xml-rpc")
3770 (version "7")
3771 (source
3772 (origin
3773 (method url-fetch)
3774 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3775 (sha256
3776 (base32
3777 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3778 (build-system asdf-build-system/sbcl)
3779 (inputs
3780 `(("s-xml" ,sbcl-s-xml)))
3781 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3782 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3783 (description
3784 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3785 client and server.")
3786 (license license:lgpl3+)))
3787
3788 (define-public cl-s-xml-rpc
3789 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3790
3791 (define-public ecl-s-xml-rpc
3792 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3793
3794 (define-public sbcl-trivial-arguments
3795 (let ((commit "ecd84ed9cf9ef8f1e873d7409e6bd04979372aa7")
3796 (revision "1"))
3797 (package
3798 (name "sbcl-trivial-arguments")
3799 (version (git-version "1.1.0" revision commit))
3800 (source
3801 (origin
3802 (method git-fetch)
3803 (uri (git-reference
3804 (url "https://github.com/Shinmera/trivial-arguments")
3805 (commit commit)))
3806 (file-name (git-file-name "trivial-arguments" version))
3807 (sha256
3808 (base32 "02vaqfavhj8jqxnr68nnzvzshm8jbgcy6m9lvyv4daa6f7ihqf88"))))
3809 (build-system asdf-build-system/sbcl)
3810 (home-page "https://github.com/Shinmera/trivial-arguments")
3811 (synopsis "Common Lisp library to retrieve a function's lambda-list")
3812 (description
3813 "This is a simple library to retrieve the argument list of a function.")
3814 (license license:zlib))))
3815
3816 (define-public ecl-trivial-arguments
3817 (sbcl-package->ecl-package sbcl-trivial-arguments))
3818
3819 (define-public cl-trivial-arguments
3820 (sbcl-package->cl-source-package sbcl-trivial-arguments))
3821
3822 (define-public sbcl-trivial-clipboard
3823 (let ((commit "8a580cb97196be7cf096548eb1f46794cd22bb39"))
3824 (package
3825 (name "sbcl-trivial-clipboard")
3826 (version (git-version "0.0.0.0" "4" commit))
3827 (source
3828 (origin
3829 (method git-fetch)
3830 (uri (git-reference
3831 (url "https://github.com/snmsts/trivial-clipboard")
3832 (commit commit)))
3833 (file-name (git-file-name "trivial-clipboard" version))
3834 (sha256
3835 (base32
3836 "0apkgqrscylw3hhm5x2vs0z3hz6h7zd7dl5y3wr2zl8qjpvpc80k"))))
3837 (build-system asdf-build-system/sbcl)
3838 (inputs
3839 `(("xclip" ,xclip)))
3840 (native-inputs
3841 `(("fiveam" ,sbcl-fiveam)))
3842 (arguments
3843 `(#:phases
3844 (modify-phases %standard-phases
3845 (add-after 'unpack 'fix-paths
3846 (lambda* (#:key inputs #:allow-other-keys)
3847 (substitute* "src/text.lisp"
3848 (("\"xclip\"")
3849 (string-append "\"" (assoc-ref inputs "xclip") "/bin/xclip\""))))))))
3850 (home-page "https://github.com/snmsts/trivial-clipboard")
3851 (synopsis "Access system clipboard in Common Lisp")
3852 (description
3853 "@command{trivial-clipboard} gives access to the system clipboard.")
3854 (license license:expat))))
3855
3856 (define-public cl-trivial-clipboard
3857 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3858
3859 (define-public ecl-trivial-clipboard
3860 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3861
3862 (define-public sbcl-trivial-backtrace
3863 (let ((commit "6eb65bde7229413040c81d42ea22f0e4c9c8cfc9")
3864 (revision "1"))
3865 (package
3866 (name "sbcl-trivial-backtrace")
3867 (version (git-version "1.1.0" revision commit))
3868 (source
3869 (origin
3870 (method git-fetch)
3871 (uri (git-reference
3872 (url "https://github.com/gwkkwg/trivial-backtrace")
3873 (commit commit)))
3874 (file-name (git-file-name "trivial-backtrace" version))
3875 (sha256
3876 (base32 "1mbaqiwj5034iw6jzw30jyhwzp1pvhnz1zcy0lns0z5j2h9ldapw"))))
3877 (build-system asdf-build-system/sbcl)
3878 (native-inputs
3879 `(("sbcl-lift" ,sbcl-lift)))
3880 (arguments
3881 `(#:phases
3882 (modify-phases %standard-phases
3883 (add-after 'check 'delete-test-results
3884 (lambda* (#:key outputs #:allow-other-keys)
3885 (let ((test-results (string-append (assoc-ref outputs "out")
3886 "/share/common-lisp/"
3887 (%lisp-type)
3888 "/trivial-backtrace"
3889 "/test-results")))
3890 (when (file-exists? test-results)
3891 (delete-file-recursively test-results)))
3892 #t)))))
3893 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3894 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3895 (description
3896 "One of the many things that didn't quite get into the Common Lisp
3897 standard was how to get a Lisp to output its call stack when something has
3898 gone wrong. As such, each Lisp has developed its own notion of what to
3899 display, how to display it, and what sort of arguments can be used to
3900 customize it. @code{trivial-backtrace} is a simple solution to generating a
3901 backtrace portably.")
3902 (license license:expat))))
3903
3904 (define-public cl-trivial-backtrace
3905 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3906
3907 (define-public ecl-trivial-backtrace
3908 (sbcl-package->ecl-package sbcl-trivial-backtrace))
3909
3910 (define-public sbcl-rfc2388
3911 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3912 (revision "1"))
3913 (package
3914 (name "sbcl-rfc2388")
3915 (version (git-version "0.0.0" revision commit))
3916 (source
3917 (origin
3918 (method git-fetch)
3919 (uri (git-reference
3920 (url "https://github.com/jdz/rfc2388")
3921 (commit commit)))
3922 (file-name (git-file-name "rfc2388" version))
3923 (sha256
3924 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3925 (build-system asdf-build-system/sbcl)
3926 (home-page "https://github.com/jdz/rfc2388/")
3927 (synopsis "An implementation of RFC 2388 in Common Lisp")
3928 (description
3929 "This package contains an implementation of RFC 2388, which is used to
3930 process form data posted with HTTP POST method using enctype
3931 \"multipart/form-data\".")
3932 (license license:bsd-2))))
3933
3934 (define-public cl-rfc2388
3935 (sbcl-package->cl-source-package sbcl-rfc2388))
3936
3937 (define-public ecl-rfc2388
3938 (sbcl-package->ecl-package sbcl-rfc2388))
3939
3940 (define-public sbcl-md5
3941 (package
3942 (name "sbcl-md5")
3943 (version "2.0.4")
3944 (source
3945 (origin
3946 (method git-fetch)
3947 (uri (git-reference
3948 (url "https://github.com/pmai/md5")
3949 (commit (string-append "release-" version))))
3950 (file-name (git-file-name "md5" version))
3951 (sha256
3952 (base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
3953 (build-system asdf-build-system/sbcl)
3954 (home-page "https://github.com/pmai/md5")
3955 (synopsis
3956 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3957 (description
3958 "This package implements The MD5 Message-Digest Algorithm, as defined in
3959 RFC 1321 by R. Rivest, published April 1992.")
3960 (license license:public-domain)))
3961
3962 (define-public cl-md5
3963 (sbcl-package->cl-source-package sbcl-md5))
3964
3965 (define-public ecl-md5
3966 (package
3967 (inherit (sbcl-package->ecl-package sbcl-md5))
3968 (inputs
3969 `(("flexi-streams" ,ecl-flexi-streams)))))
3970
3971 (define-public sbcl-cl+ssl
3972 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
3973 (revision "1"))
3974 (package
3975 (name "sbcl-cl+ssl")
3976 (version (git-version "0.0.0" revision commit))
3977 (source
3978 (origin
3979 (method git-fetch)
3980 (uri (git-reference
3981 (url "https://github.com/cl-plus-ssl/cl-plus-ssl")
3982 (commit commit)))
3983 (file-name (git-file-name "cl+ssl" version))
3984 (sha256
3985 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
3986 (build-system asdf-build-system/sbcl)
3987 (arguments
3988 '(#:phases
3989 (modify-phases %standard-phases
3990 (add-after 'unpack 'fix-paths
3991 (lambda* (#:key inputs #:allow-other-keys)
3992 (substitute* "src/reload.lisp"
3993 (("libssl.so" all)
3994 (string-append
3995 (assoc-ref inputs "openssl") "/lib/" all))))))))
3996 (inputs
3997 `(("openssl" ,openssl)
3998 ("sbcl-cffi" ,sbcl-cffi)
3999 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4000 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4001 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
4002 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
4003 ("sbcl-alexandria" ,sbcl-alexandria)
4004 ("sbcl-trivial-features" ,sbcl-trivial-features)))
4005 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
4006 (synopsis "Common Lisp bindings to OpenSSL")
4007 (description
4008 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
4009 code was written by Eric Marsden and includes contributions by Jochen Schmidt.
4010 Development into CL+SSL was done by David Lichteblau.")
4011 (license license:expat))))
4012
4013 (define-public cl-cl+ssl
4014 (sbcl-package->cl-source-package sbcl-cl+ssl))
4015
4016 (define-public ecl-cl+ssl
4017 (sbcl-package->ecl-package sbcl-cl+ssl))
4018
4019 (define-public sbcl-kmrcl
4020 (let ((version "1.111")
4021 (commit "4a27407aad9deb607ffb8847630cde3d041ea25a")
4022 (revision "1"))
4023 (package
4024 (name "sbcl-kmrcl")
4025 (version (git-version version revision commit))
4026 (source
4027 (origin
4028 (method git-fetch)
4029 (uri (git-reference
4030 (url "http://git.kpe.io/kmrcl.git/")
4031 (commit commit)))
4032 (file-name (git-file-name name version))
4033 (sha256
4034 (base32 "06gx04mah5nc8w78s0j8628divbf1s5w7af8w7pvzb2d5mgvrbd2"))))
4035 (build-system asdf-build-system/sbcl)
4036 (inputs
4037 `(("sbcl-rt" ,sbcl-rt)))
4038 (home-page "http://files.kpe.io/kmrcl/")
4039 (synopsis "General utilities for Common Lisp programs")
4040 (description
4041 "KMRCL is a collection of utilities used by a number of Kevin
4042 Rosenberg's Common Lisp packages.")
4043 (license license:llgpl))))
4044
4045 (define-public cl-kmrcl
4046 (sbcl-package->cl-source-package sbcl-kmrcl))
4047
4048 (define-public ecl-kmrcl
4049 (sbcl-package->ecl-package sbcl-kmrcl))
4050
4051 (define-public sbcl-cl-base64
4052 ;; 3.3.4 tests are broken, upstream fixes them.
4053 (let ((commit "577683b18fd880b82274d99fc96a18a710e3987a"))
4054 (package
4055 (name "sbcl-cl-base64")
4056 (version (git-version "3.3.4" "1" commit))
4057 (source
4058 (origin
4059 (method git-fetch)
4060 (uri (git-reference
4061 (url "http://git.kpe.io/cl-base64.git/")
4062 (commit commit)))
4063 (file-name (git-file-name name version))
4064 (sha256
4065 (base32 "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj"))))
4066 (build-system asdf-build-system/sbcl)
4067 (native-inputs ; For tests.
4068 `(("sbcl-ptester" ,sbcl-ptester)
4069 ("sbcl-kmrcl" ,sbcl-kmrcl)))
4070 (home-page "http://files.kpe.io/cl-base64/")
4071 (synopsis
4072 "Common Lisp package to encode and decode base64 with URI support")
4073 (description
4074 "This package provides highly optimized base64 encoding and decoding.
4075 Besides conversion to and from strings, integer conversions are supported.
4076 Encoding with Uniform Resource Identifiers is supported by using a modified
4077 encoding table that uses only URI-compatible characters.")
4078 (license license:bsd-3))))
4079
4080 (define-public cl-base64
4081 (sbcl-package->cl-source-package sbcl-cl-base64))
4082
4083 (define-public ecl-cl-base64
4084 (sbcl-package->ecl-package sbcl-cl-base64))
4085
4086 (define-public sbcl-chunga
4087 (package
4088 (name "sbcl-chunga")
4089 (version "1.1.7")
4090 (source
4091 (origin
4092 (method git-fetch)
4093 (uri (git-reference
4094 (url "https://github.com/edicl/chunga")
4095 (commit (string-append "v" version))))
4096 (file-name (git-file-name name version))
4097 (sha256
4098 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
4099 (build-system asdf-build-system/sbcl)
4100 (inputs
4101 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4102 (home-page "https://edicl.github.io/chunga/")
4103 (synopsis "Portable chunked streams for Common Lisp")
4104 (description
4105 "Chunga implements streams capable of chunked encoding on demand as
4106 defined in RFC 2616.")
4107 (license license:bsd-2)))
4108
4109 (define-public cl-chunga
4110 (sbcl-package->cl-source-package sbcl-chunga))
4111
4112 (define-public ecl-chunga
4113 (sbcl-package->ecl-package sbcl-chunga))
4114
4115 (define-public sbcl-cl-who
4116 (let ((version "1.1.4")
4117 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
4118 (revision "1"))
4119 (package
4120 (name "sbcl-cl-who")
4121 (version (git-version version revision commit))
4122 (source
4123 (origin
4124 (method git-fetch)
4125 (uri (git-reference
4126 (url "https://github.com/edicl/cl-who")
4127 (commit commit)))
4128 (file-name (git-file-name name version))
4129 (sha256
4130 (base32
4131 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
4132 (build-system asdf-build-system/sbcl)
4133 (native-inputs
4134 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4135 (home-page "https://edicl.github.io/cl-who/")
4136 (synopsis "Yet another Lisp markup language")
4137 (description
4138 "There are plenty of Lisp Markup Languages out there - every Lisp
4139 programmer seems to write at least one during his career - and CL-WHO (where
4140 WHO means \"with-html-output\" for want of a better acronym) is probably just
4141 as good or bad as the next one.")
4142 (license license:bsd-2))))
4143
4144 (define-public cl-who
4145 (sbcl-package->cl-source-package sbcl-cl-who))
4146
4147 (define-public ecl-cl-who
4148 (sbcl-package->ecl-package sbcl-cl-who))
4149
4150 (define-public sbcl-chipz
4151 (let ((version "0.8")
4152 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
4153 (revision "1"))
4154 (package
4155 (name "sbcl-chipz")
4156 (version (git-version version revision commit))
4157 (source
4158 (origin
4159 (method git-fetch)
4160 (uri (git-reference
4161 (url "https://github.com/froydnj/chipz")
4162 (commit commit)))
4163 (file-name (git-file-name name version))
4164 (sha256
4165 (base32
4166 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
4167 (build-system asdf-build-system/sbcl)
4168 (native-inputs
4169 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4170 (home-page "http://method-combination.net/lisp/chipz/")
4171 (synopsis
4172 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
4173 data")
4174 (description
4175 "DEFLATE data, defined in RFC1951, forms the core of popular
4176 compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
4177 Chipz also provides for decompressing data in those formats as well. BZIP2 is
4178 the format used by the popular compression tool bzip2.")
4179 ;; The author describes it as "MIT-like"
4180 (license license:expat))))
4181
4182 (define-public cl-chipz
4183 (sbcl-package->cl-source-package sbcl-chipz))
4184
4185 (define-public ecl-chipz
4186 (sbcl-package->ecl-package sbcl-chipz))
4187
4188 (define-public sbcl-drakma
4189 (package
4190 (name "sbcl-drakma")
4191 (version "2.0.7")
4192 (source
4193 (origin
4194 (method git-fetch)
4195 (uri (git-reference
4196 (url "https://github.com/edicl/drakma")
4197 (commit (string-append "v" version))))
4198 (file-name (git-file-name name version))
4199 (sha256
4200 (base32
4201 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
4202 (build-system asdf-build-system/sbcl)
4203 (inputs
4204 `(("sbcl-puri" ,sbcl-puri)
4205 ("sbcl-cl-base64" ,sbcl-cl-base64)
4206 ("sbcl-chunga" ,sbcl-chunga)
4207 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4208 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4209 ("sbcl-chipz" ,sbcl-chipz)
4210 ("sbcl-usocket" ,sbcl-usocket)
4211 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
4212 (native-inputs
4213 `(("sbcl-fiveam" ,sbcl-fiveam)))
4214 (home-page "https://edicl.github.io/drakma/")
4215 (synopsis "HTTP client written in Common Lisp")
4216 (description
4217 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
4218 knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
4219 sockets, SSL, continuable uploads, file uploads, cookies, and more.")
4220 (license license:bsd-2)))
4221
4222 (define-public cl-drakma
4223 (sbcl-package->cl-source-package sbcl-drakma))
4224
4225 (define-public ecl-drakma
4226 (sbcl-package->ecl-package sbcl-drakma))
4227
4228 (define-public sbcl-hunchentoot
4229 (package
4230 (name "sbcl-hunchentoot")
4231 (version "1.2.38")
4232 (source
4233 (origin
4234 (method git-fetch)
4235 (uri (git-reference
4236 (url "https://github.com/edicl/hunchentoot")
4237 (commit (string-append "v" version))))
4238 (file-name (git-file-name "hunchentoot" version))
4239 (sha256
4240 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
4241 (build-system asdf-build-system/sbcl)
4242 (native-inputs
4243 `(("sbcl-cl-who" ,sbcl-cl-who)
4244 ("sbcl-drakma" ,sbcl-drakma)))
4245 (inputs
4246 `(("sbcl-chunga" ,sbcl-chunga)
4247 ("sbcl-cl-base64" ,sbcl-cl-base64)
4248 ("sbcl-cl-fad" ,sbcl-cl-fad)
4249 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4250 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4251 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
4252 ("sbcl-md5" ,sbcl-md5)
4253 ("sbcl-rfc2388" ,sbcl-rfc2388)
4254 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
4255 ("sbcl-usocket" ,sbcl-usocket)))
4256 (home-page "https://edicl.github.io/hunchentoot/")
4257 (synopsis "Web server written in Common Lisp")
4258 (description
4259 "Hunchentoot is a web server written in Common Lisp and at the same
4260 time a toolkit for building dynamic websites. As a stand-alone web server,
4261 Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
4262 connections (keep-alive), and SSL.")
4263 (license license:bsd-2)))
4264
4265 (define-public cl-hunchentoot
4266 (sbcl-package->cl-source-package sbcl-hunchentoot))
4267
4268 (define-public ecl-hunchentoot
4269 (package
4270 (inherit (sbcl-package->ecl-package sbcl-hunchentoot))
4271 (arguments
4272 ;; Tests fail on ECL with 'Socket error in "socket": EINVAL'.
4273 '(#:tests? #f))))
4274
4275 (define-public sbcl-trivial-types
4276 (package
4277 (name "sbcl-trivial-types")
4278 (version "0.0.1")
4279 (source
4280 (origin
4281 (method git-fetch)
4282 (uri (git-reference
4283 (url "https://github.com/m2ym/trivial-types")
4284 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
4285 (file-name (git-file-name name version))
4286 (sha256
4287 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
4288 (build-system asdf-build-system/sbcl)
4289 (home-page "https://github.com/m2ym/trivial-types")
4290 (synopsis "Trivial type definitions for Common Lisp")
4291 (description
4292 "TRIVIAL-TYPES provides missing but important type definitions such as
4293 PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
4294 (license license:llgpl)))
4295
4296 (define-public cl-trivial-types
4297 (sbcl-package->cl-source-package sbcl-trivial-types))
4298
4299 (define-public ecl-trivial-types
4300 (sbcl-package->ecl-package sbcl-trivial-types))
4301
4302 (define-public sbcl-cl-annot
4303 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
4304 (revision "1"))
4305 (package
4306 (name "sbcl-cl-annot")
4307 (version (git-version "0.0.0" revision commit))
4308 (source
4309 (origin
4310 (method git-fetch)
4311 (uri (git-reference
4312 (url "https://github.com/m2ym/cl-annot")
4313 (commit commit)))
4314 (file-name (git-file-name name version))
4315 (sha256
4316 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
4317 (build-system asdf-build-system/sbcl)
4318 (inputs
4319 `(("sbcl-alexandria" ,sbcl-alexandria)))
4320 (home-page "https://github.com/m2ym/cl-annot")
4321 (synopsis "Python-like Annotation Syntax for Common Lisp.")
4322 (description
4323 "@code{cl-annot} is an general annotation library for Common Lisp.")
4324 (license license:llgpl))))
4325
4326 (define-public cl-annot
4327 (sbcl-package->cl-source-package sbcl-cl-annot))
4328
4329 (define-public ecl-cl-annot
4330 (sbcl-package->ecl-package sbcl-cl-annot))
4331
4332 (define-public sbcl-cl-syntax
4333 (package
4334 (name "sbcl-cl-syntax")
4335 (version "0.0.3")
4336 (source
4337 (origin
4338 (method git-fetch)
4339 (uri (git-reference
4340 (url "https://github.com/m2ym/cl-syntax")
4341 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
4342 (file-name (git-file-name "cl-syntax" version))
4343 (sha256
4344 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
4345 (build-system asdf-build-system/sbcl)
4346 (inputs
4347 `(("cl-annot" ,sbcl-cl-annot)
4348 ("cl-interpol" ,sbcl-cl-interpol)
4349 ("named-readtables" ,sbcl-named-readtables)
4350 ("trivial-types" ,sbcl-trivial-types)))
4351 (arguments
4352 '(#:asd-systems '("cl-syntax"
4353 "cl-syntax-annot"
4354 "cl-syntax-interpol")))
4355 (home-page "https://github.com/m2ym/cl-syntax")
4356 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
4357 (description
4358 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
4359 (license license:llgpl)))
4360
4361 (define-public cl-syntax
4362 (sbcl-package->cl-source-package sbcl-cl-syntax))
4363
4364 (define-public ecl-cl-syntax
4365 (sbcl-package->ecl-package sbcl-cl-syntax))
4366
4367 (define-public sbcl-cl-utilities
4368 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
4369 (revision "1"))
4370 (package
4371 (name "sbcl-cl-utilities")
4372 (version (git-version "0.0.0" revision commit))
4373 (source
4374 (origin
4375 (method url-fetch)
4376 (uri
4377 (string-append
4378 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
4379 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
4380 (sha256
4381 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
4382 (build-system asdf-build-system/sbcl)
4383 (arguments
4384 '(#:phases
4385 (modify-phases %standard-phases
4386 (add-after 'unpack 'fix-paths
4387 (lambda* (#:key inputs #:allow-other-keys)
4388 (substitute* "rotate-byte.lisp"
4389 (("in-package :cl-utilities)" all)
4390 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
4391 (home-page "http://common-lisp.net/project/cl-utilities")
4392 (synopsis "A collection of semi-standard utilities")
4393 (description
4394 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
4395 is a collection of Common Lisp Utilities, things that everybody writes since
4396 they're not part of the official standard. There are some very useful things
4397 there; the only problems are that they aren't implemented as well as you'd
4398 like (some aren't implemented at all) and they aren't conveniently packaged
4399 and maintained. It takes quite a bit of work to carefully implement utilities
4400 for common use, commented and documented, with error checking placed
4401 everywhere some dumb user might make a mistake.")
4402 (license license:public-domain))))
4403
4404 (define-public cl-utilities
4405 (sbcl-package->cl-source-package sbcl-cl-utilities))
4406
4407 (define-public ecl-cl-utilities
4408 (sbcl-package->ecl-package sbcl-cl-utilities))
4409
4410 (define-public sbcl-map-set
4411 (let ((commit "7b4b545b68b8")
4412 (revision "1"))
4413 (package
4414 (name "sbcl-map-set")
4415 (version (git-version "0.0.0" revision commit))
4416 (source
4417 (origin
4418 (method url-fetch)
4419 (uri (string-append
4420 "https://bitbucket.org/tarballs_are_good/map-set/get/"
4421 commit ".tar.gz"))
4422 (sha256
4423 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
4424 (build-system asdf-build-system/sbcl)
4425 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
4426 (synopsis "Set-like data structure")
4427 (description
4428 "Implementation of a set-like data structure with constant time
4429 addition, removal, and random selection.")
4430 (license license:bsd-3))))
4431
4432 (define-public cl-map-set
4433 (sbcl-package->cl-source-package sbcl-map-set))
4434
4435 (define-public ecl-map-set
4436 (sbcl-package->ecl-package sbcl-map-set))
4437
4438 (define-public sbcl-quri
4439 (package
4440 (name "sbcl-quri")
4441 (version "0.3.0")
4442 (source
4443 (origin
4444 (method git-fetch)
4445 (uri (git-reference
4446 (url "https://github.com/fukamachi/quri")
4447 (commit version)))
4448 (file-name (git-file-name name version))
4449 (sha256
4450 (base32 "1pkvpiwwhx2fcknr7x47h7036ypkg8xzsskqbl5z315ipfmi8s2m"))))
4451 (build-system asdf-build-system/sbcl)
4452 (arguments
4453 ;; Test system must be loaded before, otherwise tests fail with:
4454 ;; Component QURI-ASD::QURI-TEST not found, required by #<SYSTEM
4455 ;; "quri">.
4456 '(#:asd-systems '("quri-test"
4457 "quri")))
4458 (native-inputs `(("sbcl-prove" ,sbcl-prove)))
4459 (inputs `(("sbcl-babel" ,sbcl-babel)
4460 ("sbcl-split-sequence" ,sbcl-split-sequence)
4461 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
4462 ("sbcl-alexandria" ,sbcl-alexandria)))
4463 (home-page "https://github.com/fukamachi/quri")
4464 (synopsis "Yet another URI library for Common Lisp")
4465 (description
4466 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
4467 Lisp. It is intended to be a replacement of PURI.")
4468 (license license:bsd-3)))
4469
4470 (define-public cl-quri
4471 (sbcl-package->cl-source-package sbcl-quri))
4472
4473 (define-public ecl-quri
4474 (sbcl-package->ecl-package sbcl-quri))
4475
4476 (define-public sbcl-myway
4477 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
4478 (revision "1"))
4479 (package
4480 (name "sbcl-myway")
4481 (version (git-version "0.1.0" revision commit))
4482 (source
4483 (origin
4484 (method git-fetch)
4485 (uri (git-reference
4486 (url "https://github.com/fukamachi/myway")
4487 (commit commit)))
4488 (file-name (git-file-name "myway" version))
4489 (sha256
4490 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
4491 (build-system asdf-build-system/sbcl)
4492 (arguments
4493 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
4494 ;; by #<SYSTEM "myway">. Why?
4495 '(#:tests? #f))
4496 (native-inputs
4497 `(("sbcl-prove" ,sbcl-prove)))
4498 (inputs
4499 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4500 ("sbcl-quri" ,sbcl-quri)
4501 ("sbcl-map-set" ,sbcl-map-set)))
4502 (home-page "https://github.com/fukamachi/myway")
4503 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
4504 (description "My Way is a Sinatra-compatible URL routing library.")
4505 (license license:llgpl))))
4506
4507 (define-public cl-myway
4508 (sbcl-package->cl-source-package sbcl-myway))
4509
4510 (define-public ecl-myway
4511 (sbcl-package->ecl-package sbcl-myway))
4512
4513 (define-public sbcl-xsubseq
4514 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
4515 (revision "1"))
4516 (package
4517 (name "sbcl-xsubseq")
4518 (version (git-version "0.0.1" revision commit))
4519 (source
4520 (origin
4521 (method git-fetch)
4522 (uri (git-reference
4523 (url "https://github.com/fukamachi/xsubseq")
4524 (commit commit)))
4525 (file-name (git-file-name name version))
4526 (sha256
4527 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4528 (build-system asdf-build-system/sbcl)
4529 (arguments
4530 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4531 ;; required by #<SYSTEM "xsubseq">. Why?
4532 '(#:tests? #f))
4533 (native-inputs
4534 `(("sbcl-prove" ,sbcl-prove)))
4535 (home-page "https://github.com/fukamachi/xsubseq")
4536 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4537 (description
4538 "XSubseq provides functions to be able to handle \"subseq\"s more
4539 effieiently.")
4540 (license license:bsd-2))))
4541
4542 (define-public cl-xsubseq
4543 (sbcl-package->cl-source-package sbcl-xsubseq))
4544
4545 (define-public ecl-xsubseq
4546 (sbcl-package->ecl-package sbcl-xsubseq))
4547
4548 (define-public sbcl-smart-buffer
4549 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4550 (revision "1"))
4551 (package
4552 (name "sbcl-smart-buffer")
4553 (version (git-version "0.0.1" revision commit))
4554 (source
4555 (origin
4556 (method git-fetch)
4557 (uri (git-reference
4558 (url "https://github.com/fukamachi/smart-buffer")
4559 (commit commit)))
4560 (file-name (git-file-name name version))
4561 (sha256
4562 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4563 (build-system asdf-build-system/sbcl)
4564 (arguments
4565 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4566 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4567 `(#:tests? #f))
4568 (native-inputs
4569 `(("sbcl-prove" ,sbcl-prove)))
4570 (inputs
4571 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4572 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4573 (home-page "https://github.com/fukamachi/smart-buffer")
4574 (synopsis "Smart octets buffer")
4575 (description
4576 "Smart-buffer provides an output buffer which changes the destination
4577 depending on content size.")
4578 (license license:bsd-3))))
4579
4580 (define-public cl-smart-buffer
4581 (sbcl-package->cl-source-package sbcl-smart-buffer))
4582
4583 (define-public ecl-smart-buffer
4584 (sbcl-package->ecl-package sbcl-smart-buffer))
4585
4586 (define-public sbcl-fast-http
4587 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
4588 (revision "2"))
4589 (package
4590 (name "sbcl-fast-http")
4591 (version (git-version "0.2.0" revision commit))
4592 (source
4593 (origin
4594 (method git-fetch)
4595 (uri (git-reference
4596 (url "https://github.com/fukamachi/fast-http")
4597 (commit commit)))
4598 (file-name (git-file-name name version))
4599 (sha256
4600 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
4601 (build-system asdf-build-system/sbcl)
4602 (arguments
4603 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4604 ;; required by #<SYSTEM "fast-http">. Why?
4605 `(#:tests? #f))
4606 (native-inputs
4607 `(("sbcl-prove" ,sbcl-prove)
4608 ("cl-syntax" ,sbcl-cl-syntax)))
4609 (inputs
4610 `(("sbcl-alexandria" ,sbcl-alexandria)
4611 ("sbcl-proc-parse" ,sbcl-proc-parse)
4612 ("sbcl-xsubseq" ,sbcl-xsubseq)
4613 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4614 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4615 (home-page "https://github.com/fukamachi/fast-http")
4616 (synopsis "HTTP request/response parser for Common Lisp")
4617 (description
4618 "@code{fast-http} is a HTTP request/response protocol parser for Common
4619 Lisp.")
4620 ;; Author specified the MIT license
4621 (license license:expat))))
4622
4623 (define-public cl-fast-http
4624 (sbcl-package->cl-source-package sbcl-fast-http))
4625
4626 (define-public ecl-fast-http
4627 (sbcl-package->ecl-package sbcl-fast-http))
4628
4629 (define-public sbcl-static-vectors
4630 (package
4631 (name "sbcl-static-vectors")
4632 (version "1.8.6")
4633 (source
4634 (origin
4635 (method git-fetch)
4636 (uri (git-reference
4637 (url "https://github.com/sionescu/static-vectors")
4638 (commit (string-append "v" version))))
4639 (file-name (git-file-name name version))
4640 (sha256
4641 (base32 "01hwxzhyjkhsd3949g70120g7msw01byf0ia0pbj319q1a3cq7j9"))))
4642 (native-inputs
4643 `(("sbcl-fiveam" ,sbcl-fiveam)))
4644 (inputs
4645 `(("sbcl-alexandria" ,sbcl-alexandria)
4646 ("sbcl-cffi" ,sbcl-cffi)))
4647 (build-system asdf-build-system/sbcl)
4648 (home-page "https://github.com/sionescu/static-vectors")
4649 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4650 (description
4651 "With @code{static-vectors}, you can create vectors allocated in static
4652 memory.")
4653 (license license:expat)))
4654
4655 (define-public cl-static-vectors
4656 (sbcl-package->cl-source-package sbcl-static-vectors))
4657
4658 (define-public ecl-static-vectors
4659 (sbcl-package->ecl-package sbcl-static-vectors))
4660
4661 (define-public sbcl-marshal
4662 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4663 (revision "1"))
4664 (package
4665 (name "sbcl-marshal")
4666 (version (git-version "1.3.0" revision commit))
4667 (source
4668 (origin
4669 (method git-fetch)
4670 (uri (git-reference
4671 (url "https://github.com/wlbr/cl-marshal")
4672 (commit commit)))
4673 (file-name (git-file-name name version))
4674 (sha256
4675 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4676 (build-system asdf-build-system/sbcl)
4677 (home-page "https://github.com/wlbr/cl-marshal")
4678 (synopsis "Simple (de)serialization of Lisp datastructures")
4679 (description
4680 "Simple and fast marshalling of Lisp datastructures. Convert any object
4681 into a string representation, put it on a stream an revive it from there.
4682 Only minimal changes required to make your CLOS objects serializable.")
4683 (license license:expat))))
4684
4685 (define-public cl-marshal
4686 (sbcl-package->cl-source-package sbcl-marshal))
4687
4688 (define-public ecl-marshal
4689 (sbcl-package->ecl-package sbcl-marshal))
4690
4691 (define-public sbcl-checkl
4692 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4693 (revision "1"))
4694 (package
4695 (name "sbcl-checkl")
4696 (version (git-version "0.0.0" revision commit))
4697 (source
4698 (origin
4699 (method git-fetch)
4700 (uri (git-reference
4701 (url "https://github.com/rpav/CheckL")
4702 (commit commit)))
4703 (file-name (git-file-name name version))
4704 (sha256
4705 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4706 (build-system asdf-build-system/sbcl)
4707 (arguments
4708 ;; Error while trying to load definition for system checkl-test from
4709 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4710 ;; is undefined.
4711 '(#:asd-files '("checkl.asd")
4712 #:tests? #f))
4713 (native-inputs
4714 `(("sbcl-fiveam" ,sbcl-fiveam)))
4715 (inputs
4716 `(("sbcl-marshal" ,sbcl-marshal)))
4717 (home-page "https://github.com/rpav/CheckL/")
4718 (synopsis "Dynamic testing for Common Lisp")
4719 (description
4720 "CheckL lets you write tests dynamically, it checks resulting values
4721 against the last run.")
4722 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4723 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4724 ;; stronger of the two and so I think only listing this should suffice.
4725 (license license:llgpl))))
4726
4727 (define-public cl-checkl
4728 (sbcl-package->cl-source-package sbcl-checkl))
4729
4730 (define-public ecl-checkl
4731 (sbcl-package->ecl-package sbcl-checkl))
4732
4733 (define-public sbcl-fast-io
4734 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
4735 (revision "2"))
4736 (package
4737 (name "sbcl-fast-io")
4738 (version (git-version "1.0.0" revision commit))
4739 (source
4740 (origin
4741 (method git-fetch)
4742 (uri (git-reference
4743 (url "https://github.com/rpav/fast-io")
4744 (commit commit)))
4745 (file-name (git-file-name name version))
4746 (sha256
4747 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
4748 (build-system asdf-build-system/sbcl)
4749 (arguments
4750 ;; Error while trying to load definition for system fast-io-test from
4751 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4752 ;; is undefined.
4753 '(#:tests? #f
4754 #:asd-files '("fast-io.asd")))
4755 (native-inputs
4756 `(("sbcl-fiveam" ,sbcl-fiveam)
4757 ("sbcl-checkl" ,sbcl-checkl)))
4758 (inputs
4759 `(("sbcl-alexandria" ,sbcl-alexandria)
4760 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4761 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4762 (home-page "https://github.com/rpav/fast-io")
4763 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4764 (description
4765 "Fast-io is about improving performance to octet-vectors and octet
4766 streams (though primarily the former, while wrapping the latter).")
4767 ;; Author specifies this as NewBSD which is an alias
4768 (license license:bsd-3))))
4769
4770 (define-public cl-fast-io
4771 (sbcl-package->cl-source-package sbcl-fast-io))
4772
4773 (define-public ecl-fast-io
4774 (sbcl-package->ecl-package sbcl-fast-io))
4775
4776 (define-public sbcl-jonathan
4777 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4778 (revision "1"))
4779 (package
4780 (name "sbcl-jonathan")
4781 (version (git-version "0.1.0" revision commit))
4782 (source
4783 (origin
4784 (method git-fetch)
4785 (uri (git-reference
4786 (url "https://github.com/Rudolph-Miller/jonathan")
4787 (commit commit)))
4788 (file-name (git-file-name name version))
4789 (sha256
4790 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4791 (build-system asdf-build-system/sbcl)
4792 (arguments
4793 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4794 ;; required by #<SYSTEM "jonathan">. Why?
4795 `(#:tests? #f))
4796 (native-inputs
4797 `(("sbcl-prove" ,sbcl-prove)))
4798 (inputs
4799 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4800 ("sbcl-fast-io" ,sbcl-fast-io)
4801 ("sbcl-proc-parse" ,sbcl-proc-parse)
4802 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
4803 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
4804 (synopsis "JSON encoder and decoder")
4805 (description
4806 "High performance JSON encoder and decoder. Currently support: SBCL,
4807 CCL.")
4808 ;; Author specifies the MIT license
4809 (license license:expat))))
4810
4811 (define-public cl-jonathan
4812 (sbcl-package->cl-source-package sbcl-jonathan))
4813
4814 (define-public ecl-jonathan
4815 (sbcl-package->ecl-package sbcl-jonathan))
4816
4817 (define-public sbcl-http-body
4818 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4819 (revision "1"))
4820 (package
4821 (name "sbcl-http-body")
4822 (version (git-version "0.1.0" revision commit))
4823 (source
4824 (origin
4825 (method git-fetch)
4826 (uri (git-reference
4827 (url "https://github.com/fukamachi/http-body")
4828 (commit commit)))
4829 (file-name (git-file-name name version))
4830 (sha256
4831 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4832 (build-system asdf-build-system/sbcl)
4833 (arguments
4834 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4835 ;; found, required by #<SYSTEM "http-body">. Why?
4836 `(#:tests? #f))
4837 (native-inputs
4838 `(("sbcl-prove" ,sbcl-prove)))
4839 (inputs
4840 `(("sbcl-fast-http" ,sbcl-fast-http)
4841 ("sbcl-jonathan" ,sbcl-jonathan)
4842 ("sbcl-quri" ,sbcl-quri)))
4843 (home-page "https://github.com/fukamachi/http-body")
4844 (synopsis "HTTP POST data parser")
4845 (description
4846 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4847 supports application/x-www-form-urlencoded, application/json, and
4848 multipart/form-data.")
4849 (license license:bsd-2))))
4850
4851 (define-public cl-http-body
4852 (sbcl-package->cl-source-package sbcl-http-body))
4853
4854 (define-public ecl-http-body
4855 (sbcl-package->ecl-package sbcl-http-body))
4856
4857 (define-public sbcl-circular-streams
4858 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4859 (revision "1"))
4860 (package
4861 (name "sbcl-circular-streams")
4862 (version (git-version "0.1.0" revision commit))
4863 (source
4864 (origin
4865 (method git-fetch)
4866 (uri (git-reference
4867 (url "https://github.com/fukamachi/circular-streams")
4868 (commit commit)))
4869 (file-name (git-file-name name version))
4870 (sha256
4871 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4872 (build-system asdf-build-system/sbcl)
4873 (arguments
4874 ;; The tests depend on cl-test-more which is now prove. Prove
4875 ;; tests aren't working for some reason.
4876 `(#:tests? #f))
4877 (inputs
4878 `(("sbcl-fast-io" ,sbcl-fast-io)
4879 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4880 (home-page "https://github.com/fukamachi/circular-streams")
4881 (synopsis "Circularly readable streams for Common Lisp")
4882 (description
4883 "Circular-Streams allows you to read streams circularly by wrapping real
4884 streams. Once you reach end-of-file of a stream, it's file position will be
4885 reset to 0 and you're able to read it again.")
4886 (license license:llgpl))))
4887
4888 (define-public cl-circular-streams
4889 (sbcl-package->cl-source-package sbcl-circular-streams))
4890
4891 (define-public ecl-circular-streams
4892 (sbcl-package->ecl-package sbcl-circular-streams))
4893
4894 (define-public sbcl-lack
4895 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4896 (revision "1"))
4897 (package
4898 (name "sbcl-lack")
4899 (version (git-version "0.1.0" revision commit))
4900 (source
4901 (origin
4902 (method git-fetch)
4903 (uri (git-reference
4904 (url "https://github.com/fukamachi/lack")
4905 (commit commit)))
4906 (file-name (git-file-name "lack" version))
4907 (sha256
4908 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4909 (build-system asdf-build-system/sbcl)
4910 (native-inputs
4911 `(("prove" ,sbcl-prove)))
4912 (inputs
4913 `(("circular-streams" ,sbcl-circular-streams)
4914 ("http-body" ,sbcl-http-body)
4915 ("ironclad" ,sbcl-ironclad)
4916 ("local-time" ,sbcl-local-time)
4917 ("quri" ,sbcl-quri)
4918 ("trivial-mimes" ,sbcl-trivial-mimes)))
4919 (arguments
4920 '(#:asd-systems '("lack"
4921 "lack-request"
4922 "lack-response"
4923 "lack-component"
4924 "lack-util"
4925 "lack-middleware-backtrace"
4926 "lack-middleware-static")
4927 #:test-asd-file "t-lack.asd"
4928 ;; XXX: Component :CLACK not found
4929 #:tests? #f))
4930 (home-page "https://github.com/fukamachi/lack")
4931 (synopsis "Lack, the core of Clack")
4932 (description
4933 "Lack is a Common Lisp library which allows web applications to be
4934 constructed of modular components. It was originally a part of Clack, however
4935 it's going to be rewritten as an individual project since Clack v2 with
4936 performance and simplicity in mind.")
4937 (license license:llgpl))))
4938
4939 (define-public cl-lack
4940 (sbcl-package->cl-source-package sbcl-lack))
4941
4942 (define-public ecl-lack
4943 (sbcl-package->ecl-package sbcl-lack))
4944
4945 (define-public sbcl-local-time
4946 (let ((commit "a177eb911c0e8116e2bfceb79049265a884b701b")
4947 (revision "2"))
4948 (package
4949 (name "sbcl-local-time")
4950 (version (git-version "1.0.6" revision commit))
4951 (source
4952 (origin
4953 (method git-fetch)
4954 (uri (git-reference
4955 (url "https://github.com/dlowe-net/local-time")
4956 (commit commit)))
4957 (file-name (git-file-name name version))
4958 (sha256
4959 (base32 "0wld28xx20k0ysgg6akic5lg4vkjd0iyhv86m388xfrv8xh87wii"))))
4960 (build-system asdf-build-system/sbcl)
4961 (native-inputs
4962 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
4963 (home-page "https://common-lisp.net/project/local-time/")
4964 (synopsis "Time manipulation library for Common Lisp")
4965 (description
4966 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4967 dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4968 Long Painful History of Time\".")
4969 (license license:expat))))
4970
4971 (define-public cl-local-time
4972 (sbcl-package->cl-source-package sbcl-local-time))
4973
4974 (define-public ecl-local-time
4975 (sbcl-package->ecl-package sbcl-local-time))
4976
4977 (define-public sbcl-chronicity
4978 (package
4979 (name "sbcl-chronicity")
4980 (version "0.4.1")
4981 (source
4982 (origin
4983 (method git-fetch)
4984 (uri (git-reference
4985 (url "https://github.com/chaitanyagupta/chronicity")
4986 (commit (string-append "v" version))))
4987 (file-name (git-file-name "chronicity" version))
4988 (sha256
4989 (base32 "0rzrl9is2v1aqbm0sym0qx3blnpd0bl13dkkmll6mb3983k2mkax"))))
4990 (build-system asdf-build-system/sbcl)
4991 (native-inputs
4992 `(("lisp-unit" ,sbcl-lisp-unit)))
4993 (inputs
4994 `(("cl-interpol" ,sbcl-cl-interpol)
4995 ("cl-ppcre" ,sbcl-cl-ppcre)
4996 ("local-time" ,sbcl-local-time)))
4997 (home-page "https://github.com/chaitanyagupta/chronicity")
4998 (synopsis "Natural language date and time parser for Common Lisp")
4999 (description
5000 "CHRONICITY is Common Lisp natural language date and time parser inspired
5001 by Ruby's @code{Chronic}.")
5002 (license license:bsd-3)))
5003
5004 (define-public ecl-chronicity
5005 (sbcl-package->ecl-package sbcl-chronicity))
5006
5007 (define-public cl-chronicity
5008 (sbcl-package->cl-source-package sbcl-chronicity))
5009
5010 (define-public sbcl-trivial-mimes
5011 (let ((commit "a741fc2f567a4f86b853fd4677d75e62c03e51d9")
5012 (revision "2"))
5013 (package
5014 (name "sbcl-trivial-mimes")
5015 (version (git-version "1.1.0" revision commit))
5016 (source
5017 (origin
5018 (method git-fetch)
5019 (uri (git-reference
5020 (url "https://github.com/Shinmera/trivial-mimes")
5021 (commit commit)))
5022 (file-name (git-file-name name version))
5023 (sha256
5024 (base32 "00kcm17q5plpzdj1qwg83ldhxksilgpcdkf3m9azxcdr968xs9di"))))
5025 (build-system asdf-build-system/sbcl)
5026 (native-inputs
5027 `(("stefil" ,sbcl-hu.dwim.stefil)))
5028 (inputs
5029 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
5030 (home-page "https://shinmera.github.io/trivial-mimes/")
5031 (synopsis "Tiny Common Lisp library to detect mime types in files")
5032 (description
5033 "This is a teensy library that provides some functions to determine the
5034 mime-type of a file.")
5035 (license license:zlib))))
5036
5037 (define-public cl-trivial-mimes
5038 (sbcl-package->cl-source-package sbcl-trivial-mimes))
5039
5040 (define-public ecl-trivial-mimes
5041 (sbcl-package->ecl-package sbcl-trivial-mimes))
5042
5043 (define-public sbcl-ningle
5044 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
5045 (revision "1"))
5046 (package
5047 (name "sbcl-ningle")
5048 (version (git-version "0.3.0" revision commit))
5049 (source
5050 (origin
5051 (method git-fetch)
5052 (uri (git-reference
5053 (url "https://github.com/fukamachi/ningle")
5054 (commit commit)))
5055 (file-name (git-file-name name version))
5056 (sha256
5057 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
5058 (build-system asdf-build-system/sbcl)
5059 (arguments
5060 ;; TODO: pull in clack-test
5061 '(#:tests? #f
5062 #:phases
5063 (modify-phases %standard-phases
5064 (delete 'cleanup-files)
5065 (delete 'cleanup)
5066 (add-before 'cleanup 'combine-fasls
5067 (lambda* (#:key outputs #:allow-other-keys)
5068 (let* ((out (assoc-ref outputs "out"))
5069 (lib (string-append out "/lib/sbcl"))
5070 (ningle-path (string-append lib "/ningle"))
5071 (fasl-files (find-files out "\\.fasl$")))
5072 (mkdir-p ningle-path)
5073 (let ((fasl-path (lambda (name)
5074 (string-append ningle-path
5075 "/"
5076 (basename name)
5077 "--system.fasl"))))
5078 (for-each (lambda (file)
5079 (rename-file file
5080 (fasl-path
5081 (basename file ".fasl"))))
5082 fasl-files))
5083 fasl-files)
5084 #t)))))
5085 (native-inputs
5086 `(("sbcl-prove" ,sbcl-prove)))
5087 (inputs
5088 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
5089 ("sbcl-myway" ,sbcl-myway)
5090 ("sbcl-lack" ,sbcl-lack)
5091 ("sbcl-alexandria" ,sbcl-alexandria)
5092 ("sbcl-babel" ,sbcl-babel)))
5093 (home-page "https://8arrow.org/ningle/")
5094 (synopsis "Super micro framework for Common Lisp")
5095 (description
5096 "Ningle is a lightweight web application framework for Common Lisp.")
5097 (license license:llgpl))))
5098
5099 (define-public cl-ningle
5100 (sbcl-package->cl-source-package sbcl-ningle))
5101
5102 (define-public ecl-ningle
5103 (sbcl-package->ecl-package sbcl-ningle))
5104
5105 (define-public sbcl-cl-fastcgi
5106 (let ((commit "de8b49b26de9863996ec18db28af8ab7e8ac4e20")
5107 (revision "2"))
5108 (package
5109 (name "sbcl-cl-fastcgi")
5110 (version (git-version "0.2" revision commit))
5111 (source
5112 (origin
5113 (method git-fetch)
5114 (uri (git-reference
5115 (url "https://github.com/KDr2/cl-fastcgi/")
5116 (commit commit)))
5117 (file-name (git-file-name name version))
5118 (sha256
5119 (base32 "0xgmhx766q4nmrvn5z7ag3ikpr9phlh8ypi8b14azshq9lqbq0m7"))))
5120 (build-system asdf-build-system/sbcl)
5121 (inputs
5122 `(("usocket" ,sbcl-usocket)
5123 ("cffi" ,sbcl-cffi)
5124 ("fcgi" ,fcgi)))
5125 (arguments
5126 `(#:phases
5127 (modify-phases %standard-phases
5128 (add-after 'unpack 'fix-paths
5129 (lambda* (#:key inputs #:allow-other-keys)
5130 (substitute* "cl-fastcgi.lisp"
5131 (("\"libfcgi.so\"")
5132 (string-append
5133 "\""
5134 (assoc-ref inputs "fcgi") "/lib/libfcgi.so\""))))))))
5135 (home-page "https://kdr2.com/project/cl-fastcgi.html")
5136 (synopsis "FastCGI wrapper for Common Lisp")
5137 (description
5138 "CL-FastCGI is a generic version of SB-FastCGI, targeting to run on
5139 mostly Common Lisp implementation.")
5140 (license license:bsd-2))))
5141
5142 (define-public cl-fastcgi
5143 (sbcl-package->cl-source-package sbcl-cl-fastcgi))
5144
5145 (define-public ecl-cl-fastcgi
5146 (sbcl-package->ecl-package sbcl-cl-fastcgi))
5147
5148 (define-public sbcl-clack
5149 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
5150 (revision "1"))
5151 (package
5152 (name "sbcl-clack")
5153 (version (git-version "2.0.0" revision commit))
5154 (source
5155 (origin
5156 (method git-fetch)
5157 (uri (git-reference
5158 (url "https://github.com/fukamachi/clack")
5159 (commit commit)))
5160 (file-name (git-file-name name version))
5161 (sha256
5162 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
5163 (build-system asdf-build-system/sbcl)
5164 (inputs
5165 `(("alexandria" ,sbcl-alexandria)
5166 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5167 ("cl-fastcgi" ,sbcl-cl-fastcgi)
5168 ("flexi-streams" ,sbcl-flexi-streams)
5169 ("hunchentoot" ,sbcl-hunchentoot)
5170 ("lack" ,sbcl-lack)
5171 ("split-sequence" ,sbcl-split-sequence)
5172 ("usocket" ,sbcl-usocket)
5173 ("quri" ,sbcl-quri)))
5174 (arguments
5175 '(#:asd-systems '("clack"
5176 "clack-handler-fcgi"
5177 "clack-socket"
5178 "clack-handler-hunchentoot")))
5179 (home-page "https://github.com/fukamachi/clack")
5180 (synopsis "Web Application Environment for Common Lisp")
5181 (description
5182 "Clack is a web application environment for Common Lisp inspired by
5183 Python's WSGI and Ruby's Rack.")
5184 (license license:llgpl))))
5185
5186 (define-public cl-clack
5187 (sbcl-package->cl-source-package sbcl-clack))
5188
5189 (define-public ecl-clack
5190 (sbcl-package->ecl-package sbcl-clack))
5191
5192 (define-public sbcl-cl-log
5193 (let ((commit "8f4b766d51e02245c310526cf1e4534ce634f837")
5194 (revision "1"))
5195 (package
5196 (name "sbcl-cl-log")
5197 (version "1.0.1")
5198 (source
5199 (origin
5200 (method git-fetch)
5201 (uri (git-reference
5202 (url "https://github.com/nicklevine/cl-log")
5203 (commit commit)))
5204 (sha256
5205 (base32 "1r3z9swy1b59swvaa5b97is9ysrfmjvjjhhw56p7p5hqg93b92ak"))
5206 (file-name (git-file-name "cl-log" version))))
5207 (build-system asdf-build-system/sbcl)
5208 (synopsis "Common Lisp general purpose logging utility")
5209 (description "CL-LOG is a general purpose logging utility, loosely modelled
5210 in some respects after Gary King's Log5. Its features include: logging to
5211 several destinations at once, via \"messengers\", each messenger is tailored to
5212 accept some log messages and reject others, and this tailoring can be changed
5213 on-the-fly, very rapid processing of messages which are rejected by all
5214 messengers, fully independent use of the utility by several different
5215 sub-systems in an application, support for messengers which cl:format text to a
5216 stream, support for messengers which do not invoke cl:format, timestamps in
5217 theory accurate to internal-time-units-per-second.")
5218 (home-page "https://github.com/nicklevine/cl-log")
5219 (license license:expat))))
5220
5221 (define-public cl-log
5222 (sbcl-package->cl-source-package sbcl-cl-log))
5223
5224 (define-public ecl-cl-log
5225 (sbcl-package->ecl-package sbcl-cl-log))
5226
5227 (define-public sbcl-log4cl
5228 (let ((commit "8c48d6f41d3a1475d0a91eed0638b9eecc398e35")
5229 (revision "1"))
5230 (package
5231 (name "sbcl-log4cl")
5232 (version (git-version "1.1.3" revision commit))
5233 (source
5234 (origin
5235 (method git-fetch)
5236 (uri (git-reference
5237 (url "https://github.com/sharplispers/log4cl")
5238 (commit commit)))
5239 (file-name (git-file-name "log4cl" version))
5240 (sha256
5241 (base32 "0166d9aip366pbpdk5gsi2f6xad6q61lssxgbrypa8zslwjn8736"))))
5242 (build-system asdf-build-system/sbcl)
5243 (native-inputs
5244 `(("stefil" ,sbcl-stefil)))
5245 (inputs
5246 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
5247 (home-page "https://github.com/7max/log4cl")
5248 (synopsis "Common Lisp logging framework, modeled after Log4J")
5249 (description
5250 "This is a Common Lisp logging framework that can log at various levels
5251 and mix text with expressions.")
5252 (license license:asl2.0))))
5253
5254 (define-public cl-log4cl
5255 (sbcl-package->cl-source-package sbcl-log4cl))
5256
5257 (define-public ecl-log4cl
5258 (sbcl-package->ecl-package sbcl-log4cl))
5259
5260 (define-public sbcl-printv
5261 (let ((commit "646d31978dbbb460fffb160fd65bb2be9a5a434e")
5262 (revision "1"))
5263 (package
5264 (name "sbcl-printv")
5265 (version (git-version "0.1.0" revision commit))
5266 (source
5267 (origin
5268 (method git-fetch)
5269 (uri (git-reference
5270 (url "https://github.com/danlentz/printv")
5271 (commit commit)))
5272 (file-name (git-file-name "printv" version))
5273 (sha256
5274 (base32 "08jvy82abm7qi3wrxh6gvmwg9gy0zzhg4cfqajdwrggbah8mj5a6"))))
5275 (build-system asdf-build-system/sbcl)
5276 (home-page "https://github.com/danlentz/printv")
5277 (synopsis "Common Lisp tracing and debug-logging macro")
5278 (description
5279 "@code{PRINTV} is a \"batteries-included\" tracing and debug-logging
5280 macro for Common Lisp.")
5281 (license license:asl2.0))))
5282
5283 (define-public ecl-printv
5284 (sbcl-package->ecl-package sbcl-printv))
5285
5286 (define-public cl-printv
5287 (sbcl-package->cl-source-package sbcl-printv))
5288
5289 (define-public sbcl-cl-debug
5290 (let ((commit "b334280806104ee7f7d3aec666bf7e08d2f89b31")
5291 (revision "1"))
5292 (package
5293 (name "sbcl-cl-debug")
5294 (version (git-version "1.0.0" revision commit))
5295 (source
5296 (origin
5297 (method git-fetch)
5298 (uri (git-reference
5299 (url "https://github.com/kmx-io/cl-debug")
5300 (commit commit)))
5301 (file-name (git-file-name "cl-debug" version))
5302 (sha256
5303 (base32 "0w5vxbjsgr3zfpivdmghmhzxskfdvm1p34c8whwps2xlhypxsa78"))))
5304 (build-system asdf-build-system/sbcl)
5305 (home-page "https://github.com/kmx-io/cl-debug")
5306 (synopsis "Common Lisp cross-package debugging facility")
5307 (description
5308 "CL-DEBUG provides a unified way to enable or disable debug-specific code.
5309 Debugging code can be enabled or disabled relative to program features denoted
5310 by either a symbol or a keyword.")
5311 (license license:isc))))
5312
5313 (define-public ecl-cl-debug
5314 (sbcl-package->ecl-package sbcl-cl-debug))
5315
5316 (define-public cl-debug
5317 (sbcl-package->cl-source-package sbcl-cl-debug))
5318
5319 (define-public sbcl-verbose
5320 (let ((commit "c5b7ecd465be61b35af17ef57564697b88397174")
5321 (revision "1"))
5322 (package
5323 (name "sbcl-verbose")
5324 (version (git-version "2.0.0" revision commit))
5325 (source
5326 (origin
5327 (method git-fetch)
5328 (uri (git-reference
5329 (url "https://github.com/Shinmera/verbose/")
5330 (commit commit)))
5331 (file-name (git-file-name "verbose" version))
5332 (sha256
5333 (base32 "0r51ydj5v7afi2jrlscbhxprv13d9vzg5316g1yzwaxc1kzsdsw6"))))
5334 (build-system asdf-build-system/sbcl)
5335 (inputs
5336 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
5337 ("dissect" ,sbcl-dissect)
5338 ("documentation-utils" ,sbcl-documentation-utils)
5339 ("local-time" ,sbcl-local-time)
5340 ("piping" ,sbcl-piping)))
5341 (home-page "https://shinmera.github.io/verbose/")
5342 (synopsis "Logging framework using the piping library")
5343 (description
5344 "This is a Common Lisp library providing logging faciltiy similar to
5345 @code{CL-LOG} and @code{LOG4CL}.")
5346 (license license:zlib))))
5347
5348 (define-public ecl-verbose
5349 (sbcl-package->ecl-package sbcl-verbose))
5350
5351 (define-public cl-verbose
5352 (sbcl-package->cl-source-package sbcl-verbose))
5353
5354 (define-public sbcl-find-port
5355 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
5356 (revision "1"))
5357 (package
5358 (name "sbcl-find-port")
5359 (build-system asdf-build-system/sbcl)
5360 (version "0.1")
5361 (home-page "https://github.com/eudoxia0/find-port")
5362 (source
5363 (origin
5364 (method git-fetch)
5365 (uri (git-reference
5366 (url home-page)
5367 (commit commit)))
5368 (file-name (git-file-name name version))
5369 (sha256
5370 (base32
5371 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
5372 (native-inputs
5373 `(("fiveam" ,sbcl-fiveam)))
5374 (inputs
5375 `(("sbcl-usocket" ,sbcl-usocket)))
5376 (synopsis "Find open ports programmatically in Common Lisp")
5377 (description "This is a small Common Lisp library that finds an open
5378 port within a range.")
5379 (license license:expat))))
5380
5381 (define-public cl-find-port
5382 (sbcl-package->cl-source-package sbcl-find-port))
5383
5384 (define-public ecl-find-port
5385 (sbcl-package->ecl-package sbcl-find-port))
5386
5387 (define-public sbcl-clunit
5388 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
5389 (revision "1"))
5390 (package
5391 (name "sbcl-clunit")
5392 (version (git-version "0.2.3" revision commit))
5393 (source
5394 (origin
5395 (method git-fetch)
5396 (uri (git-reference
5397 (url "https://github.com/tgutu/clunit")
5398 (commit commit)))
5399 (file-name (git-file-name name version))
5400 (sha256
5401 (base32
5402 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
5403 (build-system asdf-build-system/sbcl)
5404 (synopsis "CLUnit is a Common Lisp unit testing framework")
5405 (description
5406 "CLUnit is a Common Lisp unit testing framework. It is designed
5407 to be easy to use so that you can quickly start testing. CLUnit
5408 provides a rich set of features aimed at improving your unit testing
5409 experience.")
5410 (home-page "https://tgutu.github.io/clunit/")
5411 ;; MIT License
5412 (license license:expat))))
5413
5414 (define-public cl-clunit
5415 (sbcl-package->cl-source-package sbcl-clunit))
5416
5417 (define-public ecl-clunit
5418 (sbcl-package->ecl-package sbcl-clunit))
5419
5420 (define-public sbcl-py4cl
5421 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
5422 (revision "1"))
5423 (package
5424 (name "sbcl-py4cl")
5425 (version (git-version "0.0.0" revision commit))
5426 (source
5427 (origin
5428 (method git-fetch)
5429 (uri (git-reference
5430 (url "https://github.com/bendudson/py4cl")
5431 (commit commit)))
5432 (file-name (git-file-name name version))
5433 (sha256
5434 (base32
5435 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
5436 (modules '((guix build utils)))))
5437 (build-system asdf-build-system/sbcl)
5438 (native-inputs
5439 `(("sbcl-clunit" ,sbcl-clunit)))
5440 (inputs
5441 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5442 (propagated-inputs
5443 ;; This package doesn't do anything without python available
5444 `(("python" ,python)
5445 ;; For multi-dimensional array support
5446 ("python-numpy" ,python-numpy)))
5447 (arguments
5448 '(#:phases
5449 (modify-phases %standard-phases
5450 (add-after 'unpack 'replace-*base-directory*-var
5451 (lambda* (#:key outputs #:allow-other-keys)
5452 ;; In the ASD, the author makes an attempt to
5453 ;; programatically determine the location of the
5454 ;; source-code so lisp can call into "py4cl.py". We can
5455 ;; hard-code this since we know where this file will
5456 ;; reside.
5457 (substitute* "src/callpython.lisp"
5458 (("py4cl/config:\\*base-directory\\*")
5459 (string-append
5460 "\""
5461 (assoc-ref outputs "out")
5462 "/share/common-lisp/sbcl-source/py4cl/"
5463 "\""))))))))
5464 (synopsis "Call python from Common Lisp")
5465 (description
5466 "Py4CL is a bridge between Common Lisp and Python, which enables Common
5467 Lisp to interact with Python code. It uses streams to communicate with a
5468 separate python process, the approach taken by cl4py. This is different to
5469 the CFFI approach used by burgled-batteries, but has the same goal.")
5470 (home-page "https://github.com/bendudson/py4cl")
5471 ;; MIT License
5472 (license license:expat))))
5473
5474 (define-public cl-py4cl
5475 (sbcl-package->cl-source-package sbcl-py4cl))
5476
5477 (define-public ecl-py4cl
5478 (sbcl-package->ecl-package sbcl-py4cl))
5479
5480 (define-public sbcl-parse-declarations
5481 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
5482 (revision "1"))
5483 (package
5484 (name "sbcl-parse-declarations")
5485 (version (git-version "1.0.0" revision commit))
5486 (source
5487 (origin
5488 (method git-fetch)
5489 (uri (git-reference
5490 (url (string-append
5491 "https://gitlab.common-lisp.net/parse-declarations/"
5492 "parse-declarations.git"))
5493 (commit commit)))
5494 (file-name (git-file-name name version))
5495 (sha256
5496 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
5497 (build-system asdf-build-system/sbcl)
5498 (arguments
5499 `(#:asd-systems '("parse-declarations-1.0")))
5500 (home-page "https://common-lisp.net/project/parse-declarations/")
5501 (synopsis "Parse, filter, and build declarations")
5502 (description
5503 "Parse-Declarations is a Common Lisp library to help writing
5504 macros which establish bindings. To be semantically correct, such
5505 macros must take user declarations into account, as these may affect
5506 the bindings they establish. Yet the ANSI standard of Common Lisp does
5507 not provide any operators to work with declarations in a convenient,
5508 high-level way. This library provides such operators.")
5509 ;; MIT License
5510 (license license:expat))))
5511
5512 (define-public cl-parse-declarations
5513 (sbcl-package->cl-source-package sbcl-parse-declarations))
5514
5515 (define-public ecl-parse-declarations
5516 (sbcl-package->ecl-package sbcl-parse-declarations))
5517
5518 (define-public sbcl-cl-quickcheck
5519 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5520 (revision "1"))
5521 (package
5522 (name "sbcl-cl-quickcheck")
5523 (version (git-version "0.0.4" revision commit))
5524 (source
5525 (origin
5526 (method git-fetch)
5527 (uri (git-reference
5528 (url "https://github.com/mcandre/cl-quickcheck")
5529 (commit commit)))
5530 (file-name (git-file-name name version))
5531 (sha256
5532 (base32
5533 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5534 (build-system asdf-build-system/sbcl)
5535 (synopsis
5536 "Common Lisp port of the QuickCheck unit test framework")
5537 (description
5538 "Common Lisp port of the QuickCheck unit test framework")
5539 (home-page "https://github.com/mcandre/cl-quickcheck")
5540 ;; MIT
5541 (license license:expat))))
5542
5543 (define-public cl-quickcheck
5544 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5545
5546 (define-public ecl-cl-quickcheck
5547 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5548
5549 (define-public sbcl-burgled-batteries3
5550 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
5551 (revision "2"))
5552 (package
5553 (name "sbcl-burgled-batteries3")
5554 (version (git-version "0.0.0" revision commit))
5555 (source
5556 (origin
5557 (method git-fetch)
5558 (uri (git-reference
5559 (url "https://github.com/snmsts/burgled-batteries3")
5560 (commit commit)))
5561 (file-name (git-file-name name version))
5562 (sha256
5563 (base32
5564 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
5565 (build-system asdf-build-system/sbcl)
5566 (arguments
5567 `(#:tests? #f
5568 #:modules (((guix build python-build-system) #:select (python-version))
5569 ,@%asdf-build-system-modules)
5570 #:imported-modules ((guix build python-build-system)
5571 ,@%asdf-build-system-modules)
5572 #:phases
5573 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
5574 (add-after 'unpack 'set-*cpython-include-dir*-var
5575 (lambda* (#:key inputs #:allow-other-keys)
5576 (let ((python (assoc-ref inputs "python")))
5577 (setenv "BB_PYTHON3_INCLUDE_DIR"
5578 (string-append python "/include/python"
5579 (python-version python)))
5580 (setenv "BB_PYTHON3_DYLIB"
5581 (string-append python "/lib/libpython3.so"))
5582 #t)))
5583 (add-after 'unpack 'adjust-for-python-3.8
5584 (lambda _
5585 ;; This method is no longer part of the public API.
5586 (substitute* "ffi-interface.lisp"
5587 ((".*PyEval_ReInitThreads.*")
5588 ""))
5589 #t)))))
5590 (native-inputs
5591 `(("sbcl-cl-fad" ,sbcl-cl-fad)
5592 ("sbcl-lift" ,sbcl-lift)
5593 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5594 (inputs
5595 `(("python" ,python)
5596 ("sbcl-cffi" ,sbcl-cffi)
5597 ("sbcl-alexandria" , sbcl-alexandria)
5598 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5599 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5600 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5601 (description
5602 "This package provides a shim between Python3 (specifically, the
5603 CPython implementation of Python) and Common Lisp.")
5604 (home-page "https://github.com/snmsts/burgled-batteries3")
5605 (license license:expat))))
5606
5607 (define-public cl-burgled-batteries3
5608 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5609
5610 (define-public ecl-burgled-batteries3
5611 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5612
5613 (define-public sbcl-metabang-bind
5614 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5615 (revision "1"))
5616 (package
5617 (name "sbcl-metabang-bind")
5618 (version (git-version "0.8.0" revision commit))
5619 (source
5620 (origin
5621 (method git-fetch)
5622 (uri (git-reference
5623 (url "https://github.com/gwkkwg/metabang-bind")
5624 (commit commit)))
5625 (file-name (git-file-name name version))
5626 (sha256
5627 (base32
5628 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5629 (build-system asdf-build-system/sbcl)
5630 (native-inputs
5631 `(("sbcl-lift" ,sbcl-lift)))
5632 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5633 (description
5634 "Bind extends the idea of of let and destructing to provide a uniform
5635 syntax for all your accessor needs. It combines @code{let},
5636 @code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5637 editing, property or association-lists, and @code{multiple-value-bind} and a
5638 whole lot more into a single form.")
5639 (home-page "https://common-lisp.net/project/metabang-bind/")
5640 ;; MIT License
5641 (license license:expat))))
5642
5643 (define-public cl-metabang-bind
5644 (sbcl-package->cl-source-package sbcl-metabang-bind))
5645
5646 (define-public ecl-metabang-bind
5647 (sbcl-package->ecl-package sbcl-metabang-bind))
5648
5649 (define-public sbcl-fare-utils
5650 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5651 (revision "1"))
5652 (package
5653 (name "sbcl-fare-utils")
5654 (version (git-version "1.0.0.5" revision commit))
5655 (source
5656 (origin
5657 (method git-fetch)
5658 (uri
5659 (git-reference
5660 (url
5661 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5662 (commit commit)))
5663 (file-name (git-file-name name version))
5664 (sha256
5665 (base32
5666 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5667 (build-system asdf-build-system/sbcl)
5668 (arguments
5669 `(#:test-asd-file "test/fare-utils-test.asd"))
5670 (native-inputs
5671 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5672 (synopsis "Collection of utilities and data structures")
5673 (description
5674 "fare-utils is a small collection of utilities. It contains a lot of
5675 basic everyday functions and macros.")
5676 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5677 ;; MIT License
5678 (license license:expat))))
5679
5680 (define-public cl-fare-utils
5681 (sbcl-package->cl-source-package sbcl-fare-utils))
5682
5683 (define-public ecl-fare-utils
5684 (sbcl-package->ecl-package sbcl-fare-utils))
5685
5686 (define-public sbcl-fare-mop
5687 (let ((commit "538aa94590a0354f382eddd9238934763434af30")
5688 (revision "1"))
5689 (package
5690 (name "sbcl-fare-mop")
5691 (version (git-version "1.0.1" revision commit))
5692 (source
5693 (origin
5694 (method git-fetch)
5695 (uri (git-reference
5696 (url "https://github.com/fare/fare-mop")
5697 (commit commit)))
5698 (file-name (git-file-name "fare-mop" version))
5699 (sha256
5700 (base32
5701 "0maxs8392953fhnaa6zwnm2mdbhxjxipp4g4rvypm06ixr6pyv1c"))))
5702 (build-system asdf-build-system/sbcl)
5703 (inputs
5704 `(("close-mop" ,sbcl-closer-mop)
5705 ("fare-utils" ,sbcl-fare-utils)))
5706 (home-page "https://github.com/fare/fare-mop")
5707 (synopsis "General purpose Common Lisp utilities using the MOP")
5708 (description
5709 "FARE-MOP is a small collection of utilities using the MetaObject
5710 Protocol. It notably contains a SIMPLE-PRINT-OBJECT method, and
5711 a SIMPLE-PRINT-OBJECT-MIXIN mixin that allow you to trivially define
5712 PRINT-OBJECT methods that print the interesting slots in your objects, which is
5713 great for REPL interaction and debugging.")
5714 (license license:unlicense))))
5715
5716 (define-public ecl-fare-mop
5717 (sbcl-package->ecl-package sbcl-fare-mop))
5718
5719 (define-public cl-fare-mop
5720 (sbcl-package->cl-source-package sbcl-fare-mop))
5721
5722 (define-public sbcl-inferior-shell
5723 (let ((commit "15c2d04a7398db965ea1c3ba2d49efa7c851f2c2")
5724 (revision "1"))
5725 (package
5726 (name "sbcl-inferior-shell")
5727 (version (git-version "2.0.5" revision commit))
5728 (source
5729 (origin
5730 (method git-fetch)
5731 (uri (git-reference
5732 (url "https://github.com/fare/inferior-shell")
5733 (commit commit)))
5734 (file-name (git-file-name "inferior-shell" version))
5735 (sha256
5736 (base32 "02qx37zzk5j4xmwh77k2qa2wvnzvaj6qml5dh2q7b6b1ljvgcj4m"))))
5737 (build-system asdf-build-system/sbcl)
5738 (native-inputs
5739 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5740 (inputs
5741 `(("alexandira" ,sbcl-alexandria)
5742 ("fare-mop" ,sbcl-fare-mop)
5743 ("fare-quasiquote" ,sbcl-fare-quasiquote)
5744 ("fare-utils" ,sbcl-fare-utils)
5745 ("trivia" ,sbcl-trivia)))
5746 (home-page "https://github.com/fare/inferior-shell")
5747 (synopsis "Spawn local or remote processes and shell pipes")
5748 (description
5749 "This package provides a Common Lisp system helping in scripting, it
5750 uses @code{uiop:run-program} as a backend.")
5751 (license license:expat))))
5752
5753 (define-public ecl-inferior-shell
5754 (sbcl-package->ecl-package sbcl-inferior-shell))
5755
5756 (define-public cl-inferior-shell
5757 (sbcl-package->cl-source-package sbcl-inferior-shell))
5758
5759 (define-public sbcl-trivial-utf-8
5760 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5761 (revision "1"))
5762 (package
5763 (name "sbcl-trivial-utf-8")
5764 (version (git-version "0.0.0" revision commit))
5765 (source
5766 (origin
5767 (method git-fetch)
5768 (uri
5769 (git-reference
5770 (url (string-append "https://gitlab.common-lisp.net/"
5771 "trivial-utf-8/trivial-utf-8.git"))
5772 (commit commit)))
5773 (file-name (git-file-name name version))
5774 (sha256
5775 (base32
5776 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5777 (arguments
5778 ;; Guix incorrectly assumes the "8" is part of the version
5779 ;; number and lobs it off.
5780 `(#:asd-systems '("trivial-utf-8")))
5781 (build-system asdf-build-system/sbcl)
5782 (synopsis "UTF-8 input/output library")
5783 (description
5784 "The Babel library solves a similar problem while understanding more
5785 encodings. Trivial UTF-8 was written before Babel existed, but for new
5786 projects you might be better off going with Babel. The one plus that Trivial
5787 UTF-8 has is that it doesn't depend on any other libraries.")
5788 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5789 (license license:bsd-3))))
5790
5791 (define-public cl-trivial-utf-8
5792 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5793
5794 (define-public ecl-trivial-utf-8
5795 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5796
5797 (define-public sbcl-idna
5798 (package
5799 (name "sbcl-idna")
5800 (build-system asdf-build-system/sbcl)
5801 (version "0.2.2")
5802 (home-page "https://github.com/antifuchs/idna")
5803 (source
5804 (origin
5805 (method git-fetch)
5806 (uri (git-reference
5807 (url home-page)
5808 (commit version)))
5809 (file-name (git-file-name name version))
5810 (sha256
5811 (base32
5812 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5813 (inputs
5814 `(("split-sequence" ,sbcl-split-sequence)))
5815 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5816 (description "This Common Lisp library provides string encoding and
5817 decoding routines for IDNA, the International Domain Names in Applications.")
5818 (license license:expat)))
5819
5820 (define-public cl-idna
5821 (sbcl-package->cl-source-package sbcl-idna))
5822
5823 (define-public ecl-idna
5824 (sbcl-package->ecl-package sbcl-idna))
5825
5826 (define-public sbcl-swap-bytes
5827 (package
5828 (name "sbcl-swap-bytes")
5829 (build-system asdf-build-system/sbcl)
5830 (version "1.2")
5831 (home-page "https://github.com/sionescu/swap-bytes")
5832 (source
5833 (origin
5834 (method git-fetch)
5835 (uri (git-reference
5836 (url home-page)
5837 (commit (string-append "v" version))))
5838 (file-name (git-file-name name version))
5839 (sha256
5840 (base32
5841 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
5842 (inputs
5843 `(("trivial-features" ,sbcl-trivial-features)))
5844 (native-inputs
5845 `(("fiveam" ,sbcl-fiveam)))
5846 (synopsis "Efficient endianness conversion for Common Lisp")
5847 (description "This Common Lisp library provides optimized byte-swapping
5848 primitives. The library can change endianness of unsigned integers of length
5849 1/2/4/8. Very useful in implementing various network protocols and file
5850 formats.")
5851 (license license:expat)))
5852
5853 (define-public cl-swap-bytes
5854 (sbcl-package->cl-source-package sbcl-swap-bytes))
5855
5856 (define-public ecl-swap-bytes
5857 (sbcl-package->ecl-package sbcl-swap-bytes))
5858
5859 (define-public sbcl-iolib
5860 ;; Latest release is from June 2017.
5861 (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
5862 (revision "2"))
5863 (package
5864 (name "sbcl-iolib")
5865 (version (git-version "0.8.3" revision commit))
5866 (home-page "https://github.com/sionescu/iolib")
5867 (source
5868 (origin
5869 (method git-fetch)
5870 (uri (git-reference
5871 (url home-page)
5872 (commit commit)))
5873 (file-name (git-file-name name version))
5874 (sha256
5875 (base32
5876 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
5877 (build-system asdf-build-system/sbcl)
5878 (inputs
5879 `(("alexandria" ,sbcl-alexandria)
5880 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5881 ("cffi" ,sbcl-cffi)
5882 ("idna" ,sbcl-idna)
5883 ("libfixposix" ,libfixposix)
5884 ("split-sequence" ,sbcl-split-sequence)
5885 ("swap-bytes" ,sbcl-swap-bytes)))
5886 (arguments
5887 '(#:asd-files '("iolib.asdf.asd"
5888 "iolib.conf.asd"
5889 "iolib.common-lisp.asd"
5890 "iolib.base.asd"
5891 "iolib.asd")
5892 #:phases
5893 (modify-phases %standard-phases
5894 (add-after 'unpack 'fix-paths
5895 (lambda* (#:key inputs #:allow-other-keys)
5896 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5897 (("\\(:default \"libfixposix\"\\)")
5898 (string-append
5899 "(:default \""
5900 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5901 ;; Socket tests need Internet access, disable them.
5902 (substitute* "iolib.asd"
5903 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5904 "")))))))
5905 (synopsis "Common Lisp I/O library")
5906 (description "IOlib is to be a better and more modern I/O library than
5907 the standard Common Lisp library. It contains a socket library, a DNS
5908 resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5909 and @code{kqueue(2)}), a pathname library and file-system utilities.")
5910 (license license:expat))))
5911
5912 (define-public cl-iolib
5913 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
5914 (package
5915 (inherit parent)
5916 (propagated-inputs
5917 ;; Need header to compile.
5918 `(("libfixposix" ,libfixposix)
5919 ,@(package-propagated-inputs parent))))))
5920
5921 (define-public ecl-iolib
5922 (sbcl-package->ecl-package sbcl-iolib))
5923
5924 (define-public sbcl-ieee-floats
5925 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5926 (revision "1"))
5927 (package
5928 (name "sbcl-ieee-floats")
5929 (build-system asdf-build-system/sbcl)
5930 (version (git-version "20170924" revision commit))
5931 (home-page "https://github.com/marijnh/ieee-floats/")
5932 (source
5933 (origin
5934 (method git-fetch)
5935 (uri (git-reference
5936 (url home-page)
5937 (commit commit)))
5938 (file-name (git-file-name name version))
5939 (sha256
5940 (base32
5941 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5942 (native-inputs
5943 `(("fiveam" ,sbcl-fiveam)))
5944 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5945 (description "This is a Common Lisp library that converts
5946 floating point values to IEEE 754 binary representation.")
5947 (license license:bsd-3))))
5948
5949 (define-public cl-ieee-floats
5950 (sbcl-package->cl-source-package sbcl-ieee-floats))
5951
5952 (define-public ecl-ieee-floats
5953 (sbcl-package->ecl-package sbcl-ieee-floats))
5954
5955 (define sbcl-closure-common
5956 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5957 (revision "1"))
5958 (package
5959 (name "sbcl-closure-common")
5960 (build-system asdf-build-system/sbcl)
5961 (version (git-version "20101006" revision commit))
5962 (home-page "https://common-lisp.net/project/cxml/")
5963 (source
5964 (origin
5965 (method git-fetch)
5966 (uri (git-reference
5967 (url "https://github.com/sharplispers/closure-common")
5968 (commit commit)))
5969 (file-name (git-file-name name version))
5970 (sha256
5971 (base32
5972 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5973 (inputs
5974 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5975 ("babel" ,sbcl-babel)))
5976 (synopsis "Support Common Lisp library for CXML")
5977 (description "Closure-common is an internal helper library. The name
5978 Closure is a reference to the web browser it was originally written for.")
5979 ;; TODO: License?
5980 (license #f))))
5981
5982 (define-public sbcl-cxml
5983 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5984 (revision "1"))
5985 (package
5986 (name "sbcl-cxml")
5987 (version (git-version "0.0.0" revision commit))
5988 (source
5989 (origin
5990 (method git-fetch)
5991 (uri (git-reference
5992 (url "https://github.com/sharplispers/cxml")
5993 (commit commit)))
5994 (file-name (git-file-name name version))
5995 (sha256
5996 (base32
5997 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5998 (build-system asdf-build-system/sbcl)
5999 (inputs
6000 `(("closure-common" ,sbcl-closure-common)
6001 ("puri" ,sbcl-puri)
6002 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6003 (synopsis "Common Lisp XML parser")
6004 (description "CXML implements a namespace-aware, validating XML 1.0
6005 parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
6006 offered, one SAX-like, the other similar to StAX.")
6007 (home-page "https://common-lisp.net/project/cxml/")
6008 (license license:llgpl))))
6009
6010 (define-public cl-cxml
6011 (sbcl-package->cl-source-package sbcl-cxml))
6012
6013 (define-public ecl-cxml
6014 (sbcl-package->ecl-package sbcl-cxml))
6015
6016 (define-public sbcl-cl-reexport
6017 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
6018 (revision "1"))
6019 (package
6020 (name "sbcl-cl-reexport")
6021 (build-system asdf-build-system/sbcl)
6022 (version (git-version "0.1" revision commit))
6023 (home-page "https://github.com/takagi/cl-reexport")
6024 (source
6025 (origin
6026 (method git-fetch)
6027 (uri (git-reference
6028 (url home-page)
6029 (commit commit)))
6030 (file-name (git-file-name name version))
6031 (sha256
6032 (base32
6033 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
6034 (inputs
6035 `(("alexandria" ,sbcl-alexandria)))
6036 (arguments
6037 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
6038 `(#:tests? #f))
6039 (synopsis "HTTP cookie manager for Common Lisp")
6040 (description "cl-cookie is a Common Lisp library featuring parsing of
6041 cookie headers, cookie creation, cookie jar creation and more.")
6042 (license license:llgpl))))
6043
6044 (define-public cl-reexport
6045 (sbcl-package->cl-source-package sbcl-cl-reexport))
6046
6047 (define-public ecl-cl-reexport
6048 (sbcl-package->ecl-package sbcl-cl-reexport))
6049
6050 (define-public sbcl-cl-cookie
6051 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
6052 (revision "1"))
6053 (package
6054 (name "sbcl-cl-cookie")
6055 (build-system asdf-build-system/sbcl)
6056 (version (git-version "0.9.10" revision commit))
6057 (home-page "https://github.com/fukamachi/cl-cookie")
6058 (source
6059 (origin
6060 (method git-fetch)
6061 (uri (git-reference
6062 (url home-page)
6063 (commit commit)))
6064 (file-name (git-file-name name version))
6065 (sha256
6066 (base32
6067 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
6068 (inputs
6069 `(("proc-parse" ,sbcl-proc-parse)
6070 ("alexandria" ,sbcl-alexandria)
6071 ("quri" ,sbcl-quri)
6072 ("cl-ppcre" ,sbcl-cl-ppcre)
6073 ("local-time" ,sbcl-local-time)))
6074 (native-inputs
6075 `(("prove" ,sbcl-prove)))
6076 (arguments
6077 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
6078 `(#:tests? #f))
6079 (synopsis "HTTP cookie manager for Common Lisp")
6080 (description "cl-cookie is a Common Lisp library featuring parsing of
6081 cookie headers, cookie creation, cookie jar creation and more.")
6082 (license license:bsd-2))))
6083
6084 (define-public cl-cookie
6085 (sbcl-package->cl-source-package sbcl-cl-cookie))
6086
6087 (define-public ecl-cl-cookie
6088 (sbcl-package->ecl-package sbcl-cl-cookie))
6089
6090 (define-public sbcl-dexador
6091 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
6092 (revision "1"))
6093 (package
6094 (name "sbcl-dexador")
6095 (build-system asdf-build-system/sbcl)
6096 (version "0.9.14" )
6097 (home-page "https://github.com/fukamachi/dexador")
6098 (source
6099 (origin
6100 (method git-fetch)
6101 (uri (git-reference
6102 (url home-page)
6103 (commit commit)))
6104 (file-name (git-file-name name version))
6105 (sha256
6106 (base32
6107 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
6108 (inputs
6109 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
6110 ("babel" ,sbcl-babel)
6111 ("usocket" ,sbcl-usocket)
6112 ("fast-http" ,sbcl-fast-http)
6113 ("quri" ,sbcl-quri)
6114 ("fast-io" ,sbcl-fast-io)
6115 ("chunga" ,sbcl-chunga)
6116 ("cl-ppcre" ,sbcl-cl-ppcre)
6117 ("cl-cookie" ,sbcl-cl-cookie)
6118 ("trivial-mimes" ,sbcl-trivial-mimes)
6119 ("chipz" ,sbcl-chipz)
6120 ("cl-base64" ,sbcl-cl-base64)
6121 ("cl-reexport" ,sbcl-cl-reexport)
6122 ("cl+ssl" ,sbcl-cl+ssl)
6123 ("bordeaux-threads" ,sbcl-bordeaux-threads)
6124 ("alexandria" ,sbcl-alexandria)))
6125 (native-inputs
6126 `(("prove" ,sbcl-prove)
6127 ("lack" ,sbcl-lack)
6128 ("clack" ,sbcl-clack)
6129 ("babel" ,sbcl-babel)
6130 ("alexandria" ,sbcl-alexandria)
6131 ("cl-ppcre" ,sbcl-cl-ppcre)
6132 ("local-time" ,sbcl-local-time)
6133 ("trivial-features" ,sbcl-trivial-features)))
6134 (arguments
6135 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
6136 `(#:tests? #f
6137 #:phases
6138 (modify-phases %standard-phases
6139 (add-after 'unpack 'fix-permissions
6140 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
6141 (synopsis "Yet another HTTP client for Common Lisp")
6142 (description "Dexador is yet another HTTP client for Common Lisp with
6143 neat APIs and connection-pooling. It is meant to supersede Drakma.")
6144 (license license:expat))))
6145
6146 (define-public cl-dexador
6147 (package
6148 (inherit (sbcl-package->cl-source-package sbcl-dexador))
6149 (arguments
6150 `(#:phases
6151 ;; asdf-build-system/source has its own phases and does not inherit
6152 ;; from asdf-build-system/sbcl phases.
6153 (modify-phases %standard-phases/source
6154 ;; Already done in SBCL package.
6155 (delete 'reset-gzip-timestamps))))))
6156
6157 (define-public ecl-dexador
6158 (sbcl-package->ecl-package sbcl-dexador))
6159
6160 (define-public sbcl-lisp-namespace
6161 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
6162 (revision "1"))
6163 (package
6164 (name "sbcl-lisp-namespace")
6165 (build-system asdf-build-system/sbcl)
6166 (version (git-version "0.1" revision commit))
6167 (home-page "https://github.com/guicho271828/lisp-namespace")
6168 (source
6169 (origin
6170 (method git-fetch)
6171 (uri (git-reference
6172 (url home-page)
6173 (commit commit)))
6174 (file-name (git-file-name name version))
6175 (sha256
6176 (base32
6177 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
6178 (inputs
6179 `(("alexandria" ,sbcl-alexandria)))
6180 (native-inputs
6181 `(("fiveam" ,sbcl-fiveam)))
6182 (arguments
6183 `(#:test-asd-file "lisp-namespace.test.asd"
6184 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
6185 #:tests? #f))
6186 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
6187 (description "Common Lisp already has major 2 namespaces, function
6188 namespace and value namespace (or variable namespace), but there are actually
6189 more — e.g., class namespace.
6190 This library offers macros to deal with symbols from any namespace.")
6191 (license license:llgpl))))
6192
6193 (define-public cl-lisp-namespace
6194 (sbcl-package->cl-source-package sbcl-lisp-namespace))
6195
6196 (define-public ecl-lisp-namespace
6197 (sbcl-package->ecl-package sbcl-lisp-namespace))
6198
6199 (define-public sbcl-trivial-cltl2
6200 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
6201 (revision "2"))
6202 (package
6203 (name "sbcl-trivial-cltl2")
6204 (build-system asdf-build-system/sbcl)
6205 (version (git-version "0.1.1" revision commit))
6206 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
6207 (source
6208 (origin
6209 (method git-fetch)
6210 (uri (git-reference
6211 (url home-page)
6212 (commit commit)))
6213 (file-name (git-file-name name version))
6214 (sha256
6215 (base32
6216 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
6217 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
6218 (description "This library is a portable compatibility layer around
6219 \"Common Lisp the Language, 2nd
6220 Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
6221 and it exports symbols from implementation-specific packages.")
6222 (license license:llgpl))))
6223
6224 (define-public cl-trivial-cltl2
6225 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
6226
6227 (define-public ecl-trivial-cltl2
6228 (sbcl-package->ecl-package sbcl-trivial-cltl2))
6229
6230 (define-public sbcl-introspect-environment
6231 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
6232 (revision "1"))
6233 (package
6234 (name "sbcl-introspect-environment")
6235 (build-system asdf-build-system/sbcl)
6236 (version (git-version "0.1" revision commit))
6237 (home-page "https://github.com/Bike/introspect-environment")
6238 (source
6239 (origin
6240 (method git-fetch)
6241 (uri (git-reference
6242 (url home-page)
6243 (commit commit)))
6244 (file-name (git-file-name name version))
6245 (sha256
6246 (base32
6247 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
6248 (native-inputs
6249 `(("fiveam" ,sbcl-fiveam)))
6250 (synopsis "Common Lisp environment introspection portability layer")
6251 (description "This library is a small interface to portable but
6252 nonstandard introspection of Common Lisp environments. It is intended to
6253 allow a bit more compile-time introspection of environments in Common Lisp.
6254
6255 Quite a bit of information is available at the time a macro or compiler-macro
6256 runs; inlining info, type declarations, that sort of thing. This information
6257 is all standard - any Common Lisp program can @code{(declare (integer x))} and
6258 such.
6259
6260 This info ought to be accessible through the standard @code{&environment}
6261 parameters, but it is not. Several implementations keep the information for
6262 their own purposes but do not make it available to user programs, because
6263 there is no standard mechanism to do so.
6264
6265 This library uses implementation-specific hooks to make information available
6266 to users. This is currently supported on SBCL, CCL, and CMUCL. Other
6267 implementations have implementations of the functions that do as much as they
6268 can and/or provide reasonable defaults.")
6269 (license license:wtfpl2))))
6270
6271 (define-public cl-introspect-environment
6272 (sbcl-package->cl-source-package sbcl-introspect-environment))
6273
6274 (define-public ecl-introspect-environment
6275 (sbcl-package->ecl-package sbcl-introspect-environment))
6276
6277 (define-public sbcl-type-i
6278 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
6279 (revision "2"))
6280 (package
6281 (name "sbcl-type-i")
6282 (build-system asdf-build-system/sbcl)
6283 (version (git-version "0.1" revision commit))
6284 (home-page "https://github.com/guicho271828/type-i")
6285 (source
6286 (origin
6287 (method git-fetch)
6288 (uri (git-reference
6289 (url home-page)
6290 (commit commit)))
6291 (file-name (git-file-name name version))
6292 (sha256
6293 (base32
6294 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
6295 (inputs
6296 `(("alexandria" ,sbcl-alexandria)
6297 ("introspect-environment" ,sbcl-introspect-environment)
6298 ("trivia.trivial" ,sbcl-trivia.trivial)))
6299 (native-inputs
6300 `(("fiveam" ,sbcl-fiveam)))
6301 (arguments
6302 `(#:test-asd-file "type-i.test.asd"))
6303 (synopsis "Type inference utility on unary predicates for Common Lisp")
6304 (description "This library tries to provide a way to detect what kind of
6305 type the given predicate is trying to check. This is different from inferring
6306 the return type of a function.")
6307 (license license:llgpl))))
6308
6309 (define-public cl-type-i
6310 (sbcl-package->cl-source-package sbcl-type-i))
6311
6312 (define-public ecl-type-i
6313 (package
6314 (inherit (sbcl-package->ecl-package sbcl-type-i))
6315 (arguments
6316 ;; The tests get stuck indefinitly
6317 '(#:tests? #f))))
6318
6319 (define-public sbcl-optima
6320 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
6321 (revision "1"))
6322 (package
6323 (name "sbcl-optima")
6324 (build-system asdf-build-system/sbcl)
6325 (version (git-version "1.0" revision commit))
6326 (home-page "https://github.com/m2ym/optima")
6327 (source
6328 (origin
6329 (method git-fetch)
6330 (uri (git-reference
6331 (url home-page)
6332 (commit commit)))
6333 (file-name (git-file-name name version))
6334 (sha256
6335 (base32
6336 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
6337 (inputs
6338 `(("alexandria" ,sbcl-alexandria)
6339 ("closer-mop" ,sbcl-closer-mop)))
6340 (native-inputs
6341 `(("eos" ,sbcl-eos)))
6342 (arguments
6343 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
6344 `(#:tests? #f
6345 #:test-asd-file "optima.test.asd"))
6346 (synopsis "Optimized pattern matching library for Common Lisp")
6347 (description "Optima is a fast pattern matching library which uses
6348 optimizing techniques widely used in the functional programming world.")
6349 (license license:expat))))
6350
6351 (define-public cl-optima
6352 (sbcl-package->cl-source-package sbcl-optima))
6353
6354 (define-public ecl-optima
6355 (sbcl-package->ecl-package sbcl-optima))
6356
6357 (define-public sbcl-fare-quasiquote
6358 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
6359 (revision "1"))
6360 (package
6361 (name "sbcl-fare-quasiquote")
6362 (build-system asdf-build-system/sbcl)
6363 (version (git-version "1.0.1" revision commit))
6364 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
6365 (source
6366 (origin
6367 (method git-fetch)
6368 (uri (git-reference
6369 (url (string-append "https://gitlab.common-lisp.net/frideau/"
6370 "fare-quasiquote.git"))
6371 (commit commit)))
6372 (file-name (git-file-name name version))
6373 (sha256
6374 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
6375 (inputs
6376 `(("fare-utils" ,sbcl-fare-utils)
6377 ("named-readtables" ,sbcl-named-readtables)
6378 ("optima" ,sbcl-optima)))
6379 (arguments
6380 ;; XXX: Circular dependencies: Tests depend on subsystems,
6381 ;; which depend on the main systems.
6382 `(#:tests? #f
6383 #:asd-systems '("fare-quasiquote"
6384 "fare-quasiquote-extras")
6385 #:phases
6386 (modify-phases %standard-phases
6387 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
6388 ;; commits after 1.0.0.5, but ASDF fails to read the
6389 ;; "-REVISION-COMMIT" part generated by Guix.
6390 (add-after 'unpack 'patch-requirement
6391 (lambda _
6392 (substitute* "fare-quasiquote.asd"
6393 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
6394 "\"fare-utils\""))
6395 (substitute* "fare-quasiquote-optima.asd"
6396 (("\\(:version \"optima\" \"1\\.0\"\\)")
6397 "\"optima\""))
6398 #t)))))
6399 (synopsis "Pattern-matching friendly implementation of quasiquote")
6400 (description "The main purpose of this n+2nd reimplementation of
6401 quasiquote is enable matching of quasiquoted patterns, using Optima or
6402 Trivia.")
6403 (license license:expat))))
6404
6405 (define-public cl-fare-quasiquote
6406 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
6407
6408 (define-public ecl-fare-quasiquote
6409 (sbcl-package->ecl-package sbcl-fare-quasiquote))
6410
6411 ;;; Split the trivia package in two to work around the circular dependency
6412 ;;; between guicho271828/trivia and guicho271828/type-i.
6413 (define-public sbcl-trivia.trivial
6414 (let ((commit "7286d5d2a4f685f1cac8370816f95276c0851111")
6415 (revision "3"))
6416 (package
6417 (name "sbcl-trivia.trivial")
6418 (version (git-version "0.0.0" revision commit))
6419 (source
6420 (origin
6421 (method git-fetch)
6422 (uri (git-reference
6423 (url "https://github.com/guicho271828/trivia")
6424 (commit commit)))
6425 (file-name (git-file-name "trivia" version))
6426 (sha256
6427 (base32
6428 "0ln0sj3jry7kzbmxhnin66kpbqan1wp8wwgdbw4k29afbdblkcca"))))
6429 (build-system asdf-build-system/sbcl)
6430 (inputs
6431 `(("alexandria" ,sbcl-alexandria)
6432 ("closer-mop" ,sbcl-closer-mop)
6433 ("lisp-namespace" ,sbcl-lisp-namespace)
6434 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
6435 (arguments
6436 '(#:phases
6437 (modify-phases %standard-phases
6438 (add-after 'unpack 'fix-build
6439 (lambda _
6440 (for-each delete-file
6441 '("trivia.balland2006.asd"
6442 "trivia.ppcre.asd"
6443 "trivia.quasiquote.asd"
6444 "trivia.cffi.asd"
6445 "trivia.asd"
6446 "trivia.test.asd"))
6447 #t)))))
6448 (synopsis "Pattern matching in Common Lisp")
6449 (description "Trivia is a pattern matching compiler that is compatible
6450 with Optima, another pattern matching library for Common Lisp. It is meant to
6451 be faster and more extensible than Optima.")
6452 (home-page "https://github.com/guicho271828/trivia")
6453 (license license:llgpl))))
6454
6455 (define-public cl-trivia.trivial
6456 (sbcl-package->cl-source-package sbcl-trivia.trivial))
6457
6458 (define-public ecl-trivia.trivial
6459 (sbcl-package->ecl-package sbcl-trivia.trivial))
6460
6461 (define-public sbcl-trivia
6462 (package
6463 (inherit sbcl-trivia.trivial)
6464 (name "sbcl-trivia")
6465 (native-inputs
6466 `(("fiveam" ,sbcl-fiveam)
6467 ("optima" ,sbcl-optima)))
6468 (inputs
6469 `(("alexandria" ,sbcl-alexandria)
6470 ("cffi" ,sbcl-cffi)
6471 ("cl-ppcre" ,sbcl-cl-ppcre)
6472 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6473 ("iterate" ,sbcl-iterate)
6474 ("trivia.trivial" ,sbcl-trivia.trivial)
6475 ("type-i" ,sbcl-type-i)))
6476 (arguments
6477 '(#:asd-systems '("trivia"
6478 "trivia.ppcre"
6479 "trivia.quasiquote"
6480 "trivia.cffi")
6481 #:test-asd-file "trivia.test.asd"
6482 #:phases
6483 (modify-phases %standard-phases
6484 (add-after 'unpack 'fix-build
6485 (lambda _
6486 (for-each delete-file
6487 '("trivia.level0.asd"
6488 "trivia.level1.asd"
6489 "trivia.level2.asd"
6490 "trivia.trivial.asd"))
6491 #t)))))))
6492
6493 (define-public cl-trivia
6494 (sbcl-package->cl-source-package sbcl-trivia))
6495
6496 (define-public ecl-trivia
6497 (sbcl-package->ecl-package sbcl-trivia))
6498
6499 (define-public sbcl-mk-string-metrics
6500 (package
6501 (name "sbcl-mk-string-metrics")
6502 (version "0.1.2")
6503 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6504 (source (origin
6505 (method git-fetch)
6506 (uri (git-reference
6507 (url home-page)
6508 (commit version)))
6509 (sha256
6510 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6511 (file-name (git-file-name name version))))
6512 (build-system asdf-build-system/sbcl)
6513 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6514 (description "This library implements efficient algorithms that calculate
6515 various string metrics in Common Lisp:
6516
6517 @itemize
6518 @item Damerau-Levenshtein distance
6519 @item Hamming distance
6520 @item Jaccard similarity coefficient
6521 @item Jaro distance
6522 @item Jaro-Winkler distance
6523 @item Levenshtein distance
6524 @item Normalized Damerau-Levenshtein distance
6525 @item Normalized Levenshtein distance
6526 @item Overlap coefficient
6527 @end itemize\n")
6528 (license license:x11)))
6529
6530 (define-public cl-mk-string-metrics
6531 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6532
6533 (define-public ecl-mk-string-metrics
6534 (sbcl-package->ecl-package sbcl-mk-string-metrics))
6535
6536 (define-public sbcl-cl-str
6537 (package
6538 (name "sbcl-cl-str")
6539 (version "0.19")
6540 (home-page "https://github.com/vindarel/cl-str")
6541 (source (origin
6542 (method git-fetch)
6543 (uri (git-reference
6544 (url home-page)
6545 (commit version)))
6546 (sha256
6547 (base32 "1jyza2jhn7w6fl4w87pv0m87z5ia48m6dqw12k0mdh7l3mgjq839"))
6548 (file-name (git-file-name name version))))
6549 (build-system asdf-build-system/sbcl)
6550 (inputs
6551 `(("cl-ppcre" ,sbcl-cl-ppcre)
6552 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
6553 ("cl-change-case" ,sbcl-cl-change-case)))
6554 (native-inputs
6555 `(("prove" ,sbcl-prove)))
6556 (arguments
6557 `(#:asd-systems '("str")
6558 #:test-asd-file "str.test.asd"))
6559 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6560 (description "A modern and consistent Common Lisp string manipulation
6561 library that focuses on modernity, simplicity and discoverability:
6562 @code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6563 @code{str:concat strings} instead of an unusual format construct; one
6564 discoverable library instead of many; consistency and composability, where
6565 @code{s} is always the last argument, which makes it easier to feed pipes and
6566 arrows.")
6567 (license license:expat)))
6568
6569 (define-public cl-str
6570 (sbcl-package->cl-source-package sbcl-cl-str))
6571
6572 (define-public ecl-cl-str
6573 (sbcl-package->ecl-package sbcl-cl-str))
6574
6575 (define-public sbcl-cl-xmlspam
6576 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6577 (package
6578 (name "sbcl-cl-xmlspam")
6579 (build-system asdf-build-system/sbcl)
6580 (version (git-version "0.0.0" "1" commit))
6581 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6582 (source
6583 (origin
6584 (method git-fetch)
6585 (uri (git-reference
6586 (url home-page)
6587 (commit commit)))
6588 (file-name (string-append name "-" version))
6589 (sha256
6590 (base32
6591 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6592 (inputs
6593 `(("cxml" ,sbcl-cxml)
6594 ("cl-ppcre" ,sbcl-cl-ppcre)))
6595 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6596 (description "CXML does an excellent job at parsing XML elements, but what
6597 do you do when you have a XML file that's larger than you want to fit in
6598 memory, and you want to extract some information from it? Writing code to deal
6599 with SAX events, or even using Klacks, quickly becomes tedious.
6600 @code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6601 to write code that mirrors the structure of the XML that it's parsing. It
6602 also makes it easy to shift paradigms when necessary - the usual Lisp control
6603 constructs can be used interchangeably with pattern matching, and the full
6604 power of CXML is available when necessary.")
6605 (license license:bsd-3))))
6606
6607 (define-public cl-xmlspam
6608 (sbcl-package->cl-source-package sbcl-cl-xmlspam))
6609
6610 (define-public ecl-cl-xmlspam
6611 (sbcl-package->ecl-package sbcl-cl-xmlspam))
6612
6613 (define-public sbcl-dbus
6614 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6615 (revision "1"))
6616 (package
6617 (name "sbcl-dbus")
6618 (version (git-version "20190408" revision commit))
6619 (home-page "https://github.com/death/dbus")
6620 (source
6621 (origin
6622 (method git-fetch)
6623 (uri (git-reference
6624 (url home-page)
6625 (commit commit)))
6626 (file-name (git-file-name name version))
6627 (sha256
6628 (base32
6629 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
6630 (build-system asdf-build-system/sbcl)
6631 (inputs
6632 `(("alexandria" ,sbcl-alexandria)
6633 ("trivial-garbage" ,sbcl-trivial-garbage)
6634 ("babel" ,sbcl-babel)
6635 ("iolib" ,sbcl-iolib)
6636 ("ieee-floats" ,sbcl-ieee-floats)
6637 ("flexi-streams" ,sbcl-flexi-streams)
6638 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6639 ("ironclad" ,sbcl-ironclad)))
6640 (synopsis "D-Bus client library for Common Lisp")
6641 (description "This is a Common Lisp library that publishes D-Bus
6642 objects as well as send and notify other objects connected to a bus.")
6643 (license license:bsd-2))))
6644
6645 (define-public cl-dbus
6646 (sbcl-package->cl-source-package sbcl-dbus))
6647
6648 (define-public ecl-dbus
6649 (sbcl-package->ecl-package sbcl-dbus))
6650
6651 (define-public sbcl-cl-hooks
6652 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6653 (revision "1"))
6654 (package
6655 (name "sbcl-cl-hooks")
6656 (build-system asdf-build-system/sbcl)
6657 (version (git-version "0.2.1" revision commit))
6658 (home-page "https://github.com/scymtym/architecture.hooks")
6659 (source
6660 (origin
6661 (method git-fetch)
6662 (uri (git-reference
6663 (url home-page)
6664 (commit commit)))
6665 (file-name (git-file-name name version))
6666 (sha256
6667 (base32
6668 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6669 (inputs
6670 `(("alexandria" ,sbcl-alexandria)
6671 ("let-plus" ,sbcl-let-plus)
6672 ("trivial-garbage" ,sbcl-trivial-garbage)
6673 ("closer-mop" ,sbcl-closer-mop)))
6674 (native-inputs
6675 `(("fiveam" ,sbcl-fiveam)))
6676 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6677 (description "A hook, in the present context, is a certain kind of
6678 extension point in a program that allows interleaving the execution of
6679 arbitrary code with the execution of a the program without introducing any
6680 coupling between the two. Hooks are used extensively in the extensible editor
6681 Emacs.
6682
6683 In the Common LISP Object System (CLOS), a similar kind of extensibility is
6684 possible using the flexible multi-method dispatch mechanism. It may even seem
6685 that the concept of hooks does not provide any benefits over the possibilities
6686 of CLOS. However, there are some differences:
6687
6688 @itemize
6689
6690 @item There can be only one method for each combination of specializers and
6691 qualifiers. As a result this kind of extension point cannot be used by
6692 multiple extensions independently.
6693 @item Removing code previously attached via a @code{:before}, @code{:after} or
6694 @code{:around} method can be cumbersome.
6695 @item There could be other or even multiple extension points besides @code{:before}
6696 and @code{:after} in a single method.
6697 @item Attaching codes to individual objects using eql specializers can be
6698 cumbersome.
6699 @item Introspection of code attached a particular extension point is
6700 cumbersome since this requires enumerating and inspecting the methods of a
6701 generic function.
6702 @end itemize
6703
6704 This library tries to complement some of these weaknesses of method-based
6705 extension-points via the concept of hooks.")
6706 (license license:llgpl))))
6707
6708 (define-public cl-hooks
6709 (sbcl-package->cl-source-package sbcl-cl-hooks))
6710
6711 (define-public ecl-cl-hooks
6712 (sbcl-package->ecl-package sbcl-cl-hooks))
6713
6714 (define-public sbcl-cl-autowrap
6715 (let ((revision "1")
6716 (commit "ae846d6968fc0d000de0c541638929a157f3009e"))
6717 ;; no taged branches
6718 (package
6719 (name "sbcl-cl-autowrap")
6720 (version (git-version "1.0" revision commit))
6721 (source
6722 (origin
6723 (method git-fetch)
6724 (uri (git-reference
6725 (url "https://github.com/rpav/cl-autowrap")
6726 (commit commit)))
6727 (file-name (git-file-name name version))
6728 (sha256
6729 (base32 "1gisldp2zns92kdcaikghm7c38ldy2d884n8bfg0wcjvbz78p3ar"))))
6730 (build-system asdf-build-system/sbcl)
6731 (inputs
6732 `(("alexandria" ,sbcl-alexandria)
6733 ("cffi" ,sbcl-cffi)
6734 ("cl-json" ,sbcl-cl-json)
6735 ("cl-ppcre" ,sbcl-cl-ppcre)
6736 ("defpackage-plus" ,sbcl-defpackage-plus)
6737 ("trivial-features" ,sbcl-trivial-features)))
6738 (home-page "https://github.com/rpav/cl-autowrap")
6739 (synopsis "FFI wrapper generator for Common Lisp")
6740 (description "This is a c2ffi-based wrapper generator for Common Lisp.")
6741 (license license:bsd-2))))
6742
6743 (define-public cl-autowrap
6744 (sbcl-package->cl-source-package sbcl-cl-autowrap))
6745
6746 (define-public ecl-cl-autowrap
6747 (sbcl-package->ecl-package sbcl-cl-autowrap))
6748
6749 (define-public sbcl-s-sysdeps
6750 ;; No release since 2013.
6751 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
6752 (revision "2"))
6753 (package
6754 (name "sbcl-s-sysdeps")
6755 (build-system asdf-build-system/sbcl)
6756 (version (git-version "1" revision commit))
6757 (home-page "https://github.com/svenvc/s-sysdeps")
6758 (source
6759 (origin
6760 (method git-fetch)
6761 (uri (git-reference
6762 (url home-page)
6763 (commit commit)))
6764 (file-name (git-file-name name version))
6765 (sha256
6766 (base32
6767 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
6768 (inputs
6769 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
6770 ("usocket" ,sbcl-usocket)))
6771 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6772 (description "@code{s-sysdeps} is an abstraction layer over platform
6773 dependent functionality. This simple package is used as a building block in a
6774 number of other open source projects.
6775
6776 @code{s-sysdeps} abstracts:
6777
6778 @itemize
6779 @item managing processes,
6780 @item implementing a standard TCP/IP server,
6781 @item opening a client TCP/IP socket stream,
6782 @item working with process locks.
6783 @end itemize\n")
6784 (license license:llgpl))))
6785
6786 (define-public cl-s-sysdeps
6787 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6788
6789 (define-public ecl-s-sysdeps
6790 (sbcl-package->ecl-package sbcl-s-sysdeps))
6791
6792 (define-public sbcl-cl-prevalence
6793 (let ((commit "5a76be036092ed6c18cb695a9e03bce87e21b840")
6794 (revision "4"))
6795 (package
6796 (name "sbcl-cl-prevalence")
6797 (build-system asdf-build-system/sbcl)
6798 (version (git-version "5" revision commit))
6799 (home-page "https://github.com/40ants/cl-prevalence")
6800 (source
6801 (origin
6802 (method git-fetch)
6803 (uri (git-reference
6804 (url home-page)
6805 (commit commit)))
6806 (file-name (git-file-name name version))
6807 (sha256
6808 (base32
6809 "050h6hwv8f16b5v6fzba8zmih92hgaaq27i2x9wv1iib41gbia3r"))))
6810 (inputs
6811 `(("s-sysdeps" ,sbcl-s-sysdeps)
6812 ("s-xml" ,sbcl-s-xml)))
6813 (native-inputs
6814 `(("fiveam" ,sbcl-fiveam)))
6815 (synopsis "Implementation of object prevalence for Common Lisp")
6816 (description "This Common Lisp library implements object prevalence (see
6817 @url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6818 for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6819 classes and cyclic data structures are supported.")
6820 (license license:llgpl))))
6821
6822 (define-public cl-prevalence
6823 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6824
6825 (define-public ecl-cl-prevalence
6826 (sbcl-package->ecl-package sbcl-cl-prevalence))
6827
6828 (define-public sbcl-series
6829 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6830 (revision "1"))
6831 (package
6832 (name "sbcl-series")
6833 (version (git-version "2.2.11" revision commit))
6834 (source
6835 (origin
6836 (method git-fetch)
6837 (uri (git-reference
6838 (url "git://git.code.sf.net/p/series/series")
6839 (commit commit)))
6840 (file-name (git-file-name name version))
6841 (sha256
6842 (base32
6843 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6844 (build-system asdf-build-system/sbcl)
6845 (arguments
6846 ;; Disable the tests, they are apparently buggy and I didn't find
6847 ;; a simple way to make them run and pass.
6848 '(#:tests? #f))
6849 (synopsis "Series data structure for Common Lisp")
6850 (description
6851 "This Common Lisp library provides a series data structure much like
6852 a sequence, with similar kinds of operations. The difference is that in many
6853 situations, operations on series may be composed functionally and yet execute
6854 iteratively, without the need to construct intermediate series values
6855 explicitly. In this manner, series provide both the clarity of a functional
6856 programming style and the efficiency of an iterative programming style.")
6857 (home-page "http://series.sourceforge.net/")
6858 (license license:expat))))
6859
6860 (define-public cl-series
6861 (sbcl-package->cl-source-package sbcl-series))
6862
6863 (define-public ecl-series
6864 (sbcl-package->ecl-package sbcl-series))
6865
6866 (define-public sbcl-periods
6867 (let ((commit "60383dcef88a1ac11f82804ae7a33c361dcd2949")
6868 (revision "2"))
6869 (package
6870 (name "sbcl-periods")
6871 (version (git-version "0.0.2" revision commit))
6872 (source
6873 (origin
6874 (method git-fetch)
6875 (uri (git-reference
6876 (url "https://github.com/jwiegley/periods")
6877 (commit commit)))
6878 (file-name (git-file-name name version))
6879 (sha256
6880 (base32
6881 "1ym2j4an9ig2hl210jg91gpf7xfnp6mlhkw3n9kkdnwiji3ipqlk"))))
6882 (build-system asdf-build-system/sbcl)
6883 (inputs
6884 `(("local-time" ,sbcl-local-time)
6885 ("series" ,sbcl-series)))
6886 (arguments
6887 '(#:asd-systems '("periods"
6888 "periods-series")))
6889 (synopsis "Common Lisp library for manipulating date/time objects")
6890 (description
6891 "Periods is a Common Lisp library providing a set of utilities for
6892 manipulating times, distances between times, and both contiguous and
6893 discontiguous ranges of time.")
6894 (home-page "https://github.com/jwiegley/periods")
6895 (license license:bsd-3))))
6896
6897 (define-public cl-periods
6898 (sbcl-package->cl-source-package sbcl-periods))
6899
6900 (define-public ecl-periods
6901 (sbcl-package->ecl-package sbcl-periods))
6902
6903 (define-public sbcl-metatilities-base
6904 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6905 (revision "1"))
6906 (package
6907 (name "sbcl-metatilities-base")
6908 (version (git-version "0.6.6" revision commit))
6909 (source
6910 (origin
6911 (method git-fetch)
6912 (uri (git-reference
6913 (url "https://github.com/gwkkwg/metatilities-base")
6914 (commit commit)))
6915 (file-name (git-file-name name version))
6916 (sha256
6917 (base32
6918 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6919 (build-system asdf-build-system/sbcl)
6920 (native-inputs
6921 `(("lift" ,sbcl-lift)))
6922 (synopsis "Core of the metatilities Common Lisp library")
6923 (description
6924 "Metatilities-base is the core of the metatilities Common Lisp library
6925 which implements a set of utilities.")
6926 (home-page "https://common-lisp.net/project/metatilities-base/")
6927 (license license:expat))))
6928
6929 (define-public cl-metatilities-base
6930 (sbcl-package->cl-source-package sbcl-metatilities-base))
6931
6932 (define-public ecl-metatilities-base
6933 (sbcl-package->ecl-package sbcl-metatilities-base))
6934
6935 (define-public sbcl-cl-containers
6936 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6937 (revision "3"))
6938 (package
6939 (name "sbcl-cl-containers")
6940 (version (git-version "0.12.1" revision commit))
6941 (source
6942 (origin
6943 (method git-fetch)
6944 (uri (git-reference
6945 (url "https://github.com/gwkkwg/cl-containers")
6946 (commit commit)))
6947 (file-name (git-file-name name version))
6948 (sha256
6949 (base32
6950 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
6951 (build-system asdf-build-system/sbcl)
6952 (native-inputs
6953 `(("lift" ,sbcl-lift)))
6954 (inputs
6955 `(("metatilities-base" ,sbcl-metatilities-base)))
6956 (arguments
6957 '(#:asd-files '("cl-containers.asd")
6958 #:phases
6959 (modify-phases %standard-phases
6960 (add-after 'unpack 'relax-version-checks
6961 (lambda _
6962 (substitute* "cl-containers.asd"
6963 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6964 "\"metatilities-base\""))
6965 (substitute* "cl-containers-test.asd"
6966 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6967 "\"lift\""))
6968 #t)))))
6969 (synopsis "Container library for Common Lisp")
6970 (description
6971 "Common Lisp ships with a set of powerful built in data structures
6972 including the venerable list, full featured arrays, and hash-tables.
6973 CL-containers enhances and builds on these structures by adding containers
6974 that are not available in native Lisp (for example: binary search trees,
6975 red-black trees, sparse arrays and so on), and by providing a standard
6976 interface so that they are simpler to use and so that changing design
6977 decisions becomes significantly easier.")
6978 (home-page "https://common-lisp.net/project/cl-containers/")
6979 (license license:expat))))
6980
6981 (define-public cl-containers
6982 (sbcl-package->cl-source-package sbcl-cl-containers))
6983
6984 (define-public ecl-cl-containers
6985 (sbcl-package->ecl-package sbcl-cl-containers))
6986
6987 (define-public sbcl-xlunit
6988 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6989 (revision "1"))
6990 (package
6991 (name "sbcl-xlunit")
6992 (version (git-version "0.6.3" revision commit))
6993 (source
6994 (origin
6995 (method git-fetch)
6996 (uri (git-reference
6997 (url "http://git.kpe.io/xlunit.git")
6998 (commit commit)))
6999 (file-name (git-file-name name version))
7000 (sha256
7001 (base32
7002 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
7003 (build-system asdf-build-system/sbcl)
7004 (arguments
7005 '(#:phases
7006 (modify-phases %standard-phases
7007 (add-after 'unpack 'fix-tests
7008 (lambda _
7009 (substitute* "xlunit.asd"
7010 ((" :force t") ""))
7011 #t)))))
7012 (synopsis "Unit testing package for Common Lisp")
7013 (description
7014 "The XLUnit package is a toolkit for building test suites. It is based
7015 on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
7016 (home-page "http://quickdocs.org/xlunit/")
7017 (license license:bsd-3))))
7018
7019 (define-public cl-xlunit
7020 (sbcl-package->cl-source-package sbcl-xlunit))
7021
7022 (define-public ecl-xlunit
7023 (sbcl-package->ecl-package sbcl-xlunit))
7024
7025 (define-public sbcl-cambl
7026 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
7027 (revision "1"))
7028 (package
7029 (name "sbcl-cambl")
7030 (version (git-version "4.0.0" revision commit))
7031 (source
7032 (origin
7033 (method git-fetch)
7034 (uri (git-reference
7035 (url "https://github.com/jwiegley/cambl")
7036 (commit commit)))
7037 (file-name (git-file-name "cambl" version))
7038 (sha256
7039 (base32 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
7040 (build-system asdf-build-system/sbcl)
7041 (native-inputs
7042 `(("xlunit" ,sbcl-xlunit)))
7043 (inputs
7044 `(("alexandria" ,sbcl-alexandria)
7045 ("cl-containers" ,sbcl-cl-containers)
7046 ("local-time" ,sbcl-local-time)
7047 ("periods" ,sbcl-periods)))
7048 (arguments
7049 '(#:asd-files '("fprog.asd"
7050 "cambl.asd")))
7051 (synopsis "Commoditized amounts and balances for Common Lisp")
7052 (description
7053 "CAMBL is a Common Lisp library providing a convenient facility for
7054 working with commoditized values. It does not allow compound units (and so is
7055 not suited for scientific operations) but does work rather nicely for the
7056 purpose of financial calculations.")
7057 (home-page "https://github.com/jwiegley/cambl")
7058 (license license:bsd-3))))
7059
7060 (define-public cl-cambl
7061 (sbcl-package->cl-source-package sbcl-cambl))
7062
7063 (define-public ecl-cambl
7064 (sbcl-package->ecl-package sbcl-cambl))
7065
7066 (define-public sbcl-cl-ledger
7067 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
7068 (revision "1"))
7069 (package
7070 (name "sbcl-cl-ledger")
7071 (version (git-version "4.0.0" revision commit))
7072 (source
7073 (origin
7074 (method git-fetch)
7075 (uri (git-reference
7076 (url "https://github.com/ledger/cl-ledger")
7077 (commit commit)))
7078 (file-name (git-file-name name version))
7079 (sha256
7080 (base32
7081 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
7082 (build-system asdf-build-system/sbcl)
7083 (inputs
7084 `(("cambl" ,sbcl-cambl)
7085 ("cl-ppcre" ,sbcl-cl-ppcre)
7086 ("local-time" ,sbcl-local-time)
7087 ("periods" ,sbcl-periods)))
7088 (arguments
7089 '(#:phases
7090 (modify-phases %standard-phases
7091 (add-after 'unpack 'fix-system-definition
7092 (lambda _
7093 (substitute* "cl-ledger.asd"
7094 ((" :build-operation program-op") "")
7095 ((" :build-pathname \"cl-ledger\"") "")
7096 ((" :entry-point \"ledger::main\"") ""))
7097 #t)))))
7098 (synopsis "Common Lisp port of the Ledger accounting system")
7099 (description
7100 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
7101 system.")
7102 (home-page "https://github.com/ledger/cl-ledger")
7103 (license license:bsd-3))))
7104
7105 (define-public cl-ledger
7106 (sbcl-package->cl-source-package sbcl-cl-ledger))
7107
7108 (define-public ecl-cl-ledger
7109 (sbcl-package->ecl-package sbcl-cl-ledger))
7110
7111 (define-public sbcl-bst
7112 (let ((commit "8545aed0d504df2829ad139566feeabe22305388")
7113 (revision "0"))
7114 (package
7115 (name "sbcl-bst")
7116 (version (git-version "2.0" revision commit))
7117 (source
7118 (origin
7119 (method git-fetch)
7120 (uri (git-reference
7121 (url "https://github.com/glv2/bst")
7122 (commit commit)))
7123 (file-name (git-file-name name version))
7124 (sha256
7125 (base32 "18ig7rvxcra69437g0i8sxyv7c5dg26jqnx1rc2f9pxmihdprgk8"))))
7126 (build-system asdf-build-system/sbcl)
7127 (native-inputs
7128 `(("alexandria" ,sbcl-alexandria)
7129 ("fiveam" ,sbcl-fiveam)))
7130 (synopsis "Binary search tree for Common Lisp")
7131 (description
7132 "BST is a Common Lisp library for working with binary search trees that
7133 can contain any kind of values.")
7134 (home-page "https://github.com/glv2/bst")
7135 (license license:gpl3))))
7136
7137 (define-public cl-bst
7138 (sbcl-package->cl-source-package sbcl-bst))
7139
7140 (define-public ecl-bst
7141 (sbcl-package->ecl-package sbcl-bst))
7142
7143 (define-public sbcl-cl-octet-streams
7144 (package
7145 (name "sbcl-cl-octet-streams")
7146 (version "1.2")
7147 (source
7148 (origin
7149 (method git-fetch)
7150 (uri (git-reference
7151 (url "https://github.com/glv2/cl-octet-streams")
7152 (commit (string-append "v" version))))
7153 (file-name (git-file-name name version))
7154 (sha256
7155 (base32 "1hffh98bv4w5yrchagzwqrc43d2p473pvw7ka4kyyvhrr52dk2f8"))))
7156 (build-system asdf-build-system/sbcl)
7157 (native-inputs
7158 `(("fiveam" ,sbcl-fiveam)))
7159 (inputs
7160 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7161 (synopsis "In-memory octet streams for Common Lisp")
7162 (description
7163 "CL-octet-streams is a library implementing in-memory octet
7164 streams for Common Lisp. It was inspired by the trivial-octet-streams and
7165 cl-plumbing libraries.")
7166 (home-page "https://github.com/glv2/cl-octet-streams")
7167 (license license:gpl3+)))
7168
7169 (define-public cl-octet-streams
7170 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
7171
7172 (define-public ecl-cl-octet-streams
7173 (sbcl-package->ecl-package sbcl-cl-octet-streams))
7174
7175 (define-public sbcl-lzlib
7176 (let ((commit "cad10f5becbcfebb44b9d311a257563778803452")
7177 (revision "2"))
7178 (package
7179 (name "sbcl-lzlib")
7180 (version (git-version "1.1" revision commit))
7181 (source
7182 (origin
7183 (method git-fetch)
7184 (uri (git-reference
7185 (url "https://github.com/glv2/cl-lzlib")
7186 (commit commit)))
7187 (file-name (git-file-name name version))
7188 (sha256
7189 (base32 "09lp7li35h4jkls0448fj1sh6pjslr1w7ranbc4szjr8g0c2bdry"))))
7190 (build-system asdf-build-system/sbcl)
7191 (native-inputs
7192 `(("fiveam" ,sbcl-fiveam)))
7193 (inputs
7194 `(("cffi" ,sbcl-cffi)
7195 ("cl-octet-streams" ,sbcl-cl-octet-streams)
7196 ("lparallel" ,sbcl-lparallel)
7197 ("lzlib" ,lzlib)))
7198 (arguments
7199 '(#:phases
7200 (modify-phases %standard-phases
7201 (add-after 'unpack 'fix-paths
7202 (lambda* (#:key inputs #:allow-other-keys)
7203 (substitute* "src/lzlib.lisp"
7204 (("liblz\\.so")
7205 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
7206 #t)))))
7207 (synopsis "Common Lisp library for lzip (de)compression")
7208 (description
7209 "This Common Lisp library provides functions for lzip (LZMA)
7210 compression/decompression using bindings to the lzlib C library.")
7211 (home-page "https://github.com/glv2/cl-lzlib")
7212 (license license:gpl3+))))
7213
7214 (define-public cl-lzlib
7215 (sbcl-package->cl-source-package sbcl-lzlib))
7216
7217 (define-public ecl-lzlib
7218 (sbcl-package->ecl-package sbcl-lzlib))
7219
7220 (define-public sbcl-chanl
7221 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
7222 (revision "1"))
7223 (package
7224 (name "sbcl-chanl")
7225 (version (git-version "0.4.1" revision commit))
7226 (source
7227 (origin
7228 (method git-fetch)
7229 (uri (git-reference
7230 (url "https://github.com/zkat/chanl")
7231 (commit commit)))
7232 (file-name (git-file-name name version))
7233 (sha256
7234 (base32
7235 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
7236 (build-system asdf-build-system/sbcl)
7237 (native-inputs
7238 `(("fiveam" ,sbcl-fiveam)))
7239 (inputs
7240 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
7241 (synopsis "Portable channel-based concurrency for Common Lisp")
7242 (description "Common Lisp library for channel-based concurrency. In
7243 a nutshell, you create various threads sequentially executing tasks you need
7244 done, and use channel objects to communicate and synchronize the state of these
7245 threads.")
7246 (home-page "https://github.com/zkat/chanl")
7247 (license (list license:expat license:bsd-3)))))
7248
7249 (define-public cl-chanl
7250 (sbcl-package->cl-source-package sbcl-chanl))
7251
7252 (define-public ecl-chanl
7253 (sbcl-package->ecl-package sbcl-chanl))
7254
7255 (define-public sbcl-cl-store
7256 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
7257 (revision "1"))
7258 (package
7259 (name "sbcl-cl-store")
7260 (version (git-version "0.8.11" revision commit))
7261 (source
7262 (origin
7263 (method git-fetch)
7264 (uri (git-reference
7265 (url "https://github.com/skypher/cl-store")
7266 (commit commit)))
7267 (file-name (git-file-name name version))
7268 (sha256
7269 (base32
7270 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
7271 (build-system asdf-build-system/sbcl)
7272 (native-inputs
7273 `(("rt" ,sbcl-rt)))
7274 (synopsis "Common Lisp library to serialize data")
7275 (description
7276 "CL-STORE is a portable serialization package which should give you the
7277 ability to store all Common Lisp data types into streams.")
7278 (home-page "https://www.common-lisp.net/project/cl-store/")
7279 (license license:expat))))
7280
7281 (define-public cl-store
7282 (sbcl-package->cl-source-package sbcl-cl-store))
7283
7284 (define-public ecl-cl-store
7285 (sbcl-package->ecl-package sbcl-cl-store))
7286
7287 (define-public sbcl-specialization-store
7288 (let ((commit "8d39a866a6f24986aad3cc52349e9cb2653496f3")
7289 (revision "1"))
7290 (package
7291 (name "sbcl-specialization-store")
7292 (version (git-version "0.0.5" revision commit))
7293 (source
7294 (origin
7295 (method git-fetch)
7296 (uri (git-reference
7297 (url "https://github.com/markcox80/specialization-store")
7298 (commit commit)))
7299 (file-name (git-file-name "specialization-store" version))
7300 (sha256
7301 (base32 "0r0bgb46q4gy72l78s7djkxq8ibb4bb3yh9brsry5lih7br8lhi0"))))
7302 (build-system asdf-build-system/sbcl)
7303 (native-inputs
7304 `(("fiveam" ,sbcl-fiveam)))
7305 (inputs
7306 `(("alexandria" ,sbcl-alexandria)
7307 ("introspect-environment" ,sbcl-introspect-environment)))
7308 (home-page "https://github.com/markcox80/specialization-store")
7309 (synopsis "Different type of generic function for Common Lisp")
7310 (description
7311 "SPECIALIZATION-STORE system provides a new kind of function, called
7312 a store function, whose behavior depends on the types of objects passed to the
7313 function.")
7314 (license license:bsd-2))))
7315
7316 (define-public ecl-specialization-store
7317 (package
7318 (inherit (sbcl-package->ecl-package sbcl-specialization-store))
7319 (arguments
7320 ;; TODO: Find why the tests get stuck forever; disable them for now.
7321 `(#:tests? #f))))
7322
7323 (define-public cl-specialization-store
7324 (sbcl-package->cl-source-package sbcl-specialization-store))
7325
7326 (define-public sbcl-cl-gobject-introspection
7327 (let ((commit "d0136c8d9ade2560123af1fc55bbf70d2e3db539")
7328 (revision "1"))
7329 (package
7330 (name "sbcl-cl-gobject-introspection")
7331 (version (git-version "0.3" revision commit))
7332 (home-page "https://github.com/andy128k/cl-gobject-introspection")
7333 (source
7334 (origin
7335 (method git-fetch)
7336 (uri (git-reference
7337 (url home-page)
7338 (commit commit)))
7339 (file-name (git-file-name name version))
7340 (sha256
7341 (base32
7342 "0dz0r73pq7yhz2iq2jnkq977awx2zws2qfxdcy33329sys1ii32p"))))
7343 (build-system asdf-build-system/sbcl)
7344 (inputs
7345 `(("alexandria" ,sbcl-alexandria)
7346 ("cffi" ,sbcl-cffi)
7347 ("iterate" ,sbcl-iterate)
7348 ("trivial-garbage" ,sbcl-trivial-garbage)
7349 ("glib" ,glib)
7350 ("gobject-introspection" ,gobject-introspection)))
7351 (native-inputs
7352 `(("fiveam" ,sbcl-fiveam)))
7353 (arguments
7354 '(#:phases
7355 (modify-phases %standard-phases
7356 (add-after 'unpack 'fix-paths
7357 (lambda* (#:key inputs #:allow-other-keys)
7358 (substitute* "src/init.lisp"
7359 (("libgobject-2\\.0\\.so")
7360 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
7361 (("libgirepository-1\\.0\\.so")
7362 (string-append (assoc-ref inputs "gobject-introspection")
7363 "/lib/libgirepository-1.0.so")))
7364 #t)))))
7365 (synopsis "Common Lisp bindings to GObject Introspection")
7366 (description
7367 "This library is a bridge between Common Lisp and GObject
7368 Introspection, which enables Common Lisp programs to access the full interface
7369 of C+GObject libraries without the need of writing dedicated bindings.")
7370 (license (list license:bsd-3
7371 ;; Tests are under a different license.
7372 license:llgpl)))))
7373
7374 (define-public cl-gobject-introspection
7375 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
7376
7377 (define-public ecl-cl-gobject-introspection
7378 (sbcl-package->ecl-package sbcl-cl-gobject-introspection))
7379
7380 (define-public sbcl-cl-slug
7381 (let ((commit "ffb229d10f0d3f7f54e706791725225e200bf749")
7382 (revision "1"))
7383 (package
7384 (name "sbcl-cl-slug")
7385 (version (git-version "0.4.1" revision commit))
7386 (source
7387 (origin
7388 (method git-fetch)
7389 (uri (git-reference
7390 (url "https://github.com/EuAndreh/cl-slug")
7391 (commit commit)))
7392 (file-name (git-file-name "cl-slug" version))
7393 (sha256
7394 (base32 "1asdq6xllmsvfw5fky9wblqcx9isac9jrrlkfl7vyxcq1wxrnflx"))))
7395 (build-system asdf-build-system/sbcl)
7396 (arguments
7397 `(#:asd-files '("cl-slug-test.asd" "cl-slug.asd")
7398 #:asd-systems '("cl-slug-test" "cl-slug")))
7399 (native-inputs
7400 `(("prove" ,sbcl-prove)))
7401 (inputs
7402 `(("ppcre" ,sbcl-cl-ppcre)))
7403 (home-page "https://github.com/EuAndreh/cl-slug")
7404 (synopsis "Multi-language slug formatter")
7405 (description
7406 "This is a small Common Lisp library to make slugs, mainly for URIs,
7407 from English and beyond.")
7408 (license license:llgpl))))
7409
7410 (define-public ecl-cl-slug
7411 (sbcl-package->ecl-package sbcl-cl-slug))
7412
7413 (define-public cl-slug
7414 (sbcl-package->cl-source-package sbcl-cl-slug))
7415
7416 (define-public sbcl-string-case
7417 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
7418 (revision "0"))
7419 (package
7420 (name "sbcl-string-case")
7421 (version (git-version "0.0.2" revision commit))
7422 (home-page "https://github.com/pkhuong/string-case")
7423 (source
7424 (origin
7425 (method git-fetch)
7426 (uri (git-reference
7427 (url home-page)
7428 (commit commit)))
7429 (file-name (git-file-name name version))
7430 (sha256
7431 (base32
7432 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7433 (build-system asdf-build-system/sbcl)
7434 (synopsis "Efficient string= case in Common Lisp")
7435 (description
7436 "@code{string-case} is a Common Lisp macro that generates specialised decision
7437 trees to dispatch on string equality.")
7438 (license license:bsd-3))))
7439
7440 (define-public cl-string-case
7441 (sbcl-package->cl-source-package sbcl-string-case))
7442
7443 (define-public ecl-string-case
7444 (sbcl-package->ecl-package sbcl-string-case))
7445
7446 (define-public sbcl-garbage-pools
7447 (let ((commit "9a7cb7f48b04197c0495df3b6d2e8395ad13f790")
7448 (revision "1"))
7449 (package
7450 (name "sbcl-garbage-pools")
7451 (version (git-version "0.1.2" revision commit))
7452 (source
7453 (origin
7454 (method git-fetch)
7455 (uri (git-reference
7456 (url "https://github.com/archimag/garbage-pools")
7457 (commit commit)))
7458 (file-name (git-file-name name version))
7459 (sha256
7460 (base32 "04jqwr6j138him6wc4nrwjzm4lvyj5j31xqab02nkf8h9hmsf5v1"))))
7461 (build-system asdf-build-system/sbcl)
7462 (home-page "https://github.com/archimag/garbage-pools")
7463 (synopsis "Resource management pools for Common Lisp")
7464 (description "GARBAGE-POOLS is Common Lisp re-implementation of the APR
7465 Pools for resource management.")
7466 (license license:expat))))
7467
7468 (define-public ecl-garbage-pools
7469 (sbcl-package->ecl-package sbcl-garbage-pools))
7470
7471 (define-public cl-garbage-pools
7472 (sbcl-package->cl-source-package sbcl-garbage-pools))
7473
7474 (define-public sbcl-global-vars
7475 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7476 (revision "0"))
7477 (package
7478 (name "sbcl-global-vars")
7479 (version (git-version "1.0.0" revision commit))
7480 (home-page "https://github.com/lmj/global-vars")
7481 (source
7482 (origin
7483 (method git-fetch)
7484 (uri (git-reference
7485 (url home-page)
7486 (commit commit)))
7487 (file-name (git-file-name name version))
7488 (sha256
7489 (base32
7490 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7491 (build-system asdf-build-system/sbcl)
7492 (synopsis "Efficient global variables in Common Lisp")
7493 (description
7494 "In Common Lisp, a special variable that is never dynamically bound
7495 typically serves as a stand-in for a global variable. The @code{global-vars}
7496 library provides true global variables that are implemented by some compilers.
7497 An attempt to rebind a global variable properly results in a compiler error.
7498 That is, a global variable cannot be dynamically bound.
7499
7500 Global variables therefore allow us to communicate an intended usage that
7501 differs from special variables. Global variables are also more efficient than
7502 special variables, especially in the presence of threads.")
7503 (license license:expat))))
7504
7505 (define-public cl-global-vars
7506 (sbcl-package->cl-source-package sbcl-global-vars))
7507
7508 (define-public ecl-global-vars
7509 (sbcl-package->ecl-package sbcl-global-vars))
7510
7511 (define-public sbcl-trivial-file-size
7512 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7513 (revision "0"))
7514 (package
7515 (name "sbcl-trivial-file-size")
7516 (version (git-version "0.0.0" revision commit))
7517 (home-page "https://github.com/ruricolist/trivial-file-size")
7518 (source
7519 (origin
7520 (method git-fetch)
7521 (uri (git-reference
7522 (url home-page)
7523 (commit commit)))
7524 (file-name (git-file-name name version))
7525 (sha256
7526 (base32
7527 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7528 (build-system asdf-build-system/sbcl)
7529 (native-inputs
7530 `(("fiveam" ,sbcl-fiveam)))
7531 (synopsis "Size of a file in bytes in Common Lisp")
7532 (description
7533 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7534 is to open the file with an element type of (unsigned-byte 8) and then
7535 calculate the length of the stream. This is less than ideal. In most cases
7536 it is better to get the size of the file from its metadata, using a system
7537 call.
7538
7539 This library exports a single function, file-size-in-octets. It returns the
7540 size of a file in bytes, using system calls when possible.")
7541 (license license:expat))))
7542
7543 (define-public cl-trivial-file-size
7544 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7545
7546 (define-public ecl-trivial-file-size
7547 (sbcl-package->ecl-package sbcl-trivial-file-size))
7548
7549 (define-public sbcl-trivial-macroexpand-all
7550 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7551 (revision "0"))
7552 (package
7553 (name "sbcl-trivial-macroexpand-all")
7554 (version (git-version "0.0.0" revision commit))
7555 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7556 (source
7557 (origin
7558 (method git-fetch)
7559 (uri (git-reference
7560 (url home-page)
7561 (commit commit)))
7562 (file-name (git-file-name name version))
7563 (sha256
7564 (base32
7565 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7566 (build-system asdf-build-system/sbcl)
7567 (native-inputs
7568 `(("fiveam" ,sbcl-fiveam)))
7569 (synopsis "Portable macroexpand-all for Common Lisp")
7570 (description
7571 "This library provides a macroexpand-all function that calls the
7572 implementation specific equivalent.")
7573 (license license:unlicense))))
7574
7575 (define-public cl-trivial-macroexpand-all
7576 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7577
7578 (define-public ecl-trivial-macroexpand-all
7579 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7580
7581 (define-public sbcl-serapeum
7582 (let ((commit "f5da17b635ecb11d8317800f1674e88ca779dac5")
7583 (revision "5"))
7584 (package
7585 (name "sbcl-serapeum")
7586 (version (git-version "0.0.0" revision commit))
7587 (home-page "https://github.com/ruricolist/serapeum")
7588 (source
7589 (origin
7590 (method git-fetch)
7591 (uri (git-reference
7592 (url home-page)
7593 (commit commit)))
7594 (file-name (git-file-name name version))
7595 (sha256
7596 (base32 "16mz6xgcb5pkjg7xb760ga4hxbdhm9f843l42kc546hknhfq8x7b"))))
7597 (build-system asdf-build-system/sbcl)
7598 (inputs
7599 `(("alexandria" ,sbcl-alexandria)
7600 ("trivia" ,sbcl-trivia)
7601 ("split-sequence" ,sbcl-split-sequence)
7602 ("string-case" ,sbcl-string-case)
7603 ("parse-number" ,sbcl-parse-number)
7604 ("trivial-garbage" ,sbcl-trivial-garbage)
7605 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7606 ("named-readtables" ,sbcl-named-readtables)
7607 ("fare-quasiquote" ,sbcl-fare-quasiquote)
7608 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7609 ("global-vars" ,sbcl-global-vars)
7610 ("trivial-file-size" ,sbcl-trivial-file-size)
7611 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7612 (native-inputs
7613 `(("fiveam" ,sbcl-fiveam)
7614 ("local-time" ,sbcl-local-time)))
7615 (arguments
7616 '(#:phases
7617 (modify-phases %standard-phases
7618 (add-after 'unpack 'disable-failing-tests
7619 (lambda* (#:key inputs #:allow-other-keys)
7620 (substitute* "serapeum.asd"
7621 ;; Guix does not have Quicklisp, and probably never will.
7622 (("\\(:file \"quicklisp\"\\)") ""))
7623 #t)))))
7624 (synopsis "Common Lisp utility library beyond Alexandria")
7625 (description
7626 "Serapeum is a conservative library of Common Lisp utilities. It is a
7627 supplement, not a competitor, to Alexandria.")
7628 (license license:expat))))
7629
7630 (define-public cl-serapeum
7631 (sbcl-package->cl-source-package sbcl-serapeum))
7632
7633 (define-public ecl-serapeum
7634 (sbcl-package->ecl-package sbcl-serapeum))
7635
7636 (define-public sbcl-arrows
7637 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7638 (revision "0"))
7639 (package
7640 (name "sbcl-arrows")
7641 (version (git-version "0.2.0" revision commit))
7642 (source
7643 (origin
7644 (method git-fetch)
7645 (uri (git-reference
7646 (url "https://gitlab.com/Harleqin/arrows.git")
7647 (commit commit)))
7648 (file-name (git-file-name name version))
7649 (sha256
7650 (base32
7651 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7652 (build-system asdf-build-system/sbcl)
7653 (native-inputs
7654 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7655 (synopsis "Clojure-like arrow macros for Common Lisp")
7656 (description
7657 "This library implements the @code{->} and @code{->>} macros from
7658 Clojure, as well as several expansions on the idea.")
7659 (home-page "https://gitlab.com/Harleqin/arrows")
7660 (license license:public-domain))))
7661
7662 (define-public cl-arrows
7663 (sbcl-package->cl-source-package sbcl-arrows))
7664
7665 (define-public ecl-arrows
7666 (sbcl-package->ecl-package sbcl-arrows))
7667
7668 (define-public sbcl-simple-parallel-tasks
7669 (let ((commit "ce7b60f788d8f68dfb69b24aac54c0e3b63379a6")
7670 (revision "1"))
7671 (package
7672 (name "sbcl-simple-parallel-tasks")
7673 (version (git-version "1.0" revision commit))
7674 (source
7675 (origin
7676 (method git-fetch)
7677 (uri (git-reference
7678 (url "https://github.com/glv2/simple-parallel-tasks")
7679 (commit commit)))
7680 (file-name (git-file-name name version))
7681 (sha256
7682 (base32 "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7"))))
7683 (build-system asdf-build-system/sbcl)
7684 (native-inputs
7685 `(("fiveam" ,sbcl-fiveam)))
7686 (inputs
7687 `(("chanl" ,sbcl-chanl)))
7688 (synopsis "Common Lisp library to evaluate some forms in parallel")
7689 (description "This is a simple Common Lisp library to evaluate some
7690 forms in parallel.")
7691 (home-page "https://github.com/glv2/simple-parallel-tasks")
7692 (license license:gpl3))))
7693
7694 (define-public cl-simple-parallel-tasks
7695 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7696
7697 (define-public ecl-simple-parallel-tasks
7698 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7699
7700 (define-public sbcl-cl-heap
7701 (package
7702 (name "sbcl-cl-heap")
7703 (version "0.1.6")
7704 (source
7705 (origin
7706 (method url-fetch)
7707 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7708 "cl-heap_" version ".tar.gz"))
7709 (sha256
7710 (base32
7711 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7712 (build-system asdf-build-system/sbcl)
7713 (native-inputs
7714 `(("xlunit" ,sbcl-xlunit)))
7715 (arguments
7716 `(#:test-asd-file "cl-heap-tests.asd"))
7717 (synopsis "Heap and priority queue data structures for Common Lisp")
7718 (description
7719 "CL-HEAP provides various implementations of heap data structures (a
7720 binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7721 (home-page "https://common-lisp.net/project/cl-heap/")
7722 (license license:gpl3+)))
7723
7724 (define-public cl-heap
7725 (sbcl-package->cl-source-package sbcl-cl-heap))
7726
7727 (define-public ecl-cl-heap
7728 (sbcl-package->ecl-package sbcl-cl-heap))
7729
7730 (define-public sbcl-curry-compose-reader-macros
7731 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7732 (revision "0"))
7733 (package
7734 (name "sbcl-curry-compose-reader-macros")
7735 (version (git-version "1.0.0" revision commit))
7736 (source
7737 (origin
7738 (method git-fetch)
7739 (uri
7740 (git-reference
7741 (url "https://github.com/eschulte/curry-compose-reader-macros")
7742 (commit commit)))
7743 (file-name (git-file-name name version))
7744 (sha256
7745 (base32
7746 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7747 (build-system asdf-build-system/sbcl)
7748 (inputs
7749 `(("alexandria" ,sbcl-alexandria)
7750 ("named-readtables" ,sbcl-named-readtables)))
7751 (synopsis "Reader macros for partial application and composition")
7752 (description
7753 "This Common Lisp library provides reader macros for concise expression
7754 of function partial application and composition.")
7755 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7756 (license license:public-domain))))
7757
7758 (define-public cl-curry-compose-reader-macros
7759 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7760
7761 (define-public ecl-curry-compose-reader-macros
7762 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7763
7764 (define-public sbcl-yason
7765 (package
7766 (name "sbcl-yason")
7767 (version "0.7.7")
7768 (source
7769 (origin
7770 (method git-fetch)
7771 (uri (git-reference
7772 (url "https://github.com/phmarek/yason")
7773 (commit (string-append "v" version))))
7774 (file-name (git-file-name name version))
7775 (sha256
7776 (base32
7777 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7778 (build-system asdf-build-system/sbcl)
7779 (inputs
7780 `(("alexandria" ,sbcl-alexandria)
7781 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7782 (synopsis "Common Lisp JSON parser/encoder")
7783 (description
7784 "YASON is a Common Lisp library for encoding and decoding data in the
7785 JSON interchange format.")
7786 (home-page "https://github.com/phmarek/yason")
7787 (license license:bsd-3)))
7788
7789 (define-public cl-yason
7790 (sbcl-package->cl-source-package sbcl-yason))
7791
7792 (define-public ecl-yason
7793 (sbcl-package->ecl-package sbcl-yason))
7794
7795 (define-public sbcl-stefil
7796 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7797 (revision "0"))
7798 (package
7799 (name "sbcl-stefil")
7800 (version (git-version "0.1" revision commit))
7801 (source
7802 (origin
7803 (method git-fetch)
7804 (uri (git-reference
7805 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7806 (commit commit)))
7807 (file-name (git-file-name name version))
7808 (sha256
7809 (base32
7810 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7811 (build-system asdf-build-system/sbcl)
7812 (inputs
7813 `(("alexandria" ,sbcl-alexandria)
7814 ("iterate" ,sbcl-iterate)
7815 ("metabang-bind" ,sbcl-metabang-bind)
7816 ("swank" ,sbcl-slime-swank)))
7817 (arguments
7818 '(#:phases
7819 (modify-phases %standard-phases
7820 (add-after 'unpack 'drop-unnecessary-dependency
7821 (lambda _
7822 (substitute* "package.lisp"
7823 ((":stefil-system") ""))
7824 #t)))))
7825 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7826 (synopsis "Simple test framework")
7827 (description
7828 "Stefil is a simple test framework for Common Lisp, with a focus on
7829 interactive development.")
7830 (license license:public-domain))))
7831
7832 (define-public cl-stefil
7833 (sbcl-package->cl-source-package sbcl-stefil))
7834
7835 (define-public ecl-stefil
7836 (sbcl-package->ecl-package sbcl-stefil))
7837
7838 (define-public sbcl-graph
7839 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7840 (revision "0"))
7841 (package
7842 (name "sbcl-graph")
7843 (version (git-version "0.0.0" revision commit))
7844 (source
7845 (origin
7846 (method git-fetch)
7847 (uri
7848 (git-reference
7849 (url "https://github.com/eschulte/graph")
7850 (commit commit)))
7851 (file-name (git-file-name name version))
7852 (sha256
7853 (base32
7854 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))))
7855 (build-system asdf-build-system/sbcl)
7856 (native-inputs
7857 `(("stefil" ,sbcl-stefil)))
7858 (inputs
7859 `(("alexandria" ,sbcl-alexandria)
7860 ("cl-heap" ,sbcl-cl-heap)
7861 ("cl-ppcre" ,sbcl-cl-ppcre)
7862 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7863 ("metabang-bind" ,sbcl-metabang-bind)
7864 ("named-readtables" ,sbcl-named-readtables)
7865 ("yason" ,sbcl-yason)))
7866 (arguments
7867 '(#:asd-systems '("graph"
7868 "graph/dot"
7869 "graph/json")))
7870 (synopsis "Graph data structure and algorithms for Common Lisp")
7871 (description
7872 "The GRAPH Common Lisp library provides a data structures to represent
7873 graphs, as well as some graph manipulation and analysis algorithms (shortest
7874 path, maximum flow, minimum spanning tree, etc.).")
7875 (home-page "https://eschulte.github.io/graph/")
7876 (license license:gpl3+))))
7877
7878 (define-public cl-graph
7879 (sbcl-package->cl-source-package sbcl-graph))
7880
7881 (define-public ecl-graph
7882 (sbcl-package->ecl-package sbcl-graph))
7883
7884 (define-public sbcl-trivial-indent
7885 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7886 (revision "0"))
7887 (package
7888 (name "sbcl-trivial-indent")
7889 (version (git-version "1.0.0" revision commit))
7890 (source
7891 (origin
7892 (method git-fetch)
7893 (uri
7894 (git-reference
7895 (url "https://github.com/Shinmera/trivial-indent")
7896 (commit commit)))
7897 (file-name (git-file-name name version))
7898 (sha256
7899 (base32
7900 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7901 (build-system asdf-build-system/sbcl)
7902 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7903 (description
7904 "This library allows you to define custom indentation hints for your
7905 macros if the one recognised by SLIME automatically produces unwanted
7906 results.")
7907 (home-page "https://shinmera.github.io/trivial-indent/")
7908 (license license:zlib))))
7909
7910 (define-public cl-trivial-indent
7911 (sbcl-package->cl-source-package sbcl-trivial-indent))
7912
7913 (define-public ecl-trivial-indent
7914 (sbcl-package->ecl-package sbcl-trivial-indent))
7915
7916 (define-public sbcl-documentation-utils
7917 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7918 (revision "0"))
7919 (package
7920 (name "sbcl-documentation-utils")
7921 (version (git-version "1.2.0" revision commit))
7922 (source
7923 (origin
7924 (method git-fetch)
7925 (uri
7926 (git-reference
7927 (url "https://github.com/Shinmera/documentation-utils")
7928 (commit commit)))
7929 (file-name (git-file-name name version))
7930 (sha256
7931 (base32
7932 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7933 (build-system asdf-build-system/sbcl)
7934 (inputs
7935 `(("trivial-indent" ,sbcl-trivial-indent)))
7936 (synopsis "Few simple tools to document Common Lisp libraries")
7937 (description
7938 "This is a small library to help you with managing the Common Lisp
7939 docstrings for your library.")
7940 (home-page "https://shinmera.github.io/documentation-utils/")
7941 (license license:zlib))))
7942
7943 (define-public cl-documentation-utils
7944 (sbcl-package->cl-source-package sbcl-documentation-utils))
7945
7946 (define-public ecl-documentation-utils
7947 (sbcl-package->ecl-package sbcl-documentation-utils))
7948
7949 (define-public sbcl-documentation-utils-extensions
7950 (let ((commit "f67f8a05d583174662a594b79356b201c1d9d750"))
7951 (package
7952 (name "sbcl-documentation-utils-extensions")
7953 (version (git-version "0.0.0" "1" commit))
7954 (source
7955 (origin
7956 (method git-fetch)
7957 (uri
7958 (git-reference
7959 (url "https://github.com/sirherrbatka/documentation-utils-extensions/")
7960 (commit commit)))
7961 (file-name (git-file-name name version))
7962 (sha256
7963 (base32
7964 "0pn45c9rbxlnhn5nvhqz6kyv0nlirwxpg4j27niwdq80yxzsn51f"))))
7965 (build-system asdf-build-system/sbcl)
7966 (inputs
7967 `(("documentation-utils" ,sbcl-documentation-utils)))
7968 (home-page "https://github.com/sirherrbatka/documentation-utils-extensions")
7969 (synopsis "Set of extensions for documentation-utils")
7970 (description
7971 "Use @code{rich-formatter} to format documentation with sections @code{:syntax},
7972 @code{:arguments}, @code{:examples}, @code{:description}, @code{:returns},
7973 @code{:side-effects}, @code{:thread-safety}, @code{:affected-by},
7974 @code{:see-also} and @code{:notes}. Gather unformatted input by using
7975 @code{rich-aggregating-formatter} and @code{*DOCUMENTATION*} variable. Find
7976 gathered documentation with find-documentation function. Execute code stored
7977 in documentation with @code{execute-documentation}. See the examples in the
7978 @code{src/documentation.lisp} file. See the @code{documentation-utils} system
7979 for more information.")
7980 (license license:expat))))
7981
7982 (define-public cl-documentation-utils-extensions
7983 (sbcl-package->cl-source-package sbcl-documentation-utils-extensions))
7984
7985 (define-public ecl-documentation-utils-extensions
7986 (sbcl-package->ecl-package sbcl-documentation-utils-extensions))
7987
7988 (define-public sbcl-form-fiddle
7989 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7990 (revision "0"))
7991 (package
7992 (name "sbcl-form-fiddle")
7993 (version (git-version "1.1.0" revision commit))
7994 (source
7995 (origin
7996 (method git-fetch)
7997 (uri
7998 (git-reference
7999 (url "https://github.com/Shinmera/form-fiddle")
8000 (commit commit)))
8001 (file-name (git-file-name name version))
8002 (sha256
8003 (base32
8004 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
8005 (build-system asdf-build-system/sbcl)
8006 (inputs
8007 `(("documentation-utils" ,sbcl-documentation-utils)))
8008 (synopsis "Utilities to destructure Common Lisp lambda forms")
8009 (description
8010 "Often times we need to destructure a form definition in a Common Lisp
8011 macro. This library provides a set of simple utilities to help with that.")
8012 (home-page "https://shinmera.github.io/form-fiddle/")
8013 (license license:zlib))))
8014
8015 (define-public cl-form-fiddle
8016 (sbcl-package->cl-source-package sbcl-form-fiddle))
8017
8018 (define-public ecl-form-fiddle
8019 (sbcl-package->ecl-package sbcl-form-fiddle))
8020
8021 (define-public sbcl-parachute
8022 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
8023 (revision "0"))
8024 (package
8025 (name "sbcl-parachute")
8026 (version (git-version "1.1.1" revision commit))
8027 (source
8028 (origin
8029 (method git-fetch)
8030 (uri
8031 (git-reference
8032 (url "https://github.com/Shinmera/parachute")
8033 (commit commit)))
8034 (file-name (git-file-name name version))
8035 (sha256
8036 (base32
8037 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
8038 (build-system asdf-build-system/sbcl)
8039 (inputs
8040 `(("documentation-utils" ,sbcl-documentation-utils)
8041 ("form-fiddle" ,sbcl-form-fiddle)))
8042 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
8043 (description
8044 "Parachute is a simple-to-use and extensible testing framework.
8045 In Parachute, things are organised as a bunch of named tests within a package.
8046 Each test can contain a bunch of test forms that make up its body.")
8047 (home-page "https://shinmera.github.io/parachute/")
8048 (license license:zlib))))
8049
8050 (define-public cl-parachute
8051 (sbcl-package->cl-source-package sbcl-parachute))
8052
8053 (define-public ecl-parachute
8054 (sbcl-package->ecl-package sbcl-parachute))
8055
8056 (define-public sbcl-array-utils
8057 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
8058 (revision "0"))
8059 (package
8060 (name "sbcl-array-utils")
8061 (version (git-version "1.1.1" revision commit))
8062 (source
8063 (origin
8064 (method git-fetch)
8065 (uri
8066 (git-reference
8067 (url "https://github.com/Shinmera/array-utils")
8068 (commit commit)))
8069 (file-name (git-file-name name version))
8070 (sha256
8071 (base32
8072 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
8073 (build-system asdf-build-system/sbcl)
8074 (native-inputs
8075 `(("parachute" ,sbcl-parachute)))
8076 (inputs
8077 `(("documentation-utils" ,sbcl-documentation-utils)))
8078 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
8079 (description
8080 "A miniature toolkit that contains some useful shifting/popping/pushing
8081 functions for arrays and vectors. Originally from Plump.")
8082 (home-page "https://shinmera.github.io/array-utils/")
8083 (license license:zlib))))
8084
8085 (define-public cl-array-utils
8086 (sbcl-package->cl-source-package sbcl-array-utils))
8087
8088 (define-public ecl-array-utils
8089 (sbcl-package->ecl-package sbcl-array-utils))
8090
8091 (define-public sbcl-plump
8092 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
8093 (revision "1"))
8094 (package
8095 (name "sbcl-plump")
8096 (version (git-version "2.0.0" revision commit))
8097 (source
8098 (origin
8099 (method git-fetch)
8100 (uri
8101 (git-reference
8102 (url "https://github.com/Shinmera/plump")
8103 (commit commit)))
8104 (file-name (git-file-name name version))
8105 (sha256
8106 (base32
8107 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
8108 (build-system asdf-build-system/sbcl)
8109 (inputs
8110 `(("array-utils" ,sbcl-array-utils)
8111 ("documentation-utils" ,sbcl-documentation-utils)))
8112 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
8113 (description
8114 "Plump is a parser for HTML/XML-like documents, focusing on being
8115 lenient towards invalid markup. It can handle things like invalid attributes,
8116 bad closing tag order, unencoded entities, inexistent tag types, self-closing
8117 tags and so on. It parses documents to a class representation and offers a
8118 small set of DOM functions to manipulate it. It can be extended to parse to
8119 your own classes.")
8120 (home-page "https://shinmera.github.io/plump/")
8121 (license license:zlib))))
8122
8123 (define-public cl-plump
8124 (sbcl-package->cl-source-package sbcl-plump))
8125
8126 (define-public ecl-plump
8127 (sbcl-package->ecl-package sbcl-plump))
8128
8129 ;;; Split the antik package in two to work around the circular dependency
8130 ;;; between antik/antik and antik/gsll.
8131 (define-public sbcl-antik-base
8132 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
8133 (revision "1"))
8134 (package
8135 (name "sbcl-antik-base")
8136 (version (git-version "0.0.0" revision commit))
8137 (source
8138 (origin
8139 (method git-fetch)
8140 (uri (git-reference
8141 (url "https://gitlab.common-lisp.net/antik/antik.git")
8142 (commit commit)))
8143 (file-name (git-file-name name version))
8144 (sha256
8145 (base32
8146 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
8147 (build-system asdf-build-system/sbcl)
8148 (inputs
8149 `(("alexandria" ,sbcl-alexandria)
8150 ("cffi" ,sbcl-cffi)
8151 ("cl-ppcre" ,sbcl-cl-ppcre)
8152 ("drakma" ,sbcl-drakma)
8153 ("fare-utils" ,sbcl-fare-utils)
8154 ("iterate" ,sbcl-iterate)
8155 ("metabang-bind" ,sbcl-metabang-bind)
8156 ("named-readtables" ,sbcl-named-readtables)
8157 ("split-sequence" ,sbcl-split-sequence)
8158 ("static-vectors" ,sbcl-static-vectors)
8159 ("trivial-garbage" ,sbcl-trivial-garbage)
8160 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
8161 (native-inputs
8162 `(("lisp-unit" ,sbcl-lisp-unit)))
8163 (arguments
8164 '(#:asd-systems '("antik-base"
8165 "foreign-array")
8166 #:phases
8167 (modify-phases %standard-phases
8168 (add-after 'unpack 'fix-build
8169 (lambda _
8170 (for-each delete-file
8171 '("antik.asd"
8172 "physical-dimension.asd"
8173 "science-data.asd"))
8174 #t)))))
8175 (synopsis "Scientific and engineering computation in Common Lisp")
8176 (description
8177 "Antik provides a foundation for scientific and engineering
8178 computation in Common Lisp. It is designed not only to facilitate
8179 numerical computations, but to permit the use of numerical computation
8180 libraries and the interchange of data and procedures, whether
8181 foreign (non-Lisp) or Lisp libraries. It is named after the
8182 Antikythera mechanism, one of the oldest examples of a scientific
8183 computer known.")
8184 (home-page "https://common-lisp.net/project/antik/")
8185 (license license:gpl3))))
8186
8187 (define-public cl-antik-base
8188 (sbcl-package->cl-source-package sbcl-antik-base))
8189
8190 (define-public ecl-antik-base
8191 (let ((pkg (sbcl-package->ecl-package sbcl-antik-base)))
8192 (package
8193 (inherit pkg)
8194 (arguments
8195 (substitute-keyword-arguments (package-arguments pkg)
8196 ((#:phases phases)
8197 `(modify-phases ,phases
8198 (add-after 'unpack 'fix-readtable
8199 (lambda _
8200 (substitute* "input-output/readtable.lisp"
8201 (("#-ccl")
8202 "#-(or ccl ecl)"))
8203 #t)))))))))
8204
8205 (define-public sbcl-gsll
8206 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
8207 (revision "1"))
8208 (package
8209 (name "sbcl-gsll")
8210 (version (git-version "0.0.0" revision commit))
8211 (source
8212 (origin
8213 (method git-fetch)
8214 (uri (git-reference
8215 (url "https://gitlab.common-lisp.net/antik/gsll.git")
8216 (commit commit)))
8217 (file-name (git-file-name name version))
8218 (sha256
8219 (base32
8220 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
8221 (build-system asdf-build-system/sbcl)
8222 (native-inputs
8223 `(("lisp-unit" ,sbcl-lisp-unit)))
8224 (inputs
8225 `(("alexandria" ,sbcl-alexandria)
8226 ("antik-base" ,sbcl-antik-base)
8227 ("cffi" ,sbcl-cffi)
8228 ("gsl" ,gsl)
8229 ("metabang-bind" ,sbcl-metabang-bind)
8230 ("trivial-features" ,sbcl-trivial-features)
8231 ("trivial-garbage" ,sbcl-trivial-garbage)))
8232 (arguments
8233 `(#:tests? #f
8234 #:phases
8235 (modify-phases %standard-phases
8236 (add-after 'unpack 'fix-cffi-paths
8237 (lambda* (#:key inputs #:allow-other-keys)
8238 (substitute* "gsll.asd"
8239 ((":depends-on \\(#:foreign-array")
8240 ":depends-on (#:foreign-array #:cffi-libffi"))
8241 (substitute* "init/init.lisp"
8242 (("libgslcblas.so" all)
8243 (string-append
8244 (assoc-ref inputs "gsl") "/lib/" all)))
8245 (substitute* "init/init.lisp"
8246 (("libgsl.so" all)
8247 (string-append
8248 (assoc-ref inputs "gsl") "/lib/" all))))))))
8249 (synopsis "GNU Scientific Library for Lisp")
8250 (description
8251 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
8252 GNU Scientific Library (GSL) from Common Lisp. This library provides a
8253 full range of common mathematical operations useful to scientific and
8254 engineering applications. The design of the GSLL interface is such
8255 that access to most of the GSL library is possible in a Lisp-natural
8256 way; the intent is that the user not be hampered by the restrictions
8257 of the C language in which GSL has been written. GSLL thus provides
8258 interactive use of GSL for getting quick answers, even for someone not
8259 intending to program in Lisp.")
8260 (home-page "https://common-lisp.net/project/gsll/")
8261 (license license:gpl3))))
8262
8263 (define-public cl-gsll
8264 (sbcl-package->cl-source-package sbcl-gsll))
8265
8266 (define-public ecl-gsll
8267 (sbcl-package->ecl-package sbcl-gsll))
8268
8269 (define-public sbcl-antik
8270 (package
8271 (inherit sbcl-antik-base)
8272 (name "sbcl-antik")
8273 (inputs
8274 `(("antik-base" ,sbcl-antik-base)
8275 ("gsll" ,sbcl-gsll)))
8276 (arguments
8277 '(#:asd-systems '("antik"
8278 "science-data")
8279 #:phases
8280 (modify-phases %standard-phases
8281 (add-after 'unpack 'fix-build
8282 (lambda _
8283 (for-each delete-file
8284 '("antik-base.asd"
8285 "foreign-array.asd"))
8286 #t)))))))
8287
8288 (define-public cl-antik
8289 (sbcl-package->cl-source-package sbcl-antik))
8290
8291 (define-public sbcl-cl-interpol
8292 (let ((commit "70a1137f41dd8889004dbab9536b1adeac2497aa")
8293 (revision "1"))
8294 (package
8295 (name "sbcl-cl-interpol")
8296 (version (git-version "0.2.7" revision commit))
8297 (source
8298 (origin
8299 (method git-fetch)
8300 (uri (git-reference
8301 (url "https://github.com/edicl/cl-interpol")
8302 (commit commit)))
8303 (file-name (git-file-name "cl-interpol" version))
8304 (sha256
8305 (base32
8306 "1kr00zf62m7la7rxa2m5w49r9cyzamc106hvjcc8ffmi7a4jw490"))))
8307 (build-system asdf-build-system/sbcl)
8308 (inputs
8309 `(("cl-unicode" ,sbcl-cl-unicode)
8310 ("named-readtables" ,sbcl-named-readtables)))
8311 (native-inputs
8312 `(("flexi-streams" ,sbcl-flexi-streams)))
8313 (synopsis "String interpolation for Common Lisp")
8314 (description
8315 "CL-INTERPOL is a library for Common Lisp which modifies the
8316 reader so that you can have interpolation within strings similar to
8317 Perl or Unix Shell scripts. It also provides various ways to insert
8318 arbitrary characters into literal strings even if your editor/IDE
8319 doesn't support them.")
8320 (home-page "https://edicl.github.io/cl-interpol/")
8321 (license license:bsd-3))))
8322
8323 (define-public cl-interpol
8324 (sbcl-package->cl-source-package sbcl-cl-interpol))
8325
8326 (define-public ecl-cl-interpol
8327 (sbcl-package->ecl-package sbcl-cl-interpol))
8328
8329 (define-public sbcl-symbol-munger
8330 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
8331 (revision "1"))
8332 (package
8333 (name "sbcl-symbol-munger")
8334 (version (git-version "0.0.1" revision commit))
8335 (source
8336 (origin
8337 (method git-fetch)
8338 (uri (git-reference
8339 (url "https://github.com/AccelerationNet/symbol-munger")
8340 (commit commit)))
8341 (file-name (git-file-name name version))
8342 (sha256
8343 (base32
8344 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
8345 (build-system asdf-build-system/sbcl)
8346 (inputs
8347 `(("alexandria" ,sbcl-alexandria)
8348 ("iterate" ,sbcl-iterate)))
8349 (arguments
8350 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8351 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8352 '(#:tests? #f))
8353 (synopsis
8354 "Capitalization and spacing conversion functions for Common Lisp")
8355 (description
8356 "This is a Common Lisp library to change the capitalization and spacing
8357 of a string or a symbol. It can convert to and from Lisp, english, underscore
8358 and camel-case rules.")
8359 (home-page "https://github.com/AccelerationNet/symbol-munger")
8360 ;; The package declares a BSD license, but all of the license
8361 ;; text is MIT.
8362 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8363 (license license:expat))))
8364
8365 (define-public cl-symbol-munger
8366 (sbcl-package->cl-source-package sbcl-symbol-munger))
8367
8368 (define-public ecl-symbol-munger
8369 (sbcl-package->ecl-package sbcl-symbol-munger))
8370
8371 (define-public sbcl-lisp-unit2
8372 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8373 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8374 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
8375 (revision "1"))
8376 (package
8377 (name "sbcl-lisp-unit2")
8378 (version (git-version "0.2.0" revision commit))
8379 (source
8380 (origin
8381 (method git-fetch)
8382 (uri (git-reference
8383 (url "https://github.com/AccelerationNet/lisp-unit2")
8384 (commit commit)))
8385 (file-name (git-file-name name version))
8386 (sha256
8387 (base32
8388 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
8389 (build-system asdf-build-system/sbcl)
8390 (inputs
8391 `(("alexandria" ,sbcl-alexandria)
8392 ("cl-interpol" ,sbcl-cl-interpol)
8393 ("iterate" ,sbcl-iterate)
8394 ("symbol-munger" ,sbcl-symbol-munger)))
8395 (synopsis "Test Framework for Common Lisp")
8396 (description
8397 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
8398 style of JUnit for Java. It is a new version of the lisp-unit library written
8399 by Chris Riesbeck.")
8400 (home-page "https://github.com/AccelerationNet/lisp-unit2")
8401 (license license:expat))))
8402
8403 (define-public cl-lisp-unit2
8404 (sbcl-package->cl-source-package sbcl-lisp-unit2))
8405
8406 (define-public ecl-lisp-unit2
8407 (sbcl-package->ecl-package sbcl-lisp-unit2))
8408
8409 (define-public sbcl-cl-csv
8410 (let ((commit "68ecb5d816545677513d7f6308d9e5e8d2265651")
8411 (revision "2"))
8412 (package
8413 (name "sbcl-cl-csv")
8414 (version (git-version "1.0.6" revision commit))
8415 (source
8416 (origin
8417 (method git-fetch)
8418 (uri (git-reference
8419 (url "https://github.com/AccelerationNet/cl-csv")
8420 (commit commit)))
8421 (file-name (git-file-name name version))
8422 (sha256
8423 (base32
8424 "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x"))))
8425 (build-system asdf-build-system/sbcl)
8426 (arguments
8427 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8428 `(#:tests? #f))
8429 (inputs
8430 `(("alexandria" ,sbcl-alexandria)
8431 ("cl-interpol" ,sbcl-cl-interpol)
8432 ("iterate" ,sbcl-iterate)))
8433 (native-inputs
8434 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8435 (synopsis "Common lisp library for comma-separated values")
8436 (description
8437 "This is a Common Lisp library providing functions to read/write CSV
8438 from/to strings, streams and files.")
8439 (home-page "https://github.com/AccelerationNet/cl-csv")
8440 (license license:bsd-3))))
8441
8442 (define-public cl-csv
8443 (sbcl-package->cl-source-package sbcl-cl-csv))
8444
8445 (define-public ecl-cl-csv
8446 (sbcl-package->ecl-package sbcl-cl-csv))
8447
8448 (define-public sbcl-external-program
8449 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8450 (revision "1"))
8451 (package
8452 (name "sbcl-external-program")
8453 (version (git-version "0.0.6" revision commit))
8454 (source
8455 (origin
8456 (method git-fetch)
8457 (uri (git-reference
8458 (url "https://github.com/sellout/external-program")
8459 (commit commit)))
8460 (file-name (git-file-name name version))
8461 (sha256
8462 (base32
8463 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8464 (build-system asdf-build-system/sbcl)
8465 (inputs
8466 `(("trivial-features" ,sbcl-trivial-features)))
8467 (native-inputs
8468 `(("fiveam" ,sbcl-fiveam)))
8469 (synopsis "Common Lisp library for running external programs")
8470 (description
8471 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8472 process. It is an attempt to make the RUN-PROGRAM functionality in
8473 implementations like SBCL and CCL as portable as possible without
8474 sacrificing much in the way of power.")
8475 (home-page "https://github.com/sellout/external-program")
8476 (license license:llgpl))))
8477
8478 (define-public cl-external-program
8479 (sbcl-package->cl-source-package sbcl-external-program))
8480
8481 (define-public ecl-external-program
8482 (sbcl-package->ecl-package sbcl-external-program))
8483
8484 (define-public sbcl-cl-ana
8485 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8486 (revision "1"))
8487 (package
8488 (name "sbcl-cl-ana")
8489 (version (git-version "0.0.0" revision commit))
8490 (source
8491 (origin
8492 (method git-fetch)
8493 (uri (git-reference
8494 (url "https://github.com/ghollisjr/cl-ana")
8495 (commit commit)))
8496 (file-name (git-file-name name version))
8497 (sha256
8498 (base32 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8499 (build-system asdf-build-system/sbcl)
8500 (native-inputs
8501 `(("cl-fad" ,sbcl-cl-fad)))
8502 (inputs
8503 `(("alexandria" ,sbcl-alexandria)
8504 ("antik" ,sbcl-antik)
8505 ("cffi" ,sbcl-cffi)
8506 ("cl-csv" ,sbcl-cl-csv)
8507 ("closer-mop" ,sbcl-closer-mop)
8508 ("external-program" ,sbcl-external-program)
8509 ("gsl" ,gsl)
8510 ("gsll" ,sbcl-gsll)
8511 ("hdf5" ,hdf5-parallel-openmpi)
8512 ("iterate" ,sbcl-iterate)
8513 ("libffi" ,libffi)
8514 ("split-sequence" ,sbcl-split-sequence)))
8515 (arguments
8516 `(#:phases
8517 (modify-phases %standard-phases
8518 (add-after 'unpack 'fix-paths
8519 (lambda* (#:key inputs #:allow-other-keys)
8520 (substitute* "hdf-cffi/hdf-cffi.lisp"
8521 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8522 (string-append (assoc-ref inputs "hdf5")
8523 "/lib/libhdf5.so")))
8524 (substitute* "gsl-cffi/gsl-cffi.lisp"
8525 (("define-foreign-library gsl-cffi" all)
8526 (string-append all " (:unix "
8527 (assoc-ref inputs "gsl")
8528 "/lib/libgsl.so)")))
8529 #t)))))
8530 (synopsis "Common Lisp data analysis library")
8531 (description
8532 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8533 binned data analysis along with nonlinear least squares fitting and
8534 visualization.")
8535 (home-page "https://github.com/ghollisjr/cl-ana")
8536 (license license:gpl3))))
8537
8538 (define-public cl-ana
8539 (sbcl-package->cl-source-package sbcl-cl-ana))
8540
8541 (define-public sbcl-archive
8542 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
8543 (revision "1"))
8544 (package
8545 (name "sbcl-archive")
8546 (version (git-version "0.9" revision commit))
8547 (source (origin
8548 (method git-fetch)
8549 (uri (git-reference
8550 (url "https://github.com/sharplispers/archive")
8551 (commit commit)))
8552 (file-name (git-file-name name version))
8553 (sha256
8554 (base32
8555 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
8556 (build-system asdf-build-system/sbcl)
8557 (inputs
8558 `(("cl-fad" ,sbcl-cl-fad)
8559 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
8560 (synopsis "Common Lisp library for tar and cpio archives")
8561 (description
8562 "This is a Common Lisp library to read and write disk-based file
8563 archives such as those generated by the tar and cpio programs on Unix.")
8564 (home-page "https://github.com/sharplispers/archive")
8565 (license license:bsd-3))))
8566
8567 (define-public cl-archive
8568 (sbcl-package->cl-source-package sbcl-archive))
8569
8570 (define-public ecl-archive
8571 (sbcl-package->ecl-package sbcl-archive))
8572
8573 (define-public sbcl-misc-extensions
8574 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
8575 (revision "1"))
8576 (package
8577 (name "sbcl-misc-extensions")
8578 (version (git-version "3.3" revision commit))
8579 (source
8580 (origin
8581 (method git-fetch)
8582 (uri (git-reference
8583 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
8584 (commit commit)))
8585 (file-name (git-file-name name version))
8586 (sha256
8587 (base32
8588 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
8589 (build-system asdf-build-system/sbcl)
8590 (synopsis "Collection of small macros and extensions for Common Lisp")
8591 (description
8592 "This project is intended as a catchall for small, general-purpose
8593 extensions to Common Lisp. It contains:
8594
8595 @itemize
8596 @item @code{new-let}, a macro that combines and generalizes @code{let},
8597 @code{let*} and @code{multiple-value-bind},
8598 @item @code{gmap}, an iteration macro that generalizes @code{map}.
8599 @end itemize\n")
8600 (home-page "https://common-lisp.net/project/misc-extensions/")
8601 (license license:public-domain))))
8602
8603 (define-public cl-misc-extensions
8604 (sbcl-package->cl-source-package sbcl-misc-extensions))
8605
8606 (define-public ecl-misc-extensions
8607 (sbcl-package->ecl-package sbcl-misc-extensions))
8608
8609 (define-public sbcl-mt19937
8610 (package
8611 (name "sbcl-mt19937")
8612 (version "1.1")
8613 (source
8614 (origin
8615 (method url-fetch)
8616 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
8617 "mt19937-latest.tar.gz"))
8618 (sha256
8619 (base32
8620 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
8621 (build-system asdf-build-system/sbcl)
8622 (synopsis "Mersenne Twister pseudo-random number generator")
8623 (description
8624 "MT19937 is a portable Mersenne Twister pseudo-random number generator
8625 for Common Lisp.")
8626 (home-page "https://www.cliki.net/mt19937")
8627 (license license:public-domain)))
8628
8629 (define-public cl-mt19937
8630 (sbcl-package->cl-source-package sbcl-mt19937))
8631
8632 (define-public ecl-mt19937
8633 (sbcl-package->ecl-package sbcl-mt19937))
8634
8635 (define-public sbcl-fset
8636 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
8637 (revision "1"))
8638 (package
8639 (name "sbcl-fset")
8640 (version (git-version "1.3.2" revision commit))
8641 (source
8642 (origin
8643 (method git-fetch)
8644 (uri (git-reference
8645 (url "https://github.com/slburson/fset")
8646 (commit commit)))
8647 (file-name (git-file-name name version))
8648 (sha256
8649 (base32
8650 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
8651 (snippet '(begin
8652 ;; Remove obsolete copy of system definition.
8653 (delete-file "Code/fset.asd")
8654 #t))))
8655 (build-system asdf-build-system/sbcl)
8656 (inputs
8657 `(("misc-extensions" ,sbcl-misc-extensions)
8658 ("mt19937" ,sbcl-mt19937)
8659 ("named-readtables" ,sbcl-named-readtables)))
8660 (synopsis "Functional set-theoretic collections library")
8661 (description
8662 "FSet is a functional set-theoretic collections library for Common Lisp.
8663 Functional means that all update operations return a new collection rather than
8664 modifying an existing one in place. Set-theoretic means that collections may
8665 be nested arbitrarily with no additional programmer effort; for instance, sets
8666 may contain sets, maps may be keyed by sets, etc.")
8667 (home-page "https://common-lisp.net/project/fset/Site/index.html")
8668 (license license:llgpl))))
8669
8670 (define-public cl-fset
8671 (sbcl-package->cl-source-package sbcl-fset))
8672
8673 (define-public ecl-fset
8674 (package
8675 (inherit (sbcl-package->ecl-package sbcl-fset))
8676 (arguments
8677 ;; Tests fails on ECL with "The function FSET::MAKE-CHAR is undefined".
8678 '(#:tests? #f))))
8679
8680 (define-public sbcl-cl-cont
8681 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
8682 (revision "1"))
8683 (package
8684 (name "sbcl-cl-cont")
8685 (version (git-version "0.3.8" revision commit))
8686 (source
8687 (origin
8688 (method git-fetch)
8689 (uri (git-reference
8690 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
8691 (commit commit)))
8692 (file-name (git-file-name name version))
8693 (sha256
8694 (base32
8695 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
8696 (build-system asdf-build-system/sbcl)
8697 (inputs
8698 `(("alexandria" ,sbcl-alexandria)
8699 ("closer-mop" ,sbcl-closer-mop)))
8700 (native-inputs
8701 `(("rt" ,sbcl-rt)))
8702 (synopsis "Delimited continuations for Common Lisp")
8703 (description
8704 "This is a library that implements delimited continuations by
8705 transforming Common Lisp code to continuation passing style.")
8706 (home-page "https://common-lisp.net/project/cl-cont/")
8707 (license license:llgpl))))
8708
8709 (define-public cl-cont
8710 (sbcl-package->cl-source-package sbcl-cl-cont))
8711
8712 (define-public ecl-cl-cont
8713 (sbcl-package->ecl-package sbcl-cl-cont))
8714
8715 (define-public sbcl-cl-coroutine
8716 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
8717 (revision "1"))
8718 (package
8719 (name "sbcl-cl-coroutine")
8720 (version (git-version "0.1" revision commit))
8721 (source
8722 (origin
8723 (method git-fetch)
8724 (uri (git-reference
8725 (url "https://github.com/takagi/cl-coroutine")
8726 (commit commit)))
8727 (file-name (git-file-name name version))
8728 (sha256
8729 (base32
8730 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
8731 (build-system asdf-build-system/sbcl)
8732 (inputs
8733 `(("alexandria" ,sbcl-alexandria)
8734 ("cl-cont" ,sbcl-cl-cont)))
8735 (native-inputs
8736 `(("prove" ,sbcl-prove)))
8737 (arguments
8738 `(;; TODO: Fix the tests. They fail with:
8739 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
8740 #:tests? #f
8741 #:phases
8742 (modify-phases %standard-phases
8743 (add-after 'unpack 'fix-tests
8744 (lambda _
8745 (substitute* "cl-coroutine-test.asd"
8746 (("cl-test-more")
8747 "prove"))
8748 #t)))))
8749 (synopsis "Coroutine library for Common Lisp")
8750 (description
8751 "This is a coroutine library for Common Lisp implemented using the
8752 continuations of the @code{cl-cont} library.")
8753 (home-page "https://github.com/takagi/cl-coroutine")
8754 (license license:llgpl))))
8755
8756 (define-public cl-coroutine
8757 (sbcl-package->cl-source-package sbcl-cl-coroutine))
8758
8759 (define-public ecl-cl-coroutine
8760 (sbcl-package->ecl-package sbcl-cl-coroutine))
8761
8762 (define-public sbcl-vas-string-metrics
8763 (let ((commit "f2e4500b180316123fbd549bd51c751ee2d6ba0f")
8764 (revision "1"))
8765 (package
8766 (name "sbcl-vas-string-metrics")
8767 (version (git-version "0.0.0" revision commit))
8768 (source
8769 (origin
8770 (method git-fetch)
8771 (uri (git-reference
8772 (url "https://github.com/vsedach/vas-string-metrics")
8773 (commit commit)))
8774 (file-name (git-file-name "vas-string-metrics" version))
8775 (sha256
8776 (base32 "11fcnd03ybzz37rkg3z0wsb727yqgcd9gn70sccfb34l89ia279k"))))
8777 (build-system asdf-build-system/sbcl)
8778 (arguments
8779 `(#:test-asd-file "test.vas-string-metrics.asd"))
8780 (home-page "https://github.com/vsedach/vas-string-metrics")
8781 (synopsis "String distance algorithms for Common Lisp")
8782 (description
8783 "VAS-STRING-METRICS provides the Jaro, Jaro-Winkler, Soerensen-Dice,
8784 Levenshtein, and normalized Levenshtein string distance/similarity metrics
8785 algorithms.")
8786 (license license:lgpl3+))))
8787
8788 (define-public ecl-vas-string-metrics
8789 (sbcl-package->ecl-package sbcl-vas-string-metrics))
8790
8791 (define-public cl-vas-string-metrics
8792 (sbcl-package->cl-source-package sbcl-vas-string-metrics))
8793
8794 (define-public sbcl-vom
8795 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
8796 (revision "1"))
8797 (package
8798 (name "sbcl-vom")
8799 (version (git-version "0.1.4" revision commit))
8800 (source
8801 (origin
8802 (method git-fetch)
8803 (uri (git-reference
8804 (url "https://github.com/orthecreedence/vom")
8805 (commit commit)))
8806 (file-name (git-file-name name version))
8807 (sha256
8808 (base32
8809 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
8810 (build-system asdf-build-system/sbcl)
8811 (synopsis "Tiny logging utility for Common Lisp")
8812 (description
8813 "Vom is a logging library for Common Lisp. It's goal is to be useful
8814 and small. It does not provide a lot of features as other loggers do, but
8815 has a small codebase that's easy to understand and use.")
8816 (home-page "https://github.com/orthecreedence/vom")
8817 (license license:expat))))
8818
8819 (define-public cl-vom
8820 (sbcl-package->cl-source-package sbcl-vom))
8821
8822 (define-public ecl-vom
8823 (sbcl-package->ecl-package sbcl-vom))
8824
8825 (define-public sbcl-cl-libuv
8826 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
8827 (revision "1"))
8828 (package
8829 (name "sbcl-cl-libuv")
8830 (version (git-version "0.1.6" revision commit))
8831 (source
8832 (origin
8833 (method git-fetch)
8834 (uri (git-reference
8835 (url "https://github.com/orthecreedence/cl-libuv")
8836 (commit commit)))
8837 (file-name (git-file-name name version))
8838 (sha256
8839 (base32
8840 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
8841 (build-system asdf-build-system/sbcl)
8842 (inputs
8843 `(("alexandria" ,sbcl-alexandria)
8844 ("cffi" ,sbcl-cffi)
8845 ("libuv" ,libuv)))
8846 (arguments
8847 `(#:phases
8848 (modify-phases %standard-phases
8849 (add-after 'unpack 'fix-paths
8850 (lambda* (#:key inputs #:allow-other-keys)
8851 (substitute* "lib.lisp"
8852 (("/usr/lib/libuv.so")
8853 (string-append (assoc-ref inputs "libuv")
8854 "/lib/libuv.so")))
8855 #t))
8856 (add-after 'fix-paths 'fix-system-definition
8857 (lambda _
8858 (substitute* "cl-libuv.asd"
8859 (("#:cffi #:alexandria")
8860 "#:cffi #:cffi-grovel #:alexandria"))
8861 #t)))))
8862 (synopsis "Common Lisp bindings to libuv")
8863 (description
8864 "This library provides low-level libuv bindings for Common Lisp.")
8865 (home-page "https://github.com/orthecreedence/cl-libuv")
8866 (license license:expat))))
8867
8868 (define-public cl-libuv
8869 (sbcl-package->cl-source-package sbcl-cl-libuv))
8870
8871 (define-public ecl-cl-libuv
8872 (sbcl-package->ecl-package sbcl-cl-libuv))
8873
8874 (define-public sbcl-cl-async
8875 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
8876 (revision "1"))
8877 (package
8878 (name "sbcl-cl-async")
8879 (version (git-version "0.6.1" revision commit))
8880 (source
8881 (origin
8882 (method git-fetch)
8883 (uri (git-reference
8884 (url "https://github.com/orthecreedence/cl-async")
8885 (commit commit)))
8886 (file-name (git-file-name name version))
8887 (sha256
8888 (base32
8889 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
8890 (build-system asdf-build-system/sbcl)
8891 (inputs
8892 `(("babel" ,sbcl-babel)
8893 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8894 ("cffi" ,sbcl-cffi)
8895 ("cl-libuv" ,sbcl-cl-libuv)
8896 ("cl-ppcre" ,sbcl-cl-ppcre)
8897 ("fast-io" ,sbcl-fast-io)
8898 ("openssl" ,openssl)
8899 ("static-vectors" ,sbcl-static-vectors)
8900 ("trivial-features" ,sbcl-trivial-features)
8901 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
8902 ("vom" ,sbcl-vom)))
8903 (arguments
8904 `(#:asd-systems '("cl-async"
8905 "cl-async-repl"
8906 "cl-async-ssl")
8907 #:phases
8908 (modify-phases %standard-phases
8909 (add-after 'unpack 'fix-paths
8910 (lambda* (#:key inputs #:allow-other-keys)
8911 (substitute* "src/ssl/package.lisp"
8912 (("libcrypto\\.so")
8913 (string-append (assoc-ref inputs "openssl")
8914 "/lib/libcrypto.so"))
8915 (("libssl\\.so")
8916 (string-append (assoc-ref inputs "openssl")
8917 "/lib/libssl.so")))
8918 #t)))))
8919 (synopsis "Asynchronous operations for Common Lisp")
8920 (description
8921 "Cl-async is a library for general purpose, non-blocking programming in
8922 Common Lisp. It uses the libuv library as backend.")
8923 (home-page "https://orthecreedence.github.io/cl-async/")
8924 (license license:expat))))
8925
8926 (define-public cl-async
8927 (sbcl-package->cl-source-package sbcl-cl-async))
8928
8929 (define-public ecl-cl-async
8930 (sbcl-package->ecl-package sbcl-cl-async))
8931
8932 (define-public sbcl-blackbird
8933 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
8934 (revision "1"))
8935 (package
8936 (name "sbcl-blackbird")
8937 (version (git-version "0.5.2" revision commit))
8938 (source
8939 (origin
8940 (method git-fetch)
8941 (uri (git-reference
8942 (url "https://github.com/orthecreedence/blackbird")
8943 (commit commit)))
8944 (file-name (git-file-name name version))
8945 (sha256
8946 (base32
8947 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
8948 (build-system asdf-build-system/sbcl)
8949 (inputs
8950 `(("vom" ,sbcl-vom)))
8951 (native-inputs
8952 `(("cl-async" ,sbcl-cl-async)
8953 ("fiveam" ,sbcl-fiveam)))
8954 (synopsis "Promise implementation for Common Lisp")
8955 (description
8956 "This is a standalone promise implementation for Common Lisp. It is
8957 the successor to the now-deprecated cl-async-future project.")
8958 (home-page "https://orthecreedence.github.io/blackbird/")
8959 (license license:expat))))
8960
8961 (define-public cl-blackbird
8962 (sbcl-package->cl-source-package sbcl-blackbird))
8963
8964 (define-public ecl-blackbird
8965 (sbcl-package->ecl-package sbcl-blackbird))
8966
8967 (define-public sbcl-cl-async-future
8968 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
8969 (revision "1"))
8970 (package
8971 (name "sbcl-cl-async-future")
8972 (version (git-version "0.4.4.1" revision commit))
8973 (source
8974 (origin
8975 (method git-fetch)
8976 (uri (git-reference
8977 (url "https://github.com/orthecreedence/cl-async-future")
8978 (commit commit)))
8979 (file-name (git-file-name name version))
8980 (sha256
8981 (base32
8982 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
8983 (build-system asdf-build-system/sbcl)
8984 (inputs
8985 `(("blackbird" ,sbcl-blackbird)))
8986 (native-inputs
8987 `(("cl-async" ,sbcl-cl-async)
8988 ("eos" ,sbcl-eos)))
8989 (synopsis "Futures implementation for Common Lisp")
8990 (description
8991 "This is futures implementation for Common Lisp. It plugs in nicely
8992 to cl-async.")
8993 (home-page "https://orthecreedence.github.io/cl-async/future")
8994 (license license:expat))))
8995
8996 (define-public cl-async-future
8997 (sbcl-package->cl-source-package sbcl-cl-async-future))
8998
8999 (define-public ecl-cl-async-future
9000 (sbcl-package->ecl-package sbcl-cl-async-future))
9001
9002 (define-public sbcl-green-threads
9003 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
9004 (revision "1"))
9005 (package
9006 (name "sbcl-green-threads")
9007 (version (git-version "0.3" revision commit))
9008 (source
9009 (origin
9010 (method git-fetch)
9011 (uri (git-reference
9012 (url "https://github.com/thezerobit/green-threads")
9013 (commit commit)))
9014 (file-name (git-file-name name version))
9015 (sha256
9016 (base32
9017 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
9018 (build-system asdf-build-system/sbcl)
9019 (inputs
9020 `(("cl-async-future" ,sbcl-cl-async-future)
9021 ("cl-cont" ,sbcl-cl-cont)))
9022 (native-inputs
9023 `(("prove" ,sbcl-prove)))
9024 (arguments
9025 `(;; TODO: Fix the tests. They fail with:
9026 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
9027 #:tests? #f
9028 #:phases
9029 (modify-phases %standard-phases
9030 (add-after 'unpack 'fix-tests
9031 (lambda _
9032 (substitute* "green-threads-test.asd"
9033 (("cl-test-more")
9034 "prove"))
9035 #t)))))
9036 (synopsis "Cooperative multitasking library for Common Lisp")
9037 (description
9038 "This library allows for cooperative multitasking with help of cl-cont
9039 for continuations. It tries to mimic the API of bordeaux-threads as much as
9040 possible.")
9041 (home-page "https://github.com/thezerobit/green-threads")
9042 (license license:bsd-3))))
9043
9044 (define-public cl-green-threads
9045 (sbcl-package->cl-source-package sbcl-green-threads))
9046
9047 (define-public ecl-green-threads
9048 (sbcl-package->ecl-package sbcl-green-threads))
9049
9050 (define-public sbcl-cl-base32
9051 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
9052 (revision "1"))
9053 (package
9054 (name "sbcl-cl-base32")
9055 (version (git-version "0.1" revision commit))
9056 (source
9057 (origin
9058 (method git-fetch)
9059 (uri (git-reference
9060 (url "https://github.com/hargettp/cl-base32")
9061 (commit commit)))
9062 (file-name (git-file-name name version))
9063 (sha256
9064 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
9065 (build-system asdf-build-system/sbcl)
9066 (native-inputs
9067 `(("lisp-unit" ,sbcl-lisp-unit)))
9068 (synopsis "Common Lisp library for base32 encoding and decoding")
9069 (description
9070 "This package provides functions for base32 encoding and decoding as
9071 defined in RFC4648.")
9072 (home-page "https://github.com/hargettp/cl-base32")
9073 (license license:expat))))
9074
9075 (define-public cl-base32
9076 (sbcl-package->cl-source-package sbcl-cl-base32))
9077
9078 (define-public ecl-cl-base32
9079 (sbcl-package->ecl-package sbcl-cl-base32))
9080
9081 (define-public sbcl-cl-z85
9082 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
9083 (revision "1"))
9084 (package
9085 (name "sbcl-cl-z85")
9086 (version (git-version "1.0" revision commit))
9087 (source
9088 (origin
9089 (method git-fetch)
9090 (uri (git-reference
9091 (url "https://github.com/glv2/cl-z85")
9092 (commit commit)))
9093 (file-name (git-file-name name version))
9094 (sha256
9095 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
9096 (build-system asdf-build-system/sbcl)
9097 (native-inputs
9098 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
9099 ("fiveam" ,sbcl-fiveam)))
9100 (synopsis "Common Lisp library for Z85 encoding and decoding")
9101 (description
9102 "This package provides functions to encode or decode byte vectors or
9103 byte streams using the Z85 format, which is a base-85 encoding used by
9104 ZeroMQ.")
9105 (home-page "https://github.com/glv2/cl-z85")
9106 (license license:gpl3+))))
9107
9108 (define-public cl-z85
9109 (sbcl-package->cl-source-package sbcl-cl-z85))
9110
9111 (define-public ecl-cl-z85
9112 (sbcl-package->ecl-package sbcl-cl-z85))
9113
9114 (define-public sbcl-ltk
9115 (package
9116 (name "sbcl-ltk")
9117 (version "0.992")
9118 (source
9119 (origin
9120 (method git-fetch)
9121 (uri (git-reference
9122 (url "https://github.com/herth/ltk")
9123 (commit version)))
9124 (file-name (git-file-name name version))
9125 (sha256
9126 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
9127 (build-system asdf-build-system/sbcl)
9128 (inputs
9129 `(("imagemagick" ,imagemagick)
9130 ("tk" ,tk)))
9131 (arguments
9132 `(#:asd-systems '("ltk"
9133 "ltk-mw"
9134 "ltk-remote")
9135 #:tests? #f
9136 #:phases
9137 (modify-phases %standard-phases
9138 (add-after 'unpack 'fix-paths
9139 (lambda* (#:key inputs #:allow-other-keys)
9140 (substitute* "ltk/ltk.lisp"
9141 (("#-freebsd \"wish\"")
9142 (string-append "#-freebsd \""
9143 (assoc-ref inputs "tk")
9144 "/bin/wish\""))
9145 (("do-execute \"convert\"")
9146 (string-append "do-execute \""
9147 (assoc-ref inputs "imagemagick")
9148 "/bin/convert\"")))
9149 #t))
9150 (add-after 'unpack 'fix-build
9151 (lambda _
9152 (substitute* "ltk/ltk-remote.lisp"
9153 (("\\(:export")
9154 "(:shadow #:raise) (:export"))
9155 #t)))))
9156 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9157 (description
9158 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
9159 in pure Common Lisp and does not require any Tk knowledge for its usage.")
9160 (home-page "http://www.peter-herth.de/ltk/")
9161 (license license:llgpl)))
9162
9163 (define-public cl-ltk
9164 (sbcl-package->cl-source-package sbcl-ltk))
9165
9166 (define-public ecl-ltk
9167 (sbcl-package->ecl-package sbcl-ltk))
9168
9169 (define-public sbcl-cl-lex
9170 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
9171 (revision "1"))
9172 (package
9173 (name "sbcl-cl-lex")
9174 (version (git-version "1.1.3" revision commit))
9175 (source
9176 (origin
9177 (method git-fetch)
9178 (uri (git-reference
9179 (url "https://github.com/djr7C4/cl-lex")
9180 (commit commit)))
9181 (file-name (git-file-name name version))
9182 (sha256
9183 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
9184 (build-system asdf-build-system/sbcl)
9185 (inputs
9186 `(("cl-ppcre" ,sbcl-cl-ppcre)))
9187 (synopsis "Common Lisp macros for generating lexical analyzers")
9188 (description
9189 "This is a Common Lisp library providing a set of macros for generating
9190 lexical analyzers automatically. The lexers generated using @code{cl-lex} can
9191 be used with @code{cl-yacc}.")
9192 (home-page "https://github.com/djr7C4/cl-lex")
9193 (license license:gpl3))))
9194
9195 (define-public cl-lex
9196 (sbcl-package->cl-source-package sbcl-cl-lex))
9197
9198 (define-public ecl-cl-lex
9199 (sbcl-package->ecl-package sbcl-cl-lex))
9200
9201 (define-public sbcl-clunit2
9202 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
9203 (revision "1"))
9204 (package
9205 (name "sbcl-clunit2")
9206 (version (git-version "0.2.4" revision commit))
9207 (source
9208 (origin
9209 (method git-fetch)
9210 (uri (git-reference
9211 (url "https://notabug.org/cage/clunit2.git")
9212 (commit commit)))
9213 (file-name (git-file-name name version))
9214 (sha256
9215 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
9216 (build-system asdf-build-system/sbcl)
9217 (synopsis "Unit testing framework for Common Lisp")
9218 (description
9219 "CLUnit is a Common Lisp unit testing framework. It is designed to be
9220 easy to use so that you can quickly start testing.")
9221 (home-page "https://notabug.org/cage/clunit2")
9222 (license license:expat))))
9223
9224 (define-public cl-clunit2
9225 (sbcl-package->cl-source-package sbcl-clunit2))
9226
9227 (define-public ecl-clunit2
9228 (sbcl-package->ecl-package sbcl-clunit2))
9229
9230 (define-public sbcl-cl-colors2
9231 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
9232 (revision "1"))
9233 (package
9234 (name "sbcl-cl-colors2")
9235 (version (git-version "0.2.1" revision commit))
9236 (source
9237 (origin
9238 (method git-fetch)
9239 (uri (git-reference
9240 (url "https://notabug.org/cage/cl-colors2.git")
9241 (commit commit)))
9242 (file-name (git-file-name name version))
9243 (sha256
9244 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
9245 (build-system asdf-build-system/sbcl)
9246 (native-inputs
9247 `(("clunit2" ,sbcl-clunit2)))
9248 (inputs
9249 `(("alexandria" ,sbcl-alexandria)
9250 ("cl-ppcre" ,sbcl-cl-ppcre)))
9251 (synopsis "Color library for Common Lisp")
9252 (description
9253 "This is a very simple color library for Common Lisp, providing:
9254
9255 @itemize
9256 @item Types for representing colors in HSV and RGB spaces.
9257 @item Simple conversion functions between the above types (and also
9258 hexadecimal representation for RGB).
9259 @item Some predefined colors (currently X11 color names -- of course
9260 the library does not depend on X11).
9261 @end itemize\n")
9262 (home-page "https://notabug.org/cage/cl-colors2")
9263 (license license:boost1.0))))
9264
9265 (define-public cl-colors2
9266 (sbcl-package->cl-source-package sbcl-cl-colors2))
9267
9268 (define-public ecl-cl-colors2
9269 (sbcl-package->ecl-package sbcl-cl-colors2))
9270
9271 (define-public sbcl-cl-jpeg
9272 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
9273 (revision "1"))
9274 (package
9275 (name "sbcl-cl-jpeg")
9276 (version (git-version "2.8" revision commit))
9277 (source
9278 (origin
9279 (method git-fetch)
9280 (uri (git-reference
9281 (url "https://github.com/sharplispers/cl-jpeg")
9282 (commit commit)))
9283 (file-name (git-file-name name version))
9284 (sha256
9285 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
9286 (build-system asdf-build-system/sbcl)
9287 (synopsis "JPEG image library for Common Lisp")
9288 (description
9289 "This is a baseline JPEG codec written in Common Lisp. It can be used
9290 for reading and writing JPEG image files.")
9291 (home-page "https://github.com/sharplispers/cl-jpeg")
9292 (license license:bsd-3))))
9293
9294 (define-public cl-jpeg
9295 (sbcl-package->cl-source-package sbcl-cl-jpeg))
9296
9297 (define-public ecl-cl-jpeg
9298 (sbcl-package->ecl-package sbcl-cl-jpeg))
9299
9300 (define-public sbcl-png
9301 (let ((commit "11b965fe378fd0561abe3616b18ff03af5179648")
9302 (revision "1"))
9303 (package
9304 (name "sbcl-png")
9305 (version (git-version "0.6" revision commit))
9306 (source
9307 (origin
9308 (method git-fetch)
9309 (uri (git-reference
9310 (url "https://github.com/ljosa/cl-png")
9311 (commit commit)))
9312 (file-name (git-file-name "cl-png" version))
9313 (sha256
9314 (base32 "173hqwpd0rwqf95mfx1h9l9c3i8bb0gvnpspzmmz3g5x3440czy4"))))
9315 (build-system asdf-build-system/sbcl)
9316 (arguments
9317 `(#:phases
9318 (modify-phases %standard-phases
9319 (add-after 'unpack 'fix-lib-paths
9320 (lambda* (#:key inputs #:allow-other-keys)
9321 (substitute* "libpng.lisp"
9322 (("\"libpng\"")
9323 (string-append "\""
9324 (assoc-ref inputs "libpng")
9325 "/lib/libpng\""))))))))
9326 (inputs
9327 `(("cffi" ,sbcl-cffi)
9328 ("libpng" ,libpng)))
9329 (home-page "https://github.com/ljosa/cl-png")
9330 (synopsis "Read and write PNG file format")
9331 (description
9332 "This package provides a @code{PNG} Common Lisp system to operate with
9333 Portable Network Graphics file format.")
9334 (license license:lgpl2.1))))
9335
9336 (define-public ecl-png
9337 (sbcl-package->ecl-package sbcl-png))
9338
9339 (define-public cl-png
9340 (sbcl-package->cl-source-package sbcl-png))
9341
9342 (define-public sbcl-cl-svg
9343 (let ((commit "1e988ebd2d6e2ee7be4744208828ef1b59e5dcdc")
9344 (revision "1"))
9345 (package
9346 (name "sbcl-cl-svg")
9347 (version (git-version "0.0.3" revision commit))
9348 (source
9349 (origin
9350 (method git-fetch)
9351 (uri (git-reference
9352 (url "https://github.com/wmannis/cl-svg")
9353 (commit commit)))
9354 (file-name (git-file-name "cl-svg" version))
9355 (sha256
9356 (base32 "11rmzimy6j7ln7q5y1h2kw1225rsfb6fpn89qjcq7h5lc8fay0wz"))))
9357 (build-system asdf-build-system/sbcl)
9358 (home-page "https://github.com/wmannis/cl-svg")
9359 (synopsis "Write SVG file format")
9360 (description
9361 "This package provides the @code{CL-SVG} Common Lisp system to produce
9362 Scalable Vector Graphics files.")
9363 (license license:expat))))
9364
9365 (define-public ecl-cl-svg
9366 (sbcl-package->ecl-package sbcl-cl-svg))
9367
9368 (define-public cl-svg
9369 (sbcl-package->cl-source-package sbcl-cl-svg))
9370
9371 (define-public sbcl-nodgui
9372 (let ((commit "4a9c2e7714b278fbe97d198c56f54ea87290001d")
9373 (revision "1"))
9374 (package
9375 (name "sbcl-nodgui")
9376 (version (git-version "0.1.1" revision commit))
9377 (source
9378 (origin
9379 (method git-fetch)
9380 (uri (git-reference
9381 (url "https://notabug.org/cage/nodgui.git")
9382 (commit commit)))
9383 (file-name (git-file-name "nodgui" version))
9384 (sha256
9385 (base32 "1vgzzw459h32v2mi41cia6i940jqmvxlc8w3xj3516hbc2mqkaib"))))
9386 (build-system asdf-build-system/sbcl)
9387 (inputs
9388 `(("alexandria" ,sbcl-alexandria)
9389 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9390 ("cl-colors2" ,sbcl-cl-colors2)
9391 ("cl-jpeg" ,sbcl-cl-jpeg)
9392 ("cl-lex" ,sbcl-cl-lex)
9393 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
9394 ("cl-unicode" ,sbcl-cl-unicode)
9395 ("cl-yacc" ,sbcl-cl-yacc)
9396 ("clunit2" ,sbcl-clunit2)
9397 ("named-readtables" ,sbcl-named-readtables)
9398 ("parse-number" ,sbcl-parse-number)
9399 ("tk" ,tk)))
9400 (arguments
9401 `(#:phases (modify-phases %standard-phases
9402 (add-after 'unpack 'fix-paths
9403 (lambda* (#:key inputs #:allow-other-keys)
9404 (substitute* "src/wish-communication.lisp"
9405 (("#-freebsd \"wish\"")
9406 (string-append "#-freebsd \""
9407 (assoc-ref inputs "tk")
9408 "/bin/wish\"")))
9409 #t)))))
9410 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9411 (description
9412 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
9413 toolkit. It also provides a few additional widgets more than the standard Tk
9414 ones.")
9415 (home-page "https://www.autistici.org/interzona/nodgui.html")
9416 (license license:llgpl))))
9417
9418 (define-public cl-nodgui
9419 (sbcl-package->cl-source-package sbcl-nodgui))
9420
9421 (define-public ecl-nodgui
9422 (sbcl-package->ecl-package sbcl-nodgui))
9423
9424 (define-public sbcl-salza2
9425 (package
9426 (name "sbcl-salza2")
9427 (version "2.0.9")
9428 (source
9429 (origin
9430 (method git-fetch)
9431 (uri (git-reference
9432 (url "https://github.com/xach/salza2")
9433 (commit (string-append "release-" version))))
9434 (file-name (git-file-name name version))
9435 (sha256
9436 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
9437 (build-system asdf-build-system/sbcl)
9438 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
9439 (description
9440 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
9441 deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
9442 respectively.")
9443 (home-page "https://www.xach.com/lisp/salza2/")
9444 (license license:bsd-2)))
9445
9446 (define-public cl-salza2
9447 (sbcl-package->cl-source-package sbcl-salza2))
9448
9449 (define-public ecl-salza2
9450 (sbcl-package->ecl-package sbcl-salza2))
9451
9452 (define-public sbcl-origin
9453 (let ((commit "d646134302456408d6d43580bb05299f1695ab8e")
9454 (revision "1"))
9455 (package
9456 (name "sbcl-origin")
9457 (version (git-version "2.0.0" revision commit))
9458 (source
9459 (origin
9460 (method git-fetch)
9461 (uri (git-reference
9462 (url "https://git.mfiano.net/mfiano/origin")
9463 (commit commit)))
9464 (file-name (git-file-name "origin" version))
9465 (sha256
9466 (base32 "1n9aszaif3yh8prs5r8v51fbj4r5jd1a048mivd5yij3hplkm82b"))))
9467 (build-system asdf-build-system/sbcl)
9468 (native-inputs
9469 `(("parachute" ,sbcl-parachute)))
9470 (inputs
9471 `(("golden-utils" ,sbcl-golden-utils)
9472 ("specialization-store" ,sbcl-specialization-store)))
9473 (home-page "https://git.mfiano.net/mfiano/origin")
9474 (synopsis "Common Lisp graphics math library")
9475 (description
9476 "This is a native Common Lisp graphics math library with an emphasis on
9477 performance and correctness.")
9478 (license license:expat))))
9479
9480 (define-public ecl-origin
9481 (sbcl-package->ecl-package sbcl-origin))
9482
9483 (define-public cl-origin
9484 (sbcl-package->cl-source-package sbcl-origin))
9485
9486 (define-public sbcl-png-read
9487 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
9488 (revision "1"))
9489 (package
9490 (name "sbcl-png-read")
9491 (version (git-version "0.3.1" revision commit))
9492 (source
9493 (origin
9494 (method git-fetch)
9495 (uri (git-reference
9496 (url "https://github.com/Ramarren/png-read")
9497 (commit commit)))
9498 (file-name (git-file-name name version))
9499 (sha256
9500 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
9501 (build-system asdf-build-system/sbcl)
9502 (inputs
9503 `(("babel" ,sbcl-babel)
9504 ("chipz" ,sbcl-chipz)
9505 ("iterate" ,sbcl-iterate)))
9506 (synopsis "PNG decoder for Common Lisp")
9507 (description "This is a Common Lisp library for reading PNG images.")
9508 (home-page "https://github.com/Ramarren/png-read")
9509 (license license:bsd-3))))
9510
9511 (define-public cl-png-read
9512 (sbcl-package->cl-source-package sbcl-png-read))
9513
9514 (define-public ecl-png-read
9515 (sbcl-package->ecl-package sbcl-png-read))
9516
9517 (define-public sbcl-3b-bmfont
9518 (let ((commit "d1b5bec0de580c2d08ec947a93c56b1400f2a37a")
9519 (revision "1"))
9520 (package
9521 (name "sbcl-3b-bmfont")
9522 (version (git-version "0.0.1" revision commit))
9523 (source
9524 (origin
9525 (method git-fetch)
9526 (uri (git-reference
9527 (url "https://github.com/3b/3b-bmfont/")
9528 (commit commit)))
9529 (file-name (git-file-name "3b-bmfont" version))
9530 (sha256
9531 (base32 "12sgf7m0h6fqzhvkas7vmci6mprj3j3fnz778jlbqbsydln6v2yc"))))
9532 (build-system asdf-build-system/sbcl)
9533 (arguments
9534 `(#:asd-systems
9535 '("3b-bmfont"
9536 "3b-bmfont/text"
9537 "3b-bmfont/common"
9538 "3b-bmfont/xml"
9539 "3b-bmfont/json")))
9540 (inputs
9541 `(("alexandria" ,sbcl-alexandria)
9542 ("cxml" ,sbcl-cxml)
9543 ("flexi-streams" ,sbcl-flexi-streams)
9544 ("jsown" ,sbcl-jsown)
9545 ("split-sequence" ,sbcl-split-sequence)))
9546 (home-page "https://github.com/3b/3b-bmfont/")
9547 (synopsis "Read/write bmfont metadata files")
9548 (description
9549 "This is a Common Lisp library which provides functionality to
9550 read/write Bit Map Font (BMF) into text, JSON and XML.")
9551 (license license:expat))))
9552
9553 (define-public ecl-3b-bmfont
9554 (sbcl-package->ecl-package sbcl-3b-bmfont))
9555
9556 (define-public cl-3b-bmfont
9557 (sbcl-package->cl-source-package sbcl-3b-bmfont))
9558
9559 (define-public sbcl-zpng
9560 (package
9561 (name "sbcl-zpng")
9562 (version "1.2.2")
9563 (source
9564 (origin
9565 (method git-fetch)
9566 (uri (git-reference
9567 (url "https://github.com/xach/zpng")
9568 (commit (string-append "release-" version))))
9569 (file-name (git-file-name name version))
9570 (sha256
9571 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
9572 (build-system asdf-build-system/sbcl)
9573 (inputs
9574 `(("salza2" ,sbcl-salza2)))
9575 (synopsis "PNG encoder for Common Lisp")
9576 (description "This is a Common Lisp library for creating PNG images.")
9577 (home-page "https://www.xach.com/lisp/zpng/")
9578 (license license:bsd-2)))
9579
9580 (define-public cl-zpng
9581 (sbcl-package->cl-source-package sbcl-zpng))
9582
9583 (define-public ecl-zpng
9584 (sbcl-package->ecl-package sbcl-zpng))
9585
9586 (define-public sbcl-cl-qrencode
9587 (package
9588 (name "sbcl-cl-qrencode")
9589 (version "0.1.2")
9590 (source
9591 (origin
9592 (method git-fetch)
9593 (uri (git-reference
9594 (url "https://github.com/jnjcc/cl-qrencode")
9595 (commit (string-append "v" version))))
9596 (file-name (git-file-name name version))
9597 (sha256
9598 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
9599 (build-system asdf-build-system/sbcl)
9600 (native-inputs
9601 `(("lisp-unit" ,sbcl-lisp-unit)))
9602 (inputs
9603 `(("zpng" ,sbcl-zpng)))
9604 (synopsis "QR code encoder for Common Lisp")
9605 (description
9606 "This Common Lisp library provides function to make QR codes and to save
9607 them as PNG files.")
9608 (home-page "https://github.com/jnjcc/cl-qrencode")
9609 (license license:gpl2+)))
9610
9611 (define-public cl-qrencode
9612 (sbcl-package->cl-source-package sbcl-cl-qrencode))
9613
9614 (define-public ecl-cl-qrencode
9615 (sbcl-package->ecl-package sbcl-cl-qrencode))
9616
9617 (define-public sbcl-hdf5-cffi
9618 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
9619 (revision "1"))
9620 (package
9621 (name "sbcl-hdf5-cffi")
9622 (version (git-version "1.8.18" revision commit))
9623 (source
9624 (origin
9625 (method git-fetch)
9626 (uri (git-reference
9627 (url "https://github.com/hdfgroup/hdf5-cffi")
9628 (commit commit)))
9629 (file-name (git-file-name name version))
9630 (sha256
9631 (base32
9632 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
9633 (build-system asdf-build-system/sbcl)
9634 (synopsis "Common Lisp bindings for the HDF5 library")
9635 (description
9636 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
9637 (home-page "https://github.com/hdfgroup/hdf5-cffi")
9638 (license (license:non-copyleft
9639 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
9640 commit
9641 "/LICENSE")))
9642 (inputs
9643 `(("cffi" ,sbcl-cffi)
9644 ("hdf5" ,hdf5-1.10)))
9645 (native-inputs
9646 `(("fiveam" ,sbcl-fiveam)))
9647 (arguments
9648 `(#:test-asd-file "hdf5-cffi.test.asd"
9649 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
9650 ;; I don't know if there is a way to tell asdf-build-system to load
9651 ;; an additional system first, so tests are disabled.
9652 #:tests? #f
9653 #:phases
9654 (modify-phases %standard-phases
9655 (add-after 'unpack 'fix-paths
9656 (lambda* (#:key inputs #:allow-other-keys)
9657 (substitute* "src/library.lisp"
9658 (("libhdf5.so")
9659 (string-append
9660 (assoc-ref inputs "hdf5")
9661 "/lib/libhdf5.so")))))
9662 (add-after 'unpack 'fix-dependencies
9663 (lambda* (#:key inputs #:allow-other-keys)
9664 (substitute* "hdf5-cffi.asd"
9665 ((":depends-on \\(:cffi\\)")
9666 ":depends-on (:cffi :cffi-grovel)"))
9667 (substitute* "hdf5-cffi.test.asd"
9668 ((":depends-on \\(:cffi :hdf5-cffi")
9669 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
9670
9671 (define-public cl-hdf5-cffi
9672 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
9673
9674 (define-public ecl-hdf5-cffi
9675 (sbcl-package->ecl-package sbcl-hdf5-cffi))
9676
9677 (define-public sbcl-cl-randist
9678 (package
9679 (name "sbcl-cl-randist")
9680 (version "0.4.2")
9681 (source
9682 (origin
9683 (method git-fetch)
9684 (uri (git-reference
9685 (url "https://github.com/lvaruzza/cl-randist")
9686 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
9687 (file-name (git-file-name name version))
9688 (sha256
9689 (base32
9690 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
9691 (build-system asdf-build-system/sbcl)
9692 (synopsis "Random distributions for Common Lisp")
9693 (description
9694 "Manual translation from C to Common Lisp of some random number
9695 generation functions from the GSL library.")
9696 (home-page "https://github.com/lvaruzza/cl-randist")
9697 (license license:bsd-2)
9698 (arguments
9699 `(#:tests? #f))))
9700
9701 (define-public cl-randist
9702 (sbcl-package->cl-source-package sbcl-cl-randist))
9703
9704 (define-public ecl-cl-randist
9705 (sbcl-package->ecl-package sbcl-cl-randist))
9706
9707 (define-public sbcl-float-features
9708 (package
9709 (name "sbcl-float-features")
9710 (version "1.0.0")
9711 (source
9712 (origin
9713 (method git-fetch)
9714 (uri (git-reference
9715 (url "https://github.com/Shinmera/float-features")
9716 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
9717 (file-name (git-file-name name version))
9718 (sha256
9719 (base32
9720 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
9721 (build-system asdf-build-system/sbcl)
9722 (synopsis "Common Lisp IEEE float portability library")
9723 (description
9724 "Portability library for IEEE float features that are not
9725 covered by the Common Lisp standard.")
9726 (home-page "https://github.com/Shinmera/float-features")
9727 (license license:zlib)
9728 (inputs
9729 `(("documentation-utils" ,sbcl-documentation-utils)))
9730 (arguments
9731 `(#:tests? #f))))
9732
9733 (define-public cl-float-features
9734 (sbcl-package->cl-source-package sbcl-float-features))
9735
9736 (define-public ecl-float-features
9737 (sbcl-package->ecl-package sbcl-float-features))
9738
9739 (define-public sbcl-function-cache
9740 (package
9741 (name "sbcl-function-cache")
9742 (version "1.0.3")
9743 (source
9744 (origin
9745 (method git-fetch)
9746 (uri (git-reference
9747 (url "https://github.com/AccelerationNet/function-cache")
9748 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
9749 (file-name (git-file-name name version))
9750 (sha256
9751 (base32
9752 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
9753 (build-system asdf-build-system/sbcl)
9754 (synopsis "Function caching / memoization library for Common Lisp")
9755 (description
9756 "A common lisp library that provides extensible function result
9757 caching based on arguments (an expanded form of memoization).")
9758 (home-page "https://github.com/AccelerationNet/function-cache")
9759 (license
9760 (license:non-copyleft
9761 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
9762 (inputs
9763 `(("alexandria" ,sbcl-alexandria)
9764 ("cl-interpol" ,sbcl-cl-interpol)
9765 ("iterate" ,sbcl-iterate)
9766 ("symbol-munger" ,sbcl-symbol-munger)
9767 ("closer-mop" ,sbcl-closer-mop)))
9768 (arguments
9769 `(#:tests? #f))))
9770
9771 (define-public cl-function-cache
9772 (sbcl-package->cl-source-package sbcl-function-cache))
9773
9774 (define-public ecl-function-cache
9775 (sbcl-package->ecl-package sbcl-function-cache))
9776
9777 (define-public sbcl-type-r
9778 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
9779 (revision "1"))
9780 (package
9781 (name "sbcl-type-r")
9782 (version (git-version "0.0.0" revision commit))
9783 (source
9784 (origin
9785 (method git-fetch)
9786 (uri (git-reference
9787 (url "https://github.com/guicho271828/type-r")
9788 (commit commit)))
9789 (file-name (git-file-name name version))
9790 (sha256
9791 (base32
9792 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
9793 (build-system asdf-build-system/sbcl)
9794 (synopsis "Parser interface for Common Lisp built-in compound types")
9795 (description
9796 "Collections of accessor functions and patterns to access
9797 the elements in compound type specifier, e.g. @code{dimensions} in
9798 @code{(array element-type dimensions)}")
9799 (home-page "https://github.com/guicho271828/type-r")
9800 (license license:lgpl3+)
9801 (inputs
9802 `(("trivia" ,sbcl-trivia)
9803 ("alexandria" ,sbcl-alexandria)))
9804 (native-inputs
9805 `(("fiveam" ,sbcl-fiveam)))
9806 (arguments
9807 `(#:test-asd-file "type-r.test.asd")))))
9808
9809 (define-public cl-type-r
9810 (sbcl-package->cl-source-package sbcl-type-r))
9811
9812 (define-public ecl-type-r
9813 (sbcl-package->ecl-package sbcl-type-r))
9814
9815 (define-public sbcl-trivialib-type-unify
9816 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
9817 (revision "1"))
9818 (package
9819 (name "sbcl-trivialib-type-unify")
9820 (version (git-version "0.1" revision commit))
9821 (source
9822 (origin
9823 (method git-fetch)
9824 (uri (git-reference
9825 (url "https://github.com/guicho271828/trivialib.type-unify")
9826 (commit commit)))
9827 (file-name (git-file-name name version))
9828 (sha256
9829 (base32
9830 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
9831 (build-system asdf-build-system/sbcl)
9832 (synopsis "Common Lisp type unification")
9833 (description
9834 "Unifies a parametrized type specifier against an actual type specifier.
9835 Importantly, it handles complicated array-subtypes and number-related types
9836 correctly.")
9837 (home-page "https://github.com/guicho271828/trivialib.type-unify")
9838 (license license:lgpl3+)
9839 (inputs
9840 `(("alexandria" ,sbcl-alexandria)
9841 ("trivia" ,sbcl-trivia)
9842 ("introspect-environment" ,sbcl-introspect-environment)
9843 ("type-r" ,sbcl-type-r)))
9844 (native-inputs
9845 `(("fiveam" ,sbcl-fiveam)))
9846 (arguments
9847 `(#:asd-systems '("trivialib.type-unify")
9848 #:test-asd-file "trivialib.type-unify.test.asd")))))
9849
9850 (define-public cl-trivialib-type-unify
9851 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
9852
9853 (define-public ecl-trivialib-type-unify
9854 (sbcl-package->ecl-package sbcl-trivialib-type-unify))
9855
9856 (define-public sbcl-specialized-function
9857 (let ((commit "dee56d2d2b6ecd10500ad291c56217698604ec35")
9858 (revision "2"))
9859 (package
9860 (name "sbcl-specialized-function")
9861 (version (git-version "0.0.0" revision commit))
9862 (source
9863 (origin
9864 (method git-fetch)
9865 (uri (git-reference
9866 (url "https://github.com/numcl/specialized-function")
9867 (commit commit)))
9868 (file-name (git-file-name name version))
9869 (sha256
9870 (base32 "1mcc7mmpbnmgnr1cl2jl5r1ai54gn7fbisv2c14sh9za5w4sib82"))))
9871 (build-system asdf-build-system/sbcl)
9872 (synopsis "Julia-like dispatch for Common Lisp")
9873 (description
9874 "This library is part of NUMCL. It provides a macro
9875 @code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
9876 lazily compiling a type-specific version of the function from the same
9877 code. The main target of this macro is speed.")
9878 (home-page "https://github.com/numcl/specialized-function")
9879 (license license:lgpl3+)
9880 (inputs
9881 `(("trivia" ,sbcl-trivia)
9882 ("alexandria" ,sbcl-alexandria)
9883 ("iterate" ,sbcl-iterate)
9884 ("lisp-namespace" ,sbcl-lisp-namespace)
9885 ("type-r" ,sbcl-type-r)
9886 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
9887 (native-inputs
9888 `(("fiveam" ,sbcl-fiveam)))
9889 (arguments
9890 `(#:asd-files '("specialized-function.asd")
9891 #:test-asd-file "specialized-function.test.asd"
9892 ;; Tests fail because they try to use an internal symbol of SBCL
9893 ;; that does not exists in recent versions:
9894 ;; "The variable SB-VM:COMPLEX-VECTOR-NIL-WIDETAG is unbound."
9895 #:tests? #f)))))
9896
9897 (define-public cl-specialized-function
9898 (sbcl-package->cl-source-package sbcl-specialized-function))
9899
9900 (define-public ecl-specialized-function
9901 (sbcl-package->ecl-package sbcl-specialized-function))
9902
9903 (define-public sbcl-constantfold
9904 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
9905 (revision "1"))
9906 (package
9907 (name "sbcl-constantfold")
9908 (version (git-version "0.1" revision commit))
9909 (source
9910 (origin
9911 (method git-fetch)
9912 (uri (git-reference
9913 (url "https://github.com/numcl/constantfold")
9914 (commit commit)))
9915 (file-name (git-file-name name version))
9916 (sha256
9917 (base32
9918 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
9919 (build-system asdf-build-system/sbcl)
9920 (synopsis "Support library for numcl")
9921 (description
9922 "Support library for numcl. Registers a function as an
9923 additional form that is considered as a candidate for a constant.")
9924 (home-page "https://github.com/numcl/constantfold")
9925 (license license:lgpl3+)
9926 (inputs
9927 `(("trivia" ,sbcl-trivia)
9928 ("alexandria" ,sbcl-alexandria)
9929 ("iterate" ,sbcl-iterate)
9930 ("lisp-namespace" ,sbcl-lisp-namespace)))
9931 (native-inputs
9932 `(("fiveam" ,sbcl-fiveam)))
9933 (arguments
9934 `(#:asd-files '("constantfold.asd")
9935 #:test-asd-file "constantfold.test.asd")))))
9936
9937 (define-public cl-constantfold
9938 (sbcl-package->cl-source-package sbcl-constantfold))
9939
9940 (define-public ecl-constantfold
9941 (sbcl-package->ecl-package sbcl-constantfold))
9942
9943 (define-public sbcl-gtype
9944 (let ((commit "2442e32485635525af278ebd8fa69a27d5b8cf18")
9945 (revision "2"))
9946 (package
9947 (name "sbcl-gtype")
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/numcl/gtype")
9954 (commit commit)))
9955 (file-name (git-file-name name version))
9956 (sha256
9957 (base32 "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h"))))
9958 (build-system asdf-build-system/sbcl)
9959 (synopsis "C++/Julia-like parametric types in Common Lisp")
9960 (description
9961 "Support library for numcl that provides Julia-like runtime parametric
9962 type correctness in Common Lisp. It is based on CLtL2 extensions.")
9963 (home-page "https://github.com/numcl/gtype")
9964 (license license:lgpl3+)
9965 (inputs
9966 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
9967 ("trivial-cltl2" ,sbcl-trivial-cltl2)
9968 ("trivia" ,sbcl-trivia)
9969 ("alexandria" ,sbcl-alexandria)
9970 ("iterate" ,sbcl-iterate)
9971 ("type-r" ,sbcl-type-r)))
9972 (native-inputs
9973 `(("fiveam" ,sbcl-fiveam)))
9974 (arguments
9975 `(#:asd-files '("gtype.asd")
9976 #:test-asd-file "gtype.test.asd")))))
9977
9978 (define-public cl-gtype
9979 (sbcl-package->cl-source-package sbcl-gtype))
9980
9981 (define-public ecl-gtype
9982 (let ((pkg (sbcl-package->ecl-package sbcl-gtype)))
9983 (package
9984 (inherit pkg)
9985 (arguments
9986 (substitute-keyword-arguments (package-arguments pkg)
9987 ;; The tests fail on ECL with a COMPILE-FILE-ERROR for t/package.lisp.
9988 ((#:tests? _ #f) #f))))))
9989
9990 (define-public sbcl-numcl
9991 (let ((commit "d19f36356be900c600ef08560c9e1af441a166cb")
9992 (revision "1"))
9993 (package
9994 (name "sbcl-numcl")
9995 (version (git-version "0.2.0" revision commit))
9996 (source
9997 (origin
9998 (method git-fetch)
9999 (uri (git-reference
10000 (url "https://github.com/numcl/numcl")
10001 (commit commit)))
10002 (file-name (git-file-name "numcl" version))
10003 (sha256
10004 (base32 "0q4ylfr7hl0gz2ynr0c15h09dmnli2x6ndnm5wr58wfplf1wfj31"))))
10005 (build-system asdf-build-system/sbcl)
10006 (arguments
10007 `(#:test-asd-file "numcl.test.asd"
10008 #:asd-files '("numcl.asd")
10009 ;; Tests often fail because they require a dynamic-space-size much
10010 ;; bigger than the default one. Disable them for now.
10011 #:tests? #f))
10012 (native-inputs
10013 `(("fiveam" ,sbcl-fiveam)))
10014 (inputs
10015 `(("alexandria" ,sbcl-alexandria)
10016 ("cl-randist" ,sbcl-cl-randist)
10017 ("constantfold" ,sbcl-constantfold)
10018 ("float-features" ,sbcl-float-features)
10019 ("function-cache" ,sbcl-function-cache)
10020 ("gtype" ,sbcl-gtype)
10021 ("iterate" ,sbcl-iterate)
10022 ("lisp-namespace" ,sbcl-lisp-namespace)
10023 ("specialized-function" ,sbcl-specialized-function)
10024 ("trivia" ,sbcl-trivia)
10025 ("type-r" ,sbcl-type-r)))
10026 (home-page "https://numcl.github.io/numcl/")
10027 (synopsis "Numpy clone in Common Lisp")
10028 (description
10029 "This package is a Python Numpy clone implemented in pure Common Lisp.")
10030 (license license:lgpl3+))))
10031
10032 (define-public cl-numcl
10033 (sbcl-package->cl-source-package sbcl-numcl))
10034
10035 (define-public ecl-numcl
10036 (sbcl-package->ecl-package sbcl-numcl))
10037
10038 (define-public sbcl-pzmq
10039 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
10040 (revision "1"))
10041 (package
10042 (name "sbcl-pzmq")
10043 (version (git-version "0.0.0" revision commit))
10044 (source
10045 (origin
10046 (method git-fetch)
10047 (uri (git-reference
10048 (url "https://github.com/orivej/pzmq")
10049 (commit commit)))
10050 (file-name (git-file-name name version))
10051 (sha256
10052 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
10053 (build-system asdf-build-system/sbcl)
10054 (native-inputs
10055 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10056 ("fiveam" ,sbcl-fiveam)
10057 ("let-plus" ,sbcl-let-plus)))
10058 (inputs
10059 `(("cffi" ,sbcl-cffi)
10060 ("zeromq" ,zeromq)))
10061 (arguments
10062 `(#:phases (modify-phases %standard-phases
10063 (add-after 'unpack 'fix-paths
10064 (lambda* (#:key inputs #:allow-other-keys)
10065 (substitute* "c-api.lisp"
10066 (("\"libzmq")
10067 (string-append "\""
10068 (assoc-ref inputs "zeromq")
10069 "/lib/libzmq")))
10070 #t)))))
10071 (synopsis "Common Lisp bindings for the ZeroMQ library")
10072 (description "This Common Lisp library provides bindings for the ZeroMQ
10073 lightweight messaging kernel.")
10074 (home-page "https://github.com/orivej/pzmq")
10075 (license license:unlicense))))
10076
10077 (define-public cl-pzmq
10078 (sbcl-package->cl-source-package sbcl-pzmq))
10079
10080 (define-public ecl-pzmq
10081 (sbcl-package->ecl-package sbcl-pzmq))
10082
10083 (define-public sbcl-clss
10084 (let ((revision "1")
10085 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
10086 (package
10087 (name "sbcl-clss")
10088 (version (git-version "0.3.1" revision commit))
10089 (source
10090 (origin
10091 (method git-fetch)
10092 (uri
10093 (git-reference
10094 (url "https://github.com/Shinmera/clss")
10095 (commit commit)))
10096 (sha256
10097 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
10098 (file-name (git-file-name name version))))
10099 (inputs
10100 `(("array-utils" ,sbcl-array-utils)
10101 ("plump" ,sbcl-plump)))
10102 (build-system asdf-build-system/sbcl)
10103 (synopsis "DOM tree searching engine based on CSS selectors")
10104 (description "CLSS is a DOM traversal engine based on CSS
10105 selectors. It makes use of the Plump-DOM and is used by lQuery.")
10106 (home-page "https://github.com/Shinmera/clss")
10107 (license license:zlib))))
10108
10109 (define-public cl-clss
10110 (sbcl-package->cl-source-package sbcl-clss))
10111
10112 (define-public ecl-clss
10113 (sbcl-package->ecl-package sbcl-clss))
10114
10115 (define-public sbcl-lquery
10116 (let ((revision "1")
10117 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
10118 (package
10119 (name "sbcl-lquery")
10120 (version (git-version "3.2.1" revision commit))
10121 (source
10122 (origin
10123 (method git-fetch)
10124 (uri
10125 (git-reference
10126 (url "https://github.com/Shinmera/lquery")
10127 (commit commit)))
10128 (sha256
10129 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
10130 (file-name (git-file-name name version))))
10131 (native-inputs
10132 `(("fiveam" ,sbcl-fiveam)))
10133 (inputs
10134 `(("array-utils" ,sbcl-array-utils)
10135 ("form-fiddle" ,sbcl-form-fiddle)
10136 ("plump" ,sbcl-plump)
10137 ("clss" ,sbcl-clss)))
10138 (build-system asdf-build-system/sbcl)
10139 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
10140 (description "@code{lQuery} is a DOM manipulation library written in
10141 Common Lisp, inspired by and based on the jQuery syntax and
10142 functions. It uses Plump and CLSS as DOM and selector engines. The
10143 main idea behind lQuery is to provide a simple interface for crawling
10144 and modifying HTML sites, as well as to allow for an alternative
10145 approach to templating.")
10146 (home-page "https://github.com/Shinmera/lquery")
10147 (license license:zlib))))
10148
10149 (define-public cl-lquery
10150 (sbcl-package->cl-source-package sbcl-lquery))
10151
10152 (define-public ecl-lquery
10153 (sbcl-package->ecl-package sbcl-lquery))
10154
10155 (define-public sbcl-cl-mysql
10156 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
10157 (revision "1"))
10158 (package
10159 (name "sbcl-cl-mysql")
10160 (version (git-version "0.1" revision commit))
10161 (source
10162 (origin
10163 (method git-fetch)
10164 (uri (git-reference
10165 (url "https://github.com/hackinghat/cl-mysql")
10166 (commit commit)))
10167 (file-name (git-file-name name version))
10168 (sha256
10169 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
10170 (build-system asdf-build-system/sbcl)
10171 (native-inputs
10172 `(("stefil" ,sbcl-stefil)))
10173 (inputs
10174 `(("cffi" ,sbcl-cffi)
10175 ("mariadb-lib" ,mariadb "lib")))
10176 (arguments
10177 `(#:tests? #f ; TODO: Tests require a running server
10178 #:phases
10179 (modify-phases %standard-phases
10180 (add-after 'unpack 'fix-paths
10181 (lambda* (#:key inputs #:allow-other-keys)
10182 (substitute* "system.lisp"
10183 (("libmysqlclient_r" all)
10184 (string-append (assoc-ref inputs "mariadb-lib")
10185 "/lib/"
10186 all)))
10187 #t)))))
10188 (synopsis "Common Lisp wrapper for MySQL")
10189 (description
10190 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
10191 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
10192 (license license:expat))))
10193
10194 (define-public cl-mysql
10195 (sbcl-package->cl-source-package sbcl-cl-mysql))
10196
10197 (define-public ecl-cl-mysql
10198 (sbcl-package->ecl-package sbcl-cl-mysql))
10199
10200 (define-public sbcl-postmodern
10201 (package
10202 (name "sbcl-postmodern")
10203 (version "1.32.9")
10204 (source
10205 (origin
10206 (method git-fetch)
10207 (uri (git-reference
10208 (url "https://github.com/marijnh/Postmodern")
10209 (commit (string-append "v" version))))
10210 (file-name (git-file-name name version))
10211 (sha256
10212 (base32 "137jci4hn4vlxf48y39k0di27kc89kvxy3brmn3vl9xq56sy6mhz"))))
10213 (build-system asdf-build-system/sbcl)
10214 (native-inputs
10215 `(("fiveam" ,sbcl-fiveam)))
10216 (inputs
10217 `(("alexandria" ,sbcl-alexandria)
10218 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10219 ("cl-base64" ,sbcl-cl-base64)
10220 ("cl-unicode" ,sbcl-cl-unicode)
10221 ("closer-mop" ,sbcl-closer-mop)
10222 ("global-vars" ,sbcl-global-vars)
10223 ("ironclad" ,sbcl-ironclad)
10224 ("local-time" ,sbcl-local-time)
10225 ("md5" ,sbcl-md5)
10226 ("split-sequence" ,sbcl-split-sequence)
10227 ("uax-15" ,sbcl-uax-15)
10228 ("usocket" ,sbcl-usocket)))
10229 (arguments
10230 ;; TODO: (Sharlatan-20210114T171037+0000) tests still failing but on other
10231 ;; step, some functionality in `local-time' prevents passing tests.
10232 ;; Error:
10233 ;;
10234 ;; Can't create directory
10235 ;; /gnu/store
10236 ;; /4f47agf1kyiz057ppy6x5p98i7mcbfsv-sbcl-local-time-1.0.6-2.a177eb9
10237 ;; /lib/common-lisp/sbcl/local-time/src/integration/
10238 ;;
10239 ;; NOTE: (Sharlatan-20210124T191940+0000): When set env HOME to /tmp above
10240 ;; issue is resolved but it required live test database to connect to now.
10241 ;; Keep tests switched off.
10242 `(#:tests? #f
10243 #:asd-systems '("cl-postgres"
10244 "s-sql"
10245 "postmodern"
10246 "simple-date"
10247 "simple-date/postgres-glue")))
10248 (synopsis "Common Lisp library for interacting with PostgreSQL")
10249 (description
10250 "@code{postmodern} is a Common Lisp library for interacting with
10251 PostgreSQL databases. It provides the following features:
10252
10253 @itemize
10254 @item Efficient communication with the database server without need for
10255 foreign libraries.
10256 @item Support for UTF-8 on Unicode-aware Lisp implementations.
10257 @item A syntax for mixing SQL and Lisp code.
10258 @item Convenient support for prepared statements and stored procedures.
10259 @item A metaclass for simple database-access objects.
10260 @end itemize\n
10261
10262 This package produces 4 systems: postmodern, cl-postgres, s-sql, simple-date
10263
10264 @code{SIMPLE-DATE} is a very basic implementation of date and time objects, used
10265 to support storing and retrieving time-related SQL types. It is not loaded by
10266 default and you can use local-time (which has support for timezones) instead.
10267
10268 @code{S-SQL} is used to compile s-expressions to strings of SQL code, escaping
10269 any Lisp values inside, and doing as much as possible of the work at compile
10270 time.
10271
10272 @code{CL-POSTGRES} is the low-level library used for interfacing with a PostgreSQL
10273 server over a socket.
10274
10275 @code{POSTMODERN} itself is a wrapper around these packages and provides higher
10276 level functions, a very simple data access object that can be mapped directly to
10277 database tables and some convient utilities. It then tries to put all these
10278 things together into a convenient programming interface")
10279 (home-page "https://marijnhaverbeke.nl/postmodern/")
10280 (license license:zlib)))
10281
10282 (define-public cl-postmodern
10283 (sbcl-package->cl-source-package sbcl-postmodern))
10284
10285 (define-public ecl-postmodern
10286 (package
10287 (inherit (sbcl-package->ecl-package sbcl-postmodern))
10288 (arguments
10289 `(#:tests? #f
10290 #:asd-systems '("cl-postgres"
10291 "s-sql"
10292 "postmodern"
10293 "simple-date"
10294 "simple-date/postgres-glue")
10295 #:phases
10296 (modify-phases %standard-phases
10297 (add-after 'unpack 'fix-build
10298 (lambda _
10299 (substitute* "cl-postgres.asd"
10300 ((":or :sbcl :allegro :ccl :clisp" all)
10301 (string-append all " :ecl")))
10302 #t)))))))
10303
10304 (define-public sbcl-db3
10305 (let ((commit "38e5ad35f025769fb7f8dcdc6e56df3e8efd8e6d")
10306 (revision "1"))
10307 (package
10308 (name "sbcl-db3")
10309 (version (git-version "0.0.0" revision commit))
10310 (source
10311 (origin
10312 (method git-fetch)
10313 (uri (git-reference
10314 (url "https://github.com/dimitri/cl-db3")
10315 (commit commit)))
10316 (file-name (git-file-name "cl-db3" version))
10317 (sha256
10318 (base32 "1i7j0mlri6kbklcx1lsm464s8kmyhhij5c4xh4aybrw8m4ixn1s5"))))
10319 (build-system asdf-build-system/sbcl)
10320 (home-page "https://github.com/dimitri/cl-db3")
10321 (synopsis "Common Lisp library to read dBase III database files")
10322 (description
10323 "This is a Common Lisp library for processing data found in dBase III
10324 database files (dbf and db3 files).")
10325 (license license:public-domain))))
10326
10327 (define-public ecl-db3
10328 (sbcl-package->ecl-package sbcl-db3))
10329
10330 (define-public cl-db3
10331 (sbcl-package->cl-source-package sbcl-db3))
10332
10333 (define-public sbcl-dbi
10334 ;; Master includes a breaking change which other packages depend on since
10335 ;; Quicklisp decided to follow it:
10336 ;; https://github.com/fukamachi/cl-dbi/commit/31c46869722f77fd5292a81b5b101f1347d7fce1
10337 (let ((commit "31c46869722f77fd5292a81b5b101f1347d7fce1"))
10338 (package
10339 (name "sbcl-dbi")
10340 (version (git-version "0.9.4" "1" commit))
10341 (source
10342 (origin
10343 (method git-fetch)
10344 (uri (git-reference
10345 (url "https://github.com/fukamachi/cl-dbi")
10346 (commit commit)))
10347 (file-name (git-file-name name version))
10348 (sha256
10349 (base32 "0r3n4rw12qqxad0cryym2ibm4ddl49gbq4ra227afibsr43nw5k3"))))
10350 (build-system asdf-build-system/sbcl)
10351 (native-inputs
10352 `(("rove" ,sbcl-rove)
10353 ("trivial-types" ,sbcl-trivial-types)))
10354 (inputs
10355 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10356 ("cl-mysql" ,sbcl-cl-mysql)
10357 ("cl-sqlite" ,sbcl-cl-sqlite)
10358 ("closer-mop" ,sbcl-closer-mop)
10359 ("postmodern" ,sbcl-postmodern)
10360 ("split-sequence" ,sbcl-split-sequence)
10361 ("trivial-garbage" ,sbcl-trivial-garbage)))
10362 (arguments
10363 `(#:asd-systems '("dbi"
10364 "dbd-mysql"
10365 "dbd-postgres"
10366 "dbd-sqlite3")))
10367 (synopsis "Database independent interface for Common Lisp")
10368 (description
10369 "@code{dbi} is a Common Lisp library providing a database independent
10370 interface for MySQL, PostgreSQL and SQLite.")
10371 (home-page "https://github.com/fukamachi/cl-dbi")
10372 (license license:llgpl))))
10373
10374 (define-public cl-dbi
10375 (sbcl-package->cl-source-package sbcl-dbi))
10376
10377 (define-public ecl-dbi
10378 (sbcl-package->ecl-package sbcl-dbi))
10379
10380 (define-public sbcl-uffi
10381 (package
10382 (name "sbcl-uffi")
10383 (version "2.1.2")
10384 (source
10385 (origin
10386 (method git-fetch)
10387 (uri (git-reference
10388 (url "http://git.kpe.io/uffi.git")
10389 (commit (string-append "v" version))))
10390 (file-name (git-file-name name version))
10391 (sha256
10392 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
10393 (build-system asdf-build-system/sbcl)
10394 (arguments
10395 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
10396 #:asd-files '("uffi.asd")
10397 #:phases
10398 (modify-phases %standard-phases
10399 (add-after 'unpack 'fix-permissions
10400 (lambda _
10401 (make-file-writable "doc/html.tar.gz")
10402 #t)))))
10403 (synopsis "Universal foreign function library for Common Lisp")
10404 (description
10405 "UFFI provides a universal foreign function interface (FFI)
10406 for Common Lisp.")
10407 (home-page "http://quickdocs.org/uffi/")
10408 (license license:llgpl)))
10409
10410 (define-public cl-uffi
10411 (package
10412 (inherit (sbcl-package->cl-source-package sbcl-uffi))
10413 (arguments
10414 `(#:phases
10415 ;; asdf-build-system/source has its own phases and does not inherit
10416 ;; from asdf-build-system/sbcl phases.
10417 (modify-phases %standard-phases/source
10418 ;; Already done in SBCL package.
10419 (delete 'reset-gzip-timestamps))))))
10420
10421 (define-public sbcl-clsql
10422 (package
10423 (name "sbcl-clsql")
10424 (version "6.7.0")
10425 (source
10426 (origin
10427 (method git-fetch)
10428 (uri (git-reference
10429 (url "http://git.kpe.io/clsql.git")
10430 (commit (string-append "v" version))))
10431 (file-name (git-file-name name version))
10432 (sha256
10433 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
10434 (snippet
10435 '(begin
10436 ;; Remove precompiled libraries.
10437 (delete-file "db-mysql/clsql_mysql.dll")
10438 (delete-file "uffi/clsql_uffi.dll")
10439 (delete-file "uffi/clsql_uffi.lib")
10440 #t))))
10441 (build-system asdf-build-system/sbcl)
10442 (native-inputs
10443 `(("rt" ,sbcl-rt)))
10444 (inputs
10445 `(("cffi" ,sbcl-cffi)
10446 ("md5" ,sbcl-md5)
10447 ("mysql" ,mysql)
10448 ("postgresql" ,postgresql)
10449 ("postmodern" ,sbcl-postmodern)
10450 ("sqlite" ,sqlite)
10451 ("uffi" ,sbcl-uffi)
10452 ("zlib" ,zlib)))
10453 (arguments
10454 `(#:asd-files '("clsql.asd"
10455 "clsql-uffi.asd"
10456 "clsql-sqlite3.asd"
10457 "clsql-postgresql.asd"
10458 "clsql-postgresql-socket3.asd"
10459 "clsql-mysql.asd")
10460 #:asd-systems '("clsql"
10461 "clsql-sqlite3"
10462 "clsql-postgresql"
10463 "clsql-postgresql-socket3"
10464 "clsql-mysql")
10465 #:phases
10466 (modify-phases %standard-phases
10467 (add-after 'unpack 'fix-permissions
10468 (lambda _
10469 (make-file-writable "doc/html.tar.gz")
10470 #t))
10471 (add-after 'unpack 'fix-build
10472 (lambda _
10473 (substitute* "clsql-uffi.asd"
10474 (("\\(:version uffi \"2.0\"\\)")
10475 "uffi"))
10476 (substitute* "db-postgresql/postgresql-api.lisp"
10477 (("\\(data :cstring\\)")
10478 "(data :string)"))
10479 #t))
10480 (add-after 'unpack 'fix-paths
10481 (lambda* (#:key inputs outputs #:allow-other-keys)
10482 (substitute* "db-sqlite3/sqlite3-loader.lisp"
10483 (("libsqlite3")
10484 (string-append (assoc-ref inputs "sqlite")
10485 "/lib/libsqlite3")))
10486 (substitute* "db-postgresql/postgresql-loader.lisp"
10487 (("libpq")
10488 (string-append (assoc-ref inputs "postgresql")
10489 "/lib/libpq")))
10490 (let ((lib (string-append "#p\""
10491 (assoc-ref outputs "out")
10492 "/lib/\"")))
10493 (substitute* "clsql-mysql.asd"
10494 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
10495 lib))
10496 (substitute* "db-mysql/mysql-loader.lisp"
10497 (("libmysqlclient" all)
10498 (string-append (assoc-ref inputs "mysql") "/lib/" all))
10499 (("clsql-mysql-system::\\*library-file-dir\\*")
10500 lib)))
10501 #t))
10502 (add-before 'build 'build-helper-library
10503 (lambda* (#:key inputs outputs #:allow-other-keys)
10504 (let* ((mysql (assoc-ref inputs "mysql"))
10505 (inc-dir (string-append mysql "/include/mysql"))
10506 (lib-dir (string-append mysql "/lib"))
10507 (shared-lib-dir (string-append (assoc-ref outputs "out")
10508 "/lib"))
10509 (shared-lib (string-append shared-lib-dir
10510 "/clsql_mysql.so")))
10511 (mkdir-p shared-lib-dir)
10512 (invoke "gcc" "-fPIC" "-shared"
10513 "-I" inc-dir
10514 "db-mysql/clsql_mysql.c"
10515 "-Wl,-soname=clsql_mysql"
10516 "-L" lib-dir "-lmysqlclient" "-lz"
10517 "-o" shared-lib)
10518 #t)))
10519 (add-after 'unpack 'fix-tests
10520 (lambda _
10521 (substitute* "clsql.asd"
10522 (("clsql-tests :force t")
10523 "clsql-tests"))
10524 #t)))))
10525 (synopsis "Common Lisp SQL Interface library")
10526 (description
10527 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
10528 Xanalys CommonSQL interface for Lispworks. It provides low-level database
10529 interfaces as well as a functional and an object oriented interface.")
10530 (home-page "http://clsql.kpe.io/")
10531 (license license:llgpl)))
10532
10533 (define-public cl-clsql
10534 (package
10535 (inherit (sbcl-package->cl-source-package sbcl-clsql))
10536 (native-inputs
10537 `(("rt" ,cl-rt)))
10538 (inputs
10539 `(("mysql" ,mysql)
10540 ("postgresql" ,postgresql)
10541 ("sqlite" ,sqlite)
10542 ("zlib" ,zlib)))
10543 (propagated-inputs
10544 `(("cffi" ,cl-cffi)
10545 ("md5" ,cl-md5)
10546 ("postmodern" ,cl-postmodern)
10547 ("uffi" ,cl-uffi)))
10548 (arguments
10549 `(#:phases
10550 ;; asdf-build-system/source has its own phases and does not inherit
10551 ;; from asdf-build-system/sbcl phases.
10552 (modify-phases %standard-phases/source
10553 (add-after 'unpack 'fix-permissions
10554 (lambda _
10555 (make-file-writable "doc/html.tar.gz")
10556 #t)))))))
10557
10558 (define-public ecl-clsql
10559 (let ((pkg (sbcl-package->ecl-package sbcl-clsql)))
10560 (package
10561 (inherit pkg)
10562 (inputs
10563 (alist-delete "uffi" (package-inputs pkg)))
10564 (arguments
10565 (substitute-keyword-arguments (package-arguments pkg)
10566 ((#:asd-files asd-files '())
10567 `(cons "clsql-cffi.asd" ,asd-files)))))))
10568
10569 (define-public sbcl-sycamore
10570 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
10571 (package
10572 (name "sbcl-sycamore")
10573 (version "0.0.20120604")
10574 (source
10575 (origin
10576 (method git-fetch)
10577 (uri (git-reference
10578 (url "https://github.com/ndantam/sycamore/")
10579 (commit commit)))
10580 (file-name (git-file-name name version))
10581 (sha256
10582 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
10583 (build-system asdf-build-system/sbcl)
10584 (inputs
10585 `(("alexandria" ,sbcl-alexandria)
10586 ("cl-ppcre" ,sbcl-cl-ppcre)))
10587 (synopsis "Purely functional data structure library in Common Lisp")
10588 (description
10589 "Sycamore is a fast, purely functional data structure library in Common Lisp.
10590 If features:
10591
10592 @itemize
10593 @item Fast, purely functional weight-balanced binary trees.
10594 @item Leaf nodes are simple-vectors, greatly reducing tree height.
10595 @item Interfaces for tree Sets and Maps (dictionaries).
10596 @item Ropes.
10597 @item Purely functional pairing heaps.
10598 @item Purely functional amortized queue.
10599 @end itemize\n")
10600 (home-page "http://ndantam.github.io/sycamore/")
10601 (license license:bsd-3))))
10602
10603 (define-public cl-sycamore
10604 (sbcl-package->cl-source-package sbcl-sycamore))
10605
10606 (define-public ecl-sycamore
10607 (sbcl-package->ecl-package sbcl-sycamore))
10608
10609 (define-public sbcl-trivial-package-local-nicknames
10610 (package
10611 (name "sbcl-trivial-package-local-nicknames")
10612 (version "0.2")
10613 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
10614 (source
10615 (origin
10616 (method git-fetch)
10617 (uri (git-reference
10618 (url home-page)
10619 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
10620 (file-name (git-file-name name version))
10621 (sha256
10622 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
10623 (build-system asdf-build-system/sbcl)
10624 (synopsis "Common Lisp compatibility library for package local nicknames")
10625 (description
10626 "This library is a portable compatibility layer around package local nicknames (PLN).
10627 This was done so there is a portability library for the PLN API not included
10628 in DEFPACKAGE.")
10629 (license license:unlicense)))
10630
10631 (define-public cl-trivial-package-local-nicknames
10632 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
10633
10634 (define-public ecl-trivial-package-local-nicknames
10635 (sbcl-package->ecl-package sbcl-trivial-package-local-nicknames))
10636
10637 (define-public sbcl-enchant
10638 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
10639 (package
10640 (name "sbcl-enchant")
10641 (version (git-version "0.0.0" "1" commit))
10642 (home-page "https://github.com/tlikonen/cl-enchant")
10643 (source
10644 (origin
10645 (method git-fetch)
10646 (uri (git-reference
10647 (url home-page)
10648 (commit commit)))
10649 (file-name (git-file-name name version))
10650 (sha256
10651 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
10652 (build-system asdf-build-system/sbcl)
10653 (inputs
10654 `(("enchant" ,enchant)
10655 ("cffi" ,sbcl-cffi)))
10656 (arguments
10657 `(#:phases
10658 (modify-phases %standard-phases
10659 (add-after 'unpack 'fix-paths
10660 (lambda* (#:key inputs #:allow-other-keys)
10661 (substitute* "load-enchant.lisp"
10662 (("libenchant")
10663 (string-append
10664 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
10665 (synopsis "Common Lisp interface for the Enchant spell-checker library")
10666 (description
10667 "Enchant is a Common Lisp interface for the Enchant spell-checker
10668 library. The Enchant library is a generic spell-checker library which uses
10669 other spell-checkers transparently as back-end. The library supports the
10670 multiple checkers, including Aspell and Hunspell.")
10671 (license license:public-domain))))
10672
10673 (define-public cl-enchant
10674 (sbcl-package->cl-source-package sbcl-enchant))
10675
10676 (define-public ecl-enchant
10677 (sbcl-package->ecl-package sbcl-enchant))
10678
10679 (define-public sbcl-cl-change-case
10680 (let ((commit "45c70b601125889689e0c1c37d7e727a3a0af022")
10681 (revision "1"))
10682 (package
10683 (name "sbcl-cl-change-case")
10684 (version (git-version "0.2.0" revision commit))
10685 (home-page "https://github.com/rudolfochrist/cl-change-case")
10686 (source
10687 (origin
10688 (method git-fetch)
10689 (uri (git-reference
10690 (url home-page)
10691 (commit commit)))
10692 (file-name (git-file-name "cl-change-case" version))
10693 (sha256
10694 (base32 "0qmk341zzcsbf8sq0w9ix3r080zg4ri6vzxym63lhdjfzwz3y8if"))))
10695 (build-system asdf-build-system/sbcl)
10696 (inputs
10697 `(("cl-ppcre" ,sbcl-cl-ppcre)
10698 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
10699 (native-inputs
10700 `(("fiveam" ,sbcl-fiveam)))
10701 (synopsis
10702 "Convert Common Lisp strings between camelCase, PascalCase and more")
10703 (description
10704 "@code{cl-change-case} is a library to convert strings between
10705 camelCase, PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
10706 (license license:llgpl))))
10707
10708 (define-public cl-change-case
10709 (sbcl-package->cl-source-package sbcl-cl-change-case))
10710
10711 (define-public ecl-cl-change-case
10712 (sbcl-package->ecl-package sbcl-cl-change-case))
10713
10714 (define-public sbcl-modularize
10715 (let ((commit "86c5d9a11fbd2df9f0f03ac10b5d71837c8934ba")
10716 (revision "1"))
10717 (package
10718 (name "sbcl-modularize")
10719 (version (git-version "1.0.0" revision commit))
10720 (source
10721 (origin
10722 (method git-fetch)
10723 (uri (git-reference
10724 (url "https://github.com/Shinmera/modularize")
10725 (commit commit)))
10726 (file-name (git-file-name name version))
10727 (sha256
10728 (base32 "1zys29rfkb649rkgl3snxhajk8d5yf7ryxkrwy020kwdh7zdsg7d"))))
10729 (build-system asdf-build-system/sbcl)
10730 (arguments
10731 `(#:test-asd-file "modularize-test-module.asd"
10732 #:asd-files '("modularize.asd" "modularize-test-module.asd")
10733 #:asd-systems '("modularize" "modularize-test-module")))
10734 (inputs
10735 `(("documentation-utils" ,sbcl-documentation-utils)
10736 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)))
10737 (home-page "https://shinmera.github.io/modularize/")
10738 (synopsis "Common Lisp modularization framework")
10739 (description
10740 "@code{MODULARIZE} is an attempt at providing a common interface to
10741 segregate major application components. This is achieved by adding special
10742 treatment to packages. Each module is a package that is specially registered,
10743 which allows it to interact and co-exist with other modules in better ways. For
10744 instance, by adding module definition options you can introduce mechanisms to
10745 tie modules together in functionality, hook into each other and so on.")
10746 (license license:zlib))))
10747
10748 (define-public ecl-modularize
10749 (sbcl-package->ecl-package sbcl-modularize))
10750
10751 (define-public cl-modularize
10752 (sbcl-package->cl-source-package sbcl-modularize))
10753
10754 (define-public sbcl-modularize-hooks
10755 (let ((commit "e0348ed3ffd59a9ec31ca4ab28289e748bfbf96a")
10756 (revision "1"))
10757 (package
10758 (name "sbcl-modularize-hooks")
10759 (version (git-version "1.0.2" revision commit))
10760 (source
10761 (origin
10762 (method git-fetch)
10763 (uri (git-reference
10764 (url "https://github.com/Shinmera/modularize-hooks")
10765 (commit commit)))
10766 (file-name (git-file-name "modularize-hooks" version))
10767 (sha256
10768 (base32 "12kjvin8hxidwkzfb7inqv5b6g5qzcssnj9wc497v2ixc56fqdz7"))))
10769 (build-system asdf-build-system/sbcl)
10770 (inputs
10771 `(("closer-mop" ,sbcl-closer-mop)
10772 ("lambda-fiddle" ,sbcl-lambda-fiddle)
10773 ("modularize" ,sbcl-modularize)
10774 ("trivial-arguments" ,sbcl-trivial-arguments)))
10775 (home-page "https://shinmera.github.io/modularize-hooks/")
10776 (synopsis "Generic hooks and triggers extension for Modularize")
10777 (description
10778 "This is a simple extension to @code{MODULARIZE} that allows modules to
10779 define and trigger hooks, which other modules can hook on to.")
10780 (license license:zlib))))
10781
10782 (define-public ecl-modularize-hooks
10783 (sbcl-package->ecl-package sbcl-modularize-hooks))
10784
10785 (define-public cl-modularize-hooks
10786 (sbcl-package->cl-source-package sbcl-modularize-hooks))
10787
10788 (define-public sbcl-modularize-interfaces
10789 (let ((commit "96353657afb8c7aeba7ef5b51eb04c5ed3bcb6ef")
10790 (revision "1"))
10791 (package
10792 (name "sbcl-modularize-interfaces")
10793 (version (git-version "0.9.3" revision commit))
10794 (source
10795 (origin
10796 (method git-fetch)
10797 (uri (git-reference
10798 (url "https://github.com/Shinmera/modularize-interfaces")
10799 (commit commit)))
10800 (file-name (git-file-name "modularize-interfaces" version))
10801 (sha256
10802 (base32 "0bjf4wy39cwf75m7vh0r7mmcchs09yz2lrbyap98hnq8blq70fhc"))))
10803 (build-system asdf-build-system/sbcl)
10804 (inputs
10805 `(("lambda-fiddle" ,sbcl-lambda-fiddle)
10806 ("modularize" ,sbcl-modularize)
10807 ("trivial-arguments" ,sbcl-trivial-arguments)
10808 ("trivial-indent" ,sbcl-trivial-indent)))
10809 (home-page "https://shinmera.github.io/modularize-interfaces/")
10810 (synopsis "Programmatical interfaces extension for Modularize")
10811 (description
10812 "This is an extension to @code{MODULARIZE} that allows your application
10813 to define interfaces in-code that serve both as a primary documentation and as
10814 compliance control.")
10815 (license license:zlib))))
10816
10817 (define-public ecl-modularize-interfaces
10818 (sbcl-package->ecl-package sbcl-modularize-interfaces))
10819
10820 (define-public cl-modularize-interfaces
10821 (sbcl-package->cl-source-package sbcl-modularize-interfaces))
10822
10823 (define-public sbcl-moptilities
10824 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
10825 (package
10826 (name "sbcl-moptilities")
10827 (version (git-version "0.3.13" "1" commit))
10828 (home-page "https://github.com/gwkkwg/moptilities/")
10829 (source
10830 (origin
10831 (method git-fetch)
10832 (uri (git-reference
10833 (url home-page)
10834 (commit commit)))
10835 (file-name (git-file-name name version))
10836 (sha256
10837 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
10838 (build-system asdf-build-system/sbcl)
10839 (inputs
10840 `(("closer-mop" ,sbcl-closer-mop)))
10841 (native-inputs
10842 `(("lift" ,sbcl-lift)))
10843 (arguments
10844 `(#:phases
10845 (modify-phases %standard-phases
10846 (add-after 'unpack 'fix-tests
10847 (lambda _
10848 (substitute* "lift-standard.config"
10849 ((":relative-to lift-test")
10850 ":relative-to moptilities-test"))
10851 #t)))))
10852 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
10853 (description
10854 "MOP utilities provide a common interface between Lisps and make the
10855 MOP easier to use.")
10856 (license license:expat))))
10857
10858 (define-public cl-moptilities
10859 (sbcl-package->cl-source-package sbcl-moptilities))
10860
10861 (define-public sbcl-osicat
10862 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
10863 (package
10864 (name "sbcl-osicat")
10865 (version (git-version "0.7.0" "1" commit))
10866 (home-page "http://www.common-lisp.net/project/osicat/")
10867 (source
10868 (origin
10869 (method git-fetch)
10870 (uri (git-reference
10871 (url "https://github.com/osicat/osicat")
10872 (commit commit)))
10873 (file-name (git-file-name name version))
10874 (sha256
10875 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
10876 (build-system asdf-build-system/sbcl)
10877 (inputs
10878 `(("alexandria" ,sbcl-alexandria)
10879 ("cffi" ,sbcl-cffi)
10880 ("trivial-features" ,sbcl-trivial-features)))
10881 (native-inputs
10882 `(("rt" ,sbcl-rt)))
10883 (synopsis "Operating system interface for Common Lisp")
10884 (description
10885 "Osicat is a lightweight operating system interface for Common Lisp on
10886 Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
10887 accompaniment to the standard ANSI facilities.")
10888 (license license:expat))))
10889
10890 (define-public cl-osicat
10891 (sbcl-package->cl-source-package sbcl-osicat))
10892
10893 (define-public ecl-osicat
10894 (sbcl-package->ecl-package sbcl-osicat))
10895
10896 (define-public sbcl-clx-xembed
10897 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
10898 (revision "1"))
10899 (package
10900 (name "sbcl-clx-xembed")
10901 (version (git-version "0.1" revision commit))
10902 (home-page "https://github.com/laynor/clx-xembed")
10903 (source
10904 (origin
10905 (method git-fetch)
10906 (uri (git-reference
10907 (url "https://github.com/laynor/clx-xembed")
10908 (commit commit)))
10909 (file-name (git-file-name name version))
10910 (sha256
10911 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
10912 (build-system asdf-build-system/sbcl)
10913 (arguments
10914 `(#:asd-systems '("xembed")))
10915 (inputs
10916 `(("sbcl-clx" ,sbcl-clx)))
10917 (synopsis "CL(x) xembed protocol implementation ")
10918 (description "CL(x) xembed protocol implementation")
10919 ;; MIT License
10920 (license license:expat))))
10921
10922 (define-public cl-clx-xembed
10923 (sbcl-package->cl-source-package sbcl-clx-xembed))
10924
10925 (define-public ecl-clx-xembed
10926 (sbcl-package->ecl-package sbcl-clx-xembed))
10927
10928 (define-public sbcl-quantile-estimator
10929 (package
10930 (name "sbcl-quantile-estimator")
10931 (version "0.0.1")
10932 (source
10933 (origin
10934 (method git-fetch)
10935 (uri (git-reference
10936 (url "https://github.com/deadtrickster/quantile-estimator.cl")
10937 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
10938 (file-name (git-file-name name version))
10939 (sha256
10940 (base32
10941 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
10942 (build-system asdf-build-system/sbcl)
10943 (arguments
10944 '(#:asd-files '("quantile-estimator.asd")))
10945 (inputs
10946 `(("alexandria" ,sbcl-alexandria)))
10947 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
10948 (synopsis
10949 "Effective computation of biased quantiles over data streams")
10950 (description
10951 "Common Lisp implementation of Graham Cormode and S.
10952 Muthukrishnan's Effective Computation of Biased Quantiles over Data
10953 Streams in ICDE’05.")
10954 (license license:expat)))
10955
10956 (define-public cl-quantile-estimator
10957 (sbcl-package->cl-source-package sbcl-quantile-estimator))
10958
10959 (define-public ecl-quantile-estimator
10960 (sbcl-package->ecl-package sbcl-quantile-estimator))
10961
10962 (define-public sbcl-prometheus
10963 (package
10964 (name "sbcl-prometheus")
10965 (version "0.4.1")
10966 (source
10967 (origin
10968 (method git-fetch)
10969 (uri (git-reference
10970 (url "https://github.com/deadtrickster/prometheus.cl")
10971 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
10972 (file-name (git-file-name name version))
10973 (sha256
10974 (base32
10975 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
10976 (build-system asdf-build-system/sbcl)
10977 (inputs
10978 `(("alexandria" ,sbcl-alexandria)
10979 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10980 ("cffi" ,sbcl-cffi)
10981 ("cl-fad" ,sbcl-cl-fad)
10982 ("cl-ppcre" ,sbcl-cl-ppcre)
10983 ("drakma" ,sbcl-drakma)
10984 ("hunchentoot" ,sbcl-hunchentoot)
10985 ("local-time" ,sbcl-local-time)
10986 ("quantile-estimator" ,sbcl-quantile-estimator)
10987 ("salza2" ,sbcl-salza2)
10988 ("split-sequence" ,sbcl-split-sequence)
10989 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10990 (arguments
10991 '(#:asd-files '("prometheus.asd"
10992 "prometheus.collectors.sbcl.asd"
10993 "prometheus.collectors.process.asd"
10994 "prometheus.formats.text.asd"
10995 "prometheus.exposers.hunchentoot.asd"
10996 "prometheus.pushgateway.asd")
10997 #:asd-systems '("prometheus"
10998 "prometheus.collectors.sbcl"
10999 "prometheus.collectors.process"
11000 "prometheus.formats.text"
11001 "prometheus.exposers.hunchentoot"
11002 "prometheus.pushgateway")))
11003 (home-page "https://github.com/deadtrickster/prometheus.cl")
11004 (synopsis "Prometheus.io Common Lisp client")
11005 (description "Prometheus.io Common Lisp client.")
11006 (license license:expat)))
11007
11008 (define-public cl-prometheus
11009 (sbcl-package->cl-source-package sbcl-prometheus))
11010
11011 (define-public ecl-prometheus
11012 (sbcl-package->ecl-package sbcl-prometheus))
11013
11014 (define-public sbcl-uuid
11015 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
11016 (package
11017 (name "sbcl-uuid")
11018 (version (git-version "2012.12.26" "1" commit))
11019 (source
11020 (origin
11021 (method git-fetch)
11022 (uri (git-reference
11023 (url "https://github.com/dardoria/uuid")
11024 (commit commit)))
11025 (file-name (git-file-name name version))
11026 (sha256
11027 (base32
11028 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
11029 (build-system asdf-build-system/sbcl)
11030 (inputs
11031 `(("ironclad" ,sbcl-ironclad)
11032 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
11033 (home-page "https://github.com/dardoria/uuid")
11034 (synopsis
11035 "Common Lisp implementation of UUIDs according to RFC4122")
11036 (description
11037 "Common Lisp implementation of UUIDs according to RFC4122.")
11038 (license license:llgpl))))
11039
11040 (define-public cl-uuid
11041 (sbcl-package->cl-source-package sbcl-uuid))
11042
11043 (define-public ecl-uuid
11044 (sbcl-package->ecl-package sbcl-uuid))
11045
11046 (define-public sbcl-dissect
11047 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
11048 (package
11049 (name "sbcl-dissect")
11050 (version (git-version "1.0.0" "1" commit))
11051 (source
11052 (origin
11053 (method git-fetch)
11054 (uri (git-reference
11055 (url "https://github.com/Shinmera/dissect")
11056 (commit commit)))
11057 (file-name (git-file-name name version))
11058 (sha256
11059 (base32
11060 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
11061 (build-system asdf-build-system/sbcl)
11062 (inputs
11063 `(("cl-ppcre" ,sbcl-cl-ppcre)))
11064 (home-page "https://shinmera.github.io/dissect/")
11065 (synopsis
11066 "Introspection library for the call stack and restarts")
11067 (description
11068 "Dissect is a small Common Lisp library for introspecting the call stack
11069 and active restarts.")
11070 (license license:zlib))))
11071
11072 (define-public cl-dissect
11073 (sbcl-package->cl-source-package sbcl-dissect))
11074
11075 (define-public ecl-dissect
11076 (sbcl-package->ecl-package sbcl-dissect))
11077
11078 (define-public sbcl-rove
11079 (package
11080 (name "sbcl-rove")
11081 (version "0.9.6")
11082 (source
11083 (origin
11084 (method git-fetch)
11085 (uri (git-reference
11086 (url "https://github.com/fukamachi/rove")
11087 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
11088 (file-name (git-file-name name version))
11089 (sha256
11090 (base32
11091 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
11092 (build-system asdf-build-system/sbcl)
11093 (inputs
11094 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11095 ("dissect" ,sbcl-dissect)
11096 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
11097 (home-page "https://github.com/fukamachi/rove")
11098 (synopsis
11099 "Yet another common lisp testing library")
11100 (description
11101 "Rove is a unit testing framework for Common Lisp applications.
11102 This is intended to be a successor of Prove.")
11103 (license license:bsd-3)))
11104
11105 (define-public cl-rove
11106 (sbcl-package->cl-source-package sbcl-rove))
11107
11108 (define-public ecl-rove
11109 (sbcl-package->ecl-package sbcl-rove))
11110
11111 (define-public sbcl-exponential-backoff
11112 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
11113 (package
11114 (name "sbcl-exponential-backoff")
11115 (version (git-version "0" "1" commit))
11116 (source
11117 (origin
11118 (method git-fetch)
11119 (uri (git-reference
11120 (url "https://github.com/death/exponential-backoff")
11121 (commit commit)))
11122 (file-name (git-file-name name version))
11123 (sha256
11124 (base32
11125 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
11126 (build-system asdf-build-system/sbcl)
11127 (home-page "https://github.com/death/exponential-backoff")
11128 (synopsis "Exponential backoff algorithm in Common Lisp")
11129 (description
11130 "An implementation of the exponential backoff algorithm in Common Lisp.
11131 Inspired by the implementation found in Chromium. Read the header file to
11132 learn about each of the parameters.")
11133 (license license:expat))))
11134
11135 (define-public cl-exponential-backoff
11136 (sbcl-package->cl-source-package sbcl-exponential-backoff))
11137
11138 (define-public ecl-exponential-backoff
11139 (sbcl-package->ecl-package sbcl-exponential-backoff))
11140
11141 (define-public sbcl-sxql
11142 (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
11143 (package
11144 (name "sbcl-sxql")
11145 (version (git-version "0.1.0" "1" commit))
11146 (source
11147 (origin
11148 (method git-fetch)
11149 (uri (git-reference
11150 (url "https://github.com/fukamachi/sxql")
11151 (commit commit)))
11152 (file-name (git-file-name name version))
11153 (sha256
11154 (base32
11155 "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
11156 (build-system asdf-build-system/sbcl)
11157 (arguments
11158 `(#:test-asd-file "sxql-test.asd"))
11159 (inputs
11160 `(("alexandria" ,sbcl-alexandria)
11161 ("cl-syntax" ,sbcl-cl-syntax)
11162 ("iterate" ,sbcl-iterate)
11163 ("optima" ,sbcl-optima)
11164 ("split-sequence" ,sbcl-split-sequence)
11165 ("trivial-types" ,sbcl-trivial-types)))
11166 (native-inputs
11167 `(("prove" ,sbcl-prove)))
11168 (home-page "https://github.com/fukamachi/sxql")
11169 (synopsis "SQL generator for Common Lisp")
11170 (description "SQL generator for Common Lisp.")
11171 (license license:bsd-3))))
11172
11173 (define-public cl-sxql
11174 (sbcl-package->cl-source-package sbcl-sxql))
11175
11176 (define-public ecl-sxql
11177 (sbcl-package->ecl-package sbcl-sxql))
11178
11179 (define-public sbcl-1am
11180 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
11181 (package
11182 (name "sbcl-1am")
11183 (version (git-version "0.0" "1" commit))
11184 (source
11185 (origin
11186 (method git-fetch)
11187 (uri (git-reference
11188 (url "https://github.com/lmj/1am")
11189 (commit commit)))
11190 (file-name (git-file-name name version))
11191 (sha256
11192 (base32
11193 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
11194 (build-system asdf-build-system/sbcl)
11195 (home-page "https://github.com/lmj/1am")
11196 (synopsis "Minimal testing framework for Common Lisp")
11197 (description "A minimal testing framework for Common Lisp.")
11198 (license license:expat))))
11199
11200 (define-public cl-1am
11201 (sbcl-package->cl-source-package sbcl-1am))
11202
11203 (define-public ecl-1am
11204 (sbcl-package->ecl-package sbcl-1am))
11205
11206 (define-public sbcl-cl-ascii-table
11207 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
11208 (revision "1"))
11209 (package
11210 (name "sbcl-cl-ascii-table")
11211 (version (git-version "0.0.0" revision commit))
11212 (source
11213 (origin
11214 (method git-fetch)
11215 (uri (git-reference
11216 (url "https://github.com/telephil/cl-ascii-table")
11217 (commit commit)))
11218 (file-name (git-file-name name version))
11219 (sha256
11220 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
11221 (build-system asdf-build-system/sbcl)
11222 (synopsis "Library to make ascii-art tables")
11223 (description
11224 "This is a Common Lisp library to present tabular data in ascii-art
11225 tables.")
11226 (home-page "https://github.com/telephil/cl-ascii-table")
11227 (license license:expat))))
11228
11229 (define-public cl-ascii-table
11230 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
11231
11232 (define-public ecl-cl-ascii-table
11233 (sbcl-package->ecl-package sbcl-cl-ascii-table))
11234
11235 (define-public sbcl-cl-rdkafka
11236 (package
11237 (name "sbcl-cl-rdkafka")
11238 (version "1.1.0")
11239 (source
11240 (origin
11241 (method git-fetch)
11242 (uri (git-reference
11243 (url "https://github.com/SahilKang/cl-rdkafka")
11244 (commit (string-append "v" version))))
11245 (file-name (git-file-name name version))
11246 (sha256
11247 (base32
11248 "0z2g0k0xy8k1p9g93h8dy9wbygaq7ziwagm4yz93zk67mhc0b84v"))))
11249 (build-system asdf-build-system/sbcl)
11250 (arguments
11251 `(#:tests? #f ; Attempts to connect to locally running Kafka
11252 #:phases
11253 (modify-phases %standard-phases
11254 (add-after 'unpack 'fix-paths
11255 (lambda* (#:key inputs #:allow-other-keys)
11256 (substitute* "src/low-level/librdkafka-bindings.lisp"
11257 (("librdkafka" all)
11258 (string-append (assoc-ref inputs "librdkafka") "/lib/"
11259 all))))))))
11260 (inputs
11261 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11262 ("cffi" ,sbcl-cffi)
11263 ("librdkafka" ,librdkafka)
11264 ("lparallel" ,sbcl-lparallel)
11265 ("trivial-garbage" ,sbcl-trivial-garbage)))
11266 (home-page "https://github.com/SahilKang/cl-rdkafka")
11267 (synopsis "Common Lisp client library for Apache Kafka")
11268 (description "A Common Lisp client library for Apache Kafka.")
11269 (license license:gpl3)))
11270
11271 (define-public cl-rdkafka
11272 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
11273
11274 (define-public ecl-cl-rdkafka
11275 (sbcl-package->ecl-package sbcl-cl-rdkafka))
11276
11277 (define-public sbcl-acclimation
11278 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
11279 (package
11280 (name "sbcl-acclimation")
11281 (version (git-version "0.0.0" "1" commit))
11282 (source
11283 (origin
11284 (method git-fetch)
11285 (uri (git-reference
11286 (url "https://github.com/robert-strandh/Acclimation")
11287 (commit commit)))
11288 (file-name (git-file-name name version))
11289 (sha256
11290 (base32
11291 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
11292 (build-system asdf-build-system/sbcl)
11293 (home-page "https://github.com/robert-strandh/Acclimation")
11294 (synopsis "Internationalization library for Common Lisp")
11295 (description "This project is meant to provide tools for
11296 internationalizing Common Lisp programs.
11297
11298 One important aspect of internationalization is of course the language used in
11299 error messages, documentation strings, etc. But with this project we provide
11300 tools for all other aspects of internationalization as well, including dates,
11301 weight, temperature, names of physical quantitites, etc.")
11302 (license license:bsd-2))))
11303
11304 (define-public cl-acclimation
11305 (sbcl-package->cl-source-package sbcl-acclimation))
11306
11307 (define-public ecl-acclimation
11308 (sbcl-package->ecl-package sbcl-acclimation))
11309
11310 (define-public sbcl-clump
11311 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
11312 (package
11313 (name "sbcl-clump")
11314 (version (git-version "0.0.0" "1" commit))
11315 (source
11316 (origin
11317 (method git-fetch)
11318 (uri (git-reference
11319 (url "https://github.com/robert-strandh/Clump")
11320 (commit commit)))
11321 (file-name (git-file-name name version))
11322 (sha256
11323 (base32
11324 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
11325 (inputs
11326 `(("acclimation" ,sbcl-acclimation)))
11327 (build-system asdf-build-system/sbcl)
11328 (home-page "https://github.com/robert-strandh/Clump")
11329 (synopsis "Collection of tree implementations for Common Lisp")
11330 (description "The purpose of this library is to provide a collection of
11331 implementations of trees.
11332
11333 In contrast to existing libraries such as cl-containers, it does not impose a
11334 particular use for the trees. Instead, it aims for a stratified design,
11335 allowing client code to choose between different levels of abstraction.
11336
11337 As a consequence of this policy, low-level interfaces are provided where
11338 the concrete representation is exposed, but also high level interfaces
11339 where the trees can be used as search trees or as trees that represent
11340 sequences of objects.")
11341 (license license:bsd-2))))
11342
11343 (define-public cl-clump
11344 (sbcl-package->cl-source-package sbcl-clump))
11345
11346 (define-public ecl-clump
11347 (sbcl-package->ecl-package sbcl-clump))
11348
11349 (define-public sbcl-cluffer
11350 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
11351 (package
11352 (name "sbcl-cluffer")
11353 (version (git-version "0.0.0" "1" commit))
11354 (source
11355 (origin
11356 (method git-fetch)
11357 (uri (git-reference
11358 (url "https://github.com/robert-strandh/cluffer")
11359 (commit commit)))
11360 (file-name (git-file-name name version))
11361 (sha256
11362 (base32
11363 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
11364 (build-system asdf-build-system/sbcl)
11365 (inputs
11366 `(("acclimation" ,sbcl-acclimation)
11367 ("clump" ,sbcl-clump)))
11368 (home-page "https://github.com/robert-strandh/cluffer")
11369 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
11370 (description "Cluffer is a library for representing the buffer of a text
11371 editor. As such, it defines a set of CLOS protocols for client code to
11372 interact with the buffer contents in various ways, and it supplies different
11373 implementations of those protocols for different purposes.")
11374 (license license:bsd-2))))
11375
11376 (define-public cl-cluffer
11377 (sbcl-package->cl-source-package sbcl-cluffer))
11378
11379 (define-public ecl-cluffer
11380 (sbcl-package->ecl-package sbcl-cluffer))
11381
11382 (define-public sbcl-cl-libsvm-format
11383 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
11384 (revision "0"))
11385 (package
11386 (name "sbcl-cl-libsvm-format")
11387 (version (git-version "0.1.0" revision commit))
11388 (source
11389 (origin
11390 (method git-fetch)
11391 (uri (git-reference
11392 (url "https://github.com/masatoi/cl-libsvm-format")
11393 (commit commit)))
11394 (file-name (git-file-name name version))
11395 (sha256
11396 (base32
11397 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
11398 (build-system asdf-build-system/sbcl)
11399 (native-inputs
11400 `(("prove" ,sbcl-prove)))
11401 (inputs
11402 `(("alexandria" ,sbcl-alexandria)))
11403 (synopsis "LibSVM data format reader for Common Lisp")
11404 (description
11405 "This Common Lisp library provides a fast reader for data in LibSVM
11406 format.")
11407 (home-page "https://github.com/masatoi/cl-libsvm-format")
11408 (license license:expat))))
11409
11410 (define-public cl-libsvm-format
11411 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
11412
11413 (define-public ecl-cl-libsvm-format
11414 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
11415
11416 (define-public sbcl-cl-online-learning
11417 (let ((commit "87fbef8a340219e853adb3a5bf44a0470da76964")
11418 (revision "1"))
11419 (package
11420 (name "sbcl-cl-online-learning")
11421 (version (git-version "0.5" revision commit))
11422 (source
11423 (origin
11424 (method git-fetch)
11425 (uri (git-reference
11426 (url "https://github.com/masatoi/cl-online-learning")
11427 (commit commit)))
11428 (file-name (git-file-name "cl-online-learning" version))
11429 (sha256
11430 (base32
11431 "1lfq04lnxivx59nq5dd02glyqsqzf3vdn4s9b8wnaln5fs8g2ph9"))))
11432 (build-system asdf-build-system/sbcl)
11433 (native-inputs
11434 `(("prove" ,sbcl-prove)))
11435 (inputs
11436 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11437 ("cl-store" ,sbcl-cl-store)))
11438 (arguments
11439 `(#:test-asd-file "cl-online-learning-test.asd"
11440 #:asd-systems '("cl-online-learning-test"
11441 "cl-online-learning")))
11442 (home-page "https://github.com/masatoi/cl-online-learning")
11443 (synopsis "Online Machine Learning for Common Lisp")
11444 (description
11445 "This library contains a collection of machine learning algorithms for
11446 online linear classification written in Common Lisp.")
11447 (license license:expat))))
11448
11449 (define-public cl-online-learning
11450 (sbcl-package->cl-source-package sbcl-cl-online-learning))
11451
11452 (define-public ecl-cl-online-learning
11453 (sbcl-package->ecl-package sbcl-cl-online-learning))
11454
11455 (define-public sbcl-cl-mpg123
11456 (let ((commit "5f042c839d2ea4a2ff2a7b60c839d8633d64161d")
11457 (revision "1"))
11458 (package
11459 (name "sbcl-cl-mpg123")
11460 (version (git-version "1.0.0" revision commit))
11461 (source
11462 (origin
11463 (method git-fetch)
11464 (uri (git-reference
11465 (url "https://github.com/Shirakumo/cl-mpg123")
11466 (commit commit)))
11467 (file-name (git-file-name "cl-mpg123" version))
11468 (sha256
11469 (base32 "1hl721xaczxck008ax2y3jpkm509ry1sg3lklh2k76764m3ndrjf"))
11470 (modules '((guix build utils)))
11471 (snippet
11472 '(begin
11473 ;; Remove bundled pre-compiled libraries.
11474 (delete-file-recursively "static")
11475 #t))))
11476 (build-system asdf-build-system/sbcl)
11477 (arguments
11478 `(#:asd-files '("cl-mpg123.asd" "cl-mpg123-example.asd")
11479 #:asd-systems '("cl-mpg123" "cl-mpg123-example")
11480 #:phases
11481 (modify-phases %standard-phases
11482 (add-after 'unpack 'fix-paths
11483 (lambda* (#:key inputs #:allow-other-keys)
11484 (substitute* "low-level.lisp"
11485 (("libmpg123.so" all)
11486 (string-append (assoc-ref inputs "libmpg123")
11487 "/lib/" all))))))))
11488 (inputs
11489 `(("cffi" ,sbcl-cffi)
11490 ("cl-out123" ,sbcl-cl-out123)
11491 ("documentation-utils" ,sbcl-documentation-utils)
11492 ("libmpg123" ,mpg123)
11493 ("trivial-features" ,sbcl-trivial-features)
11494 ("trivial-garbage" ,sbcl-trivial-garbage)
11495 ("verbose" ,sbcl-verbose)))
11496 (home-page "https://shirakumo.github.io/cl-mpg123/")
11497 (synopsis "Common Lisp bindings to libmpg123")
11498 (description
11499 "This is a bindings and wrapper library to @code{libmpg123} allowing for
11500 convenient, extensive, and fast decoding of MPEG1/2/3 (most prominently mp3)
11501 files.")
11502 (license license:zlib))))
11503
11504 (define-public ecl-cl-mpg123
11505 (sbcl-package->ecl-package sbcl-cl-mpg123))
11506
11507 (define-public cl-mpg123
11508 (sbcl-package->cl-source-package sbcl-cl-mpg123))
11509
11510 (define-public sbcl-cl-out123
11511 (let ((commit "6b58d3f8c2a28ad09059ac4c60fb3c781b9b421b")
11512 (revision "1"))
11513 (package
11514 (name "sbcl-cl-out123")
11515 (version (git-version "1.0.0" revision commit))
11516 (source
11517 (origin
11518 (method git-fetch)
11519 (uri (git-reference
11520 (url "https://github.com/Shirakumo/cl-out123")
11521 (commit commit)))
11522 (file-name (git-file-name "cl-out123" version))
11523 (sha256
11524 (base32 "0mdwgfax6sq68wvdgjjp78i40ah7wqkpqnvaq8a1c509k7ghdgv1"))
11525 (modules '((guix build utils)))
11526 (snippet
11527 '(begin
11528 ;; Remove bundled pre-compiled libraries.
11529 (delete-file-recursively "static")
11530 #t))))
11531 (build-system asdf-build-system/sbcl)
11532 (arguments
11533 `(#:phases
11534 (modify-phases %standard-phases
11535 (add-after 'unpack 'fix-paths
11536 (lambda* (#:key inputs #:allow-other-keys)
11537 (substitute* "low-level.lisp"
11538 (("libout123.so" all)
11539 (string-append (assoc-ref inputs "libout123")
11540 "/lib/" all)))))
11541 ;; NOTE: (Sharlatan-20210129T134529+0000): ECL package `ext' has no
11542 ;; exported macro `without-interrupts' it's moved to `mp' package
11543 ;; https://github.com/Shirakumo/cl-out123/issues/2
11544 ;; https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/src/lsp/mp.lsp
11545 (add-after 'unpack 'fix-ecl-package-name
11546 (lambda _
11547 (substitute* "wrapper.lisp"
11548 (("ext:without-interrupts.*") "mp:without-interrupts\n"))
11549 #t)))))
11550 (inputs
11551 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11552 ("cffi" ,sbcl-cffi)
11553 ("documentation-utils" ,sbcl-documentation-utils)
11554 ("libout123" ,mpg123)
11555 ("trivial-features" ,sbcl-trivial-features)
11556 ("trivial-garbage" ,sbcl-trivial-garbage)))
11557 (home-page "https://shirakumo.github.io/cl-out123/")
11558 (synopsis "Common Lisp bindings to libout123")
11559 (description
11560 "This is a bindings library to @code{libout123} which allows easy
11561 cross-platform audio playback.")
11562 (license license:zlib))))
11563
11564 (define-public ecl-cl-out123
11565 (sbcl-package->ecl-package sbcl-cl-out123))
11566
11567 (define-public cl-out123
11568 (sbcl-package->cl-source-package sbcl-cl-out123))
11569
11570 (define-public sbcl-cl-random-forest
11571 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
11572 (revision "1"))
11573 (package
11574 (name "sbcl-cl-random-forest")
11575 (version (git-version "0.1" revision commit))
11576 (source
11577 (origin
11578 (method git-fetch)
11579 (uri (git-reference
11580 (url "https://github.com/masatoi/cl-random-forest")
11581 (commit commit)))
11582 (file-name (git-file-name name version))
11583 (sha256
11584 (base32
11585 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
11586 (build-system asdf-build-system/sbcl)
11587 (native-inputs
11588 `(("prove" ,sbcl-prove)
11589 ("trivial-garbage" ,sbcl-trivial-garbage)))
11590 (inputs
11591 `(("alexandria" ,sbcl-alexandria)
11592 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11593 ("cl-online-learning" ,sbcl-cl-online-learning)
11594 ("lparallel" ,sbcl-lparallel)))
11595 (arguments
11596 `(#:tests? #f)) ; The tests download data from the Internet
11597 (synopsis "Random Forest and Global Refinement for Common Lisp")
11598 (description
11599 "CL-random-forest is an implementation of Random Forest for multiclass
11600 classification and univariate regression written in Common Lisp. It also
11601 includes an implementation of Global Refinement of Random Forest.")
11602 (home-page "https://github.com/masatoi/cl-random-forest")
11603 (license license:expat))))
11604
11605 (define-public cl-random-forest
11606 (sbcl-package->cl-source-package sbcl-cl-random-forest))
11607
11608 (define-public ecl-cl-random-forest
11609 (sbcl-package->ecl-package sbcl-cl-random-forest))
11610
11611 (define-public sbcl-bordeaux-fft
11612 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
11613 (revision "0"))
11614 (package
11615 (name "sbcl-bordeaux-fft")
11616 (version (git-version "1.0.1" revision commit))
11617 (source
11618 (origin
11619 (method git-fetch)
11620 (uri (git-reference
11621 (url "https://github.com/ahefner/bordeaux-fft")
11622 (commit commit)))
11623 (file-name (git-file-name name version))
11624 (sha256
11625 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
11626 (build-system asdf-build-system/sbcl)
11627 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
11628 (synopsis "Fast Fourier Transform for Common Lisp")
11629 (description
11630 "The Bordeaux-FFT library provides a reasonably efficient implementation
11631 of the Fast Fourier Transform and its inverse for complex-valued inputs, in
11632 portable Common Lisp.")
11633 (license license:gpl2+))))
11634
11635 (define-public cl-bordeaux-fft
11636 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
11637
11638 (define-public ecl-bordeaux-fft
11639 (sbcl-package->ecl-package sbcl-bordeaux-fft))
11640
11641 (define-public sbcl-napa-fft3
11642 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
11643 (revision "0"))
11644 (package
11645 (name "sbcl-napa-fft3")
11646 (version (git-version "0.0.1" revision commit))
11647 (source
11648 (origin
11649 (method git-fetch)
11650 (uri (git-reference
11651 (url "https://github.com/pkhuong/Napa-FFT3")
11652 (commit commit)))
11653 (file-name (git-file-name name version))
11654 (sha256
11655 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
11656 (build-system asdf-build-system/sbcl)
11657 (home-page "https://github.com/pkhuong/Napa-FFT3")
11658 (synopsis "Fast Fourier Transform routines in Common Lisp")
11659 (description
11660 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
11661 buildings blocks to express common operations that involve DFTs: filtering,
11662 convolutions, etc.")
11663 (license license:bsd-3))))
11664
11665 (define-public cl-napa-fft3
11666 (sbcl-package->cl-source-package sbcl-napa-fft3))
11667
11668 (define-public sbcl-cl-tga
11669 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
11670 (revision "0"))
11671 (package
11672 (name "sbcl-cl-tga")
11673 (version (git-version "0.0.0" revision commit))
11674 (source
11675 (origin
11676 (method git-fetch)
11677 (uri (git-reference
11678 (url "https://github.com/fisxoj/cl-tga")
11679 (commit commit)))
11680 (file-name (git-file-name name version))
11681 (sha256
11682 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
11683 (build-system asdf-build-system/sbcl)
11684 (home-page "https://github.com/fisxoj/cl-tga")
11685 (synopsis "TGA file loader for Common Lisp")
11686 (description
11687 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
11688 programs. It's a very simple library, and, at the moment, only supports
11689 non-RLE encoded forms of the files.")
11690 (license license:expat))))
11691
11692 (define-public cl-tga
11693 (sbcl-package->cl-source-package sbcl-cl-tga))
11694
11695 (define-public ecl-cl-tga
11696 (sbcl-package->ecl-package sbcl-cl-tga))
11697
11698 (define-public sbcl-com.gigamonkeys.binary-data
11699 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
11700 (revision "0"))
11701 (package
11702 (name "sbcl-com.gigamonkeys.binary-data")
11703 (version (git-version "0.0.0" revision commit))
11704 (source
11705 (origin
11706 (method git-fetch)
11707 (uri (git-reference
11708 (url "https://github.com/gigamonkey/monkeylib-binary-data")
11709 (commit commit)))
11710 (file-name (git-file-name name version))
11711 (sha256
11712 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
11713 (build-system asdf-build-system/sbcl)
11714 (inputs
11715 `(("alexandria" ,sbcl-alexandria)))
11716 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
11717 (synopsis "Common Lisp library for reading and writing binary data")
11718 (description
11719 "This a Common Lisp library for reading and writing binary data. It is
11720 based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
11721 (license license:bsd-3))))
11722
11723 (define-public cl-com.gigamonkeys.binary-data
11724 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
11725
11726 (define-public ecl-com.gigamonkeys.binary-data
11727 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
11728
11729 (define-public sbcl-deflate
11730 (package
11731 (name "sbcl-deflate")
11732 (version "1.0.3")
11733 (source
11734 (origin
11735 (method git-fetch)
11736 (uri (git-reference
11737 (url "https://github.com/pmai/Deflate")
11738 (commit (string-append "release-" version))))
11739 (file-name (git-file-name name version))
11740 (sha256
11741 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
11742 (build-system asdf-build-system/sbcl)
11743 (home-page "https://github.com/pmai/Deflate")
11744 (synopsis "Native deflate decompression for Common Lisp")
11745 (description
11746 "This library is an implementation of Deflate (RFC 1951) decompression,
11747 with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
11748 wrappers of deflate streams. It currently does not handle compression.")
11749 (license license:expat)))
11750
11751 (define-public cl-deflate
11752 (sbcl-package->cl-source-package sbcl-deflate))
11753
11754 (define-public ecl-deflate
11755 (sbcl-package->ecl-package sbcl-deflate))
11756
11757 (define-public sbcl-skippy
11758 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
11759 (revision "0"))
11760 (package
11761 (name "sbcl-skippy")
11762 (version (git-version "1.3.12" revision commit))
11763 (source
11764 (origin
11765 (method git-fetch)
11766 (uri (git-reference
11767 (url "https://github.com/xach/skippy")
11768 (commit commit)))
11769 (file-name (git-file-name name version))
11770 (sha256
11771 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
11772 (build-system asdf-build-system/sbcl)
11773 (home-page "https://xach.com/lisp/skippy/")
11774 (synopsis "Common Lisp library for GIF images")
11775 (description
11776 "Skippy is a Common Lisp library to read and write GIF image files.")
11777 (license license:bsd-2))))
11778
11779 (define-public cl-skippy
11780 (sbcl-package->cl-source-package sbcl-skippy))
11781
11782 (define-public ecl-skippy
11783 (sbcl-package->ecl-package sbcl-skippy))
11784
11785 (define-public sbcl-cl-freetype2
11786 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
11787 (revision "0"))
11788 (package
11789 (name "sbcl-cl-freetype2")
11790 (version (git-version "1.1" revision commit))
11791 (source
11792 (origin
11793 (method git-fetch)
11794 (uri (git-reference
11795 (url "https://github.com/rpav/cl-freetype2")
11796 (commit commit)))
11797 (file-name (git-file-name name version))
11798 (sha256
11799 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
11800 (build-system asdf-build-system/sbcl)
11801 (native-inputs
11802 `(("fiveam" ,sbcl-fiveam)))
11803 (inputs
11804 `(("alexandria" ,sbcl-alexandria)
11805 ("cffi" ,sbcl-cffi)
11806 ("freetype" ,freetype)
11807 ("trivial-garbage" ,sbcl-trivial-garbage)))
11808 (arguments
11809 `(#:phases
11810 (modify-phases %standard-phases
11811 (add-after 'unpack 'fix-paths
11812 (lambda* (#:key inputs #:allow-other-keys)
11813 (substitute* "src/ffi/ft2-lib.lisp"
11814 (("\"libfreetype\"")
11815 (string-append "\"" (assoc-ref inputs "freetype")
11816 "/lib/libfreetype\"")))
11817 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
11818 (("-I/usr/include/freetype")
11819 (string-append "-I" (assoc-ref inputs "freetype")
11820 "/include/freetype")))
11821 #t)))))
11822 (home-page "https://github.com/rpav/cl-freetype2")
11823 (synopsis "Common Lisp bindings for Freetype 2")
11824 (description
11825 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
11826 geared toward both using Freetype directly by providing a simplified API, as
11827 well as providing access to the underlying C structures and functions for use
11828 with other libraries which may also use Freetype.")
11829 (license license:bsd-3))))
11830
11831 (define-public cl-freetype2
11832 (sbcl-package->cl-source-package sbcl-cl-freetype2))
11833
11834 (define-public ecl-cl-freetype2
11835 (sbcl-package->ecl-package sbcl-cl-freetype2))
11836
11837 (define-public sbcl-opticl-core
11838 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
11839 (revision "0"))
11840 (package
11841 (name "sbcl-opticl-core")
11842 (version (git-version "0.0.0" revision commit))
11843 (source
11844 (origin
11845 (method git-fetch)
11846 (uri (git-reference
11847 (url "https://github.com/slyrus/opticl-core")
11848 (commit commit)))
11849 (file-name (git-file-name name version))
11850 (sha256
11851 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
11852 (build-system asdf-build-system/sbcl)
11853 (inputs
11854 `(("alexandria" ,sbcl-alexandria)))
11855 (home-page "https://github.com/slyrus/opticl-core")
11856 (synopsis "Core classes and pixel access macros for Opticl")
11857 (description
11858 "This Common Lisp library contains the core classes and pixel access
11859 macros for the Opticl image processing library.")
11860 (license license:bsd-2))))
11861
11862 (define-public cl-opticl-core
11863 (sbcl-package->cl-source-package sbcl-opticl-core))
11864
11865 (define-public ecl-opticl-core
11866 (sbcl-package->ecl-package sbcl-opticl-core))
11867
11868 (define-public sbcl-retrospectiff
11869 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
11870 (revision "0"))
11871 (package
11872 (name "sbcl-retrospectiff")
11873 (version (git-version "0.2" revision commit))
11874 (source
11875 (origin
11876 (method git-fetch)
11877 (uri (git-reference
11878 (url "https://github.com/slyrus/retrospectiff")
11879 (commit commit)))
11880 (file-name (git-file-name name version))
11881 (sha256
11882 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
11883 (build-system asdf-build-system/sbcl)
11884 (native-inputs
11885 `(("fiveam" ,sbcl-fiveam)))
11886 (inputs
11887 `(("cl-jpeg" ,sbcl-cl-jpeg)
11888 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
11889 ("deflate" ,sbcl-deflate)
11890 ("flexi-streams" ,sbcl-flexi-streams)
11891 ("ieee-floats" ,sbcl-ieee-floats)
11892 ("opticl-core" ,sbcl-opticl-core)))
11893 (home-page "https://github.com/slyrus/retrospectiff")
11894 (synopsis "Common Lisp library for TIFF images")
11895 (description
11896 "Retrospectiff is a common lisp library for reading and writing images
11897 in the TIFF (Tagged Image File Format) format.")
11898 (license license:bsd-2))))
11899
11900 (define-public cl-retrospectif
11901 (sbcl-package->cl-source-package sbcl-retrospectiff))
11902
11903 (define-public ecl-retrospectiff
11904 (sbcl-package->ecl-package sbcl-retrospectiff))
11905
11906 (define-public sbcl-mmap
11907 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
11908 (revision "0"))
11909 (package
11910 (name "sbcl-mmap")
11911 (version (git-version "1.0.0" revision commit))
11912 (source
11913 (origin
11914 (method git-fetch)
11915 (uri (git-reference
11916 (url "https://github.com/Shinmera/mmap")
11917 (commit commit)))
11918 (file-name (git-file-name name version))
11919 (sha256
11920 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
11921 (build-system asdf-build-system/sbcl)
11922 (native-inputs
11923 `(("alexandria" ,sbcl-alexandria)
11924 ("cffi" ,sbcl-cffi)
11925 ("parachute" ,sbcl-parachute)
11926 ("trivial-features" ,sbcl-trivial-features)))
11927 (inputs
11928 `(("cffi" ,sbcl-cffi)
11929 ("documentation-utils" ,sbcl-documentation-utils)))
11930 (home-page "https://shinmera.github.io/mmap/")
11931 (synopsis "File memory mapping for Common Lisp")
11932 (description
11933 "This is a utility library providing access to the @emph{mmap} family of
11934 functions in a portable way. It allows you to directly map a file into the
11935 address space of your process without having to manually read it into memory
11936 sequentially. Typically this is much more efficient for files that are larger
11937 than a few Kb.")
11938 (license license:zlib))))
11939
11940 (define-public cl-mmap
11941 (sbcl-package->cl-source-package sbcl-mmap))
11942
11943 (define-public ecl-mmap
11944 (sbcl-package->ecl-package sbcl-mmap))
11945
11946 (define-public sbcl-3bz
11947 (let ((commit "569614c40408f3aefc77ba233e0e4bd66d3850ad")
11948 (revision "1"))
11949 (package
11950 (name "sbcl-3bz")
11951 (version (git-version "0.0.0" revision commit))
11952 (source
11953 (origin
11954 (method git-fetch)
11955 (uri (git-reference
11956 (url "https://github.com/3b/3bz")
11957 (commit commit)))
11958 (file-name (git-file-name name version))
11959 (sha256
11960 (base32 "0kvvlvf50jhhw1s510f3clpr1a68632bq6d698yxcrx722igcrg4"))))
11961 (build-system asdf-build-system/sbcl)
11962 (inputs
11963 `(("alexandria" ,sbcl-alexandria)
11964 ("babel" ,sbcl-babel)
11965 ("cffi" ,sbcl-cffi)
11966 ("mmap" ,sbcl-mmap)
11967 ("nibbles" ,sbcl-nibbles)
11968 ("trivial-features" ,sbcl-trivial-features)))
11969 (home-page "https://github.com/3b/3bz")
11970 (synopsis "Deflate decompression for Common Lisp")
11971 (description
11972 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
11973 with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
11974 foreign pointers (for use with mmap and similar, etc), and from CL octet
11975 vectors and streams.")
11976 (license license:expat))))
11977
11978 (define-public cl-3bz
11979 (sbcl-package->cl-source-package sbcl-3bz))
11980
11981 (define-public ecl-3bz
11982 (sbcl-package->ecl-package sbcl-3bz))
11983
11984 (define-public sbcl-zpb-exif
11985 (package
11986 (name "sbcl-zpb-exif")
11987 (version "1.2.4")
11988 (source
11989 (origin
11990 (method git-fetch)
11991 (uri (git-reference
11992 (url "https://github.com/xach/zpb-exif")
11993 (commit (string-append "release-" version))))
11994 (file-name (git-file-name name version))
11995 (sha256
11996 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
11997 (build-system asdf-build-system/sbcl)
11998 (home-page "https://xach.com/lisp/zpb-exif/")
11999 (synopsis "EXIF information extractor for Common Lisp")
12000 (description
12001 "This is a Common Lisp library to extract EXIF information from image
12002 files.")
12003 (license license:bsd-2)))
12004
12005 (define-public cl-zpb-exif
12006 (sbcl-package->cl-source-package sbcl-zpb-exif))
12007
12008 (define-public ecl-zpb-exif
12009 (sbcl-package->ecl-package sbcl-zpb-exif))
12010
12011 (define-public sbcl-pngload
12012 (let ((commit "91f1d703c65bb6a94d6fee06ddbbbbbc5778b71f")
12013 (revision "2"))
12014 (package
12015 (name "sbcl-pngload")
12016 (version (git-version "2.0.0" revision commit))
12017 (source
12018 (origin
12019 (method git-fetch)
12020 (uri (git-reference
12021 (url "https://git.mfiano.net/mfiano/pngload.git")
12022 (commit commit)))
12023 (file-name (git-file-name "pngload" version))
12024 (sha256
12025 (base32 "0s94fdbrbqj12qvgyn2g4lfwvz7qhhzbclrpz5ni7adwxgrmvxl1"))))
12026 (build-system asdf-build-system/sbcl)
12027 (inputs
12028 `(("3bz" ,sbcl-3bz)
12029 ("alexandria" ,sbcl-alexandria)
12030 ("cffi" ,sbcl-cffi)
12031 ("mmap" ,sbcl-mmap)
12032 ("parse-float" ,sbcl-parse-float)
12033 ("static-vectors" ,sbcl-static-vectors)
12034 ("swap-bytes" ,sbcl-swap-bytes)
12035 ("zpb-exif" ,sbcl-zpb-exif)))
12036 (arguments
12037 ;; Test suite disabled because of a dependency cycle.
12038 ;; pngload tests depend on opticl which depends on pngload.
12039 '(#:tests? #f))
12040 (home-page "https://git.mfiano.net/mfiano/pngload.git")
12041 (synopsis "PNG image decoder for Common Lisp")
12042 (description
12043 "This is a Common Lisp library to load images in the PNG image format,
12044 both from files on disk, or streams in memory.")
12045 (license license:expat))))
12046
12047 (define-public cl-pngload
12048 (sbcl-package->cl-source-package sbcl-pngload))
12049
12050 (define-public ecl-pngload
12051 (sbcl-package->ecl-package sbcl-pngload))
12052
12053 (define-public sbcl-opticl
12054 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
12055 (revision "0"))
12056 (package
12057 (name "sbcl-opticl")
12058 (version (git-version "0.0.0" revision commit))
12059 (source
12060 (origin
12061 (method git-fetch)
12062 (uri (git-reference
12063 (url "https://github.com/slyrus/opticl")
12064 (commit commit)))
12065 (file-name (git-file-name name version))
12066 (sha256
12067 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
12068 (build-system asdf-build-system/sbcl)
12069 (native-inputs
12070 `(("fiveam" ,sbcl-fiveam)))
12071 (inputs
12072 `(("alexandria" ,sbcl-alexandria)
12073 ("cl-jpeg" ,sbcl-cl-jpeg)
12074 ("cl-tga" ,sbcl-cl-tga)
12075 ("png-read" ,sbcl-png-read)
12076 ("pngload" ,sbcl-pngload)
12077 ("retrospectiff" ,sbcl-retrospectiff)
12078 ("skippy" ,sbcl-skippy)
12079 ("zpng" ,sbcl-zpng)))
12080 (arguments
12081 '(#:asd-files '("opticl.asd")))
12082 (home-page "https://github.com/slyrus/opticl")
12083 (synopsis "Image processing library for Common Lisp")
12084 (description
12085 "Opticl is a Common Lisp library for representing, processing, loading,
12086 and saving 2-dimensional pixel-based images.")
12087 (license license:bsd-2))))
12088
12089 (define-public cl-opticl
12090 (sbcl-package->cl-source-package sbcl-opticl))
12091
12092 (define-public ecl-opticl
12093 (sbcl-package->ecl-package sbcl-opticl))
12094
12095 (define-public sbcl-mcclim
12096 (let ((commit "04cc542dd4b461b9d56406e40681d1a8f080730f")
12097 (revision "1"))
12098 (package
12099 (name "sbcl-mcclim")
12100 (version (git-version "0.9.7" revision commit))
12101 (source
12102 (origin
12103 (method git-fetch)
12104 (uri (git-reference
12105 (url "https://github.com/mcclim/mcclim")
12106 (commit commit)))
12107 (file-name (git-file-name name version))
12108 (sha256
12109 (base32 "1xjly8i62z72hfhlnz5kjd9i8xhrwckc7avyizxvhih67pkjmsx0"))))
12110 (build-system asdf-build-system/sbcl)
12111 (native-inputs
12112 `(("fiveam" ,sbcl-fiveam)
12113 ("pkg-config" ,pkg-config)))
12114 (inputs
12115 `(("alexandria" ,sbcl-alexandria)
12116 ("babel" ,sbcl-babel)
12117 ("bordeaux-threads" ,sbcl-bordeaux-threads)
12118 ("cl-freetype2" ,sbcl-cl-freetype2)
12119 ("cl-pdf" ,sbcl-cl-pdf)
12120 ("cffi" ,sbcl-cffi)
12121 ("cl-unicode" ,sbcl-cl-unicode)
12122 ("cl-vectors" ,sbcl-cl-vectors)
12123 ("closer-mop" ,sbcl-closer-mop)
12124 ("clx" ,sbcl-clx)
12125 ("flexi-streams" ,sbcl-flexi-streams)
12126 ("flexichain" ,sbcl-flexichain)
12127 ("font-dejavu" ,font-dejavu)
12128 ("fontconfig" ,fontconfig)
12129 ("freetype" ,freetype)
12130 ("harfbuzz" ,harfbuzz)
12131 ("log4cl" ,sbcl-log4cl)
12132 ("opticl" ,sbcl-opticl)
12133 ("spatial-trees" ,sbcl-spatial-trees)
12134 ("swank" ,sbcl-slime-swank)
12135 ("trivial-features" ,sbcl-trivial-features)
12136 ("trivial-garbage" ,sbcl-trivial-garbage)
12137 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
12138 ("zpb-ttf" ,sbcl-zpb-ttf)))
12139 (arguments
12140 '(#:asd-systems '("mcclim"
12141 "clim-examples")
12142 #:phases
12143 (modify-phases %standard-phases
12144 (add-after 'unpack 'fix-paths
12145 (lambda* (#:key inputs #:allow-other-keys)
12146 ;; mcclim-truetype uses DejaVu as default font and
12147 ;; sets the path at build time.
12148 (substitute* "Extensions/fonts/fontconfig.lisp"
12149 (("/usr/share/fonts/truetype/dejavu/")
12150 (string-append (assoc-ref inputs "font-dejavu")
12151 "/share/fonts/truetype/")))
12152 (substitute* "Extensions/fontconfig/src/functions.lisp"
12153 (("libfontconfig\\.so")
12154 (string-append (assoc-ref inputs "fontconfig")
12155 "/lib/libfontconfig.so")))
12156 (substitute* "Extensions/harfbuzz/src/functions.lisp"
12157 (("libharfbuzz\\.so")
12158 (string-append (assoc-ref inputs "harfbuzz")
12159 "/lib/libharfbuzz.so")))
12160 #t))
12161 (add-after 'unpack 'fix-build
12162 (lambda _
12163 ;; The cffi-grovel system does not get loaded automatically,
12164 ;; so we load it explicitly.
12165 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
12166 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
12167 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
12168 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
12169 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
12170 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
12171 #t)))))
12172 (home-page "https://common-lisp.net/project/mcclim/")
12173 (synopsis "Common Lisp GUI toolkit")
12174 (description
12175 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
12176 specification}, a toolkit for writing GUIs in Common Lisp.")
12177 (license license:lgpl2.1+))))
12178
12179 (define-public cl-mcclim
12180 (sbcl-package->cl-source-package sbcl-mcclim))
12181
12182 (define-public ecl-mcclim
12183 (sbcl-package->ecl-package sbcl-mcclim))
12184
12185 (define-public sbcl-cl-inflector
12186 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
12187 (revision "1"))
12188 (package
12189 (name "sbcl-cl-inflector")
12190 (version (git-version "0.2" revision commit))
12191 (source
12192 (origin
12193 (method git-fetch)
12194 (uri (git-reference
12195 (url "https://github.com/AccelerationNet/cl-inflector")
12196 (commit commit)))
12197 (file-name (git-file-name name version))
12198 (sha256
12199 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
12200 (build-system asdf-build-system/sbcl)
12201 (native-inputs
12202 `(("lisp-unit2" ,sbcl-lisp-unit2)))
12203 (inputs
12204 `(("alexandria" ,sbcl-alexandria)
12205 ("cl-ppcre" ,sbcl-cl-ppcre)))
12206 (home-page "https://github.com/AccelerationNet/cl-inflector")
12207 (synopsis "Library to pluralize/singularize English and Portuguese words")
12208 (description
12209 "This is a common lisp library to easily pluralize and singularize
12210 English and Portuguese words. This is a port of the ruby ActiveSupport
12211 Inflector module.")
12212 (license license:expat))))
12213
12214 (define-public cl-inflector
12215 (sbcl-package->cl-source-package sbcl-cl-inflector))
12216
12217 (define-public ecl-cl-inflector
12218 (sbcl-package->ecl-package sbcl-cl-inflector))
12219
12220 (define-public sbcl-ixf
12221 (let ((commit "ed26f87e4127e4a9e3aac4ff1e60d1f39cca5183")
12222 (revision "1"))
12223 (package
12224 (name "sbcl-ixf")
12225 (version (git-version "0.1.0" revision commit))
12226 (source
12227 (origin
12228 (method git-fetch)
12229 (uri (git-reference
12230 (url "https://github.com/dimitri/cl-ixf")
12231 (commit commit)))
12232 (file-name (git-file-name "cl-ixf" version))
12233 (sha256
12234 (base32 "1wjdnf4vr9z7lcfc49kl43g6l2i23q9n81siy494k17d766cdvqa"))))
12235 (build-system asdf-build-system/sbcl)
12236 (inputs
12237 `(("alexandria" ,sbcl-alexandria)
12238 ("babel" ,sbcl-babel)
12239 ("cl-ppcre" ,sbcl-cl-ppcre)
12240 ("ieee-floats" ,sbcl-ieee-floats)
12241 ("local-time" ,sbcl-local-time)
12242 ("md5" ,sbcl-md5)
12243 ("split-sequence" ,sbcl-split-sequence)))
12244 (home-page "https://github.com/dimitri/cl-ixf")
12245 (synopsis "Parse IBM IXF file format")
12246 (description
12247 "This is a Common Lisp library to handle the IBM PC version of the IXF
12248 (Integration Exchange Format) file format.")
12249 (license license:public-domain))))
12250
12251 (define-public ecl-ixf
12252 (sbcl-package->ecl-package sbcl-ixf))
12253
12254 (define-public cl-ixf
12255 (sbcl-package->cl-source-package sbcl-ixf))
12256
12257 (define-public sbcl-qbase64
12258 (package
12259 (name "sbcl-qbase64")
12260 (version "0.3.0")
12261 (source
12262 (origin
12263 (method git-fetch)
12264 (uri (git-reference
12265 (url "https://github.com/chaitanyagupta/qbase64")
12266 (commit version)))
12267 (file-name (git-file-name name version))
12268 (sha256
12269 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
12270 (build-system asdf-build-system/sbcl)
12271 (inputs
12272 `(("metabang-bind" ,sbcl-metabang-bind)
12273 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
12274 (native-inputs
12275 `(("fiveam" ,sbcl-fiveam)))
12276 (home-page "https://github.com/chaitanyagupta/qbase64")
12277 (synopsis "Base64 encoder and decoder for Common Lisp")
12278 (description "@code{qbase64} provides a fast and flexible base64 encoder
12279 and decoder for Common Lisp.")
12280 (license license:bsd-3)))
12281
12282 (define-public cl-qbase64
12283 (sbcl-package->cl-source-package sbcl-qbase64))
12284
12285 (define-public ecl-qbase64
12286 (sbcl-package->ecl-package sbcl-qbase64))
12287
12288 (define-public sbcl-lw-compat
12289 ;; No release since 2013.
12290 (let ((commit "aabfe28c6c1a4949f9d7b3cb30319367c9fd1c0d"))
12291 (package
12292 (name "sbcl-lw-compat")
12293 (version (git-version "1.0.0" "1" commit))
12294 (source
12295 (origin
12296 (method git-fetch)
12297 (uri (git-reference
12298 (url "https://github.com/pcostanza/lw-compat/")
12299 (commit commit)))
12300 (file-name (git-file-name name version))
12301 (sha256
12302 (base32 "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav"))))
12303 (build-system asdf-build-system/sbcl)
12304 (home-page "https://github.com/pcostanza/lw-compat/")
12305 (synopsis "LispWorks utilities ported to other Common Lisp implementations")
12306 (description "This package contains a few utility functions from the
12307 LispWorks library that are used in software such as ContextL.")
12308 (license license:expat))))
12309
12310 (define-public cl-lw-compat
12311 (sbcl-package->cl-source-package sbcl-lw-compat))
12312
12313 (define-public ecl-lw-compat
12314 (sbcl-package->ecl-package sbcl-lw-compat))
12315
12316 (define-public sbcl-contextl
12317 ;; No release since 2013.
12318 (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9"))
12319 (package
12320 (name "sbcl-contextl")
12321 (version (git-version "1.0.0" "1" commit))
12322 (source
12323 (origin
12324 (method git-fetch)
12325 (uri (git-reference
12326 (url "https://github.com/pcostanza/contextl/")
12327 (commit commit)))
12328 (file-name (git-file-name name version))
12329 (sha256
12330 (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226"))))
12331 (build-system asdf-build-system/sbcl)
12332 (inputs
12333 `(("closer-mop" ,sbcl-closer-mop)
12334 ("lw-compat" ,sbcl-lw-compat)))
12335 (home-page "https://github.com/pcostanza/contextl")
12336 (synopsis "Context-oriented programming for Common Lisp")
12337 (description "ContextL is a CLOS extension for Context-Oriented
12338 Programming (COP).
12339
12340 Find overview of ContextL's features in an overview paper:
12341 @url{http://www.p-cos.net/documents/contextl-soa.pdf}. See also this general
12342 overview article about COP which also contains some ContextL examples:
12343 @url{http://www.jot.fm/issues/issue_2008_03/article4/}.")
12344 (license license:expat))))
12345
12346 (define-public cl-contextl
12347 (sbcl-package->cl-source-package sbcl-contextl))
12348
12349 (define-public ecl-contextl
12350 (sbcl-package->ecl-package sbcl-contextl))
12351
12352 (define-public sbcl-hu.dwim.common-lisp
12353 (let ((commit "90558195773383142a57a16687d5e7f4adea6418"))
12354 (package
12355 (name "sbcl-hu.dwim.common-lisp")
12356 (version "2021-01-27")
12357 (source
12358 (origin
12359 (method git-fetch)
12360 (uri (git-reference
12361 (url "https://github.com/hu-dwim/hu.dwim.common-lisp/")
12362 (commit commit)))
12363 (file-name (git-file-name name version))
12364 (sha256
12365 (base32 "06zkdw3scnaw0d4nmsgkv7pi7sw00dikdgfgsqmbqfbz2yrsdabk"))))
12366 (build-system asdf-build-system/sbcl)
12367 (native-inputs
12368 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12369 (home-page "http://dwim.hu/project/hu.dwim.common-lisp")
12370 (synopsis "Redefine some standard Common Lisp names")
12371 (description "This library is a redefinition of the standard Common Lisp
12372 package that includes a number of renames and shadows. ")
12373 (license license:public-domain))))
12374
12375 (define-public cl-hu.dwim.common-lisp
12376 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
12377
12378 (define-public ecl-hu.dwim.common-lisp
12379 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
12380
12381 (define-public sbcl-hu.dwim.common
12382 (package
12383 (name "sbcl-hu.dwim.common")
12384 (version "2015-07-09")
12385 (source
12386 (origin
12387 (method url-fetch)
12388 (uri (string-append
12389 "http://beta.quicklisp.org/archive/hu.dwim.common/"
12390 version "/hu.dwim.common-"
12391 (string-replace-substring version "-" "")
12392 "-darcs.tgz"))
12393 (sha256
12394 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
12395 (build-system asdf-build-system/sbcl)
12396 (native-inputs
12397 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12398 (inputs
12399 `(("alexandria" ,sbcl-alexandria)
12400 ("anaphora" ,sbcl-anaphora)
12401 ("closer-mop" ,sbcl-closer-mop)
12402 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
12403 ("iterate" ,sbcl-iterate)
12404 ("metabang-bind" ,sbcl-metabang-bind)))
12405 (home-page "http://dwim.hu/")
12406 (synopsis "Common Lisp library shared by other hu.dwim systems")
12407 (description "This package contains a support library for other
12408 hu.dwim systems.")
12409 (license license:public-domain)))
12410
12411 (define-public cl-hu.dwim.common
12412 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
12413
12414 (define-public ecl-hu.dwim.common
12415 (sbcl-package->ecl-package sbcl-hu.dwim.common))
12416
12417 (define-public sbcl-hu.dwim.defclass-star
12418 (let ((commit "3086878a485074f9b2913c58267a9b764cd632fd"))
12419 (package
12420 (name "sbcl-hu.dwim.defclass-star")
12421 ;; We used to set version from the date when it was a darcs repo, so we
12422 ;; keep the year so that package gets updated on previous installs.
12423 (version (git-version "2021" "2" commit))
12424 (source
12425 (origin
12426 (method git-fetch)
12427 (uri (git-reference
12428 (url "https://github.com/hu-dwim/hu.dwim.defclass-star")
12429 (commit commit)))
12430 (file-name (git-file-name name version))
12431 (sha256
12432 (base32 "19ipds9r71qymfdp4izg0l7zmvinp06adr8rdalhaq7v7mzpg83z"))))
12433 (build-system asdf-build-system/sbcl)
12434 (native-inputs
12435 `( ;; These 2 inputs are only needed tests which are disabled, see below.
12436 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
12437 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
12438 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
12439 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12440 (arguments
12441 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
12442 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
12443 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
12444 #:tests? #f))
12445 (home-page "https://github.com/hu-dwim/hu.dwim.defclass-star")
12446 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
12447 (description "@code{defclass-star} provides defclass* and defcondition* to
12448 simplify class and condition declarations. Features include:
12449
12450 @itemize
12451 @item Automatically export all or select slots at compile time.
12452 @item Define the @code{:initarg} and @code{:accessor} automatically.
12453 @item Specify a name transformer for both the @code{:initarg} and
12454 @code{:accessor}, etc.
12455 @item Specify the @code{:initform} as second slot value.
12456 @end itemize
12457
12458 See
12459 @url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
12460 for an example.")
12461 (license license:public-domain))))
12462
12463 (define-public cl-hu.dwim.defclass-star
12464 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
12465
12466 (define-public ecl-hu.dwim.defclass-star
12467 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))
12468
12469 (define-public sbcl-livesupport
12470 (let ((commit "71e6e412df9f3759ad8378fabb203913d82e228a")
12471 (revision "1"))
12472 (package
12473 (name "sbcl-livesupport")
12474 (version (git-version "0.0.0" revision commit))
12475 (source
12476 (origin
12477 (method git-fetch)
12478 (uri (git-reference
12479 (url "https://github.com/cbaggers/livesupport")
12480 (commit commit)))
12481 (file-name (git-file-name name version))
12482 (sha256
12483 (base32 "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"))))
12484 (build-system asdf-build-system/sbcl)
12485 (home-page "https://github.com/cbaggers/livesupport")
12486 (synopsis "Some helpers that make livecoding a little easier")
12487 (description "This package provides a macro commonly used in livecoding to
12488 enable continuing when errors are raised. Simply wrap around a chunk of code
12489 and it provides a restart called @code{continue} which ignores the error and
12490 carrys on from the end of the body.")
12491 (license license:bsd-2))))
12492
12493 (define-public cl-livesupport
12494 (sbcl-package->cl-source-package sbcl-livesupport))
12495
12496 (define-public ecl-livesupport
12497 (sbcl-package->ecl-package sbcl-livesupport))
12498
12499 (define-public sbcl-envy
12500 (let ((commit "956321b2852d58ba71c6fe621f5c2924178e9f88")
12501 (revision "1"))
12502 (package
12503 (name "sbcl-envy")
12504 (version (git-version "0.1" revision commit))
12505 (home-page "https://github.com/fukamachi/envy")
12506 (source
12507 (origin
12508 (method git-fetch)
12509 (uri (git-reference
12510 (url home-page)
12511 (commit commit)))
12512 (file-name (git-file-name name version))
12513 (sha256
12514 (base32 "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg"))))
12515 (build-system asdf-build-system/sbcl)
12516 ;; (native-inputs ; Only for tests.
12517 ;; `(("prove" ,sbcl-prove)
12518 ;; ("osicat" ,sbcl-osicat)))
12519 (arguments
12520 '(#:phases
12521 (modify-phases %standard-phases
12522 (add-after 'unpack 'fix-tests
12523 (lambda _
12524 (substitute* "envy-test.asd"
12525 (("cl-test-more") "prove"))
12526 #t)))
12527 ;; Tests fail with
12528 ;; Component ENVY-ASD::ENVY-TEST not found, required by #<SYSTEM "envy">
12529 ;; like xsubseq. Why?
12530 #:tests? #f))
12531 (synopsis "Common Lisp configuration switcher inspired by Perl's Config::ENV.")
12532 (description "Envy is a configuration manager for various applications.
12533 Envy uses an environment variable to determine a configuration to use. This
12534 can separate configuration system from an implementation.")
12535 (license license:bsd-2))))
12536
12537 (define-public cl-envy
12538 (sbcl-package->cl-source-package sbcl-envy))
12539
12540 (define-public ecl-envy
12541 (sbcl-package->ecl-package sbcl-envy))
12542
12543 (define-public sbcl-mito
12544 (let ((commit "d3b9e375ef364a65692da2185085a08c969ac88a")
12545 (revision "1"))
12546 (package
12547 (name "sbcl-mito")
12548 (version (git-version "0.1" revision commit))
12549 (home-page "https://github.com/fukamachi/mito")
12550 (source
12551 (origin
12552 (method git-fetch)
12553 (uri (git-reference
12554 (url home-page)
12555 (commit commit)))
12556 (file-name (git-file-name name version))
12557 (sha256
12558 (base32 "08mncgzjnbbsf1a6am3l73iw4lyfvz5ldjg5g84awfaxml4p73mb"))))
12559 (build-system asdf-build-system/sbcl)
12560 (native-inputs
12561 `(("prove" ,sbcl-prove)))
12562 (inputs
12563 `(("alexandria" ,sbcl-alexandria)
12564 ("cl-ppcre" ,sbcl-cl-ppcre)
12565 ("cl-reexport" ,sbcl-cl-reexport)
12566 ("closer-mop" ,sbcl-closer-mop)
12567 ("dbi" ,sbcl-dbi)
12568 ("dissect" ,sbcl-dissect)
12569 ("esrap" ,sbcl-esrap)
12570 ("local-time" ,sbcl-local-time)
12571 ("optima" ,sbcl-optima)
12572 ("sxql" ,sbcl-sxql)
12573 ("uuid" ,sbcl-uuid)))
12574 (arguments
12575 '(#:phases
12576 (modify-phases %standard-phases
12577 (add-after 'unpack 'remove-non-functional-tests
12578 (lambda _
12579 (substitute* "mito-test.asd"
12580 (("\\(:test-file \"db/mysql\"\\)") "")
12581 (("\\(:test-file \"db/postgres\"\\)") "")
12582 (("\\(:test-file \"dao\"\\)") "")
12583 ;; TODO: migration/sqlite3 should work, re-enable once
12584 ;; upstream has fixed it:
12585 ;; https://github.com/fukamachi/mito/issues/70
12586 (("\\(:test-file \"migration/sqlite3\"\\)") "")
12587 (("\\(:test-file \"migration/mysql\"\\)") "")
12588 (("\\(:test-file \"migration/postgres\"\\)") "")
12589 (("\\(:test-file \"postgres-types\"\\)") "")
12590 (("\\(:test-file \"mixin\"\\)") ""))
12591 #t)))
12592 ;; TODO: While all enabled tests pass, the phase fails with:
12593 ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito">
12594 #:tests? #f))
12595 (synopsis "ORM for Common Lisp with migrations and relationships support")
12596 (description "Mito is yet another object relational mapper, and it aims
12597 to be a successor of Integral.
12598
12599 @itemize
12600 @item Support MySQL, PostgreSQL and SQLite3.
12601 @item Add id (serial/uuid primary key), created_at and updated_at by default
12602 like Ruby's ActiveRecord.
12603 @item Migrations.
12604 @item Database schema versioning.
12605 @end itemize\n")
12606 (license license:llgpl))))
12607
12608 (define-public cl-mito
12609 (sbcl-package->cl-source-package sbcl-mito))
12610
12611 (define-public ecl-mito
12612 (sbcl-package->ecl-package sbcl-mito))
12613
12614 (define-public sbcl-kebab
12615 (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b")
12616 (revision "1"))
12617 (package
12618 (name "sbcl-kebab")
12619 (version (git-version "0.1" revision commit))
12620 (home-page "https://github.com/pocket7878/kebab")
12621 (source
12622 (origin
12623 (method git-fetch)
12624 (uri (git-reference
12625 (url home-page)
12626 (commit commit)))
12627 (file-name (git-file-name name version))
12628 (sha256
12629 (base32 "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"))))
12630 (build-system asdf-build-system/sbcl)
12631 (inputs
12632 `(("cl-ppcre" ,sbcl-cl-ppcre)
12633 ("alexandria" ,sbcl-alexandria)
12634 ("cl-interpol" ,sbcl-cl-interpol)
12635 ("split-sequence" ,sbcl-split-sequence)))
12636 (native-inputs
12637 `(("prove" ,sbcl-prove)))
12638 (arguments
12639 ;; Tests passes but the phase fails with
12640 ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">.
12641 `(#:tests? #f))
12642 (synopsis "Common Lisp case converter")
12643 (description "This Common Lisp library converts strings, symbols and
12644 keywords between any of the following typographical cases: PascalCase,
12645 camelCase, snake_case, kebab-case (lisp-case).")
12646 (license license:llgpl))))
12647
12648 (define-public cl-kebab
12649 (sbcl-package->cl-source-package sbcl-kebab))
12650
12651 (define-public ecl-kebab
12652 (sbcl-package->ecl-package sbcl-kebab))
12653
12654 (define-public sbcl-datafly
12655 (let ((commit "adece27fcbc4b5ea39ad1a105048b6b7166e3b0d")
12656 (revision "1"))
12657 (package
12658 (name "sbcl-datafly")
12659 (version (git-version "0.1" revision commit))
12660 (home-page "https://github.com/fukamachi/datafly")
12661 (source
12662 (origin
12663 (method git-fetch)
12664 (uri (git-reference
12665 (url home-page)
12666 (commit commit)))
12667 (file-name (git-file-name name version))
12668 (sha256
12669 (base32 "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv"))))
12670 (build-system asdf-build-system/sbcl)
12671 (inputs
12672 `(("alexandria" ,sbcl-alexandria)
12673 ("iterate" ,sbcl-iterate)
12674 ("optima" ,sbcl-optima)
12675 ("trivial-types" ,sbcl-trivial-types)
12676 ("closer-mop" ,sbcl-closer-mop)
12677 ("cl-syntax" ,sbcl-cl-syntax)
12678 ("sxql" ,sbcl-sxql)
12679 ("dbi" ,sbcl-dbi)
12680 ("babel" ,sbcl-babel)
12681 ("local-time" ,sbcl-local-time)
12682 ("function-cache" ,sbcl-function-cache)
12683 ("jonathan" ,sbcl-jonathan)
12684 ("kebab" ,sbcl-kebab)
12685 ("log4cl" ,sbcl-log4cl)))
12686 (native-inputs
12687 `(("prove" ,sbcl-prove)))
12688 (arguments
12689 ;; TODO: Tests fail with
12690 ;; While evaluating the form starting at line 22, column 0
12691 ;; of #P"/tmp/guix-build-sbcl-datafly-0.1-1.adece27.drv-0/source/t/datafly.lisp":
12692 ;; Unhandled SQLITE:SQLITE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
12693 ;; {10009F8083}>:
12694 ;; Error when binding parameter 1 to value NIL.
12695 ;; Code RANGE: column index out of range.
12696 `(#:tests? #f))
12697 (synopsis "Lightweight database library for Common Lisp")
12698 (description "Datafly is a lightweight database library for Common Lisp.")
12699 (license license:bsd-3))))
12700
12701 (define-public cl-datafly
12702 (sbcl-package->cl-source-package sbcl-datafly))
12703
12704 (define-public ecl-datafly
12705 (sbcl-package->ecl-package sbcl-datafly))
12706
12707 (define-public sbcl-do-urlencode
12708 (let ((commit "199846441dad5dfac5478b8dee4b4e20d107af6a")
12709 (revision "1"))
12710 (package
12711 (name "sbcl-do-urlencode")
12712 (version (git-version "0.0.0" revision commit))
12713 (home-page "https://github.com/drdo/do-urlencode")
12714 (source
12715 (origin
12716 (method git-fetch)
12717 (uri (git-reference
12718 (url home-page)
12719 (commit commit)))
12720 (file-name (git-file-name name version))
12721 (sha256
12722 (base32 "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"))))
12723 (build-system asdf-build-system/sbcl)
12724 (inputs
12725 `(("alexandria" ,sbcl-alexandria)
12726 ("babel" ,sbcl-babel)))
12727 (synopsis "Percent Encoding (aka URL Encoding) Common Lisp library")
12728 (description "This library provides trivial percent encoding and
12729 decoding functions for URLs.")
12730 (license license:isc))))
12731
12732 (define-public cl-do-urlencode
12733 (sbcl-package->cl-source-package sbcl-do-urlencode))
12734
12735 (define-public ecl-do-urlencode
12736 (sbcl-package->ecl-package sbcl-do-urlencode))
12737
12738 (define-public sbcl-cl-emb
12739 (let ((commit "fd8652174d048d4525a81f38cdf42f4fa519f840")
12740 (revision "1"))
12741 (package
12742 (name "sbcl-cl-emb")
12743 (version (git-version "0.4.3" revision commit))
12744 (home-page "https://common-lisp.net/project/cl-emb/")
12745 (source
12746 (origin
12747 (method git-fetch)
12748 (uri (git-reference
12749 (url "https://github.com/38a938c2/cl-emb")
12750 (commit commit)))
12751 (file-name (git-file-name name version))
12752 (sha256
12753 (base32 "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"))))
12754 (build-system asdf-build-system/sbcl)
12755 (inputs
12756 `(("cl-ppcre" ,sbcl-cl-ppcre)))
12757 (synopsis "Templating system for Common Lisp")
12758 (description "A mixture of features from eRuby and HTML::Template. You
12759 could name it \"Yet Another LSP\" (LispServer Pages) but it's a bit more than
12760 that and not limited to a certain server or text format.")
12761 (license license:llgpl))))
12762
12763 (define-public cl-emb
12764 (sbcl-package->cl-source-package sbcl-cl-emb))
12765
12766 (define-public ecl-cl-emb
12767 (sbcl-package->ecl-package sbcl-cl-emb))
12768
12769 (define-public sbcl-cl-project
12770 (let ((commit "151107014e534fc4666222d57fec2cc8549c8814")
12771 (revision "1"))
12772 (package
12773 (name "sbcl-cl-project")
12774 (version (git-version "0.3.1" revision commit))
12775 (home-page "https://github.com/fukamachi/cl-project")
12776 (source
12777 (origin
12778 (method git-fetch)
12779 (uri (git-reference
12780 (url home-page)
12781 (commit commit)))
12782 (file-name (git-file-name name version))
12783 (sha256
12784 (base32 "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y"))))
12785 (build-system asdf-build-system/sbcl)
12786 (inputs
12787 `(("cl-emb" ,sbcl-cl-emb)
12788 ("cl-ppcre" ,sbcl-cl-ppcre)
12789 ("local-time" ,sbcl-local-time)
12790 ("prove" ,sbcl-prove)))
12791 (arguments
12792 ;; Tests depend on caveman, which in turns depends on cl-project.
12793 '(#:tests? #f
12794 #:asd-files '("cl-project.asd")))
12795 (synopsis "Generate a skeleton for modern Common Lisp projects")
12796 (description "This library provides a modern project skeleton generator.
12797 In contract with other generators, CL-Project generates one package per file
12798 and encourages unit testing by generating a system for unit testing, so you
12799 can begin writing unit tests as soon as the project is generated.")
12800 (license license:llgpl))))
12801
12802 (define-public cl-project
12803 (sbcl-package->cl-source-package sbcl-cl-project))
12804
12805 (define-public ecl-cl-project
12806 (sbcl-package->ecl-package sbcl-cl-project))
12807
12808 (define-public sbcl-caveman
12809 (let ((commit "faa5f7e3b364fd7e7096af9a7bb06728b8d80441") ; No release since 2012
12810 (revision "1"))
12811 (package
12812 (name "sbcl-caveman")
12813 (version (git-version "2.4.0" revision commit))
12814 (home-page "http://8arrow.org/caveman/")
12815 (source
12816 (origin
12817 (method git-fetch)
12818 (uri (git-reference
12819 (url "https://github.com/fukamachi/caveman/")
12820 (commit commit)))
12821 (file-name (git-file-name name version))
12822 (sha256
12823 (base32 "0kh0gx05pczk8f7r9qdi4zn1p3d0a2prps27k7jpgvc1dxkl8qhq"))))
12824 (build-system asdf-build-system/sbcl)
12825 (inputs
12826 `(("ningle" ,cl-ningle)
12827 ("lack" ,sbcl-lack)
12828 ("cl-project" ,sbcl-cl-project)
12829 ("dbi" ,sbcl-dbi)
12830 ("cl-syntax" ,sbcl-cl-syntax)
12831 ("myway" ,sbcl-myway)
12832 ("quri" ,sbcl-quri)))
12833 (native-inputs
12834 `(("usocket" ,sbcl-usocket)
12835 ("dexador" ,sbcl-dexador)))
12836 (arguments
12837 `(#:asd-files '("caveman2.asd")
12838 #:asd-systems '("caveman2")
12839 #:phases
12840 (modify-phases %standard-phases
12841 (add-after 'unpack 'remove-v1
12842 (lambda _
12843 (delete-file-recursively "v1")
12844 (for-each delete-file
12845 '("README.v1.markdown" "caveman.asd" "caveman-test.asd")))))
12846 ;; TODO: Tests fail with:
12847 ;; writing /gnu/store/...-sbcl-caveman-2.4.0-1.faa5f7e/share/common-lisp/sbcl-source/caveman2/v2/t/tmp/myapp573/tests/myapp573.lisp
12848 ;; While evaluating the form starting at line 38, column 0
12849 ;; of #P"/tmp/guix-build-sbcl-caveman-2.4.0-1.faa5f7e.drv-0/source/v2/t/caveman.lisp":
12850 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD "main thread" RUNNING
12851 ;; {10009F8083}>:
12852 ;; Component "myapp573" not found
12853 #:tests? #f))
12854 (synopsis "Lightweight web application framework in Common Lisp")
12855 (description "Caveman is intended to be a collection of common parts for
12856 web applications. Caveman2 has three design goals:
12857
12858 @itemize
12859 @item Be extensible.
12860 @item Be practical.
12861 @item Don't force anything.
12862 @end itemize\n")
12863 (license license:llgpl))))
12864
12865 (define-public cl-caveman
12866 (package
12867 (inherit
12868 (sbcl-package->cl-source-package sbcl-caveman))
12869 (propagated-inputs
12870 `(("ningle" ,cl-ningle)))))
12871
12872 (define-public ecl-caveman
12873 (sbcl-package->ecl-package sbcl-caveman))
12874
12875 (define-public sbcl-lambda-fiddle
12876 (let ((commit "d16bba55acf6065b412f64ab8fdff679a4a32b1e") ;; no tagged branch
12877 (revision "1"))
12878 (package
12879 (name "sbcl-lambda-fiddle")
12880 (version (git-version "1.0.0" revision commit))
12881 (source
12882 (origin
12883 (method git-fetch)
12884 (uri (git-reference
12885 (url "https://github.com/Shinmera/lambda-fiddle")
12886 (commit commit)))
12887 (file-name (git-file-name name version))
12888 (sha256
12889 (base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand"))))
12890 (build-system asdf-build-system/sbcl)
12891 (home-page "https://github.com/Shinmera/lambda-fiddle")
12892 (synopsis "Collection of utilities to process lambda-lists")
12893 (description "This collection of utilities is useful in contexts where
12894 you want a macro that uses lambda-lists in some fashion but need more precise
12895 processing.")
12896 (license license:zlib))))
12897
12898 (define-public cl-lambda-fiddle
12899 (sbcl-package->cl-source-package sbcl-lambda-fiddle))
12900
12901 (define-public ecl-lambda-fiddle
12902 (sbcl-package->ecl-package sbcl-lambda-fiddle))
12903
12904 (define-public sbcl-xmls
12905 (let ((commit "18546f0850b1338e03997ffd1696add1cb1800d1") ;; no tagged branch
12906 (revision "1"))
12907 (package
12908 (name "sbcl-xmls")
12909 (version (git-version "3.0.2" revision commit))
12910 (source
12911 (origin
12912 (method git-fetch)
12913 (uri (git-reference
12914 (url "https://github.com/rpgoldman/xmls")
12915 (commit commit)))
12916 (file-name (git-file-name name version))
12917 (sha256
12918 (base32 "1lmvfml2ldbb1wkhm25jqqk2bhwsz52hhcgljbnzj1xr8xhc3anp"))))
12919 (native-inputs
12920 `(("fiveam" ,sbcl-fiveam)))
12921 (build-system asdf-build-system/sbcl)
12922 (home-page "https://github.com/rpgoldman/xmls")
12923 (synopsis "Non-validating XML parser for Common Lisp")
12924 (description "Xmls is a self-contained, easily embedded parser that
12925 recognizes a useful subset of the XML spec. It provides a simple mapping from
12926 XML to Lisp structures or s-expressions and back.")
12927 (license license:bsd-2))))
12928
12929 (define-public cl-xmls
12930 (sbcl-package->cl-source-package sbcl-xmls))
12931
12932 (define-public ecl-xmls
12933 (sbcl-package->ecl-package sbcl-xmls))
12934
12935 (define-public sbcl-geco
12936 (package
12937 (name "sbcl-geco")
12938 (version "2.1.1")
12939 (source
12940 (origin
12941 (method git-fetch)
12942 (uri (git-reference
12943 (url "https://github.com/gpwwjr/GECO")
12944 (commit (string-append "v" version))))
12945 (file-name (git-file-name "geco" version))
12946 (sha256
12947 (base32 "1rc8a4mk40hjx5qy980hjylv6xxqdbq38hg8c4w30y93abfd519s"))))
12948 (build-system asdf-build-system/sbcl)
12949 (home-page "http://hiwaay.net/~gpw/geco/geco.html")
12950 (synopsis "Genetic algorithm toolkit for Common Lisp")
12951 (description
12952 "GECO (Genetic Evolution through Combination of Objects) is an extensible,
12953 object-oriented framework for prototyping genetic algorithms in Common Lisp.")
12954 (license license:lgpl2.1+)))
12955
12956 (define-public cl-geco
12957 (sbcl-package->cl-source-package sbcl-geco))
12958
12959 (define-public ecl-geco
12960 (sbcl-package->ecl-package sbcl-geco))
12961
12962 (define-public sbcl-html-entities
12963 (let ((commit "4af018048e891f41d77e7d680ed3aeb639e1eedb"))
12964 (package
12965 (name "sbcl-html-entities")
12966 (version (git-version "0.02" "1" commit))
12967 (source
12968 (origin
12969 (method git-fetch)
12970 (uri (git-reference
12971 (url "https://github.com/BnMcGn/html-entities/")
12972 (commit commit)))
12973 (file-name (git-file-name name version))
12974 (sha256
12975 (base32 "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"))))
12976 (build-system asdf-build-system/sbcl)
12977 (inputs
12978 `(("ppcre" ,sbcl-cl-ppcre)))
12979 (native-inputs
12980 `(("fiveam" ,sbcl-fiveam)))
12981 (home-page "https://github.com/BnMcGn/html-entities/")
12982 (synopsis "Encode and decode entities in HTML with Common Lisp")
12983 (description "Html-entities is a Common Lisp library that lets you
12984 encode and decode entities in HTML.")
12985 (license license:expat))))
12986
12987 (define-public cl-html-entities
12988 (sbcl-package->cl-source-package sbcl-html-entities))
12989
12990 (define-public ecl-html-entities
12991 (sbcl-package->ecl-package sbcl-html-entities))
12992
12993 (define-public sbcl-quicksearch
12994 (let ((commit "fb02ecf7c876ec580ab18c7d2c8c7814c06af599"))
12995 (package
12996 (name "sbcl-quicksearch")
12997 (version (git-version "0.01.04" "1" commit))
12998 (source
12999 (origin
13000 (method git-fetch)
13001 (uri (git-reference
13002 (url "https://github.com/tkych/quicksearch/")
13003 (commit commit)))
13004 (file-name (git-file-name name version))
13005 (sha256
13006 (base32 "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps"))))
13007 (build-system asdf-build-system/sbcl)
13008 (inputs
13009 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13010 ("iterate" ,sbcl-iterate)
13011 ("alexandria" ,sbcl-alexandria)
13012 ("anaphora" ,sbcl-anaphora)
13013 ("ppcre" ,sbcl-cl-ppcre)
13014 ("drakma" ,sbcl-drakma)
13015 ("html-entities" ,sbcl-html-entities)
13016 ("yason" ,sbcl-yason)
13017 ("flexi-streams" ,sbcl-flexi-streams)
13018 ("do-urlencode" ,sbcl-do-urlencode)))
13019 (home-page "https://github.com/tkych/quicksearch/")
13020 (synopsis "Search Engine Interface for Common Lisp packages")
13021 (description "Quicksearch is a search-engine-interface for Common Lisp.
13022 The goal of Quicksearch is to find the Common Lisp library quickly. For
13023 example, if you will find the library about json, just type @code{(qs:?
13024 'json)} at REPL.
13025
13026 The function @code{quicksearch} searches for Common Lisp projects in
13027 Quicklisp, Cliki, GitHub and BitBucket, then outputs results in REPL. The
13028 function @code{?} is abbreviation wrapper for @code{quicksearch}.")
13029 (license license:expat))))
13030
13031 (define-public cl-quicksearch
13032 (sbcl-package->cl-source-package sbcl-quicksearch))
13033
13034 (define-public ecl-quicksearch
13035 (sbcl-package->ecl-package sbcl-quicksearch))
13036
13037 (define-public sbcl-agutil
13038 (let ((commit "df188d754d472da9faa1601a48f1f37bb7b34d68"))
13039 (package
13040 (name "sbcl-agutil")
13041 (version (git-version "0.0.1" "1" commit))
13042 (source
13043 (origin
13044 (method git-fetch)
13045 (uri (git-reference
13046 (url "https://github.com/alex-gutev/agutil/")
13047 (commit commit)))
13048 (file-name (git-file-name name version))
13049 (sha256
13050 (base32 "1xpnyzksk2xld64b6lw6rw0gn5zxlb77jwna59sd4yl7kxhxlfpf"))))
13051 (build-system asdf-build-system/sbcl)
13052 (inputs
13053 `(("alexandria" ,sbcl-alexandria)
13054 ("trivia" ,sbcl-trivia)))
13055 (home-page "https://github.com/alex-gutev/agutil/")
13056 (synopsis "Collection of Common Lisp utilities")
13057 (description "A collection of Common Lisp utility functions and macros
13058 mostly not found in other utility packages.")
13059 (license license:expat))))
13060
13061 (define-public cl-agutil
13062 (sbcl-package->cl-source-package sbcl-agutil))
13063
13064 (define-public ecl-agutil
13065 (sbcl-package->ecl-package sbcl-agutil))
13066
13067 (define-public sbcl-custom-hash-table
13068 (let ((commit "f26983133940f5edf826ebbc8077acc04816ddfa"))
13069 (package
13070 (name "sbcl-custom-hash-table")
13071 (version (git-version "0.3" "1" commit))
13072 (source
13073 (origin
13074 (method git-fetch)
13075 (uri (git-reference
13076 (url "https://github.com/metawilm/cl-custom-hash-table")
13077 (commit commit)))
13078 (file-name (git-file-name name version))
13079 (sha256
13080 (base32 "1k4mvrpbqqds2fwjxp1bxmrfmr8ch4dkwhnkbw559knbqshvrlj5"))))
13081 (build-system asdf-build-system/sbcl)
13082 (arguments
13083 '(#:asd-files '("cl-custom-hash-table.asd")
13084 #:asd-systems '("cl-custom-hash-table")))
13085 (home-page "https://github.com/metawilm/cl-custom-hash-table")
13086 (synopsis "Custom hash tables for Common Lisp")
13087 (description "This library allows creation of hash tables with arbitrary
13088 @code{test}/@code{hash} functions, in addition to the @code{test} functions
13089 allowed by the standard (@code{EQ}, @code{EQL}, @code{EQUAL} and
13090 @code{EQUALP}), even in implementations that don't support this functionality
13091 directly.")
13092 (license license:expat))))
13093
13094 (define-public cl-custom-hash-table
13095 (sbcl-package->cl-source-package sbcl-custom-hash-table))
13096
13097 (define-public ecl-custom-hash-table
13098 (sbcl-package->ecl-package sbcl-custom-hash-table))
13099
13100 (define-public sbcl-collectors
13101 (let ((commit "13acef25d8422d1d82e067b1861e513587c166ee"))
13102 (package
13103 (name "sbcl-collectors")
13104 (version (git-version "0.1" "1" commit))
13105 (source
13106 (origin
13107 (method git-fetch)
13108 (uri (git-reference
13109 (url "https://github.com/AccelerationNet/collectors")
13110 (commit commit)))
13111 (file-name (git-file-name name version))
13112 (sha256
13113 (base32 "1si68n1j6rpns8jw6ksqjpb937pdl30v7xza8rld7j5vh0jhy2yi"))))
13114 (build-system asdf-build-system/sbcl)
13115 (inputs
13116 `(("alexandria" ,sbcl-alexandria)
13117 ("closer-mop" ,sbcl-closer-mop)
13118 ("symbol-munger" ,sbcl-symbol-munger)))
13119 (native-inputs
13120 `(("lisp-unit2" ,sbcl-lisp-unit2)))
13121 (home-page "https://github.com/AccelerationNet/collectors/")
13122 (synopsis "Common lisp library providing collector macros")
13123 (description "A small collection of common lisp macros to make
13124 collecting values easier.")
13125 (license license:bsd-3))))
13126
13127 (define-public cl-collectors
13128 (sbcl-package->cl-source-package sbcl-collectors))
13129
13130 (define-public ecl-collectors
13131 (sbcl-package->ecl-package sbcl-collectors))
13132
13133 (define-public sbcl-cl-environments
13134 (package
13135 (name "sbcl-cl-environments")
13136 (version "0.4")
13137 (source
13138 (origin
13139 (method git-fetch)
13140 (uri (git-reference
13141 (url "https://github.com/alex-gutev/cl-environments")
13142 (commit (string-append "v" version))))
13143 (file-name (git-file-name "cl-environments" version))
13144 (sha256
13145 (base32 "10jxj043d2dw5vc0i0lz0lsa4qszn8him5is8jdhl4nsyfcazmky"))))
13146 (build-system asdf-build-system/sbcl)
13147 (inputs
13148 `(("alexandria" ,sbcl-alexandria)
13149 ("anaphora" ,sbcl-anaphora)
13150 ("collectors" ,sbcl-collectors)
13151 ("optima" ,sbcl-optima)))
13152 (native-inputs
13153 `(("prove" ,sbcl-prove)))
13154 (home-page "https://github.com/alex-gutev/cl-environments")
13155 (synopsis "Implements the Common Lisp standard environment access API")
13156 (description
13157 "This library provides a uniform API, as specified in Common Lisp the
13158 Language 2, for accessing information about variable and function bindings
13159 from implementation-defined lexical environment objects. All major Common
13160 Lisp implementations are supported, even those which don't support the CLTL2
13161 environment access API.")
13162 (license license:expat)))
13163
13164 (define-public cl-environments
13165 (sbcl-package->cl-source-package sbcl-cl-environments))
13166
13167 (define-public ecl-cl-environments
13168 (sbcl-package->ecl-package sbcl-cl-environments))
13169
13170 (define-public sbcl-static-dispatch
13171 (package
13172 (name "sbcl-static-dispatch")
13173 (version "0.5")
13174 (source
13175 (origin
13176 (method git-fetch)
13177 (uri (git-reference
13178 (url "https://github.com/alex-gutev/static-dispatch")
13179 (commit (string-append "v" version))))
13180 (file-name (git-file-name "static-dispatch" version))
13181 (sha256
13182 (base32 "1a4vgfcn6qnpdkxxv93rri7zf3c92alixp6nyqwpz8mg2xmvy1j3"))))
13183 (build-system asdf-build-system/sbcl)
13184 (native-inputs
13185 `(("fiveam" ,sbcl-fiveam)))
13186 (inputs
13187 `(("agutil" ,sbcl-agutil)
13188 ("alexandria" ,sbcl-alexandria)
13189 ("anaphora" ,sbcl-anaphora)
13190 ("arrows" ,sbcl-arrows)
13191 ("cl-environments" ,sbcl-cl-environments)
13192 ("closer-mop" ,sbcl-closer-mop)
13193 ("iterate" ,sbcl-iterate)
13194 ("trivia" ,sbcl-trivia)))
13195 (home-page "https://github.com/alex-gutev/static-dispatch")
13196 (synopsis "Static generic function dispatch for Common Lisp")
13197 (description "Static dispatch is a Common Lisp library, inspired by
13198 @code{inlined-generic-function}, which allows standard Common Lisp generic
13199 function dispatch to be performed statically (at compile time) rather than
13200 dynamically (runtime). This is similar to what is known as \"overloading\" in
13201 languages such as C++ and Java.
13202
13203 The purpose of static dispatch is to provide an optimization in cases where
13204 the usual dynamic dispatch is too slow, and the dynamic features of generic
13205 functions, such as adding/removing methods at runtime are not required. An
13206 example of such a case is a generic equality comparison function. Currently
13207 generic functions are considered far too slow to implement generic arithmetic
13208 and comparison operations when used heavily in numeric code.")
13209 (license license:expat)))
13210
13211 (define-public cl-static-dispatch
13212 (sbcl-package->cl-source-package sbcl-static-dispatch))
13213
13214 (define-public ecl-static-dispatch
13215 (sbcl-package->ecl-package sbcl-static-dispatch))
13216
13217 (define-public sbcl-generic-cl
13218 ;; Latest commit includes a necessary fix for our Guix build.
13219 (let ((commit "8e5a81487ee3c13fe5ffdc8bdda161d476639535"))
13220 (package
13221 (name "sbcl-generic-cl")
13222 (version (git-version "0.7.1" "1" commit))
13223 (source
13224 (origin
13225 (method git-fetch)
13226 (uri (git-reference
13227 (url "https://github.com/alex-gutev/generic-cl")
13228 (commit commit)))
13229 (file-name (git-file-name name version))
13230 (sha256
13231 (base32
13232 "11w0g79s4wmc78vmfng437rmsgnp5qn246zcyr540fp5nw0ad6ix"))))
13233 (build-system asdf-build-system/sbcl)
13234 (inputs
13235 `(("agutil" ,sbcl-agutil)
13236 ("alexandria" ,sbcl-alexandria)
13237 ("anaphora" ,sbcl-anaphora)
13238 ("arrows" ,sbcl-arrows)
13239 ("cl-custom-hash-table" ,sbcl-custom-hash-table)
13240 ("static-dispatch" ,sbcl-static-dispatch)
13241 ("trivia" ,sbcl-trivia)))
13242 (native-inputs
13243 `(("prove" ,sbcl-prove)))
13244 (arguments
13245 ;; Tests fail because SBCL head size is not high enough.
13246 ;; https://github.com/alex-gutev/generic-cl/issues/6
13247 `(#:tests? #f))
13248 (home-page "https://alex-gutev.github.io/generic-cl/")
13249 (synopsis "Generic function interface to standard Common Lisp functions")
13250 (description "@code{generic-cl} provides a generic function wrapper over
13251 various functions in the Common Lisp standard, such as equality predicates and
13252 sequence operations. The goal of this wrapper is to provide a standard
13253 interface to common operations, such as testing for the equality of two
13254 objects, which is extensible to user-defined types.")
13255 (license license:expat))))
13256
13257 (define-public cl-generic-cl
13258 (sbcl-package->cl-source-package sbcl-generic-cl))
13259
13260 (define-public ecl-generic-cl
13261 (sbcl-package->ecl-package sbcl-generic-cl))
13262
13263 (define-public sbcl-defpackage-plus
13264 (let ((revision "0")
13265 (commit "5492e27e0bdb7b75fa5177ea4388519dc7a75f11"))
13266 (package
13267 (name "sbcl-defpackage-plus")
13268 (version (git-version "1.0" revision commit))
13269 (source
13270 (origin
13271 (method git-fetch)
13272 (uri (git-reference
13273 (url "https://github.com/rpav/defpackage-plus")
13274 (commit commit)))
13275 (file-name (git-file-name name version))
13276 (sha256
13277 (base32 "0lzljvf343xb6mlh6lni2i27hpm5qd376522mk6hr2pa20vd6rdq"))))
13278 (build-system asdf-build-system/sbcl)
13279 (inputs
13280 `(("alexandria" ,sbcl-alexandria)))
13281 (home-page "https://github.com/rpav/defpackage-plus")
13282 (synopsis "Extensible @code{DEFPACKAGE} variant with version support")
13283 (description
13284 "@code{DEFPACKAGE-PLUS} is an extensible @code{DEFPACKAGE} variant with
13285 predictable cross-platform behavior and some utilities useful for versioning.")
13286 (license license:bsd-2))))
13287
13288 (define-public cl-defpackage-plus
13289 (sbcl-package->cl-source-package sbcl-defpackage-plus))
13290
13291 (define-public ecl-defpackage-plus
13292 (sbcl-package->ecl-package sbcl-defpackage-plus))
13293
13294 (define-public sbcl-deploy
13295 (let ((commit "9b20e64fe924b9e31832304d87a3a72c383dc6d8")
13296 (revision "2"))
13297 (package
13298 (name "sbcl-deploy")
13299 (version (git-version "1.0.0" revision commit))
13300 (source
13301 (origin
13302 (method git-fetch)
13303 (uri (git-reference
13304 (url "https://github.com/Shinmera/deploy")
13305 (commit commit)))
13306 (file-name (git-file-name "deploy" version))
13307 (sha256
13308 (base32 "07pfkibaridihg8lbq2czwa4iqifqk24n6rx7bfnv7i49p1ppja1"))))
13309 (build-system asdf-build-system/sbcl)
13310 (arguments
13311 `(#:test-asd-file "deploy-test.asd"
13312 #:asd-files '("deploy.asd"
13313 "deploy-test.asd")))
13314 (native-inputs
13315 `(("cl-mpg123" ,sbcl-cl-mpg123)
13316 ("cl-out123" ,sbcl-cl-out123)))
13317 (inputs
13318 `(("cffi" ,sbcl-cffi)
13319 ("documentation-utils" ,sbcl-documentation-utils)
13320 ("trivial-features" ,sbcl-trivial-features)))
13321 (home-page "https://shinmera.github.io/deploy/")
13322 (synopsis "Deployment tools for standalone Common Lisp application")
13323 (description
13324 "This is a system to help you easily and quickly deploy standalone
13325 common lisp applications as binaries. Specifically it is geared towards
13326 applications with foreign library dependencies that run some kind of GUI.")
13327 (license license:artistic2.0))))
13328
13329 (define-public cl-deploy
13330 (sbcl-package->cl-source-package sbcl-deploy))
13331
13332 (define-public ecl-deploy
13333 (sbcl-package->ecl-package sbcl-deploy))
13334
13335 (define-public sbcl-deeds
13336 ;; taged branch is outdated
13337 (let ((revision "1")
13338 (commit "f5df54eac79b58a34030e0eb8acf3952c788410d"))
13339 (package
13340 (name "sbcl-deeds")
13341 (version (git-version "1.1.1" revision commit))
13342 (source
13343 (origin
13344 (method git-fetch)
13345 (uri (git-reference
13346 (url "https://github.com/Shinmera/deeds")
13347 (commit commit)))
13348 (file-name (git-file-name name version))
13349 (sha256
13350 (base32 "062cnb2dwli6pw3zvv46jfxyxdzcbzwsck5pa6nw03qf1j1hyg3k"))))
13351 (build-system asdf-build-system/sbcl)
13352 (inputs
13353 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13354 ("closer-mop" ,sbcl-closer-mop)
13355 ("form-fiddle" ,sbcl-form-fiddle)
13356 ("lambda-fiddle" ,sbcl-lambda-fiddle)))
13357 (home-page "https://github.com/Shinmera/deeds")
13358 (synopsis "Extensible Event Delivery System")
13359 (description
13360 "@code{deeds} allows for efficient event delivery to multiple handlers
13361 with a complex event filtering system.")
13362 (license license:zlib))))
13363
13364 (define-public cl-deeds
13365 (sbcl-package->cl-source-package sbcl-deeds))
13366
13367 (define-public ecl-deeds
13368 (sbcl-package->ecl-package sbcl-deeds))
13369
13370 (define-public sbcl-make-hash
13371 ;; no tagged branch
13372 (let ((revision "1")
13373 (commit "ae0909cd8e697520a1085fac6f54ac2b448ebd21"))
13374 (package
13375 (name "sbcl-make-hash")
13376 (version (git-version "1.0.2" revision commit))
13377 (source
13378 (origin
13379 (method git-fetch)
13380 (uri (git-reference
13381 (url "https://github.com/genovese/make-hash")
13382 (commit commit)))
13383 (file-name (git-file-name name version))
13384 (sha256
13385 (base32 "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8"))))
13386 (build-system asdf-build-system/sbcl)
13387 (home-page "https://github.com/genovese/make-hash")
13388 (synopsis "Common Lisp package for flexible hash table creation")
13389 (description
13390 "This is a Common Lisp package for hash table creation with flexible,
13391 extensible initializers.")
13392 (license license:bsd-3))))
13393
13394 (define-public cl-make-hash
13395 (sbcl-package->cl-source-package sbcl-make-hash))
13396
13397 (define-public ecl-make-hash
13398 (sbcl-package->ecl-package sbcl-make-hash))
13399
13400 (define-public sbcl-claw-support
13401 (package
13402 (name "sbcl-claw-support")
13403 (version "1.0.0")
13404 (source
13405 (origin
13406 (method git-fetch)
13407 (uri (git-reference
13408 (url "https://github.com/borodust/claw-support")
13409 (commit "9a15c8bed04585f45e6a461bcda1b475144dbd0b")))
13410 (file-name (git-file-name name version))
13411 (sha256
13412 (base32 "1my2ka7h72ipx5n3b465g6kjkasrhsvhqlijwcg6dhlzs5yygl23"))))
13413 (build-system asdf-build-system/sbcl)
13414 (home-page "https://github.com/borodust/claw-support")
13415 (synopsis "Support routines for claw")
13416 (description
13417 "This package provides support routines for the @code{claw} Common Lisp
13418 package.")
13419 (license license:expat)))
13420
13421 (define-public cl-claw-support
13422 (sbcl-package->cl-source-package sbcl-claw-support))
13423
13424 (define-public ecl-claw-support
13425 (sbcl-package->ecl-package sbcl-claw-support))
13426
13427 (define-public sbcl-claw
13428 (let ((revision "0")
13429 (commit "3cd4a96fca95eb9e8d5d069426694669f81b2250"))
13430 (package
13431 (name "sbcl-claw")
13432 (version (git-version "1.0" revision commit))
13433 (source
13434 (origin
13435 (method git-fetch)
13436 (uri (git-reference
13437 (url "https://github.com/borodust/claw")
13438 (commit commit)))
13439 (file-name (git-file-name "claw" version))
13440 (sha256
13441 (base32 "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d"))))
13442 (build-system asdf-build-system/sbcl)
13443 (inputs
13444 `(("alexandria" ,sbcl-alexandria)
13445 ("cffi" ,sbcl-cffi)
13446 ("cl-json" ,sbcl-cl-json)
13447 ("cl-ppcre" ,sbcl-cl-ppcre)
13448 ("claw-support" ,sbcl-claw-support)
13449 ("local-time" ,sbcl-local-time)
13450 ("trivial-features" ,sbcl-trivial-features)))
13451 (home-page "https://github.com/borodust/claw")
13452 (synopsis "Autowrapper for Common Lisp")
13453 (description
13454 "This is a Common Lisp autowrapping facility for quickly creating clean
13455 and lean bindings to C libraries.")
13456 (license license:bsd-2))))
13457
13458 (define-public cl-claw
13459 (sbcl-package->cl-source-package sbcl-claw))
13460
13461 (define-public ecl-claw
13462 (sbcl-package->ecl-package sbcl-claw))
13463
13464 (define-public sbcl-claw-utils
13465 (let ((revision "0")
13466 (commit "efe25016501973dc369f067a64c7d225802bc56f"))
13467 (package
13468 (name "sbcl-claw-utils")
13469 ;; version is not specified
13470 (version (git-version "0.0.0" revision commit))
13471 (source
13472 (origin
13473 (method git-fetch)
13474 (uri (git-reference
13475 (url "https://github.com/borodust/claw-utils")
13476 (commit commit)))
13477 (file-name (git-file-name "claw-utils" version))
13478 (sha256
13479 (base32 "01df3kyf2qs3czi332dnz2s35x2j0fq46vgmsw7wjrrvnqc22mk5"))))
13480 (build-system asdf-build-system/sbcl)
13481 (inputs
13482 `(("alexandria" ,sbcl-alexandria)
13483 ("cffi" ,sbcl-cffi)
13484 ("claw" ,sbcl-claw)))
13485 (home-page "https://github.com/borodust/claw-utils")
13486 (synopsis "Utilities for easier autowrapping")
13487 (description
13488 "This Common Lisp library contains various handy utilities to help
13489 autowrapping with @code{claw}.")
13490 (license license:expat))))
13491
13492 (define-public cl-claw-utils
13493 (sbcl-package->cl-source-package sbcl-claw-utils))
13494
13495 (define-public ecl-claw-utils
13496 (sbcl-package->ecl-package sbcl-claw-utils))
13497
13498 (define-public sbcl-array-operations
13499 (let ((commit "75cbc3b1adb2e3ce2109489753d0f290b071e81b")
13500 (revision "0"))
13501 (package
13502 (name "sbcl-array-operations")
13503 (version (git-version "0.0.0" revision commit))
13504 (source
13505 (origin
13506 (method git-fetch)
13507 (uri (git-reference
13508 (url "https://github.com/bendudson/array-operations")
13509 (commit commit)))
13510 (file-name (git-file-name "array-operations" version))
13511 (sha256
13512 (base32 "0ip49hhq32w80qsc7jmspyda5r2rsszvw0mk2r3341cld78sz9ya"))))
13513 (build-system asdf-build-system/sbcl)
13514 (native-inputs
13515 `(("alexandria" ,sbcl-alexandria)
13516 ("clunit2" ,sbcl-clunit2)))
13517 (inputs
13518 `(("let-plus" ,sbcl-let-plus)))
13519 (synopsis "Simple array operations library for Common Lisp")
13520 (description
13521 "This library is a collection of functions and macros for manipulating
13522 Common Lisp arrays and performing numerical calculations with them.")
13523 (home-page "https://github.com/bendudson/array-operations")
13524 (license license:expat))))
13525
13526 (define-public cl-array-operations
13527 (sbcl-package->cl-source-package sbcl-array-operations))
13528
13529 (define-public ecl-array-operations
13530 (sbcl-package->ecl-package sbcl-array-operations))
13531
13532 (define-public sbcl-clml
13533 (let ((commit "95505b54c8c7b4b27f500c3be97fa5732f4b51a8")
13534 (revision "0"))
13535 (package
13536 (name "sbcl-clml")
13537 (version (git-version "0.0.0" revision commit))
13538 (source
13539 (origin
13540 (method git-fetch)
13541 (uri (git-reference
13542 (url "https://github.com/mmaul/clml")
13543 (commit commit)))
13544 (file-name (git-file-name "clml" version))
13545 (sha256
13546 (base32 "006pii59nmpc61n7p7h8ha5vjg6x0dya327i58z0rnvxs249h345"))
13547 ;; TODO: Remove this when the patch has been merged upstream.
13548 (patches (search-patches "sbcl-clml-fix-types.patch"))))
13549 (build-system asdf-build-system/sbcl)
13550 (inputs
13551 `(("alexandia" ,sbcl-alexandria)
13552 ("array-operations" ,sbcl-array-operations)
13553 ("cl-fad" ,sbcl-cl-fad)
13554 ("cl-ppcre" ,sbcl-cl-ppcre)
13555 ("drakma" ,sbcl-drakma)
13556 ("introspect-environment" ,sbcl-introspect-environment)
13557 ("iterate" ,sbcl-iterate)
13558 ("lparallel" ,sbcl-lparallel)
13559 ("parse-number" ,sbcl-parse-number)
13560 ("split-sequence" ,sbcl-split-sequence)
13561 ("trivial-garbage" ,sbcl-trivial-garbage)))
13562 (synopsis "Common Lisp machine learning library")
13563 (description
13564 "CLML (Common Lisp Machine Learning) is a high performance and large
13565 scale statistical machine learning package")
13566 (home-page "https://mmaul.github.io/clml/")
13567 (license license:llgpl))))
13568
13569 (define-public cl-clml
13570 (sbcl-package->cl-source-package sbcl-clml))
13571
13572 (define-public sbcl-utm-ups
13573 (let ((commit "ffcb7b6d5a56fb7d4b2b95b83bbd28ffe6e6961f")
13574 (revision "0"))
13575 (package
13576 (name "sbcl-utm-ups")
13577 (version (git-version "1.1" revision commit))
13578 (source
13579 (origin
13580 (method git-fetch)
13581 (uri (git-reference
13582 (url "https://github.com/glv2/utm-ups")
13583 (commit commit)))
13584 (file-name (git-file-name "utm-ups" version))
13585 (sha256
13586 (base32 "1rvyh0srgd81kvbzmq4ysd9y6c0qdwh23naqxc9asw1vh7fq08x1"))))
13587 (build-system asdf-build-system/sbcl)
13588 (native-inputs
13589 `(("fiveam" ,sbcl-fiveam)))
13590 (synopsis
13591 "Convert coordinates between latitude/longitude and UTM or UPS")
13592 (description
13593 "This a Common Lisp library to convert geographic coordinates between
13594 latitude/longitude and UTM (Universal Transverse Mercator) or UPS (Universal
13595 Polar Stereographic).")
13596 (home-page "https://github.com/glv2/utm-ups")
13597 (license license:gpl3+))))
13598
13599 (define-public cl-utm-ups
13600 (sbcl-package->cl-source-package sbcl-utm-ups))
13601
13602 (define-public ecl-utm-ups
13603 (sbcl-package->ecl-package sbcl-utm-ups))
13604
13605 (define-public sbcl-mgrs
13606 (let ((commit "00455460407b7e5509d1be3da09bf6152956761f")
13607 (revision "0"))
13608 (package
13609 (name "sbcl-mgrs")
13610 (version (git-version "1.0" revision commit))
13611 (source
13612 (origin
13613 (method git-fetch)
13614 (uri (git-reference
13615 (url "https://github.com/glv2/mgrs")
13616 (commit commit)))
13617 (file-name (git-file-name "mgrs" version))
13618 (sha256
13619 (base32 "0ckvn4hg3wwivzavhfashb6fap4a1q10l8krhbng8bdb54ac10sz"))))
13620 (build-system asdf-build-system/sbcl)
13621 (native-inputs
13622 `(("fiveam" ,sbcl-fiveam)))
13623 (inputs
13624 `(("utm-ups" ,sbcl-utm-ups)))
13625 (synopsis
13626 "Convert coordinates between latitude/longitude and MGRS")
13627 (description
13628 "This a Common Lisp library to convert geographic coordinates between
13629 latitude/longitude and MGRS.")
13630 (home-page "https://github.com/glv2/mgrs")
13631 (license license:gpl3+))))
13632
13633 (define-public cl-mgrs
13634 (sbcl-package->cl-source-package sbcl-mgrs))
13635
13636 (define-public ecl-mgrs
13637 (sbcl-package->ecl-package sbcl-mgrs))
13638
13639 (define-public sbcl-maidenhead
13640 (let ((commit "b756d235c27b5d6798867aa240318af1a8f35d6d")
13641 (revision "0"))
13642 (package
13643 (name "sbcl-maidenhead")
13644 (version (git-version "1.0" revision commit))
13645 (source
13646 (origin
13647 (method git-fetch)
13648 (uri (git-reference
13649 (url "https://github.com/glv2/maidenhead")
13650 (commit commit)))
13651 (file-name (git-file-name "maidenhead" version))
13652 (sha256
13653 (base32 "02p990zprhjvifmsfk8yh3frvz6xyw26ikzxvzglqdixbal36nr3"))))
13654 (build-system asdf-build-system/sbcl)
13655 (native-inputs
13656 `(("fiveam" ,sbcl-fiveam)))
13657 (synopsis
13658 "Convert coordinates between latitude/longitude and Maidenhead")
13659 (description
13660 "This a Common Lisp library to convert geographic coordinates between
13661 latitude/longitude and Maidenhead locator system.")
13662 (home-page "https://github.com/glv2/maidenhead")
13663 (license license:gpl3+))))
13664
13665 (define-public cl-maidenhead
13666 (sbcl-package->cl-source-package sbcl-maidenhead))
13667
13668 (define-public ecl-maidenhead
13669 (sbcl-package->ecl-package sbcl-maidenhead))
13670
13671 (define-public sbcl-olc
13672 (let ((commit "517e27fa57d9a119b00a29c4b6b31e553deff309")
13673 (revision "0"))
13674 (package
13675 (name "sbcl-olc")
13676 (version (git-version "1.0" revision commit))
13677 (source
13678 (origin
13679 (method git-fetch)
13680 (uri (git-reference
13681 (url "https://github.com/glv2/olc")
13682 (commit commit)))
13683 (file-name (git-file-name "olc" version))
13684 (sha256
13685 (base32 "1lnfhp6z6kc8l605zp4siyjiw74y1h4bdq3jfizi084v505wxhgr"))))
13686 (build-system asdf-build-system/sbcl)
13687 (native-inputs
13688 `(("fiveam" ,sbcl-fiveam)))
13689 (synopsis
13690 "Convert coordinates between latitude/longitude and Open Location Code")
13691 (description
13692 "This a Common Lisp library to convert geographic coordinates between
13693 latitude/longitude and Open Location Code.")
13694 (home-page "https://github.com/glv2/olc")
13695 (license license:gpl3+))))
13696
13697 (define-public cl-olc
13698 (sbcl-package->cl-source-package sbcl-olc))
13699
13700 (define-public ecl-olc
13701 (sbcl-package->ecl-package sbcl-olc))
13702
13703 (define-public sbcl-regex
13704 (let ((commit "fbc9a9f313b9edc1788f33d4b23a29151635ae22"))
13705 (package
13706 (name "sbcl-regex")
13707 (version (git-version "1" "1" commit))
13708 (source
13709 (origin
13710 (method git-fetch)
13711 (uri (git-reference
13712 (url "https://github.com/michaelw/regex/")
13713 (commit commit)))
13714 (file-name (git-file-name name version))
13715 (sha256
13716 (base32 "0wq5wlafrxv13wg28hg5b10sc48b88swsvznpy2zg7x37m4nmm6a"))))
13717 (build-system asdf-build-system/sbcl)
13718 (home-page "https://github.com/michaelw/regex/")
13719 (synopsis "Regular expression engine for Common Lisp")
13720 (description
13721 "This Common Lisp package provides a regular expression engine.")
13722 (license license:bsd-2))))
13723
13724 (define-public cl-regex
13725 (sbcl-package->cl-source-package sbcl-regex))
13726
13727 (define-public ecl-regex
13728 (sbcl-package->ecl-package sbcl-regex))
13729
13730 (define-public sbcl-clawk
13731 (let ((commit "3a91634df686417114044a98c063cbe76bfac7b6"))
13732 (package
13733 (name "sbcl-clawk")
13734 (version (git-version "4" "1" commit))
13735 (source
13736 (origin
13737 (method git-fetch)
13738 (uri (git-reference
13739 (url "https://github.com/sharplispers/clawk")
13740 (commit commit)))
13741 (file-name (git-file-name name version))
13742 (sha256
13743 (base32 "1ph3xjqilvinvgr9q3w47zxqyz1sqnq030nlx7kgkkv8j3bnqk7a"))))
13744 (build-system asdf-build-system/sbcl)
13745 (inputs
13746 `(("sbcl-regex" ,sbcl-regex)))
13747 (home-page "https://github.com/sharplispers/clawk")
13748 (synopsis "Common Lisp AWK")
13749 (description
13750 "CLAWK is an AWK implementation embedded into Common Lisp.")
13751 (license license:bsd-2))))
13752
13753 (define-public cl-clawk
13754 (sbcl-package->cl-source-package sbcl-clawk))
13755
13756 (define-public ecl-clawk
13757 (sbcl-package->ecl-package sbcl-clawk))
13758
13759 (define-public sbcl-check-it
13760 (let ((commit "b79c9103665be3976915b56b570038f03486e62f"))
13761 (package
13762 (name "sbcl-check-it")
13763 (version (git-version "0.1.0" "1" commit))
13764 (source
13765 (origin
13766 (method git-fetch)
13767 (uri (git-reference
13768 (url "https://github.com/DalekBaldwin/check-it/")
13769 (commit commit)))
13770 (file-name (git-file-name name version))
13771 (sha256
13772 (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"))))
13773 (build-system asdf-build-system/sbcl)
13774 (inputs
13775 `(("alexandria" ,sbcl-alexandria)
13776 ("closer-mop" ,sbcl-closer-mop)
13777 ("optima" ,sbcl-optima)))
13778 (native-inputs
13779 `(("stefil" ,sbcl-stefil)))
13780 (home-page "https://github.com/arclanguage/Clamp")
13781 (synopsis "Randomized specification-based testing for Common Lisp")
13782 (description
13783 "This is a randomized property-based testing library for Common Lisp.
13784 Rather than being a full-fledged general test framework in its own right, it's
13785 designed to embed randomized tests in whatever framework you like.")
13786 (license license:llgpl))))
13787
13788 (define-public cl-check-it
13789 (sbcl-package->cl-source-package sbcl-check-it))
13790
13791 (define-public ecl-check-it
13792 (sbcl-package->ecl-package sbcl-check-it))
13793
13794 (define-public sbcl-clamp
13795 (let ((commit "02b8f3953e5753cc61a719807c82f3795cd28fe1"))
13796 (package
13797 (name "sbcl-clamp")
13798 (version (git-version "0.3" "1" commit))
13799 (source
13800 (origin
13801 (method git-fetch)
13802 (uri (git-reference
13803 (url "https://github.com/arclanguage/Clamp")
13804 (commit commit)))
13805 (file-name (git-file-name name version))
13806 (sha256
13807 (base32 "0fdr9nqfmmpxm6hvjdxi1jkclya9xlnrw1yc3cn1m4ww3f50p31m"))))
13808 (build-system asdf-build-system/sbcl)
13809 (inputs
13810 `(("iterate" ,sbcl-iterate)
13811 ("cl-syntax" ,sbcl-cl-syntax)))
13812 (native-inputs
13813 `(("cl-unit" ,sbcl-clunit)
13814 ("check-it" ,sbcl-check-it)))
13815 (arguments
13816 `(#:phases
13817 (modify-phases %standard-phases
13818 (add-after 'unpack 'fix-build
13819 (lambda _
13820 (substitute* "clamp.asd"
13821 (("\\(:file \"read\" :depends-on \\(\"aliases\"\\)\\)")
13822 "(:file \"read\" :depends-on (\"aliases\" \"base\"))"))
13823 #t)))))
13824 (home-page "https://github.com/arclanguage/Clamp")
13825 (synopsis "Common Lisp with Arc macros and procedures")
13826 (description
13827 "Clamp is an attempt to bring the powerful, but verbose, language of
13828 Common Lisp up to the terseness of Arc.
13829
13830 There are two parts to Clamp. There is the core of Clamp, which implements
13831 the utilities of Arc that are easily converted from Arc to Common Lisp. The
13832 other part is the \"experimental\" part. It contains features of Arc that are
13833 not so easy to copy (ssyntax, argument destructuring, etc.).")
13834 (license license:artistic2.0))))
13835
13836 (define-public cl-clamp
13837 (sbcl-package->cl-source-package sbcl-clamp))
13838
13839 (define-public ecl-clamp
13840 (sbcl-package->ecl-package sbcl-clamp))
13841
13842 (define-public sbcl-trivial-shell
13843 (let ((commit "e02ec191b34b52deca5d1c4ee99d4fa13b8772e0"))
13844 (package
13845 (name "sbcl-trivial-shell")
13846 (version (git-version "0.2.0" "1" commit))
13847 (source
13848 (origin
13849 (method git-fetch)
13850 (uri (git-reference
13851 (url "https://github.com/gwkkwg/trivial-shell")
13852 (commit commit)))
13853 (file-name (git-file-name name version))
13854 (sha256
13855 (base32 "08mpkl5ij5sjfsyn8pq2kvsvpvyvr7ha1r8g1224fa667b8k2q85"))))
13856 (build-system asdf-build-system/sbcl)
13857 (native-inputs
13858 `(("lift" ,sbcl-lift)))
13859 (home-page "http://common-lisp.net/project/trivial-shell/")
13860 (synopsis "Common Lisp access to the shell")
13861 (description
13862 "A simple Common-Lisp interface to the underlying operating system.
13863 It's independent of the implementation and operating system.")
13864 (license license:expat))))
13865
13866 (define-public cl-trivial-shell
13867 (sbcl-package->cl-source-package sbcl-trivial-shell))
13868
13869 (define-public ecl-trivial-shell
13870 (sbcl-package->ecl-package sbcl-trivial-shell))
13871
13872 (define-public sbcl-clesh
13873 (let ((commit "44e96e04a72e5bc006dc4eb02ce8962348dd4a11"))
13874 (package
13875 (name "sbcl-clesh")
13876 (version (git-version "0.0.0" "1" commit))
13877 (source
13878 (origin
13879 (method git-fetch)
13880 (uri (git-reference
13881 (url "https://github.com/Neronus/Clesh")
13882 (commit commit)))
13883 (file-name (git-file-name name version))
13884 (sha256
13885 (base32 "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318"))))
13886 (build-system asdf-build-system/sbcl)
13887 (inputs
13888 `(("trivial-shell" ,sbcl-trivial-shell)
13889 ("named-readtables" ,sbcl-named-readtables)))
13890 (home-page "https://github.com/Neronus/Clesh")
13891 (synopsis "Embed shell code in Common Lisp")
13892 (description
13893 "This is a very short and simple program, written in Common Lisp, that
13894 extends Common Lisp to embed shell code in a manner similar to Perl's
13895 backtick. It has been forked from SHELISP.")
13896 (license license:bsd-2))))
13897
13898 (define-public cl-clesh
13899 (sbcl-package->cl-source-package sbcl-clesh))
13900
13901 (define-public ecl-clesh
13902 (sbcl-package->ecl-package sbcl-clesh))
13903
13904 (define-public sbcl-trivial-channels
13905 (let ((commit "e2370118d8983ba69c0360a7695f8f2e2fd6a8a6")
13906 (revision "1"))
13907 (package
13908 (name "sbcl-trivial-channels")
13909 (version (git-version "1.0" revision commit))
13910 (source
13911 (origin
13912 (method git-fetch)
13913 (uri (git-reference
13914 (url "https://github.com/rpav/trivial-channels")
13915 (commit commit)))
13916 (file-name (git-file-name "trivial-channels" version))
13917 (sha256
13918 (base32 "04wnxcgk40x8p0gxnz9arv1a5wasdqrdxa8c4p5v7r2mycfps6jj"))))
13919 (build-system asdf-build-system/sbcl)
13920 (inputs
13921 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13922 ("trivial-timeout" ,sbcl-trivial-timeout)))
13923 (home-page "https://github.com/rpav/trivial-channels")
13924 (synopsis "Common Lisp simple thread-safe channels with timeout")
13925 (description
13926 "It's very basic implementation of channels and queue for Common Lisp.")
13927 (license license:bsd-2))))
13928
13929 (define-public ecl-trivial-channels
13930 (sbcl-package->ecl-package sbcl-trivial-channels))
13931
13932 (define-public cl-trivial-channels
13933 (sbcl-package->cl-source-package sbcl-trivial-channels))
13934
13935 (define-public sbcl-trivial-download
13936 (let ((commit "d2472061d86b1cf3d32f388daacd4e32a13af699"))
13937 (package
13938 (name "sbcl-trivial-download")
13939 (version (git-version "0.3" "1" commit))
13940 (source
13941 (origin
13942 (method git-fetch)
13943 (uri (git-reference
13944 (url "https://github.com/eudoxia0/trivial-download/")
13945 (commit commit)))
13946 (file-name (git-file-name name version))
13947 (sha256
13948 (base32 "06f46zr3gp3wlm2kgxna24qd2gpr1v89x9fynh1x5vrw6c6hqjcv"))))
13949 (build-system asdf-build-system/sbcl)
13950 (inputs
13951 `(("drakma" ,sbcl-drakma)))
13952 (home-page "https://github.com/eudoxia0/trivial-download/")
13953 (synopsis "Download files from Common Lisp")
13954 (description
13955 "@code{trivial-download} allows you to download files from the Internet
13956 from Common Lisp. It provides a progress bar.")
13957 (license license:bsd-2))))
13958
13959 (define-public cl-trivial-download
13960 (sbcl-package->cl-source-package sbcl-trivial-download))
13961
13962 (define-public ecl-trivial-download
13963 (sbcl-package->ecl-package sbcl-trivial-download))
13964
13965 (define-public sbcl-gtwiwtg
13966 (package
13967 (name "sbcl-gtwiwtg")
13968 (version "0.1.1")
13969 (source
13970 (origin
13971 (method git-fetch)
13972 (uri (git-reference
13973 (url "https://github.com/cbeo/gtwiwtg/")
13974 (commit version)))
13975 (file-name (git-file-name name version))
13976 (sha256
13977 (base32 "0lkraw0dwh4is4x5sp5rjrw6f93m0gr9849abrbi12s25ws7jbw4"))))
13978 (build-system asdf-build-system/sbcl)
13979 (native-inputs
13980 `(("osicat" ,sbcl-osicat)
13981 ("prove" ,sbcl-prove)))
13982 (home-page "https://github.com/cbeo/gtwiwtg/")
13983 (synopsis "Naive generators for Common Lisp")
13984 (description
13985 "The GTWIWTG library (Generators The Way I Want Them Generated --
13986 technically not generators, but iterators) is meant to be small, explorable,
13987 and understandable.")
13988 (license license:gpl3)))
13989
13990 (define-public cl-gtwiwtg
13991 (sbcl-package->cl-source-package sbcl-gtwiwtg))
13992
13993 (define-public ecl-gtwiwtg
13994 (sbcl-package->ecl-package sbcl-gtwiwtg))
13995
13996 (define-public sbcl-cl-progress-bar
13997 (let ((commit "9374170858663c8fe829e9fb5a29bd2cb48d95ae"))
13998 (package
13999 (name "sbcl-cl-progress-bar")
14000 (version (git-version "0.0.0" "1" commit))
14001 (source
14002 (origin
14003 (method git-fetch)
14004 (uri (git-reference
14005 (url "https://github.com/sirherrbatka/cl-progress-bar/")
14006 (commit commit)))
14007 (file-name (git-file-name name version))
14008 (sha256
14009 (base32 "1ldb4qhmx431n3lsq71ynwb9ybazbfqd55icjbhi06mj52ngndir"))))
14010 (build-system asdf-build-system/sbcl)
14011 (inputs
14012 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
14013 ("documentation-utils-extensions" ,sbcl-documentation-utils-extensions)))
14014 (home-page "https://github.com/sirherrbatka/cl-progress-bar/")
14015 (synopsis "Progress bars in Common Lisp")
14016 (description
14017 "This library provides almost the same code as used inside Quicklisp
14018 for drawning progress bars")
14019 (license license:expat))))
14020
14021 (define-public cl-progress-bar
14022 (sbcl-package->cl-source-package sbcl-cl-progress-bar))
14023
14024 (define-public ecl-cl-progress-bar
14025 (sbcl-package->ecl-package sbcl-cl-progress-bar))
14026
14027 (define-public sbcl-repl-utilities
14028 (let ((commit "7e300df663177ea4581f4e7e9c601377881dd986"))
14029 (package
14030 (name "sbcl-repl-utilities")
14031 (version (git-version "0.0.0" "1" commit))
14032 (source
14033 (origin
14034 (method git-fetch)
14035 (uri (git-reference
14036 (url "https://github.com/m-n/repl-utilities/")
14037 (commit commit)))
14038 (file-name (git-file-name name version))
14039 (sha256
14040 (base32 "1hh56pq5nw3l4b83dzlyss69f06r038byj2cnjwvci4hfjhdfcc3"))))
14041 (build-system asdf-build-system/sbcl)
14042 (home-page "https://github.com/m-n/repl-utilities")
14043 (synopsis "Ease common tasks at the Common Lisp REPL")
14044 (description
14045 "@code{repl-utilities} is a set of utilities which ease life at the
14046 REPL. It includes three sorts of features: introspective procedures,
14047 miscellaneous utility functions, and, pulling them together, methods to
14048 conveniently keep these symbols and optionally additional symbols available in
14049 whichever package you switch to.")
14050 (license license:bsd-2))))
14051
14052 (define-public cl-repl-utilities
14053 (sbcl-package->cl-source-package sbcl-repl-utilities))
14054
14055 (define-public ecl-repl-utilities
14056 (sbcl-package->ecl-package sbcl-repl-utilities))
14057
14058 (define-public sbcl-supertrace
14059 (let ((commit "66d22c3ff131ecd1c8048dfced1d62ed6024ecb0"))
14060 (package
14061 (name "sbcl-supertrace")
14062 (version (git-version "0.1.0" "1" commit))
14063 (source
14064 (origin
14065 (method git-fetch)
14066 (uri (git-reference
14067 (url "https://github.com/fukamachi/supertrace")
14068 (commit commit)))
14069 (file-name (git-file-name name version))
14070 (sha256
14071 (base32 "0n369n6b7y1m49biccnnr7svymjdsk8sksrkqrn3mj21vgv7s7bg"))))
14072 (build-system asdf-build-system/sbcl)
14073 (native-inputs
14074 `(("cffi-grovel" ,sbcl-cffi)
14075 ("rove" ,sbcl-rove)
14076 ("cl-ppcre" ,sbcl-cl-ppcre)
14077 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
14078 (inputs
14079 `(("cffi" ,sbcl-cffi)))
14080 (home-page "https://github.com/fukamachi/supertrace")
14081 (synopsis "Improved Common Lisp tracing for debugging and profiling")
14082 (description
14083 "Supertrace provides a superior Common Lisp @code{trace} functionality
14084 for debugging and profiling real world applications.")
14085 (license license:bsd-2))))
14086
14087 (define-public cl-supertrace
14088 (sbcl-package->cl-source-package sbcl-supertrace))
14089
14090 (define-public ecl-supertrace
14091 (sbcl-package->ecl-package sbcl-supertrace))
14092
14093 (define-public sbcl-trivial-benchmark
14094 (let ((commit "42d76733dd2e873471c6f1e27d39113293f7dd5c"))
14095 (package
14096 (name "sbcl-trivial-benchmark")
14097 (version (git-version "2.0.0" "1" commit))
14098 (source
14099 (origin
14100 (method git-fetch)
14101 (uri (git-reference
14102 (url "https://github.com/Shinmera/trivial-benchmark/")
14103 (commit commit)))
14104 (file-name (git-file-name name version))
14105 (sha256
14106 (base32 "0fbzqbpm2ixz85555krl36kbbbjyn699vdj6k383khi3g9y629fa"))))
14107 (build-system asdf-build-system/sbcl)
14108 (inputs
14109 `(("alexandria" ,sbcl-alexandria)))
14110 (home-page "http://shinmera.github.io/trivial-benchmark/")
14111 (synopsis "Easy to use benchmarking system for Common Lisp")
14112 (description
14113 "Trivial-Benchmark runs a block of code many times and outputs some
14114 statistical data for it. On SBCL this includes the data from @code{time}, for
14115 all other implementations just the @code{real-time} and @code{run-time} data.
14116 However, you can extend the system by adding your own @code{metrics} to it, or
14117 even by adding additional statistical @code{compute}ations. ")
14118 (license license:zlib))))
14119
14120 (define-public cl-trivial-benchmark
14121 (sbcl-package->cl-source-package sbcl-trivial-benchmark))
14122
14123 (define-public ecl-trivial-benchmark
14124 (sbcl-package->ecl-package sbcl-trivial-benchmark))
14125
14126 (define-public sbcl-glyphs
14127 (let ((commit "1ff5714e8c1dca327bc604dfe3e3d1f4b7755373"))
14128 (package
14129 (name "sbcl-glyphs")
14130 (version (git-version "0.0.0" "1" commit))
14131 (source
14132 (origin
14133 (method git-fetch)
14134 (uri (git-reference
14135 (url "https://github.com/ahungry/glyphs/")
14136 (commit commit)))
14137 (file-name (git-file-name name version))
14138 (sha256
14139 (base32 "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf"))))
14140 (build-system asdf-build-system/sbcl)
14141 (inputs
14142 `(("cl-ppcre" ,sbcl-cl-ppcre)
14143 ("parenscript" ,sbcl-parenscript)
14144 ("named-readtables" ,sbcl-named-readtables)))
14145 (home-page "https://github.com/ahungry/glyphs/")
14146 (synopsis "Reduce Common Lisp verbosity")
14147 (description
14148 "This library is a little experiment in reducing verbosity in Common
14149 Lisp, inspired by BODOL (@url{https://github.com/bodil/BODOL}).")
14150 (license license:gpl3))))
14151
14152 (define-public cl-glyphs
14153 (sbcl-package->cl-source-package sbcl-glyphs))
14154
14155 (define-public ecl-glyphs
14156 (sbcl-package->ecl-package sbcl-glyphs))
14157
14158 (define-public sbcl-zs3
14159 (package
14160 (name "sbcl-zs3")
14161 (version "1.3.3")
14162 (source
14163 (origin
14164 (method git-fetch)
14165 (uri
14166 (git-reference
14167 (url "https://github.com/xach/zs3")
14168 (commit (string-append "release-" version))))
14169 (file-name (git-file-name "zs3" version))
14170 (sha256
14171 (base32 "186v95wgsj2hkxdw2jl9x1w4fddjclp7arp0rrd9vf5ly8h8sbf3"))))
14172 (build-system asdf-build-system/sbcl)
14173 (inputs
14174 `(("drakma" ,sbcl-drakma)
14175 ("alexandria" ,sbcl-alexandria)
14176 ("cxml" ,sbcl-cxml)
14177 ("ironclad" ,sbcl-ironclad)
14178 ("puri" ,sbcl-puri)
14179 ("cl-base64" ,sbcl-cl-base64)))
14180 (synopsis "Work with Amazon S3 and Amazon CloudFront from Common Lisp")
14181 (description "This is ZS3, a library for working with Amazon's Simple Storage
14182 Service (S3) and CloudFront service from Common Lisp.")
14183 (home-page "https://github.com/xach/zs3")
14184 (license license:bsd-2)))
14185
14186 (define-public cl-zs3
14187 (sbcl-package->cl-source-package sbcl-zs3))
14188
14189 (define-public ecl-zs3
14190 (sbcl-package->ecl-package sbcl-zs3))
14191
14192 (define-public sbcl-simple-neural-network
14193 (package
14194 (name "sbcl-simple-neural-network")
14195 (version "3.1")
14196 (source
14197 (origin
14198 (method git-fetch)
14199 (uri (git-reference
14200 (url "https://github.com/glv2/simple-neural-network")
14201 (commit (string-append "v" version))))
14202 (file-name (git-file-name "simple-neural-network" version))
14203 (sha256
14204 (base32 "1jj1c90fr5clwka0jv32hv6xp1bkdlpa6x5jh19an13rhx8ll4zr"))))
14205 (build-system asdf-build-system/sbcl)
14206 (native-inputs
14207 `(("chipz" ,sbcl-chipz)
14208 ("fiveam" ,sbcl-fiveam)))
14209 (inputs
14210 `(("cl-store" ,sbcl-cl-store)
14211 ("lparallel" ,sbcl-lparallel)))
14212 (arguments
14213 `(#:phases
14214 (modify-phases %standard-phases
14215 (add-after 'check 'remove-test-data
14216 (lambda* (#:key outputs #:allow-other-keys)
14217 (let ((out (assoc-ref outputs "out")))
14218 (for-each delete-file (find-files out "\\.gz$"))))))))
14219 (synopsis "Simple neural network in Common Lisp")
14220 (description
14221 "@code{simple-neural-network} is a Common Lisp library for creating,
14222 training and using basic neural networks. The networks created by this
14223 library are feedforward neural networks trained using backpropagation.")
14224 (home-page "https://github.com/glv2/simple-neural-network")
14225 (license license:gpl3+)))
14226
14227 (define-public cl-simple-neural-network
14228 (sbcl-package->cl-source-package sbcl-simple-neural-network))
14229
14230 (define-public ecl-simple-neural-network
14231 (sbcl-package->ecl-package sbcl-simple-neural-network))
14232
14233 (define-public sbcl-zstd
14234 (let ((commit "d144582c581aaa52bac24d6686af27fa3e781e06")
14235 (revision "1"))
14236 (package
14237 (name "sbcl-zstd")
14238 (version (git-version "1.0" revision commit))
14239 (source
14240 (origin
14241 (method git-fetch)
14242 (uri (git-reference
14243 (url "https://github.com/glv2/cl-zstd")
14244 (commit commit)))
14245 (file-name (git-file-name "cl-zstd" version))
14246 (sha256
14247 (base32 "1774jy8hzbi6nih3sq6vchk66f7g8w86dwgpbvljyfzcnkcaz6ql"))))
14248 (build-system asdf-build-system/sbcl)
14249 (native-inputs
14250 `(("fiveam" ,sbcl-fiveam)))
14251 (inputs
14252 `(("cffi" ,sbcl-cffi)
14253 ("cl-octet-streams" ,sbcl-cl-octet-streams)
14254 ("zstd-lib" ,zstd "lib")))
14255 (arguments
14256 '(#:phases
14257 (modify-phases %standard-phases
14258 (add-after 'unpack 'fix-paths
14259 (lambda* (#:key inputs #:allow-other-keys)
14260 (substitute* "src/libzstd.lisp"
14261 (("libzstd\\.so")
14262 (string-append (assoc-ref inputs "zstd-lib")
14263 "/lib/libzstd.so")))
14264 #t)))))
14265 (synopsis "Common Lisp library for Zstandard (de)compression")
14266 (description
14267 "This Common Lisp library provides functions for Zstandard
14268 compression/decompression using bindings to the libzstd C library.")
14269 (home-page "https://github.com/glv2/cl-zstd")
14270 (license license:gpl3+))))
14271
14272 (define-public cl-zstd
14273 (sbcl-package->cl-source-package sbcl-zstd))
14274
14275 (define-public ecl-zstd
14276 (sbcl-package->ecl-package sbcl-zstd))
14277
14278 (define-public sbcl-agnostic-lizard
14279 (let ((commit "fe3a73719f05901c8819f8995a3ebae738257952")
14280 (revision "1"))
14281 (package
14282 (name "sbcl-agnostic-lizard")
14283 (version (git-version "0.0.0" revision commit))
14284 (source
14285 (origin
14286 (method git-fetch)
14287 (uri (git-reference
14288 (url "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
14289 (commit commit)))
14290 (file-name (git-file-name name version))
14291 (sha256
14292 (base32 "0ax78y8w4zlp5dcwyhz2nq7j3shi49qn31dkfg8lv2jlg7mkwh2d"))))
14293 (build-system asdf-build-system/sbcl)
14294 (synopsis "Almost correct portable code walker for Common Lisp")
14295 (description
14296 "Agnostic Lizard is a portable implementation of a code walker and in
14297 particular of the macroexpand-all function (and macro) that makes a best
14298 effort to be correct while not expecting much beyond what the Common Lisp
14299 standard requires.
14300
14301 It aims to be implementation-agnostic and to climb the syntax trees.")
14302 (home-page "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
14303 (license license:gpl3+))))
14304
14305 (define-public cl-agnostic-lizard
14306 (sbcl-package->cl-source-package sbcl-agnostic-lizard))
14307
14308 (define-public ecl-agnostic-lizard
14309 (sbcl-package->ecl-package sbcl-agnostic-lizard))
14310
14311 (define-public sbcl-dynamic-classes
14312 (package
14313 (name "sbcl-dynamic-classes")
14314 (version "1.0.2")
14315 (source
14316 (origin
14317 (method git-fetch)
14318 (uri (git-reference
14319 (url "https://github.com/gwkkwg/dynamic-classes")
14320 (commit (string-append "version-" version))))
14321 (file-name (git-file-name "dynamic-classes" version))
14322 (sha256
14323 (base32 "1z3ag6w4ff0v6715xa9zhvwjqnp4i6zrjfmxdz8m115sklbwgm6c"))))
14324 (build-system asdf-build-system/sbcl)
14325 (inputs
14326 `(("metatilities-base" ,sbcl-metatilities-base)))
14327 (arguments
14328 ;; NOTE: (Sharlatan-20210106222900+0000) Circular dependencies and failing
14329 ;; test suites. lift-standard.config contains referances to deprecated
14330 ;; functionality.
14331 `(#:tests? #f))
14332 (home-page "https://common-lisp.net/project/dynamic-classes/")
14333 (synopsis "Dynamic class definition for Common Lisp")
14334 (description "Dynamic-Classes helps to ease the prototyping process by
14335 bringing dynamism to class definition.")
14336 (license license:expat)))
14337
14338 (define-public ecl-dynamic-classes
14339 (sbcl-package->ecl-package sbcl-dynamic-classes))
14340
14341 (define-public cl-dynamic-classes
14342 (sbcl-package->cl-source-package sbcl-dynamic-classes))
14343
14344 (define-public sbcl-cl-markdown
14345 ;; NOTE: (Sharlatan-20210106214629+0000) latest version tag
14346 ;; "version-0.10.6_version-0.10.6" is failing to build due to missing system
14347 ;; #:container-dynamic-classes
14348 (package
14349 (name "sbcl-cl-markdown")
14350 (version "0.10.4")
14351 (source
14352 (origin
14353 (method git-fetch)
14354 (uri (git-reference
14355 (url "https://github.com/gwkkwg/cl-markdown")
14356 (commit (string-append "version-" version))))
14357 (file-name (git-file-name "cl-markdown" version))
14358 (sha256
14359 (base32 "1wdjbdd1zyskxf7zlilcp6fmwkivybj0wjp64vvzb265d5xi7p8p"))))
14360 (build-system asdf-build-system/sbcl)
14361 (inputs
14362 `(("anaphora" ,sbcl-anaphora)
14363 ("cl-containers" ,sbcl-cl-containers)
14364 ("cl-ppcre" ,sbcl-cl-ppcre)
14365 ("dynamic-classes" ,sbcl-dynamic-classes)
14366 ("metabang-bind" ,sbcl-metabang-bind)
14367 ("metatilities-base" ,sbcl-metatilities-base)))
14368 (arguments
14369 ;; NOTE: (Sharlatan-20210107213629+0000) Tests depend on too many not
14370 ;; available systems, which themself are abandoned.
14371 `(#:tests? #f))
14372 (home-page "https://common-lisp.net/project/cl-markdown/")
14373 (synopsis "Common Lisp rewrite of Markdown")
14374 (description
14375 "This is an implementation of a Markdown parser in Common Lisp.")
14376 (license license:expat)))
14377
14378 (define-public ecl-cl-markdown
14379 (sbcl-package->ecl-package sbcl-cl-markdown))
14380
14381 (define-public cl-markdown
14382 (sbcl-package->cl-source-package sbcl-cl-markdown))
14383
14384 (define-public sbcl-magicffi
14385 (let ((commit "d88f2f280c31f639e4e05be75215d8a8dce6aef2"))
14386 (package
14387 (name "sbcl-magicffi")
14388 (version (git-version "0.0.0" "1" commit))
14389 (source
14390 (origin
14391 (method git-fetch)
14392 (uri (git-reference
14393 (url "https://github.com/dochang/magicffi/")
14394 (commit commit)))
14395 (file-name (git-file-name name version))
14396 (sha256
14397 (base32 "0p6ysa92fk34bhxpw7bycbfgw150fv11z9x8jr9xb4lh8cm2hvp6"))))
14398 (build-system asdf-build-system/sbcl)
14399 (native-inputs
14400 `(("alexandria" ,sbcl-alexandria)))
14401 (inputs
14402 `(("cffi" ,sbcl-cffi)
14403 ("ppcre" ,sbcl-cl-ppcre)
14404 ("libmagic" ,file)))
14405 (arguments
14406 `(#:phases
14407 (modify-phases %standard-phases
14408 (add-after 'unpack 'fix-paths
14409 (lambda* (#:key inputs #:allow-other-keys)
14410 (let ((magic (assoc-ref inputs "libmagic")))
14411 (substitute* "grovel.lisp"
14412 (("/usr/include/magic.h")
14413 (string-append magic "/include/magic.h")))
14414 (substitute* "api.lisp"
14415 ((":default \"libmagic\"" all)
14416 (string-append ":default \"" magic "/lib/libmagic\"")))))))))
14417 (home-page "https://common-lisp.net/project/magicffi/")
14418 (synopsis "Common Lisp interface to libmagic based on CFFI")
14419 (description
14420 "MAGICFFI is a Common Lisp CFFI interface to libmagic(3), the file type
14421 determination library using @emph{magic} numbers.")
14422 (license license:bsd-2))))
14423
14424 (define-public ecl-magicffi
14425 (sbcl-package->ecl-package sbcl-magicffi))
14426
14427 (define-public cl-magicffi
14428 (sbcl-package->cl-source-package sbcl-magicffi))
14429
14430 (define-public sbcl-shlex
14431 (let ((commit "3dee1cb7c0140fa7660ca7a3b2ac5e75d1218e5c")
14432 (revision "2"))
14433 (package
14434 (name "sbcl-shlex")
14435 (version (git-version "0.0.0" revision commit))
14436 (source
14437 (origin
14438 (method git-fetch)
14439 (uri (git-reference
14440 (url "https://github.com/ruricolist/cl-shlex")
14441 (commit commit)))
14442 (file-name (git-file-name "cl-shlex" version))
14443 (sha256
14444 (base32 "16ag48sswgimr1fzr582vhym4s03idpd4lkydw5s58lv80ibpim8"))))
14445 (build-system asdf-build-system/sbcl)
14446 (inputs
14447 `(("alexandria" ,sbcl-alexandria)
14448 ("serapeum" ,sbcl-serapeum)
14449 ("ppcre" ,sbcl-cl-ppcre)
14450 ("unicode" ,sbcl-cl-unicode)))
14451 (home-page "https://github.com/ruricolist/cl-shlex")
14452 (synopsis "Common Lisp lexical analyzer for shell-like syntaxes")
14453 (description
14454 "This library contains a lexer for syntaxes that use shell-like rules
14455 for quoting and commenting. It is a port of the @code{shlex} module from Python’s
14456 standard library.")
14457 (license license:expat))))
14458
14459 (define-public ecl-shlex
14460 (sbcl-package->ecl-package sbcl-shlex))
14461
14462 (define-public cl-shlex
14463 (sbcl-package->cl-source-package sbcl-shlex))
14464
14465 (define-public sbcl-cmd
14466 (let ((commit "bc5a3bee8f22917126e4c3d05b33f766e562dbd8"))
14467 (package
14468 (name "sbcl-cmd")
14469 (version (git-version "0.0.1" "3" commit))
14470 (source
14471 (origin
14472 (method git-fetch)
14473 (uri (git-reference
14474 (url "https://github.com/ruricolist/cmd/")
14475 (commit commit)))
14476 (file-name (git-file-name name version))
14477 (sha256
14478 (base32 "1sjlabrknw1kjb2y89vssjhcqh3slgly8wnr3152zgis8lsj2yc7"))))
14479 (build-system asdf-build-system/sbcl)
14480 (inputs
14481 `(("alexandria" ,sbcl-alexandria)
14482 ("coreutils" ,coreutils)
14483 ("procps" ,procps)
14484 ("serapeum" ,sbcl-serapeum)
14485 ("shlex" ,sbcl-shlex)
14486 ("trivia" ,sbcl-trivia)))
14487 (arguments
14488 `(#:phases
14489 (modify-phases %standard-phases
14490 (add-after 'unpack 'fix-paths
14491 (lambda* (#:key inputs #:allow-other-keys)
14492 (let ((bin (string-append (assoc-ref inputs "coreutils") "/bin"))
14493 (ps-bin (string-append (assoc-ref inputs "procps") "/bin")))
14494 (substitute* "cmd.lisp"
14495 (("\\(def \\+env\\+ \"env\"\\)")
14496 (format #f "(def +env+ \"~a/env\")" bin))
14497 (("\\(def \\+kill\\+ \"kill\"\\)")
14498 (format #f "(def +kill+ \"~a/kill\")" bin))
14499 (("\\(def \\+ps\\+ \"ps\"\\)")
14500 (format #f "(def +ps+ \"~a/ps\")" ps-bin))
14501 (("\\(def \\+pwd\\+ \"pwd\"\\)")
14502 (format #f "(def +pwd+ \"~a/pwd\")" bin))
14503 (("\\(def \\+sh\\+ \"/bin/sh\"\\)")
14504 (format #f "(def +sh+ \"~a\")" (which "sh")))
14505 (("\\(def \\+tr\\+ \"tr\"\\)")
14506 (format #f "(def +tr+ \"~a/tr\")" bin)))))))))
14507 (home-page "https://github.com/ruricolist/cmd")
14508 (synopsis "Conveniently run external programs from Common Lisp")
14509 (description
14510 "A utility for running external programs, built on UIOP.
14511 Cmd is designed to be natural to use, protect against shell interpolation and
14512 be usable from multi-threaded programs.")
14513 (license license:expat))))
14514
14515 (define-public ecl-cmd
14516 (sbcl-package->ecl-package sbcl-cmd))
14517
14518 (define-public cl-cmd
14519 (sbcl-package->cl-source-package sbcl-cmd))
14520
14521 (define-public sbcl-ppath
14522 (let ((commit "eb1a8173b4d1d691ea9a7699412123462f58c3ce"))
14523 (package
14524 (name "sbcl-ppath")
14525 (version (git-version "0.1" "1" commit))
14526 (source
14527 (origin
14528 (method git-fetch)
14529 (uri (git-reference
14530 (url "https://github.com/fourier/ppath/")
14531 (commit commit)))
14532 (file-name (git-file-name name commit))
14533 (sha256
14534 (base32 "1c46q9lmzqv14z80d3fwdawgn3pn4922x31fyqvsvbcjm4hd16fb"))))
14535 (build-system asdf-build-system/sbcl)
14536 (inputs
14537 `(("alexandria" ,sbcl-alexandria)
14538 ("cffi" ,sbcl-cffi)
14539 ("osicat" ,sbcl-osicat)
14540 ("ppcre" ,sbcl-cl-ppcre)
14541 ("split-sequence" ,sbcl-split-sequence)
14542 ("trivial-features" ,sbcl-trivial-features)))
14543 (native-inputs
14544 `(("cl-fad" ,sbcl-cl-fad)
14545 ("prove" ,sbcl-prove)))
14546 (home-page "https://github.com/fourier/ppath")
14547 (synopsis "Common Lisp's implementation of the Python's os.path module")
14548 (description
14549 "This library is a path strings manipulation library inspired by
14550 Python's @code{os.path}. All functionality from @code{os.path} is supported on
14551 major operation systems.
14552
14553 The philosophy behind is to use simple strings and \"dumb\" string
14554 manipulation functions to handle paths and filenames. Where possible the
14555 corresponding OS system functions are called.")
14556 (license license:bsd-2))))
14557
14558 (define-public ecl-ppath
14559 (sbcl-package->ecl-package sbcl-ppath))
14560
14561 (define-public cl-ppath
14562 (sbcl-package->cl-source-package sbcl-ppath))
14563
14564 (define-public sbcl-trivial-escapes
14565 (let ((commit "1eca78da2078495d09893be58c28b3aa7b8cc4d1"))
14566 (package
14567 (name "sbcl-trivial-escapes")
14568 (version (git-version "1.2.0" "1" commit))
14569 (source
14570 (origin
14571 (method git-fetch)
14572 (uri (git-reference
14573 (url "https://github.com/williamyaoh/trivial-escapes")
14574 (commit commit)))
14575 (file-name (git-file-name name commit))
14576 (sha256
14577 (base32 "0v6h8lk17iqv1qkxgqjyzn8gi6v0hvq2vmfbb01md3zjvjqxn6lr"))))
14578 (build-system asdf-build-system/sbcl)
14579 (inputs
14580 `(("named-readtables" ,sbcl-named-readtables)))
14581 (native-inputs
14582 `(("fiveam" ,sbcl-fiveam)))
14583 (home-page "https://github.com/williamyaoh/trivial-escapes")
14584 (synopsis "C-style escape directives for Common Lisp")
14585 (description
14586 "This Common Lisp library interprets escape characters the same way that
14587 most other programming language do.
14588 It provides four readtables. The default one lets you write strings like this:
14589 @code{#\"This string has\na newline in it!\"}.")
14590 (license license:public-domain))))
14591
14592 (define-public ecl-trivial-escapes
14593 (sbcl-package->ecl-package sbcl-trivial-escapes))
14594
14595 (define-public cl-trivial-escapes
14596 (sbcl-package->cl-source-package sbcl-trivial-escapes))
14597
14598 (define-public sbcl-cl-indentify
14599 (let ((commit "eb770f434defa4cd41d84bca822428dfd0dbac53"))
14600 (package
14601 (name "sbcl-cl-indentify")
14602 (version (git-version "0.1" "1" commit))
14603 (source
14604 (origin
14605 (method git-fetch)
14606 (uri (git-reference
14607 (url "https://github.com/yitzchak/cl-indentify")
14608 (commit commit)))
14609 (file-name (git-file-name name commit))
14610 (sha256
14611 (base32 "0ha36bhg474vr76vfhr13szc8cfdj1ickg92k1icz791bqaqg67p"))))
14612 (build-system asdf-build-system/sbcl)
14613 (inputs
14614 `(("alexandria" ,sbcl-alexandria)
14615 ("command-line-arguments" ,sbcl-command-line-arguments)
14616 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
14617 (native-inputs
14618 `(("trivial-escapes" ,sbcl-trivial-escapes)
14619 ("rove" ,sbcl-rove)))
14620 (home-page "https://github.com/yitzchak/cl-indentify")
14621 (synopsis "Code beautifier for Common Lisp")
14622 (description
14623 "A library and command line utility to automatically indent Common Lisp
14624 source files.")
14625 (license license:expat))))
14626
14627 (define-public ecl-cl-indentify
14628 (sbcl-package->ecl-package sbcl-cl-indentify))
14629
14630 (define-public cl-indentify
14631 (sbcl-package->cl-source-package sbcl-cl-indentify))
14632
14633 (define-public sbcl-concrete-syntax-tree
14634 (let ((commit "abd242a59dadc5452aa9dbc1d313c83ec2c11f46"))
14635 (package
14636 (name "sbcl-concrete-syntax-tree")
14637 (version (git-version "0.0.0" "1" commit))
14638 (source
14639 (origin
14640 (method git-fetch)
14641 (uri (git-reference
14642 (url "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14643 (commit commit)))
14644 (file-name (git-file-name name commit))
14645 (sha256
14646 (base32 "1lyrglc3h1if44gxd9cwv90wa90nrdjvb7fry39b1xn8ywdfa7di"))))
14647 (build-system asdf-build-system/sbcl)
14648 (inputs
14649 `(("acclimation" ,sbcl-acclimation)))
14650 (home-page "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14651 (synopsis "Parse Common Lisp code into a concrete syntax tree")
14652 (description
14653 "This library is intended to solve the problem of source tracking for
14654 Common Lisp code.
14655
14656 By \"source tracking\", it is meant that code elements that have a known
14657 origin in the form of a position in a file or in an editor buffer are
14658 associated with some kind of information about this origin.
14659
14660 Since the exact nature of such origin information depends on the Common Lisp
14661 implementation and the purpose of wanting to track that origin, the library
14662 does not impose a particular structure of this information. Instead, it
14663 provides utilities for manipulating source code in the form of what is called
14664 concrete syntax trees (CSTs for short) that preserve this information about
14665 the origin.")
14666 (license license:bsd-2))))
14667
14668 (define-public ecl-concrete-syntax-tree
14669 (sbcl-package->ecl-package sbcl-concrete-syntax-tree))
14670
14671 (define-public cl-concrete-syntax-tree
14672 (sbcl-package->cl-source-package sbcl-concrete-syntax-tree))
14673
14674 (define-public sbcl-eclector
14675 (package
14676 (name "sbcl-eclector")
14677 (version "0.5.0")
14678 (source
14679 (origin
14680 (method git-fetch)
14681 (uri (git-reference
14682 (url "https://github.com/s-expressionists/Eclector")
14683 (commit version)))
14684 (file-name (git-file-name name version))
14685 (sha256
14686 (base32 "0bwkla0jdp5bg0q1zca5wg22b0nbdmglgax345nrhsf8bdrh47wm"))))
14687 (build-system asdf-build-system/sbcl)
14688 (inputs
14689 `(("acclimation" ,sbcl-acclimation)
14690 ("alexandria" ,sbcl-alexandria)
14691 ("closer-mop" ,sbcl-closer-mop)
14692 ("concrete-syntax-tree" ,sbcl-concrete-syntax-tree)))
14693 (native-inputs
14694 `(("fiveam" ,sbcl-fiveam)))
14695 (arguments
14696 '(#:asd-systems '("eclector"
14697 "eclector-concrete-syntax-tree")))
14698 (home-page "https://s-expressionists.github.io/Eclector/")
14699 (synopsis "Highly customizable, portable Common Lisp reader")
14700 (description
14701 "Eclector is a portable Common Lisp reader that is highly customizable,
14702 can recover from errors and can return concrete syntax trees.
14703
14704 In contrast to many other reader implementations, eclector can recover from
14705 most errors in the input supplied to it and continue reading. This capability
14706 is realized as a restart.
14707
14708 It can also produce instances of the concrete syntax tree classes provided by
14709 the concrete syntax tree library.")
14710 (license license:bsd-2)))
14711
14712 (define-public ecl-eclector
14713 (sbcl-package->ecl-package sbcl-eclector))
14714
14715 (define-public cl-eclector
14716 (sbcl-package->cl-source-package sbcl-eclector))
14717
14718 (define-public sbcl-jsown
14719 (let ((commit "744c4407bef58dfa876d9da0b5c0205d869e7977"))
14720 (package
14721 (name "sbcl-jsown")
14722 (version (git-version "1.0.1" "1" commit))
14723 (source
14724 (origin
14725 (method git-fetch)
14726 (uri (git-reference
14727 (url "https://github.com/madnificent/jsown")
14728 (commit commit)))
14729 (file-name (git-file-name name commit))
14730 (sha256
14731 (base32 "0gadvmf1d9bq35s61z76psrsnzwwk12svi66jigf491hv48wigw7"))))
14732 (build-system asdf-build-system/sbcl)
14733 (home-page "https://github.com/madnificent/jsown")
14734 (synopsis "Fast JSON reader / writer library for Common Lisp")
14735 (description
14736 "@code{jsown} is a high performance Common Lisp JSON parser. Its aim
14737 is to allow for the fast parsing of JSON objects in Common Lisp. Recently,
14738 functions and macros have been added to ease the burden of writing and editing
14739 @code{jsown} objects.
14740
14741 @code{jsown} allows you to parse JSON objects quickly to a modifiable Lisp
14742 list and write them back. If you only need partial retrieval of objects,
14743 @code{jsown} allows you to select the keys which you would like to see parsed.
14744 @code{jsown} also has a JSON writer and some helper methods to alter the JSON
14745 objects themselves.")
14746 (license license:expat))))
14747
14748 (define-public ecl-jsown
14749 (sbcl-package->ecl-package sbcl-jsown))
14750
14751 (define-public cl-jsown
14752 (sbcl-package->cl-source-package sbcl-jsown))
14753
14754 (define-public sbcl-system-locale
14755 (let ((commit "4b334bc2fa45651bcaa28ae7d9331095d6bf0a17"))
14756 (package
14757 (name "sbcl-system-locale")
14758 (version (git-version "1.0.0" "1" commit))
14759 (source
14760 (origin
14761 (method git-fetch)
14762 (uri (git-reference
14763 (url "https://github.com/Shinmera/system-locale/")
14764 (commit commit)))
14765 (file-name (git-file-name name commit))
14766 (sha256
14767 (base32 "00p5c053kmgq4ks6l9mxsqz6g3bjcybvkvj0bh3r90qgpkaawm1p"))))
14768 (build-system asdf-build-system/sbcl)
14769 (inputs
14770 `(("documentation-utils" ,sbcl-documentation-utils)))
14771 (home-page "https://shinmera.github.io/system-locale/")
14772 (synopsis "Get the system's locale and language settings in Common Lisp")
14773 (description
14774 "This library retrieves locale information configured on the
14775 system. This is helpful if you want to write applications and libraries that
14776 display messages in the user's native language.")
14777 (license license:zlib))))
14778
14779 (define-public ecl-system-locale
14780 (sbcl-package->ecl-package sbcl-system-locale))
14781
14782 (define-public cl-system-locale
14783 (sbcl-package->cl-source-package sbcl-system-locale))
14784
14785 (define-public sbcl-language-codes
14786 (let ((commit "e7aa0e37cb97a3d37d6bc7316b479d01bff8f42e"))
14787 (package
14788 (name "sbcl-language-codes")
14789 (version (git-version "1.0.0" "1" commit))
14790 (source
14791 (origin
14792 (method git-fetch)
14793 (uri (git-reference
14794 (url "https://github.com/Shinmera/language-codes")
14795 (commit commit)))
14796 (file-name (git-file-name name commit))
14797 (sha256
14798 (base32 "0py176ibmsc01n5r0q1bs1ykqf5jwdbh8kx0j1a814l9y51241v0"))))
14799 (build-system asdf-build-system/sbcl)
14800 (inputs
14801 `(("documentation-utils" ,sbcl-documentation-utils)))
14802 (home-page "https://shinmera.github.io/language-codes/")
14803 (synopsis "Map ISO language codes to language names in Common Lisp")
14804 (description
14805 "This is a small library providing the ISO-639 language code to
14806 language name mapping.")
14807 (license license:zlib))))
14808
14809 (define-public ecl-language-codes
14810 (sbcl-package->ecl-package sbcl-language-codes))
14811
14812 (define-public cl-language-codes
14813 (sbcl-package->cl-source-package sbcl-language-codes))
14814
14815 (define-public sbcl-multilang-documentation
14816 (let ((commit "59e798a07e949e8957a20927f52aca425d84e4a0"))
14817 (package
14818 (name "sbcl-multilang-documentation")
14819 (version (git-version "1.0.0" "1" commit))
14820 (source
14821 (origin
14822 (method git-fetch)
14823 (uri (git-reference
14824 (url "https://github.com/Shinmera/multilang-documentation")
14825 (commit commit)))
14826 (file-name (git-file-name name commit))
14827 (sha256
14828 (base32 "13y5jskx8n2b7kimpfarr8v777w3b7zj5swg1b99nj3hk0843ixw"))))
14829 (build-system asdf-build-system/sbcl)
14830 (inputs
14831 `(("documentation-utils" ,sbcl-documentation-utils)
14832 ("language-codes" ,sbcl-language-codes)
14833 ("system-locale" ,sbcl-system-locale)))
14834 (home-page "https://shinmera.github.io/multilang-documentation/")
14835 (synopsis "Add multiple languages support to Common Lisp documentation")
14836 (description
14837 "This library provides a drop-in replacement function for
14838 cl:documentation that supports multiple docstrings per-language, allowing you
14839 to write documentation that can be internationalised.")
14840 (license license:zlib))))
14841
14842 (define-public ecl-multilang-documentation
14843 (sbcl-package->ecl-package sbcl-multilang-documentation))
14844
14845 (define-public cl-multilang-documentation
14846 (sbcl-package->cl-source-package sbcl-multilang-documentation))
14847
14848 (define-public sbcl-trivial-do
14849 (let ((commit "03a1729f1e71bad3ebcf6cf098a0cce52dfa1163"))
14850 (package
14851 (name "sbcl-trivial-do")
14852 (version (git-version "0.1" "1" commit))
14853 (source
14854 (origin
14855 (method git-fetch)
14856 (uri (git-reference
14857 (url "https://github.com/yitzchak/trivial-do")
14858 (commit commit)))
14859 (file-name (git-file-name name commit))
14860 (sha256
14861 (base32 "1ffva79nkicc7wc8c2ic5nayis3b2rk5sxzj74yjkymkjgbpcrgd"))))
14862 (build-system asdf-build-system/sbcl)
14863 (home-page "https://github.com/yitzchak/trivial-do")
14864 (synopsis "Additional dolist style macros for Common Lisp")
14865 (description
14866 "Additional dolist style macros for Common Lisp, such as
14867 @code{doalist}, @code{dohash}, @code{dolist*}, @code{doplist}, @code{doseq}
14868 and @code{doseq*}.")
14869 (license license:zlib))))
14870
14871 (define-public ecl-trivial-do
14872 (sbcl-package->ecl-package sbcl-trivial-do))
14873
14874 (define-public cl-trivial-do
14875 (sbcl-package->cl-source-package sbcl-trivial-do))
14876
14877 (define-public sbcl-common-lisp-jupyter
14878 (let ((commit "011f60b69a3b8c70eefeafe7acb724cd00dd3e62"))
14879 (package
14880 (name "sbcl-common-lisp-jupyter")
14881 (version (git-version "0.1" "2" commit))
14882 (source
14883 (origin
14884 (method git-fetch)
14885 (uri (git-reference
14886 (url "https://github.com/yitzchak/common-lisp-jupyter")
14887 (commit commit)))
14888 (file-name (git-file-name name commit))
14889 (sha256
14890 (base32 "10jdghlcmp9p6ygrvw7g49i8f9jy71ybzn29n544fzb6g47siqhw"))))
14891 (build-system asdf-build-system/sbcl)
14892 (inputs
14893 `(("alexandria" ,sbcl-alexandria)
14894 ("babel" ,sbcl-babel)
14895 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14896 ("cl-base64" ,sbcl-cl-base64)
14897 ("cl-indentify" ,sbcl-cl-indentify)
14898 ("closer-mop" ,sbcl-closer-mop)
14899 ("eclector" ,sbcl-eclector)
14900 ("ironclad" ,sbcl-ironclad)
14901 ("iterate" ,sbcl-iterate)
14902 ("jsown" ,sbcl-jsown)
14903 ("multilang-documentation" ,sbcl-multilang-documentation)
14904 ("pzmq" ,sbcl-pzmq)
14905 ("puri" ,sbcl-puri)
14906 ("static-vectors" ,sbcl-static-vectors)
14907 ("trivial-do" ,sbcl-trivial-do)
14908 ("trivial-garbage" ,sbcl-trivial-garbage)
14909 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
14910 ("trivial-mimes" ,sbcl-trivial-mimes)))
14911 (home-page "https://yitzchak.github.io/common-lisp-jupyter/")
14912 (synopsis "Common Lisp kernel for Jupyter")
14913 (description
14914 "This is a Common Lisp kernel for Jupyter along with a library for
14915 building Jupyter kernels, based on Maxima-Jupyter which was based on
14916 @code{cl-jupyter}.")
14917 (license license:zlib))))
14918
14919 (define-public ecl-common-lisp-jupyter
14920 (sbcl-package->ecl-package sbcl-common-lisp-jupyter))
14921
14922 (define-public cl-common-lisp-jupyter
14923 (sbcl-package->cl-source-package sbcl-common-lisp-jupyter))
14924
14925 (define-public sbcl-radiance
14926 (let ((commit "5ffbe1f157edd17a13194495099efd81e052df85")
14927 (revision "1"))
14928 (package
14929 (name "sbcl-radiance")
14930 (version (git-version "2.1.2" revision commit))
14931 (source
14932 (origin
14933 (method git-fetch)
14934 (uri (git-reference
14935 (url "https://github.com/Shirakumo/radiance")
14936 (commit commit)))
14937 (file-name (git-file-name "radiance" version))
14938 (sha256
14939 (base32 "0hbkcnmnlj1cqzbv18zmla2iwbl65kxilz9764hndf8x8as1539c"))))
14940 (build-system asdf-build-system/sbcl)
14941 (arguments
14942 `(#:tests? #f ; TODO: The tests require some configuration.
14943 #:phases
14944 (modify-phases %standard-phases
14945 (add-after 'unpack 'disable-quicklisp
14946 (lambda _
14947 ;; Disable the automatic installation of systems by Quicklisp.
14948 ;; (Maybe there would be a way to package Quicklisp and make it
14949 ;; install things in the user's directory instead of
14950 ;; /gnu/store/...).
14951 (substitute* "interfaces.lisp"
14952 (("\\(unless \\(asdf:find-system configured-implementation NIL\\)"
14953 all)
14954 (string-append "#+quicklisp " all))))))))
14955 (native-inputs
14956 `(("alexandria" ,sbcl-alexandria)
14957 ("dexador" ,sbcl-dexador)
14958 ("parachute" ,sbcl-parachute)
14959 ("verbose" ,sbcl-verbose)))
14960 (inputs
14961 `(("babel" ,sbcl-babel)
14962 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14963 ("cl-ppcre" ,sbcl-cl-ppcre)
14964 ("closer-mop" ,sbcl-closer-mop)
14965 ("documentation-utils" ,sbcl-documentation-utils)
14966 ("deploy" ,sbcl-deploy)
14967 ("form-fiddle" ,sbcl-form-fiddle)
14968 ("lambda-fiddle" ,sbcl-lambda-fiddle)
14969 ("local-time" ,sbcl-local-time)
14970 ("modularize-hooks" ,sbcl-modularize-hooks)
14971 ("modularize-interfaces" ,sbcl-modularize-interfaces)
14972 ("puri" ,sbcl-puri)
14973 ("trivial-indent" ,sbcl-trivial-indent)
14974 ("trivial-mimes" ,sbcl-trivial-mimes)
14975 ("ubiquitous-concurrent" ,sbcl-ubiquitous)))
14976 (home-page "https://shirakumo.github.io/radiance/")
14977 (synopsis "Common Lisp web application environment")
14978 (description
14979 "Radiance is a web application environment, which is sort of like a web
14980 framework, but more general, more flexible. It should let you write personal
14981 websites and generally deployable applications easily and in such a way that
14982 they can be used on practically any setup without having to undergo special
14983 adaptations.")
14984 (license license:zlib))))
14985
14986 (define-public ecl-radiance
14987 (sbcl-package->ecl-package sbcl-radiance))
14988
14989 (define-public cl-radiance
14990 (sbcl-package->cl-source-package sbcl-radiance))
14991
14992 (define-public sbcl-daemon
14993 (let ((commit "d5652f4332c3cee21e9bf83b9237129605004597")
14994 (revision "1"))
14995 (package
14996 (name "sbcl-daemon")
14997 (version (git-version "0.0.4" revision commit))
14998 (source
14999 (origin
15000 (method git-fetch)
15001 (uri (git-reference
15002 (url "https://github.com/snmsts/daemon")
15003 (commit commit)))
15004 (file-name (git-file-name "daemon" version))
15005 (sha256
15006 (base32 "1kdxfnhh9fz34j8qs7pn7mwjz3v33q4v9nh0hqkyzraq5xs2j3f4"))))
15007 (build-system asdf-build-system/sbcl)
15008 (inputs
15009 `(("trivial-features" ,sbcl-trivial-features)))
15010 (home-page "https://github.com/snmsts/daemon")
15011 (synopsis "Daemonize Common Lisp processes")
15012 (description
15013 "DAEMON provides the functionality of daemonizing Common Lisp processes
15014 on UNIX like platforms.")
15015 (license license:expat))))
15016
15017 (define-public ecl-daemon
15018 (sbcl-package->ecl-package sbcl-daemon))
15019
15020 (define-public cl-daemon
15021 (sbcl-package->cl-source-package sbcl-daemon))
15022
15023 (define-public sbcl-file-attributes
15024 (let ((commit "bbde396438f37d676de9775239115410bec4da2d"))
15025 (package
15026 (name "sbcl-file-attributes")
15027 (version (git-version "1.0.0" "2" commit))
15028 (source
15029 (origin
15030 (method git-fetch)
15031 (uri (git-reference
15032 (url "https://github.com/Shinmera/file-attributes/")
15033 (commit commit)))
15034 (file-name (git-file-name name version))
15035 (sha256
15036 (base32 "0n8q818ry2shggjfhp8gjby8v5mla9pg97c5g19pcglpnwim7a74"))))
15037 (build-system asdf-build-system/sbcl)
15038 (inputs
15039 `(("cffi" ,sbcl-cffi)
15040 ("documentation-utils" ,sbcl-documentation-utils)
15041 ("trivial-features" ,sbcl-trivial-features)))
15042 (home-page "https://shinmera.github.io/file-attributes/")
15043 (synopsis "Access to common file attributes in Common Lisp")
15044 (description
15045 "This is a small OS portability library to retrieve and set file
15046 attributes not supported by the Common Lisp standard functions.")
15047 (license license:zlib))))
15048
15049 (define-public ecl-file-attributes
15050 (sbcl-package->ecl-package sbcl-file-attributes))
15051
15052 (define-public cl-file-attributes
15053 (sbcl-package->cl-source-package sbcl-file-attributes))
15054
15055 (define-public sbcl-cl-difflib
15056 (let ((commit "98eb335c693f1881584b83ca7be4a0fe05355c4e")
15057 (revision "0"))
15058 (package
15059 (name "sbcl-cl-difflib")
15060 (version (git-version "0.2" revision commit))
15061 (source
15062 (origin
15063 (method git-fetch)
15064 (uri (git-reference
15065 (url "https://github.com/wiseman/cl-difflib")
15066 (commit commit)))
15067 (file-name
15068 (git-file-name name version))
15069 (sha256
15070 (base32 "08if0abhqg191xcz9s7xv8faqq51nswzp8hw423fkqjzr24pmq48"))))
15071 (build-system asdf-build-system/sbcl)
15072 ;; Due to the age of this library tests use some deprecated
15073 ;; functionality and keep failing.
15074 (arguments
15075 '(#:tests? #f
15076 #:asd-files '("cl-difflib.asd")))
15077 (home-page "https://github.com/wiseman/cl-difflib")
15078 (synopsis "Compute differences between pairs of sequences")
15079 (description
15080 "A Common Lisp library for computing differences between
15081 sequences based on the Python difflib module.")
15082 (license license:expat))))
15083
15084 (define-public ecl-cl-difflib
15085 (sbcl-package->ecl-package sbcl-cl-difflib))
15086
15087 (define-public cl-difflib
15088 (sbcl-package->cl-source-package sbcl-cl-difflib))
15089
15090 (define-public sbcl-cl-html-diff
15091 (let ((commit "5a0b39d1c524278d6f60851d7786bb2585614310")
15092 (revision "0"))
15093 (package
15094 (name "sbcl-cl-html-diff")
15095 (version (git-version "0.1" revision commit))
15096 (source
15097 (origin
15098 (method git-fetch)
15099 (uri (git-reference
15100 (url "https://github.com/wiseman/cl-html-diff")
15101 (commit commit)))
15102 (file-name
15103 (git-file-name name version))
15104 (sha256
15105 (base32 "1varnijivzd4jpimn1cz8p5ks713zzha5cgl4vmb0xr8ahravwzb"))))
15106 (build-system asdf-build-system/sbcl)
15107 (inputs
15108 `(("cl-difflib" ,sbcl-cl-difflib)))
15109 (home-page "https://github.com/wiseman/cl-html-diff")
15110 (synopsis "Generate a human-readable diff of two HTML documents")
15111 (description
15112 "A Common Lisp library for generating a human-readable diff of two
15113 HTML documents.")
15114 (license license:expat))))
15115
15116 (define-public ecl-cl-html-diff
15117 (sbcl-package->ecl-package sbcl-cl-html-diff))
15118
15119 (define-public cl-html-diff
15120 (sbcl-package->cl-source-package sbcl-cl-html-diff))
15121
15122 (define-public sbcl-tooter
15123 (let ((commit "b8d4b245b1d946bc9da6f51a3d8c2dc43e4d3868")
15124 (revision "1"))
15125 (package
15126 (name "sbcl-tooter")
15127 (version (git-version "1.0.0" revision commit))
15128 (source
15129 (origin
15130 (method git-fetch)
15131 (uri (git-reference
15132 (url "https://github.com/Shinmera/tooter")
15133 (commit commit)))
15134 (file-name (git-file-name "tooter" version))
15135 (sha256
15136 (base32 "0g40dlis4dbw4p3zxz3scx27b9zm8zlzihywapf5zqrdqfx5hpq9"))))
15137 (build-system asdf-build-system/sbcl)
15138 (inputs
15139 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
15140 ("sbcl-documentation-utils" ,sbcl-documentation-utils)
15141 ("sbcl-drakma" ,sbcl-drakma)
15142 ("sbcl-yason" ,sbcl-yason)))
15143 (synopsis "Common Lisp client library for Mastodon instances")
15144 (description
15145 "This is a Common Lisp library implementing the full v1 REST API
15146 protocol for Mastodon.")
15147 (home-page "https://shinmera.github.io/tooter/")
15148 (license license:zlib))))
15149
15150 (define-public ecl-tooter
15151 (sbcl-package->ecl-package sbcl-tooter))
15152
15153 (define-public cl-tooter
15154 (sbcl-package->cl-source-package sbcl-tooter))
15155
15156 (define-public sbcl-croatoan
15157 (let ((commit "7077ef14d27e8708515ad8d309886f516e7fbd98")
15158 (revision "2"))
15159 (package
15160 (name "sbcl-croatoan")
15161 (version (git-version "0.0.1" revision commit))
15162 (source
15163 (origin
15164 (method git-fetch)
15165 (uri (git-reference
15166 (url "https://github.com/McParen/croatoan")
15167 (commit commit)))
15168 (file-name (git-file-name "croatoan" version))
15169 (sha256
15170 (base32 "0gf2sjpsdkd9s8imwy2wjrkdx82a5sc4yy9bndlnjlwmdraw4j37"))))
15171 (build-system asdf-build-system/sbcl)
15172 (arguments
15173 '(#:phases
15174 (modify-phases %standard-phases
15175 (add-after 'unpack 'fix-paths
15176 (lambda* (#:key inputs #:allow-other-keys)
15177 (substitute* "ncurses/ncurses.lisp"
15178 (("libncursesw" all)
15179 (string-append (assoc-ref inputs "ncurses")
15180 "/lib/"
15181 all))))))))
15182 (inputs
15183 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
15184 ("cffi" ,sbcl-cffi)
15185 ("ncurses" ,ncurses)
15186 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
15187 (synopsis "Common Lisp bindings for the ncurses terminal library")
15188 (description "Croatoan provides high-level Common Lisp CLOS bindings for
15189 the ncurses terminal library.")
15190 (home-page "https://github.com/McParen/croatoan")
15191 (license license:expat))))
15192
15193 (define-public ecl-croatoan
15194 (sbcl-package->ecl-package sbcl-croatoan))
15195
15196 (define-public cl-croatoan
15197 (sbcl-package->cl-source-package sbcl-croatoan))
15198
15199 (define-public sbcl-cl-spark
15200 (let ((commit "4e34bcebdcf8e45265986eb43ad4ad03bb41a581")
15201 (revision "1"))
15202 (package
15203 (name "sbcl-cl-spark")
15204 (version (git-version "0.1.13" revision commit))
15205 (source
15206 (origin
15207 (method git-fetch)
15208 (uri (git-reference
15209 (url "https://github.com/tkych/cl-spark")
15210 (commit commit)))
15211 (file-name (git-file-name "cl-spark" version))
15212 (sha256
15213 (base32 "0my1fsgi2rjaqkpk934f2bjy63pmnj7faza3fzvnk6k3l66y19nk"))))
15214 (build-system asdf-build-system/sbcl)
15215 (native-inputs
15216 `(("fiveam" ,sbcl-fiveam)))
15217 (synopsis "Common Lisp library to make histograms")
15218 (description "This is a Common Lisp library to make histograms using
15219 UTF-8 block characters.")
15220 (home-page "https://github.com/tkych/cl-spark")
15221 (license license:expat))))
15222
15223 (define-public ecl-cl-spark
15224 (sbcl-package->ecl-package sbcl-cl-spark))
15225
15226 (define-public cl-spark
15227 (sbcl-package->cl-source-package sbcl-cl-spark))
15228
15229 (define-public sbcl-access
15230 (let ((commit "1b26db3760018cdc4624f880f0a1e0155d8f6c50")
15231 (revision "1"))
15232 (package
15233 (name "sbcl-access")
15234 (version (git-version "1.5.0" revision commit))
15235 (source
15236 (origin
15237 (method git-fetch)
15238 (uri (git-reference
15239 (url "https://github.com/sharplispers/access")
15240 (commit commit)))
15241 (file-name (git-file-name "access" version))
15242 (sha256
15243 (base32 "1knd3n4mpzkc97i1znbas32pscd30416isvmx2pjmgvar6k93pl5"))))
15244 (build-system asdf-build-system/sbcl)
15245 (native-inputs
15246 `(("lisp-unit2" ,sbcl-lisp-unit2)))
15247 (inputs
15248 `(("alexandria" ,sbcl-alexandria)
15249 ("anaphora" ,sbcl-anaphora)
15250 ("closer-mop" ,sbcl-closer-mop)
15251 ("interpol" ,sbcl-cl-interpol)
15252 ("iterate" ,sbcl-iterate)))
15253 (synopsis
15254 "Common lisp library to unify access to dictionary-like structures")
15255 (description
15256 "This is a Common lisp library to unify access to the most common
15257 dictionary-like data structures.")
15258 (home-page "https://github.com/sharplispers/access")
15259 (license license:bsd-3))))
15260
15261 (define-public ecl-access
15262 (sbcl-package->ecl-package sbcl-access))
15263
15264 (define-public cl-access
15265 (sbcl-package->cl-source-package sbcl-access))
15266
15267 (define-public sbcl-sxql-composer
15268 (let ((commit "2b2230cb01ae1b68e28921d99e4814046867fb75")
15269 (revision "1"))
15270 (package
15271 (name "sbcl-sxql-composer")
15272 (version (git-version "0.1" revision commit))
15273 (source
15274 (origin
15275 (method git-fetch)
15276 (uri (git-reference
15277 (url "https://github.com/mmontone/sxql-composer")
15278 (commit commit)))
15279 (file-name (git-file-name "sxql-composer" version))
15280 (sha256
15281 (base32 "1agkrj3ymskzc3c7pxbrj123d1kygjqcls145m0ap3i07q96hh1r"))))
15282 (build-system asdf-build-system/sbcl)
15283 (inputs
15284 `(("sxql" ,sbcl-sxql)))
15285 (synopsis "Build and compose SXQL queries dynamically")
15286 (description
15287 "This is a Common Lisp library to build and compose SXQL queries
15288 dynamically.")
15289 (home-page "https://github.com/mmontone/sxql-composer")
15290 (license license:expat))))
15291
15292 (define-public ecl-sxql-composer
15293 (sbcl-package->ecl-package sbcl-sxql-composer))
15294
15295 (define-public cl-sxql-composer
15296 (sbcl-package->cl-source-package sbcl-sxql-composer))
15297
15298 (define-public sbcl-cl-i18n
15299 (let ((commit "fa0aa5bef8dfbdf2d72f7cc9f49e848ccbb567aa")
15300 (revision "1"))
15301 (package
15302 (name "sbcl-cl-i18n")
15303 (version (git-version "0.5.0" revision commit))
15304 (source
15305 (origin
15306 (method git-fetch)
15307 (uri (git-reference
15308 (url "https://notabug.org/cage/cl-i18n")
15309 (commit commit)))
15310 (file-name (git-file-name "cl-i18n" version))
15311 (sha256
15312 (base32 "1hpsdbb3hd79bzbrnbqgk2j3f0ispxvk91snp08fm2z3f1sds5as"))))
15313 (build-system asdf-build-system/sbcl)
15314 (inputs
15315 `(("alexandria" ,sbcl-alexandria)
15316 ("babel" ,sbcl-babel)
15317 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
15318 (synopsis "Internationalisation framework for Common Lisp")
15319 (description
15320 "This is a Gettext-style internationalisation framework for Common
15321 Lisp.")
15322 (home-page "https://notabug.org/cage/cl-i18n")
15323 (license license:llgpl))))
15324
15325 (define-public ecl-cl-i18n
15326 (sbcl-package->ecl-package sbcl-cl-i18n))
15327
15328 (define-public cl-i18n
15329 (sbcl-package->cl-source-package sbcl-cl-i18n))
15330
15331 (define-public sbcl-crypto-shortcuts
15332 (let ((commit "7efd22d80e867cd8c9f8f363d4fe7b51ee2dadc0")
15333 (revision "1"))
15334 (package
15335 (name "sbcl-crypto-shortcuts")
15336 (version (git-version "2.0.0" revision commit))
15337 (source
15338 (origin
15339 (method git-fetch)
15340 (uri (git-reference
15341 (url "https://github.com/Shinmera/crypto-shortcuts")
15342 (commit commit)))
15343 (file-name (git-file-name "crypto-shortcuts" version))
15344 (sha256
15345 (base32 "0c0m0ar04jn7qf2v8c4sivamlzki03r13rnxy8b3n27rh9r6hgin"))))
15346 (build-system asdf-build-system/sbcl)
15347 (inputs
15348 `(("cl-base64" ,sbcl-cl-base64)
15349 ("flexi-stream" ,sbcl-flexi-streams)
15350 ("ironclad" ,sbcl-ironclad)))
15351 (synopsis "Collection of common cryptography functions")
15352 (description
15353 "This is a collection of common cryptography functions for Common
15354 Lisp.")
15355 (home-page "https://shinmera.github.io/crypto-shortcuts/")
15356 (license license:zlib))))
15357
15358 (define-public ecl-crypto-shortcuts
15359 (sbcl-package->ecl-package sbcl-crypto-shortcuts))
15360
15361 (define-public cl-crypto-shortcuts
15362 (sbcl-package->cl-source-package sbcl-crypto-shortcuts))
15363
15364 (define-public sbcl-cl-html5-parser
15365 (let ((commit "74a92eb3a183a0afd089ea33350e816e6b9aeefa")
15366 (revision "1"))
15367 (package
15368 (name "sbcl-cl-html5-parser")
15369 (version (git-version "0.0.0" revision commit))
15370 (source
15371 (origin
15372 (method git-fetch)
15373 (uri (git-reference
15374 (url "https://github.com/rotatef/cl-html5-parser")
15375 (commit commit)))
15376 (file-name (git-file-name "cl-html5-parser" version))
15377 (sha256
15378 (base32 "04if61wigylsmn996rbfl8ylsd0d9hzdmg7p2wiglncibjzcl5k9"))))
15379 (build-system asdf-build-system/sbcl)
15380 (arguments
15381 '(#:tests? #f
15382 #:asd-systems '("cl-html5-parser")))
15383 (inputs
15384 `(("cl-ppcre" ,sbcl-cl-ppcre)
15385 ("flexi-stream" ,sbcl-flexi-streams)
15386 ("string-case" ,sbcl-string-case)))
15387 (synopsis "HTML5 parser for Common Lisp")
15388 (description "This a Common Lisp library to parse HTML5 documents.")
15389 (home-page "https://github.com/rotatef/cl-html5-parser")
15390 (license license:lgpl3+))))
15391
15392 (define-public ecl-cl-html5-parser
15393 (sbcl-package->ecl-package sbcl-cl-html5-parser))
15394
15395 (define-public cl-html5-parser
15396 (sbcl-package->cl-source-package sbcl-cl-html5-parser))
15397
15398 (define-public sbcl-percent-encoding
15399 (let ((commit "c1224e22bc8048fbd3ebbc9329715a0c1b673170")
15400 (revision "1"))
15401 (package
15402 (name "sbcl-percent-encoding")
15403 (version (git-version "0.1" revision commit))
15404 (source
15405 (origin
15406 (method git-fetch)
15407 (uri (git-reference
15408 (url "https://github.com/llibra/percent-encoding")
15409 (commit commit)))
15410 (file-name (git-file-name "percent-encoding" version))
15411 (sha256
15412 (base32 "0q1lh3sa6mkjr5gcdkgimkpc29rgf9cjhv90f61h8ridj28grq0h"))))
15413 (build-system asdf-build-system/sbcl)
15414 (native-inputs
15415 `(("fiveam" ,sbcl-fiveam)))
15416 (inputs
15417 `(("anaphora" ,sbcl-anaphora)
15418 ("babel" ,sbcl-babel)))
15419 (synopsis "RFC 3986 percent-encoding library")
15420 (description
15421 "This is a Common Lisp library providing RFC 3986 percent-encoding.")
15422 (home-page "https://github.com/llibra/percent-encoding")
15423 (license license:expat))))
15424
15425 (define-public ecl-percent-encoding
15426 (sbcl-package->ecl-package sbcl-percent-encoding))
15427
15428 (define-public cl-percent-encoding
15429 (sbcl-package->cl-source-package sbcl-percent-encoding))
15430
15431 (define-public sbcl-cl-mount-info
15432 (let ((commit "2024f5037a7f63db3e3587dc9972cd7b9318f06b")
15433 (revision "1"))
15434 (package
15435 (name "sbcl-cl-mount-info")
15436 (version (git-version "0.0.1" revision commit))
15437 (source
15438 (origin
15439 (method git-fetch)
15440 (uri (git-reference
15441 (url "https://notabug.org/cage/cl-mount-info.git")
15442 (commit commit)))
15443 (file-name (git-file-name "cl-mount-info" version))
15444 (sha256
15445 (base32 "0vza9gj9q42nzb5v8aj22lmn4aqx9vrddsb5a343nbwfz89hbh9x"))))
15446 (build-system asdf-build-system/sbcl)
15447 (inputs
15448 `(("alexandria" ,sbcl-alexandria)
15449 ("cffi" ,sbcl-cffi)
15450 ("cl-ppcre" ,sbcl-cl-ppcre)))
15451 (home-page "https://notabug.org/cage/cl-mount-info.git")
15452 (synopsis "Library to get information about mounted filesystems")
15453 (description
15454 "CL-MOUNT-INFO is a Common Lisp wrapper around @code{getmntent(3)} and
15455 related C functions to get information about the mounted file system.")
15456 (license license:lgpl3))))
15457
15458 (define-public ecl-cl-mount-info
15459 (sbcl-package->ecl-package sbcl-cl-mount-info))
15460
15461 (define-public cl-mount-info
15462 (sbcl-package->cl-source-package sbcl-cl-mount-info))
15463
15464 (define-public sbcl-cl-diskspace
15465 (let ((commit "2dce2d0387d58221c452bd76c7b9b7a7de81ef55")
15466 (revision "1"))
15467 (package
15468 (name "sbcl-cl-diskspace")
15469 (version (git-version "0.3.1" revision commit))
15470 (source
15471 (origin
15472 (method git-fetch)
15473 (uri (git-reference
15474 (url "https://github.com/muyinliu/cl-diskspace")
15475 (commit commit)))
15476 (file-name (git-file-name "cl-diskspace" version))
15477 (sha256
15478 (base32 "0l19hxqw6b8i5i1jdbr45k1xib9axcwdagsp3y8wkb35g6wwc0s7"))))
15479 (build-system asdf-build-system/sbcl)
15480 (arguments
15481 `(#:phases
15482 (modify-phases %standard-phases
15483 (add-after 'unpack 'fix-paths
15484 (lambda* (#:key inputs #:allow-other-keys)
15485 (substitute* "src/unix/cl-diskspace-list-all-disks-with-df.lisp"
15486 (("grep")
15487 (string-append (assoc-ref inputs "grep") "/bin/grep")))
15488 (substitute* "src/unix/cl-diskspace-list-all-disks-with-df.lisp"
15489 (("/bin/df")
15490 (which "df")))
15491 #t)))))
15492 (inputs
15493 `(("cl-ppcre" ,sbcl-cl-ppcre)
15494 ("cffi" ,sbcl-cffi)
15495 ("grep" ,grep)))
15496 (home-page "https://github.com/muyinliu/cl-diskspace")
15497 (synopsis "Disk space information library for Common Lisp")
15498 (description
15499 "CL-DISKSPACE is a Common Lisp library to list disks with the command
15500 line tool @code{df} and get disk space information using @code{statvfs}.")
15501 (license license:isc))))
15502
15503 (define-public ecl-cl-diskspace
15504 (sbcl-package->ecl-package sbcl-cl-diskspace))
15505
15506 (define-public cl-diskspace
15507 (sbcl-package->cl-source-package sbcl-cl-diskspace))
15508
15509 (define-public sbcl-cl-cpus
15510 (package
15511 (name "sbcl-cl-cpus")
15512 (version "0.0.3")
15513 (source
15514 (origin
15515 (method git-fetch)
15516 (uri (git-reference
15517 (url "https://github.com/muyinliu/cl-cpus")
15518 (commit (string-append "v" version))))
15519 (file-name (git-file-name "cl-cpus" version))
15520 (sha256
15521 (base32 "0sdaff9hpsx7bpkkkqavmxmrrlc2d61gmqjjgn8xchncng4a0rf8"))))
15522 (build-system asdf-build-system/sbcl)
15523 (inputs
15524 `(("cffi" ,sbcl-cffi)))
15525 (home-page "https://github.com/muyinliu/cl-cpus")
15526 (synopsis "Common Lisp feature to get number of CPUs")
15527 (description
15528 "This package provides a Common Lisp system which has only one function to
15529 return the CPU count of the current system.")
15530 (license license:isc)))
15531
15532 (define-public ecl-cl-cpus
15533 (sbcl-package->ecl-package sbcl-cl-cpus))
15534
15535 (define-public cl-cpus
15536 (sbcl-package->cl-source-package sbcl-cl-cpus))
15537
15538 (define-public sbcl-fof
15539 (package
15540 (name "sbcl-fof")
15541 (version "0.1.0")
15542 (source
15543 (origin
15544 (method git-fetch)
15545 (uri (git-reference
15546 (url "https://gitlab.com/ambrevar/fof")
15547 (commit version)))
15548 (file-name (git-file-name name version))
15549 (sha256
15550 (base32 "1xdnlqrjfmgdgw58avkci881iwarv4am2vq09b14pfifmpxpzv10"))))
15551 (build-system asdf-build-system/sbcl)
15552 (arguments
15553 `(#:phases
15554 (modify-phases %standard-phases
15555 (add-after 'unpack 'fix-paths
15556 (lambda* (#:key inputs #:allow-other-keys)
15557 (substitute* "ffprobe.lisp"
15558 (("\\(defvar \\*ffprobe-command\\* \"ffprobe\"\\)")
15559 (format #f "(defvar *ffprobe-command* \"~a/bin/ffprobe\")"
15560 (assoc-ref inputs "ffmpeg") )))
15561 #t)))))
15562 (inputs
15563 `(("alexandria" ,sbcl-alexandria)
15564 ("hu.dwim.defclass-star" ,sbcl-hu.dwim.defclass-star)
15565 ("local-time" ,sbcl-local-time)
15566 ("magicffi" ,sbcl-magicffi)
15567 ("osicat" ,sbcl-osicat)
15568 ("serapeum" ,sbcl-serapeum)
15569 ("str" ,sbcl-cl-str)
15570 ("trivia" ,sbcl-trivia)
15571 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)
15572 ;; Non-CL deps:
15573 ("ffmpeg" ,ffmpeg)))
15574 (home-page "https://gitlab.com/ambrevar/fof")
15575 (synopsis "File object finder library for Common Lisp")
15576 (description
15577 "This library enable rapid file search, inspection and manipulation
15578 straight from the REPL.
15579 It aims at replacing Unix tools such as @code{find} or @code{du}.
15580 It also offers a replacement to the @code{pathname} Common Lisp API.
15581 Slot writers which commit changes to disk, e.g. permissions, modification
15582 time, etc.")
15583 (license license:gpl3+)))
15584
15585 (define-public ecl-fof
15586 (sbcl-package->ecl-package sbcl-fof))
15587
15588 (define-public cl-fof
15589 (sbcl-package->cl-source-package sbcl-fof))
15590
15591 (define-public sbcl-computable-reals
15592 (let ((commit "fdc73d75e79d0a4ce6d01c822c950ae2eb137d39"))
15593 (package
15594 (name "sbcl-computable-reals")
15595 (version (git-version "1.1.0" "1" commit))
15596 (source
15597 (origin
15598 (method git-fetch)
15599 (uri (git-reference
15600 (url "https://github.com/stylewarning/computable-reals")
15601 (commit commit)))
15602 (file-name (git-file-name name version))
15603 (sha256
15604 (base32 "0f12axi53x14l12dgf4a1lfq3p1fx7fh7sjfc0db3lk88ph9qfwl"))))
15605 (build-system asdf-build-system/sbcl)
15606 (home-page "https://github.com/stylewarning/computable-reals")
15607 (synopsis "Arbitrary-precision, re-computing real-numbers in Common Lisp")
15608 (description
15609 "This library provides arbitrary precision (floating point) real
15610 numbers in Common Lisp.")
15611 (license license:bsd-3))))
15612
15613 (define-public ecl-computable-reals
15614 (sbcl-package->ecl-package sbcl-computable-reals))
15615
15616 (define-public cl-computable-reals
15617 (sbcl-package->cl-source-package sbcl-computable-reals))
15618
15619 (define-public sbcl-html-template
15620 (package
15621 (name "sbcl-html-template")
15622 (version "0.9.2")
15623 (source
15624 (origin
15625 (method git-fetch)
15626 (uri (git-reference
15627 (url "https://github.com/edicl/html-template")
15628 (commit (string-append "v" version))))
15629 (file-name (git-file-name name version))
15630 (sha256
15631 (base32 "0wz3czvjsn4x971dsiia9f9nvvcmbkablcl75zsvxndkimc93wxb"))))
15632 (build-system asdf-build-system/sbcl)
15633 (home-page "https://edicl.github.io/html-template/")
15634 (synopsis "HTML templates from Common Lisp")
15635 (description
15636 "HTML-TEMPLATE is a Common Lisp library which can be used to fill
15637 templates with arbitrary (string) values at runtime. The result does not have
15638 to be HTML.
15639
15640 It is loosely modeled after the Perl module @code{HTML::Template} and
15641 partially compatible with a its syntax, though both libraries contain some
15642 extensions that the other does not support.
15643
15644 HTML-TEMPLATE translates templates into efficient closures which can be
15645 re-used as often as needed. It uses a cache mechanism so you can update
15646 templates while your program is running and have the changes take effect
15647 immediately.")
15648 (license license:bsd-2)))
15649
15650 (define-public ecl-html-template
15651 (sbcl-package->ecl-package sbcl-html-template))
15652
15653 (define-public cl-html-template
15654 (sbcl-package->cl-source-package sbcl-html-template))
15655
15656 (define-public sbcl-quickproject
15657 (package
15658 (name "sbcl-quickproject")
15659 (version "1.4.1")
15660 (source
15661 (origin
15662 (method git-fetch)
15663 (uri (git-reference
15664 (url "https://github.com/xach/quickproject")
15665 (commit (string-append "release-" version))))
15666 (file-name (git-file-name name version))
15667 (sha256
15668 (base32 "1szs8p2wr1yr9mjmj3h3557l6wxzzga0iszimb68z0hb1jj3lva6"))))
15669 (build-system asdf-build-system/sbcl)
15670 (inputs
15671 `(("cl-fad" ,sbcl-cl-fad)
15672 ("html-template" ,sbcl-html-template)))
15673 (arguments
15674 '(#:asd-files '("quickproject.asd")))
15675 (home-page "https://xach.com/lisp/quickproject/")
15676 (synopsis "Create Common Lisp project skeletons")
15677 (description
15678 "Quickproject provides a quick way to make a Common Lisp project. After
15679 creating a project, it extends the ASDF registry so the project may be
15680 immediately loaded.")
15681 (license license:expat)))
15682
15683 (define-public ecl-quickproject
15684 (sbcl-package->ecl-package sbcl-quickproject))
15685
15686 (define-public cl-quickproject
15687 (sbcl-package->cl-source-package sbcl-quickproject))
15688
15689 (define-public sbcl-bodge-math
15690 (let ((commit "9159b7faf88d440024c07110dbef2abddb20b9af")
15691 (revision "1"))
15692 (package
15693 (name "sbcl-bodge-math")
15694 (version (git-version "1.0.0" revision commit))
15695 (source
15696 (origin
15697 (method git-fetch)
15698 (uri (git-reference
15699 (url "https://github.com/borodust/bodge-math")
15700 (commit commit)))
15701 (file-name (git-file-name "bodge-math" version))
15702 (sha256
15703 (base32 "0r3vnl9lywn4ksy34apcv6j825qp7l1naddawr14v4lwacndb80v"))))
15704 (build-system asdf-build-system/sbcl)
15705 (inputs
15706 `(("bodge-utilities" ,sbcl-bodge-utilities)
15707 ("rtg-math" ,sbcl-rtg-math)))
15708 (home-page "https://github.com/borodust/bodge-math")
15709 (synopsis "Common Lisp core math utilities of BODGE library collection")
15710 (description
15711 "This Common Lisp package contains the core math utilities of the
15712 @emph{Bodge} library collection.")
15713 (license license:expat))))
15714
15715 (define-public ecl-bodge-math
15716 (sbcl-package->ecl-package sbcl-bodge-math))
15717
15718 (define-public cl-bodge-math
15719 (sbcl-package->cl-source-package sbcl-bodge-math))
15720
15721 (define-public sbcl-bodge-blobs-support
15722 (let ((commit "c5034ca5f4fc3a44dbadeba215a09afd59a404b0")
15723 (revision "1"))
15724 (package
15725 (name "sbcl-bodge-blobs-support")
15726 (version (git-version "1.0.0" revision commit))
15727 (source
15728 (origin
15729 (method git-fetch)
15730 (uri (git-reference
15731 (url "https://github.com/borodust/bodge-blobs-support")
15732 (commit commit)))
15733 (file-name (git-file-name "bodge-blobs-support" version))
15734 (sha256
15735 (base32 "02nd1x6y1akp1ymv1y4z9ympwbnpd1drwi4f86xbjszxqff6jyj8"))))
15736 (build-system asdf-build-system/sbcl)
15737 (native-inputs
15738 `(("trivial-features" ,sbcl-trivial-features)))
15739 (inputs
15740 `(("cffi" ,sbcl-cffi)
15741 ("sbcl-alexandria" ,sbcl-alexandria)))
15742 (home-page "https://github.com/borodust/bodge-blobs-support")
15743 (synopsis "Common Lisp utilities for blob packages")
15744 (description
15745 "This is a Common Lisp library for simplifying packaging and loading of
15746 compiled foreign library collection.")
15747 (license license:unlicense))))
15748
15749 (define-public cl-bodge-blobs-support
15750 (sbcl-package->cl-source-package sbcl-bodge-blobs-support))
15751
15752 (define-public ecl-bodge-blobs-support
15753 (sbcl-package->ecl-package sbcl-bodge-blobs-support))
15754
15755 (define-public sbcl-cl-conspack
15756 (let ((commit "fc8473bc6f929696b03b43820596b7c976c4678e")
15757 (revision "1"))
15758 (package
15759 (name "sbcl-cl-conspack")
15760 (version (git-version "0.0.0" revision commit))
15761 (source
15762 (origin
15763 (method git-fetch)
15764 (uri (git-reference
15765 (url "https://github.com/conspack/cl-conspack")
15766 (commit commit)))
15767 (file-name (git-file-name "cl-conspack" version))
15768 (sha256
15769 (base32 "0b7qzvsrpvnw12hqhjmz0b02sigj0kdjy55j4k7xzmj8684cs8bx"))))
15770 (build-system asdf-build-system/sbcl)
15771 ;; FIXME: (Sharlatan-20210331T220652+0100): Test are disabled because of:
15772 ;;
15773 ;; Error while trying to load definition for system cl-conspack-test
15774 ;; from pathname .../cl-conspack/cl-conspack-test.asd:
15775 ;; Error opening .../checkl/formalize-tmpGHU3ALSV.fasl": Permission denied
15776 ;;
15777 ;; It looks like the issues is in CheckL itself as other packages keep
15778 ;; failing test where it's in use.
15779 (arguments
15780 '(#:tests? #f
15781 #:asd-files '("cl-conspack.asd")))
15782 (native-inputs
15783 `(("checkl" ,sbcl-checkl)))
15784 (inputs
15785 `(("alexandria" ,sbcl-alexandria)
15786 ("closer-mop" ,sbcl-closer-mop)
15787 ("fast-io" ,sbcl-fast-io)
15788 ("ieee-floats" ,sbcl-ieee-floats)
15789 ("trivial-garbage" ,sbcl-trivial-garbage)
15790 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
15791 (home-page "https://github.com/conspack/cl-conspack")
15792 (synopsis "CONSPACK implementation for Common Lisp")
15793 (description
15794 "This package provides a CONSPACK implementation for Common Lisp.")
15795 (license license:bsd-3))))
15796
15797 (define-public ecl-cl-conspack
15798 (sbcl-package->ecl-package sbcl-cl-conspack))
15799
15800 (define-public cl-conspack
15801 (sbcl-package->cl-source-package sbcl-cl-conspack))
15802
15803 (define-public sbcl-cl-opengl
15804 (let ((commit "e2d83e0977b7e7ac3f3d348d8ccc7ccd04e74d59")
15805 (revision "1"))
15806 (package
15807 (name "sbcl-cl-opengl")
15808 (version (git-version "0.1.0" revision commit))
15809 (source
15810 (origin
15811 (method git-fetch)
15812 (uri (git-reference
15813 (url "https://github.com/3b/cl-opengl")
15814 (commit commit)))
15815 (file-name (git-file-name "cl-opengl" version))
15816 (sha256
15817 (base32 "0mhqmll09f079pnd6mgswz9nvr6h5n27d4q7zpmm2igf1v460id7"))))
15818 (build-system asdf-build-system/sbcl)
15819 (arguments
15820 `(#:asd-systems '("cl-opengl" "cl-glu" "cl-glut")
15821 #:phases
15822 (modify-phases %standard-phases
15823 (add-after 'unpack 'patch-lib-path
15824 (lambda* (#:key inputs #:allow-other-keys)
15825 (substitute* "gl/library.lisp"
15826 (("libGL.so" all)
15827 (string-append (assoc-ref inputs "mesa") "/lib/" all)))
15828 (substitute* "glu/library.lisp"
15829 (("libGLU.so" all)
15830 (string-append (assoc-ref inputs "glu") "/lib/" all)))
15831 (substitute* "glut/library.lisp"
15832 (("libglut.so" all)
15833 (string-append (assoc-ref inputs "freeglut") "/lib/" all)))
15834 #t)))))
15835 (inputs
15836 `(("alexandria" ,sbcl-alexandria)
15837 ("cffi" ,sbcl-cffi)
15838 ("float-features" ,sbcl-float-features)
15839 ("freeglut" ,freeglut)
15840 ("glu" ,glu)
15841 ("mesa" ,mesa)))
15842 (home-page "https://github.com/3b/cl-opengl")
15843 (synopsis "Common Lisp bindings to OpenGL, GLU and GLUT APIs")
15844 (description
15845 "This package provides a set of bindings and utilities for accessing the
15846 OpenGL (Mesa), GLU and GLUT (FreeGLUT) APIs using CFFI.")
15847 (license license:bsd-3))))
15848
15849 (define-public ecl-cl-opengl
15850 (sbcl-package->ecl-package sbcl-cl-opengl))
15851
15852 (define-public cl-opengl
15853 (sbcl-package->cl-source-package sbcl-cl-opengl))
15854
15855 (define-public sbcl-shadow
15856 (let ((commit "b2031adbfba3579b48c9d39ad997e19b79b6852f")
15857 (revision "1"))
15858 (package
15859 (name "sbcl-shadow")
15860 (version (git-version "0.0.0" revision commit))
15861 (source
15862 (origin
15863 (method git-fetch)
15864 (uri (git-reference
15865 (url "https://git.mfiano.net/mfiano/shadow")
15866 (commit commit)))
15867 (file-name (git-file-name "shadow" version))
15868 (sha256
15869 (base32 "0w1i734gkdkziin74ql2nhx7jdjxx02ylssaa6qdrvnj4br1124a"))))
15870 (build-system asdf-build-system/sbcl)
15871 (inputs
15872 `(("cffi" ,sbcl-cffi)
15873 ("cl-opengl" ,sbcl-cl-opengl)
15874 ("glsl-packing" ,sbcl-glsl-packing)
15875 ("golden-utils" ,sbcl-golden-utils)
15876 ("static-vectors" ,sbcl-static-vectors)
15877 ("varjo" ,sbcl-varjo)))
15878 (home-page "https://git.mfiano.net/mfiano/shadow")
15879 (synopsis "Management system for OpenGL shader programs")
15880 (description
15881 "This package provides a Common Lisp library for defining OpenGL shader
15882 programs. There are also functions for referencing shader programs by name,
15883 querying for basic information about them, modifying uniform variables
15884 throughout the lifecycle of an OpenGL application, and managing certain OpenGL
15885 buffer object types (UBO, SSBO currently).")
15886 (license license:expat))))
15887
15888 (define-public ecl-shadow
15889 (sbcl-package->ecl-package sbcl-shadow))
15890
15891 (define-public cl-shadow
15892 (sbcl-package->cl-source-package sbcl-shadow))
15893
15894 (define-public sbcl-umbra
15895 (let ((commit "d6ef2f6cbfa26180929061129eaf325bf17f73d8")
15896 (revision "1"))
15897 (package
15898 (name "sbcl-umbra")
15899 (version (git-version "0.0.0" revision commit))
15900 (source
15901 (origin
15902 (method git-fetch)
15903 (uri (git-reference
15904 (url "https://git.mfiano.net/mfiano/umbra")
15905 (commit commit)))
15906 (file-name (git-file-name "umbra" version))
15907 (sha256
15908 (base32 "04vyh2j00zdpb8ryxr8g81wjcmqlz9wrn55r3cypcj4qg970r5wi"))))
15909 (build-system asdf-build-system/sbcl)
15910 (inputs
15911 `(("golden-utils" ,sbcl-golden-utils)
15912 ("shadow" ,sbcl-shadow)
15913 ("varjo" ,sbcl-varjo)))
15914 (home-page "https://git.mfiano.net/mfiano/umbra")
15915 (synopsis "Common Lisp library of reusable GPU shader functions")
15916 (description
15917 "This is a Common Lisp library consisting of a collection of useful GPU
15918 shader functions, written with @code{Shadow}.")
15919 (license license:expat))))
15920
15921 (define-public ecl-umbra
15922 (sbcl-package->ecl-package sbcl-umbra))
15923
15924 (define-public cl-umbra
15925 (sbcl-package->cl-source-package sbcl-umbra))
15926
15927 (define-public sbcl-abstract-classes
15928 (let ((commit "7fa74f1e057f9ba7c1ffecff14f049f979e45267")
15929 (revision "1"))
15930 (package
15931 (name "sbcl-abstract-classes")
15932 (version (git-version "1.7.0" revision commit))
15933 (source
15934 (origin
15935 (method git-fetch)
15936 (uri (git-reference
15937 (url "https://bitbucket.org/eeeickythump/cl-abstract-classes")
15938 (commit commit)))
15939 (file-name (git-file-name "cl-abstract-classes" version))
15940 (sha256
15941 (base32 "06lby4i6xbbgs7kgb0f3fqybvyskyg6djhrf967lnysv7hn3zpg9"))))
15942 (build-system asdf-build-system/sbcl)
15943 (inputs
15944 `(("closer-mop" ,sbcl-closer-mop)))
15945 (arguments
15946 `(#:asd-systems '("abstract-classes" "singleton-classes")))
15947 (home-page "https://bitbucket.org/eeeickythump/cl-abstract-classes")
15948 (synopsis "Abstract, final, and singleton metaclasses for CLOS")
15949 (description
15950 "This package provides Common Lisp extension to the MOP to allow
15951 abstract, final and singleton classes.")
15952 (license license:public-domain))))
15953
15954 (define-public ecl-abstract-classes
15955 (sbcl-package->ecl-package sbcl-abstract-classes))
15956
15957 (define-public cl-abstract-classes
15958 (sbcl-package->cl-source-package sbcl-abstract-classes))
15959
15960 (define-public sbcl-coalton
15961 (let ((commit "4a42ffb4222fde3abfd1b50d96e455ff2eef9fe8")
15962 (revision "1"))
15963 (package
15964 (name "sbcl-coalton")
15965 (version (git-version "0.0.0" revision commit))
15966 (source
15967 (origin
15968 (method git-fetch)
15969 (uri (git-reference
15970 (url "https://github.com/stylewarning/coalton")
15971 (commit commit)))
15972 (file-name (git-file-name "coalton" version))
15973 (sha256
15974 (base32 "0aidwwam7cnhb3p9212zbv5w2dl6kr5iklzanypzr1a9lqaxwdlk"))))
15975 (build-system asdf-build-system/sbcl)
15976 (native-inputs
15977 `(("fiasco" ,sbcl-fiasco)))
15978 (inputs
15979 `(("abstract-classes" ,sbcl-abstract-classes)
15980 ("alexandria" ,sbcl-alexandria)
15981 ("global-vars" ,sbcl-global-vars)
15982 ("optima" ,sbcl-optima)
15983 ("trivial-garbage" ,sbcl-trivial-garbage)))
15984 (home-page "https://github.com/stylewarning/coalton")
15985 (synopsis "Dialect of ML in Common Lisp")
15986 (description
15987 "Coalton is a dialect of ML embedded in Common Lisp. It emphasizes
15988 practicality and interoperability with Lisp, and is intended to be a DSL that
15989 allows one to gradually make their programs safer.")
15990 (license license:expat))))
15991
15992 (define-public ecl-coalton
15993 (sbcl-package->ecl-package sbcl-coalton))
15994
15995 (define-public cl-coalton
15996 (sbcl-package->cl-source-package sbcl-coalton))
15997
15998 (define-public sbcl-clip
15999 (let ((commit "7afa68702fbb99c47ed115ea0faccd97a29d9b2e")
16000 (revision "1"))
16001 (package
16002 (name "sbcl-clip")
16003 (version (git-version "0.7.0" revision commit))
16004 (source
16005 (origin
16006 (method git-fetch)
16007 (uri (git-reference
16008 (url "https://github.com/shinmera/clip")
16009 (commit commit)))
16010 (file-name (git-file-name "clip" version))
16011 (sha256
16012 (base32 "13kkajkva2shm19fvn4yashsw18l6imv2rmy3hmpcky7g5ay7bv3"))))
16013 (build-system asdf-build-system/sbcl)
16014 (inputs
16015 `(("array-utils" ,sbcl-array-utils)
16016 ("lquery" ,sbcl-lquery)))
16017 (home-page "https://shinmera.github.io/clip/")
16018 (synopsis "Common Lisp HTML templating engine")
16019 (description
16020 "Clip is an attempt at a templating library that allows you to write
16021 templates in a way that is both accessible to direct webdesign and
16022 flexible. The main idea is to incorporate transformation commands into an HTML
16023 file through tags and attributes. Clip is heavily dependent on Plump and
16024 lQuery.")
16025 (license license:zlib))))
16026
16027 (define-public ecl-clip
16028 (sbcl-package->ecl-package sbcl-clip))
16029
16030 (define-public cl-clip
16031 (sbcl-package->cl-source-package sbcl-clip))
16032
16033 (define-public sbcl-pathname-utils
16034 (let ((commit "70f517e44e13a38e0c8f296613236376d679fa8f")
16035 (revision "1"))
16036 (package
16037 (name "sbcl-pathname-utils")
16038 (version (git-version "1.1.0" revision commit))
16039 (source
16040 (origin
16041 (method git-fetch)
16042 (uri (git-reference
16043 (url "https://github.com/Shinmera/pathname-utils")
16044 (commit commit)))
16045 (file-name (git-file-name "pathname-utils" version))
16046 (sha256
16047 (base32 "1zm4bf6gajpgmhr7zwf7600zlaf8fs1fcyzabqsh2ma2crkgqdxq"))))
16048 (build-system asdf-build-system/sbcl)
16049 (native-inputs
16050 `(("parachute" ,sbcl-parachute)))
16051 (home-page "https://shinmera.github.io/pathname-utils/")
16052 (synopsis "Collection of utilities to help with pathname operations")
16053 (description
16054 "This package provides a Common Lisp system a with collection of common
16055 tests and operations to help handling pathnames. It does not actually deal in
16056 handling the accessing of files on the underlying system however.")
16057 (license license:zlib))))
16058
16059 (define-public ecl-pathname-utils
16060 (sbcl-package->ecl-package sbcl-pathname-utils))
16061
16062 (define-public cl-pathname-utils
16063 (sbcl-package->cl-source-package sbcl-pathname-utils))
16064
16065 (define-public sbcl-terrable
16066 (let ((commit "e4fe23ffa08e8d53a8168105b413861da59cc786")
16067 (revision "1"))
16068 (package
16069 (name "sbcl-terrable")
16070 (version (git-version "1.0.0" revision commit))
16071 (source
16072 (origin
16073 (method git-fetch)
16074 (uri (git-reference
16075 (url "https://github.com/Shirakumo/terrable")
16076 (commit commit)))
16077 (file-name (git-file-name "terrable" version))
16078 (sha256
16079 (base32 "0pnqflgz410zydc1ivwnd8hcl24bgr7x12yjzr7g4lq3ibc8y97b"))))
16080 (build-system asdf-build-system/sbcl)
16081 (inputs
16082 `(("documentation-utils" ,sbcl-documentation-utils)
16083 ("fast-io" ,sbcl-fast-io)
16084 ("ieee-floats" ,sbcl-ieee-floats)
16085 ("static-vectors" ,sbcl-static-vectors)
16086 ("trivial-garbage" ,sbcl-trivial-garbage)))
16087 (home-page "https://shirakumo.github.io/terrable/")
16088 (synopsis "Parser library for Terragen TER terrain files")
16089 (description
16090 "This package provides Common Lisp support for reading the Terragen
16091 @code{.TER} format. The format specification can be found at
16092 @url{https://planetside.co.uk/wiki/index.php?title=Terragen_.TER_Format}")
16093 (license license:zlib))))
16094
16095 (define-public ecl-terrable
16096 (sbcl-package->ecl-package sbcl-terrable))
16097
16098 (define-public cl-terrable
16099 (sbcl-package->cl-source-package sbcl-terrable))
16100
16101 (define-public sbcl-simple-rgb
16102 (let ((commit "ba9b0689362c28aa6a91c0636796c6c372657293")
16103 (revision "1"))
16104 (package
16105 (name "sbcl-simple-rgb")
16106 (version (git-version "0.01" revision commit))
16107 (source
16108 (origin
16109 (method git-fetch)
16110 (uri (git-reference
16111 (url "https://github.com/wmannis/simple-rgb/")
16112 (commit commit)))
16113 (file-name (git-file-name name version))
16114 (sha256
16115 (base32 "0ggv0h2n4mvwnggjr1b40gw667gnyykzki2zadaczi38ydzyzlp1"))))
16116 (build-system asdf-build-system/sbcl)
16117 (home-page "https://github.com/wmannis/simple-rgb")
16118 (synopsis "Manipulate colors in RGB format")
16119 (description
16120 "This Common Lisp library focuses on the small set of basic color
16121 manipulations (lightening, compliments, etc.) you might use to generate a
16122 color palette for a GUI or web page.")
16123 (license license:bsd-2))))
16124
16125 (define-public ecl-simple-rgb
16126 (sbcl-package->ecl-package sbcl-simple-rgb))
16127
16128 (define-public cl-simple-rgb
16129 (sbcl-package->cl-source-package sbcl-simple-rgb))
16130
16131 (define-public sbcl-cl-qprint
16132 (let ((commit "bfe398551cbfb7ca84a9ba59a26a1116ac5c06eb")
16133 (revision "1"))
16134 (package
16135 (name "sbcl-cl-qprint")
16136 (version (git-version "0.9.0" revision commit))
16137 (source
16138 (origin
16139 (method git-fetch)
16140 (uri (git-reference
16141 (url "https://github.com/eugeneia/cl-qprint/")
16142 (commit commit)))
16143 (file-name (git-file-name name version))
16144 (sha256
16145 (base32 "099h0rrdzxnlmn8avi72mg2dl0kccp7w01b2p9nwyy4b8yr32cir"))))
16146 (build-system asdf-build-system/sbcl)
16147 (inputs
16148 `(("flexi-streams" ,sbcl-flexi-streams)))
16149 (home-page "https://github.com/eugeneia/cl-qprint/")
16150 (synopsis "Implementation of the quoted-printable encoding")
16151 (description
16152 "This Common Lisp library implements the quoted-printable encoding as
16153 described in RFC 2045 (see @url{http://tools.ietf.org/html/rfc2045}).")
16154 (license license:lgpl2.1))))
16155
16156 (define-public ecl-cl-qprint
16157 (sbcl-package->ecl-package sbcl-cl-qprint))
16158
16159 (define-public cl-qprint
16160 (sbcl-package->cl-source-package sbcl-cl-qprint))
16161
16162 (define-public sbcl-cl-mime
16163 (let ((commit "d30a28e0a40393bd3af7d138daa05319ed2e9d07")
16164 (revision "1"))
16165 (package
16166 (name "sbcl-cl-mime")
16167 ;; One commit says "update to cl-mime-0.5.3", even though the .asd is at 0.5.1.
16168 (version (git-version "0.5.3" revision commit))
16169 (source
16170 (origin
16171 (method git-fetch)
16172 (uri (git-reference
16173 ;; Maintained fork according to http://www.cliki.net/CL-MIME:
16174 (url "https://github.com/40ants/cl-mime")
16175 (commit commit)))
16176 (file-name (git-file-name name version))
16177 (sha256
16178 (base32 "0qn8if0fj6vzc897pqqqs0m1y107gmzqngpqhqmwrcsp1ckj5k0v"))))
16179 (build-system asdf-build-system/sbcl)
16180 (inputs
16181 `(("ppcre" ,sbcl-cl-ppcre)
16182 ("cl-base64" ,sbcl-cl-base64)
16183 ("cl-qprint" ,sbcl-cl-qprint)))
16184 (native-inputs
16185 `(("rove" ,sbcl-rove)))
16186 (home-page "https://github.com/eugeneia/cl-qprint/")
16187 (synopsis "Read and print MIME content in Common Lisp")
16188 (description
16189 "This is a Common Lisp library for reading and printing MIME content.
16190 It supports automatic conversion between 7-bit, quoted-printable and base64
16191 encodings.")
16192 (license license:lgpl2.1))))
16193
16194 (define-public ecl-cl-mime
16195 (sbcl-package->ecl-package sbcl-cl-mime))
16196
16197 (define-public cl-mime
16198 (sbcl-package->cl-source-package sbcl-cl-mime))
16199
16200 (define-public sbcl-lispbuilder-sdl
16201 (let ((commit "589b3c6d552bbec4b520f61388117d6c7b3de5ab"))
16202 (package
16203 (name "sbcl-lispbuilder-sdl")
16204 (version (git-version "0.9.8.2" "1" commit))
16205 (source
16206 (origin
16207 (method git-fetch)
16208 (uri (git-reference
16209 (url "https://github.com/lispbuilder/lispbuilder")
16210 (commit commit)))
16211 (file-name (git-file-name name version))
16212 (sha256
16213 (base32 "0zga59fjlhq3mhwbf80qwqwpkjkxqnn2mhxajlb8563vhn3dbafp"))))
16214 (build-system asdf-build-system/sbcl)
16215 (inputs
16216 `(("cffi" ,sbcl-cffi)
16217 ("trivial-garbage" ,sbcl-trivial-garbage)
16218 ("sdl" ,sdl)))
16219 (arguments
16220 `(#:phases
16221 (modify-phases %standard-phases
16222 (add-after 'unpack 'cd-sdl
16223 (lambda _
16224 (chdir "lispbuilder-sdl")
16225 #t))
16226 (add-after 'cd-sdl 'fix-paths
16227 (lambda* (#:key inputs #:allow-other-keys)
16228 (substitute* "cffi/library.lisp"
16229 (("libSDL[^\"]*" all)
16230 (string-append (assoc-ref inputs "sdl") "/lib/" all)))
16231 #t)))))
16232 (home-page "https://github.com/lispbuilder/lispbuilder/wiki/LispbuilderSDL")
16233 (synopsis "Common Lisp wrapper for SDL")
16234 (description
16235 "This library is an SDL wrapper as part of an umbrella project that
16236 provides cross-platform packages for building large, interactive applications
16237 in Common Lisp.")
16238 (license license:expat))))
16239
16240 (define-public ecl-lispbuilder-sdl
16241 (sbcl-package->ecl-package sbcl-lispbuilder-sdl))
16242
16243 (define-public cl-lispbuilder-sdl
16244 (sbcl-package->cl-source-package sbcl-lispbuilder-sdl))
16245
16246 (define-public sbcl-dufy
16247 (package
16248 (name "sbcl-dufy")
16249 (version "0.4.1")
16250 (source
16251 (origin
16252 (method git-fetch)
16253 (uri (git-reference
16254 (url "https://github.com/privet-kitty/dufy")
16255 (commit (string-append "v" version))))
16256 (file-name (git-file-name name version))
16257 (sha256
16258 (base32 "15vrp1kayhjb5c1vc9x8wlm8rimk73vpa7yc101cf0gsg1fjazl6"))))
16259 (build-system asdf-build-system/sbcl)
16260 (inputs
16261 `(("alexandria" ,sbcl-alexandria)
16262 ("ppcre" ,sbcl-cl-ppcre)))
16263 (native-inputs
16264 `(("fiveam" ,sbcl-fiveam)
16265 ("cl-csv" ,sbcl-cl-csv)
16266 ("parse-float" ,sbcl-parse-float)
16267 ("lispbuilder-sdl" ,sbcl-lispbuilder-sdl)
16268 ("lparallel" ,sbcl-lparallel)))
16269 (home-page "https://github.com/privet-kitty/dufy")
16270 (synopsis "Color library for Common Lisp")
16271 (description
16272 "Dufy is a library for exact color manipulation and conversion in various
16273 color spaces, which supports many color models.")
16274 (license license:expat)))
16275
16276 (define-public ecl-dufy
16277 (sbcl-package->ecl-package sbcl-dufy))
16278
16279 (define-public cl-dufy
16280 (sbcl-package->cl-source-package sbcl-dufy))
16281
16282 (define-public sbcl-unit-test
16283 (let ((commit "266afaf4ac091fe0e8803bac2ae72d238144e735")
16284 (revision "1"))
16285 (package
16286 (name "sbcl-unit-test")
16287 (version (git-version "0.0.0" revision commit))
16288 (source
16289 (origin
16290 (method git-fetch)
16291 (uri (git-reference
16292 (url "https://github.com/hanshuebner/unit-test")
16293 (commit commit)))
16294 (file-name (git-file-name "unit-test" version))
16295 (sha256
16296 (base32 "11hpksz56iqkv7jw25p2a8r3n9dj922fyarn16d98589g6hdskj9"))))
16297 (build-system asdf-build-system/sbcl)
16298 (home-page "https://github.com/hanshuebner/unit-test")
16299 (synopsis "Unit-testing framework for Common Lisp")
16300 (description "This is a unit-testing framework for Common Lisp.")
16301 (license license:unlicense))))
16302
16303 (define-public ecl-unit-test
16304 (sbcl-package->ecl-package sbcl-unit-test))
16305
16306 (define-public cl-unit-test
16307 (sbcl-package->cl-source-package sbcl-unit-test))
16308
16309 (define-public sbcl-bknr-datastore
16310 (let ((commit "c98d44f47cc88d19ff91ca3eefbd9719a8ace022")
16311 (revision "1"))
16312 (package
16313 (name "sbcl-bknr-datastore")
16314 (version (git-version "0.0.0" revision commit))
16315 (source
16316 (origin
16317 (method git-fetch)
16318 (uri (git-reference
16319 (url "https://github.com/hanshuebner/bknr-datastore")
16320 (commit commit)))
16321 (file-name (git-file-name "bknr-datastore" version))
16322 (sha256
16323 (base32 "1vi3w65fnczqvswkm381n6liqfrzjrg40y698qvj7skj28dm5vrm"))))
16324 (build-system asdf-build-system/sbcl)
16325 (arguments
16326 `(#:asd-systems
16327 '("bknr.datastore"
16328 "bknr.impex"
16329 "bknr.indices"
16330 "bknr.skip-list"
16331 "bknr.utils"
16332 "bknr.xml")
16333 #:phases
16334 (modify-phases %standard-phases
16335 (add-after 'unpack 'enter-source-directory
16336 (lambda _
16337 (chdir "src")
16338 #t)))))
16339 (native-inputs
16340 `(("cl-store" ,sbcl-cl-store)
16341 ("fiveam" ,sbcl-fiveam)
16342 ("unit-test" ,sbcl-unit-test)))
16343 (inputs
16344 `(("alexandria" ,sbcl-alexandria)
16345 ("bordeaux-threads" ,sbcl-bordeaux-threads)
16346 ("closer-mop" ,sbcl-closer-mop)
16347 ("cl-interpol" ,sbcl-cl-interpol)
16348 ("cl-ppcre" ,sbcl-cl-ppcre)
16349 ("cxml" ,sbcl-cxml)
16350 ("flexi-streams" ,sbcl-flexi-streams)
16351 ("md5" ,sbcl-md5)
16352 ("trivial-utf-8" ,sbcl-trivial-utf-8)
16353 ("yason" ,sbcl-yason)))
16354 (home-page "https://github.com/hanshuebner/bknr-datastore")
16355 (synopsis "In-memory database for Common Lisp")
16356 (description
16357 "BKNR.DATASTORE is an in-memory CLOS based database with transactions
16358 for Common Lisp.")
16359 (license license:bsd-0))))
16360
16361 ;; NOTE: (Sharlatan-20210429T191426+0100):
16362 ;; There is no port for ECL in upstream yet
16363 ;; (define-public ecl-bknr-datastore
16364 ;; (sbcl-package->ecl-package sbcl-bknr-datastore))
16365
16366 (define-public cl-bknr-datastore
16367 (sbcl-package->cl-source-package sbcl-bknr-datastore))
16368
16369 (define-public sbcl-3d-vectors
16370 (let ((commit "29bb9684df803590deed344af63dbf7b712aabc0")
16371 (revision "1"))
16372 (package
16373 (name "sbcl-3d-vectors")
16374 (version (git-version "3.1.0" revision commit))
16375 (source
16376 (origin
16377 (method git-fetch)
16378 (uri (git-reference
16379 (url "https://github.com/Shinmera/3d-vectors")
16380 (commit commit)))
16381 (file-name (git-file-name "3d-vectors" version))
16382 (sha256
16383 (base32 "0qc7m5brhpwi531rgmlaj1c609by533a1ia5hv8f90ilm8ksmw3l"))))
16384 (build-system asdf-build-system/sbcl)
16385 (native-inputs
16386 `(("parachute" ,sbcl-parachute)))
16387 (inputs
16388 `(("documentation-utils" ,sbcl-documentation-utils)))
16389 (home-page "https://shinmera.github.io/3d-vectors/")
16390 (synopsis "Utility library implementing 2D, 3D, and 4D vectors")
16391 (description
16392 "@code{3D-VECTORS} is a library for vector math in 3D space. It contains
16393 most of the vector operations one would usually expect out of such a library and
16394 offers them both in non-modifying and modifying versions where applicable.")
16395 (license license:zlib))))
16396
16397 (define-public ecl-3d-vectors
16398 (sbcl-package->ecl-package sbcl-3d-vectors))
16399
16400 (define-public cl-3d-vectors
16401 (sbcl-package->cl-source-package sbcl-3d-vectors))
16402
16403 (define-public sbcl-3d-matrices
16404 (let ((commit "f453b521b8f2ceabb01eac94389119dece8c05f8")
16405 (revision "1"))
16406 (package
16407 (name "sbcl-3d-matrices")
16408 (version (git-version "1.0.0" revision commit))
16409 (source
16410 (origin
16411 (method git-fetch)
16412 (uri (git-reference
16413 (url "https://github.com/Shinmera/3d-matrices")
16414 (commit commit)))
16415 (file-name (git-file-name "3d-matrices" version))
16416 (sha256
16417 (base32 "10q9c96gqzq6k8n89agy0khgimmnsn4s69171m3vhghqa2yv5n6v"))))
16418 (build-system asdf-build-system/sbcl)
16419 (native-inputs
16420 `(("parachute" ,sbcl-parachute)))
16421 (inputs
16422 `(("3d-vectors" ,sbcl-3d-vectors)
16423 ("documentation-utils" ,sbcl-documentation-utils)))
16424 (home-page "https://shinmera.github.io/3d-matrices/")
16425 (synopsis "Utility library implementing 2x2, 3x3, 4x4 and NxM matrices")
16426 (description
16427 "@code{3D-MATRICES} is a library implementing common matrix operations,
16428 mainly intended as the counterpiece to @code{3d-vectors} and thus being aimed at
16429 operations in 3D space.")
16430 (license license:zlib))))
16431
16432 (define-public ecl-3d-matrices
16433 (sbcl-package->ecl-package sbcl-3d-matrices))
16434
16435 (define-public cl-3d-matrices
16436 (sbcl-package->cl-source-package sbcl-3d-matrices))