gnu: Add cl-daemon.
[jackhill/guix/guix.git] / gnu / packages / lisp-xyz.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2014 John Darrington <jmd@gnu.org>
3 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
4 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
5 ;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch>
6 ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
7 ;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca>
8 ;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
9 ;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
10 ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
11 ;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
12 ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
13 ;;; Copyright © 2018, 2020, 2021 Pierre Neidhardt <mail@ambrevar.xyz>
14 ;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
15 ;;; Copyright © 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
16 ;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com>
17 ;;; Copyright © 2019, 2020, 2021 Guillaume Le Vaillant <glv@posteo.net>
18 ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
19 ;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
20 ;;; Copyright © 2020 Dimakis Dimakakos <me@bendersteed.tech>
21 ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
22 ;;; Copyright © 2020, 2021 Adam Kandur <rndd@tuta.io>
23 ;;; Copyright © 2020, 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
24 ;;; Copyright © 2021 Aurora <rind38@disroot.org>
25 ;;; Copyright © 2021 Matthew Kraai <kraai@ftbfs.org>
26 ;;;
27 ;;; This file is part of GNU Guix.
28 ;;;
29 ;;; GNU Guix is free software; you can redistribute it and/or modify it
30 ;;; under the terms of the GNU General Public License as published by
31 ;;; the Free Software Foundation; either version 3 of the License, or (at
32 ;;; your option) any later version.
33 ;;;
34 ;;; GNU Guix is distributed in the hope that it will be useful, but
35 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
36 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
37 ;;; GNU General Public License for more details.
38 ;;;
39 ;;; You should have received a copy of the GNU General Public License
40 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
41
42 ;;; This file only contains Common Lisp libraries.
43 ;;; Common Lisp compilers and tooling go to lisp.scm.
44 ;;; Common Lisp applications should go to the most appropriate file,
45 ;;; e.g. StumpWM is in wm.scm.
46
47 (define-module (gnu packages lisp-xyz)
48 #:use-module (gnu packages)
49 #:use-module ((guix licenses) #:prefix license:)
50 #:use-module (guix packages)
51 #:use-module (guix download)
52 #:use-module (guix git-download)
53 #:use-module (guix hg-download)
54 #:use-module (guix utils)
55 #:use-module (guix build-system asdf)
56 #:use-module (guix build-system trivial)
57 #:use-module (gnu packages base)
58 #:use-module (gnu packages c)
59 #:use-module (gnu packages compression)
60 #:use-module (gnu packages databases)
61 #:use-module (gnu packages enchant)
62 #:use-module (gnu packages file)
63 #:use-module (gnu packages fonts)
64 #:use-module (gnu packages fontutils)
65 #:use-module (gnu packages glib)
66 #:use-module (gnu packages gtk)
67 #:use-module (gnu packages imagemagick)
68 #:use-module (gnu packages libevent)
69 #:use-module (gnu packages libffi)
70 #:use-module (gnu packages linux)
71 #:use-module (gnu packages lisp)
72 #:use-module (gnu packages maths)
73 #:use-module (gnu packages mp3)
74 #:use-module (gnu packages networking)
75 #:use-module (gnu packages pkg-config)
76 #:use-module (gnu packages python)
77 #:use-module (gnu packages python-xyz)
78 #:use-module (gnu packages sqlite)
79 #:use-module (gnu packages tcl)
80 #:use-module (gnu packages tls)
81 #:use-module (gnu packages web)
82 #:use-module (gnu packages webkit)
83 #:use-module (gnu packages xdisorg)
84 #:use-module (ice-9 match)
85 #:use-module (srfi srfi-1)
86 #:use-module (srfi srfi-19))
87
88 (define-public sbcl-alexandria
89 (package
90 (name "sbcl-alexandria")
91 (version "1.2")
92 (source
93 (origin
94 (method git-fetch)
95 (uri (git-reference
96 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
97 (commit (string-append "v" version))))
98 (sha256
99 (base32
100 "0bcqs0z9xlqgjz43qzgq9i07vdlnjllpm1wwa37wpkg0w975r712"))
101 (file-name (git-file-name name version))))
102 (build-system asdf-build-system/sbcl)
103 (native-inputs
104 `(("rt" ,sbcl-rt)))
105 (synopsis "Collection of portable utilities for Common Lisp")
106 (description
107 "Alexandria is a collection of portable utilities. It does not contain
108 conceptual extensions to Common Lisp. It is conservative in scope, and
109 portable between implementations.")
110 (home-page "https://common-lisp.net/project/alexandria/")
111 (license license:public-domain)))
112
113 (define-public cl-alexandria
114 (sbcl-package->cl-source-package sbcl-alexandria))
115
116 (define-public ecl-alexandria
117 (sbcl-package->ecl-package sbcl-alexandria))
118
119 (define-public sbcl-golden-utils
120 (let ((commit "9424419d867d5c2f819196ee41667a818a5058e7")
121 (revision "1"))
122 (package
123 (name "sbcl-golden-utils")
124 (version (git-version "0.0.0" revision commit))
125 (source
126 (origin
127 (method git-fetch)
128 (uri (git-reference
129 (url "https://git.mfiano.net/mfiano/golden-utils")
130 (commit commit)))
131 (file-name (git-file-name name version))
132 (sha256
133 (base32 "15x0phm6820yj3h37ibi06gjyh6z45sd2nz2n8lcbfflwm086q0h"))))
134 (build-system asdf-build-system/sbcl)
135 (inputs
136 `(("alexandria" ,sbcl-alexandria)))
137 (home-page "https://git.mfiano.net/mfiano/golden-utils")
138 (synopsis "Common Lisp utility library")
139 (description
140 "This is a Common Lisp library providing various utilities.")
141 (license license:expat))))
142
143 (define-public ecl-golden-utils
144 (sbcl-package->ecl-package sbcl-golden-utils))
145
146 (define-public cl-golden-utils
147 (sbcl-package->cl-source-package sbcl-golden-utils))
148
149 (define-public sbcl-asdf-finalizers
150 (let ((commit "7f537f6c598b662ae987c6acc268dd27c25977e0")
151 (revision "1"))
152 (package
153 (name "sbcl-asdf-finalizers")
154 (version (git-version "0.0.0" revision commit))
155 (source
156 (origin
157 (method git-fetch)
158 (uri (git-reference
159 (url "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
160 (commit commit)))
161 (file-name (git-file-name name version))
162 (sha256
163 (base32 "1w56c9yjjydjshsgqxz57qlp2v3r4ilbisnsgiqphvxnhvd41y0v"))))
164 (build-system asdf-build-system/sbcl)
165 (native-inputs
166 `(("fare-utils" ,sbcl-fare-utils)
167 ("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
168 (arguments
169 `(#:asd-files '("asdf-finalizers.asd"
170 "list-of.asd"
171 "asdf-finalizers-test.asd")
172 #:asd-systems '("asdf-finalizers"
173 "list-of")))
174 (home-page "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
175 (synopsis "Enforced calling of finalizers for Lisp code")
176 (description "This library allows you to implement and enforce proper
177 finalization of compile-time constructs while building Lisp source files.
178
179 It produces two systems: asdf-finalizers and list-of.")
180 (license license:expat))))
181
182 (define-public ecl-asdf-finalizers
183 (sbcl-package->ecl-package sbcl-asdf-finalizers))
184
185 (define-public cl-asdf-finalizers
186 (sbcl-package->cl-source-package sbcl-asdf-finalizers))
187
188 (define-public sbcl-net.didierverna.asdf-flv
189 (package
190 (name "sbcl-net.didierverna.asdf-flv")
191 (version "2.1")
192 (source
193 (origin
194 (method git-fetch)
195 (uri (git-reference
196 (url "https://github.com/didierverna/asdf-flv")
197 (commit (string-append "version-" version))))
198 (file-name (git-file-name "asdf-flv" version))
199 (sha256
200 (base32 "1fi2y4baxan103jbg4idjddzihy03kwnj2mzbwrknw4d4x7xlgwj"))))
201 (build-system asdf-build-system/sbcl)
202 (synopsis "Common Lisp ASDF extension to provide support for file-local variables")
203 (description "ASDF-FLV provides support for file-local variables through
204 ASDF. A file-local variable behaves like @code{*PACKAGE*} and
205 @code{*READTABLE*} with respect to @code{LOAD} and @code{COMPILE-FILE}: a new
206 dynamic binding is created before processing the file, so that any
207 modification to the variable becomes essentially file-local.
208
209 In order to make one or several variables file-local, use the macros
210 @code{SET-FILE-LOCAL-VARIABLE(S)}.")
211 (home-page "https://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv")
212 (license (license:non-copyleft
213 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
214 "GNU All-Permissive License"))))
215
216 (define-public cl-net.didierverna.asdf-flv
217 (sbcl-package->cl-source-package sbcl-net.didierverna.asdf-flv))
218
219 (define-public ecl-net.didierverna.asdf-flv
220 (sbcl-package->ecl-package sbcl-net.didierverna.asdf-flv))
221
222 (define-public sbcl-command-line-arguments
223 (let ((commit "fbac862fb01c0e368141204f3f639920462c23fe")
224 (revision "1"))
225 (package
226 (name "sbcl-command-line-arguments")
227 (version (git-version "2.0.0" revision commit))
228 (source
229 (origin
230 (method git-fetch)
231 (uri (git-reference
232 (url "https://github.com/fare/command-line-arguments")
233 (commit commit)))
234 (file-name (git-file-name name version))
235 (sha256
236 (base32 "054m1ikndzqf72mb9ajaa64136cwr3bgag4yfbi1574a9vq75mjq"))))
237 (build-system asdf-build-system/sbcl)
238 (home-page "https://github.com/fare/command-line-arguments")
239 (synopsis "Trivial command-line argument parsing library for Common Lisp")
240 (description "This is a library to abstract away the parsing of
241 Unix-style command-line arguments. Use it in conjunction with asdf:program-op
242 or cl-launch for portable processing of command-line arguments.")
243 (license license:expat))))
244
245 (define-public ecl-command-line-arguments
246 (sbcl-package->ecl-package sbcl-command-line-arguments))
247
248 (define-public cl-command-line-arguments
249 (sbcl-package->cl-source-package sbcl-command-line-arguments))
250
251 (define-public sbcl-fiveam
252 (package
253 (name "sbcl-fiveam")
254 (version "1.4.1")
255 (source
256 (origin
257 (method git-fetch)
258 (uri (git-reference
259 (url "https://github.com/sionescu/fiveam")
260 (commit (string-append "v" version))))
261 (file-name (git-file-name "fiveam" version))
262 (sha256
263 (base32 "1q3d38pwafnwnw42clq0f8g5xw7pbzr287jl9jsqmb1vb0n1vrli"))))
264 (inputs
265 `(("alexandria" ,sbcl-alexandria)
266 ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
267 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
268 (build-system asdf-build-system/sbcl)
269 (synopsis "Common Lisp testing framework")
270 (description "FiveAM is a simple (as far as writing and running tests
271 goes) regression testing framework. It has been designed with Common Lisp's
272 interactive development model in mind.")
273 (home-page "https://common-lisp.net/project/fiveam/")
274 (license license:bsd-3)))
275
276 (define-public cl-fiveam
277 (sbcl-package->cl-source-package sbcl-fiveam))
278
279 (define-public ecl-fiveam
280 (sbcl-package->ecl-package sbcl-fiveam))
281
282 (define-public sbcl-cl-irc
283 (let ((commit "963823537c7bfcda2edd4c44d172192da6722175")
284 (revision "0"))
285 (package
286 (name "sbcl-cl-irc")
287 (version (git-version "0.9.2" revision commit))
288 (source
289 (origin
290 (method git-fetch)
291 (uri (git-reference
292 (url "https://salsa.debian.org/common-lisp-team/cl-irc.git")
293 (commit commit)))
294 (file-name (git-file-name "cl-irc" version))
295 (sha256
296 (base32 "1b3nqbb4pj377lxl47rfgrs82pidadnrc65l48bk553c2f59b52w"))))
297 (build-system asdf-build-system/sbcl)
298 (native-inputs
299 ;; Tests only.
300 `(("rt" ,sbcl-rt)))
301 (inputs
302 `(("cl+ssl" ,sbcl-cl+ssl)
303 ("flexi-streams" ,sbcl-flexi-streams)
304 ("split-sequence" ,sbcl-split-sequence)
305 ("usocket" ,sbcl-usocket)))
306 (arguments
307 `(#:asd-systems '("cl-irc") ;; Some inexisting "c" system is
308 ;; found by guix otherwise.
309 #:asd-files '("cl-irc.asd")
310 #:test-asd-file "test/cl-irc-test.asd"))
311 (synopsis "IRC client library for Common Lisp")
312 (description "@code{cl-irc} is a Common Lisp IRC client library that
313 features (partial) DCC, CTCP and all relevant commands from the IRC
314 RFCs (RFC2810, RFC2811 and RFC2812).
315
316 Features:
317 @itemize
318 @item implements all commands in the RFCs
319 @item extra convenience commands such as op/deop, ban, ignore, etc.
320 @item partial DCC SEND/CHAT support
321 @item event driven model with hooks makes interfacing easy
322 @item the user can keep multiple connections
323 @item all CTCP commands
324 @end itemize\n")
325 (home-page "https://common-lisp.net/project/cl-irc/")
326 (license license:bsd-2))))
327
328 (define-public cl-irc
329 (sbcl-package->cl-source-package sbcl-cl-irc))
330
331 (define-public ecl-cl-irc
332 (sbcl-package->ecl-package sbcl-cl-irc))
333
334 (define-public sbcl-trivial-timeout
335 (let ((commit "feb869357f40f5e109570fb40abad215fb370c6c")
336 (revision "1"))
337 (package
338 (name "sbcl-trivial-timeout")
339 (version (git-version "0.1.5" revision commit))
340 (source
341 (origin
342 (method git-fetch)
343 (uri (git-reference
344 (url "https://github.com/gwkkwg/trivial-timeout/")
345 (commit commit)))
346 (file-name (git-file-name "trivial-timeout" version))
347 (sha256
348 (base32 "1kninxwvvih9nhh7a9y8lfgi7pdr76675y1clw4ss17vz8fbim5p"))))
349 (build-system asdf-build-system/sbcl)
350 (native-inputs
351 `(("lift" ,sbcl-lift)))
352 (arguments
353 ;; NOTE: (Sharlatan-20210202T231437+0000): Due to the age of this library
354 ;; tests use some deprecated functionality and keep failing.
355 `(#:tests? #f))
356 (home-page "https://github.com/gwkkwg/trivial-timeout/")
357 (synopsis "Timeout library for Common Lisp")
358 (description
359 "This library provides an OS and implementation independent access to
360 timeouts.")
361 (license license:expat))))
362
363 (define-public ecl-trivial-timeout
364 (sbcl-package->ecl-package sbcl-trivial-timeout))
365
366 (define-public cl-trivial-timeout
367 (sbcl-package->cl-source-package sbcl-trivial-timeout))
368
369 (define-public sbcl-bordeaux-threads
370 (package
371 (name "sbcl-bordeaux-threads")
372 (version "0.8.8")
373 (source (origin
374 (method git-fetch)
375 (uri (git-reference
376 (url "https://github.com/sionescu/bordeaux-threads")
377 (commit (string-append "v" version))))
378 (sha256
379 (base32 "19i443fz3488v1pbbr9x24y8h8vlyhny9vj6c9jk5prm702awrp6"))
380 (file-name
381 (git-file-name "bordeaux-threads" version))))
382 (inputs `(("alexandria" ,sbcl-alexandria)))
383 (native-inputs `(("fiveam" ,sbcl-fiveam)))
384 (build-system asdf-build-system/sbcl)
385 (synopsis "Portable shared-state concurrency library for Common Lisp")
386 (description "BORDEAUX-THREADS is a proposed standard for a minimal
387 MP/Threading interface. It is similar to the CLIM-SYS threading and lock
388 support.")
389 (home-page "https://common-lisp.net/project/bordeaux-threads/")
390 (license license:x11)))
391
392 (define-public cl-bordeaux-threads
393 (sbcl-package->cl-source-package sbcl-bordeaux-threads))
394
395 (define-public ecl-bordeaux-threads
396 (sbcl-package->ecl-package sbcl-bordeaux-threads))
397
398 (define-public sbcl-trivial-gray-streams
399 (let ((revision "1")
400 (commit "ebd59b1afed03b9dc8544320f8f432fdf92ab010"))
401 (package
402 (name "sbcl-trivial-gray-streams")
403 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
404 (source
405 (origin
406 (method git-fetch)
407 (uri
408 (git-reference
409 (url "https://github.com/trivial-gray-streams/trivial-gray-streams")
410 (commit commit)))
411 (sha256
412 (base32 "0b1pxlccmnagk9cbh4cy8s5k66g3x0gwib5shjwr24xvrji6lp94"))
413 (file-name
414 (string-append "trivial-gray-streams-" version "-checkout"))))
415 (build-system asdf-build-system/sbcl)
416 (synopsis "Compatibility layer for Gray streams implementations")
417 (description "Gray streams is an interface proposed for inclusion with
418 ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most
419 popular CL implementations implement it. This package provides an extremely
420 thin compatibility layer for gray streams.")
421 (home-page "https://www.cliki.net/trivial-gray-streams")
422 (license license:x11))))
423
424 (define-public cl-trivial-gray-streams
425 (sbcl-package->cl-source-package sbcl-trivial-gray-streams))
426
427 (define-public ecl-trivial-gray-streams
428 (sbcl-package->ecl-package sbcl-trivial-gray-streams))
429
430 (define-public sbcl-fiasco
431 (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
432 (revision "1"))
433 (package
434 (name "sbcl-fiasco")
435 (version (git-version "0.0.1" revision commit))
436 (source
437 (origin
438 (method git-fetch)
439 (uri (git-reference
440 (url "https://github.com/joaotavora/fiasco")
441 (commit commit)))
442 (file-name (git-file-name "fiasco" version))
443 (sha256
444 (base32
445 "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
446 (build-system asdf-build-system/sbcl)
447 (inputs
448 `(("alexandria" ,sbcl-alexandria)
449 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
450 (synopsis "Simple and powerful test framework for Common Lisp")
451 (description "A Common Lisp test framework that treasures your failures,
452 logical continuation of Stefil. It focuses on interactive debugging.")
453 (home-page "https://github.com/joaotavora/fiasco")
454 ;; LICENCE specifies this is public-domain unless the legislation
455 ;; doesn't allow or recognize it. In that case it falls back to a
456 ;; permissive licence.
457 (license (list license:public-domain
458 (license:x11-style "file://LICENCE"))))))
459
460 (define-public cl-fiasco
461 (sbcl-package->cl-source-package sbcl-fiasco))
462
463 (define-public ecl-fiasco
464 (sbcl-package->ecl-package sbcl-fiasco))
465
466 (define-public sbcl-flexi-streams
467 (package
468 (name "sbcl-flexi-streams")
469 (version "1.0.18")
470 (source
471 (origin
472 (method git-fetch)
473 (uri (git-reference
474 (url "https://github.com/edicl/flexi-streams")
475 (commit (string-append "v" version))))
476 (file-name (git-file-name "flexi-streams" version))
477 (sha256
478 (base32 "0bjv7fd2acknidc5dyi3h85pn10krxv5jyxs1xg8jya2rlfv7f1j"))))
479 (build-system asdf-build-system/sbcl)
480 (arguments
481 `(#:phases
482 (modify-phases %standard-phases
483 (add-after 'unpack 'make-git-checkout-writable
484 (lambda _
485 (for-each make-file-writable (find-files "."))
486 #t)))))
487 (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
488 (synopsis "Implementation of virtual bivalent streams for Common Lisp")
489 (description "Flexi-streams is an implementation of \"virtual\" bivalent
490 streams that can be layered atop real binary or bivalent streams and that can
491 be used to read and write character data in various single- or multi-octet
492 encodings which can be changed on the fly. It also supplies in-memory binary
493 streams which are similar to string streams.")
494 (home-page "http://weitz.de/flexi-streams/")
495 (license license:bsd-3)))
496
497 (define-public cl-flexi-streams
498 (sbcl-package->cl-source-package sbcl-flexi-streams))
499
500 (define-public ecl-flexi-streams
501 (sbcl-package->ecl-package sbcl-flexi-streams))
502
503 (define-public sbcl-cl-abnf
504 ;; There are no releases
505 (let ((commit "ba1fbb104dedbdaddb1ef93d2e4da711bd96cd70")
506 (revision "1"))
507 (package
508 (name "sbcl-cl-abnf")
509 (version (git-version "0.0.0" revision commit))
510 (source
511 (origin
512 (method git-fetch)
513 (uri (git-reference
514 (url "https://github.com/dimitri/cl-abnf")
515 (commit commit)))
516 (file-name (git-file-name "cl-abnf" version))
517 (sha256
518 (base32 "0f09nsndxa90acm71zd4qdnp40v705a4sqm04mnv9x76h6dlggmz"))))
519 (build-system asdf-build-system/sbcl)
520 (inputs
521 `(("cl-ppcre" ,sbcl-cl-ppcre)
522 ("esrap" ,sbcl-esrap)))
523 (arguments
524 `(#:asd-systems '("abnf")))
525 (home-page "https://github.com/dimitri/cl-abnf")
526 (synopsis "ABNF parser generator for Common Lisp")
527 (description "This Common Lisp library implements a parser generator for
528 the ABNF grammar format as described in RFC2234. The generated parser is a
529 regular expression scanner provided by the cl-ppcre lib, which means that we
530 can't parse recursive grammar definition. One such definition is the ABNF
531 definition as given by the RFC. Fortunately, as you have this lib, you most
532 probably don't need to generate another parser to handle that particular ABNF
533 grammar.")
534 (license license:expat))))
535
536 (define-public cl-abnf
537 (sbcl-package->cl-source-package sbcl-cl-abnf))
538
539 (define-public ecl-cl-abnf
540 (sbcl-package->ecl-package sbcl-cl-abnf))
541
542 (define-public sbcl-cl-ppcre
543 (package
544 (name "sbcl-cl-ppcre")
545 (version "2.1.1")
546 (source
547 (origin
548 (method git-fetch)
549 (uri (git-reference
550 (url "https://github.com/edicl/cl-ppcre")
551 (commit (string-append "v" version))))
552 (file-name (git-file-name "cl-ppcre" version))
553 (sha256
554 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
555 (build-system asdf-build-system/sbcl)
556 (native-inputs
557 `(("flexi-streams" ,sbcl-flexi-streams)))
558 (arguments
559 `(#:phases
560 (modify-phases %standard-phases
561 (add-after 'unpack 'disable-ppcre-unicode
562 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
563 ;; to work around the circular dependency between edicl/cl-ppcre
564 ;; and edicl/cl-unicode.
565 (lambda _
566 (delete-file "cl-ppcre-unicode.asd")
567 #t)))))
568 (synopsis "Portable regular expression library for Common Lisp")
569 (description "CL-PPCRE is a portable regular expression library for Common
570 Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
571 compatible with ANSI-compliant Common Lisp implementations.")
572 (home-page "http://weitz.de/cl-ppcre/")
573 (license license:bsd-2)))
574
575 (define-public cl-ppcre
576 (sbcl-package->cl-source-package sbcl-cl-ppcre))
577
578 (define-public ecl-cl-ppcre
579 (sbcl-package->ecl-package sbcl-cl-ppcre))
580
581 (define-public sbcl-ubiquitous
582 (let ((commit "35eb7bd9e1b3daee1705f6b41260775180cce8af")
583 (revision "1"))
584 (package
585 (name "sbcl-ubiquitous")
586 (version (git-version "2.0.0" revision commit))
587 (source
588 (origin
589 (method git-fetch)
590 (uri (git-reference
591 (url "https://github.com/Shinmera/ubiquitous")
592 (commit commit)))
593 (file-name (git-file-name "ubiquitous" version))
594 (sha256
595 (base32 "1xlkaqmjcpkiv2xl2s2pvvrv976dlc846wm16s1lj62iy1315i49"))))
596 (build-system asdf-build-system/sbcl)
597 (inputs
598 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
599 (arguments
600 '(#:asd-systems '("ubiquitous"
601 "ubiquitous-concurrent")))
602 (home-page "https://shinmera.github.io/ubiquitous/")
603 (synopsis "Application configuration mechanism for Common Lisp")
604 (description
605 "@code{UBIQUITOUS} is a very easy-to-use library for persistent
606 configuration storage. It automatically takes care of finding a suitable place
607 to save your data, and provides simple functions to access and modify the data
608 within.")
609 (license license:zlib))))
610
611 (define-public ecl-ubiquitous
612 (sbcl-package->ecl-package sbcl-ubiquitous))
613
614 (define-public cl-ubiquitous
615 (sbcl-package->cl-source-package sbcl-ubiquitous))
616
617 (define-public sbcl-uax-15
618 (package
619 (name "sbcl-uax-15")
620 (version "0.1.1")
621 (source
622 (origin
623 (method git-fetch)
624 (uri (git-reference
625 (url "https://github.com/sabracrolleton/uax-15")
626 (commit (string-append "v" version))))
627 (file-name (git-file-name "uax-15" version))
628 (sha256
629 (base32 "0p2ckw7mzxhwa9vbwj2q2dzayz9dl94d9yqd2ynp0pc5v8i0n2fr"))))
630 (build-system asdf-build-system/sbcl)
631 (arguments
632 `(#:asd-systems
633 '("uax-15")))
634 (native-inputs
635 `(("fiveam" ,sbcl-fiveam)))
636 (inputs
637 `(("cl-ppcre" ,sbcl-cl-ppcre)
638 ("split-sequence" ,sbcl-split-sequence)))
639 (home-page "https://github.com/sabracrolleton/uax-15")
640 (synopsis "Common Lisp implementation of unicode normalization functions")
641 (description
642 "This package provides supports for unicode normalization, RFC8264 and
643 RFC7564.")
644 (license license:expat)))
645
646 (define-public cl-uax-15
647 (sbcl-package->cl-source-package sbcl-uax-15))
648
649 (define-public ecl-uax-15
650 (sbcl-package->ecl-package sbcl-uax-15))
651
652 (define-public sbcl-cl-unicode
653 (package
654 (name "sbcl-cl-unicode")
655 (version "0.1.6")
656 (source (origin
657 (method git-fetch)
658 (uri (git-reference
659 (url "https://github.com/edicl/cl-unicode")
660 (commit (string-append "v" version))))
661 (file-name (git-file-name name version))
662 (sha256
663 (base32
664 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
665 (build-system asdf-build-system/sbcl)
666 (native-inputs
667 `(("flexi-streams" ,sbcl-flexi-streams)))
668 (inputs
669 `(("cl-ppcre" ,sbcl-cl-ppcre)))
670 (home-page "http://weitz.de/cl-unicode/")
671 (synopsis "Portable Unicode library for Common Lisp")
672 (description "CL-UNICODE is a portable Unicode library Common Lisp, which
673 is compatible with perl. It is pretty fast, thread-safe, and compatible with
674 ANSI-compliant Common Lisp implementations.")
675 (license license:bsd-2)))
676
677 (define-public ecl-cl-unicode
678 (sbcl-package->ecl-package sbcl-cl-unicode))
679
680 (define-public cl-unicode
681 (sbcl-package->cl-source-package sbcl-cl-unicode))
682
683 (define-public sbcl-cl-ppcre-unicode
684 (package (inherit sbcl-cl-ppcre)
685 (name "sbcl-cl-ppcre-unicode")
686 (inputs
687 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
688 ("sbcl-cl-unicode" ,sbcl-cl-unicode)))
689 (arguments
690 `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found"
691 #:phases
692 (modify-phases %standard-phases
693 (add-after 'unpack 'disable-ppcre
694 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
695 ;; to work around the circular dependency between edicl/cl-ppcre
696 ;; and edicl/cl-unicode.
697 (lambda _
698 (delete-file "cl-ppcre.asd")
699 #t)))))))
700
701 (define-public cl-ppcre-unicode
702 (sbcl-package->cl-source-package sbcl-cl-ppcre-unicode))
703
704 (define-public ecl-cl-ppcre-unicode
705 (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
706
707 (define-public sbcl-zpb-ttf
708 (package
709 (name "sbcl-zpb-ttf")
710 (version "1.0.3")
711 (source
712 (origin
713 (method git-fetch)
714 (uri (git-reference
715 (url "https://github.com/xach/zpb-ttf")
716 (commit (string-append "release-" version))))
717 (file-name (git-file-name name version))
718 (sha256
719 (base32
720 "1wh66vjijzqlydnrihynpwp6796917xwrh0i9li93c17kyxa74ih"))))
721 (build-system asdf-build-system/sbcl)
722 (home-page "https://github.com/xach/zpb-ttf")
723 (synopsis "TrueType font file access for Common Lisp")
724 (description
725 "ZPB-TTF is a TrueType font file parser that provides an interface for
726 reading typographic metrics, glyph outlines, and other information from the
727 file.")
728 (license license:bsd-2)))
729
730 (define-public ecl-zpb-ttf
731 (sbcl-package->ecl-package sbcl-zpb-ttf))
732
733 (define-public cl-zpb-ttf
734 (sbcl-package->cl-source-package sbcl-zpb-ttf))
735
736 (define-public sbcl-cl-vectors
737 (package
738 (name "sbcl-cl-vectors")
739 (version "0.1.5")
740 (source
741 (origin
742 (method url-fetch)
743 (uri (string-append "http://projects.tuxee.net/cl-vectors/"
744 "files/cl-vectors-" version ".tar.gz"))
745 (sha256
746 (base32
747 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh"))))
748 (build-system asdf-build-system/sbcl)
749 (inputs
750 `(("zpb-ttf" ,sbcl-zpb-ttf)))
751 (arguments
752 '(#:asd-systems '("cl-vectors"
753 "cl-paths-ttf")))
754 (home-page "http://projects.tuxee.net/cl-vectors/")
755 (synopsis "Create, transform and render anti-aliased vectorial paths")
756 (description
757 "This is a pure Common Lisp library to create, transform and render
758 anti-aliased vectorial paths.")
759 (license license:expat)))
760
761 (define-public ecl-cl-vectors
762 (sbcl-package->ecl-package sbcl-cl-vectors))
763
764 (define-public cl-vectors
765 (sbcl-package->cl-source-package sbcl-cl-vectors))
766
767 (define-public sbcl-spatial-trees
768 ;; There have been no releases.
769 (let ((commit "81fdad0a0bf109c80a53cc96eca2e093823400ba")
770 (revision "1"))
771 (package
772 (name "sbcl-spatial-trees")
773 (version (git-version "0" revision commit))
774 (source
775 (origin
776 (method git-fetch)
777 (uri (git-reference
778 (url "https://github.com/rpav/spatial-trees")
779 (commit commit)))
780 (file-name (git-file-name name version))
781 (sha256
782 (base32
783 "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"))))
784 (build-system asdf-build-system/sbcl)
785 (arguments
786 '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns
787 #:test-asd-file "spatial-trees.test.asd"))
788 (native-inputs
789 `(("fiveam" ,sbcl-fiveam)))
790 (home-page "https://github.com/rpav/spatial-trees")
791 (synopsis "Dynamic index data structures for spatially-extended data")
792 (description
793 "Spatial-trees is a set of dynamic index data structures for
794 spatially-extended data.")
795 (license license:bsd-3))))
796
797 (define-public ecl-spatial-trees
798 (sbcl-package->ecl-package sbcl-spatial-trees))
799
800 (define-public cl-spatial-trees
801 (sbcl-package->cl-source-package sbcl-spatial-trees))
802
803 (define-public sbcl-flexichain
804 ;; There are no releases.
805 (let ((commit "13d2a6c505ed0abfcd4c4ec7d7145059b06855d6")
806 (revision "1"))
807 (package
808 (name "sbcl-flexichain")
809 (version "1.5.1")
810 (source
811 (origin
812 (method git-fetch)
813 (uri (git-reference
814 (url "https://github.com/robert-strandh/Flexichain")
815 (commit commit)))
816 (file-name (git-file-name name version))
817 (sha256
818 (base32
819 "0pfyvhsfbjd2sjb30grfs52r51a428xglv7bwydvpg2lc117qimg"))))
820 (build-system asdf-build-system/sbcl)
821 (home-page "https://github.com/robert-strandh/Flexichain.git")
822 (synopsis "Dynamically add elements to or remove them from sequences")
823 (description
824 "This package provides an implementation of the flexichain protocol,
825 allowing client code to dynamically add elements to, and delete elements from
826 a sequence (or chain) of such elements.")
827 (license license:lgpl2.1+))))
828
829 (define-public ecl-flexichain
830 (sbcl-package->ecl-package sbcl-flexichain))
831
832 (define-public cl-flexichain
833 (sbcl-package->cl-source-package sbcl-flexichain))
834
835 (define-public sbcl-cl-pdf
836 ;; There are no releases
837 (let ((commit "752e337e6d6fc206f09d091a982e7f8e5c404e4e")
838 (revision "1"))
839 (package
840 (name "sbcl-cl-pdf")
841 (version (git-version "0" revision commit))
842 (source
843 (origin
844 (method git-fetch)
845 (uri (git-reference
846 (url "https://github.com/mbattyani/cl-pdf")
847 (commit commit)))
848 (file-name (git-file-name name version))
849 (sha256
850 (base32
851 "1cg3k3m3r11ipb8j008y8ipynj97l3xjlpi2knqc9ndmx4r3kb1r"))))
852 (build-system asdf-build-system/sbcl)
853 (inputs
854 `(("iterate" ,sbcl-iterate)
855 ("zpb-ttf" ,sbcl-zpb-ttf)))
856 (home-page "https://github.com/mbattyani/cl-pdf")
857 (synopsis "Common Lisp library for generating PDF files")
858 (description
859 "CL-PDF is a cross-platform Common Lisp library for generating PDF
860 files.")
861 (license license:bsd-2))))
862
863 (define-public ecl-cl-pdf
864 (sbcl-package->ecl-package sbcl-cl-pdf))
865
866 (define-public cl-pdf
867 (sbcl-package->cl-source-package sbcl-cl-pdf))
868
869 (define-public sbcl-clx
870 (package
871 (name "sbcl-clx")
872 (version "0.7.5")
873 (source
874 (origin
875 (method git-fetch)
876 (uri
877 (git-reference
878 (url "https://github.com/sharplispers/clx")
879 (commit version)))
880 (sha256
881 (base32
882 "1vi67z9hpj5rr4xcmfbfwzmlcc0ah7hzhrmfid6lqdkva238v2wf"))
883 (file-name (string-append "clx-" version))))
884 (build-system asdf-build-system/sbcl)
885 (native-inputs
886 `(("fiasco" ,sbcl-fiasco)))
887 (home-page "https://www.cliki.net/portable-clx")
888 (synopsis "X11 client library for Common Lisp")
889 (description "CLX is an X11 client library for Common Lisp. The code was
890 originally taken from a CMUCL distribution, was modified somewhat in order to
891 make it compile and run under SBCL, then a selection of patches were added
892 from other CLXes around the net.")
893 (license license:x11)))
894
895 (define-public cl-clx
896 (sbcl-package->cl-source-package sbcl-clx))
897
898 (define-public ecl-clx
899 (sbcl-package->ecl-package sbcl-clx))
900
901 (define-public sbcl-clx-truetype
902 (let ((commit "c6e10a918d46632324d5863a8ed067a83fc26de8")
903 (revision "1"))
904 (package
905 (name "sbcl-clx-truetype")
906 (version (git-version "0.0.1" revision commit))
907 (source
908 (origin
909 (method git-fetch)
910 (uri (git-reference
911 (url "https://github.com/l04m33/clx-truetype")
912 (commit commit)))
913 (file-name (git-file-name name version))
914 (sha256
915 (base32
916 "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37"))
917 (modules '((guix build utils)))
918 (snippet
919 '(begin
920 (substitute* "package.lisp"
921 ((":export") ":export\n :+font-cache-filename+"))
922 #t))))
923 (build-system asdf-build-system/sbcl)
924 (inputs
925 `(("clx" ,sbcl-clx)
926 ("zpb-ttf" ,sbcl-zpb-ttf)
927 ("cl-vectors" ,sbcl-cl-vectors)
928 ("cl-fad" ,sbcl-cl-fad)
929 ("cl-store" ,sbcl-cl-store)
930 ("trivial-features" ,sbcl-trivial-features)))
931 (home-page "https://github.com/l04m33/clx-truetype")
932 (synopsis "Antialiased TrueType font rendering using CLX and XRender")
933 (description "CLX-TrueType is pure common lisp solution for
934 antialiased TrueType font rendering using CLX and XRender extension.")
935 (license license:expat))))
936
937 (define-public cl-clx-truetype
938 (sbcl-package->cl-source-package sbcl-clx-truetype))
939
940 (define-public ecl-clx-truetype
941 (sbcl-package->ecl-package sbcl-clx-truetype))
942
943 (define-public sbcl-slynk
944 (let ((commit "0f46f91a9542599d62c0c332b39636b2941ea372"))
945 (package
946 (name "sbcl-slynk")
947 (version (git-version "1.0.43" "3" commit))
948 (source
949 (origin
950 (method git-fetch)
951 (uri
952 (git-reference
953 (url "https://github.com/joaotavora/sly")
954 (commit commit)))
955 (sha256
956 (base32 "0p3j0zylacy6vms8ngis2hx2351xnwfzsw3zy043q6vmqd14wrf1"))
957 (file-name (git-file-name "slynk" version))))
958 (build-system asdf-build-system/sbcl)
959 (outputs '("out" "image"))
960 (arguments
961 `(#:phases
962 (modify-phases %standard-phases
963 (add-after 'create-asdf-configuration 'build-image
964 (lambda* (#:key outputs #:allow-other-keys)
965 (build-image (string-append
966 (assoc-ref %outputs "image")
967 "/bin/slynk")
968 %outputs
969 #:dependencies '("slynk"
970 "slynk/arglists"
971 "slynk/fancy-inspector"
972 "slynk/package-fu"
973 "slynk/mrepl"
974 "slynk/trace-dialog"
975 "slynk/profiler"
976 "slynk/stickers"
977 "slynk/indentation"
978 "slynk/retro"))
979 #t)))))
980 (synopsis "Common Lisp IDE for Emacs")
981 (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
982 It also features a completely redesigned REPL based on Emacs's own
983 full-featured @code{comint-mode}, live code annotations, and a consistent interactive
984 button interface. Everything can be copied to the REPL. One can create
985 multiple inspectors with independent history.")
986 (home-page "https://github.com/joaotavora/sly")
987 (license license:public-domain)
988 (properties `((cl-source-variant . ,(delay cl-slynk)))))))
989
990 (define-public cl-slynk
991 (sbcl-package->cl-source-package sbcl-slynk))
992
993 (define-public ecl-slynk
994 (let ((pkg (sbcl-package->ecl-package sbcl-slynk)))
995 (package
996 (inherit pkg)
997 (outputs '("out"))
998 (arguments
999 (substitute-keyword-arguments (package-arguments pkg)
1000 ((#:phases phases)
1001 `(modify-phases ,phases
1002 (delete 'build-image))))))))
1003
1004 (define-public sbcl-parse-js
1005 (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
1006 (revision "1"))
1007 (package
1008 (name "sbcl-parse-js")
1009 (version (string-append "0.0.0-" revision "." (string-take commit 9)))
1010 (source
1011 (origin
1012 (method git-fetch)
1013 (uri (git-reference
1014 (url "http://marijn.haverbeke.nl/git/parse-js")
1015 (commit commit)))
1016 (file-name (string-append name "-" commit "-checkout"))
1017 (sha256
1018 (base32
1019 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
1020 (build-system asdf-build-system/sbcl)
1021 (home-page "https://marijnhaverbeke.nl/parse-js/")
1022 (synopsis "Parse JavaScript")
1023 (description "Parse-js is a Common Lisp package for parsing
1024 JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
1025 (license license:zlib))))
1026
1027 (define-public cl-parse-js
1028 (sbcl-package->cl-source-package sbcl-parse-js))
1029
1030 (define-public ecl-parse-js
1031 (sbcl-package->ecl-package sbcl-parse-js))
1032
1033 (define-public sbcl-parse-number
1034 (package
1035 (name "sbcl-parse-number")
1036 (version "1.7")
1037 (source
1038 (origin
1039 (method git-fetch)
1040 (uri (git-reference
1041 (url "https://github.com/sharplispers/parse-number/")
1042 (commit (string-append "v" version))))
1043 (file-name (git-file-name name version))
1044 (sha256
1045 (base32
1046 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"))))
1047 (build-system asdf-build-system/sbcl)
1048 (home-page "https://www.cliki.net/PARSE-NUMBER")
1049 (synopsis "Parse numbers")
1050 (description "@code{parse-number} is a library of functions for parsing
1051 strings into one of the standard Common Lisp number types without using the
1052 reader. @code{parse-number} accepts an arbitrary string and attempts to parse
1053 the string into one of the standard Common Lisp number types, if possible, or
1054 else @code{parse-number} signals an error of type @code{invalid-number}.")
1055 (license license:bsd-3)))
1056
1057 (define-public cl-parse-number
1058 (sbcl-package->cl-source-package sbcl-parse-number))
1059
1060 (define-public ecl-parse-number
1061 (sbcl-package->ecl-package sbcl-parse-number))
1062
1063 (define-public sbcl-iterate
1064 (package
1065 (name "sbcl-iterate")
1066 (version "1.5")
1067 (source
1068 (origin
1069 (method url-fetch)
1070 (uri (string-append "https://common-lisp.net/project/iterate/releases/"
1071 "iterate-" version ".tar.gz"))
1072 (sha256
1073 (base32
1074 "1lqsbhrkfl0yif46aymvb7l3nb9wdcmj4jyw485blj32jb4famzn"))))
1075 (build-system asdf-build-system/sbcl)
1076 (native-inputs
1077 `(("rt" ,sbcl-rt)))
1078 (home-page "https://common-lisp.net/project/iterate/")
1079 (synopsis "Iteration construct for Common Lisp")
1080 (description "@code{iterate} is an iteration construct for Common Lisp.
1081 It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
1082
1083 @itemize
1084 @item it is extensible,
1085 @item it helps editors like Emacs indent iterate forms by having a more
1086 lisp-like syntax, and
1087 @item it isn't part of the ANSI standard for Common Lisp.
1088 @end itemize\n")
1089 (license license:expat)))
1090
1091 (define-public cl-iterate
1092 (sbcl-package->cl-source-package sbcl-iterate))
1093
1094 (define-public ecl-iterate
1095 (sbcl-package->ecl-package sbcl-iterate))
1096
1097 (define-public sbcl-cl-uglify-js
1098 ;; There have been many bug fixes since the 2010 release.
1099 (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
1100 (revision "1"))
1101 (package
1102 (name "sbcl-cl-uglify-js")
1103 (version (string-append "0.1-" revision "." (string-take commit 9)))
1104 (source
1105 (origin
1106 (method git-fetch)
1107 (uri (git-reference
1108 (url "https://github.com/mishoo/cl-uglify-js")
1109 (commit commit)))
1110 (file-name (git-file-name name version))
1111 (sha256
1112 (base32
1113 "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"))))
1114 (build-system asdf-build-system/sbcl)
1115 (inputs
1116 `(("sbcl-parse-js" ,sbcl-parse-js)
1117 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
1118 ("sbcl-cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
1119 ("sbcl-parse-number" ,sbcl-parse-number)
1120 ("sbcl-iterate" ,sbcl-iterate)))
1121 (home-page "https://github.com/mishoo/cl-uglify-js")
1122 (synopsis "JavaScript compressor library for Common Lisp")
1123 (description "This is a Common Lisp version of UglifyJS, a JavaScript
1124 compressor. It works on data produced by @code{parse-js} to generate a
1125 @dfn{minified} version of the code. Currently it can:
1126
1127 @itemize
1128 @item reduce variable names (usually to single letters)
1129 @item join consecutive @code{var} statements
1130 @item resolve simple binary expressions
1131 @item group most consecutive statements using the @code{sequence} operator (comma)
1132 @item remove unnecessary blocks
1133 @item convert @code{IF} expressions in various ways that result in smaller code
1134 @item remove some unreachable code
1135 @end itemize\n")
1136 (license license:zlib))))
1137
1138 (define-public cl-uglify-js
1139 (sbcl-package->cl-source-package sbcl-cl-uglify-js))
1140
1141 (define-public ecl-cl-uglify-js
1142 (sbcl-package->ecl-package sbcl-cl-uglify-js))
1143
1144 (define-public uglify-js
1145 (package
1146 (inherit sbcl-cl-uglify-js)
1147 (name "uglify-js")
1148 (build-system trivial-build-system)
1149 (arguments
1150 `(#:modules ((guix build utils))
1151 #:builder
1152 (let* ((bin (string-append (assoc-ref %outputs "out") "/bin/"))
1153 (script (string-append bin "uglify-js")))
1154 (use-modules (guix build utils))
1155 (mkdir-p bin)
1156 (with-output-to-file script
1157 (lambda _
1158 (format #t "#!~a/bin/sbcl --script
1159
1160 (require :asdf)
1161 (asdf:initialize-source-registry
1162 #p\"~a/etc/common-lisp/source-registry.conf.d/\")
1163 (asdf:initialize-output-translations
1164 #p\"~a/etc/common-lisp/asdf-output-translations.conf.d/\")"
1165 (assoc-ref %build-inputs "sbcl")
1166 (assoc-ref %build-inputs "sbcl-cl-uglify-js")
1167 (assoc-ref %build-inputs "sbcl-cl-uglify-js"))
1168 ;; FIXME: cannot use progn here because otherwise it fails to
1169 ;; find cl-uglify-js.
1170 (for-each
1171 write
1172 '(;; Quiet, please!
1173 (let ((*standard-output* (make-broadcast-stream))
1174 (*error-output* (make-broadcast-stream)))
1175 (asdf:load-system :cl-uglify-js))
1176 (let ((file (cadr *posix-argv*)))
1177 (if file
1178 (format t "~a"
1179 (cl-uglify-js:ast-gen-code
1180 (cl-uglify-js:ast-mangle
1181 (cl-uglify-js:ast-squeeze
1182 (with-open-file (in file)
1183 (parse-js:parse-js in))))
1184 :beautify nil))
1185 (progn
1186 (format *error-output*
1187 "Please provide a JavaScript file.~%")
1188 (sb-ext:exit :code 1))))))))
1189 (chmod script #o755)
1190 #t)))
1191 (inputs
1192 `(("sbcl" ,sbcl)
1193 ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
1194 (synopsis "JavaScript compressor")))
1195
1196 (define-public sbcl-cl-strings
1197 (let ((revision "1")
1198 (commit "c5c5cbafbf3e6181d03c354d66e41a4f063f00ae"))
1199 (package
1200 (name "sbcl-cl-strings")
1201 (version (git-version "0.0.0" revision commit))
1202 (source
1203 (origin
1204 (method git-fetch)
1205 (uri (git-reference
1206 (url "https://github.com/diogoalexandrefranco/cl-strings")
1207 (commit commit)))
1208 (sha256
1209 (base32
1210 "00754mfaqallj480lwd346nkfb6ra8pa8xcxcylf4baqn604zlmv"))
1211 (file-name (string-append "cl-strings-" version "-checkout"))))
1212 (build-system asdf-build-system/sbcl)
1213 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
1214 (description
1215 "@command{cl-strings} is a small, portable, dependency-free set of
1216 utilities that make it even easier to manipulate text in Common Lisp. It has
1217 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
1218 (home-page "https://github.com/diogoalexandrefranco/cl-strings")
1219 (license license:expat))))
1220
1221 (define-public cl-strings
1222 (sbcl-package->cl-source-package sbcl-cl-strings))
1223
1224 (define-public ecl-cl-strings
1225 (sbcl-package->ecl-package sbcl-cl-strings))
1226
1227 (define-public sbcl-trivial-features
1228 ;; No release since 2014.
1229 (let ((commit "870d03de0ed44067963350936856e17ee725153e"))
1230 (package
1231 (name "sbcl-trivial-features")
1232 (version (git-version "0.8" "1" commit))
1233 (source
1234 (origin
1235 (method git-fetch)
1236 (uri (git-reference
1237 (url "https://github.com/trivial-features/trivial-features")
1238 (commit commit)))
1239 (file-name (git-file-name "trivial-features" version))
1240 (sha256
1241 (base32 "14pcahr8r2j3idhyy216zyw8jnj1dnrx0qbkkbdqkvwzign1ah4j"))))
1242 (build-system asdf-build-system/sbcl)
1243 (arguments
1244 '(#:asd-files '("trivial-features.asd")
1245 #:tests? #f))
1246 (home-page "https://cliki.net/trivial-features")
1247 (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
1248 (description "Trivial-features ensures that @code{*FEATURES*} is
1249 consistent across multiple Common Lisp implementations.")
1250 (license license:expat))))
1251
1252 (define-public cl-trivial-features
1253 (sbcl-package->cl-source-package sbcl-trivial-features))
1254
1255 (define-public ecl-trivial-features
1256 (sbcl-package->ecl-package sbcl-trivial-features))
1257
1258 (define-public sbcl-hu.dwim.asdf
1259 (package
1260 (name "sbcl-hu.dwim.asdf")
1261 (version "20190521")
1262 (source
1263 (origin
1264 (method url-fetch)
1265 (uri (string-append "http://beta.quicklisp.org/archive/hu.dwim.asdf/"
1266 "2019-05-21/hu.dwim.asdf-" version "-darcs.tgz"))
1267 (sha256
1268 (base32
1269 "0rsbv71vyszy8w35yjwb5h6zcmknjq223hkzir79y72qdsc6sabn"))))
1270 (build-system asdf-build-system/sbcl)
1271 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.asdf")
1272 (synopsis "Extensions to ASDF")
1273 (description "Various ASDF extensions such as attached test and
1274 documentation system, explicit development support, etc.")
1275 (license license:public-domain)))
1276
1277 (define-public cl-hu.dwim.asdf
1278 (sbcl-package->cl-source-package sbcl-hu.dwim.asdf))
1279
1280 (define-public ecl-hu.dwim.asdf
1281 (sbcl-package->ecl-package sbcl-hu.dwim.asdf))
1282
1283 (define-public sbcl-hu.dwim.stefil
1284 (let ((commit "ab6d1aa8995878a1b66d745dfd0ba021090bbcf9"))
1285 (package
1286 (name "sbcl-hu.dwim.stefil")
1287 (version (git-version "0.0.0" "1" commit))
1288 (source
1289 (origin
1290 (method git-fetch)
1291 (uri
1292 (git-reference
1293 (url "https://gitlab.common-lisp.net/xcvb/hu.dwim.stefil.git")
1294 (commit commit)))
1295 (sha256
1296 (base32 "1d8yccw65zj3zh46cbi3x6nmn1dwdb76s9d0av035077mvyirqqp"))
1297 (file-name (git-file-name "hu.dwim.stefil" version))))
1298 (build-system asdf-build-system/sbcl)
1299 (native-inputs
1300 `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
1301 (inputs
1302 `(("sbcl-alexandria" ,sbcl-alexandria)))
1303 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.stefil")
1304 (synopsis "Simple test framework")
1305 (description "Stefil is a simple test framework for Common Lisp,
1306 with a focus on interactive development.")
1307 (license license:public-domain))))
1308
1309 (define-public cl-hu.dwim.stefil
1310 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
1311
1312 (define-public ecl-hu.dwim.stefil
1313 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
1314
1315 (define-public sbcl-babel
1316 ;; No release since 2014.
1317 (let ((commit "aeed2d1b76358db48e6b70a64399c05678a6b9ea"))
1318 (package
1319 (name "sbcl-babel")
1320 (version (git-version "0.5.0" "1" commit))
1321 (source
1322 (origin
1323 (method git-fetch)
1324 (uri (git-reference
1325 (url "https://github.com/cl-babel/babel")
1326 (commit commit)))
1327 (file-name (git-file-name "babel" version))
1328 (sha256
1329 (base32 "0lkvv4xdpv4cv1y2bqillmabx8sdb2y4l6pbinq6mjh33w2brpvb"))))
1330 (build-system asdf-build-system/sbcl)
1331 (native-inputs
1332 `(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
1333 (inputs
1334 `(("sbcl-alexandria" ,sbcl-alexandria)
1335 ("sbcl-trivial-features" ,sbcl-trivial-features)))
1336 (home-page "https://common-lisp.net/project/babel/")
1337 (synopsis "Charset encoding and decoding library")
1338 (description "Babel is a charset encoding and decoding library, not unlike
1339 GNU libiconv, but completely written in Common Lisp.")
1340 (license license:expat))))
1341
1342 (define-public cl-babel
1343 (sbcl-package->cl-source-package sbcl-babel))
1344
1345 (define-public ecl-babel
1346 (sbcl-package->ecl-package sbcl-babel))
1347
1348 (define-public sbcl-cl-yacc
1349 (package
1350 (name "sbcl-cl-yacc")
1351 (version "0.3")
1352 (source
1353 (origin
1354 (method git-fetch)
1355 (uri (git-reference
1356 (url "https://github.com/jech/cl-yacc")
1357 (commit (string-append "cl-yacc-" version))))
1358 (sha256
1359 (base32
1360 "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib"))
1361 (file-name (string-append "cl-yacc-" version "-checkout"))))
1362 (build-system asdf-build-system/sbcl)
1363 (arguments
1364 `(#:asd-systems '("yacc")))
1365 (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc")
1366 (description
1367 "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit
1368 to AT&T Yacc, Berkeley Yacc, GNU Bison, Zebu, lalr.cl or lalr.scm.
1369
1370 CL-Yacc uses the algorithm due to Aho and Ullman, which is the one also used
1371 by AT&T Yacc, Berkeley Yacc and Zebu. It does not use the faster algorithm due
1372 to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
1373 (home-page "https://www.irif.fr/~jch//software/cl-yacc/")
1374 (license license:expat)))
1375
1376 (define-public cl-yacc
1377 (sbcl-package->cl-source-package sbcl-cl-yacc))
1378
1379 (define-public ecl-cl-yacc
1380 (sbcl-package->ecl-package sbcl-cl-yacc))
1381
1382 (define-public sbcl-eager-future2
1383 (let ((commit "54df8effd9d9eccac917509590286b5ac5f9cb30"))
1384 (package
1385 (name "sbcl-eager-future2")
1386 (version (git-version "0.0.0" "1" commit))
1387 (source
1388 (origin
1389 (method git-fetch)
1390 (uri (git-reference
1391 (url "https://gitlab.common-lisp.net/vsedach/eager-future2.git")
1392 (commit commit)))
1393 (file-name (git-file-name name version))
1394 (sha256
1395 (base32
1396 "1qs1bv3m0ki8l5czhsflxcryh22r9d9g9a3a3b0cr0pl954q5rld"))))
1397 (build-system asdf-build-system/sbcl)
1398 (inputs
1399 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1400 ("trivial-garbage" ,sbcl-trivial-garbage)))
1401 (synopsis "Futures promises synchronization mechanism for Common Lisp")
1402 (description
1403 "Eager Future2 is a Common Lisp library that provides composable
1404 concurrency primitives that unify parallel and lazy evaluation, are integrated
1405 with the Common Lisp condition system, and have automatic resource
1406 management.")
1407 (home-page "https://gitlab.common-lisp.net/vsedach/eager-future2")
1408 (license license:lgpl3+))))
1409
1410 (define-public cl-eager-future2
1411 (sbcl-package->cl-source-package sbcl-eager-future2))
1412
1413 (define-public ecl-eager-future2
1414 (sbcl-package->ecl-package sbcl-eager-future2))
1415
1416 (define-public sbcl-jpl-util
1417 (let ((commit "0311ed374e19a49d43318064d729fe3abd9a3b62"))
1418 (package
1419 (name "sbcl-jpl-util")
1420 (version "20151005")
1421 (source
1422 (origin
1423 (method git-fetch)
1424 (uri (git-reference
1425 ;; Quicklisp uses this fork.
1426 (url "https://github.com/hawkir/cl-jpl-util")
1427 (commit commit)))
1428 (file-name
1429 (git-file-name "jpl-util" version))
1430 (sha256
1431 (base32
1432 "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"))))
1433 (build-system asdf-build-system/sbcl)
1434 (synopsis "Collection of Common Lisp utility functions and macros")
1435 (description
1436 "@command{cl-jpl-util} is a collection of Common Lisp utility functions
1437 and macros, primarily for software projects written in CL by the author.")
1438 (home-page "https://www.thoughtcrime.us/software/cl-jpl-util/")
1439 (license license:isc))))
1440
1441 (define-public cl-jpl-util
1442 (sbcl-package->cl-source-package sbcl-jpl-util))
1443
1444 (define-public ecl-jpl-util
1445 (sbcl-package->ecl-package sbcl-jpl-util))
1446
1447 (define-public sbcl-piping
1448 (let ((commit "c7a4163c00dea7e72bf6ad33d6abac0d5826a656")
1449 (revision "1"))
1450 (package
1451 (name "sbcl-piping")
1452 (version (git-version "2.0.0" revision commit))
1453 (source
1454 (origin
1455 (method git-fetch)
1456 (uri (git-reference
1457 (url "https://github.com/Shinmera/piping/")
1458 (commit commit)))
1459 (file-name (git-file-name "piping" version))
1460 (sha256
1461 (base32 "0in84qnfkynm36d4n4d6v87vprpi27xrydnga462wfhplji6klv5"))))
1462 (build-system asdf-build-system/sbcl)
1463 (home-page "https://shinmera.github.io/piping/")
1464 (synopsis "Library to enable simple message pipelines")
1465 (description
1466 "This is a Common Lisp library to enable simple message pipelines.")
1467 (license license:zlib))))
1468
1469 (define-public ecl-piping
1470 (sbcl-package->ecl-package sbcl-piping))
1471
1472 (define-public cl-piping
1473 (sbcl-package->cl-source-package sbcl-piping))
1474
1475 (define-public sbcl-cl-pcg
1476 (let ((commit "8263d85ab0ca17fb05637a4430c2d564456bce8f")
1477 (revision "1"))
1478 (package
1479 (name "sbcl-cl-pcg")
1480 (version (git-version "1.0.0" revision commit))
1481 (source
1482 (origin
1483 (method git-fetch)
1484 (uri (git-reference
1485 (url "https://github.com/sjl/cl-pcg")
1486 (commit commit)))
1487 (file-name (git-file-name "cl-pcg" version))
1488 (sha256
1489 (base32 "0s57wvvlvshp1gcp9i9d3qcmqhswnxps3i0y7wbb0v8i1a3p46m4"))))
1490 (build-system asdf-build-system/sbcl)
1491 (native-inputs
1492 `(("1am" ,sbcl-1am)))
1493 (home-page "https://github.com/sjl/cl-pcg")
1494 (synopsis "Permuted congruential generators in Common Lisp")
1495 (description
1496 "This is a bare-bones Permuted Congruential Generator implementation in
1497 pure Common Lisp.")
1498 (license license:expat))))
1499
1500 (define-public ecl-cl-pcg
1501 (sbcl-package->ecl-package sbcl-cl-pcg))
1502
1503 (define-public cl-pcg
1504 (sbcl-package->cl-source-package sbcl-cl-pcg))
1505
1506 (define-public sbcl-seedable-rng
1507 (let ((commit "aa1a1564b6e07e2698df37c7a98348c4f762cb15")
1508 (revision "1"))
1509 (package
1510 (name "sbcl-seedable-rng")
1511 (version (git-version "0.0.0" revision commit))
1512 (source
1513 (origin
1514 (method git-fetch)
1515 (uri (git-reference
1516 (url "https://git.mfiano.net/mfiano/seedable-rng")
1517 (commit commit)))
1518 (file-name (git-file-name "seedable-rng" version))
1519 (sha256
1520 (base32 "1ldpsbp3qrfzvknclsxj3sdyms1jf9ad20dvh4w0kw3zgahn2nr5"))))
1521 (build-system asdf-build-system/sbcl)
1522 (inputs
1523 `(("cl-pcg" ,sbcl-cl-pcg)
1524 ("golden-utils" ,sbcl-golden-utils)
1525 ("ironclad" ,sbcl-ironclad)))
1526 (home-page "https://git.mfiano.net/mfiano/seedable-rng")
1527 (synopsis "Common Lisp random number generator")
1528 (description
1529 "SEEDABLE-RNG provides a convenient means of generating random numbers
1530 that are seedable with deterministic results across hardware and Common Lisp
1531 implementations.")
1532 (license license:expat))))
1533
1534 (define-public ecl-seedable-rng
1535 (sbcl-package->ecl-package sbcl-seedable-rng))
1536
1537 (define-public cl-seedable-rng
1538 (sbcl-package->cl-source-package sbcl-seedable-rng))
1539
1540 (define-public sbcl-jpl-queues
1541 (package
1542 (name "sbcl-jpl-queues")
1543 (version "0.1")
1544 (source
1545 (origin
1546 (method url-fetch)
1547 (uri (string-append
1548 "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-"
1549 version
1550 ".tar.gz"))
1551 (sha256
1552 (base32
1553 "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96"))))
1554 (build-system asdf-build-system/sbcl)
1555 (inputs
1556 `(("jpl-util" ,sbcl-jpl-util)
1557 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1558 (arguments
1559 ;; Tests seem to be broken.
1560 `(#:tests? #f))
1561 (synopsis "Common Lisp library implementing a few different kinds of queues")
1562 (description
1563 "A Common Lisp library implementing a few different kinds of queues:
1564
1565 @itemize
1566 @item Bounded and unbounded FIFO queues.
1567 @item Lossy bounded FIFO queues that drop elements when full.
1568 @item Unbounded random-order queues that use less memory than unbounded FIFO queues.
1569 @end itemize
1570
1571 Additionally, a synchronization wrapper is provided to make any queue
1572 conforming to the @command{jpl-queues} API thread-safe for lightweight
1573 multithreading applications. (See Calispel for a more sophisticated CL
1574 multithreaded message-passing library with timeouts and alternation among
1575 several blockable channels.)")
1576 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1577 (license license:isc)))
1578
1579 (define-public cl-jpl-queues
1580 (sbcl-package->cl-source-package sbcl-jpl-queues))
1581
1582 (define-public ecl-jpl-queues
1583 (sbcl-package->ecl-package sbcl-jpl-queues))
1584
1585 (define-public sbcl-calispel
1586 (let ((commit "e9f2f9c1af97f4d7bb4c8ac25fb2a8f3e8fada7a"))
1587 (package
1588 (name "sbcl-calispel")
1589 (version (git-version "0.1" "1" commit))
1590 (source
1591 (origin
1592 (method git-fetch)
1593 (uri (git-reference
1594 ;; This fork replaces the dependency on the obsolete
1595 ;; eager-future with eager-future2.
1596 (url "https://github.com/hawkir/calispel")
1597 (commit commit)))
1598 (file-name (git-file-name name version))
1599 (sha256
1600 (base32
1601 "08bmf3pi7n5hadpmqqkg65cxcj6kbvm997wcs1f53ml1nb79d9z8"))))
1602 (build-system asdf-build-system/sbcl)
1603 (inputs
1604 `(("jpl-queues" ,sbcl-jpl-queues)
1605 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1606 (native-inputs
1607 `(("eager-future2" ,sbcl-eager-future2)))
1608 (synopsis "Thread-safe message-passing channels in Common Lisp")
1609 (description
1610 "Calispel is a Common Lisp library for thread-safe message-passing
1611 channels, in the style of the occam programming language, also known as
1612 communicating sequential processes (CSP). See
1613 @url{https://en.wikipedia.org/wiki/Communicating_sequential_processes}.
1614
1615 Calispel channels let one thread communicate with another, facilitating
1616 unidirectional communication of any Lisp object. Channels may be unbuffered,
1617 where a sender waits for a receiver (or vice versa) before either operation can
1618 continue, or channels may be buffered with flexible policy options.
1619
1620 Because sending and receiving on a channel may block, either operation can time
1621 out after a specified amount of time.
1622
1623 A syntax for alternation is provided (like @code{ALT} in occam, or Unix
1624 @code{select()}): given a sequence of operations, any or all of which may
1625 block, alternation selects the first operation that doesn't block and executes
1626 associated code. Alternation can also time out, executing an \"otherwise\"
1627 clause if no operation becomes available within a set amount of time.
1628
1629 Calispel is a message-passing library, and as such leaves the role of
1630 threading abstractions and utilities left to be filled by complementary
1631 libraries such as Bordeaux-Threads and Eager Future.")
1632 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1633 (license license:isc))))
1634
1635 (define-public cl-calispel
1636 (sbcl-package->cl-source-package sbcl-calispel))
1637
1638 (define-public ecl-calispel
1639 (sbcl-package->ecl-package sbcl-calispel))
1640
1641 (define-public sbcl-eos
1642 (let ((commit "b4413bccc4d142cbe1bf49516c3a0a22c9d99243")
1643 (revision "2"))
1644 (package
1645 (name "sbcl-eos")
1646 (version (git-version "0.0.0" revision commit))
1647 (source
1648 (origin
1649 (method git-fetch)
1650 (uri (git-reference
1651 (url "https://github.com/adlai/Eos")
1652 (commit commit)))
1653 (sha256
1654 (base32 "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk"))
1655 (file-name (git-file-name "eos" version))))
1656 (build-system asdf-build-system/sbcl)
1657 (synopsis "Unit Testing for Common Lisp")
1658 (description
1659 "Eos was a unit testing library for Common Lisp.
1660 It began as a fork of FiveAM; however, FiveAM development has continued, while
1661 that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
1662 (home-page "https://github.com/adlai/Eos")
1663 (license license:expat))))
1664
1665 (define-public cl-eos
1666 (sbcl-package->cl-source-package sbcl-eos))
1667
1668 (define-public ecl-eos
1669 (sbcl-package->ecl-package sbcl-eos))
1670
1671 (define-public sbcl-esrap
1672 (let ((commit "133be8b05c2aae48696fe5b739eea2fa573fa48d"))
1673 (package
1674 (name "sbcl-esrap")
1675 (version (git-version "0.0.0" "1" commit))
1676 (source
1677 (origin
1678 (method git-fetch)
1679 (uri (git-reference
1680 (url "https://github.com/nikodemus/esrap")
1681 (commit commit)))
1682 (sha256
1683 (base32
1684 "02d5clihsdryhf7pix8c5di2571fdsffh75d40fkzhws90r5mksl"))
1685 (file-name (git-file-name "esrap" version))))
1686 (build-system asdf-build-system/sbcl)
1687 (native-inputs
1688 `(("eos" ,sbcl-eos))) ;For testing only.
1689 (inputs
1690 `(("alexandria" ,sbcl-alexandria)))
1691 (synopsis "Common Lisp packrat parser")
1692 (description
1693 "A packrat parser for Common Lisp.
1694 In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
1695
1696 @itemize
1697 @item dynamic redefinition of nonterminals
1698 @item inline grammars
1699 @item semantic predicates
1700 @item introspective facilities (describing grammars, tracing, setting breaks)
1701 @end itemize\n")
1702 (home-page "https://nikodemus.github.io/esrap/")
1703 (license license:expat))))
1704
1705 (define-public cl-esrap
1706 (sbcl-package->cl-source-package sbcl-esrap))
1707
1708 (define-public ecl-esrap
1709 (sbcl-package->ecl-package sbcl-esrap))
1710
1711 (define-public sbcl-split-sequence
1712 (package
1713 (name "sbcl-split-sequence")
1714 (version "2.0.0")
1715 (source
1716 (origin
1717 (method git-fetch)
1718 (uri (git-reference
1719 (url "https://github.com/sharplispers/split-sequence")
1720 (commit (string-append "v" version))))
1721 (sha256
1722 (base32
1723 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
1724 (file-name (git-file-name "split-sequence" version))))
1725 (build-system asdf-build-system/sbcl)
1726 (native-inputs
1727 `(("fiveam" ,sbcl-fiveam)))
1728 (synopsis "Member of the Common Lisp Utilities family of programs")
1729 (description
1730 "Splits sequence into a list of subsequences delimited by objects
1731 satisfying the test.")
1732 (home-page "https://cliki.net/split-sequence")
1733 (license license:expat)))
1734
1735 (define-public cl-split-sequence
1736 (sbcl-package->cl-source-package sbcl-split-sequence))
1737
1738 (define-public ecl-split-sequence
1739 (sbcl-package->ecl-package sbcl-split-sequence))
1740
1741 (define-public sbcl-html-encode
1742 (package
1743 (name "sbcl-html-encode")
1744 (version "1.2")
1745 (source
1746 (origin
1747 (method url-fetch)
1748 (uri (string-append
1749 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1750 version ".tgz"))
1751 (sha256
1752 (base32
1753 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1754 (file-name (string-append "colorize" version "-checkout"))))
1755 (build-system asdf-build-system/sbcl)
1756 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1757 (description
1758 "A library for encoding text in various web-savvy encodings.")
1759 (home-page "http://quickdocs.org/html-encode/")
1760 (license license:expat)))
1761
1762 (define-public cl-html-encode
1763 (sbcl-package->cl-source-package sbcl-html-encode))
1764
1765 (define-public ecl-html-encode
1766 (sbcl-package->ecl-package sbcl-html-encode))
1767
1768 (define-public sbcl-colorize
1769 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1770 (package
1771 (name "sbcl-colorize")
1772 (version (git-version "0.0.0" "1" commit))
1773 (source
1774 (origin
1775 (method git-fetch)
1776 (uri (git-reference
1777 (url "https://github.com/kingcons/colorize")
1778 (commit commit)))
1779 (sha256
1780 (base32
1781 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1782 (file-name (git-file-name "colorize" version))))
1783 (build-system asdf-build-system/sbcl)
1784 (inputs
1785 `(("alexandria" ,sbcl-alexandria)
1786 ("split-sequence" ,sbcl-split-sequence)
1787 ("html-encode" ,sbcl-html-encode)))
1788 (synopsis "Common Lisp for syntax highlighting")
1789 (description
1790 "@command{colorize} is a Lisp library for syntax highlighting
1791 supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1792 C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1793 (home-page "https://github.com/kingcons/colorize")
1794 ;; TODO: Missing license?
1795 (license license:expat))))
1796
1797 (define-public cl-colorize
1798 (sbcl-package->cl-source-package sbcl-colorize))
1799
1800 (define-public ecl-colorize
1801 (sbcl-package->ecl-package sbcl-colorize))
1802
1803 (define-public sbcl-3bmd
1804 (let ((commit "6fc5759448f6f6df6f6df556e020a289a2643288")
1805 (revision "2"))
1806 (package
1807 (name "sbcl-3bmd")
1808 (version (git-version "0.0.0" revision commit))
1809 (source
1810 (origin
1811 (method git-fetch)
1812 (uri (git-reference
1813 (url "https://github.com/3b/3bmd")
1814 (commit commit)))
1815 (sha256
1816 (base32 "1avmbp8xdjlbqpqk7p3vmj7abiw5p3vb5mrxp4wlvgql4sf6z3p4"))
1817 (file-name (git-file-name "3bmd" version))))
1818 (build-system asdf-build-system/sbcl)
1819 (arguments
1820 ;; FIXME: #41437 - Build fails when package name starts from a digit
1821 `(#:asd-systems
1822 '("3bmd"
1823 "3bmd-ext-definition-lists"
1824 "3bmd-ext-math"
1825 "3bmd-ext-tables"
1826 "3bmd-ext-wiki-links"
1827 "3bmd-youtube"
1828 "3bmd-ext-code-blocks")))
1829 (inputs
1830 `(("alexandria" ,sbcl-alexandria)
1831 ("colorize" ,sbcl-colorize)
1832 ("esrap" ,sbcl-esrap)
1833 ("split-sequence" ,sbcl-split-sequence)))
1834 (home-page "https://github.com/3b/3bmd")
1835 (synopsis "Markdown processor in Command Lisp using esrap parser")
1836 (description
1837 "This is a Common Lisp Markdown to HTML converter, using @command{esrap}
1838 for parsing, and grammar based on @command{peg-markdown}.")
1839 (license license:expat))))
1840
1841 (define-public cl-3bmd
1842 (sbcl-package->cl-source-package sbcl-3bmd))
1843
1844 (define-public ecl-3bmd
1845 (sbcl-package->ecl-package sbcl-3bmd))
1846
1847 (define-public sbcl-cl-fad
1848 (package
1849 (name "sbcl-cl-fad")
1850 (version "0.7.6")
1851 (source
1852 (origin
1853 (method git-fetch)
1854 (uri (git-reference
1855 (url "https://github.com/edicl/cl-fad/")
1856 (commit (string-append "v" version))))
1857 (sha256
1858 (base32
1859 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
1860 (file-name (string-append "cl-fad" version "-checkout"))))
1861 (build-system asdf-build-system/sbcl)
1862 (inputs
1863 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
1864 (synopsis "Portable pathname library for Common Lisp")
1865 (description
1866 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
1867 Lisp's standard pathname functions. It is intended to provide some
1868 unification between current CL implementations on Windows, OS X, Linux, and
1869 Unix. Most of the code was written by Peter Seibel for his book Practical
1870 Common Lisp.")
1871 (home-page "https://edicl.github.io/cl-fad/")
1872 (license license:bsd-2)))
1873
1874 (define-public cl-fad
1875 (sbcl-package->cl-source-package sbcl-cl-fad))
1876
1877 (define-public ecl-cl-fad
1878 (sbcl-package->ecl-package sbcl-cl-fad))
1879
1880 (define-public sbcl-fn
1881 (let ((commit "8d8587d03a7b5e26b306fc90018e385d9e5acc2c")
1882 (revision "1"))
1883 (package
1884 (name "sbcl-fn")
1885 (version (git-version "0.0.0" revision commit))
1886 (source
1887 (origin
1888 (method git-fetch)
1889 (uri (git-reference
1890 (url "https://github.com/cbaggers/fn")
1891 (commit commit)))
1892 (file-name (git-file-name "fn" version))
1893 (sha256
1894 (base32 "0yyp9z6iwx476whz0n1rpjznjyqqhlylhzwpgg5xx92lxmskl752"))))
1895 (build-system asdf-build-system/sbcl)
1896 (inputs
1897 `(("named-readtables" ,sbcl-named-readtables)))
1898 (home-page "https://github.com/cbaggers/fn")
1899 (synopsis "Macros for lambda brevity")
1900 (description
1901 "This is a Common Lisp library providing lambda shorthand macros aiming
1902 to be used in cases where the word @emph{lambda} and the arguments are longer
1903 than the body of the lambda.")
1904 (license license:public-domain))))
1905
1906 (define-public ecl-fn
1907 (sbcl-package->ecl-package sbcl-fn))
1908
1909 (define-public cl-fn
1910 (sbcl-package->cl-source-package sbcl-fn))
1911
1912 (define-public sbcl-rt
1913 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
1914 (revision "1"))
1915 (package
1916 (name "sbcl-rt")
1917 (version (git-version "1990.12.19" revision commit))
1918 (source
1919 (origin
1920 (method git-fetch)
1921 (uri (git-reference
1922 (url "http://git.kpe.io/rt.git")
1923 (commit commit)))
1924 (file-name (git-file-name name version))
1925 (sha256
1926 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
1927 (build-system asdf-build-system/sbcl)
1928 (synopsis "MIT Regression Tester")
1929 (description
1930 "RT provides a framework for writing regression test suites.")
1931 (home-page "https://www.cliki.net/rt")
1932 (license license:expat))))
1933
1934 (define-public cl-rt
1935 (sbcl-package->cl-source-package sbcl-rt))
1936
1937 (define-public ecl-rt
1938 (sbcl-package->ecl-package sbcl-rt))
1939
1940 (define-public sbcl-nibbles
1941 ;; No tagged release since 2018.
1942 (let ((commit "8e6b9b42d9f69000f55e5c45ad974d9e376ffdbd")
1943 (revision "1"))
1944 (package
1945 (name "sbcl-nibbles")
1946 (version (git-version "0.14" revision commit))
1947 (source
1948 (origin
1949 (method git-fetch)
1950 (uri (git-reference
1951 (url "https://github.com/sharplispers/nibbles/")
1952 (commit commit)))
1953 (sha256
1954 (base32 "15qlsm82h36pjgvfnbzdg60l21qxbaii4d049jc5y0dn56y93amb"))
1955 (file-name (git-file-name "nibbles" version))))
1956 (build-system asdf-build-system/sbcl)
1957 (native-inputs
1958 ;; Tests only.
1959 `(("rt" ,sbcl-rt)))
1960 (synopsis
1961 "Common Lisp library for accessing octet-addressed blocks of data")
1962 (description
1963 "When dealing with network protocols and file formats, it's common to
1964 have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
1965 flavors. Common Lisp sort of supports this by specifying :element-type for
1966 streams, but that facility is underspecified and there's nothing similar for
1967 read/write from octet vectors. What most people wind up doing is rolling their
1968 own small facility for their particular needs and calling it a day.
1969
1970 This library attempts to be comprehensive and centralize such
1971 facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
1972 vectors in signed or unsigned flavors are provided; these functions are also
1973 SETFable. Since it's sometimes desirable to read/write directly from streams,
1974 functions for doing so are also provided. On some implementations,
1975 reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
1976 also be supported.")
1977 (home-page "https://github.com/sharplispers/nibbles")
1978 (license license:bsd-3))))
1979
1980 (define-public cl-nibbles
1981 (sbcl-package->cl-source-package sbcl-nibbles))
1982
1983 (define-public ecl-nibbles
1984 (sbcl-package->ecl-package sbcl-nibbles))
1985
1986 (define-public sbcl-ironclad
1987 (package
1988 (name "sbcl-ironclad")
1989 (version "0.54")
1990 (source
1991 (origin
1992 (method git-fetch)
1993 (uri (git-reference
1994 (url "https://github.com/sharplispers/ironclad/")
1995 (commit (string-append "v" version))))
1996 (sha256
1997 (base32 "07g0wpvfqq2yk23prs890d4qvbnr3xd6w8ssd88g89xdg483wpvk"))
1998 (file-name (git-file-name name version))))
1999 (build-system asdf-build-system/sbcl)
2000 (native-inputs
2001 ;; Tests only.
2002 `(("rt" ,sbcl-rt)))
2003 (inputs
2004 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2005 ("flexi-streams" ,sbcl-flexi-streams)))
2006 (synopsis "Cryptographic toolkit written in Common Lisp")
2007 (description
2008 "Ironclad is a cryptography library written entirely in Common Lisp.
2009 It includes support for several popular ciphers, digests, MACs and public key
2010 cryptography algorithms. For several implementations that support Gray
2011 streams, support is included for convenient stream wrappers.")
2012 (home-page "https://github.com/sharplispers/ironclad")
2013 (license license:bsd-3)))
2014
2015 (define-public cl-ironclad
2016 (sbcl-package->cl-source-package sbcl-ironclad))
2017
2018 (define-public ecl-ironclad
2019 (sbcl-package->ecl-package sbcl-ironclad))
2020
2021 (define-public sbcl-named-readtables
2022 (let ((commit "585a28eee8b1b1999279b48cb7e9731187e14b66")
2023 (revision "3"))
2024 (package
2025 (name "sbcl-named-readtables")
2026 (version (git-version "0.9" revision commit))
2027 (source
2028 (origin
2029 (method git-fetch)
2030 (uri (git-reference
2031 (url "https://github.com/melisgl/named-readtables")
2032 (commit commit)))
2033 (sha256
2034 (base32 "072p5djqq9pliw9r20rmpz5r5q5yn6rhbp98vkkp7gfcnp5ppj51"))
2035 (file-name (git-file-name "named-readtables" version))))
2036 (build-system asdf-build-system/sbcl)
2037 (home-page "https://github.com/melisgl/named-readtables/")
2038 (synopsis "Library that creates a namespace for named readtables")
2039 (description
2040 "Named readtables is a library that creates a namespace for named
2041 readtables, which is akin to package namespacing in Common Lisp.")
2042 (license license:bsd-3))))
2043
2044 (define-public cl-named-readtables
2045 (sbcl-package->cl-source-package sbcl-named-readtables))
2046
2047 (define-public ecl-named-readtables
2048 (sbcl-package->ecl-package sbcl-named-readtables))
2049
2050 (define-public sbcl-py-configparser
2051 ;; NOTE: (Sharlatan <2021-01-05 Tue> <19:52:19 UTC+0000>) Project updated last
2052 ;; time 8y ago, it looks like abandoned. VCS of the project:
2053 ;; https://svn.common-lisp.net/py-configparser/trunk
2054 (package
2055 (name "sbcl-py-configparser")
2056 (version "1.0.3")
2057 (source
2058 (origin
2059 (method url-fetch)
2060 (uri (string-append
2061 "https://common-lisp.net/project/py-configparser/releases/"
2062 "py-configparser-" version ".tar.gz"))
2063 (sha256
2064 (base32 "0i4rqz5cv7d7c2w81x5lwy05s6fbi3zikf4k5kpi3bkx3cabwdxj"))))
2065 (build-system asdf-build-system/sbcl)
2066 (inputs
2067 `(("parse-number" ,sbcl-parse-number)))
2068 (home-page "http://common-lisp.net/project/py-configparser/")
2069 (synopsis "ConfigParser Python module functionality for Common Lisp")
2070 (description "The py-configparser package implements the ConfigParser
2071 Python module functionality in Common Lisp. In short, it implements reading
2072 and writing of .INI-file style configuration files with sections containing
2073 key/value pairs of configuration options. In line with the functionalities in
2074 the python module, does this package implement basic interpolation of option
2075 values in other options.")
2076 (license license:expat)))
2077
2078 (define-public cl-py-configparser
2079 (sbcl-package->cl-source-package sbcl-py-configparser))
2080
2081 (define-public ecl-py-configparser
2082 (sbcl-package->ecl-package sbcl-py-configparser))
2083
2084 (define-public sbcl-pythonic-string-reader
2085 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
2086 (package
2087 (name "sbcl-pythonic-string-reader")
2088 (version (git-version "0.0.0" "1" commit))
2089 (source
2090 (origin
2091 (method git-fetch)
2092 (uri (git-reference
2093 (url "https://github.com/smithzvk/pythonic-string-reader/")
2094 (commit commit)))
2095 (sha256
2096 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
2097 (file-name (git-file-name "pythonic-string-reader" version))))
2098 (build-system asdf-build-system/sbcl)
2099 (inputs
2100 `(("named-readtables" ,sbcl-named-readtables)))
2101 (home-page "https://github.com/smithzvk/pythonic-string-reader")
2102 (synopsis "Read table modification inspired by Python's three quote strings")
2103 (description "This piece of code sets up some reader macros that make it
2104 simpler to input string literals which contain backslashes and double quotes
2105 This is very useful for writing complicated docstrings and, as it turns out,
2106 writing code that contains string literals that contain code themselves.")
2107 (license license:bsd-3))))
2108
2109 (define-public cl-pythonic-string-reader
2110 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
2111
2112 (define-public ecl-pythonic-string-reader
2113 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
2114
2115 (define-public sbcl-slime-swank
2116 (package
2117 (name "sbcl-slime-swank")
2118 (version "2.26")
2119 (source
2120 (origin
2121 (file-name (git-file-name "slime-swank" version))
2122 (method git-fetch)
2123 (uri (git-reference
2124 (url "https://github.com/slime/slime/")
2125 (commit (string-append "v" version))))
2126 (sha256
2127 (base32
2128 "0mxb1wnw19v0s72w2wkz5afdlzvpy5nn7pr4vav403qybac0sw5c"))))
2129 (build-system asdf-build-system/sbcl)
2130 (arguments
2131 '(#:asd-systems '("swank")))
2132 (home-page "https://github.com/slime/slime")
2133 (synopsis "Common Lisp Swank server")
2134 (description
2135 "This is only useful if you want to start a Swank server in a Lisp
2136 processes that doesn't run under Emacs. Lisp processes created by
2137 @command{M-x slime} automatically start the server.")
2138 (license (list license:gpl2+ license:public-domain))))
2139
2140 (define-public cl-slime-swank
2141 (sbcl-package->cl-source-package sbcl-slime-swank))
2142
2143 (define-public ecl-slime-swank
2144 (sbcl-package->ecl-package sbcl-slime-swank))
2145
2146 (define-public sbcl-mgl-pax
2147 (let ((commit "4ada6eb26364e71addb169ce58e4ba83bc7a8eaa")
2148 (revision "2"))
2149 (package
2150 (name "sbcl-mgl-pax")
2151 (version (git-version "0.0.3" revision commit))
2152 (source
2153 (origin
2154 (method git-fetch)
2155 (uri (git-reference
2156 (url "https://github.com/melisgl/mgl-pax")
2157 (commit commit)))
2158 (sha256
2159 (base32 "1s38crgvmd9hgqwsscqpj6m6c10a074zjgg8k5sl15yih1wkpssm"))
2160 (file-name (git-file-name "mgl-pax" version))))
2161 (build-system asdf-build-system/sbcl)
2162 (inputs
2163 `(("3bmd" ,sbcl-3bmd)
2164 ("babel" ,sbcl-babel)
2165 ("cl-fad" ,sbcl-cl-fad)
2166 ("ironclad" ,sbcl-ironclad)
2167 ("named-readtables" ,sbcl-named-readtables)
2168 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)
2169 ("swank" ,sbcl-slime-swank)))
2170 (synopsis "Exploratory programming environment and documentation generator")
2171 (description
2172 "PAX provides an extremely poor man's Explorable Programming
2173 environment. Narrative primarily lives in so called sections that mix markdown
2174 docstrings with references to functions, variables, etc, all of which should
2175 probably have their own docstrings.
2176
2177 The primary focus is on making code easily explorable by using SLIME's
2178 @command{M-.} (@command{slime-edit-definition}). See how to enable some
2179 fanciness in Emacs Integration. Generating documentation from sections and all
2180 the referenced items in Markdown or HTML format is also implemented.
2181
2182 With the simplistic tools provided, one may accomplish similar effects as with
2183 Literate Programming, but documentation is generated from code, not vice versa
2184 and there is no support for chunking yet. Code is first, code must look
2185 pretty, documentation is code.")
2186 (home-page "http://quotenil.com/")
2187 (license license:expat))))
2188
2189 (define-public cl-mgl-pax
2190 (sbcl-package->cl-source-package sbcl-mgl-pax))
2191
2192 (define-public ecl-mgl-pax
2193 (sbcl-package->ecl-package sbcl-mgl-pax))
2194
2195 (define-public sbcl-mssql
2196 (let ((commit "045602a19a32254108f2b75871049293f49731eb")
2197 (revision "1"))
2198 (package
2199 (name "sbcl-mssql")
2200 (version (git-version "0.0.3" revision commit))
2201 (source
2202 (origin
2203 (method git-fetch)
2204 (uri (git-reference
2205 (url "https://github.com/archimag/cl-mssql")
2206 (commit commit)))
2207 (file-name (git-file-name "cl-mssql" version))
2208 (sha256
2209 (base32 "09i50adppgc1ybm3ka9vbindhwa2x29f9n3n0jkrryymdhb8zknm"))))
2210 (build-system asdf-build-system/sbcl)
2211 (inputs
2212 `(("cffi" ,sbcl-cffi)
2213 ("freetds" ,freetds)
2214 ("garbage-pools" ,sbcl-garbage-pools)
2215 ("iterate" ,sbcl-iterate)
2216 ("parse-number" ,sbcl-parse-number)))
2217 (arguments
2218 `(#:phases
2219 (modify-phases %standard-phases
2220 (add-after 'unpack 'fix-paths
2221 (lambda* (#:key inputs #:allow-other-keys)
2222 (substitute* "src/mssql.lisp"
2223 (("libsybdb" all)
2224 (string-append (assoc-ref inputs "freetds") "/lib/" all)))
2225 #t)))))
2226 (home-page "https://github.com/archimag/cl-mssql")
2227 (synopsis "Common Lisp library to interact with MS SQL Server databases")
2228 (description
2229 "@code{cl-mssql} provides an interface to connect to Microsoft SQL
2230 server. It uses the @code{libsybdb} foreign library provided by the FreeTDS
2231 project.")
2232 (license license:llgpl))))
2233
2234 (define-public ecl-mssql
2235 (sbcl-package->ecl-package sbcl-mssql))
2236
2237 (define-public cl-mssql
2238 (sbcl-package->cl-source-package sbcl-mssql))
2239
2240 (define-public sbcl-lisp-unit
2241 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
2242 (package
2243 (name "sbcl-lisp-unit")
2244 (version (git-version "0.0.0" "1" commit))
2245 (source
2246 (origin
2247 (method git-fetch)
2248 (uri (git-reference
2249 (url "https://github.com/OdonataResearchLLC/lisp-unit")
2250 (commit commit)))
2251 (sha256
2252 (base32
2253 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
2254 (file-name (git-file-name "lisp-unit" version))))
2255 (build-system asdf-build-system/sbcl)
2256 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
2257 (description
2258 "@command{lisp-unit} is a Common Lisp library that supports unit
2259 testing. It is an extension of the library written by Chris Riesbeck.")
2260 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
2261 (license license:expat))))
2262
2263 (define-public cl-lisp-unit
2264 (sbcl-package->cl-source-package sbcl-lisp-unit))
2265
2266 (define-public ecl-lisp-unit
2267 (sbcl-package->ecl-package sbcl-lisp-unit))
2268
2269 (define-public sbcl-anaphora
2270 (package
2271 (name "sbcl-anaphora")
2272 (version "0.9.6")
2273 (source
2274 (origin
2275 (method git-fetch)
2276 (uri (git-reference
2277 (url "https://github.com/tokenrove/anaphora")
2278 (commit version)))
2279 (sha256
2280 (base32
2281 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
2282 (file-name (git-file-name "anaphora" version))))
2283 (build-system asdf-build-system/sbcl)
2284 (native-inputs
2285 `(("rt" ,sbcl-rt)))
2286 (synopsis "The anaphoric macro collection from Hell")
2287 (description
2288 "Anaphora is the anaphoric macro collection from Hell: it includes many
2289 new fiends in addition to old friends like @command{aif} and
2290 @command{awhen}.")
2291 (home-page "https://github.com/tokenrove/anaphora")
2292 (license license:public-domain)))
2293
2294 (define-public cl-anaphora
2295 (sbcl-package->cl-source-package sbcl-anaphora))
2296
2297 (define-public ecl-anaphora
2298 (sbcl-package->ecl-package sbcl-anaphora))
2299
2300 (define-public sbcl-lift
2301 (let ((commit "2594160d6ca3a77d8750110dfa63214256aab852")
2302 (revision "2"))
2303 (package
2304 (name "sbcl-lift")
2305 (version (git-version "1.7.1" revision commit))
2306 (source
2307 (origin
2308 (method git-fetch)
2309 (uri (git-reference
2310 (url "https://github.com/gwkkwg/lift")
2311 (commit commit)))
2312 (sha256
2313 (base32 "01xvz9sl5l5lai4h9dabmcjnm659wf5zllaxqbs55lffskp6jwq3"))
2314 (file-name (git-file-name "lift" version))
2315 (modules '((guix build utils)))
2316 (snippet
2317 ;; Don't keep the bundled website
2318 `(begin
2319 (delete-file-recursively "website")
2320 #t))))
2321 (build-system asdf-build-system/sbcl)
2322 (arguments
2323 ;; The tests require a debugger, but we run with the debugger disabled.
2324 '(#:tests? #f))
2325 (synopsis "LIsp Framework for Testing")
2326 (description
2327 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
2328 Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
2329 testcases are organized into hierarchical testsuites each of which can have
2330 its own fixture. When run, a testcase can succeed, fail, or error. LIFT
2331 supports randomized testing, benchmarking, profiling, and reporting.")
2332 (home-page "https://github.com/gwkkwg/lift")
2333 (license license:expat))))
2334
2335 (define-public cl-lift
2336 (sbcl-package->cl-source-package sbcl-lift))
2337
2338 (define-public ecl-lift
2339 (sbcl-package->ecl-package sbcl-lift))
2340
2341 (define-public sbcl-let-plus
2342 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
2343 (package
2344 (name "sbcl-let-plus")
2345 (version (git-version "0.0.0" "1" commit))
2346 (source
2347 (origin
2348 (method git-fetch)
2349 (uri (git-reference
2350 (url "https://github.com/sharplispers/let-plus")
2351 (commit commit)))
2352 (sha256
2353 (base32
2354 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
2355 (file-name (git-file-name "let-plus" version))))
2356 (build-system asdf-build-system/sbcl)
2357 (inputs
2358 `(("alexandria" ,sbcl-alexandria)
2359 ("anaphora" ,sbcl-anaphora)))
2360 (native-inputs
2361 `(("lift" ,sbcl-lift)))
2362 (synopsis "Destructuring extension of let*")
2363 (description
2364 "This library implements the let+ macro, which is a dectructuring
2365 extension of let*. It features:
2366
2367 @itemize
2368 @item Clean, consistent syntax and small implementation (less than 300 LOC,
2369 not counting tests)
2370 @item Placeholder macros allow editor hints and syntax highlighting
2371 @item @command{&ign} for ignored values (in forms where that makes sense)
2372 @item Very easy to extend
2373 @end itemize\n")
2374 (home-page "https://github.com/sharplispers/let-plus")
2375 (license license:boost1.0))))
2376
2377 (define-public cl-let-plus
2378 (sbcl-package->cl-source-package sbcl-let-plus))
2379
2380 (define-public ecl-let-plus
2381 (sbcl-package->ecl-package sbcl-let-plus))
2382
2383 (define-public sbcl-cl-colors
2384 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
2385 (package
2386 (name "sbcl-cl-colors")
2387 (version (git-version "0.0.0" "1" commit))
2388 (source
2389 (origin
2390 (method git-fetch)
2391 (uri (git-reference
2392 (url "https://github.com/tpapp/cl-colors")
2393 (commit commit)))
2394 (sha256
2395 (base32
2396 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2397 (file-name (git-file-name "cl-colors" version))))
2398 (build-system asdf-build-system/sbcl)
2399 (inputs
2400 `(("alexandria" ,sbcl-alexandria)
2401 ("let-plus" ,sbcl-let-plus)))
2402 (synopsis "Simple color library for Common Lisp")
2403 (description
2404 "This is a very simple color library for Common Lisp, providing
2405
2406 @itemize
2407 @item Types for representing colors in HSV and RGB spaces.
2408 @item Simple conversion functions between the above types (and also
2409 hexadecimal representation for RGB).
2410 @item Some predefined colors (currently X11 color names – of course the
2411 library does not depend on X11).Because color in your terminal is nice.
2412 @end itemize
2413
2414 This library is no longer supported by its author.")
2415 (home-page "https://github.com/tpapp/cl-colors")
2416 (license license:boost1.0))))
2417
2418 (define-public cl-colors
2419 (sbcl-package->cl-source-package sbcl-cl-colors))
2420
2421 (define-public ecl-cl-colors
2422 (sbcl-package->ecl-package sbcl-cl-colors))
2423
2424 (define-public sbcl-cl-ansi-text
2425 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2426 (package
2427 (name "sbcl-cl-ansi-text")
2428 (version (git-version "1.0.0" "1" commit))
2429 (source
2430 (origin
2431 (method git-fetch)
2432 (uri (git-reference
2433 (url "https://github.com/pnathan/cl-ansi-text")
2434 (commit commit)))
2435 (sha256
2436 (base32
2437 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2438 (file-name (git-file-name "cl-ansi-text" version))))
2439 (build-system asdf-build-system/sbcl)
2440 (inputs
2441 `(("alexandria" ,sbcl-alexandria)
2442 ("cl-colors" ,sbcl-cl-colors)))
2443 (native-inputs
2444 `(("fiveam" ,sbcl-fiveam)))
2445 (synopsis "ANSI terminal color implementation for Common Lisp")
2446 (description
2447 "@command{cl-ansi-text} provides utilities which enable printing to an
2448 ANSI terminal with colored text. It provides the macro @command{with-color}
2449 which causes everything printed in the body to be displayed with the provided
2450 color. It further provides functions which will print the argument with the
2451 named color.")
2452 (home-page "https://github.com/pnathan/cl-ansi-text")
2453 (license license:llgpl))))
2454
2455 (define-public cl-ansi-text
2456 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2457
2458 (define-public ecl-cl-ansi-text
2459 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2460
2461 (define-public sbcl-prove
2462 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2463 (package
2464 (name "sbcl-prove")
2465 (version (git-version "1.0.0" "1" commit))
2466 (source
2467 (origin
2468 (method git-fetch)
2469 (uri (git-reference
2470 (url "https://github.com/fukamachi/prove")
2471 (commit commit)))
2472 (sha256
2473 (base32
2474 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2475 (file-name (git-file-name "prove" version))))
2476 (build-system asdf-build-system/sbcl)
2477 (inputs
2478 `(("alexandria" ,sbcl-alexandria)
2479 ("cl-ppcre" ,sbcl-cl-ppcre)
2480 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2481 (synopsis "Yet another unit testing framework for Common Lisp")
2482 (description
2483 "This project was originally called @command{cl-test-more}.
2484 @command{prove} is yet another unit testing framework for Common Lisp. The
2485 advantages of @command{prove} are:
2486
2487 @itemize
2488 @item Various simple functions for testing and informative error messages
2489 @item ASDF integration
2490 @item Extensible test reporters
2491 @item Colorizes the report if it's available (note for SLIME)
2492 @item Reports test durations
2493 @end itemize\n")
2494 (home-page "https://github.com/fukamachi/prove")
2495 (license license:expat))))
2496
2497 (define-public cl-prove
2498 (sbcl-package->cl-source-package sbcl-prove))
2499
2500 (define-public ecl-prove
2501 (sbcl-package->ecl-package sbcl-prove))
2502
2503 (define-public sbcl-proc-parse
2504 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2505 (package
2506 (name "sbcl-proc-parse")
2507 (version (git-version "0.0.0" "1" commit))
2508 (source
2509 (origin
2510 (method git-fetch)
2511 (uri (git-reference
2512 (url "https://github.com/fukamachi/proc-parse")
2513 (commit commit)))
2514 (sha256
2515 (base32
2516 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2517 (file-name (git-file-name "proc-parse" version))))
2518 (build-system asdf-build-system/sbcl)
2519 (inputs
2520 `(("alexandria" ,sbcl-alexandria)
2521 ("babel" ,sbcl-babel)))
2522 (native-inputs
2523 `(("prove" ,sbcl-prove)))
2524 (arguments
2525 ;; TODO: Tests don't find "proc-parse-test", why?
2526 `(#:tests? #f))
2527 (synopsis "Procedural vector parser")
2528 (description
2529 "This is a string/octets parser library for Common Lisp with speed and
2530 readability in mind. Unlike other libraries, the code is not a
2531 pattern-matching-like, but a char-by-char procedural parser.")
2532 (home-page "https://github.com/fukamachi/proc-parse")
2533 (license license:bsd-2))))
2534
2535 (define-public cl-proc-parse
2536 (sbcl-package->cl-source-package sbcl-proc-parse))
2537
2538 (define-public ecl-proc-parse
2539 (sbcl-package->ecl-package sbcl-proc-parse))
2540
2541 (define-public sbcl-parse-float
2542 (let ((commit "3074765101e41222b6b624a66aaf1e6416379f9c")
2543 (revision "2"))
2544 (package
2545 (name "sbcl-parse-float")
2546 (version (git-version "0.0.0" revision commit))
2547 (source
2548 (origin
2549 (method git-fetch)
2550 (uri (git-reference
2551 (url "https://github.com/soemraws/parse-float")
2552 (commit commit)))
2553 (sha256
2554 (base32 "0jd2spawc3v8vzqf8ky4cngl45jm65fhkrdf20mf6dcbn3mzpkmr"))
2555 (file-name (git-file-name "proc-parse" version))))
2556 (build-system asdf-build-system/sbcl)
2557 (arguments
2558 ;; FIXME: https://github.com/soemraws/parse-float/issues/12
2559 `(#:asd-systems '("parse-float" "parse-float-tests")))
2560 (native-inputs
2561 `(("lisp-unit" ,sbcl-lisp-unit)))
2562 (inputs
2563 `(("alexandria" ,sbcl-alexandria)))
2564 (home-page "https://github.com/soemraws/parse-float")
2565 (synopsis "Parse a floating point value from a string in Common Lisp")
2566 (description
2567 "This package exports the following function to parse floating-point
2568 values from a string in Common Lisp.")
2569 (license license:public-domain))))
2570
2571 (define-public cl-parse-float
2572 (sbcl-package->cl-source-package sbcl-parse-float))
2573
2574 (define-public ecl-parse-float
2575 (sbcl-package->ecl-package sbcl-parse-float))
2576
2577 (define-public sbcl-cl-string-match
2578 (let ((revision "1")
2579 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2580 (package
2581 (name "sbcl-cl-string-match")
2582 (version (git-version "0" revision changeset))
2583 (source
2584 (origin
2585 (method hg-fetch)
2586 (uri (hg-reference
2587 (url "https://bitbucket.org/vityok/cl-string-match/")
2588 (changeset changeset)))
2589 (sha256
2590 (base32
2591 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2592 (file-name (git-file-name "cl-string-match" version))))
2593 (build-system asdf-build-system/sbcl)
2594 (inputs
2595 `(("alexandria" ,sbcl-alexandria)
2596 ("babel" ,sbcl-babel)
2597 ("iterate" ,sbcl-iterate)
2598 ("jpl-queues" ,sbcl-jpl-queues)
2599 ("jpl-util" ,sbcl-jpl-util)
2600 ("mgl-pax" ,sbcl-mgl-pax)
2601 ("parse-float" ,sbcl-parse-float)
2602 ("proc-parse" ,sbcl-proc-parse)
2603 ("yacc" ,sbcl-cl-yacc)))
2604 ;; TODO: Tests are not evaluated properly.
2605 (native-inputs
2606 ;; For testing:
2607 `(("lisp-unit" ,sbcl-lisp-unit)))
2608 (arguments
2609 `(#:tests? #f))
2610 (synopsis "Set of utilities to manipulate strings in Common Lisp")
2611 (description
2612 "@command{cl-strings} is a small, portable, dependency-free set of
2613 utilities that make it even easier to manipulate text in Common Lisp. It has
2614 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
2615 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2616 (license license:bsd-3))))
2617
2618 (define-public cl-string-match
2619 (sbcl-package->cl-source-package sbcl-cl-string-match))
2620
2621 (define-public ecl-cl-string-match
2622 (sbcl-package->ecl-package sbcl-cl-string-match))
2623
2624 (define-public sbcl-ptester
2625 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2626 (revision "1"))
2627 (package
2628 (name "sbcl-ptester")
2629 (version (git-version "2.1.3" revision commit))
2630 (source
2631 (origin
2632 (method git-fetch)
2633 (uri (git-reference
2634 (url "http://git.kpe.io/ptester.git")
2635 (commit commit)))
2636 (file-name (git-file-name name version))
2637 (sha256
2638 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2639 (build-system asdf-build-system/sbcl)
2640 (home-page "http://quickdocs.org/ptester/")
2641 (synopsis "Portable test harness package")
2642 (description
2643 "@command{ptester} is a portable testing framework based on Franz's
2644 tester module.")
2645 (license license:llgpl))))
2646
2647 (define-public cl-ptester
2648 (sbcl-package->cl-source-package sbcl-ptester))
2649
2650 (define-public ecl-ptester
2651 (sbcl-package->ecl-package sbcl-ptester))
2652
2653 (define-public sbcl-puri
2654 (let ((commit "4bbab89d9ccbb26346899d1f496c97604fec567b")
2655 (revision "2"))
2656 (package
2657 (name "sbcl-puri")
2658 (version (git-version "1.5.7" revision commit))
2659 (source
2660 (origin
2661 (method git-fetch)
2662 (uri (git-reference
2663 (url "http://git.kpe.io/puri.git")
2664 (commit commit)))
2665 (file-name (git-file-name "puri" version))
2666 (sha256
2667 (base32 "0gq2rsr0aihs0z20v4zqvmdl4szq53b52rh97pvnmwrlbn4mapmd"))))
2668 (build-system asdf-build-system/sbcl)
2669 (native-inputs
2670 `(("ptester" ,sbcl-ptester)))
2671 (home-page "http://puri.kpe.io/")
2672 (synopsis "Portable URI Library")
2673 (description
2674 "This is a portable Universal Resource Identifier library for Common
2675 Lisp programs. It parses URI according to the RFC 2396 specification.")
2676 (license license:llgpl))))
2677
2678 (define-public cl-puri
2679 (sbcl-package->cl-source-package sbcl-puri))
2680
2681 (define-public ecl-puri
2682 (sbcl-package->ecl-package sbcl-puri))
2683
2684 (define-public sbcl-qmynd
2685 (let ((commit "7e56daf73f0ed5f49a931c01af75fb874bcf3445")
2686 (revision "1"))
2687 (package
2688 (name "sbcl-qmynd")
2689 (version (git-version "1.0.0" revision commit))
2690 (source
2691 (origin
2692 (method git-fetch)
2693 (uri (git-reference
2694 (url "https://github.com/qitab/qmynd")
2695 (commit commit)))
2696 (file-name (git-file-name name version))
2697 (sha256
2698 (base32
2699 "06gw5wxcpdclb6a5i5k9lbmdlyqsp182czrm9bm1cpklzbj0ihrl"))))
2700 (build-system asdf-build-system/sbcl)
2701 (inputs
2702 `(("asdf-finalizers" ,sbcl-asdf-finalizers)
2703 ("babel" ,sbcl-babel)
2704 ("chipz" ,sbcl-chipz)
2705 ("cl+ssl" ,sbcl-cl+ssl)
2706 ("flexi-streams" ,sbcl-flexi-streams)
2707 ("ironclad" ,sbcl-ironclad)
2708 ("salza2" ,sbcl-salza2)
2709 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
2710 ("usocket" ,sbcl-usocket)))
2711 (home-page "https://github.com/qitab/qmynd")
2712 (synopsis "QITAB MySQL Native Driver for Common Lisp")
2713 (description "QMyND, the QITAB MySQL Native Driver, is a MySQL client
2714 library that directly talks to a MySQL server in its native network protocol.
2715
2716 It's a part of QITAB umbrella project.")
2717 (license license:expat))))
2718
2719 (define-public ecl-qmynd
2720 (sbcl-package->ecl-package sbcl-qmynd))
2721
2722 (define-public cl-qmynd
2723 (sbcl-package->cl-source-package sbcl-qmynd))
2724
2725 (define-public sbcl-queues
2726 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2727 (package
2728 (name "sbcl-queues")
2729 (version (git-version "0.0.0" "1" commit))
2730 (source
2731 (origin
2732 (method git-fetch)
2733 (uri (git-reference
2734 (url "https://github.com/oconnore/queues")
2735 (commit commit)))
2736 (file-name (git-file-name "queues" version))
2737 (sha256
2738 (base32
2739 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2740 (build-system asdf-build-system/sbcl)
2741 (inputs
2742 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
2743 (arguments
2744 '(#:asd-systems '("queues"
2745 "queues.simple-queue"
2746 "queues.simple-cqueue"
2747 "queues.priority-queue"
2748 "queues.priority-cqueue")))
2749 (home-page "https://github.com/oconnore/queues")
2750 (synopsis "Common Lisp queue library")
2751 (description
2752 "This is a simple queue library for Common Lisp with features such as
2753 non-consing thread safe queues and fibonacci priority queues.")
2754 (license license:expat))))
2755
2756 (define-public cl-queues
2757 (sbcl-package->cl-source-package sbcl-queues))
2758
2759 (define-public ecl-queues
2760 (sbcl-package->ecl-package sbcl-queues))
2761
2762 (define-public sbcl-glsl-packing
2763 (let ((commit "03628159468a8e5b7f2a1d5e78b77053e136794a")
2764 (revision "1"))
2765 (package
2766 (name "sbcl-glsl-packing")
2767 (version (git-version "0.0.0" revision commit))
2768 (source
2769 (origin
2770 (method git-fetch)
2771 (uri (git-reference
2772 (url "https://github.com/3b/glsl-packing/")
2773 (commit commit)))
2774 (file-name (git-file-name "glsl-packing" version))
2775 (sha256
2776 (base32 "0k2f1771wd9kdrcasldy1r00k5bdgi9fd07in52zmjggc0i7dd80"))))
2777 (build-system asdf-build-system/sbcl)
2778 (inputs
2779 `(("alexandria" ,sbcl-alexandria)))
2780 (home-page "https://github.com/3b/glsl-packing/")
2781 (synopsis "Common Lisp utilities to calculate OpenGL layouts")
2782 (description
2783 "This is a Common Lisp library to calculate std140 or std430 layouts for
2784 a glsl UBO/SSBO.")
2785 (license license:expat))))
2786
2787 (define-public ecl-glsl-packing
2788 (sbcl-package->ecl-package sbcl-glsl-packing))
2789
2790 (define-public cl-glsl-packing
2791 (sbcl-package->cl-source-package sbcl-glsl-packing))
2792
2793 (define-public sbcl-glsl-spec
2794 (let ((commit "f04476f7da89355ae6856b33283c60ba95c6555d")
2795 (revision "1"))
2796 (package
2797 (name "sbcl-glsl-spec")
2798 (version (git-version "0.0.0" revision commit))
2799 (source
2800 (origin
2801 (method git-fetch)
2802 (uri (git-reference
2803 (url "https://github.com/cbaggers/glsl-spec")
2804 (commit commit)))
2805 (file-name (git-file-name "glsl-spec" version))
2806 (sha256
2807 (base32 "01ipspr22fgfj3w8wq2y81lzrjc4vpfiwnr3dqhjlpzzra46am8c"))))
2808 (build-system asdf-build-system/sbcl)
2809 (arguments
2810 `(#:asd-systems '("glsl-spec" "glsl-symbols" "glsl-docs")))
2811 (home-page "https://github.com/cbaggers/glsl-spec")
2812 (synopsis "Common Lisp GLSL specification as a datastructure")
2813 (description
2814 "This package contains the specification of all functions and variables
2815 from GLSL as data.")
2816 (license license:unlicense))))
2817
2818 (define-public ecl-glsl-spec
2819 (sbcl-package->ecl-package sbcl-glsl-spec))
2820
2821 (define-public cl-glsl-spec
2822 (sbcl-package->cl-source-package sbcl-glsl-spec))
2823
2824 (define-public sbcl-varjo
2825 (let ((commit "9e77f30220053155d2ef8870ceba157f75e538d4")
2826 (revision "1"))
2827 (package
2828 (name "sbcl-varjo")
2829 (version (git-version "0.0.0" revision commit))
2830 (source
2831 (origin
2832 (method git-fetch)
2833 (uri (git-reference
2834 (url "https://github.com/cbaggers/varjo")
2835 (commit commit)))
2836 (file-name (git-file-name "varjo" version))
2837 (sha256
2838 (base32 "1p9x1wj576x5d31yvls9r1avkjkyhri7kyxbjfkg9z93a1w18j9z"))))
2839 (build-system asdf-build-system/sbcl)
2840 (native-inputs
2841 `(("fiveam" ,sbcl-fiveam)))
2842 (inputs
2843 `(("alexandria" ,sbcl-alexandria)
2844 ("cl-ppcre" ,sbcl-cl-ppcre)
2845 ("documentation-utils" ,sbcl-documentation-utils)
2846 ("fn" ,sbcl-fn)
2847 ("glsl-spec" ,sbcl-glsl-spec)
2848 ("named-readtables" ,sbcl-named-readtables)
2849 ("parse-float" ,sbcl-parse-float)
2850 ("vas-string-metrics" ,sbcl-vas-string-metrics)))
2851 (home-page "https://github.com/cbaggers/varjo")
2852 (synopsis "Lisp to GLSL Language Translator")
2853 (description
2854 "Varjo is a Lisp to GLSL compiler. Vari is the dialect of lisp Varjo
2855 compiles. It aims to be as close to Common Lisp as possible, but naturally it
2856 is statically typed so there are differences.")
2857 (license license:bsd-2))))
2858
2859 (define-public ecl-varjo
2860 (sbcl-package->ecl-package sbcl-varjo))
2861
2862 (define-public cl-varjo
2863 (sbcl-package->cl-source-package sbcl-varjo))
2864
2865 (define-public sbcl-cffi
2866 (package
2867 (name "sbcl-cffi")
2868 (version "0.23.0")
2869 (source
2870 (origin
2871 (method git-fetch)
2872 (uri (git-reference
2873 (url "https://github.com/cffi/cffi")
2874 (commit (string-append "v" version))))
2875 (file-name (git-file-name "cffi-bootstrap" version))
2876 (sha256
2877 (base32 "03s98imc5niwnpj3hhrafl7dmxq45g74h96sm68976k7ahi3vl5b"))))
2878 (build-system asdf-build-system/sbcl)
2879 (inputs
2880 `(("alexandria" ,sbcl-alexandria)
2881 ("babel" ,sbcl-babel)
2882 ("libffi" ,libffi)
2883 ("trivial-features" ,sbcl-trivial-features)))
2884 (native-inputs
2885 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2886 ("pkg-config" ,pkg-config)
2887 ("rt" ,sbcl-rt)))
2888 (arguments
2889 '(#:phases
2890 (modify-phases %standard-phases
2891 (add-after 'unpack 'fix-arm-support
2892 (lambda _
2893 ;; This is apparently deprecated since libffi-3.3.
2894 (substitute* "libffi/libffi-types.lisp"
2895 (("\\\(\\\(:unix64.*") ")\n"))
2896 #t))
2897 (add-after 'unpack 'fix-paths
2898 (lambda* (#:key inputs #:allow-other-keys)
2899 (substitute* "libffi/libffi.lisp"
2900 (("libffi.so.7" all) (string-append
2901 (assoc-ref inputs "libffi")
2902 "/lib/" all)))
2903 (substitute* "toolchain/c-toolchain.lisp"
2904 (("\"cc\"") (format #f "~S" (which "gcc"))))))
2905 (add-after 'build 'install-headers
2906 (lambda* (#:key outputs #:allow-other-keys)
2907 (install-file "grovel/common.h"
2908 (string-append
2909 (assoc-ref outputs "out")
2910 "/include/grovel")))))
2911 #:asd-files '("cffi.asd"
2912 "cffi-toolchain.asd"
2913 "cffi-grovel.asd"
2914 "cffi-libffi.asd"
2915 "cffi-uffi-compat.asd")
2916 #:asd-systems '("cffi"
2917 "cffi-libffi"
2918 "cffi-uffi-compat")))
2919 (home-page "https://common-lisp.net/project/cffi/")
2920 (synopsis "Common Foreign Function Interface for Common Lisp")
2921 (description "The Common Foreign Function Interface (CFFI)
2922 purports to be a portable foreign function interface for Common Lisp.
2923 The CFFI library is composed of a Lisp-implementation-specific backend
2924 in the CFFI-SYS package, and a portable frontend in the CFFI
2925 package.")
2926 (license license:expat)))
2927
2928 (define-public cl-cffi
2929 (sbcl-package->cl-source-package sbcl-cffi))
2930
2931 (define-public ecl-cffi
2932 (sbcl-package->ecl-package sbcl-cffi))
2933
2934 (define-public sbcl-cffi-c-ref
2935 (let ((commit "8123cbb6034c5f7921a0766107cfb8c4e8efd5ce")
2936 (revision "0"))
2937 (package
2938 (name "sbcl-cffi-c-ref")
2939 (version (git-version "1.0" revision commit))
2940 (source
2941 (origin
2942 (method git-fetch)
2943 (uri (git-reference
2944 (url "https://github.com/borodust/cffi-c-ref")
2945 (commit commit)))
2946 (sha256
2947 (base32 "1a3pp6xcisabqir3rp1gvvjfdxcvpm8yr35p38nri9azsinmmc7z"))
2948 (file-name (git-file-name "cffi-c-ref" version))))
2949 (build-system asdf-build-system/sbcl)
2950 (inputs
2951 `(("alexandria" ,sbcl-alexandria)
2952 ("cffi" ,sbcl-cffi)))
2953 (synopsis "Streamlined access to foreign memory")
2954 (description
2955 "This Common Lisp library provides macros to access foreign memory.")
2956 (home-page "https://github.com/borodust/cffi-c-ref")
2957 (license license:expat))))
2958
2959 (define-public cl-cffi-c-ref
2960 (sbcl-package->cl-source-package sbcl-cffi-c-ref))
2961
2962 (define-public ecl-cffi-c-ref
2963 (sbcl-package->ecl-package sbcl-cffi-c-ref))
2964
2965 (define-public sbcl-cl-sqlite
2966 (package
2967 (name "sbcl-cl-sqlite")
2968 (version "0.2.1")
2969 (source
2970 (origin
2971 (method git-fetch)
2972 (uri (git-reference
2973 (url "https://github.com/dmitryvk/cl-sqlite")
2974 (commit version)))
2975 (file-name (git-file-name "cl-sqlite" version))
2976 (sha256
2977 (base32
2978 "08iv7b4m0hh7qx2cvq4f510nrgdld0vicnvmqsh9w0fgrcgmyg4k"))))
2979 (build-system asdf-build-system/sbcl)
2980 (inputs
2981 `(("iterate" ,sbcl-iterate)
2982 ("cffi" ,sbcl-cffi)
2983 ("sqlite" ,sqlite)))
2984 (native-inputs
2985 `(("fiveam" ,sbcl-fiveam)
2986 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2987 (arguments
2988 `(#:asd-systems '("sqlite")
2989 #:phases
2990 (modify-phases %standard-phases
2991 (add-after 'unpack 'fix-paths
2992 (lambda* (#:key inputs #:allow-other-keys)
2993 (substitute* "sqlite-ffi.lisp"
2994 (("libsqlite3" all) (string-append
2995 (assoc-ref inputs "sqlite")"/lib/" all))))))))
2996 (home-page "https://common-lisp.net/project/cl-sqlite/")
2997 (synopsis "Common Lisp binding for SQLite")
2998 (description
2999 "The @command{cl-sqlite} package is an interface to the SQLite embedded
3000 relational database engine.")
3001 (license license:public-domain)))
3002
3003 (define-public cl-sqlite
3004 (sbcl-package->cl-source-package sbcl-cl-sqlite))
3005
3006 (define-public ecl-cl-sqlite
3007 (sbcl-package->ecl-package sbcl-cl-sqlite))
3008
3009 (define-public sbcl-parenscript
3010 ;; Source archives are overwritten on every release, we use the Git repo instead.
3011 (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766"))
3012 (package
3013 (name "sbcl-parenscript")
3014 (version (git-version "2.7.1" "1" commit))
3015 (source
3016 (origin
3017 (method git-fetch)
3018 (uri (git-reference
3019 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
3020 (commit commit)))
3021 (file-name (git-file-name "parenscript" version))
3022 (sha256
3023 (base32
3024 "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf"))))
3025 (build-system asdf-build-system/sbcl)
3026 (inputs
3027 `(("cl-ppcre" ,sbcl-cl-ppcre)
3028 ("anaphora" ,sbcl-anaphora)
3029 ("named-readtables" ,sbcl-named-readtables)))
3030 (home-page "https://common-lisp.net/project/parenscript/")
3031 (synopsis "Translator from a subset of Common Lisp to JavaScript")
3032 (description
3033 "Parenscript is a translator from an extended subset of Common Lisp to
3034 JavaScript. Parenscript code can run almost identically on both the
3035 browser (as JavaScript) and server (as Common Lisp).
3036
3037 Parenscript code is treated the same way as Common Lisp code, making the full
3038 power of Lisp macros available for JavaScript. This provides a web
3039 development environment that is unmatched in its ability to reduce code
3040 duplication and provide advanced meta-programming facilities to web
3041 developers.
3042
3043 At the same time, Parenscript is different from almost all other \"language
3044 X\" to JavaScript translators in that it imposes almost no overhead:
3045
3046 @itemize
3047 @item No run-time dependencies: Any piece of Parenscript code is runnable
3048 as-is. There are no JavaScript files to include.
3049 @item Native types: Parenscript works entirely with native JavaScript data
3050 types. There are no new types introduced, and object prototypes are not
3051 touched.
3052 @item Native calling convention: Any JavaScript code can be called without the
3053 need for bindings. Likewise, Parenscript can be used to make efficient,
3054 self-contained JavaScript libraries.
3055 @item Readable code: Parenscript generates concise, formatted, idiomatic
3056 JavaScript code. Identifier names are preserved. This enables seamless
3057 debugging in tools like Firebug.
3058 @item Efficiency: Parenscript introduces minimal overhead for advanced Common
3059 Lisp features. The generated code is almost as fast as hand-written
3060 JavaScript.
3061 @end itemize\n")
3062 (license license:bsd-3))))
3063
3064 (define-public cl-parenscript
3065 (sbcl-package->cl-source-package sbcl-parenscript))
3066
3067 (define-public ecl-parenscript
3068 (sbcl-package->ecl-package sbcl-parenscript))
3069
3070 (define-public sbcl-cl-json
3071 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
3072 (package
3073 (name "sbcl-cl-json")
3074 (version (git-version "0.5" "1" commit))
3075 (source
3076 (origin
3077 (method git-fetch)
3078 (uri (git-reference
3079 (url "https://github.com/hankhero/cl-json")
3080 (commit commit)))
3081 (file-name (git-file-name "cl-json" version))
3082 (sha256
3083 (base32
3084 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
3085 (build-system asdf-build-system/sbcl)
3086 (native-inputs
3087 `(("fiveam" ,sbcl-fiveam)))
3088 (home-page "https://github.com/hankhero/cl-json")
3089 (synopsis "JSON encoder and decoder for Common-Lisp")
3090 (description
3091 "@command{cl-json} provides an encoder of Lisp objects to JSON format
3092 and a corresponding decoder of JSON data to Lisp objects. Both the encoder
3093 and the decoder are highly customizable; at the same time, the default
3094 settings ensure a very simple mode of operation, similar to that provided by
3095 @command{yason} or @command{st-json}.")
3096 (license license:expat))))
3097
3098 (define-public cl-json
3099 (sbcl-package->cl-source-package sbcl-cl-json))
3100
3101 (define-public ecl-cl-json
3102 (sbcl-package->ecl-package sbcl-cl-json))
3103
3104 (define-public sbcl-unix-opts
3105 (package
3106 (name "sbcl-unix-opts")
3107 (version "0.1.7")
3108 (source
3109 (origin
3110 (method git-fetch)
3111 (uri (git-reference
3112 (url "https://github.com/libre-man/unix-opts")
3113 (commit version)))
3114 (file-name (git-file-name "unix-opts" version))
3115 (sha256
3116 (base32
3117 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
3118 (build-system asdf-build-system/sbcl)
3119 (home-page "https://github.com/hankhero/cl-json")
3120 (synopsis "Unix-style command line options parser")
3121 (description
3122 "This is a minimalistic parser of command line options. The main
3123 advantage of the library is the ability to concisely define command line
3124 options once and then use this definition for parsing and extraction of
3125 command line arguments, as well as printing description of command line
3126 options (you get --help for free). This way you don't need to repeat
3127 yourself. Also, @command{unix-opts} doesn't depend on anything and
3128 precisely controls the behavior of the parser via Common Lisp restarts.")
3129 (license license:expat)))
3130
3131 (define-public cl-unix-opts
3132 (sbcl-package->cl-source-package sbcl-unix-opts))
3133
3134 (define-public ecl-unix-opts
3135 (sbcl-package->ecl-package sbcl-unix-opts))
3136
3137 (define-public sbcl-trivial-garbage
3138 (package
3139 (name "sbcl-trivial-garbage")
3140 (version "0.21")
3141 (source
3142 (origin
3143 (method git-fetch)
3144 (uri (git-reference
3145 (url "https://github.com/trivial-garbage/trivial-garbage")
3146 (commit (string-append "v" version))))
3147 (file-name (git-file-name "trivial-garbage" version))
3148 (sha256
3149 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
3150 (build-system asdf-build-system/sbcl)
3151 (native-inputs
3152 `(("rt" ,sbcl-rt)))
3153 (home-page "https://common-lisp.net/project/trivial-garbage/")
3154 (synopsis "Portable GC-related APIs for Common Lisp")
3155 (description "@command{trivial-garbage} provides a portable API to
3156 finalizers, weak hash-tables and weak pointers on all major implementations of
3157 the Common Lisp programming language.")
3158 (license license:public-domain)))
3159
3160 (define-public cl-trivial-garbage
3161 (sbcl-package->cl-source-package sbcl-trivial-garbage))
3162
3163 (define-public ecl-trivial-garbage
3164 (sbcl-package->ecl-package sbcl-trivial-garbage))
3165
3166 (define-public sbcl-closer-mop
3167 (let ((commit "19c9d33f576e10715fd79cc1d4f688dab0f241d6"))
3168 (package
3169 (name "sbcl-closer-mop")
3170 (version (git-version "1.0.0" "2" commit))
3171 (source
3172 (origin
3173 (method git-fetch)
3174 (uri (git-reference
3175 (url "https://github.com/pcostanza/closer-mop")
3176 (commit commit)))
3177 (sha256
3178 (base32 "1w3x087wvlwkd6swfdgbvjfs6kazf0la8ax4pjfzikwjch4snn2c"))
3179 (file-name (git-file-name "closer-mop" version ))))
3180 (build-system asdf-build-system/sbcl)
3181 (home-page "https://github.com/pcostanza/closer-mop")
3182 (synopsis "Rectifies absent or incorrect CLOS MOP features")
3183 (description "Closer to MOP is a compatibility layer that rectifies many
3184 of the absent or incorrect CLOS MOP features across a broad range of Common
3185 Lisp implementations.")
3186 (license license:expat))))
3187
3188 (define-public cl-closer-mop
3189 (sbcl-package->cl-source-package sbcl-closer-mop))
3190
3191 (define-public ecl-closer-mop
3192 (sbcl-package->ecl-package sbcl-closer-mop))
3193
3194 (define-public sbcl-cl-cffi-gtk
3195 (let ((commit "e9a46df65995d9a16e6c8dbdc1e09b775eb4a966"))
3196 (package
3197 (name "sbcl-cl-cffi-gtk")
3198 (version (git-version "0.11.2" "2" commit))
3199 (source
3200 (origin
3201 (method git-fetch)
3202 (uri (git-reference
3203 (url "https://github.com/Ferada/cl-cffi-gtk/")
3204 (commit commit)))
3205 (file-name (git-file-name "cl-cffi-gtk" version))
3206 (sha256
3207 (base32
3208 "04vix0gmqsj91lm975sx7jhlnz5gq1xf9jp873mp7c8frc5dk1jj"))))
3209 (build-system asdf-build-system/sbcl)
3210 (native-inputs
3211 `(("fiveam" ,sbcl-fiveam)))
3212 (inputs
3213 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3214 ("cairo" ,cairo)
3215 ("cffi" ,sbcl-cffi)
3216 ("closer-mop" ,sbcl-closer-mop)
3217 ("gdk-pixbuf" ,gdk-pixbuf)
3218 ("glib" ,glib)
3219 ("gtk" ,gtk+)
3220 ("iterate" ,sbcl-iterate)
3221 ("pango" ,pango)
3222 ("trivial-features" ,sbcl-trivial-features)
3223 ("trivial-garbage" ,sbcl-trivial-garbage)))
3224 (arguments
3225 `(#:asd-files '("gtk/cl-cffi-gtk.asd"
3226 "glib/cl-cffi-gtk-glib.asd"
3227 "gobject/cl-cffi-gtk-gobject.asd"
3228 "gio/cl-cffi-gtk-gio.asd"
3229 "cairo/cl-cffi-gtk-cairo.asd"
3230 "pango/cl-cffi-gtk-pango.asd"
3231 "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
3232 "gdk/cl-cffi-gtk-gdk.asd")
3233 #:test-asd-file "test/cl-cffi-gtk-test.asd"
3234 ;; TODO: Tests fail with memory fault.
3235 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
3236 #:tests? #f
3237 #:phases
3238 (modify-phases %standard-phases
3239 (add-after 'unpack 'fix-paths
3240 (lambda* (#:key inputs #:allow-other-keys)
3241 (substitute* "glib/glib.init.lisp"
3242 (("libglib|libgthread" all)
3243 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3244 (substitute* "gobject/gobject.init.lisp"
3245 (("libgobject" all)
3246 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3247 (substitute* "gio/gio.init.lisp"
3248 (("libgio" all)
3249 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3250 (substitute* "cairo/cairo.init.lisp"
3251 (("libcairo" all)
3252 (string-append (assoc-ref inputs "cairo") "/lib/" all)))
3253 (substitute* "pango/pango.init.lisp"
3254 (("libpango" all)
3255 (string-append (assoc-ref inputs "pango") "/lib/" all)))
3256 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
3257 (("libgdk_pixbuf" all)
3258 (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))
3259 (substitute* "gdk/gdk.init.lisp"
3260 (("libgdk" all)
3261 (string-append (assoc-ref inputs "gtk") "/lib/" all)))
3262 (substitute* "gdk/gdk.package.lisp"
3263 (("libgtk" all)
3264 (string-append (assoc-ref inputs "gtk") "/lib/" all))))))))
3265 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
3266 (synopsis "Common Lisp binding for GTK+3")
3267 (description
3268 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
3269 is a library for creating graphical user interfaces.")
3270 (license license:lgpl3))))
3271
3272 (define-public cl-cffi-gtk
3273 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
3274
3275 (define-public ecl-cl-cffi-gtk
3276 (sbcl-package->ecl-package sbcl-cl-cffi-gtk))
3277
3278 (define-public sbcl-cl-webkit
3279 (let ((commit "0bc05cc73257670ab241853b9cc9ccb68940fe44"))
3280 (package
3281 (name "sbcl-cl-webkit")
3282 (version (git-version "2.4" "10" commit))
3283 (source
3284 (origin
3285 (method git-fetch)
3286 (uri (git-reference
3287 (url "https://github.com/joachifm/cl-webkit")
3288 (commit commit)))
3289 (file-name (git-file-name "cl-webkit" version))
3290 (sha256
3291 (base32
3292 "1kg6illspvb5647pm0x819ag2n7njnqvrm18jzgd28vk6nlkrcmq"))))
3293 (build-system asdf-build-system/sbcl)
3294 (inputs
3295 `(("cffi" ,sbcl-cffi)
3296 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3297 ("webkitgtk" ,webkitgtk)))
3298 (arguments
3299 `(#:asd-systems '("cl-webkit2")
3300 #:phases
3301 (modify-phases %standard-phases
3302 (add-after 'unpack 'fix-paths
3303 (lambda* (#:key inputs #:allow-other-keys)
3304 (substitute* "webkit2/webkit2.init.lisp"
3305 (("libwebkit2gtk" all)
3306 (string-append
3307 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
3308 (home-page "https://github.com/joachifm/cl-webkit")
3309 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3310 (description
3311 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3312 currently targeting WebKit version 2. The WebKitGTK+ library adds web
3313 browsing capabilities to an application, leveraging the full power of the
3314 WebKit browsing engine.")
3315 (license license:expat))))
3316
3317 (define-public cl-webkit
3318 (sbcl-package->cl-source-package sbcl-cl-webkit))
3319
3320 (define-public ecl-cl-webkit
3321 (sbcl-package->ecl-package sbcl-cl-webkit))
3322
3323 (define-public sbcl-lparallel
3324 (package
3325 (name "sbcl-lparallel")
3326 (version "2.8.4")
3327 (source
3328 (origin
3329 (method git-fetch)
3330 (uri (git-reference
3331 (url "https://github.com/lmj/lparallel/")
3332 (commit (string-append "lparallel-" version))))
3333 (file-name (git-file-name "lparallel" version))
3334 (sha256
3335 (base32
3336 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3337 (build-system asdf-build-system/sbcl)
3338 (inputs
3339 `(("alexandria" ,sbcl-alexandria)
3340 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3341 ("trivial-garbage" ,sbcl-trivial-garbage)))
3342 (arguments
3343 `(#:phases
3344 (modify-phases %standard-phases
3345 (add-after 'unpack 'fix-dependency
3346 ;; lparallel loads a SBCL specific system in its asd file. This is
3347 ;; not carried over into the fasl which is generated. In order for
3348 ;; it to be carried over, it needs to be listed as a dependency.
3349 (lambda _
3350 (substitute* "lparallel.asd"
3351 ((":depends-on \\(:alexandria" all)
3352 (string-append all " #+sbcl :sb-cltl2"))))))))
3353 (home-page "https://lparallel.org/")
3354 (synopsis "Parallelism for Common Lisp")
3355 (description
3356 "@command{lparallel} is a library for parallel programming in Common
3357 Lisp, featuring:
3358
3359 @itemize
3360 @item a simple model of task submission with receiving queue,
3361 @item constructs for expressing fine-grained parallelism,
3362 @item asynchronous condition handling across thread boundaries,
3363 @item parallel versions of map, reduce, sort, remove, and many others,
3364 @item promises, futures, and delayed evaluation constructs,
3365 @item computation trees for parallelizing interconnected tasks,
3366 @item bounded and unbounded FIFO queues,
3367 @item high and low priority tasks,
3368 @item task killing by category,
3369 @item integrated timeouts.
3370 @end itemize\n")
3371 (license license:expat)))
3372
3373 (define-public cl-lparallel
3374 (sbcl-package->cl-source-package sbcl-lparallel))
3375
3376 (define-public ecl-lparallel
3377 (package
3378 (inherit (sbcl-package->ecl-package sbcl-lparallel))
3379 (arguments
3380 ;; TODO: Find why the tests get stuck forever; disable them for now.
3381 `(#:tests? #f))))
3382
3383 (define-public sbcl-cl-markup
3384 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3385 (package
3386 (name "sbcl-cl-markup")
3387 (version (git-version "0.1" "1" commit))
3388 (source
3389 (origin
3390 (method git-fetch)
3391 (uri (git-reference
3392 (url "https://github.com/arielnetworks/cl-markup/")
3393 (commit commit)))
3394 (file-name (git-file-name "cl-markup" version))
3395 (sha256
3396 (base32
3397 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3398 (build-system asdf-build-system/sbcl)
3399 (home-page "https://github.com/arielnetworks/cl-markup/")
3400 (synopsis "Markup generation library for Common Lisp")
3401 (description
3402 "A modern markup generation library for Common Lisp that features:
3403
3404 @itemize
3405 @item Fast (even faster through compiling the code)
3406 @item Safety
3407 @item Support for multiple document types (markup, xml, html, html5, xhtml)
3408 @item Output with doctype
3409 @item Direct output to stream
3410 @end itemize\n")
3411 (license license:lgpl3+))))
3412
3413 (define-public cl-markup
3414 (sbcl-package->cl-source-package sbcl-cl-markup))
3415
3416 (define-public ecl-cl-markup
3417 (sbcl-package->ecl-package sbcl-cl-markup))
3418
3419 (define-public sbcl-cl-mustache
3420 (package
3421 (name "sbcl-cl-mustache")
3422 (version "0.12.1")
3423 (source
3424 (origin
3425 (method git-fetch)
3426 (uri (git-reference
3427 (url "https://github.com/kanru/cl-mustache")
3428 (commit (string-append "v" version))))
3429 (file-name (git-file-name "cl-mustache" version))
3430 (sha256
3431 (base32 "149xbb6wxq1napliwm9cv729hwcgfnjli6y8hingfixz7f10lhks"))))
3432 (build-system asdf-build-system/sbcl)
3433 (home-page "https://github.com/kanru/cl-mustache")
3434 (synopsis "Common Lisp Mustache template renderer")
3435 (description "This is a Common Lisp implementation for the Mustache
3436 template system. More details on the standard are available at
3437 @url{https://mustache.github.io}.")
3438 (license license:expat)))
3439
3440 (define-public cl-mustache
3441 (sbcl-package->cl-source-package sbcl-cl-mustache))
3442
3443 (define-public ecl-cl-mustache
3444 (sbcl-package->ecl-package sbcl-cl-mustache))
3445
3446 (define-public sbcl-cl-css
3447 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3448 (package
3449 (name "sbcl-cl-css")
3450 (version (git-version "0.1" "1" commit))
3451 (source
3452 (origin
3453 (method git-fetch)
3454 (uri (git-reference
3455 (url "https://github.com/inaimathi/cl-css/")
3456 (commit commit)))
3457 (file-name (git-file-name "cl-css" version))
3458 (sha256
3459 (base32
3460 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3461 (build-system asdf-build-system/sbcl)
3462 (home-page "https://github.com/inaimathi/cl-css/")
3463 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3464 (description
3465 "This is a dead-simple, non validating, inline CSS generator for Common
3466 Lisp. Its goals are axiomatic syntax, simple implementation to support
3467 portability, and boilerplate reduction in CSS.")
3468 (license license:expat))))
3469
3470 (define-public cl-css
3471 (sbcl-package->cl-source-package sbcl-cl-css))
3472
3473 (define-public ecl-cl-css
3474 (sbcl-package->ecl-package sbcl-cl-css))
3475
3476 (define-public sbcl-portable-threads
3477 (let ((commit "aa26bf38338a6b068bf8bfb3375d8d8c3b0a28df"))
3478 (package
3479 (name "sbcl-portable-threads")
3480 (version (git-version "2.3" "2" commit))
3481 (source
3482 (origin
3483 (method git-fetch)
3484 (uri (git-reference
3485 (url "https://github.com/binghe/portable-threads/")
3486 (commit commit)))
3487 (file-name (git-file-name "portable-threads" version))
3488 (sha256
3489 (base32 "058ksi07vfdmhrf5mdlc833s82m1rcqfja2266520m3r8bzs8bvs"))))
3490 (build-system asdf-build-system/sbcl)
3491 (arguments
3492 `(;; Tests seem broken.
3493 #:tests? #f))
3494 (home-page "https://github.com/binghe/portable-threads")
3495 (synopsis "Portable threads API for Common Lisp")
3496 (description
3497 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3498 Lisp (from GBBopen project).")
3499 (license license:asl2.0))))
3500
3501 (define-public cl-portable-threads
3502 (sbcl-package->cl-source-package sbcl-portable-threads))
3503
3504 (define-public ecl-portable-threads
3505 (sbcl-package->ecl-package sbcl-portable-threads))
3506
3507 (define-public sbcl-usocket
3508 (package
3509 (name "sbcl-usocket")
3510 (version "0.8.3")
3511 (source
3512 (origin
3513 (method git-fetch)
3514 (uri (git-reference
3515 (url "https://github.com/usocket/usocket/")
3516 (commit (string-append "v" version))))
3517 (file-name (git-file-name "usocket" version))
3518 (sha256
3519 (base32
3520 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3521 (build-system asdf-build-system/sbcl)
3522 (native-inputs
3523 `(("rt" ,sbcl-rt)))
3524 (inputs
3525 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3526 ("split-sequence" ,sbcl-split-sequence)))
3527 (arguments
3528 `(#:tests? #f ; FIXME: Tests need network access?
3529 #:asd-systems '("usocket"
3530 "usocket-server")))
3531 (home-page "https://common-lisp.net/project/usocket/")
3532 (synopsis "Universal socket library for Common Lisp")
3533 (description
3534 "This library strives to provide a portable TCP/IP and UDP/IP socket
3535 interface for as many Common Lisp implementations as possible, while keeping
3536 the abstraction and portability layer as thin as possible.")
3537 (license license:expat)))
3538
3539 (define-public cl-usocket
3540 (sbcl-package->cl-source-package sbcl-usocket))
3541
3542 (define-public ecl-usocket
3543 (sbcl-package->ecl-package sbcl-usocket))
3544
3545 (define-public sbcl-s-xml
3546 (package
3547 (name "sbcl-s-xml")
3548 (version "3")
3549 (source
3550 (origin
3551 (method url-fetch)
3552 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3553 (sha256
3554 (base32
3555 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3556 (build-system asdf-build-system/sbcl)
3557 (home-page "https://common-lisp.net/project/s-xml/")
3558 (synopsis "Simple XML parser implemented in Common Lisp")
3559 (description
3560 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3561 parser implementation has the following features:
3562
3563 @itemize
3564 @item It works (handling many common XML usages).
3565 @item It is very small (the core is about 700 lines of code, including
3566 comments and whitespace).
3567 @item It has a core API that is simple, efficient and pure functional, much
3568 like that from SSAX (see also http://ssax.sourceforge.net).
3569 @item It supports different DOM models: an XSML-based one, an LXML-based one
3570 and a classic xml-element struct based one.
3571 @item It is reasonably time and space efficient (internally avoiding garbage
3572 generatation as much as possible).
3573 @item It does support CDATA.
3574 @item It should support the same character sets as your Common Lisp
3575 implementation.
3576 @item It does support XML name spaces.
3577 @end itemize
3578
3579 This XML parser implementation has the following limitations:
3580
3581 @itemize
3582 @item It does not support any special tags (like processing instructions).
3583 @item It is not validating, even skips DTD's all together.
3584 @end itemize\n")
3585 (license license:lgpl3+)))
3586
3587 (define-public cl-s-xml
3588 (sbcl-package->cl-source-package sbcl-s-xml))
3589
3590 (define-public ecl-s-xml
3591 (sbcl-package->ecl-package sbcl-s-xml))
3592
3593 (define-public sbcl-s-xml-rpc
3594 (package
3595 (name "sbcl-s-xml-rpc")
3596 (version "7")
3597 (source
3598 (origin
3599 (method url-fetch)
3600 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3601 (sha256
3602 (base32
3603 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3604 (build-system asdf-build-system/sbcl)
3605 (inputs
3606 `(("s-xml" ,sbcl-s-xml)))
3607 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3608 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3609 (description
3610 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3611 client and server.")
3612 (license license:lgpl3+)))
3613
3614 (define-public cl-s-xml-rpc
3615 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3616
3617 (define-public ecl-s-xml-rpc
3618 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3619
3620 (define-public sbcl-trivial-arguments
3621 (let ((commit "ecd84ed9cf9ef8f1e873d7409e6bd04979372aa7")
3622 (revision "1"))
3623 (package
3624 (name "sbcl-trivial-arguments")
3625 (version (git-version "1.1.0" revision commit))
3626 (source
3627 (origin
3628 (method git-fetch)
3629 (uri (git-reference
3630 (url "https://github.com/Shinmera/trivial-arguments")
3631 (commit commit)))
3632 (file-name (git-file-name "trivial-arguments" version))
3633 (sha256
3634 (base32 "02vaqfavhj8jqxnr68nnzvzshm8jbgcy6m9lvyv4daa6f7ihqf88"))))
3635 (build-system asdf-build-system/sbcl)
3636 (home-page "https://github.com/Shinmera/trivial-arguments")
3637 (synopsis "Common Lisp library to retrieve a function's lambda-list")
3638 (description
3639 "This is a simple library to retrieve the argument list of a function.")
3640 (license license:zlib))))
3641
3642 (define-public ecl-trivial-arguments
3643 (sbcl-package->ecl-package sbcl-trivial-arguments))
3644
3645 (define-public cl-trivial-arguments
3646 (sbcl-package->cl-source-package sbcl-trivial-arguments))
3647
3648 (define-public sbcl-trivial-clipboard
3649 (let ((commit "8a580cb97196be7cf096548eb1f46794cd22bb39"))
3650 (package
3651 (name "sbcl-trivial-clipboard")
3652 (version (git-version "0.0.0.0" "4" commit))
3653 (source
3654 (origin
3655 (method git-fetch)
3656 (uri (git-reference
3657 (url "https://github.com/snmsts/trivial-clipboard")
3658 (commit commit)))
3659 (file-name (git-file-name "trivial-clipboard" version))
3660 (sha256
3661 (base32
3662 "0apkgqrscylw3hhm5x2vs0z3hz6h7zd7dl5y3wr2zl8qjpvpc80k"))))
3663 (build-system asdf-build-system/sbcl)
3664 (inputs
3665 `(("xclip" ,xclip)))
3666 (native-inputs
3667 `(("fiveam" ,sbcl-fiveam)))
3668 (arguments
3669 `(#:phases
3670 (modify-phases %standard-phases
3671 (add-after 'unpack 'fix-paths
3672 (lambda* (#:key inputs #:allow-other-keys)
3673 (substitute* "src/text.lisp"
3674 (("\"xclip\"")
3675 (string-append "\"" (assoc-ref inputs "xclip") "/bin/xclip\""))))))))
3676 (home-page "https://github.com/snmsts/trivial-clipboard")
3677 (synopsis "Access system clipboard in Common Lisp")
3678 (description
3679 "@command{trivial-clipboard} gives access to the system clipboard.")
3680 (license license:expat))))
3681
3682 (define-public cl-trivial-clipboard
3683 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3684
3685 (define-public ecl-trivial-clipboard
3686 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3687
3688 (define-public sbcl-trivial-backtrace
3689 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3690 (revision "1"))
3691 (package
3692 (name "sbcl-trivial-backtrace")
3693 (version (git-version "0.0.0" revision commit))
3694 (source
3695 (origin
3696 (method git-fetch)
3697 (uri (git-reference
3698 (url "https://github.com/gwkkwg/trivial-backtrace")
3699 (commit commit)))
3700 (file-name (git-file-name "trivial-backtrace" version))
3701 (sha256
3702 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3703 (build-system asdf-build-system/sbcl)
3704 (inputs
3705 `(("sbcl-lift" ,sbcl-lift)))
3706 (arguments
3707 `(#:phases
3708 (modify-phases %standard-phases
3709 (add-after 'check 'delete-test-results
3710 (lambda* (#:key outputs #:allow-other-keys)
3711 (let ((test-results (string-append (assoc-ref outputs "out")
3712 "/share/common-lisp/"
3713 (%lisp-type)
3714 "/trivial-backtrace"
3715 "/test-results")))
3716 (when (file-exists? test-results)
3717 (delete-file-recursively test-results)))
3718 #t)))))
3719 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3720 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3721 (description
3722 "One of the many things that didn't quite get into the Common Lisp
3723 standard was how to get a Lisp to output its call stack when something has
3724 gone wrong. As such, each Lisp has developed its own notion of what to
3725 display, how to display it, and what sort of arguments can be used to
3726 customize it. @code{trivial-backtrace} is a simple solution to generating a
3727 backtrace portably.")
3728 (license license:expat))))
3729
3730 (define-public cl-trivial-backtrace
3731 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3732
3733 (define-public ecl-trivial-backtrace
3734 (sbcl-package->ecl-package sbcl-trivial-backtrace))
3735
3736 (define-public sbcl-rfc2388
3737 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3738 (revision "1"))
3739 (package
3740 (name "sbcl-rfc2388")
3741 (version (git-version "0.0.0" revision commit))
3742 (source
3743 (origin
3744 (method git-fetch)
3745 (uri (git-reference
3746 (url "https://github.com/jdz/rfc2388")
3747 (commit commit)))
3748 (file-name (git-file-name "rfc2388" version))
3749 (sha256
3750 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3751 (build-system asdf-build-system/sbcl)
3752 (home-page "https://github.com/jdz/rfc2388/")
3753 (synopsis "An implementation of RFC 2388 in Common Lisp")
3754 (description
3755 "This package contains an implementation of RFC 2388, which is used to
3756 process form data posted with HTTP POST method using enctype
3757 \"multipart/form-data\".")
3758 (license license:bsd-2))))
3759
3760 (define-public cl-rfc2388
3761 (sbcl-package->cl-source-package sbcl-rfc2388))
3762
3763 (define-public ecl-rfc2388
3764 (sbcl-package->ecl-package sbcl-rfc2388))
3765
3766 (define-public sbcl-md5
3767 (package
3768 (name "sbcl-md5")
3769 (version "2.0.4")
3770 (source
3771 (origin
3772 (method git-fetch)
3773 (uri (git-reference
3774 (url "https://github.com/pmai/md5")
3775 (commit (string-append "release-" version))))
3776 (file-name (git-file-name "md5" version))
3777 (sha256
3778 (base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
3779 (build-system asdf-build-system/sbcl)
3780 (home-page "https://github.com/pmai/md5")
3781 (synopsis
3782 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3783 (description
3784 "This package implements The MD5 Message-Digest Algorithm, as defined in
3785 RFC 1321 by R. Rivest, published April 1992.")
3786 (license license:public-domain)))
3787
3788 (define-public cl-md5
3789 (sbcl-package->cl-source-package sbcl-md5))
3790
3791 (define-public ecl-md5
3792 (package
3793 (inherit (sbcl-package->ecl-package sbcl-md5))
3794 (inputs
3795 `(("flexi-streams" ,ecl-flexi-streams)))))
3796
3797 (define-public sbcl-cl+ssl
3798 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
3799 (revision "1"))
3800 (package
3801 (name "sbcl-cl+ssl")
3802 (version (git-version "0.0.0" revision commit))
3803 (source
3804 (origin
3805 (method git-fetch)
3806 (uri (git-reference
3807 (url "https://github.com/cl-plus-ssl/cl-plus-ssl")
3808 (commit commit)))
3809 (file-name (git-file-name "cl+ssl" version))
3810 (sha256
3811 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
3812 (build-system asdf-build-system/sbcl)
3813 (arguments
3814 '(#:phases
3815 (modify-phases %standard-phases
3816 (add-after 'unpack 'fix-paths
3817 (lambda* (#:key inputs #:allow-other-keys)
3818 (substitute* "src/reload.lisp"
3819 (("libssl.so" all)
3820 (string-append
3821 (assoc-ref inputs "openssl") "/lib/" all))))))))
3822 (inputs
3823 `(("openssl" ,openssl)
3824 ("sbcl-cffi" ,sbcl-cffi)
3825 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3826 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3827 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3828 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3829 ("sbcl-alexandria" ,sbcl-alexandria)
3830 ("sbcl-trivial-features" ,sbcl-trivial-features)))
3831 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
3832 (synopsis "Common Lisp bindings to OpenSSL")
3833 (description
3834 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3835 code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3836 Development into CL+SSL was done by David Lichteblau.")
3837 (license license:expat))))
3838
3839 (define-public cl-cl+ssl
3840 (sbcl-package->cl-source-package sbcl-cl+ssl))
3841
3842 (define-public ecl-cl+ssl
3843 (sbcl-package->ecl-package sbcl-cl+ssl))
3844
3845 (define-public sbcl-kmrcl
3846 (let ((version "1.111")
3847 (commit "4a27407aad9deb607ffb8847630cde3d041ea25a")
3848 (revision "1"))
3849 (package
3850 (name "sbcl-kmrcl")
3851 (version (git-version version revision commit))
3852 (source
3853 (origin
3854 (method git-fetch)
3855 (uri (git-reference
3856 (url "http://git.kpe.io/kmrcl.git/")
3857 (commit commit)))
3858 (file-name (git-file-name name version))
3859 (sha256
3860 (base32 "06gx04mah5nc8w78s0j8628divbf1s5w7af8w7pvzb2d5mgvrbd2"))))
3861 (build-system asdf-build-system/sbcl)
3862 (inputs
3863 `(("sbcl-rt" ,sbcl-rt)))
3864 (home-page "http://files.kpe.io/kmrcl/")
3865 (synopsis "General utilities for Common Lisp programs")
3866 (description
3867 "KMRCL is a collection of utilities used by a number of Kevin
3868 Rosenberg's Common Lisp packages.")
3869 (license license:llgpl))))
3870
3871 (define-public cl-kmrcl
3872 (sbcl-package->cl-source-package sbcl-kmrcl))
3873
3874 (define-public ecl-kmrcl
3875 (sbcl-package->ecl-package sbcl-kmrcl))
3876
3877 (define-public sbcl-cl-base64
3878 ;; 3.3.4 tests are broken, upstream fixes them.
3879 (let ((commit "577683b18fd880b82274d99fc96a18a710e3987a"))
3880 (package
3881 (name "sbcl-cl-base64")
3882 (version (git-version "3.3.4" "1" commit))
3883 (source
3884 (origin
3885 (method git-fetch)
3886 (uri (git-reference
3887 (url "http://git.kpe.io/cl-base64.git/")
3888 (commit commit)))
3889 (file-name (git-file-name name version))
3890 (sha256
3891 (base32 "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj"))))
3892 (build-system asdf-build-system/sbcl)
3893 (native-inputs ; For tests.
3894 `(("sbcl-ptester" ,sbcl-ptester)
3895 ("sbcl-kmrcl" ,sbcl-kmrcl)))
3896 (home-page "http://files.kpe.io/cl-base64/")
3897 (synopsis
3898 "Common Lisp package to encode and decode base64 with URI support")
3899 (description
3900 "This package provides highly optimized base64 encoding and decoding.
3901 Besides conversion to and from strings, integer conversions are supported.
3902 Encoding with Uniform Resource Identifiers is supported by using a modified
3903 encoding table that uses only URI-compatible characters.")
3904 (license license:bsd-3))))
3905
3906 (define-public cl-base64
3907 (sbcl-package->cl-source-package sbcl-cl-base64))
3908
3909 (define-public ecl-cl-base64
3910 (sbcl-package->ecl-package sbcl-cl-base64))
3911
3912 (define-public sbcl-chunga
3913 (package
3914 (name "sbcl-chunga")
3915 (version "1.1.7")
3916 (source
3917 (origin
3918 (method git-fetch)
3919 (uri (git-reference
3920 (url "https://github.com/edicl/chunga")
3921 (commit (string-append "v" version))))
3922 (file-name (git-file-name name version))
3923 (sha256
3924 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
3925 (build-system asdf-build-system/sbcl)
3926 (inputs
3927 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3928 (home-page "https://edicl.github.io/chunga/")
3929 (synopsis "Portable chunked streams for Common Lisp")
3930 (description
3931 "Chunga implements streams capable of chunked encoding on demand as
3932 defined in RFC 2616.")
3933 (license license:bsd-2)))
3934
3935 (define-public cl-chunga
3936 (sbcl-package->cl-source-package sbcl-chunga))
3937
3938 (define-public ecl-chunga
3939 (sbcl-package->ecl-package sbcl-chunga))
3940
3941 (define-public sbcl-cl-who
3942 (let ((version "1.1.4")
3943 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
3944 (revision "1"))
3945 (package
3946 (name "sbcl-cl-who")
3947 (version (git-version version revision commit))
3948 (source
3949 (origin
3950 (method git-fetch)
3951 (uri (git-reference
3952 (url "https://github.com/edicl/cl-who")
3953 (commit commit)))
3954 (file-name (git-file-name name version))
3955 (sha256
3956 (base32
3957 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
3958 (build-system asdf-build-system/sbcl)
3959 (native-inputs
3960 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3961 (home-page "https://edicl.github.io/cl-who/")
3962 (synopsis "Yet another Lisp markup language")
3963 (description
3964 "There are plenty of Lisp Markup Languages out there - every Lisp
3965 programmer seems to write at least one during his career - and CL-WHO (where
3966 WHO means \"with-html-output\" for want of a better acronym) is probably just
3967 as good or bad as the next one.")
3968 (license license:bsd-2))))
3969
3970 (define-public cl-who
3971 (sbcl-package->cl-source-package sbcl-cl-who))
3972
3973 (define-public ecl-cl-who
3974 (sbcl-package->ecl-package sbcl-cl-who))
3975
3976 (define-public sbcl-chipz
3977 (let ((version "0.8")
3978 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
3979 (revision "1"))
3980 (package
3981 (name "sbcl-chipz")
3982 (version (git-version version revision commit))
3983 (source
3984 (origin
3985 (method git-fetch)
3986 (uri (git-reference
3987 (url "https://github.com/froydnj/chipz")
3988 (commit commit)))
3989 (file-name (git-file-name name version))
3990 (sha256
3991 (base32
3992 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
3993 (build-system asdf-build-system/sbcl)
3994 (native-inputs
3995 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3996 (home-page "http://method-combination.net/lisp/chipz/")
3997 (synopsis
3998 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
3999 data")
4000 (description
4001 "DEFLATE data, defined in RFC1951, forms the core of popular
4002 compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
4003 Chipz also provides for decompressing data in those formats as well. BZIP2 is
4004 the format used by the popular compression tool bzip2.")
4005 ;; The author describes it as "MIT-like"
4006 (license license:expat))))
4007
4008 (define-public cl-chipz
4009 (sbcl-package->cl-source-package sbcl-chipz))
4010
4011 (define-public ecl-chipz
4012 (sbcl-package->ecl-package sbcl-chipz))
4013
4014 (define-public sbcl-drakma
4015 (package
4016 (name "sbcl-drakma")
4017 (version "2.0.7")
4018 (source
4019 (origin
4020 (method git-fetch)
4021 (uri (git-reference
4022 (url "https://github.com/edicl/drakma")
4023 (commit (string-append "v" version))))
4024 (file-name (git-file-name name version))
4025 (sha256
4026 (base32
4027 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
4028 (build-system asdf-build-system/sbcl)
4029 (inputs
4030 `(("sbcl-puri" ,sbcl-puri)
4031 ("sbcl-cl-base64" ,sbcl-cl-base64)
4032 ("sbcl-chunga" ,sbcl-chunga)
4033 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4034 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4035 ("sbcl-chipz" ,sbcl-chipz)
4036 ("sbcl-usocket" ,sbcl-usocket)
4037 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
4038 (native-inputs
4039 `(("sbcl-fiveam" ,sbcl-fiveam)))
4040 (home-page "https://edicl.github.io/drakma/")
4041 (synopsis "HTTP client written in Common Lisp")
4042 (description
4043 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
4044 knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
4045 sockets, SSL, continuable uploads, file uploads, cookies, and more.")
4046 (license license:bsd-2)))
4047
4048 (define-public cl-drakma
4049 (sbcl-package->cl-source-package sbcl-drakma))
4050
4051 (define-public ecl-drakma
4052 (sbcl-package->ecl-package sbcl-drakma))
4053
4054 (define-public sbcl-hunchentoot
4055 (package
4056 (name "sbcl-hunchentoot")
4057 (version "1.2.38")
4058 (source
4059 (origin
4060 (method git-fetch)
4061 (uri (git-reference
4062 (url "https://github.com/edicl/hunchentoot")
4063 (commit (string-append "v" version))))
4064 (file-name (git-file-name "hunchentoot" version))
4065 (sha256
4066 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
4067 (build-system asdf-build-system/sbcl)
4068 (native-inputs
4069 `(("sbcl-cl-who" ,sbcl-cl-who)
4070 ("sbcl-drakma" ,sbcl-drakma)))
4071 (inputs
4072 `(("sbcl-chunga" ,sbcl-chunga)
4073 ("sbcl-cl-base64" ,sbcl-cl-base64)
4074 ("sbcl-cl-fad" ,sbcl-cl-fad)
4075 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4076 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4077 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
4078 ("sbcl-md5" ,sbcl-md5)
4079 ("sbcl-rfc2388" ,sbcl-rfc2388)
4080 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
4081 ("sbcl-usocket" ,sbcl-usocket)))
4082 (home-page "https://edicl.github.io/hunchentoot/")
4083 (synopsis "Web server written in Common Lisp")
4084 (description
4085 "Hunchentoot is a web server written in Common Lisp and at the same
4086 time a toolkit for building dynamic websites. As a stand-alone web server,
4087 Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
4088 connections (keep-alive), and SSL.")
4089 (license license:bsd-2)))
4090
4091 (define-public cl-hunchentoot
4092 (sbcl-package->cl-source-package sbcl-hunchentoot))
4093
4094 (define-public ecl-hunchentoot
4095 (package
4096 (inherit (sbcl-package->ecl-package sbcl-hunchentoot))
4097 (arguments
4098 ;; Tests fail on ECL with 'Socket error in "socket": EINVAL'.
4099 '(#:tests? #f))))
4100
4101 (define-public sbcl-trivial-types
4102 (package
4103 (name "sbcl-trivial-types")
4104 (version "0.0.1")
4105 (source
4106 (origin
4107 (method git-fetch)
4108 (uri (git-reference
4109 (url "https://github.com/m2ym/trivial-types")
4110 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
4111 (file-name (git-file-name name version))
4112 (sha256
4113 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
4114 (build-system asdf-build-system/sbcl)
4115 (home-page "https://github.com/m2ym/trivial-types")
4116 (synopsis "Trivial type definitions for Common Lisp")
4117 (description
4118 "TRIVIAL-TYPES provides missing but important type definitions such as
4119 PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
4120 (license license:llgpl)))
4121
4122 (define-public cl-trivial-types
4123 (sbcl-package->cl-source-package sbcl-trivial-types))
4124
4125 (define-public ecl-trivial-types
4126 (sbcl-package->ecl-package sbcl-trivial-types))
4127
4128 (define-public sbcl-cl-annot
4129 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
4130 (revision "1"))
4131 (package
4132 (name "sbcl-cl-annot")
4133 (version (git-version "0.0.0" revision commit))
4134 (source
4135 (origin
4136 (method git-fetch)
4137 (uri (git-reference
4138 (url "https://github.com/m2ym/cl-annot")
4139 (commit commit)))
4140 (file-name (git-file-name name version))
4141 (sha256
4142 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
4143 (build-system asdf-build-system/sbcl)
4144 (inputs
4145 `(("sbcl-alexandria" ,sbcl-alexandria)))
4146 (home-page "https://github.com/m2ym/cl-annot")
4147 (synopsis "Python-like Annotation Syntax for Common Lisp.")
4148 (description
4149 "@code{cl-annot} is an general annotation library for Common Lisp.")
4150 (license license:llgpl))))
4151
4152 (define-public cl-annot
4153 (sbcl-package->cl-source-package sbcl-cl-annot))
4154
4155 (define-public ecl-cl-annot
4156 (sbcl-package->ecl-package sbcl-cl-annot))
4157
4158 (define-public sbcl-cl-syntax
4159 (package
4160 (name "sbcl-cl-syntax")
4161 (version "0.0.3")
4162 (source
4163 (origin
4164 (method git-fetch)
4165 (uri (git-reference
4166 (url "https://github.com/m2ym/cl-syntax")
4167 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
4168 (file-name (git-file-name "cl-syntax" version))
4169 (sha256
4170 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
4171 (build-system asdf-build-system/sbcl)
4172 (inputs
4173 `(("cl-annot" ,sbcl-cl-annot)
4174 ("cl-interpol" ,sbcl-cl-interpol)
4175 ("named-readtables" ,sbcl-named-readtables)
4176 ("trivial-types" ,sbcl-trivial-types)))
4177 (arguments
4178 '(#:asd-systems '("cl-syntax"
4179 "cl-syntax-annot"
4180 "cl-syntax-interpol")))
4181 (home-page "https://github.com/m2ym/cl-syntax")
4182 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
4183 (description
4184 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
4185 (license license:llgpl)))
4186
4187 (define-public cl-syntax
4188 (sbcl-package->cl-source-package sbcl-cl-syntax))
4189
4190 (define-public ecl-cl-syntax
4191 (sbcl-package->ecl-package sbcl-cl-syntax))
4192
4193 (define-public sbcl-cl-utilities
4194 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
4195 (revision "1"))
4196 (package
4197 (name "sbcl-cl-utilities")
4198 (version (git-version "0.0.0" revision commit))
4199 (source
4200 (origin
4201 (method url-fetch)
4202 (uri
4203 (string-append
4204 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
4205 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
4206 (sha256
4207 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
4208 (build-system asdf-build-system/sbcl)
4209 (arguments
4210 '(#:phases
4211 (modify-phases %standard-phases
4212 (add-after 'unpack 'fix-paths
4213 (lambda* (#:key inputs #:allow-other-keys)
4214 (substitute* "rotate-byte.lisp"
4215 (("in-package :cl-utilities)" all)
4216 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
4217 (home-page "http://common-lisp.net/project/cl-utilities")
4218 (synopsis "A collection of semi-standard utilities")
4219 (description
4220 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
4221 is a collection of Common Lisp Utilities, things that everybody writes since
4222 they're not part of the official standard. There are some very useful things
4223 there; the only problems are that they aren't implemented as well as you'd
4224 like (some aren't implemented at all) and they aren't conveniently packaged
4225 and maintained. It takes quite a bit of work to carefully implement utilities
4226 for common use, commented and documented, with error checking placed
4227 everywhere some dumb user might make a mistake.")
4228 (license license:public-domain))))
4229
4230 (define-public cl-utilities
4231 (sbcl-package->cl-source-package sbcl-cl-utilities))
4232
4233 (define-public ecl-cl-utilities
4234 (sbcl-package->ecl-package sbcl-cl-utilities))
4235
4236 (define-public sbcl-map-set
4237 (let ((commit "7b4b545b68b8")
4238 (revision "1"))
4239 (package
4240 (name "sbcl-map-set")
4241 (version (git-version "0.0.0" revision commit))
4242 (source
4243 (origin
4244 (method url-fetch)
4245 (uri (string-append
4246 "https://bitbucket.org/tarballs_are_good/map-set/get/"
4247 commit ".tar.gz"))
4248 (sha256
4249 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
4250 (build-system asdf-build-system/sbcl)
4251 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
4252 (synopsis "Set-like data structure")
4253 (description
4254 "Implementation of a set-like data structure with constant time
4255 addition, removal, and random selection.")
4256 (license license:bsd-3))))
4257
4258 (define-public cl-map-set
4259 (sbcl-package->cl-source-package sbcl-map-set))
4260
4261 (define-public ecl-map-set
4262 (sbcl-package->ecl-package sbcl-map-set))
4263
4264 (define-public sbcl-quri
4265 (let ((commit "d7f2720568146c6674187f625f115925e6364a7f")
4266 (revision "4"))
4267 (package
4268 (name "sbcl-quri")
4269 (version (git-version "0.1.0" revision commit))
4270 (source
4271 (origin
4272 (method git-fetch)
4273 (uri (git-reference
4274 (url "https://github.com/fukamachi/quri")
4275 (commit commit)))
4276 (file-name (git-file-name name version))
4277 (sha256
4278 (base32 "0yrcvz5ksfr7x8yx741vp65il0fxxaskppq3iyk9bq895s1jn37w"))))
4279 (build-system asdf-build-system/sbcl)
4280 (arguments
4281 ;; Test system must be loaded before, otherwise tests fail with:
4282 ;; Component QURI-ASD::QURI-TEST not found, required by #<SYSTEM
4283 ;; "quri">.
4284 '(#:asd-systems '("quri-test"
4285 "quri")))
4286 (native-inputs `(("sbcl-prove" ,sbcl-prove)))
4287 (inputs `(("sbcl-babel" ,sbcl-babel)
4288 ("sbcl-split-sequence" ,sbcl-split-sequence)
4289 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
4290 ("sbcl-alexandria" ,sbcl-alexandria)))
4291 (home-page "https://github.com/fukamachi/quri")
4292 (synopsis "Yet another URI library for Common Lisp")
4293 (description
4294 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
4295 Lisp. It is intended to be a replacement of PURI.")
4296 (license license:bsd-3))))
4297
4298 (define-public cl-quri
4299 (sbcl-package->cl-source-package sbcl-quri))
4300
4301 (define-public ecl-quri
4302 (sbcl-package->ecl-package sbcl-quri))
4303
4304 (define-public sbcl-myway
4305 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
4306 (revision "1"))
4307 (package
4308 (name "sbcl-myway")
4309 (version (git-version "0.1.0" revision commit))
4310 (source
4311 (origin
4312 (method git-fetch)
4313 (uri (git-reference
4314 (url "https://github.com/fukamachi/myway")
4315 (commit commit)))
4316 (file-name (git-file-name "myway" version))
4317 (sha256
4318 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
4319 (build-system asdf-build-system/sbcl)
4320 (arguments
4321 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
4322 ;; by #<SYSTEM "myway">. Why?
4323 '(#:tests? #f))
4324 (native-inputs
4325 `(("sbcl-prove" ,sbcl-prove)))
4326 (inputs
4327 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4328 ("sbcl-quri" ,sbcl-quri)
4329 ("sbcl-map-set" ,sbcl-map-set)))
4330 (home-page "https://github.com/fukamachi/myway")
4331 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
4332 (description "My Way is a Sinatra-compatible URL routing library.")
4333 (license license:llgpl))))
4334
4335 (define-public cl-myway
4336 (sbcl-package->cl-source-package sbcl-myway))
4337
4338 (define-public ecl-myway
4339 (sbcl-package->ecl-package sbcl-myway))
4340
4341 (define-public sbcl-xsubseq
4342 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
4343 (revision "1"))
4344 (package
4345 (name "sbcl-xsubseq")
4346 (version (git-version "0.0.1" revision commit))
4347 (source
4348 (origin
4349 (method git-fetch)
4350 (uri (git-reference
4351 (url "https://github.com/fukamachi/xsubseq")
4352 (commit commit)))
4353 (file-name (git-file-name name version))
4354 (sha256
4355 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4356 (build-system asdf-build-system/sbcl)
4357 (arguments
4358 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4359 ;; required by #<SYSTEM "xsubseq">. Why?
4360 '(#:tests? #f))
4361 (native-inputs
4362 `(("sbcl-prove" ,sbcl-prove)))
4363 (home-page "https://github.com/fukamachi/xsubseq")
4364 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4365 (description
4366 "XSubseq provides functions to be able to handle \"subseq\"s more
4367 effieiently.")
4368 (license license:bsd-2))))
4369
4370 (define-public cl-xsubseq
4371 (sbcl-package->cl-source-package sbcl-xsubseq))
4372
4373 (define-public ecl-xsubseq
4374 (sbcl-package->ecl-package sbcl-xsubseq))
4375
4376 (define-public sbcl-smart-buffer
4377 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4378 (revision "1"))
4379 (package
4380 (name "sbcl-smart-buffer")
4381 (version (git-version "0.0.1" revision commit))
4382 (source
4383 (origin
4384 (method git-fetch)
4385 (uri (git-reference
4386 (url "https://github.com/fukamachi/smart-buffer")
4387 (commit commit)))
4388 (file-name (git-file-name name version))
4389 (sha256
4390 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4391 (build-system asdf-build-system/sbcl)
4392 (arguments
4393 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4394 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4395 `(#:tests? #f))
4396 (native-inputs
4397 `(("sbcl-prove" ,sbcl-prove)))
4398 (inputs
4399 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4400 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4401 (home-page "https://github.com/fukamachi/smart-buffer")
4402 (synopsis "Smart octets buffer")
4403 (description
4404 "Smart-buffer provides an output buffer which changes the destination
4405 depending on content size.")
4406 (license license:bsd-3))))
4407
4408 (define-public cl-smart-buffer
4409 (sbcl-package->cl-source-package sbcl-smart-buffer))
4410
4411 (define-public ecl-smart-buffer
4412 (sbcl-package->ecl-package sbcl-smart-buffer))
4413
4414 (define-public sbcl-fast-http
4415 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
4416 (revision "2"))
4417 (package
4418 (name "sbcl-fast-http")
4419 (version (git-version "0.2.0" revision commit))
4420 (source
4421 (origin
4422 (method git-fetch)
4423 (uri (git-reference
4424 (url "https://github.com/fukamachi/fast-http")
4425 (commit commit)))
4426 (file-name (git-file-name name version))
4427 (sha256
4428 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
4429 (build-system asdf-build-system/sbcl)
4430 (arguments
4431 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4432 ;; required by #<SYSTEM "fast-http">. Why?
4433 `(#:tests? #f))
4434 (native-inputs
4435 `(("sbcl-prove" ,sbcl-prove)
4436 ("cl-syntax" ,sbcl-cl-syntax)))
4437 (inputs
4438 `(("sbcl-alexandria" ,sbcl-alexandria)
4439 ("sbcl-proc-parse" ,sbcl-proc-parse)
4440 ("sbcl-xsubseq" ,sbcl-xsubseq)
4441 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4442 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4443 (home-page "https://github.com/fukamachi/fast-http")
4444 (synopsis "HTTP request/response parser for Common Lisp")
4445 (description
4446 "@code{fast-http} is a HTTP request/response protocol parser for Common
4447 Lisp.")
4448 ;; Author specified the MIT license
4449 (license license:expat))))
4450
4451 (define-public cl-fast-http
4452 (sbcl-package->cl-source-package sbcl-fast-http))
4453
4454 (define-public ecl-fast-http
4455 (sbcl-package->ecl-package sbcl-fast-http))
4456
4457 (define-public sbcl-static-vectors
4458 (package
4459 (name "sbcl-static-vectors")
4460 (version "1.8.6")
4461 (source
4462 (origin
4463 (method git-fetch)
4464 (uri (git-reference
4465 (url "https://github.com/sionescu/static-vectors")
4466 (commit (string-append "v" version))))
4467 (file-name (git-file-name name version))
4468 (sha256
4469 (base32 "01hwxzhyjkhsd3949g70120g7msw01byf0ia0pbj319q1a3cq7j9"))))
4470 (native-inputs
4471 `(("sbcl-fiveam" ,sbcl-fiveam)))
4472 (inputs
4473 `(("sbcl-alexandria" ,sbcl-alexandria)
4474 ("sbcl-cffi" ,sbcl-cffi)))
4475 (build-system asdf-build-system/sbcl)
4476 (home-page "https://github.com/sionescu/static-vectors")
4477 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4478 (description
4479 "With @code{static-vectors}, you can create vectors allocated in static
4480 memory.")
4481 (license license:expat)))
4482
4483 (define-public cl-static-vectors
4484 (sbcl-package->cl-source-package sbcl-static-vectors))
4485
4486 (define-public ecl-static-vectors
4487 (sbcl-package->ecl-package sbcl-static-vectors))
4488
4489 (define-public sbcl-marshal
4490 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4491 (revision "1"))
4492 (package
4493 (name "sbcl-marshal")
4494 (version (git-version "1.3.0" revision commit))
4495 (source
4496 (origin
4497 (method git-fetch)
4498 (uri (git-reference
4499 (url "https://github.com/wlbr/cl-marshal")
4500 (commit commit)))
4501 (file-name (git-file-name name version))
4502 (sha256
4503 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4504 (build-system asdf-build-system/sbcl)
4505 (home-page "https://github.com/wlbr/cl-marshal")
4506 (synopsis "Simple (de)serialization of Lisp datastructures")
4507 (description
4508 "Simple and fast marshalling of Lisp datastructures. Convert any object
4509 into a string representation, put it on a stream an revive it from there.
4510 Only minimal changes required to make your CLOS objects serializable.")
4511 (license license:expat))))
4512
4513 (define-public cl-marshal
4514 (sbcl-package->cl-source-package sbcl-marshal))
4515
4516 (define-public ecl-marshal
4517 (sbcl-package->ecl-package sbcl-marshal))
4518
4519 (define-public sbcl-checkl
4520 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4521 (revision "1"))
4522 (package
4523 (name "sbcl-checkl")
4524 (version (git-version "0.0.0" revision commit))
4525 (source
4526 (origin
4527 (method git-fetch)
4528 (uri (git-reference
4529 (url "https://github.com/rpav/CheckL")
4530 (commit commit)))
4531 (file-name (git-file-name name version))
4532 (sha256
4533 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4534 (build-system asdf-build-system/sbcl)
4535 (arguments
4536 ;; Error while trying to load definition for system checkl-test from
4537 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4538 ;; is undefined.
4539 '(#:asd-files '("checkl.asd")
4540 #:tests? #f))
4541 (native-inputs
4542 `(("sbcl-fiveam" ,sbcl-fiveam)))
4543 (inputs
4544 `(("sbcl-marshal" ,sbcl-marshal)))
4545 (home-page "https://github.com/rpav/CheckL/")
4546 (synopsis "Dynamic testing for Common Lisp")
4547 (description
4548 "CheckL lets you write tests dynamically, it checks resulting values
4549 against the last run.")
4550 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4551 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4552 ;; stronger of the two and so I think only listing this should suffice.
4553 (license license:llgpl))))
4554
4555 (define-public cl-checkl
4556 (sbcl-package->cl-source-package sbcl-checkl))
4557
4558 (define-public ecl-checkl
4559 (sbcl-package->ecl-package sbcl-checkl))
4560
4561 (define-public sbcl-fast-io
4562 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
4563 (revision "2"))
4564 (package
4565 (name "sbcl-fast-io")
4566 (version (git-version "1.0.0" revision commit))
4567 (source
4568 (origin
4569 (method git-fetch)
4570 (uri (git-reference
4571 (url "https://github.com/rpav/fast-io")
4572 (commit commit)))
4573 (file-name (git-file-name name version))
4574 (sha256
4575 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
4576 (build-system asdf-build-system/sbcl)
4577 (arguments
4578 ;; Error while trying to load definition for system fast-io-test from
4579 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4580 ;; is undefined.
4581 '(#:tests? #f
4582 #:asd-files '("fast-io.asd")))
4583 (native-inputs
4584 `(("sbcl-fiveam" ,sbcl-fiveam)
4585 ("sbcl-checkl" ,sbcl-checkl)))
4586 (inputs
4587 `(("sbcl-alexandria" ,sbcl-alexandria)
4588 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4589 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4590 (home-page "https://github.com/rpav/fast-io")
4591 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4592 (description
4593 "Fast-io is about improving performance to octet-vectors and octet
4594 streams (though primarily the former, while wrapping the latter).")
4595 ;; Author specifies this as NewBSD which is an alias
4596 (license license:bsd-3))))
4597
4598 (define-public cl-fast-io
4599 (sbcl-package->cl-source-package sbcl-fast-io))
4600
4601 (define-public ecl-fast-io
4602 (sbcl-package->ecl-package sbcl-fast-io))
4603
4604 (define-public sbcl-jonathan
4605 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4606 (revision "1"))
4607 (package
4608 (name "sbcl-jonathan")
4609 (version (git-version "0.1.0" revision commit))
4610 (source
4611 (origin
4612 (method git-fetch)
4613 (uri (git-reference
4614 (url "https://github.com/Rudolph-Miller/jonathan")
4615 (commit commit)))
4616 (file-name (git-file-name name version))
4617 (sha256
4618 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4619 (build-system asdf-build-system/sbcl)
4620 (arguments
4621 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4622 ;; required by #<SYSTEM "jonathan">. Why?
4623 `(#:tests? #f))
4624 (native-inputs
4625 `(("sbcl-prove" ,sbcl-prove)))
4626 (inputs
4627 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4628 ("sbcl-fast-io" ,sbcl-fast-io)
4629 ("sbcl-proc-parse" ,sbcl-proc-parse)
4630 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
4631 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
4632 (synopsis "JSON encoder and decoder")
4633 (description
4634 "High performance JSON encoder and decoder. Currently support: SBCL,
4635 CCL.")
4636 ;; Author specifies the MIT license
4637 (license license:expat))))
4638
4639 (define-public cl-jonathan
4640 (sbcl-package->cl-source-package sbcl-jonathan))
4641
4642 (define-public ecl-jonathan
4643 (sbcl-package->ecl-package sbcl-jonathan))
4644
4645 (define-public sbcl-http-body
4646 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4647 (revision "1"))
4648 (package
4649 (name "sbcl-http-body")
4650 (version (git-version "0.1.0" revision commit))
4651 (source
4652 (origin
4653 (method git-fetch)
4654 (uri (git-reference
4655 (url "https://github.com/fukamachi/http-body")
4656 (commit commit)))
4657 (file-name (git-file-name name version))
4658 (sha256
4659 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4660 (build-system asdf-build-system/sbcl)
4661 (arguments
4662 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4663 ;; found, required by #<SYSTEM "http-body">. Why?
4664 `(#:tests? #f))
4665 (native-inputs
4666 `(("sbcl-prove" ,sbcl-prove)))
4667 (inputs
4668 `(("sbcl-fast-http" ,sbcl-fast-http)
4669 ("sbcl-jonathan" ,sbcl-jonathan)
4670 ("sbcl-quri" ,sbcl-quri)))
4671 (home-page "https://github.com/fukamachi/http-body")
4672 (synopsis "HTTP POST data parser")
4673 (description
4674 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4675 supports application/x-www-form-urlencoded, application/json, and
4676 multipart/form-data.")
4677 (license license:bsd-2))))
4678
4679 (define-public cl-http-body
4680 (sbcl-package->cl-source-package sbcl-http-body))
4681
4682 (define-public ecl-http-body
4683 (sbcl-package->ecl-package sbcl-http-body))
4684
4685 (define-public sbcl-circular-streams
4686 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4687 (revision "1"))
4688 (package
4689 (name "sbcl-circular-streams")
4690 (version (git-version "0.1.0" revision commit))
4691 (source
4692 (origin
4693 (method git-fetch)
4694 (uri (git-reference
4695 (url "https://github.com/fukamachi/circular-streams")
4696 (commit commit)))
4697 (file-name (git-file-name name version))
4698 (sha256
4699 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4700 (build-system asdf-build-system/sbcl)
4701 (arguments
4702 ;; The tests depend on cl-test-more which is now prove. Prove
4703 ;; tests aren't working for some reason.
4704 `(#:tests? #f))
4705 (inputs
4706 `(("sbcl-fast-io" ,sbcl-fast-io)
4707 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4708 (home-page "https://github.com/fukamachi/circular-streams")
4709 (synopsis "Circularly readable streams for Common Lisp")
4710 (description
4711 "Circular-Streams allows you to read streams circularly by wrapping real
4712 streams. Once you reach end-of-file of a stream, it's file position will be
4713 reset to 0 and you're able to read it again.")
4714 (license license:llgpl))))
4715
4716 (define-public cl-circular-streams
4717 (sbcl-package->cl-source-package sbcl-circular-streams))
4718
4719 (define-public ecl-circular-streams
4720 (sbcl-package->ecl-package sbcl-circular-streams))
4721
4722 (define-public sbcl-lack
4723 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4724 (revision "1"))
4725 (package
4726 (name "sbcl-lack")
4727 (version (git-version "0.1.0" revision commit))
4728 (source
4729 (origin
4730 (method git-fetch)
4731 (uri (git-reference
4732 (url "https://github.com/fukamachi/lack")
4733 (commit commit)))
4734 (file-name (git-file-name "lack" version))
4735 (sha256
4736 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4737 (build-system asdf-build-system/sbcl)
4738 (native-inputs
4739 `(("prove" ,sbcl-prove)))
4740 (inputs
4741 `(("circular-streams" ,sbcl-circular-streams)
4742 ("http-body" ,sbcl-http-body)
4743 ("ironclad" ,sbcl-ironclad)
4744 ("local-time" ,sbcl-local-time)
4745 ("quri" ,sbcl-quri)
4746 ("trivial-mimes" ,sbcl-trivial-mimes)))
4747 (arguments
4748 '(#:asd-systems '("lack"
4749 "lack-request"
4750 "lack-response"
4751 "lack-component"
4752 "lack-util"
4753 "lack-middleware-backtrace"
4754 "lack-middleware-static")
4755 #:test-asd-file "t-lack.asd"
4756 ;; XXX: Component :CLACK not found
4757 #:tests? #f))
4758 (home-page "https://github.com/fukamachi/lack")
4759 (synopsis "Lack, the core of Clack")
4760 (description
4761 "Lack is a Common Lisp library which allows web applications to be
4762 constructed of modular components. It was originally a part of Clack, however
4763 it's going to be rewritten as an individual project since Clack v2 with
4764 performance and simplicity in mind.")
4765 (license license:llgpl))))
4766
4767 (define-public cl-lack
4768 (sbcl-package->cl-source-package sbcl-lack))
4769
4770 (define-public ecl-lack
4771 (sbcl-package->ecl-package sbcl-lack))
4772
4773 (define-public sbcl-local-time
4774 (let ((commit "a177eb911c0e8116e2bfceb79049265a884b701b")
4775 (revision "2"))
4776 (package
4777 (name "sbcl-local-time")
4778 (version (git-version "1.0.6" revision commit))
4779 (source
4780 (origin
4781 (method git-fetch)
4782 (uri (git-reference
4783 (url "https://github.com/dlowe-net/local-time")
4784 (commit commit)))
4785 (file-name (git-file-name name version))
4786 (sha256
4787 (base32 "0wld28xx20k0ysgg6akic5lg4vkjd0iyhv86m388xfrv8xh87wii"))))
4788 (build-system asdf-build-system/sbcl)
4789 (native-inputs
4790 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
4791 (home-page "https://common-lisp.net/project/local-time/")
4792 (synopsis "Time manipulation library for Common Lisp")
4793 (description
4794 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4795 dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4796 Long Painful History of Time\".")
4797 (license license:expat))))
4798
4799 (define-public cl-local-time
4800 (sbcl-package->cl-source-package sbcl-local-time))
4801
4802 (define-public ecl-local-time
4803 (sbcl-package->ecl-package sbcl-local-time))
4804
4805 (define-public sbcl-trivial-mimes
4806 (let ((commit "a741fc2f567a4f86b853fd4677d75e62c03e51d9")
4807 (revision "2"))
4808 (package
4809 (name "sbcl-trivial-mimes")
4810 (version (git-version "1.1.0" revision commit))
4811 (source
4812 (origin
4813 (method git-fetch)
4814 (uri (git-reference
4815 (url "https://github.com/Shinmera/trivial-mimes")
4816 (commit commit)))
4817 (file-name (git-file-name name version))
4818 (sha256
4819 (base32 "00kcm17q5plpzdj1qwg83ldhxksilgpcdkf3m9azxcdr968xs9di"))))
4820 (build-system asdf-build-system/sbcl)
4821 (native-inputs
4822 `(("stefil" ,sbcl-hu.dwim.stefil)))
4823 (inputs
4824 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4825 (home-page "https://shinmera.github.io/trivial-mimes/")
4826 (synopsis "Tiny Common Lisp library to detect mime types in files")
4827 (description
4828 "This is a teensy library that provides some functions to determine the
4829 mime-type of a file.")
4830 (license license:zlib))))
4831
4832 (define-public cl-trivial-mimes
4833 (sbcl-package->cl-source-package sbcl-trivial-mimes))
4834
4835 (define-public ecl-trivial-mimes
4836 (sbcl-package->ecl-package sbcl-trivial-mimes))
4837
4838 (define-public sbcl-ningle
4839 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
4840 (revision "1"))
4841 (package
4842 (name "sbcl-ningle")
4843 (version (git-version "0.3.0" revision commit))
4844 (source
4845 (origin
4846 (method git-fetch)
4847 (uri (git-reference
4848 (url "https://github.com/fukamachi/ningle")
4849 (commit commit)))
4850 (file-name (git-file-name name version))
4851 (sha256
4852 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
4853 (build-system asdf-build-system/sbcl)
4854 (arguments
4855 ;; TODO: pull in clack-test
4856 '(#:tests? #f
4857 #:phases
4858 (modify-phases %standard-phases
4859 (delete 'cleanup-files)
4860 (delete 'cleanup)
4861 (add-before 'cleanup 'combine-fasls
4862 (lambda* (#:key outputs #:allow-other-keys)
4863 (let* ((out (assoc-ref outputs "out"))
4864 (lib (string-append out "/lib/sbcl"))
4865 (ningle-path (string-append lib "/ningle"))
4866 (fasl-files (find-files out "\\.fasl$")))
4867 (mkdir-p ningle-path)
4868 (let ((fasl-path (lambda (name)
4869 (string-append ningle-path
4870 "/"
4871 (basename name)
4872 "--system.fasl"))))
4873 (for-each (lambda (file)
4874 (rename-file file
4875 (fasl-path
4876 (basename file ".fasl"))))
4877 fasl-files))
4878 fasl-files)
4879 #t)))))
4880 (native-inputs
4881 `(("sbcl-prove" ,sbcl-prove)))
4882 (inputs
4883 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4884 ("sbcl-myway" ,sbcl-myway)
4885 ("sbcl-lack" ,sbcl-lack)
4886 ("sbcl-alexandria" ,sbcl-alexandria)
4887 ("sbcl-babel" ,sbcl-babel)))
4888 (home-page "https://8arrow.org/ningle/")
4889 (synopsis "Super micro framework for Common Lisp")
4890 (description
4891 "Ningle is a lightweight web application framework for Common Lisp.")
4892 (license license:llgpl))))
4893
4894 (define-public cl-ningle
4895 (sbcl-package->cl-source-package sbcl-ningle))
4896
4897 (define-public ecl-ningle
4898 (sbcl-package->ecl-package sbcl-ningle))
4899
4900 (define-public sbcl-cl-fastcgi
4901 (let ((commit "de8b49b26de9863996ec18db28af8ab7e8ac4e20")
4902 (revision "2"))
4903 (package
4904 (name "sbcl-cl-fastcgi")
4905 (version (git-version "0.2" revision commit))
4906 (source
4907 (origin
4908 (method git-fetch)
4909 (uri (git-reference
4910 (url "https://github.com/KDr2/cl-fastcgi/")
4911 (commit commit)))
4912 (file-name (git-file-name name version))
4913 (sha256
4914 (base32 "0xgmhx766q4nmrvn5z7ag3ikpr9phlh8ypi8b14azshq9lqbq0m7"))))
4915 (build-system asdf-build-system/sbcl)
4916 (inputs
4917 `(("usocket" ,sbcl-usocket)
4918 ("cffi" ,sbcl-cffi)
4919 ("fcgi" ,fcgi)))
4920 (arguments
4921 `(#:phases
4922 (modify-phases %standard-phases
4923 (add-after 'unpack 'fix-paths
4924 (lambda* (#:key inputs #:allow-other-keys)
4925 (substitute* "cl-fastcgi.lisp"
4926 (("\"libfcgi.so\"")
4927 (string-append
4928 "\""
4929 (assoc-ref inputs "fcgi") "/lib/libfcgi.so\""))))))))
4930 (home-page "https://kdr2.com/project/cl-fastcgi.html")
4931 (synopsis "FastCGI wrapper for Common Lisp")
4932 (description
4933 "CL-FastCGI is a generic version of SB-FastCGI, targeting to run on
4934 mostly Common Lisp implementation.")
4935 (license license:bsd-2))))
4936
4937 (define-public cl-fastcgi
4938 (sbcl-package->cl-source-package sbcl-cl-fastcgi))
4939
4940 (define-public ecl-cl-fastcgi
4941 (sbcl-package->ecl-package sbcl-cl-fastcgi))
4942
4943 (define-public sbcl-clack
4944 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
4945 (revision "1"))
4946 (package
4947 (name "sbcl-clack")
4948 (version (git-version "2.0.0" revision commit))
4949 (source
4950 (origin
4951 (method git-fetch)
4952 (uri (git-reference
4953 (url "https://github.com/fukamachi/clack")
4954 (commit commit)))
4955 (file-name (git-file-name name version))
4956 (sha256
4957 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
4958 (build-system asdf-build-system/sbcl)
4959 (inputs
4960 `(("alexandria" ,sbcl-alexandria)
4961 ("bordeaux-threads" ,sbcl-bordeaux-threads)
4962 ("cl-fastcgi" ,sbcl-cl-fastcgi)
4963 ("flexi-streams" ,sbcl-flexi-streams)
4964 ("hunchentoot" ,sbcl-hunchentoot)
4965 ("lack" ,sbcl-lack)
4966 ("split-sequence" ,sbcl-split-sequence)
4967 ("usocket" ,sbcl-usocket)
4968 ("quri" ,sbcl-quri)))
4969 (arguments
4970 '(#:asd-systems '("clack"
4971 "clack-handler-fcgi"
4972 "clack-socket"
4973 "clack-handler-hunchentoot")))
4974 (home-page "https://github.com/fukamachi/clack")
4975 (synopsis "Web Application Environment for Common Lisp")
4976 (description
4977 "Clack is a web application environment for Common Lisp inspired by
4978 Python's WSGI and Ruby's Rack.")
4979 (license license:llgpl))))
4980
4981 (define-public cl-clack
4982 (sbcl-package->cl-source-package sbcl-clack))
4983
4984 (define-public ecl-clack
4985 (sbcl-package->ecl-package sbcl-clack))
4986
4987 (define-public sbcl-cl-log
4988 (let ((commit "8f4b766d51e02245c310526cf1e4534ce634f837")
4989 (revision "1"))
4990 (package
4991 (name "sbcl-cl-log")
4992 (version "1.0.1")
4993 (source
4994 (origin
4995 (method git-fetch)
4996 (uri (git-reference
4997 (url "https://github.com/nicklevine/cl-log")
4998 (commit commit)))
4999 (sha256
5000 (base32 "1r3z9swy1b59swvaa5b97is9ysrfmjvjjhhw56p7p5hqg93b92ak"))
5001 (file-name (git-file-name "cl-log" version))))
5002 (build-system asdf-build-system/sbcl)
5003 (synopsis "Common Lisp general purpose logging utility")
5004 (description "CL-LOG is a general purpose logging utility, loosely modelled
5005 in some respects after Gary King's Log5. Its features include: logging to
5006 several destinations at once, via \"messengers\", each messenger is tailored to
5007 accept some log messages and reject others, and this tailoring can be changed
5008 on-the-fly, very rapid processing of messages which are rejected by all
5009 messengers, fully independent use of the utility by several different
5010 sub-systems in an application, support for messengers which cl:format text to a
5011 stream, support for messengers which do not invoke cl:format, timestamps in
5012 theory accurate to internal-time-units-per-second.")
5013 (home-page "https://github.com/nicklevine/cl-log")
5014 (license license:expat))))
5015
5016 (define-public cl-log
5017 (sbcl-package->cl-source-package sbcl-cl-log))
5018
5019 (define-public ecl-cl-log
5020 (sbcl-package->ecl-package sbcl-cl-log))
5021
5022 (define-public sbcl-log4cl
5023 (let ((commit "8c48d6f41d3a1475d0a91eed0638b9eecc398e35")
5024 (revision "1"))
5025 (package
5026 (name "sbcl-log4cl")
5027 (version (git-version "1.1.3" revision commit))
5028 (source
5029 (origin
5030 (method git-fetch)
5031 (uri (git-reference
5032 (url "https://github.com/sharplispers/log4cl")
5033 (commit commit)))
5034 (file-name (git-file-name "log4cl" version))
5035 (sha256
5036 (base32 "0166d9aip366pbpdk5gsi2f6xad6q61lssxgbrypa8zslwjn8736"))))
5037 (build-system asdf-build-system/sbcl)
5038 (native-inputs
5039 `(("stefil" ,sbcl-stefil)))
5040 (inputs
5041 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
5042 (home-page "https://github.com/7max/log4cl")
5043 (synopsis "Common Lisp logging framework, modeled after Log4J")
5044 (description
5045 "This is a Common Lisp logging framework that can log at various levels
5046 and mix text with expressions.")
5047 (license license:asl2.0))))
5048
5049 (define-public cl-log4cl
5050 (sbcl-package->cl-source-package sbcl-log4cl))
5051
5052 (define-public ecl-log4cl
5053 (sbcl-package->ecl-package sbcl-log4cl))
5054
5055 (define-public sbcl-printv
5056 (let ((commit "646d31978dbbb460fffb160fd65bb2be9a5a434e")
5057 (revision "1"))
5058 (package
5059 (name "sbcl-printv")
5060 (version (git-version "0.1.0" revision commit))
5061 (source
5062 (origin
5063 (method git-fetch)
5064 (uri (git-reference
5065 (url "https://github.com/danlentz/printv")
5066 (commit commit)))
5067 (file-name (git-file-name "printv" version))
5068 (sha256
5069 (base32 "08jvy82abm7qi3wrxh6gvmwg9gy0zzhg4cfqajdwrggbah8mj5a6"))))
5070 (build-system asdf-build-system/sbcl)
5071 (home-page "https://github.com/danlentz/printv")
5072 (synopsis "Common Lisp tracing and debug-logging macro")
5073 (description
5074 "@code{PRINTV} is a \"batteries-included\" tracing and debug-logging
5075 macro for Common Lisp.")
5076 (license license:asl2.0))))
5077
5078 (define-public ecl-printv
5079 (sbcl-package->ecl-package sbcl-printv))
5080
5081 (define-public cl-printv
5082 (sbcl-package->cl-source-package sbcl-printv))
5083
5084 (define-public sbcl-verbose
5085 (let ((commit "c5b7ecd465be61b35af17ef57564697b88397174")
5086 (revision "1"))
5087 (package
5088 (name "sbcl-verbose")
5089 (version (git-version "2.0.0" revision commit))
5090 (source
5091 (origin
5092 (method git-fetch)
5093 (uri (git-reference
5094 (url "https://github.com/Shinmera/verbose/")
5095 (commit commit)))
5096 (file-name (git-file-name "verbose" version))
5097 (sha256
5098 (base32 "0r51ydj5v7afi2jrlscbhxprv13d9vzg5316g1yzwaxc1kzsdsw6"))))
5099 (build-system asdf-build-system/sbcl)
5100 (inputs
5101 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
5102 ("dissect" ,sbcl-dissect)
5103 ("documentation-utils" ,sbcl-documentation-utils)
5104 ("local-time" ,sbcl-local-time)
5105 ("piping" ,sbcl-piping)))
5106 (home-page "https://shinmera.github.io/verbose/")
5107 (synopsis "Logging framework using the piping library")
5108 (description
5109 "This is a Common Lisp library providing logging faciltiy similar to
5110 @code{CL-LOG} and @code{LOG4CL}.")
5111 (license license:zlib))))
5112
5113 (define-public ecl-verbose
5114 (sbcl-package->ecl-package sbcl-verbose))
5115
5116 (define-public cl-verbose
5117 (sbcl-package->cl-source-package sbcl-verbose))
5118
5119 (define-public sbcl-find-port
5120 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
5121 (revision "1"))
5122 (package
5123 (name "sbcl-find-port")
5124 (build-system asdf-build-system/sbcl)
5125 (version "0.1")
5126 (home-page "https://github.com/eudoxia0/find-port")
5127 (source
5128 (origin
5129 (method git-fetch)
5130 (uri (git-reference
5131 (url home-page)
5132 (commit commit)))
5133 (file-name (git-file-name name version))
5134 (sha256
5135 (base32
5136 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
5137 (native-inputs
5138 `(("fiveam" ,sbcl-fiveam)))
5139 (inputs
5140 `(("sbcl-usocket" ,sbcl-usocket)))
5141 (synopsis "Find open ports programmatically in Common Lisp")
5142 (description "This is a small Common Lisp library that finds an open
5143 port within a range.")
5144 (license license:expat))))
5145
5146 (define-public cl-find-port
5147 (sbcl-package->cl-source-package sbcl-find-port))
5148
5149 (define-public ecl-find-port
5150 (sbcl-package->ecl-package sbcl-find-port))
5151
5152 (define-public sbcl-clunit
5153 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
5154 (revision "1"))
5155 (package
5156 (name "sbcl-clunit")
5157 (version (git-version "0.2.3" revision commit))
5158 (source
5159 (origin
5160 (method git-fetch)
5161 (uri (git-reference
5162 (url "https://github.com/tgutu/clunit")
5163 (commit commit)))
5164 (file-name (git-file-name name version))
5165 (sha256
5166 (base32
5167 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
5168 (build-system asdf-build-system/sbcl)
5169 (synopsis "CLUnit is a Common Lisp unit testing framework")
5170 (description
5171 "CLUnit is a Common Lisp unit testing framework. It is designed
5172 to be easy to use so that you can quickly start testing. CLUnit
5173 provides a rich set of features aimed at improving your unit testing
5174 experience.")
5175 (home-page "https://tgutu.github.io/clunit/")
5176 ;; MIT License
5177 (license license:expat))))
5178
5179 (define-public cl-clunit
5180 (sbcl-package->cl-source-package sbcl-clunit))
5181
5182 (define-public ecl-clunit
5183 (sbcl-package->ecl-package sbcl-clunit))
5184
5185 (define-public sbcl-py4cl
5186 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
5187 (revision "1"))
5188 (package
5189 (name "sbcl-py4cl")
5190 (version (git-version "0.0.0" revision commit))
5191 (source
5192 (origin
5193 (method git-fetch)
5194 (uri (git-reference
5195 (url "https://github.com/bendudson/py4cl")
5196 (commit commit)))
5197 (file-name (git-file-name name version))
5198 (sha256
5199 (base32
5200 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
5201 (modules '((guix build utils)))))
5202 (build-system asdf-build-system/sbcl)
5203 (native-inputs
5204 `(("sbcl-clunit" ,sbcl-clunit)))
5205 (inputs
5206 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5207 (propagated-inputs
5208 ;; This package doesn't do anything without python available
5209 `(("python" ,python)
5210 ;; For multi-dimensional array support
5211 ("python-numpy" ,python-numpy)))
5212 (arguments
5213 '(#:phases
5214 (modify-phases %standard-phases
5215 (add-after 'unpack 'replace-*base-directory*-var
5216 (lambda* (#:key outputs #:allow-other-keys)
5217 ;; In the ASD, the author makes an attempt to
5218 ;; programatically determine the location of the
5219 ;; source-code so lisp can call into "py4cl.py". We can
5220 ;; hard-code this since we know where this file will
5221 ;; reside.
5222 (substitute* "src/callpython.lisp"
5223 (("py4cl/config:\\*base-directory\\*")
5224 (string-append
5225 "\""
5226 (assoc-ref outputs "out")
5227 "/share/common-lisp/sbcl-source/py4cl/"
5228 "\""))))))))
5229 (synopsis "Call python from Common Lisp")
5230 (description
5231 "Py4CL is a bridge between Common Lisp and Python, which enables Common
5232 Lisp to interact with Python code. It uses streams to communicate with a
5233 separate python process, the approach taken by cl4py. This is different to
5234 the CFFI approach used by burgled-batteries, but has the same goal.")
5235 (home-page "https://github.com/bendudson/py4cl")
5236 ;; MIT License
5237 (license license:expat))))
5238
5239 (define-public cl-py4cl
5240 (sbcl-package->cl-source-package sbcl-py4cl))
5241
5242 (define-public ecl-py4cl
5243 (sbcl-package->ecl-package sbcl-py4cl))
5244
5245 (define-public sbcl-parse-declarations
5246 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
5247 (revision "1"))
5248 (package
5249 (name "sbcl-parse-declarations")
5250 (version (git-version "1.0.0" revision commit))
5251 (source
5252 (origin
5253 (method git-fetch)
5254 (uri (git-reference
5255 (url (string-append
5256 "https://gitlab.common-lisp.net/parse-declarations/"
5257 "parse-declarations.git"))
5258 (commit commit)))
5259 (file-name (git-file-name name version))
5260 (sha256
5261 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
5262 (build-system asdf-build-system/sbcl)
5263 (arguments
5264 `(#:asd-systems '("parse-declarations-1.0")))
5265 (home-page "https://common-lisp.net/project/parse-declarations/")
5266 (synopsis "Parse, filter, and build declarations")
5267 (description
5268 "Parse-Declarations is a Common Lisp library to help writing
5269 macros which establish bindings. To be semantically correct, such
5270 macros must take user declarations into account, as these may affect
5271 the bindings they establish. Yet the ANSI standard of Common Lisp does
5272 not provide any operators to work with declarations in a convenient,
5273 high-level way. This library provides such operators.")
5274 ;; MIT License
5275 (license license:expat))))
5276
5277 (define-public cl-parse-declarations
5278 (sbcl-package->cl-source-package sbcl-parse-declarations))
5279
5280 (define-public ecl-parse-declarations
5281 (sbcl-package->ecl-package sbcl-parse-declarations))
5282
5283 (define-public sbcl-cl-quickcheck
5284 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5285 (revision "1"))
5286 (package
5287 (name "sbcl-cl-quickcheck")
5288 (version (git-version "0.0.4" revision commit))
5289 (source
5290 (origin
5291 (method git-fetch)
5292 (uri (git-reference
5293 (url "https://github.com/mcandre/cl-quickcheck")
5294 (commit commit)))
5295 (file-name (git-file-name name version))
5296 (sha256
5297 (base32
5298 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5299 (build-system asdf-build-system/sbcl)
5300 (synopsis
5301 "Common Lisp port of the QuickCheck unit test framework")
5302 (description
5303 "Common Lisp port of the QuickCheck unit test framework")
5304 (home-page "https://github.com/mcandre/cl-quickcheck")
5305 ;; MIT
5306 (license license:expat))))
5307
5308 (define-public cl-quickcheck
5309 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5310
5311 (define-public ecl-cl-quickcheck
5312 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5313
5314 (define-public sbcl-burgled-batteries3
5315 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
5316 (revision "2"))
5317 (package
5318 (name "sbcl-burgled-batteries3")
5319 (version (git-version "0.0.0" revision commit))
5320 (source
5321 (origin
5322 (method git-fetch)
5323 (uri (git-reference
5324 (url "https://github.com/snmsts/burgled-batteries3")
5325 (commit commit)))
5326 (file-name (git-file-name name version))
5327 (sha256
5328 (base32
5329 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
5330 (build-system asdf-build-system/sbcl)
5331 (arguments
5332 `(#:tests? #f
5333 #:modules (((guix build python-build-system) #:select (python-version))
5334 ,@%asdf-build-system-modules)
5335 #:imported-modules ((guix build python-build-system)
5336 ,@%asdf-build-system-modules)
5337 #:phases
5338 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
5339 (add-after 'unpack 'set-*cpython-include-dir*-var
5340 (lambda* (#:key inputs #:allow-other-keys)
5341 (let ((python (assoc-ref inputs "python")))
5342 (setenv "BB_PYTHON3_INCLUDE_DIR"
5343 (string-append python "/include/python"
5344 (python-version python)))
5345 (setenv "BB_PYTHON3_DYLIB"
5346 (string-append python "/lib/libpython3.so"))
5347 #t)))
5348 (add-after 'unpack 'adjust-for-python-3.8
5349 (lambda _
5350 ;; This method is no longer part of the public API.
5351 (substitute* "ffi-interface.lisp"
5352 ((".*PyEval_ReInitThreads.*")
5353 ""))
5354 #t)))))
5355 (native-inputs
5356 `(("sbcl-cl-fad" ,sbcl-cl-fad)
5357 ("sbcl-lift" ,sbcl-lift)
5358 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5359 (inputs
5360 `(("python" ,python)
5361 ("sbcl-cffi" ,sbcl-cffi)
5362 ("sbcl-alexandria" , sbcl-alexandria)
5363 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5364 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5365 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5366 (description
5367 "This package provides a shim between Python3 (specifically, the
5368 CPython implementation of Python) and Common Lisp.")
5369 (home-page "https://github.com/snmsts/burgled-batteries3")
5370 (license license:expat))))
5371
5372 (define-public cl-burgled-batteries3
5373 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5374
5375 (define-public ecl-burgled-batteries3
5376 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5377
5378 (define-public sbcl-metabang-bind
5379 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5380 (revision "1"))
5381 (package
5382 (name "sbcl-metabang-bind")
5383 (version (git-version "0.8.0" revision commit))
5384 (source
5385 (origin
5386 (method git-fetch)
5387 (uri (git-reference
5388 (url "https://github.com/gwkkwg/metabang-bind")
5389 (commit commit)))
5390 (file-name (git-file-name name version))
5391 (sha256
5392 (base32
5393 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5394 (build-system asdf-build-system/sbcl)
5395 (native-inputs
5396 `(("sbcl-lift" ,sbcl-lift)))
5397 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5398 (description
5399 "Bind extends the idea of of let and destructing to provide a uniform
5400 syntax for all your accessor needs. It combines @code{let},
5401 @code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5402 editing, property or association-lists, and @code{multiple-value-bind} and a
5403 whole lot more into a single form.")
5404 (home-page "https://common-lisp.net/project/metabang-bind/")
5405 ;; MIT License
5406 (license license:expat))))
5407
5408 (define-public cl-metabang-bind
5409 (sbcl-package->cl-source-package sbcl-metabang-bind))
5410
5411 (define-public ecl-metabang-bind
5412 (sbcl-package->ecl-package sbcl-metabang-bind))
5413
5414 (define-public sbcl-fare-utils
5415 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5416 (revision "1"))
5417 (package
5418 (name "sbcl-fare-utils")
5419 (version (git-version "1.0.0.5" revision commit))
5420 (source
5421 (origin
5422 (method git-fetch)
5423 (uri
5424 (git-reference
5425 (url
5426 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5427 (commit commit)))
5428 (file-name (git-file-name name version))
5429 (sha256
5430 (base32
5431 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5432 (build-system asdf-build-system/sbcl)
5433 (arguments
5434 `(#:test-asd-file "test/fare-utils-test.asd"))
5435 (native-inputs
5436 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5437 (synopsis "Collection of utilities and data structures")
5438 (description
5439 "fare-utils is a small collection of utilities. It contains a lot of
5440 basic everyday functions and macros.")
5441 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5442 ;; MIT License
5443 (license license:expat))))
5444
5445 (define-public cl-fare-utils
5446 (sbcl-package->cl-source-package sbcl-fare-utils))
5447
5448 (define-public ecl-fare-utils
5449 (sbcl-package->ecl-package sbcl-fare-utils))
5450
5451 (define-public sbcl-trivial-utf-8
5452 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5453 (revision "1"))
5454 (package
5455 (name "sbcl-trivial-utf-8")
5456 (version (git-version "0.0.0" revision commit))
5457 (source
5458 (origin
5459 (method git-fetch)
5460 (uri
5461 (git-reference
5462 (url (string-append "https://gitlab.common-lisp.net/"
5463 "trivial-utf-8/trivial-utf-8.git"))
5464 (commit commit)))
5465 (file-name (git-file-name name version))
5466 (sha256
5467 (base32
5468 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5469 (arguments
5470 ;; Guix incorrectly assumes the "8" is part of the version
5471 ;; number and lobs it off.
5472 `(#:asd-systems '("trivial-utf-8")))
5473 (build-system asdf-build-system/sbcl)
5474 (synopsis "UTF-8 input/output library")
5475 (description
5476 "The Babel library solves a similar problem while understanding more
5477 encodings. Trivial UTF-8 was written before Babel existed, but for new
5478 projects you might be better off going with Babel. The one plus that Trivial
5479 UTF-8 has is that it doesn't depend on any other libraries.")
5480 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5481 (license license:bsd-3))))
5482
5483 (define-public cl-trivial-utf-8
5484 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5485
5486 (define-public ecl-trivial-utf-8
5487 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5488
5489 (define-public sbcl-idna
5490 (package
5491 (name "sbcl-idna")
5492 (build-system asdf-build-system/sbcl)
5493 (version "0.2.2")
5494 (home-page "https://github.com/antifuchs/idna")
5495 (source
5496 (origin
5497 (method git-fetch)
5498 (uri (git-reference
5499 (url home-page)
5500 (commit version)))
5501 (file-name (git-file-name name version))
5502 (sha256
5503 (base32
5504 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5505 (inputs
5506 `(("split-sequence" ,sbcl-split-sequence)))
5507 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5508 (description "This Common Lisp library provides string encoding and
5509 decoding routines for IDNA, the International Domain Names in Applications.")
5510 (license license:expat)))
5511
5512 (define-public cl-idna
5513 (sbcl-package->cl-source-package sbcl-idna))
5514
5515 (define-public ecl-idna
5516 (sbcl-package->ecl-package sbcl-idna))
5517
5518 (define-public sbcl-swap-bytes
5519 (package
5520 (name "sbcl-swap-bytes")
5521 (build-system asdf-build-system/sbcl)
5522 (version "1.2")
5523 (home-page "https://github.com/sionescu/swap-bytes")
5524 (source
5525 (origin
5526 (method git-fetch)
5527 (uri (git-reference
5528 (url home-page)
5529 (commit (string-append "v" version))))
5530 (file-name (git-file-name name version))
5531 (sha256
5532 (base32
5533 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
5534 (inputs
5535 `(("trivial-features" ,sbcl-trivial-features)))
5536 (native-inputs
5537 `(("fiveam" ,sbcl-fiveam)))
5538 (synopsis "Efficient endianness conversion for Common Lisp")
5539 (description "This Common Lisp library provides optimized byte-swapping
5540 primitives. The library can change endianness of unsigned integers of length
5541 1/2/4/8. Very useful in implementing various network protocols and file
5542 formats.")
5543 (license license:expat)))
5544
5545 (define-public cl-swap-bytes
5546 (sbcl-package->cl-source-package sbcl-swap-bytes))
5547
5548 (define-public ecl-swap-bytes
5549 (sbcl-package->ecl-package sbcl-swap-bytes))
5550
5551 (define-public sbcl-iolib
5552 ;; Latest release is from June 2017.
5553 (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
5554 (revision "2"))
5555 (package
5556 (name "sbcl-iolib")
5557 (version (git-version "0.8.3" revision commit))
5558 (home-page "https://github.com/sionescu/iolib")
5559 (source
5560 (origin
5561 (method git-fetch)
5562 (uri (git-reference
5563 (url home-page)
5564 (commit commit)))
5565 (file-name (git-file-name name version))
5566 (sha256
5567 (base32
5568 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
5569 (build-system asdf-build-system/sbcl)
5570 (inputs
5571 `(("alexandria" ,sbcl-alexandria)
5572 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5573 ("cffi" ,sbcl-cffi)
5574 ("idna" ,sbcl-idna)
5575 ("libfixposix" ,libfixposix)
5576 ("split-sequence" ,sbcl-split-sequence)
5577 ("swap-bytes" ,sbcl-swap-bytes)))
5578 (arguments
5579 '(#:asd-files '("iolib.asdf.asd"
5580 "iolib.conf.asd"
5581 "iolib.common-lisp.asd"
5582 "iolib.base.asd"
5583 "iolib.asd")
5584 #:phases
5585 (modify-phases %standard-phases
5586 (add-after 'unpack 'fix-paths
5587 (lambda* (#:key inputs #:allow-other-keys)
5588 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5589 (("\\(:default \"libfixposix\"\\)")
5590 (string-append
5591 "(:default \""
5592 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5593 ;; Socket tests need Internet access, disable them.
5594 (substitute* "iolib.asd"
5595 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5596 "")))))))
5597 (synopsis "Common Lisp I/O library")
5598 (description "IOlib is to be a better and more modern I/O library than
5599 the standard Common Lisp library. It contains a socket library, a DNS
5600 resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5601 and @code{kqueue(2)}), a pathname library and file-system utilities.")
5602 (license license:expat))))
5603
5604 (define-public cl-iolib
5605 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
5606 (package
5607 (inherit parent)
5608 (propagated-inputs
5609 ;; Need header to compile.
5610 `(("libfixposix" ,libfixposix)
5611 ,@(package-propagated-inputs parent))))))
5612
5613 (define-public ecl-iolib
5614 (sbcl-package->ecl-package sbcl-iolib))
5615
5616 (define-public sbcl-ieee-floats
5617 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5618 (revision "1"))
5619 (package
5620 (name "sbcl-ieee-floats")
5621 (build-system asdf-build-system/sbcl)
5622 (version (git-version "20170924" revision commit))
5623 (home-page "https://github.com/marijnh/ieee-floats/")
5624 (source
5625 (origin
5626 (method git-fetch)
5627 (uri (git-reference
5628 (url home-page)
5629 (commit commit)))
5630 (file-name (git-file-name name version))
5631 (sha256
5632 (base32
5633 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5634 (native-inputs
5635 `(("fiveam" ,sbcl-fiveam)))
5636 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5637 (description "This is a Common Lisp library that converts
5638 floating point values to IEEE 754 binary representation.")
5639 (license license:bsd-3))))
5640
5641 (define-public cl-ieee-floats
5642 (sbcl-package->cl-source-package sbcl-ieee-floats))
5643
5644 (define-public ecl-ieee-floats
5645 (sbcl-package->ecl-package sbcl-ieee-floats))
5646
5647 (define sbcl-closure-common
5648 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5649 (revision "1"))
5650 (package
5651 (name "sbcl-closure-common")
5652 (build-system asdf-build-system/sbcl)
5653 (version (git-version "20101006" revision commit))
5654 (home-page "https://common-lisp.net/project/cxml/")
5655 (source
5656 (origin
5657 (method git-fetch)
5658 (uri (git-reference
5659 (url "https://github.com/sharplispers/closure-common")
5660 (commit commit)))
5661 (file-name (git-file-name name version))
5662 (sha256
5663 (base32
5664 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5665 (inputs
5666 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5667 ("babel" ,sbcl-babel)))
5668 (synopsis "Support Common Lisp library for CXML")
5669 (description "Closure-common is an internal helper library. The name
5670 Closure is a reference to the web browser it was originally written for.")
5671 ;; TODO: License?
5672 (license #f))))
5673
5674 (define-public sbcl-cxml
5675 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5676 (revision "1"))
5677 (package
5678 (name "sbcl-cxml")
5679 (version (git-version "0.0.0" revision commit))
5680 (source
5681 (origin
5682 (method git-fetch)
5683 (uri (git-reference
5684 (url "https://github.com/sharplispers/cxml")
5685 (commit commit)))
5686 (file-name (git-file-name name version))
5687 (sha256
5688 (base32
5689 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5690 (build-system asdf-build-system/sbcl)
5691 (inputs
5692 `(("closure-common" ,sbcl-closure-common)
5693 ("puri" ,sbcl-puri)
5694 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5695 (synopsis "Common Lisp XML parser")
5696 (description "CXML implements a namespace-aware, validating XML 1.0
5697 parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5698 offered, one SAX-like, the other similar to StAX.")
5699 (home-page "https://common-lisp.net/project/cxml/")
5700 (license license:llgpl))))
5701
5702 (define-public cl-cxml
5703 (sbcl-package->cl-source-package sbcl-cxml))
5704
5705 (define-public ecl-cxml
5706 (sbcl-package->ecl-package sbcl-cxml))
5707
5708 (define-public sbcl-cl-reexport
5709 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5710 (revision "1"))
5711 (package
5712 (name "sbcl-cl-reexport")
5713 (build-system asdf-build-system/sbcl)
5714 (version (git-version "0.1" revision commit))
5715 (home-page "https://github.com/takagi/cl-reexport")
5716 (source
5717 (origin
5718 (method git-fetch)
5719 (uri (git-reference
5720 (url home-page)
5721 (commit commit)))
5722 (file-name (git-file-name name version))
5723 (sha256
5724 (base32
5725 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5726 (inputs
5727 `(("alexandria" ,sbcl-alexandria)))
5728 (arguments
5729 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5730 `(#:tests? #f))
5731 (synopsis "HTTP cookie manager for Common Lisp")
5732 (description "cl-cookie is a Common Lisp library featuring parsing of
5733 cookie headers, cookie creation, cookie jar creation and more.")
5734 (license license:llgpl))))
5735
5736 (define-public cl-reexport
5737 (sbcl-package->cl-source-package sbcl-cl-reexport))
5738
5739 (define-public ecl-cl-reexport
5740 (sbcl-package->ecl-package sbcl-cl-reexport))
5741
5742 (define-public sbcl-cl-cookie
5743 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5744 (revision "1"))
5745 (package
5746 (name "sbcl-cl-cookie")
5747 (build-system asdf-build-system/sbcl)
5748 (version (git-version "0.9.10" revision commit))
5749 (home-page "https://github.com/fukamachi/cl-cookie")
5750 (source
5751 (origin
5752 (method git-fetch)
5753 (uri (git-reference
5754 (url home-page)
5755 (commit commit)))
5756 (file-name (git-file-name name version))
5757 (sha256
5758 (base32
5759 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5760 (inputs
5761 `(("proc-parse" ,sbcl-proc-parse)
5762 ("alexandria" ,sbcl-alexandria)
5763 ("quri" ,sbcl-quri)
5764 ("cl-ppcre" ,sbcl-cl-ppcre)
5765 ("local-time" ,sbcl-local-time)))
5766 (native-inputs
5767 `(("prove" ,sbcl-prove)))
5768 (arguments
5769 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5770 `(#:tests? #f))
5771 (synopsis "HTTP cookie manager for Common Lisp")
5772 (description "cl-cookie is a Common Lisp library featuring parsing of
5773 cookie headers, cookie creation, cookie jar creation and more.")
5774 (license license:bsd-2))))
5775
5776 (define-public cl-cookie
5777 (sbcl-package->cl-source-package sbcl-cl-cookie))
5778
5779 (define-public ecl-cl-cookie
5780 (sbcl-package->ecl-package sbcl-cl-cookie))
5781
5782 (define-public sbcl-dexador
5783 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
5784 (revision "1"))
5785 (package
5786 (name "sbcl-dexador")
5787 (build-system asdf-build-system/sbcl)
5788 (version "0.9.14" )
5789 (home-page "https://github.com/fukamachi/dexador")
5790 (source
5791 (origin
5792 (method git-fetch)
5793 (uri (git-reference
5794 (url home-page)
5795 (commit commit)))
5796 (file-name (git-file-name name version))
5797 (sha256
5798 (base32
5799 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
5800 (inputs
5801 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5802 ("babel" ,sbcl-babel)
5803 ("usocket" ,sbcl-usocket)
5804 ("fast-http" ,sbcl-fast-http)
5805 ("quri" ,sbcl-quri)
5806 ("fast-io" ,sbcl-fast-io)
5807 ("chunga" ,sbcl-chunga)
5808 ("cl-ppcre" ,sbcl-cl-ppcre)
5809 ("cl-cookie" ,sbcl-cl-cookie)
5810 ("trivial-mimes" ,sbcl-trivial-mimes)
5811 ("chipz" ,sbcl-chipz)
5812 ("cl-base64" ,sbcl-cl-base64)
5813 ("cl-reexport" ,sbcl-cl-reexport)
5814 ("cl+ssl" ,sbcl-cl+ssl)
5815 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5816 ("alexandria" ,sbcl-alexandria)))
5817 (native-inputs
5818 `(("prove" ,sbcl-prove)
5819 ("lack" ,sbcl-lack)
5820 ("clack" ,sbcl-clack)
5821 ("babel" ,sbcl-babel)
5822 ("alexandria" ,sbcl-alexandria)
5823 ("cl-ppcre" ,sbcl-cl-ppcre)
5824 ("local-time" ,sbcl-local-time)
5825 ("trivial-features" ,sbcl-trivial-features)))
5826 (arguments
5827 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5828 `(#:tests? #f
5829 #:phases
5830 (modify-phases %standard-phases
5831 (add-after 'unpack 'fix-permissions
5832 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5833 (synopsis "Yet another HTTP client for Common Lisp")
5834 (description "Dexador is yet another HTTP client for Common Lisp with
5835 neat APIs and connection-pooling. It is meant to supersede Drakma.")
5836 (license license:expat))))
5837
5838 (define-public cl-dexador
5839 (package
5840 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5841 (arguments
5842 `(#:phases
5843 ;; asdf-build-system/source has its own phases and does not inherit
5844 ;; from asdf-build-system/sbcl phases.
5845 (modify-phases %standard-phases/source
5846 ;; Already done in SBCL package.
5847 (delete 'reset-gzip-timestamps))))))
5848
5849 (define-public ecl-dexador
5850 (sbcl-package->ecl-package sbcl-dexador))
5851
5852 (define-public sbcl-lisp-namespace
5853 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5854 (revision "1"))
5855 (package
5856 (name "sbcl-lisp-namespace")
5857 (build-system asdf-build-system/sbcl)
5858 (version (git-version "0.1" revision commit))
5859 (home-page "https://github.com/guicho271828/lisp-namespace")
5860 (source
5861 (origin
5862 (method git-fetch)
5863 (uri (git-reference
5864 (url home-page)
5865 (commit commit)))
5866 (file-name (git-file-name name version))
5867 (sha256
5868 (base32
5869 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5870 (inputs
5871 `(("alexandria" ,sbcl-alexandria)))
5872 (native-inputs
5873 `(("fiveam" ,sbcl-fiveam)))
5874 (arguments
5875 `(#:test-asd-file "lisp-namespace.test.asd"
5876 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5877 #:tests? #f))
5878 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5879 (description "Common Lisp already has major 2 namespaces, function
5880 namespace and value namespace (or variable namespace), but there are actually
5881 more — e.g., class namespace.
5882 This library offers macros to deal with symbols from any namespace.")
5883 (license license:llgpl))))
5884
5885 (define-public cl-lisp-namespace
5886 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5887
5888 (define-public ecl-lisp-namespace
5889 (sbcl-package->ecl-package sbcl-lisp-namespace))
5890
5891 (define-public sbcl-trivial-cltl2
5892 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
5893 (revision "2"))
5894 (package
5895 (name "sbcl-trivial-cltl2")
5896 (build-system asdf-build-system/sbcl)
5897 (version (git-version "0.1.1" revision commit))
5898 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
5899 (source
5900 (origin
5901 (method git-fetch)
5902 (uri (git-reference
5903 (url home-page)
5904 (commit commit)))
5905 (file-name (git-file-name name version))
5906 (sha256
5907 (base32
5908 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
5909 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5910 (description "This library is a portable compatibility layer around
5911 \"Common Lisp the Language, 2nd
5912 Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5913 and it exports symbols from implementation-specific packages.")
5914 (license license:llgpl))))
5915
5916 (define-public cl-trivial-cltl2
5917 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5918
5919 (define-public ecl-trivial-cltl2
5920 (sbcl-package->ecl-package sbcl-trivial-cltl2))
5921
5922 (define-public sbcl-introspect-environment
5923 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
5924 (revision "1"))
5925 (package
5926 (name "sbcl-introspect-environment")
5927 (build-system asdf-build-system/sbcl)
5928 (version (git-version "0.1" revision commit))
5929 (home-page "https://github.com/Bike/introspect-environment")
5930 (source
5931 (origin
5932 (method git-fetch)
5933 (uri (git-reference
5934 (url home-page)
5935 (commit commit)))
5936 (file-name (git-file-name name version))
5937 (sha256
5938 (base32
5939 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
5940 (native-inputs
5941 `(("fiveam" ,sbcl-fiveam)))
5942 (synopsis "Common Lisp environment introspection portability layer")
5943 (description "This library is a small interface to portable but
5944 nonstandard introspection of Common Lisp environments. It is intended to
5945 allow a bit more compile-time introspection of environments in Common Lisp.
5946
5947 Quite a bit of information is available at the time a macro or compiler-macro
5948 runs; inlining info, type declarations, that sort of thing. This information
5949 is all standard - any Common Lisp program can @code{(declare (integer x))} and
5950 such.
5951
5952 This info ought to be accessible through the standard @code{&environment}
5953 parameters, but it is not. Several implementations keep the information for
5954 their own purposes but do not make it available to user programs, because
5955 there is no standard mechanism to do so.
5956
5957 This library uses implementation-specific hooks to make information available
5958 to users. This is currently supported on SBCL, CCL, and CMUCL. Other
5959 implementations have implementations of the functions that do as much as they
5960 can and/or provide reasonable defaults.")
5961 (license license:wtfpl2))))
5962
5963 (define-public cl-introspect-environment
5964 (sbcl-package->cl-source-package sbcl-introspect-environment))
5965
5966 (define-public ecl-introspect-environment
5967 (sbcl-package->ecl-package sbcl-introspect-environment))
5968
5969 (define-public sbcl-type-i
5970 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
5971 (revision "2"))
5972 (package
5973 (name "sbcl-type-i")
5974 (build-system asdf-build-system/sbcl)
5975 (version (git-version "0.1" revision commit))
5976 (home-page "https://github.com/guicho271828/type-i")
5977 (source
5978 (origin
5979 (method git-fetch)
5980 (uri (git-reference
5981 (url home-page)
5982 (commit commit)))
5983 (file-name (git-file-name name version))
5984 (sha256
5985 (base32
5986 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
5987 (inputs
5988 `(("alexandria" ,sbcl-alexandria)
5989 ("introspect-environment" ,sbcl-introspect-environment)
5990 ("trivia.trivial" ,sbcl-trivia.trivial)))
5991 (native-inputs
5992 `(("fiveam" ,sbcl-fiveam)))
5993 (arguments
5994 `(#:test-asd-file "type-i.test.asd"))
5995 (synopsis "Type inference utility on unary predicates for Common Lisp")
5996 (description "This library tries to provide a way to detect what kind of
5997 type the given predicate is trying to check. This is different from inferring
5998 the return type of a function.")
5999 (license license:llgpl))))
6000
6001 (define-public cl-type-i
6002 (sbcl-package->cl-source-package sbcl-type-i))
6003
6004 (define-public ecl-type-i
6005 (package
6006 (inherit (sbcl-package->ecl-package sbcl-type-i))
6007 (arguments
6008 ;; The tests get stuck indefinitly
6009 '(#:tests? #f))))
6010
6011 (define-public sbcl-optima
6012 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
6013 (revision "1"))
6014 (package
6015 (name "sbcl-optima")
6016 (build-system asdf-build-system/sbcl)
6017 (version (git-version "1.0" revision commit))
6018 (home-page "https://github.com/m2ym/optima")
6019 (source
6020 (origin
6021 (method git-fetch)
6022 (uri (git-reference
6023 (url home-page)
6024 (commit commit)))
6025 (file-name (git-file-name name version))
6026 (sha256
6027 (base32
6028 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
6029 (inputs
6030 `(("alexandria" ,sbcl-alexandria)
6031 ("closer-mop" ,sbcl-closer-mop)))
6032 (native-inputs
6033 `(("eos" ,sbcl-eos)))
6034 (arguments
6035 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
6036 `(#:tests? #f
6037 #:test-asd-file "optima.test.asd"))
6038 (synopsis "Optimized pattern matching library for Common Lisp")
6039 (description "Optima is a fast pattern matching library which uses
6040 optimizing techniques widely used in the functional programming world.")
6041 (license license:expat))))
6042
6043 (define-public cl-optima
6044 (sbcl-package->cl-source-package sbcl-optima))
6045
6046 (define-public ecl-optima
6047 (sbcl-package->ecl-package sbcl-optima))
6048
6049 (define-public sbcl-fare-quasiquote
6050 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
6051 (revision "1"))
6052 (package
6053 (name "sbcl-fare-quasiquote")
6054 (build-system asdf-build-system/sbcl)
6055 (version (git-version "1.0.1" revision commit))
6056 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
6057 (source
6058 (origin
6059 (method git-fetch)
6060 (uri (git-reference
6061 (url (string-append "https://gitlab.common-lisp.net/frideau/"
6062 "fare-quasiquote.git"))
6063 (commit commit)))
6064 (file-name (git-file-name name version))
6065 (sha256
6066 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
6067 (inputs
6068 `(("fare-utils" ,sbcl-fare-utils)
6069 ("named-readtables" ,sbcl-named-readtables)
6070 ("optima" ,sbcl-optima)))
6071 (arguments
6072 ;; XXX: Circular dependencies: Tests depend on subsystems,
6073 ;; which depend on the main systems.
6074 `(#:tests? #f
6075 #:asd-systems '("fare-quasiquote"
6076 "fare-quasiquote-extras")
6077 #:phases
6078 (modify-phases %standard-phases
6079 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
6080 ;; commits after 1.0.0.5, but ASDF fails to read the
6081 ;; "-REVISION-COMMIT" part generated by Guix.
6082 (add-after 'unpack 'patch-requirement
6083 (lambda _
6084 (substitute* "fare-quasiquote.asd"
6085 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
6086 "\"fare-utils\""))
6087 (substitute* "fare-quasiquote-optima.asd"
6088 (("\\(:version \"optima\" \"1\\.0\"\\)")
6089 "\"optima\""))
6090 #t)))))
6091 (synopsis "Pattern-matching friendly implementation of quasiquote")
6092 (description "The main purpose of this n+2nd reimplementation of
6093 quasiquote is enable matching of quasiquoted patterns, using Optima or
6094 Trivia.")
6095 (license license:expat))))
6096
6097 (define-public cl-fare-quasiquote
6098 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
6099
6100 (define-public ecl-fare-quasiquote
6101 (sbcl-package->ecl-package sbcl-fare-quasiquote))
6102
6103 ;;; Split the trivia package in two to work around the circular dependency
6104 ;;; between guicho271828/trivia and guicho271828/type-i.
6105 (define-public sbcl-trivia.trivial
6106 (let ((commit "7286d5d2a4f685f1cac8370816f95276c0851111")
6107 (revision "3"))
6108 (package
6109 (name "sbcl-trivia.trivial")
6110 (version (git-version "0.0.0" revision commit))
6111 (source
6112 (origin
6113 (method git-fetch)
6114 (uri (git-reference
6115 (url "https://github.com/guicho271828/trivia")
6116 (commit commit)))
6117 (file-name (git-file-name "trivia" version))
6118 (sha256
6119 (base32
6120 "0ln0sj3jry7kzbmxhnin66kpbqan1wp8wwgdbw4k29afbdblkcca"))))
6121 (build-system asdf-build-system/sbcl)
6122 (inputs
6123 `(("alexandria" ,sbcl-alexandria)
6124 ("closer-mop" ,sbcl-closer-mop)
6125 ("lisp-namespace" ,sbcl-lisp-namespace)
6126 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
6127 (arguments
6128 '(#:phases
6129 (modify-phases %standard-phases
6130 (add-after 'unpack 'fix-build
6131 (lambda _
6132 (for-each delete-file
6133 '("trivia.balland2006.asd"
6134 "trivia.ppcre.asd"
6135 "trivia.quasiquote.asd"
6136 "trivia.cffi.asd"
6137 "trivia.asd"
6138 "trivia.test.asd"))
6139 #t)))))
6140 (synopsis "Pattern matching in Common Lisp")
6141 (description "Trivia is a pattern matching compiler that is compatible
6142 with Optima, another pattern matching library for Common Lisp. It is meant to
6143 be faster and more extensible than Optima.")
6144 (home-page "https://github.com/guicho271828/trivia")
6145 (license license:llgpl))))
6146
6147 (define-public cl-trivia.trivial
6148 (sbcl-package->cl-source-package sbcl-trivia.trivial))
6149
6150 (define-public ecl-trivia.trivial
6151 (sbcl-package->ecl-package sbcl-trivia.trivial))
6152
6153 (define-public sbcl-trivia
6154 (package
6155 (inherit sbcl-trivia.trivial)
6156 (name "sbcl-trivia")
6157 (native-inputs
6158 `(("fiveam" ,sbcl-fiveam)
6159 ("optima" ,sbcl-optima)))
6160 (inputs
6161 `(("alexandria" ,sbcl-alexandria)
6162 ("cffi" ,sbcl-cffi)
6163 ("cl-ppcre" ,sbcl-cl-ppcre)
6164 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6165 ("iterate" ,sbcl-iterate)
6166 ("trivia.trivial" ,sbcl-trivia.trivial)
6167 ("type-i" ,sbcl-type-i)))
6168 (arguments
6169 '(#:asd-systems '("trivia"
6170 "trivia.ppcre"
6171 "trivia.quasiquote"
6172 "trivia.cffi")
6173 #:test-asd-file "trivia.test.asd"
6174 #:phases
6175 (modify-phases %standard-phases
6176 (add-after 'unpack 'fix-build
6177 (lambda _
6178 (for-each delete-file
6179 '("trivia.level0.asd"
6180 "trivia.level1.asd"
6181 "trivia.level2.asd"
6182 "trivia.trivial.asd"))
6183 #t)))))))
6184
6185 (define-public cl-trivia
6186 (sbcl-package->cl-source-package sbcl-trivia))
6187
6188 (define-public ecl-trivia
6189 (sbcl-package->ecl-package sbcl-trivia))
6190
6191 (define-public sbcl-mk-string-metrics
6192 (package
6193 (name "sbcl-mk-string-metrics")
6194 (version "0.1.2")
6195 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6196 (source (origin
6197 (method git-fetch)
6198 (uri (git-reference
6199 (url home-page)
6200 (commit version)))
6201 (sha256
6202 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6203 (file-name (git-file-name name version))))
6204 (build-system asdf-build-system/sbcl)
6205 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6206 (description "This library implements efficient algorithms that calculate
6207 various string metrics in Common Lisp:
6208
6209 @itemize
6210 @item Damerau-Levenshtein distance
6211 @item Hamming distance
6212 @item Jaccard similarity coefficient
6213 @item Jaro distance
6214 @item Jaro-Winkler distance
6215 @item Levenshtein distance
6216 @item Normalized Damerau-Levenshtein distance
6217 @item Normalized Levenshtein distance
6218 @item Overlap coefficient
6219 @end itemize\n")
6220 (license license:x11)))
6221
6222 (define-public cl-mk-string-metrics
6223 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6224
6225 (define-public ecl-mk-string-metrics
6226 (sbcl-package->ecl-package sbcl-mk-string-metrics))
6227
6228 (define-public sbcl-cl-str
6229 (package
6230 (name "sbcl-cl-str")
6231 (version "0.19")
6232 (home-page "https://github.com/vindarel/cl-str")
6233 (source (origin
6234 (method git-fetch)
6235 (uri (git-reference
6236 (url home-page)
6237 (commit version)))
6238 (sha256
6239 (base32 "1jyza2jhn7w6fl4w87pv0m87z5ia48m6dqw12k0mdh7l3mgjq839"))
6240 (file-name (git-file-name name version))))
6241 (build-system asdf-build-system/sbcl)
6242 (inputs
6243 `(("cl-ppcre" ,sbcl-cl-ppcre)
6244 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
6245 ("cl-change-case" ,sbcl-cl-change-case)))
6246 (native-inputs
6247 `(("prove" ,sbcl-prove)))
6248 (arguments
6249 `(#:asd-systems '("str")
6250 #:test-asd-file "str.test.asd"))
6251 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6252 (description "A modern and consistent Common Lisp string manipulation
6253 library that focuses on modernity, simplicity and discoverability:
6254 @code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6255 @code{str:concat strings} instead of an unusual format construct; one
6256 discoverable library instead of many; consistency and composability, where
6257 @code{s} is always the last argument, which makes it easier to feed pipes and
6258 arrows.")
6259 (license license:expat)))
6260
6261 (define-public cl-str
6262 (sbcl-package->cl-source-package sbcl-cl-str))
6263
6264 (define-public ecl-cl-str
6265 (sbcl-package->ecl-package sbcl-cl-str))
6266
6267 (define-public sbcl-cl-xmlspam
6268 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6269 (package
6270 (name "sbcl-cl-xmlspam")
6271 (build-system asdf-build-system/sbcl)
6272 (version (git-version "0.0.0" "1" commit))
6273 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6274 (source
6275 (origin
6276 (method git-fetch)
6277 (uri (git-reference
6278 (url home-page)
6279 (commit commit)))
6280 (file-name (string-append name "-" version))
6281 (sha256
6282 (base32
6283 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6284 (inputs
6285 `(("cxml" ,sbcl-cxml)
6286 ("cl-ppcre" ,sbcl-cl-ppcre)))
6287 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6288 (description "CXML does an excellent job at parsing XML elements, but what
6289 do you do when you have a XML file that's larger than you want to fit in
6290 memory, and you want to extract some information from it? Writing code to deal
6291 with SAX events, or even using Klacks, quickly becomes tedious.
6292 @code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6293 to write code that mirrors the structure of the XML that it's parsing. It
6294 also makes it easy to shift paradigms when necessary - the usual Lisp control
6295 constructs can be used interchangeably with pattern matching, and the full
6296 power of CXML is available when necessary.")
6297 (license license:bsd-3))))
6298
6299 (define-public cl-xmlspam
6300 (sbcl-package->cl-source-package sbcl-cl-xmlspam))
6301
6302 (define-public ecl-cl-xmlspam
6303 (sbcl-package->ecl-package sbcl-cl-xmlspam))
6304
6305 (define-public sbcl-dbus
6306 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6307 (revision "1"))
6308 (package
6309 (name "sbcl-dbus")
6310 (version (git-version "20190408" revision commit))
6311 (home-page "https://github.com/death/dbus")
6312 (source
6313 (origin
6314 (method git-fetch)
6315 (uri (git-reference
6316 (url home-page)
6317 (commit commit)))
6318 (file-name (git-file-name name version))
6319 (sha256
6320 (base32
6321 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
6322 (build-system asdf-build-system/sbcl)
6323 (inputs
6324 `(("alexandria" ,sbcl-alexandria)
6325 ("trivial-garbage" ,sbcl-trivial-garbage)
6326 ("babel" ,sbcl-babel)
6327 ("iolib" ,sbcl-iolib)
6328 ("ieee-floats" ,sbcl-ieee-floats)
6329 ("flexi-streams" ,sbcl-flexi-streams)
6330 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6331 ("ironclad" ,sbcl-ironclad)))
6332 (synopsis "D-Bus client library for Common Lisp")
6333 (description "This is a Common Lisp library that publishes D-Bus
6334 objects as well as send and notify other objects connected to a bus.")
6335 (license license:bsd-2))))
6336
6337 (define-public cl-dbus
6338 (sbcl-package->cl-source-package sbcl-dbus))
6339
6340 (define-public ecl-dbus
6341 (sbcl-package->ecl-package sbcl-dbus))
6342
6343 (define-public sbcl-cl-hooks
6344 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6345 (revision "1"))
6346 (package
6347 (name "sbcl-cl-hooks")
6348 (build-system asdf-build-system/sbcl)
6349 (version (git-version "0.2.1" revision commit))
6350 (home-page "https://github.com/scymtym/architecture.hooks")
6351 (source
6352 (origin
6353 (method git-fetch)
6354 (uri (git-reference
6355 (url home-page)
6356 (commit commit)))
6357 (file-name (git-file-name name version))
6358 (sha256
6359 (base32
6360 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6361 (inputs
6362 `(("alexandria" ,sbcl-alexandria)
6363 ("let-plus" ,sbcl-let-plus)
6364 ("trivial-garbage" ,sbcl-trivial-garbage)
6365 ("closer-mop" ,sbcl-closer-mop)))
6366 (native-inputs
6367 `(("fiveam" ,sbcl-fiveam)))
6368 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6369 (description "A hook, in the present context, is a certain kind of
6370 extension point in a program that allows interleaving the execution of
6371 arbitrary code with the execution of a the program without introducing any
6372 coupling between the two. Hooks are used extensively in the extensible editor
6373 Emacs.
6374
6375 In the Common LISP Object System (CLOS), a similar kind of extensibility is
6376 possible using the flexible multi-method dispatch mechanism. It may even seem
6377 that the concept of hooks does not provide any benefits over the possibilities
6378 of CLOS. However, there are some differences:
6379
6380 @itemize
6381
6382 @item There can be only one method for each combination of specializers and
6383 qualifiers. As a result this kind of extension point cannot be used by
6384 multiple extensions independently.
6385 @item Removing code previously attached via a @code{:before}, @code{:after} or
6386 @code{:around} method can be cumbersome.
6387 @item There could be other or even multiple extension points besides @code{:before}
6388 and @code{:after} in a single method.
6389 @item Attaching codes to individual objects using eql specializers can be
6390 cumbersome.
6391 @item Introspection of code attached a particular extension point is
6392 cumbersome since this requires enumerating and inspecting the methods of a
6393 generic function.
6394 @end itemize
6395
6396 This library tries to complement some of these weaknesses of method-based
6397 extension-points via the concept of hooks.")
6398 (license license:llgpl))))
6399
6400 (define-public cl-hooks
6401 (sbcl-package->cl-source-package sbcl-cl-hooks))
6402
6403 (define-public ecl-cl-hooks
6404 (sbcl-package->ecl-package sbcl-cl-hooks))
6405
6406 (define-public sbcl-cl-autowrap
6407 (let ((revision "1")
6408 (commit "ae846d6968fc0d000de0c541638929a157f3009e"))
6409 ;; no taged branches
6410 (package
6411 (name "sbcl-cl-autowrap")
6412 (version (git-version "1.0" revision commit))
6413 (source
6414 (origin
6415 (method git-fetch)
6416 (uri (git-reference
6417 (url "https://github.com/rpav/cl-autowrap")
6418 (commit commit)))
6419 (file-name (git-file-name name version))
6420 (sha256
6421 (base32 "1gisldp2zns92kdcaikghm7c38ldy2d884n8bfg0wcjvbz78p3ar"))))
6422 (build-system asdf-build-system/sbcl)
6423 (inputs
6424 `(("alexandria" ,sbcl-alexandria)
6425 ("cffi" ,sbcl-cffi)
6426 ("cl-json" ,sbcl-cl-json)
6427 ("cl-ppcre" ,sbcl-cl-ppcre)
6428 ("defpackage-plus" ,sbcl-defpackage-plus)
6429 ("trivial-features" ,sbcl-trivial-features)))
6430 (home-page "https://github.com/rpav/cl-autowrap")
6431 (synopsis "FFI wrapper generator for Common Lisp")
6432 (description "This is a c2ffi-based wrapper generator for Common Lisp.")
6433 (license license:bsd-2))))
6434
6435 (define-public cl-autowrap
6436 (sbcl-package->cl-source-package sbcl-cl-autowrap))
6437
6438 (define-public ecl-cl-autowrap
6439 (sbcl-package->ecl-package sbcl-cl-autowrap))
6440
6441 (define-public sbcl-s-sysdeps
6442 ;; No release since 2013.
6443 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
6444 (revision "2"))
6445 (package
6446 (name "sbcl-s-sysdeps")
6447 (build-system asdf-build-system/sbcl)
6448 (version (git-version "1" revision commit))
6449 (home-page "https://github.com/svenvc/s-sysdeps")
6450 (source
6451 (origin
6452 (method git-fetch)
6453 (uri (git-reference
6454 (url home-page)
6455 (commit commit)))
6456 (file-name (git-file-name name version))
6457 (sha256
6458 (base32
6459 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
6460 (inputs
6461 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
6462 ("usocket" ,sbcl-usocket)))
6463 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6464 (description "@code{s-sysdeps} is an abstraction layer over platform
6465 dependent functionality. This simple package is used as a building block in a
6466 number of other open source projects.
6467
6468 @code{s-sysdeps} abstracts:
6469
6470 @itemize
6471 @item managing processes,
6472 @item implementing a standard TCP/IP server,
6473 @item opening a client TCP/IP socket stream,
6474 @item working with process locks.
6475 @end itemize\n")
6476 (license license:llgpl))))
6477
6478 (define-public cl-s-sysdeps
6479 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6480
6481 (define-public ecl-s-sysdeps
6482 (sbcl-package->ecl-package sbcl-s-sysdeps))
6483
6484 (define-public sbcl-cl-prevalence
6485 (let ((commit "5a76be036092ed6c18cb695a9e03bce87e21b840")
6486 (revision "4"))
6487 (package
6488 (name "sbcl-cl-prevalence")
6489 (build-system asdf-build-system/sbcl)
6490 (version (git-version "5" revision commit))
6491 (home-page "https://github.com/40ants/cl-prevalence")
6492 (source
6493 (origin
6494 (method git-fetch)
6495 (uri (git-reference
6496 (url home-page)
6497 (commit commit)))
6498 (file-name (git-file-name name version))
6499 (sha256
6500 (base32
6501 "050h6hwv8f16b5v6fzba8zmih92hgaaq27i2x9wv1iib41gbia3r"))))
6502 (inputs
6503 `(("s-sysdeps" ,sbcl-s-sysdeps)
6504 ("s-xml" ,sbcl-s-xml)))
6505 (native-inputs
6506 `(("fiveam" ,sbcl-fiveam)))
6507 (synopsis "Implementation of object prevalence for Common Lisp")
6508 (description "This Common Lisp library implements object prevalence (see
6509 @url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6510 for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6511 classes and cyclic data structures are supported.")
6512 (license license:llgpl))))
6513
6514 (define-public cl-prevalence
6515 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6516
6517 (define-public ecl-cl-prevalence
6518 (sbcl-package->ecl-package sbcl-cl-prevalence))
6519
6520 (define-public sbcl-series
6521 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6522 (revision "1"))
6523 (package
6524 (name "sbcl-series")
6525 (version (git-version "2.2.11" revision commit))
6526 (source
6527 (origin
6528 (method git-fetch)
6529 (uri (git-reference
6530 (url "git://git.code.sf.net/p/series/series")
6531 (commit commit)))
6532 (file-name (git-file-name name version))
6533 (sha256
6534 (base32
6535 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6536 (build-system asdf-build-system/sbcl)
6537 (arguments
6538 ;; Disable the tests, they are apparently buggy and I didn't find
6539 ;; a simple way to make them run and pass.
6540 '(#:tests? #f))
6541 (synopsis "Series data structure for Common Lisp")
6542 (description
6543 "This Common Lisp library provides a series data structure much like
6544 a sequence, with similar kinds of operations. The difference is that in many
6545 situations, operations on series may be composed functionally and yet execute
6546 iteratively, without the need to construct intermediate series values
6547 explicitly. In this manner, series provide both the clarity of a functional
6548 programming style and the efficiency of an iterative programming style.")
6549 (home-page "http://series.sourceforge.net/")
6550 (license license:expat))))
6551
6552 (define-public cl-series
6553 (sbcl-package->cl-source-package sbcl-series))
6554
6555 (define-public ecl-series
6556 (sbcl-package->ecl-package sbcl-series))
6557
6558 (define-public sbcl-periods
6559 (let ((commit "60383dcef88a1ac11f82804ae7a33c361dcd2949")
6560 (revision "2"))
6561 (package
6562 (name "sbcl-periods")
6563 (version (git-version "0.0.2" revision commit))
6564 (source
6565 (origin
6566 (method git-fetch)
6567 (uri (git-reference
6568 (url "https://github.com/jwiegley/periods")
6569 (commit commit)))
6570 (file-name (git-file-name name version))
6571 (sha256
6572 (base32
6573 "1ym2j4an9ig2hl210jg91gpf7xfnp6mlhkw3n9kkdnwiji3ipqlk"))))
6574 (build-system asdf-build-system/sbcl)
6575 (inputs
6576 `(("local-time" ,sbcl-local-time)
6577 ("series" ,sbcl-series)))
6578 (arguments
6579 '(#:asd-systems '("periods"
6580 "periods-series")))
6581 (synopsis "Common Lisp library for manipulating date/time objects")
6582 (description
6583 "Periods is a Common Lisp library providing a set of utilities for
6584 manipulating times, distances between times, and both contiguous and
6585 discontiguous ranges of time.")
6586 (home-page "https://github.com/jwiegley/periods")
6587 (license license:bsd-3))))
6588
6589 (define-public cl-periods
6590 (sbcl-package->cl-source-package sbcl-periods))
6591
6592 (define-public ecl-periods
6593 (sbcl-package->ecl-package sbcl-periods))
6594
6595 (define-public sbcl-metatilities-base
6596 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6597 (revision "1"))
6598 (package
6599 (name "sbcl-metatilities-base")
6600 (version (git-version "0.6.6" revision commit))
6601 (source
6602 (origin
6603 (method git-fetch)
6604 (uri (git-reference
6605 (url "https://github.com/gwkkwg/metatilities-base")
6606 (commit commit)))
6607 (file-name (git-file-name name version))
6608 (sha256
6609 (base32
6610 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6611 (build-system asdf-build-system/sbcl)
6612 (native-inputs
6613 `(("lift" ,sbcl-lift)))
6614 (synopsis "Core of the metatilities Common Lisp library")
6615 (description
6616 "Metatilities-base is the core of the metatilities Common Lisp library
6617 which implements a set of utilities.")
6618 (home-page "https://common-lisp.net/project/metatilities-base/")
6619 (license license:expat))))
6620
6621 (define-public cl-metatilities-base
6622 (sbcl-package->cl-source-package sbcl-metatilities-base))
6623
6624 (define-public ecl-metatilities-base
6625 (sbcl-package->ecl-package sbcl-metatilities-base))
6626
6627 (define-public sbcl-cl-containers
6628 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6629 (revision "3"))
6630 (package
6631 (name "sbcl-cl-containers")
6632 (version (git-version "0.12.1" revision commit))
6633 (source
6634 (origin
6635 (method git-fetch)
6636 (uri (git-reference
6637 (url "https://github.com/gwkkwg/cl-containers")
6638 (commit commit)))
6639 (file-name (git-file-name name version))
6640 (sha256
6641 (base32
6642 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
6643 (build-system asdf-build-system/sbcl)
6644 (native-inputs
6645 `(("lift" ,sbcl-lift)))
6646 (inputs
6647 `(("metatilities-base" ,sbcl-metatilities-base)))
6648 (arguments
6649 '(#:asd-files '("cl-containers.asd")
6650 #:phases
6651 (modify-phases %standard-phases
6652 (add-after 'unpack 'relax-version-checks
6653 (lambda _
6654 (substitute* "cl-containers.asd"
6655 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6656 "\"metatilities-base\""))
6657 (substitute* "cl-containers-test.asd"
6658 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6659 "\"lift\""))
6660 #t)))))
6661 (synopsis "Container library for Common Lisp")
6662 (description
6663 "Common Lisp ships with a set of powerful built in data structures
6664 including the venerable list, full featured arrays, and hash-tables.
6665 CL-containers enhances and builds on these structures by adding containers
6666 that are not available in native Lisp (for example: binary search trees,
6667 red-black trees, sparse arrays and so on), and by providing a standard
6668 interface so that they are simpler to use and so that changing design
6669 decisions becomes significantly easier.")
6670 (home-page "https://common-lisp.net/project/cl-containers/")
6671 (license license:expat))))
6672
6673 (define-public cl-containers
6674 (sbcl-package->cl-source-package sbcl-cl-containers))
6675
6676 (define-public ecl-cl-containers
6677 (sbcl-package->ecl-package sbcl-cl-containers))
6678
6679 (define-public sbcl-xlunit
6680 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6681 (revision "1"))
6682 (package
6683 (name "sbcl-xlunit")
6684 (version (git-version "0.6.3" revision commit))
6685 (source
6686 (origin
6687 (method git-fetch)
6688 (uri (git-reference
6689 (url "http://git.kpe.io/xlunit.git")
6690 (commit commit)))
6691 (file-name (git-file-name name version))
6692 (sha256
6693 (base32
6694 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6695 (build-system asdf-build-system/sbcl)
6696 (arguments
6697 '(#:phases
6698 (modify-phases %standard-phases
6699 (add-after 'unpack 'fix-tests
6700 (lambda _
6701 (substitute* "xlunit.asd"
6702 ((" :force t") ""))
6703 #t)))))
6704 (synopsis "Unit testing package for Common Lisp")
6705 (description
6706 "The XLUnit package is a toolkit for building test suites. It is based
6707 on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6708 (home-page "http://quickdocs.org/xlunit/")
6709 (license license:bsd-3))))
6710
6711 (define-public cl-xlunit
6712 (sbcl-package->cl-source-package sbcl-xlunit))
6713
6714 (define-public ecl-xlunit
6715 (sbcl-package->ecl-package sbcl-xlunit))
6716
6717 (define-public sbcl-cambl
6718 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6719 (revision "1"))
6720 (package
6721 (name "sbcl-cambl")
6722 (version (git-version "4.0.0" revision commit))
6723 (source
6724 (origin
6725 (method git-fetch)
6726 (uri (git-reference
6727 (url "https://github.com/jwiegley/cambl")
6728 (commit commit)))
6729 (file-name (git-file-name "cambl" version))
6730 (sha256
6731 (base32 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6732 (build-system asdf-build-system/sbcl)
6733 (native-inputs
6734 `(("xlunit" ,sbcl-xlunit)))
6735 (inputs
6736 `(("alexandria" ,sbcl-alexandria)
6737 ("cl-containers" ,sbcl-cl-containers)
6738 ("local-time" ,sbcl-local-time)
6739 ("periods" ,sbcl-periods)))
6740 (arguments
6741 '(#:asd-files '("fprog.asd"
6742 "cambl.asd")))
6743 (synopsis "Commoditized amounts and balances for Common Lisp")
6744 (description
6745 "CAMBL is a Common Lisp library providing a convenient facility for
6746 working with commoditized values. It does not allow compound units (and so is
6747 not suited for scientific operations) but does work rather nicely for the
6748 purpose of financial calculations.")
6749 (home-page "https://github.com/jwiegley/cambl")
6750 (license license:bsd-3))))
6751
6752 (define-public cl-cambl
6753 (sbcl-package->cl-source-package sbcl-cambl))
6754
6755 (define-public ecl-cambl
6756 (sbcl-package->ecl-package sbcl-cambl))
6757
6758 (define-public sbcl-cl-ledger
6759 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6760 (revision "1"))
6761 (package
6762 (name "sbcl-cl-ledger")
6763 (version (git-version "4.0.0" revision commit))
6764 (source
6765 (origin
6766 (method git-fetch)
6767 (uri (git-reference
6768 (url "https://github.com/ledger/cl-ledger")
6769 (commit commit)))
6770 (file-name (git-file-name name version))
6771 (sha256
6772 (base32
6773 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6774 (build-system asdf-build-system/sbcl)
6775 (inputs
6776 `(("cambl" ,sbcl-cambl)
6777 ("cl-ppcre" ,sbcl-cl-ppcre)
6778 ("local-time" ,sbcl-local-time)
6779 ("periods" ,sbcl-periods)))
6780 (arguments
6781 '(#:phases
6782 (modify-phases %standard-phases
6783 (add-after 'unpack 'fix-system-definition
6784 (lambda _
6785 (substitute* "cl-ledger.asd"
6786 ((" :build-operation program-op") "")
6787 ((" :build-pathname \"cl-ledger\"") "")
6788 ((" :entry-point \"ledger::main\"") ""))
6789 #t)))))
6790 (synopsis "Common Lisp port of the Ledger accounting system")
6791 (description
6792 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6793 system.")
6794 (home-page "https://github.com/ledger/cl-ledger")
6795 (license license:bsd-3))))
6796
6797 (define-public cl-ledger
6798 (sbcl-package->cl-source-package sbcl-cl-ledger))
6799
6800 (define-public ecl-cl-ledger
6801 (sbcl-package->ecl-package sbcl-cl-ledger))
6802
6803 (define-public sbcl-bst
6804 (let ((commit "8545aed0d504df2829ad139566feeabe22305388")
6805 (revision "0"))
6806 (package
6807 (name "sbcl-bst")
6808 (version (git-version "2.0" revision commit))
6809 (source
6810 (origin
6811 (method git-fetch)
6812 (uri (git-reference
6813 (url "https://github.com/glv2/bst")
6814 (commit commit)))
6815 (file-name (git-file-name name version))
6816 (sha256
6817 (base32 "18ig7rvxcra69437g0i8sxyv7c5dg26jqnx1rc2f9pxmihdprgk8"))))
6818 (build-system asdf-build-system/sbcl)
6819 (native-inputs
6820 `(("alexandria" ,sbcl-alexandria)
6821 ("fiveam" ,sbcl-fiveam)))
6822 (synopsis "Binary search tree for Common Lisp")
6823 (description
6824 "BST is a Common Lisp library for working with binary search trees that
6825 can contain any kind of values.")
6826 (home-page "https://github.com/glv2/bst")
6827 (license license:gpl3))))
6828
6829 (define-public cl-bst
6830 (sbcl-package->cl-source-package sbcl-bst))
6831
6832 (define-public ecl-bst
6833 (sbcl-package->ecl-package sbcl-bst))
6834
6835 (define-public sbcl-cl-octet-streams
6836 (package
6837 (name "sbcl-cl-octet-streams")
6838 (version "1.2")
6839 (source
6840 (origin
6841 (method git-fetch)
6842 (uri (git-reference
6843 (url "https://github.com/glv2/cl-octet-streams")
6844 (commit (string-append "v" version))))
6845 (file-name (git-file-name name version))
6846 (sha256
6847 (base32 "1hffh98bv4w5yrchagzwqrc43d2p473pvw7ka4kyyvhrr52dk2f8"))))
6848 (build-system asdf-build-system/sbcl)
6849 (native-inputs
6850 `(("fiveam" ,sbcl-fiveam)))
6851 (inputs
6852 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6853 (synopsis "In-memory octet streams for Common Lisp")
6854 (description
6855 "CL-octet-streams is a library implementing in-memory octet
6856 streams for Common Lisp. It was inspired by the trivial-octet-streams and
6857 cl-plumbing libraries.")
6858 (home-page "https://github.com/glv2/cl-octet-streams")
6859 (license license:gpl3+)))
6860
6861 (define-public cl-octet-streams
6862 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
6863
6864 (define-public ecl-cl-octet-streams
6865 (sbcl-package->ecl-package sbcl-cl-octet-streams))
6866
6867 (define-public sbcl-lzlib
6868 (let ((commit "cad10f5becbcfebb44b9d311a257563778803452")
6869 (revision "2"))
6870 (package
6871 (name "sbcl-lzlib")
6872 (version (git-version "1.1" revision commit))
6873 (source
6874 (origin
6875 (method git-fetch)
6876 (uri (git-reference
6877 (url "https://github.com/glv2/cl-lzlib")
6878 (commit commit)))
6879 (file-name (git-file-name name version))
6880 (sha256
6881 (base32 "09lp7li35h4jkls0448fj1sh6pjslr1w7ranbc4szjr8g0c2bdry"))))
6882 (build-system asdf-build-system/sbcl)
6883 (native-inputs
6884 `(("fiveam" ,sbcl-fiveam)))
6885 (inputs
6886 `(("cffi" ,sbcl-cffi)
6887 ("cl-octet-streams" ,sbcl-cl-octet-streams)
6888 ("lparallel" ,sbcl-lparallel)
6889 ("lzlib" ,lzlib)))
6890 (arguments
6891 '(#:phases
6892 (modify-phases %standard-phases
6893 (add-after 'unpack 'fix-paths
6894 (lambda* (#:key inputs #:allow-other-keys)
6895 (substitute* "src/lzlib.lisp"
6896 (("liblz\\.so")
6897 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
6898 #t)))))
6899 (synopsis "Common Lisp library for lzip (de)compression")
6900 (description
6901 "This Common Lisp library provides functions for lzip (LZMA)
6902 compression/decompression using bindings to the lzlib C library.")
6903 (home-page "https://github.com/glv2/cl-lzlib")
6904 (license license:gpl3+))))
6905
6906 (define-public cl-lzlib
6907 (sbcl-package->cl-source-package sbcl-lzlib))
6908
6909 (define-public ecl-lzlib
6910 (sbcl-package->ecl-package sbcl-lzlib))
6911
6912 (define-public sbcl-chanl
6913 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
6914 (revision "1"))
6915 (package
6916 (name "sbcl-chanl")
6917 (version (git-version "0.4.1" revision commit))
6918 (source
6919 (origin
6920 (method git-fetch)
6921 (uri (git-reference
6922 (url "https://github.com/zkat/chanl")
6923 (commit commit)))
6924 (file-name (git-file-name name version))
6925 (sha256
6926 (base32
6927 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
6928 (build-system asdf-build-system/sbcl)
6929 (native-inputs
6930 `(("fiveam" ,sbcl-fiveam)))
6931 (inputs
6932 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
6933 (synopsis "Portable channel-based concurrency for Common Lisp")
6934 (description "Common Lisp library for channel-based concurrency. In
6935 a nutshell, you create various threads sequentially executing tasks you need
6936 done, and use channel objects to communicate and synchronize the state of these
6937 threads.")
6938 (home-page "https://github.com/zkat/chanl")
6939 (license (list license:expat license:bsd-3)))))
6940
6941 (define-public cl-chanl
6942 (sbcl-package->cl-source-package sbcl-chanl))
6943
6944 (define-public ecl-chanl
6945 (sbcl-package->ecl-package sbcl-chanl))
6946
6947 (define-public sbcl-cl-store
6948 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
6949 (revision "1"))
6950 (package
6951 (name "sbcl-cl-store")
6952 (version (git-version "0.8.11" revision commit))
6953 (source
6954 (origin
6955 (method git-fetch)
6956 (uri (git-reference
6957 (url "https://github.com/skypher/cl-store")
6958 (commit commit)))
6959 (file-name (git-file-name name version))
6960 (sha256
6961 (base32
6962 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
6963 (build-system asdf-build-system/sbcl)
6964 (native-inputs
6965 `(("rt" ,sbcl-rt)))
6966 (synopsis "Common Lisp library to serialize data")
6967 (description
6968 "CL-STORE is a portable serialization package which should give you the
6969 ability to store all Common Lisp data types into streams.")
6970 (home-page "https://www.common-lisp.net/project/cl-store/")
6971 (license license:expat))))
6972
6973 (define-public cl-store
6974 (sbcl-package->cl-source-package sbcl-cl-store))
6975
6976 (define-public ecl-cl-store
6977 (sbcl-package->ecl-package sbcl-cl-store))
6978
6979 (define-public sbcl-specialization-store
6980 (let ((commit "8d39a866a6f24986aad3cc52349e9cb2653496f3")
6981 (revision "1"))
6982 (package
6983 (name "sbcl-specialization-store")
6984 (version (git-version "0.0.5" revision commit))
6985 (source
6986 (origin
6987 (method git-fetch)
6988 (uri (git-reference
6989 (url "https://github.com/markcox80/specialization-store")
6990 (commit commit)))
6991 (file-name (git-file-name "specialization-store" version))
6992 (sha256
6993 (base32 "0r0bgb46q4gy72l78s7djkxq8ibb4bb3yh9brsry5lih7br8lhi0"))))
6994 (build-system asdf-build-system/sbcl)
6995 (native-inputs
6996 `(("fiveam" ,sbcl-fiveam)))
6997 (inputs
6998 `(("alexandria" ,sbcl-alexandria)
6999 ("introspect-environment" ,sbcl-introspect-environment)))
7000 (home-page "https://github.com/markcox80/specialization-store")
7001 (synopsis "Different type of generic function for Common Lisp")
7002 (description
7003 "SPECIALIZATION-STORE system provides a new kind of function, called
7004 a store function, whose behavior depends on the types of objects passed to the
7005 function.")
7006 (license license:bsd-2))))
7007
7008 (define-public ecl-specialization-store
7009 (package
7010 (inherit (sbcl-package->ecl-package sbcl-specialization-store))
7011 (arguments
7012 ;; TODO: Find why the tests get stuck forever; disable them for now.
7013 `(#:tests? #f))))
7014
7015 (define-public cl-specialization-store
7016 (sbcl-package->cl-source-package sbcl-specialization-store))
7017
7018 (define-public sbcl-cl-gobject-introspection
7019 (let ((commit "d0136c8d9ade2560123af1fc55bbf70d2e3db539")
7020 (revision "1"))
7021 (package
7022 (name "sbcl-cl-gobject-introspection")
7023 (version (git-version "0.3" revision commit))
7024 (home-page "https://github.com/andy128k/cl-gobject-introspection")
7025 (source
7026 (origin
7027 (method git-fetch)
7028 (uri (git-reference
7029 (url home-page)
7030 (commit commit)))
7031 (file-name (git-file-name name version))
7032 (sha256
7033 (base32
7034 "0dz0r73pq7yhz2iq2jnkq977awx2zws2qfxdcy33329sys1ii32p"))))
7035 (build-system asdf-build-system/sbcl)
7036 (inputs
7037 `(("alexandria" ,sbcl-alexandria)
7038 ("cffi" ,sbcl-cffi)
7039 ("iterate" ,sbcl-iterate)
7040 ("trivial-garbage" ,sbcl-trivial-garbage)
7041 ("glib" ,glib)
7042 ("gobject-introspection" ,gobject-introspection)))
7043 (native-inputs
7044 `(("fiveam" ,sbcl-fiveam)))
7045 (arguments
7046 '(#:phases
7047 (modify-phases %standard-phases
7048 (add-after 'unpack 'fix-paths
7049 (lambda* (#:key inputs #:allow-other-keys)
7050 (substitute* "src/init.lisp"
7051 (("libgobject-2\\.0\\.so")
7052 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
7053 (("libgirepository-1\\.0\\.so")
7054 (string-append (assoc-ref inputs "gobject-introspection")
7055 "/lib/libgirepository-1.0.so")))
7056 #t)))))
7057 (synopsis "Common Lisp bindings to GObject Introspection")
7058 (description
7059 "This library is a bridge between Common Lisp and GObject
7060 Introspection, which enables Common Lisp programs to access the full interface
7061 of C+GObject libraries without the need of writing dedicated bindings.")
7062 (license (list license:bsd-3
7063 ;; Tests are under a different license.
7064 license:llgpl)))))
7065
7066 (define-public cl-gobject-introspection
7067 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
7068
7069 (define-public ecl-cl-gobject-introspection
7070 (sbcl-package->ecl-package sbcl-cl-gobject-introspection))
7071
7072 (define-public sbcl-cl-slug
7073 (let ((commit "ffb229d10f0d3f7f54e706791725225e200bf749")
7074 (revision "1"))
7075 (package
7076 (name "sbcl-cl-slug")
7077 (version (git-version "0.4.1" revision commit))
7078 (source
7079 (origin
7080 (method git-fetch)
7081 (uri (git-reference
7082 (url "https://github.com/EuAndreh/cl-slug")
7083 (commit commit)))
7084 (file-name (git-file-name "cl-slug" version))
7085 (sha256
7086 (base32 "1asdq6xllmsvfw5fky9wblqcx9isac9jrrlkfl7vyxcq1wxrnflx"))))
7087 (build-system asdf-build-system/sbcl)
7088 (arguments
7089 `(#:asd-files '("cl-slug-test.asd" "cl-slug.asd")
7090 #:asd-systems '("cl-slug-test" "cl-slug")))
7091 (native-inputs
7092 `(("prove" ,sbcl-prove)))
7093 (inputs
7094 `(("ppcre" ,sbcl-cl-ppcre)))
7095 (home-page "https://github.com/EuAndreh/cl-slug")
7096 (synopsis "Multi-language slug formater")
7097 (description
7098 "This is a small Common Lisp library to make slugs, mainly for URIs,
7099 from english and beyond.")
7100 (license license:llgpl))))
7101
7102 (define-public ecl-cl-slug
7103 (sbcl-package->ecl-package sbcl-cl-slug))
7104
7105 (define-public cl-slug
7106 (sbcl-package->cl-source-package sbcl-cl-slug))
7107
7108 (define-public sbcl-string-case
7109 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
7110 (revision "0"))
7111 (package
7112 (name "sbcl-string-case")
7113 (version (git-version "0.0.2" revision commit))
7114 (home-page "https://github.com/pkhuong/string-case")
7115 (source
7116 (origin
7117 (method git-fetch)
7118 (uri (git-reference
7119 (url home-page)
7120 (commit commit)))
7121 (file-name (git-file-name name version))
7122 (sha256
7123 (base32
7124 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7125 (build-system asdf-build-system/sbcl)
7126 (synopsis "Efficient string= case in Common Lisp")
7127 (description
7128 "@code{string-case} is a Common Lisp macro that generates specialised decision
7129 trees to dispatch on string equality.")
7130 (license license:bsd-3))))
7131
7132 (define-public cl-string-case
7133 (sbcl-package->cl-source-package sbcl-string-case))
7134
7135 (define-public ecl-string-case
7136 (sbcl-package->ecl-package sbcl-string-case))
7137
7138 (define-public sbcl-garbage-pools
7139 (let ((commit "9a7cb7f48b04197c0495df3b6d2e8395ad13f790")
7140 (revision "1"))
7141 (package
7142 (name "sbcl-garbage-pools")
7143 (version (git-version "0.1.2" revision commit))
7144 (source
7145 (origin
7146 (method git-fetch)
7147 (uri (git-reference
7148 (url "https://github.com/archimag/garbage-pools")
7149 (commit commit)))
7150 (file-name (git-file-name name version))
7151 (sha256
7152 (base32 "04jqwr6j138him6wc4nrwjzm4lvyj5j31xqab02nkf8h9hmsf5v1"))))
7153 (build-system asdf-build-system/sbcl)
7154 (home-page "https://github.com/archimag/garbage-pools")
7155 (synopsis "Resource management pools for Common Lisp")
7156 (description "GARBAGE-POOLS is Common Lisp re-implementation of the APR
7157 Pools for resource management.")
7158 (license license:expat))))
7159
7160 (define-public ecl-garbage-pools
7161 (sbcl-package->ecl-package sbcl-garbage-pools))
7162
7163 (define-public cl-garbage-pools
7164 (sbcl-package->cl-source-package sbcl-garbage-pools))
7165
7166 (define-public sbcl-global-vars
7167 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7168 (revision "0"))
7169 (package
7170 (name "sbcl-global-vars")
7171 (version (git-version "1.0.0" revision commit))
7172 (home-page "https://github.com/lmj/global-vars")
7173 (source
7174 (origin
7175 (method git-fetch)
7176 (uri (git-reference
7177 (url home-page)
7178 (commit commit)))
7179 (file-name (git-file-name name version))
7180 (sha256
7181 (base32
7182 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7183 (build-system asdf-build-system/sbcl)
7184 (synopsis "Efficient global variables in Common Lisp")
7185 (description
7186 "In Common Lisp, a special variable that is never dynamically bound
7187 typically serves as a stand-in for a global variable. The @code{global-vars}
7188 library provides true global variables that are implemented by some compilers.
7189 An attempt to rebind a global variable properly results in a compiler error.
7190 That is, a global variable cannot be dynamically bound.
7191
7192 Global variables therefore allow us to communicate an intended usage that
7193 differs from special variables. Global variables are also more efficient than
7194 special variables, especially in the presence of threads.")
7195 (license license:expat))))
7196
7197 (define-public cl-global-vars
7198 (sbcl-package->cl-source-package sbcl-global-vars))
7199
7200 (define-public ecl-global-vars
7201 (sbcl-package->ecl-package sbcl-global-vars))
7202
7203 (define-public sbcl-trivial-file-size
7204 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7205 (revision "0"))
7206 (package
7207 (name "sbcl-trivial-file-size")
7208 (version (git-version "0.0.0" revision commit))
7209 (home-page "https://github.com/ruricolist/trivial-file-size")
7210 (source
7211 (origin
7212 (method git-fetch)
7213 (uri (git-reference
7214 (url home-page)
7215 (commit commit)))
7216 (file-name (git-file-name name version))
7217 (sha256
7218 (base32
7219 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7220 (build-system asdf-build-system/sbcl)
7221 (native-inputs
7222 `(("fiveam" ,sbcl-fiveam)))
7223 (synopsis "Size of a file in bytes in Common Lisp")
7224 (description
7225 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7226 is to open the file with an element type of (unsigned-byte 8) and then
7227 calculate the length of the stream. This is less than ideal. In most cases
7228 it is better to get the size of the file from its metadata, using a system
7229 call.
7230
7231 This library exports a single function, file-size-in-octets. It returns the
7232 size of a file in bytes, using system calls when possible.")
7233 (license license:expat))))
7234
7235 (define-public cl-trivial-file-size
7236 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7237
7238 (define-public ecl-trivial-file-size
7239 (sbcl-package->ecl-package sbcl-trivial-file-size))
7240
7241 (define-public sbcl-trivial-macroexpand-all
7242 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7243 (revision "0"))
7244 (package
7245 (name "sbcl-trivial-macroexpand-all")
7246 (version (git-version "0.0.0" revision commit))
7247 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7248 (source
7249 (origin
7250 (method git-fetch)
7251 (uri (git-reference
7252 (url home-page)
7253 (commit commit)))
7254 (file-name (git-file-name name version))
7255 (sha256
7256 (base32
7257 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7258 (build-system asdf-build-system/sbcl)
7259 (native-inputs
7260 `(("fiveam" ,sbcl-fiveam)))
7261 (synopsis "Portable macroexpand-all for Common Lisp")
7262 (description
7263 "This library provides a macroexpand-all function that calls the
7264 implementation specific equivalent.")
7265 (license license:unlicense))))
7266
7267 (define-public cl-trivial-macroexpand-all
7268 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7269
7270 (define-public ecl-trivial-macroexpand-all
7271 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7272
7273 (define-public sbcl-serapeum
7274 (let ((commit "263f415a350736b44e3878524ff3997e656fca32")
7275 (revision "4"))
7276 (package
7277 (name "sbcl-serapeum")
7278 (version (git-version "0.0.0" revision commit))
7279 (home-page "https://github.com/ruricolist/serapeum")
7280 (source
7281 (origin
7282 (method git-fetch)
7283 (uri (git-reference
7284 (url home-page)
7285 (commit commit)))
7286 (file-name (git-file-name name version))
7287 (sha256
7288 (base32
7289 "1669yidvxq41s3g6hb2jk21bcb5s2bnfsacpyd5b0hdxbmc7knq3"))))
7290 (build-system asdf-build-system/sbcl)
7291 (inputs
7292 `(("alexandria" ,sbcl-alexandria)
7293 ("trivia" ,sbcl-trivia)
7294 ("split-sequence" ,sbcl-split-sequence)
7295 ("string-case" ,sbcl-string-case)
7296 ("parse-number" ,sbcl-parse-number)
7297 ("trivial-garbage" ,sbcl-trivial-garbage)
7298 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7299 ("named-readtables" ,sbcl-named-readtables)
7300 ("fare-quasiquote" ,sbcl-fare-quasiquote)
7301 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7302 ("global-vars" ,sbcl-global-vars)
7303 ("trivial-file-size" ,sbcl-trivial-file-size)
7304 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7305 (native-inputs
7306 `(("fiveam" ,sbcl-fiveam)
7307 ("local-time" ,sbcl-local-time)))
7308 (arguments
7309 '(#:phases
7310 (modify-phases %standard-phases
7311 (add-after 'unpack 'disable-failing-tests
7312 (lambda* (#:key inputs #:allow-other-keys)
7313 (substitute* "serapeum.asd"
7314 ;; Guix does not have Quicklisp, and probably never will.
7315 (("\\(:file \"quicklisp\"\\)") ""))
7316 #t)))))
7317 (synopsis "Common Lisp utility library beyond Alexandria")
7318 (description
7319 "Serapeum is a conservative library of Common Lisp utilities. It is a
7320 supplement, not a competitor, to Alexandria.")
7321 (license license:expat))))
7322
7323 (define-public cl-serapeum
7324 (sbcl-package->cl-source-package sbcl-serapeum))
7325
7326 (define-public ecl-serapeum
7327 (sbcl-package->ecl-package sbcl-serapeum))
7328
7329 (define-public sbcl-arrows
7330 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7331 (revision "0"))
7332 (package
7333 (name "sbcl-arrows")
7334 (version (git-version "0.2.0" revision commit))
7335 (source
7336 (origin
7337 (method git-fetch)
7338 (uri (git-reference
7339 (url "https://gitlab.com/Harleqin/arrows.git")
7340 (commit commit)))
7341 (file-name (git-file-name name version))
7342 (sha256
7343 (base32
7344 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7345 (build-system asdf-build-system/sbcl)
7346 (native-inputs
7347 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7348 (synopsis "Clojure-like arrow macros for Common Lisp")
7349 (description
7350 "This library implements the @code{->} and @code{->>} macros from
7351 Clojure, as well as several expansions on the idea.")
7352 (home-page "https://gitlab.com/Harleqin/arrows")
7353 (license license:public-domain))))
7354
7355 (define-public cl-arrows
7356 (sbcl-package->cl-source-package sbcl-arrows))
7357
7358 (define-public ecl-arrows
7359 (sbcl-package->ecl-package sbcl-arrows))
7360
7361 (define-public sbcl-simple-parallel-tasks
7362 (let ((commit "ce7b60f788d8f68dfb69b24aac54c0e3b63379a6")
7363 (revision "1"))
7364 (package
7365 (name "sbcl-simple-parallel-tasks")
7366 (version (git-version "1.0" revision commit))
7367 (source
7368 (origin
7369 (method git-fetch)
7370 (uri (git-reference
7371 (url "https://github.com/glv2/simple-parallel-tasks")
7372 (commit commit)))
7373 (file-name (git-file-name name version))
7374 (sha256
7375 (base32 "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7"))))
7376 (build-system asdf-build-system/sbcl)
7377 (native-inputs
7378 `(("fiveam" ,sbcl-fiveam)))
7379 (inputs
7380 `(("chanl" ,sbcl-chanl)))
7381 (synopsis "Common Lisp library to evaluate some forms in parallel")
7382 (description "This is a simple Common Lisp library to evaluate some
7383 forms in parallel.")
7384 (home-page "https://github.com/glv2/simple-parallel-tasks")
7385 (license license:gpl3))))
7386
7387 (define-public cl-simple-parallel-tasks
7388 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7389
7390 (define-public ecl-simple-parallel-tasks
7391 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7392
7393 (define-public sbcl-cl-heap
7394 (package
7395 (name "sbcl-cl-heap")
7396 (version "0.1.6")
7397 (source
7398 (origin
7399 (method url-fetch)
7400 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7401 "cl-heap_" version ".tar.gz"))
7402 (sha256
7403 (base32
7404 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7405 (build-system asdf-build-system/sbcl)
7406 (native-inputs
7407 `(("xlunit" ,sbcl-xlunit)))
7408 (arguments
7409 `(#:test-asd-file "cl-heap-tests.asd"))
7410 (synopsis "Heap and priority queue data structures for Common Lisp")
7411 (description
7412 "CL-HEAP provides various implementations of heap data structures (a
7413 binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7414 (home-page "https://common-lisp.net/project/cl-heap/")
7415 (license license:gpl3+)))
7416
7417 (define-public cl-heap
7418 (sbcl-package->cl-source-package sbcl-cl-heap))
7419
7420 (define-public ecl-cl-heap
7421 (sbcl-package->ecl-package sbcl-cl-heap))
7422
7423 (define-public sbcl-curry-compose-reader-macros
7424 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7425 (revision "0"))
7426 (package
7427 (name "sbcl-curry-compose-reader-macros")
7428 (version (git-version "1.0.0" revision commit))
7429 (source
7430 (origin
7431 (method git-fetch)
7432 (uri
7433 (git-reference
7434 (url "https://github.com/eschulte/curry-compose-reader-macros")
7435 (commit commit)))
7436 (file-name (git-file-name name version))
7437 (sha256
7438 (base32
7439 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7440 (build-system asdf-build-system/sbcl)
7441 (inputs
7442 `(("alexandria" ,sbcl-alexandria)
7443 ("named-readtables" ,sbcl-named-readtables)))
7444 (synopsis "Reader macros for partial application and composition")
7445 (description
7446 "This Common Lisp library provides reader macros for concise expression
7447 of function partial application and composition.")
7448 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7449 (license license:public-domain))))
7450
7451 (define-public cl-curry-compose-reader-macros
7452 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7453
7454 (define-public ecl-curry-compose-reader-macros
7455 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7456
7457 (define-public sbcl-yason
7458 (package
7459 (name "sbcl-yason")
7460 (version "0.7.7")
7461 (source
7462 (origin
7463 (method git-fetch)
7464 (uri (git-reference
7465 (url "https://github.com/phmarek/yason")
7466 (commit (string-append "v" version))))
7467 (file-name (git-file-name name version))
7468 (sha256
7469 (base32
7470 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7471 (build-system asdf-build-system/sbcl)
7472 (inputs
7473 `(("alexandria" ,sbcl-alexandria)
7474 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7475 (synopsis "Common Lisp JSON parser/encoder")
7476 (description
7477 "YASON is a Common Lisp library for encoding and decoding data in the
7478 JSON interchange format.")
7479 (home-page "https://github.com/phmarek/yason")
7480 (license license:bsd-3)))
7481
7482 (define-public cl-yason
7483 (sbcl-package->cl-source-package sbcl-yason))
7484
7485 (define-public ecl-yason
7486 (sbcl-package->ecl-package sbcl-yason))
7487
7488 (define-public sbcl-stefil
7489 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7490 (revision "0"))
7491 (package
7492 (name "sbcl-stefil")
7493 (version (git-version "0.1" revision commit))
7494 (source
7495 (origin
7496 (method git-fetch)
7497 (uri (git-reference
7498 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7499 (commit commit)))
7500 (file-name (git-file-name name version))
7501 (sha256
7502 (base32
7503 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7504 (build-system asdf-build-system/sbcl)
7505 (inputs
7506 `(("alexandria" ,sbcl-alexandria)
7507 ("iterate" ,sbcl-iterate)
7508 ("metabang-bind" ,sbcl-metabang-bind)
7509 ("swank" ,sbcl-slime-swank)))
7510 (arguments
7511 '(#:phases
7512 (modify-phases %standard-phases
7513 (add-after 'unpack 'drop-unnecessary-dependency
7514 (lambda _
7515 (substitute* "package.lisp"
7516 ((":stefil-system") ""))
7517 #t)))))
7518 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7519 (synopsis "Simple test framework")
7520 (description
7521 "Stefil is a simple test framework for Common Lisp, with a focus on
7522 interactive development.")
7523 (license license:public-domain))))
7524
7525 (define-public cl-stefil
7526 (sbcl-package->cl-source-package sbcl-stefil))
7527
7528 (define-public ecl-stefil
7529 (sbcl-package->ecl-package sbcl-stefil))
7530
7531 (define-public sbcl-graph
7532 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7533 (revision "0"))
7534 (package
7535 (name "sbcl-graph")
7536 (version (git-version "0.0.0" revision commit))
7537 (source
7538 (origin
7539 (method git-fetch)
7540 (uri
7541 (git-reference
7542 (url "https://github.com/eschulte/graph")
7543 (commit commit)))
7544 (file-name (git-file-name name version))
7545 (sha256
7546 (base32
7547 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))))
7548 (build-system asdf-build-system/sbcl)
7549 (native-inputs
7550 `(("stefil" ,sbcl-stefil)))
7551 (inputs
7552 `(("alexandria" ,sbcl-alexandria)
7553 ("cl-heap" ,sbcl-cl-heap)
7554 ("cl-ppcre" ,sbcl-cl-ppcre)
7555 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7556 ("metabang-bind" ,sbcl-metabang-bind)
7557 ("named-readtables" ,sbcl-named-readtables)
7558 ("yason" ,sbcl-yason)))
7559 (arguments
7560 '(#:asd-systems '("graph"
7561 "graph/dot"
7562 "graph/json")))
7563 (synopsis "Graph data structure and algorithms for Common Lisp")
7564 (description
7565 "The GRAPH Common Lisp library provides a data structures to represent
7566 graphs, as well as some graph manipulation and analysis algorithms (shortest
7567 path, maximum flow, minimum spanning tree, etc.).")
7568 (home-page "https://eschulte.github.io/graph/")
7569 (license license:gpl3+))))
7570
7571 (define-public cl-graph
7572 (sbcl-package->cl-source-package sbcl-graph))
7573
7574 (define-public ecl-graph
7575 (sbcl-package->ecl-package sbcl-graph))
7576
7577 (define-public sbcl-trivial-indent
7578 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7579 (revision "0"))
7580 (package
7581 (name "sbcl-trivial-indent")
7582 (version (git-version "1.0.0" revision commit))
7583 (source
7584 (origin
7585 (method git-fetch)
7586 (uri
7587 (git-reference
7588 (url "https://github.com/Shinmera/trivial-indent")
7589 (commit commit)))
7590 (file-name (git-file-name name version))
7591 (sha256
7592 (base32
7593 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7594 (build-system asdf-build-system/sbcl)
7595 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7596 (description
7597 "This library allows you to define custom indentation hints for your
7598 macros if the one recognised by SLIME automatically produces unwanted
7599 results.")
7600 (home-page "https://shinmera.github.io/trivial-indent/")
7601 (license license:zlib))))
7602
7603 (define-public cl-trivial-indent
7604 (sbcl-package->cl-source-package sbcl-trivial-indent))
7605
7606 (define-public ecl-trivial-indent
7607 (sbcl-package->ecl-package sbcl-trivial-indent))
7608
7609 (define-public sbcl-documentation-utils
7610 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7611 (revision "0"))
7612 (package
7613 (name "sbcl-documentation-utils")
7614 (version (git-version "1.2.0" revision commit))
7615 (source
7616 (origin
7617 (method git-fetch)
7618 (uri
7619 (git-reference
7620 (url "https://github.com/Shinmera/documentation-utils")
7621 (commit commit)))
7622 (file-name (git-file-name name version))
7623 (sha256
7624 (base32
7625 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7626 (build-system asdf-build-system/sbcl)
7627 (inputs
7628 `(("trivial-indent" ,sbcl-trivial-indent)))
7629 (synopsis "Few simple tools to document Common Lisp libraries")
7630 (description
7631 "This is a small library to help you with managing the Common Lisp
7632 docstrings for your library.")
7633 (home-page "https://shinmera.github.io/documentation-utils/")
7634 (license license:zlib))))
7635
7636 (define-public cl-documentation-utils
7637 (sbcl-package->cl-source-package sbcl-documentation-utils))
7638
7639 (define-public ecl-documentation-utils
7640 (sbcl-package->ecl-package sbcl-documentation-utils))
7641
7642 (define-public sbcl-documentation-utils-extensions
7643 (let ((commit "f67f8a05d583174662a594b79356b201c1d9d750"))
7644 (package
7645 (name "sbcl-documentation-utils-extensions")
7646 (version (git-version "0.0.0" "1" commit))
7647 (source
7648 (origin
7649 (method git-fetch)
7650 (uri
7651 (git-reference
7652 (url "https://github.com/sirherrbatka/documentation-utils-extensions/")
7653 (commit commit)))
7654 (file-name (git-file-name name version))
7655 (sha256
7656 (base32
7657 "0pn45c9rbxlnhn5nvhqz6kyv0nlirwxpg4j27niwdq80yxzsn51f"))))
7658 (build-system asdf-build-system/sbcl)
7659 (inputs
7660 `(("documentation-utils" ,sbcl-documentation-utils)))
7661 (home-page "https://github.com/sirherrbatka/documentation-utils-extensions")
7662 (synopsis "Set of extensions for documentation-utils")
7663 (description
7664 "Use @code{rich-formatter} to format documentation with sections @code{:syntax},
7665 @code{:arguments}, @code{:examples}, @code{:description}, @code{:returns},
7666 @code{:side-effects}, @code{:thread-safety}, @code{:affected-by},
7667 @code{:see-also} and @code{:notes}. Gather unformatted input by using
7668 @code{rich-aggregating-formatter} and @code{*DOCUMENTATION*} variable. Find
7669 gathered documentation with find-documentation function. Execute code stored
7670 in documentation with @code{execute-documentation}. See the examples in the
7671 @code{src/documentation.lisp} file. See the @code{documentation-utils} system
7672 for more information.")
7673 (license license:expat))))
7674
7675 (define-public cl-documentation-utils-extensions
7676 (sbcl-package->cl-source-package sbcl-documentation-utils-extensions))
7677
7678 (define-public ecl-documentation-utils-extensions
7679 (sbcl-package->ecl-package sbcl-documentation-utils-extensions))
7680
7681 (define-public sbcl-form-fiddle
7682 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7683 (revision "0"))
7684 (package
7685 (name "sbcl-form-fiddle")
7686 (version (git-version "1.1.0" revision commit))
7687 (source
7688 (origin
7689 (method git-fetch)
7690 (uri
7691 (git-reference
7692 (url "https://github.com/Shinmera/form-fiddle")
7693 (commit commit)))
7694 (file-name (git-file-name name version))
7695 (sha256
7696 (base32
7697 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7698 (build-system asdf-build-system/sbcl)
7699 (inputs
7700 `(("documentation-utils" ,sbcl-documentation-utils)))
7701 (synopsis "Utilities to destructure Common Lisp lambda forms")
7702 (description
7703 "Often times we need to destructure a form definition in a Common Lisp
7704 macro. This library provides a set of simple utilities to help with that.")
7705 (home-page "https://shinmera.github.io/form-fiddle/")
7706 (license license:zlib))))
7707
7708 (define-public cl-form-fiddle
7709 (sbcl-package->cl-source-package sbcl-form-fiddle))
7710
7711 (define-public ecl-form-fiddle
7712 (sbcl-package->ecl-package sbcl-form-fiddle))
7713
7714 (define-public sbcl-parachute
7715 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7716 (revision "0"))
7717 (package
7718 (name "sbcl-parachute")
7719 (version (git-version "1.1.1" revision commit))
7720 (source
7721 (origin
7722 (method git-fetch)
7723 (uri
7724 (git-reference
7725 (url "https://github.com/Shinmera/parachute")
7726 (commit commit)))
7727 (file-name (git-file-name name version))
7728 (sha256
7729 (base32
7730 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7731 (build-system asdf-build-system/sbcl)
7732 (inputs
7733 `(("documentation-utils" ,sbcl-documentation-utils)
7734 ("form-fiddle" ,sbcl-form-fiddle)))
7735 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7736 (description
7737 "Parachute is a simple-to-use and extensible testing framework.
7738 In Parachute, things are organised as a bunch of named tests within a package.
7739 Each test can contain a bunch of test forms that make up its body.")
7740 (home-page "https://shinmera.github.io/parachute/")
7741 (license license:zlib))))
7742
7743 (define-public cl-parachute
7744 (sbcl-package->cl-source-package sbcl-parachute))
7745
7746 (define-public ecl-parachute
7747 (sbcl-package->ecl-package sbcl-parachute))
7748
7749 (define-public sbcl-array-utils
7750 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7751 (revision "0"))
7752 (package
7753 (name "sbcl-array-utils")
7754 (version (git-version "1.1.1" revision commit))
7755 (source
7756 (origin
7757 (method git-fetch)
7758 (uri
7759 (git-reference
7760 (url "https://github.com/Shinmera/array-utils")
7761 (commit commit)))
7762 (file-name (git-file-name name version))
7763 (sha256
7764 (base32
7765 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7766 (build-system asdf-build-system/sbcl)
7767 (native-inputs
7768 `(("parachute" ,sbcl-parachute)))
7769 (inputs
7770 `(("documentation-utils" ,sbcl-documentation-utils)))
7771 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7772 (description
7773 "A miniature toolkit that contains some useful shifting/popping/pushing
7774 functions for arrays and vectors. Originally from Plump.")
7775 (home-page "https://shinmera.github.io/array-utils/")
7776 (license license:zlib))))
7777
7778 (define-public cl-array-utils
7779 (sbcl-package->cl-source-package sbcl-array-utils))
7780
7781 (define-public ecl-array-utils
7782 (sbcl-package->ecl-package sbcl-array-utils))
7783
7784 (define-public sbcl-plump
7785 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
7786 (revision "1"))
7787 (package
7788 (name "sbcl-plump")
7789 (version (git-version "2.0.0" revision commit))
7790 (source
7791 (origin
7792 (method git-fetch)
7793 (uri
7794 (git-reference
7795 (url "https://github.com/Shinmera/plump")
7796 (commit commit)))
7797 (file-name (git-file-name name version))
7798 (sha256
7799 (base32
7800 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
7801 (build-system asdf-build-system/sbcl)
7802 (inputs
7803 `(("array-utils" ,sbcl-array-utils)
7804 ("documentation-utils" ,sbcl-documentation-utils)))
7805 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7806 (description
7807 "Plump is a parser for HTML/XML-like documents, focusing on being
7808 lenient towards invalid markup. It can handle things like invalid attributes,
7809 bad closing tag order, unencoded entities, inexistent tag types, self-closing
7810 tags and so on. It parses documents to a class representation and offers a
7811 small set of DOM functions to manipulate it. It can be extended to parse to
7812 your own classes.")
7813 (home-page "https://shinmera.github.io/plump/")
7814 (license license:zlib))))
7815
7816 (define-public cl-plump
7817 (sbcl-package->cl-source-package sbcl-plump))
7818
7819 (define-public ecl-plump
7820 (sbcl-package->ecl-package sbcl-plump))
7821
7822 ;;; Split the antik package in two to work around the circular dependency
7823 ;;; between antik/antik and antik/gsll.
7824 (define-public sbcl-antik-base
7825 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7826 (revision "1"))
7827 (package
7828 (name "sbcl-antik-base")
7829 (version (git-version "0.0.0" revision commit))
7830 (source
7831 (origin
7832 (method git-fetch)
7833 (uri (git-reference
7834 (url "https://gitlab.common-lisp.net/antik/antik.git")
7835 (commit commit)))
7836 (file-name (git-file-name name version))
7837 (sha256
7838 (base32
7839 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7840 (build-system asdf-build-system/sbcl)
7841 (inputs
7842 `(("alexandria" ,sbcl-alexandria)
7843 ("cffi" ,sbcl-cffi)
7844 ("cl-ppcre" ,sbcl-cl-ppcre)
7845 ("drakma" ,sbcl-drakma)
7846 ("fare-utils" ,sbcl-fare-utils)
7847 ("iterate" ,sbcl-iterate)
7848 ("metabang-bind" ,sbcl-metabang-bind)
7849 ("named-readtables" ,sbcl-named-readtables)
7850 ("split-sequence" ,sbcl-split-sequence)
7851 ("static-vectors" ,sbcl-static-vectors)
7852 ("trivial-garbage" ,sbcl-trivial-garbage)
7853 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7854 (native-inputs
7855 `(("lisp-unit" ,sbcl-lisp-unit)))
7856 (arguments
7857 '(#:asd-systems '("antik-base"
7858 "foreign-array")
7859 #:phases
7860 (modify-phases %standard-phases
7861 (add-after 'unpack 'fix-build
7862 (lambda _
7863 (for-each delete-file
7864 '("antik.asd"
7865 "physical-dimension.asd"
7866 "science-data.asd"))
7867 #t)))))
7868 (synopsis "Scientific and engineering computation in Common Lisp")
7869 (description
7870 "Antik provides a foundation for scientific and engineering
7871 computation in Common Lisp. It is designed not only to facilitate
7872 numerical computations, but to permit the use of numerical computation
7873 libraries and the interchange of data and procedures, whether
7874 foreign (non-Lisp) or Lisp libraries. It is named after the
7875 Antikythera mechanism, one of the oldest examples of a scientific
7876 computer known.")
7877 (home-page "https://common-lisp.net/project/antik/")
7878 (license license:gpl3))))
7879
7880 (define-public cl-antik-base
7881 (sbcl-package->cl-source-package sbcl-antik-base))
7882
7883 (define-public ecl-antik-base
7884 (let ((pkg (sbcl-package->ecl-package sbcl-antik-base)))
7885 (package
7886 (inherit pkg)
7887 (arguments
7888 (substitute-keyword-arguments (package-arguments pkg)
7889 ((#:phases phases)
7890 `(modify-phases ,phases
7891 (add-after 'unpack 'fix-readtable
7892 (lambda _
7893 (substitute* "input-output/readtable.lisp"
7894 (("#-ccl")
7895 "#-(or ccl ecl)"))
7896 #t)))))))))
7897
7898 (define-public sbcl-gsll
7899 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7900 (revision "1"))
7901 (package
7902 (name "sbcl-gsll")
7903 (version (git-version "0.0.0" revision commit))
7904 (source
7905 (origin
7906 (method git-fetch)
7907 (uri (git-reference
7908 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7909 (commit commit)))
7910 (file-name (git-file-name name version))
7911 (sha256
7912 (base32
7913 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7914 (build-system asdf-build-system/sbcl)
7915 (native-inputs
7916 `(("lisp-unit" ,sbcl-lisp-unit)))
7917 (inputs
7918 `(("alexandria" ,sbcl-alexandria)
7919 ("antik-base" ,sbcl-antik-base)
7920 ("cffi" ,sbcl-cffi)
7921 ("gsl" ,gsl)
7922 ("metabang-bind" ,sbcl-metabang-bind)
7923 ("trivial-features" ,sbcl-trivial-features)
7924 ("trivial-garbage" ,sbcl-trivial-garbage)))
7925 (arguments
7926 `(#:tests? #f
7927 #:phases
7928 (modify-phases %standard-phases
7929 (add-after 'unpack 'fix-cffi-paths
7930 (lambda* (#:key inputs #:allow-other-keys)
7931 (substitute* "gsll.asd"
7932 ((":depends-on \\(#:foreign-array")
7933 ":depends-on (#:foreign-array #:cffi-libffi"))
7934 (substitute* "init/init.lisp"
7935 (("libgslcblas.so" all)
7936 (string-append
7937 (assoc-ref inputs "gsl") "/lib/" all)))
7938 (substitute* "init/init.lisp"
7939 (("libgsl.so" all)
7940 (string-append
7941 (assoc-ref inputs "gsl") "/lib/" all))))))))
7942 (synopsis "GNU Scientific Library for Lisp")
7943 (description
7944 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
7945 GNU Scientific Library (GSL) from Common Lisp. This library provides a
7946 full range of common mathematical operations useful to scientific and
7947 engineering applications. The design of the GSLL interface is such
7948 that access to most of the GSL library is possible in a Lisp-natural
7949 way; the intent is that the user not be hampered by the restrictions
7950 of the C language in which GSL has been written. GSLL thus provides
7951 interactive use of GSL for getting quick answers, even for someone not
7952 intending to program in Lisp.")
7953 (home-page "https://common-lisp.net/project/gsll/")
7954 (license license:gpl3))))
7955
7956 (define-public cl-gsll
7957 (sbcl-package->cl-source-package sbcl-gsll))
7958
7959 (define-public ecl-gsll
7960 (sbcl-package->ecl-package sbcl-gsll))
7961
7962 (define-public sbcl-antik
7963 (package
7964 (inherit sbcl-antik-base)
7965 (name "sbcl-antik")
7966 (inputs
7967 `(("antik-base" ,sbcl-antik-base)
7968 ("gsll" ,sbcl-gsll)))
7969 (arguments
7970 '(#:asd-systems '("antik"
7971 "science-data")
7972 #:phases
7973 (modify-phases %standard-phases
7974 (add-after 'unpack 'fix-build
7975 (lambda _
7976 (for-each delete-file
7977 '("antik-base.asd"
7978 "foreign-array.asd"))
7979 #t)))))))
7980
7981 (define-public cl-antik
7982 (sbcl-package->cl-source-package sbcl-antik))
7983
7984 (define-public sbcl-cl-interpol
7985 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
7986 (revision "1"))
7987 (package
7988 (name "sbcl-cl-interpol")
7989 (version (git-version "0.2.6" revision commit))
7990 (source
7991 (origin
7992 (method git-fetch)
7993 (uri (git-reference
7994 (url "https://github.com/edicl/cl-interpol")
7995 (commit commit)))
7996 (file-name (git-file-name name version))
7997 (sha256
7998 (base32
7999 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
8000 (build-system asdf-build-system/sbcl)
8001 (inputs
8002 `(("cl-unicode" ,sbcl-cl-unicode)
8003 ("named-readtables" ,sbcl-named-readtables)))
8004 (native-inputs
8005 `(("flexi-streams" ,sbcl-flexi-streams)))
8006 (synopsis "String interpolation for Common Lisp")
8007 (description
8008 "CL-INTERPOL is a library for Common Lisp which modifies the
8009 reader so that you can have interpolation within strings similar to
8010 Perl or Unix Shell scripts. It also provides various ways to insert
8011 arbitrary characters into literal strings even if your editor/IDE
8012 doesn't support them.")
8013 (home-page "https://edicl.github.io/cl-interpol/")
8014 (license license:bsd-3))))
8015
8016 (define-public cl-interpol
8017 (sbcl-package->cl-source-package sbcl-cl-interpol))
8018
8019 (define-public ecl-cl-interpol
8020 (sbcl-package->ecl-package sbcl-cl-interpol))
8021
8022 (define-public sbcl-symbol-munger
8023 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
8024 (revision "1"))
8025 (package
8026 (name "sbcl-symbol-munger")
8027 (version (git-version "0.0.1" revision commit))
8028 (source
8029 (origin
8030 (method git-fetch)
8031 (uri (git-reference
8032 (url "https://github.com/AccelerationNet/symbol-munger")
8033 (commit commit)))
8034 (file-name (git-file-name name version))
8035 (sha256
8036 (base32
8037 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
8038 (build-system asdf-build-system/sbcl)
8039 (inputs
8040 `(("alexandria" ,sbcl-alexandria)
8041 ("iterate" ,sbcl-iterate)))
8042 (arguments
8043 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8044 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8045 '(#:tests? #f))
8046 (synopsis
8047 "Capitalization and spacing conversion functions for Common Lisp")
8048 (description
8049 "This is a Common Lisp library to change the capitalization and spacing
8050 of a string or a symbol. It can convert to and from Lisp, english, underscore
8051 and camel-case rules.")
8052 (home-page "https://github.com/AccelerationNet/symbol-munger")
8053 ;; The package declares a BSD license, but all of the license
8054 ;; text is MIT.
8055 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8056 (license license:expat))))
8057
8058 (define-public cl-symbol-munger
8059 (sbcl-package->cl-source-package sbcl-symbol-munger))
8060
8061 (define-public ecl-symbol-munger
8062 (sbcl-package->ecl-package sbcl-symbol-munger))
8063
8064 (define-public sbcl-lisp-unit2
8065 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8066 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8067 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
8068 (revision "1"))
8069 (package
8070 (name "sbcl-lisp-unit2")
8071 (version (git-version "0.2.0" revision commit))
8072 (source
8073 (origin
8074 (method git-fetch)
8075 (uri (git-reference
8076 (url "https://github.com/AccelerationNet/lisp-unit2")
8077 (commit commit)))
8078 (file-name (git-file-name name version))
8079 (sha256
8080 (base32
8081 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
8082 (build-system asdf-build-system/sbcl)
8083 (inputs
8084 `(("alexandria" ,sbcl-alexandria)
8085 ("cl-interpol" ,sbcl-cl-interpol)
8086 ("iterate" ,sbcl-iterate)
8087 ("symbol-munger" ,sbcl-symbol-munger)))
8088 (synopsis "Test Framework for Common Lisp")
8089 (description
8090 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
8091 style of JUnit for Java. It is a new version of the lisp-unit library written
8092 by Chris Riesbeck.")
8093 (home-page "https://github.com/AccelerationNet/lisp-unit2")
8094 (license license:expat))))
8095
8096 (define-public cl-lisp-unit2
8097 (sbcl-package->cl-source-package sbcl-lisp-unit2))
8098
8099 (define-public ecl-lisp-unit2
8100 (sbcl-package->ecl-package sbcl-lisp-unit2))
8101
8102 (define-public sbcl-cl-csv
8103 (let ((commit "68ecb5d816545677513d7f6308d9e5e8d2265651")
8104 (revision "2"))
8105 (package
8106 (name "sbcl-cl-csv")
8107 (version (git-version "1.0.6" revision commit))
8108 (source
8109 (origin
8110 (method git-fetch)
8111 (uri (git-reference
8112 (url "https://github.com/AccelerationNet/cl-csv")
8113 (commit commit)))
8114 (file-name (git-file-name name version))
8115 (sha256
8116 (base32
8117 "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x"))))
8118 (build-system asdf-build-system/sbcl)
8119 (arguments
8120 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8121 `(#:tests? #f))
8122 (inputs
8123 `(("alexandria" ,sbcl-alexandria)
8124 ("cl-interpol" ,sbcl-cl-interpol)
8125 ("iterate" ,sbcl-iterate)))
8126 (native-inputs
8127 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8128 (synopsis "Common lisp library for comma-separated values")
8129 (description
8130 "This is a Common Lisp library providing functions to read/write CSV
8131 from/to strings, streams and files.")
8132 (home-page "https://github.com/AccelerationNet/cl-csv")
8133 (license license:bsd-3))))
8134
8135 (define-public cl-csv
8136 (sbcl-package->cl-source-package sbcl-cl-csv))
8137
8138 (define-public ecl-cl-csv
8139 (sbcl-package->ecl-package sbcl-cl-csv))
8140
8141 (define-public sbcl-external-program
8142 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8143 (revision "1"))
8144 (package
8145 (name "sbcl-external-program")
8146 (version (git-version "0.0.6" revision commit))
8147 (source
8148 (origin
8149 (method git-fetch)
8150 (uri (git-reference
8151 (url "https://github.com/sellout/external-program")
8152 (commit commit)))
8153 (file-name (git-file-name name version))
8154 (sha256
8155 (base32
8156 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8157 (build-system asdf-build-system/sbcl)
8158 (inputs
8159 `(("trivial-features" ,sbcl-trivial-features)))
8160 (native-inputs
8161 `(("fiveam" ,sbcl-fiveam)))
8162 (synopsis "Common Lisp library for running external programs")
8163 (description
8164 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8165 process. It is an attempt to make the RUN-PROGRAM functionality in
8166 implementations like SBCL and CCL as portable as possible without
8167 sacrificing much in the way of power.")
8168 (home-page "https://github.com/sellout/external-program")
8169 (license license:llgpl))))
8170
8171 (define-public cl-external-program
8172 (sbcl-package->cl-source-package sbcl-external-program))
8173
8174 (define-public ecl-external-program
8175 (sbcl-package->ecl-package sbcl-external-program))
8176
8177 (define-public sbcl-cl-ana
8178 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8179 (revision "1"))
8180 (package
8181 (name "sbcl-cl-ana")
8182 (version (git-version "0.0.0" revision commit))
8183 (source
8184 (origin
8185 (method git-fetch)
8186 (uri (git-reference
8187 (url "https://github.com/ghollisjr/cl-ana")
8188 (commit commit)))
8189 (file-name (git-file-name name version))
8190 (sha256
8191 (base32 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8192 (build-system asdf-build-system/sbcl)
8193 (native-inputs
8194 `(("cl-fad" ,sbcl-cl-fad)))
8195 (inputs
8196 `(("alexandria" ,sbcl-alexandria)
8197 ("antik" ,sbcl-antik)
8198 ("cffi" ,sbcl-cffi)
8199 ("cl-csv" ,sbcl-cl-csv)
8200 ("closer-mop" ,sbcl-closer-mop)
8201 ("external-program" ,sbcl-external-program)
8202 ("gsl" ,gsl)
8203 ("gsll" ,sbcl-gsll)
8204 ("hdf5" ,hdf5-parallel-openmpi)
8205 ("iterate" ,sbcl-iterate)
8206 ("libffi" ,libffi)
8207 ("split-sequence" ,sbcl-split-sequence)))
8208 (arguments
8209 `(#:phases
8210 (modify-phases %standard-phases
8211 (add-after 'unpack 'fix-paths
8212 (lambda* (#:key inputs #:allow-other-keys)
8213 (substitute* "hdf-cffi/hdf-cffi.lisp"
8214 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8215 (string-append (assoc-ref inputs "hdf5")
8216 "/lib/libhdf5.so")))
8217 (substitute* "gsl-cffi/gsl-cffi.lisp"
8218 (("define-foreign-library gsl-cffi" all)
8219 (string-append all " (:unix "
8220 (assoc-ref inputs "gsl")
8221 "/lib/libgsl.so)")))
8222 #t)))))
8223 (synopsis "Common Lisp data analysis library")
8224 (description
8225 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8226 binned data analysis along with nonlinear least squares fitting and
8227 visualization.")
8228 (home-page "https://github.com/ghollisjr/cl-ana")
8229 (license license:gpl3))))
8230
8231 (define-public cl-ana
8232 (sbcl-package->cl-source-package sbcl-cl-ana))
8233
8234 (define-public sbcl-archive
8235 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
8236 (revision "1"))
8237 (package
8238 (name "sbcl-archive")
8239 (version (git-version "0.9" revision commit))
8240 (source (origin
8241 (method git-fetch)
8242 (uri (git-reference
8243 (url "https://github.com/sharplispers/archive")
8244 (commit commit)))
8245 (file-name (git-file-name name version))
8246 (sha256
8247 (base32
8248 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
8249 (build-system asdf-build-system/sbcl)
8250 (inputs
8251 `(("cl-fad" ,sbcl-cl-fad)
8252 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
8253 (synopsis "Common Lisp library for tar and cpio archives")
8254 (description
8255 "This is a Common Lisp library to read and write disk-based file
8256 archives such as those generated by the tar and cpio programs on Unix.")
8257 (home-page "https://github.com/sharplispers/archive")
8258 (license license:bsd-3))))
8259
8260 (define-public cl-archive
8261 (sbcl-package->cl-source-package sbcl-archive))
8262
8263 (define-public ecl-archive
8264 (sbcl-package->ecl-package sbcl-archive))
8265
8266 (define-public sbcl-misc-extensions
8267 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
8268 (revision "1"))
8269 (package
8270 (name "sbcl-misc-extensions")
8271 (version (git-version "3.3" revision commit))
8272 (source
8273 (origin
8274 (method git-fetch)
8275 (uri (git-reference
8276 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
8277 (commit commit)))
8278 (file-name (git-file-name name version))
8279 (sha256
8280 (base32
8281 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
8282 (build-system asdf-build-system/sbcl)
8283 (synopsis "Collection of small macros and extensions for Common Lisp")
8284 (description
8285 "This project is intended as a catchall for small, general-purpose
8286 extensions to Common Lisp. It contains:
8287
8288 @itemize
8289 @item @code{new-let}, a macro that combines and generalizes @code{let},
8290 @code{let*} and @code{multiple-value-bind},
8291 @item @code{gmap}, an iteration macro that generalizes @code{map}.
8292 @end itemize\n")
8293 (home-page "https://common-lisp.net/project/misc-extensions/")
8294 (license license:public-domain))))
8295
8296 (define-public cl-misc-extensions
8297 (sbcl-package->cl-source-package sbcl-misc-extensions))
8298
8299 (define-public ecl-misc-extensions
8300 (sbcl-package->ecl-package sbcl-misc-extensions))
8301
8302 (define-public sbcl-mt19937
8303 (package
8304 (name "sbcl-mt19937")
8305 (version "1.1")
8306 (source
8307 (origin
8308 (method url-fetch)
8309 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
8310 "mt19937-latest.tar.gz"))
8311 (sha256
8312 (base32
8313 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
8314 (build-system asdf-build-system/sbcl)
8315 (synopsis "Mersenne Twister pseudo-random number generator")
8316 (description
8317 "MT19937 is a portable Mersenne Twister pseudo-random number generator
8318 for Common Lisp.")
8319 (home-page "https://www.cliki.net/mt19937")
8320 (license license:public-domain)))
8321
8322 (define-public cl-mt19937
8323 (sbcl-package->cl-source-package sbcl-mt19937))
8324
8325 (define-public ecl-mt19937
8326 (sbcl-package->ecl-package sbcl-mt19937))
8327
8328 (define-public sbcl-fset
8329 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
8330 (revision "1"))
8331 (package
8332 (name "sbcl-fset")
8333 (version (git-version "1.3.2" revision commit))
8334 (source
8335 (origin
8336 (method git-fetch)
8337 (uri (git-reference
8338 (url "https://github.com/slburson/fset")
8339 (commit commit)))
8340 (file-name (git-file-name name version))
8341 (sha256
8342 (base32
8343 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
8344 (snippet '(begin
8345 ;; Remove obsolete copy of system definition.
8346 (delete-file "Code/fset.asd")
8347 #t))))
8348 (build-system asdf-build-system/sbcl)
8349 (inputs
8350 `(("misc-extensions" ,sbcl-misc-extensions)
8351 ("mt19937" ,sbcl-mt19937)
8352 ("named-readtables" ,sbcl-named-readtables)))
8353 (synopsis "Functional set-theoretic collections library")
8354 (description
8355 "FSet is a functional set-theoretic collections library for Common Lisp.
8356 Functional means that all update operations return a new collection rather than
8357 modifying an existing one in place. Set-theoretic means that collections may
8358 be nested arbitrarily with no additional programmer effort; for instance, sets
8359 may contain sets, maps may be keyed by sets, etc.")
8360 (home-page "https://common-lisp.net/project/fset/Site/index.html")
8361 (license license:llgpl))))
8362
8363 (define-public cl-fset
8364 (sbcl-package->cl-source-package sbcl-fset))
8365
8366 (define-public ecl-fset
8367 (package
8368 (inherit (sbcl-package->ecl-package sbcl-fset))
8369 (arguments
8370 ;; Tests fails on ECL with "The function FSET::MAKE-CHAR is undefined".
8371 '(#:tests? #f))))
8372
8373 (define-public sbcl-cl-cont
8374 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
8375 (revision "1"))
8376 (package
8377 (name "sbcl-cl-cont")
8378 (version (git-version "0.3.8" revision commit))
8379 (source
8380 (origin
8381 (method git-fetch)
8382 (uri (git-reference
8383 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
8384 (commit commit)))
8385 (file-name (git-file-name name version))
8386 (sha256
8387 (base32
8388 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
8389 (build-system asdf-build-system/sbcl)
8390 (inputs
8391 `(("alexandria" ,sbcl-alexandria)
8392 ("closer-mop" ,sbcl-closer-mop)))
8393 (native-inputs
8394 `(("rt" ,sbcl-rt)))
8395 (synopsis "Delimited continuations for Common Lisp")
8396 (description
8397 "This is a library that implements delimited continuations by
8398 transforming Common Lisp code to continuation passing style.")
8399 (home-page "https://common-lisp.net/project/cl-cont/")
8400 (license license:llgpl))))
8401
8402 (define-public cl-cont
8403 (sbcl-package->cl-source-package sbcl-cl-cont))
8404
8405 (define-public ecl-cl-cont
8406 (sbcl-package->ecl-package sbcl-cl-cont))
8407
8408 (define-public sbcl-cl-coroutine
8409 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
8410 (revision "1"))
8411 (package
8412 (name "sbcl-cl-coroutine")
8413 (version (git-version "0.1" revision commit))
8414 (source
8415 (origin
8416 (method git-fetch)
8417 (uri (git-reference
8418 (url "https://github.com/takagi/cl-coroutine")
8419 (commit commit)))
8420 (file-name (git-file-name name version))
8421 (sha256
8422 (base32
8423 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
8424 (build-system asdf-build-system/sbcl)
8425 (inputs
8426 `(("alexandria" ,sbcl-alexandria)
8427 ("cl-cont" ,sbcl-cl-cont)))
8428 (native-inputs
8429 `(("prove" ,sbcl-prove)))
8430 (arguments
8431 `(;; TODO: Fix the tests. They fail with:
8432 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
8433 #:tests? #f
8434 #:phases
8435 (modify-phases %standard-phases
8436 (add-after 'unpack 'fix-tests
8437 (lambda _
8438 (substitute* "cl-coroutine-test.asd"
8439 (("cl-test-more")
8440 "prove"))
8441 #t)))))
8442 (synopsis "Coroutine library for Common Lisp")
8443 (description
8444 "This is a coroutine library for Common Lisp implemented using the
8445 continuations of the @code{cl-cont} library.")
8446 (home-page "https://github.com/takagi/cl-coroutine")
8447 (license license:llgpl))))
8448
8449 (define-public cl-coroutine
8450 (sbcl-package->cl-source-package sbcl-cl-coroutine))
8451
8452 (define-public ecl-cl-coroutine
8453 (sbcl-package->ecl-package sbcl-cl-coroutine))
8454
8455 (define-public sbcl-vas-string-metrics
8456 (let ((commit "f2e4500b180316123fbd549bd51c751ee2d6ba0f")
8457 (revision "1"))
8458 (package
8459 (name "sbcl-vas-string-metrics")
8460 (version (git-version "0.0.0" revision commit))
8461 (source
8462 (origin
8463 (method git-fetch)
8464 (uri (git-reference
8465 (url "https://github.com/vsedach/vas-string-metrics")
8466 (commit commit)))
8467 (file-name (git-file-name "vas-string-metrics" version))
8468 (sha256
8469 (base32 "11fcnd03ybzz37rkg3z0wsb727yqgcd9gn70sccfb34l89ia279k"))))
8470 (build-system asdf-build-system/sbcl)
8471 (arguments
8472 `(#:test-asd-file "test.vas-string-metrics.asd"))
8473 (home-page "https://github.com/vsedach/vas-string-metrics")
8474 (synopsis "String distance algorithms for Common Lisp")
8475 (description
8476 "VAS-STRING-METRICS provides the Jaro, Jaro-Winkler, Soerensen-Dice,
8477 Levenshtein, and normalized Levenshtein string distance/similarity metrics
8478 algorithms.")
8479 (license license:lgpl3+))))
8480
8481 (define-public ecl-vas-string-metrics
8482 (sbcl-package->ecl-package sbcl-vas-string-metrics))
8483
8484 (define-public cl-vas-string-metrics
8485 (sbcl-package->cl-source-package sbcl-vas-string-metrics))
8486
8487 (define-public sbcl-vom
8488 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
8489 (revision "1"))
8490 (package
8491 (name "sbcl-vom")
8492 (version (git-version "0.1.4" revision commit))
8493 (source
8494 (origin
8495 (method git-fetch)
8496 (uri (git-reference
8497 (url "https://github.com/orthecreedence/vom")
8498 (commit commit)))
8499 (file-name (git-file-name name version))
8500 (sha256
8501 (base32
8502 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
8503 (build-system asdf-build-system/sbcl)
8504 (synopsis "Tiny logging utility for Common Lisp")
8505 (description
8506 "Vom is a logging library for Common Lisp. It's goal is to be useful
8507 and small. It does not provide a lot of features as other loggers do, but
8508 has a small codebase that's easy to understand and use.")
8509 (home-page "https://github.com/orthecreedence/vom")
8510 (license license:expat))))
8511
8512 (define-public cl-vom
8513 (sbcl-package->cl-source-package sbcl-vom))
8514
8515 (define-public ecl-vom
8516 (sbcl-package->ecl-package sbcl-vom))
8517
8518 (define-public sbcl-cl-libuv
8519 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
8520 (revision "1"))
8521 (package
8522 (name "sbcl-cl-libuv")
8523 (version (git-version "0.1.6" revision commit))
8524 (source
8525 (origin
8526 (method git-fetch)
8527 (uri (git-reference
8528 (url "https://github.com/orthecreedence/cl-libuv")
8529 (commit commit)))
8530 (file-name (git-file-name name version))
8531 (sha256
8532 (base32
8533 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
8534 (build-system asdf-build-system/sbcl)
8535 (inputs
8536 `(("alexandria" ,sbcl-alexandria)
8537 ("cffi" ,sbcl-cffi)
8538 ("libuv" ,libuv)))
8539 (arguments
8540 `(#:phases
8541 (modify-phases %standard-phases
8542 (add-after 'unpack 'fix-paths
8543 (lambda* (#:key inputs #:allow-other-keys)
8544 (substitute* "lib.lisp"
8545 (("/usr/lib/libuv.so")
8546 (string-append (assoc-ref inputs "libuv")
8547 "/lib/libuv.so")))
8548 #t))
8549 (add-after 'fix-paths 'fix-system-definition
8550 (lambda _
8551 (substitute* "cl-libuv.asd"
8552 (("#:cffi #:alexandria")
8553 "#:cffi #:cffi-grovel #:alexandria"))
8554 #t)))))
8555 (synopsis "Common Lisp bindings to libuv")
8556 (description
8557 "This library provides low-level libuv bindings for Common Lisp.")
8558 (home-page "https://github.com/orthecreedence/cl-libuv")
8559 (license license:expat))))
8560
8561 (define-public cl-libuv
8562 (sbcl-package->cl-source-package sbcl-cl-libuv))
8563
8564 (define-public ecl-cl-libuv
8565 (sbcl-package->ecl-package sbcl-cl-libuv))
8566
8567 (define-public sbcl-cl-async
8568 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
8569 (revision "1"))
8570 (package
8571 (name "sbcl-cl-async")
8572 (version (git-version "0.6.1" revision commit))
8573 (source
8574 (origin
8575 (method git-fetch)
8576 (uri (git-reference
8577 (url "https://github.com/orthecreedence/cl-async")
8578 (commit commit)))
8579 (file-name (git-file-name name version))
8580 (sha256
8581 (base32
8582 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
8583 (build-system asdf-build-system/sbcl)
8584 (inputs
8585 `(("babel" ,sbcl-babel)
8586 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8587 ("cffi" ,sbcl-cffi)
8588 ("cl-libuv" ,sbcl-cl-libuv)
8589 ("cl-ppcre" ,sbcl-cl-ppcre)
8590 ("fast-io" ,sbcl-fast-io)
8591 ("openssl" ,openssl)
8592 ("static-vectors" ,sbcl-static-vectors)
8593 ("trivial-features" ,sbcl-trivial-features)
8594 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
8595 ("vom" ,sbcl-vom)))
8596 (arguments
8597 `(#:asd-systems '("cl-async"
8598 "cl-async-repl"
8599 "cl-async-ssl")
8600 #:phases
8601 (modify-phases %standard-phases
8602 (add-after 'unpack 'fix-paths
8603 (lambda* (#:key inputs #:allow-other-keys)
8604 (substitute* "src/ssl/package.lisp"
8605 (("libcrypto\\.so")
8606 (string-append (assoc-ref inputs "openssl")
8607 "/lib/libcrypto.so"))
8608 (("libssl\\.so")
8609 (string-append (assoc-ref inputs "openssl")
8610 "/lib/libssl.so")))
8611 #t)))))
8612 (synopsis "Asynchronous operations for Common Lisp")
8613 (description
8614 "Cl-async is a library for general purpose, non-blocking programming in
8615 Common Lisp. It uses the libuv library as backend.")
8616 (home-page "https://orthecreedence.github.io/cl-async/")
8617 (license license:expat))))
8618
8619 (define-public cl-async
8620 (sbcl-package->cl-source-package sbcl-cl-async))
8621
8622 (define-public ecl-cl-async
8623 (sbcl-package->ecl-package sbcl-cl-async))
8624
8625 (define-public sbcl-blackbird
8626 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
8627 (revision "1"))
8628 (package
8629 (name "sbcl-blackbird")
8630 (version (git-version "0.5.2" revision commit))
8631 (source
8632 (origin
8633 (method git-fetch)
8634 (uri (git-reference
8635 (url "https://github.com/orthecreedence/blackbird")
8636 (commit commit)))
8637 (file-name (git-file-name name version))
8638 (sha256
8639 (base32
8640 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
8641 (build-system asdf-build-system/sbcl)
8642 (inputs
8643 `(("vom" ,sbcl-vom)))
8644 (native-inputs
8645 `(("cl-async" ,sbcl-cl-async)
8646 ("fiveam" ,sbcl-fiveam)))
8647 (synopsis "Promise implementation for Common Lisp")
8648 (description
8649 "This is a standalone promise implementation for Common Lisp. It is
8650 the successor to the now-deprecated cl-async-future project.")
8651 (home-page "https://orthecreedence.github.io/blackbird/")
8652 (license license:expat))))
8653
8654 (define-public cl-blackbird
8655 (sbcl-package->cl-source-package sbcl-blackbird))
8656
8657 (define-public ecl-blackbird
8658 (sbcl-package->ecl-package sbcl-blackbird))
8659
8660 (define-public sbcl-cl-async-future
8661 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
8662 (revision "1"))
8663 (package
8664 (name "sbcl-cl-async-future")
8665 (version (git-version "0.4.4.1" revision commit))
8666 (source
8667 (origin
8668 (method git-fetch)
8669 (uri (git-reference
8670 (url "https://github.com/orthecreedence/cl-async-future")
8671 (commit commit)))
8672 (file-name (git-file-name name version))
8673 (sha256
8674 (base32
8675 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
8676 (build-system asdf-build-system/sbcl)
8677 (inputs
8678 `(("blackbird" ,sbcl-blackbird)))
8679 (native-inputs
8680 `(("cl-async" ,sbcl-cl-async)
8681 ("eos" ,sbcl-eos)))
8682 (synopsis "Futures implementation for Common Lisp")
8683 (description
8684 "This is futures implementation for Common Lisp. It plugs in nicely
8685 to cl-async.")
8686 (home-page "https://orthecreedence.github.io/cl-async/future")
8687 (license license:expat))))
8688
8689 (define-public cl-async-future
8690 (sbcl-package->cl-source-package sbcl-cl-async-future))
8691
8692 (define-public ecl-cl-async-future
8693 (sbcl-package->ecl-package sbcl-cl-async-future))
8694
8695 (define-public sbcl-green-threads
8696 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
8697 (revision "1"))
8698 (package
8699 (name "sbcl-green-threads")
8700 (version (git-version "0.3" revision commit))
8701 (source
8702 (origin
8703 (method git-fetch)
8704 (uri (git-reference
8705 (url "https://github.com/thezerobit/green-threads")
8706 (commit commit)))
8707 (file-name (git-file-name name version))
8708 (sha256
8709 (base32
8710 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
8711 (build-system asdf-build-system/sbcl)
8712 (inputs
8713 `(("cl-async-future" ,sbcl-cl-async-future)
8714 ("cl-cont" ,sbcl-cl-cont)))
8715 (native-inputs
8716 `(("prove" ,sbcl-prove)))
8717 (arguments
8718 `(;; TODO: Fix the tests. They fail with:
8719 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
8720 #:tests? #f
8721 #:phases
8722 (modify-phases %standard-phases
8723 (add-after 'unpack 'fix-tests
8724 (lambda _
8725 (substitute* "green-threads-test.asd"
8726 (("cl-test-more")
8727 "prove"))
8728 #t)))))
8729 (synopsis "Cooperative multitasking library for Common Lisp")
8730 (description
8731 "This library allows for cooperative multitasking with help of cl-cont
8732 for continuations. It tries to mimic the API of bordeaux-threads as much as
8733 possible.")
8734 (home-page "https://github.com/thezerobit/green-threads")
8735 (license license:bsd-3))))
8736
8737 (define-public cl-green-threads
8738 (sbcl-package->cl-source-package sbcl-green-threads))
8739
8740 (define-public ecl-green-threads
8741 (sbcl-package->ecl-package sbcl-green-threads))
8742
8743 (define-public sbcl-cl-base32
8744 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
8745 (revision "1"))
8746 (package
8747 (name "sbcl-cl-base32")
8748 (version (git-version "0.1" revision commit))
8749 (source
8750 (origin
8751 (method git-fetch)
8752 (uri (git-reference
8753 (url "https://github.com/hargettp/cl-base32")
8754 (commit commit)))
8755 (file-name (git-file-name name version))
8756 (sha256
8757 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
8758 (build-system asdf-build-system/sbcl)
8759 (native-inputs
8760 `(("lisp-unit" ,sbcl-lisp-unit)))
8761 (synopsis "Common Lisp library for base32 encoding and decoding")
8762 (description
8763 "This package provides functions for base32 encoding and decoding as
8764 defined in RFC4648.")
8765 (home-page "https://github.com/hargettp/cl-base32")
8766 (license license:expat))))
8767
8768 (define-public cl-base32
8769 (sbcl-package->cl-source-package sbcl-cl-base32))
8770
8771 (define-public ecl-cl-base32
8772 (sbcl-package->ecl-package sbcl-cl-base32))
8773
8774 (define-public sbcl-cl-z85
8775 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
8776 (revision "1"))
8777 (package
8778 (name "sbcl-cl-z85")
8779 (version (git-version "1.0" revision commit))
8780 (source
8781 (origin
8782 (method git-fetch)
8783 (uri (git-reference
8784 (url "https://github.com/glv2/cl-z85")
8785 (commit commit)))
8786 (file-name (git-file-name name version))
8787 (sha256
8788 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
8789 (build-system asdf-build-system/sbcl)
8790 (native-inputs
8791 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
8792 ("fiveam" ,sbcl-fiveam)))
8793 (synopsis "Common Lisp library for Z85 encoding and decoding")
8794 (description
8795 "This package provides functions to encode or decode byte vectors or
8796 byte streams using the Z85 format, which is a base-85 encoding used by
8797 ZeroMQ.")
8798 (home-page "https://github.com/glv2/cl-z85")
8799 (license license:gpl3+))))
8800
8801 (define-public cl-z85
8802 (sbcl-package->cl-source-package sbcl-cl-z85))
8803
8804 (define-public ecl-cl-z85
8805 (sbcl-package->ecl-package sbcl-cl-z85))
8806
8807 (define-public sbcl-ltk
8808 (package
8809 (name "sbcl-ltk")
8810 (version "0.992")
8811 (source
8812 (origin
8813 (method git-fetch)
8814 (uri (git-reference
8815 (url "https://github.com/herth/ltk")
8816 (commit version)))
8817 (file-name (git-file-name name version))
8818 (sha256
8819 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
8820 (build-system asdf-build-system/sbcl)
8821 (inputs
8822 `(("imagemagick" ,imagemagick)
8823 ("tk" ,tk)))
8824 (arguments
8825 `(#:asd-systems '("ltk"
8826 "ltk-mw"
8827 "ltk-remote")
8828 #:tests? #f
8829 #:phases
8830 (modify-phases %standard-phases
8831 (add-after 'unpack 'fix-paths
8832 (lambda* (#:key inputs #:allow-other-keys)
8833 (substitute* "ltk/ltk.lisp"
8834 (("#-freebsd \"wish\"")
8835 (string-append "#-freebsd \""
8836 (assoc-ref inputs "tk")
8837 "/bin/wish\""))
8838 (("do-execute \"convert\"")
8839 (string-append "do-execute \""
8840 (assoc-ref inputs "imagemagick")
8841 "/bin/convert\"")))
8842 #t))
8843 (add-after 'unpack 'fix-build
8844 (lambda _
8845 (substitute* "ltk/ltk-remote.lisp"
8846 (("\\(:export")
8847 "(:shadow #:raise) (:export"))
8848 #t)))))
8849 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
8850 (description
8851 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
8852 in pure Common Lisp and does not require any Tk knowledge for its usage.")
8853 (home-page "http://www.peter-herth.de/ltk/")
8854 (license license:llgpl)))
8855
8856 (define-public cl-ltk
8857 (sbcl-package->cl-source-package sbcl-ltk))
8858
8859 (define-public ecl-ltk
8860 (sbcl-package->ecl-package sbcl-ltk))
8861
8862 (define-public sbcl-cl-lex
8863 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
8864 (revision "1"))
8865 (package
8866 (name "sbcl-cl-lex")
8867 (version (git-version "1.1.3" revision commit))
8868 (source
8869 (origin
8870 (method git-fetch)
8871 (uri (git-reference
8872 (url "https://github.com/djr7C4/cl-lex")
8873 (commit commit)))
8874 (file-name (git-file-name name version))
8875 (sha256
8876 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
8877 (build-system asdf-build-system/sbcl)
8878 (inputs
8879 `(("cl-ppcre" ,sbcl-cl-ppcre)))
8880 (synopsis "Common Lisp macros for generating lexical analyzers")
8881 (description
8882 "This is a Common Lisp library providing a set of macros for generating
8883 lexical analyzers automatically. The lexers generated using @code{cl-lex} can
8884 be used with @code{cl-yacc}.")
8885 (home-page "https://github.com/djr7C4/cl-lex")
8886 (license license:gpl3))))
8887
8888 (define-public cl-lex
8889 (sbcl-package->cl-source-package sbcl-cl-lex))
8890
8891 (define-public ecl-cl-lex
8892 (sbcl-package->ecl-package sbcl-cl-lex))
8893
8894 (define-public sbcl-clunit2
8895 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
8896 (revision "1"))
8897 (package
8898 (name "sbcl-clunit2")
8899 (version (git-version "0.2.4" revision commit))
8900 (source
8901 (origin
8902 (method git-fetch)
8903 (uri (git-reference
8904 (url "https://notabug.org/cage/clunit2.git")
8905 (commit commit)))
8906 (file-name (git-file-name name version))
8907 (sha256
8908 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
8909 (build-system asdf-build-system/sbcl)
8910 (synopsis "Unit testing framework for Common Lisp")
8911 (description
8912 "CLUnit is a Common Lisp unit testing framework. It is designed to be
8913 easy to use so that you can quickly start testing.")
8914 (home-page "https://notabug.org/cage/clunit2")
8915 (license license:expat))))
8916
8917 (define-public cl-clunit2
8918 (sbcl-package->cl-source-package sbcl-clunit2))
8919
8920 (define-public ecl-clunit2
8921 (sbcl-package->ecl-package sbcl-clunit2))
8922
8923 (define-public sbcl-cl-colors2
8924 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
8925 (revision "1"))
8926 (package
8927 (name "sbcl-cl-colors2")
8928 (version (git-version "0.2.1" revision commit))
8929 (source
8930 (origin
8931 (method git-fetch)
8932 (uri (git-reference
8933 (url "https://notabug.org/cage/cl-colors2.git")
8934 (commit commit)))
8935 (file-name (git-file-name name version))
8936 (sha256
8937 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
8938 (build-system asdf-build-system/sbcl)
8939 (native-inputs
8940 `(("clunit2" ,sbcl-clunit2)))
8941 (inputs
8942 `(("alexandria" ,sbcl-alexandria)
8943 ("cl-ppcre" ,sbcl-cl-ppcre)))
8944 (synopsis "Color library for Common Lisp")
8945 (description
8946 "This is a very simple color library for Common Lisp, providing:
8947
8948 @itemize
8949 @item Types for representing colors in HSV and RGB spaces.
8950 @item Simple conversion functions between the above types (and also
8951 hexadecimal representation for RGB).
8952 @item Some predefined colors (currently X11 color names -- of course
8953 the library does not depend on X11).
8954 @end itemize\n")
8955 (home-page "https://notabug.org/cage/cl-colors2")
8956 (license license:boost1.0))))
8957
8958 (define-public cl-colors2
8959 (sbcl-package->cl-source-package sbcl-cl-colors2))
8960
8961 (define-public ecl-cl-colors2
8962 (sbcl-package->ecl-package sbcl-cl-colors2))
8963
8964 (define-public sbcl-cl-jpeg
8965 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
8966 (revision "1"))
8967 (package
8968 (name "sbcl-cl-jpeg")
8969 (version (git-version "2.8" revision commit))
8970 (source
8971 (origin
8972 (method git-fetch)
8973 (uri (git-reference
8974 (url "https://github.com/sharplispers/cl-jpeg")
8975 (commit commit)))
8976 (file-name (git-file-name name version))
8977 (sha256
8978 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
8979 (build-system asdf-build-system/sbcl)
8980 (synopsis "JPEG image library for Common Lisp")
8981 (description
8982 "This is a baseline JPEG codec written in Common Lisp. It can be used
8983 for reading and writing JPEG image files.")
8984 (home-page "https://github.com/sharplispers/cl-jpeg")
8985 (license license:bsd-3))))
8986
8987 (define-public cl-jpeg
8988 (sbcl-package->cl-source-package sbcl-cl-jpeg))
8989
8990 (define-public ecl-cl-jpeg
8991 (sbcl-package->ecl-package sbcl-cl-jpeg))
8992
8993 (define-public sbcl-nodgui
8994 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
8995 (revision "1"))
8996 (package
8997 (name "sbcl-nodgui")
8998 (version (git-version "0.0.5" revision commit))
8999 (source
9000 (origin
9001 (method git-fetch)
9002 (uri (git-reference
9003 (url "https://notabug.org/cage/nodgui.git")
9004 (commit commit)))
9005 (file-name (git-file-name name version))
9006 (sha256
9007 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
9008 (build-system asdf-build-system/sbcl)
9009 (inputs
9010 `(("alexandria" ,sbcl-alexandria)
9011 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9012 ("cl-colors2" ,sbcl-cl-colors2)
9013 ("cl-jpeg" ,sbcl-cl-jpeg)
9014 ("cl-lex" ,sbcl-cl-lex)
9015 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
9016 ("cl-unicode" ,sbcl-cl-unicode)
9017 ("cl-yacc" ,sbcl-cl-yacc)
9018 ("clunit2" ,sbcl-clunit2)
9019 ("named-readtables" ,sbcl-named-readtables)
9020 ("parse-number" ,sbcl-parse-number)
9021 ("tk" ,tk)))
9022 (arguments
9023 `(#:phases (modify-phases %standard-phases
9024 (add-after 'unpack 'fix-paths
9025 (lambda* (#:key inputs #:allow-other-keys)
9026 (substitute* "src/wish-communication.lisp"
9027 (("#-freebsd \"wish\"")
9028 (string-append "#-freebsd \""
9029 (assoc-ref inputs "tk")
9030 "/bin/wish\"")))
9031 #t)))))
9032 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9033 (description
9034 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
9035 toolkit. It also provides a few additional widgets more than the standard Tk
9036 ones.")
9037 (home-page "https://www.autistici.org/interzona/nodgui.html")
9038 (license license:llgpl))))
9039
9040 (define-public cl-nodgui
9041 (sbcl-package->cl-source-package sbcl-nodgui))
9042
9043 (define-public ecl-nodgui
9044 (sbcl-package->ecl-package sbcl-nodgui))
9045
9046 (define-public sbcl-salza2
9047 (package
9048 (name "sbcl-salza2")
9049 (version "2.0.9")
9050 (source
9051 (origin
9052 (method git-fetch)
9053 (uri (git-reference
9054 (url "https://github.com/xach/salza2")
9055 (commit (string-append "release-" version))))
9056 (file-name (git-file-name name version))
9057 (sha256
9058 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
9059 (build-system asdf-build-system/sbcl)
9060 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
9061 (description
9062 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
9063 deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
9064 respectively.")
9065 (home-page "https://www.xach.com/lisp/salza2/")
9066 (license license:bsd-2)))
9067
9068 (define-public cl-salza2
9069 (sbcl-package->cl-source-package sbcl-salza2))
9070
9071 (define-public ecl-salza2
9072 (sbcl-package->ecl-package sbcl-salza2))
9073
9074 (define-public sbcl-origin
9075 (let ((commit "d646134302456408d6d43580bb05299f1695ab8e")
9076 (revision "1"))
9077 (package
9078 (name "sbcl-origin")
9079 (version (git-version "2.0.0" revision commit))
9080 (source
9081 (origin
9082 (method git-fetch)
9083 (uri (git-reference
9084 (url "https://git.mfiano.net/mfiano/origin")
9085 (commit commit)))
9086 (file-name (git-file-name "origin" version))
9087 (sha256
9088 (base32 "1n9aszaif3yh8prs5r8v51fbj4r5jd1a048mivd5yij3hplkm82b"))))
9089 (build-system asdf-build-system/sbcl)
9090 (native-inputs
9091 `(("parachute" ,sbcl-parachute)))
9092 (inputs
9093 `(("golden-utils" ,sbcl-golden-utils)
9094 ("specialization-store" ,sbcl-specialization-store)))
9095 (home-page "https://git.mfiano.net/mfiano/origin")
9096 (synopsis "Common Lisp graphics math library")
9097 (description
9098 "This is a native Common Lisp graphics math library with an emphasis on
9099 performance and correctness.")
9100 (license license:expat))))
9101
9102 (define-public ecl-origin
9103 (sbcl-package->ecl-package sbcl-origin))
9104
9105 (define-public cl-origin
9106 (sbcl-package->cl-source-package sbcl-origin))
9107
9108 (define-public sbcl-png-read
9109 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
9110 (revision "1"))
9111 (package
9112 (name "sbcl-png-read")
9113 (version (git-version "0.3.1" revision commit))
9114 (source
9115 (origin
9116 (method git-fetch)
9117 (uri (git-reference
9118 (url "https://github.com/Ramarren/png-read")
9119 (commit commit)))
9120 (file-name (git-file-name name version))
9121 (sha256
9122 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
9123 (build-system asdf-build-system/sbcl)
9124 (inputs
9125 `(("babel" ,sbcl-babel)
9126 ("chipz" ,sbcl-chipz)
9127 ("iterate" ,sbcl-iterate)))
9128 (synopsis "PNG decoder for Common Lisp")
9129 (description "This is a Common Lisp library for reading PNG images.")
9130 (home-page "https://github.com/Ramarren/png-read")
9131 (license license:bsd-3))))
9132
9133 (define-public cl-png-read
9134 (sbcl-package->cl-source-package sbcl-png-read))
9135
9136 (define-public ecl-png-read
9137 (sbcl-package->ecl-package sbcl-png-read))
9138
9139 (define-public sbcl-3b-bmfont
9140 (let ((commit "d1b5bec0de580c2d08ec947a93c56b1400f2a37a")
9141 (revision "1"))
9142 (package
9143 (name "sbcl-3b-bmfont")
9144 (version (git-version "0.0.1" revision commit))
9145 (source
9146 (origin
9147 (method git-fetch)
9148 (uri (git-reference
9149 (url "https://github.com/3b/3b-bmfont/")
9150 (commit commit)))
9151 (file-name (git-file-name "3b-bmfont" version))
9152 (sha256
9153 (base32 "12sgf7m0h6fqzhvkas7vmci6mprj3j3fnz778jlbqbsydln6v2yc"))))
9154 (build-system asdf-build-system/sbcl)
9155 (arguments
9156 `(#:asd-systems
9157 '("3b-bmfont"
9158 "3b-bmfont/text"
9159 "3b-bmfont/common"
9160 "3b-bmfont/xml"
9161 "3b-bmfont/json")))
9162 (inputs
9163 `(("alexandria" ,sbcl-alexandria)
9164 ("cxml" ,sbcl-cxml)
9165 ("flexi-streams" ,sbcl-flexi-streams)
9166 ("jsown" ,sbcl-jsown)
9167 ("split-sequence" ,sbcl-split-sequence)))
9168 (home-page "https://github.com/3b/3b-bmfont/")
9169 (synopsis "Read/write bmfont metadata files")
9170 (description
9171 "This is a Common Lisp library which provides functionality to
9172 read/write Bit Map Font (BMF) into text, JSON and XML.")
9173 (license license:expat))))
9174
9175 (define-public ecl-3b-bmfont
9176 (sbcl-package->ecl-package sbcl-3b-bmfont))
9177
9178 (define-public cl-3b-bmfont
9179 (sbcl-package->cl-source-package sbcl-3b-bmfont))
9180
9181 (define-public sbcl-zpng
9182 (package
9183 (name "sbcl-zpng")
9184 (version "1.2.2")
9185 (source
9186 (origin
9187 (method git-fetch)
9188 (uri (git-reference
9189 (url "https://github.com/xach/zpng")
9190 (commit (string-append "release-" version))))
9191 (file-name (git-file-name name version))
9192 (sha256
9193 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
9194 (build-system asdf-build-system/sbcl)
9195 (inputs
9196 `(("salza2" ,sbcl-salza2)))
9197 (synopsis "PNG encoder for Common Lisp")
9198 (description "This is a Common Lisp library for creating PNG images.")
9199 (home-page "https://www.xach.com/lisp/zpng/")
9200 (license license:bsd-2)))
9201
9202 (define-public cl-zpng
9203 (sbcl-package->cl-source-package sbcl-zpng))
9204
9205 (define-public ecl-zpng
9206 (sbcl-package->ecl-package sbcl-zpng))
9207
9208 (define-public sbcl-cl-qrencode
9209 (package
9210 (name "sbcl-cl-qrencode")
9211 (version "0.1.2")
9212 (source
9213 (origin
9214 (method git-fetch)
9215 (uri (git-reference
9216 (url "https://github.com/jnjcc/cl-qrencode")
9217 (commit (string-append "v" version))))
9218 (file-name (git-file-name name version))
9219 (sha256
9220 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
9221 (build-system asdf-build-system/sbcl)
9222 (native-inputs
9223 `(("lisp-unit" ,sbcl-lisp-unit)))
9224 (inputs
9225 `(("zpng" ,sbcl-zpng)))
9226 (synopsis "QR code encoder for Common Lisp")
9227 (description
9228 "This Common Lisp library provides function to make QR codes and to save
9229 them as PNG files.")
9230 (home-page "https://github.com/jnjcc/cl-qrencode")
9231 (license license:gpl2+)))
9232
9233 (define-public cl-qrencode
9234 (sbcl-package->cl-source-package sbcl-cl-qrencode))
9235
9236 (define-public ecl-cl-qrencode
9237 (sbcl-package->ecl-package sbcl-cl-qrencode))
9238
9239 (define-public sbcl-hdf5-cffi
9240 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
9241 (revision "1"))
9242 (package
9243 (name "sbcl-hdf5-cffi")
9244 (version (git-version "1.8.18" revision commit))
9245 (source
9246 (origin
9247 (method git-fetch)
9248 (uri (git-reference
9249 (url "https://github.com/hdfgroup/hdf5-cffi")
9250 (commit commit)))
9251 (file-name (git-file-name name version))
9252 (sha256
9253 (base32
9254 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
9255 (build-system asdf-build-system/sbcl)
9256 (synopsis "Common Lisp bindings for the HDF5 library")
9257 (description
9258 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
9259 (home-page "https://github.com/hdfgroup/hdf5-cffi")
9260 (license (license:non-copyleft
9261 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
9262 commit
9263 "/LICENSE")))
9264 (inputs
9265 `(("cffi" ,sbcl-cffi)
9266 ("hdf5" ,hdf5-1.10)))
9267 (native-inputs
9268 `(("fiveam" ,sbcl-fiveam)))
9269 (arguments
9270 `(#:test-asd-file "hdf5-cffi.test.asd"
9271 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
9272 ;; I don't know if there is a way to tell asdf-build-system to load
9273 ;; an additional system first, so tests are disabled.
9274 #:tests? #f
9275 #:phases
9276 (modify-phases %standard-phases
9277 (add-after 'unpack 'fix-paths
9278 (lambda* (#:key inputs #:allow-other-keys)
9279 (substitute* "src/library.lisp"
9280 (("libhdf5.so")
9281 (string-append
9282 (assoc-ref inputs "hdf5")
9283 "/lib/libhdf5.so")))))
9284 (add-after 'unpack 'fix-dependencies
9285 (lambda* (#:key inputs #:allow-other-keys)
9286 (substitute* "hdf5-cffi.asd"
9287 ((":depends-on \\(:cffi\\)")
9288 ":depends-on (:cffi :cffi-grovel)"))
9289 (substitute* "hdf5-cffi.test.asd"
9290 ((":depends-on \\(:cffi :hdf5-cffi")
9291 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
9292
9293 (define-public cl-hdf5-cffi
9294 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
9295
9296 (define-public ecl-hdf5-cffi
9297 (sbcl-package->ecl-package sbcl-hdf5-cffi))
9298
9299 (define-public sbcl-cl-randist
9300 (package
9301 (name "sbcl-cl-randist")
9302 (version "0.4.2")
9303 (source
9304 (origin
9305 (method git-fetch)
9306 (uri (git-reference
9307 (url "https://github.com/lvaruzza/cl-randist")
9308 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
9309 (file-name (git-file-name name version))
9310 (sha256
9311 (base32
9312 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
9313 (build-system asdf-build-system/sbcl)
9314 (synopsis "Random distributions for Common Lisp")
9315 (description
9316 "Manual translation from C to Common Lisp of some random number
9317 generation functions from the GSL library.")
9318 (home-page "https://github.com/lvaruzza/cl-randist")
9319 (license license:bsd-2)
9320 (arguments
9321 `(#:tests? #f))))
9322
9323 (define-public cl-randist
9324 (sbcl-package->cl-source-package sbcl-cl-randist))
9325
9326 (define-public ecl-cl-randist
9327 (sbcl-package->ecl-package sbcl-cl-randist))
9328
9329 (define-public sbcl-float-features
9330 (package
9331 (name "sbcl-float-features")
9332 (version "1.0.0")
9333 (source
9334 (origin
9335 (method git-fetch)
9336 (uri (git-reference
9337 (url "https://github.com/Shinmera/float-features")
9338 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
9339 (file-name (git-file-name name version))
9340 (sha256
9341 (base32
9342 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
9343 (build-system asdf-build-system/sbcl)
9344 (synopsis "Common Lisp IEEE float portability library")
9345 (description
9346 "Portability library for IEEE float features that are not
9347 covered by the Common Lisp standard.")
9348 (home-page "https://github.com/Shinmera/float-features")
9349 (license license:zlib)
9350 (inputs
9351 `(("documentation-utils" ,sbcl-documentation-utils)))
9352 (arguments
9353 `(#:tests? #f))))
9354
9355 (define-public cl-float-features
9356 (sbcl-package->cl-source-package sbcl-float-features))
9357
9358 (define-public ecl-float-features
9359 (sbcl-package->ecl-package sbcl-float-features))
9360
9361 (define-public sbcl-function-cache
9362 (package
9363 (name "sbcl-function-cache")
9364 (version "1.0.3")
9365 (source
9366 (origin
9367 (method git-fetch)
9368 (uri (git-reference
9369 (url "https://github.com/AccelerationNet/function-cache")
9370 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
9371 (file-name (git-file-name name version))
9372 (sha256
9373 (base32
9374 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
9375 (build-system asdf-build-system/sbcl)
9376 (synopsis "Function caching / memoization library for Common Lisp")
9377 (description
9378 "A common lisp library that provides extensible function result
9379 caching based on arguments (an expanded form of memoization).")
9380 (home-page "https://github.com/AccelerationNet/function-cache")
9381 (license
9382 (license:non-copyleft
9383 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
9384 (inputs
9385 `(("alexandria" ,sbcl-alexandria)
9386 ("cl-interpol" ,sbcl-cl-interpol)
9387 ("iterate" ,sbcl-iterate)
9388 ("symbol-munger" ,sbcl-symbol-munger)
9389 ("closer-mop" ,sbcl-closer-mop)))
9390 (arguments
9391 `(#:tests? #f))))
9392
9393 (define-public cl-function-cache
9394 (sbcl-package->cl-source-package sbcl-function-cache))
9395
9396 (define-public ecl-function-cache
9397 (sbcl-package->ecl-package sbcl-function-cache))
9398
9399 (define-public sbcl-type-r
9400 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
9401 (revision "1"))
9402 (package
9403 (name "sbcl-type-r")
9404 (version (git-version "0.0.0" revision commit))
9405 (source
9406 (origin
9407 (method git-fetch)
9408 (uri (git-reference
9409 (url "https://github.com/guicho271828/type-r")
9410 (commit commit)))
9411 (file-name (git-file-name name version))
9412 (sha256
9413 (base32
9414 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
9415 (build-system asdf-build-system/sbcl)
9416 (synopsis "Parser interface for Common Lisp built-in compound types")
9417 (description
9418 "Collections of accessor functions and patterns to access
9419 the elements in compound type specifier, e.g. @code{dimensions} in
9420 @code{(array element-type dimensions)}")
9421 (home-page "https://github.com/guicho271828/type-r")
9422 (license license:lgpl3+)
9423 (inputs
9424 `(("trivia" ,sbcl-trivia)
9425 ("alexandria" ,sbcl-alexandria)))
9426 (native-inputs
9427 `(("fiveam" ,sbcl-fiveam)))
9428 (arguments
9429 `(#:test-asd-file "type-r.test.asd")))))
9430
9431 (define-public cl-type-r
9432 (sbcl-package->cl-source-package sbcl-type-r))
9433
9434 (define-public ecl-type-r
9435 (sbcl-package->ecl-package sbcl-type-r))
9436
9437 (define-public sbcl-trivialib-type-unify
9438 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
9439 (revision "1"))
9440 (package
9441 (name "sbcl-trivialib-type-unify")
9442 (version (git-version "0.1" revision commit))
9443 (source
9444 (origin
9445 (method git-fetch)
9446 (uri (git-reference
9447 (url "https://github.com/guicho271828/trivialib.type-unify")
9448 (commit commit)))
9449 (file-name (git-file-name name version))
9450 (sha256
9451 (base32
9452 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
9453 (build-system asdf-build-system/sbcl)
9454 (synopsis "Common Lisp type unification")
9455 (description
9456 "Unifies a parametrized type specifier against an actual type specifier.
9457 Importantly, it handles complicated array-subtypes and number-related types
9458 correctly.")
9459 (home-page "https://github.com/guicho271828/trivialib.type-unify")
9460 (license license:lgpl3+)
9461 (inputs
9462 `(("alexandria" ,sbcl-alexandria)
9463 ("trivia" ,sbcl-trivia)
9464 ("introspect-environment" ,sbcl-introspect-environment)
9465 ("type-r" ,sbcl-type-r)))
9466 (native-inputs
9467 `(("fiveam" ,sbcl-fiveam)))
9468 (arguments
9469 `(#:asd-systems '("trivialib.type-unify")
9470 #:test-asd-file "trivialib.type-unify.test.asd")))))
9471
9472 (define-public cl-trivialib-type-unify
9473 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
9474
9475 (define-public ecl-trivialib-type-unify
9476 (sbcl-package->ecl-package sbcl-trivialib-type-unify))
9477
9478 (define-public sbcl-specialized-function
9479 (let ((commit "dee56d2d2b6ecd10500ad291c56217698604ec35")
9480 (revision "2"))
9481 (package
9482 (name "sbcl-specialized-function")
9483 (version (git-version "0.0.0" revision commit))
9484 (source
9485 (origin
9486 (method git-fetch)
9487 (uri (git-reference
9488 (url "https://github.com/numcl/specialized-function")
9489 (commit commit)))
9490 (file-name (git-file-name name version))
9491 (sha256
9492 (base32 "1mcc7mmpbnmgnr1cl2jl5r1ai54gn7fbisv2c14sh9za5w4sib82"))))
9493 (build-system asdf-build-system/sbcl)
9494 (synopsis "Julia-like dispatch for Common Lisp")
9495 (description
9496 "This library is part of NUMCL. It provides a macro
9497 @code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
9498 lazily compiling a type-specific version of the function from the same
9499 code. The main target of this macro is speed.")
9500 (home-page "https://github.com/numcl/specialized-function")
9501 (license license:lgpl3+)
9502 (inputs
9503 `(("trivia" ,sbcl-trivia)
9504 ("alexandria" ,sbcl-alexandria)
9505 ("iterate" ,sbcl-iterate)
9506 ("lisp-namespace" ,sbcl-lisp-namespace)
9507 ("type-r" ,sbcl-type-r)
9508 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
9509 (native-inputs
9510 `(("fiveam" ,sbcl-fiveam)))
9511 (arguments
9512 `(#:asd-files '("specialized-function.asd")
9513 #:test-asd-file "specialized-function.test.asd"
9514 ;; Tests fail because they try to use an internal symbol of SBCL
9515 ;; that does not exists in recent versions:
9516 ;; "The variable SB-VM:COMPLEX-VECTOR-NIL-WIDETAG is unbound."
9517 #:tests? #f)))))
9518
9519 (define-public cl-specialized-function
9520 (sbcl-package->cl-source-package sbcl-specialized-function))
9521
9522 (define-public ecl-specialized-function
9523 (sbcl-package->ecl-package sbcl-specialized-function))
9524
9525 (define-public sbcl-constantfold
9526 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
9527 (revision "1"))
9528 (package
9529 (name "sbcl-constantfold")
9530 (version (git-version "0.1" revision commit))
9531 (source
9532 (origin
9533 (method git-fetch)
9534 (uri (git-reference
9535 (url "https://github.com/numcl/constantfold")
9536 (commit commit)))
9537 (file-name (git-file-name name version))
9538 (sha256
9539 (base32
9540 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
9541 (build-system asdf-build-system/sbcl)
9542 (synopsis "Support library for numcl")
9543 (description
9544 "Support library for numcl. Registers a function as an
9545 additional form that is considered as a candidate for a constant.")
9546 (home-page "https://github.com/numcl/constantfold")
9547 (license license:lgpl3+)
9548 (inputs
9549 `(("trivia" ,sbcl-trivia)
9550 ("alexandria" ,sbcl-alexandria)
9551 ("iterate" ,sbcl-iterate)
9552 ("lisp-namespace" ,sbcl-lisp-namespace)))
9553 (native-inputs
9554 `(("fiveam" ,sbcl-fiveam)))
9555 (arguments
9556 `(#:asd-files '("constantfold.asd")
9557 #:test-asd-file "constantfold.test.asd")))))
9558
9559 (define-public cl-constantfold
9560 (sbcl-package->cl-source-package sbcl-constantfold))
9561
9562 (define-public ecl-constantfold
9563 (sbcl-package->ecl-package sbcl-constantfold))
9564
9565 (define-public sbcl-gtype
9566 (let ((commit "2442e32485635525af278ebd8fa69a27d5b8cf18")
9567 (revision "2"))
9568 (package
9569 (name "sbcl-gtype")
9570 (version (git-version "0.1" revision commit))
9571 (source
9572 (origin
9573 (method git-fetch)
9574 (uri (git-reference
9575 (url "https://github.com/numcl/gtype")
9576 (commit commit)))
9577 (file-name (git-file-name name version))
9578 (sha256
9579 (base32 "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h"))))
9580 (build-system asdf-build-system/sbcl)
9581 (synopsis "C++/Julia-like parametric types in Common Lisp")
9582 (description
9583 "Support library for numcl that provides Julia-like runtime parametric
9584 type correctness in Common Lisp. It is based on CLtL2 extensions.")
9585 (home-page "https://github.com/numcl/gtype")
9586 (license license:lgpl3+)
9587 (inputs
9588 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
9589 ("trivial-cltl2" ,sbcl-trivial-cltl2)
9590 ("trivia" ,sbcl-trivia)
9591 ("alexandria" ,sbcl-alexandria)
9592 ("iterate" ,sbcl-iterate)
9593 ("type-r" ,sbcl-type-r)))
9594 (native-inputs
9595 `(("fiveam" ,sbcl-fiveam)))
9596 (arguments
9597 `(#:asd-files '("gtype.asd")
9598 #:test-asd-file "gtype.test.asd")))))
9599
9600 (define-public cl-gtype
9601 (sbcl-package->cl-source-package sbcl-gtype))
9602
9603 (define-public ecl-gtype
9604 (let ((pkg (sbcl-package->ecl-package sbcl-gtype)))
9605 (package
9606 (inherit pkg)
9607 (arguments
9608 (substitute-keyword-arguments (package-arguments pkg)
9609 ;; The tests fail on ECL with a COMPILE-FILE-ERROR for t/package.lisp.
9610 ((#:tests? _ #f) #f))))))
9611
9612 (define-public sbcl-numcl
9613 (let ((commit "d19f36356be900c600ef08560c9e1af441a166cb")
9614 (revision "1"))
9615 (package
9616 (name "sbcl-numcl")
9617 (version (git-version "0.2.0" revision commit))
9618 (source
9619 (origin
9620 (method git-fetch)
9621 (uri (git-reference
9622 (url "https://github.com/numcl/numcl")
9623 (commit commit)))
9624 (file-name (git-file-name "numcl" version))
9625 (sha256
9626 (base32 "0q4ylfr7hl0gz2ynr0c15h09dmnli2x6ndnm5wr58wfplf1wfj31"))))
9627 (build-system asdf-build-system/sbcl)
9628 (arguments
9629 `(#:test-asd-file "numcl.test.asd"
9630 #:asd-files '("numcl.asd")))
9631 (native-inputs
9632 `(("fiveam" ,sbcl-fiveam)))
9633 (inputs
9634 `(("alexandria" ,sbcl-alexandria)
9635 ("cl-randist" ,sbcl-cl-randist)
9636 ("constantfold" ,sbcl-constantfold)
9637 ("float-features" ,sbcl-float-features)
9638 ("function-cache" ,sbcl-function-cache)
9639 ("gtype" ,sbcl-gtype)
9640 ("iterate" ,sbcl-iterate)
9641 ("lisp-namespace" ,sbcl-lisp-namespace)
9642 ("specialized-function" ,sbcl-specialized-function)
9643 ("trivia" ,sbcl-trivia)
9644 ("type-r" ,sbcl-type-r)))
9645 (home-page "https://numcl.github.io/numcl/")
9646 (synopsis "Numpy clone in Common Lisp")
9647 (description
9648 "This package is a Python Numpy clone implemented in pure Common Lisp.")
9649 (license license:lgpl3+))))
9650
9651 (define-public cl-numcl
9652 (sbcl-package->cl-source-package sbcl-numcl))
9653
9654 (define-public ecl-numcl
9655 (sbcl-package->ecl-package sbcl-numcl))
9656
9657 (define-public sbcl-pzmq
9658 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
9659 (revision "1"))
9660 (package
9661 (name "sbcl-pzmq")
9662 (version (git-version "0.0.0" revision commit))
9663 (source
9664 (origin
9665 (method git-fetch)
9666 (uri (git-reference
9667 (url "https://github.com/orivej/pzmq")
9668 (commit commit)))
9669 (file-name (git-file-name name version))
9670 (sha256
9671 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
9672 (build-system asdf-build-system/sbcl)
9673 (native-inputs
9674 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9675 ("fiveam" ,sbcl-fiveam)
9676 ("let-plus" ,sbcl-let-plus)))
9677 (inputs
9678 `(("cffi" ,sbcl-cffi)
9679 ("zeromq" ,zeromq)))
9680 (arguments
9681 `(#:phases (modify-phases %standard-phases
9682 (add-after 'unpack 'fix-paths
9683 (lambda* (#:key inputs #:allow-other-keys)
9684 (substitute* "c-api.lisp"
9685 (("\"libzmq")
9686 (string-append "\""
9687 (assoc-ref inputs "zeromq")
9688 "/lib/libzmq")))
9689 #t)))))
9690 (synopsis "Common Lisp bindings for the ZeroMQ library")
9691 (description "This Common Lisp library provides bindings for the ZeroMQ
9692 lightweight messaging kernel.")
9693 (home-page "https://github.com/orivej/pzmq")
9694 (license license:unlicense))))
9695
9696 (define-public cl-pzmq
9697 (sbcl-package->cl-source-package sbcl-pzmq))
9698
9699 (define-public ecl-pzmq
9700 (sbcl-package->ecl-package sbcl-pzmq))
9701
9702 (define-public sbcl-clss
9703 (let ((revision "1")
9704 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
9705 (package
9706 (name "sbcl-clss")
9707 (version (git-version "0.3.1" revision commit))
9708 (source
9709 (origin
9710 (method git-fetch)
9711 (uri
9712 (git-reference
9713 (url "https://github.com/Shinmera/clss")
9714 (commit commit)))
9715 (sha256
9716 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
9717 (file-name (git-file-name name version))))
9718 (inputs
9719 `(("array-utils" ,sbcl-array-utils)
9720 ("plump" ,sbcl-plump)))
9721 (build-system asdf-build-system/sbcl)
9722 (synopsis "DOM tree searching engine based on CSS selectors")
9723 (description "CLSS is a DOM traversal engine based on CSS
9724 selectors. It makes use of the Plump-DOM and is used by lQuery.")
9725 (home-page "https://github.com/Shinmera/clss")
9726 (license license:zlib))))
9727
9728 (define-public cl-clss
9729 (sbcl-package->cl-source-package sbcl-clss))
9730
9731 (define-public ecl-clss
9732 (sbcl-package->ecl-package sbcl-clss))
9733
9734 (define-public sbcl-lquery
9735 (let ((revision "1")
9736 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
9737 (package
9738 (name "sbcl-lquery")
9739 (version (git-version "3.2.1" revision commit))
9740 (source
9741 (origin
9742 (method git-fetch)
9743 (uri
9744 (git-reference
9745 (url "https://github.com/Shinmera/lquery")
9746 (commit commit)))
9747 (sha256
9748 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
9749 (file-name (git-file-name name version))))
9750 (native-inputs
9751 `(("fiveam" ,sbcl-fiveam)))
9752 (inputs
9753 `(("array-utils" ,sbcl-array-utils)
9754 ("form-fiddle" ,sbcl-form-fiddle)
9755 ("plump" ,sbcl-plump)
9756 ("clss" ,sbcl-clss)))
9757 (build-system asdf-build-system/sbcl)
9758 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
9759 (description "@code{lQuery} is a DOM manipulation library written in
9760 Common Lisp, inspired by and based on the jQuery syntax and
9761 functions. It uses Plump and CLSS as DOM and selector engines. The
9762 main idea behind lQuery is to provide a simple interface for crawling
9763 and modifying HTML sites, as well as to allow for an alternative
9764 approach to templating.")
9765 (home-page "https://github.com/Shinmera/lquery")
9766 (license license:zlib))))
9767
9768 (define-public cl-lquery
9769 (sbcl-package->cl-source-package sbcl-lquery))
9770
9771 (define-public ecl-lquery
9772 (sbcl-package->ecl-package sbcl-lquery))
9773
9774 (define-public sbcl-cl-mysql
9775 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
9776 (revision "1"))
9777 (package
9778 (name "sbcl-cl-mysql")
9779 (version (git-version "0.1" revision commit))
9780 (source
9781 (origin
9782 (method git-fetch)
9783 (uri (git-reference
9784 (url "https://github.com/hackinghat/cl-mysql")
9785 (commit commit)))
9786 (file-name (git-file-name name version))
9787 (sha256
9788 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
9789 (build-system asdf-build-system/sbcl)
9790 (native-inputs
9791 `(("stefil" ,sbcl-stefil)))
9792 (inputs
9793 `(("cffi" ,sbcl-cffi)
9794 ("mariadb-lib" ,mariadb "lib")))
9795 (arguments
9796 `(#:tests? #f ; TODO: Tests require a running server
9797 #:phases
9798 (modify-phases %standard-phases
9799 (add-after 'unpack 'fix-paths
9800 (lambda* (#:key inputs #:allow-other-keys)
9801 (substitute* "system.lisp"
9802 (("libmysqlclient_r" all)
9803 (string-append (assoc-ref inputs "mariadb-lib")
9804 "/lib/"
9805 all)))
9806 #t)))))
9807 (synopsis "Common Lisp wrapper for MySQL")
9808 (description
9809 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
9810 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
9811 (license license:expat))))
9812
9813 (define-public cl-mysql
9814 (sbcl-package->cl-source-package sbcl-cl-mysql))
9815
9816 (define-public ecl-cl-mysql
9817 (sbcl-package->ecl-package sbcl-cl-mysql))
9818
9819 (define-public sbcl-postmodern
9820 (package
9821 (name "sbcl-postmodern")
9822 (version "1.32.8")
9823 (source
9824 (origin
9825 (method git-fetch)
9826 (uri (git-reference
9827 (url "https://github.com/marijnh/Postmodern")
9828 (commit (string-append "v" version))))
9829 (file-name (git-file-name name version))
9830 (sha256
9831 (base32 "0vr5inbr8dldf6dsl0qj3h2yrnnsayzfwxfzwkn1pk7xbns2l78q"))))
9832 (build-system asdf-build-system/sbcl)
9833 (native-inputs
9834 `(("fiveam" ,sbcl-fiveam)))
9835 (inputs
9836 `(("alexandria" ,sbcl-alexandria)
9837 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9838 ("cl-base64" ,sbcl-cl-base64)
9839 ("cl-unicode" ,sbcl-cl-unicode)
9840 ("closer-mop" ,sbcl-closer-mop)
9841 ("global-vars" ,sbcl-global-vars)
9842 ("ironclad" ,sbcl-ironclad)
9843 ("local-time" ,sbcl-local-time)
9844 ("md5" ,sbcl-md5)
9845 ("split-sequence" ,sbcl-split-sequence)
9846 ("uax-15" ,sbcl-uax-15)
9847 ("usocket" ,sbcl-usocket)))
9848 (arguments
9849 ;; TODO: (Sharlatan-20210114T171037+0000) tests still failing but on other
9850 ;; step, some functionality in `local-time' prevents passing tests.
9851 ;; Error:
9852 ;;
9853 ;; Can't create directory
9854 ;; /gnu/store
9855 ;; /4f47agf1kyiz057ppy6x5p98i7mcbfsv-sbcl-local-time-1.0.6-2.a177eb9
9856 ;; /lib/common-lisp/sbcl/local-time/src/integration/
9857 ;;
9858 ;; NOTE: (Sharlatan-20210124T191940+0000): When set env HOME to /tmp above
9859 ;; issue is resolved but it required live test database to connect to now.
9860 ;; Keep tests switched off.
9861 `(#:tests? #f
9862 #:asd-systems '("cl-postgres"
9863 "s-sql"
9864 "postmodern"
9865 "simple-date"
9866 "simple-date/postgres-glue")))
9867 (synopsis "Common Lisp library for interacting with PostgreSQL")
9868 (description
9869 "@code{postmodern} is a Common Lisp library for interacting with
9870 PostgreSQL databases. It provides the following features:
9871
9872 @itemize
9873 @item Efficient communication with the database server without need for
9874 foreign libraries.
9875 @item Support for UTF-8 on Unicode-aware Lisp implementations.
9876 @item A syntax for mixing SQL and Lisp code.
9877 @item Convenient support for prepared statements and stored procedures.
9878 @item A metaclass for simple database-access objects.
9879 @end itemize\n
9880
9881 This package produces 4 systems: postmodern, cl-postgres, s-sql, simple-date
9882
9883 @code{SIMPLE-DATE} is a very basic implementation of date and time objects, used
9884 to support storing and retrieving time-related SQL types. It is not loaded by
9885 default and you can use local-time (which has support for timezones) instead.
9886
9887 @code{S-SQL} is used to compile s-expressions to strings of SQL code, escaping
9888 any Lisp values inside, and doing as much as possible of the work at compile
9889 time.
9890
9891 @code{CL-POSTGRES} is the low-level library used for interfacing with a PostgreSQL
9892 server over a socket.
9893
9894 @code{POSTMODERN} itself is a wrapper around these packages and provides higher
9895 level functions, a very simple data access object that can be mapped directly to
9896 database tables and some convient utilities. It then tries to put all these
9897 things together into a convenient programming interface")
9898 (home-page "https://marijnhaverbeke.nl/postmodern/")
9899 (license license:zlib)))
9900
9901 (define-public cl-postmodern
9902 (sbcl-package->cl-source-package sbcl-postmodern))
9903
9904 (define-public ecl-postmodern
9905 (package
9906 (inherit (sbcl-package->ecl-package sbcl-postmodern))
9907 (arguments
9908 `(#:tests? #f
9909 #:asd-systems '("cl-postgres"
9910 "s-sql"
9911 "postmodern"
9912 "simple-date"
9913 "simple-date/postgres-glue")
9914 #:phases
9915 (modify-phases %standard-phases
9916 (add-after 'unpack 'fix-build
9917 (lambda _
9918 (substitute* "cl-postgres.asd"
9919 ((":or :sbcl :allegro :ccl :clisp" all)
9920 (string-append all " :ecl")))
9921 #t)))))))
9922
9923 (define-public sbcl-db3
9924 (let ((commit "38e5ad35f025769fb7f8dcdc6e56df3e8efd8e6d")
9925 (revision "1"))
9926 (package
9927 (name "sbcl-db3")
9928 (version (git-version "0.0.0" revision commit))
9929 (source
9930 (origin
9931 (method git-fetch)
9932 (uri (git-reference
9933 (url "https://github.com/dimitri/cl-db3")
9934 (commit commit)))
9935 (file-name (git-file-name "cl-db3" version))
9936 (sha256
9937 (base32 "1i7j0mlri6kbklcx1lsm464s8kmyhhij5c4xh4aybrw8m4ixn1s5"))))
9938 (build-system asdf-build-system/sbcl)
9939 (home-page "https://github.com/dimitri/cl-db3")
9940 (synopsis "Common Lisp library to read dBase III database files")
9941 (description
9942 "This is a Common Lisp library for processing data found in dBase III
9943 database files (dbf and db3 files).")
9944 (license license:public-domain))))
9945
9946 (define-public ecl-db3
9947 (sbcl-package->ecl-package sbcl-db3))
9948
9949 (define-public cl-db3
9950 (sbcl-package->cl-source-package sbcl-db3))
9951
9952 (define-public sbcl-dbi
9953 ;; Master includes a breaking change which other packages depend on since
9954 ;; Quicklisp decided to follow it:
9955 ;; https://github.com/fukamachi/cl-dbi/commit/31c46869722f77fd5292a81b5b101f1347d7fce1
9956 (let ((commit "31c46869722f77fd5292a81b5b101f1347d7fce1"))
9957 (package
9958 (name "sbcl-dbi")
9959 (version (git-version "0.9.4" "1" commit))
9960 (source
9961 (origin
9962 (method git-fetch)
9963 (uri (git-reference
9964 (url "https://github.com/fukamachi/cl-dbi")
9965 (commit commit)))
9966 (file-name (git-file-name name version))
9967 (sha256
9968 (base32 "0r3n4rw12qqxad0cryym2ibm4ddl49gbq4ra227afibsr43nw5k3"))))
9969 (build-system asdf-build-system/sbcl)
9970 (native-inputs
9971 `(("rove" ,sbcl-rove)
9972 ("trivial-types" ,sbcl-trivial-types)))
9973 (inputs
9974 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9975 ("cl-mysql" ,sbcl-cl-mysql)
9976 ("cl-sqlite" ,sbcl-cl-sqlite)
9977 ("closer-mop" ,sbcl-closer-mop)
9978 ("postmodern" ,sbcl-postmodern)
9979 ("split-sequence" ,sbcl-split-sequence)
9980 ("trivial-garbage" ,sbcl-trivial-garbage)))
9981 (arguments
9982 `(#:asd-systems '("dbi"
9983 "dbd-mysql"
9984 "dbd-postgres"
9985 "dbd-sqlite3")))
9986 (synopsis "Database independent interface for Common Lisp")
9987 (description
9988 "@code{dbi} is a Common Lisp library providing a database independent
9989 interface for MySQL, PostgreSQL and SQLite.")
9990 (home-page "https://github.com/fukamachi/cl-dbi")
9991 (license license:llgpl))))
9992
9993 (define-public cl-dbi
9994 (sbcl-package->cl-source-package sbcl-dbi))
9995
9996 (define-public ecl-dbi
9997 (sbcl-package->ecl-package sbcl-dbi))
9998
9999 (define-public sbcl-uffi
10000 (package
10001 (name "sbcl-uffi")
10002 (version "2.1.2")
10003 (source
10004 (origin
10005 (method git-fetch)
10006 (uri (git-reference
10007 (url "http://git.kpe.io/uffi.git")
10008 (commit (string-append "v" version))))
10009 (file-name (git-file-name name version))
10010 (sha256
10011 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
10012 (build-system asdf-build-system/sbcl)
10013 (arguments
10014 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
10015 #:asd-files '("uffi.asd")
10016 #:phases
10017 (modify-phases %standard-phases
10018 (add-after 'unpack 'fix-permissions
10019 (lambda _
10020 (make-file-writable "doc/html.tar.gz")
10021 #t)))))
10022 (synopsis "Universal foreign function library for Common Lisp")
10023 (description
10024 "UFFI provides a universal foreign function interface (FFI)
10025 for Common Lisp.")
10026 (home-page "http://quickdocs.org/uffi/")
10027 (license license:llgpl)))
10028
10029 (define-public cl-uffi
10030 (package
10031 (inherit (sbcl-package->cl-source-package sbcl-uffi))
10032 (arguments
10033 `(#:phases
10034 ;; asdf-build-system/source has its own phases and does not inherit
10035 ;; from asdf-build-system/sbcl phases.
10036 (modify-phases %standard-phases/source
10037 ;; Already done in SBCL package.
10038 (delete 'reset-gzip-timestamps))))))
10039
10040 (define-public sbcl-clsql
10041 (package
10042 (name "sbcl-clsql")
10043 (version "6.7.0")
10044 (source
10045 (origin
10046 (method git-fetch)
10047 (uri (git-reference
10048 (url "http://git.kpe.io/clsql.git")
10049 (commit (string-append "v" version))))
10050 (file-name (git-file-name name version))
10051 (sha256
10052 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
10053 (snippet
10054 '(begin
10055 ;; Remove precompiled libraries.
10056 (delete-file "db-mysql/clsql_mysql.dll")
10057 (delete-file "uffi/clsql_uffi.dll")
10058 (delete-file "uffi/clsql_uffi.lib")
10059 #t))))
10060 (build-system asdf-build-system/sbcl)
10061 (native-inputs
10062 `(("rt" ,sbcl-rt)))
10063 (inputs
10064 `(("cffi" ,sbcl-cffi)
10065 ("md5" ,sbcl-md5)
10066 ("mysql" ,mysql)
10067 ("postgresql" ,postgresql)
10068 ("postmodern" ,sbcl-postmodern)
10069 ("sqlite" ,sqlite)
10070 ("uffi" ,sbcl-uffi)
10071 ("zlib" ,zlib)))
10072 (arguments
10073 `(#:asd-files '("clsql.asd"
10074 "clsql-uffi.asd"
10075 "clsql-sqlite3.asd"
10076 "clsql-postgresql.asd"
10077 "clsql-postgresql-socket3.asd"
10078 "clsql-mysql.asd")
10079 #:asd-systems '("clsql"
10080 "clsql-sqlite3"
10081 "clsql-postgresql"
10082 "clsql-postgresql-socket3"
10083 "clsql-mysql")
10084 #:phases
10085 (modify-phases %standard-phases
10086 (add-after 'unpack 'fix-permissions
10087 (lambda _
10088 (make-file-writable "doc/html.tar.gz")
10089 #t))
10090 (add-after 'unpack 'fix-build
10091 (lambda _
10092 (substitute* "clsql-uffi.asd"
10093 (("\\(:version uffi \"2.0\"\\)")
10094 "uffi"))
10095 (substitute* "db-postgresql/postgresql-api.lisp"
10096 (("\\(data :cstring\\)")
10097 "(data :string)"))
10098 #t))
10099 (add-after 'unpack 'fix-paths
10100 (lambda* (#:key inputs outputs #:allow-other-keys)
10101 (substitute* "db-sqlite3/sqlite3-loader.lisp"
10102 (("libsqlite3")
10103 (string-append (assoc-ref inputs "sqlite")
10104 "/lib/libsqlite3")))
10105 (substitute* "db-postgresql/postgresql-loader.lisp"
10106 (("libpq")
10107 (string-append (assoc-ref inputs "postgresql")
10108 "/lib/libpq")))
10109 (let ((lib (string-append "#p\""
10110 (assoc-ref outputs "out")
10111 "/lib/\"")))
10112 (substitute* "clsql-mysql.asd"
10113 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
10114 lib))
10115 (substitute* "db-mysql/mysql-loader.lisp"
10116 (("libmysqlclient" all)
10117 (string-append (assoc-ref inputs "mysql") "/lib/" all))
10118 (("clsql-mysql-system::\\*library-file-dir\\*")
10119 lib)))
10120 #t))
10121 (add-before 'build 'build-helper-library
10122 (lambda* (#:key inputs outputs #:allow-other-keys)
10123 (let* ((mysql (assoc-ref inputs "mysql"))
10124 (inc-dir (string-append mysql "/include/mysql"))
10125 (lib-dir (string-append mysql "/lib"))
10126 (shared-lib-dir (string-append (assoc-ref outputs "out")
10127 "/lib"))
10128 (shared-lib (string-append shared-lib-dir
10129 "/clsql_mysql.so")))
10130 (mkdir-p shared-lib-dir)
10131 (invoke "gcc" "-fPIC" "-shared"
10132 "-I" inc-dir
10133 "db-mysql/clsql_mysql.c"
10134 "-Wl,-soname=clsql_mysql"
10135 "-L" lib-dir "-lmysqlclient" "-lz"
10136 "-o" shared-lib)
10137 #t)))
10138 (add-after 'unpack 'fix-tests
10139 (lambda _
10140 (substitute* "clsql.asd"
10141 (("clsql-tests :force t")
10142 "clsql-tests"))
10143 #t)))))
10144 (synopsis "Common Lisp SQL Interface library")
10145 (description
10146 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
10147 Xanalys CommonSQL interface for Lispworks. It provides low-level database
10148 interfaces as well as a functional and an object oriented interface.")
10149 (home-page "http://clsql.kpe.io/")
10150 (license license:llgpl)))
10151
10152 (define-public cl-clsql
10153 (package
10154 (inherit (sbcl-package->cl-source-package sbcl-clsql))
10155 (native-inputs
10156 `(("rt" ,cl-rt)))
10157 (inputs
10158 `(("mysql" ,mysql)
10159 ("postgresql" ,postgresql)
10160 ("sqlite" ,sqlite)
10161 ("zlib" ,zlib)))
10162 (propagated-inputs
10163 `(("cffi" ,cl-cffi)
10164 ("md5" ,cl-md5)
10165 ("postmodern" ,cl-postmodern)
10166 ("uffi" ,cl-uffi)))
10167 (arguments
10168 `(#:phases
10169 ;; asdf-build-system/source has its own phases and does not inherit
10170 ;; from asdf-build-system/sbcl phases.
10171 (modify-phases %standard-phases/source
10172 (add-after 'unpack 'fix-permissions
10173 (lambda _
10174 (make-file-writable "doc/html.tar.gz")
10175 #t)))))))
10176
10177 (define-public ecl-clsql
10178 (let ((pkg (sbcl-package->ecl-package sbcl-clsql)))
10179 (package
10180 (inherit pkg)
10181 (inputs
10182 (alist-delete "uffi" (package-inputs pkg)))
10183 (arguments
10184 (substitute-keyword-arguments (package-arguments pkg)
10185 ((#:asd-files asd-files '())
10186 `(cons "clsql-cffi.asd" ,asd-files)))))))
10187
10188 (define-public sbcl-sycamore
10189 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
10190 (package
10191 (name "sbcl-sycamore")
10192 (version "0.0.20120604")
10193 (source
10194 (origin
10195 (method git-fetch)
10196 (uri (git-reference
10197 (url "https://github.com/ndantam/sycamore/")
10198 (commit commit)))
10199 (file-name (git-file-name name version))
10200 (sha256
10201 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
10202 (build-system asdf-build-system/sbcl)
10203 (inputs
10204 `(("alexandria" ,sbcl-alexandria)
10205 ("cl-ppcre" ,sbcl-cl-ppcre)))
10206 (synopsis "Purely functional data structure library in Common Lisp")
10207 (description
10208 "Sycamore is a fast, purely functional data structure library in Common Lisp.
10209 If features:
10210
10211 @itemize
10212 @item Fast, purely functional weight-balanced binary trees.
10213 @item Leaf nodes are simple-vectors, greatly reducing tree height.
10214 @item Interfaces for tree Sets and Maps (dictionaries).
10215 @item Ropes.
10216 @item Purely functional pairing heaps.
10217 @item Purely functional amortized queue.
10218 @end itemize\n")
10219 (home-page "http://ndantam.github.io/sycamore/")
10220 (license license:bsd-3))))
10221
10222 (define-public cl-sycamore
10223 (sbcl-package->cl-source-package sbcl-sycamore))
10224
10225 (define-public ecl-sycamore
10226 (sbcl-package->ecl-package sbcl-sycamore))
10227
10228 (define-public sbcl-trivial-package-local-nicknames
10229 (package
10230 (name "sbcl-trivial-package-local-nicknames")
10231 (version "0.2")
10232 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
10233 (source
10234 (origin
10235 (method git-fetch)
10236 (uri (git-reference
10237 (url home-page)
10238 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
10239 (file-name (git-file-name name version))
10240 (sha256
10241 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
10242 (build-system asdf-build-system/sbcl)
10243 (synopsis "Common Lisp compatibility library for package local nicknames")
10244 (description
10245 "This library is a portable compatibility layer around package local nicknames (PLN).
10246 This was done so there is a portability library for the PLN API not included
10247 in DEFPACKAGE.")
10248 (license license:unlicense)))
10249
10250 (define-public cl-trivial-package-local-nicknames
10251 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
10252
10253 (define-public ecl-trivial-package-local-nicknames
10254 (sbcl-package->ecl-package sbcl-trivial-package-local-nicknames))
10255
10256 (define-public sbcl-enchant
10257 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
10258 (package
10259 (name "sbcl-enchant")
10260 (version (git-version "0.0.0" "1" commit))
10261 (home-page "https://github.com/tlikonen/cl-enchant")
10262 (source
10263 (origin
10264 (method git-fetch)
10265 (uri (git-reference
10266 (url home-page)
10267 (commit commit)))
10268 (file-name (git-file-name name version))
10269 (sha256
10270 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
10271 (build-system asdf-build-system/sbcl)
10272 (inputs
10273 `(("enchant" ,enchant)
10274 ("cffi" ,sbcl-cffi)))
10275 (arguments
10276 `(#:phases
10277 (modify-phases %standard-phases
10278 (add-after 'unpack 'fix-paths
10279 (lambda* (#:key inputs #:allow-other-keys)
10280 (substitute* "load-enchant.lisp"
10281 (("libenchant")
10282 (string-append
10283 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
10284 (synopsis "Common Lisp interface for the Enchant spell-checker library")
10285 (description
10286 "Enchant is a Common Lisp interface for the Enchant spell-checker
10287 library. The Enchant library is a generic spell-checker library which uses
10288 other spell-checkers transparently as back-end. The library supports the
10289 multiple checkers, including Aspell and Hunspell.")
10290 (license license:public-domain))))
10291
10292 (define-public cl-enchant
10293 (sbcl-package->cl-source-package sbcl-enchant))
10294
10295 (define-public ecl-enchant
10296 (sbcl-package->ecl-package sbcl-enchant))
10297
10298 (define-public sbcl-cl-change-case
10299 (let ((commit "45c70b601125889689e0c1c37d7e727a3a0af022")
10300 (revision "1"))
10301 (package
10302 (name "sbcl-cl-change-case")
10303 (version (git-version "0.2.0" revision commit))
10304 (home-page "https://github.com/rudolfochrist/cl-change-case")
10305 (source
10306 (origin
10307 (method git-fetch)
10308 (uri (git-reference
10309 (url home-page)
10310 (commit commit)))
10311 (file-name (git-file-name "cl-change-case" version))
10312 (sha256
10313 (base32 "0qmk341zzcsbf8sq0w9ix3r080zg4ri6vzxym63lhdjfzwz3y8if"))))
10314 (build-system asdf-build-system/sbcl)
10315 (inputs
10316 `(("cl-ppcre" ,sbcl-cl-ppcre)
10317 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
10318 (native-inputs
10319 `(("fiveam" ,sbcl-fiveam)))
10320 (synopsis
10321 "Convert Common Lisp strings between camelCase, PascalCase and more")
10322 (description
10323 "@code{cl-change-case} is a library to convert strings between
10324 camelCase, PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
10325 (license license:llgpl))))
10326
10327 (define-public cl-change-case
10328 (sbcl-package->cl-source-package sbcl-cl-change-case))
10329
10330 (define-public ecl-cl-change-case
10331 (sbcl-package->ecl-package sbcl-cl-change-case))
10332
10333 (define-public sbcl-modularize
10334 (let ((commit "86c5d9a11fbd2df9f0f03ac10b5d71837c8934ba")
10335 (revision "1"))
10336 (package
10337 (name "sbcl-modularize")
10338 (version (git-version "1.0.0" revision commit))
10339 (source
10340 (origin
10341 (method git-fetch)
10342 (uri (git-reference
10343 (url "https://github.com/Shinmera/modularize")
10344 (commit commit)))
10345 (file-name (git-file-name name version))
10346 (sha256
10347 (base32 "1zys29rfkb649rkgl3snxhajk8d5yf7ryxkrwy020kwdh7zdsg7d"))))
10348 (build-system asdf-build-system/sbcl)
10349 (arguments
10350 `(#:test-asd-file "modularize-test-module.asd"
10351 #:asd-files '("modularize.asd" "modularize-test-module.asd")
10352 #:asd-systems '("modularize" "modularize-test-module")))
10353 (inputs
10354 `(("documentation-utils" ,sbcl-documentation-utils)
10355 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)))
10356 (home-page "https://shinmera.github.io/modularize/")
10357 (synopsis "Common Lisp modularization framework")
10358 (description
10359 "@code{MODULARIZE} is an attempt at providing a common interface to
10360 segregate major application components. This is achieved by adding special
10361 treatment to packages. Each module is a package that is specially registered,
10362 which allows it to interact and co-exist with other modules in better ways. For
10363 instance, by adding module definition options you can introduce mechanisms to
10364 tie modules together in functionality, hook into each other and so on.")
10365 (license license:zlib))))
10366
10367 (define-public ecl-modularize
10368 (sbcl-package->ecl-package sbcl-modularize))
10369
10370 (define-public cl-modularize
10371 (sbcl-package->cl-source-package sbcl-modularize))
10372
10373 (define-public sbcl-modularize-hooks
10374 (let ((commit "e0348ed3ffd59a9ec31ca4ab28289e748bfbf96a")
10375 (revision "1"))
10376 (package
10377 (name "sbcl-modularize-hooks")
10378 (version (git-version "1.0.2" revision commit))
10379 (source
10380 (origin
10381 (method git-fetch)
10382 (uri (git-reference
10383 (url "https://github.com/Shinmera/modularize-hooks")
10384 (commit commit)))
10385 (file-name (git-file-name "modularize-hooks" version))
10386 (sha256
10387 (base32 "12kjvin8hxidwkzfb7inqv5b6g5qzcssnj9wc497v2ixc56fqdz7"))))
10388 (build-system asdf-build-system/sbcl)
10389 (inputs
10390 `(("closer-mop" ,sbcl-closer-mop)
10391 ("lambda-fiddle" ,sbcl-lambda-fiddle)
10392 ("modularize" ,sbcl-modularize)
10393 ("trivial-arguments" ,sbcl-trivial-arguments)))
10394 (home-page "https://shinmera.github.io/modularize-hooks/")
10395 (synopsis "Generic hooks and triggers extension for Modularize")
10396 (description
10397 "This is a simple extension to @code{MODULARIZE} that allows modules to
10398 define and trigger hooks, which other modules can hook on to.")
10399 (license license:zlib))))
10400
10401 (define-public ecl-modularize-hooks
10402 (sbcl-package->ecl-package sbcl-modularize-hooks))
10403
10404 (define-public cl-modularize-hooks
10405 (sbcl-package->cl-source-package sbcl-modularize-hooks))
10406
10407 (define-public sbcl-modularize-interfaces
10408 (let ((commit "96353657afb8c7aeba7ef5b51eb04c5ed3bcb6ef")
10409 (revision "1"))
10410 (package
10411 (name "sbcl-modularize-interfaces")
10412 (version (git-version "0.9.3" revision commit))
10413 (source
10414 (origin
10415 (method git-fetch)
10416 (uri (git-reference
10417 (url "https://github.com/Shinmera/modularize-interfaces")
10418 (commit commit)))
10419 (file-name (git-file-name "modularize-interfaces" version))
10420 (sha256
10421 (base32 "0bjf4wy39cwf75m7vh0r7mmcchs09yz2lrbyap98hnq8blq70fhc"))))
10422 (build-system asdf-build-system/sbcl)
10423 (inputs
10424 `(("lambda-fiddle" ,sbcl-lambda-fiddle)
10425 ("modularize" ,sbcl-modularize)
10426 ("trivial-arguments" ,sbcl-trivial-arguments)
10427 ("trivial-indent" ,sbcl-trivial-indent)))
10428 (home-page "https://shinmera.github.io/modularize-interfaces/")
10429 (synopsis "Programmatical interfaces extension for Modularize")
10430 (description
10431 "This is an extension to @code{MODULARIZE} that allows your application
10432 to define interfaces in-code that serve both as a primary documentation and as
10433 compliance control.")
10434 (license license:zlib))))
10435
10436 (define-public ecl-modularize-interfaces
10437 (sbcl-package->ecl-package sbcl-modularize-interfaces))
10438
10439 (define-public cl-modularize-interfaces
10440 (sbcl-package->cl-source-package sbcl-modularize-interfaces))
10441
10442 (define-public sbcl-moptilities
10443 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
10444 (package
10445 (name "sbcl-moptilities")
10446 (version (git-version "0.3.13" "1" commit))
10447 (home-page "https://github.com/gwkkwg/moptilities/")
10448 (source
10449 (origin
10450 (method git-fetch)
10451 (uri (git-reference
10452 (url home-page)
10453 (commit commit)))
10454 (file-name (git-file-name name version))
10455 (sha256
10456 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
10457 (build-system asdf-build-system/sbcl)
10458 (inputs
10459 `(("closer-mop" ,sbcl-closer-mop)))
10460 (native-inputs
10461 `(("lift" ,sbcl-lift)))
10462 (arguments
10463 `(#:phases
10464 (modify-phases %standard-phases
10465 (add-after 'unpack 'fix-tests
10466 (lambda _
10467 (substitute* "lift-standard.config"
10468 ((":relative-to lift-test")
10469 ":relative-to moptilities-test"))
10470 #t)))))
10471 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
10472 (description
10473 "MOP utilities provide a common interface between Lisps and make the
10474 MOP easier to use.")
10475 (license license:expat))))
10476
10477 (define-public cl-moptilities
10478 (sbcl-package->cl-source-package sbcl-moptilities))
10479
10480 (define-public sbcl-osicat
10481 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
10482 (package
10483 (name "sbcl-osicat")
10484 (version (git-version "0.7.0" "1" commit))
10485 (home-page "http://www.common-lisp.net/project/osicat/")
10486 (source
10487 (origin
10488 (method git-fetch)
10489 (uri (git-reference
10490 (url "https://github.com/osicat/osicat")
10491 (commit commit)))
10492 (file-name (git-file-name name version))
10493 (sha256
10494 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
10495 (build-system asdf-build-system/sbcl)
10496 (inputs
10497 `(("alexandria" ,sbcl-alexandria)
10498 ("cffi" ,sbcl-cffi)
10499 ("trivial-features" ,sbcl-trivial-features)))
10500 (native-inputs
10501 `(("rt" ,sbcl-rt)))
10502 (synopsis "Operating system interface for Common Lisp")
10503 (description
10504 "Osicat is a lightweight operating system interface for Common Lisp on
10505 Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
10506 accompaniment to the standard ANSI facilities.")
10507 (license license:expat))))
10508
10509 (define-public cl-osicat
10510 (sbcl-package->cl-source-package sbcl-osicat))
10511
10512 (define-public ecl-osicat
10513 (sbcl-package->ecl-package sbcl-osicat))
10514
10515 (define-public sbcl-clx-xembed
10516 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
10517 (revision "1"))
10518 (package
10519 (name "sbcl-clx-xembed")
10520 (version (git-version "0.1" revision commit))
10521 (home-page "https://github.com/laynor/clx-xembed")
10522 (source
10523 (origin
10524 (method git-fetch)
10525 (uri (git-reference
10526 (url "https://github.com/laynor/clx-xembed")
10527 (commit commit)))
10528 (file-name (git-file-name name version))
10529 (sha256
10530 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
10531 (build-system asdf-build-system/sbcl)
10532 (arguments
10533 `(#:asd-systems '("xembed")))
10534 (inputs
10535 `(("sbcl-clx" ,sbcl-clx)))
10536 (synopsis "CL(x) xembed protocol implementation ")
10537 (description "CL(x) xembed protocol implementation")
10538 ;; MIT License
10539 (license license:expat))))
10540
10541 (define-public cl-clx-xembed
10542 (sbcl-package->cl-source-package sbcl-clx-xembed))
10543
10544 (define-public ecl-clx-xembed
10545 (sbcl-package->ecl-package sbcl-clx-xembed))
10546
10547 (define-public sbcl-quantile-estimator
10548 (package
10549 (name "sbcl-quantile-estimator")
10550 (version "0.0.1")
10551 (source
10552 (origin
10553 (method git-fetch)
10554 (uri (git-reference
10555 (url "https://github.com/deadtrickster/quantile-estimator.cl")
10556 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
10557 (file-name (git-file-name name version))
10558 (sha256
10559 (base32
10560 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
10561 (build-system asdf-build-system/sbcl)
10562 (arguments
10563 '(#:asd-files '("quantile-estimator.asd")))
10564 (inputs
10565 `(("alexandria" ,sbcl-alexandria)))
10566 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
10567 (synopsis
10568 "Effective computation of biased quantiles over data streams")
10569 (description
10570 "Common Lisp implementation of Graham Cormode and S.
10571 Muthukrishnan's Effective Computation of Biased Quantiles over Data
10572 Streams in ICDE’05.")
10573 (license license:expat)))
10574
10575 (define-public cl-quantile-estimator
10576 (sbcl-package->cl-source-package sbcl-quantile-estimator))
10577
10578 (define-public ecl-quantile-estimator
10579 (sbcl-package->ecl-package sbcl-quantile-estimator))
10580
10581 (define-public sbcl-prometheus
10582 (package
10583 (name "sbcl-prometheus")
10584 (version "0.4.1")
10585 (source
10586 (origin
10587 (method git-fetch)
10588 (uri (git-reference
10589 (url "https://github.com/deadtrickster/prometheus.cl")
10590 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
10591 (file-name (git-file-name name version))
10592 (sha256
10593 (base32
10594 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
10595 (build-system asdf-build-system/sbcl)
10596 (inputs
10597 `(("alexandria" ,sbcl-alexandria)
10598 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10599 ("cffi" ,sbcl-cffi)
10600 ("cl-fad" ,sbcl-cl-fad)
10601 ("cl-ppcre" ,sbcl-cl-ppcre)
10602 ("drakma" ,sbcl-drakma)
10603 ("hunchentoot" ,sbcl-hunchentoot)
10604 ("local-time" ,sbcl-local-time)
10605 ("quantile-estimator" ,sbcl-quantile-estimator)
10606 ("salza2" ,sbcl-salza2)
10607 ("split-sequence" ,sbcl-split-sequence)
10608 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10609 (arguments
10610 '(#:asd-files '("prometheus.asd"
10611 "prometheus.collectors.sbcl.asd"
10612 "prometheus.collectors.process.asd"
10613 "prometheus.formats.text.asd"
10614 "prometheus.exposers.hunchentoot.asd"
10615 "prometheus.pushgateway.asd")
10616 #:asd-systems '("prometheus"
10617 "prometheus.collectors.sbcl"
10618 "prometheus.collectors.process"
10619 "prometheus.formats.text"
10620 "prometheus.exposers.hunchentoot"
10621 "prometheus.pushgateway")))
10622 (home-page "https://github.com/deadtrickster/prometheus.cl")
10623 (synopsis "Prometheus.io Common Lisp client")
10624 (description "Prometheus.io Common Lisp client.")
10625 (license license:expat)))
10626
10627 (define-public cl-prometheus
10628 (sbcl-package->cl-source-package sbcl-prometheus))
10629
10630 (define-public ecl-prometheus
10631 (sbcl-package->ecl-package sbcl-prometheus))
10632
10633 (define-public sbcl-uuid
10634 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
10635 (package
10636 (name "sbcl-uuid")
10637 (version (git-version "2012.12.26" "1" commit))
10638 (source
10639 (origin
10640 (method git-fetch)
10641 (uri (git-reference
10642 (url "https://github.com/dardoria/uuid")
10643 (commit commit)))
10644 (file-name (git-file-name name version))
10645 (sha256
10646 (base32
10647 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
10648 (build-system asdf-build-system/sbcl)
10649 (inputs
10650 `(("ironclad" ,sbcl-ironclad)
10651 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10652 (home-page "https://github.com/dardoria/uuid")
10653 (synopsis
10654 "Common Lisp implementation of UUIDs according to RFC4122")
10655 (description
10656 "Common Lisp implementation of UUIDs according to RFC4122.")
10657 (license license:llgpl))))
10658
10659 (define-public cl-uuid
10660 (sbcl-package->cl-source-package sbcl-uuid))
10661
10662 (define-public ecl-uuid
10663 (sbcl-package->ecl-package sbcl-uuid))
10664
10665 (define-public sbcl-dissect
10666 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
10667 (package
10668 (name "sbcl-dissect")
10669 (version (git-version "1.0.0" "1" commit))
10670 (source
10671 (origin
10672 (method git-fetch)
10673 (uri (git-reference
10674 (url "https://github.com/Shinmera/dissect")
10675 (commit commit)))
10676 (file-name (git-file-name name version))
10677 (sha256
10678 (base32
10679 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
10680 (build-system asdf-build-system/sbcl)
10681 (inputs
10682 `(("cl-ppcre" ,sbcl-cl-ppcre)))
10683 (home-page "https://shinmera.github.io/dissect/")
10684 (synopsis
10685 "Introspection library for the call stack and restarts")
10686 (description
10687 "Dissect is a small Common Lisp library for introspecting the call stack
10688 and active restarts.")
10689 (license license:zlib))))
10690
10691 (define-public cl-dissect
10692 (sbcl-package->cl-source-package sbcl-dissect))
10693
10694 (define-public ecl-dissect
10695 (sbcl-package->ecl-package sbcl-dissect))
10696
10697 (define-public sbcl-rove
10698 (package
10699 (name "sbcl-rove")
10700 (version "0.9.6")
10701 (source
10702 (origin
10703 (method git-fetch)
10704 (uri (git-reference
10705 (url "https://github.com/fukamachi/rove")
10706 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
10707 (file-name (git-file-name name version))
10708 (sha256
10709 (base32
10710 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
10711 (build-system asdf-build-system/sbcl)
10712 (inputs
10713 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10714 ("dissect" ,sbcl-dissect)
10715 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
10716 (home-page "https://github.com/fukamachi/rove")
10717 (synopsis
10718 "Yet another common lisp testing library")
10719 (description
10720 "Rove is a unit testing framework for Common Lisp applications.
10721 This is intended to be a successor of Prove.")
10722 (license license:bsd-3)))
10723
10724 (define-public cl-rove
10725 (sbcl-package->cl-source-package sbcl-rove))
10726
10727 (define-public ecl-rove
10728 (sbcl-package->ecl-package sbcl-rove))
10729
10730 (define-public sbcl-exponential-backoff
10731 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
10732 (package
10733 (name "sbcl-exponential-backoff")
10734 (version (git-version "0" "1" commit))
10735 (source
10736 (origin
10737 (method git-fetch)
10738 (uri (git-reference
10739 (url "https://github.com/death/exponential-backoff")
10740 (commit commit)))
10741 (file-name (git-file-name name version))
10742 (sha256
10743 (base32
10744 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
10745 (build-system asdf-build-system/sbcl)
10746 (home-page "https://github.com/death/exponential-backoff")
10747 (synopsis "Exponential backoff algorithm in Common Lisp")
10748 (description
10749 "An implementation of the exponential backoff algorithm in Common Lisp.
10750 Inspired by the implementation found in Chromium. Read the header file to
10751 learn about each of the parameters.")
10752 (license license:expat))))
10753
10754 (define-public cl-exponential-backoff
10755 (sbcl-package->cl-source-package sbcl-exponential-backoff))
10756
10757 (define-public ecl-exponential-backoff
10758 (sbcl-package->ecl-package sbcl-exponential-backoff))
10759
10760 (define-public sbcl-sxql
10761 (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
10762 (package
10763 (name "sbcl-sxql")
10764 (version (git-version "0.1.0" "1" commit))
10765 (source
10766 (origin
10767 (method git-fetch)
10768 (uri (git-reference
10769 (url "https://github.com/fukamachi/sxql")
10770 (commit commit)))
10771 (file-name (git-file-name name version))
10772 (sha256
10773 (base32
10774 "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
10775 (build-system asdf-build-system/sbcl)
10776 (arguments
10777 `(#:test-asd-file "sxql-test.asd"))
10778 (inputs
10779 `(("alexandria" ,sbcl-alexandria)
10780 ("cl-syntax" ,sbcl-cl-syntax)
10781 ("iterate" ,sbcl-iterate)
10782 ("optima" ,sbcl-optima)
10783 ("split-sequence" ,sbcl-split-sequence)
10784 ("trivial-types" ,sbcl-trivial-types)))
10785 (native-inputs
10786 `(("prove" ,sbcl-prove)))
10787 (home-page "https://github.com/fukamachi/sxql")
10788 (synopsis "SQL generator for Common Lisp")
10789 (description "SQL generator for Common Lisp.")
10790 (license license:bsd-3))))
10791
10792 (define-public cl-sxql
10793 (sbcl-package->cl-source-package sbcl-sxql))
10794
10795 (define-public ecl-sxql
10796 (sbcl-package->ecl-package sbcl-sxql))
10797
10798 (define-public sbcl-1am
10799 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
10800 (package
10801 (name "sbcl-1am")
10802 (version (git-version "0.0" "1" commit))
10803 (source
10804 (origin
10805 (method git-fetch)
10806 (uri (git-reference
10807 (url "https://github.com/lmj/1am")
10808 (commit commit)))
10809 (file-name (git-file-name name version))
10810 (sha256
10811 (base32
10812 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
10813 (build-system asdf-build-system/sbcl)
10814 (arguments
10815 `(#:asd-systems '("1am")))
10816 (home-page "https://github.com/lmj/1am")
10817 (synopsis "Minimal testing framework for Common Lisp")
10818 (description "A minimal testing framework for Common Lisp.")
10819 (license license:expat))))
10820
10821 (define-public cl-1am
10822 (sbcl-package->cl-source-package sbcl-1am))
10823
10824 (define-public ecl-1am
10825 (sbcl-package->ecl-package sbcl-1am))
10826
10827 (define-public sbcl-cl-ascii-table
10828 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
10829 (revision "1"))
10830 (package
10831 (name "sbcl-cl-ascii-table")
10832 (version (git-version "0.0.0" revision commit))
10833 (source
10834 (origin
10835 (method git-fetch)
10836 (uri (git-reference
10837 (url "https://github.com/telephil/cl-ascii-table")
10838 (commit commit)))
10839 (file-name (git-file-name name version))
10840 (sha256
10841 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
10842 (build-system asdf-build-system/sbcl)
10843 (synopsis "Library to make ascii-art tables")
10844 (description
10845 "This is a Common Lisp library to present tabular data in ascii-art
10846 tables.")
10847 (home-page "https://github.com/telephil/cl-ascii-table")
10848 (license license:expat))))
10849
10850 (define-public cl-ascii-table
10851 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
10852
10853 (define-public ecl-cl-ascii-table
10854 (sbcl-package->ecl-package sbcl-cl-ascii-table))
10855
10856 (define-public sbcl-cl-rdkafka
10857 (package
10858 (name "sbcl-cl-rdkafka")
10859 (version "1.1.0")
10860 (source
10861 (origin
10862 (method git-fetch)
10863 (uri (git-reference
10864 (url "https://github.com/SahilKang/cl-rdkafka")
10865 (commit (string-append "v" version))))
10866 (file-name (git-file-name name version))
10867 (sha256
10868 (base32
10869 "0z2g0k0xy8k1p9g93h8dy9wbygaq7ziwagm4yz93zk67mhc0b84v"))))
10870 (build-system asdf-build-system/sbcl)
10871 (arguments
10872 `(#:tests? #f ; Attempts to connect to locally running Kafka
10873 #:phases
10874 (modify-phases %standard-phases
10875 (add-after 'unpack 'fix-paths
10876 (lambda* (#:key inputs #:allow-other-keys)
10877 (substitute* "src/low-level/librdkafka-bindings.lisp"
10878 (("librdkafka" all)
10879 (string-append (assoc-ref inputs "librdkafka") "/lib/"
10880 all))))))))
10881 (inputs
10882 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10883 ("cffi" ,sbcl-cffi)
10884 ("librdkafka" ,librdkafka)
10885 ("lparallel" ,sbcl-lparallel)
10886 ("trivial-garbage" ,sbcl-trivial-garbage)))
10887 (home-page "https://github.com/SahilKang/cl-rdkafka")
10888 (synopsis "Common Lisp client library for Apache Kafka")
10889 (description "A Common Lisp client library for Apache Kafka.")
10890 (license license:gpl3)))
10891
10892 (define-public cl-rdkafka
10893 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
10894
10895 (define-public ecl-cl-rdkafka
10896 (sbcl-package->ecl-package sbcl-cl-rdkafka))
10897
10898 (define-public sbcl-acclimation
10899 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
10900 (package
10901 (name "sbcl-acclimation")
10902 (version (git-version "0.0.0" "1" commit))
10903 (source
10904 (origin
10905 (method git-fetch)
10906 (uri (git-reference
10907 (url "https://github.com/robert-strandh/Acclimation")
10908 (commit commit)))
10909 (file-name (git-file-name name version))
10910 (sha256
10911 (base32
10912 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
10913 (build-system asdf-build-system/sbcl)
10914 (home-page "https://github.com/robert-strandh/Acclimation")
10915 (synopsis "Internationalization library for Common Lisp")
10916 (description "This project is meant to provide tools for
10917 internationalizing Common Lisp programs.
10918
10919 One important aspect of internationalization is of course the language used in
10920 error messages, documentation strings, etc. But with this project we provide
10921 tools for all other aspects of internationalization as well, including dates,
10922 weight, temperature, names of physical quantitites, etc.")
10923 (license license:bsd-2))))
10924
10925 (define-public cl-acclimation
10926 (sbcl-package->cl-source-package sbcl-acclimation))
10927
10928 (define-public ecl-acclimation
10929 (sbcl-package->ecl-package sbcl-acclimation))
10930
10931 (define-public sbcl-clump
10932 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
10933 (package
10934 (name "sbcl-clump")
10935 (version (git-version "0.0.0" "1" commit))
10936 (source
10937 (origin
10938 (method git-fetch)
10939 (uri (git-reference
10940 (url "https://github.com/robert-strandh/Clump")
10941 (commit commit)))
10942 (file-name (git-file-name name version))
10943 (sha256
10944 (base32
10945 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
10946 (inputs
10947 `(("acclimation" ,sbcl-acclimation)))
10948 (build-system asdf-build-system/sbcl)
10949 (home-page "https://github.com/robert-strandh/Clump")
10950 (synopsis "Collection of tree implementations for Common Lisp")
10951 (description "The purpose of this library is to provide a collection of
10952 implementations of trees.
10953
10954 In contrast to existing libraries such as cl-containers, it does not impose a
10955 particular use for the trees. Instead, it aims for a stratified design,
10956 allowing client code to choose between different levels of abstraction.
10957
10958 As a consequence of this policy, low-level interfaces are provided where
10959 the concrete representation is exposed, but also high level interfaces
10960 where the trees can be used as search trees or as trees that represent
10961 sequences of objects.")
10962 (license license:bsd-2))))
10963
10964 (define-public cl-clump
10965 (sbcl-package->cl-source-package sbcl-clump))
10966
10967 (define-public ecl-clump
10968 (sbcl-package->ecl-package sbcl-clump))
10969
10970 (define-public sbcl-cluffer
10971 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
10972 (package
10973 (name "sbcl-cluffer")
10974 (version (git-version "0.0.0" "1" commit))
10975 (source
10976 (origin
10977 (method git-fetch)
10978 (uri (git-reference
10979 (url "https://github.com/robert-strandh/cluffer")
10980 (commit commit)))
10981 (file-name (git-file-name name version))
10982 (sha256
10983 (base32
10984 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
10985 (build-system asdf-build-system/sbcl)
10986 (inputs
10987 `(("acclimation" ,sbcl-acclimation)
10988 ("clump" ,sbcl-clump)))
10989 (home-page "https://github.com/robert-strandh/cluffer")
10990 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
10991 (description "Cluffer is a library for representing the buffer of a text
10992 editor. As such, it defines a set of CLOS protocols for client code to
10993 interact with the buffer contents in various ways, and it supplies different
10994 implementations of those protocols for different purposes.")
10995 (license license:bsd-2))))
10996
10997 (define-public cl-cluffer
10998 (sbcl-package->cl-source-package sbcl-cluffer))
10999
11000 (define-public ecl-cluffer
11001 (sbcl-package->ecl-package sbcl-cluffer))
11002
11003 (define-public sbcl-cl-libsvm-format
11004 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
11005 (revision "0"))
11006 (package
11007 (name "sbcl-cl-libsvm-format")
11008 (version (git-version "0.1.0" revision commit))
11009 (source
11010 (origin
11011 (method git-fetch)
11012 (uri (git-reference
11013 (url "https://github.com/masatoi/cl-libsvm-format")
11014 (commit commit)))
11015 (file-name (git-file-name name version))
11016 (sha256
11017 (base32
11018 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
11019 (build-system asdf-build-system/sbcl)
11020 (native-inputs
11021 `(("prove" ,sbcl-prove)))
11022 (inputs
11023 `(("alexandria" ,sbcl-alexandria)))
11024 (synopsis "LibSVM data format reader for Common Lisp")
11025 (description
11026 "This Common Lisp library provides a fast reader for data in LibSVM
11027 format.")
11028 (home-page "https://github.com/masatoi/cl-libsvm-format")
11029 (license license:expat))))
11030
11031 (define-public cl-libsvm-format
11032 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
11033
11034 (define-public ecl-cl-libsvm-format
11035 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
11036
11037 (define-public sbcl-cl-online-learning
11038 (let ((commit "87fbef8a340219e853adb3a5bf44a0470da76964")
11039 (revision "1"))
11040 (package
11041 (name "sbcl-cl-online-learning")
11042 (version (git-version "0.5" revision commit))
11043 (source
11044 (origin
11045 (method git-fetch)
11046 (uri (git-reference
11047 (url "https://github.com/masatoi/cl-online-learning")
11048 (commit commit)))
11049 (file-name (git-file-name "cl-online-learning" version))
11050 (sha256
11051 (base32
11052 "1lfq04lnxivx59nq5dd02glyqsqzf3vdn4s9b8wnaln5fs8g2ph9"))))
11053 (build-system asdf-build-system/sbcl)
11054 (native-inputs
11055 `(("prove" ,sbcl-prove)))
11056 (inputs
11057 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11058 ("cl-store" ,sbcl-cl-store)))
11059 (arguments
11060 `(#:test-asd-file "cl-online-learning-test.asd"
11061 #:asd-systems '("cl-online-learning-test"
11062 "cl-online-learning")))
11063 (home-page "https://github.com/masatoi/cl-online-learning")
11064 (synopsis "Online Machine Learning for Common Lisp")
11065 (description
11066 "This library contains a collection of machine learning algorithms for
11067 online linear classification written in Common Lisp.")
11068 (license license:expat))))
11069
11070 (define-public cl-online-learning
11071 (sbcl-package->cl-source-package sbcl-cl-online-learning))
11072
11073 (define-public ecl-cl-online-learning
11074 (sbcl-package->ecl-package sbcl-cl-online-learning))
11075
11076 (define-public sbcl-cl-mpg123
11077 (let ((commit "5f042c839d2ea4a2ff2a7b60c839d8633d64161d")
11078 (revision "1"))
11079 (package
11080 (name "sbcl-cl-mpg123")
11081 (version (git-version "1.0.0" revision commit))
11082 (source
11083 (origin
11084 (method git-fetch)
11085 (uri (git-reference
11086 (url "https://github.com/Shirakumo/cl-mpg123")
11087 (commit commit)))
11088 (file-name (git-file-name "cl-mpg123" version))
11089 (sha256
11090 (base32 "1hl721xaczxck008ax2y3jpkm509ry1sg3lklh2k76764m3ndrjf"))
11091 (modules '((guix build utils)))
11092 (snippet
11093 '(begin
11094 ;; Remove bundled pre-compiled libraries.
11095 (delete-file-recursively "static")
11096 #t))))
11097 (build-system asdf-build-system/sbcl)
11098 (arguments
11099 `(#:asd-files '("cl-mpg123.asd" "cl-mpg123-example.asd")
11100 #:asd-systems '("cl-mpg123" "cl-mpg123-example")
11101 #:phases
11102 (modify-phases %standard-phases
11103 (add-after 'unpack 'fix-paths
11104 (lambda* (#:key inputs #:allow-other-keys)
11105 (substitute* "low-level.lisp"
11106 (("libmpg123.so" all)
11107 (string-append (assoc-ref inputs "libmpg123")
11108 "/lib/" all))))))))
11109 (inputs
11110 `(("cffi" ,sbcl-cffi)
11111 ("cl-out123" ,sbcl-cl-out123)
11112 ("documentation-utils" ,sbcl-documentation-utils)
11113 ("libmpg123" ,mpg123)
11114 ("trivial-features" ,sbcl-trivial-features)
11115 ("trivial-garbage" ,sbcl-trivial-garbage)
11116 ("verbose" ,sbcl-verbose)))
11117 (home-page "https://shirakumo.github.io/cl-mpg123/")
11118 (synopsis "Common Lisp bindings to libmpg123")
11119 (description
11120 "This is a bindings and wrapper library to @code{libmpg123} allowing for
11121 convenient, extensive, and fast decoding of MPEG1/2/3 (most prominently mp3)
11122 files.")
11123 (license license:zlib))))
11124
11125 (define-public ecl-cl-mpg123
11126 (sbcl-package->ecl-package sbcl-cl-mpg123))
11127
11128 (define-public cl-mpg123
11129 (sbcl-package->cl-source-package sbcl-cl-mpg123))
11130
11131 (define-public sbcl-cl-out123
11132 (let ((commit "6b58d3f8c2a28ad09059ac4c60fb3c781b9b421b")
11133 (revision "1"))
11134 (package
11135 (name "sbcl-cl-out123")
11136 (version (git-version "1.0.0" revision commit))
11137 (source
11138 (origin
11139 (method git-fetch)
11140 (uri (git-reference
11141 (url "https://github.com/Shirakumo/cl-out123")
11142 (commit commit)))
11143 (file-name (git-file-name "cl-out123" version))
11144 (sha256
11145 (base32 "0mdwgfax6sq68wvdgjjp78i40ah7wqkpqnvaq8a1c509k7ghdgv1"))
11146 (modules '((guix build utils)))
11147 (snippet
11148 '(begin
11149 ;; Remove bundled pre-compiled libraries.
11150 (delete-file-recursively "static")
11151 #t))))
11152 (build-system asdf-build-system/sbcl)
11153 (arguments
11154 `(#:phases
11155 (modify-phases %standard-phases
11156 (add-after 'unpack 'fix-paths
11157 (lambda* (#:key inputs #:allow-other-keys)
11158 (substitute* "low-level.lisp"
11159 (("libout123.so" all)
11160 (string-append (assoc-ref inputs "libout123")
11161 "/lib/" all)))))
11162 ;; NOTE: (Sharlatan-20210129T134529+0000): ECL package `ext' has no
11163 ;; exported macro `without-interrupts' it's moved to `mp' package
11164 ;; https://github.com/Shirakumo/cl-out123/issues/2
11165 ;; https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/src/lsp/mp.lsp
11166 (add-after 'unpack 'fix-ecl-package-name
11167 (lambda _
11168 (substitute* "wrapper.lisp"
11169 (("ext:without-interrupts.*") "mp:without-interrupts\n"))
11170 #t)))))
11171 (inputs
11172 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11173 ("cffi" ,sbcl-cffi)
11174 ("documentation-utils" ,sbcl-documentation-utils)
11175 ("libout123" ,mpg123)
11176 ("trivial-features" ,sbcl-trivial-features)
11177 ("trivial-garbage" ,sbcl-trivial-garbage)))
11178 (home-page "https://shirakumo.github.io/cl-out123/")
11179 (synopsis "Common Lisp bindings to libout123")
11180 (description
11181 "This is a bindings library to @code{libout123} which allows easy
11182 cross-platform audio playback.")
11183 (license license:zlib))))
11184
11185 (define-public ecl-cl-out123
11186 (sbcl-package->ecl-package sbcl-cl-out123))
11187
11188 (define-public cl-out123
11189 (sbcl-package->cl-source-package sbcl-cl-out123))
11190
11191 (define-public sbcl-cl-random-forest
11192 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
11193 (revision "1"))
11194 (package
11195 (name "sbcl-cl-random-forest")
11196 (version (git-version "0.1" revision commit))
11197 (source
11198 (origin
11199 (method git-fetch)
11200 (uri (git-reference
11201 (url "https://github.com/masatoi/cl-random-forest")
11202 (commit commit)))
11203 (file-name (git-file-name name version))
11204 (sha256
11205 (base32
11206 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
11207 (build-system asdf-build-system/sbcl)
11208 (native-inputs
11209 `(("prove" ,sbcl-prove)
11210 ("trivial-garbage" ,sbcl-trivial-garbage)))
11211 (inputs
11212 `(("alexandria" ,sbcl-alexandria)
11213 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11214 ("cl-online-learning" ,sbcl-cl-online-learning)
11215 ("lparallel" ,sbcl-lparallel)))
11216 (arguments
11217 `(#:tests? #f)) ; The tests download data from the Internet
11218 (synopsis "Random Forest and Global Refinement for Common Lisp")
11219 (description
11220 "CL-random-forest is an implementation of Random Forest for multiclass
11221 classification and univariate regression written in Common Lisp. It also
11222 includes an implementation of Global Refinement of Random Forest.")
11223 (home-page "https://github.com/masatoi/cl-random-forest")
11224 (license license:expat))))
11225
11226 (define-public cl-random-forest
11227 (sbcl-package->cl-source-package sbcl-cl-random-forest))
11228
11229 (define-public ecl-cl-random-forest
11230 (sbcl-package->ecl-package sbcl-cl-random-forest))
11231
11232 (define-public sbcl-bordeaux-fft
11233 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
11234 (revision "0"))
11235 (package
11236 (name "sbcl-bordeaux-fft")
11237 (version (git-version "1.0.1" revision commit))
11238 (source
11239 (origin
11240 (method git-fetch)
11241 (uri (git-reference
11242 (url "https://github.com/ahefner/bordeaux-fft")
11243 (commit commit)))
11244 (file-name (git-file-name name version))
11245 (sha256
11246 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
11247 (build-system asdf-build-system/sbcl)
11248 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
11249 (synopsis "Fast Fourier Transform for Common Lisp")
11250 (description
11251 "The Bordeaux-FFT library provides a reasonably efficient implementation
11252 of the Fast Fourier Transform and its inverse for complex-valued inputs, in
11253 portable Common Lisp.")
11254 (license license:gpl2+))))
11255
11256 (define-public cl-bordeaux-fft
11257 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
11258
11259 (define-public ecl-bordeaux-fft
11260 (sbcl-package->ecl-package sbcl-bordeaux-fft))
11261
11262 (define-public sbcl-napa-fft3
11263 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
11264 (revision "0"))
11265 (package
11266 (name "sbcl-napa-fft3")
11267 (version (git-version "0.0.1" revision commit))
11268 (source
11269 (origin
11270 (method git-fetch)
11271 (uri (git-reference
11272 (url "https://github.com/pkhuong/Napa-FFT3")
11273 (commit commit)))
11274 (file-name (git-file-name name version))
11275 (sha256
11276 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
11277 (build-system asdf-build-system/sbcl)
11278 (home-page "https://github.com/pkhuong/Napa-FFT3")
11279 (synopsis "Fast Fourier Transform routines in Common Lisp")
11280 (description
11281 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
11282 buildings blocks to express common operations that involve DFTs: filtering,
11283 convolutions, etc.")
11284 (license license:bsd-3))))
11285
11286 (define-public cl-napa-fft3
11287 (sbcl-package->cl-source-package sbcl-napa-fft3))
11288
11289 (define-public sbcl-cl-tga
11290 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
11291 (revision "0"))
11292 (package
11293 (name "sbcl-cl-tga")
11294 (version (git-version "0.0.0" revision commit))
11295 (source
11296 (origin
11297 (method git-fetch)
11298 (uri (git-reference
11299 (url "https://github.com/fisxoj/cl-tga")
11300 (commit commit)))
11301 (file-name (git-file-name name version))
11302 (sha256
11303 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
11304 (build-system asdf-build-system/sbcl)
11305 (home-page "https://github.com/fisxoj/cl-tga")
11306 (synopsis "TGA file loader for Common Lisp")
11307 (description
11308 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
11309 programs. It's a very simple library, and, at the moment, only supports
11310 non-RLE encoded forms of the files.")
11311 (license license:expat))))
11312
11313 (define-public cl-tga
11314 (sbcl-package->cl-source-package sbcl-cl-tga))
11315
11316 (define-public ecl-cl-tga
11317 (sbcl-package->ecl-package sbcl-cl-tga))
11318
11319 (define-public sbcl-com.gigamonkeys.binary-data
11320 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
11321 (revision "0"))
11322 (package
11323 (name "sbcl-com.gigamonkeys.binary-data")
11324 (version (git-version "0.0.0" revision commit))
11325 (source
11326 (origin
11327 (method git-fetch)
11328 (uri (git-reference
11329 (url "https://github.com/gigamonkey/monkeylib-binary-data")
11330 (commit commit)))
11331 (file-name (git-file-name name version))
11332 (sha256
11333 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
11334 (build-system asdf-build-system/sbcl)
11335 (inputs
11336 `(("alexandria" ,sbcl-alexandria)))
11337 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
11338 (synopsis "Common Lisp library for reading and writing binary data")
11339 (description
11340 "This a Common Lisp library for reading and writing binary data. It is
11341 based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
11342 (license license:bsd-3))))
11343
11344 (define-public cl-com.gigamonkeys.binary-data
11345 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
11346
11347 (define-public ecl-com.gigamonkeys.binary-data
11348 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
11349
11350 (define-public sbcl-deflate
11351 (package
11352 (name "sbcl-deflate")
11353 (version "1.0.3")
11354 (source
11355 (origin
11356 (method git-fetch)
11357 (uri (git-reference
11358 (url "https://github.com/pmai/Deflate")
11359 (commit (string-append "release-" version))))
11360 (file-name (git-file-name name version))
11361 (sha256
11362 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
11363 (build-system asdf-build-system/sbcl)
11364 (home-page "https://github.com/pmai/Deflate")
11365 (synopsis "Native deflate decompression for Common Lisp")
11366 (description
11367 "This library is an implementation of Deflate (RFC 1951) decompression,
11368 with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
11369 wrappers of deflate streams. It currently does not handle compression.")
11370 (license license:expat)))
11371
11372 (define-public cl-deflate
11373 (sbcl-package->cl-source-package sbcl-deflate))
11374
11375 (define-public ecl-deflate
11376 (sbcl-package->ecl-package sbcl-deflate))
11377
11378 (define-public sbcl-skippy
11379 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
11380 (revision "0"))
11381 (package
11382 (name "sbcl-skippy")
11383 (version (git-version "1.3.12" revision commit))
11384 (source
11385 (origin
11386 (method git-fetch)
11387 (uri (git-reference
11388 (url "https://github.com/xach/skippy")
11389 (commit commit)))
11390 (file-name (git-file-name name version))
11391 (sha256
11392 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
11393 (build-system asdf-build-system/sbcl)
11394 (home-page "https://xach.com/lisp/skippy/")
11395 (synopsis "Common Lisp library for GIF images")
11396 (description
11397 "Skippy is a Common Lisp library to read and write GIF image files.")
11398 (license license:bsd-2))))
11399
11400 (define-public cl-skippy
11401 (sbcl-package->cl-source-package sbcl-skippy))
11402
11403 (define-public ecl-skippy
11404 (sbcl-package->ecl-package sbcl-skippy))
11405
11406 (define-public sbcl-cl-freetype2
11407 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
11408 (revision "0"))
11409 (package
11410 (name "sbcl-cl-freetype2")
11411 (version (git-version "1.1" revision commit))
11412 (source
11413 (origin
11414 (method git-fetch)
11415 (uri (git-reference
11416 (url "https://github.com/rpav/cl-freetype2")
11417 (commit commit)))
11418 (file-name (git-file-name name version))
11419 (sha256
11420 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
11421 (build-system asdf-build-system/sbcl)
11422 (native-inputs
11423 `(("fiveam" ,sbcl-fiveam)))
11424 (inputs
11425 `(("alexandria" ,sbcl-alexandria)
11426 ("cffi" ,sbcl-cffi)
11427 ("freetype" ,freetype)
11428 ("trivial-garbage" ,sbcl-trivial-garbage)))
11429 (arguments
11430 `(#:phases
11431 (modify-phases %standard-phases
11432 (add-after 'unpack 'fix-paths
11433 (lambda* (#:key inputs #:allow-other-keys)
11434 (substitute* "src/ffi/ft2-lib.lisp"
11435 (("\"libfreetype\"")
11436 (string-append "\"" (assoc-ref inputs "freetype")
11437 "/lib/libfreetype\"")))
11438 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
11439 (("-I/usr/include/freetype")
11440 (string-append "-I" (assoc-ref inputs "freetype")
11441 "/include/freetype")))
11442 #t)))))
11443 (home-page "https://github.com/rpav/cl-freetype2")
11444 (synopsis "Common Lisp bindings for Freetype 2")
11445 (description
11446 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
11447 geared toward both using Freetype directly by providing a simplified API, as
11448 well as providing access to the underlying C structures and functions for use
11449 with other libraries which may also use Freetype.")
11450 (license license:bsd-3))))
11451
11452 (define-public cl-freetype2
11453 (sbcl-package->cl-source-package sbcl-cl-freetype2))
11454
11455 (define-public ecl-cl-freetype2
11456 (sbcl-package->ecl-package sbcl-cl-freetype2))
11457
11458 (define-public sbcl-opticl-core
11459 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
11460 (revision "0"))
11461 (package
11462 (name "sbcl-opticl-core")
11463 (version (git-version "0.0.0" revision commit))
11464 (source
11465 (origin
11466 (method git-fetch)
11467 (uri (git-reference
11468 (url "https://github.com/slyrus/opticl-core")
11469 (commit commit)))
11470 (file-name (git-file-name name version))
11471 (sha256
11472 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
11473 (build-system asdf-build-system/sbcl)
11474 (inputs
11475 `(("alexandria" ,sbcl-alexandria)))
11476 (home-page "https://github.com/slyrus/opticl-core")
11477 (synopsis "Core classes and pixel access macros for Opticl")
11478 (description
11479 "This Common Lisp library contains the core classes and pixel access
11480 macros for the Opticl image processing library.")
11481 (license license:bsd-2))))
11482
11483 (define-public cl-opticl-core
11484 (sbcl-package->cl-source-package sbcl-opticl-core))
11485
11486 (define-public ecl-opticl-core
11487 (sbcl-package->ecl-package sbcl-opticl-core))
11488
11489 (define-public sbcl-retrospectiff
11490 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
11491 (revision "0"))
11492 (package
11493 (name "sbcl-retrospectiff")
11494 (version (git-version "0.2" revision commit))
11495 (source
11496 (origin
11497 (method git-fetch)
11498 (uri (git-reference
11499 (url "https://github.com/slyrus/retrospectiff")
11500 (commit commit)))
11501 (file-name (git-file-name name version))
11502 (sha256
11503 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
11504 (build-system asdf-build-system/sbcl)
11505 (native-inputs
11506 `(("fiveam" ,sbcl-fiveam)))
11507 (inputs
11508 `(("cl-jpeg" ,sbcl-cl-jpeg)
11509 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
11510 ("deflate" ,sbcl-deflate)
11511 ("flexi-streams" ,sbcl-flexi-streams)
11512 ("ieee-floats" ,sbcl-ieee-floats)
11513 ("opticl-core" ,sbcl-opticl-core)))
11514 (home-page "https://github.com/slyrus/retrospectiff")
11515 (synopsis "Common Lisp library for TIFF images")
11516 (description
11517 "Retrospectiff is a common lisp library for reading and writing images
11518 in the TIFF (Tagged Image File Format) format.")
11519 (license license:bsd-2))))
11520
11521 (define-public cl-retrospectif
11522 (sbcl-package->cl-source-package sbcl-retrospectiff))
11523
11524 (define-public ecl-retrospectiff
11525 (sbcl-package->ecl-package sbcl-retrospectiff))
11526
11527 (define-public sbcl-mmap
11528 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
11529 (revision "0"))
11530 (package
11531 (name "sbcl-mmap")
11532 (version (git-version "1.0.0" revision commit))
11533 (source
11534 (origin
11535 (method git-fetch)
11536 (uri (git-reference
11537 (url "https://github.com/Shinmera/mmap")
11538 (commit commit)))
11539 (file-name (git-file-name name version))
11540 (sha256
11541 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
11542 (build-system asdf-build-system/sbcl)
11543 (native-inputs
11544 `(("alexandria" ,sbcl-alexandria)
11545 ("cffi" ,sbcl-cffi)
11546 ("parachute" ,sbcl-parachute)
11547 ("trivial-features" ,sbcl-trivial-features)))
11548 (inputs
11549 `(("cffi" ,sbcl-cffi)
11550 ("documentation-utils" ,sbcl-documentation-utils)))
11551 (home-page "https://shinmera.github.io/mmap/")
11552 (synopsis "File memory mapping for Common Lisp")
11553 (description
11554 "This is a utility library providing access to the @emph{mmap} family of
11555 functions in a portable way. It allows you to directly map a file into the
11556 address space of your process without having to manually read it into memory
11557 sequentially. Typically this is much more efficient for files that are larger
11558 than a few Kb.")
11559 (license license:zlib))))
11560
11561 (define-public cl-mmap
11562 (sbcl-package->cl-source-package sbcl-mmap))
11563
11564 (define-public ecl-mmap
11565 (sbcl-package->ecl-package sbcl-mmap))
11566
11567 (define-public sbcl-3bz
11568 (let ((commit "569614c40408f3aefc77ba233e0e4bd66d3850ad")
11569 (revision "1"))
11570 (package
11571 (name "sbcl-3bz")
11572 (version (git-version "0.0.0" revision commit))
11573 (source
11574 (origin
11575 (method git-fetch)
11576 (uri (git-reference
11577 (url "https://github.com/3b/3bz")
11578 (commit commit)))
11579 (file-name (git-file-name name version))
11580 (sha256
11581 (base32 "0kvvlvf50jhhw1s510f3clpr1a68632bq6d698yxcrx722igcrg4"))))
11582 (build-system asdf-build-system/sbcl)
11583 (inputs
11584 `(("alexandria" ,sbcl-alexandria)
11585 ("babel" ,sbcl-babel)
11586 ("cffi" ,sbcl-cffi)
11587 ("mmap" ,sbcl-mmap)
11588 ("nibbles" ,sbcl-nibbles)
11589 ("trivial-features" ,sbcl-trivial-features)))
11590 (arguments
11591 ;; FIXME: #41437 - Build fails when package name starts from a digit
11592 `(#:asd-systems '("3bz")))
11593 (home-page "https://github.com/3b/3bz")
11594 (synopsis "Deflate decompression for Common Lisp")
11595 (description
11596 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
11597 with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
11598 foreign pointers (for use with mmap and similar, etc), and from CL octet
11599 vectors and streams.")
11600 (license license:expat))))
11601
11602 (define-public cl-3bz
11603 (sbcl-package->cl-source-package sbcl-3bz))
11604
11605 (define-public ecl-3bz
11606 (sbcl-package->ecl-package sbcl-3bz))
11607
11608 (define-public sbcl-zpb-exif
11609 (package
11610 (name "sbcl-zpb-exif")
11611 (version "1.2.4")
11612 (source
11613 (origin
11614 (method git-fetch)
11615 (uri (git-reference
11616 (url "https://github.com/xach/zpb-exif")
11617 (commit (string-append "release-" version))))
11618 (file-name (git-file-name name version))
11619 (sha256
11620 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
11621 (build-system asdf-build-system/sbcl)
11622 (home-page "https://xach.com/lisp/zpb-exif/")
11623 (synopsis "EXIF information extractor for Common Lisp")
11624 (description
11625 "This is a Common Lisp library to extract EXIF information from image
11626 files.")
11627 (license license:bsd-2)))
11628
11629 (define-public cl-zpb-exif
11630 (sbcl-package->cl-source-package sbcl-zpb-exif))
11631
11632 (define-public ecl-zpb-exif
11633 (sbcl-package->ecl-package sbcl-zpb-exif))
11634
11635 (define-public sbcl-pngload
11636 (let ((commit "91f1d703c65bb6a94d6fee06ddbbbbbc5778b71f")
11637 (revision "2"))
11638 (package
11639 (name "sbcl-pngload")
11640 (version (git-version "2.0.0" revision commit))
11641 (source
11642 (origin
11643 (method git-fetch)
11644 (uri (git-reference
11645 (url "https://git.mfiano.net/mfiano/pngload.git")
11646 (commit commit)))
11647 (file-name (git-file-name "pngload" version))
11648 (sha256
11649 (base32 "0s94fdbrbqj12qvgyn2g4lfwvz7qhhzbclrpz5ni7adwxgrmvxl1"))))
11650 (build-system asdf-build-system/sbcl)
11651 (inputs
11652 `(("3bz" ,sbcl-3bz)
11653 ("alexandria" ,sbcl-alexandria)
11654 ("cffi" ,sbcl-cffi)
11655 ("mmap" ,sbcl-mmap)
11656 ("parse-float" ,sbcl-parse-float)
11657 ("static-vectors" ,sbcl-static-vectors)
11658 ("swap-bytes" ,sbcl-swap-bytes)
11659 ("zpb-exif" ,sbcl-zpb-exif)))
11660 (arguments
11661 ;; Test suite disabled because of a dependency cycle.
11662 ;; pngload tests depend on opticl which depends on pngload.
11663 '(#:tests? #f))
11664 (home-page "https://git.mfiano.net/mfiano/pngload.git")
11665 (synopsis "PNG image decoder for Common Lisp")
11666 (description
11667 "This is a Common Lisp library to load images in the PNG image format,
11668 both from files on disk, or streams in memory.")
11669 (license license:expat))))
11670
11671 (define-public cl-pngload
11672 (sbcl-package->cl-source-package sbcl-pngload))
11673
11674 (define-public ecl-pngload
11675 (sbcl-package->ecl-package sbcl-pngload))
11676
11677 (define-public sbcl-opticl
11678 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
11679 (revision "0"))
11680 (package
11681 (name "sbcl-opticl")
11682 (version (git-version "0.0.0" revision commit))
11683 (source
11684 (origin
11685 (method git-fetch)
11686 (uri (git-reference
11687 (url "https://github.com/slyrus/opticl")
11688 (commit commit)))
11689 (file-name (git-file-name name version))
11690 (sha256
11691 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
11692 (build-system asdf-build-system/sbcl)
11693 (native-inputs
11694 `(("fiveam" ,sbcl-fiveam)))
11695 (inputs
11696 `(("alexandria" ,sbcl-alexandria)
11697 ("cl-jpeg" ,sbcl-cl-jpeg)
11698 ("cl-tga" ,sbcl-cl-tga)
11699 ("png-read" ,sbcl-png-read)
11700 ("pngload" ,sbcl-pngload)
11701 ("retrospectiff" ,sbcl-retrospectiff)
11702 ("skippy" ,sbcl-skippy)
11703 ("zpng" ,sbcl-zpng)))
11704 (arguments
11705 '(#:asd-files '("opticl.asd")))
11706 (home-page "https://github.com/slyrus/opticl")
11707 (synopsis "Image processing library for Common Lisp")
11708 (description
11709 "Opticl is a Common Lisp library for representing, processing, loading,
11710 and saving 2-dimensional pixel-based images.")
11711 (license license:bsd-2))))
11712
11713 (define-public cl-opticl
11714 (sbcl-package->cl-source-package sbcl-opticl))
11715
11716 (define-public ecl-opticl
11717 (sbcl-package->ecl-package sbcl-opticl))
11718
11719 (define-public sbcl-mcclim
11720 (let ((commit "04cc542dd4b461b9d56406e40681d1a8f080730f")
11721 (revision "1"))
11722 (package
11723 (name "sbcl-mcclim")
11724 (version (git-version "0.9.7" revision commit))
11725 (source
11726 (origin
11727 (method git-fetch)
11728 (uri (git-reference
11729 (url "https://github.com/mcclim/mcclim")
11730 (commit commit)))
11731 (file-name (git-file-name name version))
11732 (sha256
11733 (base32 "1xjly8i62z72hfhlnz5kjd9i8xhrwckc7avyizxvhih67pkjmsx0"))))
11734 (build-system asdf-build-system/sbcl)
11735 (native-inputs
11736 `(("fiveam" ,sbcl-fiveam)
11737 ("pkg-config" ,pkg-config)))
11738 (inputs
11739 `(("alexandria" ,sbcl-alexandria)
11740 ("babel" ,sbcl-babel)
11741 ("bordeaux-threads" ,sbcl-bordeaux-threads)
11742 ("cl-freetype2" ,sbcl-cl-freetype2)
11743 ("cl-pdf" ,sbcl-cl-pdf)
11744 ("cffi" ,sbcl-cffi)
11745 ("cl-unicode" ,sbcl-cl-unicode)
11746 ("cl-vectors" ,sbcl-cl-vectors)
11747 ("closer-mop" ,sbcl-closer-mop)
11748 ("clx" ,sbcl-clx)
11749 ("flexi-streams" ,sbcl-flexi-streams)
11750 ("flexichain" ,sbcl-flexichain)
11751 ("font-dejavu" ,font-dejavu)
11752 ("fontconfig" ,fontconfig)
11753 ("freetype" ,freetype)
11754 ("harfbuzz" ,harfbuzz)
11755 ("log4cl" ,sbcl-log4cl)
11756 ("opticl" ,sbcl-opticl)
11757 ("spatial-trees" ,sbcl-spatial-trees)
11758 ("swank" ,sbcl-slime-swank)
11759 ("trivial-features" ,sbcl-trivial-features)
11760 ("trivial-garbage" ,sbcl-trivial-garbage)
11761 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
11762 ("zpb-ttf" ,sbcl-zpb-ttf)))
11763 (arguments
11764 '(#:asd-systems '("mcclim"
11765 "clim-examples")
11766 #:phases
11767 (modify-phases %standard-phases
11768 (add-after 'unpack 'fix-paths
11769 (lambda* (#:key inputs #:allow-other-keys)
11770 ;; mcclim-truetype uses DejaVu as default font and
11771 ;; sets the path at build time.
11772 (substitute* "Extensions/fonts/fontconfig.lisp"
11773 (("/usr/share/fonts/truetype/dejavu/")
11774 (string-append (assoc-ref inputs "font-dejavu")
11775 "/share/fonts/truetype/")))
11776 (substitute* "Extensions/fontconfig/src/functions.lisp"
11777 (("libfontconfig\\.so")
11778 (string-append (assoc-ref inputs "fontconfig")
11779 "/lib/libfontconfig.so")))
11780 (substitute* "Extensions/harfbuzz/src/functions.lisp"
11781 (("libharfbuzz\\.so")
11782 (string-append (assoc-ref inputs "harfbuzz")
11783 "/lib/libharfbuzz.so")))
11784 #t))
11785 (add-after 'unpack 'fix-build
11786 (lambda _
11787 ;; The cffi-grovel system does not get loaded automatically,
11788 ;; so we load it explicitly.
11789 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
11790 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
11791 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
11792 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
11793 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
11794 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
11795 #t)))))
11796 (home-page "https://common-lisp.net/project/mcclim/")
11797 (synopsis "Common Lisp GUI toolkit")
11798 (description
11799 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
11800 specification}, a toolkit for writing GUIs in Common Lisp.")
11801 (license license:lgpl2.1+))))
11802
11803 (define-public cl-mcclim
11804 (sbcl-package->cl-source-package sbcl-mcclim))
11805
11806 (define-public ecl-mcclim
11807 (sbcl-package->ecl-package sbcl-mcclim))
11808
11809 (define-public sbcl-cl-inflector
11810 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
11811 (revision "1"))
11812 (package
11813 (name "sbcl-cl-inflector")
11814 (version (git-version "0.2" revision commit))
11815 (source
11816 (origin
11817 (method git-fetch)
11818 (uri (git-reference
11819 (url "https://github.com/AccelerationNet/cl-inflector")
11820 (commit commit)))
11821 (file-name (git-file-name name version))
11822 (sha256
11823 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
11824 (build-system asdf-build-system/sbcl)
11825 (native-inputs
11826 `(("lisp-unit2" ,sbcl-lisp-unit2)))
11827 (inputs
11828 `(("alexandria" ,sbcl-alexandria)
11829 ("cl-ppcre" ,sbcl-cl-ppcre)))
11830 (home-page "https://github.com/AccelerationNet/cl-inflector")
11831 (synopsis "Library to pluralize/singularize English and Portuguese words")
11832 (description
11833 "This is a common lisp library to easily pluralize and singularize
11834 English and Portuguese words. This is a port of the ruby ActiveSupport
11835 Inflector module.")
11836 (license license:expat))))
11837
11838 (define-public cl-inflector
11839 (sbcl-package->cl-source-package sbcl-cl-inflector))
11840
11841 (define-public ecl-cl-inflector
11842 (sbcl-package->ecl-package sbcl-cl-inflector))
11843
11844 (define-public sbcl-ixf
11845 (let ((commit "ed26f87e4127e4a9e3aac4ff1e60d1f39cca5183")
11846 (revision "1"))
11847 (package
11848 (name "sbcl-ixf")
11849 (version (git-version "0.1.0" revision commit))
11850 (source
11851 (origin
11852 (method git-fetch)
11853 (uri (git-reference
11854 (url "https://github.com/dimitri/cl-ixf")
11855 (commit commit)))
11856 (file-name (git-file-name "cl-ixf" version))
11857 (sha256
11858 (base32 "1wjdnf4vr9z7lcfc49kl43g6l2i23q9n81siy494k17d766cdvqa"))))
11859 (build-system asdf-build-system/sbcl)
11860 (inputs
11861 `(("alexandria" ,sbcl-alexandria)
11862 ("babel" ,sbcl-babel)
11863 ("cl-ppcre" ,sbcl-cl-ppcre)
11864 ("ieee-floats" ,sbcl-ieee-floats)
11865 ("local-time" ,sbcl-local-time)
11866 ("md5" ,sbcl-md5)
11867 ("split-sequence" ,sbcl-split-sequence)))
11868 (home-page "https://github.com/dimitri/cl-ixf")
11869 (synopsis "Parse IBM IXF file format")
11870 (description
11871 "This is a Common Lisp library to handle the IBM PC version of the IXF
11872 (Integration Exchange Format) file format.")
11873 (license license:public-domain))))
11874
11875 (define-public ecl-ixf
11876 (sbcl-package->ecl-package sbcl-ixf))
11877
11878 (define-public cl-ixf
11879 (sbcl-package->cl-source-package sbcl-ixf))
11880
11881 (define-public sbcl-qbase64
11882 (package
11883 (name "sbcl-qbase64")
11884 (version "0.3.0")
11885 (source
11886 (origin
11887 (method git-fetch)
11888 (uri (git-reference
11889 (url "https://github.com/chaitanyagupta/qbase64")
11890 (commit version)))
11891 (file-name (git-file-name name version))
11892 (sha256
11893 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
11894 (build-system asdf-build-system/sbcl)
11895 (inputs
11896 `(("metabang-bind" ,sbcl-metabang-bind)
11897 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
11898 (native-inputs
11899 `(("fiveam" ,sbcl-fiveam)))
11900 (home-page "https://github.com/chaitanyagupta/qbase64")
11901 (synopsis "Base64 encoder and decoder for Common Lisp")
11902 (description "@code{qbase64} provides a fast and flexible base64 encoder
11903 and decoder for Common Lisp.")
11904 (license license:bsd-3)))
11905
11906 (define-public cl-qbase64
11907 (sbcl-package->cl-source-package sbcl-qbase64))
11908
11909 (define-public ecl-qbase64
11910 (sbcl-package->ecl-package sbcl-qbase64))
11911
11912 (define-public sbcl-lw-compat
11913 ;; No release since 2013.
11914 (let ((commit "aabfe28c6c1a4949f9d7b3cb30319367c9fd1c0d"))
11915 (package
11916 (name "sbcl-lw-compat")
11917 (version (git-version "1.0.0" "1" commit))
11918 (source
11919 (origin
11920 (method git-fetch)
11921 (uri (git-reference
11922 (url "https://github.com/pcostanza/lw-compat/")
11923 (commit commit)))
11924 (file-name (git-file-name name version))
11925 (sha256
11926 (base32 "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav"))))
11927 (build-system asdf-build-system/sbcl)
11928 (home-page "https://github.com/pcostanza/lw-compat/")
11929 (synopsis "LispWorks utilities ported to other Common Lisp implementations")
11930 (description "This package contains a few utility functions from the
11931 LispWorks library that are used in software such as ContextL.")
11932 (license license:expat))))
11933
11934 (define-public cl-lw-compat
11935 (sbcl-package->cl-source-package sbcl-lw-compat))
11936
11937 (define-public ecl-lw-compat
11938 (sbcl-package->ecl-package sbcl-lw-compat))
11939
11940 (define-public sbcl-contextl
11941 ;; No release since 2013.
11942 (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9"))
11943 (package
11944 (name "sbcl-contextl")
11945 (version (git-version "1.0.0" "1" commit))
11946 (source
11947 (origin
11948 (method git-fetch)
11949 (uri (git-reference
11950 (url "https://github.com/pcostanza/contextl/")
11951 (commit commit)))
11952 (file-name (git-file-name name version))
11953 (sha256
11954 (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226"))))
11955 (build-system asdf-build-system/sbcl)
11956 (inputs
11957 `(("closer-mop" ,sbcl-closer-mop)
11958 ("lw-compat" ,sbcl-lw-compat)))
11959 (home-page "https://github.com/pcostanza/contextl")
11960 (synopsis "Context-oriented programming for Common Lisp")
11961 (description "ContextL is a CLOS extension for Context-Oriented
11962 Programming (COP).
11963
11964 Find overview of ContextL's features in an overview paper:
11965 @url{http://www.p-cos.net/documents/contextl-soa.pdf}. See also this general
11966 overview article about COP which also contains some ContextL examples:
11967 @url{http://www.jot.fm/issues/issue_2008_03/article4/}.")
11968 (license license:expat))))
11969
11970 (define-public cl-contextl
11971 (sbcl-package->cl-source-package sbcl-contextl))
11972
11973 (define-public ecl-contextl
11974 (sbcl-package->ecl-package sbcl-contextl))
11975
11976 (define-public sbcl-hu.dwim.common-lisp
11977 (package
11978 (name "sbcl-hu.dwim.common-lisp")
11979 (version "2015-07-09")
11980 (source
11981 (origin
11982 (method url-fetch)
11983 (uri (string-append
11984 "http://beta.quicklisp.org/archive/hu.dwim.common-lisp/"
11985 version "/hu.dwim.common-lisp-"
11986 (string-replace-substring version "-" "")
11987 "-darcs.tgz"))
11988 (sha256
11989 (base32 "13cxrvh55rw080mvfir7s7k735l9rcfh3khxp97qfwd5rz0gadb9"))))
11990 (build-system asdf-build-system/sbcl)
11991 (native-inputs
11992 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11993 (home-page "http://dwim.hu/")
11994 (synopsis "Redefine some standard Common Lisp names")
11995 (description "This library is a redefinition of the standard Common Lisp
11996 package that includes a number of renames and shadows. ")
11997 (license license:public-domain)))
11998
11999 (define-public cl-hu.dwim.common-lisp
12000 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
12001
12002 (define-public ecl-hu.dwim.common-lisp
12003 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
12004
12005 (define-public sbcl-hu.dwim.common
12006 (package
12007 (name "sbcl-hu.dwim.common")
12008 (version "2015-07-09")
12009 (source
12010 (origin
12011 (method url-fetch)
12012 (uri (string-append
12013 "http://beta.quicklisp.org/archive/hu.dwim.common/"
12014 version "/hu.dwim.common-"
12015 (string-replace-substring version "-" "")
12016 "-darcs.tgz"))
12017 (sha256
12018 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
12019 (build-system asdf-build-system/sbcl)
12020 (native-inputs
12021 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12022 (inputs
12023 `(("alexandria" ,sbcl-alexandria)
12024 ("anaphora" ,sbcl-anaphora)
12025 ("closer-mop" ,sbcl-closer-mop)
12026 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
12027 ("iterate" ,sbcl-iterate)
12028 ("metabang-bind" ,sbcl-metabang-bind)))
12029 (home-page "http://dwim.hu/")
12030 (synopsis "Common Lisp library shared by other hu.dwim systems")
12031 (description "This package contains a support library for other
12032 hu.dwim systems.")
12033 (license license:public-domain)))
12034
12035 (define-public cl-hu.dwim.common
12036 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
12037
12038 (define-public ecl-hu.dwim.common
12039 (sbcl-package->ecl-package sbcl-hu.dwim.common))
12040
12041 (define-public sbcl-hu.dwim.defclass-star
12042 (let ((commit "39d458f1b1bc830d1f5e18a6a35bf0e96a2cfd61"))
12043 (package
12044 (name "sbcl-hu.dwim.defclass-star")
12045 ;; We used to set version from the date when it was a darcs repo, so we
12046 ;; keep the year so that package gets updated on previous installs.
12047 (version (git-version "2021" "1" commit))
12048 (source
12049 (origin
12050 (method git-fetch)
12051 (uri (git-reference
12052 (url "https://github.com/hu-dwim/hu.dwim.defclass-star")
12053 (commit commit)))
12054 (file-name (git-file-name name version))
12055 (sha256
12056 (base32 "0hfkq2wad98vkyxdg1wh18y86d9w9yqkm8lxkk96szvpwymm7lmq"))))
12057 (build-system asdf-build-system/sbcl)
12058 (native-inputs
12059 `( ;; These 2 inputs are only needed tests which are disabled, see below.
12060 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
12061 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
12062 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
12063 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12064 (arguments
12065 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
12066 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
12067 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
12068 #:tests? #f))
12069 (home-page "https://github.com/hu-dwim/hu.dwim.defclass-star")
12070 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
12071 (description "@code{defclass-star} provides defclass* and defcondition* to
12072 simplify class and condition declarations. Features include:
12073
12074 @itemize
12075 @item Automatically export all or select slots at compile time.
12076 @item Define the @code{:initarg} and @code{:accessor} automatically.
12077 @item Specify a name transformer for both the @code{:initarg} and
12078 @code{:accessor}, etc.
12079 @item Specify the @code{:initform} as second slot value.
12080 @end itemize
12081
12082 See
12083 @url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
12084 for an example.")
12085 (license license:public-domain))))
12086
12087 (define-public cl-hu.dwim.defclass-star
12088 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
12089
12090 (define-public ecl-hu.dwim.defclass-star
12091 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))
12092
12093 (define-public sbcl-livesupport
12094 (let ((commit "71e6e412df9f3759ad8378fabb203913d82e228a")
12095 (revision "1"))
12096 (package
12097 (name "sbcl-livesupport")
12098 (version (git-version "0.0.0" revision commit))
12099 (source
12100 (origin
12101 (method git-fetch)
12102 (uri (git-reference
12103 (url "https://github.com/cbaggers/livesupport")
12104 (commit commit)))
12105 (file-name (git-file-name name version))
12106 (sha256
12107 (base32 "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"))))
12108 (build-system asdf-build-system/sbcl)
12109 (home-page "https://github.com/cbaggers/livesupport")
12110 (synopsis "Some helpers that make livecoding a little easier")
12111 (description "This package provides a macro commonly used in livecoding to
12112 enable continuing when errors are raised. Simply wrap around a chunk of code
12113 and it provides a restart called @code{continue} which ignores the error and
12114 carrys on from the end of the body.")
12115 (license license:bsd-2))))
12116
12117 (define-public cl-livesupport
12118 (sbcl-package->cl-source-package sbcl-livesupport))
12119
12120 (define-public ecl-livesupport
12121 (sbcl-package->ecl-package sbcl-livesupport))
12122
12123 (define-public sbcl-envy
12124 (let ((commit "956321b2852d58ba71c6fe621f5c2924178e9f88")
12125 (revision "1"))
12126 (package
12127 (name "sbcl-envy")
12128 (version (git-version "0.1" revision commit))
12129 (home-page "https://github.com/fukamachi/envy")
12130 (source
12131 (origin
12132 (method git-fetch)
12133 (uri (git-reference
12134 (url home-page)
12135 (commit commit)))
12136 (file-name (git-file-name name version))
12137 (sha256
12138 (base32 "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg"))))
12139 (build-system asdf-build-system/sbcl)
12140 ;; (native-inputs ; Only for tests.
12141 ;; `(("prove" ,sbcl-prove)
12142 ;; ("osicat" ,sbcl-osicat)))
12143 (arguments
12144 '(#:phases
12145 (modify-phases %standard-phases
12146 (add-after 'unpack 'fix-tests
12147 (lambda _
12148 (substitute* "envy-test.asd"
12149 (("cl-test-more") "prove"))
12150 #t)))
12151 ;; Tests fail with
12152 ;; Component ENVY-ASD::ENVY-TEST not found, required by #<SYSTEM "envy">
12153 ;; like xsubseq. Why?
12154 #:tests? #f))
12155 (synopsis "Common Lisp configuration switcher inspired by Perl's Config::ENV.")
12156 (description "Envy is a configuration manager for various applications.
12157 Envy uses an environment variable to determine a configuration to use. This
12158 can separate configuration system from an implementation.")
12159 (license license:bsd-2))))
12160
12161 (define-public cl-envy
12162 (sbcl-package->cl-source-package sbcl-envy))
12163
12164 (define-public ecl-envy
12165 (sbcl-package->ecl-package sbcl-envy))
12166
12167 (define-public sbcl-mito
12168 (let ((commit "d3b9e375ef364a65692da2185085a08c969ac88a")
12169 (revision "1"))
12170 (package
12171 (name "sbcl-mito")
12172 (version (git-version "0.1" revision commit))
12173 (home-page "https://github.com/fukamachi/mito")
12174 (source
12175 (origin
12176 (method git-fetch)
12177 (uri (git-reference
12178 (url home-page)
12179 (commit commit)))
12180 (file-name (git-file-name name version))
12181 (sha256
12182 (base32 "08mncgzjnbbsf1a6am3l73iw4lyfvz5ldjg5g84awfaxml4p73mb"))))
12183 (build-system asdf-build-system/sbcl)
12184 (native-inputs
12185 `(("prove" ,sbcl-prove)))
12186 (inputs
12187 `(("alexandria" ,sbcl-alexandria)
12188 ("cl-ppcre" ,sbcl-cl-ppcre)
12189 ("cl-reexport" ,sbcl-cl-reexport)
12190 ("closer-mop" ,sbcl-closer-mop)
12191 ("dbi" ,sbcl-dbi)
12192 ("dissect" ,sbcl-dissect)
12193 ("esrap" ,sbcl-esrap)
12194 ("local-time" ,sbcl-local-time)
12195 ("optima" ,sbcl-optima)
12196 ("sxql" ,sbcl-sxql)
12197 ("uuid" ,sbcl-uuid)))
12198 (arguments
12199 '(#:phases
12200 (modify-phases %standard-phases
12201 (add-after 'unpack 'remove-non-functional-tests
12202 (lambda _
12203 (substitute* "mito-test.asd"
12204 (("\\(:test-file \"db/mysql\"\\)") "")
12205 (("\\(:test-file \"db/postgres\"\\)") "")
12206 (("\\(:test-file \"dao\"\\)") "")
12207 ;; TODO: migration/sqlite3 should work, re-enable once
12208 ;; upstream has fixed it:
12209 ;; https://github.com/fukamachi/mito/issues/70
12210 (("\\(:test-file \"migration/sqlite3\"\\)") "")
12211 (("\\(:test-file \"migration/mysql\"\\)") "")
12212 (("\\(:test-file \"migration/postgres\"\\)") "")
12213 (("\\(:test-file \"postgres-types\"\\)") "")
12214 (("\\(:test-file \"mixin\"\\)") ""))
12215 #t)))
12216 ;; TODO: While all enabled tests pass, the phase fails with:
12217 ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito">
12218 #:tests? #f))
12219 (synopsis "ORM for Common Lisp with migrations and relationships support")
12220 (description "Mito is yet another object relational mapper, and it aims
12221 to be a successor of Integral.
12222
12223 @itemize
12224 @item Support MySQL, PostgreSQL and SQLite3.
12225 @item Add id (serial/uuid primary key), created_at and updated_at by default
12226 like Ruby's ActiveRecord.
12227 @item Migrations.
12228 @item Database schema versioning.
12229 @end itemize\n")
12230 (license license:llgpl))))
12231
12232 (define-public cl-mito
12233 (sbcl-package->cl-source-package sbcl-mito))
12234
12235 (define-public ecl-mito
12236 (sbcl-package->ecl-package sbcl-mito))
12237
12238 (define-public sbcl-kebab
12239 (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b")
12240 (revision "1"))
12241 (package
12242 (name "sbcl-kebab")
12243 (version (git-version "0.1" revision commit))
12244 (home-page "https://github.com/pocket7878/kebab")
12245 (source
12246 (origin
12247 (method git-fetch)
12248 (uri (git-reference
12249 (url home-page)
12250 (commit commit)))
12251 (file-name (git-file-name name version))
12252 (sha256
12253 (base32 "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"))))
12254 (build-system asdf-build-system/sbcl)
12255 (inputs
12256 `(("cl-ppcre" ,sbcl-cl-ppcre)
12257 ("alexandria" ,sbcl-alexandria)
12258 ("cl-interpol" ,sbcl-cl-interpol)
12259 ("split-sequence" ,sbcl-split-sequence)))
12260 (native-inputs
12261 `(("prove" ,sbcl-prove)))
12262 (arguments
12263 ;; Tests passes but the phase fails with
12264 ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">.
12265 `(#:tests? #f))
12266 (synopsis "Common Lisp case converter")
12267 (description "This Common Lisp library converts strings, symbols and
12268 keywords between any of the following typographical cases: PascalCase,
12269 camelCase, snake_case, kebab-case (lisp-case).")
12270 (license license:llgpl))))
12271
12272 (define-public cl-kebab
12273 (sbcl-package->cl-source-package sbcl-kebab))
12274
12275 (define-public ecl-kebab
12276 (sbcl-package->ecl-package sbcl-kebab))
12277
12278 (define-public sbcl-datafly
12279 (let ((commit "adece27fcbc4b5ea39ad1a105048b6b7166e3b0d")
12280 (revision "1"))
12281 (package
12282 (name "sbcl-datafly")
12283 (version (git-version "0.1" revision commit))
12284 (home-page "https://github.com/fukamachi/datafly")
12285 (source
12286 (origin
12287 (method git-fetch)
12288 (uri (git-reference
12289 (url home-page)
12290 (commit commit)))
12291 (file-name (git-file-name name version))
12292 (sha256
12293 (base32 "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv"))))
12294 (build-system asdf-build-system/sbcl)
12295 (inputs
12296 `(("alexandria" ,sbcl-alexandria)
12297 ("iterate" ,sbcl-iterate)
12298 ("optima" ,sbcl-optima)
12299 ("trivial-types" ,sbcl-trivial-types)
12300 ("closer-mop" ,sbcl-closer-mop)
12301 ("cl-syntax" ,sbcl-cl-syntax)
12302 ("sxql" ,sbcl-sxql)
12303 ("dbi" ,sbcl-dbi)
12304 ("babel" ,sbcl-babel)
12305 ("local-time" ,sbcl-local-time)
12306 ("function-cache" ,sbcl-function-cache)
12307 ("jonathan" ,sbcl-jonathan)
12308 ("kebab" ,sbcl-kebab)
12309 ("log4cl" ,sbcl-log4cl)))
12310 (native-inputs
12311 `(("prove" ,sbcl-prove)))
12312 (arguments
12313 ;; TODO: Tests fail with
12314 ;; While evaluating the form starting at line 22, column 0
12315 ;; of #P"/tmp/guix-build-sbcl-datafly-0.1-1.adece27.drv-0/source/t/datafly.lisp":
12316 ;; Unhandled SQLITE:SQLITE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
12317 ;; {10009F8083}>:
12318 ;; Error when binding parameter 1 to value NIL.
12319 ;; Code RANGE: column index out of range.
12320 `(#:tests? #f))
12321 (synopsis "Lightweight database library for Common Lisp")
12322 (description "Datafly is a lightweight database library for Common Lisp.")
12323 (license license:bsd-3))))
12324
12325 (define-public cl-datafly
12326 (sbcl-package->cl-source-package sbcl-datafly))
12327
12328 (define-public ecl-datafly
12329 (sbcl-package->ecl-package sbcl-datafly))
12330
12331 (define-public sbcl-do-urlencode
12332 (let ((commit "199846441dad5dfac5478b8dee4b4e20d107af6a")
12333 (revision "1"))
12334 (package
12335 (name "sbcl-do-urlencode")
12336 (version (git-version "0.0.0" revision commit))
12337 (home-page "https://github.com/drdo/do-urlencode")
12338 (source
12339 (origin
12340 (method git-fetch)
12341 (uri (git-reference
12342 (url home-page)
12343 (commit commit)))
12344 (file-name (git-file-name name version))
12345 (sha256
12346 (base32 "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"))))
12347 (build-system asdf-build-system/sbcl)
12348 (inputs
12349 `(("alexandria" ,sbcl-alexandria)
12350 ("babel" ,sbcl-babel)))
12351 (synopsis "Percent Encoding (aka URL Encoding) Common Lisp library")
12352 (description "This library provides trivial percent encoding and
12353 decoding functions for URLs.")
12354 (license license:isc))))
12355
12356 (define-public cl-do-urlencode
12357 (sbcl-package->cl-source-package sbcl-do-urlencode))
12358
12359 (define-public ecl-do-urlencode
12360 (sbcl-package->ecl-package sbcl-do-urlencode))
12361
12362 (define-public sbcl-cl-emb
12363 (let ((commit "fd8652174d048d4525a81f38cdf42f4fa519f840")
12364 (revision "1"))
12365 (package
12366 (name "sbcl-cl-emb")
12367 (version (git-version "0.4.3" revision commit))
12368 (home-page "https://common-lisp.net/project/cl-emb/")
12369 (source
12370 (origin
12371 (method git-fetch)
12372 (uri (git-reference
12373 (url "https://github.com/38a938c2/cl-emb")
12374 (commit commit)))
12375 (file-name (git-file-name name version))
12376 (sha256
12377 (base32 "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"))))
12378 (build-system asdf-build-system/sbcl)
12379 (inputs
12380 `(("cl-ppcre" ,sbcl-cl-ppcre)))
12381 (synopsis "Templating system for Common Lisp")
12382 (description "A mixture of features from eRuby and HTML::Template. You
12383 could name it \"Yet Another LSP\" (LispServer Pages) but it's a bit more than
12384 that and not limited to a certain server or text format.")
12385 (license license:llgpl))))
12386
12387 (define-public cl-emb
12388 (sbcl-package->cl-source-package sbcl-cl-emb))
12389
12390 (define-public ecl-cl-emb
12391 (sbcl-package->ecl-package sbcl-cl-emb))
12392
12393 (define-public sbcl-cl-project
12394 (let ((commit "151107014e534fc4666222d57fec2cc8549c8814")
12395 (revision "1"))
12396 (package
12397 (name "sbcl-cl-project")
12398 (version (git-version "0.3.1" revision commit))
12399 (home-page "https://github.com/fukamachi/cl-project")
12400 (source
12401 (origin
12402 (method git-fetch)
12403 (uri (git-reference
12404 (url home-page)
12405 (commit commit)))
12406 (file-name (git-file-name name version))
12407 (sha256
12408 (base32 "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y"))))
12409 (build-system asdf-build-system/sbcl)
12410 (inputs
12411 `(("cl-emb" ,sbcl-cl-emb)
12412 ("cl-ppcre" ,sbcl-cl-ppcre)
12413 ("local-time" ,sbcl-local-time)
12414 ("prove" ,sbcl-prove)))
12415 (arguments
12416 ;; Tests depend on caveman, which in turns depends on cl-project.
12417 '(#:tests? #f
12418 #:asd-files '("cl-project.asd")))
12419 (synopsis "Generate a skeleton for modern Common Lisp projects")
12420 (description "This library provides a modern project skeleton generator.
12421 In contract with other generators, CL-Project generates one package per file
12422 and encourages unit testing by generating a system for unit testing, so you
12423 can begin writing unit tests as soon as the project is generated.")
12424 (license license:llgpl))))
12425
12426 (define-public cl-project
12427 (sbcl-package->cl-source-package sbcl-cl-project))
12428
12429 (define-public ecl-cl-project
12430 (sbcl-package->ecl-package sbcl-cl-project))
12431
12432 (define-public sbcl-caveman
12433 (let ((commit "faa5f7e3b364fd7e7096af9a7bb06728b8d80441") ; No release since 2012
12434 (revision "1"))
12435 (package
12436 (name "sbcl-caveman")
12437 (version (git-version "2.4.0" revision commit))
12438 (home-page "http://8arrow.org/caveman/")
12439 (source
12440 (origin
12441 (method git-fetch)
12442 (uri (git-reference
12443 (url "https://github.com/fukamachi/caveman/")
12444 (commit commit)))
12445 (file-name (git-file-name name version))
12446 (sha256
12447 (base32 "0kh0gx05pczk8f7r9qdi4zn1p3d0a2prps27k7jpgvc1dxkl8qhq"))))
12448 (build-system asdf-build-system/sbcl)
12449 (inputs
12450 `(("ningle" ,cl-ningle)
12451 ("lack" ,sbcl-lack)
12452 ("cl-project" ,sbcl-cl-project)
12453 ("dbi" ,sbcl-dbi)
12454 ("cl-syntax" ,sbcl-cl-syntax)
12455 ("myway" ,sbcl-myway)
12456 ("quri" ,sbcl-quri)))
12457 (native-inputs
12458 `(("usocket" ,sbcl-usocket)
12459 ("dexador" ,sbcl-dexador)))
12460 (arguments
12461 `(#:asd-files '("caveman2.asd")
12462 #:asd-systems '("caveman2")
12463 #:phases
12464 (modify-phases %standard-phases
12465 (add-after 'unpack 'remove-v1
12466 (lambda _
12467 (delete-file-recursively "v1")
12468 (for-each delete-file
12469 '("README.v1.markdown" "caveman.asd" "caveman-test.asd")))))
12470 ;; TODO: Tests fail with:
12471 ;; writing /gnu/store/...-sbcl-caveman-2.4.0-1.faa5f7e/share/common-lisp/sbcl-source/caveman2/v2/t/tmp/myapp573/tests/myapp573.lisp
12472 ;; While evaluating the form starting at line 38, column 0
12473 ;; of #P"/tmp/guix-build-sbcl-caveman-2.4.0-1.faa5f7e.drv-0/source/v2/t/caveman.lisp":
12474 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD "main thread" RUNNING
12475 ;; {10009F8083}>:
12476 ;; Component "myapp573" not found
12477 #:tests? #f))
12478 (synopsis "Lightweight web application framework in Common Lisp")
12479 (description "Caveman is intended to be a collection of common parts for
12480 web applications. Caveman2 has three design goals:
12481
12482 @itemize
12483 @item Be extensible.
12484 @item Be practical.
12485 @item Don't force anything.
12486 @end itemize\n")
12487 (license license:llgpl))))
12488
12489 (define-public cl-caveman
12490 (package
12491 (inherit
12492 (sbcl-package->cl-source-package sbcl-caveman))
12493 (propagated-inputs
12494 `(("ningle" ,cl-ningle)))))
12495
12496 (define-public ecl-caveman
12497 (sbcl-package->ecl-package sbcl-caveman))
12498
12499 (define-public sbcl-lambda-fiddle
12500 (let ((commit "d16bba55acf6065b412f64ab8fdff679a4a32b1e") ;; no tagged branch
12501 (revision "1"))
12502 (package
12503 (name "sbcl-lambda-fiddle")
12504 (version (git-version "1.0.0" revision commit))
12505 (source
12506 (origin
12507 (method git-fetch)
12508 (uri (git-reference
12509 (url "https://github.com/Shinmera/lambda-fiddle")
12510 (commit commit)))
12511 (file-name (git-file-name name version))
12512 (sha256
12513 (base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand"))))
12514 (build-system asdf-build-system/sbcl)
12515 (home-page "https://github.com/Shinmera/lambda-fiddle")
12516 (synopsis "Collection of utilities to process lambda-lists")
12517 (description "This collection of utilities is useful in contexts where
12518 you want a macro that uses lambda-lists in some fashion but need more precise
12519 processing.")
12520 (license license:zlib))))
12521
12522 (define-public cl-lambda-fiddle
12523 (sbcl-package->cl-source-package sbcl-lambda-fiddle))
12524
12525 (define-public ecl-lambda-fiddle
12526 (sbcl-package->ecl-package sbcl-lambda-fiddle))
12527
12528 (define-public sbcl-xmls
12529 (let ((commit "18546f0850b1338e03997ffd1696add1cb1800d1") ;; no tagged branch
12530 (revision "1"))
12531 (package
12532 (name "sbcl-xmls")
12533 (version (git-version "3.0.2" revision commit))
12534 (source
12535 (origin
12536 (method git-fetch)
12537 (uri (git-reference
12538 (url "https://github.com/rpgoldman/xmls")
12539 (commit commit)))
12540 (file-name (git-file-name name version))
12541 (sha256
12542 (base32 "1lmvfml2ldbb1wkhm25jqqk2bhwsz52hhcgljbnzj1xr8xhc3anp"))))
12543 (native-inputs
12544 `(("fiveam" ,sbcl-fiveam)))
12545 (build-system asdf-build-system/sbcl)
12546 (home-page "https://github.com/rpgoldman/xmls")
12547 (synopsis "Non-validating XML parser for Common Lisp")
12548 (description "Xmls is a self-contained, easily embedded parser that
12549 recognizes a useful subset of the XML spec. It provides a simple mapping from
12550 XML to Lisp structures or s-expressions and back.")
12551 (license license:bsd-2))))
12552
12553 (define-public cl-xmls
12554 (sbcl-package->cl-source-package sbcl-xmls))
12555
12556 (define-public ecl-xmls
12557 (sbcl-package->ecl-package sbcl-xmls))
12558
12559 (define-public sbcl-geco
12560 (package
12561 (name "sbcl-geco")
12562 (version "2.1.1")
12563 (source
12564 (origin
12565 (method git-fetch)
12566 (uri (git-reference
12567 (url "https://github.com/gpwwjr/GECO")
12568 (commit (string-append "v" version))))
12569 (file-name (git-file-name "geco" version))
12570 (sha256
12571 (base32 "1rc8a4mk40hjx5qy980hjylv6xxqdbq38hg8c4w30y93abfd519s"))))
12572 (build-system asdf-build-system/sbcl)
12573 (home-page "http://hiwaay.net/~gpw/geco/geco.html")
12574 (synopsis "Genetic algorithm toolkit for Common Lisp")
12575 (description
12576 "GECO (Genetic Evolution through Combination of Objects) is an extensible,
12577 object-oriented framework for prototyping genetic algorithms in Common Lisp.")
12578 (license license:lgpl2.1+)))
12579
12580 (define-public cl-geco
12581 (sbcl-package->cl-source-package sbcl-geco))
12582
12583 (define-public ecl-geco
12584 (sbcl-package->ecl-package sbcl-geco))
12585
12586 (define-public sbcl-html-entities
12587 (let ((commit "4af018048e891f41d77e7d680ed3aeb639e1eedb"))
12588 (package
12589 (name "sbcl-html-entities")
12590 (version (git-version "0.02" "1" commit))
12591 (source
12592 (origin
12593 (method git-fetch)
12594 (uri (git-reference
12595 (url "https://github.com/BnMcGn/html-entities/")
12596 (commit commit)))
12597 (file-name (git-file-name name version))
12598 (sha256
12599 (base32 "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"))))
12600 (build-system asdf-build-system/sbcl)
12601 (inputs
12602 `(("ppcre" ,sbcl-cl-ppcre)))
12603 (native-inputs
12604 `(("fiveam" ,sbcl-fiveam)))
12605 (home-page "https://github.com/BnMcGn/html-entities/")
12606 (synopsis "Encode and decode entities in HTML with Common Lisp")
12607 (description "Html-entities is a Common Lisp library that lets you
12608 encode and decode entities in HTML.")
12609 (license license:expat))))
12610
12611 (define-public cl-html-entities
12612 (sbcl-package->cl-source-package sbcl-html-entities))
12613
12614 (define-public ecl-html-entities
12615 (sbcl-package->ecl-package sbcl-html-entities))
12616
12617 (define-public sbcl-quicksearch
12618 (let ((commit "fb02ecf7c876ec580ab18c7d2c8c7814c06af599"))
12619 (package
12620 (name "sbcl-quicksearch")
12621 (version (git-version "0.01.04" "1" commit))
12622 (source
12623 (origin
12624 (method git-fetch)
12625 (uri (git-reference
12626 (url "https://github.com/tkych/quicksearch/")
12627 (commit commit)))
12628 (file-name (git-file-name name version))
12629 (sha256
12630 (base32 "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps"))))
12631 (build-system asdf-build-system/sbcl)
12632 (inputs
12633 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12634 ("iterate" ,sbcl-iterate)
12635 ("alexandria" ,sbcl-alexandria)
12636 ("anaphora" ,sbcl-anaphora)
12637 ("ppcre" ,sbcl-cl-ppcre)
12638 ("drakma" ,sbcl-drakma)
12639 ("html-entities" ,sbcl-html-entities)
12640 ("yason" ,sbcl-yason)
12641 ("flexi-streams" ,sbcl-flexi-streams)
12642 ("do-urlencode" ,sbcl-do-urlencode)))
12643 (home-page "https://github.com/tkych/quicksearch/")
12644 (synopsis "Search Engine Interface for Common Lisp packages")
12645 (description "Quicksearch is a search-engine-interface for Common Lisp.
12646 The goal of Quicksearch is to find the Common Lisp library quickly. For
12647 example, if you will find the library about json, just type @code{(qs:?
12648 'json)} at REPL.
12649
12650 The function @code{quicksearch} searches for Common Lisp projects in
12651 Quicklisp, Cliki, GitHub and BitBucket, then outputs results in REPL. The
12652 function @code{?} is abbreviation wrapper for @code{quicksearch}.")
12653 (license license:expat))))
12654
12655 (define-public cl-quicksearch
12656 (sbcl-package->cl-source-package sbcl-quicksearch))
12657
12658 (define-public ecl-quicksearch
12659 (sbcl-package->ecl-package sbcl-quicksearch))
12660
12661 (define-public sbcl-agutil
12662 (let ((commit "df188d754d472da9faa1601a48f1f37bb7b34d68"))
12663 (package
12664 (name "sbcl-agutil")
12665 (version (git-version "0.0.1" "1" commit))
12666 (source
12667 (origin
12668 (method git-fetch)
12669 (uri (git-reference
12670 (url "https://github.com/alex-gutev/agutil/")
12671 (commit commit)))
12672 (file-name (git-file-name name version))
12673 (sha256
12674 (base32 "1xpnyzksk2xld64b6lw6rw0gn5zxlb77jwna59sd4yl7kxhxlfpf"))))
12675 (build-system asdf-build-system/sbcl)
12676 (inputs
12677 `(("alexandria" ,sbcl-alexandria)
12678 ("trivia" ,sbcl-trivia)))
12679 (home-page "https://github.com/alex-gutev/agutil/")
12680 (synopsis "Collection of Common Lisp utilities")
12681 (description "A collection of Common Lisp utility functions and macros
12682 mostly not found in other utility packages.")
12683 (license license:expat))))
12684
12685 (define-public cl-agutil
12686 (sbcl-package->cl-source-package sbcl-agutil))
12687
12688 (define-public ecl-agutil
12689 (sbcl-package->ecl-package sbcl-agutil))
12690
12691 (define-public sbcl-custom-hash-table
12692 (let ((commit "f26983133940f5edf826ebbc8077acc04816ddfa"))
12693 (package
12694 (name "sbcl-custom-hash-table")
12695 (version (git-version "0.3" "1" commit))
12696 (source
12697 (origin
12698 (method git-fetch)
12699 (uri (git-reference
12700 (url "https://github.com/metawilm/cl-custom-hash-table")
12701 (commit commit)))
12702 (file-name (git-file-name name version))
12703 (sha256
12704 (base32 "1k4mvrpbqqds2fwjxp1bxmrfmr8ch4dkwhnkbw559knbqshvrlj5"))))
12705 (build-system asdf-build-system/sbcl)
12706 (arguments
12707 '(#:asd-files '("cl-custom-hash-table.asd")
12708 #:asd-systems '("cl-custom-hash-table")))
12709 (home-page "https://github.com/metawilm/cl-custom-hash-table")
12710 (synopsis "Custom hash tables for Common Lisp")
12711 (description "This library allows creation of hash tables with arbitrary
12712 @code{test}/@code{hash} functions, in addition to the @code{test} functions
12713 allowed by the standard (@code{EQ}, @code{EQL}, @code{EQUAL} and
12714 @code{EQUALP}), even in implementations that don't support this functionality
12715 directly.")
12716 (license license:expat))))
12717
12718 (define-public cl-custom-hash-table
12719 (sbcl-package->cl-source-package sbcl-custom-hash-table))
12720
12721 (define-public ecl-custom-hash-table
12722 (sbcl-package->ecl-package sbcl-custom-hash-table))
12723
12724 (define-public sbcl-collectors
12725 (let ((commit "13acef25d8422d1d82e067b1861e513587c166ee"))
12726 (package
12727 (name "sbcl-collectors")
12728 (version (git-version "0.1" "1" commit))
12729 (source
12730 (origin
12731 (method git-fetch)
12732 (uri (git-reference
12733 (url "https://github.com/AccelerationNet/collectors")
12734 (commit commit)))
12735 (file-name (git-file-name name version))
12736 (sha256
12737 (base32 "1si68n1j6rpns8jw6ksqjpb937pdl30v7xza8rld7j5vh0jhy2yi"))))
12738 (build-system asdf-build-system/sbcl)
12739 (inputs
12740 `(("alexandria" ,sbcl-alexandria)
12741 ("closer-mop" ,sbcl-closer-mop)
12742 ("symbol-munger" ,sbcl-symbol-munger)))
12743 (native-inputs
12744 `(("lisp-unit2" ,sbcl-lisp-unit2)))
12745 (home-page "https://github.com/AccelerationNet/collectors/")
12746 (synopsis "Common lisp library providing collector macros")
12747 (description "A small collection of common lisp macros to make
12748 collecting values easier.")
12749 (license license:bsd-3))))
12750
12751 (define-public cl-collectors
12752 (sbcl-package->cl-source-package sbcl-collectors))
12753
12754 (define-public ecl-collectors
12755 (sbcl-package->ecl-package sbcl-collectors))
12756
12757 (define-public sbcl-cl-environments
12758 (let ((commit "0b22154c5afefef23d1eba9a4fae11d73580ef41")) ; No version in 2 years.
12759 (package
12760 (name "sbcl-cl-environments")
12761 (version (git-version "0.2.3" "1" commit))
12762 (source
12763 (origin
12764 (method git-fetch)
12765 (uri (git-reference
12766 (url "https://github.com/alex-gutev/cl-environments")
12767 (commit commit)))
12768 (file-name (git-file-name name version))
12769 (sha256
12770 (base32
12771 "18r3wfarr7lgn78m6c66r0r9aazirv07gy7xgvqkl9pmrz1bc47m"))))
12772 (build-system asdf-build-system/sbcl)
12773 (inputs
12774 `(("alexandria" ,sbcl-alexandria)
12775 ("anaphora" ,sbcl-anaphora)
12776 ("collectors" ,sbcl-collectors)
12777 ("optima" ,sbcl-optima)))
12778 (native-inputs
12779 `(("prove" ,sbcl-prove)))
12780 (home-page "https://github.com/alex-gutev/cl-environments")
12781 (synopsis "Implements the Common Lisp standard environment access API")
12782 (description "This library provides a uniform API, as specified in Common
12783 Lisp the Language 2, for accessing information about variable and function
12784 bindings from implementation-defined lexical environment objects. All major
12785 Common Lisp implementations are supported, even those which don't support the
12786 CLTL2 environment access API.")
12787 (license license:expat))))
12788
12789 (define-public cl-environments
12790 (sbcl-package->cl-source-package sbcl-cl-environments))
12791
12792 (define-public ecl-environments
12793 (sbcl-package->ecl-package sbcl-cl-environments))
12794
12795 (define-public sbcl-static-dispatch
12796 (let ((commit "6243afcd152854c52ba33daef7394367b657d9c6")
12797 (revision "1"))
12798 (package
12799 (name "sbcl-static-dispatch")
12800 (version (git-version "0.3" revision commit))
12801 (source
12802 (origin
12803 (method git-fetch)
12804 (uri (git-reference
12805 (url "https://github.com/alex-gutev/static-dispatch")
12806 (commit commit)))
12807 (file-name (git-file-name "static-dispatch" version))
12808 (sha256
12809 (base32 "1lli9ar1xbnhkgb5d01rlw4pvfylg2arrw68np2c07fpkkafimg7"))))
12810 (build-system asdf-build-system/sbcl)
12811 (native-inputs
12812 `(("prove" ,sbcl-prove)))
12813 (inputs
12814 `(("agutil" ,sbcl-agutil)
12815 ("alexandria" ,sbcl-alexandria)
12816 ("anaphora" ,sbcl-anaphora)
12817 ("arrows" ,sbcl-arrows)
12818 ("cl-environments" ,sbcl-cl-environments)
12819 ("closer-mop" ,sbcl-closer-mop)
12820 ("iterate" ,sbcl-iterate)
12821 ("trivia" ,sbcl-trivia)))
12822 (home-page "https://github.com/alex-gutev/static-dispatch")
12823 (synopsis "Static generic function dispatch for Common Lisp")
12824 (description "Static dispatch is a Common Lisp library, inspired by
12825 @code{inlined-generic-function}, which allows standard Common Lisp generic
12826 function dispatch to be performed statically (at compile time) rather than
12827 dynamically (runtime). This is similar to what is known as \"overloading\" in
12828 languages such as C++ and Java.
12829
12830 The purpose of static dispatch is to provide an optimization in cases where
12831 the usual dynamic dispatch is too slow, and the dynamic features of generic
12832 functions, such as adding/removing methods at runtime are not required. An
12833 example of such a case is a generic equality comparison function. Currently
12834 generic functions are considered far too slow to implement generic arithmetic
12835 and comparison operations when used heavily in numeric code.")
12836 (license license:expat))))
12837
12838 (define-public cl-static-dispatch
12839 (sbcl-package->cl-source-package sbcl-static-dispatch))
12840
12841 (define-public ecl-static-dispatch
12842 (sbcl-package->ecl-package sbcl-static-dispatch))
12843
12844 (define-public sbcl-generic-cl
12845 ;; Latest commit includes a necessary fix for our Guix build.
12846 (let ((commit "8e5a81487ee3c13fe5ffdc8bdda161d476639535"))
12847 (package
12848 (name "sbcl-generic-cl")
12849 (version (git-version "0.7.1" "1" commit))
12850 (source
12851 (origin
12852 (method git-fetch)
12853 (uri (git-reference
12854 (url "https://github.com/alex-gutev/generic-cl")
12855 (commit commit)))
12856 (file-name (git-file-name name version))
12857 (sha256
12858 (base32
12859 "11w0g79s4wmc78vmfng437rmsgnp5qn246zcyr540fp5nw0ad6ix"))))
12860 (build-system asdf-build-system/sbcl)
12861 (inputs
12862 `(("agutil" ,sbcl-agutil)
12863 ("alexandria" ,sbcl-alexandria)
12864 ("anaphora" ,sbcl-anaphora)
12865 ("arrows" ,sbcl-arrows)
12866 ("cl-custom-hash-table" ,sbcl-custom-hash-table)
12867 ("static-dispatch" ,sbcl-static-dispatch)
12868 ("trivia" ,sbcl-trivia)))
12869 (native-inputs
12870 `(("prove" ,sbcl-prove)))
12871 (arguments
12872 ;; Tests fail because SBCL head size is not high enough.
12873 ;; https://github.com/alex-gutev/generic-cl/issues/6
12874 `(#:tests? #f))
12875 (home-page "https://alex-gutev.github.io/generic-cl/")
12876 (synopsis "Generic function interface to standard Common Lisp functions")
12877 (description "@code{generic-cl} provides a generic function wrapper over
12878 various functions in the Common Lisp standard, such as equality predicates and
12879 sequence operations. The goal of this wrapper is to provide a standard
12880 interface to common operations, such as testing for the equality of two
12881 objects, which is extensible to user-defined types.")
12882 (license license:expat))))
12883
12884 (define-public cl-generic-cl
12885 (sbcl-package->cl-source-package sbcl-generic-cl))
12886
12887 (define-public ecl-generic-cl
12888 (sbcl-package->ecl-package sbcl-generic-cl))
12889
12890 (define-public sbcl-defpackage-plus
12891 (let ((revision "0")
12892 (commit "5492e27e0bdb7b75fa5177ea4388519dc7a75f11"))
12893 (package
12894 (name "sbcl-defpackage-plus")
12895 (version (git-version "1.0" revision commit))
12896 (source
12897 (origin
12898 (method git-fetch)
12899 (uri (git-reference
12900 (url "https://github.com/rpav/defpackage-plus")
12901 (commit commit)))
12902 (file-name (git-file-name name version))
12903 (sha256
12904 (base32 "0lzljvf343xb6mlh6lni2i27hpm5qd376522mk6hr2pa20vd6rdq"))))
12905 (build-system asdf-build-system/sbcl)
12906 (inputs
12907 `(("alexandria" ,sbcl-alexandria)))
12908 (home-page "https://github.com/rpav/defpackage-plus")
12909 (synopsis "Extensible @code{DEFPACKAGE} variant with version support")
12910 (description
12911 "@code{DEFPACKAGE-PLUS} is an extensible @code{DEFPACKAGE} variant with
12912 predictable cross-platform behavior and some utilities useful for versioning.")
12913 (license license:bsd-2))))
12914
12915 (define-public cl-defpackage-plus
12916 (sbcl-package->cl-source-package sbcl-defpackage-plus))
12917
12918 (define-public ecl-defpackage-plus
12919 (sbcl-package->ecl-package sbcl-defpackage-plus))
12920
12921 (define-public sbcl-deploy
12922 (let ((commit "9b20e64fe924b9e31832304d87a3a72c383dc6d8")
12923 (revision "2"))
12924 (package
12925 (name "sbcl-deploy")
12926 (version (git-version "1.0.0" revision commit))
12927 (source
12928 (origin
12929 (method git-fetch)
12930 (uri (git-reference
12931 (url "https://github.com/Shinmera/deploy")
12932 (commit commit)))
12933 (file-name (git-file-name "deploy" version))
12934 (sha256
12935 (base32 "07pfkibaridihg8lbq2czwa4iqifqk24n6rx7bfnv7i49p1ppja1"))))
12936 (build-system asdf-build-system/sbcl)
12937 (arguments
12938 `(#:test-asd-file "deploy-test.asd"
12939 #:asd-files '("deploy.asd"
12940 "deploy-test.asd")))
12941 (native-inputs
12942 `(("cl-mpg123" ,sbcl-cl-mpg123)
12943 ("cl-out123" ,sbcl-cl-out123)))
12944 (inputs
12945 `(("cffi" ,sbcl-cffi)
12946 ("documentation-utils" ,sbcl-documentation-utils)
12947 ("trivial-features" ,sbcl-trivial-features)))
12948 (home-page "https://shinmera.github.io/deploy/")
12949 (synopsis "Deployment tools for standalone Common Lisp application")
12950 (description
12951 "This is a system to help you easily and quickly deploy standalone
12952 common lisp applications as binaries. Specifically it is geared towards
12953 applications with foreign library dependencies that run some kind of GUI.")
12954 (license license:artistic2.0))))
12955
12956 (define-public cl-deploy
12957 (sbcl-package->cl-source-package sbcl-deploy))
12958
12959 (define-public ecl-deploy
12960 (sbcl-package->ecl-package sbcl-deploy))
12961
12962 (define-public sbcl-deeds
12963 ;; taged branch is outdated
12964 (let ((revision "1")
12965 (commit "f5df54eac79b58a34030e0eb8acf3952c788410d"))
12966 (package
12967 (name "sbcl-deeds")
12968 (version (git-version "1.1.1" revision commit))
12969 (source
12970 (origin
12971 (method git-fetch)
12972 (uri (git-reference
12973 (url "https://github.com/Shinmera/deeds")
12974 (commit commit)))
12975 (file-name (git-file-name name version))
12976 (sha256
12977 (base32 "062cnb2dwli6pw3zvv46jfxyxdzcbzwsck5pa6nw03qf1j1hyg3k"))))
12978 (build-system asdf-build-system/sbcl)
12979 (inputs
12980 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12981 ("closer-mop" ,sbcl-closer-mop)
12982 ("form-fiddle" ,sbcl-form-fiddle)
12983 ("lambda-fiddle" ,sbcl-lambda-fiddle)))
12984 (home-page "https://github.com/Shinmera/deeds")
12985 (synopsis "Extensible Event Delivery System")
12986 (description
12987 "@code{deeds} allows for efficient event delivery to multiple handlers
12988 with a complex event filtering system.")
12989 (license license:zlib))))
12990
12991 (define-public cl-deeds
12992 (sbcl-package->cl-source-package sbcl-deeds))
12993
12994 (define-public ecl-deeds
12995 (sbcl-package->ecl-package sbcl-deeds))
12996
12997 (define-public sbcl-make-hash
12998 ;; no tagged branch
12999 (let ((revision "1")
13000 (commit "ae0909cd8e697520a1085fac6f54ac2b448ebd21"))
13001 (package
13002 (name "sbcl-make-hash")
13003 (version (git-version "1.0.2" revision commit))
13004 (source
13005 (origin
13006 (method git-fetch)
13007 (uri (git-reference
13008 (url "https://github.com/genovese/make-hash")
13009 (commit commit)))
13010 (file-name (git-file-name name version))
13011 (sha256
13012 (base32 "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8"))))
13013 (build-system asdf-build-system/sbcl)
13014 (home-page "https://github.com/genovese/make-hash")
13015 (synopsis "Common Lisp package for flexible hash table creation")
13016 (description
13017 "This is a Common Lisp package for hash table creation with flexible,
13018 extensible initializers.")
13019 (license license:bsd-3))))
13020
13021 (define-public cl-make-hash
13022 (sbcl-package->cl-source-package sbcl-make-hash))
13023
13024 (define-public ecl-make-hash
13025 (sbcl-package->ecl-package sbcl-make-hash))
13026
13027 (define-public sbcl-claw-support
13028 (package
13029 (name "sbcl-claw-support")
13030 (version "1.0.0")
13031 (source
13032 (origin
13033 (method git-fetch)
13034 (uri (git-reference
13035 (url "https://github.com/borodust/claw-support")
13036 (commit "9a15c8bed04585f45e6a461bcda1b475144dbd0b")))
13037 (file-name (git-file-name name version))
13038 (sha256
13039 (base32 "1my2ka7h72ipx5n3b465g6kjkasrhsvhqlijwcg6dhlzs5yygl23"))))
13040 (build-system asdf-build-system/sbcl)
13041 (home-page "https://github.com/borodust/claw-support")
13042 (synopsis "Support routines for claw")
13043 (description
13044 "This package provides support routines for the @code{claw} Common Lisp
13045 package.")
13046 (license license:expat)))
13047
13048 (define-public cl-claw-support
13049 (sbcl-package->cl-source-package sbcl-claw-support))
13050
13051 (define-public ecl-claw-support
13052 (sbcl-package->ecl-package sbcl-claw-support))
13053
13054 (define-public sbcl-claw
13055 (let ((revision "0")
13056 (commit "3cd4a96fca95eb9e8d5d069426694669f81b2250"))
13057 (package
13058 (name "sbcl-claw")
13059 (version (git-version "1.0" revision commit))
13060 (source
13061 (origin
13062 (method git-fetch)
13063 (uri (git-reference
13064 (url "https://github.com/borodust/claw")
13065 (commit commit)))
13066 (file-name (git-file-name "claw" version))
13067 (sha256
13068 (base32 "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d"))))
13069 (build-system asdf-build-system/sbcl)
13070 (inputs
13071 `(("alexandria" ,sbcl-alexandria)
13072 ("cffi" ,sbcl-cffi)
13073 ("cl-json" ,sbcl-cl-json)
13074 ("cl-ppcre" ,sbcl-cl-ppcre)
13075 ("claw-support" ,sbcl-claw-support)
13076 ("local-time" ,sbcl-local-time)
13077 ("trivial-features" ,sbcl-trivial-features)))
13078 (home-page "https://github.com/borodust/claw")
13079 (synopsis "Autowrapper for Common Lisp")
13080 (description
13081 "This is a Common Lisp autowrapping facility for quickly creating clean
13082 and lean bindings to C libraries.")
13083 (license license:bsd-2))))
13084
13085 (define-public cl-claw
13086 (sbcl-package->cl-source-package sbcl-claw))
13087
13088 (define-public ecl-claw
13089 (sbcl-package->ecl-package sbcl-claw))
13090
13091 (define-public sbcl-claw-utils
13092 (let ((revision "0")
13093 (commit "efe25016501973dc369f067a64c7d225802bc56f"))
13094 (package
13095 (name "sbcl-claw-utils")
13096 ;; version is not specified
13097 (version (git-version "0.0.0" revision commit))
13098 (source
13099 (origin
13100 (method git-fetch)
13101 (uri (git-reference
13102 (url "https://github.com/borodust/claw-utils")
13103 (commit commit)))
13104 (file-name (git-file-name "claw-utils" version))
13105 (sha256
13106 (base32 "01df3kyf2qs3czi332dnz2s35x2j0fq46vgmsw7wjrrvnqc22mk5"))))
13107 (build-system asdf-build-system/sbcl)
13108 (inputs
13109 `(("alexandria" ,sbcl-alexandria)
13110 ("cffi" ,sbcl-cffi)
13111 ("claw" ,sbcl-claw)))
13112 (home-page "https://github.com/borodust/claw-utils")
13113 (synopsis "Utilities for easier autowrapping")
13114 (description
13115 "This Common Lisp library contains various handy utilties to help
13116 autowrapping with @code{claw}.")
13117 (license license:expat))))
13118
13119 (define-public cl-claw-utils
13120 (sbcl-package->cl-source-package sbcl-claw-utils))
13121
13122 (define-public ecl-claw-utils
13123 (sbcl-package->ecl-package sbcl-claw-utils))
13124
13125 (define-public sbcl-array-operations
13126 (let ((commit "75cbc3b1adb2e3ce2109489753d0f290b071e81b")
13127 (revision "0"))
13128 (package
13129 (name "sbcl-array-operations")
13130 (version (git-version "0.0.0" revision commit))
13131 (source
13132 (origin
13133 (method git-fetch)
13134 (uri (git-reference
13135 (url "https://github.com/bendudson/array-operations")
13136 (commit commit)))
13137 (file-name (git-file-name "array-operations" version))
13138 (sha256
13139 (base32 "0ip49hhq32w80qsc7jmspyda5r2rsszvw0mk2r3341cld78sz9ya"))))
13140 (build-system asdf-build-system/sbcl)
13141 (native-inputs
13142 `(("alexandria" ,sbcl-alexandria)
13143 ("clunit2" ,sbcl-clunit2)))
13144 (inputs
13145 `(("let-plus" ,sbcl-let-plus)))
13146 (synopsis "Simple array operations library for Common Lisp")
13147 (description
13148 "This library is a collection of functions and macros for manipulating
13149 Common Lisp arrays and performing numerical calculations with them.")
13150 (home-page "https://github.com/bendudson/array-operations")
13151 (license license:expat))))
13152
13153 (define-public cl-array-operations
13154 (sbcl-package->cl-source-package sbcl-array-operations))
13155
13156 (define-public ecl-array-operations
13157 (sbcl-package->ecl-package sbcl-array-operations))
13158
13159 (define-public sbcl-clml
13160 (let ((commit "95505b54c8c7b4b27f500c3be97fa5732f4b51a8")
13161 (revision "0"))
13162 (package
13163 (name "sbcl-clml")
13164 (version (git-version "0.0.0" revision commit))
13165 (source
13166 (origin
13167 (method git-fetch)
13168 (uri (git-reference
13169 (url "https://github.com/mmaul/clml")
13170 (commit commit)))
13171 (file-name (git-file-name "clml" version))
13172 (sha256
13173 (base32 "006pii59nmpc61n7p7h8ha5vjg6x0dya327i58z0rnvxs249h345"))
13174 ;; TODO: Remove this when the patch has been merged upstream.
13175 (patches (search-patches "sbcl-clml-fix-types.patch"))))
13176 (build-system asdf-build-system/sbcl)
13177 (inputs
13178 `(("alexandia" ,sbcl-alexandria)
13179 ("array-operations" ,sbcl-array-operations)
13180 ("cl-fad" ,sbcl-cl-fad)
13181 ("cl-ppcre" ,sbcl-cl-ppcre)
13182 ("drakma" ,sbcl-drakma)
13183 ("introspect-environment" ,sbcl-introspect-environment)
13184 ("iterate" ,sbcl-iterate)
13185 ("lparallel" ,sbcl-lparallel)
13186 ("parse-number" ,sbcl-parse-number)
13187 ("split-sequence" ,sbcl-split-sequence)
13188 ("trivial-garbage" ,sbcl-trivial-garbage)))
13189 (synopsis "Common Lisp machine learning library")
13190 (description
13191 "CLML (Common Lisp Machine Learning) is a high performance and large
13192 scale statistical machine learning package")
13193 (home-page "https://mmaul.github.io/clml/")
13194 (license license:llgpl))))
13195
13196 (define-public cl-clml
13197 (sbcl-package->cl-source-package sbcl-clml))
13198
13199 (define-public sbcl-utm-ups
13200 (let ((commit "ffcb7b6d5a56fb7d4b2b95b83bbd28ffe6e6961f")
13201 (revision "0"))
13202 (package
13203 (name "sbcl-utm-ups")
13204 (version (git-version "1.1" revision commit))
13205 (source
13206 (origin
13207 (method git-fetch)
13208 (uri (git-reference
13209 (url "https://github.com/glv2/utm-ups")
13210 (commit commit)))
13211 (file-name (git-file-name "utm-ups" version))
13212 (sha256
13213 (base32 "1rvyh0srgd81kvbzmq4ysd9y6c0qdwh23naqxc9asw1vh7fq08x1"))))
13214 (build-system asdf-build-system/sbcl)
13215 (native-inputs
13216 `(("fiveam" ,sbcl-fiveam)))
13217 (synopsis
13218 "Convert coordinates between latitude/longitude and UTM or UPS")
13219 (description
13220 "This a Common Lisp library to convert geographic coordinates between
13221 latitude/longitude and UTM (Universal Transverse Mercator) or UPS (Universal
13222 Polar Stereographic).")
13223 (home-page "https://github.com/glv2/utm-ups")
13224 (license license:gpl3+))))
13225
13226 (define-public cl-utm-ups
13227 (sbcl-package->cl-source-package sbcl-utm-ups))
13228
13229 (define-public ecl-utm-ups
13230 (sbcl-package->ecl-package sbcl-utm-ups))
13231
13232 (define-public sbcl-mgrs
13233 (let ((commit "00455460407b7e5509d1be3da09bf6152956761f")
13234 (revision "0"))
13235 (package
13236 (name "sbcl-mgrs")
13237 (version (git-version "1.0" revision commit))
13238 (source
13239 (origin
13240 (method git-fetch)
13241 (uri (git-reference
13242 (url "https://github.com/glv2/mgrs")
13243 (commit commit)))
13244 (file-name (git-file-name "mgrs" version))
13245 (sha256
13246 (base32 "0ckvn4hg3wwivzavhfashb6fap4a1q10l8krhbng8bdb54ac10sz"))))
13247 (build-system asdf-build-system/sbcl)
13248 (native-inputs
13249 `(("fiveam" ,sbcl-fiveam)))
13250 (inputs
13251 `(("utm-ups" ,sbcl-utm-ups)))
13252 (synopsis
13253 "Convert coordinates between latitude/longitude and MGRS")
13254 (description
13255 "This a Common Lisp library to convert geographic coordinates between
13256 latitude/longitude and MGRS.")
13257 (home-page "https://github.com/glv2/mgrs")
13258 (license license:gpl3+))))
13259
13260 (define-public cl-mgrs
13261 (sbcl-package->cl-source-package sbcl-mgrs))
13262
13263 (define-public ecl-mgrs
13264 (sbcl-package->ecl-package sbcl-mgrs))
13265
13266 (define-public sbcl-maidenhead
13267 (let ((commit "b756d235c27b5d6798867aa240318af1a8f35d6d")
13268 (revision "0"))
13269 (package
13270 (name "sbcl-maidenhead")
13271 (version (git-version "1.0" revision commit))
13272 (source
13273 (origin
13274 (method git-fetch)
13275 (uri (git-reference
13276 (url "https://github.com/glv2/maidenhead")
13277 (commit commit)))
13278 (file-name (git-file-name "maidenhead" version))
13279 (sha256
13280 (base32 "02p990zprhjvifmsfk8yh3frvz6xyw26ikzxvzglqdixbal36nr3"))))
13281 (build-system asdf-build-system/sbcl)
13282 (native-inputs
13283 `(("fiveam" ,sbcl-fiveam)))
13284 (synopsis
13285 "Convert coordinates between latitude/longitude and Maidenhead")
13286 (description
13287 "This a Common Lisp library to convert geographic coordinates between
13288 latitude/longitude and Maidenhead locator system.")
13289 (home-page "https://github.com/glv2/maidenhead")
13290 (license license:gpl3+))))
13291
13292 (define-public cl-maidenhead
13293 (sbcl-package->cl-source-package sbcl-maidenhead))
13294
13295 (define-public ecl-maidenhead
13296 (sbcl-package->ecl-package sbcl-maidenhead))
13297
13298 (define-public sbcl-olc
13299 (let ((commit "517e27fa57d9a119b00a29c4b6b31e553deff309")
13300 (revision "0"))
13301 (package
13302 (name "sbcl-olc")
13303 (version (git-version "1.0" revision commit))
13304 (source
13305 (origin
13306 (method git-fetch)
13307 (uri (git-reference
13308 (url "https://github.com/glv2/olc")
13309 (commit commit)))
13310 (file-name (git-file-name "olc" version))
13311 (sha256
13312 (base32 "1lnfhp6z6kc8l605zp4siyjiw74y1h4bdq3jfizi084v505wxhgr"))))
13313 (build-system asdf-build-system/sbcl)
13314 (native-inputs
13315 `(("fiveam" ,sbcl-fiveam)))
13316 (synopsis
13317 "Convert coordinates between latitude/longitude and Open Location Code")
13318 (description
13319 "This a Common Lisp library to convert geographic coordinates between
13320 latitude/longitude and Open Location Code.")
13321 (home-page "https://github.com/glv2/olc")
13322 (license license:gpl3+))))
13323
13324 (define-public cl-olc
13325 (sbcl-package->cl-source-package sbcl-olc))
13326
13327 (define-public ecl-olc
13328 (sbcl-package->ecl-package sbcl-olc))
13329
13330 (define-public sbcl-regex
13331 (let ((commit "fbc9a9f313b9edc1788f33d4b23a29151635ae22"))
13332 (package
13333 (name "sbcl-regex")
13334 (version (git-version "1" "1" commit))
13335 (source
13336 (origin
13337 (method git-fetch)
13338 (uri (git-reference
13339 (url "https://github.com/michaelw/regex/")
13340 (commit commit)))
13341 (file-name (git-file-name name version))
13342 (sha256
13343 (base32 "0wq5wlafrxv13wg28hg5b10sc48b88swsvznpy2zg7x37m4nmm6a"))))
13344 (build-system asdf-build-system/sbcl)
13345 (home-page "https://github.com/michaelw/regex/")
13346 (synopsis "Regular expression engine for Common Lisp")
13347 (description
13348 "This Common Lisp package provides a regular expression engine.")
13349 (license license:bsd-2))))
13350
13351 (define-public cl-regex
13352 (sbcl-package->cl-source-package sbcl-regex))
13353
13354 (define-public ecl-regex
13355 (sbcl-package->ecl-package sbcl-regex))
13356
13357 (define-public sbcl-clawk
13358 (let ((commit "3a91634df686417114044a98c063cbe76bfac7b6"))
13359 (package
13360 (name "sbcl-clawk")
13361 (version (git-version "4" "1" commit))
13362 (source
13363 (origin
13364 (method git-fetch)
13365 (uri (git-reference
13366 (url "https://github.com/sharplispers/clawk")
13367 (commit commit)))
13368 (file-name (git-file-name name version))
13369 (sha256
13370 (base32 "1ph3xjqilvinvgr9q3w47zxqyz1sqnq030nlx7kgkkv8j3bnqk7a"))))
13371 (build-system asdf-build-system/sbcl)
13372 (inputs
13373 `(("sbcl-regex" ,sbcl-regex)))
13374 (home-page "https://github.com/sharplispers/clawk")
13375 (synopsis "Common Lisp AWK")
13376 (description
13377 "CLAWK is an AWK implementation embedded into Common Lisp.")
13378 (license license:bsd-2))))
13379
13380 (define-public cl-clawk
13381 (sbcl-package->cl-source-package sbcl-clawk))
13382
13383 (define-public ecl-clawk
13384 (sbcl-package->ecl-package sbcl-clawk))
13385
13386 (define-public sbcl-check-it
13387 (let ((commit "b79c9103665be3976915b56b570038f03486e62f"))
13388 (package
13389 (name "sbcl-check-it")
13390 (version (git-version "0.1.0" "1" commit))
13391 (source
13392 (origin
13393 (method git-fetch)
13394 (uri (git-reference
13395 (url "https://github.com/DalekBaldwin/check-it/")
13396 (commit commit)))
13397 (file-name (git-file-name name version))
13398 (sha256
13399 (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"))))
13400 (build-system asdf-build-system/sbcl)
13401 (inputs
13402 `(("alexandria" ,sbcl-alexandria)
13403 ("closer-mop" ,sbcl-closer-mop)
13404 ("optima" ,sbcl-optima)))
13405 (native-inputs
13406 `(("stefil" ,sbcl-stefil)))
13407 (home-page "https://github.com/arclanguage/Clamp")
13408 (synopsis "Randomized specification-based testing for Common Lisp")
13409 (description
13410 "This is a randomized property-based testing library for Common Lisp.
13411 Rather than being a full-fledged general test framework in its own right, it's
13412 designed to embed randomized tests in whatever framework you like.")
13413 (license license:llgpl))))
13414
13415 (define-public cl-check-it
13416 (sbcl-package->cl-source-package sbcl-check-it))
13417
13418 (define-public ecl-check-it
13419 (sbcl-package->ecl-package sbcl-check-it))
13420
13421 (define-public sbcl-clamp
13422 (let ((commit "02b8f3953e5753cc61a719807c82f3795cd28fe1"))
13423 (package
13424 (name "sbcl-clamp")
13425 (version (git-version "0.3" "1" commit))
13426 (source
13427 (origin
13428 (method git-fetch)
13429 (uri (git-reference
13430 (url "https://github.com/arclanguage/Clamp")
13431 (commit commit)))
13432 (file-name (git-file-name name version))
13433 (sha256
13434 (base32 "0fdr9nqfmmpxm6hvjdxi1jkclya9xlnrw1yc3cn1m4ww3f50p31m"))))
13435 (build-system asdf-build-system/sbcl)
13436 (inputs
13437 `(("iterate" ,sbcl-iterate)
13438 ("cl-syntax" ,sbcl-cl-syntax)))
13439 (native-inputs
13440 `(("cl-unit" ,sbcl-clunit)
13441 ("check-it" ,sbcl-check-it)))
13442 (arguments
13443 `(#:phases
13444 (modify-phases %standard-phases
13445 (add-after 'unpack 'fix-build
13446 (lambda _
13447 (substitute* "clamp.asd"
13448 (("\\(:file \"read\" :depends-on \\(\"aliases\"\\)\\)")
13449 "(:file \"read\" :depends-on (\"aliases\" \"base\"))"))
13450 #t)))))
13451 (home-page "https://github.com/arclanguage/Clamp")
13452 (synopsis "Common Lisp with Arc macros and procedures")
13453 (description
13454 "Clamp is an attempt to bring the powerful, but verbose, language of
13455 Common Lisp up to the terseness of Arc.
13456
13457 There are two parts to Clamp. There is the core of Clamp, which implements
13458 the utilities of Arc that are easily converted from Arc to Common Lisp. The
13459 other part is the \"experimental\" part. It contains features of Arc that are
13460 not so easy to copy (ssyntax, argument destructuring, etc.).")
13461 (license license:artistic2.0))))
13462
13463 (define-public cl-clamp
13464 (sbcl-package->cl-source-package sbcl-clamp))
13465
13466 (define-public ecl-clamp
13467 (sbcl-package->ecl-package sbcl-clamp))
13468
13469 (define-public sbcl-trivial-shell
13470 (let ((commit "e02ec191b34b52deca5d1c4ee99d4fa13b8772e0"))
13471 (package
13472 (name "sbcl-trivial-shell")
13473 (version (git-version "0.2.0" "1" commit))
13474 (source
13475 (origin
13476 (method git-fetch)
13477 (uri (git-reference
13478 (url "https://github.com/gwkkwg/trivial-shell")
13479 (commit commit)))
13480 (file-name (git-file-name name version))
13481 (sha256
13482 (base32 "08mpkl5ij5sjfsyn8pq2kvsvpvyvr7ha1r8g1224fa667b8k2q85"))))
13483 (build-system asdf-build-system/sbcl)
13484 (native-inputs
13485 `(("lift" ,sbcl-lift)))
13486 (home-page "http://common-lisp.net/project/trivial-shell/")
13487 (synopsis "Common Lisp access to the shell")
13488 (description
13489 "A simple Common-Lisp interface to the underlying operating system.
13490 It's independent of the implementation and operating system.")
13491 (license license:expat))))
13492
13493 (define-public cl-trivial-shell
13494 (sbcl-package->cl-source-package sbcl-trivial-shell))
13495
13496 (define-public ecl-trivial-shell
13497 (sbcl-package->ecl-package sbcl-trivial-shell))
13498
13499 (define-public sbcl-clesh
13500 (let ((commit "44e96e04a72e5bc006dc4eb02ce8962348dd4a11"))
13501 (package
13502 (name "sbcl-clesh")
13503 (version (git-version "0.0.0" "1" commit))
13504 (source
13505 (origin
13506 (method git-fetch)
13507 (uri (git-reference
13508 (url "https://github.com/Neronus/Clesh")
13509 (commit commit)))
13510 (file-name (git-file-name name version))
13511 (sha256
13512 (base32 "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318"))))
13513 (build-system asdf-build-system/sbcl)
13514 (inputs
13515 `(("trivial-shell" ,sbcl-trivial-shell)
13516 ("named-readtables" ,sbcl-named-readtables)))
13517 (home-page "https://github.com/Neronus/Clesh")
13518 (synopsis "Embed shell code in Common Lisp")
13519 (description
13520 "This is a very short and simple program, written in Common Lisp, that
13521 extends Common Lisp to embed shell code in a manner similar to Perl's
13522 backtick. It has been forked from SHELISP.")
13523 (license license:bsd-2))))
13524
13525 (define-public cl-clesh
13526 (sbcl-package->cl-source-package sbcl-clesh))
13527
13528 (define-public ecl-clesh
13529 (sbcl-package->ecl-package sbcl-clesh))
13530
13531 (define-public sbcl-trivial-channels
13532 (let ((commit "e2370118d8983ba69c0360a7695f8f2e2fd6a8a6")
13533 (revision "1"))
13534 (package
13535 (name "sbcl-trivial-channels")
13536 (version (git-version "1.0" revision commit))
13537 (source
13538 (origin
13539 (method git-fetch)
13540 (uri (git-reference
13541 (url "https://github.com/rpav/trivial-channels")
13542 (commit commit)))
13543 (file-name (git-file-name "trivial-channels" version))
13544 (sha256
13545 (base32 "04wnxcgk40x8p0gxnz9arv1a5wasdqrdxa8c4p5v7r2mycfps6jj"))))
13546 (build-system asdf-build-system/sbcl)
13547 (inputs
13548 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13549 ("trivial-timeout" ,sbcl-trivial-timeout)))
13550 (home-page "https://github.com/rpav/trivial-channels")
13551 (synopsis "Common Lisp simple thread-safe channels with timeout")
13552 (description
13553 "It's very basic implementation of channels and queue for Common Lisp.")
13554 (license license:bsd-2))))
13555
13556 (define-public ecl-trivial-channels
13557 (sbcl-package->ecl-package sbcl-trivial-channels))
13558
13559 (define-public cl-trivial-channels
13560 (sbcl-package->cl-source-package sbcl-trivial-channels))
13561
13562 (define-public sbcl-trivial-download
13563 (let ((commit "d2472061d86b1cf3d32f388daacd4e32a13af699"))
13564 (package
13565 (name "sbcl-trivial-download")
13566 (version (git-version "0.3" "1" commit))
13567 (source
13568 (origin
13569 (method git-fetch)
13570 (uri (git-reference
13571 (url "https://github.com/eudoxia0/trivial-download/")
13572 (commit commit)))
13573 (file-name (git-file-name name version))
13574 (sha256
13575 (base32 "06f46zr3gp3wlm2kgxna24qd2gpr1v89x9fynh1x5vrw6c6hqjcv"))))
13576 (build-system asdf-build-system/sbcl)
13577 (inputs
13578 `(("drakma" ,sbcl-drakma)))
13579 (home-page "https://github.com/eudoxia0/trivial-download/")
13580 (synopsis "Download files from Common Lisp")
13581 (description
13582 "@code{trivial-download} allows you to download files from the Internet
13583 from Common Lisp. It provides a progress bar.")
13584 (license license:bsd-2))))
13585
13586 (define-public cl-trivial-download
13587 (sbcl-package->cl-source-package sbcl-trivial-download))
13588
13589 (define-public ecl-trivial-download
13590 (sbcl-package->ecl-package sbcl-trivial-download))
13591
13592 (define-public sbcl-gtwiwtg
13593 (package
13594 (name "sbcl-gtwiwtg")
13595 (version "0.1.1")
13596 (source
13597 (origin
13598 (method git-fetch)
13599 (uri (git-reference
13600 (url "https://github.com/cbeo/gtwiwtg/")
13601 (commit version)))
13602 (file-name (git-file-name name version))
13603 (sha256
13604 (base32 "0lkraw0dwh4is4x5sp5rjrw6f93m0gr9849abrbi12s25ws7jbw4"))))
13605 (build-system asdf-build-system/sbcl)
13606 (native-inputs
13607 `(("osicat" ,sbcl-osicat)
13608 ("prove" ,sbcl-prove)))
13609 (home-page "https://github.com/cbeo/gtwiwtg/")
13610 (synopsis "Naive generators for Common Lisp")
13611 (description
13612 "The GTWIWTG library (Generators The Way I Want Them Generated --
13613 technically not generators, but iterators) is meant to be small, explorable,
13614 and understandable.")
13615 (license license:gpl3)))
13616
13617 (define-public cl-gtwiwtg
13618 (sbcl-package->cl-source-package sbcl-gtwiwtg))
13619
13620 (define-public ecl-gtwiwtg
13621 (sbcl-package->ecl-package sbcl-gtwiwtg))
13622
13623 (define-public sbcl-cl-progress-bar
13624 (let ((commit "9374170858663c8fe829e9fb5a29bd2cb48d95ae"))
13625 (package
13626 (name "sbcl-cl-progress-bar")
13627 (version (git-version "0.0.0" "1" commit))
13628 (source
13629 (origin
13630 (method git-fetch)
13631 (uri (git-reference
13632 (url "https://github.com/sirherrbatka/cl-progress-bar/")
13633 (commit commit)))
13634 (file-name (git-file-name name version))
13635 (sha256
13636 (base32 "1ldb4qhmx431n3lsq71ynwb9ybazbfqd55icjbhi06mj52ngndir"))))
13637 (build-system asdf-build-system/sbcl)
13638 (inputs
13639 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13640 ("documentation-utils-extensions" ,sbcl-documentation-utils-extensions)))
13641 (home-page "https://github.com/sirherrbatka/cl-progress-bar/")
13642 (synopsis "Progress bars in Common Lisp")
13643 (description
13644 "This library provides almost the same code as used inside Quicklisp
13645 for drawning progress bars")
13646 (license license:expat))))
13647
13648 (define-public cl-progress-bar
13649 (sbcl-package->cl-source-package sbcl-cl-progress-bar))
13650
13651 (define-public ecl-cl-progress-bar
13652 (sbcl-package->ecl-package sbcl-cl-progress-bar))
13653
13654 (define-public sbcl-repl-utilities
13655 (let ((commit "7e300df663177ea4581f4e7e9c601377881dd986"))
13656 (package
13657 (name "sbcl-repl-utilities")
13658 (version (git-version "0.0.0" "1" commit))
13659 (source
13660 (origin
13661 (method git-fetch)
13662 (uri (git-reference
13663 (url "https://github.com/m-n/repl-utilities/")
13664 (commit commit)))
13665 (file-name (git-file-name name version))
13666 (sha256
13667 (base32 "1hh56pq5nw3l4b83dzlyss69f06r038byj2cnjwvci4hfjhdfcc3"))))
13668 (build-system asdf-build-system/sbcl)
13669 (home-page "https://github.com/m-n/repl-utilities")
13670 (synopsis "Ease common tasks at the Common Lisp REPL")
13671 (description
13672 "@code{repl-utilities} is a set of utilities which ease life at the
13673 REPL. It includes three sorts of features: introspective procedures,
13674 miscellaneous utility functions, and, pulling them together, methods to
13675 conveniently keep these symbols and optionally additional symbols available in
13676 whichever package you switch to.")
13677 (license license:bsd-2))))
13678
13679 (define-public cl-repl-utilities
13680 (sbcl-package->cl-source-package sbcl-repl-utilities))
13681
13682 (define-public ecl-repl-utilities
13683 (sbcl-package->ecl-package sbcl-repl-utilities))
13684
13685 (define-public sbcl-supertrace
13686 (let ((commit "66d22c3ff131ecd1c8048dfced1d62ed6024ecb0"))
13687 (package
13688 (name "sbcl-supertrace")
13689 (version (git-version "0.1.0" "1" commit))
13690 (source
13691 (origin
13692 (method git-fetch)
13693 (uri (git-reference
13694 (url "https://github.com/fukamachi/supertrace")
13695 (commit commit)))
13696 (file-name (git-file-name name version))
13697 (sha256
13698 (base32 "0n369n6b7y1m49biccnnr7svymjdsk8sksrkqrn3mj21vgv7s7bg"))))
13699 (build-system asdf-build-system/sbcl)
13700 (native-inputs
13701 `(("cffi-grovel" ,sbcl-cffi)
13702 ("rove" ,sbcl-rove)
13703 ("cl-ppcre" ,sbcl-cl-ppcre)
13704 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
13705 (inputs
13706 `(("cffi" ,sbcl-cffi)))
13707 (home-page "https://github.com/fukamachi/supertrace")
13708 (synopsis "Improved Common Lisp tracing for debugging and profiling")
13709 (description
13710 "Supertrace provides a superior Common Lisp @code{trace} functionality
13711 for debugging and profiling real world applications.")
13712 (license license:bsd-2))))
13713
13714 (define-public cl-supertrace
13715 (sbcl-package->cl-source-package sbcl-supertrace))
13716
13717 (define-public ecl-supertrace
13718 (sbcl-package->ecl-package sbcl-supertrace))
13719
13720 (define-public sbcl-trivial-benchmark
13721 (let ((commit "42d76733dd2e873471c6f1e27d39113293f7dd5c"))
13722 (package
13723 (name "sbcl-trivial-benchmark")
13724 (version (git-version "2.0.0" "1" commit))
13725 (source
13726 (origin
13727 (method git-fetch)
13728 (uri (git-reference
13729 (url "https://github.com/Shinmera/trivial-benchmark/")
13730 (commit commit)))
13731 (file-name (git-file-name name version))
13732 (sha256
13733 (base32 "0fbzqbpm2ixz85555krl36kbbbjyn699vdj6k383khi3g9y629fa"))))
13734 (build-system asdf-build-system/sbcl)
13735 (inputs
13736 `(("alexandria" ,sbcl-alexandria)))
13737 (home-page "http://shinmera.github.io/trivial-benchmark/")
13738 (synopsis "Easy to use benchmarking system for Common Lisp")
13739 (description
13740 "Trivial-Benchmark runs a block of code many times and outputs some
13741 statistical data for it. On SBCL this includes the data from @code{time}, for
13742 all other implementations just the @code{real-time} and @code{run-time} data.
13743 However, you can extend the system by adding your own @code{metrics} to it, or
13744 even by adding additional statistical @code{compute}ations. ")
13745 (license license:zlib))))
13746
13747 (define-public cl-trivial-benchmark
13748 (sbcl-package->cl-source-package sbcl-trivial-benchmark))
13749
13750 (define-public ecl-trivial-benchmark
13751 (sbcl-package->ecl-package sbcl-trivial-benchmark))
13752
13753 (define-public sbcl-glyphs
13754 (let ((commit "1ff5714e8c1dca327bc604dfe3e3d1f4b7755373"))
13755 (package
13756 (name "sbcl-glyphs")
13757 (version (git-version "0.0.0" "1" commit))
13758 (source
13759 (origin
13760 (method git-fetch)
13761 (uri (git-reference
13762 (url "https://github.com/ahungry/glyphs/")
13763 (commit commit)))
13764 (file-name (git-file-name name version))
13765 (sha256
13766 (base32 "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf"))))
13767 (build-system asdf-build-system/sbcl)
13768 (inputs
13769 `(("cl-ppcre" ,sbcl-cl-ppcre)
13770 ("parenscript" ,sbcl-parenscript)
13771 ("named-readtables" ,sbcl-named-readtables)))
13772 (home-page "https://github.com/ahungry/glyphs/")
13773 (synopsis "Reduce Common Lisp verbosity")
13774 (description
13775 "This library is a little experiment in reducing verbosity in Common
13776 Lisp, inspired by BODOL (@url{https://github.com/bodil/BODOL}).")
13777 (license license:gpl3))))
13778
13779 (define-public cl-glyphs
13780 (sbcl-package->cl-source-package sbcl-glyphs))
13781
13782 (define-public ecl-glyphs
13783 (sbcl-package->ecl-package sbcl-glyphs))
13784
13785 (define-public sbcl-zs3
13786 (package
13787 (name "sbcl-zs3")
13788 (version "1.3.3")
13789 (source
13790 (origin
13791 (method git-fetch)
13792 (uri
13793 (git-reference
13794 (url "https://github.com/xach/zs3")
13795 (commit (string-append "release-" version))))
13796 (file-name (git-file-name "zs3" version))
13797 (sha256
13798 (base32 "186v95wgsj2hkxdw2jl9x1w4fddjclp7arp0rrd9vf5ly8h8sbf3"))))
13799 (build-system asdf-build-system/sbcl)
13800 (inputs
13801 `(("drakma" ,sbcl-drakma)
13802 ("alexandria" ,sbcl-alexandria)
13803 ("cxml" ,sbcl-cxml)
13804 ("ironclad" ,sbcl-ironclad)
13805 ("puri" ,sbcl-puri)
13806 ("cl-base64" ,sbcl-cl-base64)))
13807 (synopsis "Work with Amazon S3 and Amazon CloudFront from Common Lisp")
13808 (description "This is ZS3, a library for working with Amazon's Simple Storage
13809 Service (S3) and CloudFront service from Common Lisp.")
13810 (home-page "https://github.com/xach/zs3")
13811 (license license:bsd-2)))
13812
13813 (define-public cl-zs3
13814 (sbcl-package->cl-source-package sbcl-zs3))
13815
13816 (define-public ecl-zs3
13817 (sbcl-package->ecl-package sbcl-zs3))
13818
13819 (define-public sbcl-simple-neural-network
13820 (package
13821 (name "sbcl-simple-neural-network")
13822 (version "3.1")
13823 (source
13824 (origin
13825 (method git-fetch)
13826 (uri (git-reference
13827 (url "https://github.com/glv2/simple-neural-network")
13828 (commit (string-append "v" version))))
13829 (file-name (git-file-name "simple-neural-network" version))
13830 (sha256
13831 (base32 "1jj1c90fr5clwka0jv32hv6xp1bkdlpa6x5jh19an13rhx8ll4zr"))))
13832 (build-system asdf-build-system/sbcl)
13833 (native-inputs
13834 `(("chipz" ,sbcl-chipz)
13835 ("fiveam" ,sbcl-fiveam)))
13836 (inputs
13837 `(("cl-store" ,sbcl-cl-store)
13838 ("lparallel" ,sbcl-lparallel)))
13839 (arguments
13840 `(#:phases
13841 (modify-phases %standard-phases
13842 (add-after 'check 'remove-test-data
13843 (lambda* (#:key outputs #:allow-other-keys)
13844 (let ((out (assoc-ref outputs "out")))
13845 (for-each delete-file (find-files out "\\.gz$"))))))))
13846 (synopsis "Simple neural network in Common Lisp")
13847 (description
13848 "@code{simple-neural-network} is a Common Lisp library for creating,
13849 training and using basic neural networks. The networks created by this
13850 library are feedforward neural networks trained using backpropagation.")
13851 (home-page "https://github.com/glv2/simple-neural-network")
13852 (license license:gpl3+)))
13853
13854 (define-public cl-simple-neural-network
13855 (sbcl-package->cl-source-package sbcl-simple-neural-network))
13856
13857 (define-public ecl-simple-neural-network
13858 (sbcl-package->ecl-package sbcl-simple-neural-network))
13859
13860 (define-public sbcl-zstd
13861 (let ((commit "d144582c581aaa52bac24d6686af27fa3e781e06")
13862 (revision "1"))
13863 (package
13864 (name "sbcl-zstd")
13865 (version (git-version "1.0" revision commit))
13866 (source
13867 (origin
13868 (method git-fetch)
13869 (uri (git-reference
13870 (url "https://github.com/glv2/cl-zstd")
13871 (commit commit)))
13872 (file-name (git-file-name "cl-zstd" version))
13873 (sha256
13874 (base32 "1774jy8hzbi6nih3sq6vchk66f7g8w86dwgpbvljyfzcnkcaz6ql"))))
13875 (build-system asdf-build-system/sbcl)
13876 (native-inputs
13877 `(("fiveam" ,sbcl-fiveam)))
13878 (inputs
13879 `(("cffi" ,sbcl-cffi)
13880 ("cl-octet-streams" ,sbcl-cl-octet-streams)
13881 ("zstd-lib" ,zstd "lib")))
13882 (arguments
13883 '(#:phases
13884 (modify-phases %standard-phases
13885 (add-after 'unpack 'fix-paths
13886 (lambda* (#:key inputs #:allow-other-keys)
13887 (substitute* "src/libzstd.lisp"
13888 (("libzstd\\.so")
13889 (string-append (assoc-ref inputs "zstd-lib")
13890 "/lib/libzstd.so")))
13891 #t)))))
13892 (synopsis "Common Lisp library for Zstandard (de)compression")
13893 (description
13894 "This Common Lisp library provides functions for Zstandard
13895 compression/decompression using bindings to the libzstd C library.")
13896 (home-page "https://github.com/glv2/cl-zstd")
13897 (license license:gpl3+))))
13898
13899 (define-public cl-zstd
13900 (sbcl-package->cl-source-package sbcl-zstd))
13901
13902 (define-public ecl-zstd
13903 (sbcl-package->ecl-package sbcl-zstd))
13904
13905 (define-public sbcl-agnostic-lizard
13906 (let ((commit "fe3a73719f05901c8819f8995a3ebae738257952")
13907 (revision "1"))
13908 (package
13909 (name "sbcl-agnostic-lizard")
13910 (version (git-version "0.0.0" revision commit))
13911 (source
13912 (origin
13913 (method git-fetch)
13914 (uri (git-reference
13915 (url "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
13916 (commit commit)))
13917 (file-name (git-file-name name version))
13918 (sha256
13919 (base32 "0ax78y8w4zlp5dcwyhz2nq7j3shi49qn31dkfg8lv2jlg7mkwh2d"))))
13920 (build-system asdf-build-system/sbcl)
13921 (synopsis "Almost correct portable code walker for Common Lisp")
13922 (description
13923 "Agnostic Lizard is a portable implementation of a code walker and in
13924 particular of the macroexpand-all function (and macro) that makes a best
13925 effort to be correct while not expecting much beyond what the Common Lisp
13926 standard requires.
13927
13928 It aims to be implementation-agnostic and to climb the syntax trees.")
13929 (home-page "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
13930 (license license:gpl3+))))
13931
13932 (define-public cl-agnostic-lizard
13933 (sbcl-package->cl-source-package sbcl-agnostic-lizard))
13934
13935 (define-public ecl-agnostic-lizard
13936 (sbcl-package->ecl-package sbcl-agnostic-lizard))
13937
13938 (define-public sbcl-dynamic-classes
13939 (package
13940 (name "sbcl-dynamic-classes")
13941 (version "1.0.2")
13942 (source
13943 (origin
13944 (method git-fetch)
13945 (uri (git-reference
13946 (url "https://github.com/gwkkwg/dynamic-classes")
13947 (commit (string-append "version-" version))))
13948 (file-name (git-file-name "dynamic-classes" version))
13949 (sha256
13950 (base32 "1z3ag6w4ff0v6715xa9zhvwjqnp4i6zrjfmxdz8m115sklbwgm6c"))))
13951 (build-system asdf-build-system/sbcl)
13952 (inputs
13953 `(("metatilities-base" ,sbcl-metatilities-base)))
13954 (arguments
13955 ;; NOTE: (Sharlatan-20210106222900+0000) Circular dependencies and failing
13956 ;; test suites. lift-standard.config contains referances to deprecated
13957 ;; functionality.
13958 `(#:tests? #f))
13959 (home-page "https://common-lisp.net/project/dynamic-classes/")
13960 (synopsis "Dynamic class definition for Common Lisp")
13961 (description "Dynamic-Classes helps to ease the prototyping process by
13962 bringing dynamism to class definition.")
13963 (license license:expat)))
13964
13965 (define-public ecl-dynamic-classes
13966 (sbcl-package->ecl-package sbcl-dynamic-classes))
13967
13968 (define-public cl-dynamic-classes
13969 (sbcl-package->cl-source-package sbcl-dynamic-classes))
13970
13971 (define-public sbcl-cl-markdown
13972 ;; NOTE: (Sharlatan-20210106214629+0000) latest version tag
13973 ;; "version-0.10.6_version-0.10.6" is failing to build due to missing system
13974 ;; #:container-dynamic-classes
13975 (package
13976 (name "sbcl-cl-markdown")
13977 (version "0.10.4")
13978 (source
13979 (origin
13980 (method git-fetch)
13981 (uri (git-reference
13982 (url "https://github.com/gwkkwg/cl-markdown")
13983 (commit (string-append "version-" version))))
13984 (file-name (git-file-name "cl-markdown" version))
13985 (sha256
13986 (base32 "1wdjbdd1zyskxf7zlilcp6fmwkivybj0wjp64vvzb265d5xi7p8p"))))
13987 (build-system asdf-build-system/sbcl)
13988 (inputs
13989 `(("anaphora" ,sbcl-anaphora)
13990 ("cl-containers" ,sbcl-cl-containers)
13991 ("cl-ppcre" ,sbcl-cl-ppcre)
13992 ("dynamic-classes" ,sbcl-dynamic-classes)
13993 ("metabang-bind" ,sbcl-metabang-bind)
13994 ("metatilities-base" ,sbcl-metatilities-base)))
13995 (arguments
13996 ;; NOTE: (Sharlatan-20210107213629+0000) Tests depend on too many not
13997 ;; available systems, which themself are abandoned.
13998 `(#:tests? #f))
13999 (home-page "https://common-lisp.net/project/cl-markdown/")
14000 (synopsis "Common Lisp rewrite of Markdown")
14001 (description
14002 "This is an implementation of a Markdown parser in Common Lisp.")
14003 (license license:expat)))
14004
14005 (define-public ecl-cl-markdown
14006 (sbcl-package->ecl-package sbcl-cl-markdown))
14007
14008 (define-public cl-markdown
14009 (sbcl-package->cl-source-package sbcl-cl-markdown))
14010
14011 (define-public sbcl-magicffi
14012 (let ((commit "d88f2f280c31f639e4e05be75215d8a8dce6aef2"))
14013 (package
14014 (name "sbcl-magicffi")
14015 (version (git-version "0.0.0" "1" commit))
14016 (source
14017 (origin
14018 (method git-fetch)
14019 (uri (git-reference
14020 (url "https://github.com/dochang/magicffi/")
14021 (commit commit)))
14022 (file-name (git-file-name name version))
14023 (sha256
14024 (base32 "0p6ysa92fk34bhxpw7bycbfgw150fv11z9x8jr9xb4lh8cm2hvp6"))))
14025 (build-system asdf-build-system/sbcl)
14026 (native-inputs
14027 `(("alexandria" ,sbcl-alexandria)))
14028 (inputs
14029 `(("cffi" ,sbcl-cffi)
14030 ("ppcre" ,sbcl-cl-ppcre)
14031 ("libmagic" ,file)))
14032 (arguments
14033 `(#:phases
14034 (modify-phases %standard-phases
14035 (add-after 'unpack 'fix-paths
14036 (lambda* (#:key inputs #:allow-other-keys)
14037 (let ((magic (assoc-ref inputs "libmagic")))
14038 (substitute* "grovel.lisp"
14039 (("/usr/include/magic.h")
14040 (string-append magic "/include/magic.h")))
14041 (substitute* "api.lisp"
14042 ((":default \"libmagic\"" all)
14043 (string-append ":default \"" magic "/lib/libmagic\"")))))))))
14044 (home-page "https://common-lisp.net/project/magicffi/")
14045 (synopsis "Common Lisp interface to libmagic based on CFFI")
14046 (description
14047 "MAGICFFI is a Common Lisp CFFI interface to libmagic(3), the file type
14048 determination library using @emph{magic} numbers.")
14049 (license license:bsd-2))))
14050
14051 (define-public ecl-magicffi
14052 (sbcl-package->ecl-package sbcl-magicffi))
14053
14054 (define-public cl-magicffi
14055 (sbcl-package->cl-source-package sbcl-magicffi))
14056
14057 (define-public sbcl-shlex
14058 (let ((commit "c5616dffca0d4d8ddbc1cd6f37a96d88477b2740"))
14059 (package
14060 (name "sbcl-shlex")
14061 (version (git-version "0.0.0" "1" commit))
14062 (source
14063 (origin
14064 (method git-fetch)
14065 (uri (git-reference
14066 (url "https://github.com/ruricolist/cl-shlex")
14067 (commit commit)))
14068 (file-name (git-file-name name version))
14069 (sha256
14070 (base32 "1nas024n4wv319bf40aal96g72bgi9nkapj2chywj2cc6r8hzkfg"))))
14071 (build-system asdf-build-system/sbcl)
14072 (inputs
14073 `(("alexandria" ,sbcl-alexandria)
14074 ("serapeum" ,sbcl-serapeum)
14075 ("ppcre" ,sbcl-cl-ppcre)
14076 ("unicode" ,sbcl-cl-unicode)))
14077 (home-page "https://github.com/ruricolist/cl-shlex")
14078 (synopsis "Common Lisp lexical analyzer for shell-like syntaxes")
14079 (description
14080 "This library contains a lexer for syntaxes that use shell-like rules
14081 for quoting and commenting. It is a port of the @code{shlex} module from Python’s
14082 standard library.")
14083 (license license:expat))))
14084
14085 (define-public ecl-shlex
14086 (sbcl-package->ecl-package sbcl-shlex))
14087
14088 (define-public cl-shlex
14089 (sbcl-package->cl-source-package sbcl-shlex))
14090
14091 (define-public sbcl-cmd
14092 (let ((commit "bc5a3bee8f22917126e4c3d05b33f766e562dbd8"))
14093 (package
14094 (name "sbcl-cmd")
14095 (version (git-version "0.0.1" "3" commit))
14096 (source
14097 (origin
14098 (method git-fetch)
14099 (uri (git-reference
14100 (url "https://github.com/ruricolist/cmd/")
14101 (commit commit)))
14102 (file-name (git-file-name name version))
14103 (sha256
14104 (base32 "1sjlabrknw1kjb2y89vssjhcqh3slgly8wnr3152zgis8lsj2yc7"))))
14105 (build-system asdf-build-system/sbcl)
14106 (inputs
14107 `(("alexandria" ,sbcl-alexandria)
14108 ("coreutils" ,coreutils)
14109 ("procps" ,procps)
14110 ("serapeum" ,sbcl-serapeum)
14111 ("shlex" ,sbcl-shlex)
14112 ("trivia" ,sbcl-trivia)))
14113 (arguments
14114 `(#:phases
14115 (modify-phases %standard-phases
14116 (add-after 'unpack 'fix-paths
14117 (lambda* (#:key inputs #:allow-other-keys)
14118 (let ((bin (string-append (assoc-ref inputs "coreutils") "/bin"))
14119 (ps-bin (string-append (assoc-ref inputs "procps") "/bin")))
14120 (substitute* "cmd.lisp"
14121 (("\\(def \\+env\\+ \"env\"\\)")
14122 (format #f "(def +env+ \"~a/env\")" bin))
14123 (("\\(def \\+kill\\+ \"kill\"\\)")
14124 (format #f "(def +kill+ \"~a/kill\")" bin))
14125 (("\\(def \\+ps\\+ \"ps\"\\)")
14126 (format #f "(def +ps+ \"~a/ps\")" ps-bin))
14127 (("\\(def \\+pwd\\+ \"pwd\"\\)")
14128 (format #f "(def +pwd+ \"~a/pwd\")" bin))
14129 (("\\(def \\+sh\\+ \"/bin/sh\"\\)")
14130 (format #f "(def +sh+ \"~a\")" (which "sh")))
14131 (("\\(def \\+tr\\+ \"tr\"\\)")
14132 (format #f "(def +tr+ \"~a/tr\")" bin)))))))))
14133 (home-page "https://github.com/ruricolist/cmd")
14134 (synopsis "Conveniently run external programs from Common Lisp")
14135 (description
14136 "A utility for running external programs, built on UIOP.
14137 Cmd is designed to be natural to use, protect against shell interpolation and
14138 be usable from multi-threaded programs.")
14139 (license license:expat))))
14140
14141 (define-public ecl-cmd
14142 (sbcl-package->ecl-package sbcl-cmd))
14143
14144 (define-public cl-cmd
14145 (sbcl-package->cl-source-package sbcl-cmd))
14146
14147 (define-public sbcl-ppath
14148 (let ((commit "eb1a8173b4d1d691ea9a7699412123462f58c3ce"))
14149 (package
14150 (name "sbcl-ppath")
14151 (version (git-version "0.1" "1" commit))
14152 (source
14153 (origin
14154 (method git-fetch)
14155 (uri (git-reference
14156 (url "https://github.com/fourier/ppath/")
14157 (commit commit)))
14158 (file-name (git-file-name name commit))
14159 (sha256
14160 (base32 "1c46q9lmzqv14z80d3fwdawgn3pn4922x31fyqvsvbcjm4hd16fb"))))
14161 (build-system asdf-build-system/sbcl)
14162 (inputs
14163 `(("alexandria" ,sbcl-alexandria)
14164 ("cffi" ,sbcl-cffi)
14165 ("osicat" ,sbcl-osicat)
14166 ("ppcre" ,sbcl-cl-ppcre)
14167 ("split-sequence" ,sbcl-split-sequence)
14168 ("trivial-features" ,sbcl-trivial-features)))
14169 (native-inputs
14170 `(("cl-fad" ,sbcl-cl-fad)
14171 ("prove" ,sbcl-prove)))
14172 (home-page "https://github.com/fourier/ppath")
14173 (synopsis "Common Lisp's implementation of the Python's os.path module")
14174 (description
14175 "This library is a path strings manipulation library inspired by
14176 Python's @code{os.path}. All functionality from @code{os.path} is supported on
14177 major operation systems.
14178
14179 The philosophy behind is to use simple strings and \"dumb\" string
14180 manipulation functions to handle paths and filenames. Where possible the
14181 corresponding OS system functions are called.")
14182 (license license:bsd-2))))
14183
14184 (define-public ecl-ppath
14185 (sbcl-package->ecl-package sbcl-ppath))
14186
14187 (define-public cl-ppath
14188 (sbcl-package->cl-source-package sbcl-ppath))
14189
14190 (define-public sbcl-trivial-escapes
14191 (let ((commit "1eca78da2078495d09893be58c28b3aa7b8cc4d1"))
14192 (package
14193 (name "sbcl-trivial-escapes")
14194 (version (git-version "1.2.0" "1" commit))
14195 (source
14196 (origin
14197 (method git-fetch)
14198 (uri (git-reference
14199 (url "https://github.com/williamyaoh/trivial-escapes")
14200 (commit commit)))
14201 (file-name (git-file-name name commit))
14202 (sha256
14203 (base32 "0v6h8lk17iqv1qkxgqjyzn8gi6v0hvq2vmfbb01md3zjvjqxn6lr"))))
14204 (build-system asdf-build-system/sbcl)
14205 (inputs
14206 `(("named-readtables" ,sbcl-named-readtables)))
14207 (native-inputs
14208 `(("fiveam" ,sbcl-fiveam)))
14209 (home-page "https://github.com/williamyaoh/trivial-escapes")
14210 (synopsis "C-style escape directives for Common Lisp")
14211 (description
14212 "This Common Lisp library interprets escape characters the same way that
14213 most other programming language do.
14214 It provides four readtables. The default one lets you write strings like this:
14215 @code{#\"This string has\na newline in it!\"}.")
14216 (license license:public-domain))))
14217
14218 (define-public ecl-trivial-escapes
14219 (sbcl-package->ecl-package sbcl-trivial-escapes))
14220
14221 (define-public cl-trivial-escapes
14222 (sbcl-package->cl-source-package sbcl-trivial-escapes))
14223
14224 (define-public sbcl-cl-indentify
14225 (let ((commit "eb770f434defa4cd41d84bca822428dfd0dbac53"))
14226 (package
14227 (name "sbcl-cl-indentify")
14228 (version (git-version "0.1" "1" commit))
14229 (source
14230 (origin
14231 (method git-fetch)
14232 (uri (git-reference
14233 (url "https://github.com/yitzchak/cl-indentify")
14234 (commit commit)))
14235 (file-name (git-file-name name commit))
14236 (sha256
14237 (base32 "0ha36bhg474vr76vfhr13szc8cfdj1ickg92k1icz791bqaqg67p"))))
14238 (build-system asdf-build-system/sbcl)
14239 (inputs
14240 `(("alexandria" ,sbcl-alexandria)
14241 ("command-line-arguments" ,sbcl-command-line-arguments)
14242 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
14243 (native-inputs
14244 `(("trivial-escapes" ,sbcl-trivial-escapes)
14245 ("rove" ,sbcl-rove)))
14246 (home-page "https://github.com/yitzchak/cl-indentify")
14247 (synopsis "Code beautifier for Common Lisp")
14248 (description
14249 "A library and command line utility to automatically indent Common Lisp
14250 source files.")
14251 (license license:expat))))
14252
14253 (define-public ecl-cl-indentify
14254 (sbcl-package->ecl-package sbcl-cl-indentify))
14255
14256 (define-public cl-indentify
14257 (sbcl-package->cl-source-package sbcl-cl-indentify))
14258
14259 (define-public sbcl-concrete-syntax-tree
14260 (let ((commit "abd242a59dadc5452aa9dbc1d313c83ec2c11f46"))
14261 (package
14262 (name "sbcl-concrete-syntax-tree")
14263 (version (git-version "0.0.0" "1" commit))
14264 (source
14265 (origin
14266 (method git-fetch)
14267 (uri (git-reference
14268 (url "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14269 (commit commit)))
14270 (file-name (git-file-name name commit))
14271 (sha256
14272 (base32 "1lyrglc3h1if44gxd9cwv90wa90nrdjvb7fry39b1xn8ywdfa7di"))))
14273 (build-system asdf-build-system/sbcl)
14274 (inputs
14275 `(("acclimation" ,sbcl-acclimation)))
14276 (home-page "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14277 (synopsis "Parse Common Lisp code into a concrete syntax tree")
14278 (description
14279 "This library is intended to solve the problem of source tracking for
14280 Common Lisp code.
14281
14282 By \"source tracking\", it is meant that code elements that have a known
14283 origin in the form of a position in a file or in an editor buffer are
14284 associated with some kind of information about this origin.
14285
14286 Since the exact nature of such origin information depends on the Common Lisp
14287 implementation and the purpose of wanting to track that origin, the library
14288 does not impose a particular structure of this information. Instead, it
14289 provides utilities for manipulating source code in the form of what is called
14290 concrete syntax trees (CSTs for short) that preserve this information about
14291 the origin.")
14292 (license license:bsd-2))))
14293
14294 (define-public ecl-concrete-syntax-tree
14295 (sbcl-package->ecl-package sbcl-concrete-syntax-tree))
14296
14297 (define-public cl-concrete-syntax-tree
14298 (sbcl-package->cl-source-package sbcl-concrete-syntax-tree))
14299
14300 (define-public sbcl-eclector
14301 (package
14302 (name "sbcl-eclector")
14303 (version "0.5.0")
14304 (source
14305 (origin
14306 (method git-fetch)
14307 (uri (git-reference
14308 (url "https://github.com/s-expressionists/Eclector")
14309 (commit version)))
14310 (file-name (git-file-name name version))
14311 (sha256
14312 (base32 "0bwkla0jdp5bg0q1zca5wg22b0nbdmglgax345nrhsf8bdrh47wm"))))
14313 (build-system asdf-build-system/sbcl)
14314 (inputs
14315 `(("acclimation" ,sbcl-acclimation)
14316 ("alexandria" ,sbcl-alexandria)
14317 ("closer-mop" ,sbcl-closer-mop)
14318 ("concrete-syntax-tree" ,sbcl-concrete-syntax-tree)))
14319 (native-inputs
14320 `(("fiveam" ,sbcl-fiveam)))
14321 (arguments
14322 '(#:asd-systems '("eclector"
14323 "eclector-concrete-syntax-tree")))
14324 (home-page "https://s-expressionists.github.io/Eclector/")
14325 (synopsis "Highly customizable, portable Common Lisp reader")
14326 (description
14327 "Eclector is a portable Common Lisp reader that is highly customizable,
14328 can recover from errors and can return concrete syntax trees.
14329
14330 In contrast to many other reader implementations, eclector can recover from
14331 most errors in the input supplied to it and continue reading. This capability
14332 is realized as a restart.
14333
14334 It can also produce instances of the concrete syntax tree classes provided by
14335 the concrete syntax tree library.")
14336 (license license:bsd-2)))
14337
14338 (define-public ecl-eclector
14339 (sbcl-package->ecl-package sbcl-eclector))
14340
14341 (define-public cl-eclector
14342 (sbcl-package->cl-source-package sbcl-eclector))
14343
14344 (define-public sbcl-jsown
14345 (let ((commit "744c4407bef58dfa876d9da0b5c0205d869e7977"))
14346 (package
14347 (name "sbcl-jsown")
14348 (version (git-version "1.0.1" "1" commit))
14349 (source
14350 (origin
14351 (method git-fetch)
14352 (uri (git-reference
14353 (url "https://github.com/madnificent/jsown")
14354 (commit commit)))
14355 (file-name (git-file-name name commit))
14356 (sha256
14357 (base32 "0gadvmf1d9bq35s61z76psrsnzwwk12svi66jigf491hv48wigw7"))))
14358 (build-system asdf-build-system/sbcl)
14359 (home-page "https://github.com/madnificent/jsown")
14360 (synopsis "Fast JSON reader / writer library for Common Lisp")
14361 (description
14362 "@code{jsown} is a high performance Common Lisp JSON parser. Its aim
14363 is to allow for the fast parsing of JSON objects in Common Lisp. Recently,
14364 functions and macros have been added to ease the burden of writing and editing
14365 @code{jsown} objects.
14366
14367 @code{jsown} allows you to parse JSON objects quickly to a modifiable Lisp
14368 list and write them back. If you only need partial retrieval of objects,
14369 @code{jsown} allows you to select the keys which you would like to see parsed.
14370 @code{jsown} also has a JSON writer and some helper methods to alter the JSON
14371 objects themselves.")
14372 (license license:expat))))
14373
14374 (define-public ecl-jsown
14375 (sbcl-package->ecl-package sbcl-jsown))
14376
14377 (define-public cl-jsown
14378 (sbcl-package->cl-source-package sbcl-jsown))
14379
14380 (define-public sbcl-system-locale
14381 (let ((commit "4b334bc2fa45651bcaa28ae7d9331095d6bf0a17"))
14382 (package
14383 (name "sbcl-system-locale")
14384 (version (git-version "1.0.0" "1" commit))
14385 (source
14386 (origin
14387 (method git-fetch)
14388 (uri (git-reference
14389 (url "https://github.com/Shinmera/system-locale/")
14390 (commit commit)))
14391 (file-name (git-file-name name commit))
14392 (sha256
14393 (base32 "00p5c053kmgq4ks6l9mxsqz6g3bjcybvkvj0bh3r90qgpkaawm1p"))))
14394 (build-system asdf-build-system/sbcl)
14395 (inputs
14396 `(("documentation-utils" ,sbcl-documentation-utils)))
14397 (home-page "https://shinmera.github.io/system-locale/")
14398 (synopsis "Get the system's locale and language settings in Common Lisp")
14399 (description
14400 "This library retrieves locale information configured on the
14401 system. This is helpful if you want to write applications and libraries that
14402 display messages in the user's native language.")
14403 (license license:zlib))))
14404
14405 (define-public ecl-system-locale
14406 (sbcl-package->ecl-package sbcl-system-locale))
14407
14408 (define-public cl-system-locale
14409 (sbcl-package->cl-source-package sbcl-system-locale))
14410
14411 (define-public sbcl-language-codes
14412 (let ((commit "e7aa0e37cb97a3d37d6bc7316b479d01bff8f42e"))
14413 (package
14414 (name "sbcl-language-codes")
14415 (version (git-version "1.0.0" "1" commit))
14416 (source
14417 (origin
14418 (method git-fetch)
14419 (uri (git-reference
14420 (url "https://github.com/Shinmera/language-codes")
14421 (commit commit)))
14422 (file-name (git-file-name name commit))
14423 (sha256
14424 (base32 "0py176ibmsc01n5r0q1bs1ykqf5jwdbh8kx0j1a814l9y51241v0"))))
14425 (build-system asdf-build-system/sbcl)
14426 (inputs
14427 `(("documentation-utils" ,sbcl-documentation-utils)))
14428 (home-page "https://shinmera.github.io/language-codes/")
14429 (synopsis "Map ISO language codes to language names in Common Lisp")
14430 (description
14431 "This is a small library providing the ISO-639 language code to
14432 language name mapping.")
14433 (license license:zlib))))
14434
14435 (define-public ecl-language-codes
14436 (sbcl-package->ecl-package sbcl-language-codes))
14437
14438 (define-public cl-language-codes
14439 (sbcl-package->cl-source-package sbcl-language-codes))
14440
14441 (define-public sbcl-multilang-documentation
14442 (let ((commit "59e798a07e949e8957a20927f52aca425d84e4a0"))
14443 (package
14444 (name "sbcl-multilang-documentation")
14445 (version (git-version "1.0.0" "1" commit))
14446 (source
14447 (origin
14448 (method git-fetch)
14449 (uri (git-reference
14450 (url "https://github.com/Shinmera/multilang-documentation")
14451 (commit commit)))
14452 (file-name (git-file-name name commit))
14453 (sha256
14454 (base32 "13y5jskx8n2b7kimpfarr8v777w3b7zj5swg1b99nj3hk0843ixw"))))
14455 (build-system asdf-build-system/sbcl)
14456 (inputs
14457 `(("documentation-utils" ,sbcl-documentation-utils)
14458 ("language-codes" ,sbcl-language-codes)
14459 ("system-locale" ,sbcl-system-locale)))
14460 (home-page "https://shinmera.github.io/multilang-documentation/")
14461 (synopsis "Add multiple languages support to Common Lisp documentation")
14462 (description
14463 "This library provides a drop-in replacement function for
14464 cl:documentation that supports multiple docstrings per-language, allowing you
14465 to write documentation that can be internationalised.")
14466 (license license:zlib))))
14467
14468 (define-public ecl-multilang-documentation
14469 (sbcl-package->ecl-package sbcl-multilang-documentation))
14470
14471 (define-public cl-multilang-documentation
14472 (sbcl-package->cl-source-package sbcl-multilang-documentation))
14473
14474 (define-public sbcl-trivial-do
14475 (let ((commit "03a1729f1e71bad3ebcf6cf098a0cce52dfa1163"))
14476 (package
14477 (name "sbcl-trivial-do")
14478 (version (git-version "0.1" "1" commit))
14479 (source
14480 (origin
14481 (method git-fetch)
14482 (uri (git-reference
14483 (url "https://github.com/yitzchak/trivial-do")
14484 (commit commit)))
14485 (file-name (git-file-name name commit))
14486 (sha256
14487 (base32 "1ffva79nkicc7wc8c2ic5nayis3b2rk5sxzj74yjkymkjgbpcrgd"))))
14488 (build-system asdf-build-system/sbcl)
14489 (home-page "https://github.com/yitzchak/trivial-do")
14490 (synopsis "Additional dolist style macros for Common Lisp")
14491 (description
14492 "Additional dolist style macros for Common Lisp, such as
14493 @code{doalist}, @code{dohash}, @code{dolist*}, @code{doplist}, @code{doseq}
14494 and @code{doseq*}.")
14495 (license license:zlib))))
14496
14497 (define-public ecl-trivial-do
14498 (sbcl-package->ecl-package sbcl-trivial-do))
14499
14500 (define-public cl-trivial-do
14501 (sbcl-package->cl-source-package sbcl-trivial-do))
14502
14503 (define-public sbcl-common-lisp-jupyter
14504 (let ((commit "011f60b69a3b8c70eefeafe7acb724cd00dd3e62"))
14505 (package
14506 (name "sbcl-common-lisp-jupyter")
14507 (version (git-version "0.1" "2" commit))
14508 (source
14509 (origin
14510 (method git-fetch)
14511 (uri (git-reference
14512 (url "https://github.com/yitzchak/common-lisp-jupyter")
14513 (commit commit)))
14514 (file-name (git-file-name name commit))
14515 (sha256
14516 (base32 "10jdghlcmp9p6ygrvw7g49i8f9jy71ybzn29n544fzb6g47siqhw"))))
14517 (build-system asdf-build-system/sbcl)
14518 (inputs
14519 `(("alexandria" ,sbcl-alexandria)
14520 ("babel" ,sbcl-babel)
14521 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14522 ("cl-base64" ,sbcl-cl-base64)
14523 ("cl-indentify" ,sbcl-cl-indentify)
14524 ("closer-mop" ,sbcl-closer-mop)
14525 ("eclector" ,sbcl-eclector)
14526 ("ironclad" ,sbcl-ironclad)
14527 ("iterate" ,sbcl-iterate)
14528 ("jsown" ,sbcl-jsown)
14529 ("multilang-documentation" ,sbcl-multilang-documentation)
14530 ("pzmq" ,sbcl-pzmq)
14531 ("puri" ,sbcl-puri)
14532 ("static-vectors" ,sbcl-static-vectors)
14533 ("trivial-do" ,sbcl-trivial-do)
14534 ("trivial-garbage" ,sbcl-trivial-garbage)
14535 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
14536 ("trivial-mimes" ,sbcl-trivial-mimes)))
14537 (home-page "https://yitzchak.github.io/common-lisp-jupyter/")
14538 (synopsis "Common Lisp kernel for Jupyter")
14539 (description
14540 "This is a Common Lisp kernel for Jupyter along with a library for
14541 building Jupyter kernels, based on Maxima-Jupyter which was based on
14542 @code{cl-jupyter}.")
14543 (license license:zlib))))
14544
14545 (define-public ecl-common-lisp-jupyter
14546 (sbcl-package->ecl-package sbcl-common-lisp-jupyter))
14547
14548 (define-public cl-common-lisp-jupyter
14549 (sbcl-package->cl-source-package sbcl-common-lisp-jupyter))
14550
14551 (define-public sbcl-radiance
14552 (let ((commit "5ffbe1f157edd17a13194495099efd81e052df85")
14553 (revision "1"))
14554 (package
14555 (name "sbcl-radiance")
14556 (version (git-version "2.1.2" revision commit))
14557 (source
14558 (origin
14559 (method git-fetch)
14560 (uri (git-reference
14561 (url "https://github.com/Shirakumo/radiance")
14562 (commit commit)))
14563 (file-name (git-file-name "radiance" version))
14564 (sha256
14565 (base32 "0hbkcnmnlj1cqzbv18zmla2iwbl65kxilz9764hndf8x8as1539c"))))
14566 (build-system asdf-build-system/sbcl)
14567 (arguments
14568 `(#:tests? #f ; TODO: The tests require some configuration.
14569 #:phases
14570 (modify-phases %standard-phases
14571 (add-after 'unpack 'disable-quicklisp
14572 (lambda _
14573 ;; Disable the automatic installation of systems by Quicklisp.
14574 ;; (Maybe there would be a way to package Quicklisp and make it
14575 ;; install things in the user's directory instead of
14576 ;; /gnu/store/...).
14577 (substitute* "interfaces.lisp"
14578 (("\\(unless \\(asdf:find-system configured-implementation NIL\\)"
14579 all)
14580 (string-append "#+quicklisp " all))))))))
14581 (native-inputs
14582 `(("alexandria" ,sbcl-alexandria)
14583 ("dexador" ,sbcl-dexador)
14584 ("parachute" ,sbcl-parachute)
14585 ("verbose" ,sbcl-verbose)))
14586 (inputs
14587 `(("babel" ,sbcl-babel)
14588 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14589 ("cl-ppcre" ,sbcl-cl-ppcre)
14590 ("closer-mop" ,sbcl-closer-mop)
14591 ("documentation-utils" ,sbcl-documentation-utils)
14592 ("deploy" ,sbcl-deploy)
14593 ("form-fiddle" ,sbcl-form-fiddle)
14594 ("lambda-fiddle" ,sbcl-lambda-fiddle)
14595 ("local-time" ,sbcl-local-time)
14596 ("modularize-hooks" ,sbcl-modularize-hooks)
14597 ("modularize-interfaces" ,sbcl-modularize-interfaces)
14598 ("puri" ,sbcl-puri)
14599 ("trivial-indent" ,sbcl-trivial-indent)
14600 ("trivial-mimes" ,sbcl-trivial-mimes)
14601 ("ubiquitous-concurrent" ,sbcl-ubiquitous)))
14602 (home-page "https://shirakumo.github.io/radiance/")
14603 (synopsis "Common Lisp web application environment")
14604 (description
14605 "Radiance is a web application environment, which is sort of like a web
14606 framework, but more general, more flexible. It should let you write personal
14607 websites and generally deployable applications easily and in such a way that
14608 they can be used on practically any setup without having to undergo special
14609 adaptations.")
14610 (license license:zlib))))
14611
14612 (define-public ecl-radiance
14613 (sbcl-package->ecl-package sbcl-radiance))
14614
14615 (define-public cl-radiance
14616 (sbcl-package->cl-source-package sbcl-radiance))
14617
14618 (define-public sbcl-daemon
14619 (let ((commit "d5652f4332c3cee21e9bf83b9237129605004597")
14620 (revision "1"))
14621 (package
14622 (name "sbcl-daemon")
14623 (version (git-version "0.0.4" revision commit))
14624 (source
14625 (origin
14626 (method git-fetch)
14627 (uri (git-reference
14628 (url "https://github.com/snmsts/daemon")
14629 (commit commit)))
14630 (file-name (git-file-name "daemon" version))
14631 (sha256
14632 (base32 "1kdxfnhh9fz34j8qs7pn7mwjz3v33q4v9nh0hqkyzraq5xs2j3f4"))))
14633 (build-system asdf-build-system/sbcl)
14634 (inputs
14635 `(("trivial-features" ,sbcl-trivial-features)))
14636 (home-page "https://github.com/snmsts/daemon")
14637 (synopsis "Daemonize Common Lisp processes")
14638 (description
14639 "DAEMON provides the functionality of daemonizing Common Lisp processes
14640 on UNIX like platforms.")
14641 (license license:expat))))
14642
14643 (define-public ecl-daemon
14644 (sbcl-package->ecl-package sbcl-daemon))
14645
14646 (define-public cl-daemon
14647 (sbcl-package->cl-source-package sbcl-daemon))