gnu: Add cl-package-locks.
[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 gnome)
71 #:use-module (gnu packages gtk)
72 #:use-module (gnu packages image)
73 #:use-module (gnu packages imagemagick)
74 #:use-module (gnu packages libevent)
75 #:use-module (gnu packages libffi)
76 #:use-module (gnu packages linux)
77 #:use-module (gnu packages lisp)
78 #:use-module (gnu packages maths)
79 #:use-module (gnu packages mp3)
80 #:use-module (gnu packages ncurses)
81 #:use-module (gnu packages networking)
82 #:use-module (gnu packages pkg-config)
83 #:use-module (gnu packages python)
84 #:use-module (gnu packages python-xyz)
85 #:use-module (gnu packages sdl)
86 #:use-module (gnu packages sqlite)
87 #:use-module (gnu packages tcl)
88 #:use-module (gnu packages tls)
89 #:use-module (gnu packages video)
90 #:use-module (gnu packages web)
91 #:use-module (gnu packages webkit)
92 #:use-module (gnu packages xdisorg)
93 #:use-module (ice-9 match)
94 #:use-module (srfi srfi-1)
95 #:use-module (srfi srfi-19))
96
97 (define-public sbcl-alexandria
98 (package
99 (name "sbcl-alexandria")
100 (version "1.2")
101 (source
102 (origin
103 (method git-fetch)
104 (uri (git-reference
105 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
106 (commit (string-append "v" version))))
107 (sha256
108 (base32
109 "0bcqs0z9xlqgjz43qzgq9i07vdlnjllpm1wwa37wpkg0w975r712"))
110 (file-name (git-file-name name version))))
111 (build-system asdf-build-system/sbcl)
112 (native-inputs
113 `(("rt" ,sbcl-rt)))
114 (synopsis "Collection of portable utilities for Common Lisp")
115 (description
116 "Alexandria is a collection of portable utilities. It does not contain
117 conceptual extensions to Common Lisp. It is conservative in scope, and
118 portable between implementations.")
119 (home-page "https://common-lisp.net/project/alexandria/")
120 (license license:public-domain)))
121
122 (define-public cl-alexandria
123 (sbcl-package->cl-source-package sbcl-alexandria))
124
125 (define-public ecl-alexandria
126 (sbcl-package->ecl-package sbcl-alexandria))
127
128 (define-public sbcl-bodge-utilities
129 (let ((commit "6304bac4abe06d53579e2c0fc4437d14ff077d9f")
130 (revision "1"))
131 (package
132 (name "sbcl-bodge-utilities")
133 (version (git-version "1.0.0" revision commit))
134 (source
135 (origin
136 (method git-fetch)
137 (uri (git-reference
138 (url "https://github.com/borodust/bodge-utilities")
139 (commit commit)))
140 (file-name (git-file-name "bodge-utilities" version))
141 (sha256
142 (base32 "1z1blj05q71vzh323qwyn9p3xs7v0mq2yhwfyzza5libp37wqm3c"))))
143 (build-system asdf-build-system/sbcl)
144 (inputs
145 `(("alexandria" ,sbcl-alexandria)
146 ("cffi" ,sbcl-cffi)
147 ("claw" ,sbcl-claw)
148 ("dissect" ,sbcl-dissect)
149 ("local-time" ,sbcl-local-time)
150 ("log4cl" ,sbcl-log4cl)
151 ("split-sequence" ,sbcl-split-sequence)
152 ("static-vectors" ,sbcl-static-vectors)
153 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
154 (home-page "https://github.com/borodust/bodge-utilities")
155 (synopsis "Common Lisp utilities library for CL-BODGE")
156 (description
157 "This Common Lisp library provides utilities for the @emph{Bodge} library
158 collection.")
159 (license license:expat))))
160
161 (define-public ecl-bodge-utilities
162 (sbcl-package->ecl-package sbcl-bodge-utilities))
163
164 (define-public cl-bodge-utilities
165 (sbcl-package->cl-source-package sbcl-bodge-utilities))
166
167 (define-public sbcl-bodge-queue
168 (let ((commit "948c9a501dcd412689952d09eb7453ec2722336a")
169 (revision "0"))
170 (package
171 (name "sbcl-bodge-queue")
172 (version (git-version "0.0.0" revision commit))
173 (source
174 (origin
175 (method git-fetch)
176 (uri (git-reference
177 (url "https://github.com/borodust/bodge-queue")
178 (commit commit)))
179 (file-name (git-file-name "bodge-queue" version))
180 (sha256
181 (base32 "148hjikqk8v2m30mj15xh89zni6szf9z3prav580qk9dqr8djjdr"))))
182 (build-system asdf-build-system/sbcl)
183 (native-inputs
184 `(("fiveam" ,sbcl-fiveam)))
185 (home-page "https://github.com/borodust/bodge-queue")
186 (synopsis "Simple queue for Common Lisp")
187 (description "This Common Lisp library provides a simple FIFO
188 implementation with no external dependencies.")
189 (license license:expat))))
190
191 (define-public cl-bodge-queue
192 (sbcl-package->cl-source-package sbcl-bodge-queue))
193
194 (define-public ecl-bodge-queue
195 (sbcl-package->ecl-package sbcl-bodge-queue))
196
197 (define-public sbcl-golden-utils
198 (let ((commit "62a5cb948a011eb26e7a89f56d5839a3334b4100")
199 (revision "2"))
200 (package
201 (name "sbcl-golden-utils")
202 (version (git-version "0.0.0" revision commit))
203 (source
204 (origin
205 (method git-fetch)
206 (uri (git-reference
207 (url "https://git.mfiano.net/mfiano/golden-utils")
208 (commit commit)))
209 (file-name (git-file-name "golden-utils" version))
210 (sha256
211 (base32 "13mvxqwd1nmpq8h5hb1s60wyqdj7ji4haxrqr0sy3csyqa8aq2j8"))))
212 (build-system asdf-build-system/sbcl)
213 (inputs
214 `(("alexandria" ,sbcl-alexandria)))
215 (home-page "https://git.mfiano.net/mfiano/golden-utils")
216 (synopsis "Common Lisp utility library")
217 (description
218 "This is a Common Lisp library providing various utilities.")
219 (license license:expat))))
220
221 (define-public ecl-golden-utils
222 (sbcl-package->ecl-package sbcl-golden-utils))
223
224 (define-public cl-golden-utils
225 (sbcl-package->cl-source-package sbcl-golden-utils))
226
227 (define-public sbcl-asdf-finalizers
228 (let ((commit "7f537f6c598b662ae987c6acc268dd27c25977e0")
229 (revision "1"))
230 (package
231 (name "sbcl-asdf-finalizers")
232 (version (git-version "0.0.0" revision commit))
233 (source
234 (origin
235 (method git-fetch)
236 (uri (git-reference
237 (url "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
238 (commit commit)))
239 (file-name (git-file-name name version))
240 (sha256
241 (base32 "1w56c9yjjydjshsgqxz57qlp2v3r4ilbisnsgiqphvxnhvd41y0v"))))
242 (build-system asdf-build-system/sbcl)
243 (native-inputs
244 `(("fare-utils" ,sbcl-fare-utils)
245 ("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
246 (arguments
247 `(#:asd-files '("asdf-finalizers.asd"
248 "list-of.asd"
249 "asdf-finalizers-test.asd")
250 #:asd-systems '("asdf-finalizers"
251 "list-of")))
252 (home-page "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
253 (synopsis "Enforced calling of finalizers for Lisp code")
254 (description "This library allows you to implement and enforce proper
255 finalization of compile-time constructs while building Lisp source files.
256
257 It produces two systems: asdf-finalizers and list-of.")
258 (license license:expat))))
259
260 (define-public ecl-asdf-finalizers
261 (sbcl-package->ecl-package sbcl-asdf-finalizers))
262
263 (define-public cl-asdf-finalizers
264 (sbcl-package->cl-source-package sbcl-asdf-finalizers))
265
266 (define-public sbcl-net.didierverna.asdf-flv
267 (package
268 (name "sbcl-net.didierverna.asdf-flv")
269 (version "2.1")
270 (source
271 (origin
272 (method git-fetch)
273 (uri (git-reference
274 (url "https://github.com/didierverna/asdf-flv")
275 (commit (string-append "version-" version))))
276 (file-name (git-file-name "asdf-flv" version))
277 (sha256
278 (base32 "1fi2y4baxan103jbg4idjddzihy03kwnj2mzbwrknw4d4x7xlgwj"))))
279 (build-system asdf-build-system/sbcl)
280 (synopsis "Common Lisp ASDF extension to provide support for file-local variables")
281 (description "ASDF-FLV provides support for file-local variables through
282 ASDF. A file-local variable behaves like @code{*PACKAGE*} and
283 @code{*READTABLE*} with respect to @code{LOAD} and @code{COMPILE-FILE}: a new
284 dynamic binding is created before processing the file, so that any
285 modification to the variable becomes essentially file-local.
286
287 In order to make one or several variables file-local, use the macros
288 @code{SET-FILE-LOCAL-VARIABLE(S)}.")
289 (home-page "https://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv")
290 (license (license:non-copyleft
291 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
292 "GNU All-Permissive License"))))
293
294 (define-public cl-net.didierverna.asdf-flv
295 (sbcl-package->cl-source-package sbcl-net.didierverna.asdf-flv))
296
297 (define-public ecl-net.didierverna.asdf-flv
298 (sbcl-package->ecl-package sbcl-net.didierverna.asdf-flv))
299
300 (define-public sbcl-command-line-arguments
301 (let ((commit "fbac862fb01c0e368141204f3f639920462c23fe")
302 (revision "1"))
303 (package
304 (name "sbcl-command-line-arguments")
305 (version (git-version "2.0.0" revision commit))
306 (source
307 (origin
308 (method git-fetch)
309 (uri (git-reference
310 (url "https://github.com/fare/command-line-arguments")
311 (commit commit)))
312 (file-name (git-file-name name version))
313 (sha256
314 (base32 "054m1ikndzqf72mb9ajaa64136cwr3bgag4yfbi1574a9vq75mjq"))))
315 (build-system asdf-build-system/sbcl)
316 (home-page "https://github.com/fare/command-line-arguments")
317 (synopsis "Trivial command-line argument parsing library for Common Lisp")
318 (description "This is a library to abstract away the parsing of
319 Unix-style command-line arguments. Use it in conjunction with asdf:program-op
320 or cl-launch for portable processing of command-line arguments.")
321 (license license:expat))))
322
323 (define-public ecl-command-line-arguments
324 (sbcl-package->ecl-package sbcl-command-line-arguments))
325
326 (define-public cl-command-line-arguments
327 (sbcl-package->cl-source-package sbcl-command-line-arguments))
328
329 (define-public sbcl-fiveam
330 (package
331 (name "sbcl-fiveam")
332 (version "1.4.1")
333 (source
334 (origin
335 (method git-fetch)
336 (uri (git-reference
337 (url "https://github.com/sionescu/fiveam")
338 (commit (string-append "v" version))))
339 (file-name (git-file-name "fiveam" version))
340 (sha256
341 (base32 "1q3d38pwafnwnw42clq0f8g5xw7pbzr287jl9jsqmb1vb0n1vrli"))))
342 (inputs
343 `(("alexandria" ,sbcl-alexandria)
344 ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
345 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
346 (build-system asdf-build-system/sbcl)
347 (synopsis "Common Lisp testing framework")
348 (description "FiveAM is a simple (as far as writing and running tests
349 goes) regression testing framework. It has been designed with Common Lisp's
350 interactive development model in mind.")
351 (home-page "https://common-lisp.net/project/fiveam/")
352 (license license:bsd-3)))
353
354 (define-public cl-fiveam
355 (sbcl-package->cl-source-package sbcl-fiveam))
356
357 (define-public ecl-fiveam
358 (sbcl-package->ecl-package sbcl-fiveam))
359
360 (define-public sbcl-cl-irc
361 (let ((commit "963823537c7bfcda2edd4c44d172192da6722175")
362 (revision "0"))
363 (package
364 (name "sbcl-cl-irc")
365 (version (git-version "0.9.2" revision commit))
366 (source
367 (origin
368 (method git-fetch)
369 (uri (git-reference
370 (url "https://salsa.debian.org/common-lisp-team/cl-irc.git")
371 (commit commit)))
372 (file-name (git-file-name "cl-irc" version))
373 (sha256
374 (base32 "1b3nqbb4pj377lxl47rfgrs82pidadnrc65l48bk553c2f59b52w"))))
375 (build-system asdf-build-system/sbcl)
376 (native-inputs
377 ;; Tests only.
378 `(("rt" ,sbcl-rt)))
379 (inputs
380 `(("cl+ssl" ,sbcl-cl+ssl)
381 ("flexi-streams" ,sbcl-flexi-streams)
382 ("split-sequence" ,sbcl-split-sequence)
383 ("usocket" ,sbcl-usocket)))
384 (arguments
385 `(#:asd-systems '("cl-irc") ;; Some inexisting "c" system is
386 ;; found by guix otherwise.
387 #:asd-files '("cl-irc.asd")
388 #:test-asd-file "test/cl-irc-test.asd"))
389 (synopsis "IRC client library for Common Lisp")
390 (description "@code{cl-irc} is a Common Lisp IRC client library that
391 features (partial) DCC, CTCP and all relevant commands from the IRC
392 RFCs (RFC2810, RFC2811 and RFC2812).
393
394 Features:
395 @itemize
396 @item implements all commands in the RFCs
397 @item extra convenience commands such as op/deop, ban, ignore, etc.
398 @item partial DCC SEND/CHAT support
399 @item event driven model with hooks makes interfacing easy
400 @item the user can keep multiple connections
401 @item all CTCP commands
402 @end itemize\n")
403 (home-page "https://common-lisp.net/project/cl-irc/")
404 (license license:bsd-2))))
405
406 (define-public cl-irc
407 (sbcl-package->cl-source-package sbcl-cl-irc))
408
409 (define-public ecl-cl-irc
410 (sbcl-package->ecl-package sbcl-cl-irc))
411
412 (define-public sbcl-trivial-timeout
413 (let ((commit "feb869357f40f5e109570fb40abad215fb370c6c")
414 (revision "1"))
415 (package
416 (name "sbcl-trivial-timeout")
417 (version (git-version "0.1.5" revision commit))
418 (source
419 (origin
420 (method git-fetch)
421 (uri (git-reference
422 (url "https://github.com/gwkkwg/trivial-timeout/")
423 (commit commit)))
424 (file-name (git-file-name "trivial-timeout" version))
425 (sha256
426 (base32 "1kninxwvvih9nhh7a9y8lfgi7pdr76675y1clw4ss17vz8fbim5p"))))
427 (build-system asdf-build-system/sbcl)
428 (native-inputs
429 `(("lift" ,sbcl-lift)))
430 (arguments
431 ;; NOTE: (Sharlatan-20210202T231437+0000): Due to the age of this library
432 ;; tests use some deprecated functionality and keep failing.
433 `(#:tests? #f))
434 (home-page "https://github.com/gwkkwg/trivial-timeout/")
435 (synopsis "Timeout library for Common Lisp")
436 (description
437 "This library provides an OS and implementation independent access to
438 timeouts.")
439 (license license:expat))))
440
441 (define-public ecl-trivial-timeout
442 (sbcl-package->ecl-package sbcl-trivial-timeout))
443
444 (define-public cl-trivial-timeout
445 (sbcl-package->cl-source-package sbcl-trivial-timeout))
446
447 (define-public sbcl-bordeaux-threads
448 (package
449 (name "sbcl-bordeaux-threads")
450 (version "0.8.8")
451 (source (origin
452 (method git-fetch)
453 (uri (git-reference
454 (url "https://github.com/sionescu/bordeaux-threads")
455 (commit (string-append "v" version))))
456 (sha256
457 (base32 "19i443fz3488v1pbbr9x24y8h8vlyhny9vj6c9jk5prm702awrp6"))
458 (file-name
459 (git-file-name "bordeaux-threads" version))))
460 (inputs `(("alexandria" ,sbcl-alexandria)))
461 (native-inputs `(("fiveam" ,sbcl-fiveam)))
462 (build-system asdf-build-system/sbcl)
463 (synopsis "Portable shared-state concurrency library for Common Lisp")
464 (description "BORDEAUX-THREADS is a proposed standard for a minimal
465 MP/Threading interface. It is similar to the CLIM-SYS threading and lock
466 support.")
467 (home-page "https://common-lisp.net/project/bordeaux-threads/")
468 (license license:x11)))
469
470 (define-public cl-bordeaux-threads
471 (sbcl-package->cl-source-package sbcl-bordeaux-threads))
472
473 (define-public ecl-bordeaux-threads
474 (sbcl-package->ecl-package sbcl-bordeaux-threads))
475
476 (define-public sbcl-trivial-gray-streams
477 (let ((revision "1")
478 (commit "ebd59b1afed03b9dc8544320f8f432fdf92ab010"))
479 (package
480 (name "sbcl-trivial-gray-streams")
481 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
482 (source
483 (origin
484 (method git-fetch)
485 (uri
486 (git-reference
487 (url "https://github.com/trivial-gray-streams/trivial-gray-streams")
488 (commit commit)))
489 (sha256
490 (base32 "0b1pxlccmnagk9cbh4cy8s5k66g3x0gwib5shjwr24xvrji6lp94"))
491 (file-name
492 (string-append "trivial-gray-streams-" version "-checkout"))))
493 (build-system asdf-build-system/sbcl)
494 (synopsis "Compatibility layer for Gray streams implementations")
495 (description "Gray streams is an interface proposed for inclusion with
496 ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most
497 popular CL implementations implement it. This package provides an extremely
498 thin compatibility layer for gray streams.")
499 (home-page "https://www.cliki.net/trivial-gray-streams")
500 (license license:x11))))
501
502 (define-public cl-trivial-gray-streams
503 (sbcl-package->cl-source-package sbcl-trivial-gray-streams))
504
505 (define-public ecl-trivial-gray-streams
506 (sbcl-package->ecl-package sbcl-trivial-gray-streams))
507
508 (define-public sbcl-fiasco
509 (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
510 (revision "1"))
511 (package
512 (name "sbcl-fiasco")
513 (version (git-version "0.0.1" revision commit))
514 (source
515 (origin
516 (method git-fetch)
517 (uri (git-reference
518 (url "https://github.com/joaotavora/fiasco")
519 (commit commit)))
520 (file-name (git-file-name "fiasco" version))
521 (sha256
522 (base32
523 "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
524 (build-system asdf-build-system/sbcl)
525 (inputs
526 `(("alexandria" ,sbcl-alexandria)
527 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
528 (synopsis "Simple and powerful test framework for Common Lisp")
529 (description "A Common Lisp test framework that treasures your failures,
530 logical continuation of Stefil. It focuses on interactive debugging.")
531 (home-page "https://github.com/joaotavora/fiasco")
532 ;; LICENCE specifies this is public-domain unless the legislation
533 ;; doesn't allow or recognize it. In that case it falls back to a
534 ;; permissive licence.
535 (license (list license:public-domain
536 (license:x11-style "file://LICENCE"))))))
537
538 (define-public cl-fiasco
539 (sbcl-package->cl-source-package sbcl-fiasco))
540
541 (define-public ecl-fiasco
542 (sbcl-package->ecl-package sbcl-fiasco))
543
544 (define-public sbcl-flexi-streams
545 (package
546 (name "sbcl-flexi-streams")
547 (version "1.0.18")
548 (source
549 (origin
550 (method git-fetch)
551 (uri (git-reference
552 (url "https://github.com/edicl/flexi-streams")
553 (commit (string-append "v" version))))
554 (file-name (git-file-name "flexi-streams" version))
555 (sha256
556 (base32 "0bjv7fd2acknidc5dyi3h85pn10krxv5jyxs1xg8jya2rlfv7f1j"))))
557 (build-system asdf-build-system/sbcl)
558 (arguments
559 `(#:phases
560 (modify-phases %standard-phases
561 (add-after 'unpack 'make-git-checkout-writable
562 (lambda _
563 (for-each make-file-writable (find-files "."))
564 #t)))))
565 (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
566 (synopsis "Implementation of virtual bivalent streams for Common Lisp")
567 (description "Flexi-streams is an implementation of \"virtual\" bivalent
568 streams that can be layered atop real binary or bivalent streams and that can
569 be used to read and write character data in various single- or multi-octet
570 encodings which can be changed on the fly. It also supplies in-memory binary
571 streams which are similar to string streams.")
572 (home-page "http://weitz.de/flexi-streams/")
573 (license license:bsd-3)))
574
575 (define-public cl-flexi-streams
576 (sbcl-package->cl-source-package sbcl-flexi-streams))
577
578 (define-public ecl-flexi-streams
579 (sbcl-package->ecl-package sbcl-flexi-streams))
580
581 (define-public sbcl-cl-abnf
582 ;; There are no releases
583 (let ((commit "ba1fbb104dedbdaddb1ef93d2e4da711bd96cd70")
584 (revision "1"))
585 (package
586 (name "sbcl-cl-abnf")
587 (version (git-version "0.0.0" revision commit))
588 (source
589 (origin
590 (method git-fetch)
591 (uri (git-reference
592 (url "https://github.com/dimitri/cl-abnf")
593 (commit commit)))
594 (file-name (git-file-name "cl-abnf" version))
595 (sha256
596 (base32 "0f09nsndxa90acm71zd4qdnp40v705a4sqm04mnv9x76h6dlggmz"))))
597 (build-system asdf-build-system/sbcl)
598 (inputs
599 `(("cl-ppcre" ,sbcl-cl-ppcre)
600 ("esrap" ,sbcl-esrap)))
601 (arguments
602 `(#:asd-systems '("abnf")))
603 (home-page "https://github.com/dimitri/cl-abnf")
604 (synopsis "ABNF parser generator for Common Lisp")
605 (description "This Common Lisp library implements a parser generator for
606 the ABNF grammar format as described in RFC2234. The generated parser is a
607 regular expression scanner provided by the cl-ppcre lib, which means that we
608 can't parse recursive grammar definition. One such definition is the ABNF
609 definition as given by the RFC. Fortunately, as you have this lib, you most
610 probably don't need to generate another parser to handle that particular ABNF
611 grammar.")
612 (license license:expat))))
613
614 (define-public cl-abnf
615 (sbcl-package->cl-source-package sbcl-cl-abnf))
616
617 (define-public ecl-cl-abnf
618 (sbcl-package->ecl-package sbcl-cl-abnf))
619
620 (define-public sbcl-cl-ppcre
621 (package
622 (name "sbcl-cl-ppcre")
623 (version "2.1.1")
624 (source
625 (origin
626 (method git-fetch)
627 (uri (git-reference
628 (url "https://github.com/edicl/cl-ppcre")
629 (commit (string-append "v" version))))
630 (file-name (git-file-name "cl-ppcre" version))
631 (sha256
632 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
633 (build-system asdf-build-system/sbcl)
634 (native-inputs
635 `(("flexi-streams" ,sbcl-flexi-streams)))
636 (arguments
637 `(#:phases
638 (modify-phases %standard-phases
639 (add-after 'unpack 'disable-ppcre-unicode
640 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
641 ;; to work around the circular dependency between edicl/cl-ppcre
642 ;; and edicl/cl-unicode.
643 (lambda _
644 (delete-file "cl-ppcre-unicode.asd")
645 #t)))))
646 (synopsis "Portable regular expression library for Common Lisp")
647 (description "CL-PPCRE is a portable regular expression library for Common
648 Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
649 compatible with ANSI-compliant Common Lisp implementations.")
650 (home-page "http://weitz.de/cl-ppcre/")
651 (license license:bsd-2)))
652
653 (define-public cl-ppcre
654 (sbcl-package->cl-source-package sbcl-cl-ppcre))
655
656 (define-public ecl-cl-ppcre
657 (sbcl-package->ecl-package sbcl-cl-ppcre))
658
659 (define-public sbcl-parse
660 (let ((commit "2351ee78acac065fcf10b8713d3f404e2e910786")
661 (revision "1"))
662 (package
663 (name "sbcl-parse")
664 (version (git-version "1.0" revision commit))
665 (source
666 (origin
667 (method git-fetch)
668 (uri (git-reference
669 (url "https://github.com/massung/parse")
670 (commit commit)))
671 (file-name (git-file-name "parse" version))
672 (sha256
673 (base32 "0l18yabyh7jizm5lgvra0jxi8s1cfwghidi6ix1pyixjkdbjlmvy"))))
674 (build-system asdf-build-system/sbcl)
675 (home-page "https://github.com/massung/parse")
676 (synopsis "Monadic parsing for Common Lisp")
677 (description
678 "PARSE is a simple token parsing library for Common Lisp.")
679 (license license:asl2.0))))
680
681 (define-public ecl-parse
682 (sbcl-package->ecl-package sbcl-parse))
683
684 (define-public cl-parse
685 (sbcl-package->cl-source-package sbcl-parse))
686
687 (define-public sbcl-re
688 (let ((commit "cfbc1f482970221e80d445080a188fd5c755cd2c")
689 (revision "1"))
690 (package
691 (name "sbcl-re")
692 (version (git-version "1.0" revision commit))
693 (source
694 (origin
695 (method git-fetch)
696 (uri (git-reference
697 (url "https://github.com/massung/re")
698 (commit commit)))
699 (file-name (git-file-name "re" version))
700 (sha256
701 (base32 "1y2gq2sckspnq8118bix55p2j43dk9qn3p8a2rplp1ip2qxqbb1i"))))
702 (build-system asdf-build-system/sbcl)
703 (inputs
704 `(("parse" ,sbcl-parse)))
705 (home-page "https://github.com/massung/re")
706 (synopsis "Lua-style Pattern Matching for Common Lisp")
707 (description
708 "RE is a small, portable, lightweight, and quick, regular
709 expression library for Common Lisp. It is a non-recursive, backtracing VM.")
710 (license license:asl2.0))))
711
712 (define-public ecl-re
713 (sbcl-package->ecl-package sbcl-re))
714
715 (define-public cl-re
716 (sbcl-package->cl-source-package sbcl-re))
717
718 (define-public sbcl-ubiquitous
719 (let ((commit "35eb7bd9e1b3daee1705f6b41260775180cce8af")
720 (revision "1"))
721 (package
722 (name "sbcl-ubiquitous")
723 (version (git-version "2.0.0" revision commit))
724 (source
725 (origin
726 (method git-fetch)
727 (uri (git-reference
728 (url "https://github.com/Shinmera/ubiquitous")
729 (commit commit)))
730 (file-name (git-file-name "ubiquitous" version))
731 (sha256
732 (base32 "1xlkaqmjcpkiv2xl2s2pvvrv976dlc846wm16s1lj62iy1315i49"))))
733 (build-system asdf-build-system/sbcl)
734 (inputs
735 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
736 (arguments
737 '(#:asd-systems '("ubiquitous"
738 "ubiquitous-concurrent")))
739 (home-page "https://shinmera.github.io/ubiquitous/")
740 (synopsis "Application configuration mechanism for Common Lisp")
741 (description
742 "@code{UBIQUITOUS} is a very easy-to-use library for persistent
743 configuration storage. It automatically takes care of finding a suitable place
744 to save your data, and provides simple functions to access and modify the data
745 within.")
746 (license license:zlib))))
747
748 (define-public ecl-ubiquitous
749 (sbcl-package->ecl-package sbcl-ubiquitous))
750
751 (define-public cl-ubiquitous
752 (sbcl-package->cl-source-package sbcl-ubiquitous))
753
754 (define-public sbcl-uax-15
755 (package
756 (name "sbcl-uax-15")
757 (version "0.1.1")
758 (source
759 (origin
760 (method git-fetch)
761 (uri (git-reference
762 (url "https://github.com/sabracrolleton/uax-15")
763 (commit (string-append "v" version))))
764 (file-name (git-file-name "uax-15" version))
765 (sha256
766 (base32 "0p2ckw7mzxhwa9vbwj2q2dzayz9dl94d9yqd2ynp0pc5v8i0n2fr"))))
767 (build-system asdf-build-system/sbcl)
768 (arguments
769 `(#:asd-systems
770 '("uax-15")))
771 (native-inputs
772 `(("fiveam" ,sbcl-fiveam)))
773 (inputs
774 `(("cl-ppcre" ,sbcl-cl-ppcre)
775 ("split-sequence" ,sbcl-split-sequence)))
776 (home-page "https://github.com/sabracrolleton/uax-15")
777 (synopsis "Common Lisp implementation of unicode normalization functions")
778 (description
779 "This package provides supports for unicode normalization, RFC8264 and
780 RFC7564.")
781 (license license:expat)))
782
783 (define-public cl-uax-15
784 (sbcl-package->cl-source-package sbcl-uax-15))
785
786 (define-public ecl-uax-15
787 (sbcl-package->ecl-package sbcl-uax-15))
788
789 (define-public sbcl-cl-unicode
790 (package
791 (name "sbcl-cl-unicode")
792 (version "0.1.6")
793 (source (origin
794 (method git-fetch)
795 (uri (git-reference
796 (url "https://github.com/edicl/cl-unicode")
797 (commit (string-append "v" version))))
798 (file-name (git-file-name name version))
799 (sha256
800 (base32
801 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
802 (build-system asdf-build-system/sbcl)
803 (native-inputs
804 `(("flexi-streams" ,sbcl-flexi-streams)))
805 (inputs
806 `(("cl-ppcre" ,sbcl-cl-ppcre)))
807 (home-page "http://weitz.de/cl-unicode/")
808 (synopsis "Portable Unicode library for Common Lisp")
809 (description "CL-UNICODE is a portable Unicode library Common Lisp, which
810 is compatible with perl. It is pretty fast, thread-safe, and compatible with
811 ANSI-compliant Common Lisp implementations.")
812 (license license:bsd-2)))
813
814 (define-public ecl-cl-unicode
815 (sbcl-package->ecl-package sbcl-cl-unicode))
816
817 (define-public cl-unicode
818 (sbcl-package->cl-source-package sbcl-cl-unicode))
819
820 (define-public sbcl-cl-ppcre-unicode
821 (package (inherit sbcl-cl-ppcre)
822 (name "sbcl-cl-ppcre-unicode")
823 (inputs
824 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
825 ("sbcl-cl-unicode" ,sbcl-cl-unicode)))
826 (arguments
827 `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found"
828 #:phases
829 (modify-phases %standard-phases
830 (add-after 'unpack 'disable-ppcre
831 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
832 ;; to work around the circular dependency between edicl/cl-ppcre
833 ;; and edicl/cl-unicode.
834 (lambda _
835 (delete-file "cl-ppcre.asd")
836 #t)))))))
837
838 (define-public cl-ppcre-unicode
839 (sbcl-package->cl-source-package sbcl-cl-ppcre-unicode))
840
841 (define-public ecl-cl-ppcre-unicode
842 (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
843
844 (define-public sbcl-zpb-ttf
845 (package
846 (name "sbcl-zpb-ttf")
847 (version "1.0.3")
848 (source
849 (origin
850 (method git-fetch)
851 (uri (git-reference
852 (url "https://github.com/xach/zpb-ttf")
853 (commit (string-append "release-" version))))
854 (file-name (git-file-name name version))
855 (sha256
856 (base32
857 "1wh66vjijzqlydnrihynpwp6796917xwrh0i9li93c17kyxa74ih"))))
858 (build-system asdf-build-system/sbcl)
859 (home-page "https://github.com/xach/zpb-ttf")
860 (synopsis "TrueType font file access for Common Lisp")
861 (description
862 "ZPB-TTF is a TrueType font file parser that provides an interface for
863 reading typographic metrics, glyph outlines, and other information from the
864 file.")
865 (license license:bsd-2)))
866
867 (define-public ecl-zpb-ttf
868 (sbcl-package->ecl-package sbcl-zpb-ttf))
869
870 (define-public cl-zpb-ttf
871 (sbcl-package->cl-source-package sbcl-zpb-ttf))
872
873 (define-public sbcl-cl-vectors
874 (package
875 (name "sbcl-cl-vectors")
876 (version "0.1.5")
877 (source
878 (origin
879 (method url-fetch)
880 (uri (string-append "http://projects.tuxee.net/cl-vectors/"
881 "files/cl-vectors-" version ".tar.gz"))
882 (sha256
883 (base32
884 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh"))))
885 (build-system asdf-build-system/sbcl)
886 (inputs
887 `(("zpb-ttf" ,sbcl-zpb-ttf)))
888 (arguments
889 '(#:asd-systems '("cl-vectors"
890 "cl-paths-ttf")))
891 (home-page "http://projects.tuxee.net/cl-vectors/")
892 (synopsis "Create, transform and render anti-aliased vectorial paths")
893 (description
894 "This is a pure Common Lisp library to create, transform and render
895 anti-aliased vectorial paths.")
896 (license license:expat)))
897
898 (define-public ecl-cl-vectors
899 (sbcl-package->ecl-package sbcl-cl-vectors))
900
901 (define-public cl-vectors
902 (sbcl-package->cl-source-package sbcl-cl-vectors))
903
904 (define-public sbcl-spatial-trees
905 ;; There have been no releases.
906 (let ((commit "81fdad0a0bf109c80a53cc96eca2e093823400ba")
907 (revision "1"))
908 (package
909 (name "sbcl-spatial-trees")
910 (version (git-version "0" revision commit))
911 (source
912 (origin
913 (method git-fetch)
914 (uri (git-reference
915 (url "https://github.com/rpav/spatial-trees")
916 (commit commit)))
917 (file-name (git-file-name name version))
918 (sha256
919 (base32
920 "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"))))
921 (build-system asdf-build-system/sbcl)
922 (arguments
923 '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns
924 #:test-asd-file "spatial-trees.test.asd"))
925 (native-inputs
926 `(("fiveam" ,sbcl-fiveam)))
927 (home-page "https://github.com/rpav/spatial-trees")
928 (synopsis "Dynamic index data structures for spatially-extended data")
929 (description
930 "Spatial-trees is a set of dynamic index data structures for
931 spatially-extended data.")
932 (license license:bsd-3))))
933
934 (define-public ecl-spatial-trees
935 (sbcl-package->ecl-package sbcl-spatial-trees))
936
937 (define-public cl-spatial-trees
938 (sbcl-package->cl-source-package sbcl-spatial-trees))
939
940 (define-public sbcl-flexichain
941 ;; There are no releases.
942 (let ((commit "13d2a6c505ed0abfcd4c4ec7d7145059b06855d6")
943 (revision "1"))
944 (package
945 (name "sbcl-flexichain")
946 (version "1.5.1")
947 (source
948 (origin
949 (method git-fetch)
950 (uri (git-reference
951 (url "https://github.com/robert-strandh/Flexichain")
952 (commit commit)))
953 (file-name (git-file-name name version))
954 (sha256
955 (base32
956 "0pfyvhsfbjd2sjb30grfs52r51a428xglv7bwydvpg2lc117qimg"))))
957 (build-system asdf-build-system/sbcl)
958 (home-page "https://github.com/robert-strandh/Flexichain.git")
959 (synopsis "Dynamically add elements to or remove them from sequences")
960 (description
961 "This package provides an implementation of the flexichain protocol,
962 allowing client code to dynamically add elements to, and delete elements from
963 a sequence (or chain) of such elements.")
964 (license license:lgpl2.1+))))
965
966 (define-public ecl-flexichain
967 (sbcl-package->ecl-package sbcl-flexichain))
968
969 (define-public cl-flexichain
970 (sbcl-package->cl-source-package sbcl-flexichain))
971
972 (define-public sbcl-cl-pdf
973 ;; There are no releases
974 (let ((commit "752e337e6d6fc206f09d091a982e7f8e5c404e4e")
975 (revision "1"))
976 (package
977 (name "sbcl-cl-pdf")
978 (version (git-version "0" revision commit))
979 (source
980 (origin
981 (method git-fetch)
982 (uri (git-reference
983 (url "https://github.com/mbattyani/cl-pdf")
984 (commit commit)))
985 (file-name (git-file-name name version))
986 (sha256
987 (base32
988 "1cg3k3m3r11ipb8j008y8ipynj97l3xjlpi2knqc9ndmx4r3kb1r"))))
989 (build-system asdf-build-system/sbcl)
990 (inputs
991 `(("iterate" ,sbcl-iterate)
992 ("zpb-ttf" ,sbcl-zpb-ttf)))
993 (home-page "https://github.com/mbattyani/cl-pdf")
994 (synopsis "Common Lisp library for generating PDF files")
995 (description
996 "CL-PDF is a cross-platform Common Lisp library for generating PDF
997 files.")
998 (license license:bsd-2))))
999
1000 (define-public ecl-cl-pdf
1001 (sbcl-package->ecl-package sbcl-cl-pdf))
1002
1003 (define-public cl-pdf
1004 (sbcl-package->cl-source-package sbcl-cl-pdf))
1005
1006 (define-public sbcl-clx
1007 (package
1008 (name "sbcl-clx")
1009 (version "0.7.5")
1010 (source
1011 (origin
1012 (method git-fetch)
1013 (uri
1014 (git-reference
1015 (url "https://github.com/sharplispers/clx")
1016 (commit version)))
1017 (sha256
1018 (base32
1019 "1vi67z9hpj5rr4xcmfbfwzmlcc0ah7hzhrmfid6lqdkva238v2wf"))
1020 (file-name (string-append "clx-" version))))
1021 (build-system asdf-build-system/sbcl)
1022 (native-inputs
1023 `(("fiasco" ,sbcl-fiasco)))
1024 (home-page "https://www.cliki.net/portable-clx")
1025 (synopsis "X11 client library for Common Lisp")
1026 (description "CLX is an X11 client library for Common Lisp. The code was
1027 originally taken from a CMUCL distribution, was modified somewhat in order to
1028 make it compile and run under SBCL, then a selection of patches were added
1029 from other CLXes around the net.")
1030 (license license:x11)))
1031
1032 (define-public cl-clx
1033 (sbcl-package->cl-source-package sbcl-clx))
1034
1035 (define-public ecl-clx
1036 (sbcl-package->ecl-package sbcl-clx))
1037
1038 (define-public sbcl-clx-truetype
1039 (let ((commit "c6e10a918d46632324d5863a8ed067a83fc26de8")
1040 (revision "1"))
1041 (package
1042 (name "sbcl-clx-truetype")
1043 (version (git-version "0.0.1" revision commit))
1044 (source
1045 (origin
1046 (method git-fetch)
1047 (uri (git-reference
1048 (url "https://github.com/l04m33/clx-truetype")
1049 (commit commit)))
1050 (file-name (git-file-name name version))
1051 (sha256
1052 (base32
1053 "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37"))
1054 (modules '((guix build utils)))
1055 (snippet
1056 '(begin
1057 (substitute* "package.lisp"
1058 ((":export") ":export\n :+font-cache-filename+"))
1059 #t))))
1060 (build-system asdf-build-system/sbcl)
1061 (inputs
1062 `(("clx" ,sbcl-clx)
1063 ("zpb-ttf" ,sbcl-zpb-ttf)
1064 ("cl-vectors" ,sbcl-cl-vectors)
1065 ("cl-fad" ,sbcl-cl-fad)
1066 ("cl-store" ,sbcl-cl-store)
1067 ("trivial-features" ,sbcl-trivial-features)))
1068 (home-page "https://github.com/l04m33/clx-truetype")
1069 (synopsis "Antialiased TrueType font rendering using CLX and XRender")
1070 (description "CLX-TrueType is pure common lisp solution for
1071 antialiased TrueType font rendering using CLX and XRender extension.")
1072 (license license:expat))))
1073
1074 (define-public cl-clx-truetype
1075 (sbcl-package->cl-source-package sbcl-clx-truetype))
1076
1077 (define-public ecl-clx-truetype
1078 (sbcl-package->ecl-package sbcl-clx-truetype))
1079
1080 (define-public sbcl-slynk
1081 (let ((commit "fb84318c08f59bc786e047006fc81e2ace568309"))
1082 (package
1083 (name "sbcl-slynk")
1084 (version (git-version "1.0.43" "4" commit))
1085 (source
1086 (origin
1087 (method git-fetch)
1088 (uri
1089 (git-reference
1090 (url "https://github.com/joaotavora/sly")
1091 (commit commit)))
1092 (sha256
1093 (base32 "0z123k9ak7yjb9bxb5qx48f33ma8066rhkqh8xc14z7shk75jybj"))
1094 (file-name (git-file-name "slynk" version))))
1095 (build-system asdf-build-system/sbcl)
1096 (outputs '("out" "image"))
1097 (arguments
1098 `(#:phases
1099 (modify-phases %standard-phases
1100 (add-after 'create-asdf-configuration 'build-image
1101 (lambda* (#:key outputs #:allow-other-keys)
1102 (build-image (string-append
1103 (assoc-ref %outputs "image")
1104 "/bin/slynk")
1105 %outputs
1106 #:dependencies '("slynk"
1107 "slynk/arglists"
1108 "slynk/fancy-inspector"
1109 "slynk/package-fu"
1110 "slynk/mrepl"
1111 "slynk/trace-dialog"
1112 "slynk/profiler"
1113 "slynk/stickers"
1114 "slynk/indentation"
1115 "slynk/retro"))
1116 #t)))))
1117 (synopsis "Common Lisp IDE for Emacs")
1118 (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
1119 It also features a completely redesigned REPL based on Emacs's own
1120 full-featured @code{comint-mode}, live code annotations, and a consistent interactive
1121 button interface. Everything can be copied to the REPL. One can create
1122 multiple inspectors with independent history.")
1123 (home-page "https://github.com/joaotavora/sly")
1124 (license license:public-domain)
1125 (properties `((cl-source-variant . ,(delay cl-slynk)))))))
1126
1127 (define-public cl-slynk
1128 (sbcl-package->cl-source-package sbcl-slynk))
1129
1130 (define-public ecl-slynk
1131 (let ((pkg (sbcl-package->ecl-package sbcl-slynk)))
1132 (package
1133 (inherit pkg)
1134 (outputs '("out"))
1135 (arguments
1136 (substitute-keyword-arguments (package-arguments pkg)
1137 ((#:phases phases)
1138 `(modify-phases ,phases
1139 (delete 'build-image))))))))
1140
1141 (define-public sbcl-parse-js
1142 (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
1143 (revision "1"))
1144 (package
1145 (name "sbcl-parse-js")
1146 (version (string-append "0.0.0-" revision "." (string-take commit 9)))
1147 (source
1148 (origin
1149 (method git-fetch)
1150 (uri (git-reference
1151 (url "http://marijn.haverbeke.nl/git/parse-js")
1152 (commit commit)))
1153 (file-name (string-append name "-" commit "-checkout"))
1154 (sha256
1155 (base32
1156 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
1157 (build-system asdf-build-system/sbcl)
1158 (home-page "https://marijnhaverbeke.nl/parse-js/")
1159 (synopsis "Parse JavaScript")
1160 (description "Parse-js is a Common Lisp package for parsing
1161 JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
1162 (license license:zlib))))
1163
1164 (define-public cl-parse-js
1165 (sbcl-package->cl-source-package sbcl-parse-js))
1166
1167 (define-public ecl-parse-js
1168 (sbcl-package->ecl-package sbcl-parse-js))
1169
1170 (define-public sbcl-parse-number
1171 (package
1172 (name "sbcl-parse-number")
1173 (version "1.7")
1174 (source
1175 (origin
1176 (method git-fetch)
1177 (uri (git-reference
1178 (url "https://github.com/sharplispers/parse-number/")
1179 (commit (string-append "v" version))))
1180 (file-name (git-file-name name version))
1181 (sha256
1182 (base32
1183 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"))))
1184 (build-system asdf-build-system/sbcl)
1185 (home-page "https://www.cliki.net/PARSE-NUMBER")
1186 (synopsis "Parse numbers")
1187 (description "@code{parse-number} is a library of functions for parsing
1188 strings into one of the standard Common Lisp number types without using the
1189 reader. @code{parse-number} accepts an arbitrary string and attempts to parse
1190 the string into one of the standard Common Lisp number types, if possible, or
1191 else @code{parse-number} signals an error of type @code{invalid-number}.")
1192 (license license:bsd-3)))
1193
1194 (define-public cl-parse-number
1195 (sbcl-package->cl-source-package sbcl-parse-number))
1196
1197 (define-public ecl-parse-number
1198 (sbcl-package->ecl-package sbcl-parse-number))
1199
1200 (define-public sbcl-iterate
1201 (package
1202 (name "sbcl-iterate")
1203 (version "1.5")
1204 (source
1205 (origin
1206 (method url-fetch)
1207 (uri (string-append "https://common-lisp.net/project/iterate/releases/"
1208 "iterate-" version ".tar.gz"))
1209 (sha256
1210 (base32
1211 "1lqsbhrkfl0yif46aymvb7l3nb9wdcmj4jyw485blj32jb4famzn"))))
1212 (build-system asdf-build-system/sbcl)
1213 (native-inputs
1214 `(("rt" ,sbcl-rt)))
1215 (home-page "https://common-lisp.net/project/iterate/")
1216 (synopsis "Iteration construct for Common Lisp")
1217 (description "@code{iterate} is an iteration construct for Common Lisp.
1218 It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
1219
1220 @itemize
1221 @item it is extensible,
1222 @item it helps editors like Emacs indent iterate forms by having a more
1223 lisp-like syntax, and
1224 @item it isn't part of the ANSI standard for Common Lisp.
1225 @end itemize\n")
1226 (license license:expat)))
1227
1228 (define-public cl-iterate
1229 (sbcl-package->cl-source-package sbcl-iterate))
1230
1231 (define-public ecl-iterate
1232 (sbcl-package->ecl-package sbcl-iterate))
1233
1234 (define-public sbcl-cl-uglify-js
1235 ;; There have been many bug fixes since the 2010 release.
1236 (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
1237 (revision "1"))
1238 (package
1239 (name "sbcl-cl-uglify-js")
1240 (version (string-append "0.1-" revision "." (string-take commit 9)))
1241 (source
1242 (origin
1243 (method git-fetch)
1244 (uri (git-reference
1245 (url "https://github.com/mishoo/cl-uglify-js")
1246 (commit commit)))
1247 (file-name (git-file-name name version))
1248 (sha256
1249 (base32
1250 "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"))))
1251 (build-system asdf-build-system/sbcl)
1252 (inputs
1253 `(("sbcl-parse-js" ,sbcl-parse-js)
1254 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
1255 ("sbcl-cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
1256 ("sbcl-parse-number" ,sbcl-parse-number)
1257 ("sbcl-iterate" ,sbcl-iterate)))
1258 (home-page "https://github.com/mishoo/cl-uglify-js")
1259 (synopsis "JavaScript compressor library for Common Lisp")
1260 (description "This is a Common Lisp version of UglifyJS, a JavaScript
1261 compressor. It works on data produced by @code{parse-js} to generate a
1262 @dfn{minified} version of the code. Currently it can:
1263
1264 @itemize
1265 @item reduce variable names (usually to single letters)
1266 @item join consecutive @code{var} statements
1267 @item resolve simple binary expressions
1268 @item group most consecutive statements using the @code{sequence} operator (comma)
1269 @item remove unnecessary blocks
1270 @item convert @code{IF} expressions in various ways that result in smaller code
1271 @item remove some unreachable code
1272 @end itemize\n")
1273 (license license:zlib))))
1274
1275 (define-public cl-uglify-js
1276 (sbcl-package->cl-source-package sbcl-cl-uglify-js))
1277
1278 (define-public ecl-cl-uglify-js
1279 (sbcl-package->ecl-package sbcl-cl-uglify-js))
1280
1281 (define-public uglify-js
1282 (package
1283 (inherit sbcl-cl-uglify-js)
1284 (name "uglify-js")
1285 (build-system trivial-build-system)
1286 (arguments
1287 `(#:modules ((guix build utils))
1288 #:builder
1289 (let* ((bin (string-append (assoc-ref %outputs "out") "/bin/"))
1290 (script (string-append bin "uglify-js")))
1291 (use-modules (guix build utils))
1292 (mkdir-p bin)
1293 (with-output-to-file script
1294 (lambda _
1295 (format #t "#!~a/bin/sbcl --script
1296
1297 (require :asdf)
1298 (asdf:initialize-source-registry
1299 #p\"~a/etc/common-lisp/source-registry.conf.d/\")
1300 (asdf:initialize-output-translations
1301 #p\"~a/etc/common-lisp/asdf-output-translations.conf.d/\")"
1302 (assoc-ref %build-inputs "sbcl")
1303 (assoc-ref %build-inputs "sbcl-cl-uglify-js")
1304 (assoc-ref %build-inputs "sbcl-cl-uglify-js"))
1305 ;; FIXME: cannot use progn here because otherwise it fails to
1306 ;; find cl-uglify-js.
1307 (for-each
1308 write
1309 '(;; Quiet, please!
1310 (let ((*standard-output* (make-broadcast-stream))
1311 (*error-output* (make-broadcast-stream)))
1312 (asdf:load-system :cl-uglify-js))
1313 (let ((file (cadr *posix-argv*)))
1314 (if file
1315 (format t "~a"
1316 (cl-uglify-js:ast-gen-code
1317 (cl-uglify-js:ast-mangle
1318 (cl-uglify-js:ast-squeeze
1319 (with-open-file (in file)
1320 (parse-js:parse-js in))))
1321 :beautify nil))
1322 (progn
1323 (format *error-output*
1324 "Please provide a JavaScript file.~%")
1325 (sb-ext:exit :code 1))))))))
1326 (chmod script #o755)
1327 #t)))
1328 (inputs
1329 `(("sbcl" ,sbcl)
1330 ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
1331 (synopsis "JavaScript compressor")))
1332
1333 (define-public sbcl-cl-strings
1334 (let ((revision "1")
1335 (commit "c5c5cbafbf3e6181d03c354d66e41a4f063f00ae"))
1336 (package
1337 (name "sbcl-cl-strings")
1338 (version (git-version "0.0.0" revision commit))
1339 (source
1340 (origin
1341 (method git-fetch)
1342 (uri (git-reference
1343 (url "https://github.com/diogoalexandrefranco/cl-strings")
1344 (commit commit)))
1345 (sha256
1346 (base32
1347 "00754mfaqallj480lwd346nkfb6ra8pa8xcxcylf4baqn604zlmv"))
1348 (file-name (string-append "cl-strings-" version "-checkout"))))
1349 (build-system asdf-build-system/sbcl)
1350 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
1351 (description
1352 "@command{cl-strings} is a small, portable, dependency-free set of
1353 utilities that make it even easier to manipulate text in Common Lisp. It has
1354 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
1355 (home-page "https://github.com/diogoalexandrefranco/cl-strings")
1356 (license license:expat))))
1357
1358 (define-public cl-strings
1359 (sbcl-package->cl-source-package sbcl-cl-strings))
1360
1361 (define-public ecl-cl-strings
1362 (sbcl-package->ecl-package sbcl-cl-strings))
1363
1364 (define-public sbcl-trivial-features
1365 ;; No release since 2014.
1366 (let ((commit "870d03de0ed44067963350936856e17ee725153e"))
1367 (package
1368 (name "sbcl-trivial-features")
1369 (version (git-version "0.8" "1" commit))
1370 (source
1371 (origin
1372 (method git-fetch)
1373 (uri (git-reference
1374 (url "https://github.com/trivial-features/trivial-features")
1375 (commit commit)))
1376 (file-name (git-file-name "trivial-features" version))
1377 (sha256
1378 (base32 "14pcahr8r2j3idhyy216zyw8jnj1dnrx0qbkkbdqkvwzign1ah4j"))))
1379 (build-system asdf-build-system/sbcl)
1380 (arguments
1381 '(#:asd-files '("trivial-features.asd")
1382 #:tests? #f))
1383 (home-page "https://cliki.net/trivial-features")
1384 (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
1385 (description "Trivial-features ensures that @code{*FEATURES*} is
1386 consistent across multiple Common Lisp implementations.")
1387 (license license:expat))))
1388
1389 (define-public cl-trivial-features
1390 (sbcl-package->cl-source-package sbcl-trivial-features))
1391
1392 (define-public ecl-trivial-features
1393 (sbcl-package->ecl-package sbcl-trivial-features))
1394
1395 (define-public sbcl-hu.dwim.asdf
1396 (let ((commit "67cdf84390e530af4303cc4bc815fdf2a5e48f59"))
1397 (package
1398 (name "sbcl-hu.dwim.asdf")
1399 (version "20200724")
1400 (source
1401 (origin
1402 (method git-fetch)
1403 (uri (git-reference
1404 (url "https://github.com/hu-dwim/hu.dwim.asdf")
1405 (commit commit)))
1406 (file-name (git-file-name name version))
1407 (sha256
1408 (base32
1409 "0p81jalilkaqw832a12s35q0z6rrarxjasm1jy6h4fvyj9pf0zkx"))))
1410 (build-system asdf-build-system/sbcl)
1411 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.asdf")
1412 (synopsis "Extensions to ASDF")
1413 (description "Various ASDF extensions such as attached test and
1414 documentation system, explicit development support, etc.")
1415 (license license:public-domain))))
1416
1417 (define-public cl-hu.dwim.asdf
1418 (sbcl-package->cl-source-package sbcl-hu.dwim.asdf))
1419
1420 (define-public ecl-hu.dwim.asdf
1421 (sbcl-package->ecl-package sbcl-hu.dwim.asdf))
1422
1423 (define-public sbcl-hu.dwim.stefil
1424 (let ((commit "414902c6f575818c39a8a156b8b61b1adfa73dad"))
1425 (package
1426 (name "sbcl-hu.dwim.stefil")
1427 (version (git-version "0.0.0" "2" commit))
1428 (source
1429 (origin
1430 (method git-fetch)
1431 (uri
1432 (git-reference
1433 (url "https://github.com/hu-dwim/hu.dwim.stefil")
1434 (commit commit)))
1435 (sha256
1436 (base32 "14izmjjim590rh74swrssavdmdznj2z8vhqixy780sjhpcr5pmkc"))
1437 (file-name (git-file-name "hu.dwim.stefil" version))))
1438 (build-system asdf-build-system/sbcl)
1439 (native-inputs
1440 `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
1441 (inputs
1442 `(("sbcl-alexandria" ,sbcl-alexandria)))
1443 (home-page "http://dwim.hu/project/hu.dwim.stefil")
1444 (synopsis "Simple test framework")
1445 (description "Stefil is a simple test framework for Common Lisp,
1446 with a focus on interactive development.")
1447 (license license:public-domain))))
1448
1449 (define-public cl-hu.dwim.stefil
1450 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
1451
1452 (define-public ecl-hu.dwim.stefil
1453 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
1454
1455 (define-public sbcl-babel
1456 ;; No release since 2014.
1457 (let ((commit "aeed2d1b76358db48e6b70a64399c05678a6b9ea"))
1458 (package
1459 (name "sbcl-babel")
1460 (version (git-version "0.5.0" "1" commit))
1461 (source
1462 (origin
1463 (method git-fetch)
1464 (uri (git-reference
1465 (url "https://github.com/cl-babel/babel")
1466 (commit commit)))
1467 (file-name (git-file-name "babel" version))
1468 (sha256
1469 (base32 "0lkvv4xdpv4cv1y2bqillmabx8sdb2y4l6pbinq6mjh33w2brpvb"))))
1470 (build-system asdf-build-system/sbcl)
1471 (native-inputs
1472 `(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
1473 (inputs
1474 `(("sbcl-alexandria" ,sbcl-alexandria)
1475 ("sbcl-trivial-features" ,sbcl-trivial-features)))
1476 (home-page "https://common-lisp.net/project/babel/")
1477 (synopsis "Charset encoding and decoding library")
1478 (description "Babel is a charset encoding and decoding library, not unlike
1479 GNU libiconv, but completely written in Common Lisp.")
1480 (license license:expat))))
1481
1482 (define-public cl-babel
1483 (sbcl-package->cl-source-package sbcl-babel))
1484
1485 (define-public ecl-babel
1486 (sbcl-package->ecl-package sbcl-babel))
1487
1488 (define-public sbcl-cl-yacc
1489 (package
1490 (name "sbcl-cl-yacc")
1491 (version "0.3")
1492 (source
1493 (origin
1494 (method git-fetch)
1495 (uri (git-reference
1496 (url "https://github.com/jech/cl-yacc")
1497 (commit (string-append "cl-yacc-" version))))
1498 (sha256
1499 (base32
1500 "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib"))
1501 (file-name (string-append "cl-yacc-" version "-checkout"))))
1502 (build-system asdf-build-system/sbcl)
1503 (arguments
1504 `(#:asd-systems '("yacc")))
1505 (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc")
1506 (description
1507 "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit
1508 to AT&T Yacc, Berkeley Yacc, GNU Bison, Zebu, lalr.cl or lalr.scm.
1509
1510 CL-Yacc uses the algorithm due to Aho and Ullman, which is the one also used
1511 by AT&T Yacc, Berkeley Yacc and Zebu. It does not use the faster algorithm due
1512 to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
1513 (home-page "https://www.irif.fr/~jch//software/cl-yacc/")
1514 (license license:expat)))
1515
1516 (define-public cl-yacc
1517 (sbcl-package->cl-source-package sbcl-cl-yacc))
1518
1519 (define-public ecl-cl-yacc
1520 (sbcl-package->ecl-package sbcl-cl-yacc))
1521
1522 (define-public sbcl-eager-future2
1523 (let ((commit "54df8effd9d9eccac917509590286b5ac5f9cb30"))
1524 (package
1525 (name "sbcl-eager-future2")
1526 (version (git-version "0.0.0" "1" commit))
1527 (source
1528 (origin
1529 (method git-fetch)
1530 (uri (git-reference
1531 (url "https://gitlab.common-lisp.net/vsedach/eager-future2.git")
1532 (commit commit)))
1533 (file-name (git-file-name name version))
1534 (sha256
1535 (base32
1536 "1qs1bv3m0ki8l5czhsflxcryh22r9d9g9a3a3b0cr0pl954q5rld"))))
1537 (build-system asdf-build-system/sbcl)
1538 (inputs
1539 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1540 ("trivial-garbage" ,sbcl-trivial-garbage)))
1541 (synopsis "Futures promises synchronization mechanism for Common Lisp")
1542 (description
1543 "Eager Future2 is a Common Lisp library that provides composable
1544 concurrency primitives that unify parallel and lazy evaluation, are integrated
1545 with the Common Lisp condition system, and have automatic resource
1546 management.")
1547 (home-page "https://gitlab.common-lisp.net/vsedach/eager-future2")
1548 (license license:lgpl3+))))
1549
1550 (define-public cl-eager-future2
1551 (sbcl-package->cl-source-package sbcl-eager-future2))
1552
1553 (define-public ecl-eager-future2
1554 (sbcl-package->ecl-package sbcl-eager-future2))
1555
1556 (define-public sbcl-jpl-util
1557 (let ((commit "0311ed374e19a49d43318064d729fe3abd9a3b62"))
1558 (package
1559 (name "sbcl-jpl-util")
1560 (version "20151005")
1561 (source
1562 (origin
1563 (method git-fetch)
1564 (uri (git-reference
1565 ;; Quicklisp uses this fork.
1566 (url "https://github.com/hawkir/cl-jpl-util")
1567 (commit commit)))
1568 (file-name
1569 (git-file-name "jpl-util" version))
1570 (sha256
1571 (base32
1572 "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"))))
1573 (build-system asdf-build-system/sbcl)
1574 (synopsis "Collection of Common Lisp utility functions and macros")
1575 (description
1576 "@command{cl-jpl-util} is a collection of Common Lisp utility functions
1577 and macros, primarily for software projects written in CL by the author.")
1578 (home-page "https://www.thoughtcrime.us/software/cl-jpl-util/")
1579 (license license:isc))))
1580
1581 (define-public cl-jpl-util
1582 (sbcl-package->cl-source-package sbcl-jpl-util))
1583
1584 (define-public ecl-jpl-util
1585 (sbcl-package->ecl-package sbcl-jpl-util))
1586
1587 (define-public sbcl-piping
1588 (let ((commit "c7a4163c00dea7e72bf6ad33d6abac0d5826a656")
1589 (revision "1"))
1590 (package
1591 (name "sbcl-piping")
1592 (version (git-version "2.0.0" revision commit))
1593 (source
1594 (origin
1595 (method git-fetch)
1596 (uri (git-reference
1597 (url "https://github.com/Shinmera/piping/")
1598 (commit commit)))
1599 (file-name (git-file-name "piping" version))
1600 (sha256
1601 (base32 "0in84qnfkynm36d4n4d6v87vprpi27xrydnga462wfhplji6klv5"))))
1602 (build-system asdf-build-system/sbcl)
1603 (home-page "https://shinmera.github.io/piping/")
1604 (synopsis "Library to enable simple message pipelines")
1605 (description
1606 "This is a Common Lisp library to enable simple message pipelines.")
1607 (license license:zlib))))
1608
1609 (define-public ecl-piping
1610 (sbcl-package->ecl-package sbcl-piping))
1611
1612 (define-public cl-piping
1613 (sbcl-package->cl-source-package sbcl-piping))
1614
1615 (define-public sbcl-cl-pcg
1616 (let ((commit "8263d85ab0ca17fb05637a4430c2d564456bce8f")
1617 (revision "1"))
1618 (package
1619 (name "sbcl-cl-pcg")
1620 (version (git-version "1.0.0" revision commit))
1621 (source
1622 (origin
1623 (method git-fetch)
1624 (uri (git-reference
1625 (url "https://github.com/sjl/cl-pcg")
1626 (commit commit)))
1627 (file-name (git-file-name "cl-pcg" version))
1628 (sha256
1629 (base32 "0s57wvvlvshp1gcp9i9d3qcmqhswnxps3i0y7wbb0v8i1a3p46m4"))))
1630 (build-system asdf-build-system/sbcl)
1631 (native-inputs
1632 `(("1am" ,sbcl-1am)))
1633 (home-page "https://github.com/sjl/cl-pcg")
1634 (synopsis "Permuted congruential generators in Common Lisp")
1635 (description
1636 "This is a bare-bones Permuted Congruential Generator implementation in
1637 pure Common Lisp.")
1638 (license license:expat))))
1639
1640 (define-public ecl-cl-pcg
1641 (sbcl-package->ecl-package sbcl-cl-pcg))
1642
1643 (define-public cl-pcg
1644 (sbcl-package->cl-source-package sbcl-cl-pcg))
1645
1646 (define-public sbcl-seedable-rng
1647 (let ((commit "aa1a1564b6e07e2698df37c7a98348c4f762cb15")
1648 (revision "1"))
1649 (package
1650 (name "sbcl-seedable-rng")
1651 (version (git-version "0.0.0" revision commit))
1652 (source
1653 (origin
1654 (method git-fetch)
1655 (uri (git-reference
1656 (url "https://git.mfiano.net/mfiano/seedable-rng")
1657 (commit commit)))
1658 (file-name (git-file-name "seedable-rng" version))
1659 (sha256
1660 (base32 "1ldpsbp3qrfzvknclsxj3sdyms1jf9ad20dvh4w0kw3zgahn2nr5"))))
1661 (build-system asdf-build-system/sbcl)
1662 (inputs
1663 `(("cl-pcg" ,sbcl-cl-pcg)
1664 ("golden-utils" ,sbcl-golden-utils)
1665 ("ironclad" ,sbcl-ironclad)))
1666 (home-page "https://git.mfiano.net/mfiano/seedable-rng")
1667 (synopsis "Common Lisp random number generator")
1668 (description
1669 "SEEDABLE-RNG provides a convenient means of generating random numbers
1670 that are seedable with deterministic results across hardware and Common Lisp
1671 implementations.")
1672 (license license:expat))))
1673
1674 (define-public ecl-seedable-rng
1675 (sbcl-package->ecl-package sbcl-seedable-rng))
1676
1677 (define-public cl-seedable-rng
1678 (sbcl-package->cl-source-package sbcl-seedable-rng))
1679
1680 (define-public sbcl-jpl-queues
1681 (package
1682 (name "sbcl-jpl-queues")
1683 (version "0.1")
1684 (source
1685 (origin
1686 (method url-fetch)
1687 (uri (string-append
1688 "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-"
1689 version
1690 ".tar.gz"))
1691 (sha256
1692 (base32
1693 "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96"))))
1694 (build-system asdf-build-system/sbcl)
1695 (inputs
1696 `(("jpl-util" ,sbcl-jpl-util)
1697 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1698 (arguments
1699 ;; Tests seem to be broken.
1700 `(#:tests? #f))
1701 (synopsis "Common Lisp library implementing a few different kinds of queues")
1702 (description
1703 "A Common Lisp library implementing a few different kinds of queues:
1704
1705 @itemize
1706 @item Bounded and unbounded FIFO queues.
1707 @item Lossy bounded FIFO queues that drop elements when full.
1708 @item Unbounded random-order queues that use less memory than unbounded FIFO queues.
1709 @end itemize
1710
1711 Additionally, a synchronization wrapper is provided to make any queue
1712 conforming to the @command{jpl-queues} API thread-safe for lightweight
1713 multithreading applications. (See Calispel for a more sophisticated CL
1714 multithreaded message-passing library with timeouts and alternation among
1715 several blockable channels.)")
1716 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1717 (license license:isc)))
1718
1719 (define-public cl-jpl-queues
1720 (sbcl-package->cl-source-package sbcl-jpl-queues))
1721
1722 (define-public ecl-jpl-queues
1723 (sbcl-package->ecl-package sbcl-jpl-queues))
1724
1725 (define-public sbcl-calispel
1726 (let ((commit "e9f2f9c1af97f4d7bb4c8ac25fb2a8f3e8fada7a"))
1727 (package
1728 (name "sbcl-calispel")
1729 (version (git-version "0.1" "1" commit))
1730 (source
1731 (origin
1732 (method git-fetch)
1733 (uri (git-reference
1734 ;; This fork replaces the dependency on the obsolete
1735 ;; eager-future with eager-future2.
1736 (url "https://github.com/hawkir/calispel")
1737 (commit commit)))
1738 (file-name (git-file-name name version))
1739 (sha256
1740 (base32
1741 "08bmf3pi7n5hadpmqqkg65cxcj6kbvm997wcs1f53ml1nb79d9z8"))))
1742 (build-system asdf-build-system/sbcl)
1743 (inputs
1744 `(("jpl-queues" ,sbcl-jpl-queues)
1745 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1746 (native-inputs
1747 `(("eager-future2" ,sbcl-eager-future2)))
1748 (synopsis "Thread-safe message-passing channels in Common Lisp")
1749 (description
1750 "Calispel is a Common Lisp library for thread-safe message-passing
1751 channels, in the style of the occam programming language, also known as
1752 communicating sequential processes (CSP). See
1753 @url{https://en.wikipedia.org/wiki/Communicating_sequential_processes}.
1754
1755 Calispel channels let one thread communicate with another, facilitating
1756 unidirectional communication of any Lisp object. Channels may be unbuffered,
1757 where a sender waits for a receiver (or vice versa) before either operation can
1758 continue, or channels may be buffered with flexible policy options.
1759
1760 Because sending and receiving on a channel may block, either operation can time
1761 out after a specified amount of time.
1762
1763 A syntax for alternation is provided (like @code{ALT} in occam, or Unix
1764 @code{select()}): given a sequence of operations, any or all of which may
1765 block, alternation selects the first operation that doesn't block and executes
1766 associated code. Alternation can also time out, executing an \"otherwise\"
1767 clause if no operation becomes available within a set amount of time.
1768
1769 Calispel is a message-passing library, and as such leaves the role of
1770 threading abstractions and utilities left to be filled by complementary
1771 libraries such as Bordeaux-Threads and Eager Future.")
1772 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1773 (license license:isc))))
1774
1775 (define-public cl-calispel
1776 (sbcl-package->cl-source-package sbcl-calispel))
1777
1778 (define-public ecl-calispel
1779 (sbcl-package->ecl-package sbcl-calispel))
1780
1781 (define-public sbcl-eos
1782 (let ((commit "b4413bccc4d142cbe1bf49516c3a0a22c9d99243")
1783 (revision "2"))
1784 (package
1785 (name "sbcl-eos")
1786 (version (git-version "0.0.0" revision commit))
1787 (source
1788 (origin
1789 (method git-fetch)
1790 (uri (git-reference
1791 (url "https://github.com/adlai/Eos")
1792 (commit commit)))
1793 (sha256
1794 (base32 "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk"))
1795 (file-name (git-file-name "eos" version))))
1796 (build-system asdf-build-system/sbcl)
1797 (synopsis "Unit Testing for Common Lisp")
1798 (description
1799 "Eos was a unit testing library for Common Lisp.
1800 It began as a fork of FiveAM; however, FiveAM development has continued, while
1801 that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
1802 (home-page "https://github.com/adlai/Eos")
1803 (license license:expat))))
1804
1805 (define-public cl-eos
1806 (sbcl-package->cl-source-package sbcl-eos))
1807
1808 (define-public ecl-eos
1809 (sbcl-package->ecl-package sbcl-eos))
1810
1811 (define-public sbcl-esrap
1812 (let ((commit "da6b24fb18bdb8e7e177bcf2820cdaf0b560deb6")
1813 (revision "1"))
1814 (package
1815 (name "sbcl-esrap")
1816 (version (git-version "0.18" revision commit))
1817 (source
1818 (origin
1819 (method git-fetch)
1820 (uri (git-reference
1821 (url "https://github.com/scymtym/esrap")
1822 (commit commit)))
1823 (sha256
1824 (base32 "12vf3bxwzf8icnf6rw1xalvm7493cfbb46r2vlhc09s59djkf39q"))
1825 (file-name (git-file-name "esrap" version))))
1826 (build-system asdf-build-system/sbcl)
1827 (native-inputs
1828 `(("fiveam" ,sbcl-fiveam)))
1829 (inputs
1830 `(("alexandria" ,sbcl-alexandria)))
1831 (synopsis "Common Lisp packrat parser")
1832 (description
1833 "This is a packrat parser for Common Lisp.
1834 In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
1835
1836 @itemize
1837 @item dynamic redefinition of nonterminals
1838 @item inline grammars
1839 @item semantic predicates
1840 @item introspective facilities (describing grammars, tracing, setting breaks)
1841 @item left-recursive grammars
1842 @item functions as terminals
1843 @item accurate, customizable parse error reports
1844 @end itemize\n")
1845 (home-page "https://scymtym.github.io/esrap/")
1846 (license license:expat))))
1847
1848 (define-public cl-esrap
1849 (sbcl-package->cl-source-package sbcl-esrap))
1850
1851 (define-public ecl-esrap
1852 (sbcl-package->ecl-package sbcl-esrap))
1853
1854 (define-public sbcl-split-sequence
1855 (package
1856 (name "sbcl-split-sequence")
1857 (version "2.0.0")
1858 (source
1859 (origin
1860 (method git-fetch)
1861 (uri (git-reference
1862 (url "https://github.com/sharplispers/split-sequence")
1863 (commit (string-append "v" version))))
1864 (sha256
1865 (base32
1866 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
1867 (file-name (git-file-name "split-sequence" version))))
1868 (build-system asdf-build-system/sbcl)
1869 (native-inputs
1870 `(("fiveam" ,sbcl-fiveam)))
1871 (synopsis "Member of the Common Lisp Utilities family of programs")
1872 (description
1873 "Splits sequence into a list of subsequences delimited by objects
1874 satisfying the test.")
1875 (home-page "https://cliki.net/split-sequence")
1876 (license license:expat)))
1877
1878 (define-public cl-split-sequence
1879 (sbcl-package->cl-source-package sbcl-split-sequence))
1880
1881 (define-public ecl-split-sequence
1882 (sbcl-package->ecl-package sbcl-split-sequence))
1883
1884 (define-public sbcl-html-encode
1885 (package
1886 (name "sbcl-html-encode")
1887 (version "1.2")
1888 (source
1889 (origin
1890 (method url-fetch)
1891 (uri (string-append
1892 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1893 version ".tgz"))
1894 (sha256
1895 (base32
1896 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1897 (file-name (string-append "colorize" version "-checkout"))))
1898 (build-system asdf-build-system/sbcl)
1899 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1900 (description
1901 "A library for encoding text in various web-savvy encodings.")
1902 (home-page "http://quickdocs.org/html-encode/")
1903 (license license:expat)))
1904
1905 (define-public cl-html-encode
1906 (sbcl-package->cl-source-package sbcl-html-encode))
1907
1908 (define-public ecl-html-encode
1909 (sbcl-package->ecl-package sbcl-html-encode))
1910
1911 (define-public sbcl-colorize
1912 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1913 (package
1914 (name "sbcl-colorize")
1915 (version (git-version "0.0.0" "1" commit))
1916 (source
1917 (origin
1918 (method git-fetch)
1919 (uri (git-reference
1920 (url "https://github.com/kingcons/colorize")
1921 (commit commit)))
1922 (sha256
1923 (base32
1924 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1925 (file-name (git-file-name "colorize" version))))
1926 (build-system asdf-build-system/sbcl)
1927 (inputs
1928 `(("alexandria" ,sbcl-alexandria)
1929 ("split-sequence" ,sbcl-split-sequence)
1930 ("html-encode" ,sbcl-html-encode)))
1931 (synopsis "Common Lisp for syntax highlighting")
1932 (description
1933 "@command{colorize} is a Lisp library for syntax highlighting
1934 supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1935 C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1936 (home-page "https://github.com/kingcons/colorize")
1937 ;; TODO: Missing license?
1938 (license license:expat))))
1939
1940 (define-public cl-colorize
1941 (sbcl-package->cl-source-package sbcl-colorize))
1942
1943 (define-public ecl-colorize
1944 (sbcl-package->ecl-package sbcl-colorize))
1945
1946 (define-public sbcl-3bmd
1947 (let ((commit "6fc5759448f6f6df6f6df556e020a289a2643288")
1948 (revision "2"))
1949 (package
1950 (name "sbcl-3bmd")
1951 (version (git-version "0.0.0" revision commit))
1952 (source
1953 (origin
1954 (method git-fetch)
1955 (uri (git-reference
1956 (url "https://github.com/3b/3bmd")
1957 (commit commit)))
1958 (sha256
1959 (base32 "1avmbp8xdjlbqpqk7p3vmj7abiw5p3vb5mrxp4wlvgql4sf6z3p4"))
1960 (file-name (git-file-name "3bmd" version))))
1961 (build-system asdf-build-system/sbcl)
1962 (arguments
1963 `(#:asd-systems
1964 '("3bmd"
1965 "3bmd-ext-definition-lists"
1966 "3bmd-ext-math"
1967 "3bmd-ext-tables"
1968 "3bmd-ext-wiki-links"
1969 "3bmd-youtube"
1970 "3bmd-ext-code-blocks")))
1971 (inputs
1972 `(("alexandria" ,sbcl-alexandria)
1973 ("colorize" ,sbcl-colorize)
1974 ("esrap" ,sbcl-esrap)
1975 ("split-sequence" ,sbcl-split-sequence)))
1976 (home-page "https://github.com/3b/3bmd")
1977 (synopsis "Markdown processor in Command Lisp using esrap parser")
1978 (description
1979 "This is a Common Lisp Markdown to HTML converter, using @command{esrap}
1980 for parsing, and grammar based on @command{peg-markdown}.")
1981 (license license:expat))))
1982
1983 (define-public cl-3bmd
1984 (sbcl-package->cl-source-package sbcl-3bmd))
1985
1986 (define-public ecl-3bmd
1987 (sbcl-package->ecl-package sbcl-3bmd))
1988
1989 (define-public sbcl-cl-fad
1990 (package
1991 (name "sbcl-cl-fad")
1992 (version "0.7.6")
1993 (source
1994 (origin
1995 (method git-fetch)
1996 (uri (git-reference
1997 (url "https://github.com/edicl/cl-fad/")
1998 (commit (string-append "v" version))))
1999 (sha256
2000 (base32
2001 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
2002 (file-name (string-append "cl-fad" version "-checkout"))))
2003 (build-system asdf-build-system/sbcl)
2004 (inputs
2005 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
2006 (synopsis "Portable pathname library for Common Lisp")
2007 (description
2008 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
2009 Lisp's standard pathname functions. It is intended to provide some
2010 unification between current CL implementations on Windows, OS X, Linux, and
2011 Unix. Most of the code was written by Peter Seibel for his book Practical
2012 Common Lisp.")
2013 (home-page "https://edicl.github.io/cl-fad/")
2014 (license license:bsd-2)))
2015
2016 (define-public cl-fad
2017 (sbcl-package->cl-source-package sbcl-cl-fad))
2018
2019 (define-public ecl-cl-fad
2020 (sbcl-package->ecl-package sbcl-cl-fad))
2021
2022 (define-public sbcl-fn
2023 (let ((commit "8d8587d03a7b5e26b306fc90018e385d9e5acc2c")
2024 (revision "1"))
2025 (package
2026 (name "sbcl-fn")
2027 (version (git-version "0.0.0" revision commit))
2028 (source
2029 (origin
2030 (method git-fetch)
2031 (uri (git-reference
2032 (url "https://github.com/cbaggers/fn")
2033 (commit commit)))
2034 (file-name (git-file-name "fn" version))
2035 (sha256
2036 (base32 "0yyp9z6iwx476whz0n1rpjznjyqqhlylhzwpgg5xx92lxmskl752"))))
2037 (build-system asdf-build-system/sbcl)
2038 (inputs
2039 `(("named-readtables" ,sbcl-named-readtables)))
2040 (home-page "https://github.com/cbaggers/fn")
2041 (synopsis "Macros for lambda brevity")
2042 (description
2043 "This is a Common Lisp library providing lambda shorthand macros aiming
2044 to be used in cases where the word @emph{lambda} and the arguments are longer
2045 than the body of the lambda.")
2046 (license license:public-domain))))
2047
2048 (define-public ecl-fn
2049 (sbcl-package->ecl-package sbcl-fn))
2050
2051 (define-public cl-fn
2052 (sbcl-package->cl-source-package sbcl-fn))
2053
2054 (define-public sbcl-rt
2055 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
2056 (revision "1"))
2057 (package
2058 (name "sbcl-rt")
2059 (version (git-version "1990.12.19" revision commit))
2060 (source
2061 (origin
2062 (method git-fetch)
2063 (uri (git-reference
2064 (url "http://git.kpe.io/rt.git")
2065 (commit commit)))
2066 (file-name (git-file-name name version))
2067 (sha256
2068 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
2069 (build-system asdf-build-system/sbcl)
2070 (synopsis "MIT Regression Tester")
2071 (description
2072 "RT provides a framework for writing regression test suites.")
2073 (home-page "https://www.cliki.net/rt")
2074 (license license:expat))))
2075
2076 (define-public cl-rt
2077 (sbcl-package->cl-source-package sbcl-rt))
2078
2079 (define-public ecl-rt
2080 (sbcl-package->ecl-package sbcl-rt))
2081
2082 (define-public sbcl-nibbles
2083 ;; No tagged release since 2018.
2084 (let ((commit "8e6b9b42d9f69000f55e5c45ad974d9e376ffdbd")
2085 (revision "1"))
2086 (package
2087 (name "sbcl-nibbles")
2088 (version (git-version "0.14" revision commit))
2089 (source
2090 (origin
2091 (method git-fetch)
2092 (uri (git-reference
2093 (url "https://github.com/sharplispers/nibbles/")
2094 (commit commit)))
2095 (sha256
2096 (base32 "15qlsm82h36pjgvfnbzdg60l21qxbaii4d049jc5y0dn56y93amb"))
2097 (file-name (git-file-name "nibbles" version))))
2098 (build-system asdf-build-system/sbcl)
2099 (native-inputs
2100 ;; Tests only.
2101 `(("rt" ,sbcl-rt)))
2102 (synopsis
2103 "Common Lisp library for accessing octet-addressed blocks of data")
2104 (description
2105 "When dealing with network protocols and file formats, it's common to
2106 have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
2107 flavors. Common Lisp sort of supports this by specifying :element-type for
2108 streams, but that facility is underspecified and there's nothing similar for
2109 read/write from octet vectors. What most people wind up doing is rolling their
2110 own small facility for their particular needs and calling it a day.
2111
2112 This library attempts to be comprehensive and centralize such
2113 facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
2114 vectors in signed or unsigned flavors are provided; these functions are also
2115 SETFable. Since it's sometimes desirable to read/write directly from streams,
2116 functions for doing so are also provided. On some implementations,
2117 reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
2118 also be supported.")
2119 (home-page "https://github.com/sharplispers/nibbles")
2120 (license license:bsd-3))))
2121
2122 (define-public cl-nibbles
2123 (sbcl-package->cl-source-package sbcl-nibbles))
2124
2125 (define-public ecl-nibbles
2126 (sbcl-package->ecl-package sbcl-nibbles))
2127
2128 (define-public sbcl-ironclad
2129 (package
2130 (name "sbcl-ironclad")
2131 (version "0.55")
2132 (source
2133 (origin
2134 (method git-fetch)
2135 (uri (git-reference
2136 (url "https://github.com/sharplispers/ironclad/")
2137 (commit (string-append "v" version))))
2138 (sha256
2139 (base32 "1w4slnc4143w1gcff1wxsivzb8kcji0bpd7y9rld3sabay0qprwl"))
2140 (file-name (git-file-name name version))))
2141 (build-system asdf-build-system/sbcl)
2142 (native-inputs
2143 ;; Tests only.
2144 `(("rt" ,sbcl-rt)))
2145 (inputs
2146 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2147 ("flexi-streams" ,sbcl-flexi-streams)))
2148 (synopsis "Cryptographic toolkit written in Common Lisp")
2149 (description
2150 "Ironclad is a cryptography library written entirely in Common Lisp.
2151 It includes support for several popular ciphers, digests, MACs and public key
2152 cryptography algorithms. For several implementations that support Gray
2153 streams, support is included for convenient stream wrappers.")
2154 (home-page "https://github.com/sharplispers/ironclad")
2155 (license license:bsd-3)))
2156
2157 (define-public cl-ironclad
2158 (sbcl-package->cl-source-package sbcl-ironclad))
2159
2160 (define-public ecl-ironclad
2161 (sbcl-package->ecl-package sbcl-ironclad))
2162
2163 (define-public sbcl-named-readtables
2164 (let ((commit "585a28eee8b1b1999279b48cb7e9731187e14b66")
2165 (revision "3"))
2166 (package
2167 (name "sbcl-named-readtables")
2168 (version (git-version "0.9" revision commit))
2169 (source
2170 (origin
2171 (method git-fetch)
2172 (uri (git-reference
2173 (url "https://github.com/melisgl/named-readtables")
2174 (commit commit)))
2175 (sha256
2176 (base32 "072p5djqq9pliw9r20rmpz5r5q5yn6rhbp98vkkp7gfcnp5ppj51"))
2177 (file-name (git-file-name "named-readtables" version))))
2178 (build-system asdf-build-system/sbcl)
2179 (home-page "https://github.com/melisgl/named-readtables/")
2180 (synopsis "Library that creates a namespace for named readtables")
2181 (description
2182 "Named readtables is a library that creates a namespace for named
2183 readtables, which is akin to package namespacing in Common Lisp.")
2184 (license license:bsd-3))))
2185
2186 (define-public cl-named-readtables
2187 (sbcl-package->cl-source-package sbcl-named-readtables))
2188
2189 (define-public ecl-named-readtables
2190 (sbcl-package->ecl-package sbcl-named-readtables))
2191
2192 (define-public sbcl-py-configparser
2193 ;; NOTE: (Sharlatan <2021-01-05 Tue> <19:52:19 UTC+0000>) Project updated last
2194 ;; time 8y ago, it looks like abandoned. VCS of the project:
2195 ;; https://svn.common-lisp.net/py-configparser/trunk
2196 (package
2197 (name "sbcl-py-configparser")
2198 (version "1.0.3")
2199 (source
2200 (origin
2201 (method url-fetch)
2202 (uri (string-append
2203 "https://common-lisp.net/project/py-configparser/releases/"
2204 "py-configparser-" version ".tar.gz"))
2205 (sha256
2206 (base32 "0i4rqz5cv7d7c2w81x5lwy05s6fbi3zikf4k5kpi3bkx3cabwdxj"))))
2207 (build-system asdf-build-system/sbcl)
2208 (inputs
2209 `(("parse-number" ,sbcl-parse-number)))
2210 (home-page "http://common-lisp.net/project/py-configparser/")
2211 (synopsis "ConfigParser Python module functionality for Common Lisp")
2212 (description "The py-configparser package implements the ConfigParser
2213 Python module functionality in Common Lisp. In short, it implements reading
2214 and writing of .INI-file style configuration files with sections containing
2215 key/value pairs of configuration options. In line with the functionalities in
2216 the python module, does this package implement basic interpolation of option
2217 values in other options.")
2218 (license license:expat)))
2219
2220 (define-public cl-py-configparser
2221 (sbcl-package->cl-source-package sbcl-py-configparser))
2222
2223 (define-public ecl-py-configparser
2224 (sbcl-package->ecl-package sbcl-py-configparser))
2225
2226 (define-public sbcl-pythonic-string-reader
2227 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
2228 (package
2229 (name "sbcl-pythonic-string-reader")
2230 (version (git-version "0.0.0" "1" commit))
2231 (source
2232 (origin
2233 (method git-fetch)
2234 (uri (git-reference
2235 (url "https://github.com/smithzvk/pythonic-string-reader/")
2236 (commit commit)))
2237 (sha256
2238 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
2239 (file-name (git-file-name "pythonic-string-reader" version))))
2240 (build-system asdf-build-system/sbcl)
2241 (inputs
2242 `(("named-readtables" ,sbcl-named-readtables)))
2243 (home-page "https://github.com/smithzvk/pythonic-string-reader")
2244 (synopsis "Read table modification inspired by Python's three quote strings")
2245 (description "This piece of code sets up some reader macros that make it
2246 simpler to input string literals which contain backslashes and double quotes
2247 This is very useful for writing complicated docstrings and, as it turns out,
2248 writing code that contains string literals that contain code themselves.")
2249 (license license:bsd-3))))
2250
2251 (define-public cl-pythonic-string-reader
2252 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
2253
2254 (define-public ecl-pythonic-string-reader
2255 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
2256
2257 (define-public sbcl-slime-swank
2258 (package
2259 (name "sbcl-slime-swank")
2260 (version "2.26")
2261 (source
2262 (origin
2263 (file-name (git-file-name "slime-swank" version))
2264 (method git-fetch)
2265 (uri (git-reference
2266 (url "https://github.com/slime/slime/")
2267 (commit (string-append "v" version))))
2268 (sha256
2269 (base32
2270 "0mxb1wnw19v0s72w2wkz5afdlzvpy5nn7pr4vav403qybac0sw5c"))))
2271 (build-system asdf-build-system/sbcl)
2272 (arguments
2273 '(#:asd-systems '("swank")))
2274 (home-page "https://github.com/slime/slime")
2275 (synopsis "Common Lisp Swank server")
2276 (description
2277 "This is only useful if you want to start a Swank server in a Lisp
2278 processes that doesn't run under Emacs. Lisp processes created by
2279 @command{M-x slime} automatically start the server.")
2280 (license (list license:gpl2+ license:public-domain))))
2281
2282 (define-public cl-slime-swank
2283 (sbcl-package->cl-source-package sbcl-slime-swank))
2284
2285 (define-public ecl-slime-swank
2286 (sbcl-package->ecl-package sbcl-slime-swank))
2287
2288 (define-public sbcl-mgl-pax
2289 (let ((commit "4ada6eb26364e71addb169ce58e4ba83bc7a8eaa")
2290 (revision "2"))
2291 (package
2292 (name "sbcl-mgl-pax")
2293 (version (git-version "0.0.3" revision commit))
2294 (source
2295 (origin
2296 (method git-fetch)
2297 (uri (git-reference
2298 (url "https://github.com/melisgl/mgl-pax")
2299 (commit commit)))
2300 (sha256
2301 (base32 "1s38crgvmd9hgqwsscqpj6m6c10a074zjgg8k5sl15yih1wkpssm"))
2302 (file-name (git-file-name "mgl-pax" version))))
2303 (build-system asdf-build-system/sbcl)
2304 (inputs
2305 `(("3bmd" ,sbcl-3bmd)
2306 ("babel" ,sbcl-babel)
2307 ("cl-fad" ,sbcl-cl-fad)
2308 ("ironclad" ,sbcl-ironclad)
2309 ("named-readtables" ,sbcl-named-readtables)
2310 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)
2311 ("swank" ,sbcl-slime-swank)))
2312 (synopsis "Exploratory programming environment and documentation generator")
2313 (description
2314 "PAX provides an extremely poor man's Explorable Programming
2315 environment. Narrative primarily lives in so called sections that mix markdown
2316 docstrings with references to functions, variables, etc, all of which should
2317 probably have their own docstrings.
2318
2319 The primary focus is on making code easily explorable by using SLIME's
2320 @command{M-.} (@command{slime-edit-definition}). See how to enable some
2321 fanciness in Emacs Integration. Generating documentation from sections and all
2322 the referenced items in Markdown or HTML format is also implemented.
2323
2324 With the simplistic tools provided, one may accomplish similar effects as with
2325 Literate Programming, but documentation is generated from code, not vice versa
2326 and there is no support for chunking yet. Code is first, code must look
2327 pretty, documentation is code.")
2328 (home-page "http://quotenil.com/")
2329 (license license:expat))))
2330
2331 (define-public cl-mgl-pax
2332 (sbcl-package->cl-source-package sbcl-mgl-pax))
2333
2334 (define-public ecl-mgl-pax
2335 (sbcl-package->ecl-package sbcl-mgl-pax))
2336
2337 (define-public sbcl-mssql
2338 (let ((commit "045602a19a32254108f2b75871049293f49731eb")
2339 (revision "1"))
2340 (package
2341 (name "sbcl-mssql")
2342 (version (git-version "0.0.3" revision commit))
2343 (source
2344 (origin
2345 (method git-fetch)
2346 (uri (git-reference
2347 (url "https://github.com/archimag/cl-mssql")
2348 (commit commit)))
2349 (file-name (git-file-name "cl-mssql" version))
2350 (sha256
2351 (base32 "09i50adppgc1ybm3ka9vbindhwa2x29f9n3n0jkrryymdhb8zknm"))))
2352 (build-system asdf-build-system/sbcl)
2353 (inputs
2354 `(("cffi" ,sbcl-cffi)
2355 ("freetds" ,freetds)
2356 ("garbage-pools" ,sbcl-garbage-pools)
2357 ("iterate" ,sbcl-iterate)
2358 ("parse-number" ,sbcl-parse-number)))
2359 (arguments
2360 `(#:phases
2361 (modify-phases %standard-phases
2362 (add-after 'unpack 'fix-paths
2363 (lambda* (#:key inputs #:allow-other-keys)
2364 (substitute* "src/mssql.lisp"
2365 (("libsybdb" all)
2366 (string-append (assoc-ref inputs "freetds") "/lib/" all)))
2367 #t)))))
2368 (home-page "https://github.com/archimag/cl-mssql")
2369 (synopsis "Common Lisp library to interact with MS SQL Server databases")
2370 (description
2371 "@code{cl-mssql} provides an interface to connect to Microsoft SQL
2372 server. It uses the @code{libsybdb} foreign library provided by the FreeTDS
2373 project.")
2374 (license license:llgpl))))
2375
2376 (define-public ecl-mssql
2377 (sbcl-package->ecl-package sbcl-mssql))
2378
2379 (define-public cl-mssql
2380 (sbcl-package->cl-source-package sbcl-mssql))
2381
2382 (define-public sbcl-lisp-unit
2383 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
2384 (package
2385 (name "sbcl-lisp-unit")
2386 (version (git-version "0.0.0" "1" commit))
2387 (source
2388 (origin
2389 (method git-fetch)
2390 (uri (git-reference
2391 (url "https://github.com/OdonataResearchLLC/lisp-unit")
2392 (commit commit)))
2393 (sha256
2394 (base32
2395 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
2396 (file-name (git-file-name "lisp-unit" version))))
2397 (build-system asdf-build-system/sbcl)
2398 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
2399 (description
2400 "@command{lisp-unit} is a Common Lisp library that supports unit
2401 testing. It is an extension of the library written by Chris Riesbeck.")
2402 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
2403 (license license:expat))))
2404
2405 (define-public cl-lisp-unit
2406 (sbcl-package->cl-source-package sbcl-lisp-unit))
2407
2408 (define-public ecl-lisp-unit
2409 (sbcl-package->ecl-package sbcl-lisp-unit))
2410
2411 (define-public sbcl-anaphora
2412 (package
2413 (name "sbcl-anaphora")
2414 (version "0.9.6")
2415 (source
2416 (origin
2417 (method git-fetch)
2418 (uri (git-reference
2419 (url "https://github.com/tokenrove/anaphora")
2420 (commit version)))
2421 (sha256
2422 (base32
2423 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
2424 (file-name (git-file-name "anaphora" version))))
2425 (build-system asdf-build-system/sbcl)
2426 (native-inputs
2427 `(("rt" ,sbcl-rt)))
2428 (synopsis "The anaphoric macro collection from Hell")
2429 (description
2430 "Anaphora is the anaphoric macro collection from Hell: it includes many
2431 new fiends in addition to old friends like @command{aif} and
2432 @command{awhen}.")
2433 (home-page "https://github.com/tokenrove/anaphora")
2434 (license license:public-domain)))
2435
2436 (define-public cl-anaphora
2437 (sbcl-package->cl-source-package sbcl-anaphora))
2438
2439 (define-public ecl-anaphora
2440 (sbcl-package->ecl-package sbcl-anaphora))
2441
2442 (define-public sbcl-lift
2443 (let ((commit "2594160d6ca3a77d8750110dfa63214256aab852")
2444 (revision "2"))
2445 (package
2446 (name "sbcl-lift")
2447 (version (git-version "1.7.1" revision commit))
2448 (source
2449 (origin
2450 (method git-fetch)
2451 (uri (git-reference
2452 (url "https://github.com/gwkkwg/lift")
2453 (commit commit)))
2454 (sha256
2455 (base32 "01xvz9sl5l5lai4h9dabmcjnm659wf5zllaxqbs55lffskp6jwq3"))
2456 (file-name (git-file-name "lift" version))
2457 (modules '((guix build utils)))
2458 (snippet
2459 ;; Don't keep the bundled website
2460 `(begin
2461 (delete-file-recursively "website")
2462 #t))))
2463 (build-system asdf-build-system/sbcl)
2464 (arguments
2465 ;; The tests require a debugger, but we run with the debugger disabled.
2466 '(#:tests? #f))
2467 (synopsis "LIsp Framework for Testing")
2468 (description
2469 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
2470 Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
2471 testcases are organized into hierarchical testsuites each of which can have
2472 its own fixture. When run, a testcase can succeed, fail, or error. LIFT
2473 supports randomized testing, benchmarking, profiling, and reporting.")
2474 (home-page "https://github.com/gwkkwg/lift")
2475 (license license:expat))))
2476
2477 (define-public cl-lift
2478 (sbcl-package->cl-source-package sbcl-lift))
2479
2480 (define-public ecl-lift
2481 (sbcl-package->ecl-package sbcl-lift))
2482
2483 (define-public sbcl-let-plus
2484 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
2485 (package
2486 (name "sbcl-let-plus")
2487 (version (git-version "0.0.0" "1" commit))
2488 (source
2489 (origin
2490 (method git-fetch)
2491 (uri (git-reference
2492 (url "https://github.com/sharplispers/let-plus")
2493 (commit commit)))
2494 (sha256
2495 (base32
2496 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
2497 (file-name (git-file-name "let-plus" version))))
2498 (build-system asdf-build-system/sbcl)
2499 (inputs
2500 `(("alexandria" ,sbcl-alexandria)
2501 ("anaphora" ,sbcl-anaphora)))
2502 (native-inputs
2503 `(("lift" ,sbcl-lift)))
2504 (synopsis "Destructuring extension of let*")
2505 (description
2506 "This library implements the let+ macro, which is a dectructuring
2507 extension of let*. It features:
2508
2509 @itemize
2510 @item Clean, consistent syntax and small implementation (less than 300 LOC,
2511 not counting tests)
2512 @item Placeholder macros allow editor hints and syntax highlighting
2513 @item @command{&ign} for ignored values (in forms where that makes sense)
2514 @item Very easy to extend
2515 @end itemize\n")
2516 (home-page "https://github.com/sharplispers/let-plus")
2517 (license license:boost1.0))))
2518
2519 (define-public cl-let-plus
2520 (sbcl-package->cl-source-package sbcl-let-plus))
2521
2522 (define-public ecl-let-plus
2523 (sbcl-package->ecl-package sbcl-let-plus))
2524
2525 (define-public sbcl-cl-colors
2526 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
2527 (package
2528 (name "sbcl-cl-colors")
2529 (version (git-version "0.0.0" "1" commit))
2530 (source
2531 (origin
2532 (method git-fetch)
2533 (uri (git-reference
2534 (url "https://github.com/tpapp/cl-colors")
2535 (commit commit)))
2536 (sha256
2537 (base32
2538 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2539 (file-name (git-file-name "cl-colors" version))))
2540 (build-system asdf-build-system/sbcl)
2541 (inputs
2542 `(("alexandria" ,sbcl-alexandria)
2543 ("let-plus" ,sbcl-let-plus)))
2544 (synopsis "Simple color library for Common Lisp")
2545 (description
2546 "This is a very simple color library for Common Lisp, providing
2547
2548 @itemize
2549 @item Types for representing colors in HSV and RGB spaces.
2550 @item Simple conversion functions between the above types (and also
2551 hexadecimal representation for RGB).
2552 @item Some predefined colors (currently X11 color names – of course the
2553 library does not depend on X11).Because color in your terminal is nice.
2554 @end itemize
2555
2556 This library is no longer supported by its author.")
2557 (home-page "https://github.com/tpapp/cl-colors")
2558 (license license:boost1.0))))
2559
2560 (define-public cl-colors
2561 (sbcl-package->cl-source-package sbcl-cl-colors))
2562
2563 (define-public ecl-cl-colors
2564 (sbcl-package->ecl-package sbcl-cl-colors))
2565
2566 (define-public sbcl-cl-ansi-text
2567 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2568 (package
2569 (name "sbcl-cl-ansi-text")
2570 (version (git-version "1.0.0" "1" commit))
2571 (source
2572 (origin
2573 (method git-fetch)
2574 (uri (git-reference
2575 (url "https://github.com/pnathan/cl-ansi-text")
2576 (commit commit)))
2577 (sha256
2578 (base32
2579 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2580 (file-name (git-file-name "cl-ansi-text" version))))
2581 (build-system asdf-build-system/sbcl)
2582 (inputs
2583 `(("alexandria" ,sbcl-alexandria)
2584 ("cl-colors" ,sbcl-cl-colors)))
2585 (native-inputs
2586 `(("fiveam" ,sbcl-fiveam)))
2587 (synopsis "ANSI terminal color implementation for Common Lisp")
2588 (description
2589 "@command{cl-ansi-text} provides utilities which enable printing to an
2590 ANSI terminal with colored text. It provides the macro @command{with-color}
2591 which causes everything printed in the body to be displayed with the provided
2592 color. It further provides functions which will print the argument with the
2593 named color.")
2594 (home-page "https://github.com/pnathan/cl-ansi-text")
2595 (license license:llgpl))))
2596
2597 (define-public cl-ansi-text
2598 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2599
2600 (define-public ecl-cl-ansi-text
2601 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2602
2603 (define-public sbcl-prove
2604 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2605 (package
2606 (name "sbcl-prove")
2607 (version (git-version "1.0.0" "1" commit))
2608 (source
2609 (origin
2610 (method git-fetch)
2611 (uri (git-reference
2612 (url "https://github.com/fukamachi/prove")
2613 (commit commit)))
2614 (sha256
2615 (base32
2616 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2617 (file-name (git-file-name "prove" version))))
2618 (build-system asdf-build-system/sbcl)
2619 (inputs
2620 `(("alexandria" ,sbcl-alexandria)
2621 ("cl-ppcre" ,sbcl-cl-ppcre)
2622 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2623 (synopsis "Yet another unit testing framework for Common Lisp")
2624 (description
2625 "This project was originally called @command{cl-test-more}.
2626 @command{prove} is yet another unit testing framework for Common Lisp. The
2627 advantages of @command{prove} are:
2628
2629 @itemize
2630 @item Various simple functions for testing and informative error messages
2631 @item ASDF integration
2632 @item Extensible test reporters
2633 @item Colorizes the report if it's available (note for SLIME)
2634 @item Reports test durations
2635 @end itemize\n")
2636 (home-page "https://github.com/fukamachi/prove")
2637 (license license:expat))))
2638
2639 (define-public cl-prove
2640 (sbcl-package->cl-source-package sbcl-prove))
2641
2642 (define-public ecl-prove
2643 (sbcl-package->ecl-package sbcl-prove))
2644
2645 (define-public sbcl-proc-parse
2646 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2647 (package
2648 (name "sbcl-proc-parse")
2649 (version (git-version "0.0.0" "1" commit))
2650 (source
2651 (origin
2652 (method git-fetch)
2653 (uri (git-reference
2654 (url "https://github.com/fukamachi/proc-parse")
2655 (commit commit)))
2656 (sha256
2657 (base32
2658 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2659 (file-name (git-file-name "proc-parse" version))))
2660 (build-system asdf-build-system/sbcl)
2661 (inputs
2662 `(("alexandria" ,sbcl-alexandria)
2663 ("babel" ,sbcl-babel)))
2664 (native-inputs
2665 `(("prove" ,sbcl-prove)))
2666 (arguments
2667 ;; TODO: Tests don't find "proc-parse-test", why?
2668 `(#:tests? #f))
2669 (synopsis "Procedural vector parser")
2670 (description
2671 "This is a string/octets parser library for Common Lisp with speed and
2672 readability in mind. Unlike other libraries, the code is not a
2673 pattern-matching-like, but a char-by-char procedural parser.")
2674 (home-page "https://github.com/fukamachi/proc-parse")
2675 (license license:bsd-2))))
2676
2677 (define-public cl-proc-parse
2678 (sbcl-package->cl-source-package sbcl-proc-parse))
2679
2680 (define-public ecl-proc-parse
2681 (sbcl-package->ecl-package sbcl-proc-parse))
2682
2683 (define-public sbcl-parse-float
2684 (let ((commit "3074765101e41222b6b624a66aaf1e6416379f9c")
2685 (revision "2"))
2686 (package
2687 (name "sbcl-parse-float")
2688 (version (git-version "0.0.0" revision commit))
2689 (source
2690 (origin
2691 (method git-fetch)
2692 (uri (git-reference
2693 (url "https://github.com/soemraws/parse-float")
2694 (commit commit)))
2695 (sha256
2696 (base32 "0jd2spawc3v8vzqf8ky4cngl45jm65fhkrdf20mf6dcbn3mzpkmr"))
2697 (file-name (git-file-name "proc-parse" version))))
2698 (build-system asdf-build-system/sbcl)
2699 (arguments
2700 ;; FIXME: https://github.com/soemraws/parse-float/issues/12
2701 `(#:asd-systems '("parse-float" "parse-float-tests")))
2702 (native-inputs
2703 `(("lisp-unit" ,sbcl-lisp-unit)))
2704 (inputs
2705 `(("alexandria" ,sbcl-alexandria)))
2706 (home-page "https://github.com/soemraws/parse-float")
2707 (synopsis "Parse a floating point value from a string in Common Lisp")
2708 (description
2709 "This package exports the following function to parse floating-point
2710 values from a string in Common Lisp.")
2711 (license license:public-domain))))
2712
2713 (define-public cl-parse-float
2714 (sbcl-package->cl-source-package sbcl-parse-float))
2715
2716 (define-public ecl-parse-float
2717 (sbcl-package->ecl-package sbcl-parse-float))
2718
2719 (define-public sbcl-cl-string-match
2720 (let ((revision "1")
2721 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2722 (package
2723 (name "sbcl-cl-string-match")
2724 (version (git-version "0" revision changeset))
2725 (source
2726 (origin
2727 (method hg-fetch)
2728 (uri (hg-reference
2729 (url "https://bitbucket.org/vityok/cl-string-match/")
2730 (changeset changeset)))
2731 (sha256
2732 (base32
2733 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2734 (file-name (git-file-name "cl-string-match" version))))
2735 (build-system asdf-build-system/sbcl)
2736 (inputs
2737 `(("alexandria" ,sbcl-alexandria)
2738 ("babel" ,sbcl-babel)
2739 ("iterate" ,sbcl-iterate)
2740 ("jpl-queues" ,sbcl-jpl-queues)
2741 ("jpl-util" ,sbcl-jpl-util)
2742 ("mgl-pax" ,sbcl-mgl-pax)
2743 ("parse-float" ,sbcl-parse-float)
2744 ("proc-parse" ,sbcl-proc-parse)
2745 ("yacc" ,sbcl-cl-yacc)))
2746 ;; TODO: Tests are not evaluated properly.
2747 (native-inputs
2748 ;; For testing:
2749 `(("lisp-unit" ,sbcl-lisp-unit)))
2750 (arguments
2751 `(#:tests? #f))
2752 (synopsis "Set of utilities to manipulate strings in Common Lisp")
2753 (description
2754 "@command{cl-strings} is a small, portable, dependency-free set of
2755 utilities that make it even easier to manipulate text in Common Lisp. It has
2756 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
2757 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2758 (license license:bsd-3))))
2759
2760 (define-public cl-string-match
2761 (sbcl-package->cl-source-package sbcl-cl-string-match))
2762
2763 (define-public ecl-cl-string-match
2764 (sbcl-package->ecl-package sbcl-cl-string-match))
2765
2766 (define-public sbcl-ptester
2767 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2768 (revision "1"))
2769 (package
2770 (name "sbcl-ptester")
2771 (version (git-version "2.1.3" revision commit))
2772 (source
2773 (origin
2774 (method git-fetch)
2775 (uri (git-reference
2776 (url "http://git.kpe.io/ptester.git")
2777 (commit commit)))
2778 (file-name (git-file-name name version))
2779 (sha256
2780 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2781 (build-system asdf-build-system/sbcl)
2782 (home-page "http://quickdocs.org/ptester/")
2783 (synopsis "Portable test harness package")
2784 (description
2785 "@command{ptester} is a portable testing framework based on Franz's
2786 tester module.")
2787 (license license:llgpl))))
2788
2789 (define-public cl-ptester
2790 (sbcl-package->cl-source-package sbcl-ptester))
2791
2792 (define-public ecl-ptester
2793 (sbcl-package->ecl-package sbcl-ptester))
2794
2795 (define-public sbcl-puri
2796 (let ((commit "4bbab89d9ccbb26346899d1f496c97604fec567b")
2797 (revision "2"))
2798 (package
2799 (name "sbcl-puri")
2800 (version (git-version "1.5.7" revision commit))
2801 (source
2802 (origin
2803 (method git-fetch)
2804 (uri (git-reference
2805 (url "http://git.kpe.io/puri.git")
2806 (commit commit)))
2807 (file-name (git-file-name "puri" version))
2808 (sha256
2809 (base32 "0gq2rsr0aihs0z20v4zqvmdl4szq53b52rh97pvnmwrlbn4mapmd"))))
2810 (build-system asdf-build-system/sbcl)
2811 (native-inputs
2812 `(("ptester" ,sbcl-ptester)))
2813 (home-page "http://puri.kpe.io/")
2814 (synopsis "Portable URI Library")
2815 (description
2816 "This is a portable Universal Resource Identifier library for Common
2817 Lisp programs. It parses URI according to the RFC 2396 specification.")
2818 (license license:llgpl))))
2819
2820 (define-public cl-puri
2821 (sbcl-package->cl-source-package sbcl-puri))
2822
2823 (define-public ecl-puri
2824 (sbcl-package->ecl-package sbcl-puri))
2825
2826 (define-public sbcl-qmynd
2827 (let ((commit "7e56daf73f0ed5f49a931c01af75fb874bcf3445")
2828 (revision "1"))
2829 (package
2830 (name "sbcl-qmynd")
2831 (version (git-version "1.0.0" revision commit))
2832 (source
2833 (origin
2834 (method git-fetch)
2835 (uri (git-reference
2836 (url "https://github.com/qitab/qmynd")
2837 (commit commit)))
2838 (file-name (git-file-name name version))
2839 (sha256
2840 (base32
2841 "06gw5wxcpdclb6a5i5k9lbmdlyqsp182czrm9bm1cpklzbj0ihrl"))))
2842 (build-system asdf-build-system/sbcl)
2843 (inputs
2844 `(("asdf-finalizers" ,sbcl-asdf-finalizers)
2845 ("babel" ,sbcl-babel)
2846 ("chipz" ,sbcl-chipz)
2847 ("cl+ssl" ,sbcl-cl+ssl)
2848 ("flexi-streams" ,sbcl-flexi-streams)
2849 ("ironclad" ,sbcl-ironclad)
2850 ("salza2" ,sbcl-salza2)
2851 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
2852 ("usocket" ,sbcl-usocket)))
2853 (home-page "https://github.com/qitab/qmynd")
2854 (synopsis "QITAB MySQL Native Driver for Common Lisp")
2855 (description "QMyND, the QITAB MySQL Native Driver, is a MySQL client
2856 library that directly talks to a MySQL server in its native network protocol.
2857
2858 It's a part of QITAB umbrella project.")
2859 (license license:expat))))
2860
2861 (define-public ecl-qmynd
2862 (sbcl-package->ecl-package sbcl-qmynd))
2863
2864 (define-public cl-qmynd
2865 (sbcl-package->cl-source-package sbcl-qmynd))
2866
2867 (define-public sbcl-queues
2868 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2869 (package
2870 (name "sbcl-queues")
2871 (version (git-version "0.0.0" "1" commit))
2872 (source
2873 (origin
2874 (method git-fetch)
2875 (uri (git-reference
2876 (url "https://github.com/oconnore/queues")
2877 (commit commit)))
2878 (file-name (git-file-name "queues" version))
2879 (sha256
2880 (base32
2881 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2882 (build-system asdf-build-system/sbcl)
2883 (inputs
2884 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
2885 (arguments
2886 '(#:asd-systems '("queues"
2887 "queues.simple-queue"
2888 "queues.simple-cqueue"
2889 "queues.priority-queue"
2890 "queues.priority-cqueue")))
2891 (home-page "https://github.com/oconnore/queues")
2892 (synopsis "Common Lisp queue library")
2893 (description
2894 "This is a simple queue library for Common Lisp with features such as
2895 non-consing thread safe queues and fibonacci priority queues.")
2896 (license license:expat))))
2897
2898 (define-public cl-queues
2899 (sbcl-package->cl-source-package sbcl-queues))
2900
2901 (define-public ecl-queues
2902 (sbcl-package->ecl-package sbcl-queues))
2903
2904 (define-public sbcl-glsl-packing
2905 (let ((commit "03628159468a8e5b7f2a1d5e78b77053e136794a")
2906 (revision "1"))
2907 (package
2908 (name "sbcl-glsl-packing")
2909 (version (git-version "0.0.0" revision commit))
2910 (source
2911 (origin
2912 (method git-fetch)
2913 (uri (git-reference
2914 (url "https://github.com/3b/glsl-packing/")
2915 (commit commit)))
2916 (file-name (git-file-name "glsl-packing" version))
2917 (sha256
2918 (base32 "0k2f1771wd9kdrcasldy1r00k5bdgi9fd07in52zmjggc0i7dd80"))))
2919 (build-system asdf-build-system/sbcl)
2920 (inputs
2921 `(("alexandria" ,sbcl-alexandria)))
2922 (home-page "https://github.com/3b/glsl-packing/")
2923 (synopsis "Common Lisp utilities to calculate OpenGL layouts")
2924 (description
2925 "This is a Common Lisp library to calculate std140 or std430 layouts for
2926 a glsl UBO/SSBO.")
2927 (license license:expat))))
2928
2929 (define-public ecl-glsl-packing
2930 (sbcl-package->ecl-package sbcl-glsl-packing))
2931
2932 (define-public cl-glsl-packing
2933 (sbcl-package->cl-source-package sbcl-glsl-packing))
2934
2935 (define-public sbcl-glsl-spec
2936 (let ((commit "f04476f7da89355ae6856b33283c60ba95c6555d")
2937 (revision "1"))
2938 (package
2939 (name "sbcl-glsl-spec")
2940 (version (git-version "0.0.0" revision commit))
2941 (source
2942 (origin
2943 (method git-fetch)
2944 (uri (git-reference
2945 (url "https://github.com/cbaggers/glsl-spec")
2946 (commit commit)))
2947 (file-name (git-file-name "glsl-spec" version))
2948 (sha256
2949 (base32 "01ipspr22fgfj3w8wq2y81lzrjc4vpfiwnr3dqhjlpzzra46am8c"))))
2950 (build-system asdf-build-system/sbcl)
2951 (arguments
2952 `(#:asd-systems '("glsl-spec" "glsl-symbols" "glsl-docs")))
2953 (home-page "https://github.com/cbaggers/glsl-spec")
2954 (synopsis "Common Lisp GLSL specification as a datastructure")
2955 (description
2956 "This package contains the specification of all functions and variables
2957 from GLSL as data.")
2958 (license license:unlicense))))
2959
2960 (define-public ecl-glsl-spec
2961 (sbcl-package->ecl-package sbcl-glsl-spec))
2962
2963 (define-public cl-glsl-spec
2964 (sbcl-package->cl-source-package sbcl-glsl-spec))
2965
2966 (define-public sbcl-rtg-math
2967 (let ((commit "29fc5b3d0028a4a11a82355ecc8cca62662c69e0")
2968 (revision "1"))
2969 (package
2970 (name "sbcl-rtg-math")
2971 (version (git-version "0.0.0" revision commit))
2972 (source
2973 (origin
2974 (method git-fetch)
2975 (uri (git-reference
2976 (url "https://github.com/cbaggers/rtg-math")
2977 (commit commit)))
2978 (file-name (git-file-name "rtg-math" version))
2979 (sha256
2980 (base32 "0bhxxnv7ldkkb18zdxyz2rj2a3iawzq2kcp7cn5i91iby7n0082x"))))
2981 (build-system asdf-build-system/sbcl)
2982 (inputs
2983 `(("alexandria" ,sbcl-alexandria)
2984 ("documentation-utils" ,sbcl-documentation-utils)
2985 ("glsl-symbols" ,sbcl-glsl-spec)))
2986 (home-page "https://github.com/cbaggers/rtg-math")
2987 (synopsis "Common Lisp library of game-related math functions")
2988 (description
2989 "RTG-MATH provides a selection of the math routines most commonly needed
2990 for making realtime graphics in Lisp.")
2991 (license license:bsd-2))))
2992
2993 (define-public ecl-rtg-math
2994 (sbcl-package->ecl-package sbcl-rtg-math))
2995
2996 (define-public cl-rtg-math
2997 (sbcl-package->cl-source-package sbcl-rtg-math))
2998
2999 (define-public sbcl-varjo
3000 (let ((commit "9e77f30220053155d2ef8870ceba157f75e538d4")
3001 (revision "1"))
3002 (package
3003 (name "sbcl-varjo")
3004 (version (git-version "0.0.0" revision commit))
3005 (source
3006 (origin
3007 (method git-fetch)
3008 (uri (git-reference
3009 (url "https://github.com/cbaggers/varjo")
3010 (commit commit)))
3011 (file-name (git-file-name "varjo" version))
3012 (sha256
3013 (base32 "1p9x1wj576x5d31yvls9r1avkjkyhri7kyxbjfkg9z93a1w18j9z"))))
3014 (build-system asdf-build-system/sbcl)
3015 (native-inputs
3016 `(("fiveam" ,sbcl-fiveam)))
3017 (inputs
3018 `(("alexandria" ,sbcl-alexandria)
3019 ("cl-ppcre" ,sbcl-cl-ppcre)
3020 ("documentation-utils" ,sbcl-documentation-utils)
3021 ("fn" ,sbcl-fn)
3022 ("glsl-spec" ,sbcl-glsl-spec)
3023 ("named-readtables" ,sbcl-named-readtables)
3024 ("parse-float" ,sbcl-parse-float)
3025 ("vas-string-metrics" ,sbcl-vas-string-metrics)))
3026 (home-page "https://github.com/cbaggers/varjo")
3027 (synopsis "Lisp to GLSL Language Translator")
3028 (description
3029 "Varjo is a Lisp to GLSL compiler. Vari is the dialect of lisp Varjo
3030 compiles. It aims to be as close to Common Lisp as possible, but naturally it
3031 is statically typed so there are differences.")
3032 (license license:bsd-2))))
3033
3034 (define-public ecl-varjo
3035 (sbcl-package->ecl-package sbcl-varjo))
3036
3037 (define-public cl-varjo
3038 (sbcl-package->cl-source-package sbcl-varjo))
3039
3040 (define-public sbcl-cffi
3041 (package
3042 (name "sbcl-cffi")
3043 (version "0.23.0")
3044 (source
3045 (origin
3046 (method git-fetch)
3047 (uri (git-reference
3048 (url "https://github.com/cffi/cffi")
3049 (commit (string-append "v" version))))
3050 (file-name (git-file-name "cffi-bootstrap" version))
3051 (sha256
3052 (base32 "03s98imc5niwnpj3hhrafl7dmxq45g74h96sm68976k7ahi3vl5b"))))
3053 (build-system asdf-build-system/sbcl)
3054 (inputs
3055 `(("alexandria" ,sbcl-alexandria)
3056 ("babel" ,sbcl-babel)
3057 ("libffi" ,libffi)
3058 ("trivial-features" ,sbcl-trivial-features)))
3059 (native-inputs
3060 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3061 ("pkg-config" ,pkg-config)
3062 ("rt" ,sbcl-rt)))
3063 (arguments
3064 '(#:phases
3065 (modify-phases %standard-phases
3066 (add-after 'unpack 'fix-arm-support
3067 (lambda _
3068 ;; This is apparently deprecated since libffi-3.3.
3069 (substitute* "libffi/libffi-types.lisp"
3070 (("\\\(\\\(:unix64.*") ")\n"))
3071 #t))
3072 (add-after 'unpack 'fix-paths
3073 (lambda* (#:key inputs #:allow-other-keys)
3074 (substitute* "libffi/libffi.lisp"
3075 (("libffi.so.7" all) (string-append
3076 (assoc-ref inputs "libffi")
3077 "/lib/" all)))
3078 (substitute* "toolchain/c-toolchain.lisp"
3079 (("\"cc\"") (format #f "~S" (which "gcc"))))))
3080 (add-after 'build 'install-headers
3081 (lambda* (#:key outputs #:allow-other-keys)
3082 (install-file "grovel/common.h"
3083 (string-append
3084 (assoc-ref outputs "out")
3085 "/include/grovel")))))
3086 #:asd-files '("cffi.asd"
3087 "cffi-toolchain.asd"
3088 "cffi-grovel.asd"
3089 "cffi-libffi.asd"
3090 "cffi-uffi-compat.asd")
3091 #:asd-systems '("cffi"
3092 "cffi-libffi"
3093 "cffi-uffi-compat")))
3094 (home-page "https://common-lisp.net/project/cffi/")
3095 (synopsis "Common Foreign Function Interface for Common Lisp")
3096 (description "The Common Foreign Function Interface (CFFI)
3097 purports to be a portable foreign function interface for Common Lisp.
3098 The CFFI library is composed of a Lisp-implementation-specific backend
3099 in the CFFI-SYS package, and a portable frontend in the CFFI
3100 package.")
3101 (license license:expat)))
3102
3103 (define-public cl-cffi
3104 (sbcl-package->cl-source-package sbcl-cffi))
3105
3106 (define-public ecl-cffi
3107 (sbcl-package->ecl-package sbcl-cffi))
3108
3109 (define-public sbcl-cffi-c-ref
3110 (let ((commit "8123cbb6034c5f7921a0766107cfb8c4e8efd5ce")
3111 (revision "0"))
3112 (package
3113 (name "sbcl-cffi-c-ref")
3114 (version (git-version "1.0" revision commit))
3115 (source
3116 (origin
3117 (method git-fetch)
3118 (uri (git-reference
3119 (url "https://github.com/borodust/cffi-c-ref")
3120 (commit commit)))
3121 (sha256
3122 (base32 "1a3pp6xcisabqir3rp1gvvjfdxcvpm8yr35p38nri9azsinmmc7z"))
3123 (file-name (git-file-name "cffi-c-ref" version))))
3124 (build-system asdf-build-system/sbcl)
3125 (inputs
3126 `(("alexandria" ,sbcl-alexandria)
3127 ("cffi" ,sbcl-cffi)))
3128 (synopsis "Streamlined access to foreign memory")
3129 (description
3130 "This Common Lisp library provides macros to access foreign memory.")
3131 (home-page "https://github.com/borodust/cffi-c-ref")
3132 (license license:expat))))
3133
3134 (define-public cl-cffi-c-ref
3135 (sbcl-package->cl-source-package sbcl-cffi-c-ref))
3136
3137 (define-public ecl-cffi-c-ref
3138 (sbcl-package->ecl-package sbcl-cffi-c-ref))
3139
3140 (define-public sbcl-cl-sqlite
3141 (package
3142 (name "sbcl-cl-sqlite")
3143 (version "0.2.1")
3144 (source
3145 (origin
3146 (method git-fetch)
3147 (uri (git-reference
3148 (url "https://github.com/dmitryvk/cl-sqlite")
3149 (commit version)))
3150 (file-name (git-file-name "cl-sqlite" version))
3151 (sha256
3152 (base32
3153 "08iv7b4m0hh7qx2cvq4f510nrgdld0vicnvmqsh9w0fgrcgmyg4k"))))
3154 (build-system asdf-build-system/sbcl)
3155 (inputs
3156 `(("iterate" ,sbcl-iterate)
3157 ("cffi" ,sbcl-cffi)
3158 ("sqlite" ,sqlite)))
3159 (native-inputs
3160 `(("fiveam" ,sbcl-fiveam)
3161 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
3162 (arguments
3163 `(#:asd-systems '("sqlite")
3164 #:phases
3165 (modify-phases %standard-phases
3166 (add-after 'unpack 'fix-paths
3167 (lambda* (#:key inputs #:allow-other-keys)
3168 (substitute* "sqlite-ffi.lisp"
3169 (("libsqlite3" all) (string-append
3170 (assoc-ref inputs "sqlite")"/lib/" all))))))))
3171 (home-page "https://common-lisp.net/project/cl-sqlite/")
3172 (synopsis "Common Lisp binding for SQLite")
3173 (description
3174 "The @command{cl-sqlite} package is an interface to the SQLite embedded
3175 relational database engine.")
3176 (license license:public-domain)))
3177
3178 (define-public cl-sqlite
3179 (sbcl-package->cl-source-package sbcl-cl-sqlite))
3180
3181 (define-public ecl-cl-sqlite
3182 (sbcl-package->ecl-package sbcl-cl-sqlite))
3183
3184 (define-public sbcl-parenscript
3185 ;; Source archives are overwritten on every release, we use the Git repo instead.
3186 (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766"))
3187 (package
3188 (name "sbcl-parenscript")
3189 (version (git-version "2.7.1" "1" commit))
3190 (source
3191 (origin
3192 (method git-fetch)
3193 (uri (git-reference
3194 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
3195 (commit commit)))
3196 (file-name (git-file-name "parenscript" version))
3197 (sha256
3198 (base32
3199 "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf"))))
3200 (build-system asdf-build-system/sbcl)
3201 (inputs
3202 `(("cl-ppcre" ,sbcl-cl-ppcre)
3203 ("anaphora" ,sbcl-anaphora)
3204 ("named-readtables" ,sbcl-named-readtables)))
3205 (home-page "https://common-lisp.net/project/parenscript/")
3206 (synopsis "Translator from a subset of Common Lisp to JavaScript")
3207 (description
3208 "Parenscript is a translator from an extended subset of Common Lisp to
3209 JavaScript. Parenscript code can run almost identically on both the
3210 browser (as JavaScript) and server (as Common Lisp).
3211
3212 Parenscript code is treated the same way as Common Lisp code, making the full
3213 power of Lisp macros available for JavaScript. This provides a web
3214 development environment that is unmatched in its ability to reduce code
3215 duplication and provide advanced meta-programming facilities to web
3216 developers.
3217
3218 At the same time, Parenscript is different from almost all other \"language
3219 X\" to JavaScript translators in that it imposes almost no overhead:
3220
3221 @itemize
3222 @item No run-time dependencies: Any piece of Parenscript code is runnable
3223 as-is. There are no JavaScript files to include.
3224 @item Native types: Parenscript works entirely with native JavaScript data
3225 types. There are no new types introduced, and object prototypes are not
3226 touched.
3227 @item Native calling convention: Any JavaScript code can be called without the
3228 need for bindings. Likewise, Parenscript can be used to make efficient,
3229 self-contained JavaScript libraries.
3230 @item Readable code: Parenscript generates concise, formatted, idiomatic
3231 JavaScript code. Identifier names are preserved. This enables seamless
3232 debugging in tools like Firebug.
3233 @item Efficiency: Parenscript introduces minimal overhead for advanced Common
3234 Lisp features. The generated code is almost as fast as hand-written
3235 JavaScript.
3236 @end itemize\n")
3237 (license license:bsd-3))))
3238
3239 (define-public cl-parenscript
3240 (sbcl-package->cl-source-package sbcl-parenscript))
3241
3242 (define-public ecl-parenscript
3243 (sbcl-package->ecl-package sbcl-parenscript))
3244
3245 (define-public sbcl-cl-json
3246 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
3247 (package
3248 (name "sbcl-cl-json")
3249 (version (git-version "0.5" "1" commit))
3250 (source
3251 (origin
3252 (method git-fetch)
3253 (uri (git-reference
3254 (url "https://github.com/hankhero/cl-json")
3255 (commit commit)))
3256 (file-name (git-file-name "cl-json" version))
3257 (sha256
3258 (base32
3259 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
3260 (build-system asdf-build-system/sbcl)
3261 (native-inputs
3262 `(("fiveam" ,sbcl-fiveam)))
3263 (home-page "https://github.com/hankhero/cl-json")
3264 (synopsis "JSON encoder and decoder for Common-Lisp")
3265 (description
3266 "@command{cl-json} provides an encoder of Lisp objects to JSON format
3267 and a corresponding decoder of JSON data to Lisp objects. Both the encoder
3268 and the decoder are highly customizable; at the same time, the default
3269 settings ensure a very simple mode of operation, similar to that provided by
3270 @command{yason} or @command{st-json}.")
3271 (license license:expat))))
3272
3273 (define-public cl-json
3274 (sbcl-package->cl-source-package sbcl-cl-json))
3275
3276 (define-public ecl-cl-json
3277 (sbcl-package->ecl-package sbcl-cl-json))
3278
3279 (define-public sbcl-unix-opts
3280 (package
3281 (name "sbcl-unix-opts")
3282 (version "0.1.7")
3283 (source
3284 (origin
3285 (method git-fetch)
3286 (uri (git-reference
3287 (url "https://github.com/libre-man/unix-opts")
3288 (commit version)))
3289 (file-name (git-file-name "unix-opts" version))
3290 (sha256
3291 (base32
3292 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
3293 (build-system asdf-build-system/sbcl)
3294 (home-page "https://github.com/hankhero/cl-json")
3295 (synopsis "Unix-style command line options parser")
3296 (description
3297 "This is a minimalistic parser of command line options. The main
3298 advantage of the library is the ability to concisely define command line
3299 options once and then use this definition for parsing and extraction of
3300 command line arguments, as well as printing description of command line
3301 options (you get --help for free). This way you don't need to repeat
3302 yourself. Also, @command{unix-opts} doesn't depend on anything and
3303 precisely controls the behavior of the parser via Common Lisp restarts.")
3304 (license license:expat)))
3305
3306 (define-public cl-unix-opts
3307 (sbcl-package->cl-source-package sbcl-unix-opts))
3308
3309 (define-public ecl-unix-opts
3310 (sbcl-package->ecl-package sbcl-unix-opts))
3311
3312 (define-public sbcl-trivial-garbage
3313 (package
3314 (name "sbcl-trivial-garbage")
3315 (version "0.21")
3316 (source
3317 (origin
3318 (method git-fetch)
3319 (uri (git-reference
3320 (url "https://github.com/trivial-garbage/trivial-garbage")
3321 (commit (string-append "v" version))))
3322 (file-name (git-file-name "trivial-garbage" version))
3323 (sha256
3324 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
3325 (build-system asdf-build-system/sbcl)
3326 (native-inputs
3327 `(("rt" ,sbcl-rt)))
3328 (home-page "https://common-lisp.net/project/trivial-garbage/")
3329 (synopsis "Portable GC-related APIs for Common Lisp")
3330 (description "@command{trivial-garbage} provides a portable API to
3331 finalizers, weak hash-tables and weak pointers on all major implementations of
3332 the Common Lisp programming language.")
3333 (license license:public-domain)))
3334
3335 (define-public cl-trivial-garbage
3336 (sbcl-package->cl-source-package sbcl-trivial-garbage))
3337
3338 (define-public ecl-trivial-garbage
3339 (sbcl-package->ecl-package sbcl-trivial-garbage))
3340
3341 (define-public sbcl-closer-mop
3342 (let ((commit "19c9d33f576e10715fd79cc1d4f688dab0f241d6"))
3343 (package
3344 (name "sbcl-closer-mop")
3345 (version (git-version "1.0.0" "2" commit))
3346 (source
3347 (origin
3348 (method git-fetch)
3349 (uri (git-reference
3350 (url "https://github.com/pcostanza/closer-mop")
3351 (commit commit)))
3352 (sha256
3353 (base32 "1w3x087wvlwkd6swfdgbvjfs6kazf0la8ax4pjfzikwjch4snn2c"))
3354 (file-name (git-file-name "closer-mop" version ))))
3355 (build-system asdf-build-system/sbcl)
3356 (home-page "https://github.com/pcostanza/closer-mop")
3357 (synopsis "Rectifies absent or incorrect CLOS MOP features")
3358 (description "Closer to MOP is a compatibility layer that rectifies many
3359 of the absent or incorrect CLOS MOP features across a broad range of Common
3360 Lisp implementations.")
3361 (license license:expat))))
3362
3363 (define-public cl-closer-mop
3364 (sbcl-package->cl-source-package sbcl-closer-mop))
3365
3366 (define-public ecl-closer-mop
3367 (sbcl-package->ecl-package sbcl-closer-mop))
3368
3369 (define-public sbcl-cl-cffi-gtk
3370 (let ((commit "e9a46df65995d9a16e6c8dbdc1e09b775eb4a966"))
3371 (package
3372 (name "sbcl-cl-cffi-gtk")
3373 (version (git-version "0.11.2" "2" commit))
3374 (source
3375 (origin
3376 (method git-fetch)
3377 (uri (git-reference
3378 (url "https://github.com/Ferada/cl-cffi-gtk/")
3379 (commit commit)))
3380 (file-name (git-file-name "cl-cffi-gtk" version))
3381 (sha256
3382 (base32
3383 "04vix0gmqsj91lm975sx7jhlnz5gq1xf9jp873mp7c8frc5dk1jj"))))
3384 (build-system asdf-build-system/sbcl)
3385 (native-inputs
3386 `(("fiveam" ,sbcl-fiveam)))
3387 (inputs
3388 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3389 ("cairo" ,cairo)
3390 ("cffi" ,sbcl-cffi)
3391 ("closer-mop" ,sbcl-closer-mop)
3392 ("gdk-pixbuf" ,gdk-pixbuf)
3393 ("glib" ,glib)
3394 ("gtk" ,gtk+)
3395 ("iterate" ,sbcl-iterate)
3396 ("pango" ,pango)
3397 ("trivial-features" ,sbcl-trivial-features)
3398 ("trivial-garbage" ,sbcl-trivial-garbage)))
3399 (arguments
3400 `(#:asd-files '("gtk/cl-cffi-gtk.asd"
3401 "glib/cl-cffi-gtk-glib.asd"
3402 "gobject/cl-cffi-gtk-gobject.asd"
3403 "gio/cl-cffi-gtk-gio.asd"
3404 "cairo/cl-cffi-gtk-cairo.asd"
3405 "pango/cl-cffi-gtk-pango.asd"
3406 "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
3407 "gdk/cl-cffi-gtk-gdk.asd")
3408 #:test-asd-file "test/cl-cffi-gtk-test.asd"
3409 ;; TODO: Tests fail with memory fault.
3410 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
3411 #:tests? #f
3412 #:phases
3413 (modify-phases %standard-phases
3414 (add-after 'unpack 'fix-paths
3415 (lambda* (#:key inputs #:allow-other-keys)
3416 (substitute* "glib/glib.init.lisp"
3417 (("libglib|libgthread" all)
3418 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3419 (substitute* "gobject/gobject.init.lisp"
3420 (("libgobject" all)
3421 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3422 (substitute* "gio/gio.init.lisp"
3423 (("libgio" all)
3424 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3425 (substitute* "cairo/cairo.init.lisp"
3426 (("libcairo" all)
3427 (string-append (assoc-ref inputs "cairo") "/lib/" all)))
3428 (substitute* "pango/pango.init.lisp"
3429 (("libpango" all)
3430 (string-append (assoc-ref inputs "pango") "/lib/" all)))
3431 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
3432 (("libgdk_pixbuf" all)
3433 (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))
3434 (substitute* "gdk/gdk.init.lisp"
3435 (("libgdk" all)
3436 (string-append (assoc-ref inputs "gtk") "/lib/" all)))
3437 (substitute* "gdk/gdk.package.lisp"
3438 (("libgtk" all)
3439 (string-append (assoc-ref inputs "gtk") "/lib/" all))))))))
3440 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
3441 (synopsis "Common Lisp binding for GTK+3")
3442 (description
3443 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
3444 is a library for creating graphical user interfaces.")
3445 (license license:lgpl3))))
3446
3447 (define-public cl-cffi-gtk
3448 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
3449
3450 (define-public ecl-cl-cffi-gtk
3451 (sbcl-package->ecl-package sbcl-cl-cffi-gtk))
3452
3453 (define-public sbcl-cl-webkit
3454 (let ((commit "9ead3cac1382154fe03c61a1cabd483a8e5dfbfb"))
3455 (package
3456 (name "sbcl-cl-webkit")
3457 (version (git-version "2.4" "14" commit))
3458 (source
3459 (origin
3460 (method git-fetch)
3461 (uri (git-reference
3462 (url "https://github.com/joachifm/cl-webkit")
3463 (commit commit)))
3464 (file-name (git-file-name "cl-webkit" version))
3465 (sha256
3466 (base32
3467 "1brrd9ha5j3z2p8nf0mbw25pslhj3cdqjljff8ignr5idq3ggsd1"))))
3468 (build-system asdf-build-system/sbcl)
3469 (inputs
3470 `(("cffi" ,sbcl-cffi)
3471 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3472 ("webkitgtk" ,webkitgtk)))
3473 (arguments
3474 `(#:asd-systems '("cl-webkit2")
3475 #:phases
3476 (modify-phases %standard-phases
3477 (add-after 'unpack 'fix-paths
3478 (lambda* (#:key inputs #:allow-other-keys)
3479 (substitute* "webkit2/webkit2.init.lisp"
3480 (("libwebkit2gtk" all)
3481 (string-append
3482 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
3483 (home-page "https://github.com/joachifm/cl-webkit")
3484 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3485 (description
3486 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3487 currently targeting WebKit version 2. The WebKitGTK+ library adds web
3488 browsing capabilities to an application, leveraging the full power of the
3489 WebKit browsing engine.")
3490 (license license:expat))))
3491
3492 (define-public cl-webkit
3493 (sbcl-package->cl-source-package sbcl-cl-webkit))
3494
3495 (define-public ecl-cl-webkit
3496 (sbcl-package->ecl-package sbcl-cl-webkit))
3497
3498 (define-public sbcl-lparallel
3499 (package
3500 (name "sbcl-lparallel")
3501 (version "2.8.4")
3502 (source
3503 (origin
3504 (method git-fetch)
3505 (uri (git-reference
3506 (url "https://github.com/lmj/lparallel/")
3507 (commit (string-append "lparallel-" version))))
3508 (file-name (git-file-name "lparallel" version))
3509 (sha256
3510 (base32
3511 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3512 (build-system asdf-build-system/sbcl)
3513 (inputs
3514 `(("alexandria" ,sbcl-alexandria)
3515 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3516 ("trivial-garbage" ,sbcl-trivial-garbage)))
3517 (arguments
3518 `(#:phases
3519 (modify-phases %standard-phases
3520 (add-after 'unpack 'fix-dependency
3521 ;; lparallel loads a SBCL specific system in its asd file. This is
3522 ;; not carried over into the fasl which is generated. In order for
3523 ;; it to be carried over, it needs to be listed as a dependency.
3524 (lambda _
3525 (substitute* "lparallel.asd"
3526 ((":depends-on \\(:alexandria" all)
3527 (string-append all " #+sbcl :sb-cltl2"))))))))
3528 (home-page "https://lparallel.org/")
3529 (synopsis "Parallelism for Common Lisp")
3530 (description
3531 "@command{lparallel} is a library for parallel programming in Common
3532 Lisp, featuring:
3533
3534 @itemize
3535 @item a simple model of task submission with receiving queue,
3536 @item constructs for expressing fine-grained parallelism,
3537 @item asynchronous condition handling across thread boundaries,
3538 @item parallel versions of map, reduce, sort, remove, and many others,
3539 @item promises, futures, and delayed evaluation constructs,
3540 @item computation trees for parallelizing interconnected tasks,
3541 @item bounded and unbounded FIFO queues,
3542 @item high and low priority tasks,
3543 @item task killing by category,
3544 @item integrated timeouts.
3545 @end itemize\n")
3546 (license license:expat)))
3547
3548 (define-public cl-lparallel
3549 (sbcl-package->cl-source-package sbcl-lparallel))
3550
3551 (define-public ecl-lparallel
3552 (package
3553 (inherit (sbcl-package->ecl-package sbcl-lparallel))
3554 (arguments
3555 ;; TODO: Find why the tests get stuck forever; disable them for now.
3556 `(#:tests? #f))))
3557
3558 (define-public sbcl-cl-markup
3559 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3560 (package
3561 (name "sbcl-cl-markup")
3562 (version (git-version "0.1" "1" commit))
3563 (source
3564 (origin
3565 (method git-fetch)
3566 (uri (git-reference
3567 (url "https://github.com/arielnetworks/cl-markup/")
3568 (commit commit)))
3569 (file-name (git-file-name "cl-markup" version))
3570 (sha256
3571 (base32
3572 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3573 (build-system asdf-build-system/sbcl)
3574 (home-page "https://github.com/arielnetworks/cl-markup/")
3575 (synopsis "Markup generation library for Common Lisp")
3576 (description
3577 "A modern markup generation library for Common Lisp that features:
3578
3579 @itemize
3580 @item Fast (even faster through compiling the code)
3581 @item Safety
3582 @item Support for multiple document types (markup, xml, html, html5, xhtml)
3583 @item Output with doctype
3584 @item Direct output to stream
3585 @end itemize\n")
3586 (license license:lgpl3+))))
3587
3588 (define-public cl-markup
3589 (sbcl-package->cl-source-package sbcl-cl-markup))
3590
3591 (define-public ecl-cl-markup
3592 (sbcl-package->ecl-package sbcl-cl-markup))
3593
3594 (define-public sbcl-cl-mustache
3595 (package
3596 (name "sbcl-cl-mustache")
3597 (version "0.12.1")
3598 (source
3599 (origin
3600 (method git-fetch)
3601 (uri (git-reference
3602 (url "https://github.com/kanru/cl-mustache")
3603 (commit (string-append "v" version))))
3604 (file-name (git-file-name "cl-mustache" version))
3605 (sha256
3606 (base32 "149xbb6wxq1napliwm9cv729hwcgfnjli6y8hingfixz7f10lhks"))))
3607 (build-system asdf-build-system/sbcl)
3608 (home-page "https://github.com/kanru/cl-mustache")
3609 (synopsis "Common Lisp Mustache template renderer")
3610 (description "This is a Common Lisp implementation for the Mustache
3611 template system. More details on the standard are available at
3612 @url{https://mustache.github.io}.")
3613 (license license:expat)))
3614
3615 (define-public cl-mustache
3616 (sbcl-package->cl-source-package sbcl-cl-mustache))
3617
3618 (define-public ecl-cl-mustache
3619 (sbcl-package->ecl-package sbcl-cl-mustache))
3620
3621 (define-public sbcl-cl-css
3622 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3623 (package
3624 (name "sbcl-cl-css")
3625 (version (git-version "0.1" "1" commit))
3626 (source
3627 (origin
3628 (method git-fetch)
3629 (uri (git-reference
3630 (url "https://github.com/inaimathi/cl-css/")
3631 (commit commit)))
3632 (file-name (git-file-name "cl-css" version))
3633 (sha256
3634 (base32
3635 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3636 (build-system asdf-build-system/sbcl)
3637 (home-page "https://github.com/inaimathi/cl-css/")
3638 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3639 (description
3640 "This is a dead-simple, non validating, inline CSS generator for Common
3641 Lisp. Its goals are axiomatic syntax, simple implementation to support
3642 portability, and boilerplate reduction in CSS.")
3643 (license license:expat))))
3644
3645 (define-public cl-css
3646 (sbcl-package->cl-source-package sbcl-cl-css))
3647
3648 (define-public ecl-cl-css
3649 (sbcl-package->ecl-package sbcl-cl-css))
3650
3651 (define-public sbcl-portable-threads
3652 (let ((commit "aa26bf38338a6b068bf8bfb3375d8d8c3b0a28df"))
3653 (package
3654 (name "sbcl-portable-threads")
3655 (version (git-version "2.3" "2" commit))
3656 (source
3657 (origin
3658 (method git-fetch)
3659 (uri (git-reference
3660 (url "https://github.com/binghe/portable-threads/")
3661 (commit commit)))
3662 (file-name (git-file-name "portable-threads" version))
3663 (sha256
3664 (base32 "058ksi07vfdmhrf5mdlc833s82m1rcqfja2266520m3r8bzs8bvs"))))
3665 (build-system asdf-build-system/sbcl)
3666 (arguments
3667 `(;; Tests seem broken.
3668 #:tests? #f))
3669 (home-page "https://github.com/binghe/portable-threads")
3670 (synopsis "Portable threads API for Common Lisp")
3671 (description
3672 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3673 Lisp (from GBBopen project).")
3674 (license license:asl2.0))))
3675
3676 (define-public cl-portable-threads
3677 (sbcl-package->cl-source-package sbcl-portable-threads))
3678
3679 (define-public ecl-portable-threads
3680 (sbcl-package->ecl-package sbcl-portable-threads))
3681
3682 (define-public sbcl-usocket
3683 (package
3684 (name "sbcl-usocket")
3685 (version "0.8.3")
3686 (source
3687 (origin
3688 (method git-fetch)
3689 (uri (git-reference
3690 (url "https://github.com/usocket/usocket/")
3691 (commit (string-append "v" version))))
3692 (file-name (git-file-name "usocket" version))
3693 (sha256
3694 (base32
3695 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3696 (build-system asdf-build-system/sbcl)
3697 (native-inputs
3698 `(("rt" ,sbcl-rt)))
3699 (inputs
3700 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3701 ("split-sequence" ,sbcl-split-sequence)))
3702 (arguments
3703 `(#:tests? #f ; FIXME: Tests need network access?
3704 #:asd-systems '("usocket"
3705 "usocket-server")))
3706 (home-page "https://common-lisp.net/project/usocket/")
3707 (synopsis "Universal socket library for Common Lisp")
3708 (description
3709 "This library strives to provide a portable TCP/IP and UDP/IP socket
3710 interface for as many Common Lisp implementations as possible, while keeping
3711 the abstraction and portability layer as thin as possible.")
3712 (license license:expat)))
3713
3714 (define-public cl-usocket
3715 (sbcl-package->cl-source-package sbcl-usocket))
3716
3717 (define-public ecl-usocket
3718 (sbcl-package->ecl-package sbcl-usocket))
3719
3720 (define-public sbcl-s-xml
3721 (package
3722 (name "sbcl-s-xml")
3723 (version "3")
3724 (source
3725 (origin
3726 (method url-fetch)
3727 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3728 (sha256
3729 (base32
3730 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3731 (build-system asdf-build-system/sbcl)
3732 (home-page "https://common-lisp.net/project/s-xml/")
3733 (synopsis "Simple XML parser implemented in Common Lisp")
3734 (description
3735 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3736 parser implementation has the following features:
3737
3738 @itemize
3739 @item It works (handling many common XML usages).
3740 @item It is very small (the core is about 700 lines of code, including
3741 comments and whitespace).
3742 @item It has a core API that is simple, efficient and pure functional, much
3743 like that from SSAX (see also http://ssax.sourceforge.net).
3744 @item It supports different DOM models: an XSML-based one, an LXML-based one
3745 and a classic xml-element struct based one.
3746 @item It is reasonably time and space efficient (internally avoiding garbage
3747 generatation as much as possible).
3748 @item It does support CDATA.
3749 @item It should support the same character sets as your Common Lisp
3750 implementation.
3751 @item It does support XML name spaces.
3752 @end itemize
3753
3754 This XML parser implementation has the following limitations:
3755
3756 @itemize
3757 @item It does not support any special tags (like processing instructions).
3758 @item It is not validating, even skips DTD's all together.
3759 @end itemize\n")
3760 (license license:lgpl3+)))
3761
3762 (define-public cl-s-xml
3763 (sbcl-package->cl-source-package sbcl-s-xml))
3764
3765 (define-public ecl-s-xml
3766 (sbcl-package->ecl-package sbcl-s-xml))
3767
3768 (define-public sbcl-s-xml-rpc
3769 (package
3770 (name "sbcl-s-xml-rpc")
3771 (version "7")
3772 (source
3773 (origin
3774 (method url-fetch)
3775 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3776 (sha256
3777 (base32
3778 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3779 (build-system asdf-build-system/sbcl)
3780 (inputs
3781 `(("s-xml" ,sbcl-s-xml)))
3782 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3783 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3784 (description
3785 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3786 client and server.")
3787 (license license:lgpl3+)))
3788
3789 (define-public cl-s-xml-rpc
3790 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3791
3792 (define-public ecl-s-xml-rpc
3793 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3794
3795 (define-public sbcl-trivial-arguments
3796 (let ((commit "ecd84ed9cf9ef8f1e873d7409e6bd04979372aa7")
3797 (revision "1"))
3798 (package
3799 (name "sbcl-trivial-arguments")
3800 (version (git-version "1.1.0" revision commit))
3801 (source
3802 (origin
3803 (method git-fetch)
3804 (uri (git-reference
3805 (url "https://github.com/Shinmera/trivial-arguments")
3806 (commit commit)))
3807 (file-name (git-file-name "trivial-arguments" version))
3808 (sha256
3809 (base32 "02vaqfavhj8jqxnr68nnzvzshm8jbgcy6m9lvyv4daa6f7ihqf88"))))
3810 (build-system asdf-build-system/sbcl)
3811 (home-page "https://github.com/Shinmera/trivial-arguments")
3812 (synopsis "Common Lisp library to retrieve a function's lambda-list")
3813 (description
3814 "This is a simple library to retrieve the argument list of a function.")
3815 (license license:zlib))))
3816
3817 (define-public ecl-trivial-arguments
3818 (sbcl-package->ecl-package sbcl-trivial-arguments))
3819
3820 (define-public cl-trivial-arguments
3821 (sbcl-package->cl-source-package sbcl-trivial-arguments))
3822
3823 (define-public sbcl-trivial-clipboard
3824 (let ((commit "8a580cb97196be7cf096548eb1f46794cd22bb39"))
3825 (package
3826 (name "sbcl-trivial-clipboard")
3827 (version (git-version "0.0.0.0" "4" commit))
3828 (source
3829 (origin
3830 (method git-fetch)
3831 (uri (git-reference
3832 (url "https://github.com/snmsts/trivial-clipboard")
3833 (commit commit)))
3834 (file-name (git-file-name "trivial-clipboard" version))
3835 (sha256
3836 (base32
3837 "0apkgqrscylw3hhm5x2vs0z3hz6h7zd7dl5y3wr2zl8qjpvpc80k"))))
3838 (build-system asdf-build-system/sbcl)
3839 (inputs
3840 `(("xclip" ,xclip)))
3841 (native-inputs
3842 `(("fiveam" ,sbcl-fiveam)))
3843 (arguments
3844 `(#:phases
3845 (modify-phases %standard-phases
3846 (add-after 'unpack 'fix-paths
3847 (lambda* (#:key inputs #:allow-other-keys)
3848 (substitute* "src/text.lisp"
3849 (("\"xclip\"")
3850 (string-append "\"" (assoc-ref inputs "xclip") "/bin/xclip\""))))))))
3851 (home-page "https://github.com/snmsts/trivial-clipboard")
3852 (synopsis "Access system clipboard in Common Lisp")
3853 (description
3854 "@command{trivial-clipboard} gives access to the system clipboard.")
3855 (license license:expat))))
3856
3857 (define-public cl-trivial-clipboard
3858 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3859
3860 (define-public ecl-trivial-clipboard
3861 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3862
3863 (define-public sbcl-trivial-backtrace
3864 (let ((commit "6eb65bde7229413040c81d42ea22f0e4c9c8cfc9")
3865 (revision "1"))
3866 (package
3867 (name "sbcl-trivial-backtrace")
3868 (version (git-version "1.1.0" revision commit))
3869 (source
3870 (origin
3871 (method git-fetch)
3872 (uri (git-reference
3873 (url "https://github.com/gwkkwg/trivial-backtrace")
3874 (commit commit)))
3875 (file-name (git-file-name "trivial-backtrace" version))
3876 (sha256
3877 (base32 "1mbaqiwj5034iw6jzw30jyhwzp1pvhnz1zcy0lns0z5j2h9ldapw"))))
3878 (build-system asdf-build-system/sbcl)
3879 (native-inputs
3880 `(("sbcl-lift" ,sbcl-lift)))
3881 (arguments
3882 `(#:phases
3883 (modify-phases %standard-phases
3884 (add-after 'check 'delete-test-results
3885 (lambda* (#:key outputs #:allow-other-keys)
3886 (let ((test-results (string-append (assoc-ref outputs "out")
3887 "/share/common-lisp/"
3888 (%lisp-type)
3889 "/trivial-backtrace"
3890 "/test-results")))
3891 (when (file-exists? test-results)
3892 (delete-file-recursively test-results)))
3893 #t)))))
3894 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3895 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3896 (description
3897 "One of the many things that didn't quite get into the Common Lisp
3898 standard was how to get a Lisp to output its call stack when something has
3899 gone wrong. As such, each Lisp has developed its own notion of what to
3900 display, how to display it, and what sort of arguments can be used to
3901 customize it. @code{trivial-backtrace} is a simple solution to generating a
3902 backtrace portably.")
3903 (license license:expat))))
3904
3905 (define-public cl-trivial-backtrace
3906 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3907
3908 (define-public ecl-trivial-backtrace
3909 (sbcl-package->ecl-package sbcl-trivial-backtrace))
3910
3911 (define-public sbcl-rfc2388
3912 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3913 (revision "1"))
3914 (package
3915 (name "sbcl-rfc2388")
3916 (version (git-version "0.0.0" revision commit))
3917 (source
3918 (origin
3919 (method git-fetch)
3920 (uri (git-reference
3921 (url "https://github.com/jdz/rfc2388")
3922 (commit commit)))
3923 (file-name (git-file-name "rfc2388" version))
3924 (sha256
3925 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3926 (build-system asdf-build-system/sbcl)
3927 (home-page "https://github.com/jdz/rfc2388/")
3928 (synopsis "An implementation of RFC 2388 in Common Lisp")
3929 (description
3930 "This package contains an implementation of RFC 2388, which is used to
3931 process form data posted with HTTP POST method using enctype
3932 \"multipart/form-data\".")
3933 (license license:bsd-2))))
3934
3935 (define-public cl-rfc2388
3936 (sbcl-package->cl-source-package sbcl-rfc2388))
3937
3938 (define-public ecl-rfc2388
3939 (sbcl-package->ecl-package sbcl-rfc2388))
3940
3941 (define-public sbcl-md5
3942 (package
3943 (name "sbcl-md5")
3944 (version "2.0.4")
3945 (source
3946 (origin
3947 (method git-fetch)
3948 (uri (git-reference
3949 (url "https://github.com/pmai/md5")
3950 (commit (string-append "release-" version))))
3951 (file-name (git-file-name "md5" version))
3952 (sha256
3953 (base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
3954 (build-system asdf-build-system/sbcl)
3955 (home-page "https://github.com/pmai/md5")
3956 (synopsis
3957 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3958 (description
3959 "This package implements The MD5 Message-Digest Algorithm, as defined in
3960 RFC 1321 by R. Rivest, published April 1992.")
3961 (license license:public-domain)))
3962
3963 (define-public cl-md5
3964 (sbcl-package->cl-source-package sbcl-md5))
3965
3966 (define-public ecl-md5
3967 (package
3968 (inherit (sbcl-package->ecl-package sbcl-md5))
3969 (inputs
3970 `(("flexi-streams" ,ecl-flexi-streams)))))
3971
3972 (define-public sbcl-cl+ssl
3973 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
3974 (revision "1"))
3975 (package
3976 (name "sbcl-cl+ssl")
3977 (version (git-version "0.0.0" revision commit))
3978 (source
3979 (origin
3980 (method git-fetch)
3981 (uri (git-reference
3982 (url "https://github.com/cl-plus-ssl/cl-plus-ssl")
3983 (commit commit)))
3984 (file-name (git-file-name "cl+ssl" version))
3985 (sha256
3986 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
3987 (build-system asdf-build-system/sbcl)
3988 (arguments
3989 '(#:phases
3990 (modify-phases %standard-phases
3991 (add-after 'unpack 'fix-paths
3992 (lambda* (#:key inputs #:allow-other-keys)
3993 (substitute* "src/reload.lisp"
3994 (("libssl.so" all)
3995 (string-append
3996 (assoc-ref inputs "openssl") "/lib/" all))))))))
3997 (inputs
3998 `(("openssl" ,openssl)
3999 ("sbcl-cffi" ,sbcl-cffi)
4000 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4001 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4002 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
4003 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
4004 ("sbcl-alexandria" ,sbcl-alexandria)
4005 ("sbcl-trivial-features" ,sbcl-trivial-features)))
4006 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
4007 (synopsis "Common Lisp bindings to OpenSSL")
4008 (description
4009 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
4010 code was written by Eric Marsden and includes contributions by Jochen Schmidt.
4011 Development into CL+SSL was done by David Lichteblau.")
4012 (license license:expat))))
4013
4014 (define-public cl-cl+ssl
4015 (sbcl-package->cl-source-package sbcl-cl+ssl))
4016
4017 (define-public ecl-cl+ssl
4018 (sbcl-package->ecl-package sbcl-cl+ssl))
4019
4020 (define-public sbcl-kmrcl
4021 (let ((version "1.111")
4022 (commit "4a27407aad9deb607ffb8847630cde3d041ea25a")
4023 (revision "1"))
4024 (package
4025 (name "sbcl-kmrcl")
4026 (version (git-version version revision commit))
4027 (source
4028 (origin
4029 (method git-fetch)
4030 (uri (git-reference
4031 (url "http://git.kpe.io/kmrcl.git/")
4032 (commit commit)))
4033 (file-name (git-file-name name version))
4034 (sha256
4035 (base32 "06gx04mah5nc8w78s0j8628divbf1s5w7af8w7pvzb2d5mgvrbd2"))))
4036 (build-system asdf-build-system/sbcl)
4037 (inputs
4038 `(("sbcl-rt" ,sbcl-rt)))
4039 (home-page "http://files.kpe.io/kmrcl/")
4040 (synopsis "General utilities for Common Lisp programs")
4041 (description
4042 "KMRCL is a collection of utilities used by a number of Kevin
4043 Rosenberg's Common Lisp packages.")
4044 (license license:llgpl))))
4045
4046 (define-public cl-kmrcl
4047 (sbcl-package->cl-source-package sbcl-kmrcl))
4048
4049 (define-public ecl-kmrcl
4050 (sbcl-package->ecl-package sbcl-kmrcl))
4051
4052 (define-public sbcl-cl-base64
4053 ;; 3.3.4 tests are broken, upstream fixes them.
4054 (let ((commit "577683b18fd880b82274d99fc96a18a710e3987a"))
4055 (package
4056 (name "sbcl-cl-base64")
4057 (version (git-version "3.3.4" "1" commit))
4058 (source
4059 (origin
4060 (method git-fetch)
4061 (uri (git-reference
4062 (url "http://git.kpe.io/cl-base64.git/")
4063 (commit commit)))
4064 (file-name (git-file-name name version))
4065 (sha256
4066 (base32 "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj"))))
4067 (build-system asdf-build-system/sbcl)
4068 (native-inputs ; For tests.
4069 `(("sbcl-ptester" ,sbcl-ptester)
4070 ("sbcl-kmrcl" ,sbcl-kmrcl)))
4071 (home-page "http://files.kpe.io/cl-base64/")
4072 (synopsis
4073 "Common Lisp package to encode and decode base64 with URI support")
4074 (description
4075 "This package provides highly optimized base64 encoding and decoding.
4076 Besides conversion to and from strings, integer conversions are supported.
4077 Encoding with Uniform Resource Identifiers is supported by using a modified
4078 encoding table that uses only URI-compatible characters.")
4079 (license license:bsd-3))))
4080
4081 (define-public cl-base64
4082 (sbcl-package->cl-source-package sbcl-cl-base64))
4083
4084 (define-public ecl-cl-base64
4085 (sbcl-package->ecl-package sbcl-cl-base64))
4086
4087 (define-public sbcl-chunga
4088 (package
4089 (name "sbcl-chunga")
4090 (version "1.1.7")
4091 (source
4092 (origin
4093 (method git-fetch)
4094 (uri (git-reference
4095 (url "https://github.com/edicl/chunga")
4096 (commit (string-append "v" version))))
4097 (file-name (git-file-name name version))
4098 (sha256
4099 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
4100 (build-system asdf-build-system/sbcl)
4101 (inputs
4102 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4103 (home-page "https://edicl.github.io/chunga/")
4104 (synopsis "Portable chunked streams for Common Lisp")
4105 (description
4106 "Chunga implements streams capable of chunked encoding on demand as
4107 defined in RFC 2616.")
4108 (license license:bsd-2)))
4109
4110 (define-public cl-chunga
4111 (sbcl-package->cl-source-package sbcl-chunga))
4112
4113 (define-public ecl-chunga
4114 (sbcl-package->ecl-package sbcl-chunga))
4115
4116 (define-public sbcl-cl-who
4117 (let ((version "1.1.4")
4118 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
4119 (revision "1"))
4120 (package
4121 (name "sbcl-cl-who")
4122 (version (git-version version revision commit))
4123 (source
4124 (origin
4125 (method git-fetch)
4126 (uri (git-reference
4127 (url "https://github.com/edicl/cl-who")
4128 (commit commit)))
4129 (file-name (git-file-name name version))
4130 (sha256
4131 (base32
4132 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
4133 (build-system asdf-build-system/sbcl)
4134 (native-inputs
4135 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4136 (home-page "https://edicl.github.io/cl-who/")
4137 (synopsis "Yet another Lisp markup language")
4138 (description
4139 "There are plenty of Lisp Markup Languages out there - every Lisp
4140 programmer seems to write at least one during his career - and CL-WHO (where
4141 WHO means \"with-html-output\" for want of a better acronym) is probably just
4142 as good or bad as the next one.")
4143 (license license:bsd-2))))
4144
4145 (define-public cl-who
4146 (sbcl-package->cl-source-package sbcl-cl-who))
4147
4148 (define-public ecl-cl-who
4149 (sbcl-package->ecl-package sbcl-cl-who))
4150
4151 (define-public sbcl-chipz
4152 (let ((version "0.8")
4153 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
4154 (revision "1"))
4155 (package
4156 (name "sbcl-chipz")
4157 (version (git-version version revision commit))
4158 (source
4159 (origin
4160 (method git-fetch)
4161 (uri (git-reference
4162 (url "https://github.com/froydnj/chipz")
4163 (commit commit)))
4164 (file-name (git-file-name name version))
4165 (sha256
4166 (base32
4167 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
4168 (build-system asdf-build-system/sbcl)
4169 (native-inputs
4170 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4171 (home-page "http://method-combination.net/lisp/chipz/")
4172 (synopsis
4173 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
4174 data")
4175 (description
4176 "DEFLATE data, defined in RFC1951, forms the core of popular
4177 compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
4178 Chipz also provides for decompressing data in those formats as well. BZIP2 is
4179 the format used by the popular compression tool bzip2.")
4180 ;; The author describes it as "MIT-like"
4181 (license license:expat))))
4182
4183 (define-public cl-chipz
4184 (sbcl-package->cl-source-package sbcl-chipz))
4185
4186 (define-public ecl-chipz
4187 (sbcl-package->ecl-package sbcl-chipz))
4188
4189 (define-public sbcl-drakma
4190 (package
4191 (name "sbcl-drakma")
4192 (version "2.0.7")
4193 (source
4194 (origin
4195 (method git-fetch)
4196 (uri (git-reference
4197 (url "https://github.com/edicl/drakma")
4198 (commit (string-append "v" version))))
4199 (file-name (git-file-name name version))
4200 (sha256
4201 (base32
4202 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
4203 (build-system asdf-build-system/sbcl)
4204 (inputs
4205 `(("sbcl-puri" ,sbcl-puri)
4206 ("sbcl-cl-base64" ,sbcl-cl-base64)
4207 ("sbcl-chunga" ,sbcl-chunga)
4208 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4209 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4210 ("sbcl-chipz" ,sbcl-chipz)
4211 ("sbcl-usocket" ,sbcl-usocket)
4212 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
4213 (native-inputs
4214 `(("sbcl-fiveam" ,sbcl-fiveam)))
4215 (home-page "https://edicl.github.io/drakma/")
4216 (synopsis "HTTP client written in Common Lisp")
4217 (description
4218 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
4219 knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
4220 sockets, SSL, continuable uploads, file uploads, cookies, and more.")
4221 (license license:bsd-2)))
4222
4223 (define-public cl-drakma
4224 (sbcl-package->cl-source-package sbcl-drakma))
4225
4226 (define-public ecl-drakma
4227 (sbcl-package->ecl-package sbcl-drakma))
4228
4229 (define-public sbcl-hunchentoot
4230 (package
4231 (name "sbcl-hunchentoot")
4232 (version "1.2.38")
4233 (source
4234 (origin
4235 (method git-fetch)
4236 (uri (git-reference
4237 (url "https://github.com/edicl/hunchentoot")
4238 (commit (string-append "v" version))))
4239 (file-name (git-file-name "hunchentoot" version))
4240 (sha256
4241 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
4242 (build-system asdf-build-system/sbcl)
4243 (native-inputs
4244 `(("sbcl-cl-who" ,sbcl-cl-who)
4245 ("sbcl-drakma" ,sbcl-drakma)))
4246 (inputs
4247 `(("sbcl-chunga" ,sbcl-chunga)
4248 ("sbcl-cl-base64" ,sbcl-cl-base64)
4249 ("sbcl-cl-fad" ,sbcl-cl-fad)
4250 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4251 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4252 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
4253 ("sbcl-md5" ,sbcl-md5)
4254 ("sbcl-rfc2388" ,sbcl-rfc2388)
4255 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
4256 ("sbcl-usocket" ,sbcl-usocket)))
4257 (home-page "https://edicl.github.io/hunchentoot/")
4258 (synopsis "Web server written in Common Lisp")
4259 (description
4260 "Hunchentoot is a web server written in Common Lisp and at the same
4261 time a toolkit for building dynamic websites. As a stand-alone web server,
4262 Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
4263 connections (keep-alive), and SSL.")
4264 (license license:bsd-2)))
4265
4266 (define-public cl-hunchentoot
4267 (sbcl-package->cl-source-package sbcl-hunchentoot))
4268
4269 (define-public ecl-hunchentoot
4270 (package
4271 (inherit (sbcl-package->ecl-package sbcl-hunchentoot))
4272 (arguments
4273 ;; Tests fail on ECL with 'Socket error in "socket": EINVAL'.
4274 '(#:tests? #f))))
4275
4276 (define-public sbcl-trivial-types
4277 (package
4278 (name "sbcl-trivial-types")
4279 (version "0.0.1")
4280 (source
4281 (origin
4282 (method git-fetch)
4283 (uri (git-reference
4284 (url "https://github.com/m2ym/trivial-types")
4285 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
4286 (file-name (git-file-name name version))
4287 (sha256
4288 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
4289 (build-system asdf-build-system/sbcl)
4290 (home-page "https://github.com/m2ym/trivial-types")
4291 (synopsis "Trivial type definitions for Common Lisp")
4292 (description
4293 "TRIVIAL-TYPES provides missing but important type definitions such as
4294 PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
4295 (license license:llgpl)))
4296
4297 (define-public cl-trivial-types
4298 (sbcl-package->cl-source-package sbcl-trivial-types))
4299
4300 (define-public ecl-trivial-types
4301 (sbcl-package->ecl-package sbcl-trivial-types))
4302
4303 (define-public sbcl-cl-annot
4304 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
4305 (revision "1"))
4306 (package
4307 (name "sbcl-cl-annot")
4308 (version (git-version "0.0.0" revision commit))
4309 (source
4310 (origin
4311 (method git-fetch)
4312 (uri (git-reference
4313 (url "https://github.com/m2ym/cl-annot")
4314 (commit commit)))
4315 (file-name (git-file-name name version))
4316 (sha256
4317 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
4318 (build-system asdf-build-system/sbcl)
4319 (inputs
4320 `(("sbcl-alexandria" ,sbcl-alexandria)))
4321 (home-page "https://github.com/m2ym/cl-annot")
4322 (synopsis "Python-like Annotation Syntax for Common Lisp.")
4323 (description
4324 "@code{cl-annot} is an general annotation library for Common Lisp.")
4325 (license license:llgpl))))
4326
4327 (define-public cl-annot
4328 (sbcl-package->cl-source-package sbcl-cl-annot))
4329
4330 (define-public ecl-cl-annot
4331 (sbcl-package->ecl-package sbcl-cl-annot))
4332
4333 (define-public sbcl-cl-syntax
4334 (package
4335 (name "sbcl-cl-syntax")
4336 (version "0.0.3")
4337 (source
4338 (origin
4339 (method git-fetch)
4340 (uri (git-reference
4341 (url "https://github.com/m2ym/cl-syntax")
4342 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
4343 (file-name (git-file-name "cl-syntax" version))
4344 (sha256
4345 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
4346 (build-system asdf-build-system/sbcl)
4347 (inputs
4348 `(("cl-annot" ,sbcl-cl-annot)
4349 ("cl-interpol" ,sbcl-cl-interpol)
4350 ("named-readtables" ,sbcl-named-readtables)
4351 ("trivial-types" ,sbcl-trivial-types)))
4352 (arguments
4353 '(#:asd-systems '("cl-syntax"
4354 "cl-syntax-annot"
4355 "cl-syntax-interpol")))
4356 (home-page "https://github.com/m2ym/cl-syntax")
4357 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
4358 (description
4359 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
4360 (license license:llgpl)))
4361
4362 (define-public cl-syntax
4363 (sbcl-package->cl-source-package sbcl-cl-syntax))
4364
4365 (define-public ecl-cl-syntax
4366 (sbcl-package->ecl-package sbcl-cl-syntax))
4367
4368 (define-public sbcl-cl-utilities
4369 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
4370 (revision "1"))
4371 (package
4372 (name "sbcl-cl-utilities")
4373 (version (git-version "0.0.0" revision commit))
4374 (source
4375 (origin
4376 (method url-fetch)
4377 (uri
4378 (string-append
4379 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
4380 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
4381 (sha256
4382 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
4383 (build-system asdf-build-system/sbcl)
4384 (arguments
4385 '(#:phases
4386 (modify-phases %standard-phases
4387 (add-after 'unpack 'fix-paths
4388 (lambda* (#:key inputs #:allow-other-keys)
4389 (substitute* "rotate-byte.lisp"
4390 (("in-package :cl-utilities)" all)
4391 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
4392 (home-page "http://common-lisp.net/project/cl-utilities")
4393 (synopsis "A collection of semi-standard utilities")
4394 (description
4395 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
4396 is a collection of Common Lisp Utilities, things that everybody writes since
4397 they're not part of the official standard. There are some very useful things
4398 there; the only problems are that they aren't implemented as well as you'd
4399 like (some aren't implemented at all) and they aren't conveniently packaged
4400 and maintained. It takes quite a bit of work to carefully implement utilities
4401 for common use, commented and documented, with error checking placed
4402 everywhere some dumb user might make a mistake.")
4403 (license license:public-domain))))
4404
4405 (define-public cl-utilities
4406 (sbcl-package->cl-source-package sbcl-cl-utilities))
4407
4408 (define-public ecl-cl-utilities
4409 (sbcl-package->ecl-package sbcl-cl-utilities))
4410
4411 (define-public sbcl-map-set
4412 (let ((commit "7b4b545b68b8")
4413 (revision "1"))
4414 (package
4415 (name "sbcl-map-set")
4416 (version (git-version "0.0.0" revision commit))
4417 (source
4418 (origin
4419 (method url-fetch)
4420 (uri (string-append
4421 "https://bitbucket.org/tarballs_are_good/map-set/get/"
4422 commit ".tar.gz"))
4423 (sha256
4424 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
4425 (build-system asdf-build-system/sbcl)
4426 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
4427 (synopsis "Set-like data structure")
4428 (description
4429 "Implementation of a set-like data structure with constant time
4430 addition, removal, and random selection.")
4431 (license license:bsd-3))))
4432
4433 (define-public cl-map-set
4434 (sbcl-package->cl-source-package sbcl-map-set))
4435
4436 (define-public ecl-map-set
4437 (sbcl-package->ecl-package sbcl-map-set))
4438
4439 (define-public sbcl-quri
4440 (package
4441 (name "sbcl-quri")
4442 (version "0.3.0")
4443 (source
4444 (origin
4445 (method git-fetch)
4446 (uri (git-reference
4447 (url "https://github.com/fukamachi/quri")
4448 (commit version)))
4449 (file-name (git-file-name name version))
4450 (sha256
4451 (base32 "1pkvpiwwhx2fcknr7x47h7036ypkg8xzsskqbl5z315ipfmi8s2m"))))
4452 (build-system asdf-build-system/sbcl)
4453 (arguments
4454 ;; Test system must be loaded before, otherwise tests fail with:
4455 ;; Component QURI-ASD::QURI-TEST not found, required by #<SYSTEM
4456 ;; "quri">.
4457 '(#:asd-systems '("quri-test"
4458 "quri")))
4459 (native-inputs `(("sbcl-prove" ,sbcl-prove)))
4460 (inputs `(("sbcl-babel" ,sbcl-babel)
4461 ("sbcl-split-sequence" ,sbcl-split-sequence)
4462 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
4463 ("sbcl-alexandria" ,sbcl-alexandria)))
4464 (home-page "https://github.com/fukamachi/quri")
4465 (synopsis "Yet another URI library for Common Lisp")
4466 (description
4467 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
4468 Lisp. It is intended to be a replacement of PURI.")
4469 (license license:bsd-3)))
4470
4471 (define-public cl-quri
4472 (sbcl-package->cl-source-package sbcl-quri))
4473
4474 (define-public ecl-quri
4475 (sbcl-package->ecl-package sbcl-quri))
4476
4477 (define-public sbcl-myway
4478 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
4479 (revision "1"))
4480 (package
4481 (name "sbcl-myway")
4482 (version (git-version "0.1.0" revision commit))
4483 (source
4484 (origin
4485 (method git-fetch)
4486 (uri (git-reference
4487 (url "https://github.com/fukamachi/myway")
4488 (commit commit)))
4489 (file-name (git-file-name "myway" version))
4490 (sha256
4491 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
4492 (build-system asdf-build-system/sbcl)
4493 (arguments
4494 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
4495 ;; by #<SYSTEM "myway">. Why?
4496 '(#:tests? #f))
4497 (native-inputs
4498 `(("sbcl-prove" ,sbcl-prove)))
4499 (inputs
4500 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4501 ("sbcl-quri" ,sbcl-quri)
4502 ("sbcl-map-set" ,sbcl-map-set)))
4503 (home-page "https://github.com/fukamachi/myway")
4504 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
4505 (description "My Way is a Sinatra-compatible URL routing library.")
4506 (license license:llgpl))))
4507
4508 (define-public cl-myway
4509 (sbcl-package->cl-source-package sbcl-myway))
4510
4511 (define-public ecl-myway
4512 (sbcl-package->ecl-package sbcl-myway))
4513
4514 (define-public sbcl-xsubseq
4515 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
4516 (revision "1"))
4517 (package
4518 (name "sbcl-xsubseq")
4519 (version (git-version "0.0.1" revision commit))
4520 (source
4521 (origin
4522 (method git-fetch)
4523 (uri (git-reference
4524 (url "https://github.com/fukamachi/xsubseq")
4525 (commit commit)))
4526 (file-name (git-file-name name version))
4527 (sha256
4528 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4529 (build-system asdf-build-system/sbcl)
4530 (arguments
4531 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4532 ;; required by #<SYSTEM "xsubseq">. Why?
4533 '(#:tests? #f))
4534 (native-inputs
4535 `(("sbcl-prove" ,sbcl-prove)))
4536 (home-page "https://github.com/fukamachi/xsubseq")
4537 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4538 (description
4539 "XSubseq provides functions to be able to handle \"subseq\"s more
4540 effieiently.")
4541 (license license:bsd-2))))
4542
4543 (define-public cl-xsubseq
4544 (sbcl-package->cl-source-package sbcl-xsubseq))
4545
4546 (define-public ecl-xsubseq
4547 (sbcl-package->ecl-package sbcl-xsubseq))
4548
4549 (define-public sbcl-smart-buffer
4550 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4551 (revision "1"))
4552 (package
4553 (name "sbcl-smart-buffer")
4554 (version (git-version "0.0.1" revision commit))
4555 (source
4556 (origin
4557 (method git-fetch)
4558 (uri (git-reference
4559 (url "https://github.com/fukamachi/smart-buffer")
4560 (commit commit)))
4561 (file-name (git-file-name name version))
4562 (sha256
4563 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4564 (build-system asdf-build-system/sbcl)
4565 (arguments
4566 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4567 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4568 `(#:tests? #f))
4569 (native-inputs
4570 `(("sbcl-prove" ,sbcl-prove)))
4571 (inputs
4572 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4573 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4574 (home-page "https://github.com/fukamachi/smart-buffer")
4575 (synopsis "Smart octets buffer")
4576 (description
4577 "Smart-buffer provides an output buffer which changes the destination
4578 depending on content size.")
4579 (license license:bsd-3))))
4580
4581 (define-public cl-smart-buffer
4582 (sbcl-package->cl-source-package sbcl-smart-buffer))
4583
4584 (define-public ecl-smart-buffer
4585 (sbcl-package->ecl-package sbcl-smart-buffer))
4586
4587 (define-public sbcl-fast-http
4588 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
4589 (revision "2"))
4590 (package
4591 (name "sbcl-fast-http")
4592 (version (git-version "0.2.0" revision commit))
4593 (source
4594 (origin
4595 (method git-fetch)
4596 (uri (git-reference
4597 (url "https://github.com/fukamachi/fast-http")
4598 (commit commit)))
4599 (file-name (git-file-name name version))
4600 (sha256
4601 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
4602 (build-system asdf-build-system/sbcl)
4603 (arguments
4604 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4605 ;; required by #<SYSTEM "fast-http">. Why?
4606 `(#:tests? #f))
4607 (native-inputs
4608 `(("sbcl-prove" ,sbcl-prove)
4609 ("cl-syntax" ,sbcl-cl-syntax)))
4610 (inputs
4611 `(("sbcl-alexandria" ,sbcl-alexandria)
4612 ("sbcl-proc-parse" ,sbcl-proc-parse)
4613 ("sbcl-xsubseq" ,sbcl-xsubseq)
4614 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4615 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4616 (home-page "https://github.com/fukamachi/fast-http")
4617 (synopsis "HTTP request/response parser for Common Lisp")
4618 (description
4619 "@code{fast-http} is a HTTP request/response protocol parser for Common
4620 Lisp.")
4621 ;; Author specified the MIT license
4622 (license license:expat))))
4623
4624 (define-public cl-fast-http
4625 (sbcl-package->cl-source-package sbcl-fast-http))
4626
4627 (define-public ecl-fast-http
4628 (sbcl-package->ecl-package sbcl-fast-http))
4629
4630 (define-public sbcl-static-vectors
4631 (package
4632 (name "sbcl-static-vectors")
4633 (version "1.8.6")
4634 (source
4635 (origin
4636 (method git-fetch)
4637 (uri (git-reference
4638 (url "https://github.com/sionescu/static-vectors")
4639 (commit (string-append "v" version))))
4640 (file-name (git-file-name name version))
4641 (sha256
4642 (base32 "01hwxzhyjkhsd3949g70120g7msw01byf0ia0pbj319q1a3cq7j9"))))
4643 (native-inputs
4644 `(("sbcl-fiveam" ,sbcl-fiveam)))
4645 (inputs
4646 `(("sbcl-alexandria" ,sbcl-alexandria)
4647 ("sbcl-cffi" ,sbcl-cffi)))
4648 (build-system asdf-build-system/sbcl)
4649 (home-page "https://github.com/sionescu/static-vectors")
4650 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4651 (description
4652 "With @code{static-vectors}, you can create vectors allocated in static
4653 memory.")
4654 (license license:expat)))
4655
4656 (define-public cl-static-vectors
4657 (sbcl-package->cl-source-package sbcl-static-vectors))
4658
4659 (define-public ecl-static-vectors
4660 (sbcl-package->ecl-package sbcl-static-vectors))
4661
4662 (define-public sbcl-marshal
4663 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4664 (revision "1"))
4665 (package
4666 (name "sbcl-marshal")
4667 (version (git-version "1.3.0" revision commit))
4668 (source
4669 (origin
4670 (method git-fetch)
4671 (uri (git-reference
4672 (url "https://github.com/wlbr/cl-marshal")
4673 (commit commit)))
4674 (file-name (git-file-name name version))
4675 (sha256
4676 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4677 (build-system asdf-build-system/sbcl)
4678 (home-page "https://github.com/wlbr/cl-marshal")
4679 (synopsis "Simple (de)serialization of Lisp datastructures")
4680 (description
4681 "Simple and fast marshalling of Lisp datastructures. Convert any object
4682 into a string representation, put it on a stream an revive it from there.
4683 Only minimal changes required to make your CLOS objects serializable.")
4684 (license license:expat))))
4685
4686 (define-public cl-marshal
4687 (sbcl-package->cl-source-package sbcl-marshal))
4688
4689 (define-public ecl-marshal
4690 (sbcl-package->ecl-package sbcl-marshal))
4691
4692 (define-public sbcl-checkl
4693 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4694 (revision "1"))
4695 (package
4696 (name "sbcl-checkl")
4697 (version (git-version "0.0.0" revision commit))
4698 (source
4699 (origin
4700 (method git-fetch)
4701 (uri (git-reference
4702 (url "https://github.com/rpav/CheckL")
4703 (commit commit)))
4704 (file-name (git-file-name name version))
4705 (sha256
4706 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4707 (build-system asdf-build-system/sbcl)
4708 (arguments
4709 ;; Error while trying to load definition for system checkl-test from
4710 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4711 ;; is undefined.
4712 '(#:asd-files '("checkl.asd")
4713 #:tests? #f))
4714 (native-inputs
4715 `(("sbcl-fiveam" ,sbcl-fiveam)))
4716 (inputs
4717 `(("sbcl-marshal" ,sbcl-marshal)))
4718 (home-page "https://github.com/rpav/CheckL/")
4719 (synopsis "Dynamic testing for Common Lisp")
4720 (description
4721 "CheckL lets you write tests dynamically, it checks resulting values
4722 against the last run.")
4723 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4724 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4725 ;; stronger of the two and so I think only listing this should suffice.
4726 (license license:llgpl))))
4727
4728 (define-public cl-checkl
4729 (sbcl-package->cl-source-package sbcl-checkl))
4730
4731 (define-public ecl-checkl
4732 (sbcl-package->ecl-package sbcl-checkl))
4733
4734 (define-public sbcl-fast-io
4735 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
4736 (revision "2"))
4737 (package
4738 (name "sbcl-fast-io")
4739 (version (git-version "1.0.0" revision commit))
4740 (source
4741 (origin
4742 (method git-fetch)
4743 (uri (git-reference
4744 (url "https://github.com/rpav/fast-io")
4745 (commit commit)))
4746 (file-name (git-file-name name version))
4747 (sha256
4748 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
4749 (build-system asdf-build-system/sbcl)
4750 (arguments
4751 ;; Error while trying to load definition for system fast-io-test from
4752 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4753 ;; is undefined.
4754 '(#:tests? #f
4755 #:asd-files '("fast-io.asd")))
4756 (native-inputs
4757 `(("sbcl-fiveam" ,sbcl-fiveam)
4758 ("sbcl-checkl" ,sbcl-checkl)))
4759 (inputs
4760 `(("sbcl-alexandria" ,sbcl-alexandria)
4761 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4762 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4763 (home-page "https://github.com/rpav/fast-io")
4764 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4765 (description
4766 "Fast-io is about improving performance to octet-vectors and octet
4767 streams (though primarily the former, while wrapping the latter).")
4768 ;; Author specifies this as NewBSD which is an alias
4769 (license license:bsd-3))))
4770
4771 (define-public cl-fast-io
4772 (sbcl-package->cl-source-package sbcl-fast-io))
4773
4774 (define-public ecl-fast-io
4775 (sbcl-package->ecl-package sbcl-fast-io))
4776
4777 (define-public sbcl-jonathan
4778 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4779 (revision "1"))
4780 (package
4781 (name "sbcl-jonathan")
4782 (version (git-version "0.1.0" revision commit))
4783 (source
4784 (origin
4785 (method git-fetch)
4786 (uri (git-reference
4787 (url "https://github.com/Rudolph-Miller/jonathan")
4788 (commit commit)))
4789 (file-name (git-file-name name version))
4790 (sha256
4791 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4792 (build-system asdf-build-system/sbcl)
4793 (arguments
4794 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4795 ;; required by #<SYSTEM "jonathan">. Why?
4796 `(#:tests? #f))
4797 (native-inputs
4798 `(("sbcl-prove" ,sbcl-prove)))
4799 (inputs
4800 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4801 ("sbcl-fast-io" ,sbcl-fast-io)
4802 ("sbcl-proc-parse" ,sbcl-proc-parse)
4803 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
4804 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
4805 (synopsis "JSON encoder and decoder")
4806 (description
4807 "High performance JSON encoder and decoder. Currently support: SBCL,
4808 CCL.")
4809 ;; Author specifies the MIT license
4810 (license license:expat))))
4811
4812 (define-public cl-jonathan
4813 (sbcl-package->cl-source-package sbcl-jonathan))
4814
4815 (define-public ecl-jonathan
4816 (sbcl-package->ecl-package sbcl-jonathan))
4817
4818 (define-public sbcl-http-body
4819 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4820 (revision "1"))
4821 (package
4822 (name "sbcl-http-body")
4823 (version (git-version "0.1.0" revision commit))
4824 (source
4825 (origin
4826 (method git-fetch)
4827 (uri (git-reference
4828 (url "https://github.com/fukamachi/http-body")
4829 (commit commit)))
4830 (file-name (git-file-name name version))
4831 (sha256
4832 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4833 (build-system asdf-build-system/sbcl)
4834 (arguments
4835 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4836 ;; found, required by #<SYSTEM "http-body">. Why?
4837 `(#:tests? #f))
4838 (native-inputs
4839 `(("sbcl-prove" ,sbcl-prove)))
4840 (inputs
4841 `(("sbcl-fast-http" ,sbcl-fast-http)
4842 ("sbcl-jonathan" ,sbcl-jonathan)
4843 ("sbcl-quri" ,sbcl-quri)))
4844 (home-page "https://github.com/fukamachi/http-body")
4845 (synopsis "HTTP POST data parser")
4846 (description
4847 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4848 supports application/x-www-form-urlencoded, application/json, and
4849 multipart/form-data.")
4850 (license license:bsd-2))))
4851
4852 (define-public cl-http-body
4853 (sbcl-package->cl-source-package sbcl-http-body))
4854
4855 (define-public ecl-http-body
4856 (sbcl-package->ecl-package sbcl-http-body))
4857
4858 (define-public sbcl-circular-streams
4859 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4860 (revision "1"))
4861 (package
4862 (name "sbcl-circular-streams")
4863 (version (git-version "0.1.0" revision commit))
4864 (source
4865 (origin
4866 (method git-fetch)
4867 (uri (git-reference
4868 (url "https://github.com/fukamachi/circular-streams")
4869 (commit commit)))
4870 (file-name (git-file-name name version))
4871 (sha256
4872 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4873 (build-system asdf-build-system/sbcl)
4874 (arguments
4875 ;; The tests depend on cl-test-more which is now prove. Prove
4876 ;; tests aren't working for some reason.
4877 `(#:tests? #f))
4878 (inputs
4879 `(("sbcl-fast-io" ,sbcl-fast-io)
4880 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4881 (home-page "https://github.com/fukamachi/circular-streams")
4882 (synopsis "Circularly readable streams for Common Lisp")
4883 (description
4884 "Circular-Streams allows you to read streams circularly by wrapping real
4885 streams. Once you reach end-of-file of a stream, it's file position will be
4886 reset to 0 and you're able to read it again.")
4887 (license license:llgpl))))
4888
4889 (define-public cl-circular-streams
4890 (sbcl-package->cl-source-package sbcl-circular-streams))
4891
4892 (define-public ecl-circular-streams
4893 (sbcl-package->ecl-package sbcl-circular-streams))
4894
4895 (define-public sbcl-lack
4896 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4897 (revision "1"))
4898 (package
4899 (name "sbcl-lack")
4900 (version (git-version "0.1.0" revision commit))
4901 (source
4902 (origin
4903 (method git-fetch)
4904 (uri (git-reference
4905 (url "https://github.com/fukamachi/lack")
4906 (commit commit)))
4907 (file-name (git-file-name "lack" version))
4908 (sha256
4909 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4910 (build-system asdf-build-system/sbcl)
4911 (native-inputs
4912 `(("prove" ,sbcl-prove)))
4913 (inputs
4914 `(("circular-streams" ,sbcl-circular-streams)
4915 ("http-body" ,sbcl-http-body)
4916 ("ironclad" ,sbcl-ironclad)
4917 ("local-time" ,sbcl-local-time)
4918 ("quri" ,sbcl-quri)
4919 ("trivial-mimes" ,sbcl-trivial-mimes)))
4920 (arguments
4921 '(#:asd-systems '("lack"
4922 "lack-request"
4923 "lack-response"
4924 "lack-component"
4925 "lack-util"
4926 "lack-middleware-backtrace"
4927 "lack-middleware-static")
4928 #:test-asd-file "t-lack.asd"
4929 ;; XXX: Component :CLACK not found
4930 #:tests? #f))
4931 (home-page "https://github.com/fukamachi/lack")
4932 (synopsis "Lack, the core of Clack")
4933 (description
4934 "Lack is a Common Lisp library which allows web applications to be
4935 constructed of modular components. It was originally a part of Clack, however
4936 it's going to be rewritten as an individual project since Clack v2 with
4937 performance and simplicity in mind.")
4938 (license license:llgpl))))
4939
4940 (define-public cl-lack
4941 (sbcl-package->cl-source-package sbcl-lack))
4942
4943 (define-public ecl-lack
4944 (sbcl-package->ecl-package sbcl-lack))
4945
4946 (define-public sbcl-local-time
4947 (let ((commit "a177eb911c0e8116e2bfceb79049265a884b701b")
4948 (revision "2"))
4949 (package
4950 (name "sbcl-local-time")
4951 (version (git-version "1.0.6" revision commit))
4952 (source
4953 (origin
4954 (method git-fetch)
4955 (uri (git-reference
4956 (url "https://github.com/dlowe-net/local-time")
4957 (commit commit)))
4958 (file-name (git-file-name name version))
4959 (sha256
4960 (base32 "0wld28xx20k0ysgg6akic5lg4vkjd0iyhv86m388xfrv8xh87wii"))))
4961 (build-system asdf-build-system/sbcl)
4962 (native-inputs
4963 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
4964 (home-page "https://common-lisp.net/project/local-time/")
4965 (synopsis "Time manipulation library for Common Lisp")
4966 (description
4967 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4968 dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4969 Long Painful History of Time\".")
4970 (license license:expat))))
4971
4972 (define-public cl-local-time
4973 (sbcl-package->cl-source-package sbcl-local-time))
4974
4975 (define-public ecl-local-time
4976 (sbcl-package->ecl-package sbcl-local-time))
4977
4978 (define-public sbcl-chronicity
4979 (package
4980 (name "sbcl-chronicity")
4981 (version "0.4.1")
4982 (source
4983 (origin
4984 (method git-fetch)
4985 (uri (git-reference
4986 (url "https://github.com/chaitanyagupta/chronicity")
4987 (commit (string-append "v" version))))
4988 (file-name (git-file-name "chronicity" version))
4989 (sha256
4990 (base32 "0rzrl9is2v1aqbm0sym0qx3blnpd0bl13dkkmll6mb3983k2mkax"))))
4991 (build-system asdf-build-system/sbcl)
4992 (native-inputs
4993 `(("lisp-unit" ,sbcl-lisp-unit)))
4994 (inputs
4995 `(("cl-interpol" ,sbcl-cl-interpol)
4996 ("cl-ppcre" ,sbcl-cl-ppcre)
4997 ("local-time" ,sbcl-local-time)))
4998 (home-page "https://github.com/chaitanyagupta/chronicity")
4999 (synopsis "Natural language date and time parser for Common Lisp")
5000 (description
5001 "CHRONICITY is Common Lisp natural language date and time parser inspired
5002 by Ruby's @code{Chronic}.")
5003 (license license:bsd-3)))
5004
5005 (define-public ecl-chronicity
5006 (sbcl-package->ecl-package sbcl-chronicity))
5007
5008 (define-public cl-chronicity
5009 (sbcl-package->cl-source-package sbcl-chronicity))
5010
5011 (define-public sbcl-trivial-mimes
5012 (let ((commit "a741fc2f567a4f86b853fd4677d75e62c03e51d9")
5013 (revision "2"))
5014 (package
5015 (name "sbcl-trivial-mimes")
5016 (version (git-version "1.1.0" revision commit))
5017 (source
5018 (origin
5019 (method git-fetch)
5020 (uri (git-reference
5021 (url "https://github.com/Shinmera/trivial-mimes")
5022 (commit commit)))
5023 (file-name (git-file-name name version))
5024 (sha256
5025 (base32 "00kcm17q5plpzdj1qwg83ldhxksilgpcdkf3m9azxcdr968xs9di"))))
5026 (build-system asdf-build-system/sbcl)
5027 (native-inputs
5028 `(("stefil" ,sbcl-hu.dwim.stefil)))
5029 (inputs
5030 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
5031 (home-page "https://shinmera.github.io/trivial-mimes/")
5032 (synopsis "Tiny Common Lisp library to detect mime types in files")
5033 (description
5034 "This is a teensy library that provides some functions to determine the
5035 mime-type of a file.")
5036 (license license:zlib))))
5037
5038 (define-public cl-trivial-mimes
5039 (sbcl-package->cl-source-package sbcl-trivial-mimes))
5040
5041 (define-public ecl-trivial-mimes
5042 (sbcl-package->ecl-package sbcl-trivial-mimes))
5043
5044 (define-public sbcl-ningle
5045 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
5046 (revision "1"))
5047 (package
5048 (name "sbcl-ningle")
5049 (version (git-version "0.3.0" revision commit))
5050 (source
5051 (origin
5052 (method git-fetch)
5053 (uri (git-reference
5054 (url "https://github.com/fukamachi/ningle")
5055 (commit commit)))
5056 (file-name (git-file-name name version))
5057 (sha256
5058 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
5059 (build-system asdf-build-system/sbcl)
5060 (arguments
5061 ;; TODO: pull in clack-test
5062 '(#:tests? #f
5063 #:phases
5064 (modify-phases %standard-phases
5065 (delete 'cleanup-files)
5066 (delete 'cleanup)
5067 (add-before 'cleanup 'combine-fasls
5068 (lambda* (#:key outputs #:allow-other-keys)
5069 (let* ((out (assoc-ref outputs "out"))
5070 (lib (string-append out "/lib/sbcl"))
5071 (ningle-path (string-append lib "/ningle"))
5072 (fasl-files (find-files out "\\.fasl$")))
5073 (mkdir-p ningle-path)
5074 (let ((fasl-path (lambda (name)
5075 (string-append ningle-path
5076 "/"
5077 (basename name)
5078 "--system.fasl"))))
5079 (for-each (lambda (file)
5080 (rename-file file
5081 (fasl-path
5082 (basename file ".fasl"))))
5083 fasl-files))
5084 fasl-files)
5085 #t)))))
5086 (native-inputs
5087 `(("sbcl-prove" ,sbcl-prove)))
5088 (inputs
5089 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
5090 ("sbcl-myway" ,sbcl-myway)
5091 ("sbcl-lack" ,sbcl-lack)
5092 ("sbcl-alexandria" ,sbcl-alexandria)
5093 ("sbcl-babel" ,sbcl-babel)))
5094 (home-page "https://8arrow.org/ningle/")
5095 (synopsis "Super micro framework for Common Lisp")
5096 (description
5097 "Ningle is a lightweight web application framework for Common Lisp.")
5098 (license license:llgpl))))
5099
5100 (define-public cl-ningle
5101 (sbcl-package->cl-source-package sbcl-ningle))
5102
5103 (define-public ecl-ningle
5104 (sbcl-package->ecl-package sbcl-ningle))
5105
5106 (define-public sbcl-cl-fastcgi
5107 (let ((commit "de8b49b26de9863996ec18db28af8ab7e8ac4e20")
5108 (revision "2"))
5109 (package
5110 (name "sbcl-cl-fastcgi")
5111 (version (git-version "0.2" revision commit))
5112 (source
5113 (origin
5114 (method git-fetch)
5115 (uri (git-reference
5116 (url "https://github.com/KDr2/cl-fastcgi/")
5117 (commit commit)))
5118 (file-name (git-file-name name version))
5119 (sha256
5120 (base32 "0xgmhx766q4nmrvn5z7ag3ikpr9phlh8ypi8b14azshq9lqbq0m7"))))
5121 (build-system asdf-build-system/sbcl)
5122 (inputs
5123 `(("usocket" ,sbcl-usocket)
5124 ("cffi" ,sbcl-cffi)
5125 ("fcgi" ,fcgi)))
5126 (arguments
5127 `(#:phases
5128 (modify-phases %standard-phases
5129 (add-after 'unpack 'fix-paths
5130 (lambda* (#:key inputs #:allow-other-keys)
5131 (substitute* "cl-fastcgi.lisp"
5132 (("\"libfcgi.so\"")
5133 (string-append
5134 "\""
5135 (assoc-ref inputs "fcgi") "/lib/libfcgi.so\""))))))))
5136 (home-page "https://kdr2.com/project/cl-fastcgi.html")
5137 (synopsis "FastCGI wrapper for Common Lisp")
5138 (description
5139 "CL-FastCGI is a generic version of SB-FastCGI, targeting to run on
5140 mostly Common Lisp implementation.")
5141 (license license:bsd-2))))
5142
5143 (define-public cl-fastcgi
5144 (sbcl-package->cl-source-package sbcl-cl-fastcgi))
5145
5146 (define-public ecl-cl-fastcgi
5147 (sbcl-package->ecl-package sbcl-cl-fastcgi))
5148
5149 (define-public sbcl-clack
5150 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
5151 (revision "1"))
5152 (package
5153 (name "sbcl-clack")
5154 (version (git-version "2.0.0" revision commit))
5155 (source
5156 (origin
5157 (method git-fetch)
5158 (uri (git-reference
5159 (url "https://github.com/fukamachi/clack")
5160 (commit commit)))
5161 (file-name (git-file-name name version))
5162 (sha256
5163 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
5164 (build-system asdf-build-system/sbcl)
5165 (inputs
5166 `(("alexandria" ,sbcl-alexandria)
5167 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5168 ("cl-fastcgi" ,sbcl-cl-fastcgi)
5169 ("flexi-streams" ,sbcl-flexi-streams)
5170 ("hunchentoot" ,sbcl-hunchentoot)
5171 ("lack" ,sbcl-lack)
5172 ("split-sequence" ,sbcl-split-sequence)
5173 ("usocket" ,sbcl-usocket)
5174 ("quri" ,sbcl-quri)))
5175 (arguments
5176 '(#:asd-systems '("clack"
5177 "clack-handler-fcgi"
5178 "clack-socket"
5179 "clack-handler-hunchentoot")))
5180 (home-page "https://github.com/fukamachi/clack")
5181 (synopsis "Web Application Environment for Common Lisp")
5182 (description
5183 "Clack is a web application environment for Common Lisp inspired by
5184 Python's WSGI and Ruby's Rack.")
5185 (license license:llgpl))))
5186
5187 (define-public cl-clack
5188 (sbcl-package->cl-source-package sbcl-clack))
5189
5190 (define-public ecl-clack
5191 (sbcl-package->ecl-package sbcl-clack))
5192
5193 (define-public sbcl-cl-log
5194 (let ((commit "8f4b766d51e02245c310526cf1e4534ce634f837")
5195 (revision "1"))
5196 (package
5197 (name "sbcl-cl-log")
5198 (version "1.0.1")
5199 (source
5200 (origin
5201 (method git-fetch)
5202 (uri (git-reference
5203 (url "https://github.com/nicklevine/cl-log")
5204 (commit commit)))
5205 (sha256
5206 (base32 "1r3z9swy1b59swvaa5b97is9ysrfmjvjjhhw56p7p5hqg93b92ak"))
5207 (file-name (git-file-name "cl-log" version))))
5208 (build-system asdf-build-system/sbcl)
5209 (synopsis "Common Lisp general purpose logging utility")
5210 (description "CL-LOG is a general purpose logging utility, loosely modelled
5211 in some respects after Gary King's Log5. Its features include: logging to
5212 several destinations at once, via \"messengers\", each messenger is tailored to
5213 accept some log messages and reject others, and this tailoring can be changed
5214 on-the-fly, very rapid processing of messages which are rejected by all
5215 messengers, fully independent use of the utility by several different
5216 sub-systems in an application, support for messengers which cl:format text to a
5217 stream, support for messengers which do not invoke cl:format, timestamps in
5218 theory accurate to internal-time-units-per-second.")
5219 (home-page "https://github.com/nicklevine/cl-log")
5220 (license license:expat))))
5221
5222 (define-public cl-log
5223 (sbcl-package->cl-source-package sbcl-cl-log))
5224
5225 (define-public ecl-cl-log
5226 (sbcl-package->ecl-package sbcl-cl-log))
5227
5228 (define-public sbcl-log4cl
5229 (let ((commit "8c48d6f41d3a1475d0a91eed0638b9eecc398e35")
5230 (revision "1"))
5231 (package
5232 (name "sbcl-log4cl")
5233 (version (git-version "1.1.3" revision commit))
5234 (source
5235 (origin
5236 (method git-fetch)
5237 (uri (git-reference
5238 (url "https://github.com/sharplispers/log4cl")
5239 (commit commit)))
5240 (file-name (git-file-name "log4cl" version))
5241 (sha256
5242 (base32 "0166d9aip366pbpdk5gsi2f6xad6q61lssxgbrypa8zslwjn8736"))))
5243 (build-system asdf-build-system/sbcl)
5244 (native-inputs
5245 `(("stefil" ,sbcl-stefil)))
5246 (inputs
5247 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
5248 (home-page "https://github.com/7max/log4cl")
5249 (synopsis "Common Lisp logging framework, modeled after Log4J")
5250 (description
5251 "This is a Common Lisp logging framework that can log at various levels
5252 and mix text with expressions.")
5253 (license license:asl2.0))))
5254
5255 (define-public cl-log4cl
5256 (sbcl-package->cl-source-package sbcl-log4cl))
5257
5258 (define-public ecl-log4cl
5259 (sbcl-package->ecl-package sbcl-log4cl))
5260
5261 (define-public sbcl-printv
5262 (let ((commit "646d31978dbbb460fffb160fd65bb2be9a5a434e")
5263 (revision "1"))
5264 (package
5265 (name "sbcl-printv")
5266 (version (git-version "0.1.0" revision commit))
5267 (source
5268 (origin
5269 (method git-fetch)
5270 (uri (git-reference
5271 (url "https://github.com/danlentz/printv")
5272 (commit commit)))
5273 (file-name (git-file-name "printv" version))
5274 (sha256
5275 (base32 "08jvy82abm7qi3wrxh6gvmwg9gy0zzhg4cfqajdwrggbah8mj5a6"))))
5276 (build-system asdf-build-system/sbcl)
5277 (home-page "https://github.com/danlentz/printv")
5278 (synopsis "Common Lisp tracing and debug-logging macro")
5279 (description
5280 "@code{PRINTV} is a \"batteries-included\" tracing and debug-logging
5281 macro for Common Lisp.")
5282 (license license:asl2.0))))
5283
5284 (define-public ecl-printv
5285 (sbcl-package->ecl-package sbcl-printv))
5286
5287 (define-public cl-printv
5288 (sbcl-package->cl-source-package sbcl-printv))
5289
5290 (define-public sbcl-cl-debug
5291 (let ((commit "b334280806104ee7f7d3aec666bf7e08d2f89b31")
5292 (revision "1"))
5293 (package
5294 (name "sbcl-cl-debug")
5295 (version (git-version "1.0.0" revision commit))
5296 (source
5297 (origin
5298 (method git-fetch)
5299 (uri (git-reference
5300 (url "https://github.com/kmx-io/cl-debug")
5301 (commit commit)))
5302 (file-name (git-file-name "cl-debug" version))
5303 (sha256
5304 (base32 "0w5vxbjsgr3zfpivdmghmhzxskfdvm1p34c8whwps2xlhypxsa78"))))
5305 (build-system asdf-build-system/sbcl)
5306 (home-page "https://github.com/kmx-io/cl-debug")
5307 (synopsis "Common Lisp cross-package debugging facility")
5308 (description
5309 "CL-DEBUG provides a unified way to enable or disable debug-specific code.
5310 Debugging code can be enabled or disabled relative to program features denoted
5311 by either a symbol or a keyword.")
5312 (license license:isc))))
5313
5314 (define-public ecl-cl-debug
5315 (sbcl-package->ecl-package sbcl-cl-debug))
5316
5317 (define-public cl-debug
5318 (sbcl-package->cl-source-package sbcl-cl-debug))
5319
5320 (define-public sbcl-verbose
5321 (let ((commit "c5b7ecd465be61b35af17ef57564697b88397174")
5322 (revision "1"))
5323 (package
5324 (name "sbcl-verbose")
5325 (version (git-version "2.0.0" revision commit))
5326 (source
5327 (origin
5328 (method git-fetch)
5329 (uri (git-reference
5330 (url "https://github.com/Shinmera/verbose/")
5331 (commit commit)))
5332 (file-name (git-file-name "verbose" version))
5333 (sha256
5334 (base32 "0r51ydj5v7afi2jrlscbhxprv13d9vzg5316g1yzwaxc1kzsdsw6"))))
5335 (build-system asdf-build-system/sbcl)
5336 (inputs
5337 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
5338 ("dissect" ,sbcl-dissect)
5339 ("documentation-utils" ,sbcl-documentation-utils)
5340 ("local-time" ,sbcl-local-time)
5341 ("piping" ,sbcl-piping)))
5342 (home-page "https://shinmera.github.io/verbose/")
5343 (synopsis "Logging framework using the piping library")
5344 (description
5345 "This is a Common Lisp library providing logging faciltiy similar to
5346 @code{CL-LOG} and @code{LOG4CL}.")
5347 (license license:zlib))))
5348
5349 (define-public ecl-verbose
5350 (sbcl-package->ecl-package sbcl-verbose))
5351
5352 (define-public cl-verbose
5353 (sbcl-package->cl-source-package sbcl-verbose))
5354
5355 (define-public sbcl-find-port
5356 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
5357 (revision "1"))
5358 (package
5359 (name "sbcl-find-port")
5360 (build-system asdf-build-system/sbcl)
5361 (version "0.1")
5362 (home-page "https://github.com/eudoxia0/find-port")
5363 (source
5364 (origin
5365 (method git-fetch)
5366 (uri (git-reference
5367 (url home-page)
5368 (commit commit)))
5369 (file-name (git-file-name name version))
5370 (sha256
5371 (base32
5372 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
5373 (native-inputs
5374 `(("fiveam" ,sbcl-fiveam)))
5375 (inputs
5376 `(("sbcl-usocket" ,sbcl-usocket)))
5377 (synopsis "Find open ports programmatically in Common Lisp")
5378 (description "This is a small Common Lisp library that finds an open
5379 port within a range.")
5380 (license license:expat))))
5381
5382 (define-public cl-find-port
5383 (sbcl-package->cl-source-package sbcl-find-port))
5384
5385 (define-public ecl-find-port
5386 (sbcl-package->ecl-package sbcl-find-port))
5387
5388 (define-public sbcl-clunit
5389 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
5390 (revision "1"))
5391 (package
5392 (name "sbcl-clunit")
5393 (version (git-version "0.2.3" revision commit))
5394 (source
5395 (origin
5396 (method git-fetch)
5397 (uri (git-reference
5398 (url "https://github.com/tgutu/clunit")
5399 (commit commit)))
5400 (file-name (git-file-name name version))
5401 (sha256
5402 (base32
5403 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
5404 (build-system asdf-build-system/sbcl)
5405 (synopsis "CLUnit is a Common Lisp unit testing framework")
5406 (description
5407 "CLUnit is a Common Lisp unit testing framework. It is designed
5408 to be easy to use so that you can quickly start testing. CLUnit
5409 provides a rich set of features aimed at improving your unit testing
5410 experience.")
5411 (home-page "https://tgutu.github.io/clunit/")
5412 ;; MIT License
5413 (license license:expat))))
5414
5415 (define-public cl-clunit
5416 (sbcl-package->cl-source-package sbcl-clunit))
5417
5418 (define-public ecl-clunit
5419 (sbcl-package->ecl-package sbcl-clunit))
5420
5421 (define-public sbcl-py4cl
5422 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
5423 (revision "1"))
5424 (package
5425 (name "sbcl-py4cl")
5426 (version (git-version "0.0.0" revision commit))
5427 (source
5428 (origin
5429 (method git-fetch)
5430 (uri (git-reference
5431 (url "https://github.com/bendudson/py4cl")
5432 (commit commit)))
5433 (file-name (git-file-name name version))
5434 (sha256
5435 (base32
5436 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
5437 (modules '((guix build utils)))))
5438 (build-system asdf-build-system/sbcl)
5439 (native-inputs
5440 `(("sbcl-clunit" ,sbcl-clunit)))
5441 (inputs
5442 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5443 (propagated-inputs
5444 ;; This package doesn't do anything without python available
5445 `(("python" ,python)
5446 ;; For multi-dimensional array support
5447 ("python-numpy" ,python-numpy)))
5448 (arguments
5449 '(#:phases
5450 (modify-phases %standard-phases
5451 (add-after 'unpack 'replace-*base-directory*-var
5452 (lambda* (#:key outputs #:allow-other-keys)
5453 ;; In the ASD, the author makes an attempt to
5454 ;; programatically determine the location of the
5455 ;; source-code so lisp can call into "py4cl.py". We can
5456 ;; hard-code this since we know where this file will
5457 ;; reside.
5458 (substitute* "src/callpython.lisp"
5459 (("py4cl/config:\\*base-directory\\*")
5460 (string-append
5461 "\""
5462 (assoc-ref outputs "out")
5463 "/share/common-lisp/sbcl-source/py4cl/"
5464 "\""))))))))
5465 (synopsis "Call python from Common Lisp")
5466 (description
5467 "Py4CL is a bridge between Common Lisp and Python, which enables Common
5468 Lisp to interact with Python code. It uses streams to communicate with a
5469 separate python process, the approach taken by cl4py. This is different to
5470 the CFFI approach used by burgled-batteries, but has the same goal.")
5471 (home-page "https://github.com/bendudson/py4cl")
5472 ;; MIT License
5473 (license license:expat))))
5474
5475 (define-public cl-py4cl
5476 (sbcl-package->cl-source-package sbcl-py4cl))
5477
5478 (define-public ecl-py4cl
5479 (sbcl-package->ecl-package sbcl-py4cl))
5480
5481 (define-public sbcl-parse-declarations
5482 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
5483 (revision "1"))
5484 (package
5485 (name "sbcl-parse-declarations")
5486 (version (git-version "1.0.0" revision commit))
5487 (source
5488 (origin
5489 (method git-fetch)
5490 (uri (git-reference
5491 (url (string-append
5492 "https://gitlab.common-lisp.net/parse-declarations/"
5493 "parse-declarations.git"))
5494 (commit commit)))
5495 (file-name (git-file-name name version))
5496 (sha256
5497 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
5498 (build-system asdf-build-system/sbcl)
5499 (arguments
5500 `(#:asd-systems '("parse-declarations-1.0")))
5501 (home-page "https://common-lisp.net/project/parse-declarations/")
5502 (synopsis "Parse, filter, and build declarations")
5503 (description
5504 "Parse-Declarations is a Common Lisp library to help writing
5505 macros which establish bindings. To be semantically correct, such
5506 macros must take user declarations into account, as these may affect
5507 the bindings they establish. Yet the ANSI standard of Common Lisp does
5508 not provide any operators to work with declarations in a convenient,
5509 high-level way. This library provides such operators.")
5510 ;; MIT License
5511 (license license:expat))))
5512
5513 (define-public cl-parse-declarations
5514 (sbcl-package->cl-source-package sbcl-parse-declarations))
5515
5516 (define-public ecl-parse-declarations
5517 (sbcl-package->ecl-package sbcl-parse-declarations))
5518
5519 (define-public sbcl-cl-quickcheck
5520 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5521 (revision "1"))
5522 (package
5523 (name "sbcl-cl-quickcheck")
5524 (version (git-version "0.0.4" revision commit))
5525 (source
5526 (origin
5527 (method git-fetch)
5528 (uri (git-reference
5529 (url "https://github.com/mcandre/cl-quickcheck")
5530 (commit commit)))
5531 (file-name (git-file-name name version))
5532 (sha256
5533 (base32
5534 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5535 (build-system asdf-build-system/sbcl)
5536 (synopsis
5537 "Common Lisp port of the QuickCheck unit test framework")
5538 (description
5539 "Common Lisp port of the QuickCheck unit test framework")
5540 (home-page "https://github.com/mcandre/cl-quickcheck")
5541 ;; MIT
5542 (license license:expat))))
5543
5544 (define-public cl-quickcheck
5545 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5546
5547 (define-public ecl-cl-quickcheck
5548 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5549
5550 (define-public sbcl-burgled-batteries3
5551 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
5552 (revision "2"))
5553 (package
5554 (name "sbcl-burgled-batteries3")
5555 (version (git-version "0.0.0" revision commit))
5556 (source
5557 (origin
5558 (method git-fetch)
5559 (uri (git-reference
5560 (url "https://github.com/snmsts/burgled-batteries3")
5561 (commit commit)))
5562 (file-name (git-file-name name version))
5563 (sha256
5564 (base32
5565 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
5566 (build-system asdf-build-system/sbcl)
5567 (arguments
5568 `(#:tests? #f
5569 #:modules (((guix build python-build-system) #:select (python-version))
5570 ,@%asdf-build-system-modules)
5571 #:imported-modules ((guix build python-build-system)
5572 ,@%asdf-build-system-modules)
5573 #:phases
5574 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
5575 (add-after 'unpack 'set-*cpython-include-dir*-var
5576 (lambda* (#:key inputs #:allow-other-keys)
5577 (let ((python (assoc-ref inputs "python")))
5578 (setenv "BB_PYTHON3_INCLUDE_DIR"
5579 (string-append python "/include/python"
5580 (python-version python)))
5581 (setenv "BB_PYTHON3_DYLIB"
5582 (string-append python "/lib/libpython3.so"))
5583 #t)))
5584 (add-after 'unpack 'adjust-for-python-3.8
5585 (lambda _
5586 ;; This method is no longer part of the public API.
5587 (substitute* "ffi-interface.lisp"
5588 ((".*PyEval_ReInitThreads.*")
5589 ""))
5590 #t)))))
5591 (native-inputs
5592 `(("sbcl-cl-fad" ,sbcl-cl-fad)
5593 ("sbcl-lift" ,sbcl-lift)
5594 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5595 (inputs
5596 `(("python" ,python)
5597 ("sbcl-cffi" ,sbcl-cffi)
5598 ("sbcl-alexandria" , sbcl-alexandria)
5599 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5600 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5601 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5602 (description
5603 "This package provides a shim between Python3 (specifically, the
5604 CPython implementation of Python) and Common Lisp.")
5605 (home-page "https://github.com/snmsts/burgled-batteries3")
5606 (license license:expat))))
5607
5608 (define-public cl-burgled-batteries3
5609 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5610
5611 (define-public ecl-burgled-batteries3
5612 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5613
5614 (define-public sbcl-metabang-bind
5615 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5616 (revision "1"))
5617 (package
5618 (name "sbcl-metabang-bind")
5619 (version (git-version "0.8.0" revision commit))
5620 (source
5621 (origin
5622 (method git-fetch)
5623 (uri (git-reference
5624 (url "https://github.com/gwkkwg/metabang-bind")
5625 (commit commit)))
5626 (file-name (git-file-name name version))
5627 (sha256
5628 (base32
5629 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5630 (build-system asdf-build-system/sbcl)
5631 (native-inputs
5632 `(("sbcl-lift" ,sbcl-lift)))
5633 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5634 (description
5635 "Bind extends the idea of of let and destructing to provide a uniform
5636 syntax for all your accessor needs. It combines @code{let},
5637 @code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5638 editing, property or association-lists, and @code{multiple-value-bind} and a
5639 whole lot more into a single form.")
5640 (home-page "https://common-lisp.net/project/metabang-bind/")
5641 ;; MIT License
5642 (license license:expat))))
5643
5644 (define-public cl-metabang-bind
5645 (sbcl-package->cl-source-package sbcl-metabang-bind))
5646
5647 (define-public ecl-metabang-bind
5648 (sbcl-package->ecl-package sbcl-metabang-bind))
5649
5650 (define-public sbcl-fare-utils
5651 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5652 (revision "1"))
5653 (package
5654 (name "sbcl-fare-utils")
5655 (version (git-version "1.0.0.5" revision commit))
5656 (source
5657 (origin
5658 (method git-fetch)
5659 (uri
5660 (git-reference
5661 (url
5662 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5663 (commit commit)))
5664 (file-name (git-file-name name version))
5665 (sha256
5666 (base32
5667 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5668 (build-system asdf-build-system/sbcl)
5669 (arguments
5670 `(#:test-asd-file "test/fare-utils-test.asd"))
5671 (native-inputs
5672 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5673 (synopsis "Collection of utilities and data structures")
5674 (description
5675 "fare-utils is a small collection of utilities. It contains a lot of
5676 basic everyday functions and macros.")
5677 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5678 ;; MIT License
5679 (license license:expat))))
5680
5681 (define-public cl-fare-utils
5682 (sbcl-package->cl-source-package sbcl-fare-utils))
5683
5684 (define-public ecl-fare-utils
5685 (sbcl-package->ecl-package sbcl-fare-utils))
5686
5687 (define-public sbcl-fare-mop
5688 (let ((commit "538aa94590a0354f382eddd9238934763434af30")
5689 (revision "1"))
5690 (package
5691 (name "sbcl-fare-mop")
5692 (version (git-version "1.0.1" revision commit))
5693 (source
5694 (origin
5695 (method git-fetch)
5696 (uri (git-reference
5697 (url "https://github.com/fare/fare-mop")
5698 (commit commit)))
5699 (file-name (git-file-name "fare-mop" version))
5700 (sha256
5701 (base32
5702 "0maxs8392953fhnaa6zwnm2mdbhxjxipp4g4rvypm06ixr6pyv1c"))))
5703 (build-system asdf-build-system/sbcl)
5704 (inputs
5705 `(("close-mop" ,sbcl-closer-mop)
5706 ("fare-utils" ,sbcl-fare-utils)))
5707 (home-page "https://github.com/fare/fare-mop")
5708 (synopsis "General purpose Common Lisp utilities using the MOP")
5709 (description
5710 "FARE-MOP is a small collection of utilities using the MetaObject
5711 Protocol. It notably contains a SIMPLE-PRINT-OBJECT method, and
5712 a SIMPLE-PRINT-OBJECT-MIXIN mixin that allow you to trivially define
5713 PRINT-OBJECT methods that print the interesting slots in your objects, which is
5714 great for REPL interaction and debugging.")
5715 (license license:unlicense))))
5716
5717 (define-public ecl-fare-mop
5718 (sbcl-package->ecl-package sbcl-fare-mop))
5719
5720 (define-public cl-fare-mop
5721 (sbcl-package->cl-source-package sbcl-fare-mop))
5722
5723 (define-public sbcl-inferior-shell
5724 (let ((commit "15c2d04a7398db965ea1c3ba2d49efa7c851f2c2")
5725 (revision "1"))
5726 (package
5727 (name "sbcl-inferior-shell")
5728 (version (git-version "2.0.5" revision commit))
5729 (source
5730 (origin
5731 (method git-fetch)
5732 (uri (git-reference
5733 (url "https://github.com/fare/inferior-shell")
5734 (commit commit)))
5735 (file-name (git-file-name "inferior-shell" version))
5736 (sha256
5737 (base32 "02qx37zzk5j4xmwh77k2qa2wvnzvaj6qml5dh2q7b6b1ljvgcj4m"))))
5738 (build-system asdf-build-system/sbcl)
5739 (native-inputs
5740 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5741 (inputs
5742 `(("alexandira" ,sbcl-alexandria)
5743 ("fare-mop" ,sbcl-fare-mop)
5744 ("fare-quasiquote" ,sbcl-fare-quasiquote)
5745 ("fare-utils" ,sbcl-fare-utils)
5746 ("trivia" ,sbcl-trivia)))
5747 (home-page "https://github.com/fare/inferior-shell")
5748 (synopsis "Spawn local or remote processes and shell pipes")
5749 (description
5750 "This package provides a Common Lisp system helping in scripting, it
5751 uses @code{uiop:run-program} as a backend.")
5752 (license license:expat))))
5753
5754 (define-public ecl-inferior-shell
5755 (sbcl-package->ecl-package sbcl-inferior-shell))
5756
5757 (define-public cl-inferior-shell
5758 (sbcl-package->cl-source-package sbcl-inferior-shell))
5759
5760 (define-public sbcl-trivial-utf-8
5761 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5762 (revision "1"))
5763 (package
5764 (name "sbcl-trivial-utf-8")
5765 (version (git-version "0.0.0" revision commit))
5766 (source
5767 (origin
5768 (method git-fetch)
5769 (uri
5770 (git-reference
5771 (url (string-append "https://gitlab.common-lisp.net/"
5772 "trivial-utf-8/trivial-utf-8.git"))
5773 (commit commit)))
5774 (file-name (git-file-name name version))
5775 (sha256
5776 (base32
5777 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5778 (arguments
5779 ;; Guix incorrectly assumes the "8" is part of the version
5780 ;; number and lobs it off.
5781 `(#:asd-systems '("trivial-utf-8")))
5782 (build-system asdf-build-system/sbcl)
5783 (synopsis "UTF-8 input/output library")
5784 (description
5785 "The Babel library solves a similar problem while understanding more
5786 encodings. Trivial UTF-8 was written before Babel existed, but for new
5787 projects you might be better off going with Babel. The one plus that Trivial
5788 UTF-8 has is that it doesn't depend on any other libraries.")
5789 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5790 (license license:bsd-3))))
5791
5792 (define-public cl-trivial-utf-8
5793 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5794
5795 (define-public ecl-trivial-utf-8
5796 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5797
5798 (define-public sbcl-idna
5799 (package
5800 (name "sbcl-idna")
5801 (build-system asdf-build-system/sbcl)
5802 (version "0.2.2")
5803 (home-page "https://github.com/antifuchs/idna")
5804 (source
5805 (origin
5806 (method git-fetch)
5807 (uri (git-reference
5808 (url home-page)
5809 (commit version)))
5810 (file-name (git-file-name name version))
5811 (sha256
5812 (base32
5813 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5814 (inputs
5815 `(("split-sequence" ,sbcl-split-sequence)))
5816 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5817 (description "This Common Lisp library provides string encoding and
5818 decoding routines for IDNA, the International Domain Names in Applications.")
5819 (license license:expat)))
5820
5821 (define-public cl-idna
5822 (sbcl-package->cl-source-package sbcl-idna))
5823
5824 (define-public ecl-idna
5825 (sbcl-package->ecl-package sbcl-idna))
5826
5827 (define-public sbcl-swap-bytes
5828 (package
5829 (name "sbcl-swap-bytes")
5830 (build-system asdf-build-system/sbcl)
5831 (version "1.2")
5832 (home-page "https://github.com/sionescu/swap-bytes")
5833 (source
5834 (origin
5835 (method git-fetch)
5836 (uri (git-reference
5837 (url home-page)
5838 (commit (string-append "v" version))))
5839 (file-name (git-file-name name version))
5840 (sha256
5841 (base32
5842 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
5843 (inputs
5844 `(("trivial-features" ,sbcl-trivial-features)))
5845 (native-inputs
5846 `(("fiveam" ,sbcl-fiveam)))
5847 (synopsis "Efficient endianness conversion for Common Lisp")
5848 (description "This Common Lisp library provides optimized byte-swapping
5849 primitives. The library can change endianness of unsigned integers of length
5850 1/2/4/8. Very useful in implementing various network protocols and file
5851 formats.")
5852 (license license:expat)))
5853
5854 (define-public cl-swap-bytes
5855 (sbcl-package->cl-source-package sbcl-swap-bytes))
5856
5857 (define-public ecl-swap-bytes
5858 (sbcl-package->ecl-package sbcl-swap-bytes))
5859
5860 (define-public sbcl-iolib
5861 ;; Latest release is from June 2017.
5862 (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
5863 (revision "2"))
5864 (package
5865 (name "sbcl-iolib")
5866 (version (git-version "0.8.3" revision commit))
5867 (home-page "https://github.com/sionescu/iolib")
5868 (source
5869 (origin
5870 (method git-fetch)
5871 (uri (git-reference
5872 (url home-page)
5873 (commit commit)))
5874 (file-name (git-file-name name version))
5875 (sha256
5876 (base32
5877 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
5878 (build-system asdf-build-system/sbcl)
5879 (inputs
5880 `(("alexandria" ,sbcl-alexandria)
5881 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5882 ("cffi" ,sbcl-cffi)
5883 ("idna" ,sbcl-idna)
5884 ("libfixposix" ,libfixposix)
5885 ("split-sequence" ,sbcl-split-sequence)
5886 ("swap-bytes" ,sbcl-swap-bytes)))
5887 (arguments
5888 '(#:asd-files '("iolib.asdf.asd"
5889 "iolib.conf.asd"
5890 "iolib.common-lisp.asd"
5891 "iolib.base.asd"
5892 "iolib.asd")
5893 #:phases
5894 (modify-phases %standard-phases
5895 (add-after 'unpack 'fix-paths
5896 (lambda* (#:key inputs #:allow-other-keys)
5897 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5898 (("\\(:default \"libfixposix\"\\)")
5899 (string-append
5900 "(:default \""
5901 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5902 ;; Socket tests need Internet access, disable them.
5903 (substitute* "iolib.asd"
5904 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5905 "")))))))
5906 (synopsis "Common Lisp I/O library")
5907 (description "IOlib is to be a better and more modern I/O library than
5908 the standard Common Lisp library. It contains a socket library, a DNS
5909 resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5910 and @code{kqueue(2)}), a pathname library and file-system utilities.")
5911 (license license:expat))))
5912
5913 (define-public cl-iolib
5914 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
5915 (package
5916 (inherit parent)
5917 (propagated-inputs
5918 ;; Need header to compile.
5919 `(("libfixposix" ,libfixposix)
5920 ,@(package-propagated-inputs parent))))))
5921
5922 (define-public ecl-iolib
5923 (sbcl-package->ecl-package sbcl-iolib))
5924
5925 (define-public sbcl-ieee-floats
5926 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5927 (revision "1"))
5928 (package
5929 (name "sbcl-ieee-floats")
5930 (build-system asdf-build-system/sbcl)
5931 (version (git-version "20170924" revision commit))
5932 (home-page "https://github.com/marijnh/ieee-floats/")
5933 (source
5934 (origin
5935 (method git-fetch)
5936 (uri (git-reference
5937 (url home-page)
5938 (commit commit)))
5939 (file-name (git-file-name name version))
5940 (sha256
5941 (base32
5942 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5943 (native-inputs
5944 `(("fiveam" ,sbcl-fiveam)))
5945 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5946 (description "This is a Common Lisp library that converts
5947 floating point values to IEEE 754 binary representation.")
5948 (license license:bsd-3))))
5949
5950 (define-public cl-ieee-floats
5951 (sbcl-package->cl-source-package sbcl-ieee-floats))
5952
5953 (define-public ecl-ieee-floats
5954 (sbcl-package->ecl-package sbcl-ieee-floats))
5955
5956 (define sbcl-closure-common
5957 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5958 (revision "1"))
5959 (package
5960 (name "sbcl-closure-common")
5961 (build-system asdf-build-system/sbcl)
5962 (version (git-version "20101006" revision commit))
5963 (home-page "https://common-lisp.net/project/cxml/")
5964 (source
5965 (origin
5966 (method git-fetch)
5967 (uri (git-reference
5968 (url "https://github.com/sharplispers/closure-common")
5969 (commit commit)))
5970 (file-name (git-file-name name version))
5971 (sha256
5972 (base32
5973 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5974 (inputs
5975 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5976 ("babel" ,sbcl-babel)))
5977 (synopsis "Support Common Lisp library for CXML")
5978 (description "Closure-common is an internal helper library. The name
5979 Closure is a reference to the web browser it was originally written for.")
5980 ;; TODO: License?
5981 (license #f))))
5982
5983 (define-public sbcl-cxml
5984 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5985 (revision "1"))
5986 (package
5987 (name "sbcl-cxml")
5988 (version (git-version "0.0.0" revision commit))
5989 (source
5990 (origin
5991 (method git-fetch)
5992 (uri (git-reference
5993 (url "https://github.com/sharplispers/cxml")
5994 (commit commit)))
5995 (file-name (git-file-name name version))
5996 (sha256
5997 (base32
5998 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5999 (build-system asdf-build-system/sbcl)
6000 (inputs
6001 `(("closure-common" ,sbcl-closure-common)
6002 ("puri" ,sbcl-puri)
6003 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6004 (synopsis "Common Lisp XML parser")
6005 (description "CXML implements a namespace-aware, validating XML 1.0
6006 parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
6007 offered, one SAX-like, the other similar to StAX.")
6008 (home-page "https://common-lisp.net/project/cxml/")
6009 (license license:llgpl))))
6010
6011 (define-public cl-cxml
6012 (sbcl-package->cl-source-package sbcl-cxml))
6013
6014 (define-public ecl-cxml
6015 (sbcl-package->ecl-package sbcl-cxml))
6016
6017 (define-public sbcl-cl-reexport
6018 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
6019 (revision "1"))
6020 (package
6021 (name "sbcl-cl-reexport")
6022 (build-system asdf-build-system/sbcl)
6023 (version (git-version "0.1" revision commit))
6024 (home-page "https://github.com/takagi/cl-reexport")
6025 (source
6026 (origin
6027 (method git-fetch)
6028 (uri (git-reference
6029 (url home-page)
6030 (commit commit)))
6031 (file-name (git-file-name name version))
6032 (sha256
6033 (base32
6034 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
6035 (inputs
6036 `(("alexandria" ,sbcl-alexandria)))
6037 (arguments
6038 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
6039 `(#:tests? #f))
6040 (synopsis "HTTP cookie manager for Common Lisp")
6041 (description "cl-cookie is a Common Lisp library featuring parsing of
6042 cookie headers, cookie creation, cookie jar creation and more.")
6043 (license license:llgpl))))
6044
6045 (define-public cl-reexport
6046 (sbcl-package->cl-source-package sbcl-cl-reexport))
6047
6048 (define-public ecl-cl-reexport
6049 (sbcl-package->ecl-package sbcl-cl-reexport))
6050
6051 (define-public sbcl-cl-cookie
6052 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
6053 (revision "1"))
6054 (package
6055 (name "sbcl-cl-cookie")
6056 (build-system asdf-build-system/sbcl)
6057 (version (git-version "0.9.10" revision commit))
6058 (home-page "https://github.com/fukamachi/cl-cookie")
6059 (source
6060 (origin
6061 (method git-fetch)
6062 (uri (git-reference
6063 (url home-page)
6064 (commit commit)))
6065 (file-name (git-file-name name version))
6066 (sha256
6067 (base32
6068 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
6069 (inputs
6070 `(("proc-parse" ,sbcl-proc-parse)
6071 ("alexandria" ,sbcl-alexandria)
6072 ("quri" ,sbcl-quri)
6073 ("cl-ppcre" ,sbcl-cl-ppcre)
6074 ("local-time" ,sbcl-local-time)))
6075 (native-inputs
6076 `(("prove" ,sbcl-prove)))
6077 (arguments
6078 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
6079 `(#:tests? #f))
6080 (synopsis "HTTP cookie manager for Common Lisp")
6081 (description "cl-cookie is a Common Lisp library featuring parsing of
6082 cookie headers, cookie creation, cookie jar creation and more.")
6083 (license license:bsd-2))))
6084
6085 (define-public cl-cookie
6086 (sbcl-package->cl-source-package sbcl-cl-cookie))
6087
6088 (define-public ecl-cl-cookie
6089 (sbcl-package->ecl-package sbcl-cl-cookie))
6090
6091 (define-public sbcl-dexador
6092 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
6093 (revision "1"))
6094 (package
6095 (name "sbcl-dexador")
6096 (build-system asdf-build-system/sbcl)
6097 (version "0.9.14" )
6098 (home-page "https://github.com/fukamachi/dexador")
6099 (source
6100 (origin
6101 (method git-fetch)
6102 (uri (git-reference
6103 (url home-page)
6104 (commit commit)))
6105 (file-name (git-file-name name version))
6106 (sha256
6107 (base32
6108 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
6109 (inputs
6110 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
6111 ("babel" ,sbcl-babel)
6112 ("usocket" ,sbcl-usocket)
6113 ("fast-http" ,sbcl-fast-http)
6114 ("quri" ,sbcl-quri)
6115 ("fast-io" ,sbcl-fast-io)
6116 ("chunga" ,sbcl-chunga)
6117 ("cl-ppcre" ,sbcl-cl-ppcre)
6118 ("cl-cookie" ,sbcl-cl-cookie)
6119 ("trivial-mimes" ,sbcl-trivial-mimes)
6120 ("chipz" ,sbcl-chipz)
6121 ("cl-base64" ,sbcl-cl-base64)
6122 ("cl-reexport" ,sbcl-cl-reexport)
6123 ("cl+ssl" ,sbcl-cl+ssl)
6124 ("bordeaux-threads" ,sbcl-bordeaux-threads)
6125 ("alexandria" ,sbcl-alexandria)))
6126 (native-inputs
6127 `(("prove" ,sbcl-prove)
6128 ("lack" ,sbcl-lack)
6129 ("clack" ,sbcl-clack)
6130 ("babel" ,sbcl-babel)
6131 ("alexandria" ,sbcl-alexandria)
6132 ("cl-ppcre" ,sbcl-cl-ppcre)
6133 ("local-time" ,sbcl-local-time)
6134 ("trivial-features" ,sbcl-trivial-features)))
6135 (arguments
6136 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
6137 `(#:tests? #f
6138 #:phases
6139 (modify-phases %standard-phases
6140 (add-after 'unpack 'fix-permissions
6141 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
6142 (synopsis "Yet another HTTP client for Common Lisp")
6143 (description "Dexador is yet another HTTP client for Common Lisp with
6144 neat APIs and connection-pooling. It is meant to supersede Drakma.")
6145 (license license:expat))))
6146
6147 (define-public cl-dexador
6148 (package
6149 (inherit (sbcl-package->cl-source-package sbcl-dexador))
6150 (arguments
6151 `(#:phases
6152 ;; asdf-build-system/source has its own phases and does not inherit
6153 ;; from asdf-build-system/sbcl phases.
6154 (modify-phases %standard-phases/source
6155 ;; Already done in SBCL package.
6156 (delete 'reset-gzip-timestamps))))))
6157
6158 (define-public ecl-dexador
6159 (sbcl-package->ecl-package sbcl-dexador))
6160
6161 (define-public sbcl-lisp-namespace
6162 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
6163 (revision "1"))
6164 (package
6165 (name "sbcl-lisp-namespace")
6166 (build-system asdf-build-system/sbcl)
6167 (version (git-version "0.1" revision commit))
6168 (home-page "https://github.com/guicho271828/lisp-namespace")
6169 (source
6170 (origin
6171 (method git-fetch)
6172 (uri (git-reference
6173 (url home-page)
6174 (commit commit)))
6175 (file-name (git-file-name name version))
6176 (sha256
6177 (base32
6178 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
6179 (inputs
6180 `(("alexandria" ,sbcl-alexandria)))
6181 (native-inputs
6182 `(("fiveam" ,sbcl-fiveam)))
6183 (arguments
6184 `(#:test-asd-file "lisp-namespace.test.asd"
6185 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
6186 #:tests? #f))
6187 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
6188 (description "Common Lisp already has major 2 namespaces, function
6189 namespace and value namespace (or variable namespace), but there are actually
6190 more — e.g., class namespace.
6191 This library offers macros to deal with symbols from any namespace.")
6192 (license license:llgpl))))
6193
6194 (define-public cl-lisp-namespace
6195 (sbcl-package->cl-source-package sbcl-lisp-namespace))
6196
6197 (define-public ecl-lisp-namespace
6198 (sbcl-package->ecl-package sbcl-lisp-namespace))
6199
6200 (define-public sbcl-trivial-cltl2
6201 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
6202 (revision "2"))
6203 (package
6204 (name "sbcl-trivial-cltl2")
6205 (build-system asdf-build-system/sbcl)
6206 (version (git-version "0.1.1" revision commit))
6207 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
6208 (source
6209 (origin
6210 (method git-fetch)
6211 (uri (git-reference
6212 (url home-page)
6213 (commit commit)))
6214 (file-name (git-file-name name version))
6215 (sha256
6216 (base32
6217 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
6218 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
6219 (description "This library is a portable compatibility layer around
6220 \"Common Lisp the Language, 2nd
6221 Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
6222 and it exports symbols from implementation-specific packages.")
6223 (license license:llgpl))))
6224
6225 (define-public cl-trivial-cltl2
6226 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
6227
6228 (define-public ecl-trivial-cltl2
6229 (sbcl-package->ecl-package sbcl-trivial-cltl2))
6230
6231 (define-public sbcl-introspect-environment
6232 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
6233 (revision "1"))
6234 (package
6235 (name "sbcl-introspect-environment")
6236 (build-system asdf-build-system/sbcl)
6237 (version (git-version "0.1" revision commit))
6238 (home-page "https://github.com/Bike/introspect-environment")
6239 (source
6240 (origin
6241 (method git-fetch)
6242 (uri (git-reference
6243 (url home-page)
6244 (commit commit)))
6245 (file-name (git-file-name name version))
6246 (sha256
6247 (base32
6248 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
6249 (native-inputs
6250 `(("fiveam" ,sbcl-fiveam)))
6251 (synopsis "Common Lisp environment introspection portability layer")
6252 (description "This library is a small interface to portable but
6253 nonstandard introspection of Common Lisp environments. It is intended to
6254 allow a bit more compile-time introspection of environments in Common Lisp.
6255
6256 Quite a bit of information is available at the time a macro or compiler-macro
6257 runs; inlining info, type declarations, that sort of thing. This information
6258 is all standard - any Common Lisp program can @code{(declare (integer x))} and
6259 such.
6260
6261 This info ought to be accessible through the standard @code{&environment}
6262 parameters, but it is not. Several implementations keep the information for
6263 their own purposes but do not make it available to user programs, because
6264 there is no standard mechanism to do so.
6265
6266 This library uses implementation-specific hooks to make information available
6267 to users. This is currently supported on SBCL, CCL, and CMUCL. Other
6268 implementations have implementations of the functions that do as much as they
6269 can and/or provide reasonable defaults.")
6270 (license license:wtfpl2))))
6271
6272 (define-public cl-introspect-environment
6273 (sbcl-package->cl-source-package sbcl-introspect-environment))
6274
6275 (define-public ecl-introspect-environment
6276 (sbcl-package->ecl-package sbcl-introspect-environment))
6277
6278 (define-public sbcl-type-i
6279 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
6280 (revision "2"))
6281 (package
6282 (name "sbcl-type-i")
6283 (build-system asdf-build-system/sbcl)
6284 (version (git-version "0.1" revision commit))
6285 (home-page "https://github.com/guicho271828/type-i")
6286 (source
6287 (origin
6288 (method git-fetch)
6289 (uri (git-reference
6290 (url home-page)
6291 (commit commit)))
6292 (file-name (git-file-name name version))
6293 (sha256
6294 (base32
6295 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
6296 (inputs
6297 `(("alexandria" ,sbcl-alexandria)
6298 ("introspect-environment" ,sbcl-introspect-environment)
6299 ("trivia.trivial" ,sbcl-trivia.trivial)))
6300 (native-inputs
6301 `(("fiveam" ,sbcl-fiveam)))
6302 (arguments
6303 `(#:test-asd-file "type-i.test.asd"))
6304 (synopsis "Type inference utility on unary predicates for Common Lisp")
6305 (description "This library tries to provide a way to detect what kind of
6306 type the given predicate is trying to check. This is different from inferring
6307 the return type of a function.")
6308 (license license:llgpl))))
6309
6310 (define-public cl-type-i
6311 (sbcl-package->cl-source-package sbcl-type-i))
6312
6313 (define-public ecl-type-i
6314 (package
6315 (inherit (sbcl-package->ecl-package sbcl-type-i))
6316 (arguments
6317 ;; The tests get stuck indefinitly
6318 '(#:tests? #f))))
6319
6320 (define-public sbcl-optima
6321 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
6322 (revision "1"))
6323 (package
6324 (name "sbcl-optima")
6325 (build-system asdf-build-system/sbcl)
6326 (version (git-version "1.0" revision commit))
6327 (home-page "https://github.com/m2ym/optima")
6328 (source
6329 (origin
6330 (method git-fetch)
6331 (uri (git-reference
6332 (url home-page)
6333 (commit commit)))
6334 (file-name (git-file-name name version))
6335 (sha256
6336 (base32
6337 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
6338 (inputs
6339 `(("alexandria" ,sbcl-alexandria)
6340 ("closer-mop" ,sbcl-closer-mop)))
6341 (native-inputs
6342 `(("eos" ,sbcl-eos)))
6343 (arguments
6344 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
6345 `(#:tests? #f
6346 #:test-asd-file "optima.test.asd"))
6347 (synopsis "Optimized pattern matching library for Common Lisp")
6348 (description "Optima is a fast pattern matching library which uses
6349 optimizing techniques widely used in the functional programming world.")
6350 (license license:expat))))
6351
6352 (define-public cl-optima
6353 (sbcl-package->cl-source-package sbcl-optima))
6354
6355 (define-public ecl-optima
6356 (sbcl-package->ecl-package sbcl-optima))
6357
6358 (define-public sbcl-fare-quasiquote
6359 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
6360 (revision "1"))
6361 (package
6362 (name "sbcl-fare-quasiquote")
6363 (build-system asdf-build-system/sbcl)
6364 (version (git-version "1.0.1" revision commit))
6365 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
6366 (source
6367 (origin
6368 (method git-fetch)
6369 (uri (git-reference
6370 (url (string-append "https://gitlab.common-lisp.net/frideau/"
6371 "fare-quasiquote.git"))
6372 (commit commit)))
6373 (file-name (git-file-name name version))
6374 (sha256
6375 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
6376 (inputs
6377 `(("fare-utils" ,sbcl-fare-utils)
6378 ("named-readtables" ,sbcl-named-readtables)
6379 ("optima" ,sbcl-optima)))
6380 (arguments
6381 ;; XXX: Circular dependencies: Tests depend on subsystems,
6382 ;; which depend on the main systems.
6383 `(#:tests? #f
6384 #:asd-systems '("fare-quasiquote"
6385 "fare-quasiquote-extras")
6386 #:phases
6387 (modify-phases %standard-phases
6388 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
6389 ;; commits after 1.0.0.5, but ASDF fails to read the
6390 ;; "-REVISION-COMMIT" part generated by Guix.
6391 (add-after 'unpack 'patch-requirement
6392 (lambda _
6393 (substitute* "fare-quasiquote.asd"
6394 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
6395 "\"fare-utils\""))
6396 (substitute* "fare-quasiquote-optima.asd"
6397 (("\\(:version \"optima\" \"1\\.0\"\\)")
6398 "\"optima\""))
6399 #t)))))
6400 (synopsis "Pattern-matching friendly implementation of quasiquote")
6401 (description "The main purpose of this n+2nd reimplementation of
6402 quasiquote is enable matching of quasiquoted patterns, using Optima or
6403 Trivia.")
6404 (license license:expat))))
6405
6406 (define-public cl-fare-quasiquote
6407 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
6408
6409 (define-public ecl-fare-quasiquote
6410 (sbcl-package->ecl-package sbcl-fare-quasiquote))
6411
6412 ;;; Split the trivia package in two to work around the circular dependency
6413 ;;; between guicho271828/trivia and guicho271828/type-i.
6414 (define-public sbcl-trivia.trivial
6415 (let ((commit "7286d5d2a4f685f1cac8370816f95276c0851111")
6416 (revision "3"))
6417 (package
6418 (name "sbcl-trivia.trivial")
6419 (version (git-version "0.0.0" revision commit))
6420 (source
6421 (origin
6422 (method git-fetch)
6423 (uri (git-reference
6424 (url "https://github.com/guicho271828/trivia")
6425 (commit commit)))
6426 (file-name (git-file-name "trivia" version))
6427 (sha256
6428 (base32
6429 "0ln0sj3jry7kzbmxhnin66kpbqan1wp8wwgdbw4k29afbdblkcca"))))
6430 (build-system asdf-build-system/sbcl)
6431 (inputs
6432 `(("alexandria" ,sbcl-alexandria)
6433 ("closer-mop" ,sbcl-closer-mop)
6434 ("lisp-namespace" ,sbcl-lisp-namespace)
6435 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
6436 (arguments
6437 '(#:phases
6438 (modify-phases %standard-phases
6439 (add-after 'unpack 'fix-build
6440 (lambda _
6441 (for-each delete-file
6442 '("trivia.balland2006.asd"
6443 "trivia.ppcre.asd"
6444 "trivia.quasiquote.asd"
6445 "trivia.cffi.asd"
6446 "trivia.asd"
6447 "trivia.test.asd"))
6448 #t)))))
6449 (synopsis "Pattern matching in Common Lisp")
6450 (description "Trivia is a pattern matching compiler that is compatible
6451 with Optima, another pattern matching library for Common Lisp. It is meant to
6452 be faster and more extensible than Optima.")
6453 (home-page "https://github.com/guicho271828/trivia")
6454 (license license:llgpl))))
6455
6456 (define-public cl-trivia.trivial
6457 (sbcl-package->cl-source-package sbcl-trivia.trivial))
6458
6459 (define-public ecl-trivia.trivial
6460 (sbcl-package->ecl-package sbcl-trivia.trivial))
6461
6462 (define-public sbcl-trivia
6463 (package
6464 (inherit sbcl-trivia.trivial)
6465 (name "sbcl-trivia")
6466 (native-inputs
6467 `(("fiveam" ,sbcl-fiveam)
6468 ("optima" ,sbcl-optima)))
6469 (inputs
6470 `(("alexandria" ,sbcl-alexandria)
6471 ("cffi" ,sbcl-cffi)
6472 ("cl-ppcre" ,sbcl-cl-ppcre)
6473 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6474 ("iterate" ,sbcl-iterate)
6475 ("trivia.trivial" ,sbcl-trivia.trivial)
6476 ("type-i" ,sbcl-type-i)))
6477 (arguments
6478 '(#:asd-systems '("trivia"
6479 "trivia.ppcre"
6480 "trivia.quasiquote"
6481 "trivia.cffi")
6482 #:test-asd-file "trivia.test.asd"
6483 #:phases
6484 (modify-phases %standard-phases
6485 (add-after 'unpack 'fix-build
6486 (lambda _
6487 (for-each delete-file
6488 '("trivia.level0.asd"
6489 "trivia.level1.asd"
6490 "trivia.level2.asd"
6491 "trivia.trivial.asd"))
6492 #t)))))))
6493
6494 (define-public cl-trivia
6495 (sbcl-package->cl-source-package sbcl-trivia))
6496
6497 (define-public ecl-trivia
6498 (sbcl-package->ecl-package sbcl-trivia))
6499
6500 (define-public sbcl-mk-string-metrics
6501 (package
6502 (name "sbcl-mk-string-metrics")
6503 (version "0.1.2")
6504 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6505 (source (origin
6506 (method git-fetch)
6507 (uri (git-reference
6508 (url home-page)
6509 (commit version)))
6510 (sha256
6511 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6512 (file-name (git-file-name name version))))
6513 (build-system asdf-build-system/sbcl)
6514 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6515 (description "This library implements efficient algorithms that calculate
6516 various string metrics in Common Lisp:
6517
6518 @itemize
6519 @item Damerau-Levenshtein distance
6520 @item Hamming distance
6521 @item Jaccard similarity coefficient
6522 @item Jaro distance
6523 @item Jaro-Winkler distance
6524 @item Levenshtein distance
6525 @item Normalized Damerau-Levenshtein distance
6526 @item Normalized Levenshtein distance
6527 @item Overlap coefficient
6528 @end itemize\n")
6529 (license license:x11)))
6530
6531 (define-public cl-mk-string-metrics
6532 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6533
6534 (define-public ecl-mk-string-metrics
6535 (sbcl-package->ecl-package sbcl-mk-string-metrics))
6536
6537 (define-public sbcl-cl-str
6538 (package
6539 (name "sbcl-cl-str")
6540 (version "0.19")
6541 (home-page "https://github.com/vindarel/cl-str")
6542 (source (origin
6543 (method git-fetch)
6544 (uri (git-reference
6545 (url home-page)
6546 (commit version)))
6547 (sha256
6548 (base32 "1jyza2jhn7w6fl4w87pv0m87z5ia48m6dqw12k0mdh7l3mgjq839"))
6549 (file-name (git-file-name name version))))
6550 (build-system asdf-build-system/sbcl)
6551 (inputs
6552 `(("cl-ppcre" ,sbcl-cl-ppcre)
6553 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
6554 ("cl-change-case" ,sbcl-cl-change-case)))
6555 (native-inputs
6556 `(("prove" ,sbcl-prove)))
6557 (arguments
6558 `(#:asd-systems '("str")
6559 #:test-asd-file "str.test.asd"))
6560 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6561 (description "A modern and consistent Common Lisp string manipulation
6562 library that focuses on modernity, simplicity and discoverability:
6563 @code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6564 @code{str:concat strings} instead of an unusual format construct; one
6565 discoverable library instead of many; consistency and composability, where
6566 @code{s} is always the last argument, which makes it easier to feed pipes and
6567 arrows.")
6568 (license license:expat)))
6569
6570 (define-public cl-str
6571 (sbcl-package->cl-source-package sbcl-cl-str))
6572
6573 (define-public ecl-cl-str
6574 (sbcl-package->ecl-package sbcl-cl-str))
6575
6576 (define-public sbcl-cl-xmlspam
6577 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6578 (package
6579 (name "sbcl-cl-xmlspam")
6580 (build-system asdf-build-system/sbcl)
6581 (version (git-version "0.0.0" "1" commit))
6582 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6583 (source
6584 (origin
6585 (method git-fetch)
6586 (uri (git-reference
6587 (url home-page)
6588 (commit commit)))
6589 (file-name (string-append name "-" version))
6590 (sha256
6591 (base32
6592 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6593 (inputs
6594 `(("cxml" ,sbcl-cxml)
6595 ("cl-ppcre" ,sbcl-cl-ppcre)))
6596 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6597 (description "CXML does an excellent job at parsing XML elements, but what
6598 do you do when you have a XML file that's larger than you want to fit in
6599 memory, and you want to extract some information from it? Writing code to deal
6600 with SAX events, or even using Klacks, quickly becomes tedious.
6601 @code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6602 to write code that mirrors the structure of the XML that it's parsing. It
6603 also makes it easy to shift paradigms when necessary - the usual Lisp control
6604 constructs can be used interchangeably with pattern matching, and the full
6605 power of CXML is available when necessary.")
6606 (license license:bsd-3))))
6607
6608 (define-public cl-xmlspam
6609 (sbcl-package->cl-source-package sbcl-cl-xmlspam))
6610
6611 (define-public ecl-cl-xmlspam
6612 (sbcl-package->ecl-package sbcl-cl-xmlspam))
6613
6614 (define-public sbcl-dbus
6615 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6616 (revision "1"))
6617 (package
6618 (name "sbcl-dbus")
6619 (version (git-version "20190408" revision commit))
6620 (home-page "https://github.com/death/dbus")
6621 (source
6622 (origin
6623 (method git-fetch)
6624 (uri (git-reference
6625 (url home-page)
6626 (commit commit)))
6627 (file-name (git-file-name name version))
6628 (sha256
6629 (base32
6630 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
6631 (build-system asdf-build-system/sbcl)
6632 (inputs
6633 `(("alexandria" ,sbcl-alexandria)
6634 ("trivial-garbage" ,sbcl-trivial-garbage)
6635 ("babel" ,sbcl-babel)
6636 ("iolib" ,sbcl-iolib)
6637 ("ieee-floats" ,sbcl-ieee-floats)
6638 ("flexi-streams" ,sbcl-flexi-streams)
6639 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6640 ("ironclad" ,sbcl-ironclad)))
6641 (synopsis "D-Bus client library for Common Lisp")
6642 (description "This is a Common Lisp library that publishes D-Bus
6643 objects as well as send and notify other objects connected to a bus.")
6644 (license license:bsd-2))))
6645
6646 (define-public cl-dbus
6647 (sbcl-package->cl-source-package sbcl-dbus))
6648
6649 (define-public ecl-dbus
6650 (sbcl-package->ecl-package sbcl-dbus))
6651
6652 (define-public sbcl-cl-hooks
6653 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6654 (revision "1"))
6655 (package
6656 (name "sbcl-cl-hooks")
6657 (build-system asdf-build-system/sbcl)
6658 (version (git-version "0.2.1" revision commit))
6659 (home-page "https://github.com/scymtym/architecture.hooks")
6660 (source
6661 (origin
6662 (method git-fetch)
6663 (uri (git-reference
6664 (url home-page)
6665 (commit commit)))
6666 (file-name (git-file-name name version))
6667 (sha256
6668 (base32
6669 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6670 (inputs
6671 `(("alexandria" ,sbcl-alexandria)
6672 ("let-plus" ,sbcl-let-plus)
6673 ("trivial-garbage" ,sbcl-trivial-garbage)
6674 ("closer-mop" ,sbcl-closer-mop)))
6675 (native-inputs
6676 `(("fiveam" ,sbcl-fiveam)))
6677 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6678 (description "A hook, in the present context, is a certain kind of
6679 extension point in a program that allows interleaving the execution of
6680 arbitrary code with the execution of a the program without introducing any
6681 coupling between the two. Hooks are used extensively in the extensible editor
6682 Emacs.
6683
6684 In the Common LISP Object System (CLOS), a similar kind of extensibility is
6685 possible using the flexible multi-method dispatch mechanism. It may even seem
6686 that the concept of hooks does not provide any benefits over the possibilities
6687 of CLOS. However, there are some differences:
6688
6689 @itemize
6690
6691 @item There can be only one method for each combination of specializers and
6692 qualifiers. As a result this kind of extension point cannot be used by
6693 multiple extensions independently.
6694 @item Removing code previously attached via a @code{:before}, @code{:after} or
6695 @code{:around} method can be cumbersome.
6696 @item There could be other or even multiple extension points besides @code{:before}
6697 and @code{:after} in a single method.
6698 @item Attaching codes to individual objects using eql specializers can be
6699 cumbersome.
6700 @item Introspection of code attached a particular extension point is
6701 cumbersome since this requires enumerating and inspecting the methods of a
6702 generic function.
6703 @end itemize
6704
6705 This library tries to complement some of these weaknesses of method-based
6706 extension-points via the concept of hooks.")
6707 (license license:llgpl))))
6708
6709 (define-public cl-hooks
6710 (sbcl-package->cl-source-package sbcl-cl-hooks))
6711
6712 (define-public ecl-cl-hooks
6713 (sbcl-package->ecl-package sbcl-cl-hooks))
6714
6715 (define-public sbcl-cl-autowrap
6716 (let ((revision "1")
6717 (commit "ae846d6968fc0d000de0c541638929a157f3009e"))
6718 ;; no taged branches
6719 (package
6720 (name "sbcl-cl-autowrap")
6721 (version (git-version "1.0" revision commit))
6722 (source
6723 (origin
6724 (method git-fetch)
6725 (uri (git-reference
6726 (url "https://github.com/rpav/cl-autowrap")
6727 (commit commit)))
6728 (file-name (git-file-name name version))
6729 (sha256
6730 (base32 "1gisldp2zns92kdcaikghm7c38ldy2d884n8bfg0wcjvbz78p3ar"))))
6731 (build-system asdf-build-system/sbcl)
6732 (inputs
6733 `(("alexandria" ,sbcl-alexandria)
6734 ("cffi" ,sbcl-cffi)
6735 ("cl-json" ,sbcl-cl-json)
6736 ("cl-ppcre" ,sbcl-cl-ppcre)
6737 ("defpackage-plus" ,sbcl-defpackage-plus)
6738 ("trivial-features" ,sbcl-trivial-features)))
6739 (home-page "https://github.com/rpav/cl-autowrap")
6740 (synopsis "FFI wrapper generator for Common Lisp")
6741 (description "This is a c2ffi-based wrapper generator for Common Lisp.")
6742 (license license:bsd-2))))
6743
6744 (define-public cl-autowrap
6745 (sbcl-package->cl-source-package sbcl-cl-autowrap))
6746
6747 (define-public ecl-cl-autowrap
6748 (sbcl-package->ecl-package sbcl-cl-autowrap))
6749
6750 (define-public sbcl-s-sysdeps
6751 ;; No release since 2013.
6752 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
6753 (revision "2"))
6754 (package
6755 (name "sbcl-s-sysdeps")
6756 (build-system asdf-build-system/sbcl)
6757 (version (git-version "1" revision commit))
6758 (home-page "https://github.com/svenvc/s-sysdeps")
6759 (source
6760 (origin
6761 (method git-fetch)
6762 (uri (git-reference
6763 (url home-page)
6764 (commit commit)))
6765 (file-name (git-file-name name version))
6766 (sha256
6767 (base32
6768 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
6769 (inputs
6770 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
6771 ("usocket" ,sbcl-usocket)))
6772 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6773 (description "@code{s-sysdeps} is an abstraction layer over platform
6774 dependent functionality. This simple package is used as a building block in a
6775 number of other open source projects.
6776
6777 @code{s-sysdeps} abstracts:
6778
6779 @itemize
6780 @item managing processes,
6781 @item implementing a standard TCP/IP server,
6782 @item opening a client TCP/IP socket stream,
6783 @item working with process locks.
6784 @end itemize\n")
6785 (license license:llgpl))))
6786
6787 (define-public cl-s-sysdeps
6788 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6789
6790 (define-public ecl-s-sysdeps
6791 (sbcl-package->ecl-package sbcl-s-sysdeps))
6792
6793 (define-public sbcl-cl-prevalence
6794 (let ((commit "5a76be036092ed6c18cb695a9e03bce87e21b840")
6795 (revision "4"))
6796 (package
6797 (name "sbcl-cl-prevalence")
6798 (build-system asdf-build-system/sbcl)
6799 (version (git-version "5" revision commit))
6800 (home-page "https://github.com/40ants/cl-prevalence")
6801 (source
6802 (origin
6803 (method git-fetch)
6804 (uri (git-reference
6805 (url home-page)
6806 (commit commit)))
6807 (file-name (git-file-name name version))
6808 (sha256
6809 (base32
6810 "050h6hwv8f16b5v6fzba8zmih92hgaaq27i2x9wv1iib41gbia3r"))))
6811 (inputs
6812 `(("s-sysdeps" ,sbcl-s-sysdeps)
6813 ("s-xml" ,sbcl-s-xml)))
6814 (native-inputs
6815 `(("fiveam" ,sbcl-fiveam)))
6816 (synopsis "Implementation of object prevalence for Common Lisp")
6817 (description "This Common Lisp library implements object prevalence (see
6818 @url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6819 for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6820 classes and cyclic data structures are supported.")
6821 (license license:llgpl))))
6822
6823 (define-public cl-prevalence
6824 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6825
6826 (define-public ecl-cl-prevalence
6827 (sbcl-package->ecl-package sbcl-cl-prevalence))
6828
6829 (define-public sbcl-series
6830 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6831 (revision "1"))
6832 (package
6833 (name "sbcl-series")
6834 (version (git-version "2.2.11" revision commit))
6835 (source
6836 (origin
6837 (method git-fetch)
6838 (uri (git-reference
6839 (url "git://git.code.sf.net/p/series/series")
6840 (commit commit)))
6841 (file-name (git-file-name name version))
6842 (sha256
6843 (base32
6844 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6845 (build-system asdf-build-system/sbcl)
6846 (arguments
6847 ;; Disable the tests, they are apparently buggy and I didn't find
6848 ;; a simple way to make them run and pass.
6849 '(#:tests? #f))
6850 (synopsis "Series data structure for Common Lisp")
6851 (description
6852 "This Common Lisp library provides a series data structure much like
6853 a sequence, with similar kinds of operations. The difference is that in many
6854 situations, operations on series may be composed functionally and yet execute
6855 iteratively, without the need to construct intermediate series values
6856 explicitly. In this manner, series provide both the clarity of a functional
6857 programming style and the efficiency of an iterative programming style.")
6858 (home-page "http://series.sourceforge.net/")
6859 (license license:expat))))
6860
6861 (define-public cl-series
6862 (sbcl-package->cl-source-package sbcl-series))
6863
6864 (define-public ecl-series
6865 (sbcl-package->ecl-package sbcl-series))
6866
6867 (define-public sbcl-periods
6868 (let ((commit "60383dcef88a1ac11f82804ae7a33c361dcd2949")
6869 (revision "2"))
6870 (package
6871 (name "sbcl-periods")
6872 (version (git-version "0.0.2" revision commit))
6873 (source
6874 (origin
6875 (method git-fetch)
6876 (uri (git-reference
6877 (url "https://github.com/jwiegley/periods")
6878 (commit commit)))
6879 (file-name (git-file-name name version))
6880 (sha256
6881 (base32
6882 "1ym2j4an9ig2hl210jg91gpf7xfnp6mlhkw3n9kkdnwiji3ipqlk"))))
6883 (build-system asdf-build-system/sbcl)
6884 (inputs
6885 `(("local-time" ,sbcl-local-time)
6886 ("series" ,sbcl-series)))
6887 (arguments
6888 '(#:asd-systems '("periods"
6889 "periods-series")))
6890 (synopsis "Common Lisp library for manipulating date/time objects")
6891 (description
6892 "Periods is a Common Lisp library providing a set of utilities for
6893 manipulating times, distances between times, and both contiguous and
6894 discontiguous ranges of time.")
6895 (home-page "https://github.com/jwiegley/periods")
6896 (license license:bsd-3))))
6897
6898 (define-public cl-periods
6899 (sbcl-package->cl-source-package sbcl-periods))
6900
6901 (define-public ecl-periods
6902 (sbcl-package->ecl-package sbcl-periods))
6903
6904 (define-public sbcl-metatilities-base
6905 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6906 (revision "1"))
6907 (package
6908 (name "sbcl-metatilities-base")
6909 (version (git-version "0.6.6" revision commit))
6910 (source
6911 (origin
6912 (method git-fetch)
6913 (uri (git-reference
6914 (url "https://github.com/gwkkwg/metatilities-base")
6915 (commit commit)))
6916 (file-name (git-file-name name version))
6917 (sha256
6918 (base32
6919 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6920 (build-system asdf-build-system/sbcl)
6921 (native-inputs
6922 `(("lift" ,sbcl-lift)))
6923 (synopsis "Core of the metatilities Common Lisp library")
6924 (description
6925 "Metatilities-base is the core of the metatilities Common Lisp library
6926 which implements a set of utilities.")
6927 (home-page "https://common-lisp.net/project/metatilities-base/")
6928 (license license:expat))))
6929
6930 (define-public cl-metatilities-base
6931 (sbcl-package->cl-source-package sbcl-metatilities-base))
6932
6933 (define-public ecl-metatilities-base
6934 (sbcl-package->ecl-package sbcl-metatilities-base))
6935
6936 (define-public sbcl-cl-containers
6937 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6938 (revision "3"))
6939 (package
6940 (name "sbcl-cl-containers")
6941 (version (git-version "0.12.1" revision commit))
6942 (source
6943 (origin
6944 (method git-fetch)
6945 (uri (git-reference
6946 (url "https://github.com/gwkkwg/cl-containers")
6947 (commit commit)))
6948 (file-name (git-file-name name version))
6949 (sha256
6950 (base32
6951 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
6952 (build-system asdf-build-system/sbcl)
6953 (native-inputs
6954 `(("lift" ,sbcl-lift)))
6955 (inputs
6956 `(("metatilities-base" ,sbcl-metatilities-base)))
6957 (arguments
6958 '(#:asd-files '("cl-containers.asd")
6959 #:phases
6960 (modify-phases %standard-phases
6961 (add-after 'unpack 'relax-version-checks
6962 (lambda _
6963 (substitute* "cl-containers.asd"
6964 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6965 "\"metatilities-base\""))
6966 (substitute* "cl-containers-test.asd"
6967 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6968 "\"lift\""))
6969 #t)))))
6970 (synopsis "Container library for Common Lisp")
6971 (description
6972 "Common Lisp ships with a set of powerful built in data structures
6973 including the venerable list, full featured arrays, and hash-tables.
6974 CL-containers enhances and builds on these structures by adding containers
6975 that are not available in native Lisp (for example: binary search trees,
6976 red-black trees, sparse arrays and so on), and by providing a standard
6977 interface so that they are simpler to use and so that changing design
6978 decisions becomes significantly easier.")
6979 (home-page "https://common-lisp.net/project/cl-containers/")
6980 (license license:expat))))
6981
6982 (define-public cl-containers
6983 (sbcl-package->cl-source-package sbcl-cl-containers))
6984
6985 (define-public ecl-cl-containers
6986 (sbcl-package->ecl-package sbcl-cl-containers))
6987
6988 (define-public sbcl-xlunit
6989 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6990 (revision "1"))
6991 (package
6992 (name "sbcl-xlunit")
6993 (version (git-version "0.6.3" revision commit))
6994 (source
6995 (origin
6996 (method git-fetch)
6997 (uri (git-reference
6998 (url "http://git.kpe.io/xlunit.git")
6999 (commit commit)))
7000 (file-name (git-file-name name version))
7001 (sha256
7002 (base32
7003 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
7004 (build-system asdf-build-system/sbcl)
7005 (arguments
7006 '(#:phases
7007 (modify-phases %standard-phases
7008 (add-after 'unpack 'fix-tests
7009 (lambda _
7010 (substitute* "xlunit.asd"
7011 ((" :force t") ""))
7012 #t)))))
7013 (synopsis "Unit testing package for Common Lisp")
7014 (description
7015 "The XLUnit package is a toolkit for building test suites. It is based
7016 on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
7017 (home-page "http://quickdocs.org/xlunit/")
7018 (license license:bsd-3))))
7019
7020 (define-public cl-xlunit
7021 (sbcl-package->cl-source-package sbcl-xlunit))
7022
7023 (define-public ecl-xlunit
7024 (sbcl-package->ecl-package sbcl-xlunit))
7025
7026 (define-public sbcl-cambl
7027 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
7028 (revision "1"))
7029 (package
7030 (name "sbcl-cambl")
7031 (version (git-version "4.0.0" revision commit))
7032 (source
7033 (origin
7034 (method git-fetch)
7035 (uri (git-reference
7036 (url "https://github.com/jwiegley/cambl")
7037 (commit commit)))
7038 (file-name (git-file-name "cambl" version))
7039 (sha256
7040 (base32 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
7041 (build-system asdf-build-system/sbcl)
7042 (native-inputs
7043 `(("xlunit" ,sbcl-xlunit)))
7044 (inputs
7045 `(("alexandria" ,sbcl-alexandria)
7046 ("cl-containers" ,sbcl-cl-containers)
7047 ("local-time" ,sbcl-local-time)
7048 ("periods" ,sbcl-periods)))
7049 (arguments
7050 '(#:asd-files '("fprog.asd"
7051 "cambl.asd")))
7052 (synopsis "Commoditized amounts and balances for Common Lisp")
7053 (description
7054 "CAMBL is a Common Lisp library providing a convenient facility for
7055 working with commoditized values. It does not allow compound units (and so is
7056 not suited for scientific operations) but does work rather nicely for the
7057 purpose of financial calculations.")
7058 (home-page "https://github.com/jwiegley/cambl")
7059 (license license:bsd-3))))
7060
7061 (define-public cl-cambl
7062 (sbcl-package->cl-source-package sbcl-cambl))
7063
7064 (define-public ecl-cambl
7065 (sbcl-package->ecl-package sbcl-cambl))
7066
7067 (define-public sbcl-cl-ledger
7068 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
7069 (revision "1"))
7070 (package
7071 (name "sbcl-cl-ledger")
7072 (version (git-version "4.0.0" revision commit))
7073 (source
7074 (origin
7075 (method git-fetch)
7076 (uri (git-reference
7077 (url "https://github.com/ledger/cl-ledger")
7078 (commit commit)))
7079 (file-name (git-file-name name version))
7080 (sha256
7081 (base32
7082 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
7083 (build-system asdf-build-system/sbcl)
7084 (inputs
7085 `(("cambl" ,sbcl-cambl)
7086 ("cl-ppcre" ,sbcl-cl-ppcre)
7087 ("local-time" ,sbcl-local-time)
7088 ("periods" ,sbcl-periods)))
7089 (arguments
7090 '(#:phases
7091 (modify-phases %standard-phases
7092 (add-after 'unpack 'fix-system-definition
7093 (lambda _
7094 (substitute* "cl-ledger.asd"
7095 ((" :build-operation program-op") "")
7096 ((" :build-pathname \"cl-ledger\"") "")
7097 ((" :entry-point \"ledger::main\"") ""))
7098 #t)))))
7099 (synopsis "Common Lisp port of the Ledger accounting system")
7100 (description
7101 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
7102 system.")
7103 (home-page "https://github.com/ledger/cl-ledger")
7104 (license license:bsd-3))))
7105
7106 (define-public cl-ledger
7107 (sbcl-package->cl-source-package sbcl-cl-ledger))
7108
7109 (define-public ecl-cl-ledger
7110 (sbcl-package->ecl-package sbcl-cl-ledger))
7111
7112 (define-public sbcl-bst
7113 (let ((commit "8545aed0d504df2829ad139566feeabe22305388")
7114 (revision "0"))
7115 (package
7116 (name "sbcl-bst")
7117 (version (git-version "2.0" revision commit))
7118 (source
7119 (origin
7120 (method git-fetch)
7121 (uri (git-reference
7122 (url "https://github.com/glv2/bst")
7123 (commit commit)))
7124 (file-name (git-file-name name version))
7125 (sha256
7126 (base32 "18ig7rvxcra69437g0i8sxyv7c5dg26jqnx1rc2f9pxmihdprgk8"))))
7127 (build-system asdf-build-system/sbcl)
7128 (native-inputs
7129 `(("alexandria" ,sbcl-alexandria)
7130 ("fiveam" ,sbcl-fiveam)))
7131 (synopsis "Binary search tree for Common Lisp")
7132 (description
7133 "BST is a Common Lisp library for working with binary search trees that
7134 can contain any kind of values.")
7135 (home-page "https://github.com/glv2/bst")
7136 (license license:gpl3))))
7137
7138 (define-public cl-bst
7139 (sbcl-package->cl-source-package sbcl-bst))
7140
7141 (define-public ecl-bst
7142 (sbcl-package->ecl-package sbcl-bst))
7143
7144 (define-public sbcl-cl-octet-streams
7145 (package
7146 (name "sbcl-cl-octet-streams")
7147 (version "1.2")
7148 (source
7149 (origin
7150 (method git-fetch)
7151 (uri (git-reference
7152 (url "https://github.com/glv2/cl-octet-streams")
7153 (commit (string-append "v" version))))
7154 (file-name (git-file-name name version))
7155 (sha256
7156 (base32 "1hffh98bv4w5yrchagzwqrc43d2p473pvw7ka4kyyvhrr52dk2f8"))))
7157 (build-system asdf-build-system/sbcl)
7158 (native-inputs
7159 `(("fiveam" ,sbcl-fiveam)))
7160 (inputs
7161 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7162 (synopsis "In-memory octet streams for Common Lisp")
7163 (description
7164 "CL-octet-streams is a library implementing in-memory octet
7165 streams for Common Lisp. It was inspired by the trivial-octet-streams and
7166 cl-plumbing libraries.")
7167 (home-page "https://github.com/glv2/cl-octet-streams")
7168 (license license:gpl3+)))
7169
7170 (define-public cl-octet-streams
7171 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
7172
7173 (define-public ecl-cl-octet-streams
7174 (sbcl-package->ecl-package sbcl-cl-octet-streams))
7175
7176 (define-public sbcl-lzlib
7177 (let ((commit "cad10f5becbcfebb44b9d311a257563778803452")
7178 (revision "2"))
7179 (package
7180 (name "sbcl-lzlib")
7181 (version (git-version "1.1" revision commit))
7182 (source
7183 (origin
7184 (method git-fetch)
7185 (uri (git-reference
7186 (url "https://github.com/glv2/cl-lzlib")
7187 (commit commit)))
7188 (file-name (git-file-name name version))
7189 (sha256
7190 (base32 "09lp7li35h4jkls0448fj1sh6pjslr1w7ranbc4szjr8g0c2bdry"))))
7191 (build-system asdf-build-system/sbcl)
7192 (native-inputs
7193 `(("fiveam" ,sbcl-fiveam)))
7194 (inputs
7195 `(("cffi" ,sbcl-cffi)
7196 ("cl-octet-streams" ,sbcl-cl-octet-streams)
7197 ("lparallel" ,sbcl-lparallel)
7198 ("lzlib" ,lzlib)))
7199 (arguments
7200 '(#:phases
7201 (modify-phases %standard-phases
7202 (add-after 'unpack 'fix-paths
7203 (lambda* (#:key inputs #:allow-other-keys)
7204 (substitute* "src/lzlib.lisp"
7205 (("liblz\\.so")
7206 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
7207 #t)))))
7208 (synopsis "Common Lisp library for lzip (de)compression")
7209 (description
7210 "This Common Lisp library provides functions for lzip (LZMA)
7211 compression/decompression using bindings to the lzlib C library.")
7212 (home-page "https://github.com/glv2/cl-lzlib")
7213 (license license:gpl3+))))
7214
7215 (define-public cl-lzlib
7216 (sbcl-package->cl-source-package sbcl-lzlib))
7217
7218 (define-public ecl-lzlib
7219 (sbcl-package->ecl-package sbcl-lzlib))
7220
7221 (define-public sbcl-chanl
7222 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
7223 (revision "1"))
7224 (package
7225 (name "sbcl-chanl")
7226 (version (git-version "0.4.1" revision commit))
7227 (source
7228 (origin
7229 (method git-fetch)
7230 (uri (git-reference
7231 (url "https://github.com/zkat/chanl")
7232 (commit commit)))
7233 (file-name (git-file-name name version))
7234 (sha256
7235 (base32
7236 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
7237 (build-system asdf-build-system/sbcl)
7238 (native-inputs
7239 `(("fiveam" ,sbcl-fiveam)))
7240 (inputs
7241 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
7242 (synopsis "Portable channel-based concurrency for Common Lisp")
7243 (description "Common Lisp library for channel-based concurrency. In
7244 a nutshell, you create various threads sequentially executing tasks you need
7245 done, and use channel objects to communicate and synchronize the state of these
7246 threads.")
7247 (home-page "https://github.com/zkat/chanl")
7248 (license (list license:expat license:bsd-3)))))
7249
7250 (define-public cl-chanl
7251 (sbcl-package->cl-source-package sbcl-chanl))
7252
7253 (define-public ecl-chanl
7254 (sbcl-package->ecl-package sbcl-chanl))
7255
7256 (define-public sbcl-cl-store
7257 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
7258 (revision "1"))
7259 (package
7260 (name "sbcl-cl-store")
7261 (version (git-version "0.8.11" revision commit))
7262 (source
7263 (origin
7264 (method git-fetch)
7265 (uri (git-reference
7266 (url "https://github.com/skypher/cl-store")
7267 (commit commit)))
7268 (file-name (git-file-name name version))
7269 (sha256
7270 (base32
7271 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
7272 (build-system asdf-build-system/sbcl)
7273 (native-inputs
7274 `(("rt" ,sbcl-rt)))
7275 (synopsis "Common Lisp library to serialize data")
7276 (description
7277 "CL-STORE is a portable serialization package which should give you the
7278 ability to store all Common Lisp data types into streams.")
7279 (home-page "https://www.common-lisp.net/project/cl-store/")
7280 (license license:expat))))
7281
7282 (define-public cl-store
7283 (sbcl-package->cl-source-package sbcl-cl-store))
7284
7285 (define-public ecl-cl-store
7286 (sbcl-package->ecl-package sbcl-cl-store))
7287
7288 (define-public sbcl-specialization-store
7289 (let ((commit "8d39a866a6f24986aad3cc52349e9cb2653496f3")
7290 (revision "1"))
7291 (package
7292 (name "sbcl-specialization-store")
7293 (version (git-version "0.0.5" revision commit))
7294 (source
7295 (origin
7296 (method git-fetch)
7297 (uri (git-reference
7298 (url "https://github.com/markcox80/specialization-store")
7299 (commit commit)))
7300 (file-name (git-file-name "specialization-store" version))
7301 (sha256
7302 (base32 "0r0bgb46q4gy72l78s7djkxq8ibb4bb3yh9brsry5lih7br8lhi0"))))
7303 (build-system asdf-build-system/sbcl)
7304 (native-inputs
7305 `(("fiveam" ,sbcl-fiveam)))
7306 (inputs
7307 `(("alexandria" ,sbcl-alexandria)
7308 ("introspect-environment" ,sbcl-introspect-environment)))
7309 (home-page "https://github.com/markcox80/specialization-store")
7310 (synopsis "Different type of generic function for Common Lisp")
7311 (description
7312 "SPECIALIZATION-STORE system provides a new kind of function, called
7313 a store function, whose behavior depends on the types of objects passed to the
7314 function.")
7315 (license license:bsd-2))))
7316
7317 (define-public ecl-specialization-store
7318 (package
7319 (inherit (sbcl-package->ecl-package sbcl-specialization-store))
7320 (arguments
7321 ;; TODO: Find why the tests get stuck forever; disable them for now.
7322 `(#:tests? #f))))
7323
7324 (define-public cl-specialization-store
7325 (sbcl-package->cl-source-package sbcl-specialization-store))
7326
7327 (define-public sbcl-cl-gobject-introspection
7328 (let ((commit "d0136c8d9ade2560123af1fc55bbf70d2e3db539")
7329 (revision "1"))
7330 (package
7331 (name "sbcl-cl-gobject-introspection")
7332 (version (git-version "0.3" revision commit))
7333 (home-page "https://github.com/andy128k/cl-gobject-introspection")
7334 (source
7335 (origin
7336 (method git-fetch)
7337 (uri (git-reference
7338 (url home-page)
7339 (commit commit)))
7340 (file-name (git-file-name name version))
7341 (sha256
7342 (base32
7343 "0dz0r73pq7yhz2iq2jnkq977awx2zws2qfxdcy33329sys1ii32p"))))
7344 (build-system asdf-build-system/sbcl)
7345 (inputs
7346 `(("alexandria" ,sbcl-alexandria)
7347 ("cffi" ,sbcl-cffi)
7348 ("iterate" ,sbcl-iterate)
7349 ("trivial-garbage" ,sbcl-trivial-garbage)
7350 ("glib" ,glib)
7351 ("gobject-introspection" ,gobject-introspection)))
7352 (native-inputs
7353 `(("fiveam" ,sbcl-fiveam)))
7354 (arguments
7355 '(#:phases
7356 (modify-phases %standard-phases
7357 (add-after 'unpack 'fix-paths
7358 (lambda* (#:key inputs #:allow-other-keys)
7359 (substitute* "src/init.lisp"
7360 (("libgobject-2\\.0\\.so")
7361 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
7362 (("libgirepository-1\\.0\\.so")
7363 (string-append (assoc-ref inputs "gobject-introspection")
7364 "/lib/libgirepository-1.0.so")))
7365 #t)))))
7366 (synopsis "Common Lisp bindings to GObject Introspection")
7367 (description
7368 "This library is a bridge between Common Lisp and GObject
7369 Introspection, which enables Common Lisp programs to access the full interface
7370 of C+GObject libraries without the need of writing dedicated bindings.")
7371 (license (list license:bsd-3
7372 ;; Tests are under a different license.
7373 license:llgpl)))))
7374
7375 (define-public cl-gobject-introspection
7376 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
7377
7378 (define-public ecl-cl-gobject-introspection
7379 (sbcl-package->ecl-package sbcl-cl-gobject-introspection))
7380
7381 (define-public sbcl-cl-slug
7382 (let ((commit "ffb229d10f0d3f7f54e706791725225e200bf749")
7383 (revision "1"))
7384 (package
7385 (name "sbcl-cl-slug")
7386 (version (git-version "0.4.1" revision commit))
7387 (source
7388 (origin
7389 (method git-fetch)
7390 (uri (git-reference
7391 (url "https://github.com/EuAndreh/cl-slug")
7392 (commit commit)))
7393 (file-name (git-file-name "cl-slug" version))
7394 (sha256
7395 (base32 "1asdq6xllmsvfw5fky9wblqcx9isac9jrrlkfl7vyxcq1wxrnflx"))))
7396 (build-system asdf-build-system/sbcl)
7397 (arguments
7398 `(#:asd-files '("cl-slug-test.asd" "cl-slug.asd")
7399 #:asd-systems '("cl-slug-test" "cl-slug")))
7400 (native-inputs
7401 `(("prove" ,sbcl-prove)))
7402 (inputs
7403 `(("ppcre" ,sbcl-cl-ppcre)))
7404 (home-page "https://github.com/EuAndreh/cl-slug")
7405 (synopsis "Multi-language slug formatter")
7406 (description
7407 "This is a small Common Lisp library to make slugs, mainly for URIs,
7408 from English and beyond.")
7409 (license license:llgpl))))
7410
7411 (define-public ecl-cl-slug
7412 (sbcl-package->ecl-package sbcl-cl-slug))
7413
7414 (define-public cl-slug
7415 (sbcl-package->cl-source-package sbcl-cl-slug))
7416
7417 (define-public sbcl-string-case
7418 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
7419 (revision "0"))
7420 (package
7421 (name "sbcl-string-case")
7422 (version (git-version "0.0.2" revision commit))
7423 (home-page "https://github.com/pkhuong/string-case")
7424 (source
7425 (origin
7426 (method git-fetch)
7427 (uri (git-reference
7428 (url home-page)
7429 (commit commit)))
7430 (file-name (git-file-name name version))
7431 (sha256
7432 (base32
7433 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7434 (build-system asdf-build-system/sbcl)
7435 (synopsis "Efficient string= case in Common Lisp")
7436 (description
7437 "@code{string-case} is a Common Lisp macro that generates specialised decision
7438 trees to dispatch on string equality.")
7439 (license license:bsd-3))))
7440
7441 (define-public cl-string-case
7442 (sbcl-package->cl-source-package sbcl-string-case))
7443
7444 (define-public ecl-string-case
7445 (sbcl-package->ecl-package sbcl-string-case))
7446
7447 (define-public sbcl-garbage-pools
7448 (let ((commit "9a7cb7f48b04197c0495df3b6d2e8395ad13f790")
7449 (revision "1"))
7450 (package
7451 (name "sbcl-garbage-pools")
7452 (version (git-version "0.1.2" revision commit))
7453 (source
7454 (origin
7455 (method git-fetch)
7456 (uri (git-reference
7457 (url "https://github.com/archimag/garbage-pools")
7458 (commit commit)))
7459 (file-name (git-file-name name version))
7460 (sha256
7461 (base32 "04jqwr6j138him6wc4nrwjzm4lvyj5j31xqab02nkf8h9hmsf5v1"))))
7462 (build-system asdf-build-system/sbcl)
7463 (home-page "https://github.com/archimag/garbage-pools")
7464 (synopsis "Resource management pools for Common Lisp")
7465 (description "GARBAGE-POOLS is Common Lisp re-implementation of the APR
7466 Pools for resource management.")
7467 (license license:expat))))
7468
7469 (define-public ecl-garbage-pools
7470 (sbcl-package->ecl-package sbcl-garbage-pools))
7471
7472 (define-public cl-garbage-pools
7473 (sbcl-package->cl-source-package sbcl-garbage-pools))
7474
7475 (define-public sbcl-global-vars
7476 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7477 (revision "0"))
7478 (package
7479 (name "sbcl-global-vars")
7480 (version (git-version "1.0.0" revision commit))
7481 (home-page "https://github.com/lmj/global-vars")
7482 (source
7483 (origin
7484 (method git-fetch)
7485 (uri (git-reference
7486 (url home-page)
7487 (commit commit)))
7488 (file-name (git-file-name name version))
7489 (sha256
7490 (base32
7491 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7492 (build-system asdf-build-system/sbcl)
7493 (synopsis "Efficient global variables in Common Lisp")
7494 (description
7495 "In Common Lisp, a special variable that is never dynamically bound
7496 typically serves as a stand-in for a global variable. The @code{global-vars}
7497 library provides true global variables that are implemented by some compilers.
7498 An attempt to rebind a global variable properly results in a compiler error.
7499 That is, a global variable cannot be dynamically bound.
7500
7501 Global variables therefore allow us to communicate an intended usage that
7502 differs from special variables. Global variables are also more efficient than
7503 special variables, especially in the presence of threads.")
7504 (license license:expat))))
7505
7506 (define-public cl-global-vars
7507 (sbcl-package->cl-source-package sbcl-global-vars))
7508
7509 (define-public ecl-global-vars
7510 (sbcl-package->ecl-package sbcl-global-vars))
7511
7512 (define-public sbcl-trivial-file-size
7513 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7514 (revision "0"))
7515 (package
7516 (name "sbcl-trivial-file-size")
7517 (version (git-version "0.0.0" revision commit))
7518 (home-page "https://github.com/ruricolist/trivial-file-size")
7519 (source
7520 (origin
7521 (method git-fetch)
7522 (uri (git-reference
7523 (url home-page)
7524 (commit commit)))
7525 (file-name (git-file-name name version))
7526 (sha256
7527 (base32
7528 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7529 (build-system asdf-build-system/sbcl)
7530 (native-inputs
7531 `(("fiveam" ,sbcl-fiveam)))
7532 (synopsis "Size of a file in bytes in Common Lisp")
7533 (description
7534 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7535 is to open the file with an element type of (unsigned-byte 8) and then
7536 calculate the length of the stream. This is less than ideal. In most cases
7537 it is better to get the size of the file from its metadata, using a system
7538 call.
7539
7540 This library exports a single function, file-size-in-octets. It returns the
7541 size of a file in bytes, using system calls when possible.")
7542 (license license:expat))))
7543
7544 (define-public cl-trivial-file-size
7545 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7546
7547 (define-public ecl-trivial-file-size
7548 (sbcl-package->ecl-package sbcl-trivial-file-size))
7549
7550 (define-public sbcl-trivial-macroexpand-all
7551 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7552 (revision "0"))
7553 (package
7554 (name "sbcl-trivial-macroexpand-all")
7555 (version (git-version "0.0.0" revision commit))
7556 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7557 (source
7558 (origin
7559 (method git-fetch)
7560 (uri (git-reference
7561 (url home-page)
7562 (commit commit)))
7563 (file-name (git-file-name name version))
7564 (sha256
7565 (base32
7566 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7567 (build-system asdf-build-system/sbcl)
7568 (native-inputs
7569 `(("fiveam" ,sbcl-fiveam)))
7570 (synopsis "Portable macroexpand-all for Common Lisp")
7571 (description
7572 "This library provides a macroexpand-all function that calls the
7573 implementation specific equivalent.")
7574 (license license:unlicense))))
7575
7576 (define-public cl-trivial-macroexpand-all
7577 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7578
7579 (define-public ecl-trivial-macroexpand-all
7580 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7581
7582 (define-public sbcl-serapeum
7583 (let ((commit "f5da17b635ecb11d8317800f1674e88ca779dac5")
7584 (revision "5"))
7585 (package
7586 (name "sbcl-serapeum")
7587 (version (git-version "0.0.0" revision commit))
7588 (home-page "https://github.com/ruricolist/serapeum")
7589 (source
7590 (origin
7591 (method git-fetch)
7592 (uri (git-reference
7593 (url home-page)
7594 (commit commit)))
7595 (file-name (git-file-name name version))
7596 (sha256
7597 (base32 "16mz6xgcb5pkjg7xb760ga4hxbdhm9f843l42kc546hknhfq8x7b"))))
7598 (build-system asdf-build-system/sbcl)
7599 (inputs
7600 `(("alexandria" ,sbcl-alexandria)
7601 ("trivia" ,sbcl-trivia)
7602 ("split-sequence" ,sbcl-split-sequence)
7603 ("string-case" ,sbcl-string-case)
7604 ("parse-number" ,sbcl-parse-number)
7605 ("trivial-garbage" ,sbcl-trivial-garbage)
7606 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7607 ("named-readtables" ,sbcl-named-readtables)
7608 ("fare-quasiquote" ,sbcl-fare-quasiquote)
7609 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7610 ("global-vars" ,sbcl-global-vars)
7611 ("trivial-file-size" ,sbcl-trivial-file-size)
7612 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7613 (native-inputs
7614 `(("fiveam" ,sbcl-fiveam)
7615 ("local-time" ,sbcl-local-time)))
7616 (arguments
7617 '(#:phases
7618 (modify-phases %standard-phases
7619 (add-after 'unpack 'disable-failing-tests
7620 (lambda* (#:key inputs #:allow-other-keys)
7621 (substitute* "serapeum.asd"
7622 ;; Guix does not have Quicklisp, and probably never will.
7623 (("\\(:file \"quicklisp\"\\)") ""))
7624 #t)))))
7625 (synopsis "Common Lisp utility library beyond Alexandria")
7626 (description
7627 "Serapeum is a conservative library of Common Lisp utilities. It is a
7628 supplement, not a competitor, to Alexandria.")
7629 (license license:expat))))
7630
7631 (define-public cl-serapeum
7632 (sbcl-package->cl-source-package sbcl-serapeum))
7633
7634 (define-public ecl-serapeum
7635 (sbcl-package->ecl-package sbcl-serapeum))
7636
7637 (define-public sbcl-arrows
7638 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7639 (revision "0"))
7640 (package
7641 (name "sbcl-arrows")
7642 (version (git-version "0.2.0" revision commit))
7643 (source
7644 (origin
7645 (method git-fetch)
7646 (uri (git-reference
7647 (url "https://gitlab.com/Harleqin/arrows.git")
7648 (commit commit)))
7649 (file-name (git-file-name name version))
7650 (sha256
7651 (base32
7652 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7653 (build-system asdf-build-system/sbcl)
7654 (native-inputs
7655 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7656 (synopsis "Clojure-like arrow macros for Common Lisp")
7657 (description
7658 "This library implements the @code{->} and @code{->>} macros from
7659 Clojure, as well as several expansions on the idea.")
7660 (home-page "https://gitlab.com/Harleqin/arrows")
7661 (license license:public-domain))))
7662
7663 (define-public cl-arrows
7664 (sbcl-package->cl-source-package sbcl-arrows))
7665
7666 (define-public ecl-arrows
7667 (sbcl-package->ecl-package sbcl-arrows))
7668
7669 (define-public sbcl-simple-parallel-tasks
7670 (let ((commit "ce7b60f788d8f68dfb69b24aac54c0e3b63379a6")
7671 (revision "1"))
7672 (package
7673 (name "sbcl-simple-parallel-tasks")
7674 (version (git-version "1.0" revision commit))
7675 (source
7676 (origin
7677 (method git-fetch)
7678 (uri (git-reference
7679 (url "https://github.com/glv2/simple-parallel-tasks")
7680 (commit commit)))
7681 (file-name (git-file-name name version))
7682 (sha256
7683 (base32 "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7"))))
7684 (build-system asdf-build-system/sbcl)
7685 (native-inputs
7686 `(("fiveam" ,sbcl-fiveam)))
7687 (inputs
7688 `(("chanl" ,sbcl-chanl)))
7689 (synopsis "Common Lisp library to evaluate some forms in parallel")
7690 (description "This is a simple Common Lisp library to evaluate some
7691 forms in parallel.")
7692 (home-page "https://github.com/glv2/simple-parallel-tasks")
7693 (license license:gpl3))))
7694
7695 (define-public cl-simple-parallel-tasks
7696 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7697
7698 (define-public ecl-simple-parallel-tasks
7699 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7700
7701 (define-public sbcl-cl-heap
7702 (package
7703 (name "sbcl-cl-heap")
7704 (version "0.1.6")
7705 (source
7706 (origin
7707 (method url-fetch)
7708 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7709 "cl-heap_" version ".tar.gz"))
7710 (sha256
7711 (base32
7712 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7713 (build-system asdf-build-system/sbcl)
7714 (native-inputs
7715 `(("xlunit" ,sbcl-xlunit)))
7716 (arguments
7717 `(#:test-asd-file "cl-heap-tests.asd"))
7718 (synopsis "Heap and priority queue data structures for Common Lisp")
7719 (description
7720 "CL-HEAP provides various implementations of heap data structures (a
7721 binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7722 (home-page "https://common-lisp.net/project/cl-heap/")
7723 (license license:gpl3+)))
7724
7725 (define-public cl-heap
7726 (sbcl-package->cl-source-package sbcl-cl-heap))
7727
7728 (define-public ecl-cl-heap
7729 (sbcl-package->ecl-package sbcl-cl-heap))
7730
7731 (define-public sbcl-curry-compose-reader-macros
7732 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7733 (revision "0"))
7734 (package
7735 (name "sbcl-curry-compose-reader-macros")
7736 (version (git-version "1.0.0" revision commit))
7737 (source
7738 (origin
7739 (method git-fetch)
7740 (uri
7741 (git-reference
7742 (url "https://github.com/eschulte/curry-compose-reader-macros")
7743 (commit commit)))
7744 (file-name (git-file-name name version))
7745 (sha256
7746 (base32
7747 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7748 (build-system asdf-build-system/sbcl)
7749 (inputs
7750 `(("alexandria" ,sbcl-alexandria)
7751 ("named-readtables" ,sbcl-named-readtables)))
7752 (synopsis "Reader macros for partial application and composition")
7753 (description
7754 "This Common Lisp library provides reader macros for concise expression
7755 of function partial application and composition.")
7756 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7757 (license license:public-domain))))
7758
7759 (define-public cl-curry-compose-reader-macros
7760 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7761
7762 (define-public ecl-curry-compose-reader-macros
7763 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7764
7765 (define-public sbcl-yason
7766 (package
7767 (name "sbcl-yason")
7768 (version "0.7.7")
7769 (source
7770 (origin
7771 (method git-fetch)
7772 (uri (git-reference
7773 (url "https://github.com/phmarek/yason")
7774 (commit (string-append "v" version))))
7775 (file-name (git-file-name name version))
7776 (sha256
7777 (base32
7778 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7779 (build-system asdf-build-system/sbcl)
7780 (inputs
7781 `(("alexandria" ,sbcl-alexandria)
7782 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7783 (synopsis "Common Lisp JSON parser/encoder")
7784 (description
7785 "YASON is a Common Lisp library for encoding and decoding data in the
7786 JSON interchange format.")
7787 (home-page "https://github.com/phmarek/yason")
7788 (license license:bsd-3)))
7789
7790 (define-public cl-yason
7791 (sbcl-package->cl-source-package sbcl-yason))
7792
7793 (define-public ecl-yason
7794 (sbcl-package->ecl-package sbcl-yason))
7795
7796 (define-public sbcl-stefil
7797 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7798 (revision "0"))
7799 (package
7800 (name "sbcl-stefil")
7801 (version (git-version "0.1" revision commit))
7802 (source
7803 (origin
7804 (method git-fetch)
7805 (uri (git-reference
7806 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7807 (commit commit)))
7808 (file-name (git-file-name name version))
7809 (sha256
7810 (base32
7811 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7812 (build-system asdf-build-system/sbcl)
7813 (inputs
7814 `(("alexandria" ,sbcl-alexandria)
7815 ("iterate" ,sbcl-iterate)
7816 ("metabang-bind" ,sbcl-metabang-bind)
7817 ("swank" ,sbcl-slime-swank)))
7818 (arguments
7819 '(#:phases
7820 (modify-phases %standard-phases
7821 (add-after 'unpack 'drop-unnecessary-dependency
7822 (lambda _
7823 (substitute* "package.lisp"
7824 ((":stefil-system") ""))
7825 #t)))))
7826 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7827 (synopsis "Simple test framework")
7828 (description
7829 "Stefil is a simple test framework for Common Lisp, with a focus on
7830 interactive development.")
7831 (license license:public-domain))))
7832
7833 (define-public cl-stefil
7834 (sbcl-package->cl-source-package sbcl-stefil))
7835
7836 (define-public ecl-stefil
7837 (sbcl-package->ecl-package sbcl-stefil))
7838
7839 (define-public sbcl-graph
7840 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7841 (revision "0"))
7842 (package
7843 (name "sbcl-graph")
7844 (version (git-version "0.0.0" revision commit))
7845 (source
7846 (origin
7847 (method git-fetch)
7848 (uri
7849 (git-reference
7850 (url "https://github.com/eschulte/graph")
7851 (commit commit)))
7852 (file-name (git-file-name name version))
7853 (sha256
7854 (base32
7855 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))))
7856 (build-system asdf-build-system/sbcl)
7857 (native-inputs
7858 `(("stefil" ,sbcl-stefil)))
7859 (inputs
7860 `(("alexandria" ,sbcl-alexandria)
7861 ("cl-heap" ,sbcl-cl-heap)
7862 ("cl-ppcre" ,sbcl-cl-ppcre)
7863 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7864 ("metabang-bind" ,sbcl-metabang-bind)
7865 ("named-readtables" ,sbcl-named-readtables)
7866 ("yason" ,sbcl-yason)))
7867 (arguments
7868 '(#:asd-systems '("graph"
7869 "graph/dot"
7870 "graph/json")))
7871 (synopsis "Graph data structure and algorithms for Common Lisp")
7872 (description
7873 "The GRAPH Common Lisp library provides a data structures to represent
7874 graphs, as well as some graph manipulation and analysis algorithms (shortest
7875 path, maximum flow, minimum spanning tree, etc.).")
7876 (home-page "https://eschulte.github.io/graph/")
7877 (license license:gpl3+))))
7878
7879 (define-public cl-graph
7880 (sbcl-package->cl-source-package sbcl-graph))
7881
7882 (define-public ecl-graph
7883 (sbcl-package->ecl-package sbcl-graph))
7884
7885 (define-public sbcl-trivial-indent
7886 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7887 (revision "0"))
7888 (package
7889 (name "sbcl-trivial-indent")
7890 (version (git-version "1.0.0" revision commit))
7891 (source
7892 (origin
7893 (method git-fetch)
7894 (uri
7895 (git-reference
7896 (url "https://github.com/Shinmera/trivial-indent")
7897 (commit commit)))
7898 (file-name (git-file-name name version))
7899 (sha256
7900 (base32
7901 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7902 (build-system asdf-build-system/sbcl)
7903 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7904 (description
7905 "This library allows you to define custom indentation hints for your
7906 macros if the one recognised by SLIME automatically produces unwanted
7907 results.")
7908 (home-page "https://shinmera.github.io/trivial-indent/")
7909 (license license:zlib))))
7910
7911 (define-public cl-trivial-indent
7912 (sbcl-package->cl-source-package sbcl-trivial-indent))
7913
7914 (define-public ecl-trivial-indent
7915 (sbcl-package->ecl-package sbcl-trivial-indent))
7916
7917 (define-public sbcl-documentation-utils
7918 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7919 (revision "0"))
7920 (package
7921 (name "sbcl-documentation-utils")
7922 (version (git-version "1.2.0" revision commit))
7923 (source
7924 (origin
7925 (method git-fetch)
7926 (uri
7927 (git-reference
7928 (url "https://github.com/Shinmera/documentation-utils")
7929 (commit commit)))
7930 (file-name (git-file-name name version))
7931 (sha256
7932 (base32
7933 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7934 (build-system asdf-build-system/sbcl)
7935 (inputs
7936 `(("trivial-indent" ,sbcl-trivial-indent)))
7937 (synopsis "Few simple tools to document Common Lisp libraries")
7938 (description
7939 "This is a small library to help you with managing the Common Lisp
7940 docstrings for your library.")
7941 (home-page "https://shinmera.github.io/documentation-utils/")
7942 (license license:zlib))))
7943
7944 (define-public cl-documentation-utils
7945 (sbcl-package->cl-source-package sbcl-documentation-utils))
7946
7947 (define-public ecl-documentation-utils
7948 (sbcl-package->ecl-package sbcl-documentation-utils))
7949
7950 (define-public sbcl-documentation-utils-extensions
7951 (let ((commit "f67f8a05d583174662a594b79356b201c1d9d750"))
7952 (package
7953 (name "sbcl-documentation-utils-extensions")
7954 (version (git-version "0.0.0" "1" commit))
7955 (source
7956 (origin
7957 (method git-fetch)
7958 (uri
7959 (git-reference
7960 (url "https://github.com/sirherrbatka/documentation-utils-extensions/")
7961 (commit commit)))
7962 (file-name (git-file-name name version))
7963 (sha256
7964 (base32
7965 "0pn45c9rbxlnhn5nvhqz6kyv0nlirwxpg4j27niwdq80yxzsn51f"))))
7966 (build-system asdf-build-system/sbcl)
7967 (inputs
7968 `(("documentation-utils" ,sbcl-documentation-utils)))
7969 (home-page "https://github.com/sirherrbatka/documentation-utils-extensions")
7970 (synopsis "Set of extensions for documentation-utils")
7971 (description
7972 "Use @code{rich-formatter} to format documentation with sections @code{:syntax},
7973 @code{:arguments}, @code{:examples}, @code{:description}, @code{:returns},
7974 @code{:side-effects}, @code{:thread-safety}, @code{:affected-by},
7975 @code{:see-also} and @code{:notes}. Gather unformatted input by using
7976 @code{rich-aggregating-formatter} and @code{*DOCUMENTATION*} variable. Find
7977 gathered documentation with find-documentation function. Execute code stored
7978 in documentation with @code{execute-documentation}. See the examples in the
7979 @code{src/documentation.lisp} file. See the @code{documentation-utils} system
7980 for more information.")
7981 (license license:expat))))
7982
7983 (define-public cl-documentation-utils-extensions
7984 (sbcl-package->cl-source-package sbcl-documentation-utils-extensions))
7985
7986 (define-public ecl-documentation-utils-extensions
7987 (sbcl-package->ecl-package sbcl-documentation-utils-extensions))
7988
7989 (define-public sbcl-form-fiddle
7990 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7991 (revision "0"))
7992 (package
7993 (name "sbcl-form-fiddle")
7994 (version (git-version "1.1.0" revision commit))
7995 (source
7996 (origin
7997 (method git-fetch)
7998 (uri
7999 (git-reference
8000 (url "https://github.com/Shinmera/form-fiddle")
8001 (commit commit)))
8002 (file-name (git-file-name name version))
8003 (sha256
8004 (base32
8005 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
8006 (build-system asdf-build-system/sbcl)
8007 (inputs
8008 `(("documentation-utils" ,sbcl-documentation-utils)))
8009 (synopsis "Utilities to destructure Common Lisp lambda forms")
8010 (description
8011 "Often times we need to destructure a form definition in a Common Lisp
8012 macro. This library provides a set of simple utilities to help with that.")
8013 (home-page "https://shinmera.github.io/form-fiddle/")
8014 (license license:zlib))))
8015
8016 (define-public cl-form-fiddle
8017 (sbcl-package->cl-source-package sbcl-form-fiddle))
8018
8019 (define-public ecl-form-fiddle
8020 (sbcl-package->ecl-package sbcl-form-fiddle))
8021
8022 (define-public sbcl-parachute
8023 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
8024 (revision "0"))
8025 (package
8026 (name "sbcl-parachute")
8027 (version (git-version "1.1.1" revision commit))
8028 (source
8029 (origin
8030 (method git-fetch)
8031 (uri
8032 (git-reference
8033 (url "https://github.com/Shinmera/parachute")
8034 (commit commit)))
8035 (file-name (git-file-name name version))
8036 (sha256
8037 (base32
8038 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
8039 (build-system asdf-build-system/sbcl)
8040 (inputs
8041 `(("documentation-utils" ,sbcl-documentation-utils)
8042 ("form-fiddle" ,sbcl-form-fiddle)))
8043 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
8044 (description
8045 "Parachute is a simple-to-use and extensible testing framework.
8046 In Parachute, things are organised as a bunch of named tests within a package.
8047 Each test can contain a bunch of test forms that make up its body.")
8048 (home-page "https://shinmera.github.io/parachute/")
8049 (license license:zlib))))
8050
8051 (define-public cl-parachute
8052 (sbcl-package->cl-source-package sbcl-parachute))
8053
8054 (define-public ecl-parachute
8055 (sbcl-package->ecl-package sbcl-parachute))
8056
8057 (define-public sbcl-array-utils
8058 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
8059 (revision "0"))
8060 (package
8061 (name "sbcl-array-utils")
8062 (version (git-version "1.1.1" revision commit))
8063 (source
8064 (origin
8065 (method git-fetch)
8066 (uri
8067 (git-reference
8068 (url "https://github.com/Shinmera/array-utils")
8069 (commit commit)))
8070 (file-name (git-file-name name version))
8071 (sha256
8072 (base32
8073 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
8074 (build-system asdf-build-system/sbcl)
8075 (native-inputs
8076 `(("parachute" ,sbcl-parachute)))
8077 (inputs
8078 `(("documentation-utils" ,sbcl-documentation-utils)))
8079 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
8080 (description
8081 "A miniature toolkit that contains some useful shifting/popping/pushing
8082 functions for arrays and vectors. Originally from Plump.")
8083 (home-page "https://shinmera.github.io/array-utils/")
8084 (license license:zlib))))
8085
8086 (define-public cl-array-utils
8087 (sbcl-package->cl-source-package sbcl-array-utils))
8088
8089 (define-public ecl-array-utils
8090 (sbcl-package->ecl-package sbcl-array-utils))
8091
8092 (define-public sbcl-plump
8093 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
8094 (revision "1"))
8095 (package
8096 (name "sbcl-plump")
8097 (version (git-version "2.0.0" revision commit))
8098 (source
8099 (origin
8100 (method git-fetch)
8101 (uri
8102 (git-reference
8103 (url "https://github.com/Shinmera/plump")
8104 (commit commit)))
8105 (file-name (git-file-name name version))
8106 (sha256
8107 (base32
8108 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
8109 (build-system asdf-build-system/sbcl)
8110 (inputs
8111 `(("array-utils" ,sbcl-array-utils)
8112 ("documentation-utils" ,sbcl-documentation-utils)))
8113 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
8114 (description
8115 "Plump is a parser for HTML/XML-like documents, focusing on being
8116 lenient towards invalid markup. It can handle things like invalid attributes,
8117 bad closing tag order, unencoded entities, inexistent tag types, self-closing
8118 tags and so on. It parses documents to a class representation and offers a
8119 small set of DOM functions to manipulate it. It can be extended to parse to
8120 your own classes.")
8121 (home-page "https://shinmera.github.io/plump/")
8122 (license license:zlib))))
8123
8124 (define-public cl-plump
8125 (sbcl-package->cl-source-package sbcl-plump))
8126
8127 (define-public ecl-plump
8128 (sbcl-package->ecl-package sbcl-plump))
8129
8130 ;;; Split the antik package in two to work around the circular dependency
8131 ;;; between antik/antik and antik/gsll.
8132 (define-public sbcl-antik-base
8133 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
8134 (revision "1"))
8135 (package
8136 (name "sbcl-antik-base")
8137 (version (git-version "0.0.0" revision commit))
8138 (source
8139 (origin
8140 (method git-fetch)
8141 (uri (git-reference
8142 (url "https://gitlab.common-lisp.net/antik/antik.git")
8143 (commit commit)))
8144 (file-name (git-file-name name version))
8145 (sha256
8146 (base32
8147 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
8148 (build-system asdf-build-system/sbcl)
8149 (inputs
8150 `(("alexandria" ,sbcl-alexandria)
8151 ("cffi" ,sbcl-cffi)
8152 ("cl-ppcre" ,sbcl-cl-ppcre)
8153 ("drakma" ,sbcl-drakma)
8154 ("fare-utils" ,sbcl-fare-utils)
8155 ("iterate" ,sbcl-iterate)
8156 ("metabang-bind" ,sbcl-metabang-bind)
8157 ("named-readtables" ,sbcl-named-readtables)
8158 ("split-sequence" ,sbcl-split-sequence)
8159 ("static-vectors" ,sbcl-static-vectors)
8160 ("trivial-garbage" ,sbcl-trivial-garbage)
8161 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
8162 (native-inputs
8163 `(("lisp-unit" ,sbcl-lisp-unit)))
8164 (arguments
8165 '(#:asd-systems '("antik-base"
8166 "foreign-array")
8167 #:phases
8168 (modify-phases %standard-phases
8169 (add-after 'unpack 'fix-build
8170 (lambda _
8171 (for-each delete-file
8172 '("antik.asd"
8173 "physical-dimension.asd"
8174 "science-data.asd"))
8175 #t)))))
8176 (synopsis "Scientific and engineering computation in Common Lisp")
8177 (description
8178 "Antik provides a foundation for scientific and engineering
8179 computation in Common Lisp. It is designed not only to facilitate
8180 numerical computations, but to permit the use of numerical computation
8181 libraries and the interchange of data and procedures, whether
8182 foreign (non-Lisp) or Lisp libraries. It is named after the
8183 Antikythera mechanism, one of the oldest examples of a scientific
8184 computer known.")
8185 (home-page "https://common-lisp.net/project/antik/")
8186 (license license:gpl3))))
8187
8188 (define-public cl-antik-base
8189 (sbcl-package->cl-source-package sbcl-antik-base))
8190
8191 (define-public ecl-antik-base
8192 (let ((pkg (sbcl-package->ecl-package sbcl-antik-base)))
8193 (package
8194 (inherit pkg)
8195 (arguments
8196 (substitute-keyword-arguments (package-arguments pkg)
8197 ((#:phases phases)
8198 `(modify-phases ,phases
8199 (add-after 'unpack 'fix-readtable
8200 (lambda _
8201 (substitute* "input-output/readtable.lisp"
8202 (("#-ccl")
8203 "#-(or ccl ecl)"))
8204 #t)))))))))
8205
8206 (define-public sbcl-gsll
8207 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
8208 (revision "1"))
8209 (package
8210 (name "sbcl-gsll")
8211 (version (git-version "0.0.0" revision commit))
8212 (source
8213 (origin
8214 (method git-fetch)
8215 (uri (git-reference
8216 (url "https://gitlab.common-lisp.net/antik/gsll.git")
8217 (commit commit)))
8218 (file-name (git-file-name name version))
8219 (sha256
8220 (base32
8221 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
8222 (build-system asdf-build-system/sbcl)
8223 (native-inputs
8224 `(("lisp-unit" ,sbcl-lisp-unit)))
8225 (inputs
8226 `(("alexandria" ,sbcl-alexandria)
8227 ("antik-base" ,sbcl-antik-base)
8228 ("cffi" ,sbcl-cffi)
8229 ("gsl" ,gsl)
8230 ("metabang-bind" ,sbcl-metabang-bind)
8231 ("trivial-features" ,sbcl-trivial-features)
8232 ("trivial-garbage" ,sbcl-trivial-garbage)))
8233 (arguments
8234 `(#:tests? #f
8235 #:phases
8236 (modify-phases %standard-phases
8237 (add-after 'unpack 'fix-cffi-paths
8238 (lambda* (#:key inputs #:allow-other-keys)
8239 (substitute* "gsll.asd"
8240 ((":depends-on \\(#:foreign-array")
8241 ":depends-on (#:foreign-array #:cffi-libffi"))
8242 (substitute* "init/init.lisp"
8243 (("libgslcblas.so" all)
8244 (string-append
8245 (assoc-ref inputs "gsl") "/lib/" all)))
8246 (substitute* "init/init.lisp"
8247 (("libgsl.so" all)
8248 (string-append
8249 (assoc-ref inputs "gsl") "/lib/" all))))))))
8250 (synopsis "GNU Scientific Library for Lisp")
8251 (description
8252 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
8253 GNU Scientific Library (GSL) from Common Lisp. This library provides a
8254 full range of common mathematical operations useful to scientific and
8255 engineering applications. The design of the GSLL interface is such
8256 that access to most of the GSL library is possible in a Lisp-natural
8257 way; the intent is that the user not be hampered by the restrictions
8258 of the C language in which GSL has been written. GSLL thus provides
8259 interactive use of GSL for getting quick answers, even for someone not
8260 intending to program in Lisp.")
8261 (home-page "https://common-lisp.net/project/gsll/")
8262 (license license:gpl3))))
8263
8264 (define-public cl-gsll
8265 (sbcl-package->cl-source-package sbcl-gsll))
8266
8267 (define-public ecl-gsll
8268 (sbcl-package->ecl-package sbcl-gsll))
8269
8270 (define-public sbcl-antik
8271 (package
8272 (inherit sbcl-antik-base)
8273 (name "sbcl-antik")
8274 (inputs
8275 `(("antik-base" ,sbcl-antik-base)
8276 ("gsll" ,sbcl-gsll)))
8277 (arguments
8278 '(#:asd-systems '("antik"
8279 "science-data")
8280 #:phases
8281 (modify-phases %standard-phases
8282 (add-after 'unpack 'fix-build
8283 (lambda _
8284 (for-each delete-file
8285 '("antik-base.asd"
8286 "foreign-array.asd"))
8287 #t)))))))
8288
8289 (define-public cl-antik
8290 (sbcl-package->cl-source-package sbcl-antik))
8291
8292 (define-public sbcl-cl-interpol
8293 (let ((commit "70a1137f41dd8889004dbab9536b1adeac2497aa")
8294 (revision "1"))
8295 (package
8296 (name "sbcl-cl-interpol")
8297 (version (git-version "0.2.7" revision commit))
8298 (source
8299 (origin
8300 (method git-fetch)
8301 (uri (git-reference
8302 (url "https://github.com/edicl/cl-interpol")
8303 (commit commit)))
8304 (file-name (git-file-name "cl-interpol" version))
8305 (sha256
8306 (base32
8307 "1kr00zf62m7la7rxa2m5w49r9cyzamc106hvjcc8ffmi7a4jw490"))))
8308 (build-system asdf-build-system/sbcl)
8309 (inputs
8310 `(("cl-unicode" ,sbcl-cl-unicode)
8311 ("named-readtables" ,sbcl-named-readtables)))
8312 (native-inputs
8313 `(("flexi-streams" ,sbcl-flexi-streams)))
8314 (synopsis "String interpolation for Common Lisp")
8315 (description
8316 "CL-INTERPOL is a library for Common Lisp which modifies the
8317 reader so that you can have interpolation within strings similar to
8318 Perl or Unix Shell scripts. It also provides various ways to insert
8319 arbitrary characters into literal strings even if your editor/IDE
8320 doesn't support them.")
8321 (home-page "https://edicl.github.io/cl-interpol/")
8322 (license license:bsd-3))))
8323
8324 (define-public cl-interpol
8325 (sbcl-package->cl-source-package sbcl-cl-interpol))
8326
8327 (define-public ecl-cl-interpol
8328 (sbcl-package->ecl-package sbcl-cl-interpol))
8329
8330 (define-public sbcl-symbol-munger
8331 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
8332 (revision "1"))
8333 (package
8334 (name "sbcl-symbol-munger")
8335 (version (git-version "0.0.1" revision commit))
8336 (source
8337 (origin
8338 (method git-fetch)
8339 (uri (git-reference
8340 (url "https://github.com/AccelerationNet/symbol-munger")
8341 (commit commit)))
8342 (file-name (git-file-name name version))
8343 (sha256
8344 (base32
8345 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
8346 (build-system asdf-build-system/sbcl)
8347 (inputs
8348 `(("alexandria" ,sbcl-alexandria)
8349 ("iterate" ,sbcl-iterate)))
8350 (arguments
8351 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8352 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8353 '(#:tests? #f))
8354 (synopsis
8355 "Capitalization and spacing conversion functions for Common Lisp")
8356 (description
8357 "This is a Common Lisp library to change the capitalization and spacing
8358 of a string or a symbol. It can convert to and from Lisp, english, underscore
8359 and camel-case rules.")
8360 (home-page "https://github.com/AccelerationNet/symbol-munger")
8361 ;; The package declares a BSD license, but all of the license
8362 ;; text is MIT.
8363 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8364 (license license:expat))))
8365
8366 (define-public cl-symbol-munger
8367 (sbcl-package->cl-source-package sbcl-symbol-munger))
8368
8369 (define-public ecl-symbol-munger
8370 (sbcl-package->ecl-package sbcl-symbol-munger))
8371
8372 (define-public sbcl-lisp-unit2
8373 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8374 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8375 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
8376 (revision "1"))
8377 (package
8378 (name "sbcl-lisp-unit2")
8379 (version (git-version "0.2.0" revision commit))
8380 (source
8381 (origin
8382 (method git-fetch)
8383 (uri (git-reference
8384 (url "https://github.com/AccelerationNet/lisp-unit2")
8385 (commit commit)))
8386 (file-name (git-file-name name version))
8387 (sha256
8388 (base32
8389 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
8390 (build-system asdf-build-system/sbcl)
8391 (inputs
8392 `(("alexandria" ,sbcl-alexandria)
8393 ("cl-interpol" ,sbcl-cl-interpol)
8394 ("iterate" ,sbcl-iterate)
8395 ("symbol-munger" ,sbcl-symbol-munger)))
8396 (synopsis "Test Framework for Common Lisp")
8397 (description
8398 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
8399 style of JUnit for Java. It is a new version of the lisp-unit library written
8400 by Chris Riesbeck.")
8401 (home-page "https://github.com/AccelerationNet/lisp-unit2")
8402 (license license:expat))))
8403
8404 (define-public cl-lisp-unit2
8405 (sbcl-package->cl-source-package sbcl-lisp-unit2))
8406
8407 (define-public ecl-lisp-unit2
8408 (sbcl-package->ecl-package sbcl-lisp-unit2))
8409
8410 (define-public sbcl-cl-csv
8411 (let ((commit "68ecb5d816545677513d7f6308d9e5e8d2265651")
8412 (revision "2"))
8413 (package
8414 (name "sbcl-cl-csv")
8415 (version (git-version "1.0.6" revision commit))
8416 (source
8417 (origin
8418 (method git-fetch)
8419 (uri (git-reference
8420 (url "https://github.com/AccelerationNet/cl-csv")
8421 (commit commit)))
8422 (file-name (git-file-name name version))
8423 (sha256
8424 (base32
8425 "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x"))))
8426 (build-system asdf-build-system/sbcl)
8427 (arguments
8428 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8429 `(#:tests? #f))
8430 (inputs
8431 `(("alexandria" ,sbcl-alexandria)
8432 ("cl-interpol" ,sbcl-cl-interpol)
8433 ("iterate" ,sbcl-iterate)))
8434 (native-inputs
8435 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8436 (synopsis "Common lisp library for comma-separated values")
8437 (description
8438 "This is a Common Lisp library providing functions to read/write CSV
8439 from/to strings, streams and files.")
8440 (home-page "https://github.com/AccelerationNet/cl-csv")
8441 (license license:bsd-3))))
8442
8443 (define-public cl-csv
8444 (sbcl-package->cl-source-package sbcl-cl-csv))
8445
8446 (define-public ecl-cl-csv
8447 (sbcl-package->ecl-package sbcl-cl-csv))
8448
8449 (define-public sbcl-external-program
8450 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8451 (revision "1"))
8452 (package
8453 (name "sbcl-external-program")
8454 (version (git-version "0.0.6" revision commit))
8455 (source
8456 (origin
8457 (method git-fetch)
8458 (uri (git-reference
8459 (url "https://github.com/sellout/external-program")
8460 (commit commit)))
8461 (file-name (git-file-name name version))
8462 (sha256
8463 (base32
8464 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8465 (build-system asdf-build-system/sbcl)
8466 (inputs
8467 `(("trivial-features" ,sbcl-trivial-features)))
8468 (native-inputs
8469 `(("fiveam" ,sbcl-fiveam)))
8470 (synopsis "Common Lisp library for running external programs")
8471 (description
8472 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8473 process. It is an attempt to make the RUN-PROGRAM functionality in
8474 implementations like SBCL and CCL as portable as possible without
8475 sacrificing much in the way of power.")
8476 (home-page "https://github.com/sellout/external-program")
8477 (license license:llgpl))))
8478
8479 (define-public cl-external-program
8480 (sbcl-package->cl-source-package sbcl-external-program))
8481
8482 (define-public ecl-external-program
8483 (sbcl-package->ecl-package sbcl-external-program))
8484
8485 (define-public sbcl-cl-ana
8486 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8487 (revision "1"))
8488 (package
8489 (name "sbcl-cl-ana")
8490 (version (git-version "0.0.0" revision commit))
8491 (source
8492 (origin
8493 (method git-fetch)
8494 (uri (git-reference
8495 (url "https://github.com/ghollisjr/cl-ana")
8496 (commit commit)))
8497 (file-name (git-file-name name version))
8498 (sha256
8499 (base32 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8500 (build-system asdf-build-system/sbcl)
8501 (native-inputs
8502 `(("cl-fad" ,sbcl-cl-fad)))
8503 (inputs
8504 `(("alexandria" ,sbcl-alexandria)
8505 ("antik" ,sbcl-antik)
8506 ("cffi" ,sbcl-cffi)
8507 ("cl-csv" ,sbcl-cl-csv)
8508 ("closer-mop" ,sbcl-closer-mop)
8509 ("external-program" ,sbcl-external-program)
8510 ("gsl" ,gsl)
8511 ("gsll" ,sbcl-gsll)
8512 ("hdf5" ,hdf5-parallel-openmpi)
8513 ("iterate" ,sbcl-iterate)
8514 ("libffi" ,libffi)
8515 ("split-sequence" ,sbcl-split-sequence)))
8516 (arguments
8517 `(#:phases
8518 (modify-phases %standard-phases
8519 (add-after 'unpack 'fix-paths
8520 (lambda* (#:key inputs #:allow-other-keys)
8521 (substitute* "hdf-cffi/hdf-cffi.lisp"
8522 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8523 (string-append (assoc-ref inputs "hdf5")
8524 "/lib/libhdf5.so")))
8525 (substitute* "gsl-cffi/gsl-cffi.lisp"
8526 (("define-foreign-library gsl-cffi" all)
8527 (string-append all " (:unix "
8528 (assoc-ref inputs "gsl")
8529 "/lib/libgsl.so)")))
8530 #t)))))
8531 (synopsis "Common Lisp data analysis library")
8532 (description
8533 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8534 binned data analysis along with nonlinear least squares fitting and
8535 visualization.")
8536 (home-page "https://github.com/ghollisjr/cl-ana")
8537 (license license:gpl3))))
8538
8539 (define-public cl-ana
8540 (sbcl-package->cl-source-package sbcl-cl-ana))
8541
8542 (define-public sbcl-archive
8543 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
8544 (revision "1"))
8545 (package
8546 (name "sbcl-archive")
8547 (version (git-version "0.9" revision commit))
8548 (source (origin
8549 (method git-fetch)
8550 (uri (git-reference
8551 (url "https://github.com/sharplispers/archive")
8552 (commit commit)))
8553 (file-name (git-file-name name version))
8554 (sha256
8555 (base32
8556 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
8557 (build-system asdf-build-system/sbcl)
8558 (inputs
8559 `(("cl-fad" ,sbcl-cl-fad)
8560 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
8561 (synopsis "Common Lisp library for tar and cpio archives")
8562 (description
8563 "This is a Common Lisp library to read and write disk-based file
8564 archives such as those generated by the tar and cpio programs on Unix.")
8565 (home-page "https://github.com/sharplispers/archive")
8566 (license license:bsd-3))))
8567
8568 (define-public cl-archive
8569 (sbcl-package->cl-source-package sbcl-archive))
8570
8571 (define-public ecl-archive
8572 (sbcl-package->ecl-package sbcl-archive))
8573
8574 (define-public sbcl-misc-extensions
8575 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
8576 (revision "1"))
8577 (package
8578 (name "sbcl-misc-extensions")
8579 (version (git-version "3.3" revision commit))
8580 (source
8581 (origin
8582 (method git-fetch)
8583 (uri (git-reference
8584 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
8585 (commit commit)))
8586 (file-name (git-file-name name version))
8587 (sha256
8588 (base32
8589 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
8590 (build-system asdf-build-system/sbcl)
8591 (synopsis "Collection of small macros and extensions for Common Lisp")
8592 (description
8593 "This project is intended as a catchall for small, general-purpose
8594 extensions to Common Lisp. It contains:
8595
8596 @itemize
8597 @item @code{new-let}, a macro that combines and generalizes @code{let},
8598 @code{let*} and @code{multiple-value-bind},
8599 @item @code{gmap}, an iteration macro that generalizes @code{map}.
8600 @end itemize\n")
8601 (home-page "https://common-lisp.net/project/misc-extensions/")
8602 (license license:public-domain))))
8603
8604 (define-public cl-misc-extensions
8605 (sbcl-package->cl-source-package sbcl-misc-extensions))
8606
8607 (define-public ecl-misc-extensions
8608 (sbcl-package->ecl-package sbcl-misc-extensions))
8609
8610 (define-public sbcl-mt19937
8611 (package
8612 (name "sbcl-mt19937")
8613 (version "1.1")
8614 (source
8615 (origin
8616 (method url-fetch)
8617 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
8618 "mt19937-latest.tar.gz"))
8619 (sha256
8620 (base32
8621 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
8622 (build-system asdf-build-system/sbcl)
8623 (synopsis "Mersenne Twister pseudo-random number generator")
8624 (description
8625 "MT19937 is a portable Mersenne Twister pseudo-random number generator
8626 for Common Lisp.")
8627 (home-page "https://www.cliki.net/mt19937")
8628 (license license:public-domain)))
8629
8630 (define-public cl-mt19937
8631 (sbcl-package->cl-source-package sbcl-mt19937))
8632
8633 (define-public ecl-mt19937
8634 (sbcl-package->ecl-package sbcl-mt19937))
8635
8636 (define-public sbcl-fset
8637 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
8638 (revision "1"))
8639 (package
8640 (name "sbcl-fset")
8641 (version (git-version "1.3.2" revision commit))
8642 (source
8643 (origin
8644 (method git-fetch)
8645 (uri (git-reference
8646 (url "https://github.com/slburson/fset")
8647 (commit commit)))
8648 (file-name (git-file-name name version))
8649 (sha256
8650 (base32
8651 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
8652 (snippet '(begin
8653 ;; Remove obsolete copy of system definition.
8654 (delete-file "Code/fset.asd")
8655 #t))))
8656 (build-system asdf-build-system/sbcl)
8657 (inputs
8658 `(("misc-extensions" ,sbcl-misc-extensions)
8659 ("mt19937" ,sbcl-mt19937)
8660 ("named-readtables" ,sbcl-named-readtables)))
8661 (synopsis "Functional set-theoretic collections library")
8662 (description
8663 "FSet is a functional set-theoretic collections library for Common Lisp.
8664 Functional means that all update operations return a new collection rather than
8665 modifying an existing one in place. Set-theoretic means that collections may
8666 be nested arbitrarily with no additional programmer effort; for instance, sets
8667 may contain sets, maps may be keyed by sets, etc.")
8668 (home-page "https://common-lisp.net/project/fset/Site/index.html")
8669 (license license:llgpl))))
8670
8671 (define-public cl-fset
8672 (sbcl-package->cl-source-package sbcl-fset))
8673
8674 (define-public ecl-fset
8675 (package
8676 (inherit (sbcl-package->ecl-package sbcl-fset))
8677 (arguments
8678 ;; Tests fails on ECL with "The function FSET::MAKE-CHAR is undefined".
8679 '(#:tests? #f))))
8680
8681 (define-public sbcl-cl-cont
8682 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
8683 (revision "1"))
8684 (package
8685 (name "sbcl-cl-cont")
8686 (version (git-version "0.3.8" revision commit))
8687 (source
8688 (origin
8689 (method git-fetch)
8690 (uri (git-reference
8691 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
8692 (commit commit)))
8693 (file-name (git-file-name name version))
8694 (sha256
8695 (base32
8696 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
8697 (build-system asdf-build-system/sbcl)
8698 (inputs
8699 `(("alexandria" ,sbcl-alexandria)
8700 ("closer-mop" ,sbcl-closer-mop)))
8701 (native-inputs
8702 `(("rt" ,sbcl-rt)))
8703 (synopsis "Delimited continuations for Common Lisp")
8704 (description
8705 "This is a library that implements delimited continuations by
8706 transforming Common Lisp code to continuation passing style.")
8707 (home-page "https://common-lisp.net/project/cl-cont/")
8708 (license license:llgpl))))
8709
8710 (define-public cl-cont
8711 (sbcl-package->cl-source-package sbcl-cl-cont))
8712
8713 (define-public ecl-cl-cont
8714 (sbcl-package->ecl-package sbcl-cl-cont))
8715
8716 (define-public sbcl-cl-coroutine
8717 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
8718 (revision "1"))
8719 (package
8720 (name "sbcl-cl-coroutine")
8721 (version (git-version "0.1" revision commit))
8722 (source
8723 (origin
8724 (method git-fetch)
8725 (uri (git-reference
8726 (url "https://github.com/takagi/cl-coroutine")
8727 (commit commit)))
8728 (file-name (git-file-name name version))
8729 (sha256
8730 (base32
8731 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
8732 (build-system asdf-build-system/sbcl)
8733 (inputs
8734 `(("alexandria" ,sbcl-alexandria)
8735 ("cl-cont" ,sbcl-cl-cont)))
8736 (native-inputs
8737 `(("prove" ,sbcl-prove)))
8738 (arguments
8739 `(;; TODO: Fix the tests. They fail with:
8740 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
8741 #:tests? #f
8742 #:phases
8743 (modify-phases %standard-phases
8744 (add-after 'unpack 'fix-tests
8745 (lambda _
8746 (substitute* "cl-coroutine-test.asd"
8747 (("cl-test-more")
8748 "prove"))
8749 #t)))))
8750 (synopsis "Coroutine library for Common Lisp")
8751 (description
8752 "This is a coroutine library for Common Lisp implemented using the
8753 continuations of the @code{cl-cont} library.")
8754 (home-page "https://github.com/takagi/cl-coroutine")
8755 (license license:llgpl))))
8756
8757 (define-public cl-coroutine
8758 (sbcl-package->cl-source-package sbcl-cl-coroutine))
8759
8760 (define-public ecl-cl-coroutine
8761 (sbcl-package->ecl-package sbcl-cl-coroutine))
8762
8763 (define-public sbcl-vas-string-metrics
8764 (let ((commit "f2e4500b180316123fbd549bd51c751ee2d6ba0f")
8765 (revision "1"))
8766 (package
8767 (name "sbcl-vas-string-metrics")
8768 (version (git-version "0.0.0" revision commit))
8769 (source
8770 (origin
8771 (method git-fetch)
8772 (uri (git-reference
8773 (url "https://github.com/vsedach/vas-string-metrics")
8774 (commit commit)))
8775 (file-name (git-file-name "vas-string-metrics" version))
8776 (sha256
8777 (base32 "11fcnd03ybzz37rkg3z0wsb727yqgcd9gn70sccfb34l89ia279k"))))
8778 (build-system asdf-build-system/sbcl)
8779 (arguments
8780 `(#:test-asd-file "test.vas-string-metrics.asd"))
8781 (home-page "https://github.com/vsedach/vas-string-metrics")
8782 (synopsis "String distance algorithms for Common Lisp")
8783 (description
8784 "VAS-STRING-METRICS provides the Jaro, Jaro-Winkler, Soerensen-Dice,
8785 Levenshtein, and normalized Levenshtein string distance/similarity metrics
8786 algorithms.")
8787 (license license:lgpl3+))))
8788
8789 (define-public ecl-vas-string-metrics
8790 (sbcl-package->ecl-package sbcl-vas-string-metrics))
8791
8792 (define-public cl-vas-string-metrics
8793 (sbcl-package->cl-source-package sbcl-vas-string-metrics))
8794
8795 (define-public sbcl-vom
8796 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
8797 (revision "1"))
8798 (package
8799 (name "sbcl-vom")
8800 (version (git-version "0.1.4" revision commit))
8801 (source
8802 (origin
8803 (method git-fetch)
8804 (uri (git-reference
8805 (url "https://github.com/orthecreedence/vom")
8806 (commit commit)))
8807 (file-name (git-file-name name version))
8808 (sha256
8809 (base32
8810 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
8811 (build-system asdf-build-system/sbcl)
8812 (synopsis "Tiny logging utility for Common Lisp")
8813 (description
8814 "Vom is a logging library for Common Lisp. It's goal is to be useful
8815 and small. It does not provide a lot of features as other loggers do, but
8816 has a small codebase that's easy to understand and use.")
8817 (home-page "https://github.com/orthecreedence/vom")
8818 (license license:expat))))
8819
8820 (define-public cl-vom
8821 (sbcl-package->cl-source-package sbcl-vom))
8822
8823 (define-public ecl-vom
8824 (sbcl-package->ecl-package sbcl-vom))
8825
8826 (define-public sbcl-cl-libuv
8827 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
8828 (revision "1"))
8829 (package
8830 (name "sbcl-cl-libuv")
8831 (version (git-version "0.1.6" revision commit))
8832 (source
8833 (origin
8834 (method git-fetch)
8835 (uri (git-reference
8836 (url "https://github.com/orthecreedence/cl-libuv")
8837 (commit commit)))
8838 (file-name (git-file-name name version))
8839 (sha256
8840 (base32
8841 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
8842 (build-system asdf-build-system/sbcl)
8843 (inputs
8844 `(("alexandria" ,sbcl-alexandria)
8845 ("cffi" ,sbcl-cffi)
8846 ("libuv" ,libuv)))
8847 (arguments
8848 `(#:phases
8849 (modify-phases %standard-phases
8850 (add-after 'unpack 'fix-paths
8851 (lambda* (#:key inputs #:allow-other-keys)
8852 (substitute* "lib.lisp"
8853 (("/usr/lib/libuv.so")
8854 (string-append (assoc-ref inputs "libuv")
8855 "/lib/libuv.so")))
8856 #t))
8857 (add-after 'fix-paths 'fix-system-definition
8858 (lambda _
8859 (substitute* "cl-libuv.asd"
8860 (("#:cffi #:alexandria")
8861 "#:cffi #:cffi-grovel #:alexandria"))
8862 #t)))))
8863 (synopsis "Common Lisp bindings to libuv")
8864 (description
8865 "This library provides low-level libuv bindings for Common Lisp.")
8866 (home-page "https://github.com/orthecreedence/cl-libuv")
8867 (license license:expat))))
8868
8869 (define-public cl-libuv
8870 (sbcl-package->cl-source-package sbcl-cl-libuv))
8871
8872 (define-public ecl-cl-libuv
8873 (sbcl-package->ecl-package sbcl-cl-libuv))
8874
8875 (define-public sbcl-cl-async
8876 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
8877 (revision "1"))
8878 (package
8879 (name "sbcl-cl-async")
8880 (version (git-version "0.6.1" revision commit))
8881 (source
8882 (origin
8883 (method git-fetch)
8884 (uri (git-reference
8885 (url "https://github.com/orthecreedence/cl-async")
8886 (commit commit)))
8887 (file-name (git-file-name name version))
8888 (sha256
8889 (base32
8890 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
8891 (build-system asdf-build-system/sbcl)
8892 (inputs
8893 `(("babel" ,sbcl-babel)
8894 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8895 ("cffi" ,sbcl-cffi)
8896 ("cl-libuv" ,sbcl-cl-libuv)
8897 ("cl-ppcre" ,sbcl-cl-ppcre)
8898 ("fast-io" ,sbcl-fast-io)
8899 ("openssl" ,openssl)
8900 ("static-vectors" ,sbcl-static-vectors)
8901 ("trivial-features" ,sbcl-trivial-features)
8902 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
8903 ("vom" ,sbcl-vom)))
8904 (arguments
8905 `(#:asd-systems '("cl-async"
8906 "cl-async-repl"
8907 "cl-async-ssl")
8908 #:phases
8909 (modify-phases %standard-phases
8910 (add-after 'unpack 'fix-paths
8911 (lambda* (#:key inputs #:allow-other-keys)
8912 (substitute* "src/ssl/package.lisp"
8913 (("libcrypto\\.so")
8914 (string-append (assoc-ref inputs "openssl")
8915 "/lib/libcrypto.so"))
8916 (("libssl\\.so")
8917 (string-append (assoc-ref inputs "openssl")
8918 "/lib/libssl.so")))
8919 #t)))))
8920 (synopsis "Asynchronous operations for Common Lisp")
8921 (description
8922 "Cl-async is a library for general purpose, non-blocking programming in
8923 Common Lisp. It uses the libuv library as backend.")
8924 (home-page "https://orthecreedence.github.io/cl-async/")
8925 (license license:expat))))
8926
8927 (define-public cl-async
8928 (sbcl-package->cl-source-package sbcl-cl-async))
8929
8930 (define-public ecl-cl-async
8931 (sbcl-package->ecl-package sbcl-cl-async))
8932
8933 (define-public sbcl-blackbird
8934 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
8935 (revision "1"))
8936 (package
8937 (name "sbcl-blackbird")
8938 (version (git-version "0.5.2" revision commit))
8939 (source
8940 (origin
8941 (method git-fetch)
8942 (uri (git-reference
8943 (url "https://github.com/orthecreedence/blackbird")
8944 (commit commit)))
8945 (file-name (git-file-name name version))
8946 (sha256
8947 (base32
8948 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
8949 (build-system asdf-build-system/sbcl)
8950 (inputs
8951 `(("vom" ,sbcl-vom)))
8952 (native-inputs
8953 `(("cl-async" ,sbcl-cl-async)
8954 ("fiveam" ,sbcl-fiveam)))
8955 (synopsis "Promise implementation for Common Lisp")
8956 (description
8957 "This is a standalone promise implementation for Common Lisp. It is
8958 the successor to the now-deprecated cl-async-future project.")
8959 (home-page "https://orthecreedence.github.io/blackbird/")
8960 (license license:expat))))
8961
8962 (define-public cl-blackbird
8963 (sbcl-package->cl-source-package sbcl-blackbird))
8964
8965 (define-public ecl-blackbird
8966 (sbcl-package->ecl-package sbcl-blackbird))
8967
8968 (define-public sbcl-cl-async-future
8969 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
8970 (revision "1"))
8971 (package
8972 (name "sbcl-cl-async-future")
8973 (version (git-version "0.4.4.1" revision commit))
8974 (source
8975 (origin
8976 (method git-fetch)
8977 (uri (git-reference
8978 (url "https://github.com/orthecreedence/cl-async-future")
8979 (commit commit)))
8980 (file-name (git-file-name name version))
8981 (sha256
8982 (base32
8983 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
8984 (build-system asdf-build-system/sbcl)
8985 (inputs
8986 `(("blackbird" ,sbcl-blackbird)))
8987 (native-inputs
8988 `(("cl-async" ,sbcl-cl-async)
8989 ("eos" ,sbcl-eos)))
8990 (synopsis "Futures implementation for Common Lisp")
8991 (description
8992 "This is futures implementation for Common Lisp. It plugs in nicely
8993 to cl-async.")
8994 (home-page "https://orthecreedence.github.io/cl-async/future")
8995 (license license:expat))))
8996
8997 (define-public cl-async-future
8998 (sbcl-package->cl-source-package sbcl-cl-async-future))
8999
9000 (define-public ecl-cl-async-future
9001 (sbcl-package->ecl-package sbcl-cl-async-future))
9002
9003 (define-public sbcl-green-threads
9004 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
9005 (revision "1"))
9006 (package
9007 (name "sbcl-green-threads")
9008 (version (git-version "0.3" revision commit))
9009 (source
9010 (origin
9011 (method git-fetch)
9012 (uri (git-reference
9013 (url "https://github.com/thezerobit/green-threads")
9014 (commit commit)))
9015 (file-name (git-file-name name version))
9016 (sha256
9017 (base32
9018 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
9019 (build-system asdf-build-system/sbcl)
9020 (inputs
9021 `(("cl-async-future" ,sbcl-cl-async-future)
9022 ("cl-cont" ,sbcl-cl-cont)))
9023 (native-inputs
9024 `(("prove" ,sbcl-prove)))
9025 (arguments
9026 `(;; TODO: Fix the tests. They fail with:
9027 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
9028 #:tests? #f
9029 #:phases
9030 (modify-phases %standard-phases
9031 (add-after 'unpack 'fix-tests
9032 (lambda _
9033 (substitute* "green-threads-test.asd"
9034 (("cl-test-more")
9035 "prove"))
9036 #t)))))
9037 (synopsis "Cooperative multitasking library for Common Lisp")
9038 (description
9039 "This library allows for cooperative multitasking with help of cl-cont
9040 for continuations. It tries to mimic the API of bordeaux-threads as much as
9041 possible.")
9042 (home-page "https://github.com/thezerobit/green-threads")
9043 (license license:bsd-3))))
9044
9045 (define-public cl-green-threads
9046 (sbcl-package->cl-source-package sbcl-green-threads))
9047
9048 (define-public ecl-green-threads
9049 (sbcl-package->ecl-package sbcl-green-threads))
9050
9051 (define-public sbcl-cl-base32
9052 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
9053 (revision "1"))
9054 (package
9055 (name "sbcl-cl-base32")
9056 (version (git-version "0.1" revision commit))
9057 (source
9058 (origin
9059 (method git-fetch)
9060 (uri (git-reference
9061 (url "https://github.com/hargettp/cl-base32")
9062 (commit commit)))
9063 (file-name (git-file-name name version))
9064 (sha256
9065 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
9066 (build-system asdf-build-system/sbcl)
9067 (native-inputs
9068 `(("lisp-unit" ,sbcl-lisp-unit)))
9069 (synopsis "Common Lisp library for base32 encoding and decoding")
9070 (description
9071 "This package provides functions for base32 encoding and decoding as
9072 defined in RFC4648.")
9073 (home-page "https://github.com/hargettp/cl-base32")
9074 (license license:expat))))
9075
9076 (define-public cl-base32
9077 (sbcl-package->cl-source-package sbcl-cl-base32))
9078
9079 (define-public ecl-cl-base32
9080 (sbcl-package->ecl-package sbcl-cl-base32))
9081
9082 (define-public sbcl-cl-z85
9083 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
9084 (revision "1"))
9085 (package
9086 (name "sbcl-cl-z85")
9087 (version (git-version "1.0" revision commit))
9088 (source
9089 (origin
9090 (method git-fetch)
9091 (uri (git-reference
9092 (url "https://github.com/glv2/cl-z85")
9093 (commit commit)))
9094 (file-name (git-file-name name version))
9095 (sha256
9096 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
9097 (build-system asdf-build-system/sbcl)
9098 (native-inputs
9099 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
9100 ("fiveam" ,sbcl-fiveam)))
9101 (synopsis "Common Lisp library for Z85 encoding and decoding")
9102 (description
9103 "This package provides functions to encode or decode byte vectors or
9104 byte streams using the Z85 format, which is a base-85 encoding used by
9105 ZeroMQ.")
9106 (home-page "https://github.com/glv2/cl-z85")
9107 (license license:gpl3+))))
9108
9109 (define-public cl-z85
9110 (sbcl-package->cl-source-package sbcl-cl-z85))
9111
9112 (define-public ecl-cl-z85
9113 (sbcl-package->ecl-package sbcl-cl-z85))
9114
9115 (define-public sbcl-ltk
9116 (package
9117 (name "sbcl-ltk")
9118 (version "0.992")
9119 (source
9120 (origin
9121 (method git-fetch)
9122 (uri (git-reference
9123 (url "https://github.com/herth/ltk")
9124 (commit version)))
9125 (file-name (git-file-name name version))
9126 (sha256
9127 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
9128 (build-system asdf-build-system/sbcl)
9129 (inputs
9130 `(("imagemagick" ,imagemagick)
9131 ("tk" ,tk)))
9132 (arguments
9133 `(#:asd-systems '("ltk"
9134 "ltk-mw"
9135 "ltk-remote")
9136 #:tests? #f
9137 #:phases
9138 (modify-phases %standard-phases
9139 (add-after 'unpack 'fix-paths
9140 (lambda* (#:key inputs #:allow-other-keys)
9141 (substitute* "ltk/ltk.lisp"
9142 (("#-freebsd \"wish\"")
9143 (string-append "#-freebsd \""
9144 (assoc-ref inputs "tk")
9145 "/bin/wish\""))
9146 (("do-execute \"convert\"")
9147 (string-append "do-execute \""
9148 (assoc-ref inputs "imagemagick")
9149 "/bin/convert\"")))
9150 #t))
9151 (add-after 'unpack 'fix-build
9152 (lambda _
9153 (substitute* "ltk/ltk-remote.lisp"
9154 (("\\(:export")
9155 "(:shadow #:raise) (:export"))
9156 #t)))))
9157 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9158 (description
9159 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
9160 in pure Common Lisp and does not require any Tk knowledge for its usage.")
9161 (home-page "http://www.peter-herth.de/ltk/")
9162 (license license:llgpl)))
9163
9164 (define-public cl-ltk
9165 (sbcl-package->cl-source-package sbcl-ltk))
9166
9167 (define-public ecl-ltk
9168 (sbcl-package->ecl-package sbcl-ltk))
9169
9170 (define-public sbcl-cl-lex
9171 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
9172 (revision "1"))
9173 (package
9174 (name "sbcl-cl-lex")
9175 (version (git-version "1.1.3" revision commit))
9176 (source
9177 (origin
9178 (method git-fetch)
9179 (uri (git-reference
9180 (url "https://github.com/djr7C4/cl-lex")
9181 (commit commit)))
9182 (file-name (git-file-name name version))
9183 (sha256
9184 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
9185 (build-system asdf-build-system/sbcl)
9186 (inputs
9187 `(("cl-ppcre" ,sbcl-cl-ppcre)))
9188 (synopsis "Common Lisp macros for generating lexical analyzers")
9189 (description
9190 "This is a Common Lisp library providing a set of macros for generating
9191 lexical analyzers automatically. The lexers generated using @code{cl-lex} can
9192 be used with @code{cl-yacc}.")
9193 (home-page "https://github.com/djr7C4/cl-lex")
9194 (license license:gpl3))))
9195
9196 (define-public cl-lex
9197 (sbcl-package->cl-source-package sbcl-cl-lex))
9198
9199 (define-public ecl-cl-lex
9200 (sbcl-package->ecl-package sbcl-cl-lex))
9201
9202 (define-public sbcl-clunit2
9203 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
9204 (revision "1"))
9205 (package
9206 (name "sbcl-clunit2")
9207 (version (git-version "0.2.4" revision commit))
9208 (source
9209 (origin
9210 (method git-fetch)
9211 (uri (git-reference
9212 (url "https://notabug.org/cage/clunit2.git")
9213 (commit commit)))
9214 (file-name (git-file-name name version))
9215 (sha256
9216 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
9217 (build-system asdf-build-system/sbcl)
9218 (synopsis "Unit testing framework for Common Lisp")
9219 (description
9220 "CLUnit is a Common Lisp unit testing framework. It is designed to be
9221 easy to use so that you can quickly start testing.")
9222 (home-page "https://notabug.org/cage/clunit2")
9223 (license license:expat))))
9224
9225 (define-public cl-clunit2
9226 (sbcl-package->cl-source-package sbcl-clunit2))
9227
9228 (define-public ecl-clunit2
9229 (sbcl-package->ecl-package sbcl-clunit2))
9230
9231 (define-public sbcl-cl-colors2
9232 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
9233 (revision "1"))
9234 (package
9235 (name "sbcl-cl-colors2")
9236 (version (git-version "0.2.1" revision commit))
9237 (source
9238 (origin
9239 (method git-fetch)
9240 (uri (git-reference
9241 (url "https://notabug.org/cage/cl-colors2.git")
9242 (commit commit)))
9243 (file-name (git-file-name name version))
9244 (sha256
9245 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
9246 (build-system asdf-build-system/sbcl)
9247 (native-inputs
9248 `(("clunit2" ,sbcl-clunit2)))
9249 (inputs
9250 `(("alexandria" ,sbcl-alexandria)
9251 ("cl-ppcre" ,sbcl-cl-ppcre)))
9252 (synopsis "Color library for Common Lisp")
9253 (description
9254 "This is a very simple color library for Common Lisp, providing:
9255
9256 @itemize
9257 @item Types for representing colors in HSV and RGB spaces.
9258 @item Simple conversion functions between the above types (and also
9259 hexadecimal representation for RGB).
9260 @item Some predefined colors (currently X11 color names -- of course
9261 the library does not depend on X11).
9262 @end itemize\n")
9263 (home-page "https://notabug.org/cage/cl-colors2")
9264 (license license:boost1.0))))
9265
9266 (define-public cl-colors2
9267 (sbcl-package->cl-source-package sbcl-cl-colors2))
9268
9269 (define-public ecl-cl-colors2
9270 (sbcl-package->ecl-package sbcl-cl-colors2))
9271
9272 (define-public sbcl-cl-jpeg
9273 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
9274 (revision "1"))
9275 (package
9276 (name "sbcl-cl-jpeg")
9277 (version (git-version "2.8" revision commit))
9278 (source
9279 (origin
9280 (method git-fetch)
9281 (uri (git-reference
9282 (url "https://github.com/sharplispers/cl-jpeg")
9283 (commit commit)))
9284 (file-name (git-file-name name version))
9285 (sha256
9286 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
9287 (build-system asdf-build-system/sbcl)
9288 (synopsis "JPEG image library for Common Lisp")
9289 (description
9290 "This is a baseline JPEG codec written in Common Lisp. It can be used
9291 for reading and writing JPEG image files.")
9292 (home-page "https://github.com/sharplispers/cl-jpeg")
9293 (license license:bsd-3))))
9294
9295 (define-public cl-jpeg
9296 (sbcl-package->cl-source-package sbcl-cl-jpeg))
9297
9298 (define-public ecl-cl-jpeg
9299 (sbcl-package->ecl-package sbcl-cl-jpeg))
9300
9301 (define-public sbcl-png
9302 (let ((commit "11b965fe378fd0561abe3616b18ff03af5179648")
9303 (revision "1"))
9304 (package
9305 (name "sbcl-png")
9306 (version (git-version "0.6" revision commit))
9307 (source
9308 (origin
9309 (method git-fetch)
9310 (uri (git-reference
9311 (url "https://github.com/ljosa/cl-png")
9312 (commit commit)))
9313 (file-name (git-file-name "cl-png" version))
9314 (sha256
9315 (base32 "173hqwpd0rwqf95mfx1h9l9c3i8bb0gvnpspzmmz3g5x3440czy4"))))
9316 (build-system asdf-build-system/sbcl)
9317 (arguments
9318 `(#:phases
9319 (modify-phases %standard-phases
9320 (add-after 'unpack 'fix-lib-paths
9321 (lambda* (#:key inputs #:allow-other-keys)
9322 (substitute* "libpng.lisp"
9323 (("\"libpng\"")
9324 (string-append "\""
9325 (assoc-ref inputs "libpng")
9326 "/lib/libpng\""))))))))
9327 (inputs
9328 `(("cffi" ,sbcl-cffi)
9329 ("libpng" ,libpng)))
9330 (home-page "https://github.com/ljosa/cl-png")
9331 (synopsis "Read and write PNG file format")
9332 (description
9333 "This package provides a @code{PNG} Common Lisp system to operate with
9334 Portable Network Graphics file format.")
9335 (license license:lgpl2.1))))
9336
9337 (define-public ecl-png
9338 (sbcl-package->ecl-package sbcl-png))
9339
9340 (define-public cl-png
9341 (sbcl-package->cl-source-package sbcl-png))
9342
9343 (define-public sbcl-cl-svg
9344 (let ((commit "1e988ebd2d6e2ee7be4744208828ef1b59e5dcdc")
9345 (revision "1"))
9346 (package
9347 (name "sbcl-cl-svg")
9348 (version (git-version "0.0.3" revision commit))
9349 (source
9350 (origin
9351 (method git-fetch)
9352 (uri (git-reference
9353 (url "https://github.com/wmannis/cl-svg")
9354 (commit commit)))
9355 (file-name (git-file-name "cl-svg" version))
9356 (sha256
9357 (base32 "11rmzimy6j7ln7q5y1h2kw1225rsfb6fpn89qjcq7h5lc8fay0wz"))))
9358 (build-system asdf-build-system/sbcl)
9359 (home-page "https://github.com/wmannis/cl-svg")
9360 (synopsis "Write SVG file format")
9361 (description
9362 "This package provides the @code{CL-SVG} Common Lisp system to produce
9363 Scalable Vector Graphics files.")
9364 (license license:expat))))
9365
9366 (define-public ecl-cl-svg
9367 (sbcl-package->ecl-package sbcl-cl-svg))
9368
9369 (define-public cl-svg
9370 (sbcl-package->cl-source-package sbcl-cl-svg))
9371
9372 (define-public sbcl-nodgui
9373 (let ((commit "4a9c2e7714b278fbe97d198c56f54ea87290001d")
9374 (revision "1"))
9375 (package
9376 (name "sbcl-nodgui")
9377 (version (git-version "0.1.1" revision commit))
9378 (source
9379 (origin
9380 (method git-fetch)
9381 (uri (git-reference
9382 (url "https://notabug.org/cage/nodgui.git")
9383 (commit commit)))
9384 (file-name (git-file-name "nodgui" version))
9385 (sha256
9386 (base32 "1vgzzw459h32v2mi41cia6i940jqmvxlc8w3xj3516hbc2mqkaib"))))
9387 (build-system asdf-build-system/sbcl)
9388 (inputs
9389 `(("alexandria" ,sbcl-alexandria)
9390 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9391 ("cl-colors2" ,sbcl-cl-colors2)
9392 ("cl-jpeg" ,sbcl-cl-jpeg)
9393 ("cl-lex" ,sbcl-cl-lex)
9394 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
9395 ("cl-unicode" ,sbcl-cl-unicode)
9396 ("cl-yacc" ,sbcl-cl-yacc)
9397 ("clunit2" ,sbcl-clunit2)
9398 ("named-readtables" ,sbcl-named-readtables)
9399 ("parse-number" ,sbcl-parse-number)
9400 ("tk" ,tk)))
9401 (arguments
9402 `(#:phases (modify-phases %standard-phases
9403 (add-after 'unpack 'fix-paths
9404 (lambda* (#:key inputs #:allow-other-keys)
9405 (substitute* "src/wish-communication.lisp"
9406 (("#-freebsd \"wish\"")
9407 (string-append "#-freebsd \""
9408 (assoc-ref inputs "tk")
9409 "/bin/wish\"")))
9410 #t)))))
9411 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9412 (description
9413 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
9414 toolkit. It also provides a few additional widgets more than the standard Tk
9415 ones.")
9416 (home-page "https://www.autistici.org/interzona/nodgui.html")
9417 (license license:llgpl))))
9418
9419 (define-public cl-nodgui
9420 (sbcl-package->cl-source-package sbcl-nodgui))
9421
9422 (define-public ecl-nodgui
9423 (sbcl-package->ecl-package sbcl-nodgui))
9424
9425 (define-public sbcl-salza2
9426 (package
9427 (name "sbcl-salza2")
9428 (version "2.0.9")
9429 (source
9430 (origin
9431 (method git-fetch)
9432 (uri (git-reference
9433 (url "https://github.com/xach/salza2")
9434 (commit (string-append "release-" version))))
9435 (file-name (git-file-name name version))
9436 (sha256
9437 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
9438 (build-system asdf-build-system/sbcl)
9439 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
9440 (description
9441 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
9442 deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
9443 respectively.")
9444 (home-page "https://www.xach.com/lisp/salza2/")
9445 (license license:bsd-2)))
9446
9447 (define-public cl-salza2
9448 (sbcl-package->cl-source-package sbcl-salza2))
9449
9450 (define-public ecl-salza2
9451 (sbcl-package->ecl-package sbcl-salza2))
9452
9453 (define-public sbcl-origin
9454 (let ((commit "d646134302456408d6d43580bb05299f1695ab8e")
9455 (revision "1"))
9456 (package
9457 (name "sbcl-origin")
9458 (version (git-version "2.0.0" revision commit))
9459 (source
9460 (origin
9461 (method git-fetch)
9462 (uri (git-reference
9463 (url "https://git.mfiano.net/mfiano/origin")
9464 (commit commit)))
9465 (file-name (git-file-name "origin" version))
9466 (sha256
9467 (base32 "1n9aszaif3yh8prs5r8v51fbj4r5jd1a048mivd5yij3hplkm82b"))))
9468 (build-system asdf-build-system/sbcl)
9469 (native-inputs
9470 `(("parachute" ,sbcl-parachute)))
9471 (inputs
9472 `(("golden-utils" ,sbcl-golden-utils)
9473 ("specialization-store" ,sbcl-specialization-store)))
9474 (home-page "https://git.mfiano.net/mfiano/origin")
9475 (synopsis "Common Lisp graphics math library")
9476 (description
9477 "This is a native Common Lisp graphics math library with an emphasis on
9478 performance and correctness.")
9479 (license license:expat))))
9480
9481 (define-public ecl-origin
9482 (sbcl-package->ecl-package sbcl-origin))
9483
9484 (define-public cl-origin
9485 (sbcl-package->cl-source-package sbcl-origin))
9486
9487 (define-public sbcl-png-read
9488 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
9489 (revision "1"))
9490 (package
9491 (name "sbcl-png-read")
9492 (version (git-version "0.3.1" revision commit))
9493 (source
9494 (origin
9495 (method git-fetch)
9496 (uri (git-reference
9497 (url "https://github.com/Ramarren/png-read")
9498 (commit commit)))
9499 (file-name (git-file-name name version))
9500 (sha256
9501 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
9502 (build-system asdf-build-system/sbcl)
9503 (inputs
9504 `(("babel" ,sbcl-babel)
9505 ("chipz" ,sbcl-chipz)
9506 ("iterate" ,sbcl-iterate)))
9507 (synopsis "PNG decoder for Common Lisp")
9508 (description "This is a Common Lisp library for reading PNG images.")
9509 (home-page "https://github.com/Ramarren/png-read")
9510 (license license:bsd-3))))
9511
9512 (define-public cl-png-read
9513 (sbcl-package->cl-source-package sbcl-png-read))
9514
9515 (define-public ecl-png-read
9516 (sbcl-package->ecl-package sbcl-png-read))
9517
9518 (define-public sbcl-3b-bmfont
9519 (let ((commit "d1b5bec0de580c2d08ec947a93c56b1400f2a37a")
9520 (revision "1"))
9521 (package
9522 (name "sbcl-3b-bmfont")
9523 (version (git-version "0.0.1" revision commit))
9524 (source
9525 (origin
9526 (method git-fetch)
9527 (uri (git-reference
9528 (url "https://github.com/3b/3b-bmfont/")
9529 (commit commit)))
9530 (file-name (git-file-name "3b-bmfont" version))
9531 (sha256
9532 (base32 "12sgf7m0h6fqzhvkas7vmci6mprj3j3fnz778jlbqbsydln6v2yc"))))
9533 (build-system asdf-build-system/sbcl)
9534 (arguments
9535 `(#:asd-systems
9536 '("3b-bmfont"
9537 "3b-bmfont/text"
9538 "3b-bmfont/common"
9539 "3b-bmfont/xml"
9540 "3b-bmfont/json")))
9541 (inputs
9542 `(("alexandria" ,sbcl-alexandria)
9543 ("cxml" ,sbcl-cxml)
9544 ("flexi-streams" ,sbcl-flexi-streams)
9545 ("jsown" ,sbcl-jsown)
9546 ("split-sequence" ,sbcl-split-sequence)))
9547 (home-page "https://github.com/3b/3b-bmfont/")
9548 (synopsis "Read/write bmfont metadata files")
9549 (description
9550 "This is a Common Lisp library which provides functionality to
9551 read/write Bit Map Font (BMF) into text, JSON and XML.")
9552 (license license:expat))))
9553
9554 (define-public ecl-3b-bmfont
9555 (sbcl-package->ecl-package sbcl-3b-bmfont))
9556
9557 (define-public cl-3b-bmfont
9558 (sbcl-package->cl-source-package sbcl-3b-bmfont))
9559
9560 (define-public sbcl-zpng
9561 (package
9562 (name "sbcl-zpng")
9563 (version "1.2.2")
9564 (source
9565 (origin
9566 (method git-fetch)
9567 (uri (git-reference
9568 (url "https://github.com/xach/zpng")
9569 (commit (string-append "release-" version))))
9570 (file-name (git-file-name name version))
9571 (sha256
9572 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
9573 (build-system asdf-build-system/sbcl)
9574 (inputs
9575 `(("salza2" ,sbcl-salza2)))
9576 (synopsis "PNG encoder for Common Lisp")
9577 (description "This is a Common Lisp library for creating PNG images.")
9578 (home-page "https://www.xach.com/lisp/zpng/")
9579 (license license:bsd-2)))
9580
9581 (define-public cl-zpng
9582 (sbcl-package->cl-source-package sbcl-zpng))
9583
9584 (define-public ecl-zpng
9585 (sbcl-package->ecl-package sbcl-zpng))
9586
9587 (define-public sbcl-cl-qrencode
9588 (package
9589 (name "sbcl-cl-qrencode")
9590 (version "0.1.2")
9591 (source
9592 (origin
9593 (method git-fetch)
9594 (uri (git-reference
9595 (url "https://github.com/jnjcc/cl-qrencode")
9596 (commit (string-append "v" version))))
9597 (file-name (git-file-name name version))
9598 (sha256
9599 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
9600 (build-system asdf-build-system/sbcl)
9601 (native-inputs
9602 `(("lisp-unit" ,sbcl-lisp-unit)))
9603 (inputs
9604 `(("zpng" ,sbcl-zpng)))
9605 (synopsis "QR code encoder for Common Lisp")
9606 (description
9607 "This Common Lisp library provides function to make QR codes and to save
9608 them as PNG files.")
9609 (home-page "https://github.com/jnjcc/cl-qrencode")
9610 (license license:gpl2+)))
9611
9612 (define-public cl-qrencode
9613 (sbcl-package->cl-source-package sbcl-cl-qrencode))
9614
9615 (define-public ecl-cl-qrencode
9616 (sbcl-package->ecl-package sbcl-cl-qrencode))
9617
9618 (define-public sbcl-hdf5-cffi
9619 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
9620 (revision "1"))
9621 (package
9622 (name "sbcl-hdf5-cffi")
9623 (version (git-version "1.8.18" revision commit))
9624 (source
9625 (origin
9626 (method git-fetch)
9627 (uri (git-reference
9628 (url "https://github.com/hdfgroup/hdf5-cffi")
9629 (commit commit)))
9630 (file-name (git-file-name name version))
9631 (sha256
9632 (base32
9633 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
9634 (build-system asdf-build-system/sbcl)
9635 (synopsis "Common Lisp bindings for the HDF5 library")
9636 (description
9637 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
9638 (home-page "https://github.com/hdfgroup/hdf5-cffi")
9639 (license (license:non-copyleft
9640 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
9641 commit
9642 "/LICENSE")))
9643 (inputs
9644 `(("cffi" ,sbcl-cffi)
9645 ("hdf5" ,hdf5-1.10)))
9646 (native-inputs
9647 `(("fiveam" ,sbcl-fiveam)))
9648 (arguments
9649 `(#:test-asd-file "hdf5-cffi.test.asd"
9650 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
9651 ;; I don't know if there is a way to tell asdf-build-system to load
9652 ;; an additional system first, so tests are disabled.
9653 #:tests? #f
9654 #:phases
9655 (modify-phases %standard-phases
9656 (add-after 'unpack 'fix-paths
9657 (lambda* (#:key inputs #:allow-other-keys)
9658 (substitute* "src/library.lisp"
9659 (("libhdf5.so")
9660 (string-append
9661 (assoc-ref inputs "hdf5")
9662 "/lib/libhdf5.so")))))
9663 (add-after 'unpack 'fix-dependencies
9664 (lambda* (#:key inputs #:allow-other-keys)
9665 (substitute* "hdf5-cffi.asd"
9666 ((":depends-on \\(:cffi\\)")
9667 ":depends-on (:cffi :cffi-grovel)"))
9668 (substitute* "hdf5-cffi.test.asd"
9669 ((":depends-on \\(:cffi :hdf5-cffi")
9670 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
9671
9672 (define-public cl-hdf5-cffi
9673 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
9674
9675 (define-public ecl-hdf5-cffi
9676 (sbcl-package->ecl-package sbcl-hdf5-cffi))
9677
9678 (define-public sbcl-cl-randist
9679 (package
9680 (name "sbcl-cl-randist")
9681 (version "0.4.2")
9682 (source
9683 (origin
9684 (method git-fetch)
9685 (uri (git-reference
9686 (url "https://github.com/lvaruzza/cl-randist")
9687 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
9688 (file-name (git-file-name name version))
9689 (sha256
9690 (base32
9691 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
9692 (build-system asdf-build-system/sbcl)
9693 (synopsis "Random distributions for Common Lisp")
9694 (description
9695 "Manual translation from C to Common Lisp of some random number
9696 generation functions from the GSL library.")
9697 (home-page "https://github.com/lvaruzza/cl-randist")
9698 (license license:bsd-2)
9699 (arguments
9700 `(#:tests? #f))))
9701
9702 (define-public cl-randist
9703 (sbcl-package->cl-source-package sbcl-cl-randist))
9704
9705 (define-public ecl-cl-randist
9706 (sbcl-package->ecl-package sbcl-cl-randist))
9707
9708 (define-public sbcl-float-features
9709 (package
9710 (name "sbcl-float-features")
9711 (version "1.0.0")
9712 (source
9713 (origin
9714 (method git-fetch)
9715 (uri (git-reference
9716 (url "https://github.com/Shinmera/float-features")
9717 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
9718 (file-name (git-file-name name version))
9719 (sha256
9720 (base32
9721 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
9722 (build-system asdf-build-system/sbcl)
9723 (synopsis "Common Lisp IEEE float portability library")
9724 (description
9725 "Portability library for IEEE float features that are not
9726 covered by the Common Lisp standard.")
9727 (home-page "https://github.com/Shinmera/float-features")
9728 (license license:zlib)
9729 (inputs
9730 `(("documentation-utils" ,sbcl-documentation-utils)))
9731 (arguments
9732 `(#:tests? #f))))
9733
9734 (define-public cl-float-features
9735 (sbcl-package->cl-source-package sbcl-float-features))
9736
9737 (define-public ecl-float-features
9738 (sbcl-package->ecl-package sbcl-float-features))
9739
9740 (define-public sbcl-function-cache
9741 (package
9742 (name "sbcl-function-cache")
9743 (version "1.0.3")
9744 (source
9745 (origin
9746 (method git-fetch)
9747 (uri (git-reference
9748 (url "https://github.com/AccelerationNet/function-cache")
9749 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
9750 (file-name (git-file-name name version))
9751 (sha256
9752 (base32
9753 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
9754 (build-system asdf-build-system/sbcl)
9755 (synopsis "Function caching / memoization library for Common Lisp")
9756 (description
9757 "A common lisp library that provides extensible function result
9758 caching based on arguments (an expanded form of memoization).")
9759 (home-page "https://github.com/AccelerationNet/function-cache")
9760 (license
9761 (license:non-copyleft
9762 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
9763 (inputs
9764 `(("alexandria" ,sbcl-alexandria)
9765 ("cl-interpol" ,sbcl-cl-interpol)
9766 ("iterate" ,sbcl-iterate)
9767 ("symbol-munger" ,sbcl-symbol-munger)
9768 ("closer-mop" ,sbcl-closer-mop)))
9769 (arguments
9770 `(#:tests? #f))))
9771
9772 (define-public cl-function-cache
9773 (sbcl-package->cl-source-package sbcl-function-cache))
9774
9775 (define-public ecl-function-cache
9776 (sbcl-package->ecl-package sbcl-function-cache))
9777
9778 (define-public sbcl-type-r
9779 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
9780 (revision "1"))
9781 (package
9782 (name "sbcl-type-r")
9783 (version (git-version "0.0.0" revision commit))
9784 (source
9785 (origin
9786 (method git-fetch)
9787 (uri (git-reference
9788 (url "https://github.com/guicho271828/type-r")
9789 (commit commit)))
9790 (file-name (git-file-name name version))
9791 (sha256
9792 (base32
9793 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
9794 (build-system asdf-build-system/sbcl)
9795 (synopsis "Parser interface for Common Lisp built-in compound types")
9796 (description
9797 "Collections of accessor functions and patterns to access
9798 the elements in compound type specifier, e.g. @code{dimensions} in
9799 @code{(array element-type dimensions)}")
9800 (home-page "https://github.com/guicho271828/type-r")
9801 (license license:lgpl3+)
9802 (inputs
9803 `(("trivia" ,sbcl-trivia)
9804 ("alexandria" ,sbcl-alexandria)))
9805 (native-inputs
9806 `(("fiveam" ,sbcl-fiveam)))
9807 (arguments
9808 `(#:test-asd-file "type-r.test.asd")))))
9809
9810 (define-public cl-type-r
9811 (sbcl-package->cl-source-package sbcl-type-r))
9812
9813 (define-public ecl-type-r
9814 (sbcl-package->ecl-package sbcl-type-r))
9815
9816 (define-public sbcl-trivialib-type-unify
9817 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
9818 (revision "1"))
9819 (package
9820 (name "sbcl-trivialib-type-unify")
9821 (version (git-version "0.1" revision commit))
9822 (source
9823 (origin
9824 (method git-fetch)
9825 (uri (git-reference
9826 (url "https://github.com/guicho271828/trivialib.type-unify")
9827 (commit commit)))
9828 (file-name (git-file-name name version))
9829 (sha256
9830 (base32
9831 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
9832 (build-system asdf-build-system/sbcl)
9833 (synopsis "Common Lisp type unification")
9834 (description
9835 "Unifies a parametrized type specifier against an actual type specifier.
9836 Importantly, it handles complicated array-subtypes and number-related types
9837 correctly.")
9838 (home-page "https://github.com/guicho271828/trivialib.type-unify")
9839 (license license:lgpl3+)
9840 (inputs
9841 `(("alexandria" ,sbcl-alexandria)
9842 ("trivia" ,sbcl-trivia)
9843 ("introspect-environment" ,sbcl-introspect-environment)
9844 ("type-r" ,sbcl-type-r)))
9845 (native-inputs
9846 `(("fiveam" ,sbcl-fiveam)))
9847 (arguments
9848 `(#:asd-systems '("trivialib.type-unify")
9849 #:test-asd-file "trivialib.type-unify.test.asd")))))
9850
9851 (define-public cl-trivialib-type-unify
9852 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
9853
9854 (define-public ecl-trivialib-type-unify
9855 (sbcl-package->ecl-package sbcl-trivialib-type-unify))
9856
9857 (define-public sbcl-specialized-function
9858 (let ((commit "dee56d2d2b6ecd10500ad291c56217698604ec35")
9859 (revision "2"))
9860 (package
9861 (name "sbcl-specialized-function")
9862 (version (git-version "0.0.0" revision commit))
9863 (source
9864 (origin
9865 (method git-fetch)
9866 (uri (git-reference
9867 (url "https://github.com/numcl/specialized-function")
9868 (commit commit)))
9869 (file-name (git-file-name name version))
9870 (sha256
9871 (base32 "1mcc7mmpbnmgnr1cl2jl5r1ai54gn7fbisv2c14sh9za5w4sib82"))))
9872 (build-system asdf-build-system/sbcl)
9873 (synopsis "Julia-like dispatch for Common Lisp")
9874 (description
9875 "This library is part of NUMCL. It provides a macro
9876 @code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
9877 lazily compiling a type-specific version of the function from the same
9878 code. The main target of this macro is speed.")
9879 (home-page "https://github.com/numcl/specialized-function")
9880 (license license:lgpl3+)
9881 (inputs
9882 `(("trivia" ,sbcl-trivia)
9883 ("alexandria" ,sbcl-alexandria)
9884 ("iterate" ,sbcl-iterate)
9885 ("lisp-namespace" ,sbcl-lisp-namespace)
9886 ("type-r" ,sbcl-type-r)
9887 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
9888 (native-inputs
9889 `(("fiveam" ,sbcl-fiveam)))
9890 (arguments
9891 `(#:asd-files '("specialized-function.asd")
9892 #:test-asd-file "specialized-function.test.asd"
9893 ;; Tests fail because they try to use an internal symbol of SBCL
9894 ;; that does not exists in recent versions:
9895 ;; "The variable SB-VM:COMPLEX-VECTOR-NIL-WIDETAG is unbound."
9896 #:tests? #f)))))
9897
9898 (define-public cl-specialized-function
9899 (sbcl-package->cl-source-package sbcl-specialized-function))
9900
9901 (define-public ecl-specialized-function
9902 (sbcl-package->ecl-package sbcl-specialized-function))
9903
9904 (define-public sbcl-constantfold
9905 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
9906 (revision "1"))
9907 (package
9908 (name "sbcl-constantfold")
9909 (version (git-version "0.1" revision commit))
9910 (source
9911 (origin
9912 (method git-fetch)
9913 (uri (git-reference
9914 (url "https://github.com/numcl/constantfold")
9915 (commit commit)))
9916 (file-name (git-file-name name version))
9917 (sha256
9918 (base32
9919 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
9920 (build-system asdf-build-system/sbcl)
9921 (synopsis "Support library for numcl")
9922 (description
9923 "Support library for numcl. Registers a function as an
9924 additional form that is considered as a candidate for a constant.")
9925 (home-page "https://github.com/numcl/constantfold")
9926 (license license:lgpl3+)
9927 (inputs
9928 `(("trivia" ,sbcl-trivia)
9929 ("alexandria" ,sbcl-alexandria)
9930 ("iterate" ,sbcl-iterate)
9931 ("lisp-namespace" ,sbcl-lisp-namespace)))
9932 (native-inputs
9933 `(("fiveam" ,sbcl-fiveam)))
9934 (arguments
9935 `(#:asd-files '("constantfold.asd")
9936 #:test-asd-file "constantfold.test.asd")))))
9937
9938 (define-public cl-constantfold
9939 (sbcl-package->cl-source-package sbcl-constantfold))
9940
9941 (define-public ecl-constantfold
9942 (sbcl-package->ecl-package sbcl-constantfold))
9943
9944 (define-public sbcl-gtype
9945 (let ((commit "2442e32485635525af278ebd8fa69a27d5b8cf18")
9946 (revision "2"))
9947 (package
9948 (name "sbcl-gtype")
9949 (version (git-version "0.1" revision commit))
9950 (source
9951 (origin
9952 (method git-fetch)
9953 (uri (git-reference
9954 (url "https://github.com/numcl/gtype")
9955 (commit commit)))
9956 (file-name (git-file-name name version))
9957 (sha256
9958 (base32 "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h"))))
9959 (build-system asdf-build-system/sbcl)
9960 (synopsis "C++/Julia-like parametric types in Common Lisp")
9961 (description
9962 "Support library for numcl that provides Julia-like runtime parametric
9963 type correctness in Common Lisp. It is based on CLtL2 extensions.")
9964 (home-page "https://github.com/numcl/gtype")
9965 (license license:lgpl3+)
9966 (inputs
9967 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
9968 ("trivial-cltl2" ,sbcl-trivial-cltl2)
9969 ("trivia" ,sbcl-trivia)
9970 ("alexandria" ,sbcl-alexandria)
9971 ("iterate" ,sbcl-iterate)
9972 ("type-r" ,sbcl-type-r)))
9973 (native-inputs
9974 `(("fiveam" ,sbcl-fiveam)))
9975 (arguments
9976 `(#:asd-files '("gtype.asd")
9977 #:test-asd-file "gtype.test.asd")))))
9978
9979 (define-public cl-gtype
9980 (sbcl-package->cl-source-package sbcl-gtype))
9981
9982 (define-public ecl-gtype
9983 (let ((pkg (sbcl-package->ecl-package sbcl-gtype)))
9984 (package
9985 (inherit pkg)
9986 (arguments
9987 (substitute-keyword-arguments (package-arguments pkg)
9988 ;; The tests fail on ECL with a COMPILE-FILE-ERROR for t/package.lisp.
9989 ((#:tests? _ #f) #f))))))
9990
9991 (define-public sbcl-numcl
9992 (let ((commit "d19f36356be900c600ef08560c9e1af441a166cb")
9993 (revision "1"))
9994 (package
9995 (name "sbcl-numcl")
9996 (version (git-version "0.2.0" revision commit))
9997 (source
9998 (origin
9999 (method git-fetch)
10000 (uri (git-reference
10001 (url "https://github.com/numcl/numcl")
10002 (commit commit)))
10003 (file-name (git-file-name "numcl" version))
10004 (sha256
10005 (base32 "0q4ylfr7hl0gz2ynr0c15h09dmnli2x6ndnm5wr58wfplf1wfj31"))))
10006 (build-system asdf-build-system/sbcl)
10007 (arguments
10008 `(#:test-asd-file "numcl.test.asd"
10009 #:asd-files '("numcl.asd")
10010 ;; Tests often fail because they require a dynamic-space-size much
10011 ;; bigger than the default one. Disable them for now.
10012 #:tests? #f))
10013 (native-inputs
10014 `(("fiveam" ,sbcl-fiveam)))
10015 (inputs
10016 `(("alexandria" ,sbcl-alexandria)
10017 ("cl-randist" ,sbcl-cl-randist)
10018 ("constantfold" ,sbcl-constantfold)
10019 ("float-features" ,sbcl-float-features)
10020 ("function-cache" ,sbcl-function-cache)
10021 ("gtype" ,sbcl-gtype)
10022 ("iterate" ,sbcl-iterate)
10023 ("lisp-namespace" ,sbcl-lisp-namespace)
10024 ("specialized-function" ,sbcl-specialized-function)
10025 ("trivia" ,sbcl-trivia)
10026 ("type-r" ,sbcl-type-r)))
10027 (home-page "https://numcl.github.io/numcl/")
10028 (synopsis "Numpy clone in Common Lisp")
10029 (description
10030 "This package is a Python Numpy clone implemented in pure Common Lisp.")
10031 (license license:lgpl3+))))
10032
10033 (define-public cl-numcl
10034 (sbcl-package->cl-source-package sbcl-numcl))
10035
10036 (define-public ecl-numcl
10037 (sbcl-package->ecl-package sbcl-numcl))
10038
10039 (define-public sbcl-pzmq
10040 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
10041 (revision "1"))
10042 (package
10043 (name "sbcl-pzmq")
10044 (version (git-version "0.0.0" revision commit))
10045 (source
10046 (origin
10047 (method git-fetch)
10048 (uri (git-reference
10049 (url "https://github.com/orivej/pzmq")
10050 (commit commit)))
10051 (file-name (git-file-name name version))
10052 (sha256
10053 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
10054 (build-system asdf-build-system/sbcl)
10055 (native-inputs
10056 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10057 ("fiveam" ,sbcl-fiveam)
10058 ("let-plus" ,sbcl-let-plus)))
10059 (inputs
10060 `(("cffi" ,sbcl-cffi)
10061 ("zeromq" ,zeromq)))
10062 (arguments
10063 `(#:phases (modify-phases %standard-phases
10064 (add-after 'unpack 'fix-paths
10065 (lambda* (#:key inputs #:allow-other-keys)
10066 (substitute* "c-api.lisp"
10067 (("\"libzmq")
10068 (string-append "\""
10069 (assoc-ref inputs "zeromq")
10070 "/lib/libzmq")))
10071 #t)))))
10072 (synopsis "Common Lisp bindings for the ZeroMQ library")
10073 (description "This Common Lisp library provides bindings for the ZeroMQ
10074 lightweight messaging kernel.")
10075 (home-page "https://github.com/orivej/pzmq")
10076 (license license:unlicense))))
10077
10078 (define-public cl-pzmq
10079 (sbcl-package->cl-source-package sbcl-pzmq))
10080
10081 (define-public ecl-pzmq
10082 (sbcl-package->ecl-package sbcl-pzmq))
10083
10084 (define-public sbcl-clss
10085 (let ((revision "1")
10086 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
10087 (package
10088 (name "sbcl-clss")
10089 (version (git-version "0.3.1" revision commit))
10090 (source
10091 (origin
10092 (method git-fetch)
10093 (uri
10094 (git-reference
10095 (url "https://github.com/Shinmera/clss")
10096 (commit commit)))
10097 (sha256
10098 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
10099 (file-name (git-file-name name version))))
10100 (inputs
10101 `(("array-utils" ,sbcl-array-utils)
10102 ("plump" ,sbcl-plump)))
10103 (build-system asdf-build-system/sbcl)
10104 (synopsis "DOM tree searching engine based on CSS selectors")
10105 (description "CLSS is a DOM traversal engine based on CSS
10106 selectors. It makes use of the Plump-DOM and is used by lQuery.")
10107 (home-page "https://github.com/Shinmera/clss")
10108 (license license:zlib))))
10109
10110 (define-public cl-clss
10111 (sbcl-package->cl-source-package sbcl-clss))
10112
10113 (define-public ecl-clss
10114 (sbcl-package->ecl-package sbcl-clss))
10115
10116 (define-public sbcl-lquery
10117 (let ((revision "1")
10118 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
10119 (package
10120 (name "sbcl-lquery")
10121 (version (git-version "3.2.1" revision commit))
10122 (source
10123 (origin
10124 (method git-fetch)
10125 (uri
10126 (git-reference
10127 (url "https://github.com/Shinmera/lquery")
10128 (commit commit)))
10129 (sha256
10130 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
10131 (file-name (git-file-name name version))))
10132 (native-inputs
10133 `(("fiveam" ,sbcl-fiveam)))
10134 (inputs
10135 `(("array-utils" ,sbcl-array-utils)
10136 ("form-fiddle" ,sbcl-form-fiddle)
10137 ("plump" ,sbcl-plump)
10138 ("clss" ,sbcl-clss)))
10139 (build-system asdf-build-system/sbcl)
10140 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
10141 (description "@code{lQuery} is a DOM manipulation library written in
10142 Common Lisp, inspired by and based on the jQuery syntax and
10143 functions. It uses Plump and CLSS as DOM and selector engines. The
10144 main idea behind lQuery is to provide a simple interface for crawling
10145 and modifying HTML sites, as well as to allow for an alternative
10146 approach to templating.")
10147 (home-page "https://github.com/Shinmera/lquery")
10148 (license license:zlib))))
10149
10150 (define-public cl-lquery
10151 (sbcl-package->cl-source-package sbcl-lquery))
10152
10153 (define-public ecl-lquery
10154 (sbcl-package->ecl-package sbcl-lquery))
10155
10156 (define-public sbcl-cl-mysql
10157 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
10158 (revision "1"))
10159 (package
10160 (name "sbcl-cl-mysql")
10161 (version (git-version "0.1" revision commit))
10162 (source
10163 (origin
10164 (method git-fetch)
10165 (uri (git-reference
10166 (url "https://github.com/hackinghat/cl-mysql")
10167 (commit commit)))
10168 (file-name (git-file-name name version))
10169 (sha256
10170 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
10171 (build-system asdf-build-system/sbcl)
10172 (native-inputs
10173 `(("stefil" ,sbcl-stefil)))
10174 (inputs
10175 `(("cffi" ,sbcl-cffi)
10176 ("mariadb-lib" ,mariadb "lib")))
10177 (arguments
10178 `(#:tests? #f ; TODO: Tests require a running server
10179 #:phases
10180 (modify-phases %standard-phases
10181 (add-after 'unpack 'fix-paths
10182 (lambda* (#:key inputs #:allow-other-keys)
10183 (substitute* "system.lisp"
10184 (("libmysqlclient_r" all)
10185 (string-append (assoc-ref inputs "mariadb-lib")
10186 "/lib/"
10187 all)))
10188 #t)))))
10189 (synopsis "Common Lisp wrapper for MySQL")
10190 (description
10191 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
10192 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
10193 (license license:expat))))
10194
10195 (define-public cl-mysql
10196 (sbcl-package->cl-source-package sbcl-cl-mysql))
10197
10198 (define-public ecl-cl-mysql
10199 (sbcl-package->ecl-package sbcl-cl-mysql))
10200
10201 (define-public sbcl-postmodern
10202 (package
10203 (name "sbcl-postmodern")
10204 (version "1.32.9")
10205 (source
10206 (origin
10207 (method git-fetch)
10208 (uri (git-reference
10209 (url "https://github.com/marijnh/Postmodern")
10210 (commit (string-append "v" version))))
10211 (file-name (git-file-name name version))
10212 (sha256
10213 (base32 "137jci4hn4vlxf48y39k0di27kc89kvxy3brmn3vl9xq56sy6mhz"))))
10214 (build-system asdf-build-system/sbcl)
10215 (native-inputs
10216 `(("fiveam" ,sbcl-fiveam)))
10217 (inputs
10218 `(("alexandria" ,sbcl-alexandria)
10219 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10220 ("cl-base64" ,sbcl-cl-base64)
10221 ("cl-unicode" ,sbcl-cl-unicode)
10222 ("closer-mop" ,sbcl-closer-mop)
10223 ("global-vars" ,sbcl-global-vars)
10224 ("ironclad" ,sbcl-ironclad)
10225 ("local-time" ,sbcl-local-time)
10226 ("md5" ,sbcl-md5)
10227 ("split-sequence" ,sbcl-split-sequence)
10228 ("uax-15" ,sbcl-uax-15)
10229 ("usocket" ,sbcl-usocket)))
10230 (arguments
10231 ;; TODO: (Sharlatan-20210114T171037+0000) tests still failing but on other
10232 ;; step, some functionality in `local-time' prevents passing tests.
10233 ;; Error:
10234 ;;
10235 ;; Can't create directory
10236 ;; /gnu/store
10237 ;; /4f47agf1kyiz057ppy6x5p98i7mcbfsv-sbcl-local-time-1.0.6-2.a177eb9
10238 ;; /lib/common-lisp/sbcl/local-time/src/integration/
10239 ;;
10240 ;; NOTE: (Sharlatan-20210124T191940+0000): When set env HOME to /tmp above
10241 ;; issue is resolved but it required live test database to connect to now.
10242 ;; Keep tests switched off.
10243 `(#:tests? #f
10244 #:asd-systems '("cl-postgres"
10245 "s-sql"
10246 "postmodern"
10247 "simple-date"
10248 "simple-date/postgres-glue")))
10249 (synopsis "Common Lisp library for interacting with PostgreSQL")
10250 (description
10251 "@code{postmodern} is a Common Lisp library for interacting with
10252 PostgreSQL databases. It provides the following features:
10253
10254 @itemize
10255 @item Efficient communication with the database server without need for
10256 foreign libraries.
10257 @item Support for UTF-8 on Unicode-aware Lisp implementations.
10258 @item A syntax for mixing SQL and Lisp code.
10259 @item Convenient support for prepared statements and stored procedures.
10260 @item A metaclass for simple database-access objects.
10261 @end itemize\n
10262
10263 This package produces 4 systems: postmodern, cl-postgres, s-sql, simple-date
10264
10265 @code{SIMPLE-DATE} is a very basic implementation of date and time objects, used
10266 to support storing and retrieving time-related SQL types. It is not loaded by
10267 default and you can use local-time (which has support for timezones) instead.
10268
10269 @code{S-SQL} is used to compile s-expressions to strings of SQL code, escaping
10270 any Lisp values inside, and doing as much as possible of the work at compile
10271 time.
10272
10273 @code{CL-POSTGRES} is the low-level library used for interfacing with a PostgreSQL
10274 server over a socket.
10275
10276 @code{POSTMODERN} itself is a wrapper around these packages and provides higher
10277 level functions, a very simple data access object that can be mapped directly to
10278 database tables and some convient utilities. It then tries to put all these
10279 things together into a convenient programming interface")
10280 (home-page "https://marijnhaverbeke.nl/postmodern/")
10281 (license license:zlib)))
10282
10283 (define-public cl-postmodern
10284 (sbcl-package->cl-source-package sbcl-postmodern))
10285
10286 (define-public ecl-postmodern
10287 (package
10288 (inherit (sbcl-package->ecl-package sbcl-postmodern))
10289 (arguments
10290 `(#:tests? #f
10291 #:asd-systems '("cl-postgres"
10292 "s-sql"
10293 "postmodern"
10294 "simple-date"
10295 "simple-date/postgres-glue")
10296 #:phases
10297 (modify-phases %standard-phases
10298 (add-after 'unpack 'fix-build
10299 (lambda _
10300 (substitute* "cl-postgres.asd"
10301 ((":or :sbcl :allegro :ccl :clisp" all)
10302 (string-append all " :ecl")))
10303 #t)))))))
10304
10305 (define-public sbcl-db3
10306 (let ((commit "38e5ad35f025769fb7f8dcdc6e56df3e8efd8e6d")
10307 (revision "1"))
10308 (package
10309 (name "sbcl-db3")
10310 (version (git-version "0.0.0" revision commit))
10311 (source
10312 (origin
10313 (method git-fetch)
10314 (uri (git-reference
10315 (url "https://github.com/dimitri/cl-db3")
10316 (commit commit)))
10317 (file-name (git-file-name "cl-db3" version))
10318 (sha256
10319 (base32 "1i7j0mlri6kbklcx1lsm464s8kmyhhij5c4xh4aybrw8m4ixn1s5"))))
10320 (build-system asdf-build-system/sbcl)
10321 (home-page "https://github.com/dimitri/cl-db3")
10322 (synopsis "Common Lisp library to read dBase III database files")
10323 (description
10324 "This is a Common Lisp library for processing data found in dBase III
10325 database files (dbf and db3 files).")
10326 (license license:public-domain))))
10327
10328 (define-public ecl-db3
10329 (sbcl-package->ecl-package sbcl-db3))
10330
10331 (define-public cl-db3
10332 (sbcl-package->cl-source-package sbcl-db3))
10333
10334 (define-public sbcl-dbi
10335 ;; Master includes a breaking change which other packages depend on since
10336 ;; Quicklisp decided to follow it:
10337 ;; https://github.com/fukamachi/cl-dbi/commit/31c46869722f77fd5292a81b5b101f1347d7fce1
10338 (let ((commit "31c46869722f77fd5292a81b5b101f1347d7fce1"))
10339 (package
10340 (name "sbcl-dbi")
10341 (version (git-version "0.9.4" "1" commit))
10342 (source
10343 (origin
10344 (method git-fetch)
10345 (uri (git-reference
10346 (url "https://github.com/fukamachi/cl-dbi")
10347 (commit commit)))
10348 (file-name (git-file-name name version))
10349 (sha256
10350 (base32 "0r3n4rw12qqxad0cryym2ibm4ddl49gbq4ra227afibsr43nw5k3"))))
10351 (build-system asdf-build-system/sbcl)
10352 (native-inputs
10353 `(("rove" ,sbcl-rove)
10354 ("trivial-types" ,sbcl-trivial-types)))
10355 (inputs
10356 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10357 ("cl-mysql" ,sbcl-cl-mysql)
10358 ("cl-sqlite" ,sbcl-cl-sqlite)
10359 ("closer-mop" ,sbcl-closer-mop)
10360 ("postmodern" ,sbcl-postmodern)
10361 ("split-sequence" ,sbcl-split-sequence)
10362 ("trivial-garbage" ,sbcl-trivial-garbage)))
10363 (arguments
10364 `(#:asd-systems '("dbi"
10365 "dbd-mysql"
10366 "dbd-postgres"
10367 "dbd-sqlite3")))
10368 (synopsis "Database independent interface for Common Lisp")
10369 (description
10370 "@code{dbi} is a Common Lisp library providing a database independent
10371 interface for MySQL, PostgreSQL and SQLite.")
10372 (home-page "https://github.com/fukamachi/cl-dbi")
10373 (license license:llgpl))))
10374
10375 (define-public cl-dbi
10376 (sbcl-package->cl-source-package sbcl-dbi))
10377
10378 (define-public ecl-dbi
10379 (sbcl-package->ecl-package sbcl-dbi))
10380
10381 (define-public sbcl-uffi
10382 (package
10383 (name "sbcl-uffi")
10384 (version "2.1.2")
10385 (source
10386 (origin
10387 (method git-fetch)
10388 (uri (git-reference
10389 (url "http://git.kpe.io/uffi.git")
10390 (commit (string-append "v" version))))
10391 (file-name (git-file-name name version))
10392 (sha256
10393 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
10394 (build-system asdf-build-system/sbcl)
10395 (arguments
10396 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
10397 #:asd-files '("uffi.asd")
10398 #:phases
10399 (modify-phases %standard-phases
10400 (add-after 'unpack 'fix-permissions
10401 (lambda _
10402 (make-file-writable "doc/html.tar.gz")
10403 #t)))))
10404 (synopsis "Universal foreign function library for Common Lisp")
10405 (description
10406 "UFFI provides a universal foreign function interface (FFI)
10407 for Common Lisp.")
10408 (home-page "http://quickdocs.org/uffi/")
10409 (license license:llgpl)))
10410
10411 (define-public cl-uffi
10412 (package
10413 (inherit (sbcl-package->cl-source-package sbcl-uffi))
10414 (arguments
10415 `(#:phases
10416 ;; asdf-build-system/source has its own phases and does not inherit
10417 ;; from asdf-build-system/sbcl phases.
10418 (modify-phases %standard-phases/source
10419 ;; Already done in SBCL package.
10420 (delete 'reset-gzip-timestamps))))))
10421
10422 (define-public sbcl-clsql
10423 (package
10424 (name "sbcl-clsql")
10425 (version "6.7.0")
10426 (source
10427 (origin
10428 (method git-fetch)
10429 (uri (git-reference
10430 (url "http://git.kpe.io/clsql.git")
10431 (commit (string-append "v" version))))
10432 (file-name (git-file-name name version))
10433 (sha256
10434 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
10435 (snippet
10436 '(begin
10437 ;; Remove precompiled libraries.
10438 (delete-file "db-mysql/clsql_mysql.dll")
10439 (delete-file "uffi/clsql_uffi.dll")
10440 (delete-file "uffi/clsql_uffi.lib")
10441 #t))))
10442 (build-system asdf-build-system/sbcl)
10443 (native-inputs
10444 `(("rt" ,sbcl-rt)))
10445 (inputs
10446 `(("cffi" ,sbcl-cffi)
10447 ("md5" ,sbcl-md5)
10448 ("mysql" ,mysql)
10449 ("postgresql" ,postgresql)
10450 ("postmodern" ,sbcl-postmodern)
10451 ("sqlite" ,sqlite)
10452 ("uffi" ,sbcl-uffi)
10453 ("zlib" ,zlib)))
10454 (arguments
10455 `(#:asd-files '("clsql.asd"
10456 "clsql-uffi.asd"
10457 "clsql-sqlite3.asd"
10458 "clsql-postgresql.asd"
10459 "clsql-postgresql-socket3.asd"
10460 "clsql-mysql.asd")
10461 #:asd-systems '("clsql"
10462 "clsql-sqlite3"
10463 "clsql-postgresql"
10464 "clsql-postgresql-socket3"
10465 "clsql-mysql")
10466 #:phases
10467 (modify-phases %standard-phases
10468 (add-after 'unpack 'fix-permissions
10469 (lambda _
10470 (make-file-writable "doc/html.tar.gz")
10471 #t))
10472 (add-after 'unpack 'fix-build
10473 (lambda _
10474 (substitute* "clsql-uffi.asd"
10475 (("\\(:version uffi \"2.0\"\\)")
10476 "uffi"))
10477 (substitute* "db-postgresql/postgresql-api.lisp"
10478 (("\\(data :cstring\\)")
10479 "(data :string)"))
10480 #t))
10481 (add-after 'unpack 'fix-paths
10482 (lambda* (#:key inputs outputs #:allow-other-keys)
10483 (substitute* "db-sqlite3/sqlite3-loader.lisp"
10484 (("libsqlite3")
10485 (string-append (assoc-ref inputs "sqlite")
10486 "/lib/libsqlite3")))
10487 (substitute* "db-postgresql/postgresql-loader.lisp"
10488 (("libpq")
10489 (string-append (assoc-ref inputs "postgresql")
10490 "/lib/libpq")))
10491 (let ((lib (string-append "#p\""
10492 (assoc-ref outputs "out")
10493 "/lib/\"")))
10494 (substitute* "clsql-mysql.asd"
10495 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
10496 lib))
10497 (substitute* "db-mysql/mysql-loader.lisp"
10498 (("libmysqlclient" all)
10499 (string-append (assoc-ref inputs "mysql") "/lib/" all))
10500 (("clsql-mysql-system::\\*library-file-dir\\*")
10501 lib)))
10502 #t))
10503 (add-before 'build 'build-helper-library
10504 (lambda* (#:key inputs outputs #:allow-other-keys)
10505 (let* ((mysql (assoc-ref inputs "mysql"))
10506 (inc-dir (string-append mysql "/include/mysql"))
10507 (lib-dir (string-append mysql "/lib"))
10508 (shared-lib-dir (string-append (assoc-ref outputs "out")
10509 "/lib"))
10510 (shared-lib (string-append shared-lib-dir
10511 "/clsql_mysql.so")))
10512 (mkdir-p shared-lib-dir)
10513 (invoke "gcc" "-fPIC" "-shared"
10514 "-I" inc-dir
10515 "db-mysql/clsql_mysql.c"
10516 "-Wl,-soname=clsql_mysql"
10517 "-L" lib-dir "-lmysqlclient" "-lz"
10518 "-o" shared-lib)
10519 #t)))
10520 (add-after 'unpack 'fix-tests
10521 (lambda _
10522 (substitute* "clsql.asd"
10523 (("clsql-tests :force t")
10524 "clsql-tests"))
10525 #t)))))
10526 (synopsis "Common Lisp SQL Interface library")
10527 (description
10528 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
10529 Xanalys CommonSQL interface for Lispworks. It provides low-level database
10530 interfaces as well as a functional and an object oriented interface.")
10531 (home-page "http://clsql.kpe.io/")
10532 (license license:llgpl)))
10533
10534 (define-public cl-clsql
10535 (package
10536 (inherit (sbcl-package->cl-source-package sbcl-clsql))
10537 (native-inputs
10538 `(("rt" ,cl-rt)))
10539 (inputs
10540 `(("mysql" ,mysql)
10541 ("postgresql" ,postgresql)
10542 ("sqlite" ,sqlite)
10543 ("zlib" ,zlib)))
10544 (propagated-inputs
10545 `(("cffi" ,cl-cffi)
10546 ("md5" ,cl-md5)
10547 ("postmodern" ,cl-postmodern)
10548 ("uffi" ,cl-uffi)))
10549 (arguments
10550 `(#:phases
10551 ;; asdf-build-system/source has its own phases and does not inherit
10552 ;; from asdf-build-system/sbcl phases.
10553 (modify-phases %standard-phases/source
10554 (add-after 'unpack 'fix-permissions
10555 (lambda _
10556 (make-file-writable "doc/html.tar.gz")
10557 #t)))))))
10558
10559 (define-public ecl-clsql
10560 (let ((pkg (sbcl-package->ecl-package sbcl-clsql)))
10561 (package
10562 (inherit pkg)
10563 (inputs
10564 (alist-delete "uffi" (package-inputs pkg)))
10565 (arguments
10566 (substitute-keyword-arguments (package-arguments pkg)
10567 ((#:asd-files asd-files '())
10568 `(cons "clsql-cffi.asd" ,asd-files)))))))
10569
10570 (define-public sbcl-sycamore
10571 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
10572 (package
10573 (name "sbcl-sycamore")
10574 (version "0.0.20120604")
10575 (source
10576 (origin
10577 (method git-fetch)
10578 (uri (git-reference
10579 (url "https://github.com/ndantam/sycamore/")
10580 (commit commit)))
10581 (file-name (git-file-name name version))
10582 (sha256
10583 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
10584 (build-system asdf-build-system/sbcl)
10585 (inputs
10586 `(("alexandria" ,sbcl-alexandria)
10587 ("cl-ppcre" ,sbcl-cl-ppcre)))
10588 (synopsis "Purely functional data structure library in Common Lisp")
10589 (description
10590 "Sycamore is a fast, purely functional data structure library in Common Lisp.
10591 If features:
10592
10593 @itemize
10594 @item Fast, purely functional weight-balanced binary trees.
10595 @item Leaf nodes are simple-vectors, greatly reducing tree height.
10596 @item Interfaces for tree Sets and Maps (dictionaries).
10597 @item Ropes.
10598 @item Purely functional pairing heaps.
10599 @item Purely functional amortized queue.
10600 @end itemize\n")
10601 (home-page "http://ndantam.github.io/sycamore/")
10602 (license license:bsd-3))))
10603
10604 (define-public cl-sycamore
10605 (sbcl-package->cl-source-package sbcl-sycamore))
10606
10607 (define-public ecl-sycamore
10608 (sbcl-package->ecl-package sbcl-sycamore))
10609
10610 (define-public sbcl-trivial-package-local-nicknames
10611 (package
10612 (name "sbcl-trivial-package-local-nicknames")
10613 (version "0.2")
10614 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
10615 (source
10616 (origin
10617 (method git-fetch)
10618 (uri (git-reference
10619 (url home-page)
10620 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
10621 (file-name (git-file-name name version))
10622 (sha256
10623 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
10624 (build-system asdf-build-system/sbcl)
10625 (synopsis "Common Lisp compatibility library for package local nicknames")
10626 (description
10627 "This library is a portable compatibility layer around package local nicknames (PLN).
10628 This was done so there is a portability library for the PLN API not included
10629 in DEFPACKAGE.")
10630 (license license:unlicense)))
10631
10632 (define-public cl-trivial-package-local-nicknames
10633 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
10634
10635 (define-public ecl-trivial-package-local-nicknames
10636 (sbcl-package->ecl-package sbcl-trivial-package-local-nicknames))
10637
10638 (define-public sbcl-enchant
10639 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
10640 (package
10641 (name "sbcl-enchant")
10642 (version (git-version "0.0.0" "1" commit))
10643 (home-page "https://github.com/tlikonen/cl-enchant")
10644 (source
10645 (origin
10646 (method git-fetch)
10647 (uri (git-reference
10648 (url home-page)
10649 (commit commit)))
10650 (file-name (git-file-name name version))
10651 (sha256
10652 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
10653 (build-system asdf-build-system/sbcl)
10654 (inputs
10655 `(("enchant" ,enchant)
10656 ("cffi" ,sbcl-cffi)))
10657 (arguments
10658 `(#:phases
10659 (modify-phases %standard-phases
10660 (add-after 'unpack 'fix-paths
10661 (lambda* (#:key inputs #:allow-other-keys)
10662 (substitute* "load-enchant.lisp"
10663 (("libenchant")
10664 (string-append
10665 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
10666 (synopsis "Common Lisp interface for the Enchant spell-checker library")
10667 (description
10668 "Enchant is a Common Lisp interface for the Enchant spell-checker
10669 library. The Enchant library is a generic spell-checker library which uses
10670 other spell-checkers transparently as back-end. The library supports the
10671 multiple checkers, including Aspell and Hunspell.")
10672 (license license:public-domain))))
10673
10674 (define-public cl-enchant
10675 (sbcl-package->cl-source-package sbcl-enchant))
10676
10677 (define-public ecl-enchant
10678 (sbcl-package->ecl-package sbcl-enchant))
10679
10680 (define-public sbcl-cl-change-case
10681 (let ((commit "45c70b601125889689e0c1c37d7e727a3a0af022")
10682 (revision "1"))
10683 (package
10684 (name "sbcl-cl-change-case")
10685 (version (git-version "0.2.0" revision commit))
10686 (home-page "https://github.com/rudolfochrist/cl-change-case")
10687 (source
10688 (origin
10689 (method git-fetch)
10690 (uri (git-reference
10691 (url home-page)
10692 (commit commit)))
10693 (file-name (git-file-name "cl-change-case" version))
10694 (sha256
10695 (base32 "0qmk341zzcsbf8sq0w9ix3r080zg4ri6vzxym63lhdjfzwz3y8if"))))
10696 (build-system asdf-build-system/sbcl)
10697 (inputs
10698 `(("cl-ppcre" ,sbcl-cl-ppcre)
10699 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
10700 (native-inputs
10701 `(("fiveam" ,sbcl-fiveam)))
10702 (synopsis
10703 "Convert Common Lisp strings between camelCase, PascalCase and more")
10704 (description
10705 "@code{cl-change-case} is a library to convert strings between
10706 camelCase, PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
10707 (license license:llgpl))))
10708
10709 (define-public cl-change-case
10710 (sbcl-package->cl-source-package sbcl-cl-change-case))
10711
10712 (define-public ecl-cl-change-case
10713 (sbcl-package->ecl-package sbcl-cl-change-case))
10714
10715 (define-public sbcl-modularize
10716 (let ((commit "86c5d9a11fbd2df9f0f03ac10b5d71837c8934ba")
10717 (revision "1"))
10718 (package
10719 (name "sbcl-modularize")
10720 (version (git-version "1.0.0" revision commit))
10721 (source
10722 (origin
10723 (method git-fetch)
10724 (uri (git-reference
10725 (url "https://github.com/Shinmera/modularize")
10726 (commit commit)))
10727 (file-name (git-file-name name version))
10728 (sha256
10729 (base32 "1zys29rfkb649rkgl3snxhajk8d5yf7ryxkrwy020kwdh7zdsg7d"))))
10730 (build-system asdf-build-system/sbcl)
10731 (arguments
10732 `(#:test-asd-file "modularize-test-module.asd"
10733 #:asd-files '("modularize.asd" "modularize-test-module.asd")
10734 #:asd-systems '("modularize" "modularize-test-module")))
10735 (inputs
10736 `(("documentation-utils" ,sbcl-documentation-utils)
10737 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)))
10738 (home-page "https://shinmera.github.io/modularize/")
10739 (synopsis "Common Lisp modularization framework")
10740 (description
10741 "@code{MODULARIZE} is an attempt at providing a common interface to
10742 segregate major application components. This is achieved by adding special
10743 treatment to packages. Each module is a package that is specially registered,
10744 which allows it to interact and co-exist with other modules in better ways. For
10745 instance, by adding module definition options you can introduce mechanisms to
10746 tie modules together in functionality, hook into each other and so on.")
10747 (license license:zlib))))
10748
10749 (define-public ecl-modularize
10750 (sbcl-package->ecl-package sbcl-modularize))
10751
10752 (define-public cl-modularize
10753 (sbcl-package->cl-source-package sbcl-modularize))
10754
10755 (define-public sbcl-modularize-hooks
10756 (let ((commit "e0348ed3ffd59a9ec31ca4ab28289e748bfbf96a")
10757 (revision "1"))
10758 (package
10759 (name "sbcl-modularize-hooks")
10760 (version (git-version "1.0.2" revision commit))
10761 (source
10762 (origin
10763 (method git-fetch)
10764 (uri (git-reference
10765 (url "https://github.com/Shinmera/modularize-hooks")
10766 (commit commit)))
10767 (file-name (git-file-name "modularize-hooks" version))
10768 (sha256
10769 (base32 "12kjvin8hxidwkzfb7inqv5b6g5qzcssnj9wc497v2ixc56fqdz7"))))
10770 (build-system asdf-build-system/sbcl)
10771 (inputs
10772 `(("closer-mop" ,sbcl-closer-mop)
10773 ("lambda-fiddle" ,sbcl-lambda-fiddle)
10774 ("modularize" ,sbcl-modularize)
10775 ("trivial-arguments" ,sbcl-trivial-arguments)))
10776 (home-page "https://shinmera.github.io/modularize-hooks/")
10777 (synopsis "Generic hooks and triggers extension for Modularize")
10778 (description
10779 "This is a simple extension to @code{MODULARIZE} that allows modules to
10780 define and trigger hooks, which other modules can hook on to.")
10781 (license license:zlib))))
10782
10783 (define-public ecl-modularize-hooks
10784 (sbcl-package->ecl-package sbcl-modularize-hooks))
10785
10786 (define-public cl-modularize-hooks
10787 (sbcl-package->cl-source-package sbcl-modularize-hooks))
10788
10789 (define-public sbcl-modularize-interfaces
10790 (let ((commit "96353657afb8c7aeba7ef5b51eb04c5ed3bcb6ef")
10791 (revision "1"))
10792 (package
10793 (name "sbcl-modularize-interfaces")
10794 (version (git-version "0.9.3" revision commit))
10795 (source
10796 (origin
10797 (method git-fetch)
10798 (uri (git-reference
10799 (url "https://github.com/Shinmera/modularize-interfaces")
10800 (commit commit)))
10801 (file-name (git-file-name "modularize-interfaces" version))
10802 (sha256
10803 (base32 "0bjf4wy39cwf75m7vh0r7mmcchs09yz2lrbyap98hnq8blq70fhc"))))
10804 (build-system asdf-build-system/sbcl)
10805 (inputs
10806 `(("lambda-fiddle" ,sbcl-lambda-fiddle)
10807 ("modularize" ,sbcl-modularize)
10808 ("trivial-arguments" ,sbcl-trivial-arguments)
10809 ("trivial-indent" ,sbcl-trivial-indent)))
10810 (home-page "https://shinmera.github.io/modularize-interfaces/")
10811 (synopsis "Programmatical interfaces extension for Modularize")
10812 (description
10813 "This is an extension to @code{MODULARIZE} that allows your application
10814 to define interfaces in-code that serve both as a primary documentation and as
10815 compliance control.")
10816 (license license:zlib))))
10817
10818 (define-public ecl-modularize-interfaces
10819 (sbcl-package->ecl-package sbcl-modularize-interfaces))
10820
10821 (define-public cl-modularize-interfaces
10822 (sbcl-package->cl-source-package sbcl-modularize-interfaces))
10823
10824 (define-public sbcl-moptilities
10825 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
10826 (package
10827 (name "sbcl-moptilities")
10828 (version (git-version "0.3.13" "1" commit))
10829 (home-page "https://github.com/gwkkwg/moptilities/")
10830 (source
10831 (origin
10832 (method git-fetch)
10833 (uri (git-reference
10834 (url home-page)
10835 (commit commit)))
10836 (file-name (git-file-name name version))
10837 (sha256
10838 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
10839 (build-system asdf-build-system/sbcl)
10840 (inputs
10841 `(("closer-mop" ,sbcl-closer-mop)))
10842 (native-inputs
10843 `(("lift" ,sbcl-lift)))
10844 (arguments
10845 `(#:phases
10846 (modify-phases %standard-phases
10847 (add-after 'unpack 'fix-tests
10848 (lambda _
10849 (substitute* "lift-standard.config"
10850 ((":relative-to lift-test")
10851 ":relative-to moptilities-test"))
10852 #t)))))
10853 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
10854 (description
10855 "MOP utilities provide a common interface between Lisps and make the
10856 MOP easier to use.")
10857 (license license:expat))))
10858
10859 (define-public cl-moptilities
10860 (sbcl-package->cl-source-package sbcl-moptilities))
10861
10862 (define-public sbcl-osicat
10863 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
10864 (package
10865 (name "sbcl-osicat")
10866 (version (git-version "0.7.0" "1" commit))
10867 (home-page "http://www.common-lisp.net/project/osicat/")
10868 (source
10869 (origin
10870 (method git-fetch)
10871 (uri (git-reference
10872 (url "https://github.com/osicat/osicat")
10873 (commit commit)))
10874 (file-name (git-file-name name version))
10875 (sha256
10876 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
10877 (build-system asdf-build-system/sbcl)
10878 (inputs
10879 `(("alexandria" ,sbcl-alexandria)
10880 ("cffi" ,sbcl-cffi)
10881 ("trivial-features" ,sbcl-trivial-features)))
10882 (native-inputs
10883 `(("rt" ,sbcl-rt)))
10884 (synopsis "Operating system interface for Common Lisp")
10885 (description
10886 "Osicat is a lightweight operating system interface for Common Lisp on
10887 Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
10888 accompaniment to the standard ANSI facilities.")
10889 (license license:expat))))
10890
10891 (define-public cl-osicat
10892 (sbcl-package->cl-source-package sbcl-osicat))
10893
10894 (define-public ecl-osicat
10895 (sbcl-package->ecl-package sbcl-osicat))
10896
10897 (define-public sbcl-clx-xembed
10898 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
10899 (revision "1"))
10900 (package
10901 (name "sbcl-clx-xembed")
10902 (version (git-version "0.1" revision commit))
10903 (home-page "https://github.com/laynor/clx-xembed")
10904 (source
10905 (origin
10906 (method git-fetch)
10907 (uri (git-reference
10908 (url "https://github.com/laynor/clx-xembed")
10909 (commit commit)))
10910 (file-name (git-file-name name version))
10911 (sha256
10912 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
10913 (build-system asdf-build-system/sbcl)
10914 (arguments
10915 `(#:asd-systems '("xembed")))
10916 (inputs
10917 `(("sbcl-clx" ,sbcl-clx)))
10918 (synopsis "CL(x) xembed protocol implementation ")
10919 (description "CL(x) xembed protocol implementation")
10920 ;; MIT License
10921 (license license:expat))))
10922
10923 (define-public cl-clx-xembed
10924 (sbcl-package->cl-source-package sbcl-clx-xembed))
10925
10926 (define-public ecl-clx-xembed
10927 (sbcl-package->ecl-package sbcl-clx-xembed))
10928
10929 (define-public sbcl-quantile-estimator
10930 (package
10931 (name "sbcl-quantile-estimator")
10932 (version "0.0.1")
10933 (source
10934 (origin
10935 (method git-fetch)
10936 (uri (git-reference
10937 (url "https://github.com/deadtrickster/quantile-estimator.cl")
10938 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
10939 (file-name (git-file-name name version))
10940 (sha256
10941 (base32
10942 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
10943 (build-system asdf-build-system/sbcl)
10944 (arguments
10945 '(#:asd-files '("quantile-estimator.asd")))
10946 (inputs
10947 `(("alexandria" ,sbcl-alexandria)))
10948 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
10949 (synopsis
10950 "Effective computation of biased quantiles over data streams")
10951 (description
10952 "Common Lisp implementation of Graham Cormode and S.
10953 Muthukrishnan's Effective Computation of Biased Quantiles over Data
10954 Streams in ICDE’05.")
10955 (license license:expat)))
10956
10957 (define-public cl-quantile-estimator
10958 (sbcl-package->cl-source-package sbcl-quantile-estimator))
10959
10960 (define-public ecl-quantile-estimator
10961 (sbcl-package->ecl-package sbcl-quantile-estimator))
10962
10963 (define-public sbcl-prometheus
10964 (package
10965 (name "sbcl-prometheus")
10966 (version "0.4.1")
10967 (source
10968 (origin
10969 (method git-fetch)
10970 (uri (git-reference
10971 (url "https://github.com/deadtrickster/prometheus.cl")
10972 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
10973 (file-name (git-file-name name version))
10974 (sha256
10975 (base32
10976 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
10977 (build-system asdf-build-system/sbcl)
10978 (inputs
10979 `(("alexandria" ,sbcl-alexandria)
10980 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10981 ("cffi" ,sbcl-cffi)
10982 ("cl-fad" ,sbcl-cl-fad)
10983 ("cl-ppcre" ,sbcl-cl-ppcre)
10984 ("drakma" ,sbcl-drakma)
10985 ("hunchentoot" ,sbcl-hunchentoot)
10986 ("local-time" ,sbcl-local-time)
10987 ("quantile-estimator" ,sbcl-quantile-estimator)
10988 ("salza2" ,sbcl-salza2)
10989 ("split-sequence" ,sbcl-split-sequence)
10990 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10991 (arguments
10992 '(#:asd-files '("prometheus.asd"
10993 "prometheus.collectors.sbcl.asd"
10994 "prometheus.collectors.process.asd"
10995 "prometheus.formats.text.asd"
10996 "prometheus.exposers.hunchentoot.asd"
10997 "prometheus.pushgateway.asd")
10998 #:asd-systems '("prometheus"
10999 "prometheus.collectors.sbcl"
11000 "prometheus.collectors.process"
11001 "prometheus.formats.text"
11002 "prometheus.exposers.hunchentoot"
11003 "prometheus.pushgateway")))
11004 (home-page "https://github.com/deadtrickster/prometheus.cl")
11005 (synopsis "Prometheus.io Common Lisp client")
11006 (description "Prometheus.io Common Lisp client.")
11007 (license license:expat)))
11008
11009 (define-public cl-prometheus
11010 (sbcl-package->cl-source-package sbcl-prometheus))
11011
11012 (define-public ecl-prometheus
11013 (sbcl-package->ecl-package sbcl-prometheus))
11014
11015 (define-public sbcl-uuid
11016 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
11017 (package
11018 (name "sbcl-uuid")
11019 (version (git-version "2012.12.26" "1" commit))
11020 (source
11021 (origin
11022 (method git-fetch)
11023 (uri (git-reference
11024 (url "https://github.com/dardoria/uuid")
11025 (commit commit)))
11026 (file-name (git-file-name name version))
11027 (sha256
11028 (base32
11029 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
11030 (build-system asdf-build-system/sbcl)
11031 (inputs
11032 `(("ironclad" ,sbcl-ironclad)
11033 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
11034 (home-page "https://github.com/dardoria/uuid")
11035 (synopsis
11036 "Common Lisp implementation of UUIDs according to RFC4122")
11037 (description
11038 "Common Lisp implementation of UUIDs according to RFC4122.")
11039 (license license:llgpl))))
11040
11041 (define-public cl-uuid
11042 (sbcl-package->cl-source-package sbcl-uuid))
11043
11044 (define-public ecl-uuid
11045 (sbcl-package->ecl-package sbcl-uuid))
11046
11047 (define-public sbcl-dissect
11048 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
11049 (package
11050 (name "sbcl-dissect")
11051 (version (git-version "1.0.0" "1" commit))
11052 (source
11053 (origin
11054 (method git-fetch)
11055 (uri (git-reference
11056 (url "https://github.com/Shinmera/dissect")
11057 (commit commit)))
11058 (file-name (git-file-name name version))
11059 (sha256
11060 (base32
11061 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
11062 (build-system asdf-build-system/sbcl)
11063 (inputs
11064 `(("cl-ppcre" ,sbcl-cl-ppcre)))
11065 (home-page "https://shinmera.github.io/dissect/")
11066 (synopsis
11067 "Introspection library for the call stack and restarts")
11068 (description
11069 "Dissect is a small Common Lisp library for introspecting the call stack
11070 and active restarts.")
11071 (license license:zlib))))
11072
11073 (define-public cl-dissect
11074 (sbcl-package->cl-source-package sbcl-dissect))
11075
11076 (define-public ecl-dissect
11077 (sbcl-package->ecl-package sbcl-dissect))
11078
11079 (define-public sbcl-rove
11080 (package
11081 (name "sbcl-rove")
11082 (version "0.9.6")
11083 (source
11084 (origin
11085 (method git-fetch)
11086 (uri (git-reference
11087 (url "https://github.com/fukamachi/rove")
11088 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
11089 (file-name (git-file-name name version))
11090 (sha256
11091 (base32
11092 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
11093 (build-system asdf-build-system/sbcl)
11094 (inputs
11095 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11096 ("dissect" ,sbcl-dissect)
11097 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
11098 (home-page "https://github.com/fukamachi/rove")
11099 (synopsis
11100 "Yet another common lisp testing library")
11101 (description
11102 "Rove is a unit testing framework for Common Lisp applications.
11103 This is intended to be a successor of Prove.")
11104 (license license:bsd-3)))
11105
11106 (define-public cl-rove
11107 (sbcl-package->cl-source-package sbcl-rove))
11108
11109 (define-public ecl-rove
11110 (sbcl-package->ecl-package sbcl-rove))
11111
11112 (define-public sbcl-exponential-backoff
11113 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
11114 (package
11115 (name "sbcl-exponential-backoff")
11116 (version (git-version "0" "1" commit))
11117 (source
11118 (origin
11119 (method git-fetch)
11120 (uri (git-reference
11121 (url "https://github.com/death/exponential-backoff")
11122 (commit commit)))
11123 (file-name (git-file-name name version))
11124 (sha256
11125 (base32
11126 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
11127 (build-system asdf-build-system/sbcl)
11128 (home-page "https://github.com/death/exponential-backoff")
11129 (synopsis "Exponential backoff algorithm in Common Lisp")
11130 (description
11131 "An implementation of the exponential backoff algorithm in Common Lisp.
11132 Inspired by the implementation found in Chromium. Read the header file to
11133 learn about each of the parameters.")
11134 (license license:expat))))
11135
11136 (define-public cl-exponential-backoff
11137 (sbcl-package->cl-source-package sbcl-exponential-backoff))
11138
11139 (define-public ecl-exponential-backoff
11140 (sbcl-package->ecl-package sbcl-exponential-backoff))
11141
11142 (define-public sbcl-sxql
11143 (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
11144 (package
11145 (name "sbcl-sxql")
11146 (version (git-version "0.1.0" "1" commit))
11147 (source
11148 (origin
11149 (method git-fetch)
11150 (uri (git-reference
11151 (url "https://github.com/fukamachi/sxql")
11152 (commit commit)))
11153 (file-name (git-file-name name version))
11154 (sha256
11155 (base32
11156 "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
11157 (build-system asdf-build-system/sbcl)
11158 (arguments
11159 `(#:test-asd-file "sxql-test.asd"))
11160 (inputs
11161 `(("alexandria" ,sbcl-alexandria)
11162 ("cl-syntax" ,sbcl-cl-syntax)
11163 ("iterate" ,sbcl-iterate)
11164 ("optima" ,sbcl-optima)
11165 ("split-sequence" ,sbcl-split-sequence)
11166 ("trivial-types" ,sbcl-trivial-types)))
11167 (native-inputs
11168 `(("prove" ,sbcl-prove)))
11169 (home-page "https://github.com/fukamachi/sxql")
11170 (synopsis "SQL generator for Common Lisp")
11171 (description "SQL generator for Common Lisp.")
11172 (license license:bsd-3))))
11173
11174 (define-public cl-sxql
11175 (sbcl-package->cl-source-package sbcl-sxql))
11176
11177 (define-public ecl-sxql
11178 (sbcl-package->ecl-package sbcl-sxql))
11179
11180 (define-public sbcl-1am
11181 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
11182 (package
11183 (name "sbcl-1am")
11184 (version (git-version "0.0" "1" commit))
11185 (source
11186 (origin
11187 (method git-fetch)
11188 (uri (git-reference
11189 (url "https://github.com/lmj/1am")
11190 (commit commit)))
11191 (file-name (git-file-name name version))
11192 (sha256
11193 (base32
11194 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
11195 (build-system asdf-build-system/sbcl)
11196 (home-page "https://github.com/lmj/1am")
11197 (synopsis "Minimal testing framework for Common Lisp")
11198 (description "A minimal testing framework for Common Lisp.")
11199 (license license:expat))))
11200
11201 (define-public cl-1am
11202 (sbcl-package->cl-source-package sbcl-1am))
11203
11204 (define-public ecl-1am
11205 (sbcl-package->ecl-package sbcl-1am))
11206
11207 (define-public sbcl-cl-ascii-table
11208 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
11209 (revision "1"))
11210 (package
11211 (name "sbcl-cl-ascii-table")
11212 (version (git-version "0.0.0" revision commit))
11213 (source
11214 (origin
11215 (method git-fetch)
11216 (uri (git-reference
11217 (url "https://github.com/telephil/cl-ascii-table")
11218 (commit commit)))
11219 (file-name (git-file-name name version))
11220 (sha256
11221 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
11222 (build-system asdf-build-system/sbcl)
11223 (synopsis "Library to make ascii-art tables")
11224 (description
11225 "This is a Common Lisp library to present tabular data in ascii-art
11226 tables.")
11227 (home-page "https://github.com/telephil/cl-ascii-table")
11228 (license license:expat))))
11229
11230 (define-public cl-ascii-table
11231 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
11232
11233 (define-public ecl-cl-ascii-table
11234 (sbcl-package->ecl-package sbcl-cl-ascii-table))
11235
11236 (define-public sbcl-cl-rdkafka
11237 (package
11238 (name "sbcl-cl-rdkafka")
11239 (version "1.1.0")
11240 (source
11241 (origin
11242 (method git-fetch)
11243 (uri (git-reference
11244 (url "https://github.com/SahilKang/cl-rdkafka")
11245 (commit (string-append "v" version))))
11246 (file-name (git-file-name name version))
11247 (sha256
11248 (base32
11249 "0z2g0k0xy8k1p9g93h8dy9wbygaq7ziwagm4yz93zk67mhc0b84v"))))
11250 (build-system asdf-build-system/sbcl)
11251 (arguments
11252 `(#:tests? #f ; Attempts to connect to locally running Kafka
11253 #:phases
11254 (modify-phases %standard-phases
11255 (add-after 'unpack 'fix-paths
11256 (lambda* (#:key inputs #:allow-other-keys)
11257 (substitute* "src/low-level/librdkafka-bindings.lisp"
11258 (("librdkafka" all)
11259 (string-append (assoc-ref inputs "librdkafka") "/lib/"
11260 all))))))))
11261 (inputs
11262 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11263 ("cffi" ,sbcl-cffi)
11264 ("librdkafka" ,librdkafka)
11265 ("lparallel" ,sbcl-lparallel)
11266 ("trivial-garbage" ,sbcl-trivial-garbage)))
11267 (home-page "https://github.com/SahilKang/cl-rdkafka")
11268 (synopsis "Common Lisp client library for Apache Kafka")
11269 (description "A Common Lisp client library for Apache Kafka.")
11270 (license license:gpl3)))
11271
11272 (define-public cl-rdkafka
11273 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
11274
11275 (define-public ecl-cl-rdkafka
11276 (sbcl-package->ecl-package sbcl-cl-rdkafka))
11277
11278 (define-public sbcl-acclimation
11279 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
11280 (package
11281 (name "sbcl-acclimation")
11282 (version (git-version "0.0.0" "1" commit))
11283 (source
11284 (origin
11285 (method git-fetch)
11286 (uri (git-reference
11287 (url "https://github.com/robert-strandh/Acclimation")
11288 (commit commit)))
11289 (file-name (git-file-name name version))
11290 (sha256
11291 (base32
11292 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
11293 (build-system asdf-build-system/sbcl)
11294 (home-page "https://github.com/robert-strandh/Acclimation")
11295 (synopsis "Internationalization library for Common Lisp")
11296 (description "This project is meant to provide tools for
11297 internationalizing Common Lisp programs.
11298
11299 One important aspect of internationalization is of course the language used in
11300 error messages, documentation strings, etc. But with this project we provide
11301 tools for all other aspects of internationalization as well, including dates,
11302 weight, temperature, names of physical quantitites, etc.")
11303 (license license:bsd-2))))
11304
11305 (define-public cl-acclimation
11306 (sbcl-package->cl-source-package sbcl-acclimation))
11307
11308 (define-public ecl-acclimation
11309 (sbcl-package->ecl-package sbcl-acclimation))
11310
11311 (define-public sbcl-clump
11312 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
11313 (package
11314 (name "sbcl-clump")
11315 (version (git-version "0.0.0" "1" commit))
11316 (source
11317 (origin
11318 (method git-fetch)
11319 (uri (git-reference
11320 (url "https://github.com/robert-strandh/Clump")
11321 (commit commit)))
11322 (file-name (git-file-name name version))
11323 (sha256
11324 (base32
11325 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
11326 (inputs
11327 `(("acclimation" ,sbcl-acclimation)))
11328 (build-system asdf-build-system/sbcl)
11329 (home-page "https://github.com/robert-strandh/Clump")
11330 (synopsis "Collection of tree implementations for Common Lisp")
11331 (description "The purpose of this library is to provide a collection of
11332 implementations of trees.
11333
11334 In contrast to existing libraries such as cl-containers, it does not impose a
11335 particular use for the trees. Instead, it aims for a stratified design,
11336 allowing client code to choose between different levels of abstraction.
11337
11338 As a consequence of this policy, low-level interfaces are provided where
11339 the concrete representation is exposed, but also high level interfaces
11340 where the trees can be used as search trees or as trees that represent
11341 sequences of objects.")
11342 (license license:bsd-2))))
11343
11344 (define-public cl-clump
11345 (sbcl-package->cl-source-package sbcl-clump))
11346
11347 (define-public ecl-clump
11348 (sbcl-package->ecl-package sbcl-clump))
11349
11350 (define-public sbcl-cluffer
11351 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
11352 (package
11353 (name "sbcl-cluffer")
11354 (version (git-version "0.0.0" "1" commit))
11355 (source
11356 (origin
11357 (method git-fetch)
11358 (uri (git-reference
11359 (url "https://github.com/robert-strandh/cluffer")
11360 (commit commit)))
11361 (file-name (git-file-name name version))
11362 (sha256
11363 (base32
11364 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
11365 (build-system asdf-build-system/sbcl)
11366 (inputs
11367 `(("acclimation" ,sbcl-acclimation)
11368 ("clump" ,sbcl-clump)))
11369 (home-page "https://github.com/robert-strandh/cluffer")
11370 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
11371 (description "Cluffer is a library for representing the buffer of a text
11372 editor. As such, it defines a set of CLOS protocols for client code to
11373 interact with the buffer contents in various ways, and it supplies different
11374 implementations of those protocols for different purposes.")
11375 (license license:bsd-2))))
11376
11377 (define-public cl-cluffer
11378 (sbcl-package->cl-source-package sbcl-cluffer))
11379
11380 (define-public ecl-cluffer
11381 (sbcl-package->ecl-package sbcl-cluffer))
11382
11383 (define-public sbcl-cl-libsvm-format
11384 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
11385 (revision "0"))
11386 (package
11387 (name "sbcl-cl-libsvm-format")
11388 (version (git-version "0.1.0" revision commit))
11389 (source
11390 (origin
11391 (method git-fetch)
11392 (uri (git-reference
11393 (url "https://github.com/masatoi/cl-libsvm-format")
11394 (commit commit)))
11395 (file-name (git-file-name name version))
11396 (sha256
11397 (base32
11398 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
11399 (build-system asdf-build-system/sbcl)
11400 (native-inputs
11401 `(("prove" ,sbcl-prove)))
11402 (inputs
11403 `(("alexandria" ,sbcl-alexandria)))
11404 (synopsis "LibSVM data format reader for Common Lisp")
11405 (description
11406 "This Common Lisp library provides a fast reader for data in LibSVM
11407 format.")
11408 (home-page "https://github.com/masatoi/cl-libsvm-format")
11409 (license license:expat))))
11410
11411 (define-public cl-libsvm-format
11412 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
11413
11414 (define-public ecl-cl-libsvm-format
11415 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
11416
11417 (define-public sbcl-cl-online-learning
11418 (let ((commit "87fbef8a340219e853adb3a5bf44a0470da76964")
11419 (revision "1"))
11420 (package
11421 (name "sbcl-cl-online-learning")
11422 (version (git-version "0.5" revision commit))
11423 (source
11424 (origin
11425 (method git-fetch)
11426 (uri (git-reference
11427 (url "https://github.com/masatoi/cl-online-learning")
11428 (commit commit)))
11429 (file-name (git-file-name "cl-online-learning" version))
11430 (sha256
11431 (base32
11432 "1lfq04lnxivx59nq5dd02glyqsqzf3vdn4s9b8wnaln5fs8g2ph9"))))
11433 (build-system asdf-build-system/sbcl)
11434 (native-inputs
11435 `(("prove" ,sbcl-prove)))
11436 (inputs
11437 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11438 ("cl-store" ,sbcl-cl-store)))
11439 (arguments
11440 `(#:test-asd-file "cl-online-learning-test.asd"
11441 #:asd-systems '("cl-online-learning-test"
11442 "cl-online-learning")))
11443 (home-page "https://github.com/masatoi/cl-online-learning")
11444 (synopsis "Online Machine Learning for Common Lisp")
11445 (description
11446 "This library contains a collection of machine learning algorithms for
11447 online linear classification written in Common Lisp.")
11448 (license license:expat))))
11449
11450 (define-public cl-online-learning
11451 (sbcl-package->cl-source-package sbcl-cl-online-learning))
11452
11453 (define-public ecl-cl-online-learning
11454 (sbcl-package->ecl-package sbcl-cl-online-learning))
11455
11456 (define-public sbcl-cl-mpg123
11457 (let ((commit "5f042c839d2ea4a2ff2a7b60c839d8633d64161d")
11458 (revision "1"))
11459 (package
11460 (name "sbcl-cl-mpg123")
11461 (version (git-version "1.0.0" revision commit))
11462 (source
11463 (origin
11464 (method git-fetch)
11465 (uri (git-reference
11466 (url "https://github.com/Shirakumo/cl-mpg123")
11467 (commit commit)))
11468 (file-name (git-file-name "cl-mpg123" version))
11469 (sha256
11470 (base32 "1hl721xaczxck008ax2y3jpkm509ry1sg3lklh2k76764m3ndrjf"))
11471 (modules '((guix build utils)))
11472 (snippet
11473 '(begin
11474 ;; Remove bundled pre-compiled libraries.
11475 (delete-file-recursively "static")
11476 #t))))
11477 (build-system asdf-build-system/sbcl)
11478 (arguments
11479 `(#:asd-files '("cl-mpg123.asd" "cl-mpg123-example.asd")
11480 #:asd-systems '("cl-mpg123" "cl-mpg123-example")
11481 #:phases
11482 (modify-phases %standard-phases
11483 (add-after 'unpack 'fix-paths
11484 (lambda* (#:key inputs #:allow-other-keys)
11485 (substitute* "low-level.lisp"
11486 (("libmpg123.so" all)
11487 (string-append (assoc-ref inputs "libmpg123")
11488 "/lib/" all))))))))
11489 (inputs
11490 `(("cffi" ,sbcl-cffi)
11491 ("cl-out123" ,sbcl-cl-out123)
11492 ("documentation-utils" ,sbcl-documentation-utils)
11493 ("libmpg123" ,mpg123)
11494 ("trivial-features" ,sbcl-trivial-features)
11495 ("trivial-garbage" ,sbcl-trivial-garbage)
11496 ("verbose" ,sbcl-verbose)))
11497 (home-page "https://shirakumo.github.io/cl-mpg123/")
11498 (synopsis "Common Lisp bindings to libmpg123")
11499 (description
11500 "This is a bindings and wrapper library to @code{libmpg123} allowing for
11501 convenient, extensive, and fast decoding of MPEG1/2/3 (most prominently mp3)
11502 files.")
11503 (license license:zlib))))
11504
11505 (define-public ecl-cl-mpg123
11506 (sbcl-package->ecl-package sbcl-cl-mpg123))
11507
11508 (define-public cl-mpg123
11509 (sbcl-package->cl-source-package sbcl-cl-mpg123))
11510
11511 (define-public sbcl-cl-out123
11512 (let ((commit "6b58d3f8c2a28ad09059ac4c60fb3c781b9b421b")
11513 (revision "1"))
11514 (package
11515 (name "sbcl-cl-out123")
11516 (version (git-version "1.0.0" revision commit))
11517 (source
11518 (origin
11519 (method git-fetch)
11520 (uri (git-reference
11521 (url "https://github.com/Shirakumo/cl-out123")
11522 (commit commit)))
11523 (file-name (git-file-name "cl-out123" version))
11524 (sha256
11525 (base32 "0mdwgfax6sq68wvdgjjp78i40ah7wqkpqnvaq8a1c509k7ghdgv1"))
11526 (modules '((guix build utils)))
11527 (snippet
11528 '(begin
11529 ;; Remove bundled pre-compiled libraries.
11530 (delete-file-recursively "static")
11531 #t))))
11532 (build-system asdf-build-system/sbcl)
11533 (arguments
11534 `(#:phases
11535 (modify-phases %standard-phases
11536 (add-after 'unpack 'fix-paths
11537 (lambda* (#:key inputs #:allow-other-keys)
11538 (substitute* "low-level.lisp"
11539 (("libout123.so" all)
11540 (string-append (assoc-ref inputs "libout123")
11541 "/lib/" all)))))
11542 ;; NOTE: (Sharlatan-20210129T134529+0000): ECL package `ext' has no
11543 ;; exported macro `without-interrupts' it's moved to `mp' package
11544 ;; https://github.com/Shirakumo/cl-out123/issues/2
11545 ;; https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/src/lsp/mp.lsp
11546 (add-after 'unpack 'fix-ecl-package-name
11547 (lambda _
11548 (substitute* "wrapper.lisp"
11549 (("ext:without-interrupts.*") "mp:without-interrupts\n"))
11550 #t)))))
11551 (inputs
11552 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11553 ("cffi" ,sbcl-cffi)
11554 ("documentation-utils" ,sbcl-documentation-utils)
11555 ("libout123" ,mpg123)
11556 ("trivial-features" ,sbcl-trivial-features)
11557 ("trivial-garbage" ,sbcl-trivial-garbage)))
11558 (home-page "https://shirakumo.github.io/cl-out123/")
11559 (synopsis "Common Lisp bindings to libout123")
11560 (description
11561 "This is a bindings library to @code{libout123} which allows easy
11562 cross-platform audio playback.")
11563 (license license:zlib))))
11564
11565 (define-public ecl-cl-out123
11566 (sbcl-package->ecl-package sbcl-cl-out123))
11567
11568 (define-public cl-out123
11569 (sbcl-package->cl-source-package sbcl-cl-out123))
11570
11571 (define-public sbcl-cl-random-forest
11572 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
11573 (revision "1"))
11574 (package
11575 (name "sbcl-cl-random-forest")
11576 (version (git-version "0.1" revision commit))
11577 (source
11578 (origin
11579 (method git-fetch)
11580 (uri (git-reference
11581 (url "https://github.com/masatoi/cl-random-forest")
11582 (commit commit)))
11583 (file-name (git-file-name name version))
11584 (sha256
11585 (base32
11586 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
11587 (build-system asdf-build-system/sbcl)
11588 (native-inputs
11589 `(("prove" ,sbcl-prove)
11590 ("trivial-garbage" ,sbcl-trivial-garbage)))
11591 (inputs
11592 `(("alexandria" ,sbcl-alexandria)
11593 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11594 ("cl-online-learning" ,sbcl-cl-online-learning)
11595 ("lparallel" ,sbcl-lparallel)))
11596 (arguments
11597 `(#:tests? #f)) ; The tests download data from the Internet
11598 (synopsis "Random Forest and Global Refinement for Common Lisp")
11599 (description
11600 "CL-random-forest is an implementation of Random Forest for multiclass
11601 classification and univariate regression written in Common Lisp. It also
11602 includes an implementation of Global Refinement of Random Forest.")
11603 (home-page "https://github.com/masatoi/cl-random-forest")
11604 (license license:expat))))
11605
11606 (define-public cl-random-forest
11607 (sbcl-package->cl-source-package sbcl-cl-random-forest))
11608
11609 (define-public ecl-cl-random-forest
11610 (sbcl-package->ecl-package sbcl-cl-random-forest))
11611
11612 (define-public sbcl-bordeaux-fft
11613 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
11614 (revision "0"))
11615 (package
11616 (name "sbcl-bordeaux-fft")
11617 (version (git-version "1.0.1" revision commit))
11618 (source
11619 (origin
11620 (method git-fetch)
11621 (uri (git-reference
11622 (url "https://github.com/ahefner/bordeaux-fft")
11623 (commit commit)))
11624 (file-name (git-file-name name version))
11625 (sha256
11626 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
11627 (build-system asdf-build-system/sbcl)
11628 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
11629 (synopsis "Fast Fourier Transform for Common Lisp")
11630 (description
11631 "The Bordeaux-FFT library provides a reasonably efficient implementation
11632 of the Fast Fourier Transform and its inverse for complex-valued inputs, in
11633 portable Common Lisp.")
11634 (license license:gpl2+))))
11635
11636 (define-public cl-bordeaux-fft
11637 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
11638
11639 (define-public ecl-bordeaux-fft
11640 (sbcl-package->ecl-package sbcl-bordeaux-fft))
11641
11642 (define-public sbcl-napa-fft3
11643 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
11644 (revision "0"))
11645 (package
11646 (name "sbcl-napa-fft3")
11647 (version (git-version "0.0.1" revision commit))
11648 (source
11649 (origin
11650 (method git-fetch)
11651 (uri (git-reference
11652 (url "https://github.com/pkhuong/Napa-FFT3")
11653 (commit commit)))
11654 (file-name (git-file-name name version))
11655 (sha256
11656 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
11657 (build-system asdf-build-system/sbcl)
11658 (home-page "https://github.com/pkhuong/Napa-FFT3")
11659 (synopsis "Fast Fourier Transform routines in Common Lisp")
11660 (description
11661 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
11662 buildings blocks to express common operations that involve DFTs: filtering,
11663 convolutions, etc.")
11664 (license license:bsd-3))))
11665
11666 (define-public cl-napa-fft3
11667 (sbcl-package->cl-source-package sbcl-napa-fft3))
11668
11669 (define-public sbcl-cl-tga
11670 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
11671 (revision "0"))
11672 (package
11673 (name "sbcl-cl-tga")
11674 (version (git-version "0.0.0" revision commit))
11675 (source
11676 (origin
11677 (method git-fetch)
11678 (uri (git-reference
11679 (url "https://github.com/fisxoj/cl-tga")
11680 (commit commit)))
11681 (file-name (git-file-name name version))
11682 (sha256
11683 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
11684 (build-system asdf-build-system/sbcl)
11685 (home-page "https://github.com/fisxoj/cl-tga")
11686 (synopsis "TGA file loader for Common Lisp")
11687 (description
11688 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
11689 programs. It's a very simple library, and, at the moment, only supports
11690 non-RLE encoded forms of the files.")
11691 (license license:expat))))
11692
11693 (define-public cl-tga
11694 (sbcl-package->cl-source-package sbcl-cl-tga))
11695
11696 (define-public ecl-cl-tga
11697 (sbcl-package->ecl-package sbcl-cl-tga))
11698
11699 (define-public sbcl-com.gigamonkeys.binary-data
11700 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
11701 (revision "0"))
11702 (package
11703 (name "sbcl-com.gigamonkeys.binary-data")
11704 (version (git-version "0.0.0" revision commit))
11705 (source
11706 (origin
11707 (method git-fetch)
11708 (uri (git-reference
11709 (url "https://github.com/gigamonkey/monkeylib-binary-data")
11710 (commit commit)))
11711 (file-name (git-file-name name version))
11712 (sha256
11713 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
11714 (build-system asdf-build-system/sbcl)
11715 (inputs
11716 `(("alexandria" ,sbcl-alexandria)))
11717 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
11718 (synopsis "Common Lisp library for reading and writing binary data")
11719 (description
11720 "This a Common Lisp library for reading and writing binary data. It is
11721 based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
11722 (license license:bsd-3))))
11723
11724 (define-public cl-com.gigamonkeys.binary-data
11725 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
11726
11727 (define-public ecl-com.gigamonkeys.binary-data
11728 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
11729
11730 (define-public sbcl-deflate
11731 (package
11732 (name "sbcl-deflate")
11733 (version "1.0.3")
11734 (source
11735 (origin
11736 (method git-fetch)
11737 (uri (git-reference
11738 (url "https://github.com/pmai/Deflate")
11739 (commit (string-append "release-" version))))
11740 (file-name (git-file-name name version))
11741 (sha256
11742 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
11743 (build-system asdf-build-system/sbcl)
11744 (home-page "https://github.com/pmai/Deflate")
11745 (synopsis "Native deflate decompression for Common Lisp")
11746 (description
11747 "This library is an implementation of Deflate (RFC 1951) decompression,
11748 with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
11749 wrappers of deflate streams. It currently does not handle compression.")
11750 (license license:expat)))
11751
11752 (define-public cl-deflate
11753 (sbcl-package->cl-source-package sbcl-deflate))
11754
11755 (define-public ecl-deflate
11756 (sbcl-package->ecl-package sbcl-deflate))
11757
11758 (define-public sbcl-skippy
11759 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
11760 (revision "0"))
11761 (package
11762 (name "sbcl-skippy")
11763 (version (git-version "1.3.12" revision commit))
11764 (source
11765 (origin
11766 (method git-fetch)
11767 (uri (git-reference
11768 (url "https://github.com/xach/skippy")
11769 (commit commit)))
11770 (file-name (git-file-name name version))
11771 (sha256
11772 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
11773 (build-system asdf-build-system/sbcl)
11774 (home-page "https://xach.com/lisp/skippy/")
11775 (synopsis "Common Lisp library for GIF images")
11776 (description
11777 "Skippy is a Common Lisp library to read and write GIF image files.")
11778 (license license:bsd-2))))
11779
11780 (define-public cl-skippy
11781 (sbcl-package->cl-source-package sbcl-skippy))
11782
11783 (define-public ecl-skippy
11784 (sbcl-package->ecl-package sbcl-skippy))
11785
11786 (define-public sbcl-cl-freetype2
11787 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
11788 (revision "0"))
11789 (package
11790 (name "sbcl-cl-freetype2")
11791 (version (git-version "1.1" revision commit))
11792 (source
11793 (origin
11794 (method git-fetch)
11795 (uri (git-reference
11796 (url "https://github.com/rpav/cl-freetype2")
11797 (commit commit)))
11798 (file-name (git-file-name name version))
11799 (sha256
11800 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
11801 (build-system asdf-build-system/sbcl)
11802 (native-inputs
11803 `(("fiveam" ,sbcl-fiveam)))
11804 (inputs
11805 `(("alexandria" ,sbcl-alexandria)
11806 ("cffi" ,sbcl-cffi)
11807 ("freetype" ,freetype)
11808 ("trivial-garbage" ,sbcl-trivial-garbage)))
11809 (arguments
11810 `(#:phases
11811 (modify-phases %standard-phases
11812 (add-after 'unpack 'fix-paths
11813 (lambda* (#:key inputs #:allow-other-keys)
11814 (substitute* "src/ffi/ft2-lib.lisp"
11815 (("\"libfreetype\"")
11816 (string-append "\"" (assoc-ref inputs "freetype")
11817 "/lib/libfreetype\"")))
11818 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
11819 (("-I/usr/include/freetype")
11820 (string-append "-I" (assoc-ref inputs "freetype")
11821 "/include/freetype")))
11822 #t)))))
11823 (home-page "https://github.com/rpav/cl-freetype2")
11824 (synopsis "Common Lisp bindings for Freetype 2")
11825 (description
11826 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
11827 geared toward both using Freetype directly by providing a simplified API, as
11828 well as providing access to the underlying C structures and functions for use
11829 with other libraries which may also use Freetype.")
11830 (license license:bsd-3))))
11831
11832 (define-public cl-freetype2
11833 (sbcl-package->cl-source-package sbcl-cl-freetype2))
11834
11835 (define-public ecl-cl-freetype2
11836 (sbcl-package->ecl-package sbcl-cl-freetype2))
11837
11838 (define-public sbcl-opticl-core
11839 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
11840 (revision "0"))
11841 (package
11842 (name "sbcl-opticl-core")
11843 (version (git-version "0.0.0" revision commit))
11844 (source
11845 (origin
11846 (method git-fetch)
11847 (uri (git-reference
11848 (url "https://github.com/slyrus/opticl-core")
11849 (commit commit)))
11850 (file-name (git-file-name name version))
11851 (sha256
11852 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
11853 (build-system asdf-build-system/sbcl)
11854 (inputs
11855 `(("alexandria" ,sbcl-alexandria)))
11856 (home-page "https://github.com/slyrus/opticl-core")
11857 (synopsis "Core classes and pixel access macros for Opticl")
11858 (description
11859 "This Common Lisp library contains the core classes and pixel access
11860 macros for the Opticl image processing library.")
11861 (license license:bsd-2))))
11862
11863 (define-public cl-opticl-core
11864 (sbcl-package->cl-source-package sbcl-opticl-core))
11865
11866 (define-public ecl-opticl-core
11867 (sbcl-package->ecl-package sbcl-opticl-core))
11868
11869 (define-public sbcl-retrospectiff
11870 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
11871 (revision "0"))
11872 (package
11873 (name "sbcl-retrospectiff")
11874 (version (git-version "0.2" revision commit))
11875 (source
11876 (origin
11877 (method git-fetch)
11878 (uri (git-reference
11879 (url "https://github.com/slyrus/retrospectiff")
11880 (commit commit)))
11881 (file-name (git-file-name name version))
11882 (sha256
11883 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
11884 (build-system asdf-build-system/sbcl)
11885 (native-inputs
11886 `(("fiveam" ,sbcl-fiveam)))
11887 (inputs
11888 `(("cl-jpeg" ,sbcl-cl-jpeg)
11889 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
11890 ("deflate" ,sbcl-deflate)
11891 ("flexi-streams" ,sbcl-flexi-streams)
11892 ("ieee-floats" ,sbcl-ieee-floats)
11893 ("opticl-core" ,sbcl-opticl-core)))
11894 (home-page "https://github.com/slyrus/retrospectiff")
11895 (synopsis "Common Lisp library for TIFF images")
11896 (description
11897 "Retrospectiff is a common lisp library for reading and writing images
11898 in the TIFF (Tagged Image File Format) format.")
11899 (license license:bsd-2))))
11900
11901 (define-public cl-retrospectif
11902 (sbcl-package->cl-source-package sbcl-retrospectiff))
11903
11904 (define-public ecl-retrospectiff
11905 (sbcl-package->ecl-package sbcl-retrospectiff))
11906
11907 (define-public sbcl-mmap
11908 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
11909 (revision "0"))
11910 (package
11911 (name "sbcl-mmap")
11912 (version (git-version "1.0.0" revision commit))
11913 (source
11914 (origin
11915 (method git-fetch)
11916 (uri (git-reference
11917 (url "https://github.com/Shinmera/mmap")
11918 (commit commit)))
11919 (file-name (git-file-name name version))
11920 (sha256
11921 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
11922 (build-system asdf-build-system/sbcl)
11923 (native-inputs
11924 `(("alexandria" ,sbcl-alexandria)
11925 ("cffi" ,sbcl-cffi)
11926 ("parachute" ,sbcl-parachute)
11927 ("trivial-features" ,sbcl-trivial-features)))
11928 (inputs
11929 `(("cffi" ,sbcl-cffi)
11930 ("documentation-utils" ,sbcl-documentation-utils)))
11931 (home-page "https://shinmera.github.io/mmap/")
11932 (synopsis "File memory mapping for Common Lisp")
11933 (description
11934 "This is a utility library providing access to the @emph{mmap} family of
11935 functions in a portable way. It allows you to directly map a file into the
11936 address space of your process without having to manually read it into memory
11937 sequentially. Typically this is much more efficient for files that are larger
11938 than a few Kb.")
11939 (license license:zlib))))
11940
11941 (define-public cl-mmap
11942 (sbcl-package->cl-source-package sbcl-mmap))
11943
11944 (define-public ecl-mmap
11945 (sbcl-package->ecl-package sbcl-mmap))
11946
11947 (define-public sbcl-3bz
11948 (let ((commit "569614c40408f3aefc77ba233e0e4bd66d3850ad")
11949 (revision "1"))
11950 (package
11951 (name "sbcl-3bz")
11952 (version (git-version "0.0.0" revision commit))
11953 (source
11954 (origin
11955 (method git-fetch)
11956 (uri (git-reference
11957 (url "https://github.com/3b/3bz")
11958 (commit commit)))
11959 (file-name (git-file-name name version))
11960 (sha256
11961 (base32 "0kvvlvf50jhhw1s510f3clpr1a68632bq6d698yxcrx722igcrg4"))))
11962 (build-system asdf-build-system/sbcl)
11963 (inputs
11964 `(("alexandria" ,sbcl-alexandria)
11965 ("babel" ,sbcl-babel)
11966 ("cffi" ,sbcl-cffi)
11967 ("mmap" ,sbcl-mmap)
11968 ("nibbles" ,sbcl-nibbles)
11969 ("trivial-features" ,sbcl-trivial-features)))
11970 (home-page "https://github.com/3b/3bz")
11971 (synopsis "Deflate decompression for Common Lisp")
11972 (description
11973 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
11974 with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
11975 foreign pointers (for use with mmap and similar, etc), and from CL octet
11976 vectors and streams.")
11977 (license license:expat))))
11978
11979 (define-public cl-3bz
11980 (sbcl-package->cl-source-package sbcl-3bz))
11981
11982 (define-public ecl-3bz
11983 (sbcl-package->ecl-package sbcl-3bz))
11984
11985 (define-public sbcl-zpb-exif
11986 (package
11987 (name "sbcl-zpb-exif")
11988 (version "1.2.4")
11989 (source
11990 (origin
11991 (method git-fetch)
11992 (uri (git-reference
11993 (url "https://github.com/xach/zpb-exif")
11994 (commit (string-append "release-" version))))
11995 (file-name (git-file-name name version))
11996 (sha256
11997 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
11998 (build-system asdf-build-system/sbcl)
11999 (home-page "https://xach.com/lisp/zpb-exif/")
12000 (synopsis "EXIF information extractor for Common Lisp")
12001 (description
12002 "This is a Common Lisp library to extract EXIF information from image
12003 files.")
12004 (license license:bsd-2)))
12005
12006 (define-public cl-zpb-exif
12007 (sbcl-package->cl-source-package sbcl-zpb-exif))
12008
12009 (define-public ecl-zpb-exif
12010 (sbcl-package->ecl-package sbcl-zpb-exif))
12011
12012 (define-public sbcl-pngload
12013 (let ((commit "91f1d703c65bb6a94d6fee06ddbbbbbc5778b71f")
12014 (revision "2"))
12015 (package
12016 (name "sbcl-pngload")
12017 (version (git-version "2.0.0" revision commit))
12018 (source
12019 (origin
12020 (method git-fetch)
12021 (uri (git-reference
12022 (url "https://git.mfiano.net/mfiano/pngload.git")
12023 (commit commit)))
12024 (file-name (git-file-name "pngload" version))
12025 (sha256
12026 (base32 "0s94fdbrbqj12qvgyn2g4lfwvz7qhhzbclrpz5ni7adwxgrmvxl1"))))
12027 (build-system asdf-build-system/sbcl)
12028 (inputs
12029 `(("3bz" ,sbcl-3bz)
12030 ("alexandria" ,sbcl-alexandria)
12031 ("cffi" ,sbcl-cffi)
12032 ("mmap" ,sbcl-mmap)
12033 ("parse-float" ,sbcl-parse-float)
12034 ("static-vectors" ,sbcl-static-vectors)
12035 ("swap-bytes" ,sbcl-swap-bytes)
12036 ("zpb-exif" ,sbcl-zpb-exif)))
12037 (arguments
12038 ;; Test suite disabled because of a dependency cycle.
12039 ;; pngload tests depend on opticl which depends on pngload.
12040 '(#:tests? #f))
12041 (home-page "https://git.mfiano.net/mfiano/pngload.git")
12042 (synopsis "PNG image decoder for Common Lisp")
12043 (description
12044 "This is a Common Lisp library to load images in the PNG image format,
12045 both from files on disk, or streams in memory.")
12046 (license license:expat))))
12047
12048 (define-public cl-pngload
12049 (sbcl-package->cl-source-package sbcl-pngload))
12050
12051 (define-public ecl-pngload
12052 (sbcl-package->ecl-package sbcl-pngload))
12053
12054 (define-public sbcl-opticl
12055 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
12056 (revision "0"))
12057 (package
12058 (name "sbcl-opticl")
12059 (version (git-version "0.0.0" revision commit))
12060 (source
12061 (origin
12062 (method git-fetch)
12063 (uri (git-reference
12064 (url "https://github.com/slyrus/opticl")
12065 (commit commit)))
12066 (file-name (git-file-name name version))
12067 (sha256
12068 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
12069 (build-system asdf-build-system/sbcl)
12070 (native-inputs
12071 `(("fiveam" ,sbcl-fiveam)))
12072 (inputs
12073 `(("alexandria" ,sbcl-alexandria)
12074 ("cl-jpeg" ,sbcl-cl-jpeg)
12075 ("cl-tga" ,sbcl-cl-tga)
12076 ("png-read" ,sbcl-png-read)
12077 ("pngload" ,sbcl-pngload)
12078 ("retrospectiff" ,sbcl-retrospectiff)
12079 ("skippy" ,sbcl-skippy)
12080 ("zpng" ,sbcl-zpng)))
12081 (arguments
12082 '(#:asd-files '("opticl.asd")))
12083 (home-page "https://github.com/slyrus/opticl")
12084 (synopsis "Image processing library for Common Lisp")
12085 (description
12086 "Opticl is a Common Lisp library for representing, processing, loading,
12087 and saving 2-dimensional pixel-based images.")
12088 (license license:bsd-2))))
12089
12090 (define-public cl-opticl
12091 (sbcl-package->cl-source-package sbcl-opticl))
12092
12093 (define-public ecl-opticl
12094 (sbcl-package->ecl-package sbcl-opticl))
12095
12096 (define-public sbcl-mcclim
12097 (let ((commit "04cc542dd4b461b9d56406e40681d1a8f080730f")
12098 (revision "1"))
12099 (package
12100 (name "sbcl-mcclim")
12101 (version (git-version "0.9.7" revision commit))
12102 (source
12103 (origin
12104 (method git-fetch)
12105 (uri (git-reference
12106 (url "https://github.com/mcclim/mcclim")
12107 (commit commit)))
12108 (file-name (git-file-name name version))
12109 (sha256
12110 (base32 "1xjly8i62z72hfhlnz5kjd9i8xhrwckc7avyizxvhih67pkjmsx0"))))
12111 (build-system asdf-build-system/sbcl)
12112 (native-inputs
12113 `(("fiveam" ,sbcl-fiveam)
12114 ("pkg-config" ,pkg-config)))
12115 (inputs
12116 `(("alexandria" ,sbcl-alexandria)
12117 ("babel" ,sbcl-babel)
12118 ("bordeaux-threads" ,sbcl-bordeaux-threads)
12119 ("cl-freetype2" ,sbcl-cl-freetype2)
12120 ("cl-pdf" ,sbcl-cl-pdf)
12121 ("cffi" ,sbcl-cffi)
12122 ("cl-unicode" ,sbcl-cl-unicode)
12123 ("cl-vectors" ,sbcl-cl-vectors)
12124 ("closer-mop" ,sbcl-closer-mop)
12125 ("clx" ,sbcl-clx)
12126 ("flexi-streams" ,sbcl-flexi-streams)
12127 ("flexichain" ,sbcl-flexichain)
12128 ("font-dejavu" ,font-dejavu)
12129 ("fontconfig" ,fontconfig)
12130 ("freetype" ,freetype)
12131 ("harfbuzz" ,harfbuzz)
12132 ("log4cl" ,sbcl-log4cl)
12133 ("opticl" ,sbcl-opticl)
12134 ("spatial-trees" ,sbcl-spatial-trees)
12135 ("swank" ,sbcl-slime-swank)
12136 ("trivial-features" ,sbcl-trivial-features)
12137 ("trivial-garbage" ,sbcl-trivial-garbage)
12138 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
12139 ("zpb-ttf" ,sbcl-zpb-ttf)))
12140 (arguments
12141 '(#:asd-systems '("mcclim"
12142 "clim-examples")
12143 #:phases
12144 (modify-phases %standard-phases
12145 (add-after 'unpack 'fix-paths
12146 (lambda* (#:key inputs #:allow-other-keys)
12147 ;; mcclim-truetype uses DejaVu as default font and
12148 ;; sets the path at build time.
12149 (substitute* "Extensions/fonts/fontconfig.lisp"
12150 (("/usr/share/fonts/truetype/dejavu/")
12151 (string-append (assoc-ref inputs "font-dejavu")
12152 "/share/fonts/truetype/")))
12153 (substitute* "Extensions/fontconfig/src/functions.lisp"
12154 (("libfontconfig\\.so")
12155 (string-append (assoc-ref inputs "fontconfig")
12156 "/lib/libfontconfig.so")))
12157 (substitute* "Extensions/harfbuzz/src/functions.lisp"
12158 (("libharfbuzz\\.so")
12159 (string-append (assoc-ref inputs "harfbuzz")
12160 "/lib/libharfbuzz.so")))
12161 #t))
12162 (add-after 'unpack 'fix-build
12163 (lambda _
12164 ;; The cffi-grovel system does not get loaded automatically,
12165 ;; so we load it explicitly.
12166 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
12167 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
12168 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
12169 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
12170 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
12171 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
12172 #t)))))
12173 (home-page "https://common-lisp.net/project/mcclim/")
12174 (synopsis "Common Lisp GUI toolkit")
12175 (description
12176 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
12177 specification}, a toolkit for writing GUIs in Common Lisp.")
12178 (license license:lgpl2.1+))))
12179
12180 (define-public cl-mcclim
12181 (sbcl-package->cl-source-package sbcl-mcclim))
12182
12183 (define-public ecl-mcclim
12184 (sbcl-package->ecl-package sbcl-mcclim))
12185
12186 (define-public sbcl-cl-inflector
12187 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
12188 (revision "1"))
12189 (package
12190 (name "sbcl-cl-inflector")
12191 (version (git-version "0.2" revision commit))
12192 (source
12193 (origin
12194 (method git-fetch)
12195 (uri (git-reference
12196 (url "https://github.com/AccelerationNet/cl-inflector")
12197 (commit commit)))
12198 (file-name (git-file-name name version))
12199 (sha256
12200 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
12201 (build-system asdf-build-system/sbcl)
12202 (native-inputs
12203 `(("lisp-unit2" ,sbcl-lisp-unit2)))
12204 (inputs
12205 `(("alexandria" ,sbcl-alexandria)
12206 ("cl-ppcre" ,sbcl-cl-ppcre)))
12207 (home-page "https://github.com/AccelerationNet/cl-inflector")
12208 (synopsis "Library to pluralize/singularize English and Portuguese words")
12209 (description
12210 "This is a common lisp library to easily pluralize and singularize
12211 English and Portuguese words. This is a port of the ruby ActiveSupport
12212 Inflector module.")
12213 (license license:expat))))
12214
12215 (define-public cl-inflector
12216 (sbcl-package->cl-source-package sbcl-cl-inflector))
12217
12218 (define-public ecl-cl-inflector
12219 (sbcl-package->ecl-package sbcl-cl-inflector))
12220
12221 (define-public sbcl-ixf
12222 (let ((commit "ed26f87e4127e4a9e3aac4ff1e60d1f39cca5183")
12223 (revision "1"))
12224 (package
12225 (name "sbcl-ixf")
12226 (version (git-version "0.1.0" revision commit))
12227 (source
12228 (origin
12229 (method git-fetch)
12230 (uri (git-reference
12231 (url "https://github.com/dimitri/cl-ixf")
12232 (commit commit)))
12233 (file-name (git-file-name "cl-ixf" version))
12234 (sha256
12235 (base32 "1wjdnf4vr9z7lcfc49kl43g6l2i23q9n81siy494k17d766cdvqa"))))
12236 (build-system asdf-build-system/sbcl)
12237 (inputs
12238 `(("alexandria" ,sbcl-alexandria)
12239 ("babel" ,sbcl-babel)
12240 ("cl-ppcre" ,sbcl-cl-ppcre)
12241 ("ieee-floats" ,sbcl-ieee-floats)
12242 ("local-time" ,sbcl-local-time)
12243 ("md5" ,sbcl-md5)
12244 ("split-sequence" ,sbcl-split-sequence)))
12245 (home-page "https://github.com/dimitri/cl-ixf")
12246 (synopsis "Parse IBM IXF file format")
12247 (description
12248 "This is a Common Lisp library to handle the IBM PC version of the IXF
12249 (Integration Exchange Format) file format.")
12250 (license license:public-domain))))
12251
12252 (define-public ecl-ixf
12253 (sbcl-package->ecl-package sbcl-ixf))
12254
12255 (define-public cl-ixf
12256 (sbcl-package->cl-source-package sbcl-ixf))
12257
12258 (define-public sbcl-qbase64
12259 (package
12260 (name "sbcl-qbase64")
12261 (version "0.3.0")
12262 (source
12263 (origin
12264 (method git-fetch)
12265 (uri (git-reference
12266 (url "https://github.com/chaitanyagupta/qbase64")
12267 (commit version)))
12268 (file-name (git-file-name name version))
12269 (sha256
12270 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
12271 (build-system asdf-build-system/sbcl)
12272 (inputs
12273 `(("metabang-bind" ,sbcl-metabang-bind)
12274 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
12275 (native-inputs
12276 `(("fiveam" ,sbcl-fiveam)))
12277 (home-page "https://github.com/chaitanyagupta/qbase64")
12278 (synopsis "Base64 encoder and decoder for Common Lisp")
12279 (description "@code{qbase64} provides a fast and flexible base64 encoder
12280 and decoder for Common Lisp.")
12281 (license license:bsd-3)))
12282
12283 (define-public cl-qbase64
12284 (sbcl-package->cl-source-package sbcl-qbase64))
12285
12286 (define-public ecl-qbase64
12287 (sbcl-package->ecl-package sbcl-qbase64))
12288
12289 (define-public sbcl-lw-compat
12290 ;; No release since 2013.
12291 (let ((commit "aabfe28c6c1a4949f9d7b3cb30319367c9fd1c0d"))
12292 (package
12293 (name "sbcl-lw-compat")
12294 (version (git-version "1.0.0" "1" commit))
12295 (source
12296 (origin
12297 (method git-fetch)
12298 (uri (git-reference
12299 (url "https://github.com/pcostanza/lw-compat/")
12300 (commit commit)))
12301 (file-name (git-file-name name version))
12302 (sha256
12303 (base32 "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav"))))
12304 (build-system asdf-build-system/sbcl)
12305 (home-page "https://github.com/pcostanza/lw-compat/")
12306 (synopsis "LispWorks utilities ported to other Common Lisp implementations")
12307 (description "This package contains a few utility functions from the
12308 LispWorks library that are used in software such as ContextL.")
12309 (license license:expat))))
12310
12311 (define-public cl-lw-compat
12312 (sbcl-package->cl-source-package sbcl-lw-compat))
12313
12314 (define-public ecl-lw-compat
12315 (sbcl-package->ecl-package sbcl-lw-compat))
12316
12317 (define-public sbcl-contextl
12318 ;; No release since 2013.
12319 (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9"))
12320 (package
12321 (name "sbcl-contextl")
12322 (version (git-version "1.0.0" "1" commit))
12323 (source
12324 (origin
12325 (method git-fetch)
12326 (uri (git-reference
12327 (url "https://github.com/pcostanza/contextl/")
12328 (commit commit)))
12329 (file-name (git-file-name name version))
12330 (sha256
12331 (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226"))))
12332 (build-system asdf-build-system/sbcl)
12333 (inputs
12334 `(("closer-mop" ,sbcl-closer-mop)
12335 ("lw-compat" ,sbcl-lw-compat)))
12336 (home-page "https://github.com/pcostanza/contextl")
12337 (synopsis "Context-oriented programming for Common Lisp")
12338 (description "ContextL is a CLOS extension for Context-Oriented
12339 Programming (COP).
12340
12341 Find overview of ContextL's features in an overview paper:
12342 @url{http://www.p-cos.net/documents/contextl-soa.pdf}. See also this general
12343 overview article about COP which also contains some ContextL examples:
12344 @url{http://www.jot.fm/issues/issue_2008_03/article4/}.")
12345 (license license:expat))))
12346
12347 (define-public cl-contextl
12348 (sbcl-package->cl-source-package sbcl-contextl))
12349
12350 (define-public ecl-contextl
12351 (sbcl-package->ecl-package sbcl-contextl))
12352
12353 (define-public sbcl-hu.dwim.common-lisp
12354 (let ((commit "90558195773383142a57a16687d5e7f4adea6418"))
12355 (package
12356 (name "sbcl-hu.dwim.common-lisp")
12357 (version "2021-01-27")
12358 (source
12359 (origin
12360 (method git-fetch)
12361 (uri (git-reference
12362 (url "https://github.com/hu-dwim/hu.dwim.common-lisp/")
12363 (commit commit)))
12364 (file-name (git-file-name name version))
12365 (sha256
12366 (base32 "06zkdw3scnaw0d4nmsgkv7pi7sw00dikdgfgsqmbqfbz2yrsdabk"))))
12367 (build-system asdf-build-system/sbcl)
12368 (native-inputs
12369 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12370 (home-page "http://dwim.hu/project/hu.dwim.common-lisp")
12371 (synopsis "Redefine some standard Common Lisp names")
12372 (description "This library is a redefinition of the standard Common Lisp
12373 package that includes a number of renames and shadows. ")
12374 (license license:public-domain))))
12375
12376 (define-public cl-hu.dwim.common-lisp
12377 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
12378
12379 (define-public ecl-hu.dwim.common-lisp
12380 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
12381
12382 (define-public sbcl-hu.dwim.common
12383 (package
12384 (name "sbcl-hu.dwim.common")
12385 (version "2015-07-09")
12386 (source
12387 (origin
12388 (method url-fetch)
12389 (uri (string-append
12390 "http://beta.quicklisp.org/archive/hu.dwim.common/"
12391 version "/hu.dwim.common-"
12392 (string-replace-substring version "-" "")
12393 "-darcs.tgz"))
12394 (sha256
12395 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
12396 (build-system asdf-build-system/sbcl)
12397 (native-inputs
12398 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12399 (inputs
12400 `(("alexandria" ,sbcl-alexandria)
12401 ("anaphora" ,sbcl-anaphora)
12402 ("closer-mop" ,sbcl-closer-mop)
12403 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
12404 ("iterate" ,sbcl-iterate)
12405 ("metabang-bind" ,sbcl-metabang-bind)))
12406 (home-page "http://dwim.hu/")
12407 (synopsis "Common Lisp library shared by other hu.dwim systems")
12408 (description "This package contains a support library for other
12409 hu.dwim systems.")
12410 (license license:public-domain)))
12411
12412 (define-public cl-hu.dwim.common
12413 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
12414
12415 (define-public ecl-hu.dwim.common
12416 (sbcl-package->ecl-package sbcl-hu.dwim.common))
12417
12418 (define-public sbcl-hu.dwim.defclass-star
12419 (let ((commit "3086878a485074f9b2913c58267a9b764cd632fd"))
12420 (package
12421 (name "sbcl-hu.dwim.defclass-star")
12422 ;; We used to set version from the date when it was a darcs repo, so we
12423 ;; keep the year so that package gets updated on previous installs.
12424 (version (git-version "2021" "2" commit))
12425 (source
12426 (origin
12427 (method git-fetch)
12428 (uri (git-reference
12429 (url "https://github.com/hu-dwim/hu.dwim.defclass-star")
12430 (commit commit)))
12431 (file-name (git-file-name name version))
12432 (sha256
12433 (base32 "19ipds9r71qymfdp4izg0l7zmvinp06adr8rdalhaq7v7mzpg83z"))))
12434 (build-system asdf-build-system/sbcl)
12435 (native-inputs
12436 `( ;; These 2 inputs are only needed tests which are disabled, see below.
12437 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
12438 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
12439 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
12440 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12441 (arguments
12442 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
12443 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
12444 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
12445 #:tests? #f))
12446 (home-page "https://github.com/hu-dwim/hu.dwim.defclass-star")
12447 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
12448 (description "@code{defclass-star} provides defclass* and defcondition* to
12449 simplify class and condition declarations. Features include:
12450
12451 @itemize
12452 @item Automatically export all or select slots at compile time.
12453 @item Define the @code{:initarg} and @code{:accessor} automatically.
12454 @item Specify a name transformer for both the @code{:initarg} and
12455 @code{:accessor}, etc.
12456 @item Specify the @code{:initform} as second slot value.
12457 @end itemize
12458
12459 See
12460 @url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
12461 for an example.")
12462 (license license:public-domain))))
12463
12464 (define-public cl-hu.dwim.defclass-star
12465 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
12466
12467 (define-public ecl-hu.dwim.defclass-star
12468 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))
12469
12470 (define-public sbcl-livesupport
12471 (let ((commit "71e6e412df9f3759ad8378fabb203913d82e228a")
12472 (revision "1"))
12473 (package
12474 (name "sbcl-livesupport")
12475 (version (git-version "0.0.0" revision commit))
12476 (source
12477 (origin
12478 (method git-fetch)
12479 (uri (git-reference
12480 (url "https://github.com/cbaggers/livesupport")
12481 (commit commit)))
12482 (file-name (git-file-name name version))
12483 (sha256
12484 (base32 "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"))))
12485 (build-system asdf-build-system/sbcl)
12486 (home-page "https://github.com/cbaggers/livesupport")
12487 (synopsis "Some helpers that make livecoding a little easier")
12488 (description "This package provides a macro commonly used in livecoding to
12489 enable continuing when errors are raised. Simply wrap around a chunk of code
12490 and it provides a restart called @code{continue} which ignores the error and
12491 carrys on from the end of the body.")
12492 (license license:bsd-2))))
12493
12494 (define-public cl-livesupport
12495 (sbcl-package->cl-source-package sbcl-livesupport))
12496
12497 (define-public ecl-livesupport
12498 (sbcl-package->ecl-package sbcl-livesupport))
12499
12500 (define-public sbcl-envy
12501 (let ((commit "956321b2852d58ba71c6fe621f5c2924178e9f88")
12502 (revision "1"))
12503 (package
12504 (name "sbcl-envy")
12505 (version (git-version "0.1" revision commit))
12506 (home-page "https://github.com/fukamachi/envy")
12507 (source
12508 (origin
12509 (method git-fetch)
12510 (uri (git-reference
12511 (url home-page)
12512 (commit commit)))
12513 (file-name (git-file-name name version))
12514 (sha256
12515 (base32 "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg"))))
12516 (build-system asdf-build-system/sbcl)
12517 ;; (native-inputs ; Only for tests.
12518 ;; `(("prove" ,sbcl-prove)
12519 ;; ("osicat" ,sbcl-osicat)))
12520 (arguments
12521 '(#:phases
12522 (modify-phases %standard-phases
12523 (add-after 'unpack 'fix-tests
12524 (lambda _
12525 (substitute* "envy-test.asd"
12526 (("cl-test-more") "prove"))
12527 #t)))
12528 ;; Tests fail with
12529 ;; Component ENVY-ASD::ENVY-TEST not found, required by #<SYSTEM "envy">
12530 ;; like xsubseq. Why?
12531 #:tests? #f))
12532 (synopsis "Common Lisp configuration switcher inspired by Perl's Config::ENV.")
12533 (description "Envy is a configuration manager for various applications.
12534 Envy uses an environment variable to determine a configuration to use. This
12535 can separate configuration system from an implementation.")
12536 (license license:bsd-2))))
12537
12538 (define-public cl-envy
12539 (sbcl-package->cl-source-package sbcl-envy))
12540
12541 (define-public ecl-envy
12542 (sbcl-package->ecl-package sbcl-envy))
12543
12544 (define-public sbcl-mito
12545 (let ((commit "d3b9e375ef364a65692da2185085a08c969ac88a")
12546 (revision "1"))
12547 (package
12548 (name "sbcl-mito")
12549 (version (git-version "0.1" revision commit))
12550 (home-page "https://github.com/fukamachi/mito")
12551 (source
12552 (origin
12553 (method git-fetch)
12554 (uri (git-reference
12555 (url home-page)
12556 (commit commit)))
12557 (file-name (git-file-name name version))
12558 (sha256
12559 (base32 "08mncgzjnbbsf1a6am3l73iw4lyfvz5ldjg5g84awfaxml4p73mb"))))
12560 (build-system asdf-build-system/sbcl)
12561 (native-inputs
12562 `(("prove" ,sbcl-prove)))
12563 (inputs
12564 `(("alexandria" ,sbcl-alexandria)
12565 ("cl-ppcre" ,sbcl-cl-ppcre)
12566 ("cl-reexport" ,sbcl-cl-reexport)
12567 ("closer-mop" ,sbcl-closer-mop)
12568 ("dbi" ,sbcl-dbi)
12569 ("dissect" ,sbcl-dissect)
12570 ("esrap" ,sbcl-esrap)
12571 ("local-time" ,sbcl-local-time)
12572 ("optima" ,sbcl-optima)
12573 ("sxql" ,sbcl-sxql)
12574 ("uuid" ,sbcl-uuid)))
12575 (arguments
12576 '(#:phases
12577 (modify-phases %standard-phases
12578 (add-after 'unpack 'remove-non-functional-tests
12579 (lambda _
12580 (substitute* "mito-test.asd"
12581 (("\\(:test-file \"db/mysql\"\\)") "")
12582 (("\\(:test-file \"db/postgres\"\\)") "")
12583 (("\\(:test-file \"dao\"\\)") "")
12584 ;; TODO: migration/sqlite3 should work, re-enable once
12585 ;; upstream has fixed it:
12586 ;; https://github.com/fukamachi/mito/issues/70
12587 (("\\(:test-file \"migration/sqlite3\"\\)") "")
12588 (("\\(:test-file \"migration/mysql\"\\)") "")
12589 (("\\(:test-file \"migration/postgres\"\\)") "")
12590 (("\\(:test-file \"postgres-types\"\\)") "")
12591 (("\\(:test-file \"mixin\"\\)") ""))
12592 #t)))
12593 ;; TODO: While all enabled tests pass, the phase fails with:
12594 ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito">
12595 #:tests? #f))
12596 (synopsis "ORM for Common Lisp with migrations and relationships support")
12597 (description "Mito is yet another object relational mapper, and it aims
12598 to be a successor of Integral.
12599
12600 @itemize
12601 @item Support MySQL, PostgreSQL and SQLite3.
12602 @item Add id (serial/uuid primary key), created_at and updated_at by default
12603 like Ruby's ActiveRecord.
12604 @item Migrations.
12605 @item Database schema versioning.
12606 @end itemize\n")
12607 (license license:llgpl))))
12608
12609 (define-public cl-mito
12610 (sbcl-package->cl-source-package sbcl-mito))
12611
12612 (define-public ecl-mito
12613 (sbcl-package->ecl-package sbcl-mito))
12614
12615 (define-public sbcl-kebab
12616 (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b")
12617 (revision "1"))
12618 (package
12619 (name "sbcl-kebab")
12620 (version (git-version "0.1" revision commit))
12621 (home-page "https://github.com/pocket7878/kebab")
12622 (source
12623 (origin
12624 (method git-fetch)
12625 (uri (git-reference
12626 (url home-page)
12627 (commit commit)))
12628 (file-name (git-file-name name version))
12629 (sha256
12630 (base32 "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"))))
12631 (build-system asdf-build-system/sbcl)
12632 (inputs
12633 `(("cl-ppcre" ,sbcl-cl-ppcre)
12634 ("alexandria" ,sbcl-alexandria)
12635 ("cl-interpol" ,sbcl-cl-interpol)
12636 ("split-sequence" ,sbcl-split-sequence)))
12637 (native-inputs
12638 `(("prove" ,sbcl-prove)))
12639 (arguments
12640 ;; Tests passes but the phase fails with
12641 ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">.
12642 `(#:tests? #f))
12643 (synopsis "Common Lisp case converter")
12644 (description "This Common Lisp library converts strings, symbols and
12645 keywords between any of the following typographical cases: PascalCase,
12646 camelCase, snake_case, kebab-case (lisp-case).")
12647 (license license:llgpl))))
12648
12649 (define-public cl-kebab
12650 (sbcl-package->cl-source-package sbcl-kebab))
12651
12652 (define-public ecl-kebab
12653 (sbcl-package->ecl-package sbcl-kebab))
12654
12655 (define-public sbcl-datafly
12656 (let ((commit "adece27fcbc4b5ea39ad1a105048b6b7166e3b0d")
12657 (revision "1"))
12658 (package
12659 (name "sbcl-datafly")
12660 (version (git-version "0.1" revision commit))
12661 (home-page "https://github.com/fukamachi/datafly")
12662 (source
12663 (origin
12664 (method git-fetch)
12665 (uri (git-reference
12666 (url home-page)
12667 (commit commit)))
12668 (file-name (git-file-name name version))
12669 (sha256
12670 (base32 "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv"))))
12671 (build-system asdf-build-system/sbcl)
12672 (inputs
12673 `(("alexandria" ,sbcl-alexandria)
12674 ("iterate" ,sbcl-iterate)
12675 ("optima" ,sbcl-optima)
12676 ("trivial-types" ,sbcl-trivial-types)
12677 ("closer-mop" ,sbcl-closer-mop)
12678 ("cl-syntax" ,sbcl-cl-syntax)
12679 ("sxql" ,sbcl-sxql)
12680 ("dbi" ,sbcl-dbi)
12681 ("babel" ,sbcl-babel)
12682 ("local-time" ,sbcl-local-time)
12683 ("function-cache" ,sbcl-function-cache)
12684 ("jonathan" ,sbcl-jonathan)
12685 ("kebab" ,sbcl-kebab)
12686 ("log4cl" ,sbcl-log4cl)))
12687 (native-inputs
12688 `(("prove" ,sbcl-prove)))
12689 (arguments
12690 ;; TODO: Tests fail with
12691 ;; While evaluating the form starting at line 22, column 0
12692 ;; of #P"/tmp/guix-build-sbcl-datafly-0.1-1.adece27.drv-0/source/t/datafly.lisp":
12693 ;; Unhandled SQLITE:SQLITE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
12694 ;; {10009F8083}>:
12695 ;; Error when binding parameter 1 to value NIL.
12696 ;; Code RANGE: column index out of range.
12697 `(#:tests? #f))
12698 (synopsis "Lightweight database library for Common Lisp")
12699 (description "Datafly is a lightweight database library for Common Lisp.")
12700 (license license:bsd-3))))
12701
12702 (define-public cl-datafly
12703 (sbcl-package->cl-source-package sbcl-datafly))
12704
12705 (define-public ecl-datafly
12706 (sbcl-package->ecl-package sbcl-datafly))
12707
12708 (define-public sbcl-do-urlencode
12709 (let ((commit "199846441dad5dfac5478b8dee4b4e20d107af6a")
12710 (revision "1"))
12711 (package
12712 (name "sbcl-do-urlencode")
12713 (version (git-version "0.0.0" revision commit))
12714 (home-page "https://github.com/drdo/do-urlencode")
12715 (source
12716 (origin
12717 (method git-fetch)
12718 (uri (git-reference
12719 (url home-page)
12720 (commit commit)))
12721 (file-name (git-file-name name version))
12722 (sha256
12723 (base32 "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"))))
12724 (build-system asdf-build-system/sbcl)
12725 (inputs
12726 `(("alexandria" ,sbcl-alexandria)
12727 ("babel" ,sbcl-babel)))
12728 (synopsis "Percent Encoding (aka URL Encoding) Common Lisp library")
12729 (description "This library provides trivial percent encoding and
12730 decoding functions for URLs.")
12731 (license license:isc))))
12732
12733 (define-public cl-do-urlencode
12734 (sbcl-package->cl-source-package sbcl-do-urlencode))
12735
12736 (define-public ecl-do-urlencode
12737 (sbcl-package->ecl-package sbcl-do-urlencode))
12738
12739 (define-public sbcl-cl-emb
12740 (let ((commit "fd8652174d048d4525a81f38cdf42f4fa519f840")
12741 (revision "1"))
12742 (package
12743 (name "sbcl-cl-emb")
12744 (version (git-version "0.4.3" revision commit))
12745 (home-page "https://common-lisp.net/project/cl-emb/")
12746 (source
12747 (origin
12748 (method git-fetch)
12749 (uri (git-reference
12750 (url "https://github.com/38a938c2/cl-emb")
12751 (commit commit)))
12752 (file-name (git-file-name name version))
12753 (sha256
12754 (base32 "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"))))
12755 (build-system asdf-build-system/sbcl)
12756 (inputs
12757 `(("cl-ppcre" ,sbcl-cl-ppcre)))
12758 (synopsis "Templating system for Common Lisp")
12759 (description "A mixture of features from eRuby and HTML::Template. You
12760 could name it \"Yet Another LSP\" (LispServer Pages) but it's a bit more than
12761 that and not limited to a certain server or text format.")
12762 (license license:llgpl))))
12763
12764 (define-public cl-emb
12765 (sbcl-package->cl-source-package sbcl-cl-emb))
12766
12767 (define-public ecl-cl-emb
12768 (sbcl-package->ecl-package sbcl-cl-emb))
12769
12770 (define-public sbcl-cl-project
12771 (let ((commit "151107014e534fc4666222d57fec2cc8549c8814")
12772 (revision "1"))
12773 (package
12774 (name "sbcl-cl-project")
12775 (version (git-version "0.3.1" revision commit))
12776 (home-page "https://github.com/fukamachi/cl-project")
12777 (source
12778 (origin
12779 (method git-fetch)
12780 (uri (git-reference
12781 (url home-page)
12782 (commit commit)))
12783 (file-name (git-file-name name version))
12784 (sha256
12785 (base32 "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y"))))
12786 (build-system asdf-build-system/sbcl)
12787 (inputs
12788 `(("cl-emb" ,sbcl-cl-emb)
12789 ("cl-ppcre" ,sbcl-cl-ppcre)
12790 ("local-time" ,sbcl-local-time)
12791 ("prove" ,sbcl-prove)))
12792 (arguments
12793 ;; Tests depend on caveman, which in turns depends on cl-project.
12794 '(#:tests? #f
12795 #:asd-files '("cl-project.asd")))
12796 (synopsis "Generate a skeleton for modern Common Lisp projects")
12797 (description "This library provides a modern project skeleton generator.
12798 In contract with other generators, CL-Project generates one package per file
12799 and encourages unit testing by generating a system for unit testing, so you
12800 can begin writing unit tests as soon as the project is generated.")
12801 (license license:llgpl))))
12802
12803 (define-public cl-project
12804 (sbcl-package->cl-source-package sbcl-cl-project))
12805
12806 (define-public ecl-cl-project
12807 (sbcl-package->ecl-package sbcl-cl-project))
12808
12809 (define-public sbcl-caveman
12810 (let ((commit "faa5f7e3b364fd7e7096af9a7bb06728b8d80441") ; No release since 2012
12811 (revision "1"))
12812 (package
12813 (name "sbcl-caveman")
12814 (version (git-version "2.4.0" revision commit))
12815 (home-page "http://8arrow.org/caveman/")
12816 (source
12817 (origin
12818 (method git-fetch)
12819 (uri (git-reference
12820 (url "https://github.com/fukamachi/caveman/")
12821 (commit commit)))
12822 (file-name (git-file-name name version))
12823 (sha256
12824 (base32 "0kh0gx05pczk8f7r9qdi4zn1p3d0a2prps27k7jpgvc1dxkl8qhq"))))
12825 (build-system asdf-build-system/sbcl)
12826 (inputs
12827 `(("ningle" ,cl-ningle)
12828 ("lack" ,sbcl-lack)
12829 ("cl-project" ,sbcl-cl-project)
12830 ("dbi" ,sbcl-dbi)
12831 ("cl-syntax" ,sbcl-cl-syntax)
12832 ("myway" ,sbcl-myway)
12833 ("quri" ,sbcl-quri)))
12834 (native-inputs
12835 `(("usocket" ,sbcl-usocket)
12836 ("dexador" ,sbcl-dexador)))
12837 (arguments
12838 `(#:asd-files '("caveman2.asd")
12839 #:asd-systems '("caveman2")
12840 #:phases
12841 (modify-phases %standard-phases
12842 (add-after 'unpack 'remove-v1
12843 (lambda _
12844 (delete-file-recursively "v1")
12845 (for-each delete-file
12846 '("README.v1.markdown" "caveman.asd" "caveman-test.asd")))))
12847 ;; TODO: Tests fail with:
12848 ;; writing /gnu/store/...-sbcl-caveman-2.4.0-1.faa5f7e/share/common-lisp/sbcl-source/caveman2/v2/t/tmp/myapp573/tests/myapp573.lisp
12849 ;; While evaluating the form starting at line 38, column 0
12850 ;; of #P"/tmp/guix-build-sbcl-caveman-2.4.0-1.faa5f7e.drv-0/source/v2/t/caveman.lisp":
12851 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD "main thread" RUNNING
12852 ;; {10009F8083}>:
12853 ;; Component "myapp573" not found
12854 #:tests? #f))
12855 (synopsis "Lightweight web application framework in Common Lisp")
12856 (description "Caveman is intended to be a collection of common parts for
12857 web applications. Caveman2 has three design goals:
12858
12859 @itemize
12860 @item Be extensible.
12861 @item Be practical.
12862 @item Don't force anything.
12863 @end itemize\n")
12864 (license license:llgpl))))
12865
12866 (define-public cl-caveman
12867 (package
12868 (inherit
12869 (sbcl-package->cl-source-package sbcl-caveman))
12870 (propagated-inputs
12871 `(("ningle" ,cl-ningle)))))
12872
12873 (define-public ecl-caveman
12874 (sbcl-package->ecl-package sbcl-caveman))
12875
12876 (define-public sbcl-lambda-fiddle
12877 (let ((commit "d16bba55acf6065b412f64ab8fdff679a4a32b1e") ;; no tagged branch
12878 (revision "1"))
12879 (package
12880 (name "sbcl-lambda-fiddle")
12881 (version (git-version "1.0.0" revision commit))
12882 (source
12883 (origin
12884 (method git-fetch)
12885 (uri (git-reference
12886 (url "https://github.com/Shinmera/lambda-fiddle")
12887 (commit commit)))
12888 (file-name (git-file-name name version))
12889 (sha256
12890 (base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand"))))
12891 (build-system asdf-build-system/sbcl)
12892 (home-page "https://github.com/Shinmera/lambda-fiddle")
12893 (synopsis "Collection of utilities to process lambda-lists")
12894 (description "This collection of utilities is useful in contexts where
12895 you want a macro that uses lambda-lists in some fashion but need more precise
12896 processing.")
12897 (license license:zlib))))
12898
12899 (define-public cl-lambda-fiddle
12900 (sbcl-package->cl-source-package sbcl-lambda-fiddle))
12901
12902 (define-public ecl-lambda-fiddle
12903 (sbcl-package->ecl-package sbcl-lambda-fiddle))
12904
12905 (define-public sbcl-xmls
12906 (let ((commit "18546f0850b1338e03997ffd1696add1cb1800d1") ;; no tagged branch
12907 (revision "1"))
12908 (package
12909 (name "sbcl-xmls")
12910 (version (git-version "3.0.2" revision commit))
12911 (source
12912 (origin
12913 (method git-fetch)
12914 (uri (git-reference
12915 (url "https://github.com/rpgoldman/xmls")
12916 (commit commit)))
12917 (file-name (git-file-name name version))
12918 (sha256
12919 (base32 "1lmvfml2ldbb1wkhm25jqqk2bhwsz52hhcgljbnzj1xr8xhc3anp"))))
12920 (native-inputs
12921 `(("fiveam" ,sbcl-fiveam)))
12922 (build-system asdf-build-system/sbcl)
12923 (home-page "https://github.com/rpgoldman/xmls")
12924 (synopsis "Non-validating XML parser for Common Lisp")
12925 (description "Xmls is a self-contained, easily embedded parser that
12926 recognizes a useful subset of the XML spec. It provides a simple mapping from
12927 XML to Lisp structures or s-expressions and back.")
12928 (license license:bsd-2))))
12929
12930 (define-public cl-xmls
12931 (sbcl-package->cl-source-package sbcl-xmls))
12932
12933 (define-public ecl-xmls
12934 (sbcl-package->ecl-package sbcl-xmls))
12935
12936 (define-public sbcl-geco
12937 (package
12938 (name "sbcl-geco")
12939 (version "2.1.1")
12940 (source
12941 (origin
12942 (method git-fetch)
12943 (uri (git-reference
12944 (url "https://github.com/gpwwjr/GECO")
12945 (commit (string-append "v" version))))
12946 (file-name (git-file-name "geco" version))
12947 (sha256
12948 (base32 "1rc8a4mk40hjx5qy980hjylv6xxqdbq38hg8c4w30y93abfd519s"))))
12949 (build-system asdf-build-system/sbcl)
12950 (home-page "http://hiwaay.net/~gpw/geco/geco.html")
12951 (synopsis "Genetic algorithm toolkit for Common Lisp")
12952 (description
12953 "GECO (Genetic Evolution through Combination of Objects) is an extensible,
12954 object-oriented framework for prototyping genetic algorithms in Common Lisp.")
12955 (license license:lgpl2.1+)))
12956
12957 (define-public cl-geco
12958 (sbcl-package->cl-source-package sbcl-geco))
12959
12960 (define-public ecl-geco
12961 (sbcl-package->ecl-package sbcl-geco))
12962
12963 (define-public sbcl-html-entities
12964 (let ((commit "4af018048e891f41d77e7d680ed3aeb639e1eedb"))
12965 (package
12966 (name "sbcl-html-entities")
12967 (version (git-version "0.02" "1" commit))
12968 (source
12969 (origin
12970 (method git-fetch)
12971 (uri (git-reference
12972 (url "https://github.com/BnMcGn/html-entities/")
12973 (commit commit)))
12974 (file-name (git-file-name name version))
12975 (sha256
12976 (base32 "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"))))
12977 (build-system asdf-build-system/sbcl)
12978 (inputs
12979 `(("ppcre" ,sbcl-cl-ppcre)))
12980 (native-inputs
12981 `(("fiveam" ,sbcl-fiveam)))
12982 (home-page "https://github.com/BnMcGn/html-entities/")
12983 (synopsis "Encode and decode entities in HTML with Common Lisp")
12984 (description "Html-entities is a Common Lisp library that lets you
12985 encode and decode entities in HTML.")
12986 (license license:expat))))
12987
12988 (define-public cl-html-entities
12989 (sbcl-package->cl-source-package sbcl-html-entities))
12990
12991 (define-public ecl-html-entities
12992 (sbcl-package->ecl-package sbcl-html-entities))
12993
12994 (define-public sbcl-quicksearch
12995 (let ((commit "fb02ecf7c876ec580ab18c7d2c8c7814c06af599"))
12996 (package
12997 (name "sbcl-quicksearch")
12998 (version (git-version "0.01.04" "1" commit))
12999 (source
13000 (origin
13001 (method git-fetch)
13002 (uri (git-reference
13003 (url "https://github.com/tkych/quicksearch/")
13004 (commit commit)))
13005 (file-name (git-file-name name version))
13006 (sha256
13007 (base32 "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps"))))
13008 (build-system asdf-build-system/sbcl)
13009 (inputs
13010 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13011 ("iterate" ,sbcl-iterate)
13012 ("alexandria" ,sbcl-alexandria)
13013 ("anaphora" ,sbcl-anaphora)
13014 ("ppcre" ,sbcl-cl-ppcre)
13015 ("drakma" ,sbcl-drakma)
13016 ("html-entities" ,sbcl-html-entities)
13017 ("yason" ,sbcl-yason)
13018 ("flexi-streams" ,sbcl-flexi-streams)
13019 ("do-urlencode" ,sbcl-do-urlencode)))
13020 (home-page "https://github.com/tkych/quicksearch/")
13021 (synopsis "Search Engine Interface for Common Lisp packages")
13022 (description "Quicksearch is a search-engine-interface for Common Lisp.
13023 The goal of Quicksearch is to find the Common Lisp library quickly. For
13024 example, if you will find the library about json, just type @code{(qs:?
13025 'json)} at REPL.
13026
13027 The function @code{quicksearch} searches for Common Lisp projects in
13028 Quicklisp, Cliki, GitHub and BitBucket, then outputs results in REPL. The
13029 function @code{?} is abbreviation wrapper for @code{quicksearch}.")
13030 (license license:expat))))
13031
13032 (define-public cl-quicksearch
13033 (sbcl-package->cl-source-package sbcl-quicksearch))
13034
13035 (define-public ecl-quicksearch
13036 (sbcl-package->ecl-package sbcl-quicksearch))
13037
13038 (define-public sbcl-agutil
13039 (let ((commit "df188d754d472da9faa1601a48f1f37bb7b34d68"))
13040 (package
13041 (name "sbcl-agutil")
13042 (version (git-version "0.0.1" "1" commit))
13043 (source
13044 (origin
13045 (method git-fetch)
13046 (uri (git-reference
13047 (url "https://github.com/alex-gutev/agutil/")
13048 (commit commit)))
13049 (file-name (git-file-name name version))
13050 (sha256
13051 (base32 "1xpnyzksk2xld64b6lw6rw0gn5zxlb77jwna59sd4yl7kxhxlfpf"))))
13052 (build-system asdf-build-system/sbcl)
13053 (inputs
13054 `(("alexandria" ,sbcl-alexandria)
13055 ("trivia" ,sbcl-trivia)))
13056 (home-page "https://github.com/alex-gutev/agutil/")
13057 (synopsis "Collection of Common Lisp utilities")
13058 (description "A collection of Common Lisp utility functions and macros
13059 mostly not found in other utility packages.")
13060 (license license:expat))))
13061
13062 (define-public cl-agutil
13063 (sbcl-package->cl-source-package sbcl-agutil))
13064
13065 (define-public ecl-agutil
13066 (sbcl-package->ecl-package sbcl-agutil))
13067
13068 (define-public sbcl-custom-hash-table
13069 (let ((commit "f26983133940f5edf826ebbc8077acc04816ddfa"))
13070 (package
13071 (name "sbcl-custom-hash-table")
13072 (version (git-version "0.3" "1" commit))
13073 (source
13074 (origin
13075 (method git-fetch)
13076 (uri (git-reference
13077 (url "https://github.com/metawilm/cl-custom-hash-table")
13078 (commit commit)))
13079 (file-name (git-file-name name version))
13080 (sha256
13081 (base32 "1k4mvrpbqqds2fwjxp1bxmrfmr8ch4dkwhnkbw559knbqshvrlj5"))))
13082 (build-system asdf-build-system/sbcl)
13083 (arguments
13084 '(#:asd-files '("cl-custom-hash-table.asd")
13085 #:asd-systems '("cl-custom-hash-table")))
13086 (home-page "https://github.com/metawilm/cl-custom-hash-table")
13087 (synopsis "Custom hash tables for Common Lisp")
13088 (description "This library allows creation of hash tables with arbitrary
13089 @code{test}/@code{hash} functions, in addition to the @code{test} functions
13090 allowed by the standard (@code{EQ}, @code{EQL}, @code{EQUAL} and
13091 @code{EQUALP}), even in implementations that don't support this functionality
13092 directly.")
13093 (license license:expat))))
13094
13095 (define-public cl-custom-hash-table
13096 (sbcl-package->cl-source-package sbcl-custom-hash-table))
13097
13098 (define-public ecl-custom-hash-table
13099 (sbcl-package->ecl-package sbcl-custom-hash-table))
13100
13101 (define-public sbcl-collectors
13102 (let ((commit "13acef25d8422d1d82e067b1861e513587c166ee"))
13103 (package
13104 (name "sbcl-collectors")
13105 (version (git-version "0.1" "1" commit))
13106 (source
13107 (origin
13108 (method git-fetch)
13109 (uri (git-reference
13110 (url "https://github.com/AccelerationNet/collectors")
13111 (commit commit)))
13112 (file-name (git-file-name name version))
13113 (sha256
13114 (base32 "1si68n1j6rpns8jw6ksqjpb937pdl30v7xza8rld7j5vh0jhy2yi"))))
13115 (build-system asdf-build-system/sbcl)
13116 (inputs
13117 `(("alexandria" ,sbcl-alexandria)
13118 ("closer-mop" ,sbcl-closer-mop)
13119 ("symbol-munger" ,sbcl-symbol-munger)))
13120 (native-inputs
13121 `(("lisp-unit2" ,sbcl-lisp-unit2)))
13122 (home-page "https://github.com/AccelerationNet/collectors/")
13123 (synopsis "Common lisp library providing collector macros")
13124 (description "A small collection of common lisp macros to make
13125 collecting values easier.")
13126 (license license:bsd-3))))
13127
13128 (define-public cl-collectors
13129 (sbcl-package->cl-source-package sbcl-collectors))
13130
13131 (define-public ecl-collectors
13132 (sbcl-package->ecl-package sbcl-collectors))
13133
13134 (define-public sbcl-cl-environments
13135 (package
13136 (name "sbcl-cl-environments")
13137 (version "0.4")
13138 (source
13139 (origin
13140 (method git-fetch)
13141 (uri (git-reference
13142 (url "https://github.com/alex-gutev/cl-environments")
13143 (commit (string-append "v" version))))
13144 (file-name (git-file-name "cl-environments" version))
13145 (sha256
13146 (base32 "10jxj043d2dw5vc0i0lz0lsa4qszn8him5is8jdhl4nsyfcazmky"))))
13147 (build-system asdf-build-system/sbcl)
13148 (inputs
13149 `(("alexandria" ,sbcl-alexandria)
13150 ("anaphora" ,sbcl-anaphora)
13151 ("collectors" ,sbcl-collectors)
13152 ("optima" ,sbcl-optima)))
13153 (native-inputs
13154 `(("prove" ,sbcl-prove)))
13155 (home-page "https://github.com/alex-gutev/cl-environments")
13156 (synopsis "Implements the Common Lisp standard environment access API")
13157 (description
13158 "This library provides a uniform API, as specified in Common Lisp the
13159 Language 2, for accessing information about variable and function bindings
13160 from implementation-defined lexical environment objects. All major Common
13161 Lisp implementations are supported, even those which don't support the CLTL2
13162 environment access API.")
13163 (license license:expat)))
13164
13165 (define-public cl-environments
13166 (sbcl-package->cl-source-package sbcl-cl-environments))
13167
13168 (define-public ecl-cl-environments
13169 (sbcl-package->ecl-package sbcl-cl-environments))
13170
13171 (define-public sbcl-static-dispatch
13172 (package
13173 (name "sbcl-static-dispatch")
13174 (version "0.5")
13175 (source
13176 (origin
13177 (method git-fetch)
13178 (uri (git-reference
13179 (url "https://github.com/alex-gutev/static-dispatch")
13180 (commit (string-append "v" version))))
13181 (file-name (git-file-name "static-dispatch" version))
13182 (sha256
13183 (base32 "1a4vgfcn6qnpdkxxv93rri7zf3c92alixp6nyqwpz8mg2xmvy1j3"))))
13184 (build-system asdf-build-system/sbcl)
13185 (native-inputs
13186 `(("fiveam" ,sbcl-fiveam)))
13187 (inputs
13188 `(("agutil" ,sbcl-agutil)
13189 ("alexandria" ,sbcl-alexandria)
13190 ("anaphora" ,sbcl-anaphora)
13191 ("arrows" ,sbcl-arrows)
13192 ("cl-environments" ,sbcl-cl-environments)
13193 ("closer-mop" ,sbcl-closer-mop)
13194 ("iterate" ,sbcl-iterate)
13195 ("trivia" ,sbcl-trivia)))
13196 (home-page "https://github.com/alex-gutev/static-dispatch")
13197 (synopsis "Static generic function dispatch for Common Lisp")
13198 (description "Static dispatch is a Common Lisp library, inspired by
13199 @code{inlined-generic-function}, which allows standard Common Lisp generic
13200 function dispatch to be performed statically (at compile time) rather than
13201 dynamically (runtime). This is similar to what is known as \"overloading\" in
13202 languages such as C++ and Java.
13203
13204 The purpose of static dispatch is to provide an optimization in cases where
13205 the usual dynamic dispatch is too slow, and the dynamic features of generic
13206 functions, such as adding/removing methods at runtime are not required. An
13207 example of such a case is a generic equality comparison function. Currently
13208 generic functions are considered far too slow to implement generic arithmetic
13209 and comparison operations when used heavily in numeric code.")
13210 (license license:expat)))
13211
13212 (define-public cl-static-dispatch
13213 (sbcl-package->cl-source-package sbcl-static-dispatch))
13214
13215 (define-public ecl-static-dispatch
13216 (sbcl-package->ecl-package sbcl-static-dispatch))
13217
13218 (define-public sbcl-generic-cl
13219 ;; Latest commit includes a necessary fix for our Guix build.
13220 (let ((commit "8e5a81487ee3c13fe5ffdc8bdda161d476639535"))
13221 (package
13222 (name "sbcl-generic-cl")
13223 (version (git-version "0.7.1" "1" commit))
13224 (source
13225 (origin
13226 (method git-fetch)
13227 (uri (git-reference
13228 (url "https://github.com/alex-gutev/generic-cl")
13229 (commit commit)))
13230 (file-name (git-file-name name version))
13231 (sha256
13232 (base32
13233 "11w0g79s4wmc78vmfng437rmsgnp5qn246zcyr540fp5nw0ad6ix"))))
13234 (build-system asdf-build-system/sbcl)
13235 (inputs
13236 `(("agutil" ,sbcl-agutil)
13237 ("alexandria" ,sbcl-alexandria)
13238 ("anaphora" ,sbcl-anaphora)
13239 ("arrows" ,sbcl-arrows)
13240 ("cl-custom-hash-table" ,sbcl-custom-hash-table)
13241 ("static-dispatch" ,sbcl-static-dispatch)
13242 ("trivia" ,sbcl-trivia)))
13243 (native-inputs
13244 `(("prove" ,sbcl-prove)))
13245 (arguments
13246 ;; Tests fail because SBCL head size is not high enough.
13247 ;; https://github.com/alex-gutev/generic-cl/issues/6
13248 `(#:tests? #f))
13249 (home-page "https://alex-gutev.github.io/generic-cl/")
13250 (synopsis "Generic function interface to standard Common Lisp functions")
13251 (description "@code{generic-cl} provides a generic function wrapper over
13252 various functions in the Common Lisp standard, such as equality predicates and
13253 sequence operations. The goal of this wrapper is to provide a standard
13254 interface to common operations, such as testing for the equality of two
13255 objects, which is extensible to user-defined types.")
13256 (license license:expat))))
13257
13258 (define-public cl-generic-cl
13259 (sbcl-package->cl-source-package sbcl-generic-cl))
13260
13261 (define-public ecl-generic-cl
13262 (sbcl-package->ecl-package sbcl-generic-cl))
13263
13264 (define-public sbcl-defpackage-plus
13265 (let ((revision "0")
13266 (commit "5492e27e0bdb7b75fa5177ea4388519dc7a75f11"))
13267 (package
13268 (name "sbcl-defpackage-plus")
13269 (version (git-version "1.0" revision commit))
13270 (source
13271 (origin
13272 (method git-fetch)
13273 (uri (git-reference
13274 (url "https://github.com/rpav/defpackage-plus")
13275 (commit commit)))
13276 (file-name (git-file-name name version))
13277 (sha256
13278 (base32 "0lzljvf343xb6mlh6lni2i27hpm5qd376522mk6hr2pa20vd6rdq"))))
13279 (build-system asdf-build-system/sbcl)
13280 (inputs
13281 `(("alexandria" ,sbcl-alexandria)))
13282 (home-page "https://github.com/rpav/defpackage-plus")
13283 (synopsis "Extensible @code{DEFPACKAGE} variant with version support")
13284 (description
13285 "@code{DEFPACKAGE-PLUS} is an extensible @code{DEFPACKAGE} variant with
13286 predictable cross-platform behavior and some utilities useful for versioning.")
13287 (license license:bsd-2))))
13288
13289 (define-public cl-defpackage-plus
13290 (sbcl-package->cl-source-package sbcl-defpackage-plus))
13291
13292 (define-public ecl-defpackage-plus
13293 (sbcl-package->ecl-package sbcl-defpackage-plus))
13294
13295 (define-public sbcl-deploy
13296 (let ((commit "9b20e64fe924b9e31832304d87a3a72c383dc6d8")
13297 (revision "2"))
13298 (package
13299 (name "sbcl-deploy")
13300 (version (git-version "1.0.0" revision commit))
13301 (source
13302 (origin
13303 (method git-fetch)
13304 (uri (git-reference
13305 (url "https://github.com/Shinmera/deploy")
13306 (commit commit)))
13307 (file-name (git-file-name "deploy" version))
13308 (sha256
13309 (base32 "07pfkibaridihg8lbq2czwa4iqifqk24n6rx7bfnv7i49p1ppja1"))))
13310 (build-system asdf-build-system/sbcl)
13311 (arguments
13312 `(#:test-asd-file "deploy-test.asd"
13313 #:asd-files '("deploy.asd"
13314 "deploy-test.asd")))
13315 (native-inputs
13316 `(("cl-mpg123" ,sbcl-cl-mpg123)
13317 ("cl-out123" ,sbcl-cl-out123)))
13318 (inputs
13319 `(("cffi" ,sbcl-cffi)
13320 ("documentation-utils" ,sbcl-documentation-utils)
13321 ("trivial-features" ,sbcl-trivial-features)))
13322 (home-page "https://shinmera.github.io/deploy/")
13323 (synopsis "Deployment tools for standalone Common Lisp application")
13324 (description
13325 "This is a system to help you easily and quickly deploy standalone
13326 common lisp applications as binaries. Specifically it is geared towards
13327 applications with foreign library dependencies that run some kind of GUI.")
13328 (license license:artistic2.0))))
13329
13330 (define-public cl-deploy
13331 (sbcl-package->cl-source-package sbcl-deploy))
13332
13333 (define-public ecl-deploy
13334 (sbcl-package->ecl-package sbcl-deploy))
13335
13336 (define-public sbcl-deeds
13337 ;; taged branch is outdated
13338 (let ((revision "1")
13339 (commit "f5df54eac79b58a34030e0eb8acf3952c788410d"))
13340 (package
13341 (name "sbcl-deeds")
13342 (version (git-version "1.1.1" revision commit))
13343 (source
13344 (origin
13345 (method git-fetch)
13346 (uri (git-reference
13347 (url "https://github.com/Shinmera/deeds")
13348 (commit commit)))
13349 (file-name (git-file-name name version))
13350 (sha256
13351 (base32 "062cnb2dwli6pw3zvv46jfxyxdzcbzwsck5pa6nw03qf1j1hyg3k"))))
13352 (build-system asdf-build-system/sbcl)
13353 (inputs
13354 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13355 ("closer-mop" ,sbcl-closer-mop)
13356 ("form-fiddle" ,sbcl-form-fiddle)
13357 ("lambda-fiddle" ,sbcl-lambda-fiddle)))
13358 (home-page "https://github.com/Shinmera/deeds")
13359 (synopsis "Extensible Event Delivery System")
13360 (description
13361 "@code{deeds} allows for efficient event delivery to multiple handlers
13362 with a complex event filtering system.")
13363 (license license:zlib))))
13364
13365 (define-public cl-deeds
13366 (sbcl-package->cl-source-package sbcl-deeds))
13367
13368 (define-public ecl-deeds
13369 (sbcl-package->ecl-package sbcl-deeds))
13370
13371 (define-public sbcl-make-hash
13372 ;; no tagged branch
13373 (let ((revision "1")
13374 (commit "ae0909cd8e697520a1085fac6f54ac2b448ebd21"))
13375 (package
13376 (name "sbcl-make-hash")
13377 (version (git-version "1.0.2" revision commit))
13378 (source
13379 (origin
13380 (method git-fetch)
13381 (uri (git-reference
13382 (url "https://github.com/genovese/make-hash")
13383 (commit commit)))
13384 (file-name (git-file-name name version))
13385 (sha256
13386 (base32 "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8"))))
13387 (build-system asdf-build-system/sbcl)
13388 (home-page "https://github.com/genovese/make-hash")
13389 (synopsis "Common Lisp package for flexible hash table creation")
13390 (description
13391 "This is a Common Lisp package for hash table creation with flexible,
13392 extensible initializers.")
13393 (license license:bsd-3))))
13394
13395 (define-public cl-make-hash
13396 (sbcl-package->cl-source-package sbcl-make-hash))
13397
13398 (define-public ecl-make-hash
13399 (sbcl-package->ecl-package sbcl-make-hash))
13400
13401 (define-public sbcl-claw-support
13402 (package
13403 (name "sbcl-claw-support")
13404 (version "1.0.0")
13405 (source
13406 (origin
13407 (method git-fetch)
13408 (uri (git-reference
13409 (url "https://github.com/borodust/claw-support")
13410 (commit "9a15c8bed04585f45e6a461bcda1b475144dbd0b")))
13411 (file-name (git-file-name name version))
13412 (sha256
13413 (base32 "1my2ka7h72ipx5n3b465g6kjkasrhsvhqlijwcg6dhlzs5yygl23"))))
13414 (build-system asdf-build-system/sbcl)
13415 (home-page "https://github.com/borodust/claw-support")
13416 (synopsis "Support routines for claw")
13417 (description
13418 "This package provides support routines for the @code{claw} Common Lisp
13419 package.")
13420 (license license:expat)))
13421
13422 (define-public cl-claw-support
13423 (sbcl-package->cl-source-package sbcl-claw-support))
13424
13425 (define-public ecl-claw-support
13426 (sbcl-package->ecl-package sbcl-claw-support))
13427
13428 (define-public sbcl-claw
13429 (let ((revision "0")
13430 (commit "3cd4a96fca95eb9e8d5d069426694669f81b2250"))
13431 (package
13432 (name "sbcl-claw")
13433 (version (git-version "1.0" revision commit))
13434 (source
13435 (origin
13436 (method git-fetch)
13437 (uri (git-reference
13438 (url "https://github.com/borodust/claw")
13439 (commit commit)))
13440 (file-name (git-file-name "claw" version))
13441 (sha256
13442 (base32 "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d"))))
13443 (build-system asdf-build-system/sbcl)
13444 (inputs
13445 `(("alexandria" ,sbcl-alexandria)
13446 ("cffi" ,sbcl-cffi)
13447 ("cl-json" ,sbcl-cl-json)
13448 ("cl-ppcre" ,sbcl-cl-ppcre)
13449 ("claw-support" ,sbcl-claw-support)
13450 ("local-time" ,sbcl-local-time)
13451 ("trivial-features" ,sbcl-trivial-features)))
13452 (home-page "https://github.com/borodust/claw")
13453 (synopsis "Autowrapper for Common Lisp")
13454 (description
13455 "This is a Common Lisp autowrapping facility for quickly creating clean
13456 and lean bindings to C libraries.")
13457 (license license:bsd-2))))
13458
13459 (define-public cl-claw
13460 (sbcl-package->cl-source-package sbcl-claw))
13461
13462 (define-public ecl-claw
13463 (sbcl-package->ecl-package sbcl-claw))
13464
13465 (define-public sbcl-claw-utils
13466 (let ((revision "0")
13467 (commit "efe25016501973dc369f067a64c7d225802bc56f"))
13468 (package
13469 (name "sbcl-claw-utils")
13470 ;; version is not specified
13471 (version (git-version "0.0.0" revision commit))
13472 (source
13473 (origin
13474 (method git-fetch)
13475 (uri (git-reference
13476 (url "https://github.com/borodust/claw-utils")
13477 (commit commit)))
13478 (file-name (git-file-name "claw-utils" version))
13479 (sha256
13480 (base32 "01df3kyf2qs3czi332dnz2s35x2j0fq46vgmsw7wjrrvnqc22mk5"))))
13481 (build-system asdf-build-system/sbcl)
13482 (inputs
13483 `(("alexandria" ,sbcl-alexandria)
13484 ("cffi" ,sbcl-cffi)
13485 ("claw" ,sbcl-claw)))
13486 (home-page "https://github.com/borodust/claw-utils")
13487 (synopsis "Utilities for easier autowrapping")
13488 (description
13489 "This Common Lisp library contains various handy utilities to help
13490 autowrapping with @code{claw}.")
13491 (license license:expat))))
13492
13493 (define-public cl-claw-utils
13494 (sbcl-package->cl-source-package sbcl-claw-utils))
13495
13496 (define-public ecl-claw-utils
13497 (sbcl-package->ecl-package sbcl-claw-utils))
13498
13499 (define-public sbcl-array-operations
13500 (let ((commit "75cbc3b1adb2e3ce2109489753d0f290b071e81b")
13501 (revision "0"))
13502 (package
13503 (name "sbcl-array-operations")
13504 (version (git-version "0.0.0" revision commit))
13505 (source
13506 (origin
13507 (method git-fetch)
13508 (uri (git-reference
13509 (url "https://github.com/bendudson/array-operations")
13510 (commit commit)))
13511 (file-name (git-file-name "array-operations" version))
13512 (sha256
13513 (base32 "0ip49hhq32w80qsc7jmspyda5r2rsszvw0mk2r3341cld78sz9ya"))))
13514 (build-system asdf-build-system/sbcl)
13515 (native-inputs
13516 `(("alexandria" ,sbcl-alexandria)
13517 ("clunit2" ,sbcl-clunit2)))
13518 (inputs
13519 `(("let-plus" ,sbcl-let-plus)))
13520 (synopsis "Simple array operations library for Common Lisp")
13521 (description
13522 "This library is a collection of functions and macros for manipulating
13523 Common Lisp arrays and performing numerical calculations with them.")
13524 (home-page "https://github.com/bendudson/array-operations")
13525 (license license:expat))))
13526
13527 (define-public cl-array-operations
13528 (sbcl-package->cl-source-package sbcl-array-operations))
13529
13530 (define-public ecl-array-operations
13531 (sbcl-package->ecl-package sbcl-array-operations))
13532
13533 (define-public sbcl-clml
13534 (let ((commit "95505b54c8c7b4b27f500c3be97fa5732f4b51a8")
13535 (revision "0"))
13536 (package
13537 (name "sbcl-clml")
13538 (version (git-version "0.0.0" revision commit))
13539 (source
13540 (origin
13541 (method git-fetch)
13542 (uri (git-reference
13543 (url "https://github.com/mmaul/clml")
13544 (commit commit)))
13545 (file-name (git-file-name "clml" version))
13546 (sha256
13547 (base32 "006pii59nmpc61n7p7h8ha5vjg6x0dya327i58z0rnvxs249h345"))
13548 ;; TODO: Remove this when the patch has been merged upstream.
13549 (patches (search-patches "sbcl-clml-fix-types.patch"))))
13550 (build-system asdf-build-system/sbcl)
13551 (inputs
13552 `(("alexandia" ,sbcl-alexandria)
13553 ("array-operations" ,sbcl-array-operations)
13554 ("cl-fad" ,sbcl-cl-fad)
13555 ("cl-ppcre" ,sbcl-cl-ppcre)
13556 ("drakma" ,sbcl-drakma)
13557 ("introspect-environment" ,sbcl-introspect-environment)
13558 ("iterate" ,sbcl-iterate)
13559 ("lparallel" ,sbcl-lparallel)
13560 ("parse-number" ,sbcl-parse-number)
13561 ("split-sequence" ,sbcl-split-sequence)
13562 ("trivial-garbage" ,sbcl-trivial-garbage)))
13563 (synopsis "Common Lisp machine learning library")
13564 (description
13565 "CLML (Common Lisp Machine Learning) is a high performance and large
13566 scale statistical machine learning package")
13567 (home-page "https://mmaul.github.io/clml/")
13568 (license license:llgpl))))
13569
13570 (define-public cl-clml
13571 (sbcl-package->cl-source-package sbcl-clml))
13572
13573 (define-public sbcl-utm-ups
13574 (let ((commit "ffcb7b6d5a56fb7d4b2b95b83bbd28ffe6e6961f")
13575 (revision "0"))
13576 (package
13577 (name "sbcl-utm-ups")
13578 (version (git-version "1.1" revision commit))
13579 (source
13580 (origin
13581 (method git-fetch)
13582 (uri (git-reference
13583 (url "https://github.com/glv2/utm-ups")
13584 (commit commit)))
13585 (file-name (git-file-name "utm-ups" version))
13586 (sha256
13587 (base32 "1rvyh0srgd81kvbzmq4ysd9y6c0qdwh23naqxc9asw1vh7fq08x1"))))
13588 (build-system asdf-build-system/sbcl)
13589 (native-inputs
13590 `(("fiveam" ,sbcl-fiveam)))
13591 (synopsis
13592 "Convert coordinates between latitude/longitude and UTM or UPS")
13593 (description
13594 "This a Common Lisp library to convert geographic coordinates between
13595 latitude/longitude and UTM (Universal Transverse Mercator) or UPS (Universal
13596 Polar Stereographic).")
13597 (home-page "https://github.com/glv2/utm-ups")
13598 (license license:gpl3+))))
13599
13600 (define-public cl-utm-ups
13601 (sbcl-package->cl-source-package sbcl-utm-ups))
13602
13603 (define-public ecl-utm-ups
13604 (sbcl-package->ecl-package sbcl-utm-ups))
13605
13606 (define-public sbcl-mgrs
13607 (let ((commit "00455460407b7e5509d1be3da09bf6152956761f")
13608 (revision "0"))
13609 (package
13610 (name "sbcl-mgrs")
13611 (version (git-version "1.0" revision commit))
13612 (source
13613 (origin
13614 (method git-fetch)
13615 (uri (git-reference
13616 (url "https://github.com/glv2/mgrs")
13617 (commit commit)))
13618 (file-name (git-file-name "mgrs" version))
13619 (sha256
13620 (base32 "0ckvn4hg3wwivzavhfashb6fap4a1q10l8krhbng8bdb54ac10sz"))))
13621 (build-system asdf-build-system/sbcl)
13622 (native-inputs
13623 `(("fiveam" ,sbcl-fiveam)))
13624 (inputs
13625 `(("utm-ups" ,sbcl-utm-ups)))
13626 (synopsis
13627 "Convert coordinates between latitude/longitude and MGRS")
13628 (description
13629 "This a Common Lisp library to convert geographic coordinates between
13630 latitude/longitude and MGRS.")
13631 (home-page "https://github.com/glv2/mgrs")
13632 (license license:gpl3+))))
13633
13634 (define-public cl-mgrs
13635 (sbcl-package->cl-source-package sbcl-mgrs))
13636
13637 (define-public ecl-mgrs
13638 (sbcl-package->ecl-package sbcl-mgrs))
13639
13640 (define-public sbcl-maidenhead
13641 (let ((commit "b756d235c27b5d6798867aa240318af1a8f35d6d")
13642 (revision "0"))
13643 (package
13644 (name "sbcl-maidenhead")
13645 (version (git-version "1.0" revision commit))
13646 (source
13647 (origin
13648 (method git-fetch)
13649 (uri (git-reference
13650 (url "https://github.com/glv2/maidenhead")
13651 (commit commit)))
13652 (file-name (git-file-name "maidenhead" version))
13653 (sha256
13654 (base32 "02p990zprhjvifmsfk8yh3frvz6xyw26ikzxvzglqdixbal36nr3"))))
13655 (build-system asdf-build-system/sbcl)
13656 (native-inputs
13657 `(("fiveam" ,sbcl-fiveam)))
13658 (synopsis
13659 "Convert coordinates between latitude/longitude and Maidenhead")
13660 (description
13661 "This a Common Lisp library to convert geographic coordinates between
13662 latitude/longitude and Maidenhead locator system.")
13663 (home-page "https://github.com/glv2/maidenhead")
13664 (license license:gpl3+))))
13665
13666 (define-public cl-maidenhead
13667 (sbcl-package->cl-source-package sbcl-maidenhead))
13668
13669 (define-public ecl-maidenhead
13670 (sbcl-package->ecl-package sbcl-maidenhead))
13671
13672 (define-public sbcl-olc
13673 (let ((commit "517e27fa57d9a119b00a29c4b6b31e553deff309")
13674 (revision "0"))
13675 (package
13676 (name "sbcl-olc")
13677 (version (git-version "1.0" revision commit))
13678 (source
13679 (origin
13680 (method git-fetch)
13681 (uri (git-reference
13682 (url "https://github.com/glv2/olc")
13683 (commit commit)))
13684 (file-name (git-file-name "olc" version))
13685 (sha256
13686 (base32 "1lnfhp6z6kc8l605zp4siyjiw74y1h4bdq3jfizi084v505wxhgr"))))
13687 (build-system asdf-build-system/sbcl)
13688 (native-inputs
13689 `(("fiveam" ,sbcl-fiveam)))
13690 (synopsis
13691 "Convert coordinates between latitude/longitude and Open Location Code")
13692 (description
13693 "This a Common Lisp library to convert geographic coordinates between
13694 latitude/longitude and Open Location Code.")
13695 (home-page "https://github.com/glv2/olc")
13696 (license license:gpl3+))))
13697
13698 (define-public cl-olc
13699 (sbcl-package->cl-source-package sbcl-olc))
13700
13701 (define-public ecl-olc
13702 (sbcl-package->ecl-package sbcl-olc))
13703
13704 (define-public sbcl-regex
13705 (let ((commit "fbc9a9f313b9edc1788f33d4b23a29151635ae22"))
13706 (package
13707 (name "sbcl-regex")
13708 (version (git-version "1" "1" commit))
13709 (source
13710 (origin
13711 (method git-fetch)
13712 (uri (git-reference
13713 (url "https://github.com/michaelw/regex/")
13714 (commit commit)))
13715 (file-name (git-file-name name version))
13716 (sha256
13717 (base32 "0wq5wlafrxv13wg28hg5b10sc48b88swsvznpy2zg7x37m4nmm6a"))))
13718 (build-system asdf-build-system/sbcl)
13719 (home-page "https://github.com/michaelw/regex/")
13720 (synopsis "Regular expression engine for Common Lisp")
13721 (description
13722 "This Common Lisp package provides a regular expression engine.")
13723 (license license:bsd-2))))
13724
13725 (define-public cl-regex
13726 (sbcl-package->cl-source-package sbcl-regex))
13727
13728 (define-public ecl-regex
13729 (sbcl-package->ecl-package sbcl-regex))
13730
13731 (define-public sbcl-clawk
13732 (let ((commit "3a91634df686417114044a98c063cbe76bfac7b6"))
13733 (package
13734 (name "sbcl-clawk")
13735 (version (git-version "4" "1" commit))
13736 (source
13737 (origin
13738 (method git-fetch)
13739 (uri (git-reference
13740 (url "https://github.com/sharplispers/clawk")
13741 (commit commit)))
13742 (file-name (git-file-name name version))
13743 (sha256
13744 (base32 "1ph3xjqilvinvgr9q3w47zxqyz1sqnq030nlx7kgkkv8j3bnqk7a"))))
13745 (build-system asdf-build-system/sbcl)
13746 (inputs
13747 `(("sbcl-regex" ,sbcl-regex)))
13748 (home-page "https://github.com/sharplispers/clawk")
13749 (synopsis "Common Lisp AWK")
13750 (description
13751 "CLAWK is an AWK implementation embedded into Common Lisp.")
13752 (license license:bsd-2))))
13753
13754 (define-public cl-clawk
13755 (sbcl-package->cl-source-package sbcl-clawk))
13756
13757 (define-public ecl-clawk
13758 (sbcl-package->ecl-package sbcl-clawk))
13759
13760 (define-public sbcl-check-it
13761 (let ((commit "b79c9103665be3976915b56b570038f03486e62f"))
13762 (package
13763 (name "sbcl-check-it")
13764 (version (git-version "0.1.0" "1" commit))
13765 (source
13766 (origin
13767 (method git-fetch)
13768 (uri (git-reference
13769 (url "https://github.com/DalekBaldwin/check-it/")
13770 (commit commit)))
13771 (file-name (git-file-name name version))
13772 (sha256
13773 (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"))))
13774 (build-system asdf-build-system/sbcl)
13775 (inputs
13776 `(("alexandria" ,sbcl-alexandria)
13777 ("closer-mop" ,sbcl-closer-mop)
13778 ("optima" ,sbcl-optima)))
13779 (native-inputs
13780 `(("stefil" ,sbcl-stefil)))
13781 (home-page "https://github.com/arclanguage/Clamp")
13782 (synopsis "Randomized specification-based testing for Common Lisp")
13783 (description
13784 "This is a randomized property-based testing library for Common Lisp.
13785 Rather than being a full-fledged general test framework in its own right, it's
13786 designed to embed randomized tests in whatever framework you like.")
13787 (license license:llgpl))))
13788
13789 (define-public cl-check-it
13790 (sbcl-package->cl-source-package sbcl-check-it))
13791
13792 (define-public ecl-check-it
13793 (sbcl-package->ecl-package sbcl-check-it))
13794
13795 (define-public sbcl-clamp
13796 (let ((commit "02b8f3953e5753cc61a719807c82f3795cd28fe1"))
13797 (package
13798 (name "sbcl-clamp")
13799 (version (git-version "0.3" "1" commit))
13800 (source
13801 (origin
13802 (method git-fetch)
13803 (uri (git-reference
13804 (url "https://github.com/arclanguage/Clamp")
13805 (commit commit)))
13806 (file-name (git-file-name name version))
13807 (sha256
13808 (base32 "0fdr9nqfmmpxm6hvjdxi1jkclya9xlnrw1yc3cn1m4ww3f50p31m"))))
13809 (build-system asdf-build-system/sbcl)
13810 (inputs
13811 `(("iterate" ,sbcl-iterate)
13812 ("cl-syntax" ,sbcl-cl-syntax)))
13813 (native-inputs
13814 `(("cl-unit" ,sbcl-clunit)
13815 ("check-it" ,sbcl-check-it)))
13816 (arguments
13817 `(#:phases
13818 (modify-phases %standard-phases
13819 (add-after 'unpack 'fix-build
13820 (lambda _
13821 (substitute* "clamp.asd"
13822 (("\\(:file \"read\" :depends-on \\(\"aliases\"\\)\\)")
13823 "(:file \"read\" :depends-on (\"aliases\" \"base\"))"))
13824 #t)))))
13825 (home-page "https://github.com/arclanguage/Clamp")
13826 (synopsis "Common Lisp with Arc macros and procedures")
13827 (description
13828 "Clamp is an attempt to bring the powerful, but verbose, language of
13829 Common Lisp up to the terseness of Arc.
13830
13831 There are two parts to Clamp. There is the core of Clamp, which implements
13832 the utilities of Arc that are easily converted from Arc to Common Lisp. The
13833 other part is the \"experimental\" part. It contains features of Arc that are
13834 not so easy to copy (ssyntax, argument destructuring, etc.).")
13835 (license license:artistic2.0))))
13836
13837 (define-public cl-clamp
13838 (sbcl-package->cl-source-package sbcl-clamp))
13839
13840 (define-public ecl-clamp
13841 (sbcl-package->ecl-package sbcl-clamp))
13842
13843 (define-public sbcl-trivial-shell
13844 (let ((commit "e02ec191b34b52deca5d1c4ee99d4fa13b8772e0"))
13845 (package
13846 (name "sbcl-trivial-shell")
13847 (version (git-version "0.2.0" "1" commit))
13848 (source
13849 (origin
13850 (method git-fetch)
13851 (uri (git-reference
13852 (url "https://github.com/gwkkwg/trivial-shell")
13853 (commit commit)))
13854 (file-name (git-file-name name version))
13855 (sha256
13856 (base32 "08mpkl5ij5sjfsyn8pq2kvsvpvyvr7ha1r8g1224fa667b8k2q85"))))
13857 (build-system asdf-build-system/sbcl)
13858 (native-inputs
13859 `(("lift" ,sbcl-lift)))
13860 (home-page "http://common-lisp.net/project/trivial-shell/")
13861 (synopsis "Common Lisp access to the shell")
13862 (description
13863 "A simple Common-Lisp interface to the underlying operating system.
13864 It's independent of the implementation and operating system.")
13865 (license license:expat))))
13866
13867 (define-public cl-trivial-shell
13868 (sbcl-package->cl-source-package sbcl-trivial-shell))
13869
13870 (define-public ecl-trivial-shell
13871 (sbcl-package->ecl-package sbcl-trivial-shell))
13872
13873 (define-public sbcl-clesh
13874 (let ((commit "44e96e04a72e5bc006dc4eb02ce8962348dd4a11"))
13875 (package
13876 (name "sbcl-clesh")
13877 (version (git-version "0.0.0" "1" commit))
13878 (source
13879 (origin
13880 (method git-fetch)
13881 (uri (git-reference
13882 (url "https://github.com/Neronus/Clesh")
13883 (commit commit)))
13884 (file-name (git-file-name name version))
13885 (sha256
13886 (base32 "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318"))))
13887 (build-system asdf-build-system/sbcl)
13888 (inputs
13889 `(("trivial-shell" ,sbcl-trivial-shell)
13890 ("named-readtables" ,sbcl-named-readtables)))
13891 (home-page "https://github.com/Neronus/Clesh")
13892 (synopsis "Embed shell code in Common Lisp")
13893 (description
13894 "This is a very short and simple program, written in Common Lisp, that
13895 extends Common Lisp to embed shell code in a manner similar to Perl's
13896 backtick. It has been forked from SHELISP.")
13897 (license license:bsd-2))))
13898
13899 (define-public cl-clesh
13900 (sbcl-package->cl-source-package sbcl-clesh))
13901
13902 (define-public ecl-clesh
13903 (sbcl-package->ecl-package sbcl-clesh))
13904
13905 (define-public sbcl-trivial-channels
13906 (let ((commit "e2370118d8983ba69c0360a7695f8f2e2fd6a8a6")
13907 (revision "1"))
13908 (package
13909 (name "sbcl-trivial-channels")
13910 (version (git-version "1.0" revision commit))
13911 (source
13912 (origin
13913 (method git-fetch)
13914 (uri (git-reference
13915 (url "https://github.com/rpav/trivial-channels")
13916 (commit commit)))
13917 (file-name (git-file-name "trivial-channels" version))
13918 (sha256
13919 (base32 "04wnxcgk40x8p0gxnz9arv1a5wasdqrdxa8c4p5v7r2mycfps6jj"))))
13920 (build-system asdf-build-system/sbcl)
13921 (inputs
13922 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13923 ("trivial-timeout" ,sbcl-trivial-timeout)))
13924 (home-page "https://github.com/rpav/trivial-channels")
13925 (synopsis "Common Lisp simple thread-safe channels with timeout")
13926 (description
13927 "It's very basic implementation of channels and queue for Common Lisp.")
13928 (license license:bsd-2))))
13929
13930 (define-public ecl-trivial-channels
13931 (sbcl-package->ecl-package sbcl-trivial-channels))
13932
13933 (define-public cl-trivial-channels
13934 (sbcl-package->cl-source-package sbcl-trivial-channels))
13935
13936 (define-public sbcl-trivial-download
13937 (let ((commit "d2472061d86b1cf3d32f388daacd4e32a13af699"))
13938 (package
13939 (name "sbcl-trivial-download")
13940 (version (git-version "0.3" "1" commit))
13941 (source
13942 (origin
13943 (method git-fetch)
13944 (uri (git-reference
13945 (url "https://github.com/eudoxia0/trivial-download/")
13946 (commit commit)))
13947 (file-name (git-file-name name version))
13948 (sha256
13949 (base32 "06f46zr3gp3wlm2kgxna24qd2gpr1v89x9fynh1x5vrw6c6hqjcv"))))
13950 (build-system asdf-build-system/sbcl)
13951 (inputs
13952 `(("drakma" ,sbcl-drakma)))
13953 (home-page "https://github.com/eudoxia0/trivial-download/")
13954 (synopsis "Download files from Common Lisp")
13955 (description
13956 "@code{trivial-download} allows you to download files from the Internet
13957 from Common Lisp. It provides a progress bar.")
13958 (license license:bsd-2))))
13959
13960 (define-public cl-trivial-download
13961 (sbcl-package->cl-source-package sbcl-trivial-download))
13962
13963 (define-public ecl-trivial-download
13964 (sbcl-package->ecl-package sbcl-trivial-download))
13965
13966 (define-public sbcl-gtwiwtg
13967 (package
13968 (name "sbcl-gtwiwtg")
13969 (version "0.1.1")
13970 (source
13971 (origin
13972 (method git-fetch)
13973 (uri (git-reference
13974 (url "https://github.com/cbeo/gtwiwtg/")
13975 (commit version)))
13976 (file-name (git-file-name name version))
13977 (sha256
13978 (base32 "0lkraw0dwh4is4x5sp5rjrw6f93m0gr9849abrbi12s25ws7jbw4"))))
13979 (build-system asdf-build-system/sbcl)
13980 (native-inputs
13981 `(("osicat" ,sbcl-osicat)
13982 ("prove" ,sbcl-prove)))
13983 (home-page "https://github.com/cbeo/gtwiwtg/")
13984 (synopsis "Naive generators for Common Lisp")
13985 (description
13986 "The GTWIWTG library (Generators The Way I Want Them Generated --
13987 technically not generators, but iterators) is meant to be small, explorable,
13988 and understandable.")
13989 (license license:gpl3)))
13990
13991 (define-public cl-gtwiwtg
13992 (sbcl-package->cl-source-package sbcl-gtwiwtg))
13993
13994 (define-public ecl-gtwiwtg
13995 (sbcl-package->ecl-package sbcl-gtwiwtg))
13996
13997 (define-public sbcl-cl-progress-bar
13998 (let ((commit "9374170858663c8fe829e9fb5a29bd2cb48d95ae"))
13999 (package
14000 (name "sbcl-cl-progress-bar")
14001 (version (git-version "0.0.0" "1" commit))
14002 (source
14003 (origin
14004 (method git-fetch)
14005 (uri (git-reference
14006 (url "https://github.com/sirherrbatka/cl-progress-bar/")
14007 (commit commit)))
14008 (file-name (git-file-name name version))
14009 (sha256
14010 (base32 "1ldb4qhmx431n3lsq71ynwb9ybazbfqd55icjbhi06mj52ngndir"))))
14011 (build-system asdf-build-system/sbcl)
14012 (inputs
14013 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
14014 ("documentation-utils-extensions" ,sbcl-documentation-utils-extensions)))
14015 (home-page "https://github.com/sirherrbatka/cl-progress-bar/")
14016 (synopsis "Progress bars in Common Lisp")
14017 (description
14018 "This library provides almost the same code as used inside Quicklisp
14019 for drawning progress bars")
14020 (license license:expat))))
14021
14022 (define-public cl-progress-bar
14023 (sbcl-package->cl-source-package sbcl-cl-progress-bar))
14024
14025 (define-public ecl-cl-progress-bar
14026 (sbcl-package->ecl-package sbcl-cl-progress-bar))
14027
14028 (define-public sbcl-repl-utilities
14029 (let ((commit "7e300df663177ea4581f4e7e9c601377881dd986"))
14030 (package
14031 (name "sbcl-repl-utilities")
14032 (version (git-version "0.0.0" "1" commit))
14033 (source
14034 (origin
14035 (method git-fetch)
14036 (uri (git-reference
14037 (url "https://github.com/m-n/repl-utilities/")
14038 (commit commit)))
14039 (file-name (git-file-name name version))
14040 (sha256
14041 (base32 "1hh56pq5nw3l4b83dzlyss69f06r038byj2cnjwvci4hfjhdfcc3"))))
14042 (build-system asdf-build-system/sbcl)
14043 (home-page "https://github.com/m-n/repl-utilities")
14044 (synopsis "Ease common tasks at the Common Lisp REPL")
14045 (description
14046 "@code{repl-utilities} is a set of utilities which ease life at the
14047 REPL. It includes three sorts of features: introspective procedures,
14048 miscellaneous utility functions, and, pulling them together, methods to
14049 conveniently keep these symbols and optionally additional symbols available in
14050 whichever package you switch to.")
14051 (license license:bsd-2))))
14052
14053 (define-public cl-repl-utilities
14054 (sbcl-package->cl-source-package sbcl-repl-utilities))
14055
14056 (define-public ecl-repl-utilities
14057 (sbcl-package->ecl-package sbcl-repl-utilities))
14058
14059 (define-public sbcl-supertrace
14060 (let ((commit "66d22c3ff131ecd1c8048dfced1d62ed6024ecb0"))
14061 (package
14062 (name "sbcl-supertrace")
14063 (version (git-version "0.1.0" "1" commit))
14064 (source
14065 (origin
14066 (method git-fetch)
14067 (uri (git-reference
14068 (url "https://github.com/fukamachi/supertrace")
14069 (commit commit)))
14070 (file-name (git-file-name name version))
14071 (sha256
14072 (base32 "0n369n6b7y1m49biccnnr7svymjdsk8sksrkqrn3mj21vgv7s7bg"))))
14073 (build-system asdf-build-system/sbcl)
14074 (native-inputs
14075 `(("cffi-grovel" ,sbcl-cffi)
14076 ("rove" ,sbcl-rove)
14077 ("cl-ppcre" ,sbcl-cl-ppcre)
14078 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
14079 (inputs
14080 `(("cffi" ,sbcl-cffi)))
14081 (home-page "https://github.com/fukamachi/supertrace")
14082 (synopsis "Improved Common Lisp tracing for debugging and profiling")
14083 (description
14084 "Supertrace provides a superior Common Lisp @code{trace} functionality
14085 for debugging and profiling real world applications.")
14086 (license license:bsd-2))))
14087
14088 (define-public cl-supertrace
14089 (sbcl-package->cl-source-package sbcl-supertrace))
14090
14091 (define-public ecl-supertrace
14092 (sbcl-package->ecl-package sbcl-supertrace))
14093
14094 (define-public sbcl-trivial-benchmark
14095 (let ((commit "42d76733dd2e873471c6f1e27d39113293f7dd5c"))
14096 (package
14097 (name "sbcl-trivial-benchmark")
14098 (version (git-version "2.0.0" "1" commit))
14099 (source
14100 (origin
14101 (method git-fetch)
14102 (uri (git-reference
14103 (url "https://github.com/Shinmera/trivial-benchmark/")
14104 (commit commit)))
14105 (file-name (git-file-name name version))
14106 (sha256
14107 (base32 "0fbzqbpm2ixz85555krl36kbbbjyn699vdj6k383khi3g9y629fa"))))
14108 (build-system asdf-build-system/sbcl)
14109 (inputs
14110 `(("alexandria" ,sbcl-alexandria)))
14111 (home-page "http://shinmera.github.io/trivial-benchmark/")
14112 (synopsis "Easy to use benchmarking system for Common Lisp")
14113 (description
14114 "Trivial-Benchmark runs a block of code many times and outputs some
14115 statistical data for it. On SBCL this includes the data from @code{time}, for
14116 all other implementations just the @code{real-time} and @code{run-time} data.
14117 However, you can extend the system by adding your own @code{metrics} to it, or
14118 even by adding additional statistical @code{compute}ations. ")
14119 (license license:zlib))))
14120
14121 (define-public cl-trivial-benchmark
14122 (sbcl-package->cl-source-package sbcl-trivial-benchmark))
14123
14124 (define-public ecl-trivial-benchmark
14125 (sbcl-package->ecl-package sbcl-trivial-benchmark))
14126
14127 (define-public sbcl-glyphs
14128 (let ((commit "1ff5714e8c1dca327bc604dfe3e3d1f4b7755373"))
14129 (package
14130 (name "sbcl-glyphs")
14131 (version (git-version "0.0.0" "1" commit))
14132 (source
14133 (origin
14134 (method git-fetch)
14135 (uri (git-reference
14136 (url "https://github.com/ahungry/glyphs/")
14137 (commit commit)))
14138 (file-name (git-file-name name version))
14139 (sha256
14140 (base32 "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf"))))
14141 (build-system asdf-build-system/sbcl)
14142 (inputs
14143 `(("cl-ppcre" ,sbcl-cl-ppcre)
14144 ("parenscript" ,sbcl-parenscript)
14145 ("named-readtables" ,sbcl-named-readtables)))
14146 (home-page "https://github.com/ahungry/glyphs/")
14147 (synopsis "Reduce Common Lisp verbosity")
14148 (description
14149 "This library is a little experiment in reducing verbosity in Common
14150 Lisp, inspired by BODOL (@url{https://github.com/bodil/BODOL}).")
14151 (license license:gpl3))))
14152
14153 (define-public cl-glyphs
14154 (sbcl-package->cl-source-package sbcl-glyphs))
14155
14156 (define-public ecl-glyphs
14157 (sbcl-package->ecl-package sbcl-glyphs))
14158
14159 (define-public sbcl-zs3
14160 (package
14161 (name "sbcl-zs3")
14162 (version "1.3.3")
14163 (source
14164 (origin
14165 (method git-fetch)
14166 (uri
14167 (git-reference
14168 (url "https://github.com/xach/zs3")
14169 (commit (string-append "release-" version))))
14170 (file-name (git-file-name "zs3" version))
14171 (sha256
14172 (base32 "186v95wgsj2hkxdw2jl9x1w4fddjclp7arp0rrd9vf5ly8h8sbf3"))))
14173 (build-system asdf-build-system/sbcl)
14174 (inputs
14175 `(("drakma" ,sbcl-drakma)
14176 ("alexandria" ,sbcl-alexandria)
14177 ("cxml" ,sbcl-cxml)
14178 ("ironclad" ,sbcl-ironclad)
14179 ("puri" ,sbcl-puri)
14180 ("cl-base64" ,sbcl-cl-base64)))
14181 (synopsis "Work with Amazon S3 and Amazon CloudFront from Common Lisp")
14182 (description "This is ZS3, a library for working with Amazon's Simple Storage
14183 Service (S3) and CloudFront service from Common Lisp.")
14184 (home-page "https://github.com/xach/zs3")
14185 (license license:bsd-2)))
14186
14187 (define-public cl-zs3
14188 (sbcl-package->cl-source-package sbcl-zs3))
14189
14190 (define-public ecl-zs3
14191 (sbcl-package->ecl-package sbcl-zs3))
14192
14193 (define-public sbcl-simple-neural-network
14194 (package
14195 (name "sbcl-simple-neural-network")
14196 (version "3.1")
14197 (source
14198 (origin
14199 (method git-fetch)
14200 (uri (git-reference
14201 (url "https://github.com/glv2/simple-neural-network")
14202 (commit (string-append "v" version))))
14203 (file-name (git-file-name "simple-neural-network" version))
14204 (sha256
14205 (base32 "1jj1c90fr5clwka0jv32hv6xp1bkdlpa6x5jh19an13rhx8ll4zr"))))
14206 (build-system asdf-build-system/sbcl)
14207 (native-inputs
14208 `(("chipz" ,sbcl-chipz)
14209 ("fiveam" ,sbcl-fiveam)))
14210 (inputs
14211 `(("cl-store" ,sbcl-cl-store)
14212 ("lparallel" ,sbcl-lparallel)))
14213 (arguments
14214 `(#:phases
14215 (modify-phases %standard-phases
14216 (add-after 'check 'remove-test-data
14217 (lambda* (#:key outputs #:allow-other-keys)
14218 (let ((out (assoc-ref outputs "out")))
14219 (for-each delete-file (find-files out "\\.gz$"))))))))
14220 (synopsis "Simple neural network in Common Lisp")
14221 (description
14222 "@code{simple-neural-network} is a Common Lisp library for creating,
14223 training and using basic neural networks. The networks created by this
14224 library are feedforward neural networks trained using backpropagation.")
14225 (home-page "https://github.com/glv2/simple-neural-network")
14226 (license license:gpl3+)))
14227
14228 (define-public cl-simple-neural-network
14229 (sbcl-package->cl-source-package sbcl-simple-neural-network))
14230
14231 (define-public ecl-simple-neural-network
14232 (sbcl-package->ecl-package sbcl-simple-neural-network))
14233
14234 (define-public sbcl-zstd
14235 (let ((commit "d144582c581aaa52bac24d6686af27fa3e781e06")
14236 (revision "1"))
14237 (package
14238 (name "sbcl-zstd")
14239 (version (git-version "1.0" revision commit))
14240 (source
14241 (origin
14242 (method git-fetch)
14243 (uri (git-reference
14244 (url "https://github.com/glv2/cl-zstd")
14245 (commit commit)))
14246 (file-name (git-file-name "cl-zstd" version))
14247 (sha256
14248 (base32 "1774jy8hzbi6nih3sq6vchk66f7g8w86dwgpbvljyfzcnkcaz6ql"))))
14249 (build-system asdf-build-system/sbcl)
14250 (native-inputs
14251 `(("fiveam" ,sbcl-fiveam)))
14252 (inputs
14253 `(("cffi" ,sbcl-cffi)
14254 ("cl-octet-streams" ,sbcl-cl-octet-streams)
14255 ("zstd-lib" ,zstd "lib")))
14256 (arguments
14257 '(#:phases
14258 (modify-phases %standard-phases
14259 (add-after 'unpack 'fix-paths
14260 (lambda* (#:key inputs #:allow-other-keys)
14261 (substitute* "src/libzstd.lisp"
14262 (("libzstd\\.so")
14263 (string-append (assoc-ref inputs "zstd-lib")
14264 "/lib/libzstd.so")))
14265 #t)))))
14266 (synopsis "Common Lisp library for Zstandard (de)compression")
14267 (description
14268 "This Common Lisp library provides functions for Zstandard
14269 compression/decompression using bindings to the libzstd C library.")
14270 (home-page "https://github.com/glv2/cl-zstd")
14271 (license license:gpl3+))))
14272
14273 (define-public cl-zstd
14274 (sbcl-package->cl-source-package sbcl-zstd))
14275
14276 (define-public ecl-zstd
14277 (sbcl-package->ecl-package sbcl-zstd))
14278
14279 (define-public sbcl-agnostic-lizard
14280 (let ((commit "fe3a73719f05901c8819f8995a3ebae738257952")
14281 (revision "1"))
14282 (package
14283 (name "sbcl-agnostic-lizard")
14284 (version (git-version "0.0.0" revision commit))
14285 (source
14286 (origin
14287 (method git-fetch)
14288 (uri (git-reference
14289 (url "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
14290 (commit commit)))
14291 (file-name (git-file-name name version))
14292 (sha256
14293 (base32 "0ax78y8w4zlp5dcwyhz2nq7j3shi49qn31dkfg8lv2jlg7mkwh2d"))))
14294 (build-system asdf-build-system/sbcl)
14295 (synopsis "Almost correct portable code walker for Common Lisp")
14296 (description
14297 "Agnostic Lizard is a portable implementation of a code walker and in
14298 particular of the macroexpand-all function (and macro) that makes a best
14299 effort to be correct while not expecting much beyond what the Common Lisp
14300 standard requires.
14301
14302 It aims to be implementation-agnostic and to climb the syntax trees.")
14303 (home-page "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
14304 (license license:gpl3+))))
14305
14306 (define-public cl-agnostic-lizard
14307 (sbcl-package->cl-source-package sbcl-agnostic-lizard))
14308
14309 (define-public ecl-agnostic-lizard
14310 (sbcl-package->ecl-package sbcl-agnostic-lizard))
14311
14312 (define-public sbcl-dynamic-classes
14313 (package
14314 (name "sbcl-dynamic-classes")
14315 (version "1.0.2")
14316 (source
14317 (origin
14318 (method git-fetch)
14319 (uri (git-reference
14320 (url "https://github.com/gwkkwg/dynamic-classes")
14321 (commit (string-append "version-" version))))
14322 (file-name (git-file-name "dynamic-classes" version))
14323 (sha256
14324 (base32 "1z3ag6w4ff0v6715xa9zhvwjqnp4i6zrjfmxdz8m115sklbwgm6c"))))
14325 (build-system asdf-build-system/sbcl)
14326 (inputs
14327 `(("metatilities-base" ,sbcl-metatilities-base)))
14328 (arguments
14329 ;; NOTE: (Sharlatan-20210106222900+0000) Circular dependencies and failing
14330 ;; test suites. lift-standard.config contains referances to deprecated
14331 ;; functionality.
14332 `(#:tests? #f))
14333 (home-page "https://common-lisp.net/project/dynamic-classes/")
14334 (synopsis "Dynamic class definition for Common Lisp")
14335 (description "Dynamic-Classes helps to ease the prototyping process by
14336 bringing dynamism to class definition.")
14337 (license license:expat)))
14338
14339 (define-public ecl-dynamic-classes
14340 (sbcl-package->ecl-package sbcl-dynamic-classes))
14341
14342 (define-public cl-dynamic-classes
14343 (sbcl-package->cl-source-package sbcl-dynamic-classes))
14344
14345 (define-public sbcl-cl-markdown
14346 ;; NOTE: (Sharlatan-20210106214629+0000) latest version tag
14347 ;; "version-0.10.6_version-0.10.6" is failing to build due to missing system
14348 ;; #:container-dynamic-classes
14349 (package
14350 (name "sbcl-cl-markdown")
14351 (version "0.10.4")
14352 (source
14353 (origin
14354 (method git-fetch)
14355 (uri (git-reference
14356 (url "https://github.com/gwkkwg/cl-markdown")
14357 (commit (string-append "version-" version))))
14358 (file-name (git-file-name "cl-markdown" version))
14359 (sha256
14360 (base32 "1wdjbdd1zyskxf7zlilcp6fmwkivybj0wjp64vvzb265d5xi7p8p"))))
14361 (build-system asdf-build-system/sbcl)
14362 (inputs
14363 `(("anaphora" ,sbcl-anaphora)
14364 ("cl-containers" ,sbcl-cl-containers)
14365 ("cl-ppcre" ,sbcl-cl-ppcre)
14366 ("dynamic-classes" ,sbcl-dynamic-classes)
14367 ("metabang-bind" ,sbcl-metabang-bind)
14368 ("metatilities-base" ,sbcl-metatilities-base)))
14369 (arguments
14370 ;; NOTE: (Sharlatan-20210107213629+0000) Tests depend on too many not
14371 ;; available systems, which themself are abandoned.
14372 `(#:tests? #f))
14373 (home-page "https://common-lisp.net/project/cl-markdown/")
14374 (synopsis "Common Lisp rewrite of Markdown")
14375 (description
14376 "This is an implementation of a Markdown parser in Common Lisp.")
14377 (license license:expat)))
14378
14379 (define-public ecl-cl-markdown
14380 (sbcl-package->ecl-package sbcl-cl-markdown))
14381
14382 (define-public cl-markdown
14383 (sbcl-package->cl-source-package sbcl-cl-markdown))
14384
14385 (define-public sbcl-magicffi
14386 (let ((commit "d88f2f280c31f639e4e05be75215d8a8dce6aef2"))
14387 (package
14388 (name "sbcl-magicffi")
14389 (version (git-version "0.0.0" "1" commit))
14390 (source
14391 (origin
14392 (method git-fetch)
14393 (uri (git-reference
14394 (url "https://github.com/dochang/magicffi/")
14395 (commit commit)))
14396 (file-name (git-file-name name version))
14397 (sha256
14398 (base32 "0p6ysa92fk34bhxpw7bycbfgw150fv11z9x8jr9xb4lh8cm2hvp6"))))
14399 (build-system asdf-build-system/sbcl)
14400 (native-inputs
14401 `(("alexandria" ,sbcl-alexandria)))
14402 (inputs
14403 `(("cffi" ,sbcl-cffi)
14404 ("ppcre" ,sbcl-cl-ppcre)
14405 ("libmagic" ,file)))
14406 (arguments
14407 `(#:phases
14408 (modify-phases %standard-phases
14409 (add-after 'unpack 'fix-paths
14410 (lambda* (#:key inputs #:allow-other-keys)
14411 (let ((magic (assoc-ref inputs "libmagic")))
14412 (substitute* "grovel.lisp"
14413 (("/usr/include/magic.h")
14414 (string-append magic "/include/magic.h")))
14415 (substitute* "api.lisp"
14416 ((":default \"libmagic\"" all)
14417 (string-append ":default \"" magic "/lib/libmagic\"")))))))))
14418 (home-page "https://common-lisp.net/project/magicffi/")
14419 (synopsis "Common Lisp interface to libmagic based on CFFI")
14420 (description
14421 "MAGICFFI is a Common Lisp CFFI interface to libmagic(3), the file type
14422 determination library using @emph{magic} numbers.")
14423 (license license:bsd-2))))
14424
14425 (define-public ecl-magicffi
14426 (sbcl-package->ecl-package sbcl-magicffi))
14427
14428 (define-public cl-magicffi
14429 (sbcl-package->cl-source-package sbcl-magicffi))
14430
14431 (define-public sbcl-shlex
14432 (let ((commit "3dee1cb7c0140fa7660ca7a3b2ac5e75d1218e5c")
14433 (revision "2"))
14434 (package
14435 (name "sbcl-shlex")
14436 (version (git-version "0.0.0" revision commit))
14437 (source
14438 (origin
14439 (method git-fetch)
14440 (uri (git-reference
14441 (url "https://github.com/ruricolist/cl-shlex")
14442 (commit commit)))
14443 (file-name (git-file-name "cl-shlex" version))
14444 (sha256
14445 (base32 "16ag48sswgimr1fzr582vhym4s03idpd4lkydw5s58lv80ibpim8"))))
14446 (build-system asdf-build-system/sbcl)
14447 (inputs
14448 `(("alexandria" ,sbcl-alexandria)
14449 ("serapeum" ,sbcl-serapeum)
14450 ("ppcre" ,sbcl-cl-ppcre)
14451 ("unicode" ,sbcl-cl-unicode)))
14452 (home-page "https://github.com/ruricolist/cl-shlex")
14453 (synopsis "Common Lisp lexical analyzer for shell-like syntaxes")
14454 (description
14455 "This library contains a lexer for syntaxes that use shell-like rules
14456 for quoting and commenting. It is a port of the @code{shlex} module from Python’s
14457 standard library.")
14458 (license license:expat))))
14459
14460 (define-public ecl-shlex
14461 (sbcl-package->ecl-package sbcl-shlex))
14462
14463 (define-public cl-shlex
14464 (sbcl-package->cl-source-package sbcl-shlex))
14465
14466 (define-public sbcl-cmd
14467 (let ((commit "bc5a3bee8f22917126e4c3d05b33f766e562dbd8"))
14468 (package
14469 (name "sbcl-cmd")
14470 (version (git-version "0.0.1" "3" commit))
14471 (source
14472 (origin
14473 (method git-fetch)
14474 (uri (git-reference
14475 (url "https://github.com/ruricolist/cmd/")
14476 (commit commit)))
14477 (file-name (git-file-name name version))
14478 (sha256
14479 (base32 "1sjlabrknw1kjb2y89vssjhcqh3slgly8wnr3152zgis8lsj2yc7"))))
14480 (build-system asdf-build-system/sbcl)
14481 (inputs
14482 `(("alexandria" ,sbcl-alexandria)
14483 ("coreutils" ,coreutils)
14484 ("procps" ,procps)
14485 ("serapeum" ,sbcl-serapeum)
14486 ("shlex" ,sbcl-shlex)
14487 ("trivia" ,sbcl-trivia)))
14488 (arguments
14489 `(#:phases
14490 (modify-phases %standard-phases
14491 (add-after 'unpack 'fix-paths
14492 (lambda* (#:key inputs #:allow-other-keys)
14493 (let ((bin (string-append (assoc-ref inputs "coreutils") "/bin"))
14494 (ps-bin (string-append (assoc-ref inputs "procps") "/bin")))
14495 (substitute* "cmd.lisp"
14496 (("\\(def \\+env\\+ \"env\"\\)")
14497 (format #f "(def +env+ \"~a/env\")" bin))
14498 (("\\(def \\+kill\\+ \"kill\"\\)")
14499 (format #f "(def +kill+ \"~a/kill\")" bin))
14500 (("\\(def \\+ps\\+ \"ps\"\\)")
14501 (format #f "(def +ps+ \"~a/ps\")" ps-bin))
14502 (("\\(def \\+pwd\\+ \"pwd\"\\)")
14503 (format #f "(def +pwd+ \"~a/pwd\")" bin))
14504 (("\\(def \\+sh\\+ \"/bin/sh\"\\)")
14505 (format #f "(def +sh+ \"~a\")" (which "sh")))
14506 (("\\(def \\+tr\\+ \"tr\"\\)")
14507 (format #f "(def +tr+ \"~a/tr\")" bin)))))))))
14508 (home-page "https://github.com/ruricolist/cmd")
14509 (synopsis "Conveniently run external programs from Common Lisp")
14510 (description
14511 "A utility for running external programs, built on UIOP.
14512 Cmd is designed to be natural to use, protect against shell interpolation and
14513 be usable from multi-threaded programs.")
14514 (license license:expat))))
14515
14516 (define-public ecl-cmd
14517 (sbcl-package->ecl-package sbcl-cmd))
14518
14519 (define-public cl-cmd
14520 (sbcl-package->cl-source-package sbcl-cmd))
14521
14522 (define-public sbcl-ppath
14523 (let ((commit "eb1a8173b4d1d691ea9a7699412123462f58c3ce"))
14524 (package
14525 (name "sbcl-ppath")
14526 (version (git-version "0.1" "1" commit))
14527 (source
14528 (origin
14529 (method git-fetch)
14530 (uri (git-reference
14531 (url "https://github.com/fourier/ppath/")
14532 (commit commit)))
14533 (file-name (git-file-name name commit))
14534 (sha256
14535 (base32 "1c46q9lmzqv14z80d3fwdawgn3pn4922x31fyqvsvbcjm4hd16fb"))))
14536 (build-system asdf-build-system/sbcl)
14537 (inputs
14538 `(("alexandria" ,sbcl-alexandria)
14539 ("cffi" ,sbcl-cffi)
14540 ("osicat" ,sbcl-osicat)
14541 ("ppcre" ,sbcl-cl-ppcre)
14542 ("split-sequence" ,sbcl-split-sequence)
14543 ("trivial-features" ,sbcl-trivial-features)))
14544 (native-inputs
14545 `(("cl-fad" ,sbcl-cl-fad)
14546 ("prove" ,sbcl-prove)))
14547 (home-page "https://github.com/fourier/ppath")
14548 (synopsis "Common Lisp's implementation of the Python's os.path module")
14549 (description
14550 "This library is a path strings manipulation library inspired by
14551 Python's @code{os.path}. All functionality from @code{os.path} is supported on
14552 major operation systems.
14553
14554 The philosophy behind is to use simple strings and \"dumb\" string
14555 manipulation functions to handle paths and filenames. Where possible the
14556 corresponding OS system functions are called.")
14557 (license license:bsd-2))))
14558
14559 (define-public ecl-ppath
14560 (sbcl-package->ecl-package sbcl-ppath))
14561
14562 (define-public cl-ppath
14563 (sbcl-package->cl-source-package sbcl-ppath))
14564
14565 (define-public sbcl-trivial-escapes
14566 (let ((commit "1eca78da2078495d09893be58c28b3aa7b8cc4d1"))
14567 (package
14568 (name "sbcl-trivial-escapes")
14569 (version (git-version "1.2.0" "1" commit))
14570 (source
14571 (origin
14572 (method git-fetch)
14573 (uri (git-reference
14574 (url "https://github.com/williamyaoh/trivial-escapes")
14575 (commit commit)))
14576 (file-name (git-file-name name commit))
14577 (sha256
14578 (base32 "0v6h8lk17iqv1qkxgqjyzn8gi6v0hvq2vmfbb01md3zjvjqxn6lr"))))
14579 (build-system asdf-build-system/sbcl)
14580 (inputs
14581 `(("named-readtables" ,sbcl-named-readtables)))
14582 (native-inputs
14583 `(("fiveam" ,sbcl-fiveam)))
14584 (home-page "https://github.com/williamyaoh/trivial-escapes")
14585 (synopsis "C-style escape directives for Common Lisp")
14586 (description
14587 "This Common Lisp library interprets escape characters the same way that
14588 most other programming language do.
14589 It provides four readtables. The default one lets you write strings like this:
14590 @code{#\"This string has\na newline in it!\"}.")
14591 (license license:public-domain))))
14592
14593 (define-public ecl-trivial-escapes
14594 (sbcl-package->ecl-package sbcl-trivial-escapes))
14595
14596 (define-public cl-trivial-escapes
14597 (sbcl-package->cl-source-package sbcl-trivial-escapes))
14598
14599 (define-public sbcl-cl-indentify
14600 (let ((commit "eb770f434defa4cd41d84bca822428dfd0dbac53"))
14601 (package
14602 (name "sbcl-cl-indentify")
14603 (version (git-version "0.1" "1" commit))
14604 (source
14605 (origin
14606 (method git-fetch)
14607 (uri (git-reference
14608 (url "https://github.com/yitzchak/cl-indentify")
14609 (commit commit)))
14610 (file-name (git-file-name name commit))
14611 (sha256
14612 (base32 "0ha36bhg474vr76vfhr13szc8cfdj1ickg92k1icz791bqaqg67p"))))
14613 (build-system asdf-build-system/sbcl)
14614 (inputs
14615 `(("alexandria" ,sbcl-alexandria)
14616 ("command-line-arguments" ,sbcl-command-line-arguments)
14617 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
14618 (native-inputs
14619 `(("trivial-escapes" ,sbcl-trivial-escapes)
14620 ("rove" ,sbcl-rove)))
14621 (home-page "https://github.com/yitzchak/cl-indentify")
14622 (synopsis "Code beautifier for Common Lisp")
14623 (description
14624 "A library and command line utility to automatically indent Common Lisp
14625 source files.")
14626 (license license:expat))))
14627
14628 (define-public ecl-cl-indentify
14629 (sbcl-package->ecl-package sbcl-cl-indentify))
14630
14631 (define-public cl-indentify
14632 (sbcl-package->cl-source-package sbcl-cl-indentify))
14633
14634 (define-public sbcl-concrete-syntax-tree
14635 (let ((commit "abd242a59dadc5452aa9dbc1d313c83ec2c11f46"))
14636 (package
14637 (name "sbcl-concrete-syntax-tree")
14638 (version (git-version "0.0.0" "1" commit))
14639 (source
14640 (origin
14641 (method git-fetch)
14642 (uri (git-reference
14643 (url "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14644 (commit commit)))
14645 (file-name (git-file-name name commit))
14646 (sha256
14647 (base32 "1lyrglc3h1if44gxd9cwv90wa90nrdjvb7fry39b1xn8ywdfa7di"))))
14648 (build-system asdf-build-system/sbcl)
14649 (inputs
14650 `(("acclimation" ,sbcl-acclimation)))
14651 (home-page "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14652 (synopsis "Parse Common Lisp code into a concrete syntax tree")
14653 (description
14654 "This library is intended to solve the problem of source tracking for
14655 Common Lisp code.
14656
14657 By \"source tracking\", it is meant that code elements that have a known
14658 origin in the form of a position in a file or in an editor buffer are
14659 associated with some kind of information about this origin.
14660
14661 Since the exact nature of such origin information depends on the Common Lisp
14662 implementation and the purpose of wanting to track that origin, the library
14663 does not impose a particular structure of this information. Instead, it
14664 provides utilities for manipulating source code in the form of what is called
14665 concrete syntax trees (CSTs for short) that preserve this information about
14666 the origin.")
14667 (license license:bsd-2))))
14668
14669 (define-public ecl-concrete-syntax-tree
14670 (sbcl-package->ecl-package sbcl-concrete-syntax-tree))
14671
14672 (define-public cl-concrete-syntax-tree
14673 (sbcl-package->cl-source-package sbcl-concrete-syntax-tree))
14674
14675 (define-public sbcl-eclector
14676 (package
14677 (name "sbcl-eclector")
14678 (version "0.5.0")
14679 (source
14680 (origin
14681 (method git-fetch)
14682 (uri (git-reference
14683 (url "https://github.com/s-expressionists/Eclector")
14684 (commit version)))
14685 (file-name (git-file-name name version))
14686 (sha256
14687 (base32 "0bwkla0jdp5bg0q1zca5wg22b0nbdmglgax345nrhsf8bdrh47wm"))))
14688 (build-system asdf-build-system/sbcl)
14689 (inputs
14690 `(("acclimation" ,sbcl-acclimation)
14691 ("alexandria" ,sbcl-alexandria)
14692 ("closer-mop" ,sbcl-closer-mop)
14693 ("concrete-syntax-tree" ,sbcl-concrete-syntax-tree)))
14694 (native-inputs
14695 `(("fiveam" ,sbcl-fiveam)))
14696 (arguments
14697 '(#:asd-systems '("eclector"
14698 "eclector-concrete-syntax-tree")))
14699 (home-page "https://s-expressionists.github.io/Eclector/")
14700 (synopsis "Highly customizable, portable Common Lisp reader")
14701 (description
14702 "Eclector is a portable Common Lisp reader that is highly customizable,
14703 can recover from errors and can return concrete syntax trees.
14704
14705 In contrast to many other reader implementations, eclector can recover from
14706 most errors in the input supplied to it and continue reading. This capability
14707 is realized as a restart.
14708
14709 It can also produce instances of the concrete syntax tree classes provided by
14710 the concrete syntax tree library.")
14711 (license license:bsd-2)))
14712
14713 (define-public ecl-eclector
14714 (sbcl-package->ecl-package sbcl-eclector))
14715
14716 (define-public cl-eclector
14717 (sbcl-package->cl-source-package sbcl-eclector))
14718
14719 (define-public sbcl-jsown
14720 (let ((commit "744c4407bef58dfa876d9da0b5c0205d869e7977"))
14721 (package
14722 (name "sbcl-jsown")
14723 (version (git-version "1.0.1" "1" commit))
14724 (source
14725 (origin
14726 (method git-fetch)
14727 (uri (git-reference
14728 (url "https://github.com/madnificent/jsown")
14729 (commit commit)))
14730 (file-name (git-file-name name commit))
14731 (sha256
14732 (base32 "0gadvmf1d9bq35s61z76psrsnzwwk12svi66jigf491hv48wigw7"))))
14733 (build-system asdf-build-system/sbcl)
14734 (home-page "https://github.com/madnificent/jsown")
14735 (synopsis "Fast JSON reader / writer library for Common Lisp")
14736 (description
14737 "@code{jsown} is a high performance Common Lisp JSON parser. Its aim
14738 is to allow for the fast parsing of JSON objects in Common Lisp. Recently,
14739 functions and macros have been added to ease the burden of writing and editing
14740 @code{jsown} objects.
14741
14742 @code{jsown} allows you to parse JSON objects quickly to a modifiable Lisp
14743 list and write them back. If you only need partial retrieval of objects,
14744 @code{jsown} allows you to select the keys which you would like to see parsed.
14745 @code{jsown} also has a JSON writer and some helper methods to alter the JSON
14746 objects themselves.")
14747 (license license:expat))))
14748
14749 (define-public ecl-jsown
14750 (sbcl-package->ecl-package sbcl-jsown))
14751
14752 (define-public cl-jsown
14753 (sbcl-package->cl-source-package sbcl-jsown))
14754
14755 (define-public sbcl-system-locale
14756 (let ((commit "4b334bc2fa45651bcaa28ae7d9331095d6bf0a17"))
14757 (package
14758 (name "sbcl-system-locale")
14759 (version (git-version "1.0.0" "1" commit))
14760 (source
14761 (origin
14762 (method git-fetch)
14763 (uri (git-reference
14764 (url "https://github.com/Shinmera/system-locale/")
14765 (commit commit)))
14766 (file-name (git-file-name name commit))
14767 (sha256
14768 (base32 "00p5c053kmgq4ks6l9mxsqz6g3bjcybvkvj0bh3r90qgpkaawm1p"))))
14769 (build-system asdf-build-system/sbcl)
14770 (inputs
14771 `(("documentation-utils" ,sbcl-documentation-utils)))
14772 (home-page "https://shinmera.github.io/system-locale/")
14773 (synopsis "Get the system's locale and language settings in Common Lisp")
14774 (description
14775 "This library retrieves locale information configured on the
14776 system. This is helpful if you want to write applications and libraries that
14777 display messages in the user's native language.")
14778 (license license:zlib))))
14779
14780 (define-public ecl-system-locale
14781 (sbcl-package->ecl-package sbcl-system-locale))
14782
14783 (define-public cl-system-locale
14784 (sbcl-package->cl-source-package sbcl-system-locale))
14785
14786 (define-public sbcl-language-codes
14787 (let ((commit "e7aa0e37cb97a3d37d6bc7316b479d01bff8f42e"))
14788 (package
14789 (name "sbcl-language-codes")
14790 (version (git-version "1.0.0" "1" commit))
14791 (source
14792 (origin
14793 (method git-fetch)
14794 (uri (git-reference
14795 (url "https://github.com/Shinmera/language-codes")
14796 (commit commit)))
14797 (file-name (git-file-name name commit))
14798 (sha256
14799 (base32 "0py176ibmsc01n5r0q1bs1ykqf5jwdbh8kx0j1a814l9y51241v0"))))
14800 (build-system asdf-build-system/sbcl)
14801 (inputs
14802 `(("documentation-utils" ,sbcl-documentation-utils)))
14803 (home-page "https://shinmera.github.io/language-codes/")
14804 (synopsis "Map ISO language codes to language names in Common Lisp")
14805 (description
14806 "This is a small library providing the ISO-639 language code to
14807 language name mapping.")
14808 (license license:zlib))))
14809
14810 (define-public ecl-language-codes
14811 (sbcl-package->ecl-package sbcl-language-codes))
14812
14813 (define-public cl-language-codes
14814 (sbcl-package->cl-source-package sbcl-language-codes))
14815
14816 (define-public sbcl-multilang-documentation
14817 (let ((commit "59e798a07e949e8957a20927f52aca425d84e4a0"))
14818 (package
14819 (name "sbcl-multilang-documentation")
14820 (version (git-version "1.0.0" "1" commit))
14821 (source
14822 (origin
14823 (method git-fetch)
14824 (uri (git-reference
14825 (url "https://github.com/Shinmera/multilang-documentation")
14826 (commit commit)))
14827 (file-name (git-file-name name commit))
14828 (sha256
14829 (base32 "13y5jskx8n2b7kimpfarr8v777w3b7zj5swg1b99nj3hk0843ixw"))))
14830 (build-system asdf-build-system/sbcl)
14831 (inputs
14832 `(("documentation-utils" ,sbcl-documentation-utils)
14833 ("language-codes" ,sbcl-language-codes)
14834 ("system-locale" ,sbcl-system-locale)))
14835 (home-page "https://shinmera.github.io/multilang-documentation/")
14836 (synopsis "Add multiple languages support to Common Lisp documentation")
14837 (description
14838 "This library provides a drop-in replacement function for
14839 cl:documentation that supports multiple docstrings per-language, allowing you
14840 to write documentation that can be internationalised.")
14841 (license license:zlib))))
14842
14843 (define-public ecl-multilang-documentation
14844 (sbcl-package->ecl-package sbcl-multilang-documentation))
14845
14846 (define-public cl-multilang-documentation
14847 (sbcl-package->cl-source-package sbcl-multilang-documentation))
14848
14849 (define-public sbcl-trivial-do
14850 (let ((commit "03a1729f1e71bad3ebcf6cf098a0cce52dfa1163"))
14851 (package
14852 (name "sbcl-trivial-do")
14853 (version (git-version "0.1" "1" commit))
14854 (source
14855 (origin
14856 (method git-fetch)
14857 (uri (git-reference
14858 (url "https://github.com/yitzchak/trivial-do")
14859 (commit commit)))
14860 (file-name (git-file-name name commit))
14861 (sha256
14862 (base32 "1ffva79nkicc7wc8c2ic5nayis3b2rk5sxzj74yjkymkjgbpcrgd"))))
14863 (build-system asdf-build-system/sbcl)
14864 (home-page "https://github.com/yitzchak/trivial-do")
14865 (synopsis "Additional dolist style macros for Common Lisp")
14866 (description
14867 "Additional dolist style macros for Common Lisp, such as
14868 @code{doalist}, @code{dohash}, @code{dolist*}, @code{doplist}, @code{doseq}
14869 and @code{doseq*}.")
14870 (license license:zlib))))
14871
14872 (define-public ecl-trivial-do
14873 (sbcl-package->ecl-package sbcl-trivial-do))
14874
14875 (define-public cl-trivial-do
14876 (sbcl-package->cl-source-package sbcl-trivial-do))
14877
14878 (define-public sbcl-common-lisp-jupyter
14879 (let ((commit "011f60b69a3b8c70eefeafe7acb724cd00dd3e62"))
14880 (package
14881 (name "sbcl-common-lisp-jupyter")
14882 (version (git-version "0.1" "2" commit))
14883 (source
14884 (origin
14885 (method git-fetch)
14886 (uri (git-reference
14887 (url "https://github.com/yitzchak/common-lisp-jupyter")
14888 (commit commit)))
14889 (file-name (git-file-name name commit))
14890 (sha256
14891 (base32 "10jdghlcmp9p6ygrvw7g49i8f9jy71ybzn29n544fzb6g47siqhw"))))
14892 (build-system asdf-build-system/sbcl)
14893 (inputs
14894 `(("alexandria" ,sbcl-alexandria)
14895 ("babel" ,sbcl-babel)
14896 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14897 ("cl-base64" ,sbcl-cl-base64)
14898 ("cl-indentify" ,sbcl-cl-indentify)
14899 ("closer-mop" ,sbcl-closer-mop)
14900 ("eclector" ,sbcl-eclector)
14901 ("ironclad" ,sbcl-ironclad)
14902 ("iterate" ,sbcl-iterate)
14903 ("jsown" ,sbcl-jsown)
14904 ("multilang-documentation" ,sbcl-multilang-documentation)
14905 ("pzmq" ,sbcl-pzmq)
14906 ("puri" ,sbcl-puri)
14907 ("static-vectors" ,sbcl-static-vectors)
14908 ("trivial-do" ,sbcl-trivial-do)
14909 ("trivial-garbage" ,sbcl-trivial-garbage)
14910 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
14911 ("trivial-mimes" ,sbcl-trivial-mimes)))
14912 (home-page "https://yitzchak.github.io/common-lisp-jupyter/")
14913 (synopsis "Common Lisp kernel for Jupyter")
14914 (description
14915 "This is a Common Lisp kernel for Jupyter along with a library for
14916 building Jupyter kernels, based on Maxima-Jupyter which was based on
14917 @code{cl-jupyter}.")
14918 (license license:zlib))))
14919
14920 (define-public ecl-common-lisp-jupyter
14921 (sbcl-package->ecl-package sbcl-common-lisp-jupyter))
14922
14923 (define-public cl-common-lisp-jupyter
14924 (sbcl-package->cl-source-package sbcl-common-lisp-jupyter))
14925
14926 (define-public sbcl-radiance
14927 (let ((commit "5ffbe1f157edd17a13194495099efd81e052df85")
14928 (revision "1"))
14929 (package
14930 (name "sbcl-radiance")
14931 (version (git-version "2.1.2" revision commit))
14932 (source
14933 (origin
14934 (method git-fetch)
14935 (uri (git-reference
14936 (url "https://github.com/Shirakumo/radiance")
14937 (commit commit)))
14938 (file-name (git-file-name "radiance" version))
14939 (sha256
14940 (base32 "0hbkcnmnlj1cqzbv18zmla2iwbl65kxilz9764hndf8x8as1539c"))))
14941 (build-system asdf-build-system/sbcl)
14942 (arguments
14943 `(#:tests? #f ; TODO: The tests require some configuration.
14944 #:phases
14945 (modify-phases %standard-phases
14946 (add-after 'unpack 'disable-quicklisp
14947 (lambda _
14948 ;; Disable the automatic installation of systems by Quicklisp.
14949 ;; (Maybe there would be a way to package Quicklisp and make it
14950 ;; install things in the user's directory instead of
14951 ;; /gnu/store/...).
14952 (substitute* "interfaces.lisp"
14953 (("\\(unless \\(asdf:find-system configured-implementation NIL\\)"
14954 all)
14955 (string-append "#+quicklisp " all))))))))
14956 (native-inputs
14957 `(("alexandria" ,sbcl-alexandria)
14958 ("dexador" ,sbcl-dexador)
14959 ("parachute" ,sbcl-parachute)
14960 ("verbose" ,sbcl-verbose)))
14961 (inputs
14962 `(("babel" ,sbcl-babel)
14963 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14964 ("cl-ppcre" ,sbcl-cl-ppcre)
14965 ("closer-mop" ,sbcl-closer-mop)
14966 ("documentation-utils" ,sbcl-documentation-utils)
14967 ("deploy" ,sbcl-deploy)
14968 ("form-fiddle" ,sbcl-form-fiddle)
14969 ("lambda-fiddle" ,sbcl-lambda-fiddle)
14970 ("local-time" ,sbcl-local-time)
14971 ("modularize-hooks" ,sbcl-modularize-hooks)
14972 ("modularize-interfaces" ,sbcl-modularize-interfaces)
14973 ("puri" ,sbcl-puri)
14974 ("trivial-indent" ,sbcl-trivial-indent)
14975 ("trivial-mimes" ,sbcl-trivial-mimes)
14976 ("ubiquitous-concurrent" ,sbcl-ubiquitous)))
14977 (home-page "https://shirakumo.github.io/radiance/")
14978 (synopsis "Common Lisp web application environment")
14979 (description
14980 "Radiance is a web application environment, which is sort of like a web
14981 framework, but more general, more flexible. It should let you write personal
14982 websites and generally deployable applications easily and in such a way that
14983 they can be used on practically any setup without having to undergo special
14984 adaptations.")
14985 (license license:zlib))))
14986
14987 (define-public ecl-radiance
14988 (sbcl-package->ecl-package sbcl-radiance))
14989
14990 (define-public cl-radiance
14991 (sbcl-package->cl-source-package sbcl-radiance))
14992
14993 (define-public sbcl-daemon
14994 (let ((commit "d5652f4332c3cee21e9bf83b9237129605004597")
14995 (revision "1"))
14996 (package
14997 (name "sbcl-daemon")
14998 (version (git-version "0.0.4" revision commit))
14999 (source
15000 (origin
15001 (method git-fetch)
15002 (uri (git-reference
15003 (url "https://github.com/snmsts/daemon")
15004 (commit commit)))
15005 (file-name (git-file-name "daemon" version))
15006 (sha256
15007 (base32 "1kdxfnhh9fz34j8qs7pn7mwjz3v33q4v9nh0hqkyzraq5xs2j3f4"))))
15008 (build-system asdf-build-system/sbcl)
15009 (inputs
15010 `(("trivial-features" ,sbcl-trivial-features)))
15011 (home-page "https://github.com/snmsts/daemon")
15012 (synopsis "Daemonize Common Lisp processes")
15013 (description
15014 "DAEMON provides the functionality of daemonizing Common Lisp processes
15015 on UNIX like platforms.")
15016 (license license:expat))))
15017
15018 (define-public ecl-daemon
15019 (sbcl-package->ecl-package sbcl-daemon))
15020
15021 (define-public cl-daemon
15022 (sbcl-package->cl-source-package sbcl-daemon))
15023
15024 (define-public sbcl-file-attributes
15025 (let ((commit "bbde396438f37d676de9775239115410bec4da2d"))
15026 (package
15027 (name "sbcl-file-attributes")
15028 (version (git-version "1.0.0" "2" commit))
15029 (source
15030 (origin
15031 (method git-fetch)
15032 (uri (git-reference
15033 (url "https://github.com/Shinmera/file-attributes/")
15034 (commit commit)))
15035 (file-name (git-file-name name version))
15036 (sha256
15037 (base32 "0n8q818ry2shggjfhp8gjby8v5mla9pg97c5g19pcglpnwim7a74"))))
15038 (build-system asdf-build-system/sbcl)
15039 (inputs
15040 `(("cffi" ,sbcl-cffi)
15041 ("documentation-utils" ,sbcl-documentation-utils)
15042 ("trivial-features" ,sbcl-trivial-features)))
15043 (home-page "https://shinmera.github.io/file-attributes/")
15044 (synopsis "Access to common file attributes in Common Lisp")
15045 (description
15046 "This is a small OS portability library to retrieve and set file
15047 attributes not supported by the Common Lisp standard functions.")
15048 (license license:zlib))))
15049
15050 (define-public ecl-file-attributes
15051 (sbcl-package->ecl-package sbcl-file-attributes))
15052
15053 (define-public cl-file-attributes
15054 (sbcl-package->cl-source-package sbcl-file-attributes))
15055
15056 (define-public sbcl-cl-difflib
15057 (let ((commit "98eb335c693f1881584b83ca7be4a0fe05355c4e")
15058 (revision "0"))
15059 (package
15060 (name "sbcl-cl-difflib")
15061 (version (git-version "0.2" revision commit))
15062 (source
15063 (origin
15064 (method git-fetch)
15065 (uri (git-reference
15066 (url "https://github.com/wiseman/cl-difflib")
15067 (commit commit)))
15068 (file-name
15069 (git-file-name name version))
15070 (sha256
15071 (base32 "08if0abhqg191xcz9s7xv8faqq51nswzp8hw423fkqjzr24pmq48"))))
15072 (build-system asdf-build-system/sbcl)
15073 ;; Due to the age of this library tests use some deprecated
15074 ;; functionality and keep failing.
15075 (arguments
15076 '(#:tests? #f
15077 #:asd-files '("cl-difflib.asd")))
15078 (home-page "https://github.com/wiseman/cl-difflib")
15079 (synopsis "Compute differences between pairs of sequences")
15080 (description
15081 "A Common Lisp library for computing differences between
15082 sequences based on the Python difflib module.")
15083 (license license:expat))))
15084
15085 (define-public ecl-cl-difflib
15086 (sbcl-package->ecl-package sbcl-cl-difflib))
15087
15088 (define-public cl-difflib
15089 (sbcl-package->cl-source-package sbcl-cl-difflib))
15090
15091 (define-public sbcl-cl-html-diff
15092 (let ((commit "5a0b39d1c524278d6f60851d7786bb2585614310")
15093 (revision "0"))
15094 (package
15095 (name "sbcl-cl-html-diff")
15096 (version (git-version "0.1" revision commit))
15097 (source
15098 (origin
15099 (method git-fetch)
15100 (uri (git-reference
15101 (url "https://github.com/wiseman/cl-html-diff")
15102 (commit commit)))
15103 (file-name
15104 (git-file-name name version))
15105 (sha256
15106 (base32 "1varnijivzd4jpimn1cz8p5ks713zzha5cgl4vmb0xr8ahravwzb"))))
15107 (build-system asdf-build-system/sbcl)
15108 (inputs
15109 `(("cl-difflib" ,sbcl-cl-difflib)))
15110 (home-page "https://github.com/wiseman/cl-html-diff")
15111 (synopsis "Generate a human-readable diff of two HTML documents")
15112 (description
15113 "A Common Lisp library for generating a human-readable diff of two
15114 HTML documents.")
15115 (license license:expat))))
15116
15117 (define-public ecl-cl-html-diff
15118 (sbcl-package->ecl-package sbcl-cl-html-diff))
15119
15120 (define-public cl-html-diff
15121 (sbcl-package->cl-source-package sbcl-cl-html-diff))
15122
15123 (define-public sbcl-tooter
15124 (let ((commit "b8d4b245b1d946bc9da6f51a3d8c2dc43e4d3868")
15125 (revision "1"))
15126 (package
15127 (name "sbcl-tooter")
15128 (version (git-version "1.0.0" revision commit))
15129 (source
15130 (origin
15131 (method git-fetch)
15132 (uri (git-reference
15133 (url "https://github.com/Shinmera/tooter")
15134 (commit commit)))
15135 (file-name (git-file-name "tooter" version))
15136 (sha256
15137 (base32 "0g40dlis4dbw4p3zxz3scx27b9zm8zlzihywapf5zqrdqfx5hpq9"))))
15138 (build-system asdf-build-system/sbcl)
15139 (inputs
15140 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
15141 ("sbcl-documentation-utils" ,sbcl-documentation-utils)
15142 ("sbcl-drakma" ,sbcl-drakma)
15143 ("sbcl-yason" ,sbcl-yason)))
15144 (synopsis "Common Lisp client library for Mastodon instances")
15145 (description
15146 "This is a Common Lisp library implementing the full v1 REST API
15147 protocol for Mastodon.")
15148 (home-page "https://shinmera.github.io/tooter/")
15149 (license license:zlib))))
15150
15151 (define-public ecl-tooter
15152 (sbcl-package->ecl-package sbcl-tooter))
15153
15154 (define-public cl-tooter
15155 (sbcl-package->cl-source-package sbcl-tooter))
15156
15157 (define-public sbcl-croatoan
15158 (let ((commit "7077ef14d27e8708515ad8d309886f516e7fbd98")
15159 (revision "2"))
15160 (package
15161 (name "sbcl-croatoan")
15162 (version (git-version "0.0.1" revision commit))
15163 (source
15164 (origin
15165 (method git-fetch)
15166 (uri (git-reference
15167 (url "https://github.com/McParen/croatoan")
15168 (commit commit)))
15169 (file-name (git-file-name "croatoan" version))
15170 (sha256
15171 (base32 "0gf2sjpsdkd9s8imwy2wjrkdx82a5sc4yy9bndlnjlwmdraw4j37"))))
15172 (build-system asdf-build-system/sbcl)
15173 (arguments
15174 '(#:phases
15175 (modify-phases %standard-phases
15176 (add-after 'unpack 'fix-paths
15177 (lambda* (#:key inputs #:allow-other-keys)
15178 (substitute* "ncurses/ncurses.lisp"
15179 (("libncursesw" all)
15180 (string-append (assoc-ref inputs "ncurses")
15181 "/lib/"
15182 all))))))))
15183 (inputs
15184 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
15185 ("cffi" ,sbcl-cffi)
15186 ("ncurses" ,ncurses)
15187 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
15188 (synopsis "Common Lisp bindings for the ncurses terminal library")
15189 (description "Croatoan provides high-level Common Lisp CLOS bindings for
15190 the ncurses terminal library.")
15191 (home-page "https://github.com/McParen/croatoan")
15192 (license license:expat))))
15193
15194 (define-public ecl-croatoan
15195 (sbcl-package->ecl-package sbcl-croatoan))
15196
15197 (define-public cl-croatoan
15198 (sbcl-package->cl-source-package sbcl-croatoan))
15199
15200 (define-public sbcl-cl-spark
15201 (let ((commit "4e34bcebdcf8e45265986eb43ad4ad03bb41a581")
15202 (revision "1"))
15203 (package
15204 (name "sbcl-cl-spark")
15205 (version (git-version "0.1.13" revision commit))
15206 (source
15207 (origin
15208 (method git-fetch)
15209 (uri (git-reference
15210 (url "https://github.com/tkych/cl-spark")
15211 (commit commit)))
15212 (file-name (git-file-name "cl-spark" version))
15213 (sha256
15214 (base32 "0my1fsgi2rjaqkpk934f2bjy63pmnj7faza3fzvnk6k3l66y19nk"))))
15215 (build-system asdf-build-system/sbcl)
15216 (native-inputs
15217 `(("fiveam" ,sbcl-fiveam)))
15218 (synopsis "Common Lisp library to make histograms")
15219 (description "This is a Common Lisp library to make histograms using
15220 UTF-8 block characters.")
15221 (home-page "https://github.com/tkych/cl-spark")
15222 (license license:expat))))
15223
15224 (define-public ecl-cl-spark
15225 (sbcl-package->ecl-package sbcl-cl-spark))
15226
15227 (define-public cl-spark
15228 (sbcl-package->cl-source-package sbcl-cl-spark))
15229
15230 (define-public sbcl-access
15231 (let ((commit "1b26db3760018cdc4624f880f0a1e0155d8f6c50")
15232 (revision "1"))
15233 (package
15234 (name "sbcl-access")
15235 (version (git-version "1.5.0" revision commit))
15236 (source
15237 (origin
15238 (method git-fetch)
15239 (uri (git-reference
15240 (url "https://github.com/sharplispers/access")
15241 (commit commit)))
15242 (file-name (git-file-name "access" version))
15243 (sha256
15244 (base32 "1knd3n4mpzkc97i1znbas32pscd30416isvmx2pjmgvar6k93pl5"))))
15245 (build-system asdf-build-system/sbcl)
15246 (native-inputs
15247 `(("lisp-unit2" ,sbcl-lisp-unit2)))
15248 (inputs
15249 `(("alexandria" ,sbcl-alexandria)
15250 ("anaphora" ,sbcl-anaphora)
15251 ("closer-mop" ,sbcl-closer-mop)
15252 ("interpol" ,sbcl-cl-interpol)
15253 ("iterate" ,sbcl-iterate)))
15254 (synopsis
15255 "Common lisp library to unify access to dictionary-like structures")
15256 (description
15257 "This is a Common lisp library to unify access to the most common
15258 dictionary-like data structures.")
15259 (home-page "https://github.com/sharplispers/access")
15260 (license license:bsd-3))))
15261
15262 (define-public ecl-access
15263 (sbcl-package->ecl-package sbcl-access))
15264
15265 (define-public cl-access
15266 (sbcl-package->cl-source-package sbcl-access))
15267
15268 (define-public sbcl-sxql-composer
15269 (let ((commit "2b2230cb01ae1b68e28921d99e4814046867fb75")
15270 (revision "1"))
15271 (package
15272 (name "sbcl-sxql-composer")
15273 (version (git-version "0.1" revision commit))
15274 (source
15275 (origin
15276 (method git-fetch)
15277 (uri (git-reference
15278 (url "https://github.com/mmontone/sxql-composer")
15279 (commit commit)))
15280 (file-name (git-file-name "sxql-composer" version))
15281 (sha256
15282 (base32 "1agkrj3ymskzc3c7pxbrj123d1kygjqcls145m0ap3i07q96hh1r"))))
15283 (build-system asdf-build-system/sbcl)
15284 (inputs
15285 `(("sxql" ,sbcl-sxql)))
15286 (synopsis "Build and compose SXQL queries dynamically")
15287 (description
15288 "This is a Common Lisp library to build and compose SXQL queries
15289 dynamically.")
15290 (home-page "https://github.com/mmontone/sxql-composer")
15291 (license license:expat))))
15292
15293 (define-public ecl-sxql-composer
15294 (sbcl-package->ecl-package sbcl-sxql-composer))
15295
15296 (define-public cl-sxql-composer
15297 (sbcl-package->cl-source-package sbcl-sxql-composer))
15298
15299 (define-public sbcl-cl-i18n
15300 (let ((commit "fa0aa5bef8dfbdf2d72f7cc9f49e848ccbb567aa")
15301 (revision "1"))
15302 (package
15303 (name "sbcl-cl-i18n")
15304 (version (git-version "0.5.0" revision commit))
15305 (source
15306 (origin
15307 (method git-fetch)
15308 (uri (git-reference
15309 (url "https://notabug.org/cage/cl-i18n")
15310 (commit commit)))
15311 (file-name (git-file-name "cl-i18n" version))
15312 (sha256
15313 (base32 "1hpsdbb3hd79bzbrnbqgk2j3f0ispxvk91snp08fm2z3f1sds5as"))))
15314 (build-system asdf-build-system/sbcl)
15315 (inputs
15316 `(("alexandria" ,sbcl-alexandria)
15317 ("babel" ,sbcl-babel)
15318 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
15319 (synopsis "Internationalisation framework for Common Lisp")
15320 (description
15321 "This is a Gettext-style internationalisation framework for Common
15322 Lisp.")
15323 (home-page "https://notabug.org/cage/cl-i18n")
15324 (license license:llgpl))))
15325
15326 (define-public ecl-cl-i18n
15327 (sbcl-package->ecl-package sbcl-cl-i18n))
15328
15329 (define-public cl-i18n
15330 (sbcl-package->cl-source-package sbcl-cl-i18n))
15331
15332 (define-public sbcl-crypto-shortcuts
15333 (let ((commit "7efd22d80e867cd8c9f8f363d4fe7b51ee2dadc0")
15334 (revision "1"))
15335 (package
15336 (name "sbcl-crypto-shortcuts")
15337 (version (git-version "2.0.0" revision commit))
15338 (source
15339 (origin
15340 (method git-fetch)
15341 (uri (git-reference
15342 (url "https://github.com/Shinmera/crypto-shortcuts")
15343 (commit commit)))
15344 (file-name (git-file-name "crypto-shortcuts" version))
15345 (sha256
15346 (base32 "0c0m0ar04jn7qf2v8c4sivamlzki03r13rnxy8b3n27rh9r6hgin"))))
15347 (build-system asdf-build-system/sbcl)
15348 (inputs
15349 `(("cl-base64" ,sbcl-cl-base64)
15350 ("flexi-stream" ,sbcl-flexi-streams)
15351 ("ironclad" ,sbcl-ironclad)))
15352 (synopsis "Collection of common cryptography functions")
15353 (description
15354 "This is a collection of common cryptography functions for Common
15355 Lisp.")
15356 (home-page "https://shinmera.github.io/crypto-shortcuts/")
15357 (license license:zlib))))
15358
15359 (define-public ecl-crypto-shortcuts
15360 (sbcl-package->ecl-package sbcl-crypto-shortcuts))
15361
15362 (define-public cl-crypto-shortcuts
15363 (sbcl-package->cl-source-package sbcl-crypto-shortcuts))
15364
15365 (define-public sbcl-cl-html5-parser
15366 (let ((commit "74a92eb3a183a0afd089ea33350e816e6b9aeefa")
15367 (revision "1"))
15368 (package
15369 (name "sbcl-cl-html5-parser")
15370 (version (git-version "0.0.0" revision commit))
15371 (source
15372 (origin
15373 (method git-fetch)
15374 (uri (git-reference
15375 (url "https://github.com/rotatef/cl-html5-parser")
15376 (commit commit)))
15377 (file-name (git-file-name "cl-html5-parser" version))
15378 (sha256
15379 (base32 "04if61wigylsmn996rbfl8ylsd0d9hzdmg7p2wiglncibjzcl5k9"))))
15380 (build-system asdf-build-system/sbcl)
15381 (arguments
15382 '(#:tests? #f
15383 #:asd-systems '("cl-html5-parser")))
15384 (inputs
15385 `(("cl-ppcre" ,sbcl-cl-ppcre)
15386 ("flexi-stream" ,sbcl-flexi-streams)
15387 ("string-case" ,sbcl-string-case)))
15388 (synopsis "HTML5 parser for Common Lisp")
15389 (description "This a Common Lisp library to parse HTML5 documents.")
15390 (home-page "https://github.com/rotatef/cl-html5-parser")
15391 (license license:lgpl3+))))
15392
15393 (define-public ecl-cl-html5-parser
15394 (sbcl-package->ecl-package sbcl-cl-html5-parser))
15395
15396 (define-public cl-html5-parser
15397 (sbcl-package->cl-source-package sbcl-cl-html5-parser))
15398
15399 (define-public sbcl-percent-encoding
15400 (let ((commit "c1224e22bc8048fbd3ebbc9329715a0c1b673170")
15401 (revision "1"))
15402 (package
15403 (name "sbcl-percent-encoding")
15404 (version (git-version "0.1" revision commit))
15405 (source
15406 (origin
15407 (method git-fetch)
15408 (uri (git-reference
15409 (url "https://github.com/llibra/percent-encoding")
15410 (commit commit)))
15411 (file-name (git-file-name "percent-encoding" version))
15412 (sha256
15413 (base32 "0q1lh3sa6mkjr5gcdkgimkpc29rgf9cjhv90f61h8ridj28grq0h"))))
15414 (build-system asdf-build-system/sbcl)
15415 (native-inputs
15416 `(("fiveam" ,sbcl-fiveam)))
15417 (inputs
15418 `(("anaphora" ,sbcl-anaphora)
15419 ("babel" ,sbcl-babel)))
15420 (synopsis "RFC 3986 percent-encoding library")
15421 (description
15422 "This is a Common Lisp library providing RFC 3986 percent-encoding.")
15423 (home-page "https://github.com/llibra/percent-encoding")
15424 (license license:expat))))
15425
15426 (define-public ecl-percent-encoding
15427 (sbcl-package->ecl-package sbcl-percent-encoding))
15428
15429 (define-public cl-percent-encoding
15430 (sbcl-package->cl-source-package sbcl-percent-encoding))
15431
15432 (define-public sbcl-cl-mount-info
15433 (let ((commit "2024f5037a7f63db3e3587dc9972cd7b9318f06b")
15434 (revision "1"))
15435 (package
15436 (name "sbcl-cl-mount-info")
15437 (version (git-version "0.0.1" revision commit))
15438 (source
15439 (origin
15440 (method git-fetch)
15441 (uri (git-reference
15442 (url "https://notabug.org/cage/cl-mount-info.git")
15443 (commit commit)))
15444 (file-name (git-file-name "cl-mount-info" version))
15445 (sha256
15446 (base32 "0vza9gj9q42nzb5v8aj22lmn4aqx9vrddsb5a343nbwfz89hbh9x"))))
15447 (build-system asdf-build-system/sbcl)
15448 (inputs
15449 `(("alexandria" ,sbcl-alexandria)
15450 ("cffi" ,sbcl-cffi)
15451 ("cl-ppcre" ,sbcl-cl-ppcre)))
15452 (home-page "https://notabug.org/cage/cl-mount-info.git")
15453 (synopsis "Library to get information about mounted filesystems")
15454 (description
15455 "CL-MOUNT-INFO is a Common Lisp wrapper around @code{getmntent(3)} and
15456 related C functions to get information about the mounted file system.")
15457 (license license:lgpl3))))
15458
15459 (define-public ecl-cl-mount-info
15460 (sbcl-package->ecl-package sbcl-cl-mount-info))
15461
15462 (define-public cl-mount-info
15463 (sbcl-package->cl-source-package sbcl-cl-mount-info))
15464
15465 (define-public sbcl-cl-diskspace
15466 (let ((commit "2dce2d0387d58221c452bd76c7b9b7a7de81ef55")
15467 (revision "1"))
15468 (package
15469 (name "sbcl-cl-diskspace")
15470 (version (git-version "0.3.1" revision commit))
15471 (source
15472 (origin
15473 (method git-fetch)
15474 (uri (git-reference
15475 (url "https://github.com/muyinliu/cl-diskspace")
15476 (commit commit)))
15477 (file-name (git-file-name "cl-diskspace" version))
15478 (sha256
15479 (base32 "0l19hxqw6b8i5i1jdbr45k1xib9axcwdagsp3y8wkb35g6wwc0s7"))))
15480 (build-system asdf-build-system/sbcl)
15481 (arguments
15482 `(#:phases
15483 (modify-phases %standard-phases
15484 (add-after 'unpack 'fix-paths
15485 (lambda* (#:key inputs #:allow-other-keys)
15486 (substitute* "src/unix/cl-diskspace-list-all-disks-with-df.lisp"
15487 (("grep")
15488 (string-append (assoc-ref inputs "grep") "/bin/grep")))
15489 (substitute* "src/unix/cl-diskspace-list-all-disks-with-df.lisp"
15490 (("/bin/df")
15491 (which "df")))
15492 #t)))))
15493 (inputs
15494 `(("cl-ppcre" ,sbcl-cl-ppcre)
15495 ("cffi" ,sbcl-cffi)
15496 ("grep" ,grep)))
15497 (home-page "https://github.com/muyinliu/cl-diskspace")
15498 (synopsis "Disk space information library for Common Lisp")
15499 (description
15500 "CL-DISKSPACE is a Common Lisp library to list disks with the command
15501 line tool @code{df} and get disk space information using @code{statvfs}.")
15502 (license license:isc))))
15503
15504 (define-public ecl-cl-diskspace
15505 (sbcl-package->ecl-package sbcl-cl-diskspace))
15506
15507 (define-public cl-diskspace
15508 (sbcl-package->cl-source-package sbcl-cl-diskspace))
15509
15510 (define-public sbcl-cl-cpus
15511 (package
15512 (name "sbcl-cl-cpus")
15513 (version "0.0.3")
15514 (source
15515 (origin
15516 (method git-fetch)
15517 (uri (git-reference
15518 (url "https://github.com/muyinliu/cl-cpus")
15519 (commit (string-append "v" version))))
15520 (file-name (git-file-name "cl-cpus" version))
15521 (sha256
15522 (base32 "0sdaff9hpsx7bpkkkqavmxmrrlc2d61gmqjjgn8xchncng4a0rf8"))))
15523 (build-system asdf-build-system/sbcl)
15524 (inputs
15525 `(("cffi" ,sbcl-cffi)))
15526 (home-page "https://github.com/muyinliu/cl-cpus")
15527 (synopsis "Common Lisp feature to get number of CPUs")
15528 (description
15529 "This package provides a Common Lisp system which has only one function to
15530 return the CPU count of the current system.")
15531 (license license:isc)))
15532
15533 (define-public ecl-cl-cpus
15534 (sbcl-package->ecl-package sbcl-cl-cpus))
15535
15536 (define-public cl-cpus
15537 (sbcl-package->cl-source-package sbcl-cl-cpus))
15538
15539 (define-public sbcl-fof
15540 (package
15541 (name "sbcl-fof")
15542 (version "0.1.0")
15543 (source
15544 (origin
15545 (method git-fetch)
15546 (uri (git-reference
15547 (url "https://gitlab.com/ambrevar/fof")
15548 (commit version)))
15549 (file-name (git-file-name name version))
15550 (sha256
15551 (base32 "1xdnlqrjfmgdgw58avkci881iwarv4am2vq09b14pfifmpxpzv10"))))
15552 (build-system asdf-build-system/sbcl)
15553 (arguments
15554 `(#:phases
15555 (modify-phases %standard-phases
15556 (add-after 'unpack 'fix-paths
15557 (lambda* (#:key inputs #:allow-other-keys)
15558 (substitute* "ffprobe.lisp"
15559 (("\\(defvar \\*ffprobe-command\\* \"ffprobe\"\\)")
15560 (format #f "(defvar *ffprobe-command* \"~a/bin/ffprobe\")"
15561 (assoc-ref inputs "ffmpeg") )))
15562 #t)))))
15563 (inputs
15564 `(("alexandria" ,sbcl-alexandria)
15565 ("hu.dwim.defclass-star" ,sbcl-hu.dwim.defclass-star)
15566 ("local-time" ,sbcl-local-time)
15567 ("magicffi" ,sbcl-magicffi)
15568 ("osicat" ,sbcl-osicat)
15569 ("serapeum" ,sbcl-serapeum)
15570 ("str" ,sbcl-cl-str)
15571 ("trivia" ,sbcl-trivia)
15572 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)
15573 ;; Non-CL deps:
15574 ("ffmpeg" ,ffmpeg)))
15575 (home-page "https://gitlab.com/ambrevar/fof")
15576 (synopsis "File object finder library for Common Lisp")
15577 (description
15578 "This library enable rapid file search, inspection and manipulation
15579 straight from the REPL.
15580 It aims at replacing Unix tools such as @code{find} or @code{du}.
15581 It also offers a replacement to the @code{pathname} Common Lisp API.
15582 Slot writers which commit changes to disk, e.g. permissions, modification
15583 time, etc.")
15584 (license license:gpl3+)))
15585
15586 (define-public ecl-fof
15587 (sbcl-package->ecl-package sbcl-fof))
15588
15589 (define-public cl-fof
15590 (sbcl-package->cl-source-package sbcl-fof))
15591
15592 (define-public sbcl-computable-reals
15593 (let ((commit "fdc73d75e79d0a4ce6d01c822c950ae2eb137d39"))
15594 (package
15595 (name "sbcl-computable-reals")
15596 (version (git-version "1.1.0" "1" commit))
15597 (source
15598 (origin
15599 (method git-fetch)
15600 (uri (git-reference
15601 (url "https://github.com/stylewarning/computable-reals")
15602 (commit commit)))
15603 (file-name (git-file-name name version))
15604 (sha256
15605 (base32 "0f12axi53x14l12dgf4a1lfq3p1fx7fh7sjfc0db3lk88ph9qfwl"))))
15606 (build-system asdf-build-system/sbcl)
15607 (home-page "https://github.com/stylewarning/computable-reals")
15608 (synopsis "Arbitrary-precision, re-computing real-numbers in Common Lisp")
15609 (description
15610 "This library provides arbitrary precision (floating point) real
15611 numbers in Common Lisp.")
15612 (license license:bsd-3))))
15613
15614 (define-public ecl-computable-reals
15615 (sbcl-package->ecl-package sbcl-computable-reals))
15616
15617 (define-public cl-computable-reals
15618 (sbcl-package->cl-source-package sbcl-computable-reals))
15619
15620 (define-public sbcl-html-template
15621 (package
15622 (name "sbcl-html-template")
15623 (version "0.9.2")
15624 (source
15625 (origin
15626 (method git-fetch)
15627 (uri (git-reference
15628 (url "https://github.com/edicl/html-template")
15629 (commit (string-append "v" version))))
15630 (file-name (git-file-name name version))
15631 (sha256
15632 (base32 "0wz3czvjsn4x971dsiia9f9nvvcmbkablcl75zsvxndkimc93wxb"))))
15633 (build-system asdf-build-system/sbcl)
15634 (home-page "https://edicl.github.io/html-template/")
15635 (synopsis "HTML templates from Common Lisp")
15636 (description
15637 "HTML-TEMPLATE is a Common Lisp library which can be used to fill
15638 templates with arbitrary (string) values at runtime. The result does not have
15639 to be HTML.
15640
15641 It is loosely modeled after the Perl module @code{HTML::Template} and
15642 partially compatible with a its syntax, though both libraries contain some
15643 extensions that the other does not support.
15644
15645 HTML-TEMPLATE translates templates into efficient closures which can be
15646 re-used as often as needed. It uses a cache mechanism so you can update
15647 templates while your program is running and have the changes take effect
15648 immediately.")
15649 (license license:bsd-2)))
15650
15651 (define-public ecl-html-template
15652 (sbcl-package->ecl-package sbcl-html-template))
15653
15654 (define-public cl-html-template
15655 (sbcl-package->cl-source-package sbcl-html-template))
15656
15657 (define-public sbcl-quickproject
15658 (package
15659 (name "sbcl-quickproject")
15660 (version "1.4.1")
15661 (source
15662 (origin
15663 (method git-fetch)
15664 (uri (git-reference
15665 (url "https://github.com/xach/quickproject")
15666 (commit (string-append "release-" version))))
15667 (file-name (git-file-name name version))
15668 (sha256
15669 (base32 "1szs8p2wr1yr9mjmj3h3557l6wxzzga0iszimb68z0hb1jj3lva6"))))
15670 (build-system asdf-build-system/sbcl)
15671 (inputs
15672 `(("cl-fad" ,sbcl-cl-fad)
15673 ("html-template" ,sbcl-html-template)))
15674 (arguments
15675 '(#:asd-files '("quickproject.asd")))
15676 (home-page "https://xach.com/lisp/quickproject/")
15677 (synopsis "Create Common Lisp project skeletons")
15678 (description
15679 "Quickproject provides a quick way to make a Common Lisp project. After
15680 creating a project, it extends the ASDF registry so the project may be
15681 immediately loaded.")
15682 (license license:expat)))
15683
15684 (define-public ecl-quickproject
15685 (sbcl-package->ecl-package sbcl-quickproject))
15686
15687 (define-public cl-quickproject
15688 (sbcl-package->cl-source-package sbcl-quickproject))
15689
15690 (define-public sbcl-bodge-math
15691 (let ((commit "9159b7faf88d440024c07110dbef2abddb20b9af")
15692 (revision "1"))
15693 (package
15694 (name "sbcl-bodge-math")
15695 (version (git-version "1.0.0" revision commit))
15696 (source
15697 (origin
15698 (method git-fetch)
15699 (uri (git-reference
15700 (url "https://github.com/borodust/bodge-math")
15701 (commit commit)))
15702 (file-name (git-file-name "bodge-math" version))
15703 (sha256
15704 (base32 "0r3vnl9lywn4ksy34apcv6j825qp7l1naddawr14v4lwacndb80v"))))
15705 (build-system asdf-build-system/sbcl)
15706 (inputs
15707 `(("bodge-utilities" ,sbcl-bodge-utilities)
15708 ("rtg-math" ,sbcl-rtg-math)))
15709 (home-page "https://github.com/borodust/bodge-math")
15710 (synopsis "Common Lisp core math utilities of BODGE library collection")
15711 (description
15712 "This Common Lisp package contains the core math utilities of the
15713 @emph{Bodge} library collection.")
15714 (license license:expat))))
15715
15716 (define-public ecl-bodge-math
15717 (sbcl-package->ecl-package sbcl-bodge-math))
15718
15719 (define-public cl-bodge-math
15720 (sbcl-package->cl-source-package sbcl-bodge-math))
15721
15722 (define-public sbcl-bodge-blobs-support
15723 (let ((commit "c5034ca5f4fc3a44dbadeba215a09afd59a404b0")
15724 (revision "1"))
15725 (package
15726 (name "sbcl-bodge-blobs-support")
15727 (version (git-version "1.0.0" revision commit))
15728 (source
15729 (origin
15730 (method git-fetch)
15731 (uri (git-reference
15732 (url "https://github.com/borodust/bodge-blobs-support")
15733 (commit commit)))
15734 (file-name (git-file-name "bodge-blobs-support" version))
15735 (sha256
15736 (base32 "02nd1x6y1akp1ymv1y4z9ympwbnpd1drwi4f86xbjszxqff6jyj8"))))
15737 (build-system asdf-build-system/sbcl)
15738 (native-inputs
15739 `(("trivial-features" ,sbcl-trivial-features)))
15740 (inputs
15741 `(("cffi" ,sbcl-cffi)
15742 ("sbcl-alexandria" ,sbcl-alexandria)))
15743 (home-page "https://github.com/borodust/bodge-blobs-support")
15744 (synopsis "Common Lisp utilities for blob packages")
15745 (description
15746 "This is a Common Lisp library for simplifying packaging and loading of
15747 compiled foreign library collection.")
15748 (license license:unlicense))))
15749
15750 (define-public cl-bodge-blobs-support
15751 (sbcl-package->cl-source-package sbcl-bodge-blobs-support))
15752
15753 (define-public ecl-bodge-blobs-support
15754 (sbcl-package->ecl-package sbcl-bodge-blobs-support))
15755
15756 (define-public sbcl-cl-conspack
15757 (let ((commit "fc8473bc6f929696b03b43820596b7c976c4678e")
15758 (revision "1"))
15759 (package
15760 (name "sbcl-cl-conspack")
15761 (version (git-version "0.0.0" revision commit))
15762 (source
15763 (origin
15764 (method git-fetch)
15765 (uri (git-reference
15766 (url "https://github.com/conspack/cl-conspack")
15767 (commit commit)))
15768 (file-name (git-file-name "cl-conspack" version))
15769 (sha256
15770 (base32 "0b7qzvsrpvnw12hqhjmz0b02sigj0kdjy55j4k7xzmj8684cs8bx"))))
15771 (build-system asdf-build-system/sbcl)
15772 ;; FIXME: (Sharlatan-20210331T220652+0100): Test are disabled because of:
15773 ;;
15774 ;; Error while trying to load definition for system cl-conspack-test
15775 ;; from pathname .../cl-conspack/cl-conspack-test.asd:
15776 ;; Error opening .../checkl/formalize-tmpGHU3ALSV.fasl": Permission denied
15777 ;;
15778 ;; It looks like the issues is in CheckL itself as other packages keep
15779 ;; failing test where it's in use.
15780 (arguments
15781 '(#:tests? #f
15782 #:asd-files '("cl-conspack.asd")))
15783 (native-inputs
15784 `(("checkl" ,sbcl-checkl)))
15785 (inputs
15786 `(("alexandria" ,sbcl-alexandria)
15787 ("closer-mop" ,sbcl-closer-mop)
15788 ("fast-io" ,sbcl-fast-io)
15789 ("ieee-floats" ,sbcl-ieee-floats)
15790 ("trivial-garbage" ,sbcl-trivial-garbage)
15791 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
15792 (home-page "https://github.com/conspack/cl-conspack")
15793 (synopsis "CONSPACK implementation for Common Lisp")
15794 (description
15795 "This package provides a CONSPACK implementation for Common Lisp.")
15796 (license license:bsd-3))))
15797
15798 (define-public ecl-cl-conspack
15799 (sbcl-package->ecl-package sbcl-cl-conspack))
15800
15801 (define-public cl-conspack
15802 (sbcl-package->cl-source-package sbcl-cl-conspack))
15803
15804 (define-public sbcl-cl-opengl
15805 (let ((commit "e2d83e0977b7e7ac3f3d348d8ccc7ccd04e74d59")
15806 (revision "1"))
15807 (package
15808 (name "sbcl-cl-opengl")
15809 (version (git-version "0.1.0" revision commit))
15810 (source
15811 (origin
15812 (method git-fetch)
15813 (uri (git-reference
15814 (url "https://github.com/3b/cl-opengl")
15815 (commit commit)))
15816 (file-name (git-file-name "cl-opengl" version))
15817 (sha256
15818 (base32 "0mhqmll09f079pnd6mgswz9nvr6h5n27d4q7zpmm2igf1v460id7"))))
15819 (build-system asdf-build-system/sbcl)
15820 (arguments
15821 `(#:asd-systems '("cl-opengl" "cl-glu" "cl-glut")
15822 #:phases
15823 (modify-phases %standard-phases
15824 (add-after 'unpack 'patch-lib-path
15825 (lambda* (#:key inputs #:allow-other-keys)
15826 (substitute* "gl/library.lisp"
15827 (("libGL.so" all)
15828 (string-append (assoc-ref inputs "mesa") "/lib/" all)))
15829 (substitute* "glu/library.lisp"
15830 (("libGLU.so" all)
15831 (string-append (assoc-ref inputs "glu") "/lib/" all)))
15832 (substitute* "glut/library.lisp"
15833 (("libglut.so" all)
15834 (string-append (assoc-ref inputs "freeglut") "/lib/" all)))
15835 #t)))))
15836 (inputs
15837 `(("alexandria" ,sbcl-alexandria)
15838 ("cffi" ,sbcl-cffi)
15839 ("float-features" ,sbcl-float-features)
15840 ("freeglut" ,freeglut)
15841 ("glu" ,glu)
15842 ("mesa" ,mesa)))
15843 (home-page "https://github.com/3b/cl-opengl")
15844 (synopsis "Common Lisp bindings to OpenGL, GLU and GLUT APIs")
15845 (description
15846 "This package provides a set of bindings and utilities for accessing the
15847 OpenGL (Mesa), GLU and GLUT (FreeGLUT) APIs using CFFI.")
15848 (license license:bsd-3))))
15849
15850 (define-public ecl-cl-opengl
15851 (sbcl-package->ecl-package sbcl-cl-opengl))
15852
15853 (define-public cl-opengl
15854 (sbcl-package->cl-source-package sbcl-cl-opengl))
15855
15856 (define-public sbcl-shadow
15857 (let ((commit "b2031adbfba3579b48c9d39ad997e19b79b6852f")
15858 (revision "1"))
15859 (package
15860 (name "sbcl-shadow")
15861 (version (git-version "0.0.0" revision commit))
15862 (source
15863 (origin
15864 (method git-fetch)
15865 (uri (git-reference
15866 (url "https://git.mfiano.net/mfiano/shadow")
15867 (commit commit)))
15868 (file-name (git-file-name "shadow" version))
15869 (sha256
15870 (base32 "0w1i734gkdkziin74ql2nhx7jdjxx02ylssaa6qdrvnj4br1124a"))))
15871 (build-system asdf-build-system/sbcl)
15872 (inputs
15873 `(("cffi" ,sbcl-cffi)
15874 ("cl-opengl" ,sbcl-cl-opengl)
15875 ("glsl-packing" ,sbcl-glsl-packing)
15876 ("golden-utils" ,sbcl-golden-utils)
15877 ("static-vectors" ,sbcl-static-vectors)
15878 ("varjo" ,sbcl-varjo)))
15879 (home-page "https://git.mfiano.net/mfiano/shadow")
15880 (synopsis "Management system for OpenGL shader programs")
15881 (description
15882 "This package provides a Common Lisp library for defining OpenGL shader
15883 programs. There are also functions for referencing shader programs by name,
15884 querying for basic information about them, modifying uniform variables
15885 throughout the lifecycle of an OpenGL application, and managing certain OpenGL
15886 buffer object types (UBO, SSBO currently).")
15887 (license license:expat))))
15888
15889 (define-public ecl-shadow
15890 (sbcl-package->ecl-package sbcl-shadow))
15891
15892 (define-public cl-shadow
15893 (sbcl-package->cl-source-package sbcl-shadow))
15894
15895 (define-public sbcl-umbra
15896 (let ((commit "d6ef2f6cbfa26180929061129eaf325bf17f73d8")
15897 (revision "1"))
15898 (package
15899 (name "sbcl-umbra")
15900 (version (git-version "0.0.0" revision commit))
15901 (source
15902 (origin
15903 (method git-fetch)
15904 (uri (git-reference
15905 (url "https://git.mfiano.net/mfiano/umbra")
15906 (commit commit)))
15907 (file-name (git-file-name "umbra" version))
15908 (sha256
15909 (base32 "04vyh2j00zdpb8ryxr8g81wjcmqlz9wrn55r3cypcj4qg970r5wi"))))
15910 (build-system asdf-build-system/sbcl)
15911 (inputs
15912 `(("golden-utils" ,sbcl-golden-utils)
15913 ("shadow" ,sbcl-shadow)
15914 ("varjo" ,sbcl-varjo)))
15915 (home-page "https://git.mfiano.net/mfiano/umbra")
15916 (synopsis "Common Lisp library of reusable GPU shader functions")
15917 (description
15918 "This is a Common Lisp library consisting of a collection of useful GPU
15919 shader functions, written with @code{Shadow}.")
15920 (license license:expat))))
15921
15922 (define-public ecl-umbra
15923 (sbcl-package->ecl-package sbcl-umbra))
15924
15925 (define-public cl-umbra
15926 (sbcl-package->cl-source-package sbcl-umbra))
15927
15928 (define-public sbcl-abstract-classes
15929 (let ((commit "7fa74f1e057f9ba7c1ffecff14f049f979e45267")
15930 (revision "1"))
15931 (package
15932 (name "sbcl-abstract-classes")
15933 (version (git-version "1.7.0" revision commit))
15934 (source
15935 (origin
15936 (method git-fetch)
15937 (uri (git-reference
15938 (url "https://bitbucket.org/eeeickythump/cl-abstract-classes")
15939 (commit commit)))
15940 (file-name (git-file-name "cl-abstract-classes" version))
15941 (sha256
15942 (base32 "06lby4i6xbbgs7kgb0f3fqybvyskyg6djhrf967lnysv7hn3zpg9"))))
15943 (build-system asdf-build-system/sbcl)
15944 (inputs
15945 `(("closer-mop" ,sbcl-closer-mop)))
15946 (arguments
15947 `(#:asd-systems '("abstract-classes" "singleton-classes")))
15948 (home-page "https://bitbucket.org/eeeickythump/cl-abstract-classes")
15949 (synopsis "Abstract, final, and singleton metaclasses for CLOS")
15950 (description
15951 "This package provides Common Lisp extension to the MOP to allow
15952 abstract, final and singleton classes.")
15953 (license license:public-domain))))
15954
15955 (define-public ecl-abstract-classes
15956 (sbcl-package->ecl-package sbcl-abstract-classes))
15957
15958 (define-public cl-abstract-classes
15959 (sbcl-package->cl-source-package sbcl-abstract-classes))
15960
15961 (define-public sbcl-coalton
15962 (let ((commit "4a42ffb4222fde3abfd1b50d96e455ff2eef9fe8")
15963 (revision "1"))
15964 (package
15965 (name "sbcl-coalton")
15966 (version (git-version "0.0.0" revision commit))
15967 (source
15968 (origin
15969 (method git-fetch)
15970 (uri (git-reference
15971 (url "https://github.com/stylewarning/coalton")
15972 (commit commit)))
15973 (file-name (git-file-name "coalton" version))
15974 (sha256
15975 (base32 "0aidwwam7cnhb3p9212zbv5w2dl6kr5iklzanypzr1a9lqaxwdlk"))))
15976 (build-system asdf-build-system/sbcl)
15977 (native-inputs
15978 `(("fiasco" ,sbcl-fiasco)))
15979 (inputs
15980 `(("abstract-classes" ,sbcl-abstract-classes)
15981 ("alexandria" ,sbcl-alexandria)
15982 ("global-vars" ,sbcl-global-vars)
15983 ("optima" ,sbcl-optima)
15984 ("trivial-garbage" ,sbcl-trivial-garbage)))
15985 (home-page "https://github.com/stylewarning/coalton")
15986 (synopsis "Dialect of ML in Common Lisp")
15987 (description
15988 "Coalton is a dialect of ML embedded in Common Lisp. It emphasizes
15989 practicality and interoperability with Lisp, and is intended to be a DSL that
15990 allows one to gradually make their programs safer.")
15991 (license license:expat))))
15992
15993 (define-public ecl-coalton
15994 (sbcl-package->ecl-package sbcl-coalton))
15995
15996 (define-public cl-coalton
15997 (sbcl-package->cl-source-package sbcl-coalton))
15998
15999 (define-public sbcl-clip
16000 (let ((commit "7afa68702fbb99c47ed115ea0faccd97a29d9b2e")
16001 (revision "1"))
16002 (package
16003 (name "sbcl-clip")
16004 (version (git-version "0.7.0" revision commit))
16005 (source
16006 (origin
16007 (method git-fetch)
16008 (uri (git-reference
16009 (url "https://github.com/shinmera/clip")
16010 (commit commit)))
16011 (file-name (git-file-name "clip" version))
16012 (sha256
16013 (base32 "13kkajkva2shm19fvn4yashsw18l6imv2rmy3hmpcky7g5ay7bv3"))))
16014 (build-system asdf-build-system/sbcl)
16015 (inputs
16016 `(("array-utils" ,sbcl-array-utils)
16017 ("lquery" ,sbcl-lquery)))
16018 (home-page "https://shinmera.github.io/clip/")
16019 (synopsis "Common Lisp HTML templating engine")
16020 (description
16021 "Clip is an attempt at a templating library that allows you to write
16022 templates in a way that is both accessible to direct webdesign and
16023 flexible. The main idea is to incorporate transformation commands into an HTML
16024 file through tags and attributes. Clip is heavily dependent on Plump and
16025 lQuery.")
16026 (license license:zlib))))
16027
16028 (define-public ecl-clip
16029 (sbcl-package->ecl-package sbcl-clip))
16030
16031 (define-public cl-clip
16032 (sbcl-package->cl-source-package sbcl-clip))
16033
16034 (define-public sbcl-pathname-utils
16035 (let ((commit "70f517e44e13a38e0c8f296613236376d679fa8f")
16036 (revision "1"))
16037 (package
16038 (name "sbcl-pathname-utils")
16039 (version (git-version "1.1.0" revision commit))
16040 (source
16041 (origin
16042 (method git-fetch)
16043 (uri (git-reference
16044 (url "https://github.com/Shinmera/pathname-utils")
16045 (commit commit)))
16046 (file-name (git-file-name "pathname-utils" version))
16047 (sha256
16048 (base32 "1zm4bf6gajpgmhr7zwf7600zlaf8fs1fcyzabqsh2ma2crkgqdxq"))))
16049 (build-system asdf-build-system/sbcl)
16050 (native-inputs
16051 `(("parachute" ,sbcl-parachute)))
16052 (home-page "https://shinmera.github.io/pathname-utils/")
16053 (synopsis "Collection of utilities to help with pathname operations")
16054 (description
16055 "This package provides a Common Lisp system a with collection of common
16056 tests and operations to help handling pathnames. It does not actually deal in
16057 handling the accessing of files on the underlying system however.")
16058 (license license:zlib))))
16059
16060 (define-public ecl-pathname-utils
16061 (sbcl-package->ecl-package sbcl-pathname-utils))
16062
16063 (define-public cl-pathname-utils
16064 (sbcl-package->cl-source-package sbcl-pathname-utils))
16065
16066 (define-public sbcl-terrable
16067 (let ((commit "e4fe23ffa08e8d53a8168105b413861da59cc786")
16068 (revision "1"))
16069 (package
16070 (name "sbcl-terrable")
16071 (version (git-version "1.0.0" revision commit))
16072 (source
16073 (origin
16074 (method git-fetch)
16075 (uri (git-reference
16076 (url "https://github.com/Shirakumo/terrable")
16077 (commit commit)))
16078 (file-name (git-file-name "terrable" version))
16079 (sha256
16080 (base32 "0pnqflgz410zydc1ivwnd8hcl24bgr7x12yjzr7g4lq3ibc8y97b"))))
16081 (build-system asdf-build-system/sbcl)
16082 (inputs
16083 `(("documentation-utils" ,sbcl-documentation-utils)
16084 ("fast-io" ,sbcl-fast-io)
16085 ("ieee-floats" ,sbcl-ieee-floats)
16086 ("static-vectors" ,sbcl-static-vectors)
16087 ("trivial-garbage" ,sbcl-trivial-garbage)))
16088 (home-page "https://shirakumo.github.io/terrable/")
16089 (synopsis "Parser library for Terragen TER terrain files")
16090 (description
16091 "This package provides Common Lisp support for reading the Terragen
16092 @code{.TER} format. The format specification can be found at
16093 @url{https://planetside.co.uk/wiki/index.php?title=Terragen_.TER_Format}")
16094 (license license:zlib))))
16095
16096 (define-public ecl-terrable
16097 (sbcl-package->ecl-package sbcl-terrable))
16098
16099 (define-public cl-terrable
16100 (sbcl-package->cl-source-package sbcl-terrable))
16101
16102 (define-public sbcl-simple-rgb
16103 (let ((commit "ba9b0689362c28aa6a91c0636796c6c372657293")
16104 (revision "1"))
16105 (package
16106 (name "sbcl-simple-rgb")
16107 (version (git-version "0.01" revision commit))
16108 (source
16109 (origin
16110 (method git-fetch)
16111 (uri (git-reference
16112 (url "https://github.com/wmannis/simple-rgb/")
16113 (commit commit)))
16114 (file-name (git-file-name name version))
16115 (sha256
16116 (base32 "0ggv0h2n4mvwnggjr1b40gw667gnyykzki2zadaczi38ydzyzlp1"))))
16117 (build-system asdf-build-system/sbcl)
16118 (home-page "https://github.com/wmannis/simple-rgb")
16119 (synopsis "Manipulate colors in RGB format")
16120 (description
16121 "This Common Lisp library focuses on the small set of basic color
16122 manipulations (lightening, compliments, etc.) you might use to generate a
16123 color palette for a GUI or web page.")
16124 (license license:bsd-2))))
16125
16126 (define-public ecl-simple-rgb
16127 (sbcl-package->ecl-package sbcl-simple-rgb))
16128
16129 (define-public cl-simple-rgb
16130 (sbcl-package->cl-source-package sbcl-simple-rgb))
16131
16132 (define-public sbcl-cl-qprint
16133 (let ((commit "bfe398551cbfb7ca84a9ba59a26a1116ac5c06eb")
16134 (revision "1"))
16135 (package
16136 (name "sbcl-cl-qprint")
16137 (version (git-version "0.9.0" revision commit))
16138 (source
16139 (origin
16140 (method git-fetch)
16141 (uri (git-reference
16142 (url "https://github.com/eugeneia/cl-qprint/")
16143 (commit commit)))
16144 (file-name (git-file-name name version))
16145 (sha256
16146 (base32 "099h0rrdzxnlmn8avi72mg2dl0kccp7w01b2p9nwyy4b8yr32cir"))))
16147 (build-system asdf-build-system/sbcl)
16148 (inputs
16149 `(("flexi-streams" ,sbcl-flexi-streams)))
16150 (home-page "https://github.com/eugeneia/cl-qprint/")
16151 (synopsis "Implementation of the quoted-printable encoding")
16152 (description
16153 "This Common Lisp library implements the quoted-printable encoding as
16154 described in RFC 2045 (see @url{http://tools.ietf.org/html/rfc2045}).")
16155 (license license:lgpl2.1))))
16156
16157 (define-public ecl-cl-qprint
16158 (sbcl-package->ecl-package sbcl-cl-qprint))
16159
16160 (define-public cl-qprint
16161 (sbcl-package->cl-source-package sbcl-cl-qprint))
16162
16163 (define-public sbcl-cl-mime
16164 (let ((commit "d30a28e0a40393bd3af7d138daa05319ed2e9d07")
16165 (revision "1"))
16166 (package
16167 (name "sbcl-cl-mime")
16168 ;; One commit says "update to cl-mime-0.5.3", even though the .asd is at 0.5.1.
16169 (version (git-version "0.5.3" revision commit))
16170 (source
16171 (origin
16172 (method git-fetch)
16173 (uri (git-reference
16174 ;; Maintained fork according to http://www.cliki.net/CL-MIME:
16175 (url "https://github.com/40ants/cl-mime")
16176 (commit commit)))
16177 (file-name (git-file-name name version))
16178 (sha256
16179 (base32 "0qn8if0fj6vzc897pqqqs0m1y107gmzqngpqhqmwrcsp1ckj5k0v"))))
16180 (build-system asdf-build-system/sbcl)
16181 (inputs
16182 `(("ppcre" ,sbcl-cl-ppcre)
16183 ("cl-base64" ,sbcl-cl-base64)
16184 ("cl-qprint" ,sbcl-cl-qprint)))
16185 (native-inputs
16186 `(("rove" ,sbcl-rove)))
16187 (home-page "https://github.com/eugeneia/cl-qprint/")
16188 (synopsis "Read and print MIME content in Common Lisp")
16189 (description
16190 "This is a Common Lisp library for reading and printing MIME content.
16191 It supports automatic conversion between 7-bit, quoted-printable and base64
16192 encodings.")
16193 (license license:lgpl2.1))))
16194
16195 (define-public ecl-cl-mime
16196 (sbcl-package->ecl-package sbcl-cl-mime))
16197
16198 (define-public cl-mime
16199 (sbcl-package->cl-source-package sbcl-cl-mime))
16200
16201 (define-public sbcl-lispbuilder-sdl
16202 (let ((commit "589b3c6d552bbec4b520f61388117d6c7b3de5ab"))
16203 (package
16204 (name "sbcl-lispbuilder-sdl")
16205 (version (git-version "0.9.8.2" "1" commit))
16206 (source
16207 (origin
16208 (method git-fetch)
16209 (uri (git-reference
16210 (url "https://github.com/lispbuilder/lispbuilder")
16211 (commit commit)))
16212 (file-name (git-file-name name version))
16213 (sha256
16214 (base32 "0zga59fjlhq3mhwbf80qwqwpkjkxqnn2mhxajlb8563vhn3dbafp"))))
16215 (build-system asdf-build-system/sbcl)
16216 (inputs
16217 `(("cffi" ,sbcl-cffi)
16218 ("trivial-garbage" ,sbcl-trivial-garbage)
16219 ("sdl" ,sdl)))
16220 (arguments
16221 `(#:phases
16222 (modify-phases %standard-phases
16223 (add-after 'unpack 'cd-sdl
16224 (lambda _
16225 (chdir "lispbuilder-sdl")
16226 #t))
16227 (add-after 'cd-sdl 'fix-paths
16228 (lambda* (#:key inputs #:allow-other-keys)
16229 (substitute* "cffi/library.lisp"
16230 (("libSDL[^\"]*" all)
16231 (string-append (assoc-ref inputs "sdl") "/lib/" all)))
16232 #t)))))
16233 (home-page "https://github.com/lispbuilder/lispbuilder/wiki/LispbuilderSDL")
16234 (synopsis "Common Lisp wrapper for SDL")
16235 (description
16236 "This library is an SDL wrapper as part of an umbrella project that
16237 provides cross-platform packages for building large, interactive applications
16238 in Common Lisp.")
16239 (license license:expat))))
16240
16241 (define-public ecl-lispbuilder-sdl
16242 (sbcl-package->ecl-package sbcl-lispbuilder-sdl))
16243
16244 (define-public cl-lispbuilder-sdl
16245 (sbcl-package->cl-source-package sbcl-lispbuilder-sdl))
16246
16247 (define-public sbcl-dufy
16248 (package
16249 (name "sbcl-dufy")
16250 (version "0.4.1")
16251 (source
16252 (origin
16253 (method git-fetch)
16254 (uri (git-reference
16255 (url "https://github.com/privet-kitty/dufy")
16256 (commit (string-append "v" version))))
16257 (file-name (git-file-name name version))
16258 (sha256
16259 (base32 "15vrp1kayhjb5c1vc9x8wlm8rimk73vpa7yc101cf0gsg1fjazl6"))))
16260 (build-system asdf-build-system/sbcl)
16261 (inputs
16262 `(("alexandria" ,sbcl-alexandria)
16263 ("ppcre" ,sbcl-cl-ppcre)))
16264 (native-inputs
16265 `(("fiveam" ,sbcl-fiveam)
16266 ("cl-csv" ,sbcl-cl-csv)
16267 ("parse-float" ,sbcl-parse-float)
16268 ("lispbuilder-sdl" ,sbcl-lispbuilder-sdl)
16269 ("lparallel" ,sbcl-lparallel)))
16270 (home-page "https://github.com/privet-kitty/dufy")
16271 (synopsis "Color library for Common Lisp")
16272 (description
16273 "Dufy is a library for exact color manipulation and conversion in various
16274 color spaces, which supports many color models.")
16275 (license license:expat)))
16276
16277 (define-public ecl-dufy
16278 (sbcl-package->ecl-package sbcl-dufy))
16279
16280 (define-public cl-dufy
16281 (sbcl-package->cl-source-package sbcl-dufy))
16282
16283 (define-public sbcl-unit-test
16284 (let ((commit "266afaf4ac091fe0e8803bac2ae72d238144e735")
16285 (revision "1"))
16286 (package
16287 (name "sbcl-unit-test")
16288 (version (git-version "0.0.0" revision commit))
16289 (source
16290 (origin
16291 (method git-fetch)
16292 (uri (git-reference
16293 (url "https://github.com/hanshuebner/unit-test")
16294 (commit commit)))
16295 (file-name (git-file-name "unit-test" version))
16296 (sha256
16297 (base32 "11hpksz56iqkv7jw25p2a8r3n9dj922fyarn16d98589g6hdskj9"))))
16298 (build-system asdf-build-system/sbcl)
16299 (home-page "https://github.com/hanshuebner/unit-test")
16300 (synopsis "Unit-testing framework for Common Lisp")
16301 (description "This is a unit-testing framework for Common Lisp.")
16302 (license license:unlicense))))
16303
16304 (define-public ecl-unit-test
16305 (sbcl-package->ecl-package sbcl-unit-test))
16306
16307 (define-public cl-unit-test
16308 (sbcl-package->cl-source-package sbcl-unit-test))
16309
16310 (define-public sbcl-bknr-datastore
16311 (let ((commit "c98d44f47cc88d19ff91ca3eefbd9719a8ace022")
16312 (revision "1"))
16313 (package
16314 (name "sbcl-bknr-datastore")
16315 (version (git-version "0.0.0" revision commit))
16316 (source
16317 (origin
16318 (method git-fetch)
16319 (uri (git-reference
16320 (url "https://github.com/hanshuebner/bknr-datastore")
16321 (commit commit)))
16322 (file-name (git-file-name "bknr-datastore" version))
16323 (sha256
16324 (base32 "1vi3w65fnczqvswkm381n6liqfrzjrg40y698qvj7skj28dm5vrm"))))
16325 (build-system asdf-build-system/sbcl)
16326 (arguments
16327 `(#:asd-systems
16328 '("bknr.datastore"
16329 "bknr.impex"
16330 "bknr.indices"
16331 "bknr.skip-list"
16332 "bknr.utils"
16333 "bknr.xml")
16334 #:phases
16335 (modify-phases %standard-phases
16336 (add-after 'unpack 'enter-source-directory
16337 (lambda _
16338 (chdir "src")
16339 #t)))))
16340 (native-inputs
16341 `(("cl-store" ,sbcl-cl-store)
16342 ("fiveam" ,sbcl-fiveam)
16343 ("unit-test" ,sbcl-unit-test)))
16344 (inputs
16345 `(("alexandria" ,sbcl-alexandria)
16346 ("bordeaux-threads" ,sbcl-bordeaux-threads)
16347 ("closer-mop" ,sbcl-closer-mop)
16348 ("cl-interpol" ,sbcl-cl-interpol)
16349 ("cl-ppcre" ,sbcl-cl-ppcre)
16350 ("cxml" ,sbcl-cxml)
16351 ("flexi-streams" ,sbcl-flexi-streams)
16352 ("md5" ,sbcl-md5)
16353 ("trivial-utf-8" ,sbcl-trivial-utf-8)
16354 ("yason" ,sbcl-yason)))
16355 (home-page "https://github.com/hanshuebner/bknr-datastore")
16356 (synopsis "In-memory database for Common Lisp")
16357 (description
16358 "BKNR.DATASTORE is an in-memory CLOS based database with transactions
16359 for Common Lisp.")
16360 (license license:bsd-0))))
16361
16362 ;; NOTE: (Sharlatan-20210429T191426+0100):
16363 ;; There is no port for ECL in upstream yet
16364 ;; (define-public ecl-bknr-datastore
16365 ;; (sbcl-package->ecl-package sbcl-bknr-datastore))
16366
16367 (define-public cl-bknr-datastore
16368 (sbcl-package->cl-source-package sbcl-bknr-datastore))
16369
16370 (define-public sbcl-3d-vectors
16371 (let ((commit "29bb9684df803590deed344af63dbf7b712aabc0")
16372 (revision "1"))
16373 (package
16374 (name "sbcl-3d-vectors")
16375 (version (git-version "3.1.0" revision commit))
16376 (source
16377 (origin
16378 (method git-fetch)
16379 (uri (git-reference
16380 (url "https://github.com/Shinmera/3d-vectors")
16381 (commit commit)))
16382 (file-name (git-file-name "3d-vectors" version))
16383 (sha256
16384 (base32 "0qc7m5brhpwi531rgmlaj1c609by533a1ia5hv8f90ilm8ksmw3l"))))
16385 (build-system asdf-build-system/sbcl)
16386 (native-inputs
16387 `(("parachute" ,sbcl-parachute)))
16388 (inputs
16389 `(("documentation-utils" ,sbcl-documentation-utils)))
16390 (home-page "https://shinmera.github.io/3d-vectors/")
16391 (synopsis "Utility library implementing 2D, 3D, and 4D vectors")
16392 (description
16393 "@code{3D-VECTORS} is a library for vector math in 3D space. It contains
16394 most of the vector operations one would usually expect out of such a library and
16395 offers them both in non-modifying and modifying versions where applicable.")
16396 (license license:zlib))))
16397
16398 (define-public ecl-3d-vectors
16399 (sbcl-package->ecl-package sbcl-3d-vectors))
16400
16401 (define-public cl-3d-vectors
16402 (sbcl-package->cl-source-package sbcl-3d-vectors))
16403
16404 (define-public sbcl-3d-matrices
16405 (let ((commit "f453b521b8f2ceabb01eac94389119dece8c05f8")
16406 (revision "1"))
16407 (package
16408 (name "sbcl-3d-matrices")
16409 (version (git-version "1.0.0" revision commit))
16410 (source
16411 (origin
16412 (method git-fetch)
16413 (uri (git-reference
16414 (url "https://github.com/Shinmera/3d-matrices")
16415 (commit commit)))
16416 (file-name (git-file-name "3d-matrices" version))
16417 (sha256
16418 (base32 "10q9c96gqzq6k8n89agy0khgimmnsn4s69171m3vhghqa2yv5n6v"))))
16419 (build-system asdf-build-system/sbcl)
16420 (native-inputs
16421 `(("parachute" ,sbcl-parachute)))
16422 (inputs
16423 `(("3d-vectors" ,sbcl-3d-vectors)
16424 ("documentation-utils" ,sbcl-documentation-utils)))
16425 (home-page "https://shinmera.github.io/3d-matrices/")
16426 (synopsis "Utility library implementing 2x2, 3x3, 4x4 and NxM matrices")
16427 (description
16428 "@code{3D-MATRICES} is a library implementing common matrix operations,
16429 mainly intended as the counterpiece to @code{3d-vectors} and thus being aimed at
16430 operations in 3D space.")
16431 (license license:zlib))))
16432
16433 (define-public ecl-3d-matrices
16434 (sbcl-package->ecl-package sbcl-3d-matrices))
16435
16436 (define-public cl-3d-matrices
16437 (sbcl-package->cl-source-package sbcl-3d-matrices))
16438
16439 (define-public sbcl-messagebox
16440 (let ((commit "ea3688d9a9954bee7079c0173bc7b3f327021e9f")
16441 (revision "1"))
16442 (package
16443 (name "sbcl-messagebox")
16444 (version (git-version "1.0.0" revision commit))
16445 (source
16446 (origin
16447 (method git-fetch)
16448 (uri (git-reference
16449 (url "https://github.com/Shinmera/messagebox")
16450 (commit commit)))
16451 (file-name (git-file-name "messagebox" version))
16452 (sha256
16453 (base32 "0jkbzlca0wvspgsfj0b0hjwlyyy8jlywsldsbkp79q48fc3aa8jd"))))
16454 (build-system asdf-build-system/sbcl)
16455 (arguments
16456 `(#:phases
16457 (modify-phases %standard-phases
16458 (add-after 'unpack 'patch-zenity-path
16459 (lambda* (#:key inputs #:allow-other-keys)
16460 (substitute* "zenity.lisp"
16461 (("\"zenity\"")
16462 (string-append "\"" (assoc-ref inputs "zenity")
16463 "/bin/zenity\""))))))))
16464 (inputs
16465 `(("documentation-utils" ,sbcl-documentation-utils)
16466 ("trivial-features" ,sbcl-trivial-features)
16467 ("zenity" ,zenity)))
16468 (home-page "https://shinmera.github.io/messagebox/")
16469 (synopsis "Display a native GUI message box")
16470 (description
16471 "This is a small library to display a native GUI message box. This can be
16472 useful to show error messages and other informational pieces should the
16473 application fail and be unable to do so using its standard UI.")
16474 (license license:zlib))))
16475
16476 (define-public ecl-messagebox
16477 (sbcl-package->ecl-package sbcl-messagebox))
16478
16479 (define-public cl-messagebox
16480 (sbcl-package->cl-source-package sbcl-messagebox))
16481
16482 (define-public sbcl-glsl-toolkit
16483 (let ((commit "d00ba1906e3b5eb08ea346ac300a1e77bb999d04")
16484 (revision "1"))
16485 (package
16486 (name "sbcl-glsl-toolkit")
16487 (version (git-version "1.0.0" revision commit))
16488 (source
16489 (origin
16490 (method git-fetch)
16491 (uri (git-reference
16492 (url "https://github.com/Shirakumo/glsl-toolkit")
16493 (commit commit)))
16494 (file-name (git-file-name "glsl-toolkit" version))
16495 (sha256
16496 (base32 "0as5796yazchq1qkna3srxlz5v7cf7ffny9cbqi41wsa2s20vbh9"))))
16497 (build-system asdf-build-system/sbcl)
16498 (inputs
16499 `(("cl-ppcre" ,sbcl-cl-ppcre)
16500 ("documentation-utils" ,sbcl-documentation-utils)
16501 ("parse-float" ,sbcl-parse-float)
16502 ("trivial-indent" ,sbcl-trivial-indent)))
16503 (home-page "https://shirakumo.github.io/glsl-toolkit/")
16504 (synopsis "Parser for OpenGL Shader Language source files")
16505 (description
16506 "This package provides a Common Lisp system collecting tools written to
16507 allow to wrangle OpenGL Shader Language (GLSL) source files.")
16508 (license license:zlib))))
16509
16510 (define-public ecl-glsl-toolkit
16511 (sbcl-package->ecl-package sbcl-glsl-toolkit))
16512
16513 (define-public cl-glsl-toolkit
16514 (sbcl-package->cl-source-package sbcl-glsl-toolkit))
16515
16516 (define-public sbcl-simple-tasks
16517 (let ((commit "745d4b54eac9bf5d6909792e63ecd2ef8d303cf2")
16518 (revision "1"))
16519 (package
16520 (name "sbcl-simple-tasks")
16521 (version (git-version "1.3.0" revision commit))
16522 (source
16523 (origin
16524 (method git-fetch)
16525 (uri (git-reference
16526 (url "https://github.com/Shinmera/simple-tasks")
16527 (commit commit)))
16528 (file-name (git-file-name "simple-tasks" version))
16529 (sha256
16530 (base32 "1ls1pij7dvb65g4nam7nvik1218jvfk5iplr48vy290fw3lq7v98"))))
16531 (build-system asdf-build-system/sbcl)
16532 (inputs
16533 `(("array-utils" ,sbcl-array-utils)
16534 ("bordeaux-threads" ,sbcl-bordeaux-threads)
16535 ("dissect" ,sbcl-dissect)))
16536 (home-page "https://shinmera.github.io/simple-tasks/")
16537 (synopsis "Simple task scheduling framework")
16538 (description "This is a task scheduling framework for Common Lisp.")
16539 (license license:zlib))))
16540
16541 (define-public ecl-simple-tasks
16542 (sbcl-package->ecl-package sbcl-simple-tasks))
16543
16544 (define-public cl-simple-tasks
16545 (sbcl-package->cl-source-package sbcl-simple-tasks))
16546
16547 (define-public sbcl-trivial-main-thread
16548 (let ((commit "25f114973bb69eb63e01d0bbfead31f8e682846a")
16549 (revision "1"))
16550 (package
16551 (name "sbcl-trivial-main-thread")
16552 (version (git-version "1.0.0" revision commit))
16553 (source
16554 (origin
16555 (method git-fetch)
16556 (uri (git-reference
16557 (url "https://github.com/Shinmera/trivial-main-thread")
16558 (commit commit)))
16559 (file-name (git-file-name "trivial-main-thread" version))
16560 (sha256
16561 (base32 "0bw1887i7396lqg75qvmgjfzz4xbiq9w5dp8wxdgrcsm0qwlraw7"))))
16562 (build-system asdf-build-system/sbcl)
16563 (inputs
16564 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
16565 ("simple-tasks" ,sbcl-simple-tasks)
16566 ("trivial-features" ,sbcl-trivial-features)))
16567 (home-page "https://shinmera.github.io/trivial-main-thread/")
16568 (synopsis "Compatibility library to run things in the main thread")
16569 (description
16570 "This package provides a Common Lisp system which wraps the
16571 BORDEAUX-THREADS system to be able to run things in the main thread of the
16572 implementation, for example drawing calls of GUI applications.")
16573 (license license:zlib))))
16574
16575 (define-public ecl-trivial-main-thread
16576 (sbcl-package->ecl-package sbcl-trivial-main-thread))
16577
16578 (define-public cl-trivial-main-thread
16579 (sbcl-package->cl-source-package sbcl-trivial-main-thread))
16580
16581 (define-public sbcl-cl-package-locks
16582 (let ((commit "96a358ede7cef416d61d2f699e724fe1d9de602c")
16583 (revision "1"))
16584 (package
16585 (name "sbcl-cl-package-locks")
16586 (version (git-version "0.0.2" revision commit))
16587 (source
16588 (origin
16589 (method git-fetch)
16590 (uri (git-reference
16591 (url "https://github.com/elliottjohnson/cl-package-locks")
16592 (commit commit)))
16593 (file-name (git-file-name "cl-package-locks" version))
16594 (sha256
16595 (base32 "0g3gfljnvpgd66ccd2sqawlkwqx4a0wsdrg5180va61w869cgxqq"))))
16596 (build-system asdf-build-system/sbcl)
16597 (home-page "https://github.com/elliottjohnson/cl-package-locks")
16598 (synopsis "Compatibility layer for dealing with package locks")
16599 (description
16600 "This is a Common Lisp library providing a unified way to work with
16601 package locks across supported Common Lisp implementations.")
16602 (license license:expat))))
16603
16604 (define-public ecl-cl-package-locks
16605 (sbcl-package->ecl-package sbcl-cl-package-locks))
16606
16607 (define-public cl-package-locks
16608 (sbcl-package->cl-source-package sbcl-cl-package-locks))