gnu: Add cl-bodge-queue.
[jackhill/guix/guix.git] / gnu / packages / lisp-xyz.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2014 John Darrington <jmd@gnu.org>
3 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
4 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
5 ;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch>
6 ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
7 ;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca>
8 ;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
9 ;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
10 ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
11 ;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
12 ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
13 ;;; Copyright © 2018, 2020, 2021 Pierre Neidhardt <mail@ambrevar.xyz>
14 ;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
15 ;;; Copyright © 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
16 ;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com>
17 ;;; Copyright © 2019, 2020, 2021 Guillaume Le Vaillant <glv@posteo.net>
18 ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
19 ;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
20 ;;; Copyright © 2020 Dimakis Dimakakos <me@bendersteed.tech>
21 ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
22 ;;; Copyright © 2020, 2021 Adam Kandur <rndd@tuta.io>
23 ;;; Copyright © 2020, 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
24 ;;; Copyright © 2021 Aurora <rind38@disroot.org>
25 ;;; Copyright © 2021 Matthew Kraai <kraai@ftbfs.org>
26 ;;; Copyright © 2021 André A. Gomes <andremegafone@gmail.com>
27 ;;; Copyright © 2021 Cage <cage-dev@twistfold.it>
28 ;;; Copyright © 2021 Cameron Chaparro <cameron@cameronchaparro.com>
29 ;;;
30 ;;; This file is part of GNU Guix.
31 ;;;
32 ;;; GNU Guix is free software; you can redistribute it and/or modify it
33 ;;; under the terms of the GNU General Public License as published by
34 ;;; the Free Software Foundation; either version 3 of the License, or (at
35 ;;; your option) any later version.
36 ;;;
37 ;;; GNU Guix is distributed in the hope that it will be useful, but
38 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
39 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
40 ;;; GNU General Public License for more details.
41 ;;;
42 ;;; You should have received a copy of the GNU General Public License
43 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
44
45 ;;; This file only contains Common Lisp libraries.
46 ;;; Common Lisp compilers and tooling go to lisp.scm.
47 ;;; Common Lisp applications should go to the most appropriate file,
48 ;;; e.g. StumpWM is in wm.scm.
49
50 (define-module (gnu packages lisp-xyz)
51 #:use-module (gnu packages)
52 #:use-module ((guix licenses) #:prefix license:)
53 #:use-module (guix packages)
54 #:use-module (guix download)
55 #:use-module (guix git-download)
56 #:use-module (guix hg-download)
57 #:use-module (guix utils)
58 #:use-module (guix build-system asdf)
59 #:use-module (guix build-system trivial)
60 #:use-module (gnu packages base)
61 #:use-module (gnu packages c)
62 #:use-module (gnu packages compression)
63 #:use-module (gnu packages databases)
64 #:use-module (gnu packages enchant)
65 #:use-module (gnu packages file)
66 #:use-module (gnu packages fonts)
67 #:use-module (gnu packages fontutils)
68 #:use-module (gnu packages gl)
69 #:use-module (gnu packages glib)
70 #:use-module (gnu packages gtk)
71 #:use-module (gnu packages imagemagick)
72 #:use-module (gnu packages libevent)
73 #:use-module (gnu packages libffi)
74 #:use-module (gnu packages linux)
75 #:use-module (gnu packages lisp)
76 #:use-module (gnu packages maths)
77 #:use-module (gnu packages mp3)
78 #:use-module (gnu packages ncurses)
79 #:use-module (gnu packages networking)
80 #:use-module (gnu packages pkg-config)
81 #:use-module (gnu packages python)
82 #:use-module (gnu packages python-xyz)
83 #:use-module (gnu packages sqlite)
84 #:use-module (gnu packages tcl)
85 #:use-module (gnu packages tls)
86 #:use-module (gnu packages video)
87 #:use-module (gnu packages web)
88 #:use-module (gnu packages webkit)
89 #:use-module (gnu packages xdisorg)
90 #:use-module (ice-9 match)
91 #:use-module (srfi srfi-1)
92 #:use-module (srfi srfi-19))
93
94 (define-public sbcl-alexandria
95 (package
96 (name "sbcl-alexandria")
97 (version "1.2")
98 (source
99 (origin
100 (method git-fetch)
101 (uri (git-reference
102 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
103 (commit (string-append "v" version))))
104 (sha256
105 (base32
106 "0bcqs0z9xlqgjz43qzgq9i07vdlnjllpm1wwa37wpkg0w975r712"))
107 (file-name (git-file-name name version))))
108 (build-system asdf-build-system/sbcl)
109 (native-inputs
110 `(("rt" ,sbcl-rt)))
111 (synopsis "Collection of portable utilities for Common Lisp")
112 (description
113 "Alexandria is a collection of portable utilities. It does not contain
114 conceptual extensions to Common Lisp. It is conservative in scope, and
115 portable between implementations.")
116 (home-page "https://common-lisp.net/project/alexandria/")
117 (license license:public-domain)))
118
119 (define-public cl-alexandria
120 (sbcl-package->cl-source-package sbcl-alexandria))
121
122 (define-public ecl-alexandria
123 (sbcl-package->ecl-package sbcl-alexandria))
124
125 (define-public sbcl-bodge-utilities
126 (let ((commit "6304bac4abe06d53579e2c0fc4437d14ff077d9f")
127 (revision "1"))
128 (package
129 (name "sbcl-bodge-utilities")
130 (version (git-version "1.0.0" revision commit))
131 (source
132 (origin
133 (method git-fetch)
134 (uri (git-reference
135 (url "https://github.com/borodust/bodge-utilities")
136 (commit commit)))
137 (file-name (git-file-name "bodge-utilities" version))
138 (sha256
139 (base32 "1z1blj05q71vzh323qwyn9p3xs7v0mq2yhwfyzza5libp37wqm3c"))))
140 (build-system asdf-build-system/sbcl)
141 (inputs
142 `(("alexandria" ,sbcl-alexandria)
143 ("cffi" ,sbcl-cffi)
144 ("claw" ,sbcl-claw)
145 ("dissect" ,sbcl-dissect)
146 ("local-time" ,sbcl-local-time)
147 ("log4cl" ,sbcl-log4cl)
148 ("split-sequence" ,sbcl-split-sequence)
149 ("static-vectors" ,sbcl-static-vectors)
150 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
151 (home-page "https://github.com/borodust/bodge-utilities")
152 (synopsis "Common Lisp utilities library for CL-BODGE")
153 (description
154 "This Common Lisp library provides utilities for the @emph{Bodge} library
155 collection.")
156 (license license:expat))))
157
158 (define-public ecl-bodge-utilities
159 (sbcl-package->ecl-package sbcl-bodge-utilities))
160
161 (define-public cl-bodge-utilities
162 (sbcl-package->cl-source-package sbcl-bodge-utilities))
163
164 (define-public sbcl-bodge-queue
165 (let ((commit "948c9a501dcd412689952d09eb7453ec2722336a")
166 (revision "0"))
167 (package
168 (name "sbcl-bodge-queue")
169 (version (git-version "0.0.0" revision commit))
170 (source
171 (origin
172 (method git-fetch)
173 (uri (git-reference
174 (url "https://github.com/borodust/bodge-queue")
175 (commit commit)))
176 (file-name (git-file-name "bodge-queue" version))
177 (sha256
178 (base32 "148hjikqk8v2m30mj15xh89zni6szf9z3prav580qk9dqr8djjdr"))))
179 (build-system asdf-build-system/sbcl)
180 (native-inputs
181 `(("fiveam" ,sbcl-fiveam)))
182 (home-page "https://github.com/borodust/bodge-queue")
183 (synopsis "Simple queue for Common Lisp")
184 (description "This Common Lisp library provides a simple FIFO
185 implementation with no external dependencies.")
186 (license license:expat))))
187
188 (define-public cl-bodge-queue
189 (sbcl-package->cl-source-package sbcl-bodge-queue))
190
191 (define-public ecl-bodge-queue
192 (sbcl-package->ecl-package sbcl-bodge-queue))
193
194 (define-public sbcl-golden-utils
195 (let ((commit "62a5cb948a011eb26e7a89f56d5839a3334b4100")
196 (revision "2"))
197 (package
198 (name "sbcl-golden-utils")
199 (version (git-version "0.0.0" revision commit))
200 (source
201 (origin
202 (method git-fetch)
203 (uri (git-reference
204 (url "https://git.mfiano.net/mfiano/golden-utils")
205 (commit commit)))
206 (file-name (git-file-name "golden-utils" version))
207 (sha256
208 (base32 "13mvxqwd1nmpq8h5hb1s60wyqdj7ji4haxrqr0sy3csyqa8aq2j8"))))
209 (build-system asdf-build-system/sbcl)
210 (inputs
211 `(("alexandria" ,sbcl-alexandria)))
212 (home-page "https://git.mfiano.net/mfiano/golden-utils")
213 (synopsis "Common Lisp utility library")
214 (description
215 "This is a Common Lisp library providing various utilities.")
216 (license license:expat))))
217
218 (define-public ecl-golden-utils
219 (sbcl-package->ecl-package sbcl-golden-utils))
220
221 (define-public cl-golden-utils
222 (sbcl-package->cl-source-package sbcl-golden-utils))
223
224 (define-public sbcl-asdf-finalizers
225 (let ((commit "7f537f6c598b662ae987c6acc268dd27c25977e0")
226 (revision "1"))
227 (package
228 (name "sbcl-asdf-finalizers")
229 (version (git-version "0.0.0" revision commit))
230 (source
231 (origin
232 (method git-fetch)
233 (uri (git-reference
234 (url "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
235 (commit commit)))
236 (file-name (git-file-name name version))
237 (sha256
238 (base32 "1w56c9yjjydjshsgqxz57qlp2v3r4ilbisnsgiqphvxnhvd41y0v"))))
239 (build-system asdf-build-system/sbcl)
240 (native-inputs
241 `(("fare-utils" ,sbcl-fare-utils)
242 ("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
243 (arguments
244 `(#:asd-files '("asdf-finalizers.asd"
245 "list-of.asd"
246 "asdf-finalizers-test.asd")
247 #:asd-systems '("asdf-finalizers"
248 "list-of")))
249 (home-page "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
250 (synopsis "Enforced calling of finalizers for Lisp code")
251 (description "This library allows you to implement and enforce proper
252 finalization of compile-time constructs while building Lisp source files.
253
254 It produces two systems: asdf-finalizers and list-of.")
255 (license license:expat))))
256
257 (define-public ecl-asdf-finalizers
258 (sbcl-package->ecl-package sbcl-asdf-finalizers))
259
260 (define-public cl-asdf-finalizers
261 (sbcl-package->cl-source-package sbcl-asdf-finalizers))
262
263 (define-public sbcl-net.didierverna.asdf-flv
264 (package
265 (name "sbcl-net.didierverna.asdf-flv")
266 (version "2.1")
267 (source
268 (origin
269 (method git-fetch)
270 (uri (git-reference
271 (url "https://github.com/didierverna/asdf-flv")
272 (commit (string-append "version-" version))))
273 (file-name (git-file-name "asdf-flv" version))
274 (sha256
275 (base32 "1fi2y4baxan103jbg4idjddzihy03kwnj2mzbwrknw4d4x7xlgwj"))))
276 (build-system asdf-build-system/sbcl)
277 (synopsis "Common Lisp ASDF extension to provide support for file-local variables")
278 (description "ASDF-FLV provides support for file-local variables through
279 ASDF. A file-local variable behaves like @code{*PACKAGE*} and
280 @code{*READTABLE*} with respect to @code{LOAD} and @code{COMPILE-FILE}: a new
281 dynamic binding is created before processing the file, so that any
282 modification to the variable becomes essentially file-local.
283
284 In order to make one or several variables file-local, use the macros
285 @code{SET-FILE-LOCAL-VARIABLE(S)}.")
286 (home-page "https://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv")
287 (license (license:non-copyleft
288 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
289 "GNU All-Permissive License"))))
290
291 (define-public cl-net.didierverna.asdf-flv
292 (sbcl-package->cl-source-package sbcl-net.didierverna.asdf-flv))
293
294 (define-public ecl-net.didierverna.asdf-flv
295 (sbcl-package->ecl-package sbcl-net.didierverna.asdf-flv))
296
297 (define-public sbcl-command-line-arguments
298 (let ((commit "fbac862fb01c0e368141204f3f639920462c23fe")
299 (revision "1"))
300 (package
301 (name "sbcl-command-line-arguments")
302 (version (git-version "2.0.0" revision commit))
303 (source
304 (origin
305 (method git-fetch)
306 (uri (git-reference
307 (url "https://github.com/fare/command-line-arguments")
308 (commit commit)))
309 (file-name (git-file-name name version))
310 (sha256
311 (base32 "054m1ikndzqf72mb9ajaa64136cwr3bgag4yfbi1574a9vq75mjq"))))
312 (build-system asdf-build-system/sbcl)
313 (home-page "https://github.com/fare/command-line-arguments")
314 (synopsis "Trivial command-line argument parsing library for Common Lisp")
315 (description "This is a library to abstract away the parsing of
316 Unix-style command-line arguments. Use it in conjunction with asdf:program-op
317 or cl-launch for portable processing of command-line arguments.")
318 (license license:expat))))
319
320 (define-public ecl-command-line-arguments
321 (sbcl-package->ecl-package sbcl-command-line-arguments))
322
323 (define-public cl-command-line-arguments
324 (sbcl-package->cl-source-package sbcl-command-line-arguments))
325
326 (define-public sbcl-fiveam
327 (package
328 (name "sbcl-fiveam")
329 (version "1.4.1")
330 (source
331 (origin
332 (method git-fetch)
333 (uri (git-reference
334 (url "https://github.com/sionescu/fiveam")
335 (commit (string-append "v" version))))
336 (file-name (git-file-name "fiveam" version))
337 (sha256
338 (base32 "1q3d38pwafnwnw42clq0f8g5xw7pbzr287jl9jsqmb1vb0n1vrli"))))
339 (inputs
340 `(("alexandria" ,sbcl-alexandria)
341 ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
342 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
343 (build-system asdf-build-system/sbcl)
344 (synopsis "Common Lisp testing framework")
345 (description "FiveAM is a simple (as far as writing and running tests
346 goes) regression testing framework. It has been designed with Common Lisp's
347 interactive development model in mind.")
348 (home-page "https://common-lisp.net/project/fiveam/")
349 (license license:bsd-3)))
350
351 (define-public cl-fiveam
352 (sbcl-package->cl-source-package sbcl-fiveam))
353
354 (define-public ecl-fiveam
355 (sbcl-package->ecl-package sbcl-fiveam))
356
357 (define-public sbcl-cl-irc
358 (let ((commit "963823537c7bfcda2edd4c44d172192da6722175")
359 (revision "0"))
360 (package
361 (name "sbcl-cl-irc")
362 (version (git-version "0.9.2" revision commit))
363 (source
364 (origin
365 (method git-fetch)
366 (uri (git-reference
367 (url "https://salsa.debian.org/common-lisp-team/cl-irc.git")
368 (commit commit)))
369 (file-name (git-file-name "cl-irc" version))
370 (sha256
371 (base32 "1b3nqbb4pj377lxl47rfgrs82pidadnrc65l48bk553c2f59b52w"))))
372 (build-system asdf-build-system/sbcl)
373 (native-inputs
374 ;; Tests only.
375 `(("rt" ,sbcl-rt)))
376 (inputs
377 `(("cl+ssl" ,sbcl-cl+ssl)
378 ("flexi-streams" ,sbcl-flexi-streams)
379 ("split-sequence" ,sbcl-split-sequence)
380 ("usocket" ,sbcl-usocket)))
381 (arguments
382 `(#:asd-systems '("cl-irc") ;; Some inexisting "c" system is
383 ;; found by guix otherwise.
384 #:asd-files '("cl-irc.asd")
385 #:test-asd-file "test/cl-irc-test.asd"))
386 (synopsis "IRC client library for Common Lisp")
387 (description "@code{cl-irc} is a Common Lisp IRC client library that
388 features (partial) DCC, CTCP and all relevant commands from the IRC
389 RFCs (RFC2810, RFC2811 and RFC2812).
390
391 Features:
392 @itemize
393 @item implements all commands in the RFCs
394 @item extra convenience commands such as op/deop, ban, ignore, etc.
395 @item partial DCC SEND/CHAT support
396 @item event driven model with hooks makes interfacing easy
397 @item the user can keep multiple connections
398 @item all CTCP commands
399 @end itemize\n")
400 (home-page "https://common-lisp.net/project/cl-irc/")
401 (license license:bsd-2))))
402
403 (define-public cl-irc
404 (sbcl-package->cl-source-package sbcl-cl-irc))
405
406 (define-public ecl-cl-irc
407 (sbcl-package->ecl-package sbcl-cl-irc))
408
409 (define-public sbcl-trivial-timeout
410 (let ((commit "feb869357f40f5e109570fb40abad215fb370c6c")
411 (revision "1"))
412 (package
413 (name "sbcl-trivial-timeout")
414 (version (git-version "0.1.5" revision commit))
415 (source
416 (origin
417 (method git-fetch)
418 (uri (git-reference
419 (url "https://github.com/gwkkwg/trivial-timeout/")
420 (commit commit)))
421 (file-name (git-file-name "trivial-timeout" version))
422 (sha256
423 (base32 "1kninxwvvih9nhh7a9y8lfgi7pdr76675y1clw4ss17vz8fbim5p"))))
424 (build-system asdf-build-system/sbcl)
425 (native-inputs
426 `(("lift" ,sbcl-lift)))
427 (arguments
428 ;; NOTE: (Sharlatan-20210202T231437+0000): Due to the age of this library
429 ;; tests use some deprecated functionality and keep failing.
430 `(#:tests? #f))
431 (home-page "https://github.com/gwkkwg/trivial-timeout/")
432 (synopsis "Timeout library for Common Lisp")
433 (description
434 "This library provides an OS and implementation independent access to
435 timeouts.")
436 (license license:expat))))
437
438 (define-public ecl-trivial-timeout
439 (sbcl-package->ecl-package sbcl-trivial-timeout))
440
441 (define-public cl-trivial-timeout
442 (sbcl-package->cl-source-package sbcl-trivial-timeout))
443
444 (define-public sbcl-bordeaux-threads
445 (package
446 (name "sbcl-bordeaux-threads")
447 (version "0.8.8")
448 (source (origin
449 (method git-fetch)
450 (uri (git-reference
451 (url "https://github.com/sionescu/bordeaux-threads")
452 (commit (string-append "v" version))))
453 (sha256
454 (base32 "19i443fz3488v1pbbr9x24y8h8vlyhny9vj6c9jk5prm702awrp6"))
455 (file-name
456 (git-file-name "bordeaux-threads" version))))
457 (inputs `(("alexandria" ,sbcl-alexandria)))
458 (native-inputs `(("fiveam" ,sbcl-fiveam)))
459 (build-system asdf-build-system/sbcl)
460 (synopsis "Portable shared-state concurrency library for Common Lisp")
461 (description "BORDEAUX-THREADS is a proposed standard for a minimal
462 MP/Threading interface. It is similar to the CLIM-SYS threading and lock
463 support.")
464 (home-page "https://common-lisp.net/project/bordeaux-threads/")
465 (license license:x11)))
466
467 (define-public cl-bordeaux-threads
468 (sbcl-package->cl-source-package sbcl-bordeaux-threads))
469
470 (define-public ecl-bordeaux-threads
471 (sbcl-package->ecl-package sbcl-bordeaux-threads))
472
473 (define-public sbcl-trivial-gray-streams
474 (let ((revision "1")
475 (commit "ebd59b1afed03b9dc8544320f8f432fdf92ab010"))
476 (package
477 (name "sbcl-trivial-gray-streams")
478 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
479 (source
480 (origin
481 (method git-fetch)
482 (uri
483 (git-reference
484 (url "https://github.com/trivial-gray-streams/trivial-gray-streams")
485 (commit commit)))
486 (sha256
487 (base32 "0b1pxlccmnagk9cbh4cy8s5k66g3x0gwib5shjwr24xvrji6lp94"))
488 (file-name
489 (string-append "trivial-gray-streams-" version "-checkout"))))
490 (build-system asdf-build-system/sbcl)
491 (synopsis "Compatibility layer for Gray streams implementations")
492 (description "Gray streams is an interface proposed for inclusion with
493 ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most
494 popular CL implementations implement it. This package provides an extremely
495 thin compatibility layer for gray streams.")
496 (home-page "https://www.cliki.net/trivial-gray-streams")
497 (license license:x11))))
498
499 (define-public cl-trivial-gray-streams
500 (sbcl-package->cl-source-package sbcl-trivial-gray-streams))
501
502 (define-public ecl-trivial-gray-streams
503 (sbcl-package->ecl-package sbcl-trivial-gray-streams))
504
505 (define-public sbcl-fiasco
506 (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
507 (revision "1"))
508 (package
509 (name "sbcl-fiasco")
510 (version (git-version "0.0.1" revision commit))
511 (source
512 (origin
513 (method git-fetch)
514 (uri (git-reference
515 (url "https://github.com/joaotavora/fiasco")
516 (commit commit)))
517 (file-name (git-file-name "fiasco" version))
518 (sha256
519 (base32
520 "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
521 (build-system asdf-build-system/sbcl)
522 (inputs
523 `(("alexandria" ,sbcl-alexandria)
524 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
525 (synopsis "Simple and powerful test framework for Common Lisp")
526 (description "A Common Lisp test framework that treasures your failures,
527 logical continuation of Stefil. It focuses on interactive debugging.")
528 (home-page "https://github.com/joaotavora/fiasco")
529 ;; LICENCE specifies this is public-domain unless the legislation
530 ;; doesn't allow or recognize it. In that case it falls back to a
531 ;; permissive licence.
532 (license (list license:public-domain
533 (license:x11-style "file://LICENCE"))))))
534
535 (define-public cl-fiasco
536 (sbcl-package->cl-source-package sbcl-fiasco))
537
538 (define-public ecl-fiasco
539 (sbcl-package->ecl-package sbcl-fiasco))
540
541 (define-public sbcl-flexi-streams
542 (package
543 (name "sbcl-flexi-streams")
544 (version "1.0.18")
545 (source
546 (origin
547 (method git-fetch)
548 (uri (git-reference
549 (url "https://github.com/edicl/flexi-streams")
550 (commit (string-append "v" version))))
551 (file-name (git-file-name "flexi-streams" version))
552 (sha256
553 (base32 "0bjv7fd2acknidc5dyi3h85pn10krxv5jyxs1xg8jya2rlfv7f1j"))))
554 (build-system asdf-build-system/sbcl)
555 (arguments
556 `(#:phases
557 (modify-phases %standard-phases
558 (add-after 'unpack 'make-git-checkout-writable
559 (lambda _
560 (for-each make-file-writable (find-files "."))
561 #t)))))
562 (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
563 (synopsis "Implementation of virtual bivalent streams for Common Lisp")
564 (description "Flexi-streams is an implementation of \"virtual\" bivalent
565 streams that can be layered atop real binary or bivalent streams and that can
566 be used to read and write character data in various single- or multi-octet
567 encodings which can be changed on the fly. It also supplies in-memory binary
568 streams which are similar to string streams.")
569 (home-page "http://weitz.de/flexi-streams/")
570 (license license:bsd-3)))
571
572 (define-public cl-flexi-streams
573 (sbcl-package->cl-source-package sbcl-flexi-streams))
574
575 (define-public ecl-flexi-streams
576 (sbcl-package->ecl-package sbcl-flexi-streams))
577
578 (define-public sbcl-cl-abnf
579 ;; There are no releases
580 (let ((commit "ba1fbb104dedbdaddb1ef93d2e4da711bd96cd70")
581 (revision "1"))
582 (package
583 (name "sbcl-cl-abnf")
584 (version (git-version "0.0.0" revision commit))
585 (source
586 (origin
587 (method git-fetch)
588 (uri (git-reference
589 (url "https://github.com/dimitri/cl-abnf")
590 (commit commit)))
591 (file-name (git-file-name "cl-abnf" version))
592 (sha256
593 (base32 "0f09nsndxa90acm71zd4qdnp40v705a4sqm04mnv9x76h6dlggmz"))))
594 (build-system asdf-build-system/sbcl)
595 (inputs
596 `(("cl-ppcre" ,sbcl-cl-ppcre)
597 ("esrap" ,sbcl-esrap)))
598 (arguments
599 `(#:asd-systems '("abnf")))
600 (home-page "https://github.com/dimitri/cl-abnf")
601 (synopsis "ABNF parser generator for Common Lisp")
602 (description "This Common Lisp library implements a parser generator for
603 the ABNF grammar format as described in RFC2234. The generated parser is a
604 regular expression scanner provided by the cl-ppcre lib, which means that we
605 can't parse recursive grammar definition. One such definition is the ABNF
606 definition as given by the RFC. Fortunately, as you have this lib, you most
607 probably don't need to generate another parser to handle that particular ABNF
608 grammar.")
609 (license license:expat))))
610
611 (define-public cl-abnf
612 (sbcl-package->cl-source-package sbcl-cl-abnf))
613
614 (define-public ecl-cl-abnf
615 (sbcl-package->ecl-package sbcl-cl-abnf))
616
617 (define-public sbcl-cl-ppcre
618 (package
619 (name "sbcl-cl-ppcre")
620 (version "2.1.1")
621 (source
622 (origin
623 (method git-fetch)
624 (uri (git-reference
625 (url "https://github.com/edicl/cl-ppcre")
626 (commit (string-append "v" version))))
627 (file-name (git-file-name "cl-ppcre" version))
628 (sha256
629 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
630 (build-system asdf-build-system/sbcl)
631 (native-inputs
632 `(("flexi-streams" ,sbcl-flexi-streams)))
633 (arguments
634 `(#:phases
635 (modify-phases %standard-phases
636 (add-after 'unpack 'disable-ppcre-unicode
637 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
638 ;; to work around the circular dependency between edicl/cl-ppcre
639 ;; and edicl/cl-unicode.
640 (lambda _
641 (delete-file "cl-ppcre-unicode.asd")
642 #t)))))
643 (synopsis "Portable regular expression library for Common Lisp")
644 (description "CL-PPCRE is a portable regular expression library for Common
645 Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
646 compatible with ANSI-compliant Common Lisp implementations.")
647 (home-page "http://weitz.de/cl-ppcre/")
648 (license license:bsd-2)))
649
650 (define-public cl-ppcre
651 (sbcl-package->cl-source-package sbcl-cl-ppcre))
652
653 (define-public ecl-cl-ppcre
654 (sbcl-package->ecl-package sbcl-cl-ppcre))
655
656 (define-public sbcl-parse
657 (let ((commit "2351ee78acac065fcf10b8713d3f404e2e910786")
658 (revision "1"))
659 (package
660 (name "sbcl-parse")
661 (version (git-version "1.0" revision commit))
662 (source
663 (origin
664 (method git-fetch)
665 (uri (git-reference
666 (url "https://github.com/massung/parse")
667 (commit commit)))
668 (file-name (git-file-name "parse" version))
669 (sha256
670 (base32 "0l18yabyh7jizm5lgvra0jxi8s1cfwghidi6ix1pyixjkdbjlmvy"))))
671 (build-system asdf-build-system/sbcl)
672 (home-page "https://github.com/massung/parse")
673 (synopsis "Monadic parsing for Common Lisp")
674 (description
675 "PARSE is a simple token parsing library for Common Lisp.")
676 (license license:asl2.0))))
677
678 (define-public ecl-parse
679 (sbcl-package->ecl-package sbcl-parse))
680
681 (define-public cl-parse
682 (sbcl-package->cl-source-package sbcl-parse))
683
684 (define-public sbcl-re
685 (let ((commit "cfbc1f482970221e80d445080a188fd5c755cd2c")
686 (revision "1"))
687 (package
688 (name "sbcl-re")
689 (version (git-version "1.0" revision commit))
690 (source
691 (origin
692 (method git-fetch)
693 (uri (git-reference
694 (url "https://github.com/massung/re")
695 (commit commit)))
696 (file-name (git-file-name "re" version))
697 (sha256
698 (base32 "1y2gq2sckspnq8118bix55p2j43dk9qn3p8a2rplp1ip2qxqbb1i"))))
699 (build-system asdf-build-system/sbcl)
700 (inputs
701 `(("parse" ,sbcl-parse)))
702 (home-page "https://github.com/massung/re")
703 (synopsis "Lua-style Pattern Matching for Common Lisp")
704 (description
705 "RE is a small, portable, lightweight, and quick, regular
706 expression library for Common Lisp. It is a non-recursive, backtracing VM.")
707 (license license:asl2.0))))
708
709 (define-public ecl-re
710 (sbcl-package->ecl-package sbcl-re))
711
712 (define-public cl-re
713 (sbcl-package->cl-source-package sbcl-re))
714
715 (define-public sbcl-ubiquitous
716 (let ((commit "35eb7bd9e1b3daee1705f6b41260775180cce8af")
717 (revision "1"))
718 (package
719 (name "sbcl-ubiquitous")
720 (version (git-version "2.0.0" revision commit))
721 (source
722 (origin
723 (method git-fetch)
724 (uri (git-reference
725 (url "https://github.com/Shinmera/ubiquitous")
726 (commit commit)))
727 (file-name (git-file-name "ubiquitous" version))
728 (sha256
729 (base32 "1xlkaqmjcpkiv2xl2s2pvvrv976dlc846wm16s1lj62iy1315i49"))))
730 (build-system asdf-build-system/sbcl)
731 (inputs
732 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
733 (arguments
734 '(#:asd-systems '("ubiquitous"
735 "ubiquitous-concurrent")))
736 (home-page "https://shinmera.github.io/ubiquitous/")
737 (synopsis "Application configuration mechanism for Common Lisp")
738 (description
739 "@code{UBIQUITOUS} is a very easy-to-use library for persistent
740 configuration storage. It automatically takes care of finding a suitable place
741 to save your data, and provides simple functions to access and modify the data
742 within.")
743 (license license:zlib))))
744
745 (define-public ecl-ubiquitous
746 (sbcl-package->ecl-package sbcl-ubiquitous))
747
748 (define-public cl-ubiquitous
749 (sbcl-package->cl-source-package sbcl-ubiquitous))
750
751 (define-public sbcl-uax-15
752 (package
753 (name "sbcl-uax-15")
754 (version "0.1.1")
755 (source
756 (origin
757 (method git-fetch)
758 (uri (git-reference
759 (url "https://github.com/sabracrolleton/uax-15")
760 (commit (string-append "v" version))))
761 (file-name (git-file-name "uax-15" version))
762 (sha256
763 (base32 "0p2ckw7mzxhwa9vbwj2q2dzayz9dl94d9yqd2ynp0pc5v8i0n2fr"))))
764 (build-system asdf-build-system/sbcl)
765 (arguments
766 `(#:asd-systems
767 '("uax-15")))
768 (native-inputs
769 `(("fiveam" ,sbcl-fiveam)))
770 (inputs
771 `(("cl-ppcre" ,sbcl-cl-ppcre)
772 ("split-sequence" ,sbcl-split-sequence)))
773 (home-page "https://github.com/sabracrolleton/uax-15")
774 (synopsis "Common Lisp implementation of unicode normalization functions")
775 (description
776 "This package provides supports for unicode normalization, RFC8264 and
777 RFC7564.")
778 (license license:expat)))
779
780 (define-public cl-uax-15
781 (sbcl-package->cl-source-package sbcl-uax-15))
782
783 (define-public ecl-uax-15
784 (sbcl-package->ecl-package sbcl-uax-15))
785
786 (define-public sbcl-cl-unicode
787 (package
788 (name "sbcl-cl-unicode")
789 (version "0.1.6")
790 (source (origin
791 (method git-fetch)
792 (uri (git-reference
793 (url "https://github.com/edicl/cl-unicode")
794 (commit (string-append "v" version))))
795 (file-name (git-file-name name version))
796 (sha256
797 (base32
798 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
799 (build-system asdf-build-system/sbcl)
800 (native-inputs
801 `(("flexi-streams" ,sbcl-flexi-streams)))
802 (inputs
803 `(("cl-ppcre" ,sbcl-cl-ppcre)))
804 (home-page "http://weitz.de/cl-unicode/")
805 (synopsis "Portable Unicode library for Common Lisp")
806 (description "CL-UNICODE is a portable Unicode library Common Lisp, which
807 is compatible with perl. It is pretty fast, thread-safe, and compatible with
808 ANSI-compliant Common Lisp implementations.")
809 (license license:bsd-2)))
810
811 (define-public ecl-cl-unicode
812 (sbcl-package->ecl-package sbcl-cl-unicode))
813
814 (define-public cl-unicode
815 (sbcl-package->cl-source-package sbcl-cl-unicode))
816
817 (define-public sbcl-cl-ppcre-unicode
818 (package (inherit sbcl-cl-ppcre)
819 (name "sbcl-cl-ppcre-unicode")
820 (inputs
821 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
822 ("sbcl-cl-unicode" ,sbcl-cl-unicode)))
823 (arguments
824 `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found"
825 #:phases
826 (modify-phases %standard-phases
827 (add-after 'unpack 'disable-ppcre
828 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
829 ;; to work around the circular dependency between edicl/cl-ppcre
830 ;; and edicl/cl-unicode.
831 (lambda _
832 (delete-file "cl-ppcre.asd")
833 #t)))))))
834
835 (define-public cl-ppcre-unicode
836 (sbcl-package->cl-source-package sbcl-cl-ppcre-unicode))
837
838 (define-public ecl-cl-ppcre-unicode
839 (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
840
841 (define-public sbcl-zpb-ttf
842 (package
843 (name "sbcl-zpb-ttf")
844 (version "1.0.3")
845 (source
846 (origin
847 (method git-fetch)
848 (uri (git-reference
849 (url "https://github.com/xach/zpb-ttf")
850 (commit (string-append "release-" version))))
851 (file-name (git-file-name name version))
852 (sha256
853 (base32
854 "1wh66vjijzqlydnrihynpwp6796917xwrh0i9li93c17kyxa74ih"))))
855 (build-system asdf-build-system/sbcl)
856 (home-page "https://github.com/xach/zpb-ttf")
857 (synopsis "TrueType font file access for Common Lisp")
858 (description
859 "ZPB-TTF is a TrueType font file parser that provides an interface for
860 reading typographic metrics, glyph outlines, and other information from the
861 file.")
862 (license license:bsd-2)))
863
864 (define-public ecl-zpb-ttf
865 (sbcl-package->ecl-package sbcl-zpb-ttf))
866
867 (define-public cl-zpb-ttf
868 (sbcl-package->cl-source-package sbcl-zpb-ttf))
869
870 (define-public sbcl-cl-vectors
871 (package
872 (name "sbcl-cl-vectors")
873 (version "0.1.5")
874 (source
875 (origin
876 (method url-fetch)
877 (uri (string-append "http://projects.tuxee.net/cl-vectors/"
878 "files/cl-vectors-" version ".tar.gz"))
879 (sha256
880 (base32
881 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh"))))
882 (build-system asdf-build-system/sbcl)
883 (inputs
884 `(("zpb-ttf" ,sbcl-zpb-ttf)))
885 (arguments
886 '(#:asd-systems '("cl-vectors"
887 "cl-paths-ttf")))
888 (home-page "http://projects.tuxee.net/cl-vectors/")
889 (synopsis "Create, transform and render anti-aliased vectorial paths")
890 (description
891 "This is a pure Common Lisp library to create, transform and render
892 anti-aliased vectorial paths.")
893 (license license:expat)))
894
895 (define-public ecl-cl-vectors
896 (sbcl-package->ecl-package sbcl-cl-vectors))
897
898 (define-public cl-vectors
899 (sbcl-package->cl-source-package sbcl-cl-vectors))
900
901 (define-public sbcl-spatial-trees
902 ;; There have been no releases.
903 (let ((commit "81fdad0a0bf109c80a53cc96eca2e093823400ba")
904 (revision "1"))
905 (package
906 (name "sbcl-spatial-trees")
907 (version (git-version "0" revision commit))
908 (source
909 (origin
910 (method git-fetch)
911 (uri (git-reference
912 (url "https://github.com/rpav/spatial-trees")
913 (commit commit)))
914 (file-name (git-file-name name version))
915 (sha256
916 (base32
917 "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"))))
918 (build-system asdf-build-system/sbcl)
919 (arguments
920 '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns
921 #:test-asd-file "spatial-trees.test.asd"))
922 (native-inputs
923 `(("fiveam" ,sbcl-fiveam)))
924 (home-page "https://github.com/rpav/spatial-trees")
925 (synopsis "Dynamic index data structures for spatially-extended data")
926 (description
927 "Spatial-trees is a set of dynamic index data structures for
928 spatially-extended data.")
929 (license license:bsd-3))))
930
931 (define-public ecl-spatial-trees
932 (sbcl-package->ecl-package sbcl-spatial-trees))
933
934 (define-public cl-spatial-trees
935 (sbcl-package->cl-source-package sbcl-spatial-trees))
936
937 (define-public sbcl-flexichain
938 ;; There are no releases.
939 (let ((commit "13d2a6c505ed0abfcd4c4ec7d7145059b06855d6")
940 (revision "1"))
941 (package
942 (name "sbcl-flexichain")
943 (version "1.5.1")
944 (source
945 (origin
946 (method git-fetch)
947 (uri (git-reference
948 (url "https://github.com/robert-strandh/Flexichain")
949 (commit commit)))
950 (file-name (git-file-name name version))
951 (sha256
952 (base32
953 "0pfyvhsfbjd2sjb30grfs52r51a428xglv7bwydvpg2lc117qimg"))))
954 (build-system asdf-build-system/sbcl)
955 (home-page "https://github.com/robert-strandh/Flexichain.git")
956 (synopsis "Dynamically add elements to or remove them from sequences")
957 (description
958 "This package provides an implementation of the flexichain protocol,
959 allowing client code to dynamically add elements to, and delete elements from
960 a sequence (or chain) of such elements.")
961 (license license:lgpl2.1+))))
962
963 (define-public ecl-flexichain
964 (sbcl-package->ecl-package sbcl-flexichain))
965
966 (define-public cl-flexichain
967 (sbcl-package->cl-source-package sbcl-flexichain))
968
969 (define-public sbcl-cl-pdf
970 ;; There are no releases
971 (let ((commit "752e337e6d6fc206f09d091a982e7f8e5c404e4e")
972 (revision "1"))
973 (package
974 (name "sbcl-cl-pdf")
975 (version (git-version "0" revision commit))
976 (source
977 (origin
978 (method git-fetch)
979 (uri (git-reference
980 (url "https://github.com/mbattyani/cl-pdf")
981 (commit commit)))
982 (file-name (git-file-name name version))
983 (sha256
984 (base32
985 "1cg3k3m3r11ipb8j008y8ipynj97l3xjlpi2knqc9ndmx4r3kb1r"))))
986 (build-system asdf-build-system/sbcl)
987 (inputs
988 `(("iterate" ,sbcl-iterate)
989 ("zpb-ttf" ,sbcl-zpb-ttf)))
990 (home-page "https://github.com/mbattyani/cl-pdf")
991 (synopsis "Common Lisp library for generating PDF files")
992 (description
993 "CL-PDF is a cross-platform Common Lisp library for generating PDF
994 files.")
995 (license license:bsd-2))))
996
997 (define-public ecl-cl-pdf
998 (sbcl-package->ecl-package sbcl-cl-pdf))
999
1000 (define-public cl-pdf
1001 (sbcl-package->cl-source-package sbcl-cl-pdf))
1002
1003 (define-public sbcl-clx
1004 (package
1005 (name "sbcl-clx")
1006 (version "0.7.5")
1007 (source
1008 (origin
1009 (method git-fetch)
1010 (uri
1011 (git-reference
1012 (url "https://github.com/sharplispers/clx")
1013 (commit version)))
1014 (sha256
1015 (base32
1016 "1vi67z9hpj5rr4xcmfbfwzmlcc0ah7hzhrmfid6lqdkva238v2wf"))
1017 (file-name (string-append "clx-" version))))
1018 (build-system asdf-build-system/sbcl)
1019 (native-inputs
1020 `(("fiasco" ,sbcl-fiasco)))
1021 (home-page "https://www.cliki.net/portable-clx")
1022 (synopsis "X11 client library for Common Lisp")
1023 (description "CLX is an X11 client library for Common Lisp. The code was
1024 originally taken from a CMUCL distribution, was modified somewhat in order to
1025 make it compile and run under SBCL, then a selection of patches were added
1026 from other CLXes around the net.")
1027 (license license:x11)))
1028
1029 (define-public cl-clx
1030 (sbcl-package->cl-source-package sbcl-clx))
1031
1032 (define-public ecl-clx
1033 (sbcl-package->ecl-package sbcl-clx))
1034
1035 (define-public sbcl-clx-truetype
1036 (let ((commit "c6e10a918d46632324d5863a8ed067a83fc26de8")
1037 (revision "1"))
1038 (package
1039 (name "sbcl-clx-truetype")
1040 (version (git-version "0.0.1" revision commit))
1041 (source
1042 (origin
1043 (method git-fetch)
1044 (uri (git-reference
1045 (url "https://github.com/l04m33/clx-truetype")
1046 (commit commit)))
1047 (file-name (git-file-name name version))
1048 (sha256
1049 (base32
1050 "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37"))
1051 (modules '((guix build utils)))
1052 (snippet
1053 '(begin
1054 (substitute* "package.lisp"
1055 ((":export") ":export\n :+font-cache-filename+"))
1056 #t))))
1057 (build-system asdf-build-system/sbcl)
1058 (inputs
1059 `(("clx" ,sbcl-clx)
1060 ("zpb-ttf" ,sbcl-zpb-ttf)
1061 ("cl-vectors" ,sbcl-cl-vectors)
1062 ("cl-fad" ,sbcl-cl-fad)
1063 ("cl-store" ,sbcl-cl-store)
1064 ("trivial-features" ,sbcl-trivial-features)))
1065 (home-page "https://github.com/l04m33/clx-truetype")
1066 (synopsis "Antialiased TrueType font rendering using CLX and XRender")
1067 (description "CLX-TrueType is pure common lisp solution for
1068 antialiased TrueType font rendering using CLX and XRender extension.")
1069 (license license:expat))))
1070
1071 (define-public cl-clx-truetype
1072 (sbcl-package->cl-source-package sbcl-clx-truetype))
1073
1074 (define-public ecl-clx-truetype
1075 (sbcl-package->ecl-package sbcl-clx-truetype))
1076
1077 (define-public sbcl-slynk
1078 (let ((commit "fb84318c08f59bc786e047006fc81e2ace568309"))
1079 (package
1080 (name "sbcl-slynk")
1081 (version (git-version "1.0.43" "4" commit))
1082 (source
1083 (origin
1084 (method git-fetch)
1085 (uri
1086 (git-reference
1087 (url "https://github.com/joaotavora/sly")
1088 (commit commit)))
1089 (sha256
1090 (base32 "0z123k9ak7yjb9bxb5qx48f33ma8066rhkqh8xc14z7shk75jybj"))
1091 (file-name (git-file-name "slynk" version))))
1092 (build-system asdf-build-system/sbcl)
1093 (outputs '("out" "image"))
1094 (arguments
1095 `(#:phases
1096 (modify-phases %standard-phases
1097 (add-after 'create-asdf-configuration 'build-image
1098 (lambda* (#:key outputs #:allow-other-keys)
1099 (build-image (string-append
1100 (assoc-ref %outputs "image")
1101 "/bin/slynk")
1102 %outputs
1103 #:dependencies '("slynk"
1104 "slynk/arglists"
1105 "slynk/fancy-inspector"
1106 "slynk/package-fu"
1107 "slynk/mrepl"
1108 "slynk/trace-dialog"
1109 "slynk/profiler"
1110 "slynk/stickers"
1111 "slynk/indentation"
1112 "slynk/retro"))
1113 #t)))))
1114 (synopsis "Common Lisp IDE for Emacs")
1115 (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
1116 It also features a completely redesigned REPL based on Emacs's own
1117 full-featured @code{comint-mode}, live code annotations, and a consistent interactive
1118 button interface. Everything can be copied to the REPL. One can create
1119 multiple inspectors with independent history.")
1120 (home-page "https://github.com/joaotavora/sly")
1121 (license license:public-domain)
1122 (properties `((cl-source-variant . ,(delay cl-slynk)))))))
1123
1124 (define-public cl-slynk
1125 (sbcl-package->cl-source-package sbcl-slynk))
1126
1127 (define-public ecl-slynk
1128 (let ((pkg (sbcl-package->ecl-package sbcl-slynk)))
1129 (package
1130 (inherit pkg)
1131 (outputs '("out"))
1132 (arguments
1133 (substitute-keyword-arguments (package-arguments pkg)
1134 ((#:phases phases)
1135 `(modify-phases ,phases
1136 (delete 'build-image))))))))
1137
1138 (define-public sbcl-parse-js
1139 (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
1140 (revision "1"))
1141 (package
1142 (name "sbcl-parse-js")
1143 (version (string-append "0.0.0-" revision "." (string-take commit 9)))
1144 (source
1145 (origin
1146 (method git-fetch)
1147 (uri (git-reference
1148 (url "http://marijn.haverbeke.nl/git/parse-js")
1149 (commit commit)))
1150 (file-name (string-append name "-" commit "-checkout"))
1151 (sha256
1152 (base32
1153 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
1154 (build-system asdf-build-system/sbcl)
1155 (home-page "https://marijnhaverbeke.nl/parse-js/")
1156 (synopsis "Parse JavaScript")
1157 (description "Parse-js is a Common Lisp package for parsing
1158 JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
1159 (license license:zlib))))
1160
1161 (define-public cl-parse-js
1162 (sbcl-package->cl-source-package sbcl-parse-js))
1163
1164 (define-public ecl-parse-js
1165 (sbcl-package->ecl-package sbcl-parse-js))
1166
1167 (define-public sbcl-parse-number
1168 (package
1169 (name "sbcl-parse-number")
1170 (version "1.7")
1171 (source
1172 (origin
1173 (method git-fetch)
1174 (uri (git-reference
1175 (url "https://github.com/sharplispers/parse-number/")
1176 (commit (string-append "v" version))))
1177 (file-name (git-file-name name version))
1178 (sha256
1179 (base32
1180 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"))))
1181 (build-system asdf-build-system/sbcl)
1182 (home-page "https://www.cliki.net/PARSE-NUMBER")
1183 (synopsis "Parse numbers")
1184 (description "@code{parse-number} is a library of functions for parsing
1185 strings into one of the standard Common Lisp number types without using the
1186 reader. @code{parse-number} accepts an arbitrary string and attempts to parse
1187 the string into one of the standard Common Lisp number types, if possible, or
1188 else @code{parse-number} signals an error of type @code{invalid-number}.")
1189 (license license:bsd-3)))
1190
1191 (define-public cl-parse-number
1192 (sbcl-package->cl-source-package sbcl-parse-number))
1193
1194 (define-public ecl-parse-number
1195 (sbcl-package->ecl-package sbcl-parse-number))
1196
1197 (define-public sbcl-iterate
1198 (package
1199 (name "sbcl-iterate")
1200 (version "1.5")
1201 (source
1202 (origin
1203 (method url-fetch)
1204 (uri (string-append "https://common-lisp.net/project/iterate/releases/"
1205 "iterate-" version ".tar.gz"))
1206 (sha256
1207 (base32
1208 "1lqsbhrkfl0yif46aymvb7l3nb9wdcmj4jyw485blj32jb4famzn"))))
1209 (build-system asdf-build-system/sbcl)
1210 (native-inputs
1211 `(("rt" ,sbcl-rt)))
1212 (home-page "https://common-lisp.net/project/iterate/")
1213 (synopsis "Iteration construct for Common Lisp")
1214 (description "@code{iterate} is an iteration construct for Common Lisp.
1215 It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
1216
1217 @itemize
1218 @item it is extensible,
1219 @item it helps editors like Emacs indent iterate forms by having a more
1220 lisp-like syntax, and
1221 @item it isn't part of the ANSI standard for Common Lisp.
1222 @end itemize\n")
1223 (license license:expat)))
1224
1225 (define-public cl-iterate
1226 (sbcl-package->cl-source-package sbcl-iterate))
1227
1228 (define-public ecl-iterate
1229 (sbcl-package->ecl-package sbcl-iterate))
1230
1231 (define-public sbcl-cl-uglify-js
1232 ;; There have been many bug fixes since the 2010 release.
1233 (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
1234 (revision "1"))
1235 (package
1236 (name "sbcl-cl-uglify-js")
1237 (version (string-append "0.1-" revision "." (string-take commit 9)))
1238 (source
1239 (origin
1240 (method git-fetch)
1241 (uri (git-reference
1242 (url "https://github.com/mishoo/cl-uglify-js")
1243 (commit commit)))
1244 (file-name (git-file-name name version))
1245 (sha256
1246 (base32
1247 "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"))))
1248 (build-system asdf-build-system/sbcl)
1249 (inputs
1250 `(("sbcl-parse-js" ,sbcl-parse-js)
1251 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
1252 ("sbcl-cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
1253 ("sbcl-parse-number" ,sbcl-parse-number)
1254 ("sbcl-iterate" ,sbcl-iterate)))
1255 (home-page "https://github.com/mishoo/cl-uglify-js")
1256 (synopsis "JavaScript compressor library for Common Lisp")
1257 (description "This is a Common Lisp version of UglifyJS, a JavaScript
1258 compressor. It works on data produced by @code{parse-js} to generate a
1259 @dfn{minified} version of the code. Currently it can:
1260
1261 @itemize
1262 @item reduce variable names (usually to single letters)
1263 @item join consecutive @code{var} statements
1264 @item resolve simple binary expressions
1265 @item group most consecutive statements using the @code{sequence} operator (comma)
1266 @item remove unnecessary blocks
1267 @item convert @code{IF} expressions in various ways that result in smaller code
1268 @item remove some unreachable code
1269 @end itemize\n")
1270 (license license:zlib))))
1271
1272 (define-public cl-uglify-js
1273 (sbcl-package->cl-source-package sbcl-cl-uglify-js))
1274
1275 (define-public ecl-cl-uglify-js
1276 (sbcl-package->ecl-package sbcl-cl-uglify-js))
1277
1278 (define-public uglify-js
1279 (package
1280 (inherit sbcl-cl-uglify-js)
1281 (name "uglify-js")
1282 (build-system trivial-build-system)
1283 (arguments
1284 `(#:modules ((guix build utils))
1285 #:builder
1286 (let* ((bin (string-append (assoc-ref %outputs "out") "/bin/"))
1287 (script (string-append bin "uglify-js")))
1288 (use-modules (guix build utils))
1289 (mkdir-p bin)
1290 (with-output-to-file script
1291 (lambda _
1292 (format #t "#!~a/bin/sbcl --script
1293
1294 (require :asdf)
1295 (asdf:initialize-source-registry
1296 #p\"~a/etc/common-lisp/source-registry.conf.d/\")
1297 (asdf:initialize-output-translations
1298 #p\"~a/etc/common-lisp/asdf-output-translations.conf.d/\")"
1299 (assoc-ref %build-inputs "sbcl")
1300 (assoc-ref %build-inputs "sbcl-cl-uglify-js")
1301 (assoc-ref %build-inputs "sbcl-cl-uglify-js"))
1302 ;; FIXME: cannot use progn here because otherwise it fails to
1303 ;; find cl-uglify-js.
1304 (for-each
1305 write
1306 '(;; Quiet, please!
1307 (let ((*standard-output* (make-broadcast-stream))
1308 (*error-output* (make-broadcast-stream)))
1309 (asdf:load-system :cl-uglify-js))
1310 (let ((file (cadr *posix-argv*)))
1311 (if file
1312 (format t "~a"
1313 (cl-uglify-js:ast-gen-code
1314 (cl-uglify-js:ast-mangle
1315 (cl-uglify-js:ast-squeeze
1316 (with-open-file (in file)
1317 (parse-js:parse-js in))))
1318 :beautify nil))
1319 (progn
1320 (format *error-output*
1321 "Please provide a JavaScript file.~%")
1322 (sb-ext:exit :code 1))))))))
1323 (chmod script #o755)
1324 #t)))
1325 (inputs
1326 `(("sbcl" ,sbcl)
1327 ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
1328 (synopsis "JavaScript compressor")))
1329
1330 (define-public sbcl-cl-strings
1331 (let ((revision "1")
1332 (commit "c5c5cbafbf3e6181d03c354d66e41a4f063f00ae"))
1333 (package
1334 (name "sbcl-cl-strings")
1335 (version (git-version "0.0.0" revision commit))
1336 (source
1337 (origin
1338 (method git-fetch)
1339 (uri (git-reference
1340 (url "https://github.com/diogoalexandrefranco/cl-strings")
1341 (commit commit)))
1342 (sha256
1343 (base32
1344 "00754mfaqallj480lwd346nkfb6ra8pa8xcxcylf4baqn604zlmv"))
1345 (file-name (string-append "cl-strings-" version "-checkout"))))
1346 (build-system asdf-build-system/sbcl)
1347 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
1348 (description
1349 "@command{cl-strings} is a small, portable, dependency-free set of
1350 utilities that make it even easier to manipulate text in Common Lisp. It has
1351 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
1352 (home-page "https://github.com/diogoalexandrefranco/cl-strings")
1353 (license license:expat))))
1354
1355 (define-public cl-strings
1356 (sbcl-package->cl-source-package sbcl-cl-strings))
1357
1358 (define-public ecl-cl-strings
1359 (sbcl-package->ecl-package sbcl-cl-strings))
1360
1361 (define-public sbcl-trivial-features
1362 ;; No release since 2014.
1363 (let ((commit "870d03de0ed44067963350936856e17ee725153e"))
1364 (package
1365 (name "sbcl-trivial-features")
1366 (version (git-version "0.8" "1" commit))
1367 (source
1368 (origin
1369 (method git-fetch)
1370 (uri (git-reference
1371 (url "https://github.com/trivial-features/trivial-features")
1372 (commit commit)))
1373 (file-name (git-file-name "trivial-features" version))
1374 (sha256
1375 (base32 "14pcahr8r2j3idhyy216zyw8jnj1dnrx0qbkkbdqkvwzign1ah4j"))))
1376 (build-system asdf-build-system/sbcl)
1377 (arguments
1378 '(#:asd-files '("trivial-features.asd")
1379 #:tests? #f))
1380 (home-page "https://cliki.net/trivial-features")
1381 (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
1382 (description "Trivial-features ensures that @code{*FEATURES*} is
1383 consistent across multiple Common Lisp implementations.")
1384 (license license:expat))))
1385
1386 (define-public cl-trivial-features
1387 (sbcl-package->cl-source-package sbcl-trivial-features))
1388
1389 (define-public ecl-trivial-features
1390 (sbcl-package->ecl-package sbcl-trivial-features))
1391
1392 (define-public sbcl-hu.dwim.asdf
1393 (let ((commit "67cdf84390e530af4303cc4bc815fdf2a5e48f59"))
1394 (package
1395 (name "sbcl-hu.dwim.asdf")
1396 (version "20200724")
1397 (source
1398 (origin
1399 (method git-fetch)
1400 (uri (git-reference
1401 (url "https://github.com/hu-dwim/hu.dwim.asdf")
1402 (commit commit)))
1403 (file-name (git-file-name name version))
1404 (sha256
1405 (base32
1406 "0p81jalilkaqw832a12s35q0z6rrarxjasm1jy6h4fvyj9pf0zkx"))))
1407 (build-system asdf-build-system/sbcl)
1408 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.asdf")
1409 (synopsis "Extensions to ASDF")
1410 (description "Various ASDF extensions such as attached test and
1411 documentation system, explicit development support, etc.")
1412 (license license:public-domain))))
1413
1414 (define-public cl-hu.dwim.asdf
1415 (sbcl-package->cl-source-package sbcl-hu.dwim.asdf))
1416
1417 (define-public ecl-hu.dwim.asdf
1418 (sbcl-package->ecl-package sbcl-hu.dwim.asdf))
1419
1420 (define-public sbcl-hu.dwim.stefil
1421 (let ((commit "414902c6f575818c39a8a156b8b61b1adfa73dad"))
1422 (package
1423 (name "sbcl-hu.dwim.stefil")
1424 (version (git-version "0.0.0" "2" commit))
1425 (source
1426 (origin
1427 (method git-fetch)
1428 (uri
1429 (git-reference
1430 (url "https://github.com/hu-dwim/hu.dwim.stefil")
1431 (commit commit)))
1432 (sha256
1433 (base32 "14izmjjim590rh74swrssavdmdznj2z8vhqixy780sjhpcr5pmkc"))
1434 (file-name (git-file-name "hu.dwim.stefil" version))))
1435 (build-system asdf-build-system/sbcl)
1436 (native-inputs
1437 `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
1438 (inputs
1439 `(("sbcl-alexandria" ,sbcl-alexandria)))
1440 (home-page "http://dwim.hu/project/hu.dwim.stefil")
1441 (synopsis "Simple test framework")
1442 (description "Stefil is a simple test framework for Common Lisp,
1443 with a focus on interactive development.")
1444 (license license:public-domain))))
1445
1446 (define-public cl-hu.dwim.stefil
1447 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
1448
1449 (define-public ecl-hu.dwim.stefil
1450 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
1451
1452 (define-public sbcl-babel
1453 ;; No release since 2014.
1454 (let ((commit "aeed2d1b76358db48e6b70a64399c05678a6b9ea"))
1455 (package
1456 (name "sbcl-babel")
1457 (version (git-version "0.5.0" "1" commit))
1458 (source
1459 (origin
1460 (method git-fetch)
1461 (uri (git-reference
1462 (url "https://github.com/cl-babel/babel")
1463 (commit commit)))
1464 (file-name (git-file-name "babel" version))
1465 (sha256
1466 (base32 "0lkvv4xdpv4cv1y2bqillmabx8sdb2y4l6pbinq6mjh33w2brpvb"))))
1467 (build-system asdf-build-system/sbcl)
1468 (native-inputs
1469 `(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
1470 (inputs
1471 `(("sbcl-alexandria" ,sbcl-alexandria)
1472 ("sbcl-trivial-features" ,sbcl-trivial-features)))
1473 (home-page "https://common-lisp.net/project/babel/")
1474 (synopsis "Charset encoding and decoding library")
1475 (description "Babel is a charset encoding and decoding library, not unlike
1476 GNU libiconv, but completely written in Common Lisp.")
1477 (license license:expat))))
1478
1479 (define-public cl-babel
1480 (sbcl-package->cl-source-package sbcl-babel))
1481
1482 (define-public ecl-babel
1483 (sbcl-package->ecl-package sbcl-babel))
1484
1485 (define-public sbcl-cl-yacc
1486 (package
1487 (name "sbcl-cl-yacc")
1488 (version "0.3")
1489 (source
1490 (origin
1491 (method git-fetch)
1492 (uri (git-reference
1493 (url "https://github.com/jech/cl-yacc")
1494 (commit (string-append "cl-yacc-" version))))
1495 (sha256
1496 (base32
1497 "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib"))
1498 (file-name (string-append "cl-yacc-" version "-checkout"))))
1499 (build-system asdf-build-system/sbcl)
1500 (arguments
1501 `(#:asd-systems '("yacc")))
1502 (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc")
1503 (description
1504 "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit
1505 to AT&T Yacc, Berkeley Yacc, GNU Bison, Zebu, lalr.cl or lalr.scm.
1506
1507 CL-Yacc uses the algorithm due to Aho and Ullman, which is the one also used
1508 by AT&T Yacc, Berkeley Yacc and Zebu. It does not use the faster algorithm due
1509 to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
1510 (home-page "https://www.irif.fr/~jch//software/cl-yacc/")
1511 (license license:expat)))
1512
1513 (define-public cl-yacc
1514 (sbcl-package->cl-source-package sbcl-cl-yacc))
1515
1516 (define-public ecl-cl-yacc
1517 (sbcl-package->ecl-package sbcl-cl-yacc))
1518
1519 (define-public sbcl-eager-future2
1520 (let ((commit "54df8effd9d9eccac917509590286b5ac5f9cb30"))
1521 (package
1522 (name "sbcl-eager-future2")
1523 (version (git-version "0.0.0" "1" commit))
1524 (source
1525 (origin
1526 (method git-fetch)
1527 (uri (git-reference
1528 (url "https://gitlab.common-lisp.net/vsedach/eager-future2.git")
1529 (commit commit)))
1530 (file-name (git-file-name name version))
1531 (sha256
1532 (base32
1533 "1qs1bv3m0ki8l5czhsflxcryh22r9d9g9a3a3b0cr0pl954q5rld"))))
1534 (build-system asdf-build-system/sbcl)
1535 (inputs
1536 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1537 ("trivial-garbage" ,sbcl-trivial-garbage)))
1538 (synopsis "Futures promises synchronization mechanism for Common Lisp")
1539 (description
1540 "Eager Future2 is a Common Lisp library that provides composable
1541 concurrency primitives that unify parallel and lazy evaluation, are integrated
1542 with the Common Lisp condition system, and have automatic resource
1543 management.")
1544 (home-page "https://gitlab.common-lisp.net/vsedach/eager-future2")
1545 (license license:lgpl3+))))
1546
1547 (define-public cl-eager-future2
1548 (sbcl-package->cl-source-package sbcl-eager-future2))
1549
1550 (define-public ecl-eager-future2
1551 (sbcl-package->ecl-package sbcl-eager-future2))
1552
1553 (define-public sbcl-jpl-util
1554 (let ((commit "0311ed374e19a49d43318064d729fe3abd9a3b62"))
1555 (package
1556 (name "sbcl-jpl-util")
1557 (version "20151005")
1558 (source
1559 (origin
1560 (method git-fetch)
1561 (uri (git-reference
1562 ;; Quicklisp uses this fork.
1563 (url "https://github.com/hawkir/cl-jpl-util")
1564 (commit commit)))
1565 (file-name
1566 (git-file-name "jpl-util" version))
1567 (sha256
1568 (base32
1569 "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"))))
1570 (build-system asdf-build-system/sbcl)
1571 (synopsis "Collection of Common Lisp utility functions and macros")
1572 (description
1573 "@command{cl-jpl-util} is a collection of Common Lisp utility functions
1574 and macros, primarily for software projects written in CL by the author.")
1575 (home-page "https://www.thoughtcrime.us/software/cl-jpl-util/")
1576 (license license:isc))))
1577
1578 (define-public cl-jpl-util
1579 (sbcl-package->cl-source-package sbcl-jpl-util))
1580
1581 (define-public ecl-jpl-util
1582 (sbcl-package->ecl-package sbcl-jpl-util))
1583
1584 (define-public sbcl-piping
1585 (let ((commit "c7a4163c00dea7e72bf6ad33d6abac0d5826a656")
1586 (revision "1"))
1587 (package
1588 (name "sbcl-piping")
1589 (version (git-version "2.0.0" revision commit))
1590 (source
1591 (origin
1592 (method git-fetch)
1593 (uri (git-reference
1594 (url "https://github.com/Shinmera/piping/")
1595 (commit commit)))
1596 (file-name (git-file-name "piping" version))
1597 (sha256
1598 (base32 "0in84qnfkynm36d4n4d6v87vprpi27xrydnga462wfhplji6klv5"))))
1599 (build-system asdf-build-system/sbcl)
1600 (home-page "https://shinmera.github.io/piping/")
1601 (synopsis "Library to enable simple message pipelines")
1602 (description
1603 "This is a Common Lisp library to enable simple message pipelines.")
1604 (license license:zlib))))
1605
1606 (define-public ecl-piping
1607 (sbcl-package->ecl-package sbcl-piping))
1608
1609 (define-public cl-piping
1610 (sbcl-package->cl-source-package sbcl-piping))
1611
1612 (define-public sbcl-cl-pcg
1613 (let ((commit "8263d85ab0ca17fb05637a4430c2d564456bce8f")
1614 (revision "1"))
1615 (package
1616 (name "sbcl-cl-pcg")
1617 (version (git-version "1.0.0" revision commit))
1618 (source
1619 (origin
1620 (method git-fetch)
1621 (uri (git-reference
1622 (url "https://github.com/sjl/cl-pcg")
1623 (commit commit)))
1624 (file-name (git-file-name "cl-pcg" version))
1625 (sha256
1626 (base32 "0s57wvvlvshp1gcp9i9d3qcmqhswnxps3i0y7wbb0v8i1a3p46m4"))))
1627 (build-system asdf-build-system/sbcl)
1628 (native-inputs
1629 `(("1am" ,sbcl-1am)))
1630 (home-page "https://github.com/sjl/cl-pcg")
1631 (synopsis "Permuted congruential generators in Common Lisp")
1632 (description
1633 "This is a bare-bones Permuted Congruential Generator implementation in
1634 pure Common Lisp.")
1635 (license license:expat))))
1636
1637 (define-public ecl-cl-pcg
1638 (sbcl-package->ecl-package sbcl-cl-pcg))
1639
1640 (define-public cl-pcg
1641 (sbcl-package->cl-source-package sbcl-cl-pcg))
1642
1643 (define-public sbcl-seedable-rng
1644 (let ((commit "aa1a1564b6e07e2698df37c7a98348c4f762cb15")
1645 (revision "1"))
1646 (package
1647 (name "sbcl-seedable-rng")
1648 (version (git-version "0.0.0" revision commit))
1649 (source
1650 (origin
1651 (method git-fetch)
1652 (uri (git-reference
1653 (url "https://git.mfiano.net/mfiano/seedable-rng")
1654 (commit commit)))
1655 (file-name (git-file-name "seedable-rng" version))
1656 (sha256
1657 (base32 "1ldpsbp3qrfzvknclsxj3sdyms1jf9ad20dvh4w0kw3zgahn2nr5"))))
1658 (build-system asdf-build-system/sbcl)
1659 (inputs
1660 `(("cl-pcg" ,sbcl-cl-pcg)
1661 ("golden-utils" ,sbcl-golden-utils)
1662 ("ironclad" ,sbcl-ironclad)))
1663 (home-page "https://git.mfiano.net/mfiano/seedable-rng")
1664 (synopsis "Common Lisp random number generator")
1665 (description
1666 "SEEDABLE-RNG provides a convenient means of generating random numbers
1667 that are seedable with deterministic results across hardware and Common Lisp
1668 implementations.")
1669 (license license:expat))))
1670
1671 (define-public ecl-seedable-rng
1672 (sbcl-package->ecl-package sbcl-seedable-rng))
1673
1674 (define-public cl-seedable-rng
1675 (sbcl-package->cl-source-package sbcl-seedable-rng))
1676
1677 (define-public sbcl-jpl-queues
1678 (package
1679 (name "sbcl-jpl-queues")
1680 (version "0.1")
1681 (source
1682 (origin
1683 (method url-fetch)
1684 (uri (string-append
1685 "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-"
1686 version
1687 ".tar.gz"))
1688 (sha256
1689 (base32
1690 "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96"))))
1691 (build-system asdf-build-system/sbcl)
1692 (inputs
1693 `(("jpl-util" ,sbcl-jpl-util)
1694 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1695 (arguments
1696 ;; Tests seem to be broken.
1697 `(#:tests? #f))
1698 (synopsis "Common Lisp library implementing a few different kinds of queues")
1699 (description
1700 "A Common Lisp library implementing a few different kinds of queues:
1701
1702 @itemize
1703 @item Bounded and unbounded FIFO queues.
1704 @item Lossy bounded FIFO queues that drop elements when full.
1705 @item Unbounded random-order queues that use less memory than unbounded FIFO queues.
1706 @end itemize
1707
1708 Additionally, a synchronization wrapper is provided to make any queue
1709 conforming to the @command{jpl-queues} API thread-safe for lightweight
1710 multithreading applications. (See Calispel for a more sophisticated CL
1711 multithreaded message-passing library with timeouts and alternation among
1712 several blockable channels.)")
1713 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1714 (license license:isc)))
1715
1716 (define-public cl-jpl-queues
1717 (sbcl-package->cl-source-package sbcl-jpl-queues))
1718
1719 (define-public ecl-jpl-queues
1720 (sbcl-package->ecl-package sbcl-jpl-queues))
1721
1722 (define-public sbcl-calispel
1723 (let ((commit "e9f2f9c1af97f4d7bb4c8ac25fb2a8f3e8fada7a"))
1724 (package
1725 (name "sbcl-calispel")
1726 (version (git-version "0.1" "1" commit))
1727 (source
1728 (origin
1729 (method git-fetch)
1730 (uri (git-reference
1731 ;; This fork replaces the dependency on the obsolete
1732 ;; eager-future with eager-future2.
1733 (url "https://github.com/hawkir/calispel")
1734 (commit commit)))
1735 (file-name (git-file-name name version))
1736 (sha256
1737 (base32
1738 "08bmf3pi7n5hadpmqqkg65cxcj6kbvm997wcs1f53ml1nb79d9z8"))))
1739 (build-system asdf-build-system/sbcl)
1740 (inputs
1741 `(("jpl-queues" ,sbcl-jpl-queues)
1742 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1743 (native-inputs
1744 `(("eager-future2" ,sbcl-eager-future2)))
1745 (synopsis "Thread-safe message-passing channels in Common Lisp")
1746 (description
1747 "Calispel is a Common Lisp library for thread-safe message-passing
1748 channels, in the style of the occam programming language, also known as
1749 communicating sequential processes (CSP). See
1750 @url{https://en.wikipedia.org/wiki/Communicating_sequential_processes}.
1751
1752 Calispel channels let one thread communicate with another, facilitating
1753 unidirectional communication of any Lisp object. Channels may be unbuffered,
1754 where a sender waits for a receiver (or vice versa) before either operation can
1755 continue, or channels may be buffered with flexible policy options.
1756
1757 Because sending and receiving on a channel may block, either operation can time
1758 out after a specified amount of time.
1759
1760 A syntax for alternation is provided (like @code{ALT} in occam, or Unix
1761 @code{select()}): given a sequence of operations, any or all of which may
1762 block, alternation selects the first operation that doesn't block and executes
1763 associated code. Alternation can also time out, executing an \"otherwise\"
1764 clause if no operation becomes available within a set amount of time.
1765
1766 Calispel is a message-passing library, and as such leaves the role of
1767 threading abstractions and utilities left to be filled by complementary
1768 libraries such as Bordeaux-Threads and Eager Future.")
1769 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1770 (license license:isc))))
1771
1772 (define-public cl-calispel
1773 (sbcl-package->cl-source-package sbcl-calispel))
1774
1775 (define-public ecl-calispel
1776 (sbcl-package->ecl-package sbcl-calispel))
1777
1778 (define-public sbcl-eos
1779 (let ((commit "b4413bccc4d142cbe1bf49516c3a0a22c9d99243")
1780 (revision "2"))
1781 (package
1782 (name "sbcl-eos")
1783 (version (git-version "0.0.0" revision commit))
1784 (source
1785 (origin
1786 (method git-fetch)
1787 (uri (git-reference
1788 (url "https://github.com/adlai/Eos")
1789 (commit commit)))
1790 (sha256
1791 (base32 "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk"))
1792 (file-name (git-file-name "eos" version))))
1793 (build-system asdf-build-system/sbcl)
1794 (synopsis "Unit Testing for Common Lisp")
1795 (description
1796 "Eos was a unit testing library for Common Lisp.
1797 It began as a fork of FiveAM; however, FiveAM development has continued, while
1798 that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
1799 (home-page "https://github.com/adlai/Eos")
1800 (license license:expat))))
1801
1802 (define-public cl-eos
1803 (sbcl-package->cl-source-package sbcl-eos))
1804
1805 (define-public ecl-eos
1806 (sbcl-package->ecl-package sbcl-eos))
1807
1808 (define-public sbcl-esrap
1809 (let ((commit "da6b24fb18bdb8e7e177bcf2820cdaf0b560deb6")
1810 (revision "1"))
1811 (package
1812 (name "sbcl-esrap")
1813 (version (git-version "0.18" revision commit))
1814 (source
1815 (origin
1816 (method git-fetch)
1817 (uri (git-reference
1818 (url "https://github.com/scymtym/esrap")
1819 (commit commit)))
1820 (sha256
1821 (base32 "12vf3bxwzf8icnf6rw1xalvm7493cfbb46r2vlhc09s59djkf39q"))
1822 (file-name (git-file-name "esrap" version))))
1823 (build-system asdf-build-system/sbcl)
1824 (native-inputs
1825 `(("fiveam" ,sbcl-fiveam)))
1826 (inputs
1827 `(("alexandria" ,sbcl-alexandria)))
1828 (synopsis "Common Lisp packrat parser")
1829 (description
1830 "This is a packrat parser for Common Lisp.
1831 In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
1832
1833 @itemize
1834 @item dynamic redefinition of nonterminals
1835 @item inline grammars
1836 @item semantic predicates
1837 @item introspective facilities (describing grammars, tracing, setting breaks)
1838 @item left-recursive grammars
1839 @item functions as terminals
1840 @item accurate, customizable parse error reports
1841 @end itemize\n")
1842 (home-page "https://scymtym.github.io/esrap/")
1843 (license license:expat))))
1844
1845 (define-public cl-esrap
1846 (sbcl-package->cl-source-package sbcl-esrap))
1847
1848 (define-public ecl-esrap
1849 (sbcl-package->ecl-package sbcl-esrap))
1850
1851 (define-public sbcl-split-sequence
1852 (package
1853 (name "sbcl-split-sequence")
1854 (version "2.0.0")
1855 (source
1856 (origin
1857 (method git-fetch)
1858 (uri (git-reference
1859 (url "https://github.com/sharplispers/split-sequence")
1860 (commit (string-append "v" version))))
1861 (sha256
1862 (base32
1863 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
1864 (file-name (git-file-name "split-sequence" version))))
1865 (build-system asdf-build-system/sbcl)
1866 (native-inputs
1867 `(("fiveam" ,sbcl-fiveam)))
1868 (synopsis "Member of the Common Lisp Utilities family of programs")
1869 (description
1870 "Splits sequence into a list of subsequences delimited by objects
1871 satisfying the test.")
1872 (home-page "https://cliki.net/split-sequence")
1873 (license license:expat)))
1874
1875 (define-public cl-split-sequence
1876 (sbcl-package->cl-source-package sbcl-split-sequence))
1877
1878 (define-public ecl-split-sequence
1879 (sbcl-package->ecl-package sbcl-split-sequence))
1880
1881 (define-public sbcl-html-encode
1882 (package
1883 (name "sbcl-html-encode")
1884 (version "1.2")
1885 (source
1886 (origin
1887 (method url-fetch)
1888 (uri (string-append
1889 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1890 version ".tgz"))
1891 (sha256
1892 (base32
1893 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1894 (file-name (string-append "colorize" version "-checkout"))))
1895 (build-system asdf-build-system/sbcl)
1896 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1897 (description
1898 "A library for encoding text in various web-savvy encodings.")
1899 (home-page "http://quickdocs.org/html-encode/")
1900 (license license:expat)))
1901
1902 (define-public cl-html-encode
1903 (sbcl-package->cl-source-package sbcl-html-encode))
1904
1905 (define-public ecl-html-encode
1906 (sbcl-package->ecl-package sbcl-html-encode))
1907
1908 (define-public sbcl-colorize
1909 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1910 (package
1911 (name "sbcl-colorize")
1912 (version (git-version "0.0.0" "1" commit))
1913 (source
1914 (origin
1915 (method git-fetch)
1916 (uri (git-reference
1917 (url "https://github.com/kingcons/colorize")
1918 (commit commit)))
1919 (sha256
1920 (base32
1921 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1922 (file-name (git-file-name "colorize" version))))
1923 (build-system asdf-build-system/sbcl)
1924 (inputs
1925 `(("alexandria" ,sbcl-alexandria)
1926 ("split-sequence" ,sbcl-split-sequence)
1927 ("html-encode" ,sbcl-html-encode)))
1928 (synopsis "Common Lisp for syntax highlighting")
1929 (description
1930 "@command{colorize} is a Lisp library for syntax highlighting
1931 supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1932 C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1933 (home-page "https://github.com/kingcons/colorize")
1934 ;; TODO: Missing license?
1935 (license license:expat))))
1936
1937 (define-public cl-colorize
1938 (sbcl-package->cl-source-package sbcl-colorize))
1939
1940 (define-public ecl-colorize
1941 (sbcl-package->ecl-package sbcl-colorize))
1942
1943 (define-public sbcl-3bmd
1944 (let ((commit "6fc5759448f6f6df6f6df556e020a289a2643288")
1945 (revision "2"))
1946 (package
1947 (name "sbcl-3bmd")
1948 (version (git-version "0.0.0" revision commit))
1949 (source
1950 (origin
1951 (method git-fetch)
1952 (uri (git-reference
1953 (url "https://github.com/3b/3bmd")
1954 (commit commit)))
1955 (sha256
1956 (base32 "1avmbp8xdjlbqpqk7p3vmj7abiw5p3vb5mrxp4wlvgql4sf6z3p4"))
1957 (file-name (git-file-name "3bmd" version))))
1958 (build-system asdf-build-system/sbcl)
1959 (arguments
1960 ;; FIXME: #41437 - Build fails when package name starts from a digit
1961 `(#:asd-systems
1962 '("3bmd"
1963 "3bmd-ext-definition-lists"
1964 "3bmd-ext-math"
1965 "3bmd-ext-tables"
1966 "3bmd-ext-wiki-links"
1967 "3bmd-youtube"
1968 "3bmd-ext-code-blocks")))
1969 (inputs
1970 `(("alexandria" ,sbcl-alexandria)
1971 ("colorize" ,sbcl-colorize)
1972 ("esrap" ,sbcl-esrap)
1973 ("split-sequence" ,sbcl-split-sequence)))
1974 (home-page "https://github.com/3b/3bmd")
1975 (synopsis "Markdown processor in Command Lisp using esrap parser")
1976 (description
1977 "This is a Common Lisp Markdown to HTML converter, using @command{esrap}
1978 for parsing, and grammar based on @command{peg-markdown}.")
1979 (license license:expat))))
1980
1981 (define-public cl-3bmd
1982 (sbcl-package->cl-source-package sbcl-3bmd))
1983
1984 (define-public ecl-3bmd
1985 (sbcl-package->ecl-package sbcl-3bmd))
1986
1987 (define-public sbcl-cl-fad
1988 (package
1989 (name "sbcl-cl-fad")
1990 (version "0.7.6")
1991 (source
1992 (origin
1993 (method git-fetch)
1994 (uri (git-reference
1995 (url "https://github.com/edicl/cl-fad/")
1996 (commit (string-append "v" version))))
1997 (sha256
1998 (base32
1999 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
2000 (file-name (string-append "cl-fad" version "-checkout"))))
2001 (build-system asdf-build-system/sbcl)
2002 (inputs
2003 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
2004 (synopsis "Portable pathname library for Common Lisp")
2005 (description
2006 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
2007 Lisp's standard pathname functions. It is intended to provide some
2008 unification between current CL implementations on Windows, OS X, Linux, and
2009 Unix. Most of the code was written by Peter Seibel for his book Practical
2010 Common Lisp.")
2011 (home-page "https://edicl.github.io/cl-fad/")
2012 (license license:bsd-2)))
2013
2014 (define-public cl-fad
2015 (sbcl-package->cl-source-package sbcl-cl-fad))
2016
2017 (define-public ecl-cl-fad
2018 (sbcl-package->ecl-package sbcl-cl-fad))
2019
2020 (define-public sbcl-fn
2021 (let ((commit "8d8587d03a7b5e26b306fc90018e385d9e5acc2c")
2022 (revision "1"))
2023 (package
2024 (name "sbcl-fn")
2025 (version (git-version "0.0.0" revision commit))
2026 (source
2027 (origin
2028 (method git-fetch)
2029 (uri (git-reference
2030 (url "https://github.com/cbaggers/fn")
2031 (commit commit)))
2032 (file-name (git-file-name "fn" version))
2033 (sha256
2034 (base32 "0yyp9z6iwx476whz0n1rpjznjyqqhlylhzwpgg5xx92lxmskl752"))))
2035 (build-system asdf-build-system/sbcl)
2036 (inputs
2037 `(("named-readtables" ,sbcl-named-readtables)))
2038 (home-page "https://github.com/cbaggers/fn")
2039 (synopsis "Macros for lambda brevity")
2040 (description
2041 "This is a Common Lisp library providing lambda shorthand macros aiming
2042 to be used in cases where the word @emph{lambda} and the arguments are longer
2043 than the body of the lambda.")
2044 (license license:public-domain))))
2045
2046 (define-public ecl-fn
2047 (sbcl-package->ecl-package sbcl-fn))
2048
2049 (define-public cl-fn
2050 (sbcl-package->cl-source-package sbcl-fn))
2051
2052 (define-public sbcl-rt
2053 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
2054 (revision "1"))
2055 (package
2056 (name "sbcl-rt")
2057 (version (git-version "1990.12.19" revision commit))
2058 (source
2059 (origin
2060 (method git-fetch)
2061 (uri (git-reference
2062 (url "http://git.kpe.io/rt.git")
2063 (commit commit)))
2064 (file-name (git-file-name name version))
2065 (sha256
2066 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
2067 (build-system asdf-build-system/sbcl)
2068 (synopsis "MIT Regression Tester")
2069 (description
2070 "RT provides a framework for writing regression test suites.")
2071 (home-page "https://www.cliki.net/rt")
2072 (license license:expat))))
2073
2074 (define-public cl-rt
2075 (sbcl-package->cl-source-package sbcl-rt))
2076
2077 (define-public ecl-rt
2078 (sbcl-package->ecl-package sbcl-rt))
2079
2080 (define-public sbcl-nibbles
2081 ;; No tagged release since 2018.
2082 (let ((commit "8e6b9b42d9f69000f55e5c45ad974d9e376ffdbd")
2083 (revision "1"))
2084 (package
2085 (name "sbcl-nibbles")
2086 (version (git-version "0.14" revision commit))
2087 (source
2088 (origin
2089 (method git-fetch)
2090 (uri (git-reference
2091 (url "https://github.com/sharplispers/nibbles/")
2092 (commit commit)))
2093 (sha256
2094 (base32 "15qlsm82h36pjgvfnbzdg60l21qxbaii4d049jc5y0dn56y93amb"))
2095 (file-name (git-file-name "nibbles" version))))
2096 (build-system asdf-build-system/sbcl)
2097 (native-inputs
2098 ;; Tests only.
2099 `(("rt" ,sbcl-rt)))
2100 (synopsis
2101 "Common Lisp library for accessing octet-addressed blocks of data")
2102 (description
2103 "When dealing with network protocols and file formats, it's common to
2104 have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
2105 flavors. Common Lisp sort of supports this by specifying :element-type for
2106 streams, but that facility is underspecified and there's nothing similar for
2107 read/write from octet vectors. What most people wind up doing is rolling their
2108 own small facility for their particular needs and calling it a day.
2109
2110 This library attempts to be comprehensive and centralize such
2111 facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
2112 vectors in signed or unsigned flavors are provided; these functions are also
2113 SETFable. Since it's sometimes desirable to read/write directly from streams,
2114 functions for doing so are also provided. On some implementations,
2115 reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
2116 also be supported.")
2117 (home-page "https://github.com/sharplispers/nibbles")
2118 (license license:bsd-3))))
2119
2120 (define-public cl-nibbles
2121 (sbcl-package->cl-source-package sbcl-nibbles))
2122
2123 (define-public ecl-nibbles
2124 (sbcl-package->ecl-package sbcl-nibbles))
2125
2126 (define-public sbcl-ironclad
2127 (package
2128 (name "sbcl-ironclad")
2129 (version "0.55")
2130 (source
2131 (origin
2132 (method git-fetch)
2133 (uri (git-reference
2134 (url "https://github.com/sharplispers/ironclad/")
2135 (commit (string-append "v" version))))
2136 (sha256
2137 (base32 "1w4slnc4143w1gcff1wxsivzb8kcji0bpd7y9rld3sabay0qprwl"))
2138 (file-name (git-file-name name version))))
2139 (build-system asdf-build-system/sbcl)
2140 (native-inputs
2141 ;; Tests only.
2142 `(("rt" ,sbcl-rt)))
2143 (inputs
2144 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2145 ("flexi-streams" ,sbcl-flexi-streams)))
2146 (synopsis "Cryptographic toolkit written in Common Lisp")
2147 (description
2148 "Ironclad is a cryptography library written entirely in Common Lisp.
2149 It includes support for several popular ciphers, digests, MACs and public key
2150 cryptography algorithms. For several implementations that support Gray
2151 streams, support is included for convenient stream wrappers.")
2152 (home-page "https://github.com/sharplispers/ironclad")
2153 (license license:bsd-3)))
2154
2155 (define-public cl-ironclad
2156 (sbcl-package->cl-source-package sbcl-ironclad))
2157
2158 (define-public ecl-ironclad
2159 (sbcl-package->ecl-package sbcl-ironclad))
2160
2161 (define-public sbcl-named-readtables
2162 (let ((commit "585a28eee8b1b1999279b48cb7e9731187e14b66")
2163 (revision "3"))
2164 (package
2165 (name "sbcl-named-readtables")
2166 (version (git-version "0.9" revision commit))
2167 (source
2168 (origin
2169 (method git-fetch)
2170 (uri (git-reference
2171 (url "https://github.com/melisgl/named-readtables")
2172 (commit commit)))
2173 (sha256
2174 (base32 "072p5djqq9pliw9r20rmpz5r5q5yn6rhbp98vkkp7gfcnp5ppj51"))
2175 (file-name (git-file-name "named-readtables" version))))
2176 (build-system asdf-build-system/sbcl)
2177 (home-page "https://github.com/melisgl/named-readtables/")
2178 (synopsis "Library that creates a namespace for named readtables")
2179 (description
2180 "Named readtables is a library that creates a namespace for named
2181 readtables, which is akin to package namespacing in Common Lisp.")
2182 (license license:bsd-3))))
2183
2184 (define-public cl-named-readtables
2185 (sbcl-package->cl-source-package sbcl-named-readtables))
2186
2187 (define-public ecl-named-readtables
2188 (sbcl-package->ecl-package sbcl-named-readtables))
2189
2190 (define-public sbcl-py-configparser
2191 ;; NOTE: (Sharlatan <2021-01-05 Tue> <19:52:19 UTC+0000>) Project updated last
2192 ;; time 8y ago, it looks like abandoned. VCS of the project:
2193 ;; https://svn.common-lisp.net/py-configparser/trunk
2194 (package
2195 (name "sbcl-py-configparser")
2196 (version "1.0.3")
2197 (source
2198 (origin
2199 (method url-fetch)
2200 (uri (string-append
2201 "https://common-lisp.net/project/py-configparser/releases/"
2202 "py-configparser-" version ".tar.gz"))
2203 (sha256
2204 (base32 "0i4rqz5cv7d7c2w81x5lwy05s6fbi3zikf4k5kpi3bkx3cabwdxj"))))
2205 (build-system asdf-build-system/sbcl)
2206 (inputs
2207 `(("parse-number" ,sbcl-parse-number)))
2208 (home-page "http://common-lisp.net/project/py-configparser/")
2209 (synopsis "ConfigParser Python module functionality for Common Lisp")
2210 (description "The py-configparser package implements the ConfigParser
2211 Python module functionality in Common Lisp. In short, it implements reading
2212 and writing of .INI-file style configuration files with sections containing
2213 key/value pairs of configuration options. In line with the functionalities in
2214 the python module, does this package implement basic interpolation of option
2215 values in other options.")
2216 (license license:expat)))
2217
2218 (define-public cl-py-configparser
2219 (sbcl-package->cl-source-package sbcl-py-configparser))
2220
2221 (define-public ecl-py-configparser
2222 (sbcl-package->ecl-package sbcl-py-configparser))
2223
2224 (define-public sbcl-pythonic-string-reader
2225 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
2226 (package
2227 (name "sbcl-pythonic-string-reader")
2228 (version (git-version "0.0.0" "1" commit))
2229 (source
2230 (origin
2231 (method git-fetch)
2232 (uri (git-reference
2233 (url "https://github.com/smithzvk/pythonic-string-reader/")
2234 (commit commit)))
2235 (sha256
2236 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
2237 (file-name (git-file-name "pythonic-string-reader" version))))
2238 (build-system asdf-build-system/sbcl)
2239 (inputs
2240 `(("named-readtables" ,sbcl-named-readtables)))
2241 (home-page "https://github.com/smithzvk/pythonic-string-reader")
2242 (synopsis "Read table modification inspired by Python's three quote strings")
2243 (description "This piece of code sets up some reader macros that make it
2244 simpler to input string literals which contain backslashes and double quotes
2245 This is very useful for writing complicated docstrings and, as it turns out,
2246 writing code that contains string literals that contain code themselves.")
2247 (license license:bsd-3))))
2248
2249 (define-public cl-pythonic-string-reader
2250 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
2251
2252 (define-public ecl-pythonic-string-reader
2253 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
2254
2255 (define-public sbcl-slime-swank
2256 (package
2257 (name "sbcl-slime-swank")
2258 (version "2.26")
2259 (source
2260 (origin
2261 (file-name (git-file-name "slime-swank" version))
2262 (method git-fetch)
2263 (uri (git-reference
2264 (url "https://github.com/slime/slime/")
2265 (commit (string-append "v" version))))
2266 (sha256
2267 (base32
2268 "0mxb1wnw19v0s72w2wkz5afdlzvpy5nn7pr4vav403qybac0sw5c"))))
2269 (build-system asdf-build-system/sbcl)
2270 (arguments
2271 '(#:asd-systems '("swank")))
2272 (home-page "https://github.com/slime/slime")
2273 (synopsis "Common Lisp Swank server")
2274 (description
2275 "This is only useful if you want to start a Swank server in a Lisp
2276 processes that doesn't run under Emacs. Lisp processes created by
2277 @command{M-x slime} automatically start the server.")
2278 (license (list license:gpl2+ license:public-domain))))
2279
2280 (define-public cl-slime-swank
2281 (sbcl-package->cl-source-package sbcl-slime-swank))
2282
2283 (define-public ecl-slime-swank
2284 (sbcl-package->ecl-package sbcl-slime-swank))
2285
2286 (define-public sbcl-mgl-pax
2287 (let ((commit "4ada6eb26364e71addb169ce58e4ba83bc7a8eaa")
2288 (revision "2"))
2289 (package
2290 (name "sbcl-mgl-pax")
2291 (version (git-version "0.0.3" revision commit))
2292 (source
2293 (origin
2294 (method git-fetch)
2295 (uri (git-reference
2296 (url "https://github.com/melisgl/mgl-pax")
2297 (commit commit)))
2298 (sha256
2299 (base32 "1s38crgvmd9hgqwsscqpj6m6c10a074zjgg8k5sl15yih1wkpssm"))
2300 (file-name (git-file-name "mgl-pax" version))))
2301 (build-system asdf-build-system/sbcl)
2302 (inputs
2303 `(("3bmd" ,sbcl-3bmd)
2304 ("babel" ,sbcl-babel)
2305 ("cl-fad" ,sbcl-cl-fad)
2306 ("ironclad" ,sbcl-ironclad)
2307 ("named-readtables" ,sbcl-named-readtables)
2308 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)
2309 ("swank" ,sbcl-slime-swank)))
2310 (synopsis "Exploratory programming environment and documentation generator")
2311 (description
2312 "PAX provides an extremely poor man's Explorable Programming
2313 environment. Narrative primarily lives in so called sections that mix markdown
2314 docstrings with references to functions, variables, etc, all of which should
2315 probably have their own docstrings.
2316
2317 The primary focus is on making code easily explorable by using SLIME's
2318 @command{M-.} (@command{slime-edit-definition}). See how to enable some
2319 fanciness in Emacs Integration. Generating documentation from sections and all
2320 the referenced items in Markdown or HTML format is also implemented.
2321
2322 With the simplistic tools provided, one may accomplish similar effects as with
2323 Literate Programming, but documentation is generated from code, not vice versa
2324 and there is no support for chunking yet. Code is first, code must look
2325 pretty, documentation is code.")
2326 (home-page "http://quotenil.com/")
2327 (license license:expat))))
2328
2329 (define-public cl-mgl-pax
2330 (sbcl-package->cl-source-package sbcl-mgl-pax))
2331
2332 (define-public ecl-mgl-pax
2333 (sbcl-package->ecl-package sbcl-mgl-pax))
2334
2335 (define-public sbcl-mssql
2336 (let ((commit "045602a19a32254108f2b75871049293f49731eb")
2337 (revision "1"))
2338 (package
2339 (name "sbcl-mssql")
2340 (version (git-version "0.0.3" revision commit))
2341 (source
2342 (origin
2343 (method git-fetch)
2344 (uri (git-reference
2345 (url "https://github.com/archimag/cl-mssql")
2346 (commit commit)))
2347 (file-name (git-file-name "cl-mssql" version))
2348 (sha256
2349 (base32 "09i50adppgc1ybm3ka9vbindhwa2x29f9n3n0jkrryymdhb8zknm"))))
2350 (build-system asdf-build-system/sbcl)
2351 (inputs
2352 `(("cffi" ,sbcl-cffi)
2353 ("freetds" ,freetds)
2354 ("garbage-pools" ,sbcl-garbage-pools)
2355 ("iterate" ,sbcl-iterate)
2356 ("parse-number" ,sbcl-parse-number)))
2357 (arguments
2358 `(#:phases
2359 (modify-phases %standard-phases
2360 (add-after 'unpack 'fix-paths
2361 (lambda* (#:key inputs #:allow-other-keys)
2362 (substitute* "src/mssql.lisp"
2363 (("libsybdb" all)
2364 (string-append (assoc-ref inputs "freetds") "/lib/" all)))
2365 #t)))))
2366 (home-page "https://github.com/archimag/cl-mssql")
2367 (synopsis "Common Lisp library to interact with MS SQL Server databases")
2368 (description
2369 "@code{cl-mssql} provides an interface to connect to Microsoft SQL
2370 server. It uses the @code{libsybdb} foreign library provided by the FreeTDS
2371 project.")
2372 (license license:llgpl))))
2373
2374 (define-public ecl-mssql
2375 (sbcl-package->ecl-package sbcl-mssql))
2376
2377 (define-public cl-mssql
2378 (sbcl-package->cl-source-package sbcl-mssql))
2379
2380 (define-public sbcl-lisp-unit
2381 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
2382 (package
2383 (name "sbcl-lisp-unit")
2384 (version (git-version "0.0.0" "1" commit))
2385 (source
2386 (origin
2387 (method git-fetch)
2388 (uri (git-reference
2389 (url "https://github.com/OdonataResearchLLC/lisp-unit")
2390 (commit commit)))
2391 (sha256
2392 (base32
2393 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
2394 (file-name (git-file-name "lisp-unit" version))))
2395 (build-system asdf-build-system/sbcl)
2396 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
2397 (description
2398 "@command{lisp-unit} is a Common Lisp library that supports unit
2399 testing. It is an extension of the library written by Chris Riesbeck.")
2400 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
2401 (license license:expat))))
2402
2403 (define-public cl-lisp-unit
2404 (sbcl-package->cl-source-package sbcl-lisp-unit))
2405
2406 (define-public ecl-lisp-unit
2407 (sbcl-package->ecl-package sbcl-lisp-unit))
2408
2409 (define-public sbcl-anaphora
2410 (package
2411 (name "sbcl-anaphora")
2412 (version "0.9.6")
2413 (source
2414 (origin
2415 (method git-fetch)
2416 (uri (git-reference
2417 (url "https://github.com/tokenrove/anaphora")
2418 (commit version)))
2419 (sha256
2420 (base32
2421 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
2422 (file-name (git-file-name "anaphora" version))))
2423 (build-system asdf-build-system/sbcl)
2424 (native-inputs
2425 `(("rt" ,sbcl-rt)))
2426 (synopsis "The anaphoric macro collection from Hell")
2427 (description
2428 "Anaphora is the anaphoric macro collection from Hell: it includes many
2429 new fiends in addition to old friends like @command{aif} and
2430 @command{awhen}.")
2431 (home-page "https://github.com/tokenrove/anaphora")
2432 (license license:public-domain)))
2433
2434 (define-public cl-anaphora
2435 (sbcl-package->cl-source-package sbcl-anaphora))
2436
2437 (define-public ecl-anaphora
2438 (sbcl-package->ecl-package sbcl-anaphora))
2439
2440 (define-public sbcl-lift
2441 (let ((commit "2594160d6ca3a77d8750110dfa63214256aab852")
2442 (revision "2"))
2443 (package
2444 (name "sbcl-lift")
2445 (version (git-version "1.7.1" revision commit))
2446 (source
2447 (origin
2448 (method git-fetch)
2449 (uri (git-reference
2450 (url "https://github.com/gwkkwg/lift")
2451 (commit commit)))
2452 (sha256
2453 (base32 "01xvz9sl5l5lai4h9dabmcjnm659wf5zllaxqbs55lffskp6jwq3"))
2454 (file-name (git-file-name "lift" version))
2455 (modules '((guix build utils)))
2456 (snippet
2457 ;; Don't keep the bundled website
2458 `(begin
2459 (delete-file-recursively "website")
2460 #t))))
2461 (build-system asdf-build-system/sbcl)
2462 (arguments
2463 ;; The tests require a debugger, but we run with the debugger disabled.
2464 '(#:tests? #f))
2465 (synopsis "LIsp Framework for Testing")
2466 (description
2467 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
2468 Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
2469 testcases are organized into hierarchical testsuites each of which can have
2470 its own fixture. When run, a testcase can succeed, fail, or error. LIFT
2471 supports randomized testing, benchmarking, profiling, and reporting.")
2472 (home-page "https://github.com/gwkkwg/lift")
2473 (license license:expat))))
2474
2475 (define-public cl-lift
2476 (sbcl-package->cl-source-package sbcl-lift))
2477
2478 (define-public ecl-lift
2479 (sbcl-package->ecl-package sbcl-lift))
2480
2481 (define-public sbcl-let-plus
2482 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
2483 (package
2484 (name "sbcl-let-plus")
2485 (version (git-version "0.0.0" "1" commit))
2486 (source
2487 (origin
2488 (method git-fetch)
2489 (uri (git-reference
2490 (url "https://github.com/sharplispers/let-plus")
2491 (commit commit)))
2492 (sha256
2493 (base32
2494 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
2495 (file-name (git-file-name "let-plus" version))))
2496 (build-system asdf-build-system/sbcl)
2497 (inputs
2498 `(("alexandria" ,sbcl-alexandria)
2499 ("anaphora" ,sbcl-anaphora)))
2500 (native-inputs
2501 `(("lift" ,sbcl-lift)))
2502 (synopsis "Destructuring extension of let*")
2503 (description
2504 "This library implements the let+ macro, which is a dectructuring
2505 extension of let*. It features:
2506
2507 @itemize
2508 @item Clean, consistent syntax and small implementation (less than 300 LOC,
2509 not counting tests)
2510 @item Placeholder macros allow editor hints and syntax highlighting
2511 @item @command{&ign} for ignored values (in forms where that makes sense)
2512 @item Very easy to extend
2513 @end itemize\n")
2514 (home-page "https://github.com/sharplispers/let-plus")
2515 (license license:boost1.0))))
2516
2517 (define-public cl-let-plus
2518 (sbcl-package->cl-source-package sbcl-let-plus))
2519
2520 (define-public ecl-let-plus
2521 (sbcl-package->ecl-package sbcl-let-plus))
2522
2523 (define-public sbcl-cl-colors
2524 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
2525 (package
2526 (name "sbcl-cl-colors")
2527 (version (git-version "0.0.0" "1" commit))
2528 (source
2529 (origin
2530 (method git-fetch)
2531 (uri (git-reference
2532 (url "https://github.com/tpapp/cl-colors")
2533 (commit commit)))
2534 (sha256
2535 (base32
2536 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2537 (file-name (git-file-name "cl-colors" version))))
2538 (build-system asdf-build-system/sbcl)
2539 (inputs
2540 `(("alexandria" ,sbcl-alexandria)
2541 ("let-plus" ,sbcl-let-plus)))
2542 (synopsis "Simple color library for Common Lisp")
2543 (description
2544 "This is a very simple color library for Common Lisp, providing
2545
2546 @itemize
2547 @item Types for representing colors in HSV and RGB spaces.
2548 @item Simple conversion functions between the above types (and also
2549 hexadecimal representation for RGB).
2550 @item Some predefined colors (currently X11 color names – of course the
2551 library does not depend on X11).Because color in your terminal is nice.
2552 @end itemize
2553
2554 This library is no longer supported by its author.")
2555 (home-page "https://github.com/tpapp/cl-colors")
2556 (license license:boost1.0))))
2557
2558 (define-public cl-colors
2559 (sbcl-package->cl-source-package sbcl-cl-colors))
2560
2561 (define-public ecl-cl-colors
2562 (sbcl-package->ecl-package sbcl-cl-colors))
2563
2564 (define-public sbcl-cl-ansi-text
2565 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2566 (package
2567 (name "sbcl-cl-ansi-text")
2568 (version (git-version "1.0.0" "1" commit))
2569 (source
2570 (origin
2571 (method git-fetch)
2572 (uri (git-reference
2573 (url "https://github.com/pnathan/cl-ansi-text")
2574 (commit commit)))
2575 (sha256
2576 (base32
2577 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2578 (file-name (git-file-name "cl-ansi-text" version))))
2579 (build-system asdf-build-system/sbcl)
2580 (inputs
2581 `(("alexandria" ,sbcl-alexandria)
2582 ("cl-colors" ,sbcl-cl-colors)))
2583 (native-inputs
2584 `(("fiveam" ,sbcl-fiveam)))
2585 (synopsis "ANSI terminal color implementation for Common Lisp")
2586 (description
2587 "@command{cl-ansi-text} provides utilities which enable printing to an
2588 ANSI terminal with colored text. It provides the macro @command{with-color}
2589 which causes everything printed in the body to be displayed with the provided
2590 color. It further provides functions which will print the argument with the
2591 named color.")
2592 (home-page "https://github.com/pnathan/cl-ansi-text")
2593 (license license:llgpl))))
2594
2595 (define-public cl-ansi-text
2596 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2597
2598 (define-public ecl-cl-ansi-text
2599 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2600
2601 (define-public sbcl-prove
2602 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2603 (package
2604 (name "sbcl-prove")
2605 (version (git-version "1.0.0" "1" commit))
2606 (source
2607 (origin
2608 (method git-fetch)
2609 (uri (git-reference
2610 (url "https://github.com/fukamachi/prove")
2611 (commit commit)))
2612 (sha256
2613 (base32
2614 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2615 (file-name (git-file-name "prove" version))))
2616 (build-system asdf-build-system/sbcl)
2617 (inputs
2618 `(("alexandria" ,sbcl-alexandria)
2619 ("cl-ppcre" ,sbcl-cl-ppcre)
2620 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2621 (synopsis "Yet another unit testing framework for Common Lisp")
2622 (description
2623 "This project was originally called @command{cl-test-more}.
2624 @command{prove} is yet another unit testing framework for Common Lisp. The
2625 advantages of @command{prove} are:
2626
2627 @itemize
2628 @item Various simple functions for testing and informative error messages
2629 @item ASDF integration
2630 @item Extensible test reporters
2631 @item Colorizes the report if it's available (note for SLIME)
2632 @item Reports test durations
2633 @end itemize\n")
2634 (home-page "https://github.com/fukamachi/prove")
2635 (license license:expat))))
2636
2637 (define-public cl-prove
2638 (sbcl-package->cl-source-package sbcl-prove))
2639
2640 (define-public ecl-prove
2641 (sbcl-package->ecl-package sbcl-prove))
2642
2643 (define-public sbcl-proc-parse
2644 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2645 (package
2646 (name "sbcl-proc-parse")
2647 (version (git-version "0.0.0" "1" commit))
2648 (source
2649 (origin
2650 (method git-fetch)
2651 (uri (git-reference
2652 (url "https://github.com/fukamachi/proc-parse")
2653 (commit commit)))
2654 (sha256
2655 (base32
2656 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2657 (file-name (git-file-name "proc-parse" version))))
2658 (build-system asdf-build-system/sbcl)
2659 (inputs
2660 `(("alexandria" ,sbcl-alexandria)
2661 ("babel" ,sbcl-babel)))
2662 (native-inputs
2663 `(("prove" ,sbcl-prove)))
2664 (arguments
2665 ;; TODO: Tests don't find "proc-parse-test", why?
2666 `(#:tests? #f))
2667 (synopsis "Procedural vector parser")
2668 (description
2669 "This is a string/octets parser library for Common Lisp with speed and
2670 readability in mind. Unlike other libraries, the code is not a
2671 pattern-matching-like, but a char-by-char procedural parser.")
2672 (home-page "https://github.com/fukamachi/proc-parse")
2673 (license license:bsd-2))))
2674
2675 (define-public cl-proc-parse
2676 (sbcl-package->cl-source-package sbcl-proc-parse))
2677
2678 (define-public ecl-proc-parse
2679 (sbcl-package->ecl-package sbcl-proc-parse))
2680
2681 (define-public sbcl-parse-float
2682 (let ((commit "3074765101e41222b6b624a66aaf1e6416379f9c")
2683 (revision "2"))
2684 (package
2685 (name "sbcl-parse-float")
2686 (version (git-version "0.0.0" revision commit))
2687 (source
2688 (origin
2689 (method git-fetch)
2690 (uri (git-reference
2691 (url "https://github.com/soemraws/parse-float")
2692 (commit commit)))
2693 (sha256
2694 (base32 "0jd2spawc3v8vzqf8ky4cngl45jm65fhkrdf20mf6dcbn3mzpkmr"))
2695 (file-name (git-file-name "proc-parse" version))))
2696 (build-system asdf-build-system/sbcl)
2697 (arguments
2698 ;; FIXME: https://github.com/soemraws/parse-float/issues/12
2699 `(#:asd-systems '("parse-float" "parse-float-tests")))
2700 (native-inputs
2701 `(("lisp-unit" ,sbcl-lisp-unit)))
2702 (inputs
2703 `(("alexandria" ,sbcl-alexandria)))
2704 (home-page "https://github.com/soemraws/parse-float")
2705 (synopsis "Parse a floating point value from a string in Common Lisp")
2706 (description
2707 "This package exports the following function to parse floating-point
2708 values from a string in Common Lisp.")
2709 (license license:public-domain))))
2710
2711 (define-public cl-parse-float
2712 (sbcl-package->cl-source-package sbcl-parse-float))
2713
2714 (define-public ecl-parse-float
2715 (sbcl-package->ecl-package sbcl-parse-float))
2716
2717 (define-public sbcl-cl-string-match
2718 (let ((revision "1")
2719 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2720 (package
2721 (name "sbcl-cl-string-match")
2722 (version (git-version "0" revision changeset))
2723 (source
2724 (origin
2725 (method hg-fetch)
2726 (uri (hg-reference
2727 (url "https://bitbucket.org/vityok/cl-string-match/")
2728 (changeset changeset)))
2729 (sha256
2730 (base32
2731 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2732 (file-name (git-file-name "cl-string-match" version))))
2733 (build-system asdf-build-system/sbcl)
2734 (inputs
2735 `(("alexandria" ,sbcl-alexandria)
2736 ("babel" ,sbcl-babel)
2737 ("iterate" ,sbcl-iterate)
2738 ("jpl-queues" ,sbcl-jpl-queues)
2739 ("jpl-util" ,sbcl-jpl-util)
2740 ("mgl-pax" ,sbcl-mgl-pax)
2741 ("parse-float" ,sbcl-parse-float)
2742 ("proc-parse" ,sbcl-proc-parse)
2743 ("yacc" ,sbcl-cl-yacc)))
2744 ;; TODO: Tests are not evaluated properly.
2745 (native-inputs
2746 ;; For testing:
2747 `(("lisp-unit" ,sbcl-lisp-unit)))
2748 (arguments
2749 `(#:tests? #f))
2750 (synopsis "Set of utilities to manipulate strings in Common Lisp")
2751 (description
2752 "@command{cl-strings} is a small, portable, dependency-free set of
2753 utilities that make it even easier to manipulate text in Common Lisp. It has
2754 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
2755 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2756 (license license:bsd-3))))
2757
2758 (define-public cl-string-match
2759 (sbcl-package->cl-source-package sbcl-cl-string-match))
2760
2761 (define-public ecl-cl-string-match
2762 (sbcl-package->ecl-package sbcl-cl-string-match))
2763
2764 (define-public sbcl-ptester
2765 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2766 (revision "1"))
2767 (package
2768 (name "sbcl-ptester")
2769 (version (git-version "2.1.3" revision commit))
2770 (source
2771 (origin
2772 (method git-fetch)
2773 (uri (git-reference
2774 (url "http://git.kpe.io/ptester.git")
2775 (commit commit)))
2776 (file-name (git-file-name name version))
2777 (sha256
2778 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2779 (build-system asdf-build-system/sbcl)
2780 (home-page "http://quickdocs.org/ptester/")
2781 (synopsis "Portable test harness package")
2782 (description
2783 "@command{ptester} is a portable testing framework based on Franz's
2784 tester module.")
2785 (license license:llgpl))))
2786
2787 (define-public cl-ptester
2788 (sbcl-package->cl-source-package sbcl-ptester))
2789
2790 (define-public ecl-ptester
2791 (sbcl-package->ecl-package sbcl-ptester))
2792
2793 (define-public sbcl-puri
2794 (let ((commit "4bbab89d9ccbb26346899d1f496c97604fec567b")
2795 (revision "2"))
2796 (package
2797 (name "sbcl-puri")
2798 (version (git-version "1.5.7" revision commit))
2799 (source
2800 (origin
2801 (method git-fetch)
2802 (uri (git-reference
2803 (url "http://git.kpe.io/puri.git")
2804 (commit commit)))
2805 (file-name (git-file-name "puri" version))
2806 (sha256
2807 (base32 "0gq2rsr0aihs0z20v4zqvmdl4szq53b52rh97pvnmwrlbn4mapmd"))))
2808 (build-system asdf-build-system/sbcl)
2809 (native-inputs
2810 `(("ptester" ,sbcl-ptester)))
2811 (home-page "http://puri.kpe.io/")
2812 (synopsis "Portable URI Library")
2813 (description
2814 "This is a portable Universal Resource Identifier library for Common
2815 Lisp programs. It parses URI according to the RFC 2396 specification.")
2816 (license license:llgpl))))
2817
2818 (define-public cl-puri
2819 (sbcl-package->cl-source-package sbcl-puri))
2820
2821 (define-public ecl-puri
2822 (sbcl-package->ecl-package sbcl-puri))
2823
2824 (define-public sbcl-qmynd
2825 (let ((commit "7e56daf73f0ed5f49a931c01af75fb874bcf3445")
2826 (revision "1"))
2827 (package
2828 (name "sbcl-qmynd")
2829 (version (git-version "1.0.0" revision commit))
2830 (source
2831 (origin
2832 (method git-fetch)
2833 (uri (git-reference
2834 (url "https://github.com/qitab/qmynd")
2835 (commit commit)))
2836 (file-name (git-file-name name version))
2837 (sha256
2838 (base32
2839 "06gw5wxcpdclb6a5i5k9lbmdlyqsp182czrm9bm1cpklzbj0ihrl"))))
2840 (build-system asdf-build-system/sbcl)
2841 (inputs
2842 `(("asdf-finalizers" ,sbcl-asdf-finalizers)
2843 ("babel" ,sbcl-babel)
2844 ("chipz" ,sbcl-chipz)
2845 ("cl+ssl" ,sbcl-cl+ssl)
2846 ("flexi-streams" ,sbcl-flexi-streams)
2847 ("ironclad" ,sbcl-ironclad)
2848 ("salza2" ,sbcl-salza2)
2849 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
2850 ("usocket" ,sbcl-usocket)))
2851 (home-page "https://github.com/qitab/qmynd")
2852 (synopsis "QITAB MySQL Native Driver for Common Lisp")
2853 (description "QMyND, the QITAB MySQL Native Driver, is a MySQL client
2854 library that directly talks to a MySQL server in its native network protocol.
2855
2856 It's a part of QITAB umbrella project.")
2857 (license license:expat))))
2858
2859 (define-public ecl-qmynd
2860 (sbcl-package->ecl-package sbcl-qmynd))
2861
2862 (define-public cl-qmynd
2863 (sbcl-package->cl-source-package sbcl-qmynd))
2864
2865 (define-public sbcl-queues
2866 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2867 (package
2868 (name "sbcl-queues")
2869 (version (git-version "0.0.0" "1" commit))
2870 (source
2871 (origin
2872 (method git-fetch)
2873 (uri (git-reference
2874 (url "https://github.com/oconnore/queues")
2875 (commit commit)))
2876 (file-name (git-file-name "queues" version))
2877 (sha256
2878 (base32
2879 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2880 (build-system asdf-build-system/sbcl)
2881 (inputs
2882 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
2883 (arguments
2884 '(#:asd-systems '("queues"
2885 "queues.simple-queue"
2886 "queues.simple-cqueue"
2887 "queues.priority-queue"
2888 "queues.priority-cqueue")))
2889 (home-page "https://github.com/oconnore/queues")
2890 (synopsis "Common Lisp queue library")
2891 (description
2892 "This is a simple queue library for Common Lisp with features such as
2893 non-consing thread safe queues and fibonacci priority queues.")
2894 (license license:expat))))
2895
2896 (define-public cl-queues
2897 (sbcl-package->cl-source-package sbcl-queues))
2898
2899 (define-public ecl-queues
2900 (sbcl-package->ecl-package sbcl-queues))
2901
2902 (define-public sbcl-glsl-packing
2903 (let ((commit "03628159468a8e5b7f2a1d5e78b77053e136794a")
2904 (revision "1"))
2905 (package
2906 (name "sbcl-glsl-packing")
2907 (version (git-version "0.0.0" revision commit))
2908 (source
2909 (origin
2910 (method git-fetch)
2911 (uri (git-reference
2912 (url "https://github.com/3b/glsl-packing/")
2913 (commit commit)))
2914 (file-name (git-file-name "glsl-packing" version))
2915 (sha256
2916 (base32 "0k2f1771wd9kdrcasldy1r00k5bdgi9fd07in52zmjggc0i7dd80"))))
2917 (build-system asdf-build-system/sbcl)
2918 (inputs
2919 `(("alexandria" ,sbcl-alexandria)))
2920 (home-page "https://github.com/3b/glsl-packing/")
2921 (synopsis "Common Lisp utilities to calculate OpenGL layouts")
2922 (description
2923 "This is a Common Lisp library to calculate std140 or std430 layouts for
2924 a glsl UBO/SSBO.")
2925 (license license:expat))))
2926
2927 (define-public ecl-glsl-packing
2928 (sbcl-package->ecl-package sbcl-glsl-packing))
2929
2930 (define-public cl-glsl-packing
2931 (sbcl-package->cl-source-package sbcl-glsl-packing))
2932
2933 (define-public sbcl-glsl-spec
2934 (let ((commit "f04476f7da89355ae6856b33283c60ba95c6555d")
2935 (revision "1"))
2936 (package
2937 (name "sbcl-glsl-spec")
2938 (version (git-version "0.0.0" revision commit))
2939 (source
2940 (origin
2941 (method git-fetch)
2942 (uri (git-reference
2943 (url "https://github.com/cbaggers/glsl-spec")
2944 (commit commit)))
2945 (file-name (git-file-name "glsl-spec" version))
2946 (sha256
2947 (base32 "01ipspr22fgfj3w8wq2y81lzrjc4vpfiwnr3dqhjlpzzra46am8c"))))
2948 (build-system asdf-build-system/sbcl)
2949 (arguments
2950 `(#:asd-systems '("glsl-spec" "glsl-symbols" "glsl-docs")))
2951 (home-page "https://github.com/cbaggers/glsl-spec")
2952 (synopsis "Common Lisp GLSL specification as a datastructure")
2953 (description
2954 "This package contains the specification of all functions and variables
2955 from GLSL as data.")
2956 (license license:unlicense))))
2957
2958 (define-public ecl-glsl-spec
2959 (sbcl-package->ecl-package sbcl-glsl-spec))
2960
2961 (define-public cl-glsl-spec
2962 (sbcl-package->cl-source-package sbcl-glsl-spec))
2963
2964 (define-public sbcl-rtg-math
2965 (let ((commit "29fc5b3d0028a4a11a82355ecc8cca62662c69e0")
2966 (revision "1"))
2967 (package
2968 (name "sbcl-rtg-math")
2969 (version (git-version "0.0.0" revision commit))
2970 (source
2971 (origin
2972 (method git-fetch)
2973 (uri (git-reference
2974 (url "https://github.com/cbaggers/rtg-math")
2975 (commit commit)))
2976 (file-name (git-file-name "rtg-math" version))
2977 (sha256
2978 (base32 "0bhxxnv7ldkkb18zdxyz2rj2a3iawzq2kcp7cn5i91iby7n0082x"))))
2979 (build-system asdf-build-system/sbcl)
2980 (inputs
2981 `(("alexandria" ,sbcl-alexandria)
2982 ("documentation-utils" ,sbcl-documentation-utils)
2983 ("glsl-symbols" ,sbcl-glsl-spec)))
2984 (home-page "https://github.com/cbaggers/rtg-math")
2985 (synopsis "Common Lisp library of game-related math functions")
2986 (description
2987 "RTG-MATH provides a selection of the math routines most commonly needed
2988 for making realtime graphics in Lisp.")
2989 (license license:bsd-2))))
2990
2991 (define-public ecl-rtg-math
2992 (sbcl-package->ecl-package sbcl-rtg-math))
2993
2994 (define-public cl-rtg-math
2995 (sbcl-package->cl-source-package sbcl-rtg-math))
2996
2997 (define-public sbcl-varjo
2998 (let ((commit "9e77f30220053155d2ef8870ceba157f75e538d4")
2999 (revision "1"))
3000 (package
3001 (name "sbcl-varjo")
3002 (version (git-version "0.0.0" revision commit))
3003 (source
3004 (origin
3005 (method git-fetch)
3006 (uri (git-reference
3007 (url "https://github.com/cbaggers/varjo")
3008 (commit commit)))
3009 (file-name (git-file-name "varjo" version))
3010 (sha256
3011 (base32 "1p9x1wj576x5d31yvls9r1avkjkyhri7kyxbjfkg9z93a1w18j9z"))))
3012 (build-system asdf-build-system/sbcl)
3013 (native-inputs
3014 `(("fiveam" ,sbcl-fiveam)))
3015 (inputs
3016 `(("alexandria" ,sbcl-alexandria)
3017 ("cl-ppcre" ,sbcl-cl-ppcre)
3018 ("documentation-utils" ,sbcl-documentation-utils)
3019 ("fn" ,sbcl-fn)
3020 ("glsl-spec" ,sbcl-glsl-spec)
3021 ("named-readtables" ,sbcl-named-readtables)
3022 ("parse-float" ,sbcl-parse-float)
3023 ("vas-string-metrics" ,sbcl-vas-string-metrics)))
3024 (home-page "https://github.com/cbaggers/varjo")
3025 (synopsis "Lisp to GLSL Language Translator")
3026 (description
3027 "Varjo is a Lisp to GLSL compiler. Vari is the dialect of lisp Varjo
3028 compiles. It aims to be as close to Common Lisp as possible, but naturally it
3029 is statically typed so there are differences.")
3030 (license license:bsd-2))))
3031
3032 (define-public ecl-varjo
3033 (sbcl-package->ecl-package sbcl-varjo))
3034
3035 (define-public cl-varjo
3036 (sbcl-package->cl-source-package sbcl-varjo))
3037
3038 (define-public sbcl-cffi
3039 (package
3040 (name "sbcl-cffi")
3041 (version "0.23.0")
3042 (source
3043 (origin
3044 (method git-fetch)
3045 (uri (git-reference
3046 (url "https://github.com/cffi/cffi")
3047 (commit (string-append "v" version))))
3048 (file-name (git-file-name "cffi-bootstrap" version))
3049 (sha256
3050 (base32 "03s98imc5niwnpj3hhrafl7dmxq45g74h96sm68976k7ahi3vl5b"))))
3051 (build-system asdf-build-system/sbcl)
3052 (inputs
3053 `(("alexandria" ,sbcl-alexandria)
3054 ("babel" ,sbcl-babel)
3055 ("libffi" ,libffi)
3056 ("trivial-features" ,sbcl-trivial-features)))
3057 (native-inputs
3058 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3059 ("pkg-config" ,pkg-config)
3060 ("rt" ,sbcl-rt)))
3061 (arguments
3062 '(#:phases
3063 (modify-phases %standard-phases
3064 (add-after 'unpack 'fix-arm-support
3065 (lambda _
3066 ;; This is apparently deprecated since libffi-3.3.
3067 (substitute* "libffi/libffi-types.lisp"
3068 (("\\\(\\\(:unix64.*") ")\n"))
3069 #t))
3070 (add-after 'unpack 'fix-paths
3071 (lambda* (#:key inputs #:allow-other-keys)
3072 (substitute* "libffi/libffi.lisp"
3073 (("libffi.so.7" all) (string-append
3074 (assoc-ref inputs "libffi")
3075 "/lib/" all)))
3076 (substitute* "toolchain/c-toolchain.lisp"
3077 (("\"cc\"") (format #f "~S" (which "gcc"))))))
3078 (add-after 'build 'install-headers
3079 (lambda* (#:key outputs #:allow-other-keys)
3080 (install-file "grovel/common.h"
3081 (string-append
3082 (assoc-ref outputs "out")
3083 "/include/grovel")))))
3084 #:asd-files '("cffi.asd"
3085 "cffi-toolchain.asd"
3086 "cffi-grovel.asd"
3087 "cffi-libffi.asd"
3088 "cffi-uffi-compat.asd")
3089 #:asd-systems '("cffi"
3090 "cffi-libffi"
3091 "cffi-uffi-compat")))
3092 (home-page "https://common-lisp.net/project/cffi/")
3093 (synopsis "Common Foreign Function Interface for Common Lisp")
3094 (description "The Common Foreign Function Interface (CFFI)
3095 purports to be a portable foreign function interface for Common Lisp.
3096 The CFFI library is composed of a Lisp-implementation-specific backend
3097 in the CFFI-SYS package, and a portable frontend in the CFFI
3098 package.")
3099 (license license:expat)))
3100
3101 (define-public cl-cffi
3102 (sbcl-package->cl-source-package sbcl-cffi))
3103
3104 (define-public ecl-cffi
3105 (sbcl-package->ecl-package sbcl-cffi))
3106
3107 (define-public sbcl-cffi-c-ref
3108 (let ((commit "8123cbb6034c5f7921a0766107cfb8c4e8efd5ce")
3109 (revision "0"))
3110 (package
3111 (name "sbcl-cffi-c-ref")
3112 (version (git-version "1.0" revision commit))
3113 (source
3114 (origin
3115 (method git-fetch)
3116 (uri (git-reference
3117 (url "https://github.com/borodust/cffi-c-ref")
3118 (commit commit)))
3119 (sha256
3120 (base32 "1a3pp6xcisabqir3rp1gvvjfdxcvpm8yr35p38nri9azsinmmc7z"))
3121 (file-name (git-file-name "cffi-c-ref" version))))
3122 (build-system asdf-build-system/sbcl)
3123 (inputs
3124 `(("alexandria" ,sbcl-alexandria)
3125 ("cffi" ,sbcl-cffi)))
3126 (synopsis "Streamlined access to foreign memory")
3127 (description
3128 "This Common Lisp library provides macros to access foreign memory.")
3129 (home-page "https://github.com/borodust/cffi-c-ref")
3130 (license license:expat))))
3131
3132 (define-public cl-cffi-c-ref
3133 (sbcl-package->cl-source-package sbcl-cffi-c-ref))
3134
3135 (define-public ecl-cffi-c-ref
3136 (sbcl-package->ecl-package sbcl-cffi-c-ref))
3137
3138 (define-public sbcl-cl-sqlite
3139 (package
3140 (name "sbcl-cl-sqlite")
3141 (version "0.2.1")
3142 (source
3143 (origin
3144 (method git-fetch)
3145 (uri (git-reference
3146 (url "https://github.com/dmitryvk/cl-sqlite")
3147 (commit version)))
3148 (file-name (git-file-name "cl-sqlite" version))
3149 (sha256
3150 (base32
3151 "08iv7b4m0hh7qx2cvq4f510nrgdld0vicnvmqsh9w0fgrcgmyg4k"))))
3152 (build-system asdf-build-system/sbcl)
3153 (inputs
3154 `(("iterate" ,sbcl-iterate)
3155 ("cffi" ,sbcl-cffi)
3156 ("sqlite" ,sqlite)))
3157 (native-inputs
3158 `(("fiveam" ,sbcl-fiveam)
3159 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
3160 (arguments
3161 `(#:asd-systems '("sqlite")
3162 #:phases
3163 (modify-phases %standard-phases
3164 (add-after 'unpack 'fix-paths
3165 (lambda* (#:key inputs #:allow-other-keys)
3166 (substitute* "sqlite-ffi.lisp"
3167 (("libsqlite3" all) (string-append
3168 (assoc-ref inputs "sqlite")"/lib/" all))))))))
3169 (home-page "https://common-lisp.net/project/cl-sqlite/")
3170 (synopsis "Common Lisp binding for SQLite")
3171 (description
3172 "The @command{cl-sqlite} package is an interface to the SQLite embedded
3173 relational database engine.")
3174 (license license:public-domain)))
3175
3176 (define-public cl-sqlite
3177 (sbcl-package->cl-source-package sbcl-cl-sqlite))
3178
3179 (define-public ecl-cl-sqlite
3180 (sbcl-package->ecl-package sbcl-cl-sqlite))
3181
3182 (define-public sbcl-parenscript
3183 ;; Source archives are overwritten on every release, we use the Git repo instead.
3184 (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766"))
3185 (package
3186 (name "sbcl-parenscript")
3187 (version (git-version "2.7.1" "1" commit))
3188 (source
3189 (origin
3190 (method git-fetch)
3191 (uri (git-reference
3192 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
3193 (commit commit)))
3194 (file-name (git-file-name "parenscript" version))
3195 (sha256
3196 (base32
3197 "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf"))))
3198 (build-system asdf-build-system/sbcl)
3199 (inputs
3200 `(("cl-ppcre" ,sbcl-cl-ppcre)
3201 ("anaphora" ,sbcl-anaphora)
3202 ("named-readtables" ,sbcl-named-readtables)))
3203 (home-page "https://common-lisp.net/project/parenscript/")
3204 (synopsis "Translator from a subset of Common Lisp to JavaScript")
3205 (description
3206 "Parenscript is a translator from an extended subset of Common Lisp to
3207 JavaScript. Parenscript code can run almost identically on both the
3208 browser (as JavaScript) and server (as Common Lisp).
3209
3210 Parenscript code is treated the same way as Common Lisp code, making the full
3211 power of Lisp macros available for JavaScript. This provides a web
3212 development environment that is unmatched in its ability to reduce code
3213 duplication and provide advanced meta-programming facilities to web
3214 developers.
3215
3216 At the same time, Parenscript is different from almost all other \"language
3217 X\" to JavaScript translators in that it imposes almost no overhead:
3218
3219 @itemize
3220 @item No run-time dependencies: Any piece of Parenscript code is runnable
3221 as-is. There are no JavaScript files to include.
3222 @item Native types: Parenscript works entirely with native JavaScript data
3223 types. There are no new types introduced, and object prototypes are not
3224 touched.
3225 @item Native calling convention: Any JavaScript code can be called without the
3226 need for bindings. Likewise, Parenscript can be used to make efficient,
3227 self-contained JavaScript libraries.
3228 @item Readable code: Parenscript generates concise, formatted, idiomatic
3229 JavaScript code. Identifier names are preserved. This enables seamless
3230 debugging in tools like Firebug.
3231 @item Efficiency: Parenscript introduces minimal overhead for advanced Common
3232 Lisp features. The generated code is almost as fast as hand-written
3233 JavaScript.
3234 @end itemize\n")
3235 (license license:bsd-3))))
3236
3237 (define-public cl-parenscript
3238 (sbcl-package->cl-source-package sbcl-parenscript))
3239
3240 (define-public ecl-parenscript
3241 (sbcl-package->ecl-package sbcl-parenscript))
3242
3243 (define-public sbcl-cl-json
3244 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
3245 (package
3246 (name "sbcl-cl-json")
3247 (version (git-version "0.5" "1" commit))
3248 (source
3249 (origin
3250 (method git-fetch)
3251 (uri (git-reference
3252 (url "https://github.com/hankhero/cl-json")
3253 (commit commit)))
3254 (file-name (git-file-name "cl-json" version))
3255 (sha256
3256 (base32
3257 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
3258 (build-system asdf-build-system/sbcl)
3259 (native-inputs
3260 `(("fiveam" ,sbcl-fiveam)))
3261 (home-page "https://github.com/hankhero/cl-json")
3262 (synopsis "JSON encoder and decoder for Common-Lisp")
3263 (description
3264 "@command{cl-json} provides an encoder of Lisp objects to JSON format
3265 and a corresponding decoder of JSON data to Lisp objects. Both the encoder
3266 and the decoder are highly customizable; at the same time, the default
3267 settings ensure a very simple mode of operation, similar to that provided by
3268 @command{yason} or @command{st-json}.")
3269 (license license:expat))))
3270
3271 (define-public cl-json
3272 (sbcl-package->cl-source-package sbcl-cl-json))
3273
3274 (define-public ecl-cl-json
3275 (sbcl-package->ecl-package sbcl-cl-json))
3276
3277 (define-public sbcl-unix-opts
3278 (package
3279 (name "sbcl-unix-opts")
3280 (version "0.1.7")
3281 (source
3282 (origin
3283 (method git-fetch)
3284 (uri (git-reference
3285 (url "https://github.com/libre-man/unix-opts")
3286 (commit version)))
3287 (file-name (git-file-name "unix-opts" version))
3288 (sha256
3289 (base32
3290 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
3291 (build-system asdf-build-system/sbcl)
3292 (home-page "https://github.com/hankhero/cl-json")
3293 (synopsis "Unix-style command line options parser")
3294 (description
3295 "This is a minimalistic parser of command line options. The main
3296 advantage of the library is the ability to concisely define command line
3297 options once and then use this definition for parsing and extraction of
3298 command line arguments, as well as printing description of command line
3299 options (you get --help for free). This way you don't need to repeat
3300 yourself. Also, @command{unix-opts} doesn't depend on anything and
3301 precisely controls the behavior of the parser via Common Lisp restarts.")
3302 (license license:expat)))
3303
3304 (define-public cl-unix-opts
3305 (sbcl-package->cl-source-package sbcl-unix-opts))
3306
3307 (define-public ecl-unix-opts
3308 (sbcl-package->ecl-package sbcl-unix-opts))
3309
3310 (define-public sbcl-trivial-garbage
3311 (package
3312 (name "sbcl-trivial-garbage")
3313 (version "0.21")
3314 (source
3315 (origin
3316 (method git-fetch)
3317 (uri (git-reference
3318 (url "https://github.com/trivial-garbage/trivial-garbage")
3319 (commit (string-append "v" version))))
3320 (file-name (git-file-name "trivial-garbage" version))
3321 (sha256
3322 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
3323 (build-system asdf-build-system/sbcl)
3324 (native-inputs
3325 `(("rt" ,sbcl-rt)))
3326 (home-page "https://common-lisp.net/project/trivial-garbage/")
3327 (synopsis "Portable GC-related APIs for Common Lisp")
3328 (description "@command{trivial-garbage} provides a portable API to
3329 finalizers, weak hash-tables and weak pointers on all major implementations of
3330 the Common Lisp programming language.")
3331 (license license:public-domain)))
3332
3333 (define-public cl-trivial-garbage
3334 (sbcl-package->cl-source-package sbcl-trivial-garbage))
3335
3336 (define-public ecl-trivial-garbage
3337 (sbcl-package->ecl-package sbcl-trivial-garbage))
3338
3339 (define-public sbcl-closer-mop
3340 (let ((commit "19c9d33f576e10715fd79cc1d4f688dab0f241d6"))
3341 (package
3342 (name "sbcl-closer-mop")
3343 (version (git-version "1.0.0" "2" commit))
3344 (source
3345 (origin
3346 (method git-fetch)
3347 (uri (git-reference
3348 (url "https://github.com/pcostanza/closer-mop")
3349 (commit commit)))
3350 (sha256
3351 (base32 "1w3x087wvlwkd6swfdgbvjfs6kazf0la8ax4pjfzikwjch4snn2c"))
3352 (file-name (git-file-name "closer-mop" version ))))
3353 (build-system asdf-build-system/sbcl)
3354 (home-page "https://github.com/pcostanza/closer-mop")
3355 (synopsis "Rectifies absent or incorrect CLOS MOP features")
3356 (description "Closer to MOP is a compatibility layer that rectifies many
3357 of the absent or incorrect CLOS MOP features across a broad range of Common
3358 Lisp implementations.")
3359 (license license:expat))))
3360
3361 (define-public cl-closer-mop
3362 (sbcl-package->cl-source-package sbcl-closer-mop))
3363
3364 (define-public ecl-closer-mop
3365 (sbcl-package->ecl-package sbcl-closer-mop))
3366
3367 (define-public sbcl-cl-cffi-gtk
3368 (let ((commit "e9a46df65995d9a16e6c8dbdc1e09b775eb4a966"))
3369 (package
3370 (name "sbcl-cl-cffi-gtk")
3371 (version (git-version "0.11.2" "2" commit))
3372 (source
3373 (origin
3374 (method git-fetch)
3375 (uri (git-reference
3376 (url "https://github.com/Ferada/cl-cffi-gtk/")
3377 (commit commit)))
3378 (file-name (git-file-name "cl-cffi-gtk" version))
3379 (sha256
3380 (base32
3381 "04vix0gmqsj91lm975sx7jhlnz5gq1xf9jp873mp7c8frc5dk1jj"))))
3382 (build-system asdf-build-system/sbcl)
3383 (native-inputs
3384 `(("fiveam" ,sbcl-fiveam)))
3385 (inputs
3386 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3387 ("cairo" ,cairo)
3388 ("cffi" ,sbcl-cffi)
3389 ("closer-mop" ,sbcl-closer-mop)
3390 ("gdk-pixbuf" ,gdk-pixbuf)
3391 ("glib" ,glib)
3392 ("gtk" ,gtk+)
3393 ("iterate" ,sbcl-iterate)
3394 ("pango" ,pango)
3395 ("trivial-features" ,sbcl-trivial-features)
3396 ("trivial-garbage" ,sbcl-trivial-garbage)))
3397 (arguments
3398 `(#:asd-files '("gtk/cl-cffi-gtk.asd"
3399 "glib/cl-cffi-gtk-glib.asd"
3400 "gobject/cl-cffi-gtk-gobject.asd"
3401 "gio/cl-cffi-gtk-gio.asd"
3402 "cairo/cl-cffi-gtk-cairo.asd"
3403 "pango/cl-cffi-gtk-pango.asd"
3404 "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
3405 "gdk/cl-cffi-gtk-gdk.asd")
3406 #:test-asd-file "test/cl-cffi-gtk-test.asd"
3407 ;; TODO: Tests fail with memory fault.
3408 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
3409 #:tests? #f
3410 #:phases
3411 (modify-phases %standard-phases
3412 (add-after 'unpack 'fix-paths
3413 (lambda* (#:key inputs #:allow-other-keys)
3414 (substitute* "glib/glib.init.lisp"
3415 (("libglib|libgthread" all)
3416 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3417 (substitute* "gobject/gobject.init.lisp"
3418 (("libgobject" all)
3419 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3420 (substitute* "gio/gio.init.lisp"
3421 (("libgio" all)
3422 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3423 (substitute* "cairo/cairo.init.lisp"
3424 (("libcairo" all)
3425 (string-append (assoc-ref inputs "cairo") "/lib/" all)))
3426 (substitute* "pango/pango.init.lisp"
3427 (("libpango" all)
3428 (string-append (assoc-ref inputs "pango") "/lib/" all)))
3429 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
3430 (("libgdk_pixbuf" all)
3431 (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))
3432 (substitute* "gdk/gdk.init.lisp"
3433 (("libgdk" all)
3434 (string-append (assoc-ref inputs "gtk") "/lib/" all)))
3435 (substitute* "gdk/gdk.package.lisp"
3436 (("libgtk" all)
3437 (string-append (assoc-ref inputs "gtk") "/lib/" all))))))))
3438 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
3439 (synopsis "Common Lisp binding for GTK+3")
3440 (description
3441 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
3442 is a library for creating graphical user interfaces.")
3443 (license license:lgpl3))))
3444
3445 (define-public cl-cffi-gtk
3446 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
3447
3448 (define-public ecl-cl-cffi-gtk
3449 (sbcl-package->ecl-package sbcl-cl-cffi-gtk))
3450
3451 (define-public sbcl-cl-webkit
3452 (let ((commit "db855639d4a13f6ba296959cf11635b6b67421bf"))
3453 (package
3454 (name "sbcl-cl-webkit")
3455 (version (git-version "2.4" "13" commit))
3456 (source
3457 (origin
3458 (method git-fetch)
3459 (uri (git-reference
3460 (url "https://github.com/joachifm/cl-webkit")
3461 (commit commit)))
3462 (file-name (git-file-name "cl-webkit" version))
3463 (sha256
3464 (base32
3465 "01alj5bfsh2983pwpdy0zpa2rvl4kl0mqzs08ff46is3cb8fqs0g"))))
3466 (build-system asdf-build-system/sbcl)
3467 (inputs
3468 `(("cffi" ,sbcl-cffi)
3469 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3470 ("webkitgtk" ,webkitgtk)))
3471 (arguments
3472 `(#:asd-systems '("cl-webkit2")
3473 #:phases
3474 (modify-phases %standard-phases
3475 (add-after 'unpack 'fix-paths
3476 (lambda* (#:key inputs #:allow-other-keys)
3477 (substitute* "webkit2/webkit2.init.lisp"
3478 (("libwebkit2gtk" all)
3479 (string-append
3480 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
3481 (home-page "https://github.com/joachifm/cl-webkit")
3482 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3483 (description
3484 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3485 currently targeting WebKit version 2. The WebKitGTK+ library adds web
3486 browsing capabilities to an application, leveraging the full power of the
3487 WebKit browsing engine.")
3488 (license license:expat))))
3489
3490 (define-public cl-webkit
3491 (sbcl-package->cl-source-package sbcl-cl-webkit))
3492
3493 (define-public ecl-cl-webkit
3494 (sbcl-package->ecl-package sbcl-cl-webkit))
3495
3496 (define-public sbcl-lparallel
3497 (package
3498 (name "sbcl-lparallel")
3499 (version "2.8.4")
3500 (source
3501 (origin
3502 (method git-fetch)
3503 (uri (git-reference
3504 (url "https://github.com/lmj/lparallel/")
3505 (commit (string-append "lparallel-" version))))
3506 (file-name (git-file-name "lparallel" version))
3507 (sha256
3508 (base32
3509 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3510 (build-system asdf-build-system/sbcl)
3511 (inputs
3512 `(("alexandria" ,sbcl-alexandria)
3513 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3514 ("trivial-garbage" ,sbcl-trivial-garbage)))
3515 (arguments
3516 `(#:phases
3517 (modify-phases %standard-phases
3518 (add-after 'unpack 'fix-dependency
3519 ;; lparallel loads a SBCL specific system in its asd file. This is
3520 ;; not carried over into the fasl which is generated. In order for
3521 ;; it to be carried over, it needs to be listed as a dependency.
3522 (lambda _
3523 (substitute* "lparallel.asd"
3524 ((":depends-on \\(:alexandria" all)
3525 (string-append all " #+sbcl :sb-cltl2"))))))))
3526 (home-page "https://lparallel.org/")
3527 (synopsis "Parallelism for Common Lisp")
3528 (description
3529 "@command{lparallel} is a library for parallel programming in Common
3530 Lisp, featuring:
3531
3532 @itemize
3533 @item a simple model of task submission with receiving queue,
3534 @item constructs for expressing fine-grained parallelism,
3535 @item asynchronous condition handling across thread boundaries,
3536 @item parallel versions of map, reduce, sort, remove, and many others,
3537 @item promises, futures, and delayed evaluation constructs,
3538 @item computation trees for parallelizing interconnected tasks,
3539 @item bounded and unbounded FIFO queues,
3540 @item high and low priority tasks,
3541 @item task killing by category,
3542 @item integrated timeouts.
3543 @end itemize\n")
3544 (license license:expat)))
3545
3546 (define-public cl-lparallel
3547 (sbcl-package->cl-source-package sbcl-lparallel))
3548
3549 (define-public ecl-lparallel
3550 (package
3551 (inherit (sbcl-package->ecl-package sbcl-lparallel))
3552 (arguments
3553 ;; TODO: Find why the tests get stuck forever; disable them for now.
3554 `(#:tests? #f))))
3555
3556 (define-public sbcl-cl-markup
3557 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3558 (package
3559 (name "sbcl-cl-markup")
3560 (version (git-version "0.1" "1" commit))
3561 (source
3562 (origin
3563 (method git-fetch)
3564 (uri (git-reference
3565 (url "https://github.com/arielnetworks/cl-markup/")
3566 (commit commit)))
3567 (file-name (git-file-name "cl-markup" version))
3568 (sha256
3569 (base32
3570 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3571 (build-system asdf-build-system/sbcl)
3572 (home-page "https://github.com/arielnetworks/cl-markup/")
3573 (synopsis "Markup generation library for Common Lisp")
3574 (description
3575 "A modern markup generation library for Common Lisp that features:
3576
3577 @itemize
3578 @item Fast (even faster through compiling the code)
3579 @item Safety
3580 @item Support for multiple document types (markup, xml, html, html5, xhtml)
3581 @item Output with doctype
3582 @item Direct output to stream
3583 @end itemize\n")
3584 (license license:lgpl3+))))
3585
3586 (define-public cl-markup
3587 (sbcl-package->cl-source-package sbcl-cl-markup))
3588
3589 (define-public ecl-cl-markup
3590 (sbcl-package->ecl-package sbcl-cl-markup))
3591
3592 (define-public sbcl-cl-mustache
3593 (package
3594 (name "sbcl-cl-mustache")
3595 (version "0.12.1")
3596 (source
3597 (origin
3598 (method git-fetch)
3599 (uri (git-reference
3600 (url "https://github.com/kanru/cl-mustache")
3601 (commit (string-append "v" version))))
3602 (file-name (git-file-name "cl-mustache" version))
3603 (sha256
3604 (base32 "149xbb6wxq1napliwm9cv729hwcgfnjli6y8hingfixz7f10lhks"))))
3605 (build-system asdf-build-system/sbcl)
3606 (home-page "https://github.com/kanru/cl-mustache")
3607 (synopsis "Common Lisp Mustache template renderer")
3608 (description "This is a Common Lisp implementation for the Mustache
3609 template system. More details on the standard are available at
3610 @url{https://mustache.github.io}.")
3611 (license license:expat)))
3612
3613 (define-public cl-mustache
3614 (sbcl-package->cl-source-package sbcl-cl-mustache))
3615
3616 (define-public ecl-cl-mustache
3617 (sbcl-package->ecl-package sbcl-cl-mustache))
3618
3619 (define-public sbcl-cl-css
3620 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3621 (package
3622 (name "sbcl-cl-css")
3623 (version (git-version "0.1" "1" commit))
3624 (source
3625 (origin
3626 (method git-fetch)
3627 (uri (git-reference
3628 (url "https://github.com/inaimathi/cl-css/")
3629 (commit commit)))
3630 (file-name (git-file-name "cl-css" version))
3631 (sha256
3632 (base32
3633 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3634 (build-system asdf-build-system/sbcl)
3635 (home-page "https://github.com/inaimathi/cl-css/")
3636 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3637 (description
3638 "This is a dead-simple, non validating, inline CSS generator for Common
3639 Lisp. Its goals are axiomatic syntax, simple implementation to support
3640 portability, and boilerplate reduction in CSS.")
3641 (license license:expat))))
3642
3643 (define-public cl-css
3644 (sbcl-package->cl-source-package sbcl-cl-css))
3645
3646 (define-public ecl-cl-css
3647 (sbcl-package->ecl-package sbcl-cl-css))
3648
3649 (define-public sbcl-portable-threads
3650 (let ((commit "aa26bf38338a6b068bf8bfb3375d8d8c3b0a28df"))
3651 (package
3652 (name "sbcl-portable-threads")
3653 (version (git-version "2.3" "2" commit))
3654 (source
3655 (origin
3656 (method git-fetch)
3657 (uri (git-reference
3658 (url "https://github.com/binghe/portable-threads/")
3659 (commit commit)))
3660 (file-name (git-file-name "portable-threads" version))
3661 (sha256
3662 (base32 "058ksi07vfdmhrf5mdlc833s82m1rcqfja2266520m3r8bzs8bvs"))))
3663 (build-system asdf-build-system/sbcl)
3664 (arguments
3665 `(;; Tests seem broken.
3666 #:tests? #f))
3667 (home-page "https://github.com/binghe/portable-threads")
3668 (synopsis "Portable threads API for Common Lisp")
3669 (description
3670 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3671 Lisp (from GBBopen project).")
3672 (license license:asl2.0))))
3673
3674 (define-public cl-portable-threads
3675 (sbcl-package->cl-source-package sbcl-portable-threads))
3676
3677 (define-public ecl-portable-threads
3678 (sbcl-package->ecl-package sbcl-portable-threads))
3679
3680 (define-public sbcl-usocket
3681 (package
3682 (name "sbcl-usocket")
3683 (version "0.8.3")
3684 (source
3685 (origin
3686 (method git-fetch)
3687 (uri (git-reference
3688 (url "https://github.com/usocket/usocket/")
3689 (commit (string-append "v" version))))
3690 (file-name (git-file-name "usocket" version))
3691 (sha256
3692 (base32
3693 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3694 (build-system asdf-build-system/sbcl)
3695 (native-inputs
3696 `(("rt" ,sbcl-rt)))
3697 (inputs
3698 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3699 ("split-sequence" ,sbcl-split-sequence)))
3700 (arguments
3701 `(#:tests? #f ; FIXME: Tests need network access?
3702 #:asd-systems '("usocket"
3703 "usocket-server")))
3704 (home-page "https://common-lisp.net/project/usocket/")
3705 (synopsis "Universal socket library for Common Lisp")
3706 (description
3707 "This library strives to provide a portable TCP/IP and UDP/IP socket
3708 interface for as many Common Lisp implementations as possible, while keeping
3709 the abstraction and portability layer as thin as possible.")
3710 (license license:expat)))
3711
3712 (define-public cl-usocket
3713 (sbcl-package->cl-source-package sbcl-usocket))
3714
3715 (define-public ecl-usocket
3716 (sbcl-package->ecl-package sbcl-usocket))
3717
3718 (define-public sbcl-s-xml
3719 (package
3720 (name "sbcl-s-xml")
3721 (version "3")
3722 (source
3723 (origin
3724 (method url-fetch)
3725 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3726 (sha256
3727 (base32
3728 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3729 (build-system asdf-build-system/sbcl)
3730 (home-page "https://common-lisp.net/project/s-xml/")
3731 (synopsis "Simple XML parser implemented in Common Lisp")
3732 (description
3733 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3734 parser implementation has the following features:
3735
3736 @itemize
3737 @item It works (handling many common XML usages).
3738 @item It is very small (the core is about 700 lines of code, including
3739 comments and whitespace).
3740 @item It has a core API that is simple, efficient and pure functional, much
3741 like that from SSAX (see also http://ssax.sourceforge.net).
3742 @item It supports different DOM models: an XSML-based one, an LXML-based one
3743 and a classic xml-element struct based one.
3744 @item It is reasonably time and space efficient (internally avoiding garbage
3745 generatation as much as possible).
3746 @item It does support CDATA.
3747 @item It should support the same character sets as your Common Lisp
3748 implementation.
3749 @item It does support XML name spaces.
3750 @end itemize
3751
3752 This XML parser implementation has the following limitations:
3753
3754 @itemize
3755 @item It does not support any special tags (like processing instructions).
3756 @item It is not validating, even skips DTD's all together.
3757 @end itemize\n")
3758 (license license:lgpl3+)))
3759
3760 (define-public cl-s-xml
3761 (sbcl-package->cl-source-package sbcl-s-xml))
3762
3763 (define-public ecl-s-xml
3764 (sbcl-package->ecl-package sbcl-s-xml))
3765
3766 (define-public sbcl-s-xml-rpc
3767 (package
3768 (name "sbcl-s-xml-rpc")
3769 (version "7")
3770 (source
3771 (origin
3772 (method url-fetch)
3773 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3774 (sha256
3775 (base32
3776 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3777 (build-system asdf-build-system/sbcl)
3778 (inputs
3779 `(("s-xml" ,sbcl-s-xml)))
3780 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3781 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3782 (description
3783 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3784 client and server.")
3785 (license license:lgpl3+)))
3786
3787 (define-public cl-s-xml-rpc
3788 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3789
3790 (define-public ecl-s-xml-rpc
3791 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3792
3793 (define-public sbcl-trivial-arguments
3794 (let ((commit "ecd84ed9cf9ef8f1e873d7409e6bd04979372aa7")
3795 (revision "1"))
3796 (package
3797 (name "sbcl-trivial-arguments")
3798 (version (git-version "1.1.0" revision commit))
3799 (source
3800 (origin
3801 (method git-fetch)
3802 (uri (git-reference
3803 (url "https://github.com/Shinmera/trivial-arguments")
3804 (commit commit)))
3805 (file-name (git-file-name "trivial-arguments" version))
3806 (sha256
3807 (base32 "02vaqfavhj8jqxnr68nnzvzshm8jbgcy6m9lvyv4daa6f7ihqf88"))))
3808 (build-system asdf-build-system/sbcl)
3809 (home-page "https://github.com/Shinmera/trivial-arguments")
3810 (synopsis "Common Lisp library to retrieve a function's lambda-list")
3811 (description
3812 "This is a simple library to retrieve the argument list of a function.")
3813 (license license:zlib))))
3814
3815 (define-public ecl-trivial-arguments
3816 (sbcl-package->ecl-package sbcl-trivial-arguments))
3817
3818 (define-public cl-trivial-arguments
3819 (sbcl-package->cl-source-package sbcl-trivial-arguments))
3820
3821 (define-public sbcl-trivial-clipboard
3822 (let ((commit "8a580cb97196be7cf096548eb1f46794cd22bb39"))
3823 (package
3824 (name "sbcl-trivial-clipboard")
3825 (version (git-version "0.0.0.0" "4" commit))
3826 (source
3827 (origin
3828 (method git-fetch)
3829 (uri (git-reference
3830 (url "https://github.com/snmsts/trivial-clipboard")
3831 (commit commit)))
3832 (file-name (git-file-name "trivial-clipboard" version))
3833 (sha256
3834 (base32
3835 "0apkgqrscylw3hhm5x2vs0z3hz6h7zd7dl5y3wr2zl8qjpvpc80k"))))
3836 (build-system asdf-build-system/sbcl)
3837 (inputs
3838 `(("xclip" ,xclip)))
3839 (native-inputs
3840 `(("fiveam" ,sbcl-fiveam)))
3841 (arguments
3842 `(#:phases
3843 (modify-phases %standard-phases
3844 (add-after 'unpack 'fix-paths
3845 (lambda* (#:key inputs #:allow-other-keys)
3846 (substitute* "src/text.lisp"
3847 (("\"xclip\"")
3848 (string-append "\"" (assoc-ref inputs "xclip") "/bin/xclip\""))))))))
3849 (home-page "https://github.com/snmsts/trivial-clipboard")
3850 (synopsis "Access system clipboard in Common Lisp")
3851 (description
3852 "@command{trivial-clipboard} gives access to the system clipboard.")
3853 (license license:expat))))
3854
3855 (define-public cl-trivial-clipboard
3856 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3857
3858 (define-public ecl-trivial-clipboard
3859 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3860
3861 (define-public sbcl-trivial-backtrace
3862 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3863 (revision "1"))
3864 (package
3865 (name "sbcl-trivial-backtrace")
3866 (version (git-version "0.0.0" revision commit))
3867 (source
3868 (origin
3869 (method git-fetch)
3870 (uri (git-reference
3871 (url "https://github.com/gwkkwg/trivial-backtrace")
3872 (commit commit)))
3873 (file-name (git-file-name "trivial-backtrace" version))
3874 (sha256
3875 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3876 (build-system asdf-build-system/sbcl)
3877 (inputs
3878 `(("sbcl-lift" ,sbcl-lift)))
3879 (arguments
3880 `(#:phases
3881 (modify-phases %standard-phases
3882 (add-after 'check 'delete-test-results
3883 (lambda* (#:key outputs #:allow-other-keys)
3884 (let ((test-results (string-append (assoc-ref outputs "out")
3885 "/share/common-lisp/"
3886 (%lisp-type)
3887 "/trivial-backtrace"
3888 "/test-results")))
3889 (when (file-exists? test-results)
3890 (delete-file-recursively test-results)))
3891 #t)))))
3892 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3893 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3894 (description
3895 "One of the many things that didn't quite get into the Common Lisp
3896 standard was how to get a Lisp to output its call stack when something has
3897 gone wrong. As such, each Lisp has developed its own notion of what to
3898 display, how to display it, and what sort of arguments can be used to
3899 customize it. @code{trivial-backtrace} is a simple solution to generating a
3900 backtrace portably.")
3901 (license license:expat))))
3902
3903 (define-public cl-trivial-backtrace
3904 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3905
3906 (define-public ecl-trivial-backtrace
3907 (sbcl-package->ecl-package sbcl-trivial-backtrace))
3908
3909 (define-public sbcl-rfc2388
3910 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3911 (revision "1"))
3912 (package
3913 (name "sbcl-rfc2388")
3914 (version (git-version "0.0.0" revision commit))
3915 (source
3916 (origin
3917 (method git-fetch)
3918 (uri (git-reference
3919 (url "https://github.com/jdz/rfc2388")
3920 (commit commit)))
3921 (file-name (git-file-name "rfc2388" version))
3922 (sha256
3923 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3924 (build-system asdf-build-system/sbcl)
3925 (home-page "https://github.com/jdz/rfc2388/")
3926 (synopsis "An implementation of RFC 2388 in Common Lisp")
3927 (description
3928 "This package contains an implementation of RFC 2388, which is used to
3929 process form data posted with HTTP POST method using enctype
3930 \"multipart/form-data\".")
3931 (license license:bsd-2))))
3932
3933 (define-public cl-rfc2388
3934 (sbcl-package->cl-source-package sbcl-rfc2388))
3935
3936 (define-public ecl-rfc2388
3937 (sbcl-package->ecl-package sbcl-rfc2388))
3938
3939 (define-public sbcl-md5
3940 (package
3941 (name "sbcl-md5")
3942 (version "2.0.4")
3943 (source
3944 (origin
3945 (method git-fetch)
3946 (uri (git-reference
3947 (url "https://github.com/pmai/md5")
3948 (commit (string-append "release-" version))))
3949 (file-name (git-file-name "md5" version))
3950 (sha256
3951 (base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
3952 (build-system asdf-build-system/sbcl)
3953 (home-page "https://github.com/pmai/md5")
3954 (synopsis
3955 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3956 (description
3957 "This package implements The MD5 Message-Digest Algorithm, as defined in
3958 RFC 1321 by R. Rivest, published April 1992.")
3959 (license license:public-domain)))
3960
3961 (define-public cl-md5
3962 (sbcl-package->cl-source-package sbcl-md5))
3963
3964 (define-public ecl-md5
3965 (package
3966 (inherit (sbcl-package->ecl-package sbcl-md5))
3967 (inputs
3968 `(("flexi-streams" ,ecl-flexi-streams)))))
3969
3970 (define-public sbcl-cl+ssl
3971 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
3972 (revision "1"))
3973 (package
3974 (name "sbcl-cl+ssl")
3975 (version (git-version "0.0.0" revision commit))
3976 (source
3977 (origin
3978 (method git-fetch)
3979 (uri (git-reference
3980 (url "https://github.com/cl-plus-ssl/cl-plus-ssl")
3981 (commit commit)))
3982 (file-name (git-file-name "cl+ssl" version))
3983 (sha256
3984 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
3985 (build-system asdf-build-system/sbcl)
3986 (arguments
3987 '(#:phases
3988 (modify-phases %standard-phases
3989 (add-after 'unpack 'fix-paths
3990 (lambda* (#:key inputs #:allow-other-keys)
3991 (substitute* "src/reload.lisp"
3992 (("libssl.so" all)
3993 (string-append
3994 (assoc-ref inputs "openssl") "/lib/" all))))))))
3995 (inputs
3996 `(("openssl" ,openssl)
3997 ("sbcl-cffi" ,sbcl-cffi)
3998 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3999 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4000 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
4001 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
4002 ("sbcl-alexandria" ,sbcl-alexandria)
4003 ("sbcl-trivial-features" ,sbcl-trivial-features)))
4004 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
4005 (synopsis "Common Lisp bindings to OpenSSL")
4006 (description
4007 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
4008 code was written by Eric Marsden and includes contributions by Jochen Schmidt.
4009 Development into CL+SSL was done by David Lichteblau.")
4010 (license license:expat))))
4011
4012 (define-public cl-cl+ssl
4013 (sbcl-package->cl-source-package sbcl-cl+ssl))
4014
4015 (define-public ecl-cl+ssl
4016 (sbcl-package->ecl-package sbcl-cl+ssl))
4017
4018 (define-public sbcl-kmrcl
4019 (let ((version "1.111")
4020 (commit "4a27407aad9deb607ffb8847630cde3d041ea25a")
4021 (revision "1"))
4022 (package
4023 (name "sbcl-kmrcl")
4024 (version (git-version version revision commit))
4025 (source
4026 (origin
4027 (method git-fetch)
4028 (uri (git-reference
4029 (url "http://git.kpe.io/kmrcl.git/")
4030 (commit commit)))
4031 (file-name (git-file-name name version))
4032 (sha256
4033 (base32 "06gx04mah5nc8w78s0j8628divbf1s5w7af8w7pvzb2d5mgvrbd2"))))
4034 (build-system asdf-build-system/sbcl)
4035 (inputs
4036 `(("sbcl-rt" ,sbcl-rt)))
4037 (home-page "http://files.kpe.io/kmrcl/")
4038 (synopsis "General utilities for Common Lisp programs")
4039 (description
4040 "KMRCL is a collection of utilities used by a number of Kevin
4041 Rosenberg's Common Lisp packages.")
4042 (license license:llgpl))))
4043
4044 (define-public cl-kmrcl
4045 (sbcl-package->cl-source-package sbcl-kmrcl))
4046
4047 (define-public ecl-kmrcl
4048 (sbcl-package->ecl-package sbcl-kmrcl))
4049
4050 (define-public sbcl-cl-base64
4051 ;; 3.3.4 tests are broken, upstream fixes them.
4052 (let ((commit "577683b18fd880b82274d99fc96a18a710e3987a"))
4053 (package
4054 (name "sbcl-cl-base64")
4055 (version (git-version "3.3.4" "1" commit))
4056 (source
4057 (origin
4058 (method git-fetch)
4059 (uri (git-reference
4060 (url "http://git.kpe.io/cl-base64.git/")
4061 (commit commit)))
4062 (file-name (git-file-name name version))
4063 (sha256
4064 (base32 "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj"))))
4065 (build-system asdf-build-system/sbcl)
4066 (native-inputs ; For tests.
4067 `(("sbcl-ptester" ,sbcl-ptester)
4068 ("sbcl-kmrcl" ,sbcl-kmrcl)))
4069 (home-page "http://files.kpe.io/cl-base64/")
4070 (synopsis
4071 "Common Lisp package to encode and decode base64 with URI support")
4072 (description
4073 "This package provides highly optimized base64 encoding and decoding.
4074 Besides conversion to and from strings, integer conversions are supported.
4075 Encoding with Uniform Resource Identifiers is supported by using a modified
4076 encoding table that uses only URI-compatible characters.")
4077 (license license:bsd-3))))
4078
4079 (define-public cl-base64
4080 (sbcl-package->cl-source-package sbcl-cl-base64))
4081
4082 (define-public ecl-cl-base64
4083 (sbcl-package->ecl-package sbcl-cl-base64))
4084
4085 (define-public sbcl-chunga
4086 (package
4087 (name "sbcl-chunga")
4088 (version "1.1.7")
4089 (source
4090 (origin
4091 (method git-fetch)
4092 (uri (git-reference
4093 (url "https://github.com/edicl/chunga")
4094 (commit (string-append "v" version))))
4095 (file-name (git-file-name name version))
4096 (sha256
4097 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
4098 (build-system asdf-build-system/sbcl)
4099 (inputs
4100 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4101 (home-page "https://edicl.github.io/chunga/")
4102 (synopsis "Portable chunked streams for Common Lisp")
4103 (description
4104 "Chunga implements streams capable of chunked encoding on demand as
4105 defined in RFC 2616.")
4106 (license license:bsd-2)))
4107
4108 (define-public cl-chunga
4109 (sbcl-package->cl-source-package sbcl-chunga))
4110
4111 (define-public ecl-chunga
4112 (sbcl-package->ecl-package sbcl-chunga))
4113
4114 (define-public sbcl-cl-who
4115 (let ((version "1.1.4")
4116 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
4117 (revision "1"))
4118 (package
4119 (name "sbcl-cl-who")
4120 (version (git-version version revision commit))
4121 (source
4122 (origin
4123 (method git-fetch)
4124 (uri (git-reference
4125 (url "https://github.com/edicl/cl-who")
4126 (commit commit)))
4127 (file-name (git-file-name name version))
4128 (sha256
4129 (base32
4130 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
4131 (build-system asdf-build-system/sbcl)
4132 (native-inputs
4133 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4134 (home-page "https://edicl.github.io/cl-who/")
4135 (synopsis "Yet another Lisp markup language")
4136 (description
4137 "There are plenty of Lisp Markup Languages out there - every Lisp
4138 programmer seems to write at least one during his career - and CL-WHO (where
4139 WHO means \"with-html-output\" for want of a better acronym) is probably just
4140 as good or bad as the next one.")
4141 (license license:bsd-2))))
4142
4143 (define-public cl-who
4144 (sbcl-package->cl-source-package sbcl-cl-who))
4145
4146 (define-public ecl-cl-who
4147 (sbcl-package->ecl-package sbcl-cl-who))
4148
4149 (define-public sbcl-chipz
4150 (let ((version "0.8")
4151 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
4152 (revision "1"))
4153 (package
4154 (name "sbcl-chipz")
4155 (version (git-version version revision commit))
4156 (source
4157 (origin
4158 (method git-fetch)
4159 (uri (git-reference
4160 (url "https://github.com/froydnj/chipz")
4161 (commit commit)))
4162 (file-name (git-file-name name version))
4163 (sha256
4164 (base32
4165 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
4166 (build-system asdf-build-system/sbcl)
4167 (native-inputs
4168 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4169 (home-page "http://method-combination.net/lisp/chipz/")
4170 (synopsis
4171 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
4172 data")
4173 (description
4174 "DEFLATE data, defined in RFC1951, forms the core of popular
4175 compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
4176 Chipz also provides for decompressing data in those formats as well. BZIP2 is
4177 the format used by the popular compression tool bzip2.")
4178 ;; The author describes it as "MIT-like"
4179 (license license:expat))))
4180
4181 (define-public cl-chipz
4182 (sbcl-package->cl-source-package sbcl-chipz))
4183
4184 (define-public ecl-chipz
4185 (sbcl-package->ecl-package sbcl-chipz))
4186
4187 (define-public sbcl-drakma
4188 (package
4189 (name "sbcl-drakma")
4190 (version "2.0.7")
4191 (source
4192 (origin
4193 (method git-fetch)
4194 (uri (git-reference
4195 (url "https://github.com/edicl/drakma")
4196 (commit (string-append "v" version))))
4197 (file-name (git-file-name name version))
4198 (sha256
4199 (base32
4200 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
4201 (build-system asdf-build-system/sbcl)
4202 (inputs
4203 `(("sbcl-puri" ,sbcl-puri)
4204 ("sbcl-cl-base64" ,sbcl-cl-base64)
4205 ("sbcl-chunga" ,sbcl-chunga)
4206 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4207 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4208 ("sbcl-chipz" ,sbcl-chipz)
4209 ("sbcl-usocket" ,sbcl-usocket)
4210 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
4211 (native-inputs
4212 `(("sbcl-fiveam" ,sbcl-fiveam)))
4213 (home-page "https://edicl.github.io/drakma/")
4214 (synopsis "HTTP client written in Common Lisp")
4215 (description
4216 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
4217 knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
4218 sockets, SSL, continuable uploads, file uploads, cookies, and more.")
4219 (license license:bsd-2)))
4220
4221 (define-public cl-drakma
4222 (sbcl-package->cl-source-package sbcl-drakma))
4223
4224 (define-public ecl-drakma
4225 (sbcl-package->ecl-package sbcl-drakma))
4226
4227 (define-public sbcl-hunchentoot
4228 (package
4229 (name "sbcl-hunchentoot")
4230 (version "1.2.38")
4231 (source
4232 (origin
4233 (method git-fetch)
4234 (uri (git-reference
4235 (url "https://github.com/edicl/hunchentoot")
4236 (commit (string-append "v" version))))
4237 (file-name (git-file-name "hunchentoot" version))
4238 (sha256
4239 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
4240 (build-system asdf-build-system/sbcl)
4241 (native-inputs
4242 `(("sbcl-cl-who" ,sbcl-cl-who)
4243 ("sbcl-drakma" ,sbcl-drakma)))
4244 (inputs
4245 `(("sbcl-chunga" ,sbcl-chunga)
4246 ("sbcl-cl-base64" ,sbcl-cl-base64)
4247 ("sbcl-cl-fad" ,sbcl-cl-fad)
4248 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4249 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4250 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
4251 ("sbcl-md5" ,sbcl-md5)
4252 ("sbcl-rfc2388" ,sbcl-rfc2388)
4253 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
4254 ("sbcl-usocket" ,sbcl-usocket)))
4255 (home-page "https://edicl.github.io/hunchentoot/")
4256 (synopsis "Web server written in Common Lisp")
4257 (description
4258 "Hunchentoot is a web server written in Common Lisp and at the same
4259 time a toolkit for building dynamic websites. As a stand-alone web server,
4260 Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
4261 connections (keep-alive), and SSL.")
4262 (license license:bsd-2)))
4263
4264 (define-public cl-hunchentoot
4265 (sbcl-package->cl-source-package sbcl-hunchentoot))
4266
4267 (define-public ecl-hunchentoot
4268 (package
4269 (inherit (sbcl-package->ecl-package sbcl-hunchentoot))
4270 (arguments
4271 ;; Tests fail on ECL with 'Socket error in "socket": EINVAL'.
4272 '(#:tests? #f))))
4273
4274 (define-public sbcl-trivial-types
4275 (package
4276 (name "sbcl-trivial-types")
4277 (version "0.0.1")
4278 (source
4279 (origin
4280 (method git-fetch)
4281 (uri (git-reference
4282 (url "https://github.com/m2ym/trivial-types")
4283 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
4284 (file-name (git-file-name name version))
4285 (sha256
4286 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
4287 (build-system asdf-build-system/sbcl)
4288 (home-page "https://github.com/m2ym/trivial-types")
4289 (synopsis "Trivial type definitions for Common Lisp")
4290 (description
4291 "TRIVIAL-TYPES provides missing but important type definitions such as
4292 PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
4293 (license license:llgpl)))
4294
4295 (define-public cl-trivial-types
4296 (sbcl-package->cl-source-package sbcl-trivial-types))
4297
4298 (define-public ecl-trivial-types
4299 (sbcl-package->ecl-package sbcl-trivial-types))
4300
4301 (define-public sbcl-cl-annot
4302 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
4303 (revision "1"))
4304 (package
4305 (name "sbcl-cl-annot")
4306 (version (git-version "0.0.0" revision commit))
4307 (source
4308 (origin
4309 (method git-fetch)
4310 (uri (git-reference
4311 (url "https://github.com/m2ym/cl-annot")
4312 (commit commit)))
4313 (file-name (git-file-name name version))
4314 (sha256
4315 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
4316 (build-system asdf-build-system/sbcl)
4317 (inputs
4318 `(("sbcl-alexandria" ,sbcl-alexandria)))
4319 (home-page "https://github.com/m2ym/cl-annot")
4320 (synopsis "Python-like Annotation Syntax for Common Lisp.")
4321 (description
4322 "@code{cl-annot} is an general annotation library for Common Lisp.")
4323 (license license:llgpl))))
4324
4325 (define-public cl-annot
4326 (sbcl-package->cl-source-package sbcl-cl-annot))
4327
4328 (define-public ecl-cl-annot
4329 (sbcl-package->ecl-package sbcl-cl-annot))
4330
4331 (define-public sbcl-cl-syntax
4332 (package
4333 (name "sbcl-cl-syntax")
4334 (version "0.0.3")
4335 (source
4336 (origin
4337 (method git-fetch)
4338 (uri (git-reference
4339 (url "https://github.com/m2ym/cl-syntax")
4340 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
4341 (file-name (git-file-name "cl-syntax" version))
4342 (sha256
4343 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
4344 (build-system asdf-build-system/sbcl)
4345 (inputs
4346 `(("cl-annot" ,sbcl-cl-annot)
4347 ("cl-interpol" ,sbcl-cl-interpol)
4348 ("named-readtables" ,sbcl-named-readtables)
4349 ("trivial-types" ,sbcl-trivial-types)))
4350 (arguments
4351 '(#:asd-systems '("cl-syntax"
4352 "cl-syntax-annot"
4353 "cl-syntax-interpol")))
4354 (home-page "https://github.com/m2ym/cl-syntax")
4355 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
4356 (description
4357 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
4358 (license license:llgpl)))
4359
4360 (define-public cl-syntax
4361 (sbcl-package->cl-source-package sbcl-cl-syntax))
4362
4363 (define-public ecl-cl-syntax
4364 (sbcl-package->ecl-package sbcl-cl-syntax))
4365
4366 (define-public sbcl-cl-utilities
4367 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
4368 (revision "1"))
4369 (package
4370 (name "sbcl-cl-utilities")
4371 (version (git-version "0.0.0" revision commit))
4372 (source
4373 (origin
4374 (method url-fetch)
4375 (uri
4376 (string-append
4377 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
4378 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
4379 (sha256
4380 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
4381 (build-system asdf-build-system/sbcl)
4382 (arguments
4383 '(#:phases
4384 (modify-phases %standard-phases
4385 (add-after 'unpack 'fix-paths
4386 (lambda* (#:key inputs #:allow-other-keys)
4387 (substitute* "rotate-byte.lisp"
4388 (("in-package :cl-utilities)" all)
4389 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
4390 (home-page "http://common-lisp.net/project/cl-utilities")
4391 (synopsis "A collection of semi-standard utilities")
4392 (description
4393 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
4394 is a collection of Common Lisp Utilities, things that everybody writes since
4395 they're not part of the official standard. There are some very useful things
4396 there; the only problems are that they aren't implemented as well as you'd
4397 like (some aren't implemented at all) and they aren't conveniently packaged
4398 and maintained. It takes quite a bit of work to carefully implement utilities
4399 for common use, commented and documented, with error checking placed
4400 everywhere some dumb user might make a mistake.")
4401 (license license:public-domain))))
4402
4403 (define-public cl-utilities
4404 (sbcl-package->cl-source-package sbcl-cl-utilities))
4405
4406 (define-public ecl-cl-utilities
4407 (sbcl-package->ecl-package sbcl-cl-utilities))
4408
4409 (define-public sbcl-map-set
4410 (let ((commit "7b4b545b68b8")
4411 (revision "1"))
4412 (package
4413 (name "sbcl-map-set")
4414 (version (git-version "0.0.0" revision commit))
4415 (source
4416 (origin
4417 (method url-fetch)
4418 (uri (string-append
4419 "https://bitbucket.org/tarballs_are_good/map-set/get/"
4420 commit ".tar.gz"))
4421 (sha256
4422 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
4423 (build-system asdf-build-system/sbcl)
4424 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
4425 (synopsis "Set-like data structure")
4426 (description
4427 "Implementation of a set-like data structure with constant time
4428 addition, removal, and random selection.")
4429 (license license:bsd-3))))
4430
4431 (define-public cl-map-set
4432 (sbcl-package->cl-source-package sbcl-map-set))
4433
4434 (define-public ecl-map-set
4435 (sbcl-package->ecl-package sbcl-map-set))
4436
4437 (define-public sbcl-quri
4438 (package
4439 (name "sbcl-quri")
4440 (version "0.3.0")
4441 (source
4442 (origin
4443 (method git-fetch)
4444 (uri (git-reference
4445 (url "https://github.com/fukamachi/quri")
4446 (commit version)))
4447 (file-name (git-file-name name version))
4448 (sha256
4449 (base32 "1pkvpiwwhx2fcknr7x47h7036ypkg8xzsskqbl5z315ipfmi8s2m"))))
4450 (build-system asdf-build-system/sbcl)
4451 (arguments
4452 ;; Test system must be loaded before, otherwise tests fail with:
4453 ;; Component QURI-ASD::QURI-TEST not found, required by #<SYSTEM
4454 ;; "quri">.
4455 '(#:asd-systems '("quri-test"
4456 "quri")))
4457 (native-inputs `(("sbcl-prove" ,sbcl-prove)))
4458 (inputs `(("sbcl-babel" ,sbcl-babel)
4459 ("sbcl-split-sequence" ,sbcl-split-sequence)
4460 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
4461 ("sbcl-alexandria" ,sbcl-alexandria)))
4462 (home-page "https://github.com/fukamachi/quri")
4463 (synopsis "Yet another URI library for Common Lisp")
4464 (description
4465 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
4466 Lisp. It is intended to be a replacement of PURI.")
4467 (license license:bsd-3)))
4468
4469 (define-public cl-quri
4470 (sbcl-package->cl-source-package sbcl-quri))
4471
4472 (define-public ecl-quri
4473 (sbcl-package->ecl-package sbcl-quri))
4474
4475 (define-public sbcl-myway
4476 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
4477 (revision "1"))
4478 (package
4479 (name "sbcl-myway")
4480 (version (git-version "0.1.0" revision commit))
4481 (source
4482 (origin
4483 (method git-fetch)
4484 (uri (git-reference
4485 (url "https://github.com/fukamachi/myway")
4486 (commit commit)))
4487 (file-name (git-file-name "myway" version))
4488 (sha256
4489 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
4490 (build-system asdf-build-system/sbcl)
4491 (arguments
4492 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
4493 ;; by #<SYSTEM "myway">. Why?
4494 '(#:tests? #f))
4495 (native-inputs
4496 `(("sbcl-prove" ,sbcl-prove)))
4497 (inputs
4498 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4499 ("sbcl-quri" ,sbcl-quri)
4500 ("sbcl-map-set" ,sbcl-map-set)))
4501 (home-page "https://github.com/fukamachi/myway")
4502 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
4503 (description "My Way is a Sinatra-compatible URL routing library.")
4504 (license license:llgpl))))
4505
4506 (define-public cl-myway
4507 (sbcl-package->cl-source-package sbcl-myway))
4508
4509 (define-public ecl-myway
4510 (sbcl-package->ecl-package sbcl-myway))
4511
4512 (define-public sbcl-xsubseq
4513 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
4514 (revision "1"))
4515 (package
4516 (name "sbcl-xsubseq")
4517 (version (git-version "0.0.1" revision commit))
4518 (source
4519 (origin
4520 (method git-fetch)
4521 (uri (git-reference
4522 (url "https://github.com/fukamachi/xsubseq")
4523 (commit commit)))
4524 (file-name (git-file-name name version))
4525 (sha256
4526 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4527 (build-system asdf-build-system/sbcl)
4528 (arguments
4529 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4530 ;; required by #<SYSTEM "xsubseq">. Why?
4531 '(#:tests? #f))
4532 (native-inputs
4533 `(("sbcl-prove" ,sbcl-prove)))
4534 (home-page "https://github.com/fukamachi/xsubseq")
4535 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4536 (description
4537 "XSubseq provides functions to be able to handle \"subseq\"s more
4538 effieiently.")
4539 (license license:bsd-2))))
4540
4541 (define-public cl-xsubseq
4542 (sbcl-package->cl-source-package sbcl-xsubseq))
4543
4544 (define-public ecl-xsubseq
4545 (sbcl-package->ecl-package sbcl-xsubseq))
4546
4547 (define-public sbcl-smart-buffer
4548 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4549 (revision "1"))
4550 (package
4551 (name "sbcl-smart-buffer")
4552 (version (git-version "0.0.1" revision commit))
4553 (source
4554 (origin
4555 (method git-fetch)
4556 (uri (git-reference
4557 (url "https://github.com/fukamachi/smart-buffer")
4558 (commit commit)))
4559 (file-name (git-file-name name version))
4560 (sha256
4561 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4562 (build-system asdf-build-system/sbcl)
4563 (arguments
4564 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4565 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4566 `(#:tests? #f))
4567 (native-inputs
4568 `(("sbcl-prove" ,sbcl-prove)))
4569 (inputs
4570 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4571 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4572 (home-page "https://github.com/fukamachi/smart-buffer")
4573 (synopsis "Smart octets buffer")
4574 (description
4575 "Smart-buffer provides an output buffer which changes the destination
4576 depending on content size.")
4577 (license license:bsd-3))))
4578
4579 (define-public cl-smart-buffer
4580 (sbcl-package->cl-source-package sbcl-smart-buffer))
4581
4582 (define-public ecl-smart-buffer
4583 (sbcl-package->ecl-package sbcl-smart-buffer))
4584
4585 (define-public sbcl-fast-http
4586 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
4587 (revision "2"))
4588 (package
4589 (name "sbcl-fast-http")
4590 (version (git-version "0.2.0" revision commit))
4591 (source
4592 (origin
4593 (method git-fetch)
4594 (uri (git-reference
4595 (url "https://github.com/fukamachi/fast-http")
4596 (commit commit)))
4597 (file-name (git-file-name name version))
4598 (sha256
4599 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
4600 (build-system asdf-build-system/sbcl)
4601 (arguments
4602 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4603 ;; required by #<SYSTEM "fast-http">. Why?
4604 `(#:tests? #f))
4605 (native-inputs
4606 `(("sbcl-prove" ,sbcl-prove)
4607 ("cl-syntax" ,sbcl-cl-syntax)))
4608 (inputs
4609 `(("sbcl-alexandria" ,sbcl-alexandria)
4610 ("sbcl-proc-parse" ,sbcl-proc-parse)
4611 ("sbcl-xsubseq" ,sbcl-xsubseq)
4612 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4613 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4614 (home-page "https://github.com/fukamachi/fast-http")
4615 (synopsis "HTTP request/response parser for Common Lisp")
4616 (description
4617 "@code{fast-http} is a HTTP request/response protocol parser for Common
4618 Lisp.")
4619 ;; Author specified the MIT license
4620 (license license:expat))))
4621
4622 (define-public cl-fast-http
4623 (sbcl-package->cl-source-package sbcl-fast-http))
4624
4625 (define-public ecl-fast-http
4626 (sbcl-package->ecl-package sbcl-fast-http))
4627
4628 (define-public sbcl-static-vectors
4629 (package
4630 (name "sbcl-static-vectors")
4631 (version "1.8.6")
4632 (source
4633 (origin
4634 (method git-fetch)
4635 (uri (git-reference
4636 (url "https://github.com/sionescu/static-vectors")
4637 (commit (string-append "v" version))))
4638 (file-name (git-file-name name version))
4639 (sha256
4640 (base32 "01hwxzhyjkhsd3949g70120g7msw01byf0ia0pbj319q1a3cq7j9"))))
4641 (native-inputs
4642 `(("sbcl-fiveam" ,sbcl-fiveam)))
4643 (inputs
4644 `(("sbcl-alexandria" ,sbcl-alexandria)
4645 ("sbcl-cffi" ,sbcl-cffi)))
4646 (build-system asdf-build-system/sbcl)
4647 (home-page "https://github.com/sionescu/static-vectors")
4648 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4649 (description
4650 "With @code{static-vectors}, you can create vectors allocated in static
4651 memory.")
4652 (license license:expat)))
4653
4654 (define-public cl-static-vectors
4655 (sbcl-package->cl-source-package sbcl-static-vectors))
4656
4657 (define-public ecl-static-vectors
4658 (sbcl-package->ecl-package sbcl-static-vectors))
4659
4660 (define-public sbcl-marshal
4661 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4662 (revision "1"))
4663 (package
4664 (name "sbcl-marshal")
4665 (version (git-version "1.3.0" revision commit))
4666 (source
4667 (origin
4668 (method git-fetch)
4669 (uri (git-reference
4670 (url "https://github.com/wlbr/cl-marshal")
4671 (commit commit)))
4672 (file-name (git-file-name name version))
4673 (sha256
4674 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4675 (build-system asdf-build-system/sbcl)
4676 (home-page "https://github.com/wlbr/cl-marshal")
4677 (synopsis "Simple (de)serialization of Lisp datastructures")
4678 (description
4679 "Simple and fast marshalling of Lisp datastructures. Convert any object
4680 into a string representation, put it on a stream an revive it from there.
4681 Only minimal changes required to make your CLOS objects serializable.")
4682 (license license:expat))))
4683
4684 (define-public cl-marshal
4685 (sbcl-package->cl-source-package sbcl-marshal))
4686
4687 (define-public ecl-marshal
4688 (sbcl-package->ecl-package sbcl-marshal))
4689
4690 (define-public sbcl-checkl
4691 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4692 (revision "1"))
4693 (package
4694 (name "sbcl-checkl")
4695 (version (git-version "0.0.0" revision commit))
4696 (source
4697 (origin
4698 (method git-fetch)
4699 (uri (git-reference
4700 (url "https://github.com/rpav/CheckL")
4701 (commit commit)))
4702 (file-name (git-file-name name version))
4703 (sha256
4704 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4705 (build-system asdf-build-system/sbcl)
4706 (arguments
4707 ;; Error while trying to load definition for system checkl-test from
4708 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4709 ;; is undefined.
4710 '(#:asd-files '("checkl.asd")
4711 #:tests? #f))
4712 (native-inputs
4713 `(("sbcl-fiveam" ,sbcl-fiveam)))
4714 (inputs
4715 `(("sbcl-marshal" ,sbcl-marshal)))
4716 (home-page "https://github.com/rpav/CheckL/")
4717 (synopsis "Dynamic testing for Common Lisp")
4718 (description
4719 "CheckL lets you write tests dynamically, it checks resulting values
4720 against the last run.")
4721 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4722 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4723 ;; stronger of the two and so I think only listing this should suffice.
4724 (license license:llgpl))))
4725
4726 (define-public cl-checkl
4727 (sbcl-package->cl-source-package sbcl-checkl))
4728
4729 (define-public ecl-checkl
4730 (sbcl-package->ecl-package sbcl-checkl))
4731
4732 (define-public sbcl-fast-io
4733 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
4734 (revision "2"))
4735 (package
4736 (name "sbcl-fast-io")
4737 (version (git-version "1.0.0" revision commit))
4738 (source
4739 (origin
4740 (method git-fetch)
4741 (uri (git-reference
4742 (url "https://github.com/rpav/fast-io")
4743 (commit commit)))
4744 (file-name (git-file-name name version))
4745 (sha256
4746 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
4747 (build-system asdf-build-system/sbcl)
4748 (arguments
4749 ;; Error while trying to load definition for system fast-io-test from
4750 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4751 ;; is undefined.
4752 '(#:tests? #f
4753 #:asd-files '("fast-io.asd")))
4754 (native-inputs
4755 `(("sbcl-fiveam" ,sbcl-fiveam)
4756 ("sbcl-checkl" ,sbcl-checkl)))
4757 (inputs
4758 `(("sbcl-alexandria" ,sbcl-alexandria)
4759 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4760 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4761 (home-page "https://github.com/rpav/fast-io")
4762 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4763 (description
4764 "Fast-io is about improving performance to octet-vectors and octet
4765 streams (though primarily the former, while wrapping the latter).")
4766 ;; Author specifies this as NewBSD which is an alias
4767 (license license:bsd-3))))
4768
4769 (define-public cl-fast-io
4770 (sbcl-package->cl-source-package sbcl-fast-io))
4771
4772 (define-public ecl-fast-io
4773 (sbcl-package->ecl-package sbcl-fast-io))
4774
4775 (define-public sbcl-jonathan
4776 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4777 (revision "1"))
4778 (package
4779 (name "sbcl-jonathan")
4780 (version (git-version "0.1.0" revision commit))
4781 (source
4782 (origin
4783 (method git-fetch)
4784 (uri (git-reference
4785 (url "https://github.com/Rudolph-Miller/jonathan")
4786 (commit commit)))
4787 (file-name (git-file-name name version))
4788 (sha256
4789 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4790 (build-system asdf-build-system/sbcl)
4791 (arguments
4792 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4793 ;; required by #<SYSTEM "jonathan">. Why?
4794 `(#:tests? #f))
4795 (native-inputs
4796 `(("sbcl-prove" ,sbcl-prove)))
4797 (inputs
4798 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4799 ("sbcl-fast-io" ,sbcl-fast-io)
4800 ("sbcl-proc-parse" ,sbcl-proc-parse)
4801 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
4802 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
4803 (synopsis "JSON encoder and decoder")
4804 (description
4805 "High performance JSON encoder and decoder. Currently support: SBCL,
4806 CCL.")
4807 ;; Author specifies the MIT license
4808 (license license:expat))))
4809
4810 (define-public cl-jonathan
4811 (sbcl-package->cl-source-package sbcl-jonathan))
4812
4813 (define-public ecl-jonathan
4814 (sbcl-package->ecl-package sbcl-jonathan))
4815
4816 (define-public sbcl-http-body
4817 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4818 (revision "1"))
4819 (package
4820 (name "sbcl-http-body")
4821 (version (git-version "0.1.0" revision commit))
4822 (source
4823 (origin
4824 (method git-fetch)
4825 (uri (git-reference
4826 (url "https://github.com/fukamachi/http-body")
4827 (commit commit)))
4828 (file-name (git-file-name name version))
4829 (sha256
4830 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4831 (build-system asdf-build-system/sbcl)
4832 (arguments
4833 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4834 ;; found, required by #<SYSTEM "http-body">. Why?
4835 `(#:tests? #f))
4836 (native-inputs
4837 `(("sbcl-prove" ,sbcl-prove)))
4838 (inputs
4839 `(("sbcl-fast-http" ,sbcl-fast-http)
4840 ("sbcl-jonathan" ,sbcl-jonathan)
4841 ("sbcl-quri" ,sbcl-quri)))
4842 (home-page "https://github.com/fukamachi/http-body")
4843 (synopsis "HTTP POST data parser")
4844 (description
4845 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4846 supports application/x-www-form-urlencoded, application/json, and
4847 multipart/form-data.")
4848 (license license:bsd-2))))
4849
4850 (define-public cl-http-body
4851 (sbcl-package->cl-source-package sbcl-http-body))
4852
4853 (define-public ecl-http-body
4854 (sbcl-package->ecl-package sbcl-http-body))
4855
4856 (define-public sbcl-circular-streams
4857 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4858 (revision "1"))
4859 (package
4860 (name "sbcl-circular-streams")
4861 (version (git-version "0.1.0" revision commit))
4862 (source
4863 (origin
4864 (method git-fetch)
4865 (uri (git-reference
4866 (url "https://github.com/fukamachi/circular-streams")
4867 (commit commit)))
4868 (file-name (git-file-name name version))
4869 (sha256
4870 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4871 (build-system asdf-build-system/sbcl)
4872 (arguments
4873 ;; The tests depend on cl-test-more which is now prove. Prove
4874 ;; tests aren't working for some reason.
4875 `(#:tests? #f))
4876 (inputs
4877 `(("sbcl-fast-io" ,sbcl-fast-io)
4878 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4879 (home-page "https://github.com/fukamachi/circular-streams")
4880 (synopsis "Circularly readable streams for Common Lisp")
4881 (description
4882 "Circular-Streams allows you to read streams circularly by wrapping real
4883 streams. Once you reach end-of-file of a stream, it's file position will be
4884 reset to 0 and you're able to read it again.")
4885 (license license:llgpl))))
4886
4887 (define-public cl-circular-streams
4888 (sbcl-package->cl-source-package sbcl-circular-streams))
4889
4890 (define-public ecl-circular-streams
4891 (sbcl-package->ecl-package sbcl-circular-streams))
4892
4893 (define-public sbcl-lack
4894 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4895 (revision "1"))
4896 (package
4897 (name "sbcl-lack")
4898 (version (git-version "0.1.0" revision commit))
4899 (source
4900 (origin
4901 (method git-fetch)
4902 (uri (git-reference
4903 (url "https://github.com/fukamachi/lack")
4904 (commit commit)))
4905 (file-name (git-file-name "lack" version))
4906 (sha256
4907 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4908 (build-system asdf-build-system/sbcl)
4909 (native-inputs
4910 `(("prove" ,sbcl-prove)))
4911 (inputs
4912 `(("circular-streams" ,sbcl-circular-streams)
4913 ("http-body" ,sbcl-http-body)
4914 ("ironclad" ,sbcl-ironclad)
4915 ("local-time" ,sbcl-local-time)
4916 ("quri" ,sbcl-quri)
4917 ("trivial-mimes" ,sbcl-trivial-mimes)))
4918 (arguments
4919 '(#:asd-systems '("lack"
4920 "lack-request"
4921 "lack-response"
4922 "lack-component"
4923 "lack-util"
4924 "lack-middleware-backtrace"
4925 "lack-middleware-static")
4926 #:test-asd-file "t-lack.asd"
4927 ;; XXX: Component :CLACK not found
4928 #:tests? #f))
4929 (home-page "https://github.com/fukamachi/lack")
4930 (synopsis "Lack, the core of Clack")
4931 (description
4932 "Lack is a Common Lisp library which allows web applications to be
4933 constructed of modular components. It was originally a part of Clack, however
4934 it's going to be rewritten as an individual project since Clack v2 with
4935 performance and simplicity in mind.")
4936 (license license:llgpl))))
4937
4938 (define-public cl-lack
4939 (sbcl-package->cl-source-package sbcl-lack))
4940
4941 (define-public ecl-lack
4942 (sbcl-package->ecl-package sbcl-lack))
4943
4944 (define-public sbcl-local-time
4945 (let ((commit "a177eb911c0e8116e2bfceb79049265a884b701b")
4946 (revision "2"))
4947 (package
4948 (name "sbcl-local-time")
4949 (version (git-version "1.0.6" revision commit))
4950 (source
4951 (origin
4952 (method git-fetch)
4953 (uri (git-reference
4954 (url "https://github.com/dlowe-net/local-time")
4955 (commit commit)))
4956 (file-name (git-file-name name version))
4957 (sha256
4958 (base32 "0wld28xx20k0ysgg6akic5lg4vkjd0iyhv86m388xfrv8xh87wii"))))
4959 (build-system asdf-build-system/sbcl)
4960 (native-inputs
4961 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
4962 (home-page "https://common-lisp.net/project/local-time/")
4963 (synopsis "Time manipulation library for Common Lisp")
4964 (description
4965 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4966 dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4967 Long Painful History of Time\".")
4968 (license license:expat))))
4969
4970 (define-public cl-local-time
4971 (sbcl-package->cl-source-package sbcl-local-time))
4972
4973 (define-public ecl-local-time
4974 (sbcl-package->ecl-package sbcl-local-time))
4975
4976 (define-public sbcl-chronicity
4977 (package
4978 (name "sbcl-chronicity")
4979 (version "0.4.1")
4980 (source
4981 (origin
4982 (method git-fetch)
4983 (uri (git-reference
4984 (url "https://github.com/chaitanyagupta/chronicity")
4985 (commit (string-append "v" version))))
4986 (file-name (git-file-name "chronicity" version))
4987 (sha256
4988 (base32 "0rzrl9is2v1aqbm0sym0qx3blnpd0bl13dkkmll6mb3983k2mkax"))))
4989 (build-system asdf-build-system/sbcl)
4990 (native-inputs
4991 `(("lisp-unit" ,sbcl-lisp-unit)))
4992 (inputs
4993 `(("cl-interpol" ,sbcl-cl-interpol)
4994 ("cl-ppcre" ,sbcl-cl-ppcre)
4995 ("local-time" ,sbcl-local-time)))
4996 (home-page "https://github.com/chaitanyagupta/chronicity")
4997 (synopsis "Natural language date and time parser for Common Lisp")
4998 (description
4999 "CHRONICITY is Common Lisp natural language date and time parser inspired
5000 by Ruby's @code{Chronic}.")
5001 (license license:bsd-3)))
5002
5003 (define-public ecl-chronicity
5004 (sbcl-package->ecl-package sbcl-chronicity))
5005
5006 (define-public cl-chronicity
5007 (sbcl-package->cl-source-package sbcl-chronicity))
5008
5009 (define-public sbcl-trivial-mimes
5010 (let ((commit "a741fc2f567a4f86b853fd4677d75e62c03e51d9")
5011 (revision "2"))
5012 (package
5013 (name "sbcl-trivial-mimes")
5014 (version (git-version "1.1.0" revision commit))
5015 (source
5016 (origin
5017 (method git-fetch)
5018 (uri (git-reference
5019 (url "https://github.com/Shinmera/trivial-mimes")
5020 (commit commit)))
5021 (file-name (git-file-name name version))
5022 (sha256
5023 (base32 "00kcm17q5plpzdj1qwg83ldhxksilgpcdkf3m9azxcdr968xs9di"))))
5024 (build-system asdf-build-system/sbcl)
5025 (native-inputs
5026 `(("stefil" ,sbcl-hu.dwim.stefil)))
5027 (inputs
5028 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
5029 (home-page "https://shinmera.github.io/trivial-mimes/")
5030 (synopsis "Tiny Common Lisp library to detect mime types in files")
5031 (description
5032 "This is a teensy library that provides some functions to determine the
5033 mime-type of a file.")
5034 (license license:zlib))))
5035
5036 (define-public cl-trivial-mimes
5037 (sbcl-package->cl-source-package sbcl-trivial-mimes))
5038
5039 (define-public ecl-trivial-mimes
5040 (sbcl-package->ecl-package sbcl-trivial-mimes))
5041
5042 (define-public sbcl-ningle
5043 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
5044 (revision "1"))
5045 (package
5046 (name "sbcl-ningle")
5047 (version (git-version "0.3.0" revision commit))
5048 (source
5049 (origin
5050 (method git-fetch)
5051 (uri (git-reference
5052 (url "https://github.com/fukamachi/ningle")
5053 (commit commit)))
5054 (file-name (git-file-name name version))
5055 (sha256
5056 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
5057 (build-system asdf-build-system/sbcl)
5058 (arguments
5059 ;; TODO: pull in clack-test
5060 '(#:tests? #f
5061 #:phases
5062 (modify-phases %standard-phases
5063 (delete 'cleanup-files)
5064 (delete 'cleanup)
5065 (add-before 'cleanup 'combine-fasls
5066 (lambda* (#:key outputs #:allow-other-keys)
5067 (let* ((out (assoc-ref outputs "out"))
5068 (lib (string-append out "/lib/sbcl"))
5069 (ningle-path (string-append lib "/ningle"))
5070 (fasl-files (find-files out "\\.fasl$")))
5071 (mkdir-p ningle-path)
5072 (let ((fasl-path (lambda (name)
5073 (string-append ningle-path
5074 "/"
5075 (basename name)
5076 "--system.fasl"))))
5077 (for-each (lambda (file)
5078 (rename-file file
5079 (fasl-path
5080 (basename file ".fasl"))))
5081 fasl-files))
5082 fasl-files)
5083 #t)))))
5084 (native-inputs
5085 `(("sbcl-prove" ,sbcl-prove)))
5086 (inputs
5087 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
5088 ("sbcl-myway" ,sbcl-myway)
5089 ("sbcl-lack" ,sbcl-lack)
5090 ("sbcl-alexandria" ,sbcl-alexandria)
5091 ("sbcl-babel" ,sbcl-babel)))
5092 (home-page "https://8arrow.org/ningle/")
5093 (synopsis "Super micro framework for Common Lisp")
5094 (description
5095 "Ningle is a lightweight web application framework for Common Lisp.")
5096 (license license:llgpl))))
5097
5098 (define-public cl-ningle
5099 (sbcl-package->cl-source-package sbcl-ningle))
5100
5101 (define-public ecl-ningle
5102 (sbcl-package->ecl-package sbcl-ningle))
5103
5104 (define-public sbcl-cl-fastcgi
5105 (let ((commit "de8b49b26de9863996ec18db28af8ab7e8ac4e20")
5106 (revision "2"))
5107 (package
5108 (name "sbcl-cl-fastcgi")
5109 (version (git-version "0.2" revision commit))
5110 (source
5111 (origin
5112 (method git-fetch)
5113 (uri (git-reference
5114 (url "https://github.com/KDr2/cl-fastcgi/")
5115 (commit commit)))
5116 (file-name (git-file-name name version))
5117 (sha256
5118 (base32 "0xgmhx766q4nmrvn5z7ag3ikpr9phlh8ypi8b14azshq9lqbq0m7"))))
5119 (build-system asdf-build-system/sbcl)
5120 (inputs
5121 `(("usocket" ,sbcl-usocket)
5122 ("cffi" ,sbcl-cffi)
5123 ("fcgi" ,fcgi)))
5124 (arguments
5125 `(#:phases
5126 (modify-phases %standard-phases
5127 (add-after 'unpack 'fix-paths
5128 (lambda* (#:key inputs #:allow-other-keys)
5129 (substitute* "cl-fastcgi.lisp"
5130 (("\"libfcgi.so\"")
5131 (string-append
5132 "\""
5133 (assoc-ref inputs "fcgi") "/lib/libfcgi.so\""))))))))
5134 (home-page "https://kdr2.com/project/cl-fastcgi.html")
5135 (synopsis "FastCGI wrapper for Common Lisp")
5136 (description
5137 "CL-FastCGI is a generic version of SB-FastCGI, targeting to run on
5138 mostly Common Lisp implementation.")
5139 (license license:bsd-2))))
5140
5141 (define-public cl-fastcgi
5142 (sbcl-package->cl-source-package sbcl-cl-fastcgi))
5143
5144 (define-public ecl-cl-fastcgi
5145 (sbcl-package->ecl-package sbcl-cl-fastcgi))
5146
5147 (define-public sbcl-clack
5148 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
5149 (revision "1"))
5150 (package
5151 (name "sbcl-clack")
5152 (version (git-version "2.0.0" revision commit))
5153 (source
5154 (origin
5155 (method git-fetch)
5156 (uri (git-reference
5157 (url "https://github.com/fukamachi/clack")
5158 (commit commit)))
5159 (file-name (git-file-name name version))
5160 (sha256
5161 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
5162 (build-system asdf-build-system/sbcl)
5163 (inputs
5164 `(("alexandria" ,sbcl-alexandria)
5165 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5166 ("cl-fastcgi" ,sbcl-cl-fastcgi)
5167 ("flexi-streams" ,sbcl-flexi-streams)
5168 ("hunchentoot" ,sbcl-hunchentoot)
5169 ("lack" ,sbcl-lack)
5170 ("split-sequence" ,sbcl-split-sequence)
5171 ("usocket" ,sbcl-usocket)
5172 ("quri" ,sbcl-quri)))
5173 (arguments
5174 '(#:asd-systems '("clack"
5175 "clack-handler-fcgi"
5176 "clack-socket"
5177 "clack-handler-hunchentoot")))
5178 (home-page "https://github.com/fukamachi/clack")
5179 (synopsis "Web Application Environment for Common Lisp")
5180 (description
5181 "Clack is a web application environment for Common Lisp inspired by
5182 Python's WSGI and Ruby's Rack.")
5183 (license license:llgpl))))
5184
5185 (define-public cl-clack
5186 (sbcl-package->cl-source-package sbcl-clack))
5187
5188 (define-public ecl-clack
5189 (sbcl-package->ecl-package sbcl-clack))
5190
5191 (define-public sbcl-cl-log
5192 (let ((commit "8f4b766d51e02245c310526cf1e4534ce634f837")
5193 (revision "1"))
5194 (package
5195 (name "sbcl-cl-log")
5196 (version "1.0.1")
5197 (source
5198 (origin
5199 (method git-fetch)
5200 (uri (git-reference
5201 (url "https://github.com/nicklevine/cl-log")
5202 (commit commit)))
5203 (sha256
5204 (base32 "1r3z9swy1b59swvaa5b97is9ysrfmjvjjhhw56p7p5hqg93b92ak"))
5205 (file-name (git-file-name "cl-log" version))))
5206 (build-system asdf-build-system/sbcl)
5207 (synopsis "Common Lisp general purpose logging utility")
5208 (description "CL-LOG is a general purpose logging utility, loosely modelled
5209 in some respects after Gary King's Log5. Its features include: logging to
5210 several destinations at once, via \"messengers\", each messenger is tailored to
5211 accept some log messages and reject others, and this tailoring can be changed
5212 on-the-fly, very rapid processing of messages which are rejected by all
5213 messengers, fully independent use of the utility by several different
5214 sub-systems in an application, support for messengers which cl:format text to a
5215 stream, support for messengers which do not invoke cl:format, timestamps in
5216 theory accurate to internal-time-units-per-second.")
5217 (home-page "https://github.com/nicklevine/cl-log")
5218 (license license:expat))))
5219
5220 (define-public cl-log
5221 (sbcl-package->cl-source-package sbcl-cl-log))
5222
5223 (define-public ecl-cl-log
5224 (sbcl-package->ecl-package sbcl-cl-log))
5225
5226 (define-public sbcl-log4cl
5227 (let ((commit "8c48d6f41d3a1475d0a91eed0638b9eecc398e35")
5228 (revision "1"))
5229 (package
5230 (name "sbcl-log4cl")
5231 (version (git-version "1.1.3" revision commit))
5232 (source
5233 (origin
5234 (method git-fetch)
5235 (uri (git-reference
5236 (url "https://github.com/sharplispers/log4cl")
5237 (commit commit)))
5238 (file-name (git-file-name "log4cl" version))
5239 (sha256
5240 (base32 "0166d9aip366pbpdk5gsi2f6xad6q61lssxgbrypa8zslwjn8736"))))
5241 (build-system asdf-build-system/sbcl)
5242 (native-inputs
5243 `(("stefil" ,sbcl-stefil)))
5244 (inputs
5245 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
5246 (home-page "https://github.com/7max/log4cl")
5247 (synopsis "Common Lisp logging framework, modeled after Log4J")
5248 (description
5249 "This is a Common Lisp logging framework that can log at various levels
5250 and mix text with expressions.")
5251 (license license:asl2.0))))
5252
5253 (define-public cl-log4cl
5254 (sbcl-package->cl-source-package sbcl-log4cl))
5255
5256 (define-public ecl-log4cl
5257 (sbcl-package->ecl-package sbcl-log4cl))
5258
5259 (define-public sbcl-printv
5260 (let ((commit "646d31978dbbb460fffb160fd65bb2be9a5a434e")
5261 (revision "1"))
5262 (package
5263 (name "sbcl-printv")
5264 (version (git-version "0.1.0" revision commit))
5265 (source
5266 (origin
5267 (method git-fetch)
5268 (uri (git-reference
5269 (url "https://github.com/danlentz/printv")
5270 (commit commit)))
5271 (file-name (git-file-name "printv" version))
5272 (sha256
5273 (base32 "08jvy82abm7qi3wrxh6gvmwg9gy0zzhg4cfqajdwrggbah8mj5a6"))))
5274 (build-system asdf-build-system/sbcl)
5275 (home-page "https://github.com/danlentz/printv")
5276 (synopsis "Common Lisp tracing and debug-logging macro")
5277 (description
5278 "@code{PRINTV} is a \"batteries-included\" tracing and debug-logging
5279 macro for Common Lisp.")
5280 (license license:asl2.0))))
5281
5282 (define-public ecl-printv
5283 (sbcl-package->ecl-package sbcl-printv))
5284
5285 (define-public cl-printv
5286 (sbcl-package->cl-source-package sbcl-printv))
5287
5288 (define-public sbcl-cl-debug
5289 (let ((commit "b334280806104ee7f7d3aec666bf7e08d2f89b31")
5290 (revision "1"))
5291 (package
5292 (name "sbcl-cl-debug")
5293 (version (git-version "1.0.0" revision commit))
5294 (source
5295 (origin
5296 (method git-fetch)
5297 (uri (git-reference
5298 (url "https://github.com/kmx-io/cl-debug")
5299 (commit commit)))
5300 (file-name (git-file-name "cl-debug" version))
5301 (sha256
5302 (base32 "0w5vxbjsgr3zfpivdmghmhzxskfdvm1p34c8whwps2xlhypxsa78"))))
5303 (build-system asdf-build-system/sbcl)
5304 (home-page "https://github.com/kmx-io/cl-debug")
5305 (synopsis "Common Lisp cross-package debugging facility")
5306 (description
5307 "CL-DEBUG provides a unified way to enable or disable debug-specific code.
5308 Debugging code can be enabled or disabled relative to program features denoted
5309 by either a symbol or a keyword.")
5310 (license license:isc))))
5311
5312 (define-public ecl-cl-debug
5313 (sbcl-package->ecl-package sbcl-cl-debug))
5314
5315 (define-public cl-debug
5316 (sbcl-package->cl-source-package sbcl-cl-debug))
5317
5318 (define-public sbcl-verbose
5319 (let ((commit "c5b7ecd465be61b35af17ef57564697b88397174")
5320 (revision "1"))
5321 (package
5322 (name "sbcl-verbose")
5323 (version (git-version "2.0.0" revision commit))
5324 (source
5325 (origin
5326 (method git-fetch)
5327 (uri (git-reference
5328 (url "https://github.com/Shinmera/verbose/")
5329 (commit commit)))
5330 (file-name (git-file-name "verbose" version))
5331 (sha256
5332 (base32 "0r51ydj5v7afi2jrlscbhxprv13d9vzg5316g1yzwaxc1kzsdsw6"))))
5333 (build-system asdf-build-system/sbcl)
5334 (inputs
5335 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
5336 ("dissect" ,sbcl-dissect)
5337 ("documentation-utils" ,sbcl-documentation-utils)
5338 ("local-time" ,sbcl-local-time)
5339 ("piping" ,sbcl-piping)))
5340 (home-page "https://shinmera.github.io/verbose/")
5341 (synopsis "Logging framework using the piping library")
5342 (description
5343 "This is a Common Lisp library providing logging faciltiy similar to
5344 @code{CL-LOG} and @code{LOG4CL}.")
5345 (license license:zlib))))
5346
5347 (define-public ecl-verbose
5348 (sbcl-package->ecl-package sbcl-verbose))
5349
5350 (define-public cl-verbose
5351 (sbcl-package->cl-source-package sbcl-verbose))
5352
5353 (define-public sbcl-find-port
5354 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
5355 (revision "1"))
5356 (package
5357 (name "sbcl-find-port")
5358 (build-system asdf-build-system/sbcl)
5359 (version "0.1")
5360 (home-page "https://github.com/eudoxia0/find-port")
5361 (source
5362 (origin
5363 (method git-fetch)
5364 (uri (git-reference
5365 (url home-page)
5366 (commit commit)))
5367 (file-name (git-file-name name version))
5368 (sha256
5369 (base32
5370 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
5371 (native-inputs
5372 `(("fiveam" ,sbcl-fiveam)))
5373 (inputs
5374 `(("sbcl-usocket" ,sbcl-usocket)))
5375 (synopsis "Find open ports programmatically in Common Lisp")
5376 (description "This is a small Common Lisp library that finds an open
5377 port within a range.")
5378 (license license:expat))))
5379
5380 (define-public cl-find-port
5381 (sbcl-package->cl-source-package sbcl-find-port))
5382
5383 (define-public ecl-find-port
5384 (sbcl-package->ecl-package sbcl-find-port))
5385
5386 (define-public sbcl-clunit
5387 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
5388 (revision "1"))
5389 (package
5390 (name "sbcl-clunit")
5391 (version (git-version "0.2.3" revision commit))
5392 (source
5393 (origin
5394 (method git-fetch)
5395 (uri (git-reference
5396 (url "https://github.com/tgutu/clunit")
5397 (commit commit)))
5398 (file-name (git-file-name name version))
5399 (sha256
5400 (base32
5401 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
5402 (build-system asdf-build-system/sbcl)
5403 (synopsis "CLUnit is a Common Lisp unit testing framework")
5404 (description
5405 "CLUnit is a Common Lisp unit testing framework. It is designed
5406 to be easy to use so that you can quickly start testing. CLUnit
5407 provides a rich set of features aimed at improving your unit testing
5408 experience.")
5409 (home-page "https://tgutu.github.io/clunit/")
5410 ;; MIT License
5411 (license license:expat))))
5412
5413 (define-public cl-clunit
5414 (sbcl-package->cl-source-package sbcl-clunit))
5415
5416 (define-public ecl-clunit
5417 (sbcl-package->ecl-package sbcl-clunit))
5418
5419 (define-public sbcl-py4cl
5420 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
5421 (revision "1"))
5422 (package
5423 (name "sbcl-py4cl")
5424 (version (git-version "0.0.0" revision commit))
5425 (source
5426 (origin
5427 (method git-fetch)
5428 (uri (git-reference
5429 (url "https://github.com/bendudson/py4cl")
5430 (commit commit)))
5431 (file-name (git-file-name name version))
5432 (sha256
5433 (base32
5434 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
5435 (modules '((guix build utils)))))
5436 (build-system asdf-build-system/sbcl)
5437 (native-inputs
5438 `(("sbcl-clunit" ,sbcl-clunit)))
5439 (inputs
5440 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5441 (propagated-inputs
5442 ;; This package doesn't do anything without python available
5443 `(("python" ,python)
5444 ;; For multi-dimensional array support
5445 ("python-numpy" ,python-numpy)))
5446 (arguments
5447 '(#:phases
5448 (modify-phases %standard-phases
5449 (add-after 'unpack 'replace-*base-directory*-var
5450 (lambda* (#:key outputs #:allow-other-keys)
5451 ;; In the ASD, the author makes an attempt to
5452 ;; programatically determine the location of the
5453 ;; source-code so lisp can call into "py4cl.py". We can
5454 ;; hard-code this since we know where this file will
5455 ;; reside.
5456 (substitute* "src/callpython.lisp"
5457 (("py4cl/config:\\*base-directory\\*")
5458 (string-append
5459 "\""
5460 (assoc-ref outputs "out")
5461 "/share/common-lisp/sbcl-source/py4cl/"
5462 "\""))))))))
5463 (synopsis "Call python from Common Lisp")
5464 (description
5465 "Py4CL is a bridge between Common Lisp and Python, which enables Common
5466 Lisp to interact with Python code. It uses streams to communicate with a
5467 separate python process, the approach taken by cl4py. This is different to
5468 the CFFI approach used by burgled-batteries, but has the same goal.")
5469 (home-page "https://github.com/bendudson/py4cl")
5470 ;; MIT License
5471 (license license:expat))))
5472
5473 (define-public cl-py4cl
5474 (sbcl-package->cl-source-package sbcl-py4cl))
5475
5476 (define-public ecl-py4cl
5477 (sbcl-package->ecl-package sbcl-py4cl))
5478
5479 (define-public sbcl-parse-declarations
5480 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
5481 (revision "1"))
5482 (package
5483 (name "sbcl-parse-declarations")
5484 (version (git-version "1.0.0" revision commit))
5485 (source
5486 (origin
5487 (method git-fetch)
5488 (uri (git-reference
5489 (url (string-append
5490 "https://gitlab.common-lisp.net/parse-declarations/"
5491 "parse-declarations.git"))
5492 (commit commit)))
5493 (file-name (git-file-name name version))
5494 (sha256
5495 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
5496 (build-system asdf-build-system/sbcl)
5497 (arguments
5498 `(#:asd-systems '("parse-declarations-1.0")))
5499 (home-page "https://common-lisp.net/project/parse-declarations/")
5500 (synopsis "Parse, filter, and build declarations")
5501 (description
5502 "Parse-Declarations is a Common Lisp library to help writing
5503 macros which establish bindings. To be semantically correct, such
5504 macros must take user declarations into account, as these may affect
5505 the bindings they establish. Yet the ANSI standard of Common Lisp does
5506 not provide any operators to work with declarations in a convenient,
5507 high-level way. This library provides such operators.")
5508 ;; MIT License
5509 (license license:expat))))
5510
5511 (define-public cl-parse-declarations
5512 (sbcl-package->cl-source-package sbcl-parse-declarations))
5513
5514 (define-public ecl-parse-declarations
5515 (sbcl-package->ecl-package sbcl-parse-declarations))
5516
5517 (define-public sbcl-cl-quickcheck
5518 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5519 (revision "1"))
5520 (package
5521 (name "sbcl-cl-quickcheck")
5522 (version (git-version "0.0.4" revision commit))
5523 (source
5524 (origin
5525 (method git-fetch)
5526 (uri (git-reference
5527 (url "https://github.com/mcandre/cl-quickcheck")
5528 (commit commit)))
5529 (file-name (git-file-name name version))
5530 (sha256
5531 (base32
5532 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5533 (build-system asdf-build-system/sbcl)
5534 (synopsis
5535 "Common Lisp port of the QuickCheck unit test framework")
5536 (description
5537 "Common Lisp port of the QuickCheck unit test framework")
5538 (home-page "https://github.com/mcandre/cl-quickcheck")
5539 ;; MIT
5540 (license license:expat))))
5541
5542 (define-public cl-quickcheck
5543 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5544
5545 (define-public ecl-cl-quickcheck
5546 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5547
5548 (define-public sbcl-burgled-batteries3
5549 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
5550 (revision "2"))
5551 (package
5552 (name "sbcl-burgled-batteries3")
5553 (version (git-version "0.0.0" revision commit))
5554 (source
5555 (origin
5556 (method git-fetch)
5557 (uri (git-reference
5558 (url "https://github.com/snmsts/burgled-batteries3")
5559 (commit commit)))
5560 (file-name (git-file-name name version))
5561 (sha256
5562 (base32
5563 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
5564 (build-system asdf-build-system/sbcl)
5565 (arguments
5566 `(#:tests? #f
5567 #:modules (((guix build python-build-system) #:select (python-version))
5568 ,@%asdf-build-system-modules)
5569 #:imported-modules ((guix build python-build-system)
5570 ,@%asdf-build-system-modules)
5571 #:phases
5572 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
5573 (add-after 'unpack 'set-*cpython-include-dir*-var
5574 (lambda* (#:key inputs #:allow-other-keys)
5575 (let ((python (assoc-ref inputs "python")))
5576 (setenv "BB_PYTHON3_INCLUDE_DIR"
5577 (string-append python "/include/python"
5578 (python-version python)))
5579 (setenv "BB_PYTHON3_DYLIB"
5580 (string-append python "/lib/libpython3.so"))
5581 #t)))
5582 (add-after 'unpack 'adjust-for-python-3.8
5583 (lambda _
5584 ;; This method is no longer part of the public API.
5585 (substitute* "ffi-interface.lisp"
5586 ((".*PyEval_ReInitThreads.*")
5587 ""))
5588 #t)))))
5589 (native-inputs
5590 `(("sbcl-cl-fad" ,sbcl-cl-fad)
5591 ("sbcl-lift" ,sbcl-lift)
5592 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5593 (inputs
5594 `(("python" ,python)
5595 ("sbcl-cffi" ,sbcl-cffi)
5596 ("sbcl-alexandria" , sbcl-alexandria)
5597 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5598 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5599 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5600 (description
5601 "This package provides a shim between Python3 (specifically, the
5602 CPython implementation of Python) and Common Lisp.")
5603 (home-page "https://github.com/snmsts/burgled-batteries3")
5604 (license license:expat))))
5605
5606 (define-public cl-burgled-batteries3
5607 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5608
5609 (define-public ecl-burgled-batteries3
5610 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5611
5612 (define-public sbcl-metabang-bind
5613 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5614 (revision "1"))
5615 (package
5616 (name "sbcl-metabang-bind")
5617 (version (git-version "0.8.0" revision commit))
5618 (source
5619 (origin
5620 (method git-fetch)
5621 (uri (git-reference
5622 (url "https://github.com/gwkkwg/metabang-bind")
5623 (commit commit)))
5624 (file-name (git-file-name name version))
5625 (sha256
5626 (base32
5627 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5628 (build-system asdf-build-system/sbcl)
5629 (native-inputs
5630 `(("sbcl-lift" ,sbcl-lift)))
5631 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5632 (description
5633 "Bind extends the idea of of let and destructing to provide a uniform
5634 syntax for all your accessor needs. It combines @code{let},
5635 @code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5636 editing, property or association-lists, and @code{multiple-value-bind} and a
5637 whole lot more into a single form.")
5638 (home-page "https://common-lisp.net/project/metabang-bind/")
5639 ;; MIT License
5640 (license license:expat))))
5641
5642 (define-public cl-metabang-bind
5643 (sbcl-package->cl-source-package sbcl-metabang-bind))
5644
5645 (define-public ecl-metabang-bind
5646 (sbcl-package->ecl-package sbcl-metabang-bind))
5647
5648 (define-public sbcl-fare-utils
5649 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5650 (revision "1"))
5651 (package
5652 (name "sbcl-fare-utils")
5653 (version (git-version "1.0.0.5" revision commit))
5654 (source
5655 (origin
5656 (method git-fetch)
5657 (uri
5658 (git-reference
5659 (url
5660 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5661 (commit commit)))
5662 (file-name (git-file-name name version))
5663 (sha256
5664 (base32
5665 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5666 (build-system asdf-build-system/sbcl)
5667 (arguments
5668 `(#:test-asd-file "test/fare-utils-test.asd"))
5669 (native-inputs
5670 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5671 (synopsis "Collection of utilities and data structures")
5672 (description
5673 "fare-utils is a small collection of utilities. It contains a lot of
5674 basic everyday functions and macros.")
5675 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5676 ;; MIT License
5677 (license license:expat))))
5678
5679 (define-public cl-fare-utils
5680 (sbcl-package->cl-source-package sbcl-fare-utils))
5681
5682 (define-public ecl-fare-utils
5683 (sbcl-package->ecl-package sbcl-fare-utils))
5684
5685 (define-public sbcl-trivial-utf-8
5686 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5687 (revision "1"))
5688 (package
5689 (name "sbcl-trivial-utf-8")
5690 (version (git-version "0.0.0" revision commit))
5691 (source
5692 (origin
5693 (method git-fetch)
5694 (uri
5695 (git-reference
5696 (url (string-append "https://gitlab.common-lisp.net/"
5697 "trivial-utf-8/trivial-utf-8.git"))
5698 (commit commit)))
5699 (file-name (git-file-name name version))
5700 (sha256
5701 (base32
5702 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5703 (arguments
5704 ;; Guix incorrectly assumes the "8" is part of the version
5705 ;; number and lobs it off.
5706 `(#:asd-systems '("trivial-utf-8")))
5707 (build-system asdf-build-system/sbcl)
5708 (synopsis "UTF-8 input/output library")
5709 (description
5710 "The Babel library solves a similar problem while understanding more
5711 encodings. Trivial UTF-8 was written before Babel existed, but for new
5712 projects you might be better off going with Babel. The one plus that Trivial
5713 UTF-8 has is that it doesn't depend on any other libraries.")
5714 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5715 (license license:bsd-3))))
5716
5717 (define-public cl-trivial-utf-8
5718 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5719
5720 (define-public ecl-trivial-utf-8
5721 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5722
5723 (define-public sbcl-idna
5724 (package
5725 (name "sbcl-idna")
5726 (build-system asdf-build-system/sbcl)
5727 (version "0.2.2")
5728 (home-page "https://github.com/antifuchs/idna")
5729 (source
5730 (origin
5731 (method git-fetch)
5732 (uri (git-reference
5733 (url home-page)
5734 (commit version)))
5735 (file-name (git-file-name name version))
5736 (sha256
5737 (base32
5738 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5739 (inputs
5740 `(("split-sequence" ,sbcl-split-sequence)))
5741 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5742 (description "This Common Lisp library provides string encoding and
5743 decoding routines for IDNA, the International Domain Names in Applications.")
5744 (license license:expat)))
5745
5746 (define-public cl-idna
5747 (sbcl-package->cl-source-package sbcl-idna))
5748
5749 (define-public ecl-idna
5750 (sbcl-package->ecl-package sbcl-idna))
5751
5752 (define-public sbcl-swap-bytes
5753 (package
5754 (name "sbcl-swap-bytes")
5755 (build-system asdf-build-system/sbcl)
5756 (version "1.2")
5757 (home-page "https://github.com/sionescu/swap-bytes")
5758 (source
5759 (origin
5760 (method git-fetch)
5761 (uri (git-reference
5762 (url home-page)
5763 (commit (string-append "v" version))))
5764 (file-name (git-file-name name version))
5765 (sha256
5766 (base32
5767 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
5768 (inputs
5769 `(("trivial-features" ,sbcl-trivial-features)))
5770 (native-inputs
5771 `(("fiveam" ,sbcl-fiveam)))
5772 (synopsis "Efficient endianness conversion for Common Lisp")
5773 (description "This Common Lisp library provides optimized byte-swapping
5774 primitives. The library can change endianness of unsigned integers of length
5775 1/2/4/8. Very useful in implementing various network protocols and file
5776 formats.")
5777 (license license:expat)))
5778
5779 (define-public cl-swap-bytes
5780 (sbcl-package->cl-source-package sbcl-swap-bytes))
5781
5782 (define-public ecl-swap-bytes
5783 (sbcl-package->ecl-package sbcl-swap-bytes))
5784
5785 (define-public sbcl-iolib
5786 ;; Latest release is from June 2017.
5787 (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
5788 (revision "2"))
5789 (package
5790 (name "sbcl-iolib")
5791 (version (git-version "0.8.3" revision commit))
5792 (home-page "https://github.com/sionescu/iolib")
5793 (source
5794 (origin
5795 (method git-fetch)
5796 (uri (git-reference
5797 (url home-page)
5798 (commit commit)))
5799 (file-name (git-file-name name version))
5800 (sha256
5801 (base32
5802 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
5803 (build-system asdf-build-system/sbcl)
5804 (inputs
5805 `(("alexandria" ,sbcl-alexandria)
5806 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5807 ("cffi" ,sbcl-cffi)
5808 ("idna" ,sbcl-idna)
5809 ("libfixposix" ,libfixposix)
5810 ("split-sequence" ,sbcl-split-sequence)
5811 ("swap-bytes" ,sbcl-swap-bytes)))
5812 (arguments
5813 '(#:asd-files '("iolib.asdf.asd"
5814 "iolib.conf.asd"
5815 "iolib.common-lisp.asd"
5816 "iolib.base.asd"
5817 "iolib.asd")
5818 #:phases
5819 (modify-phases %standard-phases
5820 (add-after 'unpack 'fix-paths
5821 (lambda* (#:key inputs #:allow-other-keys)
5822 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5823 (("\\(:default \"libfixposix\"\\)")
5824 (string-append
5825 "(:default \""
5826 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5827 ;; Socket tests need Internet access, disable them.
5828 (substitute* "iolib.asd"
5829 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5830 "")))))))
5831 (synopsis "Common Lisp I/O library")
5832 (description "IOlib is to be a better and more modern I/O library than
5833 the standard Common Lisp library. It contains a socket library, a DNS
5834 resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5835 and @code{kqueue(2)}), a pathname library and file-system utilities.")
5836 (license license:expat))))
5837
5838 (define-public cl-iolib
5839 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
5840 (package
5841 (inherit parent)
5842 (propagated-inputs
5843 ;; Need header to compile.
5844 `(("libfixposix" ,libfixposix)
5845 ,@(package-propagated-inputs parent))))))
5846
5847 (define-public ecl-iolib
5848 (sbcl-package->ecl-package sbcl-iolib))
5849
5850 (define-public sbcl-ieee-floats
5851 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5852 (revision "1"))
5853 (package
5854 (name "sbcl-ieee-floats")
5855 (build-system asdf-build-system/sbcl)
5856 (version (git-version "20170924" revision commit))
5857 (home-page "https://github.com/marijnh/ieee-floats/")
5858 (source
5859 (origin
5860 (method git-fetch)
5861 (uri (git-reference
5862 (url home-page)
5863 (commit commit)))
5864 (file-name (git-file-name name version))
5865 (sha256
5866 (base32
5867 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5868 (native-inputs
5869 `(("fiveam" ,sbcl-fiveam)))
5870 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5871 (description "This is a Common Lisp library that converts
5872 floating point values to IEEE 754 binary representation.")
5873 (license license:bsd-3))))
5874
5875 (define-public cl-ieee-floats
5876 (sbcl-package->cl-source-package sbcl-ieee-floats))
5877
5878 (define-public ecl-ieee-floats
5879 (sbcl-package->ecl-package sbcl-ieee-floats))
5880
5881 (define sbcl-closure-common
5882 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5883 (revision "1"))
5884 (package
5885 (name "sbcl-closure-common")
5886 (build-system asdf-build-system/sbcl)
5887 (version (git-version "20101006" revision commit))
5888 (home-page "https://common-lisp.net/project/cxml/")
5889 (source
5890 (origin
5891 (method git-fetch)
5892 (uri (git-reference
5893 (url "https://github.com/sharplispers/closure-common")
5894 (commit commit)))
5895 (file-name (git-file-name name version))
5896 (sha256
5897 (base32
5898 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5899 (inputs
5900 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5901 ("babel" ,sbcl-babel)))
5902 (synopsis "Support Common Lisp library for CXML")
5903 (description "Closure-common is an internal helper library. The name
5904 Closure is a reference to the web browser it was originally written for.")
5905 ;; TODO: License?
5906 (license #f))))
5907
5908 (define-public sbcl-cxml
5909 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5910 (revision "1"))
5911 (package
5912 (name "sbcl-cxml")
5913 (version (git-version "0.0.0" revision commit))
5914 (source
5915 (origin
5916 (method git-fetch)
5917 (uri (git-reference
5918 (url "https://github.com/sharplispers/cxml")
5919 (commit commit)))
5920 (file-name (git-file-name name version))
5921 (sha256
5922 (base32
5923 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5924 (build-system asdf-build-system/sbcl)
5925 (inputs
5926 `(("closure-common" ,sbcl-closure-common)
5927 ("puri" ,sbcl-puri)
5928 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5929 (synopsis "Common Lisp XML parser")
5930 (description "CXML implements a namespace-aware, validating XML 1.0
5931 parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5932 offered, one SAX-like, the other similar to StAX.")
5933 (home-page "https://common-lisp.net/project/cxml/")
5934 (license license:llgpl))))
5935
5936 (define-public cl-cxml
5937 (sbcl-package->cl-source-package sbcl-cxml))
5938
5939 (define-public ecl-cxml
5940 (sbcl-package->ecl-package sbcl-cxml))
5941
5942 (define-public sbcl-cl-reexport
5943 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5944 (revision "1"))
5945 (package
5946 (name "sbcl-cl-reexport")
5947 (build-system asdf-build-system/sbcl)
5948 (version (git-version "0.1" revision commit))
5949 (home-page "https://github.com/takagi/cl-reexport")
5950 (source
5951 (origin
5952 (method git-fetch)
5953 (uri (git-reference
5954 (url home-page)
5955 (commit commit)))
5956 (file-name (git-file-name name version))
5957 (sha256
5958 (base32
5959 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5960 (inputs
5961 `(("alexandria" ,sbcl-alexandria)))
5962 (arguments
5963 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5964 `(#:tests? #f))
5965 (synopsis "HTTP cookie manager for Common Lisp")
5966 (description "cl-cookie is a Common Lisp library featuring parsing of
5967 cookie headers, cookie creation, cookie jar creation and more.")
5968 (license license:llgpl))))
5969
5970 (define-public cl-reexport
5971 (sbcl-package->cl-source-package sbcl-cl-reexport))
5972
5973 (define-public ecl-cl-reexport
5974 (sbcl-package->ecl-package sbcl-cl-reexport))
5975
5976 (define-public sbcl-cl-cookie
5977 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5978 (revision "1"))
5979 (package
5980 (name "sbcl-cl-cookie")
5981 (build-system asdf-build-system/sbcl)
5982 (version (git-version "0.9.10" revision commit))
5983 (home-page "https://github.com/fukamachi/cl-cookie")
5984 (source
5985 (origin
5986 (method git-fetch)
5987 (uri (git-reference
5988 (url home-page)
5989 (commit commit)))
5990 (file-name (git-file-name name version))
5991 (sha256
5992 (base32
5993 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5994 (inputs
5995 `(("proc-parse" ,sbcl-proc-parse)
5996 ("alexandria" ,sbcl-alexandria)
5997 ("quri" ,sbcl-quri)
5998 ("cl-ppcre" ,sbcl-cl-ppcre)
5999 ("local-time" ,sbcl-local-time)))
6000 (native-inputs
6001 `(("prove" ,sbcl-prove)))
6002 (arguments
6003 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
6004 `(#:tests? #f))
6005 (synopsis "HTTP cookie manager for Common Lisp")
6006 (description "cl-cookie is a Common Lisp library featuring parsing of
6007 cookie headers, cookie creation, cookie jar creation and more.")
6008 (license license:bsd-2))))
6009
6010 (define-public cl-cookie
6011 (sbcl-package->cl-source-package sbcl-cl-cookie))
6012
6013 (define-public ecl-cl-cookie
6014 (sbcl-package->ecl-package sbcl-cl-cookie))
6015
6016 (define-public sbcl-dexador
6017 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
6018 (revision "1"))
6019 (package
6020 (name "sbcl-dexador")
6021 (build-system asdf-build-system/sbcl)
6022 (version "0.9.14" )
6023 (home-page "https://github.com/fukamachi/dexador")
6024 (source
6025 (origin
6026 (method git-fetch)
6027 (uri (git-reference
6028 (url home-page)
6029 (commit commit)))
6030 (file-name (git-file-name name version))
6031 (sha256
6032 (base32
6033 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
6034 (inputs
6035 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
6036 ("babel" ,sbcl-babel)
6037 ("usocket" ,sbcl-usocket)
6038 ("fast-http" ,sbcl-fast-http)
6039 ("quri" ,sbcl-quri)
6040 ("fast-io" ,sbcl-fast-io)
6041 ("chunga" ,sbcl-chunga)
6042 ("cl-ppcre" ,sbcl-cl-ppcre)
6043 ("cl-cookie" ,sbcl-cl-cookie)
6044 ("trivial-mimes" ,sbcl-trivial-mimes)
6045 ("chipz" ,sbcl-chipz)
6046 ("cl-base64" ,sbcl-cl-base64)
6047 ("cl-reexport" ,sbcl-cl-reexport)
6048 ("cl+ssl" ,sbcl-cl+ssl)
6049 ("bordeaux-threads" ,sbcl-bordeaux-threads)
6050 ("alexandria" ,sbcl-alexandria)))
6051 (native-inputs
6052 `(("prove" ,sbcl-prove)
6053 ("lack" ,sbcl-lack)
6054 ("clack" ,sbcl-clack)
6055 ("babel" ,sbcl-babel)
6056 ("alexandria" ,sbcl-alexandria)
6057 ("cl-ppcre" ,sbcl-cl-ppcre)
6058 ("local-time" ,sbcl-local-time)
6059 ("trivial-features" ,sbcl-trivial-features)))
6060 (arguments
6061 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
6062 `(#:tests? #f
6063 #:phases
6064 (modify-phases %standard-phases
6065 (add-after 'unpack 'fix-permissions
6066 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
6067 (synopsis "Yet another HTTP client for Common Lisp")
6068 (description "Dexador is yet another HTTP client for Common Lisp with
6069 neat APIs and connection-pooling. It is meant to supersede Drakma.")
6070 (license license:expat))))
6071
6072 (define-public cl-dexador
6073 (package
6074 (inherit (sbcl-package->cl-source-package sbcl-dexador))
6075 (arguments
6076 `(#:phases
6077 ;; asdf-build-system/source has its own phases and does not inherit
6078 ;; from asdf-build-system/sbcl phases.
6079 (modify-phases %standard-phases/source
6080 ;; Already done in SBCL package.
6081 (delete 'reset-gzip-timestamps))))))
6082
6083 (define-public ecl-dexador
6084 (sbcl-package->ecl-package sbcl-dexador))
6085
6086 (define-public sbcl-lisp-namespace
6087 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
6088 (revision "1"))
6089 (package
6090 (name "sbcl-lisp-namespace")
6091 (build-system asdf-build-system/sbcl)
6092 (version (git-version "0.1" revision commit))
6093 (home-page "https://github.com/guicho271828/lisp-namespace")
6094 (source
6095 (origin
6096 (method git-fetch)
6097 (uri (git-reference
6098 (url home-page)
6099 (commit commit)))
6100 (file-name (git-file-name name version))
6101 (sha256
6102 (base32
6103 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
6104 (inputs
6105 `(("alexandria" ,sbcl-alexandria)))
6106 (native-inputs
6107 `(("fiveam" ,sbcl-fiveam)))
6108 (arguments
6109 `(#:test-asd-file "lisp-namespace.test.asd"
6110 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
6111 #:tests? #f))
6112 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
6113 (description "Common Lisp already has major 2 namespaces, function
6114 namespace and value namespace (or variable namespace), but there are actually
6115 more — e.g., class namespace.
6116 This library offers macros to deal with symbols from any namespace.")
6117 (license license:llgpl))))
6118
6119 (define-public cl-lisp-namespace
6120 (sbcl-package->cl-source-package sbcl-lisp-namespace))
6121
6122 (define-public ecl-lisp-namespace
6123 (sbcl-package->ecl-package sbcl-lisp-namespace))
6124
6125 (define-public sbcl-trivial-cltl2
6126 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
6127 (revision "2"))
6128 (package
6129 (name "sbcl-trivial-cltl2")
6130 (build-system asdf-build-system/sbcl)
6131 (version (git-version "0.1.1" revision commit))
6132 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
6133 (source
6134 (origin
6135 (method git-fetch)
6136 (uri (git-reference
6137 (url home-page)
6138 (commit commit)))
6139 (file-name (git-file-name name version))
6140 (sha256
6141 (base32
6142 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
6143 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
6144 (description "This library is a portable compatibility layer around
6145 \"Common Lisp the Language, 2nd
6146 Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
6147 and it exports symbols from implementation-specific packages.")
6148 (license license:llgpl))))
6149
6150 (define-public cl-trivial-cltl2
6151 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
6152
6153 (define-public ecl-trivial-cltl2
6154 (sbcl-package->ecl-package sbcl-trivial-cltl2))
6155
6156 (define-public sbcl-introspect-environment
6157 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
6158 (revision "1"))
6159 (package
6160 (name "sbcl-introspect-environment")
6161 (build-system asdf-build-system/sbcl)
6162 (version (git-version "0.1" revision commit))
6163 (home-page "https://github.com/Bike/introspect-environment")
6164 (source
6165 (origin
6166 (method git-fetch)
6167 (uri (git-reference
6168 (url home-page)
6169 (commit commit)))
6170 (file-name (git-file-name name version))
6171 (sha256
6172 (base32
6173 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
6174 (native-inputs
6175 `(("fiveam" ,sbcl-fiveam)))
6176 (synopsis "Common Lisp environment introspection portability layer")
6177 (description "This library is a small interface to portable but
6178 nonstandard introspection of Common Lisp environments. It is intended to
6179 allow a bit more compile-time introspection of environments in Common Lisp.
6180
6181 Quite a bit of information is available at the time a macro or compiler-macro
6182 runs; inlining info, type declarations, that sort of thing. This information
6183 is all standard - any Common Lisp program can @code{(declare (integer x))} and
6184 such.
6185
6186 This info ought to be accessible through the standard @code{&environment}
6187 parameters, but it is not. Several implementations keep the information for
6188 their own purposes but do not make it available to user programs, because
6189 there is no standard mechanism to do so.
6190
6191 This library uses implementation-specific hooks to make information available
6192 to users. This is currently supported on SBCL, CCL, and CMUCL. Other
6193 implementations have implementations of the functions that do as much as they
6194 can and/or provide reasonable defaults.")
6195 (license license:wtfpl2))))
6196
6197 (define-public cl-introspect-environment
6198 (sbcl-package->cl-source-package sbcl-introspect-environment))
6199
6200 (define-public ecl-introspect-environment
6201 (sbcl-package->ecl-package sbcl-introspect-environment))
6202
6203 (define-public sbcl-type-i
6204 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
6205 (revision "2"))
6206 (package
6207 (name "sbcl-type-i")
6208 (build-system asdf-build-system/sbcl)
6209 (version (git-version "0.1" revision commit))
6210 (home-page "https://github.com/guicho271828/type-i")
6211 (source
6212 (origin
6213 (method git-fetch)
6214 (uri (git-reference
6215 (url home-page)
6216 (commit commit)))
6217 (file-name (git-file-name name version))
6218 (sha256
6219 (base32
6220 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
6221 (inputs
6222 `(("alexandria" ,sbcl-alexandria)
6223 ("introspect-environment" ,sbcl-introspect-environment)
6224 ("trivia.trivial" ,sbcl-trivia.trivial)))
6225 (native-inputs
6226 `(("fiveam" ,sbcl-fiveam)))
6227 (arguments
6228 `(#:test-asd-file "type-i.test.asd"))
6229 (synopsis "Type inference utility on unary predicates for Common Lisp")
6230 (description "This library tries to provide a way to detect what kind of
6231 type the given predicate is trying to check. This is different from inferring
6232 the return type of a function.")
6233 (license license:llgpl))))
6234
6235 (define-public cl-type-i
6236 (sbcl-package->cl-source-package sbcl-type-i))
6237
6238 (define-public ecl-type-i
6239 (package
6240 (inherit (sbcl-package->ecl-package sbcl-type-i))
6241 (arguments
6242 ;; The tests get stuck indefinitly
6243 '(#:tests? #f))))
6244
6245 (define-public sbcl-optima
6246 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
6247 (revision "1"))
6248 (package
6249 (name "sbcl-optima")
6250 (build-system asdf-build-system/sbcl)
6251 (version (git-version "1.0" revision commit))
6252 (home-page "https://github.com/m2ym/optima")
6253 (source
6254 (origin
6255 (method git-fetch)
6256 (uri (git-reference
6257 (url home-page)
6258 (commit commit)))
6259 (file-name (git-file-name name version))
6260 (sha256
6261 (base32
6262 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
6263 (inputs
6264 `(("alexandria" ,sbcl-alexandria)
6265 ("closer-mop" ,sbcl-closer-mop)))
6266 (native-inputs
6267 `(("eos" ,sbcl-eos)))
6268 (arguments
6269 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
6270 `(#:tests? #f
6271 #:test-asd-file "optima.test.asd"))
6272 (synopsis "Optimized pattern matching library for Common Lisp")
6273 (description "Optima is a fast pattern matching library which uses
6274 optimizing techniques widely used in the functional programming world.")
6275 (license license:expat))))
6276
6277 (define-public cl-optima
6278 (sbcl-package->cl-source-package sbcl-optima))
6279
6280 (define-public ecl-optima
6281 (sbcl-package->ecl-package sbcl-optima))
6282
6283 (define-public sbcl-fare-quasiquote
6284 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
6285 (revision "1"))
6286 (package
6287 (name "sbcl-fare-quasiquote")
6288 (build-system asdf-build-system/sbcl)
6289 (version (git-version "1.0.1" revision commit))
6290 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
6291 (source
6292 (origin
6293 (method git-fetch)
6294 (uri (git-reference
6295 (url (string-append "https://gitlab.common-lisp.net/frideau/"
6296 "fare-quasiquote.git"))
6297 (commit commit)))
6298 (file-name (git-file-name name version))
6299 (sha256
6300 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
6301 (inputs
6302 `(("fare-utils" ,sbcl-fare-utils)
6303 ("named-readtables" ,sbcl-named-readtables)
6304 ("optima" ,sbcl-optima)))
6305 (arguments
6306 ;; XXX: Circular dependencies: Tests depend on subsystems,
6307 ;; which depend on the main systems.
6308 `(#:tests? #f
6309 #:asd-systems '("fare-quasiquote"
6310 "fare-quasiquote-extras")
6311 #:phases
6312 (modify-phases %standard-phases
6313 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
6314 ;; commits after 1.0.0.5, but ASDF fails to read the
6315 ;; "-REVISION-COMMIT" part generated by Guix.
6316 (add-after 'unpack 'patch-requirement
6317 (lambda _
6318 (substitute* "fare-quasiquote.asd"
6319 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
6320 "\"fare-utils\""))
6321 (substitute* "fare-quasiquote-optima.asd"
6322 (("\\(:version \"optima\" \"1\\.0\"\\)")
6323 "\"optima\""))
6324 #t)))))
6325 (synopsis "Pattern-matching friendly implementation of quasiquote")
6326 (description "The main purpose of this n+2nd reimplementation of
6327 quasiquote is enable matching of quasiquoted patterns, using Optima or
6328 Trivia.")
6329 (license license:expat))))
6330
6331 (define-public cl-fare-quasiquote
6332 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
6333
6334 (define-public ecl-fare-quasiquote
6335 (sbcl-package->ecl-package sbcl-fare-quasiquote))
6336
6337 ;;; Split the trivia package in two to work around the circular dependency
6338 ;;; between guicho271828/trivia and guicho271828/type-i.
6339 (define-public sbcl-trivia.trivial
6340 (let ((commit "7286d5d2a4f685f1cac8370816f95276c0851111")
6341 (revision "3"))
6342 (package
6343 (name "sbcl-trivia.trivial")
6344 (version (git-version "0.0.0" revision commit))
6345 (source
6346 (origin
6347 (method git-fetch)
6348 (uri (git-reference
6349 (url "https://github.com/guicho271828/trivia")
6350 (commit commit)))
6351 (file-name (git-file-name "trivia" version))
6352 (sha256
6353 (base32
6354 "0ln0sj3jry7kzbmxhnin66kpbqan1wp8wwgdbw4k29afbdblkcca"))))
6355 (build-system asdf-build-system/sbcl)
6356 (inputs
6357 `(("alexandria" ,sbcl-alexandria)
6358 ("closer-mop" ,sbcl-closer-mop)
6359 ("lisp-namespace" ,sbcl-lisp-namespace)
6360 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
6361 (arguments
6362 '(#:phases
6363 (modify-phases %standard-phases
6364 (add-after 'unpack 'fix-build
6365 (lambda _
6366 (for-each delete-file
6367 '("trivia.balland2006.asd"
6368 "trivia.ppcre.asd"
6369 "trivia.quasiquote.asd"
6370 "trivia.cffi.asd"
6371 "trivia.asd"
6372 "trivia.test.asd"))
6373 #t)))))
6374 (synopsis "Pattern matching in Common Lisp")
6375 (description "Trivia is a pattern matching compiler that is compatible
6376 with Optima, another pattern matching library for Common Lisp. It is meant to
6377 be faster and more extensible than Optima.")
6378 (home-page "https://github.com/guicho271828/trivia")
6379 (license license:llgpl))))
6380
6381 (define-public cl-trivia.trivial
6382 (sbcl-package->cl-source-package sbcl-trivia.trivial))
6383
6384 (define-public ecl-trivia.trivial
6385 (sbcl-package->ecl-package sbcl-trivia.trivial))
6386
6387 (define-public sbcl-trivia
6388 (package
6389 (inherit sbcl-trivia.trivial)
6390 (name "sbcl-trivia")
6391 (native-inputs
6392 `(("fiveam" ,sbcl-fiveam)
6393 ("optima" ,sbcl-optima)))
6394 (inputs
6395 `(("alexandria" ,sbcl-alexandria)
6396 ("cffi" ,sbcl-cffi)
6397 ("cl-ppcre" ,sbcl-cl-ppcre)
6398 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6399 ("iterate" ,sbcl-iterate)
6400 ("trivia.trivial" ,sbcl-trivia.trivial)
6401 ("type-i" ,sbcl-type-i)))
6402 (arguments
6403 '(#:asd-systems '("trivia"
6404 "trivia.ppcre"
6405 "trivia.quasiquote"
6406 "trivia.cffi")
6407 #:test-asd-file "trivia.test.asd"
6408 #:phases
6409 (modify-phases %standard-phases
6410 (add-after 'unpack 'fix-build
6411 (lambda _
6412 (for-each delete-file
6413 '("trivia.level0.asd"
6414 "trivia.level1.asd"
6415 "trivia.level2.asd"
6416 "trivia.trivial.asd"))
6417 #t)))))))
6418
6419 (define-public cl-trivia
6420 (sbcl-package->cl-source-package sbcl-trivia))
6421
6422 (define-public ecl-trivia
6423 (sbcl-package->ecl-package sbcl-trivia))
6424
6425 (define-public sbcl-mk-string-metrics
6426 (package
6427 (name "sbcl-mk-string-metrics")
6428 (version "0.1.2")
6429 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6430 (source (origin
6431 (method git-fetch)
6432 (uri (git-reference
6433 (url home-page)
6434 (commit version)))
6435 (sha256
6436 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6437 (file-name (git-file-name name version))))
6438 (build-system asdf-build-system/sbcl)
6439 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6440 (description "This library implements efficient algorithms that calculate
6441 various string metrics in Common Lisp:
6442
6443 @itemize
6444 @item Damerau-Levenshtein distance
6445 @item Hamming distance
6446 @item Jaccard similarity coefficient
6447 @item Jaro distance
6448 @item Jaro-Winkler distance
6449 @item Levenshtein distance
6450 @item Normalized Damerau-Levenshtein distance
6451 @item Normalized Levenshtein distance
6452 @item Overlap coefficient
6453 @end itemize\n")
6454 (license license:x11)))
6455
6456 (define-public cl-mk-string-metrics
6457 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6458
6459 (define-public ecl-mk-string-metrics
6460 (sbcl-package->ecl-package sbcl-mk-string-metrics))
6461
6462 (define-public sbcl-cl-str
6463 (package
6464 (name "sbcl-cl-str")
6465 (version "0.19")
6466 (home-page "https://github.com/vindarel/cl-str")
6467 (source (origin
6468 (method git-fetch)
6469 (uri (git-reference
6470 (url home-page)
6471 (commit version)))
6472 (sha256
6473 (base32 "1jyza2jhn7w6fl4w87pv0m87z5ia48m6dqw12k0mdh7l3mgjq839"))
6474 (file-name (git-file-name name version))))
6475 (build-system asdf-build-system/sbcl)
6476 (inputs
6477 `(("cl-ppcre" ,sbcl-cl-ppcre)
6478 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
6479 ("cl-change-case" ,sbcl-cl-change-case)))
6480 (native-inputs
6481 `(("prove" ,sbcl-prove)))
6482 (arguments
6483 `(#:asd-systems '("str")
6484 #:test-asd-file "str.test.asd"))
6485 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6486 (description "A modern and consistent Common Lisp string manipulation
6487 library that focuses on modernity, simplicity and discoverability:
6488 @code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6489 @code{str:concat strings} instead of an unusual format construct; one
6490 discoverable library instead of many; consistency and composability, where
6491 @code{s} is always the last argument, which makes it easier to feed pipes and
6492 arrows.")
6493 (license license:expat)))
6494
6495 (define-public cl-str
6496 (sbcl-package->cl-source-package sbcl-cl-str))
6497
6498 (define-public ecl-cl-str
6499 (sbcl-package->ecl-package sbcl-cl-str))
6500
6501 (define-public sbcl-cl-xmlspam
6502 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6503 (package
6504 (name "sbcl-cl-xmlspam")
6505 (build-system asdf-build-system/sbcl)
6506 (version (git-version "0.0.0" "1" commit))
6507 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6508 (source
6509 (origin
6510 (method git-fetch)
6511 (uri (git-reference
6512 (url home-page)
6513 (commit commit)))
6514 (file-name (string-append name "-" version))
6515 (sha256
6516 (base32
6517 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6518 (inputs
6519 `(("cxml" ,sbcl-cxml)
6520 ("cl-ppcre" ,sbcl-cl-ppcre)))
6521 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6522 (description "CXML does an excellent job at parsing XML elements, but what
6523 do you do when you have a XML file that's larger than you want to fit in
6524 memory, and you want to extract some information from it? Writing code to deal
6525 with SAX events, or even using Klacks, quickly becomes tedious.
6526 @code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6527 to write code that mirrors the structure of the XML that it's parsing. It
6528 also makes it easy to shift paradigms when necessary - the usual Lisp control
6529 constructs can be used interchangeably with pattern matching, and the full
6530 power of CXML is available when necessary.")
6531 (license license:bsd-3))))
6532
6533 (define-public cl-xmlspam
6534 (sbcl-package->cl-source-package sbcl-cl-xmlspam))
6535
6536 (define-public ecl-cl-xmlspam
6537 (sbcl-package->ecl-package sbcl-cl-xmlspam))
6538
6539 (define-public sbcl-dbus
6540 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6541 (revision "1"))
6542 (package
6543 (name "sbcl-dbus")
6544 (version (git-version "20190408" revision commit))
6545 (home-page "https://github.com/death/dbus")
6546 (source
6547 (origin
6548 (method git-fetch)
6549 (uri (git-reference
6550 (url home-page)
6551 (commit commit)))
6552 (file-name (git-file-name name version))
6553 (sha256
6554 (base32
6555 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
6556 (build-system asdf-build-system/sbcl)
6557 (inputs
6558 `(("alexandria" ,sbcl-alexandria)
6559 ("trivial-garbage" ,sbcl-trivial-garbage)
6560 ("babel" ,sbcl-babel)
6561 ("iolib" ,sbcl-iolib)
6562 ("ieee-floats" ,sbcl-ieee-floats)
6563 ("flexi-streams" ,sbcl-flexi-streams)
6564 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6565 ("ironclad" ,sbcl-ironclad)))
6566 (synopsis "D-Bus client library for Common Lisp")
6567 (description "This is a Common Lisp library that publishes D-Bus
6568 objects as well as send and notify other objects connected to a bus.")
6569 (license license:bsd-2))))
6570
6571 (define-public cl-dbus
6572 (sbcl-package->cl-source-package sbcl-dbus))
6573
6574 (define-public ecl-dbus
6575 (sbcl-package->ecl-package sbcl-dbus))
6576
6577 (define-public sbcl-cl-hooks
6578 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6579 (revision "1"))
6580 (package
6581 (name "sbcl-cl-hooks")
6582 (build-system asdf-build-system/sbcl)
6583 (version (git-version "0.2.1" revision commit))
6584 (home-page "https://github.com/scymtym/architecture.hooks")
6585 (source
6586 (origin
6587 (method git-fetch)
6588 (uri (git-reference
6589 (url home-page)
6590 (commit commit)))
6591 (file-name (git-file-name name version))
6592 (sha256
6593 (base32
6594 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6595 (inputs
6596 `(("alexandria" ,sbcl-alexandria)
6597 ("let-plus" ,sbcl-let-plus)
6598 ("trivial-garbage" ,sbcl-trivial-garbage)
6599 ("closer-mop" ,sbcl-closer-mop)))
6600 (native-inputs
6601 `(("fiveam" ,sbcl-fiveam)))
6602 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6603 (description "A hook, in the present context, is a certain kind of
6604 extension point in a program that allows interleaving the execution of
6605 arbitrary code with the execution of a the program without introducing any
6606 coupling between the two. Hooks are used extensively in the extensible editor
6607 Emacs.
6608
6609 In the Common LISP Object System (CLOS), a similar kind of extensibility is
6610 possible using the flexible multi-method dispatch mechanism. It may even seem
6611 that the concept of hooks does not provide any benefits over the possibilities
6612 of CLOS. However, there are some differences:
6613
6614 @itemize
6615
6616 @item There can be only one method for each combination of specializers and
6617 qualifiers. As a result this kind of extension point cannot be used by
6618 multiple extensions independently.
6619 @item Removing code previously attached via a @code{:before}, @code{:after} or
6620 @code{:around} method can be cumbersome.
6621 @item There could be other or even multiple extension points besides @code{:before}
6622 and @code{:after} in a single method.
6623 @item Attaching codes to individual objects using eql specializers can be
6624 cumbersome.
6625 @item Introspection of code attached a particular extension point is
6626 cumbersome since this requires enumerating and inspecting the methods of a
6627 generic function.
6628 @end itemize
6629
6630 This library tries to complement some of these weaknesses of method-based
6631 extension-points via the concept of hooks.")
6632 (license license:llgpl))))
6633
6634 (define-public cl-hooks
6635 (sbcl-package->cl-source-package sbcl-cl-hooks))
6636
6637 (define-public ecl-cl-hooks
6638 (sbcl-package->ecl-package sbcl-cl-hooks))
6639
6640 (define-public sbcl-cl-autowrap
6641 (let ((revision "1")
6642 (commit "ae846d6968fc0d000de0c541638929a157f3009e"))
6643 ;; no taged branches
6644 (package
6645 (name "sbcl-cl-autowrap")
6646 (version (git-version "1.0" revision commit))
6647 (source
6648 (origin
6649 (method git-fetch)
6650 (uri (git-reference
6651 (url "https://github.com/rpav/cl-autowrap")
6652 (commit commit)))
6653 (file-name (git-file-name name version))
6654 (sha256
6655 (base32 "1gisldp2zns92kdcaikghm7c38ldy2d884n8bfg0wcjvbz78p3ar"))))
6656 (build-system asdf-build-system/sbcl)
6657 (inputs
6658 `(("alexandria" ,sbcl-alexandria)
6659 ("cffi" ,sbcl-cffi)
6660 ("cl-json" ,sbcl-cl-json)
6661 ("cl-ppcre" ,sbcl-cl-ppcre)
6662 ("defpackage-plus" ,sbcl-defpackage-plus)
6663 ("trivial-features" ,sbcl-trivial-features)))
6664 (home-page "https://github.com/rpav/cl-autowrap")
6665 (synopsis "FFI wrapper generator for Common Lisp")
6666 (description "This is a c2ffi-based wrapper generator for Common Lisp.")
6667 (license license:bsd-2))))
6668
6669 (define-public cl-autowrap
6670 (sbcl-package->cl-source-package sbcl-cl-autowrap))
6671
6672 (define-public ecl-cl-autowrap
6673 (sbcl-package->ecl-package sbcl-cl-autowrap))
6674
6675 (define-public sbcl-s-sysdeps
6676 ;; No release since 2013.
6677 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
6678 (revision "2"))
6679 (package
6680 (name "sbcl-s-sysdeps")
6681 (build-system asdf-build-system/sbcl)
6682 (version (git-version "1" revision commit))
6683 (home-page "https://github.com/svenvc/s-sysdeps")
6684 (source
6685 (origin
6686 (method git-fetch)
6687 (uri (git-reference
6688 (url home-page)
6689 (commit commit)))
6690 (file-name (git-file-name name version))
6691 (sha256
6692 (base32
6693 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
6694 (inputs
6695 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
6696 ("usocket" ,sbcl-usocket)))
6697 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6698 (description "@code{s-sysdeps} is an abstraction layer over platform
6699 dependent functionality. This simple package is used as a building block in a
6700 number of other open source projects.
6701
6702 @code{s-sysdeps} abstracts:
6703
6704 @itemize
6705 @item managing processes,
6706 @item implementing a standard TCP/IP server,
6707 @item opening a client TCP/IP socket stream,
6708 @item working with process locks.
6709 @end itemize\n")
6710 (license license:llgpl))))
6711
6712 (define-public cl-s-sysdeps
6713 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6714
6715 (define-public ecl-s-sysdeps
6716 (sbcl-package->ecl-package sbcl-s-sysdeps))
6717
6718 (define-public sbcl-cl-prevalence
6719 (let ((commit "5a76be036092ed6c18cb695a9e03bce87e21b840")
6720 (revision "4"))
6721 (package
6722 (name "sbcl-cl-prevalence")
6723 (build-system asdf-build-system/sbcl)
6724 (version (git-version "5" revision commit))
6725 (home-page "https://github.com/40ants/cl-prevalence")
6726 (source
6727 (origin
6728 (method git-fetch)
6729 (uri (git-reference
6730 (url home-page)
6731 (commit commit)))
6732 (file-name (git-file-name name version))
6733 (sha256
6734 (base32
6735 "050h6hwv8f16b5v6fzba8zmih92hgaaq27i2x9wv1iib41gbia3r"))))
6736 (inputs
6737 `(("s-sysdeps" ,sbcl-s-sysdeps)
6738 ("s-xml" ,sbcl-s-xml)))
6739 (native-inputs
6740 `(("fiveam" ,sbcl-fiveam)))
6741 (synopsis "Implementation of object prevalence for Common Lisp")
6742 (description "This Common Lisp library implements object prevalence (see
6743 @url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6744 for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6745 classes and cyclic data structures are supported.")
6746 (license license:llgpl))))
6747
6748 (define-public cl-prevalence
6749 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6750
6751 (define-public ecl-cl-prevalence
6752 (sbcl-package->ecl-package sbcl-cl-prevalence))
6753
6754 (define-public sbcl-series
6755 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6756 (revision "1"))
6757 (package
6758 (name "sbcl-series")
6759 (version (git-version "2.2.11" revision commit))
6760 (source
6761 (origin
6762 (method git-fetch)
6763 (uri (git-reference
6764 (url "git://git.code.sf.net/p/series/series")
6765 (commit commit)))
6766 (file-name (git-file-name name version))
6767 (sha256
6768 (base32
6769 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6770 (build-system asdf-build-system/sbcl)
6771 (arguments
6772 ;; Disable the tests, they are apparently buggy and I didn't find
6773 ;; a simple way to make them run and pass.
6774 '(#:tests? #f))
6775 (synopsis "Series data structure for Common Lisp")
6776 (description
6777 "This Common Lisp library provides a series data structure much like
6778 a sequence, with similar kinds of operations. The difference is that in many
6779 situations, operations on series may be composed functionally and yet execute
6780 iteratively, without the need to construct intermediate series values
6781 explicitly. In this manner, series provide both the clarity of a functional
6782 programming style and the efficiency of an iterative programming style.")
6783 (home-page "http://series.sourceforge.net/")
6784 (license license:expat))))
6785
6786 (define-public cl-series
6787 (sbcl-package->cl-source-package sbcl-series))
6788
6789 (define-public ecl-series
6790 (sbcl-package->ecl-package sbcl-series))
6791
6792 (define-public sbcl-periods
6793 (let ((commit "60383dcef88a1ac11f82804ae7a33c361dcd2949")
6794 (revision "2"))
6795 (package
6796 (name "sbcl-periods")
6797 (version (git-version "0.0.2" revision commit))
6798 (source
6799 (origin
6800 (method git-fetch)
6801 (uri (git-reference
6802 (url "https://github.com/jwiegley/periods")
6803 (commit commit)))
6804 (file-name (git-file-name name version))
6805 (sha256
6806 (base32
6807 "1ym2j4an9ig2hl210jg91gpf7xfnp6mlhkw3n9kkdnwiji3ipqlk"))))
6808 (build-system asdf-build-system/sbcl)
6809 (inputs
6810 `(("local-time" ,sbcl-local-time)
6811 ("series" ,sbcl-series)))
6812 (arguments
6813 '(#:asd-systems '("periods"
6814 "periods-series")))
6815 (synopsis "Common Lisp library for manipulating date/time objects")
6816 (description
6817 "Periods is a Common Lisp library providing a set of utilities for
6818 manipulating times, distances between times, and both contiguous and
6819 discontiguous ranges of time.")
6820 (home-page "https://github.com/jwiegley/periods")
6821 (license license:bsd-3))))
6822
6823 (define-public cl-periods
6824 (sbcl-package->cl-source-package sbcl-periods))
6825
6826 (define-public ecl-periods
6827 (sbcl-package->ecl-package sbcl-periods))
6828
6829 (define-public sbcl-metatilities-base
6830 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6831 (revision "1"))
6832 (package
6833 (name "sbcl-metatilities-base")
6834 (version (git-version "0.6.6" revision commit))
6835 (source
6836 (origin
6837 (method git-fetch)
6838 (uri (git-reference
6839 (url "https://github.com/gwkkwg/metatilities-base")
6840 (commit commit)))
6841 (file-name (git-file-name name version))
6842 (sha256
6843 (base32
6844 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6845 (build-system asdf-build-system/sbcl)
6846 (native-inputs
6847 `(("lift" ,sbcl-lift)))
6848 (synopsis "Core of the metatilities Common Lisp library")
6849 (description
6850 "Metatilities-base is the core of the metatilities Common Lisp library
6851 which implements a set of utilities.")
6852 (home-page "https://common-lisp.net/project/metatilities-base/")
6853 (license license:expat))))
6854
6855 (define-public cl-metatilities-base
6856 (sbcl-package->cl-source-package sbcl-metatilities-base))
6857
6858 (define-public ecl-metatilities-base
6859 (sbcl-package->ecl-package sbcl-metatilities-base))
6860
6861 (define-public sbcl-cl-containers
6862 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6863 (revision "3"))
6864 (package
6865 (name "sbcl-cl-containers")
6866 (version (git-version "0.12.1" revision commit))
6867 (source
6868 (origin
6869 (method git-fetch)
6870 (uri (git-reference
6871 (url "https://github.com/gwkkwg/cl-containers")
6872 (commit commit)))
6873 (file-name (git-file-name name version))
6874 (sha256
6875 (base32
6876 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
6877 (build-system asdf-build-system/sbcl)
6878 (native-inputs
6879 `(("lift" ,sbcl-lift)))
6880 (inputs
6881 `(("metatilities-base" ,sbcl-metatilities-base)))
6882 (arguments
6883 '(#:asd-files '("cl-containers.asd")
6884 #:phases
6885 (modify-phases %standard-phases
6886 (add-after 'unpack 'relax-version-checks
6887 (lambda _
6888 (substitute* "cl-containers.asd"
6889 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6890 "\"metatilities-base\""))
6891 (substitute* "cl-containers-test.asd"
6892 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6893 "\"lift\""))
6894 #t)))))
6895 (synopsis "Container library for Common Lisp")
6896 (description
6897 "Common Lisp ships with a set of powerful built in data structures
6898 including the venerable list, full featured arrays, and hash-tables.
6899 CL-containers enhances and builds on these structures by adding containers
6900 that are not available in native Lisp (for example: binary search trees,
6901 red-black trees, sparse arrays and so on), and by providing a standard
6902 interface so that they are simpler to use and so that changing design
6903 decisions becomes significantly easier.")
6904 (home-page "https://common-lisp.net/project/cl-containers/")
6905 (license license:expat))))
6906
6907 (define-public cl-containers
6908 (sbcl-package->cl-source-package sbcl-cl-containers))
6909
6910 (define-public ecl-cl-containers
6911 (sbcl-package->ecl-package sbcl-cl-containers))
6912
6913 (define-public sbcl-xlunit
6914 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6915 (revision "1"))
6916 (package
6917 (name "sbcl-xlunit")
6918 (version (git-version "0.6.3" revision commit))
6919 (source
6920 (origin
6921 (method git-fetch)
6922 (uri (git-reference
6923 (url "http://git.kpe.io/xlunit.git")
6924 (commit commit)))
6925 (file-name (git-file-name name version))
6926 (sha256
6927 (base32
6928 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6929 (build-system asdf-build-system/sbcl)
6930 (arguments
6931 '(#:phases
6932 (modify-phases %standard-phases
6933 (add-after 'unpack 'fix-tests
6934 (lambda _
6935 (substitute* "xlunit.asd"
6936 ((" :force t") ""))
6937 #t)))))
6938 (synopsis "Unit testing package for Common Lisp")
6939 (description
6940 "The XLUnit package is a toolkit for building test suites. It is based
6941 on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6942 (home-page "http://quickdocs.org/xlunit/")
6943 (license license:bsd-3))))
6944
6945 (define-public cl-xlunit
6946 (sbcl-package->cl-source-package sbcl-xlunit))
6947
6948 (define-public ecl-xlunit
6949 (sbcl-package->ecl-package sbcl-xlunit))
6950
6951 (define-public sbcl-cambl
6952 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6953 (revision "1"))
6954 (package
6955 (name "sbcl-cambl")
6956 (version (git-version "4.0.0" revision commit))
6957 (source
6958 (origin
6959 (method git-fetch)
6960 (uri (git-reference
6961 (url "https://github.com/jwiegley/cambl")
6962 (commit commit)))
6963 (file-name (git-file-name "cambl" version))
6964 (sha256
6965 (base32 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6966 (build-system asdf-build-system/sbcl)
6967 (native-inputs
6968 `(("xlunit" ,sbcl-xlunit)))
6969 (inputs
6970 `(("alexandria" ,sbcl-alexandria)
6971 ("cl-containers" ,sbcl-cl-containers)
6972 ("local-time" ,sbcl-local-time)
6973 ("periods" ,sbcl-periods)))
6974 (arguments
6975 '(#:asd-files '("fprog.asd"
6976 "cambl.asd")))
6977 (synopsis "Commoditized amounts and balances for Common Lisp")
6978 (description
6979 "CAMBL is a Common Lisp library providing a convenient facility for
6980 working with commoditized values. It does not allow compound units (and so is
6981 not suited for scientific operations) but does work rather nicely for the
6982 purpose of financial calculations.")
6983 (home-page "https://github.com/jwiegley/cambl")
6984 (license license:bsd-3))))
6985
6986 (define-public cl-cambl
6987 (sbcl-package->cl-source-package sbcl-cambl))
6988
6989 (define-public ecl-cambl
6990 (sbcl-package->ecl-package sbcl-cambl))
6991
6992 (define-public sbcl-cl-ledger
6993 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6994 (revision "1"))
6995 (package
6996 (name "sbcl-cl-ledger")
6997 (version (git-version "4.0.0" revision commit))
6998 (source
6999 (origin
7000 (method git-fetch)
7001 (uri (git-reference
7002 (url "https://github.com/ledger/cl-ledger")
7003 (commit commit)))
7004 (file-name (git-file-name name version))
7005 (sha256
7006 (base32
7007 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
7008 (build-system asdf-build-system/sbcl)
7009 (inputs
7010 `(("cambl" ,sbcl-cambl)
7011 ("cl-ppcre" ,sbcl-cl-ppcre)
7012 ("local-time" ,sbcl-local-time)
7013 ("periods" ,sbcl-periods)))
7014 (arguments
7015 '(#:phases
7016 (modify-phases %standard-phases
7017 (add-after 'unpack 'fix-system-definition
7018 (lambda _
7019 (substitute* "cl-ledger.asd"
7020 ((" :build-operation program-op") "")
7021 ((" :build-pathname \"cl-ledger\"") "")
7022 ((" :entry-point \"ledger::main\"") ""))
7023 #t)))))
7024 (synopsis "Common Lisp port of the Ledger accounting system")
7025 (description
7026 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
7027 system.")
7028 (home-page "https://github.com/ledger/cl-ledger")
7029 (license license:bsd-3))))
7030
7031 (define-public cl-ledger
7032 (sbcl-package->cl-source-package sbcl-cl-ledger))
7033
7034 (define-public ecl-cl-ledger
7035 (sbcl-package->ecl-package sbcl-cl-ledger))
7036
7037 (define-public sbcl-bst
7038 (let ((commit "8545aed0d504df2829ad139566feeabe22305388")
7039 (revision "0"))
7040 (package
7041 (name "sbcl-bst")
7042 (version (git-version "2.0" revision commit))
7043 (source
7044 (origin
7045 (method git-fetch)
7046 (uri (git-reference
7047 (url "https://github.com/glv2/bst")
7048 (commit commit)))
7049 (file-name (git-file-name name version))
7050 (sha256
7051 (base32 "18ig7rvxcra69437g0i8sxyv7c5dg26jqnx1rc2f9pxmihdprgk8"))))
7052 (build-system asdf-build-system/sbcl)
7053 (native-inputs
7054 `(("alexandria" ,sbcl-alexandria)
7055 ("fiveam" ,sbcl-fiveam)))
7056 (synopsis "Binary search tree for Common Lisp")
7057 (description
7058 "BST is a Common Lisp library for working with binary search trees that
7059 can contain any kind of values.")
7060 (home-page "https://github.com/glv2/bst")
7061 (license license:gpl3))))
7062
7063 (define-public cl-bst
7064 (sbcl-package->cl-source-package sbcl-bst))
7065
7066 (define-public ecl-bst
7067 (sbcl-package->ecl-package sbcl-bst))
7068
7069 (define-public sbcl-cl-octet-streams
7070 (package
7071 (name "sbcl-cl-octet-streams")
7072 (version "1.2")
7073 (source
7074 (origin
7075 (method git-fetch)
7076 (uri (git-reference
7077 (url "https://github.com/glv2/cl-octet-streams")
7078 (commit (string-append "v" version))))
7079 (file-name (git-file-name name version))
7080 (sha256
7081 (base32 "1hffh98bv4w5yrchagzwqrc43d2p473pvw7ka4kyyvhrr52dk2f8"))))
7082 (build-system asdf-build-system/sbcl)
7083 (native-inputs
7084 `(("fiveam" ,sbcl-fiveam)))
7085 (inputs
7086 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7087 (synopsis "In-memory octet streams for Common Lisp")
7088 (description
7089 "CL-octet-streams is a library implementing in-memory octet
7090 streams for Common Lisp. It was inspired by the trivial-octet-streams and
7091 cl-plumbing libraries.")
7092 (home-page "https://github.com/glv2/cl-octet-streams")
7093 (license license:gpl3+)))
7094
7095 (define-public cl-octet-streams
7096 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
7097
7098 (define-public ecl-cl-octet-streams
7099 (sbcl-package->ecl-package sbcl-cl-octet-streams))
7100
7101 (define-public sbcl-lzlib
7102 (let ((commit "cad10f5becbcfebb44b9d311a257563778803452")
7103 (revision "2"))
7104 (package
7105 (name "sbcl-lzlib")
7106 (version (git-version "1.1" revision commit))
7107 (source
7108 (origin
7109 (method git-fetch)
7110 (uri (git-reference
7111 (url "https://github.com/glv2/cl-lzlib")
7112 (commit commit)))
7113 (file-name (git-file-name name version))
7114 (sha256
7115 (base32 "09lp7li35h4jkls0448fj1sh6pjslr1w7ranbc4szjr8g0c2bdry"))))
7116 (build-system asdf-build-system/sbcl)
7117 (native-inputs
7118 `(("fiveam" ,sbcl-fiveam)))
7119 (inputs
7120 `(("cffi" ,sbcl-cffi)
7121 ("cl-octet-streams" ,sbcl-cl-octet-streams)
7122 ("lparallel" ,sbcl-lparallel)
7123 ("lzlib" ,lzlib)))
7124 (arguments
7125 '(#:phases
7126 (modify-phases %standard-phases
7127 (add-after 'unpack 'fix-paths
7128 (lambda* (#:key inputs #:allow-other-keys)
7129 (substitute* "src/lzlib.lisp"
7130 (("liblz\\.so")
7131 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
7132 #t)))))
7133 (synopsis "Common Lisp library for lzip (de)compression")
7134 (description
7135 "This Common Lisp library provides functions for lzip (LZMA)
7136 compression/decompression using bindings to the lzlib C library.")
7137 (home-page "https://github.com/glv2/cl-lzlib")
7138 (license license:gpl3+))))
7139
7140 (define-public cl-lzlib
7141 (sbcl-package->cl-source-package sbcl-lzlib))
7142
7143 (define-public ecl-lzlib
7144 (sbcl-package->ecl-package sbcl-lzlib))
7145
7146 (define-public sbcl-chanl
7147 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
7148 (revision "1"))
7149 (package
7150 (name "sbcl-chanl")
7151 (version (git-version "0.4.1" revision commit))
7152 (source
7153 (origin
7154 (method git-fetch)
7155 (uri (git-reference
7156 (url "https://github.com/zkat/chanl")
7157 (commit commit)))
7158 (file-name (git-file-name name version))
7159 (sha256
7160 (base32
7161 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
7162 (build-system asdf-build-system/sbcl)
7163 (native-inputs
7164 `(("fiveam" ,sbcl-fiveam)))
7165 (inputs
7166 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
7167 (synopsis "Portable channel-based concurrency for Common Lisp")
7168 (description "Common Lisp library for channel-based concurrency. In
7169 a nutshell, you create various threads sequentially executing tasks you need
7170 done, and use channel objects to communicate and synchronize the state of these
7171 threads.")
7172 (home-page "https://github.com/zkat/chanl")
7173 (license (list license:expat license:bsd-3)))))
7174
7175 (define-public cl-chanl
7176 (sbcl-package->cl-source-package sbcl-chanl))
7177
7178 (define-public ecl-chanl
7179 (sbcl-package->ecl-package sbcl-chanl))
7180
7181 (define-public sbcl-cl-store
7182 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
7183 (revision "1"))
7184 (package
7185 (name "sbcl-cl-store")
7186 (version (git-version "0.8.11" revision commit))
7187 (source
7188 (origin
7189 (method git-fetch)
7190 (uri (git-reference
7191 (url "https://github.com/skypher/cl-store")
7192 (commit commit)))
7193 (file-name (git-file-name name version))
7194 (sha256
7195 (base32
7196 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
7197 (build-system asdf-build-system/sbcl)
7198 (native-inputs
7199 `(("rt" ,sbcl-rt)))
7200 (synopsis "Common Lisp library to serialize data")
7201 (description
7202 "CL-STORE is a portable serialization package which should give you the
7203 ability to store all Common Lisp data types into streams.")
7204 (home-page "https://www.common-lisp.net/project/cl-store/")
7205 (license license:expat))))
7206
7207 (define-public cl-store
7208 (sbcl-package->cl-source-package sbcl-cl-store))
7209
7210 (define-public ecl-cl-store
7211 (sbcl-package->ecl-package sbcl-cl-store))
7212
7213 (define-public sbcl-specialization-store
7214 (let ((commit "8d39a866a6f24986aad3cc52349e9cb2653496f3")
7215 (revision "1"))
7216 (package
7217 (name "sbcl-specialization-store")
7218 (version (git-version "0.0.5" revision commit))
7219 (source
7220 (origin
7221 (method git-fetch)
7222 (uri (git-reference
7223 (url "https://github.com/markcox80/specialization-store")
7224 (commit commit)))
7225 (file-name (git-file-name "specialization-store" version))
7226 (sha256
7227 (base32 "0r0bgb46q4gy72l78s7djkxq8ibb4bb3yh9brsry5lih7br8lhi0"))))
7228 (build-system asdf-build-system/sbcl)
7229 (native-inputs
7230 `(("fiveam" ,sbcl-fiveam)))
7231 (inputs
7232 `(("alexandria" ,sbcl-alexandria)
7233 ("introspect-environment" ,sbcl-introspect-environment)))
7234 (home-page "https://github.com/markcox80/specialization-store")
7235 (synopsis "Different type of generic function for Common Lisp")
7236 (description
7237 "SPECIALIZATION-STORE system provides a new kind of function, called
7238 a store function, whose behavior depends on the types of objects passed to the
7239 function.")
7240 (license license:bsd-2))))
7241
7242 (define-public ecl-specialization-store
7243 (package
7244 (inherit (sbcl-package->ecl-package sbcl-specialization-store))
7245 (arguments
7246 ;; TODO: Find why the tests get stuck forever; disable them for now.
7247 `(#:tests? #f))))
7248
7249 (define-public cl-specialization-store
7250 (sbcl-package->cl-source-package sbcl-specialization-store))
7251
7252 (define-public sbcl-cl-gobject-introspection
7253 (let ((commit "d0136c8d9ade2560123af1fc55bbf70d2e3db539")
7254 (revision "1"))
7255 (package
7256 (name "sbcl-cl-gobject-introspection")
7257 (version (git-version "0.3" revision commit))
7258 (home-page "https://github.com/andy128k/cl-gobject-introspection")
7259 (source
7260 (origin
7261 (method git-fetch)
7262 (uri (git-reference
7263 (url home-page)
7264 (commit commit)))
7265 (file-name (git-file-name name version))
7266 (sha256
7267 (base32
7268 "0dz0r73pq7yhz2iq2jnkq977awx2zws2qfxdcy33329sys1ii32p"))))
7269 (build-system asdf-build-system/sbcl)
7270 (inputs
7271 `(("alexandria" ,sbcl-alexandria)
7272 ("cffi" ,sbcl-cffi)
7273 ("iterate" ,sbcl-iterate)
7274 ("trivial-garbage" ,sbcl-trivial-garbage)
7275 ("glib" ,glib)
7276 ("gobject-introspection" ,gobject-introspection)))
7277 (native-inputs
7278 `(("fiveam" ,sbcl-fiveam)))
7279 (arguments
7280 '(#:phases
7281 (modify-phases %standard-phases
7282 (add-after 'unpack 'fix-paths
7283 (lambda* (#:key inputs #:allow-other-keys)
7284 (substitute* "src/init.lisp"
7285 (("libgobject-2\\.0\\.so")
7286 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
7287 (("libgirepository-1\\.0\\.so")
7288 (string-append (assoc-ref inputs "gobject-introspection")
7289 "/lib/libgirepository-1.0.so")))
7290 #t)))))
7291 (synopsis "Common Lisp bindings to GObject Introspection")
7292 (description
7293 "This library is a bridge between Common Lisp and GObject
7294 Introspection, which enables Common Lisp programs to access the full interface
7295 of C+GObject libraries without the need of writing dedicated bindings.")
7296 (license (list license:bsd-3
7297 ;; Tests are under a different license.
7298 license:llgpl)))))
7299
7300 (define-public cl-gobject-introspection
7301 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
7302
7303 (define-public ecl-cl-gobject-introspection
7304 (sbcl-package->ecl-package sbcl-cl-gobject-introspection))
7305
7306 (define-public sbcl-cl-slug
7307 (let ((commit "ffb229d10f0d3f7f54e706791725225e200bf749")
7308 (revision "1"))
7309 (package
7310 (name "sbcl-cl-slug")
7311 (version (git-version "0.4.1" revision commit))
7312 (source
7313 (origin
7314 (method git-fetch)
7315 (uri (git-reference
7316 (url "https://github.com/EuAndreh/cl-slug")
7317 (commit commit)))
7318 (file-name (git-file-name "cl-slug" version))
7319 (sha256
7320 (base32 "1asdq6xllmsvfw5fky9wblqcx9isac9jrrlkfl7vyxcq1wxrnflx"))))
7321 (build-system asdf-build-system/sbcl)
7322 (arguments
7323 `(#:asd-files '("cl-slug-test.asd" "cl-slug.asd")
7324 #:asd-systems '("cl-slug-test" "cl-slug")))
7325 (native-inputs
7326 `(("prove" ,sbcl-prove)))
7327 (inputs
7328 `(("ppcre" ,sbcl-cl-ppcre)))
7329 (home-page "https://github.com/EuAndreh/cl-slug")
7330 (synopsis "Multi-language slug formatter")
7331 (description
7332 "This is a small Common Lisp library to make slugs, mainly for URIs,
7333 from English and beyond.")
7334 (license license:llgpl))))
7335
7336 (define-public ecl-cl-slug
7337 (sbcl-package->ecl-package sbcl-cl-slug))
7338
7339 (define-public cl-slug
7340 (sbcl-package->cl-source-package sbcl-cl-slug))
7341
7342 (define-public sbcl-string-case
7343 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
7344 (revision "0"))
7345 (package
7346 (name "sbcl-string-case")
7347 (version (git-version "0.0.2" revision commit))
7348 (home-page "https://github.com/pkhuong/string-case")
7349 (source
7350 (origin
7351 (method git-fetch)
7352 (uri (git-reference
7353 (url home-page)
7354 (commit commit)))
7355 (file-name (git-file-name name version))
7356 (sha256
7357 (base32
7358 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7359 (build-system asdf-build-system/sbcl)
7360 (synopsis "Efficient string= case in Common Lisp")
7361 (description
7362 "@code{string-case} is a Common Lisp macro that generates specialised decision
7363 trees to dispatch on string equality.")
7364 (license license:bsd-3))))
7365
7366 (define-public cl-string-case
7367 (sbcl-package->cl-source-package sbcl-string-case))
7368
7369 (define-public ecl-string-case
7370 (sbcl-package->ecl-package sbcl-string-case))
7371
7372 (define-public sbcl-garbage-pools
7373 (let ((commit "9a7cb7f48b04197c0495df3b6d2e8395ad13f790")
7374 (revision "1"))
7375 (package
7376 (name "sbcl-garbage-pools")
7377 (version (git-version "0.1.2" revision commit))
7378 (source
7379 (origin
7380 (method git-fetch)
7381 (uri (git-reference
7382 (url "https://github.com/archimag/garbage-pools")
7383 (commit commit)))
7384 (file-name (git-file-name name version))
7385 (sha256
7386 (base32 "04jqwr6j138him6wc4nrwjzm4lvyj5j31xqab02nkf8h9hmsf5v1"))))
7387 (build-system asdf-build-system/sbcl)
7388 (home-page "https://github.com/archimag/garbage-pools")
7389 (synopsis "Resource management pools for Common Lisp")
7390 (description "GARBAGE-POOLS is Common Lisp re-implementation of the APR
7391 Pools for resource management.")
7392 (license license:expat))))
7393
7394 (define-public ecl-garbage-pools
7395 (sbcl-package->ecl-package sbcl-garbage-pools))
7396
7397 (define-public cl-garbage-pools
7398 (sbcl-package->cl-source-package sbcl-garbage-pools))
7399
7400 (define-public sbcl-global-vars
7401 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7402 (revision "0"))
7403 (package
7404 (name "sbcl-global-vars")
7405 (version (git-version "1.0.0" revision commit))
7406 (home-page "https://github.com/lmj/global-vars")
7407 (source
7408 (origin
7409 (method git-fetch)
7410 (uri (git-reference
7411 (url home-page)
7412 (commit commit)))
7413 (file-name (git-file-name name version))
7414 (sha256
7415 (base32
7416 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7417 (build-system asdf-build-system/sbcl)
7418 (synopsis "Efficient global variables in Common Lisp")
7419 (description
7420 "In Common Lisp, a special variable that is never dynamically bound
7421 typically serves as a stand-in for a global variable. The @code{global-vars}
7422 library provides true global variables that are implemented by some compilers.
7423 An attempt to rebind a global variable properly results in a compiler error.
7424 That is, a global variable cannot be dynamically bound.
7425
7426 Global variables therefore allow us to communicate an intended usage that
7427 differs from special variables. Global variables are also more efficient than
7428 special variables, especially in the presence of threads.")
7429 (license license:expat))))
7430
7431 (define-public cl-global-vars
7432 (sbcl-package->cl-source-package sbcl-global-vars))
7433
7434 (define-public ecl-global-vars
7435 (sbcl-package->ecl-package sbcl-global-vars))
7436
7437 (define-public sbcl-trivial-file-size
7438 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7439 (revision "0"))
7440 (package
7441 (name "sbcl-trivial-file-size")
7442 (version (git-version "0.0.0" revision commit))
7443 (home-page "https://github.com/ruricolist/trivial-file-size")
7444 (source
7445 (origin
7446 (method git-fetch)
7447 (uri (git-reference
7448 (url home-page)
7449 (commit commit)))
7450 (file-name (git-file-name name version))
7451 (sha256
7452 (base32
7453 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7454 (build-system asdf-build-system/sbcl)
7455 (native-inputs
7456 `(("fiveam" ,sbcl-fiveam)))
7457 (synopsis "Size of a file in bytes in Common Lisp")
7458 (description
7459 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7460 is to open the file with an element type of (unsigned-byte 8) and then
7461 calculate the length of the stream. This is less than ideal. In most cases
7462 it is better to get the size of the file from its metadata, using a system
7463 call.
7464
7465 This library exports a single function, file-size-in-octets. It returns the
7466 size of a file in bytes, using system calls when possible.")
7467 (license license:expat))))
7468
7469 (define-public cl-trivial-file-size
7470 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7471
7472 (define-public ecl-trivial-file-size
7473 (sbcl-package->ecl-package sbcl-trivial-file-size))
7474
7475 (define-public sbcl-trivial-macroexpand-all
7476 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7477 (revision "0"))
7478 (package
7479 (name "sbcl-trivial-macroexpand-all")
7480 (version (git-version "0.0.0" revision commit))
7481 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
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 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7492 (build-system asdf-build-system/sbcl)
7493 (native-inputs
7494 `(("fiveam" ,sbcl-fiveam)))
7495 (synopsis "Portable macroexpand-all for Common Lisp")
7496 (description
7497 "This library provides a macroexpand-all function that calls the
7498 implementation specific equivalent.")
7499 (license license:unlicense))))
7500
7501 (define-public cl-trivial-macroexpand-all
7502 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7503
7504 (define-public ecl-trivial-macroexpand-all
7505 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7506
7507 (define-public sbcl-serapeum
7508 (let ((commit "263f415a350736b44e3878524ff3997e656fca32")
7509 (revision "4"))
7510 (package
7511 (name "sbcl-serapeum")
7512 (version (git-version "0.0.0" revision commit))
7513 (home-page "https://github.com/ruricolist/serapeum")
7514 (source
7515 (origin
7516 (method git-fetch)
7517 (uri (git-reference
7518 (url home-page)
7519 (commit commit)))
7520 (file-name (git-file-name name version))
7521 (sha256
7522 (base32
7523 "1669yidvxq41s3g6hb2jk21bcb5s2bnfsacpyd5b0hdxbmc7knq3"))))
7524 (build-system asdf-build-system/sbcl)
7525 (inputs
7526 `(("alexandria" ,sbcl-alexandria)
7527 ("trivia" ,sbcl-trivia)
7528 ("split-sequence" ,sbcl-split-sequence)
7529 ("string-case" ,sbcl-string-case)
7530 ("parse-number" ,sbcl-parse-number)
7531 ("trivial-garbage" ,sbcl-trivial-garbage)
7532 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7533 ("named-readtables" ,sbcl-named-readtables)
7534 ("fare-quasiquote" ,sbcl-fare-quasiquote)
7535 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7536 ("global-vars" ,sbcl-global-vars)
7537 ("trivial-file-size" ,sbcl-trivial-file-size)
7538 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7539 (native-inputs
7540 `(("fiveam" ,sbcl-fiveam)
7541 ("local-time" ,sbcl-local-time)))
7542 (arguments
7543 '(#:phases
7544 (modify-phases %standard-phases
7545 (add-after 'unpack 'disable-failing-tests
7546 (lambda* (#:key inputs #:allow-other-keys)
7547 (substitute* "serapeum.asd"
7548 ;; Guix does not have Quicklisp, and probably never will.
7549 (("\\(:file \"quicklisp\"\\)") ""))
7550 #t)))))
7551 (synopsis "Common Lisp utility library beyond Alexandria")
7552 (description
7553 "Serapeum is a conservative library of Common Lisp utilities. It is a
7554 supplement, not a competitor, to Alexandria.")
7555 (license license:expat))))
7556
7557 (define-public cl-serapeum
7558 (sbcl-package->cl-source-package sbcl-serapeum))
7559
7560 (define-public ecl-serapeum
7561 (sbcl-package->ecl-package sbcl-serapeum))
7562
7563 (define-public sbcl-arrows
7564 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7565 (revision "0"))
7566 (package
7567 (name "sbcl-arrows")
7568 (version (git-version "0.2.0" revision commit))
7569 (source
7570 (origin
7571 (method git-fetch)
7572 (uri (git-reference
7573 (url "https://gitlab.com/Harleqin/arrows.git")
7574 (commit commit)))
7575 (file-name (git-file-name name version))
7576 (sha256
7577 (base32
7578 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7579 (build-system asdf-build-system/sbcl)
7580 (native-inputs
7581 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7582 (synopsis "Clojure-like arrow macros for Common Lisp")
7583 (description
7584 "This library implements the @code{->} and @code{->>} macros from
7585 Clojure, as well as several expansions on the idea.")
7586 (home-page "https://gitlab.com/Harleqin/arrows")
7587 (license license:public-domain))))
7588
7589 (define-public cl-arrows
7590 (sbcl-package->cl-source-package sbcl-arrows))
7591
7592 (define-public ecl-arrows
7593 (sbcl-package->ecl-package sbcl-arrows))
7594
7595 (define-public sbcl-simple-parallel-tasks
7596 (let ((commit "ce7b60f788d8f68dfb69b24aac54c0e3b63379a6")
7597 (revision "1"))
7598 (package
7599 (name "sbcl-simple-parallel-tasks")
7600 (version (git-version "1.0" revision commit))
7601 (source
7602 (origin
7603 (method git-fetch)
7604 (uri (git-reference
7605 (url "https://github.com/glv2/simple-parallel-tasks")
7606 (commit commit)))
7607 (file-name (git-file-name name version))
7608 (sha256
7609 (base32 "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7"))))
7610 (build-system asdf-build-system/sbcl)
7611 (native-inputs
7612 `(("fiveam" ,sbcl-fiveam)))
7613 (inputs
7614 `(("chanl" ,sbcl-chanl)))
7615 (synopsis "Common Lisp library to evaluate some forms in parallel")
7616 (description "This is a simple Common Lisp library to evaluate some
7617 forms in parallel.")
7618 (home-page "https://github.com/glv2/simple-parallel-tasks")
7619 (license license:gpl3))))
7620
7621 (define-public cl-simple-parallel-tasks
7622 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7623
7624 (define-public ecl-simple-parallel-tasks
7625 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7626
7627 (define-public sbcl-cl-heap
7628 (package
7629 (name "sbcl-cl-heap")
7630 (version "0.1.6")
7631 (source
7632 (origin
7633 (method url-fetch)
7634 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7635 "cl-heap_" version ".tar.gz"))
7636 (sha256
7637 (base32
7638 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7639 (build-system asdf-build-system/sbcl)
7640 (native-inputs
7641 `(("xlunit" ,sbcl-xlunit)))
7642 (arguments
7643 `(#:test-asd-file "cl-heap-tests.asd"))
7644 (synopsis "Heap and priority queue data structures for Common Lisp")
7645 (description
7646 "CL-HEAP provides various implementations of heap data structures (a
7647 binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7648 (home-page "https://common-lisp.net/project/cl-heap/")
7649 (license license:gpl3+)))
7650
7651 (define-public cl-heap
7652 (sbcl-package->cl-source-package sbcl-cl-heap))
7653
7654 (define-public ecl-cl-heap
7655 (sbcl-package->ecl-package sbcl-cl-heap))
7656
7657 (define-public sbcl-curry-compose-reader-macros
7658 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7659 (revision "0"))
7660 (package
7661 (name "sbcl-curry-compose-reader-macros")
7662 (version (git-version "1.0.0" revision commit))
7663 (source
7664 (origin
7665 (method git-fetch)
7666 (uri
7667 (git-reference
7668 (url "https://github.com/eschulte/curry-compose-reader-macros")
7669 (commit commit)))
7670 (file-name (git-file-name name version))
7671 (sha256
7672 (base32
7673 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7674 (build-system asdf-build-system/sbcl)
7675 (inputs
7676 `(("alexandria" ,sbcl-alexandria)
7677 ("named-readtables" ,sbcl-named-readtables)))
7678 (synopsis "Reader macros for partial application and composition")
7679 (description
7680 "This Common Lisp library provides reader macros for concise expression
7681 of function partial application and composition.")
7682 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7683 (license license:public-domain))))
7684
7685 (define-public cl-curry-compose-reader-macros
7686 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7687
7688 (define-public ecl-curry-compose-reader-macros
7689 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7690
7691 (define-public sbcl-yason
7692 (package
7693 (name "sbcl-yason")
7694 (version "0.7.7")
7695 (source
7696 (origin
7697 (method git-fetch)
7698 (uri (git-reference
7699 (url "https://github.com/phmarek/yason")
7700 (commit (string-append "v" version))))
7701 (file-name (git-file-name name version))
7702 (sha256
7703 (base32
7704 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7705 (build-system asdf-build-system/sbcl)
7706 (inputs
7707 `(("alexandria" ,sbcl-alexandria)
7708 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7709 (synopsis "Common Lisp JSON parser/encoder")
7710 (description
7711 "YASON is a Common Lisp library for encoding and decoding data in the
7712 JSON interchange format.")
7713 (home-page "https://github.com/phmarek/yason")
7714 (license license:bsd-3)))
7715
7716 (define-public cl-yason
7717 (sbcl-package->cl-source-package sbcl-yason))
7718
7719 (define-public ecl-yason
7720 (sbcl-package->ecl-package sbcl-yason))
7721
7722 (define-public sbcl-stefil
7723 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7724 (revision "0"))
7725 (package
7726 (name "sbcl-stefil")
7727 (version (git-version "0.1" revision commit))
7728 (source
7729 (origin
7730 (method git-fetch)
7731 (uri (git-reference
7732 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7733 (commit commit)))
7734 (file-name (git-file-name name version))
7735 (sha256
7736 (base32
7737 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7738 (build-system asdf-build-system/sbcl)
7739 (inputs
7740 `(("alexandria" ,sbcl-alexandria)
7741 ("iterate" ,sbcl-iterate)
7742 ("metabang-bind" ,sbcl-metabang-bind)
7743 ("swank" ,sbcl-slime-swank)))
7744 (arguments
7745 '(#:phases
7746 (modify-phases %standard-phases
7747 (add-after 'unpack 'drop-unnecessary-dependency
7748 (lambda _
7749 (substitute* "package.lisp"
7750 ((":stefil-system") ""))
7751 #t)))))
7752 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7753 (synopsis "Simple test framework")
7754 (description
7755 "Stefil is a simple test framework for Common Lisp, with a focus on
7756 interactive development.")
7757 (license license:public-domain))))
7758
7759 (define-public cl-stefil
7760 (sbcl-package->cl-source-package sbcl-stefil))
7761
7762 (define-public ecl-stefil
7763 (sbcl-package->ecl-package sbcl-stefil))
7764
7765 (define-public sbcl-graph
7766 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7767 (revision "0"))
7768 (package
7769 (name "sbcl-graph")
7770 (version (git-version "0.0.0" revision commit))
7771 (source
7772 (origin
7773 (method git-fetch)
7774 (uri
7775 (git-reference
7776 (url "https://github.com/eschulte/graph")
7777 (commit commit)))
7778 (file-name (git-file-name name version))
7779 (sha256
7780 (base32
7781 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))))
7782 (build-system asdf-build-system/sbcl)
7783 (native-inputs
7784 `(("stefil" ,sbcl-stefil)))
7785 (inputs
7786 `(("alexandria" ,sbcl-alexandria)
7787 ("cl-heap" ,sbcl-cl-heap)
7788 ("cl-ppcre" ,sbcl-cl-ppcre)
7789 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7790 ("metabang-bind" ,sbcl-metabang-bind)
7791 ("named-readtables" ,sbcl-named-readtables)
7792 ("yason" ,sbcl-yason)))
7793 (arguments
7794 '(#:asd-systems '("graph"
7795 "graph/dot"
7796 "graph/json")))
7797 (synopsis "Graph data structure and algorithms for Common Lisp")
7798 (description
7799 "The GRAPH Common Lisp library provides a data structures to represent
7800 graphs, as well as some graph manipulation and analysis algorithms (shortest
7801 path, maximum flow, minimum spanning tree, etc.).")
7802 (home-page "https://eschulte.github.io/graph/")
7803 (license license:gpl3+))))
7804
7805 (define-public cl-graph
7806 (sbcl-package->cl-source-package sbcl-graph))
7807
7808 (define-public ecl-graph
7809 (sbcl-package->ecl-package sbcl-graph))
7810
7811 (define-public sbcl-trivial-indent
7812 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7813 (revision "0"))
7814 (package
7815 (name "sbcl-trivial-indent")
7816 (version (git-version "1.0.0" revision commit))
7817 (source
7818 (origin
7819 (method git-fetch)
7820 (uri
7821 (git-reference
7822 (url "https://github.com/Shinmera/trivial-indent")
7823 (commit commit)))
7824 (file-name (git-file-name name version))
7825 (sha256
7826 (base32
7827 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7828 (build-system asdf-build-system/sbcl)
7829 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7830 (description
7831 "This library allows you to define custom indentation hints for your
7832 macros if the one recognised by SLIME automatically produces unwanted
7833 results.")
7834 (home-page "https://shinmera.github.io/trivial-indent/")
7835 (license license:zlib))))
7836
7837 (define-public cl-trivial-indent
7838 (sbcl-package->cl-source-package sbcl-trivial-indent))
7839
7840 (define-public ecl-trivial-indent
7841 (sbcl-package->ecl-package sbcl-trivial-indent))
7842
7843 (define-public sbcl-documentation-utils
7844 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7845 (revision "0"))
7846 (package
7847 (name "sbcl-documentation-utils")
7848 (version (git-version "1.2.0" revision commit))
7849 (source
7850 (origin
7851 (method git-fetch)
7852 (uri
7853 (git-reference
7854 (url "https://github.com/Shinmera/documentation-utils")
7855 (commit commit)))
7856 (file-name (git-file-name name version))
7857 (sha256
7858 (base32
7859 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7860 (build-system asdf-build-system/sbcl)
7861 (inputs
7862 `(("trivial-indent" ,sbcl-trivial-indent)))
7863 (synopsis "Few simple tools to document Common Lisp libraries")
7864 (description
7865 "This is a small library to help you with managing the Common Lisp
7866 docstrings for your library.")
7867 (home-page "https://shinmera.github.io/documentation-utils/")
7868 (license license:zlib))))
7869
7870 (define-public cl-documentation-utils
7871 (sbcl-package->cl-source-package sbcl-documentation-utils))
7872
7873 (define-public ecl-documentation-utils
7874 (sbcl-package->ecl-package sbcl-documentation-utils))
7875
7876 (define-public sbcl-documentation-utils-extensions
7877 (let ((commit "f67f8a05d583174662a594b79356b201c1d9d750"))
7878 (package
7879 (name "sbcl-documentation-utils-extensions")
7880 (version (git-version "0.0.0" "1" commit))
7881 (source
7882 (origin
7883 (method git-fetch)
7884 (uri
7885 (git-reference
7886 (url "https://github.com/sirherrbatka/documentation-utils-extensions/")
7887 (commit commit)))
7888 (file-name (git-file-name name version))
7889 (sha256
7890 (base32
7891 "0pn45c9rbxlnhn5nvhqz6kyv0nlirwxpg4j27niwdq80yxzsn51f"))))
7892 (build-system asdf-build-system/sbcl)
7893 (inputs
7894 `(("documentation-utils" ,sbcl-documentation-utils)))
7895 (home-page "https://github.com/sirherrbatka/documentation-utils-extensions")
7896 (synopsis "Set of extensions for documentation-utils")
7897 (description
7898 "Use @code{rich-formatter} to format documentation with sections @code{:syntax},
7899 @code{:arguments}, @code{:examples}, @code{:description}, @code{:returns},
7900 @code{:side-effects}, @code{:thread-safety}, @code{:affected-by},
7901 @code{:see-also} and @code{:notes}. Gather unformatted input by using
7902 @code{rich-aggregating-formatter} and @code{*DOCUMENTATION*} variable. Find
7903 gathered documentation with find-documentation function. Execute code stored
7904 in documentation with @code{execute-documentation}. See the examples in the
7905 @code{src/documentation.lisp} file. See the @code{documentation-utils} system
7906 for more information.")
7907 (license license:expat))))
7908
7909 (define-public cl-documentation-utils-extensions
7910 (sbcl-package->cl-source-package sbcl-documentation-utils-extensions))
7911
7912 (define-public ecl-documentation-utils-extensions
7913 (sbcl-package->ecl-package sbcl-documentation-utils-extensions))
7914
7915 (define-public sbcl-form-fiddle
7916 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7917 (revision "0"))
7918 (package
7919 (name "sbcl-form-fiddle")
7920 (version (git-version "1.1.0" revision commit))
7921 (source
7922 (origin
7923 (method git-fetch)
7924 (uri
7925 (git-reference
7926 (url "https://github.com/Shinmera/form-fiddle")
7927 (commit commit)))
7928 (file-name (git-file-name name version))
7929 (sha256
7930 (base32
7931 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7932 (build-system asdf-build-system/sbcl)
7933 (inputs
7934 `(("documentation-utils" ,sbcl-documentation-utils)))
7935 (synopsis "Utilities to destructure Common Lisp lambda forms")
7936 (description
7937 "Often times we need to destructure a form definition in a Common Lisp
7938 macro. This library provides a set of simple utilities to help with that.")
7939 (home-page "https://shinmera.github.io/form-fiddle/")
7940 (license license:zlib))))
7941
7942 (define-public cl-form-fiddle
7943 (sbcl-package->cl-source-package sbcl-form-fiddle))
7944
7945 (define-public ecl-form-fiddle
7946 (sbcl-package->ecl-package sbcl-form-fiddle))
7947
7948 (define-public sbcl-parachute
7949 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7950 (revision "0"))
7951 (package
7952 (name "sbcl-parachute")
7953 (version (git-version "1.1.1" revision commit))
7954 (source
7955 (origin
7956 (method git-fetch)
7957 (uri
7958 (git-reference
7959 (url "https://github.com/Shinmera/parachute")
7960 (commit commit)))
7961 (file-name (git-file-name name version))
7962 (sha256
7963 (base32
7964 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7965 (build-system asdf-build-system/sbcl)
7966 (inputs
7967 `(("documentation-utils" ,sbcl-documentation-utils)
7968 ("form-fiddle" ,sbcl-form-fiddle)))
7969 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7970 (description
7971 "Parachute is a simple-to-use and extensible testing framework.
7972 In Parachute, things are organised as a bunch of named tests within a package.
7973 Each test can contain a bunch of test forms that make up its body.")
7974 (home-page "https://shinmera.github.io/parachute/")
7975 (license license:zlib))))
7976
7977 (define-public cl-parachute
7978 (sbcl-package->cl-source-package sbcl-parachute))
7979
7980 (define-public ecl-parachute
7981 (sbcl-package->ecl-package sbcl-parachute))
7982
7983 (define-public sbcl-array-utils
7984 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7985 (revision "0"))
7986 (package
7987 (name "sbcl-array-utils")
7988 (version (git-version "1.1.1" revision commit))
7989 (source
7990 (origin
7991 (method git-fetch)
7992 (uri
7993 (git-reference
7994 (url "https://github.com/Shinmera/array-utils")
7995 (commit commit)))
7996 (file-name (git-file-name name version))
7997 (sha256
7998 (base32
7999 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
8000 (build-system asdf-build-system/sbcl)
8001 (native-inputs
8002 `(("parachute" ,sbcl-parachute)))
8003 (inputs
8004 `(("documentation-utils" ,sbcl-documentation-utils)))
8005 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
8006 (description
8007 "A miniature toolkit that contains some useful shifting/popping/pushing
8008 functions for arrays and vectors. Originally from Plump.")
8009 (home-page "https://shinmera.github.io/array-utils/")
8010 (license license:zlib))))
8011
8012 (define-public cl-array-utils
8013 (sbcl-package->cl-source-package sbcl-array-utils))
8014
8015 (define-public ecl-array-utils
8016 (sbcl-package->ecl-package sbcl-array-utils))
8017
8018 (define-public sbcl-plump
8019 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
8020 (revision "1"))
8021 (package
8022 (name "sbcl-plump")
8023 (version (git-version "2.0.0" revision commit))
8024 (source
8025 (origin
8026 (method git-fetch)
8027 (uri
8028 (git-reference
8029 (url "https://github.com/Shinmera/plump")
8030 (commit commit)))
8031 (file-name (git-file-name name version))
8032 (sha256
8033 (base32
8034 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
8035 (build-system asdf-build-system/sbcl)
8036 (inputs
8037 `(("array-utils" ,sbcl-array-utils)
8038 ("documentation-utils" ,sbcl-documentation-utils)))
8039 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
8040 (description
8041 "Plump is a parser for HTML/XML-like documents, focusing on being
8042 lenient towards invalid markup. It can handle things like invalid attributes,
8043 bad closing tag order, unencoded entities, inexistent tag types, self-closing
8044 tags and so on. It parses documents to a class representation and offers a
8045 small set of DOM functions to manipulate it. It can be extended to parse to
8046 your own classes.")
8047 (home-page "https://shinmera.github.io/plump/")
8048 (license license:zlib))))
8049
8050 (define-public cl-plump
8051 (sbcl-package->cl-source-package sbcl-plump))
8052
8053 (define-public ecl-plump
8054 (sbcl-package->ecl-package sbcl-plump))
8055
8056 ;;; Split the antik package in two to work around the circular dependency
8057 ;;; between antik/antik and antik/gsll.
8058 (define-public sbcl-antik-base
8059 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
8060 (revision "1"))
8061 (package
8062 (name "sbcl-antik-base")
8063 (version (git-version "0.0.0" revision commit))
8064 (source
8065 (origin
8066 (method git-fetch)
8067 (uri (git-reference
8068 (url "https://gitlab.common-lisp.net/antik/antik.git")
8069 (commit commit)))
8070 (file-name (git-file-name name version))
8071 (sha256
8072 (base32
8073 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
8074 (build-system asdf-build-system/sbcl)
8075 (inputs
8076 `(("alexandria" ,sbcl-alexandria)
8077 ("cffi" ,sbcl-cffi)
8078 ("cl-ppcre" ,sbcl-cl-ppcre)
8079 ("drakma" ,sbcl-drakma)
8080 ("fare-utils" ,sbcl-fare-utils)
8081 ("iterate" ,sbcl-iterate)
8082 ("metabang-bind" ,sbcl-metabang-bind)
8083 ("named-readtables" ,sbcl-named-readtables)
8084 ("split-sequence" ,sbcl-split-sequence)
8085 ("static-vectors" ,sbcl-static-vectors)
8086 ("trivial-garbage" ,sbcl-trivial-garbage)
8087 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
8088 (native-inputs
8089 `(("lisp-unit" ,sbcl-lisp-unit)))
8090 (arguments
8091 '(#:asd-systems '("antik-base"
8092 "foreign-array")
8093 #:phases
8094 (modify-phases %standard-phases
8095 (add-after 'unpack 'fix-build
8096 (lambda _
8097 (for-each delete-file
8098 '("antik.asd"
8099 "physical-dimension.asd"
8100 "science-data.asd"))
8101 #t)))))
8102 (synopsis "Scientific and engineering computation in Common Lisp")
8103 (description
8104 "Antik provides a foundation for scientific and engineering
8105 computation in Common Lisp. It is designed not only to facilitate
8106 numerical computations, but to permit the use of numerical computation
8107 libraries and the interchange of data and procedures, whether
8108 foreign (non-Lisp) or Lisp libraries. It is named after the
8109 Antikythera mechanism, one of the oldest examples of a scientific
8110 computer known.")
8111 (home-page "https://common-lisp.net/project/antik/")
8112 (license license:gpl3))))
8113
8114 (define-public cl-antik-base
8115 (sbcl-package->cl-source-package sbcl-antik-base))
8116
8117 (define-public ecl-antik-base
8118 (let ((pkg (sbcl-package->ecl-package sbcl-antik-base)))
8119 (package
8120 (inherit pkg)
8121 (arguments
8122 (substitute-keyword-arguments (package-arguments pkg)
8123 ((#:phases phases)
8124 `(modify-phases ,phases
8125 (add-after 'unpack 'fix-readtable
8126 (lambda _
8127 (substitute* "input-output/readtable.lisp"
8128 (("#-ccl")
8129 "#-(or ccl ecl)"))
8130 #t)))))))))
8131
8132 (define-public sbcl-gsll
8133 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
8134 (revision "1"))
8135 (package
8136 (name "sbcl-gsll")
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/gsll.git")
8143 (commit commit)))
8144 (file-name (git-file-name name version))
8145 (sha256
8146 (base32
8147 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
8148 (build-system asdf-build-system/sbcl)
8149 (native-inputs
8150 `(("lisp-unit" ,sbcl-lisp-unit)))
8151 (inputs
8152 `(("alexandria" ,sbcl-alexandria)
8153 ("antik-base" ,sbcl-antik-base)
8154 ("cffi" ,sbcl-cffi)
8155 ("gsl" ,gsl)
8156 ("metabang-bind" ,sbcl-metabang-bind)
8157 ("trivial-features" ,sbcl-trivial-features)
8158 ("trivial-garbage" ,sbcl-trivial-garbage)))
8159 (arguments
8160 `(#:tests? #f
8161 #:phases
8162 (modify-phases %standard-phases
8163 (add-after 'unpack 'fix-cffi-paths
8164 (lambda* (#:key inputs #:allow-other-keys)
8165 (substitute* "gsll.asd"
8166 ((":depends-on \\(#:foreign-array")
8167 ":depends-on (#:foreign-array #:cffi-libffi"))
8168 (substitute* "init/init.lisp"
8169 (("libgslcblas.so" all)
8170 (string-append
8171 (assoc-ref inputs "gsl") "/lib/" all)))
8172 (substitute* "init/init.lisp"
8173 (("libgsl.so" all)
8174 (string-append
8175 (assoc-ref inputs "gsl") "/lib/" all))))))))
8176 (synopsis "GNU Scientific Library for Lisp")
8177 (description
8178 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
8179 GNU Scientific Library (GSL) from Common Lisp. This library provides a
8180 full range of common mathematical operations useful to scientific and
8181 engineering applications. The design of the GSLL interface is such
8182 that access to most of the GSL library is possible in a Lisp-natural
8183 way; the intent is that the user not be hampered by the restrictions
8184 of the C language in which GSL has been written. GSLL thus provides
8185 interactive use of GSL for getting quick answers, even for someone not
8186 intending to program in Lisp.")
8187 (home-page "https://common-lisp.net/project/gsll/")
8188 (license license:gpl3))))
8189
8190 (define-public cl-gsll
8191 (sbcl-package->cl-source-package sbcl-gsll))
8192
8193 (define-public ecl-gsll
8194 (sbcl-package->ecl-package sbcl-gsll))
8195
8196 (define-public sbcl-antik
8197 (package
8198 (inherit sbcl-antik-base)
8199 (name "sbcl-antik")
8200 (inputs
8201 `(("antik-base" ,sbcl-antik-base)
8202 ("gsll" ,sbcl-gsll)))
8203 (arguments
8204 '(#:asd-systems '("antik"
8205 "science-data")
8206 #:phases
8207 (modify-phases %standard-phases
8208 (add-after 'unpack 'fix-build
8209 (lambda _
8210 (for-each delete-file
8211 '("antik-base.asd"
8212 "foreign-array.asd"))
8213 #t)))))))
8214
8215 (define-public cl-antik
8216 (sbcl-package->cl-source-package sbcl-antik))
8217
8218 (define-public sbcl-cl-interpol
8219 (let ((commit "70a1137f41dd8889004dbab9536b1adeac2497aa")
8220 (revision "1"))
8221 (package
8222 (name "sbcl-cl-interpol")
8223 (version (git-version "0.2.7" revision commit))
8224 (source
8225 (origin
8226 (method git-fetch)
8227 (uri (git-reference
8228 (url "https://github.com/edicl/cl-interpol")
8229 (commit commit)))
8230 (file-name (git-file-name "cl-interpol" version))
8231 (sha256
8232 (base32
8233 "1kr00zf62m7la7rxa2m5w49r9cyzamc106hvjcc8ffmi7a4jw490"))))
8234 (build-system asdf-build-system/sbcl)
8235 (inputs
8236 `(("cl-unicode" ,sbcl-cl-unicode)
8237 ("named-readtables" ,sbcl-named-readtables)))
8238 (native-inputs
8239 `(("flexi-streams" ,sbcl-flexi-streams)))
8240 (synopsis "String interpolation for Common Lisp")
8241 (description
8242 "CL-INTERPOL is a library for Common Lisp which modifies the
8243 reader so that you can have interpolation within strings similar to
8244 Perl or Unix Shell scripts. It also provides various ways to insert
8245 arbitrary characters into literal strings even if your editor/IDE
8246 doesn't support them.")
8247 (home-page "https://edicl.github.io/cl-interpol/")
8248 (license license:bsd-3))))
8249
8250 (define-public cl-interpol
8251 (sbcl-package->cl-source-package sbcl-cl-interpol))
8252
8253 (define-public ecl-cl-interpol
8254 (sbcl-package->ecl-package sbcl-cl-interpol))
8255
8256 (define-public sbcl-symbol-munger
8257 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
8258 (revision "1"))
8259 (package
8260 (name "sbcl-symbol-munger")
8261 (version (git-version "0.0.1" revision commit))
8262 (source
8263 (origin
8264 (method git-fetch)
8265 (uri (git-reference
8266 (url "https://github.com/AccelerationNet/symbol-munger")
8267 (commit commit)))
8268 (file-name (git-file-name name version))
8269 (sha256
8270 (base32
8271 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
8272 (build-system asdf-build-system/sbcl)
8273 (inputs
8274 `(("alexandria" ,sbcl-alexandria)
8275 ("iterate" ,sbcl-iterate)))
8276 (arguments
8277 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8278 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8279 '(#:tests? #f))
8280 (synopsis
8281 "Capitalization and spacing conversion functions for Common Lisp")
8282 (description
8283 "This is a Common Lisp library to change the capitalization and spacing
8284 of a string or a symbol. It can convert to and from Lisp, english, underscore
8285 and camel-case rules.")
8286 (home-page "https://github.com/AccelerationNet/symbol-munger")
8287 ;; The package declares a BSD license, but all of the license
8288 ;; text is MIT.
8289 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8290 (license license:expat))))
8291
8292 (define-public cl-symbol-munger
8293 (sbcl-package->cl-source-package sbcl-symbol-munger))
8294
8295 (define-public ecl-symbol-munger
8296 (sbcl-package->ecl-package sbcl-symbol-munger))
8297
8298 (define-public sbcl-lisp-unit2
8299 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8300 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8301 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
8302 (revision "1"))
8303 (package
8304 (name "sbcl-lisp-unit2")
8305 (version (git-version "0.2.0" revision commit))
8306 (source
8307 (origin
8308 (method git-fetch)
8309 (uri (git-reference
8310 (url "https://github.com/AccelerationNet/lisp-unit2")
8311 (commit commit)))
8312 (file-name (git-file-name name version))
8313 (sha256
8314 (base32
8315 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
8316 (build-system asdf-build-system/sbcl)
8317 (inputs
8318 `(("alexandria" ,sbcl-alexandria)
8319 ("cl-interpol" ,sbcl-cl-interpol)
8320 ("iterate" ,sbcl-iterate)
8321 ("symbol-munger" ,sbcl-symbol-munger)))
8322 (synopsis "Test Framework for Common Lisp")
8323 (description
8324 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
8325 style of JUnit for Java. It is a new version of the lisp-unit library written
8326 by Chris Riesbeck.")
8327 (home-page "https://github.com/AccelerationNet/lisp-unit2")
8328 (license license:expat))))
8329
8330 (define-public cl-lisp-unit2
8331 (sbcl-package->cl-source-package sbcl-lisp-unit2))
8332
8333 (define-public ecl-lisp-unit2
8334 (sbcl-package->ecl-package sbcl-lisp-unit2))
8335
8336 (define-public sbcl-cl-csv
8337 (let ((commit "68ecb5d816545677513d7f6308d9e5e8d2265651")
8338 (revision "2"))
8339 (package
8340 (name "sbcl-cl-csv")
8341 (version (git-version "1.0.6" revision commit))
8342 (source
8343 (origin
8344 (method git-fetch)
8345 (uri (git-reference
8346 (url "https://github.com/AccelerationNet/cl-csv")
8347 (commit commit)))
8348 (file-name (git-file-name name version))
8349 (sha256
8350 (base32
8351 "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x"))))
8352 (build-system asdf-build-system/sbcl)
8353 (arguments
8354 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8355 `(#:tests? #f))
8356 (inputs
8357 `(("alexandria" ,sbcl-alexandria)
8358 ("cl-interpol" ,sbcl-cl-interpol)
8359 ("iterate" ,sbcl-iterate)))
8360 (native-inputs
8361 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8362 (synopsis "Common lisp library for comma-separated values")
8363 (description
8364 "This is a Common Lisp library providing functions to read/write CSV
8365 from/to strings, streams and files.")
8366 (home-page "https://github.com/AccelerationNet/cl-csv")
8367 (license license:bsd-3))))
8368
8369 (define-public cl-csv
8370 (sbcl-package->cl-source-package sbcl-cl-csv))
8371
8372 (define-public ecl-cl-csv
8373 (sbcl-package->ecl-package sbcl-cl-csv))
8374
8375 (define-public sbcl-external-program
8376 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8377 (revision "1"))
8378 (package
8379 (name "sbcl-external-program")
8380 (version (git-version "0.0.6" revision commit))
8381 (source
8382 (origin
8383 (method git-fetch)
8384 (uri (git-reference
8385 (url "https://github.com/sellout/external-program")
8386 (commit commit)))
8387 (file-name (git-file-name name version))
8388 (sha256
8389 (base32
8390 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8391 (build-system asdf-build-system/sbcl)
8392 (inputs
8393 `(("trivial-features" ,sbcl-trivial-features)))
8394 (native-inputs
8395 `(("fiveam" ,sbcl-fiveam)))
8396 (synopsis "Common Lisp library for running external programs")
8397 (description
8398 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8399 process. It is an attempt to make the RUN-PROGRAM functionality in
8400 implementations like SBCL and CCL as portable as possible without
8401 sacrificing much in the way of power.")
8402 (home-page "https://github.com/sellout/external-program")
8403 (license license:llgpl))))
8404
8405 (define-public cl-external-program
8406 (sbcl-package->cl-source-package sbcl-external-program))
8407
8408 (define-public ecl-external-program
8409 (sbcl-package->ecl-package sbcl-external-program))
8410
8411 (define-public sbcl-cl-ana
8412 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8413 (revision "1"))
8414 (package
8415 (name "sbcl-cl-ana")
8416 (version (git-version "0.0.0" revision commit))
8417 (source
8418 (origin
8419 (method git-fetch)
8420 (uri (git-reference
8421 (url "https://github.com/ghollisjr/cl-ana")
8422 (commit commit)))
8423 (file-name (git-file-name name version))
8424 (sha256
8425 (base32 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8426 (build-system asdf-build-system/sbcl)
8427 (native-inputs
8428 `(("cl-fad" ,sbcl-cl-fad)))
8429 (inputs
8430 `(("alexandria" ,sbcl-alexandria)
8431 ("antik" ,sbcl-antik)
8432 ("cffi" ,sbcl-cffi)
8433 ("cl-csv" ,sbcl-cl-csv)
8434 ("closer-mop" ,sbcl-closer-mop)
8435 ("external-program" ,sbcl-external-program)
8436 ("gsl" ,gsl)
8437 ("gsll" ,sbcl-gsll)
8438 ("hdf5" ,hdf5-parallel-openmpi)
8439 ("iterate" ,sbcl-iterate)
8440 ("libffi" ,libffi)
8441 ("split-sequence" ,sbcl-split-sequence)))
8442 (arguments
8443 `(#:phases
8444 (modify-phases %standard-phases
8445 (add-after 'unpack 'fix-paths
8446 (lambda* (#:key inputs #:allow-other-keys)
8447 (substitute* "hdf-cffi/hdf-cffi.lisp"
8448 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8449 (string-append (assoc-ref inputs "hdf5")
8450 "/lib/libhdf5.so")))
8451 (substitute* "gsl-cffi/gsl-cffi.lisp"
8452 (("define-foreign-library gsl-cffi" all)
8453 (string-append all " (:unix "
8454 (assoc-ref inputs "gsl")
8455 "/lib/libgsl.so)")))
8456 #t)))))
8457 (synopsis "Common Lisp data analysis library")
8458 (description
8459 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8460 binned data analysis along with nonlinear least squares fitting and
8461 visualization.")
8462 (home-page "https://github.com/ghollisjr/cl-ana")
8463 (license license:gpl3))))
8464
8465 (define-public cl-ana
8466 (sbcl-package->cl-source-package sbcl-cl-ana))
8467
8468 (define-public sbcl-archive
8469 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
8470 (revision "1"))
8471 (package
8472 (name "sbcl-archive")
8473 (version (git-version "0.9" revision commit))
8474 (source (origin
8475 (method git-fetch)
8476 (uri (git-reference
8477 (url "https://github.com/sharplispers/archive")
8478 (commit commit)))
8479 (file-name (git-file-name name version))
8480 (sha256
8481 (base32
8482 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
8483 (build-system asdf-build-system/sbcl)
8484 (inputs
8485 `(("cl-fad" ,sbcl-cl-fad)
8486 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
8487 (synopsis "Common Lisp library for tar and cpio archives")
8488 (description
8489 "This is a Common Lisp library to read and write disk-based file
8490 archives such as those generated by the tar and cpio programs on Unix.")
8491 (home-page "https://github.com/sharplispers/archive")
8492 (license license:bsd-3))))
8493
8494 (define-public cl-archive
8495 (sbcl-package->cl-source-package sbcl-archive))
8496
8497 (define-public ecl-archive
8498 (sbcl-package->ecl-package sbcl-archive))
8499
8500 (define-public sbcl-misc-extensions
8501 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
8502 (revision "1"))
8503 (package
8504 (name "sbcl-misc-extensions")
8505 (version (git-version "3.3" revision commit))
8506 (source
8507 (origin
8508 (method git-fetch)
8509 (uri (git-reference
8510 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
8511 (commit commit)))
8512 (file-name (git-file-name name version))
8513 (sha256
8514 (base32
8515 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
8516 (build-system asdf-build-system/sbcl)
8517 (synopsis "Collection of small macros and extensions for Common Lisp")
8518 (description
8519 "This project is intended as a catchall for small, general-purpose
8520 extensions to Common Lisp. It contains:
8521
8522 @itemize
8523 @item @code{new-let}, a macro that combines and generalizes @code{let},
8524 @code{let*} and @code{multiple-value-bind},
8525 @item @code{gmap}, an iteration macro that generalizes @code{map}.
8526 @end itemize\n")
8527 (home-page "https://common-lisp.net/project/misc-extensions/")
8528 (license license:public-domain))))
8529
8530 (define-public cl-misc-extensions
8531 (sbcl-package->cl-source-package sbcl-misc-extensions))
8532
8533 (define-public ecl-misc-extensions
8534 (sbcl-package->ecl-package sbcl-misc-extensions))
8535
8536 (define-public sbcl-mt19937
8537 (package
8538 (name "sbcl-mt19937")
8539 (version "1.1")
8540 (source
8541 (origin
8542 (method url-fetch)
8543 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
8544 "mt19937-latest.tar.gz"))
8545 (sha256
8546 (base32
8547 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
8548 (build-system asdf-build-system/sbcl)
8549 (synopsis "Mersenne Twister pseudo-random number generator")
8550 (description
8551 "MT19937 is a portable Mersenne Twister pseudo-random number generator
8552 for Common Lisp.")
8553 (home-page "https://www.cliki.net/mt19937")
8554 (license license:public-domain)))
8555
8556 (define-public cl-mt19937
8557 (sbcl-package->cl-source-package sbcl-mt19937))
8558
8559 (define-public ecl-mt19937
8560 (sbcl-package->ecl-package sbcl-mt19937))
8561
8562 (define-public sbcl-fset
8563 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
8564 (revision "1"))
8565 (package
8566 (name "sbcl-fset")
8567 (version (git-version "1.3.2" revision commit))
8568 (source
8569 (origin
8570 (method git-fetch)
8571 (uri (git-reference
8572 (url "https://github.com/slburson/fset")
8573 (commit commit)))
8574 (file-name (git-file-name name version))
8575 (sha256
8576 (base32
8577 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
8578 (snippet '(begin
8579 ;; Remove obsolete copy of system definition.
8580 (delete-file "Code/fset.asd")
8581 #t))))
8582 (build-system asdf-build-system/sbcl)
8583 (inputs
8584 `(("misc-extensions" ,sbcl-misc-extensions)
8585 ("mt19937" ,sbcl-mt19937)
8586 ("named-readtables" ,sbcl-named-readtables)))
8587 (synopsis "Functional set-theoretic collections library")
8588 (description
8589 "FSet is a functional set-theoretic collections library for Common Lisp.
8590 Functional means that all update operations return a new collection rather than
8591 modifying an existing one in place. Set-theoretic means that collections may
8592 be nested arbitrarily with no additional programmer effort; for instance, sets
8593 may contain sets, maps may be keyed by sets, etc.")
8594 (home-page "https://common-lisp.net/project/fset/Site/index.html")
8595 (license license:llgpl))))
8596
8597 (define-public cl-fset
8598 (sbcl-package->cl-source-package sbcl-fset))
8599
8600 (define-public ecl-fset
8601 (package
8602 (inherit (sbcl-package->ecl-package sbcl-fset))
8603 (arguments
8604 ;; Tests fails on ECL with "The function FSET::MAKE-CHAR is undefined".
8605 '(#:tests? #f))))
8606
8607 (define-public sbcl-cl-cont
8608 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
8609 (revision "1"))
8610 (package
8611 (name "sbcl-cl-cont")
8612 (version (git-version "0.3.8" revision commit))
8613 (source
8614 (origin
8615 (method git-fetch)
8616 (uri (git-reference
8617 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
8618 (commit commit)))
8619 (file-name (git-file-name name version))
8620 (sha256
8621 (base32
8622 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
8623 (build-system asdf-build-system/sbcl)
8624 (inputs
8625 `(("alexandria" ,sbcl-alexandria)
8626 ("closer-mop" ,sbcl-closer-mop)))
8627 (native-inputs
8628 `(("rt" ,sbcl-rt)))
8629 (synopsis "Delimited continuations for Common Lisp")
8630 (description
8631 "This is a library that implements delimited continuations by
8632 transforming Common Lisp code to continuation passing style.")
8633 (home-page "https://common-lisp.net/project/cl-cont/")
8634 (license license:llgpl))))
8635
8636 (define-public cl-cont
8637 (sbcl-package->cl-source-package sbcl-cl-cont))
8638
8639 (define-public ecl-cl-cont
8640 (sbcl-package->ecl-package sbcl-cl-cont))
8641
8642 (define-public sbcl-cl-coroutine
8643 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
8644 (revision "1"))
8645 (package
8646 (name "sbcl-cl-coroutine")
8647 (version (git-version "0.1" revision commit))
8648 (source
8649 (origin
8650 (method git-fetch)
8651 (uri (git-reference
8652 (url "https://github.com/takagi/cl-coroutine")
8653 (commit commit)))
8654 (file-name (git-file-name name version))
8655 (sha256
8656 (base32
8657 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
8658 (build-system asdf-build-system/sbcl)
8659 (inputs
8660 `(("alexandria" ,sbcl-alexandria)
8661 ("cl-cont" ,sbcl-cl-cont)))
8662 (native-inputs
8663 `(("prove" ,sbcl-prove)))
8664 (arguments
8665 `(;; TODO: Fix the tests. They fail with:
8666 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
8667 #:tests? #f
8668 #:phases
8669 (modify-phases %standard-phases
8670 (add-after 'unpack 'fix-tests
8671 (lambda _
8672 (substitute* "cl-coroutine-test.asd"
8673 (("cl-test-more")
8674 "prove"))
8675 #t)))))
8676 (synopsis "Coroutine library for Common Lisp")
8677 (description
8678 "This is a coroutine library for Common Lisp implemented using the
8679 continuations of the @code{cl-cont} library.")
8680 (home-page "https://github.com/takagi/cl-coroutine")
8681 (license license:llgpl))))
8682
8683 (define-public cl-coroutine
8684 (sbcl-package->cl-source-package sbcl-cl-coroutine))
8685
8686 (define-public ecl-cl-coroutine
8687 (sbcl-package->ecl-package sbcl-cl-coroutine))
8688
8689 (define-public sbcl-vas-string-metrics
8690 (let ((commit "f2e4500b180316123fbd549bd51c751ee2d6ba0f")
8691 (revision "1"))
8692 (package
8693 (name "sbcl-vas-string-metrics")
8694 (version (git-version "0.0.0" revision commit))
8695 (source
8696 (origin
8697 (method git-fetch)
8698 (uri (git-reference
8699 (url "https://github.com/vsedach/vas-string-metrics")
8700 (commit commit)))
8701 (file-name (git-file-name "vas-string-metrics" version))
8702 (sha256
8703 (base32 "11fcnd03ybzz37rkg3z0wsb727yqgcd9gn70sccfb34l89ia279k"))))
8704 (build-system asdf-build-system/sbcl)
8705 (arguments
8706 `(#:test-asd-file "test.vas-string-metrics.asd"))
8707 (home-page "https://github.com/vsedach/vas-string-metrics")
8708 (synopsis "String distance algorithms for Common Lisp")
8709 (description
8710 "VAS-STRING-METRICS provides the Jaro, Jaro-Winkler, Soerensen-Dice,
8711 Levenshtein, and normalized Levenshtein string distance/similarity metrics
8712 algorithms.")
8713 (license license:lgpl3+))))
8714
8715 (define-public ecl-vas-string-metrics
8716 (sbcl-package->ecl-package sbcl-vas-string-metrics))
8717
8718 (define-public cl-vas-string-metrics
8719 (sbcl-package->cl-source-package sbcl-vas-string-metrics))
8720
8721 (define-public sbcl-vom
8722 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
8723 (revision "1"))
8724 (package
8725 (name "sbcl-vom")
8726 (version (git-version "0.1.4" revision commit))
8727 (source
8728 (origin
8729 (method git-fetch)
8730 (uri (git-reference
8731 (url "https://github.com/orthecreedence/vom")
8732 (commit commit)))
8733 (file-name (git-file-name name version))
8734 (sha256
8735 (base32
8736 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
8737 (build-system asdf-build-system/sbcl)
8738 (synopsis "Tiny logging utility for Common Lisp")
8739 (description
8740 "Vom is a logging library for Common Lisp. It's goal is to be useful
8741 and small. It does not provide a lot of features as other loggers do, but
8742 has a small codebase that's easy to understand and use.")
8743 (home-page "https://github.com/orthecreedence/vom")
8744 (license license:expat))))
8745
8746 (define-public cl-vom
8747 (sbcl-package->cl-source-package sbcl-vom))
8748
8749 (define-public ecl-vom
8750 (sbcl-package->ecl-package sbcl-vom))
8751
8752 (define-public sbcl-cl-libuv
8753 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
8754 (revision "1"))
8755 (package
8756 (name "sbcl-cl-libuv")
8757 (version (git-version "0.1.6" revision commit))
8758 (source
8759 (origin
8760 (method git-fetch)
8761 (uri (git-reference
8762 (url "https://github.com/orthecreedence/cl-libuv")
8763 (commit commit)))
8764 (file-name (git-file-name name version))
8765 (sha256
8766 (base32
8767 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
8768 (build-system asdf-build-system/sbcl)
8769 (inputs
8770 `(("alexandria" ,sbcl-alexandria)
8771 ("cffi" ,sbcl-cffi)
8772 ("libuv" ,libuv)))
8773 (arguments
8774 `(#:phases
8775 (modify-phases %standard-phases
8776 (add-after 'unpack 'fix-paths
8777 (lambda* (#:key inputs #:allow-other-keys)
8778 (substitute* "lib.lisp"
8779 (("/usr/lib/libuv.so")
8780 (string-append (assoc-ref inputs "libuv")
8781 "/lib/libuv.so")))
8782 #t))
8783 (add-after 'fix-paths 'fix-system-definition
8784 (lambda _
8785 (substitute* "cl-libuv.asd"
8786 (("#:cffi #:alexandria")
8787 "#:cffi #:cffi-grovel #:alexandria"))
8788 #t)))))
8789 (synopsis "Common Lisp bindings to libuv")
8790 (description
8791 "This library provides low-level libuv bindings for Common Lisp.")
8792 (home-page "https://github.com/orthecreedence/cl-libuv")
8793 (license license:expat))))
8794
8795 (define-public cl-libuv
8796 (sbcl-package->cl-source-package sbcl-cl-libuv))
8797
8798 (define-public ecl-cl-libuv
8799 (sbcl-package->ecl-package sbcl-cl-libuv))
8800
8801 (define-public sbcl-cl-async
8802 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
8803 (revision "1"))
8804 (package
8805 (name "sbcl-cl-async")
8806 (version (git-version "0.6.1" revision commit))
8807 (source
8808 (origin
8809 (method git-fetch)
8810 (uri (git-reference
8811 (url "https://github.com/orthecreedence/cl-async")
8812 (commit commit)))
8813 (file-name (git-file-name name version))
8814 (sha256
8815 (base32
8816 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
8817 (build-system asdf-build-system/sbcl)
8818 (inputs
8819 `(("babel" ,sbcl-babel)
8820 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8821 ("cffi" ,sbcl-cffi)
8822 ("cl-libuv" ,sbcl-cl-libuv)
8823 ("cl-ppcre" ,sbcl-cl-ppcre)
8824 ("fast-io" ,sbcl-fast-io)
8825 ("openssl" ,openssl)
8826 ("static-vectors" ,sbcl-static-vectors)
8827 ("trivial-features" ,sbcl-trivial-features)
8828 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
8829 ("vom" ,sbcl-vom)))
8830 (arguments
8831 `(#:asd-systems '("cl-async"
8832 "cl-async-repl"
8833 "cl-async-ssl")
8834 #:phases
8835 (modify-phases %standard-phases
8836 (add-after 'unpack 'fix-paths
8837 (lambda* (#:key inputs #:allow-other-keys)
8838 (substitute* "src/ssl/package.lisp"
8839 (("libcrypto\\.so")
8840 (string-append (assoc-ref inputs "openssl")
8841 "/lib/libcrypto.so"))
8842 (("libssl\\.so")
8843 (string-append (assoc-ref inputs "openssl")
8844 "/lib/libssl.so")))
8845 #t)))))
8846 (synopsis "Asynchronous operations for Common Lisp")
8847 (description
8848 "Cl-async is a library for general purpose, non-blocking programming in
8849 Common Lisp. It uses the libuv library as backend.")
8850 (home-page "https://orthecreedence.github.io/cl-async/")
8851 (license license:expat))))
8852
8853 (define-public cl-async
8854 (sbcl-package->cl-source-package sbcl-cl-async))
8855
8856 (define-public ecl-cl-async
8857 (sbcl-package->ecl-package sbcl-cl-async))
8858
8859 (define-public sbcl-blackbird
8860 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
8861 (revision "1"))
8862 (package
8863 (name "sbcl-blackbird")
8864 (version (git-version "0.5.2" revision commit))
8865 (source
8866 (origin
8867 (method git-fetch)
8868 (uri (git-reference
8869 (url "https://github.com/orthecreedence/blackbird")
8870 (commit commit)))
8871 (file-name (git-file-name name version))
8872 (sha256
8873 (base32
8874 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
8875 (build-system asdf-build-system/sbcl)
8876 (inputs
8877 `(("vom" ,sbcl-vom)))
8878 (native-inputs
8879 `(("cl-async" ,sbcl-cl-async)
8880 ("fiveam" ,sbcl-fiveam)))
8881 (synopsis "Promise implementation for Common Lisp")
8882 (description
8883 "This is a standalone promise implementation for Common Lisp. It is
8884 the successor to the now-deprecated cl-async-future project.")
8885 (home-page "https://orthecreedence.github.io/blackbird/")
8886 (license license:expat))))
8887
8888 (define-public cl-blackbird
8889 (sbcl-package->cl-source-package sbcl-blackbird))
8890
8891 (define-public ecl-blackbird
8892 (sbcl-package->ecl-package sbcl-blackbird))
8893
8894 (define-public sbcl-cl-async-future
8895 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
8896 (revision "1"))
8897 (package
8898 (name "sbcl-cl-async-future")
8899 (version (git-version "0.4.4.1" revision commit))
8900 (source
8901 (origin
8902 (method git-fetch)
8903 (uri (git-reference
8904 (url "https://github.com/orthecreedence/cl-async-future")
8905 (commit commit)))
8906 (file-name (git-file-name name version))
8907 (sha256
8908 (base32
8909 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
8910 (build-system asdf-build-system/sbcl)
8911 (inputs
8912 `(("blackbird" ,sbcl-blackbird)))
8913 (native-inputs
8914 `(("cl-async" ,sbcl-cl-async)
8915 ("eos" ,sbcl-eos)))
8916 (synopsis "Futures implementation for Common Lisp")
8917 (description
8918 "This is futures implementation for Common Lisp. It plugs in nicely
8919 to cl-async.")
8920 (home-page "https://orthecreedence.github.io/cl-async/future")
8921 (license license:expat))))
8922
8923 (define-public cl-async-future
8924 (sbcl-package->cl-source-package sbcl-cl-async-future))
8925
8926 (define-public ecl-cl-async-future
8927 (sbcl-package->ecl-package sbcl-cl-async-future))
8928
8929 (define-public sbcl-green-threads
8930 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
8931 (revision "1"))
8932 (package
8933 (name "sbcl-green-threads")
8934 (version (git-version "0.3" revision commit))
8935 (source
8936 (origin
8937 (method git-fetch)
8938 (uri (git-reference
8939 (url "https://github.com/thezerobit/green-threads")
8940 (commit commit)))
8941 (file-name (git-file-name name version))
8942 (sha256
8943 (base32
8944 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
8945 (build-system asdf-build-system/sbcl)
8946 (inputs
8947 `(("cl-async-future" ,sbcl-cl-async-future)
8948 ("cl-cont" ,sbcl-cl-cont)))
8949 (native-inputs
8950 `(("prove" ,sbcl-prove)))
8951 (arguments
8952 `(;; TODO: Fix the tests. They fail with:
8953 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
8954 #:tests? #f
8955 #:phases
8956 (modify-phases %standard-phases
8957 (add-after 'unpack 'fix-tests
8958 (lambda _
8959 (substitute* "green-threads-test.asd"
8960 (("cl-test-more")
8961 "prove"))
8962 #t)))))
8963 (synopsis "Cooperative multitasking library for Common Lisp")
8964 (description
8965 "This library allows for cooperative multitasking with help of cl-cont
8966 for continuations. It tries to mimic the API of bordeaux-threads as much as
8967 possible.")
8968 (home-page "https://github.com/thezerobit/green-threads")
8969 (license license:bsd-3))))
8970
8971 (define-public cl-green-threads
8972 (sbcl-package->cl-source-package sbcl-green-threads))
8973
8974 (define-public ecl-green-threads
8975 (sbcl-package->ecl-package sbcl-green-threads))
8976
8977 (define-public sbcl-cl-base32
8978 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
8979 (revision "1"))
8980 (package
8981 (name "sbcl-cl-base32")
8982 (version (git-version "0.1" revision commit))
8983 (source
8984 (origin
8985 (method git-fetch)
8986 (uri (git-reference
8987 (url "https://github.com/hargettp/cl-base32")
8988 (commit commit)))
8989 (file-name (git-file-name name version))
8990 (sha256
8991 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
8992 (build-system asdf-build-system/sbcl)
8993 (native-inputs
8994 `(("lisp-unit" ,sbcl-lisp-unit)))
8995 (synopsis "Common Lisp library for base32 encoding and decoding")
8996 (description
8997 "This package provides functions for base32 encoding and decoding as
8998 defined in RFC4648.")
8999 (home-page "https://github.com/hargettp/cl-base32")
9000 (license license:expat))))
9001
9002 (define-public cl-base32
9003 (sbcl-package->cl-source-package sbcl-cl-base32))
9004
9005 (define-public ecl-cl-base32
9006 (sbcl-package->ecl-package sbcl-cl-base32))
9007
9008 (define-public sbcl-cl-z85
9009 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
9010 (revision "1"))
9011 (package
9012 (name "sbcl-cl-z85")
9013 (version (git-version "1.0" revision commit))
9014 (source
9015 (origin
9016 (method git-fetch)
9017 (uri (git-reference
9018 (url "https://github.com/glv2/cl-z85")
9019 (commit commit)))
9020 (file-name (git-file-name name version))
9021 (sha256
9022 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
9023 (build-system asdf-build-system/sbcl)
9024 (native-inputs
9025 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
9026 ("fiveam" ,sbcl-fiveam)))
9027 (synopsis "Common Lisp library for Z85 encoding and decoding")
9028 (description
9029 "This package provides functions to encode or decode byte vectors or
9030 byte streams using the Z85 format, which is a base-85 encoding used by
9031 ZeroMQ.")
9032 (home-page "https://github.com/glv2/cl-z85")
9033 (license license:gpl3+))))
9034
9035 (define-public cl-z85
9036 (sbcl-package->cl-source-package sbcl-cl-z85))
9037
9038 (define-public ecl-cl-z85
9039 (sbcl-package->ecl-package sbcl-cl-z85))
9040
9041 (define-public sbcl-ltk
9042 (package
9043 (name "sbcl-ltk")
9044 (version "0.992")
9045 (source
9046 (origin
9047 (method git-fetch)
9048 (uri (git-reference
9049 (url "https://github.com/herth/ltk")
9050 (commit version)))
9051 (file-name (git-file-name name version))
9052 (sha256
9053 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
9054 (build-system asdf-build-system/sbcl)
9055 (inputs
9056 `(("imagemagick" ,imagemagick)
9057 ("tk" ,tk)))
9058 (arguments
9059 `(#:asd-systems '("ltk"
9060 "ltk-mw"
9061 "ltk-remote")
9062 #:tests? #f
9063 #:phases
9064 (modify-phases %standard-phases
9065 (add-after 'unpack 'fix-paths
9066 (lambda* (#:key inputs #:allow-other-keys)
9067 (substitute* "ltk/ltk.lisp"
9068 (("#-freebsd \"wish\"")
9069 (string-append "#-freebsd \""
9070 (assoc-ref inputs "tk")
9071 "/bin/wish\""))
9072 (("do-execute \"convert\"")
9073 (string-append "do-execute \""
9074 (assoc-ref inputs "imagemagick")
9075 "/bin/convert\"")))
9076 #t))
9077 (add-after 'unpack 'fix-build
9078 (lambda _
9079 (substitute* "ltk/ltk-remote.lisp"
9080 (("\\(:export")
9081 "(:shadow #:raise) (:export"))
9082 #t)))))
9083 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9084 (description
9085 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
9086 in pure Common Lisp and does not require any Tk knowledge for its usage.")
9087 (home-page "http://www.peter-herth.de/ltk/")
9088 (license license:llgpl)))
9089
9090 (define-public cl-ltk
9091 (sbcl-package->cl-source-package sbcl-ltk))
9092
9093 (define-public ecl-ltk
9094 (sbcl-package->ecl-package sbcl-ltk))
9095
9096 (define-public sbcl-cl-lex
9097 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
9098 (revision "1"))
9099 (package
9100 (name "sbcl-cl-lex")
9101 (version (git-version "1.1.3" revision commit))
9102 (source
9103 (origin
9104 (method git-fetch)
9105 (uri (git-reference
9106 (url "https://github.com/djr7C4/cl-lex")
9107 (commit commit)))
9108 (file-name (git-file-name name version))
9109 (sha256
9110 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
9111 (build-system asdf-build-system/sbcl)
9112 (inputs
9113 `(("cl-ppcre" ,sbcl-cl-ppcre)))
9114 (synopsis "Common Lisp macros for generating lexical analyzers")
9115 (description
9116 "This is a Common Lisp library providing a set of macros for generating
9117 lexical analyzers automatically. The lexers generated using @code{cl-lex} can
9118 be used with @code{cl-yacc}.")
9119 (home-page "https://github.com/djr7C4/cl-lex")
9120 (license license:gpl3))))
9121
9122 (define-public cl-lex
9123 (sbcl-package->cl-source-package sbcl-cl-lex))
9124
9125 (define-public ecl-cl-lex
9126 (sbcl-package->ecl-package sbcl-cl-lex))
9127
9128 (define-public sbcl-clunit2
9129 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
9130 (revision "1"))
9131 (package
9132 (name "sbcl-clunit2")
9133 (version (git-version "0.2.4" revision commit))
9134 (source
9135 (origin
9136 (method git-fetch)
9137 (uri (git-reference
9138 (url "https://notabug.org/cage/clunit2.git")
9139 (commit commit)))
9140 (file-name (git-file-name name version))
9141 (sha256
9142 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
9143 (build-system asdf-build-system/sbcl)
9144 (synopsis "Unit testing framework for Common Lisp")
9145 (description
9146 "CLUnit is a Common Lisp unit testing framework. It is designed to be
9147 easy to use so that you can quickly start testing.")
9148 (home-page "https://notabug.org/cage/clunit2")
9149 (license license:expat))))
9150
9151 (define-public cl-clunit2
9152 (sbcl-package->cl-source-package sbcl-clunit2))
9153
9154 (define-public ecl-clunit2
9155 (sbcl-package->ecl-package sbcl-clunit2))
9156
9157 (define-public sbcl-cl-colors2
9158 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
9159 (revision "1"))
9160 (package
9161 (name "sbcl-cl-colors2")
9162 (version (git-version "0.2.1" revision commit))
9163 (source
9164 (origin
9165 (method git-fetch)
9166 (uri (git-reference
9167 (url "https://notabug.org/cage/cl-colors2.git")
9168 (commit commit)))
9169 (file-name (git-file-name name version))
9170 (sha256
9171 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
9172 (build-system asdf-build-system/sbcl)
9173 (native-inputs
9174 `(("clunit2" ,sbcl-clunit2)))
9175 (inputs
9176 `(("alexandria" ,sbcl-alexandria)
9177 ("cl-ppcre" ,sbcl-cl-ppcre)))
9178 (synopsis "Color library for Common Lisp")
9179 (description
9180 "This is a very simple color library for Common Lisp, providing:
9181
9182 @itemize
9183 @item Types for representing colors in HSV and RGB spaces.
9184 @item Simple conversion functions between the above types (and also
9185 hexadecimal representation for RGB).
9186 @item Some predefined colors (currently X11 color names -- of course
9187 the library does not depend on X11).
9188 @end itemize\n")
9189 (home-page "https://notabug.org/cage/cl-colors2")
9190 (license license:boost1.0))))
9191
9192 (define-public cl-colors2
9193 (sbcl-package->cl-source-package sbcl-cl-colors2))
9194
9195 (define-public ecl-cl-colors2
9196 (sbcl-package->ecl-package sbcl-cl-colors2))
9197
9198 (define-public sbcl-cl-jpeg
9199 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
9200 (revision "1"))
9201 (package
9202 (name "sbcl-cl-jpeg")
9203 (version (git-version "2.8" revision commit))
9204 (source
9205 (origin
9206 (method git-fetch)
9207 (uri (git-reference
9208 (url "https://github.com/sharplispers/cl-jpeg")
9209 (commit commit)))
9210 (file-name (git-file-name name version))
9211 (sha256
9212 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
9213 (build-system asdf-build-system/sbcl)
9214 (synopsis "JPEG image library for Common Lisp")
9215 (description
9216 "This is a baseline JPEG codec written in Common Lisp. It can be used
9217 for reading and writing JPEG image files.")
9218 (home-page "https://github.com/sharplispers/cl-jpeg")
9219 (license license:bsd-3))))
9220
9221 (define-public cl-jpeg
9222 (sbcl-package->cl-source-package sbcl-cl-jpeg))
9223
9224 (define-public ecl-cl-jpeg
9225 (sbcl-package->ecl-package sbcl-cl-jpeg))
9226
9227 (define-public sbcl-nodgui
9228 (let ((commit "4a9c2e7714b278fbe97d198c56f54ea87290001d")
9229 (revision "1"))
9230 (package
9231 (name "sbcl-nodgui")
9232 (version (git-version "0.1.1" revision commit))
9233 (source
9234 (origin
9235 (method git-fetch)
9236 (uri (git-reference
9237 (url "https://notabug.org/cage/nodgui.git")
9238 (commit commit)))
9239 (file-name (git-file-name "nodgui" version))
9240 (sha256
9241 (base32 "1vgzzw459h32v2mi41cia6i940jqmvxlc8w3xj3516hbc2mqkaib"))))
9242 (build-system asdf-build-system/sbcl)
9243 (inputs
9244 `(("alexandria" ,sbcl-alexandria)
9245 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9246 ("cl-colors2" ,sbcl-cl-colors2)
9247 ("cl-jpeg" ,sbcl-cl-jpeg)
9248 ("cl-lex" ,sbcl-cl-lex)
9249 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
9250 ("cl-unicode" ,sbcl-cl-unicode)
9251 ("cl-yacc" ,sbcl-cl-yacc)
9252 ("clunit2" ,sbcl-clunit2)
9253 ("named-readtables" ,sbcl-named-readtables)
9254 ("parse-number" ,sbcl-parse-number)
9255 ("tk" ,tk)))
9256 (arguments
9257 `(#:phases (modify-phases %standard-phases
9258 (add-after 'unpack 'fix-paths
9259 (lambda* (#:key inputs #:allow-other-keys)
9260 (substitute* "src/wish-communication.lisp"
9261 (("#-freebsd \"wish\"")
9262 (string-append "#-freebsd \""
9263 (assoc-ref inputs "tk")
9264 "/bin/wish\"")))
9265 #t)))))
9266 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9267 (description
9268 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
9269 toolkit. It also provides a few additional widgets more than the standard Tk
9270 ones.")
9271 (home-page "https://www.autistici.org/interzona/nodgui.html")
9272 (license license:llgpl))))
9273
9274 (define-public cl-nodgui
9275 (sbcl-package->cl-source-package sbcl-nodgui))
9276
9277 (define-public ecl-nodgui
9278 (sbcl-package->ecl-package sbcl-nodgui))
9279
9280 (define-public sbcl-salza2
9281 (package
9282 (name "sbcl-salza2")
9283 (version "2.0.9")
9284 (source
9285 (origin
9286 (method git-fetch)
9287 (uri (git-reference
9288 (url "https://github.com/xach/salza2")
9289 (commit (string-append "release-" version))))
9290 (file-name (git-file-name name version))
9291 (sha256
9292 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
9293 (build-system asdf-build-system/sbcl)
9294 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
9295 (description
9296 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
9297 deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
9298 respectively.")
9299 (home-page "https://www.xach.com/lisp/salza2/")
9300 (license license:bsd-2)))
9301
9302 (define-public cl-salza2
9303 (sbcl-package->cl-source-package sbcl-salza2))
9304
9305 (define-public ecl-salza2
9306 (sbcl-package->ecl-package sbcl-salza2))
9307
9308 (define-public sbcl-origin
9309 (let ((commit "d646134302456408d6d43580bb05299f1695ab8e")
9310 (revision "1"))
9311 (package
9312 (name "sbcl-origin")
9313 (version (git-version "2.0.0" revision commit))
9314 (source
9315 (origin
9316 (method git-fetch)
9317 (uri (git-reference
9318 (url "https://git.mfiano.net/mfiano/origin")
9319 (commit commit)))
9320 (file-name (git-file-name "origin" version))
9321 (sha256
9322 (base32 "1n9aszaif3yh8prs5r8v51fbj4r5jd1a048mivd5yij3hplkm82b"))))
9323 (build-system asdf-build-system/sbcl)
9324 (native-inputs
9325 `(("parachute" ,sbcl-parachute)))
9326 (inputs
9327 `(("golden-utils" ,sbcl-golden-utils)
9328 ("specialization-store" ,sbcl-specialization-store)))
9329 (home-page "https://git.mfiano.net/mfiano/origin")
9330 (synopsis "Common Lisp graphics math library")
9331 (description
9332 "This is a native Common Lisp graphics math library with an emphasis on
9333 performance and correctness.")
9334 (license license:expat))))
9335
9336 (define-public ecl-origin
9337 (sbcl-package->ecl-package sbcl-origin))
9338
9339 (define-public cl-origin
9340 (sbcl-package->cl-source-package sbcl-origin))
9341
9342 (define-public sbcl-png-read
9343 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
9344 (revision "1"))
9345 (package
9346 (name "sbcl-png-read")
9347 (version (git-version "0.3.1" revision commit))
9348 (source
9349 (origin
9350 (method git-fetch)
9351 (uri (git-reference
9352 (url "https://github.com/Ramarren/png-read")
9353 (commit commit)))
9354 (file-name (git-file-name name version))
9355 (sha256
9356 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
9357 (build-system asdf-build-system/sbcl)
9358 (inputs
9359 `(("babel" ,sbcl-babel)
9360 ("chipz" ,sbcl-chipz)
9361 ("iterate" ,sbcl-iterate)))
9362 (synopsis "PNG decoder for Common Lisp")
9363 (description "This is a Common Lisp library for reading PNG images.")
9364 (home-page "https://github.com/Ramarren/png-read")
9365 (license license:bsd-3))))
9366
9367 (define-public cl-png-read
9368 (sbcl-package->cl-source-package sbcl-png-read))
9369
9370 (define-public ecl-png-read
9371 (sbcl-package->ecl-package sbcl-png-read))
9372
9373 (define-public sbcl-3b-bmfont
9374 (let ((commit "d1b5bec0de580c2d08ec947a93c56b1400f2a37a")
9375 (revision "1"))
9376 (package
9377 (name "sbcl-3b-bmfont")
9378 (version (git-version "0.0.1" revision commit))
9379 (source
9380 (origin
9381 (method git-fetch)
9382 (uri (git-reference
9383 (url "https://github.com/3b/3b-bmfont/")
9384 (commit commit)))
9385 (file-name (git-file-name "3b-bmfont" version))
9386 (sha256
9387 (base32 "12sgf7m0h6fqzhvkas7vmci6mprj3j3fnz778jlbqbsydln6v2yc"))))
9388 (build-system asdf-build-system/sbcl)
9389 (arguments
9390 `(#:asd-systems
9391 '("3b-bmfont"
9392 "3b-bmfont/text"
9393 "3b-bmfont/common"
9394 "3b-bmfont/xml"
9395 "3b-bmfont/json")))
9396 (inputs
9397 `(("alexandria" ,sbcl-alexandria)
9398 ("cxml" ,sbcl-cxml)
9399 ("flexi-streams" ,sbcl-flexi-streams)
9400 ("jsown" ,sbcl-jsown)
9401 ("split-sequence" ,sbcl-split-sequence)))
9402 (home-page "https://github.com/3b/3b-bmfont/")
9403 (synopsis "Read/write bmfont metadata files")
9404 (description
9405 "This is a Common Lisp library which provides functionality to
9406 read/write Bit Map Font (BMF) into text, JSON and XML.")
9407 (license license:expat))))
9408
9409 (define-public ecl-3b-bmfont
9410 (sbcl-package->ecl-package sbcl-3b-bmfont))
9411
9412 (define-public cl-3b-bmfont
9413 (sbcl-package->cl-source-package sbcl-3b-bmfont))
9414
9415 (define-public sbcl-zpng
9416 (package
9417 (name "sbcl-zpng")
9418 (version "1.2.2")
9419 (source
9420 (origin
9421 (method git-fetch)
9422 (uri (git-reference
9423 (url "https://github.com/xach/zpng")
9424 (commit (string-append "release-" version))))
9425 (file-name (git-file-name name version))
9426 (sha256
9427 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
9428 (build-system asdf-build-system/sbcl)
9429 (inputs
9430 `(("salza2" ,sbcl-salza2)))
9431 (synopsis "PNG encoder for Common Lisp")
9432 (description "This is a Common Lisp library for creating PNG images.")
9433 (home-page "https://www.xach.com/lisp/zpng/")
9434 (license license:bsd-2)))
9435
9436 (define-public cl-zpng
9437 (sbcl-package->cl-source-package sbcl-zpng))
9438
9439 (define-public ecl-zpng
9440 (sbcl-package->ecl-package sbcl-zpng))
9441
9442 (define-public sbcl-cl-qrencode
9443 (package
9444 (name "sbcl-cl-qrencode")
9445 (version "0.1.2")
9446 (source
9447 (origin
9448 (method git-fetch)
9449 (uri (git-reference
9450 (url "https://github.com/jnjcc/cl-qrencode")
9451 (commit (string-append "v" version))))
9452 (file-name (git-file-name name version))
9453 (sha256
9454 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
9455 (build-system asdf-build-system/sbcl)
9456 (native-inputs
9457 `(("lisp-unit" ,sbcl-lisp-unit)))
9458 (inputs
9459 `(("zpng" ,sbcl-zpng)))
9460 (synopsis "QR code encoder for Common Lisp")
9461 (description
9462 "This Common Lisp library provides function to make QR codes and to save
9463 them as PNG files.")
9464 (home-page "https://github.com/jnjcc/cl-qrencode")
9465 (license license:gpl2+)))
9466
9467 (define-public cl-qrencode
9468 (sbcl-package->cl-source-package sbcl-cl-qrencode))
9469
9470 (define-public ecl-cl-qrencode
9471 (sbcl-package->ecl-package sbcl-cl-qrencode))
9472
9473 (define-public sbcl-hdf5-cffi
9474 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
9475 (revision "1"))
9476 (package
9477 (name "sbcl-hdf5-cffi")
9478 (version (git-version "1.8.18" revision commit))
9479 (source
9480 (origin
9481 (method git-fetch)
9482 (uri (git-reference
9483 (url "https://github.com/hdfgroup/hdf5-cffi")
9484 (commit commit)))
9485 (file-name (git-file-name name version))
9486 (sha256
9487 (base32
9488 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
9489 (build-system asdf-build-system/sbcl)
9490 (synopsis "Common Lisp bindings for the HDF5 library")
9491 (description
9492 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
9493 (home-page "https://github.com/hdfgroup/hdf5-cffi")
9494 (license (license:non-copyleft
9495 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
9496 commit
9497 "/LICENSE")))
9498 (inputs
9499 `(("cffi" ,sbcl-cffi)
9500 ("hdf5" ,hdf5-1.10)))
9501 (native-inputs
9502 `(("fiveam" ,sbcl-fiveam)))
9503 (arguments
9504 `(#:test-asd-file "hdf5-cffi.test.asd"
9505 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
9506 ;; I don't know if there is a way to tell asdf-build-system to load
9507 ;; an additional system first, so tests are disabled.
9508 #:tests? #f
9509 #:phases
9510 (modify-phases %standard-phases
9511 (add-after 'unpack 'fix-paths
9512 (lambda* (#:key inputs #:allow-other-keys)
9513 (substitute* "src/library.lisp"
9514 (("libhdf5.so")
9515 (string-append
9516 (assoc-ref inputs "hdf5")
9517 "/lib/libhdf5.so")))))
9518 (add-after 'unpack 'fix-dependencies
9519 (lambda* (#:key inputs #:allow-other-keys)
9520 (substitute* "hdf5-cffi.asd"
9521 ((":depends-on \\(:cffi\\)")
9522 ":depends-on (:cffi :cffi-grovel)"))
9523 (substitute* "hdf5-cffi.test.asd"
9524 ((":depends-on \\(:cffi :hdf5-cffi")
9525 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
9526
9527 (define-public cl-hdf5-cffi
9528 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
9529
9530 (define-public ecl-hdf5-cffi
9531 (sbcl-package->ecl-package sbcl-hdf5-cffi))
9532
9533 (define-public sbcl-cl-randist
9534 (package
9535 (name "sbcl-cl-randist")
9536 (version "0.4.2")
9537 (source
9538 (origin
9539 (method git-fetch)
9540 (uri (git-reference
9541 (url "https://github.com/lvaruzza/cl-randist")
9542 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
9543 (file-name (git-file-name name version))
9544 (sha256
9545 (base32
9546 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
9547 (build-system asdf-build-system/sbcl)
9548 (synopsis "Random distributions for Common Lisp")
9549 (description
9550 "Manual translation from C to Common Lisp of some random number
9551 generation functions from the GSL library.")
9552 (home-page "https://github.com/lvaruzza/cl-randist")
9553 (license license:bsd-2)
9554 (arguments
9555 `(#:tests? #f))))
9556
9557 (define-public cl-randist
9558 (sbcl-package->cl-source-package sbcl-cl-randist))
9559
9560 (define-public ecl-cl-randist
9561 (sbcl-package->ecl-package sbcl-cl-randist))
9562
9563 (define-public sbcl-float-features
9564 (package
9565 (name "sbcl-float-features")
9566 (version "1.0.0")
9567 (source
9568 (origin
9569 (method git-fetch)
9570 (uri (git-reference
9571 (url "https://github.com/Shinmera/float-features")
9572 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
9573 (file-name (git-file-name name version))
9574 (sha256
9575 (base32
9576 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
9577 (build-system asdf-build-system/sbcl)
9578 (synopsis "Common Lisp IEEE float portability library")
9579 (description
9580 "Portability library for IEEE float features that are not
9581 covered by the Common Lisp standard.")
9582 (home-page "https://github.com/Shinmera/float-features")
9583 (license license:zlib)
9584 (inputs
9585 `(("documentation-utils" ,sbcl-documentation-utils)))
9586 (arguments
9587 `(#:tests? #f))))
9588
9589 (define-public cl-float-features
9590 (sbcl-package->cl-source-package sbcl-float-features))
9591
9592 (define-public ecl-float-features
9593 (sbcl-package->ecl-package sbcl-float-features))
9594
9595 (define-public sbcl-function-cache
9596 (package
9597 (name "sbcl-function-cache")
9598 (version "1.0.3")
9599 (source
9600 (origin
9601 (method git-fetch)
9602 (uri (git-reference
9603 (url "https://github.com/AccelerationNet/function-cache")
9604 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
9605 (file-name (git-file-name name version))
9606 (sha256
9607 (base32
9608 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
9609 (build-system asdf-build-system/sbcl)
9610 (synopsis "Function caching / memoization library for Common Lisp")
9611 (description
9612 "A common lisp library that provides extensible function result
9613 caching based on arguments (an expanded form of memoization).")
9614 (home-page "https://github.com/AccelerationNet/function-cache")
9615 (license
9616 (license:non-copyleft
9617 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
9618 (inputs
9619 `(("alexandria" ,sbcl-alexandria)
9620 ("cl-interpol" ,sbcl-cl-interpol)
9621 ("iterate" ,sbcl-iterate)
9622 ("symbol-munger" ,sbcl-symbol-munger)
9623 ("closer-mop" ,sbcl-closer-mop)))
9624 (arguments
9625 `(#:tests? #f))))
9626
9627 (define-public cl-function-cache
9628 (sbcl-package->cl-source-package sbcl-function-cache))
9629
9630 (define-public ecl-function-cache
9631 (sbcl-package->ecl-package sbcl-function-cache))
9632
9633 (define-public sbcl-type-r
9634 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
9635 (revision "1"))
9636 (package
9637 (name "sbcl-type-r")
9638 (version (git-version "0.0.0" revision commit))
9639 (source
9640 (origin
9641 (method git-fetch)
9642 (uri (git-reference
9643 (url "https://github.com/guicho271828/type-r")
9644 (commit commit)))
9645 (file-name (git-file-name name version))
9646 (sha256
9647 (base32
9648 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
9649 (build-system asdf-build-system/sbcl)
9650 (synopsis "Parser interface for Common Lisp built-in compound types")
9651 (description
9652 "Collections of accessor functions and patterns to access
9653 the elements in compound type specifier, e.g. @code{dimensions} in
9654 @code{(array element-type dimensions)}")
9655 (home-page "https://github.com/guicho271828/type-r")
9656 (license license:lgpl3+)
9657 (inputs
9658 `(("trivia" ,sbcl-trivia)
9659 ("alexandria" ,sbcl-alexandria)))
9660 (native-inputs
9661 `(("fiveam" ,sbcl-fiveam)))
9662 (arguments
9663 `(#:test-asd-file "type-r.test.asd")))))
9664
9665 (define-public cl-type-r
9666 (sbcl-package->cl-source-package sbcl-type-r))
9667
9668 (define-public ecl-type-r
9669 (sbcl-package->ecl-package sbcl-type-r))
9670
9671 (define-public sbcl-trivialib-type-unify
9672 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
9673 (revision "1"))
9674 (package
9675 (name "sbcl-trivialib-type-unify")
9676 (version (git-version "0.1" revision commit))
9677 (source
9678 (origin
9679 (method git-fetch)
9680 (uri (git-reference
9681 (url "https://github.com/guicho271828/trivialib.type-unify")
9682 (commit commit)))
9683 (file-name (git-file-name name version))
9684 (sha256
9685 (base32
9686 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
9687 (build-system asdf-build-system/sbcl)
9688 (synopsis "Common Lisp type unification")
9689 (description
9690 "Unifies a parametrized type specifier against an actual type specifier.
9691 Importantly, it handles complicated array-subtypes and number-related types
9692 correctly.")
9693 (home-page "https://github.com/guicho271828/trivialib.type-unify")
9694 (license license:lgpl3+)
9695 (inputs
9696 `(("alexandria" ,sbcl-alexandria)
9697 ("trivia" ,sbcl-trivia)
9698 ("introspect-environment" ,sbcl-introspect-environment)
9699 ("type-r" ,sbcl-type-r)))
9700 (native-inputs
9701 `(("fiveam" ,sbcl-fiveam)))
9702 (arguments
9703 `(#:asd-systems '("trivialib.type-unify")
9704 #:test-asd-file "trivialib.type-unify.test.asd")))))
9705
9706 (define-public cl-trivialib-type-unify
9707 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
9708
9709 (define-public ecl-trivialib-type-unify
9710 (sbcl-package->ecl-package sbcl-trivialib-type-unify))
9711
9712 (define-public sbcl-specialized-function
9713 (let ((commit "dee56d2d2b6ecd10500ad291c56217698604ec35")
9714 (revision "2"))
9715 (package
9716 (name "sbcl-specialized-function")
9717 (version (git-version "0.0.0" revision commit))
9718 (source
9719 (origin
9720 (method git-fetch)
9721 (uri (git-reference
9722 (url "https://github.com/numcl/specialized-function")
9723 (commit commit)))
9724 (file-name (git-file-name name version))
9725 (sha256
9726 (base32 "1mcc7mmpbnmgnr1cl2jl5r1ai54gn7fbisv2c14sh9za5w4sib82"))))
9727 (build-system asdf-build-system/sbcl)
9728 (synopsis "Julia-like dispatch for Common Lisp")
9729 (description
9730 "This library is part of NUMCL. It provides a macro
9731 @code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
9732 lazily compiling a type-specific version of the function from the same
9733 code. The main target of this macro is speed.")
9734 (home-page "https://github.com/numcl/specialized-function")
9735 (license license:lgpl3+)
9736 (inputs
9737 `(("trivia" ,sbcl-trivia)
9738 ("alexandria" ,sbcl-alexandria)
9739 ("iterate" ,sbcl-iterate)
9740 ("lisp-namespace" ,sbcl-lisp-namespace)
9741 ("type-r" ,sbcl-type-r)
9742 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
9743 (native-inputs
9744 `(("fiveam" ,sbcl-fiveam)))
9745 (arguments
9746 `(#:asd-files '("specialized-function.asd")
9747 #:test-asd-file "specialized-function.test.asd"
9748 ;; Tests fail because they try to use an internal symbol of SBCL
9749 ;; that does not exists in recent versions:
9750 ;; "The variable SB-VM:COMPLEX-VECTOR-NIL-WIDETAG is unbound."
9751 #:tests? #f)))))
9752
9753 (define-public cl-specialized-function
9754 (sbcl-package->cl-source-package sbcl-specialized-function))
9755
9756 (define-public ecl-specialized-function
9757 (sbcl-package->ecl-package sbcl-specialized-function))
9758
9759 (define-public sbcl-constantfold
9760 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
9761 (revision "1"))
9762 (package
9763 (name "sbcl-constantfold")
9764 (version (git-version "0.1" revision commit))
9765 (source
9766 (origin
9767 (method git-fetch)
9768 (uri (git-reference
9769 (url "https://github.com/numcl/constantfold")
9770 (commit commit)))
9771 (file-name (git-file-name name version))
9772 (sha256
9773 (base32
9774 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
9775 (build-system asdf-build-system/sbcl)
9776 (synopsis "Support library for numcl")
9777 (description
9778 "Support library for numcl. Registers a function as an
9779 additional form that is considered as a candidate for a constant.")
9780 (home-page "https://github.com/numcl/constantfold")
9781 (license license:lgpl3+)
9782 (inputs
9783 `(("trivia" ,sbcl-trivia)
9784 ("alexandria" ,sbcl-alexandria)
9785 ("iterate" ,sbcl-iterate)
9786 ("lisp-namespace" ,sbcl-lisp-namespace)))
9787 (native-inputs
9788 `(("fiveam" ,sbcl-fiveam)))
9789 (arguments
9790 `(#:asd-files '("constantfold.asd")
9791 #:test-asd-file "constantfold.test.asd")))))
9792
9793 (define-public cl-constantfold
9794 (sbcl-package->cl-source-package sbcl-constantfold))
9795
9796 (define-public ecl-constantfold
9797 (sbcl-package->ecl-package sbcl-constantfold))
9798
9799 (define-public sbcl-gtype
9800 (let ((commit "2442e32485635525af278ebd8fa69a27d5b8cf18")
9801 (revision "2"))
9802 (package
9803 (name "sbcl-gtype")
9804 (version (git-version "0.1" revision commit))
9805 (source
9806 (origin
9807 (method git-fetch)
9808 (uri (git-reference
9809 (url "https://github.com/numcl/gtype")
9810 (commit commit)))
9811 (file-name (git-file-name name version))
9812 (sha256
9813 (base32 "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h"))))
9814 (build-system asdf-build-system/sbcl)
9815 (synopsis "C++/Julia-like parametric types in Common Lisp")
9816 (description
9817 "Support library for numcl that provides Julia-like runtime parametric
9818 type correctness in Common Lisp. It is based on CLtL2 extensions.")
9819 (home-page "https://github.com/numcl/gtype")
9820 (license license:lgpl3+)
9821 (inputs
9822 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
9823 ("trivial-cltl2" ,sbcl-trivial-cltl2)
9824 ("trivia" ,sbcl-trivia)
9825 ("alexandria" ,sbcl-alexandria)
9826 ("iterate" ,sbcl-iterate)
9827 ("type-r" ,sbcl-type-r)))
9828 (native-inputs
9829 `(("fiveam" ,sbcl-fiveam)))
9830 (arguments
9831 `(#:asd-files '("gtype.asd")
9832 #:test-asd-file "gtype.test.asd")))))
9833
9834 (define-public cl-gtype
9835 (sbcl-package->cl-source-package sbcl-gtype))
9836
9837 (define-public ecl-gtype
9838 (let ((pkg (sbcl-package->ecl-package sbcl-gtype)))
9839 (package
9840 (inherit pkg)
9841 (arguments
9842 (substitute-keyword-arguments (package-arguments pkg)
9843 ;; The tests fail on ECL with a COMPILE-FILE-ERROR for t/package.lisp.
9844 ((#:tests? _ #f) #f))))))
9845
9846 (define-public sbcl-numcl
9847 (let ((commit "d19f36356be900c600ef08560c9e1af441a166cb")
9848 (revision "1"))
9849 (package
9850 (name "sbcl-numcl")
9851 (version (git-version "0.2.0" revision commit))
9852 (source
9853 (origin
9854 (method git-fetch)
9855 (uri (git-reference
9856 (url "https://github.com/numcl/numcl")
9857 (commit commit)))
9858 (file-name (git-file-name "numcl" version))
9859 (sha256
9860 (base32 "0q4ylfr7hl0gz2ynr0c15h09dmnli2x6ndnm5wr58wfplf1wfj31"))))
9861 (build-system asdf-build-system/sbcl)
9862 (arguments
9863 `(#:test-asd-file "numcl.test.asd"
9864 #:asd-files '("numcl.asd")))
9865 (native-inputs
9866 `(("fiveam" ,sbcl-fiveam)))
9867 (inputs
9868 `(("alexandria" ,sbcl-alexandria)
9869 ("cl-randist" ,sbcl-cl-randist)
9870 ("constantfold" ,sbcl-constantfold)
9871 ("float-features" ,sbcl-float-features)
9872 ("function-cache" ,sbcl-function-cache)
9873 ("gtype" ,sbcl-gtype)
9874 ("iterate" ,sbcl-iterate)
9875 ("lisp-namespace" ,sbcl-lisp-namespace)
9876 ("specialized-function" ,sbcl-specialized-function)
9877 ("trivia" ,sbcl-trivia)
9878 ("type-r" ,sbcl-type-r)))
9879 (home-page "https://numcl.github.io/numcl/")
9880 (synopsis "Numpy clone in Common Lisp")
9881 (description
9882 "This package is a Python Numpy clone implemented in pure Common Lisp.")
9883 (license license:lgpl3+))))
9884
9885 (define-public cl-numcl
9886 (sbcl-package->cl-source-package sbcl-numcl))
9887
9888 (define-public ecl-numcl
9889 (sbcl-package->ecl-package sbcl-numcl))
9890
9891 (define-public sbcl-pzmq
9892 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
9893 (revision "1"))
9894 (package
9895 (name "sbcl-pzmq")
9896 (version (git-version "0.0.0" revision commit))
9897 (source
9898 (origin
9899 (method git-fetch)
9900 (uri (git-reference
9901 (url "https://github.com/orivej/pzmq")
9902 (commit commit)))
9903 (file-name (git-file-name name version))
9904 (sha256
9905 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
9906 (build-system asdf-build-system/sbcl)
9907 (native-inputs
9908 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9909 ("fiveam" ,sbcl-fiveam)
9910 ("let-plus" ,sbcl-let-plus)))
9911 (inputs
9912 `(("cffi" ,sbcl-cffi)
9913 ("zeromq" ,zeromq)))
9914 (arguments
9915 `(#:phases (modify-phases %standard-phases
9916 (add-after 'unpack 'fix-paths
9917 (lambda* (#:key inputs #:allow-other-keys)
9918 (substitute* "c-api.lisp"
9919 (("\"libzmq")
9920 (string-append "\""
9921 (assoc-ref inputs "zeromq")
9922 "/lib/libzmq")))
9923 #t)))))
9924 (synopsis "Common Lisp bindings for the ZeroMQ library")
9925 (description "This Common Lisp library provides bindings for the ZeroMQ
9926 lightweight messaging kernel.")
9927 (home-page "https://github.com/orivej/pzmq")
9928 (license license:unlicense))))
9929
9930 (define-public cl-pzmq
9931 (sbcl-package->cl-source-package sbcl-pzmq))
9932
9933 (define-public ecl-pzmq
9934 (sbcl-package->ecl-package sbcl-pzmq))
9935
9936 (define-public sbcl-clss
9937 (let ((revision "1")
9938 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
9939 (package
9940 (name "sbcl-clss")
9941 (version (git-version "0.3.1" revision commit))
9942 (source
9943 (origin
9944 (method git-fetch)
9945 (uri
9946 (git-reference
9947 (url "https://github.com/Shinmera/clss")
9948 (commit commit)))
9949 (sha256
9950 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
9951 (file-name (git-file-name name version))))
9952 (inputs
9953 `(("array-utils" ,sbcl-array-utils)
9954 ("plump" ,sbcl-plump)))
9955 (build-system asdf-build-system/sbcl)
9956 (synopsis "DOM tree searching engine based on CSS selectors")
9957 (description "CLSS is a DOM traversal engine based on CSS
9958 selectors. It makes use of the Plump-DOM and is used by lQuery.")
9959 (home-page "https://github.com/Shinmera/clss")
9960 (license license:zlib))))
9961
9962 (define-public cl-clss
9963 (sbcl-package->cl-source-package sbcl-clss))
9964
9965 (define-public ecl-clss
9966 (sbcl-package->ecl-package sbcl-clss))
9967
9968 (define-public sbcl-lquery
9969 (let ((revision "1")
9970 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
9971 (package
9972 (name "sbcl-lquery")
9973 (version (git-version "3.2.1" revision commit))
9974 (source
9975 (origin
9976 (method git-fetch)
9977 (uri
9978 (git-reference
9979 (url "https://github.com/Shinmera/lquery")
9980 (commit commit)))
9981 (sha256
9982 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
9983 (file-name (git-file-name name version))))
9984 (native-inputs
9985 `(("fiveam" ,sbcl-fiveam)))
9986 (inputs
9987 `(("array-utils" ,sbcl-array-utils)
9988 ("form-fiddle" ,sbcl-form-fiddle)
9989 ("plump" ,sbcl-plump)
9990 ("clss" ,sbcl-clss)))
9991 (build-system asdf-build-system/sbcl)
9992 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
9993 (description "@code{lQuery} is a DOM manipulation library written in
9994 Common Lisp, inspired by and based on the jQuery syntax and
9995 functions. It uses Plump and CLSS as DOM and selector engines. The
9996 main idea behind lQuery is to provide a simple interface for crawling
9997 and modifying HTML sites, as well as to allow for an alternative
9998 approach to templating.")
9999 (home-page "https://github.com/Shinmera/lquery")
10000 (license license:zlib))))
10001
10002 (define-public cl-lquery
10003 (sbcl-package->cl-source-package sbcl-lquery))
10004
10005 (define-public ecl-lquery
10006 (sbcl-package->ecl-package sbcl-lquery))
10007
10008 (define-public sbcl-cl-mysql
10009 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
10010 (revision "1"))
10011 (package
10012 (name "sbcl-cl-mysql")
10013 (version (git-version "0.1" revision commit))
10014 (source
10015 (origin
10016 (method git-fetch)
10017 (uri (git-reference
10018 (url "https://github.com/hackinghat/cl-mysql")
10019 (commit commit)))
10020 (file-name (git-file-name name version))
10021 (sha256
10022 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
10023 (build-system asdf-build-system/sbcl)
10024 (native-inputs
10025 `(("stefil" ,sbcl-stefil)))
10026 (inputs
10027 `(("cffi" ,sbcl-cffi)
10028 ("mariadb-lib" ,mariadb "lib")))
10029 (arguments
10030 `(#:tests? #f ; TODO: Tests require a running server
10031 #:phases
10032 (modify-phases %standard-phases
10033 (add-after 'unpack 'fix-paths
10034 (lambda* (#:key inputs #:allow-other-keys)
10035 (substitute* "system.lisp"
10036 (("libmysqlclient_r" all)
10037 (string-append (assoc-ref inputs "mariadb-lib")
10038 "/lib/"
10039 all)))
10040 #t)))))
10041 (synopsis "Common Lisp wrapper for MySQL")
10042 (description
10043 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
10044 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
10045 (license license:expat))))
10046
10047 (define-public cl-mysql
10048 (sbcl-package->cl-source-package sbcl-cl-mysql))
10049
10050 (define-public ecl-cl-mysql
10051 (sbcl-package->ecl-package sbcl-cl-mysql))
10052
10053 (define-public sbcl-postmodern
10054 (package
10055 (name "sbcl-postmodern")
10056 (version "1.32.9")
10057 (source
10058 (origin
10059 (method git-fetch)
10060 (uri (git-reference
10061 (url "https://github.com/marijnh/Postmodern")
10062 (commit (string-append "v" version))))
10063 (file-name (git-file-name name version))
10064 (sha256
10065 (base32 "137jci4hn4vlxf48y39k0di27kc89kvxy3brmn3vl9xq56sy6mhz"))))
10066 (build-system asdf-build-system/sbcl)
10067 (native-inputs
10068 `(("fiveam" ,sbcl-fiveam)))
10069 (inputs
10070 `(("alexandria" ,sbcl-alexandria)
10071 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10072 ("cl-base64" ,sbcl-cl-base64)
10073 ("cl-unicode" ,sbcl-cl-unicode)
10074 ("closer-mop" ,sbcl-closer-mop)
10075 ("global-vars" ,sbcl-global-vars)
10076 ("ironclad" ,sbcl-ironclad)
10077 ("local-time" ,sbcl-local-time)
10078 ("md5" ,sbcl-md5)
10079 ("split-sequence" ,sbcl-split-sequence)
10080 ("uax-15" ,sbcl-uax-15)
10081 ("usocket" ,sbcl-usocket)))
10082 (arguments
10083 ;; TODO: (Sharlatan-20210114T171037+0000) tests still failing but on other
10084 ;; step, some functionality in `local-time' prevents passing tests.
10085 ;; Error:
10086 ;;
10087 ;; Can't create directory
10088 ;; /gnu/store
10089 ;; /4f47agf1kyiz057ppy6x5p98i7mcbfsv-sbcl-local-time-1.0.6-2.a177eb9
10090 ;; /lib/common-lisp/sbcl/local-time/src/integration/
10091 ;;
10092 ;; NOTE: (Sharlatan-20210124T191940+0000): When set env HOME to /tmp above
10093 ;; issue is resolved but it required live test database to connect to now.
10094 ;; Keep tests switched off.
10095 `(#:tests? #f
10096 #:asd-systems '("cl-postgres"
10097 "s-sql"
10098 "postmodern"
10099 "simple-date"
10100 "simple-date/postgres-glue")))
10101 (synopsis "Common Lisp library for interacting with PostgreSQL")
10102 (description
10103 "@code{postmodern} is a Common Lisp library for interacting with
10104 PostgreSQL databases. It provides the following features:
10105
10106 @itemize
10107 @item Efficient communication with the database server without need for
10108 foreign libraries.
10109 @item Support for UTF-8 on Unicode-aware Lisp implementations.
10110 @item A syntax for mixing SQL and Lisp code.
10111 @item Convenient support for prepared statements and stored procedures.
10112 @item A metaclass for simple database-access objects.
10113 @end itemize\n
10114
10115 This package produces 4 systems: postmodern, cl-postgres, s-sql, simple-date
10116
10117 @code{SIMPLE-DATE} is a very basic implementation of date and time objects, used
10118 to support storing and retrieving time-related SQL types. It is not loaded by
10119 default and you can use local-time (which has support for timezones) instead.
10120
10121 @code{S-SQL} is used to compile s-expressions to strings of SQL code, escaping
10122 any Lisp values inside, and doing as much as possible of the work at compile
10123 time.
10124
10125 @code{CL-POSTGRES} is the low-level library used for interfacing with a PostgreSQL
10126 server over a socket.
10127
10128 @code{POSTMODERN} itself is a wrapper around these packages and provides higher
10129 level functions, a very simple data access object that can be mapped directly to
10130 database tables and some convient utilities. It then tries to put all these
10131 things together into a convenient programming interface")
10132 (home-page "https://marijnhaverbeke.nl/postmodern/")
10133 (license license:zlib)))
10134
10135 (define-public cl-postmodern
10136 (sbcl-package->cl-source-package sbcl-postmodern))
10137
10138 (define-public ecl-postmodern
10139 (package
10140 (inherit (sbcl-package->ecl-package sbcl-postmodern))
10141 (arguments
10142 `(#:tests? #f
10143 #:asd-systems '("cl-postgres"
10144 "s-sql"
10145 "postmodern"
10146 "simple-date"
10147 "simple-date/postgres-glue")
10148 #:phases
10149 (modify-phases %standard-phases
10150 (add-after 'unpack 'fix-build
10151 (lambda _
10152 (substitute* "cl-postgres.asd"
10153 ((":or :sbcl :allegro :ccl :clisp" all)
10154 (string-append all " :ecl")))
10155 #t)))))))
10156
10157 (define-public sbcl-db3
10158 (let ((commit "38e5ad35f025769fb7f8dcdc6e56df3e8efd8e6d")
10159 (revision "1"))
10160 (package
10161 (name "sbcl-db3")
10162 (version (git-version "0.0.0" revision commit))
10163 (source
10164 (origin
10165 (method git-fetch)
10166 (uri (git-reference
10167 (url "https://github.com/dimitri/cl-db3")
10168 (commit commit)))
10169 (file-name (git-file-name "cl-db3" version))
10170 (sha256
10171 (base32 "1i7j0mlri6kbklcx1lsm464s8kmyhhij5c4xh4aybrw8m4ixn1s5"))))
10172 (build-system asdf-build-system/sbcl)
10173 (home-page "https://github.com/dimitri/cl-db3")
10174 (synopsis "Common Lisp library to read dBase III database files")
10175 (description
10176 "This is a Common Lisp library for processing data found in dBase III
10177 database files (dbf and db3 files).")
10178 (license license:public-domain))))
10179
10180 (define-public ecl-db3
10181 (sbcl-package->ecl-package sbcl-db3))
10182
10183 (define-public cl-db3
10184 (sbcl-package->cl-source-package sbcl-db3))
10185
10186 (define-public sbcl-dbi
10187 ;; Master includes a breaking change which other packages depend on since
10188 ;; Quicklisp decided to follow it:
10189 ;; https://github.com/fukamachi/cl-dbi/commit/31c46869722f77fd5292a81b5b101f1347d7fce1
10190 (let ((commit "31c46869722f77fd5292a81b5b101f1347d7fce1"))
10191 (package
10192 (name "sbcl-dbi")
10193 (version (git-version "0.9.4" "1" commit))
10194 (source
10195 (origin
10196 (method git-fetch)
10197 (uri (git-reference
10198 (url "https://github.com/fukamachi/cl-dbi")
10199 (commit commit)))
10200 (file-name (git-file-name name version))
10201 (sha256
10202 (base32 "0r3n4rw12qqxad0cryym2ibm4ddl49gbq4ra227afibsr43nw5k3"))))
10203 (build-system asdf-build-system/sbcl)
10204 (native-inputs
10205 `(("rove" ,sbcl-rove)
10206 ("trivial-types" ,sbcl-trivial-types)))
10207 (inputs
10208 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10209 ("cl-mysql" ,sbcl-cl-mysql)
10210 ("cl-sqlite" ,sbcl-cl-sqlite)
10211 ("closer-mop" ,sbcl-closer-mop)
10212 ("postmodern" ,sbcl-postmodern)
10213 ("split-sequence" ,sbcl-split-sequence)
10214 ("trivial-garbage" ,sbcl-trivial-garbage)))
10215 (arguments
10216 `(#:asd-systems '("dbi"
10217 "dbd-mysql"
10218 "dbd-postgres"
10219 "dbd-sqlite3")))
10220 (synopsis "Database independent interface for Common Lisp")
10221 (description
10222 "@code{dbi} is a Common Lisp library providing a database independent
10223 interface for MySQL, PostgreSQL and SQLite.")
10224 (home-page "https://github.com/fukamachi/cl-dbi")
10225 (license license:llgpl))))
10226
10227 (define-public cl-dbi
10228 (sbcl-package->cl-source-package sbcl-dbi))
10229
10230 (define-public ecl-dbi
10231 (sbcl-package->ecl-package sbcl-dbi))
10232
10233 (define-public sbcl-uffi
10234 (package
10235 (name "sbcl-uffi")
10236 (version "2.1.2")
10237 (source
10238 (origin
10239 (method git-fetch)
10240 (uri (git-reference
10241 (url "http://git.kpe.io/uffi.git")
10242 (commit (string-append "v" version))))
10243 (file-name (git-file-name name version))
10244 (sha256
10245 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
10246 (build-system asdf-build-system/sbcl)
10247 (arguments
10248 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
10249 #:asd-files '("uffi.asd")
10250 #:phases
10251 (modify-phases %standard-phases
10252 (add-after 'unpack 'fix-permissions
10253 (lambda _
10254 (make-file-writable "doc/html.tar.gz")
10255 #t)))))
10256 (synopsis "Universal foreign function library for Common Lisp")
10257 (description
10258 "UFFI provides a universal foreign function interface (FFI)
10259 for Common Lisp.")
10260 (home-page "http://quickdocs.org/uffi/")
10261 (license license:llgpl)))
10262
10263 (define-public cl-uffi
10264 (package
10265 (inherit (sbcl-package->cl-source-package sbcl-uffi))
10266 (arguments
10267 `(#:phases
10268 ;; asdf-build-system/source has its own phases and does not inherit
10269 ;; from asdf-build-system/sbcl phases.
10270 (modify-phases %standard-phases/source
10271 ;; Already done in SBCL package.
10272 (delete 'reset-gzip-timestamps))))))
10273
10274 (define-public sbcl-clsql
10275 (package
10276 (name "sbcl-clsql")
10277 (version "6.7.0")
10278 (source
10279 (origin
10280 (method git-fetch)
10281 (uri (git-reference
10282 (url "http://git.kpe.io/clsql.git")
10283 (commit (string-append "v" version))))
10284 (file-name (git-file-name name version))
10285 (sha256
10286 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
10287 (snippet
10288 '(begin
10289 ;; Remove precompiled libraries.
10290 (delete-file "db-mysql/clsql_mysql.dll")
10291 (delete-file "uffi/clsql_uffi.dll")
10292 (delete-file "uffi/clsql_uffi.lib")
10293 #t))))
10294 (build-system asdf-build-system/sbcl)
10295 (native-inputs
10296 `(("rt" ,sbcl-rt)))
10297 (inputs
10298 `(("cffi" ,sbcl-cffi)
10299 ("md5" ,sbcl-md5)
10300 ("mysql" ,mysql)
10301 ("postgresql" ,postgresql)
10302 ("postmodern" ,sbcl-postmodern)
10303 ("sqlite" ,sqlite)
10304 ("uffi" ,sbcl-uffi)
10305 ("zlib" ,zlib)))
10306 (arguments
10307 `(#:asd-files '("clsql.asd"
10308 "clsql-uffi.asd"
10309 "clsql-sqlite3.asd"
10310 "clsql-postgresql.asd"
10311 "clsql-postgresql-socket3.asd"
10312 "clsql-mysql.asd")
10313 #:asd-systems '("clsql"
10314 "clsql-sqlite3"
10315 "clsql-postgresql"
10316 "clsql-postgresql-socket3"
10317 "clsql-mysql")
10318 #:phases
10319 (modify-phases %standard-phases
10320 (add-after 'unpack 'fix-permissions
10321 (lambda _
10322 (make-file-writable "doc/html.tar.gz")
10323 #t))
10324 (add-after 'unpack 'fix-build
10325 (lambda _
10326 (substitute* "clsql-uffi.asd"
10327 (("\\(:version uffi \"2.0\"\\)")
10328 "uffi"))
10329 (substitute* "db-postgresql/postgresql-api.lisp"
10330 (("\\(data :cstring\\)")
10331 "(data :string)"))
10332 #t))
10333 (add-after 'unpack 'fix-paths
10334 (lambda* (#:key inputs outputs #:allow-other-keys)
10335 (substitute* "db-sqlite3/sqlite3-loader.lisp"
10336 (("libsqlite3")
10337 (string-append (assoc-ref inputs "sqlite")
10338 "/lib/libsqlite3")))
10339 (substitute* "db-postgresql/postgresql-loader.lisp"
10340 (("libpq")
10341 (string-append (assoc-ref inputs "postgresql")
10342 "/lib/libpq")))
10343 (let ((lib (string-append "#p\""
10344 (assoc-ref outputs "out")
10345 "/lib/\"")))
10346 (substitute* "clsql-mysql.asd"
10347 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
10348 lib))
10349 (substitute* "db-mysql/mysql-loader.lisp"
10350 (("libmysqlclient" all)
10351 (string-append (assoc-ref inputs "mysql") "/lib/" all))
10352 (("clsql-mysql-system::\\*library-file-dir\\*")
10353 lib)))
10354 #t))
10355 (add-before 'build 'build-helper-library
10356 (lambda* (#:key inputs outputs #:allow-other-keys)
10357 (let* ((mysql (assoc-ref inputs "mysql"))
10358 (inc-dir (string-append mysql "/include/mysql"))
10359 (lib-dir (string-append mysql "/lib"))
10360 (shared-lib-dir (string-append (assoc-ref outputs "out")
10361 "/lib"))
10362 (shared-lib (string-append shared-lib-dir
10363 "/clsql_mysql.so")))
10364 (mkdir-p shared-lib-dir)
10365 (invoke "gcc" "-fPIC" "-shared"
10366 "-I" inc-dir
10367 "db-mysql/clsql_mysql.c"
10368 "-Wl,-soname=clsql_mysql"
10369 "-L" lib-dir "-lmysqlclient" "-lz"
10370 "-o" shared-lib)
10371 #t)))
10372 (add-after 'unpack 'fix-tests
10373 (lambda _
10374 (substitute* "clsql.asd"
10375 (("clsql-tests :force t")
10376 "clsql-tests"))
10377 #t)))))
10378 (synopsis "Common Lisp SQL Interface library")
10379 (description
10380 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
10381 Xanalys CommonSQL interface for Lispworks. It provides low-level database
10382 interfaces as well as a functional and an object oriented interface.")
10383 (home-page "http://clsql.kpe.io/")
10384 (license license:llgpl)))
10385
10386 (define-public cl-clsql
10387 (package
10388 (inherit (sbcl-package->cl-source-package sbcl-clsql))
10389 (native-inputs
10390 `(("rt" ,cl-rt)))
10391 (inputs
10392 `(("mysql" ,mysql)
10393 ("postgresql" ,postgresql)
10394 ("sqlite" ,sqlite)
10395 ("zlib" ,zlib)))
10396 (propagated-inputs
10397 `(("cffi" ,cl-cffi)
10398 ("md5" ,cl-md5)
10399 ("postmodern" ,cl-postmodern)
10400 ("uffi" ,cl-uffi)))
10401 (arguments
10402 `(#:phases
10403 ;; asdf-build-system/source has its own phases and does not inherit
10404 ;; from asdf-build-system/sbcl phases.
10405 (modify-phases %standard-phases/source
10406 (add-after 'unpack 'fix-permissions
10407 (lambda _
10408 (make-file-writable "doc/html.tar.gz")
10409 #t)))))))
10410
10411 (define-public ecl-clsql
10412 (let ((pkg (sbcl-package->ecl-package sbcl-clsql)))
10413 (package
10414 (inherit pkg)
10415 (inputs
10416 (alist-delete "uffi" (package-inputs pkg)))
10417 (arguments
10418 (substitute-keyword-arguments (package-arguments pkg)
10419 ((#:asd-files asd-files '())
10420 `(cons "clsql-cffi.asd" ,asd-files)))))))
10421
10422 (define-public sbcl-sycamore
10423 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
10424 (package
10425 (name "sbcl-sycamore")
10426 (version "0.0.20120604")
10427 (source
10428 (origin
10429 (method git-fetch)
10430 (uri (git-reference
10431 (url "https://github.com/ndantam/sycamore/")
10432 (commit commit)))
10433 (file-name (git-file-name name version))
10434 (sha256
10435 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
10436 (build-system asdf-build-system/sbcl)
10437 (inputs
10438 `(("alexandria" ,sbcl-alexandria)
10439 ("cl-ppcre" ,sbcl-cl-ppcre)))
10440 (synopsis "Purely functional data structure library in Common Lisp")
10441 (description
10442 "Sycamore is a fast, purely functional data structure library in Common Lisp.
10443 If features:
10444
10445 @itemize
10446 @item Fast, purely functional weight-balanced binary trees.
10447 @item Leaf nodes are simple-vectors, greatly reducing tree height.
10448 @item Interfaces for tree Sets and Maps (dictionaries).
10449 @item Ropes.
10450 @item Purely functional pairing heaps.
10451 @item Purely functional amortized queue.
10452 @end itemize\n")
10453 (home-page "http://ndantam.github.io/sycamore/")
10454 (license license:bsd-3))))
10455
10456 (define-public cl-sycamore
10457 (sbcl-package->cl-source-package sbcl-sycamore))
10458
10459 (define-public ecl-sycamore
10460 (sbcl-package->ecl-package sbcl-sycamore))
10461
10462 (define-public sbcl-trivial-package-local-nicknames
10463 (package
10464 (name "sbcl-trivial-package-local-nicknames")
10465 (version "0.2")
10466 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
10467 (source
10468 (origin
10469 (method git-fetch)
10470 (uri (git-reference
10471 (url home-page)
10472 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
10473 (file-name (git-file-name name version))
10474 (sha256
10475 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
10476 (build-system asdf-build-system/sbcl)
10477 (synopsis "Common Lisp compatibility library for package local nicknames")
10478 (description
10479 "This library is a portable compatibility layer around package local nicknames (PLN).
10480 This was done so there is a portability library for the PLN API not included
10481 in DEFPACKAGE.")
10482 (license license:unlicense)))
10483
10484 (define-public cl-trivial-package-local-nicknames
10485 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
10486
10487 (define-public ecl-trivial-package-local-nicknames
10488 (sbcl-package->ecl-package sbcl-trivial-package-local-nicknames))
10489
10490 (define-public sbcl-enchant
10491 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
10492 (package
10493 (name "sbcl-enchant")
10494 (version (git-version "0.0.0" "1" commit))
10495 (home-page "https://github.com/tlikonen/cl-enchant")
10496 (source
10497 (origin
10498 (method git-fetch)
10499 (uri (git-reference
10500 (url home-page)
10501 (commit commit)))
10502 (file-name (git-file-name name version))
10503 (sha256
10504 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
10505 (build-system asdf-build-system/sbcl)
10506 (inputs
10507 `(("enchant" ,enchant)
10508 ("cffi" ,sbcl-cffi)))
10509 (arguments
10510 `(#:phases
10511 (modify-phases %standard-phases
10512 (add-after 'unpack 'fix-paths
10513 (lambda* (#:key inputs #:allow-other-keys)
10514 (substitute* "load-enchant.lisp"
10515 (("libenchant")
10516 (string-append
10517 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
10518 (synopsis "Common Lisp interface for the Enchant spell-checker library")
10519 (description
10520 "Enchant is a Common Lisp interface for the Enchant spell-checker
10521 library. The Enchant library is a generic spell-checker library which uses
10522 other spell-checkers transparently as back-end. The library supports the
10523 multiple checkers, including Aspell and Hunspell.")
10524 (license license:public-domain))))
10525
10526 (define-public cl-enchant
10527 (sbcl-package->cl-source-package sbcl-enchant))
10528
10529 (define-public ecl-enchant
10530 (sbcl-package->ecl-package sbcl-enchant))
10531
10532 (define-public sbcl-cl-change-case
10533 (let ((commit "45c70b601125889689e0c1c37d7e727a3a0af022")
10534 (revision "1"))
10535 (package
10536 (name "sbcl-cl-change-case")
10537 (version (git-version "0.2.0" revision commit))
10538 (home-page "https://github.com/rudolfochrist/cl-change-case")
10539 (source
10540 (origin
10541 (method git-fetch)
10542 (uri (git-reference
10543 (url home-page)
10544 (commit commit)))
10545 (file-name (git-file-name "cl-change-case" version))
10546 (sha256
10547 (base32 "0qmk341zzcsbf8sq0w9ix3r080zg4ri6vzxym63lhdjfzwz3y8if"))))
10548 (build-system asdf-build-system/sbcl)
10549 (inputs
10550 `(("cl-ppcre" ,sbcl-cl-ppcre)
10551 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
10552 (native-inputs
10553 `(("fiveam" ,sbcl-fiveam)))
10554 (synopsis
10555 "Convert Common Lisp strings between camelCase, PascalCase and more")
10556 (description
10557 "@code{cl-change-case} is a library to convert strings between
10558 camelCase, PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
10559 (license license:llgpl))))
10560
10561 (define-public cl-change-case
10562 (sbcl-package->cl-source-package sbcl-cl-change-case))
10563
10564 (define-public ecl-cl-change-case
10565 (sbcl-package->ecl-package sbcl-cl-change-case))
10566
10567 (define-public sbcl-modularize
10568 (let ((commit "86c5d9a11fbd2df9f0f03ac10b5d71837c8934ba")
10569 (revision "1"))
10570 (package
10571 (name "sbcl-modularize")
10572 (version (git-version "1.0.0" revision commit))
10573 (source
10574 (origin
10575 (method git-fetch)
10576 (uri (git-reference
10577 (url "https://github.com/Shinmera/modularize")
10578 (commit commit)))
10579 (file-name (git-file-name name version))
10580 (sha256
10581 (base32 "1zys29rfkb649rkgl3snxhajk8d5yf7ryxkrwy020kwdh7zdsg7d"))))
10582 (build-system asdf-build-system/sbcl)
10583 (arguments
10584 `(#:test-asd-file "modularize-test-module.asd"
10585 #:asd-files '("modularize.asd" "modularize-test-module.asd")
10586 #:asd-systems '("modularize" "modularize-test-module")))
10587 (inputs
10588 `(("documentation-utils" ,sbcl-documentation-utils)
10589 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)))
10590 (home-page "https://shinmera.github.io/modularize/")
10591 (synopsis "Common Lisp modularization framework")
10592 (description
10593 "@code{MODULARIZE} is an attempt at providing a common interface to
10594 segregate major application components. This is achieved by adding special
10595 treatment to packages. Each module is a package that is specially registered,
10596 which allows it to interact and co-exist with other modules in better ways. For
10597 instance, by adding module definition options you can introduce mechanisms to
10598 tie modules together in functionality, hook into each other and so on.")
10599 (license license:zlib))))
10600
10601 (define-public ecl-modularize
10602 (sbcl-package->ecl-package sbcl-modularize))
10603
10604 (define-public cl-modularize
10605 (sbcl-package->cl-source-package sbcl-modularize))
10606
10607 (define-public sbcl-modularize-hooks
10608 (let ((commit "e0348ed3ffd59a9ec31ca4ab28289e748bfbf96a")
10609 (revision "1"))
10610 (package
10611 (name "sbcl-modularize-hooks")
10612 (version (git-version "1.0.2" revision commit))
10613 (source
10614 (origin
10615 (method git-fetch)
10616 (uri (git-reference
10617 (url "https://github.com/Shinmera/modularize-hooks")
10618 (commit commit)))
10619 (file-name (git-file-name "modularize-hooks" version))
10620 (sha256
10621 (base32 "12kjvin8hxidwkzfb7inqv5b6g5qzcssnj9wc497v2ixc56fqdz7"))))
10622 (build-system asdf-build-system/sbcl)
10623 (inputs
10624 `(("closer-mop" ,sbcl-closer-mop)
10625 ("lambda-fiddle" ,sbcl-lambda-fiddle)
10626 ("modularize" ,sbcl-modularize)
10627 ("trivial-arguments" ,sbcl-trivial-arguments)))
10628 (home-page "https://shinmera.github.io/modularize-hooks/")
10629 (synopsis "Generic hooks and triggers extension for Modularize")
10630 (description
10631 "This is a simple extension to @code{MODULARIZE} that allows modules to
10632 define and trigger hooks, which other modules can hook on to.")
10633 (license license:zlib))))
10634
10635 (define-public ecl-modularize-hooks
10636 (sbcl-package->ecl-package sbcl-modularize-hooks))
10637
10638 (define-public cl-modularize-hooks
10639 (sbcl-package->cl-source-package sbcl-modularize-hooks))
10640
10641 (define-public sbcl-modularize-interfaces
10642 (let ((commit "96353657afb8c7aeba7ef5b51eb04c5ed3bcb6ef")
10643 (revision "1"))
10644 (package
10645 (name "sbcl-modularize-interfaces")
10646 (version (git-version "0.9.3" revision commit))
10647 (source
10648 (origin
10649 (method git-fetch)
10650 (uri (git-reference
10651 (url "https://github.com/Shinmera/modularize-interfaces")
10652 (commit commit)))
10653 (file-name (git-file-name "modularize-interfaces" version))
10654 (sha256
10655 (base32 "0bjf4wy39cwf75m7vh0r7mmcchs09yz2lrbyap98hnq8blq70fhc"))))
10656 (build-system asdf-build-system/sbcl)
10657 (inputs
10658 `(("lambda-fiddle" ,sbcl-lambda-fiddle)
10659 ("modularize" ,sbcl-modularize)
10660 ("trivial-arguments" ,sbcl-trivial-arguments)
10661 ("trivial-indent" ,sbcl-trivial-indent)))
10662 (home-page "https://shinmera.github.io/modularize-interfaces/")
10663 (synopsis "Programmatical interfaces extension for Modularize")
10664 (description
10665 "This is an extension to @code{MODULARIZE} that allows your application
10666 to define interfaces in-code that serve both as a primary documentation and as
10667 compliance control.")
10668 (license license:zlib))))
10669
10670 (define-public ecl-modularize-interfaces
10671 (sbcl-package->ecl-package sbcl-modularize-interfaces))
10672
10673 (define-public cl-modularize-interfaces
10674 (sbcl-package->cl-source-package sbcl-modularize-interfaces))
10675
10676 (define-public sbcl-moptilities
10677 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
10678 (package
10679 (name "sbcl-moptilities")
10680 (version (git-version "0.3.13" "1" commit))
10681 (home-page "https://github.com/gwkkwg/moptilities/")
10682 (source
10683 (origin
10684 (method git-fetch)
10685 (uri (git-reference
10686 (url home-page)
10687 (commit commit)))
10688 (file-name (git-file-name name version))
10689 (sha256
10690 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
10691 (build-system asdf-build-system/sbcl)
10692 (inputs
10693 `(("closer-mop" ,sbcl-closer-mop)))
10694 (native-inputs
10695 `(("lift" ,sbcl-lift)))
10696 (arguments
10697 `(#:phases
10698 (modify-phases %standard-phases
10699 (add-after 'unpack 'fix-tests
10700 (lambda _
10701 (substitute* "lift-standard.config"
10702 ((":relative-to lift-test")
10703 ":relative-to moptilities-test"))
10704 #t)))))
10705 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
10706 (description
10707 "MOP utilities provide a common interface between Lisps and make the
10708 MOP easier to use.")
10709 (license license:expat))))
10710
10711 (define-public cl-moptilities
10712 (sbcl-package->cl-source-package sbcl-moptilities))
10713
10714 (define-public sbcl-osicat
10715 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
10716 (package
10717 (name "sbcl-osicat")
10718 (version (git-version "0.7.0" "1" commit))
10719 (home-page "http://www.common-lisp.net/project/osicat/")
10720 (source
10721 (origin
10722 (method git-fetch)
10723 (uri (git-reference
10724 (url "https://github.com/osicat/osicat")
10725 (commit commit)))
10726 (file-name (git-file-name name version))
10727 (sha256
10728 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
10729 (build-system asdf-build-system/sbcl)
10730 (inputs
10731 `(("alexandria" ,sbcl-alexandria)
10732 ("cffi" ,sbcl-cffi)
10733 ("trivial-features" ,sbcl-trivial-features)))
10734 (native-inputs
10735 `(("rt" ,sbcl-rt)))
10736 (synopsis "Operating system interface for Common Lisp")
10737 (description
10738 "Osicat is a lightweight operating system interface for Common Lisp on
10739 Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
10740 accompaniment to the standard ANSI facilities.")
10741 (license license:expat))))
10742
10743 (define-public cl-osicat
10744 (sbcl-package->cl-source-package sbcl-osicat))
10745
10746 (define-public ecl-osicat
10747 (sbcl-package->ecl-package sbcl-osicat))
10748
10749 (define-public sbcl-clx-xembed
10750 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
10751 (revision "1"))
10752 (package
10753 (name "sbcl-clx-xembed")
10754 (version (git-version "0.1" revision commit))
10755 (home-page "https://github.com/laynor/clx-xembed")
10756 (source
10757 (origin
10758 (method git-fetch)
10759 (uri (git-reference
10760 (url "https://github.com/laynor/clx-xembed")
10761 (commit commit)))
10762 (file-name (git-file-name name version))
10763 (sha256
10764 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
10765 (build-system asdf-build-system/sbcl)
10766 (arguments
10767 `(#:asd-systems '("xembed")))
10768 (inputs
10769 `(("sbcl-clx" ,sbcl-clx)))
10770 (synopsis "CL(x) xembed protocol implementation ")
10771 (description "CL(x) xembed protocol implementation")
10772 ;; MIT License
10773 (license license:expat))))
10774
10775 (define-public cl-clx-xembed
10776 (sbcl-package->cl-source-package sbcl-clx-xembed))
10777
10778 (define-public ecl-clx-xembed
10779 (sbcl-package->ecl-package sbcl-clx-xembed))
10780
10781 (define-public sbcl-quantile-estimator
10782 (package
10783 (name "sbcl-quantile-estimator")
10784 (version "0.0.1")
10785 (source
10786 (origin
10787 (method git-fetch)
10788 (uri (git-reference
10789 (url "https://github.com/deadtrickster/quantile-estimator.cl")
10790 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
10791 (file-name (git-file-name name version))
10792 (sha256
10793 (base32
10794 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
10795 (build-system asdf-build-system/sbcl)
10796 (arguments
10797 '(#:asd-files '("quantile-estimator.asd")))
10798 (inputs
10799 `(("alexandria" ,sbcl-alexandria)))
10800 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
10801 (synopsis
10802 "Effective computation of biased quantiles over data streams")
10803 (description
10804 "Common Lisp implementation of Graham Cormode and S.
10805 Muthukrishnan's Effective Computation of Biased Quantiles over Data
10806 Streams in ICDE’05.")
10807 (license license:expat)))
10808
10809 (define-public cl-quantile-estimator
10810 (sbcl-package->cl-source-package sbcl-quantile-estimator))
10811
10812 (define-public ecl-quantile-estimator
10813 (sbcl-package->ecl-package sbcl-quantile-estimator))
10814
10815 (define-public sbcl-prometheus
10816 (package
10817 (name "sbcl-prometheus")
10818 (version "0.4.1")
10819 (source
10820 (origin
10821 (method git-fetch)
10822 (uri (git-reference
10823 (url "https://github.com/deadtrickster/prometheus.cl")
10824 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
10825 (file-name (git-file-name name version))
10826 (sha256
10827 (base32
10828 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
10829 (build-system asdf-build-system/sbcl)
10830 (inputs
10831 `(("alexandria" ,sbcl-alexandria)
10832 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10833 ("cffi" ,sbcl-cffi)
10834 ("cl-fad" ,sbcl-cl-fad)
10835 ("cl-ppcre" ,sbcl-cl-ppcre)
10836 ("drakma" ,sbcl-drakma)
10837 ("hunchentoot" ,sbcl-hunchentoot)
10838 ("local-time" ,sbcl-local-time)
10839 ("quantile-estimator" ,sbcl-quantile-estimator)
10840 ("salza2" ,sbcl-salza2)
10841 ("split-sequence" ,sbcl-split-sequence)
10842 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10843 (arguments
10844 '(#:asd-files '("prometheus.asd"
10845 "prometheus.collectors.sbcl.asd"
10846 "prometheus.collectors.process.asd"
10847 "prometheus.formats.text.asd"
10848 "prometheus.exposers.hunchentoot.asd"
10849 "prometheus.pushgateway.asd")
10850 #:asd-systems '("prometheus"
10851 "prometheus.collectors.sbcl"
10852 "prometheus.collectors.process"
10853 "prometheus.formats.text"
10854 "prometheus.exposers.hunchentoot"
10855 "prometheus.pushgateway")))
10856 (home-page "https://github.com/deadtrickster/prometheus.cl")
10857 (synopsis "Prometheus.io Common Lisp client")
10858 (description "Prometheus.io Common Lisp client.")
10859 (license license:expat)))
10860
10861 (define-public cl-prometheus
10862 (sbcl-package->cl-source-package sbcl-prometheus))
10863
10864 (define-public ecl-prometheus
10865 (sbcl-package->ecl-package sbcl-prometheus))
10866
10867 (define-public sbcl-uuid
10868 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
10869 (package
10870 (name "sbcl-uuid")
10871 (version (git-version "2012.12.26" "1" commit))
10872 (source
10873 (origin
10874 (method git-fetch)
10875 (uri (git-reference
10876 (url "https://github.com/dardoria/uuid")
10877 (commit commit)))
10878 (file-name (git-file-name name version))
10879 (sha256
10880 (base32
10881 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
10882 (build-system asdf-build-system/sbcl)
10883 (inputs
10884 `(("ironclad" ,sbcl-ironclad)
10885 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10886 (home-page "https://github.com/dardoria/uuid")
10887 (synopsis
10888 "Common Lisp implementation of UUIDs according to RFC4122")
10889 (description
10890 "Common Lisp implementation of UUIDs according to RFC4122.")
10891 (license license:llgpl))))
10892
10893 (define-public cl-uuid
10894 (sbcl-package->cl-source-package sbcl-uuid))
10895
10896 (define-public ecl-uuid
10897 (sbcl-package->ecl-package sbcl-uuid))
10898
10899 (define-public sbcl-dissect
10900 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
10901 (package
10902 (name "sbcl-dissect")
10903 (version (git-version "1.0.0" "1" commit))
10904 (source
10905 (origin
10906 (method git-fetch)
10907 (uri (git-reference
10908 (url "https://github.com/Shinmera/dissect")
10909 (commit commit)))
10910 (file-name (git-file-name name version))
10911 (sha256
10912 (base32
10913 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
10914 (build-system asdf-build-system/sbcl)
10915 (inputs
10916 `(("cl-ppcre" ,sbcl-cl-ppcre)))
10917 (home-page "https://shinmera.github.io/dissect/")
10918 (synopsis
10919 "Introspection library for the call stack and restarts")
10920 (description
10921 "Dissect is a small Common Lisp library for introspecting the call stack
10922 and active restarts.")
10923 (license license:zlib))))
10924
10925 (define-public cl-dissect
10926 (sbcl-package->cl-source-package sbcl-dissect))
10927
10928 (define-public ecl-dissect
10929 (sbcl-package->ecl-package sbcl-dissect))
10930
10931 (define-public sbcl-rove
10932 (package
10933 (name "sbcl-rove")
10934 (version "0.9.6")
10935 (source
10936 (origin
10937 (method git-fetch)
10938 (uri (git-reference
10939 (url "https://github.com/fukamachi/rove")
10940 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
10941 (file-name (git-file-name name version))
10942 (sha256
10943 (base32
10944 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
10945 (build-system asdf-build-system/sbcl)
10946 (inputs
10947 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10948 ("dissect" ,sbcl-dissect)
10949 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
10950 (home-page "https://github.com/fukamachi/rove")
10951 (synopsis
10952 "Yet another common lisp testing library")
10953 (description
10954 "Rove is a unit testing framework for Common Lisp applications.
10955 This is intended to be a successor of Prove.")
10956 (license license:bsd-3)))
10957
10958 (define-public cl-rove
10959 (sbcl-package->cl-source-package sbcl-rove))
10960
10961 (define-public ecl-rove
10962 (sbcl-package->ecl-package sbcl-rove))
10963
10964 (define-public sbcl-exponential-backoff
10965 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
10966 (package
10967 (name "sbcl-exponential-backoff")
10968 (version (git-version "0" "1" commit))
10969 (source
10970 (origin
10971 (method git-fetch)
10972 (uri (git-reference
10973 (url "https://github.com/death/exponential-backoff")
10974 (commit commit)))
10975 (file-name (git-file-name name version))
10976 (sha256
10977 (base32
10978 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
10979 (build-system asdf-build-system/sbcl)
10980 (home-page "https://github.com/death/exponential-backoff")
10981 (synopsis "Exponential backoff algorithm in Common Lisp")
10982 (description
10983 "An implementation of the exponential backoff algorithm in Common Lisp.
10984 Inspired by the implementation found in Chromium. Read the header file to
10985 learn about each of the parameters.")
10986 (license license:expat))))
10987
10988 (define-public cl-exponential-backoff
10989 (sbcl-package->cl-source-package sbcl-exponential-backoff))
10990
10991 (define-public ecl-exponential-backoff
10992 (sbcl-package->ecl-package sbcl-exponential-backoff))
10993
10994 (define-public sbcl-sxql
10995 (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
10996 (package
10997 (name "sbcl-sxql")
10998 (version (git-version "0.1.0" "1" commit))
10999 (source
11000 (origin
11001 (method git-fetch)
11002 (uri (git-reference
11003 (url "https://github.com/fukamachi/sxql")
11004 (commit commit)))
11005 (file-name (git-file-name name version))
11006 (sha256
11007 (base32
11008 "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
11009 (build-system asdf-build-system/sbcl)
11010 (arguments
11011 `(#:test-asd-file "sxql-test.asd"))
11012 (inputs
11013 `(("alexandria" ,sbcl-alexandria)
11014 ("cl-syntax" ,sbcl-cl-syntax)
11015 ("iterate" ,sbcl-iterate)
11016 ("optima" ,sbcl-optima)
11017 ("split-sequence" ,sbcl-split-sequence)
11018 ("trivial-types" ,sbcl-trivial-types)))
11019 (native-inputs
11020 `(("prove" ,sbcl-prove)))
11021 (home-page "https://github.com/fukamachi/sxql")
11022 (synopsis "SQL generator for Common Lisp")
11023 (description "SQL generator for Common Lisp.")
11024 (license license:bsd-3))))
11025
11026 (define-public cl-sxql
11027 (sbcl-package->cl-source-package sbcl-sxql))
11028
11029 (define-public ecl-sxql
11030 (sbcl-package->ecl-package sbcl-sxql))
11031
11032 (define-public sbcl-1am
11033 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
11034 (package
11035 (name "sbcl-1am")
11036 (version (git-version "0.0" "1" commit))
11037 (source
11038 (origin
11039 (method git-fetch)
11040 (uri (git-reference
11041 (url "https://github.com/lmj/1am")
11042 (commit commit)))
11043 (file-name (git-file-name name version))
11044 (sha256
11045 (base32
11046 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
11047 (build-system asdf-build-system/sbcl)
11048 (arguments
11049 `(#:asd-systems '("1am")))
11050 (home-page "https://github.com/lmj/1am")
11051 (synopsis "Minimal testing framework for Common Lisp")
11052 (description "A minimal testing framework for Common Lisp.")
11053 (license license:expat))))
11054
11055 (define-public cl-1am
11056 (sbcl-package->cl-source-package sbcl-1am))
11057
11058 (define-public ecl-1am
11059 (sbcl-package->ecl-package sbcl-1am))
11060
11061 (define-public sbcl-cl-ascii-table
11062 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
11063 (revision "1"))
11064 (package
11065 (name "sbcl-cl-ascii-table")
11066 (version (git-version "0.0.0" revision commit))
11067 (source
11068 (origin
11069 (method git-fetch)
11070 (uri (git-reference
11071 (url "https://github.com/telephil/cl-ascii-table")
11072 (commit commit)))
11073 (file-name (git-file-name name version))
11074 (sha256
11075 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
11076 (build-system asdf-build-system/sbcl)
11077 (synopsis "Library to make ascii-art tables")
11078 (description
11079 "This is a Common Lisp library to present tabular data in ascii-art
11080 tables.")
11081 (home-page "https://github.com/telephil/cl-ascii-table")
11082 (license license:expat))))
11083
11084 (define-public cl-ascii-table
11085 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
11086
11087 (define-public ecl-cl-ascii-table
11088 (sbcl-package->ecl-package sbcl-cl-ascii-table))
11089
11090 (define-public sbcl-cl-rdkafka
11091 (package
11092 (name "sbcl-cl-rdkafka")
11093 (version "1.1.0")
11094 (source
11095 (origin
11096 (method git-fetch)
11097 (uri (git-reference
11098 (url "https://github.com/SahilKang/cl-rdkafka")
11099 (commit (string-append "v" version))))
11100 (file-name (git-file-name name version))
11101 (sha256
11102 (base32
11103 "0z2g0k0xy8k1p9g93h8dy9wbygaq7ziwagm4yz93zk67mhc0b84v"))))
11104 (build-system asdf-build-system/sbcl)
11105 (arguments
11106 `(#:tests? #f ; Attempts to connect to locally running Kafka
11107 #:phases
11108 (modify-phases %standard-phases
11109 (add-after 'unpack 'fix-paths
11110 (lambda* (#:key inputs #:allow-other-keys)
11111 (substitute* "src/low-level/librdkafka-bindings.lisp"
11112 (("librdkafka" all)
11113 (string-append (assoc-ref inputs "librdkafka") "/lib/"
11114 all))))))))
11115 (inputs
11116 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11117 ("cffi" ,sbcl-cffi)
11118 ("librdkafka" ,librdkafka)
11119 ("lparallel" ,sbcl-lparallel)
11120 ("trivial-garbage" ,sbcl-trivial-garbage)))
11121 (home-page "https://github.com/SahilKang/cl-rdkafka")
11122 (synopsis "Common Lisp client library for Apache Kafka")
11123 (description "A Common Lisp client library for Apache Kafka.")
11124 (license license:gpl3)))
11125
11126 (define-public cl-rdkafka
11127 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
11128
11129 (define-public ecl-cl-rdkafka
11130 (sbcl-package->ecl-package sbcl-cl-rdkafka))
11131
11132 (define-public sbcl-acclimation
11133 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
11134 (package
11135 (name "sbcl-acclimation")
11136 (version (git-version "0.0.0" "1" commit))
11137 (source
11138 (origin
11139 (method git-fetch)
11140 (uri (git-reference
11141 (url "https://github.com/robert-strandh/Acclimation")
11142 (commit commit)))
11143 (file-name (git-file-name name version))
11144 (sha256
11145 (base32
11146 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
11147 (build-system asdf-build-system/sbcl)
11148 (home-page "https://github.com/robert-strandh/Acclimation")
11149 (synopsis "Internationalization library for Common Lisp")
11150 (description "This project is meant to provide tools for
11151 internationalizing Common Lisp programs.
11152
11153 One important aspect of internationalization is of course the language used in
11154 error messages, documentation strings, etc. But with this project we provide
11155 tools for all other aspects of internationalization as well, including dates,
11156 weight, temperature, names of physical quantitites, etc.")
11157 (license license:bsd-2))))
11158
11159 (define-public cl-acclimation
11160 (sbcl-package->cl-source-package sbcl-acclimation))
11161
11162 (define-public ecl-acclimation
11163 (sbcl-package->ecl-package sbcl-acclimation))
11164
11165 (define-public sbcl-clump
11166 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
11167 (package
11168 (name "sbcl-clump")
11169 (version (git-version "0.0.0" "1" commit))
11170 (source
11171 (origin
11172 (method git-fetch)
11173 (uri (git-reference
11174 (url "https://github.com/robert-strandh/Clump")
11175 (commit commit)))
11176 (file-name (git-file-name name version))
11177 (sha256
11178 (base32
11179 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
11180 (inputs
11181 `(("acclimation" ,sbcl-acclimation)))
11182 (build-system asdf-build-system/sbcl)
11183 (home-page "https://github.com/robert-strandh/Clump")
11184 (synopsis "Collection of tree implementations for Common Lisp")
11185 (description "The purpose of this library is to provide a collection of
11186 implementations of trees.
11187
11188 In contrast to existing libraries such as cl-containers, it does not impose a
11189 particular use for the trees. Instead, it aims for a stratified design,
11190 allowing client code to choose between different levels of abstraction.
11191
11192 As a consequence of this policy, low-level interfaces are provided where
11193 the concrete representation is exposed, but also high level interfaces
11194 where the trees can be used as search trees or as trees that represent
11195 sequences of objects.")
11196 (license license:bsd-2))))
11197
11198 (define-public cl-clump
11199 (sbcl-package->cl-source-package sbcl-clump))
11200
11201 (define-public ecl-clump
11202 (sbcl-package->ecl-package sbcl-clump))
11203
11204 (define-public sbcl-cluffer
11205 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
11206 (package
11207 (name "sbcl-cluffer")
11208 (version (git-version "0.0.0" "1" commit))
11209 (source
11210 (origin
11211 (method git-fetch)
11212 (uri (git-reference
11213 (url "https://github.com/robert-strandh/cluffer")
11214 (commit commit)))
11215 (file-name (git-file-name name version))
11216 (sha256
11217 (base32
11218 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
11219 (build-system asdf-build-system/sbcl)
11220 (inputs
11221 `(("acclimation" ,sbcl-acclimation)
11222 ("clump" ,sbcl-clump)))
11223 (home-page "https://github.com/robert-strandh/cluffer")
11224 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
11225 (description "Cluffer is a library for representing the buffer of a text
11226 editor. As such, it defines a set of CLOS protocols for client code to
11227 interact with the buffer contents in various ways, and it supplies different
11228 implementations of those protocols for different purposes.")
11229 (license license:bsd-2))))
11230
11231 (define-public cl-cluffer
11232 (sbcl-package->cl-source-package sbcl-cluffer))
11233
11234 (define-public ecl-cluffer
11235 (sbcl-package->ecl-package sbcl-cluffer))
11236
11237 (define-public sbcl-cl-libsvm-format
11238 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
11239 (revision "0"))
11240 (package
11241 (name "sbcl-cl-libsvm-format")
11242 (version (git-version "0.1.0" revision commit))
11243 (source
11244 (origin
11245 (method git-fetch)
11246 (uri (git-reference
11247 (url "https://github.com/masatoi/cl-libsvm-format")
11248 (commit commit)))
11249 (file-name (git-file-name name version))
11250 (sha256
11251 (base32
11252 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
11253 (build-system asdf-build-system/sbcl)
11254 (native-inputs
11255 `(("prove" ,sbcl-prove)))
11256 (inputs
11257 `(("alexandria" ,sbcl-alexandria)))
11258 (synopsis "LibSVM data format reader for Common Lisp")
11259 (description
11260 "This Common Lisp library provides a fast reader for data in LibSVM
11261 format.")
11262 (home-page "https://github.com/masatoi/cl-libsvm-format")
11263 (license license:expat))))
11264
11265 (define-public cl-libsvm-format
11266 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
11267
11268 (define-public ecl-cl-libsvm-format
11269 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
11270
11271 (define-public sbcl-cl-online-learning
11272 (let ((commit "87fbef8a340219e853adb3a5bf44a0470da76964")
11273 (revision "1"))
11274 (package
11275 (name "sbcl-cl-online-learning")
11276 (version (git-version "0.5" revision commit))
11277 (source
11278 (origin
11279 (method git-fetch)
11280 (uri (git-reference
11281 (url "https://github.com/masatoi/cl-online-learning")
11282 (commit commit)))
11283 (file-name (git-file-name "cl-online-learning" version))
11284 (sha256
11285 (base32
11286 "1lfq04lnxivx59nq5dd02glyqsqzf3vdn4s9b8wnaln5fs8g2ph9"))))
11287 (build-system asdf-build-system/sbcl)
11288 (native-inputs
11289 `(("prove" ,sbcl-prove)))
11290 (inputs
11291 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11292 ("cl-store" ,sbcl-cl-store)))
11293 (arguments
11294 `(#:test-asd-file "cl-online-learning-test.asd"
11295 #:asd-systems '("cl-online-learning-test"
11296 "cl-online-learning")))
11297 (home-page "https://github.com/masatoi/cl-online-learning")
11298 (synopsis "Online Machine Learning for Common Lisp")
11299 (description
11300 "This library contains a collection of machine learning algorithms for
11301 online linear classification written in Common Lisp.")
11302 (license license:expat))))
11303
11304 (define-public cl-online-learning
11305 (sbcl-package->cl-source-package sbcl-cl-online-learning))
11306
11307 (define-public ecl-cl-online-learning
11308 (sbcl-package->ecl-package sbcl-cl-online-learning))
11309
11310 (define-public sbcl-cl-mpg123
11311 (let ((commit "5f042c839d2ea4a2ff2a7b60c839d8633d64161d")
11312 (revision "1"))
11313 (package
11314 (name "sbcl-cl-mpg123")
11315 (version (git-version "1.0.0" revision commit))
11316 (source
11317 (origin
11318 (method git-fetch)
11319 (uri (git-reference
11320 (url "https://github.com/Shirakumo/cl-mpg123")
11321 (commit commit)))
11322 (file-name (git-file-name "cl-mpg123" version))
11323 (sha256
11324 (base32 "1hl721xaczxck008ax2y3jpkm509ry1sg3lklh2k76764m3ndrjf"))
11325 (modules '((guix build utils)))
11326 (snippet
11327 '(begin
11328 ;; Remove bundled pre-compiled libraries.
11329 (delete-file-recursively "static")
11330 #t))))
11331 (build-system asdf-build-system/sbcl)
11332 (arguments
11333 `(#:asd-files '("cl-mpg123.asd" "cl-mpg123-example.asd")
11334 #:asd-systems '("cl-mpg123" "cl-mpg123-example")
11335 #:phases
11336 (modify-phases %standard-phases
11337 (add-after 'unpack 'fix-paths
11338 (lambda* (#:key inputs #:allow-other-keys)
11339 (substitute* "low-level.lisp"
11340 (("libmpg123.so" all)
11341 (string-append (assoc-ref inputs "libmpg123")
11342 "/lib/" all))))))))
11343 (inputs
11344 `(("cffi" ,sbcl-cffi)
11345 ("cl-out123" ,sbcl-cl-out123)
11346 ("documentation-utils" ,sbcl-documentation-utils)
11347 ("libmpg123" ,mpg123)
11348 ("trivial-features" ,sbcl-trivial-features)
11349 ("trivial-garbage" ,sbcl-trivial-garbage)
11350 ("verbose" ,sbcl-verbose)))
11351 (home-page "https://shirakumo.github.io/cl-mpg123/")
11352 (synopsis "Common Lisp bindings to libmpg123")
11353 (description
11354 "This is a bindings and wrapper library to @code{libmpg123} allowing for
11355 convenient, extensive, and fast decoding of MPEG1/2/3 (most prominently mp3)
11356 files.")
11357 (license license:zlib))))
11358
11359 (define-public ecl-cl-mpg123
11360 (sbcl-package->ecl-package sbcl-cl-mpg123))
11361
11362 (define-public cl-mpg123
11363 (sbcl-package->cl-source-package sbcl-cl-mpg123))
11364
11365 (define-public sbcl-cl-out123
11366 (let ((commit "6b58d3f8c2a28ad09059ac4c60fb3c781b9b421b")
11367 (revision "1"))
11368 (package
11369 (name "sbcl-cl-out123")
11370 (version (git-version "1.0.0" revision commit))
11371 (source
11372 (origin
11373 (method git-fetch)
11374 (uri (git-reference
11375 (url "https://github.com/Shirakumo/cl-out123")
11376 (commit commit)))
11377 (file-name (git-file-name "cl-out123" version))
11378 (sha256
11379 (base32 "0mdwgfax6sq68wvdgjjp78i40ah7wqkpqnvaq8a1c509k7ghdgv1"))
11380 (modules '((guix build utils)))
11381 (snippet
11382 '(begin
11383 ;; Remove bundled pre-compiled libraries.
11384 (delete-file-recursively "static")
11385 #t))))
11386 (build-system asdf-build-system/sbcl)
11387 (arguments
11388 `(#:phases
11389 (modify-phases %standard-phases
11390 (add-after 'unpack 'fix-paths
11391 (lambda* (#:key inputs #:allow-other-keys)
11392 (substitute* "low-level.lisp"
11393 (("libout123.so" all)
11394 (string-append (assoc-ref inputs "libout123")
11395 "/lib/" all)))))
11396 ;; NOTE: (Sharlatan-20210129T134529+0000): ECL package `ext' has no
11397 ;; exported macro `without-interrupts' it's moved to `mp' package
11398 ;; https://github.com/Shirakumo/cl-out123/issues/2
11399 ;; https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/src/lsp/mp.lsp
11400 (add-after 'unpack 'fix-ecl-package-name
11401 (lambda _
11402 (substitute* "wrapper.lisp"
11403 (("ext:without-interrupts.*") "mp:without-interrupts\n"))
11404 #t)))))
11405 (inputs
11406 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11407 ("cffi" ,sbcl-cffi)
11408 ("documentation-utils" ,sbcl-documentation-utils)
11409 ("libout123" ,mpg123)
11410 ("trivial-features" ,sbcl-trivial-features)
11411 ("trivial-garbage" ,sbcl-trivial-garbage)))
11412 (home-page "https://shirakumo.github.io/cl-out123/")
11413 (synopsis "Common Lisp bindings to libout123")
11414 (description
11415 "This is a bindings library to @code{libout123} which allows easy
11416 cross-platform audio playback.")
11417 (license license:zlib))))
11418
11419 (define-public ecl-cl-out123
11420 (sbcl-package->ecl-package sbcl-cl-out123))
11421
11422 (define-public cl-out123
11423 (sbcl-package->cl-source-package sbcl-cl-out123))
11424
11425 (define-public sbcl-cl-random-forest
11426 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
11427 (revision "1"))
11428 (package
11429 (name "sbcl-cl-random-forest")
11430 (version (git-version "0.1" revision commit))
11431 (source
11432 (origin
11433 (method git-fetch)
11434 (uri (git-reference
11435 (url "https://github.com/masatoi/cl-random-forest")
11436 (commit commit)))
11437 (file-name (git-file-name name version))
11438 (sha256
11439 (base32
11440 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
11441 (build-system asdf-build-system/sbcl)
11442 (native-inputs
11443 `(("prove" ,sbcl-prove)
11444 ("trivial-garbage" ,sbcl-trivial-garbage)))
11445 (inputs
11446 `(("alexandria" ,sbcl-alexandria)
11447 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11448 ("cl-online-learning" ,sbcl-cl-online-learning)
11449 ("lparallel" ,sbcl-lparallel)))
11450 (arguments
11451 `(#:tests? #f)) ; The tests download data from the Internet
11452 (synopsis "Random Forest and Global Refinement for Common Lisp")
11453 (description
11454 "CL-random-forest is an implementation of Random Forest for multiclass
11455 classification and univariate regression written in Common Lisp. It also
11456 includes an implementation of Global Refinement of Random Forest.")
11457 (home-page "https://github.com/masatoi/cl-random-forest")
11458 (license license:expat))))
11459
11460 (define-public cl-random-forest
11461 (sbcl-package->cl-source-package sbcl-cl-random-forest))
11462
11463 (define-public ecl-cl-random-forest
11464 (sbcl-package->ecl-package sbcl-cl-random-forest))
11465
11466 (define-public sbcl-bordeaux-fft
11467 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
11468 (revision "0"))
11469 (package
11470 (name "sbcl-bordeaux-fft")
11471 (version (git-version "1.0.1" revision commit))
11472 (source
11473 (origin
11474 (method git-fetch)
11475 (uri (git-reference
11476 (url "https://github.com/ahefner/bordeaux-fft")
11477 (commit commit)))
11478 (file-name (git-file-name name version))
11479 (sha256
11480 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
11481 (build-system asdf-build-system/sbcl)
11482 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
11483 (synopsis "Fast Fourier Transform for Common Lisp")
11484 (description
11485 "The Bordeaux-FFT library provides a reasonably efficient implementation
11486 of the Fast Fourier Transform and its inverse for complex-valued inputs, in
11487 portable Common Lisp.")
11488 (license license:gpl2+))))
11489
11490 (define-public cl-bordeaux-fft
11491 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
11492
11493 (define-public ecl-bordeaux-fft
11494 (sbcl-package->ecl-package sbcl-bordeaux-fft))
11495
11496 (define-public sbcl-napa-fft3
11497 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
11498 (revision "0"))
11499 (package
11500 (name "sbcl-napa-fft3")
11501 (version (git-version "0.0.1" revision commit))
11502 (source
11503 (origin
11504 (method git-fetch)
11505 (uri (git-reference
11506 (url "https://github.com/pkhuong/Napa-FFT3")
11507 (commit commit)))
11508 (file-name (git-file-name name version))
11509 (sha256
11510 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
11511 (build-system asdf-build-system/sbcl)
11512 (home-page "https://github.com/pkhuong/Napa-FFT3")
11513 (synopsis "Fast Fourier Transform routines in Common Lisp")
11514 (description
11515 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
11516 buildings blocks to express common operations that involve DFTs: filtering,
11517 convolutions, etc.")
11518 (license license:bsd-3))))
11519
11520 (define-public cl-napa-fft3
11521 (sbcl-package->cl-source-package sbcl-napa-fft3))
11522
11523 (define-public sbcl-cl-tga
11524 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
11525 (revision "0"))
11526 (package
11527 (name "sbcl-cl-tga")
11528 (version (git-version "0.0.0" revision commit))
11529 (source
11530 (origin
11531 (method git-fetch)
11532 (uri (git-reference
11533 (url "https://github.com/fisxoj/cl-tga")
11534 (commit commit)))
11535 (file-name (git-file-name name version))
11536 (sha256
11537 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
11538 (build-system asdf-build-system/sbcl)
11539 (home-page "https://github.com/fisxoj/cl-tga")
11540 (synopsis "TGA file loader for Common Lisp")
11541 (description
11542 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
11543 programs. It's a very simple library, and, at the moment, only supports
11544 non-RLE encoded forms of the files.")
11545 (license license:expat))))
11546
11547 (define-public cl-tga
11548 (sbcl-package->cl-source-package sbcl-cl-tga))
11549
11550 (define-public ecl-cl-tga
11551 (sbcl-package->ecl-package sbcl-cl-tga))
11552
11553 (define-public sbcl-com.gigamonkeys.binary-data
11554 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
11555 (revision "0"))
11556 (package
11557 (name "sbcl-com.gigamonkeys.binary-data")
11558 (version (git-version "0.0.0" revision commit))
11559 (source
11560 (origin
11561 (method git-fetch)
11562 (uri (git-reference
11563 (url "https://github.com/gigamonkey/monkeylib-binary-data")
11564 (commit commit)))
11565 (file-name (git-file-name name version))
11566 (sha256
11567 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
11568 (build-system asdf-build-system/sbcl)
11569 (inputs
11570 `(("alexandria" ,sbcl-alexandria)))
11571 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
11572 (synopsis "Common Lisp library for reading and writing binary data")
11573 (description
11574 "This a Common Lisp library for reading and writing binary data. It is
11575 based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
11576 (license license:bsd-3))))
11577
11578 (define-public cl-com.gigamonkeys.binary-data
11579 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
11580
11581 (define-public ecl-com.gigamonkeys.binary-data
11582 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
11583
11584 (define-public sbcl-deflate
11585 (package
11586 (name "sbcl-deflate")
11587 (version "1.0.3")
11588 (source
11589 (origin
11590 (method git-fetch)
11591 (uri (git-reference
11592 (url "https://github.com/pmai/Deflate")
11593 (commit (string-append "release-" version))))
11594 (file-name (git-file-name name version))
11595 (sha256
11596 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
11597 (build-system asdf-build-system/sbcl)
11598 (home-page "https://github.com/pmai/Deflate")
11599 (synopsis "Native deflate decompression for Common Lisp")
11600 (description
11601 "This library is an implementation of Deflate (RFC 1951) decompression,
11602 with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
11603 wrappers of deflate streams. It currently does not handle compression.")
11604 (license license:expat)))
11605
11606 (define-public cl-deflate
11607 (sbcl-package->cl-source-package sbcl-deflate))
11608
11609 (define-public ecl-deflate
11610 (sbcl-package->ecl-package sbcl-deflate))
11611
11612 (define-public sbcl-skippy
11613 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
11614 (revision "0"))
11615 (package
11616 (name "sbcl-skippy")
11617 (version (git-version "1.3.12" revision commit))
11618 (source
11619 (origin
11620 (method git-fetch)
11621 (uri (git-reference
11622 (url "https://github.com/xach/skippy")
11623 (commit commit)))
11624 (file-name (git-file-name name version))
11625 (sha256
11626 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
11627 (build-system asdf-build-system/sbcl)
11628 (home-page "https://xach.com/lisp/skippy/")
11629 (synopsis "Common Lisp library for GIF images")
11630 (description
11631 "Skippy is a Common Lisp library to read and write GIF image files.")
11632 (license license:bsd-2))))
11633
11634 (define-public cl-skippy
11635 (sbcl-package->cl-source-package sbcl-skippy))
11636
11637 (define-public ecl-skippy
11638 (sbcl-package->ecl-package sbcl-skippy))
11639
11640 (define-public sbcl-cl-freetype2
11641 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
11642 (revision "0"))
11643 (package
11644 (name "sbcl-cl-freetype2")
11645 (version (git-version "1.1" revision commit))
11646 (source
11647 (origin
11648 (method git-fetch)
11649 (uri (git-reference
11650 (url "https://github.com/rpav/cl-freetype2")
11651 (commit commit)))
11652 (file-name (git-file-name name version))
11653 (sha256
11654 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
11655 (build-system asdf-build-system/sbcl)
11656 (native-inputs
11657 `(("fiveam" ,sbcl-fiveam)))
11658 (inputs
11659 `(("alexandria" ,sbcl-alexandria)
11660 ("cffi" ,sbcl-cffi)
11661 ("freetype" ,freetype)
11662 ("trivial-garbage" ,sbcl-trivial-garbage)))
11663 (arguments
11664 `(#:phases
11665 (modify-phases %standard-phases
11666 (add-after 'unpack 'fix-paths
11667 (lambda* (#:key inputs #:allow-other-keys)
11668 (substitute* "src/ffi/ft2-lib.lisp"
11669 (("\"libfreetype\"")
11670 (string-append "\"" (assoc-ref inputs "freetype")
11671 "/lib/libfreetype\"")))
11672 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
11673 (("-I/usr/include/freetype")
11674 (string-append "-I" (assoc-ref inputs "freetype")
11675 "/include/freetype")))
11676 #t)))))
11677 (home-page "https://github.com/rpav/cl-freetype2")
11678 (synopsis "Common Lisp bindings for Freetype 2")
11679 (description
11680 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
11681 geared toward both using Freetype directly by providing a simplified API, as
11682 well as providing access to the underlying C structures and functions for use
11683 with other libraries which may also use Freetype.")
11684 (license license:bsd-3))))
11685
11686 (define-public cl-freetype2
11687 (sbcl-package->cl-source-package sbcl-cl-freetype2))
11688
11689 (define-public ecl-cl-freetype2
11690 (sbcl-package->ecl-package sbcl-cl-freetype2))
11691
11692 (define-public sbcl-opticl-core
11693 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
11694 (revision "0"))
11695 (package
11696 (name "sbcl-opticl-core")
11697 (version (git-version "0.0.0" revision commit))
11698 (source
11699 (origin
11700 (method git-fetch)
11701 (uri (git-reference
11702 (url "https://github.com/slyrus/opticl-core")
11703 (commit commit)))
11704 (file-name (git-file-name name version))
11705 (sha256
11706 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
11707 (build-system asdf-build-system/sbcl)
11708 (inputs
11709 `(("alexandria" ,sbcl-alexandria)))
11710 (home-page "https://github.com/slyrus/opticl-core")
11711 (synopsis "Core classes and pixel access macros for Opticl")
11712 (description
11713 "This Common Lisp library contains the core classes and pixel access
11714 macros for the Opticl image processing library.")
11715 (license license:bsd-2))))
11716
11717 (define-public cl-opticl-core
11718 (sbcl-package->cl-source-package sbcl-opticl-core))
11719
11720 (define-public ecl-opticl-core
11721 (sbcl-package->ecl-package sbcl-opticl-core))
11722
11723 (define-public sbcl-retrospectiff
11724 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
11725 (revision "0"))
11726 (package
11727 (name "sbcl-retrospectiff")
11728 (version (git-version "0.2" revision commit))
11729 (source
11730 (origin
11731 (method git-fetch)
11732 (uri (git-reference
11733 (url "https://github.com/slyrus/retrospectiff")
11734 (commit commit)))
11735 (file-name (git-file-name name version))
11736 (sha256
11737 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
11738 (build-system asdf-build-system/sbcl)
11739 (native-inputs
11740 `(("fiveam" ,sbcl-fiveam)))
11741 (inputs
11742 `(("cl-jpeg" ,sbcl-cl-jpeg)
11743 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
11744 ("deflate" ,sbcl-deflate)
11745 ("flexi-streams" ,sbcl-flexi-streams)
11746 ("ieee-floats" ,sbcl-ieee-floats)
11747 ("opticl-core" ,sbcl-opticl-core)))
11748 (home-page "https://github.com/slyrus/retrospectiff")
11749 (synopsis "Common Lisp library for TIFF images")
11750 (description
11751 "Retrospectiff is a common lisp library for reading and writing images
11752 in the TIFF (Tagged Image File Format) format.")
11753 (license license:bsd-2))))
11754
11755 (define-public cl-retrospectif
11756 (sbcl-package->cl-source-package sbcl-retrospectiff))
11757
11758 (define-public ecl-retrospectiff
11759 (sbcl-package->ecl-package sbcl-retrospectiff))
11760
11761 (define-public sbcl-mmap
11762 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
11763 (revision "0"))
11764 (package
11765 (name "sbcl-mmap")
11766 (version (git-version "1.0.0" revision commit))
11767 (source
11768 (origin
11769 (method git-fetch)
11770 (uri (git-reference
11771 (url "https://github.com/Shinmera/mmap")
11772 (commit commit)))
11773 (file-name (git-file-name name version))
11774 (sha256
11775 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
11776 (build-system asdf-build-system/sbcl)
11777 (native-inputs
11778 `(("alexandria" ,sbcl-alexandria)
11779 ("cffi" ,sbcl-cffi)
11780 ("parachute" ,sbcl-parachute)
11781 ("trivial-features" ,sbcl-trivial-features)))
11782 (inputs
11783 `(("cffi" ,sbcl-cffi)
11784 ("documentation-utils" ,sbcl-documentation-utils)))
11785 (home-page "https://shinmera.github.io/mmap/")
11786 (synopsis "File memory mapping for Common Lisp")
11787 (description
11788 "This is a utility library providing access to the @emph{mmap} family of
11789 functions in a portable way. It allows you to directly map a file into the
11790 address space of your process without having to manually read it into memory
11791 sequentially. Typically this is much more efficient for files that are larger
11792 than a few Kb.")
11793 (license license:zlib))))
11794
11795 (define-public cl-mmap
11796 (sbcl-package->cl-source-package sbcl-mmap))
11797
11798 (define-public ecl-mmap
11799 (sbcl-package->ecl-package sbcl-mmap))
11800
11801 (define-public sbcl-3bz
11802 (let ((commit "569614c40408f3aefc77ba233e0e4bd66d3850ad")
11803 (revision "1"))
11804 (package
11805 (name "sbcl-3bz")
11806 (version (git-version "0.0.0" revision commit))
11807 (source
11808 (origin
11809 (method git-fetch)
11810 (uri (git-reference
11811 (url "https://github.com/3b/3bz")
11812 (commit commit)))
11813 (file-name (git-file-name name version))
11814 (sha256
11815 (base32 "0kvvlvf50jhhw1s510f3clpr1a68632bq6d698yxcrx722igcrg4"))))
11816 (build-system asdf-build-system/sbcl)
11817 (inputs
11818 `(("alexandria" ,sbcl-alexandria)
11819 ("babel" ,sbcl-babel)
11820 ("cffi" ,sbcl-cffi)
11821 ("mmap" ,sbcl-mmap)
11822 ("nibbles" ,sbcl-nibbles)
11823 ("trivial-features" ,sbcl-trivial-features)))
11824 (arguments
11825 ;; FIXME: #41437 - Build fails when package name starts from a digit
11826 `(#:asd-systems '("3bz")))
11827 (home-page "https://github.com/3b/3bz")
11828 (synopsis "Deflate decompression for Common Lisp")
11829 (description
11830 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
11831 with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
11832 foreign pointers (for use with mmap and similar, etc), and from CL octet
11833 vectors and streams.")
11834 (license license:expat))))
11835
11836 (define-public cl-3bz
11837 (sbcl-package->cl-source-package sbcl-3bz))
11838
11839 (define-public ecl-3bz
11840 (sbcl-package->ecl-package sbcl-3bz))
11841
11842 (define-public sbcl-zpb-exif
11843 (package
11844 (name "sbcl-zpb-exif")
11845 (version "1.2.4")
11846 (source
11847 (origin
11848 (method git-fetch)
11849 (uri (git-reference
11850 (url "https://github.com/xach/zpb-exif")
11851 (commit (string-append "release-" version))))
11852 (file-name (git-file-name name version))
11853 (sha256
11854 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
11855 (build-system asdf-build-system/sbcl)
11856 (home-page "https://xach.com/lisp/zpb-exif/")
11857 (synopsis "EXIF information extractor for Common Lisp")
11858 (description
11859 "This is a Common Lisp library to extract EXIF information from image
11860 files.")
11861 (license license:bsd-2)))
11862
11863 (define-public cl-zpb-exif
11864 (sbcl-package->cl-source-package sbcl-zpb-exif))
11865
11866 (define-public ecl-zpb-exif
11867 (sbcl-package->ecl-package sbcl-zpb-exif))
11868
11869 (define-public sbcl-pngload
11870 (let ((commit "91f1d703c65bb6a94d6fee06ddbbbbbc5778b71f")
11871 (revision "2"))
11872 (package
11873 (name "sbcl-pngload")
11874 (version (git-version "2.0.0" revision commit))
11875 (source
11876 (origin
11877 (method git-fetch)
11878 (uri (git-reference
11879 (url "https://git.mfiano.net/mfiano/pngload.git")
11880 (commit commit)))
11881 (file-name (git-file-name "pngload" version))
11882 (sha256
11883 (base32 "0s94fdbrbqj12qvgyn2g4lfwvz7qhhzbclrpz5ni7adwxgrmvxl1"))))
11884 (build-system asdf-build-system/sbcl)
11885 (inputs
11886 `(("3bz" ,sbcl-3bz)
11887 ("alexandria" ,sbcl-alexandria)
11888 ("cffi" ,sbcl-cffi)
11889 ("mmap" ,sbcl-mmap)
11890 ("parse-float" ,sbcl-parse-float)
11891 ("static-vectors" ,sbcl-static-vectors)
11892 ("swap-bytes" ,sbcl-swap-bytes)
11893 ("zpb-exif" ,sbcl-zpb-exif)))
11894 (arguments
11895 ;; Test suite disabled because of a dependency cycle.
11896 ;; pngload tests depend on opticl which depends on pngload.
11897 '(#:tests? #f))
11898 (home-page "https://git.mfiano.net/mfiano/pngload.git")
11899 (synopsis "PNG image decoder for Common Lisp")
11900 (description
11901 "This is a Common Lisp library to load images in the PNG image format,
11902 both from files on disk, or streams in memory.")
11903 (license license:expat))))
11904
11905 (define-public cl-pngload
11906 (sbcl-package->cl-source-package sbcl-pngload))
11907
11908 (define-public ecl-pngload
11909 (sbcl-package->ecl-package sbcl-pngload))
11910
11911 (define-public sbcl-opticl
11912 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
11913 (revision "0"))
11914 (package
11915 (name "sbcl-opticl")
11916 (version (git-version "0.0.0" revision commit))
11917 (source
11918 (origin
11919 (method git-fetch)
11920 (uri (git-reference
11921 (url "https://github.com/slyrus/opticl")
11922 (commit commit)))
11923 (file-name (git-file-name name version))
11924 (sha256
11925 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
11926 (build-system asdf-build-system/sbcl)
11927 (native-inputs
11928 `(("fiveam" ,sbcl-fiveam)))
11929 (inputs
11930 `(("alexandria" ,sbcl-alexandria)
11931 ("cl-jpeg" ,sbcl-cl-jpeg)
11932 ("cl-tga" ,sbcl-cl-tga)
11933 ("png-read" ,sbcl-png-read)
11934 ("pngload" ,sbcl-pngload)
11935 ("retrospectiff" ,sbcl-retrospectiff)
11936 ("skippy" ,sbcl-skippy)
11937 ("zpng" ,sbcl-zpng)))
11938 (arguments
11939 '(#:asd-files '("opticl.asd")))
11940 (home-page "https://github.com/slyrus/opticl")
11941 (synopsis "Image processing library for Common Lisp")
11942 (description
11943 "Opticl is a Common Lisp library for representing, processing, loading,
11944 and saving 2-dimensional pixel-based images.")
11945 (license license:bsd-2))))
11946
11947 (define-public cl-opticl
11948 (sbcl-package->cl-source-package sbcl-opticl))
11949
11950 (define-public ecl-opticl
11951 (sbcl-package->ecl-package sbcl-opticl))
11952
11953 (define-public sbcl-mcclim
11954 (let ((commit "04cc542dd4b461b9d56406e40681d1a8f080730f")
11955 (revision "1"))
11956 (package
11957 (name "sbcl-mcclim")
11958 (version (git-version "0.9.7" revision commit))
11959 (source
11960 (origin
11961 (method git-fetch)
11962 (uri (git-reference
11963 (url "https://github.com/mcclim/mcclim")
11964 (commit commit)))
11965 (file-name (git-file-name name version))
11966 (sha256
11967 (base32 "1xjly8i62z72hfhlnz5kjd9i8xhrwckc7avyizxvhih67pkjmsx0"))))
11968 (build-system asdf-build-system/sbcl)
11969 (native-inputs
11970 `(("fiveam" ,sbcl-fiveam)
11971 ("pkg-config" ,pkg-config)))
11972 (inputs
11973 `(("alexandria" ,sbcl-alexandria)
11974 ("babel" ,sbcl-babel)
11975 ("bordeaux-threads" ,sbcl-bordeaux-threads)
11976 ("cl-freetype2" ,sbcl-cl-freetype2)
11977 ("cl-pdf" ,sbcl-cl-pdf)
11978 ("cffi" ,sbcl-cffi)
11979 ("cl-unicode" ,sbcl-cl-unicode)
11980 ("cl-vectors" ,sbcl-cl-vectors)
11981 ("closer-mop" ,sbcl-closer-mop)
11982 ("clx" ,sbcl-clx)
11983 ("flexi-streams" ,sbcl-flexi-streams)
11984 ("flexichain" ,sbcl-flexichain)
11985 ("font-dejavu" ,font-dejavu)
11986 ("fontconfig" ,fontconfig)
11987 ("freetype" ,freetype)
11988 ("harfbuzz" ,harfbuzz)
11989 ("log4cl" ,sbcl-log4cl)
11990 ("opticl" ,sbcl-opticl)
11991 ("spatial-trees" ,sbcl-spatial-trees)
11992 ("swank" ,sbcl-slime-swank)
11993 ("trivial-features" ,sbcl-trivial-features)
11994 ("trivial-garbage" ,sbcl-trivial-garbage)
11995 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
11996 ("zpb-ttf" ,sbcl-zpb-ttf)))
11997 (arguments
11998 '(#:asd-systems '("mcclim"
11999 "clim-examples")
12000 #:phases
12001 (modify-phases %standard-phases
12002 (add-after 'unpack 'fix-paths
12003 (lambda* (#:key inputs #:allow-other-keys)
12004 ;; mcclim-truetype uses DejaVu as default font and
12005 ;; sets the path at build time.
12006 (substitute* "Extensions/fonts/fontconfig.lisp"
12007 (("/usr/share/fonts/truetype/dejavu/")
12008 (string-append (assoc-ref inputs "font-dejavu")
12009 "/share/fonts/truetype/")))
12010 (substitute* "Extensions/fontconfig/src/functions.lisp"
12011 (("libfontconfig\\.so")
12012 (string-append (assoc-ref inputs "fontconfig")
12013 "/lib/libfontconfig.so")))
12014 (substitute* "Extensions/harfbuzz/src/functions.lisp"
12015 (("libharfbuzz\\.so")
12016 (string-append (assoc-ref inputs "harfbuzz")
12017 "/lib/libharfbuzz.so")))
12018 #t))
12019 (add-after 'unpack 'fix-build
12020 (lambda _
12021 ;; The cffi-grovel system does not get loaded automatically,
12022 ;; so we load it explicitly.
12023 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
12024 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
12025 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
12026 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
12027 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
12028 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
12029 #t)))))
12030 (home-page "https://common-lisp.net/project/mcclim/")
12031 (synopsis "Common Lisp GUI toolkit")
12032 (description
12033 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
12034 specification}, a toolkit for writing GUIs in Common Lisp.")
12035 (license license:lgpl2.1+))))
12036
12037 (define-public cl-mcclim
12038 (sbcl-package->cl-source-package sbcl-mcclim))
12039
12040 (define-public ecl-mcclim
12041 (sbcl-package->ecl-package sbcl-mcclim))
12042
12043 (define-public sbcl-cl-inflector
12044 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
12045 (revision "1"))
12046 (package
12047 (name "sbcl-cl-inflector")
12048 (version (git-version "0.2" revision commit))
12049 (source
12050 (origin
12051 (method git-fetch)
12052 (uri (git-reference
12053 (url "https://github.com/AccelerationNet/cl-inflector")
12054 (commit commit)))
12055 (file-name (git-file-name name version))
12056 (sha256
12057 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
12058 (build-system asdf-build-system/sbcl)
12059 (native-inputs
12060 `(("lisp-unit2" ,sbcl-lisp-unit2)))
12061 (inputs
12062 `(("alexandria" ,sbcl-alexandria)
12063 ("cl-ppcre" ,sbcl-cl-ppcre)))
12064 (home-page "https://github.com/AccelerationNet/cl-inflector")
12065 (synopsis "Library to pluralize/singularize English and Portuguese words")
12066 (description
12067 "This is a common lisp library to easily pluralize and singularize
12068 English and Portuguese words. This is a port of the ruby ActiveSupport
12069 Inflector module.")
12070 (license license:expat))))
12071
12072 (define-public cl-inflector
12073 (sbcl-package->cl-source-package sbcl-cl-inflector))
12074
12075 (define-public ecl-cl-inflector
12076 (sbcl-package->ecl-package sbcl-cl-inflector))
12077
12078 (define-public sbcl-ixf
12079 (let ((commit "ed26f87e4127e4a9e3aac4ff1e60d1f39cca5183")
12080 (revision "1"))
12081 (package
12082 (name "sbcl-ixf")
12083 (version (git-version "0.1.0" revision commit))
12084 (source
12085 (origin
12086 (method git-fetch)
12087 (uri (git-reference
12088 (url "https://github.com/dimitri/cl-ixf")
12089 (commit commit)))
12090 (file-name (git-file-name "cl-ixf" version))
12091 (sha256
12092 (base32 "1wjdnf4vr9z7lcfc49kl43g6l2i23q9n81siy494k17d766cdvqa"))))
12093 (build-system asdf-build-system/sbcl)
12094 (inputs
12095 `(("alexandria" ,sbcl-alexandria)
12096 ("babel" ,sbcl-babel)
12097 ("cl-ppcre" ,sbcl-cl-ppcre)
12098 ("ieee-floats" ,sbcl-ieee-floats)
12099 ("local-time" ,sbcl-local-time)
12100 ("md5" ,sbcl-md5)
12101 ("split-sequence" ,sbcl-split-sequence)))
12102 (home-page "https://github.com/dimitri/cl-ixf")
12103 (synopsis "Parse IBM IXF file format")
12104 (description
12105 "This is a Common Lisp library to handle the IBM PC version of the IXF
12106 (Integration Exchange Format) file format.")
12107 (license license:public-domain))))
12108
12109 (define-public ecl-ixf
12110 (sbcl-package->ecl-package sbcl-ixf))
12111
12112 (define-public cl-ixf
12113 (sbcl-package->cl-source-package sbcl-ixf))
12114
12115 (define-public sbcl-qbase64
12116 (package
12117 (name "sbcl-qbase64")
12118 (version "0.3.0")
12119 (source
12120 (origin
12121 (method git-fetch)
12122 (uri (git-reference
12123 (url "https://github.com/chaitanyagupta/qbase64")
12124 (commit version)))
12125 (file-name (git-file-name name version))
12126 (sha256
12127 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
12128 (build-system asdf-build-system/sbcl)
12129 (inputs
12130 `(("metabang-bind" ,sbcl-metabang-bind)
12131 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
12132 (native-inputs
12133 `(("fiveam" ,sbcl-fiveam)))
12134 (home-page "https://github.com/chaitanyagupta/qbase64")
12135 (synopsis "Base64 encoder and decoder for Common Lisp")
12136 (description "@code{qbase64} provides a fast and flexible base64 encoder
12137 and decoder for Common Lisp.")
12138 (license license:bsd-3)))
12139
12140 (define-public cl-qbase64
12141 (sbcl-package->cl-source-package sbcl-qbase64))
12142
12143 (define-public ecl-qbase64
12144 (sbcl-package->ecl-package sbcl-qbase64))
12145
12146 (define-public sbcl-lw-compat
12147 ;; No release since 2013.
12148 (let ((commit "aabfe28c6c1a4949f9d7b3cb30319367c9fd1c0d"))
12149 (package
12150 (name "sbcl-lw-compat")
12151 (version (git-version "1.0.0" "1" commit))
12152 (source
12153 (origin
12154 (method git-fetch)
12155 (uri (git-reference
12156 (url "https://github.com/pcostanza/lw-compat/")
12157 (commit commit)))
12158 (file-name (git-file-name name version))
12159 (sha256
12160 (base32 "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav"))))
12161 (build-system asdf-build-system/sbcl)
12162 (home-page "https://github.com/pcostanza/lw-compat/")
12163 (synopsis "LispWorks utilities ported to other Common Lisp implementations")
12164 (description "This package contains a few utility functions from the
12165 LispWorks library that are used in software such as ContextL.")
12166 (license license:expat))))
12167
12168 (define-public cl-lw-compat
12169 (sbcl-package->cl-source-package sbcl-lw-compat))
12170
12171 (define-public ecl-lw-compat
12172 (sbcl-package->ecl-package sbcl-lw-compat))
12173
12174 (define-public sbcl-contextl
12175 ;; No release since 2013.
12176 (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9"))
12177 (package
12178 (name "sbcl-contextl")
12179 (version (git-version "1.0.0" "1" commit))
12180 (source
12181 (origin
12182 (method git-fetch)
12183 (uri (git-reference
12184 (url "https://github.com/pcostanza/contextl/")
12185 (commit commit)))
12186 (file-name (git-file-name name version))
12187 (sha256
12188 (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226"))))
12189 (build-system asdf-build-system/sbcl)
12190 (inputs
12191 `(("closer-mop" ,sbcl-closer-mop)
12192 ("lw-compat" ,sbcl-lw-compat)))
12193 (home-page "https://github.com/pcostanza/contextl")
12194 (synopsis "Context-oriented programming for Common Lisp")
12195 (description "ContextL is a CLOS extension for Context-Oriented
12196 Programming (COP).
12197
12198 Find overview of ContextL's features in an overview paper:
12199 @url{http://www.p-cos.net/documents/contextl-soa.pdf}. See also this general
12200 overview article about COP which also contains some ContextL examples:
12201 @url{http://www.jot.fm/issues/issue_2008_03/article4/}.")
12202 (license license:expat))))
12203
12204 (define-public cl-contextl
12205 (sbcl-package->cl-source-package sbcl-contextl))
12206
12207 (define-public ecl-contextl
12208 (sbcl-package->ecl-package sbcl-contextl))
12209
12210 (define-public sbcl-hu.dwim.common-lisp
12211 (let ((commit "90558195773383142a57a16687d5e7f4adea6418"))
12212 (package
12213 (name "sbcl-hu.dwim.common-lisp")
12214 (version "2021-01-27")
12215 (source
12216 (origin
12217 (method git-fetch)
12218 (uri (git-reference
12219 (url "https://github.com/hu-dwim/hu.dwim.common-lisp/")
12220 (commit commit)))
12221 (file-name (git-file-name name version))
12222 (sha256
12223 (base32 "06zkdw3scnaw0d4nmsgkv7pi7sw00dikdgfgsqmbqfbz2yrsdabk"))))
12224 (build-system asdf-build-system/sbcl)
12225 (native-inputs
12226 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12227 (home-page "http://dwim.hu/project/hu.dwim.common-lisp")
12228 (synopsis "Redefine some standard Common Lisp names")
12229 (description "This library is a redefinition of the standard Common Lisp
12230 package that includes a number of renames and shadows. ")
12231 (license license:public-domain))))
12232
12233 (define-public cl-hu.dwim.common-lisp
12234 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
12235
12236 (define-public ecl-hu.dwim.common-lisp
12237 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
12238
12239 (define-public sbcl-hu.dwim.common
12240 (package
12241 (name "sbcl-hu.dwim.common")
12242 (version "2015-07-09")
12243 (source
12244 (origin
12245 (method url-fetch)
12246 (uri (string-append
12247 "http://beta.quicklisp.org/archive/hu.dwim.common/"
12248 version "/hu.dwim.common-"
12249 (string-replace-substring version "-" "")
12250 "-darcs.tgz"))
12251 (sha256
12252 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
12253 (build-system asdf-build-system/sbcl)
12254 (native-inputs
12255 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12256 (inputs
12257 `(("alexandria" ,sbcl-alexandria)
12258 ("anaphora" ,sbcl-anaphora)
12259 ("closer-mop" ,sbcl-closer-mop)
12260 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
12261 ("iterate" ,sbcl-iterate)
12262 ("metabang-bind" ,sbcl-metabang-bind)))
12263 (home-page "http://dwim.hu/")
12264 (synopsis "Common Lisp library shared by other hu.dwim systems")
12265 (description "This package contains a support library for other
12266 hu.dwim systems.")
12267 (license license:public-domain)))
12268
12269 (define-public cl-hu.dwim.common
12270 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
12271
12272 (define-public ecl-hu.dwim.common
12273 (sbcl-package->ecl-package sbcl-hu.dwim.common))
12274
12275 (define-public sbcl-hu.dwim.defclass-star
12276 (let ((commit "3086878a485074f9b2913c58267a9b764cd632fd"))
12277 (package
12278 (name "sbcl-hu.dwim.defclass-star")
12279 ;; We used to set version from the date when it was a darcs repo, so we
12280 ;; keep the year so that package gets updated on previous installs.
12281 (version (git-version "2021" "2" commit))
12282 (source
12283 (origin
12284 (method git-fetch)
12285 (uri (git-reference
12286 (url "https://github.com/hu-dwim/hu.dwim.defclass-star")
12287 (commit commit)))
12288 (file-name (git-file-name name version))
12289 (sha256
12290 (base32 "19ipds9r71qymfdp4izg0l7zmvinp06adr8rdalhaq7v7mzpg83z"))))
12291 (build-system asdf-build-system/sbcl)
12292 (native-inputs
12293 `( ;; These 2 inputs are only needed tests which are disabled, see below.
12294 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
12295 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
12296 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
12297 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12298 (arguments
12299 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
12300 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
12301 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
12302 #:tests? #f))
12303 (home-page "https://github.com/hu-dwim/hu.dwim.defclass-star")
12304 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
12305 (description "@code{defclass-star} provides defclass* and defcondition* to
12306 simplify class and condition declarations. Features include:
12307
12308 @itemize
12309 @item Automatically export all or select slots at compile time.
12310 @item Define the @code{:initarg} and @code{:accessor} automatically.
12311 @item Specify a name transformer for both the @code{:initarg} and
12312 @code{:accessor}, etc.
12313 @item Specify the @code{:initform} as second slot value.
12314 @end itemize
12315
12316 See
12317 @url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
12318 for an example.")
12319 (license license:public-domain))))
12320
12321 (define-public cl-hu.dwim.defclass-star
12322 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
12323
12324 (define-public ecl-hu.dwim.defclass-star
12325 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))
12326
12327 (define-public sbcl-livesupport
12328 (let ((commit "71e6e412df9f3759ad8378fabb203913d82e228a")
12329 (revision "1"))
12330 (package
12331 (name "sbcl-livesupport")
12332 (version (git-version "0.0.0" revision commit))
12333 (source
12334 (origin
12335 (method git-fetch)
12336 (uri (git-reference
12337 (url "https://github.com/cbaggers/livesupport")
12338 (commit commit)))
12339 (file-name (git-file-name name version))
12340 (sha256
12341 (base32 "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"))))
12342 (build-system asdf-build-system/sbcl)
12343 (home-page "https://github.com/cbaggers/livesupport")
12344 (synopsis "Some helpers that make livecoding a little easier")
12345 (description "This package provides a macro commonly used in livecoding to
12346 enable continuing when errors are raised. Simply wrap around a chunk of code
12347 and it provides a restart called @code{continue} which ignores the error and
12348 carrys on from the end of the body.")
12349 (license license:bsd-2))))
12350
12351 (define-public cl-livesupport
12352 (sbcl-package->cl-source-package sbcl-livesupport))
12353
12354 (define-public ecl-livesupport
12355 (sbcl-package->ecl-package sbcl-livesupport))
12356
12357 (define-public sbcl-envy
12358 (let ((commit "956321b2852d58ba71c6fe621f5c2924178e9f88")
12359 (revision "1"))
12360 (package
12361 (name "sbcl-envy")
12362 (version (git-version "0.1" revision commit))
12363 (home-page "https://github.com/fukamachi/envy")
12364 (source
12365 (origin
12366 (method git-fetch)
12367 (uri (git-reference
12368 (url home-page)
12369 (commit commit)))
12370 (file-name (git-file-name name version))
12371 (sha256
12372 (base32 "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg"))))
12373 (build-system asdf-build-system/sbcl)
12374 ;; (native-inputs ; Only for tests.
12375 ;; `(("prove" ,sbcl-prove)
12376 ;; ("osicat" ,sbcl-osicat)))
12377 (arguments
12378 '(#:phases
12379 (modify-phases %standard-phases
12380 (add-after 'unpack 'fix-tests
12381 (lambda _
12382 (substitute* "envy-test.asd"
12383 (("cl-test-more") "prove"))
12384 #t)))
12385 ;; Tests fail with
12386 ;; Component ENVY-ASD::ENVY-TEST not found, required by #<SYSTEM "envy">
12387 ;; like xsubseq. Why?
12388 #:tests? #f))
12389 (synopsis "Common Lisp configuration switcher inspired by Perl's Config::ENV.")
12390 (description "Envy is a configuration manager for various applications.
12391 Envy uses an environment variable to determine a configuration to use. This
12392 can separate configuration system from an implementation.")
12393 (license license:bsd-2))))
12394
12395 (define-public cl-envy
12396 (sbcl-package->cl-source-package sbcl-envy))
12397
12398 (define-public ecl-envy
12399 (sbcl-package->ecl-package sbcl-envy))
12400
12401 (define-public sbcl-mito
12402 (let ((commit "d3b9e375ef364a65692da2185085a08c969ac88a")
12403 (revision "1"))
12404 (package
12405 (name "sbcl-mito")
12406 (version (git-version "0.1" revision commit))
12407 (home-page "https://github.com/fukamachi/mito")
12408 (source
12409 (origin
12410 (method git-fetch)
12411 (uri (git-reference
12412 (url home-page)
12413 (commit commit)))
12414 (file-name (git-file-name name version))
12415 (sha256
12416 (base32 "08mncgzjnbbsf1a6am3l73iw4lyfvz5ldjg5g84awfaxml4p73mb"))))
12417 (build-system asdf-build-system/sbcl)
12418 (native-inputs
12419 `(("prove" ,sbcl-prove)))
12420 (inputs
12421 `(("alexandria" ,sbcl-alexandria)
12422 ("cl-ppcre" ,sbcl-cl-ppcre)
12423 ("cl-reexport" ,sbcl-cl-reexport)
12424 ("closer-mop" ,sbcl-closer-mop)
12425 ("dbi" ,sbcl-dbi)
12426 ("dissect" ,sbcl-dissect)
12427 ("esrap" ,sbcl-esrap)
12428 ("local-time" ,sbcl-local-time)
12429 ("optima" ,sbcl-optima)
12430 ("sxql" ,sbcl-sxql)
12431 ("uuid" ,sbcl-uuid)))
12432 (arguments
12433 '(#:phases
12434 (modify-phases %standard-phases
12435 (add-after 'unpack 'remove-non-functional-tests
12436 (lambda _
12437 (substitute* "mito-test.asd"
12438 (("\\(:test-file \"db/mysql\"\\)") "")
12439 (("\\(:test-file \"db/postgres\"\\)") "")
12440 (("\\(:test-file \"dao\"\\)") "")
12441 ;; TODO: migration/sqlite3 should work, re-enable once
12442 ;; upstream has fixed it:
12443 ;; https://github.com/fukamachi/mito/issues/70
12444 (("\\(:test-file \"migration/sqlite3\"\\)") "")
12445 (("\\(:test-file \"migration/mysql\"\\)") "")
12446 (("\\(:test-file \"migration/postgres\"\\)") "")
12447 (("\\(:test-file \"postgres-types\"\\)") "")
12448 (("\\(:test-file \"mixin\"\\)") ""))
12449 #t)))
12450 ;; TODO: While all enabled tests pass, the phase fails with:
12451 ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito">
12452 #:tests? #f))
12453 (synopsis "ORM for Common Lisp with migrations and relationships support")
12454 (description "Mito is yet another object relational mapper, and it aims
12455 to be a successor of Integral.
12456
12457 @itemize
12458 @item Support MySQL, PostgreSQL and SQLite3.
12459 @item Add id (serial/uuid primary key), created_at and updated_at by default
12460 like Ruby's ActiveRecord.
12461 @item Migrations.
12462 @item Database schema versioning.
12463 @end itemize\n")
12464 (license license:llgpl))))
12465
12466 (define-public cl-mito
12467 (sbcl-package->cl-source-package sbcl-mito))
12468
12469 (define-public ecl-mito
12470 (sbcl-package->ecl-package sbcl-mito))
12471
12472 (define-public sbcl-kebab
12473 (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b")
12474 (revision "1"))
12475 (package
12476 (name "sbcl-kebab")
12477 (version (git-version "0.1" revision commit))
12478 (home-page "https://github.com/pocket7878/kebab")
12479 (source
12480 (origin
12481 (method git-fetch)
12482 (uri (git-reference
12483 (url home-page)
12484 (commit commit)))
12485 (file-name (git-file-name name version))
12486 (sha256
12487 (base32 "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"))))
12488 (build-system asdf-build-system/sbcl)
12489 (inputs
12490 `(("cl-ppcre" ,sbcl-cl-ppcre)
12491 ("alexandria" ,sbcl-alexandria)
12492 ("cl-interpol" ,sbcl-cl-interpol)
12493 ("split-sequence" ,sbcl-split-sequence)))
12494 (native-inputs
12495 `(("prove" ,sbcl-prove)))
12496 (arguments
12497 ;; Tests passes but the phase fails with
12498 ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">.
12499 `(#:tests? #f))
12500 (synopsis "Common Lisp case converter")
12501 (description "This Common Lisp library converts strings, symbols and
12502 keywords between any of the following typographical cases: PascalCase,
12503 camelCase, snake_case, kebab-case (lisp-case).")
12504 (license license:llgpl))))
12505
12506 (define-public cl-kebab
12507 (sbcl-package->cl-source-package sbcl-kebab))
12508
12509 (define-public ecl-kebab
12510 (sbcl-package->ecl-package sbcl-kebab))
12511
12512 (define-public sbcl-datafly
12513 (let ((commit "adece27fcbc4b5ea39ad1a105048b6b7166e3b0d")
12514 (revision "1"))
12515 (package
12516 (name "sbcl-datafly")
12517 (version (git-version "0.1" revision commit))
12518 (home-page "https://github.com/fukamachi/datafly")
12519 (source
12520 (origin
12521 (method git-fetch)
12522 (uri (git-reference
12523 (url home-page)
12524 (commit commit)))
12525 (file-name (git-file-name name version))
12526 (sha256
12527 (base32 "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv"))))
12528 (build-system asdf-build-system/sbcl)
12529 (inputs
12530 `(("alexandria" ,sbcl-alexandria)
12531 ("iterate" ,sbcl-iterate)
12532 ("optima" ,sbcl-optima)
12533 ("trivial-types" ,sbcl-trivial-types)
12534 ("closer-mop" ,sbcl-closer-mop)
12535 ("cl-syntax" ,sbcl-cl-syntax)
12536 ("sxql" ,sbcl-sxql)
12537 ("dbi" ,sbcl-dbi)
12538 ("babel" ,sbcl-babel)
12539 ("local-time" ,sbcl-local-time)
12540 ("function-cache" ,sbcl-function-cache)
12541 ("jonathan" ,sbcl-jonathan)
12542 ("kebab" ,sbcl-kebab)
12543 ("log4cl" ,sbcl-log4cl)))
12544 (native-inputs
12545 `(("prove" ,sbcl-prove)))
12546 (arguments
12547 ;; TODO: Tests fail with
12548 ;; While evaluating the form starting at line 22, column 0
12549 ;; of #P"/tmp/guix-build-sbcl-datafly-0.1-1.adece27.drv-0/source/t/datafly.lisp":
12550 ;; Unhandled SQLITE:SQLITE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
12551 ;; {10009F8083}>:
12552 ;; Error when binding parameter 1 to value NIL.
12553 ;; Code RANGE: column index out of range.
12554 `(#:tests? #f))
12555 (synopsis "Lightweight database library for Common Lisp")
12556 (description "Datafly is a lightweight database library for Common Lisp.")
12557 (license license:bsd-3))))
12558
12559 (define-public cl-datafly
12560 (sbcl-package->cl-source-package sbcl-datafly))
12561
12562 (define-public ecl-datafly
12563 (sbcl-package->ecl-package sbcl-datafly))
12564
12565 (define-public sbcl-do-urlencode
12566 (let ((commit "199846441dad5dfac5478b8dee4b4e20d107af6a")
12567 (revision "1"))
12568 (package
12569 (name "sbcl-do-urlencode")
12570 (version (git-version "0.0.0" revision commit))
12571 (home-page "https://github.com/drdo/do-urlencode")
12572 (source
12573 (origin
12574 (method git-fetch)
12575 (uri (git-reference
12576 (url home-page)
12577 (commit commit)))
12578 (file-name (git-file-name name version))
12579 (sha256
12580 (base32 "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"))))
12581 (build-system asdf-build-system/sbcl)
12582 (inputs
12583 `(("alexandria" ,sbcl-alexandria)
12584 ("babel" ,sbcl-babel)))
12585 (synopsis "Percent Encoding (aka URL Encoding) Common Lisp library")
12586 (description "This library provides trivial percent encoding and
12587 decoding functions for URLs.")
12588 (license license:isc))))
12589
12590 (define-public cl-do-urlencode
12591 (sbcl-package->cl-source-package sbcl-do-urlencode))
12592
12593 (define-public ecl-do-urlencode
12594 (sbcl-package->ecl-package sbcl-do-urlencode))
12595
12596 (define-public sbcl-cl-emb
12597 (let ((commit "fd8652174d048d4525a81f38cdf42f4fa519f840")
12598 (revision "1"))
12599 (package
12600 (name "sbcl-cl-emb")
12601 (version (git-version "0.4.3" revision commit))
12602 (home-page "https://common-lisp.net/project/cl-emb/")
12603 (source
12604 (origin
12605 (method git-fetch)
12606 (uri (git-reference
12607 (url "https://github.com/38a938c2/cl-emb")
12608 (commit commit)))
12609 (file-name (git-file-name name version))
12610 (sha256
12611 (base32 "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"))))
12612 (build-system asdf-build-system/sbcl)
12613 (inputs
12614 `(("cl-ppcre" ,sbcl-cl-ppcre)))
12615 (synopsis "Templating system for Common Lisp")
12616 (description "A mixture of features from eRuby and HTML::Template. You
12617 could name it \"Yet Another LSP\" (LispServer Pages) but it's a bit more than
12618 that and not limited to a certain server or text format.")
12619 (license license:llgpl))))
12620
12621 (define-public cl-emb
12622 (sbcl-package->cl-source-package sbcl-cl-emb))
12623
12624 (define-public ecl-cl-emb
12625 (sbcl-package->ecl-package sbcl-cl-emb))
12626
12627 (define-public sbcl-cl-project
12628 (let ((commit "151107014e534fc4666222d57fec2cc8549c8814")
12629 (revision "1"))
12630 (package
12631 (name "sbcl-cl-project")
12632 (version (git-version "0.3.1" revision commit))
12633 (home-page "https://github.com/fukamachi/cl-project")
12634 (source
12635 (origin
12636 (method git-fetch)
12637 (uri (git-reference
12638 (url home-page)
12639 (commit commit)))
12640 (file-name (git-file-name name version))
12641 (sha256
12642 (base32 "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y"))))
12643 (build-system asdf-build-system/sbcl)
12644 (inputs
12645 `(("cl-emb" ,sbcl-cl-emb)
12646 ("cl-ppcre" ,sbcl-cl-ppcre)
12647 ("local-time" ,sbcl-local-time)
12648 ("prove" ,sbcl-prove)))
12649 (arguments
12650 ;; Tests depend on caveman, which in turns depends on cl-project.
12651 '(#:tests? #f
12652 #:asd-files '("cl-project.asd")))
12653 (synopsis "Generate a skeleton for modern Common Lisp projects")
12654 (description "This library provides a modern project skeleton generator.
12655 In contract with other generators, CL-Project generates one package per file
12656 and encourages unit testing by generating a system for unit testing, so you
12657 can begin writing unit tests as soon as the project is generated.")
12658 (license license:llgpl))))
12659
12660 (define-public cl-project
12661 (sbcl-package->cl-source-package sbcl-cl-project))
12662
12663 (define-public ecl-cl-project
12664 (sbcl-package->ecl-package sbcl-cl-project))
12665
12666 (define-public sbcl-caveman
12667 (let ((commit "faa5f7e3b364fd7e7096af9a7bb06728b8d80441") ; No release since 2012
12668 (revision "1"))
12669 (package
12670 (name "sbcl-caveman")
12671 (version (git-version "2.4.0" revision commit))
12672 (home-page "http://8arrow.org/caveman/")
12673 (source
12674 (origin
12675 (method git-fetch)
12676 (uri (git-reference
12677 (url "https://github.com/fukamachi/caveman/")
12678 (commit commit)))
12679 (file-name (git-file-name name version))
12680 (sha256
12681 (base32 "0kh0gx05pczk8f7r9qdi4zn1p3d0a2prps27k7jpgvc1dxkl8qhq"))))
12682 (build-system asdf-build-system/sbcl)
12683 (inputs
12684 `(("ningle" ,cl-ningle)
12685 ("lack" ,sbcl-lack)
12686 ("cl-project" ,sbcl-cl-project)
12687 ("dbi" ,sbcl-dbi)
12688 ("cl-syntax" ,sbcl-cl-syntax)
12689 ("myway" ,sbcl-myway)
12690 ("quri" ,sbcl-quri)))
12691 (native-inputs
12692 `(("usocket" ,sbcl-usocket)
12693 ("dexador" ,sbcl-dexador)))
12694 (arguments
12695 `(#:asd-files '("caveman2.asd")
12696 #:asd-systems '("caveman2")
12697 #:phases
12698 (modify-phases %standard-phases
12699 (add-after 'unpack 'remove-v1
12700 (lambda _
12701 (delete-file-recursively "v1")
12702 (for-each delete-file
12703 '("README.v1.markdown" "caveman.asd" "caveman-test.asd")))))
12704 ;; TODO: Tests fail with:
12705 ;; writing /gnu/store/...-sbcl-caveman-2.4.0-1.faa5f7e/share/common-lisp/sbcl-source/caveman2/v2/t/tmp/myapp573/tests/myapp573.lisp
12706 ;; While evaluating the form starting at line 38, column 0
12707 ;; of #P"/tmp/guix-build-sbcl-caveman-2.4.0-1.faa5f7e.drv-0/source/v2/t/caveman.lisp":
12708 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD "main thread" RUNNING
12709 ;; {10009F8083}>:
12710 ;; Component "myapp573" not found
12711 #:tests? #f))
12712 (synopsis "Lightweight web application framework in Common Lisp")
12713 (description "Caveman is intended to be a collection of common parts for
12714 web applications. Caveman2 has three design goals:
12715
12716 @itemize
12717 @item Be extensible.
12718 @item Be practical.
12719 @item Don't force anything.
12720 @end itemize\n")
12721 (license license:llgpl))))
12722
12723 (define-public cl-caveman
12724 (package
12725 (inherit
12726 (sbcl-package->cl-source-package sbcl-caveman))
12727 (propagated-inputs
12728 `(("ningle" ,cl-ningle)))))
12729
12730 (define-public ecl-caveman
12731 (sbcl-package->ecl-package sbcl-caveman))
12732
12733 (define-public sbcl-lambda-fiddle
12734 (let ((commit "d16bba55acf6065b412f64ab8fdff679a4a32b1e") ;; no tagged branch
12735 (revision "1"))
12736 (package
12737 (name "sbcl-lambda-fiddle")
12738 (version (git-version "1.0.0" revision commit))
12739 (source
12740 (origin
12741 (method git-fetch)
12742 (uri (git-reference
12743 (url "https://github.com/Shinmera/lambda-fiddle")
12744 (commit commit)))
12745 (file-name (git-file-name name version))
12746 (sha256
12747 (base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand"))))
12748 (build-system asdf-build-system/sbcl)
12749 (home-page "https://github.com/Shinmera/lambda-fiddle")
12750 (synopsis "Collection of utilities to process lambda-lists")
12751 (description "This collection of utilities is useful in contexts where
12752 you want a macro that uses lambda-lists in some fashion but need more precise
12753 processing.")
12754 (license license:zlib))))
12755
12756 (define-public cl-lambda-fiddle
12757 (sbcl-package->cl-source-package sbcl-lambda-fiddle))
12758
12759 (define-public ecl-lambda-fiddle
12760 (sbcl-package->ecl-package sbcl-lambda-fiddle))
12761
12762 (define-public sbcl-xmls
12763 (let ((commit "18546f0850b1338e03997ffd1696add1cb1800d1") ;; no tagged branch
12764 (revision "1"))
12765 (package
12766 (name "sbcl-xmls")
12767 (version (git-version "3.0.2" revision commit))
12768 (source
12769 (origin
12770 (method git-fetch)
12771 (uri (git-reference
12772 (url "https://github.com/rpgoldman/xmls")
12773 (commit commit)))
12774 (file-name (git-file-name name version))
12775 (sha256
12776 (base32 "1lmvfml2ldbb1wkhm25jqqk2bhwsz52hhcgljbnzj1xr8xhc3anp"))))
12777 (native-inputs
12778 `(("fiveam" ,sbcl-fiveam)))
12779 (build-system asdf-build-system/sbcl)
12780 (home-page "https://github.com/rpgoldman/xmls")
12781 (synopsis "Non-validating XML parser for Common Lisp")
12782 (description "Xmls is a self-contained, easily embedded parser that
12783 recognizes a useful subset of the XML spec. It provides a simple mapping from
12784 XML to Lisp structures or s-expressions and back.")
12785 (license license:bsd-2))))
12786
12787 (define-public cl-xmls
12788 (sbcl-package->cl-source-package sbcl-xmls))
12789
12790 (define-public ecl-xmls
12791 (sbcl-package->ecl-package sbcl-xmls))
12792
12793 (define-public sbcl-geco
12794 (package
12795 (name "sbcl-geco")
12796 (version "2.1.1")
12797 (source
12798 (origin
12799 (method git-fetch)
12800 (uri (git-reference
12801 (url "https://github.com/gpwwjr/GECO")
12802 (commit (string-append "v" version))))
12803 (file-name (git-file-name "geco" version))
12804 (sha256
12805 (base32 "1rc8a4mk40hjx5qy980hjylv6xxqdbq38hg8c4w30y93abfd519s"))))
12806 (build-system asdf-build-system/sbcl)
12807 (home-page "http://hiwaay.net/~gpw/geco/geco.html")
12808 (synopsis "Genetic algorithm toolkit for Common Lisp")
12809 (description
12810 "GECO (Genetic Evolution through Combination of Objects) is an extensible,
12811 object-oriented framework for prototyping genetic algorithms in Common Lisp.")
12812 (license license:lgpl2.1+)))
12813
12814 (define-public cl-geco
12815 (sbcl-package->cl-source-package sbcl-geco))
12816
12817 (define-public ecl-geco
12818 (sbcl-package->ecl-package sbcl-geco))
12819
12820 (define-public sbcl-html-entities
12821 (let ((commit "4af018048e891f41d77e7d680ed3aeb639e1eedb"))
12822 (package
12823 (name "sbcl-html-entities")
12824 (version (git-version "0.02" "1" commit))
12825 (source
12826 (origin
12827 (method git-fetch)
12828 (uri (git-reference
12829 (url "https://github.com/BnMcGn/html-entities/")
12830 (commit commit)))
12831 (file-name (git-file-name name version))
12832 (sha256
12833 (base32 "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"))))
12834 (build-system asdf-build-system/sbcl)
12835 (inputs
12836 `(("ppcre" ,sbcl-cl-ppcre)))
12837 (native-inputs
12838 `(("fiveam" ,sbcl-fiveam)))
12839 (home-page "https://github.com/BnMcGn/html-entities/")
12840 (synopsis "Encode and decode entities in HTML with Common Lisp")
12841 (description "Html-entities is a Common Lisp library that lets you
12842 encode and decode entities in HTML.")
12843 (license license:expat))))
12844
12845 (define-public cl-html-entities
12846 (sbcl-package->cl-source-package sbcl-html-entities))
12847
12848 (define-public ecl-html-entities
12849 (sbcl-package->ecl-package sbcl-html-entities))
12850
12851 (define-public sbcl-quicksearch
12852 (let ((commit "fb02ecf7c876ec580ab18c7d2c8c7814c06af599"))
12853 (package
12854 (name "sbcl-quicksearch")
12855 (version (git-version "0.01.04" "1" commit))
12856 (source
12857 (origin
12858 (method git-fetch)
12859 (uri (git-reference
12860 (url "https://github.com/tkych/quicksearch/")
12861 (commit commit)))
12862 (file-name (git-file-name name version))
12863 (sha256
12864 (base32 "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps"))))
12865 (build-system asdf-build-system/sbcl)
12866 (inputs
12867 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12868 ("iterate" ,sbcl-iterate)
12869 ("alexandria" ,sbcl-alexandria)
12870 ("anaphora" ,sbcl-anaphora)
12871 ("ppcre" ,sbcl-cl-ppcre)
12872 ("drakma" ,sbcl-drakma)
12873 ("html-entities" ,sbcl-html-entities)
12874 ("yason" ,sbcl-yason)
12875 ("flexi-streams" ,sbcl-flexi-streams)
12876 ("do-urlencode" ,sbcl-do-urlencode)))
12877 (home-page "https://github.com/tkych/quicksearch/")
12878 (synopsis "Search Engine Interface for Common Lisp packages")
12879 (description "Quicksearch is a search-engine-interface for Common Lisp.
12880 The goal of Quicksearch is to find the Common Lisp library quickly. For
12881 example, if you will find the library about json, just type @code{(qs:?
12882 'json)} at REPL.
12883
12884 The function @code{quicksearch} searches for Common Lisp projects in
12885 Quicklisp, Cliki, GitHub and BitBucket, then outputs results in REPL. The
12886 function @code{?} is abbreviation wrapper for @code{quicksearch}.")
12887 (license license:expat))))
12888
12889 (define-public cl-quicksearch
12890 (sbcl-package->cl-source-package sbcl-quicksearch))
12891
12892 (define-public ecl-quicksearch
12893 (sbcl-package->ecl-package sbcl-quicksearch))
12894
12895 (define-public sbcl-agutil
12896 (let ((commit "df188d754d472da9faa1601a48f1f37bb7b34d68"))
12897 (package
12898 (name "sbcl-agutil")
12899 (version (git-version "0.0.1" "1" commit))
12900 (source
12901 (origin
12902 (method git-fetch)
12903 (uri (git-reference
12904 (url "https://github.com/alex-gutev/agutil/")
12905 (commit commit)))
12906 (file-name (git-file-name name version))
12907 (sha256
12908 (base32 "1xpnyzksk2xld64b6lw6rw0gn5zxlb77jwna59sd4yl7kxhxlfpf"))))
12909 (build-system asdf-build-system/sbcl)
12910 (inputs
12911 `(("alexandria" ,sbcl-alexandria)
12912 ("trivia" ,sbcl-trivia)))
12913 (home-page "https://github.com/alex-gutev/agutil/")
12914 (synopsis "Collection of Common Lisp utilities")
12915 (description "A collection of Common Lisp utility functions and macros
12916 mostly not found in other utility packages.")
12917 (license license:expat))))
12918
12919 (define-public cl-agutil
12920 (sbcl-package->cl-source-package sbcl-agutil))
12921
12922 (define-public ecl-agutil
12923 (sbcl-package->ecl-package sbcl-agutil))
12924
12925 (define-public sbcl-custom-hash-table
12926 (let ((commit "f26983133940f5edf826ebbc8077acc04816ddfa"))
12927 (package
12928 (name "sbcl-custom-hash-table")
12929 (version (git-version "0.3" "1" commit))
12930 (source
12931 (origin
12932 (method git-fetch)
12933 (uri (git-reference
12934 (url "https://github.com/metawilm/cl-custom-hash-table")
12935 (commit commit)))
12936 (file-name (git-file-name name version))
12937 (sha256
12938 (base32 "1k4mvrpbqqds2fwjxp1bxmrfmr8ch4dkwhnkbw559knbqshvrlj5"))))
12939 (build-system asdf-build-system/sbcl)
12940 (arguments
12941 '(#:asd-files '("cl-custom-hash-table.asd")
12942 #:asd-systems '("cl-custom-hash-table")))
12943 (home-page "https://github.com/metawilm/cl-custom-hash-table")
12944 (synopsis "Custom hash tables for Common Lisp")
12945 (description "This library allows creation of hash tables with arbitrary
12946 @code{test}/@code{hash} functions, in addition to the @code{test} functions
12947 allowed by the standard (@code{EQ}, @code{EQL}, @code{EQUAL} and
12948 @code{EQUALP}), even in implementations that don't support this functionality
12949 directly.")
12950 (license license:expat))))
12951
12952 (define-public cl-custom-hash-table
12953 (sbcl-package->cl-source-package sbcl-custom-hash-table))
12954
12955 (define-public ecl-custom-hash-table
12956 (sbcl-package->ecl-package sbcl-custom-hash-table))
12957
12958 (define-public sbcl-collectors
12959 (let ((commit "13acef25d8422d1d82e067b1861e513587c166ee"))
12960 (package
12961 (name "sbcl-collectors")
12962 (version (git-version "0.1" "1" commit))
12963 (source
12964 (origin
12965 (method git-fetch)
12966 (uri (git-reference
12967 (url "https://github.com/AccelerationNet/collectors")
12968 (commit commit)))
12969 (file-name (git-file-name name version))
12970 (sha256
12971 (base32 "1si68n1j6rpns8jw6ksqjpb937pdl30v7xza8rld7j5vh0jhy2yi"))))
12972 (build-system asdf-build-system/sbcl)
12973 (inputs
12974 `(("alexandria" ,sbcl-alexandria)
12975 ("closer-mop" ,sbcl-closer-mop)
12976 ("symbol-munger" ,sbcl-symbol-munger)))
12977 (native-inputs
12978 `(("lisp-unit2" ,sbcl-lisp-unit2)))
12979 (home-page "https://github.com/AccelerationNet/collectors/")
12980 (synopsis "Common lisp library providing collector macros")
12981 (description "A small collection of common lisp macros to make
12982 collecting values easier.")
12983 (license license:bsd-3))))
12984
12985 (define-public cl-collectors
12986 (sbcl-package->cl-source-package sbcl-collectors))
12987
12988 (define-public ecl-collectors
12989 (sbcl-package->ecl-package sbcl-collectors))
12990
12991 (define-public sbcl-cl-environments
12992 (let ((commit "0b22154c5afefef23d1eba9a4fae11d73580ef41")) ; No version in 2 years.
12993 (package
12994 (name "sbcl-cl-environments")
12995 (version (git-version "0.2.3" "1" commit))
12996 (source
12997 (origin
12998 (method git-fetch)
12999 (uri (git-reference
13000 (url "https://github.com/alex-gutev/cl-environments")
13001 (commit commit)))
13002 (file-name (git-file-name name version))
13003 (sha256
13004 (base32
13005 "18r3wfarr7lgn78m6c66r0r9aazirv07gy7xgvqkl9pmrz1bc47m"))))
13006 (build-system asdf-build-system/sbcl)
13007 (inputs
13008 `(("alexandria" ,sbcl-alexandria)
13009 ("anaphora" ,sbcl-anaphora)
13010 ("collectors" ,sbcl-collectors)
13011 ("optima" ,sbcl-optima)))
13012 (native-inputs
13013 `(("prove" ,sbcl-prove)))
13014 (home-page "https://github.com/alex-gutev/cl-environments")
13015 (synopsis "Implements the Common Lisp standard environment access API")
13016 (description "This library provides a uniform API, as specified in Common
13017 Lisp the Language 2, for accessing information about variable and function
13018 bindings from implementation-defined lexical environment objects. All major
13019 Common Lisp implementations are supported, even those which don't support the
13020 CLTL2 environment access API.")
13021 (license license:expat))))
13022
13023 (define-public cl-environments
13024 (sbcl-package->cl-source-package sbcl-cl-environments))
13025
13026 (define-public ecl-environments
13027 (sbcl-package->ecl-package sbcl-cl-environments))
13028
13029 (define-public sbcl-static-dispatch
13030 (let ((commit "6243afcd152854c52ba33daef7394367b657d9c6")
13031 (revision "1"))
13032 (package
13033 (name "sbcl-static-dispatch")
13034 (version (git-version "0.3" revision commit))
13035 (source
13036 (origin
13037 (method git-fetch)
13038 (uri (git-reference
13039 (url "https://github.com/alex-gutev/static-dispatch")
13040 (commit commit)))
13041 (file-name (git-file-name "static-dispatch" version))
13042 (sha256
13043 (base32 "1lli9ar1xbnhkgb5d01rlw4pvfylg2arrw68np2c07fpkkafimg7"))))
13044 (build-system asdf-build-system/sbcl)
13045 (native-inputs
13046 `(("prove" ,sbcl-prove)))
13047 (inputs
13048 `(("agutil" ,sbcl-agutil)
13049 ("alexandria" ,sbcl-alexandria)
13050 ("anaphora" ,sbcl-anaphora)
13051 ("arrows" ,sbcl-arrows)
13052 ("cl-environments" ,sbcl-cl-environments)
13053 ("closer-mop" ,sbcl-closer-mop)
13054 ("iterate" ,sbcl-iterate)
13055 ("trivia" ,sbcl-trivia)))
13056 (home-page "https://github.com/alex-gutev/static-dispatch")
13057 (synopsis "Static generic function dispatch for Common Lisp")
13058 (description "Static dispatch is a Common Lisp library, inspired by
13059 @code{inlined-generic-function}, which allows standard Common Lisp generic
13060 function dispatch to be performed statically (at compile time) rather than
13061 dynamically (runtime). This is similar to what is known as \"overloading\" in
13062 languages such as C++ and Java.
13063
13064 The purpose of static dispatch is to provide an optimization in cases where
13065 the usual dynamic dispatch is too slow, and the dynamic features of generic
13066 functions, such as adding/removing methods at runtime are not required. An
13067 example of such a case is a generic equality comparison function. Currently
13068 generic functions are considered far too slow to implement generic arithmetic
13069 and comparison operations when used heavily in numeric code.")
13070 (license license:expat))))
13071
13072 (define-public cl-static-dispatch
13073 (sbcl-package->cl-source-package sbcl-static-dispatch))
13074
13075 (define-public ecl-static-dispatch
13076 (sbcl-package->ecl-package sbcl-static-dispatch))
13077
13078 (define-public sbcl-generic-cl
13079 ;; Latest commit includes a necessary fix for our Guix build.
13080 (let ((commit "8e5a81487ee3c13fe5ffdc8bdda161d476639535"))
13081 (package
13082 (name "sbcl-generic-cl")
13083 (version (git-version "0.7.1" "1" commit))
13084 (source
13085 (origin
13086 (method git-fetch)
13087 (uri (git-reference
13088 (url "https://github.com/alex-gutev/generic-cl")
13089 (commit commit)))
13090 (file-name (git-file-name name version))
13091 (sha256
13092 (base32
13093 "11w0g79s4wmc78vmfng437rmsgnp5qn246zcyr540fp5nw0ad6ix"))))
13094 (build-system asdf-build-system/sbcl)
13095 (inputs
13096 `(("agutil" ,sbcl-agutil)
13097 ("alexandria" ,sbcl-alexandria)
13098 ("anaphora" ,sbcl-anaphora)
13099 ("arrows" ,sbcl-arrows)
13100 ("cl-custom-hash-table" ,sbcl-custom-hash-table)
13101 ("static-dispatch" ,sbcl-static-dispatch)
13102 ("trivia" ,sbcl-trivia)))
13103 (native-inputs
13104 `(("prove" ,sbcl-prove)))
13105 (arguments
13106 ;; Tests fail because SBCL head size is not high enough.
13107 ;; https://github.com/alex-gutev/generic-cl/issues/6
13108 `(#:tests? #f))
13109 (home-page "https://alex-gutev.github.io/generic-cl/")
13110 (synopsis "Generic function interface to standard Common Lisp functions")
13111 (description "@code{generic-cl} provides a generic function wrapper over
13112 various functions in the Common Lisp standard, such as equality predicates and
13113 sequence operations. The goal of this wrapper is to provide a standard
13114 interface to common operations, such as testing for the equality of two
13115 objects, which is extensible to user-defined types.")
13116 (license license:expat))))
13117
13118 (define-public cl-generic-cl
13119 (sbcl-package->cl-source-package sbcl-generic-cl))
13120
13121 (define-public ecl-generic-cl
13122 (sbcl-package->ecl-package sbcl-generic-cl))
13123
13124 (define-public sbcl-defpackage-plus
13125 (let ((revision "0")
13126 (commit "5492e27e0bdb7b75fa5177ea4388519dc7a75f11"))
13127 (package
13128 (name "sbcl-defpackage-plus")
13129 (version (git-version "1.0" revision commit))
13130 (source
13131 (origin
13132 (method git-fetch)
13133 (uri (git-reference
13134 (url "https://github.com/rpav/defpackage-plus")
13135 (commit commit)))
13136 (file-name (git-file-name name version))
13137 (sha256
13138 (base32 "0lzljvf343xb6mlh6lni2i27hpm5qd376522mk6hr2pa20vd6rdq"))))
13139 (build-system asdf-build-system/sbcl)
13140 (inputs
13141 `(("alexandria" ,sbcl-alexandria)))
13142 (home-page "https://github.com/rpav/defpackage-plus")
13143 (synopsis "Extensible @code{DEFPACKAGE} variant with version support")
13144 (description
13145 "@code{DEFPACKAGE-PLUS} is an extensible @code{DEFPACKAGE} variant with
13146 predictable cross-platform behavior and some utilities useful for versioning.")
13147 (license license:bsd-2))))
13148
13149 (define-public cl-defpackage-plus
13150 (sbcl-package->cl-source-package sbcl-defpackage-plus))
13151
13152 (define-public ecl-defpackage-plus
13153 (sbcl-package->ecl-package sbcl-defpackage-plus))
13154
13155 (define-public sbcl-deploy
13156 (let ((commit "9b20e64fe924b9e31832304d87a3a72c383dc6d8")
13157 (revision "2"))
13158 (package
13159 (name "sbcl-deploy")
13160 (version (git-version "1.0.0" revision commit))
13161 (source
13162 (origin
13163 (method git-fetch)
13164 (uri (git-reference
13165 (url "https://github.com/Shinmera/deploy")
13166 (commit commit)))
13167 (file-name (git-file-name "deploy" version))
13168 (sha256
13169 (base32 "07pfkibaridihg8lbq2czwa4iqifqk24n6rx7bfnv7i49p1ppja1"))))
13170 (build-system asdf-build-system/sbcl)
13171 (arguments
13172 `(#:test-asd-file "deploy-test.asd"
13173 #:asd-files '("deploy.asd"
13174 "deploy-test.asd")))
13175 (native-inputs
13176 `(("cl-mpg123" ,sbcl-cl-mpg123)
13177 ("cl-out123" ,sbcl-cl-out123)))
13178 (inputs
13179 `(("cffi" ,sbcl-cffi)
13180 ("documentation-utils" ,sbcl-documentation-utils)
13181 ("trivial-features" ,sbcl-trivial-features)))
13182 (home-page "https://shinmera.github.io/deploy/")
13183 (synopsis "Deployment tools for standalone Common Lisp application")
13184 (description
13185 "This is a system to help you easily and quickly deploy standalone
13186 common lisp applications as binaries. Specifically it is geared towards
13187 applications with foreign library dependencies that run some kind of GUI.")
13188 (license license:artistic2.0))))
13189
13190 (define-public cl-deploy
13191 (sbcl-package->cl-source-package sbcl-deploy))
13192
13193 (define-public ecl-deploy
13194 (sbcl-package->ecl-package sbcl-deploy))
13195
13196 (define-public sbcl-deeds
13197 ;; taged branch is outdated
13198 (let ((revision "1")
13199 (commit "f5df54eac79b58a34030e0eb8acf3952c788410d"))
13200 (package
13201 (name "sbcl-deeds")
13202 (version (git-version "1.1.1" revision commit))
13203 (source
13204 (origin
13205 (method git-fetch)
13206 (uri (git-reference
13207 (url "https://github.com/Shinmera/deeds")
13208 (commit commit)))
13209 (file-name (git-file-name name version))
13210 (sha256
13211 (base32 "062cnb2dwli6pw3zvv46jfxyxdzcbzwsck5pa6nw03qf1j1hyg3k"))))
13212 (build-system asdf-build-system/sbcl)
13213 (inputs
13214 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13215 ("closer-mop" ,sbcl-closer-mop)
13216 ("form-fiddle" ,sbcl-form-fiddle)
13217 ("lambda-fiddle" ,sbcl-lambda-fiddle)))
13218 (home-page "https://github.com/Shinmera/deeds")
13219 (synopsis "Extensible Event Delivery System")
13220 (description
13221 "@code{deeds} allows for efficient event delivery to multiple handlers
13222 with a complex event filtering system.")
13223 (license license:zlib))))
13224
13225 (define-public cl-deeds
13226 (sbcl-package->cl-source-package sbcl-deeds))
13227
13228 (define-public ecl-deeds
13229 (sbcl-package->ecl-package sbcl-deeds))
13230
13231 (define-public sbcl-make-hash
13232 ;; no tagged branch
13233 (let ((revision "1")
13234 (commit "ae0909cd8e697520a1085fac6f54ac2b448ebd21"))
13235 (package
13236 (name "sbcl-make-hash")
13237 (version (git-version "1.0.2" revision commit))
13238 (source
13239 (origin
13240 (method git-fetch)
13241 (uri (git-reference
13242 (url "https://github.com/genovese/make-hash")
13243 (commit commit)))
13244 (file-name (git-file-name name version))
13245 (sha256
13246 (base32 "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8"))))
13247 (build-system asdf-build-system/sbcl)
13248 (home-page "https://github.com/genovese/make-hash")
13249 (synopsis "Common Lisp package for flexible hash table creation")
13250 (description
13251 "This is a Common Lisp package for hash table creation with flexible,
13252 extensible initializers.")
13253 (license license:bsd-3))))
13254
13255 (define-public cl-make-hash
13256 (sbcl-package->cl-source-package sbcl-make-hash))
13257
13258 (define-public ecl-make-hash
13259 (sbcl-package->ecl-package sbcl-make-hash))
13260
13261 (define-public sbcl-claw-support
13262 (package
13263 (name "sbcl-claw-support")
13264 (version "1.0.0")
13265 (source
13266 (origin
13267 (method git-fetch)
13268 (uri (git-reference
13269 (url "https://github.com/borodust/claw-support")
13270 (commit "9a15c8bed04585f45e6a461bcda1b475144dbd0b")))
13271 (file-name (git-file-name name version))
13272 (sha256
13273 (base32 "1my2ka7h72ipx5n3b465g6kjkasrhsvhqlijwcg6dhlzs5yygl23"))))
13274 (build-system asdf-build-system/sbcl)
13275 (home-page "https://github.com/borodust/claw-support")
13276 (synopsis "Support routines for claw")
13277 (description
13278 "This package provides support routines for the @code{claw} Common Lisp
13279 package.")
13280 (license license:expat)))
13281
13282 (define-public cl-claw-support
13283 (sbcl-package->cl-source-package sbcl-claw-support))
13284
13285 (define-public ecl-claw-support
13286 (sbcl-package->ecl-package sbcl-claw-support))
13287
13288 (define-public sbcl-claw
13289 (let ((revision "0")
13290 (commit "3cd4a96fca95eb9e8d5d069426694669f81b2250"))
13291 (package
13292 (name "sbcl-claw")
13293 (version (git-version "1.0" revision commit))
13294 (source
13295 (origin
13296 (method git-fetch)
13297 (uri (git-reference
13298 (url "https://github.com/borodust/claw")
13299 (commit commit)))
13300 (file-name (git-file-name "claw" version))
13301 (sha256
13302 (base32 "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d"))))
13303 (build-system asdf-build-system/sbcl)
13304 (inputs
13305 `(("alexandria" ,sbcl-alexandria)
13306 ("cffi" ,sbcl-cffi)
13307 ("cl-json" ,sbcl-cl-json)
13308 ("cl-ppcre" ,sbcl-cl-ppcre)
13309 ("claw-support" ,sbcl-claw-support)
13310 ("local-time" ,sbcl-local-time)
13311 ("trivial-features" ,sbcl-trivial-features)))
13312 (home-page "https://github.com/borodust/claw")
13313 (synopsis "Autowrapper for Common Lisp")
13314 (description
13315 "This is a Common Lisp autowrapping facility for quickly creating clean
13316 and lean bindings to C libraries.")
13317 (license license:bsd-2))))
13318
13319 (define-public cl-claw
13320 (sbcl-package->cl-source-package sbcl-claw))
13321
13322 (define-public ecl-claw
13323 (sbcl-package->ecl-package sbcl-claw))
13324
13325 (define-public sbcl-claw-utils
13326 (let ((revision "0")
13327 (commit "efe25016501973dc369f067a64c7d225802bc56f"))
13328 (package
13329 (name "sbcl-claw-utils")
13330 ;; version is not specified
13331 (version (git-version "0.0.0" revision commit))
13332 (source
13333 (origin
13334 (method git-fetch)
13335 (uri (git-reference
13336 (url "https://github.com/borodust/claw-utils")
13337 (commit commit)))
13338 (file-name (git-file-name "claw-utils" version))
13339 (sha256
13340 (base32 "01df3kyf2qs3czi332dnz2s35x2j0fq46vgmsw7wjrrvnqc22mk5"))))
13341 (build-system asdf-build-system/sbcl)
13342 (inputs
13343 `(("alexandria" ,sbcl-alexandria)
13344 ("cffi" ,sbcl-cffi)
13345 ("claw" ,sbcl-claw)))
13346 (home-page "https://github.com/borodust/claw-utils")
13347 (synopsis "Utilities for easier autowrapping")
13348 (description
13349 "This Common Lisp library contains various handy utilities to help
13350 autowrapping with @code{claw}.")
13351 (license license:expat))))
13352
13353 (define-public cl-claw-utils
13354 (sbcl-package->cl-source-package sbcl-claw-utils))
13355
13356 (define-public ecl-claw-utils
13357 (sbcl-package->ecl-package sbcl-claw-utils))
13358
13359 (define-public sbcl-array-operations
13360 (let ((commit "75cbc3b1adb2e3ce2109489753d0f290b071e81b")
13361 (revision "0"))
13362 (package
13363 (name "sbcl-array-operations")
13364 (version (git-version "0.0.0" revision commit))
13365 (source
13366 (origin
13367 (method git-fetch)
13368 (uri (git-reference
13369 (url "https://github.com/bendudson/array-operations")
13370 (commit commit)))
13371 (file-name (git-file-name "array-operations" version))
13372 (sha256
13373 (base32 "0ip49hhq32w80qsc7jmspyda5r2rsszvw0mk2r3341cld78sz9ya"))))
13374 (build-system asdf-build-system/sbcl)
13375 (native-inputs
13376 `(("alexandria" ,sbcl-alexandria)
13377 ("clunit2" ,sbcl-clunit2)))
13378 (inputs
13379 `(("let-plus" ,sbcl-let-plus)))
13380 (synopsis "Simple array operations library for Common Lisp")
13381 (description
13382 "This library is a collection of functions and macros for manipulating
13383 Common Lisp arrays and performing numerical calculations with them.")
13384 (home-page "https://github.com/bendudson/array-operations")
13385 (license license:expat))))
13386
13387 (define-public cl-array-operations
13388 (sbcl-package->cl-source-package sbcl-array-operations))
13389
13390 (define-public ecl-array-operations
13391 (sbcl-package->ecl-package sbcl-array-operations))
13392
13393 (define-public sbcl-clml
13394 (let ((commit "95505b54c8c7b4b27f500c3be97fa5732f4b51a8")
13395 (revision "0"))
13396 (package
13397 (name "sbcl-clml")
13398 (version (git-version "0.0.0" revision commit))
13399 (source
13400 (origin
13401 (method git-fetch)
13402 (uri (git-reference
13403 (url "https://github.com/mmaul/clml")
13404 (commit commit)))
13405 (file-name (git-file-name "clml" version))
13406 (sha256
13407 (base32 "006pii59nmpc61n7p7h8ha5vjg6x0dya327i58z0rnvxs249h345"))
13408 ;; TODO: Remove this when the patch has been merged upstream.
13409 (patches (search-patches "sbcl-clml-fix-types.patch"))))
13410 (build-system asdf-build-system/sbcl)
13411 (inputs
13412 `(("alexandia" ,sbcl-alexandria)
13413 ("array-operations" ,sbcl-array-operations)
13414 ("cl-fad" ,sbcl-cl-fad)
13415 ("cl-ppcre" ,sbcl-cl-ppcre)
13416 ("drakma" ,sbcl-drakma)
13417 ("introspect-environment" ,sbcl-introspect-environment)
13418 ("iterate" ,sbcl-iterate)
13419 ("lparallel" ,sbcl-lparallel)
13420 ("parse-number" ,sbcl-parse-number)
13421 ("split-sequence" ,sbcl-split-sequence)
13422 ("trivial-garbage" ,sbcl-trivial-garbage)))
13423 (synopsis "Common Lisp machine learning library")
13424 (description
13425 "CLML (Common Lisp Machine Learning) is a high performance and large
13426 scale statistical machine learning package")
13427 (home-page "https://mmaul.github.io/clml/")
13428 (license license:llgpl))))
13429
13430 (define-public cl-clml
13431 (sbcl-package->cl-source-package sbcl-clml))
13432
13433 (define-public sbcl-utm-ups
13434 (let ((commit "ffcb7b6d5a56fb7d4b2b95b83bbd28ffe6e6961f")
13435 (revision "0"))
13436 (package
13437 (name "sbcl-utm-ups")
13438 (version (git-version "1.1" revision commit))
13439 (source
13440 (origin
13441 (method git-fetch)
13442 (uri (git-reference
13443 (url "https://github.com/glv2/utm-ups")
13444 (commit commit)))
13445 (file-name (git-file-name "utm-ups" version))
13446 (sha256
13447 (base32 "1rvyh0srgd81kvbzmq4ysd9y6c0qdwh23naqxc9asw1vh7fq08x1"))))
13448 (build-system asdf-build-system/sbcl)
13449 (native-inputs
13450 `(("fiveam" ,sbcl-fiveam)))
13451 (synopsis
13452 "Convert coordinates between latitude/longitude and UTM or UPS")
13453 (description
13454 "This a Common Lisp library to convert geographic coordinates between
13455 latitude/longitude and UTM (Universal Transverse Mercator) or UPS (Universal
13456 Polar Stereographic).")
13457 (home-page "https://github.com/glv2/utm-ups")
13458 (license license:gpl3+))))
13459
13460 (define-public cl-utm-ups
13461 (sbcl-package->cl-source-package sbcl-utm-ups))
13462
13463 (define-public ecl-utm-ups
13464 (sbcl-package->ecl-package sbcl-utm-ups))
13465
13466 (define-public sbcl-mgrs
13467 (let ((commit "00455460407b7e5509d1be3da09bf6152956761f")
13468 (revision "0"))
13469 (package
13470 (name "sbcl-mgrs")
13471 (version (git-version "1.0" revision commit))
13472 (source
13473 (origin
13474 (method git-fetch)
13475 (uri (git-reference
13476 (url "https://github.com/glv2/mgrs")
13477 (commit commit)))
13478 (file-name (git-file-name "mgrs" version))
13479 (sha256
13480 (base32 "0ckvn4hg3wwivzavhfashb6fap4a1q10l8krhbng8bdb54ac10sz"))))
13481 (build-system asdf-build-system/sbcl)
13482 (native-inputs
13483 `(("fiveam" ,sbcl-fiveam)))
13484 (inputs
13485 `(("utm-ups" ,sbcl-utm-ups)))
13486 (synopsis
13487 "Convert coordinates between latitude/longitude and MGRS")
13488 (description
13489 "This a Common Lisp library to convert geographic coordinates between
13490 latitude/longitude and MGRS.")
13491 (home-page "https://github.com/glv2/mgrs")
13492 (license license:gpl3+))))
13493
13494 (define-public cl-mgrs
13495 (sbcl-package->cl-source-package sbcl-mgrs))
13496
13497 (define-public ecl-mgrs
13498 (sbcl-package->ecl-package sbcl-mgrs))
13499
13500 (define-public sbcl-maidenhead
13501 (let ((commit "b756d235c27b5d6798867aa240318af1a8f35d6d")
13502 (revision "0"))
13503 (package
13504 (name "sbcl-maidenhead")
13505 (version (git-version "1.0" revision commit))
13506 (source
13507 (origin
13508 (method git-fetch)
13509 (uri (git-reference
13510 (url "https://github.com/glv2/maidenhead")
13511 (commit commit)))
13512 (file-name (git-file-name "maidenhead" version))
13513 (sha256
13514 (base32 "02p990zprhjvifmsfk8yh3frvz6xyw26ikzxvzglqdixbal36nr3"))))
13515 (build-system asdf-build-system/sbcl)
13516 (native-inputs
13517 `(("fiveam" ,sbcl-fiveam)))
13518 (synopsis
13519 "Convert coordinates between latitude/longitude and Maidenhead")
13520 (description
13521 "This a Common Lisp library to convert geographic coordinates between
13522 latitude/longitude and Maidenhead locator system.")
13523 (home-page "https://github.com/glv2/maidenhead")
13524 (license license:gpl3+))))
13525
13526 (define-public cl-maidenhead
13527 (sbcl-package->cl-source-package sbcl-maidenhead))
13528
13529 (define-public ecl-maidenhead
13530 (sbcl-package->ecl-package sbcl-maidenhead))
13531
13532 (define-public sbcl-olc
13533 (let ((commit "517e27fa57d9a119b00a29c4b6b31e553deff309")
13534 (revision "0"))
13535 (package
13536 (name "sbcl-olc")
13537 (version (git-version "1.0" revision commit))
13538 (source
13539 (origin
13540 (method git-fetch)
13541 (uri (git-reference
13542 (url "https://github.com/glv2/olc")
13543 (commit commit)))
13544 (file-name (git-file-name "olc" version))
13545 (sha256
13546 (base32 "1lnfhp6z6kc8l605zp4siyjiw74y1h4bdq3jfizi084v505wxhgr"))))
13547 (build-system asdf-build-system/sbcl)
13548 (native-inputs
13549 `(("fiveam" ,sbcl-fiveam)))
13550 (synopsis
13551 "Convert coordinates between latitude/longitude and Open Location Code")
13552 (description
13553 "This a Common Lisp library to convert geographic coordinates between
13554 latitude/longitude and Open Location Code.")
13555 (home-page "https://github.com/glv2/olc")
13556 (license license:gpl3+))))
13557
13558 (define-public cl-olc
13559 (sbcl-package->cl-source-package sbcl-olc))
13560
13561 (define-public ecl-olc
13562 (sbcl-package->ecl-package sbcl-olc))
13563
13564 (define-public sbcl-regex
13565 (let ((commit "fbc9a9f313b9edc1788f33d4b23a29151635ae22"))
13566 (package
13567 (name "sbcl-regex")
13568 (version (git-version "1" "1" commit))
13569 (source
13570 (origin
13571 (method git-fetch)
13572 (uri (git-reference
13573 (url "https://github.com/michaelw/regex/")
13574 (commit commit)))
13575 (file-name (git-file-name name version))
13576 (sha256
13577 (base32 "0wq5wlafrxv13wg28hg5b10sc48b88swsvznpy2zg7x37m4nmm6a"))))
13578 (build-system asdf-build-system/sbcl)
13579 (home-page "https://github.com/michaelw/regex/")
13580 (synopsis "Regular expression engine for Common Lisp")
13581 (description
13582 "This Common Lisp package provides a regular expression engine.")
13583 (license license:bsd-2))))
13584
13585 (define-public cl-regex
13586 (sbcl-package->cl-source-package sbcl-regex))
13587
13588 (define-public ecl-regex
13589 (sbcl-package->ecl-package sbcl-regex))
13590
13591 (define-public sbcl-clawk
13592 (let ((commit "3a91634df686417114044a98c063cbe76bfac7b6"))
13593 (package
13594 (name "sbcl-clawk")
13595 (version (git-version "4" "1" commit))
13596 (source
13597 (origin
13598 (method git-fetch)
13599 (uri (git-reference
13600 (url "https://github.com/sharplispers/clawk")
13601 (commit commit)))
13602 (file-name (git-file-name name version))
13603 (sha256
13604 (base32 "1ph3xjqilvinvgr9q3w47zxqyz1sqnq030nlx7kgkkv8j3bnqk7a"))))
13605 (build-system asdf-build-system/sbcl)
13606 (inputs
13607 `(("sbcl-regex" ,sbcl-regex)))
13608 (home-page "https://github.com/sharplispers/clawk")
13609 (synopsis "Common Lisp AWK")
13610 (description
13611 "CLAWK is an AWK implementation embedded into Common Lisp.")
13612 (license license:bsd-2))))
13613
13614 (define-public cl-clawk
13615 (sbcl-package->cl-source-package sbcl-clawk))
13616
13617 (define-public ecl-clawk
13618 (sbcl-package->ecl-package sbcl-clawk))
13619
13620 (define-public sbcl-check-it
13621 (let ((commit "b79c9103665be3976915b56b570038f03486e62f"))
13622 (package
13623 (name "sbcl-check-it")
13624 (version (git-version "0.1.0" "1" commit))
13625 (source
13626 (origin
13627 (method git-fetch)
13628 (uri (git-reference
13629 (url "https://github.com/DalekBaldwin/check-it/")
13630 (commit commit)))
13631 (file-name (git-file-name name version))
13632 (sha256
13633 (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"))))
13634 (build-system asdf-build-system/sbcl)
13635 (inputs
13636 `(("alexandria" ,sbcl-alexandria)
13637 ("closer-mop" ,sbcl-closer-mop)
13638 ("optima" ,sbcl-optima)))
13639 (native-inputs
13640 `(("stefil" ,sbcl-stefil)))
13641 (home-page "https://github.com/arclanguage/Clamp")
13642 (synopsis "Randomized specification-based testing for Common Lisp")
13643 (description
13644 "This is a randomized property-based testing library for Common Lisp.
13645 Rather than being a full-fledged general test framework in its own right, it's
13646 designed to embed randomized tests in whatever framework you like.")
13647 (license license:llgpl))))
13648
13649 (define-public cl-check-it
13650 (sbcl-package->cl-source-package sbcl-check-it))
13651
13652 (define-public ecl-check-it
13653 (sbcl-package->ecl-package sbcl-check-it))
13654
13655 (define-public sbcl-clamp
13656 (let ((commit "02b8f3953e5753cc61a719807c82f3795cd28fe1"))
13657 (package
13658 (name "sbcl-clamp")
13659 (version (git-version "0.3" "1" commit))
13660 (source
13661 (origin
13662 (method git-fetch)
13663 (uri (git-reference
13664 (url "https://github.com/arclanguage/Clamp")
13665 (commit commit)))
13666 (file-name (git-file-name name version))
13667 (sha256
13668 (base32 "0fdr9nqfmmpxm6hvjdxi1jkclya9xlnrw1yc3cn1m4ww3f50p31m"))))
13669 (build-system asdf-build-system/sbcl)
13670 (inputs
13671 `(("iterate" ,sbcl-iterate)
13672 ("cl-syntax" ,sbcl-cl-syntax)))
13673 (native-inputs
13674 `(("cl-unit" ,sbcl-clunit)
13675 ("check-it" ,sbcl-check-it)))
13676 (arguments
13677 `(#:phases
13678 (modify-phases %standard-phases
13679 (add-after 'unpack 'fix-build
13680 (lambda _
13681 (substitute* "clamp.asd"
13682 (("\\(:file \"read\" :depends-on \\(\"aliases\"\\)\\)")
13683 "(:file \"read\" :depends-on (\"aliases\" \"base\"))"))
13684 #t)))))
13685 (home-page "https://github.com/arclanguage/Clamp")
13686 (synopsis "Common Lisp with Arc macros and procedures")
13687 (description
13688 "Clamp is an attempt to bring the powerful, but verbose, language of
13689 Common Lisp up to the terseness of Arc.
13690
13691 There are two parts to Clamp. There is the core of Clamp, which implements
13692 the utilities of Arc that are easily converted from Arc to Common Lisp. The
13693 other part is the \"experimental\" part. It contains features of Arc that are
13694 not so easy to copy (ssyntax, argument destructuring, etc.).")
13695 (license license:artistic2.0))))
13696
13697 (define-public cl-clamp
13698 (sbcl-package->cl-source-package sbcl-clamp))
13699
13700 (define-public ecl-clamp
13701 (sbcl-package->ecl-package sbcl-clamp))
13702
13703 (define-public sbcl-trivial-shell
13704 (let ((commit "e02ec191b34b52deca5d1c4ee99d4fa13b8772e0"))
13705 (package
13706 (name "sbcl-trivial-shell")
13707 (version (git-version "0.2.0" "1" commit))
13708 (source
13709 (origin
13710 (method git-fetch)
13711 (uri (git-reference
13712 (url "https://github.com/gwkkwg/trivial-shell")
13713 (commit commit)))
13714 (file-name (git-file-name name version))
13715 (sha256
13716 (base32 "08mpkl5ij5sjfsyn8pq2kvsvpvyvr7ha1r8g1224fa667b8k2q85"))))
13717 (build-system asdf-build-system/sbcl)
13718 (native-inputs
13719 `(("lift" ,sbcl-lift)))
13720 (home-page "http://common-lisp.net/project/trivial-shell/")
13721 (synopsis "Common Lisp access to the shell")
13722 (description
13723 "A simple Common-Lisp interface to the underlying operating system.
13724 It's independent of the implementation and operating system.")
13725 (license license:expat))))
13726
13727 (define-public cl-trivial-shell
13728 (sbcl-package->cl-source-package sbcl-trivial-shell))
13729
13730 (define-public ecl-trivial-shell
13731 (sbcl-package->ecl-package sbcl-trivial-shell))
13732
13733 (define-public sbcl-clesh
13734 (let ((commit "44e96e04a72e5bc006dc4eb02ce8962348dd4a11"))
13735 (package
13736 (name "sbcl-clesh")
13737 (version (git-version "0.0.0" "1" commit))
13738 (source
13739 (origin
13740 (method git-fetch)
13741 (uri (git-reference
13742 (url "https://github.com/Neronus/Clesh")
13743 (commit commit)))
13744 (file-name (git-file-name name version))
13745 (sha256
13746 (base32 "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318"))))
13747 (build-system asdf-build-system/sbcl)
13748 (inputs
13749 `(("trivial-shell" ,sbcl-trivial-shell)
13750 ("named-readtables" ,sbcl-named-readtables)))
13751 (home-page "https://github.com/Neronus/Clesh")
13752 (synopsis "Embed shell code in Common Lisp")
13753 (description
13754 "This is a very short and simple program, written in Common Lisp, that
13755 extends Common Lisp to embed shell code in a manner similar to Perl's
13756 backtick. It has been forked from SHELISP.")
13757 (license license:bsd-2))))
13758
13759 (define-public cl-clesh
13760 (sbcl-package->cl-source-package sbcl-clesh))
13761
13762 (define-public ecl-clesh
13763 (sbcl-package->ecl-package sbcl-clesh))
13764
13765 (define-public sbcl-trivial-channels
13766 (let ((commit "e2370118d8983ba69c0360a7695f8f2e2fd6a8a6")
13767 (revision "1"))
13768 (package
13769 (name "sbcl-trivial-channels")
13770 (version (git-version "1.0" revision commit))
13771 (source
13772 (origin
13773 (method git-fetch)
13774 (uri (git-reference
13775 (url "https://github.com/rpav/trivial-channels")
13776 (commit commit)))
13777 (file-name (git-file-name "trivial-channels" version))
13778 (sha256
13779 (base32 "04wnxcgk40x8p0gxnz9arv1a5wasdqrdxa8c4p5v7r2mycfps6jj"))))
13780 (build-system asdf-build-system/sbcl)
13781 (inputs
13782 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13783 ("trivial-timeout" ,sbcl-trivial-timeout)))
13784 (home-page "https://github.com/rpav/trivial-channels")
13785 (synopsis "Common Lisp simple thread-safe channels with timeout")
13786 (description
13787 "It's very basic implementation of channels and queue for Common Lisp.")
13788 (license license:bsd-2))))
13789
13790 (define-public ecl-trivial-channels
13791 (sbcl-package->ecl-package sbcl-trivial-channels))
13792
13793 (define-public cl-trivial-channels
13794 (sbcl-package->cl-source-package sbcl-trivial-channels))
13795
13796 (define-public sbcl-trivial-download
13797 (let ((commit "d2472061d86b1cf3d32f388daacd4e32a13af699"))
13798 (package
13799 (name "sbcl-trivial-download")
13800 (version (git-version "0.3" "1" commit))
13801 (source
13802 (origin
13803 (method git-fetch)
13804 (uri (git-reference
13805 (url "https://github.com/eudoxia0/trivial-download/")
13806 (commit commit)))
13807 (file-name (git-file-name name version))
13808 (sha256
13809 (base32 "06f46zr3gp3wlm2kgxna24qd2gpr1v89x9fynh1x5vrw6c6hqjcv"))))
13810 (build-system asdf-build-system/sbcl)
13811 (inputs
13812 `(("drakma" ,sbcl-drakma)))
13813 (home-page "https://github.com/eudoxia0/trivial-download/")
13814 (synopsis "Download files from Common Lisp")
13815 (description
13816 "@code{trivial-download} allows you to download files from the Internet
13817 from Common Lisp. It provides a progress bar.")
13818 (license license:bsd-2))))
13819
13820 (define-public cl-trivial-download
13821 (sbcl-package->cl-source-package sbcl-trivial-download))
13822
13823 (define-public ecl-trivial-download
13824 (sbcl-package->ecl-package sbcl-trivial-download))
13825
13826 (define-public sbcl-gtwiwtg
13827 (package
13828 (name "sbcl-gtwiwtg")
13829 (version "0.1.1")
13830 (source
13831 (origin
13832 (method git-fetch)
13833 (uri (git-reference
13834 (url "https://github.com/cbeo/gtwiwtg/")
13835 (commit version)))
13836 (file-name (git-file-name name version))
13837 (sha256
13838 (base32 "0lkraw0dwh4is4x5sp5rjrw6f93m0gr9849abrbi12s25ws7jbw4"))))
13839 (build-system asdf-build-system/sbcl)
13840 (native-inputs
13841 `(("osicat" ,sbcl-osicat)
13842 ("prove" ,sbcl-prove)))
13843 (home-page "https://github.com/cbeo/gtwiwtg/")
13844 (synopsis "Naive generators for Common Lisp")
13845 (description
13846 "The GTWIWTG library (Generators The Way I Want Them Generated --
13847 technically not generators, but iterators) is meant to be small, explorable,
13848 and understandable.")
13849 (license license:gpl3)))
13850
13851 (define-public cl-gtwiwtg
13852 (sbcl-package->cl-source-package sbcl-gtwiwtg))
13853
13854 (define-public ecl-gtwiwtg
13855 (sbcl-package->ecl-package sbcl-gtwiwtg))
13856
13857 (define-public sbcl-cl-progress-bar
13858 (let ((commit "9374170858663c8fe829e9fb5a29bd2cb48d95ae"))
13859 (package
13860 (name "sbcl-cl-progress-bar")
13861 (version (git-version "0.0.0" "1" commit))
13862 (source
13863 (origin
13864 (method git-fetch)
13865 (uri (git-reference
13866 (url "https://github.com/sirherrbatka/cl-progress-bar/")
13867 (commit commit)))
13868 (file-name (git-file-name name version))
13869 (sha256
13870 (base32 "1ldb4qhmx431n3lsq71ynwb9ybazbfqd55icjbhi06mj52ngndir"))))
13871 (build-system asdf-build-system/sbcl)
13872 (inputs
13873 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13874 ("documentation-utils-extensions" ,sbcl-documentation-utils-extensions)))
13875 (home-page "https://github.com/sirherrbatka/cl-progress-bar/")
13876 (synopsis "Progress bars in Common Lisp")
13877 (description
13878 "This library provides almost the same code as used inside Quicklisp
13879 for drawning progress bars")
13880 (license license:expat))))
13881
13882 (define-public cl-progress-bar
13883 (sbcl-package->cl-source-package sbcl-cl-progress-bar))
13884
13885 (define-public ecl-cl-progress-bar
13886 (sbcl-package->ecl-package sbcl-cl-progress-bar))
13887
13888 (define-public sbcl-repl-utilities
13889 (let ((commit "7e300df663177ea4581f4e7e9c601377881dd986"))
13890 (package
13891 (name "sbcl-repl-utilities")
13892 (version (git-version "0.0.0" "1" commit))
13893 (source
13894 (origin
13895 (method git-fetch)
13896 (uri (git-reference
13897 (url "https://github.com/m-n/repl-utilities/")
13898 (commit commit)))
13899 (file-name (git-file-name name version))
13900 (sha256
13901 (base32 "1hh56pq5nw3l4b83dzlyss69f06r038byj2cnjwvci4hfjhdfcc3"))))
13902 (build-system asdf-build-system/sbcl)
13903 (home-page "https://github.com/m-n/repl-utilities")
13904 (synopsis "Ease common tasks at the Common Lisp REPL")
13905 (description
13906 "@code{repl-utilities} is a set of utilities which ease life at the
13907 REPL. It includes three sorts of features: introspective procedures,
13908 miscellaneous utility functions, and, pulling them together, methods to
13909 conveniently keep these symbols and optionally additional symbols available in
13910 whichever package you switch to.")
13911 (license license:bsd-2))))
13912
13913 (define-public cl-repl-utilities
13914 (sbcl-package->cl-source-package sbcl-repl-utilities))
13915
13916 (define-public ecl-repl-utilities
13917 (sbcl-package->ecl-package sbcl-repl-utilities))
13918
13919 (define-public sbcl-supertrace
13920 (let ((commit "66d22c3ff131ecd1c8048dfced1d62ed6024ecb0"))
13921 (package
13922 (name "sbcl-supertrace")
13923 (version (git-version "0.1.0" "1" commit))
13924 (source
13925 (origin
13926 (method git-fetch)
13927 (uri (git-reference
13928 (url "https://github.com/fukamachi/supertrace")
13929 (commit commit)))
13930 (file-name (git-file-name name version))
13931 (sha256
13932 (base32 "0n369n6b7y1m49biccnnr7svymjdsk8sksrkqrn3mj21vgv7s7bg"))))
13933 (build-system asdf-build-system/sbcl)
13934 (native-inputs
13935 `(("cffi-grovel" ,sbcl-cffi)
13936 ("rove" ,sbcl-rove)
13937 ("cl-ppcre" ,sbcl-cl-ppcre)
13938 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
13939 (inputs
13940 `(("cffi" ,sbcl-cffi)))
13941 (home-page "https://github.com/fukamachi/supertrace")
13942 (synopsis "Improved Common Lisp tracing for debugging and profiling")
13943 (description
13944 "Supertrace provides a superior Common Lisp @code{trace} functionality
13945 for debugging and profiling real world applications.")
13946 (license license:bsd-2))))
13947
13948 (define-public cl-supertrace
13949 (sbcl-package->cl-source-package sbcl-supertrace))
13950
13951 (define-public ecl-supertrace
13952 (sbcl-package->ecl-package sbcl-supertrace))
13953
13954 (define-public sbcl-trivial-benchmark
13955 (let ((commit "42d76733dd2e873471c6f1e27d39113293f7dd5c"))
13956 (package
13957 (name "sbcl-trivial-benchmark")
13958 (version (git-version "2.0.0" "1" commit))
13959 (source
13960 (origin
13961 (method git-fetch)
13962 (uri (git-reference
13963 (url "https://github.com/Shinmera/trivial-benchmark/")
13964 (commit commit)))
13965 (file-name (git-file-name name version))
13966 (sha256
13967 (base32 "0fbzqbpm2ixz85555krl36kbbbjyn699vdj6k383khi3g9y629fa"))))
13968 (build-system asdf-build-system/sbcl)
13969 (inputs
13970 `(("alexandria" ,sbcl-alexandria)))
13971 (home-page "http://shinmera.github.io/trivial-benchmark/")
13972 (synopsis "Easy to use benchmarking system for Common Lisp")
13973 (description
13974 "Trivial-Benchmark runs a block of code many times and outputs some
13975 statistical data for it. On SBCL this includes the data from @code{time}, for
13976 all other implementations just the @code{real-time} and @code{run-time} data.
13977 However, you can extend the system by adding your own @code{metrics} to it, or
13978 even by adding additional statistical @code{compute}ations. ")
13979 (license license:zlib))))
13980
13981 (define-public cl-trivial-benchmark
13982 (sbcl-package->cl-source-package sbcl-trivial-benchmark))
13983
13984 (define-public ecl-trivial-benchmark
13985 (sbcl-package->ecl-package sbcl-trivial-benchmark))
13986
13987 (define-public sbcl-glyphs
13988 (let ((commit "1ff5714e8c1dca327bc604dfe3e3d1f4b7755373"))
13989 (package
13990 (name "sbcl-glyphs")
13991 (version (git-version "0.0.0" "1" commit))
13992 (source
13993 (origin
13994 (method git-fetch)
13995 (uri (git-reference
13996 (url "https://github.com/ahungry/glyphs/")
13997 (commit commit)))
13998 (file-name (git-file-name name version))
13999 (sha256
14000 (base32 "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf"))))
14001 (build-system asdf-build-system/sbcl)
14002 (inputs
14003 `(("cl-ppcre" ,sbcl-cl-ppcre)
14004 ("parenscript" ,sbcl-parenscript)
14005 ("named-readtables" ,sbcl-named-readtables)))
14006 (home-page "https://github.com/ahungry/glyphs/")
14007 (synopsis "Reduce Common Lisp verbosity")
14008 (description
14009 "This library is a little experiment in reducing verbosity in Common
14010 Lisp, inspired by BODOL (@url{https://github.com/bodil/BODOL}).")
14011 (license license:gpl3))))
14012
14013 (define-public cl-glyphs
14014 (sbcl-package->cl-source-package sbcl-glyphs))
14015
14016 (define-public ecl-glyphs
14017 (sbcl-package->ecl-package sbcl-glyphs))
14018
14019 (define-public sbcl-zs3
14020 (package
14021 (name "sbcl-zs3")
14022 (version "1.3.3")
14023 (source
14024 (origin
14025 (method git-fetch)
14026 (uri
14027 (git-reference
14028 (url "https://github.com/xach/zs3")
14029 (commit (string-append "release-" version))))
14030 (file-name (git-file-name "zs3" version))
14031 (sha256
14032 (base32 "186v95wgsj2hkxdw2jl9x1w4fddjclp7arp0rrd9vf5ly8h8sbf3"))))
14033 (build-system asdf-build-system/sbcl)
14034 (inputs
14035 `(("drakma" ,sbcl-drakma)
14036 ("alexandria" ,sbcl-alexandria)
14037 ("cxml" ,sbcl-cxml)
14038 ("ironclad" ,sbcl-ironclad)
14039 ("puri" ,sbcl-puri)
14040 ("cl-base64" ,sbcl-cl-base64)))
14041 (synopsis "Work with Amazon S3 and Amazon CloudFront from Common Lisp")
14042 (description "This is ZS3, a library for working with Amazon's Simple Storage
14043 Service (S3) and CloudFront service from Common Lisp.")
14044 (home-page "https://github.com/xach/zs3")
14045 (license license:bsd-2)))
14046
14047 (define-public cl-zs3
14048 (sbcl-package->cl-source-package sbcl-zs3))
14049
14050 (define-public ecl-zs3
14051 (sbcl-package->ecl-package sbcl-zs3))
14052
14053 (define-public sbcl-simple-neural-network
14054 (package
14055 (name "sbcl-simple-neural-network")
14056 (version "3.1")
14057 (source
14058 (origin
14059 (method git-fetch)
14060 (uri (git-reference
14061 (url "https://github.com/glv2/simple-neural-network")
14062 (commit (string-append "v" version))))
14063 (file-name (git-file-name "simple-neural-network" version))
14064 (sha256
14065 (base32 "1jj1c90fr5clwka0jv32hv6xp1bkdlpa6x5jh19an13rhx8ll4zr"))))
14066 (build-system asdf-build-system/sbcl)
14067 (native-inputs
14068 `(("chipz" ,sbcl-chipz)
14069 ("fiveam" ,sbcl-fiveam)))
14070 (inputs
14071 `(("cl-store" ,sbcl-cl-store)
14072 ("lparallel" ,sbcl-lparallel)))
14073 (arguments
14074 `(#:phases
14075 (modify-phases %standard-phases
14076 (add-after 'check 'remove-test-data
14077 (lambda* (#:key outputs #:allow-other-keys)
14078 (let ((out (assoc-ref outputs "out")))
14079 (for-each delete-file (find-files out "\\.gz$"))))))))
14080 (synopsis "Simple neural network in Common Lisp")
14081 (description
14082 "@code{simple-neural-network} is a Common Lisp library for creating,
14083 training and using basic neural networks. The networks created by this
14084 library are feedforward neural networks trained using backpropagation.")
14085 (home-page "https://github.com/glv2/simple-neural-network")
14086 (license license:gpl3+)))
14087
14088 (define-public cl-simple-neural-network
14089 (sbcl-package->cl-source-package sbcl-simple-neural-network))
14090
14091 (define-public ecl-simple-neural-network
14092 (sbcl-package->ecl-package sbcl-simple-neural-network))
14093
14094 (define-public sbcl-zstd
14095 (let ((commit "d144582c581aaa52bac24d6686af27fa3e781e06")
14096 (revision "1"))
14097 (package
14098 (name "sbcl-zstd")
14099 (version (git-version "1.0" revision commit))
14100 (source
14101 (origin
14102 (method git-fetch)
14103 (uri (git-reference
14104 (url "https://github.com/glv2/cl-zstd")
14105 (commit commit)))
14106 (file-name (git-file-name "cl-zstd" version))
14107 (sha256
14108 (base32 "1774jy8hzbi6nih3sq6vchk66f7g8w86dwgpbvljyfzcnkcaz6ql"))))
14109 (build-system asdf-build-system/sbcl)
14110 (native-inputs
14111 `(("fiveam" ,sbcl-fiveam)))
14112 (inputs
14113 `(("cffi" ,sbcl-cffi)
14114 ("cl-octet-streams" ,sbcl-cl-octet-streams)
14115 ("zstd-lib" ,zstd "lib")))
14116 (arguments
14117 '(#:phases
14118 (modify-phases %standard-phases
14119 (add-after 'unpack 'fix-paths
14120 (lambda* (#:key inputs #:allow-other-keys)
14121 (substitute* "src/libzstd.lisp"
14122 (("libzstd\\.so")
14123 (string-append (assoc-ref inputs "zstd-lib")
14124 "/lib/libzstd.so")))
14125 #t)))))
14126 (synopsis "Common Lisp library for Zstandard (de)compression")
14127 (description
14128 "This Common Lisp library provides functions for Zstandard
14129 compression/decompression using bindings to the libzstd C library.")
14130 (home-page "https://github.com/glv2/cl-zstd")
14131 (license license:gpl3+))))
14132
14133 (define-public cl-zstd
14134 (sbcl-package->cl-source-package sbcl-zstd))
14135
14136 (define-public ecl-zstd
14137 (sbcl-package->ecl-package sbcl-zstd))
14138
14139 (define-public sbcl-agnostic-lizard
14140 (let ((commit "fe3a73719f05901c8819f8995a3ebae738257952")
14141 (revision "1"))
14142 (package
14143 (name "sbcl-agnostic-lizard")
14144 (version (git-version "0.0.0" revision commit))
14145 (source
14146 (origin
14147 (method git-fetch)
14148 (uri (git-reference
14149 (url "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
14150 (commit commit)))
14151 (file-name (git-file-name name version))
14152 (sha256
14153 (base32 "0ax78y8w4zlp5dcwyhz2nq7j3shi49qn31dkfg8lv2jlg7mkwh2d"))))
14154 (build-system asdf-build-system/sbcl)
14155 (synopsis "Almost correct portable code walker for Common Lisp")
14156 (description
14157 "Agnostic Lizard is a portable implementation of a code walker and in
14158 particular of the macroexpand-all function (and macro) that makes a best
14159 effort to be correct while not expecting much beyond what the Common Lisp
14160 standard requires.
14161
14162 It aims to be implementation-agnostic and to climb the syntax trees.")
14163 (home-page "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
14164 (license license:gpl3+))))
14165
14166 (define-public cl-agnostic-lizard
14167 (sbcl-package->cl-source-package sbcl-agnostic-lizard))
14168
14169 (define-public ecl-agnostic-lizard
14170 (sbcl-package->ecl-package sbcl-agnostic-lizard))
14171
14172 (define-public sbcl-dynamic-classes
14173 (package
14174 (name "sbcl-dynamic-classes")
14175 (version "1.0.2")
14176 (source
14177 (origin
14178 (method git-fetch)
14179 (uri (git-reference
14180 (url "https://github.com/gwkkwg/dynamic-classes")
14181 (commit (string-append "version-" version))))
14182 (file-name (git-file-name "dynamic-classes" version))
14183 (sha256
14184 (base32 "1z3ag6w4ff0v6715xa9zhvwjqnp4i6zrjfmxdz8m115sklbwgm6c"))))
14185 (build-system asdf-build-system/sbcl)
14186 (inputs
14187 `(("metatilities-base" ,sbcl-metatilities-base)))
14188 (arguments
14189 ;; NOTE: (Sharlatan-20210106222900+0000) Circular dependencies and failing
14190 ;; test suites. lift-standard.config contains referances to deprecated
14191 ;; functionality.
14192 `(#:tests? #f))
14193 (home-page "https://common-lisp.net/project/dynamic-classes/")
14194 (synopsis "Dynamic class definition for Common Lisp")
14195 (description "Dynamic-Classes helps to ease the prototyping process by
14196 bringing dynamism to class definition.")
14197 (license license:expat)))
14198
14199 (define-public ecl-dynamic-classes
14200 (sbcl-package->ecl-package sbcl-dynamic-classes))
14201
14202 (define-public cl-dynamic-classes
14203 (sbcl-package->cl-source-package sbcl-dynamic-classes))
14204
14205 (define-public sbcl-cl-markdown
14206 ;; NOTE: (Sharlatan-20210106214629+0000) latest version tag
14207 ;; "version-0.10.6_version-0.10.6" is failing to build due to missing system
14208 ;; #:container-dynamic-classes
14209 (package
14210 (name "sbcl-cl-markdown")
14211 (version "0.10.4")
14212 (source
14213 (origin
14214 (method git-fetch)
14215 (uri (git-reference
14216 (url "https://github.com/gwkkwg/cl-markdown")
14217 (commit (string-append "version-" version))))
14218 (file-name (git-file-name "cl-markdown" version))
14219 (sha256
14220 (base32 "1wdjbdd1zyskxf7zlilcp6fmwkivybj0wjp64vvzb265d5xi7p8p"))))
14221 (build-system asdf-build-system/sbcl)
14222 (inputs
14223 `(("anaphora" ,sbcl-anaphora)
14224 ("cl-containers" ,sbcl-cl-containers)
14225 ("cl-ppcre" ,sbcl-cl-ppcre)
14226 ("dynamic-classes" ,sbcl-dynamic-classes)
14227 ("metabang-bind" ,sbcl-metabang-bind)
14228 ("metatilities-base" ,sbcl-metatilities-base)))
14229 (arguments
14230 ;; NOTE: (Sharlatan-20210107213629+0000) Tests depend on too many not
14231 ;; available systems, which themself are abandoned.
14232 `(#:tests? #f))
14233 (home-page "https://common-lisp.net/project/cl-markdown/")
14234 (synopsis "Common Lisp rewrite of Markdown")
14235 (description
14236 "This is an implementation of a Markdown parser in Common Lisp.")
14237 (license license:expat)))
14238
14239 (define-public ecl-cl-markdown
14240 (sbcl-package->ecl-package sbcl-cl-markdown))
14241
14242 (define-public cl-markdown
14243 (sbcl-package->cl-source-package sbcl-cl-markdown))
14244
14245 (define-public sbcl-magicffi
14246 (let ((commit "d88f2f280c31f639e4e05be75215d8a8dce6aef2"))
14247 (package
14248 (name "sbcl-magicffi")
14249 (version (git-version "0.0.0" "1" commit))
14250 (source
14251 (origin
14252 (method git-fetch)
14253 (uri (git-reference
14254 (url "https://github.com/dochang/magicffi/")
14255 (commit commit)))
14256 (file-name (git-file-name name version))
14257 (sha256
14258 (base32 "0p6ysa92fk34bhxpw7bycbfgw150fv11z9x8jr9xb4lh8cm2hvp6"))))
14259 (build-system asdf-build-system/sbcl)
14260 (native-inputs
14261 `(("alexandria" ,sbcl-alexandria)))
14262 (inputs
14263 `(("cffi" ,sbcl-cffi)
14264 ("ppcre" ,sbcl-cl-ppcre)
14265 ("libmagic" ,file)))
14266 (arguments
14267 `(#:phases
14268 (modify-phases %standard-phases
14269 (add-after 'unpack 'fix-paths
14270 (lambda* (#:key inputs #:allow-other-keys)
14271 (let ((magic (assoc-ref inputs "libmagic")))
14272 (substitute* "grovel.lisp"
14273 (("/usr/include/magic.h")
14274 (string-append magic "/include/magic.h")))
14275 (substitute* "api.lisp"
14276 ((":default \"libmagic\"" all)
14277 (string-append ":default \"" magic "/lib/libmagic\"")))))))))
14278 (home-page "https://common-lisp.net/project/magicffi/")
14279 (synopsis "Common Lisp interface to libmagic based on CFFI")
14280 (description
14281 "MAGICFFI is a Common Lisp CFFI interface to libmagic(3), the file type
14282 determination library using @emph{magic} numbers.")
14283 (license license:bsd-2))))
14284
14285 (define-public ecl-magicffi
14286 (sbcl-package->ecl-package sbcl-magicffi))
14287
14288 (define-public cl-magicffi
14289 (sbcl-package->cl-source-package sbcl-magicffi))
14290
14291 (define-public sbcl-shlex
14292 (let ((commit "c5616dffca0d4d8ddbc1cd6f37a96d88477b2740"))
14293 (package
14294 (name "sbcl-shlex")
14295 (version (git-version "0.0.0" "1" commit))
14296 (source
14297 (origin
14298 (method git-fetch)
14299 (uri (git-reference
14300 (url "https://github.com/ruricolist/cl-shlex")
14301 (commit commit)))
14302 (file-name (git-file-name name version))
14303 (sha256
14304 (base32 "1nas024n4wv319bf40aal96g72bgi9nkapj2chywj2cc6r8hzkfg"))))
14305 (build-system asdf-build-system/sbcl)
14306 (inputs
14307 `(("alexandria" ,sbcl-alexandria)
14308 ("serapeum" ,sbcl-serapeum)
14309 ("ppcre" ,sbcl-cl-ppcre)
14310 ("unicode" ,sbcl-cl-unicode)))
14311 (home-page "https://github.com/ruricolist/cl-shlex")
14312 (synopsis "Common Lisp lexical analyzer for shell-like syntaxes")
14313 (description
14314 "This library contains a lexer for syntaxes that use shell-like rules
14315 for quoting and commenting. It is a port of the @code{shlex} module from Python’s
14316 standard library.")
14317 (license license:expat))))
14318
14319 (define-public ecl-shlex
14320 (sbcl-package->ecl-package sbcl-shlex))
14321
14322 (define-public cl-shlex
14323 (sbcl-package->cl-source-package sbcl-shlex))
14324
14325 (define-public sbcl-cmd
14326 (let ((commit "bc5a3bee8f22917126e4c3d05b33f766e562dbd8"))
14327 (package
14328 (name "sbcl-cmd")
14329 (version (git-version "0.0.1" "3" commit))
14330 (source
14331 (origin
14332 (method git-fetch)
14333 (uri (git-reference
14334 (url "https://github.com/ruricolist/cmd/")
14335 (commit commit)))
14336 (file-name (git-file-name name version))
14337 (sha256
14338 (base32 "1sjlabrknw1kjb2y89vssjhcqh3slgly8wnr3152zgis8lsj2yc7"))))
14339 (build-system asdf-build-system/sbcl)
14340 (inputs
14341 `(("alexandria" ,sbcl-alexandria)
14342 ("coreutils" ,coreutils)
14343 ("procps" ,procps)
14344 ("serapeum" ,sbcl-serapeum)
14345 ("shlex" ,sbcl-shlex)
14346 ("trivia" ,sbcl-trivia)))
14347 (arguments
14348 `(#:phases
14349 (modify-phases %standard-phases
14350 (add-after 'unpack 'fix-paths
14351 (lambda* (#:key inputs #:allow-other-keys)
14352 (let ((bin (string-append (assoc-ref inputs "coreutils") "/bin"))
14353 (ps-bin (string-append (assoc-ref inputs "procps") "/bin")))
14354 (substitute* "cmd.lisp"
14355 (("\\(def \\+env\\+ \"env\"\\)")
14356 (format #f "(def +env+ \"~a/env\")" bin))
14357 (("\\(def \\+kill\\+ \"kill\"\\)")
14358 (format #f "(def +kill+ \"~a/kill\")" bin))
14359 (("\\(def \\+ps\\+ \"ps\"\\)")
14360 (format #f "(def +ps+ \"~a/ps\")" ps-bin))
14361 (("\\(def \\+pwd\\+ \"pwd\"\\)")
14362 (format #f "(def +pwd+ \"~a/pwd\")" bin))
14363 (("\\(def \\+sh\\+ \"/bin/sh\"\\)")
14364 (format #f "(def +sh+ \"~a\")" (which "sh")))
14365 (("\\(def \\+tr\\+ \"tr\"\\)")
14366 (format #f "(def +tr+ \"~a/tr\")" bin)))))))))
14367 (home-page "https://github.com/ruricolist/cmd")
14368 (synopsis "Conveniently run external programs from Common Lisp")
14369 (description
14370 "A utility for running external programs, built on UIOP.
14371 Cmd is designed to be natural to use, protect against shell interpolation and
14372 be usable from multi-threaded programs.")
14373 (license license:expat))))
14374
14375 (define-public ecl-cmd
14376 (sbcl-package->ecl-package sbcl-cmd))
14377
14378 (define-public cl-cmd
14379 (sbcl-package->cl-source-package sbcl-cmd))
14380
14381 (define-public sbcl-ppath
14382 (let ((commit "eb1a8173b4d1d691ea9a7699412123462f58c3ce"))
14383 (package
14384 (name "sbcl-ppath")
14385 (version (git-version "0.1" "1" commit))
14386 (source
14387 (origin
14388 (method git-fetch)
14389 (uri (git-reference
14390 (url "https://github.com/fourier/ppath/")
14391 (commit commit)))
14392 (file-name (git-file-name name commit))
14393 (sha256
14394 (base32 "1c46q9lmzqv14z80d3fwdawgn3pn4922x31fyqvsvbcjm4hd16fb"))))
14395 (build-system asdf-build-system/sbcl)
14396 (inputs
14397 `(("alexandria" ,sbcl-alexandria)
14398 ("cffi" ,sbcl-cffi)
14399 ("osicat" ,sbcl-osicat)
14400 ("ppcre" ,sbcl-cl-ppcre)
14401 ("split-sequence" ,sbcl-split-sequence)
14402 ("trivial-features" ,sbcl-trivial-features)))
14403 (native-inputs
14404 `(("cl-fad" ,sbcl-cl-fad)
14405 ("prove" ,sbcl-prove)))
14406 (home-page "https://github.com/fourier/ppath")
14407 (synopsis "Common Lisp's implementation of the Python's os.path module")
14408 (description
14409 "This library is a path strings manipulation library inspired by
14410 Python's @code{os.path}. All functionality from @code{os.path} is supported on
14411 major operation systems.
14412
14413 The philosophy behind is to use simple strings and \"dumb\" string
14414 manipulation functions to handle paths and filenames. Where possible the
14415 corresponding OS system functions are called.")
14416 (license license:bsd-2))))
14417
14418 (define-public ecl-ppath
14419 (sbcl-package->ecl-package sbcl-ppath))
14420
14421 (define-public cl-ppath
14422 (sbcl-package->cl-source-package sbcl-ppath))
14423
14424 (define-public sbcl-trivial-escapes
14425 (let ((commit "1eca78da2078495d09893be58c28b3aa7b8cc4d1"))
14426 (package
14427 (name "sbcl-trivial-escapes")
14428 (version (git-version "1.2.0" "1" commit))
14429 (source
14430 (origin
14431 (method git-fetch)
14432 (uri (git-reference
14433 (url "https://github.com/williamyaoh/trivial-escapes")
14434 (commit commit)))
14435 (file-name (git-file-name name commit))
14436 (sha256
14437 (base32 "0v6h8lk17iqv1qkxgqjyzn8gi6v0hvq2vmfbb01md3zjvjqxn6lr"))))
14438 (build-system asdf-build-system/sbcl)
14439 (inputs
14440 `(("named-readtables" ,sbcl-named-readtables)))
14441 (native-inputs
14442 `(("fiveam" ,sbcl-fiveam)))
14443 (home-page "https://github.com/williamyaoh/trivial-escapes")
14444 (synopsis "C-style escape directives for Common Lisp")
14445 (description
14446 "This Common Lisp library interprets escape characters the same way that
14447 most other programming language do.
14448 It provides four readtables. The default one lets you write strings like this:
14449 @code{#\"This string has\na newline in it!\"}.")
14450 (license license:public-domain))))
14451
14452 (define-public ecl-trivial-escapes
14453 (sbcl-package->ecl-package sbcl-trivial-escapes))
14454
14455 (define-public cl-trivial-escapes
14456 (sbcl-package->cl-source-package sbcl-trivial-escapes))
14457
14458 (define-public sbcl-cl-indentify
14459 (let ((commit "eb770f434defa4cd41d84bca822428dfd0dbac53"))
14460 (package
14461 (name "sbcl-cl-indentify")
14462 (version (git-version "0.1" "1" commit))
14463 (source
14464 (origin
14465 (method git-fetch)
14466 (uri (git-reference
14467 (url "https://github.com/yitzchak/cl-indentify")
14468 (commit commit)))
14469 (file-name (git-file-name name commit))
14470 (sha256
14471 (base32 "0ha36bhg474vr76vfhr13szc8cfdj1ickg92k1icz791bqaqg67p"))))
14472 (build-system asdf-build-system/sbcl)
14473 (inputs
14474 `(("alexandria" ,sbcl-alexandria)
14475 ("command-line-arguments" ,sbcl-command-line-arguments)
14476 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
14477 (native-inputs
14478 `(("trivial-escapes" ,sbcl-trivial-escapes)
14479 ("rove" ,sbcl-rove)))
14480 (home-page "https://github.com/yitzchak/cl-indentify")
14481 (synopsis "Code beautifier for Common Lisp")
14482 (description
14483 "A library and command line utility to automatically indent Common Lisp
14484 source files.")
14485 (license license:expat))))
14486
14487 (define-public ecl-cl-indentify
14488 (sbcl-package->ecl-package sbcl-cl-indentify))
14489
14490 (define-public cl-indentify
14491 (sbcl-package->cl-source-package sbcl-cl-indentify))
14492
14493 (define-public sbcl-concrete-syntax-tree
14494 (let ((commit "abd242a59dadc5452aa9dbc1d313c83ec2c11f46"))
14495 (package
14496 (name "sbcl-concrete-syntax-tree")
14497 (version (git-version "0.0.0" "1" commit))
14498 (source
14499 (origin
14500 (method git-fetch)
14501 (uri (git-reference
14502 (url "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14503 (commit commit)))
14504 (file-name (git-file-name name commit))
14505 (sha256
14506 (base32 "1lyrglc3h1if44gxd9cwv90wa90nrdjvb7fry39b1xn8ywdfa7di"))))
14507 (build-system asdf-build-system/sbcl)
14508 (inputs
14509 `(("acclimation" ,sbcl-acclimation)))
14510 (home-page "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14511 (synopsis "Parse Common Lisp code into a concrete syntax tree")
14512 (description
14513 "This library is intended to solve the problem of source tracking for
14514 Common Lisp code.
14515
14516 By \"source tracking\", it is meant that code elements that have a known
14517 origin in the form of a position in a file or in an editor buffer are
14518 associated with some kind of information about this origin.
14519
14520 Since the exact nature of such origin information depends on the Common Lisp
14521 implementation and the purpose of wanting to track that origin, the library
14522 does not impose a particular structure of this information. Instead, it
14523 provides utilities for manipulating source code in the form of what is called
14524 concrete syntax trees (CSTs for short) that preserve this information about
14525 the origin.")
14526 (license license:bsd-2))))
14527
14528 (define-public ecl-concrete-syntax-tree
14529 (sbcl-package->ecl-package sbcl-concrete-syntax-tree))
14530
14531 (define-public cl-concrete-syntax-tree
14532 (sbcl-package->cl-source-package sbcl-concrete-syntax-tree))
14533
14534 (define-public sbcl-eclector
14535 (package
14536 (name "sbcl-eclector")
14537 (version "0.5.0")
14538 (source
14539 (origin
14540 (method git-fetch)
14541 (uri (git-reference
14542 (url "https://github.com/s-expressionists/Eclector")
14543 (commit version)))
14544 (file-name (git-file-name name version))
14545 (sha256
14546 (base32 "0bwkla0jdp5bg0q1zca5wg22b0nbdmglgax345nrhsf8bdrh47wm"))))
14547 (build-system asdf-build-system/sbcl)
14548 (inputs
14549 `(("acclimation" ,sbcl-acclimation)
14550 ("alexandria" ,sbcl-alexandria)
14551 ("closer-mop" ,sbcl-closer-mop)
14552 ("concrete-syntax-tree" ,sbcl-concrete-syntax-tree)))
14553 (native-inputs
14554 `(("fiveam" ,sbcl-fiveam)))
14555 (arguments
14556 '(#:asd-systems '("eclector"
14557 "eclector-concrete-syntax-tree")))
14558 (home-page "https://s-expressionists.github.io/Eclector/")
14559 (synopsis "Highly customizable, portable Common Lisp reader")
14560 (description
14561 "Eclector is a portable Common Lisp reader that is highly customizable,
14562 can recover from errors and can return concrete syntax trees.
14563
14564 In contrast to many other reader implementations, eclector can recover from
14565 most errors in the input supplied to it and continue reading. This capability
14566 is realized as a restart.
14567
14568 It can also produce instances of the concrete syntax tree classes provided by
14569 the concrete syntax tree library.")
14570 (license license:bsd-2)))
14571
14572 (define-public ecl-eclector
14573 (sbcl-package->ecl-package sbcl-eclector))
14574
14575 (define-public cl-eclector
14576 (sbcl-package->cl-source-package sbcl-eclector))
14577
14578 (define-public sbcl-jsown
14579 (let ((commit "744c4407bef58dfa876d9da0b5c0205d869e7977"))
14580 (package
14581 (name "sbcl-jsown")
14582 (version (git-version "1.0.1" "1" commit))
14583 (source
14584 (origin
14585 (method git-fetch)
14586 (uri (git-reference
14587 (url "https://github.com/madnificent/jsown")
14588 (commit commit)))
14589 (file-name (git-file-name name commit))
14590 (sha256
14591 (base32 "0gadvmf1d9bq35s61z76psrsnzwwk12svi66jigf491hv48wigw7"))))
14592 (build-system asdf-build-system/sbcl)
14593 (home-page "https://github.com/madnificent/jsown")
14594 (synopsis "Fast JSON reader / writer library for Common Lisp")
14595 (description
14596 "@code{jsown} is a high performance Common Lisp JSON parser. Its aim
14597 is to allow for the fast parsing of JSON objects in Common Lisp. Recently,
14598 functions and macros have been added to ease the burden of writing and editing
14599 @code{jsown} objects.
14600
14601 @code{jsown} allows you to parse JSON objects quickly to a modifiable Lisp
14602 list and write them back. If you only need partial retrieval of objects,
14603 @code{jsown} allows you to select the keys which you would like to see parsed.
14604 @code{jsown} also has a JSON writer and some helper methods to alter the JSON
14605 objects themselves.")
14606 (license license:expat))))
14607
14608 (define-public ecl-jsown
14609 (sbcl-package->ecl-package sbcl-jsown))
14610
14611 (define-public cl-jsown
14612 (sbcl-package->cl-source-package sbcl-jsown))
14613
14614 (define-public sbcl-system-locale
14615 (let ((commit "4b334bc2fa45651bcaa28ae7d9331095d6bf0a17"))
14616 (package
14617 (name "sbcl-system-locale")
14618 (version (git-version "1.0.0" "1" commit))
14619 (source
14620 (origin
14621 (method git-fetch)
14622 (uri (git-reference
14623 (url "https://github.com/Shinmera/system-locale/")
14624 (commit commit)))
14625 (file-name (git-file-name name commit))
14626 (sha256
14627 (base32 "00p5c053kmgq4ks6l9mxsqz6g3bjcybvkvj0bh3r90qgpkaawm1p"))))
14628 (build-system asdf-build-system/sbcl)
14629 (inputs
14630 `(("documentation-utils" ,sbcl-documentation-utils)))
14631 (home-page "https://shinmera.github.io/system-locale/")
14632 (synopsis "Get the system's locale and language settings in Common Lisp")
14633 (description
14634 "This library retrieves locale information configured on the
14635 system. This is helpful if you want to write applications and libraries that
14636 display messages in the user's native language.")
14637 (license license:zlib))))
14638
14639 (define-public ecl-system-locale
14640 (sbcl-package->ecl-package sbcl-system-locale))
14641
14642 (define-public cl-system-locale
14643 (sbcl-package->cl-source-package sbcl-system-locale))
14644
14645 (define-public sbcl-language-codes
14646 (let ((commit "e7aa0e37cb97a3d37d6bc7316b479d01bff8f42e"))
14647 (package
14648 (name "sbcl-language-codes")
14649 (version (git-version "1.0.0" "1" commit))
14650 (source
14651 (origin
14652 (method git-fetch)
14653 (uri (git-reference
14654 (url "https://github.com/Shinmera/language-codes")
14655 (commit commit)))
14656 (file-name (git-file-name name commit))
14657 (sha256
14658 (base32 "0py176ibmsc01n5r0q1bs1ykqf5jwdbh8kx0j1a814l9y51241v0"))))
14659 (build-system asdf-build-system/sbcl)
14660 (inputs
14661 `(("documentation-utils" ,sbcl-documentation-utils)))
14662 (home-page "https://shinmera.github.io/language-codes/")
14663 (synopsis "Map ISO language codes to language names in Common Lisp")
14664 (description
14665 "This is a small library providing the ISO-639 language code to
14666 language name mapping.")
14667 (license license:zlib))))
14668
14669 (define-public ecl-language-codes
14670 (sbcl-package->ecl-package sbcl-language-codes))
14671
14672 (define-public cl-language-codes
14673 (sbcl-package->cl-source-package sbcl-language-codes))
14674
14675 (define-public sbcl-multilang-documentation
14676 (let ((commit "59e798a07e949e8957a20927f52aca425d84e4a0"))
14677 (package
14678 (name "sbcl-multilang-documentation")
14679 (version (git-version "1.0.0" "1" commit))
14680 (source
14681 (origin
14682 (method git-fetch)
14683 (uri (git-reference
14684 (url "https://github.com/Shinmera/multilang-documentation")
14685 (commit commit)))
14686 (file-name (git-file-name name commit))
14687 (sha256
14688 (base32 "13y5jskx8n2b7kimpfarr8v777w3b7zj5swg1b99nj3hk0843ixw"))))
14689 (build-system asdf-build-system/sbcl)
14690 (inputs
14691 `(("documentation-utils" ,sbcl-documentation-utils)
14692 ("language-codes" ,sbcl-language-codes)
14693 ("system-locale" ,sbcl-system-locale)))
14694 (home-page "https://shinmera.github.io/multilang-documentation/")
14695 (synopsis "Add multiple languages support to Common Lisp documentation")
14696 (description
14697 "This library provides a drop-in replacement function for
14698 cl:documentation that supports multiple docstrings per-language, allowing you
14699 to write documentation that can be internationalised.")
14700 (license license:zlib))))
14701
14702 (define-public ecl-multilang-documentation
14703 (sbcl-package->ecl-package sbcl-multilang-documentation))
14704
14705 (define-public cl-multilang-documentation
14706 (sbcl-package->cl-source-package sbcl-multilang-documentation))
14707
14708 (define-public sbcl-trivial-do
14709 (let ((commit "03a1729f1e71bad3ebcf6cf098a0cce52dfa1163"))
14710 (package
14711 (name "sbcl-trivial-do")
14712 (version (git-version "0.1" "1" commit))
14713 (source
14714 (origin
14715 (method git-fetch)
14716 (uri (git-reference
14717 (url "https://github.com/yitzchak/trivial-do")
14718 (commit commit)))
14719 (file-name (git-file-name name commit))
14720 (sha256
14721 (base32 "1ffva79nkicc7wc8c2ic5nayis3b2rk5sxzj74yjkymkjgbpcrgd"))))
14722 (build-system asdf-build-system/sbcl)
14723 (home-page "https://github.com/yitzchak/trivial-do")
14724 (synopsis "Additional dolist style macros for Common Lisp")
14725 (description
14726 "Additional dolist style macros for Common Lisp, such as
14727 @code{doalist}, @code{dohash}, @code{dolist*}, @code{doplist}, @code{doseq}
14728 and @code{doseq*}.")
14729 (license license:zlib))))
14730
14731 (define-public ecl-trivial-do
14732 (sbcl-package->ecl-package sbcl-trivial-do))
14733
14734 (define-public cl-trivial-do
14735 (sbcl-package->cl-source-package sbcl-trivial-do))
14736
14737 (define-public sbcl-common-lisp-jupyter
14738 (let ((commit "011f60b69a3b8c70eefeafe7acb724cd00dd3e62"))
14739 (package
14740 (name "sbcl-common-lisp-jupyter")
14741 (version (git-version "0.1" "2" commit))
14742 (source
14743 (origin
14744 (method git-fetch)
14745 (uri (git-reference
14746 (url "https://github.com/yitzchak/common-lisp-jupyter")
14747 (commit commit)))
14748 (file-name (git-file-name name commit))
14749 (sha256
14750 (base32 "10jdghlcmp9p6ygrvw7g49i8f9jy71ybzn29n544fzb6g47siqhw"))))
14751 (build-system asdf-build-system/sbcl)
14752 (inputs
14753 `(("alexandria" ,sbcl-alexandria)
14754 ("babel" ,sbcl-babel)
14755 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14756 ("cl-base64" ,sbcl-cl-base64)
14757 ("cl-indentify" ,sbcl-cl-indentify)
14758 ("closer-mop" ,sbcl-closer-mop)
14759 ("eclector" ,sbcl-eclector)
14760 ("ironclad" ,sbcl-ironclad)
14761 ("iterate" ,sbcl-iterate)
14762 ("jsown" ,sbcl-jsown)
14763 ("multilang-documentation" ,sbcl-multilang-documentation)
14764 ("pzmq" ,sbcl-pzmq)
14765 ("puri" ,sbcl-puri)
14766 ("static-vectors" ,sbcl-static-vectors)
14767 ("trivial-do" ,sbcl-trivial-do)
14768 ("trivial-garbage" ,sbcl-trivial-garbage)
14769 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
14770 ("trivial-mimes" ,sbcl-trivial-mimes)))
14771 (home-page "https://yitzchak.github.io/common-lisp-jupyter/")
14772 (synopsis "Common Lisp kernel for Jupyter")
14773 (description
14774 "This is a Common Lisp kernel for Jupyter along with a library for
14775 building Jupyter kernels, based on Maxima-Jupyter which was based on
14776 @code{cl-jupyter}.")
14777 (license license:zlib))))
14778
14779 (define-public ecl-common-lisp-jupyter
14780 (sbcl-package->ecl-package sbcl-common-lisp-jupyter))
14781
14782 (define-public cl-common-lisp-jupyter
14783 (sbcl-package->cl-source-package sbcl-common-lisp-jupyter))
14784
14785 (define-public sbcl-radiance
14786 (let ((commit "5ffbe1f157edd17a13194495099efd81e052df85")
14787 (revision "1"))
14788 (package
14789 (name "sbcl-radiance")
14790 (version (git-version "2.1.2" revision commit))
14791 (source
14792 (origin
14793 (method git-fetch)
14794 (uri (git-reference
14795 (url "https://github.com/Shirakumo/radiance")
14796 (commit commit)))
14797 (file-name (git-file-name "radiance" version))
14798 (sha256
14799 (base32 "0hbkcnmnlj1cqzbv18zmla2iwbl65kxilz9764hndf8x8as1539c"))))
14800 (build-system asdf-build-system/sbcl)
14801 (arguments
14802 `(#:tests? #f ; TODO: The tests require some configuration.
14803 #:phases
14804 (modify-phases %standard-phases
14805 (add-after 'unpack 'disable-quicklisp
14806 (lambda _
14807 ;; Disable the automatic installation of systems by Quicklisp.
14808 ;; (Maybe there would be a way to package Quicklisp and make it
14809 ;; install things in the user's directory instead of
14810 ;; /gnu/store/...).
14811 (substitute* "interfaces.lisp"
14812 (("\\(unless \\(asdf:find-system configured-implementation NIL\\)"
14813 all)
14814 (string-append "#+quicklisp " all))))))))
14815 (native-inputs
14816 `(("alexandria" ,sbcl-alexandria)
14817 ("dexador" ,sbcl-dexador)
14818 ("parachute" ,sbcl-parachute)
14819 ("verbose" ,sbcl-verbose)))
14820 (inputs
14821 `(("babel" ,sbcl-babel)
14822 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14823 ("cl-ppcre" ,sbcl-cl-ppcre)
14824 ("closer-mop" ,sbcl-closer-mop)
14825 ("documentation-utils" ,sbcl-documentation-utils)
14826 ("deploy" ,sbcl-deploy)
14827 ("form-fiddle" ,sbcl-form-fiddle)
14828 ("lambda-fiddle" ,sbcl-lambda-fiddle)
14829 ("local-time" ,sbcl-local-time)
14830 ("modularize-hooks" ,sbcl-modularize-hooks)
14831 ("modularize-interfaces" ,sbcl-modularize-interfaces)
14832 ("puri" ,sbcl-puri)
14833 ("trivial-indent" ,sbcl-trivial-indent)
14834 ("trivial-mimes" ,sbcl-trivial-mimes)
14835 ("ubiquitous-concurrent" ,sbcl-ubiquitous)))
14836 (home-page "https://shirakumo.github.io/radiance/")
14837 (synopsis "Common Lisp web application environment")
14838 (description
14839 "Radiance is a web application environment, which is sort of like a web
14840 framework, but more general, more flexible. It should let you write personal
14841 websites and generally deployable applications easily and in such a way that
14842 they can be used on practically any setup without having to undergo special
14843 adaptations.")
14844 (license license:zlib))))
14845
14846 (define-public ecl-radiance
14847 (sbcl-package->ecl-package sbcl-radiance))
14848
14849 (define-public cl-radiance
14850 (sbcl-package->cl-source-package sbcl-radiance))
14851
14852 (define-public sbcl-daemon
14853 (let ((commit "d5652f4332c3cee21e9bf83b9237129605004597")
14854 (revision "1"))
14855 (package
14856 (name "sbcl-daemon")
14857 (version (git-version "0.0.4" revision commit))
14858 (source
14859 (origin
14860 (method git-fetch)
14861 (uri (git-reference
14862 (url "https://github.com/snmsts/daemon")
14863 (commit commit)))
14864 (file-name (git-file-name "daemon" version))
14865 (sha256
14866 (base32 "1kdxfnhh9fz34j8qs7pn7mwjz3v33q4v9nh0hqkyzraq5xs2j3f4"))))
14867 (build-system asdf-build-system/sbcl)
14868 (inputs
14869 `(("trivial-features" ,sbcl-trivial-features)))
14870 (home-page "https://github.com/snmsts/daemon")
14871 (synopsis "Daemonize Common Lisp processes")
14872 (description
14873 "DAEMON provides the functionality of daemonizing Common Lisp processes
14874 on UNIX like platforms.")
14875 (license license:expat))))
14876
14877 (define-public ecl-daemon
14878 (sbcl-package->ecl-package sbcl-daemon))
14879
14880 (define-public cl-daemon
14881 (sbcl-package->cl-source-package sbcl-daemon))
14882
14883 (define-public sbcl-file-attributes
14884 (let ((commit "bbde396438f37d676de9775239115410bec4da2d"))
14885 (package
14886 (name "sbcl-file-attributes")
14887 (version (git-version "1.0.0" "2" commit))
14888 (source
14889 (origin
14890 (method git-fetch)
14891 (uri (git-reference
14892 (url "https://github.com/Shinmera/file-attributes/")
14893 (commit commit)))
14894 (file-name (git-file-name name version))
14895 (sha256
14896 (base32 "0n8q818ry2shggjfhp8gjby8v5mla9pg97c5g19pcglpnwim7a74"))))
14897 (build-system asdf-build-system/sbcl)
14898 (inputs
14899 `(("cffi" ,sbcl-cffi)
14900 ("documentation-utils" ,sbcl-documentation-utils)
14901 ("trivial-features" ,sbcl-trivial-features)))
14902 (home-page "https://shinmera.github.io/file-attributes/")
14903 (synopsis "Access to common file attributes in Common Lisp")
14904 (description
14905 "This is a small OS portability library to retrieve and set file
14906 attributes not supported by the Common Lisp standard functions.")
14907 (license license:zlib))))
14908
14909 (define-public ecl-file-attributes
14910 (sbcl-package->ecl-package sbcl-file-attributes))
14911
14912 (define-public cl-file-attributes
14913 (sbcl-package->cl-source-package sbcl-file-attributes))
14914
14915 (define-public sbcl-cl-difflib
14916 (let ((commit "98eb335c693f1881584b83ca7be4a0fe05355c4e")
14917 (revision "0"))
14918 (package
14919 (name "sbcl-cl-difflib")
14920 (version (git-version "0.2" revision commit))
14921 (source
14922 (origin
14923 (method git-fetch)
14924 (uri (git-reference
14925 (url "https://github.com/wiseman/cl-difflib")
14926 (commit commit)))
14927 (file-name
14928 (git-file-name name version))
14929 (sha256
14930 (base32 "08if0abhqg191xcz9s7xv8faqq51nswzp8hw423fkqjzr24pmq48"))))
14931 (build-system asdf-build-system/sbcl)
14932 ;; Due to the age of this library tests use some deprecated
14933 ;; functionality and keep failing.
14934 (arguments
14935 '(#:tests? #f
14936 #:asd-files '("cl-difflib.asd")))
14937 (home-page "https://github.com/wiseman/cl-difflib")
14938 (synopsis "Compute differences between pairs of sequences")
14939 (description
14940 "A Common Lisp library for computing differences between
14941 sequences based on the Python difflib module.")
14942 (license license:expat))))
14943
14944 (define-public ecl-cl-difflib
14945 (sbcl-package->ecl-package sbcl-cl-difflib))
14946
14947 (define-public cl-difflib
14948 (sbcl-package->cl-source-package sbcl-cl-difflib))
14949
14950 (define-public sbcl-cl-html-diff
14951 (let ((commit "5a0b39d1c524278d6f60851d7786bb2585614310")
14952 (revision "0"))
14953 (package
14954 (name "sbcl-cl-html-diff")
14955 (version (git-version "0.1" revision commit))
14956 (source
14957 (origin
14958 (method git-fetch)
14959 (uri (git-reference
14960 (url "https://github.com/wiseman/cl-html-diff")
14961 (commit commit)))
14962 (file-name
14963 (git-file-name name version))
14964 (sha256
14965 (base32 "1varnijivzd4jpimn1cz8p5ks713zzha5cgl4vmb0xr8ahravwzb"))))
14966 (build-system asdf-build-system/sbcl)
14967 (inputs
14968 `(("cl-difflib" ,sbcl-cl-difflib)))
14969 (home-page "https://github.com/wiseman/cl-html-diff")
14970 (synopsis "Generate a human-readable diff of two HTML documents")
14971 (description
14972 "A Common Lisp library for generating a human-readable diff of two
14973 HTML documents.")
14974 (license license:expat))))
14975
14976 (define-public ecl-cl-html-diff
14977 (sbcl-package->ecl-package sbcl-cl-html-diff))
14978
14979 (define-public cl-html-diff
14980 (sbcl-package->cl-source-package sbcl-cl-html-diff))
14981
14982 (define-public sbcl-tooter
14983 (let ((commit "b8d4b245b1d946bc9da6f51a3d8c2dc43e4d3868")
14984 (revision "1"))
14985 (package
14986 (name "sbcl-tooter")
14987 (version (git-version "1.0.0" revision commit))
14988 (source
14989 (origin
14990 (method git-fetch)
14991 (uri (git-reference
14992 (url "https://github.com/Shinmera/tooter")
14993 (commit commit)))
14994 (file-name (git-file-name "tooter" version))
14995 (sha256
14996 (base32 "0g40dlis4dbw4p3zxz3scx27b9zm8zlzihywapf5zqrdqfx5hpq9"))))
14997 (build-system asdf-build-system/sbcl)
14998 (inputs
14999 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
15000 ("sbcl-documentation-utils" ,sbcl-documentation-utils)
15001 ("sbcl-drakma" ,sbcl-drakma)
15002 ("sbcl-yason" ,sbcl-yason)))
15003 (synopsis "Common Lisp client library for Mastodon instances")
15004 (description
15005 "This is a Common Lisp library implementing the full v1 REST API
15006 protocol for Mastodon.")
15007 (home-page "https://shinmera.github.io/tooter/")
15008 (license license:zlib))))
15009
15010 (define-public ecl-tooter
15011 (sbcl-package->ecl-package sbcl-tooter))
15012
15013 (define-public cl-tooter
15014 (sbcl-package->cl-source-package sbcl-tooter))
15015
15016 (define-public sbcl-croatoan
15017 (let ((commit "89ecd147cf1548f569f23353b3ab656cfb74de1f")
15018 (revision "1"))
15019 (package
15020 (name "sbcl-croatoan")
15021 (version (git-version "0.0.1" revision commit))
15022 (source
15023 (origin
15024 (method git-fetch)
15025 (uri (git-reference
15026 (url "https://github.com/McParen/croatoan")
15027 (commit commit)))
15028 (file-name (git-file-name "croatoan" version))
15029 (sha256
15030 (base32 "0pk4mym88531jx0f1zmm6gmvrmdjzj2zcl2cdywdsxvjygr53zyx"))))
15031 (build-system asdf-build-system/sbcl)
15032 (arguments
15033 '(#:phases
15034 (modify-phases %standard-phases
15035 (add-after 'unpack 'fix-paths
15036 (lambda* (#:key inputs #:allow-other-keys)
15037 (substitute* "ncurses/ncurses.lisp"
15038 (("libncursesw" all)
15039 (string-append (assoc-ref inputs "ncurses")
15040 "/lib/"
15041 all))))))))
15042 (inputs
15043 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
15044 ("cffi" ,sbcl-cffi)
15045 ("ncurses" ,ncurses)
15046 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
15047 (synopsis "Common Lisp bindings for the ncurses terminal library")
15048 (description "Croatoan provides high-level Common Lisp CLOS bindings for
15049 the ncurses terminal library.")
15050 (home-page "https://github.com/McParen/croatoan")
15051 (license license:expat))))
15052
15053 (define-public ecl-croatoan
15054 (sbcl-package->ecl-package sbcl-croatoan))
15055
15056 (define-public cl-croatoan
15057 (sbcl-package->cl-source-package sbcl-croatoan))
15058
15059 (define-public sbcl-cl-spark
15060 (let ((commit "4e34bcebdcf8e45265986eb43ad4ad03bb41a581")
15061 (revision "1"))
15062 (package
15063 (name "sbcl-cl-spark")
15064 (version (git-version "0.1.13" revision commit))
15065 (source
15066 (origin
15067 (method git-fetch)
15068 (uri (git-reference
15069 (url "https://github.com/tkych/cl-spark")
15070 (commit commit)))
15071 (file-name (git-file-name "cl-spark" version))
15072 (sha256
15073 (base32 "0my1fsgi2rjaqkpk934f2bjy63pmnj7faza3fzvnk6k3l66y19nk"))))
15074 (build-system asdf-build-system/sbcl)
15075 (native-inputs
15076 `(("fiveam" ,sbcl-fiveam)))
15077 (synopsis "Common Lisp library to make histograms")
15078 (description "This is a Common Lisp library to make histograms using
15079 UTF-8 block characters.")
15080 (home-page "https://github.com/tkych/cl-spark")
15081 (license license:expat))))
15082
15083 (define-public ecl-cl-spark
15084 (sbcl-package->ecl-package sbcl-cl-spark))
15085
15086 (define-public cl-spark
15087 (sbcl-package->cl-source-package sbcl-cl-spark))
15088
15089 (define-public sbcl-access
15090 (let ((commit "1b26db3760018cdc4624f880f0a1e0155d8f6c50")
15091 (revision "1"))
15092 (package
15093 (name "sbcl-access")
15094 (version (git-version "1.5.0" revision commit))
15095 (source
15096 (origin
15097 (method git-fetch)
15098 (uri (git-reference
15099 (url "https://github.com/sharplispers/access")
15100 (commit commit)))
15101 (file-name (git-file-name "access" version))
15102 (sha256
15103 (base32 "1knd3n4mpzkc97i1znbas32pscd30416isvmx2pjmgvar6k93pl5"))))
15104 (build-system asdf-build-system/sbcl)
15105 (native-inputs
15106 `(("lisp-unit2" ,sbcl-lisp-unit2)))
15107 (inputs
15108 `(("alexandria" ,sbcl-alexandria)
15109 ("anaphora" ,sbcl-anaphora)
15110 ("closer-mop" ,sbcl-closer-mop)
15111 ("interpol" ,sbcl-cl-interpol)
15112 ("iterate" ,sbcl-iterate)))
15113 (synopsis
15114 "Common lisp library to unify access to dictionary-like structures")
15115 (description
15116 "This is a Common lisp library to unify access to the most common
15117 dictionary-like data structures.")
15118 (home-page "https://github.com/sharplispers/access")
15119 (license license:bsd-3))))
15120
15121 (define-public ecl-access
15122 (sbcl-package->ecl-package sbcl-access))
15123
15124 (define-public cl-access
15125 (sbcl-package->cl-source-package sbcl-access))
15126
15127 (define-public sbcl-sxql-composer
15128 (let ((commit "2b2230cb01ae1b68e28921d99e4814046867fb75")
15129 (revision "1"))
15130 (package
15131 (name "sbcl-sxql-composer")
15132 (version (git-version "0.1" revision commit))
15133 (source
15134 (origin
15135 (method git-fetch)
15136 (uri (git-reference
15137 (url "https://github.com/mmontone/sxql-composer")
15138 (commit commit)))
15139 (file-name (git-file-name "sxql-composer" version))
15140 (sha256
15141 (base32 "1agkrj3ymskzc3c7pxbrj123d1kygjqcls145m0ap3i07q96hh1r"))))
15142 (build-system asdf-build-system/sbcl)
15143 (inputs
15144 `(("sxql" ,sbcl-sxql)))
15145 (synopsis "Build and compose SXQL queries dynamically")
15146 (description
15147 "This is a Common Lisp library to build and compose SXQL queries
15148 dynamically.")
15149 (home-page "https://github.com/mmontone/sxql-composer")
15150 (license license:expat))))
15151
15152 (define-public ecl-sxql-composer
15153 (sbcl-package->ecl-package sbcl-sxql-composer))
15154
15155 (define-public cl-sxql-composer
15156 (sbcl-package->cl-source-package sbcl-sxql-composer))
15157
15158 (define-public sbcl-cl-i18n
15159 (let ((commit "fa0aa5bef8dfbdf2d72f7cc9f49e848ccbb567aa")
15160 (revision "1"))
15161 (package
15162 (name "sbcl-cl-i18n")
15163 (version (git-version "0.5.0" revision commit))
15164 (source
15165 (origin
15166 (method git-fetch)
15167 (uri (git-reference
15168 (url "https://notabug.org/cage/cl-i18n")
15169 (commit commit)))
15170 (file-name (git-file-name "cl-i18n" version))
15171 (sha256
15172 (base32 "1hpsdbb3hd79bzbrnbqgk2j3f0ispxvk91snp08fm2z3f1sds5as"))))
15173 (build-system asdf-build-system/sbcl)
15174 (inputs
15175 `(("alexandria" ,sbcl-alexandria)
15176 ("babel" ,sbcl-babel)
15177 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
15178 (synopsis "Internationalisation framework for Common Lisp")
15179 (description
15180 "This is a Gettext-style internationalisation framework for Common
15181 Lisp.")
15182 (home-page "https://notabug.org/cage/cl-i18n")
15183 (license license:llgpl))))
15184
15185 (define-public ecl-cl-i18n
15186 (sbcl-package->ecl-package sbcl-cl-i18n))
15187
15188 (define-public cl-i18n
15189 (sbcl-package->cl-source-package sbcl-cl-i18n))
15190
15191 (define-public sbcl-crypto-shortcuts
15192 (let ((commit "7efd22d80e867cd8c9f8f363d4fe7b51ee2dadc0")
15193 (revision "1"))
15194 (package
15195 (name "sbcl-crypto-shortcuts")
15196 (version (git-version "2.0.0" revision commit))
15197 (source
15198 (origin
15199 (method git-fetch)
15200 (uri (git-reference
15201 (url "https://github.com/Shinmera/crypto-shortcuts")
15202 (commit commit)))
15203 (file-name (git-file-name "crypto-shortcuts" version))
15204 (sha256
15205 (base32 "0c0m0ar04jn7qf2v8c4sivamlzki03r13rnxy8b3n27rh9r6hgin"))))
15206 (build-system asdf-build-system/sbcl)
15207 (inputs
15208 `(("cl-base64" ,sbcl-cl-base64)
15209 ("flexi-stream" ,sbcl-flexi-streams)
15210 ("ironclad" ,sbcl-ironclad)))
15211 (synopsis "Collection of common cryptography functions")
15212 (description
15213 "This is a collection of common cryptography functions for Common
15214 Lisp.")
15215 (home-page "https://shinmera.github.io/crypto-shortcuts/")
15216 (license license:zlib))))
15217
15218 (define-public ecl-crypto-shortcuts
15219 (sbcl-package->ecl-package sbcl-crypto-shortcuts))
15220
15221 (define-public cl-crypto-shortcuts
15222 (sbcl-package->cl-source-package sbcl-crypto-shortcuts))
15223
15224 (define-public sbcl-cl-html5-parser
15225 (let ((commit "74a92eb3a183a0afd089ea33350e816e6b9aeefa")
15226 (revision "1"))
15227 (package
15228 (name "sbcl-cl-html5-parser")
15229 (version (git-version "0.0.0" revision commit))
15230 (source
15231 (origin
15232 (method git-fetch)
15233 (uri (git-reference
15234 (url "https://github.com/rotatef/cl-html5-parser")
15235 (commit commit)))
15236 (file-name (git-file-name "cl-html5-parser" version))
15237 (sha256
15238 (base32 "04if61wigylsmn996rbfl8ylsd0d9hzdmg7p2wiglncibjzcl5k9"))))
15239 (build-system asdf-build-system/sbcl)
15240 (arguments
15241 '(#:tests? #f
15242 #:asd-systems '("cl-html5-parser")))
15243 (inputs
15244 `(("cl-ppcre" ,sbcl-cl-ppcre)
15245 ("flexi-stream" ,sbcl-flexi-streams)
15246 ("string-case" ,sbcl-string-case)))
15247 (synopsis "HTML5 parser for Common Lisp")
15248 (description "This a Common Lisp library to parse HTML5 documents.")
15249 (home-page "https://github.com/rotatef/cl-html5-parser")
15250 (license license:lgpl3+))))
15251
15252 (define-public ecl-cl-html5-parser
15253 (sbcl-package->ecl-package sbcl-cl-html5-parser))
15254
15255 (define-public cl-html5-parser
15256 (sbcl-package->cl-source-package sbcl-cl-html5-parser))
15257
15258 (define-public sbcl-percent-encoding
15259 (let ((commit "c1224e22bc8048fbd3ebbc9329715a0c1b673170")
15260 (revision "1"))
15261 (package
15262 (name "sbcl-percent-encoding")
15263 (version (git-version "0.1" revision commit))
15264 (source
15265 (origin
15266 (method git-fetch)
15267 (uri (git-reference
15268 (url "https://github.com/llibra/percent-encoding")
15269 (commit commit)))
15270 (file-name (git-file-name "percent-encoding" version))
15271 (sha256
15272 (base32 "0q1lh3sa6mkjr5gcdkgimkpc29rgf9cjhv90f61h8ridj28grq0h"))))
15273 (build-system asdf-build-system/sbcl)
15274 (native-inputs
15275 `(("fiveam" ,sbcl-fiveam)))
15276 (inputs
15277 `(("anaphora" ,sbcl-anaphora)
15278 ("babel" ,sbcl-babel)))
15279 (synopsis "RFC 3986 percent-encoding library")
15280 (description
15281 "This is a Common Lisp library providing RFC 3986 percent-encoding.")
15282 (home-page "https://github.com/llibra/percent-encoding")
15283 (license license:expat))))
15284
15285 (define-public ecl-percent-encoding
15286 (sbcl-package->ecl-package sbcl-percent-encoding))
15287
15288 (define-public cl-percent-encoding
15289 (sbcl-package->cl-source-package sbcl-percent-encoding))
15290
15291 (define-public sbcl-cl-mount-info
15292 (let ((commit "2024f5037a7f63db3e3587dc9972cd7b9318f06b")
15293 (revision "1"))
15294 (package
15295 (name "sbcl-cl-mount-info")
15296 (version (git-version "0.0.1" revision commit))
15297 (source
15298 (origin
15299 (method git-fetch)
15300 (uri (git-reference
15301 (url "https://notabug.org/cage/cl-mount-info.git")
15302 (commit commit)))
15303 (file-name (git-file-name "cl-mount-info" version))
15304 (sha256
15305 (base32 "0vza9gj9q42nzb5v8aj22lmn4aqx9vrddsb5a343nbwfz89hbh9x"))))
15306 (build-system asdf-build-system/sbcl)
15307 (inputs
15308 `(("alexandria" ,sbcl-alexandria)
15309 ("cffi" ,sbcl-cffi)
15310 ("cl-ppcre" ,sbcl-cl-ppcre)))
15311 (home-page "https://notabug.org/cage/cl-mount-info.git")
15312 (synopsis "Library to get information about mounted filesystems")
15313 (description
15314 "CL-MOUNT-INFO is a Common Lisp wrapper around @code{getmntent(3)} and
15315 related C functions to get information about the mounted file system.")
15316 (license license:lgpl3))))
15317
15318 (define-public ecl-cl-mount-info
15319 (sbcl-package->ecl-package sbcl-cl-mount-info))
15320
15321 (define-public cl-mount-info
15322 (sbcl-package->cl-source-package sbcl-cl-mount-info))
15323
15324 (define-public sbcl-cl-diskspace
15325 (let ((commit "2dce2d0387d58221c452bd76c7b9b7a7de81ef55")
15326 (revision "1"))
15327 (package
15328 (name "sbcl-cl-diskspace")
15329 (version (git-version "0.3.1" revision commit))
15330 (source
15331 (origin
15332 (method git-fetch)
15333 (uri (git-reference
15334 (url "https://github.com/muyinliu/cl-diskspace")
15335 (commit commit)))
15336 (file-name (git-file-name "cl-diskspace" version))
15337 (sha256
15338 (base32 "0l19hxqw6b8i5i1jdbr45k1xib9axcwdagsp3y8wkb35g6wwc0s7"))))
15339 (build-system asdf-build-system/sbcl)
15340 (arguments
15341 `(#:phases
15342 (modify-phases %standard-phases
15343 (add-after 'unpack 'fix-paths
15344 (lambda* (#:key inputs #:allow-other-keys)
15345 (substitute* "src/unix/cl-diskspace-list-all-disks-with-df.lisp"
15346 (("grep")
15347 (string-append (assoc-ref inputs "grep") "/bin/grep")))
15348 (substitute* "src/unix/cl-diskspace-list-all-disks-with-df.lisp"
15349 (("/bin/df")
15350 (which "df")))
15351 #t)))))
15352 (inputs
15353 `(("cl-ppcre" ,sbcl-cl-ppcre)
15354 ("cffi" ,sbcl-cffi)
15355 ("grep" ,grep)))
15356 (home-page "https://github.com/muyinliu/cl-diskspace")
15357 (synopsis "Disk space information library for Common Lisp")
15358 (description
15359 "CL-DISKSPACE is a Common Lisp library to list disks with the command
15360 line tool @code{df} and get disk space information using @code{statvfs}.")
15361 (license license:isc))))
15362
15363 (define-public ecl-cl-diskspace
15364 (sbcl-package->ecl-package sbcl-cl-diskspace))
15365
15366 (define-public cl-diskspace
15367 (sbcl-package->cl-source-package sbcl-cl-diskspace))
15368
15369 (define-public sbcl-cl-cpus
15370 (package
15371 (name "sbcl-cl-cpus")
15372 (version "0.0.3")
15373 (source
15374 (origin
15375 (method git-fetch)
15376 (uri (git-reference
15377 (url "https://github.com/muyinliu/cl-cpus")
15378 (commit (string-append "v" version))))
15379 (file-name (git-file-name "cl-cpus" version))
15380 (sha256
15381 (base32 "0sdaff9hpsx7bpkkkqavmxmrrlc2d61gmqjjgn8xchncng4a0rf8"))))
15382 (build-system asdf-build-system/sbcl)
15383 (inputs
15384 `(("cffi" ,sbcl-cffi)))
15385 (home-page "https://github.com/muyinliu/cl-cpus")
15386 (synopsis "Common Lisp feature to get number of CPUs")
15387 (description
15388 "This package provides a Common Lisp system which has only one function to
15389 return the CPU count of the current system.")
15390 (license license:isc)))
15391
15392 (define-public ecl-cl-cpus
15393 (sbcl-package->ecl-package sbcl-cl-cpus))
15394
15395 (define-public cl-cpus
15396 (sbcl-package->cl-source-package sbcl-cl-cpus))
15397
15398 (define-public sbcl-fof
15399 (package
15400 (name "sbcl-fof")
15401 (version "0.1.0")
15402 (source
15403 (origin
15404 (method git-fetch)
15405 (uri (git-reference
15406 (url "https://gitlab.com/ambrevar/fof")
15407 (commit version)))
15408 (file-name (git-file-name name version))
15409 (sha256
15410 (base32 "1xdnlqrjfmgdgw58avkci881iwarv4am2vq09b14pfifmpxpzv10"))))
15411 (build-system asdf-build-system/sbcl)
15412 (arguments
15413 `(#:phases
15414 (modify-phases %standard-phases
15415 (add-after 'unpack 'fix-paths
15416 (lambda* (#:key inputs #:allow-other-keys)
15417 (substitute* "ffprobe.lisp"
15418 (("\\(defvar \\*ffprobe-command\\* \"ffprobe\"\\)")
15419 (format #f "(defvar *ffprobe-command* \"~a/bin/ffprobe\")"
15420 (assoc-ref inputs "ffmpeg") )))
15421 #t)))))
15422 (inputs
15423 `(("alexandria" ,sbcl-alexandria)
15424 ("hu.dwim.defclass-star" ,sbcl-hu.dwim.defclass-star)
15425 ("local-time" ,sbcl-local-time)
15426 ("magicffi" ,sbcl-magicffi)
15427 ("osicat" ,sbcl-osicat)
15428 ("serapeum" ,sbcl-serapeum)
15429 ("str" ,sbcl-cl-str)
15430 ("trivia" ,sbcl-trivia)
15431 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)
15432 ;; Non-CL deps:
15433 ("ffmpeg" ,ffmpeg)))
15434 (home-page "https://gitlab.com/ambrevar/fof")
15435 (synopsis "File object finder library for Common Lisp")
15436 (description
15437 "This library enable rapid file search, inspection and manipulation
15438 straight from the REPL.
15439 It aims at replacing Unix tools such as @code{find} or @code{du}.
15440 It also offers a replacement to the @code{pathname} Common Lisp API.
15441 Slot writers which commit changes to disk, e.g. permissions, modification
15442 time, etc.")
15443 (license license:gpl3+)))
15444
15445 (define-public ecl-fof
15446 (sbcl-package->ecl-package sbcl-fof))
15447
15448 (define-public cl-fof
15449 (sbcl-package->cl-source-package sbcl-fof))
15450
15451 (define-public sbcl-computable-reals
15452 (let ((commit "fdc73d75e79d0a4ce6d01c822c950ae2eb137d39"))
15453 (package
15454 (name "sbcl-computable-reals")
15455 (version (git-version "1.1.0" "1" commit))
15456 (source
15457 (origin
15458 (method git-fetch)
15459 (uri (git-reference
15460 (url "https://github.com/stylewarning/computable-reals")
15461 (commit commit)))
15462 (file-name (git-file-name name version))
15463 (sha256
15464 (base32 "0f12axi53x14l12dgf4a1lfq3p1fx7fh7sjfc0db3lk88ph9qfwl"))))
15465 (build-system asdf-build-system/sbcl)
15466 (home-page "https://github.com/stylewarning/computable-reals")
15467 (synopsis "Arbitrary-precision, re-computing real-numbers in Common Lisp")
15468 (description
15469 "This library provides arbitrary precision (floating point) real
15470 numbers in Common Lisp.")
15471 (license license:bsd-3))))
15472
15473 (define-public ecl-computable-reals
15474 (sbcl-package->ecl-package sbcl-computable-reals))
15475
15476 (define-public cl-computable-reals
15477 (sbcl-package->cl-source-package sbcl-computable-reals))
15478
15479 (define-public sbcl-html-template
15480 (package
15481 (name "sbcl-html-template")
15482 (version "0.9.2")
15483 (source
15484 (origin
15485 (method git-fetch)
15486 (uri (git-reference
15487 (url "https://github.com/edicl/html-template")
15488 (commit (string-append "v" version))))
15489 (file-name (git-file-name name version))
15490 (sha256
15491 (base32 "0wz3czvjsn4x971dsiia9f9nvvcmbkablcl75zsvxndkimc93wxb"))))
15492 (build-system asdf-build-system/sbcl)
15493 (home-page "https://edicl.github.io/html-template/")
15494 (synopsis "HTML templates from Common Lisp")
15495 (description
15496 "HTML-TEMPLATE is a Common Lisp library which can be used to fill
15497 templates with arbitrary (string) values at runtime. The result does not have
15498 to be HTML.
15499
15500 It is loosely modeled after the Perl module @code{HTML::Template} and
15501 partially compatible with a its syntax, though both libraries contain some
15502 extensions that the other does not support.
15503
15504 HTML-TEMPLATE translates templates into efficient closures which can be
15505 re-used as often as needed. It uses a cache mechanism so you can update
15506 templates while your program is running and have the changes take effect
15507 immediately.")
15508 (license license:bsd-2)))
15509
15510 (define-public ecl-html-template
15511 (sbcl-package->ecl-package sbcl-html-template))
15512
15513 (define-public cl-html-template
15514 (sbcl-package->cl-source-package sbcl-html-template))
15515
15516 (define-public sbcl-quickproject
15517 (package
15518 (name "sbcl-quickproject")
15519 (version "1.4.1")
15520 (source
15521 (origin
15522 (method git-fetch)
15523 (uri (git-reference
15524 (url "https://github.com/xach/quickproject")
15525 (commit (string-append "release-" version))))
15526 (file-name (git-file-name name version))
15527 (sha256
15528 (base32 "1szs8p2wr1yr9mjmj3h3557l6wxzzga0iszimb68z0hb1jj3lva6"))))
15529 (build-system asdf-build-system/sbcl)
15530 (inputs
15531 `(("cl-fad" ,sbcl-cl-fad)
15532 ("html-template" ,sbcl-html-template)))
15533 (arguments
15534 '(#:asd-files '("quickproject.asd")))
15535 (home-page "https://xach.com/lisp/quickproject/")
15536 (synopsis "Create Common Lisp project skeletons")
15537 (description
15538 "Quickproject provides a quick way to make a Common Lisp project. After
15539 creating a project, it extends the ASDF registry so the project may be
15540 immediately loaded.")
15541 (license license:expat)))
15542
15543 (define-public ecl-quickproject
15544 (sbcl-package->ecl-package sbcl-quickproject))
15545
15546 (define-public cl-quickproject
15547 (sbcl-package->cl-source-package sbcl-quickproject))
15548
15549 (define-public sbcl-bodge-math
15550 (let ((commit "9159b7faf88d440024c07110dbef2abddb20b9af")
15551 (revision "1"))
15552 (package
15553 (name "sbcl-bodge-math")
15554 (version (git-version "1.0.0" revision commit))
15555 (source
15556 (origin
15557 (method git-fetch)
15558 (uri (git-reference
15559 (url "https://github.com/borodust/bodge-math")
15560 (commit commit)))
15561 (file-name (git-file-name "bodge-math" version))
15562 (sha256
15563 (base32 "0r3vnl9lywn4ksy34apcv6j825qp7l1naddawr14v4lwacndb80v"))))
15564 (build-system asdf-build-system/sbcl)
15565 (inputs
15566 `(("bodge-utilities" ,sbcl-bodge-utilities)
15567 ("rtg-math" ,sbcl-rtg-math)))
15568 (home-page "https://github.com/borodust/bodge-math")
15569 (synopsis "Common Lisp core math utilities of BODGE library collection")
15570 (description
15571 "This Common Lisp package contains the core math utilities of the
15572 @emph{Bodge} library collection.")
15573 (license license:expat))))
15574
15575 (define-public ecl-bodge-math
15576 (sbcl-package->ecl-package sbcl-bodge-math))
15577
15578 (define-public cl-bodge-math
15579 (sbcl-package->cl-source-package sbcl-bodge-math))
15580
15581 (define-public sbcl-cl-conspack
15582 (let ((commit "fc8473bc6f929696b03b43820596b7c976c4678e")
15583 (revision "1"))
15584 (package
15585 (name "sbcl-cl-conspack")
15586 (version (git-version "0.0.0" revision commit))
15587 (source
15588 (origin
15589 (method git-fetch)
15590 (uri (git-reference
15591 (url "https://github.com/conspack/cl-conspack")
15592 (commit commit)))
15593 (file-name (git-file-name "cl-conspack" version))
15594 (sha256
15595 (base32 "0b7qzvsrpvnw12hqhjmz0b02sigj0kdjy55j4k7xzmj8684cs8bx"))))
15596 (build-system asdf-build-system/sbcl)
15597 ;; FIXME: (Sharlatan-20210331T220652+0100): Test are disabled because of:
15598 ;;
15599 ;; Error while trying to load definition for system cl-conspack-test
15600 ;; from pathname .../cl-conspack/cl-conspack-test.asd:
15601 ;; Error opening .../checkl/formalize-tmpGHU3ALSV.fasl": Permission denied
15602 ;;
15603 ;; It looks like the issues is in CheckL itself as other packages keep
15604 ;; failing test where it's in use.
15605 (arguments
15606 '(#:tests? #f
15607 #:asd-files '("cl-conspack.asd")))
15608 (native-inputs
15609 `(("checkl" ,sbcl-checkl)))
15610 (inputs
15611 `(("alexandria" ,sbcl-alexandria)
15612 ("closer-mop" ,sbcl-closer-mop)
15613 ("fast-io" ,sbcl-fast-io)
15614 ("ieee-floats" ,sbcl-ieee-floats)
15615 ("trivial-garbage" ,sbcl-trivial-garbage)
15616 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
15617 (home-page "https://github.com/conspack/cl-conspack")
15618 (synopsis "CONSPACK implementation for Common Lisp")
15619 (description
15620 "This package provides a CONSPACK implementation for Common Lisp.")
15621 (license license:bsd-3))))
15622
15623 (define-public ecl-cl-conspack
15624 (sbcl-package->ecl-package sbcl-cl-conspack))
15625
15626 (define-public cl-conspack
15627 (sbcl-package->cl-source-package sbcl-cl-conspack))
15628
15629 (define-public sbcl-cl-opengl
15630 (let ((commit "e2d83e0977b7e7ac3f3d348d8ccc7ccd04e74d59")
15631 (revision "1"))
15632 (package
15633 (name "sbcl-cl-opengl")
15634 (version (git-version "0.1.0" revision commit))
15635 (source
15636 (origin
15637 (method git-fetch)
15638 (uri (git-reference
15639 (url "https://github.com/3b/cl-opengl")
15640 (commit commit)))
15641 (file-name (git-file-name "cl-opengl" version))
15642 (sha256
15643 (base32 "0mhqmll09f079pnd6mgswz9nvr6h5n27d4q7zpmm2igf1v460id7"))))
15644 (build-system asdf-build-system/sbcl)
15645 (arguments
15646 `(#:asd-systems '("cl-opengl" "cl-glu" "cl-glut")
15647 #:phases
15648 (modify-phases %standard-phases
15649 (add-after 'unpack 'patch-lib-path
15650 (lambda* (#:key inputs #:allow-other-keys)
15651 (substitute* "gl/library.lisp"
15652 (("libGL.so" all)
15653 (string-append (assoc-ref inputs "mesa") "/lib/" all)))
15654 (substitute* "glu/library.lisp"
15655 (("libGLU.so" all)
15656 (string-append (assoc-ref inputs "glu") "/lib/" all)))
15657 (substitute* "glut/library.lisp"
15658 (("libglut.so" all)
15659 (string-append (assoc-ref inputs "freeglut") "/lib/" all)))
15660 #t)))))
15661 (inputs
15662 `(("alexandria" ,sbcl-alexandria)
15663 ("cffi" ,sbcl-cffi)
15664 ("float-features" ,sbcl-float-features)
15665 ("freeglut" ,freeglut)
15666 ("glu" ,glu)
15667 ("mesa" ,mesa)))
15668 (home-page "https://github.com/3b/cl-opengl")
15669 (synopsis "Common Lisp bindings to OpenGL, GLU and GLUT APIs")
15670 (description
15671 "This package provides a set of bindings and utilities for accessing the
15672 OpenGL (Mesa), GLU and GLUT (FreeGLUT) APIs using CFFI.")
15673 (license license:bsd-3))))
15674
15675 (define-public ecl-cl-opengl
15676 (sbcl-package->ecl-package sbcl-cl-opengl))
15677
15678 (define-public cl-opengl
15679 (sbcl-package->cl-source-package sbcl-cl-opengl))
15680
15681 (define-public sbcl-shadow
15682 (let ((commit "b2031adbfba3579b48c9d39ad997e19b79b6852f")
15683 (revision "1"))
15684 (package
15685 (name "sbcl-shadow")
15686 (version (git-version "0.0.0" revision commit))
15687 (source
15688 (origin
15689 (method git-fetch)
15690 (uri (git-reference
15691 (url "https://git.mfiano.net/mfiano/shadow")
15692 (commit commit)))
15693 (file-name (git-file-name "shadow" version))
15694 (sha256
15695 (base32 "0w1i734gkdkziin74ql2nhx7jdjxx02ylssaa6qdrvnj4br1124a"))))
15696 (build-system asdf-build-system/sbcl)
15697 (inputs
15698 `(("cffi" ,sbcl-cffi)
15699 ("cl-opengl" ,sbcl-cl-opengl)
15700 ("glsl-packing" ,sbcl-glsl-packing)
15701 ("golden-utils" ,sbcl-golden-utils)
15702 ("static-vectors" ,sbcl-static-vectors)
15703 ("varjo" ,sbcl-varjo)))
15704 (home-page "https://git.mfiano.net/mfiano/shadow")
15705 (synopsis "Management system for OpenGL shader programs")
15706 (description
15707 "This package provides a Common Lisp library for defining OpenGL shader
15708 programs. There are also functions for referencing shader programs by name,
15709 querying for basic information about them, modifying uniform variables
15710 throughout the lifecycle of an OpenGL application, and managing certain OpenGL
15711 buffer object types (UBO, SSBO currently).")
15712 (license license:expat))))
15713
15714 (define-public ecl-shadow
15715 (sbcl-package->ecl-package sbcl-shadow))
15716
15717 (define-public cl-shadow
15718 (sbcl-package->cl-source-package sbcl-shadow))
15719
15720 (define-public sbcl-umbra
15721 (let ((commit "d6ef2f6cbfa26180929061129eaf325bf17f73d8")
15722 (revision "1"))
15723 (package
15724 (name "sbcl-umbra")
15725 (version (git-version "0.0.0" revision commit))
15726 (source
15727 (origin
15728 (method git-fetch)
15729 (uri (git-reference
15730 (url "https://git.mfiano.net/mfiano/umbra")
15731 (commit commit)))
15732 (file-name (git-file-name "umbra" version))
15733 (sha256
15734 (base32 "04vyh2j00zdpb8ryxr8g81wjcmqlz9wrn55r3cypcj4qg970r5wi"))))
15735 (build-system asdf-build-system/sbcl)
15736 (inputs
15737 `(("golden-utils" ,sbcl-golden-utils)
15738 ("shadow" ,sbcl-shadow)
15739 ("varjo" ,sbcl-varjo)))
15740 (home-page "https://git.mfiano.net/mfiano/umbra")
15741 (synopsis "Common Lisp library of reusable GPU shader functions")
15742 (description
15743 "This is a Common Lisp library consisting of a collection of useful GPU
15744 shader functions, written with @code{Shadow}.")
15745 (license license:expat))))
15746
15747 (define-public ecl-umbra
15748 (sbcl-package->ecl-package sbcl-umbra))
15749
15750 (define-public cl-umbra
15751 (sbcl-package->cl-source-package sbcl-umbra))
15752
15753 (define-public sbcl-abstract-classes
15754 (let ((commit "7fa74f1e057f9ba7c1ffecff14f049f979e45267")
15755 (revision "1"))
15756 (package
15757 (name "sbcl-abstract-classes")
15758 (version (git-version "1.7.0" revision commit))
15759 (source
15760 (origin
15761 (method git-fetch)
15762 (uri (git-reference
15763 (url "https://bitbucket.org/eeeickythump/cl-abstract-classes")
15764 (commit commit)))
15765 (file-name (git-file-name "cl-abstract-classes" version))
15766 (sha256
15767 (base32 "06lby4i6xbbgs7kgb0f3fqybvyskyg6djhrf967lnysv7hn3zpg9"))))
15768 (build-system asdf-build-system/sbcl)
15769 (inputs
15770 `(("closer-mop" ,sbcl-closer-mop)))
15771 (arguments
15772 `(#:asd-systems '("abstract-classes" "singleton-classes")))
15773 (home-page "https://bitbucket.org/eeeickythump/cl-abstract-classes")
15774 (synopsis "Abstract, final, and singleton metaclasses for CLOS")
15775 (description
15776 "This package provides Common Lisp extension to the MOP to allow
15777 abstract, final and singleton classes.")
15778 (license license:public-domain))))
15779
15780 (define-public ecl-abstract-classes
15781 (sbcl-package->ecl-package sbcl-abstract-classes))
15782
15783 (define-public cl-abstract-classes
15784 (sbcl-package->cl-source-package sbcl-abstract-classes))
15785
15786 (define-public sbcl-coalton
15787 (let ((commit "4a42ffb4222fde3abfd1b50d96e455ff2eef9fe8")
15788 (revision "1"))
15789 (package
15790 (name "sbcl-coalton")
15791 (version (git-version "0.0.0" revision commit))
15792 (source
15793 (origin
15794 (method git-fetch)
15795 (uri (git-reference
15796 (url "https://github.com/stylewarning/coalton")
15797 (commit commit)))
15798 (file-name (git-file-name "coalton" version))
15799 (sha256
15800 (base32 "0aidwwam7cnhb3p9212zbv5w2dl6kr5iklzanypzr1a9lqaxwdlk"))))
15801 (build-system asdf-build-system/sbcl)
15802 (native-inputs
15803 `(("fiasco" ,sbcl-fiasco)))
15804 (inputs
15805 `(("abstract-classes" ,sbcl-abstract-classes)
15806 ("alexandria" ,sbcl-alexandria)
15807 ("global-vars" ,sbcl-global-vars)
15808 ("optima" ,sbcl-optima)
15809 ("trivial-garbage" ,sbcl-trivial-garbage)))
15810 (home-page "https://github.com/stylewarning/coalton")
15811 (synopsis "Dialect of ML in Common Lisp")
15812 (description
15813 "Coalton is a dialect of ML embedded in Common Lisp. It emphasizes
15814 practicality and interoperability with Lisp, and is intended to be a DSL that
15815 allows one to gradually make their programs safer.")
15816 (license license:expat))))
15817
15818 (define-public ecl-coalton
15819 (sbcl-package->ecl-package sbcl-coalton))
15820
15821 (define-public cl-coalton
15822 (sbcl-package->cl-source-package sbcl-coalton))
15823
15824 (define-public sbcl-clip
15825 (let ((commit "7afa68702fbb99c47ed115ea0faccd97a29d9b2e")
15826 (revision "1"))
15827 (package
15828 (name "sbcl-clip")
15829 (version (git-version "0.7.0" revision commit))
15830 (source
15831 (origin
15832 (method git-fetch)
15833 (uri (git-reference
15834 (url "https://github.com/shinmera/clip")
15835 (commit commit)))
15836 (file-name (git-file-name "clip" version))
15837 (sha256
15838 (base32 "13kkajkva2shm19fvn4yashsw18l6imv2rmy3hmpcky7g5ay7bv3"))))
15839 (build-system asdf-build-system/sbcl)
15840 (inputs
15841 `(("array-utils" ,sbcl-array-utils)
15842 ("lquery" ,sbcl-lquery)))
15843 (home-page "https://shinmera.github.io/clip/")
15844 (synopsis "Common Lisp HTML templating engine")
15845 (description
15846 "Clip is an attempt at a templating library that allows you to write
15847 templates in a way that is both accessible to direct webdesign and
15848 flexible. The main idea is to incorporate transformation commands into an HTML
15849 file through tags and attributes. Clip is heavily dependant on Plump and
15850 lQuery.")
15851 (license license:zlib))))
15852
15853 (define-public ecl-clip
15854 (sbcl-package->ecl-package sbcl-clip))
15855
15856 (define-public cl-clip
15857 (sbcl-package->cl-source-package sbcl-clip))